import type { AriaLabelingProps } from '../../core/types/a11y-props.js'; import type { BehaviorTrackingProps } from '../../core/types/behavior-tracking-props.js'; import type { DataTestId } from '../../core/types/data-props.js'; import type { MaskingProps } from '../../core/types/masking-props.js'; import type { StylingProps } from '../../core/types/styling-props.js'; import type { WithChildren } from '../../core/types/with-children.js'; import type { ChipOwnProps } from '../chip/types/chip.js'; /** * Accepted base properties for ChipGroup. * @public */ export interface ChipGroupBaseProps extends StylingProps, DataTestId, MaskingProps, AriaLabelingProps, BehaviorTrackingProps { /** * Whether the chip group is disabled. * If set to true, all the chips inside the group are disabled, unless explicitly overridden. * @defaultValue false */ disabled?: boolean; /** * The size of the spacing and chips in the group. * All the chips match the size of the group, but can be overridden individually. * @defaultValue default */ size?: ChipOwnProps['size']; /** * Callback triggered when the expanded state changes. */ onExpandedChange?: (state: boolean) => void; /** * Maximum number of chips rendered before the "Show more" control. * * If set to 'auto', the chip group automatically determines * how many chips can fit based on the available width. * If a number is provided, it limits the visible chips to that number * when the group is collapsed, regardless of available space. * @defaultValue 'auto' */ maxVisibleChips?: 'auto' | number; } /** * Properties for the controlled variant of ChipGroup. * @public */ export interface ChipGroupControlledProps { /** Whether the chip group is expanded. */ expanded?: boolean; /** Whether the chip group is expanded by default. */ defaultExpanded?: never; } /** * Properties for the uncontrolled variant of ChipGroup. * @public */ export interface ChipGroupUncontrolledProps { /** Whether the chip group is expanded. */ expanded?: never; /** Whether the chip group is expanded by default. */ defaultExpanded?: boolean; } /** * Properties for the ChipGroup component. * @public */ export type ChipGroupProps = ChipGroupBaseProps & (ChipGroupControlledProps | ChipGroupUncontrolledProps) & WithChildren; /** * Use the `ChipGroup` component to group multiple `Chip`s in an expandable container. * @public */ export declare const ChipGroup: ((props: ChipGroupProps & import("react").RefAttributes) => import("react").ReactElement | null) & { Control: (props: import("./Control.js").ChipGroupControlProps) => import("react/jsx-runtime").JSX.Element | null; HiddenCount: () => import("react/jsx-runtime").JSX.Element; };