@fluentui/react-tree 9.0.0-beta.1 → 9.0.0-beta.10

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 (183) hide show
  1. package/.swcrc +30 -0
  2. package/CHANGELOG.json +385 -1
  3. package/CHANGELOG.md +118 -2
  4. package/dist/index.d.ts +139 -25
  5. package/lib/Tree.js.map +1 -1
  6. package/lib/TreeItem.js.map +1 -1
  7. package/lib/TreeItemLayout.js.map +1 -1
  8. package/lib/TreeItemPersonaLayout.js.map +1 -1
  9. package/lib/components/Tree/Tree.js.map +1 -1
  10. package/lib/components/Tree/Tree.types.js +1 -1
  11. package/lib/components/Tree/Tree.types.js.map +1 -1
  12. package/lib/components/Tree/index.js.map +1 -1
  13. package/lib/components/Tree/renderTree.js +1 -3
  14. package/lib/components/Tree/renderTree.js.map +1 -1
  15. package/lib/components/Tree/useTree.js +5 -4
  16. package/lib/components/Tree/useTree.js.map +1 -1
  17. package/lib/components/Tree/useTreeContextValues.js +3 -3
  18. package/lib/components/Tree/useTreeContextValues.js.map +1 -1
  19. package/lib/components/Tree/useTreeStyles.js.map +1 -1
  20. package/lib/components/TreeItem/TreeItem.js +10 -1
  21. package/lib/components/TreeItem/TreeItem.js.map +1 -1
  22. package/lib/components/TreeItem/TreeItem.types.js +1 -1
  23. package/lib/components/TreeItem/TreeItem.types.js.map +1 -1
  24. package/lib/components/TreeItem/index.js.map +1 -1
  25. package/lib/components/TreeItem/renderTreeItem.js +2 -12
  26. package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
  27. package/lib/components/TreeItem/useTreeItem.js.map +1 -1
  28. package/lib/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  29. package/lib/components/TreeItem/useTreeItemStyles.js.map +1 -1
  30. package/lib/components/TreeItemLayout/TreeItemLayout.js +3 -1
  31. package/lib/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  32. package/lib/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  33. package/lib/components/TreeItemLayout/index.js.map +1 -1
  34. package/lib/components/TreeItemLayout/renderTreeItemLayout.js +1 -9
  35. package/lib/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  36. package/lib/components/TreeItemLayout/useTreeItemLayout.js +1 -0
  37. package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  38. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +1 -1
  39. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +3 -1
  40. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  41. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  42. package/lib/components/TreeItemPersonaLayout/index.js.map +1 -1
  43. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +2 -14
  44. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  45. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +1 -0
  46. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  47. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  48. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +1 -1
  49. package/lib/contexts/index.js.map +1 -1
  50. package/lib/contexts/treeContext.js +1 -2
  51. package/lib/contexts/treeContext.js.map +1 -1
  52. package/lib/contexts/treeItemContext.js +2 -4
  53. package/lib/contexts/treeItemContext.js.map +1 -1
  54. package/lib/hooks/index.js +1 -1
  55. package/lib/hooks/index.js.map +1 -1
  56. package/lib/hooks/useFlatTree.js +77 -0
  57. package/lib/hooks/useFlatTree.js.map +1 -0
  58. package/lib/hooks/useFlatTreeNavigation.js +10 -10
  59. package/lib/hooks/useFlatTreeNavigation.js.map +1 -1
  60. package/lib/hooks/useHTMLElementWalker.js +5 -5
  61. package/lib/hooks/useHTMLElementWalker.js.map +1 -1
  62. package/lib/hooks/useNestedTreeNavigation.js.map +1 -1
  63. package/lib/hooks/useOpenItemsState.js.map +1 -1
  64. package/lib/hooks/useRovingTabIndexes.js.map +1 -1
  65. package/lib/index.js +1 -1
  66. package/lib/index.js.map +1 -1
  67. package/lib/utils/ImmutableSet.js.map +1 -1
  68. package/lib/utils/assert.js +1 -0
  69. package/lib/utils/assert.js.map +1 -1
  70. package/lib/utils/createFlatTreeItems.js +109 -0
  71. package/lib/utils/createFlatTreeItems.js.map +1 -0
  72. package/lib/utils/flattenTree.js +75 -16
  73. package/lib/utils/flattenTree.js.map +1 -1
  74. package/lib/utils/nextTypeAheadElement.js +2 -2
  75. package/lib/utils/nextTypeAheadElement.js.map +1 -1
  76. package/lib/utils/normalizeOpenItems.js.map +1 -1
  77. package/lib/utils/tokens.js.map +1 -1
  78. package/lib/utils/treeItemFilter.js.map +1 -1
  79. package/lib-commonjs/Tree.js +5 -4
  80. package/lib-commonjs/Tree.js.map +1 -1
  81. package/lib-commonjs/TreeItem.js +5 -4
  82. package/lib-commonjs/TreeItem.js.map +1 -1
  83. package/lib-commonjs/TreeItemLayout.js +5 -4
  84. package/lib-commonjs/TreeItemLayout.js.map +1 -1
  85. package/lib-commonjs/TreeItemPersonaLayout.js +5 -4
  86. package/lib-commonjs/TreeItemPersonaLayout.js.map +1 -1
  87. package/lib-commonjs/components/Tree/Tree.js +18 -22
  88. package/lib-commonjs/components/Tree/Tree.js.map +1 -1
  89. package/lib-commonjs/components/Tree/Tree.types.js +5 -2
  90. package/lib-commonjs/components/Tree/Tree.types.js.map +1 -1
  91. package/lib-commonjs/components/Tree/index.js +10 -9
  92. package/lib-commonjs/components/Tree/index.js.map +1 -1
  93. package/lib-commonjs/components/Tree/renderTree.js +16 -18
  94. package/lib-commonjs/components/Tree/renderTree.js.map +1 -1
  95. package/lib-commonjs/components/Tree/useTree.js +88 -101
  96. package/lib-commonjs/components/Tree/useTree.js.map +1 -1
  97. package/lib-commonjs/components/Tree/useTreeContextValues.js +22 -28
  98. package/lib-commonjs/components/Tree/useTreeContextValues.js.map +1 -1
  99. package/lib-commonjs/components/Tree/useTreeStyles.js +31 -20
  100. package/lib-commonjs/components/Tree/useTreeStyles.js.map +1 -1
  101. package/lib-commonjs/components/TreeItem/TreeItem.js +18 -17
  102. package/lib-commonjs/components/TreeItem/TreeItem.js.map +1 -1
  103. package/lib-commonjs/components/TreeItem/TreeItem.types.js +5 -3
  104. package/lib-commonjs/components/TreeItem/TreeItem.types.js.map +1 -1
  105. package/lib-commonjs/components/TreeItem/index.js +9 -8
  106. package/lib-commonjs/components/TreeItem/index.js.map +1 -1
  107. package/lib-commonjs/components/TreeItem/renderTreeItem.js +19 -32
  108. package/lib-commonjs/components/TreeItem/renderTreeItem.js.map +1 -1
  109. package/lib-commonjs/components/TreeItem/useTreeItem.js +229 -249
  110. package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
  111. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js +24 -20
  112. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  113. package/lib-commonjs/components/TreeItem/useTreeItemStyles.js +353 -188
  114. package/lib-commonjs/components/TreeItem/useTreeItemStyles.js.map +1 -1
  115. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js +16 -15
  116. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  117. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js +3 -2
  118. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  119. package/lib-commonjs/components/TreeItemLayout/index.js +9 -8
  120. package/lib-commonjs/components/TreeItemLayout/index.js.map +1 -1
  121. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js +14 -27
  122. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  123. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +42 -52
  124. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  125. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js +126 -88
  126. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +1 -1
  127. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +18 -17
  128. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  129. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +3 -2
  130. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  131. package/lib-commonjs/components/TreeItemPersonaLayout/index.js +9 -8
  132. package/lib-commonjs/components/TreeItemPersonaLayout/index.js.map +1 -1
  133. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +17 -34
  134. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  135. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +46 -61
  136. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  137. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +18 -15
  138. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  139. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js +165 -101
  140. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +1 -1
  141. package/lib-commonjs/contexts/index.js +6 -5
  142. package/lib-commonjs/contexts/index.js.map +1 -1
  143. package/lib-commonjs/contexts/treeContext.js +25 -17
  144. package/lib-commonjs/contexts/treeContext.js.map +1 -1
  145. package/lib-commonjs/contexts/treeItemContext.js +20 -12
  146. package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
  147. package/lib-commonjs/hooks/index.js +7 -6
  148. package/lib-commonjs/hooks/index.js.map +1 -1
  149. package/lib-commonjs/hooks/useFlatTree.js +86 -0
  150. package/lib-commonjs/hooks/useFlatTree.js.map +1 -0
  151. package/lib-commonjs/hooks/useFlatTreeNavigation.js +73 -72
  152. package/lib-commonjs/hooks/useFlatTreeNavigation.js.map +1 -1
  153. package/lib-commonjs/hooks/useHTMLElementWalker.js +94 -83
  154. package/lib-commonjs/hooks/useHTMLElementWalker.js.map +1 -1
  155. package/lib-commonjs/hooks/useNestedTreeNavigation.js +61 -58
  156. package/lib-commonjs/hooks/useNestedTreeNavigation.js.map +1 -1
  157. package/lib-commonjs/hooks/useOpenItemsState.js +32 -22
  158. package/lib-commonjs/hooks/useOpenItemsState.js.map +1 -1
  159. package/lib-commonjs/hooks/useRovingTabIndexes.js +56 -53
  160. package/lib-commonjs/hooks/useRovingTabIndexes.js.map +1 -1
  161. package/lib-commonjs/index.js +48 -180
  162. package/lib-commonjs/index.js.map +1 -1
  163. package/lib-commonjs/utils/ImmutableSet.js +39 -38
  164. package/lib-commonjs/utils/ImmutableSet.js.map +1 -1
  165. package/lib-commonjs/utils/assert.js +13 -9
  166. package/lib-commonjs/utils/assert.js.map +1 -1
  167. package/lib-commonjs/utils/createFlatTreeItems.js +126 -0
  168. package/lib-commonjs/utils/createFlatTreeItems.js.map +1 -0
  169. package/lib-commonjs/utils/flattenTree.js +55 -32
  170. package/lib-commonjs/utils/flattenTree.js.map +1 -1
  171. package/lib-commonjs/utils/nextTypeAheadElement.js +18 -16
  172. package/lib-commonjs/utils/nextTypeAheadElement.js.map +1 -1
  173. package/lib-commonjs/utils/normalizeOpenItems.js +13 -9
  174. package/lib-commonjs/utils/normalizeOpenItems.js.map +1 -1
  175. package/lib-commonjs/utils/tokens.js +30 -20
  176. package/lib-commonjs/utils/tokens.js.map +1 -1
  177. package/lib-commonjs/utils/treeItemFilter.js +9 -7
  178. package/lib-commonjs/utils/treeItemFilter.js.map +1 -1
  179. package/package.json +19 -15
  180. package/lib/hooks/useFlatTreeItems.js +0 -134
  181. package/lib/hooks/useFlatTreeItems.js.map +0 -1
  182. package/lib-commonjs/hooks/useFlatTreeItems.js +0 -141
  183. package/lib-commonjs/hooks/useFlatTreeItems.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["assertIsDefinedRef","refObject","msg","current","undefined","process","env","NODE_ENV","TypeError","exports"],"sources":["../src/packages/react-components/react-tree/src/utils/assert.ts"],"sourcesContent":["import * as React from 'react';\n\nexport function assertIsDefinedRef<V>(\n refObject: React.RefObject<V | null | undefined>,\n msg = `assertIsDefinedRef: reference not properly defined ${refObject}`,\n): asserts refObject is React.MutableRefObject<V> {\n // eslint-disable-next-line eqeqeq\n if (refObject.current == undefined && process.env.NODE_ENV === 'development') {\n throw new TypeError(msg);\n }\n}\n"],"mappings":";;;;;;AAEA,SAAgBA,kBAAkBA,CAChCC,SAAgD,EAChDC,GAAG,GAAG,sDAAsDD,SAAS,EAAE;EAEvE;EACA,IAAIA,SAAS,CAACE,OAAO,IAAIC,SAAS,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,EAAE;IAC5E,MAAM,IAAIC,SAAS,CAACN,GAAG,CAAC;;AAE5B;AARAO,OAAA,CAAAT,kBAAA,GAAAA,kBAAA"}
