@fluentui/react-tree 9.0.0-beta.2 → 9.0.0-beta.21

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 (244) hide show
  1. package/CHANGELOG.json +1073 -1
  2. package/CHANGELOG.md +295 -2
  3. package/dist/index.d.ts +153 -91
  4. package/lib/Tree.js +0 -1
  5. package/lib/Tree.js.map +1 -1
  6. package/lib/TreeItem.js +0 -1
  7. package/lib/TreeItem.js.map +1 -1
  8. package/lib/TreeItemLayout.js +0 -1
  9. package/lib/TreeItemLayout.js.map +1 -1
  10. package/lib/TreeItemPersonaLayout.js +0 -1
  11. package/lib/TreeItemPersonaLayout.js.map +1 -1
  12. package/lib/components/Tree/Tree.js +6 -8
  13. package/lib/components/Tree/Tree.js.map +1 -1
  14. package/lib/components/Tree/Tree.types.js +1 -2
  15. package/lib/components/Tree/Tree.types.js.map +1 -1
  16. package/lib/components/Tree/index.js +1 -2
  17. package/lib/components/Tree/index.js.map +1 -1
  18. package/lib/components/Tree/renderTree.js +7 -13
  19. package/lib/components/Tree/renderTree.js.map +1 -1
  20. package/lib/components/Tree/useRootTree.js +145 -0
  21. package/lib/components/Tree/useRootTree.js.map +1 -0
  22. package/lib/components/Tree/useSubtree.js +35 -0
  23. package/lib/components/Tree/useSubtree.js.map +1 -0
  24. package/lib/components/Tree/useTree.js +9 -103
  25. package/lib/components/Tree/useTree.js.map +1 -1
  26. package/lib/components/Tree/useTreeContextValues.js +12 -22
  27. package/lib/components/Tree/useTreeContextValues.js.map +1 -1
  28. package/lib/components/Tree/useTreeStyles.styles.js +30 -0
  29. package/lib/components/Tree/useTreeStyles.styles.js.map +1 -0
  30. package/lib/components/TreeItem/TreeItem.js +16 -9
  31. package/lib/components/TreeItem/TreeItem.js.map +1 -1
  32. package/lib/components/TreeItem/TreeItem.types.js +1 -2
  33. package/lib/components/TreeItem/TreeItem.types.js.map +1 -1
  34. package/lib/components/TreeItem/index.js +1 -2
  35. package/lib/components/TreeItem/index.js.map +1 -1
  36. package/lib/components/TreeItem/renderTreeItem.js +7 -25
  37. package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
  38. package/lib/components/TreeItem/useTreeItem.js +116 -234
  39. package/lib/components/TreeItem/useTreeItem.js.map +1 -1
  40. package/lib/components/TreeItem/useTreeItemContextValues.js +18 -16
  41. package/lib/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  42. package/lib/components/TreeItem/useTreeItemStyles.styles.js +100 -0
  43. package/lib/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
  44. package/lib/components/TreeItemChevron.js +24 -0
  45. package/lib/components/TreeItemChevron.js.map +1 -0
  46. package/lib/components/TreeItemLayout/TreeItemLayout.js +8 -8
  47. package/lib/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  48. package/lib/components/TreeItemLayout/TreeItemLayout.types.js +1 -2
  49. package/lib/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  50. package/lib/components/TreeItemLayout/index.js +1 -2
  51. package/lib/components/TreeItemLayout/index.js.map +1 -1
  52. package/lib/components/TreeItemLayout/renderTreeItemLayout.js +8 -21
  53. package/lib/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  54. package/lib/components/TreeItemLayout/useTreeItemLayout.js +58 -39
  55. package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  56. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +191 -0
  57. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
  58. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +9 -9
  59. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  60. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +1 -2
  61. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  62. package/lib/components/TreeItemPersonaLayout/index.js +1 -2
  63. package/lib/components/TreeItemPersonaLayout/index.js.map +1 -1
  64. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +10 -27
  65. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  66. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +35 -48
  67. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  68. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +9 -10
  69. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  70. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +206 -0
  71. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
  72. package/lib/contexts/index.js +0 -1
  73. package/lib/contexts/index.js.map +1 -1
  74. package/lib/contexts/treeContext.js +9 -14
  75. package/lib/contexts/treeContext.js.map +1 -1
  76. package/lib/contexts/treeItemContext.js +13 -10
  77. package/lib/contexts/treeItemContext.js.map +1 -1
  78. package/lib/hooks/index.js +0 -1
  79. package/lib/hooks/index.js.map +1 -1
  80. package/lib/hooks/useFlatTree.js +81 -35
  81. package/lib/hooks/useFlatTree.js.map +1 -1
  82. package/lib/hooks/useFlatTreeNavigation.js +65 -62
  83. package/lib/hooks/useFlatTreeNavigation.js.map +1 -1
  84. package/lib/hooks/useHTMLElementWalker.js +78 -76
  85. package/lib/hooks/useHTMLElementWalker.js.map +1 -1
  86. package/lib/hooks/useNestedTreeNavigation.js +49 -49
  87. package/lib/hooks/useNestedTreeNavigation.js.map +1 -1
  88. package/lib/hooks/useOpenItemsState.js +21 -15
  89. package/lib/hooks/useOpenItemsState.js.map +1 -1
  90. package/lib/hooks/useRovingTabIndexes.js +46 -45
  91. package/lib/hooks/useRovingTabIndexes.js.map +1 -1
  92. package/lib/index.js +0 -1
  93. package/lib/index.js.map +1 -1
  94. package/lib/utils/ImmutableSet.js +27 -30
  95. package/lib/utils/ImmutableSet.js.map +1 -1
  96. package/lib/utils/assert.js +5 -5
  97. package/lib/utils/assert.js.map +1 -1
  98. package/lib/utils/createFlatTreeItems.js +113 -0
  99. package/lib/utils/createFlatTreeItems.js.map +1 -0
  100. package/lib/utils/flattenTree.js +58 -28
  101. package/lib/utils/flattenTree.js.map +1 -1
  102. package/lib/utils/getTreeItemValueFromElement.js +4 -0
  103. package/lib/utils/getTreeItemValueFromElement.js.map +1 -0
  104. package/lib/utils/nextTypeAheadElement.js +11 -12
  105. package/lib/utils/nextTypeAheadElement.js.map +1 -1
  106. package/lib/utils/normalizeOpenItems.js +6 -5
  107. package/lib/utils/normalizeOpenItems.js.map +1 -1
  108. package/lib/utils/tokens.js +13 -14
  109. package/lib/utils/tokens.js.map +1 -1
  110. package/lib/utils/treeItemFilter.js +2 -3
  111. package/lib/utils/treeItemFilter.js.map +1 -1
  112. package/lib-commonjs/Tree.js +3 -5
  113. package/lib-commonjs/Tree.js.map +1 -1
  114. package/lib-commonjs/TreeItem.js +3 -5
  115. package/lib-commonjs/TreeItem.js.map +1 -1
  116. package/lib-commonjs/TreeItemLayout.js +3 -5
  117. package/lib-commonjs/TreeItemLayout.js.map +1 -1
  118. package/lib-commonjs/TreeItemPersonaLayout.js +3 -5
  119. package/lib-commonjs/TreeItemPersonaLayout.js.map +1 -1
  120. package/lib-commonjs/components/Tree/Tree.js +17 -23
  121. package/lib-commonjs/components/Tree/Tree.js.map +1 -1
  122. package/lib-commonjs/components/Tree/Tree.types.js +3 -3
  123. package/lib-commonjs/components/Tree/Tree.types.js.map +1 -1
  124. package/lib-commonjs/components/Tree/index.js +8 -10
  125. package/lib-commonjs/components/Tree/index.js.map +1 -1
  126. package/lib-commonjs/components/Tree/renderTree.js +14 -19
  127. package/lib-commonjs/components/Tree/renderTree.js.map +1 -1
  128. package/lib-commonjs/components/Tree/useRootTree.js +149 -0
  129. package/lib-commonjs/components/Tree/useRootTree.js.map +1 -0
  130. package/lib-commonjs/components/Tree/useSubtree.js +39 -0
  131. package/lib-commonjs/components/Tree/useSubtree.js.map +1 -0
  132. package/lib-commonjs/components/Tree/useTree.js +16 -116
  133. package/lib-commonjs/components/Tree/useTree.js.map +1 -1
  134. package/lib-commonjs/components/Tree/useTreeContextValues.js +17 -26
  135. package/lib-commonjs/components/Tree/useTreeContextValues.js.map +1 -1
  136. package/lib-commonjs/components/Tree/useTreeStyles.styles.js +53 -0
  137. package/lib-commonjs/components/Tree/useTreeStyles.styles.js.map +1 -0
  138. package/lib-commonjs/components/TreeItem/TreeItem.js +17 -18
  139. package/lib-commonjs/components/TreeItem/TreeItem.js.map +1 -1
  140. package/lib-commonjs/components/TreeItem/TreeItem.types.js +3 -4
  141. package/lib-commonjs/components/TreeItem/TreeItem.types.js.map +1 -1
  142. package/lib-commonjs/components/TreeItem/index.js +7 -9
  143. package/lib-commonjs/components/TreeItem/index.js.map +1 -1
  144. package/lib-commonjs/components/TreeItem/renderTreeItem.js +14 -33
  145. package/lib-commonjs/components/TreeItem/renderTreeItem.js.map +1 -1
  146. package/lib-commonjs/components/TreeItem/useTreeItem.js +126 -251
  147. package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
  148. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js +23 -20
  149. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  150. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js +202 -0
  151. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
  152. package/lib-commonjs/components/TreeItemChevron.js +33 -0
  153. package/lib-commonjs/components/TreeItemChevron.js.map +1 -0
  154. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js +15 -16
  155. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  156. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js +1 -3
  157. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  158. package/lib-commonjs/components/TreeItemLayout/index.js +7 -9
  159. package/lib-commonjs/components/TreeItemLayout/index.js.map +1 -1
  160. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js +14 -28
  161. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  162. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +64 -52
  163. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  164. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +321 -0
  165. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
  166. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +17 -18
  167. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  168. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +1 -3
  169. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  170. package/lib-commonjs/components/TreeItemPersonaLayout/index.js +7 -9
  171. package/lib-commonjs/components/TreeItemPersonaLayout/index.js.map +1 -1
  172. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +17 -35
  173. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  174. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +42 -61
  175. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  176. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +16 -15
  177. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  178. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +375 -0
  179. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
  180. package/lib-commonjs/contexts/index.js +4 -6
  181. package/lib-commonjs/contexts/index.js.map +1 -1
  182. package/lib-commonjs/contexts/treeContext.js +23 -18
  183. package/lib-commonjs/contexts/treeContext.js.map +1 -1
  184. package/lib-commonjs/contexts/treeItemContext.js +27 -13
  185. package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
  186. package/lib-commonjs/hooks/index.js +5 -7
  187. package/lib-commonjs/hooks/index.js.map +1 -1
  188. package/lib-commonjs/hooks/useFlatTree.js +88 -52
  189. package/lib-commonjs/hooks/useFlatTree.js.map +1 -1
  190. package/lib-commonjs/hooks/useFlatTreeNavigation.js +76 -72
  191. package/lib-commonjs/hooks/useFlatTreeNavigation.js.map +1 -1
  192. package/lib-commonjs/hooks/useHTMLElementWalker.js +92 -83
  193. package/lib-commonjs/hooks/useHTMLElementWalker.js.map +1 -1
  194. package/lib-commonjs/hooks/useNestedTreeNavigation.js +59 -58
  195. package/lib-commonjs/hooks/useNestedTreeNavigation.js.map +1 -1
  196. package/lib-commonjs/hooks/useOpenItemsState.js +30 -22
  197. package/lib-commonjs/hooks/useOpenItemsState.js.map +1 -1
  198. package/lib-commonjs/hooks/useRovingTabIndexes.js +54 -53
  199. package/lib-commonjs/hooks/useRovingTabIndexes.js.map +1 -1
  200. package/lib-commonjs/index.js +46 -181
  201. package/lib-commonjs/index.js.map +1 -1
  202. package/lib-commonjs/utils/ImmutableSet.js +37 -38
  203. package/lib-commonjs/utils/ImmutableSet.js.map +1 -1
  204. package/lib-commonjs/utils/assert.js +11 -9
  205. package/lib-commonjs/utils/assert.js.map +1 -1
  206. package/lib-commonjs/utils/createFlatTreeItems.js +127 -0
  207. package/lib-commonjs/utils/createFlatTreeItems.js.map +1 -0
  208. package/lib-commonjs/utils/flattenTree.js +25 -33
  209. package/lib-commonjs/utils/flattenTree.js.map +1 -1
  210. package/lib-commonjs/utils/getTreeItemValueFromElement.js +18 -0
  211. package/lib-commonjs/utils/getTreeItemValueFromElement.js.map +1 -0
  212. package/lib-commonjs/utils/nextTypeAheadElement.js +16 -16
  213. package/lib-commonjs/utils/nextTypeAheadElement.js.map +1 -1
  214. package/lib-commonjs/utils/normalizeOpenItems.js +11 -9
  215. package/lib-commonjs/utils/normalizeOpenItems.js.map +1 -1
  216. package/lib-commonjs/utils/tokens.js +28 -20
  217. package/lib-commonjs/utils/tokens.js.map +1 -1
  218. package/lib-commonjs/utils/treeItemFilter.js +7 -7
  219. package/lib-commonjs/utils/treeItemFilter.js.map +1 -1
  220. package/package.json +23 -17
  221. package/lib/components/Tree/useTreeStyles.js +0 -20
  222. package/lib/components/Tree/useTreeStyles.js.map +0 -1
  223. package/lib/components/TreeItem/useTreeItemStyles.js +0 -203
  224. package/lib/components/TreeItem/useTreeItemStyles.js.map +0 -1
  225. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -98
  226. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
  227. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js +0 -115
  228. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
  229. package/lib/utils/createUnfilteredFlatTree.js +0 -77
  230. package/lib/utils/createUnfilteredFlatTree.js.map +0 -1
  231. package/lib/utils/createVisibleFlatTree.js +0 -80
  232. package/lib/utils/createVisibleFlatTree.js.map +0 -1
  233. package/lib-commonjs/components/Tree/useTreeStyles.js +0 -27
  234. package/lib-commonjs/components/Tree/useTreeStyles.js.map +0 -1
  235. package/lib-commonjs/components/TreeItem/useTreeItemStyles.js +0 -210
  236. package/lib-commonjs/components/TreeItem/useTreeItemStyles.js.map +0 -1
  237. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -105
  238. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
  239. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js +0 -122
  240. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
  241. package/lib-commonjs/utils/createUnfilteredFlatTree.js +0 -84
  242. package/lib-commonjs/utils/createUnfilteredFlatTree.js.map +0 -1
  243. package/lib-commonjs/utils/createVisibleFlatTree.js +0 -87
  244. package/lib-commonjs/utils/createVisibleFlatTree.js.map +0 -1
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ dataTreeItemValueAttrName: ()=>dataTreeItemValueAttrName,
13
+ getTreeItemValueFromElement: ()=>getTreeItemValueFromElement
14
+ });
15
+ const dataTreeItemValueAttrName = 'data-fui-tree-item-value';
16
+ const getTreeItemValueFromElement = (element)=>{
17
+ return element.getAttribute(dataTreeItemValueAttrName);
18
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["getTreeItemValueFromElement.js"],"sourcesContent":["export const dataTreeItemValueAttrName = 'data-fui-tree-item-value';\nexport const getTreeItemValueFromElement = (element)=>{\n return element.getAttribute(dataTreeItemValueAttrName);\n};\n"],"names":["dataTreeItemValueAttrName","getTreeItemValueFromElement","element","getAttribute"],"mappings":";;;;;;;;;;;IAAaA,yBAAyB,MAAzBA;IACAC,2BAA2B,MAA3BA;;AADN,MAAMD,4BAA4B;AAClC,MAAMC,8BAA8B,CAACC,UAAU;IAClD,OAAOA,QAAQC,YAAY,CAACH;AAChC"}
@@ -1,21 +1,21 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "nextTypeAheadElement", {
6
+ enumerable: true,
7
+ get: ()=>nextTypeAheadElement
5
8
  });
