Skip to content

React utilities interfaces to types#19875

Merged
GeoffCoxMSFT merged 2 commits intomasterfrom
react-utilities-interfaces-to-types
Sep 21, 2021
Merged

React utilities interfaces to types#19875
GeoffCoxMSFT merged 2 commits intomasterfrom
react-utilities-interfaces-to-types

Conversation

@GeoffCoxMSFT
Copy link
Member

Pull request checklist

Description of changes

Updates the definitions in react-utilities to use types instead of interfaces.
Per RFC: #19775

Focus areas to test

(optional)

@GeoffCoxMSFT GeoffCoxMSFT self-assigned this Sep 20, 2021
@codesandbox-ci
Copy link

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.

Latest deployment of this branch, based on commit 6cf0191:

Sandbox Source
@fluentui/react 8 starter Configuration

@fabricteam
Copy link
Collaborator

📊 Bundle size report

Unchanged fixtures
Package & Exports Size (minified/GZIP)
react-accordion
Accordion (including children components)
55.248 kB
17.403 kB
react-avatar
Avatar
56.558 kB
15.66 kB
react-badge
Badge
24.343 kB
7.165 kB
react-badge
CounterBadge
27.156 kB
7.851 kB
react-badge
PresenseBadge
237 B
177 B
react-button
Button
22.932 kB
6.984 kB
react-button
CompoundButton
28.215 kB
7.834 kB
react-button
MenuButton
24.784 kB
7.569 kB
react-button
Button
30.537 kB
8.796 kB
react-button
ToggleButton
32.527 kB
7.601 kB
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
164.296 kB
46.863 kB
react-components
react-components: FluentProvider & webLightTheme
35.754 kB
11.393 kB
react-divider
Divider
15.889 kB
5.747 kB
react-image
Image
9.804 kB
3.942 kB
react-input
Input
31.636 kB
11.312 kB
react-label
Label
9.397 kB
3.839 kB
react-link
Link
11.633 kB
4.582 kB
react-make-styles
makeStaticStyles (runtime)
7.59 kB
3.321 kB
react-make-styles
makeStyles + mergeClasses (runtime)
22.135 kB
8.356 kB
react-make-styles
makeStyles + mergeClasses (build time)
2.557 kB
1.202 kB
react-menu
Menu (including children components)
103.402 kB
31.415 kB
react-menu
Menu (including selectable components)
105.678 kB
31.769 kB
react-popover
Popover
100.411 kB
30.075 kB
react-portal
Portal
6.725 kB
2.237 kB
react-positioning
usePopper
23.145 kB
7.942 kB
react-provider
FluentProvider
15.748 kB
5.773 kB
react-slider
Slider
30.697 kB
9.75 kB
react-switch
Switch
18.816 kB
6.277 kB
react-text
Text - Default
11.798 kB
4.452 kB
react-text
Text - Wrappers
15.414 kB
4.734 kB
react-tooltip
Tooltip
46.02 kB
15.663 kB
react-utilities
SSRProvider
213 B
170 B
🤖 This report was generated against ecf1896432b9c9963fa938d99062ea5423d73fca

@size-auditor
Copy link

size-auditor bot commented Sep 20, 2021

Asset size changes

Size Auditor did not detect a change in bundle size for any component!

Baseline commit: ecf1896432b9c9963fa938d99062ea5423d73fca (build)

@fabricteam
Copy link
Collaborator

Perf Analysis (@fluentui/react)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 864 860 5000
BaseButton mount 875 870 5000
Breadcrumb mount 2521 2540 1000
ButtonNext mount 428 423 5000
Checkbox mount 1431 1439 5000
CheckboxBase mount 1203 1267 5000
ChoiceGroup mount 4446 4493 5000
ComboBox mount 919 928 1000
CommandBar mount 9696 9746 1000
ContextualMenu mount 6172 6207 1000
DefaultButton mount 1077 1075 5000
DetailsRow mount 3490 3559 5000
DetailsRowFast mount 3552 3537 5000
DetailsRowNoStyles mount 3323 3333 5000
Dialog mount 2286 2315 1000
DocumentCardTitle mount 145 144 1000
Dropdown mount 3104 3030 5000
FluentProviderNext mount 7081 7182 5000
FluentProviderWithTheme mount 355 341 10
FluentProviderWithTheme virtual-rerender 87 101 10
FluentProviderWithTheme virtual-rerender-with-unmount 458 468 10
FocusTrapZone mount 1681 1692 5000
FocusZone mount 1689 1712 5000
IconButton mount 1626 1675 5000
Label mount 319 314 5000
Layer mount 2824 2864 5000
Link mount 441 453 5000
MakeStyles mount 1773 1765 50000
MenuButton mount 1380 1398 5000
MessageBar mount 1926 1936 5000
Nav mount 3113 3139 1000
OverflowSet mount 1079 1062 5000
Panel mount 2253 2249 1000
Persona mount 778 795 1000
Pivot mount 1344 1327 1000
PrimaryButton mount 1212 1214 5000
Rating mount 7228 7472 5000
SearchBox mount 1243 1239 5000
Shimmer mount 2369 2354 5000
Slider mount 1897 1843 5000
SpinButton mount 4838 4673 5000
Spinner mount 397 414 5000
SplitButton mount 2973 2953 5000
Stack mount 473 452 5000
StackWithIntrinsicChildren mount 1486 1482 5000
StackWithTextChildren mount 4251 4284 5000
SwatchColorPicker mount 9604 9657 5000
Tabs mount 1314 1298 1000
TagPicker mount 2410 2415 5000
TeachingBubble mount 12527 12554 5000
Text mount 396 385 5000
TextField mount 1288 1332 5000
ThemeProvider mount 1096 1144 5000
ThemeProvider virtual-rerender 564 556 5000
ThemeProvider virtual-rerender-with-unmount 1776 1797 5000
Toggle mount 757 762 5000
buttonNative mount 117 103 5000

