@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
36 lines (35 loc) • 2.15 kB
TypeScript
import { Factory } from '../../../core';
export interface ChipGroupProps<Multiple extends boolean = false, Value extends string = string> {
/** If set, multiple values can be selected */
multiple?: Multiple;
/** Controlled component value */
value?: Multiple extends true ? Value[] : Value | null;
/** Uncontrolled component initial value */
defaultValue?: Multiple extends true ? Value[] : Value | null;
/** Called when value changes. If `multiple` prop is set, called with an array of selected values. If not, called with a string value of selected chip. */
onChange?: (value: Multiple extends true ? Value[] : Value) => void;
/** `Chip` components and any other elements */
children?: React.ReactNode;
}
export type ChipGroupFactory = Factory<{
props: ChipGroupProps;
signature: <Multiple extends boolean = false, Value extends string = string>(props: ChipGroupProps<Multiple, Value>) => React.JSX.Element;
}>;
export declare const ChipGroup: (<Multiple extends boolean = false, Value extends string = string>(props: ChipGroupProps<Multiple, Value>) => React.JSX.Element) & import("../../..").ThemeExtend<{
props: ChipGroupProps;
signature: <Multiple extends boolean = false, Value extends string = string>(props: ChipGroupProps<Multiple, Value>) => React.JSX.Element;
}> & import("../../..").ComponentClasses<{
props: ChipGroupProps;
signature: <Multiple extends boolean = false, Value extends string = string>(props: ChipGroupProps<Multiple, Value>) => React.JSX.Element;
}> & Record<string, never> & import("../../..").FactoryComponentWithProps<{
props: ChipGroupProps;
signature: <Multiple extends boolean = false, Value extends string = string>(props: ChipGroupProps<Multiple, Value>) => React.JSX.Element;
}> & {
displayName?: string;
};
export interface ChipGroupContextValue<Value extends string = string> {
isChipSelected: (value: Value) => boolean;
onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
multiple: boolean | undefined;
}
export declare const ChipGroupContext: import("react").Context<ChipGroupContextValue<string> | null>;