@mui/x-tree-view 9.12.0 → 9.13.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.
Files changed (108) hide show
  1. package/CHANGELOG.md +152 -0
  2. package/RichTreeView/RichTreeView.js +30 -25
  3. package/RichTreeView/RichTreeView.mjs +30 -25
  4. package/RichTreeView/RichTreeView.types.d.mts +27 -1
  5. package/RichTreeView/RichTreeView.types.d.ts +27 -1
  6. package/RichTreeView/richTreeViewClasses.d.mts +4 -1
  7. package/RichTreeView/richTreeViewClasses.d.ts +4 -1
  8. package/RichTreeView/richTreeViewClasses.js +1 -1
  9. package/RichTreeView/richTreeViewClasses.mjs +1 -1
  10. package/RichTreeView/useExtractRichTreeViewParameters.d.mts +1 -0
  11. package/RichTreeView/useExtractRichTreeViewParameters.d.ts +1 -0
  12. package/RichTreeView/useExtractRichTreeViewParameters.js +6 -3
  13. package/RichTreeView/useExtractRichTreeViewParameters.mjs +6 -3
  14. package/SimpleTreeView/simpleTreeViewClasses.d.mts +1 -1
  15. package/SimpleTreeView/simpleTreeViewClasses.d.ts +1 -1
  16. package/TreeItem/TreeItem.js +2 -1
  17. package/TreeItem/TreeItem.mjs +2 -1
  18. package/TreeItemLoader/TreeItemLoader.d.mts +20 -0
  19. package/TreeItemLoader/TreeItemLoader.d.ts +20 -0
  20. package/TreeItemLoader/TreeItemLoader.js +152 -0
  21. package/TreeItemLoader/TreeItemLoader.mjs +146 -0
  22. package/TreeItemLoader/TreeItemLoader.types.d.mts +36 -0
  23. package/TreeItemLoader/TreeItemLoader.types.d.ts +36 -0
  24. package/TreeItemLoader/TreeItemLoader.types.js +5 -0
  25. package/TreeItemLoader/TreeItemLoader.types.mjs +1 -0
  26. package/TreeItemLoader/TreeItemLoaderContext.d.mts +24 -0
  27. package/TreeItemLoader/TreeItemLoaderContext.d.ts +24 -0
  28. package/TreeItemLoader/TreeItemLoaderContext.js +22 -0
  29. package/TreeItemLoader/TreeItemLoaderContext.mjs +16 -0
  30. package/TreeItemLoader/index.d.mts +3 -0
  31. package/TreeItemLoader/index.d.ts +3 -0
  32. package/TreeItemLoader/index.js +34 -0
  33. package/TreeItemLoader/index.mjs +2 -0
  34. package/TreeItemLoader/treeItemLoaderClasses.d.mts +13 -0
  35. package/TreeItemLoader/treeItemLoaderClasses.d.ts +13 -0
  36. package/TreeItemLoader/treeItemLoaderClasses.js +14 -0
  37. package/TreeItemLoader/treeItemLoaderClasses.mjs +6 -0
  38. package/index.d.mts +1 -0
  39. package/index.d.ts +1 -0
  40. package/index.js +12 -1
  41. package/index.mjs +2 -1
  42. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.js +2 -2
  43. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.mjs +3 -3
  44. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.mts +4 -0
  45. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.ts +4 -0
  46. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.mts +1 -2
  47. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.ts +1 -2
  48. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.js +2 -9
  49. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.mjs +2 -7
  50. package/internals/TreeViewProvider/TreeViewProvider.js +7 -3
  51. package/internals/TreeViewProvider/TreeViewProvider.mjs +7 -3
  52. package/internals/TreeViewProvider/TreeViewProvider.types.d.mts +3 -3
  53. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +3 -3
  54. package/internals/TreeViewProvider/TreeViewStyleContext.d.mts +30 -2
  55. package/internals/TreeViewProvider/TreeViewStyleContext.d.ts +30 -2
  56. package/internals/TreeViewProvider/TreeViewStyleContext.js +12 -0
  57. package/internals/TreeViewProvider/TreeViewStyleContext.mjs +13 -0
  58. package/internals/components/RichTreeViewItems.js +59 -2
  59. package/internals/components/RichTreeViewItems.mjs +59 -2
  60. package/internals/components/RichTreeViewLoading.d.mts +97 -0
  61. package/internals/components/RichTreeViewLoading.d.ts +97 -0
  62. package/internals/components/RichTreeViewLoading.js +171 -0
  63. package/internals/components/RichTreeViewLoading.mjs +160 -0
  64. package/internals/constants.d.mts +6 -0
  65. package/internals/constants.d.ts +6 -0
  66. package/internals/constants.js +12 -0
  67. package/internals/constants.mjs +6 -0
  68. package/internals/hooks/useTreeViewStore.d.mts +1 -1
  69. package/internals/hooks/useTreeViewStore.d.ts +1 -1
  70. package/internals/hooks/useTreeViewStore.js +7 -3
  71. package/internals/hooks/useTreeViewStore.mjs +7 -3
  72. package/internals/index.d.mts +2 -0
  73. package/internals/index.d.ts +2 -0
  74. package/internals/index.js +13 -0
  75. package/internals/index.mjs +1 -0
  76. package/internals/plugins/expansion/selectors.d.mts +3 -2
  77. package/internals/plugins/expansion/selectors.d.ts +3 -2
  78. package/internals/plugins/expansion/selectors.js +4 -4
  79. package/internals/plugins/expansion/selectors.mjs +5 -5
  80. package/internals/plugins/focus/selectors.d.mts +3 -2
  81. package/internals/plugins/focus/selectors.d.ts +3 -2
  82. package/internals/plugins/focus/selectors.js +3 -3
  83. package/internals/plugins/focus/selectors.mjs +4 -4
  84. package/internals/plugins/id/selectors.d.mts +6 -3
  85. package/internals/plugins/id/selectors.d.ts +6 -3
  86. package/internals/plugins/id/selectors.js +4 -5
  87. package/internals/plugins/id/selectors.mjs +4 -5
  88. package/internals/plugins/items/selectors.d.mts +9 -8
  89. package/internals/plugins/items/selectors.d.ts +9 -8
  90. package/internals/plugins/items/selectors.js +15 -16
  91. package/internals/plugins/items/selectors.mjs +15 -16
  92. package/internals/plugins/labelEditing/selectors.d.mts +3 -2
  93. package/internals/plugins/labelEditing/selectors.d.ts +3 -2
  94. package/internals/plugins/labelEditing/selectors.js +6 -5
  95. package/internals/plugins/labelEditing/selectors.mjs +6 -5
  96. package/internals/plugins/lazyLoading/selectors.d.mts +9 -3
  97. package/internals/plugins/lazyLoading/selectors.d.ts +9 -3
  98. package/internals/plugins/lazyLoading/selectors.js +10 -6
  99. package/internals/plugins/lazyLoading/selectors.mjs +10 -6
  100. package/internals/plugins/lazyLoading/types.d.mts +5 -1
  101. package/internals/plugins/lazyLoading/types.d.ts +5 -1
  102. package/internals/plugins/selection/selectors.d.mts +15 -9
  103. package/internals/plugins/selection/selectors.d.ts +15 -9
  104. package/internals/plugins/selection/selectors.js +12 -12
  105. package/internals/plugins/selection/selectors.mjs +13 -13
  106. package/package.json +19 -7
  107. package/useTreeItem/useTreeItem.js +3 -3
  108. package/useTreeItem/useTreeItem.mjs +3 -3
