@fluentui/react-tree 9.0.0-beta.17 → 9.0.0-beta.19

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 (239) hide show
  1. package/CHANGELOG.json +151 -1
  2. package/CHANGELOG.md +40 -2
  3. package/lib/Tree.js +0 -1
  4. package/lib/Tree.js.map +1 -1
  5. package/lib/TreeItem.js +0 -1
  6. package/lib/TreeItem.js.map +1 -1
  7. package/lib/TreeItemAside.js +0 -1
  8. package/lib/TreeItemAside.js.map +1 -1
  9. package/lib/TreeItemLayout.js +0 -1
  10. package/lib/TreeItemLayout.js.map +1 -1
  11. package/lib/TreeItemPersonaLayout.js +0 -1
  12. package/lib/TreeItemPersonaLayout.js.map +1 -1
  13. package/lib/components/Tree/Tree.js +5 -7
  14. package/lib/components/Tree/Tree.js.map +1 -1
  15. package/lib/components/Tree/Tree.types.js +0 -1
  16. package/lib/components/Tree/Tree.types.js.map +1 -1
  17. package/lib/components/Tree/index.js +0 -1
  18. package/lib/components/Tree/index.js.map +1 -1
  19. package/lib/components/Tree/renderTree.js +6 -10
  20. package/lib/components/Tree/renderTree.js.map +1 -1
  21. package/lib/components/Tree/useRootTree.js +127 -142
  22. package/lib/components/Tree/useRootTree.js.map +1 -1
  23. package/lib/components/Tree/useSubtree.js +26 -31
  24. package/lib/components/Tree/useSubtree.js.map +1 -1
  25. package/lib/components/Tree/useTree.js +6 -8
  26. package/lib/components/Tree/useTree.js.map +1 -1
  27. package/lib/components/Tree/useTreeContextValues.js +14 -22
  28. package/lib/components/Tree/useTreeContextValues.js.map +1 -1
  29. package/lib/components/Tree/useTreeStyles.styles.js.map +1 -1
  30. package/lib/components/TreeItem/TreeItem.js +5 -7
  31. package/lib/components/TreeItem/TreeItem.js.map +1 -1
  32. package/lib/components/TreeItem/TreeItem.types.js +0 -1
  33. package/lib/components/TreeItem/TreeItem.types.js.map +1 -1
  34. package/lib/components/TreeItem/index.js +0 -1
  35. package/lib/components/TreeItem/index.js.map +1 -1
  36. package/lib/components/TreeItem/renderTreeItem.js +6 -11
  37. package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
  38. package/lib/components/TreeItem/useTreeItem.js +113 -123
  39. package/lib/components/TreeItem/useTreeItem.js.map +1 -1
  40. package/lib/components/TreeItem/useTreeItemContextValues.js +18 -30
  41. package/lib/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  42. package/lib/components/TreeItem/useTreeItemStyles.styles.js +5 -5
  43. package/lib/components/TreeItem/useTreeItemStyles.styles.js.map +1 -1
  44. package/lib/components/TreeItemAside/TreeItemAside.js +4 -6
  45. package/lib/components/TreeItemAside/TreeItemAside.js.map +1 -1
  46. package/lib/components/TreeItemAside/TreeItemAside.types.js +1 -2
  47. package/lib/components/TreeItemAside/TreeItemAside.types.js.map +1 -1
  48. package/lib/components/TreeItemAside/index.js +0 -1
  49. package/lib/components/TreeItemAside/index.js.map +1 -1
  50. package/lib/components/TreeItemAside/renderTreeItemAside.js +9 -14
  51. package/lib/components/TreeItemAside/renderTreeItemAside.js.map +1 -1
  52. package/lib/components/TreeItemAside/useTreeItemAside.js +18 -23
  53. package/lib/components/TreeItemAside/useTreeItemAside.js.map +1 -1
  54. package/lib/components/TreeItemAside/useTreeItemAsideStyles.styles.js.map +1 -1
  55. package/lib/components/TreeItemChevron.js +16 -19
  56. package/lib/components/TreeItemChevron.js.map +1 -1
  57. package/lib/components/TreeItemLayout/TreeItemLayout.js +4 -6
  58. package/lib/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  59. package/lib/components/TreeItemLayout/TreeItemLayout.types.js +1 -2
  60. package/lib/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  61. package/lib/components/TreeItemLayout/index.js +0 -1
  62. package/lib/components/TreeItemLayout/index.js.map +1 -1
  63. package/lib/components/TreeItemLayout/renderTreeItemLayout.js +4 -9
  64. package/lib/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  65. package/lib/components/TreeItemLayout/useTreeItemLayout.js +35 -42
  66. package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  67. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -1
  68. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +5 -7
  69. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  70. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +1 -2
  71. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  72. package/lib/components/TreeItemPersonaLayout/index.js +0 -1
  73. package/lib/components/TreeItemPersonaLayout/index.js.map +1 -1
  74. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +6 -11
  75. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  76. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +33 -41
  77. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  78. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +9 -10
  79. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  80. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -1
  81. package/lib/contexts/index.js +0 -1
  82. package/lib/contexts/index.js.map +1 -1
  83. package/lib/contexts/treeContext.js +9 -12
  84. package/lib/contexts/treeContext.js.map +1 -1
  85. package/lib/contexts/treeItemContext.js +12 -15
  86. package/lib/contexts/treeItemContext.js.map +1 -1
  87. package/lib/hooks/index.js +0 -1
  88. package/lib/hooks/index.js.map +1 -1
  89. package/lib/hooks/useFlatTree.js +68 -59
  90. package/lib/hooks/useFlatTree.js.map +1 -1
  91. package/lib/hooks/useFlatTreeNavigation.js +59 -61
  92. package/lib/hooks/useFlatTreeNavigation.js.map +1 -1
  93. package/lib/hooks/useHTMLElementWalker.js +78 -76
  94. package/lib/hooks/useHTMLElementWalker.js.map +1 -1
  95. package/lib/hooks/useNestedTreeNavigation.js +48 -48
  96. package/lib/hooks/useNestedTreeNavigation.js.map +1 -1
  97. package/lib/hooks/useOpenItemsState.js +18 -14
  98. package/lib/hooks/useOpenItemsState.js.map +1 -1
  99. package/lib/hooks/useRovingTabIndexes.js +46 -45
  100. package/lib/hooks/useRovingTabIndexes.js.map +1 -1
  101. package/lib/index.js +0 -1
  102. package/lib/index.js.map +1 -1
  103. package/lib/utils/ImmutableSet.js +27 -30
  104. package/lib/utils/ImmutableSet.js.map +1 -1
  105. package/lib/utils/assert.js +4 -5
  106. package/lib/utils/assert.js.map +1 -1
  107. package/lib/utils/createFlatTreeItems.js +101 -101
  108. package/lib/utils/createFlatTreeItems.js.map +1 -1
  109. package/lib/utils/flattenTree.js +19 -23
  110. package/lib/utils/flattenTree.js.map +1 -1
  111. package/lib/utils/nextTypeAheadElement.js +11 -12
  112. package/lib/utils/nextTypeAheadElement.js.map +1 -1
  113. package/lib/utils/normalizeOpenItems.js +6 -5
  114. package/lib/utils/normalizeOpenItems.js.map +1 -1
  115. package/lib/utils/tokens.js +12 -13
  116. package/lib/utils/tokens.js.map +1 -1
  117. package/lib/utils/treeItemFilter.js +2 -3
  118. package/lib/utils/treeItemFilter.js.map +1 -1
  119. package/lib-commonjs/Tree.js +0 -3
  120. package/lib-commonjs/Tree.js.map +1 -1
  121. package/lib-commonjs/TreeItem.js +0 -3
  122. package/lib-commonjs/TreeItem.js.map +1 -1
  123. package/lib-commonjs/TreeItemAside.js +0 -3
  124. package/lib-commonjs/TreeItemAside.js.map +1 -1
  125. package/lib-commonjs/TreeItemLayout.js +0 -3
  126. package/lib-commonjs/TreeItemLayout.js.map +1 -1
  127. package/lib-commonjs/TreeItemPersonaLayout.js +0 -3
  128. package/lib-commonjs/TreeItemPersonaLayout.js.map +1 -1
  129. package/lib-commonjs/components/Tree/Tree.js +1 -3
  130. package/lib-commonjs/components/Tree/Tree.js.map +1 -1
  131. package/lib-commonjs/components/Tree/Tree.types.js +0 -3
  132. package/lib-commonjs/components/Tree/Tree.types.js.map +1 -1
  133. package/lib-commonjs/components/Tree/index.js +0 -3
  134. package/lib-commonjs/components/Tree/index.js.map +1 -1
  135. package/lib-commonjs/components/Tree/renderTree.js +1 -3
  136. package/lib-commonjs/components/Tree/renderTree.js.map +1 -1
  137. package/lib-commonjs/components/Tree/useRootTree.js +1 -3
  138. package/lib-commonjs/components/Tree/useRootTree.js.map +1 -1
  139. package/lib-commonjs/components/Tree/useSubtree.js +1 -3
  140. package/lib-commonjs/components/Tree/useSubtree.js.map +1 -1
  141. package/lib-commonjs/components/Tree/useTree.js +1 -3
  142. package/lib-commonjs/components/Tree/useTree.js.map +1 -1
  143. package/lib-commonjs/components/Tree/useTreeContextValues.js +4 -6
  144. package/lib-commonjs/components/Tree/useTreeContextValues.js.map +1 -1
  145. package/lib-commonjs/components/Tree/useTreeStyles.styles.js +0 -2
  146. package/lib-commonjs/components/Tree/useTreeStyles.styles.js.map +1 -1
  147. package/lib-commonjs/components/TreeItem/TreeItem.js +1 -3
  148. package/lib-commonjs/components/TreeItem/TreeItem.js.map +1 -1
  149. package/lib-commonjs/components/TreeItem/TreeItem.types.js +0 -3
  150. package/lib-commonjs/components/TreeItem/TreeItem.types.js.map +1 -1
  151. package/lib-commonjs/components/TreeItem/index.js +0 -3
  152. package/lib-commonjs/components/TreeItem/index.js.map +1 -1
  153. package/lib-commonjs/components/TreeItem/renderTreeItem.js +1 -3
  154. package/lib-commonjs/components/TreeItem/renderTreeItem.js.map +1 -1
  155. package/lib-commonjs/components/TreeItem/useTreeItem.js +1 -3
  156. package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
  157. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js +4 -6
  158. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  159. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js +12 -14
  160. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js.map +1 -1
  161. package/lib-commonjs/components/TreeItemAside/TreeItemAside.js +1 -3
  162. package/lib-commonjs/components/TreeItemAside/TreeItemAside.js.map +1 -1
  163. package/lib-commonjs/components/TreeItemAside/TreeItemAside.types.js +0 -3
  164. package/lib-commonjs/components/TreeItemAside/TreeItemAside.types.js.map +1 -1
  165. package/lib-commonjs/components/TreeItemAside/index.js +0 -3
  166. package/lib-commonjs/components/TreeItemAside/index.js.map +1 -1
  167. package/lib-commonjs/components/TreeItemAside/renderTreeItemAside.js +1 -3
  168. package/lib-commonjs/components/TreeItemAside/renderTreeItemAside.js.map +1 -1
  169. package/lib-commonjs/components/TreeItemAside/useTreeItemAside.js +1 -3
  170. package/lib-commonjs/components/TreeItemAside/useTreeItemAside.js.map +1 -1
  171. package/lib-commonjs/components/TreeItemAside/useTreeItemAsideStyles.styles.js +0 -2
  172. package/lib-commonjs/components/TreeItemAside/useTreeItemAsideStyles.styles.js.map +1 -1
  173. package/lib-commonjs/components/TreeItemChevron.js +1 -3
  174. package/lib-commonjs/components/TreeItemChevron.js.map +1 -1
  175. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js +1 -3
  176. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  177. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js +0 -3
  178. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  179. package/lib-commonjs/components/TreeItemLayout/index.js +0 -3
  180. package/lib-commonjs/components/TreeItemLayout/index.js.map +1 -1
  181. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js +1 -3
  182. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  183. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +1 -3
  184. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  185. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +0 -2
  186. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -1
  187. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +1 -3
  188. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  189. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +0 -3
  190. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  191. package/lib-commonjs/components/TreeItemPersonaLayout/index.js +0 -3
  192. package/lib-commonjs/components/TreeItemPersonaLayout/index.js.map +1 -1
  193. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +1 -3
  194. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  195. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +1 -3
  196. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  197. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +1 -3
  198. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  199. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +0 -2
  200. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -1
  201. package/lib-commonjs/contexts/index.js +0 -3
  202. package/lib-commonjs/contexts/index.js.map +1 -1
  203. package/lib-commonjs/contexts/treeContext.js +2 -4
  204. package/lib-commonjs/contexts/treeContext.js.map +1 -1
  205. package/lib-commonjs/contexts/treeItemContext.js +2 -4
  206. package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
  207. package/lib-commonjs/hooks/index.js +0 -3
  208. package/lib-commonjs/hooks/index.js.map +1 -1
  209. package/lib-commonjs/hooks/useFlatTree.js +2 -5
  210. package/lib-commonjs/hooks/useFlatTree.js.map +1 -1
  211. package/lib-commonjs/hooks/useFlatTreeNavigation.js +1 -3
  212. package/lib-commonjs/hooks/useFlatTreeNavigation.js.map +1 -1
  213. package/lib-commonjs/hooks/useHTMLElementWalker.js +1 -3
  214. package/lib-commonjs/hooks/useHTMLElementWalker.js.map +1 -1
  215. package/lib-commonjs/hooks/useNestedTreeNavigation.js +1 -3
  216. package/lib-commonjs/hooks/useNestedTreeNavigation.js.map +1 -1
  217. package/lib-commonjs/hooks/useOpenItemsState.js +1 -3
  218. package/lib-commonjs/hooks/useOpenItemsState.js.map +1 -1
  219. package/lib-commonjs/hooks/useRovingTabIndexes.js +1 -3
  220. package/lib-commonjs/hooks/useRovingTabIndexes.js.map +1 -1
  221. package/lib-commonjs/index.js +0 -3
  222. package/lib-commonjs/index.js.map +1 -1
  223. package/lib-commonjs/utils/ImmutableSet.js +2 -4
  224. package/lib-commonjs/utils/ImmutableSet.js.map +1 -1
  225. package/lib-commonjs/utils/assert.js +1 -3
  226. package/lib-commonjs/utils/assert.js.map +1 -1
  227. package/lib-commonjs/utils/createFlatTreeItems.js +1 -3
  228. package/lib-commonjs/utils/createFlatTreeItems.js.map +1 -1
  229. package/lib-commonjs/utils/flattenTree.js +1 -3
  230. package/lib-commonjs/utils/flattenTree.js.map +1 -1
  231. package/lib-commonjs/utils/nextTypeAheadElement.js +1 -3
  232. package/lib-commonjs/utils/nextTypeAheadElement.js.map +1 -1
  233. package/lib-commonjs/utils/normalizeOpenItems.js +1 -3
  234. package/lib-commonjs/utils/normalizeOpenItems.js.map +1 -1
  235. package/lib-commonjs/utils/tokens.js +1 -3
  236. package/lib-commonjs/utils/tokens.js.map +1 -1
  237. package/lib-commonjs/utils/treeItemFilter.js +1 -3
  238. package/lib-commonjs/utils/treeItemFilter.js.map +1 -1
  239. package/package.json +14 -14
