"use client"; import {Checkbox as BaseCheckbox} from "@base-ui/react/checkbox"; import {mergeProps} from "@base-ui/react/merge-props"; import {useRender} from "@base-ui/react/use-render"; import * as React from "react"; import {cn} from "@/lib/utilities"; import styles from "./checkbox.module.css"; type BaseCheckboxCheckedChange = NonNullable["onCheckedChange"]>; type CheckboxChangeEventDetails = Parameters[1]; /** * Props for the shared checkbox wrapper. */ interface CheckboxProps extends Omit, "checked" | "className" | "onCheckedChange"> { /** Additional CSS classes merged with the checkbox control styles. @default undefined */ className?: string; /** The current checked state, including support for the legacy `"indeterminate"` value. @default undefined */ checked?: boolean | "indeterminate"; /** Called whenever the checked state changes. @default undefined */ onCheckedChange?: (checked: boolean | "indeterminate", eventDetails: CheckboxChangeEventDetails) => void; } /** * Renders a selectable checkbox control with checked and indeterminate support. * * @remarks * - Renders a `