@sgnl-pro/react-tree
Version:
A tree view component for React
28 lines (27 loc) • 1.01 kB
TypeScript
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 {};