| 12345678910111213141516171819202122232425262728293031 | 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
 |