@mui/x-tree-view 7.0.0-beta.6 → 7.0.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +117 -1
- package/RichTreeView/RichTreeView.js +22 -22
- package/RichTreeView/RichTreeView.types.d.ts +2 -1
- package/SimpleTreeView/SimpleTreeView.js +22 -22
- package/TreeItem/TreeItem.js +57 -53
- package/TreeItem/TreeItem.types.d.ts +10 -8
- package/TreeItem/useTreeItemState.js +2 -2
- package/TreeItem2/TreeItem2.d.ts +18 -0
- package/TreeItem2/TreeItem2.js +301 -0
- package/TreeItem2/TreeItem2.types.d.ts +64 -0
- package/TreeItem2/TreeItem2.types.js +1 -0
- package/TreeItem2/index.d.ts +2 -0
- package/TreeItem2/index.js +1 -0
- package/TreeItem2/package.json +6 -0
- package/TreeItem2Icon/TreeItem2Icon.d.ts +7 -0
- package/TreeItem2Icon/TreeItem2Icon.js +68 -0
- package/TreeItem2Icon/TreeItem2Icon.types.d.ts +40 -0
- package/TreeItem2Icon/TreeItem2Icon.types.js +1 -0
- package/TreeItem2Icon/index.d.ts +2 -0
- package/TreeItem2Icon/index.js +1 -0
- package/TreeItem2Icon/package.json +6 -0
- package/TreeItem2Provider/TreeItem2Provider.d.ts +7 -0
- package/TreeItem2Provider/TreeItem2Provider.js +24 -0
- package/TreeItem2Provider/TreeItem2Provider.types.d.ts +6 -0
- package/TreeItem2Provider/TreeItem2Provider.types.js +1 -0
- package/TreeItem2Provider/index.d.ts +2 -0
- package/TreeItem2Provider/index.js +1 -0
- package/TreeItem2Provider/package.json +6 -0
- package/TreeView/TreeView.js +22 -22
- package/hooks/index.d.ts +1 -0
- package/hooks/index.js +2 -1
- package/hooks/useTreeItem2Utils/index.d.ts +1 -0
- package/hooks/useTreeItem2Utils/index.js +1 -0
- package/hooks/useTreeItem2Utils/useTreeItem2Utils.d.ts +15 -0
- package/hooks/useTreeItem2Utils/useTreeItem2Utils.js +61 -0
- package/index.d.ts +5 -1
- package/index.js +9 -2
- package/internals/TreeViewProvider/TreeViewContext.d.ts +3 -1
- package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +4 -2
- package/internals/hooks/useLazyRef.d.ts +1 -2
- package/internals/hooks/useLazyRef.js +1 -11
- package/internals/hooks/useOnMount.d.ts +1 -2
- package/internals/hooks/useOnMount.js +1 -7
- package/internals/hooks/useTimeout.d.ts +1 -11
- package/internals/hooks/useTimeout.js +1 -36
- package/internals/models/plugin.d.ts +19 -16
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +25 -25
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +11 -11
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +12 -12
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +5 -5
- package/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +17 -17
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +11 -9
- package/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +2 -2
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +34 -34
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +11 -11
- package/internals/useTreeView/useTreeView.js +27 -25
- package/modern/RichTreeView/RichTreeView.js +22 -22
- package/modern/SimpleTreeView/SimpleTreeView.js +22 -22
- package/modern/TreeItem/TreeItem.js +57 -53
- package/modern/TreeItem/useTreeItemState.js +2 -2
- package/modern/TreeItem2/TreeItem2.js +300 -0
- package/modern/TreeItem2/TreeItem2.types.js +1 -0
- package/modern/TreeItem2/index.js +1 -0
- package/modern/TreeItem2Icon/TreeItem2Icon.js +67 -0
- package/modern/TreeItem2Icon/TreeItem2Icon.types.js +1 -0
- package/modern/TreeItem2Icon/index.js +1 -0
- package/modern/TreeItem2Provider/TreeItem2Provider.js +24 -0
- package/modern/TreeItem2Provider/TreeItem2Provider.types.js +1 -0
- package/modern/TreeItem2Provider/index.js +1 -0
- package/modern/TreeView/TreeView.js +22 -22
- package/modern/hooks/index.js +2 -1
- package/modern/hooks/useTreeItem2Utils/index.js +1 -0
- package/modern/hooks/useTreeItem2Utils/useTreeItem2Utils.js +61 -0
- package/modern/index.js +9 -2
- package/modern/internals/hooks/useLazyRef.js +1 -11
- package/modern/internals/hooks/useOnMount.js +1 -7
- package/modern/internals/hooks/useTimeout.js +1 -36
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +24 -24
- package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +12 -12
- package/modern/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +16 -16
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +11 -9
- package/modern/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +2 -2
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +34 -34
- package/modern/internals/useTreeView/useTreeView.js +27 -25
- package/modern/useTreeItem2/index.js +1 -0
- package/modern/useTreeItem2/useTreeItem2.js +135 -0
- package/modern/useTreeItem2/useTreeItem2.types.js +1 -0
- package/node/RichTreeView/RichTreeView.js +22 -22
- package/node/SimpleTreeView/SimpleTreeView.js +22 -22
- package/node/TreeItem/TreeItem.js +57 -53
- package/node/TreeItem/useTreeItemState.js +2 -2
- package/node/TreeItem2/TreeItem2.js +308 -0
- package/node/TreeItem2/TreeItem2.types.js +5 -0
- package/node/TreeItem2/index.js +42 -0
- package/node/TreeItem2Icon/TreeItem2Icon.js +75 -0
- package/node/TreeItem2Icon/TreeItem2Icon.types.js +5 -0
- package/node/TreeItem2Icon/index.js +12 -0
- package/node/TreeItem2Provider/TreeItem2Provider.js +30 -0
- package/node/TreeItem2Provider/TreeItem2Provider.types.js +5 -0
- package/node/TreeItem2Provider/index.js +12 -0
- package/node/TreeView/TreeView.js +22 -22
- package/node/hooks/index.js +8 -1
- package/node/hooks/useTreeItem2Utils/index.js +12 -0
- package/node/hooks/useTreeItem2Utils/useTreeItem2Utils.js +68 -0
- package/node/index.js +61 -13
- package/node/internals/hooks/useLazyRef.js +7 -13
- package/node/internals/hooks/useOnMount.js +8 -10
- package/node/internals/hooks/useTimeout.js +7 -37
- package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +24 -24
- package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +12 -12
- package/node/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +16 -16
- package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +11 -9
- package/node/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +2 -2
- package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +34 -34
- package/node/internals/useTreeView/useTreeView.js +27 -25
- package/node/useTreeItem2/index.js +12 -0
- package/node/useTreeItem2/useTreeItem2.js +143 -0
- package/node/useTreeItem2/useTreeItem2.types.js +5 -0
- package/package.json +1 -1
- package/themeAugmentation/components.d.ts +5 -0
- package/themeAugmentation/overrides.d.ts +1 -0
- package/themeAugmentation/props.d.ts +2 -0
- package/useTreeItem2/index.d.ts +2 -0
- package/useTreeItem2/index.js +1 -0
- package/useTreeItem2/package.json +6 -0
- package/useTreeItem2/useTreeItem2.d.ts +2 -0
- package/useTreeItem2/useTreeItem2.js +138 -0
- package/useTreeItem2/useTreeItem2.types.d.ts +113 -0
- package/useTreeItem2/useTreeItem2.types.js +1 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import { extractEventHandlers } from '@mui/base/utils';
|
|
3
|
+
import useForkRef from '@mui/utils/useForkRef';
|
|
4
|
+
import { useTreeViewContext } from '../internals/TreeViewProvider/useTreeViewContext';
|
|
5
|
+
import { useTreeItem2Utils } from '../hooks/useTreeItem2Utils';
|
|
6
|
+
export const useTreeItem2 = parameters => {
|
|
7
|
+
const {
|
|
8
|
+
runItemPlugins,
|
|
9
|
+
selection: {
|
|
10
|
+
multiSelect
|
|
11
|
+
},
|
|
12
|
+
disabledItemsFocusable,
|
|
13
|
+
instance,
|
|
14
|
+
publicAPI
|
|
15
|
+
} = useTreeViewContext();
|
|
16
|
+
const {
|
|
17
|
+
id,
|
|
18
|
+
nodeId,
|
|
19
|
+
label,
|
|
20
|
+
children,
|
|
21
|
+
rootRef
|
|
22
|
+
} = parameters;
|
|
23
|
+
const {
|
|
24
|
+
rootRef: pluginRootRef,
|
|
25
|
+
contentRef
|
|
26
|
+
} = runItemPlugins(parameters);
|
|
27
|
+
const {
|
|
28
|
+
interactions,
|
|
29
|
+
status
|
|
30
|
+
} = useTreeItem2Utils({
|
|
31
|
+
nodeId,
|
|
32
|
+
children
|
|
33
|
+
});
|
|
34
|
+
const idAttribute = instance.getTreeItemId(nodeId, id);
|
|
35
|
+
const handleRootRef = useForkRef(rootRef, pluginRootRef);
|
|
36
|
+
const createRootHandleFocus = otherHandlers => event => {
|
|
37
|
+
var _otherHandlers$onFocu;
|
|
38
|
+
(_otherHandlers$onFocu = otherHandlers.onFocus) == null || _otherHandlers$onFocu.call(otherHandlers, event);
|
|
39
|
+
if (event.defaultMuiPrevented) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// DOM focus stays on the tree which manages focus with aria-activedescendant
|
|
44
|
+
if (event.target === event.currentTarget) {
|
|
45
|
+
instance.focusRoot();
|
|
46
|
+
}
|
|
47
|
+
const canBeFocused = !status.disabled || disabledItemsFocusable;
|
|
48
|
+
if (!status.focused && canBeFocused && event.currentTarget === event.target) {
|
|
49
|
+
instance.focusItem(event, nodeId);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
const createContentHandleClick = otherHandlers => event => {
|
|
53
|
+
var _otherHandlers$onClic;
|
|
54
|
+
(_otherHandlers$onClic = otherHandlers.onClick) == null || _otherHandlers$onClic.call(otherHandlers, event);
|
|
55
|
+
if (event.defaultMuiPrevented) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
interactions.handleExpansion(event);
|
|
59
|
+
interactions.handleSelection(event);
|
|
60
|
+
};
|
|
61
|
+
const createContentHandleMouseDown = otherHandlers => event => {
|
|
62
|
+
var _otherHandlers$onMous;
|
|
63
|
+
(_otherHandlers$onMous = otherHandlers.onMouseDown) == null || _otherHandlers$onMous.call(otherHandlers, event);
|
|
64
|
+
if (event.defaultMuiPrevented) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Prevent text selection
|
|
69
|
+
if (event.shiftKey || event.ctrlKey || event.metaKey || status.disabled) {
|
|
70
|
+
event.preventDefault();
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const getRootProps = (externalProps = {}) => {
|
|
74
|
+
const externalEventHandlers = _extends({}, extractEventHandlers(parameters), extractEventHandlers(externalProps));
|
|
75
|
+
let ariaSelected;
|
|
76
|
+
if (multiSelect) {
|
|
77
|
+
ariaSelected = status.selected;
|
|
78
|
+
} else if (status.selected) {
|
|
79
|
+
/* single-selection trees unset aria-selected on un-selected items.
|
|
80
|
+
*
|
|
81
|
+
* If the tree does not support multiple selection, aria-selected
|
|
82
|
+
* is set to true for the selected node and it is not present on any other node in the tree.
|
|
83
|
+
* Source: https://www.w3.org/WAI/ARIA/apg/patterns/treeview/
|
|
84
|
+
*/
|
|
85
|
+
ariaSelected = true;
|
|
86
|
+
}
|
|
87
|
+
return _extends({}, externalEventHandlers, {
|
|
88
|
+
ref: handleRootRef,
|
|
89
|
+
role: 'treeitem',
|
|
90
|
+
tabIndex: -1,
|
|
91
|
+
id: idAttribute,
|
|
92
|
+
'aria-expanded': status.expandable ? status.expanded : undefined,
|
|
93
|
+
'aria-selected': ariaSelected,
|
|
94
|
+
'aria-disabled': status.disabled || undefined
|
|
95
|
+
}, externalProps, {
|
|
96
|
+
onFocus: createRootHandleFocus(externalEventHandlers)
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
const getContentProps = (externalProps = {}) => {
|
|
100
|
+
const externalEventHandlers = _extends({}, extractEventHandlers(parameters), extractEventHandlers(externalProps));
|
|
101
|
+
return _extends({}, externalEventHandlers, externalProps, {
|
|
102
|
+
ref: contentRef,
|
|
103
|
+
onClick: createContentHandleClick(externalEventHandlers),
|
|
104
|
+
onMouseDown: createContentHandleMouseDown(externalEventHandlers),
|
|
105
|
+
status
|
|
106
|
+
});
|
|
107
|
+
};
|
|
108
|
+
const getLabelProps = (externalProps = {}) => {
|
|
109
|
+
const externalEventHandlers = _extends({}, extractEventHandlers(parameters), extractEventHandlers(externalProps));
|
|
110
|
+
return _extends({}, externalEventHandlers, {
|
|
111
|
+
children: label
|
|
112
|
+
}, externalProps);
|
|
113
|
+
};
|
|
114
|
+
const getIconContainerProps = (externalProps = {}) => {
|
|
115
|
+
const externalEventHandlers = _extends({}, extractEventHandlers(parameters), extractEventHandlers(externalProps));
|
|
116
|
+
return _extends({}, externalEventHandlers, externalProps);
|
|
117
|
+
};
|
|
118
|
+
const getGroupTransitionProps = (externalProps = {}) => {
|
|
119
|
+
const externalEventHandlers = _extends({}, extractEventHandlers(parameters), extractEventHandlers(externalProps));
|
|
120
|
+
return _extends({}, externalEventHandlers, {
|
|
121
|
+
unmountOnExit: true,
|
|
122
|
+
component: 'ul',
|
|
123
|
+
role: 'group',
|
|
124
|
+
in: status.expanded,
|
|
125
|
+
children
|
|
126
|
+
}, externalProps);
|
|
127
|
+
};
|
|
128
|
+
return {
|
|
129
|
+
getRootProps,
|
|
130
|
+
getContentProps,
|
|
131
|
+
getGroupTransitionProps,
|
|
132
|
+
getIconContainerProps,
|
|
133
|
+
getLabelProps,
|
|
134
|
+
rootRef: handleRootRef,
|
|
135
|
+
status,
|
|
136
|
+
publicAPI
|
|
137
|
+
};
|
|
138
|
+
};
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TreeViewItemId } from '../models';
|
|
3
|
+
import { MuiCancellableEventHandler } from '../internals/models/MuiCancellableEvent';
|
|
4
|
+
import { TreeViewAnyPluginSignature, TreeViewPublicAPI } from '../internals/models';
|
|
5
|
+
export interface UseTreeItem2Parameters {
|
|
6
|
+
/**
|
|
7
|
+
* The id attribute of the node. If not provided, it will be generated.
|
|
8
|
+
*/
|
|
9
|
+
id?: string;
|
|
10
|
+
/**
|
|
11
|
+
* If `true`, the node is disabled.
|
|
12
|
+
* @default false
|
|
13
|
+
*/
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* The id of the node.
|
|
17
|
+
* Must be unique.
|
|
18
|
+
*/
|
|
19
|
+
nodeId: TreeViewItemId;
|
|
20
|
+
/**
|
|
21
|
+
* The label of the node.
|
|
22
|
+
*/
|
|
23
|
+
label?: React.ReactNode;
|
|
24
|
+
rootRef?: React.Ref<HTMLLIElement>;
|
|
25
|
+
/**
|
|
26
|
+
* The content of the component.
|
|
27
|
+
*/
|
|
28
|
+
children?: React.ReactNode;
|
|
29
|
+
}
|
|
30
|
+
export interface UseTreeItem2RootSlotOwnProps {
|
|
31
|
+
role: 'treeitem';
|
|
32
|
+
tabIndex: -1;
|
|
33
|
+
id: string;
|
|
34
|
+
'aria-expanded': React.AriaAttributes['aria-expanded'];
|
|
35
|
+
'aria-selected': React.AriaAttributes['aria-selected'];
|
|
36
|
+
'aria-disabled': React.AriaAttributes['aria-disabled'];
|
|
37
|
+
onFocus: MuiCancellableEventHandler<React.FocusEvent>;
|
|
38
|
+
ref: React.RefCallback<HTMLLIElement>;
|
|
39
|
+
}
|
|
40
|
+
export type UseTreeItem2RootSlotProps<ExternalProps = {}> = ExternalProps & UseTreeItem2RootSlotOwnProps;
|
|
41
|
+
export interface UseTreeItem2ContentSlotOwnProps {
|
|
42
|
+
onClick: MuiCancellableEventHandler<React.MouseEvent>;
|
|
43
|
+
onMouseDown: MuiCancellableEventHandler<React.MouseEvent>;
|
|
44
|
+
ref: React.RefCallback<HTMLDivElement> | null;
|
|
45
|
+
status: UseTreeItem2Status;
|
|
46
|
+
}
|
|
47
|
+
export type UseTreeItem2ContentSlotProps<ExternalProps = {}> = ExternalProps & UseTreeItem2ContentSlotOwnProps;
|
|
48
|
+
export interface UseTreeItem2IconContainerSlotOwnProps {
|
|
49
|
+
}
|
|
50
|
+
export type UseTreeItemIconContainerSlotProps<ExternalProps = {}> = ExternalProps & UseTreeItem2IconContainerSlotOwnProps;
|
|
51
|
+
export interface UseTreeItem2LabelSlotOwnProps {
|
|
52
|
+
children: React.ReactNode;
|
|
53
|
+
}
|
|
54
|
+
export type UseTreeItem2LabelSlotProps<ExternalProps = {}> = ExternalProps & UseTreeItem2LabelSlotOwnProps;
|
|
55
|
+
export interface UseTreeItem2GroupTransitionSlotOwnProps {
|
|
56
|
+
unmountOnExit: boolean;
|
|
57
|
+
in: boolean;
|
|
58
|
+
component: 'ul';
|
|
59
|
+
role: 'group';
|
|
60
|
+
children: React.ReactNode;
|
|
61
|
+
}
|
|
62
|
+
export type UseTreeItem2GroupTransitionSlotProps<ExternalProps = {}> = ExternalProps & UseTreeItem2GroupTransitionSlotOwnProps;
|
|
63
|
+
export interface UseTreeItem2Status {
|
|
64
|
+
expandable: boolean;
|
|
65
|
+
expanded: boolean;
|
|
66
|
+
focused: boolean;
|
|
67
|
+
selected: boolean;
|
|
68
|
+
disabled: boolean;
|
|
69
|
+
}
|
|
70
|
+
export interface UseTreeItem2ReturnValue<TPlugins extends readonly TreeViewAnyPluginSignature[]> {
|
|
71
|
+
/**
|
|
72
|
+
* Resolver for the root slot's props.
|
|
73
|
+
* @param {ExternalProps} externalProps Additional props for the root slot
|
|
74
|
+
* @returns {UseTreeItem2RootSlotProps<ExternalProps>} Props that should be spread on the root slot
|
|
75
|
+
*/
|
|
76
|
+
getRootProps: <ExternalProps extends Record<string, any> = {}>(externalProps?: ExternalProps) => UseTreeItem2RootSlotProps<ExternalProps>;
|
|
77
|
+
/**
|
|
78
|
+
* Resolver for the content slot's props.
|
|
79
|
+
* @param {ExternalProps} externalProps Additional props for the content slot
|
|
80
|
+
* @returns {UseTreeItem2ContentSlotProps<ExternalProps>} Props that should be spread on the content slot
|
|
81
|
+
*/
|
|
82
|
+
getContentProps: <ExternalProps extends Record<string, any> = {}>(externalProps?: ExternalProps) => UseTreeItem2ContentSlotProps<ExternalProps>;
|
|
83
|
+
/**
|
|
84
|
+
* Resolver for the label slot's props.
|
|
85
|
+
* @param {ExternalProps} externalProps Additional props for the label slot
|
|
86
|
+
* @returns {UseTreeItem2LabelSlotProps<ExternalProps>} Props that should be spread on the label slot
|
|
87
|
+
*/
|
|
88
|
+
getLabelProps: <ExternalProps extends Record<string, any> = {}>(externalProps?: ExternalProps) => UseTreeItem2LabelSlotProps<ExternalProps>;
|
|
89
|
+
/**
|
|
90
|
+
* Resolver for the iconContainer slot's props.
|
|
91
|
+
* @param {ExternalProps} externalProps Additional props for the iconContainer slot
|
|
92
|
+
* @returns {UseTreeItemIconContainerSlotProps<ExternalProps>} Props that should be spread on the iconContainer slot
|
|
93
|
+
*/
|
|
94
|
+
getIconContainerProps: <ExternalProps extends Record<string, any> = {}>(externalProps?: ExternalProps) => UseTreeItemIconContainerSlotProps<ExternalProps>;
|
|
95
|
+
/**
|
|
96
|
+
* Resolver for the GroupTransition slot's props.
|
|
97
|
+
* @param {ExternalProps} externalProps Additional props for the GroupTransition slot
|
|
98
|
+
* @returns {UseTreeItem2GroupTransitionSlotProps<ExternalProps>} Props that should be spread on the GroupTransition slot
|
|
99
|
+
*/
|
|
100
|
+
getGroupTransitionProps: <ExternalProps extends Record<string, any> = {}>(externalProps?: ExternalProps) => UseTreeItem2GroupTransitionSlotProps<ExternalProps>;
|
|
101
|
+
/**
|
|
102
|
+
* A ref to the component's root DOM element.
|
|
103
|
+
*/
|
|
104
|
+
rootRef: React.RefCallback<HTMLLIElement> | null;
|
|
105
|
+
/**
|
|
106
|
+
* Current status of the item.
|
|
107
|
+
*/
|
|
108
|
+
status: UseTreeItem2Status;
|
|
109
|
+
/**
|
|
110
|
+
* The object the allows Tree View manipulation.
|
|
111
|
+
*/
|
|
112
|
+
publicAPI: TreeViewPublicAPI<TPlugins>;
|
|
113
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|