@pandacss/studio 0.20.1 → 0.22.0

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.
Files changed (46) hide show
  1. package/astro.config.mjs +3 -9
  2. package/dist/studio.d.mts +1 -1
  3. package/dist/studio.d.ts +1 -1
  4. package/dist/studio.js +38 -2050
  5. package/dist/studio.mjs +42 -2080
  6. package/package.json +11 -14
  7. package/src/components/sizes.tsx +4 -3
  8. package/styled-system/css/css.mjs +1 -1
  9. package/styled-system/helpers.mjs +4 -4
  10. package/styled-system/jsx/factory.mjs +1 -2
  11. package/styled-system/jsx/index.d.ts +0 -3
  12. package/styled-system/jsx/is-valid-prop.mjs +1 -1
  13. package/styled-system/styles.css +1277 -542
  14. package/styled-system/types/conditions.d.ts +1 -1
  15. package/styled-system/types/csstype.d.ts +1270 -721
  16. package/styled-system/types/prop-type.d.ts +22 -5
  17. package/styled-system/types/recipe.d.ts +5 -0
  18. package/styled-system/types/static-css.d.ts +39 -0
  19. package/styled-system/chunks/src__components__color-constrast.css +0 -106
  20. package/styled-system/chunks/src__components__color-wrapper.css +0 -58
  21. package/styled-system/chunks/src__components__colors.css +0 -106
  22. package/styled-system/chunks/src__components__empty-state.css +0 -46
  23. package/styled-system/chunks/src__components__font-family.css +0 -86
  24. package/styled-system/chunks/src__components__font-tokens.css +0 -62
  25. package/styled-system/chunks/src__components__input.css +0 -58
  26. package/styled-system/chunks/src__components__layer-styles.css +0 -63
  27. package/styled-system/chunks/src__components__nav-item.css +0 -57
  28. package/styled-system/chunks/src__components__overview.css +0 -122
  29. package/styled-system/chunks/src__components__radii.css +0 -50
  30. package/styled-system/chunks/src__components__semantic-color.css +0 -70
  31. package/styled-system/chunks/src__components__side-nav-item.css +0 -30
  32. package/styled-system/chunks/src__components__side-nav.css +0 -50
  33. package/styled-system/chunks/src__components__sizes.css +0 -42
  34. package/styled-system/chunks/src__components__text-styles.css +0 -32
  35. package/styled-system/chunks/src__components__theme-toggle.css +0 -62
  36. package/styled-system/chunks/src__components__token-content.css +0 -14
  37. package/styled-system/chunks/src__components__token-group.css +0 -22
  38. package/styled-system/chunks/src__components__typography-playground.css +0 -62
  39. package/styled-system/chunks/src__layouts__Sidebar.css +0 -114
  40. package/styled-system/global.css +0 -58
  41. package/styled-system/reset.css +0 -214
  42. package/styled-system/static.css +0 -5
  43. package/styled-system/tokens/index.css +0 -437
  44. package/styled-system/tokens/keyframes.css +0 -28
  45. package/styled-system/types/helpers.d.ts +0 -2
  46. package/virtual-panda.ts +0 -62
