@chakra-ui/panda-preset 3.28.1 → 3.30.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 (36) hide show
  1. package/dist/cjs/recipes/badge.cjs +3 -1
  2. package/dist/cjs/recipes/button.cjs +3 -1
  3. package/dist/cjs/recipes/code.cjs +3 -1
  4. package/dist/cjs/semantic-tokens/colors.cjs +60 -0
  5. package/dist/cjs/slot-recipes/alert.cjs +3 -1
  6. package/dist/cjs/slot-recipes/avatar.cjs +3 -1
  7. package/dist/cjs/slot-recipes/carousel.cjs +79 -0
  8. package/dist/cjs/slot-recipes/combobox.cjs +13 -4
  9. package/dist/cjs/slot-recipes/hover-card.cjs +1 -1
  10. package/dist/cjs/slot-recipes/index.cjs +4 -0
  11. package/dist/cjs/slot-recipes/popover.cjs +1 -1
  12. package/dist/cjs/slot-recipes/splitter.cjs +87 -0
  13. package/dist/cjs/slot-recipes/tag.cjs +3 -1
  14. package/dist/cjs/slot-recipes/tags-input.cjs +9 -2
  15. package/dist/cjs/slot-recipes/tooltip.cjs +1 -1
  16. package/dist/esm/recipes/badge.js +3 -1
  17. package/dist/esm/recipes/button.js +3 -1
  18. package/dist/esm/recipes/code.js +3 -1
  19. package/dist/esm/semantic-tokens/colors.js +60 -0
  20. package/dist/esm/slot-recipes/alert.js +3 -1
  21. package/dist/esm/slot-recipes/avatar.js +3 -1
  22. package/dist/esm/slot-recipes/carousel.js +77 -0
  23. package/dist/esm/slot-recipes/combobox.js +13 -4
  24. package/dist/esm/slot-recipes/hover-card.js +1 -1
  25. package/dist/esm/slot-recipes/index.js +4 -0
  26. package/dist/esm/slot-recipes/popover.js +1 -1
  27. package/dist/esm/slot-recipes/splitter.js +85 -0
  28. package/dist/esm/slot-recipes/tag.js +3 -1
  29. package/dist/esm/slot-recipes/tags-input.js +9 -2
  30. package/dist/esm/slot-recipes/tooltip.js +1 -1
  31. package/dist/types/semantic-tokens/colors.d.ts +60 -0
  32. package/dist/types/semantic-tokens/index.d.ts +60 -0
  33. package/dist/types/slot-recipes/carousel.d.ts +1 -0
  34. package/dist/types/slot-recipes/index.d.ts +2 -0
  35. package/dist/types/slot-recipes/splitter.d.ts +1 -0
  36. package/package.json +2 -2
