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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/CHANGELOG.json +1573 -8
  2. package/CHANGELOG.md +430 -9
  3. package/LICENSE +1 -1
  4. package/dist/index.d.ts +367 -132
  5. package/lib/FlatTree.js +1 -0
  6. package/lib/FlatTree.js.map +1 -0
  7. package/lib/Tree.js +0 -1
  8. package/lib/Tree.js.map +1 -1
  9. package/lib/TreeItem.js +0 -1
  10. package/lib/TreeItem.js.map +1 -1
  11. package/lib/TreeItemLayout.js +0 -1
  12. package/lib/TreeItemLayout.js.map +1 -1
  13. package/lib/TreeItemPersonaLayout.js +0 -1
  14. package/lib/TreeItemPersonaLayout.js.map +1 -1
  15. package/lib/components/FlatTree/FlatTree.js +17 -0
  16. package/lib/components/FlatTree/FlatTree.js.map +1 -0
  17. package/lib/components/FlatTree/FlatTree.types.js +1 -0
  18. package/lib/components/FlatTree/FlatTree.types.js.map +1 -0
  19. package/lib/components/FlatTree/index.js +7 -0
  20. package/lib/components/FlatTree/index.js.map +1 -0
  21. package/lib/components/FlatTree/renderFlatTree.js +2 -0
  22. package/lib/components/FlatTree/renderFlatTree.js.map +1 -0
  23. package/lib/components/FlatTree/useFlatControllableCheckedItems.js +76 -0
  24. package/lib/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -0
  25. package/lib/components/FlatTree/useFlatTree.js +3 -0
  26. package/lib/components/FlatTree/useFlatTree.js.map +1 -0
  27. package/lib/components/FlatTree/useFlatTreeContextValues.js +2 -0
  28. package/lib/components/FlatTree/useFlatTreeContextValues.js.map +1 -0
  29. package/lib/components/FlatTree/useFlatTreeNavigation.js +74 -0
  30. package/lib/components/FlatTree/useFlatTreeNavigation.js.map +1 -0
  31. package/lib/components/FlatTree/useFlatTreeStyles.styles.js +20 -0
  32. package/lib/components/FlatTree/useFlatTreeStyles.styles.js.map +1 -0
  33. package/lib/components/FlatTree/useHeadlessFlatTree.js +124 -0
  34. package/lib/components/FlatTree/useHeadlessFlatTree.js.map +1 -0
  35. package/lib/components/Tree/Tree.js +9 -15
  36. package/lib/components/Tree/Tree.js.map +1 -1
  37. package/lib/components/Tree/Tree.types.js +1 -2
  38. package/lib/components/Tree/Tree.types.js.map +1 -1
  39. package/lib/components/Tree/index.js +2 -3
  40. package/lib/components/Tree/index.js.map +1 -1
  41. package/lib/components/Tree/renderTree.js +7 -11
  42. package/lib/components/Tree/renderTree.js.map +1 -1
  43. package/lib/components/Tree/useNestedControllableCheckedItems.js +22 -0
  44. package/lib/components/Tree/useNestedControllableCheckedItems.js.map +1 -0
  45. package/lib/components/Tree/useTree.js +63 -111
  46. package/lib/components/Tree/useTree.js.map +1 -1
  47. package/lib/components/Tree/useTreeContextValues.js +16 -24
  48. package/lib/components/Tree/useTreeContextValues.js.map +1 -1
  49. package/lib/components/Tree/useTreeNavigation.js +52 -0
  50. package/lib/components/Tree/useTreeNavigation.js.map +1 -0
  51. package/lib/components/Tree/{useTreeStyles.js → useTreeStyles.styles.js} +7 -3
  52. package/lib/components/Tree/useTreeStyles.styles.js.map +1 -0
  53. package/lib/components/TreeItem/TreeItem.js +7 -9
  54. package/lib/components/TreeItem/TreeItem.js.map +1 -1
  55. package/lib/components/TreeItem/TreeItem.types.js +0 -1
  56. package/lib/components/TreeItem/TreeItem.types.js.map +1 -1
  57. package/lib/components/TreeItem/index.js +2 -2
  58. package/lib/components/TreeItem/index.js.map +1 -1
  59. package/lib/components/TreeItem/renderTreeItem.js +7 -15
  60. package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
  61. package/lib/components/TreeItem/useTreeItem.js +161 -234
  62. package/lib/components/TreeItem/useTreeItem.js.map +1 -1
  63. package/lib/components/TreeItem/useTreeItemContextValues.js +20 -16
  64. package/lib/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  65. package/lib/components/TreeItem/useTreeItemStyles.styles.js +100 -0
  66. package/lib/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
  67. package/lib/components/TreeItemChevron.js +24 -0
  68. package/lib/components/TreeItemChevron.js.map +1 -0
  69. package/lib/components/TreeItemLayout/TreeItemLayout.js +5 -7
  70. package/lib/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  71. package/lib/components/TreeItemLayout/TreeItemLayout.types.js +1 -2
  72. package/lib/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  73. package/lib/components/TreeItemLayout/index.js +1 -2
  74. package/lib/components/TreeItemLayout/index.js.map +1 -1
  75. package/lib/components/TreeItemLayout/renderTreeItemLayout.js +8 -13
  76. package/lib/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  77. package/lib/components/TreeItemLayout/useTreeItemLayout.js +109 -40
  78. package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  79. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +237 -0
  80. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
  81. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +6 -8
  82. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  83. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +1 -2
  84. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  85. package/lib/components/TreeItemPersonaLayout/index.js +1 -2
  86. package/lib/components/TreeItemPersonaLayout/index.js.map +1 -1
  87. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +10 -15
  88. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  89. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +41 -48
  90. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  91. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +9 -10
  92. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  93. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +210 -0
  94. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
  95. package/lib/contexts/index.js +0 -1
  96. package/lib/contexts/index.js.map +1 -1
  97. package/lib/contexts/treeContext.js +13 -14
  98. package/lib/contexts/treeContext.js.map +1 -1
  99. package/lib/contexts/treeItemContext.js +16 -8
  100. package/lib/contexts/treeItemContext.js.map +1 -1
  101. package/lib/hooks/useControllableOpenItems.js +28 -0
  102. package/lib/hooks/useControllableOpenItems.js.map +1 -0
  103. package/lib/hooks/useRootTree.js +147 -0
  104. package/lib/hooks/useRootTree.js.map +1 -0
  105. package/lib/hooks/useRovingTabIndexes.js +30 -49
  106. package/lib/hooks/useRovingTabIndexes.js.map +1 -1
  107. package/lib/hooks/useSubtree.js +41 -0
  108. package/lib/hooks/useSubtree.js.map +1 -0
  109. package/lib/index.js +3 -4
  110. package/lib/index.js.map +1 -1
  111. package/lib/utils/ImmutableMap.js +41 -0
  112. package/lib/utils/ImmutableMap.js.map +1 -0
  113. package/lib/utils/ImmutableSet.js +42 -33
  114. package/lib/utils/ImmutableSet.js.map +1 -1
  115. package/lib/utils/assert.js +4 -5
  116. package/lib/utils/assert.js.map +1 -1
  117. package/lib/utils/createCheckedItems.js +18 -0
  118. package/lib/utils/createCheckedItems.js.map +1 -0
  119. package/lib/utils/createHTMLElementWalker.js +67 -0
  120. package/lib/utils/createHTMLElementWalker.js.map +1 -0
  121. package/lib/utils/createHeadlessTree.js +189 -0
  122. package/lib/utils/createHeadlessTree.js.map +1 -0
  123. package/lib/utils/createOpenItems.js +10 -0
  124. package/lib/utils/createOpenItems.js.map +1 -0
  125. package/lib/utils/flattenTree.js +15 -49
  126. package/lib/utils/flattenTree.js.map +1 -1
  127. package/lib/utils/getTreeItemValueFromElement.js +4 -0
  128. package/lib/utils/getTreeItemValueFromElement.js.map +1 -0
  129. package/lib/utils/nextTypeAheadElement.js +11 -12
  130. package/lib/utils/nextTypeAheadElement.js.map +1 -1
  131. package/lib/utils/normalizeOpenItems.js +6 -5
  132. package/lib/utils/normalizeOpenItems.js.map +1 -1
  133. package/lib/utils/tokens.js +14 -14
  134. package/lib/utils/tokens.js.map +1 -1
  135. package/lib/utils/treeItemFilter.js +2 -3
  136. package/lib/utils/treeItemFilter.js.map +1 -1
  137. package/lib-commonjs/FlatTree.js +6 -0
  138. package/lib-commonjs/FlatTree.js.map +1 -0
  139. package/lib-commonjs/Tree.js +0 -3
  140. package/lib-commonjs/Tree.js.map +1 -1
  141. package/lib-commonjs/TreeItem.js +0 -3
  142. package/lib-commonjs/TreeItem.js.map +1 -1
  143. package/lib-commonjs/TreeItemLayout.js +0 -3
  144. package/lib-commonjs/TreeItemLayout.js.map +1 -1
  145. package/lib-commonjs/TreeItemPersonaLayout.js +0 -3
  146. package/lib-commonjs/TreeItemPersonaLayout.js.map +1 -1
  147. package/lib-commonjs/components/FlatTree/FlatTree.js +21 -0
  148. package/lib-commonjs/components/FlatTree/FlatTree.js.map +1 -0
  149. package/lib-commonjs/components/FlatTree/FlatTree.types.js +4 -0
  150. package/lib-commonjs/components/FlatTree/FlatTree.types.js.map +1 -0
  151. package/lib-commonjs/components/FlatTree/index.js +12 -0
  152. package/lib-commonjs/components/FlatTree/index.js.map +1 -0
  153. package/lib-commonjs/components/FlatTree/renderFlatTree.js +10 -0
  154. package/lib-commonjs/components/FlatTree/renderFlatTree.js.map +1 -0
  155. package/lib-commonjs/components/FlatTree/useFlatControllableCheckedItems.js +91 -0
  156. package/lib-commonjs/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -0
  157. package/lib-commonjs/components/FlatTree/useFlatTree.js +12 -0
  158. package/lib-commonjs/components/FlatTree/useFlatTree.js.map +1 -0
  159. package/lib-commonjs/components/FlatTree/useFlatTreeContextValues.js +10 -0
  160. package/lib-commonjs/components/FlatTree/useFlatTreeContextValues.js.map +1 -0
  161. package/lib-commonjs/components/FlatTree/useFlatTreeNavigation.js +82 -0
  162. package/lib-commonjs/components/FlatTree/useFlatTreeNavigation.js.map +1 -0
  163. package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js +36 -0
  164. package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js.map +1 -0
  165. package/lib-commonjs/components/FlatTree/useHeadlessFlatTree.js +121 -0
  166. package/lib-commonjs/components/FlatTree/useHeadlessFlatTree.js.map +1 -0
  167. package/lib-commonjs/components/Tree/Tree.js +4 -6
  168. package/lib-commonjs/components/Tree/Tree.js.map +1 -1
  169. package/lib-commonjs/components/Tree/Tree.types.js +0 -5
  170. package/lib-commonjs/components/Tree/Tree.types.js.map +1 -1
  171. package/lib-commonjs/components/Tree/index.js +2 -5
  172. package/lib-commonjs/components/Tree/index.js.map +1 -1
  173. package/lib-commonjs/components/Tree/renderTree.js +6 -9
  174. package/lib-commonjs/components/Tree/renderTree.js.map +1 -1
  175. package/lib-commonjs/components/Tree/useNestedControllableCheckedItems.js +37 -0
  176. package/lib-commonjs/components/Tree/useNestedControllableCheckedItems.js.map +1 -0
  177. package/lib-commonjs/components/Tree/useTree.js +53 -85
  178. package/lib-commonjs/components/Tree/useTree.js.map +1 -1
  179. package/lib-commonjs/components/Tree/useTreeContextValues.js +9 -10
  180. package/lib-commonjs/components/Tree/useTreeContextValues.js.map +1 -1
  181. package/lib-commonjs/components/Tree/useTreeNavigation.js +60 -0
  182. package/lib-commonjs/components/Tree/useTreeNavigation.js.map +1 -0
  183. package/lib-commonjs/components/Tree/{useTreeStyles.js → useTreeStyles.styles.js} +10 -7
  184. package/lib-commonjs/components/Tree/useTreeStyles.styles.js.map +1 -0
  185. package/lib-commonjs/components/TreeItem/TreeItem.js +3 -5
  186. package/lib-commonjs/components/TreeItem/TreeItem.js.map +1 -1
  187. package/lib-commonjs/components/TreeItem/TreeItem.types.js +0 -3
  188. package/lib-commonjs/components/TreeItem/TreeItem.types.js.map +1 -1
  189. package/lib-commonjs/components/TreeItem/index.js +2 -4
  190. package/lib-commonjs/components/TreeItem/index.js.map +1 -1
  191. package/lib-commonjs/components/TreeItem/renderTreeItem.js +6 -12
  192. package/lib-commonjs/components/TreeItem/renderTreeItem.js.map +1 -1
  193. package/lib-commonjs/components/TreeItem/useTreeItem.js +111 -170
  194. package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
  195. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js +19 -18
  196. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  197. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js +202 -0
  198. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
  199. package/lib-commonjs/components/TreeItemChevron.js +33 -0
  200. package/lib-commonjs/components/TreeItemChevron.js.map +1 -0
  201. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js +3 -5
  202. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  203. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js +0 -3
  204. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  205. package/lib-commonjs/components/TreeItemLayout/index.js +1 -4
  206. package/lib-commonjs/components/TreeItemLayout/index.js.map +1 -1
  207. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js +8 -9
  208. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  209. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +92 -18
  210. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  211. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +392 -0
  212. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
  213. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +3 -5
  214. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  215. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +0 -3
  216. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  217. package/lib-commonjs/components/TreeItemPersonaLayout/index.js +1 -4
  218. package/lib-commonjs/components/TreeItemPersonaLayout/index.js.map +1 -1
  219. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +9 -10
  220. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  221. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +29 -26
  222. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  223. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +1 -3
  224. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  225. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +379 -0
  226. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
  227. package/lib-commonjs/contexts/index.js +0 -3
  228. package/lib-commonjs/contexts/index.js.map +1 -1
  229. package/lib-commonjs/contexts/treeContext.js +7 -7
  230. package/lib-commonjs/contexts/treeContext.js.map +1 -1
  231. package/lib-commonjs/contexts/treeItemContext.js +15 -6
  232. package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
  233. package/lib-commonjs/hooks/useControllableOpenItems.js +39 -0
  234. package/lib-commonjs/hooks/useControllableOpenItems.js.map +1 -0
  235. package/lib-commonjs/hooks/useRootTree.js +151 -0
  236. package/lib-commonjs/hooks/useRootTree.js.map +1 -0
  237. package/lib-commonjs/hooks/useRovingTabIndexes.js +9 -31
  238. package/lib-commonjs/hooks/useRovingTabIndexes.js.map +1 -1
  239. package/lib-commonjs/hooks/useSubtree.js +45 -0
  240. package/lib-commonjs/hooks/useSubtree.js.map +1 -0
  241. package/lib-commonjs/index.js +11 -7
  242. package/lib-commonjs/index.js.map +1 -1
  243. package/lib-commonjs/utils/ImmutableMap.js +49 -0
  244. package/lib-commonjs/utils/ImmutableMap.js.map +1 -0
  245. package/lib-commonjs/utils/ImmutableSet.js +28 -20
  246. package/lib-commonjs/utils/ImmutableSet.js.map +1 -1
  247. package/lib-commonjs/utils/assert.js +1 -3
  248. package/lib-commonjs/utils/assert.js.map +1 -1
  249. package/lib-commonjs/utils/createCheckedItems.js +26 -0
  250. package/lib-commonjs/utils/createCheckedItems.js.map +1 -0
  251. package/lib-commonjs/{hooks/useHTMLElementWalker.js → utils/createHTMLElementWalker.js} +3 -27
  252. package/lib-commonjs/utils/createHTMLElementWalker.js.map +1 -0
  253. package/lib-commonjs/utils/createHeadlessTree.js +203 -0
  254. package/lib-commonjs/utils/createHeadlessTree.js.map +1 -0
  255. package/lib-commonjs/utils/createOpenItems.js +18 -0
  256. package/lib-commonjs/utils/createOpenItems.js.map +1 -0
  257. package/lib-commonjs/utils/flattenTree.js +4 -40
  258. package/lib-commonjs/utils/flattenTree.js.map +1 -1
  259. package/lib-commonjs/utils/getTreeItemValueFromElement.js +18 -0
  260. package/lib-commonjs/utils/getTreeItemValueFromElement.js.map +1 -0
  261. package/lib-commonjs/utils/nextTypeAheadElement.js +1 -3
  262. package/lib-commonjs/utils/nextTypeAheadElement.js.map +1 -1
  263. package/lib-commonjs/utils/normalizeOpenItems.js +1 -3
  264. package/lib-commonjs/utils/normalizeOpenItems.js.map +1 -1
  265. package/lib-commonjs/utils/tokens.js +12 -13
  266. package/lib-commonjs/utils/tokens.js.map +1 -1
  267. package/lib-commonjs/utils/treeItemFilter.js +1 -3
  268. package/lib-commonjs/utils/treeItemFilter.js.map +1 -1
  269. package/package.json +31 -31
  270. package/.swcrc +0 -30
  271. package/lib/components/Tree/useTreeStyles.js.map +0 -1
  272. package/lib/components/TreeItem/useTreeItemStyles.js +0 -203
  273. package/lib/components/TreeItem/useTreeItemStyles.js.map +0 -1
  274. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -98
  275. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
  276. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js +0 -115
  277. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
  278. package/lib/hooks/index.js +0 -4
  279. package/lib/hooks/index.js.map +0 -1
  280. package/lib/hooks/useFlatTree.js +0 -77
  281. package/lib/hooks/useFlatTree.js.map +0 -1
  282. package/lib/hooks/useFlatTreeNavigation.js +0 -74
  283. package/lib/hooks/useFlatTreeNavigation.js.map +0 -1
  284. package/lib/hooks/useHTMLElementWalker.js +0 -80
  285. package/lib/hooks/useHTMLElementWalker.js.map +0 -1
  286. package/lib/hooks/useNestedTreeNavigation.js +0 -59
  287. package/lib/hooks/useNestedTreeNavigation.js.map +0 -1
  288. package/lib/hooks/useOpenItemsState.js +0 -22
  289. package/lib/hooks/useOpenItemsState.js.map +0 -1
  290. package/lib/utils/createFlatTreeItems.js +0 -109
  291. package/lib/utils/createFlatTreeItems.js.map +0 -1
  292. package/lib-commonjs/components/Tree/useTreeStyles.js.map +0 -1
  293. package/lib-commonjs/components/TreeItem/useTreeItemStyles.js +0 -375
  294. package/lib-commonjs/components/TreeItem/useTreeItemStyles.js.map +0 -1
  295. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -143
  296. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
  297. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js +0 -186
  298. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
  299. package/lib-commonjs/hooks/index.js +0 -11
  300. package/lib-commonjs/hooks/index.js.map +0 -1
  301. package/lib-commonjs/hooks/useFlatTree.js +0 -86
  302. package/lib-commonjs/hooks/useFlatTree.js.map +0 -1
  303. package/lib-commonjs/hooks/useFlatTreeNavigation.js +0 -82
  304. package/lib-commonjs/hooks/useFlatTreeNavigation.js.map +0 -1
  305. package/lib-commonjs/hooks/useHTMLElementWalker.js.map +0 -1
  306. package/lib-commonjs/hooks/useNestedTreeNavigation.js +0 -69
  307. package/lib-commonjs/hooks/useNestedTreeNavigation.js.map +0 -1
  308. package/lib-commonjs/hooks/useOpenItemsState.js +0 -39
  309. package/lib-commonjs/hooks/useOpenItemsState.js.map +0 -1
  310. package/lib-commonjs/utils/createFlatTreeItems.js +0 -126
  311. package/lib-commonjs/utils/createFlatTreeItems.js.map +0 -1
