import { CSSProperties, ReactNode, ReactText, HTMLAttributes } from 'react'; /** * @title Checkbox * `T = string | number` */ export interface CheckboxProps extends Omit, 'children' | 'className' | 'onChange'> { style?: CSSProperties; className?: string | string[]; /** * 是否禁用 */ disabled?: boolean; /** * 错误样式 */ error?: boolean; /** * 是否选中 */ checked?: boolean; /** * 默认是否选中 */ defaultChecked?: boolean; /** * 半选状态 */ indeterminate?: boolean; /** * 静态展示 */ quickStatic?: boolean; /** * 静态展示 */ quickStaticStr?: boolean; /** * 点击复选框的回调 */ onChange?: (checked: boolean, e: Event) => void; /** * 复选框的 value 属性 */ value?: T; /** * 自定义 IconCheck */ icon?: ReactNode; checkboxGroupValue?: T[]; onGroupChange?: (value: T, checked: boolean) => void; isCheckboxGroup?: boolean; children?: ReactNode | ((value: { checked: boolean; indeterminate: boolean; }) => ReactNode); } /** * @title Checkbox.Group */ export interface CheckboxGroupProps { style?: CSSProperties; className?: string | string[]; /** * 整组失效 */ disabled?: boolean; /** * 方向 * @defaultValue horizontal */ direction?: 'horizontal' | 'vertical'; error?: boolean; /** * 默认选中的选项 */ defaultValue?: T[]; /** * 可选项 */ options?: (T | { label: ReactNode; value: T; disabled?: boolean; icon?: ReactNode; })[]; /** * 选中的选项(受控模式) */ value?: T[]; /** * 变化时的回调函数 */ onChange?: (value: T[], e: Event) => void; }