uploadcare-widget-tab-effects
Version:
Effects Tab for Uploadcare Widget. Edit images in desktop and mobile browsers.
32 lines (22 loc) • 551 B
JavaScript
import {createNode} from 'tools'
import cn from './Icon.pcss'
import * as icons from 'images'
const Icon = (props) => {
const {name} = props
if (!icons[name]) {
throw new Error(`Icon with name "${name}" doesn't exist.`)
}
let $element
const getElement = () => {
if (!$element) {
render()
}
return $element
}
const render = () => {
$element = createNode(icons[name]())
$element.setAttribute('class', `${$element.getAttribute('class')} ${cn['icon']}`)
}
return {getElement}
}
export default Icon