Skip to content

feat(accordion, provider): add static classes - #20451

Merged
layershifter merged 4 commits into
masterfrom
feat/classnames-p4
Nov 3, 2021
Merged

feat(accordion, provider): add static classes#20451
layershifter merged 4 commits into
masterfrom
feat/classnames-p4

Conversation

@layershifter

Copy link
Copy Markdown
Member

Pull request checklist

Description of changes

Extracted from #20383, these changes passed conformance test on that PR

This PR adds static classes to components @fluentui/react-accordion & @fluentui/react-provider.

  • All classes follow fui-ComponentName
  • All classes are publicly exported as componentNameClassName
  • Snapshots were updated

}

#docs-root div[class^='fluent-provider'] {
#docs-root div[class^='fui-FluentProvider'] {

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Well, this should be renamed as well.

const { targetDocument, theme } = options;

const styleTagId = useId('fluent-provider');
const styleTagId = useId(fluentProviderClassName);

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

It's also reasonable to rename classname generated for CSS variables classes

@size-auditor

size-auditor Bot commented Nov 2, 2021

Copy link
Copy Markdown

Asset size changes

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

Baseline commit: 08bd47e97c2a14080793f78ccb57ebfb798c32eb (build)

@fabricteam

fabricteam commented Nov 2, 2021

Copy link
Copy Markdown
Collaborator

📊 Bundle size report

Package & Exports Baseline (minified/GZIP) PR Change
react-accordion
Accordion (including children components)
57.788 kB
18.186 kB
57.995 kB
18.181 kB
207 B
-5 B
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
169.429 kB
48.08 kB
169.645 kB
48.118 kB
216 B
38 B
react-components
react-components: FluentProvider & webLightTheme
32.201 kB
10.665 kB
32.208 kB
10.672 kB
7 B
7 B
react-provider
FluentProvider
15.16 kB
5.58 kB
15.167 kB
5.584 kB
7 B
4 B
Unchanged fixtures
Package & Exports Size (minified/GZIP)
react-avatar
Avatar
54.966 kB
15.674 kB
react-badge
Badge
23.195 kB
6.992 kB
react-badge
CounterBadge
25.655 kB
7.688 kB
react-badge
PresenceBadge
30.674 kB
8.821 kB
react-button
Button
25.595 kB
7.765 kB
react-button
CompoundButton
30.852 kB
8.715 kB
react-button
MenuButton
27.62 kB
8.44 kB
react-button
SplitButton
33.731 kB
9.623 kB
react-button
ToggleButton
34.821 kB
8.416 kB
react-card
Card - All
49.008 kB
14.564 kB
react-card
Card
44.495 kB
13.343 kB
react-card
CardFooter
8.141 kB
3.43 kB
react-card
CardHeader
9.461 kB
3.883 kB
react-card
CardPreview
8.434 kB
3.604 kB
react-divider
Divider
15.61 kB
5.646 kB
react-image
Image
9.784 kB
3.982 kB
react-input
Input
16.751 kB
5.533 kB
react-label
Label
8.965 kB
3.713 kB
react-link
Link
11.659 kB
4.704 kB
react-make-styles
makeStaticStyles (runtime)
7.59 kB
3.321 kB
react-make-styles
makeStyles + mergeClasses (runtime)
22.235 kB
8.408 kB
react-make-styles
makeStyles + mergeClasses (build time)
2.558 kB
1.204 kB
react-menu
Menu (including children components)
105.802 kB
32.207 kB
react-menu
Menu (including selectable components)
108.078 kB
32.58 kB
react-popover
Popover
101.166 kB
30.376 kB
react-portal
Portal
6.725 kB
2.237 kB
react-positioning
usePopper
23.145 kB
7.942 kB
react-slider
RangedSlider
41.432 kB
11.976 kB
react-slider
Slider
34.81 kB
10.862 kB
react-switch
Switch
26.615 kB
8.562 kB
react-text
Text - Default
11.351 kB
4.424 kB
react-text
Text - Wrappers
14.42 kB
4.729 kB
react-theme
Teams: all themes
25.712 kB
6.17 kB
react-theme
Teams: Light theme
17.215 kB
5.116 kB
react-tooltip
Tooltip
45.556 kB
15.549 kB
react-utilities
SSRProvider
213 B
170 B
🤖 This report was generated against 08bd47e97c2a14080793f78ccb57ebfb798c32eb

@codesandbox-ci

codesandbox-ci Bot commented Nov 2, 2021

Copy link
Copy Markdown

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 8725334:

Sandbox Source
@fluentui/react 8 starter Configuration
@fluentui/react-components 9 starter Configuration

@fabricteam

Copy link
Copy Markdown
Collaborator

