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 };