@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
@@ -21,7 +21,7 @@ const sliderSlotRecipe = defineSlotRecipe({
21
21
  flexDirection: 'column',
22
22
  gap: '10px'
23
23
  },
24
- labelWrapper: {
24
+ labelWrapper: {
25
25
  display: 'flex',
26
26
  justifyContent: 'space-between'
27
27
  },
@@ -53,26 +53,66 @@ const sliderSlotRecipe = defineSlotRecipe({
53
53
  background: 'none',
54
54
  outline: 'none',
55
55
 
56
- _focusVisible: {
56
+ _focus: {
57
57
  borderRadius: '100px',
58
58
  borderWidth: '1px',
59
59
  borderStyle: 'solid',
60
60
  borderColor: 'blue.400',
61
- boxShadow: 'focus'
61
+ boxShadow: 'focus',
62
+
63
+ _nextTheme: {
64
+ borderColor : 'border.focused',
65
+ boxShadow: 'focus',
66
+ },
67
+ },
68
+
69
+ _disabled: {
70
+ '&::-webkit-slider-thumb': {
71
+ cursor: 'not-allowed',
72
+ background: 'radial-gradient(circle, var(--mp-colors-gray-100) 40%, var(--mp-colors-white) 50%)',
73
+
74
+ _nextTheme: {
75
+ background: 'radial-gradient(circle, var(--mp-colors-icon-disabled) 40%, var(--mp-colors-background-neutral) 50%)'
76
+ }
77
+ }
78
+ },
79
+
80
+ '&[minpressed=true], &[maxpressed=true]': {
81
+ '&::-webkit-slider-thumb': {
82
+ borderColor: 'blue.400',
83
+
84
+ _nextTheme: {
85
+ borderColor: 'border.brand'
86
+ }
87
+ }
62
88
  },
63
89
 
64
90
  '&::-webkit-slider-thumb': {
91
+ cursor: 'pointer',
65
92
  appearance: 'none',
93
+ pointerEvents: 'auto',
66
94
  width: '5',
67
95
  height: '5',
68
96
  borderRadius: 'full',
69
97
  borderStyle: 'solid',
70
98
  borderColor: 'gray.100',
99
+ background: 'radial-gradient(circle, var(--mp-colors-blue-400) 40%, var(--mp-colors-white) 50%)',
71
100
  boxShadow: 'sm',
72
- filter:
73
- 'drop-shadow(0px 4px 6px rgba(0, 0, 0, 0.05)) drop-shadow(0px 10px 15px rgba(0, 0, 0, 0.10))',
101
+ filter: 'drop-shadow(0px 4px 6px rgba(0, 0, 0, 0.05)) drop-shadow(0px 10px 15px rgba(0, 0, 0, 0.10))',
74
102
  transition: 'border-color 250ms',
75
- pointerEvents: 'auto'
103
+
104
+ _hover: {
105
+ borderColor: 'gray.600',
106
+
107
+ _nextTheme: {
108
+ borderColor: 'border.bold'
109
+ }
110
+ },
111
+
112
+ _nextTheme: {
113
+ borderColor: 'border.default',
114
+ background: 'radial-gradient(circle, var(--mp-colors-border-brand) 40%, var(--mp-colors-background-neutral) 50%)'
115
+ }
76
116
  }
77
117
  }
78
118
  }
@@ -14,19 +14,24 @@ const tableRecipe = defineRecipe({
14
14
  '& tr': {
15
15
  _hover: {
16
16
  '& > td': {
17
- backgroundColor: 'gray.50'
17
+ backgroundColor: 'gray.50',
18
+ _nextTheme: {
19
+ background: 'background.neutral.hovered',
20
+ }
18
21
  }
19
22
  }
20
23
  }
21
24
  },
22
25
  '& > thead': {
23
26
  width: 'full',
24
- backgroundColor: 'gray.25',
25
27
  '&[data-table-head-fixed=true]': {
26
28
  position: 'sticky',
27
29
  zIndex: 'sticky',
28
30
  top: '0',
29
- boxShadow: '0px 2px var(--mp-colors-gray-100)'
31
+ boxShadow: '0px 2px var(--mp-colors-gray-100)',
32
+ _nextTheme: {
33
+ boxShadow: '0px 2px var(--mp-colors-border-default)'
34
+ }
30
35
  }
31
36
  },
32
37
  '& > tbody': {
@@ -40,23 +45,33 @@ const tableRecipe = defineRecipe({
40
45
  '& th, & td': {
41
46
  cursor: 'default',
42
47
  paddingLeft: '2',
43
- paddingRight: '4',
44
- paddingY: '2',
45
- height: '12',
48
+ paddingRight: '4',
49
+ height: '52px',
46
50
  textStyle: 'label.md',
47
51
  textAlign: 'left',
48
- borderBottom: 'sm',
49
- borderStyle: 'solid',
52
+ color: 'dark',
53
+ borderBottomWidth: 'sm',
50
54
  borderColor: 'gray.100',
51
- transition: 'background linear 120ms'
55
+ transition: 'background linear 120ms',
56
+ _nextTheme: {
57
+ color: 'text.default',
58
+ borderBottomWidth: 'sm',
59
+ borderColor: 'border.default',
60
+ }
52
61
  },
53
62
  '& th': {
54
63
  fontWeight: 'semiBold',
55
- backgroundColor: 'gray.25'
64
+ background: 'gray.25',
65
+ _nextTheme: {
66
+ background: 'background.surface',
67
+ }
56
68
  },
57
69
  '& td': {
58
70
  fontWeight: 'regular',
59
- backgroundColor: 'white'
71
+ backgroundColor: 'white',
72
+ _nextTheme: {
73
+ background: 'background.neutral',
74
+ }
60
75
  },
61
76
  '& th[data-table-cell-fixed=true], & td[data-table-cell-fixed=true]': {
62
77
  position: 'sticky',
@@ -15,7 +15,10 @@ const tabListSlotRecipe = defineSlotRecipe({
15
15
  position: 'absolute',
16
16
  right: 0,
17
17
  left: 0,
18
- bottom: '1px'
18
+ bottom: '1px',
19
+ _nextTheme: {
20
+ background: 'border.default'
21
+ }
19
22
  }
20
23
  }
21
24
  },
@@ -29,7 +32,10 @@ const tabListSlotRecipe = defineSlotRecipe({
29
32
  padding: 0.5,
30
33
  alignItems: 'center',
31
34
  justifyContent: 'flex-start',
32
- maxWidth: 'full'
35
+ maxWidth: 'full',
36
+ _nextTheme: {
37
+ color: 'text.secondary'
38
+ }
33
39
  }
34
40
  }
35
41
  })
@@ -59,6 +65,15 @@ const tabRecipe = defineRecipe({
59
65
  _focus: {
60
66
  shadow: '0 0 0 2px #E0EEFF',
61
67
  borderRadius: 'sm'
68
+ },
69
+ _nextTheme: {
70
+ color: 'text.secondary',
71
+ _hover: {
72
+ color: 'text.default'
73
+ },
74
+ _focus: {
75
+ shadow: '0 0 0 2px var(--mp-colors-border-focused)'
76
+ }
62
77
  }
63
78
  },
64
79
  variants: {
@@ -81,6 +96,12 @@ const tabRecipe = defineRecipe({
81
96
  color: 'blue.400',
82
97
  _hover: {
83
98
  color: 'blue.500'
99
+ },
100
+ _nextTheme: {
101
+ color: 'text.selected',
102
+ _hover: {
103
+ color: 'text.selected'
104
+ }
84
105
  }
85
106
  }
86
107
  },
@@ -154,6 +175,11 @@ const tabSelectedBorderRecipe = defineRecipe({
154
175
  background: 'transparent',
155
176
  _groupHover: {
156
177
  background: 'gray.400'
178
+ },
179
+ _nextTheme: {
180
+ _groupHover: {
181
+ background: 'border.bold'
182
+ }
157
183
  }
158
184
  },
159
185
  true: {}
@@ -166,7 +192,13 @@ const tabSelectedBorderRecipe = defineRecipe({
166
192
  css: {
167
193
  background: 'blue.400',
168
194
  _groupHover: {
169
- background: 'blue.500'
195
+ background: 'border.selected'
196
+ },
197
+ _nextTheme: {
198
+ background: 'border.selected',
199
+ _groupHover: {
200
+ background: 'border.selected',
201
+ },
170
202
  }
171
203
  }
172
204
  },
@@ -11,8 +11,7 @@ const tagSlotRecipe = defineSlotRecipe({
11
11
  alignItems: 'center',
12
12
  userSelect: 'auto',
13
13
  outline: '0px solid transparent',
14
- borderWidth: '1px',
15
- borderColor: 'transparent',
14
+ borderWidth: '0',
16
15
  borderRadius: 'sm',
17
16
  transition: 'all 250ms',
18
17
  textAlign: 'left',
@@ -24,16 +23,15 @@ const tagSlotRecipe = defineSlotRecipe({
24
23
  whiteSpace: 'normal',
25
24
  overflowWrap: 'anywhere',
26
25
  cursor: 'var(--mp-tag--cursor)',
27
- height: 'fit-content'
26
+ height: 'fit-content',
27
+ _nextTheme: {
28
+ paddingX: '1.5'
29
+ }
28
30
  },
29
31
  close: {
30
32
  position: 'absolute!',
31
- color: 'gray.600',
32
33
  border: 'none',
33
34
  right: '0',
34
- width: '5',
35
- height: '5',
36
- minWidth: '5',
37
35
  paddingTop: '1',
38
36
  padding: '0',
39
37
  transition: 'all 250ms!',
@@ -49,12 +47,20 @@ const tagSlotRecipe = defineSlotRecipe({
49
47
  size: {
50
48
  sm: {
51
49
  root: {
52
- paddingY: '0'
50
+ height: '5',
51
+ },
52
+ close: {
53
+ width: '5',
54
+ height: '5',
53
55
  }
54
56
  },
55
57
  md: {
56
58
  root: {
57
- paddingY: '1'
59
+ height: '7',
60
+ },
61
+ close: {
62
+ width: '7',
63
+ height: '7',
58
64
  }
59
65
  }
60
66
  },
@@ -62,13 +68,21 @@ const tagSlotRecipe = defineSlotRecipe({
62
68
  gray: {
63
69
  root: {
64
70
  color: 'gray.600',
65
- background: 'gray.50'
71
+ background: 'gray.50',
72
+ _nextTheme: {
73
+ color: 'text.secondary',
74
+ background: 'background.neutral.subtle',
75
+ }
66
76
  }
67
77
  },
68
78
  red: {
69
79
  root: {
70
80
  color: 'red.400',
71
- backgroundColor: 'red.50'
81
+ backgroundColor: 'red.50',
82
+ _nextTheme: {
83
+ color: 'text.danger',
84
+ background: 'background.danger',
85
+ }
72
86
  }
73
87
  }
74
88
  }
@@ -78,7 +92,15 @@ const tagSlotRecipe = defineSlotRecipe({
78
92
  variant: 'gray',
79
93
  css: {
80
94
  close: {
81
- background: 'linear-gradient(270deg, #EDF0F2 75%, rgba(237, 240, 242, 0) 111.54%)'
95
+ background: 'linear-gradient(270deg, #EDF0F2 75%, rgba(237, 240, 242, 0) 111.54%)',
96
+ borderTopLeftRadius: '0',
97
+ borderBottomLeftRadius: '0',
98
+ color: 'gray.600',
99
+ _nextTheme: {
100
+ background: 'background.danger',
101
+ boxShadow: '-7px 0px 15px -3px #0000001A',
102
+ color: 'icon.danger',
103
+ }
82
104
  }
83
105
  }
84
106
  },
@@ -86,7 +108,15 @@ const tagSlotRecipe = defineSlotRecipe({
86
108
  variant: 'red',
87
109
  css: {
88
110
  close: {
89
- background: 'linear-gradient(270deg, #FDECEE 75%, rgba(237, 240, 242, 0) 111.54%)'
111
+ background: 'linear-gradient(270deg, #FDECEE 75%, rgba(237, 240, 242, 0) 111.54%)',
112
+ borderTopLeftRadius: '0',
113
+ borderBottomLeftRadius: '0',
114
+ color: 'red.400',
115
+ _nextTheme: {
116
+ background: 'background.danger',
117
+ boxShadow: '-7px 0px 15px -3px #0000001A',
118
+ color: 'icon.danger',
119
+ }
90
120
  }
91
121
  }
92
122
  },
@@ -4,54 +4,8 @@ const textareaRecipe = defineRecipe({
4
4
  className: 'textarea',
5
5
  jsx: ['MpTextarea', 'mp-textarea'],
6
6
  base: {
7
- position: 'relative',
8
- display: 'flex',
9
- alignItems: 'center',
10
- outline: '0',
11
- borderWidth: '1px',
12
- borderColor: 'gray.100',
13
- borderRadius: 'md',
14
- color: 'dark',
15
- backgroundColor: 'white',
16
- appearance: 'none',
17
- transition: 'all 250ms',
18
7
  minHeight: '20',
19
- fontSize: 'md',
20
- fontWeight: 'regular',
21
- lineHeight: 'md',
22
- paddingX: '3',
23
- paddingTop: '2',
24
- paddingBottom: '5',
25
8
  resize: 'both',
26
- _isFullWidth: {
27
- width: 'full'
28
- },
29
- _hover: {
30
- borderColor: 'gray.400'
31
- },
32
- _focus: {
33
- borderColor: 'blue.500',
34
- boxShadow: 'outer',
35
- _hover: {
36
- borderColor: 'blue.500'
37
- },
38
- _invalid: {
39
- borderColor: 'red.400'
40
- }
41
- },
42
- _disabled: {
43
- color: 'gray.400',
44
- backgroundColor: 'gray.50',
45
- borderColor: 'gray.100',
46
- cursor: 'not-allowed'
47
- },
48
- _invalid: {
49
- borderColor: 'red.400'
50
- },
51
- _readOnly: {
52
- boxShadow: 'none',
53
- userSelect: 'all'
54
- }
55
9
  }
56
10
  })
57
11
 
@@ -29,7 +29,10 @@ const timelineSlotRecipe = defineSlotRecipe({
29
29
  fontSize: 'sm',
30
30
  color: 'gray.400',
31
31
  lineHeight: 'sm',
32
- marginTop: '0.5'
32
+ marginTop: '0.5',
33
+ _nextTheme: {
34
+ color: 'text.secondary'
35
+ }
33
36
  },
34
37
  content: {
35
38
  paddingTop: 3
@@ -54,18 +57,24 @@ const timelineDocumentSlotRecipe = defineSlotRecipe({
54
57
  borderWidth: '1px',
55
58
  borderColor: 'gray.100',
56
59
  width: 'full',
57
- gap: '3'
60
+ gap: '3',
61
+ _nextTheme: {
62
+ borderColor: 'border.default'
63
+ }
58
64
  },
59
65
  content: {
60
66
  display: 'flex',
61
- flexDirection: 'column',
67
+ flexDirection: 'column'
62
68
  },
63
69
  title: {
64
70
  fontSize: 'sm',
65
71
  lineHeight: 'md',
66
72
  fontWeight: 'regular',
67
73
  letterSpacing: 'normal',
68
- color: 'dark'
74
+ color: 'dark',
75
+ _nextTheme: {
76
+ color: 'text.default'
77
+ }
69
78
  },
70
79
  description: {
71
80
  display: 'flex',
@@ -76,7 +85,10 @@ const timelineDocumentSlotRecipe = defineSlotRecipe({
76
85
  lineHeight: 'md',
77
86
  fontWeight: 'regular',
78
87
  letterSpacing: 'normal',
79
- color: 'gray.400'
88
+ color: 'gray.400',
89
+ _nextTheme: {
90
+ color: 'text.secondary'
91
+ }
80
92
  }
81
93
  },
82
94
  variants: {
@@ -136,10 +148,14 @@ const timelineSeparatorSlotRecipe = defineSlotRecipe({
136
148
  topConnector: {
137
149
  height: '6px',
138
150
  width: '2px',
151
+ roundedBottom: '2px',
139
152
  backgroundColor: 'gray.100',
140
153
  '&[data-position=first]': {
141
154
  backgroundColor: 'transparent'
142
155
  },
156
+ _nextTheme: {
157
+ backgroundColor: 'border.default'
158
+ }
143
159
  },
144
160
  bottomConnector: {
145
161
  height: '100%',
@@ -150,6 +166,9 @@ const timelineSeparatorSlotRecipe = defineSlotRecipe({
150
166
  '&[data-position=last]': {
151
167
  backgroundColor: 'transparent'
152
168
  },
169
+ _nextTheme: {
170
+ backgroundColor: 'border.default'
171
+ }
153
172
  }
154
173
  }
155
174
  })
@@ -178,7 +197,10 @@ const timelineAccordionSlotRecipe = defineSlotRecipe({
178
197
  '&[data-position=first]': {
179
198
  backgroundColor: 'transparent'
180
199
  },
181
- roundedBottom: 'full'
200
+ roundedBottom: 'full',
201
+ _nextTheme: {
202
+ backgroundColor: 'border.default'
203
+ }
182
204
  },
183
205
  bottomConnector: {
184
206
  flexGrow: 1,
@@ -187,7 +209,10 @@ const timelineAccordionSlotRecipe = defineSlotRecipe({
187
209
  '&[data-position=last]': {
188
210
  backgroundColor: 'transparent'
189
211
  },
190
- roundedTop: 'full'
212
+ roundedTop: 'full',
213
+ _nextTheme: {
214
+ backgroundColor: 'border.default'
215
+ }
191
216
  },
192
217
  title: {
193
218
  paddingTop: 1
@@ -197,7 +222,10 @@ const timelineAccordionSlotRecipe = defineSlotRecipe({
197
222
  lineHeight: 'md',
198
223
  color: 'dark',
199
224
  fontWeight: 'semibold',
200
- letterSpacing: 'normal'
225
+ letterSpacing: 'normal',
226
+ _nextTheme: {
227
+ color: 'text.default'
228
+ }
201
229
  }
202
230
  }
203
231
  })
@@ -15,10 +15,17 @@ const toastSlotRecipe = defineSlotRecipe({
15
15
  backgroundColor: 'white',
16
16
  padding: '3',
17
17
  boxShadow: 'lg',
18
- zIndex: '9999'
18
+ zIndex: '9999',
19
+ _nextTheme: {
20
+ backgroundColor: 'background.neutral',
21
+ }
19
22
  },
20
23
  label: {
21
- fontSize: 'md'
24
+ color: 'dark',
25
+ fontSize: 'md',
26
+ _nextTheme: {
27
+ color: 'text.default',
28
+ }
22
29
  }
23
30
  },
24
31
  variants: {
@@ -31,13 +38,23 @@ const toastSlotRecipe = defineSlotRecipe({
31
38
  {
32
39
  variant: 'success',
33
40
  css: {
34
- root: { borderColor: 'green.700' }
41
+ root: {
42
+ borderColor: 'green.700',
43
+ _nextTheme: {
44
+ borderColor: 'border.success',
45
+ }
46
+ }
35
47
  }
36
48
  },
37
49
  {
38
50
  variant: 'error',
39
51
  css: {
40
- root: { borderColor: 'red.700' }
52
+ root: {
53
+ borderColor: 'red.700',
54
+ _nextTheme: {
55
+ borderColor: 'border.danger',
56
+ }
57
+ }
41
58
  }
42
59
  }
43
60
  ],
@@ -7,28 +7,37 @@ const toggleSlotRecipe = 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
+ justifyContent: 'flex-start',
13
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-toggle__control': {
19
- marginTop: '1'
20
+ marginTop: '2px'
20
21
  }
21
22
  },
22
23
  '& .mp-shared__hidden': {
23
24
  '&:focus + .mp-toggle__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-toggle__control': {
30
35
  borderColor: 'gray.400',
31
- background: 'gray.400'
36
+ background: 'gray.400',
37
+ _nextTheme: {
38
+ borderColor: 'border.form',
39
+ background: 'background.neutral.hovered'
40
+ }
32
41
  }
33
42
  },
34
43
  _disabled: {
@@ -37,37 +46,63 @@ const toggleSlotRecipe = defineSlotRecipe({
37
46
  borderColor: 'gray.100 !important',
38
47
  background: 'gray.50 !important',
39
48
  boxShadow: 'none !important',
49
+ _nextTheme: {
50
+ borderColor: 'border.disabled !important',
51
+ background: 'background.disabled !important'
52
+ },
40
53
 
41
54
  '& div': {
42
- background: 'gray.100'
55
+ background: 'gray.100',
56
+ _nextTheme: {
57
+ color: 'icon.disabled'
58
+ }
43
59
  }
44
60
  }
45
61
  },
46
62
  _invalid: {
47
63
  '& .mp-toggle__control': {
48
64
  borderColor: 'red.400',
49
- background: 'red.400'
65
+ background: 'red.400',
66
+ _nextTheme: {
67
+ borderColor: 'border.danger !important',
68
+ background: 'background.neutral'
69
+ }
50
70
  }
51
71
  },
52
72
  _checked: {
53
73
  '& .mp-toggle__control': {
54
74
  borderColor: 'blue.400',
55
75
  background: 'blue.400',
76
+ _nextTheme: {
77
+ borderColor: 'border.selected',
78
+ background: 'background.brand.bold.selected'
79
+ },
56
80
 
57
81
  '& div': {
58
- transform: 'translateX(var(--mp-sizes-3))'
82
+ transform: 'translateX(13px)',
83
+ _nextTheme: {
84
+ transform: 'translateX(14px)',
85
+ background: 'icon.inverse'
86
+ }
59
87
  }
60
88
  },
61
89
  _hover: {
62
90
  '& .mp-toggle__control': {
63
91
  borderColor: 'blue.400',
64
- background: 'blue.400'
92
+ background: 'blue.400',
93
+ _nextTheme: {
94
+ borderColor: 'border.selected.hovered',
95
+ background: 'background.brand.bold.hovered'
96
+ }
65
97
  }
66
98
  }
67
99
  }
68
100
  },
69
101
  control: {
70
102
  flex: 'none',
103
+ transitionDuration: '250ms',
104
+ transitionProperty: 'background, border-color, box-shadow',
105
+ transitionTimingFunction: 'linear',
71
106
  position: 'relative',
72
107
  display: 'inline-flex',
73
108
  alignItems: 'center',
@@ -78,16 +113,29 @@ const toggleSlotRecipe = defineSlotRecipe({
78
113
  borderColor: 'gray.100',
79
114
  borderRadius: 'lg',
80
115
  background: 'gray.100',
116
+ _nextTheme: {
117
+ width: '30px',
118
+ height: '18px',
119
+ borderWidth: 'sm',
120
+ borderColor: 'border.form',
121
+ borderRadius: 'full',
122
+ background: 'background.neutral'
123
+ },
81
124
 
82
125
  '& div': {
83
126
  transitionDuration: '250ms',
84
127
  transitionProperty: 'transform',
85
128
  transitionTimingFunction: 'linear',
86
- transform: 'translateX(2px)',
129
+ transform: 'translateX(1px)',
87
130
  width: '3',
88
131
  height: '3',
89
132
  background: 'white',
90
- borderRadius: 'full'
133
+ borderRadius: 'full',
134
+ _nextTheme: {
135
+ transform: 'translateX(2px)',
136
+ background: 'icon.subtle',
137
+ borderRadius: 'full',
138
+ }
91
139
  }
92
140
  },
93
141
  label: {