{"version":3,"file":"Checkbox.types.mjs","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { CheckboxPropsShared } from '@metamask/design-system-shared';\nimport type { ComponentProps } from 'react';\n\nimport type { IconProps } from '../Icon';\nimport type { TextProps } from '../Text';\n\nexport type CheckboxProps = Omit<\n  ComponentProps<'label'>,\n  'style' | 'className' | 'children' | 'htmlFor'\n> &\n  CheckboxPropsShared & {\n    /**\n     * Required unique identifier for the checkbox input element.\n     * This is used for the input's ID and the label's htmlFor attributes.\n     */\n    id: string;\n\n    /**\n     * Optional props to be passed to the label's Text component\n     */\n    labelProps?: Omit<Partial<TextProps>, 'children'>;\n\n    /**\n     * Optional props passed to the native input element (the visible control).\n     * Prefer putting test ids here — the input is Selenium-visible and clickable.\n     */\n    inputProps?: Omit<\n      ComponentProps<'input'>,\n      'type' | 'checked' | 'onChange' | 'disabled'\n    > & {\n      [key: `data-${string}`]: string;\n    };\n\n    /**\n     * Optional props passed to the relative wrapper around the input and check icon.\n     */\n    checkboxContainerProps?: (Omit<ComponentProps<'div'>, 'children'> & {\n      className?: string;\n    }) &\n      Record<string, unknown>;\n\n    /**\n     * Optional props to be passed to the check Icon component\n     */\n    checkedIconProps?: Partial<IconProps>;\n    /**\n     * Optional prop for additional CSS classes to be applied to the Checkbox component.\n     * These classes will be merged with the component's default classes using twMerge.\n     */\n    className?: string;\n    /**\n     * Optional CSS styles for the outer container.\n     */\n    style?: React.CSSProperties;\n  };\n"]}