@fluentui/react-tree 9.0.0-beta.5 → 9.0.0-beta.6

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 (176) hide show
  1. package/.swcrc +30 -0
  2. package/CHANGELOG.json +100 -1
  3. package/CHANGELOG.md +25 -2
  4. package/lib/Tree.js.map +1 -1
  5. package/lib/TreeItem.js.map +1 -1
  6. package/lib/TreeItemLayout.js.map +1 -1
  7. package/lib/TreeItemPersonaLayout.js.map +1 -1
  8. package/lib/components/Tree/Tree.js.map +1 -1
  9. package/lib/components/Tree/Tree.types.js +1 -1
  10. package/lib/components/Tree/Tree.types.js.map +1 -1
  11. package/lib/components/Tree/index.js.map +1 -1
  12. package/lib/components/Tree/renderTree.js +1 -3
  13. package/lib/components/Tree/renderTree.js.map +1 -1
  14. package/lib/components/Tree/useTree.js +5 -4
  15. package/lib/components/Tree/useTree.js.map +1 -1
  16. package/lib/components/Tree/useTreeContextValues.js +3 -3
  17. package/lib/components/Tree/useTreeContextValues.js.map +1 -1
  18. package/lib/components/Tree/useTreeStyles.js.map +1 -1
  19. package/lib/components/TreeItem/TreeItem.js.map +1 -1
  20. package/lib/components/TreeItem/TreeItem.types.js +1 -1
  21. package/lib/components/TreeItem/TreeItem.types.js.map +1 -1
  22. package/lib/components/TreeItem/index.js.map +1 -1
  23. package/lib/components/TreeItem/renderTreeItem.js +2 -12
  24. package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
  25. package/lib/components/TreeItem/useTreeItem.js.map +1 -1
  26. package/lib/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  27. package/lib/components/TreeItem/useTreeItemStyles.js.map +1 -1
  28. package/lib/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  29. package/lib/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  30. package/lib/components/TreeItemLayout/index.js.map +1 -1
  31. package/lib/components/TreeItemLayout/renderTreeItemLayout.js +1 -9
  32. package/lib/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  33. package/lib/components/TreeItemLayout/useTreeItemLayout.js +1 -0
  34. package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  35. package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +1 -1
  36. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  37. package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  38. package/lib/components/TreeItemPersonaLayout/index.js.map +1 -1
  39. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +2 -14
  40. package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  41. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +1 -0
  42. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  43. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  44. package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +1 -1
  45. package/lib/contexts/index.js.map +1 -1
  46. package/lib/contexts/treeContext.js +1 -2
  47. package/lib/contexts/treeContext.js.map +1 -1
  48. package/lib/contexts/treeItemContext.js +2 -4
  49. package/lib/contexts/treeItemContext.js.map +1 -1
  50. package/lib/hooks/index.js.map +1 -1
  51. package/lib/hooks/useFlatTree.js +2 -4
  52. package/lib/hooks/useFlatTree.js.map +1 -1
  53. package/lib/hooks/useFlatTreeNavigation.js.map +1 -1
  54. package/lib/hooks/useHTMLElementWalker.js +5 -5
  55. package/lib/hooks/useHTMLElementWalker.js.map +1 -1
  56. package/lib/hooks/useNestedTreeNavigation.js.map +1 -1
  57. package/lib/hooks/useOpenItemsState.js.map +1 -1
  58. package/lib/hooks/useRovingTabIndexes.js.map +1 -1
  59. package/lib/index.js.map +1 -1
  60. package/lib/utils/ImmutableSet.js.map +1 -1
  61. package/lib/utils/assert.js +1 -0
  62. package/lib/utils/assert.js.map +1 -1
  63. package/lib/utils/createUnfilteredFlatTree.js +3 -4
  64. package/lib/utils/createUnfilteredFlatTree.js.map +1 -1
  65. package/lib/utils/createVisibleFlatTree.js +10 -7
  66. package/lib/utils/createVisibleFlatTree.js.map +1 -1
  67. package/lib/utils/flattenTree.js +3 -4
  68. package/lib/utils/flattenTree.js.map +1 -1
  69. package/lib/utils/nextTypeAheadElement.js +2 -2
  70. package/lib/utils/nextTypeAheadElement.js.map +1 -1
  71. package/lib/utils/normalizeOpenItems.js.map +1 -1
  72. package/lib/utils/tokens.js.map +1 -1
  73. package/lib/utils/treeItemFilter.js.map +1 -1
  74. package/lib-commonjs/Tree.js +5 -4
  75. package/lib-commonjs/Tree.js.map +1 -1
  76. package/lib-commonjs/TreeItem.js +5 -4
  77. package/lib-commonjs/TreeItem.js.map +1 -1
  78. package/lib-commonjs/TreeItemLayout.js +5 -4
  79. package/lib-commonjs/TreeItemLayout.js.map +1 -1
  80. package/lib-commonjs/TreeItemPersonaLayout.js +5 -4
  81. package/lib-commonjs/TreeItemPersonaLayout.js.map +1 -1
  82. package/lib-commonjs/components/Tree/Tree.js +18 -22
  83. package/lib-commonjs/components/Tree/Tree.js.map +1 -1
  84. package/lib-commonjs/components/Tree/Tree.types.js +5 -2
  85. package/lib-commonjs/components/Tree/Tree.types.js.map +1 -1
  86. package/lib-commonjs/components/Tree/index.js +10 -9
  87. package/lib-commonjs/components/Tree/index.js.map +1 -1
  88. package/lib-commonjs/components/Tree/renderTree.js +16 -18
  89. package/lib-commonjs/components/Tree/renderTree.js.map +1 -1
  90. package/lib-commonjs/components/Tree/useTree.js +88 -101
  91. package/lib-commonjs/components/Tree/useTree.js.map +1 -1
  92. package/lib-commonjs/components/Tree/useTreeContextValues.js +22 -28
  93. package/lib-commonjs/components/Tree/useTreeContextValues.js.map +1 -1
  94. package/lib-commonjs/components/Tree/useTreeStyles.js +31 -20
  95. package/lib-commonjs/components/Tree/useTreeStyles.js.map +1 -1
  96. package/lib-commonjs/components/TreeItem/TreeItem.js +18 -17
  97. package/lib-commonjs/components/TreeItem/TreeItem.js.map +1 -1
  98. package/lib-commonjs/components/TreeItem/TreeItem.types.js +5 -3
  99. package/lib-commonjs/components/TreeItem/TreeItem.types.js.map +1 -1
  100. package/lib-commonjs/components/TreeItem/index.js +9 -8
  101. package/lib-commonjs/components/TreeItem/index.js.map +1 -1
  102. package/lib-commonjs/components/TreeItem/renderTreeItem.js +19 -32
  103. package/lib-commonjs/components/TreeItem/renderTreeItem.js.map +1 -1
  104. package/lib-commonjs/components/TreeItem/useTreeItem.js +229 -249
  105. package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
  106. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js +24 -20
  107. package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js.map +1 -1
  108. package/lib-commonjs/components/TreeItem/useTreeItemStyles.js +353 -188
  109. package/lib-commonjs/components/TreeItem/useTreeItemStyles.js.map +1 -1
  110. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js +16 -15
  111. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
  112. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js +3 -2
  113. package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
  114. package/lib-commonjs/components/TreeItemLayout/index.js +9 -8
  115. package/lib-commonjs/components/TreeItemLayout/index.js.map +1 -1
  116. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js +14 -27
  117. package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
  118. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +42 -52
  119. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
  120. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js +126 -88
  121. package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +1 -1
  122. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +18 -17
  123. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
  124. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +3 -2
  125. package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
  126. package/lib-commonjs/components/TreeItemPersonaLayout/index.js +9 -8
  127. package/lib-commonjs/components/TreeItemPersonaLayout/index.js.map +1 -1
  128. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +17 -34
  129. package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
  130. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +46 -61
  131. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
  132. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +18 -15
  133. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
  134. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js +165 -101
  135. package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +1 -1
  136. package/lib-commonjs/contexts/index.js +6 -5
  137. package/lib-commonjs/contexts/index.js.map +1 -1
  138. package/lib-commonjs/contexts/treeContext.js +25 -17
  139. package/lib-commonjs/contexts/treeContext.js.map +1 -1
  140. package/lib-commonjs/contexts/treeItemContext.js +20 -12
  141. package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
  142. package/lib-commonjs/hooks/index.js +7 -6
  143. package/lib-commonjs/hooks/index.js.map +1 -1
  144. package/lib-commonjs/hooks/useFlatTree.js +45 -51
  145. package/lib-commonjs/hooks/useFlatTree.js.map +1 -1
  146. package/lib-commonjs/hooks/useFlatTreeNavigation.js +70 -69
  147. package/lib-commonjs/hooks/useFlatTreeNavigation.js.map +1 -1
  148. package/lib-commonjs/hooks/useHTMLElementWalker.js +94 -83
  149. package/lib-commonjs/hooks/useHTMLElementWalker.js.map +1 -1
  150. package/lib-commonjs/hooks/useNestedTreeNavigation.js +61 -58
  151. package/lib-commonjs/hooks/useNestedTreeNavigation.js.map +1 -1
  152. package/lib-commonjs/hooks/useOpenItemsState.js +32 -22
  153. package/lib-commonjs/hooks/useOpenItemsState.js.map +1 -1
  154. package/lib-commonjs/hooks/useRovingTabIndexes.js +56 -53
  155. package/lib-commonjs/hooks/useRovingTabIndexes.js.map +1 -1
  156. package/lib-commonjs/index.js +48 -180
  157. package/lib-commonjs/index.js.map +1 -1
  158. package/lib-commonjs/utils/ImmutableSet.js +39 -38
  159. package/lib-commonjs/utils/ImmutableSet.js.map +1 -1
  160. package/lib-commonjs/utils/assert.js +13 -9
  161. package/lib-commonjs/utils/assert.js.map +1 -1
  162. package/lib-commonjs/utils/createUnfilteredFlatTree.js +84 -75
  163. package/lib-commonjs/utils/createUnfilteredFlatTree.js.map +1 -1
  164. package/lib-commonjs/utils/createVisibleFlatTree.js +77 -78
  165. package/lib-commonjs/utils/createVisibleFlatTree.js.map +1 -1
  166. package/lib-commonjs/utils/flattenTree.js +25 -29
  167. package/lib-commonjs/utils/flattenTree.js.map +1 -1
  168. package/lib-commonjs/utils/nextTypeAheadElement.js +18 -16
  169. package/lib-commonjs/utils/nextTypeAheadElement.js.map +1 -1
  170. package/lib-commonjs/utils/normalizeOpenItems.js +13 -9
  171. package/lib-commonjs/utils/normalizeOpenItems.js.map +1 -1
  172. package/lib-commonjs/utils/tokens.js +30 -20
  173. package/lib-commonjs/utils/tokens.js.map +1 -1
  174. package/lib-commonjs/utils/treeItemFilter.js +9 -7
  175. package/lib-commonjs/utils/treeItemFilter.js.map +1 -1
  176. package/package.json +19 -15