1
+ {"version":3,"sources":["../../lib/utils/assert.js"],"sourcesContent":["import * as React from 'react';\nexport function assertIsDefinedRef(refObject, msg = `assertIsDefinedRef: reference not properly defined ${refObject}`) {\n // eslint-disable-next-line eqeqeq\n if (refObject.current == undefined && process.env.NODE_ENV === 'development') {\n throw new TypeError(msg);\n }\n}\n//# sourceMappingURL=assert.js.map"],"names":["assertIsDefinedRef","refObject","msg","current","undefined","process","env","NODE_ENV","TypeError"],"mappings":";;;;+BACgBA;;aAAAA;;;6DADO;AAChB,SAASA,mBAAmBC,SAAS,EAAEC,MAAM,CAAC,mDAAmD,EAAED,UAAU,CAAC,EAAE;IACrH,kCAAkC;IAClC,IAAIA,UAAUE,OAAO,IAAIC,aAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC5E,MAAM,IAAIC,UAAUN,KAAK;IAC3B,CAAC;AACH,EACA,kCAAkC"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * creates a list of flat tree items
3
+ * and provides a map to access each item by id
4
+ */ "use strict";
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ function _export(target, all) {
9
+ for(var name in all)Object.defineProperty(target, name, {
10
+ enumerable: true,
11
+ get: all[name]
12
+ });
13
+ }
14
+ _export(exports, {
15
+ createFlatTreeItems: ()=>createFlatTreeItems,
16
+ flatTreeRootId: ()=>flatTreeRootId,
17
+ VisibleFlatTreeItemGenerator: ()=>VisibleFlatTreeItemGenerator
18
+ });
19
+ function createFlatTreeItems(flatTreeItemProps) {
20
+ const root = createFlatTreeRootItem();
21
+ const itemsPerId = new Map([
22
+ [
23
+ flatTreeRootId,
24
+ root
25
+ ]
26
+ ]);
27
+ const items = [];
28
+ for(let index = 0; index < flatTreeItemProps.length; index++){
29
+ const { parentId =flatTreeRootId , ...treeItemProps } = flatTreeItemProps[index];
30
+ const nextItemProps = flatTreeItemProps[index + 1];
31
+ const currentParent = itemsPerId.get(parentId);
32
+ if (!currentParent) {
33
+ if (process.env.NODE_ENV === 'development') {
34
+ // eslint-disable-next-line no-console
35
+ console.error(`useFlatTree: item ${flatTreeItemProps[index].id} is wrongly positioned, did you properly ordered provided item props? make sure provided items are organized`);
36
+ }
37
+ break;
38
+ }
39
+ const isLeaf = (nextItemProps === null || nextItemProps === void 0 ? void 0 : nextItemProps.parentId) !== treeItemProps.id;
40
+ var _currentParent_level;
41
+ const currentLevel = ((_currentParent_level = currentParent.level) !== null && _currentParent_level !== void 0 ? _currentParent_level : 0) + 1;
42
+ const currentChildrenSize = ++currentParent.childrenSize;
43
+ const flatTreeItem = {
44
+ id: treeItemProps.id,
45
+ getTreeItemProps: ()=>({
46
+ ...treeItemProps,
47
+ 'aria-level': currentLevel,
48
+ 'aria-posinset': currentChildrenSize,
49
+ 'aria-setsize': currentParent.childrenSize,
50
+ leaf: isLeaf
51
+ }),
52
+ level: currentLevel,
53
+ parentId,
54
+ childrenSize: 0,
55
+ index: -1
56
+ };
57
+ itemsPerId.set(flatTreeItem.id, flatTreeItem);
58
+ items.push(flatTreeItem);
59
+ }
60
+ return {
61
+ root,
62
+ size: items.length,
63
+ getByIndex: (index)=>items[index],
64
+ get: (id)=>itemsPerId.get(id),
65
+ set: (id, value)=>itemsPerId.set(id, value)
66
+ };
67
+ }
68
+ const flatTreeRootId = '__fuiFlatTreeRoot';
69
+ function createFlatTreeRootItem() {
70
+ return {
71
+ id: flatTreeRootId,
72
+ getTreeItemProps: ()=>{
73
+ if (process.env.NODE_ENV !== 'production') {
74
+ // eslint-disable-next-line no-console
75
+ console.error('useFlatTree: internal error, trying to access treeitem props from invalid root element');
76
+ }
77
+ return {
78
+ id: flatTreeRootId,
79
+ 'aria-setsize': -1,
80
+ 'aria-level': -1,
81
+ 'aria-posinset': -1,
82
+ leaf: true
83
+ };
84
+ },
85
+ childrenSize: 0,
86
+ get index () {
87
+ if (process.env.NODE_ENV !== 'production') {
88
+ // eslint-disable-next-line no-console
89
+ console.error('useFlatTree: internal error, trying to access treeitem props from invalid root element');
90
+ }
91
+ return -1;
92
+ },
93
+ level: 0
94
+ };
95
+ }
96
+ function* VisibleFlatTreeItemGenerator(openItems, flatTreeItems) {
97
+ for(let index = 0, visibleIndex = 0; index < flatTreeItems.size; index++){
98
+ 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
+ if (isItemVisible(item, openItems, flatTreeItems)) {
102
+ item.index = visibleIndex++;
103
+ yield item;
104
+ } else {
105
+ index += parent.childrenSize - 1 + item.childrenSize;
106
+ }
107
+ }
108
+ }
109
+ function isItemVisible(item, openItems, flatTreeItems) {
110
+ if (item.level === 1) {
111
+ return true;
112
+ }
113
+ while(item.parentId && item.parentId !== flatTreeItems.root.id){
114
+ if (!openItems.has(item.parentId)) {
115
+ return false;
116
+ }
117
+ const parent = flatTreeItems.get(item.parentId);
118
+ if (!parent) {
119
+ return false;
120
+ }
121
+ item = parent;
122
+ }
123
+ return true;
124
+ } //# sourceMappingURL=createFlatTreeItems.js.map
125
+
126
+ //# sourceMappingURL=createFlatTreeItems.js.map
@@ -0,0 +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":"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"}
@@ -1,38 +1,61 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
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
+ flattenTree_unstable: ()=>flattenTree_unstable,
13
+ flattenTreeFromElement: ()=>flattenTreeFromElement
5
14
  });
