@mekari/pixel3-theme 0.2.1-dev.0 → 0.2.2-dev.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 (84) hide show
  1. package/dist/conditions.d.mts +4 -1
  2. package/dist/conditions.d.ts +4 -1
  3. package/dist/index.js +2889 -409
  4. package/dist/index.mjs +2888 -408
  5. package/dist/semanticTokens/colors.d.mts +892 -0
  6. package/dist/semanticTokens/colors.d.ts +892 -0
  7. package/dist/semanticTokens/index.d.mts +951 -0
  8. package/dist/semanticTokens/index.d.ts +951 -0
  9. package/dist/semanticTokens/spacing.d.mts +59 -0
  10. package/dist/semanticTokens/spacing.d.ts +59 -0
  11. package/dist/tokens/borders.d.mts +2 -2
  12. package/dist/tokens/borders.d.ts +2 -2
  13. package/dist/tokens/colors.d.mts +37 -34
  14. package/dist/tokens/colors.d.ts +37 -34
  15. package/dist/tokens/index.d.mts +59 -35
  16. package/dist/tokens/index.d.ts +59 -35
  17. package/dist/tokens/radii.d.mts +5 -0
  18. package/dist/tokens/radii.d.ts +5 -0
  19. package/dist/tokens/spacing.d.mts +16 -0
  20. package/dist/tokens/spacing.d.ts +16 -0
  21. package/dist/tokens-next/borders.d.mts +22 -0
  22. package/dist/tokens-next/borders.d.ts +22 -0
  23. package/dist/tokens-next/colors.d.mts +441 -0
  24. package/dist/tokens-next/colors.d.ts +441 -0
  25. package/dist/tokens-next/index.d.mts +772 -0
  26. package/dist/tokens-next/index.d.ts +772 -0
  27. package/dist/tokens-next/radii.d.mts +26 -0
  28. package/dist/tokens-next/radii.d.ts +26 -0
  29. package/dist/tokens-next/shadows.d.mts +28 -0
  30. package/dist/tokens-next/shadows.d.ts +28 -0
  31. package/dist/tokens-next/spacing.d.mts +51 -0
  32. package/dist/tokens-next/spacing.d.ts +51 -0
  33. package/package.json +1 -1
  34. package/src/conditions.ts +6 -4
  35. package/src/global-css.ts +4 -0
  36. package/src/index.ts +15 -2
  37. package/src/recipes/accordion.ts +12 -2
  38. package/src/recipes/autocomplete.ts +6 -1
  39. package/src/recipes/avatar.ts +68 -11
  40. package/src/recipes/badge.ts +174 -50
  41. package/src/recipes/banner.ts +36 -11
  42. package/src/recipes/broadcast.ts +78 -12
  43. package/src/recipes/button.ts +132 -9
  44. package/src/recipes/carousel.ts +5 -0
  45. package/src/recipes/chart.ts +10 -5
  46. package/src/recipes/checkbox.ts +68 -13
  47. package/src/recipes/color-picker.ts +74 -23
  48. package/src/recipes/date-picker.ts +165 -31
  49. package/src/recipes/divider.ts +5 -1
  50. package/src/recipes/dropzone.ts +80 -8
  51. package/src/recipes/form-control.ts +12 -3
  52. package/src/recipes/input-tag.ts +48 -8
  53. package/src/recipes/input.ts +75 -8
  54. package/src/recipes/modal.ts +30 -9
  55. package/src/recipes/popover.ts +28 -9
  56. package/src/recipes/progress.ts +9 -2
  57. package/src/recipes/radio.ts +52 -21
  58. package/src/recipes/rich-text-editor.ts +32 -6
  59. package/src/recipes/segmented-control.ts +47 -7
  60. package/src/recipes/select.ts +42 -0
  61. package/src/recipes/slider.ts +46 -6
  62. package/src/recipes/table.ts +26 -11
  63. package/src/recipes/tabs.ts +35 -3
  64. package/src/recipes/tag.ts +43 -13
  65. package/src/recipes/textarea.ts +0 -46
  66. package/src/recipes/timeline.ts +36 -8
  67. package/src/recipes/toast.ts +21 -4
  68. package/src/recipes/toggle.ts +59 -11
  69. package/src/recipes/tooltip.ts +5 -1
  70. package/src/recipes/upload.ts +51 -16
  71. package/src/semanticTokens/colors.ts +893 -0
  72. package/src/semanticTokens/index.ts +8 -0
  73. package/src/semanticTokens/spacing.ts +59 -0
  74. package/src/tokens/borders.ts +1 -1
  75. package/src/tokens/colors.ts +18 -23
  76. package/src/tokens/index.ts +2 -2
  77. package/src/tokens/radii.ts +5 -5
  78. package/src/tokens/spacing.ts +17 -17
  79. package/src/tokens-next/borders.ts +10 -0
  80. package/src/tokens-next/colors.ts +171 -0
  81. package/src/tokens-next/index.ts +32 -0
  82. package/src/tokens-next/radii.ts +10 -0
  83. package/src/tokens-next/shadows.ts +28 -0
  84. package/src/tokens-next/spacing.ts +16 -0