6
- exports.nextTypeAheadElement = void 0;
7
9
  function nextTypeAheadElement(treeWalker, key) {
8
- const keyToLowerCase = key.toLowerCase();
9
- const typeAheadFilter = element => {
10
- var _a;
11
- return ((_a = element.textContent) === null || _a === void 0 ? void 0 : _a.trim().charAt(0).toLowerCase()) === keyToLowerCase ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
12
- };
13
- let nextElement = treeWalker.nextElement(typeAheadFilter);
14
- if (!nextElement) {
15
- treeWalker.currentElement = treeWalker.root;
16
- nextElement = treeWalker.nextElement(typeAheadFilter);
17
- }
18
- return nextElement;
10
+ const keyToLowerCase = key.toLowerCase();
11
+ const typeAheadFilter = (element)=>{
12
+ var _element_textContent;
13
+ 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;
14
+ };
15
+ let nextElement = treeWalker.nextElement(typeAheadFilter);
16
+ if (!nextElement) {
17
+ treeWalker.currentElement = treeWalker.root;
18
+ nextElement = treeWalker.nextElement(typeAheadFilter);
19
+ }
20
+ return nextElement;
19
21
  }
20
- exports.nextTypeAheadElement = nextTypeAheadElement;
21
- //# sourceMappingURL=nextTypeAheadElement.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["nextTypeAheadElement","treeWalker","key","keyToLowerCase","toLowerCase","typeAheadFilter","element","_a","textContent","trim","charAt","NodeFilter","FILTER_ACCEPT","FILTER_SKIP","nextElement","currentElement","root","exports"],"sources":["../src/packages/react-components/react-tree/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,SAAgBA,oBAAoBA,CAACC,UAA6B,EAAEC,GAAW;EAC7E,MAAMC,cAAc,GAAGD,GAAG,CAACE,WAAW,EAAE;EACxC,MAAMC,eAAe,GAAIC,OAAoB,IAAI;;IAC/C,OAAO,EAAAC,EAAA,GAAAD,OAAO,CAACE,WAAW,cAAAD,EAAA,uBAAAA,EAAA,CAAEE,IAAI,GAAGC,MAAM,CAAC,CAAC,EAAEN,WAAW,EAAE,MAAKD,cAAc,GACzEQ,UAAU,CAACC,aAAa,GACxBD,UAAU,CAACE,WAAW;EAC5B,CAAC;EACD,IAAIC,WAAW,GAAGb,UAAU,CAACa,WAAW,CAACT,eAAe,CAAC;EACzD,IAAI,CAACS,WAAW,EAAE;IAChBb,UAAU,CAACc,cAAc,GAAGd,UAAU,CAACe,IAAI;IAC3CF,WAAW,GAAGb,UAAU,CAACa,WAAW,CAACT,eAAe,CAAC;;EAEvD,OAAOS,WAAW;AACpB;AAbAG,OAAA,CAAAjB,oBAAA,GAAAA,oBAAA"}
1
+ {"version":3,"sources":["nextTypeAheadElement.js"],"sourcesContent":["export function nextTypeAheadElement(treeWalker, key) {\n const keyToLowerCase = key.toLowerCase();\n const typeAheadFilter = (element)=>{\n var _element_textContent;\n return ((_element_textContent = element.textContent) === null || _element_textContent === void 0 ? void 0 : _element_textContent.trim().charAt(0).toLowerCase()) === keyToLowerCase ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n };\n let nextElement = treeWalker.nextElement(typeAheadFilter);\n if (!nextElement) {\n treeWalker.currentElement = treeWalker.root;\n nextElement = treeWalker.nextElement(typeAheadFilter);\n }\n return nextElement;\n}\n"],"names":["nextTypeAheadElement","treeWalker","key","keyToLowerCase","toLowerCase","typeAheadFilter","element","_element_textContent","textContent","trim","charAt","NodeFilter","FILTER_ACCEPT","FILTER_SKIP","nextElement","currentElement","root"],"mappings":";;;;+BAAgBA;;aAAAA;;AAAT,SAASA,qBAAqBC,UAAU,EAAEC,GAAG,EAAE;IAClD,MAAMC,iBAAiBD,IAAIE,WAAW;IACtC,MAAMC,kBAAkB,CAACC,UAAU;QAC/B,IAAIC;QACJ,OAAO,AAAC,CAAA,AAACA,CAAAA,uBAAuBD,QAAQE,WAAW,AAAD,MAAO,IAAI,IAAID,yBAAyB,KAAK,IAAI,KAAK,IAAIA,qBAAqBE,IAAI,GAAGC,MAAM,CAAC,GAAGN,WAAW,EAAE,AAAD,MAAOD,iBAAiBQ,WAAWC,aAAa,GAAGD,WAAWE,WAAW;IAC3O;IACA,IAAIC,cAAcb,WAAWa,WAAW,CAACT;IACzC,IAAI,CAACS,aAAa;QACdb,WAAWc,cAAc,GAAGd,WAAWe,IAAI;QAC3CF,cAAcb,WAAWa,WAAW,CAACT;IACzC,CAAC;IACD,OAAOS;AACX"}
@@ -1,14 +1,16 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "normalizeOpenItems", {
6
+ enumerable: true,
7
+ get: ()=>normalizeOpenItems
5
8
  });