@@ -0,0 +1,203 @@
1
+ /**
2
+ * creates a list of virtual tree items
3
+ * and provides a map to access each item by id
4
+ */ "use strict";
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ function _export(target, all) {
9
+ for(var name in all)Object.defineProperty(target, name, {
10
+ enumerable: true,
11
+ get: all[name]
12
+ });
13
+ }
14
+ _export(exports, {
15
+ createHeadlessTree: ()=>createHeadlessTree,
16
+ headlessTreeRootId: ()=>headlessTreeRootId
17
+ });
18
+ function createHeadlessTree(initialProps = []) {
19
+ const root = createHeadlessTreeRootItem();
20
+ const itemsPerValue = new Map([
21
+ [
22
+ root.value,
23
+ root
24
+ ]
25
+ ]);
26
+ var _itemsPerValue_get_parentValue, _itemsPerValue_get;
27
+ const headlessTree = {
28
+ root,
29
+ get size () {
30
+ return itemsPerValue.size;
31
+ },
32
+ getParent: (key)=>{
33
+ var _itemsPerValue_get1;
34
+ return (_itemsPerValue_get = itemsPerValue.get((_itemsPerValue_get_parentValue = (_itemsPerValue_get1 = itemsPerValue.get(key)) === null || _itemsPerValue_get1 === void 0 ? void 0 : _itemsPerValue_get1.parentValue) !== null && _itemsPerValue_get_parentValue !== void 0 ? _itemsPerValue_get_parentValue : root.value)) !== null && _itemsPerValue_get !== void 0 ? _itemsPerValue_get : root;
35
+ },
36
+ get: (key)=>itemsPerValue.get(key),
37
+ has: (key)=>itemsPerValue.has(key),
38
+ add (props) {
39
+ const { parentValue =headlessTreeRootId , ...propsWithoutParentValue } = props;
40
+ const parentItem = itemsPerValue.get(parentValue);
41
+ if (!parentItem) {
42
+ if (process.env.NODE_ENV === 'development') {
43
+ // eslint-disable-next-line no-console
44
+ console.error(`HeadlessTree: item ${props.value} is wrongly positioned, did you properly ordered provided item props? make sure provided items are organized, parents should come before children`);
45
+ }
46
+ return;
47
+ }
48
+ parentItem.itemType = 'branch';
49
+ var _propsWithoutParentValue_itemType;
50
+ const item = {
51
+ value: props.value,
52
+ getTreeItemProps: ()=>({
53
+ ...propsWithoutParentValue,
54
+ 'aria-level': item.level,
55
+ 'aria-posinset': item.position,
56
+ 'aria-setsize': parentItem.childrenValues.length,
57
+ itemType: item.itemType
58
+ }),
59
+ itemType: (_propsWithoutParentValue_itemType = propsWithoutParentValue.itemType) !== null && _propsWithoutParentValue_itemType !== void 0 ? _propsWithoutParentValue_itemType : 'leaf',
60
+ level: parentItem.level + 1,
61
+ parentValue,
62
+ childrenValues: [],
63
+ index: -1,
64
+ position: parentItem.childrenValues.push(props.value)
65
+ };
66
+ itemsPerValue.set(item.value, item);
67
+ },
68
+ // TODO: eventually it would be nice to have this method exported for the user to modify
69
+ // the internal state of the virtual tree
70
+ // remove(value) {
71
+ // const itemToBeRemoved = itemsPerValue.get(value);
72
+ // if (!itemToBeRemoved) {
73
+ // return;
74
+ // }
75
+ // const parentItem = headlessTree.getParent(value);
76
+ // parentItem.childrenValues.splice(itemToBeRemoved.position, 1);
77
+ // itemsPerValue.delete(value);
78
+ // if (parentItem.childrenValues.length === 0) {
79
+ // parentItem.itemType = 'leaf';
80
+ // }
81
+ // for (let index = itemToBeRemoved.position; index < parentItem.childrenValues.length; index++) {
82
+ // const child = itemsPerValue.get(parentItem.childrenValues[index]);
83
+ // if (child) {
84
+ // child.position = index + 1;
85
+ // }
86
+ // }
87
+ // for (const descendant of HeadlessTreeSubtreeGenerator(value, headlessTree)) {
88
+ // itemsPerValue.delete(descendant.value);
89
+ // }
90
+ // },
91
+ subtree: (key)=>HeadlessTreeSubtreeGenerator(key, headlessTree),
92
+ children: (key)=>HeadlessTreeChildrenGenerator(key, headlessTree),
93
+ ancestors: (key)=>HeadlessTreeAncestorsGenerator(key, headlessTree),
94
+ visibleItems: (openItems)=>HeadlessTreeVisibleItemsGenerator(openItems, headlessTree)
95
+ };
96
+ initialProps.forEach(headlessTree.add);
97
+ return headlessTree;
98
+ }
99
+ const headlessTreeRootId = '__fuiHeadlessTreeRoot';
100
+ function createHeadlessTreeRootItem() {
101
+ return {
102
+ parentValue: undefined,
103
+ value: headlessTreeRootId,
104
+ itemType: 'branch',
105
+ getTreeItemProps: ()=>{
106
+ if (process.env.NODE_ENV !== 'production') {
107
+ // eslint-disable-next-line no-console
108
+ console.error('HeadlessTree: internal error, trying to access treeitem props from invalid root element');
109
+ }
110
+ return {
111
+ id: headlessTreeRootId,
112
+ value: headlessTreeRootId,
113
+ 'aria-setsize': -1,
114
+ 'aria-level': -1,
115
+ 'aria-posinset': -1,
116
+ itemType: 'branch'
117
+ };
118
+ },
119
+ childrenValues: [],
120
+ get index () {
121
+ if (process.env.NODE_ENV !== 'production') {
122
+ // eslint-disable-next-line no-console
123
+ console.error('HeadlessTree: internal error, trying to access treeitem props from invalid root element');
124
+ }
125
+ return -1;
126
+ },
127
+ get position () {
128
+ if (process.env.NODE_ENV !== 'production') {
129
+ // eslint-disable-next-line no-console
130
+ console.error('HeadlessTree: internal error, trying to access treeitem props from invalid root element');
131
+ }
132
+ return -1;
133
+ },
134
+ level: 0
135
+ };
136
+ }
137
+ /**
138
+ * Generator that returns all subtree of a given virtual tree item
139
+ * @param key the key of the item to get the subtree from
140
+ */ // eslint-disable-next-line @typescript-eslint/naming-convention
141
+ function* HeadlessTreeSubtreeGenerator(key, virtualTreeItems) {
142
+ const item = virtualTreeItems.get(key);
143
+ if (!item || item.childrenValues.length === 0) {
144
+ return;
145
+ }
146
+ for (const childValue of item.childrenValues){
147
+ yield virtualTreeItems.get(childValue);
148
+ yield* HeadlessTreeSubtreeGenerator(childValue, virtualTreeItems);
149
+ }
150
+ }
151
+ /**
152
+ * Generator that returns all children of a given virtual tree item
153
+ * @param key the key of the item to get the children from
154
+ */ // eslint-disable-next-line @typescript-eslint/naming-convention
155
+ function* HeadlessTreeChildrenGenerator(key, virtualTreeItems) {
156
+ const item = virtualTreeItems.get(key);
157
+ if (!item || item.childrenValues.length === 0) {
158
+ return;
159
+ }
160
+ for (const childValue of item.childrenValues){
161
+ yield virtualTreeItems.get(childValue);
162
+ }
163
+ }
164
+ /**
165
+ * Generator that returns all ancestors of a given virtual tree item
166
+ * @param key the key of the item to get the children from
167
+ */ // eslint-disable-next-line @typescript-eslint/naming-convention
168
+ function* HeadlessTreeAncestorsGenerator(key, virtualTreeItems) {
169
+ let parent = virtualTreeItems.getParent(key);
170
+ while(parent !== virtualTreeItems.root){
171
+ yield parent;
172
+ parent = virtualTreeItems.getParent(parent.value);
173
+ }
174
+ }
175
+ /**
176
+ * Generator that returns all visible items of a given virtual tree
177
+ * @param openItems the open items of the tree
178
+ */ // eslint-disable-next-line @typescript-eslint/naming-convention
179
+ function* HeadlessTreeVisibleItemsGenerator(openItems, virtualTreeItems) {
180
+ let index = 0;
181
+ for (const item of HeadlessTreeSubtreeGenerator(virtualTreeItems.root.value, virtualTreeItems)){
182
+ if (isItemVisible(item, openItems, virtualTreeItems)) {
183
+ item.index = index++;
184
+ yield item;
185
+ }
186
+ }
187
+ }
188
+ function isItemVisible(item, openItems, virtualTreeItems) {
189
+ if (item.level === 1) {
190
+ return true;
191
+ }
192
+ while(item.parentValue && item.parentValue !== virtualTreeItems.root.value){
193
+ if (!openItems.has(item.parentValue)) {
194
+ return false;
195
+ }
196
+ const parent = virtualTreeItems.get(item.parentValue);
197
+ if (!parent) {
198
+ return false;
199
+ }
200
+ item = parent;
201
+ }
202
+ return true;
203
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["createHeadlessTree.js"],"sourcesContent":["/**\n * creates a list of virtual tree items\n * and provides a map to access each item by id\n */ export function createHeadlessTree(initialProps = []) {\n const root = createHeadlessTreeRootItem();\n const itemsPerValue = new Map([\n [\n root.value,\n root\n ]\n ]);\n var _itemsPerValue_get_parentValue, _itemsPerValue_get;\n const headlessTree = {\n root,\n get size () {\n return itemsPerValue.size;\n },\n getParent: (key)=>{\n var _itemsPerValue_get1;\n return (_itemsPerValue_get = itemsPerValue.get((_itemsPerValue_get_parentValue = (_itemsPerValue_get1 = itemsPerValue.get(key)) === null || _itemsPerValue_get1 === void 0 ? void 0 : _itemsPerValue_get1.parentValue) !== null && _itemsPerValue_get_parentValue !== void 0 ? _itemsPerValue_get_parentValue : root.value)) !== null && _itemsPerValue_get !== void 0 ? _itemsPerValue_get : root;\n },\n get: (key)=>itemsPerValue.get(key),\n has: (key)=>itemsPerValue.has(key),\n add (props) {\n const { parentValue =headlessTreeRootId , ...propsWithoutParentValue } = props;\n const parentItem = itemsPerValue.get(parentValue);\n if (!parentItem) {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.error(`HeadlessTree: item ${props.value} is wrongly positioned, did you properly ordered provided item props? make sure provided items are organized, parents should come before children`);\n }\n return;\n }\n parentItem.itemType = 'branch';\n var _propsWithoutParentValue_itemType;\n const item = {\n value: props.value,\n getTreeItemProps: ()=>({\n ...propsWithoutParentValue,\n 'aria-level': item.level,\n 'aria-posinset': item.position,\n 'aria-setsize': parentItem.childrenValues.length,\n itemType: item.itemType\n }),\n itemType: (_propsWithoutParentValue_itemType = propsWithoutParentValue.itemType) !== null && _propsWithoutParentValue_itemType !== void 0 ? _propsWithoutParentValue_itemType : 'leaf',\n level: parentItem.level + 1,\n parentValue,\n childrenValues: [],\n index: -1,\n position: parentItem.childrenValues.push(props.value)\n };\n itemsPerValue.set(item.value, item);\n },\n // TODO: eventually it would be nice to have this method exported for the user to modify\n // the internal state of the virtual tree\n // remove(value) {\n // const itemToBeRemoved = itemsPerValue.get(value);\n // if (!itemToBeRemoved) {\n // return;\n // }\n // const parentItem = headlessTree.getParent(value);\n // parentItem.childrenValues.splice(itemToBeRemoved.position, 1);\n // itemsPerValue.delete(value);\n // if (parentItem.childrenValues.length === 0) {\n // parentItem.itemType = 'leaf';\n // }\n // for (let index = itemToBeRemoved.position; index < parentItem.childrenValues.length; index++) {\n // const child = itemsPerValue.get(parentItem.childrenValues[index]);\n // if (child) {\n // child.position = index + 1;\n // }\n // }\n // for (const descendant of HeadlessTreeSubtreeGenerator(value, headlessTree)) {\n // itemsPerValue.delete(descendant.value);\n // }\n // },\n subtree: (key)=>HeadlessTreeSubtreeGenerator(key, headlessTree),\n children: (key)=>HeadlessTreeChildrenGenerator(key, headlessTree),\n ancestors: (key)=>HeadlessTreeAncestorsGenerator(key, headlessTree),\n visibleItems: (openItems)=>HeadlessTreeVisibleItemsGenerator(openItems, headlessTree)\n };\n initialProps.forEach(headlessTree.add);\n return headlessTree;\n}\nexport const headlessTreeRootId = '__fuiHeadlessTreeRoot';\nfunction createHeadlessTreeRootItem() {\n return {\n parentValue: undefined,\n value: headlessTreeRootId,\n itemType: 'branch',\n getTreeItemProps: ()=>{\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error('HeadlessTree: internal error, trying to access treeitem props from invalid root element');\n }\n return {\n id: headlessTreeRootId,\n value: headlessTreeRootId,\n 'aria-setsize': -1,\n 'aria-level': -1,\n 'aria-posinset': -1,\n itemType: 'branch'\n };\n },\n childrenValues: [],\n get index () {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error('HeadlessTree: internal error, trying to access treeitem props from invalid root element');\n }\n return -1;\n },\n get position () {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error('HeadlessTree: internal error, trying to access treeitem props from invalid root element');\n }\n return -1;\n },\n level: 0\n };\n}\n/**\n * Generator that returns all subtree of a given virtual tree item\n * @param key the key of the item to get the subtree from\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\nfunction* HeadlessTreeSubtreeGenerator(key, virtualTreeItems) {\n const item = virtualTreeItems.get(key);\n if (!item || item.childrenValues.length === 0) {\n return;\n }\n for (const childValue of item.childrenValues){\n yield virtualTreeItems.get(childValue);\n yield* HeadlessTreeSubtreeGenerator(childValue, virtualTreeItems);\n }\n}\n/**\n * Generator that returns all children of a given virtual tree item\n * @param key the key of the item to get the children from\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\nfunction* HeadlessTreeChildrenGenerator(key, virtualTreeItems) {\n const item = virtualTreeItems.get(key);\n if (!item || item.childrenValues.length === 0) {\n return;\n }\n for (const childValue of item.childrenValues){\n yield virtualTreeItems.get(childValue);\n }\n}\n/**\n * Generator that returns all ancestors of a given virtual tree item\n * @param key the key of the item to get the children from\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\nfunction* HeadlessTreeAncestorsGenerator(key, virtualTreeItems) {\n let parent = virtualTreeItems.getParent(key);\n while(parent !== virtualTreeItems.root){\n yield parent;\n parent = virtualTreeItems.getParent(parent.value);\n }\n}\n/**\n * Generator that returns all visible items of a given virtual tree\n * @param openItems the open items of the tree\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\nfunction* HeadlessTreeVisibleItemsGenerator(openItems, virtualTreeItems) {\n let index = 0;\n for (const item of HeadlessTreeSubtreeGenerator(virtualTreeItems.root.value, virtualTreeItems)){\n if (isItemVisible(item, openItems, virtualTreeItems)) {\n item.index = index++;\n yield item;\n }\n }\n}\nfunction isItemVisible(item, openItems, virtualTreeItems) {\n if (item.level === 1) {\n return true;\n }\n while(item.parentValue && item.parentValue !== virtualTreeItems.root.value){\n if (!openItems.has(item.parentValue)) {\n return false;\n }\n const parent = virtualTreeItems.get(item.parentValue);\n if (!parent) {\n return false;\n }\n item = parent;\n }\n return true;\n}\n"],"names":["createHeadlessTree","headlessTreeRootId","initialProps","root","createHeadlessTreeRootItem","itemsPerValue","Map","value","_itemsPerValue_get_parentValue","_itemsPerValue_get","headlessTree","size","getParent","key","_itemsPerValue_get1","get","parentValue","has","add","props","propsWithoutParentValue","parentItem","process","env","NODE_ENV","console","error","itemType","_propsWithoutParentValue_itemType","item","getTreeItemProps","level","position","childrenValues","length","index","push","set","subtree","HeadlessTreeSubtreeGenerator","children","HeadlessTreeChildrenGenerator","ancestors","HeadlessTreeAncestorsGenerator","visibleItems","openItems","HeadlessTreeVisibleItemsGenerator","forEach","undefined","id","virtualTreeItems","childValue","parent","isItemVisible"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "createOpenItems", {
6
+ enumerable: true,
7
+ get: ()=>createOpenItems
8
+ });
9
+ const _immutableSet = require("./ImmutableSet");
10
+ function createOpenItems(iterable) {
11
+ if (iterable === undefined) {
12
+ return _immutableSet.ImmutableSet.empty;
13
+ }
14
+ if (_immutableSet.ImmutableSet.isImmutableSet(iterable)) {
15
+ return iterable;
16
+ }
17
+ return _immutableSet.ImmutableSet.create(iterable);
18
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["createOpenItems.js"],"sourcesContent":["import { ImmutableSet } from './ImmutableSet';\nexport function createOpenItems(iterable) {\n if (iterable === undefined) {\n return ImmutableSet.empty;\n }\n if (ImmutableSet.isImmutableSet(iterable)) {\n return iterable;\n }\n return ImmutableSet.create(iterable);\n}\n"],"names":["createOpenItems","iterable","undefined","ImmutableSet","empty","isImmutableSet","create"],"mappings":";;;;+BACgBA;;aAAAA;;8BADa;AACtB,SAASA,gBAAgBC,QAAQ,EAAE;IACtC,IAAIA,aAAaC,WAAW;QACxB,OAAOC,0BAAY,CAACC,KAAK;IAC7B,CAAC;IACD,IAAID,0BAAY,CAACE,cAAc,CAACJ,WAAW;QACvC,OAAOA;IACX,CAAC;IACD,OAAOE,0BAAY,CAACG,MAAM,CAACL;AAC/B"}
@@ -2,29 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
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
- flattenTree_unstable: ()=>flattenTree_unstable,
13
- flattenTreeFromElement: ()=>flattenTreeFromElement
5
+ Object.defineProperty(exports, "flattenTree_unstable", {
6
+ enumerable: true,
7
+ get: ()=>flattenTree_unstable
14
8
  });
15
- const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
16
- const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
17
- let count = 1;
18
9
  function flattenTreeRecursive(items, parent, level = 1) {
19
10
  return items.reduce((acc, { subtree , ...item }, index)=>{
20
- var _item_id;
21
11
  const flatTreeItem = {
22
12
  'aria-level': level,
23
13
  'aria-posinset': index + 1,
24
14
  'aria-setsize': items.length,
25
- parentId: parent === null || parent === void 0 ? void 0 : parent.id,
26
- id: (_item_id = item.id) !== null && _item_id !== void 0 ? _item_id : `fui-FlatTreeItem-${count++}`,
27
- leaf: subtree === undefined,
15
+ parentValue: parent === null || parent === void 0 ? void 0 : parent.value,
28
16
  ...item
29
17
  };
30
18
  acc.push(flatTreeItem);
@@ -35,27 +23,3 @@ function flattenTreeRecursive(items, parent, level = 1) {
35
23
  }, []);
36
24
  }
37
25
  const flattenTree_unstable = (items)=>flattenTreeRecursive(items);
38
- const flattenTreeFromElement = (root, parent, level = 1)=>{
39
- const children = _react.Children.toArray(root.props.children);
40
- return children.reduce((acc, curr, index)=>{
41
- const [content, subtree] = _react.Children.toArray(curr.props.children);
42
- var _curr_props_id;
43
- const flatTreeItem = {
44
- 'aria-level': level,
45
- 'aria-posinset': index + 1,
46
- 'aria-setsize': children.length,
47
- parentId: parent === null || parent === void 0 ? void 0 : parent.id,
48
- id: (_curr_props_id = curr.props.id) !== null && _curr_props_id !== void 0 ? _curr_props_id : `fui-FlatTreeItem-${count++}`,
49
- leaf: subtree === undefined,
50
- ...curr.props,
51
- children: content
52
- };
53
- acc.push(flatTreeItem);
54
- if (subtree !== undefined) {
55
- acc.push(...flattenTreeFromElement(subtree, flatTreeItem, level + 1));
56
- }
57
- return acc;
58
- }, []);
59
- }; //# sourceMappingURL=flattenTree.js.map
60
-
61
- //# sourceMappingURL=flattenTree.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/utils/flattenTree.js"],"sourcesContent":["import * as React from 'react';\nlet count = 1;\nfunction flattenTreeRecursive(items, parent, level = 1) {\n return items.reduce((acc, {\n subtree,\n ...item\n }, index) => {\n var _item_id;\n const flatTreeItem = {\n 'aria-level': level,\n 'aria-posinset': index + 1,\n 'aria-setsize': items.length,\n parentId: parent === null || parent === void 0 ? void 0 : parent.id,\n id: (_item_id = item.id) !== null && _item_id !== void 0 ? _item_id : `fui-FlatTreeItem-${count++}`,\n leaf: subtree === undefined,\n ...item\n };\n acc.push(flatTreeItem);\n if (subtree !== undefined) {\n acc.push(...flattenTreeRecursive(subtree, flatTreeItem, level + 1));\n }\n return acc;\n }, []);\n}\n/**\n * Converts a nested structure to a flat one which can be consumed by `useFlatTreeItems`\n * @example\n * ```tsx\n * const defaultItems = flattenTree_unstable([\n * {\n * children: <TreeItemLayout>level 1, item 1</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 2, item 1</TreeItemLayout>,\n * },\n * {\n * children: <TreeItemLayout>level 2, item 2</TreeItemLayout>,\n * },\n * {\n * children: <TreeItemLayout>level 2, item 3</TreeItemLayout>,\n * },\n * ],\n * },\n * {\n * children: <TreeItemLayout>level 1, item 2</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 2, item 1</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 3, item 1</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 4, item 1</TreeItemLayout>,\n * },\n * ],\n * },\n * ],\n * },\n * ],\n * },\n * ]);\n * ```\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\nexport const flattenTree_unstable = items => flattenTreeRecursive(items);\n/**\n * @internal\n */\nexport const flattenTreeFromElement = (root, parent, level = 1) => {\n const children = React.Children.toArray(root.props.children);\n return children.reduce((acc, curr, index) => {\n const [content, subtree] = React.Children.toArray(curr.props.children);\n var _curr_props_id;\n const flatTreeItem = {\n 'aria-level': level,\n 'aria-posinset': index + 1,\n 'aria-setsize': children.length,\n parentId: parent === null || parent === void 0 ? void 0 : parent.id,\n id: (_curr_props_id = curr.props.id) !== null && _curr_props_id !== void 0 ? _curr_props_id : `fui-FlatTreeItem-${count++}`,\n leaf: subtree === undefined,\n ...curr.props,\n children: content\n };\n acc.push(flatTreeItem);\n if (subtree !== undefined) {\n acc.push(...flattenTreeFromElement(subtree, flatTreeItem, level + 1));\n }\n return acc;\n }, []);\n};\n//# sourceMappingURL=flattenTree.js.map"],"names":["flattenTree_unstable","flattenTreeFromElement","count","flattenTreeRecursive","items","parent","level","reduce","acc","subtree","item","index","_item_id","flatTreeItem","length","parentId","id","leaf","undefined","push","root","children","React","Children","toArray","props","curr","content","_curr_props_id"],"mappings":";;;;;;;;;;;IAgEaA,oBAAoB,MAApBA;IAIAC,sBAAsB,MAAtBA;;;6DApEU;AACvB,IAAIC,QAAQ;AACZ,SAASC,qBAAqBC,KAAK,EAAEC,MAAM,EAAEC,QAAQ,CAAC,EAAE;IACtD,OAAOF,MAAMG,MAAM,CAAC,CAACC,KAAK,EACxBC,QAAO,EACP,GAAGC,MACJ,EAAEC,QAAU;QACX,IAAIC;QACJ,MAAMC,eAAe;YACnB,cAAcP;YACd,iBAAiBK,QAAQ;YACzB,gBAAgBP,MAAMU,MAAM;YAC5BC,UAAUV,WAAW,IAAI,IAAIA,WAAW,KAAK,IAAI,KAAK,IAAIA,OAAOW,EAAE;YACnEA,IAAI,AAACJ,CAAAA,WAAWF,KAAKM,EAAE,AAAD,MAAO,IAAI,IAAIJ,aAAa,KAAK,IAAIA,WAAW,CAAC,iBAAiB,EAAEV,QAAQ,CAAC;YACnGe,MAAMR,YAAYS;YAClB,GAAGR,IAAI;QACT;QACAF,IAAIW,IAAI,CAACN;QACT,IAAIJ,YAAYS,WAAW;YACzBV,IAAIW,IAAI,IAAIhB,qBAAqBM,SAASI,cAAcP,QAAQ;QAClE,CAAC;QACD,OAAOE;IACT,GAAG,EAAE;AACP;AAyCO,MAAMR,uBAAuBI,CAAAA,QAASD,qBAAqBC;AAI3D,MAAMH,yBAAyB,CAACmB,MAAMf,QAAQC,QAAQ,CAAC,GAAK;IACjE,MAAMe,WAAWC,OAAMC,QAAQ,CAACC,OAAO,CAACJ,KAAKK,KAAK,CAACJ,QAAQ;IAC3D,OAAOA,SAASd,MAAM,CAAC,CAACC,KAAKkB,MAAMf,QAAU;QAC3C,MAAM,CAACgB,SAASlB,QAAQ,GAAGa,OAAMC,QAAQ,CAACC,OAAO,CAACE,KAAKD,KAAK,CAACJ,QAAQ;QACrE,IAAIO;QACJ,MAAMf,eAAe;YACnB,cAAcP;YACd,iBAAiBK,QAAQ;YACzB,gBAAgBU,SAASP,MAAM;YAC/BC,UAAUV,WAAW,IAAI,IAAIA,WAAW,KAAK,IAAI,KAAK,IAAIA,OAAOW,EAAE;YACnEA,IAAI,AAACY,CAAAA,iBAAiBF,KAAKD,KAAK,CAACT,EAAE,AAAD,MAAO,IAAI,IAAIY,mBAAmB,KAAK,IAAIA,iBAAiB,CAAC,iBAAiB,EAAE1B,QAAQ,CAAC;YAC3He,MAAMR,YAAYS;YAClB,GAAGQ,KAAKD,KAAK;YACbJ,UAAUM;QACZ;QACAnB,IAAIW,IAAI,CAACN;QACT,IAAIJ,YAAYS,WAAW;YACzBV,IAAIW,IAAI,IAAIlB,uBAAuBQ,SAASI,cAAcP,QAAQ;QACpE,CAAC;QACD,OAAOE;IACT,GAAG,EAAE;AACP,GACA,uCAAuC"}
1
+ {"version":3,"sources":["flattenTree.js"],"sourcesContent":["function flattenTreeRecursive(items, parent, level = 1) {\n return items.reduce((acc, { subtree , ...item }, index)=>{\n const flatTreeItem = {\n 'aria-level': level,\n 'aria-posinset': index + 1,\n 'aria-setsize': items.length,\n parentValue: parent === null || parent === void 0 ? void 0 : parent.value,\n ...item\n };\n acc.push(flatTreeItem);\n if (subtree !== undefined) {\n acc.push(...flattenTreeRecursive(subtree, flatTreeItem, level + 1));\n }\n return acc;\n }, []);\n}\n/**\n * Converts a nested structure to a flat one which can be consumed by `useFlatTreeItems`\n * @example\n * ```tsx\n * const defaultItems = flattenTree_unstable([\n * {\n * children: <TreeItemLayout>level 1, item 1</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 2, item 1</TreeItemLayout>,\n * },\n * {\n * children: <TreeItemLayout>level 2, item 2</TreeItemLayout>,\n * },\n * {\n * children: <TreeItemLayout>level 2, item 3</TreeItemLayout>,\n * },\n * ],\n * },\n * {\n * children: <TreeItemLayout>level 1, item 2</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 2, item 1</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 3, item 1</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 4, item 1</TreeItemLayout>,\n * },\n * ],\n * },\n * ],\n * },\n * ],\n * },\n * ]);\n * ```\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\nexport const flattenTree_unstable = (items)=>flattenTreeRecursive(items);\n"],"names":["flattenTree_unstable","flattenTreeRecursive","items","parent","level","reduce","acc","subtree","item","index","flatTreeItem","length","parentValue","value","push","undefined"],"mappings":";;;;+BAwDaA;;aAAAA;;AAxDb,SAASC,qBAAqBC,KAAK,EAAEC,MAAM,EAAEC,QAAQ,CAAC,EAAE;IACpD,OAAOF,MAAMG,MAAM,CAAC,CAACC,KAAK,EAAEC,QAAO,EAAG,GAAGC,MAAM,EAAEC,QAAQ;QACrD,MAAMC,eAAe;YACjB,cAAcN;YACd,iBAAiBK,QAAQ;YACzB,gBAAgBP,MAAMS,MAAM;YAC5BC,aAAaT,WAAW,IAAI,IAAIA,WAAW,KAAK,IAAI,KAAK,IAAIA,OAAOU,KAAK;YACzE,GAAGL,IAAI;QACX;QACAF,IAAIQ,IAAI,CAACJ;QACT,IAAIH,YAAYQ,WAAW;YACvBT,IAAIQ,IAAI,IAAIb,qBAAqBM,SAASG,cAAcN,QAAQ;QACpE,CAAC;QACD,OAAOE;IACX,GAAG,EAAE;AACT;AAyCO,MAAMN,uBAAuB,CAACE,QAAQD,qBAAqBC"}
@@ -0,0 +1,18 @@
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
+ dataTreeItemValueAttrName: ()=>dataTreeItemValueAttrName,
13
+ getTreeItemValueFromElement: ()=>getTreeItemValueFromElement
14
+ });
15
+ const dataTreeItemValueAttrName = 'data-fui-tree-item-value';
16
+ const getTreeItemValueFromElement = (element)=>{
17
+ return element.getAttribute(dataTreeItemValueAttrName);
18
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["getTreeItemValueFromElement.js"],"sourcesContent":["export const dataTreeItemValueAttrName = 'data-fui-tree-item-value';\nexport const getTreeItemValueFromElement = (element)=>{\n return element.getAttribute(dataTreeItemValueAttrName);\n};\n"],"names":["dataTreeItemValueAttrName","getTreeItemValueFromElement","element","getAttribute"],"mappings":";;;;;;;;;;;IAAaA,yBAAyB,MAAzBA;IACAC,2BAA2B,MAA3BA;;AADN,MAAMD,4BAA4B;AAClC,MAAMC,8BAA8B,CAACC,UAAU;IAClD,OAAOA,QAAQC,YAAY,CAACH;AAChC"}
@@ -18,6 +18,4 @@ function nextTypeAheadElement(treeWalker, key) {
18
18
  nextElement = treeWalker.nextElement(typeAheadFilter);
19
19
  }
