react-native-tree-multi-select
Version:
A super-fast, customizable tree view component for React Native with multi-selection, checkboxes, and search filtering capabilities.
28 lines • 1.4 kB
TypeScript
import type { SelectionPropagation, TreeNode } from "src/types/treeView.types";
import { StoreApi, UseBoundStore } from "zustand";
export type TreeViewState<ID> = {
checked: Set<ID>;
updateChecked: (checked: Set<ID>) => void;
indeterminate: Set<ID>;
updateIndeterminate: (indeterminate: Set<ID>) => void;
expanded: Set<ID>;
updateExpanded: (expanded: Set<ID>) => void;
initialTreeViewData: TreeNode<ID>[];
updateInitialTreeViewData: (initialTreeViewData: TreeNode<ID>[]) => void;
nodeMap: Map<ID, TreeNode<ID>>;
updateNodeMap: (nodeMap: Map<ID, TreeNode<ID>>) => void;
childToParentMap: Map<ID, ID>;
updateChildToParentMap: (childToParentMap: Map<ID, ID>) => void;
searchText: string;
updateSearchText: (searchText: string) => void;
searchKeys: string[];
updateSearchKeys: (searchKeys: string[]) => void;
innerMostChildrenIds: ID[];
updateInnerMostChildrenIds: (innerMostChildrenIds: ID[]) => void;
selectionPropagation: SelectionPropagation;
setSelectionPropagation: (selectionPropagation: SelectionPropagation) => void;
cleanUpTreeViewStore: () => void;
};
export declare function getTreeViewStore<ID>(id: string): UseBoundStore<StoreApi<TreeViewState<ID>>>;
export declare function useTreeViewStore<ID = string>(id: string): UseBoundStore<StoreApi<TreeViewState<ID>>>;
//# sourceMappingURL=treeView.store.d.ts.map