import { Color } from '@ionic/core'; /** * Single chip configuration. */ export interface ChipMetadata { /** Unique chip identifier */ value: string; /** Chip label */ label?: string; /** Chip icon */ icon?: string; /** Chip color */ color?: Color; /** Whether chip is selected */ selected?: boolean; /** Whether chip is disabled */ disabled?: boolean; /** Reactive content key for label */ contentKey?: string; /** Component class name for content lookup */ contentClass?: string; /** Fallback for label */ contentFallback?: string; } /** * Metadata for the chip group component. */ export interface ChipGroupMetadata { /** Chip items */ chips: ChipMetadata[]; /** Allow selection */ selectable?: boolean; /** Allow multiple selection */ multiple?: boolean; /** Allow removing chips */ removable?: boolean; /** Default color for all chips */ color?: Color; /** Selected color */ selectedColor?: Color; /** Chip outline style */ outline?: boolean; /** Unique token identifier */ token?: string; /** Wrap chips or scroll */ wrap?: boolean; } /** * Event emitted when chip selection changes. */ export interface ChipSelectionEvent { /** Selected chip(s) */ selected: ChipMetadata | ChipMetadata[]; /** Selected value(s) */ values: string | string[]; } /** * Event emitted when chip is removed. */ export interface ChipRemoveEvent { /** Removed chip */ chip: ChipMetadata; /** Remaining chips */ remaining: ChipMetadata[]; }