@fluentui/react-tree 9.0.0-beta.9 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/CHANGELOG.json +1558 -8
  2. package/CHANGELOG.md +421 -9
  3. package/LICENSE +1 -1
  4. package/dist/index.d.ts +367 -132
  5. package/lib/FlatTree.js +1 -0
  6. package/lib/FlatTree.js.map +1 -0
  7. package/lib/Tree.js +0 -1
  8. package/lib/Tree.js.map +1 -1
  9. package/lib/TreeItem.js +0 -1
  10. package/lib/TreeItem.js.map +1 -1
  11. package/lib/TreeItemLayout.js +0 -1
  12. package/lib/TreeItemLayout.js.map +1 -1
  13. package/lib/TreeItemPersonaLayout.js +0 -1
  14. package/lib/TreeItemPersonaLayout.js.map +1 -1
  15. package/lib/components/FlatTree/FlatTree.js +17 -0
  16. package/lib/components/FlatTree/FlatTree.js.map +1 -0
  17. package/lib/components/FlatTree/FlatTree.types.js +1 -0
  18. package/lib/components/FlatTree/FlatTree.types.js.map +1 -0
  19. package/lib/components/FlatTree/index.js +7 -0
  20. package/lib/components/FlatTree/index.js.map +1 -0
  21. package/lib/components/FlatTree/renderFlatTree.js +2 -0
  22. package/lib/components/FlatTree/renderFlatTree.js.map +1 -0
  23. package/lib/components/FlatTree/useFlatControllableCheckedItems.js +76 -0
  24. package/lib/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -0
  25. package/lib/components/FlatTree/useFlatTree.js +3 -0
  26. package/lib/components/FlatTree/useFlatTree.js.map +1 -0
  27. package/lib/components/FlatTree/useFlatTreeContextValues.js +2 -0
  28. package/lib/components/FlatTree/useFlatTreeContextValues.js.map +1 -0
  29. package/lib/components/FlatTree/useFlatTreeNavigation.js +74 -0
  30. package/lib/components/FlatTree/useFlatTreeNavigation.js.map +1 -0
  31. package/lib/components/FlatTree/useFlatTreeStyles.styles.js +20 -0
  32. package/lib/components/FlatTree/useFlatTreeStyles.styles.js.map +1 -0
  33. package/lib/components/FlatTree/useHeadlessFlatTree.js +124 -0
  34. package/lib/components/FlatTree/useHeadlessFlatTree.js.map +1 -0
  35. package/lib/components/Tree/Tree.js +9 -15
  36. package/lib/components/Tree/Tree.js.map +1 -1
  37. package/lib/components/Tree/Tree.types.js +1 -2
  38. package/lib/components/Tree/Tree.types.js.map +1 -1
  39. package/lib/components/Tree/index.js +2 -3
  40. package/lib/components/Tree/index.js.map +1 -1
  41. package/lib/components/Tree/renderTree.js +7 -11
  42. package/lib/components/Tree/renderTree.js.map +1 -1
  43. package/lib/components/Tree/useNestedControllableCheckedItems.js +22 -0
  44. package/lib/components/Tree/useNestedControllableCheckedItems.js.map +1 -0
  45. package/lib/components/Tree/useTree.js +63 -111
  46. package/lib/components/Tree/useTree.js.map +1 -1
  47. package/lib/components/Tree/useTreeContextValues.js +16 -24
  48. package/lib/components/Tree/useTreeContextValues.js.map +1 -1
  49. package/lib/components/Tree/useTreeNavigation.js +52 -0
  50. package/lib/components/Tree/useTreeNavigation.js.map +1 -0
  51. package/lib/components/Tree/{useTreeStyles.js → useTreeStyles.styles.js} +7 -3
  52. package/lib/components/Tree/useTreeStyles.styles.js.map +1 -0
  53. package/lib/components/TreeItem/TreeItem.js +7 -9
  54. package/lib/components/TreeItem/TreeItem.js.map +1 -1
  55. package/lib/components/TreeItem/TreeItem.types.js +0 -1
  56. package/lib/components/TreeItem/TreeItem.types.js.map +1 -1
  57. package/lib/components/TreeItem/index.js +2 -2
  58. package/lib/components/TreeItem/index.js.map +1 -1
  59. package/lib/components/TreeItem/renderTreeItem.js +7 -15
  60. package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
  61. package/lib/components/TreeItem/useTreeItem.js +161 -234
  62. package/lib/components/TreeItem/useTreeItem.js.map +1 -1
  63. package/lib/components/TreeItem/useTreeItemContextValues.js +20 -16
  64. package/lib/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  65. package/lib/components/TreeItem/useTreeItemStyles.styles.js +100 -0
  66. package/lib/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
  67. package/lib/components/TreeItemChevron.js +24 -0
  68. package/lib/components/TreeItemChevron.js.map +1 -0
  69. package/lib/components/TreeItemLayout/TreeItemLayout.js +5 -7
  70. package/lib/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  71. package/lib/components/TreeItemLayout/TreeItemLayout.types.js +1 -2
  72. package/lib/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  73. package/lib/components/TreeItemLayout/index.js +1 -2
  74. package/lib/components/TreeItemLayout/index.js.map +1 -1
  75. package/lib/components/TreeItemLayout/renderTreeItemLayout.js +8 -13
  76. package/lib/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  77. package/lib/components/TreeItemLayout/useTreeItemLayout.js +109 -40
  78. package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  79. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +237 -0
  80. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
  81. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +6 -8
  82. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  83. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +1 -2
  84. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  85. package/lib/components/TreeItemPersonaLayout/index.js +1 -2
  86. package/lib/components/TreeItemPersonaLayout/index.js.map +1 -1
  87. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +10 -15
  88. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  89. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +41 -48
  90. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  91. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +9 -10
  92. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  93. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +210 -0
  94. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
  95. package/lib/contexts/index.js +0 -1
  96. package/lib/contexts/index.js.map +1 -1
  97. package/lib/contexts/treeContext.js +13 -14
  98. package/lib/contexts/treeContext.js.map +1 -1
  99. package/lib/contexts/treeItemContext.js +16 -8
  100. package/lib/contexts/treeItemContext.js.map +1 -1
  101. package/lib/hooks/useControllableOpenItems.js +28 -0
  102. package/lib/hooks/useControllableOpenItems.js.map +1 -0
  103. package/lib/hooks/useRootTree.js +147 -0
  104. package/lib/hooks/useRootTree.js.map +1 -0
  105. package/lib/hooks/useRovingTabIndexes.js +30 -49
  106. package/lib/hooks/useRovingTabIndexes.js.map +1 -1
  107. package/lib/hooks/useSubtree.js +41 -0
  108. package/lib/hooks/useSubtree.js.map +1 -0
  109. package/lib/index.js +3 -4
  110. package/lib/index.js.map +1 -1
  111. package/lib/utils/ImmutableMap.js +41 -0
  112. package/lib/utils/ImmutableMap.js.map +1 -0
  113. package/lib/utils/ImmutableSet.js +42 -33
  114. package/lib/utils/ImmutableSet.js.map +1 -1
  115. package/lib/utils/assert.js +4 -5
  116. package/lib/utils/assert.js.map +1 -1
  117. package/lib/utils/createCheckedItems.js +18 -0
  118. package/lib/utils/createCheckedItems.js.map +1 -0
  119. package/lib/utils/createHTMLElementWalker.js +67 -0
  120. package/lib/utils/createHTMLElementWalker.js.map +1 -0
  121. package/lib/utils/createHeadlessTree.js +188 -0
  122. package/lib/utils/createHeadlessTree.js.map +1 -0
  123. package/lib/utils/createOpenItems.js +10 -0
  124. package/lib/utils/createOpenItems.js.map +1 -0
  125. package/lib/utils/flattenTree.js +15 -49
  126. package/lib/utils/flattenTree.js.map +1 -1
  127. package/lib/utils/getTreeItemValueFromElement.js +4 -0
  128. package/lib/utils/getTreeItemValueFromElement.js.map +1 -0
  129. package/lib/utils/nextTypeAheadElement.js +11 -12
  130. package/lib/utils/nextTypeAheadElement.js.map +1 -1
  131. package/lib/utils/normalizeOpenItems.js +6 -5
  132. package/lib/utils/normalizeOpenItems.js.map +1 -1
  133. package/lib/utils/tokens.js +14 -14
  134. package/lib/utils/tokens.js.map +1 -1
  135. package/lib/utils/treeItemFilter.js +2 -3
  136. package/lib/utils/treeItemFilter.js.map +1 -1
  137. package/lib-commonjs/FlatTree.js +6 -0
  138. package/lib-commonjs/FlatTree.js.map +1 -0
  139. package/lib-commonjs/Tree.js +0 -3
  140. package/lib-commonjs/Tree.js.map +1 -1
  141. package/lib-commonjs/TreeItem.js +0 -3
  142. package/lib-commonjs/TreeItem.js.map +1 -1
  143. package/lib-commonjs/TreeItemLayout.js +0 -3
  144. package/lib-commonjs/TreeItemLayout.js.map +1 -1
  145. package/lib-commonjs/TreeItemPersonaLayout.js +0 -3
  146. package/lib-commonjs/TreeItemPersonaLayout.js.map +1 -1
  147. package/lib-commonjs/components/FlatTree/FlatTree.js +21 -0
  148. package/lib-commonjs/components/FlatTree/FlatTree.js.map +1 -0
  149. package/lib-commonjs/components/FlatTree/FlatTree.types.js +4 -0
  150. package/lib-commonjs/components/FlatTree/FlatTree.types.js.map +1 -0
  151. package/lib-commonjs/components/FlatTree/index.js +12 -0
  152. package/lib-commonjs/components/FlatTree/index.js.map +1 -0
  153. package/lib-commonjs/components/FlatTree/renderFlatTree.js +10 -0
  154. package/lib-commonjs/components/FlatTree/renderFlatTree.js.map +1 -0
  155. package/lib-commonjs/components/FlatTree/useFlatControllableCheckedItems.js +91 -0
  156. package/lib-commonjs/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -0
  157. package/lib-commonjs/components/FlatTree/useFlatTree.js +12 -0
  158. package/lib-commonjs/components/FlatTree/useFlatTree.js.map +1 -0
  159. package/lib-commonjs/components/FlatTree/useFlatTreeContextValues.js +10 -0
  160. package/lib-commonjs/components/FlatTree/useFlatTreeContextValues.js.map +1 -0
  161. package/lib-commonjs/components/FlatTree/useFlatTreeNavigation.js +82 -0
  162. package/lib-commonjs/components/FlatTree/useFlatTreeNavigation.js.map +1 -0
  163. package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js +36 -0
  164. package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js.map +1 -0
  165. package/lib-commonjs/components/FlatTree/useHeadlessFlatTree.js +121 -0
  166. package/lib-commonjs/components/FlatTree/useHeadlessFlatTree.js.map +1 -0
  167. package/lib-commonjs/components/Tree/Tree.js +4 -6
  168. package/lib-commonjs/components/Tree/Tree.js.map +1 -1
  169. package/lib-commonjs/components/Tree/Tree.types.js +0 -5
  170. package/lib-commonjs/components/Tree/Tree.types.js.map +1 -1
  171. package/lib-commonjs/components/Tree/index.js +2 -5
  172. package/lib-commonjs/components/Tree/index.js.map +1 -1
  173. package/lib-commonjs/components/Tree/renderTree.js +6 -9
  174. package/lib-commonjs/components/Tree/renderTree.js.map +1 -1
  175. package/lib-commonjs/components/Tree/useNestedControllableCheckedItems.js +37 -0
  176. package/lib-commonjs/components/Tree/useNestedControllableCheckedItems.js.map +1 -0
  177. package/lib-commonjs/components/Tree/useTree.js +53 -85
  178. package/lib-commonjs/components/Tree/useTree.js.map +1 -1
  179. package/lib-commonjs/components/Tree/useTreeContextValues.js +9 -10
  180. package/lib-commonjs/components/Tree/useTreeContextValues.js.map +1 -1
  181. package/lib-commonjs/components/Tree/useTreeNavigation.js +60 -0
  182. package/lib-commonjs/components/Tree/useTreeNavigation.js.map +1 -0
  183. package/lib-commonjs/components/Tree/{useTreeStyles.js → useTreeStyles.styles.js} +10 -7
  184. package/lib-commonjs/components/Tree/useTreeStyles.styles.js.map +1 -0
  185. package/lib-commonjs/components/TreeItem/TreeItem.js +3 -5
  186. package/lib-commonjs/components/TreeItem/TreeItem.js.map +1 -1
  187. package/lib-commonjs/components/TreeItem/TreeItem.types.js +0 -3
  188. package/lib-commonjs/components/TreeItem/TreeItem.types.js.map +1 -1
  189. package/lib-commonjs/components/TreeItem/index.js +2 -4
  190. package/lib-commonjs/components/TreeItem/index.js.map +1 -1
  191. package/lib-commonjs/components/TreeItem/renderTreeItem.js +6 -12
  192. package/lib-commonjs/components/TreeItem/renderTreeItem.js.map +1 -1
  193. package/lib-commonjs/components/TreeItem/useTreeItem.js +111 -170
  194. package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
  195. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js +19 -18
  196. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  197. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js +202 -0
  198. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
  199. package/lib-commonjs/components/TreeItemChevron.js +33 -0
  200. package/lib-commonjs/components/TreeItemChevron.js.map +1 -0
  201. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js +3 -5
  202. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  203. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js +0 -3
  204. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  205. package/lib-commonjs/components/TreeItemLayout/index.js +1 -4
  206. package/lib-commonjs/components/TreeItemLayout/index.js.map +1 -1
  207. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js +8 -9
  208. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  209. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +92 -18
  210. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  211. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +392 -0
  212. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
  213. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +3 -5
  214. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  215. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +0 -3
  216. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  217. package/lib-commonjs/components/TreeItemPersonaLayout/index.js +1 -4
  218. package/lib-commonjs/components/TreeItemPersonaLayout/index.js.map +1 -1
  219. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +9 -10
  220. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  221. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +29 -26
  222. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  223. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +1 -3
  224. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  225. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +379 -0
  226. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
  227. package/lib-commonjs/contexts/index.js +0 -3
  228. package/lib-commonjs/contexts/index.js.map +1 -1
  229. package/lib-commonjs/contexts/treeContext.js +7 -7
  230. package/lib-commonjs/contexts/treeContext.js.map +1 -1
  231. package/lib-commonjs/contexts/treeItemContext.js +15 -6
  232. package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
  233. package/lib-commonjs/hooks/useControllableOpenItems.js +39 -0
  234. package/lib-commonjs/hooks/useControllableOpenItems.js.map +1 -0
  235. package/lib-commonjs/hooks/useRootTree.js +151 -0
  236. package/lib-commonjs/hooks/useRootTree.js.map +1 -0
  237. package/lib-commonjs/hooks/useRovingTabIndexes.js +9 -31
  238. package/lib-commonjs/hooks/useRovingTabIndexes.js.map +1 -1
  239. package/lib-commonjs/hooks/useSubtree.js +45 -0
  240. package/lib-commonjs/hooks/useSubtree.js.map +1 -0
  241. package/lib-commonjs/index.js +11 -7
  242. package/lib-commonjs/index.js.map +1 -1
  243. package/lib-commonjs/utils/ImmutableMap.js +49 -0
  244. package/lib-commonjs/utils/ImmutableMap.js.map +1 -0
  245. package/lib-commonjs/utils/ImmutableSet.js +28 -20
  246. package/lib-commonjs/utils/ImmutableSet.js.map +1 -1
  247. package/lib-commonjs/utils/assert.js +1 -3
  248. package/lib-commonjs/utils/assert.js.map +1 -1
  249. package/lib-commonjs/utils/createCheckedItems.js +26 -0
  250. package/lib-commonjs/utils/createCheckedItems.js.map +1 -0
  251. package/lib-commonjs/{hooks/useHTMLElementWalker.js → utils/createHTMLElementWalker.js} +3 -27
  252. package/lib-commonjs/utils/createHTMLElementWalker.js.map +1 -0
  253. package/lib-commonjs/utils/createHeadlessTree.js +202 -0
  254. package/lib-commonjs/utils/createHeadlessTree.js.map +1 -0
  255. package/lib-commonjs/utils/createOpenItems.js +18 -0
  256. package/lib-commonjs/utils/createOpenItems.js.map +1 -0
  257. package/lib-commonjs/utils/flattenTree.js +4 -40
  258. package/lib-commonjs/utils/flattenTree.js.map +1 -1
  259. package/lib-commonjs/utils/getTreeItemValueFromElement.js +18 -0
  260. package/lib-commonjs/utils/getTreeItemValueFromElement.js.map +1 -0
  261. package/lib-commonjs/utils/nextTypeAheadElement.js +1 -3
  262. package/lib-commonjs/utils/nextTypeAheadElement.js.map +1 -1
  263. package/lib-commonjs/utils/normalizeOpenItems.js +1 -3
  264. package/lib-commonjs/utils/normalizeOpenItems.js.map +1 -1
  265. package/lib-commonjs/utils/tokens.js +12 -13
  266. package/lib-commonjs/utils/tokens.js.map +1 -1
  267. package/lib-commonjs/utils/treeItemFilter.js +1 -3
  268. package/lib-commonjs/utils/treeItemFilter.js.map +1 -1
  269. package/package.json +31 -31
  270. package/.swcrc +0 -30
  271. package/lib/components/Tree/useTreeStyles.js.map +0 -1
  272. package/lib/components/TreeItem/useTreeItemStyles.js +0 -203
  273. package/lib/components/TreeItem/useTreeItemStyles.js.map +0 -1
  274. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -98
  275. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
  276. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js +0 -115
  277. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
  278. package/lib/hooks/index.js +0 -4
  279. package/lib/hooks/index.js.map +0 -1
  280. package/lib/hooks/useFlatTree.js +0 -77
  281. package/lib/hooks/useFlatTree.js.map +0 -1
  282. package/lib/hooks/useFlatTreeNavigation.js +0 -74
  283. package/lib/hooks/useFlatTreeNavigation.js.map +0 -1
  284. package/lib/hooks/useHTMLElementWalker.js +0 -80
  285. package/lib/hooks/useHTMLElementWalker.js.map +0 -1
  286. package/lib/hooks/useNestedTreeNavigation.js +0 -59
  287. package/lib/hooks/useNestedTreeNavigation.js.map +0 -1
  288. package/lib/hooks/useOpenItemsState.js +0 -22
  289. package/lib/hooks/useOpenItemsState.js.map +0 -1
  290. package/lib/utils/createFlatTreeItems.js +0 -109
  291. package/lib/utils/createFlatTreeItems.js.map +0 -1
  292. package/lib-commonjs/components/Tree/useTreeStyles.js.map +0 -1
  293. package/lib-commonjs/components/TreeItem/useTreeItemStyles.js +0 -375
  294. package/lib-commonjs/components/TreeItem/useTreeItemStyles.js.map +0 -1
  295. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -143
  296. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
  297. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js +0 -186
  298. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
  299. package/lib-commonjs/hooks/index.js +0 -11
  300. package/lib-commonjs/hooks/index.js.map +0 -1
  301. package/lib-commonjs/hooks/useFlatTree.js +0 -86
  302. package/lib-commonjs/hooks/useFlatTree.js.map +0 -1
  303. package/lib-commonjs/hooks/useFlatTreeNavigation.js +0 -82
  304. package/lib-commonjs/hooks/useFlatTreeNavigation.js.map +0 -1
  305. package/lib-commonjs/hooks/useHTMLElementWalker.js.map +0 -1
  306. package/lib-commonjs/hooks/useNestedTreeNavigation.js +0 -69
  307. package/lib-commonjs/hooks/useNestedTreeNavigation.js.map +0 -1
  308. package/lib-commonjs/hooks/useOpenItemsState.js +0 -39
  309. package/lib-commonjs/hooks/useOpenItemsState.js.map +0 -1
  310. package/lib-commonjs/utils/createFlatTreeItems.js +0 -126
  311. package/lib-commonjs/utils/createFlatTreeItems.js.map +0 -1
