@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
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- const tslib_1 = /*#__PURE__*/require("tslib");
7
- tslib_1.__exportStar(require("./components/Tree/index"), exports);
8
- //# sourceMappingURL=Tree.js.map
5
+ const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
+ _exportStar(require("./components/Tree/index"), exports);
@@ -1 +1 @@
1
- {"version":3,"names":["tslib_1","__exportStar","require","exports"],"sources":["../src/packages/react-components/react-tree/src/Tree.ts"],"sourcesContent":["export * from './components/Tree/index';\n"],"mappings":";;;;;;AAAAA,OAAA,CAAAC,YAAA,CAAAC,OAAA,6BAAAC,OAAA"}
1
+ {"version":3,"sources":["Tree.js"],"sourcesContent":["export * from './components/Tree/index';\n"],"names":[],"mappings":";;;;;oBAAc"}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- const tslib_1 = /*#__PURE__*/require("tslib");
7
- tslib_1.__exportStar(require("./components/TreeItem/index"), exports);
8
- //# sourceMappingURL=TreeItem.js.map
5
+ const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
+ _exportStar(require("./components/TreeItem/index"), exports);
@@ -1 +1 @@
1
- {"version":3,"names":["tslib_1","__exportStar","require","exports"],"sources":["../src/packages/react-components/react-tree/src/TreeItem.ts"],"sourcesContent":["export * from './components/TreeItem/index';\n"],"mappings":";;;;;;AAAAA,OAAA,CAAAC,YAAA,CAAAC,OAAA,iCAAAC,OAAA"}
1
+ {"version":3,"sources":["TreeItem.js"],"sourcesContent":["export * from './components/TreeItem/index';\n"],"names":[],"mappings":";;;;;oBAAc"}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- const tslib_1 = /*#__PURE__*/require("tslib");
7
- tslib_1.__exportStar(require("./components/TreeItemLayout/index"), exports);
8
- //# sourceMappingURL=TreeItemLayout.js.map
5
+ const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
+ _exportStar(require("./components/TreeItemLayout/index"), exports);
@@ -1 +1 @@
1
- {"version":3,"names":["tslib_1","__exportStar","require","exports"],"sources":["../src/packages/react-components/react-tree/src/TreeItemLayout.ts"],"sourcesContent":["export * from './components/TreeItemLayout/index';\n"],"mappings":";;;;;;AAAAA,OAAA,CAAAC,YAAA,CAAAC,OAAA,uCAAAC,OAAA"}
1
+ {"version":3,"sources":["TreeItemLayout.js"],"sourcesContent":["export * from './components/TreeItemLayout/index';\n"],"names":[],"mappings":";;;;;oBAAc"}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- const tslib_1 = /*#__PURE__*/require("tslib");
7
- tslib_1.__exportStar(require("./components/TreeItemPersonaLayout/index"), exports);
8
- //# sourceMappingURL=TreeItemPersonaLayout.js.map
5
+ const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
+ _exportStar(require("./components/TreeItemPersonaLayout/index"), exports);
@@ -1 +1 @@
1
- {"version":3,"names":["tslib_1","__exportStar","require","exports"],"sources":["../src/packages/react-components/react-tree/src/TreeItemPersonaLayout.ts"],"sourcesContent":["export * from './components/TreeItemPersonaLayout/index';\n"],"mappings":";;;;;;AAAAA,OAAA,CAAAC,YAAA,CAAAC,OAAA,8CAAAC,OAAA"}
1
+ {"version":3,"sources":["TreeItemPersonaLayout.js"],"sourcesContent":["export * from './components/TreeItemPersonaLayout/index';\n"],"names":[],"mappings":";;;;;oBAAc"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "FlatTree", {
6
+ enumerable: true,
7
+ get: ()=>FlatTree
8
+ });
9
+ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
10
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
11
+ const _useFlatTree = require("./useFlatTree");
12
+ const _useFlatTreeStylesStyles = require("./useFlatTreeStyles.styles");
13
+ const _useFlatTreeContextValues = require("./useFlatTreeContextValues");
14
+ const _renderFlatTree = require("./renderFlatTree");
15
+ const FlatTree = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
16
+ const state = (0, _useFlatTree.useFlatTree_unstable)(props, ref);
17
+ const contextValues = (0, _useFlatTreeContextValues.useFlatTreeContextValues_unstable)(state);
18
+ (0, _useFlatTreeStylesStyles.useFlatTreeStyles_unstable)(state);
19
+ return (0, _renderFlatTree.renderFlatTree_unstable)(state, contextValues);
20
+ });
21
+ FlatTree.displayName = 'FlatTree';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["FlatTree.js"],"sourcesContent":["import * as React from 'react';\nimport { useFlatTree_unstable } from './useFlatTree';\nimport { useFlatTreeStyles_unstable } from './useFlatTreeStyles.styles';\nimport { useFlatTreeContextValues_unstable } from './useFlatTreeContextValues';\nimport { renderFlatTree_unstable } from './renderFlatTree';\n/**\n * The `FlatTree` component is a variation of the `Tree` component that deals with a flattened data structure.\n *\n * It should be used on cases where more complex interactions with a Tree is required.\n * On simple scenarios it is advised to simply use a nested structure instead.\n */ export const FlatTree = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useFlatTree_unstable(props, ref);\n const contextValues = useFlatTreeContextValues_unstable(state);\n useFlatTreeStyles_unstable(state);\n return renderFlatTree_unstable(state, contextValues);\n});\nFlatTree.displayName = 'FlatTree';\n"],"names":["FlatTree","React","forwardRef","props","ref","state","useFlatTree_unstable","contextValues","useFlatTreeContextValues_unstable","useFlatTreeStyles_unstable","renderFlatTree_unstable","displayName"],"mappings":";;;;+BAUiBA;;aAAAA;;;6DAVM;6BACc;yCACM;0CACO;gCACV;AAM7B,MAAMA,WAAW,WAAW,GAAGC,OAAMC,UAAU,CAAC,CAACC,OAAOC,MAAM;IACrE,MAAMC,QAAQC,IAAAA,iCAAoB,EAACH,OAAOC;IAC1C,MAAMG,gBAAgBC,IAAAA,2DAAiC,EAACH;IACxDI,IAAAA,mDAA0B,EAACJ;IAC3B,OAAOK,IAAAA,uCAAuB,EAACL,OAAOE;AAC1C;AACAP,SAASW,WAAW,GAAG"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
+ _exportStar(require("./FlatTree"), exports);
7
+ _exportStar(require("./FlatTree.types"), exports);
8
+ _exportStar(require("./useHeadlessFlatTree"), exports);
9
+ _exportStar(require("./useFlatTree"), exports);
10
+ _exportStar(require("./useFlatTreeStyles.styles"), exports);
11
+ _exportStar(require("./useFlatTreeContextValues"), exports);
12
+ _exportStar(require("./renderFlatTree"), exports);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.js"],"sourcesContent":["export * from './FlatTree';\nexport * from './FlatTree.types';\nexport * from './useHeadlessFlatTree';\nexport * from './useFlatTree';\nexport * from './useFlatTreeStyles.styles';\nexport * from './useFlatTreeContextValues';\nexport * from './renderFlatTree';\n"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "renderFlatTree_unstable", {
6
+ enumerable: true,
7
+ get: ()=>renderFlatTree_unstable
8
+ });
9
+ const _tree = require("../../Tree");
10
+ const renderFlatTree_unstable = _tree.renderTree_unstable;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["renderFlatTree.js"],"sourcesContent":["import { renderTree_unstable } from '../../Tree';\nexport const renderFlatTree_unstable = renderTree_unstable;\n"],"names":["renderFlatTree_unstable","renderTree_unstable"],"mappings":";;;;+BACaA;;aAAAA;;sBADuB;AAC7B,MAAMA,0BAA0BC,yBAAmB"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ useFlatControllableCheckedItems: ()=>useFlatControllableCheckedItems,
13
+ createNextFlatCheckedItems: ()=>createNextFlatCheckedItems
14
+ });
15
+ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
16
+ const _reactUtilities = require("@fluentui/react-utilities");
17
+ const _immutableMap = require("../../utils/ImmutableMap");
18
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
19
+ const _createCheckedItems = require("../../utils/createCheckedItems");
20
+ function useFlatControllableCheckedItems(props, headlessTree) {
21
+ return (0, _reactUtilities.useControllableState)({
22
+ initialState: _immutableMap.ImmutableMap.empty,
23
+ state: _react.useMemo(()=>props.selectionMode ? props.checkedItems && (0, _createCheckedItems.createCheckedItems)(props.checkedItems) : undefined, [
24
+ props.checkedItems,
25
+ props.selectionMode
26
+ ]),
27
+ defaultState: ()=>initializeCheckedItems(props, headlessTree)
28
+ });
29
+ }
30
+ function createNextFlatCheckedItems(data, previousCheckedItems, headlessTree) {
31
+ if (data.selectionMode === 'single') {
32
+ return _immutableMap.ImmutableMap.create([
33
+ [
34
+ data.value,
35
+ data.checked
36
+ ]
37
+ ]);
38
+ }
39
+ const treeItem = headlessTree.get(data.value);
40
+ if (!treeItem) {
41
+ if (process.env.NODE_ENV !== 'production') {
42
+ // eslint-disable-next-line no-console
43
+ console.error(`useHeadlessFlatTree: tree item ${data.value} not found`);
44
+ }
45
+ return previousCheckedItems;
46
+ }
47
+ const nextCheckedItems = new Map(previousCheckedItems);
48
+ for (const children of headlessTree.subtree(data.value)){
49
+ nextCheckedItems.set(children.value, data.checked);
50
+ }
51
+ nextCheckedItems.set(data.value, data.checked);
52
+ let isAncestorsMixed = false;
53
+ for (const parent of headlessTree.ancestors(treeItem.value)){
54
+ // if one parent is mixed, all ancestors are mixed
55
+ if (isAncestorsMixed) {
56
+ nextCheckedItems.set(parent.value, 'mixed');
57
+ continue;
58
+ }
59
+ const checkedChildren = [];
60
+ for (const child of headlessTree.children(parent.value)){
61
+ var _nextCheckedItems_get;
62
+ if (((_nextCheckedItems_get = nextCheckedItems.get(child.value)) !== null && _nextCheckedItems_get !== void 0 ? _nextCheckedItems_get : false) === data.checked) {
63
+ checkedChildren.push(child);
64
+ }
65
+ }
66
+ if (checkedChildren.length === parent.childrenValues.length) {
67
+ nextCheckedItems.set(parent.value, data.checked);
68
+ } else {
69
+ // if one parent is mixed, all ancestors are mixed
70
+ isAncestorsMixed = true;
71
+ nextCheckedItems.set(parent.value, 'mixed');
72
+ }
73
+ }
74
+ return _immutableMap.ImmutableMap.dangerouslyCreate_unstable(nextCheckedItems);
75
+ }
76
+ function initializeCheckedItems(props, headlessTree) {
77
+ if (!props.selectionMode) {
78
+ return _immutableMap.ImmutableMap.empty;
79
+ }
80
+ let state = (0, _createCheckedItems.createCheckedItems)(props.defaultCheckedItems);
81
+ if (props.selectionMode === 'multiselect') {
82
+ for (const [value, checked] of state){
83
+ state = createNextFlatCheckedItems({
84
+ value,
85
+ checked,
86
+ selectionMode: props.selectionMode
87
+ }, state, headlessTree);
88
+ }
89
+ }
90
+ return state;
91
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useFlatControllableCheckedItems.js"],"sourcesContent":["import { useControllableState } from '@fluentui/react-utilities';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\nimport * as React from 'react';\nimport { createCheckedItems } from '../../utils/createCheckedItems';\nexport function useFlatControllableCheckedItems(props, headlessTree) {\n return useControllableState({\n initialState: ImmutableMap.empty,\n state: React.useMemo(()=>props.selectionMode ? props.checkedItems && createCheckedItems(props.checkedItems) : undefined, [\n props.checkedItems,\n props.selectionMode\n ]),\n defaultState: ()=>initializeCheckedItems(props, headlessTree)\n });\n}\nexport function createNextFlatCheckedItems(data, previousCheckedItems, headlessTree) {\n if (data.selectionMode === 'single') {\n return ImmutableMap.create([\n [\n data.value,\n data.checked\n ]\n ]);\n }\n const treeItem = headlessTree.get(data.value);\n if (!treeItem) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error(`useHeadlessFlatTree: tree item ${data.value} not found`);\n }\n return previousCheckedItems;\n }\n const nextCheckedItems = new Map(previousCheckedItems);\n for (const children of headlessTree.subtree(data.value)){\n nextCheckedItems.set(children.value, data.checked);\n }\n nextCheckedItems.set(data.value, data.checked);\n let isAncestorsMixed = false;\n for (const parent of headlessTree.ancestors(treeItem.value)){\n // if one parent is mixed, all ancestors are mixed\n if (isAncestorsMixed) {\n nextCheckedItems.set(parent.value, 'mixed');\n continue;\n }\n const checkedChildren = [];\n for (const child of headlessTree.children(parent.value)){\n var _nextCheckedItems_get;\n if (((_nextCheckedItems_get = nextCheckedItems.get(child.value)) !== null && _nextCheckedItems_get !== void 0 ? _nextCheckedItems_get : false) === data.checked) {\n checkedChildren.push(child);\n }\n }\n if (checkedChildren.length === parent.childrenValues.length) {\n nextCheckedItems.set(parent.value, data.checked);\n } else {\n // if one parent is mixed, all ancestors are mixed\n isAncestorsMixed = true;\n nextCheckedItems.set(parent.value, 'mixed');\n }\n }\n return ImmutableMap.dangerouslyCreate_unstable(nextCheckedItems);\n}\nfunction initializeCheckedItems(props, headlessTree) {\n if (!props.selectionMode) {\n return ImmutableMap.empty;\n }\n let state = createCheckedItems(props.defaultCheckedItems);\n if (props.selectionMode === 'multiselect') {\n for (const [value, checked] of state){\n state = createNextFlatCheckedItems({\n value,\n checked,\n selectionMode: props.selectionMode\n }, state, headlessTree);\n }\n }\n return state;\n}\n"],"names":["useFlatControllableCheckedItems","createNextFlatCheckedItems","props","headlessTree","useControllableState","initialState","ImmutableMap","empty","state","React","useMemo","selectionMode","checkedItems","createCheckedItems","undefined","defaultState","initializeCheckedItems","data","previousCheckedItems","create","value","checked","treeItem","get","process","env","NODE_ENV","console","error","nextCheckedItems","Map","children","subtree","set","isAncestorsMixed","parent","ancestors","checkedChildren","child","_nextCheckedItems_get","push","length","childrenValues","dangerouslyCreate_unstable","defaultCheckedItems"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "useFlatTree_unstable", {
6
+ enumerable: true,
7
+ get: ()=>useFlatTree_unstable
8
+ });
9
+ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
10
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
11
+ const _useRootTree = require("../../hooks/useRootTree");
12
+ const useFlatTree_unstable = _useRootTree.useRootTree;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useFlatTree.js"],"sourcesContent":["import * as React from 'react';\nimport { useRootTree } from '../../hooks/useRootTree';\nexport const useFlatTree_unstable = useRootTree;\n"],"names":["useFlatTree_unstable","useRootTree"],"mappings":";;;;+BAEaA;;aAAAA;;;6DAFU;6BACK;AACrB,MAAMA,uBAAuBC,wBAAW"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "useFlatTreeContextValues_unstable", {
6
+ enumerable: true,
7
+ get: ()=>useFlatTreeContextValues_unstable
8
+ });
9
+ const _tree = require("../../Tree");
10
+ const useFlatTreeContextValues_unstable = _tree.useTreeContextValues_unstable;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useFlatTreeContextValues.js"],"sourcesContent":["import { useTreeContextValues_unstable } from '../../Tree';\nexport const useFlatTreeContextValues_unstable = useTreeContextValues_unstable;\n"],"names":["useFlatTreeContextValues_unstable","useTreeContextValues_unstable"],"mappings":";;;;+BACaA;;aAAAA;;sBADiC;AACvC,MAAMA,oCAAoCC,mCAA6B"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "useFlatTreeNavigation", {
6
+ enumerable: true,
7
+ get: ()=>useFlatTreeNavigation
8
+ });
9
+ const _reactSharedContexts = require("@fluentui/react-shared-contexts");
10
+ const _reactUtilities = require("@fluentui/react-utilities");
11
+ const _nextTypeAheadElement = require("../../utils/nextTypeAheadElement");
12
+ const _tokens = require("../../utils/tokens");
13
+ const _treeItemFilter = require("../../utils/treeItemFilter");
14
+ const _useRovingTabIndexes = require("../../hooks/useRovingTabIndexes");
15
+ const _getTreeItemValueFromElement = require("../../utils/getTreeItemValueFromElement");
16
+ function useFlatTreeNavigation(virtualTree) {
17
+ const { targetDocument } = (0, _reactSharedContexts.useFluent_unstable)();
18
+ const { rove , initialize } = (0, _useRovingTabIndexes.useRovingTabIndex)(_treeItemFilter.treeItemFilter);
19
+ function getNextElement(data, walker) {
20
+ if (!targetDocument) {
21
+ return null;
22
+ }
23
+ switch(data.type){
24
+ case _tokens.treeDataTypes.Click:
25
+ return data.target;
26
+ case _tokens.treeDataTypes.TypeAhead:
27
+ walker.currentElement = data.target;
28
+ return (0, _nextTypeAheadElement.nextTypeAheadElement)(walker, data.event.key);
29
+ case _tokens.treeDataTypes.ArrowLeft:
30
+ return parentElement(virtualTree, data.target, walker);
31
+ case _tokens.treeDataTypes.ArrowRight:
32
+ walker.currentElement = data.target;
33
+ return firstChild(data.target, walker);
34
+ case _tokens.treeDataTypes.End:
35
+ walker.currentElement = walker.root;
36
+ return walker.lastChild();
37
+ case _tokens.treeDataTypes.Home:
38
+ walker.currentElement = walker.root;
39
+ return walker.firstChild();
40
+ case _tokens.treeDataTypes.ArrowDown:
41
+ walker.currentElement = data.target;
42
+ return walker.nextElement();
43
+ case _tokens.treeDataTypes.ArrowUp:
44
+ walker.currentElement = data.target;
45
+ return walker.previousElement();
46
+ }
47
+ }
48
+ const navigate = (0, _reactUtilities.useEventCallback)((data, walker)=>{
49
+ const nextElement = getNextElement(data, walker);
50
+ if (nextElement) {
51
+ rove(nextElement);
52
+ }
53
+ });
54
+ return {
55
+ navigate,
56
+ initialize
57
+ };
58
+ }
59
+ function firstChild(target, treeWalker) {
60
+ const nextElement = treeWalker.nextElement();
61
+ if (!nextElement) {
62
+ return null;
63
+ }
64
+ const nextElementAriaPosInSet = nextElement.getAttribute('aria-posinset');
65
+ const nextElementAriaLevel = nextElement.getAttribute('aria-level');
66
+ const targetAriaLevel = target.getAttribute('aria-level');
67
+ if (nextElementAriaPosInSet === '1' && Number(nextElementAriaLevel) === Number(targetAriaLevel) + 1) {
68
+ return nextElement;
69
+ }
70
+ return null;
71
+ }
72
+ function parentElement(virtualTreeItems, target, treeWalker) {
73
+ const value = (0, _getTreeItemValueFromElement.getTreeItemValueFromElement)(target);
74
+ if (value === null) {
75
+ return null;
76
+ }
77
+ const virtualTreeItem = virtualTreeItems.get(value);
78
+ if (virtualTreeItem === null || virtualTreeItem === void 0 ? void 0 : virtualTreeItem.parentValue) {
79
+ return treeWalker.root.querySelector(`[${_getTreeItemValueFromElement.dataTreeItemValueAttrName}="${virtualTreeItem.parentValue}"]`);
80
+ }
81
+ return null;
82
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useFlatTreeNavigation.js"],"sourcesContent":["import { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { useEventCallback } from '@fluentui/react-utilities';\nimport { nextTypeAheadElement } from '../../utils/nextTypeAheadElement';\nimport { treeDataTypes } from '../../utils/tokens';\nimport { treeItemFilter } from '../../utils/treeItemFilter';\nimport { useRovingTabIndex } from '../../hooks/useRovingTabIndexes';\nimport { dataTreeItemValueAttrName, getTreeItemValueFromElement } from '../../utils/getTreeItemValueFromElement';\nexport function useFlatTreeNavigation(virtualTree) {\n const { targetDocument } = useFluent_unstable();\n const { rove , initialize } = useRovingTabIndex(treeItemFilter);\n function getNextElement(data, walker) {\n if (!targetDocument) {\n return null;\n }\n switch(data.type){\n case treeDataTypes.Click:\n return data.target;\n case treeDataTypes.TypeAhead:\n walker.currentElement = data.target;\n return nextTypeAheadElement(walker, data.event.key);\n case treeDataTypes.ArrowLeft:\n return parentElement(virtualTree, data.target, walker);\n case treeDataTypes.ArrowRight:\n walker.currentElement = data.target;\n return firstChild(data.target, walker);\n case treeDataTypes.End:\n walker.currentElement = walker.root;\n return walker.lastChild();\n case treeDataTypes.Home:\n walker.currentElement = walker.root;\n return walker.firstChild();\n case treeDataTypes.ArrowDown:\n walker.currentElement = data.target;\n return walker.nextElement();\n case treeDataTypes.ArrowUp:\n walker.currentElement = data.target;\n return walker.previousElement();\n }\n }\n const navigate = useEventCallback((data, walker)=>{\n const nextElement = getNextElement(data, walker);\n if (nextElement) {\n rove(nextElement);\n }\n });\n return {\n navigate,\n initialize\n };\n}\nfunction firstChild(target, treeWalker) {\n const nextElement = treeWalker.nextElement();\n if (!nextElement) {\n return null;\n }\n const nextElementAriaPosInSet = nextElement.getAttribute('aria-posinset');\n const nextElementAriaLevel = nextElement.getAttribute('aria-level');\n const targetAriaLevel = target.getAttribute('aria-level');\n if (nextElementAriaPosInSet === '1' && Number(nextElementAriaLevel) === Number(targetAriaLevel) + 1) {\n return nextElement;\n }\n return null;\n}\nfunction parentElement(virtualTreeItems, target, treeWalker) {\n const value = getTreeItemValueFromElement(target);\n if (value === null) {\n return null;\n }\n const virtualTreeItem = virtualTreeItems.get(value);\n if (virtualTreeItem === null || virtualTreeItem === void 0 ? void 0 : virtualTreeItem.parentValue) {\n return treeWalker.root.querySelector(`[${dataTreeItemValueAttrName}=\"${virtualTreeItem.parentValue}\"]`);\n }\n return null;\n}\n"],"names":["useFlatTreeNavigation","virtualTree","targetDocument","useFluent_unstable","rove","initialize","useRovingTabIndex","treeItemFilter","getNextElement","data","walker","type","treeDataTypes","Click","target","TypeAhead","currentElement","nextTypeAheadElement","event","key","ArrowLeft","parentElement","ArrowRight","firstChild","End","root","lastChild","Home","ArrowDown","nextElement","ArrowUp","previousElement","navigate","useEventCallback","treeWalker","nextElementAriaPosInSet","getAttribute","nextElementAriaLevel","targetAriaLevel","Number","virtualTreeItems","value","getTreeItemValueFromElement","virtualTreeItem","get","parentValue","querySelector","dataTreeItemValueAttrName"],"mappings":";;;;+BAOgBA;;aAAAA;;qCAPmB;gCACF;sCACI;wBACP;gCACC;qCACG;6CACqC;AAChE,SAASA,sBAAsBC,WAAW,EAAE;IAC/C,MAAM,EAAEC,eAAc,EAAG,GAAGC,IAAAA,uCAAkB;IAC9C,MAAM,EAAEC,KAAI,EAAGC,WAAU,EAAG,GAAGC,IAAAA,sCAAiB,EAACC,8BAAc;IAC/D,SAASC,eAAeC,IAAI,EAAEC,MAAM,EAAE;QAClC,IAAI,CAACR,gBAAgB;YACjB,OAAO,IAAI;QACf,CAAC;QACD,OAAOO,KAAKE,IAAI;YACZ,KAAKC,qBAAa,CAACC,KAAK;gBACpB,OAAOJ,KAAKK,MAAM;YACtB,KAAKF,qBAAa,CAACG,SAAS;gBACxBL,OAAOM,cAAc,GAAGP,KAAKK,MAAM;gBACnC,OAAOG,IAAAA,0CAAoB,EAACP,QAAQD,KAAKS,KAAK,CAACC,GAAG;YACtD,KAAKP,qBAAa,CAACQ,SAAS;gBACxB,OAAOC,cAAcpB,aAAaQ,KAAKK,MAAM,EAAEJ;YACnD,KAAKE,qBAAa,CAACU,UAAU;gBACzBZ,OAAOM,cAAc,GAAGP,KAAKK,MAAM;gBACnC,OAAOS,WAAWd,KAAKK,MAAM,EAAEJ;YACnC,KAAKE,qBAAa,CAACY,GAAG;gBAClBd,OAAOM,cAAc,GAAGN,OAAOe,IAAI;gBACnC,OAAOf,OAAOgB,SAAS;YAC3B,KAAKd,qBAAa,CAACe,IAAI;gBACnBjB,OAAOM,cAAc,GAAGN,OAAOe,IAAI;gBACnC,OAAOf,OAAOa,UAAU;YAC5B,KAAKX,qBAAa,CAACgB,SAAS;gBACxBlB,OAAOM,cAAc,GAAGP,KAAKK,MAAM;gBACnC,OAAOJ,OAAOmB,WAAW;YAC7B,KAAKjB,qBAAa,CAACkB,OAAO;gBACtBpB,OAAOM,cAAc,GAAGP,KAAKK,MAAM;gBACnC,OAAOJ,OAAOqB,eAAe;QACrC;IACJ;IACA,MAAMC,WAAWC,IAAAA,gCAAgB,EAAC,CAACxB,MAAMC,SAAS;QAC9C,MAAMmB,cAAcrB,eAAeC,MAAMC;QACzC,IAAImB,aAAa;YACbzB,KAAKyB;QACT,CAAC;IACL;IACA,OAAO;QACHG;QACA3B;IACJ;AACJ;AACA,SAASkB,WAAWT,MAAM,EAAEoB,UAAU,EAAE;IACpC,MAAML,cAAcK,WAAWL,WAAW;IAC1C,IAAI,CAACA,aAAa;QACd,OAAO,IAAI;IACf,CAAC;IACD,MAAMM,0BAA0BN,YAAYO,YAAY,CAAC;IACzD,MAAMC,uBAAuBR,YAAYO,YAAY,CAAC;IACtD,MAAME,kBAAkBxB,OAAOsB,YAAY,CAAC;IAC5C,IAAID,4BAA4B,OAAOI,OAAOF,0BAA0BE,OAAOD,mBAAmB,GAAG;QACjG,OAAOT;IACX,CAAC;IACD,OAAO,IAAI;AACf;AACA,SAASR,cAAcmB,gBAAgB,EAAE1B,MAAM,EAAEoB,UAAU,EAAE;IACzD,MAAMO,QAAQC,IAAAA,wDAA2B,EAAC5B;IAC1C,IAAI2B,UAAU,IAAI,EAAE;QAChB,OAAO,IAAI;IACf,CAAC;IACD,MAAME,kBAAkBH,iBAAiBI,GAAG,CAACH;IAC7C,IAAIE,oBAAoB,IAAI,IAAIA,oBAAoB,KAAK,IAAI,KAAK,IAAIA,gBAAgBE,WAAW,EAAE;QAC/F,OAAOX,WAAWT,IAAI,CAACqB,aAAa,CAAC,CAAC,CAAC,EAAEC,sDAAyB,CAAC,EAAE,EAAEJ,gBAAgBE,WAAW,CAAC,EAAE,CAAC;IAC1G,CAAC;IACD,OAAO,IAAI;AACf"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ flatTreeClassNames: ()=>flatTreeClassNames,
13
+ useFlatTreeStyles_unstable: ()=>useFlatTreeStyles_unstable
14
+ });
15
+ const _react = require("@griffel/react");
16
+ const flatTreeClassNames = {
17
+ root: 'fui-FlatTree'
18
+ };
19
+ const useStyles = /*#__PURE__*/ (0, _react["__styles"])({
20
+ root: {
21
+ mc9l5x: "f22iagw",
22
+ Beiy3e4: "f1vx9l62",
23
+ Belr9w4: "f1j0q4x9"
24
+ }
25
+ }, {
26
+ d: [
27
+ ".f22iagw{display:flex;}",
28
+ ".f1vx9l62{flex-direction:column;}",
29
+ ".f1j0q4x9{row-gap:var(--spacingVerticalXXS);}"
30
+ ]
31
+ });
32
+ const useFlatTreeStyles_unstable = (state)=>{
33
+ const styles = useStyles();
34
+ state.root.className = (0, _react.mergeClasses)(flatTreeClassNames.root, styles.root, state.root.className);
35
+ return state;
36
+ }; //# sourceMappingURL=useFlatTreeStyles.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useFlatTreeStyles.styles.js"],"sourcesContent":["import { __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const flatTreeClassNames = {\n root: 'fui-FlatTree'\n};\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n mc9l5x: \"f22iagw\",\n Beiy3e4: \"f1vx9l62\",\n Belr9w4: \"f1j0q4x9\"\n }\n}, {\n d: [\".f22iagw{display:flex;}\", \".f1vx9l62{flex-direction:column;}\", \".f1j0q4x9{row-gap:var(--spacingVerticalXXS);}\"]\n});\nexport const useFlatTreeStyles_unstable = state => {\n const styles = useStyles();\n state.root.className = mergeClasses(flatTreeClassNames.root, styles.root, state.root.className);\n return state;\n};\n//# sourceMappingURL=useFlatTreeStyles.styles.js.map"],"names":["flatTreeClassNames","useFlatTreeStyles_unstable","root","useStyles","__styles","mc9l5x","Beiy3e4","Belr9w4","d","state","styles","className","mergeClasses"],"mappings":";;;;;;;;;;;IAEaA,kBAAkB,MAAlBA;IAYAC,0BAA0B,MAA1BA;;uBAd0B;AAEhC,MAAMD,qBAAqB;IAChCE,MAAM;AACR;AACA,MAAMC,YAAY,WAAW,GAAEC,IAAAA,kBAAQ,EAAC;IACtCF,MAAM;QACJG,QAAQ;QACRC,SAAS;QACTC,SAAS;IACX;AACF,GAAG;IACDC,GAAG;QAAC;QAA2B;QAAqC;KAAgD;AACtH;AACO,MAAMP,6BAA6BQ,CAAAA,QAAS;IACjD,MAAMC,SAASP;IACfM,MAAMP,IAAI,CAACS,SAAS,GAAGC,IAAAA,mBAAY,EAACZ,mBAAmBE,IAAI,EAAEQ,OAAOR,IAAI,EAAEO,MAAMP,IAAI,CAACS,SAAS;IAC9F,OAAOF;AACT,GACA,oDAAoD"}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "useHeadlessFlatTree_unstable", {
6
+ enumerable: true,
7
+ get: ()=>useHeadlessFlatTree_unstable
8
+ });
9
+ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
10
+ const _reactUtilities = require("@fluentui/react-utilities");
11
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
12
+ const _createHeadlessTree = require("../../utils/createHeadlessTree");
13
+ const _tokens = require("../../utils/tokens");
14
+ const _useFlatTreeNavigation = require("./useFlatTreeNavigation");
15
+ const _useControllableOpenItems = require("../../hooks/useControllableOpenItems");
16
+ const _getTreeItemValueFromElement = require("../../utils/getTreeItemValueFromElement");
17
+ const _useFlatControllableCheckedItems = require("./useFlatControllableCheckedItems");
18
+ const _createHTMLElementWalker = require("../../utils/createHTMLElementWalker");
19
+ const _treeItemFilter = require("../../utils/treeItemFilter");
20
+ function useHeadlessFlatTree_unstable(props, options = {}) {
21
+ const headlessTree = _react.useMemo(()=>(0, _createHeadlessTree.createHeadlessTree)(props), [
22
+ props
23
+ ]);
24
+ const [openItems, setOpenItems] = (0, _useControllableOpenItems.useControllableOpenItems)(options);
25
+ const [checkedItems, setCheckedItems] = (0, _useFlatControllableCheckedItems.useFlatControllableCheckedItems)(options, headlessTree);
26
+ const { initialize , navigate } = (0, _useFlatTreeNavigation.useFlatTreeNavigation)(headlessTree);
27
+ const walkerRef = _react.useRef();
28
+ const initializeWalker = _react.useCallback((root)=>{
29
+ if (root) {
30
+ walkerRef.current = (0, _createHTMLElementWalker.createHTMLElementWalker)(root, _treeItemFilter.treeItemFilter);
31
+ initialize(walkerRef.current);
32
+ }
33
+ }, [
34
+ initialize
35
+ ]);
36
+ const treeRef = _react.useRef(null);
37
+ const handleOpenChange = (0, _reactUtilities.useEventCallback)((event, data)=>{
38
+ var _options_onOpenChange;
39
+ const nextOpenItems = (0, _useControllableOpenItems.createNextOpenItems)(data, openItems);
40
+ (_options_onOpenChange = options.onOpenChange) === null || _options_onOpenChange === void 0 ? void 0 : _options_onOpenChange.call(options, event, {
41
+ ...data,
42
+ openItems: nextOpenItems.dangerouslyGetInternalSet_unstable()
43
+ });
44
+ setOpenItems(nextOpenItems);
45
+ });
46
+ const handleCheckedChange = (0, _reactUtilities.useEventCallback)((event, data)=>{
47
+ var _options_onCheckedChange;
48
+ const nextCheckedItems = (0, _useFlatControllableCheckedItems.createNextFlatCheckedItems)(data, checkedItems, headlessTree);
49
+ (_options_onCheckedChange = options.onCheckedChange) === null || _options_onCheckedChange === void 0 ? void 0 : _options_onCheckedChange.call(options, event, {
50
+ ...data,
51
+ checkedItems: nextCheckedItems.dangerouslyGetInternalMap_unstable()
52
+ });
53
+ setCheckedItems(nextCheckedItems);
54
+ });
55
+ const handleNavigation = (0, _reactUtilities.useEventCallback)((event, data)=>{
56
+ var _options_onNavigation_unstable;
57
+ (_options_onNavigation_unstable = options.onNavigation_unstable) === null || _options_onNavigation_unstable === void 0 ? void 0 : _options_onNavigation_unstable.call(options, event, data);
58
+ if (walkerRef.current) {
59
+ navigate(data, walkerRef.current);
60
+ }
61
+ });
62
+ const getNextNavigableItem = (0, _reactUtilities.useEventCallback)((visibleItems, data)=>{
63
+ const item = headlessTree.get(data.value);
64
+ if (item) {
65
+ switch(data.type){
66
+ case _tokens.treeDataTypes.TypeAhead:
67
+ return item;
68
+ case _tokens.treeDataTypes.ArrowLeft:
69
+ return headlessTree.get(item.parentValue);
70
+ case _tokens.treeDataTypes.ArrowRight:
71
+ return visibleItems[item.index + 1];
72
+ case _tokens.treeDataTypes.End:
73
+ return visibleItems[visibleItems.length - 1];
74
+ case _tokens.treeDataTypes.Home:
75
+ return visibleItems[0];
76
+ case _tokens.treeDataTypes.ArrowDown:
77
+ return visibleItems[item.index + 1];
78
+ case _tokens.treeDataTypes.ArrowUp:
79
+ return visibleItems[item.index - 1];
80
+ }
81
+ }
82
+ });
83
+ const getElementFromItem = _react.useCallback((item)=>{
84
+ var _treeRef_current;
85
+ return (_treeRef_current = treeRef.current) === null || _treeRef_current === void 0 ? void 0 : _treeRef_current.querySelector(`[${_getTreeItemValueFromElement.dataTreeItemValueAttrName}="${item.value}"]`);
86
+ }, []);
87
+ const ref = (0, _reactUtilities.useMergedRefs)(treeRef, initializeWalker);
88
+ const getTreeProps = _react.useCallback(()=>({
89
+ ref,
90
+ openItems,
91
+ selectionMode: options.selectionMode,
92
+ checkedItems,
93
+ onOpenChange: handleOpenChange,
94
+ onCheckedChange: handleCheckedChange,
95
+ // eslint-disable-next-line @typescript-eslint/naming-convention
96
+ onNavigation_unstable: handleNavigation
97
+ }), [
98
+ openItems,
99
+ checkedItems
100
+ ]);
101
+ const items = _react.useCallback(()=>headlessTree.visibleItems(openItems), [
102
+ openItems,
103
+ headlessTree
104
+ ]);
105
+ return _react.useMemo(()=>({
106
+ navigate: (data)=>{
107
+ if (walkerRef.current) {
108
+ navigate(data, walkerRef.current);
109
+ }
110
+ },
111
+ getTreeProps,
112
+ getNextNavigableItem,
113
+ getElementFromItem,
114
+ items
115
+ }), [
116
+ navigate,
117
+ getTreeProps,
118
+ getNextNavigableItem,
119
+ getElementFromItem,
120
+ items
121
+ ]);
122
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useHeadlessFlatTree.js"],"sourcesContent":["import { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { createHeadlessTree } from '../../utils/createHeadlessTree';\nimport { treeDataTypes } from '../../utils/tokens';\nimport { useFlatTreeNavigation } from './useFlatTreeNavigation';\nimport { createNextOpenItems, useControllableOpenItems } from '../../hooks/useControllableOpenItems';\nimport { dataTreeItemValueAttrName } from '../../utils/getTreeItemValueFromElement';\nimport { createNextFlatCheckedItems, useFlatControllableCheckedItems } from './useFlatControllableCheckedItems';\nimport { createHTMLElementWalker } from '../../utils/createHTMLElementWalker';\nimport { treeItemFilter } from '../../utils/treeItemFilter';\n/**\n * this hook provides FlatTree API to manage all required mechanisms to convert a list of items into renderable TreeItems\n * in multiple scenarios including virtualization.\n *\n * !!A flat tree is an unofficial spec for tree!!\n *\n * It should be used on cases where more complex interactions with a Tree is required.\n * On simple scenarios it is advised to simply use a nested structure instead.\n *\n * @param props - a list of tree items\n * @param options - in case control over the internal openItems is required\n */ export function useHeadlessFlatTree_unstable(props, options = {}) {\n const headlessTree = React.useMemo(()=>createHeadlessTree(props), [\n props\n ]);\n const [openItems, setOpenItems] = useControllableOpenItems(options);\n const [checkedItems, setCheckedItems] = useFlatControllableCheckedItems(options, headlessTree);\n const { initialize , navigate } = useFlatTreeNavigation(headlessTree);\n const walkerRef = React.useRef();\n const initializeWalker = React.useCallback((root)=>{\n if (root) {\n walkerRef.current = createHTMLElementWalker(root, treeItemFilter);\n initialize(walkerRef.current);\n }\n }, [\n initialize\n ]);\n const treeRef = React.useRef(null);\n const handleOpenChange = useEventCallback((event, data)=>{\n var _options_onOpenChange;\n const nextOpenItems = createNextOpenItems(data, openItems);\n (_options_onOpenChange = options.onOpenChange) === null || _options_onOpenChange === void 0 ? void 0 : _options_onOpenChange.call(options, event, {\n ...data,\n openItems: nextOpenItems.dangerouslyGetInternalSet_unstable()\n });\n setOpenItems(nextOpenItems);\n });\n const handleCheckedChange = useEventCallback((event, data)=>{\n var _options_onCheckedChange;\n const nextCheckedItems = createNextFlatCheckedItems(data, checkedItems, headlessTree);\n (_options_onCheckedChange = options.onCheckedChange) === null || _options_onCheckedChange === void 0 ? void 0 : _options_onCheckedChange.call(options, event, {\n ...data,\n checkedItems: nextCheckedItems.dangerouslyGetInternalMap_unstable()\n });\n setCheckedItems(nextCheckedItems);\n });\n const handleNavigation = useEventCallback((event, data)=>{\n var _options_onNavigation_unstable;\n (_options_onNavigation_unstable = options.onNavigation_unstable) === null || _options_onNavigation_unstable === void 0 ? void 0 : _options_onNavigation_unstable.call(options, event, data);\n if (walkerRef.current) {\n navigate(data, walkerRef.current);\n }\n });\n const getNextNavigableItem = useEventCallback((visibleItems, data)=>{\n const item = headlessTree.get(data.value);\n if (item) {\n switch(data.type){\n case treeDataTypes.TypeAhead:\n return item;\n case treeDataTypes.ArrowLeft:\n return headlessTree.get(item.parentValue);\n case treeDataTypes.ArrowRight:\n return visibleItems[item.index + 1];\n case treeDataTypes.End:\n return visibleItems[visibleItems.length - 1];\n case treeDataTypes.Home:\n return visibleItems[0];\n case treeDataTypes.ArrowDown:\n return visibleItems[item.index + 1];\n case treeDataTypes.ArrowUp:\n return visibleItems[item.index - 1];\n }\n }\n });\n const getElementFromItem = React.useCallback((item)=>{\n var _treeRef_current;\n return (_treeRef_current = treeRef.current) === null || _treeRef_current === void 0 ? void 0 : _treeRef_current.querySelector(`[${dataTreeItemValueAttrName}=\"${item.value}\"]`);\n }, []);\n const ref = useMergedRefs(treeRef, initializeWalker);\n const getTreeProps = React.useCallback(()=>({\n ref,\n openItems,\n selectionMode: options.selectionMode,\n checkedItems,\n onOpenChange: handleOpenChange,\n onCheckedChange: handleCheckedChange,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n onNavigation_unstable: handleNavigation\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n openItems,\n checkedItems\n ]);\n const items = React.useCallback(()=>headlessTree.visibleItems(openItems), [\n openItems,\n headlessTree\n ]);\n return React.useMemo(()=>({\n navigate: (data)=>{\n if (walkerRef.current) {\n navigate(data, walkerRef.current);\n }\n },\n getTreeProps,\n getNextNavigableItem,\n getElementFromItem,\n items\n }), [\n navigate,\n getTreeProps,\n getNextNavigableItem,\n getElementFromItem,\n items\n ]);\n}\n"],"names":["useHeadlessFlatTree_unstable","props","options","headlessTree","React","useMemo","createHeadlessTree","openItems","setOpenItems","useControllableOpenItems","checkedItems","setCheckedItems","useFlatControllableCheckedItems","initialize","navigate","useFlatTreeNavigation","walkerRef","useRef","initializeWalker","useCallback","root","current","createHTMLElementWalker","treeItemFilter","treeRef","handleOpenChange","useEventCallback","event","data","_options_onOpenChange","nextOpenItems","createNextOpenItems","onOpenChange","call","dangerouslyGetInternalSet_unstable","handleCheckedChange","_options_onCheckedChange","nextCheckedItems","createNextFlatCheckedItems","onCheckedChange","dangerouslyGetInternalMap_unstable","handleNavigation","_options_onNavigation_unstable","onNavigation_unstable","getNextNavigableItem","visibleItems","item","get","value","type","treeDataTypes","TypeAhead","ArrowLeft","parentValue","ArrowRight","index","End","length","Home","ArrowDown","ArrowUp","getElementFromItem","_treeRef_current","querySelector","dataTreeItemValueAttrName","ref","useMergedRefs","getTreeProps","selectionMode","items"],"mappings":"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"}
@@ -1,27 +1,21 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports.Tree = void 0;
7
- const React = /*#__PURE__*/require("react");
8
- const useTree_1 = /*#__PURE__*/require("./useTree");
9
- const renderTree_1 = /*#__PURE__*/require("./renderTree");
10
- const useTreeStyles_1 = /*#__PURE__*/require("./useTreeStyles");
11
- const useTreeContextValues_1 = /*#__PURE__*/require("./useTreeContextValues");
12
- /**
13
- * A tree view widget presents a hierarchical list.
14
- * Any item in the hierarchy may have child items,
15
- * and items that have children may be expanded or collapsed to show or hide the children.
16
- * For example, in a file system navigator that uses a tree view to display folders and files,
17
- * an item representing a folder can be expanded to reveal the contents of the folder,
18
- * which may be files, folders, or both.
19
- */
20
- exports.Tree = /*#__PURE__*/React.forwardRef((props, ref) => {
21
- const state = useTree_1.useTree_unstable(props, ref);
22
- useTreeStyles_1.useTreeStyles_unstable(state);
23
- const contextValues = useTreeContextValues_1.useTreeContextValues_unstable(state);
24
- return renderTree_1.renderTree_unstable(state, contextValues);
5
+ Object.defineProperty(exports, "Tree", {
6
+ enumerable: true,
7
+ get: ()=>Tree
25
8
  });
26
- exports.Tree.displayName = 'Tree';
27
- //# sourceMappingURL=Tree.js.map
9
+ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
10
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
11
+ const _useTree = require("./useTree");
12
+ const _useTreeContextValues = require("./useTreeContextValues");
13
+ const _useTreeStylesStyles = require("./useTreeStyles.styles");
14
+ const _renderTree = require("./renderTree");
15
+ const Tree = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
16
+ const state = (0, _useTree.useTree_unstable)(props, ref);
17
+ const contextValues = (0, _useTreeContextValues.useTreeContextValues_unstable)(state);
18
+ (0, _useTreeStylesStyles.useTreeStyles_unstable)(state);
19
+ return (0, _renderTree.renderTree_unstable)(state, contextValues);
20
+ });
21
+ Tree.displayName = 'Tree';