Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move descendants to react-utilities #17528

Merged
merged 3 commits into from
Mar 24, 2021

Conversation

ling1726
Copy link
Member

@ling1726 ling1726 commented Mar 23, 2021

This PR moves the descendants utility from react-accordion to
react-utilities and adds inline polyfills because of type leakage in
component packages from react-conformance (see #17101)

Pull request checklist

  • Addresses an existing issue: Fixes #0000
  • Include a change request file using $ yarn change

Description of changes

(give an overview)

Focus areas to test

(optional)

This PR moves the descendants utility from `react-accordion` to
`react-utilities` and adds inline polyfills because of type leakage in
component packages from `react-conformance` (see microsoft#17101)
@ling1726 ling1726 requested a review from bsunderhus March 23, 2021 17:42
@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 51a4c78:

Sandbox Source
Fluent UI Button Configuration
codesandbox-react-template Configuration
codesandbox-react-northstar-template Configuration

@fabricteam
Copy link
Collaborator

Perf Analysis

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 1237 1239 5000
BaseButton mount 997 997 5000
Breadcrumb mount 43972 43308 5000
ButtonNext mount 1390 1410 5000
Checkbox mount 1656 1620 5000
CheckboxBase mount 1424 1403 5000
ChoiceGroup mount 5241 5342 5000
ComboBox mount 1126 1067 1000
CommandBar mount 10607 10627 1000
ContextualMenu mount 6972 6629 1000
DefaultButton mount 1221 1246 5000
DetailsRow mount 3837 3884 5000
DetailsRowFast mount 3949 3868 5000
DetailsRowNoStyles mount 3714 3609 5000
Dialog mount 1559 1589 1000
DocumentCardTitle mount 1870 1829 1000
Dropdown mount 3570 3459 5000
FocusTrapZone mount 1865 1851 5000
FocusZone mount 1880 1834 5000
IconButton mount 1884 1880 5000
Label mount 350 347 5000
Layer mount 1868 1875 5000
Link mount 498 476 5000
MakeStyles mount 1985 1984 50000
MenuButton mount 1556 1588 5000
MessageBar mount 2125 2042 5000
Nav mount 3507 3484 1000
OverflowSet mount 1106 1064 5000
Panel mount 1536 1486 1000
Persona mount 891 875 1000
Pivot mount 1534 1477 1000
PrimaryButton mount 1342 1356 5000
Rating mount 8309 8154 5000
SearchBox mount 1425 1427 5000
Shimmer mount 2703 2775 5000
Slider mount 2084 2081 5000
SpinButton mount 5458 5377 5000
Spinner mount 417 432 5000
SplitButton mount 3394 3377 5000
Stack mount 525 553 5000
StackWithIntrinsicChildren mount 1688 1693 5000
StackWithTextChildren mount 4958 5022 5000
SwatchColorPicker mount 10345 10741 5000
Tabs mount 1449 1434 1000
TagPicker mount 2875 2939 5000
TeachingBubble mount 11672 11618 5000
Text mount 439 429 5000
TextField mount 1462 1440 5000
ThemeProvider mount 1215 1155 5000
ThemeProvider virtual-rerender 606 603 5000
ThemeProviderNext mount 15461 15318 5000
Toggle mount 823 834 5000
buttonNative mount 119 107 5000

Perf Analysis (Fluent)

Perf comparison
Status Scenario Fluent TPI Fabric TPI Ratio Iterations Ticks
🦄 Avatar.Fluent 0.19 0.47 0.4:1 2000 379
🦄 Button.Fluent 0.13 0.2 0.65:1 5000 648
🔧 Checkbox.Fluent 0.68 0.38 1.79:1 1000 675
🎯 Dialog.Fluent 0.17 0.22 0.77:1 5000 838
🔧 Dropdown.Fluent 3.21 0.41 7.83:1 1000 3205
🔧 Icon.Fluent 0.15 0.06 2.5:1 5000 759
🦄 Image.Fluent 0.09 0.13 0.69:1 5000 449
🔧 Slider.Fluent 1.65 0.49 3.37:1 1000 1649
🔧 Text.Fluent 0.08 0.04 2:1 5000 413
🦄 Tooltip.Fluent 0.16 0.91 0.18:1 5000 804

🔧 Needs work     🎯 On target     🦄 Amazing

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
AccordionMinimalPerf.default 185 169 1.09:1
ImageMinimalPerf.default 450 414 1.09:1
SkeletonMinimalPerf.default 437 405 1.08:1
Avatar.Fluent 379 352 1.08:1
RefMinimalPerf.default 248 232 1.07:1
ButtonMinimalPerf.default 206 195 1.06:1
PortalMinimalPerf.default 181 171 1.06:1
Button.Fluent 648 611 1.06:1
AttachmentMinimalPerf.default 192 182 1.05:1
ListNestedPerf.default 666 635 1.05:1
RadioGroupMinimalPerf.default 512 488 1.05:1
SegmentMinimalPerf.default 408 389 1.05:1
TreeWith60ListItems.default 200 191 1.05:1
AttachmentSlotsPerf.default 1291 1237 1.04:1
ListCommonPerf.default 783 753 1.04:1
LoaderMinimalPerf.default 814 782 1.04:1
TableMinimalPerf.default 466 447 1.04:1
TextAreaMinimalPerf.default 560 540 1.04:1
ToolbarMinimalPerf.default 1040 998 1.04:1
ListWith60ListItems.default 715 697 1.03:1
Checkbox.Fluent 675 658 1.03:1
Image.Fluent 449 435 1.03:1
Tooltip.Fluent 804 784 1.03:1
AnimationMinimalPerf.default 438 430 1.02:1
ButtonUseCssPerf.default 885 871 1.02:1
CardMinimalPerf.default 612 601 1.02:1
DropdownManyItemsPerf.default 794 782 1.02:1
IconMinimalPerf.default 723 709 1.02:1
Dropdown.Fluent 3205 3145 1.02:1
Icon.Fluent 759 744 1.02:1
ChatMinimalPerf.default 674 667 1.01:1
EmbedMinimalPerf.default 4454 4393 1.01:1
FlexMinimalPerf.default 335 332 1.01:1
GridMinimalPerf.default 404 400 1.01:1
MenuButtonMinimalPerf.default 1756 1740 1.01:1
TableManyItemsPerf.default 2216 2184 1.01:1
TextMinimalPerf.default 409 405 1.01:1
CustomToolbarPrototype.default 3819 3785 1.01:1
Dialog.Fluent 838 826 1.01:1
Text.Fluent 413 408 1.01:1
BoxMinimalPerf.default 417 419 1:1
DividerMinimalPerf.default 432 433 1:1
ItemLayoutMinimalPerf.default 1315 1313 1:1
ListMinimalPerf.default 586 587 1:1
RosterPerf.default 1298 1301 1:1
ReactionMinimalPerf.default 464 463 1:1
SliderMinimalPerf.default 1595 1594 1:1
SplitButtonMinimalPerf.default 3942 3923 1:1
StatusMinimalPerf.default 814 814 1:1
ButtonOverridesMissPerf.default 1760 1769 0.99:1
ButtonUseCssNestingPerf.default 1106 1118 0.99:1
CarouselMinimalPerf.default 517 520 0.99:1
ChatDuplicateMessagesPerf.default 296 298 0.99:1
CheckboxMinimalPerf.default 2861 2900 0.99:1
DropdownMinimalPerf.default 3153 3195 0.99:1
FormMinimalPerf.default 481 484 0.99:1
PopupMinimalPerf.default 756 765 0.99:1
ProviderMergeThemesPerf.default 1622 1637 0.99:1
TooltipMinimalPerf.default 980 988 0.99:1
TreeMinimalPerf.default 838 850 0.99:1
AlertMinimalPerf.default 317 324 0.98:1
ButtonSlotsPerf.default 609 619 0.98:1
DatepickerMinimalPerf.default 47170 48209 0.98:1
DialogMinimalPerf.default 820 834 0.98:1
InputMinimalPerf.default 1315 1336 0.98:1
LayoutMinimalPerf.default 461 471 0.98:1
ProviderMinimalPerf.default 1002 1019 0.98:1
Slider.Fluent 1649 1676 0.98:1
HeaderSlotsPerf.default 847 869 0.97:1
LabelMinimalPerf.default 461 473 0.97:1
VideoMinimalPerf.default 679 698 0.97:1
HeaderMinimalPerf.default 420 438 0.96:1
ChatWithPopoverPerf.default 395 415 0.95:1
MenuMinimalPerf.default 946 992 0.95:1
AvatarMinimalPerf.default 206 220 0.94:1

@size-auditor
Copy link

size-auditor bot commented Mar 23, 2021

Asset size changes

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

Baseline commit: 79a96df440ae8f477c049b6cb9c6d707e2a60ace (build)

@ling1726 ling1726 merged commit 31b7b0d into microsoft:master Mar 24, 2021
@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/[email protected] has been released which incorporates this pull request.:tada:

Handy links:

@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/[email protected] has been released which incorporates this pull request.:tada:

Handy links:

@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/[email protected] has been released which incorporates this pull request.:tada:

Handy links:

@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/[email protected] has been released which incorporates this pull request.:tada:

Handy links:

@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/[email protected] has been released which incorporates this pull request.:tada:

Handy links:

@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/[email protected] has been released which incorporates this pull request.:tada:

Handy links:

@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/[email protected] has been released which incorporates this pull request.:tada:

Handy links:

joshualamusga1 pushed a commit to joshualamusga1/fluentui that referenced this pull request Mar 25, 2021
* Move descendants to react-utilities

This PR moves the descendants utility from `react-accordion` to
`react-utilities` and adds inline polyfills because of type leakage in
component packages from `react-conformance` (see microsoft#17101)

* Change files

* undo tsconfig change
miroslavstastny pushed a commit to miroslavstastny/fluentui that referenced this pull request May 5, 2021
* Move descendants to react-utilities

This PR moves the descendants utility from `react-accordion` to
`react-utilities` and adds inline polyfills because of type leakage in
component packages from `react-conformance` (see microsoft#17101)

* Change files

* undo tsconfig change
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.

5 participants