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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/CHANGELOG.json +151 -1
  2. package/CHANGELOG.md +40 -2
  3. package/lib/Tree.js +0 -1
  4. package/lib/Tree.js.map +1 -1
  5. package/lib/TreeItem.js +0 -1
  6. package/lib/TreeItem.js.map +1 -1
  7. package/lib/TreeItemAside.js +0 -1
  8. package/lib/TreeItemAside.js.map +1 -1
  9. package/lib/TreeItemLayout.js +0 -1
  10. package/lib/TreeItemLayout.js.map +1 -1
  11. package/lib/TreeItemPersonaLayout.js +0 -1
  12. package/lib/TreeItemPersonaLayout.js.map +1 -1
  13. package/lib/components/Tree/Tree.js +5 -7
  14. package/lib/components/Tree/Tree.js.map +1 -1
  15. package/lib/components/Tree/Tree.types.js +0 -1
  16. package/lib/components/Tree/Tree.types.js.map +1 -1
  17. package/lib/components/Tree/index.js +0 -1
  18. package/lib/components/Tree/index.js.map +1 -1
  19. package/lib/components/Tree/renderTree.js +6 -10
  20. package/lib/components/Tree/renderTree.js.map +1 -1
  21. package/lib/components/Tree/useRootTree.js +127 -142
  22. package/lib/components/Tree/useRootTree.js.map +1 -1
  23. package/lib/components/Tree/useSubtree.js +26 -31
  24. package/lib/components/Tree/useSubtree.js.map +1 -1
  25. package/lib/components/Tree/useTree.js +6 -8
  26. package/lib/components/Tree/useTree.js.map +1 -1
  27. package/lib/components/Tree/useTreeContextValues.js +14 -22
  28. package/lib/components/Tree/useTreeContextValues.js.map +1 -1
  29. package/lib/components/Tree/useTreeStyles.styles.js.map +1 -1
  30. package/lib/components/TreeItem/TreeItem.js +5 -7
  31. package/lib/components/TreeItem/TreeItem.js.map +1 -1
  32. package/lib/components/TreeItem/TreeItem.types.js +0 -1
  33. package/lib/components/TreeItem/TreeItem.types.js.map +1 -1
  34. package/lib/components/TreeItem/index.js +0 -1
  35. package/lib/components/TreeItem/index.js.map +1 -1
  36. package/lib/components/TreeItem/renderTreeItem.js +6 -11
  37. package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
  38. package/lib/components/TreeItem/useTreeItem.js +113 -123
  39. package/lib/components/TreeItem/useTreeItem.js.map +1 -1
  40. package/lib/components/TreeItem/useTreeItemContextValues.js +18 -30
  41. package/lib/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  42. package/lib/components/TreeItem/useTreeItemStyles.styles.js +5 -5
  43. package/lib/components/TreeItem/useTreeItemStyles.styles.js.map +1 -1
  44. package/lib/components/TreeItemAside/TreeItemAside.js +4 -6
  45. package/lib/components/TreeItemAside/TreeItemAside.js.map +1 -1
  46. package/lib/components/TreeItemAside/TreeItemAside.types.js +1 -2
  47. package/lib/components/TreeItemAside/TreeItemAside.types.js.map +1 -1
  48. package/lib/components/TreeItemAside/index.js +0 -1
  49. package/lib/components/TreeItemAside/index.js.map +1 -1
  50. package/lib/components/TreeItemAside/renderTreeItemAside.js +9 -14
  51. package/lib/components/TreeItemAside/renderTreeItemAside.js.map +1 -1
  52. package/lib/components/TreeItemAside/useTreeItemAside.js +18 -23
  53. package/lib/components/TreeItemAside/useTreeItemAside.js.map +1 -1
  54. package/lib/components/TreeItemAside/useTreeItemAsideStyles.styles.js.map +1 -1
  55. package/lib/components/TreeItemChevron.js +16 -19
  56. package/lib/components/TreeItemChevron.js.map +1 -1
  57. package/lib/components/TreeItemLayout/TreeItemLayout.js +4 -6
  58. package/lib/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  59. package/lib/components/TreeItemLayout/TreeItemLayout.types.js +1 -2
  60. package/lib/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  61. package/lib/components/TreeItemLayout/index.js +0 -1
  62. package/lib/components/TreeItemLayout/index.js.map +1 -1
  63. package/lib/components/TreeItemLayout/renderTreeItemLayout.js +4 -9
  64. package/lib/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  65. package/lib/components/TreeItemLayout/useTreeItemLayout.js +35 -42
  66. package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  67. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -1
  68. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +5 -7
  69. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  70. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +1 -2
  71. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  72. package/lib/components/TreeItemPersonaLayout/index.js +0 -1
  73. package/lib/components/TreeItemPersonaLayout/index.js.map +1 -1
  74. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +6 -11
  75. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  76. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +33 -41
  77. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  78. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +9 -10
  79. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  80. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -1
  81. package/lib/contexts/index.js +0 -1
  82. package/lib/contexts/index.js.map +1 -1
  83. package/lib/contexts/treeContext.js +9 -12
  84. package/lib/contexts/treeContext.js.map +1 -1
  85. package/lib/contexts/treeItemContext.js +12 -15
  86. package/lib/contexts/treeItemContext.js.map +1 -1
  87. package/lib/hooks/index.js +0 -1
  88. package/lib/hooks/index.js.map +1 -1
  89. package/lib/hooks/useFlatTree.js +68 -59
  90. package/lib/hooks/useFlatTree.js.map +1 -1
  91. package/lib/hooks/useFlatTreeNavigation.js +59 -61
  92. package/lib/hooks/useFlatTreeNavigation.js.map +1 -1
  93. package/lib/hooks/useHTMLElementWalker.js +78 -76
  94. package/lib/hooks/useHTMLElementWalker.js.map +1 -1
  95. package/lib/hooks/useNestedTreeNavigation.js +48 -48
  96. package/lib/hooks/useNestedTreeNavigation.js.map +1 -1
  97. package/lib/hooks/useOpenItemsState.js +18 -14
  98. package/lib/hooks/useOpenItemsState.js.map +1 -1
  99. package/lib/hooks/useRovingTabIndexes.js +46 -45
  100. package/lib/hooks/useRovingTabIndexes.js.map +1 -1
  101. package/lib/index.js +0 -1
  102. package/lib/index.js.map +1 -1
  103. package/lib/utils/ImmutableSet.js +27 -30
  104. package/lib/utils/ImmutableSet.js.map +1 -1
  105. package/lib/utils/assert.js +4 -5
  106. package/lib/utils/assert.js.map +1 -1
  107. package/lib/utils/createFlatTreeItems.js +101 -101
  108. package/lib/utils/createFlatTreeItems.js.map +1 -1
  109. package/lib/utils/flattenTree.js +19 -23
  110. package/lib/utils/flattenTree.js.map +1 -1
  111. package/lib/utils/nextTypeAheadElement.js +11 -12
  112. package/lib/utils/nextTypeAheadElement.js.map +1 -1
  113. package/lib/utils/normalizeOpenItems.js +6 -5
  114. package/lib/utils/normalizeOpenItems.js.map +1 -1
  115. package/lib/utils/tokens.js +12 -13
  116. package/lib/utils/tokens.js.map +1 -1
  117. package/lib/utils/treeItemFilter.js +2 -3
  118. package/lib/utils/treeItemFilter.js.map +1 -1
  119. package/lib-commonjs/Tree.js +0 -3
  120. package/lib-commonjs/Tree.js.map +1 -1
  121. package/lib-commonjs/TreeItem.js +0 -3
  122. package/lib-commonjs/TreeItem.js.map +1 -1
  123. package/lib-commonjs/TreeItemAside.js +0 -3
  124. package/lib-commonjs/TreeItemAside.js.map +1 -1
  125. package/lib-commonjs/TreeItemLayout.js +0 -3
  126. package/lib-commonjs/TreeItemLayout.js.map +1 -1
  127. package/lib-commonjs/TreeItemPersonaLayout.js +0 -3
  128. package/lib-commonjs/TreeItemPersonaLayout.js.map +1 -1
  129. package/lib-commonjs/components/Tree/Tree.js +1 -3
  130. package/lib-commonjs/components/Tree/Tree.js.map +1 -1
  131. package/lib-commonjs/components/Tree/Tree.types.js +0 -3
  132. package/lib-commonjs/components/Tree/Tree.types.js.map +1 -1
  133. package/lib-commonjs/components/Tree/index.js +0 -3
  134. package/lib-commonjs/components/Tree/index.js.map +1 -1
  135. package/lib-commonjs/components/Tree/renderTree.js +1 -3
  136. package/lib-commonjs/components/Tree/renderTree.js.map +1 -1
  137. package/lib-commonjs/components/Tree/useRootTree.js +1 -3
  138. package/lib-commonjs/components/Tree/useRootTree.js.map +1 -1
  139. package/lib-commonjs/components/Tree/useSubtree.js +1 -3
  140. package/lib-commonjs/components/Tree/useSubtree.js.map +1 -1
  141. package/lib-commonjs/components/Tree/useTree.js +1 -3
  142. package/lib-commonjs/components/Tree/useTree.js.map +1 -1
  143. package/lib-commonjs/components/Tree/useTreeContextValues.js +4 -6
  144. package/lib-commonjs/components/Tree/useTreeContextValues.js.map +1 -1
  145. package/lib-commonjs/components/Tree/useTreeStyles.styles.js +0 -2
  146. package/lib-commonjs/components/Tree/useTreeStyles.styles.js.map +1 -1
  147. package/lib-commonjs/components/TreeItem/TreeItem.js +1 -3
  148. package/lib-commonjs/components/TreeItem/TreeItem.js.map +1 -1
  149. package/lib-commonjs/components/TreeItem/TreeItem.types.js +0 -3
  150. package/lib-commonjs/components/TreeItem/TreeItem.types.js.map +1 -1
  151. package/lib-commonjs/components/TreeItem/index.js +0 -3
  152. package/lib-commonjs/components/TreeItem/index.js.map +1 -1
  153. package/lib-commonjs/components/TreeItem/renderTreeItem.js +1 -3
  154. package/lib-commonjs/components/TreeItem/renderTreeItem.js.map +1 -1
  155. package/lib-commonjs/components/TreeItem/useTreeItem.js +1 -3
  156. package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
  157. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js +4 -6
  158. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  159. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js +12 -14
  160. package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js.map +1 -1
  161. package/lib-commonjs/components/TreeItemAside/TreeItemAside.js +1 -3
  162. package/lib-commonjs/components/TreeItemAside/TreeItemAside.js.map +1 -1
  163. package/lib-commonjs/components/TreeItemAside/TreeItemAside.types.js +0 -3
  164. package/lib-commonjs/components/TreeItemAside/TreeItemAside.types.js.map +1 -1
  165. package/lib-commonjs/components/TreeItemAside/index.js +0 -3
  166. package/lib-commonjs/components/TreeItemAside/index.js.map +1 -1
  167. package/lib-commonjs/components/TreeItemAside/renderTreeItemAside.js +1 -3
  168. package/lib-commonjs/components/TreeItemAside/renderTreeItemAside.js.map +1 -1
  169. package/lib-commonjs/components/TreeItemAside/useTreeItemAside.js +1 -3
  170. package/lib-commonjs/components/TreeItemAside/useTreeItemAside.js.map +1 -1
  171. package/lib-commonjs/components/TreeItemAside/useTreeItemAsideStyles.styles.js +0 -2
  172. package/lib-commonjs/components/TreeItemAside/useTreeItemAsideStyles.styles.js.map +1 -1
  173. package/lib-commonjs/components/TreeItemChevron.js +1 -3
  174. package/lib-commonjs/components/TreeItemChevron.js.map +1 -1
  175. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js +1 -3
  176. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  177. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js +0 -3
  178. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  179. package/lib-commonjs/components/TreeItemLayout/index.js +0 -3
  180. package/lib-commonjs/components/TreeItemLayout/index.js.map +1 -1
  181. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js +1 -3
  182. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  183. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +1 -3
  184. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  185. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +0 -2
  186. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -1
  187. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +1 -3
  188. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  189. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +0 -3
  190. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  191. package/lib-commonjs/components/TreeItemPersonaLayout/index.js +0 -3
  192. package/lib-commonjs/components/TreeItemPersonaLayout/index.js.map +1 -1
  193. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +1 -3
  194. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  195. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +1 -3
  196. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  197. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +1 -3
  198. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  199. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +0 -2
  200. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -1
  201. package/lib-commonjs/contexts/index.js +0 -3
  202. package/lib-commonjs/contexts/index.js.map +1 -1
  203. package/lib-commonjs/contexts/treeContext.js +2 -4
  204. package/lib-commonjs/contexts/treeContext.js.map +1 -1
  205. package/lib-commonjs/contexts/treeItemContext.js +2 -4
  206. package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
  207. package/lib-commonjs/hooks/index.js +0 -3
  208. package/lib-commonjs/hooks/index.js.map +1 -1
  209. package/lib-commonjs/hooks/useFlatTree.js +2 -5
  210. package/lib-commonjs/hooks/useFlatTree.js.map +1 -1
  211. package/lib-commonjs/hooks/useFlatTreeNavigation.js +1 -3
  212. package/lib-commonjs/hooks/useFlatTreeNavigation.js.map +1 -1
  213. package/lib-commonjs/hooks/useHTMLElementWalker.js +1 -3
  214. package/lib-commonjs/hooks/useHTMLElementWalker.js.map +1 -1
  215. package/lib-commonjs/hooks/useNestedTreeNavigation.js +1 -3
  216. package/lib-commonjs/hooks/useNestedTreeNavigation.js.map +1 -1
  217. package/lib-commonjs/hooks/useOpenItemsState.js +1 -3
  218. package/lib-commonjs/hooks/useOpenItemsState.js.map +1 -1
  219. package/lib-commonjs/hooks/useRovingTabIndexes.js +1 -3
  220. package/lib-commonjs/hooks/useRovingTabIndexes.js.map +1 -1
  221. package/lib-commonjs/index.js +0 -3
  222. package/lib-commonjs/index.js.map +1 -1
  223. package/lib-commonjs/utils/ImmutableSet.js +2 -4
  224. package/lib-commonjs/utils/ImmutableSet.js.map +1 -1
  225. package/lib-commonjs/utils/assert.js +1 -3
  226. package/lib-commonjs/utils/assert.js.map +1 -1
  227. package/lib-commonjs/utils/createFlatTreeItems.js +1 -3
  228. package/lib-commonjs/utils/createFlatTreeItems.js.map +1 -1
  229. package/lib-commonjs/utils/flattenTree.js +1 -3
  230. package/lib-commonjs/utils/flattenTree.js.map +1 -1
  231. package/lib-commonjs/utils/nextTypeAheadElement.js +1 -3
  232. package/lib-commonjs/utils/nextTypeAheadElement.js.map +1 -1
  233. package/lib-commonjs/utils/normalizeOpenItems.js +1 -3
  234. package/lib-commonjs/utils/normalizeOpenItems.js.map +1 -1
  235. package/lib-commonjs/utils/tokens.js +1 -3
  236. package/lib-commonjs/utils/tokens.js.map +1 -1
  237. package/lib-commonjs/utils/treeItemFilter.js +1 -3
  238. package/lib-commonjs/utils/treeItemFilter.js.map +1 -1
  239. package/package.json +14 -14
