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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/CHANGELOG.json +1608 -1
  2. package/CHANGELOG.md +430 -2
  3. package/LICENSE +1 -1
  4. package/dist/index.d.ts +404 -132
  5. package/lib/FlatTree.js +1 -0
  6. package/lib/FlatTree.js.map +1 -0
  7. package/lib/Tree.js +0 -1
  8. package/lib/Tree.js.map +1 -1
  9. package/lib/TreeItem.js +0 -1
  10. package/lib/TreeItem.js.map +1 -1
  11. package/lib/TreeItemLayout.js +0 -1
  12. package/lib/TreeItemLayout.js.map +1 -1
  13. package/lib/TreeItemPersonaLayout.js +0 -1
  14. package/lib/TreeItemPersonaLayout.js.map +1 -1
  15. package/lib/components/FlatTree/FlatTree.js +17 -0
  16. package/lib/components/FlatTree/FlatTree.js.map +1 -0
  17. package/lib/components/FlatTree/FlatTree.types.js +1 -0
  18. package/lib/components/FlatTree/FlatTree.types.js.map +1 -0
  19. package/lib/components/FlatTree/index.js +7 -0
  20. package/lib/components/FlatTree/index.js.map +1 -0
  21. package/lib/components/FlatTree/renderFlatTree.js +2 -0
  22. package/lib/components/FlatTree/renderFlatTree.js.map +1 -0
  23. package/lib/components/FlatTree/useFlatControllableCheckedItems.js +76 -0
  24. package/lib/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -0
  25. package/lib/components/FlatTree/useFlatTree.js +3 -0
  26. package/lib/components/FlatTree/useFlatTree.js.map +1 -0
  27. package/lib/components/FlatTree/useFlatTreeContextValues.js +2 -0
  28. package/lib/components/FlatTree/useFlatTreeContextValues.js.map +1 -0
  29. package/lib/components/FlatTree/useFlatTreeNavigation.js +74 -0
  30. package/lib/components/FlatTree/useFlatTreeNavigation.js.map +1 -0
  31. package/lib/components/FlatTree/useFlatTreeStyles.styles.js +20 -0
  32. package/lib/components/FlatTree/useFlatTreeStyles.styles.js.map +1 -0
  33. package/lib/components/FlatTree/useHeadlessFlatTree.js +124 -0
  34. package/lib/components/FlatTree/useHeadlessFlatTree.js.map +1 -0
  35. package/lib/components/Tree/Tree.js +9 -15
  36. package/lib/components/Tree/Tree.js.map +1 -1
  37. package/lib/components/Tree/Tree.types.js +1 -2
  38. package/lib/components/Tree/Tree.types.js.map +1 -1
  39. package/lib/components/Tree/index.js +2 -3
  40. package/lib/components/Tree/index.js.map +1 -1
  41. package/lib/components/Tree/renderTree.js +7 -11
  42. package/lib/components/Tree/renderTree.js.map +1 -1
  43. package/lib/components/Tree/useNestedControllableCheckedItems.js +22 -0
  44. package/lib/components/Tree/useNestedControllableCheckedItems.js.map +1 -0
  45. package/lib/components/Tree/useTree.js +63 -111
  46. package/lib/components/Tree/useTree.js.map +1 -1
  47. package/lib/components/Tree/useTreeContextValues.js +16 -24
  48. package/lib/components/Tree/useTreeContextValues.js.map +1 -1
  49. package/lib/components/Tree/useTreeNavigation.js +52 -0
  50. package/lib/components/Tree/useTreeNavigation.js.map +1 -0
  51. package/lib/components/Tree/{useTreeStyles.js → useTreeStyles.styles.js} +7 -3
  52. package/lib/components/Tree/useTreeStyles.styles.js.map +1 -0
  53. package/lib/components/TreeItem/TreeItem.js +7 -9
  54. package/lib/components/TreeItem/TreeItem.js.map +1 -1
  55. package/lib/components/TreeItem/TreeItem.types.js +0 -1
  56. package/lib/components/TreeItem/TreeItem.types.js.map +1 -1
  57. package/lib/components/TreeItem/index.js +2 -2
  58. package/lib/components/TreeItem/index.js.map +1 -1
  59. package/lib/components/TreeItem/renderTreeItem.js +7 -15
  60. package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
  61. package/lib/components/TreeItem/useTreeItem.js +161 -234
  62. package/lib/components/TreeItem/useTreeItem.js.map +1 -1
  63. package/lib/components/TreeItem/useTreeItemContextValues.js +20 -16
  64. package/lib/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  65. package/lib/components/TreeItem/useTreeItemStyles.styles.js +100 -0
  66. package/lib/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
  67. package/lib/components/TreeItemChevron.js +24 -0
  68. package/lib/components/TreeItemChevron.js.map +1 -0
  69. package/lib/components/TreeItemLayout/TreeItemLayout.js +5 -7
  70. package/lib/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  71. package/lib/components/TreeItemLayout/TreeItemLayout.types.js +1 -2
  72. package/lib/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  73. package/lib/components/TreeItemLayout/index.js +1 -2
  74. package/lib/components/TreeItemLayout/index.js.map +1 -1
  75. package/lib/components/TreeItemLayout/renderTreeItemLayout.js +8 -13
  76. package/lib/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  77. package/lib/components/TreeItemLayout/useTreeItemLayout.js +109 -40
  78. package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  79. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +237 -0
  80. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
  81. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +6 -8
  82. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  83. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +1 -2
  84. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  85. package/lib/components/TreeItemPersonaLayout/index.js +1 -2
  86. package/lib/components/TreeItemPersonaLayout/index.js.map +1 -1
  87. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +10 -15
  88. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  89. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +41 -48
  90. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  91. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +9 -10
  92. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  93. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +210 -0
  94. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
  95. package/lib/contexts/index.js +0 -1
  96. package/lib/contexts/index.js.map +1 -1
  97. package/lib/contexts/treeContext.js +13 -14
  98. package/lib/contexts/treeContext.js.map +1 -1
  99. package/lib/contexts/treeItemContext.js +16 -8
  100. package/lib/contexts/treeItemContext.js.map +1 -1
  101. package/lib/hooks/useControllableOpenItems.js +28 -0
  102. package/lib/hooks/useControllableOpenItems.js.map +1 -0
  103. package/lib/hooks/useRootTree.js +147 -0
  104. package/lib/hooks/useRootTree.js.map +1 -0
  105. package/lib/hooks/useRovingTabIndexes.js +30 -49
  106. package/lib/hooks/useRovingTabIndexes.js.map +1 -1
  107. package/lib/hooks/useSubtree.js +41 -0
  108. package/lib/hooks/useSubtree.js.map +1 -0
  109. package/lib/index.js +3 -4
  110. package/lib/index.js.map +1 -1
  111. package/lib/utils/ImmutableMap.js +41 -0
  112. package/lib/utils/ImmutableMap.js.map +1 -0
  113. package/lib/utils/ImmutableSet.js +42 -33
  114. package/lib/utils/ImmutableSet.js.map +1 -1
  115. package/lib/utils/assert.js +4 -5
  116. package/lib/utils/assert.js.map +1 -1
  117. package/lib/utils/createCheckedItems.js +18 -0
  118. package/lib/utils/createCheckedItems.js.map +1 -0
  119. package/lib/utils/createHTMLElementWalker.js +67 -0
  120. package/lib/utils/createHTMLElementWalker.js.map +1 -0
  121. package/lib/utils/createHeadlessTree.js +188 -0
  122. package/lib/utils/createHeadlessTree.js.map +1 -0
  123. package/lib/utils/createOpenItems.js +10 -0
  124. package/lib/utils/createOpenItems.js.map +1 -0
  125. package/lib/utils/flattenTree.js +53 -27
  126. package/lib/utils/flattenTree.js.map +1 -1
  127. package/lib/utils/getTreeItemValueFromElement.js +4 -0
  128. package/lib/utils/getTreeItemValueFromElement.js.map +1 -0
  129. package/lib/utils/nextTypeAheadElement.js +11 -12
  130. package/lib/utils/nextTypeAheadElement.js.map +1 -1
  131. package/lib/utils/normalizeOpenItems.js +6 -5
  132. package/lib/utils/normalizeOpenItems.js.map +1 -1
  133. package/lib/utils/tokens.js +14 -14
  134. package/lib/utils/tokens.js.map +1 -1
  135. package/lib/utils/treeItemFilter.js +2 -3
  136. package/lib/utils/treeItemFilter.js.map +1 -1
  137. package/lib-commonjs/FlatTree.js +6 -0
  138. package/lib-commonjs/FlatTree.js.map +1 -0
  139. package/lib-commonjs/Tree.js +0 -3
  140. package/lib-commonjs/Tree.js.map +1 -1
  141. package/lib-commonjs/TreeItem.js +0 -3
  142. package/lib-commonjs/TreeItem.js.map +1 -1
  143. package/lib-commonjs/TreeItemLayout.js +0 -3
  144. package/lib-commonjs/TreeItemLayout.js.map +1 -1
  145. package/lib-commonjs/TreeItemPersonaLayout.js +0 -3
  146. package/lib-commonjs/TreeItemPersonaLayout.js.map +1 -1
  147. package/lib-commonjs/components/FlatTree/FlatTree.js +21 -0
  148. package/lib-commonjs/components/FlatTree/FlatTree.js.map +1 -0
  149. package/lib-commonjs/components/FlatTree/FlatTree.types.js +4 -0
  150. package/lib-commonjs/components/FlatTree/FlatTree.types.js.map +1 -0
  151. package/lib-commonjs/components/FlatTree/index.js +12 -0
  152. package/lib-commonjs/components/FlatTree/index.js.map +1 -0
  153. package/lib-commonjs/components/FlatTree/renderFlatTree.js +10 -0
  154. package/lib-commonjs/components/FlatTree/renderFlatTree.js.map +1 -0
  155. package/lib-commonjs/components/FlatTree/useFlatControllableCheckedItems.js +91 -0
  156. package/lib-commonjs/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -0
  157. package/lib-commonjs/components/FlatTree/useFlatTree.js +12 -0
  158. package/lib-commonjs/components/FlatTree/useFlatTree.js.map +1 -0
  159. package/lib-commonjs/components/FlatTree/useFlatTreeContextValues.js +10 -0
  160. package/lib-commonjs/components/FlatTree/useFlatTreeContextValues.js.map +1 -0
  161. package/lib-commonjs/components/FlatTree/useFlatTreeNavigation.js +82 -0
  162. package/lib-commonjs/components/FlatTree/useFlatTreeNavigation.js.map +1 -0
  163. package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js +36 -0
  164. package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js.map +1 -0
  165. package/lib-commonjs/components/FlatTree/useHeadlessFlatTree.js +121 -0
  166. package/lib-commonjs/components/FlatTree/useHeadlessFlatTree.js.map +1 -0
  167. package/lib-commonjs/components/Tree/Tree.js +4 -6
  168. package/lib-commonjs/components/Tree/Tree.js.map +1 -1
  169. package/lib-commonjs/components/Tree/Tree.types.js +0 -5
  170. package/lib-commonjs/components/Tree/Tree.types.js.map +1 -1
  171. package/lib-commonjs/components/Tree/index.js +2 -5
  172. package/lib-commonjs/components/Tree/index.js.map +1 -1
  173. package/lib-commonjs/components/Tree/renderTree.js +6 -9
  174. package/lib-commonjs/components/Tree/renderTree.js.map +1 -1
  175. package/lib-commonjs/components/Tree/useNestedControllableCheckedItems.js +37 -0
  176. package/lib-commonjs/components/Tree/useNestedControllableCheckedItems.js.map +1 -0
  177. package/lib-commonjs/components/Tree/useTree.js +53 -85
  178. package/lib-commonjs/components/Tree/useTree.js.map +1 -1
  179. package/lib-commonjs/components/Tree/useTreeContextValues.js +9 -10
  180. package/lib-commonjs/components/Tree/useTreeContextValues.js.map +1 -1
  181. package/lib-commonjs/components/Tree/useTreeNavigation.js +60 -0
  182. package/lib-commonjs/components/Tree/useTreeNavigation.js.map +1 -0
  183. package/lib-commonjs/components/Tree/{useTreeStyles.js → useTreeStyles.styles.js} +10 -7
  184. package/lib-commonjs/components/Tree/useTreeStyles.styles.js.map +1 -0
  185. package/lib-commonjs/components/TreeItem/TreeItem.js +3 -5
  186. package/lib-commonjs/components/TreeItem/TreeItem.js.map +1 -1
  187. package/lib-commonjs/components/TreeItem/TreeItem.types.js +0 -3
  188. package/lib-commonjs/components/TreeItem/TreeItem.types.js.map +1 -1
  189. package/lib-commonjs/components/TreeItem/index.js +2 -4
  190. package/lib-commonjs/components/TreeItem/index.js.map +1 -1
  191. package/lib-commonjs/components/TreeItem/renderTreeItem.js +6 -12
  192. package/lib-commonjs/components/TreeItem/renderTreeItem.js.map +1 -1
  193. package/lib-commonjs/components/TreeItem/useTreeItem.js +111 -170
  194. package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
  195. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js +19 -18
  196. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  197. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js +202 -0
  198. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
  199. package/lib-commonjs/components/TreeItemChevron.js +33 -0
  200. package/lib-commonjs/components/TreeItemChevron.js.map +1 -0
  201. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js +3 -5
  202. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  203. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js +0 -3
  204. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  205. package/lib-commonjs/components/TreeItemLayout/index.js +1 -4
  206. package/lib-commonjs/components/TreeItemLayout/index.js.map +1 -1
  207. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js +8 -9
  208. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  209. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +92 -18
  210. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  211. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +392 -0
  212. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
  213. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +3 -5
  214. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  215. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +0 -3
  216. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  217. package/lib-commonjs/components/TreeItemPersonaLayout/index.js +1 -4
  218. package/lib-commonjs/components/TreeItemPersonaLayout/index.js.map +1 -1
  219. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +9 -10
  220. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  221. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +29 -26
  222. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  223. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +1 -3
  224. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  225. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +379 -0
  226. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
  227. package/lib-commonjs/contexts/index.js +0 -3
  228. package/lib-commonjs/contexts/index.js.map +1 -1
  229. package/lib-commonjs/contexts/treeContext.js +7 -7
  230. package/lib-commonjs/contexts/treeContext.js.map +1 -1
  231. package/lib-commonjs/contexts/treeItemContext.js +15 -6
  232. package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
  233. package/lib-commonjs/hooks/useControllableOpenItems.js +39 -0
  234. package/lib-commonjs/hooks/useControllableOpenItems.js.map +1 -0
  235. package/lib-commonjs/hooks/useRootTree.js +151 -0
  236. package/lib-commonjs/hooks/useRootTree.js.map +1 -0
  237. package/lib-commonjs/hooks/useRovingTabIndexes.js +9 -31
  238. package/lib-commonjs/hooks/useRovingTabIndexes.js.map +1 -1
  239. package/lib-commonjs/hooks/useSubtree.js +45 -0
  240. package/lib-commonjs/hooks/useSubtree.js.map +1 -0
  241. package/lib-commonjs/index.js +11 -7
  242. package/lib-commonjs/index.js.map +1 -1
  243. package/lib-commonjs/utils/ImmutableMap.js +49 -0
  244. package/lib-commonjs/utils/ImmutableMap.js.map +1 -0
  245. package/lib-commonjs/utils/ImmutableSet.js +28 -20
  246. package/lib-commonjs/utils/ImmutableSet.js.map +1 -1
  247. package/lib-commonjs/utils/assert.js +1 -3
  248. package/lib-commonjs/utils/assert.js.map +1 -1
  249. package/lib-commonjs/utils/createCheckedItems.js +26 -0
  250. package/lib-commonjs/utils/createCheckedItems.js.map +1 -0
  251. package/lib-commonjs/{hooks/useHTMLElementWalker.js → utils/createHTMLElementWalker.js} +3 -27
  252. package/lib-commonjs/utils/createHTMLElementWalker.js.map +1 -0
  253. package/lib-commonjs/utils/createHeadlessTree.js +202 -0
  254. package/lib-commonjs/utils/createHeadlessTree.js.map +1 -0
  255. package/lib-commonjs/utils/createOpenItems.js +18 -0
  256. package/lib-commonjs/utils/createOpenItems.js.map +1 -0
  257. package/lib-commonjs/utils/flattenTree.js +8 -17
  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 -69
  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 -78
  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