@@ -27,6 +27,12 @@ Object.defineProperty(exports, "RichTreeViewItems", {
27
27
  return _RichTreeViewItems.RichTreeViewItems;
28
28
  }
29
29
  });
30
+ Object.defineProperty(exports, "RichTreeViewLoading", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _RichTreeViewLoading.RichTreeViewLoading;
34
+ }
35
+ });
30
36
  Object.defineProperty(exports, "TREE_VIEW_ROOT_PARENT_ID", {
31
37
  enumerable: true,
32
38
  get: function () {
@@ -57,6 +63,12 @@ Object.defineProperty(exports, "expansionSelectors", {
57
63
  return _expansion.expansionSelectors;
58
64
  }
59
65
  });
66
+ Object.defineProperty(exports, "getLoadingItemsCount", {
67
+ enumerable: true,
68
+ get: function () {
69
+ return _RichTreeViewLoading.getLoadingItemsCount;
70
+ }
71
+ });
60
72
  Object.defineProperty(exports, "isTargetInDescendants", {
61
73
  enumerable: true,
62
74
  get: function () {
@@ -113,6 +125,7 @@ Object.defineProperty(exports, "useTreeViewStyleContext", {
113
125
  });
114
126
  var _TreeViewProvider = require("./TreeViewProvider");
115
127
  var _RichTreeViewItems = require("./components/RichTreeViewItems");
128
+ var _RichTreeViewLoading = require("./components/RichTreeViewLoading");
116
129
  var _useTreeViewRootProps = require("./hooks/useTreeViewRootProps");
117
130
  var _useTreeViewStore = require("./hooks/useTreeViewStore");
118
131
  var _expansion = require("./plugins/expansion");
@@ -1,5 +1,6 @@
1
1
  export { TreeViewProvider, useTreeViewContext, useTreeViewStyleContext } from "./TreeViewProvider/index.mjs";
2
2
  export { RichTreeViewItems, RichTreeViewItem } from "./components/RichTreeViewItems.mjs";
3
+ export { RichTreeViewLoading, getLoadingItemsCount } from "./components/RichTreeViewLoading.mjs";
3
4
  export { useTreeViewRootProps } from "./hooks/useTreeViewRootProps.mjs";
4
5
  export { useTreeViewStore } from "./hooks/useTreeViewStore.mjs";
5
6
  // Plugins
@@ -1,3 +1,4 @@
1
+ import type { TreeViewItemId } from "../../../models/index.mjs";
1
2
  import type { MinimalTreeViewState } from "../../MinimalTreeViewStore/index.mjs";
2
3
  export declare const expansionSelectors: {
3
4
  /**
@@ -19,9 +20,9 @@ export declare const expansionSelectors: {
19
20
  /**
20
21
  * Checks whether an item is expanded.
21
22
  */
22
- isItemExpanded: (args_0: MinimalTreeViewState<any, any>, itemId: string) => boolean;
23
+ isItemExpanded: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => boolean;
23
24
  /**
24
25
  * Checks whether an item is expandable.
25
26
  */
26
- isItemExpandable: (args_0: MinimalTreeViewState<any, any>, _itemId: string) => boolean;
27
+ isItemExpandable: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => boolean;
27
28
  };
@@ -1,3 +1,4 @@
1
+ import type { TreeViewItemId } from "../../../models/index.js";
1
2
  import type { MinimalTreeViewState } from "../../MinimalTreeViewStore/index.js";
2
3
  export declare const expansionSelectors: {
3
4
  /**
@@ -19,9 +20,9 @@ export declare const expansionSelectors: {
19
20
  /**
20
21
  * Checks whether an item is expanded.
21
22
  */
22
- isItemExpanded: (args_0: MinimalTreeViewState<any, any>, itemId: string) => boolean;
23
+ isItemExpanded: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => boolean;
23
24
  /**
24
25
  * Checks whether an item is expandable.
25
26
  */
26
- isItemExpandable: (args_0: MinimalTreeViewState<any, any>, _itemId: string) => boolean;
27
+ isItemExpandable: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => boolean;
27
28
  };
@@ -18,7 +18,7 @@ const expansionSelectors = exports.expansionSelectors = {
18
18
  /**
19
19
  * Gets the expanded items as provided to the component.
20
20
  */
21
- expandedItemsRaw: (0, _store.createSelector)(state => state.expandedItems),
21
+ expandedItemsRaw: state => state.expandedItems,
22
22
  /**
23
23
  * Gets the expanded items as a Map.
24
24
  */
@@ -43,13 +43,13 @@ const expansionSelectors = exports.expansionSelectors = {
43
43
  /**
44
44
  * Gets the slot that triggers the item's expansion when clicked.
45
45
  */
46
- triggerSlot: (0, _store.createSelector)(state => state.expansionTrigger),
46
+ triggerSlot: state => state.expansionTrigger,
47
47
  /**
48
48
  * Checks whether an item is expanded.
49
49
  */
50
- isItemExpanded: (0, _store.createSelector)(expandedItemMapSelector, (expandedItemsMap, itemId) => expandedItemsMap.has(itemId)),
50
+ isItemExpanded: (state, itemId) => expandedItemMapSelector(state).has(itemId),
51
51
  /**
52
52
  * Checks whether an item is expandable.
53
53
  */
54
- isItemExpandable: (0, _store.createSelector)(_selectors.itemsSelectors.itemMeta, (itemMeta, _itemId) => itemMeta?.expandable ?? false)
54
+ isItemExpandable: (state, itemId) => _selectors.itemsSelectors.itemMeta(state, itemId)?.expandable ?? false
55
55
  };
@@ -1,4 +1,4 @@
1
- import { createSelector, createSelectorMemoized } from '@mui/x-internals/store';
1
+ import { createSelectorMemoized } from '@mui/x-internals/store';
2
2
  import { itemsSelectors } from "../items/selectors.mjs";
3
3
  import { TREE_VIEW_ROOT_PARENT_ID } from "../items/index.mjs";
4
4
  const expandedItemMapSelector = createSelectorMemoized(state => state.expandedItems, expandedItems => {
@@ -12,7 +12,7 @@ export const expansionSelectors = {
12
12
  /**
13
13
  * Gets the expanded items as provided to the component.
14
14
  */
15
- expandedItemsRaw: createSelector(state => state.expandedItems),
15
+ expandedItemsRaw: state => state.expandedItems,
16
16
  /**
17
17
  * Gets the expanded items as a Map.
18
18
  */
@@ -37,13 +37,13 @@ export const expansionSelectors = {
37
37
  /**
38
38
  * Gets the slot that triggers the item's expansion when clicked.
39
39
  */
40
- triggerSlot: createSelector(state => state.expansionTrigger),
40
+ triggerSlot: state => state.expansionTrigger,
41
41
  /**
42
42
  * Checks whether an item is expanded.
43
43
  */
44
- isItemExpanded: createSelector(expandedItemMapSelector, (expandedItemsMap, itemId) => expandedItemsMap.has(itemId)),
44
+ isItemExpanded: (state, itemId) => expandedItemMapSelector(state).has(itemId),
45
45
  /**
46
46
  * Checks whether an item is expandable.
47
47
  */
48
- isItemExpandable: createSelector(itemsSelectors.itemMeta, (itemMeta, _itemId) => itemMeta?.expandable ?? false)
48
+ isItemExpandable: (state, itemId) => itemsSelectors.itemMeta(state, itemId)?.expandable ?? false
49
49
  };
@@ -1,4 +1,5 @@
1
1
  import type { MinimalTreeViewState } from "../../MinimalTreeViewStore/index.mjs";
2
+ import type { TreeViewItemId } from "../../../models/index.mjs";
2
3
  export declare const focusSelectors: {
3
4
  /**
4
5
  * Gets the item that should be sequentially focusable (usually with the Tab key).
@@ -9,7 +10,7 @@ export declare const focusSelectors: {
9
10
  /**
10
11
  * Checks whether an item is the default focusable item.
11
12
  */
12
- isItemTheDefaultFocusableItem: (args_0: MinimalTreeViewState<any, any>, itemId: any) => boolean;
13
+ isItemTheDefaultFocusableItem: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => boolean;
13
14
  /**
14
15
  * Gets the id of the item that is currently focused.
15
16
  */
@@ -17,5 +18,5 @@ export declare const focusSelectors: {
17
18
  /**
18
19
  * Checks whether an item is focused.
19
20
  */
20
- isItemFocused: (state: MinimalTreeViewState<any, any>, itemId: string) => boolean;
21
+ isItemFocused: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => boolean;
21
22
  };
@@ -1,4 +1,5 @@
1
1
  import type { MinimalTreeViewState } from "../../MinimalTreeViewStore/index.js";
2
+ import type { TreeViewItemId } from "../../../models/index.js";
2
3
  export declare const focusSelectors: {
3
4
  /**
4
5
  * Gets the item that should be sequentially focusable (usually with the Tab key).
@@ -9,7 +10,7 @@ export declare const focusSelectors: {
9
10
  /**
10
11
  * Checks whether an item is the default focusable item.
11
12
  */
12
- isItemTheDefaultFocusableItem: (args_0: MinimalTreeViewState<any, any>, itemId: any) => boolean;
13
+ isItemTheDefaultFocusableItem: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => boolean;
13
14
  /**
14
15
  * Gets the id of the item that is currently focused.
15
16
  */
@@ -17,5 +18,5 @@ export declare const focusSelectors: {
17
18
  /**
18
19
  * Checks whether an item is focused.
19
20
  */
20
- isItemFocused: (state: MinimalTreeViewState<any, any>, itemId: string) => boolean;
21
+ isItemFocused: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => boolean;
21
22
  };
@@ -36,13 +36,13 @@ const focusSelectors = exports.focusSelectors = {
36
36
  /**
37
37
  * Checks whether an item is the default focusable item.
38
38
  */
39
- isItemTheDefaultFocusableItem: (0, _store.createSelector)(defaultFocusableItemIdSelector, (defaultFocusableItemId, itemId) => defaultFocusableItemId === itemId),
39
+ isItemTheDefaultFocusableItem: (state, itemId) => defaultFocusableItemIdSelector(state) === itemId,
40
40
  /**
41
41
  * Gets the id of the item that is currently focused.
42
42
  */
43
- focusedItemId: (0, _store.createSelector)(state => state.focusedItemId),
43
+ focusedItemId: state => state.focusedItemId,
44
44
  /**
45
45
  * Checks whether an item is focused.
46
46
  */
47
- isItemFocused: (0, _store.createSelector)((state, itemId) => state.focusedItemId === itemId)
47
+ isItemFocused: (state, itemId) => state.focusedItemId === itemId
48
48
  };
@@ -1,4 +1,4 @@
1
- import { createSelector, createSelectorMemoized } from '@mui/x-internals/store';
1
+ import { createSelectorMemoized } from '@mui/x-internals/store';
2
2
  import { selectionSelectors } from "../selection/selectors.mjs";
3
3
  import { itemsSelectors } from "../items/selectors.mjs";
4
4
  import { isItemDisabled } from "../items/utils.mjs";
@@ -30,13 +30,13 @@ export const focusSelectors = {
30
30
  /**
31
31
  * Checks whether an item is the default focusable item.
32
32
  */
33
- isItemTheDefaultFocusableItem: createSelector(defaultFocusableItemIdSelector, (defaultFocusableItemId, itemId) => defaultFocusableItemId === itemId),
33
+ isItemTheDefaultFocusableItem: (state, itemId) => defaultFocusableItemIdSelector(state) === itemId,
34
34
  /**
35
35
  * Gets the id of the item that is currently focused.
36
36
  */
37
- focusedItemId: createSelector(state => state.focusedItemId),
37
+ focusedItemId: state => state.focusedItemId,
38
38
  /**
39
39
  * Checks whether an item is focused.
40
40
  */
41
- isItemFocused: createSelector((state, itemId) => state.focusedItemId === itemId)
41
+ isItemFocused: (state, itemId) => state.focusedItemId === itemId
42
42
  };
@@ -1,13 +1,16 @@
1
1
  import type { MinimalTreeViewState } from "../../MinimalTreeViewStore/index.mjs";
2
+ import type { TreeViewItemId } from "../../../models/index.mjs";
3
+ declare const treeIdSelector: (state: MinimalTreeViewState<any, any>) => string | undefined;
2
4
  export declare const idSelectors: {
3
5
  /**
4
6
  * Get the id attribute of the tree view.
5
7
  */
6
- treeId: (state: MinimalTreeViewState<any, any>) => string | undefined;
8
+ treeId: typeof treeIdSelector;
7
9
  /**
8
10
  * Generate the id attribute (i.e.: the `id` attribute passed to the DOM element) of a Tree Item.
9
11
  * If the user explicitly defined an id attribute, it will be returned.
10
12
  * Otherwise, the method creates a unique id for the item based on the Tree View id attribute and the item `itemId`
11
13
  */
12
- treeItemIdAttribute: (args_0: MinimalTreeViewState<any, any>, itemId: string, providedIdAttribute: string | undefined) => string;
13
- };
14
+ treeItemIdAttribute: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId, providedIdAttribute: string | undefined) => string;
15
+ };
16
+ export {};
@@ -1,13 +1,16 @@
1
1
  import type { MinimalTreeViewState } from "../../MinimalTreeViewStore/index.js";
2
+ import type { TreeViewItemId } from "../../../models/index.js";
3
+ declare const treeIdSelector: (state: MinimalTreeViewState<any, any>) => string | undefined;
2
4
  export declare const idSelectors: {
3
5
  /**
4
6
  * Get the id attribute of the tree view.
5
7
  */
6
- treeId: (state: MinimalTreeViewState<any, any>) => string | undefined;
8
+ treeId: typeof treeIdSelector;
7
9
  /**
8
10
  * Generate the id attribute (i.e.: the `id` attribute passed to the DOM element) of a Tree Item.
9
11
  * If the user explicitly defined an id attribute, it will be returned.
10
12
  * Otherwise, the method creates a unique id for the item based on the Tree View id attribute and the item `itemId`
11
13
  */
12
- treeItemIdAttribute: (args_0: MinimalTreeViewState<any, any>, itemId: string, providedIdAttribute: string | undefined) => string;
13
- };
14
+ treeItemIdAttribute: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId, providedIdAttribute: string | undefined) => string;
15
+ };
16
+ export {};
@@ -4,8 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.idSelectors = void 0;
7
- var _store = require("@mui/x-internals/store");
8
- const treeIdSelector = (0, _store.createSelector)(state => state.providedTreeId ?? state.treeId);
7
+ const treeIdSelector = state => state.providedTreeId ?? state.treeId;
9
8
  const idSelectors = exports.idSelectors = {
10
9
  /**
11
10
  * Get the id attribute of the tree view.
@@ -16,10 +15,10 @@ const idSelectors = exports.idSelectors = {
16
15
  * If the user explicitly defined an id attribute, it will be returned.
17
16
  * Otherwise, the method creates a unique id for the item based on the Tree View id attribute and the item `itemId`
18
17
  */
19
- treeItemIdAttribute: (0, _store.createSelector)(treeIdSelector, (treeId, itemId, providedIdAttribute) => {
18
+ treeItemIdAttribute: (state, itemId, providedIdAttribute) => {
20
19
  if (providedIdAttribute != null) {
21
20
  return providedIdAttribute;
22
21
  }
23
- return `${treeId ?? ''}-${itemId}`;
24
- })
22
+ return `${treeIdSelector(state) ?? ''}-${itemId}`;
23
+ }
25
24
  };
@@ -1,5 +1,4 @@
1
- import { createSelector } from '@mui/x-internals/store';
2
- const treeIdSelector = createSelector(state => state.providedTreeId ?? state.treeId);
1
+ const treeIdSelector = state => state.providedTreeId ?? state.treeId;
3
2
  export const idSelectors = {
4
3
  /**
5
4
  * Get the id attribute of the tree view.
@@ -10,10 +9,10 @@ export const idSelectors = {
10
9
  * If the user explicitly defined an id attribute, it will be returned.
11
10
  * Otherwise, the method creates a unique id for the item based on the Tree View id attribute and the item `itemId`
12
11
  */
13
- treeItemIdAttribute: createSelector(treeIdSelector, (treeId, itemId, providedIdAttribute) => {
12
+ treeItemIdAttribute: (state, itemId, providedIdAttribute) => {
14
13
  if (providedIdAttribute != null) {
15
14
  return providedIdAttribute;
16
15
  }
17
- return `${treeId ?? ''}-${itemId}`;
18
- })
16
+ return `${treeIdSelector(state) ?? ''}-${itemId}`;
17
+ }
19
18
  };
@@ -1,3 +1,4 @@
1
+ import type { TreeViewItemId } from "../../../models/index.mjs";
1
2
  import type { TreeViewItemMeta } from "../../models/index.mjs";
2
3
  import type { MinimalTreeViewState } from "../../MinimalTreeViewStore/index.mjs";
3
4
  import type { RichTreeViewState } from "../../RichTreeViewStore/index.mjs";
@@ -25,35 +26,35 @@ export declare const itemsSelectors: {
25
26
  /**
26
27
  * Gets the meta-information of an item.
27
28
  */
28
- itemMeta: (state: MinimalTreeViewState<any, any>, itemId: string | null) => TreeViewItemMeta | null;
29
+ itemMeta: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId | null) => TreeViewItemMeta | null;
29
30
  /**
30
31
  * Gets the ordered children ids of an item.
31
32
  */
32
- itemOrderedChildrenIds: (state: MinimalTreeViewState<any, any>, itemId: string | null) => string[];
33
+ itemOrderedChildrenIds: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId | null) => string[];
33
34
  /**
34
35
  * Gets the model of an item.
35
36
  */
36
- itemModel: (state: MinimalTreeViewState<any, any>, itemId: string) => any;
37
+ itemModel: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => any;
37
38
  /**
38
39
  * Checks whether an item is disabled.
39
40
  */
40
- isItemDisabled: (state: MinimalTreeViewState<any, any>, itemId: string) => boolean;
41
+ isItemDisabled: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => boolean;
41
42
  /**
42
43
  * Gets the index of an item in its parent's children.
43
44
  */
44
- itemIndex: (state: MinimalTreeViewState<any, any>, itemId: string) => number;
45
+ itemIndex: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => number;
45
46
  /**
46
47
  * Gets the id of an item's parent.
47
48
  */
48
- itemParentId: (state: MinimalTreeViewState<any, any>, itemId: string) => string | null;
49
+ itemParentId: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => string | null;
49
50
  /**
50
51
  * Gets the depth of an item (items at the root level have a depth of 0).
51
52
  */
52
- itemDepth: (state: MinimalTreeViewState<any, any>, itemId: string) => number;
53
+ itemDepth: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => number;
53
54
  /**
54
55
  * Checks whether an item can be focused.
55
56
  */
56
- canItemBeFocused: (state: MinimalTreeViewState<any, any>, itemId: string) => boolean;
57
+ canItemBeFocused: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => boolean;
57
58
  /**
58
59
  * Gets the identation between an item and its children.
59
60
  */
@@ -1,3 +1,4 @@
1
+ import type { TreeViewItemId } from "../../../models/index.js";
1
2
  import type { TreeViewItemMeta } from "../../models/index.js";
2
3
  import type { MinimalTreeViewState } from "../../MinimalTreeViewStore/index.js";
3
4
  import type { RichTreeViewState } from "../../RichTreeViewStore/index.js";
@@ -25,35 +26,35 @@ export declare const itemsSelectors: {
25
26
  /**
26
27
  * Gets the meta-information of an item.
27
28
  */
28
- itemMeta: (state: MinimalTreeViewState<any, any>, itemId: string | null) => TreeViewItemMeta | null;
29
+ itemMeta: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId | null) => TreeViewItemMeta | null;
29
30
  /**
30
31
  * Gets the ordered children ids of an item.
31
32
  */
32
- itemOrderedChildrenIds: (state: MinimalTreeViewState<any, any>, itemId: string | null) => string[];
33
+ itemOrderedChildrenIds: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId | null) => string[];
33
34
  /**
34
35
  * Gets the model of an item.
35
36
  */
36
- itemModel: (state: MinimalTreeViewState<any, any>, itemId: string) => any;
37
+ itemModel: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => any;
37
38
  /**
38
39
  * Checks whether an item is disabled.
39
40
  */
40
- isItemDisabled: (state: MinimalTreeViewState<any, any>, itemId: string) => boolean;
41
+ isItemDisabled: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => boolean;
41
42
  /**
42
43
  * Gets the index of an item in its parent's children.
43
44
  */
44
- itemIndex: (state: MinimalTreeViewState<any, any>, itemId: string) => number;
45
+ itemIndex: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => number;
45
46
  /**
46
47
  * Gets the id of an item's parent.
47
48
  */
48
- itemParentId: (state: MinimalTreeViewState<any, any>, itemId: string) => string | null;
49
+ itemParentId: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => string | null;
49
50
  /**
50
51
  * Gets the depth of an item (items at the root level have a depth of 0).
51
52
  */
52
- itemDepth: (state: MinimalTreeViewState<any, any>, itemId: string) => number;
53
+ itemDepth: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => number;
53
54
  /**
54
55
  * Checks whether an item can be focused.
55
56
  */
56
- canItemBeFocused: (state: MinimalTreeViewState<any, any>, itemId: string) => boolean;
57
+ canItemBeFocused: (state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => boolean;
57
58
  /**
58
59
  * Gets the identation between an item and its children.
59
60
  */
@@ -4,71 +4,70 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.itemsSelectors = void 0;
7
- var _store = require("@mui/x-internals/store");
8
7
  var _utils = require("./utils");
9
8
  const EMPTY_CHILDREN = [];
10
9
  const itemsSelectors = exports.itemsSelectors = {
11
10
  /**
12
11
  * Gets the DOM structure of the Tree View.
13
12
  */
14
- domStructure: (0, _store.createSelector)(state => state.domStructure),
13
+ domStructure: state => state.domStructure,
15
14
  /**
16
15
  * Checks whether the disabled items are focusable.
17
16
  */
18
- disabledItemFocusable: (0, _store.createSelector)(state => state.disabledItemsFocusable),
17
+ disabledItemFocusable: state => state.disabledItemsFocusable,
19
18
  /**
20
19
  * Gets the meta-information of all items.
21
20
  */
22
- itemMetaLookup: (0, _store.createSelector)(state => state.itemMetaLookup),
21
+ itemMetaLookup: state => state.itemMetaLookup,
23
22
  /**
24
23
  * Gets the ordered children ids of all items.
25
24
  */
26
- itemOrderedChildrenIdsLookup: (0, _store.createSelector)(state => state.itemOrderedChildrenIdsLookup),
25
+ itemOrderedChildrenIdsLookup: state => state.itemOrderedChildrenIdsLookup,
27
26
  /**
28
27
  * Gets the meta-information of an item.
29
28
  */
30
- itemMeta: (0, _store.createSelector)((state, itemId) => state.itemMetaLookup[itemId ?? _utils.TREE_VIEW_ROOT_PARENT_ID] ?? null),
29
+ itemMeta: (state, itemId) => state.itemMetaLookup[itemId ?? _utils.TREE_VIEW_ROOT_PARENT_ID] ?? null,
31
30
  /**
32
31
  * Gets the ordered children ids of an item.
33
32
  */
34
- itemOrderedChildrenIds: (0, _store.createSelector)((state, itemId) => state.itemOrderedChildrenIdsLookup[itemId ?? _utils.TREE_VIEW_ROOT_PARENT_ID] ?? EMPTY_CHILDREN),
33
+ itemOrderedChildrenIds: (state, itemId) => state.itemOrderedChildrenIdsLookup[itemId ?? _utils.TREE_VIEW_ROOT_PARENT_ID] ?? EMPTY_CHILDREN,
35
34
  /**
36
35
  * Gets the model of an item.
37
36
  */
38
- itemModel: (0, _store.createSelector)((state, itemId) => state.itemModelLookup[itemId]),
37
+ itemModel: (state, itemId) => state.itemModelLookup[itemId],
39
38
  /**
40
39
  * Checks whether an item is disabled.
41
40
  */
42
- isItemDisabled: (0, _store.createSelector)((state, itemId) => (0, _utils.isItemDisabled)(state.itemMetaLookup, itemId)),
41
+ isItemDisabled: (state, itemId) => (0, _utils.isItemDisabled)(state.itemMetaLookup, itemId),
43
42
  /**
44
43
  * Gets the index of an item in its parent's children.
45
44
  */
46
- itemIndex: (0, _store.createSelector)((state, itemId) => {
45
+ itemIndex: (state, itemId) => {
47
46
  const itemMeta = state.itemMetaLookup[itemId];
48
47
  if (itemMeta == null) {
49
48
  return -1;
50
49
  }
51
50
  const parentIndexes = state.itemChildrenIndexesLookup[itemMeta.parentId ?? _utils.TREE_VIEW_ROOT_PARENT_ID];
52
51
  return parentIndexes[itemMeta.id];
53
- }),
52
+ },
54
53
  /**
55
54
  * Gets the id of an item's parent.
56
55
  */
57
- itemParentId: (0, _store.createSelector)((state, itemId) => state.itemMetaLookup[itemId]?.parentId ?? null),
56
+ itemParentId: (state, itemId) => state.itemMetaLookup[itemId]?.parentId ?? null,
58
57
  /**
59
58
  * Gets the depth of an item (items at the root level have a depth of 0).
60
59
  */
61
- itemDepth: (0, _store.createSelector)((state, itemId) => state.itemMetaLookup[itemId]?.depth ?? 0),
60
+ itemDepth: (state, itemId) => state.itemMetaLookup[itemId]?.depth ?? 0,
62
61
  /**
63
62
  * Checks whether an item can be focused.
64
63
  */
65
- canItemBeFocused: (0, _store.createSelector)((state, itemId) => state.disabledItemsFocusable || state.itemModelLookup[itemId] != null && !(0, _utils.isItemDisabled)(state.itemMetaLookup, itemId)),
64
+ canItemBeFocused: (state, itemId) => state.disabledItemsFocusable || state.itemModelLookup[itemId] != null && !(0, _utils.isItemDisabled)(state.itemMetaLookup, itemId),
66
65
  /**
67
66
  * Gets the identation between an item and its children.
68
67
  */
69
- itemChildrenIndentation: (0, _store.createSelector)(state => state.itemChildrenIndentation),
68
+ itemChildrenIndentation: state => state.itemChildrenIndentation,
70
69
  /**
71
70
  * Gets the height of an individual item.
72
71
  */
73
- itemHeight: (0, _store.createSelector)(state => state.itemHeight)
72
+ itemHeight: state => state.itemHeight
74
73
  };
@@ -1,68 +1,67 @@
1
- import { createSelector } from '@mui/x-internals/store';
2
1
  import { isItemDisabled, TREE_VIEW_ROOT_PARENT_ID } from "./utils.mjs";
3
2
  const EMPTY_CHILDREN = [];
4
3
  export const itemsSelectors = {
5
4
  /**
6
5
  * Gets the DOM structure of the Tree View.
7
6
  */
8
- domStructure: createSelector(state => state.domStructure),
7
+ domStructure: state => state.domStructure,
9
8
  /**
10
9
  * Checks whether the disabled items are focusable.
11
10
  */
12
- disabledItemFocusable: createSelector(state => state.disabledItemsFocusable),
11
+ disabledItemFocusable: state => state.disabledItemsFocusable,
13
12
  /**
14
13
  * Gets the meta-information of all items.
15
14
  */
16
- itemMetaLookup: createSelector(state => state.itemMetaLookup),
15
+ itemMetaLookup: state => state.itemMetaLookup,
17
16
  /**
18
17
  * Gets the ordered children ids of all items.
19
18
  */
20
- itemOrderedChildrenIdsLookup: createSelector(state => state.itemOrderedChildrenIdsLookup),
19
+ itemOrderedChildrenIdsLookup: state => state.itemOrderedChildrenIdsLookup,
21
20
  /**
22
21
  * Gets the meta-information of an item.
23
22
  */
24
- itemMeta: createSelector((state, itemId) => state.itemMetaLookup[itemId ?? TREE_VIEW_ROOT_PARENT_ID] ?? null),
23
+ itemMeta: (state, itemId) => state.itemMetaLookup[itemId ?? TREE_VIEW_ROOT_PARENT_ID] ?? null,
25
24
  /**
26
25
  * Gets the ordered children ids of an item.
27
26
  */
28
- itemOrderedChildrenIds: createSelector((state, itemId) => state.itemOrderedChildrenIdsLookup[itemId ?? TREE_VIEW_ROOT_PARENT_ID] ?? EMPTY_CHILDREN),
27
+ itemOrderedChildrenIds: (state, itemId) => state.itemOrderedChildrenIdsLookup[itemId ?? TREE_VIEW_ROOT_PARENT_ID] ?? EMPTY_CHILDREN,
29
28
  /**
30
29
  * Gets the model of an item.
31
30
  */
32
- itemModel: createSelector((state, itemId) => state.itemModelLookup[itemId]),
31
+ itemModel: (state, itemId) => state.itemModelLookup[itemId],
33
32
  /**
34
33
  * Checks whether an item is disabled.
35
34
  */
36
- isItemDisabled: createSelector((state, itemId) => isItemDisabled(state.itemMetaLookup, itemId)),
35
+ isItemDisabled: (state, itemId) => isItemDisabled(state.itemMetaLookup, itemId),
37
36
  /**
38
37
  * Gets the index of an item in its parent's children.
39
38
  */
40
- itemIndex: createSelector((state, itemId) => {
39
+ itemIndex: (state, itemId) => {
41
40
  const itemMeta = state.itemMetaLookup[itemId];
42
41
  if (itemMeta == null) {
43
42
  return -1;
44
43
  }
45
44
  const parentIndexes = state.itemChildrenIndexesLookup[itemMeta.parentId ?? TREE_VIEW_ROOT_PARENT_ID];
46
45
  return parentIndexes[itemMeta.id];
47
- }),
46
+ },
48
47
  /**
49
48
  * Gets the id of an item's parent.
50
49
  */
51
- itemParentId: createSelector((state, itemId) => state.itemMetaLookup[itemId]?.parentId ?? null),
50
+ itemParentId: (state, itemId) => state.itemMetaLookup[itemId]?.parentId ?? null,
52
51
  /**
53
52
  * Gets the depth of an item (items at the root level have a depth of 0).
54
53
  */
55
- itemDepth: createSelector((state, itemId) => state.itemMetaLookup[itemId]?.depth ?? 0),
54
+ itemDepth: (state, itemId) => state.itemMetaLookup[itemId]?.depth ?? 0,
56
55
  /**
57
56
  * Checks whether an item can be focused.
58
57
  */
59
- canItemBeFocused: createSelector((state, itemId) => state.disabledItemsFocusable || state.itemModelLookup[itemId] != null && !isItemDisabled(state.itemMetaLookup, itemId)),
58
+ canItemBeFocused: (state, itemId) => state.disabledItemsFocusable || state.itemModelLookup[itemId] != null && !isItemDisabled(state.itemMetaLookup, itemId),
60
59
  /**
61
60
  * Gets the identation between an item and its children.
62
61
  */
63
- itemChildrenIndentation: createSelector(state => state.itemChildrenIndentation),
62
+ itemChildrenIndentation: state => state.itemChildrenIndentation,
64
63
  /**
65
64
  * Gets the height of an individual item.
66
65
  */
67
- itemHeight: createSelector(state => state.itemHeight)
66
+ itemHeight: state => state.itemHeight
68
67
  };
@@ -1,13 +1,14 @@
1
1
  import type { RichTreeViewState } from "../../RichTreeViewStore/index.mjs";
2
+ import type { TreeViewItemId } from "../../../models/index.mjs";
2
3
  export declare const labelSelectors: {
3
4
  /**
4
5
  * Checks whether an item is editable.
5
6
  */
6
- isItemEditable: (args_0: RichTreeViewState<any, any>, _itemId: string) => boolean;
7
+ isItemEditable: (state: RichTreeViewState<any, any>, itemId: TreeViewItemId) => boolean;
7
8
  /**
8
9
  * Checks whether an item is being edited.
9
10
  */
10
- isItemBeingEdited: (state: RichTreeViewState<any, any>, itemId: string | null) => boolean;
11
+ isItemBeingEdited: (state: RichTreeViewState<any, any>, itemId: TreeViewItemId | null) => boolean;
11
12
  /**
12
13
  * Checks whether any item is being edited.
13
14
  */
@@ -1,13 +1,14 @@
1
1
  import type { RichTreeViewState } from "../../RichTreeViewStore/index.js";
2
+ import type { TreeViewItemId } from "../../../models/index.js";
2
3
  export declare const labelSelectors: {
3
4
  /**
4
5
  * Checks whether an item is editable.
5
6
  */
6
- isItemEditable: (args_0: RichTreeViewState<any, any>, _itemId: string) => boolean;
7
+ isItemEditable: (state: RichTreeViewState<any, any>, itemId: TreeViewItemId) => boolean;
7
8
  /**
8
9
  * Checks whether an item is being edited.
9
10
  */
10
- isItemBeingEdited: (state: RichTreeViewState<any, any>, itemId: string | null) => boolean;
11
+ isItemBeingEdited: (state: RichTreeViewState<any, any>, itemId: TreeViewItemId | null) => boolean;
11
12
  /**
12
13
  * Checks whether any item is being edited.
13
14
  */