@fluentui/react-tree 9.16.4 → 9.16.5

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 (274) hide show
  1. package/CHANGELOG.md +25 -2
  2. package/dist/index.d.cts +941 -0
  3. package/lib/FlatTree.js +1 -1
  4. package/lib/FlatTree.js.map +1 -1
  5. package/lib/FlatTreeItem.js +1 -1
  6. package/lib/FlatTreeItem.js.map +1 -1
  7. package/lib/Tree.js +1 -1
  8. package/lib/Tree.js.map +1 -1
  9. package/lib/TreeItem.js +1 -1
  10. package/lib/TreeItem.js.map +1 -1
  11. package/lib/TreeItemLayout.js +1 -1
  12. package/lib/TreeItemLayout.js.map +1 -1
  13. package/lib/TreeItemPersonaLayout.js +1 -1
  14. package/lib/TreeItemPersonaLayout.js.map +1 -1
  15. package/lib/components/FlatTree/FlatTree.js +6 -6
  16. package/lib/components/FlatTree/FlatTree.js.map +1 -1
  17. package/lib/components/FlatTree/index.js +6 -6
  18. package/lib/components/FlatTree/index.js.map +1 -1
  19. package/lib/components/FlatTree/renderFlatTree.js +1 -1
  20. package/lib/components/FlatTree/renderFlatTree.js.map +1 -1
  21. package/lib/components/FlatTree/useFlatControllableCheckedItems.js +4 -4
  22. package/lib/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -1
  23. package/lib/components/FlatTree/useFlatTree.js +8 -8
  24. package/lib/components/FlatTree/useFlatTree.js.map +1 -1
  25. package/lib/components/FlatTree/useFlatTreeContextValues.js +1 -1
  26. package/lib/components/FlatTree/useFlatTreeStyles.styles.js +2 -2
  27. package/lib/components/FlatTree/useFlatTreeStyles.styles.js.map +1 -1
  28. package/lib/components/FlatTree/useFlatTreeStyles.styles.raw.js +2 -2
  29. package/lib/components/FlatTree/useHeadlessFlatTree.js +10 -10
  30. package/lib/components/FlatTree/useHeadlessFlatTree.js.map +1 -1
  31. package/lib/components/FlatTreeItem/FlatTreeItem.js +1 -1
  32. package/lib/components/FlatTreeItem/FlatTreeItem.js.map +1 -1
  33. package/lib/components/FlatTreeItem/index.js +1 -1
  34. package/lib/components/FlatTreeItem/index.js.map +1 -1
  35. package/lib/components/Tree/Tree.js +6 -6
  36. package/lib/components/Tree/Tree.js.map +1 -1
  37. package/lib/components/Tree/index.js +5 -5
  38. package/lib/components/Tree/index.js.map +1 -1
  39. package/lib/components/Tree/renderTree.js +2 -2
  40. package/lib/components/Tree/renderTree.js.map +1 -1
  41. package/lib/components/Tree/useNestedControllableCheckedItems.js +3 -3
  42. package/lib/components/Tree/useNestedControllableCheckedItems.js.map +1 -1
  43. package/lib/components/Tree/useTree.js +11 -11
  44. package/lib/components/Tree/useTree.js.map +1 -1
  45. package/lib/components/Tree/useTreeContextValues.js +1 -1
  46. package/lib/components/Tree/useTreeStyles.styles.js +2 -2
  47. package/lib/components/Tree/useTreeStyles.styles.js.map +1 -1
  48. package/lib/components/Tree/useTreeStyles.styles.raw.js +2 -2
  49. package/lib/components/TreeItem/TreeItem.js +6 -6
  50. package/lib/components/TreeItem/TreeItem.js.map +1 -1
  51. package/lib/components/TreeItem/index.js +5 -5
  52. package/lib/components/TreeItem/index.js.map +1 -1
  53. package/lib/components/TreeItem/renderTreeItem.js +2 -2
  54. package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
  55. package/lib/components/TreeItem/useTreeItem.js +9 -9
  56. package/lib/components/TreeItem/useTreeItem.js.map +1 -1
  57. package/lib/components/TreeItem/useTreeItemContextValues.js +1 -1
  58. package/lib/components/TreeItem/useTreeItemStyles.styles.js +6 -6
  59. package/lib/components/TreeItem/useTreeItemStyles.styles.js.map +1 -1
  60. package/lib/components/TreeItem/useTreeItemStyles.styles.raw.js +6 -6
  61. package/lib/components/TreeItem/useTreeItemStyles.styles.raw.js.map +1 -1
  62. package/lib/components/TreeItemChevron.js +5 -5
  63. package/lib/components/TreeItemChevron.js.map +1 -1
  64. package/lib/components/TreeItemLayout/TreeItemLayout.js +5 -5
  65. package/lib/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  66. package/lib/components/TreeItemLayout/index.js +4 -4
  67. package/lib/components/TreeItemLayout/index.js.map +1 -1
  68. package/lib/components/TreeItemLayout/renderTreeItemLayout.js +2 -2
  69. package/lib/components/TreeItemLayout/useTreeItemLayout.js +8 -8
  70. package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  71. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +5 -5
  72. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -1
  73. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.raw.js +5 -5
  74. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.raw.js.map +1 -1
  75. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +6 -6
  76. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  77. package/lib/components/TreeItemPersonaLayout/index.js +4 -4
  78. package/lib/components/TreeItemPersonaLayout/index.js.map +1 -1
  79. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +3 -3
  80. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +6 -6
  81. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  82. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +1 -1
  83. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +5 -5
  84. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -1
  85. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.raw.js +5 -5
  86. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.raw.js.map +1 -1
  87. package/lib/components/TreeProvider.js +2 -2
  88. package/lib/components/TreeProvider.js.map +1 -1
  89. package/lib/contexts/index.js +3 -3
  90. package/lib/contexts/index.js.map +1 -1
  91. package/lib/contexts/subtreeContext.js +1 -1
  92. package/lib/contexts/treeContext.js +3 -3
  93. package/lib/contexts/treeContext.js.map +1 -1
  94. package/lib/contexts/treeItemContext.js +3 -3
  95. package/lib/contexts/treeItemContext.js.map +1 -1
  96. package/lib/hooks/useControllableOpenItems.js +3 -3
  97. package/lib/hooks/useControllableOpenItems.js.map +1 -1
  98. package/lib/hooks/useFlatTreeNavigation.js +9 -9
  99. package/lib/hooks/useFlatTreeNavigation.js.map +1 -1
  100. package/lib/hooks/useHTMLElementWalkerRef.js +4 -4
  101. package/lib/hooks/useHTMLElementWalkerRef.js.map +1 -1
  102. package/lib/hooks/useRootTree.js +8 -8
  103. package/lib/hooks/useRootTree.js.map +1 -1
  104. package/lib/hooks/useRovingTabIndexes.js +3 -3
  105. package/lib/hooks/useSubtree.js +4 -4
  106. package/lib/hooks/useSubtree.js.map +1 -1
  107. package/lib/hooks/useTreeNavigation.js +8 -8
  108. package/lib/hooks/useTreeNavigation.js.map +1 -1
  109. package/lib/index.js +12 -12
  110. package/lib/index.js.map +1 -1
  111. package/lib/utils/createCheckedItems.js +1 -1
  112. package/lib/utils/createCheckedItems.js.map +1 -1
  113. package/lib/utils/createHTMLElementWalker.js +1 -1
  114. package/lib/utils/tokens.js +1 -1
  115. package/lib-commonjs/{FlatTree.js → FlatTree.cjs} +1 -1
  116. package/lib-commonjs/{FlatTree.js.map → FlatTree.cjs.map} +1 -1
  117. package/lib-commonjs/{FlatTreeItem.js → FlatTreeItem.cjs} +1 -1
  118. package/lib-commonjs/{FlatTreeItem.js.map → FlatTreeItem.cjs.map} +1 -1
  119. package/lib-commonjs/{Tree.js → Tree.cjs} +1 -1
  120. package/lib-commonjs/{Tree.js.map → Tree.cjs.map} +1 -1
  121. package/lib-commonjs/{TreeItem.js → TreeItem.cjs} +1 -1
  122. package/lib-commonjs/{TreeItem.js.map → TreeItem.cjs.map} +1 -1
  123. package/lib-commonjs/{TreeItemLayout.js → TreeItemLayout.cjs} +1 -1
  124. package/lib-commonjs/{TreeItemLayout.js.map → TreeItemLayout.cjs.map} +1 -1
  125. package/lib-commonjs/{TreeItemPersonaLayout.js → TreeItemPersonaLayout.cjs} +1 -1
  126. package/lib-commonjs/{TreeItemPersonaLayout.js.map → TreeItemPersonaLayout.cjs.map} +1 -1
  127. package/lib-commonjs/components/FlatTree/{FlatTree.js → FlatTree.cjs} +4 -4
  128. package/lib-commonjs/components/FlatTree/{FlatTree.js.map → FlatTree.cjs.map} +1 -1
  129. package/lib-commonjs/components/FlatTree/{index.js → index.cjs} +6 -6
  130. package/lib-commonjs/components/FlatTree/{index.js.map → index.cjs.map} +1 -1
  131. package/lib-commonjs/components/FlatTree/{renderFlatTree.js → renderFlatTree.cjs} +1 -1
  132. package/lib-commonjs/components/FlatTree/{renderFlatTree.js.map → renderFlatTree.cjs.map} +1 -1
  133. package/lib-commonjs/components/FlatTree/{useFlatControllableCheckedItems.js → useFlatControllableCheckedItems.cjs} +2 -2
  134. package/lib-commonjs/components/FlatTree/{useFlatControllableCheckedItems.js.map → useFlatControllableCheckedItems.cjs.map} +1 -1
  135. package/lib-commonjs/components/FlatTree/{useFlatTree.js → useFlatTree.cjs} +6 -6
  136. package/lib-commonjs/components/FlatTree/{useFlatTree.js.map → useFlatTree.cjs.map} +1 -1
  137. package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.cjs.map +1 -0
  138. package/lib-commonjs/components/FlatTree/{useHeadlessFlatTree.js → useHeadlessFlatTree.cjs} +8 -8
  139. package/lib-commonjs/components/FlatTree/{useHeadlessFlatTree.js.map → useHeadlessFlatTree.cjs.map} +1 -1
  140. package/lib-commonjs/components/FlatTreeItem/{FlatTreeItem.js → FlatTreeItem.cjs} +1 -1
  141. package/lib-commonjs/components/FlatTreeItem/{FlatTreeItem.js.map → FlatTreeItem.cjs.map} +1 -1
  142. package/lib-commonjs/components/FlatTreeItem/{index.js → index.cjs} +1 -1
  143. package/lib-commonjs/components/FlatTreeItem/{index.js.map → index.cjs.map} +1 -1
  144. package/lib-commonjs/components/Tree/{Tree.js → Tree.cjs} +4 -4
  145. package/lib-commonjs/components/Tree/{Tree.js.map → Tree.cjs.map} +1 -1
  146. package/lib-commonjs/components/Tree/{index.js → index.cjs} +5 -5
  147. package/lib-commonjs/components/Tree/{index.js.map → index.cjs.map} +1 -1
  148. package/lib-commonjs/components/Tree/{renderTree.js → renderTree.cjs} +1 -1
  149. package/lib-commonjs/components/Tree/{renderTree.js.map → renderTree.cjs.map} +1 -1
  150. package/lib-commonjs/components/Tree/{useNestedControllableCheckedItems.js → useNestedControllableCheckedItems.cjs} +2 -2
  151. package/lib-commonjs/components/Tree/{useNestedControllableCheckedItems.js.map → useNestedControllableCheckedItems.cjs.map} +1 -1
  152. package/lib-commonjs/components/Tree/{useTree.js → useTree.cjs} +9 -9
  153. package/lib-commonjs/components/Tree/{useTree.js.map → useTree.cjs.map} +1 -1
  154. package/lib-commonjs/components/Tree/useTreeStyles.styles.cjs.map +1 -0
  155. package/lib-commonjs/components/TreeItem/{TreeItem.js → TreeItem.cjs} +4 -4
  156. package/lib-commonjs/components/TreeItem/{TreeItem.js.map → TreeItem.cjs.map} +1 -1
  157. package/lib-commonjs/components/TreeItem/{index.js → index.cjs} +5 -5
  158. package/lib-commonjs/components/TreeItem/{index.js.map → index.cjs.map} +1 -1
  159. package/lib-commonjs/components/TreeItem/{renderTreeItem.js → renderTreeItem.cjs} +2 -2
  160. package/lib-commonjs/components/TreeItem/{renderTreeItem.js.map → renderTreeItem.cjs.map} +1 -1
  161. package/lib-commonjs/components/TreeItem/{useTreeItem.js → useTreeItem.cjs} +14 -14
  162. package/lib-commonjs/components/TreeItem/{useTreeItem.js.map → useTreeItem.cjs.map} +1 -1
  163. package/lib-commonjs/components/TreeItem/{useTreeItemStyles.styles.js → useTreeItemStyles.styles.cjs} +1 -1
  164. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.cjs.map +1 -0
  165. package/lib-commonjs/components/TreeItem/{useTreeItemStyles.styles.raw.js → useTreeItemStyles.styles.raw.cjs} +3 -3
  166. package/lib-commonjs/components/TreeItem/{useTreeItemStyles.styles.raw.js.map → useTreeItemStyles.styles.raw.cjs.map} +1 -1
  167. package/lib-commonjs/components/{TreeItemChevron.js → TreeItemChevron.cjs} +1 -1
  168. package/lib-commonjs/components/{TreeItemChevron.js.map → TreeItemChevron.cjs.map} +1 -1
  169. package/lib-commonjs/components/TreeItemLayout/{TreeItemLayout.js → TreeItemLayout.cjs} +3 -3
  170. package/lib-commonjs/components/TreeItemLayout/{TreeItemLayout.js.map → TreeItemLayout.cjs.map} +1 -1
  171. package/lib-commonjs/components/TreeItemLayout/{index.js → index.cjs} +4 -4
  172. package/lib-commonjs/components/TreeItemLayout/{index.js.map → index.cjs.map} +1 -1
  173. package/lib-commonjs/components/TreeItemLayout/{useTreeItemLayout.js → useTreeItemLayout.cjs} +12 -12
  174. package/lib-commonjs/components/TreeItemLayout/{useTreeItemLayout.js.map → useTreeItemLayout.cjs.map} +1 -1
  175. package/lib-commonjs/components/TreeItemLayout/{useTreeItemLayoutStyles.styles.js → useTreeItemLayoutStyles.styles.cjs} +2 -2
  176. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.cjs.map +1 -0
  177. package/lib-commonjs/components/TreeItemLayout/{useTreeItemLayoutStyles.styles.raw.js → useTreeItemLayoutStyles.styles.raw.cjs} +3 -3
  178. package/lib-commonjs/components/TreeItemLayout/{useTreeItemLayoutStyles.styles.raw.js.map → useTreeItemLayoutStyles.styles.raw.cjs.map} +1 -1
  179. package/lib-commonjs/components/TreeItemPersonaLayout/{TreeItemPersonaLayout.js → TreeItemPersonaLayout.cjs} +4 -4
  180. package/lib-commonjs/components/TreeItemPersonaLayout/{TreeItemPersonaLayout.js.map → TreeItemPersonaLayout.cjs.map} +1 -1
  181. package/lib-commonjs/components/TreeItemPersonaLayout/{index.js → index.cjs} +4 -4
  182. package/lib-commonjs/components/TreeItemPersonaLayout/{index.js.map → index.cjs.map} +1 -1
  183. package/lib-commonjs/components/TreeItemPersonaLayout/{useTreeItemPersonaLayout.js → useTreeItemPersonaLayout.cjs} +5 -5
  184. package/lib-commonjs/components/TreeItemPersonaLayout/{useTreeItemPersonaLayout.js.map → useTreeItemPersonaLayout.cjs.map} +1 -1
  185. package/lib-commonjs/components/TreeItemPersonaLayout/{useTreeItemPersonaLayoutStyles.styles.js → useTreeItemPersonaLayoutStyles.styles.cjs} +2 -2
  186. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.cjs.map +1 -0
  187. package/lib-commonjs/components/TreeItemPersonaLayout/{useTreeItemPersonaLayoutStyles.styles.raw.js → useTreeItemPersonaLayoutStyles.styles.raw.cjs} +3 -3
  188. package/lib-commonjs/components/TreeItemPersonaLayout/{useTreeItemPersonaLayoutStyles.styles.raw.js.map → useTreeItemPersonaLayoutStyles.styles.raw.cjs.map} +1 -1
  189. package/lib-commonjs/components/{TreeProvider.js → TreeProvider.cjs} +5 -5
  190. package/lib-commonjs/components/{TreeProvider.js.map → TreeProvider.cjs.map} +1 -1
  191. package/lib-commonjs/contexts/{index.js → index.cjs} +3 -3
  192. package/lib-commonjs/contexts/{index.js.map → index.cjs.map} +1 -1
  193. package/lib-commonjs/contexts/{treeContext.js → treeContext.cjs} +2 -2
  194. package/lib-commonjs/contexts/{treeContext.js.map → treeContext.cjs.map} +1 -1
  195. package/lib-commonjs/contexts/{treeItemContext.js → treeItemContext.cjs} +1 -1
  196. package/lib-commonjs/contexts/{treeItemContext.js.map → treeItemContext.cjs.map} +1 -1
  197. package/lib-commonjs/hooks/{useControllableOpenItems.js → useControllableOpenItems.cjs} +1 -1
  198. package/lib-commonjs/hooks/{useControllableOpenItems.js.map → useControllableOpenItems.cjs.map} +1 -1
  199. package/lib-commonjs/hooks/{useFlatTreeNavigation.js → useFlatTreeNavigation.cjs} +6 -6
  200. package/lib-commonjs/hooks/{useFlatTreeNavigation.js.map → useFlatTreeNavigation.cjs.map} +1 -1
  201. package/lib-commonjs/hooks/{useHTMLElementWalkerRef.js → useHTMLElementWalkerRef.cjs} +2 -2
  202. package/lib-commonjs/hooks/{useHTMLElementWalkerRef.js.map → useHTMLElementWalkerRef.cjs.map} +1 -1
  203. package/lib-commonjs/hooks/{useRootTree.js → useRootTree.cjs} +5 -5
  204. package/lib-commonjs/hooks/{useRootTree.js.map → useRootTree.cjs.map} +1 -1
  205. package/lib-commonjs/hooks/{useSubtree.js → useSubtree.cjs} +1 -1
  206. package/lib-commonjs/hooks/{useSubtree.js.map → useSubtree.cjs.map} +1 -1
  207. package/lib-commonjs/hooks/{useTreeNavigation.js → useTreeNavigation.cjs} +5 -5
  208. package/lib-commonjs/hooks/{useTreeNavigation.js.map → useTreeNavigation.cjs.map} +1 -1
  209. package/lib-commonjs/{index.js → index.cjs} +16 -16
  210. package/lib-commonjs/{index.js.map → index.cjs.map} +1 -1
  211. package/lib-commonjs/utils/{createCheckedItems.js → createCheckedItems.cjs} +1 -1
  212. package/lib-commonjs/utils/{createCheckedItems.js.map → createCheckedItems.cjs.map} +1 -1
  213. package/package.json +27 -21
  214. package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js.map +0 -1
  215. package/lib-commonjs/components/Tree/useTreeStyles.styles.js.map +0 -1
  216. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js.map +0 -1
  217. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +0 -1
  218. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +0 -1
  219. /package/lib-commonjs/components/FlatTree/{FlatTree.types.js → FlatTree.types.cjs} +0 -0
  220. /package/lib-commonjs/components/FlatTree/{FlatTree.types.js.map → FlatTree.types.cjs.map} +0 -0
  221. /package/lib-commonjs/components/FlatTree/{useFlatTreeContextValues.js → useFlatTreeContextValues.cjs} +0 -0
  222. /package/lib-commonjs/components/FlatTree/{useFlatTreeContextValues.js.map → useFlatTreeContextValues.cjs.map} +0 -0
  223. /package/lib-commonjs/components/FlatTree/{useFlatTreeStyles.styles.js → useFlatTreeStyles.styles.cjs} +0 -0
  224. /package/lib-commonjs/components/FlatTree/{useFlatTreeStyles.styles.raw.js → useFlatTreeStyles.styles.raw.cjs} +0 -0
  225. /package/lib-commonjs/components/FlatTree/{useFlatTreeStyles.styles.raw.js.map → useFlatTreeStyles.styles.raw.cjs.map} +0 -0
  226. /package/lib-commonjs/components/FlatTreeItem/{FlatTreeItem.types.js → FlatTreeItem.types.cjs} +0 -0
  227. /package/lib-commonjs/components/FlatTreeItem/{FlatTreeItem.types.js.map → FlatTreeItem.types.cjs.map} +0 -0
  228. /package/lib-commonjs/components/Tree/{Tree.types.js → Tree.types.cjs} +0 -0
  229. /package/lib-commonjs/components/Tree/{Tree.types.js.map → Tree.types.cjs.map} +0 -0
  230. /package/lib-commonjs/components/Tree/{useTreeContextValues.js → useTreeContextValues.cjs} +0 -0
  231. /package/lib-commonjs/components/Tree/{useTreeContextValues.js.map → useTreeContextValues.cjs.map} +0 -0
  232. /package/lib-commonjs/components/Tree/{useTreeStyles.styles.js → useTreeStyles.styles.cjs} +0 -0
  233. /package/lib-commonjs/components/Tree/{useTreeStyles.styles.raw.js → useTreeStyles.styles.raw.cjs} +0 -0
  234. /package/lib-commonjs/components/Tree/{useTreeStyles.styles.raw.js.map → useTreeStyles.styles.raw.cjs.map} +0 -0
  235. /package/lib-commonjs/components/TreeItem/{TreeItem.types.js → TreeItem.types.cjs} +0 -0
  236. /package/lib-commonjs/components/TreeItem/{TreeItem.types.js.map → TreeItem.types.cjs.map} +0 -0
  237. /package/lib-commonjs/components/TreeItem/{useTreeItemContextValues.js → useTreeItemContextValues.cjs} +0 -0
  238. /package/lib-commonjs/components/TreeItem/{useTreeItemContextValues.js.map → useTreeItemContextValues.cjs.map} +0 -0
  239. /package/lib-commonjs/components/TreeItemLayout/{TreeItemLayout.types.js → TreeItemLayout.types.cjs} +0 -0
  240. /package/lib-commonjs/components/TreeItemLayout/{TreeItemLayout.types.js.map → TreeItemLayout.types.cjs.map} +0 -0
  241. /package/lib-commonjs/components/TreeItemLayout/{renderTreeItemLayout.js → renderTreeItemLayout.cjs} +0 -0
  242. /package/lib-commonjs/components/TreeItemLayout/{renderTreeItemLayout.js.map → renderTreeItemLayout.cjs.map} +0 -0
  243. /package/lib-commonjs/components/TreeItemPersonaLayout/{TreeItemPersonaLayout.types.js → TreeItemPersonaLayout.types.cjs} +0 -0
  244. /package/lib-commonjs/components/TreeItemPersonaLayout/{TreeItemPersonaLayout.types.js.map → TreeItemPersonaLayout.types.cjs.map} +0 -0
  245. /package/lib-commonjs/components/TreeItemPersonaLayout/{renderTreeItemPersonaLayout.js → renderTreeItemPersonaLayout.cjs} +0 -0
  246. /package/lib-commonjs/components/TreeItemPersonaLayout/{renderTreeItemPersonaLayout.js.map → renderTreeItemPersonaLayout.cjs.map} +0 -0
  247. /package/lib-commonjs/components/TreeItemPersonaLayout/{useTreeItemPersonaLayoutContextValues.js → useTreeItemPersonaLayoutContextValues.cjs} +0 -0
  248. /package/lib-commonjs/components/TreeItemPersonaLayout/{useTreeItemPersonaLayoutContextValues.js.map → useTreeItemPersonaLayoutContextValues.cjs.map} +0 -0
  249. /package/lib-commonjs/contexts/{subtreeContext.js → subtreeContext.cjs} +0 -0
  250. /package/lib-commonjs/contexts/{subtreeContext.js.map → subtreeContext.cjs.map} +0 -0
  251. /package/lib-commonjs/hooks/{useRovingTabIndexes.js → useRovingTabIndexes.cjs} +0 -0
  252. /package/lib-commonjs/hooks/{useRovingTabIndexes.js.map → useRovingTabIndexes.cjs.map} +0 -0
  253. /package/lib-commonjs/utils/{ImmutableMap.js → ImmutableMap.cjs} +0 -0
  254. /package/lib-commonjs/utils/{ImmutableMap.js.map → ImmutableMap.cjs.map} +0 -0
  255. /package/lib-commonjs/utils/{ImmutableSet.js → ImmutableSet.cjs} +0 -0
  256. /package/lib-commonjs/utils/{ImmutableSet.js.map → ImmutableSet.cjs.map} +0 -0
  257. /package/lib-commonjs/utils/{assert.js → assert.cjs} +0 -0
  258. /package/lib-commonjs/utils/{assert.js.map → assert.cjs.map} +0 -0
  259. /package/lib-commonjs/utils/{createHTMLElementWalker.js → createHTMLElementWalker.cjs} +0 -0
  260. /package/lib-commonjs/utils/{createHTMLElementWalker.js.map → createHTMLElementWalker.cjs.map} +0 -0
  261. /package/lib-commonjs/utils/{createHeadlessTree.js → createHeadlessTree.cjs} +0 -0
  262. /package/lib-commonjs/utils/{createHeadlessTree.js.map → createHeadlessTree.cjs.map} +0 -0
  263. /package/lib-commonjs/utils/{flattenTree.js → flattenTree.cjs} +0 -0
  264. /package/lib-commonjs/utils/{flattenTree.js.map → flattenTree.cjs.map} +0 -0
  265. /package/lib-commonjs/utils/{getTreeItemValueFromElement.js → getTreeItemValueFromElement.cjs} +0 -0
  266. /package/lib-commonjs/utils/{getTreeItemValueFromElement.js.map → getTreeItemValueFromElement.cjs.map} +0 -0
  267. /package/lib-commonjs/utils/{nextTypeAheadElement.js → nextTypeAheadElement.cjs} +0 -0
  268. /package/lib-commonjs/utils/{nextTypeAheadElement.js.map → nextTypeAheadElement.cjs.map} +0 -0
  269. /package/lib-commonjs/utils/{normalizeOpenItems.js → normalizeOpenItems.cjs} +0 -0
  270. /package/lib-commonjs/utils/{normalizeOpenItems.js.map → normalizeOpenItems.cjs.map} +0 -0
  271. /package/lib-commonjs/utils/{tokens.js → tokens.cjs} +0 -0
  272. /package/lib-commonjs/utils/{tokens.js.map → tokens.cjs.map} +0 -0
  273. /package/lib-commonjs/utils/{treeItemFilter.js → treeItemFilter.cjs} +0 -0
  274. /package/lib-commonjs/utils/{treeItemFilter.js.map → treeItemFilter.cjs.map} +0 -0
