import { HtmlProps, SlotClassNames, SlotStyles } from '../types/slots.types.js'; import { ColorValue } from '../themeProvider/color.types.js'; /** How much the chip stands out. Independent of its colour. */ export declare enum ChipStyleType { /** Solid fill. */ Filled = "filled", /** A light tint of the colour behind text in the colour. The default. */ Light = "light", /** Border and text in the colour, no fill. */ Outlined = "outlined" } /** Text Chip renders of its own, for translating it. */ export interface ChipLabels { /** The remove button, read out by screen readers (default `Remove`). */ remove?: string; } export type ChipSlots = 'root' | 'inner' | 'thumbnail' | 'text' | 'removeIcon'; export interface ChipProps extends HtmlProps { className?: string; text?: string; thumbnail?: React.ReactNode; styleType?: ChipStyleType; /** A `ThemeColor` (default `Neutral`) or any CSS colour, such as `'var(--brand)'`. */ color?: ColorValue; showRemoveIcon?: boolean; /** Accessible name for the remove button. Default `'Remove'`. */ onClick?: () => void; onRemove?: () => void; /** Overrides the text Chip renders of its own. Merged per key. */ labels?: ChipLabels; /** Classes for the inner elements. See `ChipSlots`. */ classNames?: SlotClassNames; /** Inline styles for the inner elements. See `ChipSlots`. */ styles?: SlotStyles; } export interface ChipContainerProps extends HtmlProps { className?: string; children?: React.ReactNode; inline?: boolean; }