@inchurch/matcha-theme 22.20.0 → 22.21.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.
|
@@ -101,16 +101,26 @@
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
// ── Autofill (Chrome/Safari) — mata o
|
|
105
|
-
// Browsers
|
|
106
|
-
//
|
|
107
|
-
//
|
|
104
|
+
// ── Autofill (Chrome/Safari) — mata o azul/amarelo nativo e usa os tokens ──
|
|
105
|
+
// Browsers pintam autofill com um background-color INTERNO que ignora
|
|
106
|
+
// `background-color` normal via CSS (prioridade de UA style). O workaround
|
|
107
|
+
// padrão cobre esse fundo com um box-shadow inset opaco do tamanho da caixa —
|
|
108
|
+
// e por isso a cor do box-shadow tem que ser OPACA e igual ao fundo real por
|
|
109
|
+
// trás do input, não `transparent` (bug anterior: transparent não cobre nada,
|
|
110
|
+
// o azul nativo do Chrome continuava visível por baixo -- ilegível no tema
|
|
111
|
+
// escuro, onde o contraste com o texto claro inverte). O input em si é
|
|
112
|
+
// `background-color: transparent` (linha ~33): o que aparece por trás é o
|
|
113
|
+
// matcha-card que envolve o form-field na esmagadora maioria dos usos deste
|
|
114
|
+
// painel -- por isso surface-card, não surface-bg (fundo da PÁGINA, um tom
|
|
115
|
+
// mais escuro/mais claro que o card e que deixaria um contorno visível).
|
|
116
|
+
// `transition: ... 5000s` é o "truque dos 5000 segundos" — impede o browser de
|
|
117
|
+
// reaplicar o bg nativo antes do box-shadow cobrir.
|
|
108
118
|
input:-webkit-autofill,
|
|
109
119
|
input:-webkit-autofill:hover,
|
|
110
120
|
input:-webkit-autofill:focus,
|
|
111
121
|
input:-webkit-autofill:active,
|
|
112
122
|
textarea:-webkit-autofill {
|
|
113
|
-
-webkit-box-shadow: 0 0 0 1000px
|
|
123
|
+
-webkit-box-shadow: 0 0 0 1000px var(--matcha-color-surface-card) inset !important;
|
|
114
124
|
-webkit-text-fill-color: var(--matcha-color-text-primary) !important;
|
|
115
125
|
caret-color: var(--matcha-color-primary) !important;
|
|
116
126
|
transition: background-color 5000s ease-in-out 0s, color 5000s ease-in-out 0s;
|
|
@@ -308,10 +308,17 @@ matcha-tabs {
|
|
|
308
308
|
background: transparent;
|
|
309
309
|
position: relative;
|
|
310
310
|
|
|
311
|
-
//
|
|
312
|
-
|
|
311
|
+
// ── Scroll horizontal é o DEFAULT do underline (desktop e mobile) ─────
|
|
312
|
+
// A linha de tabs nunca deve vazar do container: quando não cabe, rola.
|
|
313
|
+
// O input `scrollable` continua existindo (compat) mas virou no-op — o
|
|
314
|
+
// comportamento que ele ligava agora é o padrão.
|
|
315
|
+
// Exceção: com [responsiveGrid] ativo o nav vira grid multi-linha abaixo de
|
|
316
|
+
// 1024px e precisa de overflow visível pra crescer em altura — quem manda
|
|
317
|
+
// no overflow nesse caso é a regra de `.tabs-nav-responsive-grid`
|
|
318
|
+
// (matcha-components/.../tabs/tabs.component.scss).
|
|
319
|
+
&:not(.tabs-nav-responsive-grid) {
|
|
313
320
|
overflow-x: auto;
|
|
314
|
-
|
|
321
|
+
overflow-y: hidden;
|
|
315
322
|
-webkit-overflow-scrolling: touch;
|
|
316
323
|
}
|
|
317
324
|
|
|
@@ -381,6 +388,11 @@ matcha-tabs {
|
|
|
381
388
|
font-weight: var(--matcha-weight-semibold, 600);
|
|
382
389
|
line-height: var(--matcha-leading-title-sm, 22px);
|
|
383
390
|
border-bottom-color: var(--matcha-color-accent);
|
|
391
|
+
// Ícone acompanha o label no Underline. matcha-icon não herda
|
|
392
|
+
// currentColor por design — resolve `--matcha-icon-color`, então o
|
|
393
|
+
// override é via CSS var (pattern documentado em matcha-icon.scss).
|
|
394
|
+
// Card NÃO faz isso: lá o selected é text-primary, não accent.
|
|
395
|
+
--matcha-icon-color: var(--matcha-color-accent);
|
|
384
396
|
}
|
|
385
397
|
|
|
386
398
|
// ── Disabled ──
|
|
@@ -404,7 +416,8 @@ matcha-tabs {
|
|
|
404
416
|
}
|
|
405
417
|
|
|
406
418
|
// ── Card Tab (canon Figma) ────────────────────────────────────────────
|
|
407
|
-
// Card 2px border accent quando selected · texto
|
|
419
|
+
// Card 2px border accent quando selected · texto e ícone accent também
|
|
420
|
+
// (decisão de Design 2026-08-04 — antes era text-primary).
|
|
408
421
|
// Suporta horizontal (default) e vertical (icon stacked).
|
|
409
422
|
.matcha-tab-card {
|
|
410
423
|
display: flex;
|
|
@@ -482,12 +495,18 @@ matcha-tabs {
|
|
|
482
495
|
}
|
|
483
496
|
&:active:not(:disabled)::before { opacity: var(--matcha-tab-state-opacity-active); }
|
|
484
497
|
|
|
485
|
-
// ── Selecionado (
|
|
498
|
+
// ── Selecionado (border + texto + ícone accent) ──
|
|
499
|
+
// Decisão de Design 2026-08-04: o selected do Card passa a ser accent no
|
|
500
|
+
// texto e no ícone também, não só na border — antes o texto era
|
|
501
|
+
// text-primary (canon Figma antigo). Figma `matcha/tabs` pendente de
|
|
502
|
+
// atualização; até lá o código é a fonte da verdade deste estado.
|
|
486
503
|
&.active,
|
|
487
504
|
&[aria-selected="true"] {
|
|
488
505
|
border-color: var(--matcha-color-accent);
|
|
489
|
-
color: var(--matcha-color-
|
|
506
|
+
color: var(--matcha-color-accent);
|
|
490
507
|
font-weight: var(--matcha-weight-medium, 500);
|
|
508
|
+
// matcha-icon não herda currentColor — override via CSS var.
|
|
509
|
+
--matcha-icon-color: var(--matcha-color-accent);
|
|
491
510
|
}
|
|
492
511
|
|
|
493
512
|
// ── Disabled ──
|
|
@@ -515,6 +534,31 @@ matcha-tabs {
|
|
|
515
534
|
.matcha-tab-item matcha-icon { flex-shrink: 0; }
|
|
516
535
|
}
|
|
517
536
|
|
|
537
|
+
// ── Scrollbar do tablist que rola ─────────────────────────────────────
|
|
538
|
+
// Fonte única da APARÊNCIA do scroll horizontal — vale pro `scrollable` e
|
|
539
|
+
// pro grid responsivo no desktop, que só declaram o overflow. A barra
|
|
540
|
+
// nativa do OS (grossa, com setas) competia visualmente com as tabs.
|
|
541
|
+
// Propriedades são inertes quando não há overflow, então podem ficar nos
|
|
542
|
+
// dois tipos sem condicional.
|
|
543
|
+
.matcha-tab-underline,
|
|
544
|
+
.matcha-tab-card {
|
|
545
|
+
scrollbar-width: thin;
|
|
546
|
+
scrollbar-color: var(--matcha-color-surface-border) transparent;
|
|
547
|
+
|
|
548
|
+
&::-webkit-scrollbar {
|
|
549
|
+
height: var(--matcha-space-050, 4px);
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
&::-webkit-scrollbar-track {
|
|
553
|
+
background: transparent;
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
&::-webkit-scrollbar-thumb {
|
|
557
|
+
background: var(--matcha-color-surface-border);
|
|
558
|
+
border-radius: var(--matcha-radius-pill, 9999px);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
|
|
518
562
|
// ── Badge (notificações, contagens) ───────────────────────────────────
|
|
519
563
|
.matcha-tab-item__badge {
|
|
520
564
|
display: inline-flex;
|
|
@@ -578,13 +622,9 @@ matcha-tabs {
|
|
|
578
622
|
}
|
|
579
623
|
}
|
|
580
624
|
|
|
581
|
-
//
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
overflow-x: auto;
|
|
585
|
-
scrollbar-width: thin;
|
|
586
|
-
}
|
|
587
|
-
}
|
|
625
|
+
// (Antes havia aqui um bloco @media (max-width: 639px) ligando overflow-x no
|
|
626
|
+
// underline "não scrollable" — redundante desde que o scroll virou o default do
|
|
627
|
+
// tipo em qualquer viewport.)
|
|
588
628
|
|
|
589
629
|
// ── Reduced motion (WCAG 2.2.2) ─────────────────────────────────────────
|
|
590
630
|
@media (prefers-reduced-motion: reduce) {
|