Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
Copy link

@github-actions github-actions bot Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🕵🏾‍♀️ visual changes to review in the Visual Change Report

vr-tests-react-components/Charts-DonutChart 3 screenshots
Image Name Diff(in Pixels) Image Type
vr-tests-react-components/Charts-DonutChart.Dynamic - RTL.default.chromium.png 30793 Changed
vr-tests-react-components/Charts-DonutChart.Dynamic.default.chromium.png 27053 Changed
vr-tests-react-components/Charts-DonutChart.Dynamic - Dark Mode.default.chromium.png 12635 Changed
vr-tests-react-components/Positioning 2 screenshots
Image Name Diff(in Pixels) Image Type
vr-tests-react-components/Positioning.Positioning end.updated 2 times.chromium.png 129 Changed
vr-tests-react-components/Positioning.Positioning end.chromium.png 488 Changed
vr-tests-react-components/Tree 15 screenshots
Image Name Diff(in Pixels) Image Type
vr-tests-react-components/Tree.flat tree multi selection - High Contrast.flat tree multi selection selected 1-1.chromium.png 786 Changed
vr-tests-react-components/Tree.flat tree multi selection - Dark Mode.flat tree multi selection selected 1-1.chromium.png 465 Changed
vr-tests-react-components/Tree.flat tree multi selection.flat tree multi selection selected 1-1.chromium.png 501 Changed
vr-tests-react-components/Tree.flat tree single selection - High Contrast.chromium.png 671 Changed
vr-tests-react-components/Tree.flat tree single selection - Dark Mode.flat tree single selection selected 1.chromium.png 413 Changed
vr-tests-react-components/Tree.flat tree single selection - High Contrast.flat tree single selection selected 1.chromium.png 568 Changed
vr-tests-react-components/Tree.flat tree single selection - Dark Mode.chromium.png 405 Changed
vr-tests-react-components/Tree.flat tree single selection - RTL.chromium_1.png 437 Changed
vr-tests-react-components/Tree.flat tree single selection - RTL.flat tree single selection selected 1.chromium_2.png 437 Changed
vr-tests-react-components/Tree.flat tree single selection.flat tree single selection selected 1.chromium.png 429 Changed
vr-tests-react-components/Tree.flat tree single selection.chromium.png 431 Changed
vr-tests-react-components/Tree.layout - Dark Mode.default.chromium.png 26284 Changed
vr-tests-react-components/Tree.layout - RTL.default.chromium.png 1171 Changed
vr-tests-react-components/Tree.layout - High Contrast.default.chromium.png 31683 Changed
vr-tests-react-components/Tree.layout.default.chromium.png 1177 Changed

There were 5 duplicate changes discarded. Check the build logs for more information.

"type": "patch",
"comment": "fix: Matching behavior for tree item layout components for when there are flex boxes as child components",
"packageName": "@fluentui/react-tree",
"email": "[email protected]",
"dependentChangeType": "patch"
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,12 @@ export const treeItemLayoutClassNames: SlotClassNames<TreeItemLayoutSlots> = {
};