6
- exports.flattenTree_unstable = void 0;
15
+ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
16
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
7
17
  let count = 1;
8
- // eslint-disable-next-line @typescript-eslint/naming-convention
9
- function flattenTreeRecursive_unstable(items, parent, level = 1) {
10
- var _a;
11
- const flatTreeItems = [];
12
- for (let index = 0; index < items.length; index++) {
13
- const {
14
- subtree,
15
- ...item
16
- } = items[index];
17
- const flatTreeItem = {
18
- 'aria-level': level,
19
- 'aria-posinset': index + 1,
20
- 'aria-setsize': items.length,
21
- parentId: parent === null || parent === void 0 ? void 0 : parent.id,
22
- id: (_a = item.id) !== null && _a !== void 0 ? _a : `fui-FlatTreeItem-${count++}`,
23
- leaf: subtree === undefined,
24
- ...item
25
- };
26
- flatTreeItems.push(flatTreeItem);
27
- if (subtree !== undefined) {
28
- flatTreeItems.push(...flattenTreeRecursive_unstable(subtree, flatTreeItem, level + 1));
29
- }
30
- }
31
- return flatTreeItems;
18
+ function flattenTreeRecursive(items, parent, level = 1) {
19
+ return items.reduce((acc, { subtree , ...item }, index)=>{
20
+ var _item_id;
21
+ const flatTreeItem = {
22
+ 'aria-level': level,
23
+ 'aria-posinset': index + 1,
24
+ '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,
28
+ ...item
29
+ };
30
+ acc.push(flatTreeItem);
31
+ if (subtree !== undefined) {
32
+ acc.push(...flattenTreeRecursive(subtree, flatTreeItem, level + 1));
33
+ }
34
+ return acc;
35
+ }, []);
32
36
  }
33
- /**
34
- * Converts a nested structure to a flat one which can be consumed by `useFlatTreeItems`
35
- */
36
- // eslint-disable-next-line @typescript-eslint/naming-convention
37
- exports.flattenTree_unstable = flattenTreeRecursive_unstable;
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
60
+
38
61
  //# sourceMappingURL=flattenTree.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["count","flattenTreeRecursive_unstable","items","parent","level","flatTreeItems","index","length","subtree","item","flatTreeItem","parentId","id","_a","leaf","undefined","push","exports","flattenTree_unstable"],"sources":["../src/packages/react-components/react-tree/src/utils/flattenTree.ts"],"sourcesContent":["import { FlatTreeItem } from '../hooks/useFlatTreeItems';\nimport { TreeItemProps } from '../TreeItem';\n\nexport type NestedTreeItem = Omit<TreeItemProps, 'subtree'> & {\n subtree?: NestedTreeItem[];\n};\n\nlet count = 1;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nfunction flattenTreeRecursive_unstable(items: NestedTreeItem[], parent?: FlatTreeItem, level = 1): FlatTreeItem[] {\n const flatTreeItems: FlatTreeItem[] = [];\n for (let index = 0; index < items.length; index++) {\n const { subtree, ...item } = items[index];\n const flatTreeItem: FlatTreeItem = {\n 'aria-level': level,\n 'aria-posinset': index + 1,\n 'aria-setsize': items.length,\n parentId: parent?.id,\n id: item.id ?? `fui-FlatTreeItem-${count++}`,\n leaf: subtree === undefined,\n ...item,\n };\n flatTreeItems.push(flatTreeItem);\n if (subtree !== undefined) {\n flatTreeItems.push(...flattenTreeRecursive_unstable(subtree, flatTreeItem, level + 1));\n }\n }\n return flatTreeItems;\n}\n\n/**\n * Converts a nested structure to a flat one which can be consumed by `useFlatTreeItems`\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const flattenTree_unstable: (items: NestedTreeItem[]) => FlatTreeItem[] = flattenTreeRecursive_unstable;\n"],"mappings":";;;;;;AAOA,IAAIA,KAAK,GAAG,CAAC;AAEb;AACA,SAASC,6BAA6BA,CAACC,KAAuB,EAAEC,MAAqB,EAAEC,KAAK,GAAG,CAAC;;EAC9F,MAAMC,aAAa,GAAmB,EAAE;EACxC,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGJ,KAAK,CAACK,MAAM,EAAED,KAAK,EAAE,EAAE;IACjD,MAAM;MAAEE,OAAO;MAAE,GAAGC;IAAI,CAAE,GAAGP,KAAK,CAACI,KAAK,CAAC;IACzC,MAAMI,YAAY,GAAiB;MACjC,YAAY,EAAEN,KAAK;MACnB,eAAe,EAAEE,KAAK,GAAG,CAAC;MAC1B,cAAc,EAAEJ,KAAK,CAACK,MAAM;MAC5BI,QAAQ,EAAER,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAES,EAAE;MACpBA,EAAE,EAAE,CAAAC,EAAA,GAAAJ,IAAI,CAACG,EAAE,cAAAC,EAAA,cAAAA,EAAA,GAAI,oBAAoBb,KAAK,EAAE,EAAE;MAC5Cc,IAAI,EAAEN,OAAO,KAAKO,SAAS;MAC3B,GAAGN;KACJ;IACDJ,aAAa,CAACW,IAAI,CAACN,YAAY,CAAC;IAChC,IAAIF,OAAO,KAAKO,SAAS,EAAE;MACzBV,aAAa,CAACW,IAAI,CAAC,GAAGf,6BAA6B,CAACO,OAAO,EAAEE,YAAY,EAAEN,KAAK,GAAG,CAAC,CAAC,CAAC;;;EAG1F,OAAOC,aAAa;AACtB;AAEA;;;AAGA;AACaY,OAAA,CAAAC,oBAAoB,GAAgDjB,6BAA6B"}
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,21 +1,23 @@
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;
19
- }
20
- exports.nextTypeAheadElement = nextTypeAheadElement;
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;
21
+ } //# sourceMappingURL=nextTypeAheadElement.js.map
22
+
21
23
  //# 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":["../../lib/utils/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//# sourceMappingURL=nextTypeAheadElement.js.map"],"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;IACpD,MAAMC,iBAAiBD,IAAIE,WAAW;IACtC,MAAMC,kBAAkBC,CAAAA,UAAW;QACjC,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;IACzO;IACA,IAAIC,cAAcb,WAAWa,WAAW,CAACT;IACzC,IAAI,CAACS,aAAa;QAChBb,WAAWc,cAAc,GAAGd,WAAWe,IAAI;QAC3CF,cAAcb,WAAWa,WAAW,CAACT;IACvC,CAAC;IACD,OAAOS;AACT,EACA,gDAAgD"}
