@fluentui/react-tree 9.0.0-beta.11 → 9.0.0-beta.13

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 (190) hide show
  1. package/CHANGELOG.json +195 -1
  2. package/CHANGELOG.md +46 -2
  3. package/dist/index.d.ts +189 -100
  4. package/lib/TreeItemAside.js +2 -0
  5. package/lib/TreeItemAside.js.map +1 -0
  6. package/lib/components/Tree/Tree.js +1 -1
  7. package/lib/components/Tree/Tree.js.map +1 -1
  8. package/lib/components/Tree/Tree.types.js.map +1 -1
  9. package/lib/components/Tree/index.js +1 -1
  10. package/lib/components/Tree/index.js.map +1 -1
  11. package/lib/components/Tree/renderTree.js +1 -1
  12. package/lib/components/Tree/renderTree.js.map +1 -1
  13. package/lib/components/Tree/useRootTree.js +160 -0
  14. package/lib/components/Tree/useRootTree.js.map +1 -0
  15. package/lib/components/Tree/useSubtree.js +40 -0
  16. package/lib/components/Tree/useSubtree.js.map +1 -0
  17. package/lib/components/Tree/useTree.js +2 -95
  18. package/lib/components/Tree/useTree.js.map +1 -1
  19. package/lib/components/Tree/useTreeContextValues.js +2 -4
  20. package/lib/components/Tree/useTreeContextValues.js.map +1 -1
  21. package/lib/components/Tree/useTreeStyles.styles.js +30 -0
  22. package/lib/components/Tree/useTreeStyles.styles.js.map +1 -0
  23. package/lib/components/TreeItem/TreeItem.js +2 -2
  24. package/lib/components/TreeItem/TreeItem.js.map +1 -1
  25. package/lib/components/TreeItem/TreeItem.types.js.map +1 -1
  26. package/lib/components/TreeItem/index.js +1 -1
  27. package/lib/components/TreeItem/index.js.map +1 -1
  28. package/lib/components/TreeItem/renderTreeItem.js +2 -5
  29. package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
  30. package/lib/components/TreeItem/useTreeItem.js +65 -175
  31. package/lib/components/TreeItem/useTreeItem.js.map +1 -1
  32. package/lib/components/TreeItem/useTreeItemContextValues.js +25 -11
  33. package/lib/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  34. package/lib/components/TreeItem/useTreeItemStyles.styles.js +102 -0
  35. package/lib/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
  36. package/lib/components/TreeItemAside/TreeItemAside.js +15 -0
  37. package/lib/components/TreeItemAside/TreeItemAside.js.map +1 -0
  38. package/lib/components/TreeItemAside/TreeItemAside.types.js +2 -0
  39. package/lib/components/TreeItemAside/TreeItemAside.types.js.map +1 -0
  40. package/lib/components/TreeItemAside/index.js +6 -0
  41. package/lib/components/TreeItemAside/index.js.map +1 -0
  42. package/lib/components/TreeItemAside/renderTreeItemAside.js +19 -0
  43. package/lib/components/TreeItemAside/renderTreeItemAside.js.map +1 -0
  44. package/lib/components/TreeItemAside/useTreeItemAside.js +35 -0
  45. package/lib/components/TreeItemAside/useTreeItemAside.js.map +1 -0
  46. package/lib/components/TreeItemAside/useTreeItemAsideStyles.styles.js +47 -0
  47. package/lib/components/TreeItemAside/useTreeItemAsideStyles.styles.js.map +1 -0
  48. package/lib/components/TreeItemChevron.js +27 -0
  49. package/lib/components/TreeItemChevron.js.map +1 -0
  50. package/lib/components/TreeItemLayout/TreeItemLayout.js +1 -1
  51. package/lib/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  52. package/lib/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  53. package/lib/components/TreeItemLayout/index.js +1 -1
  54. package/lib/components/TreeItemLayout/index.js.map +1 -1
  55. package/lib/components/TreeItemLayout/renderTreeItemLayout.js +1 -4
  56. package/lib/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  57. package/lib/components/TreeItemLayout/useTreeItemLayout.js +16 -11
  58. package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  59. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +138 -0
  60. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
  61. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +1 -1
  62. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  63. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  64. package/lib/components/TreeItemPersonaLayout/index.js +1 -1
  65. package/lib/components/TreeItemPersonaLayout/index.js.map +1 -1
  66. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +2 -5
  67. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  68. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +16 -20
  69. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  70. package/lib/components/TreeItemPersonaLayout/{useTreeItemPersonaLayoutStyles.js → useTreeItemPersonaLayoutStyles.styles.js} +51 -30
  71. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
  72. package/lib/contexts/treeContext.js +1 -2
  73. package/lib/contexts/treeContext.js.map +1 -1
  74. package/lib/contexts/treeItemContext.js +12 -4
  75. package/lib/contexts/treeItemContext.js.map +1 -1
  76. package/lib/hooks/useFlatTree.js +9 -9
  77. package/lib/hooks/useFlatTree.js.map +1 -1
  78. package/lib/hooks/useFlatTreeNavigation.js +15 -13
  79. package/lib/hooks/useFlatTreeNavigation.js.map +1 -1
  80. package/lib/hooks/useNestedTreeNavigation.js +9 -9
  81. package/lib/hooks/useNestedTreeNavigation.js.map +1 -1
  82. package/lib/hooks/useOpenItemsState.js +3 -4
  83. package/lib/hooks/useOpenItemsState.js.map +1 -1
  84. package/lib/index.js +1 -0
  85. package/lib/index.js.map +1 -1
  86. package/lib/utils/createFlatTreeItems.js +32 -21
  87. package/lib/utils/createFlatTreeItems.js.map +1 -1
  88. package/lib/utils/flattenTree.js +4 -29
  89. package/lib/utils/flattenTree.js.map +1 -1
  90. package/lib/utils/tokens.js +11 -11
  91. package/lib/utils/tokens.js.map +1 -1
  92. package/lib-commonjs/TreeItemAside.js +9 -0
  93. package/lib-commonjs/TreeItemAside.js.map +1 -0
  94. package/lib-commonjs/components/Tree/Tree.js +2 -2
  95. package/lib-commonjs/components/Tree/Tree.js.map +1 -1
  96. package/lib-commonjs/components/Tree/index.js +1 -1
  97. package/lib-commonjs/components/Tree/index.js.map +1 -1
  98. package/lib-commonjs/components/Tree/renderTree.js +1 -1
  99. package/lib-commonjs/components/Tree/renderTree.js.map +1 -1
  100. package/lib-commonjs/components/Tree/useRootTree.js +151 -0
  101. package/lib-commonjs/components/Tree/useRootTree.js.map +1 -0
  102. package/lib-commonjs/components/Tree/useSubtree.js +41 -0
  103. package/lib-commonjs/components/Tree/useSubtree.js.map +1 -0
  104. package/lib-commonjs/components/Tree/useTree.js +4 -89
  105. package/lib-commonjs/components/Tree/useTree.js.map +1 -1
  106. package/lib-commonjs/components/Tree/useTreeContextValues.js +2 -3
  107. package/lib-commonjs/components/Tree/useTreeContextValues.js.map +1 -1
  108. package/lib-commonjs/components/Tree/{useTreeStyles.js → useTreeStyles.styles.js} +21 -4
  109. package/lib-commonjs/components/Tree/useTreeStyles.styles.js.map +1 -0
  110. package/lib-commonjs/components/TreeItem/TreeItem.js +2 -2
  111. package/lib-commonjs/components/TreeItem/TreeItem.js.map +1 -1
  112. package/lib-commonjs/components/TreeItem/index.js +1 -1
  113. package/lib-commonjs/components/TreeItem/index.js.map +1 -1
  114. package/lib-commonjs/components/TreeItem/renderTreeItem.js +2 -5
  115. package/lib-commonjs/components/TreeItem/renderTreeItem.js.map +1 -1
  116. package/lib-commonjs/components/TreeItem/useTreeItem.js +60 -165
  117. package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
  118. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js +16 -15
  119. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  120. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js +208 -0
  121. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
  122. package/lib-commonjs/components/TreeItemAside/TreeItemAside.js +21 -0
  123. package/lib-commonjs/components/TreeItemAside/TreeItemAside.js.map +1 -0
  124. package/lib-commonjs/components/TreeItemAside/TreeItemAside.types.js +7 -0
  125. package/lib-commonjs/components/TreeItemAside/TreeItemAside.types.js.map +1 -0
  126. package/lib-commonjs/components/TreeItemAside/index.js +13 -0
  127. package/lib-commonjs/components/TreeItemAside/index.js.map +1 -0
  128. package/lib-commonjs/components/TreeItemAside/renderTreeItemAside.js +22 -0
  129. package/lib-commonjs/components/TreeItemAside/renderTreeItemAside.js.map +1 -0
  130. package/lib-commonjs/components/TreeItemAside/useTreeItemAside.js +33 -0
  131. package/lib-commonjs/components/TreeItemAside/useTreeItemAside.js.map +1 -0
  132. package/lib-commonjs/components/TreeItemAside/useTreeItemAsideStyles.styles.js +92 -0
  133. package/lib-commonjs/components/TreeItemAside/useTreeItemAsideStyles.styles.js.map +1 -0
  134. package/lib-commonjs/components/TreeItemChevron.js +35 -0
  135. package/lib-commonjs/components/TreeItemChevron.js.map +1 -0
  136. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js +2 -2
  137. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  138. package/lib-commonjs/components/TreeItemLayout/index.js +1 -1
  139. package/lib-commonjs/components/TreeItemLayout/index.js.map +1 -1
  140. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js +1 -2
  141. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  142. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +14 -9
  143. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  144. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +223 -0
  145. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
  146. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +2 -2
  147. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  148. package/lib-commonjs/components/TreeItemPersonaLayout/index.js +1 -1
  149. package/lib-commonjs/components/TreeItemPersonaLayout/index.js.map +1 -1
  150. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +2 -3
  151. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  152. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +14 -14
  153. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  154. package/lib-commonjs/components/TreeItemPersonaLayout/{useTreeItemPersonaLayoutStyles.js → useTreeItemPersonaLayoutStyles.styles.js} +91 -45
  155. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
  156. package/lib-commonjs/contexts/treeContext.js +1 -2
  157. package/lib-commonjs/contexts/treeContext.js.map +1 -1
  158. package/lib-commonjs/contexts/treeItemContext.js +12 -4
  159. package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
  160. package/lib-commonjs/hooks/useFlatTree.js +9 -9
  161. package/lib-commonjs/hooks/useFlatTree.js.map +1 -1
  162. package/lib-commonjs/hooks/useFlatTreeNavigation.js +15 -13
  163. package/lib-commonjs/hooks/useFlatTreeNavigation.js.map +1 -1
  164. package/lib-commonjs/hooks/useNestedTreeNavigation.js +9 -9
  165. package/lib-commonjs/hooks/useNestedTreeNavigation.js.map +1 -1
  166. package/lib-commonjs/hooks/useOpenItemsState.js +3 -6
  167. package/lib-commonjs/hooks/useOpenItemsState.js.map +1 -1
  168. package/lib-commonjs/index.js +6 -0
  169. package/lib-commonjs/index.js.map +1 -1
  170. package/lib-commonjs/utils/createFlatTreeItems.js +33 -25
  171. package/lib-commonjs/utils/createFlatTreeItems.js.map +1 -1
  172. package/lib-commonjs/utils/flattenTree.js +8 -37
  173. package/lib-commonjs/utils/flattenTree.js.map +1 -1
  174. package/lib-commonjs/utils/tokens.js +10 -10
  175. package/lib-commonjs/utils/tokens.js.map +1 -1
  176. package/package.json +15 -14
  177. package/.swcrc +0 -30
  178. package/lib/components/Tree/useTreeStyles.js +0 -20
  179. package/lib/components/Tree/useTreeStyles.js.map +0 -1
  180. package/lib/components/TreeItem/useTreeItemStyles.js +0 -203
  181. package/lib/components/TreeItem/useTreeItemStyles.js.map +0 -1
  182. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -98
  183. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
  184. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
  185. package/lib-commonjs/components/Tree/useTreeStyles.js.map +0 -1
  186. package/lib-commonjs/components/TreeItem/useTreeItemStyles.js +0 -375
  187. package/lib-commonjs/components/TreeItem/useTreeItemStyles.js.map +0 -1
  188. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -143
  189. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
  190. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