6
- exports.normalizeOpenItems = void 0;
7
9
  function normalizeOpenItems(openSubtrees, options) {
8
- if (!openSubtrees) {
9
- return (options === null || options === void 0 ? void 0 : options.keepUndefined) ? undefined : [];
10
- }
11
- return Array.isArray(openSubtrees) ? openSubtrees : [openSubtrees];
10
+ if (!openSubtrees) {
11
+ return (options === null || options === void 0 ? void 0 : options.keepUndefined) ? undefined : [];
12
+ }
13
+ return Array.isArray(openSubtrees) ? openSubtrees : [
14
+ openSubtrees
15
+ ];
12
16
  }
13
- exports.normalizeOpenItems = normalizeOpenItems;
14
- //# sourceMappingURL=normalizeOpenItems.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["normalizeOpenItems","openSubtrees","options","keepUndefined","undefined","Array","isArray","exports"],"sources":["../src/packages/react-components/react-tree/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,SAAgBA,kBAAkBA,CAChCC,YAAgC,EAChCC,OAEC;EAED,IAAI,CAACD,YAAY,EAAE;IACjB,OAAO,CAAAC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,aAAa,IAAGC,SAAS,GAAG,EAAE;;EAEhD,OAAOC,KAAK,CAACC,OAAO,CAACL,YAAY,CAAC,GAAGA,YAAY,GAAG,CAACA,YAAY,CAAC;AACpE;AAVAM,OAAA,CAAAP,kBAAA,GAAAA,kBAAA"}
1
+ {"version":3,"sources":["normalizeOpenItems.js"],"sourcesContent":["export function normalizeOpenItems(openSubtrees, options) {\n if (!openSubtrees) {\n return (options === null || options === void 0 ? void 0 : options.keepUndefined) ? undefined : [];\n }\n return Array.isArray(openSubtrees) ? openSubtrees : [\n openSubtrees\n ];\n}\n"],"names":["normalizeOpenItems","openSubtrees","options","keepUndefined","undefined","Array","isArray"],"mappings":";;;;+BAAgBA;;aAAAA;;AAAT,SAASA,mBAAmBC,YAAY,EAAEC,OAAO,EAAE;IACtD,IAAI,CAACD,cAAc;QACf,OAAO,AAACC,CAAAA,YAAY,IAAI,IAAIA,YAAY,KAAK,IAAI,KAAK,IAAIA,QAAQC,aAAa,AAAD,IAAKC,YAAY,EAAE;IACrG,CAAC;IACD,OAAOC,MAAMC,OAAO,CAACL,gBAAgBA,eAAe;QAChDA;KACH;AACL"}
@@ -1,25 +1,33 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports.treeDataTypes = exports.treeAvatarSize = exports.treeItemLevelToken = void 0;
7
- const keyboard_keys_1 = /*#__PURE__*/require("@fluentui/keyboard-keys");
8
- exports.treeItemLevelToken = '--fluent-TreeItem--level';
9
- exports.treeAvatarSize = {
10
- medium: 32,
11
- small: 24
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ treeItemLevelToken: ()=>treeItemLevelToken,
13
+ treeAvatarSize: ()=>treeAvatarSize,
14
+ treeDataTypes: ()=>treeDataTypes
15
+ });
16
+ const _keyboardKeys = require("@fluentui/keyboard-keys");
17
+ const treeItemLevelToken = '--fluent-TreeItem--level';
18
+ const treeAvatarSize = {
19
+ medium: 32,
20
+ small: 24
12
21
  };
