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

fix(react-drawer): improve CSS performance by using makeResetStyles #29263

Conversation

marcosmoura
Copy link
Contributor

Previous Behavior

Components were using makeStyles for everything.

New Behavior

Components now only use makeStyles for dynamic classNames and makeResetStyles for fixed rules.

Related Issue(s)

@marcosmoura marcosmoura self-assigned this Sep 22, 2023
@marcosmoura marcosmoura requested a review from a team as a code owner September 22, 2023 12:45
@marcosmoura marcosmoura added the Component: Drawer The Fluent v9 Drawer component label Sep 22, 2023
@marcosmoura marcosmoura enabled auto-merge (squash) September 22, 2023 12:48
@fabricteam
Copy link
Collaborator

fabricteam commented Sep 22, 2023

Perf Analysis (@fluentui/react-components)

Scenario Render type Master Ticks PR Ticks Iterations Status
InfoButton mount 10 16 5000 Possible regression
All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 636 633 5000
Button mount 315 315 5000
Field mount 1133 1123 5000
FluentProvider mount 696 697 5000
FluentProviderWithTheme mount 85 89 10
FluentProviderWithTheme virtual-rerender 78 67 10
FluentProviderWithTheme virtual-rerender-with-unmount 85 80 10
InfoButton mount 10 16 5000 Possible regression
MakeStyles mount 847 861 50000
Persona mount 1750 1721 5000
SpinButton mount 1366 1342 5000

@codesandbox-ci
Copy link

codesandbox-ci bot commented Sep 22, 2023

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 644cbb3:

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

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 22, 2023

📊 Bundle size report

Unchanged fixtures
Package & Exports Size (minified/GZIP)
react-components
react-components: Button, FluentProvider & webLightTheme
69.572 kB
19.658 kB
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
208.688 kB
59.552 kB
react-components
react-components: FluentProvider & webLightTheme
40.966 kB
13.569 kB
react-portal-compat
PortalCompatProvider
6.541 kB
2.227 kB
🤖 This report was generated against 4942c5f07e08f1061cc8a6b753cd668b05482151

@size-auditor
Copy link

size-auditor bot commented Sep 22, 2023

Asset size changes

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

Baseline commit: 4942c5f07e08f1061cc8a6b753cd668b05482151 (build)

…s-classnames

* master:
  chore: Updating @fluentui/react-icons to version 2.0.216 (microsoft#29151)
  Replace cxe-coastal with cxe-red in codeowners (microsoft#29248)
  feat(react-drawer): add support to override Dialog as slot (microsoft#29217)
  fix(react-tags-preview): update `handleTagDismiss` type (microsoft#29240)
  create TimePicker component (microsoft#29252)
  Create react-timepicker-compat-preview package (microsoft#29216)
  feat(react-tags-preview): add useCustomStyleHook_unstable to all components (microsoft#29237)
  Enable reflow for all cartesian chart examples (microsoft#29229)
@marcosmoura marcosmoura merged commit afa2b8e into microsoft:master Sep 25, 2023
21 checks passed
@marcosmoura marcosmoura deleted the fix/react-drawer/improve-performance-of-css-classnames branch September 25, 2023 10:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Drawer The Fluent v9 Drawer component
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Drawer should use makeResetStyles for base styles
3 participants