@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
@@ -1,18 +1,16 @@
1
1
  import * as React from 'react';
2
2
  import { useTreeItemPersonaLayout_unstable } from './useTreeItemPersonaLayout';
3
3
  import { renderTreeItemPersonaLayout_unstable } from './renderTreeItemPersonaLayout';
4
- import { useTreeItemPersonaLayoutStyles_unstable } from './useTreeItemPersonaLayoutStyles';
4
+ import { useTreeItemPersonaLayoutStyles_unstable } from './useTreeItemPersonaLayoutStyles.styles';
5
5
  import { useTreeItemPersonaLayoutContextValues_unstable } from './useTreeItemPersonaLayoutContextValues';
6
6
  /**
7
7
  * The `TreeItemPersonaLayout` component is used as a child of `TreeItem` to display a `TreeItem` with a media (typically an avatar) and a description.
8
8
  * It provides a more visually appealing representation of a `TreeItem` and is typically used to display a list of people or topics.
9
9
  * This component should only be used as a direct child of `TreeItem`.
10
- */
11
- export const TreeItemPersonaLayout = /*#__PURE__*/React.forwardRef((props, ref) => {
12
- const state = useTreeItemPersonaLayout_unstable(props, ref);
13
- useTreeItemPersonaLayoutStyles_unstable(state);
14
- const contextValues = useTreeItemPersonaLayoutContextValues_unstable(state);
15
- return renderTreeItemPersonaLayout_unstable(state, contextValues);
10
+ */ export const TreeItemPersonaLayout = /*#__PURE__*/ React.forwardRef((props, ref)=>{
11
+ const state = useTreeItemPersonaLayout_unstable(props, ref);
12
+ useTreeItemPersonaLayoutStyles_unstable(state);
13
+ const contextValues = useTreeItemPersonaLayoutContextValues_unstable(state);
14
+ return renderTreeItemPersonaLayout_unstable(state, contextValues);
16
15
  });
17
16
  TreeItemPersonaLayout.displayName = 'TreeItemPersonaLayout';
18
- //# sourceMappingURL=TreeItemPersonaLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useTreeItemPersonaLayout_unstable","renderTreeItemPersonaLayout_unstable","useTreeItemPersonaLayoutStyles_unstable","useTreeItemPersonaLayoutContextValues_unstable","TreeItemPersonaLayout","forwardRef","props","ref","state","contextValues","displayName"],"sources":["../../../src/components/TreeItemPersonaLayout/TreeItemPersonaLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useTreeItemPersonaLayout_unstable } from './useTreeItemPersonaLayout';\nimport { renderTreeItemPersonaLayout_unstable } from './renderTreeItemPersonaLayout';\nimport { useTreeItemPersonaLayoutStyles_unstable } from './useTreeItemPersonaLayoutStyles';\nimport type { TreeItemPersonaLayoutProps } from './TreeItemPersonaLayout.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useTreeItemPersonaLayoutContextValues_unstable } from './useTreeItemPersonaLayoutContextValues';\n\n/**\n * The `TreeItemPersonaLayout` component is used as a child of `TreeItem` to display a `TreeItem` with a media (typically an avatar) and a description.\n * It provides a more visually appealing representation of a `TreeItem` and is typically used to display a list of people or topics.\n * This component should only be used as a direct child of `TreeItem`.\n */\nexport const TreeItemPersonaLayout: ForwardRefComponent<TreeItemPersonaLayoutProps> = React.forwardRef((props, ref) => {\n const state = useTreeItemPersonaLayout_unstable(props, ref);\n\n useTreeItemPersonaLayoutStyles_unstable(state);\n\n const contextValues = useTreeItemPersonaLayoutContextValues_unstable(state);\n\n return renderTreeItemPersonaLayout_unstable(state, contextValues);\n});\n\nTreeItemPersonaLayout.displayName = 'TreeItemPersonaLayout';\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,iCAAiC,QAAQ;AAClD,SAASC,oCAAoC,QAAQ;AACrD,SAASC,uCAAuC,QAAQ;AAGxD,SAASC,8CAA8C,QAAQ;AAE/D;;;;;AAKA,OAAO,MAAMC,qBAAA,gBAAyEL,KAAA,CAAMM,UAAU,CAAC,CAACC,KAAA,EAAOC,GAAA,KAAQ;EACrH,MAAMC,KAAA,GAAQR,iCAAA,CAAkCM,KAAA,EAAOC,GAAA;EAEvDL,uCAAA,CAAwCM,KAAA;EAExC,MAAMC,aAAA,GAAgBN,8CAAA,CAA+CK,KAAA;EAErE,OAAOP,oCAAA,CAAqCO,KAAA,EAAOC,aAAA;AACrD;AAEAL,qBAAA,CAAsBM,WAAW,GAAG"}
1
+ {"version":3,"sources":["TreeItemPersonaLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useTreeItemPersonaLayout_unstable } from './useTreeItemPersonaLayout';\nimport { renderTreeItemPersonaLayout_unstable } from './renderTreeItemPersonaLayout';\nimport { useTreeItemPersonaLayoutStyles_unstable } from './useTreeItemPersonaLayoutStyles.styles';\nimport type { TreeItemPersonaLayoutProps } from './TreeItemPersonaLayout.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useTreeItemPersonaLayoutContextValues_unstable } from './useTreeItemPersonaLayoutContextValues';\n\n/**\n * The `TreeItemPersonaLayout` component is used as a child of `TreeItem` to display a `TreeItem` with a media (typically an avatar) and a description.\n * It provides a more visually appealing representation of a `TreeItem` and is typically used to display a list of people or topics.\n * This component should only be used as a direct child of `TreeItem`.\n */\nexport const TreeItemPersonaLayout: ForwardRefComponent<TreeItemPersonaLayoutProps> = React.forwardRef((props, ref) => {\n const state = useTreeItemPersonaLayout_unstable(props, ref);\n\n useTreeItemPersonaLayoutStyles_unstable(state);\n\n const contextValues = useTreeItemPersonaLayoutContextValues_unstable(state);\n\n return renderTreeItemPersonaLayout_unstable(state, contextValues);\n});\n\nTreeItemPersonaLayout.displayName = 'TreeItemPersonaLayout';\n"],"names":["React","useTreeItemPersonaLayout_unstable","renderTreeItemPersonaLayout_unstable","useTreeItemPersonaLayoutStyles_unstable","useTreeItemPersonaLayoutContextValues_unstable","TreeItemPersonaLayout","forwardRef","props","ref","state","contextValues","displayName"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,iCAAiC,QAAQ,6BAA6B;AAC/E,SAASC,oCAAoC,QAAQ,gCAAgC;AACrF,SAASC,uCAAuC,QAAQ,0CAA0C;AAGlG,SAASC,8CAA8C,QAAQ,0CAA0C;AAEzG;;;;CAIC,GACD,OAAO,MAAMC,sCAAyEL,MAAMM,UAAU,CAAC,CAACC,OAAOC,MAAQ;IACrH,MAAMC,QAAQR,kCAAkCM,OAAOC;IAEvDL,wCAAwCM;IAExC,MAAMC,gBAAgBN,+CAA+CK;IAErE,OAAOP,qCAAqCO,OAAOC;AACrD,GAAG;AAEHL,sBAAsBM,WAAW,GAAG"}
@@ -1,2 +1 @@
1
- export {};
2
- //# sourceMappingURL=TreeItemPersonaLayout.types.js.map
1
+ export { };
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { AvatarContextValue, AvatarSize } from '@fluentui/react-avatar';\nimport type { TreeItemContextValue } from '../../contexts/treeItemContext';\n\nexport type TreeItemPersonaLayoutContextValues = {\n avatar: AvatarContextValue;\n};\n\nexport type TreeItemPersonaLayoutSlots = {\n root: Slot<'span'>;\n /**\n * Avatar to display.\n */\n media: NonNullable<Slot<'span'>>;\n /**\n * Main text. Children of the root slot are automatically rendered here\n */\n main: Slot<'span'>;\n /**\n * Secondary text that describes or complements the main text\n */\n description?: Slot<'span'>;\n /**\n * aside text that works as extra textual information\n */\n aside?: Slot<'span'>;\n /**\n * A layout wrapper for the main and description slots\n */\n content: Slot<'div'>;\n};\n\n/**\n * TreeItemPersonaLayout Props\n */\nexport type TreeItemPersonaLayoutProps = ComponentProps<Partial<TreeItemPersonaLayoutSlots>>;\n\n/**\n * State used in rendering TreeItemPersonaLayout\n */\nexport type TreeItemPersonaLayoutState = ComponentState<TreeItemPersonaLayoutSlots> &\n TreeItemContextValue & {\n avatarSize: AvatarSize;\n };\n"],"mappings":"AAAA"}
1
+ {"version":3,"sources":["TreeItemPersonaLayout.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { AvatarContextValue, AvatarSize } from '@fluentui/react-avatar';\nimport { ButtonContextValue } from '@fluentui/react-button';\nimport { TreeItemLayoutSlots } from '../TreeItemLayout/TreeItemLayout.types';\n\nexport type TreeItemPersonaLayoutContextValues = {\n avatar: AvatarContextValue;\n};\n\nexport type TreeItemPersonaLayoutSlots = Pick<TreeItemLayoutSlots, 'actions' | 'aside' | 'expandIcon' | 'selector'> & {\n root: NonNullable<Slot<'div'>>;\n /**\n * Avatar to display.\n */\n media: NonNullable<Slot<'div'>>;\n /**\n * Content. Children of the root slot are automatically rendered here\n */\n main: NonNullable<Slot<'div'>>;\n /**\n * Secondary text that describes or complements the content\n */\n description?: Slot<'div'>;\n};\n\n/**\n * TreeItemPersonaLayout Props\n */\nexport type TreeItemPersonaLayoutProps = ComponentProps<Partial<TreeItemPersonaLayoutSlots>>;\n\n/**\n * State used in rendering TreeItemPersonaLayout\n */\nexport type TreeItemPersonaLayoutState = ComponentState<TreeItemPersonaLayoutSlots> & {\n avatarSize: AvatarSize;\n buttonContextValue: ButtonContextValue;\n};\n"],"names":[],"mappings":"AAAA,WAoCE"}
@@ -2,5 +2,4 @@ export * from './TreeItemPersonaLayout';
2
2
  export * from './TreeItemPersonaLayout.types';
3
3
  export * from './renderTreeItemPersonaLayout';
4
4
  export * from './useTreeItemPersonaLayout';
5
- export * from './useTreeItemPersonaLayoutStyles';
6
- //# sourceMappingURL=index.js.map
5
+ export * from './useTreeItemPersonaLayoutStyles.styles';
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/components/TreeItemPersonaLayout/index.ts"],"sourcesContent":["export * from './TreeItemPersonaLayout';\nexport * from './TreeItemPersonaLayout.types';\nexport * from './renderTreeItemPersonaLayout';\nexport * from './useTreeItemPersonaLayout';\nexport * from './useTreeItemPersonaLayoutStyles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc"}
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './TreeItemPersonaLayout';\nexport * from './TreeItemPersonaLayout.types';\nexport * from './renderTreeItemPersonaLayout';\nexport * from './useTreeItemPersonaLayout';\nexport * from './useTreeItemPersonaLayoutStyles.styles';\n"],"names":[],"mappings":"AAAA,cAAc,0BAA0B;AACxC,cAAc,gCAAgC;AAC9C,cAAc,gCAAgC;AAC9C,cAAc,6BAA6B;AAC3C,cAAc,0CAA0C"}
@@ -1,19 +1,14 @@
1
- import * as React from 'react';
2
- import { getSlots } from '@fluentui/react-utilities';
1
+ /** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';
2
+ import { assertSlots } from '@fluentui/react-utilities';
3
3
  import { AvatarContextProvider } from '@fluentui/react-avatar';
4
+ import { ButtonContextProvider } from '@fluentui/react-button';
4
5
  /**
5
6
  * Render the final JSX of TreeItemPersonaLayout
6
- */
7
- export const renderTreeItemPersonaLayout_unstable = (state, contextValues) => {
8
- const {
9
- isActionsVisible
10
- } = state;
11
- const {
12
- slots,
13
- slotProps
14
- } = getSlots(state);
15
- return /*#__PURE__*/React.createElement(slots.root, slotProps.root, slots.media && /*#__PURE__*/React.createElement(AvatarContextProvider, {
16
- value: contextValues.avatar
17
- }, /*#__PURE__*/React.createElement(slots.media, slotProps.media)), slots.content && /*#__PURE__*/React.createElement(slots.content, slotProps.content, slots.main && /*#__PURE__*/React.createElement(slots.main, slotProps.main), slots.description && /*#__PURE__*/React.createElement(slots.description, slotProps.description)), !isActionsVisible && slots.aside && /*#__PURE__*/React.createElement(slots.aside, slotProps.aside));
7
+ */ export const renderTreeItemPersonaLayout_unstable = (state, contextValues)=>{
8
+ assertSlots(state);
9
+ return /*#__PURE__*/ createElement(state.root, null, state.expandIcon && /*#__PURE__*/ createElement(state.expandIcon, null), state.selector && /*#__PURE__*/ createElement(state.selector, null), /*#__PURE__*/ createElement(AvatarContextProvider, {
10
+ value: contextValues.avatar
11
+ }, /*#__PURE__*/ createElement(state.media, null)), /*#__PURE__*/ createElement(state.main, null), state.description && /*#__PURE__*/ createElement(state.description, null), /*#__PURE__*/ createElement(ButtonContextProvider, {
12
+ value: state.buttonContextValue
13
+ }, state.actions && /*#__PURE__*/ createElement(state.actions, null), state.aside && /*#__PURE__*/ createElement(state.aside, null)));
18
14
  };
19
- //# sourceMappingURL=renderTreeItemPersonaLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","getSlots","AvatarContextProvider","renderTreeItemPersonaLayout_unstable","state","contextValues","isActionsVisible","slots","slotProps","createElement","root","media","value","avatar","content","main","description","aside"],"sources":["../../../src/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type {\n TreeItemPersonaLayoutState,\n TreeItemPersonaLayoutSlots,\n TreeItemPersonaLayoutContextValues,\n} from './TreeItemPersonaLayout.types';\nimport { AvatarContextProvider } from '@fluentui/react-avatar';\n\n/**\n * Render the final JSX of TreeItemPersonaLayout\n */\nexport const renderTreeItemPersonaLayout_unstable = (\n state: TreeItemPersonaLayoutState,\n contextValues: TreeItemPersonaLayoutContextValues,\n) => {\n const { isActionsVisible } = state;\n const { slots, slotProps } = getSlots<TreeItemPersonaLayoutSlots>(state);\n\n return (\n <slots.root {...slotProps.root}>\n {slots.media && (\n <AvatarContextProvider value={contextValues.avatar}>\n <slots.media {...slotProps.media} />\n </AvatarContextProvider>\n )}\n {slots.content && (\n <slots.content {...slotProps.content}>\n {slots.main && <slots.main {...slotProps.main} />}\n {slots.description && <slots.description {...slotProps.description} />}\n </slots.content>\n )}\n {!isActionsVisible && slots.aside && <slots.aside {...slotProps.aside} />}\n </slots.root>\n );\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,QAAQ,QAAQ;AAMzB,SAASC,qBAAqB,QAAQ;AAEtC;;;AAGA,OAAO,MAAMC,oCAAA,GAAuCA,CAClDC,KAAA,EACAC,aAAA,KACG;EACH,MAAM;IAAEC;EAAgB,CAAE,GAAGF,KAAA;EAC7B,MAAM;IAAEG,KAAA;IAAOC;EAAS,CAAE,GAAGP,QAAA,CAAqCG,KAAA;EAElE,oBACEJ,KAAA,CAAAS,aAAA,CAACF,KAAA,CAAMG,IAAI,EAAKF,SAAA,CAAUE,IAAI,EAC3BH,KAAA,CAAMI,KAAK,iBACVX,KAAA,CAAAS,aAAA,CAACP,qBAAA;IAAsBU,KAAA,EAAOP,aAAA,CAAcQ;kBAC1Cb,KAAA,CAAAS,aAAA,CAACF,KAAA,CAAMI,KAAK,EAAKH,SAAA,CAAUG,KAAK,IAGnCJ,KAAA,CAAMO,OAAO,iBACZd,KAAA,CAAAS,aAAA,CAACF,KAAA,CAAMO,OAAO,EAAKN,SAAA,CAAUM,OAAO,EACjCP,KAAA,CAAMQ,IAAI,iBAAIf,KAAA,CAAAS,aAAA,CAACF,KAAA,CAAMQ,IAAI,EAAKP,SAAA,CAAUO,IAAI,GAC5CR,KAAA,CAAMS,WAAW,iBAAIhB,KAAA,CAAAS,aAAA,CAACF,KAAA,CAAMS,WAAW,EAAKR,SAAA,CAAUQ,WAAW,IAGrE,CAACV,gBAAA,IAAoBC,KAAA,CAAMU,KAAK,iBAAIjB,KAAA,CAAAS,aAAA,CAACF,KAAA,CAAMU,KAAK,EAAKT,SAAA,CAAUS,KAAK;AAG3E"}
1
+ {"version":3,"sources":["renderTreeItemPersonaLayout.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsx createElement */\n\nimport { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type {\n TreeItemPersonaLayoutState,\n TreeItemPersonaLayoutContextValues,\n TreeItemPersonaLayoutSlots,\n} from './TreeItemPersonaLayout.types';\nimport { AvatarContextProvider } from '@fluentui/react-avatar';\nimport { ButtonContextProvider } from '@fluentui/react-button';\n\n/**\n * Render the final JSX of TreeItemPersonaLayout\n */\nexport const renderTreeItemPersonaLayout_unstable = (\n state: TreeItemPersonaLayoutState,\n contextValues: TreeItemPersonaLayoutContextValues,\n) => {\n assertSlots<TreeItemPersonaLayoutSlots>(state);\n\n return (\n <state.root>\n {state.expandIcon && <state.expandIcon />}\n {state.selector && <state.selector />}\n <AvatarContextProvider value={contextValues.avatar}>\n <state.media />\n </AvatarContextProvider>\n <state.main />\n {state.description && <state.description />}\n <ButtonContextProvider value={state.buttonContextValue}>\n {state.actions && <state.actions />}\n {state.aside && <state.aside />}\n </ButtonContextProvider>\n </state.root>\n );\n};\n"],"names":["createElement","assertSlots","AvatarContextProvider","ButtonContextProvider","renderTreeItemPersonaLayout_unstable","state","contextValues","root","expandIcon","selector","value","avatar","media","main","description","buttonContextValue","actions","aside"],"mappings":"AAAA,wBAAwB,GACxB,uBAAuB,GAEvB,SAASA,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,WAAW,QAAQ,4BAA4B;AAMxD,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAASC,qBAAqB,QAAQ,yBAAyB;AAE/D;;CAEC,GACD,OAAO,MAAMC,uCAAuC,CAClDC,OACAC,gBACG;IACHL,YAAwCI;IAExC,qBACE,AAtBJ,cAsBKA,MAAME,IAAI,QACRF,MAAMG,UAAU,kBAAI,AAvB3B,cAuB4BH,MAAMG,UAAU,SACrCH,MAAMI,QAAQ,kBAAI,AAxBzB,cAwB0BJ,MAAMI,QAAQ,uBAClC,AAzBN,cAyBOP;QAAsBQ,OAAOJ,cAAcK,MAAM;qBAChD,AA1BR,cA0BSN,MAAMO,KAAK,wBAEd,AA5BN,cA4BOP,MAAMQ,IAAI,SACVR,MAAMS,WAAW,kBAAI,AA7B5B,cA6B6BT,MAAMS,WAAW,uBACxC,AA9BN,cA8BOX;QAAsBO,OAAOL,MAAMU,kBAAkB;OACnDV,MAAMW,OAAO,kBAAI,AA/B1B,cA+B2BX,MAAMW,OAAO,SAC/BX,MAAMY,KAAK,kBAAI,AAhCxB,cAgCyBZ,MAAMY,KAAK;AAIpC,EAAE"}
@@ -1,7 +1,10 @@
1
1
  import * as React from 'react';
2
- import { getNativeElementProps, resolveShorthand } from '@fluentui/react-utilities';
3
- import { useTreeContext_unstable, useTreeItemContext_unstable } from '../../contexts';
2
+ import { slot } from '@fluentui/react-utilities';
3
+ import { useTreeContext_unstable } from '../../contexts';
4
4
  import { treeAvatarSize } from '../../utils/tokens';
5
+ import { useTreeItemLayout_unstable } from '../TreeItemLayout/useTreeItemLayout';
6
+ import { Checkbox } from '@fluentui/react-checkbox';
7
+ import { Radio } from '@fluentui/react-radio';
5
8
  /**
6
9
  * Create the state required to render TreeItemPersonaLayout.
7
10
  *
@@ -10,50 +13,40 @@ import { treeAvatarSize } from '../../utils/tokens';
10
13
  *
11
14
  * @param props - props from this instance of TreeItemPersonaLayout
12
15
  * @param ref - reference to root HTMLElement of TreeItemPersonaLayout
13
- */
14
- export const useTreeItemPersonaLayout_unstable = (props, ref) => {
15
- const {
16
- media,
17
- content,
18
- children,
19
- main,
20
- description,
21
- aside,
22
- as = 'span'
23
- } = props;
24
- const size = useTreeContext_unstable(ctx => ctx.size);
25
- const {
26
- isActionsVisible
27
- } = useTreeItemContext_unstable();
28
- return {
29
- components: {
30
- content: 'div',
31
- main: 'span',
32
- description: 'span',
33
- root: 'span',
34
- media: 'span',
35
- aside: 'span'
36
- },
37
- isActionsVisible,
38
- avatarSize: treeAvatarSize[size],
39
- root: getNativeElementProps(as, {
40
- ...props,
41
- ref
42
- }),
43
- main: resolveShorthand(main, {
44
- required: true,
45
- defaultProps: {
46
- children
47
- }
48
- }),
49
- media: resolveShorthand(media, {
50
- required: true
51
- }),
52
- content: resolveShorthand(content, {
53
- required: true
54
- }),
55
- description: resolveShorthand(description),
56
- aside: resolveShorthand(aside)
57
- };
16
+ */ export const useTreeItemPersonaLayout_unstable = (props, ref)=>{
17
+ const { media , children , main , description } = props;
18
+ const treeItemLayoutState = useTreeItemLayout_unstable({
19
+ ...props,
20
+ iconBefore: null,
21
+ iconAfter: null
22
+ }, ref);
23
+ const size = useTreeContext_unstable((ctx)=>ctx.size);
24
+ const selectionMode = useTreeContext_unstable((ctx)=>ctx.selectionMode);
25
+ return {
26
+ ...treeItemLayoutState,
27
+ components: {
28
+ expandIcon: 'div',
29
+ main: 'div',
30
+ description: 'div',
31
+ root: 'div',
32
+ media: 'div',
33
+ aside: 'div',
34
+ actions: 'div',
35
+ // Casting here to a union between checkbox and radio
36
+ selector: selectionMode === 'multiselect' ? Checkbox : Radio
37
+ },
38
+ avatarSize: treeAvatarSize[size],
39
+ main: slot.always(main, {
40
+ defaultProps: {
41
+ children
42
+ },
43
+ elementType: 'div'
44
+ }),
45
+ media: slot.always(media, {
46
+ elementType: 'div'
47
+ }),
48
+ description: slot.optional(description, {
49
+ elementType: 'div'
50
+ })
51
+ };
58
52
  };
59
- //# sourceMappingURL=useTreeItemPersonaLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","getNativeElementProps","resolveShorthand","useTreeContext_unstable","useTreeItemContext_unstable","treeAvatarSize","useTreeItemPersonaLayout_unstable","props","ref","media","content","children","main","description","aside","as","size","ctx","isActionsVisible","components","root","avatarSize","required","defaultProps"],"sources":["../../../src/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.ts"],"sourcesContent":["import * as React from 'react';\nimport type { TreeItemPersonaLayoutProps, TreeItemPersonaLayoutState } from './TreeItemPersonaLayout.types';\nimport { getNativeElementProps, resolveShorthand } from '@fluentui/react-utilities';\nimport { useTreeContext_unstable, useTreeItemContext_unstable } from '../../contexts';\nimport { treeAvatarSize } from '../../utils/tokens';\n\n/**\n * Create the state required to render TreeItemPersonaLayout.\n *\n * The returned state can be modified with hooks such as useTreeItemPersonaLayoutStyles_unstable,\n * before being passed to renderTreeItemPersonaLayout_unstable.\n *\n * @param props - props from this instance of TreeItemPersonaLayout\n * @param ref - reference to root HTMLElement of TreeItemPersonaLayout\n */\nexport const useTreeItemPersonaLayout_unstable = (\n props: TreeItemPersonaLayoutProps,\n ref: React.Ref<HTMLSpanElement>,\n): TreeItemPersonaLayoutState => {\n const { media, content, children, main, description, aside, as = 'span' } = props;\n const size = useTreeContext_unstable(ctx => ctx.size);\n const { isActionsVisible } = useTreeItemContext_unstable();\n return {\n components: {\n content: 'div',\n main: 'span',\n description: 'span',\n root: 'span',\n media: 'span',\n aside: 'span',\n },\n isActionsVisible,\n avatarSize: treeAvatarSize[size],\n root: getNativeElementProps(as, { ...props, ref }),\n main: resolveShorthand(main, { required: true, defaultProps: { children } }),\n media: resolveShorthand(media, { required: true }),\n content: resolveShorthand(content, { required: true }),\n description: resolveShorthand(description),\n aside: resolveShorthand(aside),\n };\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AAEvB,SAASC,qBAAqB,EAAEC,gBAAgB,QAAQ;AACxD,SAASC,uBAAuB,EAAEC,2BAA2B,QAAQ;AACrE,SAASC,cAAc,QAAQ;AAE/B;;;;;;;;;AASA,OAAO,MAAMC,iCAAA,GAAoCA,CAC/CC,KAAA,EACAC,GAAA,KAC+B;EAC/B,MAAM;IAAEC,KAAA;IAAOC,OAAA;IAASC,QAAA;IAAUC,IAAA;IAAMC,WAAA;IAAaC,KAAA;IAAOC,EAAA,GAAK;EAAM,CAAE,GAAGR,KAAA;EAC5E,MAAMS,IAAA,GAAOb,uBAAA,CAAwBc,GAAA,IAAOA,GAAA,CAAID,IAAI;EACpD,MAAM;IAAEE;EAAgB,CAAE,GAAGd,2BAAA;EAC7B,OAAO;IACLe,UAAA,EAAY;MACVT,OAAA,EAAS;MACTE,IAAA,EAAM;MACNC,WAAA,EAAa;MACbO,IAAA,EAAM;MACNX,KAAA,EAAO;MACPK,KAAA,EAAO;IACT;IACAI,gBAAA;IACAG,UAAA,EAAYhB,cAAc,CAACW,IAAA,CAAK;IAChCI,IAAA,EAAMnB,qBAAA,CAAsBc,EAAA,EAAI;MAAE,GAAGR,KAAK;MAAEC;IAAI;IAChDI,IAAA,EAAMV,gBAAA,CAAiBU,IAAA,EAAM;MAAEU,QAAA,EAAU,IAAI;MAAEC,YAAA,EAAc;QAAEZ;MAAS;IAAE;IAC1EF,KAAA,EAAOP,gBAAA,CAAiBO,KAAA,EAAO;MAAEa,QAAA,EAAU;IAAK;IAChDZ,OAAA,EAASR,gBAAA,CAAiBQ,OAAA,EAAS;MAAEY,QAAA,EAAU;IAAK;IACpDT,WAAA,EAAaX,gBAAA,CAAiBW,WAAA;IAC9BC,KAAA,EAAOZ,gBAAA,CAAiBY,KAAA;EAC1B;AACF"}
1
+ {"version":3,"sources":["useTreeItemPersonaLayout.ts"],"sourcesContent":["import * as React from 'react';\nimport type { TreeItemPersonaLayoutProps, TreeItemPersonaLayoutState } from './TreeItemPersonaLayout.types';\nimport { slot } from '@fluentui/react-utilities';\nimport { useTreeContext_unstable } from '../../contexts';\nimport { treeAvatarSize } from '../../utils/tokens';\nimport { useTreeItemLayout_unstable } from '../TreeItemLayout/useTreeItemLayout';\nimport { Checkbox, CheckboxProps } from '@fluentui/react-checkbox';\nimport { Radio, RadioProps } from '@fluentui/react-radio';\n\n/**\n * Create the state required to render TreeItemPersonaLayout.\n *\n * The returned state can be modified with hooks such as useTreeItemPersonaLayoutStyles_unstable,\n * before being passed to renderTreeItemPersonaLayout_unstable.\n *\n * @param props - props from this instance of TreeItemPersonaLayout\n * @param ref - reference to root HTMLElement of TreeItemPersonaLayout\n */\nexport const useTreeItemPersonaLayout_unstable = (\n props: TreeItemPersonaLayoutProps,\n ref: React.Ref<HTMLSpanElement>,\n): TreeItemPersonaLayoutState => {\n const { media, children, main, description } = props;\n\n const treeItemLayoutState = useTreeItemLayout_unstable(\n {\n ...props,\n iconBefore: null,\n iconAfter: null,\n },\n ref,\n );\n\n const size = useTreeContext_unstable(ctx => ctx.size);\n const selectionMode = useTreeContext_unstable(ctx => ctx.selectionMode);\n\n return {\n ...treeItemLayoutState,\n components: {\n expandIcon: 'div',\n main: 'div',\n description: 'div',\n root: 'div',\n media: 'div',\n aside: 'div',\n actions: 'div',\n // Casting here to a union between checkbox and radio\n selector: (selectionMode === 'multiselect' ? Checkbox : Radio) as React.ElementType<CheckboxProps | RadioProps>,\n },\n avatarSize: treeAvatarSize[size],\n main: slot.always(main, { defaultProps: { children }, elementType: 'div' }),\n media: slot.always(media, { elementType: 'div' }),\n description: slot.optional(description, { elementType: 'div' }),\n };\n};\n"],"names":["React","slot","useTreeContext_unstable","treeAvatarSize","useTreeItemLayout_unstable","Checkbox","Radio","useTreeItemPersonaLayout_unstable","props","ref","media","children","main","description","treeItemLayoutState","iconBefore","iconAfter","size","ctx","selectionMode","components","expandIcon","root","aside","actions","selector","avatarSize","always","defaultProps","elementType","optional"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B,SAASC,IAAI,QAAQ,4BAA4B;AACjD,SAASC,uBAAuB,QAAQ,iBAAiB;AACzD,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,0BAA0B,QAAQ,sCAAsC;AACjF,SAASC,QAAQ,QAAuB,2BAA2B;AACnE,SAASC,KAAK,QAAoB,wBAAwB;AAE1D;;;;;;;;CAQC,GACD,OAAO,MAAMC,oCAAoC,CAC/CC,OACAC,MAC+B;IAC/B,MAAM,EAAEC,MAAK,EAAEC,SAAQ,EAAEC,KAAI,EAAEC,YAAW,EAAE,GAAGL;IAE/C,MAAMM,sBAAsBV,2BAC1B;QACE,GAAGI,KAAK;QACRO,YAAY,IAAI;QAChBC,WAAW,IAAI;IACjB,GACAP;IAGF,MAAMQ,OAAOf,wBAAwBgB,CAAAA,MAAOA,IAAID,IAAI;IACpD,MAAME,gBAAgBjB,wBAAwBgB,CAAAA,MAAOA,IAAIC,aAAa;IAEtE,OAAO;QACL,GAAGL,mBAAmB;QACtBM,YAAY;YACVC,YAAY;YACZT,MAAM;YACNC,aAAa;YACbS,MAAM;YACNZ,OAAO;YACPa,OAAO;YACPC,SAAS;YACT,qDAAqD;YACrDC,UAAWN,kBAAkB,gBAAgBd,WAAWC,KAAK;QAC/D;QACAoB,YAAYvB,cAAc,CAACc,KAAK;QAChCL,MAAMX,KAAK0B,MAAM,CAACf,MAAM;YAAEgB,cAAc;gBAAEjB;YAAS;YAAGkB,aAAa;QAAM;QACzEnB,OAAOT,KAAK0B,MAAM,CAACjB,OAAO;YAAEmB,aAAa;QAAM;QAC/ChB,aAAaZ,KAAK6B,QAAQ,CAACjB,aAAa;YAAEgB,aAAa;QAAM;IAC/D;AACF,EAAE"}
@@ -1,13 +1,12 @@
1
1
  import * as React from 'react';
2
2
  export function useTreeItemPersonaLayoutContextValues_unstable(state) {
3
- const {
4
- avatarSize
5
- } = state;
6
- const avatar = React.useMemo(() => ({
7
- size: avatarSize
8
- }), [avatarSize]);
9
- return {
10
- avatar
11
- };
3
+ const { avatarSize } = state;
4
+ const avatar = React.useMemo(()=>({
5
+ size: avatarSize
6
+ }), [
7
+ avatarSize
8
+ ]);
9
+ return {
10
+ avatar
11
+ };
12
12
  }
13
- //# sourceMappingURL=useTreeItemPersonaLayoutContextValues.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useTreeItemPersonaLayoutContextValues_unstable","state","avatarSize","avatar","useMemo","size"],"sources":["../../../src/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.ts"],"sourcesContent":["import type { AvatarContextValue } from '@fluentui/react-avatar';\nimport * as React from 'react';\nimport type { TreeItemPersonaLayoutState, TreeItemPersonaLayoutContextValues } from './TreeItemPersonaLayout.types';\n\nexport function useTreeItemPersonaLayoutContextValues_unstable(\n state: TreeItemPersonaLayoutState,\n): TreeItemPersonaLayoutContextValues {\n const { avatarSize } = state;\n\n const avatar = React.useMemo<AvatarContextValue>(() => ({ size: avatarSize }), [avatarSize]);\n\n return { avatar };\n}\n"],"mappings":"AACA,YAAYA,KAAA,MAAW;AAGvB,OAAO,SAASC,+CACdC,KAAiC,EACG;EACpC,MAAM;IAAEC;EAAU,CAAE,GAAGD,KAAA;EAEvB,MAAME,MAAA,GAASJ,KAAA,CAAMK,OAAO,CAAqB,OAAO;IAAEC,IAAA,EAAMH;EAAW,IAAI,CAACA,UAAA,CAAW;EAE3F,OAAO;IAAEC;EAAO;AAClB"}
1
+ {"version":3,"sources":["useTreeItemPersonaLayoutContextValues.ts"],"sourcesContent":["import type { AvatarContextValue } from '@fluentui/react-avatar';\nimport * as React from 'react';\nimport type { TreeItemPersonaLayoutState, TreeItemPersonaLayoutContextValues } from './TreeItemPersonaLayout.types';\n\nexport function useTreeItemPersonaLayoutContextValues_unstable(\n state: TreeItemPersonaLayoutState,\n): TreeItemPersonaLayoutContextValues {\n const { avatarSize } = state;\n\n const avatar = React.useMemo<AvatarContextValue>(() => ({ size: avatarSize }), [avatarSize]);\n\n return { avatar };\n}\n"],"names":["React","useTreeItemPersonaLayoutContextValues_unstable","state","avatarSize","avatar","useMemo","size"],"mappings":"AACA,YAAYA,WAAW,QAAQ;AAG/B,OAAO,SAASC,+CACdC,KAAiC,EACG;IACpC,MAAM,EAAEC,WAAU,EAAE,GAAGD;IAEvB,MAAME,SAASJ,MAAMK,OAAO,CAAqB,IAAO,CAAA;YAAEC,MAAMH;QAAW,CAAA,GAAI;QAACA;KAAW;IAE3F,OAAO;QAAEC;IAAO;AAClB,CAAC"}
@@ -0,0 +1,210 @@
1
+ import { __styles, mergeClasses, shorthands } from '@griffel/react';
2
+ import { tokens, typographyStyles } from '@fluentui/react-theme';
3
+ import { treeItemLevelToken } from '../../utils/tokens';
4
+ import { useTreeItemContext_unstable } from '../../contexts/treeItemContext';
5
+ export const treeItemPersonaLayoutClassNames = {
6
+ root: 'fui-TreeItemPersonaLayout',
7
+ media: 'fui-TreeItemPersonaLayout__media',
8
+ description: 'fui-TreeItemPersonaLayout__description',
9
+ main: 'fui-TreeItemPersonaLayout__main',
10
+ expandIcon: 'fui-TreeItemPersonaLayout__expandIcon',
11
+ aside: 'fui-TreeItemPersonaLayout__aside',
12
+ actions: 'fui-TreeItemPersonaLayout__actions',
13
+ selector: 'fui-TreeItemPersonaLayout__selector'
14
+ };
15
+ /**
16
+ * Styles for the root slot
17
+ */
18
+ const useRootStyles = /*#__PURE__*/__styles({
19
+ base: {
20
+ mc9l5x: "f13qh94s",
21
+ wkccdc: "f1y0tuzo",
22
+ Budl1dq: "fellwe7",
23
+ zoa1oz: "f1pam7zy",
24
+ Bt984gj: "f122n59",
25
+ Bahqtrf: "fk6fouc",
26
+ Be2twd7: "fkhj508",
27
+ Bhrd7zp: "figsok6",
28
+ Bg96gwp: "f1i3iumi",
29
+ lj723h: "flvvhsy",
30
+ ecr2s2: "f1wfn5kd",
31
+ zt0xaq: "f5na5aj",
32
+ Bi91k9c: "fnwyq0v",
33
+ Jwef8y: "f1t94bn6",
34
+ tbva4x: "f1oboesa"
35
+ },
36
+ leaf: {
37
+ uwmqm3: ["f1k1erfc", "faevyjx"]
38
+ },
39
+ branch: {
40
+ uwmqm3: ["fo100m9", "f6yw3pu"]
41
+ }
42
+ }, {
43
+ d: [".f13qh94s{display:grid;}", ".f1y0tuzo{grid-template-rows:1fr auto;}", ".fellwe7{grid-template-columns:auto auto 1fr auto;}", ".f1pam7zy{grid-template-areas:\"expandIcon media main aside\" \"expandIcon media description aside\";}", ".f122n59{align-items:center;}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".f1i3iumi{line-height:var(--lineHeightBase300);}", ".f1k1erfc{padding-left:calc(var(--fluent-TreeItem--level, 1) * var(--spacingHorizontalXXL));}", ".faevyjx{padding-right:calc(var(--fluent-TreeItem--level, 1) * var(--spacingHorizontalXXL));}", ".fo100m9{padding-left:calc((var(--fluent-TreeItem--level, 1) - 1) * var(--spacingHorizontalXXL));}", ".f6yw3pu{padding-right:calc((var(--fluent-TreeItem--level, 1) - 1) * var(--spacingHorizontalXXL));}"],
44
+ a: [".flvvhsy:active{color:var(--colorNeutralForeground2Pressed);}", ".f1wfn5kd:active{background-color:var(--colorSubtleBackgroundPressed);}", ".f5na5aj:active .fui-TreeItemPersonaLayout__expandIcon{color:var(--colorNeutralForeground3Pressed);}"],
45
+ h: [".fnwyq0v:hover{color:var(--colorNeutralForeground2Hover);}", ".f1t94bn6:hover{background-color:var(--colorSubtleBackgroundHover);}", ".f1oboesa:hover .fui-TreeItemPersonaLayout__expandIcon{color:var(--colorNeutralForeground3Hover);}"]
46
+ });
47
+ /**
48
+ * Styles for the expand icon slot
49
+ */
50
+ const useMediaStyles = /*#__PURE__*/__styles({
51
+ base: {
52
+ mc9l5x: "f22iagw",
53
+ Bt984gj: "f122n59",
54
+ a9b677: "f1szoe96",
55
+ Bqenvij: "f1d2rq10",
56
+ Ijaq50: "f11uok23",
57
+ Br312pm: "f1qdfnnj",
58
+ nk6f5a: "f1s27gz",
59
+ Bw0ie65: "f86d0yl",
60
+ z8tnut: "f1g0x7ka",
61
+ z189sj: ["f7x41pl", "fruq291"],
62
+ Byoj8tv: "f1qch9an",
63
+ uwmqm3: ["fgiv446", "ffczdla"]
64
+ }
65
+ }, {
66
+ d: [".f22iagw{display:flex;}", ".f122n59{align-items:center;}", ".f1szoe96{width:32px;}", ".f1d2rq10{height:32px;}", ".f11uok23{grid-row-start:media;}", ".f1qdfnnj{grid-column-start:media;}", ".f1s27gz{grid-row-end:media;}", ".f86d0yl{grid-column-end:media;}", ".f1g0x7ka{padding-top:0;}", ".f7x41pl{padding-right:var(--spacingHorizontalXS);}", ".fruq291{padding-left:var(--spacingHorizontalXS);}", ".f1qch9an{padding-bottom:0;}", ".fgiv446{padding-left:var(--spacingHorizontalXXS);}", ".ffczdla{padding-right:var(--spacingHorizontalXXS);}"]
67
+ });
68
+ const useMainStyles = /*#__PURE__*/__styles({
69
+ base: {
70
+ Ijaq50: "f17iroih",
71
+ Br312pm: "fppdkoh",
72
+ nk6f5a: "fsb8d6n",
73
+ Bw0ie65: "f6k5g14",
74
+ z8tnut: "f1ngh7ph",
75
+ z189sj: ["f7x41pl", "fruq291"],
76
+ Byoj8tv: "f5o476b",
77
+ uwmqm3: ["f1f5gg8d", "f1vdfbxk"]
78
+ },
79
+ withDescription: {
80
+ z8tnut: "f1ngh7ph",
81
+ z189sj: ["f7x41pl", "fruq291"],
82
+ Byoj8tv: "f1qch9an",
83
+ uwmqm3: ["f1f5gg8d", "f1vdfbxk"]
84
+ }
85
+ }, {
86
+ d: [".f17iroih{grid-row-start:main;}", ".fppdkoh{grid-column-start:main;}", ".fsb8d6n{grid-row-end:main;}", ".f6k5g14{grid-column-end:main;}", ".f1ngh7ph{padding-top:var(--spacingVerticalMNudge);}", ".f7x41pl{padding-right:var(--spacingHorizontalXS);}", ".fruq291{padding-left:var(--spacingHorizontalXS);}", ".f5o476b{padding-bottom:var(--spacingVerticalMNudge);}", ".f1f5gg8d{padding-left:var(--spacingHorizontalS);}", ".f1vdfbxk{padding-right:var(--spacingHorizontalS);}", ".f1qch9an{padding-bottom:0;}"]
87
+ });
88
+ const useDescriptionStyles = /*#__PURE__*/__styles({
89
+ base: {
90
+ Ijaq50: "ffekjdo",
91
+ Br312pm: "f12wtlaa",
92
+ nk6f5a: "f1blqr63",
93
+ Bw0ie65: "f2ve1i",
94
+ Bahqtrf: "fk6fouc",
95
+ Be2twd7: "fy9rknc",
96
+ Bhrd7zp: "figsok6",
97
+ Bg96gwp: "fwrc4pm",
98
+ z8tnut: "f1g0x7ka",
99
+ z189sj: ["f7x41pl", "fruq291"],
100
+ Byoj8tv: "f5o476b",
101
+ uwmqm3: ["f1f5gg8d", "f1vdfbxk"]
102
+ }
103
+ }, {
104
+ d: [".ffekjdo{grid-row-start:description;}", ".f12wtlaa{grid-column-start:description;}", ".f1blqr63{grid-row-end:description;}", ".f2ve1i{grid-column-end:description;}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".fy9rknc{font-size:var(--fontSizeBase200);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".fwrc4pm{line-height:var(--lineHeightBase200);}", ".f1g0x7ka{padding-top:0;}", ".f7x41pl{padding-right:var(--spacingHorizontalXS);}", ".fruq291{padding-left:var(--spacingHorizontalXS);}", ".f5o476b{padding-bottom:var(--spacingVerticalMNudge);}", ".f1f5gg8d{padding-left:var(--spacingHorizontalS);}", ".f1vdfbxk{padding-right:var(--spacingHorizontalS);}"]
105
+ });
106
+ /**
107
+ * Styles for the action icon slot
108
+ */
109
+ const useActionsStyles = /*#__PURE__*/__styles({
110
+ base: {
111
+ mc9l5x: "f22iagw",
112
+ Frg6f3: ["fcgxt0o", "f1ujusj6"],
113
+ qhf8xq: "f10pi13n",
114
+ Bj3rh1h: "f19g0ac",
115
+ Ijaq50: "fobksn0",
116
+ Br312pm: "fmy5l6f",
117
+ nk6f5a: "fzqypwc",
118
+ Bw0ie65: "f1tmftl3",
119
+ z8tnut: "f1g0x7ka",
120
+ z189sj: ["f1vdfbxk", "f1f5gg8d"],
121
+ Byoj8tv: "f1qch9an",
122
+ uwmqm3: ["f1f5gg8d", "f1vdfbxk"]
123
+ }
124
+ }, {
125
+ d: [".f22iagw{display:flex;}", ".fcgxt0o{margin-left:auto;}", ".f1ujusj6{margin-right:auto;}", ".f10pi13n{position:relative;}", ".f19g0ac{z-index:1;}", ".fobksn0{grid-row-start:aside;}", ".fmy5l6f{grid-column-start:aside;}", ".fzqypwc{grid-row-end:aside;}", ".f1tmftl3{grid-column-end:aside;}", ".f1g0x7ka{padding-top:0;}", ".f1vdfbxk{padding-right:var(--spacingHorizontalS);}", ".f1f5gg8d{padding-left:var(--spacingHorizontalS);}", ".f1qch9an{padding-bottom:0;}"]
126
+ });
127
+ /**
128
+ * Styles for the action icon slot
129
+ */
130
+ const useAsideStyles = /*#__PURE__*/__styles({
131
+ base: {
132
+ mc9l5x: "f22iagw",
133
+ Frg6f3: ["fcgxt0o", "f1ujusj6"],
134
+ Bt984gj: "f122n59",
135
+ Bj3rh1h: "f11zp4z2",
136
+ Ijaq50: "fobksn0",
137
+ Br312pm: "fmy5l6f",
138
+ nk6f5a: "fzqypwc",
139
+ Bw0ie65: "f1tmftl3",
140
+ z8tnut: "f1g0x7ka",
141
+ z189sj: ["fw5db7e", "f1uw59to"],
142
+ Byoj8tv: "f1qch9an",
143
+ uwmqm3: ["f1uw59to", "fw5db7e"],
144
+ i8kkvl: "f1ufnopg",
145
+ Belr9w4: "f14sijuj"
146
+ }
147
+ }, {
148
+ d: [".f22iagw{display:flex;}", ".fcgxt0o{margin-left:auto;}", ".f1ujusj6{margin-right:auto;}", ".f122n59{align-items:center;}", ".f11zp4z2{z-index:0;}", ".fobksn0{grid-row-start:aside;}", ".fmy5l6f{grid-column-start:aside;}", ".fzqypwc{grid-row-end:aside;}", ".f1tmftl3{grid-column-end:aside;}", ".f1g0x7ka{padding-top:0;}", ".fw5db7e{padding-right:var(--spacingHorizontalM);}", ".f1uw59to{padding-left:var(--spacingHorizontalM);}", ".f1qch9an{padding-bottom:0;}", ".f1ufnopg{column-gap:var(--spacingHorizontalXS);}", ".f14sijuj{row-gap:var(--spacingHorizontalXS);}"]
149
+ });
150
+ /**
151
+ * Styles for the expand icon slot
152
+ */
153
+ const useExpandIconStyles = /*#__PURE__*/__styles({
154
+ base: {
155
+ mc9l5x: "f22iagw",
156
+ Bt984gj: "f122n59",
157
+ Brf1p80: "f4d9j23",
158
+ Bf4jedk: "f17fgpbq",
159
+ B7ck84d: "f1ewtqcl",
160
+ sj55zd: "f11d4kpn",
161
+ Ijaq50: "f1e6rimv",
162
+ Br312pm: "f10hsf66",
163
+ nk6f5a: "foflfm0",
164
+ Bw0ie65: "f1b3ebjb",
165
+ Bh6795r: "f1jhi6b8",
166
+ Bnnss6s: "fi64zpg",
167
+ xawz: "f1rmlqtg",
168
+ z8tnut: "f1ywm7hm",
169
+ z189sj: ["fhxju0i", "f1cnd47f"],
170
+ Byoj8tv: "f14wxoun",
171
+ uwmqm3: ["f1cnd47f", "fhxju0i"]
172
+ }
173
+ }, {
174
+ d: [".f22iagw{display:flex;}", ".f122n59{align-items:center;}", ".f4d9j23{justify-content:center;}", ".f17fgpbq{min-width:24px;}", ".f1ewtqcl{box-sizing:border-box;}", ".f11d4kpn{color:var(--colorNeutralForeground3);}", ".f1e6rimv{grid-row-start:expandIcon;}", ".f10hsf66{grid-column-start:expandIcon;}", ".foflfm0{grid-row-end:expandIcon;}", ".f1b3ebjb{grid-column-end:expandIcon;}", ".f1jhi6b8{flex-grow:0;}", ".fi64zpg{flex-shrink:0;}", ".f1rmlqtg{flex-basis:auto;}", ".f1ywm7hm{padding-top:var(--spacingVerticalXS);}", ".fhxju0i{padding-right:0;}", ".f1cnd47f{padding-left:0;}", ".f14wxoun{padding-bottom:var(--spacingVerticalXS);}"]
175
+ });
176
+ /**
177
+ * Apply styling to the TreeItemPersonaLayout slots based on the state
178
+ */
179
+ export const useTreeItemPersonaLayoutStyles_unstable = state => {
180
+ const rootStyles = useRootStyles();
181
+ const mediaStyles = useMediaStyles();
182
+ const descriptionStyles = useDescriptionStyles();
183
+ const actionsStyles = useActionsStyles();
184
+ const asideStyles = useAsideStyles();
185
+ const expandIconStyles = useExpandIconStyles();
186
+ const mainStyles = useMainStyles();
187
+ const itemType = useTreeItemContext_unstable(ctx => ctx.itemType);
188
+ state.root.className = mergeClasses(treeItemPersonaLayoutClassNames.root, rootStyles.base, rootStyles[itemType], state.root.className);
189
+ state.media.className = mergeClasses(treeItemPersonaLayoutClassNames.media, mediaStyles.base, state.media.className);
190
+ if (state.main) {
191
+ state.main.className = mergeClasses(treeItemPersonaLayoutClassNames.main, mainStyles.base, state.description && mainStyles.withDescription, state.main.className);
192
+ }
193
+ if (state.description) {
194
+ state.description.className = mergeClasses(treeItemPersonaLayoutClassNames.description, descriptionStyles.base, state.description.className);
195
+ }
196
+ if (state.actions) {
197
+ state.actions.className = mergeClasses(treeItemPersonaLayoutClassNames.actions, actionsStyles.base, state.actions.className);
198
+ }
199
+ if (state.aside) {
200
+ state.aside.className = mergeClasses(treeItemPersonaLayoutClassNames.aside, asideStyles.base, state.aside.className);
201
+ }
202
+ if (state.expandIcon) {
203
+ state.expandIcon.className = mergeClasses(treeItemPersonaLayoutClassNames.expandIcon, expandIconStyles.base, state.expandIcon.className);
204
+ }
205
+ if (state.selector) {
206
+ state.selector.className = mergeClasses(treeItemPersonaLayoutClassNames.selector, state.selector.className);
207
+ }
208
+ return state;
209
+ };
210
+ //# sourceMappingURL=useTreeItemPersonaLayoutStyles.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__styles","mergeClasses","shorthands","tokens","typographyStyles","treeItemLevelToken","useTreeItemContext_unstable","treeItemPersonaLayoutClassNames","root","media","description","main","expandIcon","aside","actions","selector","useRootStyles","base","mc9l5x","wkccdc","Budl1dq","zoa1oz","Bt984gj","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","lj723h","ecr2s2","zt0xaq","Bi91k9c","Jwef8y","tbva4x","leaf","uwmqm3","branch","d","a","h","useMediaStyles","a9b677","Bqenvij","Ijaq50","Br312pm","nk6f5a","Bw0ie65","z8tnut","z189sj","Byoj8tv","useMainStyles","withDescription","useDescriptionStyles","useActionsStyles","Frg6f3","qhf8xq","Bj3rh1h","useAsideStyles","i8kkvl","Belr9w4","useExpandIconStyles","Brf1p80","Bf4jedk","B7ck84d","sj55zd","Bh6795r","Bnnss6s","xawz","useTreeItemPersonaLayoutStyles_unstable","state","rootStyles","mediaStyles","descriptionStyles","actionsStyles","asideStyles","expandIconStyles","mainStyles","itemType","ctx","className"],"sources":["useTreeItemPersonaLayoutStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { treeItemLevelToken } from '../../utils/tokens';\nimport { useTreeItemContext_unstable } from '../../contexts/treeItemContext';\nexport const treeItemPersonaLayoutClassNames = {\n root: 'fui-TreeItemPersonaLayout',\n media: 'fui-TreeItemPersonaLayout__media',\n description: 'fui-TreeItemPersonaLayout__description',\n main: 'fui-TreeItemPersonaLayout__main',\n expandIcon: 'fui-TreeItemPersonaLayout__expandIcon',\n aside: 'fui-TreeItemPersonaLayout__aside',\n actions: 'fui-TreeItemPersonaLayout__actions',\n selector: 'fui-TreeItemPersonaLayout__selector'\n};\n/**\n * Styles for the root slot\n */ const useRootStyles = makeStyles({\n base: {\n display: 'grid',\n gridTemplateRows: '1fr auto',\n gridTemplateColumns: 'auto auto 1fr auto',\n gridTemplateAreas: `\n \"expandIcon media main aside\"\n \"expandIcon media description aside\"\n `,\n alignItems: 'center',\n ...typographyStyles.body1,\n ':active': {\n color: tokens.colorNeutralForeground2Pressed,\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n // TODO: stop using treeItemPersonaLayoutClassNames.expandIcon for styling\n [`& .${treeItemPersonaLayoutClassNames.expandIcon}`]: {\n color: tokens.colorNeutralForeground3Pressed\n }\n },\n ':hover': {\n color: tokens.colorNeutralForeground2Hover,\n backgroundColor: tokens.colorSubtleBackgroundHover,\n // TODO: stop using treeItemPersonaLayoutClassNames.expandIcon for styling\n [`& .${treeItemPersonaLayoutClassNames.expandIcon}`]: {\n color: tokens.colorNeutralForeground3Hover\n }\n }\n },\n leaf: {\n paddingLeft: `calc(var(${treeItemLevelToken}, 1) * ${tokens.spacingHorizontalXXL})`\n },\n branch: {\n paddingLeft: `calc((var(${treeItemLevelToken}, 1) - 1) * ${tokens.spacingHorizontalXXL})`\n }\n});\n/**\n * Styles for the expand icon slot\n */ const useMediaStyles = makeStyles({\n base: {\n display: 'flex',\n alignItems: 'center',\n width: '32px',\n height: '32px',\n ...shorthands.gridArea('media'),\n ...shorthands.padding(0, tokens.spacingHorizontalXS, 0, tokens.spacingHorizontalXXS)\n }\n});\nconst useMainStyles = makeStyles({\n base: {\n ...shorthands.gridArea('main'),\n ...shorthands.padding(tokens.spacingVerticalMNudge, tokens.spacingHorizontalXS, tokens.spacingVerticalMNudge, tokens.spacingHorizontalS)\n },\n withDescription: {\n ...shorthands.padding(tokens.spacingVerticalMNudge, tokens.spacingHorizontalXS, 0, tokens.spacingHorizontalS)\n }\n});\nconst useDescriptionStyles = makeStyles({\n base: {\n ...shorthands.gridArea('description'),\n ...typographyStyles.caption1,\n ...shorthands.padding(0, tokens.spacingHorizontalXS, tokens.spacingVerticalMNudge, tokens.spacingHorizontalS)\n }\n});\n/**\n * Styles for the action icon slot\n */ const useActionsStyles = makeStyles({\n base: {\n display: 'flex',\n marginLeft: 'auto',\n position: 'relative',\n zIndex: 1,\n ...shorthands.gridArea('aside'),\n ...shorthands.padding(0, tokens.spacingHorizontalS)\n }\n});\n/**\n * Styles for the action icon slot\n */ const useAsideStyles = makeStyles({\n base: {\n display: 'flex',\n marginLeft: 'auto',\n alignItems: 'center',\n zIndex: 0,\n ...shorthands.gridArea('aside'),\n ...shorthands.padding(0, tokens.spacingHorizontalM),\n ...shorthands.gap(tokens.spacingHorizontalXS)\n }\n});\n/**\n * Styles for the expand icon slot\n */ const useExpandIconStyles = makeStyles({\n base: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n minWidth: '24px',\n boxSizing: 'border-box',\n color: tokens.colorNeutralForeground3,\n ...shorthands.gridArea('expandIcon'),\n ...shorthands.flex(0, 0, 'auto'),\n ...shorthands.padding(tokens.spacingVerticalXS, 0)\n }\n});\n/**\n * Apply styling to the TreeItemPersonaLayout slots based on the state\n */ export const useTreeItemPersonaLayoutStyles_unstable = (state)=>{\n const rootStyles = useRootStyles();\n const mediaStyles = useMediaStyles();\n const descriptionStyles = useDescriptionStyles();\n const actionsStyles = useActionsStyles();\n const asideStyles = useAsideStyles();\n const expandIconStyles = useExpandIconStyles();\n const mainStyles = useMainStyles();\n const itemType = useTreeItemContext_unstable((ctx)=>ctx.itemType);\n state.root.className = mergeClasses(treeItemPersonaLayoutClassNames.root, rootStyles.base, rootStyles[itemType], state.root.className);\n state.media.className = mergeClasses(treeItemPersonaLayoutClassNames.media, mediaStyles.base, state.media.className);\n if (state.main) {\n state.main.className = mergeClasses(treeItemPersonaLayoutClassNames.main, mainStyles.base, state.description && mainStyles.withDescription, state.main.className);\n }\n if (state.description) {\n state.description.className = mergeClasses(treeItemPersonaLayoutClassNames.description, descriptionStyles.base, state.description.className);\n }\n if (state.actions) {\n state.actions.className = mergeClasses(treeItemPersonaLayoutClassNames.actions, actionsStyles.base, state.actions.className);\n }\n if (state.aside) {\n state.aside.className = mergeClasses(treeItemPersonaLayoutClassNames.aside, asideStyles.base, state.aside.className);\n }\n if (state.expandIcon) {\n state.expandIcon.className = mergeClasses(treeItemPersonaLayoutClassNames.expandIcon, expandIconStyles.base, state.expandIcon.className);\n }\n if (state.selector) {\n state.selector.className = mergeClasses(treeItemPersonaLayoutClassNames.selector, state.selector.className);\n }\n return state;\n};\n"],"mappings":"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"}
@@ -1,3 +1,2 @@
1
1
  export * from './treeContext';
2
2
  export * from './treeItemContext';
3
- //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../src/contexts/index.ts"],"sourcesContent":["export * from './treeContext';\nexport * from './treeItemContext';\n"],"mappings":"AAAA,cAAc;AACd,cAAc"}
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './treeContext';\nexport * from './treeItemContext';\n"],"names":[],"mappings":"AAAA,cAAc,gBAAgB;AAC9B,cAAc,oBAAoB"}
@@ -1,18 +1,17 @@
1
1
  import { createContext, useContextSelector } from '@fluentui/react-context-selector';
2
- import { emptyImmutableSet } from '../utils/ImmutableSet';
2
+ import { ImmutableSet } from '../utils/ImmutableSet';
3
+ import { ImmutableMap } from '../utils/ImmutableMap';
3
4
  const defaultContextValue = {
4
- level: 0,
5
- openItems: emptyImmutableSet,
6
- requestOpenChange: noop,
7
- requestNavigation: noop,
8
- appearance: 'subtle',
9
- size: 'medium'
5
+ level: 0,
6
+ selectionMode: 'none',
7
+ openItems: ImmutableSet.empty,
8
+ checkedItems: ImmutableMap.empty,
9
+ requestTreeResponse: noop,
10
+ appearance: 'subtle',
11
+ size: 'medium'
10
12
  };
11
13
  function noop() {
12
- /* noop */}
13
- export const TreeContext = /*#__PURE__*/createContext(undefined);
14
- export const {
15
- Provider: TreeProvider
16
- } = TreeContext;
17
- export const useTreeContext_unstable = selector => useContextSelector(TreeContext, (ctx = defaultContextValue) => selector(ctx));
18
- //# sourceMappingURL=treeContext.js.map
14
+ /* noop */ }
15
+ export const TreeContext = createContext(undefined);
16
+ export const { Provider: TreeProvider } = TreeContext;
17
+ export const useTreeContext_unstable = (selector)=>useContextSelector(TreeContext, (ctx = defaultContextValue)=>selector(ctx));
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useContextSelector","emptyImmutableSet","defaultContextValue","level","openItems","requestOpenChange","noop","requestNavigation","appearance","size","TreeContext","undefined","Provider","TreeProvider","useTreeContext_unstable","selector","ctx"],"sources":["../../src/contexts/treeContext.ts"],"sourcesContent":["import { Context, ContextSelector, createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport { TreeNavigationData_unstable, TreeOpenChangeData } from '../Tree';\nimport { TreeItemId } from '../TreeItem';\nimport { emptyImmutableSet, ImmutableSet } from '../utils/ImmutableSet';\n\nexport type TreeContextValue = {\n level: number;\n appearance: 'subtle' | 'subtle-alpha' | 'transparent';\n size: 'small' | 'medium';\n openItems: ImmutableSet<TreeItemId>;\n /**\n * Requests dialog main component to update it's internal open state\n */\n requestOpenChange(data: TreeOpenChangeData): void;\n requestNavigation(data: TreeNavigationData_unstable): void;\n};\n\nconst defaultContextValue: TreeContextValue = {\n level: 0,\n openItems: emptyImmutableSet,\n requestOpenChange: noop,\n requestNavigation: noop,\n appearance: 'subtle',\n size: 'medium',\n};\n\nfunction noop() {\n /* noop */\n}\n\nexport const TreeContext: Context<TreeContextValue | undefined> = createContext<TreeContextValue | undefined>(\n undefined,\n);\n\nexport const { Provider: TreeProvider } = TreeContext;\nexport const useTreeContext_unstable = <T>(selector: ContextSelector<TreeContextValue, T>): T =>\n useContextSelector(TreeContext, (ctx = defaultContextValue) => selector(ctx));\n"],"mappings":"AAAA,SAAmCA,aAAa,EAAEC,kBAAkB,QAAQ;AAG5E,SAASC,iBAAiB,QAAsB;AAchD,MAAMC,mBAAA,GAAwC;EAC5CC,KAAA,EAAO;EACPC,SAAA,EAAWH,iBAAA;EACXI,iBAAA,EAAmBC,IAAA;EACnBC,iBAAA,EAAmBD,IAAA;EACnBE,UAAA,EAAY;EACZC,IAAA,EAAM;AACR;AAEA,SAASH,KAAA,EAAO;EACd;AAGF,OAAO,MAAMI,WAAA,gBAAqDX,aAAA,CAChEY,SAAA;AAGF,OAAO,MAAM;EAAEC,QAAA,EAAUC;AAAY,CAAE,GAAGH,WAAA;AAC1C,OAAO,MAAMI,uBAAA,GAA8BC,QAAA,IACzCf,kBAAA,CAAmBU,WAAA,EAAa,CAACM,GAAA,GAAMd,mBAAmB,KAAKa,QAAA,CAASC,GAAA"}
1
+ {"version":3,"sources":["treeContext.ts"],"sourcesContent":["import { Context, ContextSelector, createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport { TreeItemType, TreeItemValue } from '../TreeItem';\nimport { SelectionMode } from '@fluentui/react-utilities';\nimport { ImmutableSet } from '../utils/ImmutableSet';\nimport { ImmutableMap } from '../utils/ImmutableMap';\nimport { TreeCheckedChangeData, TreeNavigationData_unstable, TreeOpenChangeData } from '../Tree';\n\nexport type TreeContextValue = {\n level: number;\n selectionMode: 'none' | SelectionMode;\n appearance: 'subtle' | 'subtle-alpha' | 'transparent';\n size: 'small' | 'medium';\n openItems: ImmutableSet<TreeItemValue>;\n checkedItems: ImmutableMap<TreeItemValue, 'mixed' | boolean>;\n /**\n * requests root Tree component to respond to some tree item event,\n */\n requestTreeResponse(request: TreeItemRequest): void;\n};\n\nexport type TreeItemRequest = { itemType: TreeItemType } & (\n | OmitWithoutExpanding<TreeOpenChangeData, 'open' | 'openItems'>\n | TreeNavigationData_unstable\n | OmitWithoutExpanding<TreeCheckedChangeData, 'selectionMode' | 'checkedItems'>\n);\n\n// helper type that avoids the expansion of unions while inferring it, should work exactly the same as Omit\ntype OmitWithoutExpanding<P, K extends string | number | symbol> = P extends unknown ? Omit<P, K> : P;\n\nconst defaultContextValue: TreeContextValue = {\n level: 0,\n selectionMode: 'none',\n openItems: ImmutableSet.empty,\n checkedItems: ImmutableMap.empty,\n requestTreeResponse: noop,\n appearance: 'subtle',\n size: 'medium',\n};\n\nfunction noop() {\n /* noop */\n}\n\nexport const TreeContext: Context<TreeContextValue | undefined> = createContext<TreeContextValue | undefined>(\n undefined,\n);\n\nexport const { Provider: TreeProvider } = TreeContext;\nexport const useTreeContext_unstable = <T>(selector: ContextSelector<TreeContextValue, T>): T =>\n useContextSelector(TreeContext, (ctx = defaultContextValue) => selector(ctx));\n"],"names":["createContext","useContextSelector","ImmutableSet","ImmutableMap","defaultContextValue","level","selectionMode","openItems","empty","checkedItems","requestTreeResponse","noop","appearance","size","TreeContext","undefined","Provider","TreeProvider","useTreeContext_unstable","selector","ctx"],"mappings":"AAAA,SAAmCA,aAAa,EAAEC,kBAAkB,QAAQ,mCAAmC;AAG/G,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,YAAY,QAAQ,wBAAwB;AAyBrD,MAAMC,sBAAwC;IAC5CC,OAAO;IACPC,eAAe;IACfC,WAAWL,aAAaM,KAAK;IAC7BC,cAAcN,aAAaK,KAAK;IAChCE,qBAAqBC;IACrBC,YAAY;IACZC,MAAM;AACR;AAEA,SAASF,OAAO;AACd,QAAQ,GACV;AAEA,OAAO,MAAMG,cAAqDd,cAChEe,WACA;AAEF,OAAO,MAAM,EAAEC,UAAUC,aAAY,EAAE,GAAGH,YAAY;AACtD,OAAO,MAAMI,0BAA0B,CAAIC,WACzClB,mBAAmBa,aAAa,CAACM,MAAMhB,mBAAmB,GAAKe,SAASC,MAAM"}