@pandacss/studio 0.37.1 → 0.37.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pandacss/studio",
3
- "version": "0.37.1",
3
+ "version": "0.37.2",
4
4
  "description": "The automated token documentation for Panda CSS",
5
5
  "main": "dist/studio.js",
6
6
  "module": "dist/studio.mjs",
@@ -47,13 +47,13 @@
47
47
  "astro": "4.4.0",
48
48
  "react": "18.2.0",
49
49
  "react-dom": "18.2.0",
50
- "vite": "5.1.3",
51
- "@pandacss/config": "0.37.1",
52
- "@pandacss/logger": "0.37.1",
53
- "@pandacss/shared": "0.37.1",
54
- "@pandacss/token-dictionary": "0.37.1",
55
- "@pandacss/types": "0.37.1",
56
- "@pandacss/astro-plugin-studio": "0.37.1"
50
+ "vite": "5.1.7",
51
+ "@pandacss/config": "0.37.2",
52
+ "@pandacss/logger": "0.37.2",
53
+ "@pandacss/shared": "0.37.2",
54
+ "@pandacss/token-dictionary": "0.37.2",
55
+ "@pandacss/types": "0.37.2",
56
+ "@pandacss/astro-plugin-studio": "0.37.2"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@types/react": "18.2.55",
@@ -1,4 +1,4 @@
1
- import { getSlotRecipes, memo, splitProps } from '../helpers.mjs';
1
+ import { compact, getSlotRecipes, memo, splitProps } from '../helpers.mjs';
2
2
  import { cva } from './cva.mjs';
3
3
  import { cx } from './cx.mjs';
4
4
 
@@ -6,6 +6,7 @@ const slotClass = (className, slot) => className + '__' + slot
6
6
 
7
7
  export function sva(config) {
8
8
  const slots = Object.entries(getSlotRecipes(config)).map(([slot, slotCva]) => [slot, cva(slotCva)])
9
+ const defaultVariants = config.defaultVariants ?? {}
9
10
 
10
11
  function svaFn(props) {
11
12
  const result = slots.map(([slot, cvaFn]) => [slot, cx(cvaFn(props), config.className && slotClass(config.className, slot))])
@@ -23,6 +24,7 @@ export function sva(config) {
23
24
  function splitVariantProps(props) {
24
25
  return splitProps(props, variantKeys);
25
26
  }
27
+ const getVariantProps = (variants) => ({ ...(defaultVariants || {}), ...compact(variants) })
26
28
 
27
29
  const variantMap = Object.fromEntries(
28
30
  Object.entries(variants).map(([key, value]) => [key, Object.keys(value)])
@@ -34,5 +36,6 @@ export function sva(config) {
34
36
  variantMap,
35
37
  variantKeys,
36
38
  splitVariantProps,
39
+ getVariantProps,
37
40
  })
38
41
  }
@@ -208,7 +208,7 @@ type WithColorOpacityModifier<T> = T extends string ? `${T}/${string}` : T
208
208
  type ImportantMark = "!" | "!important"
209
209
  type WhitespaceImportant = ` ${ImportantMark}`
210
210
  type Important = ImportantMark | WhitespaceImportant
211
- type WithImportant<T> = T extends string ? `${T}${Important}${string}` : T
211
+ type WithImportant<T> = T extends string ? `${T}${Important}` & { __important?: true } : T;
212
212
 
213
213
  /**
214
214
  * Only relevant when using `strictTokens` or `strictPropertyValues` in your config.
@@ -226,7 +226,7 @@ type WithImportant<T> = T extends string ? `${T}${Important}${string}` : T
226
226
  * @see https://panda-css.com/docs/concepts/writing-styles#stricttokens
227
227
  * @see https://panda-css.com/docs/concepts/writing-styles#strictpropertyvalues
228
228
  */
229
- export type WithEscapeHatch<T> = T | `[${string}]` | (T extends string ? WithColorOpacityModifier<string> | WithImportant<T> : T)
229
+ export type WithEscapeHatch<T> = T | `[${string}]` | WithColorOpacityModifier<T> | WithImportant<T>
230
230
 
231
231
  /**
232
232
  * Will restrict the value of properties that have predefined values to those values only.
@@ -123,6 +123,9 @@ export interface SlotRecipeRuntimeFn<S extends string, T extends SlotRecipeVaria
123
123
  raw: (props?: RecipeSelection<T>) => Record<S, SystemStyleObject>
124
124
  variantKeys: (keyof T)[]
125
125
  variantMap: RecipeVariantMap<T>
126
+ splitVariantProps<Props extends RecipeSelection<T>>(
127
+ props: Props,
128
+ ): [RecipeSelection<T>, Pretty<DistributiveOmit<Props, keyof T>>]
126
129
  getVariantProps: (props?: RecipeSelection<T>) => RecipeSelection<T>
127
130
  }
128
131