| 1234567891011121314151617181920212223242526272829303132 | 
							- import { forwardRef } from 'react'
 
- import { generate } from './utils'
 
- import type { AbstractNode } from './utils'
 
- export type IconData = {
 
-   name: string
 
-   icon: AbstractNode
 
- }
 
- export type IconBaseProps = {
 
-   data: IconData
 
-   className?: string
 
-   onClick?: React.MouseEventHandler<SVGElement>
 
-   style?: React.CSSProperties
 
- }
 
- const IconBase = forwardRef<React.MutableRefObject<HTMLOrSVGElement>, IconBaseProps>((props, ref) => {
 
-   const { data, className, onClick, style, ...restProps } = props
 
-   return generate(data.icon, `svg-${data.name}`, {
 
-     className,
 
-     onClick,
 
-     style,
 
-     'data-icon': data.name,
 
-     'aria-hidden': 'true',
 
-     ...restProps,
 
-     'ref': ref,
 
-   })
 
- })
 
- export default IconBase
 
 
  |