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