@@ -9,71 +9,38 @@ Object.defineProperty(exports, "useTreeItem_unstable", {
9
9
  const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
10
10
  const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
11
11
  const _reactUtilities = require("@fluentui/react-utilities");
12
- const _reactIcons = require("@fluentui/react-icons");
13
- const _reactSharedContexts = require("@fluentui/react-shared-contexts");
14
- const _useTreeItemStyles = require("./useTreeItemStyles");
15
- const _keyboardKeys = require("@fluentui/keyboard-keys");
16
12
  const _reactPortal = require("@fluentui/react-portal");
17
13
  const _index = require("../../contexts/index");
14
+ const _getTreeItemValueFromElement = require("../../utils/getTreeItemValueFromElement");
15
+ const _keyboardKeys = require("@fluentui/keyboard-keys");
18
16
  const _tokens = require("../../utils/tokens");
19
- const useTreeItem_unstable = (props, ref)=>{
20
- const [children, subtreeChildren] = _react.Children.toArray(props.children);
17
+ function useTreeItem_unstable(props, ref) {
18
+ var _props_value;
21
19
  const contextLevel = (0, _index.useTreeContext_unstable)((ctx)=>ctx.level);
22
- const { content , subtree , expandIcon , leaf: isLeaf = subtreeChildren === undefined , actions , as ='div' , onClick , onKeyDown , ['aria-level']: level = contextLevel , ...rest } = props;
23
- const requestOpenChange = (0, _index.useTreeContext_unstable)((ctx)=>ctx.requestOpenChange);
24
- const requestNavigation = (0, _index.useTreeContext_unstable)((ctx)=>ctx.requestNavigation);
25
- const id = (0, _reactUtilities.useId)('fui-TreeItem-', props.id);
26
- const isBranch = !isLeaf;
27
- const open = (0, _index.useTreeContext_unstable)((ctx)=>isBranch && ctx.openItems.has(id));
28
- const { dir , targetDocument } = (0, _reactSharedContexts.useFluent_unstable)();
29
- const expandIconRotation = open ? 90 : dir !== 'rtl' ? 0 : 180;
20
+ // note, if the value is not externally provided,
21
+ // then selection and expansion will not work properly
22
+ const value = (0, _reactUtilities.useId)('fuiTreeItemValue-', (_props_value = props.value) === null || _props_value === void 0 ? void 0 : _props_value.toString());
23
+ const { onClick , onKeyDown , as ='div' , itemType ='leaf' , 'aria-level': level = contextLevel , ...rest } = props;
24
+ const requestTreeResponse = (0, _index.useTreeContext_unstable)((ctx)=>ctx.requestTreeResponse);
25
+ const [isActionsVisible, setActionsVisible] = _react.useState(false);
26
+ const [isAsideVisible, setAsideVisible] = _react.useState(true);
27
+ const handleActionsRef = (actionsElement)=>{
28
+ setAsideVisible(actionsElement === null);
29
+ };
30
30
  const actionsRef = _react.useRef(null);
31
31
  const expandIconRef = _react.useRef(null);
32
+ const layoutRef = _react.useRef(null);
32
33
  const subtreeRef = _react.useRef(null);
33
- const handleArrowRight = (event)=>{
34
- if (!open && isBranch) {
35
- return requestOpenChange({
36
- event,
37
- open: true,
38
- type: _tokens.treeDataTypes.arrowRight,
39
- target: event.currentTarget
40
- });
41
- }
42
- if (open && isBranch) {
43
- return requestNavigation({
44
- event,
45
- type: _tokens.treeDataTypes.arrowRight,
46
- target: event.currentTarget
47
- });
48
- }
49
- };
50
- const handleArrowLeft = (event)=>{
51
- if (open && isBranch) {
52
- return requestOpenChange({
53
- event,
54
- open: false,
55
- type: _tokens.treeDataTypes.arrowLeft,
56
- target: event.currentTarget
57
- });
58
- }
59
- if (!open && level > 1) {
60
- return requestNavigation({
61
- event,
62
- target: event.currentTarget,
63
- type: _tokens.treeDataTypes.arrowLeft
64
- });
65
- }
66
- };
67
- const handleEnter = (event)=>{
68
- requestOpenChange({
69
- event,
70
- open: isLeaf ? open : !open,
71
- type: _tokens.treeDataTypes.enter,
72
- target: event.currentTarget
73
- });
74
- };
34
+ const selectionRef = _react.useRef(null);
35
+ const open = (0, _index.useTreeContext_unstable)((ctx)=>ctx.openItems.has(value));
36
+ const selectionMode = (0, _index.useTreeContext_unstable)((ctx)=>ctx.selectionMode);
37
+ var _ctx_checkedItems_get;
38
+ const checked = (0, _index.useTreeContext_unstable)((ctx)=>(_ctx_checkedItems_get = ctx.checkedItems.get(value)) !== null && _ctx_checkedItems_get !== void 0 ? _ctx_checkedItems_get : false);
75
39
  const handleClick = (0, _reactUtilities.useEventCallback)((event)=>{
76
40
  onClick === null || onClick === void 0 ? void 0 : onClick(event);
41
+ if (event.isDefaultPrevented()) {
42
+ return;
43
+ }
77
44
  const isEventFromActions = actionsRef.current && (0, _reactPortal.elementContains)(actionsRef.current, event.target);
78
45
  if (isEventFromActions) {
79
46
  return;
@@ -82,156 +49,130 @@ const useTreeItem_unstable = (props, ref)=>{
82
49
  if (isEventFromSubtree) {
83
50
  return;
84
51
  }
52
+ const isEventFromSelection = selectionRef.current && (0, _reactPortal.elementContains)(selectionRef.current, event.target);
53
+ if (isEventFromSelection) {
54
+ return;
55
+ }
85
56
  const isFromExpandIcon = expandIconRef.current && (0, _reactPortal.elementContains)(expandIconRef.current, event.target);
86
- requestOpenChange({
87
- event,
88
- open: isLeaf ? open : !open,
89
- type: isFromExpandIcon ? _tokens.treeDataTypes.expandIconClick : _tokens.treeDataTypes.click,
90
- target: event.currentTarget
91
- });
92
- requestNavigation({
57
+ requestTreeResponse({
93
58
  event,
59
+ value,
60
+ itemType,
94
61
  target: event.currentTarget,
95
- type: _tokens.treeDataTypes.click
62
+ type: isFromExpandIcon ? _tokens.treeDataTypes.ExpandIconClick : _tokens.treeDataTypes.Click
96
63
  });
97
64
  });
98
65
  const handleKeyDown = (0, _reactUtilities.useEventCallback)((event)=>{
99
66
  onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
100
- if (event.currentTarget !== event.target) {
101
- return;
102
- }
103
- if (event.isDefaultPrevented()) {
67
+ // Ignore keyboard events that do not originate from the current tree item.
68
+ if (event.isDefaultPrevented() || event.currentTarget !== event.target) {
104
69
  return;
105
70
  }
106
71
  switch(event.key){
107
- case _keyboardKeys.Enter:
108
- return handleEnter(event);
109
- case _keyboardKeys.ArrowRight:
110
- return handleArrowRight(event);
111
- case _keyboardKeys.ArrowLeft:
112
- return handleArrowLeft(event);
113
- case _keyboardKeys.End:
114
- return requestNavigation({
115
- event,
116
- type: _tokens.treeDataTypes.end,
117
- target: event.currentTarget
118
- });
119
- case _keyboardKeys.Home:
120
- return requestNavigation({
121
- event,
122
- type: _tokens.treeDataTypes.home,
123
- target: event.currentTarget
124
- });
125
- case _keyboardKeys.ArrowUp:
126
- return requestNavigation({
127
- event,
128
- type: _tokens.treeDataTypes.arrowUp,
129
- target: event.currentTarget
130
- });
131
- case _keyboardKeys.ArrowDown:
132
- return requestNavigation({
72
+ case _keyboardKeys.Space:
73
+ if (selectionMode !== 'none') {
74
+ var _selectionRef_current;
75
+ (_selectionRef_current = selectionRef.current) === null || _selectionRef_current === void 0 ? void 0 : _selectionRef_current.click();
76
+ event.preventDefault();
77
+ }
78
+ return;
79
+ case _tokens.treeDataTypes.End:
80
+ case _tokens.treeDataTypes.Home:
81
+ case _tokens.treeDataTypes.Enter:
82
+ case _tokens.treeDataTypes.ArrowUp:
83
+ case _tokens.treeDataTypes.ArrowDown:
84
+ case _tokens.treeDataTypes.ArrowLeft:
85
+ case _tokens.treeDataTypes.ArrowRight:
86
+ return requestTreeResponse({
133
87
  event,
134
- type: _tokens.treeDataTypes.arrowDown,
135
- target: event.currentTarget
88
+ target: event.currentTarget,
89
+ value,
90
+ itemType,
91
+ type: event.key
136
92
  });
137
93
  }
138
94
  const isTypeAheadCharacter = event.key.length === 1 && event.key.match(/\w/) && !event.altKey && !event.ctrlKey && !event.metaKey;
139
95
  if (isTypeAheadCharacter) {
140
- return requestNavigation({
96
+ requestTreeResponse({
141
97
  event,
142
98
  target: event.currentTarget,
143
- type: _tokens.treeDataTypes.typeAhead
99
+ value,
100
+ itemType,
101
+ type: _tokens.treeDataTypes.TypeAhead
144
102
  });
145
103
  }
146
104
  });
147
- const [isActionsVisible, setActionsVisible] = _react.useState(false);
148
- const showActions = (0, _reactUtilities.useEventCallback)((event)=>{
149
- const isEventFromSubtree = subtreeRef.current && (0, _reactPortal.elementContains)(subtreeRef.current, event.target);
150
- if (!isEventFromSubtree) {
105
+ const handleActionsVisible = (0, _reactUtilities.useEventCallback)((event)=>{
106
+ const isTargetFromSubtree = Boolean(subtreeRef.current && (0, _reactPortal.elementContains)(subtreeRef.current, event.target));
107
+ if (!isTargetFromSubtree) {
151
108
  setActionsVisible(true);
152
109
  }
153
110
  });
154
- const hideActions = (0, _reactUtilities.useEventCallback)((event)=>{
155
- const isEventFromSubtree = subtreeRef.current && (0, _reactPortal.elementContains)(subtreeRef.current, event.target);
156
- if (!isEventFromSubtree) {
157
- setActionsVisible(false);
111
+ const handleActionsInvisible = (0, _reactUtilities.useEventCallback)((event)=>{
112
+ const isTargetFromSubtree = Boolean(subtreeRef.current && (0, _reactPortal.elementContains)(subtreeRef.current, event.target));
113
+ const isRelatedTargetFromActions = Boolean(actionsRef.current && (0, _reactPortal.elementContains)(actionsRef.current, event.relatedTarget));
114
+ if (isRelatedTargetFromActions) {
115
+ return setActionsVisible(true);
116
+ }
117
+ if (!isTargetFromSubtree) {
118
+ return setActionsVisible(false);
158
119
  }
159
120
  });
160
- // Listens to focusout event on the document to ensure treeitem actions visibility on portal scenarios
161
- // TODO: find a better way to ensure this behavior
162
- _react.useEffect(()=>{
163
- if (actionsRef.current) {
164
- const handleFocusOut = (event)=>{
165
- setActionsVisible((0, _reactPortal.elementContains)(actionsRef.current, event.relatedTarget));
166
- };
167
- targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('focusout', handleFocusOut, {
168
- passive: true
169
- });
170
- return ()=>{
171
- targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('focusout', handleFocusOut);
172
- };
121
+ const handleChange = (0, _reactUtilities.useEventCallback)((event)=>{
122
+ if (event.isDefaultPrevented()) {
123
+ return;
124
+ }
125
+ const isEventFromSubtree = subtreeRef.current && (0, _reactPortal.elementContains)(subtreeRef.current, event.target);
126
+ if (isEventFromSubtree) {
127
+ return;
173
128
  }
174
- }, [
175
- targetDocument
176
- ]);
129
+ requestTreeResponse({
130
+ event,
131
+ value,
132
+ itemType,
133
+ type: 'Change',
134
+ target: event.currentTarget,
135
+ checked: checked === 'mixed' ? true : !checked
136
+ });
137
+ });
177
138
  return {
178
- isLeaf,
139
+ value,
179
140
  open,
141
+ checked,
142
+ subtreeRef,
143
+ layoutRef,
144
+ selectionRef,
145
+ expandIconRef,
146
+ actionsRef: (0, _reactUtilities.useMergedRefs)(handleActionsRef, actionsRef),
147
+ itemType,
180
148
  level,
181
- buttonSize: 'small',
182
- isActionsVisible: actions ? isActionsVisible : false,
183
149
  components: {
184
- content: 'div',
185
- root: 'div',
186
- expandIcon: 'span',
187
- actions: 'span',
188
- subtree: 'span'
150
+ root: 'div'
189
151
  },
190
- subtree: (0, _reactUtilities.resolveShorthand)(subtree, {
191
- required: Boolean(subtreeChildren),
192
- defaultProps: {
193
- children: subtreeChildren,
194
- ref: (0, _reactUtilities.useMergedRefs)(subtreeRef, (0, _reactUtilities.isResolvedShorthand)(subtree) ? subtree.ref : undefined)
195
- }
196
- }),
197
- content: (0, _reactUtilities.resolveShorthand)(content, {
198
- required: true,
199
- defaultProps: {
200
- children
201
- }
202
- }),
203
- root: (0, _reactUtilities.getNativeElementProps)(as, {
152
+ isAsideVisible,
153
+ isActionsVisible,
154
+ root: _reactUtilities.slot.always((0, _reactUtilities.getNativeElementProps)(as, {
204
155
  tabIndex: -1,
205
156
  ...rest,
206
- id,
207
157
  ref,
208
- children: null,
209
- 'aria-level': level,
210
- 'aria-expanded': isBranch ? open : undefined,
211
158
  role: 'treeitem',
159
+ 'aria-level': level,
160
+ [_getTreeItemValueFromElement.dataTreeItemValueAttrName]: value,
161
+ 'aria-checked': selectionMode === 'multiselect' ? checked : undefined,
162
+ // aria-selected is required according to WAI-ARIA spec
163
+ // https://www.w3.org/TR/wai-aria-1.1/#treeitem
164
+ // Casting: when selectionMode is 'single', checked is a boolean
165
+ 'aria-selected': selectionMode === 'single' ? checked : 'false',
166
+ 'aria-expanded': itemType === 'branch' ? open : undefined,
212
167
  onClick: handleClick,
213
168
  onKeyDown: handleKeyDown,
214
- onMouseOver: actions ? showActions : undefined,
215
- onFocus: actions ? showActions : undefined,
216
- onMouseOut: actions ? hideActions : undefined,
217
- onBlur: actions ? hideActions : undefined
218
- }),
219
- expandIcon: (0, _reactUtilities.resolveShorthand)(expandIcon, {
220
- required: isBranch,
221
- defaultProps: {
222
- children: /*#__PURE__*/ _react.createElement(_reactIcons.ChevronRight12Regular, {
223
- style: _useTreeItemStyles.expandIconInlineStyles[expandIconRotation]
224
- }),
225
- 'aria-hidden': true,
226
- ref: (0, _reactUtilities.useMergedRefs)((0, _reactUtilities.isResolvedShorthand)(expandIcon) ? expandIcon.ref : undefined, expandIconRef)
227
- }
228
- }),
229
- actions: (0, _reactUtilities.resolveShorthand)(actions, {
230
- defaultProps: {
231
- ref: (0, _reactUtilities.useMergedRefs)((0, _reactUtilities.isResolvedShorthand)(actions) ? actions.ref : undefined, actionsRef)
232
- }
169
+ onMouseOver: handleActionsVisible,
170
+ onFocus: handleActionsVisible,
171
+ onMouseOut: handleActionsInvisible,
172
+ onBlur: handleActionsInvisible,
173
+ onChange: handleChange
174
+ }), {
175
+ elementType: 'div'
233
176
  })
234
177
  };
235
- }; //# sourceMappingURL=useTreeItem.js.map
236
-
237
- //# sourceMappingURL=useTreeItem.js.map
178
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/components/TreeItem/useTreeItem.js"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, isResolvedShorthand, resolveShorthand, useId } from '@fluentui/react-utilities';\nimport { ChevronRight12Regular } from '@fluentui/react-icons';\nimport { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { useEventCallback } from '@fluentui/react-utilities';\nimport { expandIconInlineStyles } from './useTreeItemStyles';\nimport { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, End, Enter, Home } from '@fluentui/keyboard-keys';\nimport { useMergedRefs } from '@fluentui/react-utilities';\nimport { elementContains } from '@fluentui/react-portal';\nimport { useTreeContext_unstable } from '../../contexts/index';\nimport { treeDataTypes } from '../../utils/tokens';\n/**\n * Create the state required to render TreeItem.\n *\n * The returned state can be modified with hooks such as useTreeItemStyles_unstable,\n * before being passed to renderTreeItem_unstable.\n *\n * @param props - props from this instance of TreeItem\n * @param ref - reference to root HTMLElement of TreeItem\n */\nexport const useTreeItem_unstable = (props, ref) => {\n const [children, subtreeChildren] = React.Children.toArray(props.children);\n const contextLevel = useTreeContext_unstable(ctx => ctx.level);\n const {\n content,\n subtree,\n expandIcon,\n leaf: isLeaf = subtreeChildren === undefined,\n actions,\n as = 'div',\n onClick,\n onKeyDown,\n ['aria-level']: level = contextLevel,\n ...rest\n } = props;\n const requestOpenChange = useTreeContext_unstable(ctx => ctx.requestOpenChange);\n const requestNavigation = useTreeContext_unstable(ctx => ctx.requestNavigation);\n const id = useId('fui-TreeItem-', props.id);\n const isBranch = !isLeaf;\n const open = useTreeContext_unstable(ctx => isBranch && ctx.openItems.has(id));\n const {\n dir,\n targetDocument\n } = useFluent_unstable();\n const expandIconRotation = open ? 90 : dir !== 'rtl' ? 0 : 180;\n const actionsRef = React.useRef(null);\n const expandIconRef = React.useRef(null);\n const subtreeRef = React.useRef(null);\n const handleArrowRight = event => {\n if (!open && isBranch) {\n return requestOpenChange({\n event,\n open: true,\n type: treeDataTypes.arrowRight,\n target: event.currentTarget\n });\n }\n if (open && isBranch) {\n return requestNavigation({\n event,\n type: treeDataTypes.arrowRight,\n target: event.currentTarget\n });\n }\n };\n const handleArrowLeft = event => {\n if (open && isBranch) {\n return requestOpenChange({\n event,\n open: false,\n type: treeDataTypes.arrowLeft,\n target: event.currentTarget\n });\n }\n if (!open && level > 1) {\n return requestNavigation({\n event,\n target: event.currentTarget,\n type: treeDataTypes.arrowLeft\n });\n }\n };\n const handleEnter = event => {\n requestOpenChange({\n event,\n open: isLeaf ? open : !open,\n type: treeDataTypes.enter,\n target: event.currentTarget\n });\n };\n const handleClick = useEventCallback(event => {\n onClick === null || onClick === void 0 ? void 0 : onClick(event);\n const isEventFromActions = actionsRef.current && elementContains(actionsRef.current, event.target);\n if (isEventFromActions) {\n return;\n }\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target);\n if (isEventFromSubtree) {\n return;\n }\n const isFromExpandIcon = expandIconRef.current && elementContains(expandIconRef.current, event.target);\n requestOpenChange({\n event,\n open: isLeaf ? open : !open,\n type: isFromExpandIcon ? treeDataTypes.expandIconClick : treeDataTypes.click,\n target: event.currentTarget\n });\n requestNavigation({\n event,\n target: event.currentTarget,\n type: treeDataTypes.click\n });\n });\n const handleKeyDown = useEventCallback(event => {\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);\n if (event.currentTarget !== event.target) {\n return;\n }\n if (event.isDefaultPrevented()) {\n return;\n }\n switch (event.key) {\n case Enter:\n return handleEnter(event);\n case ArrowRight:\n return handleArrowRight(event);\n case ArrowLeft:\n return handleArrowLeft(event);\n case End:\n return requestNavigation({\n event,\n type: treeDataTypes.end,\n target: event.currentTarget\n });\n case Home:\n return requestNavigation({\n event,\n type: treeDataTypes.home,\n target: event.currentTarget\n });\n case ArrowUp:\n return requestNavigation({\n event,\n type: treeDataTypes.arrowUp,\n target: event.currentTarget\n });\n case ArrowDown:\n return requestNavigation({\n event,\n type: treeDataTypes.arrowDown,\n target: event.currentTarget\n });\n }\n const isTypeAheadCharacter = event.key.length === 1 && event.key.match(/\\w/) && !event.altKey && !event.ctrlKey && !event.metaKey;\n if (isTypeAheadCharacter) {\n return requestNavigation({\n event,\n target: event.currentTarget,\n type: treeDataTypes.typeAhead\n });\n }\n });\n const [isActionsVisible, setActionsVisible] = React.useState(false);\n const showActions = useEventCallback(event => {\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target);\n if (!isEventFromSubtree) {\n setActionsVisible(true);\n }\n });\n const hideActions = useEventCallback(event => {\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target);\n if (!isEventFromSubtree) {\n setActionsVisible(false);\n }\n });\n // Listens to focusout event on the document to ensure treeitem actions visibility on portal scenarios\n // TODO: find a better way to ensure this behavior\n React.useEffect(() => {\n if (actionsRef.current) {\n const handleFocusOut = event => {\n setActionsVisible(elementContains(actionsRef.current, event.relatedTarget));\n };\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('focusout', handleFocusOut, {\n passive: true\n });\n return () => {\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('focusout', handleFocusOut);\n };\n }\n }, [targetDocument]);\n return {\n isLeaf,\n open,\n level,\n buttonSize: 'small',\n isActionsVisible: actions ? isActionsVisible : false,\n components: {\n content: 'div',\n root: 'div',\n expandIcon: 'span',\n actions: 'span',\n subtree: 'span'\n },\n subtree: resolveShorthand(subtree, {\n required: Boolean(subtreeChildren),\n defaultProps: {\n children: subtreeChildren,\n ref: useMergedRefs(subtreeRef, isResolvedShorthand(subtree) ? subtree.ref : undefined)\n }\n }),\n content: resolveShorthand(content, {\n required: true,\n defaultProps: {\n children\n }\n }),\n root: getNativeElementProps(as, {\n tabIndex: -1,\n ...rest,\n id,\n ref,\n children: null,\n 'aria-level': level,\n 'aria-expanded': isBranch ? open : undefined,\n role: 'treeitem',\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n onMouseOver: actions ? showActions : undefined,\n onFocus: actions ? showActions : undefined,\n onMouseOut: actions ? hideActions : undefined,\n onBlur: actions ? hideActions : undefined\n }),\n expandIcon: resolveShorthand(expandIcon, {\n required: isBranch,\n defaultProps: {\n children: /*#__PURE__*/React.createElement(ChevronRight12Regular, {\n style: expandIconInlineStyles[expandIconRotation]\n }),\n 'aria-hidden': true,\n ref: useMergedRefs(isResolvedShorthand(expandIcon) ? expandIcon.ref : undefined, expandIconRef)\n }\n }),\n actions: resolveShorthand(actions, {\n defaultProps: {\n ref: useMergedRefs(isResolvedShorthand(actions) ? actions.ref : undefined, actionsRef)\n }\n })\n };\n};\n//# sourceMappingURL=useTreeItem.js.map"],"names":["useTreeItem_unstable","props","ref","children","subtreeChildren","React","Children","toArray","contextLevel","useTreeContext_unstable","ctx","level","content","subtree","expandIcon","leaf","isLeaf","undefined","actions","as","onClick","onKeyDown","rest","requestOpenChange","requestNavigation","id","useId","isBranch","open","openItems","has","dir","targetDocument","useFluent_unstable","expandIconRotation","actionsRef","useRef","expandIconRef","subtreeRef","handleArrowRight","event","type","treeDataTypes","arrowRight","target","currentTarget","handleArrowLeft","arrowLeft","handleEnter","enter","handleClick","useEventCallback","isEventFromActions","current","elementContains","isEventFromSubtree","isFromExpandIcon","expandIconClick","click","handleKeyDown","isDefaultPrevented","key","Enter","ArrowRight","ArrowLeft","End","end","Home","home","ArrowUp","arrowUp","ArrowDown","arrowDown","isTypeAheadCharacter","length","match","altKey","ctrlKey","metaKey","typeAhead","isActionsVisible","setActionsVisible","useState","showActions","hideActions","useEffect","handleFocusOut","relatedTarget","addEventListener","passive","removeEventListener","buttonSize","components","root","resolveShorthand","required","Boolean","defaultProps","useMergedRefs","isResolvedShorthand","getNativeElementProps","tabIndex","role","onMouseOver","onFocus","onMouseOut","onBlur","createElement","ChevronRight12Regular","style","expandIconInlineStyles"],"mappings":"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"}
1
+ {"version":3,"sources":["useTreeItem.js"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useId, useMergedRefs, useEventCallback, slot } from '@fluentui/react-utilities';\nimport { elementContains } from '@fluentui/react-portal';\nimport { useTreeContext_unstable } from '../../contexts/index';\nimport { dataTreeItemValueAttrName } from '../../utils/getTreeItemValueFromElement';\nimport { Space } from '@fluentui/keyboard-keys';\nimport { treeDataTypes } from '../../utils/tokens';\n/**\n * Create the state required to render TreeItem.\n *\n * The returned state can be modified with hooks such as useTreeItemStyles_unstable,\n * before being passed to renderTreeItem_unstable.\n *\n * @param props - props from this instance of TreeItem\n * @param ref - reference to root HTMLElement of TreeItem\n */ export function useTreeItem_unstable(props, ref) {\n var _props_value;\n const contextLevel = useTreeContext_unstable((ctx)=>ctx.level);\n // note, if the value is not externally provided,\n // then selection and expansion will not work properly\n const value = useId('fuiTreeItemValue-', (_props_value = props.value) === null || _props_value === void 0 ? void 0 : _props_value.toString());\n const { onClick , onKeyDown , as ='div' , itemType ='leaf' , 'aria-level': level = contextLevel , ...rest } = props;\n const requestTreeResponse = useTreeContext_unstable((ctx)=>ctx.requestTreeResponse);\n const [isActionsVisible, setActionsVisible] = React.useState(false);\n const [isAsideVisible, setAsideVisible] = React.useState(true);\n const handleActionsRef = (actionsElement)=>{\n setAsideVisible(actionsElement === null);\n };\n const actionsRef = React.useRef(null);\n const expandIconRef = React.useRef(null);\n const layoutRef = React.useRef(null);\n const subtreeRef = React.useRef(null);\n const selectionRef = React.useRef(null);\n const open = useTreeContext_unstable((ctx)=>ctx.openItems.has(value));\n const selectionMode = useTreeContext_unstable((ctx)=>ctx.selectionMode);\n var _ctx_checkedItems_get;\n const checked = useTreeContext_unstable((ctx)=>(_ctx_checkedItems_get = ctx.checkedItems.get(value)) !== null && _ctx_checkedItems_get !== void 0 ? _ctx_checkedItems_get : false);\n const handleClick = useEventCallback((event)=>{\n onClick === null || onClick === void 0 ? void 0 : onClick(event);\n if (event.isDefaultPrevented()) {\n return;\n }\n const isEventFromActions = actionsRef.current && elementContains(actionsRef.current, event.target);\n if (isEventFromActions) {\n return;\n }\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target);\n if (isEventFromSubtree) {\n return;\n }\n const isEventFromSelection = selectionRef.current && elementContains(selectionRef.current, event.target);\n if (isEventFromSelection) {\n return;\n }\n const isFromExpandIcon = expandIconRef.current && elementContains(expandIconRef.current, event.target);\n requestTreeResponse({\n event,\n value,\n itemType,\n target: event.currentTarget,\n type: isFromExpandIcon ? treeDataTypes.ExpandIconClick : treeDataTypes.Click\n });\n });\n const handleKeyDown = useEventCallback((event)=>{\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);\n // Ignore keyboard events that do not originate from the current tree item.\n if (event.isDefaultPrevented() || event.currentTarget !== event.target) {\n return;\n }\n switch(event.key){\n case Space:\n if (selectionMode !== 'none') {\n var _selectionRef_current;\n (_selectionRef_current = selectionRef.current) === null || _selectionRef_current === void 0 ? void 0 : _selectionRef_current.click();\n event.preventDefault();\n }\n return;\n case treeDataTypes.End:\n case treeDataTypes.Home:\n case treeDataTypes.Enter:\n case treeDataTypes.ArrowUp:\n case treeDataTypes.ArrowDown:\n case treeDataTypes.ArrowLeft:\n case treeDataTypes.ArrowRight:\n return requestTreeResponse({\n event,\n target: event.currentTarget,\n value,\n itemType,\n type: event.key\n });\n }\n const isTypeAheadCharacter = event.key.length === 1 && event.key.match(/\\w/) && !event.altKey && !event.ctrlKey && !event.metaKey;\n if (isTypeAheadCharacter) {\n requestTreeResponse({\n event,\n target: event.currentTarget,\n value,\n itemType,\n type: treeDataTypes.TypeAhead\n });\n }\n });\n const handleActionsVisible = useEventCallback((event)=>{\n const isTargetFromSubtree = Boolean(subtreeRef.current && elementContains(subtreeRef.current, event.target));\n if (!isTargetFromSubtree) {\n setActionsVisible(true);\n }\n });\n const handleActionsInvisible = useEventCallback((event)=>{\n const isTargetFromSubtree = Boolean(subtreeRef.current && elementContains(subtreeRef.current, event.target));\n const isRelatedTargetFromActions = Boolean(actionsRef.current && elementContains(actionsRef.current, event.relatedTarget));\n if (isRelatedTargetFromActions) {\n return setActionsVisible(true);\n }\n if (!isTargetFromSubtree) {\n return setActionsVisible(false);\n }\n });\n const handleChange = useEventCallback((event)=>{\n if (event.isDefaultPrevented()) {\n return;\n }\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target);\n if (isEventFromSubtree) {\n return;\n }\n requestTreeResponse({\n event,\n value,\n itemType,\n type: 'Change',\n target: event.currentTarget,\n checked: checked === 'mixed' ? true : !checked\n });\n });\n return {\n value,\n open,\n checked,\n subtreeRef,\n layoutRef,\n selectionRef,\n expandIconRef,\n actionsRef: useMergedRefs(handleActionsRef, actionsRef),\n itemType,\n level,\n components: {\n root: 'div'\n },\n isAsideVisible,\n isActionsVisible,\n root: slot.always(getNativeElementProps(as, {\n tabIndex: -1,\n ...rest,\n ref,\n role: 'treeitem',\n 'aria-level': level,\n [dataTreeItemValueAttrName]: value,\n 'aria-checked': selectionMode === 'multiselect' ? checked : undefined,\n // aria-selected is required according to WAI-ARIA spec\n // https://www.w3.org/TR/wai-aria-1.1/#treeitem\n // Casting: when selectionMode is 'single', checked is a boolean\n 'aria-selected': selectionMode === 'single' ? checked : 'false',\n 'aria-expanded': itemType === 'branch' ? open : undefined,\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n onMouseOver: handleActionsVisible,\n onFocus: handleActionsVisible,\n onMouseOut: handleActionsInvisible,\n onBlur: handleActionsInvisible,\n onChange: handleChange\n }), {\n elementType: 'div'\n })\n };\n}\n"],"names":["useTreeItem_unstable","props","ref","_props_value","contextLevel","useTreeContext_unstable","ctx","level","value","useId","toString","onClick","onKeyDown","as","itemType","rest","requestTreeResponse","isActionsVisible","setActionsVisible","React","useState","isAsideVisible","setAsideVisible","handleActionsRef","actionsElement","actionsRef","useRef","expandIconRef","layoutRef","subtreeRef","selectionRef","open","openItems","has","selectionMode","_ctx_checkedItems_get","checked","checkedItems","get","handleClick","useEventCallback","event","isDefaultPrevented","isEventFromActions","current","elementContains","target","isEventFromSubtree","isEventFromSelection","isFromExpandIcon","currentTarget","type","treeDataTypes","ExpandIconClick","Click","handleKeyDown","key","Space","_selectionRef_current","click","preventDefault","End","Home","Enter","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","isTypeAheadCharacter","length","match","altKey","ctrlKey","metaKey","TypeAhead","handleActionsVisible","isTargetFromSubtree","Boolean","handleActionsInvisible","isRelatedTargetFromActions","relatedTarget","handleChange","useMergedRefs","components","root","slot","always","getNativeElementProps","tabIndex","role","dataTreeItemValueAttrName","undefined","onMouseOver","onFocus","onMouseOut","onBlur","onChange","elementType"],"mappings":"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"}
@@ -6,24 +6,25 @@ Object.defineProperty(exports, "useTreeItemContextValues_unstable", {
6
6
  enumerable: true,
7
7
  get: ()=>useTreeItemContextValues_unstable
8
8
  });
9
- const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
10
- const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
11
9
  function useTreeItemContextValues_unstable(state) {
12
- const { buttonSize , isActionsVisible } = state;
13
- const treeItem = _react.useMemo(()=>({
14
- isActionsVisible
15
- }), [
16
- isActionsVisible
17
- ]);
18
- const button = _react.useMemo(()=>({
19
- size: buttonSize
20
- }), [
21
- buttonSize
22
- ]);
10
+ const { value , itemType , layoutRef , subtreeRef , open , expandIconRef , actionsRef , isActionsVisible , isAsideVisible , selectionRef , checked } = state;
11
+ /**
12
+ * This context is created with "@fluentui/react-context-selector",
13
+ * there is no sense to memoize it
14
+ */ const treeItem = {
15
+ value,
16
+ checked,
17
+ itemType,
18
+ layoutRef,
19
+ subtreeRef,
20
+ open,
21
+ selectionRef,
22
+ isActionsVisible,
23
+ isAsideVisible,
24
+ actionsRef,
25
+ expandIconRef
26
+ };
23
27
  return {
24
- treeItem,
25
- button
28
+ treeItem
26
29
  };
27
- } //# sourceMappingURL=useTreeItemContextValues.js.map
28
-
29
- //# sourceMappingURL=useTreeItemContextValues.js.map
30
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/components/TreeItem/useTreeItemContextValues.js"],"sourcesContent":["import * as React from 'react';\nexport function useTreeItemContextValues_unstable(state) {\n const {\n buttonSize,\n isActionsVisible\n } = state;\n const treeItem = React.useMemo(() => ({\n isActionsVisible\n }), [isActionsVisible]);\n const button = React.useMemo(() => ({\n size: buttonSize\n }), [buttonSize]);\n return {\n treeItem,\n button\n };\n}\n//# sourceMappingURL=useTreeItemContextValues.js.map"],"names":["useTreeItemContextValues_unstable","state","buttonSize","isActionsVisible","treeItem","React","useMemo","button","size"],"mappings":";;;;+BACgBA;;aAAAA;;;6DADO;AAChB,SAASA,kCAAkCC,KAAK,EAAE;IACvD,MAAM,EACJC,WAAU,EACVC,iBAAgB,EACjB,GAAGF;IACJ,MAAMG,WAAWC,OAAMC,OAAO,CAAC,IAAO,CAAA;YACpCH;QACF,CAAA,GAAI;QAACA;KAAiB;IACtB,MAAMI,SAASF,OAAMC,OAAO,CAAC,IAAO,CAAA;YAClCE,MAAMN;QACR,CAAA,GAAI;QAACA;KAAW;IAChB,OAAO;QACLE;QACAG;IACF;AACF,EACA,oDAAoD"}
1
+ {"version":3,"sources":["useTreeItemContextValues.js"],"sourcesContent":["export function useTreeItemContextValues_unstable(state) {\n const { value , itemType , layoutRef , subtreeRef , open , expandIconRef , actionsRef , isActionsVisible , isAsideVisible , selectionRef , checked } = state;\n /**\n * This context is created with \"@fluentui/react-context-selector\",\n * there is no sense to memoize it\n */ const treeItem = {\n value,\n checked,\n itemType,\n layoutRef,\n subtreeRef,\n open,\n selectionRef,\n isActionsVisible,\n isAsideVisible,\n actionsRef,\n expandIconRef\n };\n return {\n treeItem\n };\n}\n"],"names":["useTreeItemContextValues_unstable","state","value","itemType","layoutRef","subtreeRef","open","expandIconRef","actionsRef","isActionsVisible","isAsideVisible","selectionRef","checked","treeItem"],"mappings":";;;;+BAAgBA;;aAAAA;;AAAT,SAASA,kCAAkCC,KAAK,EAAE;IACrD,MAAM,EAAEC,MAAK,EAAGC,SAAQ,EAAGC,UAAS,EAAGC,WAAU,EAAGC,KAAI,EAAGC,cAAa,EAAGC,WAAU,EAAGC,iBAAgB,EAAGC,eAAc,EAAGC,aAAY,EAAGC,QAAO,EAAG,GAAGX;IACxJ;;;GAGD,GAAG,MAAMY,WAAW;QACfX;QACAU;QACAT;QACAC;QACAC;QACAC;QACAK;QACAF;QACAC;QACAF;QACAD;IACJ;IACA,OAAO;QACHM;IACJ;AACJ"}