@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.
- package/abstracts/_functions.scss +0 -26
- package/abstracts/_theme-api.scss +230 -0
- package/components/app-page-header.scss +16 -17
- package/components/matcha-accordion.scss +5 -6
- package/components/matcha-audio-player.scss +1 -2
- package/components/matcha-autocomplete.scss +10 -11
- package/components/matcha-avatar.scss +3 -3
- package/components/matcha-badge.scss +11 -11
- package/components/matcha-breadcrumb.scss +6 -7
- package/components/matcha-button-toggle.scss +2 -2
- package/components/matcha-buttons.scss +34 -34
- package/components/matcha-calendar.scss +31 -35
- package/components/matcha-cards.scss +31 -32
- package/components/matcha-chart-card.scss +5 -12
- package/components/matcha-checkbox.scss +13 -13
- package/components/matcha-chip.scss +2 -2
- package/components/matcha-color-pick.scss +1 -2
- package/components/matcha-command-palette.scss +17 -18
- package/components/matcha-crop.scss +0 -1
- package/components/matcha-date.scss +3 -3
- package/components/matcha-draggable.scss +4 -5
- package/components/matcha-drawer.scss +18 -28
- package/components/matcha-drop-list.scss +51 -52
- package/components/matcha-emoji.scss +2 -2
- package/components/{matcha-uploader.scss → matcha-file-uploader.scss} +185 -116
- package/components/matcha-footer.scss +3 -4
- package/components/matcha-form-field.scss +3 -3
- package/components/matcha-form-section.scss +5 -6
- package/components/matcha-header.scss +3 -4
- package/components/matcha-hint-text.scss +4 -4
- package/components/matcha-horizontal-tree.scss +15 -16
- package/components/matcha-icon.scss +27 -27
- package/components/matcha-image.scss +2 -3
- package/components/matcha-list.scss +11 -12
- package/components/matcha-menu.scss +2 -2
- package/components/matcha-modal.scss +5 -6
- package/components/matcha-nav.scss +16 -16
- package/components/matcha-notification.scss +3 -4
- package/components/matcha-option.scss +19 -0
- package/components/matcha-page-builder.scss +16 -16
- package/components/matcha-paginator.scss +6 -7
- package/components/matcha-panel.scss +4 -5
- package/components/matcha-profile-card.scss +3 -3
- package/components/matcha-progress-bar.scss +1 -1
- package/components/matcha-radio.scss +6 -6
- package/components/matcha-scrollbar.scss +1 -2
- package/components/matcha-scrollbox-shadow.scss +35 -37
- package/components/matcha-section.scss +5 -9
- package/components/matcha-select-multiple.scss +56 -0
- package/components/matcha-select.scss +7 -7
- package/components/matcha-skeleton.scss +6 -7
- package/components/matcha-slide-toggle.scss +33 -299
- package/components/matcha-slider.scss +5 -5
- package/components/matcha-snack-bar.scss +17 -18
- package/components/matcha-spin.scss +12 -103
- package/components/matcha-spinner.scss +1 -1
- package/components/matcha-stepper.scss +15 -16
- package/components/matcha-table.scss +14 -15
- package/components/matcha-tabs.scss +22 -24
- package/components/matcha-text-editor.scss +78 -78
- package/components/matcha-time.scss +2 -2
- package/components/matcha-toolbar.scss +1 -1
- package/components/matcha-tooltip.scss +14 -12
- package/main.scss +7 -2
- package/package.json +1 -1
- package/tokens/_color-tokens.scss +0 -3
- package/tokens/_css-custom-properties.scss +233 -179
- package/tokens/_primitives.scss +82 -0
- package/tokens/_semantic-aliases.scss +120 -0
|
@@ -39,141 +39,50 @@
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
@mixin matcha-spin($theme) {
|
|
42
|
-
$is-dark: map.get($theme, is-dark);
|
|
43
42
|
|
|
44
43
|
matcha-spin:not([color]) .spin-progress {
|
|
45
|
-
stroke: var(--matcha-color-accent
|
|
44
|
+
stroke: var(--matcha-color-accent);
|
|
46
45
|
}
|
|
47
46
|
|
|
48
47
|
matcha-spin {
|
|
49
48
|
|
|
50
|
-
//
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
// Pink
|
|
56
|
-
&[color="pink"] .spin-progress {
|
|
57
|
-
stroke: getPink($theme);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// Purple
|
|
61
|
-
&[color="purple"] .spin-progress {
|
|
62
|
-
stroke: getPurple($theme);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// Deep Purple
|
|
66
|
-
&[color="deep-purple"] .spin-progress {
|
|
67
|
-
stroke: getDeepPurple($theme);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// Indigo
|
|
71
|
-
&[color="indigo"] .spin-progress {
|
|
72
|
-
stroke: getIndigo($theme);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// Blue
|
|
76
|
-
&[color="blue"] .spin-progress {
|
|
77
|
-
stroke: getBlue($theme);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// Light Blue
|
|
81
|
-
&[color="light-blue"] .spin-progress {
|
|
82
|
-
stroke: getLightBlue($theme);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// Cyan
|
|
86
|
-
&[color="cyan"] .spin-progress {
|
|
87
|
-
stroke: getCyan($theme);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
// Teal
|
|
91
|
-
&[color="teal"] .spin-progress {
|
|
92
|
-
stroke: getTeal($theme);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
// Green
|
|
96
|
-
&[color="green"] .spin-progress {
|
|
97
|
-
stroke: getGreen($theme);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// Light Green
|
|
101
|
-
&[color="light-green"] .spin-progress {
|
|
102
|
-
stroke: getLightGreen($theme);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
// Lime
|
|
106
|
-
&[color="lime"] .spin-progress {
|
|
107
|
-
stroke: getLime($theme);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
// Yellow
|
|
111
|
-
&[color="yellow"] .spin-progress {
|
|
112
|
-
stroke: getYellow($theme);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// Amber
|
|
116
|
-
&[color="amber"] .spin-progress {
|
|
117
|
-
stroke: getAmber($theme);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
// Orange
|
|
121
|
-
&[color="orange"] .spin-progress {
|
|
122
|
-
stroke: getOrange($theme);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
// Deep Orange
|
|
126
|
-
&[color="deep-orange"] .spin-progress {
|
|
127
|
-
stroke: getDeepOrange($theme);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
// Brown
|
|
131
|
-
&[color="brown"] .spin-progress {
|
|
132
|
-
stroke: getBrown($theme);
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
// Grey
|
|
136
|
-
&[color="grey"] .spin-progress {
|
|
137
|
-
stroke: getGrey($theme);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
// Blue Grey
|
|
141
|
-
&[color="blue-grey"] .spin-progress {
|
|
142
|
-
stroke: getBlueGrey($theme);
|
|
143
|
-
}
|
|
49
|
+
// Cores nomeadas de paleta (red/pink/blue/… 19 famílias) DEPRECADAS na migração
|
|
50
|
+
// runtime-theming (2026-06-19): sem uso real (só doc auto-gerada). Use as semânticas
|
|
51
|
+
// abaixo (primary/accent/feedback). Remove a dependência dos getters de paleta
|
|
52
|
+
// (getRed…getBlueGrey, shade mode-dependente da paleta Material legada).
|
|
144
53
|
|
|
145
54
|
// Accent
|
|
146
55
|
&[color="accent"] .spin-progress {
|
|
147
|
-
stroke: var(--matcha-color-accent
|
|
56
|
+
stroke: var(--matcha-color-accent);
|
|
148
57
|
}
|
|
149
58
|
|
|
150
59
|
// Primary
|
|
151
60
|
&[color="primary"] .spin-progress {
|
|
152
|
-
stroke: var(--matcha-color-primary
|
|
61
|
+
stroke: var(--matcha-color-primary);
|
|
153
62
|
}
|
|
154
63
|
|
|
155
64
|
// Success
|
|
156
65
|
&[color="success"] .spin-progress {
|
|
157
|
-
stroke: var(--matcha-color-success
|
|
66
|
+
stroke: var(--matcha-color-success);
|
|
158
67
|
}
|
|
159
68
|
|
|
160
69
|
// Warn
|
|
161
70
|
&[color="warn"] .spin-progress {
|
|
162
|
-
stroke: var(--matcha-color-warn
|
|
71
|
+
stroke: var(--matcha-color-warn);
|
|
163
72
|
}
|
|
164
73
|
|
|
165
74
|
// Danger
|
|
166
75
|
&[color="danger"] .spin-progress {
|
|
167
|
-
stroke: var(--matcha-color-danger
|
|
76
|
+
stroke: var(--matcha-color-danger);
|
|
168
77
|
}
|
|
169
78
|
|
|
170
79
|
// Info
|
|
171
80
|
&[color="info"] .spin-progress {
|
|
172
|
-
stroke: var(--matcha-color-info
|
|
81
|
+
stroke: var(--matcha-color-info);
|
|
173
82
|
}
|
|
174
83
|
|
|
175
84
|
.spin-placeholder {
|
|
176
|
-
stroke: var(--matcha-color-disabled
|
|
85
|
+
stroke: var(--matcha-color-disabled);
|
|
177
86
|
}
|
|
178
87
|
|
|
179
88
|
&:not([size]) {
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
// =============================================================================
|
|
9
9
|
|
|
10
10
|
@mixin matcha-stepper-theme($theme) {
|
|
11
|
-
$is-dark: map.get($theme, is-dark);
|
|
12
11
|
|
|
13
12
|
matcha-stepper {
|
|
14
13
|
// ── Step indicators ──
|
|
@@ -16,58 +15,58 @@
|
|
|
16
15
|
// (canon Figma DSV3: bola accent atrás, ícone outlined dentro).
|
|
17
16
|
// matcha-icon NÃO herda `color` do parent — usa `--matcha-icon-color`.
|
|
18
17
|
.step-indicator-completo {
|
|
19
|
-
background: var(--matcha-color-accent
|
|
20
|
-
color: var(--matcha-color-accent-text-on, var(--matcha-color-accent-contrast
|
|
21
|
-
--matcha-icon-color: var(--matcha-color-accent-text-on, var(--matcha-color-accent-contrast
|
|
18
|
+
background: var(--matcha-color-accent);
|
|
19
|
+
color: var(--matcha-color-accent-text-on, var(--matcha-color-accent-contrast));
|
|
20
|
+
--matcha-icon-color: var(--matcha-color-accent-text-on, var(--matcha-color-accent-contrast));
|
|
22
21
|
}
|
|
23
22
|
|
|
24
23
|
.step-indicator-ativo {
|
|
25
|
-
background: var(--matcha-color-fg
|
|
26
|
-
color: var(--matcha-color-bg
|
|
24
|
+
background: var(--matcha-color-fg);
|
|
25
|
+
color: var(--matcha-color-bg);
|
|
27
26
|
}
|
|
28
27
|
|
|
29
28
|
.step-indicator-pendente,
|
|
30
29
|
.step-indicator-disabled {
|
|
31
|
-
background: var(--matcha-color-disabled
|
|
32
|
-
color: var(--matcha-color-bg
|
|
30
|
+
background: var(--matcha-color-disabled);
|
|
31
|
+
color: var(--matcha-color-bg);
|
|
33
32
|
}
|
|
34
33
|
|
|
35
34
|
// ── Labels ──
|
|
36
35
|
.step-label-completo {
|
|
37
|
-
color: var(--matcha-color-accent
|
|
36
|
+
color: var(--matcha-color-accent);
|
|
38
37
|
}
|
|
39
38
|
|
|
40
39
|
.step-label-ativo {
|
|
41
|
-
color: var(--matcha-color-fg
|
|
40
|
+
color: var(--matcha-color-fg);
|
|
42
41
|
}
|
|
43
42
|
|
|
44
43
|
.step-label-pendente,
|
|
45
44
|
.step-label-disabled {
|
|
46
|
-
color: var(--matcha-color-text-placeholder
|
|
45
|
+
color: var(--matcha-color-text-placeholder);
|
|
47
46
|
}
|
|
48
47
|
|
|
49
48
|
// ── Connector lines (track + fill animation) ──
|
|
50
49
|
.step-connector {
|
|
51
|
-
background: var(--matcha-color-disabled
|
|
50
|
+
background: var(--matcha-color-disabled);
|
|
52
51
|
|
|
53
52
|
// Pseudo "fill" que cresce da esquerda → direita quando step completa.
|
|
54
53
|
&::before {
|
|
55
|
-
background: var(--matcha-color-accent
|
|
54
|
+
background: var(--matcha-color-accent);
|
|
56
55
|
}
|
|
57
56
|
}
|
|
58
57
|
|
|
59
58
|
// ── Focus ring polido (offset 4px + halo) ──
|
|
60
59
|
.step-item:focus-visible {
|
|
61
60
|
outline: var(--matcha-state-focus-ring-width, 2px) solid
|
|
62
|
-
var(--matcha-color-accent
|
|
61
|
+
var(--matcha-color-accent);
|
|
63
62
|
outline-offset: var(--matcha-state-focus-ring-offset, 4px);
|
|
64
63
|
border-radius: var(--matcha-radius-md, 8px);
|
|
65
|
-
box-shadow: 0 0 0 4px
|
|
64
|
+
box-shadow: 0 0 0 4px color-mix(in srgb, var(--matcha-color-accent) 16%, transparent);
|
|
66
65
|
}
|
|
67
66
|
|
|
68
67
|
// ── Spinner color (loading state) — herda accent ──
|
|
69
68
|
.step-spinner {
|
|
70
|
-
color: var(--matcha-color-accent
|
|
69
|
+
color: var(--matcha-color-accent);
|
|
71
70
|
}
|
|
72
71
|
}
|
|
73
72
|
}
|
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
// =============================================================================
|
|
25
25
|
|
|
26
26
|
@mixin matcha-table-modern($theme) {
|
|
27
|
-
$is-dark: map.get($theme, is-dark);
|
|
28
27
|
|
|
29
28
|
// ═══════════════════════════════════════════════════════════════════════
|
|
30
29
|
// CSS vars do componente — única fonte de verdade. ZERO literal hardcoded
|
|
@@ -60,9 +59,9 @@
|
|
|
60
59
|
// ── Surface colors ────────────────────────────────────────────────────
|
|
61
60
|
--matcha-table-cell-bg: var(--matcha-color-surface-card);
|
|
62
61
|
--matcha-table-row-bg-selected: var(--matcha-color-accent-alpha-12,
|
|
63
|
-
rgba(
|
|
62
|
+
rgba(var(--matcha-color-accent), 0.12));
|
|
64
63
|
--matcha-table-row-bg-striped: var(--matcha-color-surface-card-alt,
|
|
65
|
-
rgba(
|
|
64
|
+
rgba(var(--matcha-color-fg), 0.02));
|
|
66
65
|
// Hover NÃO usa surface-table-row-hover token (tá próximo demais de surface-card
|
|
67
66
|
// em dark e fica imperceptível). Calibrado pra delta visível mesmo sobre stripe.
|
|
68
67
|
// CSS custom property values são TEXTO LITERAL pro Sass — fn calls Sass
|
|
@@ -70,26 +69,26 @@
|
|
|
70
69
|
// evaluar `getForeground($theme)` ANTES do output. Sem isso, o valor sai
|
|
71
70
|
// literal no bundle (ex: `rgba(getForeground($theme), 0.12)`) e o browser
|
|
72
71
|
// descarta como invalid CSS (= chevron invisível, hover sem cor, etc).
|
|
73
|
-
--matcha-table-row-bg-hover: rgba(
|
|
74
|
-
--matcha-table-row-bg-hover-striped: rgba(
|
|
75
|
-
--matcha-table-header-bg-hover: rgba(
|
|
72
|
+
--matcha-table-row-bg-hover: rgba(var(--matcha-color-fg), 0.12);
|
|
73
|
+
--matcha-table-row-bg-hover-striped: rgba(var(--matcha-color-fg), 0.18);
|
|
74
|
+
--matcha-table-header-bg-hover: rgba(var(--matcha-color-fg), 0.10);
|
|
76
75
|
|
|
77
76
|
// ── Sort indicator colors ─────────────────────────────────────────────
|
|
78
77
|
// Inactive usa alpha 0.45 no foreground — claramente VISÍVEL como "ali tem
|
|
79
78
|
// sort", sem competir com texto do header. Hover/ativo passa pra accent full.
|
|
80
|
-
--matcha-table-sort-icon-color: rgba(
|
|
81
|
-
--matcha-table-sort-icon-color-active: var(--matcha-color-accent
|
|
79
|
+
--matcha-table-sort-icon-color: rgba(var(--matcha-color-fg), 0.45);
|
|
80
|
+
--matcha-table-sort-icon-color-active: var(--matcha-color-accent);
|
|
82
81
|
--matcha-table-sort-icon-size: var(--matcha-space-250, 20px);
|
|
83
82
|
|
|
84
83
|
// ── Empty cell placeholder ────────────────────────────────────────────
|
|
85
84
|
--matcha-table-empty-cell-text: var(--matcha-color-text-muted,
|
|
86
|
-
rgba(
|
|
85
|
+
rgba(var(--matcha-color-fg), 0.5));
|
|
87
86
|
|
|
88
87
|
// ── Variant accent (semantic row) ─────────────────────────────────────
|
|
89
88
|
--matcha-table-variant-accent-width: var(--matcha-space-050, 4px);
|
|
90
89
|
--matcha-table-row-accent-child-opacity: 0.5;
|
|
91
90
|
--matcha-table-selected-accent-width: var(--matcha-border-thin, 2px);
|
|
92
|
-
--matcha-table-selected-accent-color: var(--matcha-color-accent
|
|
91
|
+
--matcha-table-selected-accent-color: var(--matcha-color-accent);
|
|
93
92
|
|
|
94
93
|
// ── Column width hints (utility classes col-*) ────────────────────────
|
|
95
94
|
--matcha-table-col-checkbox-width: var(--matcha-space-600, 48px);
|
|
@@ -103,7 +102,7 @@
|
|
|
103
102
|
--matcha-table-loading-pulse-opacity-min: 0.5;
|
|
104
103
|
--matcha-table-transition-duration: var(--matcha-duration-instant, 80ms);
|
|
105
104
|
--matcha-table-focus-ring-width: var(--matcha-state-focus-ring-width, 2px);
|
|
106
|
-
--matcha-table-focus-ring-color: var(--matcha-color-accent
|
|
105
|
+
--matcha-table-focus-ring-color: var(--matcha-color-accent);
|
|
107
106
|
|
|
108
107
|
// ── Empty state row (matcha-table-empty directive) ────────────────────
|
|
109
108
|
--matcha-table-empty-padding-y: var(--matcha-space-500, 40px);
|
|
@@ -133,7 +132,7 @@
|
|
|
133
132
|
line-height: var(--matcha-table-font-line-height);
|
|
134
133
|
font-weight: var(--matcha-weight-regular, 400);
|
|
135
134
|
color: var(--matcha-color-text-secondary,
|
|
136
|
-
|
|
135
|
+
color-mix(in srgb, var(--matcha-color-fg) 70%, transparent));
|
|
137
136
|
|
|
138
137
|
// ── Header cells (text/primary, border-bottom 2px, height 64) ────────
|
|
139
138
|
thead th {
|
|
@@ -146,7 +145,7 @@
|
|
|
146
145
|
var(--matcha-table-cell-padding-x-left);
|
|
147
146
|
background: var(--matcha-table-cell-bg);
|
|
148
147
|
color: var(--matcha-color-text-primary,
|
|
149
|
-
var(--matcha-color-fg
|
|
148
|
+
var(--matcha-color-fg));
|
|
150
149
|
// Header menor que body — hierarquia "metadado" vs "conteúdo".
|
|
151
150
|
font-size: var(--matcha-table-header-font-size);
|
|
152
151
|
line-height: var(--matcha-table-header-font-line-height);
|
|
@@ -198,7 +197,7 @@
|
|
|
198
197
|
// muted antes via alpha 0.45). Reforça que tá interativo.
|
|
199
198
|
&:hover::after {
|
|
200
199
|
background: var(--matcha-color-text-primary,
|
|
201
|
-
var(--matcha-color-fg
|
|
200
|
+
var(--matcha-color-fg));
|
|
202
201
|
}
|
|
203
202
|
|
|
204
203
|
// Padding-right SEMPRE reserva espaço pro chevron. Antes ajustava
|
|
@@ -250,7 +249,7 @@
|
|
|
250
249
|
var(--matcha-table-cell-padding-x-left);
|
|
251
250
|
background: var(--matcha-table-cell-bg);
|
|
252
251
|
color: var(--matcha-color-text-secondary,
|
|
253
|
-
|
|
252
|
+
color-mix(in srgb, var(--matcha-color-fg) 70%, transparent));
|
|
254
253
|
vertical-align: middle;
|
|
255
254
|
border-bottom: var(--matcha-table-border-row) solid
|
|
256
255
|
var(--matcha-table-border-color);
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
button[matcha-button],
|
|
10
10
|
a[matcha-button] {
|
|
11
11
|
&:not([active-item="true"]) {
|
|
12
|
-
background: var(--matcha-color-surface
|
|
12
|
+
background: var(--matcha-color-surface);
|
|
13
13
|
color: call(#{$colorFn}, $theme);
|
|
14
14
|
box-shadow: 0 0 0 0px inset;
|
|
15
15
|
|
|
@@ -212,7 +212,7 @@ matcha-tabs {
|
|
|
212
212
|
button[matcha-button],
|
|
213
213
|
a[matcha-button] {
|
|
214
214
|
&:focus-visible:not([disabled]):not([disabled="true"]) {
|
|
215
|
-
outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent
|
|
215
|
+
outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent);
|
|
216
216
|
outline-offset: var(--matcha-state-focus-ring-offset, 2px);
|
|
217
217
|
}
|
|
218
218
|
}
|
|
@@ -287,7 +287,6 @@ matcha-tabs {
|
|
|
287
287
|
// =============================================================================
|
|
288
288
|
|
|
289
289
|
@mixin matcha-tabs-modern($theme) {
|
|
290
|
-
$is-dark: map.get($theme, is-dark);
|
|
291
290
|
|
|
292
291
|
// ── Component-level tokens (overridable pelo consumer via CSS vars) ───
|
|
293
292
|
matcha-tabs {
|
|
@@ -344,7 +343,7 @@ matcha-tabs {
|
|
|
344
343
|
left: var(--matcha-tab-indicator-left, 0);
|
|
345
344
|
width: var(--matcha-tab-indicator-width, 0);
|
|
346
345
|
height: var(--matcha-border-thin, 2px);
|
|
347
|
-
background: var(--matcha-color-accent
|
|
346
|
+
background: var(--matcha-color-accent);
|
|
348
347
|
border-radius: 0;
|
|
349
348
|
transition:
|
|
350
349
|
left var(--matcha-duration-fast, 200ms) var(--matcha-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)),
|
|
@@ -362,8 +361,8 @@ matcha-tabs {
|
|
|
362
361
|
border: none;
|
|
363
362
|
// Border bottom 2px — per item (track surface-border, slider sobrepõe accent)
|
|
364
363
|
border-bottom: var(--matcha-border-thin, 2px) solid
|
|
365
|
-
var(--matcha-color-surface-border
|
|
366
|
-
background: var(--matcha-color-surface-card
|
|
364
|
+
var(--matcha-color-surface-border);
|
|
365
|
+
background: var(--matcha-color-surface-card);
|
|
367
366
|
cursor: pointer;
|
|
368
367
|
position: relative;
|
|
369
368
|
overflow: hidden;
|
|
@@ -372,7 +371,7 @@ matcha-tabs {
|
|
|
372
371
|
font-weight: var(--matcha-weight-regular, 400);
|
|
373
372
|
line-height: var(--matcha-leading-body-lg, 24px);
|
|
374
373
|
color: var(--matcha-color-text-secondary,
|
|
375
|
-
|
|
374
|
+
color-mix(in srgb, var(--matcha-color-fg) 70%, transparent));
|
|
376
375
|
white-space: nowrap;
|
|
377
376
|
flex-shrink: 0;
|
|
378
377
|
min-width: var(--matcha-tab-min-width-underline);
|
|
@@ -398,10 +397,10 @@ matcha-tabs {
|
|
|
398
397
|
// — cobre 100% mesmo com subpixel mismatch do indicator) ──
|
|
399
398
|
&.active,
|
|
400
399
|
&[aria-selected="true"] {
|
|
401
|
-
color: var(--matcha-color-accent
|
|
400
|
+
color: var(--matcha-color-accent);
|
|
402
401
|
font-weight: var(--matcha-weight-semibold, 600);
|
|
403
402
|
line-height: var(--matcha-leading-title-sm, 22px);
|
|
404
|
-
border-bottom-color: var(--matcha-color-accent
|
|
403
|
+
border-bottom-color: var(--matcha-color-accent);
|
|
405
404
|
}
|
|
406
405
|
|
|
407
406
|
// ── Disabled ──
|
|
@@ -415,11 +414,11 @@ matcha-tabs {
|
|
|
415
414
|
// ── Focus ring polido (offset 4px + halo 16% alpha) ──
|
|
416
415
|
&:focus-visible {
|
|
417
416
|
outline: var(--matcha-state-focus-ring-width, 2px) solid
|
|
418
|
-
var(--matcha-color-accent
|
|
417
|
+
var(--matcha-color-accent);
|
|
419
418
|
outline-offset: var(--matcha-state-focus-ring-offset, 4px);
|
|
420
419
|
border-radius: var(--matcha-radius-sm, 4px);
|
|
421
420
|
box-shadow: 0 0 0 var(--matcha-tab-focus-halo)
|
|
422
|
-
|
|
421
|
+
color-mix(in srgb, var(--matcha-color-accent) calc(var(--matcha-tab-focus-halo-alpha) * 100%), transparent);
|
|
423
422
|
}
|
|
424
423
|
}
|
|
425
424
|
}
|
|
@@ -469,8 +468,7 @@ matcha-tabs {
|
|
|
469
468
|
// canon: atom interativo / container. Antes era md (4px), o que dava
|
|
470
469
|
// disparidade 1:4 e quebrava a leitura conjunta tabs + cards.
|
|
471
470
|
border-radius: var(--matcha-radius-lg, 8px);
|
|
472
|
-
background: var(--matcha-color-surface-card
|
|
473
|
-
#{getSurface($theme)});
|
|
471
|
+
background: var(--matcha-color-surface-card);
|
|
474
472
|
cursor: pointer;
|
|
475
473
|
position: relative;
|
|
476
474
|
overflow: hidden;
|
|
@@ -479,7 +477,7 @@ matcha-tabs {
|
|
|
479
477
|
font-weight: var(--matcha-weight-regular, 400);
|
|
480
478
|
line-height: var(--matcha-leading-body-md, 20px);
|
|
481
479
|
color: var(--matcha-color-text-secondary,
|
|
482
|
-
|
|
480
|
+
color-mix(in srgb, var(--matcha-color-fg) 70%, transparent));
|
|
483
481
|
flex-shrink: 0;
|
|
484
482
|
min-width: var(--matcha-tab-min-width-card-horizontal);
|
|
485
483
|
transition:
|
|
@@ -507,8 +505,8 @@ matcha-tabs {
|
|
|
507
505
|
// ── Selecionado (Figma: border accent · texto text-primary NÃO accent) ──
|
|
508
506
|
&.active,
|
|
509
507
|
&[aria-selected="true"] {
|
|
510
|
-
border-color: var(--matcha-color-accent
|
|
511
|
-
color: var(--matcha-color-fg
|
|
508
|
+
border-color: var(--matcha-color-accent);
|
|
509
|
+
color: var(--matcha-color-fg);
|
|
512
510
|
font-weight: var(--matcha-weight-medium, 500);
|
|
513
511
|
}
|
|
514
512
|
|
|
@@ -523,10 +521,10 @@ matcha-tabs {
|
|
|
523
521
|
// ── Focus ring polido ──
|
|
524
522
|
&:focus-visible {
|
|
525
523
|
outline: var(--matcha-state-focus-ring-width, 2px) solid
|
|
526
|
-
var(--matcha-color-accent
|
|
524
|
+
var(--matcha-color-accent);
|
|
527
525
|
outline-offset: var(--matcha-border-thin, 2px);
|
|
528
526
|
box-shadow: 0 0 0 var(--matcha-tab-focus-halo)
|
|
529
|
-
|
|
527
|
+
color-mix(in srgb, var(--matcha-color-accent) calc(var(--matcha-tab-focus-halo-alpha) * 100%), transparent);
|
|
530
528
|
}
|
|
531
529
|
}
|
|
532
530
|
}
|
|
@@ -545,9 +543,9 @@ matcha-tabs {
|
|
|
545
543
|
min-width: var(--matcha-space-250, 20px);
|
|
546
544
|
height: var(--matcha-space-250, 20px);
|
|
547
545
|
padding: 0 var(--matcha-space-075, 6px);
|
|
548
|
-
background: var(--matcha-color-accent
|
|
546
|
+
background: var(--matcha-color-accent);
|
|
549
547
|
color: var(--matcha-color-accent-text-on,
|
|
550
|
-
var(--matcha-color-accent-contrast
|
|
548
|
+
var(--matcha-color-accent-contrast));
|
|
551
549
|
border-radius: var(--matcha-radius-pill, 9999px);
|
|
552
550
|
font-size: var(--matcha-text-body-xs, 11px);
|
|
553
551
|
font-weight: var(--matcha-weight-semibold, 600);
|
|
@@ -564,7 +562,7 @@ matcha-tabs {
|
|
|
564
562
|
height: var(--matcha-space-300, 24px);
|
|
565
563
|
border-radius: 50%;
|
|
566
564
|
color: var(--matcha-color-text-secondary,
|
|
567
|
-
|
|
565
|
+
color-mix(in srgb, var(--matcha-color-fg) 70%, transparent));
|
|
568
566
|
transition:
|
|
569
567
|
background-color var(--matcha-duration-instant, 80ms) ease,
|
|
570
568
|
color var(--matcha-duration-instant, 80ms) ease;
|
|
@@ -574,13 +572,13 @@ matcha-tabs {
|
|
|
574
572
|
|
|
575
573
|
&:hover {
|
|
576
574
|
background: var(--matcha-color-surface-hover,
|
|
577
|
-
|
|
578
|
-
color: var(--matcha-color-fg
|
|
575
|
+
color-mix(in srgb, var(--matcha-color-fg) 8%, transparent));
|
|
576
|
+
color: var(--matcha-color-fg);
|
|
579
577
|
}
|
|
580
578
|
|
|
581
579
|
&:focus-visible {
|
|
582
580
|
outline: var(--matcha-state-focus-ring-width, 2px) solid
|
|
583
|
-
var(--matcha-color-accent
|
|
581
|
+
var(--matcha-color-accent);
|
|
584
582
|
outline-offset: var(--matcha-border-thin, 2px);
|
|
585
583
|
}
|
|
586
584
|
|