UNPKG

@carbon/ibm-products

Version:
69 lines 2.2 kB
/** * Copyright IBM Corp. 2026 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ import React, { ReactNode, FC } from 'react'; import { AddSelectBodyProps } from './AddSelectBody'; import { AddSelectContentProps } from './AddSelectContent'; import { AddSelectColumnProps } from './AddSelectColumn'; import { AddSelectRowProps } from './AddSelectRow'; import { AddSelectSelectionSummaryProps } from './AddSelectSelectionSummary'; import { AddSelectSelectionSummaryItemProps } from './AddSelectSelectionSummaryItem'; import { AddSelectItemPanelProps } from './AddSelectItemPanel'; /** * ---------- * AddSelect * ---------- */ export interface AddSelectProps { children?: ReactNode; /** * Optional class name */ className?: string; /** * Callback when an item is selected/deselected */ onItemSelect?: (itemId: string, selected: boolean, value: string) => void; /** * Set of selected item IDs */ selectedItems?: Set<string>; } export type AddSelectComponentType = React.ForwardRefExoticComponent<AddSelectProps & React.RefAttributes<HTMLDivElement>> & { Body: FC<AddSelectBodyProps>; Content: FC<AddSelectContentProps>; Column: FC<AddSelectColumnProps>; Row: FC<AddSelectRowProps>; SelectionSummary: FC<AddSelectSelectionSummaryProps>; SelectionSummaryItem: FC<AddSelectSelectionSummaryItemProps>; ItemPanel: FC<AddSelectItemPanelProps>; }; /** * AddSelect - Composable component for adding/selecting items * @example * ```jsx * <AddSelect onItemSelect={handleSelect}> * <AddSelect.Body * itemsLabel="Items" * globalSearchLabel="Search" * itemCount={items.length} * > * <AddSelect.Column multi={true} title="Categories"> * {items.map(item => ( * <AddSelect.Row * key={item.id} * itemId={item.id} * title={item.title} * value={item.value} * /> * ))} * </AddSelect.Column> * </AddSelect.Body> * </AddSelect> * ``` */ export declare const AddSelect: AddSelectComponentType; //# sourceMappingURL=AddSelect.d.ts.map