@mekari/pixel3-theme 0.2.1 → 0.2.2-dev.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 (94) hide show
  1. package/dist/conditions.d.mts +4 -1
  2. package/dist/conditions.d.ts +4 -1
  3. package/dist/index.js +3423 -606
  4. package/dist/index.mjs +3382 -565
  5. package/dist/recipes/airene-button.d.mts +5 -0
  6. package/dist/recipes/airene-button.d.ts +5 -0
  7. package/dist/recipes/index.d.mts +1 -0
  8. package/dist/recipes/index.d.ts +1 -0
  9. package/dist/semanticTokens/colors.d.mts +892 -0
  10. package/dist/semanticTokens/colors.d.ts +892 -0
  11. package/dist/semanticTokens/index.d.mts +951 -0
  12. package/dist/semanticTokens/index.d.ts +951 -0
  13. package/dist/semanticTokens/spacing.d.mts +59 -0
  14. package/dist/semanticTokens/spacing.d.ts +59 -0
  15. package/dist/tokens/borders.d.mts +2 -2
  16. package/dist/tokens/borders.d.ts +2 -2
  17. package/dist/tokens/colors.d.mts +40 -34
  18. package/dist/tokens/colors.d.ts +40 -34
  19. package/dist/tokens/index.d.mts +62 -35
  20. package/dist/tokens/index.d.ts +62 -35
  21. package/dist/tokens/radii.d.mts +5 -0
  22. package/dist/tokens/radii.d.ts +5 -0
  23. package/dist/tokens/spacing.d.mts +16 -0
  24. package/dist/tokens/spacing.d.ts +16 -0
  25. package/dist/tokens-next/borders.d.mts +22 -0
  26. package/dist/tokens-next/borders.d.ts +22 -0
  27. package/dist/tokens-next/colors.d.mts +444 -0
  28. package/dist/tokens-next/colors.d.ts +444 -0
  29. package/dist/tokens-next/index.d.mts +775 -0
  30. package/dist/tokens-next/index.d.ts +775 -0
  31. package/dist/tokens-next/radii.d.mts +26 -0
  32. package/dist/tokens-next/radii.d.ts +26 -0
  33. package/dist/tokens-next/shadows.d.mts +28 -0
  34. package/dist/tokens-next/shadows.d.ts +28 -0
  35. package/dist/tokens-next/spacing.d.mts +51 -0
  36. package/dist/tokens-next/spacing.d.ts +51 -0
  37. package/package.json +3 -2
  38. package/src/conditions.ts +6 -4
  39. package/src/global-css.ts +4 -0
  40. package/src/index.ts +15 -2
  41. package/src/keyframes.ts +5 -0
  42. package/src/recipes/accordion.ts +60 -10
  43. package/src/recipes/airene-button.ts +120 -0
  44. package/src/recipes/autocomplete.ts +6 -1
  45. package/src/recipes/avatar.ts +101 -24
  46. package/src/recipes/badge.ts +174 -50
  47. package/src/recipes/banner.ts +36 -12
  48. package/src/recipes/broadcast.ts +78 -12
  49. package/src/recipes/button.ts +239 -11
  50. package/src/recipes/carousel.ts +5 -0
  51. package/src/recipes/chart.ts +10 -5
  52. package/src/recipes/checkbox.ts +72 -15
  53. package/src/recipes/color-picker.ts +74 -23
  54. package/src/recipes/date-picker.ts +165 -31
  55. package/src/recipes/divider.ts +5 -1
  56. package/src/recipes/dropzone.ts +80 -8
  57. package/src/recipes/form-control.ts +12 -3
  58. package/src/recipes/icon.ts +3 -1
  59. package/src/recipes/index.ts +3 -1
  60. package/src/recipes/input-tag.ts +48 -8
  61. package/src/recipes/input.ts +105 -18
  62. package/src/recipes/modal.ts +38 -10
  63. package/src/recipes/popover.ts +28 -9
  64. package/src/recipes/progress.ts +9 -2
  65. package/src/recipes/radio.ts +56 -23
  66. package/src/recipes/rich-text-editor.ts +32 -6
  67. package/src/recipes/segmented-control.ts +48 -8
  68. package/src/recipes/select.ts +42 -0
  69. package/src/recipes/slider.ts +46 -6
  70. package/src/recipes/table.ts +26 -11
  71. package/src/recipes/tabs.ts +36 -4
  72. package/src/recipes/tag.ts +44 -14
  73. package/src/recipes/text.ts +0 -1
  74. package/src/recipes/textarea.ts +0 -46
  75. package/src/recipes/timeline.ts +42 -8
  76. package/src/recipes/toast.ts +21 -5
  77. package/src/recipes/toggle.ts +63 -13
  78. package/src/recipes/tooltip.ts +6 -1
  79. package/src/recipes/upload.ts +51 -16
  80. package/src/semanticTokens/colors.ts +893 -0
  81. package/src/semanticTokens/index.ts +8 -0
  82. package/src/semanticTokens/spacing.ts +59 -0
  83. package/src/text-styles.ts +1 -1
  84. package/src/tokens/borders.ts +1 -1
  85. package/src/tokens/colors.ts +19 -23
  86. package/src/tokens/index.ts +2 -2
  87. package/src/tokens/radii.ts +5 -5
  88. package/src/tokens/spacing.ts +17 -17
  89. package/src/tokens-next/borders.ts +10 -0
  90. package/src/tokens-next/colors.ts +172 -0
  91. package/src/tokens-next/index.ts +32 -0
  92. package/src/tokens-next/radii.ts +10 -0
  93. package/src/tokens-next/shadows.ts +28 -0
  94. package/src/tokens-next/spacing.ts +16 -0
