@okshaun/components 1.0.2 → 2.0.1

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 (129) hide show
  1. package/dist/.mcp.json +2 -5
  2. package/dist/icon-metadata.json +5173 -0
  3. package/dist/index.js +17118 -9339
  4. package/dist/index.js.map +1 -1
  5. package/dist/panda.buildinfo.json +696 -0
  6. package/dist/playroom-static.css +187432 -0
  7. package/dist/{preset-DCCViEDs.js → preset-Df8i1OIQ.js} +3651 -2776
  8. package/dist/preset-Df8i1OIQ.js.map +1 -0
  9. package/dist/preset.js +1 -1
  10. package/dist/specs/color-palette.json +22 -1
  11. package/dist/specs/patterns.json +0 -16
  12. package/dist/specs/recipes.json +411 -239
  13. package/dist/specs/semantic-tokens.json +347 -146
  14. package/dist/specs/text-styles.json +72 -0
  15. package/dist/specs/tokens.json +267 -67
  16. package/dist/sprite.svg +1 -1
  17. package/dist/sprite.symbol.html +6662 -320
  18. package/dist/styles.css +36925 -5
  19. package/dist/svgs/calendar-lock.svg +1 -0
  20. package/dist/svgs/computer.svg +1 -0
  21. package/dist/svgs/cookie.svg +1 -0
  22. package/dist/svgs/folder-check.svg +1 -0
  23. package/dist/svgs/folder-copy.svg +1 -0
  24. package/dist/svgs/folder-dashed.svg +1 -0
  25. package/dist/svgs/folder-open.svg +1 -0
  26. package/dist/svgs/folder-topic.svg +1 -0
  27. package/dist/svgs/folder.svg +1 -0
  28. package/dist/svgs/mobile.svg +1 -0
  29. package/dist/svgs/numpad.svg +1 -0
  30. package/dist/svgs/phone.svg +1 -0
  31. package/dist/svgs/qr-code.svg +1 -0
  32. package/dist/svgs/sparkle.svg +1 -0
  33. package/dist/svgs/trolley.svg +1 -0
  34. package/dist/types/index.d.ts +837 -337
  35. package/package.json +49 -24
  36. package/src/recipes/avatar.ts +98 -98
  37. package/src/recipes/badge.ts +22 -39
  38. package/src/recipes/box.ts +1 -7
  39. package/src/recipes/breadcrumbs.ts +42 -25
  40. package/src/recipes/button.ts +201 -105
  41. package/src/recipes/card.ts +5 -1
  42. package/src/recipes/checkbox.ts +23 -24
  43. package/src/recipes/checkboxInput.ts +25 -0
  44. package/src/recipes/chip.ts +35 -37
  45. package/src/recipes/code.ts +4 -4
  46. package/src/recipes/datePicker.ts +212 -0
  47. package/src/recipes/divider.ts +38 -32
  48. package/src/recipes/formField.ts +41 -23
  49. package/src/recipes/highlightText.ts +14 -0
  50. package/src/recipes/icon.ts +13 -0
  51. package/src/recipes/list.ts +14 -0
  52. package/src/recipes/listItem.ts +310 -0
  53. package/src/recipes/listItemGroup.ts +62 -0
  54. package/src/recipes/menu.ts +90 -163
  55. package/src/recipes/modal.ts +55 -25
  56. package/src/recipes/radio.ts +29 -20
  57. package/src/recipes/radioInput.ts +25 -0
  58. package/src/recipes/recipes-regular.ts +14 -0
  59. package/src/recipes/recipes-slot.ts +19 -0
  60. package/src/recipes/select.ts +1 -1
  61. package/src/recipes/spinner.ts +49 -23
  62. package/src/recipes/tag.ts +80 -84
  63. package/src/recipes/text.ts +18 -10
  64. package/src/recipes/textInput.ts +205 -0
  65. package/src/recipes/textarea.ts +65 -138
  66. package/src/recipes/themeSwitcher.ts +3 -3
  67. package/src/recipes/timePicker.ts +199 -0
  68. package/src/recipes/toggle.ts +72 -99
  69. package/src/recipes/toggleInput.ts +26 -0
  70. package/src/recipes/tooltip.ts +52 -343
  71. package/src/styles/index.css +1 -1
  72. package/src/styles/primitives/borders.ts +7 -1
  73. package/src/styles/primitives/colors.ts +51 -0
  74. package/src/styles/primitives/fontSizes.ts +1 -0
  75. package/src/styles/primitives/index.ts +2 -1
  76. package/src/styles/primitives/shadows.ts +28 -37
  77. package/src/styles/primitives/sizes.ts +1 -0
  78. package/src/styles/primitives/zIndex.ts +17 -0
  79. package/src/styles/semantics/colors.ts +137 -82
  80. package/src/styles/semantics/index.ts +1 -0
  81. package/src/styles/semantics/shadows.ts +27 -16
  82. package/src/styles/semantics/zIndex.ts +18 -0
  83. package/src/styles/utilities/breakpoints.ts +6 -6
  84. package/src/styles/utilities/index.ts +3 -0
  85. package/src/styles/utilities/textStyles.ts +70 -0
  86. package/src/utils/splitProps.ts +3 -3
  87. package/dist/preset-DCCViEDs.js.map +0 -1
  88. package/dist/styles/global.css +0 -148
  89. package/dist/styles/recipes/avatar.css +0 -185
  90. package/dist/styles/recipes/badge.css +0 -85
  91. package/dist/styles/recipes/breadcrumbs.css +0 -38
  92. package/dist/styles/recipes/button.css +0 -195
  93. package/dist/styles/recipes/card.css +0 -57
  94. package/dist/styles/recipes/checkbox-input.css +0 -12
  95. package/dist/styles/recipes/checkbox.css +0 -90
  96. package/dist/styles/recipes/chip.css +0 -137
  97. package/dist/styles/recipes/code.css +0 -12
  98. package/dist/styles/recipes/divider.css +0 -40
  99. package/dist/styles/recipes/form-field.css +0 -39
  100. package/dist/styles/recipes/heading.css +0 -40
  101. package/dist/styles/recipes/icon-button.css +0 -181
  102. package/dist/styles/recipes/label.css +0 -14
  103. package/dist/styles/recipes/link.css +0 -49
  104. package/dist/styles/recipes/menu.css +0 -141
  105. package/dist/styles/recipes/modal.css +0 -99
  106. package/dist/styles/recipes/pre.css +0 -16
  107. package/dist/styles/recipes/radio-input.css +0 -7
  108. package/dist/styles/recipes/radio.css +0 -82
  109. package/dist/styles/recipes/select.css +0 -103
  110. package/dist/styles/recipes/spinner.css +0 -36
  111. package/dist/styles/recipes/tag.css +0 -27
  112. package/dist/styles/recipes/text.css +0 -46
  113. package/dist/styles/recipes/textarea.css +0 -91
  114. package/dist/styles/recipes/textinput.css +0 -87
  115. package/dist/styles/recipes/theme-switcher.css +0 -53
  116. package/dist/styles/recipes/toggle-input.css +0 -12
  117. package/dist/styles/recipes/toggle.css +0 -125
  118. package/dist/styles/recipes/tooltip.css +0 -133
  119. package/dist/styles/recipes.css +0 -30
  120. package/dist/styles/reset.css +0 -1
  121. package/dist/styles/tokens.css +0 -1016
  122. package/dist/styles/utilities.css +0 -1694
  123. package/src/recipes/checkboxinput.ts +0 -15
  124. package/src/recipes/index.ts +0 -28
  125. package/src/recipes/radioinput.ts +0 -12
  126. package/src/recipes/textinput.ts +0 -100
  127. package/src/recipes/toggleinput.ts +0 -16
  128. package/src/utils/injectSprite.ts +0 -36
  129. package/src/utils/spriteContent.ts +0 -4
