jxnblk released this
Dec 1, 2018
Rebass v3 is a complete rewrite with the intent of making this UI component library useful to an even wider audience. Instead of trying to provide an off-the-shelf solution to styling UI, it tries to provide a solid base for extending these components into a highly customized UI component library. Rebass is intended to be useful in any React application and is so small it shouldn't make a huge impact on your overall bundle size.
Version 3 is a complete rewrite and major breaking change. It removes many of the components from the previous version to focus on a lighter, more generally useful set of 8 primitive components. If you've relied heavily on some of the Rebass v2 components that have been removed, you should consider forking or copying and pasting components into your application where needed. Alternatively there are other UI component libraries out there that can provide some of the same functionality from v2, such as Reakit.
It is also intended for Styled Components v4 or Emotion v10 and some features will not work as expected with previous versions.
Read more about the rationale here: #474
Use the following guide to upgrade to Rebass v3.
npm i styled-components@latest
Or, if you're using emotion:
npm i @emotion/core@latest @emotion/styled@latest
The following components have been removed and should be replaced with custom implementations:
If you've used any of the internal theme modules from Rebass, you will need to replace these with custom implementations:
Since Rebass v3 no longer includes a default theme, replace the Rebass Provider component with a ThemeProvider to apply a custom theme.
<Box is='header' />
<Box as='header' />