@@ -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,12 @@ const timelineSeparatorSlotRecipe = defineSlotRecipe({
150
166
  '&[data-position=last]': {
151
167
  backgroundColor: 'transparent'
152
168
  },
169
+ _nextTheme: {
170
+ backgroundColor: 'border.default',
171
+ '&[data-position=last]': {
172
+ backgroundColor: 'transparent'
173
+ }
174
+ }
153
175
  }
154
176
  }
155
177
  })
@@ -178,7 +200,10 @@ const timelineAccordionSlotRecipe = defineSlotRecipe({
178
200
  '&[data-position=first]': {
179
201
  backgroundColor: 'transparent'
180
202
  },
181
- roundedBottom: 'full'
203
+ roundedBottom: 'full',
204
+ _nextTheme: {
205
+ backgroundColor: 'border.default'
206
+ }
182
207
  },
183
208
  bottomConnector: {
184
209
  flexGrow: 1,
@@ -187,7 +212,13 @@ const timelineAccordionSlotRecipe = defineSlotRecipe({
187
212
  '&[data-position=last]': {
188
213
  backgroundColor: 'transparent'
189
214
  },
190
- roundedTop: 'full'
215
+ roundedTop: 'full',
216
+ _nextTheme: {
217
+ backgroundColor: 'border.default',
218
+ '&[data-position=last]': {
219
+ backgroundColor: 'transparent'
220
+ }
221
+ }
191
222
  },
192
223
  title: {
193
224
  paddingTop: 1
@@ -197,7 +228,10 @@ const timelineAccordionSlotRecipe = defineSlotRecipe({
197
228
  lineHeight: 'md',
198
229
  color: 'dark',
199
230
  fontWeight: 'semibold',
200
- letterSpacing: 'normal'
231
+ letterSpacing: 'normal',
232
+ _nextTheme: {
233
+ color: 'text.default'
234
+ }
201
235
  }
202
236
  }
203
237
  })
@@ -9,16 +9,22 @@ const toastSlotRecipe = defineSlotRecipe({
9
9
  display: 'flex',
10
10
  alignItems: 'center',
11
11
  gap: '2',
12
- width: '356px',
13
12
  border: '1.5px solid',
14
13
  borderRadius: 'md',
15
14
  backgroundColor: 'white',
16
15
  padding: '3',
17
16
  boxShadow: 'lg',
18
- zIndex: '9999'
17
+ zIndex: '1700',
18
+ _nextTheme: {
19
+ backgroundColor: 'background.neutral',
20
+ }
19
21
  },
20
22
  label: {
21
- fontSize: 'md'
23
+ color: 'dark',
24
+ fontSize: 'md',
25
+ _nextTheme: {
26
+ color: 'text.default',
27
+ }
22
28
  }
23
29
  },
24
30
  variants: {
@@ -31,13 +37,23 @@ const toastSlotRecipe = defineSlotRecipe({
31
37
  {
32
38
  variant: 'success',
33
39
  css: {
34
- root: { borderColor: 'green.700' }
40
+ root: {
41
+ borderColor: 'green.700',
42
+ _nextTheme: {
43
+ borderColor: 'border.success',
44
+ }
45
+ }
35
46
  }
36
47
  },
37
48
  {
38
49
  variant: 'error',
39
50
  css: {
40
- root: { borderColor: 'red.700' }
51
+ root: {
52
+ borderColor: 'red.700',
53
+ _nextTheme: {
54
+ borderColor: 'border.danger',
55
+ }
56
+ }
41
57
  }
42
58
  }
43
59
  ],
@@ -7,28 +7,39 @@ 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
- '&:focus + .mp-toggle__control': {
24
- borderColor: 'blue.400',
25
- boxShadow: 'focus'
24
+ _focusVisible: {
25
+ '& + .mp-toggle__control': {
26
+ borderColor: 'blue.400',
27
+ boxShadow: 'focus',
28
+ _nextTheme: {
29
+ borderColor: 'border.focused',
30
+ boxShadow: '0 0 0 1px {colors.border.focused}'
31
+ }
32
+ }
26
33
  }
27
34
  },
28
35
  _hover: {
29
36
  '& .mp-toggle__control': {
30
37
  borderColor: 'gray.400',
31
- background: 'gray.400'
38
+ background: 'gray.400',
39
+ _nextTheme: {
40
+ borderColor: 'border.form',
41
+ background: 'background.neutral.hovered'
42
+ }
32
43
  }
33
44
  },
34
45
  _disabled: {
@@ -37,37 +48,63 @@ const toggleSlotRecipe = defineSlotRecipe({
37
48
  borderColor: 'gray.100 !important',
38
49
  background: 'gray.50 !important',
39
50
  boxShadow: 'none !important',
51
+ _nextTheme: {
52
+ borderColor: 'border.disabled !important',
53
+ background: 'background.disabled !important'
54
+ },
40
55
 
41
56
  '& div': {
42
- background: 'gray.100'
57
+ background: 'gray.100',
58
+ _nextTheme: {
59
+ color: 'icon.disabled'
60
+ }
43
61
  }
44
62
  }
45
63
  },
46
64
  _invalid: {
47
65
  '& .mp-toggle__control': {
48
66
  borderColor: 'red.400',
49
- background: 'red.400'
67
+ background: 'red.400',
68
+ _nextTheme: {
69
+ borderColor: 'border.danger !important',
70
+ background: 'background.neutral'
71
+ }
50
72
  }
51
73
  },
52
74
  _checked: {
53
75
  '& .mp-toggle__control': {
54
76
  borderColor: 'blue.400',
55
77
  background: 'blue.400',
78
+ _nextTheme: {
79
+ borderColor: 'border.selected',
80
+ background: 'background.brand.bold.selected'
81
+ },
56
82
 
57
83
  '& div': {
58
- transform: 'translateX(var(--mp-sizes-3))'
84
+ transform: 'translateX(13px)',
85
+ _nextTheme: {
86
+ transform: 'translateX(14px)',
87
+ background: 'icon.inverse'
88
+ }
59
89
  }
60
90
  },
61
91
  _hover: {
62
92
  '& .mp-toggle__control': {
63
93
  borderColor: 'blue.400',
64
- background: 'blue.400'
94
+ background: 'blue.400',
95
+ _nextTheme: {
96
+ borderColor: 'border.selected.hovered',
97
+ background: 'background.brand.bold.hovered'
98
+ }
65
99
  }
66
100
  }
67
101
  }
68
102
  },
69
103
  control: {
70
104
  flex: 'none',
105
+ transitionDuration: '250ms',
106
+ transitionProperty: 'background, border-color, box-shadow',
107
+ transitionTimingFunction: 'linear',
71
108
  position: 'relative',
72
109
  display: 'inline-flex',
73
110
  alignItems: 'center',
@@ -78,16 +115,29 @@ const toggleSlotRecipe = defineSlotRecipe({
78
115
  borderColor: 'gray.100',
79
116
  borderRadius: 'lg',
80
117
  background: 'gray.100',
118
+ _nextTheme: {
119
+ width: '30px',
120
+ height: '18px',
121
+ borderWidth: 'sm',
122
+ borderColor: 'border.form',
123
+ borderRadius: 'full',
124
+ background: 'background.neutral'
125
+ },
81
126
 
82
127
  '& div': {
83
128
  transitionDuration: '250ms',
84
129
  transitionProperty: 'transform',
85
130
  transitionTimingFunction: 'linear',
86
- transform: 'translateX(2px)',
131
+ transform: 'translateX(1px)',
87
132
  width: '3',
88
133
  height: '3',
89
134
  background: 'white',
90
- borderRadius: 'full'
135
+ borderRadius: 'full',
136
+ _nextTheme: {
137
+ transform: 'translateX(2px)',
138
+ background: 'icon.subtle',
139
+ borderRadius: 'full',
140
+ }
91
141
  }
92
142
  },
93
143
  label: {
@@ -10,6 +10,7 @@ const tooltipRecipe = defineRecipe({
10
10
  fontWeight: 'regular',
11
11
  pointerEvents: 'none',
12
12
  fontSize: 'sm',
13
+ lineHeight: '20px',
13
14
  shadow: 'md',
14
15
  maxW: '300px',
15
16
  zIndex: 'tooltip',
@@ -17,7 +18,11 @@ const tooltipRecipe = defineRecipe({
17
18
  bg: 'overlay',
18
19
  color: 'white',
19
20
  whiteSpace: 'normal',
20
- overflowWrap: 'break-word'
21
+ overflowWrap: 'break-word',
22
+ _nextTheme: {
23
+ background: 'background.overlay',
24
+ color: 'text.inverse.static'
25
+ }
21
26
  }
22
27
  })
23
28
 
@@ -17,30 +17,65 @@ const uploadSlotRecipe = defineSlotRecipe({
17
17
  borderWidth: '1px',
18
18
  borderColor: 'gray.100',
19
19
  borderRadius: 'md',
20
- backgroundColor: 'white',
20
+ background: 'white',
21
21
  outline: 'none',
22
22
  transition: 'all 250ms',
23
+ _nextTheme: {
24
+ borderRadius: 'md',
25
+ borderColor: 'border.default',
26
+ background: 'background.neutral'
27
+ },
28
+
23
29
  _hover: {
24
30
  borderColor: 'gray.400',
25
31
  '& .mp-upload__resetButton': {
26
32
  display: 'block'
33
+ },
34
+
35
+ _nextTheme: {
36
+ borderColor: 'border.form',
37
+ background: 'background.neutral.hovered'
27
38
  }
28
39
  },
29
- _focusVisible: {
40
+ _focus: {
30
41
  boxShadow: 'focus',
31
42
  borderColor: 'blue.400',
43
+ _nextTheme: {
44
+ boxShadow: 'focus',
45
+ borderColor: 'border.focused'
46
+ },
32
47
  _hover: {
33
- borderColor: 'blue.400'
48
+ borderColor: 'blue.400',
49
+ _nextTheme: {
50
+ borderColor: 'border.focused'
51
+ }
34
52
  }
35
53
  },
36
54
  _disabled: {
37
55
  cursor: 'not-allowed',
38
- background: 'gray.50'
56
+ background: 'gray.50',
57
+ _nextTheme: {
58
+ background: 'background.disabled',
59
+ borderColor: 'border.disabled'
60
+ },
61
+
62
+ _hover: {
63
+ _nextTheme: {
64
+ background: 'background.disabled',
65
+ borderColor: 'border.disabled'
66
+ }
67
+ }
39
68
  },
40
69
  _invalid: {
41
70
  borderColor: 'red.400',
71
+ _nextTheme: {
72
+ borderColor: 'border.danger'
73
+ },
42
74
  _hover: {
43
- borderColor: 'red.400'
75
+ borderColor: 'red.400',
76
+ _nextTheme: {
77
+ borderColor: 'border.danger'
78
+ }
44
79
  }
45
80
  }
46
81
  },
@@ -69,29 +104,29 @@ const uploadListSlotRecipe = defineSlotRecipe({
69
104
  py: '2',
70
105
  px: '1',
71
106
  borderRadius: 'md',
72
- backgroundColor: 'white',
107
+ background: 'white',
73
108
  transition: 'all 250ms',
109
+ _nextTheme: {
110
+ borderRadius: 'md',
111
+ background: 'background.neutral'
112
+ },
74
113
  _hover: {
75
- backgroundColor: 'background'
114
+ background: 'background',
115
+ _nextTheme: {
116
+ background: 'background.neutral.hovered'
117
+ }
76
118
  }
77
119
  },
78
120
  titleWrapper: {
79
121
  display: 'flex',
80
122
  flexDirection: 'column',
81
- minWidth: '1px',
123
+ minWidth: '1px'
82
124
  },
83
125
  actionWrapper: {
84
126
  display: 'flex',
85
127
  flexDirection: 'row',
86
128
  gap: '0.5',
87
- ml: 'auto',
88
- '& > button': {
89
- // Remove hover style for Button Icon
90
- _hover: {
91
- background: 'transparent!important',
92
- borderColor: 'transparent!important'
93
- }
94
- }
129
+ ml: 'auto'
95
130
  }
96
131
  }
97
132
  })