package/lib/FlatTree.js CHANGED
@@ -1 +1 @@
1
- export { FlatTree, flatTreeClassNames, renderFlatTree_unstable, useFlatTreeContextValues_unstable, useFlatTreeStyles_unstable, useFlatTree_unstable, useHeadlessFlatTree_unstable } from './components/FlatTree/index';
1
+ export { FlatTree, flatTreeClassNames, renderFlatTree_unstable, useFlatTreeContextValues_unstable, useFlatTreeStyles_unstable, useFlatTree_unstable, useHeadlessFlatTree_unstable } from "./components/FlatTree/index.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/FlatTree.ts"],"sourcesContent":["export type {\n FlatTreeContextValues,\n FlatTreeProps,\n FlatTreeSlots,\n FlatTreeState,\n HeadlessFlatTree,\n HeadlessFlatTreeItem,\n HeadlessFlatTreeItemProps,\n HeadlessFlatTreeOptions,\n} from './components/FlatTree/index';\nexport {\n FlatTree,\n flatTreeClassNames,\n renderFlatTree_unstable,\n useFlatTreeContextValues_unstable,\n useFlatTreeStyles_unstable,\n useFlatTree_unstable,\n useHeadlessFlatTree_unstable,\n} from './components/FlatTree/index';\n"],"names":["FlatTree","flatTreeClassNames","renderFlatTree_unstable","useFlatTreeContextValues_unstable","useFlatTreeStyles_unstable","useFlatTree_unstable","useHeadlessFlatTree_unstable"],"mappings":"AAUA,SACEA,QAAQ,EACRC,kBAAkB,EAClBC,uBAAuB,EACvBC,iCAAiC,EACjCC,0BAA0B,EAC1BC,oBAAoB,EACpBC,4BAA4B,QACvB,8BAA8B"}
1
+ {"version":3,"sources":["../src/FlatTree.ts"],"sourcesContent":["export type {\n FlatTreeContextValues,\n FlatTreeProps,\n FlatTreeSlots,\n FlatTreeState,\n HeadlessFlatTree,\n HeadlessFlatTreeItem,\n HeadlessFlatTreeItemProps,\n HeadlessFlatTreeOptions,\n} from './components/FlatTree/index';\nexport {\n FlatTree,\n flatTreeClassNames,\n renderFlatTree_unstable,\n useFlatTreeContextValues_unstable,\n useFlatTreeStyles_unstable,\n useFlatTree_unstable,\n useHeadlessFlatTree_unstable,\n} from './components/FlatTree/index';\n"],"names":["FlatTree","flatTreeClassNames","renderFlatTree_unstable","useFlatTreeContextValues_unstable","useFlatTreeStyles_unstable","useFlatTree_unstable","useHeadlessFlatTree_unstable"],"mappings":"AAUA,SACEA,QAAQ,EACRC,kBAAkB,EAClBC,uBAAuB,EACvBC,iCAAiC,EACjCC,0BAA0B,EAC1BC,oBAAoB,EACpBC,4BAA4B,QACvB,iCAA8B"}
@@ -1 +1 @@
1
- export { FlatTreeItem } from './components/FlatTreeItem/index';
1
+ export { FlatTreeItem } from "./components/FlatTreeItem/index.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/FlatTreeItem.ts"],"sourcesContent":["export type { FlatTreeItemProps } from './components/FlatTreeItem/index';\nexport { FlatTreeItem } from './components/FlatTreeItem/index';\n"],"names":["FlatTreeItem"],"mappings":"AACA,SAASA,YAAY,QAAQ,kCAAkC"}
1
+ {"version":3,"sources":["../src/FlatTreeItem.ts"],"sourcesContent":["export type { FlatTreeItemProps } from './components/FlatTreeItem/index';\nexport { FlatTreeItem } from './components/FlatTreeItem/index';\n"],"names":["FlatTreeItem"],"mappings":"AACA,SAASA,YAAY,QAAQ,qCAAkC"}
package/lib/Tree.js CHANGED
@@ -1 +1 @@
1
- export { Tree, renderTree_unstable, treeClassNames, useTreeContextValues_unstable, useTreeStyles_unstable, useTree_unstable } from './components/Tree/index';
1
+ export { Tree, renderTree_unstable, treeClassNames, useTreeContextValues_unstable, useTreeStyles_unstable, useTree_unstable } from "./components/Tree/index.js";
package/lib/Tree.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Tree.ts"],"sourcesContent":["export type {\n TreeCheckedChangeData,\n TreeCheckedChangeEvent,\n TreeContextValues,\n TreeNavigationData_unstable,\n TreeNavigationEvent_unstable,\n TreeOpenChangeData,\n TreeOpenChangeEvent,\n TreeProps,\n TreeSelectionValue,\n TreeSlots,\n TreeState,\n TreeNavigationMode,\n TreeNavigationDataParam,\n} from './components/Tree/index';\nexport {\n Tree,\n renderTree_unstable,\n treeClassNames,\n useTreeContextValues_unstable,\n useTreeStyles_unstable,\n useTree_unstable,\n} from './components/Tree/index';\n"],"names":["Tree","renderTree_unstable","treeClassNames","useTreeContextValues_unstable","useTreeStyles_unstable","useTree_unstable"],"mappings":"AAeA,SACEA,IAAI,EACJC,mBAAmB,EACnBC,cAAc,EACdC,6BAA6B,EAC7BC,sBAAsB,EACtBC,gBAAgB,QACX,0BAA0B"}
1
+ {"version":3,"sources":["../src/Tree.ts"],"sourcesContent":["export type {\n TreeCheckedChangeData,\n TreeCheckedChangeEvent,\n TreeContextValues,\n TreeNavigationData_unstable,\n TreeNavigationEvent_unstable,\n TreeOpenChangeData,\n TreeOpenChangeEvent,\n TreeProps,\n TreeSelectionValue,\n TreeSlots,\n TreeState,\n TreeNavigationMode,\n TreeNavigationDataParam,\n} from './components/Tree/index';\nexport {\n Tree,\n renderTree_unstable,\n treeClassNames,\n useTreeContextValues_unstable,\n useTreeStyles_unstable,\n useTree_unstable,\n} from './components/Tree/index';\n"],"names":["Tree","renderTree_unstable","treeClassNames","useTreeContextValues_unstable","useTreeStyles_unstable","useTree_unstable"],"mappings":"AAeA,SACEA,IAAI,EACJC,mBAAmB,EACnBC,cAAc,EACdC,6BAA6B,EAC7BC,sBAAsB,EACtBC,gBAAgB,QACX,6BAA0B"}
package/lib/TreeItem.js CHANGED
@@ -1 +1 @@
1
- export { TreeItem, renderTreeItem_unstable, treeItemClassNames, useTreeItemContextValues_unstable, useTreeItemStyles_unstable, useTreeItem_unstable } from './components/TreeItem/index';
1
+ export { TreeItem, renderTreeItem_unstable, treeItemClassNames, useTreeItemContextValues_unstable, useTreeItemStyles_unstable, useTreeItem_unstable } from "./components/TreeItem/index.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/TreeItem.ts"],"sourcesContent":["export type {\n TreeItemCSSProperties,\n TreeItemContextValues,\n TreeItemOpenChangeData,\n TreeItemOpenChangeEvent,\n TreeItemProps,\n TreeItemSlots,\n TreeItemState,\n TreeItemType,\n TreeItemValue,\n} from './components/TreeItem/index';\nexport {\n TreeItem,\n renderTreeItem_unstable,\n treeItemClassNames,\n useTreeItemContextValues_unstable,\n useTreeItemStyles_unstable,\n useTreeItem_unstable,\n} from './components/TreeItem/index';\n"],"names":["TreeItem","renderTreeItem_unstable","treeItemClassNames","useTreeItemContextValues_unstable","useTreeItemStyles_unstable","useTreeItem_unstable"],"mappings":"AAWA,SACEA,QAAQ,EACRC,uBAAuB,EACvBC,kBAAkB,EAClBC,iCAAiC,EACjCC,0BAA0B,EAC1BC,oBAAoB,QACf,8BAA8B"}
1
+ {"version":3,"sources":["../src/TreeItem.ts"],"sourcesContent":["export type {\n TreeItemCSSProperties,\n TreeItemContextValues,\n TreeItemOpenChangeData,\n TreeItemOpenChangeEvent,\n TreeItemProps,\n TreeItemSlots,\n TreeItemState,\n TreeItemType,\n TreeItemValue,\n} from './components/TreeItem/index';\nexport {\n TreeItem,\n renderTreeItem_unstable,\n treeItemClassNames,\n useTreeItemContextValues_unstable,\n useTreeItemStyles_unstable,\n useTreeItem_unstable,\n} from './components/TreeItem/index';\n"],"names":["TreeItem","renderTreeItem_unstable","treeItemClassNames","useTreeItemContextValues_unstable","useTreeItemStyles_unstable","useTreeItem_unstable"],"mappings":"AAWA,SACEA,QAAQ,EACRC,uBAAuB,EACvBC,kBAAkB,EAClBC,iCAAiC,EACjCC,0BAA0B,EAC1BC,oBAAoB,QACf,iCAA8B"}
@@ -1 +1 @@
1
- export { TreeItemLayout, renderTreeItemLayout_unstable, treeItemLayoutClassNames, useTreeItemLayoutStyles_unstable, useTreeItemLayout_unstable } from './components/TreeItemLayout/index';
1
+ export { TreeItemLayout, renderTreeItemLayout_unstable, treeItemLayoutClassNames, useTreeItemLayoutStyles_unstable, useTreeItemLayout_unstable } from "./components/TreeItemLayout/index.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/TreeItemLayout.ts"],"sourcesContent":["export type {\n TreeItemLayoutActionSlotProps,\n TreeItemLayoutActionVisibilityChangeData,\n TreeItemLayoutProps,\n TreeItemLayoutSlots,\n TreeItemLayoutState,\n} from './components/TreeItemLayout/index';\nexport {\n TreeItemLayout,\n renderTreeItemLayout_unstable,\n treeItemLayoutClassNames,\n useTreeItemLayoutStyles_unstable,\n useTreeItemLayout_unstable,\n} from './components/TreeItemLayout/index';\n"],"names":["TreeItemLayout","renderTreeItemLayout_unstable","treeItemLayoutClassNames","useTreeItemLayoutStyles_unstable","useTreeItemLayout_unstable"],"mappings":"AAOA,SACEA,cAAc,EACdC,6BAA6B,EAC7BC,wBAAwB,EACxBC,gCAAgC,EAChCC,0BAA0B,QACrB,oCAAoC"}
1
+ {"version":3,"sources":["../src/TreeItemLayout.ts"],"sourcesContent":["export type {\n TreeItemLayoutActionSlotProps,\n TreeItemLayoutActionVisibilityChangeData,\n TreeItemLayoutProps,\n TreeItemLayoutSlots,\n TreeItemLayoutState,\n} from './components/TreeItemLayout/index';\nexport {\n TreeItemLayout,\n renderTreeItemLayout_unstable,\n treeItemLayoutClassNames,\n useTreeItemLayoutStyles_unstable,\n useTreeItemLayout_unstable,\n} from './components/TreeItemLayout/index';\n"],"names":["TreeItemLayout","renderTreeItemLayout_unstable","treeItemLayoutClassNames","useTreeItemLayoutStyles_unstable","useTreeItemLayout_unstable"],"mappings":"AAOA,SACEA,cAAc,EACdC,6BAA6B,EAC7BC,wBAAwB,EACxBC,gCAAgC,EAChCC,0BAA0B,QACrB,uCAAoC"}
@@ -1 +1 @@
1
- export { TreeItemPersonaLayout, renderTreeItemPersonaLayout_unstable, treeItemPersonaLayoutClassNames, useTreeItemPersonaLayoutStyles_unstable, useTreeItemPersonaLayout_unstable } from './components/TreeItemPersonaLayout/index';
1
+ export { TreeItemPersonaLayout, renderTreeItemPersonaLayout_unstable, treeItemPersonaLayoutClassNames, useTreeItemPersonaLayoutStyles_unstable, useTreeItemPersonaLayout_unstable } from "./components/TreeItemPersonaLayout/index.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/TreeItemPersonaLayout.ts"],"sourcesContent":["export type {\n TreeItemPersonaLayoutContextValues,\n TreeItemPersonaLayoutProps,\n TreeItemPersonaLayoutSlots,\n TreeItemPersonaLayoutState,\n} from './components/TreeItemPersonaLayout/index';\nexport {\n TreeItemPersonaLayout,\n renderTreeItemPersonaLayout_unstable,\n treeItemPersonaLayoutClassNames,\n useTreeItemPersonaLayoutStyles_unstable,\n useTreeItemPersonaLayout_unstable,\n} from './components/TreeItemPersonaLayout/index';\n"],"names":["TreeItemPersonaLayout","renderTreeItemPersonaLayout_unstable","treeItemPersonaLayoutClassNames","useTreeItemPersonaLayoutStyles_unstable","useTreeItemPersonaLayout_unstable"],"mappings":"AAMA,SACEA,qBAAqB,EACrBC,oCAAoC,EACpCC,+BAA+B,EAC/BC,uCAAuC,EACvCC,iCAAiC,QAC5B,2CAA2C"}
1
+ {"version":3,"sources":["../src/TreeItemPersonaLayout.ts"],"sourcesContent":["export type {\n TreeItemPersonaLayoutContextValues,\n TreeItemPersonaLayoutProps,\n TreeItemPersonaLayoutSlots,\n TreeItemPersonaLayoutState,\n} from './components/TreeItemPersonaLayout/index';\nexport {\n TreeItemPersonaLayout,\n renderTreeItemPersonaLayout_unstable,\n treeItemPersonaLayoutClassNames,\n useTreeItemPersonaLayoutStyles_unstable,\n useTreeItemPersonaLayout_unstable,\n} from './components/TreeItemPersonaLayout/index';\n"],"names":["TreeItemPersonaLayout","renderTreeItemPersonaLayout_unstable","treeItemPersonaLayoutClassNames","useTreeItemPersonaLayoutStyles_unstable","useTreeItemPersonaLayout_unstable"],"mappings":"AAMA,SACEA,qBAAqB,EACrBC,oCAAoC,EACpCC,+BAA+B,EAC/BC,uCAAuC,EACvCC,iCAAiC,QAC5B,8CAA2C"}
@@ -1,10 +1,10 @@
1
1
  'use client';
