@mui/x-tree-view 7.3.0 → 7.3.1

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 (63) hide show
  1. package/CHANGELOG.md +79 -2
  2. package/TreeItem/TreeItem.js +1 -2
  3. package/TreeItem/TreeItemContent.js +1 -2
  4. package/TreeItem/useTreeItemState.js +1 -3
  5. package/TreeItem2/TreeItem2.js +1 -2
  6. package/hooks/useTreeItem2Utils/useTreeItem2Utils.js +1 -3
  7. package/index.js +1 -1
  8. package/internals/TreeViewProvider/useTreeViewContext.d.ts +1 -1
  9. package/internals/hooks/useInstanceEventHandler.d.ts +2 -2
  10. package/internals/models/treeView.d.ts +0 -6
  11. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +1 -4
  12. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +31 -63
  13. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +82 -94
  14. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +32 -5
  15. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +9 -0
  16. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +21 -0
  17. package/internals/useTreeView/useTreeView.types.d.ts +1 -1
  18. package/internals/useTreeView/useTreeViewModels.d.ts +1 -1
  19. package/internals/utils/extractPluginParamsFromProps.d.ts +1 -1
  20. package/internals/utils/publishTreeViewEvent.d.ts +1 -1
  21. package/internals/utils/tree.d.ts +17 -1
  22. package/internals/utils/tree.js +34 -4
  23. package/modern/TreeItem/TreeItem.js +1 -2
  24. package/modern/TreeItem/TreeItemContent.js +1 -2
  25. package/modern/TreeItem/useTreeItemState.js +1 -3
  26. package/modern/TreeItem2/TreeItem2.js +1 -2
  27. package/modern/hooks/useTreeItem2Utils/useTreeItem2Utils.js +1 -3
  28. package/modern/index.js +1 -1
  29. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +1 -4
  30. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +31 -63
  31. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +82 -94
  32. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +21 -0
  33. package/modern/internals/utils/tree.js +34 -4
  34. package/node/RichTreeView/RichTreeView.js +1 -1
  35. package/node/SimpleTreeView/SimpleTreeView.js +1 -1
  36. package/node/TreeItem/TreeItem.js +1 -1
  37. package/node/TreeItem/TreeItemContent.js +1 -1
  38. package/node/TreeItem/useTreeItemState.js +1 -3
  39. package/node/TreeItem2/TreeItem2.js +1 -1
  40. package/node/TreeItem2Icon/TreeItem2Icon.js +1 -1
  41. package/node/TreeView/TreeView.js +1 -1
  42. package/node/hooks/useTreeItem2Utils/useTreeItem2Utils.js +1 -3
  43. package/node/hooks/useTreeViewApiRef.js +1 -1
  44. package/node/icons/icons.js +1 -1
  45. package/node/index.js +1 -1
  46. package/node/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +1 -1
  47. package/node/internals/TreeViewProvider/TreeViewContext.js +1 -1
  48. package/node/internals/TreeViewProvider/TreeViewProvider.js +1 -1
  49. package/node/internals/TreeViewProvider/useTreeViewContext.js +1 -1
  50. package/node/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +1 -1
  51. package/node/internals/hooks/useInstanceEventHandler.js +1 -1
  52. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +1 -1
  53. package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +2 -5
  54. package/node/internals/plugins/useTreeViewId/useTreeViewId.js +1 -1
  55. package/node/internals/plugins/useTreeViewItems/useTreeViewItems.js +1 -1
  56. package/node/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +1 -1
  57. package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +32 -64
  58. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +82 -94
  59. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +29 -0
  60. package/node/internals/useTreeView/useTreeView.js +1 -1
  61. package/node/internals/useTreeView/useTreeViewModels.js +1 -1
  62. package/node/internals/utils/tree.js +37 -5
  63. package/package.json +3 -5
@@ -84,7 +84,7 @@ export const getFirstNavigableItem = instance => instance.getItemOrderedChildren
84
84
  * Another way to put it is which item is shallower in a trémaux tree
85
85
  * https://en.wikipedia.org/wiki/Tr%C3%A9maux_tree
86
86
  */