@@ -1,14 +1,18 @@
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];
12
- }
13
- exports.normalizeOpenItems = normalizeOpenItems;
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
+ ];
16
+ } //# sourceMappingURL=normalizeOpenItems.js.map
17
+
14
18
  //# 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":["../../lib/utils/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 : [openSubtrees];\n}\n//# sourceMappingURL=normalizeOpenItems.js.map"],"names":["normalizeOpenItems","openSubtrees","options","keepUndefined","undefined","Array","isArray"],"mappings":";;;;+BAAgBA;;aAAAA;;AAAT,SAASA,mBAAmBC,YAAY,EAAEC,OAAO,EAAE;IACxD,IAAI,CAACD,cAAc;QACjB,OAAO,AAACC,CAAAA,YAAY,IAAI,IAAIA,YAAY,KAAK,IAAI,KAAK,IAAIA,QAAQC,aAAa,AAAD,IAAKC,YAAY,EAAE;IACnG,CAAC;IACD,OAAOC,MAAMC,OAAO,CAACL,gBAAgBA,eAAe;QAACA;KAAa;AACpE,EACA,8CAA8C"}
@@ -1,25 +1,35 @@
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
12
- };
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'
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
24
21
  };
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'
33
+ }; //# sourceMappingURL=tokens.js.map
34
+
25
35
  //# 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":["../../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,11 +1,13 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "treeItemFilter", {