@@ -1,13 +1,27 @@
1
1
  import { defineSlotRecipe } from '@pandacss/dev';
2
2
 
3
+ const iconDefaultStyles = {
4
+ fill: 'icon.decorative',
5
+ mixBlendMode: { base: 'multiply', _dark: 'screen' },
6
+ _groupHover: { fill: 'current' },
7
+ _groupActive: { fill: 'current' },
8
+ };
9
+
10
+ const iconInverseStyles = {
11
+ fill: 'icon.decorative.inverse',
12
+ mixBlendMode: { base: 'screen', _dark: 'multiply' },
13
+ _groupHover: { fill: 'icon.decorative.inverse' },
14
+ _groupActive: { fill: 'icon.decorative.inverse' },
15
+ };
16
+
3
17
  const baseButtonStyles = {
4
18
  container: {
5
19
  position: 'relative',
6
20
  appearance: 'none',
7
21
  display: 'flex',
8
22
  alignItems: 'center',
9
- gap: 4,
10
- minWidth: 0,
23
+ gap: '4',
24
+ minWidth: '0',
11
25
  width: 'fit',
12
26
  height: 'fit',
13
27
  transitionDuration: 'fast',
@@ -17,39 +31,28 @@ const baseButtonStyles = {
17
31
  verticalAlign: 'middle',
18
32
  fontFamily: 'sans',
19
33
  fontWeight: 'medium',
20
- fontSize: 16,
34
+ fontSize: '16',
21
35
  lineHeight: 'default',
22
- borderWidth: 1,
36
+ borderWidth: '1',
23
37
  borderStyle: 'solid',
24
38
  borderColor: 'transparent',
25
- borderRadius: 4,
26
- outlineWidth: 2,
39
+ borderRadius: '4',
40
+ outlineWidth: '2',
27
41
  outlineStyle: 'solid',
28
42
  outlineColor: 'transparent',
29
43
  textDecoration: 'none',
30
44
  whiteSpace: 'nowrap',
31
45
  cursor: 'pointer',
32
- _focusVisible: {
33
- outlineColor: 'border.focused',
34
- },
35
46
  _disabled: {
36
47
  cursor: 'not-allowed',
37
- bg: 'bg.disabled',
38
- color: 'text.disabled',
39
- borderColor: 'border.disabled',
40
- icon: { fill: 'icon.disabled' },
41
- _hover: {
42
- bg: 'bg.disabled',
43
- color: 'text.disabled',
44
- borderColor: 'border.disabled',
45
- icon: { fill: 'icon.disabled' },
46
- },
48
+ opacity: '0.3',
47
49
  },
48
- _selected: {
49
- bg: 'bg.selected',
50
- color: 'text.selected',
51
- borderColor: 'transparent',
52
- icon: { fill: 'icon.selected' },
50
+ _loading: {
51
+ cursor: 'not-allowed',
52
+ opacity: '0.3',
53
+ },
54
+ _focusVisible: {
55
+ outlineColor: 'border.focused',
53
56
  },
54
57
  },
55
58
  icon: {
@@ -66,131 +69,224 @@ const buttonVariants = {
66
69
  container: {
67
70
  bg: 'bg.neutral',
68
71
  color: 'text',
69
- icon: { fill: 'icon.decorative' },
70
72
  _hover: {
71
73
  bg: 'bg.neutral.hovered',
72
- icon: { fill: 'icon.decorative.hovered' },
73
74
  },
74
75
  _active: {
75
76
  bg: 'bg.neutral.pressed',
76
- icon: { fill: 'icon.decorative.hovered' },
77
77
  },
78
78
  },
79
+ icon: iconDefaultStyles,
79
80
  },
80
81
  primary: {
81
82
  container: {
82
83
  bg: 'bg.brand.boldest',
83
84
  color: 'text.inverse',
84
- icon: { fill: 'icon.decorative.inverse' },
85
85
  _hover: {
86
86
  bg: 'bg.brand.boldest.hovered',
87
- icon: { fill: 'icon.inverse' },
88
87
  },
89
88
  _active: {
90
89
  bg: 'bg.brand.boldest.pressed',
91
- icon: { fill: 'icon.inverse' },
90
+ },
91
+ },
92
+ icon: {
93
+ ...iconInverseStyles,
94
+ fill: 'icon.decorative.inverse.subtle',
95
+ _groupDisabled: {
96
+ fill: 'icon.decorative.inverse.subtle',
92
97
  },
93
98
  },
94
99
  },
95
- subtle: {
100
+ ghost: {
96
101
  container: {
97
102
  bg: 'bg.neutral.subtle',
98
103
  color: 'text.subtle',
99
- icon: { fill: 'icon.decorative' },
100
104
  _hover: {
101
105
  bg: 'bg.neutral.subtle.hovered',
102
106
  color: 'text',
103
- icon: { fill: 'icon.decorative.hovered' },
104
107
  },
105
108
  _active: {
106
109
  bg: 'bg.neutral.subtle.pressed',
107
110
  color: 'text',
108
- icon: { fill: 'icon.decorative.hovered' },
109
111
  },
110
112
  },
113
+ icon: iconDefaultStyles,
111
114
  },
112
- hollow: {
115
+ subtle: {
113
116
  container: {
114
117
  bg: 'bg.neutral.subtle',
115
118
  color: 'text.subtle',
116
- borderColor: 'border',
117
- icon: { fill: 'icon.decorative' },
118
119
  _hover: {
119
120
  bg: 'bg.neutral.subtle.hovered',
120
121
  color: 'text',
121
- borderColor: 'border',
122
- icon: { fill: 'icon.decorative.hovered' },
123
122
  },
124
123
  _active: {
125
124
  bg: 'bg.neutral.subtle.pressed',
126
125
  color: 'text',
127
- borderColor: 'border',
128
- icon: { fill: 'icon.decorative.hovered' },
126
+ },
127
+ },
128
+ icon: iconDefaultStyles,
129
+ },
130
+ hollow: {
131
+ container: {
132
+ bg: 'bg.neutral.subtle',
133
+ borderColor: 'border',
134
+ color: 'text',
135
+ _hover: {
136
+ bg: 'bg.neutral.subtle.hovered',
137
+ },
138
+ _active: {
139
+ bg: 'bg.neutral.subtle.pressed',
129
140
  },
130
141
  _disabled: {
131
142
  borderColor: 'border.disabled',
132
- _hover: {
133
- borderColor: 'border.disabled',
134
- },
135
143
  },
136
144
  },
145
+ icon: iconDefaultStyles,
137
146
  },
138
- },
139
- };
140
-
141
- export const buttonRecipe = defineSlotRecipe({
142
- className: 'button',
143
- jsx: ['Button'],
144
- slots: ['container', 'icon'],
145
- base: baseButtonStyles,
146
- variants: {
147
- ...buttonVariants,
148
- size: {
149
- md: {
150
- container: {
151
- fontSize: '16',
152
- py: '3',
153
- px: '12',
147
+ danger: {
148
+ container: {
149
+ bg: 'red.50',
150
+ color: 'neutral.0',
151
+ _hover: {
152
+ bg: 'red.40',
154
153
  },
155
- icon: {
156
- w: '24',
157
- h: '24',
154
+ _active: {
155
+ bg: 'red.60',
158
156
  },
159
157
  },
160
- xl: {
161
- container: {
162
- fontSize: '20',
163
- py: '9',
164
- px: '16',
158
+ icon: {
159
+ ...iconInverseStyles,
160
+ _groupDisabled: {
161
+ fill: 'icon.decorative.inverse',
165
162
  },
166
- icon: {
167
- w: '28',
168
- h: '28',
163
+ },
164
+ },
165
+ selected: {
166
+ container: {
167
+ bg: 'bg.selected',
168
+ color: 'text.selected',
169
+ _hover: {
170
+ bg: 'bg.selected.hovered',
171
+ color: 'text.selected.hovered',
172
+ },
173
+ _active: {
174
+ bg: 'bg.selected.pressed',
175
+ color: 'text.selected',
169
176
  },
170
177
  },
171
- lg: {
172
- container: {
173
- fontSize: '16',
174
- py: '7',
175
- px: '14',
178
+ icon: {
179
+ fill: 'icon.selected',
180
+ mixBlendMode: { base: 'multiply', _dark: 'screen' },
181
+ _groupHover: { fill: 'icon.selected' },
182
+ _groupActive: { fill: 'icon.selected' },
183
+ _groupDisabled: {
184
+ fill: 'icon.selected',
176
185
  },
177
- icon: {
178
- w: '24',
179
- h: '24',
186
+ },
187
+ },
188
+ selectedBold: {
189
+ container: {
190
+ bg: 'bg.selected.bold',
191
+ color: 'text.inverse',
192
+ _hover: {
193
+ bg: 'bg.selected.bold.hovered',
194
+ },
195
+ _active: {
196
+ bg: 'bg.selected.bold.pressed',
180
197
  },
181
198
  },
182
- sm: {
183
- container: {
184
- fontSize: '14',
185
- py: '1',
186
- px: '8',
199
+ icon: {
200
+ fill: 'icon.inverse',
201
+ mixBlendMode: { base: 'screen', _dark: 'multiply' },
202
+ _groupHover: { fill: 'icon.inverse' },
203
+ _groupActive: { fill: 'icon.inverse' },
204
+ _groupDisabled: {
205
+ fill: 'icon.inverse',
187
206
  },
188
- icon: {
189
- w: '22',
190
- h: '22',
207
+ },
208
+ },
209
+ selectedSubtle: {
210
+ container: {
211
+ bg: 'bg.selected',
212
+ color: 'text.selected',
213
+ _hover: {
214
+ bg: 'bg.selected.hovered',
215
+ color: 'text.selected.hovered',
216
+ },
217
+ _active: {
218
+ bg: 'bg.selected.pressed',
219
+ color: 'text.selected',
220
+ },
221
+ },
222
+ icon: {
223
+ fill: 'icon.selected',
224
+ mixBlendMode: { base: 'multiply', _dark: 'screen' },
225
+ _groupHover: { fill: 'icon.selected' },
226
+ _groupActive: { fill: 'icon.selected' },
227
+ _groupDisabled: {
228
+ fill: 'icon.selected',
191
229
  },
192
230
  },
193
231
  },
232
+ },
233
+ };
234
+
235
+ const buttonSizes = {
236
+ sm: {
237
+ container: {
238
+ fontSize: '14',
239
+ py: '1',
240
+ px: '8',
241
+ },
242
+ icon: {
243
+ w: '22',
244
+ h: '22',
245
+ },
246
+ },
247
+ md: {
248
+ container: {
249
+ fontSize: '16',
250
+ py: '3',
251
+ px: '12',
252
+ },
253
+ icon: {
254
+ w: '24',
255
+ h: '24',
256
+ },
257
+ },
258
+ lg: {
259
+ container: {
260
+ fontSize: '16',
261
+ py: '7',
262
+ px: '14',
263
+ },
264
+ icon: {
265
+ w: '24',
266
+ h: '24',
267
+ },
268
+ },
269
+ xl: {
270
+ container: {
271
+ fontSize: '20',
272
+ py: '9',
273
+ px: '16',
274
+ },
275
+ icon: {
276
+ w: '28',
277
+ h: '28',
278
+ },
279
+ },
280
+ };
281
+
282
+ export const buttonRecipe = defineSlotRecipe({
283
+ className: 'button',
284
+ jsx: ['Button'],
285
+ slots: ['container', 'icon'],
286
+ base: baseButtonStyles,
287
+ variants: {
288
+ ...buttonVariants,
289
+ size: buttonSizes,
194
290
  iconBefore: {
195
291
  true: { container: {} },
196
292
  },
@@ -200,31 +296,31 @@ export const buttonRecipe = defineSlotRecipe({
200
296
  },
201
297
  compoundVariants: [
202
298
  {
203
- size: 'md',
299
+ size: 'sm',
204
300
  iconBefore: true,
205
301
  css: {
206
- container: { ps: '3' },
302
+ container: { ps: '2' },
207
303
  },
208
304
  },
209
305
  {
210
- size: 'md',
306
+ size: 'sm',
211
307
  iconAfter: true,
212
308
  css: {
213
- container: { pe: '3' },
309
+ container: { pe: '2' },
214
310
  },
215
311
  },
216
312
  {
217
- size: 'sm',
313
+ size: 'md',
218
314
  iconBefore: true,
219
315
  css: {
220
- container: { ps: '2' },
316
+ container: { ps: '3' },
221
317
  },
222
318
  },
223
319
  {
224
- size: 'sm',
320
+ size: 'md',
225
321
  iconAfter: true,
226
322
  css: {
227
- container: { pe: '2' },
323
+ container: { pe: '3' },
228
324
  },
229
325
  },
230
326
  {
@@ -270,16 +366,6 @@ export const iconButtonRecipe = defineSlotRecipe({
270
366
  variants: {
271
367
  ...buttonVariants,
272
368
  size: {
273
- md: {
274
- container: {
275
- fontSize: '16',
276
- p: '3',
277
- },
278
- icon: {
279
- w: '24',
280
- h: '24',
281
- },
282
- },
283
369
  sm: {
284
370
  container: {
285
371
  fontSize: '14',
@@ -290,6 +376,16 @@ export const iconButtonRecipe = defineSlotRecipe({
290
376
  h: '22',
291
377
  },
292
378
  },
379
+ md: {
380
+ container: {
381
+ fontSize: '16',
382
+ p: '3',
383
+ },
384
+ icon: {
385
+ w: '24',
386
+ h: '24',
387
+ },
388
+ },
293
389
  lg: {
294
390
  container: {
295
391
  fontSize: '16',
@@ -32,6 +32,11 @@ export const cardRecipe = defineRecipe({
32
32
  outlineStyle: 'solid',
33
33
  outlineColor: 'transparent',
34
34
  outlineOffset: '0',
35
+ overflow: 'hidden',
36
+ _disabled: {
37
+ opacity: '0.4',
38
+ cursor: 'not-allowed',
39
+ },
35
40
  },
36
41
  variants: {
37
42
  variant: {
@@ -143,6 +148,5 @@ export const cardRecipe = defineRecipe({
143
148
  ],
144
149
  defaultVariants: {
145
150
  variant: 'default',
146
- interactive: false,
147
151
  },
148
152
  });
@@ -3,20 +3,16 @@ import { defineSlotRecipe } from '@pandacss/dev';
3
3
  export const checkboxRecipe = defineSlotRecipe({
4
4
  className: 'checkbox',
5
5
  jsx: ['Checkbox'],
6
- slots: ['container', 'input', 'indicator'],
6
+ slots: ['container', 'input', 'indicator', 'checkBg'],
7
7
  base: {
8
8
  container: {
9
9
  position: 'relative',
10
10
  display: 'inline-grid',
11
+ placeContent: 'center',
11
12
  gridTemplateColumns: 'auto 1fr',
12
- gap: 4,
13
13
  alignItems: 'start',
14
14
  cursor: 'pointer',
15
15
  userSelect: 'none',
16
- color: 'text',
17
- _error: {
18
- color: 'text.danger',
19
- },
20
16
  },
21
17
  input: {
22
18
  position: 'absolute',
@@ -25,15 +21,17 @@ export const checkboxRecipe = defineSlotRecipe({
25
21
  height: 'full',
26
22
  margin: '0',
27
23
  padding: '0',
28
- zIndex: 1,
24
+ zIndex: 'raised',
29
25
  cursor: 'inherit',
30
26
  "& ~ [name='checkbox']": {
31
27
  display: 'inline-grid',
28
+ zIndex: '3',
32
29
  },
33
30
  _checked: {
34
31
  "& ~ [name='checkbox-checked']": {
35
32
  display: 'inline-grid',
36
33
  fill: 'icon',
34
+ zIndex: '2',
37
35
  },
38
36
  "& ~ [name='checkbox']": {
39
37
  display: 'none',
@@ -43,26 +41,17 @@ export const checkboxRecipe = defineSlotRecipe({
43
41
  "& ~ [name='checkbox-indeterminate']": {
44
42
  display: 'inline-grid',
45
43
  fill: 'icon',
46
- _disabled: {},
44
+ zIndex: '3',
47
45
  },
48
46
  "& ~ [name='checkbox']": {
49
47
  display: 'none',
50
48
  },
51
49
  },
52
- _disabled: {
53
- '& ~ svg': {
54
- // fill: 'icon.disabled',
55
- pointerEvents: 'none',
56
- },
57
- display: 'inline-grid',
58
- _hover: {
59
- cursor: 'not-allowed',
60
- },
61
- },
62
50
  _error: {
63
51
  display: 'inline-grid',
64
- '& ~ svg': {
65
- fill: 'icon.danger',
52
+ '& ~ svg:not([name="square"])': {
53
+ fill: 'red.50',
54
+ zIndex: '3',
66
55
  },
67
56
  },
68
57
  _focusVisible: {
@@ -70,18 +59,28 @@ export const checkboxRecipe = defineSlotRecipe({
70
59
  display: 'inline-grid',
71
60
  position: 'absolute',
72
61
  fill: 'border.focused',
62
+ zIndex: '2',
73
63
  },
74
64
  },
75
65
  },
76
66
  indicator: {
77
- placeContent: 'center',
78
67
  display: 'none',
79
- width: 24,
80
- height: 24,
68
+ width: '24',
69
+ height: '24',
70
+ zIndex: '3',
81
71
  "&:is([name='checkbox'])": {
82
- display: 'inline-grid',
83
72
  fill: 'icon.subtlest',
73
+ zIndex: '3',
84
74
  },
85
75
  },
76
+ checkBg: {
77
+ position: 'absolute',
78
+ top: '0',
79
+ left: '0',
80
+ width: '24',
81
+ height: '24',
82
+ fill: 'surface',
83
+ zIndex: 'base',
84
+ },
86
85
  },
87
86
  });
@@ -0,0 +1,25 @@
1
+ import { defineRecipe } from '@pandacss/dev';
2
+
3
+ const checkboxInputBase = {
4
+ display: 'flex',
5
+ alignItems: 'start',
6
+ gap: '4',
7
+ '&[class*="-label"]': {
8
+ fontSize: '{sizes.16}',
9
+ lineHeight: 'default',
10
+ },
11
+ _disabled: {
12
+ opacity: '40%',
13
+ cursor: 'not-allowed',
14
+ },
15
+ _groupDisabled: {
16
+ opacity: 1, // let FormField handle disabled state opacity
17
+ },
18
+ };
19
+
20
+ export const checkboxInputRecipe = defineRecipe({
21
+ className: 'checkboxInput',
22
+ jsx: ['CheckboxInput', 'Checkboxinput'],
23
+ base: checkboxInputBase,
24
+ variants: {},
25
+ });