20
20
  return nextElement;
21
- } //# sourceMappingURL=nextTypeAheadElement.js.map
22
-
23
- //# sourceMappingURL=nextTypeAheadElement.js.map
21
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/utils/nextTypeAheadElement.js"],"sourcesContent":["export function nextTypeAheadElement(treeWalker, key) {\n const keyToLowerCase = key.toLowerCase();\n const typeAheadFilter = element => {\n var _element_textContent;\n return ((_element_textContent = element.textContent) === null || _element_textContent === void 0 ? void 0 : _element_textContent.trim().charAt(0).toLowerCase()) === keyToLowerCase ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n };\n let nextElement = treeWalker.nextElement(typeAheadFilter);\n if (!nextElement) {\n treeWalker.currentElement = treeWalker.root;\n nextElement = treeWalker.nextElement(typeAheadFilter);\n }\n return nextElement;\n}\n//# sourceMappingURL=nextTypeAheadElement.js.map"],"names":["nextTypeAheadElement","treeWalker","key","keyToLowerCase","toLowerCase","typeAheadFilter","element","_element_textContent","textContent","trim","charAt","NodeFilter","FILTER_ACCEPT","FILTER_SKIP","nextElement","currentElement","root"],"mappings":";;;;+BAAgBA;;aAAAA;;AAAT,SAASA,qBAAqBC,UAAU,EAAEC,GAAG,EAAE;IACpD,MAAMC,iBAAiBD,IAAIE,WAAW;IACtC,MAAMC,kBAAkBC,CAAAA,UAAW;QACjC,IAAIC;QACJ,OAAO,AAAC,CAAA,AAACA,CAAAA,uBAAuBD,QAAQE,WAAW,AAAD,MAAO,IAAI,IAAID,yBAAyB,KAAK,IAAI,KAAK,IAAIA,qBAAqBE,IAAI,GAAGC,MAAM,CAAC,GAAGN,WAAW,EAAE,AAAD,MAAOD,iBAAiBQ,WAAWC,aAAa,GAAGD,WAAWE,WAAW;IACzO;IACA,IAAIC,cAAcb,WAAWa,WAAW,CAACT;IACzC,IAAI,CAACS,aAAa;QAChBb,WAAWc,cAAc,GAAGd,WAAWe,IAAI;QAC3CF,cAAcb,WAAWa,WAAW,CAACT;IACvC,CAAC;IACD,OAAOS;AACT,EACA,gDAAgD"}
1
+ {"version":3,"sources":["nextTypeAheadElement.js"],"sourcesContent":["export function nextTypeAheadElement(treeWalker, key) {\n const keyToLowerCase = key.toLowerCase();\n const typeAheadFilter = (element)=>{\n var _element_textContent;\n return ((_element_textContent = element.textContent) === null || _element_textContent === void 0 ? void 0 : _element_textContent.trim().charAt(0).toLowerCase()) === keyToLowerCase ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n };\n let nextElement = treeWalker.nextElement(typeAheadFilter);\n if (!nextElement) {\n treeWalker.currentElement = treeWalker.root;\n nextElement = treeWalker.nextElement(typeAheadFilter);\n }\n return nextElement;\n}\n"],"names":["nextTypeAheadElement","treeWalker","key","keyToLowerCase","toLowerCase","typeAheadFilter","element","_element_textContent","textContent","trim","charAt","NodeFilter","FILTER_ACCEPT","FILTER_SKIP","nextElement","currentElement","root"],"mappings":";;;;+BAAgBA;;aAAAA;;AAAT,SAASA,qBAAqBC,UAAU,EAAEC,GAAG,EAAE;IAClD,MAAMC,iBAAiBD,IAAIE,WAAW;IACtC,MAAMC,kBAAkB,CAACC,UAAU;QAC/B,IAAIC;QACJ,OAAO,AAAC,CAAA,AAACA,CAAAA,uBAAuBD,QAAQE,WAAW,AAAD,MAAO,IAAI,IAAID,yBAAyB,KAAK,IAAI,KAAK,IAAIA,qBAAqBE,IAAI,GAAGC,MAAM,CAAC,GAAGN,WAAW,EAAE,AAAD,MAAOD,iBAAiBQ,WAAWC,aAAa,GAAGD,WAAWE,WAAW;IAC3O;IACA,IAAIC,cAAcb,WAAWa,WAAW,CAACT;IACzC,IAAI,CAACS,aAAa;QACdb,WAAWc,cAAc,GAAGd,WAAWe,IAAI;QAC3CF,cAAcb,WAAWa,WAAW,CAACT;IACzC,CAAC;IACD,OAAOS;AACX"}
@@ -13,6 +13,4 @@ function normalizeOpenItems(openSubtrees, options) {
13
13
  return Array.isArray(openSubtrees) ? openSubtrees : [
14
14
  openSubtrees
15
15
  ];
16
- } //# sourceMappingURL=normalizeOpenItems.js.map
17
-
18
- //# sourceMappingURL=normalizeOpenItems.js.map
16
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/utils/normalizeOpenItems.js"],"sourcesContent":["export function normalizeOpenItems(openSubtrees, options) {\n if (!openSubtrees) {\n return (options === null || options === void 0 ? void 0 : options.keepUndefined) ? undefined : [];\n }\n return Array.isArray(openSubtrees) ? openSubtrees : [openSubtrees];\n}\n//# sourceMappingURL=normalizeOpenItems.js.map"],"names":["normalizeOpenItems","openSubtrees","options","keepUndefined","undefined","Array","isArray"],"mappings":";;;;+BAAgBA;;aAAAA;;AAAT,SAASA,mBAAmBC,YAAY,EAAEC,OAAO,EAAE;IACxD,IAAI,CAACD,cAAc;QACjB,OAAO,AAACC,CAAAA,YAAY,IAAI,IAAIA,YAAY,KAAK,IAAI,KAAK,IAAIA,QAAQC,aAAa,AAAD,IAAKC,YAAY,EAAE;IACnG,CAAC;IACD,OAAOC,MAAMC,OAAO,CAACL,gBAAgBA,eAAe;QAACA;KAAa;AACpE,EACA,8CAA8C"}
1
+ {"version":3,"sources":["normalizeOpenItems.js"],"sourcesContent":["export function normalizeOpenItems(openSubtrees, options) {\n if (!openSubtrees) {\n return (options === null || options === void 0 ? void 0 : options.keepUndefined) ? undefined : [];\n }\n return Array.isArray(openSubtrees) ? openSubtrees : [\n openSubtrees\n ];\n}\n"],"names":["normalizeOpenItems","openSubtrees","options","keepUndefined","undefined","Array","isArray"],"mappings":";;;;+BAAgBA;;aAAAA;;AAAT,SAASA,mBAAmBC,YAAY,EAAEC,OAAO,EAAE;IACtD,IAAI,CAACD,cAAc;QACf,OAAO,AAACC,CAAAA,YAAY,IAAI,IAAIA,YAAY,KAAK,IAAI,KAAK,IAAIA,QAAQC,aAAa,AAAD,IAAKC,YAAY,EAAE;IACrG,CAAC;IACD,OAAOC,MAAMC,OAAO,CAACL,gBAAgBA,eAAe;QAChDA;KACH;AACL"}
@@ -20,16 +20,15 @@ const treeAvatarSize = {
20
20
  small: 24
21
21
  };
