UNPKG

@zag-js/collection

Version:

Utilities to manage a collection of items.

32 lines (29 loc) 1.34 kB
import { CollectionItem } from './types.mjs'; interface SelectionMapCollection<T extends CollectionItem = CollectionItem> { find: (value: string | null | undefined) => T | null; getItemValue: (item: T | null | undefined) => string | null; } declare function resolveSelectedItems<T extends CollectionItem>({ values, collection, selectedItemMap, }: { values: string[]; collection: SelectionMapCollection<T>; selectedItemMap: Map<string, T>; }): T[]; declare function updateSelectedItemMap<T extends CollectionItem>({ selectedItemMap, values, selectedItems, collection, }: { selectedItemMap: Map<string, T>; values: string[]; selectedItems: T[]; collection: SelectionMapCollection<T>; }): Map<string, T>; declare function deriveSelectionState<T extends CollectionItem>({ values, collection, selectedItemMap, }: { values: string[]; collection: SelectionMapCollection<T>; selectedItemMap: Map<string, T>; }): { selectedItems: T[]; nextSelectedItemMap: Map<string, T>; }; declare function createSelectedItemMap<T extends CollectionItem>({ selectedItems, collection, }: { selectedItems: T[]; collection: SelectionMapCollection<T>; }): Map<string, T>; export { type SelectionMapCollection, createSelectedItemMap, deriveSelectionState, resolveSelectedItems, updateSelectedItemMap };