import { type FunctionComponent } from 'react'; import type { TreeListData } from '../types'; export type DisabledItemValue = string | { id: string; disableReason?: string; }; export type TreeListItemValue = TreeListData | string; export type TreeListProps = { /** * Выбранное значение */ value?: TValue | null; /** * Данные, которые необходимо отобразить в виде дерева. */ data: TreeListData[]; /** * Название класса, применяется к корневому компоненту. */ className?: string; /** * Если true, то дерево будет раскрыто по умолчанию * @default 'false' */ isInitialExpanded?: boolean; /** * Уровень раскрытия дерева по умолчанию, при isExpanded=true * @default '10' */ expandedLevel?: number; /** * Список `value` элементов дерева, которые не доступны для взаимодействия */ disabledItems?: DisabledItemValue[]; /** * Render-props, позволяет более гибко настраивать содержимое item */ renderItem?: FunctionComponent>; /** * Функция, которая запускается при изменении состояния. */ onChange?: (value: TValue) => void; /** * Переключает компонент в режим работы с объектами а не с id элементов */ isObjectMode?: boolean; };