@@ -1 +1 @@
1
- {"version":3,"names":["createElement","getSlotsNext","TreeItemProvider","renderTreeItem_unstable","state","contextValues","slots","slotProps","root","value","treeItem","children"],"sources":["../../../src/components/TreeItem/renderTreeItem.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsx createElement */\n\nimport { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\nimport type { TreeItemState, TreeItemSlots, TreeItemContextValues } from './TreeItem.types';\nimport { TreeItemProvider } from '../../contexts';\n\n/**\n * Render the final JSX of TreeItem\n */\nexport const renderTreeItem_unstable = (state: TreeItemState, contextValues: TreeItemContextValues) => {\n const { slots, slotProps } = getSlotsNext<TreeItemSlots>(state);\n\n return (\n <slots.root {...slotProps.root}>\n <TreeItemProvider value={contextValues.treeItem}>{slotProps.root.children}</TreeItemProvider>\n </slots.root>\n );\n};\n"],"mappings":"AAAA,2BACA,yBAEA,SAASA,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAE7B,SAASC,gBAAgB,QAAQ;AAEjC;;;AAGA,OAAO,MAAMC,uBAAA,GAA0BA,CAACC,KAAA,EAAsBC,aAAA,KAAyC;EACrG,MAAM;IAAEC,KAAA;IAAOC;EAAS,CAAE,GAAGN,YAAA,CAA4BG,KAAA;EAEzD,oBACEJ,aAdJ,CAcKM,KAAA,CAAME,IAAI,EAAKD,SAAA,CAAUC,IAAI,eAC5BR,aAfN,CAeOE,gBAAA;IAAiBO,KAAA,EAAOJ,aAAA,CAAcK;KAAWH,SAAA,CAAUC,IAAI,CAACG,QAAQ;AAG/E"}
1
+ {"version":3,"sources":["renderTreeItem.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsx createElement */\n\nimport { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\nimport type { TreeItemState, TreeItemSlots, TreeItemContextValues } from './TreeItem.types';\nimport { TreeItemProvider } from '../../contexts';\n\n/**\n * Render the final JSX of TreeItem\n */\nexport const renderTreeItem_unstable = (state: TreeItemState, contextValues: TreeItemContextValues) => {\n const { slots, slotProps } = getSlotsNext<TreeItemSlots>(state);\n\n return (\n <slots.root {...slotProps.root}>\n <TreeItemProvider value={contextValues.treeItem}>{slotProps.root.children}</TreeItemProvider>\n </slots.root>\n );\n};\n"],"names":["createElement","getSlotsNext","TreeItemProvider","renderTreeItem_unstable","state","contextValues","slots","slotProps","root","value","treeItem","children"],"mappings":"AAAA,wBAAwB,GACxB,uBAAuB,GAEvB,SAASA,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,YAAY,QAAQ,4BAA4B;AAEzD,SAASC,gBAAgB,QAAQ,iBAAiB;AAElD;;CAEC,GACD,OAAO,MAAMC,0BAA0B,CAACC,OAAsBC,gBAAyC;IACrG,MAAM,EAAEC,MAAK,EAAEC,UAAS,EAAE,GAAGN,aAA4BG;IAEzD,qBACE,AAdJ,cAcKE,MAAME,IAAI,EAAKD,UAAUC,IAAI,gBAC5B,AAfN,cAeON;QAAiBO,OAAOJ,cAAcK,QAAQ;OAAGH,UAAUC,IAAI,CAACG,QAAQ;AAG/E,EAAE"}
@@ -12,129 +12,119 @@ import { treeDataTypes } from '../../utils/tokens';
12
12
  *
13
13
  * @param props - props from this instance of TreeItem
14
14
  * @param ref - reference to root HTMLElement of TreeItem