@@ -1,7 +1,4 @@
1
- /**
2
- * creates a list of flat tree items
3
- * and provides a map to access each item by id
4
- */ "use strict";
1
+ "use strict";
5
2
  Object.defineProperty(exports, "__esModule", {
6
3
  value: true
7
4
  });
@@ -16,19 +13,21 @@ _export(exports, {
16
13
  flatTreeRootId: ()=>flatTreeRootId,
17
14
  VisibleFlatTreeItemGenerator: ()=>VisibleFlatTreeItemGenerator
18
15
  });
16
+ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
17
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
19
18
  function createFlatTreeItems(flatTreeItemProps) {
20
19
  const root = createFlatTreeRootItem();
21
- const itemsPerId = new Map([
20
+ const itemsPerValue = new Map([
22
21
  [
23
- flatTreeRootId,
22
+ root.value,
24
23
  root
25
24
  ]
26
25
  ]);
27
26
  const items = [];
28
27
  for(let index = 0; index < flatTreeItemProps.length; index++){
29
- const { parentId =flatTreeRootId , ...treeItemProps } = flatTreeItemProps[index];
28
+ const { parentValue =flatTreeRootId , ...treeItemProps } = flatTreeItemProps[index];
30
29
  const nextItemProps = flatTreeItemProps[index + 1];
31
- const currentParent = itemsPerId.get(parentId);
30
+ const currentParent = itemsPerValue.get(parentValue);
32
31
  if (!currentParent) {
33
32
  if (process.env.NODE_ENV === 'development') {
34
33
  // eslint-disable-next-line no-console
@@ -36,50 +35,60 @@ function createFlatTreeItems(flatTreeItemProps) {
36
35
  }
37
36
  break;
38
37
  }
39
- const isLeaf = (nextItemProps === null || nextItemProps === void 0 ? void 0 : nextItemProps.parentId) !== treeItemProps.id;
38
+ var _treeItemProps_itemType;
39
+ 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';
40
40
  var _currentParent_level;
41
41
  const currentLevel = ((_currentParent_level = currentParent.level) !== null && _currentParent_level !== void 0 ? _currentParent_level : 0) + 1;
42
42
  const currentChildrenSize = ++currentParent.childrenSize;
43
+ const ref = /*#__PURE__*/ _react.createRef();
43
44
  const flatTreeItem = {
44
- id: treeItemProps.id,
45
+ value: treeItemProps.value,
45
46
  getTreeItemProps: ()=>({
46
47
  ...treeItemProps,
47
48
  'aria-level': currentLevel,
48
49
  'aria-posinset': currentChildrenSize,
49
50
  'aria-setsize': currentParent.childrenSize,
50
- leaf: isLeaf
51
+ itemType,
52
+ // a reference to every parent element is necessary to ensure navigation
53
+ ref: flatTreeItem.childrenSize > 0 ? ref : undefined
51
54
  }),
55
+ ref,
52
56
  level: currentLevel,
53
- parentId,
57
+ parentValue,
54
58
  childrenSize: 0,
55
59
  index: -1
56
60
  };
57
- itemsPerId.set(flatTreeItem.id, flatTreeItem);
61
+ itemsPerValue.set(flatTreeItem.value, flatTreeItem);
58
62
  items.push(flatTreeItem);
59
63
  }
60
- return {
64
+ const flatTreeItems = {
61
65
  root,
62
66
  size: items.length,
63
67
  getByIndex: (index)=>items[index],
64
- get: (id)=>itemsPerId.get(id),
65
- set: (id, value)=>itemsPerId.set(id, value)
68
+ get: (key)=>itemsPerValue.get(key),
69
+ set: (key, value)=>itemsPerValue.set(key, value)
66
70
  };
71
+ return flatTreeItems;
67
72
  }
68
73
  const flatTreeRootId = '__fuiFlatTreeRoot';
69
74
  function createFlatTreeRootItem() {
70
75
  return {
71
- id: flatTreeRootId,
76
+ ref: {
77
+ current: null
78
+ },
79
+ value: flatTreeRootId,
80
+ parentValue: undefined,
72
81
  getTreeItemProps: ()=>{
73
82
  if (process.env.NODE_ENV !== 'production') {
74
83
  // eslint-disable-next-line no-console
75
84
  console.error('useFlatTree: internal error, trying to access treeitem props from invalid root element');
76
85
  }
77
86
  return {
78
- id: flatTreeRootId,
87
+ value: flatTreeRootId,
79
88
  'aria-setsize': -1,
80
89
  'aria-level': -1,
81
90
  'aria-posinset': -1,
82
- leaf: true
91
+ itemType: 'branch'
83
92
  };
84
93
  },
85
94
  childrenSize: 0,
@@ -96,13 +105,12 @@ function createFlatTreeRootItem() {
96
105
  function* VisibleFlatTreeItemGenerator(openItems, flatTreeItems) {
97
106
  for(let index = 0, visibleIndex = 0; index < flatTreeItems.size; index++){
98
107
  const item = flatTreeItems.getByIndex(index);
99
- var _flatTreeItems_get;
100
- const parent = item.parentId ? (_flatTreeItems_get = flatTreeItems.get(item.parentId)) !== null && _flatTreeItems_get !== void 0 ? _flatTreeItems_get : flatTreeItems.root : flatTreeItems.root;
101
108
  if (isItemVisible(item, openItems, flatTreeItems)) {
102
109
  item.index = visibleIndex++;
103
110
  yield item;
104
111
  } else {
105
- index += parent.childrenSize - 1 + item.childrenSize;
112
+ // Jump the amount of children the current item has, since those items will also be hidden
113
+ index += item.childrenSize;
106
114
  }
107
115
  }
108
116
  }
@@ -110,11 +118,11 @@ function isItemVisible(item, openItems, flatTreeItems) {
110
118
  if (item.level === 1) {
111
119
  return true;
112
120
  }
113
- while(item.parentId && item.parentId !== flatTreeItems.root.id){
114
- if (!openItems.has(item.parentId)) {
121
+ while(item.parentValue && item.parentValue !== flatTreeItems.root.value){
122
+ if (!openItems.has(item.parentValue)) {
115
123
  return false;
116
124
  }
117
- const parent = flatTreeItems.get(item.parentId);
125
+ const parent = flatTreeItems.get(item.parentValue);
118
126
  if (!parent) {
119
127
  return false;
120
128
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/utils/createFlatTreeItems.js"],"sourcesContent":["/**\n * creates a list of flat tree items\n * and provides a map to access each item by id\n */export function createFlatTreeItems(flatTreeItemProps) {\n const root = createFlatTreeRootItem();\n const itemsPerId = new Map([[flatTreeRootId, root]]);\n const items = [];\n for (let index = 0; index < flatTreeItemProps.length; index++) {\n const {\n parentId = flatTreeRootId,\n ...treeItemProps\n } = flatTreeItemProps[index];\n const nextItemProps = flatTreeItemProps[index + 1];\n const currentParent = itemsPerId.get(parentId);\n if (!currentParent) {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.error(`useFlatTree: item ${flatTreeItemProps[index].id} is wrongly positioned, did you properly ordered provided item props? make sure provided items are organized`);\n }\n break;\n }\n const isLeaf = (nextItemProps === null || nextItemProps === void 0 ? void 0 : nextItemProps.parentId) !== treeItemProps.id;\n var _currentParent_level;\n const currentLevel = ((_currentParent_level = currentParent.level) !== null && _currentParent_level !== void 0 ? _currentParent_level : 0) + 1;\n const currentChildrenSize = ++currentParent.childrenSize;\n const flatTreeItem = {\n id: treeItemProps.id,\n getTreeItemProps: () => ({\n ...treeItemProps,\n 'aria-level': currentLevel,\n 'aria-posinset': currentChildrenSize,\n 'aria-setsize': currentParent.childrenSize,\n leaf: isLeaf\n }),\n level: currentLevel,\n parentId,\n childrenSize: 0,\n index: -1\n };\n itemsPerId.set(flatTreeItem.id, flatTreeItem);\n items.push(flatTreeItem);\n }\n return {\n root,\n size: items.length,\n getByIndex: index => items[index],\n get: id => itemsPerId.get(id),\n set: (id, value) => itemsPerId.set(id, value)\n };\n}\nexport const flatTreeRootId = '__fuiFlatTreeRoot';\nfunction createFlatTreeRootItem() {\n return {\n id: flatTreeRootId,\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 {\n id: flatTreeRootId,\n 'aria-setsize': -1,\n 'aria-level': -1,\n 'aria-posinset': -1,\n leaf: true\n };\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// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function* VisibleFlatTreeItemGenerator(openItems, flatTreeItems) {\n for (let index = 0, visibleIndex = 0; index < flatTreeItems.size; index++) {\n const item = flatTreeItems.getByIndex(index);\n var _flatTreeItems_get;\n const parent = item.parentId ? (_flatTreeItems_get = flatTreeItems.get(item.parentId)) !== null && _flatTreeItems_get !== void 0 ? _flatTreeItems_get : flatTreeItems.root : flatTreeItems.root;\n if (isItemVisible(item, openItems, flatTreeItems)) {\n item.index = visibleIndex++;\n yield item;\n } else {\n index += parent.childrenSize - 1 + item.childrenSize;\n }\n }\n}\nfunction isItemVisible(item, openItems, flatTreeItems) {\n if (item.level === 1) {\n return true;\n }\n while (item.parentId && item.parentId !== flatTreeItems.root.id) {\n if (!openItems.has(item.parentId)) {\n return false;\n }\n const parent = flatTreeItems.get(item.parentId);\n if (!parent) {\n return false;\n }\n item = parent;\n }\n return true;\n}\n//# sourceMappingURL=createFlatTreeItems.js.map"],"names":["createFlatTreeItems","flatTreeRootId","VisibleFlatTreeItemGenerator","flatTreeItemProps","root","createFlatTreeRootItem","itemsPerId","Map","items","index","length","parentId","treeItemProps","nextItemProps","currentParent","get","process","env","NODE_ENV","console","error","id","isLeaf","_currentParent_level","currentLevel","level","currentChildrenSize","childrenSize","flatTreeItem","getTreeItemProps","leaf","set","push","size","getByIndex","value","openItems","flatTreeItems","visibleIndex","item","_flatTreeItems_get","parent","isItemVisible","has"],"mappings":"AAAA;;;CAGC;;;;;;;;;;;IAAkBA,mBAAmB,MAAnBA;IA+CNC,cAAc,MAAdA;IA6BIC,4BAA4B,MAA5BA;;AA5EP,SAASF,oBAAoBG,iBAAiB,EAAE;IACxD,MAAMC,OAAOC;IACb,MAAMC,aAAa,IAAIC,IAAI;QAAC;YAACN;YAAgBG;SAAK;KAAC;IACnD,MAAMI,QAAQ,EAAE;IAChB,IAAK,IAAIC,QAAQ,GAAGA,QAAQN,kBAAkBO,MAAM,EAAED,QAAS;QAC7D,MAAM,EACJE,UAAWV,eAAc,EACzB,GAAGW,eACJ,GAAGT,iBAAiB,CAACM,MAAM;QAC5B,MAAMI,gBAAgBV,iBAAiB,CAACM,QAAQ,EAAE;QAClD,MAAMK,gBAAgBR,WAAWS,GAAG,CAACJ;QACrC,IAAI,CAACG,eAAe;YAClB,IAAIE,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;gBAC1C,sCAAsC;gBACtCC,QAAQC,KAAK,CAAC,CAAC,kBAAkB,EAAEjB,iBAAiB,CAACM,MAAM,CAACY,EAAE,CAAC,4GAA4G,CAAC;YAC9K,CAAC;YACD,KAAM;QACR,CAAC;QACD,MAAMC,SAAS,AAACT,CAAAA,kBAAkB,IAAI,IAAIA,kBAAkB,KAAK,IAAI,KAAK,IAAIA,cAAcF,QAAQ,AAAD,MAAOC,cAAcS,EAAE;QAC1H,IAAIE;QACJ,MAAMC,eAAe,AAAC,CAAA,AAACD,CAAAA,uBAAuBT,cAAcW,KAAK,AAAD,MAAO,IAAI,IAAIF,yBAAyB,KAAK,IAAIA,uBAAuB,CAAC,AAAD,IAAK;QAC7I,MAAMG,sBAAsB,EAAEZ,cAAca,YAAY;QACxD,MAAMC,eAAe;YACnBP,IAAIT,cAAcS,EAAE;YACpBQ,kBAAkB,IAAO,CAAA;oBACvB,GAAGjB,aAAa;oBAChB,cAAcY;oBACd,iBAAiBE;oBACjB,gBAAgBZ,cAAca,YAAY;oBAC1CG,MAAMR;gBACR,CAAA;YACAG,OAAOD;YACPb;YACAgB,cAAc;YACdlB,OAAO,CAAC;QACV;QACAH,WAAWyB,GAAG,CAACH,aAAaP,EAAE,EAAEO;QAChCpB,MAAMwB,IAAI,CAACJ;IACb;IACA,OAAO;QACLxB;QACA6B,MAAMzB,MAAME,MAAM;QAClBwB,YAAYzB,CAAAA,QAASD,KAAK,CAACC,MAAM;QACjCM,KAAKM,CAAAA,KAAMf,WAAWS,GAAG,CAACM;QAC1BU,KAAK,CAACV,IAAIc,QAAU7B,WAAWyB,GAAG,CAACV,IAAIc;IACzC;AACF;AACO,MAAMlC,iBAAiB;AAC9B,SAASI,yBAAyB;IAChC,OAAO;QACLgB,IAAIpB;QACJ4B,kBAAkB,IAAM;YACtB,IAAIb,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;gBACzC,sCAAsC;gBACtCC,QAAQC,KAAK,CAAC;YAChB,CAAC;YACD,OAAO;gBACLC,IAAIpB;gBACJ,gBAAgB,CAAC;gBACjB,cAAc,CAAC;gBACf,iBAAiB,CAAC;gBAClB6B,MAAM,IAAI;YACZ;QACF;QACAH,cAAc;QACd,IAAIlB,SAAQ;YACV,IAAIO,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;gBACzC,sCAAsC;gBACtCC,QAAQC,KAAK,CAAC;YAChB,CAAC;YACD,OAAO,CAAC;QACV;QACAK,OAAO;IACT;AACF;AAEO,UAAUvB,6BAA6BkC,SAAS,EAAEC,aAAa,EAAE;IACtE,IAAK,IAAI5B,QAAQ,GAAG6B,eAAe,GAAG7B,QAAQ4B,cAAcJ,IAAI,EAAExB,QAAS;QACzE,MAAM8B,OAAOF,cAAcH,UAAU,CAACzB;QACtC,IAAI+B;QACJ,MAAMC,SAASF,KAAK5B,QAAQ,GAAG,AAAC6B,CAAAA,qBAAqBH,cAActB,GAAG,CAACwB,KAAK5B,QAAQ,CAAA,MAAO,IAAI,IAAI6B,uBAAuB,KAAK,IAAIA,qBAAqBH,cAAcjC,IAAI,GAAGiC,cAAcjC,IAAI;QAC/L,IAAIsC,cAAcH,MAAMH,WAAWC,gBAAgB;YACjDE,KAAK9B,KAAK,GAAG6B;YACb,MAAMC;QACR,OAAO;YACL9B,SAASgC,OAAOd,YAAY,GAAG,IAAIY,KAAKZ,YAAY;QACtD,CAAC;IACH;AACF;AACA,SAASe,cAAcH,IAAI,EAAEH,SAAS,EAAEC,aAAa,EAAE;IACrD,IAAIE,KAAKd,KAAK,KAAK,GAAG;QACpB,OAAO,IAAI;IACb,CAAC;IACD,MAAOc,KAAK5B,QAAQ,IAAI4B,KAAK5B,QAAQ,KAAK0B,cAAcjC,IAAI,CAACiB,EAAE,CAAE;QAC/D,IAAI,CAACe,UAAUO,GAAG,CAACJ,KAAK5B,QAAQ,GAAG;YACjC,OAAO,KAAK;QACd,CAAC;QACD,MAAM8B,SAASJ,cAActB,GAAG,CAACwB,KAAK5B,QAAQ;QAC9C,IAAI,CAAC8B,QAAQ;YACX,OAAO,KAAK;QACd,CAAC;QACDF,OAAOE;IACT;IACA,OAAO,IAAI;AACb,EACA,+CAA+C"}
1
+ {"version":3,"sources":["../../lib/utils/createFlatTreeItems.js"],"sourcesContent":["import * as React from 'react';\n/**\n * creates a list of flat tree items\n * and provides a map to access each item by id\n */\nexport function createFlatTreeItems(flatTreeItemProps) {\n const root = createFlatTreeRootItem();\n const itemsPerValue = new Map([[root.value, root]]);\n const items = [];\n for (let index = 0; index < flatTreeItemProps.length; index++) {\n const {\n parentValue = flatTreeRootId,\n ...treeItemProps\n } = flatTreeItemProps[index];\n const nextItemProps = 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(`useFlatTree: item ${flatTreeItemProps[index].id} is wrongly positioned, did you properly ordered provided item props? make sure provided items are organized`);\n }\n break;\n }\n var _treeItemProps_itemType;\n 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';\n var _currentParent_level;\n const currentLevel = ((_currentParent_level = currentParent.level) !== null && _currentParent_level !== void 0 ? _currentParent_level : 0) + 1;\n const currentChildrenSize = ++currentParent.childrenSize;\n const ref = /*#__PURE__*/React.createRef();\n const flatTreeItem = {\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 const flatTreeItems = {\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 return flatTreeItems;\n}\nexport const flatTreeRootId = '__fuiFlatTreeRoot';\nfunction createFlatTreeRootItem() {\n return {\n ref: {\n current: null\n },\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 {\n value: flatTreeRootId,\n 'aria-setsize': -1,\n 'aria-level': -1,\n 'aria-posinset': -1,\n itemType: 'branch'\n };\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// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function* VisibleFlatTreeItemGenerator(openItems, flatTreeItems) {\n for (let index = 0, visibleIndex = 0; index < flatTreeItems.size; index++) {\n const item = flatTreeItems.getByIndex(index);\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}\nfunction isItemVisible(item, openItems, flatTreeItems) {\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//# sourceMappingURL=createFlatTreeItems.js.map"],"names":["createFlatTreeItems","flatTreeRootId","VisibleFlatTreeItemGenerator","flatTreeItemProps","root","createFlatTreeRootItem","itemsPerValue","Map","value","items","index","length","parentValue","treeItemProps","nextItemProps","currentParent","get","process","env","NODE_ENV","console","error","id","_treeItemProps_itemType","itemType","undefined","_currentParent_level","currentLevel","level","currentChildrenSize","childrenSize","ref","React","createRef","flatTreeItem","getTreeItemProps","set","push","flatTreeItems","size","getByIndex","key","current","openItems","visibleIndex","item","isItemVisible","has","parent"],"mappings":"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"}
@@ -2,29 +2,22 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
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
- flattenTree_unstable: ()=>flattenTree_unstable,
13
- flattenTreeFromElement: ()=>flattenTreeFromElement
5
+ Object.defineProperty(exports, "flattenTree_unstable", {
6
+ enumerable: true,
7
+ get: ()=>flattenTree_unstable
14
8
  });
15
- const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
16
- const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
17
9
  let count = 1;
18
10
  function flattenTreeRecursive(items, parent, level = 1) {
19
11
  return items.reduce((acc, { subtree , ...item }, index)=>{
20
12
  var _item_id;
13
+ const id = (_item_id = item.id) !== null && _item_id !== void 0 ? _item_id : `fui-FlatTreeItem-${count++}`;
14
+ var _item_value;
21
15
  const flatTreeItem = {
22
16
  'aria-level': level,
23
17
  'aria-posinset': index + 1,
24
18
  'aria-setsize': items.length,
25
- parentId: parent === null || parent === void 0 ? void 0 : parent.id,
26
- id: (_item_id = item.id) !== null && _item_id !== void 0 ? _item_id : `fui-FlatTreeItem-${count++}`,
27
- leaf: subtree === undefined,
19
+ parentValue: parent === null || parent === void 0 ? void 0 : parent.value,
20
+ value: (_item_value = item.value) !== null && _item_value !== void 0 ? _item_value : id,
28
21
  ...item
29
22
  };
30
23
  acc.push(flatTreeItem);
@@ -34,28 +27,6 @@ function flattenTreeRecursive(items, parent, level = 1) {
34
27
  return acc;
35
28
  }, []);
36
29
  }
37
- const flattenTree_unstable = (items)=>flattenTreeRecursive(items);
38
- const flattenTreeFromElement = (root, parent, level = 1)=>{
39
- const children = _react.Children.toArray(root.props.children);
40
- return children.reduce((acc, curr, index)=>{
41
- const [content, subtree] = _react.Children.toArray(curr.props.children);
42
- var _curr_props_id;
43
- const flatTreeItem = {
44
- 'aria-level': level,
45
- 'aria-posinset': index + 1,
46
- 'aria-setsize': children.length,
47
- parentId: parent === null || parent === void 0 ? void 0 : parent.id,
48
- id: (_curr_props_id = curr.props.id) !== null && _curr_props_id !== void 0 ? _curr_props_id : `fui-FlatTreeItem-${count++}`,
49
- leaf: subtree === undefined,
50
- ...curr.props,
51
- children: content
52
- };
53
- acc.push(flatTreeItem);
54
- if (subtree !== undefined) {
55
- acc.push(...flattenTreeFromElement(subtree, flatTreeItem, level + 1));
56
- }
57
- return acc;
58
- }, []);
59
- }; //# sourceMappingURL=flattenTree.js.map
30
+ const flattenTree_unstable = (items)=>flattenTreeRecursive(items); //# sourceMappingURL=flattenTree.js.map
60
31
 
61
32
  //# sourceMappingURL=flattenTree.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/utils/flattenTree.js"],"sourcesContent":["import * as React from 'react';\nlet count = 1;\nfunction flattenTreeRecursive(items, parent, level = 1) {\n return items.reduce((acc, {\n subtree,\n ...item\n }, index) => {\n var _item_id;\n const flatTreeItem = {\n 'aria-level': level,\n 'aria-posinset': index + 1,\n 'aria-setsize': items.length,\n parentId: parent === null || parent === void 0 ? void 0 : parent.id,\n id: (_item_id = item.id) !== null && _item_id !== void 0 ? _item_id : `fui-FlatTreeItem-${count++}`,\n leaf: subtree === undefined,\n ...item\n };\n acc.push(flatTreeItem);\n if (subtree !== undefined) {\n acc.push(...flattenTreeRecursive(subtree, flatTreeItem, level + 1));\n }\n return acc;\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 */ // eslint-disable-next-line @typescript-eslint/naming-convention\nexport const flattenTree_unstable = items => flattenTreeRecursive(items);\n/**\n * @internal\n */\nexport const flattenTreeFromElement = (root, parent, level = 1) => {\n const children = React.Children.toArray(root.props.children);\n return children.reduce((acc, curr, index) => {\n const [content, subtree] = React.Children.toArray(curr.props.children);\n var _curr_props_id;\n const flatTreeItem = {\n 'aria-level': level,\n 'aria-posinset': index + 1,\n 'aria-setsize': children.length,\n parentId: parent === null || parent === void 0 ? void 0 : parent.id,\n id: (_curr_props_id = curr.props.id) !== null && _curr_props_id !== void 0 ? _curr_props_id : `fui-FlatTreeItem-${count++}`,\n leaf: subtree === undefined,\n ...curr.props,\n children: content\n };\n acc.push(flatTreeItem);\n if (subtree !== undefined) {\n acc.push(...flattenTreeFromElement(subtree, flatTreeItem, level + 1));\n }\n return acc;\n }, []);\n};\n//# sourceMappingURL=flattenTree.js.map"],"names":["flattenTree_unstable","flattenTreeFromElement","count","flattenTreeRecursive","items","parent","level","reduce","acc","subtree","item","index","_item_id","flatTreeItem","length","parentId","id","leaf","undefined","push","root","children","React","Children","toArray","props","curr","content","_curr_props_id"],"mappings":";;;;;;;;;;;IAgEaA,oBAAoB,MAApBA;IAIAC,sBAAsB,MAAtBA;;;6DApEU;AACvB,IAAIC,QAAQ;AACZ,SAASC,qBAAqBC,KAAK,EAAEC,MAAM,EAAEC,QAAQ,CAAC,EAAE;IACtD,OAAOF,MAAMG,MAAM,CAAC,CAACC,KAAK,EACxBC,QAAO,EACP,GAAGC,MACJ,EAAEC,QAAU;QACX,IAAIC;QACJ,MAAMC,eAAe;YACnB,cAAcP;YACd,iBAAiBK,QAAQ;YACzB,gBAAgBP,MAAMU,MAAM;YAC5BC,UAAUV,WAAW,IAAI,IAAIA,WAAW,KAAK,IAAI,KAAK,IAAIA,OAAOW,EAAE;YACnEA,IAAI,AAACJ,CAAAA,WAAWF,KAAKM,EAAE,AAAD,MAAO,IAAI,IAAIJ,aAAa,KAAK,IAAIA,WAAW,CAAC,iBAAiB,EAAEV,QAAQ,CAAC;YACnGe,MAAMR,YAAYS;YAClB,GAAGR,IAAI;QACT;QACAF,IAAIW,IAAI,CAACN;QACT,IAAIJ,YAAYS,WAAW;YACzBV,IAAIW,IAAI,IAAIhB,qBAAqBM,SAASI,cAAcP,QAAQ;QAClE,CAAC;QACD,OAAOE;IACT,GAAG,EAAE;AACP;AAyCO,MAAMR,uBAAuBI,CAAAA,QAASD,qBAAqBC;AAI3D,MAAMH,yBAAyB,CAACmB,MAAMf,QAAQC,QAAQ,CAAC,GAAK;IACjE,MAAMe,WAAWC,OAAMC,QAAQ,CAACC,OAAO,CAACJ,KAAKK,KAAK,CAACJ,QAAQ;IAC3D,OAAOA,SAASd,MAAM,CAAC,CAACC,KAAKkB,MAAMf,QAAU;QAC3C,MAAM,CAACgB,SAASlB,QAAQ,GAAGa,OAAMC,QAAQ,CAACC,OAAO,CAACE,KAAKD,KAAK,CAACJ,QAAQ;QACrE,IAAIO;QACJ,MAAMf,eAAe;YACnB,cAAcP;YACd,iBAAiBK,QAAQ;YACzB,gBAAgBU,SAASP,MAAM;YAC/BC,UAAUV,WAAW,IAAI,IAAIA,WAAW,KAAK,IAAI,KAAK,IAAIA,OAAOW,EAAE;YACnEA,IAAI,AAACY,CAAAA,iBAAiBF,KAAKD,KAAK,CAACT,EAAE,AAAD,MAAO,IAAI,IAAIY,mBAAmB,KAAK,IAAIA,iBAAiB,CAAC,iBAAiB,EAAE1B,QAAQ,CAAC;YAC3He,MAAMR,YAAYS;YAClB,GAAGQ,KAAKD,KAAK;YACbJ,UAAUM;QACZ;QACAnB,IAAIW,IAAI,CAACN;QACT,IAAIJ,YAAYS,WAAW;YACzBV,IAAIW,IAAI,IAAIlB,uBAAuBQ,SAASI,cAAcP,QAAQ;QACpE,CAAC;QACD,OAAOE;IACT,GAAG,EAAE;AACP,GACA,uCAAuC"}
1
+ {"version":3,"sources":["../../lib/utils/flattenTree.js"],"sourcesContent":["let count = 1;\nfunction flattenTreeRecursive(items, parent, level = 1) {\n return items.reduce((acc, {\n subtree,\n ...item\n }, index) => {\n var _item_id;\n const id = (_item_id = item.id) !== null && _item_id !== void 0 ? _item_id : `fui-FlatTreeItem-${count++}`;\n var _item_value;\n const flatTreeItem = {\n 'aria-level': level,\n 'aria-posinset': index + 1,\n 'aria-setsize': items.length,\n parentValue: parent === null || parent === void 0 ? void 0 : parent.value,\n value: (_item_value = item.value) !== null && _item_value !== void 0 ? _item_value : id,\n ...item\n };\n acc.push(flatTreeItem);\n if (subtree !== undefined) {\n acc.push(...flattenTreeRecursive(subtree, flatTreeItem, level + 1));\n }\n return acc;\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 */ // eslint-disable-next-line @typescript-eslint/naming-convention\nexport const flattenTree_unstable = items => flattenTreeRecursive(items);\n//# sourceMappingURL=flattenTree.js.map"],"names":["flattenTree_unstable","count","flattenTreeRecursive","items","parent","level","reduce","acc","subtree","item","index","_item_id","id","_item_value","flatTreeItem","length","parentValue","value","push","undefined"],"mappings":";;;;+BAgEaA;;aAAAA;;AAhEb,IAAIC,QAAQ;AACZ,SAASC,qBAAqBC,KAAK,EAAEC,MAAM,EAAEC,QAAQ,CAAC,EAAE;IACtD,OAAOF,MAAMG,MAAM,CAAC,CAACC,KAAK,EACxBC,QAAO,EACP,GAAGC,MACJ,EAAEC,QAAU;QACX,IAAIC;QACJ,MAAMC,KAAK,AAACD,CAAAA,WAAWF,KAAKG,EAAE,AAAD,MAAO,IAAI,IAAID,aAAa,KAAK,IAAIA,WAAW,CAAC,iBAAiB,EAAEV,QAAQ,CAAC;QAC1G,IAAIY;QACJ,MAAMC,eAAe;YACnB,cAAcT;YACd,iBAAiBK,QAAQ;YACzB,gBAAgBP,MAAMY,MAAM;YAC5BC,aAAaZ,WAAW,IAAI,IAAIA,WAAW,KAAK,IAAI,KAAK,IAAIA,OAAOa,KAAK;YACzEA,OAAO,AAACJ,CAAAA,cAAcJ,KAAKQ,KAAK,AAAD,MAAO,IAAI,IAAIJ,gBAAgB,KAAK,IAAIA,cAAcD,EAAE;YACvF,GAAGH,IAAI;QACT;QACAF,IAAIW,IAAI,CAACJ;QACT,IAAIN,YAAYW,WAAW;YACzBZ,IAAIW,IAAI,IAAIhB,qBAAqBM,SAASM,cAAcT,QAAQ;QAClE,CAAC;QACD,OAAOE;IACT,GAAG,EAAE;AACP;AAyCO,MAAMP,uBAAuBG,CAAAA,QAASD,qBAAqBC,QAClE,uCAAuC"}
@@ -20,16 +20,16 @@ const treeAvatarSize = {
20
20
  small: 24
21
21
  };
22
22
  const treeDataTypes = {
23
- arrowLeft: _keyboardKeys.ArrowLeft,
24
- arrowRight: _keyboardKeys.ArrowRight,
25
- enter: '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'
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'
33
33
  }; //# sourceMappingURL=tokens.js.map
34
34
 
35
35
  //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/utils/tokens.js"],"sourcesContent":["import { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, End, Home } 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: 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//# sourceMappingURL=tokens.js.map"],"names":["treeItemLevelToken","treeAvatarSize","treeDataTypes","medium","small","arrowLeft","ArrowLeft","arrowRight","ArrowRight","enter","click","expandIconClick","end","End","home","Home","arrowUp","ArrowUp","arrowDown","ArrowDown","typeAhead"],"mappings":";;;;;;;;;;;IACaA,kBAAkB,MAAlBA;IACAC,cAAc,MAAdA;IAIAC,aAAa,MAAbA;;8BANwD;AAC9D,MAAMF,qBAAqB;AAC3B,MAAMC,iBAAiB;IAC5BE,QAAQ;IACRC,OAAO;AACT;AACO,MAAMF,gBAAgB;IAC3BG,WAAWC,uBAAS;IACpBC,YAAYC,wBAAU;IACtBC,OAAO;IACPC,OAAO;IACPC,iBAAiB;IACjBC,KAAKC,iBAAG;IACRC,MAAMC,kBAAI;IACVC,SAASC,qBAAO;IAChBC,WAAWC,uBAAS;IACpBC,WAAW;AACb,GACA,kCAAkC"}
1
+ {"version":3,"sources":["../../lib/utils/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//# sourceMappingURL=tokens.js.map"],"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;IAC5BE,QAAQ;IACRC,OAAO;AACT;AACO,MAAMF,gBAAgB;IAC3BG,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;AACb,GACA,kCAAkC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui/react-tree",
3
- "version": "9.0.0-beta.11",
3
+ "version": "9.0.0-beta.13",
4
4
  "description": "React components for building web experiences",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -23,30 +23,31 @@
23
23
  "generate-api": "just-scripts generate-api",
24
24
  "type-check": "tsc -b tsconfig.json",
25
25
  "storybook": "start-storybook",
26
- "start": "yarn storybook"
26
+ "start": "yarn storybook",
27
+ "test-ssr": "test-ssr ./stories/**/*.stories.tsx"
27
28
  },
28
29
  "devDependencies": {
29
30
  "@fluentui/eslint-plugin": "*",
30
31
  "@fluentui/react-conformance": "*",
31
- "@fluentui/react-conformance-griffel": "9.0.0-beta.20",
32
+ "@fluentui/react-conformance-griffel": "9.0.0-beta.21",
32
33
  "@fluentui/scripts-api-extractor": "*",
33
34
  "@fluentui/scripts-tasks": "*",
34
35
  "@fluentui/scripts-cypress": "*",
35
36
  "react-window": "^1.8.6"
36
37
  },
37
38
  "dependencies": {
38
- "@fluentui/keyboard-keys": "^9.0.2",
39
- "@fluentui/react-aria": "^9.3.18",
40
- "@fluentui/react-avatar": "^9.4.9",
41
- "@fluentui/react-button": "^9.3.9",
42
- "@fluentui/react-context-selector": "^9.1.18",
39
+ "@fluentui/keyboard-keys": "^9.0.3",
40
+ "@fluentui/react-aria": "^9.3.19",
41
+ "@fluentui/react-avatar": "^9.5.0",
42
+ "@fluentui/react-button": "^9.3.11",
43
+ "@fluentui/react-context-selector": "^9.1.19",
43
44
  "@fluentui/react-icons": "^2.0.196",
44
- "@fluentui/react-portal": "^9.2.6",
45
- "@fluentui/react-shared-contexts": "^9.3.3",
46
- "@fluentui/react-tabster": "^9.6.5",
47
- "@fluentui/react-theme": "^9.1.7",
48
- "@fluentui/react-utilities": "^9.8.0",
49
- "@fluentui/react-jsx-runtime": "^9.0.0-alpha.1",
45
+ "@fluentui/react-portal": "^9.2.7",
46
+ "@fluentui/react-shared-contexts": "^9.4.0",
47
+ "@fluentui/react-tabster": "^9.7.0",
48
+ "@fluentui/react-theme": "^9.1.8",
49
+ "@fluentui/react-utilities": "^9.8.1",
50
+ "@fluentui/react-jsx-runtime": "9.0.0-alpha.3",
50
51
  "@griffel/react": "^1.5.2",
51
52
  "@swc/helpers": "^0.4.14"
52
53
  },
package/.swcrc DELETED
@@ -1,30 +0,0 @@
1
- {
2
- "$schema": "https://json.schemastore.org/swcrc",
3
- "exclude": [
4
- "/testing",
5
- "/**/*.cy.ts",
6
- "/**/*.cy.tsx",
7
- "/**/*.spec.ts",
8
- "/**/*.spec.tsx",
9
- "/**/*.test.ts",
10
- "/**/*.test.tsx"
11
- ],
12
- "jsc": {
13
- "parser": {
14
- "syntax": "typescript",
15
- "tsx": true,
16
- "decorators": false,
17
- "dynamicImport": false
18
- },
19
- "externalHelpers": true,
20
- "transform": {
21
- "react": {
22
- "runtime": "classic",
23
- "useSpread": true
24
- }
25
- },
26
- "target": "es2019"
27
- },
28
- "minify": false,
29
- "sourceMaps": true
30
- }
@@ -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/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;AAGzC,SAASC,MAAM,QAAQ;AAEvB,OAAO,MAAMC,cAAA,GAA4C;EACvDC,IAAA,EAAM;AACR;AAEA,MAAMC,SAAA,gBAAYL,QAAA;EAAAI,IAAA;IAAAE,MAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;AAAA;EAAAC,CAAA;AAAA,EAMlB;AAEA,OAAO,MAAMC,sBAAA,GAA0BC,KAAA,IAAgC;EACrE,MAAMC,MAAA,GAASP,SAAA;EACfM,KAAA,CAAMP,IAAI,CAACS,SAAS,GAAGZ,YAAA,CAAaE,cAAA,CAAeC,IAAI,EAAEQ,MAAA,CAAOR,IAAI,EAAEO,KAAA,CAAMP,IAAI,CAACS,SAAS;EAE1F,OAAOF,KAAA;AACT"}
@@ -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