Repository URL to install this package:
|
Version:
0.14.1 ▾
|
import React from 'react'
import { DefaultProps } from 'icons/typings'
import Vector from 'atoms/Vector'
import { renderWrapper as defaultRenderWrapper } from '../renderProps'
import { SingleRefreshIcon } from './SingleRefreshIcon'
import { DoubleRefreshIcon } from './DoubleRefreshIcon'
// extending interface from Label component
interface RefreshIconProps extends DefaultProps {
type?: string
}
const wording = {
description: 'Two curved clockwise arrow forming a circle',
title: 'Refresh Icon',
vectorClassName: 'refresh',
}
// returning breed based on the breedType
function fromBreedToComponent(type: string) {
switch (type) {
case 'single-refresh':
return SingleRefreshIcon
case 'double-refresh':
default:
return DoubleRefreshIcon
}
}
class RefreshIcon extends React.PureComponent<RefreshIconProps> {
static defaultProps = {
renderWrapper: defaultRenderWrapper,
type: 'double-refresh'
}
render() {
const { type, renderWrapper, ...remainingProps } = this.props
const Component = fromBreedToComponent(type)
const componentView = <Component {...remainingProps} />
return renderWrapper(componentView)
}
}
export { RefreshIcon }
export default RefreshIcon