@fluentui/react-tree 9.0.0-beta.12 → 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 +147 -4
  2. package/CHANGELOG.md +34 -5
  3. package/dist/index.d.ts +142 -81
  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 +1 -1
  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 +58 -181
  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} +46 -18
  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 +7 -7
  77. package/lib/hooks/useFlatTree.js.map +1 -1
  78. package/lib/hooks/useFlatTreeNavigation.js +8 -8
  79. package/lib/hooks/useFlatTreeNavigation.js.map +1 -1
  80. package/lib/hooks/useNestedTreeNavigation.js +8 -8
  81. package/lib/hooks/useNestedTreeNavigation.js.map +1 -1
  82. package/lib/hooks/useOpenItemsState.js +1 -1
  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 +12 -10
  87. package/lib/utils/createFlatTreeItems.js.map +1 -1
  88. package/lib/utils/flattenTree.js +0 -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 +55 -172
  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 +15 -10
  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} +82 -28
  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 +7 -7
  161. package/lib-commonjs/hooks/useFlatTree.js.map +1 -1
  162. package/lib-commonjs/hooks/useFlatTreeNavigation.js +8 -8
  163. package/lib-commonjs/hooks/useFlatTreeNavigation.js.map +1 -1
  164. package/lib-commonjs/hooks/useNestedTreeNavigation.js +8 -8
  165. package/lib-commonjs/hooks/useNestedTreeNavigation.js.map +1 -1
  166. package/lib-commonjs/hooks/useOpenItemsState.js +1 -3
  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 +12 -10
  171. package/lib-commonjs/utils/createFlatTreeItems.js.map +1 -1
  172. package/lib-commonjs/utils/flattenTree.js +4 -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
