import type { ButtonIconSpec } from '@ankhorage/surface'; import type React from 'react'; import type { ZoraBaseProps } from './base'; import type { ZoraControlSize } from './control'; import type { ZoraColor } from './theme'; export interface ChipGroupItem { value: TValue; label: React.ReactNode; icon?: ButtonIconSpec; disabled?: boolean; testID?: string; } interface ChipGroupBaseProps extends ZoraBaseProps { items: readonly ChipGroupItem[]; color?: ZoraColor; size?: ZoraControlSize; wrap?: boolean; disabled?: boolean; } interface ChipGroupSingleProps { multiple?: false; value?: TValue; onValueChange?: (value: TValue) => void; } interface ChipGroupMultipleProps { multiple: true; value?: readonly TValue[]; onValueChange?: (value: TValue[]) => void; } export type ChipGroupProps = ChipGroupBaseProps & (ChipGroupSingleProps | ChipGroupMultipleProps);