@inchurch/matcha-theme 20.276.0 → 20.278.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 (70) hide show
  1. package/abstracts/_functions.scss +0 -26
  2. package/abstracts/_theme-api.scss +230 -0
  3. package/base/_reset.scss +5 -1
  4. package/components/app-page-header.scss +16 -17
  5. package/components/matcha-accordion.scss +5 -6
  6. package/components/matcha-audio-player.scss +1 -2
  7. package/components/matcha-autocomplete.scss +10 -11
  8. package/components/matcha-avatar.scss +3 -3
  9. package/components/matcha-badge.scss +11 -11
  10. package/components/matcha-breadcrumb.scss +6 -7
  11. package/components/matcha-button-toggle.scss +2 -2
  12. package/components/matcha-buttons.scss +34 -34
  13. package/components/matcha-calendar.scss +31 -35
  14. package/components/matcha-cards.scss +31 -32
  15. package/components/matcha-chart-card.scss +5 -12
  16. package/components/matcha-checkbox.scss +13 -13
  17. package/components/matcha-chip.scss +2 -2
  18. package/components/matcha-color-pick.scss +1 -2
  19. package/components/matcha-command-palette.scss +17 -18
  20. package/components/matcha-crop.scss +0 -1
  21. package/components/matcha-date.scss +3 -3
  22. package/components/matcha-draggable.scss +4 -5
  23. package/components/matcha-drawer.scss +18 -28
  24. package/components/matcha-drop-list.scss +51 -52
  25. package/components/matcha-emoji.scss +2 -2
  26. package/components/{matcha-uploader.scss → matcha-file-uploader.scss} +193 -116
  27. package/components/matcha-footer.scss +3 -4
  28. package/components/matcha-form-field.scss +3 -3
  29. package/components/matcha-form-section.scss +5 -6
  30. package/components/matcha-header.scss +3 -4
  31. package/components/matcha-hint-text.scss +4 -4
  32. package/components/matcha-horizontal-tree.scss +15 -16
  33. package/components/matcha-icon.scss +27 -27
  34. package/components/matcha-image.scss +2 -3
  35. package/components/matcha-list.scss +11 -12
  36. package/components/matcha-menu.scss +2 -2
  37. package/components/matcha-modal.scss +5 -6
  38. package/components/matcha-nav.scss +16 -16
  39. package/components/matcha-notification.scss +3 -4
  40. package/components/matcha-option.scss +19 -0
  41. package/components/matcha-page-builder.scss +16 -16
  42. package/components/matcha-paginator.scss +6 -7
  43. package/components/matcha-panel.scss +4 -5
  44. package/components/matcha-profile-card.scss +3 -3
  45. package/components/matcha-progress-bar.scss +1 -1
  46. package/components/matcha-radio.scss +6 -6
  47. package/components/matcha-scrollbar.scss +1 -2
  48. package/components/matcha-scrollbox-shadow.scss +35 -37
  49. package/components/matcha-section.scss +5 -9
  50. package/components/matcha-select-multiple.scss +56 -0
  51. package/components/matcha-select.scss +7 -7
  52. package/components/matcha-skeleton.scss +6 -7
  53. package/components/matcha-slide-toggle.scss +33 -299
  54. package/components/matcha-slider.scss +5 -5
  55. package/components/matcha-snack-bar.scss +17 -18
  56. package/components/matcha-spin.scss +12 -103
  57. package/components/matcha-spinner.scss +1 -1
  58. package/components/matcha-stepper.scss +15 -16
  59. package/components/matcha-table.scss +14 -15
  60. package/components/matcha-tabs.scss +22 -24
  61. package/components/matcha-text-editor.scss +78 -78
  62. package/components/matcha-time.scss +2 -2
  63. package/components/matcha-toolbar.scss +1 -1
  64. package/components/matcha-tooltip.scss +14 -12
  65. package/main.scss +7 -2
  66. package/package.json +1 -1
  67. package/tokens/_color-tokens.scss +0 -3
  68. package/tokens/_css-custom-properties.scss +233 -179
  69. package/tokens/_primitives.scss +82 -0
  70. package/tokens/_semantic-aliases.scss +120 -0
@@ -19,36 +19,35 @@
19
19
 
