{"version":3,"file":"index.cjs","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import { Icon } from '@/components/Icon';\nimport { cn, cva } from '@/lib/cva';\nimport { forwardRef } from 'react';\nimport styles from './Button.module.css';\nimport { ButtonProps } from './Button.types';\n\nconst buttonVariants = cva(styles.button, {\n  variants: {\n    type: {\n      primary: styles['button_primary'],\n      secondary: styles['button_secondary'],\n      empty: styles['button_empty'],\n      danger: styles['button_danger'],\n    },\n    align: {\n      center: styles['button_align-center'],\n      left: styles['button_align-left'],\n    },\n    fillWidth: {\n      true: styles['button_fill_width'],\n    },\n    loading: {\n      true: styles['button_loading'],\n    },\n  },\n  defaultVariants: {\n    type: 'primary',\n    align: 'center',\n  },\n});\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n  (\n    {\n      type = 'primary',\n      htmlType,\n      iconLeft,\n      iconRight,\n      align = 'center',\n      children,\n      fillWidth,\n      label,\n      loading = false,\n      disabled,\n      className,\n      ...delegated\n    },\n    ref\n  ) => (\n    <button\n      type={htmlType}\n      ref={ref}\n      className={cn(buttonVariants({ type, align, fillWidth, loading }), className)}\n      disabled={disabled || loading}\n      aria-disabled={disabled || loading || undefined}\n      aria-busy={loading || undefined}\n      {...delegated}\n    >\n      {iconLeft && (\n        <span className={styles.button__icon}>\n          <Icon\n            name={iconLeft}\n            aria-hidden\n            size=\"sm\"\n          />\n        </span>\n      )}\n\n      <span className={styles.button__label}>{label ?? children}</span>\n\n      {iconRight && (\n        <span className={styles.button__icon}>\n          <Icon\n            name={iconRight}\n            aria-hidden\n            size=\"sm\"\n          />\n        </span>\n      )}\n    </button>\n  )\n);\n\nButton.displayName = 'Button';\n"],"names":["cva","styles","forwardRef","jsxs","cn","jsx","Icon"],"mappings":";;;;;;;;;;;AAMA,MAAM,cAAA,GAAiBA,0BAAA,CAAIC,qBAAA,CAAO,MAAA,EAAQ;AAAA,EACxC,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,OAAA,EAASA,sBAAO,gBAAgB,CAAA;AAAA,MAChC,SAAA,EAAWA,sBAAO,kBAAkB,CAAA;AAAA,MACpC,KAAA,EAAOA,sBAAO,cAAc,CAAA;AAAA,MAC5B,MAAA,EAAQA,sBAAO,eAAe;AAAA,KAChC;AAAA,IACA,KAAA,EAAO;AAAA,MACL,MAAA,EAAQA,sBAAO,qBAAqB,CAAA;AAAA,MACpC,IAAA,EAAMA,sBAAO,mBAAmB;AAAA,KAClC;AAAA,IACA,SAAA,EAAW;AAAA,MACT,IAAA,EAAMA,sBAAO,mBAAmB;AAAA,KAClC;AAAA,IACA,OAAA,EAAS;AAAA,MACP,IAAA,EAAMA,sBAAO,gBAAgB;AAAA;AAC/B,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,SAAA;AAAA,IACN,KAAA,EAAO;AAAA;AAEX,CAAC,CAAA;AAEM,MAAM,MAAA,GAASC,gBAAA;AAAA,EACpB,CACE;AAAA,IACE,IAAA,GAAO,SAAA;AAAA,IACP,QAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA,GAAQ,QAAA;AAAA,IACR,QAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA,GAAU,KAAA;AAAA,IACV,QAAA;AAAA,IACA,SAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,qBAEAC,eAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAM,QAAA;AAAA,MACN,GAAA;AAAA,MACA,SAAA,EAAWC,MAAA,CAAG,cAAA,CAAe,EAAE,IAAA,EAAM,OAAO,SAAA,EAAW,OAAA,EAAS,CAAA,EAAG,SAAS,CAAA;AAAA,MAC5E,UAAU,QAAA,IAAY,OAAA;AAAA,MACtB,eAAA,EAAe,YAAY,OAAA,IAAW,MAAA;AAAA,MACtC,aAAW,OAAA,IAAW,MAAA;AAAA,MACrB,GAAG,SAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA,oBACCC,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAWJ,qBAAA,CAAO,YAAA,EACtB,QAAA,kBAAAI,cAAA;AAAA,UAACC,SAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAM,QAAA;AAAA,YACN,aAAA,EAAW,IAAA;AAAA,YACX,IAAA,EAAK;AAAA;AAAA,SACP,EACF,CAAA;AAAA,uCAGD,MAAA,EAAA,EAAK,SAAA,EAAWL,qBAAA,CAAO,aAAA,EAAgB,mBAAS,QAAA,EAAS,CAAA;AAAA,QAEzD,SAAA,oBACCI,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAWJ,sBAAO,YAAA,EACtB,QAAA,kBAAAI,cAAA;AAAA,UAACC,SAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAM,SAAA;AAAA,YACN,aAAA,EAAW,IAAA;AAAA,YACX,IAAA,EAAK;AAAA;AAAA,SACP,EACF;AAAA;AAAA;AAAA;AAIR;AAEA,MAAA,CAAO,WAAA,GAAc,QAAA;;"}