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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) hide show
  1. package/CHANGELOG.json +1665 -1
  2. package/CHANGELOG.md +446 -2
  3. package/dist/index.d.ts +407 -129
  4. package/lib/FlatTree.js +1 -0
  5. package/lib/FlatTree.js.map +1 -0
  6. package/lib/Tree.js +0 -1
  7. package/lib/Tree.js.map +1 -1
  8. package/lib/TreeItem.js +0 -1
  9. package/lib/TreeItem.js.map +1 -1
  10. package/lib/TreeItemLayout.js +0 -1
  11. package/lib/TreeItemLayout.js.map +1 -1
  12. package/lib/TreeItemPersonaLayout.js +0 -1
  13. package/lib/TreeItemPersonaLayout.js.map +1 -1
  14. package/lib/components/FlatTree/FlatTree.js +17 -0
  15. package/lib/components/FlatTree/FlatTree.js.map +1 -0
  16. package/lib/components/FlatTree/FlatTree.types.js +1 -0
  17. package/lib/components/FlatTree/FlatTree.types.js.map +1 -0
  18. package/lib/components/FlatTree/index.js +7 -0
  19. package/lib/components/FlatTree/index.js.map +1 -0
  20. package/lib/components/FlatTree/renderFlatTree.js +2 -0
  21. package/lib/components/FlatTree/renderFlatTree.js.map +1 -0
  22. package/lib/components/FlatTree/useFlatControllableCheckedItems.js +76 -0
  23. package/lib/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -0
  24. package/lib/components/FlatTree/useFlatTree.js +3 -0
  25. package/lib/components/FlatTree/useFlatTree.js.map +1 -0
  26. package/lib/components/FlatTree/useFlatTreeContextValues.js +2 -0
  27. package/lib/components/FlatTree/useFlatTreeContextValues.js.map +1 -0
  28. package/lib/components/FlatTree/useFlatTreeNavigation.js +74 -0
  29. package/lib/components/FlatTree/useFlatTreeNavigation.js.map +1 -0
  30. package/lib/components/FlatTree/useFlatTreeStyles.styles.js +20 -0
  31. package/lib/components/FlatTree/useFlatTreeStyles.styles.js.map +1 -0
  32. package/lib/components/FlatTree/useHeadlessFlatTree.js +125 -0
  33. package/lib/components/FlatTree/useHeadlessFlatTree.js.map +1 -0
  34. package/lib/components/Tree/Tree.js +9 -15
  35. package/lib/components/Tree/Tree.js.map +1 -1
  36. package/lib/components/Tree/Tree.types.js +1 -2
  37. package/lib/components/Tree/Tree.types.js.map +1 -1
  38. package/lib/components/Tree/index.js +2 -3
  39. package/lib/components/Tree/index.js.map +1 -1
  40. package/lib/components/Tree/renderTree.js +7 -13
  41. package/lib/components/Tree/renderTree.js.map +1 -1
  42. package/lib/components/Tree/useNestedControllableCheckedItems.js +22 -0
  43. package/lib/components/Tree/useNestedControllableCheckedItems.js.map +1 -0
  44. package/lib/components/Tree/useTree.js +64 -111
  45. package/lib/components/Tree/useTree.js.map +1 -1
  46. package/lib/components/Tree/useTreeContextValues.js +14 -22
  47. package/lib/components/Tree/useTreeContextValues.js.map +1 -1
  48. package/lib/components/Tree/useTreeNavigation.js +52 -0
  49. package/lib/components/Tree/useTreeNavigation.js.map +1 -0
  50. package/lib/components/Tree/{useTreeStyles.js → useTreeStyles.styles.js} +7 -3
  51. package/lib/components/Tree/useTreeStyles.styles.js.map +1 -0
  52. package/lib/components/TreeItem/TreeItem.js +16 -9
  53. package/lib/components/TreeItem/TreeItem.js.map +1 -1
  54. package/lib/components/TreeItem/TreeItem.types.js +1 -2
  55. package/lib/components/TreeItem/TreeItem.types.js.map +1 -1
  56. package/lib/components/TreeItem/index.js +2 -2
  57. package/lib/components/TreeItem/index.js.map +1 -1
  58. package/lib/components/TreeItem/renderTreeItem.js +7 -25
  59. package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
  60. package/lib/components/TreeItem/useTreeItem.js +159 -234
  61. package/lib/components/TreeItem/useTreeItem.js.map +1 -1
  62. package/lib/components/TreeItem/useTreeItemContextValues.js +20 -16
  63. package/lib/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  64. package/lib/components/TreeItem/useTreeItemStyles.styles.js +100 -0
  65. package/lib/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
  66. package/lib/components/TreeItemChevron.js +24 -0
  67. package/lib/components/TreeItemChevron.js.map +1 -0
  68. package/lib/components/TreeItemLayout/TreeItemLayout.js +8 -8
  69. package/lib/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  70. package/lib/components/TreeItemLayout/TreeItemLayout.types.js +1 -2
  71. package/lib/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  72. package/lib/components/TreeItemLayout/index.js +1 -2
  73. package/lib/components/TreeItemLayout/index.js.map +1 -1
  74. package/lib/components/TreeItemLayout/renderTreeItemLayout.js +8 -21
  75. package/lib/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  76. package/lib/components/TreeItemLayout/useTreeItemLayout.js +107 -40
  77. package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  78. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +237 -0
  79. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
  80. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +9 -9
  81. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  82. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +1 -2
  83. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  84. package/lib/components/TreeItemPersonaLayout/index.js +1 -2
  85. package/lib/components/TreeItemPersonaLayout/index.js.map +1 -1
  86. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +10 -27
  87. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  88. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +42 -48
  89. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  90. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +9 -10
  91. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  92. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +210 -0
  93. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
  94. package/lib/contexts/index.js +0 -1
  95. package/lib/contexts/index.js.map +1 -1
  96. package/lib/contexts/treeContext.js +13 -15
  97. package/lib/contexts/treeContext.js.map +1 -1
  98. package/lib/contexts/treeItemContext.js +16 -10
  99. package/lib/contexts/treeItemContext.js.map +1 -1
  100. package/lib/hooks/useControllableOpenItems.js +28 -0
  101. package/lib/hooks/useControllableOpenItems.js.map +1 -0
  102. package/lib/hooks/useRootTree.js +141 -0
  103. package/lib/hooks/useRootTree.js.map +1 -0
  104. package/lib/hooks/useRovingTabIndexes.js +30 -49
  105. package/lib/hooks/useRovingTabIndexes.js.map +1 -1
  106. package/lib/hooks/useSubtree.js +41 -0
  107. package/lib/hooks/useSubtree.js.map +1 -0
  108. package/lib/index.js +3 -4
  109. package/lib/index.js.map +1 -1
  110. package/lib/utils/ImmutableMap.js +41 -0
  111. package/lib/utils/ImmutableMap.js.map +1 -0
  112. package/lib/utils/ImmutableSet.js +42 -33
  113. package/lib/utils/ImmutableSet.js.map +1 -1
  114. package/lib/utils/assert.js +5 -5
  115. package/lib/utils/assert.js.map +1 -1
  116. package/lib/utils/createCheckedItems.js +18 -0
  117. package/lib/utils/createCheckedItems.js.map +1 -0
  118. package/lib/utils/createHTMLElementWalker.js +67 -0
  119. package/lib/utils/createHTMLElementWalker.js.map +1 -0
  120. package/lib/utils/createHeadlessTree.js +189 -0
  121. package/lib/utils/createHeadlessTree.js.map +1 -0
  122. package/lib/utils/createOpenItems.js +10 -0
  123. package/lib/utils/createOpenItems.js.map +1 -0
  124. package/lib/utils/flattenTree.js +54 -29
  125. package/lib/utils/flattenTree.js.map +1 -1
  126. package/lib/utils/getTreeItemValueFromElement.js +4 -0
  127. package/lib/utils/getTreeItemValueFromElement.js.map +1 -0
  128. package/lib/utils/nextTypeAheadElement.js +11 -12
  129. package/lib/utils/nextTypeAheadElement.js.map +1 -1
  130. package/lib/utils/normalizeOpenItems.js +6 -5
  131. package/lib/utils/normalizeOpenItems.js.map +1 -1
  132. package/lib/utils/tokens.js +14 -14
  133. package/lib/utils/tokens.js.map +1 -1
  134. package/lib/utils/treeItemFilter.js +2 -3
  135. package/lib/utils/treeItemFilter.js.map +1 -1
  136. package/lib-commonjs/FlatTree.js +6 -0
  137. package/lib-commonjs/FlatTree.js.map +1 -0
  138. package/lib-commonjs/Tree.js +3 -5
  139. package/lib-commonjs/Tree.js.map +1 -1
  140. package/lib-commonjs/TreeItem.js +3 -5
  141. package/lib-commonjs/TreeItem.js.map +1 -1
  142. package/lib-commonjs/TreeItemLayout.js +3 -5
  143. package/lib-commonjs/TreeItemLayout.js.map +1 -1
  144. package/lib-commonjs/TreeItemPersonaLayout.js +3 -5
  145. package/lib-commonjs/TreeItemPersonaLayout.js.map +1 -1
  146. package/lib-commonjs/components/FlatTree/FlatTree.js +21 -0
  147. package/lib-commonjs/components/FlatTree/FlatTree.js.map +1 -0
  148. package/lib-commonjs/components/FlatTree/FlatTree.types.js +4 -0
  149. package/lib-commonjs/components/FlatTree/FlatTree.types.js.map +1 -0
  150. package/lib-commonjs/components/FlatTree/index.js +12 -0
  151. package/lib-commonjs/components/FlatTree/index.js.map +1 -0
  152. package/lib-commonjs/components/FlatTree/renderFlatTree.js +10 -0
  153. package/lib-commonjs/components/FlatTree/renderFlatTree.js.map +1 -0
  154. package/lib-commonjs/components/FlatTree/useFlatControllableCheckedItems.js +91 -0
  155. package/lib-commonjs/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -0
  156. package/lib-commonjs/components/FlatTree/useFlatTree.js +12 -0
  157. package/lib-commonjs/components/FlatTree/useFlatTree.js.map +1 -0
  158. package/lib-commonjs/components/FlatTree/useFlatTreeContextValues.js +10 -0
  159. package/lib-commonjs/components/FlatTree/useFlatTreeContextValues.js.map +1 -0
  160. package/lib-commonjs/components/FlatTree/useFlatTreeNavigation.js +82 -0
  161. package/lib-commonjs/components/FlatTree/useFlatTreeNavigation.js.map +1 -0
  162. package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js +36 -0
  163. package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js.map +1 -0
  164. package/lib-commonjs/components/FlatTree/useHeadlessFlatTree.js +122 -0
  165. package/lib-commonjs/components/FlatTree/useHeadlessFlatTree.js.map +1 -0
  166. package/lib-commonjs/components/Tree/Tree.js +17 -23
  167. package/lib-commonjs/components/Tree/Tree.js.map +1 -1
  168. package/lib-commonjs/components/Tree/Tree.types.js +1 -3
  169. package/lib-commonjs/components/Tree/Tree.types.js.map +1 -1
  170. package/lib-commonjs/components/Tree/index.js +8 -10
  171. package/lib-commonjs/components/Tree/index.js.map +1 -1
  172. package/lib-commonjs/components/Tree/renderTree.js +14 -19
  173. package/lib-commonjs/components/Tree/renderTree.js.map +1 -1
  174. package/lib-commonjs/components/Tree/useNestedControllableCheckedItems.js +37 -0
  175. package/lib-commonjs/components/Tree/useNestedControllableCheckedItems.js.map +1 -0
  176. package/lib-commonjs/components/Tree/useTree.js +70 -115
  177. package/lib-commonjs/components/Tree/useTree.js.map +1 -1
  178. package/lib-commonjs/components/Tree/useTreeContextValues.js +19 -26
  179. package/lib-commonjs/components/Tree/useTreeContextValues.js.map +1 -1
  180. package/lib-commonjs/components/Tree/useTreeNavigation.js +60 -0
  181. package/lib-commonjs/components/Tree/useTreeNavigation.js.map +1 -0
  182. package/lib-commonjs/components/Tree/useTreeStyles.styles.js +41 -0
  183. package/lib-commonjs/components/Tree/useTreeStyles.styles.js.map +1 -0
  184. package/lib-commonjs/components/TreeItem/TreeItem.js +17 -18
  185. package/lib-commonjs/components/TreeItem/TreeItem.js.map +1 -1
  186. package/lib-commonjs/components/TreeItem/TreeItem.types.js +3 -4
  187. package/lib-commonjs/components/TreeItem/TreeItem.types.js.map +1 -1
  188. package/lib-commonjs/components/TreeItem/index.js +8 -9
  189. package/lib-commonjs/components/TreeItem/index.js.map +1 -1
  190. package/lib-commonjs/components/TreeItem/renderTreeItem.js +14 -33
  191. package/lib-commonjs/components/TreeItem/renderTreeItem.js.map +1 -1
  192. package/lib-commonjs/components/TreeItem/useTreeItem.js +169 -250
  193. package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
  194. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js +25 -20
  195. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  196. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js +202 -0
  197. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
  198. package/lib-commonjs/components/TreeItemChevron.js +33 -0
  199. package/lib-commonjs/components/TreeItemChevron.js.map +1 -0
  200. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js +15 -16
  201. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  202. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js +1 -3
  203. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  204. package/lib-commonjs/components/TreeItemLayout/index.js +7 -9
  205. package/lib-commonjs/components/TreeItemLayout/index.js.map +1 -1
  206. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js +14 -28
  207. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  208. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +113 -52
  209. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  210. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +392 -0
  211. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
  212. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +17 -18
  213. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  214. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +1 -3
  215. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  216. package/lib-commonjs/components/TreeItemPersonaLayout/index.js +7 -9
  217. package/lib-commonjs/components/TreeItemPersonaLayout/index.js.map +1 -1
  218. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +17 -35
  219. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  220. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +49 -61
  221. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  222. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +16 -15
  223. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  224. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +379 -0
  225. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
  226. package/lib-commonjs/contexts/index.js +4 -6
  227. package/lib-commonjs/contexts/index.js.map +1 -1
  228. package/lib-commonjs/contexts/treeContext.js +26 -18
  229. package/lib-commonjs/contexts/treeContext.js.map +1 -1
  230. package/lib-commonjs/contexts/treeItemContext.js +30 -13
  231. package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
  232. package/lib-commonjs/hooks/useControllableOpenItems.js +39 -0
  233. package/lib-commonjs/hooks/useControllableOpenItems.js.map +1 -0
  234. package/lib-commonjs/hooks/useRootTree.js +145 -0
  235. package/lib-commonjs/hooks/useRootTree.js.map +1 -0
  236. package/lib-commonjs/hooks/useRovingTabIndexes.js +36 -55
  237. package/lib-commonjs/hooks/useRovingTabIndexes.js.map +1 -1
  238. package/lib-commonjs/hooks/useSubtree.js +45 -0
  239. package/lib-commonjs/hooks/useSubtree.js.map +1 -0
  240. package/lib-commonjs/index.js +53 -181
  241. package/lib-commonjs/index.js.map +1 -1
  242. package/lib-commonjs/utils/ImmutableMap.js +49 -0
  243. package/lib-commonjs/utils/ImmutableMap.js.map +1 -0
  244. package/lib-commonjs/utils/ImmutableSet.js +47 -38
  245. package/lib-commonjs/utils/ImmutableSet.js.map +1 -1
  246. package/lib-commonjs/utils/assert.js +11 -9
  247. package/lib-commonjs/utils/assert.js.map +1 -1
  248. package/lib-commonjs/utils/createCheckedItems.js +26 -0
  249. package/lib-commonjs/utils/createCheckedItems.js.map +1 -0
  250. package/lib-commonjs/utils/createHTMLElementWalker.js +75 -0
  251. package/lib-commonjs/utils/createHTMLElementWalker.js.map +1 -0
  252. package/lib-commonjs/utils/createHeadlessTree.js +203 -0
  253. package/lib-commonjs/utils/createHeadlessTree.js.map +1 -0
  254. package/lib-commonjs/utils/createOpenItems.js +18 -0
  255. package/lib-commonjs/utils/createOpenItems.js.map +1 -0
  256. package/lib-commonjs/utils/flattenTree.js +21 -34
  257. package/lib-commonjs/utils/flattenTree.js.map +1 -1
  258. package/lib-commonjs/utils/getTreeItemValueFromElement.js +18 -0
  259. package/lib-commonjs/utils/getTreeItemValueFromElement.js.map +1 -0
  260. package/lib-commonjs/utils/nextTypeAheadElement.js +16 -16
  261. package/lib-commonjs/utils/nextTypeAheadElement.js.map +1 -1
  262. package/lib-commonjs/utils/normalizeOpenItems.js +11 -9
  263. package/lib-commonjs/utils/normalizeOpenItems.js.map +1 -1
  264. package/lib-commonjs/utils/tokens.js +29 -20
  265. package/lib-commonjs/utils/tokens.js.map +1 -1
  266. package/lib-commonjs/utils/treeItemFilter.js +7 -7
  267. package/lib-commonjs/utils/treeItemFilter.js.map +1 -1
  268. package/package.json +26 -17
  269. package/lib/components/Tree/useTreeStyles.js.map +0 -1
  270. package/lib/components/TreeItem/useTreeItemStyles.js +0 -203
  271. package/lib/components/TreeItem/useTreeItemStyles.js.map +0 -1
  272. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -98
  273. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
  274. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js +0 -115
  275. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
  276. package/lib/hooks/index.js +0 -4
  277. package/lib/hooks/index.js.map +0 -1
  278. package/lib/hooks/useFlatTree.js +0 -49
  279. package/lib/hooks/useFlatTree.js.map +0 -1
  280. package/lib/hooks/useFlatTreeNavigation.js +0 -74
  281. package/lib/hooks/useFlatTreeNavigation.js.map +0 -1
  282. package/lib/hooks/useHTMLElementWalker.js +0 -80
  283. package/lib/hooks/useHTMLElementWalker.js.map +0 -1
  284. package/lib/hooks/useNestedTreeNavigation.js +0 -59
  285. package/lib/hooks/useNestedTreeNavigation.js.map +0 -1
  286. package/lib/hooks/useOpenItemsState.js +0 -22
  287. package/lib/hooks/useOpenItemsState.js.map +0 -1
  288. package/lib/utils/createUnfilteredFlatTree.js +0 -77
  289. package/lib/utils/createUnfilteredFlatTree.js.map +0 -1
  290. package/lib/utils/createVisibleFlatTree.js +0 -80
  291. package/lib/utils/createVisibleFlatTree.js.map +0 -1
  292. package/lib-commonjs/components/Tree/useTreeStyles.js +0 -27
  293. package/lib-commonjs/components/Tree/useTreeStyles.js.map +0 -1
  294. package/lib-commonjs/components/TreeItem/useTreeItemStyles.js +0 -210
  295. package/lib-commonjs/components/TreeItem/useTreeItemStyles.js.map +0 -1
  296. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -105
  297. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
  298. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js +0 -122
  299. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
  300. package/lib-commonjs/hooks/index.js +0 -10
  301. package/lib-commonjs/hooks/index.js.map +0 -1
  302. package/lib-commonjs/hooks/useFlatTree.js +0 -56
  303. package/lib-commonjs/hooks/useFlatTree.js.map +0 -1
  304. package/lib-commonjs/hooks/useFlatTreeNavigation.js +0 -81
  305. package/lib-commonjs/hooks/useFlatTreeNavigation.js.map +0 -1
  306. package/lib-commonjs/hooks/useHTMLElementWalker.js +0 -88
  307. package/lib-commonjs/hooks/useHTMLElementWalker.js.map +0 -1
  308. package/lib-commonjs/hooks/useNestedTreeNavigation.js +0 -66
  309. package/lib-commonjs/hooks/useNestedTreeNavigation.js.map +0 -1
  310. package/lib-commonjs/hooks/useOpenItemsState.js +0 -29
  311. package/lib-commonjs/hooks/useOpenItemsState.js.map +0 -1
  312. package/lib-commonjs/utils/createUnfilteredFlatTree.js +0 -84
  313. package/lib-commonjs/utils/createUnfilteredFlatTree.js.map +0 -1
  314. package/lib-commonjs/utils/createVisibleFlatTree.js +0 -87
  315. package/lib-commonjs/utils/createVisibleFlatTree.js.map +0 -1
