{"version":3,"file":"Modal.mjs","sources":["../../../packages/modal/Modal.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef } from 'react'\nimport {\n  ModalStyle,\n  ModalBaseStyle,\n  ModalHeaderStyle,\n  ModalTitleStyle,\n  ModalTitleIconStyle,\n  ModalTitleTextStyle,\n  ModalCloseStyle,\n  ModalContentStyle,\n  ModalBackStyle,\n  ModalSubtitleStyle,\n} from './ModalStyles.js'\nimport { ModalProps } from './types.js'\nimport { ModalOverlay } from './ModalOverlay.js'\n\nexport const Modal = forwardRef(\n  (\n    {\n      children,\n      title,\n      titleIcon,\n      subtitle,\n      center = false,\n      extra,\n      open,\n      onClose,\n      onBack,\n      windowSize = 'sm',\n      windowProps,\n      ...rest\n    }: ModalProps,\n    ref?: ForwardedRef<HTMLDivElement>,\n  ) => {\n    const withTitleIcon = !!titleIcon\n    const withSubtitle = !!subtitle\n    const withCloseButton = !!onClose\n    const withBackButton = !!onBack\n\n    const modalHeader = (\n      <ModalHeaderStyle $short={!title}>\n        {withBackButton && <ModalBackStyle onClick={onBack} />}\n        <ModalTitleStyle\n          $center={center}\n          $withTitleIcon={withTitleIcon}\n          $withCloseButton={withCloseButton}\n          $withBackButton={withBackButton}\n        >\n          {withTitleIcon && (\n            <ModalTitleIconStyle $center={center}>\n              {titleIcon}\n            </ModalTitleIconStyle>\n          )}\n          <ModalTitleTextStyle>{title}</ModalTitleTextStyle>\n        </ModalTitleStyle>\n        {withCloseButton && <ModalCloseStyle onClick={onClose} />}\n      </ModalHeaderStyle>\n    )\n\n    return (\n      <ModalOverlay\n        ref={ref}\n        in={open}\n        onClose={onClose}\n        onBack={onBack}\n        {...rest}\n      >\n        <ModalStyle $center={center} $size={windowSize} {...windowProps}>\n          <ModalBaseStyle>\n            {modalHeader}\n            {withSubtitle && (\n              <ModalSubtitleStyle>{subtitle}</ModalSubtitleStyle>\n            )}\n            <ModalContentStyle>{children}</ModalContentStyle>\n          </ModalBaseStyle>\n          {extra}\n        </ModalStyle>\n      </ModalOverlay>\n    )\n  },\n)\nModal.displayName = 'Modal'\n"],"names":["Modal","forwardRef","_ref","ref","children","title","titleIcon","subtitle","center","extra","open","onClose","onBack","windowSize","windowProps","rest","withTitleIcon","withSubtitle","withCloseButton","withBackButton","modalHeader","_jsxs","ModalHeaderStyle","$short","_jsx","ModalBackStyle","onClick","ModalTitleStyle","$center","$withTitleIcon","$withCloseButton","$withBackButton","ModalTitleIconStyle","ModalTitleTextStyle","ModalCloseStyle","ModalOverlay","in","ModalStyle","$size","ModalBaseStyle","ModalSubtitleStyle","ModalContentStyle","displayName"],"mappings":";;;;;AAgBO,MAAMA,KAAK,gBAAGC,UAAU,CAC7B,CAAAC,IAAA,EAeEC,GAAkC,KAC/B;EAAA,IAfH;IACEC,QAAQ;IACRC,KAAK;IACLC,SAAS;IACTC,QAAQ;AACRC,IAAAA,MAAM,GAAG,KAAK;IACdC,KAAK;IACLC,IAAI;IACJC,OAAO;IACPC,MAAM;AACNC,IAAAA,UAAU,GAAG,IAAI;IACjBC,WAAW;IACX,GAAGC,IAAAA;AACO,GAAC,GAAAb,IAAA,CAAA;AAGb,EAAA,MAAMc,aAAa,GAAG,CAAC,CAACV,SAAS,CAAA;AACjC,EAAA,MAAMW,YAAY,GAAG,CAAC,CAACV,QAAQ,CAAA;AAC/B,EAAA,MAAMW,eAAe,GAAG,CAAC,CAACP,OAAO,CAAA;AACjC,EAAA,MAAMQ,cAAc,GAAG,CAAC,CAACP,MAAM,CAAA;AAE/B,EAAA,MAAMQ,WAAW,gBACfC,IAAA,CAACC,gBAAgB,EAAA;IAACC,MAAM,EAAE,CAAClB,KAAM;AAAAD,IAAAA,QAAA,EAC9Be,CAAAA,cAAc,iBAAIK,GAAA,CAACC,cAAc,EAAA;AAACC,MAAAA,OAAO,EAAEd,MAAAA;AAAO,KAAE,CAAC,eACtDS,IAAA,CAACM,eAAe,EAAA;AACdC,MAAAA,OAAO,EAAEpB,MAAO;AAChBqB,MAAAA,cAAc,EAAEb,aAAc;AAC9Bc,MAAAA,gBAAgB,EAAEZ,eAAgB;AAClCa,MAAAA,eAAe,EAAEZ,cAAe;AAAAf,MAAAA,QAAA,EAE/BY,CAAAA,aAAa,iBACZQ,GAAA,CAACQ,mBAAmB,EAAA;AAACJ,QAAAA,OAAO,EAAEpB,MAAO;AAAAJ,QAAAA,QAAA,EAClCE,SAAAA;AAAS,OACS,CACtB,eACDkB,GAAA,CAACS,mBAAmB,EAAA;AAAA7B,QAAAA,QAAA,EAAEC,KAAAA;AAAK,OAAsB,CAAC,CAAA;AAAA,KACnC,CAAC,EACjBa,eAAe,iBAAIM,GAAA,CAACU,eAAe,EAAA;AAACR,MAAAA,OAAO,EAAEf,OAAAA;AAAQ,KAAE,CAAC,CAAA;AAAA,GACzC,CACnB,CAAA;EAED,oBACEa,GAAA,CAACW,YAAY,EAAA;AACXhC,IAAAA,GAAG,EAAEA,GAAI;AACTiC,IAAAA,EAAE,EAAE1B,IAAK;AACTC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,MAAM,EAAEA,MAAO;AAAA,IAAA,GACXG,IAAI;IAAAX,QAAA,eAERiB,IAAA,CAACgB,UAAU,EAAA;AAACT,MAAAA,OAAO,EAAEpB,MAAO;AAAC8B,MAAAA,KAAK,EAAEzB,UAAW;AAAA,MAAA,GAAKC,WAAW;MAAAV,QAAA,EAAA,cAC7DiB,IAAA,CAACkB,cAAc,EAAA;AAAAnC,QAAAA,QAAA,GACZgB,WAAW,EACXH,YAAY,iBACXO,GAAA,CAACgB,kBAAkB,EAAA;AAAApC,UAAAA,QAAA,EAAEG,QAAAA;AAAQ,SAAqB,CACnD,eACDiB,GAAA,CAACiB,iBAAiB,EAAA;AAAArC,UAAAA,QAAA,EAAEA,QAAAA;AAAQ,SAAoB,CAAC,CAAA;OACnC,CAAC,EAChBK,KAAK,CAAA;KACI,CAAA;AAAC,GACD,CAAC,CAAA;AAEnB,CACF,EAAC;AACDT,KAAK,CAAC0C,WAAW,GAAG,OAAO;;;;"}