@@ -11,7 +11,7 @@ const buttonRecipe = defineRecipe({
11
11
  gap: '2',
12
12
  height: 'fit-content',
13
13
  width: 'fit-content',
14
- borderWidth: '1px',
14
+ borderWidth: 'sm',
15
15
  whiteSpace: 'nowrap',
16
16
  userSelect: 'none',
17
17
  appearance: 'none',
@@ -46,6 +46,22 @@ const buttonRecipe = defineRecipe({
46
46
  },
47
47
  _loading: {
48
48
  background: 'blue.400'
49
+ },
50
+ _nextTheme: {
51
+ color: 'text.inverse',
52
+ background: 'background.brand.bold',
53
+ borderColor: 'background.brand.bold',
54
+ _hover: {
55
+ background: 'background.brand.bold.hovered',
56
+ borderColor: 'background.brand.bold.hovered'
57
+ },
58
+ _active: {
59
+ background: 'background.brand.bold.pressed',
60
+ borderColor: 'background.brand.bold.pressed'
61
+ },
62
+ _loading: {
63
+ background: 'background.brand.bold'
64
+ }
49
65
  }
50
66
  },
51
67
  secondary: {
@@ -62,6 +78,22 @@ const buttonRecipe = defineRecipe({
62
78
  },
63
79
  _loading: {
64
80
  background: 'white'
81
+ },
82
+ _nextTheme: {
83
+ color: 'text.link',
84
+ background: 'background.neutral',
85
+ borderColor: 'border.default',
86
+ _hover: {
87
+ background: 'background.neutral.hovered',
88
+ borderColor: 'border.default'
89
+ },
90
+ _active: {
91
+ background: 'background.neutral.pressed',
92
+ borderColor: 'border.default'
93
+ },
94
+ _loading: {
95
+ background: 'background.neutral'
96
+ }
65
97
  }
66
98
  },
67
99
  ghost: {
@@ -78,6 +110,22 @@ const buttonRecipe = defineRecipe({
78
110
  },
79
111
  _loading: {
80
112
  background: 'transparent'
113
+ },
114
+ _nextTheme: {
115
+ color: 'text.secondary',
116
+ background: 'transparent',
117
+ borderColor: 'transparent',
118
+ _hover: {
119
+ background: 'background.neutral.hovered',
120
+ borderColor: 'background.neutral.hovered'
121
+ },
122
+ _active: {
123
+ background: 'background.neutral.pressed',
124
+ borderColor: 'background.neutral.pressed'
125
+ },
126
+ _loading: {
127
+ background: 'transparent'
128
+ }
81
129
  }
82
130
  },
83
131
  danger: {
@@ -92,12 +140,32 @@ const buttonRecipe = defineRecipe({
92
140
  background: 'red.700',
93
141
  borderColor: 'red.700'
94
142
  },
95
- _focusVisible: {
143
+ _focus: {
96
144
  borderColor: 'red.400',
97
145
  boxShadow: '0 0 0 3px #FDECEE'
98
146
  },
99
147
  _loading: {
100
148
  background: 'red.400'
149
+ },
150
+ _nextTheme: {
151
+ color: 'text.inverse',
152
+ background: 'background.danger.bold',
153
+ borderColor: 'background.danger.bold',
154
+ _hover: {
155
+ background: 'background.danger.bold.hovered',
156
+ borderColor: 'background.danger.bold.hovered'
157
+ },
158
+ _active: {
159
+ background: 'background.danger.bold.pressed',
160
+ borderColor: 'background.danger.bold.pressed'
161
+ },
162
+ _focus: {
163
+ borderColor: 'border.focused',
164
+ boxShadow: 'focus'
165
+ },
166
+ _loading: {
167
+ background: 'background.danger.bold'
168
+ }
101
169
  }
102
170
  },
103
171
  textLink: {
@@ -116,11 +184,33 @@ const buttonRecipe = defineRecipe({
116
184
  borderColor: 'transparent',
117
185
  _hover: {
118
186
  borderColor: 'transparent',
119
- color: 'gray.400',
187
+ color: 'gray.400'
120
188
  }
121
189
  },
122
190
  _loading: {
123
191
  background: 'white'
192
+ },
193
+ _nextTheme: {
194
+ color: 'text.link',
195
+ background: 'transparent',
196
+ borderColor: 'transparent',
197
+ _hover: {
198
+ color: 'text.link',
199
+ textDecoration: 'underline'
200
+ },
201
+ _active: {
202
+ color: 'text.link.pressed'
203
+ },
204
+ _disabled: {
205
+ color: 'text.disabled',
206
+
207
+ _hover: {
208
+ color: 'text.disabled'
209
+ }
210
+ },
211
+ _loading: {
212
+ background: 'text.inverse'
213
+ }
124
214
  }
125
215
  }
126
216
  },
@@ -134,11 +224,19 @@ const buttonRecipe = defineRecipe({
134
224
  },
135
225
  _hasIcon: {
136
226
  paddingX: '1',
137
- paddingY: '1 !important'
227
+ paddingY: '1 !important',
228
+ _nextTheme: {
229
+ paddingX: '3xs !',
230
+ paddingY: '3xs !important'
231
+ }
138
232
  },
139
233
  _hasLabel: {
140
234
  paddingX: '2 !important',
141
235
  paddingY: '1',
236
+ _nextTheme: {
237
+ paddingX: 'xs !important',
238
+ paddingY: '3xs'
239
+ }
142
240
  }
143
241
  },
144
242
  md: {
@@ -150,11 +248,19 @@ const buttonRecipe = defineRecipe({
150
248
  },
151
249
  _hasIcon: {
152
250
  paddingX: '1.5',
153
- paddingY: '1.5 !important'
251
+ paddingY: '1.5 !important',
252
+ _nextTheme: {
253
+ paddingX: '2xs',
254
+ paddingY: '2xs !important'
255
+ }
154
256
  },
155
257
  _hasLabel: {
156
258
  paddingX: '4 !important',
157
259
  paddingY: '2',
260
+ _nextTheme: {
261
+ paddingX: 'md !important',
262
+ paddingY: 'xs'
263
+ }
158
264
  }
159
265
  }
160
266
  }
@@ -164,9 +270,13 @@ const buttonRecipe = defineRecipe({
164
270
  variant: ['textLink'],
165
271
  css: {
166
272
  borderRadius: 'sm',
167
- _focusVisible: {
273
+ _focus: {
168
274
  borderColor: 'white',
169
- boxShadow: 'focus'
275
+ boxShadow: 'focus',
276
+ _nextTheme: {
277
+ borderColor: 'border.focused',
278
+ boxShadow: 'focus'
279
+ }
170
280
  }
171
281
  }
172
282
  },
@@ -179,9 +289,13 @@ const buttonRecipe = defineRecipe({
179
289
  {
180
290
  variant: ['primary', 'secondary', 'ghost'],
181
291
  css: {
182
- _focusVisible: {
292
+ _focus: {
183
293
  borderColor: 'blue.400',
184
- boxShadow: 'focus'
294
+ boxShadow: 'focus',
295
+ _nextTheme: {
296
+ borderColor: 'border.focused',
297
+ boxShadow: 'focus'
298
+ }
185
299
  }
186
300
  }
187
301
  },
@@ -196,6 +310,15 @@ const buttonRecipe = defineRecipe({
196
310
  _hover: {
197
311
  background: 'gray.50',
198
312
  borderColor: 'gray.50'
313
+ },
314
+ _nextTheme: {
315
+ color: 'text.disabled',
316
+ background: 'background.disabled',
317
+ borderColor: 'background.disabled',
318
+ _hover: {
319
+ background: 'background.disabled',
320
+ borderColor: 'background.disabled'
321
+ }
199
322
  }
200
323
  }
201
324
  }
@@ -19,6 +19,11 @@ const carouselSlotRecipe = defineSlotRecipe({
19
19
  borderColor: 'gray.100',
20
20
  overflow: 'hidden',
21
21
  boxSizing: 'border-box',
22
+ _nextTheme: {
23
+ background: 'background.neutral.subtle',
24
+ borderRadius: 'md',
25
+ borderColor: 'border.default'
26
+ }
22
27
  },
23
28
  buttonRight: {
24
29
  display: 'flex',
@@ -46,7 +46,6 @@ const chartSlotRecipe = defineSlotRecipe({
46
46
  flexDirection: 'row',
47
47
  flexWrap: 'wrap',
48
48
  alignItems: 'center',
49
- wrap: 'wrap',
50
49
  width: 'full',
51
50
  gap: '4',
52
51
  py: '2',
@@ -64,14 +63,20 @@ const chartSlotRecipe = defineSlotRecipe({
64
63
  },
65
64
  chartTooltip: {
66
65
  position: 'absolute',
67
- backgroundColor: 'white',
68
- border: '1px solid',
69
- borderColor: 'gray.400',
70
66
  borderRadius: 'md',
67
+ borderWidth: '1px',
68
+ borderColor: 'gray.400',
69
+ background: 'white',
71
70
  boxShadow: 'sm',
72
71
  zIndex: 'popover',
73
72
  pointerEvents: 'none',
74
- transition: 'all 0.1s ease 0s'
73
+ transition: 'all 0.1s ease 0s',
74
+ _nextTheme: {
75
+ borderRadius: 'xl',
76
+ borderColor: 'border.default',
77
+ background: 'background.stage',
78
+ boxShadow: 'sm'
79
+ }
75
80
  },
76
81
  tooltipWrapper: {
77
82
  display: 'flex',
@@ -7,27 +7,36 @@ const checkboxSlotRecipe = defineSlotRecipe({
7
7
  base: {
8
8
  root: {
9
9
  position: 'relative',
10
- display: 'inline-flex',
10
+ width: 'fit-content',
11
+ display: 'flex',
11
12
  alignItems: 'center',
12
- justifyContent: 'center',
13
- gap: '2',
13
+ justifyContent: 'flex-start',
14
+ gap: '3',
14
15
  cursor: 'pointer',
15
16
  outline: 'none',
16
17
  '&[data-has-description=true]': {
17
18
  alignItems: 'flex-start',
18
19
  '& .mp-checkbox__control': {
19
- marginTop: '1'
20
+ marginTop: '2px'
20
21
  }
21
22
  },
22
23
  '& .mp-shared__hidden': {
23
24
  '&:focus + .mp-checkbox__control': {
24
25
  borderColor: 'blue.400',
25
- boxShadow: 'focus'
26
+ boxShadow: 'focus',
27
+ _nextTheme: {
28
+ borderColor: 'border.focused',
29
+ boxShadow: '0 0 0 1px {colors.border.focused}'
30
+ }
26
31
  }
27
32
  },
28
33
  _hover: {
29
34
  '& .mp-checkbox__control': {
30
- borderColor: 'gray.400'
35
+ borderColor: 'gray.400',
36
+ _nextTheme: {
37
+ borderColor: 'border.form',
38
+ background: 'background.neutral.hovered'
39
+ }
31
40
  }
32
41
  },
33
42
  _disabled: {
@@ -35,34 +44,72 @@ const checkboxSlotRecipe = defineSlotRecipe({
35
44
  '& .mp-checkbox__control': {
36
45
  borderColor: 'gray.100 !important',
37
46
  background: 'gray.50 !important',
38
- boxShadow: 'none !important'
47
+ boxShadow: 'none !important',
48
+ color: 'gray.100',
49
+ _nextTheme: {
50
+ borderColor: 'border.disabled !important',
51
+ background: 'background.disabled !important',
52
+ color: 'icon.disabled'
53
+ }
39
54
  }
40
55
  },
41
56
  _invalid: {
42
57
  '& .mp-checkbox__control': {
43
58
  borderColor: 'red.400',
44
- background: 'white'
59
+ background: 'white',
60
+ _nextTheme: {
61
+ borderColor: 'border.danger !important',
62
+ background: 'background.neutral'
63
+ }
45
64
  }
46
65
  },
47
66
  _checked: {
48
67
  '& .mp-checkbox__control': {
49
68
  borderColor: 'blue.400',
50
- background: 'blue.400'
69
+ background: 'blue.400',
70
+ color: 'white',
71
+ _nextTheme: {
72
+ borderColor: 'border.selected',
73
+ background: 'background.brand.bold.selected',
74
+ color: 'icon.inverse'
75
+ }
51
76
  },
52
77
  _hover: {
53
78
  '& .mp-checkbox__control': {
54
- borderColor: 'blue.400'
79
+ borderColor: 'blue.400',
80
+ _nextTheme: {
81
+ borderColor: 'border.selected.hovered',
82
+ background: 'background.brand.bold.hovered'
83
+ }
55
84
  }
56
85
  }
57
86
  },
58
87
  _indeterminate: {
59
88
  '& .mp-checkbox__control': {
60
89
  borderColor: 'blue.400',
61
- background: 'blue.400'
90
+ background: 'blue.400',
91
+ color: 'white',
92
+ _nextTheme: {
93
+ borderColor: 'border.selected',
94
+ background: 'background.brand.bold.selected',
95
+ color: 'icon.inverse'
96
+ }
62
97
  },
63
98
  _hover: {
64
99
  '& .mp-checkbox__control': {
65
- borderColor: 'blue.400'
100
+ borderColor: 'blue.400',
101
+ _nextTheme: {
102
+ borderColor: 'border.selected.hovered',
103
+ background: 'background.brand.bold.hovered'
104
+ }
105
+ }
106
+ },
107
+ _disabled: {
108
+ '& .mp-checkbox__control': {
109
+ color: 'gray.600',
110
+ _nextTheme: {
111
+ color: 'icon.disabled'
112
+ }
66
113
  }
67
114
  }
68
115
  }
@@ -81,7 +128,15 @@ const checkboxSlotRecipe = defineSlotRecipe({
81
128
  borderWidth: '2px',
82
129
  borderColor: 'gray.100',
83
130
  borderRadius: 'md',
84
- background: 'white'
131
+ background: 'white',
132
+ _nextTheme: {
133
+ width: '4',
134
+ height: '4',
135
+ borderWidth: 'sm',
136
+ borderColor: 'border.form',
137
+ borderRadius: 'sm',
138
+ background: 'background.neutral'
139
+ }
85
140
  },
86
141
  label: {
87
142
  background: 'transparent'
@@ -28,29 +28,86 @@ const colorPickerSlotRecipe = defineSlotRecipe({
28
28
  gap: '2'
29
29
  },
30
30
  popoverTrigger: {
31
- display: 'flex',
32
- alignItems: 'center',
33
31
  cursor: 'pointer',
34
32
  position: 'relative',
35
- height: '38px',
36
- pl: '2',
37
- pr: '3',
33
+ display: 'flex',
34
+ alignItems: 'center',
35
+ borderWidth: '1px',
36
+ borderColor: 'gray.100',
38
37
  borderRadius: 'md',
39
- border: '1px solid',
38
+ backgroundColor: 'white',
39
+ paddingTop: '1.5',
40
+ paddingBottom: '1.5',
41
+ paddingLeft: '3',
42
+ paddingRight: '4',
43
+ transition: 'all 250ms',
44
+ outline: 'none',
45
+ _nextTheme: {
46
+ borderRadius: 'md',
47
+ borderColor: 'border.form',
48
+ background: 'background.neutral'
49
+ },
50
+ _hover: {
51
+ borderColor: 'gray.400',
52
+ _nextTheme: {
53
+ borderColor: 'border.form',
54
+ background: 'background.neutral.hovered'
55
+ }
56
+ },
40
57
  _focus: {
41
- boxShadow: 'outline !important',
42
- borderColor: 'blue.400 !important',
43
- outline: 'none'
58
+ boxShadow: 'focus',
59
+ borderColor: 'blue.400',
60
+ _nextTheme: {
61
+ boxShadow: 'focus',
62
+ borderColor: 'border.focused'
63
+ },
64
+ _hover: {
65
+ borderColor: 'blue.400',
66
+ _nextTheme: {
67
+ borderColor: 'border.focused'
68
+ }
69
+ }
70
+ },
71
+ _disabled: {
72
+ cursor: 'not-allowed',
73
+ background: 'gray.50',
74
+ _nextTheme: {
75
+ background: 'background.disabled',
76
+ borderColor: 'border.disabled'
77
+ },
78
+
79
+ _hover: {
80
+ _nextTheme: {
81
+ background: 'background.disabled',
82
+ borderColor: 'border.disabled'
83
+ }
84
+ }
85
+ },
86
+ _invalid: {
87
+ borderColor: 'red.400',
88
+ _nextTheme: {
89
+ borderColor: 'border.danger'
90
+ },
91
+
92
+ _hover: {
93
+ borderColor: 'red.400',
94
+ _nextTheme: {
95
+ borderColor: 'border.danger'
96
+ }
97
+ }
44
98
  }
45
99
  },
46
100
  boxColor: {
47
101
  flex: 'none',
48
102
  width: '6',
49
103
  height: '6',
104
+ mr: '2',
50
105
  borderWidth: '1px',
51
106
  borderColor: 'gray.50',
52
107
  borderRadius: 'sm',
53
- mr: '2'
108
+ _nextTheme: {
109
+ borderColor: 'border.default'
110
+ }
54
111
  },
55
112
  inputTrigger: {
56
113
  margin: '-12px',
@@ -64,26 +121,20 @@ const colorPickerSlotRecipe = defineSlotRecipe({
64
121
  outline: 'none'
65
122
  }
66
123
  },
67
- popoverContent: {
68
- bg: 'white',
69
- rounded: 'md',
70
- shadow: 'lg',
71
- borderWidth: '1px',
72
- borderColor: 'gray.400'
73
- },
124
+ popoverContent: {},
74
125
  wrapperAdvance: {
75
- display: 'flex',
76
- flexDirection: 'column',
77
126
  position: 'relative',
78
127
  width: '280px',
128
+ display: 'flex',
129
+ flexDirection: 'column',
79
130
  padding: '3',
80
131
  gap: '3'
81
132
  },
82
133
  wrapperBasic: {
83
- display: 'flex',
84
- flexDirection: 'column',
85
134
  position: 'relative',
86
135
  width: '188px',
136
+ display: 'flex',
137
+ flexDirection: 'column',
87
138
  padding: '3',
88
139
  gap: '3'
89
140
  },
@@ -103,10 +154,10 @@ const colorPickerSlotRecipe = defineSlotRecipe({
103
154
  gap: '2'
104
155
  },
105
156
  boxPreset: {
157
+ position: 'relative',
106
158
  display: 'flex',
107
159
  flexDirection: 'column',
108
160
  gap: '2',
109
- position: 'relative'
110
161
  },
111
162
  wrapperPreset: {
112
163
  position: 'relative',
@@ -118,7 +169,7 @@ const colorPickerSlotRecipe = defineSlotRecipe({
118
169
  position: 'relative',
119
170
  display: 'flex',
120
171
  flexWrap: 'wrap',
121
- gap: '4px'
172
+ gap: '1'
122
173
  }
123
174
  }
124
175
  })