@@ -1 +1 @@
1
- {"version":3,"names":["emptyImmutableSet","createImmutableSet","iterable","internalSet","Set","dangerouslyCreateImmutableSet","size","add","value","nextSet","clear","delete","has","Symbol","iterator"],"sources":["../../src/utils/ImmutableSet.ts"],"sourcesContent":["export interface ImmutableSet<Value> {\n /**\n * The number of (unique) elements in a ImmutableSet.\n */\n readonly size: number;\n /**\n * Creates a new ImmutableSet containing all previous element plus the one provided as argument\n * @param value - new value to be included in the new ImmutableSet instance\n */\n add(value: Value): ImmutableSet<Value>;\n /**\n * Returns a reference to ImmutableSet.emptySet\n */\n clear(): ImmutableSet<Value>;\n /**\n * Creates a new ImmutableSet with the original items and removes a specified value from the new ImmutableSet.\n */\n delete(value: Value): ImmutableSet<Value>;\n /**\n * @returns a boolean indicating whether an element with the specified value exists in the ImmutableSet or not.\n */\n has(value: Value): boolean;\n /** Iterates over values in the ImmutableSet. */\n [Symbol.iterator](): IterableIterator<Value>;\n}\n\nexport const emptyImmutableSet = createImmutableSet<never>();\n\n/**\n * properly creates an ImmutableSet instance from an iterable\n */\nexport function createImmutableSet<Value>(iterable?: Iterable<Value>): ImmutableSet<Value> {\n const internalSet = new Set(iterable);\n return dangerouslyCreateImmutableSet(internalSet);\n}\n/**\n * Avoid using *dangerouslyCreateImmutableSet*, since this method will expose internally used set, use createImmutableSet instead,\n * @param internalSet - a set that is used internally to store values.\n */\nexport function dangerouslyCreateImmutableSet<Value>(internalSet: Set<Value>): ImmutableSet<Value> {\n return {\n size: internalSet.size,\n add(value) {\n const nextSet = new Set(internalSet);\n nextSet.add(value);\n return dangerouslyCreateImmutableSet(nextSet);\n },\n clear() {\n return emptyImmutableSet;\n },\n delete(value) {\n const nextSet = new Set(internalSet);\n nextSet.delete(value);\n return dangerouslyCreateImmutableSet(nextSet);\n },\n has(value) {\n return internalSet.has(value);\n },\n [Symbol.iterator]() {\n return internalSet[Symbol.iterator]();\n },\n };\n}\n"],"mappings":"AA0BA,OAAO,MAAMA,iBAAA,gBAAoBC,kBAAA;AAEjC;;;AAGA,OAAO,SAASA,mBAA0BC,QAA0B,EAAuB;EACzF,MAAMC,WAAA,GAAc,IAAIC,GAAA,CAAIF,QAAA;EAC5B,OAAOG,6BAAA,CAA8BF,WAAA;AACvC;AACA;;;;AAIA,OAAO,SAASE,8BAAqCF,WAAuB,EAAuB;EACjG,OAAO;IACLG,IAAA,EAAMH,WAAA,CAAYG,IAAI;IACtBC,IAAIC,KAAK,EAAE;MACT,MAAMC,OAAA,GAAU,IAAIL,GAAA,CAAID,WAAA;MACxBM,OAAA,CAAQF,GAAG,CAACC,KAAA;MACZ,OAAOH,6BAAA,CAA8BI,OAAA;IACvC;IACAC,MAAA,EAAQ;MACN,OAAOV,iBAAA;IACT;IACAW,OAAOH,KAAK,EAAE;MACZ,MAAMC,OAAA,GAAU,IAAIL,GAAA,CAAID,WAAA;MACxBM,OAAA,CAAQE,MAAM,CAACH,KAAA;MACf,OAAOH,6BAAA,CAA8BI,OAAA;IACvC;IACAG,IAAIJ,KAAK,EAAE;MACT,OAAOL,WAAA,CAAYS,GAAG,CAACJ,KAAA;IACzB;IACA,CAACK,MAAA,CAAOC,QAAQ,IAAI;MAClB,OAAOX,WAAW,CAACU,MAAA,CAAOC,QAAQ,CAAC;IACrC;EACF;AACF"}
1
+ {"version":3,"sources":["ImmutableSet.ts"],"sourcesContent":["export interface ImmutableSet<Value> {\n /**\n * The number of (unique) elements in a ImmutableSet.\n */\n readonly size: number;\n /**\n * Creates a new ImmutableSet containing all previous element plus the one provided as argument\n * @param value - new value to be included in the new ImmutableSet instance\n */\n add(value: Value): ImmutableSet<Value>;\n /**\n * Returns a reference to ImmutableSet.emptySet\n */\n clear(): ImmutableSet<Value>;\n /**\n * Creates a new ImmutableSet with the original items and removes a specified value from the new ImmutableSet.\n */\n delete(value: Value): ImmutableSet<Value>;\n /**\n * @returns a boolean indicating whether an element with the specified value exists in the ImmutableSet or not.\n */\n has(value: Value): boolean;\n /** Iterates over values in the ImmutableSet. */\n [Symbol.iterator](): IterableIterator<Value>;\n}\n\nexport const emptyImmutableSet = createImmutableSet<never>();\n\n/**\n * properly creates an ImmutableSet instance from an iterable\n */\nexport function createImmutableSet<Value>(iterable?: Iterable<Value>): ImmutableSet<Value> {\n const internalSet = new Set(iterable);\n return dangerouslyCreateImmutableSet(internalSet);\n}\n/**\n * Avoid using *dangerouslyCreateImmutableSet*, since this method will expose internally used set, use createImmutableSet instead,\n * @param internalSet - a set that is used internally to store values.\n */\nexport function dangerouslyCreateImmutableSet<Value>(internalSet: Set<Value>): ImmutableSet<Value> {\n return {\n size: internalSet.size,\n add(value) {\n const nextSet = new Set(internalSet);\n nextSet.add(value);\n return dangerouslyCreateImmutableSet(nextSet);\n },\n clear() {\n return emptyImmutableSet;\n },\n delete(value) {\n const nextSet = new Set(internalSet);\n nextSet.delete(value);\n return dangerouslyCreateImmutableSet(nextSet);\n },\n has(value) {\n return internalSet.has(value);\n },\n [Symbol.iterator]() {\n return internalSet[Symbol.iterator]();\n },\n };\n}\n"],"names":["emptyImmutableSet","createImmutableSet","iterable","internalSet","Set","dangerouslyCreateImmutableSet","size","add","value","nextSet","clear","delete","has","Symbol","iterator"],"mappings":"AA0BA,OAAO,MAAMA,oBAAoBC,qBAA4B;AAE7D;;CAEC,GACD,OAAO,SAASA,mBAA0BC,QAA0B,EAAuB;IACzF,MAAMC,cAAc,IAAIC,IAAIF;IAC5B,OAAOG,8BAA8BF;AACvC,CAAC;AACD;;;CAGC,GACD,OAAO,SAASE,8BAAqCF,WAAuB,EAAuB;IACjG,OAAO;QACLG,MAAMH,YAAYG,IAAI;QACtBC,KAAIC,KAAK,EAAE;YACT,MAAMC,UAAU,IAAIL,IAAID;YACxBM,QAAQF,GAAG,CAACC;YACZ,OAAOH,8BAA8BI;QACvC;QACAC,SAAQ;YACN,OAAOV;QACT;QACAW,QAAOH,KAAK,EAAE;YACZ,MAAMC,UAAU,IAAIL,IAAID;YACxBM,QAAQE,MAAM,CAACH;YACf,OAAOH,8BAA8BI;QACvC;QACAG,KAAIJ,KAAK,EAAE;YACT,OAAOL,YAAYS,GAAG,CAACJ;QACzB;QACA,CAACK,OAAOC,QAAQ,CAAC,IAAG;YAClB,OAAOX,WAAW,CAACU,OAAOC,QAAQ,CAAC;QACrC;IACF;AACF,CAAC"}
@@ -1,8 +1,7 @@
1
1
  import * as React from 'react';