6
+ enumerable: true,
7
+ get: ()=>treeItemFilter
5
8
  });
6
- exports.treeItemFilter = void 0;
7
- const treeItemFilter = element => {
8
- return element.getAttribute('role') === 'treeitem' ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
9
- };
10
- exports.treeItemFilter = treeItemFilter;
9
+ const treeItemFilter = (element)=>{
10
+ return element.getAttribute('role') === 'treeitem' ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
11
+ }; //# sourceMappingURL=treeItemFilter.js.map
12
+
11
13
  //# 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":["../../lib/utils/treeItemFilter.js"],"sourcesContent":["export const treeItemFilter = element => {\n return element.getAttribute('role') === 'treeitem' ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n};\n//# sourceMappingURL=treeItemFilter.js.map"],"names":["treeItemFilter","element","getAttribute","NodeFilter","FILTER_ACCEPT","FILTER_SKIP"],"mappings":";;;;+BAAaA;;aAAAA;;AAAN,MAAMA,iBAAiBC,CAAAA,UAAW;IACvC,OAAOA,QAAQC,YAAY,CAAC,YAAY,aAAaC,WAAWC,aAAa,GAAGD,WAAWE,WAAW;AACxG,GACA,0CAA0C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui/react-tree",
3
- "version": "9.0.0-beta.1",
3
+ "version": "9.0.0-beta.10",
4
4
  "description": "React components for building web experiences",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -18,7 +18,9 @@
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
26
  "start": "yarn storybook"