22
22
  const treeDataTypes = {
23
- arrowLeft: _keyboardKeys.ArrowLeft,
24
- arrowRight: _keyboardKeys.ArrowRight,
25
- enter: 'Enter',
26
- click: 'Click',
27
- expandIconClick: 'ExpandIconClick',
28
- end: _keyboardKeys.End,
29
- home: _keyboardKeys.Home,
30
- arrowUp: _keyboardKeys.ArrowUp,
31
- arrowDown: _keyboardKeys.ArrowDown,
32
- typeAhead: 'TypeAhead'
33
- }; //# sourceMappingURL=tokens.js.map
34
-
35
- //# sourceMappingURL=tokens.js.map
23
+ ArrowLeft: _keyboardKeys.ArrowLeft,
24
+ ArrowRight: _keyboardKeys.ArrowRight,
25
+ Enter: _keyboardKeys.Enter,
26
+ Click: 'Click',
27
+ ExpandIconClick: 'ExpandIconClick',
28
+ End: _keyboardKeys.End,
29
+ Home: _keyboardKeys.Home,
30
+ ArrowUp: _keyboardKeys.ArrowUp,
31
+ ArrowDown: _keyboardKeys.ArrowDown,
32
+ TypeAhead: 'TypeAhead',
33
+ Change: 'Change'
34
+ };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/utils/tokens.js"],"sourcesContent":["import { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, End, Home } from '@fluentui/keyboard-keys';\nexport const treeItemLevelToken = '--fluent-TreeItem--level';\nexport const treeAvatarSize = {\n medium: 32,\n small: 24\n};\nexport const treeDataTypes = {\n arrowLeft: ArrowLeft,\n arrowRight: ArrowRight,\n enter: 'Enter',\n click: 'Click',\n expandIconClick: 'ExpandIconClick',\n end: End,\n home: Home,\n arrowUp: ArrowUp,\n arrowDown: ArrowDown,\n typeAhead: 'TypeAhead'\n};\n//# sourceMappingURL=tokens.js.map"],"names":["treeItemLevelToken","treeAvatarSize","treeDataTypes","medium","small","arrowLeft","ArrowLeft","arrowRight","ArrowRight","enter","click","expandIconClick","end","End","home","Home","arrowUp","ArrowUp","arrowDown","ArrowDown","typeAhead"],"mappings":";;;;;;;;;;;IACaA,kBAAkB,MAAlBA;IACAC,cAAc,MAAdA;IAIAC,aAAa,MAAbA;;8BANwD;AAC9D,MAAMF,qBAAqB;AAC3B,MAAMC,iBAAiB;IAC5BE,QAAQ;IACRC,OAAO;AACT;AACO,MAAMF,gBAAgB;IAC3BG,WAAWC,uBAAS;IACpBC,YAAYC,wBAAU;IACtBC,OAAO;IACPC,OAAO;IACPC,iBAAiB;IACjBC,KAAKC,iBAAG;IACRC,MAAMC,kBAAI;IACVC,SAASC,qBAAO;IAChBC,WAAWC,uBAAS;IACpBC,WAAW;AACb,GACA,kCAAkC"}
1
+ {"version":3,"sources":["tokens.js"],"sourcesContent":["import { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, End, Home, Enter } from '@fluentui/keyboard-keys';\nexport const treeItemLevelToken = '--fluent-TreeItem--level';\nexport const treeAvatarSize = {\n medium: 32,\n small: 24\n};\nexport const treeDataTypes = {\n ArrowLeft,\n ArrowRight,\n Enter,\n Click: 'Click',\n ExpandIconClick: 'ExpandIconClick',\n End,\n Home,\n ArrowUp,\n ArrowDown,\n TypeAhead: 'TypeAhead',\n Change: 'Change'\n};\n"],"names":["treeItemLevelToken","treeAvatarSize","treeDataTypes","medium","small","ArrowLeft","ArrowRight","Enter","Click","ExpandIconClick","End","Home","ArrowUp","ArrowDown","TypeAhead","Change"],"mappings":";;;;;;;;;;;IACaA,kBAAkB,MAAlBA;IACAC,cAAc,MAAdA;IAIAC,aAAa,MAAbA;;8BAN+D;AACrE,MAAMF,qBAAqB;AAC3B,MAAMC,iBAAiB;IAC1BE,QAAQ;IACRC,OAAO;AACX;AACO,MAAMF,gBAAgB;IACzBG,WAAAA,uBAAS;IACTC,YAAAA,wBAAU;IACVC,OAAAA,mBAAK;IACLC,OAAO;IACPC,iBAAiB;IACjBC,KAAAA,iBAAG;IACHC,MAAAA,kBAAI;IACJC,SAAAA,qBAAO;IACPC,WAAAA,uBAAS;IACTC,WAAW;IACXC,QAAQ;AACZ"}
@@ -8,6 +8,4 @@ Object.defineProperty(exports, "treeItemFilter", {
8
8
  });