2
- import * as React from 'react';
3
- import { useFlatTree_unstable } from './useFlatTree';
4
- import { useFlatTreeStyles_unstable } from './useFlatTreeStyles.styles';
5
- import { useFlatTreeContextValues_unstable } from './useFlatTreeContextValues';
6
- import { renderFlatTree_unstable } from './renderFlatTree';
7
- import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
2
+ import * as React from "react";
3
+ import { useFlatTree_unstable } from "./useFlatTree.js";
4
+ import { useFlatTreeStyles_unstable } from "./useFlatTreeStyles.styles.js";
5
+ import { useFlatTreeContextValues_unstable } from "./useFlatTreeContextValues.js";
6
+ import { renderFlatTree_unstable } from "./renderFlatTree.js";
7
+ import { useCustomStyleHook_unstable } from "@fluentui/react-shared-contexts";
8
8
  /**
9
9
  * The `FlatTree` component is a variation of the `Tree` component that deals with a flattened data structure.
10
10
  *
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/FlatTree/FlatTree.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport type { FlatTreeProps } from './FlatTree.types';\nimport { useFlatTree_unstable } from './useFlatTree';\nimport { useFlatTreeStyles_unstable } from './useFlatTreeStyles.styles';\nimport { useFlatTreeContextValues_unstable } from './useFlatTreeContextValues';\nimport { renderFlatTree_unstable } from './renderFlatTree';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * The `FlatTree` component is a variation of the `Tree` component that deals with a flattened data structure.\n *\n * It should be used on cases where more complex interactions with a Tree is required.\n * On simple scenarios it is advised to simply use a nested structure instead.\n */\nexport const FlatTree: ForwardRefComponent<FlatTreeProps> = React.forwardRef((props, ref) => {\n const state = useFlatTree_unstable(props, ref);\n const contextValues = useFlatTreeContextValues_unstable(state);\n useFlatTreeStyles_unstable(state);\n useCustomStyleHook_unstable('useFlatTreeStyles_unstable')(state);\n\n return renderFlatTree_unstable(state, contextValues);\n});\n\nFlatTree.displayName = 'FlatTree';\n"],"names":["React","useFlatTree_unstable","useFlatTreeStyles_unstable","useFlatTreeContextValues_unstable","renderFlatTree_unstable","useCustomStyleHook_unstable","FlatTree","forwardRef","props","ref","state","contextValues","displayName"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAG/B,SAASC,oBAAoB,QAAQ,gBAAgB;AACrD,SAASC,0BAA0B,QAAQ,6BAA6B;AACxE,SAASC,iCAAiC,QAAQ,6BAA6B;AAC/E,SAASC,uBAAuB,QAAQ,mBAAmB;AAC3D,SAASC,2BAA2B,QAAQ,kCAAkC;AAE9E;;;;;CAKC,GACD,OAAO,MAAMC,yBAA+CN,MAAMO,UAAU,CAAC,CAACC,OAAOC;IACnF,MAAMC,QAAQT,qBAAqBO,OAAOC;IAC1C,MAAME,gBAAgBR,kCAAkCO;IACxDR,2BAA2BQ;IAC3BL,4BAA4B,8BAA8BK;IAE1D,OAAON,wBAAwBM,OAAOC;AACxC,GAAG;AAEHL,SAASM,WAAW,GAAG"}
1
+ {"version":3,"sources":["../src/components/FlatTree/FlatTree.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport type { FlatTreeProps } from './FlatTree.types';\nimport { useFlatTree_unstable } from './useFlatTree';\nimport { useFlatTreeStyles_unstable } from './useFlatTreeStyles.styles';\nimport { useFlatTreeContextValues_unstable } from './useFlatTreeContextValues';\nimport { renderFlatTree_unstable } from './renderFlatTree';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * The `FlatTree` component is a variation of the `Tree` component that deals with a flattened data structure.\n *\n * It should be used on cases where more complex interactions with a Tree is required.\n * On simple scenarios it is advised to simply use a nested structure instead.\n */\nexport const FlatTree: ForwardRefComponent<FlatTreeProps> = React.forwardRef((props, ref) => {\n const state = useFlatTree_unstable(props, ref);\n const contextValues = useFlatTreeContextValues_unstable(state);\n useFlatTreeStyles_unstable(state);\n useCustomStyleHook_unstable('useFlatTreeStyles_unstable')(state);\n\n return renderFlatTree_unstable(state, contextValues);\n});\n\nFlatTree.displayName = 'FlatTree';\n"],"names":["React","useFlatTree_unstable","useFlatTreeStyles_unstable","useFlatTreeContextValues_unstable","renderFlatTree_unstable","useCustomStyleHook_unstable","FlatTree","forwardRef","props","ref","state","contextValues","displayName"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAG/B,SAASC,oBAAoB,QAAQ,mBAAgB;AACrD,SAASC,0BAA0B,QAAQ,gCAA6B;AACxE,SAASC,iCAAiC,QAAQ,gCAA6B;AAC/E,SAASC,uBAAuB,QAAQ,sBAAmB;AAC3D,SAASC,2BAA2B,QAAQ,kCAAkC;AAE9E;;;;;CAKC,GACD,OAAO,MAAMC,yBAA+CN,MAAMO,UAAU,CAAC,CAACC,OAAOC;IACnF,MAAMC,QAAQT,qBAAqBO,OAAOC;IAC1C,MAAME,gBAAgBR,kCAAkCO;IACxDR,2BAA2BQ;IAC3BL,4BAA4B,8BAA8BK;IAE1D,OAAON,wBAAwBM,OAAOC;AACxC,GAAG;AAEHL,SAASM,WAAW,GAAG"}
@@ -1,6 +1,6 @@
1
- export { FlatTree } from './FlatTree';
2
- export { useHeadlessFlatTree_unstable } from './useHeadlessFlatTree';
3
- export { useFlatTree_unstable } from './useFlatTree';
4
- export { flatTreeClassNames, useFlatTreeStyles_unstable } from './useFlatTreeStyles.styles';
5
- export { useFlatTreeContextValues_unstable } from './useFlatTreeContextValues';
6
- export { renderFlatTree_unstable } from './renderFlatTree';
1
+ export { FlatTree } from "./FlatTree.js";
2
+ export { useHeadlessFlatTree_unstable } from "./useHeadlessFlatTree.js";
3
+ export { useFlatTree_unstable } from "./useFlatTree.js";
4
+ export { flatTreeClassNames, useFlatTreeStyles_unstable } from "./useFlatTreeStyles.styles.js";
5
+ export { useFlatTreeContextValues_unstable } from "./useFlatTreeContextValues.js";
6
+ export { renderFlatTree_unstable } from "./renderFlatTree.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/FlatTree/index.ts"],"sourcesContent":["export { FlatTree } from './FlatTree';\nexport type { FlatTreeContextValues, FlatTreeProps, FlatTreeSlots, FlatTreeState } from './FlatTree.types';\nexport type {\n HeadlessFlatTree,\n HeadlessFlatTreeItem,\n HeadlessFlatTreeItemProps,\n HeadlessFlatTreeOptions,\n} from './useHeadlessFlatTree';\nexport { useHeadlessFlatTree_unstable } from './useHeadlessFlatTree';\nexport { useFlatTree_unstable } from './useFlatTree';\nexport { flatTreeClassNames, useFlatTreeStyles_unstable } from './useFlatTreeStyles.styles';\nexport { useFlatTreeContextValues_unstable } from './useFlatTreeContextValues';\nexport { renderFlatTree_unstable } from './renderFlatTree';\n"],"names":["FlatTree","useHeadlessFlatTree_unstable","useFlatTree_unstable","flatTreeClassNames","useFlatTreeStyles_unstable","useFlatTreeContextValues_unstable","renderFlatTree_unstable"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,aAAa;AAQtC,SAASC,4BAA4B,QAAQ,wBAAwB;AACrE,SAASC,oBAAoB,QAAQ,gBAAgB;AACrD,SAASC,kBAAkB,EAAEC,0BAA0B,QAAQ,6BAA6B;AAC5F,SAASC,iCAAiC,QAAQ,6BAA6B;AAC/E,SAASC,uBAAuB,QAAQ,mBAAmB"}
1
+ {"version":3,"sources":["../src/components/FlatTree/index.ts"],"sourcesContent":["export { FlatTree } from './FlatTree';\nexport type { FlatTreeContextValues, FlatTreeProps, FlatTreeSlots, FlatTreeState } from './FlatTree.types';\nexport type {\n HeadlessFlatTree,\n HeadlessFlatTreeItem,\n HeadlessFlatTreeItemProps,\n HeadlessFlatTreeOptions,\n} from './useHeadlessFlatTree';\nexport { useHeadlessFlatTree_unstable } from './useHeadlessFlatTree';\nexport { useFlatTree_unstable } from './useFlatTree';\nexport { flatTreeClassNames, useFlatTreeStyles_unstable } from './useFlatTreeStyles.styles';\nexport { useFlatTreeContextValues_unstable } from './useFlatTreeContextValues';\nexport { renderFlatTree_unstable } from './renderFlatTree';\n"],"names":["FlatTree","useHeadlessFlatTree_unstable","useFlatTree_unstable","flatTreeClassNames","useFlatTreeStyles_unstable","useFlatTreeContextValues_unstable","renderFlatTree_unstable"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,gBAAa;AAQtC,SAASC,4BAA4B,QAAQ,2BAAwB;AACrE,SAASC,oBAAoB,QAAQ,mBAAgB;AACrD,SAASC,kBAAkB,EAAEC,0BAA0B,QAAQ,gCAA6B;AAC5F,SAASC,iCAAiC,QAAQ,gCAA6B;AAC/E,SAASC,uBAAuB,QAAQ,sBAAmB"}
@@ -1,2 +1,2 @@
1
- import { renderTree_unstable } from '../../Tree';
1
+ import { renderTree_unstable } from "../../Tree.js";
2
2
  export const renderFlatTree_unstable = renderTree_unstable;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/FlatTree/renderFlatTree.ts"],"sourcesContent":["import { renderTree_unstable } from '../../Tree';\nimport type { FlatTreeContextValues, FlatTreeState } from './FlatTree.types';\nimport type { JSXElement } from '@fluentui/react-utilities';\nexport const renderFlatTree_unstable: (state: FlatTreeState, contextValues: FlatTreeContextValues) => JSXElement =\n renderTree_unstable;\n"],"names":["renderTree_unstable","renderFlatTree_unstable"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,aAAa;AAGjD,OAAO,MAAMC,0BACXD,oBAAoB"}
1
+ {"version":3,"sources":["../src/components/FlatTree/renderFlatTree.ts"],"sourcesContent":["import { renderTree_unstable } from '../../Tree';\nimport type { FlatTreeContextValues, FlatTreeState } from './FlatTree.types';\nimport type { JSXElement } from '@fluentui/react-utilities';\nexport const renderFlatTree_unstable: (state: FlatTreeState, contextValues: FlatTreeContextValues) => JSXElement =\n renderTree_unstable;\n"],"names":["renderTree_unstable","renderFlatTree_unstable"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,gBAAa;AAGjD,OAAO,MAAMC,0BACXD,oBAAoB"}
@@ -1,8 +1,8 @@
1
1
  'use client';
2
- import { useControllableState } from '@fluentui/react-utilities';
3
- import { ImmutableMap } from '../../utils/ImmutableMap';
4
- import * as React from 'react';
5
- import { createCheckedItems } from '../../utils/createCheckedItems';
2
+ import { useControllableState } from "@fluentui/react-utilities";
3
+ import { ImmutableMap } from "../../utils/ImmutableMap.js";
4
+ import * as React from "react";
5
+ import { createCheckedItems } from "../../utils/createCheckedItems.js";
6
6
  export function useFlatControllableCheckedItems(props, headlessTree) {
7
7
  return useControllableState({
8
8
  initialState: ImmutableMap.empty,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/FlatTree/useFlatControllableCheckedItems.ts"],"sourcesContent":["'use client';\n\nimport { useControllableState } from '@fluentui/react-utilities';\nimport type { TreeItemValue } from '../../TreeItem';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\nimport * as React from 'react';\nimport type { HeadlessTree, HeadlessTreeItemProps } from '../../utils/createHeadlessTree';\nimport { createCheckedItems } from '../../utils/createCheckedItems';\nimport type { TreeCheckedChangeData, TreeSelectionValue } from '../Tree/Tree.types';\nimport type { HeadlessFlatTreeOptions } from './useHeadlessFlatTree';\n\nexport function useFlatControllableCheckedItems<Props extends HeadlessTreeItemProps>(\n props: Pick<HeadlessFlatTreeOptions, 'checkedItems' | 'defaultCheckedItems' | 'selectionMode'>,\n headlessTree: HeadlessTree<Props>,\n): [ImmutableMap<TreeItemValue, TreeSelectionValue>, React.Dispatch<ImmutableMap<TreeItemValue, TreeSelectionValue>>] {\n return useControllableState({\n initialState: ImmutableMap.empty,\n state: React.useMemo(\n () => (props.selectionMode ? props.checkedItems && createCheckedItems(props.checkedItems) : undefined),\n [props.checkedItems, props.selectionMode],\n ),\n defaultState: props.defaultCheckedItems ? () => initializeCheckedItems(props, headlessTree) : undefined,\n });\n}\n\nexport function createNextFlatCheckedItems(\n data: Pick<TreeCheckedChangeData, 'value' | 'checked' | 'selectionMode'>,\n previousCheckedItems: ImmutableMap<TreeItemValue, 'mixed' | boolean>,\n headlessTree: HeadlessTree<HeadlessTreeItemProps>,\n): ImmutableMap<TreeItemValue, 'mixed' | boolean> {\n if (data.selectionMode === 'single') {\n return ImmutableMap.from([[data.value, data.checked]]);\n }\n\n const treeItem = headlessTree.get(data.value);\n if (!treeItem) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error(/* #__DE-INDENT__ */ `\n @fluentui/react-tree [useHeadlessFlatTree]:\n Tree item ${data.value} not found.\n `);\n }\n return previousCheckedItems;\n }\n\n // Calling `ImmutableMap.set()` creates a new ImmutableMap - avoid this in loops.\n // Instead write all updates to a native Map and create a new ImmutableMap at the end.\n // Note that all descendants of the toggled item are processed even if they are collapsed,\n // making the choice of algorithm more important.\n\n const nextCheckedItemsMap = new Map(ImmutableMap.dangerouslyGetInternalMap(previousCheckedItems));\n\n // The toggled item itself\n nextCheckedItemsMap.set(data.value, data.checked);\n\n // Descendant updates\n for (const children of headlessTree.subtree(data.value)) {\n nextCheckedItemsMap.set(children.value, data.checked);\n }\n\n // Ancestor updates - must be done after adding descendants and the toggle item.\n // If any ancestor is mixed, all ancestors above it are mixed too.\n let isAncestorsMixed = false;\n\n for (const ancestor of headlessTree.ancestors(treeItem.value)) {\n if (isAncestorsMixed) {\n nextCheckedItemsMap.set(ancestor.value, 'mixed');\n continue;\n }\n\n // For each ancestor, if all of its children now have the same checked state as the toggled item,\n // set the ancestor to that checked state too. Otherwise it is 'mixed'.\n let childrenWithSameState = 0;\n for (const child of headlessTree.children(ancestor.value)) {\n if ((nextCheckedItemsMap.get(child.value) || false) === data.checked) {\n childrenWithSameState++;\n }\n }\n\n if (childrenWithSameState === ancestor.childrenValues.length) {\n nextCheckedItemsMap.set(ancestor.value, data.checked);\n } else {\n nextCheckedItemsMap.set(ancestor.value, 'mixed');\n isAncestorsMixed = true;\n }\n }\n\n const nextCheckedItems = ImmutableMap.from(nextCheckedItemsMap);\n return nextCheckedItems;\n}\n\nfunction initializeCheckedItems(\n props: Pick<HeadlessFlatTreeOptions, 'selectionMode' | 'defaultCheckedItems'>,\n headlessTree: HeadlessTree<HeadlessTreeItemProps>,\n) {\n if (!props.selectionMode) {\n return ImmutableMap.empty;\n }\n let state = createCheckedItems(props.defaultCheckedItems);\n // if selectionMode is multiselect, we need to calculate the checked state of all children\n // and ancestors of the defaultCheckedItems\n if (props.selectionMode === 'multiselect') {\n for (const [value, checked] of state) {\n state = createNextFlatCheckedItems({ value, checked, selectionMode: props.selectionMode }, state, headlessTree);\n }\n }\n return state;\n}\n"],"names":["useControllableState","ImmutableMap","React","createCheckedItems","useFlatControllableCheckedItems","props","headlessTree","initialState","empty","state","useMemo","selectionMode","checkedItems","undefined","defaultState","defaultCheckedItems","initializeCheckedItems","createNextFlatCheckedItems","data","previousCheckedItems","from","value","checked","treeItem","get","process","env","NODE_ENV","console","error","nextCheckedItemsMap","Map","dangerouslyGetInternalMap","set","children","subtree","isAncestorsMixed","ancestor","ancestors","childrenWithSameState","child","childrenValues","length","nextCheckedItems"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/components/FlatTree/useFlatControllableCheckedItems.ts"],"sourcesContent":["'use client';\n\nimport { useControllableState } from '@fluentui/react-utilities';\nimport type { TreeItemValue } from '../../TreeItem';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\nimport * as React from 'react';\nimport type { HeadlessTree, HeadlessTreeItemProps } from '../../utils/createHeadlessTree';\nimport { createCheckedItems } from '../../utils/createCheckedItems';\nimport type { TreeCheckedChangeData, TreeSelectionValue } from '../Tree/Tree.types';\nimport type { HeadlessFlatTreeOptions } from './useHeadlessFlatTree';\n\nexport function useFlatControllableCheckedItems<Props extends HeadlessTreeItemProps>(\n props: Pick<HeadlessFlatTreeOptions, 'checkedItems' | 'defaultCheckedItems' | 'selectionMode'>,\n headlessTree: HeadlessTree<Props>,\n): [ImmutableMap<TreeItemValue, TreeSelectionValue>, React.Dispatch<ImmutableMap<TreeItemValue, TreeSelectionValue>>] {\n return useControllableState({\n initialState: ImmutableMap.empty,\n state: React.useMemo(\n () => (props.selectionMode ? props.checkedItems && createCheckedItems(props.checkedItems) : undefined),\n [props.checkedItems, props.selectionMode],\n ),\n defaultState: props.defaultCheckedItems ? () => initializeCheckedItems(props, headlessTree) : undefined,\n });\n}\n\nexport function createNextFlatCheckedItems(\n data: Pick<TreeCheckedChangeData, 'value' | 'checked' | 'selectionMode'>,\n previousCheckedItems: ImmutableMap<TreeItemValue, 'mixed' | boolean>,\n headlessTree: HeadlessTree<HeadlessTreeItemProps>,\n): ImmutableMap<TreeItemValue, 'mixed' | boolean> {\n if (data.selectionMode === 'single') {\n return ImmutableMap.from([[data.value, data.checked]]);\n }\n\n const treeItem = headlessTree.get(data.value);\n if (!treeItem) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error(/* #__DE-INDENT__ */ `\n @fluentui/react-tree [useHeadlessFlatTree]:\n Tree item ${data.value} not found.\n `);\n }\n return previousCheckedItems;\n }\n\n // Calling `ImmutableMap.set()` creates a new ImmutableMap - avoid this in loops.\n // Instead write all updates to a native Map and create a new ImmutableMap at the end.\n // Note that all descendants of the toggled item are processed even if they are collapsed,\n // making the choice of algorithm more important.\n\n const nextCheckedItemsMap = new Map(ImmutableMap.dangerouslyGetInternalMap(previousCheckedItems));\n\n // The toggled item itself\n nextCheckedItemsMap.set(data.value, data.checked);\n\n // Descendant updates\n for (const children of headlessTree.subtree(data.value)) {\n nextCheckedItemsMap.set(children.value, data.checked);\n }\n\n // Ancestor updates - must be done after adding descendants and the toggle item.\n // If any ancestor is mixed, all ancestors above it are mixed too.\n let isAncestorsMixed = false;\n\n for (const ancestor of headlessTree.ancestors(treeItem.value)) {\n if (isAncestorsMixed) {\n nextCheckedItemsMap.set(ancestor.value, 'mixed');\n continue;\n }\n\n // For each ancestor, if all of its children now have the same checked state as the toggled item,\n // set the ancestor to that checked state too. Otherwise it is 'mixed'.\n let childrenWithSameState = 0;\n for (const child of headlessTree.children(ancestor.value)) {\n if ((nextCheckedItemsMap.get(child.value) || false) === data.checked) {\n childrenWithSameState++;\n }\n }\n\n if (childrenWithSameState === ancestor.childrenValues.length) {\n nextCheckedItemsMap.set(ancestor.value, data.checked);\n } else {\n nextCheckedItemsMap.set(ancestor.value, 'mixed');\n isAncestorsMixed = true;\n }\n }\n\n const nextCheckedItems = ImmutableMap.from(nextCheckedItemsMap);\n return nextCheckedItems;\n}\n\nfunction initializeCheckedItems(\n props: Pick<HeadlessFlatTreeOptions, 'selectionMode' | 'defaultCheckedItems'>,\n headlessTree: HeadlessTree<HeadlessTreeItemProps>,\n) {\n if (!props.selectionMode) {\n return ImmutableMap.empty;\n }\n let state = createCheckedItems(props.defaultCheckedItems);\n // if selectionMode is multiselect, we need to calculate the checked state of all children\n // and ancestors of the defaultCheckedItems\n if (props.selectionMode === 'multiselect') {\n for (const [value, checked] of state) {\n state = createNextFlatCheckedItems({ value, checked, selectionMode: props.selectionMode }, state, headlessTree);\n }\n }\n return state;\n}\n"],"names":["useControllableState","ImmutableMap","React","createCheckedItems","useFlatControllableCheckedItems","props","headlessTree","initialState","empty","state","useMemo","selectionMode","checkedItems","undefined","defaultState","defaultCheckedItems","initializeCheckedItems","createNextFlatCheckedItems","data","previousCheckedItems","from","value","checked","treeItem","get","process","env","NODE_ENV","console","error","nextCheckedItemsMap","Map","dangerouslyGetInternalMap","set","children","subtree","isAncestorsMixed","ancestor","ancestors","childrenWithSameState","child","childrenValues","length","nextCheckedItems"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  'use client';
2
- import * as React from 'react';
3
- import { useRootTree } from '../../hooks/useRootTree';
4
- import { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';
5
- import { useFlatTreeNavigation } from '../../hooks/useFlatTreeNavigation';
6
- import { useSubtree } from '../../hooks/useSubtree';
7
- import { ImmutableSet } from '../../utils/ImmutableSet';
8
- import { ImmutableMap } from '../../utils/ImmutableMap';
9
- import { SubtreeContext } from '../../contexts/subtreeContext';
2
+ import * as React from "react";
3
+ import { useRootTree } from "../../hooks/useRootTree.js";
4
+ import { useEventCallback, useMergedRefs } from "@fluentui/react-utilities";
5
+ import { useFlatTreeNavigation } from "../../hooks/useFlatTreeNavigation.js";
6
+ import { useSubtree } from "../../hooks/useSubtree.js";
7
+ import { ImmutableSet } from "../../utils/ImmutableSet.js";
8
+ import { ImmutableMap } from "../../utils/ImmutableMap.js";
9
+ import { SubtreeContext } from "../../contexts/subtreeContext.js";
10
10
  export const useFlatTree_unstable = (props, ref)=>{
11
11
  const isRoot = React.useContext(SubtreeContext) === undefined;
12
12
  // as level is static, this doesn't break rule of hooks
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/FlatTree/useFlatTree.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useRootTree } from '../../hooks/useRootTree';\nimport type { FlatTreeProps, FlatTreeState } from './FlatTree.types';\nimport { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { useFlatTreeNavigation } from '../../hooks/useFlatTreeNavigation';\nimport { useSubtree } from '../../hooks/useSubtree';\nimport { ImmutableSet } from '../../utils/ImmutableSet';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\nimport { SubtreeContext } from '../../contexts/subtreeContext';\n\nexport const useFlatTree_unstable: (props: FlatTreeProps, ref: React.Ref<HTMLElement>) => FlatTreeState = (\n props,\n ref,\n) => {\n const isRoot = React.useContext(SubtreeContext) === undefined;\n // as level is static, this doesn't break rule of hooks\n // and if this becomes an issue later on, this can be easily converted\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isRoot ? useRootFlatTree(props, ref) : useSubFlatTree(props, ref);\n};\n\nfunction useRootFlatTree(props: FlatTreeProps, ref: React.Ref<HTMLElement>): FlatTreeState {\n const navigation = useFlatTreeNavigation(props.navigationMode);\n\n return Object.assign(\n useRootTree(\n {\n ...props,\n onNavigation: useEventCallback((event, data) => {\n props.onNavigation?.(event, data);\n if (!event.isDefaultPrevented()) {\n navigation.navigate(data);\n }\n }),\n },\n useMergedRefs(ref, navigation.rootRef),\n ),\n {\n treeType: 'flat',\n forceUpdateRovingTabIndex: navigation.forceUpdateRovingTabIndex,\n } as const,\n );\n}\n\nfunction useSubFlatTree(props: FlatTreeProps, ref: React.Ref<HTMLElement>): FlatTreeState {\n if (process.env.NODE_ENV === 'development') {\n throw new Error(/* #__DE-INDENT__ */ `\n @fluentui/react-tree [useFlatTree]:\n Subtrees are not allowed in a FlatTree!\n You cannot use a <FlatTree> component inside of another <FlatTree> nor a <Tree> component!\n `);\n }\n return {\n ...useSubtree(props, ref),\n // ------ defaultTreeContextValue\n level: 0,\n contextType: 'root',\n treeType: 'nested',\n selectionMode: 'none',\n openItems: ImmutableSet.empty,\n checkedItems: ImmutableMap.empty,\n requestTreeResponse: noop,\n forceUpdateRovingTabIndex: noop,\n appearance: 'subtle',\n size: 'medium',\n // ------ defaultTreeContextValue\n open: false,\n };\n}\n\nfunction noop() {\n /* do nothing */\n}\n"],"names":["React","useRootTree","useEventCallback","useMergedRefs","useFlatTreeNavigation","useSubtree","ImmutableSet","ImmutableMap","SubtreeContext","useFlatTree_unstable","props","ref","isRoot","useContext","undefined","useRootFlatTree","useSubFlatTree","navigation","navigationMode","Object","assign","onNavigation","event","data","isDefaultPrevented","navigate","rootRef","treeType","forceUpdateRovingTabIndex","process","env","NODE_ENV","Error","level","contextType","selectionMode","openItems","empty","checkedItems","requestTreeResponse","noop","appearance","size","open"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,WAAW,QAAQ,0BAA0B;AAEtD,SAASC,gBAAgB,EAAEC,aAAa,QAAQ,4BAA4B;AAC5E,SAASC,qBAAqB,QAAQ,oCAAoC;AAC1E,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,cAAc,QAAQ,gCAAgC;AAE/D,OAAO,MAAMC,uBAA6F,CACxGC,OACAC;IAEA,MAAMC,SAASZ,MAAMa,UAAU,CAACL,oBAAoBM;IACpD,uDAAuD;IACvD,sEAAsE;IACtE,sDAAsD;IACtD,OAAOF,SAASG,gBAAgBL,OAAOC,OAAOK,eAAeN,OAAOC;AACtE,EAAE;AAEF,SAASI,gBAAgBL,KAAoB,EAAEC,GAA2B;IACxE,MAAMM,aAAab,sBAAsBM,MAAMQ,cAAc;IAE7D,OAAOC,OAAOC,MAAM,CAClBnB,YACE;QACE,GAAGS,KAAK;QACRW,cAAcnB,iBAAiB,CAACoB,OAAOC;gBACrCb;aAAAA,sBAAAA,MAAMW,YAAY,cAAlBX,0CAAAA,yBAAAA,OAAqBY,OAAOC;YAC5B,IAAI,CAACD,MAAME,kBAAkB,IAAI;gBAC/BP,WAAWQ,QAAQ,CAACF;YACtB;QACF;IACF,GACApB,cAAcQ,KAAKM,WAAWS,OAAO,IAEvC;QACEC,UAAU;QACVC,2BAA2BX,WAAWW,yBAAyB;IACjE;AAEJ;AAEA,SAASZ,eAAeN,KAAoB,EAAEC,GAA2B;IACvE,IAAIkB,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,MAAM,IAAIC,MAA2B,CAAC;;0FAItC,CAAC;IACH;IACA,OAAO;QACL,GAAG3B,WAAWK,OAAOC,IAAI;QACzB,iCAAiC;QACjCsB,OAAO;QACPC,aAAa;QACbP,UAAU;QACVQ,eAAe;QACfC,WAAW9B,aAAa+B,KAAK;QAC7BC,cAAc/B,aAAa8B,KAAK;QAChCE,qBAAqBC;QACrBZ,2BAA2BY;QAC3BC,YAAY;QACZC,MAAM;QACN,iCAAiC;QACjCC,MAAM;IACR;AACF;AAEA,SAASH;AACP,cAAc,GAChB"}
1
+ {"version":3,"sources":["../src/components/FlatTree/useFlatTree.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useRootTree } from '../../hooks/useRootTree';\nimport type { FlatTreeProps, FlatTreeState } from './FlatTree.types';\nimport { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { useFlatTreeNavigation } from '../../hooks/useFlatTreeNavigation';\nimport { useSubtree } from '../../hooks/useSubtree';\nimport { ImmutableSet } from '../../utils/ImmutableSet';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\nimport { SubtreeContext } from '../../contexts/subtreeContext';\n\nexport const useFlatTree_unstable: (props: FlatTreeProps, ref: React.Ref<HTMLElement>) => FlatTreeState = (\n props,\n ref,\n) => {\n const isRoot = React.useContext(SubtreeContext) === undefined;\n // as level is static, this doesn't break rule of hooks\n // and if this becomes an issue later on, this can be easily converted\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isRoot ? useRootFlatTree(props, ref) : useSubFlatTree(props, ref);\n};\n\nfunction useRootFlatTree(props: FlatTreeProps, ref: React.Ref<HTMLElement>): FlatTreeState {\n const navigation = useFlatTreeNavigation(props.navigationMode);\n\n return Object.assign(\n useRootTree(\n {\n ...props,\n onNavigation: useEventCallback((event, data) => {\n props.onNavigation?.(event, data);\n if (!event.isDefaultPrevented()) {\n navigation.navigate(data);\n }\n }),\n },\n useMergedRefs(ref, navigation.rootRef),\n ),\n {\n treeType: 'flat',\n forceUpdateRovingTabIndex: navigation.forceUpdateRovingTabIndex,\n } as const,\n );\n}\n\nfunction useSubFlatTree(props: FlatTreeProps, ref: React.Ref<HTMLElement>): FlatTreeState {\n if (process.env.NODE_ENV === 'development') {\n throw new Error(/* #__DE-INDENT__ */ `\n @fluentui/react-tree [useFlatTree]:\n Subtrees are not allowed in a FlatTree!\n You cannot use a <FlatTree> component inside of another <FlatTree> nor a <Tree> component!\n `);\n }\n return {\n ...useSubtree(props, ref),\n // ------ defaultTreeContextValue\n level: 0,\n contextType: 'root',\n treeType: 'nested',\n selectionMode: 'none',\n openItems: ImmutableSet.empty,\n checkedItems: ImmutableMap.empty,\n requestTreeResponse: noop,\n forceUpdateRovingTabIndex: noop,\n appearance: 'subtle',\n size: 'medium',\n // ------ defaultTreeContextValue\n open: false,\n };\n}\n\nfunction noop() {\n /* do nothing */\n}\n"],"names":["React","useRootTree","useEventCallback","useMergedRefs","useFlatTreeNavigation","useSubtree","ImmutableSet","ImmutableMap","SubtreeContext","useFlatTree_unstable","props","ref","isRoot","useContext","undefined","useRootFlatTree","useSubFlatTree","navigation","navigationMode","Object","assign","onNavigation","event","data","isDefaultPrevented","navigate","rootRef","treeType","forceUpdateRovingTabIndex","process","env","NODE_ENV","Error","level","contextType","selectionMode","openItems","empty","checkedItems","requestTreeResponse","noop","appearance","size","open"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,gBAAgB,EAAEC,aAAa,QAAQ,4BAA4B;AAC5E,SAASC,qBAAqB,QAAQ,uCAAoC;AAC1E,SAASC,UAAU,QAAQ,4BAAyB;AACpD,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,cAAc,QAAQ,mCAAgC;AAE/D,OAAO,MAAMC,uBAA6F,CACxGC,OACAC;IAEA,MAAMC,SAASZ,MAAMa,UAAU,CAACL,oBAAoBM;IACpD,uDAAuD;IACvD,sEAAsE;IACtE,sDAAsD;IACtD,OAAOF,SAASG,gBAAgBL,OAAOC,OAAOK,eAAeN,OAAOC;AACtE,EAAE;AAEF,SAASI,gBAAgBL,KAAoB,EAAEC,GAA2B;IACxE,MAAMM,aAAab,sBAAsBM,MAAMQ,cAAc;IAE7D,OAAOC,OAAOC,MAAM,CAClBnB,YACE;QACE,GAAGS,KAAK;QACRW,cAAcnB,iBAAiB,CAACoB,OAAOC;gBACrCb;aAAAA,sBAAAA,MAAMW,YAAY,cAAlBX,0CAAAA,yBAAAA,OAAqBY,OAAOC;YAC5B,IAAI,CAACD,MAAME,kBAAkB,IAAI;gBAC/BP,WAAWQ,QAAQ,CAACF;YACtB;QACF;IACF,GACApB,cAAcQ,KAAKM,WAAWS,OAAO,IAEvC;QACEC,UAAU;QACVC,2BAA2BX,WAAWW,yBAAyB;IACjE;AAEJ;AAEA,SAASZ,eAAeN,KAAoB,EAAEC,GAA2B;IACvE,IAAIkB,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,MAAM,IAAIC,MAA2B,CAAC;;0FAItC,CAAC;IACH;IACA,OAAO;QACL,GAAG3B,WAAWK,OAAOC,IAAI;QACzB,iCAAiC;QACjCsB,OAAO;QACPC,aAAa;QACbP,UAAU;QACVQ,eAAe;QACfC,WAAW9B,aAAa+B,KAAK;QAC7BC,cAAc/B,aAAa8B,KAAK;QAChCE,qBAAqBC;QACrBZ,2BAA2BY;QAC3BC,YAAY;QACZC,MAAM;QACN,iCAAiC;QACjCC,MAAM;IACR;AACF;AAEA,SAASH;AACP,cAAc,GAChB"}
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import * as React from 'react';
2
+ import * as React from "react";
3
3
  export const useFlatTreeContextValues_unstable = (state)=>{
4
4
  const { openItems, level, contextType, treeType, checkedItems, selectionMode, navigationMode, appearance, size, requestTreeResponse, forceUpdateRovingTabIndex } = state;
5
5
  const tree = React.useMemo(()=>({
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
- import { __resetStyles, mergeClasses } from '@griffel/react';
4
- import { tokens } from '@fluentui/react-theme';
3
+ import { __resetStyles, mergeClasses } from "@griffel/react";
4
+ import { tokens } from "@fluentui/react-theme";
5
5
  export const flatTreeClassNames = {
6
6
  root: 'fui-FlatTree'
7
7
  };
@@ -1 +1 @@
1
- {"version":3,"names":["__resetStyles","mergeClasses","tokens","flatTreeClassNames","root","useBaseStyles","useFlatTreeStyles_unstable","state","baseStyles","className"],"sources":["useFlatTreeStyles.styles.js"],"sourcesContent":["'use client';\nimport { makeResetStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const flatTreeClassNames = {\n root: 'fui-FlatTree'\n};\nconst useBaseStyles = makeResetStyles({\n display: 'flex',\n flexDirection: 'column',\n rowGap: tokens.spacingVerticalXXS\n});\nexport const useFlatTreeStyles_unstable = (state)=>{\n const baseStyles = useBaseStyles();\n // eslint-disable-next-line react-hooks/immutability\n state.root.className = mergeClasses(flatTreeClassNames.root, baseStyles, state.root.className);\n return state;\n};\n"],"mappings":"AAAA,YAAY;;AACZ,SAAAA,aAAA,EAA0BC,YAAY,QAAQ,gBAAgB;AAC9D,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,OAAO,MAAMC,kBAAkB,GAAG;EAC9BC,IAAI,EAAE;AACV,CAAC;AACD,MAAMC,aAAa,gBAAGL,aAAA,qGAIrB,CAAC;AACF,OAAO,MAAMM,0BAA0B,GAAIC,KAAK,IAAG;EAC/C,MAAMC,UAAU,GAAGH,aAAa,CAAC,CAAC;EAClC;EACAE,KAAK,CAACH,IAAI,CAACK,SAAS,GAAGR,YAAY,CAACE,kBAAkB,CAACC,IAAI,EAAEI,UAAU,EAAED,KAAK,CAACH,IAAI,CAACK,SAAS,CAAC;EAC9F,OAAOF,KAAK;AAChB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["__resetStyles","mergeClasses","tokens","flatTreeClassNames","root","useBaseStyles","useFlatTreeStyles_unstable","state","baseStyles","className"],"sources":["useFlatTreeStyles.styles.js"],"sourcesContent":["'use client';\nimport { makeResetStyles, mergeClasses } from \"@griffel/react\";\nimport { tokens } from \"@fluentui/react-theme\";\nexport const flatTreeClassNames = {\n root: 'fui-FlatTree'\n};\nconst useBaseStyles = makeResetStyles({\n display: 'flex',\n flexDirection: 'column',\n rowGap: tokens.spacingVerticalXXS\n});\nexport const useFlatTreeStyles_unstable = (state)=>{\n const baseStyles = useBaseStyles();\n // eslint-disable-next-line react-hooks/immutability\n state.root.className = mergeClasses(flatTreeClassNames.root, baseStyles, state.root.className);\n return state;\n};\n"],"mappings":"AAAA,YAAY;;AACZ,SAAAA,aAAA,EAA0BC,YAAY,QAAQ,gBAAgB;AAC9D,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,OAAO,MAAMC,kBAAkB,GAAG;EAC9BC,IAAI,EAAE;AACV,CAAC;AACD,MAAMC,aAAa,gBAAGL,aAAA,qGAIrB,CAAC;AACF,OAAO,MAAMM,0BAA0B,GAAIC,KAAK,IAAG;EAC/C,MAAMC,UAAU,GAAGH,aAAa,CAAC,CAAC;EAClC;EACAE,KAAK,CAACH,IAAI,CAACK,SAAS,GAAGR,YAAY,CAACE,kBAAkB,CAACC,IAAI,EAAEI,UAAU,EAAED,KAAK,CAACH,IAAI,CAACK,SAAS,CAAC;EAC9F,OAAOF,KAAK;AAChB,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import { makeResetStyles, mergeClasses } from '@griffel/react';
3
- import { tokens } from '@fluentui/react-theme';
2
+ import { makeResetStyles, mergeClasses } from "@griffel/react";
3
+ import { tokens } from "@fluentui/react-theme";
4
4
  export const flatTreeClassNames = {
5
5
  root: 'fui-FlatTree'
6
6
  };
@@ -1,14 +1,14 @@
1
1
  'use client';
2
- import { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';
3
- import * as React from 'react';
4
- import { createHeadlessTree } from '../../utils/createHeadlessTree';
5
- import { treeDataTypes } from '../../utils/tokens';
6
- import { useFlatTreeNavigation } from '../../hooks/useFlatTreeNavigation';
7
- import { createNextOpenItems, useControllableOpenItems } from '../../hooks/useControllableOpenItems';
8
- import { dataTreeItemValueAttrName } from '../../utils/getTreeItemValueFromElement';
9
- import { ImmutableSet } from '../../utils/ImmutableSet';
10
- import { createNextFlatCheckedItems, useFlatControllableCheckedItems } from './useFlatControllableCheckedItems';
11
- import { ImmutableMap } from '../../utils/ImmutableMap';
2
+ import { useEventCallback, useMergedRefs } from "@fluentui/react-utilities";
3
+ import * as React from "react";
4
+ import { createHeadlessTree } from "../../utils/createHeadlessTree.js";
5
+ import { treeDataTypes } from "../../utils/tokens.js";
6
+ import { useFlatTreeNavigation } from "../../hooks/useFlatTreeNavigation.js";
7
+ import { createNextOpenItems, useControllableOpenItems } from "../../hooks/useControllableOpenItems.js";
8
+ import { dataTreeItemValueAttrName } from "../../utils/getTreeItemValueFromElement.js";
9
+ import { ImmutableSet } from "../../utils/ImmutableSet.js";
10
+ import { createNextFlatCheckedItems, useFlatControllableCheckedItems } from "./useFlatControllableCheckedItems.js";
11
+ import { ImmutableMap } from "../../utils/ImmutableMap.js";
12
12
  /**
13
13
  * this hook provides FlatTree API to manage all required mechanisms to convert a list of items into renderable TreeItems
14
14
  * in multiple scenarios including virtualization.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/FlatTree/useHeadlessFlatTree.ts"],"sourcesContent":["'use client';\n\nimport { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport type { HeadlessTreeItem, HeadlessTreeItemProps } from '../../utils/createHeadlessTree';\nimport { createHeadlessTree } from '../../utils/createHeadlessTree';\nimport { treeDataTypes } from '../../utils/tokens';\nimport { useFlatTreeNavigation } from '../../hooks/useFlatTreeNavigation';\nimport { createNextOpenItems, useControllableOpenItems } from '../../hooks/useControllableOpenItems';\nimport type { TreeItemValue } from '../../TreeItem';\nimport { dataTreeItemValueAttrName } from '../../utils/getTreeItemValueFromElement';\nimport { ImmutableSet } from '../../utils/ImmutableSet';\nimport { createNextFlatCheckedItems, useFlatControllableCheckedItems } from './useFlatControllableCheckedItems';\nimport type { FlatTreeProps } from './FlatTree.types';\nimport type {\n TreeCheckedChangeData,\n TreeCheckedChangeEvent,\n TreeNavigationData_unstable,\n TreeOpenChangeData,\n TreeOpenChangeEvent,\n TreeProps,\n} from '../Tree/Tree.types';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\n\nexport type HeadlessFlatTreeItemProps = HeadlessTreeItemProps;\nexport type HeadlessFlatTreeItem<Props extends HeadlessFlatTreeItemProps> = HeadlessTreeItem<Props>;\n\n/**\n * FlatTree API to manage all required mechanisms to convert a list of items into renderable TreeItems\n * in multiple scenarios including virtualization.\n *\n * !!A flat tree is an unofficial spec for tree!!\n *\n * It should be used on cases where more complex interactions with a Tree is required.\n *\n * On simple scenarios it is advised to simply use a nested structure instead.\n */\nexport type HeadlessFlatTree<Props extends HeadlessFlatTreeItemProps> = {\n /**\n * returns the properties required for the Tree component to work properly.\n * That includes:\n * `openItems`, `onOpenChange`, `onNavigation_unstable` and `ref`\n */\n getTreeProps(): Required<\n Pick<FlatTreeProps, 'openItems' | 'onOpenChange' | 'onNavigation' | 'checkedItems' | 'onCheckedChange'>\n > & {\n ref: React.Ref<HTMLDivElement>;\n openItems: ImmutableSet<TreeItemValue>;\n };\n /**\n * internal method used to react to an `onNavigation` event.\n * This method ensures proper navigation on keyboard and mouse interaction.\n * In case of virtualization it might be required to cancel default provided `onNavigation`\n * event and then call this method manually.\n *\n * @example\n * ```ts\n * // react-window\n * const handleNavigation = (event, data) => {\n * event.preventDefault();\n * const nextItem = tree.getNextNavigableItem(data);\n * // scroll to item using virtualization scroll mechanism\n * if (nextItem && tree.getElementFromItem(nextItem)) {\n * listRef.current.scrollToItem(nextItem.index);\n * }\n * // wait for scrolling to happen and then invoke navigate method\n * requestAnimationFrame(() => {\n * tree.navigate(data);\n * });\n * };\n *```\n */\n navigate(data: TreeNavigationData_unstable): void;\n /**\n * returns next item to be focused on a navigation.\n * This method is provided to decouple the element that needs to be focused from\n * the action of focusing it itself.\n *\n * On the case of TypeAhead navigation this method returns the current item.\n */\n getNextNavigableItem(\n visibleItems: HeadlessTreeItem<Props>[],\n data: TreeNavigationData_unstable,\n ): HeadlessTreeItem<Props> | undefined;\n /**\n * similar to getElementById but for FlatTreeItems\n */\n getElementFromItem(item: HeadlessTreeItem<Props>): HTMLElement | null;\n /**\n * an iterable containing all visually available flat tree items\n */\n items(): IterableIterator<HeadlessTreeItem<Props>>;\n};\n\nexport type HeadlessFlatTreeOptions = Pick<\n FlatTreeProps,\n 'onOpenChange' | 'onNavigation' | 'selectionMode' | 'onCheckedChange'\n> &\n Pick<TreeProps, 'defaultOpenItems' | 'openItems' | 'checkedItems'> & {\n defaultCheckedItems?: TreeProps['checkedItems'];\n };\n\n/**\n * @internal\n */\ntype HeadlessFlatTreeReturn<Props extends HeadlessFlatTreeItemProps> = HeadlessFlatTree<Props> & {\n getItem(value: TreeItemValue): HeadlessTreeItem<Props> | undefined;\n};\n\n/**\n * this hook provides FlatTree API to manage all required mechanisms to convert a list of items into renderable TreeItems\n * in multiple scenarios including virtualization.\n *\n * !!A flat tree is an unofficial spec for tree!!\n *\n * It should be used on cases where more complex interactions with a Tree is required.\n * On simple scenarios it is advised to simply use a nested structure instead.\n *\n * @param props - a list of tree items\n * @param options - in case control over the internal openItems is required\n */\nexport function useHeadlessFlatTree_unstable<Props extends HeadlessTreeItemProps>(\n props: Props[],\n options: HeadlessFlatTreeOptions = {},\n): HeadlessFlatTreeReturn<Props> {\n const headlessTree = React.useMemo(() => createHeadlessTree(props), [props]);\n const [openItems, setOpenItems] = useControllableOpenItems(options);\n const [checkedItems, setCheckedItems] = useFlatControllableCheckedItems(options, headlessTree);\n const navigation = useFlatTreeNavigation();\n\n const treeRef = React.useRef<HTMLDivElement>(null);\n const handleOpenChange = useEventCallback((event: TreeOpenChangeEvent, data: TreeOpenChangeData) => {\n const nextOpenItems = createNextOpenItems(data, openItems);\n options.onOpenChange?.(event, {\n ...data,\n openItems: ImmutableSet.dangerouslyGetInternalSet(nextOpenItems),\n });\n setOpenItems(nextOpenItems);\n });\n\n const handleCheckedChange = useEventCallback((event: TreeCheckedChangeEvent, data: TreeCheckedChangeData) => {\n const nextCheckedItems = createNextFlatCheckedItems(data, checkedItems, headlessTree);\n options.onCheckedChange?.(event, {\n ...data,\n checkedItems: ImmutableMap.dangerouslyGetInternalMap(nextCheckedItems),\n });\n setCheckedItems(nextCheckedItems);\n });\n\n const getNextNavigableItem = useEventCallback(\n (visibleItems: HeadlessTreeItem<Props>[], data: TreeNavigationData_unstable) => {\n const item = headlessTree.get(data.value);\n if (item) {\n switch (data.type) {\n case treeDataTypes.TypeAhead:\n return item;\n case treeDataTypes.ArrowLeft:\n return headlessTree.get(item.parentValue!);\n case treeDataTypes.ArrowRight:\n return visibleItems[item.index + 1];\n case treeDataTypes.End:\n return visibleItems[visibleItems.length - 1];\n case treeDataTypes.Home:\n return visibleItems[0];\n case treeDataTypes.ArrowDown:\n return visibleItems[item.index + 1];\n case treeDataTypes.ArrowUp:\n return visibleItems[item.index - 1];\n }\n }\n },\n );\n\n const getElementFromItem = React.useCallback((item: HeadlessTreeItem<Props>) => {\n return treeRef.current?.querySelector(`[${dataTreeItemValueAttrName}=\"${item.value}\"]`) as HTMLElement | null;\n }, []);\n\n const ref = useMergedRefs<HTMLDivElement>(treeRef, navigation.rootRef);\n\n const getTreeProps = React.useCallback(\n () => ({\n ref,\n openItems,\n selectionMode: options.selectionMode,\n checkedItems,\n onOpenChange: handleOpenChange,\n onCheckedChange: handleCheckedChange,\n onNavigation: options.onNavigation ?? noop,\n }),\n // ref, handleOpenChange - useEventCallback, handleCheckedChange - useEventCallback\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [openItems, checkedItems, options.selectionMode, options.onNavigation],\n );\n\n const items = React.useCallback(() => headlessTree.visibleItems(openItems), [openItems, headlessTree]);\n\n const getItem = React.useCallback((value: TreeItemValue) => headlessTree.get(value), [headlessTree]);\n\n return React.useMemo<HeadlessFlatTreeReturn<Props>>(\n () => ({\n navigate: navigation.navigate,\n getTreeProps,\n getNextNavigableItem,\n getElementFromItem,\n items,\n getItem,\n }),\n [navigation.navigate, getTreeProps, getNextNavigableItem, getElementFromItem, items, getItem],\n );\n}\n\n/** @internal */\nfunction noop() {\n /* noop */\n}\n"],"names":["useEventCallback","useMergedRefs","React","createHeadlessTree","treeDataTypes","useFlatTreeNavigation","createNextOpenItems","useControllableOpenItems","dataTreeItemValueAttrName","ImmutableSet","createNextFlatCheckedItems","useFlatControllableCheckedItems","ImmutableMap","useHeadlessFlatTree_unstable","props","options","headlessTree","useMemo","openItems","setOpenItems","checkedItems","setCheckedItems","navigation","treeRef","useRef","handleOpenChange","event","data","nextOpenItems","onOpenChange","dangerouslyGetInternalSet","handleCheckedChange","nextCheckedItems","onCheckedChange","dangerouslyGetInternalMap","getNextNavigableItem","visibleItems","item","get","value","type","TypeAhead","ArrowLeft","parentValue","ArrowRight","index","End","length","Home","ArrowDown","ArrowUp","getElementFromItem","useCallback","current","querySelector","ref","rootRef","getTreeProps","selectionMode","onNavigation","noop","items","getItem","navigate"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/components/FlatTree/useHeadlessFlatTree.ts"],"sourcesContent":["'use client';\n\nimport { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport type { HeadlessTreeItem, HeadlessTreeItemProps } from '../../utils/createHeadlessTree';\nimport { createHeadlessTree } from '../../utils/createHeadlessTree';\nimport { treeDataTypes } from '../../utils/tokens';\nimport { useFlatTreeNavigation } from '../../hooks/useFlatTreeNavigation';\nimport { createNextOpenItems, useControllableOpenItems } from '../../hooks/useControllableOpenItems';\nimport type { TreeItemValue } from '../../TreeItem';\nimport { dataTreeItemValueAttrName } from '../../utils/getTreeItemValueFromElement';\nimport { ImmutableSet } from '../../utils/ImmutableSet';\nimport { createNextFlatCheckedItems, useFlatControllableCheckedItems } from './useFlatControllableCheckedItems';\nimport type { FlatTreeProps } from './FlatTree.types';\nimport type {\n TreeCheckedChangeData,\n TreeCheckedChangeEvent,\n TreeNavigationData_unstable,\n TreeOpenChangeData,\n TreeOpenChangeEvent,\n TreeProps,\n} from '../Tree/Tree.types';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\n\nexport type HeadlessFlatTreeItemProps = HeadlessTreeItemProps;\nexport type HeadlessFlatTreeItem<Props extends HeadlessFlatTreeItemProps> = HeadlessTreeItem<Props>;\n\n/**\n * FlatTree API to manage all required mechanisms to convert a list of items into renderable TreeItems\n * in multiple scenarios including virtualization.\n *\n * !!A flat tree is an unofficial spec for tree!!\n *\n * It should be used on cases where more complex interactions with a Tree is required.\n *\n * On simple scenarios it is advised to simply use a nested structure instead.\n */\nexport type HeadlessFlatTree<Props extends HeadlessFlatTreeItemProps> = {\n /**\n * returns the properties required for the Tree component to work properly.\n * That includes:\n * `openItems`, `onOpenChange`, `onNavigation_unstable` and `ref`\n */\n getTreeProps(): Required<\n Pick<FlatTreeProps, 'openItems' | 'onOpenChange' | 'onNavigation' | 'checkedItems' | 'onCheckedChange'>\n > & {\n ref: React.Ref<HTMLDivElement>;\n openItems: ImmutableSet<TreeItemValue>;\n };\n /**\n * internal method used to react to an `onNavigation` event.\n * This method ensures proper navigation on keyboard and mouse interaction.\n * In case of virtualization it might be required to cancel default provided `onNavigation`\n * event and then call this method manually.\n *\n * @example\n * ```ts\n * // react-window\n * const handleNavigation = (event, data) => {\n * event.preventDefault();\n * const nextItem = tree.getNextNavigableItem(data);\n * // scroll to item using virtualization scroll mechanism\n * if (nextItem && tree.getElementFromItem(nextItem)) {\n * listRef.current.scrollToItem(nextItem.index);\n * }\n * // wait for scrolling to happen and then invoke navigate method\n * requestAnimationFrame(() => {\n * tree.navigate(data);\n * });\n * };\n *```\n */\n navigate(data: TreeNavigationData_unstable): void;\n /**\n * returns next item to be focused on a navigation.\n * This method is provided to decouple the element that needs to be focused from\n * the action of focusing it itself.\n *\n * On the case of TypeAhead navigation this method returns the current item.\n */\n getNextNavigableItem(\n visibleItems: HeadlessTreeItem<Props>[],\n data: TreeNavigationData_unstable,\n ): HeadlessTreeItem<Props> | undefined;\n /**\n * similar to getElementById but for FlatTreeItems\n */\n getElementFromItem(item: HeadlessTreeItem<Props>): HTMLElement | null;\n /**\n * an iterable containing all visually available flat tree items\n */\n items(): IterableIterator<HeadlessTreeItem<Props>>;\n};\n\nexport type HeadlessFlatTreeOptions = Pick<\n FlatTreeProps,\n 'onOpenChange' | 'onNavigation' | 'selectionMode' | 'onCheckedChange'\n> &\n Pick<TreeProps, 'defaultOpenItems' | 'openItems' | 'checkedItems'> & {\n defaultCheckedItems?: TreeProps['checkedItems'];\n };\n\n/**\n * @internal\n */\ntype HeadlessFlatTreeReturn<Props extends HeadlessFlatTreeItemProps> = HeadlessFlatTree<Props> & {\n getItem(value: TreeItemValue): HeadlessTreeItem<Props> | undefined;\n};\n\n/**\n * this hook provides FlatTree API to manage all required mechanisms to convert a list of items into renderable TreeItems\n * in multiple scenarios including virtualization.\n *\n * !!A flat tree is an unofficial spec for tree!!\n *\n * It should be used on cases where more complex interactions with a Tree is required.\n * On simple scenarios it is advised to simply use a nested structure instead.\n *\n * @param props - a list of tree items\n * @param options - in case control over the internal openItems is required\n */\nexport function useHeadlessFlatTree_unstable<Props extends HeadlessTreeItemProps>(\n props: Props[],\n options: HeadlessFlatTreeOptions = {},\n): HeadlessFlatTreeReturn<Props> {\n const headlessTree = React.useMemo(() => createHeadlessTree(props), [props]);\n const [openItems, setOpenItems] = useControllableOpenItems(options);\n const [checkedItems, setCheckedItems] = useFlatControllableCheckedItems(options, headlessTree);\n const navigation = useFlatTreeNavigation();\n\n const treeRef = React.useRef<HTMLDivElement>(null);\n const handleOpenChange = useEventCallback((event: TreeOpenChangeEvent, data: TreeOpenChangeData) => {\n const nextOpenItems = createNextOpenItems(data, openItems);\n options.onOpenChange?.(event, {\n ...data,\n openItems: ImmutableSet.dangerouslyGetInternalSet(nextOpenItems),\n });\n setOpenItems(nextOpenItems);\n });\n\n const handleCheckedChange = useEventCallback((event: TreeCheckedChangeEvent, data: TreeCheckedChangeData) => {\n const nextCheckedItems = createNextFlatCheckedItems(data, checkedItems, headlessTree);\n options.onCheckedChange?.(event, {\n ...data,\n checkedItems: ImmutableMap.dangerouslyGetInternalMap(nextCheckedItems),\n });\n setCheckedItems(nextCheckedItems);\n });\n\n const getNextNavigableItem = useEventCallback(\n (visibleItems: HeadlessTreeItem<Props>[], data: TreeNavigationData_unstable) => {\n const item = headlessTree.get(data.value);\n if (item) {\n switch (data.type) {\n case treeDataTypes.TypeAhead:\n return item;\n case treeDataTypes.ArrowLeft:\n return headlessTree.get(item.parentValue!);\n case treeDataTypes.ArrowRight:\n return visibleItems[item.index + 1];\n case treeDataTypes.End:\n return visibleItems[visibleItems.length - 1];\n case treeDataTypes.Home:\n return visibleItems[0];\n case treeDataTypes.ArrowDown:\n return visibleItems[item.index + 1];\n case treeDataTypes.ArrowUp:\n return visibleItems[item.index - 1];\n }\n }\n },\n );\n\n const getElementFromItem = React.useCallback((item: HeadlessTreeItem<Props>) => {\n return treeRef.current?.querySelector(`[${dataTreeItemValueAttrName}=\"${item.value}\"]`) as HTMLElement | null;\n }, []);\n\n const ref = useMergedRefs<HTMLDivElement>(treeRef, navigation.rootRef);\n\n const getTreeProps = React.useCallback(\n () => ({\n ref,\n openItems,\n selectionMode: options.selectionMode,\n checkedItems,\n onOpenChange: handleOpenChange,\n onCheckedChange: handleCheckedChange,\n onNavigation: options.onNavigation ?? noop,\n }),\n // ref, handleOpenChange - useEventCallback, handleCheckedChange - useEventCallback\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [openItems, checkedItems, options.selectionMode, options.onNavigation],\n );\n\n const items = React.useCallback(() => headlessTree.visibleItems(openItems), [openItems, headlessTree]);\n\n const getItem = React.useCallback((value: TreeItemValue) => headlessTree.get(value), [headlessTree]);\n\n return React.useMemo<HeadlessFlatTreeReturn<Props>>(\n () => ({\n navigate: navigation.navigate,\n getTreeProps,\n getNextNavigableItem,\n getElementFromItem,\n items,\n getItem,\n }),\n [navigation.navigate, getTreeProps, getNextNavigableItem, getElementFromItem, items, getItem],\n );\n}\n\n/** @internal */\nfunction noop() {\n /* noop */\n}\n"],"names":["useEventCallback","useMergedRefs","React","createHeadlessTree","treeDataTypes","useFlatTreeNavigation","createNextOpenItems","useControllableOpenItems","dataTreeItemValueAttrName","ImmutableSet","createNextFlatCheckedItems","useFlatControllableCheckedItems","ImmutableMap","useHeadlessFlatTree_unstable","props","options","headlessTree","useMemo","openItems","setOpenItems","checkedItems","setCheckedItems","navigation","treeRef","useRef","handleOpenChange","event","data","nextOpenItems","onOpenChange","dangerouslyGetInternalSet","handleCheckedChange","nextCheckedItems","onCheckedChange","dangerouslyGetInternalMap","getNextNavigableItem","visibleItems","item","get","value","type","TypeAhead","ArrowLeft","parentValue","ArrowRight","index","End","length","Home","ArrowDown","ArrowUp","getElementFromItem","useCallback","current","querySelector","ref","rootRef","getTreeProps","selectionMode","onNavigation","noop","items","getItem","navigate"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { TreeItem } from '../TreeItem/TreeItem';
1
+ import { TreeItem } from "../TreeItem/TreeItem.js";
2
2
  /**
3
3
  * The `FlatTreeItem` component represents a single item in a flat tree.
4
4
  */ export const FlatTreeItem = TreeItem;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/FlatTreeItem/FlatTreeItem.tsx"],"sourcesContent":["import type { FlatTreeItemProps } from './FlatTreeItem.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { TreeItem } from '../TreeItem/TreeItem';\n\n/**\n * The `FlatTreeItem` component represents a single item in a flat tree.\n */\nexport const FlatTreeItem: ForwardRefComponent<FlatTreeItemProps> = TreeItem as ForwardRefComponent<FlatTreeItemProps>;\n"],"names":["TreeItem","FlatTreeItem"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,uBAAuB;AAEhD;;CAEC,GACD,OAAO,MAAMC,eAAuDD,SAAmD"}
1
+ {"version":3,"sources":["../src/components/FlatTreeItem/FlatTreeItem.tsx"],"sourcesContent":["import type { FlatTreeItemProps } from './FlatTreeItem.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { TreeItem } from '../TreeItem/TreeItem';\n\n/**\n * The `FlatTreeItem` component represents a single item in a flat tree.\n */\nexport const FlatTreeItem: ForwardRefComponent<FlatTreeItemProps> = TreeItem as ForwardRefComponent<FlatTreeItemProps>;\n"],"names":["TreeItem","FlatTreeItem"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,0BAAuB;AAEhD;;CAEC,GACD,OAAO,MAAMC,eAAuDD,SAAmD"}
@@ -1 +1 @@
1
- export { FlatTreeItem } from './FlatTreeItem';
1
+ export { FlatTreeItem } from "./FlatTreeItem.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/FlatTreeItem/index.ts"],"sourcesContent":["export { FlatTreeItem } from './FlatTreeItem';\nexport type { FlatTreeItemProps } from './FlatTreeItem.types';\n"],"names":["FlatTreeItem"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB"}
1
+ {"version":3,"sources":["../src/components/FlatTreeItem/index.ts"],"sourcesContent":["export { FlatTreeItem } from './FlatTreeItem';\nexport type { FlatTreeItemProps } from './FlatTreeItem.types';\n"],"names":["FlatTreeItem"],"mappings":"AAAA,SAASA,YAAY,QAAQ,oBAAiB"}
@@ -1,10 +1,10 @@
1
1
  'use client';
2
- import * as React from 'react';
3
- import { useTree_unstable } from './useTree';
4
- import { useTreeContextValues_unstable } from './useTreeContextValues';
5
- import { useTreeStyles_unstable } from './useTreeStyles.styles';
6
- import { renderTree_unstable } from './renderTree';
7
- import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
2
+ import * as React from "react";
3
+ import { useTree_unstable } from "./useTree.js";
4
+ import { useTreeContextValues_unstable } from "./useTreeContextValues.js";
5
+ import { useTreeStyles_unstable } from "./useTreeStyles.styles.js";
6
+ import { renderTree_unstable } from "./renderTree.js";
7
+ import { useCustomStyleHook_unstable } from "@fluentui/react-shared-contexts";
8
8
  /**
9
9
  * The `Tree` component renders nested items in a hierarchical structure.
10
10
  * Use it with `TreeItem` component and layouts components `TreeItemLayout` or `TreeItemPersonaLayout`.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Tree/Tree.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useTree_unstable } from './useTree';\nimport type { TreeProps } from './Tree.types';\nimport { useTreeContextValues_unstable } from './useTreeContextValues';\nimport { useTreeStyles_unstable } from './useTreeStyles.styles';\nimport { renderTree_unstable } from './renderTree';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * The `Tree` component renders nested items in a hierarchical structure.\n * Use it with `TreeItem` component and layouts components `TreeItemLayout` or `TreeItemPersonaLayout`.\n */\nexport const Tree: ForwardRefComponent<TreeProps> = React.forwardRef((props, ref) => {\n const state = useTree_unstable(props, ref);\n const contextValues = useTreeContextValues_unstable(state);\n useTreeStyles_unstable(state);\n useCustomStyleHook_unstable('useTreeStyles_unstable')(state);\n\n return renderTree_unstable(state, contextValues);\n});\n\nTree.displayName = 'Tree';\n"],"names":["React","useTree_unstable","useTreeContextValues_unstable","useTreeStyles_unstable","renderTree_unstable","useCustomStyleHook_unstable","Tree","forwardRef","props","ref","state","contextValues","displayName"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAE/B,SAASC,gBAAgB,QAAQ,YAAY;AAE7C,SAASC,6BAA6B,QAAQ,yBAAyB;AACvE,SAASC,sBAAsB,QAAQ,yBAAyB;AAChE,SAASC,mBAAmB,QAAQ,eAAe;AACnD,SAASC,2BAA2B,QAAQ,kCAAkC;AAE9E;;;CAGC,GACD,OAAO,MAAMC,qBAAuCN,MAAMO,UAAU,CAAC,CAACC,OAAOC;IAC3E,MAAMC,QAAQT,iBAAiBO,OAAOC;IACtC,MAAME,gBAAgBT,8BAA8BQ;IACpDP,uBAAuBO;IACvBL,4BAA4B,0BAA0BK;IAEtD,OAAON,oBAAoBM,OAAOC;AACpC,GAAG;AAEHL,KAAKM,WAAW,GAAG"}
1
+ {"version":3,"sources":["../src/components/Tree/Tree.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useTree_unstable } from './useTree';\nimport type { TreeProps } from './Tree.types';\nimport { useTreeContextValues_unstable } from './useTreeContextValues';\nimport { useTreeStyles_unstable } from './useTreeStyles.styles';\nimport { renderTree_unstable } from './renderTree';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * The `Tree` component renders nested items in a hierarchical structure.\n * Use it with `TreeItem` component and layouts components `TreeItemLayout` or `TreeItemPersonaLayout`.\n */\nexport const Tree: ForwardRefComponent<TreeProps> = React.forwardRef((props, ref) => {\n const state = useTree_unstable(props, ref);\n const contextValues = useTreeContextValues_unstable(state);\n useTreeStyles_unstable(state);\n useCustomStyleHook_unstable('useTreeStyles_unstable')(state);\n\n return renderTree_unstable(state, contextValues);\n});\n\nTree.displayName = 'Tree';\n"],"names":["React","useTree_unstable","useTreeContextValues_unstable","useTreeStyles_unstable","renderTree_unstable","useCustomStyleHook_unstable","Tree","forwardRef","props","ref","state","contextValues","displayName"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAE/B,SAASC,gBAAgB,QAAQ,eAAY;AAE7C,SAASC,6BAA6B,QAAQ,4BAAyB;AACvE,SAASC,sBAAsB,QAAQ,4BAAyB;AAChE,SAASC,mBAAmB,QAAQ,kBAAe;AACnD,SAASC,2BAA2B,QAAQ,kCAAkC;AAE9E;;;CAGC,GACD,OAAO,MAAMC,qBAAuCN,MAAMO,UAAU,CAAC,CAACC,OAAOC;IAC3E,MAAMC,QAAQT,iBAAiBO,OAAOC;IACtC,MAAME,gBAAgBT,8BAA8BQ;IACpDP,uBAAuBO;IACvBL,4BAA4B,0BAA0BK;IAEtD,OAAON,oBAAoBM,OAAOC;AACpC,GAAG;AAEHL,KAAKM,WAAW,GAAG"}
@@ -1,5 +1,5 @@
1
- export { Tree } from './Tree';
2
- export { useTree_unstable } from './useTree';
3
- export { useTreeContextValues_unstable } from './useTreeContextValues';
4
- export { treeClassNames, useTreeStyles_unstable } from './useTreeStyles.styles';
5
- export { renderTree_unstable } from './renderTree';
1
+ export { Tree } from "./Tree.js";
2
+ export { useTree_unstable } from "./useTree.js";
3
+ export { useTreeContextValues_unstable } from "./useTreeContextValues.js";
4
+ export { treeClassNames, useTreeStyles_unstable } from "./useTreeStyles.styles.js";
5
+ export { renderTree_unstable } from "./renderTree.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Tree/index.ts"],"sourcesContent":["export { Tree } from './Tree';\nexport type {\n TreeCheckedChangeData,\n TreeCheckedChangeEvent,\n TreeContextValues,\n TreeNavigationData_unstable,\n TreeNavigationEvent_unstable,\n TreeOpenChangeData,\n TreeOpenChangeEvent,\n TreeProps,\n TreeSelectionValue,\n TreeSlots,\n TreeState,\n TreeNavigationMode,\n TreeNavigationDataParam,\n} from './Tree.types';\nexport { useTree_unstable } from './useTree';\nexport { useTreeContextValues_unstable } from './useTreeContextValues';\nexport { treeClassNames, useTreeStyles_unstable } from './useTreeStyles.styles';\nexport { renderTree_unstable } from './renderTree';\n"],"names":["Tree","useTree_unstable","useTreeContextValues_unstable","treeClassNames","useTreeStyles_unstable","renderTree_unstable"],"mappings":"AAAA,SAASA,IAAI,QAAQ,SAAS;AAgB9B,SAASC,gBAAgB,QAAQ,YAAY;AAC7C,SAASC,6BAA6B,QAAQ,yBAAyB;AACvE,SAASC,cAAc,EAAEC,sBAAsB,QAAQ,yBAAyB;AAChF,SAASC,mBAAmB,QAAQ,eAAe"}
1
+ {"version":3,"sources":["../src/components/Tree/index.ts"],"sourcesContent":["export { Tree } from './Tree';\nexport type {\n TreeCheckedChangeData,\n TreeCheckedChangeEvent,\n TreeContextValues,\n TreeNavigationData_unstable,\n TreeNavigationEvent_unstable,\n TreeOpenChangeData,\n TreeOpenChangeEvent,\n TreeProps,\n TreeSelectionValue,\n TreeSlots,\n TreeState,\n TreeNavigationMode,\n TreeNavigationDataParam,\n} from './Tree.types';\nexport { useTree_unstable } from './useTree';\nexport { useTreeContextValues_unstable } from './useTreeContextValues';\nexport { treeClassNames, useTreeStyles_unstable } from './useTreeStyles.styles';\nexport { renderTree_unstable } from './renderTree';\n"],"names":["Tree","useTree_unstable","useTreeContextValues_unstable","treeClassNames","useTreeStyles_unstable","renderTree_unstable"],"mappings":"AAAA,SAASA,IAAI,QAAQ,YAAS;AAgB9B,SAASC,gBAAgB,QAAQ,eAAY;AAC7C,SAASC,6BAA6B,QAAQ,4BAAyB;AACvE,SAASC,cAAc,EAAEC,sBAAsB,QAAQ,4BAAyB;AAChF,SAASC,mBAAmB,QAAQ,kBAAe"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "@fluentui/react-jsx-runtime/jsx-runtime";
2
- import { assertSlots } from '@fluentui/react-utilities';
3
- import { TreeProvider } from '../TreeProvider';
2
+ import { assertSlots } from "@fluentui/react-utilities";
3
+ import { TreeProvider } from "../TreeProvider.js";
4
4
  export const renderTree_unstable = (state, contextValues)=>{
5
5
  assertSlots(state);
6
6
  return /*#__PURE__*/ _jsx(TreeProvider, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Tree/renderTree.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\nimport type { TreeContextValues, TreeSlots, TreeState } from '../Tree/Tree.types';\nimport { TreeProvider } from '../TreeProvider';\n\nexport const renderTree_unstable = (state: TreeState, contextValues: TreeContextValues): JSXElement => {\n assertSlots<TreeSlots>(state);\n return (\n <TreeProvider value={contextValues.tree}>\n {state.collapseMotion ? (\n <state.collapseMotion>\n <state.root />\n </state.collapseMotion>\n ) : (\n <state.root />\n )}\n </TreeProvider>\n );\n};\n"],"names":["assertSlots","TreeProvider","renderTree_unstable","state","contextValues","value","tree","collapseMotion","root"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AACjD,SAASA,WAAW,QAAQ,4BAA4B;AAGxD,SAASC,YAAY,QAAQ,kBAAkB;AAE/C,OAAO,MAAMC,sBAAsB,CAACC,OAAkBC;IACpDJ,YAAuBG;IACvB,qBACE,KAACF;QAAaI,OAAOD,cAAcE,IAAI;kBACpCH,MAAMI,cAAc,iBACnB,KAACJ,MAAMI,cAAc;sBACnB,cAAA,KAACJ,MAAMK,IAAI;2BAGb,KAACL,MAAMK,IAAI;;AAInB,EAAE"}
1
+ {"version":3,"sources":["../src/components/Tree/renderTree.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\nimport type { TreeContextValues, TreeSlots, TreeState } from '../Tree/Tree.types';\nimport { TreeProvider } from '../TreeProvider';\n\nexport const renderTree_unstable = (state: TreeState, contextValues: TreeContextValues): JSXElement => {\n assertSlots<TreeSlots>(state);\n return (\n <TreeProvider value={contextValues.tree}>\n {state.collapseMotion ? (\n <state.collapseMotion>\n <state.root />\n </state.collapseMotion>\n ) : (\n <state.root />\n )}\n </TreeProvider>\n );\n};\n"],"names":["assertSlots","TreeProvider","renderTree_unstable","state","contextValues","value","tree","collapseMotion","root"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AACjD,SAASA,WAAW,QAAQ,4BAA4B;AAGxD,SAASC,YAAY,QAAQ,qBAAkB;AAE/C,OAAO,MAAMC,sBAAsB,CAACC,OAAkBC;IACpDJ,YAAuBG;IACvB,qBACE,KAACF;QAAaI,OAAOD,cAAcE,IAAI;kBACpCH,MAAMI,cAAc,iBACnB,KAACJ,MAAMI,cAAc;sBACnB,cAAA,KAACJ,MAAMK,IAAI;2BAGb,KAACL,MAAMK,IAAI;;AAInB,EAAE"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- import * as React from 'react';
3
- import { ImmutableMap } from '../../utils/ImmutableMap';
4
- import { createCheckedItems } from '../../utils/createCheckedItems';
2
+ import * as React from "react";
3
+ import { ImmutableMap } from "../../utils/ImmutableMap.js";
4
+ import { createCheckedItems } from "../../utils/createCheckedItems.js";
5
5
  export function useNestedCheckedItems(props) {
6
6
  return React.useMemo(()=>createCheckedItems(props.checkedItems), [
7
7
  props.checkedItems
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Tree/useNestedControllableCheckedItems.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { TreeCheckedChangeData, TreeProps } from './Tree.types';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\nimport { createCheckedItems } from '../../utils/createCheckedItems';\nimport type { TreeItemValue } from '../TreeItem/TreeItem.types';\n\nexport function useNestedCheckedItems(\n props: Pick<TreeProps, 'checkedItems'>,\n): ImmutableMap<TreeItemValue, 'mixed' | boolean> {\n return React.useMemo(() => createCheckedItems(props.checkedItems), [props.checkedItems]);\n}\n\nexport function createNextNestedCheckedItems(\n data: Pick<TreeCheckedChangeData, 'selectionMode' | 'value' | 'checked'>,\n previousCheckedItems: ImmutableMap<TreeItemValue, 'mixed' | boolean>,\n): ImmutableMap<TreeItemValue, 'mixed' | boolean> {\n if (data.selectionMode === 'single') {\n return ImmutableMap.from([[data.value, data.checked]]);\n }\n if (data.selectionMode === 'multiselect') {\n return previousCheckedItems.set(data.value, data.checked);\n }\n return previousCheckedItems;\n}\n"],"names":["React","ImmutableMap","createCheckedItems","useNestedCheckedItems","props","useMemo","checkedItems","createNextNestedCheckedItems","data","previousCheckedItems","selectionMode","from","value","checked","set"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAE/B,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,kBAAkB,QAAQ,iCAAiC;AAGpE,OAAO,SAASC,sBACdC,KAAsC;IAEtC,OAAOJ,MAAMK,OAAO,CAAC,IAAMH,mBAAmBE,MAAME,YAAY,GAAG;QAACF,MAAME,YAAY;KAAC;AACzF;AAEA,OAAO,SAASC,6BACdC,IAAwE,EACxEC,oBAAoE;IAEpE,IAAID,KAAKE,aAAa,KAAK,UAAU;QACnC,OAAOT,aAAaU,IAAI,CAAC;YAAC;gBAACH,KAAKI,KAAK;gBAAEJ,KAAKK,OAAO;aAAC;SAAC;IACvD;IACA,IAAIL,KAAKE,aAAa,KAAK,eAAe;QACxC,OAAOD,qBAAqBK,GAAG,CAACN,KAAKI,KAAK,EAAEJ,KAAKK,OAAO;IAC1D;IACA,OAAOJ;AACT"}
1
+ {"version":3,"sources":["../src/components/Tree/useNestedControllableCheckedItems.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { TreeCheckedChangeData, TreeProps } from './Tree.types';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\nimport { createCheckedItems } from '../../utils/createCheckedItems';\nimport type { TreeItemValue } from '../TreeItem/TreeItem.types';\n\nexport function useNestedCheckedItems(\n props: Pick<TreeProps, 'checkedItems'>,\n): ImmutableMap<TreeItemValue, 'mixed' | boolean> {\n return React.useMemo(() => createCheckedItems(props.checkedItems), [props.checkedItems]);\n}\n\nexport function createNextNestedCheckedItems(\n data: Pick<TreeCheckedChangeData, 'selectionMode' | 'value' | 'checked'>,\n previousCheckedItems: ImmutableMap<TreeItemValue, 'mixed' | boolean>,\n): ImmutableMap<TreeItemValue, 'mixed' | boolean> {\n if (data.selectionMode === 'single') {\n return ImmutableMap.from([[data.value, data.checked]]);\n }\n if (data.selectionMode === 'multiselect') {\n return previousCheckedItems.set(data.value, data.checked);\n }\n return previousCheckedItems;\n}\n"],"names":["React","ImmutableMap","createCheckedItems","useNestedCheckedItems","props","useMemo","checkedItems","createNextNestedCheckedItems","data","previousCheckedItems","selectionMode","from","value","checked","set"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAE/B,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,kBAAkB,QAAQ,oCAAiC;AAGpE,OAAO,SAASC,sBACdC,KAAsC;IAEtC,OAAOJ,MAAMK,OAAO,CAAC,IAAMH,mBAAmBE,MAAME,YAAY,GAAG;QAACF,MAAME,YAAY;KAAC;AACzF;AAEA,OAAO,SAASC,6BACdC,IAAwE,EACxEC,oBAAoE;IAEpE,IAAID,KAAKE,aAAa,KAAK,UAAU;QACnC,OAAOT,aAAaU,IAAI,CAAC;YAAC;gBAACH,KAAKI,KAAK;gBAAEJ,KAAKK,OAAO;aAAC;SAAC;IACvD;IACA,IAAIL,KAAKE,aAAa,KAAK,eAAe;QACxC,OAAOD,qBAAqBK,GAAG,CAACN,KAAKI,KAAK,EAAEJ,KAAKK,OAAO;IAC1D;IACA,OAAOJ;AACT"}
@@ -1,15 +1,15 @@
1
1
  'use client';
2
- import * as React from 'react';
3
- import { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';
4
- import { createNextOpenItems, useControllableOpenItems } from '../../hooks/useControllableOpenItems';
5
- import { createNextNestedCheckedItems, useNestedCheckedItems } from './useNestedControllableCheckedItems';
6
- import { SubtreeContext } from '../../contexts/subtreeContext';
7
- import { useRootTree } from '../../hooks/useRootTree';
8
- import { useSubtree } from '../../hooks/useSubtree';
9
- import { useTreeNavigation } from '../../hooks/useTreeNavigation';
10
- import { useTreeContext_unstable } from '../../contexts/treeContext';
11
- import { ImmutableSet } from '../../utils/ImmutableSet';
12
- import { ImmutableMap } from '../../utils/ImmutableMap';
2
+ import * as React from "react";
3
+ import { useEventCallback, useMergedRefs } from "@fluentui/react-utilities";
4
+ import { createNextOpenItems, useControllableOpenItems } from "../../hooks/useControllableOpenItems.js";
5
+ import { createNextNestedCheckedItems, useNestedCheckedItems } from "./useNestedControllableCheckedItems.js";
6
+ import { SubtreeContext } from "../../contexts/subtreeContext.js";
7
+ import { useRootTree } from "../../hooks/useRootTree.js";
8
+ import { useSubtree } from "../../hooks/useSubtree.js";
9
+ import { useTreeNavigation } from "../../hooks/useTreeNavigation.js";
10
+ import { useTreeContext_unstable } from "../../contexts/treeContext.js";
11
+ import { ImmutableSet } from "../../utils/ImmutableSet.js";
12
+ import { ImmutableMap } from "../../utils/ImmutableMap.js";
13
13
  export const useTree_unstable = (props, ref)=>{
14
14
  const isRoot = React.useContext(SubtreeContext) === undefined;
15
15
  // as level is static, this doesn't break rule of hooks
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Tree/useTree.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport type { TreeProps, TreeState } from './Tree.types';\nimport { createNextOpenItems, useControllableOpenItems } from '../../hooks/useControllableOpenItems';\nimport { createNextNestedCheckedItems, useNestedCheckedItems } from './useNestedControllableCheckedItems';\nimport { SubtreeContext } from '../../contexts/subtreeContext';\nimport { useRootTree } from '../../hooks/useRootTree';\nimport { useSubtree } from '../../hooks/useSubtree';\nimport { useTreeNavigation } from '../../hooks/useTreeNavigation';\nimport { useTreeContext_unstable } from '../../contexts/treeContext';\nimport { ImmutableSet } from '../../utils/ImmutableSet';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\n\nexport const useTree_unstable = (props: TreeProps, ref: React.Ref<HTMLElement>): TreeState => {\n const isRoot = React.useContext(SubtreeContext) === undefined;\n // as level is static, this doesn't break rule of hooks\n // and if this becomes an issue later on, this can be easily converted\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isRoot ? useNestedRootTree(props, ref) : useNestedSubtree(props, ref);\n};\n\nfunction useNestedRootTree(props: TreeProps, ref: React.Ref<HTMLElement>): TreeState {\n 'use no memo'; // justified: compiler would optimize useNestedRootTree — manual opt-out to preserve runtime behavior\n\n const [openItems, setOpenItems] = useControllableOpenItems(props);\n const checkedItems = useNestedCheckedItems(props);\n const navigation = useTreeNavigation(props.navigationMode);\n\n return Object.assign(\n useRootTree(\n {\n ...props,\n openItems,\n checkedItems,\n onOpenChange: useEventCallback((event, data) => {\n const nextOpenItems = createNextOpenItems(data, openItems);\n props.onOpenChange?.(event, {\n ...data,\n openItems: ImmutableSet.dangerouslyGetInternalSet(nextOpenItems),\n });\n setOpenItems(nextOpenItems);\n }),\n onNavigation: useEventCallback((event, data) => {\n props.onNavigation?.(event, data);\n if (!event.isDefaultPrevented()) {\n navigation.navigate(data, {\n preventScroll: data.isScrollPrevented(),\n });\n }\n }),\n onCheckedChange: useEventCallback((event, data) => {\n const nextCheckedItems = createNextNestedCheckedItems(data, checkedItems);\n props.onCheckedChange?.(event, {\n ...data,\n checkedItems: ImmutableMap.dangerouslyGetInternalMap(nextCheckedItems),\n });\n }),\n },\n useMergedRefs(ref, navigation.treeRef),\n ),\n {\n treeType: 'nested',\n forceUpdateRovingTabIndex: navigation.forceUpdateRovingTabIndex,\n } as const,\n );\n}\n\nfunction useNestedSubtree(props: TreeProps, ref: React.Ref<HTMLElement>): TreeState {\n if (process.env.NODE_ENV === 'development') {\n // this doesn't break rule of hooks, as environment is a static value\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const treeType = useTreeContext_unstable(ctx => ctx.treeType);\n if (treeType === 'flat') {\n throw new Error(/* #__DE-INDENT__ */ `\n @fluentui/react-tree [useTree]:\n Subtrees are not allowed in a FlatTree!\n You cannot use a <Tree> component inside of a <FlatTree> component!\n `);\n }\n }\n return useSubtree(props, ref);\n}\n"],"names":["React","useEventCallback","useMergedRefs","createNextOpenItems","useControllableOpenItems","createNextNestedCheckedItems","useNestedCheckedItems","SubtreeContext","useRootTree","useSubtree","useTreeNavigation","useTreeContext_unstable","ImmutableSet","ImmutableMap","useTree_unstable","props","ref","isRoot","useContext","undefined","useNestedRootTree","useNestedSubtree","openItems","setOpenItems","checkedItems","navigation","navigationMode","Object","assign","onOpenChange","event","data","nextOpenItems","dangerouslyGetInternalSet","onNavigation","isDefaultPrevented","navigate","preventScroll","isScrollPrevented","onCheckedChange","nextCheckedItems","dangerouslyGetInternalMap","treeRef","treeType","forceUpdateRovingTabIndex","process","env","NODE_ENV","ctx","Error"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,gBAAgB,EAAEC,aAAa,QAAQ,4BAA4B;AAE5E,SAASC,mBAAmB,EAAEC,wBAAwB,QAAQ,uCAAuC;AACrG,SAASC,4BAA4B,EAAEC,qBAAqB,QAAQ,sCAAsC;AAC1G,SAASC,cAAc,QAAQ,gCAAgC;AAC/D,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,uBAAuB,QAAQ,6BAA6B;AACrE,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,YAAY,QAAQ,2BAA2B;AAExD,OAAO,MAAMC,mBAAmB,CAACC,OAAkBC;IACjD,MAAMC,SAASjB,MAAMkB,UAAU,CAACX,oBAAoBY;IACpD,uDAAuD;IACvD,sEAAsE;IACtE,sDAAsD;IACtD,OAAOF,SAASG,kBAAkBL,OAAOC,OAAOK,iBAAiBN,OAAOC;AAC1E,EAAE;AAEF,SAASI,kBAAkBL,KAAgB,EAAEC,GAA2B;IACtE,eAAe,qGAAqG;IAEpH,MAAM,CAACM,WAAWC,aAAa,GAAGnB,yBAAyBW;IAC3D,MAAMS,eAAelB,sBAAsBS;IAC3C,MAAMU,aAAaf,kBAAkBK,MAAMW,cAAc;IAEzD,OAAOC,OAAOC,MAAM,CAClBpB,YACE;QACE,GAAGO,KAAK;QACRO;QACAE;QACAK,cAAc5B,iBAAiB,CAAC6B,OAAOC;gBAErChB;YADA,MAAMiB,gBAAgB7B,oBAAoB4B,MAAMT;aAChDP,sBAAAA,MAAMc,YAAY,cAAlBd,0CAAAA,yBAAAA,OAAqBe,OAAO;gBAC1B,GAAGC,IAAI;gBACPT,WAAWV,aAAaqB,yBAAyB,CAACD;YACpD;YACAT,aAAaS;QACf;QACAE,cAAcjC,iBAAiB,CAAC6B,OAAOC;gBACrChB;aAAAA,sBAAAA,MAAMmB,YAAY,cAAlBnB,0CAAAA,yBAAAA,OAAqBe,OAAOC;YAC5B,IAAI,CAACD,MAAMK,kBAAkB,IAAI;gBAC/BV,WAAWW,QAAQ,CAACL,MAAM;oBACxBM,eAAeN,KAAKO,iBAAiB;gBACvC;YACF;QACF;QACAC,iBAAiBtC,iBAAiB,CAAC6B,OAAOC;gBAExChB;YADA,MAAMyB,mBAAmBnC,6BAA6B0B,MAAMP;aAC5DT,yBAAAA,MAAMwB,eAAe,cAArBxB,6CAAAA,4BAAAA,OAAwBe,OAAO;gBAC7B,GAAGC,IAAI;gBACPP,cAAcX,aAAa4B,yBAAyB,CAACD;YACvD;QACF;IACF,GACAtC,cAAcc,KAAKS,WAAWiB,OAAO,IAEvC;QACEC,UAAU;QACVC,2BAA2BnB,WAAWmB,yBAAyB;IACjE;AAEJ;AAEA,SAASvB,iBAAiBN,KAAgB,EAAEC,GAA2B;IACrE,IAAI6B,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,qEAAqE;QACrE,sDAAsD;QACtD,MAAMJ,WAAWhC,wBAAwBqC,CAAAA,MAAOA,IAAIL,QAAQ;QAC5D,IAAIA,aAAa,QAAQ;YACvB,MAAM,IAAIM,MAA2B,CAAC;;mEAItC,CAAC;QACH;IACF;IACA,OAAOxC,WAAWM,OAAOC;AAC3B"}
1
+ {"version":3,"sources":["../src/components/Tree/useTree.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport type { TreeProps, TreeState } from './Tree.types';\nimport { createNextOpenItems, useControllableOpenItems } from '../../hooks/useControllableOpenItems';\nimport { createNextNestedCheckedItems, useNestedCheckedItems } from './useNestedControllableCheckedItems';\nimport { SubtreeContext } from '../../contexts/subtreeContext';\nimport { useRootTree } from '../../hooks/useRootTree';\nimport { useSubtree } from '../../hooks/useSubtree';\nimport { useTreeNavigation } from '../../hooks/useTreeNavigation';\nimport { useTreeContext_unstable } from '../../contexts/treeContext';\nimport { ImmutableSet } from '../../utils/ImmutableSet';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\n\nexport const useTree_unstable = (props: TreeProps, ref: React.Ref<HTMLElement>): TreeState => {\n const isRoot = React.useContext(SubtreeContext) === undefined;\n // as level is static, this doesn't break rule of hooks\n // and if this becomes an issue later on, this can be easily converted\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isRoot ? useNestedRootTree(props, ref) : useNestedSubtree(props, ref);\n};\n\nfunction useNestedRootTree(props: TreeProps, ref: React.Ref<HTMLElement>): TreeState {\n 'use no memo'; // justified: compiler would optimize useNestedRootTree — manual opt-out to preserve runtime behavior\n\n const [openItems, setOpenItems] = useControllableOpenItems(props);\n const checkedItems = useNestedCheckedItems(props);\n const navigation = useTreeNavigation(props.navigationMode);\n\n return Object.assign(\n useRootTree(\n {\n ...props,\n openItems,\n checkedItems,\n onOpenChange: useEventCallback((event, data) => {\n const nextOpenItems = createNextOpenItems(data, openItems);\n props.onOpenChange?.(event, {\n ...data,\n openItems: ImmutableSet.dangerouslyGetInternalSet(nextOpenItems),\n });\n setOpenItems(nextOpenItems);\n }),\n onNavigation: useEventCallback((event, data) => {\n props.onNavigation?.(event, data);\n if (!event.isDefaultPrevented()) {\n navigation.navigate(data, {\n preventScroll: data.isScrollPrevented(),\n });\n }\n }),\n onCheckedChange: useEventCallback((event, data) => {\n const nextCheckedItems = createNextNestedCheckedItems(data, checkedItems);\n props.onCheckedChange?.(event, {\n ...data,\n checkedItems: ImmutableMap.dangerouslyGetInternalMap(nextCheckedItems),\n });\n }),\n },\n useMergedRefs(ref, navigation.treeRef),\n ),\n {\n treeType: 'nested',\n forceUpdateRovingTabIndex: navigation.forceUpdateRovingTabIndex,\n } as const,\n );\n}\n\nfunction useNestedSubtree(props: TreeProps, ref: React.Ref<HTMLElement>): TreeState {\n if (process.env.NODE_ENV === 'development') {\n // this doesn't break rule of hooks, as environment is a static value\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const treeType = useTreeContext_unstable(ctx => ctx.treeType);\n if (treeType === 'flat') {\n throw new Error(/* #__DE-INDENT__ */ `\n @fluentui/react-tree [useTree]:\n Subtrees are not allowed in a FlatTree!\n You cannot use a <Tree> component inside of a <FlatTree> component!\n `);\n }\n }\n return useSubtree(props, ref);\n}\n"],"names":["React","useEventCallback","useMergedRefs","createNextOpenItems","useControllableOpenItems","createNextNestedCheckedItems","useNestedCheckedItems","SubtreeContext","useRootTree","useSubtree","useTreeNavigation","useTreeContext_unstable","ImmutableSet","ImmutableMap","useTree_unstable","props","ref","isRoot","useContext","undefined","useNestedRootTree","useNestedSubtree","openItems","setOpenItems","checkedItems","navigation","navigationMode","Object","assign","onOpenChange","event","data","nextOpenItems","dangerouslyGetInternalSet","onNavigation","isDefaultPrevented","navigate","preventScroll","isScrollPrevented","onCheckedChange","nextCheckedItems","dangerouslyGetInternalMap","treeRef","treeType","forceUpdateRovingTabIndex","process","env","NODE_ENV","ctx","Error"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,gBAAgB,EAAEC,aAAa,QAAQ,4BAA4B;AAE5E,SAASC,mBAAmB,EAAEC,wBAAwB,QAAQ,0CAAuC;AACrG,SAASC,4BAA4B,EAAEC,qBAAqB,QAAQ,yCAAsC;AAC1G,SAASC,cAAc,QAAQ,mCAAgC;AAC/D,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,UAAU,QAAQ,4BAAyB;AACpD,SAASC,iBAAiB,QAAQ,mCAAgC;AAClE,SAASC,uBAAuB,QAAQ,gCAA6B;AACrE,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,YAAY,QAAQ,8BAA2B;AAExD,OAAO,MAAMC,mBAAmB,CAACC,OAAkBC;IACjD,MAAMC,SAASjB,MAAMkB,UAAU,CAACX,oBAAoBY;IACpD,uDAAuD;IACvD,sEAAsE;IACtE,sDAAsD;IACtD,OAAOF,SAASG,kBAAkBL,OAAOC,OAAOK,iBAAiBN,OAAOC;AAC1E,EAAE;AAEF,SAASI,kBAAkBL,KAAgB,EAAEC,GAA2B;IACtE,eAAe,qGAAqG;IAEpH,MAAM,CAACM,WAAWC,aAAa,GAAGnB,yBAAyBW;IAC3D,MAAMS,eAAelB,sBAAsBS;IAC3C,MAAMU,aAAaf,kBAAkBK,MAAMW,cAAc;IAEzD,OAAOC,OAAOC,MAAM,CAClBpB,YACE;QACE,GAAGO,KAAK;QACRO;QACAE;QACAK,cAAc5B,iBAAiB,CAAC6B,OAAOC;gBAErChB;YADA,MAAMiB,gBAAgB7B,oBAAoB4B,MAAMT;aAChDP,sBAAAA,MAAMc,YAAY,cAAlBd,0CAAAA,yBAAAA,OAAqBe,OAAO;gBAC1B,GAAGC,IAAI;gBACPT,WAAWV,aAAaqB,yBAAyB,CAACD;YACpD;YACAT,aAAaS;QACf;QACAE,cAAcjC,iBAAiB,CAAC6B,OAAOC;gBACrChB;aAAAA,sBAAAA,MAAMmB,YAAY,cAAlBnB,0CAAAA,yBAAAA,OAAqBe,OAAOC;YAC5B,IAAI,CAACD,MAAMK,kBAAkB,IAAI;gBAC/BV,WAAWW,QAAQ,CAACL,MAAM;oBACxBM,eAAeN,KAAKO,iBAAiB;gBACvC;YACF;QACF;QACAC,iBAAiBtC,iBAAiB,CAAC6B,OAAOC;gBAExChB;YADA,MAAMyB,mBAAmBnC,6BAA6B0B,MAAMP;aAC5DT,yBAAAA,MAAMwB,eAAe,cAArBxB,6CAAAA,4BAAAA,OAAwBe,OAAO;gBAC7B,GAAGC,IAAI;gBACPP,cAAcX,aAAa4B,yBAAyB,CAACD;YACvD;QACF;IACF,GACAtC,cAAcc,KAAKS,WAAWiB,OAAO,IAEvC;QACEC,UAAU;QACVC,2BAA2BnB,WAAWmB,yBAAyB;IACjE;AAEJ;AAEA,SAASvB,iBAAiBN,KAAgB,EAAEC,GAA2B;IACrE,IAAI6B,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,qEAAqE;QACrE,sDAAsD;QACtD,MAAMJ,WAAWhC,wBAAwBqC,CAAAA,MAAOA,IAAIL,QAAQ;QAC5D,IAAIA,aAAa,QAAQ;YACvB,MAAM,IAAIM,MAA2B,CAAC;;mEAItC,CAAC;QACH;IACF;IACA,OAAOxC,WAAWM,OAAOC;AAC3B"}