import { CheckboxProps as ChakraButtonProps } from "@chakra-ui/react"; /** Curated Pick of Chakra's native CheckboxProps (not a full re-export) plus this library's label/tooltip/error additions. */ export type CheckboxProps = Pick & { /** Optional; without it, pass `aria-label`. */ label?: string; /** Defaults to "0.875rem" (14px). */ labelFontSize?: string; /** Wraps the label in a tooltip showing `labelTooltip`. */ showLabelTooltip?: boolean; /** Tooltip text; defaults to `label`. Ignored unless `showLabelTooltip`. */ labelTooltip?: string; /** Clamps the label to this many lines with an ellipsis. */ labelClampLines?: number; /** Passed through to the Chakra checkbox root. */ width?: string | number; /** @deprecated Ignored — Checkbox.styles.ts defines no `variants` key; a checkbox has no button-like look to switch. */ variant?: "solid" | "outline" | "ghost" | "link" | "unstyled"; /** Maps to Chakra's colorScheme (icon/fill tint), not a CSS color — text color is fixed via theme tokens. */ color?: "gray" | "red" | "orange" | "yellow" | "green" | "teal" | "blue" | "cyan" | "purple" | "pink" | "whiteAlpha" | "blackAlpha"; /** Control box sm 14px · md 16px · lg 20px; defaults to "md". */ size?: "sm" | "md" | "lg"; /** Sets `isInvalid` (error border + aria-invalid) and shows `errorMessage` in place of `helperText`, linked via aria-describedby. */ error?: boolean; /** Shown in place of `helperText` while `error` is true, linked via aria-describedby. */ errorMessage?: string; /** Hidden while `error` is true. */ helperText?: string; /** Extra styles for the label span, merged after the clamp styles. */ labelSx?: React.CSSProperties; };