@pandacss/core
Advanced tools
Changelog
[1.0.1] - 2025-08-05
defaultProps.className
is applied correctly when no explicit class
prop is
providedbgGradient
did not respect the gradient token.Changelog
[1.0.0] - 2025-08-04
rtl
and ltr
variants does not work with [dir=auto]
@property
fallbacks does not work correctly when global vars are used in no initial-value
fieldSizing
property properly::-webkit-details-marker
to marker
conditioninset-2xs
, inset-xs
and inset-sm
shadowsnoscript
and inverted-colors
conditions:popover-open
to open
conditioninner
shadow in favor of inset-sm
blurs.sm
-> blurs.xs
blurs.base
-> blurs.sm
bgLinear
, bgRadial
and bgConic
properties.<div
className={css({
bgLinear: 'to-r',
gradientFrom: 'cyan.500',
gradientTo: 'blue.500',
})}
/>
<div
className={css({
bgRadial: 'in srgb',
gradientFrom: 'pink.400',
gradientFromPosition: '40%',
gradientTo: 'fuchsia.700',
})}
/>
<div
className={css({
bgConic: 'in srgb',
gradientFrom: 'blue.600',
gradientTo: 'sky.400',
gradientToPosition: '50%',
})}
/>
boxSize
property that maps to width
and height
properties.<div className={css({ boxSize: '24' })} />
createStyleContext
function to framework artifacts for React, Preact, Solid, and Vue frameworksimport { sva } from 'styled-system/css'
import { createStyleContext } from 'styled-system/jsx'
const card = sva({
slots: ['root', 'label'],
base: {
root: {
color: 'red',
bg: 'red.300',
},
label: {
fontWeight: 'medium',
},
},
variants: {
size: {
sm: {
root: {
padding: '10px',
},
},
md: {
root: {
padding: '20px',
},
},
},
},
defaultVariants: {
size: 'sm',
},
})
const { withProvider, withContext } = createStyleContext(card)
const CardRoot = withProvider('div', 'root')
const CardLabel = withContext('label', 'label')
Then, use like this:
<CardRoot size="sm">
<CardLabel>Hello</CardLabel>
</CardRoot>
Changelog
[0.54.0] - 2025-06-12
borderWidth
token reference adds an extra px
to the generated css valuestrict: true
is settinyglobally
to fast-glob
change to fix issues with glob matchingaria
attributes to conditions for better accessibility and styling hooks:
[aria-disabled=true]
was added to disabled
, peerDisabled
, and groupDisabled
conditions[aria-readonly=true]
was added to the readOnly
condition[aria-invalid=true]
was added to invalid
and groupInvalid
conditionsImprove algorithm for deterministic property order:
padding
, margin
, inset
)padding-inline
, margin-inline
)padding-inline-start
, margin-inline-start
)css({
p: '4',
pr: '2',
px: '10',
})
Will result in the following css regardless of the order of the properties:
.p-4 {
padding: 4px;
}
.px-10 {
padding-left: 10px;
padding-right: 10px;
}
.pr-2 {
padding-right: 2px;
}
Reduce the size of the generated Token
type by referencing category tokens
Before:
export type Token = 'colors.green.400' | 'colors.red.400'
export type ColorToken = 'green.400' | 'red.400'
After:
export type Token = `colors.${ColorToken}`
export type ColorToken = 'green.400' | 'red.400'