Perf Analysis (@fluentui/react)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 1015 1053 5000
BaseButton mount 1063 1049 5000
Breadcrumb mount 2831 2814 1000
ButtonNext mount 573 542 5000
Checkbox mount 1741 1786 5000
CheckboxBase mount 1481 1442 5000
ChoiceGroup mount 5415 5352 5000
ComboBox mount 1093 1084 1000
CommandBar mount 10943 11052 1000
ContextualMenu mount 6824 6869 1000
DefaultButton mount 1232 1288 5000
DetailsRow mount 4123 4120 5000
DetailsRowFast mount 4082 4177 5000
DetailsRowNoStyles mount 3946 3979 5000
Dialog mount 2735 2802 1000
DocumentCardTitle mount 185 194 1000
Dropdown mount 3632 3590 5000
FluentProviderNext mount 3472 3531 5000
FluentProviderWithTheme mount 227 218 10
FluentProviderWithTheme virtual-rerender 116 118 10
FluentProviderWithTheme virtual-rerender-with-unmount 252 266 10
FocusTrapZone mount 1979 2057 5000
FocusZone mount 1950 1877 5000
IconButton mount 2034 1996 5000
Label mount 395 393 5000
Layer mount 3286 3276 5000
Link mount 539 535 5000
MakeStyles mount 1903 1918 50000
MenuButton mount 1711 1682 5000
MessageBar mount 2135 2091 5000
Nav mount 3771 3620 1000
OverflowSet mount 1229 1219 5000
Panel mount 2720 2649 1000
Persona mount 946 912 1000
Pivot mount 1601 1541 1000
PrimaryButton mount 1418 1427 5000
Rating mount 8964 8687 5000
SearchBox mount 1497 1540 5000
Shimmer mount 2894 2876 5000
Slider mount 2102 2193 5000
SpinButton mount 5515 5504 5000
Spinner mount 448 453 5000
SplitButton mount 3494 3493 5000
Stack mount 549 575 5000
StackWithIntrinsicChildren mount 2027 2027 5000
StackWithTextChildren mount 5331 5362 5000
SwatchColorPicker mount 11497 11675 5000
TagPicker mount 2891 2954 5000
TeachingBubble mount 13779 13802 5000
Text mount 502 489 5000
TextField mount 1536 1598 5000
ThemeProvider mount 1344 1307 5000
ThemeProvider virtual-rerender 681 661 5000
ThemeProvider virtual-rerender-with-unmount 2119 2126 5000
Toggle mount 882 911 5000
buttonNative mount 147 137 5000

Perf Analysis (@fluentui/react-northstar)

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
ButtonMinimalPerf.default 217 199 1.09:1
ChatMinimalPerf.default 778 722 1.08:1
MenuMinimalPerf.default 986 925 1.07:1
BoxMinimalPerf.default 401 380 1.06:1
CardMinimalPerf.default 665 628 1.06:1
FormMinimalPerf.default 517 492 1.05:1
HeaderMinimalPerf.default 432 410 1.05:1
RadioGroupMinimalPerf.default 546 518 1.05:1
ChatDuplicateMessagesPerf.default 356 342 1.04:1
ListNestedPerf.default 636 614 1.04:1
LoaderMinimalPerf.default 787 754 1.04:1
MenuButtonMinimalPerf.default 1901 1828 1.04:1
RefMinimalPerf.default 265 255 1.04:1
AvatarMinimalPerf.default 233 226 1.03:1
DatepickerMinimalPerf.default 6276 6086 1.03:1
InputMinimalPerf.default 1430 1395 1.03:1
SegmentMinimalPerf.default 414 403 1.03:1
ToolbarMinimalPerf.default 1081 1049 1.03:1
VideoMinimalPerf.default 721 697 1.03:1
ListCommonPerf.default 720 704 1.02:1
ListMinimalPerf.default 579 569 1.02:1
SliderMinimalPerf.default 1897 1859 1.02:1
StatusMinimalPerf.default 767 750 1.02:1
TableMinimalPerf.default 472 463 1.02:1
TextMinimalPerf.default 407 398 1.02:1
ButtonSlotsPerf.default 641 632 1.01:1
CarouselMinimalPerf.default 539 535 1.01:1
FlexMinimalPerf.default 335 331 1.01:1
ItemLayoutMinimalPerf.default 1384 1365 1.01:1
ListWith60ListItems.default 724 718 1.01:1
SplitButtonMinimalPerf.default 4819 4769 1.01:1
IconMinimalPerf.default 722 713 1.01:1
TableManyItemsPerf.default 2216 2203 1.01:1
ButtonOverridesMissPerf.default 1997 1989 1:1
DropdownMinimalPerf.default 3528 3513 1:1
HeaderSlotsPerf.default 856 852 1:1
LayoutMinimalPerf.default 400 400 1:1
RosterPerf.default 1348 1349 1:1
ProviderMinimalPerf.default 1268 1264 1:1
ReactionMinimalPerf.default 449 447 1:1
SkeletonMinimalPerf.default 405 405 1:1
TooltipMinimalPerf.default 1176 1177 1:1
AnimationMinimalPerf.default 458 463 0.99:1
ChatWithPopoverPerf.default 450 455 0.99:1
CheckboxMinimalPerf.default 3014 3049 0.99:1
DividerMinimalPerf.default 421 424 0.99:1
DropdownManyItemsPerf.default 801 809 0.99:1
EmbedMinimalPerf.default 4785 4822 0.99:1
LabelMinimalPerf.default 446 450 0.99:1
PortalMinimalPerf.default 188 189 0.99:1
TextAreaMinimalPerf.default 582 590 0.99:1
AttachmentSlotsPerf.default 1218 1241 0.98:1
PopupMinimalPerf.default 651 667 0.98:1
ProviderMergeThemesPerf.default 1804 1843 0.98:1
CustomToolbarPrototype.default 4484 4562 0.98:1
TreeWith60ListItems.default 218 222 0.98:1
DialogMinimalPerf.default 837 863 0.97:1
TreeMinimalPerf.default 888 912 0.97:1
GridMinimalPerf.default 396 413 0.96:1
ImageMinimalPerf.default 411 430 0.96:1
AccordionMinimalPerf.default 173 182 0.95:1
AttachmentMinimalPerf.default 174 185 0.94:1
AlertMinimalPerf.default 306 330 0.93:1

@layershifter
layershifter merged commit 825ea92 into master Nov 3, 2021
@layershifter
layershifter deleted the feat/classnames-p4 branch November 3, 2021 11:13
mlp73 pushed a commit to mlp73/fluentui that referenced this pull request Jan 17, 2022
* feat(accordion, provider): add static classes

* use import

* fix change files

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants