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

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 (307) hide show
  1. package/CHANGELOG.json +1566 -1
  2. package/CHANGELOG.md +423 -2
  3. package/dist/index.d.ts +408 -131
  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 +13 -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 +6 -0
  19. package/lib/components/FlatTree/index.js.map +1 -0
  20. package/lib/components/FlatTree/useFlatControllableCheckedItems.js +63 -0
  21. package/lib/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -0
  22. package/lib/components/FlatTree/useFlatTree.js +3 -0
  23. package/lib/components/FlatTree/useFlatTree.js.map +1 -0
  24. package/lib/components/FlatTree/useFlatTreeNavigation.js +74 -0
  25. package/lib/components/FlatTree/useFlatTreeNavigation.js.map +1 -0
  26. package/lib/components/FlatTree/useFlatTreeStyles.styles.js +20 -0
  27. package/lib/components/FlatTree/useFlatTreeStyles.styles.js.map +1 -0
  28. package/lib/components/FlatTree/useHeadlessFlatTree.js +117 -0
  29. package/lib/components/FlatTree/useHeadlessFlatTree.js.map +1 -0
  30. package/lib/components/Tree/Tree.js +8 -15
  31. package/lib/components/Tree/Tree.js.map +1 -1
  32. package/lib/components/Tree/Tree.types.js +1 -2
  33. package/lib/components/Tree/Tree.types.js.map +1 -1
  34. package/lib/components/Tree/index.js +2 -3
  35. package/lib/components/Tree/index.js.map +1 -1
  36. package/lib/components/Tree/renderTree.js +7 -13
  37. package/lib/components/Tree/renderTree.js.map +1 -1
  38. package/lib/components/Tree/useControllableCheckedItems.js +94 -0
  39. package/lib/components/Tree/useControllableCheckedItems.js.map +1 -0
  40. package/lib/components/Tree/useTree.js +55 -112
  41. package/lib/components/Tree/useTree.js.map +1 -1
  42. package/lib/components/Tree/useTreeContextValues.js +14 -22
  43. package/lib/components/Tree/useTreeContextValues.js.map +1 -1
  44. package/lib/components/Tree/useTreeNavigation.js +52 -0
  45. package/lib/components/Tree/useTreeNavigation.js.map +1 -0
  46. package/lib/components/Tree/{useTreeStyles.js → useTreeStyles.styles.js} +7 -3
  47. package/lib/components/Tree/useTreeStyles.styles.js.map +1 -0
  48. package/lib/components/TreeItem/TreeItem.js +16 -9
  49. package/lib/components/TreeItem/TreeItem.js.map +1 -1
  50. package/lib/components/TreeItem/TreeItem.types.js +1 -2
  51. package/lib/components/TreeItem/TreeItem.types.js.map +1 -1
  52. package/lib/components/TreeItem/index.js +2 -2
  53. package/lib/components/TreeItem/index.js.map +1 -1
  54. package/lib/components/TreeItem/renderTreeItem.js +7 -25
  55. package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
  56. package/lib/components/TreeItem/useTreeItem.js +163 -234
  57. package/lib/components/TreeItem/useTreeItem.js.map +1 -1
  58. package/lib/components/TreeItem/useTreeItemContextValues.js +20 -16
  59. package/lib/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  60. package/lib/components/TreeItem/useTreeItemStyles.styles.js +100 -0
  61. package/lib/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
  62. package/lib/components/TreeItemChevron.js +24 -0
  63. package/lib/components/TreeItemChevron.js.map +1 -0
  64. package/lib/components/TreeItemLayout/TreeItemLayout.js +8 -8
  65. package/lib/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  66. package/lib/components/TreeItemLayout/TreeItemLayout.types.js +1 -2
  67. package/lib/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  68. package/lib/components/TreeItemLayout/index.js +1 -2
  69. package/lib/components/TreeItemLayout/index.js.map +1 -1
  70. package/lib/components/TreeItemLayout/renderTreeItemLayout.js +8 -21
  71. package/lib/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  72. package/lib/components/TreeItemLayout/useTreeItemLayout.js +99 -40
  73. package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  74. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +237 -0
  75. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
  76. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +9 -9
  77. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  78. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +1 -2
  79. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  80. package/lib/components/TreeItemPersonaLayout/index.js +1 -2
  81. package/lib/components/TreeItemPersonaLayout/index.js.map +1 -1
  82. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +10 -27
  83. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  84. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +40 -48
  85. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  86. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +9 -10
  87. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  88. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +210 -0
  89. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
  90. package/lib/contexts/index.js +0 -1
  91. package/lib/contexts/index.js.map +1 -1
  92. package/lib/contexts/treeContext.js +13 -15
  93. package/lib/contexts/treeContext.js.map +1 -1
  94. package/lib/contexts/treeItemContext.js +16 -10
  95. package/lib/contexts/treeItemContext.js.map +1 -1
  96. package/lib/hooks/useControllableOpenItems.js +28 -0
  97. package/lib/hooks/useControllableOpenItems.js.map +1 -0
  98. package/lib/hooks/useRootTree.js +139 -0
  99. package/lib/hooks/useRootTree.js.map +1 -0
  100. package/lib/hooks/useRovingTabIndexes.js +30 -49
  101. package/lib/hooks/useRovingTabIndexes.js.map +1 -1
  102. package/lib/hooks/useSubtree.js +39 -0
  103. package/lib/hooks/useSubtree.js.map +1 -0
  104. package/lib/index.js +3 -4
  105. package/lib/index.js.map +1 -1
  106. package/lib/utils/ImmutableMap.js +41 -0
  107. package/lib/utils/ImmutableMap.js.map +1 -0
  108. package/lib/utils/ImmutableSet.js +42 -33
  109. package/lib/utils/ImmutableSet.js.map +1 -1
  110. package/lib/utils/assert.js +5 -5
  111. package/lib/utils/assert.js.map +1 -1
  112. package/lib/utils/createCheckedItems.js +18 -0
  113. package/lib/utils/createCheckedItems.js.map +1 -0
  114. package/lib/utils/createHTMLElementWalker.js +67 -0
  115. package/lib/utils/createHTMLElementWalker.js.map +1 -0
  116. package/lib/utils/createHeadlessTree.js +188 -0
  117. package/lib/utils/createHeadlessTree.js.map +1 -0
  118. package/lib/utils/createOpenItems.js +10 -0
  119. package/lib/utils/createOpenItems.js.map +1 -0
  120. package/lib/utils/flattenTree.js +54 -29
  121. package/lib/utils/flattenTree.js.map +1 -1
  122. package/lib/utils/getTreeItemValueFromElement.js +4 -0
  123. package/lib/utils/getTreeItemValueFromElement.js.map +1 -0
  124. package/lib/utils/nextTypeAheadElement.js +11 -12
  125. package/lib/utils/nextTypeAheadElement.js.map +1 -1
  126. package/lib/utils/normalizeOpenItems.js +6 -5
  127. package/lib/utils/normalizeOpenItems.js.map +1 -1
  128. package/lib/utils/tokens.js +14 -14
  129. package/lib/utils/tokens.js.map +1 -1
  130. package/lib/utils/treeItemFilter.js +2 -3
  131. package/lib/utils/treeItemFilter.js.map +1 -1
  132. package/lib-commonjs/FlatTree.js +6 -0
  133. package/lib-commonjs/FlatTree.js.map +1 -0
  134. package/lib-commonjs/Tree.js +3 -5
  135. package/lib-commonjs/Tree.js.map +1 -1
  136. package/lib-commonjs/TreeItem.js +3 -5
  137. package/lib-commonjs/TreeItem.js.map +1 -1
  138. package/lib-commonjs/TreeItemLayout.js +3 -5
  139. package/lib-commonjs/TreeItemLayout.js.map +1 -1
  140. package/lib-commonjs/TreeItemPersonaLayout.js +3 -5
  141. package/lib-commonjs/TreeItemPersonaLayout.js.map +1 -1
  142. package/lib-commonjs/components/FlatTree/FlatTree.js +20 -0
  143. package/lib-commonjs/components/FlatTree/FlatTree.js.map +1 -0
  144. package/lib-commonjs/components/FlatTree/FlatTree.types.js +4 -0
  145. package/lib-commonjs/components/FlatTree/FlatTree.types.js.map +1 -0
  146. package/lib-commonjs/components/FlatTree/index.js +21 -0
  147. package/lib-commonjs/components/FlatTree/index.js.map +1 -0
  148. package/lib-commonjs/components/FlatTree/useFlatControllableCheckedItems.js +78 -0
  149. package/lib-commonjs/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -0
  150. package/lib-commonjs/components/FlatTree/useFlatTree.js +12 -0
  151. package/lib-commonjs/components/FlatTree/useFlatTree.js.map +1 -0
  152. package/lib-commonjs/components/FlatTree/useFlatTreeNavigation.js +82 -0
  153. package/lib-commonjs/components/FlatTree/useFlatTreeNavigation.js.map +1 -0
  154. package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js +36 -0
  155. package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js.map +1 -0
  156. package/lib-commonjs/components/FlatTree/useHeadlessFlatTree.js +114 -0
  157. package/lib-commonjs/components/FlatTree/useHeadlessFlatTree.js.map +1 -0
  158. package/lib-commonjs/components/Tree/Tree.js +17 -23
  159. package/lib-commonjs/components/Tree/Tree.js.map +1 -1
  160. package/lib-commonjs/components/Tree/Tree.types.js +1 -3
  161. package/lib-commonjs/components/Tree/Tree.types.js.map +1 -1
  162. package/lib-commonjs/components/Tree/index.js +8 -10
  163. package/lib-commonjs/components/Tree/index.js.map +1 -1
  164. package/lib-commonjs/components/Tree/renderTree.js +14 -19
  165. package/lib-commonjs/components/Tree/renderTree.js.map +1 -1
  166. package/lib-commonjs/components/Tree/useControllableCheckedItems.js +103 -0
  167. package/lib-commonjs/components/Tree/useControllableCheckedItems.js.map +1 -0
  168. package/lib-commonjs/components/Tree/useTree.js +61 -116
  169. package/lib-commonjs/components/Tree/useTree.js.map +1 -1
  170. package/lib-commonjs/components/Tree/useTreeContextValues.js +19 -26
  171. package/lib-commonjs/components/Tree/useTreeContextValues.js.map +1 -1
  172. package/lib-commonjs/components/Tree/useTreeNavigation.js +60 -0
  173. package/lib-commonjs/components/Tree/useTreeNavigation.js.map +1 -0
  174. package/lib-commonjs/components/Tree/useTreeStyles.styles.js +41 -0
  175. package/lib-commonjs/components/Tree/useTreeStyles.styles.js.map +1 -0
  176. package/lib-commonjs/components/TreeItem/TreeItem.js +17 -18
  177. package/lib-commonjs/components/TreeItem/TreeItem.js.map +1 -1
  178. package/lib-commonjs/components/TreeItem/TreeItem.types.js +3 -4
  179. package/lib-commonjs/components/TreeItem/TreeItem.types.js.map +1 -1
  180. package/lib-commonjs/components/TreeItem/index.js +8 -9
  181. package/lib-commonjs/components/TreeItem/index.js.map +1 -1
  182. package/lib-commonjs/components/TreeItem/renderTreeItem.js +14 -33
  183. package/lib-commonjs/components/TreeItem/renderTreeItem.js.map +1 -1
  184. package/lib-commonjs/components/TreeItem/useTreeItem.js +172 -250
  185. package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
  186. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js +25 -20
  187. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  188. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js +202 -0
  189. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
  190. package/lib-commonjs/components/TreeItemChevron.js +33 -0
  191. package/lib-commonjs/components/TreeItemChevron.js.map +1 -0
  192. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js +15 -16
  193. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  194. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js +1 -3
  195. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  196. package/lib-commonjs/components/TreeItemLayout/index.js +7 -9
  197. package/lib-commonjs/components/TreeItemLayout/index.js.map +1 -1
  198. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js +14 -28
  199. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  200. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +105 -52
  201. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  202. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +392 -0
  203. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
  204. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +17 -18
  205. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  206. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +1 -3
  207. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  208. package/lib-commonjs/components/TreeItemPersonaLayout/index.js +7 -9
  209. package/lib-commonjs/components/TreeItemPersonaLayout/index.js.map +1 -1
  210. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +17 -35
  211. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  212. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +47 -61
  213. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  214. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +16 -15
  215. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  216. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +379 -0
  217. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
  218. package/lib-commonjs/contexts/index.js +4 -6
  219. package/lib-commonjs/contexts/index.js.map +1 -1
  220. package/lib-commonjs/contexts/treeContext.js +26 -18
  221. package/lib-commonjs/contexts/treeContext.js.map +1 -1
  222. package/lib-commonjs/contexts/treeItemContext.js +30 -13
  223. package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
  224. package/lib-commonjs/hooks/useControllableOpenItems.js +39 -0
  225. package/lib-commonjs/hooks/useControllableOpenItems.js.map +1 -0
  226. package/lib-commonjs/hooks/useRootTree.js +143 -0
  227. package/lib-commonjs/hooks/useRootTree.js.map +1 -0
  228. package/lib-commonjs/hooks/useRovingTabIndexes.js +36 -55
  229. package/lib-commonjs/hooks/useRovingTabIndexes.js.map +1 -1
  230. package/lib-commonjs/hooks/useSubtree.js +43 -0
  231. package/lib-commonjs/hooks/useSubtree.js.map +1 -0
  232. package/lib-commonjs/index.js +53 -181
  233. package/lib-commonjs/index.js.map +1 -1
  234. package/lib-commonjs/utils/ImmutableMap.js +49 -0
  235. package/lib-commonjs/utils/ImmutableMap.js.map +1 -0
  236. package/lib-commonjs/utils/ImmutableSet.js +47 -38
  237. package/lib-commonjs/utils/ImmutableSet.js.map +1 -1
  238. package/lib-commonjs/utils/assert.js +11 -9
  239. package/lib-commonjs/utils/assert.js.map +1 -1
  240. package/lib-commonjs/utils/createCheckedItems.js +26 -0
  241. package/lib-commonjs/utils/createCheckedItems.js.map +1 -0
  242. package/lib-commonjs/utils/createHTMLElementWalker.js +75 -0
  243. package/lib-commonjs/utils/createHTMLElementWalker.js.map +1 -0
  244. package/lib-commonjs/utils/createHeadlessTree.js +202 -0
  245. package/lib-commonjs/utils/createHeadlessTree.js.map +1 -0
  246. package/lib-commonjs/utils/createOpenItems.js +18 -0
  247. package/lib-commonjs/utils/createOpenItems.js.map +1 -0
  248. package/lib-commonjs/utils/flattenTree.js +21 -34
  249. package/lib-commonjs/utils/flattenTree.js.map +1 -1
  250. package/lib-commonjs/utils/getTreeItemValueFromElement.js +18 -0
  251. package/lib-commonjs/utils/getTreeItemValueFromElement.js.map +1 -0
  252. package/lib-commonjs/utils/nextTypeAheadElement.js +16 -16
  253. package/lib-commonjs/utils/nextTypeAheadElement.js.map +1 -1
  254. package/lib-commonjs/utils/normalizeOpenItems.js +11 -9
  255. package/lib-commonjs/utils/normalizeOpenItems.js.map +1 -1
  256. package/lib-commonjs/utils/tokens.js +29 -20
  257. package/lib-commonjs/utils/tokens.js.map +1 -1
  258. package/lib-commonjs/utils/treeItemFilter.js +7 -7
  259. package/lib-commonjs/utils/treeItemFilter.js.map +1 -1
  260. package/package.json +26 -17
  261. package/lib/components/Tree/useTreeStyles.js.map +0 -1
  262. package/lib/components/TreeItem/useTreeItemStyles.js +0 -203
  263. package/lib/components/TreeItem/useTreeItemStyles.js.map +0 -1
  264. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -98
  265. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
  266. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js +0 -115
  267. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
  268. package/lib/hooks/index.js +0 -4
  269. package/lib/hooks/index.js.map +0 -1
  270. package/lib/hooks/useFlatTree.js +0 -49
  271. package/lib/hooks/useFlatTree.js.map +0 -1
  272. package/lib/hooks/useFlatTreeNavigation.js +0 -74
  273. package/lib/hooks/useFlatTreeNavigation.js.map +0 -1
  274. package/lib/hooks/useHTMLElementWalker.js +0 -80
  275. package/lib/hooks/useHTMLElementWalker.js.map +0 -1
  276. package/lib/hooks/useNestedTreeNavigation.js +0 -59
  277. package/lib/hooks/useNestedTreeNavigation.js.map +0 -1
  278. package/lib/hooks/useOpenItemsState.js +0 -22
  279. package/lib/hooks/useOpenItemsState.js.map +0 -1
  280. package/lib/utils/createUnfilteredFlatTree.js +0 -77
  281. package/lib/utils/createUnfilteredFlatTree.js.map +0 -1
  282. package/lib/utils/createVisibleFlatTree.js +0 -80
  283. package/lib/utils/createVisibleFlatTree.js.map +0 -1
  284. package/lib-commonjs/components/Tree/useTreeStyles.js +0 -27
  285. package/lib-commonjs/components/Tree/useTreeStyles.js.map +0 -1
  286. package/lib-commonjs/components/TreeItem/useTreeItemStyles.js +0 -210
  287. package/lib-commonjs/components/TreeItem/useTreeItemStyles.js.map +0 -1
  288. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -105
  289. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
  290. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js +0 -122
  291. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
  292. package/lib-commonjs/hooks/index.js +0 -10
  293. package/lib-commonjs/hooks/index.js.map +0 -1
  294. package/lib-commonjs/hooks/useFlatTree.js +0 -56
  295. package/lib-commonjs/hooks/useFlatTree.js.map +0 -1
  296. package/lib-commonjs/hooks/useFlatTreeNavigation.js +0 -81
  297. package/lib-commonjs/hooks/useFlatTreeNavigation.js.map +0 -1
  298. package/lib-commonjs/hooks/useHTMLElementWalker.js +0 -88
  299. package/lib-commonjs/hooks/useHTMLElementWalker.js.map +0 -1
  300. package/lib-commonjs/hooks/useNestedTreeNavigation.js +0 -66
  301. package/lib-commonjs/hooks/useNestedTreeNavigation.js.map +0 -1
  302. package/lib-commonjs/hooks/useOpenItemsState.js +0 -29
  303. package/lib-commonjs/hooks/useOpenItemsState.js.map +0 -1
  304. package/lib-commonjs/utils/createUnfilteredFlatTree.js +0 -84
  305. package/lib-commonjs/utils/createUnfilteredFlatTree.js.map +0 -1
  306. package/lib-commonjs/utils/createVisibleFlatTree.js +0 -87
  307. package/lib-commonjs/utils/createVisibleFlatTree.js.map +0 -1