87
- const findOrderInTremauxTree = (instance, itemAId, itemBId) => {
87
+ export const findOrderInTremauxTree = (instance, itemAId, itemBId) => {
88
88
  if (itemAId === itemBId) {
89
89
  return [itemAId, itemBId];
90
90
  }
@@ -125,13 +125,43 @@ const findOrderInTremauxTree = (instance, itemAId, itemBId) => {
125
125
  const bSide = bFamily[bFamily.indexOf(commonAncestor) - 1];
126
126
  return ancestorFamily.indexOf(aSide) < ancestorFamily.indexOf(bSide) ? [itemAId, itemBId] : [itemBId, itemAId];
127
127
  };
128
- export const getNavigableItemsInRange = (instance, itemAId, itemBId) => {
128
+ export const getNonDisabledItemsInRange = (instance, itemAId, itemBId) => {
129
+ const getNextItem = itemId => {
130
+ // If the item is expanded and has some children, return the first of them.
131
+ if (instance.isItemExpandable(itemId) && instance.isItemExpanded(itemId)) {
132
+ return instance.getItemOrderedChildrenIds(itemId)[0];
133
+ }
134
+ let itemMeta = instance.getItemMeta(itemId);
135
+ while (itemMeta != null) {
136
+ // Try to find the first navigable sibling after the current item.
137
+ const siblings = instance.getItemOrderedChildrenIds(itemMeta.parentId);
138
+ const currentItemIndex = instance.getItemIndex(itemMeta.id);
139
+ if (currentItemIndex < siblings.length - 1) {
140
+ return siblings[currentItemIndex + 1];
141
+ }
142
+
143
+ // If the item is the last of its siblings, go up a level to the parent and try again.
144
+ itemMeta = instance.getItemMeta(itemMeta.parentId);
145
+ }
146
+ throw new Error('Invalid range');
147
+ };
129
148
  const [first, last] = findOrderInTremauxTree(instance, itemAId, itemBId);
130
149
  const items = [first];
131
150
  let current = first;
132
151
  while (current !== last) {
133
- current = getNextNavigableItem(instance, current);
134
- items.push(current);
152
+ current = getNextItem(current);
153
+ if (!instance.isItemDisabled(current)) {
154
+ items.push(current);
155
+ }
135
156
  }
136
157
  return items;
158
+ };
159
+ export const getAllNavigableItems = instance => {
160
+ let item = getFirstNavigableItem(instance);
161
+ const navigableItems = [];
162
+ while (item != null) {
163
+ navigableItems.push(item);
164
+ item = getNextNavigableItem(instance, item);
165
+ }
166
+ return navigableItems;
137
167
  };
@@ -20,7 +20,7 @@ var _warning = require("../internals/utils/warning");
20
20
  var _extractPluginParamsFromProps = require("../internals/utils/extractPluginParamsFromProps");
21
21
  var _jsxRuntime = require("react/jsx-runtime");
22
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
23
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
24
  const useUtilityClasses = ownerState => {
25
25
  const {
26
26
  classes
@@ -19,7 +19,7 @@ var _warning = require("../internals/utils/warning");
19
19
  var _extractPluginParamsFromProps = require("../internals/utils/extractPluginParamsFromProps");
20
20
  var _jsxRuntime = require("react/jsx-runtime");
21
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
22
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
23
23
  const useUtilityClasses = ownerState => {
24
24
  const {
25
25
  classes
@@ -28,7 +28,7 @@ const _excluded = ["children", "className", "slots", "slotProps", "ContentCompon
28
28
  _excluded3 = ["ownerState"],
29
29
  _excluded4 = ["ownerState"];
30
30
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
31
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
31
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
32
32
  const useUtilityClasses = ownerState => {
33
33
  const {
34
34
  classes
@@ -14,7 +14,7 @@ var _useTreeItemState = require("./useTreeItemState");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
15
  const _excluded = ["classes", "className", "displayIcon", "expansionIcon", "icon", "label", "itemId", "onClick", "onMouseDown"];
16
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
18
  /**
19
19
  * @ignore - internal component.
20
20
  */
@@ -38,9 +38,7 @@ function useTreeItemState(itemId) {
38
38
  const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);
39
39
  if (multiple) {
40
40
  if (event.shiftKey) {
41
- instance.selectRange(event, {
42
- end: itemId
43
- });
41
+ instance.expandSelectionRange(event, itemId);
44
42
  } else {
45
43
  instance.selectItem(event, itemId, true);
46
44
  }
@@ -23,7 +23,7 @@ var _TreeItem2Provider = require("../TreeItem2Provider");
23
23
  var _jsxRuntime = require("react/jsx-runtime");
24
24
  const _excluded = ["id", "itemId", "label", "disabled", "children", "slots", "slotProps"];
25
25
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
26
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
26
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
27
27
  const TreeItem2Root = exports.TreeItem2Root = (0, _styles.styled)('li', {
28
28
  name: 'MuiTreeItem2',
29
29
  slot: 'Root',
@@ -13,7 +13,7 @@ var _useTreeViewContext = require("../internals/TreeViewProvider/useTreeViewCont
13
13
  var _icons = require("../icons");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
17
  function TreeItem2Icon(props) {
18
18
  const {
19
19
  slots,
@@ -14,7 +14,7 @@ var _treeViewClasses = require("./treeViewClasses");
14
14
  var _SimpleTreeView = require("../SimpleTreeView");
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
18
  const useUtilityClasses = ownerState => {
19
19
  const {
20
20
  classes
@@ -46,9 +46,7 @@ const useTreeItem2Utils = ({
46
46
  const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);
47
47
  if (multiple) {
48
48
  if (event.shiftKey) {
49
- instance.selectRange(event, {
50
- end: itemId
51
- });
49
+ instance.expandSelectionRange(event, itemId);
52
50
  } else {
53
51
  instance.selectItem(event, itemId, true);
54
52
  }
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useTreeViewApiRef = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
10
  /**
11
11
  * Hook that instantiates a [[TreeViewApiRef]].
12
12
  */
@@ -8,7 +8,7 @@ var _utils = require("@mui/material/utils");
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  var _jsxRuntime = require("react/jsx-runtime");
10
10
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
12
  const TreeViewExpandIcon = exports.TreeViewExpandIcon = (0, _utils.createSvgIcon)( /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
13
13
  d: "M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"
14
14
  }), 'TreeViewExpandIcon');
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-tree-view v7.3.0
2
+ * @mui/x-tree-view v7.3.1
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -11,7 +11,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _useTreeViewContext = require("./useTreeViewContext");
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
13
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
15
  const TreeViewChildrenItemContext = exports.TreeViewChildrenItemContext = /*#__PURE__*/React.createContext(null);
16
16
  if (process.env.NODE_ENV !== 'production') {
17
17
  TreeViewChildrenItemContext.displayName = 'TreeViewChildrenItemContext';
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.TreeViewContext = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
10
  /**
11
11
  * @ignore - internal component.
12
12
  */
@@ -8,7 +8,7 @@ var React = _interopRequireWildcard(require("react"));
8
8
  var _TreeViewContext = require("./TreeViewContext");
9
9
  var _jsxRuntime = require("react/jsx-runtime");
10
10
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
12
  /**
13
13
  * Sets up the contexts for the underlying TreeItem components.
14
14
  *
@@ -7,7 +7,7 @@ exports.useTreeViewContext = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _TreeViewContext = require("./TreeViewContext");
9
9
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
11
  const useTreeViewContext = () => {
12
12
  const context = React.useContext(_TreeViewContext.TreeViewContext);
13
13
  if (context == null) {
@@ -7,7 +7,7 @@ exports.useTreeViewInstanceEvents = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _EventManager = require("../../utils/EventManager");
9
9
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
11
  const isSyntheticEvent = event => {
12
12
  return event.isPropagationStopped !== undefined;
13
13
  };
@@ -9,7 +9,7 @@ var React = _interopRequireWildcard(require("react"));
9
9
  var _TimerBasedCleanupTracking = require("../utils/cleanupTracking/TimerBasedCleanupTracking");
10
10
  var _FinalizationRegistryBasedCleanupTracking = require("../utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking");
11
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
13
  // We use class to make it easier to detect in heap snapshots by name
14
14
  class ObjectToBeRetainedByReact {}
15
15
 
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var React = _interopRequireWildcard(require("react"));
10
10
  var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
11
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
13
  const useTreeViewExpansion = ({
14
14
  instance,
15
15
  params,
@@ -13,7 +13,7 @@ var _useInstanceEventHandler = require("../../hooks/useInstanceEventHandler");
13
13
  var _utils = require("../../utils/utils");
14
14
  var _tree = require("../../utils/tree");
15
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
17
  const useTabbableItemId = (instance, selectedItems) => {
18
18
  const isItemVisible = itemId => {
19
19
  const itemMeta = instance.getItemMeta(itemId);
@@ -114,12 +114,9 @@ const useTreeViewFocus = ({
114
114
  instance.focusDefaultItem(event);
115
115
  }
116
116
  };
117
- const focusedItem = instance.getItemMeta(state.focusedItemId);
118
- const activeDescendant = focusedItem ? instance.getTreeItemIdAttribute(focusedItem.id, focusedItem.idAttribute) : null;
119
117
  return {
120
118
  getRootProps: otherHandlers => ({
121
- onFocus: createRootHandleFocus(otherHandlers),
122
- 'aria-activedescendant': activeDescendant ?? undefined
119
+ onFocus: createRootHandleFocus(otherHandlers)
123
120
  }),
124
121
  publicAPI: {
125
122
  focusItem
@@ -8,7 +8,7 @@ exports.useTreeViewId = void 0;
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  var _useId = _interopRequireDefault(require("@mui/utils/useId"));
10
10
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
12
  const useTreeViewId = ({
13
13
  params
14
14
  }) => {
@@ -10,7 +10,7 @@ var React = _interopRequireWildcard(require("react"));
10
10
  var _publishTreeViewEvent = require("../../utils/publishTreeViewEvent");
11
11
  var _useTreeViewItems = require("./useTreeViewItems.utils");
12
12
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
14
  const updateItemsState = ({
15
15
  items,
16
16
  isItemDisabled,
@@ -16,7 +16,7 @@ var _TreeViewChildrenItemProvider = require("../../TreeViewProvider/TreeViewChil
16
16
  var _useTreeViewItems = require("../useTreeViewItems/useTreeViewItems.utils");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
20
  const useTreeViewJSXItems = ({
21
21
  instance,
22
22
  setState
@@ -10,18 +10,10 @@ var _styles = require("@mui/material/styles");
10
10
  var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
11
11
  var _tree = require("../../utils/tree");
12
12
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
14
  function isPrintableCharacter(string) {
15
15
  return !!string && string.length === 1 && !!string.match(/\S/);
16
16
  }
17
- function findNextFirstChar(firstChars, startIndex, char) {
18
- for (let i = startIndex; i < firstChars.length; i += 1) {
19
- if (char === firstChars[i]) {
20
- return i;
21
- }
22
- }
23
- return -1;
24
- }
25
17
  const useTreeViewKeyboardNavigation = ({
26
18
  instance,
27
19
  params,
@@ -44,42 +36,29 @@ const useTreeViewKeyboardNavigation = ({
44
36
  Object.values(state.items.itemMetaMap).forEach(processItem);
45
37
  firstCharMap.current = newFirstCharMap;
46
38
  }, [state.items.itemMetaMap, params.getItemId, instance]);
47
- const getFirstMatchingItem = (itemId, firstChar) => {
48
- let start;
49
- let index;
50
- const lowercaseChar = firstChar.toLowerCase();
51
- const firstCharIds = [];
52
- const firstChars = [];
53
- // This really only works since the ids are strings
54
- Object.keys(firstCharMap.current).forEach(mapItemId => {
55
- const map = instance.getItemMeta(mapItemId);
56
- const visible = map.parentId ? instance.isItemExpanded(map.parentId) : true;
57
- const shouldBeSkipped = params.disabledItemsFocusable ? false : instance.isItemDisabled(mapItemId);
58
- if (visible && !shouldBeSkipped) {
59
- firstCharIds.push(mapItemId);
60
- firstChars.push(firstCharMap.current[mapItemId]);
39
+ const getFirstMatchingItem = (itemId, query) => {
40
+ const cleanQuery = query.toLowerCase();
41
+ const getNextItem = itemIdToCheck => {
42
+ const nextItemId = (0, _tree.getNextNavigableItem)(instance, itemIdToCheck);
43
+ // We reached the end of the tree, check from the beginning
44
+ if (nextItemId === null) {
45
+ return (0, _tree.getFirstNavigableItem)(instance);
46
+ }
47
+ return nextItemId;
48
+ };
49
+ let matchingItemId = null;
50
+ let currentItemId = getNextItem(itemId);
51
+ const checkedItems = {};
52
+ // The "!checkedItems[currentItemId]" condition avoids an infinite loop when there is no matching item.
53
+ while (matchingItemId == null && !checkedItems[currentItemId]) {
54
+ if (firstCharMap.current[currentItemId] === cleanQuery) {
55
+ matchingItemId = currentItemId;
56
+ } else {
57
+ checkedItems[currentItemId] = true;
58
+ currentItemId = getNextItem(currentItemId);
61
59
  }
62
- });
63
-
64
- // Get start index for search based on position of currentItem
65
- start = firstCharIds.indexOf(itemId) + 1;
66
- if (start >= firstCharIds.length) {
67
- start = 0;
68
- }
69
-
70
- // Check remaining slots in the menu
71
- index = findNextFirstChar(firstChars, start, lowercaseChar);
72
-
73
- // If not found in remaining slots, check from beginning
74
- if (index === -1) {
75
- index = findNextFirstChar(firstChars, 0, lowercaseChar);
76
- }
77
-
78
- // If a match was found...
79
- if (index > -1) {
80
- return firstCharIds[index];
81
60
  }
82
- return null;
61
+ return matchingItemId;
83
62
  };
84
63
  const canToggleItemSelection = itemId => !params.disableSelection && !instance.isItemDisabled(itemId);
85
64
  const canToggleItemExpansion = itemId => {
@@ -104,9 +83,7 @@ const useTreeViewKeyboardNavigation = ({
104
83
  {
105
84
  event.preventDefault();
106
85
  if (params.multiSelect && event.shiftKey) {
107
- instance.selectRange(event, {
108
- end: itemId
109
- });
86
+ instance.expandSelectionRange(event, itemId);
110
87
  } else if (params.multiSelect) {
111
88
  instance.selectItem(event, itemId, true);
112
89
  } else {
@@ -145,10 +122,7 @@ const useTreeViewKeyboardNavigation = ({
145
122
  // Multi select behavior when pressing Shift + ArrowDown
146
123
  // Toggles the selection state of the next item
147
124
  if (params.multiSelect && event.shiftKey && canToggleItemSelection(nextItem)) {
148
- instance.selectRange(event, {
149
- end: nextItem,
150
- current: itemId
151
- }, true);
125
+ instance.selectItemFromArrowNavigation(event, itemId, nextItem);
152
126
  }
153
127
  }
154
128
  break;
@@ -165,10 +139,7 @@ const useTreeViewKeyboardNavigation = ({
165
139
  // Multi select behavior when pressing Shift + ArrowUp
166
140
  // Toggles the selection state of the previous item
167
141
  if (params.multiSelect && event.shiftKey && canToggleItemSelection(previousItem)) {
168
- instance.selectRange(event, {
169
- end: previousItem,
170
- current: itemId
171
- }, true);
142
+ instance.selectItemFromArrowNavigation(event, itemId, previousItem);
172
143
  }
173
144
  }
174
145
  break;
@@ -211,12 +182,12 @@ const useTreeViewKeyboardNavigation = ({
211
182
  // Focuses the first item in the tree
212
183
  case key === 'Home':
213
184
  {
214
- instance.focusItem(event, (0, _tree.getFirstNavigableItem)(instance));
215
-
216
185
  // Multi select behavior when pressing Ctrl + Shift + Home
217
186
  // Selects the focused item and all items up to the first item.
218
187
  if (canToggleItemSelection(itemId) && params.multiSelect && ctrlPressed && event.shiftKey) {
219
- instance.rangeSelectToFirst(event, itemId);
188
+ instance.selectRangeFromStartToItem(event, itemId);
189
+ } else {
190
+ instance.focusItem(event, (0, _tree.getFirstNavigableItem)(instance));
220
191
  }
221
192
  event.preventDefault();
222
193
  break;
@@ -225,12 +196,12 @@ const useTreeViewKeyboardNavigation = ({
225
196
  // Focuses the last item in the tree
226
197
  case key === 'End':
227
198
  {
228
- instance.focusItem(event, (0, _tree.getLastNavigableItem)(instance));
229
-
230
199
  // Multi select behavior when pressing Ctrl + Shirt + End
231
200
  // Selects the focused item and all the items down to the last item.
232
201
  if (canToggleItemSelection(itemId) && params.multiSelect && ctrlPressed && event.shiftKey) {
233
- instance.rangeSelectToLast(event, itemId);
202
+ instance.selectRangeFromItemToEnd(event, itemId);
203
+ } else {
204
+ instance.focusItem(event, (0, _tree.getLastNavigableItem)(instance));
234
205
  }
235
206
  event.preventDefault();
236
207
  break;
@@ -248,10 +219,7 @@ const useTreeViewKeyboardNavigation = ({
248
219
  // Selects all the items
249
220
  case key === 'a' && ctrlPressed && params.multiSelect && !params.disableSelection:
250
221
  {
251
- instance.selectRange(event, {
252
- start: (0, _tree.getFirstNavigableItem)(instance),
253
- end: (0, _tree.getLastNavigableItem)(instance)
254
- });
222
+ instance.selectAllNavigableItems(event);
255
223
  event.preventDefault();
256
224
  break;
257
225
  }