@cfxjs/react-ui
Version:
Modern and minimalist React UI library.
37 lines (36 loc) • 1.18 kB
TypeScript
import React from 'react';
import CheckboxGroup from './checkbox-group';
import { NormalSizes } from '../utils/prop-types';
interface CheckboxEventTarget {
checked: boolean;
}
export interface CheckboxEvent {
target: CheckboxEventTarget;
stopPropagation: () => void;
preventDefault: () => void;
nativeEvent: React.ChangeEvent;
}
interface Props {
checked?: boolean;
disabled?: boolean;
initialChecked?: boolean;
onChange?: (e: CheckboxEvent) => void;
size?: NormalSizes;
className?: string;
value?: string;
}
declare const defaultProps: {
disabled: boolean;
initialChecked: boolean;
size: "mini" | "small" | "medium" | "large";
className: string;
value: string;
};
declare type NativeAttrs = Omit<React.LabelHTMLAttributes<any>, keyof Props>;
export declare type CheckboxProps = Props & typeof defaultProps & NativeAttrs;
declare type CheckboxComponent<P = {}> = React.FC<P> & {
Group: typeof CheckboxGroup;
};
declare type ComponentProps = Partial<typeof defaultProps> & Omit<Props, keyof typeof defaultProps> & NativeAttrs;
declare const _default: CheckboxComponent<ComponentProps>;
export default _default;