@@ -18,8 +18,7 @@ const _immutableSet = require("../utils/ImmutableSet");
18
18
  const defaultContextValue = {
19
19
  level: 0,
20
20
  openItems: _immutableSet.emptyImmutableSet,
21
- requestOpenChange: noop,
22
- requestNavigation: noop,
21
+ requestTreeResponse: noop,
23
22
  appearance: 'subtle',
24
23
  size: 'medium'
25
24
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/contexts/treeContext.js"],"sourcesContent":["import { createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport { emptyImmutableSet } from '../utils/ImmutableSet';\nconst defaultContextValue = {\n level: 0,\n openItems: emptyImmutableSet,\n requestOpenChange: noop,\n requestNavigation: noop,\n appearance: 'subtle',\n size: 'medium'\n};\nfunction noop() {\n /* noop */}\nexport const TreeContext = /*#__PURE__*/createContext(undefined);\nexport const {\n Provider: TreeProvider\n} = TreeContext;\nexport const useTreeContext_unstable = selector => useContextSelector(TreeContext, (ctx = defaultContextValue) => selector(ctx));\n//# sourceMappingURL=treeContext.js.map"],"names":["TreeContext","TreeProvider","useTreeContext_unstable","defaultContextValue","level","openItems","emptyImmutableSet","requestOpenChange","noop","requestNavigation","appearance","size","createContext","undefined","Provider","selector","useContextSelector","ctx"],"mappings":";;;;;;;;;;;IAYaA,WAAW,MAAXA;IAEDC,YAAY,MAAZA;IAECC,uBAAuB,MAAvBA;;sCAhBqC;8BAChB;AAClC,MAAMC,sBAAsB;IAC1BC,OAAO;IACPC,WAAWC,+BAAiB;IAC5BC,mBAAmBC;IACnBC,mBAAmBD;IACnBE,YAAY;IACZC,MAAM;AACR;AACA,SAASH,OAAO;AACd,QAAQ,GAAE;AACL,MAAMR,cAAc,WAAW,GAAEY,IAAAA,mCAAa,EAACC;AAC/C,MAAM,EACXC,UAAUb,aAAY,EACvB,GAAGD;AACG,MAAME,0BAA0Ba,CAAAA,WAAYC,IAAAA,wCAAkB,EAAChB,aAAa,CAACiB,MAAMd,mBAAmB,GAAKY,SAASE,OAC3H,uCAAuC"}
1
+ {"version":3,"sources":["../../lib/contexts/treeContext.js"],"sourcesContent":["import { createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport { emptyImmutableSet } from '../utils/ImmutableSet';\nconst defaultContextValue = {\n level: 0,\n openItems: emptyImmutableSet,\n requestTreeResponse: noop,\n appearance: 'subtle',\n size: 'medium'\n};\nfunction noop() {\n /* noop */}\nexport const TreeContext = /*#__PURE__*/createContext(undefined);\nexport const {\n Provider: TreeProvider\n} = TreeContext;\nexport const useTreeContext_unstable = selector => useContextSelector(TreeContext, (ctx = defaultContextValue) => selector(ctx));\n//# sourceMappingURL=treeContext.js.map"],"names":["TreeContext","TreeProvider","useTreeContext_unstable","defaultContextValue","level","openItems","emptyImmutableSet","requestTreeResponse","noop","appearance","size","createContext","undefined","Provider","selector","useContextSelector","ctx"],"mappings":";;;;;;;;;;;IAWaA,WAAW,MAAXA;IAEDC,YAAY,MAAZA;IAECC,uBAAuB,MAAvBA;;sCAfqC;8BAChB;AAClC,MAAMC,sBAAsB;IAC1BC,OAAO;IACPC,WAAWC,+BAAiB;IAC5BC,qBAAqBC;IACrBC,YAAY;IACZC,MAAM;AACR;AACA,SAASF,OAAO;AACd,QAAQ,GAAE;AACL,MAAMR,cAAc,WAAW,GAAEW,IAAAA,mCAAa,EAACC;AAC/C,MAAM,EACXC,UAAUZ,aAAY,EACvB,GAAGD;AACG,MAAME,0BAA0BY,CAAAA,WAAYC,IAAAA,wCAAkB,EAACf,aAAa,CAACgB,MAAMb,mBAAmB,GAAKW,SAASE,OAC3H,uCAAuC"}
@@ -15,12 +15,20 @@ _export(exports, {
15
15
  });
16
16
  const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
17
17
  const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
18
+ const _reactContextSelector = require("@fluentui/react-context-selector");
18
19
  const defaultContextValue = {
19
- isActionsVisible: false
20
+ value: undefined,
21
+ isActionsVisible: false,
22
+ isAsideVisible: true,
23
+ actionsRef: /*#__PURE__*/ _react.createRef(),
24
+ expandIconRef: /*#__PURE__*/ _react.createRef(),
25
+ layoutRef: /*#__PURE__*/ _react.createRef(),
26
+ subtreeRef: /*#__PURE__*/ _react.createRef(),
27
+ itemType: 'leaf',
28
+ open: false
20
29
  };
21
- const TreeItemContext = /*#__PURE__*/ _react.createContext(undefined);
30
+ const TreeItemContext = /*#__PURE__*/ (0, _reactContextSelector.createContext)(undefined);
22
31
  const { Provider: TreeItemProvider } = TreeItemContext;
23
- var _React_useContext;
24
- const useTreeItemContext_unstable = ()=>(_React_useContext = _react.useContext(TreeItemContext)) !== null && _React_useContext !== void 0 ? _React_useContext : defaultContextValue; //# sourceMappingURL=treeItemContext.js.map
32
+ const useTreeItemContext_unstable = (selector)=>(0, _reactContextSelector.useContextSelector)(TreeItemContext, (ctx = defaultContextValue)=>selector(ctx)); //# sourceMappingURL=treeItemContext.js.map
25
33
 
26
34
  //# sourceMappingURL=treeItemContext.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/contexts/treeItemContext.js"],"sourcesContent":["import * as React from 'react';\nconst defaultContextValue = {\n isActionsVisible: false\n};\nexport const TreeItemContext = /*#__PURE__*/React.createContext(undefined);\nexport const {\n Provider: TreeItemProvider\n} = TreeItemContext;\nvar _React_useContext;\nexport const useTreeItemContext_unstable = () => (_React_useContext = React.useContext(TreeItemContext)) !== null && _React_useContext !== void 0 ? _React_useContext : defaultContextValue;\n//# sourceMappingURL=treeItemContext.js.map"],"names":["TreeItemContext","TreeItemProvider","useTreeItemContext_unstable","defaultContextValue","isActionsVisible","React","createContext","undefined","Provider","_React_useContext","useContext"],"mappings":";;;;;;;;;;;IAIaA,eAAe,MAAfA;IAEDC,gBAAgB,MAAhBA;IAGCC,2BAA2B,MAA3BA;;;6DATU;AACvB,MAAMC,sBAAsB;IAC1BC,kBAAkB,KAAK;AACzB;AACO,MAAMJ,kBAAkB,WAAW,GAAEK,OAAMC,aAAa,CAACC;AACzD,MAAM,EACXC,UAAUP,iBAAgB,EAC3B,GAAGD;AACJ,IAAIS;AACG,MAAMP,8BAA8B,IAAM,AAACO,CAAAA,oBAAoBJ,OAAMK,UAAU,CAACV,gBAAe,MAAO,IAAI,IAAIS,sBAAsB,KAAK,IAAIA,oBAAoBN,mBAAmB,EAC3L,2CAA2C"}
1
+ {"version":3,"sources":["../../lib/contexts/treeItemContext.js"],"sourcesContent":["import * as React from 'react';\nimport { createContext, useContextSelector } from '@fluentui/react-context-selector';\nconst defaultContextValue = {\n value: undefined,\n isActionsVisible: false,\n isAsideVisible: true,\n actionsRef: /*#__PURE__*/React.createRef(),\n expandIconRef: /*#__PURE__*/React.createRef(),\n layoutRef: /*#__PURE__*/React.createRef(),\n subtreeRef: /*#__PURE__*/React.createRef(),\n itemType: 'leaf',\n open: false\n};\nexport const TreeItemContext = /*#__PURE__*/createContext(undefined);\nexport const {\n Provider: TreeItemProvider\n} = TreeItemContext;\nexport const useTreeItemContext_unstable = selector => useContextSelector(TreeItemContext, (ctx = defaultContextValue) => selector(ctx));\n//# sourceMappingURL=treeItemContext.js.map"],"names":["TreeItemContext","TreeItemProvider","useTreeItemContext_unstable","defaultContextValue","value","undefined","isActionsVisible","isAsideVisible","actionsRef","React","createRef","expandIconRef","layoutRef","subtreeRef","itemType","open","createContext","Provider","selector","useContextSelector","ctx"],"mappings":";;;;;;;;;;;IAaaA,eAAe,MAAfA;IAEDC,gBAAgB,MAAhBA;IAECC,2BAA2B,MAA3BA;;;6DAjBU;sCAC2B;AAClD,MAAMC,sBAAsB;IAC1BC,OAAOC;IACPC,kBAAkB,KAAK;IACvBC,gBAAgB,IAAI;IACpBC,YAAY,WAAW,GAAEC,OAAMC,SAAS;IACxCC,eAAe,WAAW,GAAEF,OAAMC,SAAS;IAC3CE,WAAW,WAAW,GAAEH,OAAMC,SAAS;IACvCG,YAAY,WAAW,GAAEJ,OAAMC,SAAS;IACxCI,UAAU;IACVC,MAAM,KAAK;AACb;AACO,MAAMf,kBAAkB,WAAW,GAAEgB,IAAAA,mCAAa,EAACX;AACnD,MAAM,EACXY,UAAUhB,iBAAgB,EAC3B,GAAGD;AACG,MAAME,8BAA8BgB,CAAAA,WAAYC,IAAAA,wCAAkB,EAACnB,iBAAiB,CAACoB,MAAMjB,mBAAmB,GAAKe,SAASE,OACnI,2CAA2C"}
@@ -39,19 +39,19 @@ function useFlatTree_unstable(flatTreeItemProps, options = {}) {
39
39
  const item = flatTreeItems.get(data.value);
40
40
  if (item) {
41
41
  switch(data.type){
42
- case _tokens.treeDataTypes.typeAhead:
42
+ case _tokens.treeDataTypes.TypeAhead:
43
43
  return item;
44
- case _tokens.treeDataTypes.arrowLeft:
44
+ case _tokens.treeDataTypes.ArrowLeft:
45
45
  return flatTreeItems.get(item.parentValue);
46
- case _tokens.treeDataTypes.arrowRight:
46
+ case _tokens.treeDataTypes.ArrowRight:
47
47
  return visibleItems[item.index + 1];
48
- case _tokens.treeDataTypes.end:
48
+ case _tokens.treeDataTypes.End:
49
49
  return visibleItems[visibleItems.length - 1];
50
- case _tokens.treeDataTypes.home:
50
+ case _tokens.treeDataTypes.Home:
51
51
  return visibleItems[0];
52
- case _tokens.treeDataTypes.arrowDown:
52
+ case _tokens.treeDataTypes.ArrowDown:
53
53
  return visibleItems[item.index + 1];
54
- case _tokens.treeDataTypes.arrowUp:
54
+ case _tokens.treeDataTypes.ArrowUp:
55
55
  return visibleItems[item.index - 1];
56
56
  }
57
57
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/hooks/useFlatTree.js"],"sourcesContent":["import { useEventCallback } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { createFlatTreeItems, VisibleFlatTreeItemGenerator } from '../utils/createFlatTreeItems';\nimport { treeDataTypes } from '../utils/tokens';\nimport { useFlatTreeNavigation } from './useFlatTreeNavigation';\nimport { useOpenItemsState } from './useOpenItemsState';\n/**\n * this hook provides FlatTree API to manage all required mechanisms to convert a list of items into renderable TreeItems\n * in multiple scenarios including virtualization.\n *\n * !!A flat tree is an unofficial spec for tree!!\n *\n * It should be used on cases where more complex interactions with a Tree is required.\n * On simple scenarios it is advised to simply use a nested structure instead.\n *\n * @param flatTreeItemProps - a list of tree items\n * @param options - in case control over the internal openItems is required\n */\nexport function useFlatTree_unstable(flatTreeItemProps, options = {}) {\n const [openItems, updateOpenItems] = useOpenItemsState(options);\n const flatTreeItems = React.useMemo(() => createFlatTreeItems(flatTreeItemProps), [flatTreeItemProps]);\n const [navigate, navigationRef] = useFlatTreeNavigation(flatTreeItems);\n const handleOpenChange = useEventCallback((event, data) => {\n var _options_onOpenChange;\n (_options_onOpenChange = options.onOpenChange) === null || _options_onOpenChange === void 0 ? void 0 : _options_onOpenChange.call(options, event, data);\n if (!event.isDefaultPrevented()) {\n updateOpenItems(data);\n }\n event.preventDefault();\n });\n const handleNavigation = useEventCallback((event, data) => {\n var _options_onNavigation_unstable;\n (_options_onNavigation_unstable = options.onNavigation_unstable) === null || _options_onNavigation_unstable === void 0 ? void 0 : _options_onNavigation_unstable.call(options, event, data);\n if (!event.isDefaultPrevented()) {\n navigate(data);\n }\n event.preventDefault();\n });\n const getNextNavigableItem = useEventCallback((visibleItems, data) => {\n const item = flatTreeItems.get(data.value);\n if (item) {\n switch (data.type) {\n case treeDataTypes.typeAhead:\n return item;\n case treeDataTypes.arrowLeft:\n return flatTreeItems.get(item.parentValue);\n case treeDataTypes.arrowRight:\n return visibleItems[item.index + 1];\n case treeDataTypes.end:\n return visibleItems[visibleItems.length - 1];\n case treeDataTypes.home:\n return visibleItems[0];\n case treeDataTypes.arrowDown:\n return visibleItems[item.index + 1];\n case treeDataTypes.arrowUp:\n return visibleItems[item.index - 1];\n }\n }\n });\n const getTreeProps = React.useCallback(() => ({\n ref: navigationRef,\n openItems,\n onOpenChange: handleOpenChange,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n onNavigation_unstable: handleNavigation\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [openItems]);\n const items = React.useCallback(() => VisibleFlatTreeItemGenerator(openItems, flatTreeItems), [openItems, flatTreeItems]);\n return React.useMemo(() => ({\n navigate,\n getTreeProps,\n getNextNavigableItem,\n items\n }), [navigate, getTreeProps, getNextNavigableItem, items]);\n}\n//# sourceMappingURL=useFlatTree.js.map"],"names":["useFlatTree_unstable","flatTreeItemProps","options","openItems","updateOpenItems","useOpenItemsState","flatTreeItems","React","useMemo","createFlatTreeItems","navigate","navigationRef","useFlatTreeNavigation","handleOpenChange","useEventCallback","event","data","_options_onOpenChange","onOpenChange","call","isDefaultPrevented","preventDefault","handleNavigation","_options_onNavigation_unstable","onNavigation_unstable","getNextNavigableItem","visibleItems","item","get","value","type","treeDataTypes","typeAhead","arrowLeft","parentValue","arrowRight","index","end","length","home","arrowDown","arrowUp","getTreeProps","useCallback","ref","items","VisibleFlatTreeItemGenerator"],"mappings":";;;;+BAkBgBA;;aAAAA;;;gCAlBiB;6DACV;qCAC2C;wBACpC;uCACQ;mCACJ;AAa3B,SAASA,qBAAqBC,iBAAiB,EAAEC,UAAU,CAAC,CAAC,EAAE;IACpE,MAAM,CAACC,WAAWC,gBAAgB,GAAGC,IAAAA,oCAAiB,EAACH;IACvD,MAAMI,gBAAgBC,OAAMC,OAAO,CAAC,IAAMC,IAAAA,wCAAmB,EAACR,oBAAoB;QAACA;KAAkB;IACrG,MAAM,CAACS,UAAUC,cAAc,GAAGC,IAAAA,4CAAqB,EAACN;IACxD,MAAMO,mBAAmBC,IAAAA,gCAAgB,EAAC,CAACC,OAAOC,OAAS;QACzD,IAAIC;QACHA,CAAAA,wBAAwBf,QAAQgB,YAAY,AAAD,MAAO,IAAI,IAAID,0BAA0B,KAAK,IAAI,KAAK,IAAIA,sBAAsBE,IAAI,CAACjB,SAASa,OAAOC,KAAK;QACvJ,IAAI,CAACD,MAAMK,kBAAkB,IAAI;YAC/BhB,gBAAgBY;QAClB,CAAC;QACDD,MAAMM,cAAc;IACtB;IACA,MAAMC,mBAAmBR,IAAAA,gCAAgB,EAAC,CAACC,OAAOC,OAAS;QACzD,IAAIO;QACHA,CAAAA,iCAAiCrB,QAAQsB,qBAAqB,AAAD,MAAO,IAAI,IAAID,mCAAmC,KAAK,IAAI,KAAK,IAAIA,+BAA+BJ,IAAI,CAACjB,SAASa,OAAOC,KAAK;QAC3L,IAAI,CAACD,MAAMK,kBAAkB,IAAI;YAC/BV,SAASM;QACX,CAAC;QACDD,MAAMM,cAAc;IACtB;IACA,MAAMI,uBAAuBX,IAAAA,gCAAgB,EAAC,CAACY,cAAcV,OAAS;QACpE,MAAMW,OAAOrB,cAAcsB,GAAG,CAACZ,KAAKa,KAAK;QACzC,IAAIF,MAAM;YACR,OAAQX,KAAKc,IAAI;gBACf,KAAKC,qBAAa,CAACC,SAAS;oBAC1B,OAAOL;gBACT,KAAKI,qBAAa,CAACE,SAAS;oBAC1B,OAAO3B,cAAcsB,GAAG,CAACD,KAAKO,WAAW;gBAC3C,KAAKH,qBAAa,CAACI,UAAU;oBAC3B,OAAOT,YAAY,CAACC,KAAKS,KAAK,GAAG,EAAE;gBACrC,KAAKL,qBAAa,CAACM,GAAG;oBACpB,OAAOX,YAAY,CAACA,aAAaY,MAAM,GAAG,EAAE;gBAC9C,KAAKP,qBAAa,CAACQ,IAAI;oBACrB,OAAOb,YAAY,CAAC,EAAE;gBACxB,KAAKK,qBAAa,CAACS,SAAS;oBAC1B,OAAOd,YAAY,CAACC,KAAKS,KAAK,GAAG,EAAE;gBACrC,KAAKL,qBAAa,CAACU,OAAO;oBACxB,OAAOf,YAAY,CAACC,KAAKS,KAAK,GAAG,EAAE;YACvC;QACF,CAAC;IACH;IACA,MAAMM,eAAenC,OAAMoC,WAAW,CAAC,IAAO,CAAA;YAC5CC,KAAKjC;YACLR;YACAe,cAAcL;YACd,gEAAgE;YAChEW,uBAAuBF;QACzB,CAAA,GACA,uDAAuD;IACvD;QAACnB;KAAU;IACX,MAAM0C,QAAQtC,OAAMoC,WAAW,CAAC,IAAMG,IAAAA,iDAA4B,EAAC3C,WAAWG,gBAAgB;QAACH;QAAWG;KAAc;IACxH,OAAOC,OAAMC,OAAO,CAAC,IAAO,CAAA;YAC1BE;YACAgC;YACAjB;YACAoB;QACF,CAAA,GAAI;QAACnC;QAAUgC;QAAcjB;QAAsBoB;KAAM;AAC3D,EACA,uCAAuC"}
1
+ {"version":3,"sources":["../../lib/hooks/useFlatTree.js"],"sourcesContent":["import { useEventCallback } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { createFlatTreeItems, VisibleFlatTreeItemGenerator } from '../utils/createFlatTreeItems';\nimport { treeDataTypes } from '../utils/tokens';\nimport { useFlatTreeNavigation } from './useFlatTreeNavigation';\nimport { useOpenItemsState } from './useOpenItemsState';\n/**\n * this hook provides FlatTree API to manage all required mechanisms to convert a list of items into renderable TreeItems\n * in multiple scenarios including virtualization.\n *\n * !!A flat tree is an unofficial spec for tree!!\n *\n * It should be used on cases where more complex interactions with a Tree is required.\n * On simple scenarios it is advised to simply use a nested structure instead.\n *\n * @param flatTreeItemProps - a list of tree items\n * @param options - in case control over the internal openItems is required\n */\nexport function useFlatTree_unstable(flatTreeItemProps, options = {}) {\n const [openItems, updateOpenItems] = useOpenItemsState(options);\n const flatTreeItems = React.useMemo(() => createFlatTreeItems(flatTreeItemProps), [flatTreeItemProps]);\n const [navigate, navigationRef] = useFlatTreeNavigation(flatTreeItems);\n const handleOpenChange = useEventCallback((event, data) => {\n var _options_onOpenChange;\n (_options_onOpenChange = options.onOpenChange) === null || _options_onOpenChange === void 0 ? void 0 : _options_onOpenChange.call(options, event, data);\n if (!event.isDefaultPrevented()) {\n updateOpenItems(data);\n }\n event.preventDefault();\n });\n const handleNavigation = useEventCallback((event, data) => {\n var _options_onNavigation_unstable;\n (_options_onNavigation_unstable = options.onNavigation_unstable) === null || _options_onNavigation_unstable === void 0 ? void 0 : _options_onNavigation_unstable.call(options, event, data);\n if (!event.isDefaultPrevented()) {\n navigate(data);\n }\n event.preventDefault();\n });\n const getNextNavigableItem = useEventCallback((visibleItems, data) => {\n const item = flatTreeItems.get(data.value);\n if (item) {\n switch (data.type) {\n case treeDataTypes.TypeAhead:\n return item;\n case treeDataTypes.ArrowLeft:\n return flatTreeItems.get(item.parentValue);\n case treeDataTypes.ArrowRight:\n return visibleItems[item.index + 1];\n case treeDataTypes.End:\n return visibleItems[visibleItems.length - 1];\n case treeDataTypes.Home:\n return visibleItems[0];\n case treeDataTypes.ArrowDown:\n return visibleItems[item.index + 1];\n case treeDataTypes.ArrowUp:\n return visibleItems[item.index - 1];\n }\n }\n });\n const getTreeProps = React.useCallback(() => ({\n ref: navigationRef,\n openItems,\n onOpenChange: handleOpenChange,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n onNavigation_unstable: handleNavigation\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [openItems]);\n const items = React.useCallback(() => VisibleFlatTreeItemGenerator(openItems, flatTreeItems), [openItems, flatTreeItems]);\n return React.useMemo(() => ({\n navigate,\n getTreeProps,\n getNextNavigableItem,\n items\n }), [navigate, getTreeProps, getNextNavigableItem, items]);\n}\n//# sourceMappingURL=useFlatTree.js.map"],"names":["useFlatTree_unstable","flatTreeItemProps","options","openItems","updateOpenItems","useOpenItemsState","flatTreeItems","React","useMemo","createFlatTreeItems","navigate","navigationRef","useFlatTreeNavigation","handleOpenChange","useEventCallback","event","data","_options_onOpenChange","onOpenChange","call","isDefaultPrevented","preventDefault","handleNavigation","_options_onNavigation_unstable","onNavigation_unstable","getNextNavigableItem","visibleItems","item","get","value","type","treeDataTypes","TypeAhead","ArrowLeft","parentValue","ArrowRight","index","End","length","Home","ArrowDown","ArrowUp","getTreeProps","useCallback","ref","items","VisibleFlatTreeItemGenerator"],"mappings":";;;;+BAkBgBA;;aAAAA;;;gCAlBiB;6DACV;qCAC2C;wBACpC;uCACQ;mCACJ;AAa3B,SAASA,qBAAqBC,iBAAiB,EAAEC,UAAU,CAAC,CAAC,EAAE;IACpE,MAAM,CAACC,WAAWC,gBAAgB,GAAGC,IAAAA,oCAAiB,EAACH;IACvD,MAAMI,gBAAgBC,OAAMC,OAAO,CAAC,IAAMC,IAAAA,wCAAmB,EAACR,oBAAoB;QAACA;KAAkB;IACrG,MAAM,CAACS,UAAUC,cAAc,GAAGC,IAAAA,4CAAqB,EAACN;IACxD,MAAMO,mBAAmBC,IAAAA,gCAAgB,EAAC,CAACC,OAAOC,OAAS;QACzD,IAAIC;QACHA,CAAAA,wBAAwBf,QAAQgB,YAAY,AAAD,MAAO,IAAI,IAAID,0BAA0B,KAAK,IAAI,KAAK,IAAIA,sBAAsBE,IAAI,CAACjB,SAASa,OAAOC,KAAK;QACvJ,IAAI,CAACD,MAAMK,kBAAkB,IAAI;YAC/BhB,gBAAgBY;QAClB,CAAC;QACDD,MAAMM,cAAc;IACtB;IACA,MAAMC,mBAAmBR,IAAAA,gCAAgB,EAAC,CAACC,OAAOC,OAAS;QACzD,IAAIO;QACHA,CAAAA,iCAAiCrB,QAAQsB,qBAAqB,AAAD,MAAO,IAAI,IAAID,mCAAmC,KAAK,IAAI,KAAK,IAAIA,+BAA+BJ,IAAI,CAACjB,SAASa,OAAOC,KAAK;QAC3L,IAAI,CAACD,MAAMK,kBAAkB,IAAI;YAC/BV,SAASM;QACX,CAAC;QACDD,MAAMM,cAAc;IACtB;IACA,MAAMI,uBAAuBX,IAAAA,gCAAgB,EAAC,CAACY,cAAcV,OAAS;QACpE,MAAMW,OAAOrB,cAAcsB,GAAG,CAACZ,KAAKa,KAAK;QACzC,IAAIF,MAAM;YACR,OAAQX,KAAKc,IAAI;gBACf,KAAKC,qBAAa,CAACC,SAAS;oBAC1B,OAAOL;gBACT,KAAKI,qBAAa,CAACE,SAAS;oBAC1B,OAAO3B,cAAcsB,GAAG,CAACD,KAAKO,WAAW;gBAC3C,KAAKH,qBAAa,CAACI,UAAU;oBAC3B,OAAOT,YAAY,CAACC,KAAKS,KAAK,GAAG,EAAE;gBACrC,KAAKL,qBAAa,CAACM,GAAG;oBACpB,OAAOX,YAAY,CAACA,aAAaY,MAAM,GAAG,EAAE;gBAC9C,KAAKP,qBAAa,CAACQ,IAAI;oBACrB,OAAOb,YAAY,CAAC,EAAE;gBACxB,KAAKK,qBAAa,CAACS,SAAS;oBAC1B,OAAOd,YAAY,CAACC,KAAKS,KAAK,GAAG,EAAE;gBACrC,KAAKL,qBAAa,CAACU,OAAO;oBACxB,OAAOf,YAAY,CAACC,KAAKS,KAAK,GAAG,EAAE;YACvC;QACF,CAAC;IACH;IACA,MAAMM,eAAenC,OAAMoC,WAAW,CAAC,IAAO,CAAA;YAC5CC,KAAKjC;YACLR;YACAe,cAAcL;YACd,gEAAgE;YAChEW,uBAAuBF;QACzB,CAAA,GACA,uDAAuD;IACvD;QAACnB;KAAU;IACX,MAAM0C,QAAQtC,OAAMoC,WAAW,CAAC,IAAMG,IAAAA,iDAA4B,EAAC3C,WAAWG,gBAAgB;QAACH;QAAWG;KAAc;IACxH,OAAOC,OAAMC,OAAO,CAAC,IAAO,CAAA;YAC1BE;YACAgC;YACAjB;YACAoB;QACF,CAAA,GAAI;QAACnC;QAAUgC;QAAcjB;QAAsBoB;KAAM;AAC3D,EACA,uCAAuC"}
@@ -23,26 +23,26 @@ function useFlatTreeNavigation(flatTreeItems) {
23
23
  }
24
24
  const treeItemWalker = treeItemWalkerRef.current;
25
25
  switch(data.type){
26
- case _tokens.treeDataTypes.click:
26
+ case _tokens.treeDataTypes.Click:
27
27
  return data.target;
28
- case _tokens.treeDataTypes.typeAhead:
28
+ case _tokens.treeDataTypes.TypeAhead:
29
29
  treeItemWalker.currentElement = data.target;
30
30
  return (0, _nextTypeAheadElement.nextTypeAheadElement)(treeItemWalker, data.event.key);
31
- case _tokens.treeDataTypes.arrowLeft:
31
+ case _tokens.treeDataTypes.ArrowLeft:
32
32
  return parentElement(flatTreeItems, data.value);
33
- case _tokens.treeDataTypes.arrowRight:
33
+ case _tokens.treeDataTypes.ArrowRight:
34
34
  treeItemWalker.currentElement = data.target;
35
35
  return firstChild(data.target, treeItemWalker);
36
- case _tokens.treeDataTypes.end:
36
+ case _tokens.treeDataTypes.End:
37
37
  treeItemWalker.currentElement = treeItemWalker.root;
38
38
  return treeItemWalker.lastChild();
39
- case _tokens.treeDataTypes.home:
39
+ case _tokens.treeDataTypes.Home:
40
40
  treeItemWalker.currentElement = treeItemWalker.root;
41
41
  return treeItemWalker.firstChild();
42
- case _tokens.treeDataTypes.arrowDown:
42
+ case _tokens.treeDataTypes.ArrowDown:
43
43
  treeItemWalker.currentElement = data.target;
44
44
  return treeItemWalker.nextElement();
45
- case _tokens.treeDataTypes.arrowUp:
45
+ case _tokens.treeDataTypes.ArrowUp:
46
46
  treeItemWalker.currentElement = data.target;
47
47
  return treeItemWalker.previousElement();
48
48
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/hooks/useFlatTreeNavigation.js"],"sourcesContent":["import { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { nextTypeAheadElement } from '../utils/nextTypeAheadElement';\nimport { treeDataTypes } from '../utils/tokens';\nimport { treeItemFilter } from '../utils/treeItemFilter';\nimport { useHTMLElementWalkerRef } from './useHTMLElementWalker';\nimport { useRovingTabIndex } from './useRovingTabIndexes';\nexport function useFlatTreeNavigation(flatTreeItems) {\n const {\n targetDocument\n } = useFluent_unstable();\n const [treeItemWalkerRef, treeItemWalkerRootRef] = useHTMLElementWalkerRef(treeItemFilter);\n const [{\n rove\n }, rovingRootRef] = useRovingTabIndex(treeItemFilter);\n function getNextElement(data) {\n if (!targetDocument || !treeItemWalkerRef.current) {\n return null;\n }\n const treeItemWalker = treeItemWalkerRef.current;\n switch (data.type) {\n case treeDataTypes.click:\n return data.target;\n case treeDataTypes.typeAhead:\n treeItemWalker.currentElement = data.target;\n return nextTypeAheadElement(treeItemWalker, data.event.key);\n case treeDataTypes.arrowLeft:\n return parentElement(flatTreeItems, data.value);\n case treeDataTypes.arrowRight:\n treeItemWalker.currentElement = data.target;\n return firstChild(data.target, treeItemWalker);\n case treeDataTypes.end:\n treeItemWalker.currentElement = treeItemWalker.root;\n return treeItemWalker.lastChild();\n case treeDataTypes.home:\n treeItemWalker.currentElement = treeItemWalker.root;\n return treeItemWalker.firstChild();\n case treeDataTypes.arrowDown:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.nextElement();\n case treeDataTypes.arrowUp:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.previousElement();\n }\n }\n const navigate = useEventCallback(data => {\n const nextElement = getNextElement(data);\n if (nextElement) {\n rove(nextElement);\n }\n });\n return [navigate, useMergedRefs(treeItemWalkerRootRef, rovingRootRef)];\n}\nfunction firstChild(target, treeWalker) {\n const nextElement = treeWalker.nextElement();\n if (!nextElement) {\n return null;\n }\n const nextElementAriaPosInSet = nextElement.getAttribute('aria-posinset');\n const nextElementAriaLevel = nextElement.getAttribute('aria-level');\n const targetAriaLevel = target.getAttribute('aria-level');\n if (nextElementAriaPosInSet === '1' && Number(nextElementAriaLevel) === Number(targetAriaLevel) + 1) {\n return nextElement;\n }\n return null;\n}\nfunction parentElement(flatTreeItems, value) {\n const flatTreeItem = flatTreeItems.get(value);\n if (flatTreeItem === null || flatTreeItem === void 0 ? void 0 : flatTreeItem.parentValue) {\n const parentItem = flatTreeItems.get(flatTreeItem.parentValue);\n var _parentItem_ref_current;\n return (_parentItem_ref_current = parentItem === null || parentItem === void 0 ? void 0 : parentItem.ref.current) !== null && _parentItem_ref_current !== void 0 ? _parentItem_ref_current : null;\n }\n return null;\n}\n//# sourceMappingURL=useFlatTreeNavigation.js.map"],"names":["useFlatTreeNavigation","flatTreeItems","targetDocument","useFluent_unstable","treeItemWalkerRef","treeItemWalkerRootRef","useHTMLElementWalkerRef","treeItemFilter","rove","rovingRootRef","useRovingTabIndex","getNextElement","data","current","treeItemWalker","type","treeDataTypes","click","target","typeAhead","currentElement","nextTypeAheadElement","event","key","arrowLeft","parentElement","value","arrowRight","firstChild","end","root","lastChild","home","arrowDown","nextElement","arrowUp","previousElement","navigate","useEventCallback","useMergedRefs","treeWalker","nextElementAriaPosInSet","getAttribute","nextElementAriaLevel","targetAriaLevel","Number","flatTreeItem","get","parentValue","parentItem","_parentItem_ref_current","ref"],"mappings":"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"}
1
+ {"version":3,"sources":["../../lib/hooks/useFlatTreeNavigation.js"],"sourcesContent":["import { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { nextTypeAheadElement } from '../utils/nextTypeAheadElement';\nimport { treeDataTypes } from '../utils/tokens';\nimport { treeItemFilter } from '../utils/treeItemFilter';\nimport { useHTMLElementWalkerRef } from './useHTMLElementWalker';\nimport { useRovingTabIndex } from './useRovingTabIndexes';\nexport function useFlatTreeNavigation(flatTreeItems) {\n const {\n targetDocument\n } = useFluent_unstable();\n const [treeItemWalkerRef, treeItemWalkerRootRef] = useHTMLElementWalkerRef(treeItemFilter);\n const [{\n rove\n }, rovingRootRef] = useRovingTabIndex(treeItemFilter);\n function getNextElement(data) {\n if (!targetDocument || !treeItemWalkerRef.current) {\n return null;\n }\n const treeItemWalker = treeItemWalkerRef.current;\n switch (data.type) {\n case treeDataTypes.Click:\n return data.target;\n case treeDataTypes.TypeAhead:\n treeItemWalker.currentElement = data.target;\n return nextTypeAheadElement(treeItemWalker, data.event.key);\n case treeDataTypes.ArrowLeft:\n return parentElement(flatTreeItems, data.value);\n case treeDataTypes.ArrowRight:\n treeItemWalker.currentElement = data.target;\n return firstChild(data.target, treeItemWalker);\n case treeDataTypes.End:\n treeItemWalker.currentElement = treeItemWalker.root;\n return treeItemWalker.lastChild();\n case treeDataTypes.Home:\n treeItemWalker.currentElement = treeItemWalker.root;\n return treeItemWalker.firstChild();\n case treeDataTypes.ArrowDown:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.nextElement();\n case treeDataTypes.ArrowUp:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.previousElement();\n }\n }\n const navigate = useEventCallback(data => {\n const nextElement = getNextElement(data);\n if (nextElement) {\n rove(nextElement);\n }\n });\n return [navigate, useMergedRefs(treeItemWalkerRootRef, rovingRootRef)];\n}\nfunction firstChild(target, treeWalker) {\n const nextElement = treeWalker.nextElement();\n if (!nextElement) {\n return null;\n }\n const nextElementAriaPosInSet = nextElement.getAttribute('aria-posinset');\n const nextElementAriaLevel = nextElement.getAttribute('aria-level');\n const targetAriaLevel = target.getAttribute('aria-level');\n if (nextElementAriaPosInSet === '1' && Number(nextElementAriaLevel) === Number(targetAriaLevel) + 1) {\n return nextElement;\n }\n return null;\n}\nfunction parentElement(flatTreeItems, value) {\n const flatTreeItem = flatTreeItems.get(value);\n if (flatTreeItem === null || flatTreeItem === void 0 ? void 0 : flatTreeItem.parentValue) {\n const parentItem = flatTreeItems.get(flatTreeItem.parentValue);\n var _parentItem_ref_current;\n return (_parentItem_ref_current = parentItem === null || parentItem === void 0 ? void 0 : parentItem.ref.current) !== null && _parentItem_ref_current !== void 0 ? _parentItem_ref_current : null;\n }\n return null;\n}\n//# sourceMappingURL=useFlatTreeNavigation.js.map"],"names":["useFlatTreeNavigation","flatTreeItems","targetDocument","useFluent_unstable","treeItemWalkerRef","treeItemWalkerRootRef","useHTMLElementWalkerRef","treeItemFilter","rove","rovingRootRef","useRovingTabIndex","getNextElement","data","current","treeItemWalker","type","treeDataTypes","Click","target","TypeAhead","currentElement","nextTypeAheadElement","event","key","ArrowLeft","parentElement","value","ArrowRight","firstChild","End","root","lastChild","Home","ArrowDown","nextElement","ArrowUp","previousElement","navigate","useEventCallback","useMergedRefs","treeWalker","nextElementAriaPosInSet","getAttribute","nextElementAriaLevel","targetAriaLevel","Number","flatTreeItem","get","parentValue","parentItem","_parentItem_ref_current","ref"],"mappings":"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"}
@@ -21,27 +21,27 @@ function useNestedTreeNavigation() {
21
21
  }
22
22
  const treeItemWalker = walkerRef.current;
23
23
  switch(data.type){
24
- case _tokens.treeDataTypes.click:
24
+ case _tokens.treeDataTypes.Click:
25
25
  return data.target;
26
- case _tokens.treeDataTypes.typeAhead:
26
+ case _tokens.treeDataTypes.TypeAhead:
27
27
  treeItemWalker.currentElement = data.target;
28
28
  return (0, _nextTypeAheadElement.nextTypeAheadElement)(treeItemWalker, data.event.key);
29
- case _tokens.treeDataTypes.arrowLeft:
29
+ case _tokens.treeDataTypes.ArrowLeft:
30
30
  treeItemWalker.currentElement = data.target;
31
31
  return treeItemWalker.parentElement();
32
- case _tokens.treeDataTypes.arrowRight:
32
+ case _tokens.treeDataTypes.ArrowRight:
33
33
  treeItemWalker.currentElement = data.target;
34
34
  return treeItemWalker.firstChild();
35
- case _tokens.treeDataTypes.end:
35
+ case _tokens.treeDataTypes.End:
36
36
  treeItemWalker.currentElement = treeItemWalker.root;
37
37
  return lastChildRecursive(treeItemWalker);
38
- case _tokens.treeDataTypes.home:
38
+ case _tokens.treeDataTypes.Home:
39
39
  treeItemWalker.currentElement = treeItemWalker.root;
40
40
  return treeItemWalker.firstChild();
41
- case _tokens.treeDataTypes.arrowDown:
41
+ case _tokens.treeDataTypes.ArrowDown:
42
42
  treeItemWalker.currentElement = data.target;
43
43
  return treeItemWalker.nextElement();
44
- case _tokens.treeDataTypes.arrowUp:
44
+ case _tokens.treeDataTypes.ArrowUp:
45
45
  treeItemWalker.currentElement = data.target;
46
46
  return treeItemWalker.previousElement();
47
47
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/hooks/useNestedTreeNavigation.js"],"sourcesContent":["import { useMergedRefs } from '@fluentui/react-utilities';\nimport { useHTMLElementWalkerRef } from './useHTMLElementWalker';\nimport { nextTypeAheadElement } from '../utils/nextTypeAheadElement';\nimport { treeDataTypes } from '../utils/tokens';\nimport { treeItemFilter } from '../utils/treeItemFilter';\nimport { useRovingTabIndex } from './useRovingTabIndexes';\nexport function useNestedTreeNavigation() {\n const [{\n rove\n }, rovingRootRef] = useRovingTabIndex(treeItemFilter);\n const [walkerRef, rootRef] = useHTMLElementWalkerRef(treeItemFilter);\n const getNextElement = data => {\n if (!walkerRef.current) {\n return;\n }\n const treeItemWalker = walkerRef.current;\n switch (data.type) {\n case treeDataTypes.click:\n return data.target;\n case treeDataTypes.typeAhead:\n treeItemWalker.currentElement = data.target;\n return nextTypeAheadElement(treeItemWalker, data.event.key);\n case treeDataTypes.arrowLeft:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.parentElement();\n case treeDataTypes.arrowRight:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.firstChild();\n case treeDataTypes.end:\n treeItemWalker.currentElement = treeItemWalker.root;\n return lastChildRecursive(treeItemWalker);\n case treeDataTypes.home:\n treeItemWalker.currentElement = treeItemWalker.root;\n return treeItemWalker.firstChild();\n case treeDataTypes.arrowDown:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.nextElement();\n case treeDataTypes.arrowUp:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.previousElement();\n }\n };\n function navigate(data) {\n const nextElement = getNextElement(data);\n if (nextElement) {\n rove(nextElement);\n }\n }\n return [navigate, useMergedRefs(rootRef, rovingRootRef)];\n}\nfunction lastChildRecursive(walker) {\n let lastElement = null;\n let nextElement = null;\n while (nextElement = walker.lastChild()) {\n lastElement = nextElement;\n }\n return lastElement;\n}\n//# sourceMappingURL=useNestedTreeNavigation.js.map"],"names":["useNestedTreeNavigation","rove","rovingRootRef","useRovingTabIndex","treeItemFilter","walkerRef","rootRef","useHTMLElementWalkerRef","getNextElement","data","current","treeItemWalker","type","treeDataTypes","click","target","typeAhead","currentElement","nextTypeAheadElement","event","key","arrowLeft","parentElement","arrowRight","firstChild","end","root","lastChildRecursive","home","arrowDown","nextElement","arrowUp","previousElement","navigate","useMergedRefs","walker","lastElement","lastChild"],"mappings":";;;;+BAMgBA;;aAAAA;;gCANc;sCACU;sCACH;wBACP;gCACC;qCACG;AAC3B,SAASA,0BAA0B;IACxC,MAAM,CAAC,EACLC,KAAI,EACL,EAAEC,cAAc,GAAGC,IAAAA,sCAAiB,EAACC,8BAAc;IACpD,MAAM,CAACC,WAAWC,QAAQ,GAAGC,IAAAA,6CAAuB,EAACH,8BAAc;IACnE,MAAMI,iBAAiBC,CAAAA,OAAQ;QAC7B,IAAI,CAACJ,UAAUK,OAAO,EAAE;YACtB;QACF,CAAC;QACD,MAAMC,iBAAiBN,UAAUK,OAAO;QACxC,OAAQD,KAAKG,IAAI;YACf,KAAKC,qBAAa,CAACC,KAAK;gBACtB,OAAOL,KAAKM,MAAM;YACpB,KAAKF,qBAAa,CAACG,SAAS;gBAC1BL,eAAeM,cAAc,GAAGR,KAAKM,MAAM;gBAC3C,OAAOG,IAAAA,0CAAoB,EAACP,gBAAgBF,KAAKU,KAAK,CAACC,GAAG;YAC5D,KAAKP,qBAAa,CAACQ,SAAS;gBAC1BV,eAAeM,cAAc,GAAGR,KAAKM,MAAM;gBAC3C,OAAOJ,eAAeW,aAAa;YACrC,KAAKT,qBAAa,CAACU,UAAU;gBAC3BZ,eAAeM,cAAc,GAAGR,KAAKM,MAAM;gBAC3C,OAAOJ,eAAea,UAAU;YAClC,KAAKX,qBAAa,CAACY,GAAG;gBACpBd,eAAeM,cAAc,GAAGN,eAAee,IAAI;gBACnD,OAAOC,mBAAmBhB;YAC5B,KAAKE,qBAAa,CAACe,IAAI;gBACrBjB,eAAeM,cAAc,GAAGN,eAAee,IAAI;gBACnD,OAAOf,eAAea,UAAU;YAClC,KAAKX,qBAAa,CAACgB,SAAS;gBAC1BlB,eAAeM,cAAc,GAAGR,KAAKM,MAAM;gBAC3C,OAAOJ,eAAemB,WAAW;YACnC,KAAKjB,qBAAa,CAACkB,OAAO;gBACxBpB,eAAeM,cAAc,GAAGR,KAAKM,MAAM;gBAC3C,OAAOJ,eAAeqB,eAAe;QACzC;IACF;IACA,SAASC,SAASxB,IAAI,EAAE;QACtB,MAAMqB,cAActB,eAAeC;QACnC,IAAIqB,aAAa;YACf7B,KAAK6B;QACP,CAAC;IACH;IACA,OAAO;QAACG;QAAUC,IAAAA,6BAAa,EAAC5B,SAASJ;KAAe;AAC1D;AACA,SAASyB,mBAAmBQ,MAAM,EAAE;IAClC,IAAIC,cAAc,IAAI;IACtB,IAAIN,cAAc,IAAI;IACtB,MAAOA,cAAcK,OAAOE,SAAS,GAAI;QACvCD,cAAcN;IAChB;IACA,OAAOM;AACT,EACA,mDAAmD"}
1
+ {"version":3,"sources":["../../lib/hooks/useNestedTreeNavigation.js"],"sourcesContent":["import { useMergedRefs } from '@fluentui/react-utilities';\nimport { useHTMLElementWalkerRef } from './useHTMLElementWalker';\nimport { nextTypeAheadElement } from '../utils/nextTypeAheadElement';\nimport { treeDataTypes } from '../utils/tokens';\nimport { treeItemFilter } from '../utils/treeItemFilter';\nimport { useRovingTabIndex } from './useRovingTabIndexes';\nexport function useNestedTreeNavigation() {\n const [{\n rove\n }, rovingRootRef] = useRovingTabIndex(treeItemFilter);\n const [walkerRef, rootRef] = useHTMLElementWalkerRef(treeItemFilter);\n const getNextElement = data => {\n if (!walkerRef.current) {\n return;\n }\n const treeItemWalker = walkerRef.current;\n switch (data.type) {\n case treeDataTypes.Click:\n return data.target;\n case treeDataTypes.TypeAhead:\n treeItemWalker.currentElement = data.target;\n return nextTypeAheadElement(treeItemWalker, data.event.key);\n case treeDataTypes.ArrowLeft:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.parentElement();\n case treeDataTypes.ArrowRight:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.firstChild();\n case treeDataTypes.End:\n treeItemWalker.currentElement = treeItemWalker.root;\n return lastChildRecursive(treeItemWalker);\n case treeDataTypes.Home:\n treeItemWalker.currentElement = treeItemWalker.root;\n return treeItemWalker.firstChild();\n case treeDataTypes.ArrowDown:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.nextElement();\n case treeDataTypes.ArrowUp:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.previousElement();\n }\n };\n function navigate(data) {\n const nextElement = getNextElement(data);\n if (nextElement) {\n rove(nextElement);\n }\n }\n return [navigate, useMergedRefs(rootRef, rovingRootRef)];\n}\nfunction lastChildRecursive(walker) {\n let lastElement = null;\n let nextElement = null;\n while (nextElement = walker.lastChild()) {\n lastElement = nextElement;\n }\n return lastElement;\n}\n//# sourceMappingURL=useNestedTreeNavigation.js.map"],"names":["useNestedTreeNavigation","rove","rovingRootRef","useRovingTabIndex","treeItemFilter","walkerRef","rootRef","useHTMLElementWalkerRef","getNextElement","data","current","treeItemWalker","type","treeDataTypes","Click","target","TypeAhead","currentElement","nextTypeAheadElement","event","key","ArrowLeft","parentElement","ArrowRight","firstChild","End","root","lastChildRecursive","Home","ArrowDown","nextElement","ArrowUp","previousElement","navigate","useMergedRefs","walker","lastElement","lastChild"],"mappings":";;;;+BAMgBA;;aAAAA;;gCANc;sCACU;sCACH;wBACP;gCACC;qCACG;AAC3B,SAASA,0BAA0B;IACxC,MAAM,CAAC,EACLC,KAAI,EACL,EAAEC,cAAc,GAAGC,IAAAA,sCAAiB,EAACC,8BAAc;IACpD,MAAM,CAACC,WAAWC,QAAQ,GAAGC,IAAAA,6CAAuB,EAACH,8BAAc;IACnE,MAAMI,iBAAiBC,CAAAA,OAAQ;QAC7B,IAAI,CAACJ,UAAUK,OAAO,EAAE;YACtB;QACF,CAAC;QACD,MAAMC,iBAAiBN,UAAUK,OAAO;QACxC,OAAQD,KAAKG,IAAI;YACf,KAAKC,qBAAa,CAACC,KAAK;gBACtB,OAAOL,KAAKM,MAAM;YACpB,KAAKF,qBAAa,CAACG,SAAS;gBAC1BL,eAAeM,cAAc,GAAGR,KAAKM,MAAM;gBAC3C,OAAOG,IAAAA,0CAAoB,EAACP,gBAAgBF,KAAKU,KAAK,CAACC,GAAG;YAC5D,KAAKP,qBAAa,CAACQ,SAAS;gBAC1BV,eAAeM,cAAc,GAAGR,KAAKM,MAAM;gBAC3C,OAAOJ,eAAeW,aAAa;YACrC,KAAKT,qBAAa,CAACU,UAAU;gBAC3BZ,eAAeM,cAAc,GAAGR,KAAKM,MAAM;gBAC3C,OAAOJ,eAAea,UAAU;YAClC,KAAKX,qBAAa,CAACY,GAAG;gBACpBd,eAAeM,cAAc,GAAGN,eAAee,IAAI;gBACnD,OAAOC,mBAAmBhB;YAC5B,KAAKE,qBAAa,CAACe,IAAI;gBACrBjB,eAAeM,cAAc,GAAGN,eAAee,IAAI;gBACnD,OAAOf,eAAea,UAAU;YAClC,KAAKX,qBAAa,CAACgB,SAAS;gBAC1BlB,eAAeM,cAAc,GAAGR,KAAKM,MAAM;gBAC3C,OAAOJ,eAAemB,WAAW;YACnC,KAAKjB,qBAAa,CAACkB,OAAO;gBACxBpB,eAAeM,cAAc,GAAGR,KAAKM,MAAM;gBAC3C,OAAOJ,eAAeqB,eAAe;QACzC;IACF;IACA,SAASC,SAASxB,IAAI,EAAE;QACtB,MAAMqB,cAActB,eAAeC;QACnC,IAAIqB,aAAa;YACf7B,KAAK6B;QACP,CAAC;IACH;IACA,OAAO;QAACG;QAAUC,IAAAA,6BAAa,EAAC5B,SAASJ;KAAe;AAC1D;AACA,SAASyB,mBAAmBQ,MAAM,EAAE;IAClC,IAAIC,cAAc,IAAI;IACtB,IAAIN,cAAc,IAAI;IACtB,MAAOA,cAAcK,OAAOE,SAAS,GAAI;QACvCD,cAAcN;IAChB;IACA,OAAOM;AACT,EACA,mDAAmD"}
@@ -15,9 +15,7 @@ function useOpenItemsState(props) {
15
15
  state: _react.useMemo(()=>props.openItems && (0, _immutableSet.createImmutableSet)(props.openItems), [
16
16
  props.openItems
17
17
  ]),
18
- defaultState: _react.useMemo(()=>props.defaultOpenItems && (0, _immutableSet.createImmutableSet)(props.defaultOpenItems), [
19
- props.defaultOpenItems
20
- ]),
18
+ defaultState: props.defaultOpenItems && (()=>(0, _immutableSet.createImmutableSet)(props.defaultOpenItems)),
21
19
  initialState: _immutableSet.emptyImmutableSet
22
20
  });
23
21
  const updateOpenItems = (0, _reactUtilities.useEventCallback)((data)=>setOpenItems((currentOpenItems)=>createNextOpenItems(data, currentOpenItems)));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/hooks/useOpenItemsState.js"],"sourcesContent":["import { useControllableState, useEventCallback } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { createImmutableSet, emptyImmutableSet } from '../utils/ImmutableSet';\nexport function useOpenItemsState(props) {\n const [openItems, setOpenItems] = useControllableState({\n state: React.useMemo(() => props.openItems && createImmutableSet(props.openItems), [props.openItems]),\n defaultState: React.useMemo(() => props.defaultOpenItems && createImmutableSet(props.defaultOpenItems), [props.defaultOpenItems]),\n initialState: emptyImmutableSet\n });\n const updateOpenItems = useEventCallback(data => setOpenItems(currentOpenItems => createNextOpenItems(data, currentOpenItems)));\n return [openItems, updateOpenItems];\n}\nfunction createNextOpenItems(data, previousOpenItems) {\n const previousOpenItemsHasId = previousOpenItems.has(data.value);\n if (data.open ? previousOpenItemsHasId : !previousOpenItemsHasId) {\n return previousOpenItems;\n }\n const nextOpenItems = createImmutableSet(previousOpenItems);\n return data.open ? nextOpenItems.add(data.value) : nextOpenItems.delete(data.value);\n}\n//# sourceMappingURL=useOpenItemsState.js.map"],"names":["useOpenItemsState","props","openItems","setOpenItems","useControllableState","state","React","useMemo","createImmutableSet","defaultState","defaultOpenItems","initialState","emptyImmutableSet","updateOpenItems","useEventCallback","data","currentOpenItems","createNextOpenItems","previousOpenItems","previousOpenItemsHasId","has","value","open","nextOpenItems","add","delete"],"mappings":";;;;+BAGgBA;;aAAAA;;;gCAHuC;6DAChC;8BAC+B;AAC/C,SAASA,kBAAkBC,KAAK,EAAE;IACvC,MAAM,CAACC,WAAWC,aAAa,GAAGC,IAAAA,oCAAoB,EAAC;QACrDC,OAAOC,OAAMC,OAAO,CAAC,IAAMN,MAAMC,SAAS,IAAIM,IAAAA,gCAAkB,EAACP,MAAMC,SAAS,GAAG;YAACD,MAAMC,SAAS;SAAC;QACpGO,cAAcH,OAAMC,OAAO,CAAC,IAAMN,MAAMS,gBAAgB,IAAIF,IAAAA,gCAAkB,EAACP,MAAMS,gBAAgB,GAAG;YAACT,MAAMS,gBAAgB;SAAC;QAChIC,cAAcC,+BAAiB;IACjC;IACA,MAAMC,kBAAkBC,IAAAA,gCAAgB,EAACC,CAAAA,OAAQZ,aAAaa,CAAAA,mBAAoBC,oBAAoBF,MAAMC;IAC5G,OAAO;QAACd;QAAWW;KAAgB;AACrC;AACA,SAASI,oBAAoBF,IAAI,EAAEG,iBAAiB,EAAE;IACpD,MAAMC,yBAAyBD,kBAAkBE,GAAG,CAACL,KAAKM,KAAK;IAC/D,IAAIN,KAAKO,IAAI,GAAGH,yBAAyB,CAACA,sBAAsB,EAAE;QAChE,OAAOD;IACT,CAAC;IACD,MAAMK,gBAAgBf,IAAAA,gCAAkB,EAACU;IACzC,OAAOH,KAAKO,IAAI,GAAGC,cAAcC,GAAG,CAACT,KAAKM,KAAK,IAAIE,cAAcE,MAAM,CAACV,KAAKM,KAAK,CAAC;AACrF,EACA,6CAA6C"}
1
+ {"version":3,"sources":["../../lib/hooks/useOpenItemsState.js"],"sourcesContent":["import { useControllableState, useEventCallback } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { createImmutableSet, emptyImmutableSet } from '../utils/ImmutableSet';\nexport function useOpenItemsState(props) {\n const [openItems, setOpenItems] = useControllableState({\n state: React.useMemo(() => props.openItems && createImmutableSet(props.openItems), [props.openItems]),\n defaultState: props.defaultOpenItems && (() => createImmutableSet(props.defaultOpenItems)),\n initialState: emptyImmutableSet\n });\n const updateOpenItems = useEventCallback(data => setOpenItems(currentOpenItems => createNextOpenItems(data, currentOpenItems)));\n return [openItems, updateOpenItems];\n}\nfunction createNextOpenItems(data, previousOpenItems) {\n const previousOpenItemsHasId = previousOpenItems.has(data.value);\n if (data.open ? previousOpenItemsHasId : !previousOpenItemsHasId) {\n return previousOpenItems;\n }\n const nextOpenItems = createImmutableSet(previousOpenItems);\n return data.open ? nextOpenItems.add(data.value) : nextOpenItems.delete(data.value);\n}\n//# sourceMappingURL=useOpenItemsState.js.map"],"names":["useOpenItemsState","props","openItems","setOpenItems","useControllableState","state","React","useMemo","createImmutableSet","defaultState","defaultOpenItems","initialState","emptyImmutableSet","updateOpenItems","useEventCallback","data","currentOpenItems","createNextOpenItems","previousOpenItems","previousOpenItemsHasId","has","value","open","nextOpenItems","add","delete"],"mappings":";;;;+BAGgBA;;aAAAA;;;gCAHuC;6DAChC;8BAC+B;AAC/C,SAASA,kBAAkBC,KAAK,EAAE;IACvC,MAAM,CAACC,WAAWC,aAAa,GAAGC,IAAAA,oCAAoB,EAAC;QACrDC,OAAOC,OAAMC,OAAO,CAAC,IAAMN,MAAMC,SAAS,IAAIM,IAAAA,gCAAkB,EAACP,MAAMC,SAAS,GAAG;YAACD,MAAMC,SAAS;SAAC;QACpGO,cAAcR,MAAMS,gBAAgB,IAAK,CAAA,IAAMF,IAAAA,gCAAkB,EAACP,MAAMS,gBAAgB,CAAA;QACxFC,cAAcC,+BAAiB;IACjC;IACA,MAAMC,kBAAkBC,IAAAA,gCAAgB,EAACC,CAAAA,OAAQZ,aAAaa,CAAAA,mBAAoBC,oBAAoBF,MAAMC;IAC5G,OAAO;QAACd;QAAWW;KAAgB;AACrC;AACA,SAASI,oBAAoBF,IAAI,EAAEG,iBAAiB,EAAE;IACpD,MAAMC,yBAAyBD,kBAAkBE,GAAG,CAACL,KAAKM,KAAK;IAC/D,IAAIN,KAAKO,IAAI,GAAGH,yBAAyB,CAACA,sBAAsB,EAAE;QAChE,OAAOD;IACT,CAAC;IACD,MAAMK,gBAAgBf,IAAAA,gCAAkB,EAACU;IACzC,OAAOH,KAAKO,IAAI,GAAGC,cAAcC,GAAG,CAACT,KAAKM,KAAK,IAAIE,cAAcE,MAAM,CAACV,KAAKM,KAAK,CAAC;AACrF,EACA,6CAA6C"}
@@ -35,6 +35,11 @@ _export(exports, {
35
35
  renderTreeItemPersonaLayout_unstable: ()=>_treeItemPersonaLayout.renderTreeItemPersonaLayout_unstable,
36
36
  useTreeItemPersonaLayoutStyles_unstable: ()=>_treeItemPersonaLayout.useTreeItemPersonaLayoutStyles_unstable,
37
37
  useTreeItemPersonaLayout_unstable: ()=>_treeItemPersonaLayout.useTreeItemPersonaLayout_unstable,
38
+ TreeItemAside: ()=>_treeItemAside.TreeItemAside,
39
+ treeItemAsideClassNames: ()=>_treeItemAside.treeItemAsideClassNames,
40
+ renderTreeItemAside_unstable: ()=>_treeItemAside.renderTreeItemAside_unstable,
41
+ useTreeItemAsideStyles_unstable: ()=>_treeItemAside.useTreeItemAsideStyles_unstable,
42
+ useTreeItemAside_unstable: ()=>_treeItemAside.useTreeItemAside_unstable,
38
43
  useFlatTree_unstable: ()=>_index.useFlatTree_unstable,
39
44
  flattenTree_unstable: ()=>_flattenTree.flattenTree_unstable
40
45
  });
@@ -44,6 +49,7 @@ const _tokens = require("./utils/tokens");
44
49
  const _treeItem = require("./TreeItem");
45
50
  const _treeItemLayout = require("./TreeItemLayout");
46
51
  const _treeItemPersonaLayout = require("./TreeItemPersonaLayout");
52
+ const _treeItemAside = require("./TreeItemAside");
47
53
  const _index = require("./hooks/index");
48
54
  const _flattenTree = require("./utils/flattenTree");
49
55
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../lib/index.js"],"sourcesContent":["export { Tree, treeClassNames, renderTree_unstable, useTreeStyles_unstable, useTree_unstable, useTreeContextValues_unstable } from './Tree';\nexport { TreeProvider, useTreeContext_unstable, useTreeItemContext_unstable, TreeItemProvider } from './contexts';\nexport { treeItemLevelToken } from './utils/tokens';\nexport { TreeItem, treeItemClassNames, renderTreeItem_unstable, useTreeItemStyles_unstable, useTreeItem_unstable } from './TreeItem';\nexport { TreeItemLayout, treeItemLayoutClassNames, renderTreeItemLayout_unstable, useTreeItemLayoutStyles_unstable, useTreeItemLayout_unstable } from './TreeItemLayout';\nexport { TreeItemPersonaLayout, treeItemPersonaLayoutClassNames, renderTreeItemPersonaLayout_unstable, useTreeItemPersonaLayoutStyles_unstable, useTreeItemPersonaLayout_unstable } from './TreeItemPersonaLayout';\nexport { useFlatTree_unstable } from './hooks/index';\nexport { flattenTree_unstable } from './utils/flattenTree';\n//# sourceMappingURL=index.js.map"],"names":["Tree","treeClassNames","renderTree_unstable","useTreeStyles_unstable","useTree_unstable","useTreeContextValues_unstable","TreeProvider","useTreeContext_unstable","useTreeItemContext_unstable","TreeItemProvider","treeItemLevelToken","TreeItem","treeItemClassNames","renderTreeItem_unstable","useTreeItemStyles_unstable","useTreeItem_unstable","TreeItemLayout","treeItemLayoutClassNames","renderTreeItemLayout_unstable","useTreeItemLayoutStyles_unstable","useTreeItemLayout_unstable","TreeItemPersonaLayout","treeItemPersonaLayoutClassNames","renderTreeItemPersonaLayout_unstable","useTreeItemPersonaLayoutStyles_unstable","useTreeItemPersonaLayout_unstable","useFlatTree_unstable","flattenTree_unstable"],"mappings":";;;;;;;;;;;IAASA,IAAI,MAAJA,UAAI;IAAEC,cAAc,MAAdA,oBAAc;IAAEC,mBAAmB,MAAnBA,yBAAmB;IAAEC,sBAAsB,MAAtBA,4BAAsB;IAAEC,gBAAgB,MAAhBA,sBAAgB;IAAEC,6BAA6B,MAA7BA,mCAA6B;IAClHC,YAAY,MAAZA,sBAAY;IAAEC,uBAAuB,MAAvBA,iCAAuB;IAAEC,2BAA2B,MAA3BA,qCAA2B;IAAEC,gBAAgB,MAAhBA,0BAAgB;IACpFC,kBAAkB,MAAlBA,0BAAkB;IAClBC,QAAQ,MAARA,kBAAQ;IAAEC,kBAAkB,MAAlBA,4BAAkB;IAAEC,uBAAuB,MAAvBA,iCAAuB;IAAEC,0BAA0B,MAA1BA,oCAA0B;IAAEC,oBAAoB,MAApBA,8BAAoB;IACvGC,cAAc,MAAdA,8BAAc;IAAEC,wBAAwB,MAAxBA,wCAAwB;IAAEC,6BAA6B,MAA7BA,6CAA6B;IAAEC,gCAAgC,MAAhCA,gDAAgC;IAAEC,0BAA0B,MAA1BA,0CAA0B;IACrIC,qBAAqB,MAArBA,4CAAqB;IAAEC,+BAA+B,MAA/BA,sDAA+B;IAAEC,oCAAoC,MAApCA,2DAAoC;IAAEC,uCAAuC,MAAvCA,8DAAuC;IAAEC,iCAAiC,MAAjCA,wDAAiC;IACxKC,oBAAoB,MAApBA,2BAAoB;IACpBC,oBAAoB,MAApBA,iCAAoB;;sBAPsG;0BAC9B;wBAClE;0BACqF;gCAC8B;uCACmC;uBACpJ;6BACA;CACrC,iCAAiC"}
1
+ {"version":3,"sources":["../lib/index.js"],"sourcesContent":["export { Tree, treeClassNames, renderTree_unstable, useTreeStyles_unstable, useTree_unstable, useTreeContextValues_unstable } from './Tree';\nexport { TreeProvider, useTreeContext_unstable, useTreeItemContext_unstable, TreeItemProvider } from './contexts';\nexport { treeItemLevelToken } from './utils/tokens';\nexport { TreeItem, treeItemClassNames, renderTreeItem_unstable, useTreeItemStyles_unstable, useTreeItem_unstable } from './TreeItem';\nexport { TreeItemLayout, treeItemLayoutClassNames, renderTreeItemLayout_unstable, useTreeItemLayoutStyles_unstable, useTreeItemLayout_unstable } from './TreeItemLayout';\nexport { TreeItemPersonaLayout, treeItemPersonaLayoutClassNames, renderTreeItemPersonaLayout_unstable, useTreeItemPersonaLayoutStyles_unstable, useTreeItemPersonaLayout_unstable } from './TreeItemPersonaLayout';\nexport { TreeItemAside, treeItemAsideClassNames, renderTreeItemAside_unstable, useTreeItemAsideStyles_unstable, useTreeItemAside_unstable } from './TreeItemAside';\nexport { useFlatTree_unstable } from './hooks/index';\nexport { flattenTree_unstable } from './utils/flattenTree';\n//# sourceMappingURL=index.js.map"],"names":["Tree","treeClassNames","renderTree_unstable","useTreeStyles_unstable","useTree_unstable","useTreeContextValues_unstable","TreeProvider","useTreeContext_unstable","useTreeItemContext_unstable","TreeItemProvider","treeItemLevelToken","TreeItem","treeItemClassNames","renderTreeItem_unstable","useTreeItemStyles_unstable","useTreeItem_unstable","TreeItemLayout","treeItemLayoutClassNames","renderTreeItemLayout_unstable","useTreeItemLayoutStyles_unstable","useTreeItemLayout_unstable","TreeItemPersonaLayout","treeItemPersonaLayoutClassNames","renderTreeItemPersonaLayout_unstable","useTreeItemPersonaLayoutStyles_unstable","useTreeItemPersonaLayout_unstable","TreeItemAside","treeItemAsideClassNames","renderTreeItemAside_unstable","useTreeItemAsideStyles_unstable","useTreeItemAside_unstable","useFlatTree_unstable","flattenTree_unstable"],"mappings":";;;;;;;;;;;IAASA,IAAI,MAAJA,UAAI;IAAEC,cAAc,MAAdA,oBAAc;IAAEC,mBAAmB,MAAnBA,yBAAmB;IAAEC,sBAAsB,MAAtBA,4BAAsB;IAAEC,gBAAgB,MAAhBA,sBAAgB;IAAEC,6BAA6B,MAA7BA,mCAA6B;IAClHC,YAAY,MAAZA,sBAAY;IAAEC,uBAAuB,MAAvBA,iCAAuB;IAAEC,2BAA2B,MAA3BA,qCAA2B;IAAEC,gBAAgB,MAAhBA,0BAAgB;IACpFC,kBAAkB,MAAlBA,0BAAkB;IAClBC,QAAQ,MAARA,kBAAQ;IAAEC,kBAAkB,MAAlBA,4BAAkB;IAAEC,uBAAuB,MAAvBA,iCAAuB;IAAEC,0BAA0B,MAA1BA,oCAA0B;IAAEC,oBAAoB,MAApBA,8BAAoB;IACvGC,cAAc,MAAdA,8BAAc;IAAEC,wBAAwB,MAAxBA,wCAAwB;IAAEC,6BAA6B,MAA7BA,6CAA6B;IAAEC,gCAAgC,MAAhCA,gDAAgC;IAAEC,0BAA0B,MAA1BA,0CAA0B;IACrIC,qBAAqB,MAArBA,4CAAqB;IAAEC,+BAA+B,MAA/BA,sDAA+B;IAAEC,oCAAoC,MAApCA,2DAAoC;IAAEC,uCAAuC,MAAvCA,8DAAuC;IAAEC,iCAAiC,MAAjCA,wDAAiC;IACxKC,aAAa,MAAbA,4BAAa;IAAEC,uBAAuB,MAAvBA,sCAAuB;IAAEC,4BAA4B,MAA5BA,2CAA4B;IAAEC,+BAA+B,MAA/BA,8CAA+B;IAAEC,yBAAyB,MAAzBA,wCAAyB;IAChIC,oBAAoB,MAApBA,2BAAoB;IACpBC,oBAAoB,MAApBA,iCAAoB;;sBARsG;0BAC9B;wBAClE;0BACqF;gCAC8B;uCACmC;+BACxC;uBAC5G;6BACA;CACrC,iCAAiC"}
@@ -19,7 +19,7 @@ function createFlatTreeItems(flatTreeItemProps) {
19
19
  const root = createFlatTreeRootItem();
20
20
  const itemsPerValue = new Map([
21
21
  [
22
- flatTreeRootId,
22
+ root.value,
23
23
  root
24
24
  ]
25
25
  ]);
@@ -35,7 +35,8 @@ function createFlatTreeItems(flatTreeItemProps) {
35
35
  }
36
36
  break;
37
37
  }
38
- const isLeaf = (nextItemProps === null || nextItemProps === void 0 ? void 0 : nextItemProps.parentValue) !== treeItemProps.value;
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';
39
40
  var _currentParent_level;
40
41
  const currentLevel = ((_currentParent_level = currentParent.level) !== null && _currentParent_level !== void 0 ? _currentParent_level : 0) + 1;
41
42
  const currentChildrenSize = ++currentParent.childrenSize;
@@ -47,7 +48,7 @@ function createFlatTreeItems(flatTreeItemProps) {
47
48
  'aria-level': currentLevel,
48
49
  'aria-posinset': currentChildrenSize,
49
50
  'aria-setsize': currentParent.childrenSize,
50
- leaf: isLeaf,
51
+ itemType,
51
52
  // a reference to every parent element is necessary to ensure navigation
52
53
  ref: flatTreeItem.childrenSize > 0 ? ref : undefined
53
54
  }),
@@ -60,13 +61,14 @@ function createFlatTreeItems(flatTreeItemProps) {
60
61
  itemsPerValue.set(flatTreeItem.value, flatTreeItem);
61
62
  items.push(flatTreeItem);
62
63
  }
63
- return {
64
+ const flatTreeItems = {
64
65
  root,
65
66
  size: items.length,
66
67
  getByIndex: (index)=>items[index],
67
- get: (id)=>itemsPerValue.get(id),
68
- set: (id, value)=>itemsPerValue.set(id, value)
68
+ get: (key)=>itemsPerValue.get(key),
69
+ set: (key, value)=>itemsPerValue.set(key, value)
69
70
  };
71
+ return flatTreeItems;
70
72
  }
71
73
  const flatTreeRootId = '__fuiFlatTreeRoot';
72
74
  function createFlatTreeRootItem() {
@@ -75,6 +77,7 @@ function createFlatTreeRootItem() {
75
77
  current: null
76
78
  },
77
79
  value: flatTreeRootId,
80
+ parentValue: undefined,
78
81
  getTreeItemProps: ()=>{
79
82
  if (process.env.NODE_ENV !== 'production') {
80
83
  // eslint-disable-next-line no-console
@@ -85,7 +88,7 @@ function createFlatTreeRootItem() {
85
88
  'aria-setsize': -1,
86
89
  'aria-level': -1,
87
90
  'aria-posinset': -1,
88
- leaf: true
91
+ itemType: 'branch'
89
92
  };
90
93
  },
91
94
  childrenSize: 0,
@@ -102,13 +105,12 @@ function createFlatTreeRootItem() {
102
105
  function* VisibleFlatTreeItemGenerator(openItems, flatTreeItems) {
103
106
  for(let index = 0, visibleIndex = 0; index < flatTreeItems.size; index++){
104
107
  const item = flatTreeItems.getByIndex(index);
105
- var _flatTreeItems_get;
106
- const parent = item.parentValue ? (_flatTreeItems_get = flatTreeItems.get(item.parentValue)) !== null && _flatTreeItems_get !== void 0 ? _flatTreeItems_get : flatTreeItems.root : flatTreeItems.root;
107
108
  if (isItemVisible(item, openItems, flatTreeItems)) {
108
109
  item.index = visibleIndex++;
109
110
  yield item;
110
111
  } else {
111
- 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;
112
114
  }
113
115
  }
114
116
  }
@@ -1 +1 @@
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([[flatTreeRootId, 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 const isLeaf = (nextItemProps === null || nextItemProps === void 0 ? void 0 : nextItemProps.parentValue) !== treeItemProps.value;\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 leaf: isLeaf,\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 return {\n root,\n size: items.length,\n getByIndex: index => items[index],\n get: id => itemsPerValue.get(id),\n set: (id, value) => itemsPerValue.set(id, value)\n };\n}\nexport const flatTreeRootId = '__fuiFlatTreeRoot';\nfunction createFlatTreeRootItem() {\n return {\n ref: {\n current: null\n },\n value: 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 value: 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.parentValue ? (_flatTreeItems_get = flatTreeItems.get(item.parentValue)) !== 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.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","items","index","length","parentValue","treeItemProps","nextItemProps","currentParent","get","process","env","NODE_ENV","console","error","id","isLeaf","value","_currentParent_level","currentLevel","level","currentChildrenSize","childrenSize","ref","React","createRef","flatTreeItem","getTreeItemProps","leaf","undefined","set","push","size","getByIndex","current","openItems","flatTreeItems","visibleIndex","item","_flatTreeItems_get","parent","isItemVisible","has"],"mappings":";;;;;;;;;;;IAKgBA,mBAAmB,MAAnBA;IAmDHC,cAAc,MAAdA;IAgCIC,4BAA4B,MAA5BA;;;6DAxFM;AAKhB,SAASF,oBAAoBG,iBAAiB,EAAE;IACrD,MAAMC,OAAOC;IACb,MAAMC,gBAAgB,IAAIC,IAAI;QAAC;YAACN;YAAgBG;SAAK;KAAC;IACtD,MAAMI,QAAQ,EAAE;IAChB,IAAK,IAAIC,QAAQ,GAAGA,QAAQN,kBAAkBO,MAAM,EAAED,QAAS;QAC7D,MAAM,EACJE,aAAcV,eAAc,EAC5B,GAAGW,eACJ,GAAGT,iBAAiB,CAACM,MAAM;QAC5B,MAAMI,gBAAgBV,iBAAiB,CAACM,QAAQ,EAAE;QAClD,MAAMK,gBAAgBR,cAAcS,GAAG,CAACJ;QACxC,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,WAAW,AAAD,MAAOC,cAAcW,KAAK;QAChI,IAAIC;QACJ,MAAMC,eAAe,AAAC,CAAA,AAACD,CAAAA,uBAAuBV,cAAcY,KAAK,AAAD,MAAO,IAAI,IAAIF,yBAAyB,KAAK,IAAIA,uBAAuB,CAAC,AAAD,IAAK;QAC7I,MAAMG,sBAAsB,EAAEb,cAAcc,YAAY;QACxD,MAAMC,MAAM,WAAW,GAAEC,OAAMC,SAAS;QACxC,MAAMC,eAAe;YACnBT,OAAOX,cAAcW,KAAK;YAC1BU,kBAAkB,IAAO,CAAA;oBACvB,GAAGrB,aAAa;oBAChB,cAAca;oBACd,iBAAiBE;oBACjB,gBAAgBb,cAAcc,YAAY;oBAC1CM,MAAMZ;oBACN,wEAAwE;oBACxEO,KAAKG,aAAaJ,YAAY,GAAG,IAAIC,MAAMM,SAAS;gBACtD,CAAA;YACAN;YACAH,OAAOD;YACPd;YACAiB,cAAc;YACdnB,OAAO,CAAC;QACV;QACAH,cAAc8B,GAAG,CAACJ,aAAaT,KAAK,EAAES;QACtCxB,MAAM6B,IAAI,CAACL;IACb;IACA,OAAO;QACL5B;QACAkC,MAAM9B,MAAME,MAAM;QAClB6B,YAAY9B,CAAAA,QAASD,KAAK,CAACC,MAAM;QACjCM,KAAKM,CAAAA,KAAMf,cAAcS,GAAG,CAACM;QAC7Be,KAAK,CAACf,IAAIE,QAAUjB,cAAc8B,GAAG,CAACf,IAAIE;IAC5C;AACF;AACO,MAAMtB,iBAAiB;AAC9B,SAASI,yBAAyB;IAChC,OAAO;QACLwB,KAAK;YACHW,SAAS,IAAI;QACf;QACAjB,OAAOtB;QACPgC,kBAAkB,IAAM;YACtB,IAAIjB,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;gBACzC,sCAAsC;gBACtCC,QAAQC,KAAK,CAAC;YAChB,CAAC;YACD,OAAO;gBACLG,OAAOtB;gBACP,gBAAgB,CAAC;gBACjB,cAAc,CAAC;gBACf,iBAAiB,CAAC;gBAClBiC,MAAM,IAAI;YACZ;QACF;QACAN,cAAc;QACd,IAAInB,SAAQ;YACV,IAAIO,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;gBACzC,sCAAsC;gBACtCC,QAAQC,KAAK,CAAC;YAChB,CAAC;YACD,OAAO,CAAC;QACV;QACAM,OAAO;IACT;AACF;AAEO,UAAUxB,6BAA6BuC,SAAS,EAAEC,aAAa,EAAE;IACtE,IAAK,IAAIjC,QAAQ,GAAGkC,eAAe,GAAGlC,QAAQiC,cAAcJ,IAAI,EAAE7B,QAAS;QACzE,MAAMmC,OAAOF,cAAcH,UAAU,CAAC9B;QACtC,IAAIoC;QACJ,MAAMC,SAASF,KAAKjC,WAAW,GAAG,AAACkC,CAAAA,qBAAqBH,cAAc3B,GAAG,CAAC6B,KAAKjC,WAAW,CAAA,MAAO,IAAI,IAAIkC,uBAAuB,KAAK,IAAIA,qBAAqBH,cAActC,IAAI,GAAGsC,cAActC,IAAI;QACrM,IAAI2C,cAAcH,MAAMH,WAAWC,gBAAgB;YACjDE,KAAKnC,KAAK,GAAGkC;YACb,MAAMC;QACR,OAAO;YACLnC,SAASqC,OAAOlB,YAAY,GAAG,IAAIgB,KAAKhB,YAAY;QACtD,CAAC;IACH;AACF;AACA,SAASmB,cAAcH,IAAI,EAAEH,SAAS,EAAEC,aAAa,EAAE;IACrD,IAAIE,KAAKlB,KAAK,KAAK,GAAG;QACpB,OAAO,IAAI;IACb,CAAC;IACD,MAAOkB,KAAKjC,WAAW,IAAIiC,KAAKjC,WAAW,KAAK+B,cAActC,IAAI,CAACmB,KAAK,CAAE;QACxE,IAAI,CAACkB,UAAUO,GAAG,CAACJ,KAAKjC,WAAW,GAAG;YACpC,OAAO,KAAK;QACd,CAAC;QACD,MAAMmC,SAASJ,cAAc3B,GAAG,CAAC6B,KAAKjC,WAAW;QACjD,IAAI,CAACmC,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,18 +2,10 @@
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)=>{
@@ -26,7 +18,6 @@ function flattenTreeRecursive(items, parent, level = 1) {
26
18
  'aria-setsize': items.length,
27
19
  parentValue: parent === null || parent === void 0 ? void 0 : parent.value,
28
20
  value: (_item_value = item.value) !== null && _item_value !== void 0 ? _item_value : id,
29
- leaf: subtree === undefined,
30
21
  ...item
31
22
  };
32
23
  acc.push(flatTreeItem);
@@ -36,30 +27,6 @@ function flattenTreeRecursive(items, parent, level = 1) {
36
27
  return acc;
37
28
  }, []);
38
29
  }
39
- const flattenTree_unstable = (items)=>flattenTreeRecursive(items);
40
- const flattenTreeFromElement = (root, parent, level = 1)=>{
41
- const children = _react.Children.toArray(root.props.children);
42
- return children.reduce((acc, curr, index)=>{
43
- const [content, subtree] = _react.Children.toArray(curr.props.children);
44
- var _curr_props_id;
45
- const id = (_curr_props_id = curr.props.id) !== null && _curr_props_id !== void 0 ? _curr_props_id : `fui-FlatTreeItem-${count++}`;
46
- var _curr_props_value;
47
- const flatTreeItem = {
48
- 'aria-level': level,
49
- 'aria-posinset': index + 1,
50
- 'aria-setsize': children.length,
51
- parentValue: parent === null || parent === void 0 ? void 0 : parent.value,
52
- value: (_curr_props_value = curr.props.value) !== null && _curr_props_value !== void 0 ? _curr_props_value : id,
53
- leaf: subtree === undefined,
54
- ...curr.props,
55
- children: content
56
- };
57
- acc.push(flatTreeItem);
58
- if (subtree !== undefined) {
59
- acc.push(...flattenTreeFromElement(subtree, flatTreeItem, level + 1));
60
- }
61
- return acc;
62
- }, []);
63
- }; //# sourceMappingURL=flattenTree.js.map
30
+ const flattenTree_unstable = (items)=>flattenTreeRecursive(items); //# sourceMappingURL=flattenTree.js.map
64
31
 
65
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 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 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 id = (_curr_props_id = curr.props.id) !== null && _curr_props_id !== void 0 ? _curr_props_id : `fui-FlatTreeItem-${count++}`;\n var _curr_props_value;\n const flatTreeItem = {\n 'aria-level': level,\n 'aria-posinset': index + 1,\n 'aria-setsize': children.length,\n parentValue: parent === null || parent === void 0 ? void 0 : parent.value,\n value: (_curr_props_value = curr.props.value) !== null && _curr_props_value !== void 0 ? _curr_props_value : id,\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","id","_item_value","flatTreeItem","length","parentValue","value","leaf","undefined","push","root","children","React","Children","toArray","props","curr","content","_curr_props_id","_curr_props_value"],"mappings":";;;;;;;;;;;IAkEaA,oBAAoB,MAApBA;IAIAC,sBAAsB,MAAtBA;;;6DAtEU;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,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;YACvFM,MAAMV,YAAYW;YAClB,GAAGV,IAAI;QACT;QACAF,IAAIa,IAAI,CAACN;QACT,IAAIN,YAAYW,WAAW;YACzBZ,IAAIa,IAAI,IAAIlB,qBAAqBM,SAASM,cAAcT,QAAQ;QAClE,CAAC;QACD,OAAOE;IACT,GAAG,EAAE;AACP;AAyCO,MAAMR,uBAAuBI,CAAAA,QAASD,qBAAqBC;AAI3D,MAAMH,yBAAyB,CAACqB,MAAMjB,QAAQC,QAAQ,CAAC,GAAK;IACjE,MAAMiB,WAAWC,OAAMC,QAAQ,CAACC,OAAO,CAACJ,KAAKK,KAAK,CAACJ,QAAQ;IAC3D,OAAOA,SAAShB,MAAM,CAAC,CAACC,KAAKoB,MAAMjB,QAAU;QAC3C,MAAM,CAACkB,SAASpB,QAAQ,GAAGe,OAAMC,QAAQ,CAACC,OAAO,CAACE,KAAKD,KAAK,CAACJ,QAAQ;QACrE,IAAIO;QACJ,MAAMjB,KAAK,AAACiB,CAAAA,iBAAiBF,KAAKD,KAAK,CAACd,EAAE,AAAD,MAAO,IAAI,IAAIiB,mBAAmB,KAAK,IAAIA,iBAAiB,CAAC,iBAAiB,EAAE5B,QAAQ,CAAC;QAClI,IAAI6B;QACJ,MAAMhB,eAAe;YACnB,cAAcT;YACd,iBAAiBK,QAAQ;YACzB,gBAAgBY,SAASP,MAAM;YAC/BC,aAAaZ,WAAW,IAAI,IAAIA,WAAW,KAAK,IAAI,KAAK,IAAIA,OAAOa,KAAK;YACzEA,OAAO,AAACa,CAAAA,oBAAoBH,KAAKD,KAAK,CAACT,KAAK,AAAD,MAAO,IAAI,IAAIa,sBAAsB,KAAK,IAAIA,oBAAoBlB,EAAE;YAC/GM,MAAMV,YAAYW;YAClB,GAAGQ,KAAKD,KAAK;YACbJ,UAAUM;QACZ;QACArB,IAAIa,IAAI,CAACN;QACT,IAAIN,YAAYW,WAAW;YACzBZ,IAAIa,IAAI,IAAIpB,uBAAuBQ,SAASM,cAAcT,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"}