@fluentui/react-tree 9.0.0-beta.3 → 9.0.0-beta.31

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 (315) hide show
  1. package/CHANGELOG.json +1665 -1
  2. package/CHANGELOG.md +446 -2
  3. package/dist/index.d.ts +407 -129
  4. package/lib/FlatTree.js +1 -0
  5. package/lib/FlatTree.js.map +1 -0
  6. package/lib/Tree.js +0 -1
  7. package/lib/Tree.js.map +1 -1
  8. package/lib/TreeItem.js +0 -1
  9. package/lib/TreeItem.js.map +1 -1
  10. package/lib/TreeItemLayout.js +0 -1
  11. package/lib/TreeItemLayout.js.map +1 -1
  12. package/lib/TreeItemPersonaLayout.js +0 -1
  13. package/lib/TreeItemPersonaLayout.js.map +1 -1
  14. package/lib/components/FlatTree/FlatTree.js +17 -0
  15. package/lib/components/FlatTree/FlatTree.js.map +1 -0
  16. package/lib/components/FlatTree/FlatTree.types.js +1 -0
  17. package/lib/components/FlatTree/FlatTree.types.js.map +1 -0
  18. package/lib/components/FlatTree/index.js +7 -0
  19. package/lib/components/FlatTree/index.js.map +1 -0
  20. package/lib/components/FlatTree/renderFlatTree.js +2 -0
  21. package/lib/components/FlatTree/renderFlatTree.js.map +1 -0
  22. package/lib/components/FlatTree/useFlatControllableCheckedItems.js +76 -0
  23. package/lib/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -0
  24. package/lib/components/FlatTree/useFlatTree.js +3 -0
  25. package/lib/components/FlatTree/useFlatTree.js.map +1 -0
  26. package/lib/components/FlatTree/useFlatTreeContextValues.js +2 -0
  27. package/lib/components/FlatTree/useFlatTreeContextValues.js.map +1 -0
  28. package/lib/components/FlatTree/useFlatTreeNavigation.js +74 -0
  29. package/lib/components/FlatTree/useFlatTreeNavigation.js.map +1 -0
  30. package/lib/components/FlatTree/useFlatTreeStyles.styles.js +20 -0
  31. package/lib/components/FlatTree/useFlatTreeStyles.styles.js.map +1 -0
  32. package/lib/components/FlatTree/useHeadlessFlatTree.js +125 -0
  33. package/lib/components/FlatTree/useHeadlessFlatTree.js.map +1 -0
  34. package/lib/components/Tree/Tree.js +9 -15
  35. package/lib/components/Tree/Tree.js.map +1 -1
  36. package/lib/components/Tree/Tree.types.js +1 -2
  37. package/lib/components/Tree/Tree.types.js.map +1 -1
  38. package/lib/components/Tree/index.js +2 -3
  39. package/lib/components/Tree/index.js.map +1 -1
  40. package/lib/components/Tree/renderTree.js +7 -13
  41. package/lib/components/Tree/renderTree.js.map +1 -1
  42. package/lib/components/Tree/useNestedControllableCheckedItems.js +22 -0
  43. package/lib/components/Tree/useNestedControllableCheckedItems.js.map +1 -0
  44. package/lib/components/Tree/useTree.js +64 -111
  45. package/lib/components/Tree/useTree.js.map +1 -1
  46. package/lib/components/Tree/useTreeContextValues.js +14 -22
  47. package/lib/components/Tree/useTreeContextValues.js.map +1 -1
  48. package/lib/components/Tree/useTreeNavigation.js +52 -0
  49. package/lib/components/Tree/useTreeNavigation.js.map +1 -0
  50. package/lib/components/Tree/{useTreeStyles.js → useTreeStyles.styles.js} +7 -3
  51. package/lib/components/Tree/useTreeStyles.styles.js.map +1 -0
  52. package/lib/components/TreeItem/TreeItem.js +16 -9
  53. package/lib/components/TreeItem/TreeItem.js.map +1 -1
  54. package/lib/components/TreeItem/TreeItem.types.js +1 -2
  55. package/lib/components/TreeItem/TreeItem.types.js.map +1 -1
  56. package/lib/components/TreeItem/index.js +2 -2
  57. package/lib/components/TreeItem/index.js.map +1 -1
  58. package/lib/components/TreeItem/renderTreeItem.js +7 -25
  59. package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
  60. package/lib/components/TreeItem/useTreeItem.js +159 -234
  61. package/lib/components/TreeItem/useTreeItem.js.map +1 -1
  62. package/lib/components/TreeItem/useTreeItemContextValues.js +20 -16
  63. package/lib/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  64. package/lib/components/TreeItem/useTreeItemStyles.styles.js +100 -0
  65. package/lib/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
  66. package/lib/components/TreeItemChevron.js +24 -0
  67. package/lib/components/TreeItemChevron.js.map +1 -0
  68. package/lib/components/TreeItemLayout/TreeItemLayout.js +8 -8
  69. package/lib/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  70. package/lib/components/TreeItemLayout/TreeItemLayout.types.js +1 -2
  71. package/lib/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  72. package/lib/components/TreeItemLayout/index.js +1 -2
  73. package/lib/components/TreeItemLayout/index.js.map +1 -1
  74. package/lib/components/TreeItemLayout/renderTreeItemLayout.js +8 -21
  75. package/lib/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  76. package/lib/components/TreeItemLayout/useTreeItemLayout.js +107 -40
  77. package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  78. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +237 -0
  79. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
  80. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +9 -9
  81. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  82. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +1 -2
  83. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  84. package/lib/components/TreeItemPersonaLayout/index.js +1 -2
  85. package/lib/components/TreeItemPersonaLayout/index.js.map +1 -1
  86. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +10 -27
  87. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  88. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +42 -48
  89. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  90. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +9 -10
  91. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  92. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +210 -0
  93. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
  94. package/lib/contexts/index.js +0 -1
  95. package/lib/contexts/index.js.map +1 -1
  96. package/lib/contexts/treeContext.js +13 -15
  97. package/lib/contexts/treeContext.js.map +1 -1
  98. package/lib/contexts/treeItemContext.js +16 -10
  99. package/lib/contexts/treeItemContext.js.map +1 -1
  100. package/lib/hooks/useControllableOpenItems.js +28 -0
  101. package/lib/hooks/useControllableOpenItems.js.map +1 -0
  102. package/lib/hooks/useRootTree.js +141 -0
  103. package/lib/hooks/useRootTree.js.map +1 -0
  104. package/lib/hooks/useRovingTabIndexes.js +30 -49
  105. package/lib/hooks/useRovingTabIndexes.js.map +1 -1
  106. package/lib/hooks/useSubtree.js +41 -0
  107. package/lib/hooks/useSubtree.js.map +1 -0
  108. package/lib/index.js +3 -4
  109. package/lib/index.js.map +1 -1
  110. package/lib/utils/ImmutableMap.js +41 -0
  111. package/lib/utils/ImmutableMap.js.map +1 -0
  112. package/lib/utils/ImmutableSet.js +42 -33
  113. package/lib/utils/ImmutableSet.js.map +1 -1
  114. package/lib/utils/assert.js +5 -5
  115. package/lib/utils/assert.js.map +1 -1
  116. package/lib/utils/createCheckedItems.js +18 -0
  117. package/lib/utils/createCheckedItems.js.map +1 -0
  118. package/lib/utils/createHTMLElementWalker.js +67 -0
  119. package/lib/utils/createHTMLElementWalker.js.map +1 -0
  120. package/lib/utils/createHeadlessTree.js +189 -0
  121. package/lib/utils/createHeadlessTree.js.map +1 -0
  122. package/lib/utils/createOpenItems.js +10 -0
  123. package/lib/utils/createOpenItems.js.map +1 -0
  124. package/lib/utils/flattenTree.js +54 -29
  125. package/lib/utils/flattenTree.js.map +1 -1
  126. package/lib/utils/getTreeItemValueFromElement.js +4 -0
  127. package/lib/utils/getTreeItemValueFromElement.js.map +1 -0
  128. package/lib/utils/nextTypeAheadElement.js +11 -12
  129. package/lib/utils/nextTypeAheadElement.js.map +1 -1
  130. package/lib/utils/normalizeOpenItems.js +6 -5
  131. package/lib/utils/normalizeOpenItems.js.map +1 -1
  132. package/lib/utils/tokens.js +14 -14
  133. package/lib/utils/tokens.js.map +1 -1
  134. package/lib/utils/treeItemFilter.js +2 -3
  135. package/lib/utils/treeItemFilter.js.map +1 -1
  136. package/lib-commonjs/FlatTree.js +6 -0
  137. package/lib-commonjs/FlatTree.js.map +1 -0
  138. package/lib-commonjs/Tree.js +3 -5
  139. package/lib-commonjs/Tree.js.map +1 -1
  140. package/lib-commonjs/TreeItem.js +3 -5
  141. package/lib-commonjs/TreeItem.js.map +1 -1
  142. package/lib-commonjs/TreeItemLayout.js +3 -5
  143. package/lib-commonjs/TreeItemLayout.js.map +1 -1
  144. package/lib-commonjs/TreeItemPersonaLayout.js +3 -5
  145. package/lib-commonjs/TreeItemPersonaLayout.js.map +1 -1
  146. package/lib-commonjs/components/FlatTree/FlatTree.js +21 -0
  147. package/lib-commonjs/components/FlatTree/FlatTree.js.map +1 -0
  148. package/lib-commonjs/components/FlatTree/FlatTree.types.js +4 -0
  149. package/lib-commonjs/components/FlatTree/FlatTree.types.js.map +1 -0
  150. package/lib-commonjs/components/FlatTree/index.js +12 -0
  151. package/lib-commonjs/components/FlatTree/index.js.map +1 -0
  152. package/lib-commonjs/components/FlatTree/renderFlatTree.js +10 -0
  153. package/lib-commonjs/components/FlatTree/renderFlatTree.js.map +1 -0
  154. package/lib-commonjs/components/FlatTree/useFlatControllableCheckedItems.js +91 -0
  155. package/lib-commonjs/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -0
  156. package/lib-commonjs/components/FlatTree/useFlatTree.js +12 -0
  157. package/lib-commonjs/components/FlatTree/useFlatTree.js.map +1 -0
  158. package/lib-commonjs/components/FlatTree/useFlatTreeContextValues.js +10 -0
  159. package/lib-commonjs/components/FlatTree/useFlatTreeContextValues.js.map +1 -0
  160. package/lib-commonjs/components/FlatTree/useFlatTreeNavigation.js +82 -0
  161. package/lib-commonjs/components/FlatTree/useFlatTreeNavigation.js.map +1 -0
  162. package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js +36 -0
  163. package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js.map +1 -0
  164. package/lib-commonjs/components/FlatTree/useHeadlessFlatTree.js +122 -0
  165. package/lib-commonjs/components/FlatTree/useHeadlessFlatTree.js.map +1 -0
  166. package/lib-commonjs/components/Tree/Tree.js +17 -23
  167. package/lib-commonjs/components/Tree/Tree.js.map +1 -1
  168. package/lib-commonjs/components/Tree/Tree.types.js +1 -3
  169. package/lib-commonjs/components/Tree/Tree.types.js.map +1 -1
  170. package/lib-commonjs/components/Tree/index.js +8 -10
  171. package/lib-commonjs/components/Tree/index.js.map +1 -1
  172. package/lib-commonjs/components/Tree/renderTree.js +14 -19
  173. package/lib-commonjs/components/Tree/renderTree.js.map +1 -1
  174. package/lib-commonjs/components/Tree/useNestedControllableCheckedItems.js +37 -0
  175. package/lib-commonjs/components/Tree/useNestedControllableCheckedItems.js.map +1 -0
  176. package/lib-commonjs/components/Tree/useTree.js +70 -115
  177. package/lib-commonjs/components/Tree/useTree.js.map +1 -1
  178. package/lib-commonjs/components/Tree/useTreeContextValues.js +19 -26
  179. package/lib-commonjs/components/Tree/useTreeContextValues.js.map +1 -1
  180. package/lib-commonjs/components/Tree/useTreeNavigation.js +60 -0
  181. package/lib-commonjs/components/Tree/useTreeNavigation.js.map +1 -0
  182. package/lib-commonjs/components/Tree/useTreeStyles.styles.js +41 -0
  183. package/lib-commonjs/components/Tree/useTreeStyles.styles.js.map +1 -0
  184. package/lib-commonjs/components/TreeItem/TreeItem.js +17 -18
  185. package/lib-commonjs/components/TreeItem/TreeItem.js.map +1 -1
  186. package/lib-commonjs/components/TreeItem/TreeItem.types.js +3 -4
  187. package/lib-commonjs/components/TreeItem/TreeItem.types.js.map +1 -1
  188. package/lib-commonjs/components/TreeItem/index.js +8 -9
  189. package/lib-commonjs/components/TreeItem/index.js.map +1 -1
  190. package/lib-commonjs/components/TreeItem/renderTreeItem.js +14 -33
  191. package/lib-commonjs/components/TreeItem/renderTreeItem.js.map +1 -1
  192. package/lib-commonjs/components/TreeItem/useTreeItem.js +169 -250
  193. package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
  194. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js +25 -20
  195. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  196. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js +202 -0
  197. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
  198. package/lib-commonjs/components/TreeItemChevron.js +33 -0
  199. package/lib-commonjs/components/TreeItemChevron.js.map +1 -0
  200. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js +15 -16
  201. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  202. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js +1 -3
  203. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  204. package/lib-commonjs/components/TreeItemLayout/index.js +7 -9
  205. package/lib-commonjs/components/TreeItemLayout/index.js.map +1 -1
  206. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js +14 -28
  207. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  208. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +113 -52
  209. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  210. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +392 -0
  211. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
  212. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +17 -18
  213. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  214. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +1 -3
  215. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  216. package/lib-commonjs/components/TreeItemPersonaLayout/index.js +7 -9
  217. package/lib-commonjs/components/TreeItemPersonaLayout/index.js.map +1 -1
  218. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +17 -35
  219. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  220. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +49 -61
  221. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  222. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +16 -15
  223. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  224. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +379 -0
  225. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
  226. package/lib-commonjs/contexts/index.js +4 -6
  227. package/lib-commonjs/contexts/index.js.map +1 -1
  228. package/lib-commonjs/contexts/treeContext.js +26 -18
  229. package/lib-commonjs/contexts/treeContext.js.map +1 -1
  230. package/lib-commonjs/contexts/treeItemContext.js +30 -13
  231. package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
  232. package/lib-commonjs/hooks/useControllableOpenItems.js +39 -0
  233. package/lib-commonjs/hooks/useControllableOpenItems.js.map +1 -0
  234. package/lib-commonjs/hooks/useRootTree.js +145 -0
  235. package/lib-commonjs/hooks/useRootTree.js.map +1 -0
  236. package/lib-commonjs/hooks/useRovingTabIndexes.js +36 -55
  237. package/lib-commonjs/hooks/useRovingTabIndexes.js.map +1 -1
  238. package/lib-commonjs/hooks/useSubtree.js +45 -0
  239. package/lib-commonjs/hooks/useSubtree.js.map +1 -0
  240. package/lib-commonjs/index.js +53 -181
  241. package/lib-commonjs/index.js.map +1 -1
  242. package/lib-commonjs/utils/ImmutableMap.js +49 -0
  243. package/lib-commonjs/utils/ImmutableMap.js.map +1 -0
  244. package/lib-commonjs/utils/ImmutableSet.js +47 -38
  245. package/lib-commonjs/utils/ImmutableSet.js.map +1 -1
  246. package/lib-commonjs/utils/assert.js +11 -9
  247. package/lib-commonjs/utils/assert.js.map +1 -1
  248. package/lib-commonjs/utils/createCheckedItems.js +26 -0
  249. package/lib-commonjs/utils/createCheckedItems.js.map +1 -0
  250. package/lib-commonjs/utils/createHTMLElementWalker.js +75 -0
  251. package/lib-commonjs/utils/createHTMLElementWalker.js.map +1 -0
  252. package/lib-commonjs/utils/createHeadlessTree.js +203 -0
  253. package/lib-commonjs/utils/createHeadlessTree.js.map +1 -0
  254. package/lib-commonjs/utils/createOpenItems.js +18 -0
  255. package/lib-commonjs/utils/createOpenItems.js.map +1 -0
  256. package/lib-commonjs/utils/flattenTree.js +21 -34
  257. package/lib-commonjs/utils/flattenTree.js.map +1 -1
  258. package/lib-commonjs/utils/getTreeItemValueFromElement.js +18 -0
  259. package/lib-commonjs/utils/getTreeItemValueFromElement.js.map +1 -0
  260. package/lib-commonjs/utils/nextTypeAheadElement.js +16 -16
  261. package/lib-commonjs/utils/nextTypeAheadElement.js.map +1 -1
  262. package/lib-commonjs/utils/normalizeOpenItems.js +11 -9
  263. package/lib-commonjs/utils/normalizeOpenItems.js.map +1 -1
  264. package/lib-commonjs/utils/tokens.js +29 -20
  265. package/lib-commonjs/utils/tokens.js.map +1 -1
  266. package/lib-commonjs/utils/treeItemFilter.js +7 -7
  267. package/lib-commonjs/utils/treeItemFilter.js.map +1 -1
  268. package/package.json +26 -17
  269. package/lib/components/Tree/useTreeStyles.js.map +0 -1
  270. package/lib/components/TreeItem/useTreeItemStyles.js +0 -203
  271. package/lib/components/TreeItem/useTreeItemStyles.js.map +0 -1
  272. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -98
  273. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
  274. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js +0 -115
  275. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
  276. package/lib/hooks/index.js +0 -4
  277. package/lib/hooks/index.js.map +0 -1
  278. package/lib/hooks/useFlatTree.js +0 -49
  279. package/lib/hooks/useFlatTree.js.map +0 -1
  280. package/lib/hooks/useFlatTreeNavigation.js +0 -74
  281. package/lib/hooks/useFlatTreeNavigation.js.map +0 -1
  282. package/lib/hooks/useHTMLElementWalker.js +0 -80
  283. package/lib/hooks/useHTMLElementWalker.js.map +0 -1
  284. package/lib/hooks/useNestedTreeNavigation.js +0 -59
  285. package/lib/hooks/useNestedTreeNavigation.js.map +0 -1
  286. package/lib/hooks/useOpenItemsState.js +0 -22
  287. package/lib/hooks/useOpenItemsState.js.map +0 -1
  288. package/lib/utils/createUnfilteredFlatTree.js +0 -77
  289. package/lib/utils/createUnfilteredFlatTree.js.map +0 -1
  290. package/lib/utils/createVisibleFlatTree.js +0 -80
  291. package/lib/utils/createVisibleFlatTree.js.map +0 -1
  292. package/lib-commonjs/components/Tree/useTreeStyles.js +0 -27
  293. package/lib-commonjs/components/Tree/useTreeStyles.js.map +0 -1
  294. package/lib-commonjs/components/TreeItem/useTreeItemStyles.js +0 -210
  295. package/lib-commonjs/components/TreeItem/useTreeItemStyles.js.map +0 -1
  296. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -105
  297. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
  298. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js +0 -122
  299. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
  300. package/lib-commonjs/hooks/index.js +0 -10
  301. package/lib-commonjs/hooks/index.js.map +0 -1
  302. package/lib-commonjs/hooks/useFlatTree.js +0 -56
  303. package/lib-commonjs/hooks/useFlatTree.js.map +0 -1
  304. package/lib-commonjs/hooks/useFlatTreeNavigation.js +0 -81
  305. package/lib-commonjs/hooks/useFlatTreeNavigation.js.map +0 -1
  306. package/lib-commonjs/hooks/useHTMLElementWalker.js +0 -88
  307. package/lib-commonjs/hooks/useHTMLElementWalker.js.map +0 -1
  308. package/lib-commonjs/hooks/useNestedTreeNavigation.js +0 -66
  309. package/lib-commonjs/hooks/useNestedTreeNavigation.js.map +0 -1
  310. package/lib-commonjs/hooks/useOpenItemsState.js +0 -29
  311. package/lib-commonjs/hooks/useOpenItemsState.js.map +0 -1
  312. package/lib-commonjs/utils/createUnfilteredFlatTree.js +0 -84
  313. package/lib-commonjs/utils/createUnfilteredFlatTree.js.map +0 -1
  314. package/lib-commonjs/utils/createVisibleFlatTree.js +0 -87
  315. package/lib-commonjs/utils/createVisibleFlatTree.js.map +0 -1
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "ImmutableMap", {
6
+ enumerable: true,
7
+ get: ()=>ImmutableMap
8
+ });
9
+ const emptyImmutableMap = createImmutableMap();
10
+ /**
11
+ * properly creates an ImmutableMap instance from an iterable
12
+ */ function createImmutableMap(iterable) {
13
+ const internalMap = new Map(iterable);
14
+ return dangerouslyCreateImmutableMap(internalMap);
15
+ }
16
+ /**
17
+ * Avoid using *dangerouslyCreateImmutableMap*, since this method will expose internally used set, use createImmutableMap instead,
18
+ * @param internalMap - a set that is used internally to store values.
19
+ */ function dangerouslyCreateImmutableMap(internalMap) {
20
+ return {
21
+ size: internalMap.size,
22
+ set: (key, value)=>{
23
+ const nextSet = new Map(internalMap);
24
+ nextSet.set(key, value);
25
+ return dangerouslyCreateImmutableMap(nextSet);
26
+ },
27
+ get: (key)=>internalMap.get(key),
28
+ clear: ()=>emptyImmutableMap,
29
+ delete (value) {
30
+ const nextSet = new Map(internalMap);
31
+ nextSet.delete(value);
32
+ return dangerouslyCreateImmutableMap(nextSet);
33
+ },
34
+ has: (value)=>internalMap.has(value),
35
+ [Symbol.iterator]: ()=>internalMap[Symbol.iterator](),
36
+ // eslint-disable-next-line @typescript-eslint/naming-convention
37
+ dangerouslyGetInternalMap_unstable: ()=>internalMap
38
+ };
39
+ }
40
+ function isImmutableMap(value) {
41
+ return typeof value === 'object' && value !== null && 'dangerouslyGetInternalMap_unstable' in value;
42
+ }
43
+ const ImmutableMap = {
44
+ empty: emptyImmutableMap,
45
+ create: createImmutableMap,
46
+ isImmutableMap,
47
+ // eslint-disable-next-line @typescript-eslint/naming-convention
48
+ dangerouslyCreate_unstable: dangerouslyCreateImmutableMap
49
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ImmutableMap.js"],"sourcesContent":["const emptyImmutableMap = createImmutableMap();\n/**\n * properly creates an ImmutableMap instance from an iterable\n */ function createImmutableMap(iterable) {\n const internalMap = new Map(iterable);\n return dangerouslyCreateImmutableMap(internalMap);\n}\n/**\n * Avoid using *dangerouslyCreateImmutableMap*, since this method will expose internally used set, use createImmutableMap instead,\n * @param internalMap - a set that is used internally to store values.\n */ function dangerouslyCreateImmutableMap(internalMap) {\n return {\n size: internalMap.size,\n set: (key, value)=>{\n const nextSet = new Map(internalMap);\n nextSet.set(key, value);\n return dangerouslyCreateImmutableMap(nextSet);\n },\n get: (key)=>internalMap.get(key),\n clear: ()=>emptyImmutableMap,\n delete (value) {\n const nextSet = new Map(internalMap);\n nextSet.delete(value);\n return dangerouslyCreateImmutableMap(nextSet);\n },\n has: (value)=>internalMap.has(value),\n [Symbol.iterator]: ()=>internalMap[Symbol.iterator](),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n dangerouslyGetInternalMap_unstable: ()=>internalMap\n };\n}\nfunction isImmutableMap(value) {\n return typeof value === 'object' && value !== null && 'dangerouslyGetInternalMap_unstable' in value;\n}\nexport const ImmutableMap = {\n empty: emptyImmutableMap,\n create: createImmutableMap,\n isImmutableMap,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n dangerouslyCreate_unstable: dangerouslyCreateImmutableMap\n};\n"],"names":["ImmutableMap","emptyImmutableMap","createImmutableMap","iterable","internalMap","Map","dangerouslyCreateImmutableMap","size","set","key","value","nextSet","get","clear","delete","has","Symbol","iterator","dangerouslyGetInternalMap_unstable","isImmutableMap","empty","create","dangerouslyCreate_unstable"],"mappings":";;;;+BAkCaA;;aAAAA;;AAlCb,MAAMC,oBAAoBC;AAC1B;;CAEC,GAAG,SAASA,mBAAmBC,QAAQ,EAAE;IACtC,MAAMC,cAAc,IAAIC,IAAIF;IAC5B,OAAOG,8BAA8BF;AACzC;AACA;;;CAGC,GAAG,SAASE,8BAA8BF,WAAW,EAAE;IACpD,OAAO;QACHG,MAAMH,YAAYG,IAAI;QACtBC,KAAK,CAACC,KAAKC,QAAQ;YACf,MAAMC,UAAU,IAAIN,IAAID;YACxBO,QAAQH,GAAG,CAACC,KAAKC;YACjB,OAAOJ,8BAA8BK;QACzC;QACAC,KAAK,CAACH,MAAML,YAAYQ,GAAG,CAACH;QAC5BI,OAAO,IAAIZ;QACXa,QAAQJ,KAAK,EAAE;YACX,MAAMC,UAAU,IAAIN,IAAID;YACxBO,QAAQG,MAAM,CAACJ;YACf,OAAOJ,8BAA8BK;QACzC;QACAI,KAAK,CAACL,QAAQN,YAAYW,GAAG,CAACL;QAC9B,CAACM,OAAOC,QAAQ,CAAC,EAAE,IAAIb,WAAW,CAACY,OAAOC,QAAQ,CAAC;QACnD,gEAAgE;QAChEC,oCAAoC,IAAId;IAC5C;AACJ;AACA,SAASe,eAAeT,KAAK,EAAE;IAC3B,OAAO,OAAOA,UAAU,YAAYA,UAAU,IAAI,IAAI,wCAAwCA;AAClG;AACO,MAAMV,eAAe;IACxBoB,OAAOnB;IACPoB,QAAQnB;IACRiB;IACA,gEAAgE;IAChEG,4BAA4BhB;AAChC"}
@@ -1,45 +1,54 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports.dangerouslyCreateImmutableSet = exports.createImmutableSet = exports.emptyImmutableSet = void 0;
7
- exports.emptyImmutableSet = /*#__PURE__*/createImmutableSet();
8
- /**
9
- * properly creates an ImmutableSet instance from an iterable
10
- */
11
- function createImmutableSet(iterable) {
12
- const internalSet = new Set(iterable);
13
- return dangerouslyCreateImmutableSet(internalSet);
14
- }
15
- exports.createImmutableSet = createImmutableSet;
5
+ Object.defineProperty(exports, "ImmutableSet", {
6
+ enumerable: true,
7
+ get: ()=>ImmutableSet
8
+ });
9
+ const emptyImmutableSet = createImmutableSet();
16
10
  /**
17
11
  * Avoid using *dangerouslyCreateImmutableSet*, since this method will expose internally used set, use createImmutableSet instead,
18
12
  * @param internalSet - a set that is used internally to store values.
19
- */
20
- function dangerouslyCreateImmutableSet(internalSet) {
21
- return {
22
- size: internalSet.size,
23
- add(value) {
24
- const nextSet = new Set(internalSet);
25
- nextSet.add(value);
26
- return dangerouslyCreateImmutableSet(nextSet);
27
- },
28
- clear() {
29
- return exports.emptyImmutableSet;
30
- },
31
- delete(value) {
32
- const nextSet = new Set(internalSet);
33
- nextSet.delete(value);
34
- return dangerouslyCreateImmutableSet(nextSet);
35
- },
36
- has(value) {
37
- return internalSet.has(value);
38
- },
39
- [Symbol.iterator]() {
40
- return internalSet[Symbol.iterator]();
41
- }
42
- };
13
+ */ function dangerouslyCreateImmutableSet(internalSet) {
14
+ return {
15
+ size: internalSet.size,
16
+ add (value) {
17
+ const nextSet = new Set(internalSet);
18
+ nextSet.add(value);
19
+ return dangerouslyCreateImmutableSet(nextSet);
20
+ },
21
+ clear () {
22
+ return emptyImmutableSet;
23
+ },
24
+ delete (value) {
25
+ const nextSet = new Set(internalSet);
26
+ nextSet.delete(value);
27
+ return dangerouslyCreateImmutableSet(nextSet);
28
+ },
29
+ has (value) {
30
+ return internalSet.has(value);
31
+ },
32
+ [Symbol.iterator] () {
33
+ return internalSet[Symbol.iterator]();
34
+ },
35
+ // eslint-disable-next-line @typescript-eslint/naming-convention
36
+ dangerouslyGetInternalSet_unstable: ()=>internalSet
37
+ };
38
+ }
39
+ function isImmutableSet(value) {
40
+ return typeof value === 'object' && value !== null && 'dangerouslyGetInternalSet_unstable' in value;
41
+ }
42
+ /**
43
+ * properly creates an ImmutableSet instance from an iterable
44
+ */ function createImmutableSet(iterable) {
45
+ const internalSet = new Set(iterable);
46
+ return dangerouslyCreateImmutableSet(internalSet);
43
47
  }
44
- exports.dangerouslyCreateImmutableSet = dangerouslyCreateImmutableSet;
45
- //# sourceMappingURL=ImmutableSet.js.map
48
+ const ImmutableSet = {
49
+ empty: emptyImmutableSet,
50
+ create: createImmutableSet,
51
+ isImmutableSet,
52
+ // eslint-disable-next-line @typescript-eslint/naming-convention
53
+ dangerouslyCreate_unstable: dangerouslyCreateImmutableSet
54
+ };
@@ -1 +1 @@
1
- {"version":3,"names":["exports","emptyImmutableSet","createImmutableSet","iterable","internalSet","Set","dangerouslyCreateImmutableSet","size","add","value","nextSet","clear","delete","has","Symbol","iterator"],"sources":["../src/packages/react-components/react-tree/src/utils/ImmutableSet.ts"],"sourcesContent":["export interface ImmutableSet<Value> {\n /**\n * The number of (unique) elements in a ImmutableSet.\n */\n readonly size: number;\n /**\n * Creates a new ImmutableSet containing all previous element plus the one provided as argument\n * @param value - new value to be included in the new ImmutableSet instance\n */\n add(value: Value): ImmutableSet<Value>;\n /**\n * Returns a reference to ImmutableSet.emptySet\n */\n clear(): ImmutableSet<Value>;\n /**\n * Creates a new ImmutableSet with the original items and removes a specified value from the new ImmutableSet.\n */\n delete(value: Value): ImmutableSet<Value>;\n /**\n * @returns a boolean indicating whether an element with the specified value exists in the ImmutableSet or not.\n */\n has(value: Value): boolean;\n /** Iterates over values in the ImmutableSet. */\n [Symbol.iterator](): IterableIterator<Value>;\n}\n\nexport const emptyImmutableSet = createImmutableSet<never>();\n\n/**\n * properly creates an ImmutableSet instance from an iterable\n */\nexport function createImmutableSet<Value>(iterable?: Iterable<Value>): ImmutableSet<Value> {\n const internalSet = new Set(iterable);\n return dangerouslyCreateImmutableSet(internalSet);\n}\n/**\n * Avoid using *dangerouslyCreateImmutableSet*, since this method will expose internally used set, use createImmutableSet instead,\n * @param internalSet - a set that is used internally to store values.\n */\nexport function dangerouslyCreateImmutableSet<Value>(internalSet: Set<Value>): ImmutableSet<Value> {\n return {\n size: internalSet.size,\n add(value) {\n const nextSet = new Set(internalSet);\n nextSet.add(value);\n return dangerouslyCreateImmutableSet(nextSet);\n },\n clear() {\n return emptyImmutableSet;\n },\n delete(value) {\n const nextSet = new Set(internalSet);\n nextSet.delete(value);\n return dangerouslyCreateImmutableSet(nextSet);\n },\n has(value) {\n return internalSet.has(value);\n },\n [Symbol.iterator]() {\n return internalSet[Symbol.iterator]();\n },\n };\n}\n"],"mappings":";;;;;;AA0BaA,OAAA,CAAAC,iBAAiB,gBAAGC,kBAAkB,EAAS;AAE5D;;;AAGA,SAAgBA,kBAAkBA,CAAQC,QAA0B;EAClE,MAAMC,WAAW,GAAG,IAAIC,GAAG,CAACF,QAAQ,CAAC;EACrC,OAAOG,6BAA6B,CAACF,WAAW,CAAC;AACnD;AAHAJ,OAAA,CAAAE,kBAAA,GAAAA,kBAAA;AAIA;;;;AAIA,SAAgBI,6BAA6BA,CAAQF,WAAuB;EAC1E,OAAO;IACLG,IAAI,EAAEH,WAAW,CAACG,IAAI;IACtBC,GAAGA,CAACC,KAAK;MACP,MAAMC,OAAO,GAAG,IAAIL,GAAG,CAACD,WAAW,CAAC;MACpCM,OAAO,CAACF,GAAG,CAACC,KAAK,CAAC;MAClB,OAAOH,6BAA6B,CAACI,OAAO,CAAC;IAC/C,CAAC;IACDC,KAAKA,CAAA;MACH,OAAOX,OAAA,CAAAC,iBAAiB;IAC1B,CAAC;IACDW,MAAMA,CAACH,KAAK;MACV,MAAMC,OAAO,GAAG,IAAIL,GAAG,CAACD,WAAW,CAAC;MACpCM,OAAO,CAACE,MAAM,CAACH,KAAK,CAAC;MACrB,OAAOH,6BAA6B,CAACI,OAAO,CAAC;IAC/C,CAAC;IACDG,GAAGA,CAACJ,KAAK;MACP,OAAOL,WAAW,CAACS,GAAG,CAACJ,KAAK,CAAC;IAC/B,CAAC;IACD,CAACK,MAAM,CAACC,QAAQ,IAAC;MACf,OAAOX,WAAW,CAACU,MAAM,CAACC,QAAQ,CAAC,EAAE;IACvC;GACD;AACH;AAvBAf,OAAA,CAAAM,6BAAA,GAAAA,6BAAA"}
1
+ {"version":3,"sources":["ImmutableSet.js"],"sourcesContent":["const emptyImmutableSet = createImmutableSet();\n/**\n * Avoid using *dangerouslyCreateImmutableSet*, since this method will expose internally used set, use createImmutableSet instead,\n * @param internalSet - a set that is used internally to store values.\n */ function dangerouslyCreateImmutableSet(internalSet) {\n return {\n size: internalSet.size,\n add (value) {\n const nextSet = new Set(internalSet);\n nextSet.add(value);\n return dangerouslyCreateImmutableSet(nextSet);\n },\n clear () {\n return emptyImmutableSet;\n },\n delete (value) {\n const nextSet = new Set(internalSet);\n nextSet.delete(value);\n return dangerouslyCreateImmutableSet(nextSet);\n },\n has (value) {\n return internalSet.has(value);\n },\n [Symbol.iterator] () {\n return internalSet[Symbol.iterator]();\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n dangerouslyGetInternalSet_unstable: ()=>internalSet\n };\n}\nfunction isImmutableSet(value) {\n return typeof value === 'object' && value !== null && 'dangerouslyGetInternalSet_unstable' in value;\n}\n/**\n * properly creates an ImmutableSet instance from an iterable\n */ function createImmutableSet(iterable) {\n const internalSet = new Set(iterable);\n return dangerouslyCreateImmutableSet(internalSet);\n}\nexport const ImmutableSet = {\n empty: emptyImmutableSet,\n create: createImmutableSet,\n isImmutableSet,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n dangerouslyCreate_unstable: dangerouslyCreateImmutableSet\n};\n"],"names":["ImmutableSet","emptyImmutableSet","createImmutableSet","dangerouslyCreateImmutableSet","internalSet","size","add","value","nextSet","Set","clear","delete","has","Symbol","iterator","dangerouslyGetInternalSet_unstable","isImmutableSet","iterable","empty","create","dangerouslyCreate_unstable"],"mappings":";;;;+BAuCaA;;aAAAA;;AAvCb,MAAMC,oBAAoBC;AAC1B;;;CAGC,GAAG,SAASC,8BAA8BC,WAAW,EAAE;IACpD,OAAO;QACHC,MAAMD,YAAYC,IAAI;QACtBC,KAAKC,KAAK,EAAE;YACR,MAAMC,UAAU,IAAIC,IAAIL;YACxBI,QAAQF,GAAG,CAACC;YACZ,OAAOJ,8BAA8BK;QACzC;QACAE,SAAS;YACL,OAAOT;QACX;QACAU,QAAQJ,KAAK,EAAE;YACX,MAAMC,UAAU,IAAIC,IAAIL;YACxBI,QAAQG,MAAM,CAACJ;YACf,OAAOJ,8BAA8BK;QACzC;QACAI,KAAKL,KAAK,EAAE;YACR,OAAOH,YAAYQ,GAAG,CAACL;QAC3B;QACA,CAACM,OAAOC,QAAQ,CAAC,IAAI;YACjB,OAAOV,WAAW,CAACS,OAAOC,QAAQ,CAAC;QACvC;QACA,gEAAgE;QAChEC,oCAAoC,IAAIX;IAC5C;AACJ;AACA,SAASY,eAAeT,KAAK,EAAE;IAC3B,OAAO,OAAOA,UAAU,YAAYA,UAAU,IAAI,IAAI,wCAAwCA;AAClG;AACA;;CAEC,GAAG,SAASL,mBAAmBe,QAAQ,EAAE;IACtC,MAAMb,cAAc,IAAIK,IAAIQ;IAC5B,OAAOd,8BAA8BC;AACzC;AACO,MAAMJ,eAAe;IACxBkB,OAAOjB;IACPkB,QAAQjB;IACRc;IACA,gEAAgE;IAChEI,4BAA4BjB;AAChC"}
@@ -1,14 +1,16 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports.assertIsDefinedRef = void 0;
5
+ Object.defineProperty(exports, "assertIsDefinedRef", {
6
+ enumerable: true,
7
+ get: ()=>assertIsDefinedRef
8
+ });
9
+ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
10
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
7
11
  function assertIsDefinedRef(refObject, msg = `assertIsDefinedRef: reference not properly defined ${refObject}`) {
8
- // eslint-disable-next-line eqeqeq
9
- if (refObject.current == undefined && process.env.NODE_ENV === 'development') {
10
- throw new TypeError(msg);
11
- }
12
+ // eslint-disable-next-line eqeqeq
13
+ if (refObject.current == undefined && process.env.NODE_ENV === 'development') {
14
+ throw new TypeError(msg);
15
+ }
12
16
  }
13
- exports.assertIsDefinedRef = assertIsDefinedRef;
14
- //# sourceMappingURL=assert.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["assertIsDefinedRef","refObject","msg","current","undefined","process","env","NODE_ENV","TypeError","exports"],"sources":["../src/packages/react-components/react-tree/src/utils/assert.ts"],"sourcesContent":["import * as React from 'react';\n\nexport function assertIsDefinedRef<V>(\n refObject: React.RefObject<V | null | undefined>,\n msg = `assertIsDefinedRef: reference not properly defined ${refObject}`,\n): asserts refObject is React.MutableRefObject<V> {\n // eslint-disable-next-line eqeqeq\n if (refObject.current == undefined && process.env.NODE_ENV === 'development') {\n throw new TypeError(msg);\n }\n}\n"],"mappings":";;;;;;AAEA,SAAgBA,kBAAkBA,CAChCC,SAAgD,EAChDC,GAAG,GAAG,sDAAsDD,SAAS,EAAE;EAEvE;EACA,IAAIA,SAAS,CAACE,OAAO,IAAIC,SAAS,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,EAAE;IAC5E,MAAM,IAAIC,SAAS,CAACN,GAAG,CAAC;;AAE5B;AARAO,OAAA,CAAAT,kBAAA,GAAAA,kBAAA"}
1
+ {"version":3,"sources":["assert.js"],"sourcesContent":["import * as React from 'react';\nexport function assertIsDefinedRef(refObject, msg = `assertIsDefinedRef: reference not properly defined ${refObject}`) {\n // eslint-disable-next-line eqeqeq\n if (refObject.current == undefined && process.env.NODE_ENV === 'development') {\n throw new TypeError(msg);\n }\n}\n"],"names":["assertIsDefinedRef","refObject","msg","current","undefined","process","env","NODE_ENV","TypeError"],"mappings":";;;;+BACgBA;;aAAAA;;;6DADO;AAChB,SAASA,mBAAmBC,SAAS,EAAEC,MAAM,CAAC,mDAAmD,EAAED,UAAU,CAAC,EAAE;IACnH,kCAAkC;IAClC,IAAIA,UAAUE,OAAO,IAAIC,aAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1E,MAAM,IAAIC,UAAUN,KAAK;IAC7B,CAAC;AACL"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "createCheckedItems", {
6
+ enumerable: true,
7
+ get: ()=>createCheckedItems
8
+ });
9
+ const _immutableMap = require("./ImmutableMap");
10
+ function createCheckedItems(iterable) {
11
+ if (iterable === undefined) {
12
+ return _immutableMap.ImmutableMap.empty;
13
+ }
14
+ if (_immutableMap.ImmutableMap.isImmutableMap(iterable)) {
15
+ return iterable;
16
+ }
17
+ const internalMap = new Map();
18
+ for (const item of iterable){
19
+ if (Array.isArray(item)) {
20
+ internalMap.set(item[0], item[1]);
21
+ } else {
22
+ internalMap.set(item, true);
23
+ }
24
+ }
25
+ return _immutableMap.ImmutableMap.dangerouslyCreate_unstable(internalMap);
26
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["createCheckedItems.js"],"sourcesContent":["import { ImmutableMap } from './ImmutableMap';\nexport function createCheckedItems(iterable) {\n if (iterable === undefined) {\n return ImmutableMap.empty;\n }\n if (ImmutableMap.isImmutableMap(iterable)) {\n return iterable;\n }\n const internalMap = new Map();\n for (const item of iterable){\n if (Array.isArray(item)) {\n internalMap.set(item[0], item[1]);\n } else {\n internalMap.set(item, true);\n }\n }\n return ImmutableMap.dangerouslyCreate_unstable(internalMap);\n}\n"],"names":["createCheckedItems","iterable","undefined","ImmutableMap","empty","isImmutableMap","internalMap","Map","item","Array","isArray","set","dangerouslyCreate_unstable"],"mappings":";;;;+BACgBA;;aAAAA;;8BADa;AACtB,SAASA,mBAAmBC,QAAQ,EAAE;IACzC,IAAIA,aAAaC,WAAW;QACxB,OAAOC,0BAAY,CAACC,KAAK;IAC7B,CAAC;IACD,IAAID,0BAAY,CAACE,cAAc,CAACJ,WAAW;QACvC,OAAOA;IACX,CAAC;IACD,MAAMK,cAAc,IAAIC;IACxB,KAAK,MAAMC,QAAQP,SAAS;QACxB,IAAIQ,MAAMC,OAAO,CAACF,OAAO;YACrBF,YAAYK,GAAG,CAACH,IAAI,CAAC,EAAE,EAAEA,IAAI,CAAC,EAAE;QACpC,OAAO;YACHF,YAAYK,GAAG,CAACH,MAAM,IAAI;QAC9B,CAAC;IACL;IACA,OAAOL,0BAAY,CAACS,0BAA0B,CAACN;AACnD"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "createHTMLElementWalker", {
6
+ enumerable: true,
7
+ get: ()=>createHTMLElementWalker
8
+ });
9
+ const _reactUtilities = require("@fluentui/react-utilities");
10
+ function createHTMLElementWalker(root, filter = ()=>NodeFilter.FILTER_ACCEPT) {
11
+ let temporaryFilter;
12
+ const treeWalker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {
13
+ acceptNode (node) {
14
+ if (!(0, _reactUtilities.isHTMLElement)(node)) {
15
+ return NodeFilter.FILTER_REJECT;
16
+ }
17
+ const filterResult = filter(node);
18
+ var _temporaryFilter;
19
+ return filterResult === NodeFilter.FILTER_ACCEPT ? (_temporaryFilter = temporaryFilter === null || temporaryFilter === void 0 ? void 0 : temporaryFilter(node)) !== null && _temporaryFilter !== void 0 ? _temporaryFilter : filterResult : filterResult;
20
+ }
21
+ });
22
+ return {
23
+ get root () {
24
+ return treeWalker.root;
25
+ },
26
+ get currentElement () {
27
+ return treeWalker.currentNode;
28
+ },
29
+ set currentElement (element){
30
+ treeWalker.currentNode = element;
31
+ },
32
+ firstChild: (localFilter)=>{
33
+ temporaryFilter = localFilter;
34
+ const result = treeWalker.firstChild();
35
+ temporaryFilter = undefined;
36
+ return result;
37
+ },
38
+ lastChild: (localFilter)=>{
39
+ temporaryFilter = localFilter;
40
+ const result = treeWalker.lastChild();
41
+ temporaryFilter = undefined;
42
+ return result;
43
+ },
44
+ nextElement: (localFilter)=>{
45
+ temporaryFilter = localFilter;
46
+ const result = treeWalker.nextNode();
47
+ temporaryFilter = undefined;
48
+ return result;
49
+ },
50
+ nextSibling: (localFilter)=>{
51
+ temporaryFilter = localFilter;
52
+ const result = treeWalker.nextSibling();
53
+ temporaryFilter = undefined;
54
+ return result;
55
+ },
56
+ parentElement: (localFilter)=>{
57
+ temporaryFilter = localFilter;
58
+ const result = treeWalker.parentNode();
59
+ temporaryFilter = undefined;
60
+ return result;
61
+ },
62
+ previousElement: (localFilter)=>{
63
+ temporaryFilter = localFilter;
64
+ const result = treeWalker.previousNode();
65
+ temporaryFilter = undefined;
66
+ return result;
67
+ },
68
+ previousSibling: (localFilter)=>{
69
+ temporaryFilter = localFilter;
70
+ const result = treeWalker.previousSibling();
71
+ temporaryFilter = undefined;
72
+ return result;
73
+ }
74
+ };
75
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["createHTMLElementWalker.js"],"sourcesContent":["import { isHTMLElement } from '@fluentui/react-utilities';\nexport function createHTMLElementWalker(root, filter = ()=>NodeFilter.FILTER_ACCEPT) {\n let temporaryFilter;\n const treeWalker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {\n acceptNode (node) {\n if (!isHTMLElement(node)) {\n return NodeFilter.FILTER_REJECT;\n }\n const filterResult = filter(node);\n var _temporaryFilter;\n return filterResult === NodeFilter.FILTER_ACCEPT ? (_temporaryFilter = temporaryFilter === null || temporaryFilter === void 0 ? void 0 : temporaryFilter(node)) !== null && _temporaryFilter !== void 0 ? _temporaryFilter : filterResult : filterResult;\n }\n });\n return {\n get root () {\n return treeWalker.root;\n },\n get currentElement () {\n return treeWalker.currentNode;\n },\n set currentElement (element){\n treeWalker.currentNode = element;\n },\n firstChild: (localFilter)=>{\n temporaryFilter = localFilter;\n const result = treeWalker.firstChild();\n temporaryFilter = undefined;\n return result;\n },\n lastChild: (localFilter)=>{\n temporaryFilter = localFilter;\n const result = treeWalker.lastChild();\n temporaryFilter = undefined;\n return result;\n },\n nextElement: (localFilter)=>{\n temporaryFilter = localFilter;\n const result = treeWalker.nextNode();\n temporaryFilter = undefined;\n return result;\n },\n nextSibling: (localFilter)=>{\n temporaryFilter = localFilter;\n const result = treeWalker.nextSibling();\n temporaryFilter = undefined;\n return result;\n },\n parentElement: (localFilter)=>{\n temporaryFilter = localFilter;\n const result = treeWalker.parentNode();\n temporaryFilter = undefined;\n return result;\n },\n previousElement: (localFilter)=>{\n temporaryFilter = localFilter;\n const result = treeWalker.previousNode();\n temporaryFilter = undefined;\n return result;\n },\n previousSibling: (localFilter)=>{\n temporaryFilter = localFilter;\n const result = treeWalker.previousSibling();\n temporaryFilter = undefined;\n return result;\n }\n };\n}\n"],"names":["createHTMLElementWalker","root","filter","NodeFilter","FILTER_ACCEPT","temporaryFilter","treeWalker","document","createTreeWalker","SHOW_ELEMENT","acceptNode","node","isHTMLElement","FILTER_REJECT","filterResult","_temporaryFilter","currentElement","currentNode","element","firstChild","localFilter","result","undefined","lastChild","nextElement","nextNode","nextSibling","parentElement","parentNode","previousElement","previousNode","previousSibling"],"mappings":";;;;+BACgBA;;aAAAA;;gCADc;AACvB,SAASA,wBAAwBC,IAAI,EAAEC,SAAS,IAAIC,WAAWC,aAAa,EAAE;IACjF,IAAIC;IACJ,MAAMC,aAAaC,SAASC,gBAAgB,CAACP,MAAME,WAAWM,YAAY,EAAE;QACxEC,YAAYC,IAAI,EAAE;YACd,IAAI,CAACC,IAAAA,6BAAa,EAACD,OAAO;gBACtB,OAAOR,WAAWU,aAAa;YACnC,CAAC;YACD,MAAMC,eAAeZ,OAAOS;YAC5B,IAAII;YACJ,OAAOD,iBAAiBX,WAAWC,aAAa,GAAG,AAACW,CAAAA,mBAAmBV,oBAAoB,IAAI,IAAIA,oBAAoB,KAAK,IAAI,KAAK,IAAIA,gBAAgBM,KAAK,AAAD,MAAO,IAAI,IAAII,qBAAqB,KAAK,IAAIA,mBAAmBD,YAAY,GAAGA,YAAY;QAC5P;IACJ;IACA,OAAO;QACH,IAAIb,QAAQ;YACR,OAAOK,WAAWL,IAAI;QAC1B;QACA,IAAIe,kBAAkB;YAClB,OAAOV,WAAWW,WAAW;QACjC;QACA,IAAID,gBAAgBE,QAAQ;YACxBZ,WAAWW,WAAW,GAAGC;QAC7B;QACAC,YAAY,CAACC,cAAc;YACvBf,kBAAkBe;YAClB,MAAMC,SAASf,WAAWa,UAAU;YACpCd,kBAAkBiB;YAClB,OAAOD;QACX;QACAE,WAAW,CAACH,cAAc;YACtBf,kBAAkBe;YAClB,MAAMC,SAASf,WAAWiB,SAAS;YACnClB,kBAAkBiB;YAClB,OAAOD;QACX;QACAG,aAAa,CAACJ,cAAc;YACxBf,kBAAkBe;YAClB,MAAMC,SAASf,WAAWmB,QAAQ;YAClCpB,kBAAkBiB;YAClB,OAAOD;QACX;QACAK,aAAa,CAACN,cAAc;YACxBf,kBAAkBe;YAClB,MAAMC,SAASf,WAAWoB,WAAW;YACrCrB,kBAAkBiB;YAClB,OAAOD;QACX;QACAM,eAAe,CAACP,cAAc;YAC1Bf,kBAAkBe;YAClB,MAAMC,SAASf,WAAWsB,UAAU;YACpCvB,kBAAkBiB;YAClB,OAAOD;QACX;QACAQ,iBAAiB,CAACT,cAAc;YAC5Bf,kBAAkBe;YAClB,MAAMC,SAASf,WAAWwB,YAAY;YACtCzB,kBAAkBiB;YAClB,OAAOD;QACX;QACAU,iBAAiB,CAACX,cAAc;YAC5Bf,kBAAkBe;YAClB,MAAMC,SAASf,WAAWyB,eAAe;YACzC1B,kBAAkBiB;YAClB,OAAOD;QACX;IACJ;AACJ"}
@@ -0,0 +1,203 @@
1
+ /**
2
+ * creates a list of virtual tree items
3
+ * and provides a map to access each item by id
4
+ */ "use strict";
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ function _export(target, all) {
9
+ for(var name in all)Object.defineProperty(target, name, {
10
+ enumerable: true,
11
+ get: all[name]
12
+ });
13
+ }
14
+ _export(exports, {
15
+ createHeadlessTree: ()=>createHeadlessTree,
16
+ headlessTreeRootId: ()=>headlessTreeRootId
17
+ });
18
+ function createHeadlessTree(initialProps = []) {
19
+ const root = createHeadlessTreeRootItem();
20
+ const itemsPerValue = new Map([
21
+ [
22
+ root.value,
23
+ root
24
+ ]
25
+ ]);
26
+ var _itemsPerValue_get_parentValue, _itemsPerValue_get;
27
+ const headlessTree = {
28
+ root,
29
+ get size () {
30
+ return itemsPerValue.size;
31
+ },
32
+ getParent: (key)=>{
33
+ var _itemsPerValue_get1;
34
+ return (_itemsPerValue_get = itemsPerValue.get((_itemsPerValue_get_parentValue = (_itemsPerValue_get1 = itemsPerValue.get(key)) === null || _itemsPerValue_get1 === void 0 ? void 0 : _itemsPerValue_get1.parentValue) !== null && _itemsPerValue_get_parentValue !== void 0 ? _itemsPerValue_get_parentValue : root.value)) !== null && _itemsPerValue_get !== void 0 ? _itemsPerValue_get : root;
35
+ },
36
+ get: (key)=>itemsPerValue.get(key),
37
+ has: (key)=>itemsPerValue.has(key),
38
+ add (props) {
39
+ const { parentValue =headlessTreeRootId , ...propsWithoutParentValue } = props;
40
+ const parentItem = itemsPerValue.get(parentValue);
41
+ if (!parentItem) {
42
+ if (process.env.NODE_ENV === 'development') {
43
+ // eslint-disable-next-line no-console
44
+ console.error(`HeadlessTree: item ${props.value} is wrongly positioned, did you properly ordered provided item props? make sure provided items are organized, parents should come before children`);
45
+ }
46
+ return;
47
+ }
48
+ parentItem.itemType = 'branch';
49
+ var _propsWithoutParentValue_itemType;
50
+ const item = {
51
+ value: props.value,
52
+ getTreeItemProps: ()=>({
53
+ ...propsWithoutParentValue,
54
+ 'aria-level': item.level,
55
+ 'aria-posinset': item.position,
56
+ 'aria-setsize': parentItem.childrenValues.length,
57
+ itemType: item.itemType
58
+ }),
59
+ itemType: (_propsWithoutParentValue_itemType = propsWithoutParentValue.itemType) !== null && _propsWithoutParentValue_itemType !== void 0 ? _propsWithoutParentValue_itemType : 'leaf',
60
+ level: parentItem.level + 1,
61
+ parentValue,
62
+ childrenValues: [],
63
+ index: -1,
64
+ position: parentItem.childrenValues.push(props.value)
65
+ };
66
+ itemsPerValue.set(item.value, item);
67
+ },
68
+ // TODO: eventually it would be nice to have this method exported for the user to modify
69
+ // the internal state of the virtual tree
70
+ // remove(value) {
71
+ // const itemToBeRemoved = itemsPerValue.get(value);
72
+ // if (!itemToBeRemoved) {
73
+ // return;
74
+ // }
75
+ // const parentItem = headlessTree.getParent(value);
76
+ // parentItem.childrenValues.splice(itemToBeRemoved.position, 1);
77
+ // itemsPerValue.delete(value);
78
+ // if (parentItem.childrenValues.length === 0) {
79
+ // parentItem.itemType = 'leaf';
80
+ // }
81
+ // for (let index = itemToBeRemoved.position; index < parentItem.childrenValues.length; index++) {
82
+ // const child = itemsPerValue.get(parentItem.childrenValues[index]);
83
+ // if (child) {
84
+ // child.position = index + 1;
85
+ // }
86
+ // }
87
+ // for (const descendant of HeadlessTreeSubtreeGenerator(value, headlessTree)) {
88
+ // itemsPerValue.delete(descendant.value);
89
+ // }
90
+ // },
91
+ subtree: (key)=>HeadlessTreeSubtreeGenerator(key, headlessTree),
92
+ children: (key)=>HeadlessTreeChildrenGenerator(key, headlessTree),
93
+ ancestors: (key)=>HeadlessTreeAncestorsGenerator(key, headlessTree),
94
+ visibleItems: (openItems)=>HeadlessTreeVisibleItemsGenerator(openItems, headlessTree)
95
+ };
96
+ initialProps.forEach(headlessTree.add);
97
+ return headlessTree;
98
+ }
99
+ const headlessTreeRootId = '__fuiHeadlessTreeRoot';
100
+ function createHeadlessTreeRootItem() {
101
+ return {
102
+ parentValue: undefined,
103
+ value: headlessTreeRootId,
104
+ itemType: 'branch',
105
+ getTreeItemProps: ()=>{
106
+ if (process.env.NODE_ENV !== 'production') {
107
+ // eslint-disable-next-line no-console
108
+ console.error('HeadlessTree: internal error, trying to access treeitem props from invalid root element');
109
+ }
110
+ return {
111
+ id: headlessTreeRootId,
112
+ value: headlessTreeRootId,
113
+ 'aria-setsize': -1,
114
+ 'aria-level': -1,
115
+ 'aria-posinset': -1,
116
+ itemType: 'branch'
117
+ };
118
+ },
119
+ childrenValues: [],
120
+ get index () {
121
+ if (process.env.NODE_ENV !== 'production') {
122
+ // eslint-disable-next-line no-console
123
+ console.error('HeadlessTree: internal error, trying to access treeitem props from invalid root element');
124
+ }
125
+ return -1;
126
+ },
127
+ get position () {
128
+ if (process.env.NODE_ENV !== 'production') {
129
+ // eslint-disable-next-line no-console
130
+ console.error('HeadlessTree: internal error, trying to access treeitem props from invalid root element');
131
+ }
132
+ return -1;
133
+ },
134
+ level: 0
135
+ };
136
+ }
137
+ /**
138
+ * Generator that returns all subtree of a given virtual tree item
139
+ * @param key the key of the item to get the subtree from
140
+ */ // eslint-disable-next-line @typescript-eslint/naming-convention
141
+ function* HeadlessTreeSubtreeGenerator(key, virtualTreeItems) {
142
+ const item = virtualTreeItems.get(key);
143
+ if (!item || item.childrenValues.length === 0) {
144
+ return;
145
+ }
146
+ for (const childValue of item.childrenValues){
147
+ yield virtualTreeItems.get(childValue);
148
+ yield* HeadlessTreeSubtreeGenerator(childValue, virtualTreeItems);
149
+ }
150
+ }
151
+ /**
152
+ * Generator that returns all children of a given virtual tree item
153
+ * @param key the key of the item to get the children from
154
+ */ // eslint-disable-next-line @typescript-eslint/naming-convention
155
+ function* HeadlessTreeChildrenGenerator(key, virtualTreeItems) {
156
+ const item = virtualTreeItems.get(key);
157
+ if (!item || item.childrenValues.length === 0) {
158
+ return;
159
+ }
160
+ for (const childValue of item.childrenValues){
161
+ yield virtualTreeItems.get(childValue);
162
+ }
163
+ }
164
+ /**
165
+ * Generator that returns all ancestors of a given virtual tree item
166
+ * @param key the key of the item to get the children from
167
+ */ // eslint-disable-next-line @typescript-eslint/naming-convention
168
+ function* HeadlessTreeAncestorsGenerator(key, virtualTreeItems) {
169
+ let parent = virtualTreeItems.getParent(key);
170
+ while(parent !== virtualTreeItems.root){
171
+ yield parent;
172
+ parent = virtualTreeItems.getParent(parent.value);
173
+ }
174
+ }
175
+ /**
176
+ * Generator that returns all visible items of a given virtual tree
177
+ * @param openItems the open items of the tree
178
+ */ // eslint-disable-next-line @typescript-eslint/naming-convention
179
+ function* HeadlessTreeVisibleItemsGenerator(openItems, virtualTreeItems) {
180
+ let index = 0;
181
+ for (const item of HeadlessTreeSubtreeGenerator(virtualTreeItems.root.value, virtualTreeItems)){
182
+ if (isItemVisible(item, openItems, virtualTreeItems)) {
183
+ item.index = index++;
184
+ yield item;
185
+ }
186
+ }
187
+ }
188
+ function isItemVisible(item, openItems, virtualTreeItems) {
189
+ if (item.level === 1) {
190
+ return true;
191
+ }
192
+ while(item.parentValue && item.parentValue !== virtualTreeItems.root.value){
193
+ if (!openItems.has(item.parentValue)) {
194
+ return false;
195
+ }
196
+ const parent = virtualTreeItems.get(item.parentValue);
197
+ if (!parent) {
198
+ return false;
199
+ }
200
+ item = parent;
201
+ }
202
+ return true;
203
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["createHeadlessTree.js"],"sourcesContent":["/**\n * creates a list of virtual tree items\n * and provides a map to access each item by id\n */ export function createHeadlessTree(initialProps = []) {\n const root = createHeadlessTreeRootItem();\n const itemsPerValue = new Map([\n [\n root.value,\n root\n ]\n ]);\n var _itemsPerValue_get_parentValue, _itemsPerValue_get;\n const headlessTree = {\n root,\n get size () {\n return itemsPerValue.size;\n },\n getParent: (key)=>{\n var _itemsPerValue_get1;\n return (_itemsPerValue_get = itemsPerValue.get((_itemsPerValue_get_parentValue = (_itemsPerValue_get1 = itemsPerValue.get(key)) === null || _itemsPerValue_get1 === void 0 ? void 0 : _itemsPerValue_get1.parentValue) !== null && _itemsPerValue_get_parentValue !== void 0 ? _itemsPerValue_get_parentValue : root.value)) !== null && _itemsPerValue_get !== void 0 ? _itemsPerValue_get : root;\n },\n get: (key)=>itemsPerValue.get(key),\n has: (key)=>itemsPerValue.has(key),\n add (props) {\n const { parentValue =headlessTreeRootId , ...propsWithoutParentValue } = props;\n const parentItem = itemsPerValue.get(parentValue);\n if (!parentItem) {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.error(`HeadlessTree: item ${props.value} is wrongly positioned, did you properly ordered provided item props? make sure provided items are organized, parents should come before children`);\n }\n return;\n }\n parentItem.itemType = 'branch';\n var _propsWithoutParentValue_itemType;\n const item = {\n value: props.value,\n getTreeItemProps: ()=>({\n ...propsWithoutParentValue,\n 'aria-level': item.level,\n 'aria-posinset': item.position,\n 'aria-setsize': parentItem.childrenValues.length,\n itemType: item.itemType\n }),\n itemType: (_propsWithoutParentValue_itemType = propsWithoutParentValue.itemType) !== null && _propsWithoutParentValue_itemType !== void 0 ? _propsWithoutParentValue_itemType : 'leaf',\n level: parentItem.level + 1,\n parentValue,\n childrenValues: [],\n index: -1,\n position: parentItem.childrenValues.push(props.value)\n };\n itemsPerValue.set(item.value, item);\n },\n // TODO: eventually it would be nice to have this method exported for the user to modify\n // the internal state of the virtual tree\n // remove(value) {\n // const itemToBeRemoved = itemsPerValue.get(value);\n // if (!itemToBeRemoved) {\n // return;\n // }\n // const parentItem = headlessTree.getParent(value);\n // parentItem.childrenValues.splice(itemToBeRemoved.position, 1);\n // itemsPerValue.delete(value);\n // if (parentItem.childrenValues.length === 0) {\n // parentItem.itemType = 'leaf';\n // }\n // for (let index = itemToBeRemoved.position; index < parentItem.childrenValues.length; index++) {\n // const child = itemsPerValue.get(parentItem.childrenValues[index]);\n // if (child) {\n // child.position = index + 1;\n // }\n // }\n // for (const descendant of HeadlessTreeSubtreeGenerator(value, headlessTree)) {\n // itemsPerValue.delete(descendant.value);\n // }\n // },\n subtree: (key)=>HeadlessTreeSubtreeGenerator(key, headlessTree),\n children: (key)=>HeadlessTreeChildrenGenerator(key, headlessTree),\n ancestors: (key)=>HeadlessTreeAncestorsGenerator(key, headlessTree),\n visibleItems: (openItems)=>HeadlessTreeVisibleItemsGenerator(openItems, headlessTree)\n };\n initialProps.forEach(headlessTree.add);\n return headlessTree;\n}\nexport const headlessTreeRootId = '__fuiHeadlessTreeRoot';\nfunction createHeadlessTreeRootItem() {\n return {\n parentValue: undefined,\n value: headlessTreeRootId,\n itemType: 'branch',\n getTreeItemProps: ()=>{\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error('HeadlessTree: internal error, trying to access treeitem props from invalid root element');\n }\n return {\n id: headlessTreeRootId,\n value: headlessTreeRootId,\n 'aria-setsize': -1,\n 'aria-level': -1,\n 'aria-posinset': -1,\n itemType: 'branch'\n };\n },\n childrenValues: [],\n get index () {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error('HeadlessTree: internal error, trying to access treeitem props from invalid root element');\n }\n return -1;\n },\n get position () {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error('HeadlessTree: internal error, trying to access treeitem props from invalid root element');\n }\n return -1;\n },\n level: 0\n };\n}\n/**\n * Generator that returns all subtree of a given virtual tree item\n * @param key the key of the item to get the subtree from\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\nfunction* HeadlessTreeSubtreeGenerator(key, virtualTreeItems) {\n const item = virtualTreeItems.get(key);\n if (!item || item.childrenValues.length === 0) {\n return;\n }\n for (const childValue of item.childrenValues){\n yield virtualTreeItems.get(childValue);\n yield* HeadlessTreeSubtreeGenerator(childValue, virtualTreeItems);\n }\n}\n/**\n * Generator that returns all children of a given virtual tree item\n * @param key the key of the item to get the children from\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\nfunction* HeadlessTreeChildrenGenerator(key, virtualTreeItems) {\n const item = virtualTreeItems.get(key);\n if (!item || item.childrenValues.length === 0) {\n return;\n }\n for (const childValue of item.childrenValues){\n yield virtualTreeItems.get(childValue);\n }\n}\n/**\n * Generator that returns all ancestors of a given virtual tree item\n * @param key the key of the item to get the children from\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\nfunction* HeadlessTreeAncestorsGenerator(key, virtualTreeItems) {\n let parent = virtualTreeItems.getParent(key);\n while(parent !== virtualTreeItems.root){\n yield parent;\n parent = virtualTreeItems.getParent(parent.value);\n }\n}\n/**\n * Generator that returns all visible items of a given virtual tree\n * @param openItems the open items of the tree\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\nfunction* HeadlessTreeVisibleItemsGenerator(openItems, virtualTreeItems) {\n let index = 0;\n for (const item of HeadlessTreeSubtreeGenerator(virtualTreeItems.root.value, virtualTreeItems)){\n if (isItemVisible(item, openItems, virtualTreeItems)) {\n item.index = index++;\n yield item;\n }\n }\n}\nfunction isItemVisible(item, openItems, virtualTreeItems) {\n if (item.level === 1) {\n return true;\n }\n while(item.parentValue && item.parentValue !== virtualTreeItems.root.value){\n if (!openItems.has(item.parentValue)) {\n return false;\n }\n const parent = virtualTreeItems.get(item.parentValue);\n if (!parent) {\n return false;\n }\n item = parent;\n }\n return true;\n}\n"],"names":["createHeadlessTree","headlessTreeRootId","initialProps","root","createHeadlessTreeRootItem","itemsPerValue","Map","value","_itemsPerValue_get_parentValue","_itemsPerValue_get","headlessTree","size","getParent","key","_itemsPerValue_get1","get","parentValue","has","add","props","propsWithoutParentValue","parentItem","process","env","NODE_ENV","console","error","itemType","_propsWithoutParentValue_itemType","item","getTreeItemProps","level","position","childrenValues","length","index","push","set","subtree","HeadlessTreeSubtreeGenerator","children","HeadlessTreeChildrenGenerator","ancestors","HeadlessTreeAncestorsGenerator","visibleItems","openItems","HeadlessTreeVisibleItemsGenerator","forEach","undefined","id","virtualTreeItems","childValue","parent","isItemVisible"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "createOpenItems", {
6
+ enumerable: true,
7
+ get: ()=>createOpenItems
8
+ });
9
+ const _immutableSet = require("./ImmutableSet");
10
+ function createOpenItems(iterable) {
11
+ if (iterable === undefined) {
12
+ return _immutableSet.ImmutableSet.empty;
13
+ }
14
+ if (_immutableSet.ImmutableSet.isImmutableSet(iterable)) {
15
+ return iterable;
16
+ }
17
+ return _immutableSet.ImmutableSet.create(iterable);
18
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["createOpenItems.js"],"sourcesContent":["import { ImmutableSet } from './ImmutableSet';\nexport function createOpenItems(iterable) {\n if (iterable === undefined) {\n return ImmutableSet.empty;\n }\n if (ImmutableSet.isImmutableSet(iterable)) {\n return iterable;\n }\n return ImmutableSet.create(iterable);\n}\n"],"names":["createOpenItems","iterable","undefined","ImmutableSet","empty","isImmutableSet","create"],"mappings":";;;;+BACgBA;;aAAAA;;8BADa;AACtB,SAASA,gBAAgBC,QAAQ,EAAE;IACtC,IAAIA,aAAaC,WAAW;QACxB,OAAOC,0BAAY,CAACC,KAAK;IAC7B,CAAC;IACD,IAAID,0BAAY,CAACE,cAAc,CAACJ,WAAW;QACvC,OAAOA;IACX,CAAC;IACD,OAAOE,0BAAY,CAACG,MAAM,CAACL;AAC/B"}