import React, { FunctionComponent, ReactNode } from 'react'; import { LabelTooltipProps } from '../Label'; import { TooltipProps } from '../Tooltip'; import './index.scss'; type SwitchChangeEventHandler = (checked: boolean, event: React.MouseEvent | React.KeyboardEvent) => void; type SwitchClickEventHandler = SwitchChangeEventHandler; export interface SwitchProps { /** * 开关大小 */ size?: 'small' | 'default'; /** * 类名 */ className?: string; /** * style */ style?: React.CSSProperties; /** * 是否选中 */ checked?: boolean; /** * 默认是否选中 */ defaultChecked?: boolean; /** * 变化时回调函数 */ onChange?: SwitchChangeEventHandler; /** * 点击时回调函数 */ onClick?: SwitchClickEventHandler; /** * 选中的是内容 */ checkedChildren?: React.ReactNode; /** * 非选中时内容 */ unCheckedChildren?: React.ReactNode; /** * 是否禁用 */ disabled?: boolean; /** * 是否显示loading */ loading?: boolean; /** * loading帮助提示文案 */ loadingTitle?: string; /** * 自动获得焦点 */ autoFocus?: boolean; /** * 标题 */ label?: ReactNode; /** * 描述 */ desc?: ReactNode; /** * 描述是否必填 */ required?: boolean; /** * 标题帮助提示 */ labelTooltip?: LabelTooltipProps; /** * 描述帮助提示 */ descTooltip?: LabelTooltipProps; /** * 禁用提示 */ disabledTooltip?: TooltipProps; /** * 标题位置 */ labelPlacement?: 'top' | 'bottom' | 'start' | 'end'; /** * 描述位置 */ descPlacement?: 'start' | 'end'; /** * 辅助文本 */ supText?: ReactNode; /** * 是否显示错误 */ error?: boolean; } export declare const Switch: FunctionComponent; export default Switch;