@@ -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,20 @@
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 _index = require("../Tree/index");
12
+ const _useFlatTree = require("./useFlatTree");
13
+ const _useFlatTreeStylesStyles = require("./useFlatTreeStyles.styles");
14
+ const FlatTree = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
15
+ const state = (0, _useFlatTree.useFlatTree_unstable)(props, ref);
16
+ const contextValues = (0, _index.useTreeContextValues_unstable)(state);
17
+ (0, _useFlatTreeStylesStyles.useFlatTreeStyles_unstable)(state);
18
+ return (0, _index.renderTree_unstable)(state, contextValues);
19
+ });
20
+ FlatTree.displayName = 'FlatTree';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["FlatTree.js"],"sourcesContent":["import * as React from 'react';\nimport { useTreeContextValues_unstable as useFlatTreeContextValues_unstable, renderTree_unstable as renderFlatTree_unstable } from '../Tree/index';\nimport { useFlatTree_unstable } from './useFlatTree';\nimport { useFlatTreeStyles_unstable } from './useFlatTreeStyles.styles';\n/**\n * FlatTree component - TODO: add more docs\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":";;;;+BAMiBA;;aAAAA;;;6DANM;uBAC4G;6BAC9F;yCACM;AAGhC,MAAMA,WAAW,WAAW,GAAGC,OAAMC,UAAU,CAAC,CAACC,OAAOC,MAAM;IACrE,MAAMC,QAAQC,IAAAA,iCAAoB,EAACH,OAAOC;IAC1C,MAAMG,gBAAgBC,IAAAA,oCAAiC,EAACH;IACxDI,IAAAA,mDAA0B,EAACJ;IAC3B,OAAOK,IAAAA,0BAAuB,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,21 @@
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
+ renderFlatTree_unstable: ()=>_index.renderTree_unstable,
13
+ useFlatTreeContextValues_unstable: ()=>_index.useTreeContextValues_unstable
14
+ });
15
+ const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
16
+ _exportStar(require("./FlatTree"), exports);
17
+ _exportStar(require("./FlatTree.types"), exports);
18
+ const _index = require("../Tree/index");
19
+ _exportStar(require("./useHeadlessFlatTree"), exports);
20
+ _exportStar(require("./useFlatTree"), exports);
21
+ _exportStar(require("./useFlatTreeStyles.styles"), exports);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.js"],"sourcesContent":["export * from './FlatTree';\nexport * from './FlatTree.types';\nexport { renderTree_unstable as renderFlatTree_unstable, useTreeContextValues_unstable as useFlatTreeContextValues_unstable } from '../Tree/index';\nexport * from './useHeadlessFlatTree';\nexport * from './useFlatTree';\nexport * from './useFlatTreeStyles.styles';\n"],"names":["renderFlatTree_unstable","renderTree_unstable","useFlatTreeContextValues_unstable","useTreeContextValues_unstable"],"mappings":";;;;;;;;;;;IAEgCA,uBAAuB,MAA9CC,0BAAmB;IAA8DC,iCAAiC,MAAlEC,oCAA6B;;;oBAFxE;oBACA;uBACqH;oBACrH;oBACA;oBACA"}
@@ -0,0 +1,78 @@
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) {
21
+ const [checkedItems, setCheckedItems] = (0, _reactUtilities.useControllableState)({
22
+ initialState: _immutableMap.ImmutableMap.empty,
23
+ state: _react.useMemo(()=>props.checkedItems && (0, _createCheckedItems.createCheckedItems)(props.checkedItems), [
24
+ props.checkedItems
25
+ ]),
26
+ defaultState: ()=>(0, _createCheckedItems.createCheckedItems)(props.defaultCheckedItems)
27
+ });
28
+ return [
29
+ checkedItems,
30
+ setCheckedItems
31
+ ];
32
+ }
33
+ function createNextFlatCheckedItems(data, previousCheckedItems, virtualTree) {
34
+ if (data.selectionMode === 'single') {
35
+ return _immutableMap.ImmutableMap.create([
36
+ [
37
+ data.value,
38
+ data.checked
39
+ ]
40
+ ]);
41
+ }
42
+ const treeItem = virtualTree.get(data.value);
43
+ if (!treeItem) {
44
+ if (process.env.NODE_ENV !== 'production') {
45
+ // eslint-disable-next-line no-console
46
+ console.error(`useHeadlessFlatTree: tree item ${data.value} not found`);
47
+ }
48
+ return previousCheckedItems;
49
+ }
50
+ const nextCheckedItems = new Map(previousCheckedItems);
51
+ for (const children of virtualTree.subtree(data.value)){
52
+ nextCheckedItems.set(children.value, data.checked);
53
+ }
54
+ nextCheckedItems.set(data.value, data.checked);
55
+ let isAncestorsMixed = false;
56
+ for (const parent of virtualTree.ancestors(treeItem.value)){
57
+ // if one parent is mixed, all ancestors are mixed
58
+ if (isAncestorsMixed) {
59
+ nextCheckedItems.set(parent.value, 'mixed');
60
+ continue;
61
+ }
62
+ const checkedChildren = [];
63
+ for (const child of virtualTree.children(parent.value)){
64
+ var _nextCheckedItems_get;
65
+ if (((_nextCheckedItems_get = nextCheckedItems.get(child.value)) !== null && _nextCheckedItems_get !== void 0 ? _nextCheckedItems_get : false) === data.checked) {
66
+ checkedChildren.push(child);
67
+ }
68
+ }
69
+ if (checkedChildren.length === parent.childrenValues.length) {
70
+ nextCheckedItems.set(parent.value, data.checked);
71
+ } else {
72
+ // if one parent is mixed, all ancestors are mixed
73
+ isAncestorsMixed = true;
74
+ nextCheckedItems.set(parent.value, 'mixed');
75
+ }
76
+ }
77
+ return _immutableMap.ImmutableMap.dangerouslyCreate_unstable(nextCheckedItems);
78
+ }
@@ -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) {\n const [checkedItems, setCheckedItems] = useControllableState({\n initialState: ImmutableMap.empty,\n state: React.useMemo(()=>props.checkedItems && createCheckedItems(props.checkedItems), [\n props.checkedItems\n ]),\n defaultState: ()=>createCheckedItems(props.defaultCheckedItems)\n });\n return [\n checkedItems,\n setCheckedItems\n ];\n}\nexport function createNextFlatCheckedItems(data, previousCheckedItems, virtualTree) {\n if (data.selectionMode === 'single') {\n return ImmutableMap.create([\n [\n data.value,\n data.checked\n ]\n ]);\n }\n const treeItem = virtualTree.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 virtualTree.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 virtualTree.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 virtualTree.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}\n"],"names":["useFlatControllableCheckedItems","createNextFlatCheckedItems","props","checkedItems","setCheckedItems","useControllableState","initialState","ImmutableMap","empty","state","React","useMemo","createCheckedItems","defaultState","defaultCheckedItems","data","previousCheckedItems","virtualTree","selectionMode","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"],"mappings":";;;;;;;;;;;IAIgBA,+BAA+B,MAA/BA;IAaAC,0BAA0B,MAA1BA;;;gCAjBqB;8BACR;6DACN;oCACY;AAC5B,SAASD,gCAAgCE,KAAK,EAAE;IACnD,MAAM,CAACC,cAAcC,gBAAgB,GAAGC,IAAAA,oCAAoB,EAAC;QACzDC,cAAcC,0BAAY,CAACC,KAAK;QAChCC,OAAOC,OAAMC,OAAO,CAAC,IAAIT,MAAMC,YAAY,IAAIS,IAAAA,sCAAkB,EAACV,MAAMC,YAAY,GAAG;YACnFD,MAAMC,YAAY;SACrB;QACDU,cAAc,IAAID,IAAAA,sCAAkB,EAACV,MAAMY,mBAAmB;IAClE;IACA,OAAO;QACHX;QACAC;KACH;AACL;AACO,SAASH,2BAA2Bc,IAAI,EAAEC,oBAAoB,EAAEC,WAAW,EAAE;IAChF,IAAIF,KAAKG,aAAa,KAAK,UAAU;QACjC,OAAOX,0BAAY,CAACY,MAAM,CAAC;YACvB;gBACIJ,KAAKK,KAAK;gBACVL,KAAKM,OAAO;aACf;SACJ;IACL,CAAC;IACD,MAAMC,WAAWL,YAAYM,GAAG,CAACR,KAAKK,KAAK;IAC3C,IAAI,CAACE,UAAU;QACX,IAAIE,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;YACvC,sCAAsC;YACtCC,QAAQC,KAAK,CAAC,CAAC,+BAA+B,EAAEb,KAAKK,KAAK,CAAC,UAAU,CAAC;QAC1E,CAAC;QACD,OAAOJ;IACX,CAAC;IACD,MAAMa,mBAAmB,IAAIC,IAAId;IACjC,KAAK,MAAMe,YAAYd,YAAYe,OAAO,CAACjB,KAAKK,KAAK,EAAE;QACnDS,iBAAiBI,GAAG,CAACF,SAASX,KAAK,EAAEL,KAAKM,OAAO;IACrD;IACAQ,iBAAiBI,GAAG,CAAClB,KAAKK,KAAK,EAAEL,KAAKM,OAAO;IAC7C,IAAIa,mBAAmB,KAAK;IAC5B,KAAK,MAAMC,UAAUlB,YAAYmB,SAAS,CAACd,SAASF,KAAK,EAAE;QACvD,kDAAkD;QAClD,IAAIc,kBAAkB;YAClBL,iBAAiBI,GAAG,CAACE,OAAOf,KAAK,EAAE;YACnC,QAAS;QACb,CAAC;QACD,MAAMiB,kBAAkB,EAAE;QAC1B,KAAK,MAAMC,SAASrB,YAAYc,QAAQ,CAACI,OAAOf,KAAK,EAAE;YACnD,IAAImB;YACJ,IAAI,AAAC,CAAA,AAACA,CAAAA,wBAAwBV,iBAAiBN,GAAG,CAACe,MAAMlB,KAAK,CAAA,MAAO,IAAI,IAAImB,0BAA0B,KAAK,IAAIA,wBAAwB,KAAK,AAAD,MAAOxB,KAAKM,OAAO,EAAE;gBAC7JgB,gBAAgBG,IAAI,CAACF;YACzB,CAAC;QACL;QACA,IAAID,gBAAgBI,MAAM,KAAKN,OAAOO,cAAc,CAACD,MAAM,EAAE;YACzDZ,iBAAiBI,GAAG,CAACE,OAAOf,KAAK,EAAEL,KAAKM,OAAO;QACnD,OAAO;YACH,kDAAkD;YAClDa,mBAAmB,IAAI;YACvBL,iBAAiBI,GAAG,CAACE,OAAOf,KAAK,EAAE;QACvC,CAAC;IACL;IACA,OAAOb,0BAAY,CAACoC,0BAA0B,CAACd;AACnD"}
@@ -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,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:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}",
28
+ ".f1vx9l62{-webkit-flex-direction:column;-ms-flex-direction:column;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:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}\", \".f1vx9l62{-webkit-flex-direction:column;-ms-flex-direction:column;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;QAAwF;QAA6F;KAAgD;AAC3O;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,114 @@
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);
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
+ (_options_onOpenChange = options.onOpenChange) === null || _options_onOpenChange === void 0 ? void 0 : _options_onOpenChange.call(options, event, data);
40
+ setOpenItems((0, _useControllableOpenItems.createNextOpenItems)(data, openItems));
41
+ });
42
+ const handleCheckedChange = (0, _reactUtilities.useEventCallback)((event, data)=>{
43
+ var _options_onCheckedChange;
44
+ (_options_onCheckedChange = options.onCheckedChange) === null || _options_onCheckedChange === void 0 ? void 0 : _options_onCheckedChange.call(options, event, data);
45
+ setCheckedItems((0, _useFlatControllableCheckedItems.createNextFlatCheckedItems)(data, checkedItems, headlessTree));
46
+ });
47
+ const handleNavigation = (0, _reactUtilities.useEventCallback)((event, data)=>{
48
+ var _options_onNavigation_unstable;
49
+ (_options_onNavigation_unstable = options.onNavigation_unstable) === null || _options_onNavigation_unstable === void 0 ? void 0 : _options_onNavigation_unstable.call(options, event, data);
50
+ if (walkerRef.current) {
51
+ navigate(data, walkerRef.current);
52
+ }
53
+ });
54
+ const getNextNavigableItem = (0, _reactUtilities.useEventCallback)((visibleItems, data)=>{
55
+ const item = headlessTree.get(data.value);
56
+ if (item) {
57
+ switch(data.type){
58
+ case _tokens.treeDataTypes.TypeAhead:
59
+ return item;
60
+ case _tokens.treeDataTypes.ArrowLeft:
61
+ return headlessTree.get(item.parentValue);
62
+ case _tokens.treeDataTypes.ArrowRight:
63
+ return visibleItems[item.index + 1];
64
+ case _tokens.treeDataTypes.End:
65
+ return visibleItems[visibleItems.length - 1];
66
+ case _tokens.treeDataTypes.Home:
67
+ return visibleItems[0];
68
+ case _tokens.treeDataTypes.ArrowDown:
69
+ return visibleItems[item.index + 1];
70
+ case _tokens.treeDataTypes.ArrowUp:
71
+ return visibleItems[item.index - 1];
72
+ }
73
+ }
74
+ });
75
+ const getElementFromItem = _react.useCallback((item)=>{
76
+ var _treeRef_current;
77
+ return (_treeRef_current = treeRef.current) === null || _treeRef_current === void 0 ? void 0 : _treeRef_current.querySelector(`[${_getTreeItemValueFromElement.dataTreeItemValueAttrName}="${item.value}"]`);
78
+ }, []);
79
+ const ref = (0, _reactUtilities.useMergedRefs)(treeRef, initializeWalker);
80
+ const getTreeProps = _react.useCallback(()=>({
81
+ ref,
82
+ openItems,
83
+ selectionMode: options.selectionMode,
84
+ checkedItems,
85
+ onOpenChange: handleOpenChange,
86
+ onCheckedChange: handleCheckedChange,
87
+ // eslint-disable-next-line @typescript-eslint/naming-convention
88
+ onNavigation_unstable: handleNavigation
89
+ }), [
90
+ openItems,
91
+ checkedItems
92
+ ]);
93
+ const items = _react.useCallback(()=>headlessTree.visibleItems(openItems), [
94
+ openItems,
95
+ headlessTree
96
+ ]);
97
+ return _react.useMemo(()=>({
98
+ navigate: (data)=>{
99
+ if (walkerRef.current) {
100
+ navigate(data, walkerRef.current);
101
+ }
102
+ },
103
+ getTreeProps,
104
+ getNextNavigableItem,
105
+ getElementFromItem,
106
+ items
107
+ }), [
108
+ navigate,
109
+ getTreeProps,
110
+ getNextNavigableItem,
111
+ getElementFromItem,
112
+ items
113
+ ]);
114
+ }
@@ -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);\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 (_options_onOpenChange = options.onOpenChange) === null || _options_onOpenChange === void 0 ? void 0 : _options_onOpenChange.call(options, event, data);\n setOpenItems(createNextOpenItems(data, openItems));\n });\n const handleCheckedChange = useEventCallback((event, data)=>{\n var _options_onCheckedChange;\n (_options_onCheckedChange = options.onCheckedChange) === null || _options_onCheckedChange === void 0 ? void 0 : _options_onCheckedChange.call(options, event, data);\n setCheckedItems(createNextFlatCheckedItems(data, checkedItems, headlessTree));\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","onOpenChange","call","createNextOpenItems","handleCheckedChange","_options_onCheckedChange","onCheckedChange","createNextFlatCheckedItems","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":";;;;+BAqBoBA;;aAAAA;;;gCArB4B;6DACzB;oCACY;wBACL;uCACQ;0CACwB;6CACpB;iDACkC;yCACpC;gCACT;AAYpB,SAASA,6BAA6BC,KAAK,EAAEC,UAAU,CAAC,CAAC,EAAE;IAClE,MAAMC,eAAeC,OAAMC,OAAO,CAAC,IAAIC,IAAAA,sCAAkB,EAACL,QAAQ;QAC9DA;KACH;IACD,MAAM,CAACM,WAAWC,aAAa,GAAGC,IAAAA,kDAAwB,EAACP;IAC3D,MAAM,CAACQ,cAAcC,gBAAgB,GAAGC,IAAAA,gEAA+B,EAACV;IACxE,MAAM,EAAEW,WAAU,EAAGC,SAAQ,EAAG,GAAGC,IAAAA,4CAAqB,EAACZ;IACzD,MAAMa,YAAYZ,OAAMa,MAAM;IAC9B,MAAMC,mBAAmBd,OAAMe,WAAW,CAAC,CAACC,OAAO;QAC/C,IAAIA,MAAM;YACNJ,UAAUK,OAAO,GAAGC,IAAAA,gDAAuB,EAACF,MAAMG,8BAAc;YAChEV,WAAWG,UAAUK,OAAO;QAChC,CAAC;IACL,GAAG;QACCR;KACH;IACD,MAAMW,UAAUpB,OAAMa,MAAM,CAAC,IAAI;IACjC,MAAMQ,mBAAmBC,IAAAA,gCAAgB,EAAC,CAACC,OAAOC,OAAO;QACrD,IAAIC;QACHA,CAAAA,wBAAwB3B,QAAQ4B,YAAY,AAAD,MAAO,IAAI,IAAID,0BAA0B,KAAK,IAAI,KAAK,IAAIA,sBAAsBE,IAAI,CAAC7B,SAASyB,OAAOC,KAAK;QACvJpB,aAAawB,IAAAA,6CAAmB,EAACJ,MAAMrB;IAC3C;IACA,MAAM0B,sBAAsBP,IAAAA,gCAAgB,EAAC,CAACC,OAAOC,OAAO;QACxD,IAAIM;QACHA,CAAAA,2BAA2BhC,QAAQiC,eAAe,AAAD,MAAO,IAAI,IAAID,6BAA6B,KAAK,IAAI,KAAK,IAAIA,yBAAyBH,IAAI,CAAC7B,SAASyB,OAAOC,KAAK;QACnKjB,gBAAgByB,IAAAA,2DAA0B,EAACR,MAAMlB,cAAcP;IACnE;IACA,MAAMkC,mBAAmBX,IAAAA,gCAAgB,EAAC,CAACC,OAAOC,OAAO;QACrD,IAAIU;QACHA,CAAAA,iCAAiCpC,QAAQqC,qBAAqB,AAAD,MAAO,IAAI,IAAID,mCAAmC,KAAK,IAAI,KAAK,IAAIA,+BAA+BP,IAAI,CAAC7B,SAASyB,OAAOC,KAAK;QAC3L,IAAIZ,UAAUK,OAAO,EAAE;YACnBP,SAASc,MAAMZ,UAAUK,OAAO;QACpC,CAAC;IACL;IACA,MAAMmB,uBAAuBd,IAAAA,gCAAgB,EAAC,CAACe,cAAcb,OAAO;QAChE,MAAMc,OAAOvC,aAAawC,GAAG,CAACf,KAAKgB,KAAK;QACxC,IAAIF,MAAM;YACN,OAAOd,KAAKiB,IAAI;gBACZ,KAAKC,qBAAa,CAACC,SAAS;oBACxB,OAAOL;gBACX,KAAKI,qBAAa,CAACE,SAAS;oBACxB,OAAO7C,aAAawC,GAAG,CAACD,KAAKO,WAAW;gBAC5C,KAAKH,qBAAa,CAACI,UAAU;oBACzB,OAAOT,YAAY,CAACC,KAAKS,KAAK,GAAG,EAAE;gBACvC,KAAKL,qBAAa,CAACM,GAAG;oBAClB,OAAOX,YAAY,CAACA,aAAaY,MAAM,GAAG,EAAE;gBAChD,KAAKP,qBAAa,CAACQ,IAAI;oBACnB,OAAOb,YAAY,CAAC,EAAE;gBAC1B,KAAKK,qBAAa,CAACS,SAAS;oBACxB,OAAOd,YAAY,CAACC,KAAKS,KAAK,GAAG,EAAE;gBACvC,KAAKL,qBAAa,CAACU,OAAO;oBACtB,OAAOf,YAAY,CAACC,KAAKS,KAAK,GAAG,EAAE;YAC3C;QACJ,CAAC;IACL;IACA,MAAMM,qBAAqBrD,OAAMe,WAAW,CAAC,CAACuB,OAAO;QACjD,IAAIgB;QACJ,OAAO,AAACA,CAAAA,mBAAmBlC,QAAQH,OAAO,AAAD,MAAO,IAAI,IAAIqC,qBAAqB,KAAK,IAAI,KAAK,IAAIA,iBAAiBC,aAAa,CAAC,CAAC,CAAC,EAAEC,sDAAyB,CAAC,EAAE,EAAElB,KAAKE,KAAK,CAAC,EAAE,CAAC,CAAC;IACnL,GAAG,EAAE;IACL,MAAMiB,MAAMC,IAAAA,6BAAa,EAACtC,SAASN;IACnC,MAAM6C,eAAe3D,OAAMe,WAAW,CAAC,IAAK,CAAA;YACpC0C;YACAtD;YACAyD,eAAe9D,QAAQ8D,aAAa;YACpCtD;YACAoB,cAAcL;YACdU,iBAAiBF;YACjB,gEAAgE;YAChEM,uBAAuBF;QAC3B,CAAA,GACJ;QACI9B;QACAG;KACH;IACD,MAAMuD,QAAQ7D,OAAMe,WAAW,CAAC,IAAIhB,aAAasC,YAAY,CAAClC,YAAY;QACtEA;QACAJ;KACH;IACD,OAAOC,OAAMC,OAAO,CAAC,IAAK,CAAA;YAClBS,UAAU,CAACc,OAAO;gBACd,IAAIZ,UAAUK,OAAO,EAAE;oBACnBP,SAASc,MAAMZ,UAAUK,OAAO;gBACpC,CAAC;YACL;YACA0C;YACAvB;YACAiB;YACAQ;QACJ,CAAA,GAAI;QACJnD;QACAiD;QACAvB;QACAiB;QACAQ;KACH;AACL"}
@@ -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';
@@ -1 +1 @@
1
- {"version":3,"names":["React","require","useTree_1","renderTree_1","useTreeStyles_1","useTreeContextValues_1","exports","Tree","forwardRef","props","ref","state","useTree_unstable","useTreeStyles_unstable","contextValues","useTreeContextValues_unstable","renderTree_unstable","displayName"],"sources":["../src/packages/react-components/react-tree/src/components/Tree/Tree.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useTree_unstable } from './useTree';\nimport { renderTree_unstable } from './renderTree';\nimport { useTreeStyles_unstable } from './useTreeStyles';\nimport type { TreeProps } from './Tree.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useTreeContextValues_unstable } from './useTreeContextValues';\n\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: ForwardRefComponent<TreeProps> = 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});\n\nTree.displayName = 'Tree';\n"],"mappings":";;;;;;AAAA,MAAAA,KAAA,gBAAAC,OAAA;AACA,MAAAC,SAAA,gBAAAD,OAAA;AACA,MAAAE,YAAA,gBAAAF,OAAA;AACA,MAAAG,eAAA,gBAAAH,OAAA;AAGA,MAAAI,sBAAA,gBAAAJ,OAAA;AAEA;;;;;;;;AAQaK,OAAA,CAAAC,IAAI,gBAAmCP,KAAK,CAACQ,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAI;EAClF,MAAMC,KAAK,GAAGT,SAAA,CAAAU,gBAAgB,CAACH,KAAK,EAAEC,GAAG,CAAC;EAC1CN,eAAA,CAAAS,sBAAsB,CAACF,KAAK,CAAC;EAC7B,MAAMG,aAAa,GAAGT,sBAAA,CAAAU,6BAA6B,CAACJ,KAAK,CAAC;EAC1D,OAAOR,YAAA,CAAAa,mBAAmB,CAACL,KAAK,EAAEG,aAAa,CAAC;AAClD,CAAC,CAAC;AAEFR,OAAA,CAAAC,IAAI,CAACU,WAAW,GAAG,MAAM"}
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 * Tree component - TODO: add more docs\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":";;;;+BAOiBA;;aAAAA;;;6DAPM;yBACU;sCACa;qCACP;4BACH;AAGzB,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"}
@@ -1,6 +1,4 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- //# sourceMappingURL=Tree.types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../src/packages/react-components/react-tree/src/components/Tree/Tree.types.ts"],"sourcesContent":["import * as React from 'react';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport { TreeContextValue } from '../../contexts/treeContext';\nimport { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, End, Enter, Home } from '@fluentui/keyboard-keys';\n\nexport type TreeSlots = {\n root: Slot<'div'>;\n};\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport type TreeNavigationData_unstable =\n | { event: React.MouseEvent<HTMLElement>; target: HTMLElement; type: 'Click' }\n | { event: React.KeyboardEvent<HTMLElement>; target: HTMLElement; type: 'TypeAhead' }\n | { event: React.KeyboardEvent<HTMLElement>; target: HTMLElement; type: typeof ArrowRight }\n | { event: React.KeyboardEvent<HTMLElement>; target: HTMLElement; type: typeof ArrowLeft }\n | { event: React.KeyboardEvent<HTMLElement>; target: HTMLElement; type: typeof ArrowUp }\n | { event: React.KeyboardEvent<HTMLElement>; target: HTMLElement; type: typeof ArrowDown }\n | { event: React.KeyboardEvent<HTMLElement>; target: HTMLElement; type: typeof Home }\n | { event: React.KeyboardEvent<HTMLElement>; target: HTMLElement; type: typeof End };\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport type TreeNavigationEvent_unstable = TreeNavigationData_unstable['event'];\n\nexport type TreeOpenChangeData = { open: boolean } & (\n | {\n event: React.MouseEvent<HTMLElement>;\n target: HTMLElement;\n type: 'ExpandIconClick';\n }\n | {\n event: React.MouseEvent<HTMLElement>;\n target: HTMLElement;\n type: 'Click';\n }\n | {\n event: React.KeyboardEvent<HTMLElement>;\n target: HTMLElement;\n type: typeof Enter;\n }\n | {\n event: React.KeyboardEvent<HTMLElement>;\n target: HTMLElement;\n type: typeof ArrowRight;\n }\n | {\n event: React.KeyboardEvent<HTMLElement>;\n target: HTMLElement;\n type: typeof ArrowLeft;\n }\n);\n\nexport type TreeOpenChangeEvent = TreeOpenChangeData['event'];\n\nexport type TreeContextValues = {\n tree: TreeContextValue;\n};\n\nexport type TreeItemId = string | number;\n\nexport type TreeProps = ComponentProps<TreeSlots> & {\n /**\n * A tree item can have various appearances:\n * - 'subtle' (default): The default tree item styles.\n * - 'subtle-alpha': Minimizes emphasis on hovered or focused states.\n * - 'transparent': Removes background color.\n * @default 'subtle'\n */\n appearance?: 'subtle' | 'subtle-alpha' | 'transparent';\n /**\n * Size of the tree item.\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n /**\n * This refers to a list of ids of opened tree items.\n * Controls the state of the open tree items.\n * These property is ignored for subtrees.\n */\n openItems?: Iterable<TreeItemId>;\n /**\n * This refers to a list of ids of opened tree items.\n * Default value for the uncontrolled state of open tree items.\n * These property is ignored for subtrees.\n */\n defaultOpenItems?: Iterable<TreeItemId>;\n /**\n * Callback fired when the component changes value from open state.\n * These property is ignored for subtrees.\n *\n * @param event - a React's Synthetic event\n * @param data - A data object with relevant information,\n * such as open value and type of interaction that created the event.\n */\n onOpenChange?(event: TreeOpenChangeEvent, data: TreeOpenChangeData): void;\n\n /**\n * Callback fired when navigation happens inside the component.\n * These property is ignored for subtrees.\n *\n * FIXME: This method is not ideal, as navigation should be handled internally by tabster.\n *\n * @param event - a React's Synthetic event\n * @param data - A data object with relevant information,\n */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n onNavigation_unstable?(event: TreeNavigationEvent_unstable, data: TreeNavigationData_unstable): void;\n};\n\n/**\n * State used in rendering Tree\n */\nexport type TreeState = ComponentState<TreeSlots> & TreeContextValue;\n"],"mappings":""}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,13 +1,11 @@
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("./Tree"), exports);
8
- tslib_1.__exportStar(require("./Tree.types"), exports);
9
- tslib_1.__exportStar(require("./renderTree"), exports);
10
- tslib_1.__exportStar(require("./useTree"), exports);
11
- tslib_1.__exportStar(require("./useTreeStyles"), exports);
12
- tslib_1.__exportStar(require("./useTreeContextValues"), exports);
13
- //# sourceMappingURL=index.js.map
5
+ const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
+ _exportStar(require("./Tree"), exports);
7
+ _exportStar(require("./Tree.types"), exports);
8
+ _exportStar(require("./useTree"), exports);
9
+ _exportStar(require("./useTreeContextValues"), exports);
10
+ _exportStar(require("./useTreeStyles.styles"), exports);
11
+ _exportStar(require("./renderTree"), exports);