Overview
The Cerberus Panda CSS Preset adds a set of core features to the Cerberus Design System.
Prerequisites - Setting up Panda CSS
Before you can use the Cerberus Panda Preset, you need to have Panda CSS installed and setup in your project.
Head over to the Panda CSS installation guide to get started.
Step 1 - Install Panda CSS Preset
In order to use the Cerberus Panda Preset, you need to install the PandaCSS preset package.
npm install -D @pandacss/preset-panda
pnpm add -D @pandacss/preset-panda
yarn add -D @pandacss/preset-panda
Install Cerberus core packages
Install the Cerberus core packages, with the package manager of your choice:
npx jsr add @cerberus/panda-preset
npm install @cerberus/styled-system@npm:@cerberus-design/styled-system
pnpm dlx jsr add @cerberus/panda-preset
pnpm add @cerberus/styled-system@npm:@cerberus-design/styled-system
npx jsr add @cerberus/panda-preset
yarn add @cerberus/styled-system@npm:@cerberus-design/styled-system
Step 2 - Setup Cerberus
Update the Panda Configuration
Once you have installed and setup Panda CSS and added the Cerberus Panda Preset, you need to update your Panda configuration to include the Cerberus Panda Preset.
Update your local styles
Now that you have extended Panda, you need to update your local styles by running the prepare
script.
npm run prepare
pnpm run prepare
yarn run prepare
Step 4 - Connect the Cerberus Theme
To connect the Cerberus theme, you need to add the required data
attributes to your html
tag.
Step 5 - Setup Cerberus Fonts (optional)
If you would like to use the Brand font associated with Cerberus, we recommend Poppins. Unfortunately, it is not a variable font, so another great solution which is, is the Inter font (comes pre-configured in NextJS apps).
NextJS usage:
Using Cerberus React
If you are interested in using the Cerberus React, install it now along with your Icon library of choice:
npm install @cerberus/react@npm:@cerberus-design/react
pnpm add @cerberus/react@npm:@cerberus-design/react
yarn add @cerberus/react@npm:@cerberus-design/react
Using Icons
Cerberus is icon agnostic which means you need to register the library you prefer. Cerberus was built with Carbon Icons in mind.
If you prefer to use Cerberus Icons, you can install them now:
npm install @carbon/icons-react
pnpm add @carbon/icons-react
yarn add @carbon/icons-react
Setting up Cerberus React
To use Cerberus React, you need to create a new file to wrap your application with the CerberusProvider
where you will keep your global settings.
Then wrap your application with the CerberusConfig
component:
Add a Cerberus script
To help make maintaining a breeze, add this new script to your package.json
to use when you are ready to upgrade Cerberus:
FAQ
Why does the version paths the react & styled-system look weird?
The Cerberus packages are published under the @cerberus-design
organization in NPM (due to the name cerberus
being taken). However, in JSR, we use the @cerberus
organization. We eventually plan on fully migrating to JSR when there is better support for the features we need.
The version paths are simply creating an alias to the @cerberus-design
organization so that you can have consistent package naming across your project.
Everything should use the @cerberus
organization in your code.
Why do I need to add the @cerberus/styled-system
package?
The @cerberus/styled-system
package is a dependency of the Cerberus Panda Preset. It is a styled-system that is pre-configured to work with the Cerberus Design System and creates a single source of truth for our UI related packages.