{"version":3,"file":"Dialog.cjs","names":["createVarsResolver","getSize","factory","useProps","useStyles","Affix","Transition","Paper","CloseButton","classes"],"sources":["../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import {\n  BoxProps,\n  createVarsResolver,\n  ElementProps,\n  factory,\n  Factory,\n  getSize,\n  MantineSize,\n  StylesApiProps,\n  useProps,\n  useStyles,\n} from '../../core';\nimport { Affix, AffixBaseProps } from '../Affix';\nimport { CloseButton } from '../CloseButton';\nimport { Paper, PaperBaseProps } from '../Paper';\nimport { Transition, TransitionOverride } from '../Transition';\nimport classes from './Dialog.module.css';\n\nexport type DialogStylesNames = 'root' | 'closeButton';\nexport type DialogCssVariables = {\n  root: '--dialog-size';\n};\n\nexport interface DialogProps\n  extends\n    BoxProps,\n    AffixBaseProps,\n    PaperBaseProps,\n    StylesApiProps<DialogFactory>,\n    ElementProps<'div'> {\n  /** If set, the component uses `display: none` to hide the root element instead of removing the DOM node @default false */\n  keepMounted?: boolean;\n\n  /** If set, displays the close button @default true */\n  withCloseButton?: boolean;\n\n  /** Called on close button click */\n  onClose?: () => void;\n\n  /** Dialog content */\n  children?: React.ReactNode;\n\n  /** Opened state */\n  opened: boolean;\n\n  /** Props passed down to the underlying `Transition` component @default { transition: 'pop-top-right', duration: 200 } */\n  transitionProps?: TransitionOverride;\n\n  /** Controls `width` of the dialog @default 'md' */\n  size?: MantineSize | (string & {}) | number;\n}\n\nexport type DialogFactory = Factory<{\n  props: DialogProps;\n  ref: HTMLDivElement;\n  stylesNames: DialogStylesNames;\n  vars: DialogCssVariables;\n}>;\n\nconst defaultProps = {\n  shadow: 'md',\n  p: 'md',\n  withBorder: true,\n  transitionProps: { transition: 'pop-top-right', duration: 200 },\n  position: {\n    bottom: 30,\n    right: 30,\n  },\n} satisfies Partial<DialogProps>;\n\nconst varsResolver = createVarsResolver<DialogFactory>((_, { size }) => ({\n  root: {\n    '--dialog-size': getSize(size, 'dialog-size'),\n  },\n}));\n\nexport const Dialog = factory<DialogFactory>((_props) => {\n  const props = useProps('Dialog', defaultProps, _props);\n  const {\n    classNames,\n    className,\n    style,\n    styles,\n    unstyled,\n    vars,\n    zIndex,\n    position,\n    keepMounted,\n    opened,\n    transitionProps,\n    withCloseButton,\n    withinPortal,\n    children,\n    onClose,\n    portalProps,\n    attributes,\n    ...others\n  } = props;\n\n  const getStyles = useStyles<DialogFactory>({\n    name: 'Dialog',\n    classes,\n    props,\n    className,\n    style,\n    classNames,\n    styles,\n    unstyled,\n    attributes,\n    vars,\n    varsResolver,\n  });\n\n  return (\n    <Affix\n      zIndex={zIndex}\n      position={position}\n      withinPortal={withinPortal}\n      portalProps={portalProps}\n      unstyled={unstyled}\n    >\n      <Transition keepMounted={keepMounted} mounted={opened} {...transitionProps}>\n        {(transitionStyles) => (\n          <Paper\n            unstyled={unstyled}\n            {...getStyles('root', { style: transitionStyles })}\n            {...others}\n          >\n            {withCloseButton && (\n              <CloseButton onClick={onClose} unstyled={unstyled} {...getStyles('closeButton')} />\n            )}\n            {children}\n          </Paper>\n        )}\n      </Transition>\n    </Affix>\n  );\n});\n\nDialog.classes = classes;\nDialog.varsResolver = varsResolver;\nDialog.displayName = '@mantine/core/Dialog';\n"],"mappings":";;;;;;;;;;;;;;AA2DA,MAAM,eAAe;CACnB,QAAQ;CACR,GAAG;CACH,YAAY;CACZ,iBAAiB;EAAE,YAAY;EAAiB,UAAU;EAAK;CAC/D,UAAU;EACR,QAAQ;EACR,OAAO;EACR;CACF;AAED,MAAM,eAAeA,6BAAAA,oBAAmC,GAAG,EAAE,YAAY,EACvE,MAAM,EACJ,iBAAiBC,iBAAAA,QAAQ,MAAM,cAAc,EAC9C,EACF,EAAE;AAEH,MAAa,SAASC,gBAAAA,SAAwB,WAAW;CACvD,MAAM,QAAQC,kBAAAA,SAAS,UAAU,cAAc,OAAO;CACtD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,QACA,UACA,aACA,QACA,iBACA,iBACA,cACA,UACA,SACA,aACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAYC,mBAAAA,UAAyB;EACzC,MAAM;EACN,SAAA,sBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;AAEF,QACE,iBAAA,GAAA,kBAAA,KAACC,cAAAA,OAAD;EACU;EACE;EACI;EACD;EACH;YAEV,iBAAA,GAAA,kBAAA,KAACC,mBAAAA,YAAD;GAAyB;GAAa,SAAS;GAAQ,GAAI;cACvD,qBACA,iBAAA,GAAA,kBAAA,MAACC,cAAAA,OAAD;IACY;IACV,GAAI,UAAU,QAAQ,EAAE,OAAO,kBAAkB,CAAC;IAClD,GAAI;cAHN,CAKG,mBACC,iBAAA,GAAA,kBAAA,KAACC,oBAAAA,aAAD;KAAa,SAAS;KAAmB;KAAU,GAAI,UAAU,cAAc;KAAI,CAAA,EAEpF,SACK;;GAEC,CAAA;EACP,CAAA;EAEV;AAEF,OAAO,UAAUC,sBAAAA;AACjB,OAAO,eAAe;AACtB,OAAO,cAAc"}