{"version":3,"file":"ModalFooter.types.cjs","sourceRoot":"","sources":["../../../src/components/ModalFooter/ModalFooter.types.ts"],"names":[],"mappings":";;;AAIA;;;;;GAKG;AACU,QAAA,gBAAgB,GAAG;IAC9B,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;CACZ,CAAC","sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\n\nimport type { ButtonProps } from '../Button';\n\n/**\n * Layout direction for the action button row.\n *\n * Mirrors `BottomSheetFooter`'s `ButtonsAlignment` on the React Native side so\n * the modal/sheet families share semantics.\n */\nexport const ButtonsAlignment = {\n  Horizontal: 'horizontal',\n  Vertical: 'vertical',\n} as const;\nexport type ButtonsAlignment =\n  (typeof ButtonsAlignment)[keyof typeof ButtonsAlignment];\n\n/**\n * Button props accepted by `ModalFooter`. The `variant` is enforced internally\n * by the component (Primary or Secondary, depending on slot), so consumers\n * cannot override it. The `data-*` index signature is preserved so test ids\n * and other dataset attributes can be passed through `Partial`/`Omit`\n * indirection.\n */\nexport type ModalFooterButtonProps = Omit<ButtonProps, 'variant'> & {\n  [key: `data-${string}`]: string | undefined;\n};\n\nexport type ModalFooterProps = ComponentProps<'footer'> & {\n  /**\n   * Optional custom content rendered above the action button row. Use this\n   * for inline form controls (e.g. a \"do not show again\" checkbox) or to\n   * fully replace the built-in button row by omitting both\n   * `primaryButtonProps` and `secondaryButtonProps`.\n   */\n  children?: ReactNode;\n  /**\n   * Optional layout direction for the action button row.\n   *\n   * - `Horizontal` — buttons share the row, each takes `flex-1`.\n   * - `Vertical`   — buttons stack with full width.\n   *\n   * @default ButtonsAlignment.Horizontal\n   */\n  buttonsAlignment?: ButtonsAlignment;\n  /**\n   * Optional props for the primary action button. Renders with\n   * `ButtonVariant.Primary` automatically. Appears second (right in\n   * horizontal layout, bottom in vertical layout).\n   *\n   * Pass the localized label as `children`. Wire the click handler via\n   * `onClick`. `ModalFooter` is i18n-agnostic and intentionally does not pull\n   * strings from any translation context.\n   */\n  primaryButtonProps?: ModalFooterButtonProps;\n  /**\n   * Optional props for the secondary action button. Renders with\n   * `ButtonVariant.Secondary` automatically. Appears first (left in\n   * horizontal layout, top in vertical layout).\n   */\n  secondaryButtonProps?: ModalFooterButtonProps;\n  /**\n   * Optional prop for additional CSS classes to be applied to the\n   * ModalFooter root. Merged with the component's defaults via `twMerge`.\n   */\n  className?: string;\n};\n"]}