9
9
  const treeItemFilter = (element)=>{
10
10
  return element.getAttribute('role') === 'treeitem' ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
11
- }; //# sourceMappingURL=treeItemFilter.js.map
12
-
13
- //# sourceMappingURL=treeItemFilter.js.map
11
+ };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/utils/treeItemFilter.js"],"sourcesContent":["export const treeItemFilter = element => {\n return element.getAttribute('role') === 'treeitem' ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n};\n//# sourceMappingURL=treeItemFilter.js.map"],"names":["treeItemFilter","element","getAttribute","NodeFilter","FILTER_ACCEPT","FILTER_SKIP"],"mappings":";;;;+BAAaA;;aAAAA;;AAAN,MAAMA,iBAAiBC,CAAAA,UAAW;IACvC,OAAOA,QAAQC,YAAY,CAAC,YAAY,aAAaC,WAAWC,aAAa,GAAGD,WAAWE,WAAW;AACxG,GACA,0CAA0C"}
1
+ {"version":3,"sources":["treeItemFilter.js"],"sourcesContent":["export const treeItemFilter = (element)=>{\n return element.getAttribute('role') === 'treeitem' ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n};\n"],"names":["treeItemFilter","element","getAttribute","NodeFilter","FILTER_ACCEPT","FILTER_SKIP"],"mappings":";;;;+BAAaA;;aAAAA;;AAAN,MAAMA,iBAAiB,CAACC,UAAU;IACrC,OAAOA,QAAQC,YAAY,CAAC,YAAY,aAAaC,WAAWC,aAAa,GAAGD,WAAWE,WAAW;AAC1G"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fluentui/react-tree",
3
- "version": "9.0.0-beta.9",
4
- "description": "React components for building web experiences",
3
+ "version": "9.0.1",
4
+ "description": "Tree component for Fluent UI React",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
7
7
  "typings": "./dist/index.d.ts",
@@ -14,39 +14,40 @@
14
14
  "scripts": {
15
15
  "build": "just-scripts build",
16
16
  "clean": "just-scripts clean",
17
- "code-style": "just-scripts code-style",
18
- "just": "just-scripts",
17
+ "generate-api": "just-scripts generate-api",
19
18
  "lint": "just-scripts lint",
19
+ "start": "yarn storybook",
20
+ "storybook": "start-storybook",
20
21
  "test": "jest --passWithNoTests",
21
- "e2e": "cypress run --component",
22
- "e2e:local": "cypress open --component",
23
- "generate-api": "just-scripts generate-api",
22
+ "test-ssr": "test-ssr \"./stories/**/*.stories.tsx\"",
24
23
  "type-check": "tsc -b tsconfig.json",
25
- "storybook": "start-storybook",
26
- "start": "yarn storybook"
24
+ "e2e": "cypress run --component",
25
+ "e2e:local": "cypress open --component"
27
26
  },
28
27
  "devDependencies": {
29
28
  "@fluentui/eslint-plugin": "*",
30
29
  "@fluentui/react-conformance": "*",
31
- "@fluentui/react-conformance-griffel": "9.0.0-beta.20",
30
+ "@fluentui/react-conformance-griffel": "*",
32
31
  "@fluentui/scripts-api-extractor": "*",
33
32
  "@fluentui/scripts-tasks": "*",
34
- "@fluentui/scripts-cypress": "*",
35
- "react-window": "^1.8.6"
33
+ "@fluentui/scripts-cypress": "*"
36
34
  },
37
35
  "dependencies": {
38
- "@fluentui/keyboard-keys": "^9.0.2",
39
- "@fluentui/react-aria": "^9.3.16",
40
- "@fluentui/react-avatar": "^9.4.7",
41
- "@fluentui/react-button": "^9.3.7",
42
- "@fluentui/react-context-selector": "^9.1.16",
43
- "@fluentui/react-icons": "^2.0.196",
44
- "@fluentui/react-portal": "^9.2.4",
45
- "@fluentui/react-shared-contexts": "^9.3.3",
46
- "@fluentui/react-tabster": "^9.6.3",
47
- "@fluentui/react-theme": "^9.1.7",
48
- "@fluentui/react-utilities": "^9.7.3",
49
- "@griffel/react": "^1.5.2",
36
+ "@fluentui/keyboard-keys": "^9.0.3",
37
+ "@fluentui/react-aria": "^9.3.30",
38
+ "@fluentui/react-avatar": "^9.5.21",
39
+ "@fluentui/react-button": "^9.3.31",
40
+ "@fluentui/react-checkbox": "^9.1.32",
41
+ "@fluentui/react-context-selector": "^9.1.28",
42
+ "@fluentui/react-icons": "^2.0.207",
43
+ "@fluentui/react-portal": "^9.3.7",
44
+ "@fluentui/react-radio": "^9.1.32",
45
+ "@fluentui/react-shared-contexts": "^9.7.2",
46
+ "@fluentui/react-tabster": "^9.12.2",
47
+ "@fluentui/react-theme": "^9.1.11",
48
+ "@fluentui/react-utilities": "^9.11.1",
49
+ "@fluentui/react-jsx-runtime": "^9.0.0",
50
+ "@griffel/react": "^1.5.14",
50
51
  "@swc/helpers": "^0.4.14"
51
52
  },
52
53
  "peerDependencies": {
@@ -55,13 +56,6 @@
55
56
  "react": ">=16.8.0 <19.0.0",
56
57
  "react-dom": ">=16.8.0 <19.0.0"
57
58
  },
58
- "beachball": {
59
- "disallowedChangeTypes": [
60
- "major",
61
- "minor",
62
- "patch"
63
- ]
64
- },
65
59
  "exports": {
66
60
  ".": {
67
61
  "types": "./dist/index.d.ts",
@@ -70,5 +64,11 @@
70
64
  "require": "./lib-commonjs/index.js"
71
65
  },
72
66
  "./package.json": "./package.json"
67
+ },
68
+ "beachball": {
69
+ "disallowedChangeTypes": [
70
+ "major",
71
+ "prerelease"
72
+ ]
73
73
  }
74
74
  }
