@inchurch/matcha-theme 20.276.0 → 20.277.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 (69) hide show
  1. package/abstracts/_functions.scss +0 -26
  2. package/abstracts/_theme-api.scss +230 -0
  3. package/components/app-page-header.scss +16 -17
  4. package/components/matcha-accordion.scss +5 -6
  5. package/components/matcha-audio-player.scss +1 -2
  6. package/components/matcha-autocomplete.scss +10 -11
  7. package/components/matcha-avatar.scss +3 -3
  8. package/components/matcha-badge.scss +11 -11
  9. package/components/matcha-breadcrumb.scss +6 -7
  10. package/components/matcha-button-toggle.scss +2 -2
  11. package/components/matcha-buttons.scss +34 -34
  12. package/components/matcha-calendar.scss +31 -35
  13. package/components/matcha-cards.scss +31 -32
  14. package/components/matcha-chart-card.scss +5 -12
  15. package/components/matcha-checkbox.scss +13 -13
  16. package/components/matcha-chip.scss +2 -2
  17. package/components/matcha-color-pick.scss +1 -2
  18. package/components/matcha-command-palette.scss +17 -18
  19. package/components/matcha-crop.scss +0 -1
  20. package/components/matcha-date.scss +3 -3
  21. package/components/matcha-draggable.scss +4 -5
  22. package/components/matcha-drawer.scss +18 -28
  23. package/components/matcha-drop-list.scss +51 -52
  24. package/components/matcha-emoji.scss +2 -2
  25. package/components/{matcha-uploader.scss → matcha-file-uploader.scss} +185 -116
  26. package/components/matcha-footer.scss +3 -4
  27. package/components/matcha-form-field.scss +3 -3
  28. package/components/matcha-form-section.scss +5 -6
  29. package/components/matcha-header.scss +3 -4
  30. package/components/matcha-hint-text.scss +4 -4
  31. package/components/matcha-horizontal-tree.scss +15 -16
  32. package/components/matcha-icon.scss +27 -27
  33. package/components/matcha-image.scss +2 -3
  34. package/components/matcha-list.scss +11 -12
  35. package/components/matcha-menu.scss +2 -2
  36. package/components/matcha-modal.scss +5 -6
  37. package/components/matcha-nav.scss +16 -16
  38. package/components/matcha-notification.scss +3 -4
  39. package/components/matcha-option.scss +19 -0
  40. package/components/matcha-page-builder.scss +16 -16
  41. package/components/matcha-paginator.scss +6 -7
  42. package/components/matcha-panel.scss +4 -5
  43. package/components/matcha-profile-card.scss +3 -3
  44. package/components/matcha-progress-bar.scss +1 -1
  45. package/components/matcha-radio.scss +6 -6
  46. package/components/matcha-scrollbar.scss +1 -2
  47. package/components/matcha-scrollbox-shadow.scss +35 -37
  48. package/components/matcha-section.scss +5 -9
  49. package/components/matcha-select-multiple.scss +56 -0
  50. package/components/matcha-select.scss +7 -7
  51. package/components/matcha-skeleton.scss +6 -7
  52. package/components/matcha-slide-toggle.scss +33 -299
  53. package/components/matcha-slider.scss +5 -5
  54. package/components/matcha-snack-bar.scss +17 -18
  55. package/components/matcha-spin.scss +12 -103
  56. package/components/matcha-spinner.scss +1 -1
  57. package/components/matcha-stepper.scss +15 -16
  58. package/components/matcha-table.scss +14 -15
  59. package/components/matcha-tabs.scss +22 -24
  60. package/components/matcha-text-editor.scss +78 -78
  61. package/components/matcha-time.scss +2 -2
  62. package/components/matcha-toolbar.scss +1 -1
  63. package/components/matcha-tooltip.scss +14 -12
  64. package/main.scss +7 -2
  65. package/package.json +1 -1
  66. package/tokens/_color-tokens.scss +0 -3
  67. package/tokens/_css-custom-properties.scss +233 -179
  68. package/tokens/_primitives.scss +82 -0
  69. package/tokens/_semantic-aliases.scss +120 -0
@@ -9,36 +9,36 @@
9
9
  // ── Disabled mixins ─────────────────────────────────────────────────────────
10
10
 
