@mui/x-tree-view 6.0.0-alpha.3 → 6.0.0-beta.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 (265) hide show
  1. package/CHANGELOG.md +167 -0
  2. package/TreeItem/TreeItem.js +18 -31
  3. package/TreeItem/useTreeItem.js +18 -27
  4. package/TreeView/TreeView.d.ts +4 -1
  5. package/TreeView/TreeView.js +65 -708
  6. package/TreeView/TreeView.types.d.ts +4 -147
  7. package/index.d.ts +1 -0
  8. package/index.js +3 -2
  9. package/{TreeView/descendants.d.ts → internals/TreeViewProvider/DescendantProvider.d.ts} +1 -5
  10. package/internals/TreeViewProvider/TreeViewContext.d.ts +7 -0
  11. package/{TreeView → internals/TreeViewProvider}/TreeViewContext.js +8 -18
  12. package/internals/TreeViewProvider/TreeViewProvider.d.ts +9 -0
  13. package/internals/TreeViewProvider/TreeViewProvider.js +21 -0
  14. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +18 -0
  15. package/internals/TreeViewProvider/index.d.ts +2 -0
  16. package/internals/TreeViewProvider/index.js +1 -0
  17. package/internals/TreeViewProvider/useTreeViewContext.d.ts +3 -0
  18. package/internals/TreeViewProvider/useTreeViewContext.js +3 -0
  19. package/internals/corePlugins/corePlugins.d.ts +7 -0
  20. package/internals/corePlugins/corePlugins.js +6 -0
  21. package/internals/corePlugins/index.d.ts +2 -0
  22. package/internals/corePlugins/index.js +1 -0
  23. package/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +2 -0
  24. package/internals/corePlugins/useTreeViewInstanceEvents/index.js +1 -0
  25. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +8 -0
  26. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +35 -0
  27. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +21 -0
  28. package/internals/hooks/useInstanceEventHandler.d.ts +15 -0
  29. package/internals/hooks/useInstanceEventHandler.js +82 -0
  30. package/internals/models/events.d.ts +9 -0
  31. package/internals/models/helpers.d.ts +13 -0
  32. package/internals/models/helpers.js +1 -0
  33. package/internals/models/index.d.ts +3 -0
  34. package/internals/models/index.js +3 -0
  35. package/internals/models/plugin.d.ts +69 -0
  36. package/internals/models/plugin.js +1 -0
  37. package/internals/models/treeView.d.ts +23 -0
  38. package/internals/models/treeView.js +1 -0
  39. package/internals/plugins/defaultPlugins.d.ts +10 -0
  40. package/internals/plugins/defaultPlugins.js +9 -0
  41. package/internals/plugins/index.d.ts +2 -0
  42. package/internals/plugins/index.js +1 -0
  43. package/internals/plugins/useTreeViewContextValueBuilder/index.d.ts +2 -0
  44. package/internals/plugins/useTreeViewContextValueBuilder/index.js +1 -0
  45. package/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.d.ts +3 -0
  46. package/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +24 -0
  47. package/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.types.d.ts +34 -0
  48. package/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.types.js +1 -0
  49. package/internals/plugins/useTreeViewExpansion/index.d.ts +2 -0
  50. package/internals/plugins/useTreeViewExpansion/index.js +1 -0
  51. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +3 -0
  52. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +63 -0
  53. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +32 -0
  54. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +1 -0
  55. package/internals/plugins/useTreeViewFocus/index.d.ts +2 -0
  56. package/internals/plugins/useTreeViewFocus/index.js +1 -0
  57. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +3 -0
  58. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +89 -0
  59. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +27 -0
  60. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +1 -0
  61. package/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +2 -0
  62. package/internals/plugins/useTreeViewKeyboardNavigation/index.js +1 -0
  63. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +3 -0
  64. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +223 -0
  65. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +14 -0
  66. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +1 -0
  67. package/internals/plugins/useTreeViewNodes/index.d.ts +2 -0
  68. package/internals/plugins/useTreeViewNodes/index.js +1 -0
  69. package/internals/plugins/useTreeViewNodes/useTreeViewNodes.d.ts +3 -0
  70. package/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +60 -0
  71. package/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.d.ts +27 -0
  72. package/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.js +1 -0
  73. package/internals/plugins/useTreeViewSelection/index.d.ts +2 -0
  74. package/internals/plugins/useTreeViewSelection/index.js +1 -0
  75. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +3 -0
  76. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +172 -0
  77. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +49 -0
  78. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +1 -0
  79. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +17 -0
  80. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +55 -0
  81. package/internals/useTreeView/index.d.ts +2 -0
  82. package/internals/useTreeView/index.js +1 -0
  83. package/internals/useTreeView/useTreeView.d.ts +3 -0
  84. package/internals/useTreeView/useTreeView.js +65 -0
  85. package/internals/useTreeView/useTreeView.types.d.ts +20 -0
  86. package/internals/useTreeView/useTreeView.types.js +1 -0
  87. package/internals/useTreeView/useTreeView.utils.d.ts +8 -0
  88. package/internals/useTreeView/useTreeView.utils.js +43 -0
  89. package/internals/useTreeView/useTreeViewModels.d.ts +6 -0
  90. package/internals/useTreeView/useTreeViewModels.js +63 -0
  91. package/internals/utils/EventManager.d.ts +29 -0
  92. package/internals/utils/EventManager.js +69 -0
  93. package/internals/utils/cleanupTracking/CleanupTracking.d.ts +9 -0
  94. package/internals/utils/cleanupTracking/CleanupTracking.js +1 -0
  95. package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +7 -0
  96. package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +18 -0
  97. package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +10 -0
  98. package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +38 -0
  99. package/internals/utils/publishTreeViewEvent.d.ts +5 -0
  100. package/internals/utils/publishTreeViewEvent.js +3 -0
  101. package/legacy/TreeItem/TreeItem.js +21 -32
  102. package/legacy/TreeItem/useTreeItem.js +18 -27
  103. package/legacy/TreeView/TreeView.js +65 -766
  104. package/legacy/index.js +3 -2
  105. package/legacy/internals/TreeViewProvider/TreeViewContext.js +21 -0
  106. package/legacy/internals/TreeViewProvider/TreeViewProvider.js +19 -0
  107. package/legacy/internals/TreeViewProvider/TreeViewProvider.types.js +1 -0
  108. package/legacy/internals/TreeViewProvider/index.js +1 -0
  109. package/legacy/internals/TreeViewProvider/useTreeViewContext.js +5 -0
  110. package/legacy/internals/corePlugins/corePlugins.js +6 -0
  111. package/legacy/internals/corePlugins/index.js +1 -0
  112. package/legacy/internals/corePlugins/useTreeViewInstanceEvents/index.js +1 -0
  113. package/legacy/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +45 -0
  114. package/legacy/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +1 -0
  115. package/legacy/internals/hooks/useInstanceEventHandler.js +87 -0
  116. package/legacy/internals/models/events.js +1 -0
  117. package/legacy/internals/models/helpers.js +1 -0
  118. package/legacy/internals/models/index.js +3 -0
  119. package/legacy/internals/models/plugin.js +1 -0
  120. package/legacy/internals/models/treeView.js +1 -0
  121. package/legacy/internals/plugins/defaultPlugins.js +9 -0
  122. package/legacy/internals/plugins/index.js +1 -0
  123. package/legacy/internals/plugins/useTreeViewContextValueBuilder/index.js +1 -0
  124. package/legacy/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +25 -0
  125. package/legacy/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.types.js +1 -0
  126. package/legacy/internals/plugins/useTreeViewExpansion/index.js +1 -0
  127. package/legacy/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +66 -0
  128. package/legacy/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +1 -0
  129. package/legacy/internals/plugins/useTreeViewFocus/index.js +1 -0
  130. package/legacy/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +99 -0
  131. package/legacy/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +1 -0
  132. package/legacy/internals/plugins/useTreeViewKeyboardNavigation/index.js +1 -0
  133. package/legacy/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +226 -0
  134. package/legacy/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +1 -0
  135. package/legacy/internals/plugins/useTreeViewNodes/index.js +1 -0
  136. package/legacy/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +71 -0
  137. package/legacy/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.js +1 -0
  138. package/legacy/internals/plugins/useTreeViewSelection/index.js +1 -0
  139. package/legacy/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +188 -0
  140. package/legacy/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +1 -0
  141. package/legacy/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +55 -0
  142. package/legacy/internals/useTreeView/index.js +1 -0
  143. package/legacy/internals/useTreeView/useTreeView.js +71 -0
  144. package/legacy/internals/useTreeView/useTreeView.types.js +1 -0
  145. package/legacy/internals/useTreeView/useTreeView.utils.js +46 -0
  146. package/legacy/internals/useTreeView/useTreeViewModels.js +76 -0
  147. package/legacy/internals/utils/EventManager.js +91 -0
  148. package/legacy/internals/utils/cleanupTracking/CleanupTracking.js +1 -0
  149. package/legacy/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +29 -0
  150. package/legacy/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +52 -0
  151. package/legacy/internals/utils/publishTreeViewEvent.js +3 -0
  152. package/modern/TreeItem/TreeItem.js +18 -31
  153. package/modern/TreeItem/useTreeItem.js +18 -27
  154. package/modern/TreeView/TreeView.js +65 -707
  155. package/modern/index.js +3 -2
  156. package/modern/{TreeView → internals/TreeViewProvider}/TreeViewContext.js +8 -18
  157. package/modern/internals/TreeViewProvider/TreeViewProvider.js +21 -0
  158. package/modern/internals/TreeViewProvider/TreeViewProvider.types.js +1 -0
  159. package/modern/internals/TreeViewProvider/index.js +1 -0
  160. package/modern/internals/TreeViewProvider/useTreeViewContext.js +3 -0
  161. package/modern/internals/corePlugins/corePlugins.js +6 -0
  162. package/modern/internals/corePlugins/index.js +1 -0
  163. package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.js +1 -0
  164. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +35 -0
  165. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +1 -0
  166. package/modern/internals/hooks/useInstanceEventHandler.js +77 -0
  167. package/modern/internals/models/events.js +1 -0
  168. package/modern/internals/models/helpers.js +1 -0
  169. package/modern/internals/models/index.js +3 -0
  170. package/modern/internals/models/plugin.js +1 -0
  171. package/modern/internals/models/treeView.js +1 -0
  172. package/modern/internals/plugins/defaultPlugins.js +9 -0
  173. package/modern/internals/plugins/index.js +1 -0
  174. package/modern/internals/plugins/useTreeViewContextValueBuilder/index.js +1 -0
  175. package/modern/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +24 -0
  176. package/modern/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.types.js +1 -0
  177. package/modern/internals/plugins/useTreeViewExpansion/index.js +1 -0
  178. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +57 -0
  179. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +1 -0
  180. package/modern/internals/plugins/useTreeViewFocus/index.js +1 -0
  181. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +84 -0
  182. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +1 -0
  183. package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.js +1 -0
  184. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +222 -0
  185. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +1 -0
  186. package/modern/internals/plugins/useTreeViewNodes/index.js +1 -0
  187. package/modern/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +60 -0
  188. package/modern/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.js +1 -0
  189. package/modern/internals/plugins/useTreeViewSelection/index.js +1 -0
  190. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +169 -0
  191. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +1 -0
  192. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +55 -0
  193. package/modern/internals/useTreeView/index.js +1 -0
  194. package/modern/internals/useTreeView/useTreeView.js +65 -0
  195. package/modern/internals/useTreeView/useTreeView.types.js +1 -0
  196. package/modern/internals/useTreeView/useTreeView.utils.js +43 -0
  197. package/modern/internals/useTreeView/useTreeViewModels.js +63 -0
  198. package/modern/internals/utils/EventManager.js +69 -0
  199. package/modern/internals/utils/cleanupTracking/CleanupTracking.js +1 -0
  200. package/modern/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +18 -0
  201. package/modern/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +38 -0
  202. package/modern/internals/utils/publishTreeViewEvent.js +3 -0
  203. package/node/TreeItem/TreeItem.js +20 -33
  204. package/node/TreeItem/useTreeItem.js +18 -29
  205. package/node/TreeView/TreeView.js +65 -707
  206. package/node/index.js +14 -2
  207. package/node/{TreeView → internals/TreeViewProvider}/TreeViewContext.js +10 -19
  208. package/node/internals/TreeViewProvider/TreeViewProvider.js +29 -0
  209. package/node/internals/TreeViewProvider/index.js +12 -0
  210. package/node/internals/TreeViewProvider/useTreeViewContext.js +12 -0
  211. package/node/internals/corePlugins/corePlugins.js +13 -0
  212. package/node/internals/corePlugins/index.js +12 -0
  213. package/node/internals/corePlugins/useTreeViewInstanceEvents/index.js +12 -0
  214. package/node/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +44 -0
  215. package/node/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +5 -0
  216. package/node/internals/hooks/useInstanceEventHandler.js +88 -0
  217. package/node/internals/models/events.js +5 -0
  218. package/node/internals/models/helpers.js +5 -0
  219. package/node/internals/models/index.js +38 -0
  220. package/node/internals/models/plugin.js +5 -0
  221. package/node/internals/models/treeView.js +5 -0
  222. package/node/internals/plugins/defaultPlugins.js +16 -0
  223. package/node/internals/plugins/index.js +12 -0
  224. package/node/internals/plugins/useTreeViewContextValueBuilder/index.js +12 -0
  225. package/node/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +32 -0
  226. package/node/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.types.js +5 -0
  227. package/node/internals/plugins/useTreeViewExpansion/index.js +12 -0
  228. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +67 -0
  229. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +5 -0
  230. package/node/internals/plugins/useTreeViewFocus/index.js +12 -0
  231. package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +94 -0
  232. package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +5 -0
  233. package/node/internals/plugins/useTreeViewKeyboardNavigation/index.js +12 -0
  234. package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +232 -0
  235. package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +5 -0
  236. package/node/internals/plugins/useTreeViewNodes/index.js +12 -0
  237. package/node/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +70 -0
  238. package/node/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.js +5 -0
  239. package/node/internals/plugins/useTreeViewSelection/index.js +12 -0
  240. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +179 -0
  241. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +5 -0
  242. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +62 -0
  243. package/node/internals/useTreeView/index.js +12 -0
  244. package/node/internals/useTreeView/useTreeView.js +75 -0
  245. package/node/internals/useTreeView/useTreeView.types.js +5 -0
  246. package/node/internals/useTreeView/useTreeView.utils.js +54 -0
  247. package/node/internals/useTreeView/useTreeViewModels.js +73 -0
  248. package/node/internals/utils/EventManager.js +76 -0
  249. package/node/internals/utils/cleanupTracking/CleanupTracking.js +5 -0
  250. package/node/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +25 -0
  251. package/node/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +45 -0
  252. package/node/internals/utils/publishTreeViewEvent.js +10 -0
  253. package/package.json +1 -1
  254. package/themeAugmentation/props.d.ts +1 -1
  255. package/TreeView/TreeViewContext.d.ts +0 -6
  256. package/internals/models.d.ts +0 -1
  257. package/legacy/TreeView/TreeViewContext.js +0 -41
  258. /package/{TreeView/descendants.js → internals/TreeViewProvider/DescendantProvider.js} +0 -0
  259. /package/internals/{models.js → TreeViewProvider/TreeViewProvider.types.js} +0 -0
  260. /package/{legacy/internals/models.js → internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js} +0 -0
  261. /package/{modern/internals/models.js → internals/models/events.js} +0 -0
  262. /package/legacy/{TreeView/descendants.js → internals/TreeViewProvider/DescendantProvider.js} +0 -0
  263. /package/modern/{TreeView/descendants.js → internals/TreeViewProvider/DescendantProvider.js} +0 -0
  264. /package/node/{TreeView/descendants.js → internals/TreeViewProvider/DescendantProvider.js} +0 -0
  265. /package/node/internals/{models.js → TreeViewProvider/TreeViewProvider.types.js} +0 -0
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-tree-view v6.0.0-alpha.3
2
+ * @mui/x-tree-view v6.0.0-beta.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -10,9 +10,19 @@
10
10
  Object.defineProperty(exports, "__esModule", {
11
11
  value: true
12
12
  });
