{"version":3,"file":"ModalBaseContent.cjs","sources":["../../../src/components/ModalBase/ModalBaseContent.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport cx from 'clsx';\nimport { BoxProps, ElementProps, RaikouRadius, RaikouShadow } from '../../core';\nimport { FocusTrap } from '../FocusTrap';\nimport { Paper } from '../Paper';\nimport { Transition, TransitionOverride } from '../Transition';\nimport { useModalBaseContext } from './ModalBase.context';\nimport { ModalBaseContentStyle, ModalBaseInnerStyle } from './ModalBase.css';\n\nexport interface ModalBaseContentProps extends BoxProps, ElementProps<'div'> {\n  /** Props passed down to the `Transition` component */\n  transitionProps?: TransitionOverride;\n\n  /** Key of `theme.shadows` or any valid CSS value to set `box-shadow`, `none` by default */\n  shadow?: RaikouShadow;\n\n  /** Key of `theme.radius` or any valid CSS value to set border-radius, numbers are converted to rem, `theme.defaultRadius` by default */\n  radius?: RaikouRadius;\n}\n\ninterface _ModalBaseContentProps extends ModalBaseContentProps {\n  innerProps: React.ComponentPropsWithoutRef<'div'>;\n}\n\nexport const ModalBaseContent = forwardRef<HTMLDivElement, _ModalBaseContentProps>(\n  ({ transitionProps, className, innerProps, onKeyDown, style, ...others }, ref) => {\n    const ctx = useModalBaseContext();\n\n    return (\n      <Transition\n        mounted={ctx.opened}\n        transition=\"pop\"\n        {...ctx.transitionProps}\n        onExited={() => {\n          ctx.onExitTransitionEnd?.();\n          ctx.transitionProps?.onExited?.();\n        }}\n        onEntered={() => {\n          ctx.onEnterTransitionEnd?.();\n          ctx.transitionProps?.onEntered?.();\n        }}\n        {...transitionProps}\n      >\n        {(transitionStyles) => (\n          <div\n            {...innerProps}\n            className={cx({ [ModalBaseInnerStyle]: !ctx.unstyled }, innerProps.className)}\n          >\n            <FocusTrap active={ctx.opened && ctx.trapFocus} innerRef={ref}>\n              <Paper\n                {...others}\n                component=\"section\"\n                role=\"dialog\"\n                tabIndex={-1}\n                aria-modal\n                aria-describedby={ctx.bodyMounted ? ctx.getBodyId() : undefined}\n                aria-labelledby={ctx.titleMounted ? ctx.getTitleId() : undefined}\n                style={[style, transitionStyles]}\n                className={cx({ [ModalBaseContentStyle]: !ctx.unstyled }, className)}\n                unstyled={ctx.unstyled}\n              >\n                {others.children}\n              </Paper>\n            </FocusTrap>\n          </div>\n        )}\n      </Transition>\n    );\n  }\n);\n\nModalBaseContent.displayName = '@raikou/core/ModalBaseContent';\n"],"names":["forwardRef","useModalBaseContext","jsx","Transition","cx","ModalBaseInnerStyle","FocusTrap","Paper","ModalBaseContentStyle"],"mappings":";;;;;;;;;;;;;;;;AAwBO,MAAM,gBAAmB,GAAAA,gBAAA;AAAA,EAC9B,CAAC,EAAE,eAAA,EAAiB,SAAW,EAAA,UAAA,EAAY,WAAW,KAAO,EAAA,GAAG,MAAO,EAAA,EAAG,GAAQ,KAAA;AAChF,IAAA,MAAM,MAAMC,qCAAoB,EAAA;AAEhC,IACE,uBAAAC,cAAA;AAAA,MAACC,qBAAA;AAAA,MAAA;AAAA,QACC,SAAS,GAAI,CAAA,MAAA;AAAA,QACb,UAAW,EAAA,KAAA;AAAA,QACV,GAAG,GAAI,CAAA,eAAA;AAAA,QACR,UAAU,MAAM;AACd,UAAA,GAAA,CAAI,mBAAsB,IAAA;AAC1B,UAAA,GAAA,CAAI,iBAAiB,QAAW,IAAA;AAAA,SAClC;AAAA,QACA,WAAW,MAAM;AACf,UAAA,GAAA,CAAI,oBAAuB,IAAA;AAC3B,UAAA,GAAA,CAAI,iBAAiB,SAAY,IAAA;AAAA,SACnC;AAAA,QACC,GAAG,eAAA;AAAA,QAEH,WAAC,gBACA,qBAAAD,cAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACE,GAAG,UAAA;AAAA,YACJ,SAAA,EAAWE,mBAAG,CAAA,EAAE,CAACC,iCAAmB,GAAG,CAAC,GAAI,CAAA,QAAA,EAAY,EAAA,UAAA,CAAW,SAAS,CAAA;AAAA,YAE5E,QAAA,kBAAAH,cAAA,CAACI,uBAAU,MAAQ,EAAA,GAAA,CAAI,UAAU,GAAI,CAAA,SAAA,EAAW,UAAU,GACxD,EAAA,QAAA,kBAAAJ,cAAA;AAAA,cAACK,WAAA;AAAA,cAAA;AAAA,gBACE,GAAG,MAAA;AAAA,gBACJ,SAAU,EAAA,SAAA;AAAA,gBACV,IAAK,EAAA,QAAA;AAAA,gBACL,QAAU,EAAA,CAAA,CAAA;AAAA,gBACV,YAAU,EAAA,IAAA;AAAA,gBACV,kBAAkB,EAAA,GAAA,CAAI,WAAc,GAAA,GAAA,CAAI,WAAc,GAAA,KAAA,CAAA;AAAA,gBACtD,iBAAiB,EAAA,GAAA,CAAI,YAAe,GAAA,GAAA,CAAI,YAAe,GAAA,KAAA,CAAA;AAAA,gBACvD,KAAA,EAAO,CAAC,KAAA,EAAO,gBAAgB,CAAA;AAAA,gBAC/B,SAAA,EAAWH,mBAAG,CAAA,EAAE,CAACI,mCAAqB,GAAG,CAAC,GAAA,CAAI,QAAS,EAAA,EAAG,SAAS,CAAA;AAAA,gBACnE,UAAU,GAAI,CAAA,QAAA;AAAA,gBAEb,QAAO,EAAA,MAAA,CAAA;AAAA;AAAA,aAEZ,EAAA;AAAA;AAAA;AACF;AAAA,KAEJ;AAAA;AAGN;AAEA,gBAAA,CAAiB,WAAc,GAAA,+BAAA;;;;"}