{"version":3,"file":"HeaderBase.types.cjs","sourceRoot":"","sources":["../../../src/components/HeaderBase/HeaderBase.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\n\nimport type { BoxProps } from '../Box';\n\n/**\n * Box prop bag for the three internal slot wrappers (start accessory, title,\n * end accessory). Mirrors the legacy `BoxProps<'div'>` typing but is bound to\n * the MMDS `BoxProps` shape and carries an explicit `data-*` index signature\n * so consumers can pass test ids and other dataset attributes through\n * `Partial`/`Omit` indirection.\n */\ntype SlotWrapperProps = Omit<BoxProps, 'children' | 'asChild'> & {\n  [key: `data-${string}`]: string | undefined;\n};\n\nexport type HeaderBaseProps = Omit<ComponentProps<'div'>, 'children'> & {\n  /**\n   * Title content rendered in the centered column. The title stays\n   * horizontally centered regardless of the side accessories' widths\n   * (CSS Grid handles the equal-sidebar layout — no JS measurement needed).\n   */\n  children?: ReactNode;\n  /**\n   * Props forwarded to the `Box` wrapping `children`. Use this to add\n   * `data-testid`, override layout, or apply Tailwind utilities via\n   * `className`.\n   */\n  childrenWrapperProps?: SlotWrapperProps;\n  /**\n   * Content rendered in the start (left in LTR) column. Typically a back\n   * `ButtonIcon` or similar leading affordance.\n   */\n  startAccessory?: ReactNode;\n  /**\n   * Props forwarded to the `Box` wrapping `startAccessory`.\n   */\n  startAccessoryWrapperProps?: SlotWrapperProps;\n  /**\n   * Content rendered in the end (right in LTR) column. Typically a close\n   * `ButtonIcon` or similar trailing affordance.\n   */\n  endAccessory?: ReactNode;\n  /**\n   * Props forwarded to the `Box` wrapping `endAccessory`.\n   */\n  endAccessoryWrapperProps?: SlotWrapperProps;\n  /**\n   * Optional prop for additional CSS classes to be applied to the HeaderBase\n   * root. Merged with the component's defaults via `twMerge`.\n   */\n  className?: string;\n};\n"]}