@@ -1 +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 * 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"}
@@ -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);
@@ -1 +1 @@
1
- {"version":3,"names":["tslib_1","__exportStar","require","exports"],"sources":["../src/packages/react-components/react-tree/src/components/Tree/index.ts"],"sourcesContent":["export * from './Tree';\nexport * from './Tree.types';\nexport * from './renderTree';\nexport * from './useTree';\nexport * from './useTreeStyles';\nexport * from './useTreeContextValues';\n"],"mappings":";;;;;;AAAAA,OAAA,CAAAC,YAAA,CAAAC,OAAA,YAAAC,OAAA;AACAH,OAAA,CAAAC,YAAA,CAAAC,OAAA,kBAAAC,OAAA;AACAH,OAAA,CAAAC,YAAA,CAAAC,OAAA,kBAAAC,OAAA;AACAH,OAAA,CAAAC,YAAA,CAAAC,OAAA,eAAAC,OAAA;AACAH,OAAA,CAAAC,YAAA,CAAAC,OAAA,qBAAAC,OAAA;AACAH,OAAA,CAAAC,YAAA,CAAAC,OAAA,4BAAAC,OAAA"}
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"}
@@ -1,22 +1,17 @@
1
- "use strict";
2
-
1
+ /** @jsxRuntime classic */ /** @jsx createElement */ "use strict";
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports.renderTree_unstable = void 0;
7
- const React = /*#__PURE__*/require("react");
8
- const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
9
- const contexts_1 = /*#__PURE__*/require("../../contexts");
10
- const renderTree_unstable = (state, contextValues) => {
11
- const {
12
- slots,
13
- slotProps
14
- } = react_utilities_1.getSlots(state);
15
- return React.createElement(contexts_1.TreeProvider, {
16
- value: contextValues.tree
17
- }, React.createElement(slots.root, {
18
- ...slotProps.root
19
- }, slotProps.root.children));
5
+ Object.defineProperty(exports, "renderTree_unstable", {
6
+ enumerable: true,
7
+ get: ()=>renderTree_unstable
8
+ });
9
+ const _reactJsxRuntime = require("@fluentui/react-jsx-runtime");
10
+ const _reactUtilities = require("@fluentui/react-utilities");
11
+ const _contexts = require("../../contexts");
12
+ const renderTree_unstable = (state, contextValues)=>{
13
+ (0, _reactUtilities.assertSlots)(state);
14
+ return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(_contexts.TreeProvider, {
15
+ value: contextValues.tree
16
+ }, state.open && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.root, null, state.root.children));
20
17
  };