20
20
  // ── Theme (color tokens via mixin pra dark/light) ──────────────────────────
21
21
  @mixin matcha-command-palette-theme($theme) {
22
- $is-dark: map.get($theme, is-dark);
23
22
 
24
23
  .matcha-command-palette {
25
- background: var(--matcha-color-surface-card, #{getSurface($theme)});
26
- border: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border, #{getGrey($theme)});
24
+ background: var(--matcha-color-surface-card);
25
+ border: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border);
27
26
  box-shadow: var(--matcha-shadow-4);
28
- color: var(--matcha-color-text-primary, #{getForeground($theme)});
27
+ color: var(--matcha-color-text-primary);
29
28
 
30
29
  &__search-icon {
31
- color: var(--matcha-color-text-secondary, #{getBlueGrey($theme)});
30
+ color: var(--matcha-color-text-secondary);
32
31
  }
33
32
 
34
33
  &__input {
35
- color: var(--matcha-color-text-primary, #{getForeground($theme)});
36
- &::placeholder { color: var(--matcha-color-text-placeholder, #{getGrey($theme)}); }
34
+ color: var(--matcha-color-text-primary);
35
+ &::placeholder { color: var(--matcha-color-text-placeholder); }
37
36
  }
38
37
 
39
38
  // __divider: cor/bg gerenciados pelo matcha-divider canônico.
40
39
 
41
40
  &__section {
42
- color: var(--matcha-color-text-secondary, #{getBlueGrey($theme)});
41
+ color: var(--matcha-color-text-secondary);
43
42
  }
44
43
 
45
44
  &__result {
46
- color: var(--matcha-color-text-primary, #{getForeground($theme)});
45
+ color: var(--matcha-color-text-primary);
47
46
 
48
- &-icon { color: var(--matcha-color-text-secondary, #{getBlueGrey($theme)}); }
47
+ &-icon { color: var(--matcha-color-text-secondary); }
49
48
 
50
49
  &:hover:not(:disabled) {
51
- background: var(--matcha-color-surface-hover, #{getBackgroundAlpha($theme)});
50
+ background: var(--matcha-color-surface-hover);
52
51
  }
53
52
 
54
53
  &--selected {
@@ -57,21 +56,21 @@
57
56
  .matcha-command-palette__result-icon { color: var(--matcha-color-accent); }
58
57
  }
59
58
 
60
- &:disabled { color: var(--matcha-color-text-disabled, #{getGrey($theme)}); }
59
+ &:disabled { color: var(--matcha-color-text-disabled, var(--matcha-color-text-muted)); }
61
60
  }
62
61
 
63
62
  &__shortcut,
64
63
  &__esc-hint,
65
64
  &__footer kbd {
66
- background: var(--matcha-color-surface-inner, #{getBackgroundAlpha($theme)});
67
- border-color: var(--matcha-color-surface-border, #{getGrey($theme)});
68
- color: var(--matcha-color-text-secondary, #{getBlueGrey($theme)});
65
+ background: var(--matcha-color-surface-inner);
66
+ border-color: var(--matcha-color-surface-border);
67
+ color: var(--matcha-color-text-secondary);
69
68
  }
70
69
 
71
70
  &__footer {
72
- background: var(--matcha-color-surface-inner, #{getBackgroundAlpha($theme)});
73
- color: var(--matcha-color-text-secondary, #{getBlueGrey($theme)});
74
- border-top: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border, #{getGrey($theme)});
71
+ background: var(--matcha-color-surface-inner);
72
+ color: var(--matcha-color-text-secondary);
73
+ border-top: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border);
75
74
  }
76
75
  }
77
76
  }
@@ -17,7 +17,6 @@
17
17
  // =============================================================================
18
18
 
19
19
  @mixin matcha-crop-theme($theme) {
20
- $is-dark: map.get($theme, is-dark);
21
20
 
22
21
  .matcha-crop {
23
22
  color: var(--matcha-color-text-primary);
@@ -4,15 +4,15 @@
4
4
 
5
5
  @mixin matcha-date-theme($theme) {
6
6
  .matcha-date-input {
7
- color: var(--matcha-color-fg, #{getForeground($theme)});
7
+ color: var(--matcha-color-fg);
8
8
 
9
9
  &::placeholder {
10
- color: var(--matcha-color-text-placeholder, #{getBlueGrey($theme)});
10
+ color: var(--matcha-color-text-placeholder);
11
11
  }
12
12
 
13
13
  &:disabled {
14
14
  opacity: var(--matcha-opacity-disabled, 0.38);
15
- color: var(--matcha-color-disabled, #{getDisabled($theme)});
15
+ color: var(--matcha-color-disabled);
16
16
  }
17
17
  }
18
18
  }
@@ -6,19 +6,18 @@
6
6
  // =============================================================================
7
7
 
8
8
  @mixin matcha-draggable-theme($theme) {
9
- $is-dark: map.get($theme, is-dark);
10
9
 
11
10
  .matcha-draggable {
12
11
  .check-with-label:checked + .label-for-check {
13
12
  box-shadow:
14
- 0 0 0 var(--matcha-border-thick, 8px) var(--matcha-color-surface, #{getSurface($theme)}),
15
- 0 0 0 10px var(--matcha-color-text-placeholder, #{getBlueGrey($theme)});
13
+ 0 0 0 var(--matcha-border-thick, 8px) var(--matcha-color-surface),
14
+ 0 0 0 10px var(--matcha-color-text-placeholder);
16
15
  }
17
16
 
18
17
  .is-selected {
19
18
  box-shadow:
20
- 0 0 0 var(--matcha-border-thick, 8px) var(--matcha-color-surface, #{getSurface($theme)}),
21
- 0 0 0 10px var(--matcha-color-text-placeholder, #{getBlueGrey($theme)});
19
+ 0 0 0 var(--matcha-border-thick, 8px) var(--matcha-color-surface),
20
+ 0 0 0 10px var(--matcha-color-text-placeholder);
22
21
  }
23
22
  }
24
23
  }
@@ -82,7 +82,6 @@
82
82
  // =============================================================================
83
83
 
84
84
  @mixin matcha-drawer-theme($theme) {
85
- $is-dark: map.get($theme, is-dark);
86
85
 
87
86
  // ── Container ──
88
87
  matcha-drawer-container {
@@ -92,8 +91,8 @@
92
91
  box-sizing: border-box;
93
92
  -webkit-overflow-scrolling: touch;
94
93
  overflow: hidden;
95
- background-color: var(--matcha-color-bg, #{getBackground($theme)});
96
- color: var(--matcha-color-fg, #{getForeground($theme)});
94
+ background-color: var(--matcha-color-bg);
95
+ color: var(--matcha-color-fg);
97
96
  }
98
97
 
99
98
  // ── Backdrop ──
@@ -151,8 +150,8 @@
151
150
  transition: transform var(--matcha-duration-normal, 200ms) cubic-bezier(0.16, 1, 0.3, 1),
152
151
  visibility var(--matcha-duration-normal, 200ms) ease,
153
152
  width var(--matcha-duration-normal, 200ms) cubic-bezier(0.16, 1, 0.3, 1);
154
- background-color: var(--matcha-color-surface, #{getSurface($theme)});
155
- color: var(--matcha-color-fg, #{getForeground($theme)});
153
+ background-color: var(--matcha-color-surface);
154
+ color: var(--matcha-color-fg);
156
155
  pointer-events: auto;
157
156
 
158
157
  // Shadow inline (3 stacked) — Figma DSV3 spec exato pro drawer.
@@ -163,11 +162,8 @@
163
162
  0 4px 16px rgba(0, 0, 0, 0.12),
164
163
  0 16px 48px rgba(0, 0, 0, 0.16);
165
164
 
166
- @if $is-dark {
167
- // surface-border é o token canônico DSV3 (rgba 255,255,255,0.12 dark).
168
- // Era rgba(255,255,255,0.06) hardcoded — quase invisível e fora do token system.
169
- border-right: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border, rgba(255, 255, 255, 0.12));
170
- }
165
+ // Borda da edge só aparece no dark (var = 0/transparent no light, sem mudar layout).
166
+ border-right: var(--matcha-drawer-border);
171
167
 
172
168
  // Position end (right) — overrides left:0 default
173
169
  &.matcha-drawer-end {
@@ -175,10 +171,8 @@
175
171
  right: 0;
176
172
  transform: translate3d(100%, 0, 0);
177
173
 
178
- @if $is-dark {
179
- border-right: none;
180
- border-left: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border, rgba(255, 255, 255, 0.12));
181
- }
174
+ border-right: 0 solid transparent;
175
+ border-left: var(--matcha-drawer-border);
182
176
  }
183
177
 
184
178
  // Position bottom (bottom sheet)
@@ -196,12 +190,8 @@
196
190
  border-radius: var(--matcha-radius-xl, 16px) var(--matcha-radius-xl, 16px) 0 0;
197
191
  transform: translate3d(0, 100%, 0);
198
192
 
199
- @if $is-dark {
200
- border-right: none;
201
- border-top: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border, rgba(255, 255, 255, 0.12));
202
- } @else {
203
- border-right: none;
204
- }
193
+ border-right: 0 solid transparent;
194
+ border-top: var(--matcha-drawer-border);
205
195
 
206
196
  // safe-area-inset-bottom — iPhone X+ home indicator não cobre footer.
207
197
  // Aplicado no slot footer porque é onde botões/CTAs ficam.
@@ -229,7 +219,7 @@
229
219
  height: 4px;
230
220
  margin: 0 auto;
231
221
  border-radius: var(--matcha-radius-sm, 2px);
232
- background: var(--matcha-color-hint, #{getGrey($theme)});
222
+ background: var(--matcha-color-hint, var(--matcha-color-text-muted));
233
223
  opacity: 0.3;
234
224
  }
235
225
 
@@ -263,23 +253,23 @@
263
253
  // Mode: side — fixed, no shadow, border via surface-border token (DSV3 canônico).
264
254
  &.matcha-drawer-side {
265
255
  z-index: 10;
266
- border-right: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border, var(--matcha-color-border, #{getGrey($theme)}));
256
+ border-right: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border, var(--matcha-color-border));
267
257
  box-shadow: none;
268
258
 
269
259
  &.matcha-drawer-end {
270
260
  border-right: none;
271
- border-left: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border, var(--matcha-color-border, #{getGrey($theme)}));
261
+ border-left: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border, var(--matcha-color-border));
272
262
  }
273
263
  }
274
264
 
275
265
  // Mode: push — pushes content, border only.
276
266
  &.matcha-drawer-push {
277
- border-right: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border, var(--matcha-color-border, #{getGrey($theme)}));
267
+ border-right: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border, var(--matcha-color-border));
278
268
  box-shadow: none;
279
269
 
280
270
  &.matcha-drawer-end {
281
271
  border-right: none;
282
- border-left: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border, var(--matcha-color-border, #{getGrey($theme)}));
272
+ border-left: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border, var(--matcha-color-border));
283
273
  }
284
274
  }
285
275
 
@@ -324,7 +314,7 @@
324
314
  flex: 0 0 auto;
325
315
  padding: var(--drawer-pad-y) var(--drawer-pad-x);
326
316
  border-bottom: var(--drawer-divider);
327
- color: var(--matcha-color-fg, #{getForeground($theme)});
317
+ color: var(--matcha-color-fg);
328
318
 
329
319
  > * {
330
320
  display: flex;
@@ -343,7 +333,7 @@
343
333
  overflow-y: auto;
344
334
  overflow-x: hidden;
345
335
  padding: var(--drawer-pad-y) var(--drawer-pad-x);
346
- color: var(--matcha-color-fg, #{getForeground($theme)});
336
+ color: var(--matcha-color-fg);
347
337
  -webkit-overflow-scrolling: touch;
348
338
  gap: var(--matcha-space-150, 12px);
349
339
  }
@@ -380,7 +370,7 @@
380
370
 
381
371
  // ── Focus ring ──
382
372
  matcha-drawer:focus-visible {
383
- outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent, #{getAccent($theme)});
373
+ outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent);
384
374
  outline-offset: var(--matcha-state-focus-ring-offset, 2px);
385
375
  }
386
376
  }
@@ -6,7 +6,6 @@
6
6
 
7
7
  // Mixin para cores e temas
8
8
  @mixin matcha-drop-list-theme($theme) {
9
- $is-dark: map.get($theme, is-dark);
10
9
 
11
10
  // =============================================================================
12
11
  // COMPONENTE PRINCIPAL
@@ -33,8 +32,8 @@
33
32
  transition: background-color 0.2s ease, border-color 0.2s ease, padding 0.2s ease;
34
33
 
35
34
  &.matcha-drop-list-receiving {
36
- background-color: getPrimaryAlpha($theme);
37
- border-color: var(--matcha-color-accent, #{getAccent($theme)});
35
+ background-color: var(--matcha-color-primary-alpha);
36
+ border-color: var(--matcha-color-accent);
38
37
  border-width: 2px;
39
38
  border-style: dashed;
40
39
  border-radius: var(--matcha-radius-lg, 8px);
@@ -50,12 +49,12 @@
50
49
  bottom: 0;
51
50
  background: linear-gradient(45deg,
52
51
  transparent 25%,
53
- getPrimaryAlpha($theme) 25%,
54
- getPrimaryAlpha($theme) 50%,
52
+ var(--matcha-color-primary-alpha) 25%,
53
+ var(--matcha-color-primary-alpha) 50%,
55
54
  transparent 50%,
56
55
  transparent 75%,
57
- getPrimaryAlpha($theme) 75%,
58
- getPrimaryAlpha($theme));
56
+ var(--matcha-color-primary-alpha) 75%,
57
+ var(--matcha-color-primary-alpha));
59
58
  background-size: 16px 16px;
60
59
  animation: drop-zone-animation 2s linear infinite;
61
60
  border-radius: var(--matcha-radius-md, 4px);
@@ -65,19 +64,19 @@
65
64
 
66
65
  // Estados de aceitação de drop
67
66
  &.matcha-drop-list-can-accept {
68
- background-color: getGreenAlpha($theme);
69
- border-color: getGreen($theme);
67
+ background-color: var(--matcha-color-success-alpha);
68
+ border-color: var(--matcha-color-success);
70
69
  cursor: copy;
71
70
 
72
71
  &::before {
73
72
  background: linear-gradient(45deg,
74
73
  transparent 25%,
75
- getGreenAlpha($theme) 25%,
76
- getGreenAlpha($theme) 50%,
74
+ var(--matcha-color-success-alpha) 25%,
75
+ var(--matcha-color-success-alpha) 50%,
77
76
  transparent 50%,
78
77
  transparent 75%,
79
- getGreenAlpha($theme) 75%,
80
- getGreenAlpha($theme));
78
+ var(--matcha-color-success-alpha) 75%,
79
+ var(--matcha-color-success-alpha));
81
80
  background-size: 16px 16px;
82
81
  animation: drop-zone-animation 1.5s linear infinite;
83
82
  opacity: 0.5;
@@ -87,20 +86,20 @@
87
86
 
88
87
 
89
88
  &.matcha-drop-list-cannot-accept {
90
- background-color: getRedAlpha($theme);
91
- border-color: getRed($theme);
89
+ background-color: var(--matcha-color-danger-alpha);
90
+ border-color: var(--matcha-color-danger);
92
91
  pointer-events: none;
93
92
  cursor: default;
94
93
 
95
94
  &::before {
96
95
  background: linear-gradient(45deg,
97
96
  transparent 25%,
98
- getRedAlpha($theme) 25%,
99
- getRedAlpha($theme) 50%,
97
+ var(--matcha-color-danger-alpha) 25%,
98
+ var(--matcha-color-danger-alpha) 50%,
100
99
  transparent 50%,
101
100
  transparent 75%,
102
- getRedAlpha($theme) 75%,
103
- getRedAlpha($theme));
101
+ var(--matcha-color-danger-alpha) 75%,
102
+ var(--matcha-color-danger-alpha));
104
103
  background-size: 16px 16px;
105
104
  animation: drop-zone-animation 0.8s linear infinite;
106
105
  opacity: 0.6;
@@ -108,8 +107,8 @@
108
107
  }
109
108
 
110
109
  &.matcha-drop-list-disabled {
111
- color: var(--matcha-color-disabled-fg, #{getDisabledBgContrast($theme)});
112
- background-color: var(--matcha-color-disabled-bg, #{getDisabled($theme)});
110
+ color: var(--matcha-color-disabled-fg);
111
+ background-color: var(--matcha-color-disabled-bg);
113
112
  pointer-events: none;
114
113
  cursor: default;
115
114
  }
@@ -120,9 +119,9 @@
120
119
  // =============================================================================
121
120
 
122
121
  .matcha-drop-zone-cannot-accept {
123
- border: 2px dashed getRed($theme) !important;
122
+ border: 2px dashed var(--matcha-color-danger) !important;
124
123
  border-radius: 8px;
125
- background-color: getRedAlpha($theme);
124
+ background-color: var(--matcha-color-danger-alpha);
126
125
  cursor: not-allowed;
127
126
  transition: background-color 0.15s linear, border-color 0.15s linear;
128
127
  }
@@ -130,13 +129,13 @@
130
129
  // Fix C: quando o drop zone pai está rejeitado (vermelho), a lista filha
131
130
  // recebendo o drag também deve ficar vermelha — não verde.
132
131
  .matcha-drop-zone-cannot-accept .matcha-drop-list-container.matcha-drop-list-receiving {
133
- background-color: getRedAlpha($theme);
134
- border-color: getRed($theme);
132
+ background-color: var(--matcha-color-danger-alpha);
133
+ border-color: var(--matcha-color-danger);
135
134
 
136
135
  &::before {
137
136
  background: linear-gradient(45deg,
138
- transparent 25%, getRedAlpha($theme) 25%, getRedAlpha($theme) 50%,
139
- transparent 50%, transparent 75%, getRedAlpha($theme) 75%, getRedAlpha($theme));
137
+ transparent 25%, var(--matcha-color-danger-alpha) 25%, var(--matcha-color-danger-alpha) 50%,
138
+ transparent 50%, transparent 75%, var(--matcha-color-danger-alpha) 75%, var(--matcha-color-danger-alpha));
140
139
  background-size: 16px 16px;
141
140
  animation: drop-zone-animation 0.8s linear infinite;
142
141
  opacity: 0.6;
@@ -168,8 +167,8 @@
168
167
  overflow: hidden;
169
168
  transition: box-shadow 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
170
169
  user-select: none;
171
- background-color: var(--matcha-color-surface, #{getSurface($theme)});
172
- color: var(--matcha-color-fg, #{getForeground($theme)});
170
+ background-color: var(--matcha-color-surface);
171
+ color: var(--matcha-color-fg);
173
172
 
174
173
  // State layer (Template A)
175
174
  &::before {
@@ -191,7 +190,7 @@
191
190
  &:active:not([disabled])::before { opacity: var(--matcha-state-active, 0.12); }
192
191
 
193
192
  &:focus-visible:not([disabled]) {
194
- outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent, #{getAccent($theme)});
193
+ outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent);
195
194
  outline-offset: var(--matcha-state-focus-ring-offset, 2px);
196
195
  }
197
196
 
@@ -203,8 +202,8 @@
203
202
  z-index: 1000;
204
203
  cursor: grabbing;
205
204
  position: relative;
206
- box-shadow: 0 8px 25px getDisabledContrastAlpha($theme);
207
- background-color: var(--matcha-color-surface, #{getSurface($theme)});
205
+ box-shadow: 0 8px 25px var(--matcha-color-text-muted);
206
+ background-color: var(--matcha-color-surface);
208
207
  transform: scale(1.02);
209
208
  opacity: 0.95;
210
209
 
@@ -216,7 +215,7 @@
216
215
  border-radius: var(--matcha-radius-lg, 8px);
217
216
  z-index: -1;
218
217
  opacity: 0.1;
219
- background: linear-gradient(45deg, getSurface($theme), getPrimary($theme));
218
+ background: linear-gradient(45deg, var(--matcha-color-surface), var(--matcha-color-primary));
220
219
  animation: drag-glow 1s ease-in-out infinite alternate;
221
220
  }
222
221
  }
@@ -224,15 +223,15 @@
224
223
  &.matcha-drag-disabled {
225
224
  pointer-events: none;
226
225
  cursor: default;
227
- color: var(--matcha-color-disabled-fg, #{getDisabledBgContrast($theme)});
228
- background-color: var(--matcha-color-disabled-bg, #{getDisabled($theme)});
226
+ color: var(--matcha-color-disabled-fg);
227
+ background-color: var(--matcha-color-disabled-bg);
229
228
  }
230
229
 
231
230
  &.disabled-item {
232
231
  pointer-events: none;
233
232
  cursor: default;
234
- color: var(--matcha-color-disabled-fg, #{getDisabledBgContrast($theme)});
235
- background-color: var(--matcha-color-disabled-bg, #{getDisabled($theme)});
233
+ color: var(--matcha-color-disabled-fg);
234
+ background-color: var(--matcha-color-disabled-bg);
236
235
  }
237
236
  }
238
237
 
@@ -266,7 +265,7 @@
266
265
 
267
266
  .item-title {
268
267
  font-weight: 500;
269
- color: var(--matcha-color-fg, #{getForeground($theme)});
268
+ color: var(--matcha-color-fg);
270
269
 
271
270
  &.completed {
272
271
  text-decoration: line-through;
@@ -277,13 +276,13 @@
277
276
  .item-id {
278
277
  font-size: var(--matcha-text-body-sm, 12px);
279
278
  font-family: monospace;
280
- color: getDisabledContrastAlpha($theme);
279
+ color: var(--matcha-color-text-muted);
281
280
  }
282
281
 
283
282
  small {
284
283
  font-size: var(--matcha-text-p-tiny, 11px);
285
284
  font-style: italic;
286
- color: getForegroundAlpha($theme);
285
+ color: var(--matcha-color-fg-alpha);
287
286
  }
288
287
  }
289
288
 
@@ -317,7 +316,7 @@
317
316
  pointer-events: none;
318
317
  margin: 0;
319
318
  border-radius: var(--matcha-radius-sm, 2px);
320
- background-color: var(--matcha-color-accent, #{getAccent($theme)});
319
+ background-color: var(--matcha-color-accent);
321
320
 
322
321
  &.active {
323
322
  opacity: 1;
@@ -346,19 +345,19 @@
346
345
  font-size: var(--matcha-text-body-md, 14px);
347
346
  border-radius: var(--matcha-radius-md, 4px);
348
347
  transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
349
- color: getDisabledContrastAlpha($theme);
350
- border-color: getForegroundAlpha($theme);
348
+ color: var(--matcha-color-text-muted);
349
+ border-color: var(--matcha-color-fg-alpha);
351
350
 
352
351
  &.can-accept {
353
- color: getGreen($theme);
354
- border-color: getGreen($theme);
355
- background-color: getGreenAlpha($theme);
352
+ color: var(--matcha-color-success);
353
+ border-color: var(--matcha-color-success);
354
+ background-color: var(--matcha-color-success-alpha);
356
355
  }
357
356
 
358
357
  &.cannot-accept {
359
- color: getRed($theme);
360
- border-color: getRed($theme);
361
- background-color: getRedAlpha($theme);
358
+ color: var(--matcha-color-danger);
359
+ border-color: var(--matcha-color-danger);
360
+ background-color: var(--matcha-color-danger-alpha);
362
361
  animation: shake 0.5s ease-in-out;
363
362
  }
364
363
  }
@@ -370,12 +369,12 @@
370
369
 
371
370
  @media (prefers-contrast: high) {
372
371
  .matcha-drop-list-container.matcha-drop-list-receiving {
373
- border-color: var(--matcha-color-fg, #{getForeground($theme)});
374
- background-color: getForegroundAlpha($theme);
372
+ border-color: var(--matcha-color-fg);
373
+ background-color: var(--matcha-color-fg-alpha);
375
374
  }
376
375
 
377
376
  .matcha-drag-item.matcha-drag-dragging {
378
- border: 2px solid var(--matcha-color-fg, #{getForeground($theme)});
377
+ border: 2px solid var(--matcha-color-fg);
379
378
  }
380
379
  }
381
380
  }
@@ -59,11 +59,11 @@
59
59
  @mixin matcha-emoji-theme($theme) {
60
60
  .matcha-emoji--outline svg {
61
61
  fill: none;
62
- stroke: var(--matcha-color-fg, #{getForeground($theme)});
62
+ stroke: var(--matcha-color-fg);
63
63
  stroke-width: 1.5;
64
64
  }
65
65
 
66
66
  .matcha-emoji--filled svg {
67
- fill: var(--matcha-color-fg, #{getForeground($theme)});
67
+ fill: var(--matcha-color-fg);
68
68
  }
69
69
  }