13
+ var _exportNames = {
14
+ unstable_resetCleanupTracking: true
15
+ };
16
+ Object.defineProperty(exports, "unstable_resetCleanupTracking", {
17
+ enumerable: true,
18
+ get: function () {
19
+ return _useInstanceEventHandler.unstable_resetCleanupTracking;
20
+ }
21
+ });
13
22
  var _TreeItem = require("./TreeItem");
14
23
  Object.keys(_TreeItem).forEach(function (key) {
15
24
  if (key === "default" || key === "__esModule") return;
25
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
16
26
  if (key in exports && exports[key] === _TreeItem[key]) return;
17
27
  Object.defineProperty(exports, key, {
18
28
  enumerable: true,
@@ -24,6 +34,7 @@ Object.keys(_TreeItem).forEach(function (key) {
24
34
  var _TreeView = require("./TreeView");
25
35
  Object.keys(_TreeView).forEach(function (key) {
26
36
  if (key === "default" || key === "__esModule") return;
37
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
27
38
  if (key in exports && exports[key] === _TreeView[key]) return;
28
39
  Object.defineProperty(exports, key, {
29
40
  enumerable: true,
@@ -31,4 +42,5 @@ Object.keys(_TreeView).forEach(function (key) {
31
42
  return _TreeView[key];
32
43
  }
33
44
  });
34
- });
45
+ });
46
+ var _useInstanceEventHandler = require("./internals/hooks/useInstanceEventHandler");
@@ -3,27 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TreeViewContext = void 0;
6
+ exports.TreeViewContext = exports.DEFAULT_TREE_VIEW_CONTEXT_VALUE = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9
9
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
10
- /**
11
- * @ignore - internal component.
12
- */
13
- const TreeViewContext = /*#__PURE__*/React.createContext({
14
- registerNode: () => {},
15
- unregisterNode: () => {},
16
- isFocused: () => false,
17
- isSelected: () => false,
18
- isExpanded: () => false,
19
- isExpandable: () => false,
20
- isDisabled: () => false,
21
- mapFirstChar: () => {},
22
- unMapFirstChar: () => {},
23
- focus: () => {},
24
- toggleExpansion: () => {},
25
- selectNode: () => {},
26
- selectRange: () => {},
10
+ const DEFAULT_TREE_VIEW_CONTEXT_VALUE = {
11
+ instance: null,
27
12
  multiSelect: false,
28
13
  disabledItemsFocusable: false,
29
14
  treeId: undefined,
@@ -33,7 +18,13 @@ const TreeViewContext = /*#__PURE__*/React.createContext({
33
18
  defaultParentIcon: null,
34
19
  defaultEndIcon: null
35
20
  }
36
- });
21
+ };
22
+
23
+ /**
24
+ * @ignore - internal component.
25
+ */
26
+ exports.DEFAULT_TREE_VIEW_CONTEXT_VALUE = DEFAULT_TREE_VIEW_CONTEXT_VALUE;
27
+ const TreeViewContext = /*#__PURE__*/React.createContext(DEFAULT_TREE_VIEW_CONTEXT_VALUE);
37
28
  exports.TreeViewContext = TreeViewContext;
38
29
  if (process.env.NODE_ENV !== 'production') {
39
30
  TreeViewContext.displayName = 'TreeViewContext';
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TreeViewProvider = TreeViewProvider;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _TreeViewContext = require("./TreeViewContext");
9
+ var _DescendantProvider = require("./DescendantProvider");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
+ /**
14
+ * Sets up the contexts for the underlying TreeItem components.
15
+ *
16
+ * @ignore - do not document.
17
+ */
18
+ function TreeViewProvider(props) {
19
+ const {
20
+ value,
21
+ children
22
+ } = props;
23
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewContext.TreeViewContext.Provider, {
24
+ value: value,
25
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DescendantProvider.DescendantProvider, {
26
+ children: children
27
+ })
28
+ });
29
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "TreeViewProvider", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _TreeViewProvider.TreeViewProvider;
10
+ }
11
+ });
12
+ var _TreeViewProvider = require("./TreeViewProvider");
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useTreeViewContext = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _TreeViewContext = require("./TreeViewContext");
9
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
+ const useTreeViewContext = () => React.useContext(_TreeViewContext.TreeViewContext);
12
+ exports.useTreeViewContext = useTreeViewContext;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TREE_VIEW_CORE_PLUGINS = void 0;
7
+ var _useTreeViewInstanceEvents = require("./useTreeViewInstanceEvents");
8
+ /**
9
+ * Internal plugins that creates the tools used by the other plugins.
10
+ * These plugins are used by the tree view components.
11
+ */
12
+ const TREE_VIEW_CORE_PLUGINS = [_useTreeViewInstanceEvents.useTreeViewInstanceEvents];
13
+ exports.TREE_VIEW_CORE_PLUGINS = TREE_VIEW_CORE_PLUGINS;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "TREE_VIEW_CORE_PLUGINS", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _corePlugins.TREE_VIEW_CORE_PLUGINS;
10
+ }
11
+ });
12
+ var _corePlugins = require("./corePlugins");
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useTreeViewInstanceEvents", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _useTreeViewInstanceEvents.useTreeViewInstanceEvents;
10
+ }
11
+ });
12
+ var _useTreeViewInstanceEvents = require("./useTreeViewInstanceEvents");
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useTreeViewInstanceEvents = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _EventManager = require("../../utils/EventManager");
9
+ var _useTreeView = require("../../useTreeView/useTreeView.utils");
10
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
+ const isSyntheticEvent = event => {
13
+ return event.isPropagationStopped !== undefined;
14
+ };
15
+
16
+ /**
17
+ * Plugin responsible for the registration of the nodes defined as JSX children of the TreeView.
18
+ * When we will have both a SimpleTreeView using JSX children and a TreeView using a data prop,
19
+ * this plugin will only be used by SimpleTreeView.
20
+ */
21
+ const useTreeViewInstanceEvents = ({
22
+ instance
23
+ }) => {
24
+ const [eventManager] = React.useState(() => new _EventManager.EventManager());
25
+ const publishEvent = React.useCallback((...args) => {
26
+ const [name, params, event = {}] = args;
27
+ event.defaultMuiPrevented = false;
28
+ if (isSyntheticEvent(event) && event.isPropagationStopped()) {
29
+ return;
30
+ }
31
+ eventManager.emit(name, params, event);
32
+ }, [eventManager]);
33
+ const subscribeEvent = React.useCallback((event, handler) => {
34
+ eventManager.on(event, handler);
35
+ return () => {
36
+ eventManager.removeListener(event, handler);
37
+ };
38
+ }, [eventManager]);
39
+ (0, _useTreeView.populateInstance)(instance, {
40
+ $$publishEvent: publishEvent,
41
+ $$subscribeEvent: subscribeEvent
42
+ });
43
+ };
44
+ exports.useTreeViewInstanceEvents = useTreeViewInstanceEvents;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createUseInstanceEventHandler = createUseInstanceEventHandler;
7
+ exports.useInstanceEventHandler = exports.unstable_resetCleanupTracking = void 0;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _TimerBasedCleanupTracking = require("../utils/cleanupTracking/TimerBasedCleanupTracking");
10
+ var _FinalizationRegistryBasedCleanupTracking = require("../utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking");
11
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
+ // We use class to make it easier to detect in heap snapshots by name
14
+ class ObjectToBeRetainedByReact {}
15
+
16
+ // Based on https://github.com/Bnaya/use-dispose-uncommitted/blob/main/src/finalization-registry-based-impl.ts
17
+ // Check https://github.com/facebook/react/issues/15317 to get more information
18
+ function createUseInstanceEventHandler(registryContainer) {
19
+ let cleanupTokensCounter = 0;
20
+ return function useInstanceEventHandler(instance, eventName, handler) {
21
+ if (registryContainer.registry === null) {
22
+ registryContainer.registry = typeof FinalizationRegistry !== 'undefined' ? new _FinalizationRegistryBasedCleanupTracking.FinalizationRegistryBasedCleanupTracking() : new _TimerBasedCleanupTracking.TimerBasedCleanupTracking();
23
+ }
24
+ const [objectRetainedByReact] = React.useState(new ObjectToBeRetainedByReact());
25
+ const subscription = React.useRef(null);
26
+ const handlerRef = React.useRef();
27
+ handlerRef.current = handler;
28
+ const cleanupTokenRef = React.useRef(null);
29
+ if (!subscription.current && handlerRef.current) {
30
+ const enhancedHandler = (params, event) => {
31
+ if (!event.defaultMuiPrevented) {
32
+ handlerRef.current?.(params, event);
33
+ }
34
+ };
35
+ subscription.current = instance.$$subscribeEvent(eventName, enhancedHandler);
36
+ cleanupTokensCounter += 1;
37
+ cleanupTokenRef.current = {
38
+ cleanupToken: cleanupTokensCounter
39
+ };
40
+ registryContainer.registry.register(objectRetainedByReact,
41
+ // The callback below will be called once this reference stops being retained
42
+ () => {
43
+ subscription.current?.();
44
+ subscription.current = null;
45
+ cleanupTokenRef.current = null;
46
+ }, cleanupTokenRef.current);
47
+ } else if (!handlerRef.current && subscription.current) {
48
+ subscription.current();
49
+ subscription.current = null;
50
+ if (cleanupTokenRef.current) {
51
+ registryContainer.registry.unregister(cleanupTokenRef.current);
52
+ cleanupTokenRef.current = null;
53
+ }
54
+ }
55
+ React.useEffect(() => {
56
+ if (!subscription.current && handlerRef.current) {
57
+ const enhancedHandler = (params, event) => {
58
+ if (!event.defaultMuiPrevented) {
59
+ handlerRef.current?.(params, event);
60
+ }
61
+ };
62
+ subscription.current = instance.$$subscribeEvent(eventName, enhancedHandler);
63
+ }
64
+ if (cleanupTokenRef.current && registryContainer.registry) {
65
+ // If the effect was called, it means that this render was committed
66
+ // so we can trust the cleanup function to remove the listener.
67
+ registryContainer.registry.unregister(cleanupTokenRef.current);
68
+ cleanupTokenRef.current = null;
69
+ }
70
+ return () => {
71
+ subscription.current?.();
72
+ subscription.current = null;
73
+ };
74
+ }, [instance, eventName]);
75
+ };
76
+ }
77
+ const registryContainer = {
78
+ registry: null
79
+ };
80
+
81
+ // eslint-disable-next-line @typescript-eslint/naming-convention
82
+ const unstable_resetCleanupTracking = () => {
83
+ registryContainer.registry?.reset();
84
+ registryContainer.registry = null;
85
+ };
86
+ exports.unstable_resetCleanupTracking = unstable_resetCleanupTracking;
87
+ const useInstanceEventHandler = createUseInstanceEventHandler(registryContainer);
88
+ exports.useInstanceEventHandler = useInstanceEventHandler;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _helpers = require("./helpers");
7
+ Object.keys(_helpers).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _helpers[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _helpers[key];
14
+ }
15
+ });
16
+ });
17
+ var _plugin = require("./plugin");
18
+ Object.keys(_plugin).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _plugin[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _plugin[key];
25
+ }
26
+ });
27
+ });
28
+ var _treeView = require("./treeView");
29
+ Object.keys(_treeView).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _treeView[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _treeView[key];
36
+ }
37
+ });
38
+ });
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DEFAULT_TREE_VIEW_PLUGINS = void 0;
7
+ var _useTreeViewNodes = require("./useTreeViewNodes");
8
+ var _useTreeViewExpansion = require("./useTreeViewExpansion");
9
+ var _useTreeViewSelection = require("./useTreeViewSelection");
10
+ var _useTreeViewFocus = require("./useTreeViewFocus");
11
+ var _useTreeViewKeyboardNavigation = require("./useTreeViewKeyboardNavigation");
12
+ var _useTreeViewContextValueBuilder = require("./useTreeViewContextValueBuilder");
13
+ const DEFAULT_TREE_VIEW_PLUGINS = [_useTreeViewNodes.useTreeViewNodes, _useTreeViewExpansion.useTreeViewExpansion, _useTreeViewSelection.useTreeViewSelection, _useTreeViewFocus.useTreeViewFocus, _useTreeViewKeyboardNavigation.useTreeViewKeyboardNavigation, _useTreeViewContextValueBuilder.useTreeViewContextValueBuilder];
14
+
15
+ // We can't infer this type from the plugin, otherwise we would lose the generics.
16
+ exports.DEFAULT_TREE_VIEW_PLUGINS = DEFAULT_TREE_VIEW_PLUGINS;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "DEFAULT_TREE_VIEW_PLUGINS", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _defaultPlugins.DEFAULT_TREE_VIEW_PLUGINS;
10
+ }
11
+ });
12
+ var _defaultPlugins = require("./defaultPlugins");
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useTreeViewContextValueBuilder", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _useTreeViewContextValueBuilder.useTreeViewContextValueBuilder;
10
+ }
11
+ });
12
+ var _useTreeViewContextValueBuilder = require("./useTreeViewContextValueBuilder");
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useTreeViewContextValueBuilder = void 0;
8
+ var _useId = _interopRequireDefault(require("@mui/utils/useId"));
9
+ const useTreeViewContextValueBuilder = ({
10
+ instance,
11
+ params
12
+ }) => {
13
+ const treeId = (0, _useId.default)(params.id);
14
+ return {
15
+ getRootProps: () => ({
16
+ id: treeId
17
+ }),
18
+ contextValue: {
19
+ treeId,
20
+ instance: instance,
21
+ multiSelect: params.multiSelect,
22
+ disabledItemsFocusable: params.disabledItemsFocusable,
23
+ icons: {
24
+ defaultCollapseIcon: params.defaultCollapseIcon,
25
+ defaultEndIcon: params.defaultEndIcon,
26
+ defaultExpandIcon: params.defaultExpandIcon,
27
+ defaultParentIcon: params.defaultParentIcon
28
+ }
29
+ }
30
+ };
31
+ };
32
+ exports.useTreeViewContextValueBuilder = useTreeViewContextValueBuilder;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useTreeViewExpansion", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _useTreeViewExpansion.useTreeViewExpansion;
10
+ }
11
+ });
12
+ var _useTreeViewExpansion = require("./useTreeViewExpansion");
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useTreeViewExpansion = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
11
+ var _useTreeView = require("../../useTreeView/useTreeView.utils");
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ const useTreeViewExpansion = ({
15
+ instance,
16
+ params,
17
+ models
18
+ }) => {
19
+ const isNodeExpanded = React.useCallback(nodeId => {
20
+ return Array.isArray(models.expanded.value) ? models.expanded.value.indexOf(nodeId) !== -1 : false;
21
+ }, [models.expanded.value]);
22
+ const isNodeExpandable = React.useCallback(nodeId => !!instance.getNode(nodeId)?.expandable, [instance]);
23
+ const toggleNodeExpansion = (0, _useEventCallback.default)((event, nodeId) => {
24
+ if (nodeId == null) {
25
+ return;
26
+ }
27
+ let newExpanded;
28
+ if (models.expanded.value.indexOf(nodeId) !== -1) {
29
+ newExpanded = models.expanded.value.filter(id => id !== nodeId);
30
+ } else {
31
+ newExpanded = [nodeId].concat(models.expanded.value);
32
+ }
33
+ if (params.onNodeToggle) {
34
+ params.onNodeToggle(event, newExpanded);
35
+ }
36
+ models.expanded.setValue(newExpanded);
37
+ });
38
+ const expandAllSiblings = (event, nodeId) => {
39
+ const node = instance.getNode(nodeId);
40
+ const siblings = instance.getChildrenIds(node.parentId);
41
+ const diff = siblings.filter(child => instance.isNodeExpandable(child) && !instance.isNodeExpanded(child));
42
+ const newExpanded = models.expanded.value.concat(diff);
43
+ if (diff.length > 0) {
44
+ models.expanded.setValue(newExpanded);
45
+ if (params.onNodeToggle) {
46
+ params.onNodeToggle(event, newExpanded);
47
+ }
48
+ }
49
+ };
50
+ (0, _useTreeView.populateInstance)(instance, {
51
+ isNodeExpanded,
52
+ isNodeExpandable,
53
+ toggleNodeExpansion,
54
+ expandAllSiblings
55
+ });
56
+ };
57
+ exports.useTreeViewExpansion = useTreeViewExpansion;
58
+ useTreeViewExpansion.models = {
59
+ expanded: {
60
+ controlledProp: 'expanded',
61
+ defaultProp: 'defaultExpanded'
62
+ }
63
+ };
64
+ const DEFAULT_EXPANDED = [];
65
+ useTreeViewExpansion.getDefaultizedParams = params => (0, _extends2.default)({}, params, {
66
+ defaultExpanded: params.defaultExpanded ?? DEFAULT_EXPANDED
67
+ });
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useTreeViewFocus", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _useTreeViewFocus.useTreeViewFocus;
10
+ }
11
+ });
12
+ var _useTreeViewFocus = require("./useTreeViewFocus");