docs/react-wiki-archive/Fabric-7.md
Fabric 7 introduces Microsoft's new Fluent design language by default. There are a variety of adjustments, described below. We've also taken a dependency on React 16.8.1, which will allow for future bundle size improvements as we can move much of our redundant state management over to hooks.
We've also taken a minbar dependency on TypeScript 3.5, which includes improved type safety features we need to avoid breaking partners.
We will continue to support both Fabric 5 and 6. These versions will live within the 5.0 and 6.0 branches respectively. Please make sure to target the appropriate branch if make PRs for those versions.
We do not plan on cherrypicking all Fabric 7 fixes into 6.0. We will certainly cherrypick any severe bugs or impactful low-risk performance improvements. The same release pipeline running for 6.0 today (releasing each day if changes have been made) will still continue.
Fabric 7 is shipping the package @uifabric/migration which will ease the transition from Fabric 6 to Fabric 7.
Before upgrading to Fabric 7 run the command below in your source code directory to identify changes that need to be made before upgrading. Run the command with the -w option to have the script automatically update your code with these suggestions. Beware that the -w option will modify files in-place, so ensure that files are committed to source control beforehand.
# note to use 7.0.0, not the current release number
npx @uifabric/migration 7.0.0
For a complete list of breaking changes, see @uifabric-migration.
To learn more about Microsoft's Fluent design language, visit our Fluent design website.
As part of the Fluent by default strategy, we have a new type ramp. The change will affect text content on a page that was styled using FontSizes from @uifabric.styling package or theme.fonts object provided by the default theme. All font sizes except the largest one will shift by at most a single pixel. Many font weights change as well, with the most significant changes in the larger half of the ramp, changing from light to semibold. These changes are backwards compatible.
Below is a comparison table between Fabric 6 and 7:
| Variable name | Current (pre-Fluent) font size/weight | Fluent font size/weight |
|---|---|---|
tiny | 10px / semibold | 10px / regular |
xSmall | 11px / regular | 10px / regular |
small | 12px / regular | 12px / regular |
smallPlus | 13px / regular | 12px / regular |
medium | 14px / regular | 14px / regular |
mediumPlus | 15px / regular | 16px / regular |
large | 17px / semilight | 18px / regular |
xLarge | 21px / light | 20px / semibold |
xLargePlus *new | 21px / light (back-ported) | 24px / semibold |
xxLarge | 28px / light | 28px / semibold |
xxLargePlus *new | 28px / light (back-ported) | 32px / semibold |
superLarge | 42px / light | 42px / semibold |
mega | 72px / light | 68px / semibold |
value and onChanged removed (ff16255) migration providedShimmer. (e3080da)rating prop is passed, control will reflect value always. (2ffdd29)d7dd099) migration provideda41bd00) migration providedbaa1060)04983f3)@uifabric/example-app-base. Please consider a different routing solution for production applications.14b1d77)5cfbccb)77a9195)37a5246)Shimmer control. (615c8a6)4717372)44be390)c4507e4)65d3dec)8815262)2faffcc)8d6c7c4)14b1d77)5f4051f)69ea4ba)3e3bc89)f815723)37a5246)14b1d77)5e46b40)n/a5cfbccb)20b09cc)5f4051f)37a5246)14b1d77)f97b56f)2faffcc)9dd16b5)77a9195)getFocusStyle to include named parameters. (73f2ff2)31d3fd9)autobind decorator. (d7dd099) migration providedd7dff28) migration provided