@mui/x-tree-view 8.2.0 → 8.3.0
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 +107 -0
- package/RichTreeView/RichTreeView.js +0 -6
- package/RichTreeView/RichTreeView.types.d.ts +1 -7
- package/SimpleTreeView/SimpleTreeView.js +0 -6
- package/SimpleTreeView/SimpleTreeView.types.d.ts +1 -7
- package/esm/RichTreeView/RichTreeView.js +0 -6
- package/esm/RichTreeView/RichTreeView.types.d.ts +1 -7
- package/esm/SimpleTreeView/SimpleTreeView.js +0 -6
- package/esm/SimpleTreeView/SimpleTreeView.types.d.ts +1 -7
- package/esm/index.js +1 -1
- package/esm/internals/corePlugins/useTreeViewId/index.d.ts +1 -1
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +2 -2
- package/esm/internals/index.d.ts +2 -2
- package/esm/internals/index.js +1 -1
- package/esm/internals/models/plugin.d.ts +13 -22
- package/esm/internals/models/treeView.d.ts +0 -1
- package/esm/internals/plugins/useTreeViewExpansion/index.d.ts +1 -1
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +4 -3
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +2 -2
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +2 -2
- package/esm/internals/plugins/useTreeViewFocus/index.d.ts +1 -1
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +2 -2
- package/esm/internals/plugins/useTreeViewItems/index.d.ts +1 -1
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.js +1 -1
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +2 -2
- package/esm/internals/plugins/useTreeViewJSXItems/index.d.ts +1 -1
- package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +2 -2
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +1 -1
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +2 -2
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +2 -3
- package/esm/internals/plugins/useTreeViewSelection/index.d.ts +1 -1
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +4 -3
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +2 -2
- package/esm/internals/useTreeView/{extractPluginParamsFromProps.d.ts → useExtractPluginParamsFromProps.d.ts} +8 -9
- package/esm/internals/useTreeView/useExtractPluginParamsFromProps.js +51 -0
- package/esm/internals/useTreeView/useTreeView.js +3 -5
- package/esm/internals/useTreeView/useTreeView.types.d.ts +1 -2
- package/esm/internals/useTreeView/useTreeViewBuildContext.d.ts +4 -8
- package/esm/internals/useTreeView/useTreeViewBuildContext.js +8 -7
- package/esm/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +1 -1
- package/esm/internals/utils/tree.js +1 -1
- package/index.js +1 -1
- package/internals/corePlugins/useTreeViewId/index.d.ts +1 -1
- package/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +2 -2
- package/internals/index.d.ts +2 -2
- package/internals/index.js +1 -1
- package/internals/models/plugin.d.ts +13 -22
- package/internals/models/treeView.d.ts +0 -1
- package/internals/plugins/useTreeViewExpansion/index.d.ts +1 -1
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +5 -4
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +2 -2
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +2 -2
- package/internals/plugins/useTreeViewFocus/index.d.ts +1 -1
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +2 -2
- package/internals/plugins/useTreeViewItems/index.d.ts +1 -1
- package/internals/plugins/useTreeViewItems/useTreeViewItems.js +1 -1
- package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +2 -2
- package/internals/plugins/useTreeViewJSXItems/index.d.ts +1 -1
- package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +2 -2
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +1 -1
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +2 -2
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +2 -3
- package/internals/plugins/useTreeViewSelection/index.d.ts +1 -1
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +5 -4
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +2 -2
- package/internals/useTreeView/{extractPluginParamsFromProps.d.ts → useExtractPluginParamsFromProps.d.ts} +8 -9
- package/internals/useTreeView/useExtractPluginParamsFromProps.js +60 -0
- package/internals/useTreeView/useTreeView.js +3 -5
- package/internals/useTreeView/useTreeView.types.d.ts +1 -2
- package/internals/useTreeView/useTreeViewBuildContext.d.ts +4 -8
- package/internals/useTreeView/useTreeViewBuildContext.js +8 -7
- package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +1 -1
- package/internals/utils/tree.js +1 -1
- package/package.json +4 -4
- package/esm/internals/useTreeView/extractPluginParamsFromProps.js +0 -42
- package/esm/internals/useTreeView/useTreeViewPlugins.d.ts +0 -0
- package/esm/internals/useTreeView/useTreeViewPlugins.js +0 -0
- package/esm/internals/utils/models.d.ts +0 -7
- package/esm/internals/utils/models.js +0 -23
- package/internals/useTreeView/extractPluginParamsFromProps.js +0 -50
- package/internals/useTreeView/useTreeViewPlugins.d.ts +0 -0
- package/internals/useTreeView/useTreeViewPlugins.js +0 -1
- package/internals/utils/models.d.ts +0 -7
- package/internals/utils/models.js +0 -30
|
@@ -60,7 +60,7 @@ export interface UseTreeViewLazyLoadingParameters<R extends {}> {
|
|
|
60
60
|
dataSource?: DataSource<R>;
|
|
61
61
|
dataSourceCache?: DataSourceCache;
|
|
62
62
|
}
|
|
63
|
-
export type
|
|
63
|
+
export type UseTreeViewLazyLoadingParametersWithDefaults<R extends {}> = DefaultizedProps<UseTreeViewLazyLoadingParameters<R>, 'dataSource'>;
|
|
64
64
|
export interface UseTreeViewLazyLoadingState {
|
|
65
65
|
lazyLoading: {
|
|
66
66
|
enabled: boolean;
|
|
@@ -72,11 +72,10 @@ export interface UseTreeViewLazyLoadingState {
|
|
|
72
72
|
}
|
|
73
73
|
export type UseTreeViewLazyLoadingSignature = TreeViewPluginSignature<{
|
|
74
74
|
params: UseTreeViewLazyLoadingParameters<any>;
|
|
75
|
-
|
|
75
|
+
paramsWithDefaults: UseTreeViewLazyLoadingParametersWithDefaults<any>;
|
|
76
76
|
publicAPI: UseTreeViewLazyLoadingPublicAPI;
|
|
77
77
|
instance: UseTreeViewLazyLoadingInstance;
|
|
78
78
|
state: UseTreeViewLazyLoadingState;
|
|
79
|
-
experimentalFeatures: 'lazyLoading';
|
|
80
79
|
dependencies: [UseTreeViewItemsSignature, UseTreeViewExpansionSignature, UseTreeViewSelectionSignature];
|
|
81
80
|
}>;
|
|
82
81
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { useTreeViewSelection } from "./useTreeViewSelection.js";
|
|
2
|
-
export type { UseTreeViewSelectionSignature, UseTreeViewSelectionParameters,
|
|
2
|
+
export type { UseTreeViewSelectionSignature, UseTreeViewSelectionParameters, UseTreeViewSelectionParametersWithDefaults } from "./useTreeViewSelection.types.js";
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import { useAssertModelConsistency } from '@mui/x-internals/useAssertModelConsistency';
|
|
3
4
|
import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
|
|
4
5
|
import { findOrderInTremauxTree, getAllNavigableItems, getFirstNavigableItem, getLastNavigableItem, getNonDisabledItemsInRange } from "../../utils/tree.js";
|
|
5
6
|
import { propagateSelection, getAddedAndRemovedItems, getLookupFromArray } from "./useTreeViewSelection.utils.js";
|
|
6
7
|
import { selectorIsItemSelected, selectorIsMultiSelectEnabled, selectorIsSelectionEnabled, selectorSelectionModel, selectorSelectionModelArray } from "./useTreeViewSelection.selectors.js";
|
|
7
8
|
import { useTreeViewSelectionItemPlugin } from "./useTreeViewSelection.itemPlugin.js";
|
|
8
|
-
import { useAssertModelConsistency } from "../../utils/models.js";
|
|
9
9
|
export const useTreeViewSelection = ({
|
|
10
10
|
store,
|
|
11
11
|
params
|
|
12
12
|
}) => {
|
|
13
13
|
useAssertModelConsistency({
|
|
14
|
-
|
|
14
|
+
componentName: 'Tree View',
|
|
15
|
+
propName: 'selectedItems',
|
|
15
16
|
controlled: params.selectedItems,
|
|
16
17
|
defaultValue: params.defaultSelectedItems
|
|
17
18
|
});
|
|
@@ -203,7 +204,7 @@ export const useTreeViewSelection = ({
|
|
|
203
204
|
useTreeViewSelection.itemPlugin = useTreeViewSelectionItemPlugin;
|
|
204
205
|
const DEFAULT_SELECTED_ITEMS = [];
|
|
205
206
|
const EMPTY_SELECTION_PROPAGATION = {};
|
|
206
|
-
useTreeViewSelection.
|
|
207
|
+
useTreeViewSelection.applyDefaultValuesToParams = ({
|
|
207
208
|
params
|
|
208
209
|
}) => _extends({}, params, {
|
|
209
210
|
disableSelection: params.disableSelection ?? false,
|
|
@@ -112,7 +112,7 @@ export interface UseTreeViewSelectionParameters<Multiple extends boolean | undef
|
|
|
112
112
|
*/
|
|
113
113
|
onItemSelectionToggle?: (event: React.SyntheticEvent | null, itemId: string, isSelected: boolean) => void;
|
|
114
114
|
}
|
|
115
|
-
export type
|
|
115
|
+
export type UseTreeViewSelectionParametersWithDefaults<Multiple extends boolean> = DefaultizedProps<UseTreeViewSelectionParameters<Multiple>, 'disableSelection' | 'defaultSelectedItems' | 'multiSelect' | 'checkboxSelection' | 'selectionPropagation'>;
|
|
116
116
|
export interface UseTreeViewSelectionState {
|
|
117
117
|
selection: {
|
|
118
118
|
selectedItems: TreeViewSelectionValue<boolean>;
|
|
@@ -124,7 +124,7 @@ export interface UseTreeViewSelectionState {
|
|
|
124
124
|
}
|
|
125
125
|
export type UseTreeViewSelectionSignature = TreeViewPluginSignature<{
|
|
126
126
|
params: UseTreeViewSelectionParameters<any>;
|
|
127
|
-
|
|
127
|
+
paramsWithDefaults: UseTreeViewSelectionParametersWithDefaults<any>;
|
|
128
128
|
instance: UseTreeViewSelectionInstance;
|
|
129
129
|
publicAPI: UseTreeViewSelectionPublicAPI;
|
|
130
130
|
state: UseTreeViewSelectionState;
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import { ConvertSignaturesIntoPlugins, MergeSignaturesProperty, TreeViewAnyPluginSignature, TreeViewPluginSignature } from "../models/index.js";
|
|
2
2
|
import { UseTreeViewBaseProps } from "./useTreeView.types.js";
|
|
3
3
|
import { TreeViewCorePluginSignatures } from "../corePlugins/index.js";
|
|
4
|
+
export declare const useExtractPluginParamsFromProps: <TSignatures extends readonly TreeViewPluginSignature<any>[], TProps extends Partial<UseTreeViewBaseProps<TSignatures>>>({
|
|
5
|
+
props: {
|
|
6
|
+
apiRef,
|
|
7
|
+
...props
|
|
8
|
+
},
|
|
9
|
+
plugins
|
|
10
|
+
}: ExtractPluginParamsFromPropsParameters<TSignatures, TProps>) => ExtractPluginParamsFromPropsReturnValue<TSignatures, TProps>;
|
|
4
11
|
interface ExtractPluginParamsFromPropsParameters<TSignatures extends readonly TreeViewAnyPluginSignature[], TProps extends Partial<UseTreeViewBaseProps<TSignatures>>> {
|
|
5
12
|
plugins: ConvertSignaturesIntoPlugins<readonly [...TreeViewCorePluginSignatures, ...TSignatures]>;
|
|
6
13
|
props: TProps;
|
|
7
14
|
}
|
|
8
15
|
interface ExtractPluginParamsFromPropsReturnValue<TSignatures extends readonly TreeViewAnyPluginSignature[], TProps extends Partial<UseTreeViewBaseProps<TSignatures>>> extends UseTreeViewBaseProps<TSignatures> {
|
|
9
|
-
pluginParams: MergeSignaturesProperty<TSignatures, '
|
|
16
|
+
pluginParams: MergeSignaturesProperty<TSignatures, 'paramsWithDefaults'>;
|
|
10
17
|
forwardedProps: Omit<TProps, keyof MergeSignaturesProperty<TSignatures, 'params'>>;
|
|
11
18
|
}
|
|
12
|
-
export declare const extractPluginParamsFromProps: <TSignatures extends readonly TreeViewPluginSignature<any>[], TProps extends Partial<UseTreeViewBaseProps<TSignatures>>>({
|
|
13
|
-
props: {
|
|
14
|
-
apiRef,
|
|
15
|
-
experimentalFeatures: inExperimentalFeatures,
|
|
16
|
-
...props
|
|
17
|
-
},
|
|
18
|
-
plugins
|
|
19
|
-
}: ExtractPluginParamsFromPropsParameters<TSignatures, TProps>) => ExtractPluginParamsFromPropsReturnValue<TSignatures, TProps>;
|
|
20
19
|
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
|
+
const _excluded = ["apiRef"];
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
export const useExtractPluginParamsFromProps = _ref => {
|
|
5
|
+
let {
|
|
6
|
+
props: {
|
|
7
|
+
apiRef
|
|
8
|
+
},
|
|
9
|
+
plugins
|
|
10
|
+
} = _ref,
|
|
11
|
+
props = _objectWithoutPropertiesLoose(_ref.props, _excluded);
|
|
12
|
+
const paramsLookup = React.useMemo(() => {
|
|
13
|
+
const tempParamsLookup = {};
|
|
14
|
+
plugins.forEach(plugin => {
|
|
15
|
+
Object.assign(tempParamsLookup, plugin.params);
|
|
16
|
+
});
|
|
17
|
+
return tempParamsLookup;
|
|
18
|
+
}, [plugins]);
|
|
19
|
+
const {
|
|
20
|
+
forwardedProps,
|
|
21
|
+
pluginParams
|
|
22
|
+
} = React.useMemo(() => {
|
|
23
|
+
const tempPluginParams = {};
|
|
24
|
+
const tempForwardedProps = {};
|
|
25
|
+
Object.keys(props).forEach(propName => {
|
|
26
|
+
const prop = props[propName];
|
|
27
|
+
if (paramsLookup[propName]) {
|
|
28
|
+
tempPluginParams[propName] = prop;
|
|
29
|
+
} else {
|
|
30
|
+
tempForwardedProps[propName] = prop;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
const pluginParamsWithDefaults = plugins.reduce((acc, plugin) => {
|
|
34
|
+
if (plugin.applyDefaultValuesToParams) {
|
|
35
|
+
return plugin.applyDefaultValuesToParams({
|
|
36
|
+
params: acc
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return acc;
|
|
40
|
+
}, tempPluginParams);
|
|
41
|
+
return {
|
|
42
|
+
forwardedProps: tempForwardedProps,
|
|
43
|
+
pluginParams: pluginParamsWithDefaults
|
|
44
|
+
};
|
|
45
|
+
}, [plugins, props, paramsLookup]);
|
|
46
|
+
return {
|
|
47
|
+
forwardedProps,
|
|
48
|
+
pluginParams,
|
|
49
|
+
apiRef
|
|
50
|
+
};
|
|
51
|
+
};
|
|
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import useForkRef from '@mui/utils/useForkRef';
|
|
4
4
|
import { TREE_VIEW_CORE_PLUGINS } from "../corePlugins/index.js";
|
|
5
|
-
import {
|
|
5
|
+
import { useExtractPluginParamsFromProps } from "./useExtractPluginParamsFromProps.js";
|
|
6
6
|
import { useTreeViewBuildContext } from "./useTreeViewBuildContext.js";
|
|
7
7
|
import { TreeViewStore } from "../utils/TreeViewStore.js";
|
|
8
8
|
function initializeInputApiRef(inputApiRef) {
|
|
@@ -38,9 +38,8 @@ export const useTreeView = ({
|
|
|
38
38
|
const {
|
|
39
39
|
pluginParams,
|
|
40
40
|
forwardedProps,
|
|
41
|
-
apiRef
|
|
42
|
-
|
|
43
|
-
} = extractPluginParamsFromProps({
|
|
41
|
+
apiRef
|
|
42
|
+
} = useExtractPluginParamsFromProps({
|
|
44
43
|
plugins,
|
|
45
44
|
props
|
|
46
45
|
});
|
|
@@ -76,7 +75,6 @@ export const useTreeView = ({
|
|
|
76
75
|
const pluginResponse = plugin({
|
|
77
76
|
instance,
|
|
78
77
|
params: pluginParams,
|
|
79
|
-
experimentalFeatures,
|
|
80
78
|
rootRef: innerRootRef,
|
|
81
79
|
plugins,
|
|
82
80
|
store: storeRef.current
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { EventHandlers } from '@mui/utils/types';
|
|
3
3
|
import type { TreeViewContextValue } from "../TreeViewProvider/index.js";
|
|
4
|
-
import { TreeViewAnyPluginSignature, ConvertSignaturesIntoPlugins, TreeViewPublicAPI
|
|
4
|
+
import { TreeViewAnyPluginSignature, ConvertSignaturesIntoPlugins, TreeViewPublicAPI } from "../models/index.js";
|
|
5
5
|
export interface UseTreeViewParameters<TSignatures extends readonly TreeViewAnyPluginSignature[], TProps extends Partial<UseTreeViewBaseProps<TSignatures>>> {
|
|
6
6
|
plugins: ConvertSignaturesIntoPlugins<TSignatures>;
|
|
7
7
|
rootRef?: React.Ref<HTMLUListElement> | undefined;
|
|
@@ -9,7 +9,6 @@ export interface UseTreeViewParameters<TSignatures extends readonly TreeViewAnyP
|
|
|
9
9
|
}
|
|
10
10
|
export interface UseTreeViewBaseProps<TSignatures extends readonly TreeViewAnyPluginSignature[]> {
|
|
11
11
|
apiRef: React.RefObject<TreeViewPublicAPI<TSignatures> | undefined> | undefined;
|
|
12
|
-
experimentalFeatures: TreeViewExperimentalFeatures<TSignatures>;
|
|
13
12
|
}
|
|
14
13
|
export interface UseTreeViewRootSlotProps extends Pick<React.HTMLAttributes<HTMLUListElement>, 'onFocus' | 'onBlur' | 'onKeyDown' | 'id' | 'aria-multiselectable' | 'role' | 'tabIndex'> {
|
|
15
14
|
ref: React.Ref<HTMLUListElement>;
|
|
@@ -3,16 +3,12 @@ import { TreeViewContextValue } from "../TreeViewProvider/index.js";
|
|
|
3
3
|
import { ConvertSignaturesIntoPlugins, TreeViewAnyPluginSignature, TreeViewInstance, TreeViewPublicAPI } from "../models/index.js";
|
|
4
4
|
import { TreeViewCorePluginSignatures } from "../corePlugins/index.js";
|
|
5
5
|
import { TreeViewStore } from "../utils/TreeViewStore.js";
|
|
6
|
-
export declare const useTreeViewBuildContext: <TSignatures extends readonly TreeViewAnyPluginSignature[]>(
|
|
7
|
-
|
|
8
|
-
instance,
|
|
9
|
-
publicAPI,
|
|
10
|
-
store,
|
|
11
|
-
rootRef
|
|
12
|
-
}: {
|
|
6
|
+
export declare const useTreeViewBuildContext: <TSignatures extends readonly TreeViewAnyPluginSignature[]>(parameters: UseTreeViewBuildContextParameters<TSignatures>) => TreeViewContextValue<TSignatures>;
|
|
7
|
+
interface UseTreeViewBuildContextParameters<TSignatures extends readonly TreeViewAnyPluginSignature[]> {
|
|
13
8
|
plugins: ConvertSignaturesIntoPlugins<readonly [...TreeViewCorePluginSignatures, ...TSignatures]>;
|
|
14
9
|
instance: TreeViewInstance<TSignatures>;
|
|
15
10
|
publicAPI: TreeViewPublicAPI<TSignatures>;
|
|
16
11
|
store: TreeViewStore<TSignatures>;
|
|
17
12
|
rootRef: React.RefObject<HTMLUListElement | null>;
|
|
18
|
-
}
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export const useTreeViewBuildContext =
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
export const useTreeViewBuildContext = parameters => {
|
|
3
|
+
const {
|
|
4
|
+
plugins,
|
|
5
|
+
instance,
|
|
6
|
+
publicAPI,
|
|
7
|
+
store,
|
|
8
|
+
rootRef
|
|
9
|
+
} = parameters;
|
|
9
10
|
const runItemPlugins = React.useCallback(itemPluginProps => {
|
|
10
11
|
let finalRootRef = null;
|
|
11
12
|
let finalContentRef = null;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CleanupTracking, UnregisterToken, UnsubscribeFn } from "./CleanupTracking.js";
|
|
2
2
|
export declare class TimerBasedCleanupTracking implements CleanupTracking {
|
|
3
|
-
timeouts?: Map<number,
|
|
3
|
+
timeouts?: Map<number, number> | undefined;
|
|
4
4
|
cleanupTimeout: number;
|
|
5
5
|
constructor(timeout?: number);
|
|
6
6
|
register(object: any, unsubscribe: UnsubscribeFn, unregisterToken: UnregisterToken): void;
|
|
@@ -44,7 +44,7 @@ export const getPreviousNavigableItem = (state, itemId) => {
|
|
|
44
44
|
let lastNavigableChild = getLastNavigableItemInArray(state, selectorItemOrderedChildrenIds(state, currentItemId));
|
|
45
45
|
while (selectorIsItemExpanded(state, currentItemId) && lastNavigableChild != null) {
|
|
46
46
|
currentItemId = lastNavigableChild;
|
|
47
|
-
lastNavigableChild =
|
|
47
|
+
lastNavigableChild = getLastNavigableItemInArray(state, selectorItemOrderedChildrenIds(state, currentItemId));
|
|
48
48
|
}
|
|
49
49
|
return currentItemId;
|
|
50
50
|
};
|
package/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { useTreeViewId } from "./useTreeViewId.js";
|
|
2
|
-
export type { UseTreeViewIdSignature, UseTreeViewIdParameters,
|
|
2
|
+
export type { UseTreeViewIdSignature, UseTreeViewIdParameters, UseTreeViewIdParametersWithDefaults } from "./useTreeViewId.types.js";
|
|
@@ -6,7 +6,7 @@ export interface UseTreeViewIdParameters {
|
|
|
6
6
|
*/
|
|
7
7
|
id?: string;
|
|
8
8
|
}
|
|
9
|
-
export type
|
|
9
|
+
export type UseTreeViewIdParametersWithDefaults = UseTreeViewIdParameters;
|
|
10
10
|
export interface UseTreeViewIdState {
|
|
11
11
|
id: {
|
|
12
12
|
treeId: string | undefined;
|
|
@@ -15,6 +15,6 @@ export interface UseTreeViewIdState {
|
|
|
15
15
|
}
|
|
16
16
|
export type UseTreeViewIdSignature = TreeViewPluginSignature<{
|
|
17
17
|
params: UseTreeViewIdParameters;
|
|
18
|
-
|
|
18
|
+
paramsWithDefaults: UseTreeViewIdParametersWithDefaults;
|
|
19
19
|
state: UseTreeViewIdState;
|
|
20
20
|
}>;
|
package/internals/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export { RichTreeViewItems } from "./components/RichTreeViewItems.js";
|
|
|
4
4
|
export type { RichTreeViewItemsSlots, RichTreeViewItemsSlotProps } from "./components/RichTreeViewItems.js";
|
|
5
5
|
export { unstable_resetCleanupTracking, useInstanceEventHandler } from "./hooks/useInstanceEventHandler.js";
|
|
6
6
|
export { useSelector } from "./hooks/useSelector.js";
|
|
7
|
-
export type { TreeViewPlugin, TreeViewPluginSignature, ConvertPluginsIntoSignatures, MergeSignaturesProperty, TreeViewPublicAPI, TreeViewState,
|
|
7
|
+
export type { TreeViewPlugin, TreeViewPluginSignature, ConvertPluginsIntoSignatures, MergeSignaturesProperty, TreeViewPublicAPI, TreeViewState, TreeViewItemMeta, TreeViewInstance, TreeViewItemPlugin, TreeViewUsedStore } from "./models/index.js";
|
|
8
8
|
export type { TreeViewCorePluginParameters } from "./corePlugins/index.js";
|
|
9
9
|
export { useTreeViewExpansion } from "./plugins/useTreeViewExpansion/index.js";
|
|
10
10
|
export type { UseTreeViewExpansionSignature, UseTreeViewExpansionParameters } from "./plugins/useTreeViewExpansion/index.js";
|
|
@@ -18,7 +18,7 @@ export { useTreeViewItems, buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from
|
|
|
18
18
|
export { selectorItemMetaLookup, selectorItemMeta, selectorItemIndex, selectorItemOrderedChildrenIds } from "./plugins/useTreeViewItems/useTreeViewItems.selectors.js";
|
|
19
19
|
export type { UseTreeViewItemsSignature, UseTreeViewItemsParameters, UseTreeViewItemsState } from "./plugins/useTreeViewItems/index.js";
|
|
20
20
|
export { useTreeViewLabel } from "./plugins/useTreeViewLabel/index.js";
|
|
21
|
-
export { selectorIsItemBeingEdited, selectorIsAnyItemBeingEdited
|
|
21
|
+
export { selectorIsItemBeingEdited, selectorIsAnyItemBeingEdited } from "./plugins/useTreeViewLabel/useTreeViewLabel.selectors.js";
|
|
22
22
|
export type { UseTreeViewLabelSignature, UseTreeViewLabelParameters } from "./plugins/useTreeViewLabel/index.js";
|
|
23
23
|
export { selectorIsItemExpanded } from "./plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js";
|
|
24
24
|
export { selectorIsItemSelected } from "./plugins/useTreeViewSelection/useTreeViewSelection.selectors.js";
|
package/internals/index.js
CHANGED
|
@@ -57,7 +57,7 @@ Object.defineProperty(exports, "selectorGetTreeItemError", {
|
|
|
57
57
|
return _useTreeViewLazyLoading.selectorGetTreeItemError;
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
|
-
Object.defineProperty(exports, "
|
|
60
|
+
Object.defineProperty(exports, "selectorIsAnyItemBeingEdited", {
|
|
61
61
|
enumerable: true,
|
|
62
62
|
get: function () {
|
|
63
63
|
return _useTreeViewLabel2.selectorIsAnyItemBeingEdited;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { EventHandlers } from '@mui/utils/types';
|
|
3
|
-
import {
|
|
3
|
+
import { TreeViewInstance } from "./treeView.js";
|
|
4
4
|
import type { MergeSignaturesProperty, OptionalIfEmpty } from "./helpers.js";
|
|
5
5
|
import { TreeViewEventLookupElement } from "./events.js";
|
|
6
6
|
import type { TreeViewCorePluginSignatures } from "../corePlugins/index.js";
|
|
@@ -15,8 +15,7 @@ export interface TreeViewPluginOptions<TSignature extends TreeViewAnyPluginSigna
|
|
|
15
15
|
/**
|
|
16
16
|
* The Tree View parameters after being processed with the default values.
|
|
17
17
|
*/
|
|
18
|
-
params:
|
|
19
|
-
experimentalFeatures: TreeViewUsedExperimentalFeatures<TSignature>;
|
|
18
|
+
params: TreeViewUsedParamsWithDefaults<TSignature>;
|
|
20
19
|
/**
|
|
21
20
|
* The store that can be used to access the state of other plugins.
|
|
22
21
|
*/
|
|
@@ -35,12 +34,11 @@ type TreeViewResponse<TSignature extends TreeViewAnyPluginSignature> = {
|
|
|
35
34
|
} & OptionalIfEmpty<'publicAPI', TSignature['publicAPI']> & OptionalIfEmpty<'instance', TSignature['instance']>;
|
|
36
35
|
export type TreeViewPluginSignature<T extends {
|
|
37
36
|
params?: {};
|
|
38
|
-
|
|
37
|
+
paramsWithDefaults?: {};
|
|
39
38
|
instance?: {};
|
|
40
39
|
publicAPI?: {};
|
|
41
40
|
events?: { [key in keyof T['events']]: TreeViewEventLookupElement };
|
|
42
41
|
state?: {};
|
|
43
|
-
experimentalFeatures?: string;
|
|
44
42
|
dependencies?: readonly TreeViewAnyPluginSignature[];
|
|
45
43
|
optionalDependencies?: readonly TreeViewAnyPluginSignature[];
|
|
46
44
|
}> = {
|
|
@@ -53,9 +51,9 @@ export type TreeViewPluginSignature<T extends {
|
|
|
53
51
|
/**
|
|
54
52
|
* The params after being processed with the default values.
|
|
55
53
|
*/
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
} ? T['
|
|
54
|
+
paramsWithDefaults: T extends {
|
|
55
|
+
paramsWithDefaults: {};
|
|
56
|
+
} ? T['paramsWithDefaults'] : {};
|
|
59
57
|
/**
|
|
60
58
|
* An imperative api available for internal use.
|
|
61
59
|
*/
|
|
@@ -78,9 +76,6 @@ export type TreeViewPluginSignature<T extends {
|
|
|
78
76
|
state: T extends {
|
|
79
77
|
state: {};
|
|
80
78
|
} ? T['state'] : {};
|
|
81
|
-
experimentalFeatures: T extends {
|
|
82
|
-
experimentalFeatures: string;
|
|
83
|
-
} ? { [key in T['experimentalFeatures']]?: boolean } : {};
|
|
84
79
|
/**
|
|
85
80
|
* Any plugins that this plugin depends on.
|
|
86
81
|
*/
|
|
@@ -98,17 +93,16 @@ export type TreeViewAnyPluginSignature = {
|
|
|
98
93
|
state: any;
|
|
99
94
|
instance: any;
|
|
100
95
|
params: any;
|
|
101
|
-
|
|
96
|
+
paramsWithDefaults: any;
|
|
102
97
|
dependencies: any;
|
|
103
98
|
optionalDependencies: any;
|
|
104
99
|
events: any;
|
|
105
|
-
experimentalFeatures: any;
|
|
106
100
|
publicAPI: any;
|
|
107
101
|
};
|
|
108
102
|
type TreeViewRequiredPlugins<TSignature extends TreeViewAnyPluginSignature> = [...TreeViewCorePluginSignatures, ...TSignature['dependencies']];
|
|
109
103
|
type PluginPropertyWithDependencies<TSignature extends TreeViewAnyPluginSignature, TProperty extends keyof TreeViewAnyPluginSignature> = TSignature[TProperty] & MergeSignaturesProperty<TreeViewRequiredPlugins<TSignature>, TProperty> & Partial<MergeSignaturesProperty<TSignature['optionalDependencies'], TProperty>>;
|
|
110
104
|
export type TreeViewUsedParams<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'params'>;
|
|
111
|
-
export type
|
|
105
|
+
export type TreeViewUsedParamsWithDefaults<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'paramsWithDefaults'>;
|
|
112
106
|
export type TreeViewUsedInstance<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'instance'> & {
|
|
113
107
|
/**
|
|
114
108
|
* Private property only defined in TypeScript to be able to access the plugin signature from the instance object.
|
|
@@ -116,7 +110,6 @@ export type TreeViewUsedInstance<TSignature extends TreeViewAnyPluginSignature>
|
|
|
116
110
|
$$signature: TSignature;
|
|
117
111
|
};
|
|
118
112
|
export type TreeViewUsedStore<TSignature extends TreeViewAnyPluginSignature> = TreeViewStore<[TSignature, ...TSignature['dependencies']]>;
|
|
119
|
-
type TreeViewUsedExperimentalFeatures<TSignature extends TreeViewAnyPluginSignature> = TreeViewExperimentalFeatures<[TSignature, ...TSignature['dependencies']], TSignature['optionalDependencies']>;
|
|
120
113
|
export type TreeViewUsedEvents<TSignature extends TreeViewAnyPluginSignature> = TSignature['events'] & MergeSignaturesProperty<TreeViewRequiredPlugins<TSignature>, 'events'>;
|
|
121
114
|
export type TreeItemWrapper<TSignatures extends readonly TreeViewAnyPluginSignature[]> = (params: {
|
|
122
115
|
itemId: TreeViewItemId;
|
|
@@ -139,22 +132,20 @@ export type TreeViewPlugin<TSignature extends TreeViewAnyPluginSignature> = {
|
|
|
139
132
|
*
|
|
140
133
|
* @param {TreeViewUsedParams<TSignature>} options The options object.
|
|
141
134
|
* @param {TreeViewUsedParams<TSignature>['params']} options.params The parameters before being processed with the default values.
|
|
142
|
-
* @
|
|
143
|
-
* @returns {TSignature['defaultizedParams']} The parameters after being processed with the default values.
|
|
135
|
+
* @returns {TSignature['paramsWithDefaults']} The parameters after being processed with the default values.
|
|
144
136
|
*/
|
|
145
|
-
|
|
137
|
+
applyDefaultValuesToParams?: (options: {
|
|
146
138
|
params: TreeViewUsedParams<TSignature>;
|
|
147
|
-
|
|
148
|
-
}) => TSignature['defaultizedParams'];
|
|
139
|
+
}) => TSignature['paramsWithDefaults'];
|
|
149
140
|
/**
|
|
150
141
|
* The initial state is computed after the default values are applied.
|
|
151
142
|
* It sets up the state for the first render.
|
|
152
143
|
* Other state modifications have to be done in effects and so could not be applied on the initial render.
|
|
153
144
|
*
|
|
154
|
-
* @param {
|
|
145
|
+
* @param {TreeViewUsedParamsWithDefaults<TSignature>} params The parameters after being processed with the default values.
|
|
155
146
|
* @returns {TSignature['state']} The initial state of the plugin.
|
|
156
147
|
*/
|
|
157
|
-
getInitialState?: (params:
|
|
148
|
+
getInitialState?: (params: TreeViewUsedParamsWithDefaults<TSignature>) => TSignature['state'];
|
|
158
149
|
/**
|
|
159
150
|
* An object where each property used by the plugin is set to `true`.
|
|
160
151
|
*/
|
|
@@ -18,7 +18,6 @@ export interface TreeViewItemMeta {
|
|
|
18
18
|
}
|
|
19
19
|
export type TreeViewInstance<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'instance'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'instance'>>;
|
|
20
20
|
export type TreeViewPublicAPI<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'publicAPI'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'instance'>>;
|
|
21
|
-
export type TreeViewExperimentalFeatures<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TSignatures, ...TOptionalSignatures], 'experimentalFeatures'>;
|
|
22
21
|
export type TreeViewStateCacheKey = {
|
|
23
22
|
id: number;
|
|
24
23
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { useTreeViewExpansion } from "./useTreeViewExpansion.js";
|
|
2
|
-
export type { UseTreeViewExpansionSignature, UseTreeViewExpansionParameters,
|
|
2
|
+
export type { UseTreeViewExpansionSignature, UseTreeViewExpansionParameters, UseTreeViewExpansionParametersWithDefaults } from "./useTreeViewExpansion.types.js";
|
|
@@ -6,20 +6,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.useTreeViewExpansion = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _useAssertModelConsistency = require("@mui/x-internals/useAssertModelConsistency");
|
|
9
10
|
var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
|
|
10
11
|
var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
|
|
11
12
|
var _useTreeViewExpansion = require("./useTreeViewExpansion.selectors");
|
|
12
13
|
var _useTreeViewExpansion2 = require("./useTreeViewExpansion.utils");
|
|
13
14
|
var _useTreeViewItems = require("../useTreeViewItems/useTreeViewItems.selectors");
|
|
14
15
|
var _publishTreeViewEvent = require("../../utils/publishTreeViewEvent");
|
|
15
|
-
var _models = require("../../utils/models");
|
|
16
16
|
const useTreeViewExpansion = ({
|
|
17
17
|
instance,
|
|
18
18
|
store,
|
|
19
19
|
params
|
|
20
20
|
}) => {
|
|
21
|
-
(0,
|
|
22
|
-
|
|
21
|
+
(0, _useAssertModelConsistency.useAssertModelConsistency)({
|
|
22
|
+
componentName: 'Tree View',
|
|
23
|
+
propName: 'expandedItems',
|
|
23
24
|
controlled: params.expandedItems,
|
|
24
25
|
defaultValue: params.defaultExpandedItems
|
|
25
26
|
});
|
|
@@ -136,7 +137,7 @@ const useTreeViewExpansion = ({
|
|
|
136
137
|
};
|
|
137
138
|
exports.useTreeViewExpansion = useTreeViewExpansion;
|
|
138
139
|
const DEFAULT_EXPANDED_ITEMS = [];
|
|
139
|
-
useTreeViewExpansion.
|
|
140
|
+
useTreeViewExpansion.applyDefaultValuesToParams = ({
|
|
140
141
|
params
|
|
141
142
|
}) => (0, _extends2.default)({}, params, {
|
|
142
143
|
defaultExpandedItems: params.defaultExpandedItems ?? DEFAULT_EXPANDED_ITEMS
|
|
@@ -71,7 +71,7 @@ export interface UseTreeViewExpansionParameters {
|
|
|
71
71
|
*/
|
|
72
72
|
expansionTrigger?: 'content' | 'iconContainer';
|
|
73
73
|
}
|
|
74
|
-
export type
|
|
74
|
+
export type UseTreeViewExpansionParametersWithDefaults = DefaultizedProps<UseTreeViewExpansionParameters, 'defaultExpandedItems'>;
|
|
75
75
|
export interface UseTreeViewExpansionState {
|
|
76
76
|
expansion: {
|
|
77
77
|
expandedItems: string[];
|
|
@@ -90,7 +90,7 @@ interface UseTreeViewExpansionEventLookup {
|
|
|
90
90
|
}
|
|
91
91
|
export type UseTreeViewExpansionSignature = TreeViewPluginSignature<{
|
|
92
92
|
params: UseTreeViewExpansionParameters;
|
|
93
|
-
|
|
93
|
+
paramsWithDefaults: UseTreeViewExpansionParametersWithDefaults;
|
|
94
94
|
instance: UseTreeViewExpansionInstance;
|
|
95
95
|
publicAPI: UseTreeViewExpansionPublicAPI;
|
|
96
96
|
modelNames: 'expandedItems';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TreeViewUsedParamsWithDefaults } from "../../models/index.js";
|
|
2
2
|
import { UseTreeViewExpansionSignature } from "./useTreeViewExpansion.types.js";
|
|
3
3
|
export declare const getExpansionTrigger: ({
|
|
4
4
|
isItemEditable,
|
|
5
5
|
expansionTrigger
|
|
6
|
-
}: Pick<
|
|
6
|
+
}: Pick<TreeViewUsedParamsWithDefaults<UseTreeViewExpansionSignature>, "isItemEditable" | "expansionTrigger">) => "content" | "iconContainer";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { useTreeViewFocus } from "./useTreeViewFocus.js";
|
|
2
|
-
export type { UseTreeViewFocusSignature, UseTreeViewFocusParameters,
|
|
2
|
+
export type { UseTreeViewFocusSignature, UseTreeViewFocusParameters, UseTreeViewFocusParametersWithDefaults } from "./useTreeViewFocus.types.js";
|
|
@@ -28,7 +28,7 @@ export interface UseTreeViewFocusParameters {
|
|
|
28
28
|
*/
|
|
29
29
|
onItemFocus?: (event: React.SyntheticEvent | null, itemId: string) => void;
|
|
30
30
|
}
|
|
31
|
-
export type
|
|
31
|
+
export type UseTreeViewFocusParametersWithDefaults = UseTreeViewFocusParameters;
|
|
32
32
|
export interface UseTreeViewFocusState {
|
|
33
33
|
focus: {
|
|
34
34
|
focusedItemId: string | null;
|
|
@@ -36,7 +36,7 @@ export interface UseTreeViewFocusState {
|
|
|
36
36
|
}
|
|
37
37
|
export type UseTreeViewFocusSignature = TreeViewPluginSignature<{
|
|
38
38
|
params: UseTreeViewFocusParameters;
|
|
39
|
-
|
|
39
|
+
paramsWithDefaults: UseTreeViewFocusParametersWithDefaults;
|
|
40
40
|
instance: UseTreeViewFocusInstance;
|
|
41
41
|
publicAPI: UseTreeViewFocusPublicAPI;
|
|
42
42
|
state: UseTreeViewFocusState;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { useTreeViewItems } from "./useTreeViewItems.js";
|
|
2
|
-
export type { UseTreeViewItemsSignature, UseTreeViewItemsParameters,
|
|
2
|
+
export type { UseTreeViewItemsSignature, UseTreeViewItemsParameters, UseTreeViewItemsParametersWithDefaults, UseTreeViewItemsState } from "./useTreeViewItems.types.js";
|
|
3
3
|
export { buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from "./useTreeViewItems.utils.js";
|
|
@@ -309,7 +309,7 @@ useTreeViewItems.getInitialState = params => ({
|
|
|
309
309
|
error: null
|
|
310
310
|
})
|
|
311
311
|
});
|
|
312
|
-
useTreeViewItems.
|
|
312
|
+
useTreeViewItems.applyDefaultValuesToParams = ({
|
|
313
313
|
params
|
|
314
314
|
}) => (0, _extends2.default)({}, params, {
|
|
315
315
|
disabledItemsFocusable: params.disabledItemsFocusable ?? false,
|
|
@@ -137,7 +137,7 @@ export interface UseTreeViewItemsParameters<R extends {
|
|
|
137
137
|
*/
|
|
138
138
|
itemChildrenIndentation?: string | number;
|
|
139
139
|
}
|
|
140
|
-
export type
|
|
140
|
+
export type UseTreeViewItemsParametersWithDefaults<R extends {
|
|
141
141
|
children?: R[];
|
|
142
142
|
}> = DefaultizedProps<UseTreeViewItemsParameters<R>, 'disabledItemsFocusable' | 'itemChildrenIndentation'>;
|
|
143
143
|
interface UseTreeViewItemsEventLookup {
|
|
@@ -196,7 +196,7 @@ export interface UseTreeViewItemsState<R extends {}> {
|
|
|
196
196
|
}
|
|
197
197
|
export type UseTreeViewItemsSignature = TreeViewPluginSignature<{
|
|
198
198
|
params: UseTreeViewItemsParameters<any>;
|
|
199
|
-
|
|
199
|
+
paramsWithDefaults: UseTreeViewItemsParametersWithDefaults<any>;
|
|
200
200
|
instance: UseTreeViewItemsInstance<any>;
|
|
201
201
|
publicAPI: UseTreeViewItemsPublicAPI<any>;
|
|
202
202
|
events: UseTreeViewItemsEventLookup;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { useTreeViewJSXItems } from "./useTreeViewJSXItems.js";
|
|
2
|
-
export type { UseTreeViewJSXItemsSignature, UseTreeViewJSXItemsParameters,
|
|
2
|
+
export type { UseTreeViewJSXItemsSignature, UseTreeViewJSXItemsParameters, UseTreeViewItemsParametersWithDefaults } from "./useTreeViewJSXItems.types.js";
|
|
@@ -26,10 +26,10 @@ export interface UseTreeViewItemsInstance {
|
|
|
26
26
|
setJSXItemsOrderedChildrenIds: (parentId: TreeViewItemId | null, orderedChildrenIds: TreeViewItemId[]) => void;
|
|
27
27
|
}
|
|
28
28
|
export interface UseTreeViewJSXItemsParameters {}
|
|
29
|
-
export interface
|
|
29
|
+
export interface UseTreeViewItemsParametersWithDefaults {}
|
|
30
30
|
export type UseTreeViewJSXItemsSignature = TreeViewPluginSignature<{
|
|
31
31
|
params: UseTreeViewJSXItemsParameters;
|
|
32
|
-
|
|
32
|
+
paramsWithDefaults: UseTreeViewItemsParametersWithDefaults;
|
|
33
33
|
instance: UseTreeViewItemsInstance;
|
|
34
34
|
dependencies: [UseTreeViewItemsSignature, UseTreeViewKeyboardNavigationSignature];
|
|
35
35
|
}>;
|
|
@@ -61,7 +61,7 @@ const useTreeViewLabel = ({
|
|
|
61
61
|
};
|
|
62
62
|
exports.useTreeViewLabel = useTreeViewLabel;
|
|
63
63
|
useTreeViewLabel.itemPlugin = _useTreeViewLabel.useTreeViewLabelItemPlugin;
|
|
64
|
-
useTreeViewLabel.
|
|
64
|
+
useTreeViewLabel.applyDefaultValuesToParams = ({
|
|
65
65
|
params
|
|
66
66
|
}) => (0, _extends2.default)({}, params, {
|
|
67
67
|
isItemEditable: params.isItemEditable ?? false
|
|
@@ -35,7 +35,7 @@ export interface UseTreeViewLabelParameters<R extends {}> {
|
|
|
35
35
|
*/
|
|
36
36
|
isItemEditable?: boolean | ((item: R) => boolean);
|
|
37
37
|
}
|
|
38
|
-
export type
|
|
38
|
+
export type UseTreeViewLabelParametersWithDefaults<R extends {}> = DefaultizedProps<UseTreeViewLabelParameters<R>, 'isItemEditable'>;
|
|
39
39
|
export interface UseTreeViewLabelState {
|
|
40
40
|
label: {
|
|
41
41
|
isItemEditable: ((item: any) => boolean) | boolean;
|
|
@@ -44,7 +44,7 @@ export interface UseTreeViewLabelState {
|
|
|
44
44
|
}
|
|
45
45
|
export type UseTreeViewLabelSignature = TreeViewPluginSignature<{
|
|
46
46
|
params: UseTreeViewLabelParameters<any>;
|
|
47
|
-
|
|
47
|
+
paramsWithDefaults: UseTreeViewLabelParametersWithDefaults<any>;
|
|
48
48
|
publicAPI: UseTreeViewLabelPublicAPI;
|
|
49
49
|
instance: UseTreeViewLabelInstance;
|
|
50
50
|
state: UseTreeViewLabelState;
|