UNPKG

@sgnl-pro/react-tree

Version:

A tree view component for React

28 lines (27 loc) 1.01 kB
import { ITreeItem } from '../types'; declare type ID = ITreeItem['id']; export interface ITreeState { expandedIds: Record<ID, boolean>; selectedNodes: Record<ID, ITreeItem | undefined>; } export declare const getInitialTreeState: () => ITreeState; export declare const actions: { toggleExpanded: (node: ITreeItem) => { readonly type: "TOGGLE_EXPANDED"; readonly node: ITreeItem; }; toggleSelected: (node: ITreeItem, allowMultiple: boolean) => { readonly type: "TOGGLE_SELECTED"; readonly node: ITreeItem; readonly allowMultiple: boolean; }; setSelected: (nodes: ITreeItem[], fullUpdate: boolean) => { readonly type: "SET_SELECTED"; readonly nodes: ITreeItem[]; readonly fullUpdate: boolean; }; }; declare type Actions = typeof actions; declare type Action = ReturnType<Actions[keyof Actions]>; export declare const treeReducer: (state: ITreeState, action: Action) => ITreeState; export {};