@@ -4,6 +4,3 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
6
  _exportStar(require("./components/TreeItem/index"), exports);
7
- //# sourceMappingURL=TreeItem.js.map
8
-
9
- //# sourceMappingURL=TreeItem.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../lib/TreeItem.js"],"sourcesContent":["export * from './components/TreeItem/index';\n//# sourceMappingURL=TreeItem.js.map"],"names":[],"mappings":";;;;;oBAAc;CACd,oCAAoC"}
1
+ {"version":3,"sources":["TreeItem.js"],"sourcesContent":["export * from './components/TreeItem/index';\n"],"names":[],"mappings":";;;;;oBAAc"}
@@ -4,6 +4,3 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
6
  _exportStar(require("./components/TreeItemLayout/index"), exports);
7
- //# sourceMappingURL=TreeItemLayout.js.map
8
-
9
- //# sourceMappingURL=TreeItemLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../lib/TreeItemLayout.js"],"sourcesContent":["export * from './components/TreeItemLayout/index';\n//# sourceMappingURL=TreeItemLayout.js.map"],"names":[],"mappings":";;;;;oBAAc;CACd,0CAA0C"}
1
+ {"version":3,"sources":["TreeItemLayout.js"],"sourcesContent":["export * from './components/TreeItemLayout/index';\n"],"names":[],"mappings":";;;;;oBAAc"}
@@ -4,6 +4,3 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
6
  _exportStar(require("./components/TreeItemPersonaLayout/index"), exports);
