microsoft / fluentui

Fluent UI web represents a collection of utilities, React components, and web components for building web applications.
https://react.fluentui.dev
Other
17.87k stars 2.66k forks source link

chore(Dialog): migrate to new motion APIs #31380

Closed layershifter closed 1 week ago

layershifter commented 2 weeks ago

Previous Behavior

Dialog uses react-transition-group for animations.

New Behavior

Dialog uses @fluentui/react-motions-preview for animations.

Related Issue(s)

Fixes #30041. Fixes #30695. Fixes https://github.com/microsoft/fluentui/issues/31369

codesandbox-ci[bot] commented 2 weeks ago

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.

fabricteam commented 2 weeks ago

Perf Analysis (@fluentui/react-components)

Scenario Render type Master Ticks PR Ticks Iterations Status
FluentProviderWithTheme virtual-rerender 30 39 10 Possible regression
All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 627 643 5000
Button mount 321 315 5000
Field mount 1148 1138 5000
FluentProvider mount 717 718 5000
FluentProviderWithTheme mount 88 90 10
FluentProviderWithTheme virtual-rerender 30 39 10 Possible regression
FluentProviderWithTheme virtual-rerender-with-unmount 71 74 10
MakeStyles mount 840 872 50000
Persona mount 1747 1733 5000
SpinButton mount 1379 1402 5000
SwatchPicker mount 1545 1541 5000

fabricteam commented 2 weeks ago

📊 Bundle size report

Package & Exports Baseline (minified/GZIP) PR Change
react-components
react-components: entire library
1.121 MB
275.409 kB
1.123 MB
276.251 kB
2.06 kB
842 B
react-dialog
Dialog (including children components)
99.638 kB
29.951 kB
98.817 kB
29.825 kB
-821 B
-126 B
Unchanged fixtures | Package & Exports | Size (minified/GZIP) | | ----------------- | -------------------: | | react-components
react-components: Button, FluentProvider & webLightTheme | `71.955 kB`
`20.772 kB` | | react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover | `215.9 kB`
`61.97 kB` | | react-components
react-components: FluentProvider & webLightTheme | `44.442 kB`
`14.607 kB` | | react-portal-compat
PortalCompatProvider | `8.39 kB`
`2.64 kB` |

🤖 This report was generated against 92329052b8ed1f6b1574a1b02f841e463d4bbb1c