@@ -26,25 +28,26 @@
26
28
  "devDependencies": {
27
29
  "@fluentui/eslint-plugin": "*",
28
30
  "@fluentui/react-conformance": "*",
29
- "@fluentui/react-conformance-griffel": "9.0.0-beta.19",
31
+ "@fluentui/react-conformance-griffel": "9.0.0-beta.20",
30
32
  "@fluentui/scripts-api-extractor": "*",
31
33
  "@fluentui/scripts-tasks": "*",
34
+ "@fluentui/scripts-cypress": "*",
32
35
  "react-window": "^1.8.6"
33
36
  },
34
37
  "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",
38
+ "@fluentui/keyboard-keys": "^9.0.2",
39
+ "@fluentui/react-aria": "^9.3.17",
40
+ "@fluentui/react-avatar": "^9.4.8",
41
+ "@fluentui/react-button": "^9.3.8",
42
+ "@fluentui/react-context-selector": "^9.1.17",
43
+ "@fluentui/react-icons": "^2.0.196",
44
+ "@fluentui/react-portal": "^9.2.5",
45
+ "@fluentui/react-shared-contexts": "^9.3.3",
46
+ "@fluentui/react-tabster": "^9.6.4",
47
+ "@fluentui/react-theme": "^9.1.7",
48
+ "@fluentui/react-utilities": "^9.7.4",
46
49
  "@griffel/react": "^1.5.2",
47
- "tslib": "^2.1.0"
50
+ "@swc/helpers": "^0.4.14"
48
51
  },
49
52
  "peerDependencies": {
50
53
  "@types/react": ">=16.8.0 <19.0.0",
@@ -62,6 +65,7 @@
62
65
  "exports": {
63
66
  ".": {
64
67
  "types": "./dist/index.d.ts",
68
+ "node": "./lib-commonjs/index.js",
65
69
  "import": "./lib/index.js",
66
70
  "require": "./lib-commonjs/index.js"
67
71
  },