import { useId } from '@reach/auto-id'; import VisuallyHidden from '@reach/visually-hidden'; import { TXProp } from '../../theme'; import { Box, BoxProps } from '../../Box'; import { Label } from '../Label'; export interface ToggleProps { ['data-testid']?: string; id?: string; label: string; tx?: TXProp & { Toggle?: TXProp; ToggleActive?: TXProp; ToggleHandle?: TXProp; ToggleHandleActive?: TXProp; ToggleInput?: TXProp; }; inputProps?: BoxProps<'input'>; } export const Toggle = ({ ['data-testid']: testId, id, inputProps, label, tx = {}, }: ToggleProps) => { const autoId = useId(id ?? inputProps?.id)!; const { Toggle: toggleStyles, ToggleActive: toggleActiveStyles, ToggleHandle: toggleHandleStyles, ToggleHandleActive: toggleHandleActiveStyles, ToggleInput: toggleInputStyles, ...labelStyles } = tx; return ( ); };