{"version":3,"file":"ModalButton.mjs","sources":["../../../packages/modal/ModalButton.tsx"],"sourcesContent":["import { cloneElement, ForwardedRef, forwardRef } from 'react'\nimport {\n  ModalButtonStyle,\n  ModalButtonContentStyle,\n} from './ModalButtonStyles.js'\nimport { ModalButtonIconProps } from './types.js'\n\nconst iconSize = {\n  xxs: {\n    width: '16px',\n    height: '16px',\n  },\n  xs: {\n    width: '24px',\n    height: '24px',\n  },\n  sm: {\n    width: '32px',\n    height: '32px',\n  },\n  md: {\n    width: '48px',\n    height: '48px',\n  },\n  lg: {\n    width: '64px',\n    height: '64px',\n  },\n}\n\nexport const ModalButton = forwardRef(\n  (\n    {\n      size = 'md',\n      loading = false,\n      children,\n      icon,\n      ...rest\n    }: ModalButtonIconProps,\n    ref?: ForwardedRef<HTMLButtonElement>,\n  ) => {\n    const AdaptiveIconProps =\n      icon.props.width || icon.props.height ? icon.props : { ...iconSize[size] }\n    const AdaptiveIcon = cloneElement(icon, AdaptiveIconProps)\n\n    return (\n      <ModalButtonStyle\n        type='button'\n        size={size}\n        loading={loading}\n        ref={ref}\n        icon={icon}\n        {...rest}\n      >\n        <ModalButtonContentStyle>\n          {children} {AdaptiveIcon}\n        </ModalButtonContentStyle>\n      </ModalButtonStyle>\n    )\n  },\n)\nModalButton.displayName = 'ModalButton'\n"],"names":["iconSize","xxs","width","height","xs","sm","md","lg","ModalButton","forwardRef","_ref","ref","size","loading","children","icon","rest","AdaptiveIconProps","props","AdaptiveIcon","cloneElement","_jsx","ModalButtonStyle","type","_jsxs","ModalButtonContentStyle","displayName"],"mappings":";;;;AAOA,MAAMA,QAAQ,GAAG;AACfC,EAAAA,GAAG,EAAE;AACHC,IAAAA,KAAK,EAAE,MAAM;AACbC,IAAAA,MAAM,EAAE,MAAA;GACT;AACDC,EAAAA,EAAE,EAAE;AACFF,IAAAA,KAAK,EAAE,MAAM;AACbC,IAAAA,MAAM,EAAE,MAAA;GACT;AACDE,EAAAA,EAAE,EAAE;AACFH,IAAAA,KAAK,EAAE,MAAM;AACbC,IAAAA,MAAM,EAAE,MAAA;GACT;AACDG,EAAAA,EAAE,EAAE;AACFJ,IAAAA,KAAK,EAAE,MAAM;AACbC,IAAAA,MAAM,EAAE,MAAA;GACT;AACDI,EAAAA,EAAE,EAAE;AACFL,IAAAA,KAAK,EAAE,MAAM;AACbC,IAAAA,MAAM,EAAE,MAAA;AACV,GAAA;AACF,CAAC,CAAA;AAEM,MAAMK,WAAW,gBAAGC,UAAU,CACnC,CAAAC,IAAA,EAQEC,GAAqC,KAClC;EAAA,IARH;AACEC,IAAAA,IAAI,GAAG,IAAI;AACXC,IAAAA,OAAO,GAAG,KAAK;IACfC,QAAQ;IACRC,IAAI;IACJ,GAAGC,IAAAA;AACiB,GAAC,GAAAN,IAAA,CAAA;AAGvB,EAAA,MAAMO,iBAAiB,GACrBF,IAAI,CAACG,KAAK,CAAChB,KAAK,IAAIa,IAAI,CAACG,KAAK,CAACf,MAAM,GAAGY,IAAI,CAACG,KAAK,GAAG;IAAE,GAAGlB,QAAQ,CAACY,IAAI,CAAA;GAAG,CAAA;AAC5E,EAAA,MAAMO,YAAY,gBAAGC,YAAY,CAACL,IAAI,EAAEE,iBAAiB,CAAC,CAAA;EAE1D,oBACEI,GAAA,CAACC,gBAAgB,EAAA;AACfC,IAAAA,IAAI,EAAC,QAAQ;AACbX,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,OAAO,EAAEA,OAAQ;AACjBF,IAAAA,GAAG,EAAEA,GAAI;AACTI,IAAAA,IAAI,EAAEA,IAAK;AAAA,IAAA,GACPC,IAAI;IAAAF,QAAA,eAERU,IAAA,CAACC,uBAAuB,EAAA;AAAAX,MAAAA,QAAA,EACrBA,CAAAA,QAAQ,EAAC,GAAC,EAACK,YAAY,CAAA;KACD,CAAA;AAAC,GACV,CAAC,CAAA;AAEvB,CACF,EAAC;AACDX,WAAW,CAACkB,WAAW,GAAG,aAAa;;;;"}