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
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:
Deploy your own
Deploy the example using 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.