36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
import * as React from 'react';
|
|
import { StandardProps } from '..';
|
|
import { IconButtonProps } from '../IconButton';
|
|
|
|
export interface SwitchBaseProps
|
|
extends StandardProps<IconButtonProps, SwitchBaseClassKey, 'onChange'> {
|
|
checked?: boolean | string;
|
|
checkedClassName?: string;
|
|
checkedIcon?: React.ReactNode;
|
|
defaultChecked?: boolean;
|
|
disabled?: boolean;
|
|
disabledClassName?: string;
|
|
disableRipple?: boolean;
|
|
icon?: React.ReactNode;
|
|
indeterminate?: boolean;
|
|
indeterminateIcon?: React.ReactNode;
|
|
inputProps?: React.InputHTMLAttributes<HTMLInputElement>;
|
|
inputRef?: React.Ref<any>;
|
|
name?: string;
|
|
onChange?: (event: React.ChangeEvent<HTMLInputElement>, checked: boolean) => void;
|
|
tabIndex?: number;
|
|
value?: string;
|
|
}
|
|
|
|
export type SwitchBaseClassKey = 'root' | 'default' | 'checked' | 'disabled' | 'input';
|
|
|
|
export type SwitchBase = React.Component<SwitchBaseProps>;
|
|
|
|
export interface CreateSwitchBaseOptions {
|
|
defaultIcon?: React.ReactNode;
|
|
defaultCheckedIcon?: React.ReactNode;
|
|
type?: string;
|
|
}
|
|
|
|
export default function createSwitch(options: CreateSwitchBaseOptions): SwitchBase;
|