2
2
  export function assertIsDefinedRef(refObject, msg = `assertIsDefinedRef: reference not properly defined ${refObject}`) {
3
- // eslint-disable-next-line eqeqeq
4
- if (refObject.current == undefined && process.env.NODE_ENV === 'development') {
5
- throw new TypeError(msg);
6
- }
3
+ // eslint-disable-next-line eqeqeq
4
+ if (refObject.current == undefined && process.env.NODE_ENV === 'development') {
5
+ throw new TypeError(msg);
6
+ }
7
7
  }
8
- //# sourceMappingURL=assert.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","assertIsDefinedRef","refObject","msg","current","undefined","process","env","NODE_ENV","TypeError"],"sources":["../../src/utils/assert.ts"],"sourcesContent":["import * as React from 'react';\n\nexport function assertIsDefinedRef<V>(\n refObject: React.RefObject<V | null | undefined>,\n msg = `assertIsDefinedRef: reference not properly defined ${refObject}`,\n): asserts refObject is React.MutableRefObject<V> {\n // eslint-disable-next-line eqeqeq\n if (refObject.current == undefined && process.env.NODE_ENV === 'development') {\n throw new TypeError(msg);\n }\n}\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AAEvB,OAAO,SAASC,mBACdC,SAAgD,EAChDC,GAAA,GAAO,sDAAqDD,SAAU,EAAC,EACvB;EAChD;EACA,IAAIA,SAAA,CAAUE,OAAO,IAAIC,SAAA,IAAaC,OAAA,CAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;IAC5E,MAAM,IAAIC,SAAA,CAAUN,GAAA;EACtB;AACF"}
1
+ {"version":3,"sources":["assert.ts"],"sourcesContent":["import * as React from 'react';\n\nexport function assertIsDefinedRef<V>(\n refObject: React.RefObject<V | null | undefined>,\n msg = `assertIsDefinedRef: reference not properly defined ${refObject}`,\n): asserts refObject is React.MutableRefObject<V> {\n // eslint-disable-next-line eqeqeq\n if (refObject.current == undefined && process.env.NODE_ENV === 'development') {\n throw new TypeError(msg);\n }\n}\n"],"names":["React","assertIsDefinedRef","refObject","msg","current","undefined","process","env","NODE_ENV","TypeError"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B,OAAO,SAASC,mBACdC,SAAgD,EAChDC,MAAM,CAAC,mDAAmD,EAAED,UAAU,CAAC,EACvB;IAChD,kCAAkC;IAClC,IAAIA,UAAUE,OAAO,IAAIC,aAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC5E,MAAM,IAAIC,UAAUN,KAAK;IAC3B,CAAC;AACH,CAAC"}
@@ -2,119 +2,119 @@ import * as React from 'react';
2
2
  /**
3
3
  * creates a list of flat tree items
4
4
  * and provides a map to access each item by id
5
- */
6
- export function createFlatTreeItems(flatTreeItemProps) {
7
- const root = createFlatTreeRootItem();
8
- const itemsPerValue = new Map([[root.value, root]]);
9
- const items = [];
10
- for (let index = 0; index < flatTreeItemProps.length; index++) {
11
- const {
12
- parentValue = flatTreeRootId,
13
- ...treeItemProps
14
- } = flatTreeItemProps[index];
15
- const nextItemProps = flatTreeItemProps[index + 1];
16
- const currentParent = itemsPerValue.get(parentValue);
17
- if (!currentParent) {
18
- if (process.env.NODE_ENV === 'development') {
19
- // eslint-disable-next-line no-console
20
- console.error(`useFlatTree: item ${flatTreeItemProps[index].id} is wrongly positioned, did you properly ordered provided item props? make sure provided items are organized`);
21
- }
22
- break;
5
+ */ export function createFlatTreeItems(flatTreeItemProps) {
6
+ const root = createFlatTreeRootItem();
7
+ const itemsPerValue = new Map([
8
+ [
9
+ root.value,
10
+ root
11
+ ]
12
+ ]);
13
+ const items = [];
14
+ for(let index = 0; index < flatTreeItemProps.length; index++){
15
+ const { parentValue =flatTreeRootId , ...treeItemProps } = flatTreeItemProps[index];
16
+ const nextItemProps = flatTreeItemProps[index + 1];
17
+ const currentParent = itemsPerValue.get(parentValue);
18
+ if (!currentParent) {
19
+ if (process.env.NODE_ENV === 'development') {
20
+ // eslint-disable-next-line no-console
21
+ console.error(`useFlatTree: item ${flatTreeItemProps[index].id} is wrongly positioned, did you properly ordered provided item props? make sure provided items are organized`);
22
+ }
23
+ break;
24
+ }
25
+ var _treeItemProps_itemType;
26
+ const itemType = (_treeItemProps_itemType = treeItemProps.itemType) !== null && _treeItemProps_itemType !== void 0 ? _treeItemProps_itemType : treeItemProps.value === undefined || (nextItemProps === null || nextItemProps === void 0 ? void 0 : nextItemProps.parentValue) !== treeItemProps.value ? 'leaf' : 'branch';
27
+ var _currentParent_level;
28
+ const currentLevel = ((_currentParent_level = currentParent.level) !== null && _currentParent_level !== void 0 ? _currentParent_level : 0) + 1;
29
+ const currentChildrenSize = ++currentParent.childrenSize;
30
+ const ref = React.createRef();
31
+ const flatTreeItem = {
32
+ value: treeItemProps.value,
33
+ getTreeItemProps: ()=>({
34
+ ...treeItemProps,
35
+ 'aria-level': currentLevel,
36
+ 'aria-posinset': currentChildrenSize,
37
+ 'aria-setsize': currentParent.childrenSize,
38
+ itemType,
39
+ // a reference to every parent element is necessary to ensure navigation
40
+ ref: flatTreeItem.childrenSize > 0 ? ref : undefined
41
+ }),
42
+ ref,
43
+ level: currentLevel,
44
+ parentValue,
45
+ childrenSize: 0,
46
+ index: -1
47
+ };
48
+ itemsPerValue.set(flatTreeItem.value, flatTreeItem);
49
+ items.push(flatTreeItem);
23
50
  }
24
- var _treeItemProps_itemType;
25
- const itemType = (_treeItemProps_itemType = treeItemProps.itemType) !== null && _treeItemProps_itemType !== void 0 ? _treeItemProps_itemType : treeItemProps.value === undefined || (nextItemProps === null || nextItemProps === void 0 ? void 0 : nextItemProps.parentValue) !== treeItemProps.value ? 'leaf' : 'branch';
26
- var _currentParent_level;
27
- const currentLevel = ((_currentParent_level = currentParent.level) !== null && _currentParent_level !== void 0 ? _currentParent_level : 0) + 1;
28
- const currentChildrenSize = ++currentParent.childrenSize;
29
- const ref = /*#__PURE__*/React.createRef();
30
- const flatTreeItem = {
31
- value: treeItemProps.value,
32
- getTreeItemProps: () => ({
33
- ...treeItemProps,
34
- 'aria-level': currentLevel,
35
- 'aria-posinset': currentChildrenSize,
36
- 'aria-setsize': currentParent.childrenSize,
37
- itemType,
38
- // a reference to every parent element is necessary to ensure navigation
39
- ref: flatTreeItem.childrenSize > 0 ? ref : undefined
40
- }),
41
- ref,
42
- level: currentLevel,
43
- parentValue,
44
- childrenSize: 0,
45
- index: -1
51
+ const flatTreeItems = {
52
+ root,
53
+ size: items.length,
54
+ getByIndex: (index)=>items[index],
55
+ get: (key)=>itemsPerValue.get(key),
56
+ set: (key, value)=>itemsPerValue.set(key, value)
46
57
  };
47
- itemsPerValue.set(flatTreeItem.value, flatTreeItem);
48
- items.push(flatTreeItem);
49
- }
50
- const flatTreeItems = {
51
- root,
52
- size: items.length,
53
- getByIndex: index => items[index],
54
- get: key => itemsPerValue.get(key),
55
- set: (key, value) => itemsPerValue.set(key, value)
56
- };
57
- return flatTreeItems;
58
+ return flatTreeItems;
58
59
  }
59
60
  export const flatTreeRootId = '__fuiFlatTreeRoot';
60
61
  function createFlatTreeRootItem() {
61
- return {
62
- ref: {
63
- current: null
64
- },
65
- value: flatTreeRootId,
66
- parentValue: undefined,
67
- getTreeItemProps: () => {
68
- if (process.env.NODE_ENV !== 'production') {
69
- // eslint-disable-next-line no-console
70
- console.error('useFlatTree: internal error, trying to access treeitem props from invalid root element');
71
- }
72
- return {
62
+ return {
63
+ ref: {
64
+ current: null
65
+ },
73
66
  value: flatTreeRootId,
74
- 'aria-setsize': -1,
75
- 'aria-level': -1,
76
- 'aria-posinset': -1,
77
- itemType: 'branch'
78
- };
79
- },
80
- childrenSize: 0,
81
- get index() {
82
- if (process.env.NODE_ENV !== 'production') {
83
- // eslint-disable-next-line no-console
84
- console.error('useFlatTree: internal error, trying to access treeitem props from invalid root element');
85
- }
86
- return -1;
87
- },
88
- level: 0
89
- };
67
+ parentValue: undefined,
68
+ getTreeItemProps: ()=>{
69
+ if (process.env.NODE_ENV !== 'production') {
70
+ // eslint-disable-next-line no-console
71
+ console.error('useFlatTree: internal error, trying to access treeitem props from invalid root element');
72
+ }
73
+ return {
74
+ value: flatTreeRootId,
75
+ 'aria-setsize': -1,
76
+ 'aria-level': -1,
77
+ 'aria-posinset': -1,
78
+ itemType: 'branch'
79
+ };
80
+ },
81
+ childrenSize: 0,
82
+ get index () {
83
+ if (process.env.NODE_ENV !== 'production') {
84
+ // eslint-disable-next-line no-console
85
+ console.error('useFlatTree: internal error, trying to access treeitem props from invalid root element');
86
+ }
87
+ return -1;
88
+ },
89
+ level: 0
90
+ };
90
91
  }
91
92
  // eslint-disable-next-line @typescript-eslint/naming-convention
92
93
  export function* VisibleFlatTreeItemGenerator(openItems, flatTreeItems) {
93
- for (let index = 0, visibleIndex = 0; index < flatTreeItems.size; index++) {
94
- const item = flatTreeItems.getByIndex(index);
95
- if (isItemVisible(item, openItems, flatTreeItems)) {
96
- item.index = visibleIndex++;
97
- yield item;
98
- } else {
99
- // Jump the amount of children the current item has, since those items will also be hidden
100
- index += item.childrenSize;
94
+ for(let index = 0, visibleIndex = 0; index < flatTreeItems.size; index++){
95
+ const item = flatTreeItems.getByIndex(index);
96
+ if (isItemVisible(item, openItems, flatTreeItems)) {
97
+ item.index = visibleIndex++;
98
+ yield item;
99
+ } else {
100
+ // Jump the amount of children the current item has, since those items will also be hidden
101
+ index += item.childrenSize;
102
+ }
101
103
  }
102
- }
103
104
  }
104
105
  function isItemVisible(item, openItems, flatTreeItems) {
105
- if (item.level === 1) {
106
- return true;
107
- }
108
- while (item.parentValue && item.parentValue !== flatTreeItems.root.value) {
109
- if (!openItems.has(item.parentValue)) {
110
- return false;
106
+ if (item.level === 1) {
107
+ return true;
111
108
  }
112
- const parent = flatTreeItems.get(item.parentValue);
113
- if (!parent) {
114
- return false;
109
+ while(item.parentValue && item.parentValue !== flatTreeItems.root.value){
110
+ if (!openItems.has(item.parentValue)) {
111
+ return false;
112
+ }
113
+ const parent = flatTreeItems.get(item.parentValue);
114
+ if (!parent) {
115
+ return false;
116
+ }
117
+ item = parent;
115
118
  }
116
- item = parent;
117
- }
118
- return true;
119
+ return true;
119
120
  }
120
- //# sourceMappingURL=createFlatTreeItems.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","createFlatTreeItems","flatTreeItemProps","root","createFlatTreeRootItem","itemsPerValue","Map","value","items","index","length","parentValue","flatTreeRootId","treeItemProps","nextItemProps","currentParent","get","process","env","NODE_ENV","console","error","id","_treeItemProps_itemType","itemType","undefined","_currentParent_level","currentLevel","level","currentChildrenSize","childrenSize","ref","createRef","flatTreeItem","getTreeItemProps","set","push","flatTreeItems","size","getByIndex","key","current","VisibleFlatTreeItemGenerator","openItems","visibleIndex","item","isItemVisible","has","parent"],"sources":["../../src/utils/createFlatTreeItems.ts"],"sourcesContent":["import type { ImmutableSet } from './ImmutableSet';\nimport type { FlatTreeItem, FlatTreeItemProps } from '../hooks/useFlatTree';\nimport * as React from 'react';\n\n/**\n * @internal\n */\nexport type FlatTreeItems<Props extends FlatTreeItemProps<unknown>> = {\n size: number;\n root: FlatTreeItem;\n get(key: Props['value']): FlatTreeItem<Props> | undefined;\n set(key: Props['value'], value: FlatTreeItem<Props>): void;\n getByIndex(index: number): FlatTreeItem<Props>;\n};\n\n/**\n * creates a list of flat tree items\n * and provides a map to access each item by id\n */\nexport function createFlatTreeItems<Props extends FlatTreeItemProps<unknown>>(\n flatTreeItemProps: Props[],\n): FlatTreeItems<Props> {\n const root = createFlatTreeRootItem();\n const itemsPerValue = new Map<unknown, FlatTreeItem<FlatTreeItemProps<unknown>>>([[root.value, root]]);\n const items: FlatTreeItem<FlatTreeItemProps<unknown>>[] = [];\n\n for (let index = 0; index < flatTreeItemProps.length; index++) {\n const { parentValue = flatTreeRootId, ...treeItemProps } = flatTreeItemProps[index];\n\n const nextItemProps: Props | undefined = flatTreeItemProps[index + 1];\n const currentParent = itemsPerValue.get(parentValue);\n if (!currentParent) {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.error(\n `useFlatTree: item ${flatTreeItemProps[index].id} is wrongly positioned, did you properly ordered provided item props? make sure provided items are organized`,\n );\n }\n break;\n }\n const itemType =\n treeItemProps.itemType ??\n (treeItemProps.value === undefined || nextItemProps?.parentValue !== treeItemProps.value ? 'leaf' : 'branch');\n const currentLevel = (currentParent.level ?? 0) + 1;\n const currentChildrenSize = ++currentParent.childrenSize;\n const ref = React.createRef<HTMLDivElement>();\n\n const flatTreeItem: FlatTreeItem<FlatTreeItemProps<unknown>> = {\n value: treeItemProps.value,\n getTreeItemProps: () => ({\n ...treeItemProps,\n 'aria-level': currentLevel,\n 'aria-posinset': currentChildrenSize,\n 'aria-setsize': currentParent.childrenSize,\n itemType,\n // a reference to every parent element is necessary to ensure navigation\n ref: flatTreeItem.childrenSize > 0 ? ref : undefined,\n }),\n ref,\n level: currentLevel,\n parentValue,\n childrenSize: 0,\n index: -1,\n };\n itemsPerValue.set(flatTreeItem.value, flatTreeItem);\n items.push(flatTreeItem);\n }\n\n const flatTreeItems: FlatTreeItems<FlatTreeItemProps<unknown>> = {\n root,\n size: items.length,\n getByIndex: index => items[index],\n get: key => itemsPerValue.get(key),\n set: (key, value) => itemsPerValue.set(key, value),\n };\n\n return flatTreeItems as FlatTreeItems<Props>;\n}\n\nexport const flatTreeRootId = '__fuiFlatTreeRoot';\n\nfunction createFlatTreeRootItem(): FlatTreeItem {\n return {\n ref: { current: null },\n value: flatTreeRootId,\n parentValue: undefined,\n getTreeItemProps: () => {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error('useFlatTree: internal error, trying to access treeitem props from invalid root element');\n }\n return { value: flatTreeRootId, 'aria-setsize': -1, 'aria-level': -1, 'aria-posinset': -1, itemType: 'branch' };\n },\n childrenSize: 0,\n get index() {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error('useFlatTree: internal error, trying to access treeitem props from invalid root element');\n }\n return -1;\n },\n level: 0,\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function* VisibleFlatTreeItemGenerator<Props extends FlatTreeItemProps<unknown>>(\n openItems: ImmutableSet<unknown>,\n flatTreeItems: FlatTreeItems<Props>,\n) {\n for (let index = 0, visibleIndex = 0; index < flatTreeItems.size; index++) {\n const item = flatTreeItems.getByIndex(index) as FlatTreeItem<Props>;\n if (isItemVisible(item, openItems, flatTreeItems)) {\n item.index = visibleIndex++;\n yield item;\n } else {\n // Jump the amount of children the current item has, since those items will also be hidden\n index += item.childrenSize;\n }\n }\n}\n\nfunction isItemVisible(\n item: FlatTreeItem<FlatTreeItemProps<unknown>>,\n openItems: ImmutableSet<unknown>,\n flatTreeItems: FlatTreeItems<FlatTreeItemProps<unknown>>,\n) {\n if (item.level === 1) {\n return true;\n }\n while (item.parentValue && item.parentValue !== flatTreeItems.root.value) {\n if (!openItems.has(item.parentValue)) {\n return false;\n }\n const parent = flatTreeItems.get(item.parentValue);\n if (!parent) {\n return false;\n }\n item = parent;\n }\n return true;\n}\n"],"mappings":"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"}
1
+ {"version":3,"sources":["createFlatTreeItems.ts"],"sourcesContent":["import type { ImmutableSet } from './ImmutableSet';\nimport type { FlatTreeItem, FlatTreeItemProps } from '../hooks/useFlatTree';\nimport * as React from 'react';\n\n/**\n * @internal\n */\nexport type FlatTreeItems<Props extends FlatTreeItemProps<unknown>> = {\n size: number;\n root: FlatTreeItem;\n get(key: Props['value']): FlatTreeItem<Props> | undefined;\n set(key: Props['value'], value: FlatTreeItem<Props>): void;\n getByIndex(index: number): FlatTreeItem<Props>;\n};\n\n/**\n * creates a list of flat tree items\n * and provides a map to access each item by id\n */\nexport function createFlatTreeItems<Props extends FlatTreeItemProps<unknown>>(\n flatTreeItemProps: Props[],\n): FlatTreeItems<Props> {\n const root = createFlatTreeRootItem();\n const itemsPerValue = new Map<unknown, FlatTreeItem<FlatTreeItemProps<unknown>>>([[root.value, root]]);\n const items: FlatTreeItem<FlatTreeItemProps<unknown>>[] = [];\n\n for (let index = 0; index < flatTreeItemProps.length; index++) {\n const { parentValue = flatTreeRootId, ...treeItemProps } = flatTreeItemProps[index];\n\n const nextItemProps: Props | undefined = flatTreeItemProps[index + 1];\n const currentParent = itemsPerValue.get(parentValue);\n if (!currentParent) {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.error(\n `useFlatTree: item ${flatTreeItemProps[index].id} is wrongly positioned, did you properly ordered provided item props? make sure provided items are organized`,\n );\n }\n break;\n }\n const itemType =\n treeItemProps.itemType ??\n (treeItemProps.value === undefined || nextItemProps?.parentValue !== treeItemProps.value ? 'leaf' : 'branch');\n const currentLevel = (currentParent.level ?? 0) + 1;\n const currentChildrenSize = ++currentParent.childrenSize;\n const ref = React.createRef<HTMLDivElement>();\n\n const flatTreeItem: FlatTreeItem<FlatTreeItemProps<unknown>> = {\n value: treeItemProps.value,\n getTreeItemProps: () => ({\n ...treeItemProps,\n 'aria-level': currentLevel,\n 'aria-posinset': currentChildrenSize,\n 'aria-setsize': currentParent.childrenSize,\n itemType,\n // a reference to every parent element is necessary to ensure navigation\n ref: flatTreeItem.childrenSize > 0 ? ref : undefined,\n }),\n ref,\n level: currentLevel,\n parentValue,\n childrenSize: 0,\n index: -1,\n };\n itemsPerValue.set(flatTreeItem.value, flatTreeItem);\n items.push(flatTreeItem);\n }\n\n const flatTreeItems: FlatTreeItems<FlatTreeItemProps<unknown>> = {\n root,\n size: items.length,\n getByIndex: index => items[index],\n get: key => itemsPerValue.get(key),\n set: (key, value) => itemsPerValue.set(key, value),\n };\n\n return flatTreeItems as FlatTreeItems<Props>;\n}\n\nexport const flatTreeRootId = '__fuiFlatTreeRoot';\n\nfunction createFlatTreeRootItem(): FlatTreeItem {\n return {\n ref: { current: null },\n value: flatTreeRootId,\n parentValue: undefined,\n getTreeItemProps: () => {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error('useFlatTree: internal error, trying to access treeitem props from invalid root element');\n }\n return { value: flatTreeRootId, 'aria-setsize': -1, 'aria-level': -1, 'aria-posinset': -1, itemType: 'branch' };\n },\n childrenSize: 0,\n get index() {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error('useFlatTree: internal error, trying to access treeitem props from invalid root element');\n }\n return -1;\n },\n level: 0,\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function* VisibleFlatTreeItemGenerator<Props extends FlatTreeItemProps<unknown>>(\n openItems: ImmutableSet<unknown>,\n flatTreeItems: FlatTreeItems<Props>,\n) {\n for (let index = 0, visibleIndex = 0; index < flatTreeItems.size; index++) {\n const item = flatTreeItems.getByIndex(index) as FlatTreeItem<Props>;\n if (isItemVisible(item, openItems, flatTreeItems)) {\n item.index = visibleIndex++;\n yield item;\n } else {\n // Jump the amount of children the current item has, since those items will also be hidden\n index += item.childrenSize;\n }\n }\n}\n\nfunction isItemVisible(\n item: FlatTreeItem<FlatTreeItemProps<unknown>>,\n openItems: ImmutableSet<unknown>,\n flatTreeItems: FlatTreeItems<FlatTreeItemProps<unknown>>,\n) {\n if (item.level === 1) {\n return true;\n }\n while (item.parentValue && item.parentValue !== flatTreeItems.root.value) {\n if (!openItems.has(item.parentValue)) {\n return false;\n }\n const parent = flatTreeItems.get(item.parentValue);\n if (!parent) {\n return false;\n }\n item = parent;\n }\n return true;\n}\n"],"names":["React","createFlatTreeItems","flatTreeItemProps","root","createFlatTreeRootItem","itemsPerValue","Map","value","items","index","length","parentValue","flatTreeRootId","treeItemProps","nextItemProps","currentParent","get","process","env","NODE_ENV","console","error","id","itemType","undefined","currentLevel","level","currentChildrenSize","childrenSize","ref","createRef","flatTreeItem","getTreeItemProps","set","push","flatTreeItems","size","getByIndex","key","current","VisibleFlatTreeItemGenerator","openItems","visibleIndex","item","isItemVisible","has","parent"],"mappings":"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"}
@@ -1,26 +1,23 @@
1
1
  let count = 1;
2
2
  function flattenTreeRecursive(items, parent, level = 1) {
3
- return items.reduce((acc, {
4
- subtree,
5
- ...item
6
- }, index) => {
7
- var _item_id;
8
- const id = (_item_id = item.id) !== null && _item_id !== void 0 ? _item_id : `fui-FlatTreeItem-${count++}`;
9
- var _item_value;
10
- const flatTreeItem = {
11
- 'aria-level': level,
12
- 'aria-posinset': index + 1,
13
- 'aria-setsize': items.length,
14
- parentValue: parent === null || parent === void 0 ? void 0 : parent.value,
15
- value: (_item_value = item.value) !== null && _item_value !== void 0 ? _item_value : id,
16
- ...item
17
- };
18
- acc.push(flatTreeItem);
19
- if (subtree !== undefined) {
20
- acc.push(...flattenTreeRecursive(subtree, flatTreeItem, level + 1));
21
- }
22
- return acc;
23
- }, []);
3
+ return items.reduce((acc, { subtree , ...item }, index)=>{
4
+ var _item_id;
5
+ const id = (_item_id = item.id) !== null && _item_id !== void 0 ? _item_id : `fui-FlatTreeItem-${count++}`;
6
+ var _item_value;
7
+ const flatTreeItem = {
8
+ 'aria-level': level,
9
+ 'aria-posinset': index + 1,
10
+ 'aria-setsize': items.length,
11
+ parentValue: parent === null || parent === void 0 ? void 0 : parent.value,
12
+ value: (_item_value = item.value) !== null && _item_value !== void 0 ? _item_value : id,
13
+ ...item
14
+ };
15
+ acc.push(flatTreeItem);
16
+ if (subtree !== undefined) {
17
+ acc.push(...flattenTreeRecursive(subtree, flatTreeItem, level + 1));
18
+ }
19
+ return acc;
20
+ }, []);
24
21
  }
25
22
  /**
26
23
  * Converts a nested structure to a flat one which can be consumed by `useFlatTreeItems`
@@ -62,5 +59,4 @@ function flattenTreeRecursive(items, parent, level = 1) {
62
59
  * ]);
63
60
  * ```
64
61
  */ // eslint-disable-next-line @typescript-eslint/naming-convention
65
- export const flattenTree_unstable = items => flattenTreeRecursive(items);
66
- //# sourceMappingURL=flattenTree.js.map
62
+ export const flattenTree_unstable = (items)=>flattenTreeRecursive(items);
@@ -1 +1 @@
1
- {"version":3,"names":["count","flattenTreeRecursive","items","parent","level","reduce","acc","subtree","item","index","_item_id","id","_item_value","flatTreeItem","length","parentValue","value","push","undefined","flattenTree_unstable"],"sources":["../../src/utils/flattenTree.ts"],"sourcesContent":["import { FlatTreeItemProps } from '../hooks/useFlatTree';\nimport { TreeItemProps } from '../TreeItem';\n\nexport type NestedTreeItem<Props extends TreeItemProps<unknown>> = Omit<Props, 'subtree' | 'itemType'> & {\n subtree?: NestedTreeItem<Props>[];\n};\n\nexport type FlattenedTreeItem<Props extends TreeItemProps<unknown>> = FlatTreeItemProps<NonNullable<Props['value']>> &\n Props;\n\nlet count = 1;\nfunction flattenTreeRecursive<Props extends TreeItemProps<unknown>>(\n items: NestedTreeItem<Props>[],\n parent?: FlatTreeItemProps<Props['value']> & Props,\n level = 1,\n): FlattenedTreeItem<Props>[] {\n return items.reduce<FlattenedTreeItem<Props>[]>((acc, { subtree, ...item }, index) => {\n const id = item.id ?? `fui-FlatTreeItem-${count++}`;\n const flatTreeItem = {\n 'aria-level': level,\n 'aria-posinset': index + 1,\n 'aria-setsize': items.length,\n parentValue: parent?.value,\n value: item.value ?? (id as unknown as Props['value']),\n ...item,\n } as FlattenedTreeItem<Props>;\n acc.push(flatTreeItem);\n if (subtree !== undefined) {\n acc.push(...flattenTreeRecursive<Props>(subtree, flatTreeItem, level + 1));\n }\n return acc;\n }, []);\n}\n\n/**\n * Converts a nested structure to a flat one which can be consumed by `useFlatTreeItems`\n * @example\n * ```tsx\n * const defaultItems = flattenTree_unstable([\n * {\n * children: <TreeItemLayout>level 1, item 1</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 2, item 1</TreeItemLayout>,\n * },\n * {\n * children: <TreeItemLayout>level 2, item 2</TreeItemLayout>,\n * },\n * {\n * children: <TreeItemLayout>level 2, item 3</TreeItemLayout>,\n * },\n * ],\n * },\n * {\n * children: <TreeItemLayout>level 1, item 2</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 2, item 1</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 3, item 1</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 4, item 1</TreeItemLayout>,\n * },\n * ],\n * },\n * ],\n * },\n * ],\n * },\n * ]);\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const flattenTree_unstable = <Props extends TreeItemProps<unknown>>(\n items: NestedTreeItem<Props>[],\n): FlattenedTreeItem<Props>[] => flattenTreeRecursive(items);\n"],"mappings":"AAUA,IAAIA,KAAA,GAAQ;AACZ,SAASC,qBACPC,KAA8B,EAC9BC,MAAkD,EAClDC,KAAA,GAAQ,CAAC,EACmB;EAC5B,OAAOF,KAAA,CAAMG,MAAM,CAA6B,CAACC,GAAA,EAAK;IAAEC,OAAA;IAAS,GAAGC;EAAA,CAAM,EAAEC,KAAA,KAAU;QACzEC,QAAA;IAAX,MAAMC,EAAA,GAAK,CAAAD,QAAA,GAAAF,IAAA,CAAKG,EAAE,cAAPD,QAAA,cAAAA,QAAA,GAAY,oBAAmBV,KAAA,EAAQ,EAAC;QAM1CY,WAAA;IALT,MAAMC,YAAA,GAAe;MACnB,cAAcT,KAAA;MACd,iBAAiBK,KAAA,GAAQ;MACzB,gBAAgBP,KAAA,CAAMY,MAAM;MAC5BC,WAAA,EAAaZ,MAAA,aAAAA,MAAA,uBAAAA,MAAA,CAAQa,KAAK;MAC1BA,KAAA,EAAO,CAAAJ,WAAA,GAAAJ,IAAA,CAAKQ,KAAK,cAAVJ,WAAA,cAAAA,WAAA,GAAeD,EAAgC;MACtD,GAAGH;IACL;IACAF,GAAA,CAAIW,IAAI,CAACJ,YAAA;IACT,IAAIN,OAAA,KAAYW,SAAA,EAAW;MACzBZ,GAAA,CAAIW,IAAI,IAAIhB,oBAAA,CAA4BM,OAAA,EAASM,YAAA,EAAcT,KAAA,GAAQ;IACzE;IACA,OAAOE,GAAA;EACT,GAAG,EAAE;AACP;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAA,CAwCA;AACA,OAAO,MAAMa,oBAAA,GACXjB,KAAA,IAC+BD,oBAAA,CAAqBC,KAAA"}
1
+ {"version":3,"sources":["flattenTree.ts"],"sourcesContent":["import { FlatTreeItemProps } from '../hooks/useFlatTree';\nimport { TreeItemProps } from '../TreeItem';\n\nexport type NestedTreeItem<Props extends TreeItemProps<unknown>> = Omit<Props, 'subtree' | 'itemType'> & {\n subtree?: NestedTreeItem<Props>[];\n};\n\nexport type FlattenedTreeItem<Props extends TreeItemProps<unknown>> = FlatTreeItemProps<NonNullable<Props['value']>> &\n Props;\n\nlet count = 1;\nfunction flattenTreeRecursive<Props extends TreeItemProps<unknown>>(\n items: NestedTreeItem<Props>[],\n parent?: FlatTreeItemProps<Props['value']> & Props,\n level = 1,\n): FlattenedTreeItem<Props>[] {\n return items.reduce<FlattenedTreeItem<Props>[]>((acc, { subtree, ...item }, index) => {\n const id = item.id ?? `fui-FlatTreeItem-${count++}`;\n const flatTreeItem = {\n 'aria-level': level,\n 'aria-posinset': index + 1,\n 'aria-setsize': items.length,\n parentValue: parent?.value,\n value: item.value ?? (id as unknown as Props['value']),\n ...item,\n } as FlattenedTreeItem<Props>;\n acc.push(flatTreeItem);\n if (subtree !== undefined) {\n acc.push(...flattenTreeRecursive<Props>(subtree, flatTreeItem, level + 1));\n }\n return acc;\n }, []);\n}\n\n/**\n * Converts a nested structure to a flat one which can be consumed by `useFlatTreeItems`\n * @example\n * ```tsx\n * const defaultItems = flattenTree_unstable([\n * {\n * children: <TreeItemLayout>level 1, item 1</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 2, item 1</TreeItemLayout>,\n * },\n * {\n * children: <TreeItemLayout>level 2, item 2</TreeItemLayout>,\n * },\n * {\n * children: <TreeItemLayout>level 2, item 3</TreeItemLayout>,\n * },\n * ],\n * },\n * {\n * children: <TreeItemLayout>level 1, item 2</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 2, item 1</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 3, item 1</TreeItemLayout>,\n * subtree: [\n * {\n * children: <TreeItemLayout>level 4, item 1</TreeItemLayout>,\n * },\n * ],\n * },\n * ],\n * },\n * ],\n * },\n * ]);\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const flattenTree_unstable = <Props extends TreeItemProps<unknown>>(\n items: NestedTreeItem<Props>[],\n): FlattenedTreeItem<Props>[] => flattenTreeRecursive(items);\n"],"names":["count","flattenTreeRecursive","items","parent","level","reduce","acc","subtree","item","index","id","flatTreeItem","length","parentValue","value","push","undefined","flattenTree_unstable"],"mappings":"AAUA,IAAIA,QAAQ;AACZ,SAASC,qBACPC,KAA8B,EAC9BC,MAAkD,EAClDC,QAAQ,CAAC,EACmB;IAC5B,OAAOF,MAAMG,MAAM,CAA6B,CAACC,KAAK,EAAEC,QAAO,EAAE,GAAGC,MAAM,EAAEC,QAAU;YACzED;QAAX,MAAME,KAAKF,CAAAA,WAAAA,KAAKE,EAAE,cAAPF,sBAAAA,WAAW,CAAC,iBAAiB,EAAER,QAAQ,CAAC;YAM1CQ;QALT,MAAMG,eAAe;YACnB,cAAcP;YACd,iBAAiBK,QAAQ;YACzB,gBAAgBP,MAAMU,MAAM;YAC5BC,aAAaV,mBAAAA,oBAAAA,KAAAA,IAAAA,OAAQW,KAAK;YAC1BA,OAAON,CAAAA,cAAAA,KAAKM,KAAK,cAAVN,yBAAAA,cAAeE,EAAgC;YACtD,GAAGF,IAAI;QACT;QACAF,IAAIS,IAAI,CAACJ;QACT,IAAIJ,YAAYS,WAAW;YACzBV,IAAIS,IAAI,IAAId,qBAA4BM,SAASI,cAAcP,QAAQ;QACzE,CAAC;QACD,OAAOE;IACT,GAAG,EAAE;AACP;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCC,GACD,gEAAgE;AAChE,OAAO,MAAMW,uBAAuB,CAClCf,QAC+BD,qBAAqBC,OAAO"}
@@ -1,14 +1,13 @@
1
1
  export function nextTypeAheadElement(treeWalker, key) {
2
- const keyToLowerCase = key.toLowerCase();
3
- const typeAheadFilter = element => {
4
- var _element_textContent;
5
- return ((_element_textContent = element.textContent) === null || _element_textContent === void 0 ? void 0 : _element_textContent.trim().charAt(0).toLowerCase()) === keyToLowerCase ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
6
- };
7
- let nextElement = treeWalker.nextElement(typeAheadFilter);
8
- if (!nextElement) {
9
- treeWalker.currentElement = treeWalker.root;
10
- nextElement = treeWalker.nextElement(typeAheadFilter);
11
- }
12
- return nextElement;
2
+ const keyToLowerCase = key.toLowerCase();
3
+ const typeAheadFilter = (element)=>{
4
+ var _element_textContent;
5
+ return ((_element_textContent = element.textContent) === null || _element_textContent === void 0 ? void 0 : _element_textContent.trim().charAt(0).toLowerCase()) === keyToLowerCase ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
6
+ };
7
+ let nextElement = treeWalker.nextElement(typeAheadFilter);
8
+ if (!nextElement) {
9
+ treeWalker.currentElement = treeWalker.root;
10
+ nextElement = treeWalker.nextElement(typeAheadFilter);
11
+ }
12
+ return nextElement;
13
13
  }
14
- //# sourceMappingURL=nextTypeAheadElement.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["nextTypeAheadElement","treeWalker","key","keyToLowerCase","toLowerCase","typeAheadFilter","element","_element_textContent","textContent","trim","charAt","NodeFilter","FILTER_ACCEPT","FILTER_SKIP","nextElement","currentElement","root"],"sources":["../../src/utils/nextTypeAheadElement.ts"],"sourcesContent":["import { HTMLElementWalker } from '../hooks/useHTMLElementWalker';\n\nexport function nextTypeAheadElement(treeWalker: HTMLElementWalker, key: string) {\n const keyToLowerCase = key.toLowerCase();\n const typeAheadFilter = (element: HTMLElement) => {\n return element.textContent?.trim().charAt(0).toLowerCase() === keyToLowerCase\n ? NodeFilter.FILTER_ACCEPT\n : NodeFilter.FILTER_SKIP;\n };\n let nextElement = treeWalker.nextElement(typeAheadFilter);\n if (!nextElement) {\n treeWalker.currentElement = treeWalker.root;\n nextElement = treeWalker.nextElement(typeAheadFilter);\n }\n return nextElement;\n}\n"],"mappings":"AAEA,OAAO,SAASA,qBAAqBC,UAA6B,EAAEC,GAAW,EAAE;EAC/E,MAAMC,cAAA,GAAiBD,GAAA,CAAIE,WAAW;EACtC,MAAMC,eAAA,GAAmBC,OAAA,IAAyB;QACzCC,oBAAA;IAAP,OAAO,EAAAA,oBAAA,GAAAD,OAAA,CAAQE,WAAW,cAAnBD,oBAAA,uBAAAA,oBAAA,CAAqBE,IAAA,GAAOC,MAAM,CAAC,GAAGN,WAAW,EAAE,MAAKD,cAAA,GAC3DQ,UAAA,CAAWC,aAAa,GACxBD,UAAA,CAAWE,WAAW;EAC5B;EACA,IAAIC,WAAA,GAAcb,UAAA,CAAWa,WAAW,CAACT,eAAA;EACzC,IAAI,CAACS,WAAA,EAAa;IAChBb,UAAA,CAAWc,cAAc,GAAGd,UAAA,CAAWe,IAAI;IAC3CF,WAAA,GAAcb,UAAA,CAAWa,WAAW,CAACT,eAAA;EACvC;EACA,OAAOS,WAAA;AACT"}
1
+ {"version":3,"sources":["nextTypeAheadElement.ts"],"sourcesContent":["import { HTMLElementWalker } from '../hooks/useHTMLElementWalker';\n\nexport function nextTypeAheadElement(treeWalker: HTMLElementWalker, key: string) {\n const keyToLowerCase = key.toLowerCase();\n const typeAheadFilter = (element: HTMLElement) => {\n return element.textContent?.trim().charAt(0).toLowerCase() === keyToLowerCase\n ? NodeFilter.FILTER_ACCEPT\n : NodeFilter.FILTER_SKIP;\n };\n let nextElement = treeWalker.nextElement(typeAheadFilter);\n if (!nextElement) {\n treeWalker.currentElement = treeWalker.root;\n nextElement = treeWalker.nextElement(typeAheadFilter);\n }\n return nextElement;\n}\n"],"names":["nextTypeAheadElement","treeWalker","key","keyToLowerCase","toLowerCase","typeAheadFilter","element","textContent","trim","charAt","NodeFilter","FILTER_ACCEPT","FILTER_SKIP","nextElement","currentElement","root"],"mappings":"AAEA,OAAO,SAASA,qBAAqBC,UAA6B,EAAEC,GAAW,EAAE;IAC/E,MAAMC,iBAAiBD,IAAIE,WAAW;IACtC,MAAMC,kBAAkB,CAACC,UAAyB;YACzCA;QAAP,OAAOA,CAAAA,CAAAA,uBAAAA,QAAQC,WAAW,cAAnBD,kCAAAA,KAAAA,IAAAA,qBAAqBE,OAAOC,MAAM,CAAC,GAAGL,WAAW,EAAE,AAAD,MAAMD,iBAC3DO,WAAWC,aAAa,GACxBD,WAAWE,WAAW;IAC5B;IACA,IAAIC,cAAcZ,WAAWY,WAAW,CAACR;IACzC,IAAI,CAACQ,aAAa;QAChBZ,WAAWa,cAAc,GAAGb,WAAWc,IAAI;QAC3CF,cAAcZ,WAAWY,WAAW,CAACR;IACvC,CAAC;IACD,OAAOQ;AACT,CAAC"}
@@ -1,7 +1,8 @@
1
1
  export function normalizeOpenItems(openSubtrees, options) {
2
- if (!openSubtrees) {
3
- return (options === null || options === void 0 ? void 0 : options.keepUndefined) ? undefined : [];
4
- }
5
- return Array.isArray(openSubtrees) ? openSubtrees : [openSubtrees];
2
+ if (!openSubtrees) {
3
+ return (options === null || options === void 0 ? void 0 : options.keepUndefined) ? undefined : [];
4
+ }
5
+ return Array.isArray(openSubtrees) ? openSubtrees : [
6
+ openSubtrees
7
+ ];
6
8
  }
7
- //# sourceMappingURL=normalizeOpenItems.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["normalizeOpenItems","openSubtrees","options","keepUndefined","undefined","Array","isArray"],"sources":["../../src/utils/normalizeOpenItems.ts"],"sourcesContent":["export function normalizeOpenItems(\n openSubtrees?: string | string[],\n options?: {\n keepUndefined?: false;\n },\n): string[];\n\nexport function normalizeOpenItems(\n openSubtrees?: string | string[],\n options?: {\n keepUndefined: true;\n },\n): string[] | undefined;\n\nexport function normalizeOpenItems(\n openSubtrees?: string | string[],\n options?: {\n keepUndefined?: boolean;\n },\n): string[] | undefined {\n if (!openSubtrees) {\n return options?.keepUndefined ? undefined : [];\n }\n return Array.isArray(openSubtrees) ? openSubtrees : [openSubtrees];\n}\n"],"mappings":"AAcA,OAAO,SAASA,mBACdC,YAAgC,EAChCC,OAEC,EACqB;EACtB,IAAI,CAACD,YAAA,EAAc;IACjB,OAAO,CAAAC,OAAA,aAAAA,OAAA,uBAAAA,OAAA,CAASC,aAAa,IAAGC,SAAA,GAAY,EAAE;EAChD;EACA,OAAOC,KAAA,CAAMC,OAAO,CAACL,YAAA,IAAgBA,YAAA,GAAe,CAACA,YAAA,CAAa;AACpE"}
1
+ {"version":3,"sources":["normalizeOpenItems.ts"],"sourcesContent":["export function normalizeOpenItems(\n openSubtrees?: string | string[],\n options?: {\n keepUndefined?: false;\n },\n): string[];\n\nexport function normalizeOpenItems(\n openSubtrees?: string | string[],\n options?: {\n keepUndefined: true;\n },\n): string[] | undefined;\n\nexport function normalizeOpenItems(\n openSubtrees?: string | string[],\n options?: {\n keepUndefined?: boolean;\n },\n): string[] | undefined {\n if (!openSubtrees) {\n return options?.keepUndefined ? undefined : [];\n }\n return Array.isArray(openSubtrees) ? openSubtrees : [openSubtrees];\n}\n"],"names":["normalizeOpenItems","openSubtrees","options","keepUndefined","undefined","Array","isArray"],"mappings":"AAcA,OAAO,SAASA,mBACdC,YAAgC,EAChCC,OAEC,EACqB;IACtB,IAAI,CAACD,cAAc;QACjB,OAAOC,CAAAA,oBAAAA,qBAAAA,KAAAA,IAAAA,QAASC,aAAa,AAAD,IAAIC,YAAY,EAAE;IAChD,CAAC;IACD,OAAOC,MAAMC,OAAO,CAACL,gBAAgBA,eAAe;QAACA;KAAa;AACpE,CAAC"}
@@ -1,19 +1,18 @@
1
1
  import { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, End, Home, Enter } from '@fluentui/keyboard-keys';
2
2
  export const treeItemLevelToken = '--fluent-TreeItem--level';
3
3
  export const treeAvatarSize = {
4
- medium: 32,
5
- small: 24
4
+ medium: 32,
5
+ small: 24
6
6
  };
7
7
  export const treeDataTypes = {
8
- ArrowLeft,
9
- ArrowRight,
10
- Enter,
11
- Click: 'Click',
12
- ExpandIconClick: 'ExpandIconClick',
13
- End,
14
- Home,
15
- ArrowUp,
16
- ArrowDown,
17
- TypeAhead: 'TypeAhead'
8
+ ArrowLeft,
9
+ ArrowRight,
10
+ Enter,
11
+ Click: 'Click',
12
+ ExpandIconClick: 'ExpandIconClick',
13
+ End,
14
+ Home,
15
+ ArrowUp,
16
+ ArrowDown,
17
+ TypeAhead: 'TypeAhead'
18
18
  };
19
- //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ArrowDown","ArrowLeft","ArrowRight","ArrowUp","End","Home","Enter","treeItemLevelToken","treeAvatarSize","medium","small","treeDataTypes","Click","ExpandIconClick","TypeAhead"],"sources":["../../src/utils/tokens.ts"],"sourcesContent":["import { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, End, Home, Enter } from '@fluentui/keyboard-keys';\nimport { TreeNavigationData_unstable, TreeOpenChangeData } from '../Tree';\n\nexport const treeItemLevelToken = '--fluent-TreeItem--level' as const;\n\nexport const treeAvatarSize = {\n medium: 32,\n small: 24,\n} as const;\n\nexport const treeDataTypes: {\n readonly [K in TreeOpenChangeData['type'] | TreeNavigationData_unstable['type']]: K;\n} = {\n ArrowLeft,\n ArrowRight,\n Enter,\n Click: 'Click',\n ExpandIconClick: 'ExpandIconClick',\n End,\n Home,\n ArrowUp,\n ArrowDown,\n TypeAhead: 'TypeAhead',\n};\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,SAAS,EAAEC,UAAU,EAAEC,OAAO,EAAEC,GAAG,EAAEC,IAAI,EAAEC,KAAK,QAAQ;AAG5E,OAAO,MAAMC,kBAAA,GAAqB;AAElC,OAAO,MAAMC,cAAA,GAAiB;EAC5BC,MAAA,EAAQ;EACRC,KAAA,EAAO;AACT;AAEA,OAAO,MAAMC,aAAA,GAET;EACFV,SAAA;EACAC,UAAA;EACAI,KAAA;EACAM,KAAA,EAAO;EACPC,eAAA,EAAiB;EACjBT,GAAA;EACAC,IAAA;EACAF,OAAA;EACAH,SAAA;EACAc,SAAA,EAAW;AACb"}
1
+ {"version":3,"sources":["tokens.ts"],"sourcesContent":["import { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, End, Home, Enter } from '@fluentui/keyboard-keys';\nimport { TreeNavigationData_unstable, TreeOpenChangeData } from '../Tree';\n\nexport const treeItemLevelToken = '--fluent-TreeItem--level' as const;\n\nexport const treeAvatarSize = {\n medium: 32,\n small: 24,\n} as const;\n\nexport const treeDataTypes: {\n readonly [K in TreeOpenChangeData['type'] | TreeNavigationData_unstable['type']]: K;\n} = {\n ArrowLeft,\n ArrowRight,\n Enter,\n Click: 'Click',\n ExpandIconClick: 'ExpandIconClick',\n End,\n Home,\n ArrowUp,\n ArrowDown,\n TypeAhead: 'TypeAhead',\n};\n"],"names":["ArrowDown","ArrowLeft","ArrowRight","ArrowUp","End","Home","Enter","treeItemLevelToken","treeAvatarSize","medium","small","treeDataTypes","Click","ExpandIconClick","TypeAhead"],"mappings":"AAAA,SAASA,SAAS,EAAEC,SAAS,EAAEC,UAAU,EAAEC,OAAO,EAAEC,GAAG,EAAEC,IAAI,EAAEC,KAAK,QAAQ,0BAA0B;AAGtG,OAAO,MAAMC,qBAAqB,2BAAoC;AAEtE,OAAO,MAAMC,iBAAiB;IAC5BC,QAAQ;IACRC,OAAO;AACT,EAAW;AAEX,OAAO,MAAMC,gBAET;IACFV;IACAC;IACAI;IACAM,OAAO;IACPC,iBAAiB;IACjBT;IACAC;IACAF;IACAH;IACAc,WAAW;AACb,EAAE"}
@@ -1,4 +1,3 @@
1
- export const treeItemFilter = element => {
2
- return element.getAttribute('role') === 'treeitem' ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
1
+ export const treeItemFilter = (element)=>{
2
+ return element.getAttribute('role') === 'treeitem' ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
3
3
  };
4
- //# sourceMappingURL=treeItemFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["treeItemFilter","element","getAttribute","NodeFilter","FILTER_ACCEPT","FILTER_SKIP"],"sources":["../../src/utils/treeItemFilter.ts"],"sourcesContent":["export const treeItemFilter = (element: HTMLElement) => {\n return element.getAttribute('role') === 'treeitem' ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n};\n"],"mappings":"AAAA,OAAO,MAAMA,cAAA,GAAkBC,OAAA,IAAyB;EACtD,OAAOA,OAAA,CAAQC,YAAY,CAAC,YAAY,aAAaC,UAAA,CAAWC,aAAa,GAAGD,UAAA,CAAWE,WAAW;AACxG"}
1
+ {"version":3,"sources":["treeItemFilter.ts"],"sourcesContent":["export const treeItemFilter = (element: HTMLElement) => {\n return element.getAttribute('role') === 'treeitem' ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n};\n"],"names":["treeItemFilter","element","getAttribute","NodeFilter","FILTER_ACCEPT","FILTER_SKIP"],"mappings":"AAAA,OAAO,MAAMA,iBAAiB,CAACC,UAAyB;IACtD,OAAOA,QAAQC,YAAY,CAAC,YAAY,aAAaC,WAAWC,aAAa,GAAGD,WAAWE,WAAW;AACxG,EAAE"}
@@ -4,6 +4,3 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
6
  _exportStar(require("./components/Tree/index"), exports);
7
- //# sourceMappingURL=Tree.js.map
8
-
9
- //# sourceMappingURL=Tree.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../lib/Tree.js"],"sourcesContent":["export * from './components/Tree/index';\n//# sourceMappingURL=Tree.js.map"],"names":[],"mappings":";;;;;oBAAc;CACd,gCAAgC"}
1
+ {"version":3,"sources":["Tree.js"],"sourcesContent":["export * from './components/Tree/index';\n"],"names":[],"mappings":";;;;;oBAAc"}
@@ -4,6 +4,3 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
6
  _exportStar(require("./components/TreeItem/index"), exports);
7
- //# sourceMappingURL=TreeItem.js.map
8
-
9
- //# sourceMappingURL=TreeItem.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../lib/TreeItem.js"],"sourcesContent":["export * from './components/TreeItem/index';\n//# sourceMappingURL=TreeItem.js.map"],"names":[],"mappings":";;;;;oBAAc;CACd,oCAAoC"}
1
+ {"version":3,"sources":["TreeItem.js"],"sourcesContent":["export * from './components/TreeItem/index';\n"],"names":[],"mappings":";;;;;oBAAc"}
@@ -4,6 +4,3 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
6
  _exportStar(require("./components/TreeItemAside/index"), exports);
7
- //# sourceMappingURL=TreeItemAside.js.map
8
-
9
- //# sourceMappingURL=TreeItemAside.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../lib/TreeItemAside.js"],"sourcesContent":["export * from './components/TreeItemAside/index';\n//# sourceMappingURL=TreeItemAside.js.map"],"names":[],"mappings":";;;;;oBAAc;CACd,yCAAyC"}
1
+ {"version":3,"sources":["TreeItemAside.js"],"sourcesContent":["export * from './components/TreeItemAside/index';\n"],"names":[],"mappings":";;;;;oBAAc"}
@@ -4,6 +4,3 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
6
  _exportStar(require("./components/TreeItemLayout/index"), exports);
7
- //# sourceMappingURL=TreeItemLayout.js.map
8
-
9
- //# sourceMappingURL=TreeItemLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../lib/TreeItemLayout.js"],"sourcesContent":["export * from './components/TreeItemLayout/index';\n//# sourceMappingURL=TreeItemLayout.js.map"],"names":[],"mappings":";;;;;oBAAc;CACd,0CAA0C"}
1
+ {"version":3,"sources":["TreeItemLayout.js"],"sourcesContent":["export * from './components/TreeItemLayout/index';\n"],"names":[],"mappings":";;;;;oBAAc"}
@@ -4,6 +4,3 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
6
  _exportStar(require("./components/TreeItemPersonaLayout/index"), exports);
7
- //# sourceMappingURL=TreeItemPersonaLayout.js.map
8
-
9
- //# sourceMappingURL=TreeItemPersonaLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../lib/TreeItemPersonaLayout.js"],"sourcesContent":["export * from './components/TreeItemPersonaLayout/index';\n//# sourceMappingURL=TreeItemPersonaLayout.js.map"],"names":[],"mappings":";;;;;oBAAc;CACd,iDAAiD"}
1
+ {"version":3,"sources":["TreeItemPersonaLayout.js"],"sourcesContent":["export * from './components/TreeItemPersonaLayout/index';\n"],"names":[],"mappings":";;;;;oBAAc"}
@@ -18,6 +18,4 @@ const Tree = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
18
18
  const contextValues = (0, _useTreeContextValues.useTreeContextValues_unstable)(state);
19
19
  return (0, _renderTree.renderTree_unstable)(state, contextValues);
20
20
  });
21
- Tree.displayName = 'Tree'; //# sourceMappingURL=Tree.js.map
22
-
23
- //# sourceMappingURL=Tree.js.map
21
+ Tree.displayName = 'Tree';