import { default as React } from 'react'; import { IconWithoutBackgroundProps } from '../../base/icon/icon'; export interface MultiValueFieldProps { /** * Unique identifier for the field. Used to associate the label with the input. */ id: string; /** * Optional label displayed above the field. */ label?: string; /** * Name attribute for the hidden input. When provided, the field value * will be submitted as a JSON string in forms. */ name?: string; /** * List of values to display as tags. * If provided, the component acts as a controlled component. */ values?: string[]; /** * Callback fired whenever the values change * (e.g. removing a tag or clearing all values). */ onChange?: (values: string[]) => void; /** * Visual style of the tags. * @default 'primary' */ tagColor?: 'primary' | 'secondary' | 'danger'; /** * Additional CSS class names applied to the root element. */ className?: string; /** * Optional icon displayed on the right side. * Can be a string (icon name) or full icon props. */ icon?: string | IconWithoutBackgroundProps; /** * Click handler for the icon. * If provided, the icon will be rendered as a button. */ onIconClick?: (event: React.MouseEvent) => void; /** * Extra HTML attributes spread on the icon `