7
- //# sourceMappingURL=TreeItemPersonaLayout.js.map
8
-
9
- //# sourceMappingURL=TreeItemPersonaLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../lib/TreeItemPersonaLayout.js"],"sourcesContent":["export * from './components/TreeItemPersonaLayout/index';\n//# sourceMappingURL=TreeItemPersonaLayout.js.map"],"names":[],"mappings":";;;;;oBAAc;CACd,iDAAiD"}
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,121 @@
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;
57
+ (_options_onNavigation = options.onNavigation) === null || _options_onNavigation === void 0 ? void 0 : _options_onNavigation.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
+ onNavigation: handleNavigation
96
+ }), [
97
+ openItems,
98
+ checkedItems
99
+ ]);
100
+ const items = _react.useCallback(()=>headlessTree.visibleItems(openItems), [
101
+ openItems,
102
+ headlessTree
103
+ ]);
104
+ return _react.useMemo(()=>({
105
+ navigate: (data)=>{
106
+ if (walkerRef.current) {
107
+ navigate(data, walkerRef.current);
108
+ }
109
+ },
110
+ getTreeProps,
111
+ getNextNavigableItem,
112
+ getElementFromItem,
113
+ items
114
+ }), [
115
+ navigate,
116
+ getTreeProps,
117
+ getNextNavigableItem,
118
+ getElementFromItem,
119
+ items
120
+ ]);
121
+ }
@@ -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;\n (_options_onNavigation = options.onNavigation) === null || _options_onNavigation === void 0 ? void 0 : _options_onNavigation.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 onNavigation: 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","onNavigation","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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"}
@@ -9,15 +9,13 @@ Object.defineProperty(exports, "Tree", {
9
9
  const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
10
10
  const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
11
11
  const _useTree = require("./useTree");
12
- const _renderTree = require("./renderTree");
13
- const _useTreeStyles = require("./useTreeStyles");
14
12
  const _useTreeContextValues = require("./useTreeContextValues");
13
+ const _useTreeStylesStyles = require("./useTreeStyles.styles");
14
+ const _renderTree = require("./renderTree");
15
15
  const Tree = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
16
16
  const state = (0, _useTree.useTree_unstable)(props, ref);
17
- (0, _useTreeStyles.useTreeStyles_unstable)(state);
18
17
  const contextValues = (0, _useTreeContextValues.useTreeContextValues_unstable)(state);
18
+ (0, _useTreeStylesStyles.useTreeStyles_unstable)(state);
19
19
  return (0, _renderTree.renderTree_unstable)(state, contextValues);
20
20
  });
