import { ClassValue, HTMLComponentProps, StyledComponentProps, ThemeColor } from "../../types/shared.js"; import { CheckboxSlots } from "./checkbox-variants.js"; import { CheckboxIndicatorProps, CheckboxProps } from "@radix-ui/react-checkbox"; //#region src/components/checkbox/types.d.ts /** * Class names for different slots in the checkbox component. * Allows customizing styles for specific parts of the checkbox. */ type CheckboxUi = Partial>; /** * Props for the checkbox control component (the input element). * Extends Radix UI checkbox props with theme color support. */ interface CheckboxControlProps extends StyledComponentProps { /** * Theme color for the checkbox. * Determines the visual appearance and styling of the checkbox when checked. */ color?: ThemeColor; } /** * Props for the checkbox indicator component. * The visual element that appears inside the checkbox when it's checked. */ interface CheckboxIndicatorProps$1 extends StyledComponentProps {} /** * Props for the checkbox root/container component. * Wrapper div element that contains the checkbox control and indicator. */ interface CheckboxRootProps extends HTMLComponentProps<'div'> {} /** * Props for the main Checkbox component. * Combines control properties with UI customization and mounting options. * * @example * ```tsx * * ``` */ interface CheckboxProps$1 extends CheckboxControlProps { /** * Custom class names for different checkbox UI slots. * Allows styling individual parts of the checkbox component. */ classNames?: CheckboxUi; /** * Forces the indicator to always be mounted in the DOM. * Useful for controlling animations and visibility states. */ forceMountIndicator?: true; } //#endregion export { CheckboxControlProps, CheckboxIndicatorProps$1 as CheckboxIndicatorProps, CheckboxProps$1 as CheckboxProps, CheckboxRootProps, CheckboxUi };