package/.swcrc DELETED
@@ -1,30 +0,0 @@
1
- {
2
- "$schema": "https://json.schemastore.org/swcrc",
3
- "exclude": [
4
- "/testing",
5
- "/**/*.cy.ts",
6
- "/**/*.cy.tsx",
7
- "/**/*.spec.ts",
8
- "/**/*.spec.tsx",
9
- "/**/*.test.ts",
10
- "/**/*.test.tsx"
11
- ],
12
- "jsc": {
13
- "parser": {
14
- "syntax": "typescript",
15
- "tsx": true,
16
- "decorators": false,
17
- "dynamicImport": false
18
- },
19
- "externalHelpers": true,
20
- "transform": {
21
- "react": {
22
- "runtime": "classic",
23
- "useSpread": true
24
- }
25
- },
26
- "target": "es2019"
27
- },
28
- "minify": false,
29
- "sourceMaps": true
30
- }
@@ -1 +0,0 @@
1
- {"version":3,"names":["__styles","mergeClasses","tokens","treeClassNames","root","useStyles","mc9l5x","Beiy3e4","Belr9w4","d","useTreeStyles_unstable","state","styles","className"],"sources":["../../../src/components/Tree/useTreeStyles.ts"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport type { TreeSlots, TreeState } from './Tree.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { tokens } from '@fluentui/react-theme';\n\nexport const treeClassNames: SlotClassNames<TreeSlots> = {\n root: 'fui-Tree',\n};\n\nconst useStyles = makeStyles({\n root: {\n display: 'flex',\n flexDirection: 'column',\n rowGap: tokens.spacingVerticalXXS,\n },\n});\n\nexport const useTreeStyles_unstable = (state: TreeState): TreeState => {\n const styles = useStyles();\n state.root.className = mergeClasses(treeClassNames.root, styles.root, state.root.className);\n\n return state;\n};\n"],"mappings":"AAAA,SAAAA,QAAA,EAAqBC,YAAY,QAAQ;AAGzC,SAASC,MAAM,QAAQ;AAEvB,OAAO,MAAMC,cAAA,GAA4C;EACvDC,IAAA,EAAM;AACR;AAEA,MAAMC,SAAA,gBAAYL,QAAA;EAAAI,IAAA;IAAAE,MAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;AAAA;EAAAC,CAAA;AAAA,EAMlB;AAEA,OAAO,MAAMC,sBAAA,GAA0BC,KAAA,IAAgC;EACrE,MAAMC,MAAA,GAASP,SAAA;EACfM,KAAA,CAAMP,IAAI,CAACS,SAAS,GAAGZ,YAAA,CAAaE,cAAA,CAAeC,IAAI,EAAEQ,MAAA,CAAOR,IAAI,EAAEO,KAAA,CAAMP,IAAI,CAACS,SAAS;EAE1F,OAAOF,KAAA;AACT"}