@@ -27,8 +27,10 @@ const badgeRecipe = def.defineRecipe({
27
27
  },
28
28
  outline: {
29
29
  color: "colorPalette.fg",
30
+ "--outline-shadow-legacy": "colors.colorPalette.muted",
31
+ "--outline-shadow": "colors.colorPalette.border",
30
32
  shadow: "inset 0 0 0px 1px var(--shadow-color)",
31
- shadowColor: "colorPalette.muted"
33
+ shadowColor: "var(--outline-shadow, var(--outline-shadow-legacy))"
32
34
  },
33
35
  surface: {
34
36
  bg: "colorPalette.subtle",
@@ -150,7 +150,9 @@ const buttonRecipe = def.defineRecipe({
150
150
  },
151
151
  outline: {
152
152
  borderWidth: "1px",
153
- borderColor: "colorPalette.muted",
153
+ "--outline-color-legacy": "colors.colorPalette.muted",
154
+ "--outline-color": "colors.colorPalette.border",
155
+ borderColor: "var(--outline-color, var(--outline-color-legacy))",
154
156
  color: "colorPalette.fg",
155
157
  _hover: {
156
158
  bg: "colorPalette.subtle"
@@ -23,8 +23,10 @@ const codeRecipe = def.defineRecipe({
23
23
  },
24
24
  outline: {
25
25
  color: "colorPalette.fg",
26
+ "--outline-shadow-legacy": "colors.colorPalette.muted",
27
+ "--outline-shadow": "colors.colorPalette.border",
26
28
  shadow: "inset 0 0 0px 1px var(--shadow-color)",
27
- shadowColor: "colorPalette.muted"
29
+ shadowColor: "var(--outline-shadow, var(--outline-shadow-legacy))"
28
30
  },
29
31
  surface: {
30
32
  bg: "colorPalette.subtle",
@@ -214,6 +214,12 @@ const colors = def.defineSemanticTokens.colors({
214
214
  _light: "{colors.gray.400}",
215
215
  _dark: "{colors.gray.400}"
216
216
  }
217
+ },
218
+ border: {
219
+ value: {
220
+ _light: "{colors.gray.200}",
221
+ _dark: "{colors.gray.800}"
222
+ }
217
223
  }
218
224
  },
219
225
  red: {
@@ -258,6 +264,12 @@ const colors = def.defineSemanticTokens.colors({
258
264
  _light: "{colors.red.500}",
259
265
  _dark: "{colors.red.500}"
260
266
  }
267
+ },
268
+ border: {
269
+ value: {
270
+ _light: "{colors.red.500}",
271
+ _dark: "{colors.red.400}"
272
+ }
261
273
  }
262
274
  },
263
275
  orange: {
@@ -302,6 +314,12 @@ const colors = def.defineSemanticTokens.colors({
302
314
  _light: "{colors.orange.500}",
303
315
  _dark: "{colors.orange.500}"
304
316
  }
317
+ },
318
+ border: {
319
+ value: {
320
+ _light: "{colors.orange.500}",
321
+ _dark: "{colors.orange.400}"
322
+ }
305
323
  }
306
324
  },
307
325
  green: {
@@ -346,6 +364,12 @@ const colors = def.defineSemanticTokens.colors({
346
364
  _light: "{colors.green.500}",
347
365
  _dark: "{colors.green.500}"
348
366
  }
367
+ },
368
+ border: {
369
+ value: {
370
+ _light: "{colors.green.500}",
371
+ _dark: "{colors.green.400}"
372
+ }
349
373
  }
350
374
  },
351
375
  blue: {
@@ -390,6 +414,12 @@ const colors = def.defineSemanticTokens.colors({
390
414
  _light: "{colors.blue.500}",
391
415
  _dark: "{colors.blue.500}"
392
416
  }
417
+ },
418
+ border: {
419
+ value: {
420
+ _light: "{colors.blue.500}",
421
+ _dark: "{colors.blue.400}"
422
+ }
393
423
  }
394
424
  },
395
425
  yellow: {
@@ -434,6 +464,12 @@ const colors = def.defineSemanticTokens.colors({
434
464
  _light: "{colors.yellow.500}",
435
465
  _dark: "{colors.yellow.500}"
436
466
  }
467
+ },
468
+ border: {
469
+ value: {
470
+ _light: "{colors.yellow.500}",
471
+ _dark: "{colors.yellow.500}"
472
+ }
437
473
  }
438
474
  },
439
475
  teal: {
@@ -478,6 +514,12 @@ const colors = def.defineSemanticTokens.colors({
478
514
  _light: "{colors.teal.500}",
479
515
  _dark: "{colors.teal.500}"
480
516
  }
517
+ },
518
+ border: {
519
+ value: {
520
+ _light: "{colors.teal.500}",
521
+ _dark: "{colors.teal.400}"
522
+ }
481
523
  }
482
524
  },
483
525
  purple: {
@@ -522,6 +564,12 @@ const colors = def.defineSemanticTokens.colors({
522
564
  _light: "{colors.purple.500}",
523
565
  _dark: "{colors.purple.500}"
524
566
  }
567
+ },
568
+ border: {
569
+ value: {
570
+ _light: "{colors.purple.500}",
571
+ _dark: "{colors.purple.400}"
572
+ }
525
573
  }
526
574
  },
527
575
  pink: {
@@ -566,6 +614,12 @@ const colors = def.defineSemanticTokens.colors({
566
614
  _light: "{colors.pink.500}",
567
615
  _dark: "{colors.pink.500}"
568
616
  }
617
+ },
618
+ border: {
619
+ value: {
620
+ _light: "{colors.pink.500}",
621
+ _dark: "{colors.pink.400}"
622
+ }
569
623
  }
570
624
  },
571
625
  cyan: {
@@ -610,6 +664,12 @@ const colors = def.defineSemanticTokens.colors({
610
664
  _light: "{colors.cyan.500}",
611
665
  _dark: "{colors.cyan.500}"
612
666
  }
667
+ },
668
+ border: {
669
+ value: {
670
+ _light: "{colors.cyan.500}",
671
+ _dark: "{colors.cyan.400}"
672
+ }
613
673
  }
614
674
  }
615
675
  });
@@ -102,7 +102,9 @@ const alertSlotRecipe = def.defineSlotRecipe({
102
102
  root: {
103
103
  color: "colorPalette.fg",
104
104
  shadow: "inset 0 0 0px 1px var(--shadow-color)",
105
- shadowColor: "colorPalette.muted"
105
+ "--outline-shadow-legacy": "colors.colorPalette.muted",
106
+ "--outline-shadow": "colors.colorPalette.border",
107
+ shadowColor: "var(--outline-shadow, var(--outline-shadow-legacy))"
106
108
  },
107
109
  indicator: {
108
110
  color: "colorPalette.fg"
@@ -107,7 +107,9 @@ const avatarSlotRecipe = def.defineSlotRecipe({
107
107
  root: {
108
108
  color: "colorPalette.fg",
109
109
  borderWidth: "1px",
110
- borderColor: "colorPalette.muted"
110
+ "--outline-shadow-legacy": "colors.colorPalette.muted",
111
+ "--outline-shadow": "colors.colorPalette.border",
112
+ borderColor: "var(--outline-shadow, var(--outline-shadow-legacy))"
111
113
  }
112
114
  }
113
115
  },
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var def = require('../def.cjs');
5
+
6
+ const carouselSlotRecipe = def.defineSlotRecipe({
7
+ className: "carousel",
8
+ slots: [
9
+ "root",
10
+ "itemGroup",
11
+ "item",
12
+ "control",
13
+ "nextTrigger",
14
+ "prevTrigger",
15
+ "indicatorGroup",
16
+ "indicator",
17
+ "autoplayTrigger",
18
+ "progressText",
19
+ "progressText",
20
+ "autoplayIndicator"
21
+ ],
22
+ base: {
23
+ root: {
24
+ position: "relative",
25
+ display: "flex",
26
+ gap: "2",
27
+ _horizontal: {
28
+ flexDirection: "column"
29
+ },
30
+ _vertical: {
31
+ flexDirection: "row"
32
+ }
33
+ },
34
+ item: {
35
+ _horizontal: {
36
+ width: "100%"
37
+ },
38
+ _vertical: {
39
+ height: "100%"
40
+ }
41
+ },
42
+ control: {
43
+ display: "flex",
44
+ alignItems: "center",
45
+ _horizontal: {
46
+ flexDirection: "row",
47
+ width: "100%"
48
+ },
49
+ _vertical: {
50
+ flexDirection: "column",
51
+ height: "100%"
52
+ }
53
+ },
54
+ indicatorGroup: {
55
+ display: "flex",
56
+ justifyContent: "center",
57
+ gap: "3",
58
+ _horizontal: {
59
+ flexDirection: "row"
60
+ },
61
+ _vertical: {
62
+ flexDirection: "column"
63
+ }
64
+ },
65
+ indicator: {
66
+ width: "2.5",
67
+ height: "2.5",
68
+ borderRadius: "full",
69
+ bg: "colorPalette.subtle",
70
+ cursor: "button",
71
+ _current: {
72
+ bg: "colorPalette.solid"
73
+ }
74
+ }
75
+ },
76
+ defaultVariants: {}
77
+ });
78
+
79
+ exports.carouselSlotRecipe = carouselSlotRecipe;
@@ -39,6 +39,17 @@ const comboboxSlotRecipe = def.defineSlotRecipe({
39
39
  layerStyle: "disabled"
40
40
  }
41
41
  },
42
+ control: {
43
+ pos: "relative",
44
+ "--padding-factor": "1",
45
+ "--combobox-input-padding-end": "var(--combobox-input-padding-x)",
46
+ "&:has([data-part=trigger]), &:has([data-part=clear-trigger])": {
47
+ "--combobox-input-padding-end": "calc(var(--combobox-input-height) * var(--padding-factor))"
48
+ },
49
+ "&:has([data-part=trigger]):has([data-part=clear-trigger]:not([hidden]))": {
50
+ "--padding-factor": "1.5"
51
+ }
52
+ },
42
53
  input: {
43
54
  display: "flex",
44
55
  alignItems: "center",
@@ -46,7 +57,8 @@ const comboboxSlotRecipe = def.defineSlotRecipe({
46
57
  background: "bg.panel",
47
58
  width: "full",
48
59
  minH: "var(--combobox-input-height)",
49
- px: "var(--combobox-input-padding-x)",
60
+ ps: "var(--combobox-input-padding-x)",
61
+ pe: "var(--combobox-input-padding-end)",
50
62
  "--input-height": "var(--combobox-input-height)",
51
63
  borderRadius: "l2",
52
64
  outline: 0,
@@ -78,9 +90,6 @@ const comboboxSlotRecipe = def.defineSlotRecipe({
78
90
  focusRingWidth: "2px",
79
91
  rounded: "l1"
80
92
  },
81
- control: {
82
- pos: "relative"
83
- },
84
93
  indicatorGroup: {
85
94
  display: "flex",
86
95
  alignItems: "center",
@@ -35,7 +35,7 @@ const hoverCardSlotRecipe = def.defineSlotRecipe({
35
35
  },
36
36
  arrowTip: {
37
37
  borderTopWidth: "0.5px",
38
- borderInlineStartWidth: "0.5px"
38
+ borderLeftWidth: "0.5px"
39
39
  }
40
40
  },
41
41
  variants: {
@@ -8,6 +8,7 @@ var avatar = require('./avatar.cjs');
8
8
  var blockquote = require('./blockquote.cjs');
9
9
  var breadcrumb = require('./breadcrumb.cjs');
10
10
  var card = require('./card.cjs');
11
+ var carousel = require('./carousel.cjs');
11
12
  var checkbox = require('./checkbox.cjs');
12
13
  var checkboxCard = require('./checkbox-card.cjs');
13
14
  var codeBlock = require('./code-block.cjs');
@@ -40,6 +41,7 @@ var scrollArea = require('./scroll-area.cjs');
40
41
  var segmentGroup = require('./segment-group.cjs');
41
42
  var select = require('./select.cjs');
42
43
  var slider = require('./slider.cjs');
44
+ var splitter = require('./splitter.cjs');
43
45
  var stat = require('./stat.cjs');
44
46
  var status = require('./status.cjs');
45
47
  var steps = require('./steps.cjs');
@@ -61,6 +63,7 @@ const slotRecipes = {
61
63
  blockquote: blockquote.blockquoteSlotRecipe,
62
64
  breadcrumb: breadcrumb.breadcrumbSlotRecipe,
63
65
  card: card.cardSlotRecipe,
66
+ carousel: carousel.carouselSlotRecipe,
64
67
  checkbox: checkbox.checkboxSlotRecipe,
65
68
  checkboxCard: checkboxCard.checkboxCardSlotRecipe,
66
69
  codeBlock: codeBlock.codeBlockSlotRecipe,
@@ -91,6 +94,7 @@ const slotRecipes = {
91
94
  select: select.selectSlotRecipe,
92
95
  combobox: combobox.comboboxSlotRecipe,
93
96
  slider: slider.sliderSlotRecipe,
97
+ splitter: splitter.splitterSlotRecipe,
94
98
  stat: stat.statSlotRecipe,
95
99
  steps: steps.stepsSlotRecipe,
96
100
  swittch: _switch.switchSlotRecipe,
@@ -70,7 +70,7 @@ const popoverSlotRecipe = def.defineSlotRecipe({
70
70
  },
71
71
  arrowTip: {
72
72
  borderTopWidth: "1px",
73
- borderInlineStartWidth: "1px"
73
+ borderLeftWidth: "1px"
74
74
  }
75
75
  },
76
76
  variants: {
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var def = require('../def.cjs');
5
+
6
+ const splitterSlotRecipe = def.defineSlotRecipe({
7
+ slots: [
8
+ "root",
9
+ "panel",
10
+ "resizeTrigger",
11
+ "resizeTriggerIndicator",
12
+ "resizeTriggerSeparator",
13
+ "resizeTriggerIndicator"
14
+ ],
15
+ className: "splitter",
16
+ base: {
17
+ resizeTrigger: {
18
+ "--splitter-border-color": "colors.border",
19
+ "--splitter-thumb-color": "colors.bg",
20
+ "--splitter-thumb-size": "sizes.2",
21
+ "--splitter-thumb-inset": "calc(var(--splitter-thumb-size) * -0.5)",
22
+ "--splitter-border-size": "1px",
23
+ "--splitter-handle-size": "sizes.6",
24
+ outline: "0",
25
+ display: "grid",
26
+ placeItems: "center",
27
+ position: "relative",
28
+ _focus: {
29
+ "--splitter-border-color": "colors.border.emphasized",
30
+ "--splitter-thumb-color": "colors.colorPalette.subtle"
31
+ },
32
+ _dragging: {
33
+ "--splitter-thumb-color": "colors.colorPalette.focusRing"
34
+ },
35
+ _horizontal: {
36
+ minWidth: "var(--splitter-thumb-size)",
37
+ marginInline: "var(--splitter-thumb-inset)"
38
+ },
39
+ _vertical: {
40
+ minHeight: "var(--splitter-thumb-size)",
41
+ marginBlock: "var(--splitter-thumb-inset)"
42
+ }
43
+ },
44
+ resizeTriggerSeparator: {
45
+ position: "absolute",
46
+ bg: "var(--splitter-border-color)",
47
+ "[data-part='resize-trigger'][data-orientation=horizontal] &": {
48
+ insetInlineEnd: "calc(var(--splitter-thumb-size) * 0.5)",
49
+ insetBlock: "0",
50
+ insetInlineStart: "auto",
51
+ w: "var(--splitter-border-size)"
52
+ },
53
+ "[data-part='resize-trigger'][data-orientation=vertical] &": {
54
+ insetBlockEnd: "calc(var(--splitter-thumb-size) * 0.5)",
55
+ insetInline: "0",
56
+ insetBlockStart: "auto",
57
+ h: "var(--splitter-border-size)"
58
+ }
59
+ },
60
+ resizeTriggerIndicator: {
61
+ position: "relative",
62
+ rounded: "full",
63
+ bg: "var(--splitter-thumb-color)",
64
+ shadow: "xs",
65
+ borderWidth: "1px",
66
+ zIndex: "1",
67
+ "[data-part='resize-trigger'][data-orientation=horizontal] &": {
68
+ w: "full",
69
+ h: "var(--splitter-handle-size)"
70
+ },
71
+ "[data-part='resize-trigger'][data-orientation=vertical] &": {
72
+ w: "var(--splitter-handle-size)",
73
+ h: "full"
74
+ },
75
+ "[data-part='resize-trigger'][data-focus]:focus-visible &": {
76
+ outlineWidth: "2px",
77
+ outlineColor: "colorPalette.focusRing",
78
+ outlineStyle: "solid"
79
+ },
80
+ "[data-part='resize-trigger'][data-disabled] &": {
81
+ visibility: "hidden"
82
+ }
83
+ }
84
+ }
85
+ });
86
+
87
+ exports.splitterSlotRecipe = splitterSlotRecipe;
@@ -124,8 +124,10 @@ const tagSlotRecipe = def.defineSlotRecipe({
124
124
  outline: {
125
125
  root: {
126
126
  color: "colorPalette.fg",
127
+ "--outline-shadow-legacy": "colors.colorPalette.muted",
128
+ "--outline-shadow": "colors.colorPalette.border",
127
129
  shadow: "inset 0 0 0px 1px var(--shadow-color)",
128
- shadowColor: "colorPalette.muted"
130
+ shadowColor: "var(--outline-shadow, var(--outline-shadow-legacy))"
129
131
  }
130
132
  },
131
133
  surface: {
@@ -65,8 +65,13 @@ const tagsInputSlotRecipe = def.defineSlotRecipe({
65
65
  display: "none"
66
66
  }
67
67
  },
68
+ item: {
69
+ maxWidth: "100%",
70
+ minWidth: "0"
71
+ },
68
72
  itemText: {
69
- lineClamp: "1"
73
+ lineClamp: "1",
74
+ minWidth: "0"
70
75
  },
71
76
  itemInput: {
72
77
  outline: "none",
@@ -83,12 +88,14 @@ const tagsInputSlotRecipe = def.defineSlotRecipe({
83
88
  alignItems: "center",
84
89
  gap: "1",
85
90
  rounded: "l1",
86
- px: "var(--tags-input-item-px)"
91
+ px: "var(--tags-input-item-px)",
92
+ maxWidth: "100%"
87
93
  },
88
94
  itemDeleteTrigger: {
89
95
  display: "flex",
90
96
  alignItems: "center",
91
97
  justifyContent: "center",
98
+ flexShrink: "0",
92
99
  boxSize: "calc(var(--tags-input-item-height) / 1.5)",
93
100
  cursor: {
94
101
  base: "button",
@@ -35,7 +35,7 @@ const tooltipSlotRecipe = def.defineSlotRecipe({
35
35
  },
36
36
  arrowTip: {
37
37
  borderTopWidth: "1px",
38
- borderInlineStartWidth: "1px",
38
+ borderLeftWidth: "1px",
39
39
  borderColor: "var(--tooltip-bg)"
40
40
  }
41
41
  }
@@ -25,8 +25,10 @@ const badgeRecipe = defineRecipe({
25
25
  },
26
26
  outline: {
27
27
  color: "colorPalette.fg",
28
+ "--outline-shadow-legacy": "colors.colorPalette.muted",
29
+ "--outline-shadow": "colors.colorPalette.border",
28
30
  shadow: "inset 0 0 0px 1px var(--shadow-color)",
29
- shadowColor: "colorPalette.muted"
31
+ shadowColor: "var(--outline-shadow, var(--outline-shadow-legacy))"
30
32
  },
31
33
  surface: {
32
34
  bg: "colorPalette.subtle",
@@ -148,7 +148,9 @@ const buttonRecipe = defineRecipe({
148
148
  },
149
149
  outline: {
150
150
  borderWidth: "1px",
151
- borderColor: "colorPalette.muted",
151
+ "--outline-color-legacy": "colors.colorPalette.muted",
152
+ "--outline-color": "colors.colorPalette.border",
153
+ borderColor: "var(--outline-color, var(--outline-color-legacy))",
152
154
  color: "colorPalette.fg",
153
155
  _hover: {
154
156
  bg: "colorPalette.subtle"
@@ -21,8 +21,10 @@ const codeRecipe = defineRecipe({
21
21
  },
22
22
  outline: {
23
23
  color: "colorPalette.fg",
24
+ "--outline-shadow-legacy": "colors.colorPalette.muted",
25
+ "--outline-shadow": "colors.colorPalette.border",
24
26
  shadow: "inset 0 0 0px 1px var(--shadow-color)",
25
- shadowColor: "colorPalette.muted"
27
+ shadowColor: "var(--outline-shadow, var(--outline-shadow-legacy))"
26
28
  },
27
29
  surface: {
28
30
  bg: "colorPalette.subtle",
@@ -212,6 +212,12 @@ const colors = defineSemanticTokens.colors({
212
212
  _light: "{colors.gray.400}",
213
213
  _dark: "{colors.gray.400}"
214
214
  }
215
+ },
216
+ border: {
217
+ value: {
218
+ _light: "{colors.gray.200}",
219
+ _dark: "{colors.gray.800}"
220
+ }
215
221
  }
216
222
  },
217
223
  red: {
@@ -256,6 +262,12 @@ const colors = defineSemanticTokens.colors({
256
262
  _light: "{colors.red.500}",
257
263
  _dark: "{colors.red.500}"
258
264
  }
265
+ },
266
+ border: {
267
+ value: {
268
+ _light: "{colors.red.500}",
269
+ _dark: "{colors.red.400}"
270
+ }
259
271
  }
260
272
  },
261
273
  orange: {
@@ -300,6 +312,12 @@ const colors = defineSemanticTokens.colors({
300
312
  _light: "{colors.orange.500}",
301
313
  _dark: "{colors.orange.500}"
302
314
  }
315
+ },
316
+ border: {
317
+ value: {
318
+ _light: "{colors.orange.500}",
319
+ _dark: "{colors.orange.400}"
320
+ }
303
321
  }
304
322
  },
305
323
  green: {
@@ -344,6 +362,12 @@ const colors = defineSemanticTokens.colors({
344
362
  _light: "{colors.green.500}",
345
363
  _dark: "{colors.green.500}"
346
364
  }
365
+ },
366
+ border: {
367
+ value: {
368
+ _light: "{colors.green.500}",
369
+ _dark: "{colors.green.400}"
370
+ }
347
371
  }
348
372
  },
349
373
  blue: {
@@ -388,6 +412,12 @@ const colors = defineSemanticTokens.colors({
388
412
  _light: "{colors.blue.500}",
389
413
  _dark: "{colors.blue.500}"
390
414
  }
415
+ },
416
+ border: {
417
+ value: {
418
+ _light: "{colors.blue.500}",
419
+ _dark: "{colors.blue.400}"
420
+ }
391
421
  }
392
422
  },
393
423
  yellow: {
@@ -432,6 +462,12 @@ const colors = defineSemanticTokens.colors({
432
462
  _light: "{colors.yellow.500}",
433
463
  _dark: "{colors.yellow.500}"
434
464
  }
465
+ },
466
+ border: {
467
+ value: {
468
+ _light: "{colors.yellow.500}",
469
+ _dark: "{colors.yellow.500}"
470
+ }
435
471
  }
436
472
  },
437
473
  teal: {
@@ -476,6 +512,12 @@ const colors = defineSemanticTokens.colors({
476
512
  _light: "{colors.teal.500}",
477
513
  _dark: "{colors.teal.500}"
478
514
  }
515
+ },
516
+ border: {
517
+ value: {
518
+ _light: "{colors.teal.500}",
519
+ _dark: "{colors.teal.400}"
520
+ }
479
521
  }
480
522
  },
481
523
  purple: {
@@ -520,6 +562,12 @@ const colors = defineSemanticTokens.colors({
520
562
  _light: "{colors.purple.500}",
521
563
  _dark: "{colors.purple.500}"
522
564
  }
565
+ },
566
+ border: {
567
+ value: {
568
+ _light: "{colors.purple.500}",
569
+ _dark: "{colors.purple.400}"
570
+ }
523
571
  }
524
572
  },
525
573
  pink: {
@@ -564,6 +612,12 @@ const colors = defineSemanticTokens.colors({
564
612
  _light: "{colors.pink.500}",
565
613
  _dark: "{colors.pink.500}"
566
614
  }
615
+ },
616
+ border: {
617
+ value: {
618
+ _light: "{colors.pink.500}",
619
+ _dark: "{colors.pink.400}"
620
+ }
567
621
  }
568
622
  },
569
623
  cyan: {
@@ -608,6 +662,12 @@ const colors = defineSemanticTokens.colors({
608
662
  _light: "{colors.cyan.500}",
609
663
  _dark: "{colors.cyan.500}"
610
664
  }
665
+ },
666
+ border: {
667
+ value: {
668
+ _light: "{colors.cyan.500}",
669
+ _dark: "{colors.cyan.400}"
670
+ }
611
671
  }
612
672
  }
613
673
  });
@@ -100,7 +100,9 @@ const alertSlotRecipe = defineSlotRecipe({
100
100
  root: {
101
101
  color: "colorPalette.fg",
102
102
  shadow: "inset 0 0 0px 1px var(--shadow-color)",
103
- shadowColor: "colorPalette.muted"
103
+ "--outline-shadow-legacy": "colors.colorPalette.muted",
104
+ "--outline-shadow": "colors.colorPalette.border",
105
+ shadowColor: "var(--outline-shadow, var(--outline-shadow-legacy))"
104
106
  },
105
107
  indicator: {
106
108
  color: "colorPalette.fg"
@@ -105,7 +105,9 @@ const avatarSlotRecipe = defineSlotRecipe({
105
105
  root: {
106
106
  color: "colorPalette.fg",
107
107
  borderWidth: "1px",
108
- borderColor: "colorPalette.muted"
108
+ "--outline-shadow-legacy": "colors.colorPalette.muted",
109
+ "--outline-shadow": "colors.colorPalette.border",
110
+ borderColor: "var(--outline-shadow, var(--outline-shadow-legacy))"
109
111
  }
110
112
  }
111
113
  },
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const carouselSlotRecipe = defineSlotRecipe({
5
+ className: "carousel",
6
+ slots: [
7
+ "root",
8
+ "itemGroup",
9
+ "item",
10
+ "control",
11
+ "nextTrigger",
12
+ "prevTrigger",
13
+ "indicatorGroup",
14
+ "indicator",
15
+ "autoplayTrigger",
16
+ "progressText",
17
+ "progressText",
18
+ "autoplayIndicator"
19
+ ],
20
+ base: {
21
+ root: {
22
+ position: "relative",
23
+ display: "flex",
24
+ gap: "2",
25
+ _horizontal: {
26
+ flexDirection: "column"
27
+ },
28
+ _vertical: {
29
+ flexDirection: "row"
30
+ }
31
+ },
32
+ item: {
33
+ _horizontal: {
34
+ width: "100%"
35
+ },
36
+ _vertical: {
37
+ height: "100%"
38
+ }
39
+ },
40
+ control: {
41
+ display: "flex",
42
+ alignItems: "center",
43
+ _horizontal: {
44
+ flexDirection: "row",
45
+ width: "100%"
46
+ },
47
+ _vertical: {
48
+ flexDirection: "column",
49
+ height: "100%"
50
+ }
51
+ },
52
+ indicatorGroup: {
53
+ display: "flex",
54
+ justifyContent: "center",
55
+ gap: "3",
56
+ _horizontal: {
57
+ flexDirection: "row"
58
+ },
59
+ _vertical: {
60
+ flexDirection: "column"
61
+ }
62
+ },
63
+ indicator: {
64
+ width: "2.5",
65
+ height: "2.5",
66
+ borderRadius: "full",
67
+ bg: "colorPalette.subtle",
68
+ cursor: "button",
69
+ _current: {
70
+ bg: "colorPalette.solid"
71
+ }
72
+ }
73
+ },
74
+ defaultVariants: {}
75
+ });
76
+
77
+ export { carouselSlotRecipe };
@@ -37,6 +37,17 @@ const comboboxSlotRecipe = defineSlotRecipe({
37
37
  layerStyle: "disabled"
38
38
  }
39
39
  },
40
+ control: {
41
+ pos: "relative",
42
+ "--padding-factor": "1",
43
+ "--combobox-input-padding-end": "var(--combobox-input-padding-x)",
44
+ "&:has([data-part=trigger]), &:has([data-part=clear-trigger])": {
45
+ "--combobox-input-padding-end": "calc(var(--combobox-input-height) * var(--padding-factor))"
46
+ },
47
+ "&:has([data-part=trigger]):has([data-part=clear-trigger]:not([hidden]))": {
48
+ "--padding-factor": "1.5"
49
+ }
50
+ },
40
51
  input: {
41
52
  display: "flex",
42
53
  alignItems: "center",
@@ -44,7 +55,8 @@ const comboboxSlotRecipe = defineSlotRecipe({
44
55
  background: "bg.panel",
45
56
  width: "full",
46
57
  minH: "var(--combobox-input-height)",
47
- px: "var(--combobox-input-padding-x)",
58
+ ps: "var(--combobox-input-padding-x)",
59
+ pe: "var(--combobox-input-padding-end)",
48
60
  "--input-height": "var(--combobox-input-height)",
49
61
  borderRadius: "l2",
50
62
  outline: 0,
@@ -76,9 +88,6 @@ const comboboxSlotRecipe = defineSlotRecipe({
76
88
  focusRingWidth: "2px",
77
89
  rounded: "l1"
78
90
  },
79
- control: {
80
- pos: "relative"
81
- },
82
91
  indicatorGroup: {
83
92
  display: "flex",
84
93
  alignItems: "center",
@@ -33,7 +33,7 @@ const hoverCardSlotRecipe = defineSlotRecipe({
33
33
  },
34
34
  arrowTip: {
35
35
  borderTopWidth: "0.5px",
36
- borderInlineStartWidth: "0.5px"
36
+ borderLeftWidth: "0.5px"
37
37
  }
38
38
  },
39
39
  variants: {
@@ -6,6 +6,7 @@ import { avatarSlotRecipe } from './avatar.js';
6
6
  import { blockquoteSlotRecipe } from './blockquote.js';
7
7
  import { breadcrumbSlotRecipe } from './breadcrumb.js';
8
8
  import { cardSlotRecipe } from './card.js';
9
+ import { carouselSlotRecipe } from './carousel.js';
9
10
  import { checkboxSlotRecipe } from './checkbox.js';
10
11
  import { checkboxCardSlotRecipe } from './checkbox-card.js';
11
12
  import { codeBlockSlotRecipe } from './code-block.js';
@@ -38,6 +39,7 @@ import { scrollAreaSlotRecipe } from './scroll-area.js';
38
39
  import { segmentGroupSlotRecipe } from './segment-group.js';
39
40
  import { selectSlotRecipe } from './select.js';
40
41
  import { sliderSlotRecipe } from './slider.js';
42
+ import { splitterSlotRecipe } from './splitter.js';
41
43
  import { statSlotRecipe } from './stat.js';
42
44
  import { statusSlotRecipe } from './status.js';
43
45
  import { stepsSlotRecipe } from './steps.js';
@@ -59,6 +61,7 @@ const slotRecipes = {
59
61
  blockquote: blockquoteSlotRecipe,
60
62
  breadcrumb: breadcrumbSlotRecipe,
61
63
  card: cardSlotRecipe,
64
+ carousel: carouselSlotRecipe,
62
65
  checkbox: checkboxSlotRecipe,
63
66
  checkboxCard: checkboxCardSlotRecipe,
64
67
  codeBlock: codeBlockSlotRecipe,
@@ -89,6 +92,7 @@ const slotRecipes = {
89
92
  select: selectSlotRecipe,
90
93
  combobox: comboboxSlotRecipe,
91
94
  slider: sliderSlotRecipe,
95
+ splitter: splitterSlotRecipe,
92
96
  stat: statSlotRecipe,
93
97
  steps: stepsSlotRecipe,
94
98
  swittch: switchSlotRecipe,
@@ -68,7 +68,7 @@ const popoverSlotRecipe = defineSlotRecipe({
68
68
  },
69
69
  arrowTip: {
70
70
  borderTopWidth: "1px",
71
- borderInlineStartWidth: "1px"
71
+ borderLeftWidth: "1px"
72
72
  }
73
73
  },
74
74
  variants: {
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const splitterSlotRecipe = defineSlotRecipe({
5
+ slots: [
6
+ "root",
7
+ "panel",
8
+ "resizeTrigger",
9
+ "resizeTriggerIndicator",
10
+ "resizeTriggerSeparator",
11
+ "resizeTriggerIndicator"
12
+ ],
13
+ className: "splitter",
14
+ base: {
15
+ resizeTrigger: {
16
+ "--splitter-border-color": "colors.border",
17
+ "--splitter-thumb-color": "colors.bg",
18
+ "--splitter-thumb-size": "sizes.2",
19
+ "--splitter-thumb-inset": "calc(var(--splitter-thumb-size) * -0.5)",
20
+ "--splitter-border-size": "1px",
21
+ "--splitter-handle-size": "sizes.6",
22
+ outline: "0",
23
+ display: "grid",
24
+ placeItems: "center",
25
+ position: "relative",
26
+ _focus: {
27
+ "--splitter-border-color": "colors.border.emphasized",
28
+ "--splitter-thumb-color": "colors.colorPalette.subtle"
29
+ },
30
+ _dragging: {
31
+ "--splitter-thumb-color": "colors.colorPalette.focusRing"
32
+ },
33
+ _horizontal: {
34
+ minWidth: "var(--splitter-thumb-size)",
35
+ marginInline: "var(--splitter-thumb-inset)"
36
+ },
37
+ _vertical: {
38
+ minHeight: "var(--splitter-thumb-size)",
39
+ marginBlock: "var(--splitter-thumb-inset)"
40
+ }
41
+ },
42
+ resizeTriggerSeparator: {
43
+ position: "absolute",
44
+ bg: "var(--splitter-border-color)",
45
+ "[data-part='resize-trigger'][data-orientation=horizontal] &": {
46
+ insetInlineEnd: "calc(var(--splitter-thumb-size) * 0.5)",
47
+ insetBlock: "0",
48
+ insetInlineStart: "auto",
49
+ w: "var(--splitter-border-size)"
50
+ },
51
+ "[data-part='resize-trigger'][data-orientation=vertical] &": {
52
+ insetBlockEnd: "calc(var(--splitter-thumb-size) * 0.5)",
53
+ insetInline: "0",
54
+ insetBlockStart: "auto",
55
+ h: "var(--splitter-border-size)"
56
+ }
57
+ },
58
+ resizeTriggerIndicator: {
59
+ position: "relative",
60
+ rounded: "full",
61
+ bg: "var(--splitter-thumb-color)",
62
+ shadow: "xs",
63
+ borderWidth: "1px",
64
+ zIndex: "1",
65
+ "[data-part='resize-trigger'][data-orientation=horizontal] &": {
66
+ w: "full",
67
+ h: "var(--splitter-handle-size)"
68
+ },
69
+ "[data-part='resize-trigger'][data-orientation=vertical] &": {
70
+ w: "var(--splitter-handle-size)",
71
+ h: "full"
72
+ },
73
+ "[data-part='resize-trigger'][data-focus]:focus-visible &": {
74
+ outlineWidth: "2px",
75
+ outlineColor: "colorPalette.focusRing",
76
+ outlineStyle: "solid"
77
+ },
78
+ "[data-part='resize-trigger'][data-disabled] &": {
79
+ visibility: "hidden"
80
+ }
81
+ }
82
+ }
83
+ });
84
+
85
+ export { splitterSlotRecipe };
@@ -122,8 +122,10 @@ const tagSlotRecipe = defineSlotRecipe({
122
122
  outline: {
123
123
  root: {
124
124
  color: "colorPalette.fg",
125
+ "--outline-shadow-legacy": "colors.colorPalette.muted",
126
+ "--outline-shadow": "colors.colorPalette.border",
125
127
  shadow: "inset 0 0 0px 1px var(--shadow-color)",
126
- shadowColor: "colorPalette.muted"
128
+ shadowColor: "var(--outline-shadow, var(--outline-shadow-legacy))"
127
129
  }
128
130
  },
129
131
  surface: {
@@ -63,8 +63,13 @@ const tagsInputSlotRecipe = defineSlotRecipe({
63
63
  display: "none"
64
64
  }
65
65
  },
66
+ item: {
67
+ maxWidth: "100%",
68
+ minWidth: "0"
69
+ },
66
70
  itemText: {
67
- lineClamp: "1"
71
+ lineClamp: "1",
72
+ minWidth: "0"
68
73
  },
69
74
  itemInput: {
70
75
  outline: "none",
@@ -81,12 +86,14 @@ const tagsInputSlotRecipe = defineSlotRecipe({
81
86
  alignItems: "center",
82
87
  gap: "1",
83
88
  rounded: "l1",
84
- px: "var(--tags-input-item-px)"
89
+ px: "var(--tags-input-item-px)",
90
+ maxWidth: "100%"
85
91
  },
86
92
  itemDeleteTrigger: {
87
93
  display: "flex",
88
94
  alignItems: "center",
89
95
  justifyContent: "center",
96
+ flexShrink: "0",
90
97
  boxSize: "calc(var(--tags-input-item-height) / 1.5)",
91
98
  cursor: {
92
99
  base: "button",
@@ -33,7 +33,7 @@ const tooltipSlotRecipe = defineSlotRecipe({
33
33
  },
34
34
  arrowTip: {
35
35
  borderTopWidth: "1px",
36
- borderInlineStartWidth: "1px",
36
+ borderLeftWidth: "1px",
37
37
  borderColor: "var(--tooltip-bg)"
38
38
  }
39
39
  }
@@ -210,6 +210,12 @@ export declare const colors: {
210
210
  _dark: string;
211
211
  };
212
212
  };
213
+ border: {
214
+ value: {
215
+ _light: string;
216
+ _dark: string;
217
+ };
218
+ };
213
219
  };
214
220
  red: {
215
221
  contrast: {
@@ -254,6 +260,12 @@ export declare const colors: {
254
260
  _dark: string;
255
261
  };
256
262
  };
263
+ border: {
264
+ value: {
265
+ _light: string;
266
+ _dark: string;
267
+ };
268
+ };
257
269
  };
258
270
  orange: {
259
271
  contrast: {
@@ -298,6 +310,12 @@ export declare const colors: {
298
310
  _dark: string;
299
311
  };
300
312
  };
313
+ border: {
314
+ value: {
315
+ _light: string;
316
+ _dark: string;
317
+ };
318
+ };
301
319
  };
302
320
  green: {
303
321
  contrast: {
@@ -342,6 +360,12 @@ export declare const colors: {
342
360
  _dark: string;
343
361
  };
344
362
  };
363
+ border: {
364
+ value: {
365
+ _light: string;
366
+ _dark: string;
367
+ };
368
+ };
345
369
  };
346
370
  blue: {
347
371
  contrast: {
@@ -386,6 +410,12 @@ export declare const colors: {
386
410
  _dark: string;
387
411
  };
388
412
  };
413
+ border: {
414
+ value: {
415
+ _light: string;
416
+ _dark: string;
417
+ };
418
+ };
389
419
  };
390
420
  yellow: {
391
421
  contrast: {
@@ -430,6 +460,12 @@ export declare const colors: {
430
460
  _dark: string;
431
461
  };
432
462
  };
463
+ border: {
464
+ value: {
465
+ _light: string;
466
+ _dark: string;
467
+ };
468
+ };
433
469
  };
434
470
  teal: {
435
471
  contrast: {
@@ -474,6 +510,12 @@ export declare const colors: {
474
510
  _dark: string;
475
511
  };
476
512
  };
513
+ border: {
514
+ value: {
515
+ _light: string;
516
+ _dark: string;
517
+ };
518
+ };
477
519
  };
478
520
  purple: {
479
521
  contrast: {
@@ -518,6 +560,12 @@ export declare const colors: {
518
560
  _dark: string;
519
561
  };
520
562
  };
563
+ border: {
564
+ value: {
565
+ _light: string;
566
+ _dark: string;
567
+ };
568
+ };
521
569
  };
522
570
  pink: {
523
571
  contrast: {
@@ -562,6 +610,12 @@ export declare const colors: {
562
610
  _dark: string;
563
611
  };
564
612
  };
613
+ border: {
614
+ value: {
615
+ _light: string;
616
+ _dark: string;
617
+ };
618
+ };
565
619
  };
566
620
  cyan: {
567
621
  contrast: {
@@ -606,5 +660,11 @@ export declare const colors: {
606
660
  _dark: string;
607
661
  };
608
662
  };
663
+ border: {
664
+ value: {
665
+ _light: string;
666
+ _dark: string;
667
+ };
668
+ };
609
669
  };
610
670
  };
@@ -211,6 +211,12 @@ export declare const semanticTokens: {
211
211
  _dark: string;
212
212
  };
213
213
  };
214
+ border: {
215
+ value: {
216
+ _light: string;
217
+ _dark: string;
218
+ };
219
+ };
214
220
  };
215
221
  red: {
216
222
  contrast: {
@@ -255,6 +261,12 @@ export declare const semanticTokens: {
255
261
  _dark: string;
256
262
  };
257
263
  };
264
+ border: {
265
+ value: {
266
+ _light: string;
267
+ _dark: string;
268
+ };
269
+ };
258
270
  };
259
271
  orange: {
260
272
  contrast: {
@@ -299,6 +311,12 @@ export declare const semanticTokens: {
299
311
  _dark: string;
300
312
  };
301
313
  };
314
+ border: {
315
+ value: {
316
+ _light: string;
317
+ _dark: string;
318
+ };
319
+ };
302
320
  };
303
321
  green: {
304
322
  contrast: {
@@ -343,6 +361,12 @@ export declare const semanticTokens: {
343
361
  _dark: string;
344
362
  };
345
363
  };
364
+ border: {
365
+ value: {
366
+ _light: string;
367
+ _dark: string;
368
+ };
369
+ };
346
370
  };
347
371
  blue: {
348
372
  contrast: {
@@ -387,6 +411,12 @@ export declare const semanticTokens: {
387
411
  _dark: string;
388
412
  };
389
413
  };
414
+ border: {
415
+ value: {
416
+ _light: string;
417
+ _dark: string;
418
+ };
419
+ };
390
420
  };
391
421
  yellow: {
392
422
  contrast: {
@@ -431,6 +461,12 @@ export declare const semanticTokens: {
431
461
  _dark: string;
432
462
  };
433
463
  };
464
+ border: {
465
+ value: {
466
+ _light: string;
467
+ _dark: string;
468
+ };
469
+ };
434
470
  };
435
471
  teal: {
436
472
  contrast: {
@@ -475,6 +511,12 @@ export declare const semanticTokens: {
475
511
  _dark: string;
476
512
  };
477
513
  };
514
+ border: {
515
+ value: {
516
+ _light: string;
517
+ _dark: string;
518
+ };
519
+ };
478
520
  };
479
521
  purple: {
480
522
  contrast: {
@@ -519,6 +561,12 @@ export declare const semanticTokens: {
519
561
  _dark: string;
520
562
  };
521
563
  };
564
+ border: {
565
+ value: {
566
+ _light: string;
567
+ _dark: string;
568
+ };
569
+ };
522
570
  };
523
571
  pink: {
524
572
  contrast: {
@@ -563,6 +611,12 @@ export declare const semanticTokens: {
563
611
  _dark: string;
564
612
  };
565
613
  };
614
+ border: {
615
+ value: {
616
+ _light: string;
617
+ _dark: string;
618
+ };
619
+ };
566
620
  };
567
621
  cyan: {
568
622
  contrast: {
@@ -607,6 +661,12 @@ export declare const semanticTokens: {
607
661
  _dark: string;
608
662
  };
609
663
  };
664
+ border: {
665
+ value: {
666
+ _light: string;
667
+ _dark: string;
668
+ };
669
+ };
610
670
  };
611
671
  };
612
672
  shadows: {
@@ -0,0 +1 @@
1
+ export declare const carouselSlotRecipe: import("@pandacss/types").SlotRecipeConfig;
@@ -6,6 +6,7 @@ export declare const slotRecipes: {
6
6
  blockquote: import("@pandacss/types").SlotRecipeConfig;
7
7
  breadcrumb: import("@pandacss/types").SlotRecipeConfig;
8
8
  card: import("@pandacss/types").SlotRecipeConfig;
9
+ carousel: import("@pandacss/types").SlotRecipeConfig;
9
10
  checkbox: import("@pandacss/types").SlotRecipeConfig;
10
11
  checkboxCard: import("@pandacss/types").SlotRecipeConfig;
11
12
  codeBlock: import("@pandacss/types").SlotRecipeConfig;
@@ -36,6 +37,7 @@ export declare const slotRecipes: {
36
37
  select: import("@pandacss/types").SlotRecipeConfig;
37
38
  combobox: import("@pandacss/types").SlotRecipeConfig;
38
39
  slider: import("@pandacss/types").SlotRecipeConfig;
40
+ splitter: import("@pandacss/types").SlotRecipeConfig;
39
41
  stat: import("@pandacss/types").SlotRecipeConfig;
40
42
  steps: import("@pandacss/types").SlotRecipeConfig;
41
43
  swittch: import("@pandacss/types").SlotRecipeConfig;
@@ -0,0 +1 @@
1
+ export declare const splitterSlotRecipe: import("@pandacss/types").SlotRecipeConfig;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chakra-ui/panda-preset",
3
- "version": "3.28.1",
3
+ "version": "3.30.0",
4
4
  "description": "Panda preset for Chakra UI",
5
5
  "type": "module",
6
6
  "main": "dist/cjs/index.cjs",
@@ -49,7 +49,7 @@
49
49
  },
50
50
  "devDependencies": {
51
51
  "globby": "14.1.0",
52
- "@chakra-ui/cli": "3.28.1"
52
+ "@chakra-ui/cli": "3.30.0"
53
53
  },
54
54
  "scripts": {
55
55
  "theme:eject": "chakra eject --outdir=src",