15
- */
16
- export function useTreeItem_unstable(props, ref) {
17
- const contextLevel = useTreeContext_unstable(ctx => ctx.level);
18
- const id = useId('fui-TreeItem-', props.id);
19
- const {
20
- onClick,
21
- onKeyDown,
22
- as = 'div',
23
- value = id,
24
- itemType = 'leaf',
25
- 'aria-level': level = contextLevel,
26
- ...rest
27
- } = props;
28
- const requestTreeResponse = useTreeContext_unstable(ctx => ctx.requestTreeResponse);
29
- const [isActionsVisible, setActionsVisible] = React.useState(false);
30
- const [isAsideVisible, setAsideVisible] = React.useState(true);
31
- const handleActionsRef = actions => {
32
- setAsideVisible(actions === null);
33
- };
34
- const open = useTreeContext_unstable(ctx => ctx.openItems.has(value));
35
- const actionsRef = React.useRef(null);
36
- const expandIconRef = React.useRef(null);
37
- const layoutRef = React.useRef(null);
38
- const subtreeRef = React.useRef(null);
39
- const handleClick = useEventCallback(event => {
40
- onClick === null || onClick === void 0 ? void 0 : onClick(event);
41
- if (event.isDefaultPrevented()) {
42
- return;
43
- }
44
- const isEventFromActions = actionsRef.current && elementContains(actionsRef.current, event.target);
45
- if (isEventFromActions) {
46
- return;
47
- }
48
- const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target);
49
- if (isEventFromSubtree) {
50
- return;
51
- }
52
- const isFromExpandIcon = expandIconRef.current && elementContains(expandIconRef.current, event.target);
53
- requestTreeResponse({
54
- event,
55
- itemType,
56
- value,
57
- type: isFromExpandIcon ? treeDataTypes.ExpandIconClick : treeDataTypes.Click
58
- });
59
- });
60
- const handleKeyDown = useEventCallback(event => {
61
- onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
62
- if (event.isDefaultPrevented()) {
63
- return;
64
- }
65
- if (event.currentTarget !== event.target) {
66
- return;
67
- }
68
- switch (event.key) {
69
- case treeDataTypes.End:
70
- case treeDataTypes.Home:
71
- case treeDataTypes.Enter:
72
- case treeDataTypes.ArrowUp:
73
- case treeDataTypes.ArrowDown:
74
- case treeDataTypes.ArrowLeft:
75
- case treeDataTypes.ArrowRight:
76
- return requestTreeResponse({
77
- event,
78
- itemType,
79
- value,
80
- type: event.key
15
+ */ export function useTreeItem_unstable(props, ref) {
16
+ const contextLevel = useTreeContext_unstable((ctx)=>ctx.level);
17
+ const id = useId('fui-TreeItem-', props.id);
18
+ const { onClick , onKeyDown , as ='div' , value =id , itemType ='leaf' , 'aria-level': level = contextLevel , ...rest } = props;
19
+ const requestTreeResponse = useTreeContext_unstable((ctx)=>ctx.requestTreeResponse);
20
+ const [isActionsVisible, setActionsVisible] = React.useState(false);
21
+ const [isAsideVisible, setAsideVisible] = React.useState(true);
22
+ const handleActionsRef = (actions)=>{
23
+ setAsideVisible(actions === null);
24
+ };
25
+ const open = useTreeContext_unstable((ctx)=>ctx.openItems.has(value));
26
+ const actionsRef = React.useRef(null);
27
+ const expandIconRef = React.useRef(null);
28
+ const layoutRef = React.useRef(null);
29
+ const subtreeRef = React.useRef(null);
30
+ const handleClick = useEventCallback((event)=>{
31
+ onClick === null || onClick === void 0 ? void 0 : onClick(event);
32
+ if (event.isDefaultPrevented()) {
33
+ return;
34
+ }
35
+ const isEventFromActions = actionsRef.current && elementContains(actionsRef.current, event.target);
36
+ if (isEventFromActions) {
37
+ return;
38
+ }
39
+ const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target);
40
+ if (isEventFromSubtree) {
41
+ return;
42
+ }
43
+ const isFromExpandIcon = expandIconRef.current && elementContains(expandIconRef.current, event.target);
44
+ requestTreeResponse({
45
+ event,
46
+ itemType,
47
+ value,
48
+ type: isFromExpandIcon ? treeDataTypes.ExpandIconClick : treeDataTypes.Click
81
49
  });
82
- }
83
- const isTypeAheadCharacter = event.key.length === 1 && event.key.match(/\w/) && !event.altKey && !event.ctrlKey && !event.metaKey;
84
- if (isTypeAheadCharacter) {
85
- requestTreeResponse({
86
- event,
87
- itemType,
50
+ });
51
+ const handleKeyDown = useEventCallback((event)=>{
52
+ onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
53
+ if (event.isDefaultPrevented()) {
54
+ return;
55
+ }
56
+ if (event.currentTarget !== event.target) {
57
+ return;
58
+ }
59
+ switch(event.key){
60
+ case treeDataTypes.End:
61
+ case treeDataTypes.Home:
62
+ case treeDataTypes.Enter:
63
+ case treeDataTypes.ArrowUp:
64
+ case treeDataTypes.ArrowDown:
65
+ case treeDataTypes.ArrowLeft:
66
+ case treeDataTypes.ArrowRight:
67
+ return requestTreeResponse({
68
+ event,
69
+ itemType,
70
+ value,
71
+ type: event.key
72
+ });
73
+ }
74
+ const isTypeAheadCharacter = event.key.length === 1 && event.key.match(/\w/) && !event.altKey && !event.ctrlKey && !event.metaKey;
75
+ if (isTypeAheadCharacter) {
76
+ requestTreeResponse({
77
+ event,
78
+ itemType,
79
+ value,
80
+ type: treeDataTypes.TypeAhead
81
+ });
82
+ }
83
+ });
84
+ const handleActionsVisible = useEventCallback((event)=>{
85
+ const isTargetFromSubtree = Boolean(subtreeRef.current && elementContains(subtreeRef.current, event.target));
86
+ if (!isTargetFromSubtree) {
87
+ setActionsVisible(true);
88
+ }
89
+ });
90
+ const handleActionsInvisible = useEventCallback((event)=>{
91
+ const isTargetFromSubtree = Boolean(subtreeRef.current && elementContains(subtreeRef.current, event.target));
92
+ const isRelatedTargetFromActions = Boolean(actionsRef.current && elementContains(actionsRef.current, event.relatedTarget));
93
+ if (isRelatedTargetFromActions) {
94
+ return setActionsVisible(true);
95
+ }
96
+ if (!isTargetFromSubtree) {
97
+ return setActionsVisible(false);
98
+ }
99
+ });
100
+ return {
88
101
  value,
89
- type: treeDataTypes.TypeAhead
90
- });
91
- }
92
- });
93
- const handleActionsVisible = useEventCallback(event => {
94
- const isTargetFromSubtree = Boolean(subtreeRef.current && elementContains(subtreeRef.current, event.target));
95
- if (!isTargetFromSubtree) {
96
- setActionsVisible(true);
97
- }
98
- });
99
- const handleActionsInvisible = useEventCallback(event => {
100
- const isTargetFromSubtree = Boolean(subtreeRef.current && elementContains(subtreeRef.current, event.target));
101
- const isRelatedTargetFromActions = Boolean(actionsRef.current && elementContains(actionsRef.current, event.relatedTarget));
102
- if (isRelatedTargetFromActions) {
103
- return setActionsVisible(true);
104
- }
105
- if (!isTargetFromSubtree) {
106
- return setActionsVisible(false);
107
- }
108
- });
109
- return {
110
- value,
111
- open,
112
- subtreeRef,
113
- actionsRef: useMergedRefs(actionsRef, handleActionsRef),
114
- expandIconRef,
115
- layoutRef,
116
- itemType,
117
- isActionsVisible,
118
- isAsideVisible,
119
- level,
120
- components: {
121
- root: 'div'
122
- },
123
- root: getNativeElementProps(as, {
124
- tabIndex: -1,
125
- ...rest,
126
- id,
127
- ref,
128
- 'aria-level': level,
129
- 'aria-expanded': itemType === 'branch' ? open : undefined,
130
- role: 'treeitem',
131
- onClick: handleClick,
132
- onKeyDown: handleKeyDown,
133
- onMouseOver: handleActionsVisible,
134
- onFocus: handleActionsVisible,
135
- onMouseOut: handleActionsInvisible,
136
- onBlur: handleActionsInvisible
137
- })
138
- };
102
+ open,
103
+ subtreeRef,
104
+ actionsRef: useMergedRefs(actionsRef, handleActionsRef),
105
+ expandIconRef,
106
+ layoutRef,
107
+ itemType,
108
+ isActionsVisible,
109
+ isAsideVisible,
110
+ level,
111
+ components: {
112
+ root: 'div'
113
+ },
114
+ root: getNativeElementProps(as, {
115
+ tabIndex: -1,
116
+ ...rest,
117
+ id,
118
+ ref,
119
+ 'aria-level': level,
120
+ 'aria-expanded': itemType === 'branch' ? open : undefined,
121
+ role: 'treeitem',
122
+ onClick: handleClick,
123
+ onKeyDown: handleKeyDown,
124
+ onMouseOver: handleActionsVisible,
125
+ onFocus: handleActionsVisible,
126
+ onMouseOut: handleActionsInvisible,
127
+ onBlur: handleActionsInvisible
128
+ })
129
+ };
139
130
  }
140
- //# sourceMappingURL=useTreeItem.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","getNativeElementProps","useId","useMergedRefs","useEventCallback","elementContains","useTreeContext_unstable","treeDataTypes","useTreeItem_unstable","props","ref","contextLevel","ctx","level","id","onClick","onKeyDown","as","value","itemType","rest","requestTreeResponse","isActionsVisible","setActionsVisible","useState","isAsideVisible","setAsideVisible","handleActionsRef","actions","open","openItems","has","actionsRef","useRef","expandIconRef","layoutRef","subtreeRef","handleClick","event","isDefaultPrevented","isEventFromActions","current","target","isEventFromSubtree","isFromExpandIcon","type","ExpandIconClick","Click","handleKeyDown","currentTarget","key","End","Home","Enter","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","isTypeAheadCharacter","length","match","altKey","ctrlKey","metaKey","TypeAhead","handleActionsVisible","isTargetFromSubtree","Boolean","handleActionsInvisible","isRelatedTargetFromActions","relatedTarget","components","root","tabIndex","undefined","role","onMouseOver","onFocus","onMouseOut","onBlur"],"sources":["../../../src/components/TreeItem/useTreeItem.ts"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useId, useMergedRefs } from '@fluentui/react-utilities';\nimport { useEventCallback } from '@fluentui/react-utilities';\nimport { elementContains } from '@fluentui/react-portal';\nimport type { TreeItemProps, TreeItemState } from './TreeItem.types';\nimport { useTreeContext_unstable } from '../../contexts/index';\nimport { treeDataTypes } from '../../utils/tokens';\n\n/**\n * Create the state required to render TreeItem.\n *\n * The returned state can be modified with hooks such as useTreeItemStyles_unstable,\n * before being passed to renderTreeItem_unstable.\n *\n * @param props - props from this instance of TreeItem\n * @param ref - reference to root HTMLElement of TreeItem\n */\nexport function useTreeItem_unstable<Value = string>(\n props: TreeItemProps<Value>,\n ref: React.Ref<HTMLDivElement>,\n): TreeItemState {\n const contextLevel = useTreeContext_unstable(ctx => ctx.level);\n\n const id = useId('fui-TreeItem-', props.id);\n\n const {\n onClick,\n onKeyDown,\n as = 'div',\n value = id,\n itemType = 'leaf',\n 'aria-level': level = contextLevel,\n ...rest\n } = props;\n\n const requestTreeResponse = useTreeContext_unstable(ctx => ctx.requestTreeResponse);\n\n const [isActionsVisible, setActionsVisible] = React.useState(false);\n const [isAsideVisible, setAsideVisible] = React.useState(true);\n\n const handleActionsRef = (actions: HTMLDivElement | null) => {\n setAsideVisible(actions === null);\n };\n\n const open = useTreeContext_unstable(ctx => ctx.openItems.has(value));\n\n const actionsRef = React.useRef<HTMLDivElement>(null);\n const expandIconRef = React.useRef<HTMLDivElement>(null);\n const layoutRef = React.useRef<HTMLDivElement>(null);\n const subtreeRef = React.useRef<HTMLDivElement>(null);\n\n const handleClick = useEventCallback((event: React.MouseEvent<HTMLDivElement>) => {\n onClick?.(event);\n if (event.isDefaultPrevented()) {\n return;\n }\n const isEventFromActions = actionsRef.current && elementContains(actionsRef.current, event.target as Node);\n if (isEventFromActions) {\n return;\n }\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target as Node);\n if (isEventFromSubtree) {\n return;\n }\n const isFromExpandIcon = expandIconRef.current && elementContains(expandIconRef.current, event.target as Node);\n requestTreeResponse({\n event,\n itemType,\n value,\n type: isFromExpandIcon ? treeDataTypes.ExpandIconClick : treeDataTypes.Click,\n });\n });\n\n const handleKeyDown = useEventCallback((event: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(event);\n if (event.isDefaultPrevented()) {\n return;\n }\n if (event.currentTarget !== event.target) {\n return;\n }\n switch (event.key) {\n case treeDataTypes.End:\n case treeDataTypes.Home:\n case treeDataTypes.Enter:\n case treeDataTypes.ArrowUp:\n case treeDataTypes.ArrowDown:\n case treeDataTypes.ArrowLeft:\n case treeDataTypes.ArrowRight:\n return requestTreeResponse({ event, itemType, value, type: event.key });\n }\n const isTypeAheadCharacter =\n event.key.length === 1 && event.key.match(/\\w/) && !event.altKey && !event.ctrlKey && !event.metaKey;\n if (isTypeAheadCharacter) {\n requestTreeResponse({ event, itemType, value, type: treeDataTypes.TypeAhead });\n }\n });\n\n const handleActionsVisible = useEventCallback((event: React.FocusEvent | React.MouseEvent) => {\n const isTargetFromSubtree = Boolean(\n subtreeRef.current && elementContains(subtreeRef.current, event.target as Node),\n );\n if (!isTargetFromSubtree) {\n setActionsVisible(true);\n }\n });\n\n const handleActionsInvisible = useEventCallback((event: React.FocusEvent | React.MouseEvent) => {\n const isTargetFromSubtree = Boolean(\n subtreeRef.current && elementContains(subtreeRef.current, event.target as Node),\n );\n const isRelatedTargetFromActions = Boolean(\n actionsRef.current && elementContains(actionsRef.current, event.relatedTarget as Node),\n );\n if (isRelatedTargetFromActions) {\n return setActionsVisible(true);\n }\n if (!isTargetFromSubtree) {\n return setActionsVisible(false);\n }\n });\n\n return {\n value,\n open,\n subtreeRef,\n actionsRef: useMergedRefs(actionsRef, handleActionsRef),\n expandIconRef,\n layoutRef,\n itemType,\n isActionsVisible,\n isAsideVisible,\n level,\n components: {\n root: 'div',\n },\n root: getNativeElementProps(as, {\n tabIndex: -1,\n ...rest,\n id,\n ref,\n 'aria-level': level,\n 'aria-expanded': itemType === 'branch' ? open : undefined,\n role: 'treeitem',\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n onMouseOver: handleActionsVisible,\n onFocus: handleActionsVisible,\n onMouseOut: handleActionsInvisible,\n onBlur: handleActionsInvisible,\n }),\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"sources":["useTreeItem.ts"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useId, useMergedRefs } from '@fluentui/react-utilities';\nimport { useEventCallback } from '@fluentui/react-utilities';\nimport { elementContains } from '@fluentui/react-portal';\nimport type { TreeItemProps, TreeItemState } from './TreeItem.types';\nimport { useTreeContext_unstable } from '../../contexts/index';\nimport { treeDataTypes } from '../../utils/tokens';\n\n/**\n * Create the state required to render TreeItem.\n *\n * The returned state can be modified with hooks such as useTreeItemStyles_unstable,\n * before being passed to renderTreeItem_unstable.\n *\n * @param props - props from this instance of TreeItem\n * @param ref - reference to root HTMLElement of TreeItem\n */\nexport function useTreeItem_unstable<Value = string>(\n props: TreeItemProps<Value>,\n ref: React.Ref<HTMLDivElement>,\n): TreeItemState {\n const contextLevel = useTreeContext_unstable(ctx => ctx.level);\n\n const id = useId('fui-TreeItem-', props.id);\n\n const {\n onClick,\n onKeyDown,\n as = 'div',\n value = id,\n itemType = 'leaf',\n 'aria-level': level = contextLevel,\n ...rest\n } = props;\n\n const requestTreeResponse = useTreeContext_unstable(ctx => ctx.requestTreeResponse);\n\n const [isActionsVisible, setActionsVisible] = React.useState(false);\n const [isAsideVisible, setAsideVisible] = React.useState(true);\n\n const handleActionsRef = (actions: HTMLDivElement | null) => {\n setAsideVisible(actions === null);\n };\n\n const open = useTreeContext_unstable(ctx => ctx.openItems.has(value));\n\n const actionsRef = React.useRef<HTMLDivElement>(null);\n const expandIconRef = React.useRef<HTMLDivElement>(null);\n const layoutRef = React.useRef<HTMLDivElement>(null);\n const subtreeRef = React.useRef<HTMLDivElement>(null);\n\n const handleClick = useEventCallback((event: React.MouseEvent<HTMLDivElement>) => {\n onClick?.(event);\n if (event.isDefaultPrevented()) {\n return;\n }\n const isEventFromActions = actionsRef.current && elementContains(actionsRef.current, event.target as Node);\n if (isEventFromActions) {\n return;\n }\n const isEventFromSubtree = subtreeRef.current && elementContains(subtreeRef.current, event.target as Node);\n if (isEventFromSubtree) {\n return;\n }\n const isFromExpandIcon = expandIconRef.current && elementContains(expandIconRef.current, event.target as Node);\n requestTreeResponse({\n event,\n itemType,\n value,\n type: isFromExpandIcon ? treeDataTypes.ExpandIconClick : treeDataTypes.Click,\n });\n });\n\n const handleKeyDown = useEventCallback((event: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(event);\n if (event.isDefaultPrevented()) {\n return;\n }\n if (event.currentTarget !== event.target) {\n return;\n }\n switch (event.key) {\n case treeDataTypes.End:\n case treeDataTypes.Home:\n case treeDataTypes.Enter:\n case treeDataTypes.ArrowUp:\n case treeDataTypes.ArrowDown:\n case treeDataTypes.ArrowLeft:\n case treeDataTypes.ArrowRight:\n return requestTreeResponse({ event, itemType, value, type: event.key });\n }\n const isTypeAheadCharacter =\n event.key.length === 1 && event.key.match(/\\w/) && !event.altKey && !event.ctrlKey && !event.metaKey;\n if (isTypeAheadCharacter) {\n requestTreeResponse({ event, itemType, value, type: treeDataTypes.TypeAhead });\n }\n });\n\n const handleActionsVisible = useEventCallback((event: React.FocusEvent | React.MouseEvent) => {\n const isTargetFromSubtree = Boolean(\n subtreeRef.current && elementContains(subtreeRef.current, event.target as Node),\n );\n if (!isTargetFromSubtree) {\n setActionsVisible(true);\n }\n });\n\n const handleActionsInvisible = useEventCallback((event: React.FocusEvent | React.MouseEvent) => {\n const isTargetFromSubtree = Boolean(\n subtreeRef.current && elementContains(subtreeRef.current, event.target as Node),\n );\n const isRelatedTargetFromActions = Boolean(\n actionsRef.current && elementContains(actionsRef.current, event.relatedTarget as Node),\n );\n if (isRelatedTargetFromActions) {\n return setActionsVisible(true);\n }\n if (!isTargetFromSubtree) {\n return setActionsVisible(false);\n }\n });\n\n return {\n value,\n open,\n subtreeRef,\n actionsRef: useMergedRefs(actionsRef, handleActionsRef),\n expandIconRef,\n layoutRef,\n itemType,\n isActionsVisible,\n isAsideVisible,\n level,\n components: {\n root: 'div',\n },\n root: getNativeElementProps(as, {\n tabIndex: -1,\n ...rest,\n id,\n ref,\n 'aria-level': level,\n 'aria-expanded': itemType === 'branch' ? open : undefined,\n role: 'treeitem',\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n onMouseOver: handleActionsVisible,\n onFocus: handleActionsVisible,\n onMouseOut: handleActionsInvisible,\n onBlur: handleActionsInvisible,\n }),\n };\n}\n"],"names":["React","getNativeElementProps","useId","useMergedRefs","useEventCallback","elementContains","useTreeContext_unstable","treeDataTypes","useTreeItem_unstable","props","ref","contextLevel","ctx","level","id","onClick","onKeyDown","as","value","itemType","rest","requestTreeResponse","isActionsVisible","setActionsVisible","useState","isAsideVisible","setAsideVisible","handleActionsRef","actions","open","openItems","has","actionsRef","useRef","expandIconRef","layoutRef","subtreeRef","handleClick","event","isDefaultPrevented","isEventFromActions","current","target","isEventFromSubtree","isFromExpandIcon","type","ExpandIconClick","Click","handleKeyDown","currentTarget","key","End","Home","Enter","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","isTypeAheadCharacter","length","match","altKey","ctrlKey","metaKey","TypeAhead","handleActionsVisible","isTargetFromSubtree","Boolean","handleActionsInvisible","isRelatedTargetFromActions","relatedTarget","components","root","tabIndex","undefined","role","onMouseOver","onFocus","onMouseOut","onBlur"],"mappings":"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"}
@@ -1,32 +1,20 @@
1
1
  export function useTreeItemContextValues_unstable(state) {
2
- const {
3
- value,
4
- isActionsVisible,
5
- isAsideVisible,
6
- actionsRef,
7
- itemType,
8
- layoutRef,
9
- subtreeRef,
10
- expandIconRef,
11
- open
12
- } = state;
13
- /**
14
- * This context is created with "@fluentui/react-context-selector",
15
- * there is no sense to memoize it
16
- */
17
- const treeItem = {
18
- isActionsVisible,
19
- isAsideVisible,
20
- value,
21
- actionsRef,
22
- itemType,
23
- layoutRef,
24
- subtreeRef,
25
- expandIconRef,
26
- open
27
- };
28
- return {
29
- treeItem
30
- };
2
+ const { value , isActionsVisible , isAsideVisible , actionsRef , itemType , layoutRef , subtreeRef , expandIconRef , open } = state;
3
+ /**
4
+ * This context is created with "@fluentui/react-context-selector",
5
+ * there is no sense to memoize it
6
+ */ const treeItem = {
7
+ isActionsVisible,
8
+ isAsideVisible,
9
+ value,
10
+ actionsRef,
11
+ itemType,
12
+ layoutRef,
13
+ subtreeRef,
14
+ expandIconRef,
15
+ open
16
+ };
17
+ return {
18
+ treeItem
19
+ };
31
20
  }
32
- //# sourceMappingURL=useTreeItemContextValues.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useTreeItemContextValues_unstable","state","value","isActionsVisible","isAsideVisible","actionsRef","itemType","layoutRef","subtreeRef","expandIconRef","open","treeItem"],"sources":["../../../src/components/TreeItem/useTreeItemContextValues.ts"],"sourcesContent":["import type { TreeItemContextValue } from '../../contexts';\nimport type { TreeItemContextValues, TreeItemState } from './TreeItem.types';\n\nexport function useTreeItemContextValues_unstable(\n state: Pick<TreeItemState, keyof TreeItemContextValue>,\n): TreeItemContextValues {\n const { value, isActionsVisible, isAsideVisible, actionsRef, itemType, layoutRef, subtreeRef, expandIconRef, open } =\n state;\n\n /**\n * This context is created with \"@fluentui/react-context-selector\",\n * there is no sense to memoize it\n */\n const treeItem: TreeItemContextValue = {\n isActionsVisible,\n isAsideVisible,\n value,\n actionsRef,\n itemType,\n layoutRef,\n subtreeRef,\n expandIconRef,\n open,\n };\n\n return { treeItem };\n}\n"],"mappings":"AAGA,OAAO,SAASA,kCACdC,KAAsD,EAC/B;EACvB,MAAM;IAAEC,KAAA;IAAOC,gBAAA;IAAkBC,cAAA;IAAgBC,UAAA;IAAYC,QAAA;IAAUC,SAAA;IAAWC,UAAA;IAAYC,aAAA;IAAeC;EAAI,CAAE,GACjHT,KAAA;EAEF;;;;EAIA,MAAMU,QAAA,GAAiC;IACrCR,gBAAA;IACAC,cAAA;IACAF,KAAA;IACAG,UAAA;IACAC,QAAA;IACAC,SAAA;IACAC,UAAA;IACAC,aAAA;IACAC;EACF;EAEA,OAAO;IAAEC;EAAS;AACpB"}
1
+ {"version":3,"sources":["useTreeItemContextValues.ts"],"sourcesContent":["import type { TreeItemContextValue } from '../../contexts';\nimport type { TreeItemContextValues, TreeItemState } from './TreeItem.types';\n\nexport function useTreeItemContextValues_unstable(\n state: Pick<TreeItemState, keyof TreeItemContextValue>,\n): TreeItemContextValues {\n const { value, isActionsVisible, isAsideVisible, actionsRef, itemType, layoutRef, subtreeRef, expandIconRef, open } =\n state;\n\n /**\n * This context is created with \"@fluentui/react-context-selector\",\n * there is no sense to memoize it\n */\n const treeItem: TreeItemContextValue = {\n isActionsVisible,\n isAsideVisible,\n value,\n actionsRef,\n itemType,\n layoutRef,\n subtreeRef,\n expandIconRef,\n open,\n };\n\n return { treeItem };\n}\n"],"names":["useTreeItemContextValues_unstable","state","value","isActionsVisible","isAsideVisible","actionsRef","itemType","layoutRef","subtreeRef","expandIconRef","open","treeItem"],"mappings":"AAGA,OAAO,SAASA,kCACdC,KAAsD,EAC/B;IACvB,MAAM,EAAEC,MAAK,EAAEC,iBAAgB,EAAEC,eAAc,EAAEC,WAAU,EAAEC,SAAQ,EAAEC,UAAS,EAAEC,WAAU,EAAEC,cAAa,EAAEC,KAAI,EAAE,GACjHT;IAEF;;;GAGC,GACD,MAAMU,WAAiC;QACrCR;QACAC;QACAF;QACAG;QACAC;QACAC;QACAC;QACAC;QACAC;IACF;IAEA,OAAO;QAAEC;IAAS;AACpB,CAAC"}
@@ -75,13 +75,13 @@ const useRootStyles = /*#__PURE__*/__styles({
75
75
  i03rao: ["fd0oaoj", "f1cwg4i8"],
76
76
  Boxcth7: "fjvm52t",
77
77
  Bsom6fd: ["f1cwg4i8", "fd0oaoj"],
78
- J0r882: "fdiulkx",
79
- Bjwuhne: "f1yalx80",
80
- Ghsupd: ["fq22d5a", "f1jw7pan"],
81
- Bule8hv: ["f1jw7pan", "fq22d5a"]
78
+ J0r882: "f57olzd",
79
+ Bule8hv: ["f4stah7", "fs1por5"],
80
+ Bjwuhne: "f480a47",
81
+ Ghsupd: ["fs1por5", "f4stah7"]
82
82
  }
83
83
  }, {
84
- d: [".f10bgyvd{--fluent-TreeItem--level:1;}", ".f1h0rod3{--fluent-TreeItem--level:2;}", ".fgoqafk{--fluent-TreeItem--level:3;}", ".f75dvuh{--fluent-TreeItem--level:4;}", ".fqk7yw6{--fluent-TreeItem--level:5;}", ".f1r3z17b{--fluent-TreeItem--level:6;}", ".f1hrpd1h{--fluent-TreeItem--level:7;}", ".f1iy65d0{--fluent-TreeItem--level:8;}", ".ftg42e5{--fluent-TreeItem--level:9;}", ".fyat3t{--fluent-TreeItem--level:10;}", ".f10pi13n{position:relative;}", ".f1k6fduh{cursor:pointer;}", ".f13qh94s{display:grid;}", ".f1ewtqcl{box-sizing:border-box;}", ".ffh4ag3{grid-template-rows:auto auto;}", ".f1y1g942{grid-template-columns:minmax(0, 100%) minmax(0px, min-content);}", ".faz22wj{grid-template-areas:\"layout aside\" \"subtree subtree\";}", ".fhovq9v{background-color:var(--colorSubtleBackground);}", ".fkfq4zb{color:var(--colorNeutralForeground2);}", ".flk2ux3{padding-right:var(--spacingHorizontalNone);}", ".fkl3uby{padding-left:var(--spacingHorizontalNone);}", ".f8hki3x[data-fui-focus-visible]{border-top-color:transparent;}", ".f1d2448m[data-fui-focus-visible]{border-right-color:transparent;}", ".ffh67wi[data-fui-focus-visible]{border-left-color:transparent;}", ".f1bjia2o[data-fui-focus-visible]{border-bottom-color:transparent;}", ".f15bsgw9[data-fui-focus-visible]::after{content:\"\";}", ".f14e48fq[data-fui-focus-visible]::after{position:absolute;}", ".f18yb2kv[data-fui-focus-visible]::after{pointer-events:none;}", ".fd6o370[data-fui-focus-visible]::after{z-index:1;}", ".fh1cnn4[data-fui-focus-visible]::after{border-top-style:solid;}", ".fy7oxxb[data-fui-focus-visible]::after{border-right-style:solid;}", ".f184ne2d[data-fui-focus-visible]::after{border-left-style:solid;}", ".fpukqih[data-fui-focus-visible]::after{border-bottom-style:solid;}", ".frrh606[data-fui-focus-visible]::after{border-top-width:2px;}", ".f1v5zibi[data-fui-focus-visible]::after{border-right-width:2px;}", ".fo2hd23[data-fui-focus-visible]::after{border-left-width:2px;}", ".ful5kiu[data-fui-focus-visible]::after{border-bottom-width:2px;}", ".f1jqcqds[data-fui-focus-visible]::after{border-bottom-right-radius:var(--borderRadiusMedium);}", ".ftffrms[data-fui-focus-visible]::after{border-bottom-left-radius:var(--borderRadiusMedium);}", ".f2e7qr6[data-fui-focus-visible]::after{border-top-right-radius:var(--borderRadiusMedium);}", ".fsr1zz6[data-fui-focus-visible]::after{border-top-left-radius:var(--borderRadiusMedium);}", ".f1dvezut[data-fui-focus-visible]::after{border-top-color:var(--colorStrokeFocus2);}", ".fd0oaoj[data-fui-focus-visible]::after{border-right-color:var(--colorStrokeFocus2);}", ".f1cwg4i8[data-fui-focus-visible]::after{border-left-color:var(--colorStrokeFocus2);}", ".fjvm52t[data-fui-focus-visible]::after{border-bottom-color:var(--colorStrokeFocus2);}", ".fdiulkx[data-fui-focus-visible]::after{top:-2px;}", ".f1yalx80[data-fui-focus-visible]::after{bottom:-2px;}", ".fq22d5a[data-fui-focus-visible]::after{left:-2px;}", ".f1jw7pan[data-fui-focus-visible]::after{right:-2px;}"],
84
+ d: [".f10bgyvd{--fluent-TreeItem--level:1;}", ".f1h0rod3{--fluent-TreeItem--level:2;}", ".fgoqafk{--fluent-TreeItem--level:3;}", ".f75dvuh{--fluent-TreeItem--level:4;}", ".fqk7yw6{--fluent-TreeItem--level:5;}", ".f1r3z17b{--fluent-TreeItem--level:6;}", ".f1hrpd1h{--fluent-TreeItem--level:7;}", ".f1iy65d0{--fluent-TreeItem--level:8;}", ".ftg42e5{--fluent-TreeItem--level:9;}", ".fyat3t{--fluent-TreeItem--level:10;}", ".f10pi13n{position:relative;}", ".f1k6fduh{cursor:pointer;}", ".f13qh94s{display:grid;}", ".f1ewtqcl{box-sizing:border-box;}", ".ffh4ag3{grid-template-rows:auto auto;}", ".f1y1g942{grid-template-columns:minmax(0, 100%) minmax(0px, min-content);}", ".faz22wj{grid-template-areas:\"layout aside\" \"subtree subtree\";}", ".fhovq9v{background-color:var(--colorSubtleBackground);}", ".fkfq4zb{color:var(--colorNeutralForeground2);}", ".flk2ux3{padding-right:var(--spacingHorizontalNone);}", ".fkl3uby{padding-left:var(--spacingHorizontalNone);}", ".f8hki3x[data-fui-focus-visible]{border-top-color:transparent;}", ".f1d2448m[data-fui-focus-visible]{border-right-color:transparent;}", ".ffh67wi[data-fui-focus-visible]{border-left-color:transparent;}", ".f1bjia2o[data-fui-focus-visible]{border-bottom-color:transparent;}", ".f15bsgw9[data-fui-focus-visible]::after{content:\"\";}", ".f14e48fq[data-fui-focus-visible]::after{position:absolute;}", ".f18yb2kv[data-fui-focus-visible]::after{pointer-events:none;}", ".fd6o370[data-fui-focus-visible]::after{z-index:1;}", ".fh1cnn4[data-fui-focus-visible]::after{border-top-style:solid;}", ".fy7oxxb[data-fui-focus-visible]::after{border-right-style:solid;}", ".f184ne2d[data-fui-focus-visible]::after{border-left-style:solid;}", ".fpukqih[data-fui-focus-visible]::after{border-bottom-style:solid;}", ".frrh606[data-fui-focus-visible]::after{border-top-width:2px;}", ".f1v5zibi[data-fui-focus-visible]::after{border-right-width:2px;}", ".fo2hd23[data-fui-focus-visible]::after{border-left-width:2px;}", ".ful5kiu[data-fui-focus-visible]::after{border-bottom-width:2px;}", ".f1jqcqds[data-fui-focus-visible]::after{border-bottom-right-radius:var(--borderRadiusMedium);}", ".ftffrms[data-fui-focus-visible]::after{border-bottom-left-radius:var(--borderRadiusMedium);}", ".f2e7qr6[data-fui-focus-visible]::after{border-top-right-radius:var(--borderRadiusMedium);}", ".fsr1zz6[data-fui-focus-visible]::after{border-top-left-radius:var(--borderRadiusMedium);}", ".f1dvezut[data-fui-focus-visible]::after{border-top-color:var(--colorStrokeFocus2);}", ".fd0oaoj[data-fui-focus-visible]::after{border-right-color:var(--colorStrokeFocus2);}", ".f1cwg4i8[data-fui-focus-visible]::after{border-left-color:var(--colorStrokeFocus2);}", ".fjvm52t[data-fui-focus-visible]::after{border-bottom-color:var(--colorStrokeFocus2);}", ".f57olzd[data-fui-focus-visible]::after{top:calc(2px * -1);}", ".f4stah7[data-fui-focus-visible]::after{right:calc(2px * -1);}", ".fs1por5[data-fui-focus-visible]::after{left:calc(2px * -1);}", ".f480a47[data-fui-focus-visible]::after{bottom:calc(2px * -1);}"],
85
85
  f: [".ftqa4ok:focus{outline-style:none;}"],
86
86
  i: [".f2hkw1w:focus-visible{outline-style:none;}"]
87
87
  });
