fluentui
fluentui copied to clipboard
[POC] introduce v9 for react charting package
Previous Behavior
New Behavior
Related Issue(s)
- Fixes #
This pull request is automatically built and testable in CodeSandbox.
To see build info of the built libraries, click here or the icon next to each commit SHA.
/azp run
Azure Pipelines successfully started running 4 pipeline(s).
Perf Analysis (@fluentui/react-components)
No significant results to display.
All results
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| Avatar | mount | 622 | 634 | 5000 | |
| Button | mount | 307 | 289 | 5000 | |
| Field | mount | 1108 | 1159 | 5000 | |
| FluentProvider | mount | 691 | 690 | 5000 | |
| FluentProviderWithTheme | mount | 83 | 85 | 10 | |
| FluentProviderWithTheme | virtual-rerender | 63 | 62 | 10 | |
| FluentProviderWithTheme | virtual-rerender-with-unmount | 69 | 96 | 10 | |
| MakeStyles | mount | 841 | 842 | 50000 | |
| Persona | mount | 1739 | 1738 | 5000 | |
| SpinButton | mount | 1339 | 1363 | 5000 |
Perf Analysis (@fluentui/react-northstar)
:warning: 1 potential perf regressions detected
Potential regressions comparing to master
| Scenario | Current PR Ticks | Baseline Ticks | Ratio | Regression Analysis |
|---|---|---|---|---|
| AccordionMinimalPerf.default | 89 | 89 | 1:1 | analysis |
Perf tests with no regressions
| Scenario | Current PR Ticks | Baseline Ticks | Ratio |
|---|---|---|---|
| ChatDuplicateMessagesPerf.default | 161 | 139 | 1.16:1 |
| AttachmentMinimalPerf.default | 79 | 72 | 1.1:1 |
| TextAreaMinimalPerf.default | 309 | 281 | 1.1:1 |
| AvatarMinimalPerf.default | 119 | 109 | 1.09:1 |
| SkeletonMinimalPerf.default | 204 | 187 | 1.09:1 |
| ButtonMinimalPerf.default | 92 | 86 | 1.07:1 |
| ProviderMinimalPerf.default | 205 | 194 | 1.06:1 |
| TreeWith60ListItems.default | 93 | 88 | 1.06:1 |
| CardMinimalPerf.default | 307 | 293 | 1.05:1 |
| HeaderSlotsPerf.default | 466 | 445 | 1.05:1 |
| RadioGroupMinimalPerf.default | 266 | 253 | 1.05:1 |
| AlertMinimalPerf.default | 159 | 153 | 1.04:1 |
| ChatMinimalPerf.default | 444 | 425 | 1.04:1 |
| DialogMinimalPerf.default | 447 | 431 | 1.04:1 |
| ImageMinimalPerf.default | 225 | 216 | 1.04:1 |
| ItemLayoutMinimalPerf.default | 719 | 689 | 1.04:1 |
| RosterPerf.default | 1572 | 1507 | 1.04:1 |
| TableMinimalPerf.default | 240 | 231 | 1.04:1 |
| DropdownManyItemsPerf.default | 387 | 375 | 1.03:1 |
| DropdownMinimalPerf.default | 1451 | 1411 | 1.03:1 |
| GridMinimalPerf.default | 192 | 187 | 1.03:1 |
| ListWith60ListItems.default | 355 | 343 | 1.03:1 |
| PopupMinimalPerf.default | 365 | 354 | 1.03:1 |
| StatusMinimalPerf.default | 388 | 378 | 1.03:1 |
| ToolbarMinimalPerf.default | 541 | 526 | 1.03:1 |
| ButtonOverridesMissPerf.default | 665 | 652 | 1.02:1 |
| DividerMinimalPerf.default | 197 | 194 | 1.02:1 |
| SliderMinimalPerf.default | 751 | 739 | 1.02:1 |
| TableManyItemsPerf.default | 1123 | 1096 | 1.02:1 |
| TooltipMinimalPerf.default | 1273 | 1243 | 1.02:1 |
| AttachmentSlotsPerf.default | 635 | 631 | 1.01:1 |
| BoxMinimalPerf.default | 199 | 198 | 1.01:1 |
| ChatWithPopoverPerf.default | 193 | 192 | 1.01:1 |
| FlexMinimalPerf.default | 156 | 154 | 1.01:1 |
| InputMinimalPerf.default | 545 | 541 | 1.01:1 |
| ListNestedPerf.default | 323 | 319 | 1.01:1 |
| MenuMinimalPerf.default | 501 | 494 | 1.01:1 |
| CustomToolbarPrototype.default | 1476 | 1466 | 1.01:1 |
| CarouselMinimalPerf.default | 262 | 263 | 1:1 |
| CheckboxMinimalPerf.default | 1097 | 1101 | 1:1 |
| DatepickerMinimalPerf.default | 3653 | 3635 | 1:1 |
| EmbedMinimalPerf.default | 1875 | 1873 | 1:1 |
| FormMinimalPerf.default | 220 | 219 | 1:1 |
| ReactionMinimalPerf.default | 214 | 215 | 1:1 |
| RefMinimalPerf.default | 106 | 106 | 1:1 |
| SegmentMinimalPerf.default | 203 | 202 | 1:1 |
| ButtonSlotsPerf.default | 304 | 307 | 0.99:1 |
| LayoutMinimalPerf.default | 197 | 198 | 0.99:1 |
| ListCommonPerf.default | 382 | 387 | 0.99:1 |
| MenuButtonMinimalPerf.default | 937 | 944 | 0.99:1 |
| PortalMinimalPerf.default | 81 | 82 | 0.99:1 |
| LoaderMinimalPerf.default | 186 | 190 | 0.98:1 |
| ProviderMergeThemesPerf.default | 640 | 651 | 0.98:1 |
| TextMinimalPerf.default | 193 | 196 | 0.98:1 |
| TreeMinimalPerf.default | 473 | 484 | 0.98:1 |
| VideoMinimalPerf.default | 409 | 417 | 0.98:1 |
| HeaderMinimalPerf.default | 198 | 204 | 0.97:1 |
| LabelMinimalPerf.default | 206 | 212 | 0.97:1 |
| SplitButtonMinimalPerf.default | 2217 | 2280 | 0.97:1 |
| IconMinimalPerf.default | 375 | 385 | 0.97:1 |
| AnimationMinimalPerf.default | 297 | 308 | 0.96:1 |
| ListMinimalPerf.default | 302 | 317 | 0.95:1 |
🕵 FluentUIV0 No visual regressions between this PR and main
📊 Bundle size report
Unchanged fixtures
| Package & Exports | Size (minified/GZIP) |
|---|---|
| global-context createContext |
510 B328 B |
| global-context createContextSelector |
537 B339 B |
| keyboard-key keyboard-key package |
3.746 kB1.928 kB |
| priority-overflow createOverflowManager |
4.447 kB1.853 kB |
| react-accordion Accordion (including children components) |
100.12 kB30.422 kB |
| react-alert Alert |
83.737 kB23.474 kB |
| react-avatar Avatar |
50.175 kB15.944 kB |
| react-avatar AvatarGroup |
19.704 kB7.796 kB |
| react-avatar AvatarGroupItem |
64.831 kB20.274 kB |
| react-badge Badge |
26.905 kB8.729 kB |
| react-badge CounterBadge |
27.806 kB9.024 kB |
| react-badge PresenceBadge |
25.311 kB9.306 kB |
| react-breadcrumb @fluentui/react-breadcrumb - package |
115.465 kB31.832 kB |
| react-button Button |
39.513 kB11.169 kB |
| react-button CompoundButton |
46.874 kB12.661 kB |
| react-button MenuButton |
44.292 kB12.542 kB |
| react-button SplitButton |
52.306 kB14.134 kB |
| react-button ToggleButton |
56.559 kB13.068 kB |
| react-calendar-compat Calendar Compat |
152.067 kB39.826 kB |
| react-card Card - All |
101.55 kB28.92 kB |
| react-card Card |
96.373 kB27.403 kB |
| react-card CardFooter |
13.064 kB5.385 kB |
| react-card CardHeader |
15.307 kB6.143 kB |
| react-card CardPreview |
14.015 kB5.752 kB |
| react-checkbox Checkbox |
35.65 kB12.076 kB |
| react-combobox Combobox (including child components) |
102.176 kB32.976 kB |
| react-combobox Dropdown (including child components) |
103.543 kB32.927 kB |
| react-components react-components: Button, FluentProvider & webLightTheme |
70.726 kB20.47 kB |
| react-components react-components: Accordion, Button, FluentProvider, Image, Menu, Popover |
217.193 kB61.95 kB |
| react-components react-components: FluentProvider & webLightTheme |
43.211 kB14.303 kB |
| react-datepicker-compat DatePicker Compat |
224.513 kB62.955 kB |
| react-dialog Dialog (including children components) |
100.923 kB29.928 kB |
| react-divider Divider |
20.82 kB7.763 kB |
| react-field Field |
22.544 kB8.61 kB |
| react-image Image |
15.745 kB6.23 kB |
| react-infobutton InfoButton |
138.69 kB43.394 kB |
| react-infobutton InfoLabel |
142.491 kB44.625 kB |
| react-input Input |
26.887 kB9.118 kB |
| react-jsx-runtime Classic Pragma |
1.057 kB530 B |
| react-jsx-runtime JSX Dev Runtime |
3.783 kB1.648 kB |
| react-jsx-runtime JSX Runtime |
4.377 kB1.881 kB |
| react-label Label |
14.266 kB5.828 kB |
| react-link Link |
17.082 kB6.911 kB |
| react-menu Menu (including children components) |
149.422 kB45.506 kB |
| react-menu Menu (including selectable components) |
152.108 kB46.016 kB |
| react-message-bar MessageBar (all components) |
25.566 kB9.131 kB |
| react-overflow hooks only |
12.862 kB4.827 kB |
| react-persona Persona |
57.066 kB17.821 kB |
| react-popover Popover |
126.88 kB39.806 kB |
| react-portal Portal |
13.629 kB4.875 kB |
| react-portal-compat PortalCompatProvider |
7.94 kB2.592 kB |
| react-positioning usePositioning |
26.398 kB9.539 kB |
| react-progress ProgressBar |
17.428 kB6.898 kB |
| react-provider FluentProvider |
23.751 kB8.66 kB |
| react-radio Radio |
32.946 kB10.252 kB |
| react-radio RadioGroup |
15.354 kB6.265 kB |
| react-select Select |
28.609 kB10.205 kB |
| react-slider Slider |
39.943 kB12.969 kB |
| react-spinbutton SpinButton |
36.774 kB11.788 kB |
| react-spinner Spinner |
23.517 kB8.512 kB |
| react-switch Switch |
35.134 kB11.198 kB |
| react-table DataGrid |
165.162 kB45.897 kB |
| react-table Table (Primitives only) |
45.318 kB14.117 kB |
| react-table Table as DataGrid |
136.542 kB36.827 kB |
| react-table Table (Selection only) |
76.307 kB20.546 kB |
| react-table Table (Sort only) |
74.973 kB20.156 kB |
| react-tags InteractionTag |
15.259 kB6.058 kB |
| react-tags Tag |
29.982 kB9.439 kB |
| react-tags TagGroup |
80.55 kB24.027 kB |
| react-text Text - Default |
16.705 kB6.569 kB |
| react-text Text - Wrappers |
19.878 kB6.896 kB |
| react-textarea Textarea |
30.947 kB10.476 kB |
| react-theme Single theme token import |
69 B89 B |
| react-theme Teams: all themes |
34.616 kB7.317 kB |
| react-theme Teams: Light theme |
19.287 kB5.498 kB |
| react-timepicker-compat TimePicker |
104.206 kB34.375 kB |
| react-toast Toast (including Toaster) |
100.192 kB29.763 kB |
| react-tooltip Tooltip |
54.576 kB19.192 kB |
| react-utilities SSRProvider |
180 B160 B |
Perf Analysis (@fluentui/react)
No significant results to display.
All results
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| BaseButton | mount | 639 | 650 | 5000 | |
| Breadcrumb | mount | 1720 | 1711 | 1000 | |
| Checkbox | mount | 1705 | 1726 | 5000 | |
| CheckboxBase | mount | 1474 | 1474 | 5000 | |
| ChoiceGroup | mount | 2969 | 2968 | 5000 | |
| ComboBox | mount | 670 | 676 | 1000 | |
| CommandBar | mount | 6397 | 6420 | 1000 | |
| ContextualMenu | mount | 14983 | 15345 | 1000 | |
| DefaultButton | mount | 784 | 767 | 5000 | |
| DetailsRow | mount | 2196 | 2221 | 5000 | |
| DetailsRowFast | mount | 2250 | 2213 | 5000 | |
| DetailsRowNoStyles | mount | 2055 | 2034 | 5000 | |
| Dialog | mount | 2808 | 2787 | 1000 | |
| DocumentCardTitle | mount | 232 | 235 | 1000 | |
| Dropdown | mount | 1990 | 1972 | 5000 | |
| FocusTrapZone | mount | 1183 | 1136 | 5000 | |
| FocusZone | mount | 1098 | 1114 | 5000 | |
| GroupedList | mount | 37992 | 42609 | 2 | |
| GroupedList | virtual-rerender | 20375 | 20392 | 2 | |
| GroupedList | virtual-rerender-with-unmount | 51702 | 51712 | 2 | |
| GroupedListV2 | mount | 233 | 228 | 2 | |
| GroupedListV2 | virtual-rerender | 211 | 212 | 2 | |
| GroupedListV2 | virtual-rerender-with-unmount | 235 | 226 | 2 | |
| IconButton | mount | 1077 | 1101 | 5000 | |
| Label | mount | 334 | 346 | 5000 | |
| Layer | mount | 2772 | 2769 | 5000 | |
| Link | mount | 390 | 400 | 5000 | |
| MenuButton | mount | 953 | 934 | 5000 | |
| MessageBar | mount | 21420 | 21532 | 5000 | |
| Nav | mount | 1973 | 1978 | 1000 | |
| OverflowSet | mount | 794 | 790 | 5000 | |
| Panel | mount | 2102 | 1767 | 1000 | |
| Persona | mount | 754 | 754 | 1000 | |
| Pivot | mount | 864 | 860 | 1000 | |
| PrimaryButton | mount | 850 | 841 | 5000 | |
| Rating | mount | 4636 | 4669 | 5000 | |
| SearchBox | mount | 949 | 899 | 5000 | |
| Shimmer | mount | 1906 | 1937 | 5000 | |
| Slider | mount | 1326 | 1328 | 5000 | |
| SpinButton | mount | 2882 | 2935 | 5000 | |
| Spinner | mount | 386 | 380 | 5000 | |
| SplitButton | mount | 1838 | 1863 | 5000 | |
| Stack | mount | 408 | 413 | 5000 | |
| StackWithIntrinsicChildren | mount | 862 | 889 | 5000 | |
| StackWithTextChildren | mount | 2652 | 2639 | 5000 | |
| SwatchColorPicker | mount | 6322 | 6208 | 5000 | |
| TagPicker | mount | 1473 | 1461 | 5000 | |
| Text | mount | 365 | 374 | 5000 | |
| TextField | mount | 964 | 939 | 5000 | |
| ThemeProvider | mount | 827 | 847 | 5000 | |
| ThemeProvider | virtual-rerender | 591 | 587 | 5000 | |
| ThemeProvider | virtual-rerender-with-unmount | 1287 | 1303 | 5000 | |
| Toggle | mount | 603 | 606 | 5000 | |
| buttonNative | mount | 193 | 184 | 5000 |
🕵 fluentuiv9 No visual regressions between this PR and main
Closing for housekeeping 🏡 Feel free to re-open