13
- exports.treeDataTypes = {
14
- arrowLeft: keyboard_keys_1.ArrowLeft,
15
- arrowRight: keyboard_keys_1.ArrowRight,
16
- enter: 'Enter',
17
- click: 'Click',
18
- expandIconClick: 'ExpandIconClick',
19
- end: keyboard_keys_1.End,
20
- home: keyboard_keys_1.Home,
21
- arrowUp: keyboard_keys_1.ArrowUp,
22
- arrowDown: keyboard_keys_1.ArrowDown,
23
- typeAhead: 'TypeAhead'
22
+ const treeDataTypes = {
23
+ ArrowLeft: _keyboardKeys.ArrowLeft,
24
+ ArrowRight: _keyboardKeys.ArrowRight,
25
+ Enter: _keyboardKeys.Enter,
26
+ Click: 'Click',
27
+ ExpandIconClick: 'ExpandIconClick',
28
+ End: _keyboardKeys.End,
29
+ Home: _keyboardKeys.Home,
30
+ ArrowUp: _keyboardKeys.ArrowUp,
31
+ ArrowDown: _keyboardKeys.ArrowDown,
32
+ TypeAhead: 'TypeAhead'
24
33
  };
25
- //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["keyboard_keys_1","require","exports","treeItemLevelToken","treeAvatarSize","medium","small","treeDataTypes","arrowLeft","ArrowLeft","arrowRight","ArrowRight","enter","click","expandIconClick","end","End","home","Home","arrowUp","ArrowUp","arrowDown","ArrowDown","typeAhead"],"sources":["../src/packages/react-components/react-tree/src/utils/tokens.ts"],"sourcesContent":["import { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, End, Home } 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 Uncapitalize<TreeOpenChangeData['type'] | TreeNavigationData_unstable['type']>]: Capitalize<K>;\n} = {\n arrowLeft: ArrowLeft,\n arrowRight: ArrowRight,\n enter: 'Enter',\n click: 'Click',\n expandIconClick: 'ExpandIconClick',\n end: End,\n home: Home,\n arrowUp: ArrowUp,\n arrowDown: ArrowDown,\n typeAhead: 'TypeAhead',\n};\n"],"mappings":";;;;;;AAAA,MAAAA,eAAA,gBAAAC,OAAA;AAGaC,OAAA,CAAAC,kBAAkB,GAAG,0BAAmC;AAExDD,OAAA,CAAAE,cAAc,GAAG;EAC5BC,MAAM,EAAE,EAAE;EACVC,KAAK,EAAE;CACC;AAEGJ,OAAA,CAAAK,aAAa,GAEtB;EACFC,SAAS,EAAER,eAAA,CAAAS,SAAS;EACpBC,UAAU,EAAEV,eAAA,CAAAW,UAAU;EACtBC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,eAAe,EAAE,iBAAiB;EAClCC,GAAG,EAAEf,eAAA,CAAAgB,GAAG;EACRC,IAAI,EAAEjB,eAAA,CAAAkB,IAAI;EACVC,OAAO,EAAEnB,eAAA,CAAAoB,OAAO;EAChBC,SAAS,EAAErB,eAAA,CAAAsB,SAAS;EACpBC,SAAS,EAAE;CACZ"}
1
+ {"version":3,"sources":["tokens.js"],"sourcesContent":["import { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, End, Home, Enter } from '@fluentui/keyboard-keys';\nexport const treeItemLevelToken = '--fluent-TreeItem--level';\nexport const treeAvatarSize = {\n medium: 32,\n small: 24\n};\nexport const treeDataTypes = {\n ArrowLeft,\n ArrowRight,\n Enter,\n Click: 'Click',\n ExpandIconClick: 'ExpandIconClick',\n End,\n Home,\n ArrowUp,\n ArrowDown,\n TypeAhead: 'TypeAhead'\n};\n"],"names":["treeItemLevelToken","treeAvatarSize","treeDataTypes","medium","small","ArrowLeft","ArrowRight","Enter","Click","ExpandIconClick","End","Home","ArrowUp","ArrowDown","TypeAhead"],"mappings":";;;;;;;;;;;IACaA,kBAAkB,MAAlBA;IACAC,cAAc,MAAdA;IAIAC,aAAa,MAAbA;;8BAN+D;AACrE,MAAMF,qBAAqB;AAC3B,MAAMC,iBAAiB;IAC1BE,QAAQ;IACRC,OAAO;AACX;AACO,MAAMF,gBAAgB;IACzBG,WAAAA,uBAAS;IACTC,YAAAA,wBAAU;IACVC,OAAAA,mBAAK;IACLC,OAAO;IACPC,iBAAiB;IACjBC,KAAAA,iBAAG;IACHC,MAAAA,kBAAI;IACJC,SAAAA,qBAAO;IACPC,WAAAA,uBAAS;IACTC,WAAW;AACf"}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports.treeItemFilter = void 0;
7
- const treeItemFilter = element => {
8
- return element.getAttribute('role') === 'treeitem' ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
5
+ Object.defineProperty(exports, "treeItemFilter", {
6
+ enumerable: true,
7
+ get: ()=>treeItemFilter
8
+ });
9
+ const treeItemFilter = (element)=>{
10
+ return element.getAttribute('role') === 'treeitem' ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
9
11
  };
10
- exports.treeItemFilter = treeItemFilter;
11
- //# sourceMappingURL=treeItemFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["treeItemFilter","element","getAttribute","NodeFilter","FILTER_ACCEPT","FILTER_SKIP","exports"],"sources":["../src/packages/react-components/react-tree/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":";;;;;;AAAO,MAAMA,cAAc,GAAIC,OAAoB,IAAI;EACrD,OAAOA,OAAO,CAACC,YAAY,CAAC,MAAM,CAAC,KAAK,UAAU,GAAGC,UAAU,CAACC,aAAa,GAAGD,UAAU,CAACE,WAAW;AACxG,CAAC;AAFYC,OAAA,CAAAN,cAAc,GAAAA,cAAA"}
1
+ {"version":3,"sources":["treeItemFilter.js"],"sourcesContent":["export const treeItemFilter = (element)=>{\n return element.getAttribute('role') === 'treeitem' ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n};\n"],"names":["treeItemFilter","element","getAttribute","NodeFilter","FILTER_ACCEPT","FILTER_SKIP"],"mappings":";;;;+BAAaA;;aAAAA;;AAAN,MAAMA,iBAAiB,CAACC,UAAU;IACrC,OAAOA,QAAQC,YAAY,CAAC,YAAY,aAAaC,WAAWC,aAAa,GAAGD,WAAWE,WAAW;AAC1G"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui/react-tree",
3
- "version": "9.0.0-beta.2",
3
+ "version": "9.0.0-beta.21",
4
4
  "description": "React components for building web experiences",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -18,33 +18,38 @@
18
18
  "just": "just-scripts",
19
19
  "lint": "just-scripts lint",
20
20
  "test": "jest --passWithNoTests",
21
- "generate-api": "tsc -p ./tsconfig.lib.json --emitDeclarationOnly && just-scripts api-extractor",
21
+ "e2e": "cypress run --component",
22
+ "e2e:local": "cypress open --component",
23
+ "generate-api": "just-scripts generate-api",
22
24
  "type-check": "tsc -b tsconfig.json",
23
25
  "storybook": "start-storybook",
24
- "start": "yarn storybook"
26
+ "start": "yarn storybook",
27
+ "test-ssr": "test-ssr \"./stories/**/*.stories.tsx\""
25
28
  },
26
29
  "devDependencies": {
27
30
  "@fluentui/eslint-plugin": "*",
28
31
  "@fluentui/react-conformance": "*",
29
- "@fluentui/react-conformance-griffel": "9.0.0-beta.19",
32
+ "@fluentui/react-conformance-griffel": "9.0.0-beta.23",
30
33
  "@fluentui/scripts-api-extractor": "*",
31
34
  "@fluentui/scripts-tasks": "*",
35
+ "@fluentui/scripts-cypress": "*",
32
36
  "react-window": "^1.8.6"
33
37
  },
34
38
  "dependencies": {
35
- "@fluentui/react-context-selector": "^9.1.12",
36
- "@fluentui/react-shared-contexts": "^9.3.0",
37
- "@fluentui/react-avatar": "^9.4.1",
38
- "@fluentui/react-aria": "^9.3.12",
39
- "@fluentui/react-tabster": "^9.5.5",
40
- "@fluentui/react-portal": "^9.1.11",
41
- "@fluentui/react-button": "^9.3.1",
42
- "@fluentui/keyboard-keys": "^9.0.1",
43
- "@fluentui/react-theme": "^9.1.5",
44
- "@fluentui/react-utilities": "^9.6.2",
45
- "@fluentui/react-icons": "^2.0.175",
46
- "@griffel/react": "^1.5.2",
47
- "tslib": "^2.1.0"
39
+ "@fluentui/keyboard-keys": "^9.0.3",
40
+ "@fluentui/react-aria": "^9.3.24",
41
+ "@fluentui/react-avatar": "^9.5.8",
42
+ "@fluentui/react-button": "^9.3.19",
43
+ "@fluentui/react-context-selector": "^9.1.24",
44
+ "@fluentui/react-icons": "^2.0.203",
45
+ "@fluentui/react-portal": "^9.2.15",
46
+ "@fluentui/react-shared-contexts": "^9.5.1",
47
+ "@fluentui/react-tabster": "^9.9.0",
48
+ "@fluentui/react-theme": "^9.1.9",
49
+ "@fluentui/react-utilities": "^9.9.4",
50
+ "@fluentui/react-jsx-runtime": "9.0.0-alpha.8",
51
+ "@griffel/react": "^1.5.7",
52
+ "@swc/helpers": "^0.4.14"
48
53
  },
49
54
  "peerDependencies": {
50
55
  "@types/react": ">=16.8.0 <19.0.0",
@@ -62,6 +67,7 @@
62
67
  "exports": {
63
68
  ".": {
64
69
  "types": "./dist/index.d.ts",
70
+ "node": "./lib-commonjs/index.js",
65
71
  "import": "./lib/index.js",
66
72
  "require": "./lib-commonjs/index.js"
67
73
  },
@@ -1,20 +0,0 @@
1
- import { __styles, mergeClasses } from '@griffel/react';
2
- import { tokens } from '@fluentui/react-theme';
3
- export const treeClassNames = {
4
- root: 'fui-Tree'
5
- };
6
- const useStyles = /*#__PURE__*/__styles({
7
- root: {
8
- mc9l5x: "f22iagw",
9
- Beiy3e4: "f1vx9l62",
10
- Belr9w4: "f1j0q4x9"
11
- }
12
- }, {
13
- d: [".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".f1vx9l62{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}", ".f1j0q4x9{row-gap:var(--spacingVerticalXXS);}"]
14
- });
15
- export const useTreeStyles_unstable = state => {
16
- const styles = useStyles();
17
- state.root.className = mergeClasses(treeClassNames.root, styles.root, state.root.className);
18
- return state;
19
- };
20
- //# sourceMappingURL=useTreeStyles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__styles","mergeClasses","tokens","treeClassNames","root","useStyles","mc9l5x","Beiy3e4","Belr9w4","d","useTreeStyles_unstable","state","styles","className"],"sources":["../src/packages/react-components/react-tree/src/components/Tree/useTreeStyles.ts"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport type { TreeSlots, TreeState } from './Tree.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { tokens } from '@fluentui/react-theme';\n\nexport const treeClassNames: SlotClassNames<TreeSlots> = {\n root: 'fui-Tree',\n};\n\nconst useStyles = makeStyles({\n root: {\n display: 'flex',\n flexDirection: 'column',\n rowGap: tokens.spacingVerticalXXS,\n },\n});\n\nexport const useTreeStyles_unstable = (state: TreeState): TreeState => {\n const styles = useStyles();\n state.root.className = mergeClasses(treeClassNames.root, styles.root, state.root.className);\n\n return state;\n};\n"],"mappings":"AAAA,SAAAA,QAAA,EAAqBC,YAAY,QAAQ,gBAAgB;AAGzD,SAASC,MAAM,QAAQ,uBAAuB;AAE9C,OAAO,MAAMC,cAAc,GAA8B;EACvDC,IAAI,EAAE;CACP;AAED,MAAMC,SAAS,gBAAGL,QAAA;EAAAI,IAAA;IAAAE,MAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;AAAA;EAAAC,CAAA;AAAA,EAMhB;AAEF,OAAO,MAAMC,sBAAsB,GAAIC,KAAgB,IAAe;EACpE,MAAMC,MAAM,GAAGP,SAAS,EAAE;EAC1BM,KAAK,CAACP,IAAI,CAACS,SAAS,GAAGZ,YAAY,CAACE,cAAc,CAACC,IAAI,EAAEQ,MAAM,CAACR,IAAI,EAAEO,KAAK,CAACP,IAAI,CAACS,SAAS,CAAC;EAE3F,OAAOF,KAAK;AACd,CAAC"}
@@ -1,203 +0,0 @@
1
- import { __styles, mergeClasses, shorthands } from '@griffel/react';
2
- import { tokens } from '@fluentui/react-theme';
3
- import { createFocusOutlineStyle } from '@fluentui/react-tabster';
4
- import { useTreeContext_unstable } from '../../contexts/index';
5
- import { treeItemLevelToken } from '../../utils/tokens';
6
- export const treeItemClassNames = {
7
- root: 'fui-TreeItem',
8
- content: 'fui-TreeItem__content',
9
- subtree: 'fui-TreeItem__subtree',
10
- expandIcon: 'fui-TreeItem__expandIcon',
11
- actions: 'fui-TreeItem__actions'
12
- };
13
- const useRootStyles = /*#__PURE__*/__styles({
14
- level1: {
15
- iytv0q: "f10bgyvd"
16
- },
17
- level2: {
18
- iytv0q: "f1h0rod3"
19
- },
20
- level3: {
21
- iytv0q: "fgoqafk"
22
- },
23
- level4: {
24
- iytv0q: "f75dvuh"
25
- },
26
- level5: {
27
- iytv0q: "fqk7yw6"
28
- },
29
- level6: {
30
- iytv0q: "f1r3z17b"
31
- },
32
- level7: {
33
- iytv0q: "f1hrpd1h"
34
- },
35
- level8: {
36
- iytv0q: "f1iy65d0"
37
- },
38
- level9: {
39
- iytv0q: "ftg42e5"
40
- },
41
- level10: {
42
- iytv0q: "fyat3t"
43
- }
44
- }, {
45
- d: [".f10bgyvd{--fluent-TreeItem--level:1;}", ".f1h0rod3{--fluent-TreeItem--level:2;}", ".fgoqafk{--fluent-TreeItem--level:3;}", ".f75dvuh{--fluent-TreeItem--level:4;}", ".fqk7yw6{--fluent-TreeItem--level:5;}", ".f1r3z17b{--fluent-TreeItem--level:6;}", ".f1hrpd1h{--fluent-TreeItem--level:7;}", ".f1iy65d0{--fluent-TreeItem--level:8;}", ".ftg42e5{--fluent-TreeItem--level:9;}", ".fyat3t{--fluent-TreeItem--level:10;}"]
46
- });
47
- /**
48
- * Styles for the content slot
49
- */
50
- const useContentStyles = /*#__PURE__*/__styles({
51
- base: {
52
- qhf8xq: "f10pi13n",
53
- Bceei9c: "f1k6fduh",
54
- mc9l5x: "f22iagw",
55
- De3pzq: "fhovq9v",
56
- sj55zd: "fkfq4zb",
57
- z189sj: ["flk2ux3", "fkl3uby"],
58
- uwmqm3: ["fo100m9", "f6yw3pu"],
59
- Bbmb7ep: ["f1aa9q02", "f16jpd5f"],
60
- Beyfa6y: ["f16jpd5f", "f1aa9q02"],
61
- B7oj6ja: ["f1jar5jt", "fyu767a"],
62
- Btl43ni: ["fyu767a", "f1jar5jt"],
63
- lj723h: "flvvhsy",
64
- ecr2s2: "f1wfn5kd",
65
- Ixpawx: "f1x3s29",
66
- Bi91k9c: "fnwyq0v",
67
- Jwef8y: "f1t94bn6",
68
- B0t702g: "f1kvtbpn"
69
- },
70
- focusIndicator: {
71
- Brovlpu: "ftqa4ok",
72
- B486eqv: "f2hkw1w",
73
- B8q5s1w: "f8hki3x",
74
- Bci5o5g: ["f1d2448m", "ffh67wi"],
75
- n8qw10: "f1bjia2o",
76
- Bdrgwmp: ["ffh67wi", "f1d2448m"],
77
- Bm4h7ae: "f15bsgw9",
78
- B7ys5i9: "f14e48fq",
79
- Busjfv9: "f18yb2kv",
80
- Bhk32uz: "fd6o370",
81
- Bf4ptjt: "fh1cnn4",
82
- kclons: ["fy7oxxb", "f184ne2d"],
83
- Bhdgwq3: "fpukqih",
84
- Blkhhs4: ["f184ne2d", "fy7oxxb"],
85
- Bqtpl0w: "frrh606",
86
- clg4pj: ["f1v5zibi", "fo2hd23"],
87
- hgwjuy: "ful5kiu",
88
- Bonggc9: ["fo2hd23", "f1v5zibi"],
89
- B1tsrr9: ["f1jqcqds", "ftffrms"],
90
- Dah5zi: ["ftffrms", "f1jqcqds"],
91
- Bkh64rk: ["f2e7qr6", "fsr1zz6"],
92
- qqdqy8: ["fsr1zz6", "f2e7qr6"],
93
- B6dhp37: "f1dvezut",
94
- i03rao: ["fd0oaoj", "f1cwg4i8"],
95
- Boxcth7: "fjvm52t",
96
- Bsom6fd: ["f1cwg4i8", "fd0oaoj"],
97
- J0r882: "fdiulkx",
98
- Bjwuhne: "f1yalx80",
99
- Ghsupd: ["fq22d5a", "f1jw7pan"],
100
- Bule8hv: ["f1jw7pan", "fq22d5a"]
101
- },
102
- subtle: {},
103
- "subtle-alpha": {
104
- Jwef8y: "f146ro5n",
105
- ecr2s2: "fkam630"
106
- },
107
- transparent: {
108
- De3pzq: "f1c21dwh",
109
- Jwef8y: "fjxutwb",
110
- ecr2s2: "fophhak"
111
- },
112
- leaf: {
113
- uwmqm3: ["f1k1erfc", "faevyjx"]
114
- }
115
- }, {
116
- d: [".f10pi13n{position:relative;}", ".f1k6fduh{cursor:pointer;}", ".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".fhovq9v{background-color:var(--colorSubtleBackground);}", ".fkfq4zb{color:var(--colorNeutralForeground2);}", ".flk2ux3{padding-right:var(--spacingHorizontalNone);}", ".fkl3uby{padding-left:var(--spacingHorizontalNone);}", ".fo100m9{padding-left:calc((var(--fluent-TreeItem--level, 1) - 1) * var(--spacingHorizontalXXL));}", ".f6yw3pu{padding-right:calc((var(--fluent-TreeItem--level, 1) - 1) * var(--spacingHorizontalXXL));}", ".f1aa9q02{border-bottom-right-radius:var(--borderRadiusMedium);}", ".f16jpd5f{border-bottom-left-radius:var(--borderRadiusMedium);}", ".f1jar5jt{border-top-right-radius:var(--borderRadiusMedium);}", ".fyu767a{border-top-left-radius:var(--borderRadiusMedium);}", ".f8hki3x[data-fui-focus-visible]{border-top-color:transparent;}", ".f1d2448m[data-fui-focus-visible]{border-right-color:transparent;}", ".ffh67wi[data-fui-focus-visible]{border-left-color:transparent;}", ".f1bjia2o[data-fui-focus-visible]{border-bottom-color:transparent;}", ".f15bsgw9[data-fui-focus-visible]::after{content:\"\";}", ".f14e48fq[data-fui-focus-visible]::after{position:absolute;}", ".f18yb2kv[data-fui-focus-visible]::after{pointer-events:none;}", ".fd6o370[data-fui-focus-visible]::after{z-index:1;}", ".fh1cnn4[data-fui-focus-visible]::after{border-top-style:solid;}", ".fy7oxxb[data-fui-focus-visible]::after{border-right-style:solid;}", ".f184ne2d[data-fui-focus-visible]::after{border-left-style:solid;}", ".fpukqih[data-fui-focus-visible]::after{border-bottom-style:solid;}", ".frrh606[data-fui-focus-visible]::after{border-top-width:2px;}", ".f1v5zibi[data-fui-focus-visible]::after{border-right-width:2px;}", ".fo2hd23[data-fui-focus-visible]::after{border-left-width:2px;}", ".ful5kiu[data-fui-focus-visible]::after{border-bottom-width:2px;}", ".f1jqcqds[data-fui-focus-visible]::after{border-bottom-right-radius:var(--borderRadiusMedium);}", ".ftffrms[data-fui-focus-visible]::after{border-bottom-left-radius:var(--borderRadiusMedium);}", ".f2e7qr6[data-fui-focus-visible]::after{border-top-right-radius:var(--borderRadiusMedium);}", ".fsr1zz6[data-fui-focus-visible]::after{border-top-left-radius:var(--borderRadiusMedium);}", ".f1dvezut[data-fui-focus-visible]::after{border-top-color:var(--colorStrokeFocus2);}", ".fd0oaoj[data-fui-focus-visible]::after{border-right-color:var(--colorStrokeFocus2);}", ".f1cwg4i8[data-fui-focus-visible]::after{border-left-color:var(--colorStrokeFocus2);}", ".fjvm52t[data-fui-focus-visible]::after{border-bottom-color:var(--colorStrokeFocus2);}", ".fdiulkx[data-fui-focus-visible]::after{top:-2px;}", ".f1yalx80[data-fui-focus-visible]::after{bottom:-2px;}", ".fq22d5a[data-fui-focus-visible]::after{left:-2px;}", ".f1jw7pan[data-fui-focus-visible]::after{right:-2px;}", ".f1c21dwh{background-color:var(--colorTransparentBackground);}", ".f1k1erfc{padding-left:calc(var(--fluent-TreeItem--level, 1) * var(--spacingHorizontalXXL));}", ".faevyjx{padding-right:calc(var(--fluent-TreeItem--level, 1) * var(--spacingHorizontalXXL));}"],
117
- a: [".flvvhsy:active{color:var(--colorNeutralForeground2Pressed);}", ".f1wfn5kd:active{background-color:var(--colorSubtleBackgroundPressed);}", ".f1x3s29:active .fui-TreeItem__expandIcon{color:var(--colorNeutralForeground3Pressed);}", ".fkam630:active{background-color:var(--colorSubtleBackgroundLightAlphaPressed);}", ".fophhak:active{background-color:var(--colorTransparentBackgroundPressed);}"],
118
- h: [".fnwyq0v:hover{color:var(--colorNeutralForeground2Hover);}", ".f1t94bn6:hover{background-color:var(--colorSubtleBackgroundHover);}", ".f1kvtbpn:hover .fui-TreeItem__expandIcon{color:var(--colorNeutralForeground3Hover);}", ".f146ro5n:hover{background-color:var(--colorSubtleBackgroundLightAlphaHover);}", ".fjxutwb:hover{background-color:var(--colorTransparentBackgroundHover);}"],
119
- f: [".ftqa4ok:focus{outline-style:none;}"],
120
- i: [".f2hkw1w:focus-visible{outline-style:none;}"]
121
- });
122
- /**
123
- * Styles for the expand icon slot
124
- */
125
- const useExpandIconStyles = /*#__PURE__*/__styles({
126
- base: {
127
- mc9l5x: "f22iagw",
128
- Bt984gj: "f122n59",
129
- Brf1p80: "f4d9j23",
130
- Bf4jedk: "f17fgpbq",
131
- B7ck84d: "f1ewtqcl",
132
- sj55zd: "f11d4kpn",
133
- z8tnut: "f1ywm7hm",
134
- z189sj: ["fhxju0i", "f1cnd47f"],
135
- Byoj8tv: "f14wxoun",
136
- uwmqm3: ["f1cnd47f", "fhxju0i"]
137
- }
138
- }, {
139
- d: [".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".f122n59{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".f4d9j23{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}", ".f17fgpbq{min-width:24px;}", ".f1ewtqcl{box-sizing:border-box;}", ".f11d4kpn{color:var(--colorNeutralForeground3);}", ".f1ywm7hm{padding-top:var(--spacingVerticalXS);}", ".fhxju0i{padding-right:0;}", ".f1cnd47f{padding-left:0;}", ".f14wxoun{padding-bottom:var(--spacingVerticalXS);}"]
140
- });
141
- /**
142
- * Styles for the action icon slot
143
- */
144
- const useActionsStyles = /*#__PURE__*/__styles({
145
- base: {
146
- mc9l5x: "fjseox",
147
- Frg6f3: ["fcgxt0o", "f1ujusj6"],
148
- z8tnut: "f1g0x7ka",
149
- z189sj: ["f1vdfbxk", "f1f5gg8d"],
150
- Byoj8tv: "f1qch9an",
151
- uwmqm3: ["f1f5gg8d", "f1vdfbxk"]
152
- },
153
- open: {
154
- mc9l5x: "f22iagw",
155
- qhf8xq: "f10pi13n"
156
- }
157
- }, {
158
- d: [".fjseox{display:none;}", ".fcgxt0o{margin-left:auto;}", ".f1ujusj6{margin-right:auto;}", ".f1g0x7ka{padding-top:0;}", ".f1vdfbxk{padding-right:var(--spacingHorizontalS);}", ".f1f5gg8d{padding-left:var(--spacingHorizontalS);}", ".f1qch9an{padding-bottom:0;}", ".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".f10pi13n{position:relative;}"]
159
- });
160
- export const expandIconInlineStyles = {
161
- 90: {
162
- transform: `rotate(90deg)`
163
- },
164
- 0: {
165
- transform: `rotate(0deg)`
166
- },
167
- 180: {
168
- transform: `rotate(180deg)`
169
- }
170
- };
171
- /**
172
- * Apply styling to the TreeItem slots based on the state
173
- */
174
- export const useTreeItemStyles_unstable = state => {
175
- const rootStyles = useRootStyles();
176
- const contentStyles = useContentStyles();
177
- const expandIconStyles = useExpandIconStyles();
178
- const actionsStyles = useActionsStyles();
179
- const appearance = useTreeContext_unstable(ctx => ctx.appearance);
180
- const {
181
- actions,
182
- subtree,
183
- expandIcon,
184
- isActionsVisible: showActions,
185
- level
186
- } = state;
187
- state.root.className = mergeClasses(treeItemClassNames.root, isStaticallyDefinedLevel(level) && rootStyles[`level${level}`], state.root.className);
188
- state.content.className = mergeClasses(treeItemClassNames.content, contentStyles.base, contentStyles[appearance], contentStyles.focusIndicator, state.isLeaf && contentStyles.leaf, state.content.className);
189
- if (expandIcon) {
190
- expandIcon.className = mergeClasses(treeItemClassNames.expandIcon, expandIconStyles.base, expandIcon.className);
191
- }
192
- if (actions) {
193
- actions.className = mergeClasses(treeItemClassNames.actions, actionsStyles.base, showActions && actionsStyles.open, actions.className);
194
- }
195
- if (subtree) {
196
- subtree.className = mergeClasses(treeItemClassNames.subtree, subtree.className);
197
- }
198
- return state;
199
- };
200
- function isStaticallyDefinedLevel(level) {
201
- return level >= 1 && level <= 10;
202
- }
203
- //# sourceMappingURL=useTreeItemStyles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__styles","mergeClasses","shorthands","tokens","createFocusOutlineStyle","useTreeContext_unstable","treeItemLevelToken","treeItemClassNames","root","content","subtree","expandIcon","actions","useRootStyles","level1","iytv0q","level2","level3","level4","level5","level6","level7","level8","level9","level10","d","useContentStyles","base","qhf8xq","Bceei9c","mc9l5x","De3pzq","sj55zd","z189sj","uwmqm3","Bbmb7ep","Beyfa6y","B7oj6ja","Btl43ni","lj723h","ecr2s2","Ixpawx","Bi91k9c","Jwef8y","B0t702g","focusIndicator","Brovlpu","B486eqv","B8q5s1w","Bci5o5g","n8qw10","Bdrgwmp","Bm4h7ae","B7ys5i9","Busjfv9","Bhk32uz","Bf4ptjt","kclons","Bhdgwq3","Blkhhs4","Bqtpl0w","clg4pj","hgwjuy","Bonggc9","B1tsrr9","Dah5zi","Bkh64rk","qqdqy8","B6dhp37","i03rao","Boxcth7","Bsom6fd","J0r882","Bjwuhne","Ghsupd","Bule8hv","subtle","transparent","leaf","a","h","f","i","useExpandIconStyles","Bt984gj","Brf1p80","Bf4jedk","B7ck84d","z8tnut","Byoj8tv","useActionsStyles","Frg6f3","open","expandIconInlineStyles","transform","useTreeItemStyles_unstable","state","rootStyles","contentStyles","expandIconStyles","actionsStyles","appearance","ctx","isActionsVisible","showActions","level","className","isStaticallyDefinedLevel","isLeaf"],"sources":["../src/packages/react-components/react-tree/src/components/TreeItem/useTreeItemStyles.ts"],"sourcesContent":["import { GriffelStyle, makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport type { TreeItemCSSProperties, TreeItemSlots, TreeItemState } from './TreeItem.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { tokens } from '@fluentui/react-theme';\nimport { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { useTreeContext_unstable } from '../../contexts/index';\nimport { treeItemLevelToken } from '../../utils/tokens';\n\nexport const treeItemClassNames: SlotClassNames<TreeItemSlots> = {\n root: 'fui-TreeItem',\n content: 'fui-TreeItem__content',\n subtree: 'fui-TreeItem__subtree',\n expandIcon: 'fui-TreeItem__expandIcon',\n actions: 'fui-TreeItem__actions',\n};\n\ntype StaticLevel = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;\ntype StaticLevelProperty = `level${StaticLevel}`;\n\nconst useRootStyles = makeStyles({\n ...(Object.fromEntries(\n Array.from<never, [StaticLevelProperty, TreeItemCSSProperties]>({ length: 10 }, (_, index) => [\n `level${(index + 1) as StaticLevel}`,\n { [treeItemLevelToken]: index + 1 },\n ]),\n ) as Record<StaticLevelProperty, GriffelStyle>),\n});\n\n/**\n * Styles for the content slot\n */\nconst useContentStyles = makeStyles({\n base: {\n position: 'relative',\n cursor: 'pointer',\n display: 'flex',\n backgroundColor: tokens.colorSubtleBackground,\n color: tokens.colorNeutralForeground2,\n paddingRight: tokens.spacingHorizontalNone,\n paddingLeft: `calc((var(${treeItemLevelToken}, 1) - 1) * ${tokens.spacingHorizontalXXL})`,\n ...shorthands.borderRadius(tokens.borderRadiusMedium),\n ':active': {\n color: tokens.colorNeutralForeground2Pressed,\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n // TODO: stop using treeItemClassNames.expandIcon for styling\n [`& .${treeItemClassNames.expandIcon}`]: {\n color: tokens.colorNeutralForeground3Pressed,\n },\n },\n ':hover': {\n color: tokens.colorNeutralForeground2Hover,\n backgroundColor: tokens.colorSubtleBackgroundHover,\n // TODO: stop using treeItemClassNames.expandIcon for styling\n [`& .${treeItemClassNames.expandIcon}`]: {\n color: tokens.colorNeutralForeground3Hover,\n },\n },\n },\n focusIndicator: createFocusOutlineStyle(),\n // Appearance variations\n subtle: {},\n 'subtle-alpha': {\n ':hover': {\n backgroundColor: tokens.colorSubtleBackgroundLightAlphaHover,\n },\n ':active': {\n backgroundColor: tokens.colorSubtleBackgroundLightAlphaPressed,\n },\n },\n transparent: {\n backgroundColor: tokens.colorTransparentBackground,\n ':hover': {\n backgroundColor: tokens.colorTransparentBackgroundHover,\n },\n ':active': {\n backgroundColor: tokens.colorTransparentBackgroundPressed,\n },\n },\n leaf: {\n paddingLeft: `calc(var(${treeItemLevelToken}, 1) * ${tokens.spacingHorizontalXXL})`,\n },\n});\n\n/**\n * Styles for the expand icon slot\n */\nconst useExpandIconStyles = makeStyles({\n base: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n minWidth: '24px',\n boxSizing: 'border-box',\n color: tokens.colorNeutralForeground3,\n ...shorthands.padding(tokens.spacingVerticalXS, 0),\n },\n});\n\n/**\n * Styles for the action icon slot\n */\nconst useActionsStyles = makeStyles({\n base: {\n display: 'none',\n marginLeft: 'auto',\n ...shorthands.padding(0, tokens.spacingHorizontalS),\n },\n open: {\n display: 'flex',\n position: 'relative',\n },\n});\n\nexport const expandIconInlineStyles = {\n 90: { transform: `rotate(90deg)` },\n 0: { transform: `rotate(0deg)` },\n 180: { transform: `rotate(180deg)` },\n} as const;\n\n/**\n * Apply styling to the TreeItem slots based on the state\n */\nexport const useTreeItemStyles_unstable = (state: TreeItemState): TreeItemState => {\n const rootStyles = useRootStyles();\n const contentStyles = useContentStyles();\n const expandIconStyles = useExpandIconStyles();\n const actionsStyles = useActionsStyles();\n\n const appearance = useTreeContext_unstable(ctx => ctx.appearance);\n\n const { actions, subtree, expandIcon, isActionsVisible: showActions, level } = state;\n\n state.root.className = mergeClasses(\n treeItemClassNames.root,\n isStaticallyDefinedLevel(level) && rootStyles[`level${level}` as StaticLevelProperty],\n state.root.className,\n );\n\n state.content.className = mergeClasses(\n treeItemClassNames.content,\n contentStyles.base,\n contentStyles[appearance],\n contentStyles.focusIndicator,\n state.isLeaf && contentStyles.leaf,\n state.content.className,\n );\n\n if (expandIcon) {\n expandIcon.className = mergeClasses(treeItemClassNames.expandIcon, expandIconStyles.base, expandIcon.className);\n }\n if (actions) {\n actions.className = mergeClasses(\n treeItemClassNames.actions,\n actionsStyles.base,\n showActions && actionsStyles.open,\n actions.className,\n );\n }\n if (subtree) {\n subtree.className = mergeClasses(treeItemClassNames.subtree, subtree.className);\n }\n\n return state;\n};\n\nfunction isStaticallyDefinedLevel(level: number): level is StaticLevel {\n return level >= 1 && level <= 10;\n}\n"],"mappings":"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"}