Panda
Universal, Type-Safe, CSS-in-JS Framework for Product Teams
README
Panda
Panda is a universal styling solution for the modern web —
build time, type safe, and scalable CSS-in-JS
Features
- ⚡️ Write style objects or style props, extract them at build time
- ✨ Modern CSS output — cascade layers @layer, css variables and more
- 🦄 Works with most JavaScript frameworks
- 🚀 Recipes and Variants - Just like Stitches™️ ✨
- 🎨 High-level design tokens support for simultaneous themes
- 💪 Type-safe styles and autocomplete (via codegen)
🐼 Get a taste of Panda. Try it out for yourself in StackBlitz
Documentation
Visit our official documentation.
Install
The recommended way to install the latest version of Panda is by running the command below:
- ```bash
- npm i -D @pandacss/dev
- ```
To scaffold the panda config and postcss
- ```bash
- npx panda init -p
- ```
Setup and import the entry CSS file
- ```css
- @layer reset, base, tokens, recipes, utilities;
- ```
- ```jsx
- import 'path/to/entry.css'
- ```
Start the dev server of your project
- ```bash
- npm run dev
- ```
Start using panda
- ```jsx
- import { css } from '../styled-system/css'
- import { stack, vstack, hstack } from '../styled-system/patterns'
- function Example() {
- return (
- <div>
- <div className={hstack({ gap: '30px', color: 'pink.300' })}>Box 1</div>
- <div className={css({ fontSize: 'lg', color: 'red.400' })}>Box 2</div>
- </div>
- )
- }
- ```
Directory Structure
Package | Description |
---|---|
--------------------------------------------- | ----------------------------------------------------------- |
[cli](packages/cli) | CLI |
[core](packages/core) | Contains |
[config](packages/config) | Contains |
[extractor](packages/extractor) | Contains |
[generator](packages/generator) | Contains |
[parser](packages/parser) | Contains |
[is-valid-prop](packages/is-valid-prop) | Contains |
[node](packages/node) | Contains |
[token-dictionary](packages/token-dictionary) | Contains |
[shared](packages/shared) | Contains |
Support
Having trouble? Get help in the official Panda Discord.
Acknowledgement
The development of Panda was only possible due to the inspiration and ideas from these amazing projects.
- Chakra UI - where it all started
- Vanilla Extract - for inspiring the utilities API
- Stitches - for inspiring the recipes and variants API
- Tailwind CSS - for inspiring the JIT compiler and strategy
- Class Variance Authority - for inspiring thecva name
- Styled System - for the initial idea of Styled Props
- Linaria - for inspiring the initial atomic css strategy
- Uno CSS - for inspiring the studio and astro integration
License
MIT License © 2023-Present Segun Adebayo