{"version":3,"file":"ModalContent.types.cjs","sourceRoot":"","sources":["../../../src/components/ModalContent/ModalContent.types.ts"],"names":[],"mappings":";;;AAIA;;;;;GAKG;AACU,QAAA,gBAAgB,GAAG;IAC9B,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;CACA,CAAC","sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\n\nimport type { BoxProps } from '../Box';\n\n/**\n * ModalContent dialog max-width.\n * - `Sm` → 360px (default)\n * - `Md` → 480px\n * - `Lg` → 720px\n */\nexport const ModalContentSize = {\n  Sm: 'sm',\n  Md: 'md',\n  Lg: 'lg',\n} as const;\nexport type ModalContentSize =\n  (typeof ModalContentSize)[keyof typeof ModalContentSize];\n\n/**\n * Box prop bag used for the inner dialog `<section>`. Mirrors the legacy\n * `modalDialogProps` typing but is bound to the MMDS `BoxProps` shape and\n * carries an explicit `data-*` index signature so consumers can pass through\n * test ids and other dataset attributes through `Partial`/`Omit` indirection.\n */\ntype DialogBoxProps = Omit<BoxProps, 'children' | 'asChild'> & {\n  [key: `data-${string}`]: string | undefined;\n};\n\nexport type ModalContentProps = Omit<ComponentProps<'div'>, 'children'> & {\n  /**\n   * Content rendered inside the dialog. Typically composed of `ModalHeader`,\n   * `ModalBody`, and `ModalFooter`.\n   */\n  children: ReactNode;\n  /**\n   * Optional max-width for the inner dialog. Use one of `ModalContentSize`\n   * tokens (Sm/Md/Lg → 360/480/720px). Override entirely via\n   * `modalDialogProps.className=\"max-w-...\"` if you need a custom width.\n   *\n   * @default ModalContentSize.Sm\n   */\n  size?: ModalContentSize;\n  /**\n   * Props forwarded to the inner dialog `Box` (the `<section\n   * role=\"dialog\">`). Use this to add `data-testid`, override layout, change\n   * background, or apply Tailwind utilities via `className`.\n   */\n  modalDialogProps?: DialogBoxProps;\n  /**\n   * Optional prop for additional CSS classes applied to the outer\n   * positioning element. Merged with the component's defaults via `twMerge`.\n   */\n  className?: string;\n};\n"]}