const useRootBaseStyles = makeResetStyles({
display: 'flex',
display: 'grid',
gridTemplateRows: '1fr auto',
gridTemplateColumns: 'auto 1fr auto',
gridTemplateAreas: `
"expandIcon main aside"
`,
alignItems: 'center',
minHeight: '32px',
boxSizing: 'border-box',
Expand Down Expand Up @@ -115,6 +120,7 @@ const useExpandIconBaseStyles = makeResetStyles({
minWidth: '24px',
boxSizing: 'border-box',
color: tokens.colorNeutralForeground3,
gridArea: 'expandIcon',
flex: `0 0 auto`,
padding: `${tokens.spacingVerticalXS} 0`,
});
Expand All @@ -124,6 +130,7 @@ const useExpandIconBaseStyles = makeResetStyles({
*/
const useMainBaseStyles = makeResetStyles({
padding: `0 ${tokens.spacingHorizontalXXS}`,
gridArea: 'main',
});

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,35 +58,6 @@ const useRootStyles = makeStyles({
},
});

/**
* Styles for the expand icon slot
*/
const useMediaBaseStyles = makeResetStyles({
display: 'flex',
alignItems: 'center',
width: '32px',
height: '32px',
gridArea: 'media',
padding: `0 ${tokens.spacingHorizontalXS} 0 ${tokens.spacingHorizontalXXS}`,
});

const useMainBaseStyles = makeResetStyles({
gridArea: 'main',
padding: `${tokens.spacingVerticalMNudge} ${tokens.spacingHorizontalXS} ${tokens.spacingVerticalMNudge} ${tokens.spacingHorizontalS}`,
});

const useMainStyles = makeStyles({
withDescription: {
padding: `${tokens.spacingVerticalMNudge} ${tokens.spacingHorizontalXS} 0 ${tokens.spacingHorizontalS}`,
},
});

const useDescriptionBaseStyles = makeResetStyles({
gridArea: 'description',
...typographyStyles.caption1,
padding: `0 ${tokens.spacingHorizontalXS} ${tokens.spacingVerticalMNudge} ${tokens.spacingHorizontalS}`,
});

/**
* Styles for the action icon slot
*/
Expand Down Expand Up @@ -126,6 +97,41 @@ const useExpandIconBaseStyles = makeResetStyles({
padding: `${tokens.spacingVerticalXS} 0`,
});

/**
* Styles for the main content slot
*/
const useMainBaseStyles = makeResetStyles({
gridArea: 'main',
padding: `${tokens.spacingVerticalMNudge} ${tokens.spacingHorizontalXS} ${tokens.spacingVerticalMNudge} ${tokens.spacingHorizontalS}`,
});

const useMainStyles = makeStyles({
withDescription: {
padding: `${tokens.spacingVerticalMNudge} ${tokens.spacingHorizontalXS} 0 ${tokens.spacingHorizontalS}`,
},
});

/**
* Styles for the description content slot
*/
const useDescriptionBaseStyles = makeResetStyles({
gridArea: 'description',
...typographyStyles.caption1,
padding: `0 ${tokens.spacingHorizontalXS} ${tokens.spacingVerticalMNudge} ${tokens.spacingHorizontalS}`,
});

/**
* Styles for the media slot
*/
const useMediaBaseStyles = makeResetStyles({
display: 'flex',
alignItems: 'center',
width: '32px',
height: '32px',
gridArea: 'media',
padding: `0 ${tokens.spacingHorizontalXS} 0 ${tokens.spacingHorizontalXXS}`,
});

/**
* Apply styling to the TreeItemPersonaLayout slots based on the state
*/
Expand All @@ -134,62 +140,62 @@ export const useTreeItemPersonaLayoutStyles_unstable = (
): TreeItemPersonaLayoutState => {
'use no memo';

const rootBaseStyles = useRootBaseStyles();
const { main, media, description, expandIcon, root, aside, actions, selector } = state;
const rootStyles = useRootStyles();
const mediaBaseStyles = useMediaBaseStyles();
const descriptionBaseStyles = useDescriptionBaseStyles();
const rootBaseStyles = useRootBaseStyles();
const actionsBaseStyles = useActionsBaseStyles();
const asideBaseStyles = useAsideBaseStyles();
const expandIconBaseStyles = useExpandIconBaseStyles();

const mediaBaseStyles = useMediaBaseStyles();
const descriptionBaseStyles = useDescriptionBaseStyles();

const mainBaseStyles = useMainBaseStyles();
const mainStyles = useMainStyles();

const expandIconBaseStyles = useExpandIconBaseStyles();

const itemType = useTreeItemContext_unstable(ctx => ctx.itemType);

state.root.className = mergeClasses(
root.className = mergeClasses(
treeItemPersonaLayoutClassNames.root,
rootBaseStyles,
rootStyles[itemType],
state.root.className,
root.className,
);

state.media.className = mergeClasses(treeItemPersonaLayoutClassNames.media, mediaBaseStyles, state.media.className);
media.className = mergeClasses(treeItemPersonaLayoutClassNames.media, mediaBaseStyles, media.className);

if (state.main) {
state.main.className = mergeClasses(
if (main) {
main.className = mergeClasses(
treeItemPersonaLayoutClassNames.main,
mainBaseStyles,
state.description && mainStyles.withDescription,
state.main.className,
description && mainStyles.withDescription,
main.className,
);
}
if (state.description) {
state.description.className = mergeClasses(
if (description) {
description.className = mergeClasses(
treeItemPersonaLayoutClassNames.description,
descriptionBaseStyles,
state.description.className,
description.className,
);
}
if (state.actions) {
state.actions.className = mergeClasses(
treeItemPersonaLayoutClassNames.actions,
actionsBaseStyles,
state.actions.className,
);
if (actions) {
actions.className = mergeClasses(treeItemPersonaLayoutClassNames.actions, actionsBaseStyles, actions.className);
}
if (state.aside) {
state.aside.className = mergeClasses(treeItemPersonaLayoutClassNames.aside, asideBaseStyles, state.aside.className);
if (aside) {
aside.className = mergeClasses(treeItemPersonaLayoutClassNames.aside, asideBaseStyles, aside.className);
}
if (state.expandIcon) {
state.expandIcon.className = mergeClasses(
if (expandIcon) {
expandIcon.className = mergeClasses(
treeItemPersonaLayoutClassNames.expandIcon,
expandIconBaseStyles,
state.expandIcon.className,
expandIcon.className,
);
}

if (state.selector) {
state.selector.className = mergeClasses(treeItemPersonaLayoutClassNames.selector, state.selector.className);
if (selector) {
selector.className = mergeClasses(treeItemPersonaLayoutClassNames.selector, selector.className);
}

return state;
Expand Down