import { SizeTokenValue, PropsWithChildren, QA } from '../common'; import { InputHTMLAttributes, ReactNode } from 'react'; import { CSSObject } from '@emotion/react'; /** Выбран или indeterminate(желтый) при передаче halfOn */ export type SwitchState = boolean | 'halfOn'; export type SwitchStyles = { /** Выбран */ checked?: SwitchState; /** Отключен */ disabled?: boolean; /** Фокусируемый без редактирования */ readOnly?: boolean; /** Ошибка в поле */ error?: boolean; /** Без подписи, вычисляется автоматически */ hasLabel?: boolean; /** Размер */ size?: SizeTokenValue | `${SizeTokenValue}`; } & Pick; export type SwitchProps = { /** Label */ label?: ReactNode; /** Иконка | Контент слева */ startAdornment?: ReactNode; } & QA & PropsWithChildren & Omit & Omit, 'checked' | 'size'>;