@@ -1 +1 @@
1
- {"version":3,"names":["__styles","mergeClasses","shorthands","tokens","createFocusOutlineStyle","useTreeContext_unstable","treeItemLevelToken","treeItemClassNames","root","content","subtree","expandIcon","actions","useRootStyles","level1","iytv0q","level2","level3","level4","level5","level6","level7","level8","level9","level10","d","useContentStyles","base","qhf8xq","Bceei9c","mc9l5x","De3pzq","sj55zd","z189sj","uwmqm3","Bbmb7ep","Beyfa6y","B7oj6ja","Btl43ni","lj723h","ecr2s2","Ixpawx","Bi91k9c","Jwef8y","B0t702g","focusIndicator","Brovlpu","B486eqv","B8q5s1w","Bci5o5g","n8qw10","Bdrgwmp","Bm4h7ae","B7ys5i9","Busjfv9","Bhk32uz","Bf4ptjt","kclons","Bhdgwq3","Blkhhs4","Bqtpl0w","clg4pj","hgwjuy","Bonggc9","B1tsrr9","Dah5zi","Bkh64rk","qqdqy8","B6dhp37","i03rao","Boxcth7","Bsom6fd","J0r882","Bjwuhne","Ghsupd","Bule8hv","subtle","transparent","leaf","a","h","f","i","useExpandIconStyles","Bt984gj","Brf1p80","Bf4jedk","B7ck84d","z8tnut","Byoj8tv","useActionsStyles","Frg6f3","open","expandIconInlineStyles","transform","useTreeItemStyles_unstable","state","rootStyles","contentStyles","expandIconStyles","actionsStyles","appearance","ctx","isActionsVisible","showActions","level","className","isStaticallyDefinedLevel","isLeaf"],"sources":["../src/packages/react-components/react-tree/src/components/TreeItem/useTreeItemStyles.ts"],"sourcesContent":["import { GriffelStyle, makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport type { TreeItemCSSProperties, TreeItemSlots, TreeItemState } from './TreeItem.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { tokens } from '@fluentui/react-theme';\nimport { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { useTreeContext_unstable } from '../../contexts/index';\nimport { treeItemLevelToken } from '../../utils/tokens';\n\nexport const treeItemClassNames: SlotClassNames<TreeItemSlots> = {\n root: 'fui-TreeItem',\n content: 'fui-TreeItem__content',\n subtree: 'fui-TreeItem__subtree',\n expandIcon: 'fui-TreeItem__expandIcon',\n actions: 'fui-TreeItem__actions',\n};\n\ntype StaticLevel = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;\ntype StaticLevelProperty = `level${StaticLevel}`;\n\nconst useRootStyles = makeStyles({\n ...(Object.fromEntries(\n Array.from<never, [StaticLevelProperty, TreeItemCSSProperties]>({ length: 10 }, (_, index) => [\n `level${(index + 1) as StaticLevel}`,\n { [treeItemLevelToken]: index + 1 },\n ]),\n ) as Record<StaticLevelProperty, GriffelStyle>),\n});\n\n/**\n * Styles for the content slot\n */\nconst useContentStyles = makeStyles({\n base: {\n position: 'relative',\n cursor: 'pointer',\n display: 'flex',\n backgroundColor: tokens.colorSubtleBackground,\n color: tokens.colorNeutralForeground2,\n paddingRight: tokens.spacingHorizontalNone,\n paddingLeft: `calc((var(${treeItemLevelToken}, 1) - 1) * ${tokens.spacingHorizontalXXL})`,\n ...shorthands.borderRadius(tokens.borderRadiusMedium),\n ':active': {\n color: tokens.colorNeutralForeground2Pressed,\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n // TODO: stop using treeItemClassNames.expandIcon for styling\n [`& .${treeItemClassNames.expandIcon}`]: {\n color: tokens.colorNeutralForeground3Pressed,\n },\n },\n ':hover': {\n color: tokens.colorNeutralForeground2Hover,\n backgroundColor: tokens.colorSubtleBackgroundHover,\n // TODO: stop using treeItemClassNames.expandIcon for styling\n [`& .${treeItemClassNames.expandIcon}`]: {\n color: tokens.colorNeutralForeground3Hover,\n },\n },\n },\n focusIndicator: createFocusOutlineStyle(),\n // Appearance variations\n subtle: {},\n 'subtle-alpha': {\n ':hover': {\n backgroundColor: tokens.colorSubtleBackgroundLightAlphaHover,\n },\n ':active': {\n backgroundColor: tokens.colorSubtleBackgroundLightAlphaPressed,\n },\n },\n transparent: {\n backgroundColor: tokens.colorTransparentBackground,\n ':hover': {\n backgroundColor: tokens.colorTransparentBackgroundHover,\n },\n ':active': {\n backgroundColor: tokens.colorTransparentBackgroundPressed,\n },\n },\n leaf: {\n paddingLeft: `calc(var(${treeItemLevelToken}, 1) * ${tokens.spacingHorizontalXXL})`,\n },\n});\n\n/**\n * Styles for the expand icon slot\n */\nconst useExpandIconStyles = makeStyles({\n base: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n minWidth: '24px',\n boxSizing: 'border-box',\n color: tokens.colorNeutralForeground3,\n ...shorthands.padding(tokens.spacingVerticalXS, 0),\n },\n});\n\n/**\n * Styles for the action icon slot\n */\nconst useActionsStyles = makeStyles({\n base: {\n display: 'none',\n marginLeft: 'auto',\n ...shorthands.padding(0, tokens.spacingHorizontalS),\n },\n open: {\n display: 'flex',\n position: 'relative',\n },\n});\n\nexport const expandIconInlineStyles = {\n 90: { transform: `rotate(90deg)` },\n 0: { transform: `rotate(0deg)` },\n 180: { transform: `rotate(180deg)` },\n} as const;\n\n/**\n * Apply styling to the TreeItem slots based on the state\n */\nexport const useTreeItemStyles_unstable = (state: TreeItemState): TreeItemState => {\n const rootStyles = useRootStyles();\n const contentStyles = useContentStyles();\n const expandIconStyles = useExpandIconStyles();\n const actionsStyles = useActionsStyles();\n\n const appearance = useTreeContext_unstable(ctx => ctx.appearance);\n\n const { actions, subtree, expandIcon, isActionsVisible: showActions, level } = state;\n\n state.root.className = mergeClasses(\n treeItemClassNames.root,\n isStaticallyDefinedLevel(level) && rootStyles[`level${level}` as StaticLevelProperty],\n state.root.className,\n );\n\n state.content.className = mergeClasses(\n treeItemClassNames.content,\n contentStyles.base,\n contentStyles[appearance],\n contentStyles.focusIndicator,\n state.isLeaf && contentStyles.leaf,\n state.content.className,\n );\n\n if (expandIcon) {\n expandIcon.className = mergeClasses(treeItemClassNames.expandIcon, expandIconStyles.base, expandIcon.className);\n }\n if (actions) {\n actions.className = mergeClasses(\n treeItemClassNames.actions,\n actionsStyles.base,\n showActions && actionsStyles.open,\n actions.className,\n );\n }\n if (subtree) {\n subtree.className = mergeClasses(treeItemClassNames.subtree, subtree.className);\n }\n\n return state;\n};\n\nfunction isStaticallyDefinedLevel(level: number): level is StaticLevel {\n return level >= 1 && level <= 10;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["__styles","mergeClasses","shorthands","tokens","createFocusOutlineStyle","useTreeContext_unstable","treeItemLevelToken","treeItemClassNames","root","content","subtree","expandIcon","actions","useRootStyles","level1","iytv0q","level2","level3","level4","level5","level6","level7","level8","level9","level10","d","useContentStyles","base","qhf8xq","Bceei9c","mc9l5x","De3pzq","sj55zd","z189sj","uwmqm3","Bbmb7ep","Beyfa6y","B7oj6ja","Btl43ni","lj723h","ecr2s2","Ixpawx","Bi91k9c","Jwef8y","B0t702g","focusIndicator","Brovlpu","B486eqv","B8q5s1w","Bci5o5g","n8qw10","Bdrgwmp","Bm4h7ae","B7ys5i9","Busjfv9","Bhk32uz","Bf4ptjt","kclons","Bhdgwq3","Blkhhs4","Bqtpl0w","clg4pj","hgwjuy","Bonggc9","B1tsrr9","Dah5zi","Bkh64rk","qqdqy8","B6dhp37","i03rao","Boxcth7","Bsom6fd","J0r882","Bjwuhne","Ghsupd","Bule8hv","subtle","transparent","leaf","a","h","f","i","useExpandIconStyles","Bt984gj","Brf1p80","Bf4jedk","B7ck84d","z8tnut","Byoj8tv","useActionsStyles","Frg6f3","open","expandIconInlineStyles","transform","useTreeItemStyles_unstable","state","rootStyles","contentStyles","expandIconStyles","actionsStyles","appearance","ctx","isActionsVisible","showActions","level","className","isStaticallyDefinedLevel","isLeaf"],"sources":["../../../src/components/TreeItem/useTreeItemStyles.ts"],"sourcesContent":["import { GriffelStyle, makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport type { TreeItemCSSProperties, TreeItemSlots, TreeItemState } from './TreeItem.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { tokens } from '@fluentui/react-theme';\nimport { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { useTreeContext_unstable } from '../../contexts/index';\nimport { treeItemLevelToken } from '../../utils/tokens';\n\nexport const treeItemClassNames: SlotClassNames<TreeItemSlots> = {\n root: 'fui-TreeItem',\n content: 'fui-TreeItem__content',\n subtree: 'fui-TreeItem__subtree',\n expandIcon: 'fui-TreeItem__expandIcon',\n actions: 'fui-TreeItem__actions',\n};\n\ntype StaticLevel = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;\ntype StaticLevelProperty = `level${StaticLevel}`;\n\nconst useRootStyles = makeStyles({\n ...(Object.fromEntries(\n Array.from<never, [StaticLevelProperty, TreeItemCSSProperties]>({ length: 10 }, (_, index) => [\n `level${(index + 1) as StaticLevel}`,\n { [treeItemLevelToken]: index + 1 },\n ]),\n ) as Record<StaticLevelProperty, GriffelStyle>),\n});\n\n/**\n * Styles for the content slot\n */\nconst useContentStyles = makeStyles({\n base: {\n position: 'relative',\n cursor: 'pointer',\n display: 'flex',\n backgroundColor: tokens.colorSubtleBackground,\n color: tokens.colorNeutralForeground2,\n paddingRight: tokens.spacingHorizontalNone,\n paddingLeft: `calc((var(${treeItemLevelToken}, 1) - 1) * ${tokens.spacingHorizontalXXL})`,\n ...shorthands.borderRadius(tokens.borderRadiusMedium),\n ':active': {\n color: tokens.colorNeutralForeground2Pressed,\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n // TODO: stop using treeItemClassNames.expandIcon for styling\n [`& .${treeItemClassNames.expandIcon}`]: {\n color: tokens.colorNeutralForeground3Pressed,\n },\n },\n ':hover': {\n color: tokens.colorNeutralForeground2Hover,\n backgroundColor: tokens.colorSubtleBackgroundHover,\n // TODO: stop using treeItemClassNames.expandIcon for styling\n [`& .${treeItemClassNames.expandIcon}`]: {\n color: tokens.colorNeutralForeground3Hover,\n },\n },\n },\n focusIndicator: createFocusOutlineStyle(),\n // Appearance variations\n subtle: {},\n 'subtle-alpha': {\n ':hover': {\n backgroundColor: tokens.colorSubtleBackgroundLightAlphaHover,\n },\n ':active': {\n backgroundColor: tokens.colorSubtleBackgroundLightAlphaPressed,\n },\n },\n transparent: {\n backgroundColor: tokens.colorTransparentBackground,\n ':hover': {\n backgroundColor: tokens.colorTransparentBackgroundHover,\n },\n ':active': {\n backgroundColor: tokens.colorTransparentBackgroundPressed,\n },\n },\n leaf: {\n paddingLeft: `calc(var(${treeItemLevelToken}, 1) * ${tokens.spacingHorizontalXXL})`,\n },\n});\n\n/**\n * Styles for the expand icon slot\n */\nconst useExpandIconStyles = makeStyles({\n base: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n minWidth: '24px',\n boxSizing: 'border-box',\n color: tokens.colorNeutralForeground3,\n ...shorthands.padding(tokens.spacingVerticalXS, 0),\n },\n});\n\n/**\n * Styles for the action icon slot\n */\nconst useActionsStyles = makeStyles({\n base: {\n display: 'none',\n marginLeft: 'auto',\n ...shorthands.padding(0, tokens.spacingHorizontalS),\n },\n open: {\n display: 'flex',\n position: 'relative',\n },\n});\n\nexport const expandIconInlineStyles = {\n 90: { transform: `rotate(90deg)` },\n 0: { transform: `rotate(0deg)` },\n 180: { transform: `rotate(180deg)` },\n} as const;\n\n/**\n * Apply styling to the TreeItem slots based on the state\n */\nexport const useTreeItemStyles_unstable = (state: TreeItemState): TreeItemState => {\n const rootStyles = useRootStyles();\n const contentStyles = useContentStyles();\n const expandIconStyles = useExpandIconStyles();\n const actionsStyles = useActionsStyles();\n\n const appearance = useTreeContext_unstable(ctx => ctx.appearance);\n\n const { actions, subtree, expandIcon, isActionsVisible: showActions, level } = state;\n\n state.root.className = mergeClasses(\n treeItemClassNames.root,\n isStaticallyDefinedLevel(level) && rootStyles[`level${level}` as StaticLevelProperty],\n state.root.className,\n );\n\n state.content.className = mergeClasses(\n treeItemClassNames.content,\n contentStyles.base,\n contentStyles[appearance],\n contentStyles.focusIndicator,\n state.isLeaf && contentStyles.leaf,\n state.content.className,\n );\n\n if (expandIcon) {\n expandIcon.className = mergeClasses(treeItemClassNames.expandIcon, expandIconStyles.base, expandIcon.className);\n }\n if (actions) {\n actions.className = mergeClasses(\n treeItemClassNames.actions,\n actionsStyles.base,\n showActions && actionsStyles.open,\n actions.className,\n );\n }\n if (subtree) {\n subtree.className = mergeClasses(treeItemClassNames.subtree, subtree.className);\n }\n\n return state;\n};\n\nfunction isStaticallyDefinedLevel(level: number): level is StaticLevel {\n return level >= 1 && level <= 10;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","useTreeItemLayout_unstable","renderTreeItemLayout_unstable","useTreeItemLayoutStyles_unstable","TreeItemLayout","forwardRef","props","ref","state","displayName"],"sources":["../src/packages/react-components/react-tree/src/components/TreeItemLayout/TreeItemLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useTreeItemLayout_unstable } from './useTreeItemLayout';\nimport { renderTreeItemLayout_unstable } from './renderTreeItemLayout';\nimport { useTreeItemLayoutStyles_unstable } from './useTreeItemLayoutStyles';\nimport type { TreeItemLayoutProps } from './TreeItemLayout.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * TreeItemLayout component - TODO: add more docs\n */\nexport const TreeItemLayout: ForwardRefComponent<TreeItemLayoutProps> = React.forwardRef((props, ref) => {\n const state = useTreeItemLayout_unstable(props, ref);\n\n useTreeItemLayoutStyles_unstable(state);\n return renderTreeItemLayout_unstable(state);\n});\n\nTreeItemLayout.displayName = 'TreeItemLayout';\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,0BAA0B,QAAQ,qBAAqB;AAChE,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAASC,gCAAgC,QAAQ,2BAA2B;AAI5E;;;AAGA,OAAO,MAAMC,cAAc,gBAA6CJ,KAAK,CAACK,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAI;EACtG,MAAMC,KAAK,GAAGP,0BAA0B,CAACK,KAAK,EAAEC,GAAG,CAAC;EAEpDJ,gCAAgC,CAACK,KAAK,CAAC;EACvC,OAAON,6BAA6B,CAACM,KAAK,CAAC;AAC7C,CAAC,CAAC;AAEFJ,cAAc,CAACK,WAAW,GAAG,gBAAgB"}
1
+ {"version":3,"names":["React","useTreeItemLayout_unstable","renderTreeItemLayout_unstable","useTreeItemLayoutStyles_unstable","TreeItemLayout","forwardRef","props","ref","state","displayName"],"sources":["../../../src/components/TreeItemLayout/TreeItemLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useTreeItemLayout_unstable } from './useTreeItemLayout';\nimport { renderTreeItemLayout_unstable } from './renderTreeItemLayout';\nimport { useTreeItemLayoutStyles_unstable } from './useTreeItemLayoutStyles';\nimport type { TreeItemLayoutProps } from './TreeItemLayout.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * TreeItemLayout component - TODO: add more docs\n */\nexport const TreeItemLayout: ForwardRefComponent<TreeItemLayoutProps> = React.forwardRef((props, ref) => {\n const state = useTreeItemLayout_unstable(props, ref);\n\n useTreeItemLayoutStyles_unstable(state);\n return renderTreeItemLayout_unstable(state);\n});\n\nTreeItemLayout.displayName = 'TreeItemLayout';\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,0BAA0B,QAAQ;AAC3C,SAASC,6BAA6B,QAAQ;AAC9C,SAASC,gCAAgC,QAAQ;AAIjD;;;AAGA,OAAO,MAAMC,cAAA,gBAA2DJ,KAAA,CAAMK,UAAU,CAAC,CAACC,KAAA,EAAOC,GAAA,KAAQ;EACvG,MAAMC,KAAA,GAAQP,0BAAA,CAA2BK,KAAA,EAAOC,GAAA;EAEhDJ,gCAAA,CAAiCK,KAAA;EACjC,OAAON,6BAAA,CAA8BM,KAAA;AACvC;AAEAJ,cAAA,CAAeK,WAAW,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeItemLayout.types.js","sourceRoot":"../src/","sources":["packages/react-components/react-tree/src/components/TreeItemLayout/TreeItemLayout.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport { TreeItemContextValue } from '../../contexts/treeItemContext';\n\nexport type TreeItemLayoutSlots = {\n root: Slot<'div'>;\n /**\n * Icon slot that renders right before main content\n */\n iconBefore?: Slot<'span'>;\n /**\n * Icon slot that renders right after main content\n */\n iconAfter?: Slot<'span'>;\n aside?: Slot<'span'>;\n};\n\n/**\n * TreeItemLayout Props\n */\nexport type TreeItemLayoutProps = ComponentProps<Partial<TreeItemLayoutSlots>>;\n\n/**\n * State used in rendering TreeItemLayout\n */\nexport type TreeItemLayoutState = ComponentState<TreeItemLayoutSlots> & TreeItemContextValue;\n"]}
1
+ {"version":3,"names":[],"sources":["../../../src/components/TreeItemLayout/TreeItemLayout.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport { TreeItemContextValue } from '../../contexts/treeItemContext';\n\nexport type TreeItemLayoutSlots = {\n root: Slot<'div'>;\n /**\n * Icon slot that renders right before main content\n */\n iconBefore?: Slot<'span'>;\n /**\n * Icon slot that renders right after main content\n */\n iconAfter?: Slot<'span'>;\n aside?: Slot<'span'>;\n};\n\n/**\n * TreeItemLayout Props\n */\nexport type TreeItemLayoutProps = ComponentProps<Partial<TreeItemLayoutSlots>>;\n\n/**\n * State used in rendering TreeItemLayout\n */\nexport type TreeItemLayoutState = ComponentState<TreeItemLayoutSlots> & TreeItemContextValue;\n"],"mappings":"AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["packages/react-components/react-tree/src/components/TreeItemLayout/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC","sourcesContent":["export * from './TreeItemLayout';\nexport * from './TreeItemLayout.types';\nexport * from './renderTreeItemLayout';\nexport * from './useTreeItemLayout';\nexport * from './useTreeItemLayoutStyles';\n"]}
1
+ {"version":3,"names":[],"sources":["../../../src/components/TreeItemLayout/index.ts"],"sourcesContent":["export * from './TreeItemLayout';\nexport * from './TreeItemLayout.types';\nexport * from './renderTreeItemLayout';\nexport * from './useTreeItemLayout';\nexport * from './useTreeItemLayoutStyles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc"}
@@ -11,14 +11,6 @@ export const renderTreeItemLayout_unstable = state => {
11
11
  slots,
12
12
  slotProps
13
13
  } = getSlots(state);
14
- return /*#__PURE__*/React.createElement(slots.root, {
15
- ...slotProps.root
16
- }, slots.iconBefore && /*#__PURE__*/React.createElement(slots.iconBefore, {
17
- ...slotProps.iconBefore
18
- }), slotProps.root.children, slots.iconAfter && /*#__PURE__*/React.createElement(slots.iconAfter, {
19
- ...slotProps.iconAfter
20
- }), !isActionsVisible && slots.aside && /*#__PURE__*/React.createElement(slots.aside, {
21
- ...slotProps.aside
22
- }));
14
+ return /*#__PURE__*/React.createElement(slots.root, slotProps.root, slots.iconBefore && /*#__PURE__*/React.createElement(slots.iconBefore, slotProps.iconBefore), slotProps.root.children, slots.iconAfter && /*#__PURE__*/React.createElement(slots.iconAfter, slotProps.iconAfter), !isActionsVisible && slots.aside && /*#__PURE__*/React.createElement(slots.aside, slotProps.aside));
23
15
  };
24
16
  //# sourceMappingURL=renderTreeItemLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","getSlots","renderTreeItemLayout_unstable","state","isActionsVisible","slots","slotProps","createElement","root","iconBefore","children","iconAfter","aside"],"sources":["../src/packages/react-components/react-tree/src/components/TreeItemLayout/renderTreeItemLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type { TreeItemLayoutState, TreeItemLayoutSlots } from './TreeItemLayout.types';\n\n/**\n * Render the final JSX of TreeItemLayout\n */\nexport const renderTreeItemLayout_unstable = (state: TreeItemLayoutState) => {\n const { isActionsVisible } = state;\n const { slots, slotProps } = getSlots<TreeItemLayoutSlots>(state);\n return (\n <slots.root {...slotProps.root}>\n {slots.iconBefore && <slots.iconBefore {...slotProps.iconBefore} />}\n {slotProps.root.children}\n {slots.iconAfter && <slots.iconAfter {...slotProps.iconAfter} />}\n {!isActionsVisible && slots.aside && <slots.aside {...slotProps.aside} />}\n </slots.root>\n );\n};\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,QAAQ,2BAA2B;AAGpD;;;AAGA,OAAO,MAAMC,6BAA6B,GAAIC,KAA0B,IAAI;EAC1E,MAAM;IAAEC;EAAgB,CAAE,GAAGD,KAAK;EAClC,MAAM;IAAEE,KAAK;IAAEC;EAAS,CAAE,GAAGL,QAAQ,CAAsBE,KAAK,CAAC;EACjE,oBACEH,KAAA,CAAAO,aAAA,CAACF,KAAK,CAACG,IAAI;IAAA,GAAKF,SAAS,CAACE;EAAI,GAC3BH,KAAK,CAACI,UAAU,iBAAIT,KAAA,CAAAO,aAAA,CAACF,KAAK,CAACI,UAAU;IAAA,GAAKH,SAAS,CAACG;EAAU,EAAI,EAClEH,SAAS,CAACE,IAAI,CAACE,QAAQ,EACvBL,KAAK,CAACM,SAAS,iBAAIX,KAAA,CAAAO,aAAA,CAACF,KAAK,CAACM,SAAS;IAAA,GAAKL,SAAS,CAACK;EAAS,EAAI,EAC/D,CAACP,gBAAgB,IAAIC,KAAK,CAACO,KAAK,iBAAIZ,KAAA,CAAAO,aAAA,CAACF,KAAK,CAACO,KAAK;IAAA,GAAKN,SAAS,CAACM;EAAK,EAAI,CAC9D;AAEjB,CAAC"}
1
+ {"version":3,"names":["React","getSlots","renderTreeItemLayout_unstable","state","isActionsVisible","slots","slotProps","createElement","root","iconBefore","children","iconAfter","aside"],"sources":["../../../src/components/TreeItemLayout/renderTreeItemLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type { TreeItemLayoutState, TreeItemLayoutSlots } from './TreeItemLayout.types';\n\n/**\n * Render the final JSX of TreeItemLayout\n */\nexport const renderTreeItemLayout_unstable = (state: TreeItemLayoutState) => {\n const { isActionsVisible } = state;\n const { slots, slotProps } = getSlots<TreeItemLayoutSlots>(state);\n return (\n <slots.root {...slotProps.root}>\n {slots.iconBefore && <slots.iconBefore {...slotProps.iconBefore} />}\n {slotProps.root.children}\n {slots.iconAfter && <slots.iconAfter {...slotProps.iconAfter} />}\n {!isActionsVisible && slots.aside && <slots.aside {...slotProps.aside} />}\n </slots.root>\n );\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,QAAQ,QAAQ;AAGzB;;;AAGA,OAAO,MAAMC,6BAAA,GAAiCC,KAAA,IAA+B;EAC3E,MAAM;IAAEC;EAAgB,CAAE,GAAGD,KAAA;EAC7B,MAAM;IAAEE,KAAA;IAAOC;EAAS,CAAE,GAAGL,QAAA,CAA8BE,KAAA;EAC3D,oBACEH,KAAA,CAAAO,aAAA,CAACF,KAAA,CAAMG,IAAI,EAAKF,SAAA,CAAUE,IAAI,EAC3BH,KAAA,CAAMI,UAAU,iBAAIT,KAAA,CAAAO,aAAA,CAACF,KAAA,CAAMI,UAAU,EAAKH,SAAA,CAAUG,UAAU,GAC9DH,SAAA,CAAUE,IAAI,CAACE,QAAQ,EACvBL,KAAA,CAAMM,SAAS,iBAAIX,KAAA,CAAAO,aAAA,CAACF,KAAA,CAAMM,SAAS,EAAKL,SAAA,CAAUK,SAAS,GAC3D,CAACP,gBAAA,IAAoBC,KAAA,CAAMO,KAAK,iBAAIZ,KAAA,CAAAO,aAAA,CAACF,KAAA,CAAMO,KAAK,EAAKN,SAAA,CAAUM,KAAK;AAG3E"}
@@ -1,3 +1,4 @@
1
+ import * as React from 'react';
1
2
  import { getNativeElementProps, resolveShorthand } from '@fluentui/react-utilities';
2
3
  import { useTreeItemContext_unstable } from '../../contexts/treeItemContext';
3
4
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["getNativeElementProps","resolveShorthand","useTreeItemContext_unstable","useTreeItemLayout_unstable","props","ref","iconAfter","iconBefore","aside","as","treeItemContext","components","root","defaultProps"],"sources":["../src/packages/react-components/react-tree/src/components/TreeItemLayout/useTreeItemLayout.ts"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, resolveShorthand } from '@fluentui/react-utilities';\nimport type { TreeItemLayoutProps, TreeItemLayoutState } from './TreeItemLayout.types';\nimport { useTreeItemContext_unstable } from '../../contexts/treeItemContext';\n\n/**\n * Create the state required to render TreeItemLayout.\n *\n * The returned state can be modified with hooks such as useTreeItemLayoutStyles_unstable,\n * before being passed to renderTreeItemLayout_unstable.\n *\n * @param props - props from this instance of TreeItemLayout\n * @param ref - reference to root HTMLElement of TreeItemLayout\n */\nexport const useTreeItemLayout_unstable = (\n props: TreeItemLayoutProps,\n ref: React.Ref<HTMLElement>,\n): TreeItemLayoutState => {\n const { iconAfter, iconBefore, aside, as = 'div' } = props;\n const treeItemContext = useTreeItemContext_unstable();\n\n return {\n ...treeItemContext,\n components: {\n root: 'div',\n iconBefore: 'span',\n iconAfter: 'span',\n aside: 'span',\n },\n root: getNativeElementProps(as, { ...props, ref }),\n iconBefore: resolveShorthand(iconBefore, { defaultProps: { 'aria-hidden': true } }),\n iconAfter: resolveShorthand(iconAfter, { defaultProps: { 'aria-hidden': true } }),\n aside: resolveShorthand(aside, { defaultProps: { 'aria-hidden': true } }),\n };\n};\n"],"mappings":"AACA,SAASA,qBAAqB,EAAEC,gBAAgB,QAAQ,2BAA2B;AAEnF,SAASC,2BAA2B,QAAQ,gCAAgC;AAE5E;;;;;;;;;AASA,OAAO,MAAMC,0BAA0B,GAAGA,CACxCC,KAA0B,EAC1BC,GAA2B,KACJ;EACvB,MAAM;IAAEC,SAAS;IAAEC,UAAU;IAAEC,KAAK;IAAEC,EAAE,GAAG;EAAK,CAAE,GAAGL,KAAK;EAC1D,MAAMM,eAAe,GAAGR,2BAA2B,EAAE;EAErD,OAAO;IACL,GAAGQ,eAAe;IAClBC,UAAU,EAAE;MACVC,IAAI,EAAE,KAAK;MACXL,UAAU,EAAE,MAAM;MAClBD,SAAS,EAAE,MAAM;MACjBE,KAAK,EAAE;KACR;IACDI,IAAI,EAAEZ,qBAAqB,CAACS,EAAE,EAAE;MAAE,GAAGL,KAAK;MAAEC;IAAG,CAAE,CAAC;IAClDE,UAAU,EAAEN,gBAAgB,CAACM,UAAU,EAAE;MAAEM,YAAY,EAAE;QAAE,aAAa,EAAE;MAAI;IAAE,CAAE,CAAC;IACnFP,SAAS,EAAEL,gBAAgB,CAACK,SAAS,EAAE;MAAEO,YAAY,EAAE;QAAE,aAAa,EAAE;MAAI;IAAE,CAAE,CAAC;IACjFL,KAAK,EAAEP,gBAAgB,CAACO,KAAK,EAAE;MAAEK,YAAY,EAAE;QAAE,aAAa,EAAE;MAAI;IAAE,CAAE;GACzE;AACH,CAAC"}
1
+ {"version":3,"names":["React","getNativeElementProps","resolveShorthand","useTreeItemContext_unstable","useTreeItemLayout_unstable","props","ref","iconAfter","iconBefore","aside","as","treeItemContext","components","root","defaultProps"],"sources":["../../../src/components/TreeItemLayout/useTreeItemLayout.ts"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, resolveShorthand } from '@fluentui/react-utilities';\nimport type { TreeItemLayoutProps, TreeItemLayoutState } from './TreeItemLayout.types';\nimport { useTreeItemContext_unstable } from '../../contexts/treeItemContext';\n\n/**\n * Create the state required to render TreeItemLayout.\n *\n * The returned state can be modified with hooks such as useTreeItemLayoutStyles_unstable,\n * before being passed to renderTreeItemLayout_unstable.\n *\n * @param props - props from this instance of TreeItemLayout\n * @param ref - reference to root HTMLElement of TreeItemLayout\n */\nexport const useTreeItemLayout_unstable = (\n props: TreeItemLayoutProps,\n ref: React.Ref<HTMLElement>,\n): TreeItemLayoutState => {\n const { iconAfter, iconBefore, aside, as = 'div' } = props;\n const treeItemContext = useTreeItemContext_unstable();\n\n return {\n ...treeItemContext,\n components: {\n root: 'div',\n iconBefore: 'span',\n iconAfter: 'span',\n aside: 'span',\n },\n root: getNativeElementProps(as, { ...props, ref }),\n iconBefore: resolveShorthand(iconBefore, { defaultProps: { 'aria-hidden': true } }),\n iconAfter: resolveShorthand(iconAfter, { defaultProps: { 'aria-hidden': true } }),\n aside: resolveShorthand(aside, { defaultProps: { 'aria-hidden': true } }),\n };\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,qBAAqB,EAAEC,gBAAgB,QAAQ;AAExD,SAASC,2BAA2B,QAAQ;AAE5C;;;;;;;;;AASA,OAAO,MAAMC,0BAAA,GAA6BA,CACxCC,KAAA,EACAC,GAAA,KACwB;EACxB,MAAM;IAAEC,SAAA;IAAWC,UAAA;IAAYC,KAAA;IAAOC,EAAA,GAAK;EAAK,CAAE,GAAGL,KAAA;EACrD,MAAMM,eAAA,GAAkBR,2BAAA;EAExB,OAAO;IACL,GAAGQ,eAAe;IAClBC,UAAA,EAAY;MACVC,IAAA,EAAM;MACNL,UAAA,EAAY;MACZD,SAAA,EAAW;MACXE,KAAA,EAAO;IACT;IACAI,IAAA,EAAMZ,qBAAA,CAAsBS,EAAA,EAAI;MAAE,GAAGL,KAAK;MAAEC;IAAI;IAChDE,UAAA,EAAYN,gBAAA,CAAiBM,UAAA,EAAY;MAAEM,YAAA,EAAc;QAAE,eAAe;MAAK;IAAE;IACjFP,SAAA,EAAWL,gBAAA,CAAiBK,SAAA,EAAW;MAAEO,YAAA,EAAc;QAAE,eAAe;MAAK;IAAE;IAC/EL,KAAA,EAAOP,gBAAA,CAAiBO,KAAA,EAAO;MAAEK,YAAA,EAAc;QAAE,eAAe;MAAK;IAAE;EACzE;AACF"}
@@ -1 +1 @@
1
- {"version":3,"names":["__styles","mergeClasses","shorthands","tokens","typographyStyles","useTreeContext_unstable","treeItemLayoutClassNames","root","aside","iconAfter","iconBefore","useRootStyles","base","mc9l5x","Bt984gj","sshi5w","Bh6795r","Bnnss6s","xawz","medium","i8kkvl","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","small","d","useIconStyles","sj55zd","useAsideStyles","Frg6f3","z8tnut","z189sj","Byoj8tv","uwmqm3","Belr9w4","useTreeItemLayoutStyles_unstable","state","rootStyles","iconStyles","asideStyles","size","ctx","className"],"sources":["../src/packages/react-components/react-tree/src/components/TreeItemLayout/useTreeItemLayoutStyles.ts"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport type { TreeItemLayoutSlots, TreeItemLayoutState } from './TreeItemLayout.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { useTreeContext_unstable } from '../../contexts/treeContext';\n\nexport const treeItemLayoutClassNames: SlotClassNames<TreeItemLayoutSlots> = {\n root: 'fui-TreeItemLayout',\n aside: 'fui-TreeItemLayout__aside',\n iconAfter: 'fui-TreeItemLayout__iconAfter',\n iconBefore: 'fui-TreeItemLayout__iconBefore',\n};\n\n/**\n * Styles for the root slot\n */\nconst useRootStyles = makeStyles({\n base: {\n display: 'flex',\n alignItems: 'center',\n minHeight: '32px',\n ...shorthands.flex(1),\n },\n medium: {\n columnGap: tokens.spacingHorizontalSNudge,\n ...typographyStyles.body1,\n },\n small: {\n columnGap: tokens.spacingHorizontalXS,\n minHeight: '24px',\n ...typographyStyles.caption1,\n },\n});\n\n/**\n * Styles for the before/after icon slot\n */\nconst useIconStyles = makeStyles({\n base: {\n display: 'flex',\n alignItems: 'center',\n color: tokens.colorNeutralForeground2,\n lineHeight: tokens.lineHeightBase500,\n fontSize: tokens.fontSizeBase500,\n },\n});\n\n/**\n * Styles for the action icon slot\n */\nconst useAsideStyles = makeStyles({\n base: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: 'auto',\n ...shorthands.padding(0, tokens.spacingHorizontalM),\n ...shorthands.gap(tokens.spacingHorizontalXS),\n },\n});\n\n/**\n * Apply styling to the TreeItemLayout slots based on the state\n */\nexport const useTreeItemLayoutStyles_unstable = (state: TreeItemLayoutState): TreeItemLayoutState => {\n const { iconAfter, iconBefore, aside, root } = state;\n const rootStyles = useRootStyles();\n const iconStyles = useIconStyles();\n const asideStyles = useAsideStyles();\n\n const size = useTreeContext_unstable(ctx => ctx.size);\n\n root.className = mergeClasses(treeItemLayoutClassNames.root, rootStyles.base, rootStyles[size], root.className);\n\n if (iconBefore) {\n iconBefore.className = mergeClasses(treeItemLayoutClassNames.iconBefore, iconStyles.base, iconBefore.className);\n }\n\n if (iconAfter) {\n iconAfter.className = mergeClasses(treeItemLayoutClassNames.iconAfter, iconStyles.base, iconAfter.className);\n }\n\n if (aside) {\n aside.className = mergeClasses(treeItemLayoutClassNames.aside, asideStyles.base, aside.className);\n }\n\n return state;\n};\n"],"mappings":"AAAA,SAAAA,QAAA,EAAqBC,YAAY,EAAEC,UAAU,QAAQ,gBAAgB;AAGrE,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,uBAAuB;AAChE,SAASC,uBAAuB,QAAQ,4BAA4B;AAEpE,OAAO,MAAMC,wBAAwB,GAAwC;EAC3EC,IAAI,EAAE,oBAAoB;EAC1BC,KAAK,EAAE,2BAA2B;EAClCC,SAAS,EAAE,+BAA+B;EAC1CC,UAAU,EAAE;CACb;AAED;;;AAGA,MAAMC,aAAa,gBAAGX,QAAA;EAAAY,IAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,IAAA;EAAA;EAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;EAAAC,KAAA;IAAAL,MAAA;IAAAL,MAAA;IAAAM,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;AAAA;EAAAE,CAAA;AAAA,EAgBpB;AAEF;;;AAGA,MAAMC,aAAa,gBAAG3B,QAAA;EAAAY,IAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAc,MAAA;IAAAJ,OAAA;IAAAF,OAAA;EAAA;AAAA;EAAAI,CAAA;AAAA,EAQpB;AAEF;;;AAGA,MAAMG,cAAc,gBAAG7B,QAAA;EAAAY,IAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAgB,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAd,MAAA;IAAAe,OAAA;EAAA;AAAA;EAAAT,CAAA;AAAA,EAQrB;AAEF;;;AAGA,OAAO,MAAMU,gCAAgC,GAAIC,KAA0B,IAAyB;EAClG,MAAM;IAAE5B,SAAS;IAAEC,UAAU;IAAEF,KAAK;IAAED;EAAI,CAAE,GAAG8B,KAAK;EACpD,MAAMC,UAAU,GAAG3B,aAAa,EAAE;EAClC,MAAM4B,UAAU,GAAGZ,aAAa,EAAE;EAClC,MAAMa,WAAW,GAAGX,cAAc,EAAE;EAEpC,MAAMY,IAAI,GAAGpC,uBAAuB,CAACqC,GAAG,IAAIA,GAAG,CAACD,IAAI,CAAC;EAErDlC,IAAI,CAACoC,SAAS,GAAG1C,YAAY,CAACK,wBAAwB,CAACC,IAAI,EAAE+B,UAAU,CAAC1B,IAAI,EAAE0B,UAAU,CAACG,IAAI,CAAC,EAAElC,IAAI,CAACoC,SAAS,CAAC;EAE/G,IAAIjC,UAAU,EAAE;IACdA,UAAU,CAACiC,SAAS,GAAG1C,YAAY,CAACK,wBAAwB,CAACI,UAAU,EAAE6B,UAAU,CAAC3B,IAAI,EAAEF,UAAU,CAACiC,SAAS,CAAC;;EAGjH,IAAIlC,SAAS,EAAE;IACbA,SAAS,CAACkC,SAAS,GAAG1C,YAAY,CAACK,wBAAwB,CAACG,SAAS,EAAE8B,UAAU,CAAC3B,IAAI,EAAEH,SAAS,CAACkC,SAAS,CAAC;;EAG9G,IAAInC,KAAK,EAAE;IACTA,KAAK,CAACmC,SAAS,GAAG1C,YAAY,CAACK,wBAAwB,CAACE,KAAK,EAAEgC,WAAW,CAAC5B,IAAI,EAAEJ,KAAK,CAACmC,SAAS,CAAC;;EAGnG,OAAON,KAAK;AACd,CAAC"}
1
+ {"version":3,"names":["__styles","mergeClasses","shorthands","tokens","typographyStyles","useTreeContext_unstable","treeItemLayoutClassNames","root","aside","iconAfter","iconBefore","useRootStyles","base","mc9l5x","Bt984gj","sshi5w","Bh6795r","Bnnss6s","xawz","medium","i8kkvl","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","small","d","useIconStyles","sj55zd","useAsideStyles","Frg6f3","z8tnut","z189sj","Byoj8tv","uwmqm3","Belr9w4","useTreeItemLayoutStyles_unstable","state","rootStyles","iconStyles","asideStyles","size","ctx","className"],"sources":["../../../src/components/TreeItemLayout/useTreeItemLayoutStyles.ts"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport type { TreeItemLayoutSlots, TreeItemLayoutState } from './TreeItemLayout.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { useTreeContext_unstable } from '../../contexts/treeContext';\n\nexport const treeItemLayoutClassNames: SlotClassNames<TreeItemLayoutSlots> = {\n root: 'fui-TreeItemLayout',\n aside: 'fui-TreeItemLayout__aside',\n iconAfter: 'fui-TreeItemLayout__iconAfter',\n iconBefore: 'fui-TreeItemLayout__iconBefore',\n};\n\n/**\n * Styles for the root slot\n */\nconst useRootStyles = makeStyles({\n base: {\n display: 'flex',\n alignItems: 'center',\n minHeight: '32px',\n ...shorthands.flex(1),\n },\n medium: {\n columnGap: tokens.spacingHorizontalSNudge,\n ...typographyStyles.body1,\n },\n small: {\n columnGap: tokens.spacingHorizontalXS,\n minHeight: '24px',\n ...typographyStyles.caption1,\n },\n});\n\n/**\n * Styles for the before/after icon slot\n */\nconst useIconStyles = makeStyles({\n base: {\n display: 'flex',\n alignItems: 'center',\n color: tokens.colorNeutralForeground2,\n lineHeight: tokens.lineHeightBase500,\n fontSize: tokens.fontSizeBase500,\n },\n});\n\n/**\n * Styles for the action icon slot\n */\nconst useAsideStyles = makeStyles({\n base: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: 'auto',\n ...shorthands.padding(0, tokens.spacingHorizontalM),\n ...shorthands.gap(tokens.spacingHorizontalXS),\n },\n});\n\n/**\n * Apply styling to the TreeItemLayout slots based on the state\n */\nexport const useTreeItemLayoutStyles_unstable = (state: TreeItemLayoutState): TreeItemLayoutState => {\n const { iconAfter, iconBefore, aside, root } = state;\n const rootStyles = useRootStyles();\n const iconStyles = useIconStyles();\n const asideStyles = useAsideStyles();\n\n const size = useTreeContext_unstable(ctx => ctx.size);\n\n root.className = mergeClasses(treeItemLayoutClassNames.root, rootStyles.base, rootStyles[size], root.className);\n\n if (iconBefore) {\n iconBefore.className = mergeClasses(treeItemLayoutClassNames.iconBefore, iconStyles.base, iconBefore.className);\n }\n\n if (iconAfter) {\n iconAfter.className = mergeClasses(treeItemLayoutClassNames.iconAfter, iconStyles.base, iconAfter.className);\n }\n\n if (aside) {\n aside.className = mergeClasses(treeItemLayoutClassNames.aside, asideStyles.base, aside.className);\n }\n\n return state;\n};\n"],"mappings":"AAAA,SAAAA,QAAA,EAAqBC,YAAY,EAAEC,UAAU,QAAQ;AAGrD,SAASC,MAAM,EAAEC,gBAAgB,QAAQ;AACzC,SAASC,uBAAuB,QAAQ;AAExC,OAAO,MAAMC,wBAAA,GAAgE;EAC3EC,IAAA,EAAM;EACNC,KAAA,EAAO;EACPC,SAAA,EAAW;EACXC,UAAA,EAAY;AACd;AAEA;;;AAGA,MAAMC,aAAA,gBAAgBX,QAAA;EAAAY,IAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,IAAA;EAAA;EAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;EAAAC,KAAA;IAAAL,MAAA;IAAAL,MAAA;IAAAM,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;AAAA;EAAAE,CAAA;AAAA,EAgBtB;AAEA;;;AAGA,MAAMC,aAAA,gBAAgB3B,QAAA;EAAAY,IAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAc,MAAA;IAAAJ,OAAA;IAAAF,OAAA;EAAA;AAAA;EAAAI,CAAA;AAAA,EAQtB;AAEA;;;AAGA,MAAMG,cAAA,gBAAiB7B,QAAA;EAAAY,IAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAgB,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAd,MAAA;IAAAe,OAAA;EAAA;AAAA;EAAAT,CAAA;AAAA,EAQvB;AAEA;;;AAGA,OAAO,MAAMU,gCAAA,GAAoCC,KAAA,IAAoD;EACnG,MAAM;IAAE5B,SAAA;IAAWC,UAAA;IAAYF,KAAA;IAAOD;EAAI,CAAE,GAAG8B,KAAA;EAC/C,MAAMC,UAAA,GAAa3B,aAAA;EACnB,MAAM4B,UAAA,GAAaZ,aAAA;EACnB,MAAMa,WAAA,GAAcX,cAAA;EAEpB,MAAMY,IAAA,GAAOpC,uBAAA,CAAwBqC,GAAA,IAAOA,GAAA,CAAID,IAAI;EAEpDlC,IAAA,CAAKoC,SAAS,GAAG1C,YAAA,CAAaK,wBAAA,CAAyBC,IAAI,EAAE+B,UAAA,CAAW1B,IAAI,EAAE0B,UAAU,CAACG,IAAA,CAAK,EAAElC,IAAA,CAAKoC,SAAS;EAE9G,IAAIjC,UAAA,EAAY;IACdA,UAAA,CAAWiC,SAAS,GAAG1C,YAAA,CAAaK,wBAAA,CAAyBI,UAAU,EAAE6B,UAAA,CAAW3B,IAAI,EAAEF,UAAA,CAAWiC,SAAS;EAChH;EAEA,IAAIlC,SAAA,EAAW;IACbA,SAAA,CAAUkC,SAAS,GAAG1C,YAAA,CAAaK,wBAAA,CAAyBG,SAAS,EAAE8B,UAAA,CAAW3B,IAAI,EAAEH,SAAA,CAAUkC,SAAS;EAC7G;EAEA,IAAInC,KAAA,EAAO;IACTA,KAAA,CAAMmC,SAAS,GAAG1C,YAAA,CAAaK,wBAAA,CAAyBE,KAAK,EAAEgC,WAAA,CAAY5B,IAAI,EAAEJ,KAAA,CAAMmC,SAAS;EAClG;EAEA,OAAON,KAAA;AACT"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","useTreeItemPersonaLayout_unstable","renderTreeItemPersonaLayout_unstable","useTreeItemPersonaLayoutStyles_unstable","useTreeItemPersonaLayoutContextValues_unstable","TreeItemPersonaLayout","forwardRef","props","ref","state","contextValues","displayName"],"sources":["../src/packages/react-components/react-tree/src/components/TreeItemPersonaLayout/TreeItemPersonaLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useTreeItemPersonaLayout_unstable } from './useTreeItemPersonaLayout';\nimport { renderTreeItemPersonaLayout_unstable } from './renderTreeItemPersonaLayout';\nimport { useTreeItemPersonaLayoutStyles_unstable } from './useTreeItemPersonaLayoutStyles';\nimport type { TreeItemPersonaLayoutProps } from './TreeItemPersonaLayout.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useTreeItemPersonaLayoutContextValues_unstable } from './useTreeItemPersonaLayoutContextValues';\n\n/**\n * TreeItemPersonaLayout component - TODO: add more docs\n */\nexport const TreeItemPersonaLayout: ForwardRefComponent<TreeItemPersonaLayoutProps> = React.forwardRef((props, ref) => {\n const state = useTreeItemPersonaLayout_unstable(props, ref);\n\n useTreeItemPersonaLayoutStyles_unstable(state);\n\n const contextValues = useTreeItemPersonaLayoutContextValues_unstable(state);\n\n return renderTreeItemPersonaLayout_unstable(state, contextValues);\n});\n\nTreeItemPersonaLayout.displayName = 'TreeItemPersonaLayout';\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,iCAAiC,QAAQ,4BAA4B;AAC9E,SAASC,oCAAoC,QAAQ,+BAA+B;AACpF,SAASC,uCAAuC,QAAQ,kCAAkC;AAG1F,SAASC,8CAA8C,QAAQ,yCAAyC;AAExG;;;AAGA,OAAO,MAAMC,qBAAqB,gBAAoDL,KAAK,CAACM,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAI;EACpH,MAAMC,KAAK,GAAGR,iCAAiC,CAACM,KAAK,EAAEC,GAAG,CAAC;EAE3DL,uCAAuC,CAACM,KAAK,CAAC;EAE9C,MAAMC,aAAa,GAAGN,8CAA8C,CAACK,KAAK,CAAC;EAE3E,OAAOP,oCAAoC,CAACO,KAAK,EAAEC,aAAa,CAAC;AACnE,CAAC,CAAC;AAEFL,qBAAqB,CAACM,WAAW,GAAG,uBAAuB"}
1
+ {"version":3,"names":["React","useTreeItemPersonaLayout_unstable","renderTreeItemPersonaLayout_unstable","useTreeItemPersonaLayoutStyles_unstable","useTreeItemPersonaLayoutContextValues_unstable","TreeItemPersonaLayout","forwardRef","props","ref","state","contextValues","displayName"],"sources":["../../../src/components/TreeItemPersonaLayout/TreeItemPersonaLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useTreeItemPersonaLayout_unstable } from './useTreeItemPersonaLayout';\nimport { renderTreeItemPersonaLayout_unstable } from './renderTreeItemPersonaLayout';\nimport { useTreeItemPersonaLayoutStyles_unstable } from './useTreeItemPersonaLayoutStyles';\nimport type { TreeItemPersonaLayoutProps } from './TreeItemPersonaLayout.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useTreeItemPersonaLayoutContextValues_unstable } from './useTreeItemPersonaLayoutContextValues';\n\n/**\n * TreeItemPersonaLayout component - TODO: add more docs\n */\nexport const TreeItemPersonaLayout: ForwardRefComponent<TreeItemPersonaLayoutProps> = React.forwardRef((props, ref) => {\n const state = useTreeItemPersonaLayout_unstable(props, ref);\n\n useTreeItemPersonaLayoutStyles_unstable(state);\n\n const contextValues = useTreeItemPersonaLayoutContextValues_unstable(state);\n\n return renderTreeItemPersonaLayout_unstable(state, contextValues);\n});\n\nTreeItemPersonaLayout.displayName = 'TreeItemPersonaLayout';\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,iCAAiC,QAAQ;AAClD,SAASC,oCAAoC,QAAQ;AACrD,SAASC,uCAAuC,QAAQ;AAGxD,SAASC,8CAA8C,QAAQ;AAE/D;;;AAGA,OAAO,MAAMC,qBAAA,gBAAyEL,KAAA,CAAMM,UAAU,CAAC,CAACC,KAAA,EAAOC,GAAA,KAAQ;EACrH,MAAMC,KAAA,GAAQR,iCAAA,CAAkCM,KAAA,EAAOC,GAAA;EAEvDL,uCAAA,CAAwCM,KAAA;EAExC,MAAMC,aAAA,GAAgBN,8CAAA,CAA+CK,KAAA;EAErE,OAAOP,oCAAA,CAAqCO,KAAA,EAAOC,aAAA;AACrD;AAEAL,qBAAA,CAAsBM,WAAW,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeItemPersonaLayout.types.js","sourceRoot":"../src/","sources":["packages/react-components/react-tree/src/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { AvatarContextValue, AvatarSize } from '@fluentui/react-avatar';\nimport type { TreeItemContextValue } from '../../contexts/treeItemContext';\n\nexport type TreeItemPersonaLayoutContextValues = {\n avatar: AvatarContextValue;\n};\n\nexport type TreeItemPersonaLayoutSlots = {\n root: Slot<'span'>;\n /**\n * Avatar to display.\n */\n media: NonNullable<Slot<'span'>>;\n /**\n * Main text. Children of the root slot are automatically rendered here\n */\n main: Slot<'span'>;\n /**\n * Secondary text that describes or complements the main text\n */\n description?: Slot<'span'>;\n /**\n * aside text that works as extra textual information\n */\n aside?: Slot<'span'>;\n /**\n * A layout wrapper for the main and description slots\n */\n content: Slot<'div'>;\n};\n\n/**\n * TreeItemPersonaLayout Props\n */\nexport type TreeItemPersonaLayoutProps = ComponentProps<Partial<TreeItemPersonaLayoutSlots>>;\n\n/**\n * State used in rendering TreeItemPersonaLayout\n */\nexport type TreeItemPersonaLayoutState = ComponentState<TreeItemPersonaLayoutSlots> &\n TreeItemContextValue & {\n avatarSize: AvatarSize;\n };\n"]}
1
+ {"version":3,"names":[],"sources":["../../../src/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { AvatarContextValue, AvatarSize } from '@fluentui/react-avatar';\nimport type { TreeItemContextValue } from '../../contexts/treeItemContext';\n\nexport type TreeItemPersonaLayoutContextValues = {\n avatar: AvatarContextValue;\n};\n\nexport type TreeItemPersonaLayoutSlots = {\n root: Slot<'span'>;\n /**\n * Avatar to display.\n */\n media: NonNullable<Slot<'span'>>;\n /**\n * Main text. Children of the root slot are automatically rendered here\n */\n main: Slot<'span'>;\n /**\n * Secondary text that describes or complements the main text\n */\n description?: Slot<'span'>;\n /**\n * aside text that works as extra textual information\n */\n aside?: Slot<'span'>;\n /**\n * A layout wrapper for the main and description slots\n */\n content: Slot<'div'>;\n};\n\n/**\n * TreeItemPersonaLayout Props\n */\nexport type TreeItemPersonaLayoutProps = ComponentProps<Partial<TreeItemPersonaLayoutSlots>>;\n\n/**\n * State used in rendering TreeItemPersonaLayout\n */\nexport type TreeItemPersonaLayoutState = ComponentState<TreeItemPersonaLayoutSlots> &\n TreeItemContextValue & {\n avatarSize: AvatarSize;\n };\n"],"mappings":"AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["packages/react-components/react-tree/src/components/TreeItemPersonaLayout/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC","sourcesContent":["export * from './TreeItemPersonaLayout';\nexport * from './TreeItemPersonaLayout.types';\nexport * from './renderTreeItemPersonaLayout';\nexport * from './useTreeItemPersonaLayout';\nexport * from './useTreeItemPersonaLayoutStyles';\n"]}
1
+ {"version":3,"names":[],"sources":["../../../src/components/TreeItemPersonaLayout/index.ts"],"sourcesContent":["export * from './TreeItemPersonaLayout';\nexport * from './TreeItemPersonaLayout.types';\nexport * from './renderTreeItemPersonaLayout';\nexport * from './useTreeItemPersonaLayout';\nexport * from './useTreeItemPersonaLayoutStyles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc"}
@@ -12,20 +12,8 @@ export const renderTreeItemPersonaLayout_unstable = (state, contextValues) => {
12
12
  slots,
13
13
  slotProps
14
14
  } = getSlots(state);
15
- return /*#__PURE__*/React.createElement(slots.root, {
16
- ...slotProps.root
17
- }, slots.media && /*#__PURE__*/React.createElement(AvatarContextProvider, {
15
+ return /*#__PURE__*/React.createElement(slots.root, slotProps.root, slots.media && /*#__PURE__*/React.createElement(AvatarContextProvider, {
18
16
  value: contextValues.avatar
19
- }, /*#__PURE__*/React.createElement(slots.media, {
20
- ...slotProps.media
21
- })), slots.content && /*#__PURE__*/React.createElement(slots.content, {
22
- ...slotProps.content
23
- }, slots.main && /*#__PURE__*/React.createElement(slots.main, {
24
- ...slotProps.main
25
- }), slots.description && /*#__PURE__*/React.createElement(slots.description, {
26
- ...slotProps.description
27
- })), !isActionsVisible && slots.aside && /*#__PURE__*/React.createElement(slots.aside, {
28
- ...slotProps.aside
29
- }));
17
+ }, /*#__PURE__*/React.createElement(slots.media, slotProps.media)), slots.content && /*#__PURE__*/React.createElement(slots.content, slotProps.content, slots.main && /*#__PURE__*/React.createElement(slots.main, slotProps.main), slots.description && /*#__PURE__*/React.createElement(slots.description, slotProps.description)), !isActionsVisible && slots.aside && /*#__PURE__*/React.createElement(slots.aside, slotProps.aside));
30
18
  };
31
19
  //# sourceMappingURL=renderTreeItemPersonaLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","getSlots","AvatarContextProvider","renderTreeItemPersonaLayout_unstable","state","contextValues","isActionsVisible","slots","slotProps","createElement","root","media","value","avatar","content","main","description","aside"],"sources":["../src/packages/react-components/react-tree/src/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type {\n TreeItemPersonaLayoutState,\n TreeItemPersonaLayoutSlots,\n TreeItemPersonaLayoutContextValues,\n} from './TreeItemPersonaLayout.types';\nimport { AvatarContextProvider } from '@fluentui/react-avatar';\n\n/**\n * Render the final JSX of TreeItemPersonaLayout\n */\nexport const renderTreeItemPersonaLayout_unstable = (\n state: TreeItemPersonaLayoutState,\n contextValues: TreeItemPersonaLayoutContextValues,\n) => {\n const { isActionsVisible } = state;\n const { slots, slotProps } = getSlots<TreeItemPersonaLayoutSlots>(state);\n\n return (\n <slots.root {...slotProps.root}>\n {slots.media && (\n <AvatarContextProvider value={contextValues.avatar}>\n <slots.media {...slotProps.media} />\n </AvatarContextProvider>\n )}\n {slots.content && (\n <slots.content {...slotProps.content}>\n {slots.main && <slots.main {...slotProps.main} />}\n {slots.description && <slots.description {...slotProps.description} />}\n </slots.content>\n )}\n {!isActionsVisible && slots.aside && <slots.aside {...slotProps.aside} />}\n </slots.root>\n );\n};\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,QAAQ,2BAA2B;AAMpD,SAASC,qBAAqB,QAAQ,wBAAwB;AAE9D;;;AAGA,OAAO,MAAMC,oCAAoC,GAAGA,CAClDC,KAAiC,EACjCC,aAAiD,KAC/C;EACF,MAAM;IAAEC;EAAgB,CAAE,GAAGF,KAAK;EAClC,MAAM;IAAEG,KAAK;IAAEC;EAAS,CAAE,GAAGP,QAAQ,CAA6BG,KAAK,CAAC;EAExE,oBACEJ,KAAA,CAAAS,aAAA,CAACF,KAAK,CAACG,IAAI;IAAA,GAAKF,SAAS,CAACE;EAAI,GAC3BH,KAAK,CAACI,KAAK,iBACVX,KAAA,CAAAS,aAAA,CAACP,qBAAqB;IAACU,KAAK,EAAEP,aAAa,CAACQ;EAAM,gBAChDb,KAAA,CAAAS,aAAA,CAACF,KAAK,CAACI,KAAK;IAAA,GAAKH,SAAS,CAACG;EAAK,EAAI,CAEvC,EACAJ,KAAK,CAACO,OAAO,iBACZd,KAAA,CAAAS,aAAA,CAACF,KAAK,CAACO,OAAO;IAAA,GAAKN,SAAS,CAACM;EAAO,GACjCP,KAAK,CAACQ,IAAI,iBAAIf,KAAA,CAAAS,aAAA,CAACF,KAAK,CAACQ,IAAI;IAAA,GAAKP,SAAS,CAACO;EAAI,EAAI,EAChDR,KAAK,CAACS,WAAW,iBAAIhB,KAAA,CAAAS,aAAA,CAACF,KAAK,CAACS,WAAW;IAAA,GAAKR,SAAS,CAACQ;EAAW,EAAI,CAEzE,EACA,CAACV,gBAAgB,IAAIC,KAAK,CAACU,KAAK,iBAAIjB,KAAA,CAAAS,aAAA,CAACF,KAAK,CAACU,KAAK;IAAA,GAAKT,SAAS,CAACS;EAAK,EAAI,CAC9D;AAEjB,CAAC"}
1
+ {"version":3,"names":["React","getSlots","AvatarContextProvider","renderTreeItemPersonaLayout_unstable","state","contextValues","isActionsVisible","slots","slotProps","createElement","root","media","value","avatar","content","main","description","aside"],"sources":["../../../src/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type {\n TreeItemPersonaLayoutState,\n TreeItemPersonaLayoutSlots,\n TreeItemPersonaLayoutContextValues,\n} from './TreeItemPersonaLayout.types';\nimport { AvatarContextProvider } from '@fluentui/react-avatar';\n\n/**\n * Render the final JSX of TreeItemPersonaLayout\n */\nexport const renderTreeItemPersonaLayout_unstable = (\n state: TreeItemPersonaLayoutState,\n contextValues: TreeItemPersonaLayoutContextValues,\n) => {\n const { isActionsVisible } = state;\n const { slots, slotProps } = getSlots<TreeItemPersonaLayoutSlots>(state);\n\n return (\n <slots.root {...slotProps.root}>\n {slots.media && (\n <AvatarContextProvider value={contextValues.avatar}>\n <slots.media {...slotProps.media} />\n </AvatarContextProvider>\n )}\n {slots.content && (\n <slots.content {...slotProps.content}>\n {slots.main && <slots.main {...slotProps.main} />}\n {slots.description && <slots.description {...slotProps.description} />}\n </slots.content>\n )}\n {!isActionsVisible && slots.aside && <slots.aside {...slotProps.aside} />}\n </slots.root>\n );\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,QAAQ,QAAQ;AAMzB,SAASC,qBAAqB,QAAQ;AAEtC;;;AAGA,OAAO,MAAMC,oCAAA,GAAuCA,CAClDC,KAAA,EACAC,aAAA,KACG;EACH,MAAM;IAAEC;EAAgB,CAAE,GAAGF,KAAA;EAC7B,MAAM;IAAEG,KAAA;IAAOC;EAAS,CAAE,GAAGP,QAAA,CAAqCG,KAAA;EAElE,oBACEJ,KAAA,CAAAS,aAAA,CAACF,KAAA,CAAMG,IAAI,EAAKF,SAAA,CAAUE,IAAI,EAC3BH,KAAA,CAAMI,KAAK,iBACVX,KAAA,CAAAS,aAAA,CAACP,qBAAA;IAAsBU,KAAA,EAAOP,aAAA,CAAcQ;kBAC1Cb,KAAA,CAAAS,aAAA,CAACF,KAAA,CAAMI,KAAK,EAAKH,SAAA,CAAUG,KAAK,IAGnCJ,KAAA,CAAMO,OAAO,iBACZd,KAAA,CAAAS,aAAA,CAACF,KAAA,CAAMO,OAAO,EAAKN,SAAA,CAAUM,OAAO,EACjCP,KAAA,CAAMQ,IAAI,iBAAIf,KAAA,CAAAS,aAAA,CAACF,KAAA,CAAMQ,IAAI,EAAKP,SAAA,CAAUO,IAAI,GAC5CR,KAAA,CAAMS,WAAW,iBAAIhB,KAAA,CAAAS,aAAA,CAACF,KAAA,CAAMS,WAAW,EAAKR,SAAA,CAAUQ,WAAW,IAGrE,CAACV,gBAAA,IAAoBC,KAAA,CAAMU,KAAK,iBAAIjB,KAAA,CAAAS,aAAA,CAACF,KAAA,CAAMU,KAAK,EAAKT,SAAA,CAAUS,KAAK;AAG3E"}
@@ -1,3 +1,4 @@
1
+ import * as React from 'react';
1
2
  import { getNativeElementProps, resolveShorthand } from '@fluentui/react-utilities';
2
3
  import { useTreeContext_unstable, useTreeItemContext_unstable } from '../../contexts';
3
4
  import { treeAvatarSize } from '../../utils/tokens';
@@ -1 +1 @@
1
- {"version":3,"names":["getNativeElementProps","resolveShorthand","useTreeContext_unstable","useTreeItemContext_unstable","treeAvatarSize","useTreeItemPersonaLayout_unstable","props","ref","media","content","children","main","description","aside","as","size","ctx","isActionsVisible","components","root","avatarSize","required","defaultProps"],"sources":["../src/packages/react-components/react-tree/src/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.ts"],"sourcesContent":["import * as React from 'react';\nimport type { TreeItemPersonaLayoutProps, TreeItemPersonaLayoutState } from './TreeItemPersonaLayout.types';\nimport { getNativeElementProps, resolveShorthand } from '@fluentui/react-utilities';\nimport { useTreeContext_unstable, useTreeItemContext_unstable } from '../../contexts';\nimport { treeAvatarSize } from '../../utils/tokens';\n\n/**\n * Create the state required to render TreeItemPersonaLayout.\n *\n * The returned state can be modified with hooks such as useTreeItemPersonaLayoutStyles_unstable,\n * before being passed to renderTreeItemPersonaLayout_unstable.\n *\n * @param props - props from this instance of TreeItemPersonaLayout\n * @param ref - reference to root HTMLElement of TreeItemPersonaLayout\n */\nexport const useTreeItemPersonaLayout_unstable = (\n props: TreeItemPersonaLayoutProps,\n ref: React.Ref<HTMLSpanElement>,\n): TreeItemPersonaLayoutState => {\n const { media, content, children, main, description, aside, as = 'span' } = props;\n const size = useTreeContext_unstable(ctx => ctx.size);\n const { isActionsVisible } = useTreeItemContext_unstable();\n return {\n components: {\n content: 'div',\n main: 'span',\n description: 'span',\n root: 'span',\n media: 'span',\n aside: 'span',\n },\n isActionsVisible,\n avatarSize: treeAvatarSize[size],\n root: getNativeElementProps(as, { ...props, ref }),\n main: resolveShorthand(main, { required: true, defaultProps: { children } }),\n media: resolveShorthand(media, { required: true }),\n content: resolveShorthand(content, { required: true }),\n description: resolveShorthand(description),\n aside: resolveShorthand(aside),\n };\n};\n"],"mappings":"AAEA,SAASA,qBAAqB,EAAEC,gBAAgB,QAAQ,2BAA2B;AACnF,SAASC,uBAAuB,EAAEC,2BAA2B,QAAQ,gBAAgB;AACrF,SAASC,cAAc,QAAQ,oBAAoB;AAEnD;;;;;;;;;AASA,OAAO,MAAMC,iCAAiC,GAAGA,CAC/CC,KAAiC,EACjCC,GAA+B,KACD;EAC9B,MAAM;IAAEC,KAAK;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,WAAW;IAAEC,KAAK;IAAEC,EAAE,GAAG;EAAM,CAAE,GAAGR,KAAK;EACjF,MAAMS,IAAI,GAAGb,uBAAuB,CAACc,GAAG,IAAIA,GAAG,CAACD,IAAI,CAAC;EACrD,MAAM;IAAEE;EAAgB,CAAE,GAAGd,2BAA2B,EAAE;EAC1D,OAAO;IACLe,UAAU,EAAE;MACVT,OAAO,EAAE,KAAK;MACdE,IAAI,EAAE,MAAM;MACZC,WAAW,EAAE,MAAM;MACnBO,IAAI,EAAE,MAAM;MACZX,KAAK,EAAE,MAAM;MACbK,KAAK,EAAE;KACR;IACDI,gBAAgB;IAChBG,UAAU,EAAEhB,cAAc,CAACW,IAAI,CAAC;IAChCI,IAAI,EAAEnB,qBAAqB,CAACc,EAAE,EAAE;MAAE,GAAGR,KAAK;MAAEC;IAAG,CAAE,CAAC;IAClDI,IAAI,EAAEV,gBAAgB,CAACU,IAAI,EAAE;MAAEU,QAAQ,EAAE,IAAI;MAAEC,YAAY,EAAE;QAAEZ;MAAQ;IAAE,CAAE,CAAC;IAC5EF,KAAK,EAAEP,gBAAgB,CAACO,KAAK,EAAE;MAAEa,QAAQ,EAAE;IAAI,CAAE,CAAC;IAClDZ,OAAO,EAAER,gBAAgB,CAACQ,OAAO,EAAE;MAAEY,QAAQ,EAAE;IAAI,CAAE,CAAC;IACtDT,WAAW,EAAEX,gBAAgB,CAACW,WAAW,CAAC;IAC1CC,KAAK,EAAEZ,gBAAgB,CAACY,KAAK;GAC9B;AACH,CAAC"}
1
+ {"version":3,"names":["React","getNativeElementProps","resolveShorthand","useTreeContext_unstable","useTreeItemContext_unstable","treeAvatarSize","useTreeItemPersonaLayout_unstable","props","ref","media","content","children","main","description","aside","as","size","ctx","isActionsVisible","components","root","avatarSize","required","defaultProps"],"sources":["../../../src/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.ts"],"sourcesContent":["import * as React from 'react';\nimport type { TreeItemPersonaLayoutProps, TreeItemPersonaLayoutState } from './TreeItemPersonaLayout.types';\nimport { getNativeElementProps, resolveShorthand } from '@fluentui/react-utilities';\nimport { useTreeContext_unstable, useTreeItemContext_unstable } from '../../contexts';\nimport { treeAvatarSize } from '../../utils/tokens';\n\n/**\n * Create the state required to render TreeItemPersonaLayout.\n *\n * The returned state can be modified with hooks such as useTreeItemPersonaLayoutStyles_unstable,\n * before being passed to renderTreeItemPersonaLayout_unstable.\n *\n * @param props - props from this instance of TreeItemPersonaLayout\n * @param ref - reference to root HTMLElement of TreeItemPersonaLayout\n */\nexport const useTreeItemPersonaLayout_unstable = (\n props: TreeItemPersonaLayoutProps,\n ref: React.Ref<HTMLSpanElement>,\n): TreeItemPersonaLayoutState => {\n const { media, content, children, main, description, aside, as = 'span' } = props;\n const size = useTreeContext_unstable(ctx => ctx.size);\n const { isActionsVisible } = useTreeItemContext_unstable();\n return {\n components: {\n content: 'div',\n main: 'span',\n description: 'span',\n root: 'span',\n media: 'span',\n aside: 'span',\n },\n isActionsVisible,\n avatarSize: treeAvatarSize[size],\n root: getNativeElementProps(as, { ...props, ref }),\n main: resolveShorthand(main, { required: true, defaultProps: { children } }),\n media: resolveShorthand(media, { required: true }),\n content: resolveShorthand(content, { required: true }),\n description: resolveShorthand(description),\n aside: resolveShorthand(aside),\n };\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AAEvB,SAASC,qBAAqB,EAAEC,gBAAgB,QAAQ;AACxD,SAASC,uBAAuB,EAAEC,2BAA2B,QAAQ;AACrE,SAASC,cAAc,QAAQ;AAE/B;;;;;;;;;AASA,OAAO,MAAMC,iCAAA,GAAoCA,CAC/CC,KAAA,EACAC,GAAA,KAC+B;EAC/B,MAAM;IAAEC,KAAA;IAAOC,OAAA;IAASC,QAAA;IAAUC,IAAA;IAAMC,WAAA;IAAaC,KAAA;IAAOC,EAAA,GAAK;EAAM,CAAE,GAAGR,KAAA;EAC5E,MAAMS,IAAA,GAAOb,uBAAA,CAAwBc,GAAA,IAAOA,GAAA,CAAID,IAAI;EACpD,MAAM;IAAEE;EAAgB,CAAE,GAAGd,2BAAA;EAC7B,OAAO;IACLe,UAAA,EAAY;MACVT,OAAA,EAAS;MACTE,IAAA,EAAM;MACNC,WAAA,EAAa;MACbO,IAAA,EAAM;MACNX,KAAA,EAAO;MACPK,KAAA,EAAO;IACT;IACAI,gBAAA;IACAG,UAAA,EAAYhB,cAAc,CAACW,IAAA,CAAK;IAChCI,IAAA,EAAMnB,qBAAA,CAAsBc,EAAA,EAAI;MAAE,GAAGR,KAAK;MAAEC;IAAI;IAChDI,IAAA,EAAMV,gBAAA,CAAiBU,IAAA,EAAM;MAAEU,QAAA,EAAU,IAAI;MAAEC,YAAA,EAAc;QAAEZ;MAAS;IAAE;IAC1EF,KAAA,EAAOP,gBAAA,CAAiBO,KAAA,EAAO;MAAEa,QAAA,EAAU;IAAK;IAChDZ,OAAA,EAASR,gBAAA,CAAiBQ,OAAA,EAAS;MAAEY,QAAA,EAAU;IAAK;IACpDT,WAAA,EAAaX,gBAAA,CAAiBW,WAAA;IAC9BC,KAAA,EAAOZ,gBAAA,CAAiBY,KAAA;EAC1B;AACF"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","useTreeItemPersonaLayoutContextValues_unstable","state","avatarSize","avatar","useMemo","size"],"sources":["../src/packages/react-components/react-tree/src/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.ts"],"sourcesContent":["import type { AvatarContextValue } from '@fluentui/react-avatar';\nimport * as React from 'react';\nimport type { TreeItemPersonaLayoutState, TreeItemPersonaLayoutContextValues } from './TreeItemPersonaLayout.types';\n\nexport function useTreeItemPersonaLayoutContextValues_unstable(\n state: TreeItemPersonaLayoutState,\n): TreeItemPersonaLayoutContextValues {\n const { avatarSize } = state;\n\n const avatar = React.useMemo<AvatarContextValue>(() => ({ size: avatarSize }), [avatarSize]);\n\n return { avatar };\n}\n"],"mappings":"AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,OAAM,SAAUC,8CAA8CA,CAC5DC,KAAiC;EAEjC,MAAM;IAAEC;EAAU,CAAE,GAAGD,KAAK;EAE5B,MAAME,MAAM,GAAGJ,KAAK,CAACK,OAAO,CAAqB,OAAO;IAAEC,IAAI,EAAEH;EAAU,CAAE,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAE5F,OAAO;IAAEC;EAAM,CAAE;AACnB"}
1
+ {"version":3,"names":["React","useTreeItemPersonaLayoutContextValues_unstable","state","avatarSize","avatar","useMemo","size"],"sources":["../../../src/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.ts"],"sourcesContent":["import type { AvatarContextValue } from '@fluentui/react-avatar';\nimport * as React from 'react';\nimport type { TreeItemPersonaLayoutState, TreeItemPersonaLayoutContextValues } from './TreeItemPersonaLayout.types';\n\nexport function useTreeItemPersonaLayoutContextValues_unstable(\n state: TreeItemPersonaLayoutState,\n): TreeItemPersonaLayoutContextValues {\n const { avatarSize } = state;\n\n const avatar = React.useMemo<AvatarContextValue>(() => ({ size: avatarSize }), [avatarSize]);\n\n return { avatar };\n}\n"],"mappings":"AACA,YAAYA,KAAA,MAAW;AAGvB,OAAO,SAASC,+CACdC,KAAiC,EACG;EACpC,MAAM;IAAEC;EAAU,CAAE,GAAGD,KAAA;EAEvB,MAAME,MAAA,GAASJ,KAAA,CAAMK,OAAO,CAAqB,OAAO;IAAEC,IAAA,EAAMH;EAAW,IAAI,CAACA,UAAA,CAAW;EAE3F,OAAO;IAAEC;EAAO;AAClB"}
@@ -1 +1 @@
1
- {"version":3,"names":["__styles","mergeClasses","shorthands","tokens","typographyStyles","treeItemPersonaLayoutClassNames","root","media","content","description","aside","main","useRootStyles","base","a9b677","mc9l5x","Bt984gj","d","useMediaStyles","Bqenvij","z8tnut","z189sj","Byoj8tv","uwmqm3","useContentStyles","Beiy3e4","i8kkvl","Belr9w4","useMainStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","useDescriptionStyles","useAsideStyles","Huce71","useTreeItemPersonaLayoutStyles_unstable","state","rootStyles","mediaStyles","contentStyles","mainStyles","descriptionStyles","asideStyles","className"],"sources":["../src/packages/react-components/react-tree/src/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.ts"],"sourcesContent":["import type { TreeItemPersonaLayoutSlots, TreeItemPersonaLayoutState } from './TreeItemPersonaLayout.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\n\nexport const treeItemPersonaLayoutClassNames: SlotClassNames<TreeItemPersonaLayoutSlots> = {\n root: 'fui-TreeItemPersonaLayout',\n media: 'fui-TreeItemPersonaLayout__media',\n content: 'fui-TreeItemPersonaLayout__content',\n description: 'fui-TreeItemPersonaLayout__description',\n aside: 'fui-TreeItemPersonaLayout__aside',\n main: 'fui-TreeItemPersonaLayout__main',\n};\n\n/**\n * Styles for the root slot\n */\nconst useRootStyles = makeStyles({\n base: {\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n },\n});\n\n/**\n * Styles for the expand icon slot\n */\nconst useMediaStyles = makeStyles({\n base: {\n display: 'flex',\n alignItems: 'center',\n width: '32px',\n height: '32px',\n ...shorthands.padding(0, tokens.spacingHorizontalXS, 0, tokens.spacingHorizontalXXS),\n },\n});\n\nconst useContentStyles = makeStyles({\n base: {\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n ...shorthands.padding(\n tokens.spacingVerticalMNudge,\n tokens.spacingHorizontalXS,\n tokens.spacingVerticalMNudge,\n tokens.spacingHorizontalS,\n ),\n ...shorthands.gap(tokens.spacingVerticalNone, tokens.spacingHorizontalNone),\n },\n});\nconst useMainStyles = makeStyles({\n base: {\n ...typographyStyles.body1,\n },\n});\nconst useDescriptionStyles = makeStyles({\n base: {\n ...typographyStyles.caption1,\n },\n});\nconst useAsideStyles = makeStyles({\n base: {\n display: 'flex',\n flexDirection: 'column',\n whiteSpace: 'nowrap',\n paddingRight: tokens.spacingHorizontalM,\n ...typographyStyles.caption1,\n },\n});\n\n/**\n * Apply styling to the TreeItemPersonaLayout slots based on the state\n */\nexport const useTreeItemPersonaLayoutStyles_unstable = (\n state: TreeItemPersonaLayoutState,\n): TreeItemPersonaLayoutState => {\n const rootStyles = useRootStyles();\n const mediaStyles = useMediaStyles();\n const contentStyles = useContentStyles();\n const mainStyles = useMainStyles();\n const descriptionStyles = useDescriptionStyles();\n const asideStyles = useAsideStyles();\n\n state.root.className = mergeClasses(treeItemPersonaLayoutClassNames.root, rootStyles.base, state.root.className);\n\n state.media.className = mergeClasses(treeItemPersonaLayoutClassNames.media, mediaStyles.base, state.media.className);\n\n if (state.content) {\n state.content.className = mergeClasses(\n treeItemPersonaLayoutClassNames.content,\n contentStyles.base,\n state.content.className,\n );\n }\n if (state.main) {\n state.main.className = mergeClasses(treeItemPersonaLayoutClassNames.main, mainStyles.base, state.main.className);\n }\n if (state.description) {\n state.description.className = mergeClasses(\n treeItemPersonaLayoutClassNames.description,\n descriptionStyles.base,\n state.description.className,\n );\n }\n if (state.aside) {\n state.aside.className = mergeClasses(\n treeItemPersonaLayoutClassNames.aside,\n asideStyles.base,\n state.aside.className,\n );\n }\n\n return state;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["__styles","mergeClasses","shorthands","tokens","typographyStyles","treeItemPersonaLayoutClassNames","root","media","content","description","aside","main","useRootStyles","base","a9b677","mc9l5x","Bt984gj","d","useMediaStyles","Bqenvij","z8tnut","z189sj","Byoj8tv","uwmqm3","useContentStyles","Beiy3e4","i8kkvl","Belr9w4","useMainStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","useDescriptionStyles","useAsideStyles","Huce71","useTreeItemPersonaLayoutStyles_unstable","state","rootStyles","mediaStyles","contentStyles","mainStyles","descriptionStyles","asideStyles","className"],"sources":["../../../src/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.ts"],"sourcesContent":["import type { TreeItemPersonaLayoutSlots, TreeItemPersonaLayoutState } from './TreeItemPersonaLayout.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\n\nexport const treeItemPersonaLayoutClassNames: SlotClassNames<TreeItemPersonaLayoutSlots> = {\n root: 'fui-TreeItemPersonaLayout',\n media: 'fui-TreeItemPersonaLayout__media',\n content: 'fui-TreeItemPersonaLayout__content',\n description: 'fui-TreeItemPersonaLayout__description',\n aside: 'fui-TreeItemPersonaLayout__aside',\n main: 'fui-TreeItemPersonaLayout__main',\n};\n\n/**\n * Styles for the root slot\n */\nconst useRootStyles = makeStyles({\n base: {\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n },\n});\n\n/**\n * Styles for the expand icon slot\n */\nconst useMediaStyles = makeStyles({\n base: {\n display: 'flex',\n alignItems: 'center',\n width: '32px',\n height: '32px',\n ...shorthands.padding(0, tokens.spacingHorizontalXS, 0, tokens.spacingHorizontalXXS),\n },\n});\n\nconst useContentStyles = makeStyles({\n base: {\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n ...shorthands.padding(\n tokens.spacingVerticalMNudge,\n tokens.spacingHorizontalXS,\n tokens.spacingVerticalMNudge,\n tokens.spacingHorizontalS,\n ),\n ...shorthands.gap(tokens.spacingVerticalNone, tokens.spacingHorizontalNone),\n },\n});\nconst useMainStyles = makeStyles({\n base: {\n ...typographyStyles.body1,\n },\n});\nconst useDescriptionStyles = makeStyles({\n base: {\n ...typographyStyles.caption1,\n },\n});\nconst useAsideStyles = makeStyles({\n base: {\n display: 'flex',\n flexDirection: 'column',\n whiteSpace: 'nowrap',\n paddingRight: tokens.spacingHorizontalM,\n ...typographyStyles.caption1,\n },\n});\n\n/**\n * Apply styling to the TreeItemPersonaLayout slots based on the state\n */\nexport const useTreeItemPersonaLayoutStyles_unstable = (\n state: TreeItemPersonaLayoutState,\n): TreeItemPersonaLayoutState => {\n const rootStyles = useRootStyles();\n const mediaStyles = useMediaStyles();\n const contentStyles = useContentStyles();\n const mainStyles = useMainStyles();\n const descriptionStyles = useDescriptionStyles();\n const asideStyles = useAsideStyles();\n\n state.root.className = mergeClasses(treeItemPersonaLayoutClassNames.root, rootStyles.base, state.root.className);\n\n state.media.className = mergeClasses(treeItemPersonaLayoutClassNames.media, mediaStyles.base, state.media.className);\n\n if (state.content) {\n state.content.className = mergeClasses(\n treeItemPersonaLayoutClassNames.content,\n contentStyles.base,\n state.content.className,\n );\n }\n if (state.main) {\n state.main.className = mergeClasses(treeItemPersonaLayoutClassNames.main, mainStyles.base, state.main.className);\n }\n if (state.description) {\n state.description.className = mergeClasses(\n treeItemPersonaLayoutClassNames.description,\n descriptionStyles.base,\n state.description.className,\n );\n }\n if (state.aside) {\n state.aside.className = mergeClasses(\n treeItemPersonaLayoutClassNames.aside,\n asideStyles.base,\n state.aside.className,\n );\n }\n\n return state;\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["packages/react-components/react-tree/src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC","sourcesContent":["export * from './treeContext';\nexport * from './treeItemContext';\n"]}
1
+ {"version":3,"names":[],"sources":["../../src/contexts/index.ts"],"sourcesContent":["export * from './treeContext';\nexport * from './treeItemContext';\n"],"mappings":"AAAA,cAAc;AACd,cAAc"}
@@ -9,8 +9,7 @@ const defaultContextValue = {
9
9
  size: 'medium'
10
10
  };
11
11
  function noop() {
12
- /* noop */
13
- }
12
+ /* noop */}
14
13
  export const TreeContext = /*#__PURE__*/createContext(undefined);
15
14
  export const {
16
15
  Provider: TreeProvider
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useContextSelector","emptyImmutableSet","defaultContextValue","level","openItems","requestOpenChange","noop","requestNavigation","appearance","size","TreeContext","undefined","Provider","TreeProvider","useTreeContext_unstable","selector","ctx"],"sources":["../src/packages/react-components/react-tree/src/contexts/treeContext.ts"],"sourcesContent":["import { Context, ContextSelector, createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport { TreeItemId, TreeOpenChangeData, TreeNavigationData_unstable } from '../Tree';\nimport { emptyImmutableSet, ImmutableSet } from '../utils/ImmutableSet';\n\nexport type TreeContextValue = {\n level: number;\n appearance: 'subtle' | 'subtle-alpha' | 'transparent';\n size: 'small' | 'medium';\n openItems: ImmutableSet<TreeItemId>;\n /**\n * Requests dialog main component to update it's internal open state\n */\n requestOpenChange(data: TreeOpenChangeData): void;\n requestNavigation(data: TreeNavigationData_unstable): void;\n};\n\nconst defaultContextValue: TreeContextValue = {\n level: 0,\n openItems: emptyImmutableSet,\n requestOpenChange: noop,\n requestNavigation: noop,\n appearance: 'subtle',\n size: 'medium',\n};\n\nfunction noop() {\n /* noop */\n}\n\nexport const TreeContext: Context<TreeContextValue | undefined> = createContext<TreeContextValue | undefined>(\n undefined,\n);\n\nexport const { Provider: TreeProvider } = TreeContext;\nexport const useTreeContext_unstable = <T>(selector: ContextSelector<TreeContextValue, T>): T =>\n useContextSelector(TreeContext, (ctx = defaultContextValue) => selector(ctx));\n"],"mappings":"AAAA,SAAmCA,aAAa,EAAEC,kBAAkB,QAAQ,kCAAkC;AAE9G,SAASC,iBAAiB,QAAsB,uBAAuB;AAcvE,MAAMC,mBAAmB,GAAqB;EAC5CC,KAAK,EAAE,CAAC;EACRC,SAAS,EAAEH,iBAAiB;EAC5BI,iBAAiB,EAAEC,IAAI;EACvBC,iBAAiB,EAAED,IAAI;EACvBE,UAAU,EAAE,QAAQ;EACpBC,IAAI,EAAE;CACP;AAED,SAASH,IAAIA,CAAA;EACX;AAAA;AAGF,OAAO,MAAMI,WAAW,gBAA0CX,aAAa,CAC7EY,SAAS,CACV;AAED,OAAO,MAAM;EAAEC,QAAQ,EAAEC;AAAY,CAAE,GAAGH,WAAW;AACrD,OAAO,MAAMI,uBAAuB,GAAOC,QAA8C,IACvFf,kBAAkB,CAACU,WAAW,EAAE,CAACM,GAAG,GAAGd,mBAAmB,KAAKa,QAAQ,CAACC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"names":["createContext","useContextSelector","emptyImmutableSet","defaultContextValue","level","openItems","requestOpenChange","noop","requestNavigation","appearance","size","TreeContext","undefined","Provider","TreeProvider","useTreeContext_unstable","selector","ctx"],"sources":["../../src/contexts/treeContext.ts"],"sourcesContent":["import { Context, ContextSelector, createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport { TreeItemId, TreeOpenChangeData, TreeNavigationData_unstable } from '../Tree';\nimport { emptyImmutableSet, ImmutableSet } from '../utils/ImmutableSet';\n\nexport type TreeContextValue = {\n level: number;\n appearance: 'subtle' | 'subtle-alpha' | 'transparent';\n size: 'small' | 'medium';\n openItems: ImmutableSet<TreeItemId>;\n /**\n * Requests dialog main component to update it's internal open state\n */\n requestOpenChange(data: TreeOpenChangeData): void;\n requestNavigation(data: TreeNavigationData_unstable): void;\n};\n\nconst defaultContextValue: TreeContextValue = {\n level: 0,\n openItems: emptyImmutableSet,\n requestOpenChange: noop,\n requestNavigation: noop,\n appearance: 'subtle',\n size: 'medium',\n};\n\nfunction noop() {\n /* noop */\n}\n\nexport const TreeContext: Context<TreeContextValue | undefined> = createContext<TreeContextValue | undefined>(\n undefined,\n);\n\nexport const { Provider: TreeProvider } = TreeContext;\nexport const useTreeContext_unstable = <T>(selector: ContextSelector<TreeContextValue, T>): T =>\n useContextSelector(TreeContext, (ctx = defaultContextValue) => selector(ctx));\n"],"mappings":"AAAA,SAAmCA,aAAa,EAAEC,kBAAkB,QAAQ;AAE5E,SAASC,iBAAiB,QAAsB;AAchD,MAAMC,mBAAA,GAAwC;EAC5CC,KAAA,EAAO;EACPC,SAAA,EAAWH,iBAAA;EACXI,iBAAA,EAAmBC,IAAA;EACnBC,iBAAA,EAAmBD,IAAA;EACnBE,UAAA,EAAY;EACZC,IAAA,EAAM;AACR;AAEA,SAASH,KAAA,EAAO;EACd;AAGF,OAAO,MAAMI,WAAA,gBAAqDX,aAAA,CAChEY,SAAA;AAGF,OAAO,MAAM;EAAEC,QAAA,EAAUC;AAAY,CAAE,GAAGH,WAAA;AAC1C,OAAO,MAAMI,uBAAA,GAA8BC,QAAA,IACzCf,kBAAA,CAAmBU,WAAA,EAAa,CAACM,GAAA,GAAMd,mBAAmB,KAAKa,QAAA,CAASC,GAAA"}
@@ -6,8 +6,6 @@ export const TreeItemContext = /*#__PURE__*/React.createContext(undefined);
6
6
  export const {
7
7
  Provider: TreeItemProvider
8
8
  } = TreeItemContext;
9
- export const useTreeItemContext_unstable = () => {
10
- var _a;
11
- return (_a = React.useContext(TreeItemContext)) !== null && _a !== void 0 ? _a : defaultContextValue;
12
- };
9
+ var _React_useContext;
10
+ export const useTreeItemContext_unstable = () => (_React_useContext = React.useContext(TreeItemContext)) !== null && _React_useContext !== void 0 ? _React_useContext : defaultContextValue;
13
11
  //# sourceMappingURL=treeItemContext.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","defaultContextValue","isActionsVisible","TreeItemContext","createContext","undefined","Provider","TreeItemProvider","useTreeItemContext_unstable","_a","useContext"],"sources":["../src/packages/react-components/react-tree/src/contexts/treeItemContext.ts"],"sourcesContent":["import * as React from 'react';\n\nexport type TreeItemContextValue = {\n isActionsVisible: boolean;\n};\n\nconst defaultContextValue: TreeItemContextValue = {\n isActionsVisible: false,\n};\n\nexport const TreeItemContext: React.Context<TreeItemContextValue | undefined> = React.createContext<\n TreeItemContextValue | undefined\n>(undefined);\n\nexport const { Provider: TreeItemProvider } = TreeItemContext;\nexport const useTreeItemContext_unstable = (): TreeItemContextValue =>\n React.useContext(TreeItemContext) ?? defaultContextValue;\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAM9B,MAAMC,mBAAmB,GAAyB;EAChDC,gBAAgB,EAAE;CACnB;AAED,OAAO,MAAMC,eAAe,gBAAoDH,KAAK,CAACI,aAAa,CAEjGC,SAAS,CAAC;AAEZ,OAAO,MAAM;EAAEC,QAAQ,EAAEC;AAAgB,CAAE,GAAGJ,eAAe;AAC7D,OAAO,MAAMK,2BAA2B,GAAGA,CAAA,KAA2B;EAAA,IAAAC,EAAA;EACpE,QAAAA,EAAA,GAAAT,KAAK,CAACU,UAAU,CAACP,eAAe,CAAC,cAAAM,EAAA,cAAAA,EAAA,GAAIR,mBAAmB;AAAA"}
1
+ {"version":3,"names":["React","defaultContextValue","isActionsVisible","TreeItemContext","createContext","undefined","Provider","TreeItemProvider","_React_useContext","useTreeItemContext_unstable","useContext"],"sources":["../../src/contexts/treeItemContext.ts"],"sourcesContent":["import * as React from 'react';\n\nexport type TreeItemContextValue = {\n isActionsVisible: boolean;\n};\n\nconst defaultContextValue: TreeItemContextValue = {\n isActionsVisible: false,\n};\n\nexport const TreeItemContext: React.Context<TreeItemContextValue | undefined> = React.createContext<\n TreeItemContextValue | undefined\n>(undefined);\n\nexport const { Provider: TreeItemProvider } = TreeItemContext;\nexport const useTreeItemContext_unstable = (): TreeItemContextValue =>\n React.useContext(TreeItemContext) ?? defaultContextValue;\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AAMvB,MAAMC,mBAAA,GAA4C;EAChDC,gBAAA,EAAkB;AACpB;AAEA,OAAO,MAAMC,eAAA,gBAAmEH,KAAA,CAAMI,aAAa,CAEjGC,SAAA;AAEF,OAAO,MAAM;EAAEC,QAAA,EAAUC;AAAgB,CAAE,GAAGJ,eAAA;IAE5CK,iBAAA;AADF,OAAO,MAAMC,2BAAA,GAA8BA,CAAA,KACzC,CAAAD,iBAAA,GAAAR,KAAA,CAAMU,UAAU,CAACP,eAAA,eAAjBK,iBAAA,cAAAA,iBAAA,GAAqCP,mBAAmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["packages/react-components/react-tree/src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC","sourcesContent":["export * from './useFlatTree';\nexport * from './useNestedTreeNavigation';\nexport * from './useOpenItemsState';\n"]}
1
+ {"version":3,"names":[],"sources":["../../src/hooks/index.ts"],"sourcesContent":["export * from './useFlatTree';\nexport * from './useNestedTreeNavigation';\nexport * from './useOpenItemsState';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc"}
@@ -29,6 +29,7 @@ export function useFlatTree_unstable(items, options = {}) {
29
29
  event.preventDefault();
30
30
  navigate(data);
31
31
  });
32
+ var _unfilteredFlatTree_itemsPerId_get;
32
33
  const flatTree = {
33
34
  ...visibleFlatTree,
34
35
  getTreeProps: () => ({
@@ -39,10 +40,7 @@ export function useFlatTree_unstable(items, options = {}) {
39
40
  onNavigation_unstable: handleNavigation
40
41
  }),
41
42
  navigate,
42
- getItem: id => {
43
- var _a;
44
- return (_a = unfilteredFlatTree.itemsPerId.get(id)) !== null && _a !== void 0 ? _a : null;
45
- }
43
+ getItem: id => (_unfilteredFlatTree_itemsPerId_get = unfilteredFlatTree.itemsPerId.get(id)) !== null && _unfilteredFlatTree_itemsPerId_get !== void 0 ? _unfilteredFlatTree_itemsPerId_get : null
46
44
  };
47
45
  return flatTree;
48
46
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useEventCallback","React","createUnfilteredFlatTree","createVisibleFlatTree","useFlatTreeNavigation","useOpenItemsState","useFlatTree_unstable","items","options","openItems","updateOpenItems","unfilteredFlatTree","useMemo","navigate","navigationRef","visibleFlatTree","handleOpenChange","event","data","preventDefault","handleNavigation","flatTree","getTreeProps","ref","onOpenChange","onNavigation_unstable","getItem","id","_a","itemsPerId","get"],"sources":["../src/packages/react-components/react-tree/src/hooks/useFlatTree.ts"],"sourcesContent":["import { useEventCallback } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport {\n TreeNavigationData_unstable,\n TreeNavigationEvent_unstable,\n TreeOpenChangeData,\n TreeOpenChangeEvent,\n TreeProps,\n} from '../Tree';\nimport { TreeItemProps } from '../TreeItem';\nimport { createUnfilteredFlatTree } from '../utils/createUnfilteredFlatTree';\nimport { createVisibleFlatTree } from '../utils/createVisibleFlatTree';\nimport { useFlatTreeNavigation } from './useFlatTreeNavigation';\nimport { useOpenItemsState } from './useOpenItemsState';\n\nexport type FlatTreeItemProps = Required<Pick<TreeItemProps, 'id'>> &\n TreeItemProps & {\n parentId?: string;\n };\n\nexport type FlatTreeItem = {\n getTreeItemProps(): Required<Pick<TreeItemProps, 'id' | 'aria-setsize' | 'aria-level' | 'aria-posinset' | 'leaf'>> &\n TreeItemProps;\n parentId?: string;\n childrenSize: number;\n index: number;\n id: string;\n level: number;\n};\n\nexport type FlatTreeProps = Required<\n Pick<TreeProps, 'openItems' | 'onOpenChange' | 'onNavigation_unstable'> & { ref: React.Ref<HTMLDivElement> }\n>;\n\n/**\n * 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 *\n * On simple scenarios it is advised to simply use a nested structure instead.\n */\nexport type FlatTree = {\n /**\n * returns the properties required for the Tree component to work properly.\n * That includes:\n * `openItems`, `onOpenChange`, `onNavigation_unstable` and `ref`\n */\n getTreeProps(): FlatTreeProps;\n /**\n * internal method used to react to an `onNavigation` event.\n * This method ensures proper navigation on keyboard and mouse interaction.\n * In case of virtualization it might be required to cancel default provided `onNavigation`\n * event and then call this method manually.\n *\n * @example\n * ```ts\n * // react-window\n * const handleNavigation = (event, data) => {\n * event.preventDefault();\n * const nextItem = tree.getNextNavigableItem(data);\n * // scroll to item using virtualization scroll mechanism\n * if (nextItem && !targetDocument.getElementById(nextItem.id)) {\n * listRef.current.scrollToItem(nextItem.index);\n * }\n * // wait for scrolling to happen and then invoke navigate method\n * requestAnimationFrame(() => {\n * tree.navigate(data);\n * });\n * };\n *```\n */\n navigate(data: TreeNavigationData_unstable): void;\n /**\n * returns next item to be focused on a navigation.\n * This method is provided to decouple the element that needs to be focused from\n * the action of focusing it itself.\n */\n getNextNavigableItem(data: TreeNavigationData_unstable): FlatTreeItem | null;\n /**\n * returns a single flat tree item by id without iterating over the whole collection\n */\n getItem(id: string): FlatTreeItem | null;\n /**\n * returns an iterable containing all visually available flat tree items\n */\n items(): Iterable<FlatTreeItem>;\n};\n\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 items - a list of tree items\n * @param options - in case control over the internal openItems is required\n */\nexport function useFlatTree_unstable(\n items: FlatTreeItemProps[],\n options: Pick<TreeProps, 'openItems' | 'defaultOpenItems'> = {},\n): FlatTree {\n const [openItems, updateOpenItems] = useOpenItemsState(options);\n const unfilteredFlatTree = React.useMemo(() => createUnfilteredFlatTree(items), [items]);\n const [navigate, navigationRef] = useFlatTreeNavigation(unfilteredFlatTree);\n const visibleFlatTree = React.useMemo(\n () => createVisibleFlatTree(unfilteredFlatTree, openItems),\n [unfilteredFlatTree, openItems],\n );\n\n const handleOpenChange = useEventCallback((event: TreeOpenChangeEvent, data: TreeOpenChangeData) => {\n event.preventDefault();\n updateOpenItems(data);\n });\n\n const handleNavigation = useEventCallback(\n (event: TreeNavigationEvent_unstable, data: TreeNavigationData_unstable) => {\n event.preventDefault();\n navigate(data);\n },\n );\n\n const flatTree: FlatTree = {\n ...visibleFlatTree,\n getTreeProps: () => ({\n ref: navigationRef as React.Ref<HTMLDivElement>,\n openItems,\n onOpenChange: handleOpenChange,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n onNavigation_unstable: handleNavigation,\n }),\n navigate,\n getItem: id => unfilteredFlatTree.itemsPerId.get(id) ?? null,\n };\n return flatTree;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,2BAA2B;AAC5D,OAAO,KAAKC,KAAK,MAAM,OAAO;AAS9B,SAASC,wBAAwB,QAAQ,mCAAmC;AAC5E,SAASC,qBAAqB,QAAQ,gCAAgC;AACtE,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAASC,iBAAiB,QAAQ,qBAAqB;AA8EvD;;;;;;;;;;;;AAYA,OAAM,SAAUC,oBAAoBA,CAClCC,KAA0B,EAC1BC,OAAA,GAA6D,EAAE;EAE/D,MAAM,CAACC,SAAS,EAAEC,eAAe,CAAC,GAAGL,iBAAiB,CAACG,OAAO,CAAC;EAC/D,MAAMG,kBAAkB,GAAGV,KAAK,CAACW,OAAO,CAAC,MAAMV,wBAAwB,CAACK,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EACxF,MAAM,CAACM,QAAQ,EAAEC,aAAa,CAAC,GAAGV,qBAAqB,CAACO,kBAAkB,CAAC;EAC3E,MAAMI,eAAe,GAAGd,KAAK,CAACW,OAAO,CACnC,MAAMT,qBAAqB,CAACQ,kBAAkB,EAAEF,SAAS,CAAC,EAC1D,CAACE,kBAAkB,EAAEF,SAAS,CAAC,CAChC;EAED,MAAMO,gBAAgB,GAAGhB,gBAAgB,CAAC,CAACiB,KAA0B,EAAEC,IAAwB,KAAI;IACjGD,KAAK,CAACE,cAAc,EAAE;IACtBT,eAAe,CAACQ,IAAI,CAAC;EACvB,CAAC,CAAC;EAEF,MAAME,gBAAgB,GAAGpB,gBAAgB,CACvC,CAACiB,KAAmC,EAAEC,IAAiC,KAAI;IACzED,KAAK,CAACE,cAAc,EAAE;IACtBN,QAAQ,CAACK,IAAI,CAAC;EAChB,CAAC,CACF;EAED,MAAMG,QAAQ,GAAa;IACzB,GAAGN,eAAe;IAClBO,YAAY,EAAEA,CAAA,MAAO;MACnBC,GAAG,EAAET,aAA0C;MAC/CL,SAAS;MACTe,YAAY,EAAER,gBAAgB;MAC9B;MACAS,qBAAqB,EAAEL;KACxB,CAAC;IACFP,QAAQ;IACRa,OAAO,EAAEC,EAAE,IAAG;MAAA,IAAAC,EAAA;MAAC,QAAAA,EAAA,GAAAjB,kBAAkB,CAACkB,UAAU,CAACC,GAAG,CAACH,EAAE,CAAC,cAAAC,EAAA,cAAAA,EAAA,GAAI,IAAI;IAAA;GAC7D;EACD,OAAOP,QAAQ;AACjB"}
1
+ {"version":3,"names":["useEventCallback","React","createUnfilteredFlatTree","createVisibleFlatTree","useFlatTreeNavigation","useOpenItemsState","useFlatTree_unstable","items","options","openItems","updateOpenItems","unfilteredFlatTree","useMemo","navigate","navigationRef","visibleFlatTree","handleOpenChange","event","data","preventDefault","handleNavigation","_unfilteredFlatTree_itemsPerId_get","flatTree","getTreeProps","ref","onOpenChange","onNavigation_unstable","getItem","id","itemsPerId","get"],"sources":["../../src/hooks/useFlatTree.ts"],"sourcesContent":["import { useEventCallback } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport {\n TreeNavigationData_unstable,\n TreeNavigationEvent_unstable,\n TreeOpenChangeData,\n TreeOpenChangeEvent,\n TreeProps,\n} from '../Tree';\nimport { TreeItemProps } from '../TreeItem';\nimport { createUnfilteredFlatTree } from '../utils/createUnfilteredFlatTree';\nimport { createVisibleFlatTree } from '../utils/createVisibleFlatTree';\nimport { useFlatTreeNavigation } from './useFlatTreeNavigation';\nimport { useOpenItemsState } from './useOpenItemsState';\n\nexport type FlatTreeItemProps = Required<Pick<TreeItemProps, 'id'>> &\n TreeItemProps & {\n parentId?: string;\n };\n\nexport type FlatTreeItem = {\n getTreeItemProps(): Required<Pick<TreeItemProps, 'id' | 'aria-setsize' | 'aria-level' | 'aria-posinset' | 'leaf'>> &\n TreeItemProps;\n parentId?: string;\n childrenSize: number;\n index: number;\n id: string;\n level: number;\n};\n\nexport type FlatTreeProps = Required<\n Pick<TreeProps, 'openItems' | 'onOpenChange' | 'onNavigation_unstable'> & { ref: React.Ref<HTMLDivElement> }\n>;\n\n/**\n * 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 *\n * On simple scenarios it is advised to simply use a nested structure instead.\n */\nexport type FlatTree = {\n /**\n * returns the properties required for the Tree component to work properly.\n * That includes:\n * `openItems`, `onOpenChange`, `onNavigation_unstable` and `ref`\n */\n getTreeProps(): FlatTreeProps;\n /**\n * internal method used to react to an `onNavigation` event.\n * This method ensures proper navigation on keyboard and mouse interaction.\n * In case of virtualization it might be required to cancel default provided `onNavigation`\n * event and then call this method manually.\n *\n * @example\n * ```ts\n * // react-window\n * const handleNavigation = (event, data) => {\n * event.preventDefault();\n * const nextItem = tree.getNextNavigableItem(data);\n * // scroll to item using virtualization scroll mechanism\n * if (nextItem && !targetDocument.getElementById(nextItem.id)) {\n * listRef.current.scrollToItem(nextItem.index);\n * }\n * // wait for scrolling to happen and then invoke navigate method\n * requestAnimationFrame(() => {\n * tree.navigate(data);\n * });\n * };\n *```\n */\n navigate(data: TreeNavigationData_unstable): void;\n /**\n * returns next item to be focused on a navigation.\n * This method is provided to decouple the element that needs to be focused from\n * the action of focusing it itself.\n */\n getNextNavigableItem(data: TreeNavigationData_unstable): FlatTreeItem | null;\n /**\n * returns a single flat tree item by id without iterating over the whole collection\n */\n getItem(id: string): FlatTreeItem | null;\n /**\n * returns an iterable containing all visually available flat tree items\n */\n items(): Iterable<FlatTreeItem>;\n};\n\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 items - a list of tree items\n * @param options - in case control over the internal openItems is required\n */\nexport function useFlatTree_unstable(\n items: FlatTreeItemProps[],\n options: Pick<TreeProps, 'openItems' | 'defaultOpenItems'> = {},\n): FlatTree {\n const [openItems, updateOpenItems] = useOpenItemsState(options);\n const unfilteredFlatTree = React.useMemo(() => createUnfilteredFlatTree(items), [items]);\n const [navigate, navigationRef] = useFlatTreeNavigation(unfilteredFlatTree);\n const visibleFlatTree = React.useMemo(\n () => createVisibleFlatTree(unfilteredFlatTree, openItems),\n [unfilteredFlatTree, openItems],\n );\n\n const handleOpenChange = useEventCallback((event: TreeOpenChangeEvent, data: TreeOpenChangeData) => {\n event.preventDefault();\n updateOpenItems(data);\n });\n\n const handleNavigation = useEventCallback(\n (event: TreeNavigationEvent_unstable, data: TreeNavigationData_unstable) => {\n event.preventDefault();\n navigate(data);\n },\n );\n\n const flatTree: FlatTree = {\n ...visibleFlatTree,\n getTreeProps: () => ({\n ref: navigationRef as React.Ref<HTMLDivElement>,\n openItems,\n onOpenChange: handleOpenChange,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n onNavigation_unstable: handleNavigation,\n }),\n navigate,\n getItem: id => unfilteredFlatTree.itemsPerId.get(id) ?? null,\n };\n return flatTree;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ;AACjC,YAAYC,KAAA,MAAW;AASvB,SAASC,wBAAwB,QAAQ;AACzC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,iBAAiB,QAAQ;AA8ElC;;;;;;;;;;;;AAYA,OAAO,SAASC,qBACdC,KAA0B,EAC1BC,OAAA,GAA6D,CAAC,CAAC,EACrD;EACV,MAAM,CAACC,SAAA,EAAWC,eAAA,CAAgB,GAAGL,iBAAA,CAAkBG,OAAA;EACvD,MAAMG,kBAAA,GAAqBV,KAAA,CAAMW,OAAO,CAAC,MAAMV,wBAAA,CAAyBK,KAAA,GAAQ,CAACA,KAAA,CAAM;EACvF,MAAM,CAACM,QAAA,EAAUC,aAAA,CAAc,GAAGV,qBAAA,CAAsBO,kBAAA;EACxD,MAAMI,eAAA,GAAkBd,KAAA,CAAMW,OAAO,CACnC,MAAMT,qBAAA,CAAsBQ,kBAAA,EAAoBF,SAAA,GAChD,CAACE,kBAAA,EAAoBF,SAAA,CAAU;EAGjC,MAAMO,gBAAA,GAAmBhB,gBAAA,CAAiB,CAACiB,KAAA,EAA4BC,IAAA,KAA6B;IAClGD,KAAA,CAAME,cAAc;IACpBT,eAAA,CAAgBQ,IAAA;EAClB;EAEA,MAAME,gBAAA,GAAmBpB,gBAAA,CACvB,CAACiB,KAAA,EAAqCC,IAAA,KAAsC;IAC1ED,KAAA,CAAME,cAAc;IACpBN,QAAA,CAASK,IAAA;EACX;MAaeG,kCAAA;EAVjB,MAAMC,QAAA,GAAqB;IACzB,GAAGP,eAAe;IAClBQ,YAAA,EAAcA,CAAA,MAAO;MACnBC,GAAA,EAAKV,aAAA;MACLL,SAAA;MACAgB,YAAA,EAAcT,gBAAA;MACd;MACAU,qBAAA,EAAuBN;IACzB;IACAP,QAAA;IACAc,OAAA,EAASC,EAAA,IAAM,CAAAP,kCAAA,GAAAV,kBAAA,CAAmBkB,UAAU,CAACC,GAAG,CAACF,EAAA,eAAlCP,kCAAA,cAAAA,kCAAA,GAAyC;EAC1D;EACA,OAAOC,QAAA;AACT"}
@@ -1 +1 @@
1
- {"version":3,"names":["useFluent_unstable","useMergedRefs","nextTypeAheadElement","treeDataTypes","treeItemFilter","useHTMLElementWalkerRef","useRovingTabIndex","useFlatTreeNavigation","flatTree","targetDocument","treeItemWalkerRef","treeItemWalkerRootRef","rove","rovingRootRef","getNextElement","data","current","treeItemWalker","type","click","target","typeAhead","currentElement","event","key","arrowLeft","parentElement","arrowRight","firstChild","end","root","lastChild","home","arrowDown","nextElement","arrowUp","previousElement","navigate","treeWalker","nextElementAriaPosInSet","getAttribute","nextElementAriaLevel","targetAriaLevel","Number","document","flatTreeItem","itemsPerId","get","id","parentId","getElementById"],"sources":["../src/packages/react-components/react-tree/src/hooks/useFlatTreeNavigation.ts"],"sourcesContent":["import { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { useMergedRefs } from '@fluentui/react-utilities';\nimport { TreeNavigationData_unstable } from '../Tree';\nimport { UnfilteredFlatTree } from '../utils/createUnfilteredFlatTree';\nimport { nextTypeAheadElement } from '../utils/nextTypeAheadElement';\nimport { treeDataTypes } from '../utils/tokens';\nimport { treeItemFilter } from '../utils/treeItemFilter';\nimport { HTMLElementWalker, useHTMLElementWalkerRef } from './useHTMLElementWalker';\nimport { useRovingTabIndex } from './useRovingTabIndexes';\n\nexport function useFlatTreeNavigation(flatTree: UnfilteredFlatTree) {\n const { targetDocument } = useFluent_unstable();\n const [treeItemWalkerRef, treeItemWalkerRootRef] = useHTMLElementWalkerRef(treeItemFilter);\n const [{ rove }, rovingRootRef] = useRovingTabIndex(treeItemFilter);\n\n function getNextElement(data: TreeNavigationData_unstable) {\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(flatTree, data.target, targetDocument);\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 function navigate(data: TreeNavigationData_unstable) {\n const nextElement = getNextElement(data);\n if (nextElement) {\n rove(nextElement);\n }\n }\n return [navigate, useMergedRefs(treeItemWalkerRootRef, rovingRootRef)] as const;\n}\n\nfunction firstChild(target: HTMLElement, treeWalker: HTMLElementWalker): HTMLElement | null {\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}\n\nfunction parentElement(flatTree: UnfilteredFlatTree, target: HTMLElement, document: Document) {\n const flatTreeItem = flatTree.itemsPerId.get(target.id);\n if (flatTreeItem && flatTreeItem.parentId) {\n return document.getElementById(flatTreeItem.parentId);\n }\n return null;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useFluent_unstable","useMergedRefs","nextTypeAheadElement","treeDataTypes","treeItemFilter","useHTMLElementWalkerRef","useRovingTabIndex","useFlatTreeNavigation","flatTree","targetDocument","treeItemWalkerRef","treeItemWalkerRootRef","rove","rovingRootRef","getNextElement","data","current","treeItemWalker","type","click","target","typeAhead","currentElement","event","key","arrowLeft","parentElement","arrowRight","firstChild","end","root","lastChild","home","arrowDown","nextElement","arrowUp","previousElement","navigate","treeWalker","nextElementAriaPosInSet","getAttribute","nextElementAriaLevel","targetAriaLevel","Number","document","flatTreeItem","itemsPerId","get","id","parentId","getElementById"],"sources":["../../src/hooks/useFlatTreeNavigation.ts"],"sourcesContent":["import { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { useMergedRefs } from '@fluentui/react-utilities';\nimport { TreeNavigationData_unstable } from '../Tree';\nimport { UnfilteredFlatTree } from '../utils/createUnfilteredFlatTree';\nimport { nextTypeAheadElement } from '../utils/nextTypeAheadElement';\nimport { treeDataTypes } from '../utils/tokens';\nimport { treeItemFilter } from '../utils/treeItemFilter';\nimport { HTMLElementWalker, useHTMLElementWalkerRef } from './useHTMLElementWalker';\nimport { useRovingTabIndex } from './useRovingTabIndexes';\n\nexport function useFlatTreeNavigation(flatTree: UnfilteredFlatTree) {\n const { targetDocument } = useFluent_unstable();\n const [treeItemWalkerRef, treeItemWalkerRootRef] = useHTMLElementWalkerRef(treeItemFilter);\n const [{ rove }, rovingRootRef] = useRovingTabIndex(treeItemFilter);\n\n function getNextElement(data: TreeNavigationData_unstable) {\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(flatTree, data.target, targetDocument);\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 function navigate(data: TreeNavigationData_unstable) {\n const nextElement = getNextElement(data);\n if (nextElement) {\n rove(nextElement);\n }\n }\n return [navigate, useMergedRefs(treeItemWalkerRootRef, rovingRootRef)] as const;\n}\n\nfunction firstChild(target: HTMLElement, treeWalker: HTMLElementWalker): HTMLElement | null {\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}\n\nfunction parentElement(flatTree: UnfilteredFlatTree, target: HTMLElement, document: Document) {\n const flatTreeItem = flatTree.itemsPerId.get(target.id);\n if (flatTreeItem && flatTreeItem.parentId) {\n return document.getElementById(flatTreeItem.parentId);\n }\n return null;\n}\n"],"mappings":"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"}
@@ -4,12 +4,12 @@ export function createHTMLElementWalker(root, filter = () => NodeFilter.FILTER_A
4
4
  let temporaryFilter;
5
5
  const treeWalker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {
6
6
  acceptNode(node) {
7
- var _a;
8
7
  if (!isHTMLElement(node)) {
9
8
  return NodeFilter.FILTER_REJECT;
10
9
  }
11
10
  const filterResult = filter(node);
12
- return filterResult === NodeFilter.FILTER_ACCEPT ? (_a = temporaryFilter === null || temporaryFilter === void 0 ? void 0 : temporaryFilter(node)) !== null && _a !== void 0 ? _a : filterResult : filterResult;
11
+ var _temporaryFilter;
12
+ return filterResult === NodeFilter.FILTER_ACCEPT ? (_temporaryFilter = temporaryFilter === null || temporaryFilter === void 0 ? void 0 : temporaryFilter(node)) !== null && _temporaryFilter !== void 0 ? _temporaryFilter : filterResult : filterResult;
13
13
  }
14
14
  });
15
15
  return {
@@ -68,12 +68,12 @@ export function createHTMLElementWalker(root, filter = () => NodeFilter.FILTER_A
68
68
  }
69
69
  export const useHTMLElementWalkerRef = filter => {
70
70
  const walkerRef = React.useRef();
71
- const rootRefCallback = element => {
72
- if (!element) {
71
+ const rootRefCallback = element1 => {
72
+ if (!element1) {
73
73
  walkerRef.current = undefined;
74
74
  return;
75
75
  }
76
- walkerRef.current = createHTMLElementWalker(element, filter);
76
+ walkerRef.current = createHTMLElementWalker(element1, filter);
77
77
  };
78
78
  return [walkerRef, rootRefCallback];
79
79
  };