import type { CollectionComposer, DataItem } from '@refinitiv-ui/utils/collection.js'; import type { TreeManager } from '../managers/tree-manager'; export type TreeData = T[] | CollectionComposer | null; export interface TreeDataItem extends DataItem { /** * Icon to show, when rendering the item. */ icon?: string; /** * Label to show, when rendering the item. */ label?: string; /** * Expanded state of child items. * If `true`, child items will be visible */ expanded?: boolean; /** * Used for nested TreeDataItem. */ items?: TreeDataItem[]; } /** * Predicate callback * Matches item against filter function * * @param item Item to filter * @return Does item match filter */ export type TreeFilter = (item: T, manager: TreeManager) => boolean;