@@ -1 +1 @@
1
- {"version":3,"names":["__styles","mergeClasses","tokens","createFocusOutlineStyle","treeItemLevelToken","treeItemClassNames","root","useRootStyles","level1","iytv0q","level2","level3","level4","level5","level6","level7","level8","level9","level10","base","qhf8xq","Bceei9c","mc9l5x","B7ck84d","wkccdc","Budl1dq","zoa1oz","De3pzq","sj55zd","z189sj","focusIndicator","Brovlpu","B486eqv","B8q5s1w","Bci5o5g","n8qw10","Bdrgwmp","Bm4h7ae","B7ys5i9","Busjfv9","Bhk32uz","Bf4ptjt","kclons","Bhdgwq3","Blkhhs4","Bqtpl0w","clg4pj","hgwjuy","Bonggc9","B1tsrr9","Dah5zi","Bkh64rk","qqdqy8","B6dhp37","i03rao","Boxcth7","Bsom6fd","J0r882","Bjwuhne","Ghsupd","Bule8hv","d","f","i","useTreeItemStyles_unstable","state","rootStyles","level","className","isStaticallyDefinedLevel"],"sources":["../../../src/components/TreeItem/useTreeItemStyles.styles.ts"],"sourcesContent":["import { GriffelStyle, makeStyles, mergeClasses } from '@griffel/react';\nimport type { TreeItemCSSProperties, TreeItemSlots, TreeItemState } from './TreeItem.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { tokens } from '@fluentui/react-theme';\nimport { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { treeItemLevelToken } from '../../utils/tokens';\n\nexport const treeItemClassNames: SlotClassNames<TreeItemSlots> = {\n root: 'fui-TreeItem',\n};\n\ntype StaticLevel = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;\ntype StaticLevelProperty = `level${StaticLevel}`;\n\nconst useRootStyles = makeStyles({\n ...(Object.fromEntries(\n Array.from<never, [StaticLevelProperty, TreeItemCSSProperties]>({ length: 10 }, (_, index) => [\n `level${(index + 1) as StaticLevel}`,\n { [treeItemLevelToken]: index + 1 },\n ]),\n ) as Record<StaticLevelProperty, GriffelStyle>),\n base: {\n position: 'relative',\n cursor: 'pointer',\n display: 'grid',\n boxSizing: 'border-box',\n gridTemplateRows: 'auto auto',\n gridTemplateColumns: 'minmax(0, 100%) minmax(0px, min-content)',\n gridTemplateAreas: `\n \"layout aside\"\n \"subtree subtree\"\n `,\n backgroundColor: tokens.colorSubtleBackground,\n color: tokens.colorNeutralForeground2,\n paddingRight: tokens.spacingHorizontalNone,\n },\n focusIndicator: createFocusOutlineStyle(),\n});\n\n/**\n * Apply styling to the TreeItem slots based on the state\n */\nexport const useTreeItemStyles_unstable = (state: TreeItemState): TreeItemState => {\n const rootStyles = useRootStyles();\n\n const { level } = state;\n\n state.root.className = mergeClasses(\n treeItemClassNames.root,\n isStaticallyDefinedLevel(level) && rootStyles[`level${level}` as StaticLevelProperty],\n rootStyles.base,\n rootStyles.focusIndicator,\n state.root.className,\n );\n\n return state;\n};\n\nfunction isStaticallyDefinedLevel(level: number): level is StaticLevel {\n return level >= 1 && level <= 10;\n}\n"],"mappings":"AAAA,SAAAA,QAAA,EAAmCC,YAAY,QAAQ;AAGvD,SAASC,MAAM,QAAQ;AACvB,SAASC,uBAAuB,QAAQ;AACxC,SAASC,kBAAkB,QAAQ;AAEnC,OAAO,MAAMC,kBAAA,GAAoD;EAC/DC,IAAA,EAAM;AACR;AAKA,MAAMC,aAAA,gBAAgBP,QAAA;EAAAQ,MAAA;IAAAC,MAAA;EAAA;EAAAC,MAAA;IAAAD,MAAA;EAAA;EAAAE,MAAA;IAAAF,MAAA;EAAA;EAAAG,MAAA;IAAAH,MAAA;EAAA;EAAAI,MAAA;IAAAJ,MAAA;EAAA;EAAAK,MAAA;IAAAL,MAAA;EAAA;EAAAM,MAAA;IAAAN,MAAA;EAAA;EAAAO,MAAA;IAAAP,MAAA;EAAA;EAAAQ,MAAA;IAAAR,MAAA;EAAA;EAAAS,OAAA;IAAAT,MAAA;EAAA;EAAAU,IAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;EAAA;EAAAC,cAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;EAAA;AAAA;EAAAC,CAAA;EAAAC,CAAA;EAAAC,CAAA;AAAA,EAuBtB;AAEA;;;AAGA,OAAO,MAAMC,0BAAA,GAA8BC,KAAA,IAAwC;EACjF,MAAMC,UAAA,GAAa3D,aAAA;EAEnB,MAAM;IAAE4D;EAAK,CAAE,GAAGF,KAAA;EAElBA,KAAA,CAAM3D,IAAI,CAAC8D,SAAS,GAAGnE,YAAA,CACrBI,kBAAA,CAAmBC,IAAI,EACvB+D,wBAAA,CAAyBF,KAAA,KAAUD,UAAU,CAAE,QAAOC,KAAM,EAAC,CAAwB,EACrFD,UAAA,CAAW/C,IAAI,EACf+C,UAAA,CAAWpC,cAAc,EACzBmC,KAAA,CAAM3D,IAAI,CAAC8D,SAAS;EAGtB,OAAOH,KAAA;AACT;AAEA,SAASI,yBAAyBF,KAAa,EAAwB;EACrE,OAAOA,KAAA,IAAS,KAAKA,KAAA,IAAS;AAChC"}
1
+ {"version":3,"names":["__styles","mergeClasses","tokens","createFocusOutlineStyle","treeItemLevelToken","treeItemClassNames","root","useRootStyles","level1","iytv0q","level2","level3","level4","level5","level6","level7","level8","level9","level10","base","qhf8xq","Bceei9c","mc9l5x","B7ck84d","wkccdc","Budl1dq","zoa1oz","De3pzq","sj55zd","z189sj","focusIndicator","Brovlpu","B486eqv","B8q5s1w","Bci5o5g","n8qw10","Bdrgwmp","Bm4h7ae","B7ys5i9","Busjfv9","Bhk32uz","Bf4ptjt","kclons","Bhdgwq3","Blkhhs4","Bqtpl0w","clg4pj","hgwjuy","Bonggc9","B1tsrr9","Dah5zi","Bkh64rk","qqdqy8","B6dhp37","i03rao","Boxcth7","Bsom6fd","J0r882","Bule8hv","Bjwuhne","Ghsupd","d","f","i","useTreeItemStyles_unstable","state","rootStyles","level","className","isStaticallyDefinedLevel"],"sources":["useTreeItemStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { treeItemLevelToken } from '../../utils/tokens';\nexport const treeItemClassNames = {\n root: 'fui-TreeItem'\n};\nconst useRootStyles = makeStyles({\n ...Object.fromEntries(Array.from({\n length: 10\n }, (_, index)=>[\n `level${index + 1}`,\n {\n [treeItemLevelToken]: index + 1\n }\n ])),\n base: {\n position: 'relative',\n cursor: 'pointer',\n display: 'grid',\n boxSizing: 'border-box',\n gridTemplateRows: 'auto auto',\n gridTemplateColumns: 'minmax(0, 100%) minmax(0px, min-content)',\n gridTemplateAreas: `\n \"layout aside\"\n \"subtree subtree\"\n `,\n backgroundColor: tokens.colorSubtleBackground,\n color: tokens.colorNeutralForeground2,\n paddingRight: tokens.spacingHorizontalNone\n },\n focusIndicator: createFocusOutlineStyle()\n});\n/**\n * Apply styling to the TreeItem slots based on the state\n */ export const useTreeItemStyles_unstable = (state)=>{\n const rootStyles = useRootStyles();\n const { level } = state;\n state.root.className = mergeClasses(treeItemClassNames.root, isStaticallyDefinedLevel(level) && rootStyles[`level${level}`], rootStyles.base, rootStyles.focusIndicator, state.root.className);\n return state;\n};\nfunction isStaticallyDefinedLevel(level) {\n return level >= 1 && level <= 10;\n}\n"],"mappings":"AAAA,SAAAA,QAAA,EAAqBC,YAAY,QAAQ,gBAAgB;AACzD,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,uBAAuB,QAAQ,yBAAyB;AACjE,SAASC,kBAAkB,QAAQ,oBAAoB;AACvD,OAAO,MAAMC,kBAAkB,GAAG;EAC9BC,IAAI,EAAE;AACV,CAAC;AACD,MAAMC,aAAa,gBAAGP,QAAA;EAAAQ,MAAA;IAAAC,MAAA;EAAA;EAAAC,MAAA;IAAAD,MAAA;EAAA;EAAAE,MAAA;IAAAF,MAAA;EAAA;EAAAG,MAAA;IAAAH,MAAA;EAAA;EAAAI,MAAA;IAAAJ,MAAA;EAAA;EAAAK,MAAA;IAAAL,MAAA;EAAA;EAAAM,MAAA;IAAAN,MAAA;EAAA;EAAAO,MAAA;IAAAP,MAAA;EAAA;EAAAQ,MAAA;IAAAR,MAAA;EAAA;EAAAS,OAAA;IAAAT,MAAA;EAAA;EAAAU,IAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;EAAA;EAAAC,cAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;EAAA;AAAA;EAAAC,CAAA;EAAAC,CAAA;EAAAC,CAAA;AAAA,CAyBrB,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMC,0BAA0B,GAAIC,KAAK,IAAG;EACnD,MAAMC,UAAU,GAAG3D,aAAa,CAAC,CAAC;EAClC,MAAM;IAAE4D;EAAO,CAAC,GAAGF,KAAK;EACxBA,KAAK,CAAC3D,IAAI,CAAC8D,SAAS,GAAGnE,YAAY,CAACI,kBAAkB,CAACC,IAAI,EAAE+D,wBAAwB,CAACF,KAAK,CAAC,IAAID,UAAU,CAAE,QAAOC,KAAM,EAAC,CAAC,EAAED,UAAU,CAAC/C,IAAI,EAAE+C,UAAU,CAACpC,cAAc,EAAEmC,KAAK,CAAC3D,IAAI,CAAC8D,SAAS,CAAC;EAC9L,OAAOH,KAAK;AAChB,CAAC;AACD,SAASI,wBAAwBA,CAACF,KAAK,EAAE;EACrC,OAAOA,KAAK,IAAI,CAAC,IAAIA,KAAK,IAAI,EAAE;AACpC"}
@@ -5,11 +5,9 @@ import { useTreeItemAsideStyles_unstable } from './useTreeItemAsideStyles.styles
5
5
  /**
6
6
  * TreeItemAside component - represents a custom set of actionable elements that will be visible when a certain
7
7
  * `TreeItem` is currently "active".
8
- */
9
- export const TreeItemAside = /*#__PURE__*/React.forwardRef((props, ref) => {
10
- const state = useTreeItemAside_unstable(props, ref);
11
- useTreeItemAsideStyles_unstable(state);
12
- return renderTreeItemAside_unstable(state);
8
+ */ export const TreeItemAside = /*#__PURE__*/ React.forwardRef((props, ref)=>{
9
+ const state = useTreeItemAside_unstable(props, ref);
10
+ useTreeItemAsideStyles_unstable(state);
11
+ return renderTreeItemAside_unstable(state);
13
12
  });
14
13
  TreeItemAside.displayName = 'TreeItemAside';
15
- //# sourceMappingURL=TreeItemAside.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useTreeItemAside_unstable","renderTreeItemAside_unstable","useTreeItemAsideStyles_unstable","TreeItemAside","forwardRef","props","ref","state","displayName"],"sources":["../../../src/components/TreeItemAside/TreeItemAside.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useTreeItemAside_unstable } from './useTreeItemAside';\nimport { renderTreeItemAside_unstable } from './renderTreeItemAside';\nimport { useTreeItemAsideStyles_unstable } from './useTreeItemAsideStyles.styles';\nimport type { TreeItemAsideProps } from './TreeItemAside.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * TreeItemAside component - represents a custom set of actionable elements that will be visible when a certain\n * `TreeItem` is currently \"active\".\n */\nexport const TreeItemAside: ForwardRefComponent<TreeItemAsideProps> = React.forwardRef((props, ref) => {\n const state = useTreeItemAside_unstable(props, ref);\n\n useTreeItemAsideStyles_unstable(state);\n return renderTreeItemAside_unstable(state);\n});\n\nTreeItemAside.displayName = 'TreeItemAside';\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,4BAA4B,QAAQ;AAC7C,SAASC,+BAA+B,QAAQ;AAIhD;;;;AAIA,OAAO,MAAMC,aAAA,gBAAyDJ,KAAA,CAAMK,UAAU,CAAC,CAACC,KAAA,EAAOC,GAAA,KAAQ;EACrG,MAAMC,KAAA,GAAQP,yBAAA,CAA0BK,KAAA,EAAOC,GAAA;EAE/CJ,+BAAA,CAAgCK,KAAA;EAChC,OAAON,4BAAA,CAA6BM,KAAA;AACtC;AAEAJ,aAAA,CAAcK,WAAW,GAAG"}
1
+ {"version":3,"sources":["TreeItemAside.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useTreeItemAside_unstable } from './useTreeItemAside';\nimport { renderTreeItemAside_unstable } from './renderTreeItemAside';\nimport { useTreeItemAsideStyles_unstable } from './useTreeItemAsideStyles.styles';\nimport type { TreeItemAsideProps } from './TreeItemAside.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * TreeItemAside component - represents a custom set of actionable elements that will be visible when a certain\n * `TreeItem` is currently \"active\".\n */\nexport const TreeItemAside: ForwardRefComponent<TreeItemAsideProps> = React.forwardRef((props, ref) => {\n const state = useTreeItemAside_unstable(props, ref);\n\n useTreeItemAsideStyles_unstable(state);\n return renderTreeItemAside_unstable(state);\n});\n\nTreeItemAside.displayName = 'TreeItemAside';\n"],"names":["React","useTreeItemAside_unstable","renderTreeItemAside_unstable","useTreeItemAsideStyles_unstable","TreeItemAside","forwardRef","props","ref","state","displayName"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,yBAAyB,QAAQ,qBAAqB;AAC/D,SAASC,4BAA4B,QAAQ,wBAAwB;AACrE,SAASC,+BAA+B,QAAQ,kCAAkC;AAIlF;;;CAGC,GACD,OAAO,MAAMC,8BAAyDJ,MAAMK,UAAU,CAAC,CAACC,OAAOC,MAAQ;IACrG,MAAMC,QAAQP,0BAA0BK,OAAOC;IAE/CJ,gCAAgCK;IAChC,OAAON,6BAA6BM;AACtC,GAAG;AAEHJ,cAAcK,WAAW,GAAG"}
@@ -1,2 +1 @@
1
- export {};
2
- //# sourceMappingURL=TreeItemAside.types.js.map
1
+ export { };
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/components/TreeItemAside/TreeItemAside.types.ts"],"sourcesContent":["import { ButtonContextValue } from '@fluentui/react-button';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type TreeItemAsideSlots = {\n root: Slot<'div'>;\n};\n\n/**\n * TreeItemAside Props\n */\nexport type TreeItemAsideProps = ComponentProps<TreeItemAsideSlots> & {\n /**\n * boolean indicating if the aside content should behave as \"actions\"\n *\n * actionable elements are normally buttons, menus, or other focusable elements.\n * Those elements are only visibly available if the given tree item is currently active.\n */\n actions?: boolean;\n /**\n * Forces visibility of the aside content, even if they're actions\n */\n visible?: true;\n};\n\n/**\n * State used in rendering TreeItemAside\n */\nexport type TreeItemAsideState = ComponentState<TreeItemAsideSlots> & {\n actions: boolean;\n visible: boolean;\n buttonContextValue: ButtonContextValue;\n};\n"],"mappings":"AAAA"}
1
+ {"version":3,"sources":["TreeItemAside.types.ts"],"sourcesContent":["import { ButtonContextValue } from '@fluentui/react-button';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type TreeItemAsideSlots = {\n root: Slot<'div'>;\n};\n\n/**\n * TreeItemAside Props\n */\nexport type TreeItemAsideProps = ComponentProps<TreeItemAsideSlots> & {\n /**\n * boolean indicating if the aside content should behave as \"actions\"\n *\n * actionable elements are normally buttons, menus, or other focusable elements.\n * Those elements are only visibly available if the given tree item is currently active.\n */\n actions?: boolean;\n /**\n * Forces visibility of the aside content, even if they're actions\n */\n visible?: true;\n};\n\n/**\n * State used in rendering TreeItemAside\n */\nexport type TreeItemAsideState = ComponentState<TreeItemAsideSlots> & {\n actions: boolean;\n visible: boolean;\n buttonContextValue: ButtonContextValue;\n};\n"],"names":[],"mappings":"AAAA,WA+BE"}
@@ -3,4 +3,3 @@ export * from './TreeItemAside.types';
3
3
  export * from './renderTreeItemAside';
4
4
  export * from './useTreeItemAside';
5
5
  export * from './useTreeItemAsideStyles.styles';
6
- //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/components/TreeItemAside/index.ts"],"sourcesContent":["export * from './TreeItemAside';\nexport * from './TreeItemAside.types';\nexport * from './renderTreeItemAside';\nexport * from './useTreeItemAside';\nexport * from './useTreeItemAsideStyles.styles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc"}
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './TreeItemAside';\nexport * from './TreeItemAside.types';\nexport * from './renderTreeItemAside';\nexport * from './useTreeItemAside';\nexport * from './useTreeItemAsideStyles.styles';\n"],"names":[],"mappings":"AAAA,cAAc,kBAAkB;AAChC,cAAc,wBAAwB;AACtC,cAAc,wBAAwB;AACtC,cAAc,qBAAqB;AACnC,cAAc,kCAAkC"}
@@ -1,19 +1,14 @@
1
- /** @jsxRuntime classic */ /** @jsx createElement */import { createElement } from '@fluentui/react-jsx-runtime';
1
+ /** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';
2
2
  import { getSlotsNext } from '@fluentui/react-utilities';
3
3
  import { ButtonContextProvider } from '@fluentui/react-button';
4
4
  /**
5
5
  * Render the final JSX of TreeItemAside
6
- */
7
- export const renderTreeItemAside_unstable = state => {
8
- const {
9
- slots,
10
- slotProps
11
- } = getSlotsNext(state);
12
- if (!state.visible) {
13
- return null;
14
- }
15
- return /*#__PURE__*/createElement(slots.root, slotProps.root, /*#__PURE__*/createElement(ButtonContextProvider, {
16
- value: state.buttonContextValue
17
- }, slotProps.root.children));
6
+ */ export const renderTreeItemAside_unstable = (state)=>{
7
+ const { slots , slotProps } = getSlotsNext(state);
8
+ if (!state.visible) {
9
+ return null;
10
+ }
11
+ return /*#__PURE__*/ createElement(slots.root, slotProps.root, /*#__PURE__*/ createElement(ButtonContextProvider, {
12
+ value: state.buttonContextValue
13
+ }, slotProps.root.children));
18
14
  };
19
- //# sourceMappingURL=renderTreeItemAside.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createElement","getSlotsNext","ButtonContextProvider","renderTreeItemAside_unstable","state","slots","slotProps","visible","root","value","buttonContextValue","children"],"sources":["../../../src/components/TreeItemAside/renderTreeItemAside.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsx createElement */\n\nimport { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\nimport { ButtonContextProvider } from '@fluentui/react-button';\nimport type { TreeItemAsideState, TreeItemAsideSlots } from './TreeItemAside.types';\n\n/**\n * Render the final JSX of TreeItemAside\n */\nexport const renderTreeItemAside_unstable = (state: TreeItemAsideState) => {\n const { slots, slotProps } = getSlotsNext<TreeItemAsideSlots>(state);\n\n if (!state.visible) {\n return null;\n }\n\n return (\n <slots.root {...slotProps.root}>\n <ButtonContextProvider value={state.buttonContextValue}>{slotProps.root.children}</ButtonContextProvider>\n </slots.root>\n );\n};\n"],"mappings":"AAAA,2BACA,yBAEA,SAASA,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAC7B,SAASC,qBAAqB,QAAQ;AAGtC;;;AAGA,OAAO,MAAMC,4BAAA,GAAgCC,KAAA,IAA8B;EACzE,MAAM;IAAEC,KAAA;IAAOC;EAAS,CAAE,GAAGL,YAAA,CAAiCG,KAAA;EAE9D,IAAI,CAACA,KAAA,CAAMG,OAAO,EAAE;IAClB,OAAO,IAAI;EACb;EAEA,oBACEP,aAlBJ,CAkBKK,KAAA,CAAMG,IAAI,EAAKF,SAAA,CAAUE,IAAI,eAC5BR,aAnBN,CAmBOE,qBAAA;IAAsBO,KAAA,EAAOL,KAAA,CAAMM;KAAqBJ,SAAA,CAAUE,IAAI,CAACG,QAAQ;AAGtF"}
1
+ {"version":3,"sources":["renderTreeItemAside.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsx createElement */\n\nimport { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\nimport { ButtonContextProvider } from '@fluentui/react-button';\nimport type { TreeItemAsideState, TreeItemAsideSlots } from './TreeItemAside.types';\n\n/**\n * Render the final JSX of TreeItemAside\n */\nexport const renderTreeItemAside_unstable = (state: TreeItemAsideState) => {\n const { slots, slotProps } = getSlotsNext<TreeItemAsideSlots>(state);\n\n if (!state.visible) {\n return null;\n }\n\n return (\n <slots.root {...slotProps.root}>\n <ButtonContextProvider value={state.buttonContextValue}>{slotProps.root.children}</ButtonContextProvider>\n </slots.root>\n );\n};\n"],"names":["createElement","getSlotsNext","ButtonContextProvider","renderTreeItemAside_unstable","state","slots","slotProps","visible","root","value","buttonContextValue","children"],"mappings":"AAAA,wBAAwB,GACxB,uBAAuB,GAEvB,SAASA,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,YAAY,QAAQ,4BAA4B;AACzD,SAASC,qBAAqB,QAAQ,yBAAyB;AAG/D;;CAEC,GACD,OAAO,MAAMC,+BAA+B,CAACC,QAA8B;IACzE,MAAM,EAAEC,MAAK,EAAEC,UAAS,EAAE,GAAGL,aAAiCG;IAE9D,IAAI,CAACA,MAAMG,OAAO,EAAE;QAClB,OAAO,IAAI;IACb,CAAC;IAED,qBACE,AAlBJ,cAkBKF,MAAMG,IAAI,EAAKF,UAAUE,IAAI,gBAC5B,AAnBN,cAmBON;QAAsBO,OAAOL,MAAMM,kBAAkB;OAAGJ,UAAUE,IAAI,CAACG,QAAQ;AAGtF,EAAE"}
@@ -9,27 +9,22 @@ import { useTreeItemContext_unstable } from '../../contexts/treeItemContext';
9
9
  *
10
10
  * @param props - props from this instance of TreeItemAside
11
11
  * @param ref - reference to root HTMLElement of TreeItemAside
12
- */
13
- export const useTreeItemAside_unstable = (props, ref) => {
14
- const actionsRef = useTreeItemContext_unstable(ctx => ctx.actionsRef);
15
- const contextVisible = useTreeItemContext_unstable(ctx => props.actions ? ctx.isActionsVisible : ctx.isAsideVisible);
16
- const {
17
- actions = false,
18
- visible = contextVisible
19
- } = props;
20
- return {
21
- actions,
22
- visible,
23
- buttonContextValue: {
24
- size: 'small'
25
- },
26
- components: {
27
- root: 'div'
28
- },
29
- root: getNativeElementProps('div', {
30
- ref: useMergedRefs(ref, actions ? actionsRef : undefined),
31
- ...props
32
- })
33
- };
12
+ */ export const useTreeItemAside_unstable = (props, ref)=>{
13
+ const actionsRef = useTreeItemContext_unstable((ctx)=>ctx.actionsRef);
14
+ const contextVisible = useTreeItemContext_unstable((ctx)=>props.actions ? ctx.isActionsVisible : ctx.isAsideVisible);
15
+ const { actions =false , visible =contextVisible } = props;
16
+ return {
17
+ actions,
18
+ visible,
19
+ buttonContextValue: {
20
+ size: 'small'
21
+ },
22
+ components: {
23
+ root: 'div'
24
+ },
25
+ root: getNativeElementProps('div', {
26
+ ref: useMergedRefs(ref, actions ? actionsRef : undefined),
27
+ ...props
28
+ })
29
+ };
34
30
  };
35
- //# sourceMappingURL=useTreeItemAside.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","getNativeElementProps","useMergedRefs","useTreeItemContext_unstable","useTreeItemAside_unstable","props","ref","actionsRef","ctx","contextVisible","actions","isActionsVisible","isAsideVisible","visible","buttonContextValue","size","components","root","undefined"],"sources":["../../../src/components/TreeItemAside/useTreeItemAside.ts"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useMergedRefs } from '@fluentui/react-utilities';\nimport type { TreeItemAsideProps, TreeItemAsideState } from './TreeItemAside.types';\nimport { useTreeItemContext_unstable } from '../../contexts/treeItemContext';\n\n/**\n * Create the state required to render TreeItemAside.\n *\n * The returned state can be modified with hooks such as useTreeItemAsideStyles_unstable,\n * before being passed to renderTreeItemAside_unstable.\n *\n * @param props - props from this instance of TreeItemAside\n * @param ref - reference to root HTMLElement of TreeItemAside\n */\nexport const useTreeItemAside_unstable = (\n props: TreeItemAsideProps,\n ref: React.Ref<HTMLElement>,\n): TreeItemAsideState => {\n const actionsRef = useTreeItemContext_unstable(ctx => ctx.actionsRef);\n const contextVisible = useTreeItemContext_unstable(ctx =>\n props.actions ? ctx.isActionsVisible : ctx.isAsideVisible,\n );\n const { actions = false, visible = contextVisible } = props;\n\n return {\n actions,\n visible,\n buttonContextValue: { size: 'small' },\n components: {\n root: 'div',\n },\n root: getNativeElementProps('div', {\n ref: useMergedRefs(ref, actions ? actionsRef : undefined),\n ...props,\n }),\n };\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,qBAAqB,EAAEC,aAAa,QAAQ;AAErD,SAASC,2BAA2B,QAAQ;AAE5C;;;;;;;;;AASA,OAAO,MAAMC,yBAAA,GAA4BA,CACvCC,KAAA,EACAC,GAAA,KACuB;EACvB,MAAMC,UAAA,GAAaJ,2BAAA,CAA4BK,GAAA,IAAOA,GAAA,CAAID,UAAU;EACpE,MAAME,cAAA,GAAiBN,2BAAA,CAA4BK,GAAA,IACjDH,KAAA,CAAMK,OAAO,GAAGF,GAAA,CAAIG,gBAAgB,GAAGH,GAAA,CAAII,cAAc;EAE3D,MAAM;IAAEF,OAAA,GAAU,KAAK;IAAEG,OAAA,GAAUJ;EAAc,CAAE,GAAGJ,KAAA;EAEtD,OAAO;IACLK,OAAA;IACAG,OAAA;IACAC,kBAAA,EAAoB;MAAEC,IAAA,EAAM;IAAQ;IACpCC,UAAA,EAAY;MACVC,IAAA,EAAM;IACR;IACAA,IAAA,EAAMhB,qBAAA,CAAsB,OAAO;MACjCK,GAAA,EAAKJ,aAAA,CAAcI,GAAA,EAAKI,OAAA,GAAUH,UAAA,GAAaW,SAAS;MACxD,GAAGb;IACL;EACF;AACF"}
1
+ {"version":3,"sources":["useTreeItemAside.ts"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useMergedRefs } from '@fluentui/react-utilities';\nimport type { TreeItemAsideProps, TreeItemAsideState } from './TreeItemAside.types';\nimport { useTreeItemContext_unstable } from '../../contexts/treeItemContext';\n\n/**\n * Create the state required to render TreeItemAside.\n *\n * The returned state can be modified with hooks such as useTreeItemAsideStyles_unstable,\n * before being passed to renderTreeItemAside_unstable.\n *\n * @param props - props from this instance of TreeItemAside\n * @param ref - reference to root HTMLElement of TreeItemAside\n */\nexport const useTreeItemAside_unstable = (\n props: TreeItemAsideProps,\n ref: React.Ref<HTMLElement>,\n): TreeItemAsideState => {\n const actionsRef = useTreeItemContext_unstable(ctx => ctx.actionsRef);\n const contextVisible = useTreeItemContext_unstable(ctx =>\n props.actions ? ctx.isActionsVisible : ctx.isAsideVisible,\n );\n const { actions = false, visible = contextVisible } = props;\n\n return {\n actions,\n visible,\n buttonContextValue: { size: 'small' },\n components: {\n root: 'div',\n },\n root: getNativeElementProps('div', {\n ref: useMergedRefs(ref, actions ? actionsRef : undefined),\n ...props,\n }),\n };\n};\n"],"names":["React","getNativeElementProps","useMergedRefs","useTreeItemContext_unstable","useTreeItemAside_unstable","props","ref","actionsRef","ctx","contextVisible","actions","isActionsVisible","isAsideVisible","visible","buttonContextValue","size","components","root","undefined"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,qBAAqB,EAAEC,aAAa,QAAQ,4BAA4B;AAEjF,SAASC,2BAA2B,QAAQ,iCAAiC;AAE7E;;;;;;;;CAQC,GACD,OAAO,MAAMC,4BAA4B,CACvCC,OACAC,MACuB;IACvB,MAAMC,aAAaJ,4BAA4BK,CAAAA,MAAOA,IAAID,UAAU;IACpE,MAAME,iBAAiBN,4BAA4BK,CAAAA,MACjDH,MAAMK,OAAO,GAAGF,IAAIG,gBAAgB,GAAGH,IAAII,cAAc;IAE3D,MAAM,EAAEF,SAAU,KAAK,CAAA,EAAEG,SAAUJ,eAAc,EAAE,GAAGJ;IAEtD,OAAO;QACLK;QACAG;QACAC,oBAAoB;YAAEC,MAAM;QAAQ;QACpCC,YAAY;YACVC,MAAM;QACR;QACAA,MAAMhB,sBAAsB,OAAO;YACjCK,KAAKJ,cAAcI,KAAKI,UAAUH,aAAaW,SAAS;YACxD,GAAGb,KAAK;QACV;IACF;AACF,EAAE"}