21
- exports.renderTree_unstable = renderTree_unstable;
22
- //# sourceMappingURL=renderTree.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","require","react_utilities_1","contexts_1","renderTree_unstable","state","contextValues","slots","slotProps","getSlots","createElement","TreeProvider","value","tree","root","children","exports"],"sources":["../src/packages/react-components/react-tree/src/components/Tree/renderTree.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type { TreeState, TreeSlots, TreeContextValues } from './Tree.types';\nimport { TreeProvider } from '../../contexts';\n\nexport const renderTree_unstable = (state: TreeState, contextValues: TreeContextValues) => {\n const { slots, slotProps } = getSlots<TreeSlots>(state);\n\n return (\n <TreeProvider value={contextValues.tree}>\n <slots.root {...slotProps.root}>{slotProps.root.children}</slots.root>\n </TreeProvider>\n );\n};\n"],"mappings":";;;;;;AAAA,MAAAA,KAAA,gBAAAC,OAAA;AACA,MAAAC,iBAAA,gBAAAD,OAAA;AAEA,MAAAE,UAAA,gBAAAF,OAAA;AAEO,MAAMG,mBAAmB,GAAGA,CAACC,KAAgB,EAAEC,aAAgC,KAAI;EACxF,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAE,GAAGN,iBAAA,CAAAO,QAAQ,CAAYJ,KAAK,CAAC;EAEvD,OACEL,KAAA,CAAAU,aAAA,CAACP,UAAA,CAAAQ,YAAY;IAACC,KAAK,EAAEN,aAAa,CAACO;EAAI,GACrCb,KAAA,CAAAU,aAAA,CAACH,KAAK,CAACO,IAAI;IAAA,GAAKN,SAAS,CAACM;EAAI,GAAGN,SAAS,CAACM,IAAI,CAACC,QAAQ,CAAc,CACzD;AAEnB,CAAC;AARYC,OAAA,CAAAZ,mBAAmB,GAAAA,mBAAA"}
1
+ {"version":3,"sources":["renderTree.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { TreeProvider } from '../../contexts';\nexport const renderTree_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ createElement(TreeProvider, {\n value: contextValues.tree\n }, state.open && /*#__PURE__*/ createElement(state.root, null, state.root.children));\n};\n"],"names":["renderTree_unstable","state","contextValues","assertSlots","createElement","TreeProvider","value","tree","open","root","children"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAGrCA;;aAAAA;;iCAHsE;gCACvD;0BACC;AACtB,MAAMA,sBAAsB,CAACC,OAAOC,gBAAgB;IACvDC,IAAAA,2BAAW,EAACF;IACZ,OAAO,WAAW,GAAGG,IAAAA,8BAAa,EAACC,sBAAY,EAAE;QAC7CC,OAAOJ,cAAcK,IAAI;IAC7B,GAAGN,MAAMO,IAAI,IAAI,WAAW,GAAGJ,IAAAA,8BAAa,EAACH,MAAMQ,IAAI,EAAE,IAAI,EAAER,MAAMQ,IAAI,CAACC,QAAQ;AACtF"}
@@ -0,0 +1,37 @@
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
+ useNestedCheckedItems: ()=>useNestedCheckedItems,
13
+ createNextNestedCheckedItems: ()=>createNextNestedCheckedItems
14
+ });
15
+ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
16
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
17
+ const _immutableMap = require("../../utils/ImmutableMap");
18
+ const _createCheckedItems = require("../../utils/createCheckedItems");
19
+ function useNestedCheckedItems(props) {
20
+ return _react.useMemo(()=>(0, _createCheckedItems.createCheckedItems)(props.checkedItems), [
21
+ props.checkedItems
22
+ ]);
23
+ }
24
+ function createNextNestedCheckedItems(data, previousCheckedItems) {
25
+ if (data.selectionMode === 'single') {
26
+ return _immutableMap.ImmutableMap.create([
27
+ [
28
+ data.value,
29
+ data.checked
30
+ ]
31
+ ]);
32
+ }
33
+ if (data.selectionMode === 'multiselect') {
34
+ return previousCheckedItems.set(data.value, data.checked);
35
+ }
36
+ return previousCheckedItems;
37
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useNestedControllableCheckedItems.js"],"sourcesContent":["import * as React from 'react';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\nimport { createCheckedItems } from '../../utils/createCheckedItems';\nexport function useNestedCheckedItems(props) {\n return React.useMemo(()=>createCheckedItems(props.checkedItems), [\n props.checkedItems\n ]);\n}\nexport function createNextNestedCheckedItems(data, previousCheckedItems) {\n if (data.selectionMode === 'single') {\n return ImmutableMap.create([\n [\n data.value,\n data.checked\n ]\n ]);\n }\n if (data.selectionMode === 'multiselect') {\n return previousCheckedItems.set(data.value, data.checked);\n }\n return previousCheckedItems;\n}\n"],"names":["useNestedCheckedItems","createNextNestedCheckedItems","props","React","useMemo","createCheckedItems","checkedItems","data","previousCheckedItems","selectionMode","ImmutableMap","create","value","checked","set"],"mappings":";;;;;;;;;;;IAGgBA,qBAAqB,MAArBA;IAKAC,4BAA4B,MAA5BA;;;6DARO;8BACM;oCACM;AAC5B,SAASD,sBAAsBE,KAAK,EAAE;IACzC,OAAOC,OAAMC,OAAO,CAAC,IAAIC,IAAAA,sCAAkB,EAACH,MAAMI,YAAY,GAAG;QAC7DJ,MAAMI,YAAY;KACrB;AACL;AACO,SAASL,6BAA6BM,IAAI,EAAEC,oBAAoB,EAAE;IACrE,IAAID,KAAKE,aAAa,KAAK,UAAU;QACjC,OAAOC,0BAAY,CAACC,MAAM,CAAC;YACvB;gBACIJ,KAAKK,KAAK;gBACVL,KAAKM,OAAO;aACf;SACJ;IACL,CAAC;IACD,IAAIN,KAAKE,aAAa,KAAK,eAAe;QACtC,OAAOD,qBAAqBM,GAAG,CAACP,KAAKK,KAAK,EAAEL,KAAKM,OAAO;IAC5D,CAAC;IACD,OAAOL;AACX"}
@@ -1,120 +1,75 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports.useTree_unstable = void 0;
7
- const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
8
- const contexts_1 = /*#__PURE__*/require("../../contexts");
9
- const hooks_1 = /*#__PURE__*/require("../../hooks");
10
- const tokens_1 = /*#__PURE__*/require("../../utils/tokens");
11
- /**
12
- * Create the state required to render Tree.
13
- *
14
- * The returned state can be modified with hooks such as useTreeStyles_unstable,
15
- * before being passed to renderTree_unstable.
16
- *
17
- * @param props - props from this instance of Tree
18
- * @param ref - reference to root HTMLElement of Tree
19
- */
20
- const useTree_unstable = (props, ref) => {
21
- const isSubtree = contexts_1.useTreeContext_unstable(ctx => ctx.level > 0);
22
- // as isSubtree is static, this doesn't break rule of hooks
23
- // and if this becomes an issue later on, this can be easily converted
24
- // eslint-disable-next-line react-hooks/rules-of-hooks
25
- return isSubtree ? useSubtree(props, ref) : useRootTree(props, ref);
5
+ Object.defineProperty(exports, "useTree_unstable", {
6
+ enumerable: true,
7
+ get: ()=>useTree_unstable
8
+ });
9
+ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
10
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
11
+ const _reactUtilities = require("@fluentui/react-utilities");
12
+ const _useControllableOpenItems = require("../../hooks/useControllableOpenItems");
13
+ const _useNestedControllableCheckedItems = require("./useNestedControllableCheckedItems");
14
+ const _treeContext = require("../../contexts/treeContext");
15
+ const _useRootTree = require("../../hooks/useRootTree");
16
+ const _useSubtree = require("../../hooks/useSubtree");
17
+ const _createHTMLElementWalker = require("../../utils/createHTMLElementWalker");
18
+ const _treeItemFilter = require("../../utils/treeItemFilter");
19
+ const _useTreeNavigation = require("./useTreeNavigation");
20
+ const useTree_unstable = (props, ref)=>{
21
+ const isSubtree = (0, _treeContext.useTreeContext_unstable)((ctx)=>ctx.level > 0);
22
+ // as isSubTree is static, this doesn't break rule of hooks
23
+ // and if this becomes an issue later on, this can be easily converted
24
+ // eslint-disable-next-line react-hooks/rules-of-hooks
25
+ return isSubtree ? (0, _useSubtree.useSubtree)(props, ref) : useNestedRootTree(props, ref);
26
26
  };
27
- exports.useTree_unstable = useTree_unstable;
28
- /**
29
- * Create the state required to render a sub-level Tree.
30
- *
31
- * @param props - props from this instance of Tree
32
- * @param ref - reference to root HTMLElement of Tree
33
- */
34
- function useSubtree(props, ref) {
35
- const contextAppearance = contexts_1.useTreeContext_unstable(ctx => ctx.appearance);
36
- const contextSize = contexts_1.useTreeContext_unstable(ctx => ctx.size);
37
- const {
38
- appearance = contextAppearance !== null && contextAppearance !== void 0 ? contextAppearance : 'subtle',
39
- size = contextSize !== null && contextSize !== void 0 ? contextSize : 'medium'
40
- } = props;
41
- const parentLevel = contexts_1.useTreeContext_unstable(ctx => ctx.level);
42
- const openItems = contexts_1.useTreeContext_unstable(ctx => ctx.openItems);
43
- const requestOpenChange = contexts_1.useTreeContext_unstable(ctx => ctx.requestOpenChange);
44
- const requestNavigation = contexts_1.useTreeContext_unstable(ctx => ctx.requestNavigation);
45
- return {
46
- components: {
47
- root: 'div'
48
- },
49
- appearance,
50
- size,
51
- level: parentLevel + 1,
52
- root: react_utilities_1.getNativeElementProps('div', {
53
- ref,
54
- role: 'group',
55
- ...props
56
- }),
57
- openItems,
58
- requestOpenChange,
59
- requestNavigation
60
- };
61
- }
62
- /**
63
- * Create the state required to render the root level Tree.
64
- *
65
- * @param props - props from this instance of Tree
66
- * @param ref - reference to root HTMLElement of Tree
67
- */
68
- function useRootTree(props, ref) {
69
- warnIfNoProperPropsRootTree(props);
70
- const {
71
- appearance = 'subtle',
72
- size = 'medium'
73
- } = props;
74
- const [openItems, updateOpenItems] = hooks_1.useOpenItemsState(props);
75
- const [navigate, navigationRef] = hooks_1.useNestedTreeNavigation();
76
- const requestOpenChange = react_utilities_1.useEventCallback(data => {
77
- var _a;
78
- (_a = props.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(props, data.event, data);
79
- if (data.event.isDefaultPrevented()) {
80
- return;
81
- }
82
- return updateOpenItems(data);
83
- });
84
- const requestNavigation = react_utilities_1.useEventCallback(data => {
85
- var _a;
86
- (_a = props.onNavigation_unstable) === null || _a === void 0 ? void 0 : _a.call(props, data.event, data);
87
- if (data.event.isDefaultPrevented()) {
88
- return;
89
- }
90
- navigate(data);
91
- if (data.type === tokens_1.treeDataTypes.arrowDown || data.type === tokens_1.treeDataTypes.arrowUp) {
92
- data.event.preventDefault();
93
- }
94
- });
95
- return {
96
- components: {
97
- root: 'div'
98
- },
99
- appearance,
100
- size,
101
- level: 1,
102
- openItems,
103
- requestOpenChange,
104
- requestNavigation,
105
- root: react_utilities_1.getNativeElementProps('div', {
106
- ref: react_utilities_1.useMergedRefs(navigationRef, ref),
107
- role: 'tree',
108
- ...props
109
- })
110
- };
111
- }
112
- function warnIfNoProperPropsRootTree(props) {
113
- if (process.env.NODE_ENV === 'development') {
114
- if (!props['aria-label'] && !props['aria-labelledby']) {
115
- // eslint-disable-next-line no-console
116
- console.warn('Tree must have either a `aria-label` or `aria-labelledby` property defined');
117
- }
118
- }
27
+ function useNestedRootTree(props, ref) {
28
+ const [openItems, setOpenItems] = (0, _useControllableOpenItems.useControllableOpenItems)(props);
29
+ const checkedItems = (0, _useNestedControllableCheckedItems.useNestedCheckedItems)(props);
30
+ const { navigate , initialize } = (0, _useTreeNavigation.useTreeNavigation)();
31
+ const walkerRef = _react.useRef();
32
+ const initializeWalker = _react.useCallback((root)=>{
33
+ if (root) {
34
+ walkerRef.current = (0, _createHTMLElementWalker.createHTMLElementWalker)(root, _treeItemFilter.treeItemFilter);
35
+ initialize(walkerRef.current);
36
+ }
37
+ }, [
38
+ initialize
39
+ ]);
40
+ const handleOpenChange = (0, _reactUtilities.useEventCallback)((event, data)=>{
41
+ var _props_onOpenChange;
42
+ const nextOpenItems = (0, _useControllableOpenItems.createNextOpenItems)(data, openItems);
43
+ (_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 ? void 0 : _props_onOpenChange.call(props, event, {
44
+ ...data,
45
+ openItems: nextOpenItems.dangerouslyGetInternalSet_unstable()
46
+ });
47
+ setOpenItems(nextOpenItems);
48
+ });
49
+ const handleCheckedChange = (0, _reactUtilities.useEventCallback)((event, data)=>{
50
+ if (walkerRef.current) {
51
+ var _props_onCheckedChange;
52
+ const nextCheckedItems = (0, _useNestedControllableCheckedItems.createNextNestedCheckedItems)(data, checkedItems);
53
+ (_props_onCheckedChange = props.onCheckedChange) === null || _props_onCheckedChange === void 0 ? void 0 : _props_onCheckedChange.call(props, event, {
54
+ ...data,
55
+ checkedItems: nextCheckedItems.dangerouslyGetInternalMap_unstable()
56
+ });
57
+ }
58
+ });
59
+ const handleNavigation = (0, _reactUtilities.useEventCallback)((event, data)=>{
60
+ var _props_onNavigation_unstable;
61
+ (_props_onNavigation_unstable = props.onNavigation_unstable) === null || _props_onNavigation_unstable === void 0 ? void 0 : _props_onNavigation_unstable.call(props, event, data);
62
+ if (walkerRef.current) {
63
+ navigate(data, walkerRef.current);
64
+ }
65
+ });
66
+ return (0, _useRootTree.useRootTree)({
67
+ ...props,
68
+ openItems,
69
+ checkedItems,
70
+ onOpenChange: handleOpenChange,
71
+ // eslint-disable-next-line @typescript-eslint/naming-convention
72
+ onNavigation_unstable: handleNavigation,
73
+ onCheckedChange: handleCheckedChange
74
+ }, (0, _reactUtilities.useMergedRefs)(ref, initializeWalker));
119
75
  }
120
- //# sourceMappingURL=useTree.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["react_utilities_1","require","contexts_1","hooks_1","tokens_1","useTree_unstable","props","ref","isSubtree","useTreeContext_unstable","ctx","level","useSubtree","useRootTree","exports","contextAppearance","appearance","contextSize","size","parentLevel","openItems","requestOpenChange","requestNavigation","components","root","getNativeElementProps","role","warnIfNoProperPropsRootTree","updateOpenItems","useOpenItemsState","navigate","navigationRef","useNestedTreeNavigation","useEventCallback","data","_a","onOpenChange","call","event","isDefaultPrevented","onNavigation_unstable","type","treeDataTypes","arrowDown","arrowUp","preventDefault","useMergedRefs","process","env","NODE_ENV","console","warn"],"sources":["../src/packages/react-components/react-tree/src/components/Tree/useTree.ts"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { TreeOpenChangeData, TreeProps, TreeState, TreeNavigationData_unstable } from './Tree.types';\nimport { useTreeContext_unstable } from '../../contexts';\nimport { useNestedTreeNavigation, useOpenItemsState } from '../../hooks';\nimport { treeDataTypes } from '../../utils/tokens';\n\n/**\n * Create the state required to render Tree.\n *\n * The returned state can be modified with hooks such as useTreeStyles_unstable,\n * before being passed to renderTree_unstable.\n *\n * @param props - props from this instance of Tree\n * @param ref - reference to root HTMLElement of Tree\n */\nexport const useTree_unstable = (props: TreeProps, ref: React.Ref<HTMLElement>): TreeState => {\n const isSubtree = useTreeContext_unstable(ctx => ctx.level > 0);\n // as isSubtree is static, this doesn't break rule of hooks\n // and if this becomes an issue later on, this can be easily converted\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isSubtree ? useSubtree(props, ref) : useRootTree(props, ref);\n};\n\n/**\n * Create the state required to render a sub-level Tree.\n *\n * @param props - props from this instance of Tree\n * @param ref - reference to root HTMLElement of Tree\n */\nfunction useSubtree(props: TreeProps, ref: React.Ref<HTMLElement>): TreeState {\n const contextAppearance = useTreeContext_unstable(ctx => ctx.appearance);\n const contextSize = useTreeContext_unstable(ctx => ctx.size);\n\n const { appearance = contextAppearance ?? 'subtle', size = contextSize ?? 'medium' } = props;\n\n const parentLevel = useTreeContext_unstable(ctx => ctx.level);\n const openItems = useTreeContext_unstable(ctx => ctx.openItems);\n const requestOpenChange = useTreeContext_unstable(ctx => ctx.requestOpenChange);\n const requestNavigation = useTreeContext_unstable(ctx => ctx.requestNavigation);\n\n return {\n components: {\n root: 'div',\n },\n appearance,\n size,\n level: parentLevel + 1,\n root: getNativeElementProps('div', {\n ref,\n role: 'group',\n ...props,\n }),\n openItems,\n requestOpenChange,\n requestNavigation,\n };\n}\n\n/**\n * Create the state required to render the root level Tree.\n *\n * @param props - props from this instance of Tree\n * @param ref - reference to root HTMLElement of Tree\n */\nfunction useRootTree(props: TreeProps, ref: React.Ref<HTMLElement>): TreeState {\n warnIfNoProperPropsRootTree(props);\n\n const { appearance = 'subtle', size = 'medium' } = props;\n\n const [openItems, updateOpenItems] = useOpenItemsState(props);\n const [navigate, navigationRef] = useNestedTreeNavigation();\n\n const requestOpenChange = useEventCallback((data: TreeOpenChangeData) => {\n props.onOpenChange?.(data.event, data);\n if (data.event.isDefaultPrevented()) {\n return;\n }\n return updateOpenItems(data);\n });\n\n const requestNavigation = useEventCallback((data: TreeNavigationData_unstable) => {\n props.onNavigation_unstable?.(data.event, data);\n if (data.event.isDefaultPrevented()) {\n return;\n }\n navigate(data);\n if (data.type === treeDataTypes.arrowDown || data.type === treeDataTypes.arrowUp) {\n data.event.preventDefault();\n }\n });\n\n return {\n components: {\n root: 'div',\n },\n appearance,\n size,\n level: 1,\n openItems,\n requestOpenChange,\n requestNavigation,\n root: getNativeElementProps('div', {\n ref: useMergedRefs(navigationRef, ref),\n role: 'tree',\n ...props,\n }),\n };\n}\n\nfunction warnIfNoProperPropsRootTree(props: Pick<TreeProps, 'aria-label' | 'aria-labelledby'>) {\n if (process.env.NODE_ENV === 'development') {\n if (!props['aria-label'] && !props['aria-labelledby']) {\n // eslint-disable-next-line no-console\n console.warn('Tree must have either a `aria-label` or `aria-labelledby` property defined');\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"sources":["useTree.js"],"sourcesContent":["import * as React from 'react';\nimport { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { createNextOpenItems, useControllableOpenItems } from '../../hooks/useControllableOpenItems';\nimport { createNextNestedCheckedItems, useNestedCheckedItems } from './useNestedControllableCheckedItems';\nimport { useTreeContext_unstable } from '../../contexts/treeContext';\nimport { useRootTree } from '../../hooks/useRootTree';\nimport { useSubtree } from '../../hooks/useSubtree';\nimport { createHTMLElementWalker } from '../../utils/createHTMLElementWalker';\nimport { treeItemFilter } from '../../utils/treeItemFilter';\nimport { useTreeNavigation } from './useTreeNavigation';\nexport const useTree_unstable = (props, ref)=>{\n const isSubtree = useTreeContext_unstable((ctx)=>ctx.level > 0);\n // as isSubTree is static, this doesn't break rule of hooks\n // and if this becomes an issue later on, this can be easily converted\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isSubtree ? useSubtree(props, ref) : useNestedRootTree(props, ref);\n};\nfunction useNestedRootTree(props, ref) {\n const [openItems, setOpenItems] = useControllableOpenItems(props);\n const checkedItems = useNestedCheckedItems(props);\n const { navigate , initialize } = useTreeNavigation();\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 handleOpenChange = useEventCallback((event, data)=>{\n var _props_onOpenChange;\n const nextOpenItems = createNextOpenItems(data, openItems);\n (_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 ? void 0 : _props_onOpenChange.call(props, event, {\n ...data,\n openItems: nextOpenItems.dangerouslyGetInternalSet_unstable()\n });\n setOpenItems(nextOpenItems);\n });\n const handleCheckedChange = useEventCallback((event, data)=>{\n if (walkerRef.current) {\n var _props_onCheckedChange;\n const nextCheckedItems = createNextNestedCheckedItems(data, checkedItems);\n (_props_onCheckedChange = props.onCheckedChange) === null || _props_onCheckedChange === void 0 ? void 0 : _props_onCheckedChange.call(props, event, {\n ...data,\n checkedItems: nextCheckedItems.dangerouslyGetInternalMap_unstable()\n });\n }\n });\n const handleNavigation = useEventCallback((event, data)=>{\n var _props_onNavigation_unstable;\n (_props_onNavigation_unstable = props.onNavigation_unstable) === null || _props_onNavigation_unstable === void 0 ? void 0 : _props_onNavigation_unstable.call(props, event, data);\n if (walkerRef.current) {\n navigate(data, walkerRef.current);\n }\n });\n return useRootTree({\n ...props,\n openItems,\n checkedItems,\n onOpenChange: handleOpenChange,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n onNavigation_unstable: handleNavigation,\n onCheckedChange: handleCheckedChange\n }, useMergedRefs(ref, initializeWalker));\n}\n"],"names":["useTree_unstable","props","ref","isSubtree","useTreeContext_unstable","ctx","level","useSubtree","useNestedRootTree","openItems","setOpenItems","useControllableOpenItems","checkedItems","useNestedCheckedItems","navigate","initialize","useTreeNavigation","walkerRef","React","useRef","initializeWalker","useCallback","root","current","createHTMLElementWalker","treeItemFilter","handleOpenChange","useEventCallback","event","data","_props_onOpenChange","nextOpenItems","createNextOpenItems","onOpenChange","call","dangerouslyGetInternalSet_unstable","handleCheckedChange","_props_onCheckedChange","nextCheckedItems","createNextNestedCheckedItems","onCheckedChange","dangerouslyGetInternalMap_unstable","handleNavigation","_props_onNavigation_unstable","onNavigation_unstable","useRootTree","useMergedRefs"],"mappings":";;;;+BAUaA;;aAAAA;;;6DAVU;gCACyB;0CACc;mDACM;6BAC5B;6BACZ;4BACD;yCACa;gCACT;mCACG;AAC3B,MAAMA,mBAAmB,CAACC,OAAOC,MAAM;IAC1C,MAAMC,YAAYC,IAAAA,oCAAuB,EAAC,CAACC,MAAMA,IAAIC,KAAK,GAAG;IAC7D,2DAA2D;IAC3D,sEAAsE;IACtE,sDAAsD;IACtD,OAAOH,YAAYI,IAAAA,sBAAU,EAACN,OAAOC,OAAOM,kBAAkBP,OAAOC,IAAI;AAC7E;AACA,SAASM,kBAAkBP,KAAK,EAAEC,GAAG,EAAE;IACnC,MAAM,CAACO,WAAWC,aAAa,GAAGC,IAAAA,kDAAwB,EAACV;IAC3D,MAAMW,eAAeC,IAAAA,wDAAqB,EAACZ;IAC3C,MAAM,EAAEa,SAAQ,EAAGC,WAAU,EAAG,GAAGC,IAAAA,oCAAiB;IACpD,MAAMC,YAAYC,OAAMC,MAAM;IAC9B,MAAMC,mBAAmBF,OAAMG,WAAW,CAAC,CAACC,OAAO;QAC/C,IAAIA,MAAM;YACNL,UAAUM,OAAO,GAAGC,IAAAA,gDAAuB,EAACF,MAAMG,8BAAc;YAChEV,WAAWE,UAAUM,OAAO;QAChC,CAAC;IACL,GAAG;QACCR;KACH;IACD,MAAMW,mBAAmBC,IAAAA,gCAAgB,EAAC,CAACC,OAAOC,OAAO;QACrD,IAAIC;QACJ,MAAMC,gBAAgBC,IAAAA,6CAAmB,EAACH,MAAMpB;QAC/CqB,CAAAA,sBAAsB7B,MAAMgC,YAAY,AAAD,MAAO,IAAI,IAAIH,wBAAwB,KAAK,IAAI,KAAK,IAAIA,oBAAoBI,IAAI,CAACjC,OAAO2B,OAAO;YACpI,GAAGC,IAAI;YACPpB,WAAWsB,cAAcI,kCAAkC;QAC/D,EAAE;QACFzB,aAAaqB;IACjB;IACA,MAAMK,sBAAsBT,IAAAA,gCAAgB,EAAC,CAACC,OAAOC,OAAO;QACxD,IAAIZ,UAAUM,OAAO,EAAE;YACnB,IAAIc;YACJ,MAAMC,mBAAmBC,IAAAA,+DAA4B,EAACV,MAAMjB;YAC3DyB,CAAAA,yBAAyBpC,MAAMuC,eAAe,AAAD,MAAO,IAAI,IAAIH,2BAA2B,KAAK,IAAI,KAAK,IAAIA,uBAAuBH,IAAI,CAACjC,OAAO2B,OAAO;gBAChJ,GAAGC,IAAI;gBACPjB,cAAc0B,iBAAiBG,kCAAkC;YACrE,EAAE;QACN,CAAC;IACL;IACA,MAAMC,mBAAmBf,IAAAA,gCAAgB,EAAC,CAACC,OAAOC,OAAO;QACrD,IAAIc;QACHA,CAAAA,+BAA+B1C,MAAM2C,qBAAqB,AAAD,MAAO,IAAI,IAAID,iCAAiC,KAAK,IAAI,KAAK,IAAIA,6BAA6BT,IAAI,CAACjC,OAAO2B,OAAOC,KAAK;QACjL,IAAIZ,UAAUM,OAAO,EAAE;YACnBT,SAASe,MAAMZ,UAAUM,OAAO;QACpC,CAAC;IACL;IACA,OAAOsB,IAAAA,wBAAW,EAAC;QACf,GAAG5C,KAAK;QACRQ;QACAG;QACAqB,cAAcP;QACd,gEAAgE;QAChEkB,uBAAuBF;QACvBF,iBAAiBJ;IACrB,GAAGU,IAAAA,6BAAa,EAAC5C,KAAKkB;AAC1B"}
@@ -1,33 +1,26 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "useTreeContextValues_unstable", {
6
+ enumerable: true,
7
+ get: ()=>useTreeContextValues_unstable
5
8
  });
6
- exports.useTreeContextValues_unstable = void 0;
7
9
  function useTreeContextValues_unstable(state) {
8
- const {
9
- openItems,
10
- level,
11
- appearance,
12
- size,
13
- requestOpenChange,
14
- requestNavigation
15
- } = state;
16
- /**
10
+ const { openItems , checkedItems , selectionMode , level , appearance , size , requestTreeResponse } = state;
11
+ /**
17
12
  * This context is created with "@fluentui/react-context-selector",
18
13
  * there is no sense to memoize it
19
- */
20
- const tree = {
21
- appearance,
22
- size,
23
- level,
24
- openItems,
25
- requestOpenChange,
26
- requestNavigation
27
- };
28
- return {
29
- tree
30
- };
14
+ */ const tree = {
15
+ size,
16
+ level,
17
+ openItems,
18
+ appearance,
19
+ checkedItems,
20
+ selectionMode,
21
+ requestTreeResponse
22
+ };
23
+ return {
24
+ tree
25
+ };
31
26
  }
32
- exports.useTreeContextValues_unstable = useTreeContextValues_unstable;
33
- //# sourceMappingURL=useTreeContextValues.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useTreeContextValues_unstable","state","openItems","level","appearance","size","requestOpenChange","requestNavigation","tree","exports"],"sources":["../src/packages/react-components/react-tree/src/components/Tree/useTreeContextValues.ts"],"sourcesContent":["import { TreeContextValue } from '../../contexts';\nimport type { TreeContextValues, TreeState } from './Tree.types';\n\nexport function useTreeContextValues_unstable(state: TreeState): TreeContextValues {\n const { openItems, level, appearance, size, requestOpenChange, requestNavigation } = state;\n /**\n * This context is created with \"@fluentui/react-context-selector\",\n * there is no sense to memoize it\n */\n const tree: TreeContextValue = {\n appearance,\n size,\n level,\n openItems,\n requestOpenChange,\n requestNavigation,\n };\n\n return { tree };\n}\n"],"mappings":";;;;;;AAGA,SAAgBA,6BAA6BA,CAACC,KAAgB;EAC5D,MAAM;IAAEC,SAAS;IAAEC,KAAK;IAAEC,UAAU;IAAEC,IAAI;IAAEC,iBAAiB;IAAEC;EAAiB,CAAE,GAAGN,KAAK;EAC1F;;;;EAIA,MAAMO,IAAI,GAAqB;IAC7BJ,UAAU;IACVC,IAAI;IACJF,KAAK;IACLD,SAAS;IACTI,iBAAiB;IACjBC;GACD;EAED,OAAO;IAAEC;EAAI,CAAE;AACjB;AAhBAC,OAAA,CAAAT,6BAAA,GAAAA,6BAAA"}
1
+ {"version":3,"sources":["useTreeContextValues.js"],"sourcesContent":["export function useTreeContextValues_unstable(state) {\n const { openItems , checkedItems , selectionMode , level , appearance , size , requestTreeResponse } = state;\n /**\n * This context is created with \"@fluentui/react-context-selector\",\n * there is no sense to memoize it\n */ const tree = {\n size,\n level,\n openItems,\n appearance,\n checkedItems,\n selectionMode,\n requestTreeResponse\n };\n return {\n tree\n };\n}\n"],"names":["useTreeContextValues_unstable","state","openItems","checkedItems","selectionMode","level","appearance","size","requestTreeResponse","tree"],"mappings":";;;;+BAAgBA;;aAAAA;;AAAT,SAASA,8BAA8BC,KAAK,EAAE;IACjD,MAAM,EAAEC,UAAS,EAAGC,aAAY,EAAGC,cAAa,EAAGC,MAAK,EAAGC,WAAU,EAAGC,KAAI,EAAGC,oBAAmB,EAAG,GAAGP;IACxG;;;GAGD,GAAG,MAAMQ,OAAO;QACXF;QACAF;QACAH;QACAI;QACAH;QACAC;QACAI;IACJ;IACA,OAAO;QACHC;IACJ;AACJ"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "useTreeNavigation", {
6
+ enumerable: true,
7
+ get: ()=>useTreeNavigation
8
+ });
9
+ const _nextTypeAheadElement = require("../../utils/nextTypeAheadElement");
10
+ const _tokens = require("../../utils/tokens");
11
+ const _treeItemFilter = require("../../utils/treeItemFilter");
12
+ const _useRovingTabIndexes = require("../../hooks/useRovingTabIndexes");
13
+ function useTreeNavigation() {
14
+ const { rove , initialize } = (0, _useRovingTabIndexes.useRovingTabIndex)(_treeItemFilter.treeItemFilter);
15
+ const getNextElement = (data, treeItemWalker)=>{
16
+ switch(data.type){
17
+ case _tokens.treeDataTypes.Click:
18
+ return data.target;
19
+ case _tokens.treeDataTypes.TypeAhead:
20
+ treeItemWalker.currentElement = data.target;
21
+ return (0, _nextTypeAheadElement.nextTypeAheadElement)(treeItemWalker, data.event.key);
22
+ case _tokens.treeDataTypes.ArrowLeft:
23
+ treeItemWalker.currentElement = data.target;
24
+ return treeItemWalker.parentElement();
25
+ case _tokens.treeDataTypes.ArrowRight:
26
+ treeItemWalker.currentElement = data.target;
27
+ return treeItemWalker.firstChild();
28
+ case _tokens.treeDataTypes.End:
29
+ treeItemWalker.currentElement = treeItemWalker.root;
30
+ return lastChildRecursive(treeItemWalker);
31
+ case _tokens.treeDataTypes.Home:
32
+ treeItemWalker.currentElement = treeItemWalker.root;
33
+ return treeItemWalker.firstChild();
34
+ case _tokens.treeDataTypes.ArrowDown:
35
+ treeItemWalker.currentElement = data.target;
36
+ return treeItemWalker.nextElement();
37
+ case _tokens.treeDataTypes.ArrowUp:
38
+ treeItemWalker.currentElement = data.target;
39
+ return treeItemWalker.previousElement();
40
+ }
41
+ };
42
+ function navigate(data, walker) {
43
+ const nextElement = getNextElement(data, walker);
44
+ if (nextElement) {
45
+ rove(nextElement);
46
+ }
47
+ }
48
+ return {
49
+ navigate,
50
+ initialize
51
+ };
52
+ }
53
+ function lastChildRecursive(walker) {
54
+ let lastElement = null;
55
+ let nextElement = null;
56
+ while(nextElement = walker.lastChild()){
57
+ lastElement = nextElement;
58
+ }
59
+ return lastElement;
60
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useTreeNavigation.js"],"sourcesContent":["import { nextTypeAheadElement } from '../../utils/nextTypeAheadElement';\nimport { treeDataTypes } from '../../utils/tokens';\nimport { treeItemFilter } from '../../utils/treeItemFilter';\nimport { useRovingTabIndex } from '../../hooks/useRovingTabIndexes';\nexport function useTreeNavigation() {\n const { rove , initialize } = useRovingTabIndex(treeItemFilter);\n const getNextElement = (data, treeItemWalker)=>{\n switch(data.type){\n case treeDataTypes.Click:\n return data.target;\n case treeDataTypes.TypeAhead:\n treeItemWalker.currentElement = data.target;\n return nextTypeAheadElement(treeItemWalker, data.event.key);\n case treeDataTypes.ArrowLeft:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.parentElement();\n case treeDataTypes.ArrowRight:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.firstChild();\n case treeDataTypes.End:\n treeItemWalker.currentElement = treeItemWalker.root;\n return lastChildRecursive(treeItemWalker);\n case treeDataTypes.Home:\n treeItemWalker.currentElement = treeItemWalker.root;\n return treeItemWalker.firstChild();\n case treeDataTypes.ArrowDown:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.nextElement();\n case treeDataTypes.ArrowUp:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.previousElement();\n }\n };\n function navigate(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 lastChildRecursive(walker) {\n let lastElement = null;\n let nextElement = null;\n while(nextElement = walker.lastChild()){\n lastElement = nextElement;\n }\n return lastElement;\n}\n"],"names":["useTreeNavigation","rove","initialize","useRovingTabIndex","treeItemFilter","getNextElement","data","treeItemWalker","type","treeDataTypes","Click","target","TypeAhead","currentElement","nextTypeAheadElement","event","key","ArrowLeft","parentElement","ArrowRight","firstChild","End","root","lastChildRecursive","Home","ArrowDown","nextElement","ArrowUp","previousElement","navigate","walker","lastElement","lastChild"],"mappings":";;;;+BAIgBA;;aAAAA;;sCAJqB;wBACP;gCACC;qCACG;AAC3B,SAASA,oBAAoB;IAChC,MAAM,EAAEC,KAAI,EAAGC,WAAU,EAAG,GAAGC,IAAAA,sCAAiB,EAACC,8BAAc;IAC/D,MAAMC,iBAAiB,CAACC,MAAMC,iBAAiB;QAC3C,OAAOD,KAAKE,IAAI;YACZ,KAAKC,qBAAa,CAACC,KAAK;gBACpB,OAAOJ,KAAKK,MAAM;YACtB,KAAKF,qBAAa,CAACG,SAAS;gBACxBL,eAAeM,cAAc,GAAGP,KAAKK,MAAM;gBAC3C,OAAOG,IAAAA,0CAAoB,EAACP,gBAAgBD,KAAKS,KAAK,CAACC,GAAG;YAC9D,KAAKP,qBAAa,CAACQ,SAAS;gBACxBV,eAAeM,cAAc,GAAGP,KAAKK,MAAM;gBAC3C,OAAOJ,eAAeW,aAAa;YACvC,KAAKT,qBAAa,CAACU,UAAU;gBACzBZ,eAAeM,cAAc,GAAGP,KAAKK,MAAM;gBAC3C,OAAOJ,eAAea,UAAU;YACpC,KAAKX,qBAAa,CAACY,GAAG;gBAClBd,eAAeM,cAAc,GAAGN,eAAee,IAAI;gBACnD,OAAOC,mBAAmBhB;YAC9B,KAAKE,qBAAa,CAACe,IAAI;gBACnBjB,eAAeM,cAAc,GAAGN,eAAee,IAAI;gBACnD,OAAOf,eAAea,UAAU;YACpC,KAAKX,qBAAa,CAACgB,SAAS;gBACxBlB,eAAeM,cAAc,GAAGP,KAAKK,MAAM;gBAC3C,OAAOJ,eAAemB,WAAW;YACrC,KAAKjB,qBAAa,CAACkB,OAAO;gBACtBpB,eAAeM,cAAc,GAAGP,KAAKK,MAAM;gBAC3C,OAAOJ,eAAeqB,eAAe;QAC7C;IACJ;IACA,SAASC,SAASvB,IAAI,EAAEwB,MAAM,EAAE;QAC5B,MAAMJ,cAAcrB,eAAeC,MAAMwB;QACzC,IAAIJ,aAAa;YACbzB,KAAKyB;QACT,CAAC;IACL;IACA,OAAO;QACHG;QACA3B;IACJ;AACJ;AACA,SAASqB,mBAAmBO,MAAM,EAAE;IAChC,IAAIC,cAAc,IAAI;IACtB,IAAIL,cAAc,IAAI;IACtB,MAAMA,cAAcI,OAAOE,SAAS,GAAG;QACnCD,cAAcL;IAClB;IACA,OAAOK;AACX"}
@@ -0,0 +1,41 @@
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
+ treeClassNames: ()=>treeClassNames,
13
+ useTreeStyles_unstable: ()=>useTreeStyles_unstable
14
+ });
15
+ const _react = require("@griffel/react");
16
+ const treeClassNames = {
17
+ root: 'fui-Tree'
18
+ };
19
+ const useStyles = /*#__PURE__*/ (0, _react["__styles"])({
20
+ root: {
21
+ mc9l5x: "f22iagw",
22
+ Beiy3e4: "f1vx9l62",
23
+ Belr9w4: "f1j0q4x9"
24
+ },
25
+ subtree: {
26
+ z8tnut: "fclwglc"
27
+ }
28
+ }, {
29
+ d: [
30
+ ".f22iagw{display:flex;}",
31
+ ".f1vx9l62{flex-direction:column;}",
32
+ ".f1j0q4x9{row-gap:var(--spacingVerticalXXS);}",
33
+ ".fclwglc{padding-top:var(--spacingVerticalXXS);}"
34
+ ]
35
+ });
36
+ const useTreeStyles_unstable = (state)=>{
37
+ const styles = useStyles();
38
+ const isSubTree = state.level > 1;
39
+ state.root.className = (0, _react.mergeClasses)(treeClassNames.root, styles.root, isSubTree && styles.subtree, state.root.className);
40
+ return state;
41
+ }; //# sourceMappingURL=useTreeStyles.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useTreeStyles.styles.js"],"sourcesContent":["import { __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const treeClassNames = {\n root: 'fui-Tree'\n};\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n mc9l5x: \"f22iagw\",\n Beiy3e4: \"f1vx9l62\",\n Belr9w4: \"f1j0q4x9\"\n },\n subtree: {\n z8tnut: \"fclwglc\"\n }\n}, {\n d: [\".f22iagw{display:flex;}\", \".f1vx9l62{flex-direction:column;}\", \".f1j0q4x9{row-gap:var(--spacingVerticalXXS);}\", \".fclwglc{padding-top:var(--spacingVerticalXXS);}\"]\n});\nexport const useTreeStyles_unstable = state => {\n const styles = useStyles();\n const isSubTree = state.level > 1;\n state.root.className = mergeClasses(treeClassNames.root, styles.root, isSubTree && styles.subtree, state.root.className);\n return state;\n};\n//# sourceMappingURL=useTreeStyles.styles.js.map"],"names":["treeClassNames","useTreeStyles_unstable","root","useStyles","__styles","mc9l5x","Beiy3e4","Belr9w4","subtree","z8tnut","d","state","styles","isSubTree","level","className","mergeClasses"],"mappings":";;;;;;;;;;;IAEaA,cAAc,MAAdA;IAeAC,sBAAsB,MAAtBA;;uBAjB0B;AAEhC,MAAMD,iBAAiB;IAC5BE,MAAM;AACR;AACA,MAAMC,YAAY,WAAW,GAAEC,IAAAA,kBAAQ,EAAC;IACtCF,MAAM;QACJG,QAAQ;QACRC,SAAS;QACTC,SAAS;IACX;IACAC,SAAS;QACPC,QAAQ;IACV;AACF,GAAG;IACDC,GAAG;QAAC;QAA2B;QAAqC;QAAiD;KAAmD;AAC1K;AACO,MAAMT,yBAAyBU,CAAAA,QAAS;IAC7C,MAAMC,SAAST;IACf,MAAMU,YAAYF,MAAMG,KAAK,GAAG;IAChCH,MAAMT,IAAI,CAACa,SAAS,GAAGC,IAAAA,mBAAY,EAAChB,eAAeE,IAAI,EAAEU,OAAOV,IAAI,EAAEW,aAAaD,OAAOJ,OAAO,EAAEG,MAAMT,IAAI,CAACa,SAAS;IACvH,OAAOJ;AACT,GACA,gDAAgD"}