rsnext/examples/with-patternfly/README.md
Dominic Elm d2caaeab64
docs: add 'Open in StackBlitz' buttons to various examples (#25853)
This PR adds a `Preview` section and a `Open in StackBlitz` button to various examples. I have tested all examples and omitted the ones that require third party API keys, or didn't work. Some examples don't work locally either.

Here's an example:
![image](https://user-images.githubusercontent.com/12571019/121027783-88971280-c7a7-11eb-851a-0ad30cf74b42.png)

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [x] Examples updated
- [ ] Telemetry added. In case of a feature if it's used or not.

## Documentation / Examples

- [x] Make sure the linting passes
2021-06-08 20:45:02 +00:00

2.8 KiB

PatternFly 4 example

This example shows how to use Next.js with the PatternFly 4 design system.

Preview

Preview the example live on StackBlitz:

Open in StackBlitz

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-patternfly with-patternfly-app
# or
yarn create next-app --example with-patternfly with-patternfly-app

Deploy it to the cloud with Vercel (Documentation).

Troubleshooting

Global CSS cannot be imported from within node_modules

PatternFly 4 packages published on npm use Global CSS imports for styling of React components, which is not supported by Next.js. To workaround this issue, this example uses next-transpile-modules to transpile the packages during compilation. As a consequence, all packages that depend on @patternfly/react-styles need to be transpiled as well.

If you receive this error, verify whether all packages that depend on @patternfly/react-styles are specified in next.config.js.

PatternFly components do not appear to be styled

If your Next.js application compiles successfully, but PatternFly components in your application do not appear to be styled, make sure you have applied the global PatternFly stylesheet in pages/_app.js:

// In pages/_app.js
import App from 'next/app'
import '@patternfly/react-core/dist/styles/base.css'

...

All components styles are imported when using a PatternFly component

This is expected behavior in development mode. Tree shaking will remove these imports in production builds.