Customization
Theme
Panda comes with a default theme that is used to generate the utilities for your project. You can customize this theme
Breakpoints
Use the breakpoints
key in the theme
section of your Panda config file to customize the default breakpoints.
import { defineConfig } from '@pandacss/dev'
export default defineConfig({
theme: {
extend: {
breakpoints: {
'3xl': '1800px'
}
}
}
})
Panda ships with the following breakpoints by default:
Tokens
Colors
Use the colors
key in the token
section of your Panda config file to customize the default color values.
We recommend using numeric ranges from 50
to 900
import { defineConfig } from '@pandacss/dev'
export default defineConfig({
theme: {
extend: {
tokens: {
colors: {
brand: { value: '#EA8433' }
}
}
}
}
})
Panda comes with a handful of colors picked from the amazing Tailwind color palette
rose
pink
fuchsia
purple
violet
indigo
blue
sky
cyan
teal
emerald
green
lime
yellow
amber
orange
red
neutral
stone
zinc
gray
slate
Spacing
Use the spacing
key in the theme section of your Panda config file to customize the default spacing values.
import { defineConfig } from '@pandacss/dev'
export default defineConfig({
theme: {
extend: {
tokens: {
spacing: {
gutter: { value: '32px' }
}
}
}
}
})
Panda ships with the following spacing tokens by default:
Name
Value
Pixel
0
0rem
0px
0.5
0.125rem
2px
1
0.25rem
4px
1.5
0.375rem
6px
2
0.5rem
8px
2.5
0.625rem
10px
3
0.75rem
12px
3.5
0.875rem
14px
4
1rem
16px
5
1.25rem
20px
6
1.5rem
24px
7
1.75rem
28px
8
2rem
32px
9
2.25rem
36px
10
2.5rem
40px
11
2.75rem
44px
12
3rem
48px
14
3.5rem
56px
16
4rem
64px
20
5rem
80px
24
6rem
96px
28
7rem
112px
32
8rem
128px
36
9rem
144px
40
10rem
160px
44
11rem
176px
48
12rem
192px
52
13rem
208px
56
14rem
224px
60
15rem
240px
64
16rem
256px
72
18rem
288px
80
20rem
320px
96
24rem
384px
Border Radius
Use the radii
key in the theme section of your Panda config file to customize the default border radius values.
xs
0.125rem (2px)
sm
0.25rem (4px)
md
0.375rem (6px)
lg
0.5rem (8px)
xl
0.75rem (12px)
2xl
1rem (16px)
3xl
1.5rem (24px)
full
9999px (9999px)
Shadows
Use the shadows
key in the theme section of your Panda config file to customize the default box shadows values.
Panda ships with the following shadows by default:
0 1px 2px 0 rgb(0 0 0 / 0.05)
0 1px 3px 0 rgb(0 0 0 / 0.1)
0 1px 2px -1px rgb(0 0 0 / 0.1)
0 4px 6px -1px rgb(0 0 0 / 0.1)
0 2px 4px -2px rgb(0 0 0 / 0.1)
0 10px 15px -3px rgb(0 0 0 / 0.1)
0 4px 6px -4px rgb(0 0 0 / 0.1)
0 20px 25px -5px rgb(0 0 0 / 0.1)
0 8px 10px -6px rgb(0 0 0 / 0.1)
0 25px 50px -12px rgb(0 0 0 / 0.25)
inset 0 2px 4px 0 rgb(0 0 0 / 0.05)
Sizing
Use the sizes
key in the theme section of your Panda config file to customize the default sizing values.
import { defineConfig } from '@pandacss/dev'
export default defineConfig({
theme: {
extend: {
tokens: {
sizes: {
icon: { value: '24px' }
}
}
}
}
})
Panda ships with the following sizing tokens by default, in addition with the values from the default Panda spacing tokens:
Name
Value
Pixel
md
28rem
448px
lg
32rem
512px
xl
36rem
576px
2xl
42rem
672px
3xl
48rem
768px
4xl
56rem
896px
5xl
64rem
1024px
prose
65ch
65ch
6xl
72rem
1152px
7xl
80rem
1280px
8xl
90rem
1440px
full
100%
100%
min
min-content
min-content
max
max-content
max-content
fit
fit-content
fit-content
Fonts
Use the fonts
key in the theme object to customize the default font families.
import { defineConfig } from '@pandacss/dev'
export default defineConfig({
theme: {
extend: {
tokens: {
fonts: {
marketing: { value: 'Inter Variable' }
}
}
}
}
})
Panda ships with the following font families tokens by default:
sans
ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"
serif
ui-serif, Georgia, Cambria, "Times New Roman", Times, serif
mono
ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace
Font Sizes
Use the fontSizes
key in the theme object to customize the default font sizes.
import { defineConfig } from '@pandacss/dev'
export default defineConfig({
theme: {
extend: {
tokens: {
fontSizes: {
big: { value: '80px' }
}
}
}
}
})
Panda ships with the following font size tokens by default:
2xs
0.5rem
xs
0.75rem
sm
0.875rem
md
1rem
lg
1.125rem
xl
1.25rem
2xl
1.5rem
3xl
1.875rem
4xl
2.25rem
5xl
3rem
6xl
3.75rem
7xl
4.5rem
8xl
6rem
9xl
8rem
Keyframes
Use the keyframes
key in the theme
section of your Panda config file to customize the default keyframes.
import { defineConfig } from '@pandacss/dev'
export default defineConfig({
theme: {
extend: {
keyframes: {
fadein: {
'0%': { opacity: '0' },
'100%': { opacity: '1' }
},
fadeout: {
'0%': { opacity: '1' },
'100%': { opacity: '0' }
}
}
}
}
})
Panda ships with the following keyframes by default:
spin
ping
pulse
bounce
Minimal setup
If you want to use Panda with the bare minimum, without any of the defaults, you can read more about it here