export interface ToggleProps { /** * Optional onChange handler */ onChange?: (event: React.MouseEvent) => void; /** * Optional disabled state */ disabled?: boolean; /** * Optional checked state */ checked?: boolean; /** * Optional id */ id?: string; /** * What background color to occur upon toggled */ variant?: 'primary' | 'secondary'; /** * Defines the size of the toggle */ size?: 'small' | 'medium' | 'large'; /** * Optional icon configuration for the toggle. This allows for custom icons to be used for both the checked and unchecked states. * * @property checked - Icon configuration for the checked state. * @property unchecked - Icon configuration for the unchecked state. * * @example * { * checked: { name: 'checked-icon', width: 24, height: 24 }, * unchecked: { name: 'unchecked-icon', width: 24, height: 24 } * } */ icon?: { checked?: { name: string; width: number; height: number; }; unchecked?: { name: string; width: number; height: number; }; }; }