Perf Analysis (@fluentui/react-northstar)

⚠️ 1 potential perf regressions detected

Potential regressions comparing to master

Scenario Current PR Ticks Baseline Ticks Ratio Regression Analysis
ButtonSlotsPerf.default 498 513 0.97:1 analysis
Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
AvatarMinimalPerf.default 194 178 1.09:1
FlexMinimalPerf.default 294 269 1.09:1
ListWith60ListItems.default 638 589 1.08:1
BoxMinimalPerf.default 348 325 1.07:1
AlertMinimalPerf.default 261 246 1.06:1
AnimationMinimalPerf.default 397 373 1.06:1
ChatDuplicateMessagesPerf.default 284 270 1.05:1
GridMinimalPerf.default 333 318 1.05:1
RefMinimalPerf.default 227 217 1.05:1
AccordionMinimalPerf.default 140 134 1.04:1
ChatMinimalPerf.default 617 596 1.04:1
DropdownManyItemsPerf.default 665 639 1.04:1
SkeletonMinimalPerf.default 340 328 1.04:1
AttachmentSlotsPerf.default 1022 993 1.03:1
LayoutMinimalPerf.default 350 341 1.03:1
ProviderMergeThemesPerf.default 1633 1592 1.03:1
TableManyItemsPerf.default 1829 1768 1.03:1
ButtonMinimalPerf.default 166 162 1.02:1
CardMinimalPerf.default 525 514 1.02:1
CarouselMinimalPerf.default 447 439 1.02:1
ListCommonPerf.default 601 591 1.02:1
LoaderMinimalPerf.default 678 662 1.02:1
ReactionMinimalPerf.default 347 339 1.02:1
TreeMinimalPerf.default 782 769 1.02:1
TreeWith60ListItems.default 172 169 1.02:1
CheckboxMinimalPerf.default 2627 2606 1.01:1
DialogMinimalPerf.default 746 738 1.01:1
DropdownMinimalPerf.default 3062 3031 1.01:1
ItemLayoutMinimalPerf.default 1148 1138 1.01:1
MenuMinimalPerf.default 806 799 1.01:1
PortalMinimalPerf.default 171 169 1.01:1
ToolbarMinimalPerf.default 887 876 1.01:1
ButtonOverridesMissPerf.default 1618 1610 1:1
DividerMinimalPerf.default 342 343 1:1
InputMinimalPerf.default 1208 1214 1:1
LabelMinimalPerf.default 357 357 1:1
MenuButtonMinimalPerf.default 1555 1551 1:1
RosterPerf.default 1107 1105 1:1
ProviderMinimalPerf.default 958 958 1:1
SegmentMinimalPerf.default 323 324 1:1
SliderMinimalPerf.default 1512 1515 1:1
SplitButtonMinimalPerf.default 3926 3921 1:1
TextMinimalPerf.default 327 327 1:1
CustomToolbarPrototype.default 3698 3705 1:1
ChatWithPopoverPerf.default 337 340 0.99:1
EmbedMinimalPerf.default 4030 4060 0.99:1
ListMinimalPerf.default 479 483 0.99:1
PopupMinimalPerf.default 567 572 0.99:1
StatusMinimalPerf.default 623 627 0.99:1
IconMinimalPerf.default 583 588 0.99:1
TableMinimalPerf.default 379 382 0.99:1
TooltipMinimalPerf.default 976 983 0.99:1
VideoMinimalPerf.default 594 597 0.99:1
AttachmentMinimalPerf.default 143 146 0.98:1
ListNestedPerf.default 501 511 0.98:1
HeaderSlotsPerf.default 724 749 0.97:1
RadioGroupMinimalPerf.default 411 425 0.97:1
DatepickerMinimalPerf.default 5254 5480 0.96:1
HeaderMinimalPerf.default 331 348 0.95:1
ImageMinimalPerf.default 331 347 0.95:1
FormMinimalPerf.default 361 389 0.93:1
TextAreaMinimalPerf.default 452 500 0.9:1

@GeoffCoxMSFT GeoffCoxMSFT merged commit 32e1df6 into master Sep 21, 2021
@GeoffCoxMSFT GeoffCoxMSFT deleted the react-utilities-interfaces-to-types branch November 5, 2021 14:17
mlp73 pushed a commit to mlp73/fluentui that referenced this pull request Jan 17, 2022
* Moved from interfaces to types per RFC

* Change files
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update vNext component props to use types

3 participants