11
11
  @mixin _disabled-solid-button($theme) {
12
- background: var(--matcha-color-disabled-bg, #{getDisabled($theme)});
13
- color: var(--matcha-color-disabled-fg, #{getDisabledBgContrast($theme)});
12
+ background: var(--matcha-color-disabled-bg);
13
+ color: var(--matcha-color-disabled-fg);
14
14
  box-shadow: 0 0 0 0px inset;
15
15
  pointer-events: none;
16
16
  }
17
17
 
18
18
  @mixin _disabled-basic-button($theme) {
19
- background: var(--matcha-color-surface, #{getSurface($theme)});
20
- color: var(--matcha-color-disabled-bg, #{getDisabled($theme)});
19
+ background: var(--matcha-color-surface);
20
+ color: var(--matcha-color-disabled-bg);
21
21
  box-shadow: 0 0 0 0px inset;
22
22
  pointer-events: none;
23
23
  }
24
24
 
25
25
  @mixin _disabled-outline-button($theme) {
26
26
  background: transparent;
27
- color: var(--matcha-color-disabled-bg, #{getDisabled($theme)});
27
+ color: var(--matcha-color-disabled-bg);
28
28
  box-shadow: 0 0 0 var(--matcha-border-thin, 2px) inset;
29
29
  pointer-events: none;
30
30
  }
31
31
 
32
32
  @mixin _disabled-alpha-button($theme) {
33
- background: var(--matcha-color-disabled-bg-alpha, #{getDisabledAlpha($theme)});
34
- color: var(--matcha-color-disabled-bg, #{getDisabled($theme)});
33
+ background: var(--matcha-color-disabled-bg-alpha, var(--matcha-color-interaction-disabled-bg-alpha));
34
+ color: var(--matcha-color-disabled-bg);
35
35
  box-shadow: 0 0 0 0px inset;
36
36
  pointer-events: none;
37
37
  }
38
38
 
39
39
  @mixin _disabled-link-button($theme) {
40
40
  background: transparent;
41
- color: var(--matcha-color-disabled-bg, #{getDisabled($theme)});
41
+ color: var(--matcha-color-disabled-bg);
42
42
  box-shadow: 0 0 0 0px inset;
43
43
  pointer-events: none;
44
44
  }
@@ -525,7 +525,7 @@ a[matcha-link] {
525
525
  --matcha-button-color-pressed: var(--matcha-color-neutral-hover);
526
526
  --matcha-button-color-text-on: var(--matcha-color-neutral-contrast);
527
527
  --matcha-button-color-alpha: var(--matcha-color-neutral-alpha);
528
- --matcha-button-color-edge: var(--matcha-color-fg, #{getForeground($theme)});
528
+ --matcha-button-color-edge: var(--matcha-color-fg);
529
529
 
530
530
  // Badge ring herda o bg do botão (filled) — outline/ghost override pra surface,
531
531
  // pois o bg deles é transparente e o ring deve casar com a página atrás.
@@ -538,55 +538,55 @@ a[matcha-link] {
538
538
  --matcha-button-color-pressed: var(--matcha-color-neutral-hover);
539
539
  --matcha-button-color-text-on: var(--matcha-color-neutral-contrast);
540
540
  --matcha-button-color-alpha: var(--matcha-color-neutral-alpha);
541
- --matcha-button-color-edge: var(--matcha-color-fg, #{getForeground($theme)});
541
+ --matcha-button-color-edge: var(--matcha-color-fg);
542
542
  }
543
543
  &[color="primary"] {
544
- --matcha-button-color: var(--matcha-color-primary, #{getPrimary($theme)});
544
+ --matcha-button-color: var(--matcha-color-primary);
545
545
  --matcha-button-color-hover: var(--matcha-color-primary-hover);
546
546
  --matcha-button-color-pressed: var(--matcha-color-primary-pressed);
547
- --matcha-button-color-text-on: var(--matcha-color-primary-contrast, #{getPrimaryContrast($theme)});
548
- --matcha-button-color-alpha: var(--matcha-color-primary-alpha, #{getPrimaryAlpha($theme)});
549
- --matcha-button-color-edge: var(--matcha-color-primary, #{getPrimary($theme)});
547
+ --matcha-button-color-text-on: var(--matcha-color-primary-contrast);
548
+ --matcha-button-color-alpha: var(--matcha-color-primary-alpha);
549
+ --matcha-button-color-edge: var(--matcha-color-primary);
550
550
  }
551
551
  &[color="accent"] {
552
- --matcha-button-color: var(--matcha-color-accent, #{getAccent($theme)});
552
+ --matcha-button-color: var(--matcha-color-accent);
553
553
  --matcha-button-color-hover: var(--matcha-color-accent-hover);
554
554
  --matcha-button-color-pressed: var(--matcha-color-accent-pressed);
555
555
  --matcha-button-color-text-on: var(--matcha-color-accent-text-on);
556
- --matcha-button-color-alpha: var(--matcha-color-accent-alpha, #{getAccentAlpha($theme)});
557
- --matcha-button-color-edge: var(--matcha-color-accent, #{getAccent($theme)});
556
+ --matcha-button-color-alpha: var(--matcha-color-accent-alpha);
557
+ --matcha-button-color-edge: var(--matcha-color-accent);
558
558
  }
559
559
  &[color="success"] {
560
- --matcha-button-color: var(--matcha-color-success, #{getSuccess($theme)});
560
+ --matcha-button-color: var(--matcha-color-success);
561
561
  --matcha-button-color-hover: var(--matcha-color-success-hover);
562
562
  --matcha-button-color-pressed: var(--matcha-color-success-pressed);
563
- --matcha-button-color-text-on: var(--matcha-color-success-contrast, #{getSuccessContrast($theme)});
564
- --matcha-button-color-alpha: var(--matcha-color-success-alpha, #{getSuccessAlpha($theme)});
565
- --matcha-button-color-edge: var(--matcha-color-success, #{getSuccess($theme)});
563
+ --matcha-button-color-text-on: var(--matcha-color-success-contrast);
564
+ --matcha-button-color-alpha: var(--matcha-color-success-alpha);
565
+ --matcha-button-color-edge: var(--matcha-color-success);
566
566
  }
567
567
  &[color="warn"] {
568
- --matcha-button-color: var(--matcha-color-warn, #{getWarn($theme)});
568
+ --matcha-button-color: var(--matcha-color-warn);
569
569
  --matcha-button-color-hover: var(--matcha-color-warn-hover);
570
570
  --matcha-button-color-pressed: var(--matcha-color-warn-pressed);
571
- --matcha-button-color-text-on: var(--matcha-color-warn-contrast, #{getWarnContrast($theme)});
572
- --matcha-button-color-alpha: var(--matcha-color-warn-alpha, #{getWarnAlpha($theme)});
573
- --matcha-button-color-edge: var(--matcha-color-warn, #{getWarn($theme)});
571
+ --matcha-button-color-text-on: var(--matcha-color-warn-contrast);
572
+ --matcha-button-color-alpha: var(--matcha-color-warn-alpha);
573
+ --matcha-button-color-edge: var(--matcha-color-warn);
574
574
  }
575
575
  &[color="danger"] {
576
- --matcha-button-color: var(--matcha-color-danger, #{getDanger($theme)});
576
+ --matcha-button-color: var(--matcha-color-danger);
577
577
  --matcha-button-color-hover: var(--matcha-color-danger-hover);
578
578
  --matcha-button-color-pressed: var(--matcha-color-danger-pressed);
579
- --matcha-button-color-text-on: var(--matcha-color-danger-contrast, #{getDangerContrast($theme)});
580
- --matcha-button-color-alpha: var(--matcha-color-danger-alpha, #{getDangerAlpha($theme)});
581
- --matcha-button-color-edge: var(--matcha-color-danger, #{getDanger($theme)});
579
+ --matcha-button-color-text-on: var(--matcha-color-danger-contrast);
580
+ --matcha-button-color-alpha: var(--matcha-color-danger-alpha);
581
+ --matcha-button-color-edge: var(--matcha-color-danger);
582
582
  }
583
583
  &[color="info"] {
584
- --matcha-button-color: var(--matcha-color-info, #{getInfo($theme)});
584
+ --matcha-button-color: var(--matcha-color-info);
585
585
  --matcha-button-color-hover: var(--matcha-color-info-hover);
586
586
  --matcha-button-color-pressed: var(--matcha-color-info-pressed);
587
- --matcha-button-color-text-on: var(--matcha-color-info-contrast, #{getInfoContrast($theme)});
588
- --matcha-button-color-alpha: var(--matcha-color-info-alpha, #{getInfoAlpha($theme)});
589
- --matcha-button-color-edge: var(--matcha-color-info, #{getInfo($theme)});
587
+ --matcha-button-color-text-on: var(--matcha-color-info-contrast);
588
+ --matcha-button-color-alpha: var(--matcha-color-info-alpha);
589
+ --matcha-button-color-edge: var(--matcha-color-info);
590
590
  }
591
591
 
592
592
  // ── Filled (default variant) ──────────────────────────────────────────────────────
@@ -797,7 +797,7 @@ a[matcha-link] {
797
797
 
798
798
  // ── Badge indicator (always accent, pattern fixo) ────────────────
799
799
  &[badge]:not([badge="false"])::after {
800
- background: var(--matcha-color-accent, #{getAccent($theme)});
800
+ background: var(--matcha-color-accent);
801
801
  }
802
802
 
803
803
  // ── Ripple overlay ───────────────────────────────────────────────
@@ -7,47 +7,43 @@
7
7
  // =========================================================
8
8
 
9
9
  @mixin matcha-calendar-theme($theme) {
10
- $is-dark: map.get($theme, is-dark);
11
-
12
10
  .matcha-calendar {
13
- background: var(--matcha-color-surface-card, var(--matcha-color-surface, #{getSurface($theme)}));
14
- color: var(--matcha-color-text-primary, var(--matcha-color-fg, #{getForeground($theme)}));
15
- box-shadow: var(--matcha-shadow-2, #{if($is-dark, $shadow-2-dark, $shadow-2-light)});
16
-
17
- @if $is-dark {
18
- border: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border, rgba(255, 255, 255, 0.12));
19
- }
11
+ background: var(--matcha-color-surface-card, var(--matcha-color-surface));
12
+ color: var(--matcha-color-text-primary, var(--matcha-color-fg));
13
+ box-shadow: var(--matcha-shadow-2);
14
+ // Borda só-no-dark vira valor por modo (light = 0/transparent).
15
+ border: var(--matcha-calendar-border);
20
16
  }
21
17
 
22
18
  // ── Header ──────────────────────────────────────────────
23
19
  .matcha-calendar-header-label {
24
- color: var(--matcha-color-text-primary, var(--matcha-color-fg, #{getForeground($theme)}));
20
+ color: var(--matcha-color-text-primary, var(--matcha-color-fg));
25
21
 
26
22
  &:hover {
27
23
  background-color: var(--matcha-color-surface-hover, rgba(255, 255, 255, 0.08));
28
24
  }
29
25
 
30
26
  &:focus-visible {
31
- outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent, #{getAccent($theme)});
27
+ outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent);
32
28
  outline-offset: var(--matcha-state-focus-ring-offset, 2px);
33
29
  }
34
30
  }
35
31
 
36
32
  .matcha-calendar-nav-btn {
37
- color: var(--matcha-color-text-primary, var(--matcha-color-fg, #{getForeground($theme)}));
33
+ color: var(--matcha-color-text-primary, var(--matcha-color-fg));
38
34
 
39
35
  &:hover:not(:disabled):not(.is-disabled) {
40
36
  background-color: var(--matcha-color-surface-hover, rgba(255, 255, 255, 0.08));
41
37
  }
42
38
 
43
39
  &:focus-visible {
44
- outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent, #{getAccent($theme)});
40
+ outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent);
45
41
  outline-offset: var(--matcha-state-focus-ring-offset, 2px);
46
42
  }
47
43
 
48
44
  &[disabled],
49
45
  &.is-disabled {
50
- color: var(--matcha-color-interaction-disabled-fg, #{getDisabledContrast($theme)});
46
+ color: var(--matcha-color-interaction-disabled-fg);
51
47
  }
52
48
  }
53
49
 
@@ -57,54 +53,54 @@
57
53
  }
58
54
 
59
55
  .matcha-calendar-divider {
60
- background: var(--matcha-color-surface-border, var(--matcha-color-border, #{getGrey($theme)}));
56
+ background: var(--matcha-color-surface-border, var(--matcha-color-border));
61
57
  }
62
58
 
63
59
  // ── Day cells (Month view) ──────────────────────────────
64
60
  .matcha-calendar-cell {
65
- color: var(--matcha-color-text-primary, var(--matcha-color-fg, #{getForeground($theme)}));
61
+ color: var(--matcha-color-text-primary, var(--matcha-color-fg));
66
62
 
67
63
  &:hover:not(.is-disabled):not(.is-selected):not(.is-range-start):not(.is-range-end) {
68
64
  background-color: var(--matcha-color-surface-hover, rgba(255, 255, 255, 0.08));
69
65
  }
70
66
 
71
67
  &:focus-visible {
72
- outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent, #{getAccent($theme)});
68
+ outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent);
73
69
  outline-offset: -2px;
74
70
  }
75
71
 
76
72
  // Today: ring accent (sem fill)
77
73
  &.is-today:not(.is-selected):not(.is-range-start):not(.is-range-end) {
78
- box-shadow: inset 0 0 0 var(--matcha-border-thin, 2px) var(--matcha-color-accent, #{getAccent($theme)});
74
+ box-shadow: inset 0 0 0 var(--matcha-border-thin, 2px) var(--matcha-color-accent);
79
75
  }
80
76
 
81
77
  // In-range (exclusive): pill individual com accent-alpha
82
78
  &.is-in-range:not(.is-selected):not(.is-range-start):not(.is-range-end) {
83
- background-color: var(--matcha-color-accent-alpha, #{getAccentAlpha($theme)});
79
+ background-color: var(--matcha-color-accent-alpha);
84
80
  }
85
81
 
86
82
  // Selected single (Figma: outlined accent, NÃO filled — preserva text-primary)
87
83
  &.is-selected:not(.is-range-start):not(.is-range-end) {
88
84
  background-color: transparent;
89
- color: var(--matcha-color-text-primary, var(--matcha-color-fg, #{getForeground($theme)}));
90
- box-shadow: inset 0 0 0 var(--matcha-border-thin, 2px) var(--matcha-color-accent, #{getAccent($theme)});
85
+ color: var(--matcha-color-text-primary, var(--matcha-color-fg));
86
+ box-shadow: inset 0 0 0 var(--matcha-border-thin, 2px) var(--matcha-color-accent);
91
87
  }
92
88
 
93
89
  // Range anchors (start/end): filled accent — destaque visual dos pontos do range
94
90
  &.is-range-start,
95
91
  &.is-range-end {
96
- background-color: var(--matcha-color-accent, #{getAccent($theme)});
97
- color: var(--matcha-color-accent-contrast, getAccentContrast($theme));
92
+ background-color: var(--matcha-color-accent);
93
+ color: var(--matcha-color-accent-contrast);
98
94
  font-weight: var(--matcha-weight-semibold, 600);
99
95
  box-shadow: none;
100
96
  }
101
97
 
102
98
  &.is-other-month {
103
- color: var(--matcha-color-interaction-disabled-fg, #{getDisabledContrast($theme)});
99
+ color: var(--matcha-color-interaction-disabled-fg);
104
100
  }
105
101
 
106
102
  &.is-disabled {
107
- color: var(--matcha-color-interaction-disabled-fg, #{getDisabledContrast($theme)});
103
+ color: var(--matcha-color-interaction-disabled-fg);
108
104
  background-color: transparent;
109
105
  box-shadow: none;
110
106
  }
@@ -112,49 +108,49 @@
112
108
 
113
109
  // ── Grid views (Year / Decade) ──────────────────────────
114
110
  .matcha-calendar-grid-cell {
115
- color: var(--matcha-color-text-primary, var(--matcha-color-fg, #{getForeground($theme)}));
111
+ color: var(--matcha-color-text-primary, var(--matcha-color-fg));
116
112
 
117
113
  &:hover:not(.is-disabled):not(.is-selected) {
118
114
  background-color: var(--matcha-color-surface-hover, rgba(255, 255, 255, 0.08));
119
115
  }
120
116
 
121
117
  &:focus-visible {
122
- outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent, #{getAccent($theme)});
118
+ outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent);
123
119
  outline-offset: -2px;
124
120
  }
125
121
 
126
122
  &.is-today:not(.is-selected) {
127
- box-shadow: inset 0 0 0 var(--matcha-border-thin, 2px) var(--matcha-color-accent, #{getAccent($theme)});
123
+ box-shadow: inset 0 0 0 var(--matcha-border-thin, 2px) var(--matcha-color-accent);
128
124
  }
129
125
 
130
126
  &.is-selected {
131
- background-color: var(--matcha-color-accent, #{getAccent($theme)});
132
- color: var(--matcha-color-accent-contrast, getAccentContrast($theme));
127
+ background-color: var(--matcha-color-accent);
128
+ color: var(--matcha-color-accent-contrast);
133
129
  font-weight: var(--matcha-weight-semibold, 600);
134
130
  box-shadow: none;
135
131
  }
136
132
 
137
133
  &.is-disabled {
138
- color: var(--matcha-color-interaction-disabled-fg, #{getDisabledContrast($theme)});
134
+ color: var(--matcha-color-interaction-disabled-fg);
139
135
  }
140
136
  }
141
137
 
142
138
  // ── Footer (botão Hoje) ─────────────────────────────────
143
139
  .matcha-calendar-today-btn {
144
- color: var(--matcha-color-accent, #{getAccent($theme)});
140
+ color: var(--matcha-color-accent);
145
141
 
146
142
  &:hover:not(:disabled):not(.is-disabled) {
147
- background-color: var(--matcha-color-accent-alpha, #{getAccentAlpha($theme)});
143
+ background-color: var(--matcha-color-accent-alpha);
148
144
  }
149
145
 
150
146
  &:focus-visible {
151
- outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent, #{getAccent($theme)});
147
+ outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent);
152
148
  outline-offset: 2px;
153
149
  }
154
150
 
155
151
  &[disabled],
156
152
  &.is-disabled {
157
- color: var(--matcha-color-interaction-disabled-fg, #{getDisabledContrast($theme)});
153
+ color: var(--matcha-color-interaction-disabled-fg);
158
154
  }
159
155
  }
160
156
  }
@@ -6,7 +6,6 @@
6
6
  // =============================================================================
7
7
 
8
8
  @mixin matcha-cards-theme($theme) {
9
- $is-dark: map.get($theme, is-dark);
10
9
 
11
10
  matcha-card,
12
11
  .matcha-card,
@@ -14,58 +13,58 @@
14
13
 
15
14
  // ── Default: surface ──
16
15
  &:not([color]) {
17
- background-color: var(--matcha-color-surface, #{getSurface($theme)});
18
- color: var(--matcha-color-fg, #{getForeground($theme)});
16
+ background-color: var(--matcha-color-surface);
17
+ color: var(--matcha-color-fg);
19
18
  }
20
19
 
21
20
  // ── Semantic colors ──
22
21
  &[color="surface"] {
23
- background-color: var(--matcha-color-surface, #{getSurface($theme)});
24
- color: var(--matcha-color-fg, #{getForeground($theme)});
22
+ background-color: var(--matcha-color-surface);
23
+ color: var(--matcha-color-fg);
25
24
  }
26
25
 
27
26
  &[color="bg"] {
28
- background-color: var(--matcha-color-bg, #{getBackground($theme)});
29
- color: var(--matcha-color-fg, #{getForeground($theme)});
27
+ background-color: var(--matcha-color-bg);
28
+ color: var(--matcha-color-fg);
30
29
  }
31
30
 
32
31
  &[color="accent"] {
33
- background-color: var(--matcha-color-accent, #{getAccent($theme)});
34
- color: var(--matcha-color-accent-contrast, #{getAccentContrast($theme)});
32
+ background-color: var(--matcha-color-accent);
33
+ color: var(--matcha-color-accent-contrast);
35
34
  }
36
35
 
37
36
  &[color="primary"] {
38
- background-color: var(--matcha-color-primary, #{getPrimary($theme)});
39
- color: var(--matcha-color-primary-contrast, #{getPrimaryContrast($theme)});
37
+ background-color: var(--matcha-color-primary);
38
+ color: var(--matcha-color-primary-contrast);
40
39
  }
41
40
 
42
41
  &[color="danger"] {
43
- background-color: var(--matcha-color-danger, #{getDanger($theme)});
44
- color: var(--matcha-color-danger-contrast, #{getDangerContrast($theme)});
42
+ background-color: var(--matcha-color-danger);
43
+ color: var(--matcha-color-danger-contrast);
45
44
  }
46
45
 
47
46
  // ── Alpha modifier ──
48
47
  &[alpha]:not([alpha="false"]) {
49
48
  &[color="accent"] {
50
- background-color: var(--matcha-color-accent-alpha, #{getAccentAlpha($theme)});
51
- color: var(--matcha-color-fg, #{getForeground($theme)});
49
+ background-color: var(--matcha-color-accent-alpha);
50
+ color: var(--matcha-color-fg);
52
51
  }
53
52
  &[color="primary"] {
54
- background-color: var(--matcha-color-primary-alpha, #{getPrimaryAlpha($theme)});
55
- color: var(--matcha-color-fg, #{getForeground($theme)});
53
+ background-color: var(--matcha-color-primary-alpha);
54
+ color: var(--matcha-color-fg);
56
55
  }
57
56
  &[color="danger"] {
58
- background-color: var(--matcha-color-danger-alpha, #{getDangerAlpha($theme)});
59
- color: var(--matcha-color-fg, #{getForeground($theme)});
57
+ background-color: var(--matcha-color-danger-alpha);
58
+ color: var(--matcha-color-fg);
60
59
  }
61
60
  // Figma DSV3: alpha + color=surface usa surface-bg (#111318), não surface-alpha.
62
61
  &[color="surface"] {
63
- background-color: var(--matcha-color-surface-bg, #{getBackground($theme)});
64
- color: var(--matcha-color-fg, #{getForeground($theme)});
62
+ background-color: var(--matcha-color-surface-bg);
63
+ color: var(--matcha-color-fg);
65
64
  }
66
65
  &[color="bg"] {
67
- background-color: #{getBackgroundAlpha($theme)};
68
- color: var(--matcha-color-fg, #{getForeground($theme)});
66
+ background-color: var(--matcha-color-surface-bg-alpha);
67
+ color: var(--matcha-color-fg);
69
68
  }
70
69
  }
71
70
 
@@ -78,33 +77,33 @@
78
77
  box-shadow: none;
79
78
 
80
79
  &:not([color]) {
81
- color: var(--matcha-color-fg, #{getForeground($theme)});
80
+ color: var(--matcha-color-fg);
82
81
  }
83
82
  }
84
83
 
85
84
  // ── Tint modifier ──
86
85
  &[tint]:not([tint="false"]) {
87
86
  &[color="accent"] {
88
- background-color: var(--matcha-color-accent-alpha, #{getAccentAlpha($theme)});
89
- color: var(--matcha-color-accent, #{getAccent($theme)});
87
+ background-color: var(--matcha-color-accent-alpha);
88
+ color: var(--matcha-color-accent);
90
89
  }
91
90
  &[color="primary"] {
92
- background-color: var(--matcha-color-primary-alpha, #{getPrimaryAlpha($theme)});
93
- color: var(--matcha-color-primary, #{getPrimary($theme)});
91
+ background-color: var(--matcha-color-primary-alpha);
92
+ color: var(--matcha-color-primary);
94
93
  }
95
94
  &[color="danger"] {
96
- background-color: var(--matcha-color-danger-alpha, #{getDangerAlpha($theme)});
97
- color: var(--matcha-color-danger, #{getDanger($theme)});
95
+ background-color: var(--matcha-color-danger-alpha);
96
+ color: var(--matcha-color-danger);
98
97
  }
99
98
  }
100
99
 
101
100
  // ── Basic modifier ──
102
101
  &[basic]:not([basic="false"]) {
103
102
  box-shadow: none;
104
- background-color: var(--matcha-color-surface, #{getSurface($theme)});
103
+ background-color: var(--matcha-color-surface);
105
104
 
106
105
  &:not([color]) {
107
- color: var(--matcha-color-fg, #{getForeground($theme)});
106
+ color: var(--matcha-color-fg);
108
107
  }
109
108
  }
110
109
 
@@ -8,22 +8,15 @@
8
8
  // =============================================================================
9
9
 
10
10
  @mixin matcha-chart-card-theme($theme) {
11
- $is-dark: map.get($theme, is-dark);
12
-
13
11
  .matcha-chart-card {
14
- background: var(--matcha-color-surface, #{getSurface($theme)});
15
- box-shadow: var(--matcha-shadow-1,
16
- 0 2px 12px rgba(0, 0, 0, if($is-dark, 0.3, 0.06)),
17
- 0 0 4px rgba(0, 0, 0, if($is-dark, 0.2, 0.04))
18
- );
19
-
20
- @if $is-dark {
21
- border: var(--matcha-border-hairline, 1px) solid rgba(#212121, 0.06); // ok: structural
22
- }
12
+ background: var(--matcha-color-surface);
13
+ box-shadow: var(--matcha-shadow-1);
14
+ // Borda só-no-dark vira valor por modo (light = 0/transparent, sem mudar layout).
15
+ border: var(--matcha-chart-card-border);
23
16
  }
24
17
 
25
18
  .matcha-chart-card__accent {
26
- background: var(--matcha-color-accent, #{getAccent($theme)});
19
+ background: var(--matcha-color-accent);
27
20
  }
28
21
  }
29
22
 
@@ -9,7 +9,7 @@
9
9
  // ── Off state — glyph cinza (icon-default) ─────────────────────────
10
10
  // Default applies to all colors (vector unchecked é sempre cinza).
11
11
  .matcha-checkbox-icon--outline {
12
- color: var(--matcha-color-icon-default, #{getBlueGrey($theme)});
12
+ color: var(--matcha-color-icon-default);
13
13
  }
14
14
 
15
15
  // ── Hover (off) — bg sutil surface alpha (Figma matcha/state-layer) ─
@@ -28,7 +28,7 @@
28
28
 
29
29
  // ── Focus visible — border 2px info (Figma) ────────────────────────
30
30
  .matcha-checkbox-container:has(input:focus-visible) {
31
- box-shadow: inset 0 0 0 var(--matcha-border-thin, 2px) var(--matcha-color-info, #{getInfo($theme)});
31
+ box-shadow: inset 0 0 0 var(--matcha-border-thin, 2px) var(--matcha-color-info);
32
32
  }
33
33
 
34
34
  // ── Cores per-color: checked + indeterminate fill = a cor escolhida
@@ -36,36 +36,36 @@
36
36
 
37
37
  // Sem [color]: accent
38
38
  &:not([color]) .matcha-checkbox-icon--checked,
39
- &:not([color]) .matcha-checkbox-icon--indeterminate { color: var(--matcha-color-accent, #{getAccent($theme)}); }
39
+ &:not([color]) .matcha-checkbox-icon--indeterminate { color: var(--matcha-color-accent); }
40
40
 
41
41
  // Semântica
42
42
  &[color="accent"] .matcha-checkbox-icon--checked,
43
- &[color="accent"] .matcha-checkbox-icon--indeterminate { color: var(--matcha-color-accent, #{getAccent($theme)}); }
43
+ &[color="accent"] .matcha-checkbox-icon--indeterminate { color: var(--matcha-color-accent); }
44
44
  &[color="primary"] .matcha-checkbox-icon--checked,
45
- &[color="primary"] .matcha-checkbox-icon--indeterminate { color: var(--matcha-color-primary, #{getPrimary($theme)}); }
45
+ &[color="primary"] .matcha-checkbox-icon--indeterminate { color: var(--matcha-color-primary); }
46
46
  &[color="success"] .matcha-checkbox-icon--checked,
47
- &[color="success"] .matcha-checkbox-icon--indeterminate { color: var(--matcha-color-success, #{getSuccess($theme)}); }
47
+ &[color="success"] .matcha-checkbox-icon--indeterminate { color: var(--matcha-color-success); }
48
48
  &[color="warn"] .matcha-checkbox-icon--checked,
49
- &[color="warn"] .matcha-checkbox-icon--indeterminate { color: var(--matcha-color-warn, #{getWarn($theme)}); }
49
+ &[color="warn"] .matcha-checkbox-icon--indeterminate { color: var(--matcha-color-warn); }
50
50
  &[color="danger"] .matcha-checkbox-icon--checked,
51
- &[color="danger"] .matcha-checkbox-icon--indeterminate { color: var(--matcha-color-danger, #{getDanger($theme)}); }
51
+ &[color="danger"] .matcha-checkbox-icon--indeterminate { color: var(--matcha-color-danger); }
52
52
  &[color="info"] .matcha-checkbox-icon--checked,
53
- &[color="info"] .matcha-checkbox-icon--indeterminate { color: var(--matcha-color-info, #{getInfo($theme)}); }
53
+ &[color="info"] .matcha-checkbox-icon--indeterminate { color: var(--matcha-color-info); }
54
54
 
55
55
  // ── Error state — glyph fica danger (override em outline, checked, indeterminate)
56
56
  &.matcha-checkbox-error,
57
57
  &[error] {
58
- .matcha-checkbox-icon { color: var(--matcha-color-danger, #{getDanger($theme)}); }
58
+ .matcha-checkbox-icon { color: var(--matcha-color-danger); }
59
59
  }
60
60
 
61
61
  // ── Disabled — opacity reduzida (host) ─────────────────────────────
62
- &[disabled] .matcha-checkbox-icon { color: var(--matcha-color-icon-default, #{getBlueGrey($theme)}); }
62
+ &[disabled] .matcha-checkbox-icon { color: var(--matcha-color-icon-default); }
63
63
 
64
64
  // Label colors
65
- .matcha-checkbox-label { color: var(--matcha-checkbox-label-color, var(--matcha-color-text-primary, #{getForeground($theme)})); }
65
+ .matcha-checkbox-label { color: var(--matcha-checkbox-label-color, var(--matcha-color-text-primary)); }
66
66
 
67
67
  &[disabled] .matcha-checkbox-label {
68
- color: var(--matcha-color-disabled-fg, #{getDisabledBgContrast($theme)});
68
+ color: var(--matcha-color-disabled-fg);
69
69
  }
70
70
  }
71
71
  }
@@ -262,8 +262,8 @@ matcha-chip .matcha-chip-remove [class*=" i-matcha-"] {
262
262
  pointer-events: none;
263
263
  matcha-chip {
264
264
  opacity: 0.4;
265
- border-color: var(--matcha-color-interaction-disabled-bg, #{getDisabled($theme)});
266
- color: var(--matcha-color-interaction-disabled-fg, #{getDisabledContrast($theme)});
265
+ border-color: var(--matcha-color-interaction-disabled-bg);
266
+ color: var(--matcha-color-interaction-disabled-fg);
267
267
  }
268
268
  }
269
269
  }
@@ -7,11 +7,10 @@
7
7
  // =============================================================================
8
8
 
9
9
  @mixin matcha-color-pick-theme($theme) {
10
- $is-dark: map.get($theme, is-dark);
11
10
 
12
11
  .matcha-color-pick {
13
12
  .is-selected {
14
- box-shadow: inset 0 0 0 var(--matcha-border-thin, 2px) var(--matcha-color-surface, #{getSurface($theme)});
13
+ box-shadow: inset 0 0 0 var(--matcha-border-thin, 2px) var(--matcha-color-surface);
15
14
  }
16
15
  }
17
16
  }