@@ -58,6 +58,7 @@ interface PropertyValueTypes {
58
58
  marginInline: "auto" | Tokens["spacing"];
59
59
  marginInlineEnd: "auto" | Tokens["spacing"];
60
60
  marginInlineStart: "auto" | Tokens["spacing"];
61
+ outlineWidth: Tokens["borderWidths"];
61
62
  outlineColor: Tokens["colors"];
62
63
  outline: Tokens["borders"];
63
64
  outlineOffset: Tokens["spacing"];
@@ -115,6 +116,11 @@ interface PropertyValueTypes {
115
116
  borderEndEndRadius: Tokens["radii"];
116
117
  borderEndRadius: Tokens["radii"] | CssProperties["borderRadius"];
117
118
  border: Tokens["borders"];
119
+ borderWidth: Tokens["borderWidths"];
120
+ borderTopWidth: Tokens["borderWidths"];
121
+ borderLeftWidth: Tokens["borderWidths"];
122
+ borderRightWidth: Tokens["borderWidths"];
123
+ borderBottomWidth: Tokens["borderWidths"];
118
124
  borderColor: Tokens["colors"];
119
125
  borderInline: Tokens["borders"];
120
126
  borderInlineWidth: Tokens["borderWidths"];
@@ -200,6 +206,7 @@ interface PropertyValueTypes {
200
206
  scrollSnapMarginRight: Tokens["spacing"];
201
207
  fill: Tokens["colors"];
202
208
  stroke: Tokens["colors"];
209
+ strokeWidth: Tokens["borderWidths"];
203
210
  srOnly: boolean;
204
211
  debug: boolean;
205
212
  colorPalette: "current" | "black" | "white" | "transparent" | "rose" | "pink" | "fuchsia" | "purple" | "violet" | "indigo" | "blue" | "sky" | "cyan" | "teal" | "emerald" | "green" | "lime" | "yellow" | "amber" | "orange" | "red" | "stone" | "zinc" | "gray" | "slate" | "neutral" | "text" | "bg" | "card" | "border";
@@ -303,8 +310,18 @@ interface PropertyValueTypes {
303
310
  }
304
311
 
305
312
 
306
- export type PropertyValue<T extends string> = T extends keyof PropertyTypes
307
- ? ConditionalValue<PropertyTypes[T] | CssValue<T> | (string & {})>
308
- : T extends keyof CssProperties
309
- ? ConditionalValue<CssProperties[T] | (string & {})>
310
- : ConditionalValue<string | number>
313
+
314
+ type PropertyTypeValue<T extends string> = T extends keyof PropertyTypes
315
+ ? ConditionalValue<PropertyTypes[T] | CssValue<T> | (string & {})>
316
+ : never;
317
+
318
+ type CssPropertyValue<T extends string> = T extends keyof CssProperties
319
+ ? ConditionalValue<CssProperties[T] | (string & {})>
320
+ : never;
321
+
322
+ export type PropertyValue<T extends string> = T extends keyof PropertyTypes
323
+ ? PropertyTypeValue<T>
324
+ : T extends keyof CssProperties
325
+ ? CssPropertyValue<T>
326
+ : ConditionalValue<string | number>
327
+
@@ -1,4 +1,5 @@
1
1
  /* eslint-disable */
2
+ import type { RecipeRule } from './static-css';
2
3
  import type { SystemStyleObject, DistributiveOmit, Pretty } from './system-types';
3
4
 
4
5
  type StringToBoolean<T> = T extends 'true' | 'false' ? boolean : T
@@ -63,6 +64,10 @@ export interface RecipeDefinition<T extends RecipeVariantRecord> {
63
64
  * The styles to apply when a combination of variants is selected.
64
65
  */
65
66
  compoundVariants?: Pretty<RecipeCompoundVariant<RecipeCompoundSelection<T>>>[]
67
+ /**
68
+ * Variants to pre-generate, will be include in the final `config.staticCss`
69
+ */
70
+ staticCss?: RecipeRule[]
66
71
  }
67
72
 
68
73
  export type RecipeCreatorFn = <T extends RecipeVariantRecord>(config: RecipeDefinition<T>) => RecipeRuntimeFn<T>
@@ -0,0 +1,39 @@
1
+ /* eslint-disable */
2
+ interface CssRule {
3
+ /**
4
+ * The css properties to generate utilities for.
5
+ * @example ['margin', 'padding']
6
+ */
7
+ properties: {
8
+ [property: string]: string[]
9
+ }
10
+ /**
11
+ * The css conditions to generate utilities for.
12
+ * @example ['hover', 'focus']
13
+ */
14
+ conditions?: string[]
15
+ /**
16
+ * Whether to generate responsive utilities.
17
+ */
18
+ responsive?: boolean
19
+ }
20
+
21
+ export type RecipeRule =
22
+ | '*'
23
+ | ({
24
+ conditions?: string[]
25
+ responsive?: boolean
26
+ } & { [variant: string]: boolean | string[] })
27
+
28
+ export interface StaticCssOptions {
29
+ /**
30
+ * The css utility classes to generate.
31
+ */
32
+ css?: CssRule[]
33
+ /**
34
+ * The css recipes to generate.
35
+ */
36
+ recipes?: {
37
+ [recipe: string]: RecipeRule[]
38
+ }
39
+ }
@@ -1,106 +0,0 @@
1
- @layer utilities {
2
-
3
- .pt_16 {
4
- padding-top: var(--spacing-16)
5
- }
6
-
7
- .gap_5 {
8
- gap: var(--spacing-5)
9
- }
10
-
11
- .mt_10 {
12
- margin-top: var(--spacing-10)
13
- }
14
-
15
- .font_bold {
16
- font-weight: var(--font-weights-bold)
17
- }
18
-
19
- .fs_4xl {
20
- font-size: var(--font-sizes-4xl)
21
- }
22
-
23
- .opacity_0\.5 {
24
- opacity: 0.5
25
- }
26
-
27
- .justify_space-between {
28
- justify-content: space-between
29
- }
30
-
31
- .font_medium {
32
- font-weight: var(--font-weights-medium)
33
- }
34
-
35
- .gap_2 {
36
- gap: var(--spacing-2)
37
- }
38
-
39
- .gap_3 {
40
- gap: var(--spacing-3)
41
- }
42
-
43
- .justify_center {
44
- justify-content: center
45
- }
46
-
47
- .gap_10px {
48
- gap: 10px
49
- }
50
-
51
- .flex_row {
52
- flex-direction: row
53
- }
54
-
55
- .font_semibold {
56
- font-weight: var(--font-weights-semibold)
57
- }
58
-
59
- .fs_2xl {
60
- font-size: var(--font-sizes-2xl)
61
- }
62
-
63
- .p_2 {
64
- padding: var(--spacing-2)
65
- }
66
-
67
- .ring_none {
68
- outline: var(--borders-none)
69
- }
70
-
71
- .border-width_1px {
72
- border-width: 1px
73
- }
74
-
75
- .border_card {
76
- border-color: var(--colors-card)
77
- }
78
-
79
- .items_center {
80
- align-items: center
81
- }
82
-
83
- .gap_2\.5 {
84
- gap: var(--spacing-2\.5)
85
- }
86
-
87
- .text_center {
88
- text-align: center
89
- }
90
-
91
- .d_flex {
92
- display: flex
93
- }
94
-
95
- .flex_column {
96
- flex-direction: column
97
- }
98
-
99
- .gap_4 {
100
- gap: var(--spacing-4)
101
- }
102
-
103
- .flex_1 {
104
- flex: 1 1 0%
105
- }
106
- }
@@ -1,58 +0,0 @@
1
- @layer utilities {
2
-
3
- .w_full {
4
- width: var(--sizes-full)
5
- }
6
-
7
- .h_10 {
8
- height: var(--sizes-10)
9
- }
10
-
11
- .rounded_sm {
12
- border-radius: var(--radii-sm)
13
- }
14
-
15
- .pos_relative {
16
- position: relative
17
- }
18
-
19
- .overflow_hidden {
20
- overflow: hidden
21
- }
22
-
23
- .shadow_inset {
24
- box-shadow: var(--shadows-inset)
25
- }
26
-
27
- .before\:content_\'\'::before {
28
- content: ''
29
- }
30
-
31
- .before\:pos_absolute::before {
32
- position: absolute
33
- }
34
-
35
- .before\:rounded_sm::before {
36
- border-radius: var(--radii-sm)
37
- }
38
-
39
- .before\:w_100\%::before {
40
- width: 100%
41
- }
42
-
43
- .before\:h_100\%::before {
44
- height: 100%
45
- }
46
-
47
- .before\:bg_24px::before {
48
- background-size: 24px
49
- }
50
-
51
- .before\:z_-1::before {
52
- z-index: -1
53
- }
54
-
55
- .before\:bg-img_check::before {
56
- background-image: var(--assets-check)
57
- }
58
- }
@@ -1,106 +0,0 @@
1
- @layer utilities {
2
-
3
- .font_semibold {
4
- font-weight: var(--font-weights-semibold)
5
- }
6
-
7
- .text_capitalize {
8
- text-transform: capitalize
9
- }
10
-
11
- .fs_xl {
12
- font-size: var(--font-sizes-xl)
13
- }
14
-
15
- .font_medium {
16
- font-weight: var(--font-weights-medium)
17
- }
18
-
19
- .opacity_0\.7 {
20
- opacity: 0.7
21
- }
22
-
23
- .fs_sm {
24
- font-size: var(--font-sizes-sm)
25
- }
26
-
27
- .text_uppercase {
28
- text-transform: uppercase
29
- }
30
-
31
- .mb_3\.5 {
32
- margin-bottom: var(--spacing-3\.5)
33
- }
34
-
35
- .pos_sticky {
36
- position: sticky
37
- }
38
-
39
- .top_0 {
40
- top: var(--spacing-0)
41
- }
42
-
43
- .z_1 {
44
- z-index: 1
45
- }
46
-
47
- .w_full {
48
- width: var(--sizes-full)
49
- }
50
-
51
- .gap_0\.5 {
52
- gap: var(--spacing-0\.5)
53
- }
54
-
55
- .mt_2 {
56
- margin-top: var(--spacing-2)
57
- }
58
-
59
- .flex_column {
60
- flex-direction: column
61
- }
62
-
63
- .gap_10 {
64
- gap: var(--spacing-10)
65
- }
66
-
67
- .d_flex {
68
- display: flex
69
- }
70
-
71
- .items_center {
72
- align-items: center
73
- }
74
-
75
- .gap_1 {
76
- gap: var(--spacing-1)
77
- }
78
-
79
- .flex_row {
80
- flex-direction: row
81
- }
82
-
83
- .grid-cols_repeat\(auto-fit\,_minmax\(13rem\,_1fr\)\) {
84
- grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr))
85
- }
86
-
87
- .d_grid {
88
- display: grid
89
- }
90
-
91
- .grid-cols_repeat\(auto-fit\,_minmax\(30rem\,_1fr\)\) {
92
- grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr))
93
- }
94
-
95
- .gap_4 {
96
- gap: var(--spacing-4)
97
- }
98
-
99
- .my_5 {
100
- margin-block: var(--spacing-5)
101
- }
102
-
103
- .mx_0 {
104
- margin-inline: var(--spacing-0)
105
- }
106
- }
@@ -1,46 +0,0 @@
1
- @layer utilities {
2
-
3
- .fs_5xl {
4
- font-size: var(--font-sizes-5xl)
5
- }
6
-
7
- .font_semibold {
8
- font-weight: var(--font-weights-semibold)
9
- }
10
-
11
- .justify_center {
12
- justify-content: center
13
- }
14
-
15
- .gap_5 {
16
- gap: var(--spacing-5)
17
- }
18
-
19
- .h_full {
20
- height: var(--sizes-full)
21
- }
22
-
23
- .min-h_40vh {
24
- min-height: 40vh
25
- }
26
-
27
- .d_flex {
28
- display: flex
29
- }
30
-
31
- .flex_column {
32
- flex-direction: column
33
- }
34
-
35
- .items_center {
36
- align-items: center
37
- }
38
-
39
- .gap_10px {
40
- gap: 10px
41
- }
42
-
43
- .opacity_0\.8 {
44
- opacity: 0.8
45
- }
46
- }
@@ -1,86 +0,0 @@
1
- @layer utilities {
2
-
3
- .fs_100px {
4
- font-size: 100px
5
- }
6
-
7
- .font_bold {
8
- font-weight: var(--font-weights-bold)
9
- }
10
-
11
- .leading_1 {
12
- line-height: 1
13
- }
14
-
15
- .font_semibold {
16
- font-weight: var(--font-weights-semibold)
17
- }
18
-
19
- .opacity_0\.7 {
20
- opacity: 0.7
21
- }
22
-
23
- .gap_8 {
24
- gap: var(--spacing-8)
25
- }
26
-
27
- .flex_column {
28
- flex-direction: column
29
- }
30
-
31
- .gap_10px {
32
- gap: 10px
33
- }
34
-
35
- .gap_10 {
36
- gap: var(--spacing-10)
37
- }
38
-
39
- .flex_row {
40
- flex-direction: row
41
- }
42
-
43
- .flex-wrap_wrap {
44
- flex-wrap: wrap
45
- }
46
-
47
- .fs_24px {
48
- font-size: 24px
49
- }
50
-
51
- .mt_8 {
52
- margin-top: var(--spacing-8)
53
- }
54
-
55
- .text_uppercase {
56
- text-transform: uppercase
57
- }
58
-
59
- .d_flex {
60
- display: flex
61
- }
62
-
63
- .items_center {
64
- align-items: center
65
- }
66
-
67
- .justify_center {
68
- justify-content: center
69
- }
70
-
71
- .flex_0_0_auto {
72
- flex: 0 0 auto
73
- }
74
-
75
- .w_8 {
76
- width: var(--sizes-8)
77
- }
78
-
79
- .h_8 {
80
- height: var(--sizes-8)
81
- }
82
-
83
- .text_lowercase {
84
- text-transform: lowercase
85
- }
86
- }
@@ -1,62 +0,0 @@
1
- @layer utilities {
2
-
3
- .mb_3\.5 {
4
- margin-bottom: var(--spacing-3\.5)
5
- }
6
-
7
- .pos_sticky {
8
- position: sticky
9
- }
10
-
11
- .top_0 {
12
- top: var(--spacing-0)
13
- }
14
-
15
- .z_1 {
16
- z-index: 1
17
- }
18
-
19
- .resize_vertical {
20
- resize: vertical
21
- }
22
-
23
- .font_medium {
24
- font-weight: var(--font-weights-medium)
25
- }
26
-
27
- .opacity_0\.4 {
28
- opacity: 0.4
29
- }
30
-
31
- .fs_4xl {
32
- font-size: var(--font-sizes-4xl)
33
- }
34
-
35
- .leading_normal {
36
- line-height: var(--line-heights-normal)
37
- }
38
-
39
- .flex_column {
40
- flex-direction: column
41
- }
42
-
43
- .gap_3\.5 {
44
- gap: var(--spacing-3\.5)
45
- }
46
-
47
- .d_flex {
48
- display: flex
49
- }
50
-
51
- .items_center {
52
- align-items: center
53
- }
54
-
55
- .gap_1 {
56
- gap: var(--spacing-1)
57
- }
58
-
59
- .flex_row {
60
- flex-direction: row
61
- }
62
- }
@@ -1,58 +0,0 @@
1
- @layer utilities {
2
-
3
- .bg_transparent {
4
- background: var(--colors-transparent)
5
- }
6
-
7
- .w_full {
8
- width: var(--sizes-full)
9
- }
10
-
11
- .px_4 {
12
- padding-inline: var(--spacing-4)
13
- }
14
-
15
- .py_2 {
16
- padding-block: var(--spacing-2)
17
- }
18
-
19
- .rounded_md {
20
- border-radius: var(--radii-md)
21
- }
22
-
23
- .text_neutral\.600 {
24
- color: var(--colors-neutral-600)
25
- }
26
-
27
- .dark\:text_neutral\.300.dark, .dark .dark\:text_neutral\.300 {
28
- color: var(--colors-neutral-300)
29
- }
30
-
31
- .shadow_sm {
32
- box-shadow: var(--shadows-sm)
33
- }
34
-
35
- .border-width_1px {
36
- border-width: 1px
37
- }
38
-
39
- .border_border {
40
- border-color: var(--colors-border)
41
- }
42
-
43
- .focusWithin\:outline-style_solid:focus-within {
44
- outline-style: solid
45
- }
46
-
47
- .focusWithin\:ring_2px:focus-within {
48
- outline-width: 2px
49
- }
50
-
51
- .focusWithin\:ring_2px:focus-within {
52
- outline-offset: 2px
53
- }
54
-
55
- .focusWithin\:ring_neutral\.400:focus-within {
56
- outline-color: var(--colors-neutral-400)
57
- }
58
- }
@@ -1,63 +0,0 @@
1
- @layer utilities {
2
-
3
- .divide-y_1px > :not([hidden]) ~ :not([hidden]) {
4
- border-top-width: 1px;
5
- border-bottom-width: 0px
6
- }
7
-
8
- .divide_card > :not([hidden]) ~ :not([hidden]) {
9
- border-color: var(--colors-card)
10
- }
11
-
12
- .px_1 {
13
- padding-inline: var(--spacing-1)
14
- }
15
-
16
- .py_2\.5 {
17
- padding-block: var(--spacing-2\.5)
18
- }
19
-
20
- .border_card {
21
- border-color: var(--colors-card)
22
- }
23
-
24
- .fs_small {
25
- font-size: small
26
- }
27
-
28
- .mt_1\.5 {
29
- margin-top: var(--spacing-1\.5)
30
- }
31
-
32
- .px_4 {
33
- padding-inline: var(--spacing-4)
34
- }
35
-
36
- .py_2 {
37
- padding-block: var(--spacing-2)
38
- }
39
-
40
- .bg_card {
41
- background: var(--colors-card)
42
- }
43
-
44
- .mt_5 {
45
- margin-top: var(--spacing-5)
46
- }
47
-
48
- .flex_auto {
49
- flex: 1 1 auto
50
- }
51
-
52
- .my_3 {
53
- margin-block: var(--spacing-3)
54
- }
55
-
56
- .h_20 {
57
- height: var(--sizes-20)
58
- }
59
-
60
- .font_medium {
61
- font-weight: var(--font-weights-medium)
62
- }
63
- }