@cmk/fe_utils
Version:
frontend utility library
43 lines (41 loc) • 1.57 kB
TypeScript
import { SimpleTreeViewProps } from '@mui/x-tree-view/SimpleTreeView';
import { StyledTreeItemProps } from './CTreeItem';
import { ReactNode } from 'react';
declare module 'react' {
interface CSSProperties {
'--tree-view-color'?: string;
'--tree-view-bg-color'?: string;
}
}
export type AdditionalActionType = {
action: (nodeId: string | number, e: any) => void;
icon: string;
tooltip: string;
label: string;
disabled?: boolean;
};
export type AdditionalActionGenType = AdditionalActionType[] | ((item: any) => AdditionalActionType[]);
export type CTreeViewProps = Omit<SimpleTreeViewProps<false>, 'selectedItems'> & {
items: StyledTreeItemProps[];
onNodeSelect: (e: any, nodeId: string) => void;
onNodeAddAction: (e: any, nodeId: string) => void;
onNodeRemoveAction: (e: any, nodeId: string) => void;
additionalActions?: AdditionalActionGenType;
expandedItems?: string[];
defaultExpanded?: string[];
enableNullSelection?: boolean;
disableItemsFocusable?: boolean;
autofocus?: boolean;
maxWidth?: number;
width?: number;
rootInjection?: ReactNode;
disableSelection?: boolean;
draggable?: boolean;
hidden?: boolean;
selectedItems?: string[];
onDragDrop?: (event: any, draggedItem: any, droppedItem: any) => void;
onDragging?: (event: any, active: boolean, draggedItem: any) => void;
disableItemDelete?: boolean;
disableItemAdd?: boolean;
};
export declare const CTreeView2: (props: CTreeViewProps) => import("react/jsx-runtime").JSX.Element;