{"version":3,"file":"index.cjs","sources":["../../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { Icon } from '@/components/Icon';\nimport { cn, cva } from '@/lib/cva';\nimport { IconButtonProps } from './IconButton.types';\nimport styles from './IconButton.module.css';\n\nconst iconButtonVariants = cva(styles.iconbutton, {\n  variants: {\n    type: {\n      primary: styles['iconbutton_type_primary'],\n      secondary: styles['iconbutton_type_secondary'],\n      ghost: styles['iconbutton_type_ghost'],\n      danger: styles['iconbutton_type_danger'],\n      info: styles['iconbutton_type_info'],\n    },\n    size: {\n      default: '',\n      sm: styles['iconbutton_size_sm'],\n      xs: styles['iconbutton_size_xs'],\n    },\n  },\n  defaultVariants: {\n    type: 'primary',\n    size: 'default',\n  },\n});\n\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n  (\n    {\n      type = 'primary',\n      htmlType = 'button',\n      icon,\n      size,\n      disabled,\n      className,\n      'aria-label': ariaLabel,\n      ...props\n    },\n    ref\n  ) => {\n    const iconName = icon ? icon.toString() : 'unknown icon';\n\n    return (\n      <button\n        aria-label={ariaLabel || iconName}\n        {...props}\n        type={htmlType}\n        className={cn(iconButtonVariants({ type, size }), className)}\n        disabled={disabled}\n        ref={ref}\n      >\n        <Icon\n          name={icon}\n          aria-hidden\n          size=\"sm\"\n        />\n      </button>\n    );\n  }\n);\n\nIconButton.displayName = 'IconButton';\n"],"names":["cva","styles","forwardRef","jsx","cn","Icon"],"mappings":";;;;;;;;;;;AAMA,MAAM,kBAAA,GAAqBA,0BAAA,CAAIC,yBAAA,CAAO,UAAA,EAAY;AAAA,EAChD,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,OAAA,EAASA,0BAAO,yBAAyB,CAAA;AAAA,MACzC,SAAA,EAAWA,0BAAO,2BAA2B,CAAA;AAAA,MAC7C,KAAA,EAAOA,0BAAO,uBAAuB,CAAA;AAAA,MACrC,MAAA,EAAQA,0BAAO,wBAAwB,CAAA;AAAA,MACvC,IAAA,EAAMA,0BAAO,sBAAsB;AAAA,KACrC;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,EAAA;AAAA,MACT,EAAA,EAAIA,0BAAO,oBAAoB,CAAA;AAAA,MAC/B,EAAA,EAAIA,0BAAO,oBAAoB;AAAA;AACjC,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,SAAA;AAAA,IACN,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAEM,MAAM,UAAA,GAAaC,gBAAA;AAAA,EACxB,CACE;AAAA,IACE,IAAA,GAAO,SAAA;AAAA,IACP,QAAA,GAAW,QAAA;AAAA,IACX,IAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,YAAA,EAAc,SAAA;AAAA,IACd,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,MAAM,QAAA,GAAW,IAAA,GAAO,IAAA,CAAK,QAAA,EAAS,GAAI,cAAA;AAE1C,IAAA,uBACEC,cAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,cAAY,SAAA,IAAa,QAAA;AAAA,QACxB,GAAG,KAAA;AAAA,QACJ,IAAA,EAAM,QAAA;AAAA,QACN,SAAA,EAAWC,OAAG,kBAAA,CAAmB,EAAE,MAAM,IAAA,EAAM,GAAG,SAAS,CAAA;AAAA,QAC3D,QAAA;AAAA,QACA,GAAA;AAAA,QAEA,QAAA,kBAAAD,cAAA;AAAA,UAACE,SAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAM,IAAA;AAAA,YACN,aAAA,EAAW,IAAA;AAAA,YACX,IAAA,EAAK;AAAA;AAAA;AACP;AAAA,KACF;AAAA,EAEJ;AACF;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA;;"}