@mui/x-tree-view
Version:
The community edition of the MUI X Tree View components.
32 lines • 1.38 kB
TypeScript
import * as React from 'react';
import type { UseTreeItemStatus } from "../../useTreeItem/index.js";
import { TreeViewPublicAPI, TreeViewAnyStore } from "../../internals/models/index.js";
import { TreeViewLabelEditingPlugin } from "../../internals/plugins/labelEditing/index.js";
export interface UseTreeItemInteractions {
handleExpansion: (event: React.MouseEvent) => void;
handleSelection: (event: React.MouseEvent) => void;
handleCheckboxSelection: (event: React.ChangeEvent<HTMLInputElement>) => void;
toggleItemEditing: () => void;
handleSaveItemLabel: (event: React.SyntheticEvent, label: string) => void;
handleCancelItemLabelEditing: (event: React.SyntheticEvent) => void;
}
interface UseTreeItemUtilsReturnValue<TStore extends TreeViewAnyStore> {
interactions: UseTreeItemInteractions;
status: UseTreeItemStatus;
/**
* The object the allows Tree View manipulation.
*/
publicAPI: TreeViewPublicAPI<TStore>;
}
type TreeViewStoreWithLabelEditing = TreeViewAnyStore & {
labelEditing?: TreeViewLabelEditingPlugin;
};
export declare const itemHasChildren: (reactChildren: React.ReactNode) => boolean;
export declare const useTreeItemUtils: <TStore extends TreeViewStoreWithLabelEditing = TreeViewStoreWithLabelEditing>({
itemId,
children
}: {
itemId: string;
children?: React.ReactNode;
}) => UseTreeItemUtilsReturnValue<TStore>;
export {};