feat: prefer resizable Fluent icons - #36705
Draft
Martin Hochel (Hotell) wants to merge 18 commits into
Draft
Conversation
📊 Bundle size reportUnchanged fixtures
|
|
Pull request demo site: URL |
| @@ -2,7 +2,7 @@ import * as React from 'react'; | |||
|
|
|||
There was a problem hiding this comment.
🕵🏾♀️ visual changes to review in the Visual Change Report
vr-tests-react-components/Avatar Converged 6 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Avatar Converged.customSize+icon+active.normal.chromium.png | 3 | Changed |
| vr-tests-react-components/Avatar Converged.customSize+name+badge.normal.chromium.png | 2 | Changed |
| vr-tests-react-components/Avatar Converged.size+inactive+badge.normal.chromium.png | 13 | Changed |
| vr-tests-react-components/Avatar Converged.size+icon+badge+square.normal.chromium.png | 32 | Changed |
| vr-tests-react-components/Avatar Converged.badgeMask - RTL.normal.chromium.png | 8 | Changed |
| vr-tests-react-components/Avatar Converged.size+image+badge.normal.chromium.png | 8 | Changed |
vr-tests-react-components/Card Converged 5 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Card Converged.orientation.normal.chromium.png | 128 | Changed |
| vr-tests-react-components/Card Converged.CardHeader.normal.chromium.png | 3 | Changed |
| vr-tests-react-components/Card Converged.size.normal.chromium.png | 385 | Changed |
| vr-tests-react-components/Card Converged.appearance - High Contrast.normal.chromium.png | 674 | Changed |
| vr-tests-react-components/Card Converged.appearance.normal.chromium.png | 513 | Changed |
vr-tests-react-components/Card Converged - Disabled 2 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Card Converged - Disabled.appearance disabled - Subtle - Dark Mode.hover.chromium.png | 47 | Changed |
| vr-tests-react-components/Card Converged - Disabled.appearance disabled - Subtle.normal.chromium.png | 33 | Changed |
vr-tests-react-components/Card Converged - Selectable 2 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Card Converged - Selectable.appearance selectable - Subtle - High Contrast.selected.chromium.png | 169 | Changed |
| vr-tests-react-components/Card Converged - Selectable.appearance selectable - Subtle.selected.chromium.png | 128 | Changed |
vr-tests-react-components/Checkbox Converged 6 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Checkbox Converged.circular+checked.default.chromium.png | 7 | Changed |
| vr-tests-react-components/Checkbox Converged.disabled+checked.default.chromium.png | 3 | Changed |
| vr-tests-react-components/Checkbox Converged.disabled+mixed.default.chromium.png | 2 | Changed |
| vr-tests-react-components/Checkbox Converged.large+mixed.default.chromium.png | 13 | Changed |
| vr-tests-react-components/Checkbox Converged.large+circular+checked.default.chromium.png | 4 | Changed |
| vr-tests-react-components/Checkbox Converged.mixed.rest.chromium.png | 5 | Changed |
vr-tests-react-components/Combobox Converged 1 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Combobox Converged.With multiselect selection.hover.chromium.png | 13 | Changed |
vr-tests-react-components/Dialog 7 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Dialog.dialog inside drawer dimmed - Dark Mode.chromium.png | 4 | Changed |
| vr-tests-react-components/Dialog.dialog inside drawer dimmed - High Contrast.chromium.png | 6 | Changed |
| vr-tests-react-components/Dialog.dialog inside drawer dimmed.chromium.png | 5 | Changed |
| vr-tests-react-components/Dialog.title custom action - Dark Mode.chromium.png | 22 | Changed |
| vr-tests-react-components/Dialog.dialog inside drawer transparent.chromium.png | 9 | Changed |
| vr-tests-react-components/Dialog.title custom action - High Contrast.chromium.png | 34 | Changed |
| vr-tests-react-components/Dialog.title custom action.chromium.png | 25 | Changed |
vr-tests-react-components/Drawer 6 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Drawer.inline drawer separator position start - Dark Mode.chromium.png | 67 | Changed |
| vr-tests-react-components/Drawer.inline drawer separator position start - High Contrast.chromium.png | 99 | Changed |
| vr-tests-react-components/Drawer.inline drawer.chromium.png | 73 | Changed |
| vr-tests-react-components/Drawer.overlay drawer position start - High Contrast.chromium.png | 99 | Changed |
| vr-tests-react-components/Drawer.overlay drawer position start - Dark Mode.chromium.png | 67 | Changed |
| vr-tests-react-components/Drawer.overlay drawer position start - RTL.chromium.png | 73 | Changed |
vr-tests-react-components/Field 13 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Field.Checkbox.default.chromium.png | 6 | Changed |
| vr-tests-react-components/Field.ProgressBar.default.chromium.png | 20 | Changed |
| vr-tests-react-components/Field.Select.default.chromium.png | 6 | Changed |
| vr-tests-react-components/Field.Slider.default.chromium.png | 6 | Changed |
| vr-tests-react-components/Field.RadioGroup.default.chromium.png | 6 | Changed |
| vr-tests-react-components/Field.Switch.default.chromium.png | 6 | Changed |
| vr-tests-react-components/Field.validation-error.default.chromium.png | 6 | Changed |
| vr-tests-react-components/Field.SpinButton.default.chromium.png | 25 | Changed |
| vr-tests-react-components/Field.validation-success.default.chromium.png | 5 | Changed |
| vr-tests-react-components/Field.horizontal+longLabel.default.chromium.png | 9 | Changed |
| vr-tests-react-components/Field.validationMessageIcon.default.chromium.png | 9 | Changed |
| vr-tests-react-components/Field.validation-warning.default.chromium.png | 9 | Changed |
| vr-tests-react-components/Field.Textarea.default.chromium.png | 6 | Changed |
vr-tests-react-components/InfoLabel 5 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/InfoLabel.default - High Contrast.rest.chromium.png | 36 | Changed |
| vr-tests-react-components/InfoLabel.size-small.rest.chromium.png | 8 | Changed |
| vr-tests-react-components/InfoLabel.default - RTL.rest.chromium.png | 27 | Changed |
| vr-tests-react-components/InfoLabel.wrap.rest.chromium.png | 27 | Changed |
| vr-tests-react-components/InfoLabel.sizes -- open.rest.chromium.png | 20 | Changed |
vr-tests-react-components/Menu Converged - selection 2 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Menu Converged - selection.checkbox - Dark Mode.selected.chromium.png | 5 | Changed |
| vr-tests-react-components/Menu Converged - selection.checkbox.selected.chromium.png | 6 | Changed |
vr-tests-react-components/Menu Converged - selection groups 1 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Menu Converged - selection groups.default.selected.chromium.png | 6 | Changed |
vr-tests-react-components/MessageBar 6 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/MessageBar.Intents - High Contrast.default.chromium.png | 79 | Changed |
| vr-tests-react-components/MessageBar.Intents - Dark Mode.default.chromium.png | 36 | Changed |
| vr-tests-react-components/MessageBar.Multiline Without Actions.default.chromium.png | 51 | Changed |
| vr-tests-react-components/MessageBar.Multiline.default.chromium.png | 51 | Changed |
| vr-tests-react-components/MessageBar.Intents.default.chromium.png | 51 | Changed |
| vr-tests-react-components/MessageBar.Multiline No Actions.default.chromium.png | 51 | Changed |
vr-tests-react-components/Persona Converged 6 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Persona Converged.basic - High Contrast.normal.chromium.png | 3 | Changed |
| vr-tests-react-components/Persona Converged.basic - Dark Mode.normal.chromium.png | 1 | Changed |
| vr-tests-react-components/Persona Converged.basic.normal.chromium.png | 2 | Changed |
| vr-tests-react-components/Persona Converged.textPosition.normal.chromium.png | 6 | Changed |
| vr-tests-react-components/Persona Converged.textAlignment.normal.chromium.png | 4 | Changed |
| vr-tests-react-components/Persona Converged.size-presence.normal.chromium.png | 6 | Changed |
vr-tests-react-components/Positioning 2 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Positioning.Positioning end.chromium.png | 623 | Changed |
| vr-tests-react-components/Positioning.Positioning end.updated 2 times.chromium.png | 626 | Changed |
vr-tests-react-components/PresenceBadge Converged - OOF status 1 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/PresenceBadge Converged - OOF status.default - RTL.chromium.png | 94 | Changed |
vr-tests-react-components/PresenceBadge Converged - inverted background 3 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/PresenceBadge Converged - inverted background.default - High Contrast.default.chromium.png | 373 | Changed |
| vr-tests-react-components/PresenceBadge Converged - inverted background.default - Dark Mode.default.chromium.png | 120 | Changed |
| vr-tests-react-components/PresenceBadge Converged - inverted background.default.default.chromium.png | 192 | Changed |
vr-tests-react-components/PresenceBadge Converged - sizes 1 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/PresenceBadge Converged - sizes.default.chromium.png | 6 | Changed |
vr-tests-react-components/PresenceBadge Converged - status 1 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/PresenceBadge Converged - status.default.chromium.png | 49 | Changed |
vr-tests-react-components/ProgressBar converged 2 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/ProgressBar converged.Indeterminate + thickness - Dark Mode.default.chromium.png | 34 | Changed |
| vr-tests-react-components/ProgressBar converged.Indeterminate + thickness.default.chromium.png | 27 | Changed |
vr-tests-react-components/SearchBox Converged 6 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/SearchBox Converged.Appearance- filled-lighter.hover.chromium.png | 33 | Changed |
| vr-tests-react-components/SearchBox Converged.Disabled, appearance- filled-lighter.focused.chromium.png | 11 | Changed |
| vr-tests-react-components/SearchBox Converged.Disabled, appearance- underline.default.chromium.png | 13 | Changed |
| vr-tests-react-components/SearchBox Converged.Size- large.focused.chromium.png | 45 | Changed |
| vr-tests-react-components/SearchBox Converged.Size- small.hover.chromium.png | 18 | Changed |
| vr-tests-react-components/SearchBox Converged.With value.focused.chromium.png | 33 | Changed |
vr-tests-react-components/SpinButton Converged 42 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/SpinButton Converged.Appearance- filled-lighter - Dark Mode.focused.chromium.png | 4 | Changed |
| vr-tests-react-components/SpinButton Converged.Appearance- filled-lighter - Dark Mode.mouseDownDecrement.chromium.png | 5 | Changed |
| vr-tests-react-components/SpinButton Converged.Appearance- filled-lighter - Dark Mode.rest.chromium.png | 4 | Changed |
| vr-tests-react-components/SpinButton Converged.Appearance- filled-lighter - Dark Mode.mouseDownIncrement.chromium.png | 5 | Changed |
| vr-tests-react-components/SpinButton Converged.Appearance- filled-lighter - High Contrast.mouseDownDecrement.chromium.png | 7 | Changed |
| vr-tests-react-components/SpinButton Converged.Appearance- filled-lighter - High Contrast.rest.chromium.png | 8 | Changed |
| vr-tests-react-components/SpinButton Converged.At Max Bound - Dark Mode.focused.chromium.png | 2 | Changed |
| vr-tests-react-components/SpinButton Converged.At Max Bound - Dark Mode.hoverDecrement.chromium.png | 3 | Changed |
| vr-tests-react-components/SpinButton Converged.At Max Bound - Dark Mode.mouseDownDecrement.chromium.png | 3 | Changed |
| vr-tests-react-components/SpinButton Converged.At Max Bound - Dark Mode.rest.chromium.png | 2 | Changed |
| vr-tests-react-components/SpinButton Converged.At Max Bound.hoverDecrement.chromium.png | 3 | Changed |
| vr-tests-react-components/SpinButton Converged.At Max Bound.mouseDownDecrement.chromium.png | 3 | Changed |
| vr-tests-react-components/SpinButton Converged.At Max Bound.mouseDownIncrement.chromium.png | 3 | Changed |
| vr-tests-react-components/SpinButton Converged.At Min Bound - Dark Mode.focused.chromium.png | 2 | Changed |
| vr-tests-react-components/SpinButton Converged.At Min Bound - Dark Mode.rest.chromium.png | 2 | Changed |
| vr-tests-react-components/SpinButton Converged.At Min Bound - Dark Mode.mouseDownIncrement.chromium.png | 3 | Changed |
| vr-tests-react-components/SpinButton Converged.At Min Bound.hoverIncrement.chromium.png | 3 | Changed |
| vr-tests-react-components/SpinButton Converged.At Min Bound.mouseDownIncrement.chromium.png | 3 | Changed |
| vr-tests-react-components/SpinButton Converged.At Min Bound.mouseDownDecrement.chromium.png | 3 | Changed |
| vr-tests-react-components/SpinButton Converged.Display Value - Dark Mode.hoverDecrement.chromium.png | 4 | Changed |
| vr-tests-react-components/SpinButton Converged.Disabled.rest.chromium.png | 1 | Changed |
| vr-tests-react-components/SpinButton Converged.Display Value - Dark Mode.focused.chromium.png | 4 | Changed |
| vr-tests-react-components/SpinButton Converged.Display Value - Dark Mode.mouseDownDecrement.chromium.png | 4 | Changed |
| vr-tests-react-components/SpinButton Converged.Display Value - Dark Mode.mouseDownIncrement.chromium.png | 4 | Changed |
| vr-tests-react-components/SpinButton Converged.Display Value - High Contrast.mouseDownIncrement.chromium.png | 7 | Changed |
| vr-tests-react-components/SpinButton Converged.Display Value - High Contrast.mouseDownDecrement.chromium.png | 7 | Changed |
| vr-tests-react-components/SpinButton Converged.Invalid- filled-darker.focused.chromium.png | 4 | Changed |
| vr-tests-react-components/SpinButton Converged.Invalid- filled-darker.hoverIncrement.chromium.png | 5 | Changed |
| vr-tests-react-components/SpinButton Converged.Invalid- filled-lighter.hoverIncrement.chromium.png | 5 | Changed |
| vr-tests-react-components/SpinButton Converged.Invalid- filled-lighter.hoverInput.chromium.png | 5 | Changed |
| vr-tests-react-components/SpinButton Converged.Invalid- filled-lighter.hoverDecrement.chromium.png | 5 | Changed |
| vr-tests-react-components/SpinButton Converged.Invalid- filled-lighter.mouseDownDecrement.chromium.png | 5 | Changed |
| vr-tests-react-components/SpinButton Converged.Invalid- filled-lighter.mouseDownIncrement.chromium.png | 5 | Changed |
| vr-tests-react-components/SpinButton Converged.Invalid- underline.hoverIncrement.chromium.png | 5 | Changed |
| vr-tests-react-components/SpinButton Converged.Invalid- underline.hoverDecrement.chromium.png | 5 | Changed |
| vr-tests-react-components/SpinButton Converged.Invalid- underline.mouseDownDecrement.chromium.png | 5 | Changed |
| vr-tests-react-components/SpinButton Converged.Invalid- underline.mouseDownIncrement.chromium.png | 5 | Changed |
| vr-tests-react-components/SpinButton Converged.Size- small - Dark Mode.default.chromium.png | 4 | Changed |
| vr-tests-react-components/SpinButton Converged.Size- small - High Contrast.default.chromium.png | 8 | Changed |
| vr-tests-react-components/SpinButton Converged.Size- small - RTL.default.chromium.png | 5 | Changed |
| vr-tests-react-components/SpinButton Converged.Size- medium (default).default.chromium.png | 5 | Changed |
| vr-tests-react-components/SpinButton Converged.With appearance override.default.chromium.png | 9 | Changed |
vr-tests-react-components/SwatchPicker Converged 3 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/SwatchPicker Converged.size.default.chromium.png | 2 | Changed |
| vr-tests-react-components/SwatchPicker Converged.spacing.default.chromium.png | 2 | Changed |
| vr-tests-react-components/SwatchPicker Converged.shape.default.chromium.png | 2 | Changed |
vr-tests-react-components/Table layout table 4 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Table layout table.multiselect (checked) - neutral - RTL.chromium.png | 34 | Changed |
| vr-tests-react-components/Table layout table.multiselect (checked) - neutral - Dark Mode.chromium.png | 22 | Changed |
| vr-tests-react-components/Table layout table.multiselect (mixed) - neutral - Dark Mode.chromium.png | 12 | Changed |
| vr-tests-react-components/Table layout table.multiselect (mixed) - neutral - High Contrast.chromium.png | 20 | Changed |
vr-tests-react-components/TagPicker 2 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/TagPicker.disabled - Dark Mode.chromium.png | 658 | Changed |
| vr-tests-react-components/TagPicker.disabled - RTL.disabled input hover.chromium.png | 635 | Changed |
vr-tests-react-components/Toast 6 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Toast.Full Toast Inverted - High Contrast.Toast visible.chromium.png | 54 | Changed |
| vr-tests-react-components/Toast.Full Toast Inverted.Toast visible.chromium.png | 25 | Changed |
| vr-tests-react-components/Toast.Title Only Inverted - High Contrast.Toast visible.chromium.png | 54 | Changed |
| vr-tests-react-components/Toast.Title Only Inverted - Dark Mode.Toast visible.chromium.png | 36 | Changed |
| vr-tests-react-components/Toast.Without Subtitle Inverted - High Contrast.Toast visible.chromium.png | 54 | Changed |
| vr-tests-react-components/Toast.Without Subtitle.Toast visible.chromium.png | 36 | Changed |
vr-tests-react-components/Toolbar Converged 15 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Toolbar Converged.Default.Button Pressed.chromium.png | 51 | Changed |
| vr-tests-react-components/Toolbar Converged.Default.default.chromium.png | 56 | Changed |
| vr-tests-react-components/Toolbar Converged.Far Group.Button Pressed.chromium.png | 28 | Changed |
| vr-tests-react-components/Toolbar Converged.Far Group.default.chromium.png | 33 | Changed |
| vr-tests-react-components/Toolbar Converged.Large.Button Pressed.chromium.png | 59 | Changed |
| vr-tests-react-components/Toolbar Converged.Large.Toggle On.chromium.png | 60 | Changed |
| vr-tests-react-components/Toolbar Converged.Large.default.chromium.png | 66 | Changed |
| vr-tests-react-components/Toolbar Converged.Small.Button Pressed.chromium.png | 51 | Changed |
| vr-tests-react-components/Toolbar Converged.Small.default.chromium.png | 56 | Changed |
| vr-tests-react-components/Toolbar Converged.Transparent.Button Pressed.chromium.png | 50 | Changed |
| vr-tests-react-components/Toolbar Converged.Transparent.default.chromium.png | 57 | Changed |
| vr-tests-react-components/Toolbar Converged.Vertical Button.Button Pressed.chromium.png | 8 | Changed |
| vr-tests-react-components/Toolbar Converged.Vertical Button.default.chromium.png | 6 | Changed |
| vr-tests-react-components/Toolbar Converged.Vertical.Button Pressed.chromium.png | 51 | Changed |
| vr-tests-react-components/Toolbar Converged.Vertical.default.chromium.png | 56 | Changed |
vr-tests-react-components/Tree 33 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Tree.actions - High Contrast.default.chromium.png | 10 | Changed |
| vr-tests-react-components/Tree.actions.default.chromium.png | 6 | Changed |
| vr-tests-react-components/Tree.actions - RTL.default.chromium.png | 6 | Changed |
| vr-tests-react-components/Tree.default - High Contrast.default.chromium.png | 10 | Changed |
| vr-tests-react-components/Tree.default - Dark Mode.default.chromium.png | 5 | Changed |
| vr-tests-react-components/Tree.default - RTL.default.chromium.png | 5 | Changed |
| vr-tests-react-components/Tree.default open tree - Dark Mode.default.chromium.png | 7 | Changed |
| vr-tests-react-components/Tree.default open tree - High Contrast.default.chromium.png | 14 | Changed |
| vr-tests-react-components/Tree.default.default.chromium.png | 6 | Changed |
| vr-tests-react-components/Tree.default open tree - RTL.default.chromium.png | 8 | Changed |
| vr-tests-react-components/Tree.flat - Dark Mode.default.chromium.png | 9 | Changed |
| vr-tests-react-components/Tree.flat - High Contrast.default.chromium.png | 19 | Changed |
| vr-tests-react-components/Tree.flat - RTL.default.chromium.png | 11 | Changed |
| vr-tests-react-components/Tree.flat tree single selection - Dark Mode.flat tree single selection selected 1.chromium.png | 9 | Changed |
| vr-tests-react-components/Tree.flat tree single selection - High Contrast.chromium.png | 19 | Changed |
| vr-tests-react-components/Tree.flat tree single selection - Dark Mode.chromium.png | 9 | Changed |
| vr-tests-react-components/Tree.flat tree single selection - High Contrast.flat tree single selection selected 1.chromium.png | 17 | Changed |
| vr-tests-react-components/Tree.flat tree single selection - RTL.chromium_1.png | 11 | Changed |
| vr-tests-react-components/Tree.flat tree single selection - RTL.flat tree single selection selected 1.chromium_2.png | 12 | Changed |
| vr-tests-react-components/Tree.flat tree single selection.chromium.png | 11 | Changed |
| vr-tests-react-components/Tree.flat tree single selection.flat tree single selection selected 1.chromium.png | 12 | Changed |
| vr-tests-react-components/Tree.flat.default.chromium.png | 11 | Changed |
| vr-tests-react-components/Tree.layout - Dark Mode.default.chromium.png | 115 | Changed |
| vr-tests-react-components/Tree.layout - High Contrast.default.chromium.png | 176 | Changed |
| vr-tests-react-components/Tree.layout.default.chromium.png | 148 | Changed |
| vr-tests-react-components/Tree.layout - RTL.default.chromium.png | 148 | Changed |
| vr-tests-react-components/Tree.persona - Dark Mode.default.chromium.png | 11 | Changed |
| vr-tests-react-components/Tree.persona - High Contrast.default.chromium.png | 23 | Changed |
| vr-tests-react-components/Tree.size - RTL.default.chromium.png | 11 | Changed |
| vr-tests-react-components/Tree.size - High Contrast.default.chromium.png | 19 | Changed |
| vr-tests-react-components/Tree.size - Dark Mode.default.chromium.png | 9 | Changed |
| vr-tests-react-components/Tree.persona.default.chromium.png | 29 | Changed |
| vr-tests-react-components/Tree.size.default.chromium.png | 11 | Changed |
vr-tests-web-components/Badge 1 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-web-components/Badge. - Dark Mode.normal.chromium.png | 443 | Changed |
vr-tests-web-components/MenuList 1 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-web-components/MenuList. - Dark Mode.normal.chromium.png | 498 | Changed |
vr-tests-web-components/TextInput 1 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-web-components/TextInput. - Dark Mode.normal.chromium_1.png | 288 | Changed |
vr-tests/react-charting-LineChart 3 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests/react-charting-LineChart.Multiple.default.chromium.png | 192 | Changed |
| vr-tests/react-charting-LineChart.Multiple - Dark Mode.default.chromium.png | 181 | Changed |
| vr-tests/react-charting-LineChart.Multiple - RTL.default.chromium.png | 200 | Changed |
There were 562 duplicate changes discarded. Check the build logs for more information.
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Several standalone and bundled icons lose their former dimensions, and the new font stylesheet uses an unsupported selector.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Migrates Fluent UI React usage from fixed-size icons to resizable SVG/font-compatible icons and configures linting and Storybook font-icon builds.
Changes:
- Migrates component defaults, stories, docs, tests, and snapshots.
- Adds font-icon styling, Storybook loaders, dependency updates, and Nx cache inputs.
- Adds Beachball change files for affected packages.
File summaries
| File | Description |
|---|---|
tools/storybook-llms-extractor/src/utils.spec.ts |
Updates extracted icon examples. |
tools/storybook-llms-extractor/src/__fixtures__/storybook-store-items.ts |
Updates extractor fixture icons. |
packages/react-components/theme-designer/src/components/Export/ExportPanel.tsx |
Migrates the dismiss icon. |
packages/react-components/recipes/src/recipes/media-object/code-snippets/MediaObject.tsx |
Migrates attachment icons. |
packages/react-components/react-tree/stories/src/Tree/UseHeadlessFlatTree.stories.tsx |
Migrates action icons. |
packages/react-components/react-tree/stories/src/Tree/TreeNavigationModeTreeGrid.stories.tsx |
Migrates tree-grid action icons. |
packages/react-components/react-tree/stories/src/Tree/TreeManipulation.stories.tsx |
Migrates the delete icon. |
packages/react-components/react-tree/stories/src/Tree/TreeIconBeforeAndAfter.stories.tsx |
Migrates layout icons. |
packages/react-components/react-tree/stories/src/Tree/TreeExpandIcon.stories.tsx |
Migrates and sizes expand icons. |
packages/react-components/react-tree/stories/src/Tree/TreeAside.stories.tsx |
Migrates and sizes the aside icon. |
packages/react-components/react-tree/stories/src/Tree/TreeActions.stories.tsx |
Migrates tree action icons. |
packages/react-components/react-tree/library/src/components/TreeItemChevron.tsx |
Migrates the default chevron. |
packages/react-components/react-toolbar/stories/src/Toolbar/ToolbarWithPopover.stories.tsx |
Migrates toolbar icons. |
packages/react-components/react-toolbar/stories/src/Toolbar/ToolbarVertical.stories.tsx |
Migrates formatting icons. |
packages/react-components/react-toolbar/stories/src/Toolbar/ToolbarTransparent.stories.tsx |
Migrates formatting icons. |
packages/react-components/react-toolbar/stories/src/Toolbar/ToolbarSubtle.stories.tsx |
Migrates formatting icons. |
packages/react-components/react-toolbar/stories/src/Toolbar/ToolbarSmall.stories.tsx |
Migrates toolbar icons. |
packages/react-components/react-toolbar/stories/src/Toolbar/ToolbarRadioControlled.stories.tsx |
Migrates alignment icons. |
packages/react-components/react-toolbar/stories/src/Toolbar/ToolbarRadio.stories.tsx |
Migrates alignment icons. |
packages/react-components/react-toolbar/stories/src/Toolbar/ToolbarMedium.stories.tsx |
Migrates toolbar icons. |
packages/react-components/react-toolbar/stories/src/Toolbar/ToolbarLarge.stories.tsx |
Migrates toolbar icons. |
packages/react-components/react-toolbar/stories/src/Toolbar/ToolbarDefault.stories.tsx |
Migrates default toolbar icons. |
packages/react-components/react-toolbar/stories/src/Toolbar/ToolbarControlledToggleButton.stories.tsx |
Migrates toggle icons. |
packages/react-components/react-teaching-popover/library/src/components/TeachingPopoverHeader/useTeachingPopoverHeader.tsx |
Migrates and sizes defaults. |
packages/react-components/react-teaching-popover/library/src/components/TeachingPopoverHeader/useTeachingPopoverHeader.test.tsx |
Updates default-icon tests. |
packages/react-components/react-teaching-popover/library/src/components/TeachingPopoverHeader/__snapshots__/TeachingPopoverHeader.test.tsx.snap |
Updates rendered snapshots. |
packages/react-components/react-tag-picker/library/src/components/TagPickerControl/useTagPickerControlStyles.styles.ts |
Supports font icon layout. |
packages/react-components/react-tag-picker/library/src/components/TagPickerControl/__snapshots__/TagPickerControl.test.tsx.snap |
Updates icon snapshot. |
packages/react-components/react-swatch-picker/library/src/components/SwatchPicker/SwatchPicker.test.tsx |
Updates inline snapshot. |
packages/react-components/react-spinbutton/library/src/components/SpinButton/useSpinButton.tsx |
Migrates and sizes chevrons. |
packages/react-components/react-select/library/src/components/Select/useSelectStyles.styles.ts |
Supports font icon layout. |
packages/react-components/react-select/library/src/components/Select/__snapshots__/Select.test.tsx.snap |
Updates icon snapshots. |
packages/react-components/react-search/library/src/components/SearchBox/useSearchBoxStyles.styles.ts |
Sizes SVG and font icons. |
packages/react-components/react-search/library/src/components/SearchBox/__snapshots__/SearchBox.test.tsx.snap |
Updates search snapshots. |
packages/react-components/react-rating/library/src/components/RatingItem/useRatingItemStyles.styles.ts |
Supports font rating icons. |
packages/react-components/react-overflow/stories/src/Overflow/LargerDividers.stories.tsx |
Migrates and sizes the chevron. |
packages/react-components/react-nav/stories/src/Nav/VariableDensityItems.stories.tsx |
Migrates navigation icons. |
packages/react-components/react-nav/stories/src/Nav/SplitNavItems.stories.tsx |
Migrates split-navigation icons. |
packages/react-components/react-nav/stories/src/Nav/CustomMotion.stories.tsx |
Migrates navigation icons. |
packages/react-components/react-nav/stories/src/Nav/Controlled.stories.tsx |
Migrates controlled-nav icons. |
packages/react-components/react-nav/stories/src/Nav/Basic.stories.tsx |
Migrates basic-nav icons. |
packages/react-components/react-nav/library/src/components/SplitNavItem/useSplitNavItem.tsx |
Migrates pin defaults. |
packages/react-components/react-nav/library/src/components/NavCategoryItem/useNavCategoryItem.tsx |
Migrates and sizes the chevron. |
packages/react-components/react-nav/library/src/components/Hamburger/useHamburger.tsx |
Migrates the navigation icon. |
packages/react-components/react-motion/stories/src/Motion/DisableMotion.stories.tsx |
Migrates the dismiss icon. |
packages/react-components/react-motion/stories/src/Motion/CustomMotion.stories.tsx |
Migrates the dismiss icon. |
packages/react-components/react-motion-components-preview/stories/src/choreography/Stagger/StaggerStaggerOut.stories.tsx |
Migrates the action icon. |
packages/react-components/react-motion-components-preview/stories/src/choreography/Stagger/StaggerStaggerIn.stories.tsx |
Migrates the action icon. |
packages/react-components/react-migration-v0-v9/library/src/components/Button/ButtonMigration.mixins.ts |
Supports font icon selectors. |
packages/react-components/react-migration-v0-v9/library/src/components/Button/__snapshots__/ButtonMigration.mixins.test.ts.snap |
Updates style snapshots. |
packages/react-components/react-migration-v0-v9/library/src/components/Attachment/AttachmentIcon.styles.ts |
Supports font attachment icons. |
packages/react-components/react-migration-v0-v9/library/etc/react-migration-v0-v9.api.md |
Refreshes generated API output. |
packages/react-components/react-message-bar/library/src/components/MessageBar/__snapshots__/MessageBar.test.tsx.snap |
Updates icon snapshot. |
packages/react-components/react-menu/library/src/components/MenuItemSwitch/__snapshots__/MenuItemSwitch.test.tsx.snap |
Updates indicator snapshot. |
packages/react-components/react-menu/library/src/components/MenuItemRadio/useMenuItemRadio.tsx |
Migrates and sizes checkmark. |
packages/react-components/react-menu/library/src/components/MenuItemRadio/useMenuItemRadio.test.tsx |
Updates icon tests. |
packages/react-components/react-menu/library/src/components/MenuItemRadio/__snapshots__/MenuItemRadio.test.tsx.snap |
Updates rendered snapshot. |
packages/react-components/react-menu/library/src/components/MenuItemCheckbox/useMenuItemCheckbox.tsx |
Migrates and sizes checkmark. |
packages/react-components/react-menu/library/src/components/MenuItemCheckbox/useMenuItemCheckbox.test.tsx |
Updates icon tests. |
packages/react-components/react-menu/library/src/components/MenuItemCheckbox/__snapshots__/MenuItemCheckbox.test.tsx.snap |
Updates rendered snapshot. |
packages/react-components/react-list/stories/src/List/MultipleActionsWithPrimary.stories.tsx |
Migrates action icon. |
packages/react-components/react-list/stories/src/List/MultipleActionsSelection.stories.tsx |
Migrates action icon. |
packages/react-components/react-list/stories/src/List/MultipleActionsDifferentPrimary.stories.tsx |
Migrates action icon. |
packages/react-components/react-list/stories/src/List/ListActiveElement.stories.tsx |
Migrates microphone icon. |
packages/react-components/react-input/library/src/components/Input/useInputStyles.styles.ts |
Sizes SVG and font icons. |
packages/react-components/react-infolabel/library/src/components/InfoButton/useInfoButton.tsx |
Uses a resizable size map. |
packages/react-components/react-infolabel/library/src/components/InfoButton/DefaultInfoButtonIcons.tsx |
Consolidates bundled icons. |
packages/react-components/react-headless-components-preview/stories/src/InfoLabel/InfoLabelRequired.stories.tsx |
Migrates and sizes info icon. |
packages/react-components/react-headless-components-preview/stories/src/InfoLabel/InfoLabelInField.stories.tsx |
Migrates and sizes info icon. |
packages/react-components/react-headless-components-preview/stories/src/InfoLabel/InfoLabelDefault.stories.tsx |
Migrates and sizes info icon. |
packages/react-components/react-field/stories/src/Field/FieldRenderFunction.stories.tsx |
Migrates and sizes cat icon. |
packages/react-components/react-field/library/src/components/Field/useField.tsx |
Migrates validation icons. |
packages/react-components/react-field/library/src/components/Field/Field.types.ts |
Updates default-icon documentation. |
packages/react-components/react-drawer/stories/src/Drawer/OverlayInsideContainer.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-drawer/stories/src/Drawer/OverlayDrawerNoModal.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-drawer/stories/src/Drawer/OverlayDrawer.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-drawer/stories/src/Drawer/InlineDrawer.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-drawer/stories/src/Drawer/DrawerWithTitle.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-drawer/stories/src/Drawer/DrawerWithNavigation.stories.tsx |
Migrates navigation icons. |
packages/react-components/react-drawer/stories/src/Drawer/DrawerSize.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-drawer/stories/src/Drawer/DrawerSeparator.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-drawer/stories/src/Drawer/DrawerResponsive.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-drawer/stories/src/Drawer/DrawerResizable.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-drawer/stories/src/Drawer/DrawerPreventClose.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-drawer/stories/src/Drawer/DrawerPosition.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-drawer/stories/src/Drawer/DrawerMultipleLevels.stories.tsx |
Migrates navigation icons. |
packages/react-components/react-drawer/stories/src/Drawer/DrawerMotionDisabled.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-drawer/stories/src/Drawer/DrawerMotionCustom.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-drawer/stories/src/Drawer/DrawerKeepRenderedInTheDOM.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-drawer/stories/src/Drawer/DrawerDefault.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-drawer/stories/src/Drawer/DrawerCustomSize.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-drawer/library/README.md |
Updates drawer example. |
packages/react-components/react-dialog/stories/src/Dialog/DialogTitleCustomAction.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-dialog/stories/src/Dialog/DialogBackdropAppearance.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-dialog/library/src/components/DialogTitle/useDialogTitle.tsx |
Migrates and sizes default action. |
packages/react-components/react-combobox/stories/src/Dropdown/DropdownCustomOptions.stories.tsx |
Migrates custom-option icons. |
packages/react-components/react-combobox/stories/src/Combobox/ComboboxMultiselectWithTags.stories.tsx |
Migrates dismiss icon. |
packages/react-components/react-combobox/stories/src/Combobox/ComboboxCustomOptions.stories.tsx |
Migrates checkmark icon. |
packages/react-components/react-combobox/library/src/components/Option/useOptionStyles.styles.ts |
Supports font checkmarks. |
packages/react-components/react-combobox/library/src/components/Option/useOption.tsx |
Migrates option checkmarks. |
packages/react-components/react-combobox/library/src/components/Option/__snapshots__/Option.test.tsx.snap |
Updates option snapshots. |
packages/react-components/react-combobox/library/src/components/Dropdown/useDropdownStyles.styles.ts |
Supports font dropdown icons. |
packages/react-components/react-combobox/library/src/components/Combobox/useComboboxStyles.styles.ts |
Supports font combobox icons. |
packages/react-components/react-checkbox/library/src/components/Checkbox/useCheckbox.tsx |
Migrates indicator icons. |
packages/react-components/react-checkbox/library/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap |
Updates indicator snapshots. |
packages/react-components/react-carousel/library/src/components/CarouselNavContainer/__snapshots__/CarouselNavContainer.test.tsx.snap |
Updates navigation snapshots. |
packages/react-components/react-carousel/library/src/components/CarouselButton/__snapshots__/CarouselButton.test.tsx.snap |
Updates button snapshot. |
packages/react-components/react-carousel/library/src/components/CarouselAutoplayButton/__snapshots__/CarouselAutoplayButton.test.tsx.snap |
Updates autoplay snapshot. |
packages/react-components/react-card/stories/src/CardHeader/CardHeaderDefault.stories.tsx |
Migrates action icons. |
packages/react-components/react-card/stories/src/CardFooter/CardFooterDefault.stories.tsx |
Migrates footer icons. |
packages/react-components/react-card/stories/src/Card/CardTemplates.stories.tsx |
Migrates and sizes template icons. |
packages/react-components/react-card/stories/src/Card/CardSelectableIndicator.stories.tsx |
Migrates action icons. |
packages/react-components/react-card/stories/src/Card/CardSelectable.stories.tsx |
Migrates action icon. |
packages/react-components/react-card/stories/src/Card/CardOrientation.stories.tsx |
Migrates action icons. |
packages/react-components/react-card/stories/src/Card/CardFocusMode.stories.tsx |
Migrates card icons. |
packages/react-components/react-card/stories/src/Card/CardAppearance.stories.tsx |
Migrates action icon. |
packages/react-components/react-card/stories/src/Card/CardAction.stories.tsx |
Migrates card icons. |
packages/react-components/react-card/library/README.md |
Updates card example. |
packages/react-components/react-breadcrumb/stories/src/Breadcrumb/BreadcrumbSize.stories.tsx |
Migrates bundled calendar icon. |
packages/react-components/react-breadcrumb/library/src/components/BreadcrumbDivider/BreadcrumbDivider.test.tsx |
Updates divider snapshot. |
packages/react-components/react-breadcrumb/library/src/components/BreadcrumbButton/BreadcrumbButton.test.tsx |
Migrates test icon and snapshot. |
packages/react-components/react-badge/library/src/components/PresenceBadge/usePresenceBadgeStyles.styles.ts |
Adds six resizable icon sizes. |
packages/react-components/react-badge/library/src/components/PresenceBadge/PresenceBadge.test.tsx |
Tests the size matrix. |
packages/react-components/react-badge/library/src/components/PresenceBadge/__snapshots__/PresenceBadge.test.tsx.snap |
Updates presence snapshot. |
packages/react-components/react-accordion/stories/src/Accordion/AccordionExpandIcon.stories.tsx |
Migrates and sizes expand icons. |
packages/react-components/react-accordion/library/src/components/AccordionHeader/__snapshots__/AccordionHeader.test.tsx.snap |
Updates chevron snapshot. |
packages/react-components/deprecated/react-infobutton/src/components/InfoButton/useInfoButton.tsx |
Uses a resizable size map. |
packages/react-components/deprecated/react-infobutton/src/components/InfoButton/DefaultInfoButtonIcons.tsx |
Consolidates bundled icons. |
packages/eslint-plugin/src/configs/react/config.js |
Enables prefer-resizable. |
packages/eslint-plugin/package.json |
Adds the lint plugin dependency. |
packages/charts/react-charts/library/src/components/GaugeChart/__snapshots__/GaugeChart.test.tsx.snap |
Updates icon snapshot. |
package.json |
Upgrades icons and adds tooling. |
change/*.json |
Adds package release notes. |
apps/vr-tests-react-components/src/stories/Tree.stories.tsx |
Migrates visual-test tree icons. |
apps/vr-tests-react-components/src/stories/Field.stories.tsx |
Migrates validation icon. |
apps/vr-tests-react-components/src/stories/Drawer/Drawer.stories.tsx |
Migrates drawer icons. |
apps/vr-tests-react-components/src/stories/Dialog/Dialog.stories.tsx |
Migrates dialog icons. |
apps/vr-tests-react-components/src/stories/Card/utils.tsx |
Migrates card utility icons. |
apps/vr-tests-react-components/src/stories/Card/Card.stories.tsx |
Migrates card action icons. |
apps/vr-tests-react-components/src/stories/Breadcrumb/utils.tsx |
Migrates bundled calendar icon. |
apps/public-docsite-v9/src/Concepts/Migration/FromV8/Components/RadioGroup.mdx |
Migrates migration-guide icon. |
apps/public-docsite-v9/src/Concepts/Migration/FromV8/Components/Card/CardFooter.mdx |
Migrates footer example icons. |
apps/public-docsite-v9/src/Concepts/Accessibility/LabellingExamples/Examples.stories.tsx |
Migrates accessibility examples. |
apps/public-docsite-v9/src/AccessibilityScenarios/Tooltip.stories.tsx |
Migrates tooltip examples. |
apps/public-docsite-v9/project.json |
Adds icon variant cache input. |
apps/public-docsite-v9/.storybook/main.js |
Configures icon webpack support. |
apps/public-docsite-v9-headless/project.json |
Adds icon variant cache inputs. |
apps/public-docsite-v9-headless/.storybook/main.js |
Configures headless icon builds. |
.storybook/react-icons-webpack.js |
Adds atomic/font icon webpack setup. |
.storybook/react-icons-font.css |
Prevents synthetic font-icon bolding. |
Review details
Suppressed comments (3)
packages/react-components/react-nav/stories/src/Nav/Basic.stories.tsx:135
AppItemdoes not set an icon font size, so this resizable icon inheritsbody1instead of preserving the former 32px dimensions.
packages/react-components/react-nav/stories/src/Nav/Controlled.stories.tsx:219AppItemdoes not set an icon font size, so this resizable icon inheritsbody1instead of preserving the former 32px dimensions.
packages/react-components/react-nav/stories/src/Nav/CustomMotion.stories.tsx:218AppItemdoes not set an icon font size, so this resizable icon inheritsbody1instead of preserving the former 32px dimensions.
- Files reviewed: 178/179 changed files
- Comments generated: 14
- Review effort level: Balanced
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| /* Prevent inherited text weight from synthetically bolding font icons. | ||
| * TODO: Remove when https://github.com/microsoft/fluentui-system-icons/issues/1235 is fixed. | ||
| */ | ||
| :where([data-fui-icon]) { |
| views > 0 ? ( | ||
| <span className={styles.actions}> | ||
| <Eye20Regular aria-hidden /> | ||
| <EyeRegular aria-hidden /> |
| children: ( | ||
| <> | ||
| A <AnimalCat24Regular /> | ||
| A <AnimalCatRegular /> |
| <TreeItemLayout | ||
| aside={<Important16Regular primaryFill="red" />} | ||
| iconBefore={<Image20Regular />} | ||
| aside={<ImportantRegular primaryFill="red" />} |
| return ( | ||
| <Option text={animal} className={styles.option} checkIcon={<CheckboxChecked24Regular />} {...optionProps}> | ||
| <Option text={animal} className={styles.option} checkIcon={<CheckboxCheckedRegular />} {...optionProps}> | ||
| <Icon className={styles.icon} /> |
| const CareerDevelopment = bundleIcon(PeopleStar20Filled, PeopleStar20Regular); | ||
| const Analytics = bundleIcon(DataArea20Filled, DataArea20Regular); | ||
| const Reports = bundleIcon(DocumentBulletListMultiple20Filled, DocumentBulletListMultiple20Regular); | ||
| const Person = bundleIcon(PersonFilled, PersonRegular); |
| export const IconMediaObject = (): JSXElement => ( | ||
| <MediaObject | ||
| media={<Attach24Regular />} | ||
| media={<AttachRegular />} |
| <MediaObject | ||
| textPosition={textPosition} | ||
| media={<Attach24Regular />} | ||
| media={<AttachRegular />} |
| textAlignment={alignment} | ||
| key={alignment} | ||
| media={<Attach24Regular />} | ||
| media={<AttachRegular />} |
…l bump type issues
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Previous Behavior
React packages could import fixed-size Fluent icon exports such as
Dismiss20Regular. Sized icon usage was not prevented by lint, SVG-specific style selectors did not cover font icon variants, and the public Storybooks consumed the icon barrel directly.New Behavior
@fluentui/react-icons/prefer-resizableas an error in the shared React ESLint config.fontSizeprops.ibranches so font glyphs receive the same sizing and layout styles.FLUENTUI_ICON_VARIANT=fontsis set, with build-time font subsetting and SVG fallback for unsupported/color icons.Font icon selector choice
Font icon variants render as an
ielement, while SVG variants render assvg. Runtime component styles therefore use explicit selector lists such as& svg, & i, preserving the original descendant or direct-child combinator.We deliberately use
iinstead of:where([data-fui-icon])because:where()is not available across the repository’s supported browser matrix.iandsvgare both type selectors with the same CSS specificity, so the font branch aligns with the existing SVG branch and preserves equivalent cascade behavior. These selectors remain scoped to component icon slots to avoid matching unrelated italic content.Validation:
yarn beachball check, dependency version validation, formatting, and diff checks passed.Bundle size impact
The
@fluentui/react-iconsupgrade initially resolved a second Griffel runtime: repo packages used@griffel/react@1.5.32, while icons required^1.6.1and resolved1.7.7. That duplicated shared Griffel code in every styled package containing icons and produced a repeated ~5.7 kB minified increase. The lockfile now deduplicates@griffel/reactto1.7.7and@griffel/coreto1.21.3.A controlled bundle of the same
WarningFilledicon with one Griffel runtime isolates the remaining icon factory cost:The remaining cost comes from the newer shared SVG factory/runtime: CSP-safe color icon trees, scoped SVG IDs and URL references, color-child resolution,
idPrefixmemoization, shared SVG rendering, anddata-fui-icon.After deduplication, formerly failing fixtures are only 1.8%-4.38% above baseline and below their 10% thresholds. For example, Field changes from 22.311 kB to 23.289 kB (+978 B / 4.38%). The complete styled
react-componentsfixture decreases by 5.959 kB minified / 1.8 kB GZIP because sized icon duplication is removed.react-headless-components-previewdoes not increase: its entire-library fixture remains 241.384 kB minified, and its TagPicker and TeachingPopover fixtures are also unchanged. Only headless stories import the migrated icons; the measured headless library does not.Related Issue(s)