import { Optional, PropTypes } from '@mekari/pixel3-utils'; import { IconName } from '@mekari/pixel3-icon'; /** * Exported segmented control types. */ type DataProps = { id: string; label?: string; value?: any; icon?: IconName; isDisabled?: boolean; }; interface SegmentedControlProps { id?: string; name?: string; data?: DataProps[]; modelValue?: any; isDisabled?: boolean; isFullWidth?: boolean; onChange?: (evt: Event) => void; } type SegmentedControlDefinedContext = Optional; interface SegmentedControlApiMachine { data?: DataProps[]; isDisabled?: boolean; modelValue?: any; rootProps?: T['element']; itemProps?: T['element']; hiddenProps?: T['element']; controlProps?: T['element']; labelProps?: T['element']; iconProps?: T['element']; } interface SegmentedControlState extends SegmentedControlProps { } interface SegmentedControlClasses { root?: string; item?: string; hidden?: string; control?: string; label?: string; icon?: string; } export { DataProps, SegmentedControlApiMachine, SegmentedControlClasses, SegmentedControlDefinedContext, SegmentedControlProps, SegmentedControlState };