21
- Tree.displayName = 'Tree'; //# sourceMappingURL=Tree.js.map
22
-
23
- //# sourceMappingURL=Tree.js.map
21
+ Tree.displayName = 'Tree';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/components/Tree/Tree.js"],"sourcesContent":["import * as React from 'react';\nimport { useTree_unstable } from './useTree';\nimport { renderTree_unstable } from './renderTree';\nimport { useTreeStyles_unstable } from './useTreeStyles';\nimport { useTreeContextValues_unstable } from './useTreeContextValues';\n/**\n * A tree view widget presents a hierarchical list.\n * Any item in the hierarchy may have child items,\n * and items that have children may be expanded or collapsed to show or hide the children.\n * For example, in a file system navigator that uses a tree view to display folders and files,\n * an item representing a folder can be expanded to reveal the contents of the folder,\n * which may be files, folders, or both.\n */\nexport const Tree = /*#__PURE__*/React.forwardRef((props, ref) => {\n const state = useTree_unstable(props, ref);\n useTreeStyles_unstable(state);\n const contextValues = useTreeContextValues_unstable(state);\n return renderTree_unstable(state, contextValues);\n});\nTree.displayName = 'Tree';\n//# sourceMappingURL=Tree.js.map"],"names":["Tree","React","forwardRef","props","ref","state","useTree_unstable","useTreeStyles_unstable","contextValues","useTreeContextValues_unstable","renderTree_unstable","displayName"],"mappings":";;;;+BAaaA;;aAAAA;;;6DAbU;yBACU;4BACG;+BACG;sCACO;AASvC,MAAMA,OAAO,WAAW,GAAEC,OAAMC,UAAU,CAAC,CAACC,OAAOC,MAAQ;IAChE,MAAMC,QAAQC,IAAAA,yBAAgB,EAACH,OAAOC;IACtCG,IAAAA,qCAAsB,EAACF;IACvB,MAAMG,gBAAgBC,IAAAA,mDAA6B,EAACJ;IACpD,OAAOK,IAAAA,+BAAmB,EAACL,OAAOG;AACpC;AACAR,KAAKW,WAAW,GAAG,QACnB,gCAAgC"}
1
+ {"version":3,"sources":["Tree.js"],"sourcesContent":["import * as React from 'react';\nimport { useTree_unstable } from './useTree';\nimport { useTreeContextValues_unstable } from './useTreeContextValues';\nimport { useTreeStyles_unstable } from './useTreeStyles.styles';\nimport { renderTree_unstable } from './renderTree';\n/**\n * The `Tree` component renders nested items in a hierarchical structure.\n * Use it with `TreeItem` component and layouts components `TreeItemLayout` or `TreeItemPersonaLayout`.\n */ export const Tree = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useTree_unstable(props, ref);\n const contextValues = useTreeContextValues_unstable(state);\n useTreeStyles_unstable(state);\n return renderTree_unstable(state, contextValues);\n});\nTree.displayName = 'Tree';\n"],"names":["Tree","React","forwardRef","props","ref","state","useTree_unstable","contextValues","useTreeContextValues_unstable","useTreeStyles_unstable","renderTree_unstable","displayName"],"mappings":";;;;+BAQiBA;;aAAAA;;;6DARM;yBACU;sCACa;qCACP;4BACH;AAIzB,MAAMA,OAAO,WAAW,GAAGC,OAAMC,UAAU,CAAC,CAACC,OAAOC,MAAM;IACjE,MAAMC,QAAQC,IAAAA,yBAAgB,EAACH,OAAOC;IACtC,MAAMG,gBAAgBC,IAAAA,mDAA6B,EAACH;IACpDI,IAAAA,2CAAsB,EAACJ;IACvB,OAAOK,IAAAA,+BAAmB,EAACL,OAAOE;AACtC;AACAP,KAAKW,WAAW,GAAG"}
@@ -2,8 +2,3 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
6
- const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
7
- //# sourceMappingURL=Tree.types.js.map
8
-
9
- //# sourceMappingURL=Tree.types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/components/Tree/Tree.types.js"],"sourcesContent":["import * as React from 'react';\n//# sourceMappingURL=Tree.types.js.map"],"names":[],"mappings":";;;;;6DAAuB;CACvB,sCAAsC"}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -5,10 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
6
  _exportStar(require("./Tree"), exports);
7
7
  _exportStar(require("./Tree.types"), exports);
8
- _exportStar(require("./renderTree"), exports);
9
8
  _exportStar(require("./useTree"), exports);
10
- _exportStar(require("./useTreeStyles"), exports);
11
9
  _exportStar(require("./useTreeContextValues"), exports);
12
- //# sourceMappingURL=index.js.map
13
-
14
- //# sourceMappingURL=index.js.map
10
+ _exportStar(require("./useTreeStyles.styles"), exports);
11
+ _exportStar(require("./renderTree"), exports);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/components/Tree/index.js"],"sourcesContent":["export * from './Tree';\nexport * from './Tree.types';\nexport * from './renderTree';\nexport * from './useTree';\nexport * from './useTreeStyles';\nexport * from './useTreeContextValues';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;oBACA;CACd,iCAAiC"}
1
+ {"version":3,"sources":["index.js"],"sourcesContent":["export * from './Tree';\nexport * from './Tree.types';\nexport * from './useTree';\nexport * from './useTreeContextValues';\nexport * from './useTreeStyles.styles';\nexport * from './renderTree';\n"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;oBACA"}