rsnext/examples/with-carbon-components
Nick Babcock 5629223407
Update examples to use React 17 (#26133)
[With next 11 requiring react 17](https://nextjs.org/blog/next-11#upgrade-guide), most of the examples
need to be updated, so the following snippet updated all the examples to
a compatible react version.

```bash
cd examples/
fd -g 'package.json' | xargs sed -r -i 's/"react": ".*"/"react": "^17.0.2"/
fd -g 'package.json' | xargs sed -r -i 's/"react-dom": ".*"/"react-dom": "^17.0.2"/'

# exclude experimental react version
git checkout with-reason-relay/package.json
```
2021-06-16 16:43:26 +00:00
..
pages Refactor class components to functional @ examples (#13398) 2020-05-27 05:14:26 +00:00
styles Update examples/with-carbon-components (#15190) 2020-07-17 01:17:58 +00:00
.gitignore Added .gitignore to examples that are deployed to vercel (#15127) 2020-07-16 10:52:23 -04:00
package.json Update examples to use React 17 (#26133) 2021-06-16 16:43:26 +00:00
README.md Include utm_source on example links to vercel.com (#21305) 2021-01-19 07:28:54 +00:00

Example app with carbon-components-react

This example features how you use IBM's carbon-components-react (Carbon Design System) with Next.js.

Create your own theme with Carbon Design System's theming tools and put it all together as demonstrated in static/myCustomTheme.scss

Deploy your own

Deploy the example using Vercel:

Deploy with Vercel

How to use

Execute create-next-app with npm or Yarn to bootstrap the example:

npx create-next-app --example with-carbon-components with-carbon-components-app
# or
yarn create next-app --example with-carbon-components with-carbon-components-app

Deploy it to the cloud with Vercel (Documentation).

Optimizations

In this example we import carbon components in the styles/custom-theme.scss file like this: @import '~carbon-components/scss/globals/scss/styles.scss';

When we start to consider the performance of this approach, however, it becomes clear that this will include every single bit of CSS that Carbon outputs. Sometimes, you totally need everything that the project provides, but for a good number of teams you may find yourself using only a subset of our components. Here is a great article about how you can optimize your application using carbon components: https://medium.com/carbondesign/minimal-css-with-carbon-b0c089ccfa71