@aurea-uds/core 0.9.0 → 0.10.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/dist/aurea.css +42 -6
- package/package.json +1 -1
package/dist/aurea.css
CHANGED
|
@@ -512,6 +512,11 @@ img,svg { display:block; }
|
|
|
512
512
|
`--space-4` dos dois lados; reservar só o token fazia 264px virarem 232px. A rente não tem
|
|
513
513
|
margem, então a trilha dela continua sendo o token cru. */
|
|
514
514
|
.app-shell:has(> .sidebar-flush) { --sidebar-track:var(--sidebar-width); }
|
|
515
|
+
/* Sem linhas declaradas, o grid repartia a sobra do `min-height:100vh` entre as linhas `auto`:
|
|
516
|
+
em tela estreita (a lateral vira gaveta) e página curta, a BARRA DO TOPO esticava. Medido no
|
|
517
|
+
desenho da B-10 (24/09/2026): 78px viraram 100px com `contentVariant="plain"`. A sobra vai
|
|
518
|
+
para a linha do conteúdo. Só com topo: sem ele, a primeira linha já é o conteúdo. */
|
|
519
|
+
.app-shell:has(> .topbar) { grid-template-rows:auto 1fr; }
|
|
515
520
|
/* A base do topo carrega só o ARRANJO; cada variante traz a própria superfície.
|
|
516
521
|
floating = caixa solta (a que já estava) · flush = faixa encostada nas bordas com fio
|
|
517
522
|
embaixo, para o topo virar moldura da janela · pill = cápsula centrada, de cabeçalho
|
|
@@ -523,6 +528,8 @@ img,svg { display:block; }
|
|
|
523
528
|
e sem superfície própria: ela se funde ao fundo e cola no conteúdo, que começa logo
|
|
524
529
|
abaixo. É o topo do nosso catálogo. */
|
|
525
530
|
.topbar-flush { top:0; padding:var(--space-2) var(--space-5); background:var(--background); }
|
|
531
|
+
/* divider (B-07): a linha que separa a barra grudada do conteúdo que passa por baixo. */
|
|
532
|
+
.topbar-divider { border-block-end:var(--border-width) solid var(--border); }
|
|
526
533
|
.topbar-pill { top:var(--space-4); width:max-content; max-width:calc(100% - var(--space-8)); margin:var(--space-4) auto 0; justify-content:flex-start; gap:var(--space-2); padding:var(--space-2); border:1px solid var(--border); border-radius:var(--radius-control); background:var(--card); color:var(--card-foreground); }
|
|
527
534
|
/* .brand nasceu como cabeçalho VERTICAL da lateral (borda embaixo + respiro); no topo
|
|
528
535
|
ele deita, então some com a borda e a margem — o lockup em si continua o mesmo. */
|
|
@@ -578,6 +585,9 @@ img,svg { display:block; }
|
|
|
578
585
|
.app-shell-flush .sidebar:not(.sidebar-flush) { --shell-top:calc(var(--topbar-height) + var(--space-05)); margin-block-start:var(--space-05); }
|
|
579
586
|
.app-shell-flush .content { margin-block-start:var(--space-05); }
|
|
580
587
|
.content { min-width:0; margin:var(--space-4) var(--space-4) var(--space-4) 0; padding:var(--space-6); border:1px solid var(--border); border-radius:var(--radius-card); background:var(--card); color:var(--card-foreground); }
|
|
588
|
+
/* contentVariant="plain" (B-10): a área de conteúdo sem caixa. Os `Card` da tela passam a ser as
|
|
589
|
+
únicas superfícies. A margem continua: é ela que afasta o conteúdo da lateral e da barra. */
|
|
590
|
+
.content-plain { padding:0; border:0; border-radius:0; background:none; color:inherit; }
|
|
581
591
|
/* O topo é presentational — não conhece o conteúdo — então garante o mínimo universal:
|
|
582
592
|
os filhos encolhem em vez de forçar rolagem lateral. O COLAPSO de conteúdo (esconder a
|
|
583
593
|
busca, trocar a nav por menu) é do consumidor, com os utilitários responsivos abaixo. */
|
|
@@ -663,7 +673,16 @@ img,svg { display:block; }
|
|
|
663
673
|
uso no core — token publicado que ninguém usa é promessa sem entrega, e era o par certo o
|
|
664
674
|
tempo todo. O defeito não é da marca: a marca só o tornou visível. */
|
|
665
675
|
@media (hover:hover) and (pointer:fine) { .sidebar-item:hover { background:var(--sidebar-accent); } }
|
|
666
|
-
|
|
676
|
+
/* A-05 (24/09/2026), decisão do Victor: o item atual da lateral passa a usar a MARCA DA CASA para
|
|
677
|
+
"selecionado" — fundo, texto na cor da marca e o fio de 2px embaixo —, que o `Toggle`, o
|
|
678
|
+
`SegmentedControl`, o `Button variant="nav"` e a navegação do catálogo (`.doc-nav`) já usavam.
|
|
679
|
+
Era o único de fora: pílula cinza com texto branco, e um app copiou a regra da casa à mão.
|
|
680
|
+
As cores saem da escala DA LATERAL (`--sidebar-accent`, `--sidebar-primary`), exatamente como o
|
|
681
|
+
`.doc-nav a.active` — não da página. Foi a lição de 20/08/2026 sob a marca `lory`: com
|
|
682
|
+
`--secondary`/`--primary` da página, a lateral escura desenhava as cores invertidas.
|
|
683
|
+
O FIO não mora aqui: a lateral entrou na lista da regra da casa (`.is-selected::after`, mais
|
|
684
|
+
abaixo), com o do `.doc-nav`. Copiar a regra faria duas cópias do mesmo fio divergirem. */
|
|
685
|
+
.sidebar-item[aria-current] { position:relative; background:var(--sidebar-accent); color:var(--sidebar-primary); font-weight:var(--weight-medium); }
|
|
667
686
|
.sidebar-item[aria-current] .icon { opacity:1; }
|
|
668
687
|
/* Alinha com o TEXTO do item: padding do painel (4) + padding do item (12) = 16px. Com o
|
|
669
688
|
painel apertado, os 8px de antes deixavam a rubrica fora do prumo da lista. */
|
|
@@ -682,6 +701,8 @@ img,svg { display:block; }
|
|
|
682
701
|
que, com o raio de linha, fechava nas pontas e lia como CÁPSULA. Quadrado é o que a referência
|
|
683
702
|
desenha, e é o que o olho reconhece como botão de ícone. */
|
|
684
703
|
.sidebar-collapsed .sidebar-item { justify-content:center; width:var(--control-h-md); padding-inline:0; margin-inline:auto; }
|
|
704
|
+
/* recolhida, o item tem só a largura do ícone: com os 15px de cada lado o fio sumiria. */
|
|
705
|
+
.sidebar-collapsed .sidebar-item[aria-current]::after { inset-inline:var(--space-2); }
|
|
685
706
|
.sidebar-collapsed .sidebar-sub { padding-inline-start:0; }
|
|
686
707
|
/* Estas regras tocam `.app-shell` porque a coluna do grid é do shell: a
|
|
687
708
|
lateral não consegue encolher a própria trilha. `--sidebar-rail` continua sendo a largura
|
|
@@ -851,9 +872,12 @@ img,svg { display:block; }
|
|
|
851
872
|
/* ── A LINHA DE LISTA TOCÁVEL (§4.3 do CONSUMIDOR-1) ──────────────────────────
|
|
852
873
|
A LISTA NÃO PINTA SUPERFÍCIE. Quem dá o card é o `Card`, e repintar aqui seria um segundo
|
|
853
874
|
lugar para a mesma coisa — a `DIRECTION.md` §3.9 diz que composto REUSA o menor.
|
|
854
|
-
E SEM DIVISOR entre as linhas, que é decisão e não esquecimento:
|
|
855
|
-
|
|
856
|
-
|
|
875
|
+
E SEM DIVISOR entre as linhas, que é decisão e não esquecimento: um traço ENTRE linhas promete
|
|
876
|
+
grade, e quem agrupa é a superfície de fora.
|
|
877
|
+
⚠ Até 24/09/2026 este comentário dizia também que "o realce desta casa é a PÍLULA, e pílula com
|
|
878
|
+
traço embaixo se contradizem". Era falso: cinco seletores da casa faziam pílula com fio, e desde
|
|
879
|
+
a A-05 a lateral também. O fio embaixo do item ATUAL não é divisor — é a marca de "selecionado",
|
|
880
|
+
uma por lista, e não promete grade nenhuma. */
|
|
857
881
|
.nav-list { display:flex; flex-direction:column; gap:var(--space-05); margin:0; padding:0; list-style:none; }
|
|
858
882
|
/* ── O RAIO DA LINHA SAI DE UMA CONTA, NÃO DE UM NÚMERO ─────────────────────────────
|
|
859
883
|
`raio do filho = raio do pai − padding do pai`. É o que faz o vão ser CONSTANTE na curva; sem
|
|
@@ -1317,6 +1341,8 @@ img,svg { display:block; }
|
|
|
1317
1341
|
Formulário é ARRANJO, e arranjo é do Stack/Grid; se esta classe crescer, ela vira uma terceira
|
|
1318
1342
|
maneira de fazer layout e passa a brigar com as duas que já existem. */
|
|
1319
1343
|
.form { display:grid; gap:var(--space-5); }
|
|
1344
|
+
/* description (B-12): a frase de ajuda embaixo do controle, com a letra e a cor do `.hint`. */
|
|
1345
|
+
.field-description { color:var(--muted-foreground); font-size:var(--text-xs); }
|
|
1320
1346
|
.field-error { color:var(--danger-400); font-size:var(--text-xs); }
|
|
1321
1347
|
.checkbox,.radio { display:inline-flex; align-items:flex-start; gap:9px; color:var(--foreground); cursor:pointer; }
|
|
1322
1348
|
.checkbox input,.radio input { position:absolute; opacity:0; pointer-events:none; }
|
|
@@ -1415,9 +1441,9 @@ img,svg { display:block; }
|
|
|
1415
1441
|
[data-theme="light"] .doc-nav a:not(.active) { color:color-mix(in oklab, var(--sidebar-foreground) 72%, transparent); }
|
|
1416
1442
|
.is-selected::after,.btn-nav[aria-current]:not([aria-current="false"])::after,
|
|
1417
1443
|
.btn[aria-pressed="true"]:not(.btn-icon)::after,.segmented button.active::after,
|
|
1418
|
-
.doc-nav a.active::after { content:""; position:absolute; inset-inline:15px; bottom:0; height:2px; border-radius:var(--radius-full); background:color-mix(in oklab, var(--primary) 75%, transparent); }
|
|
1444
|
+
.doc-nav a.active::after,.sidebar-item[aria-current]::after { content:""; position:absolute; inset-inline:15px; bottom:0; height:2px; border-radius:var(--radius-full); background:color-mix(in oklab, var(--primary) 75%, transparent); }
|
|
1419
1445
|
/* e o fio do ativo da lateral segue a marca DELA, pelo mesmo motivo da regra de cor acima. */
|
|
1420
|
-
.doc-nav a.active::after { background:color-mix(in oklab, var(--sidebar-primary) 75%, transparent); }
|
|
1446
|
+
.doc-nav a.active::after,.sidebar-item[aria-current]::after { background:color-mix(in oklab, var(--sidebar-primary) 75%, transparent); }
|
|
1421
1447
|
[data-theme="light"] .is-selected,[data-theme="light"] .btn-nav[aria-current]:not([aria-current="false"]),
|
|
1422
1448
|
[data-theme="light"] .btn[aria-pressed="true"],[data-theme="light"] .segmented button.active
|
|
1423
1449
|
{ --btn-fg:color-mix(in oklab, var(--primary) 45%, var(--foreground)); color:color-mix(in oklab, var(--primary) 45%, var(--foreground)); }
|
|
@@ -1535,6 +1561,16 @@ img,svg { display:block; }
|
|
|
1535
1561
|
.card { min-width:0; padding:var(--card-pad); border:1px solid var(--border); border-radius:var(--radius-card); background:var(--card); color:var(--card-foreground); box-shadow:none; }
|
|
1536
1562
|
/* padding="none" (C-05): sem respiro, e a mídia recortada no raio 22 do próprio cartão. */
|
|
1537
1563
|
.card-flush { padding:0; overflow:hidden; }
|
|
1564
|
+
/* Card.Media e orientation (A-14). Vertical: a mídia primeira sangra até a borda de cima e dos
|
|
1565
|
+
lados. Horizontal (o modo lista): a mídia à esquerda, 96 de largura (o `size-24` do exemplo do
|
|
1566
|
+
HeroUI, nosso --space-24), 16 até o texto, e o raio concêntrico da casa. */
|
|
1567
|
+
.card-media { display:block; overflow:hidden; }
|
|
1568
|
+
.card-media > :is(img,video,.image) { display:block; width:100%; }
|
|
1569
|
+
.card:not(.card-horizontal) > .card-media:first-child { margin:calc(var(--card-pad) * -1) calc(var(--card-pad) * -1) var(--card-pad); border-radius:calc(var(--radius-card) - var(--border-width)) calc(var(--radius-card) - var(--border-width)) 0 0; }
|
|
1570
|
+
.card-flush:not(.card-horizontal) > .card-media:first-child { margin:0; }
|
|
1571
|
+
.card-horizontal { display:grid; grid-template-columns:var(--space-24) minmax(0,1fr); align-items:start; column-gap:var(--space-4); }
|
|
1572
|
+
.card-horizontal > .card-media { grid-row:1 / span 99; border-radius:calc(var(--radius-card) - var(--card-pad)); }
|
|
1573
|
+
.card-horizontal > :not(.card-media) { grid-column:2; min-width:0; }
|
|
1538
1574
|
.card-raised { box-shadow:none; } .card-inset { background:var(--secondary); }
|
|
1539
1575
|
/* A variante interativa é o ALVO, e desde o G-A11Y-11 ela exige `render` — o elemento vem de
|
|
1540
1576
|
quem consome, e é `<button>` ou `<a href>` conforme a promessa seja ação ou navegação.
|