@aurea-uds/core 0.40.1 → 0.42.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 +62 -8
- package/package.json +1 -1
package/dist/aurea.css
CHANGED
|
@@ -1177,6 +1177,32 @@ img,svg { display:block; }
|
|
|
1177
1177
|
/* recolhida, o item tem só a largura do ícone: com os 15px de cada lado o fio sumiria. */
|
|
1178
1178
|
.sidebar-collapsed .sidebar-item[aria-current]::after { inset-inline:var(--space-2); }
|
|
1179
1179
|
.sidebar-collapsed .sidebar-sub { padding-inline-start:0; }
|
|
1180
|
+
/* O TOPO E O PÉ FIXOS (4-C, 23/10/2026) — o desenho das quinze laterais aprovadas pelo Victor em 21/10/2026 (item 107).
|
|
1181
|
+
Com `header` ou `footer`, a caixa não rola mais: só o meio (`.sidebar-body`) rola, e o topo e o pé ficam presos. Sem
|
|
1182
|
+
linha entre as partes (ADR-0072): o vão separa. Sem eles, nada muda — o HTML é o de sempre. */
|
|
1183
|
+
.sidebar-with-parts { overflow:hidden; }
|
|
1184
|
+
/* Na de canto, o topo e o pé ganham 12 da borda da janela, como nas quinze (a flutuante já tem a margem dela). */
|
|
1185
|
+
.sidebar-flush.sidebar-with-parts { padding-block:var(--space-3); }
|
|
1186
|
+
.sidebar-header, .sidebar-footer { flex:none; display:grid; gap:var(--space-2); }
|
|
1187
|
+
.sidebar-header { padding-block-end:var(--space-2); }
|
|
1188
|
+
.sidebar-body { flex:1 1 auto; min-height:0; overflow-y:auto; display:flex; flex-direction:column; gap:var(--space-1); }
|
|
1189
|
+
.sidebar-footer { gap:var(--space-3); padding-block-start:var(--space-3); }
|
|
1190
|
+
/* A marca do app: o quadrinho na cor primária, com a letra na fonte de título, o nome e o subtítulo. */
|
|
1191
|
+
.sidebar-brand { display:flex; align-items:center; gap:var(--space-3); min-width:0; padding:var(--space-2) var(--space-3); }
|
|
1192
|
+
.sidebar-brand-logo { display:grid; place-items:center; flex:none; inline-size:var(--control-h-md); block-size:var(--control-h-md); overflow:hidden; border-radius:var(--radius-lg); background:var(--primary); color:var(--primary-foreground); font-family:var(--font-heading); font-weight:var(--weight-bold); }
|
|
1193
|
+
/* `plain` (da 8 à 10 das quinze): o desenho solto, sem o quadrinho, e o nome na fonte e no tamanho de título. */
|
|
1194
|
+
.sidebar-brand-plain { gap:var(--space-2); }
|
|
1195
|
+
.sidebar-brand-plain .sidebar-brand-logo { inline-size:auto; block-size:auto; overflow:visible; border-radius:0; background:transparent; color:inherit; }
|
|
1196
|
+
.sidebar-brand-plain .sidebar-brand-name { font-family:var(--font-heading); font-size:var(--text-lg); font-weight:var(--weight-bold); }
|
|
1197
|
+
.sidebar-brand-text, .sidebar-user-text { display:grid; flex:1; min-width:0; line-height:var(--leading-tight); }
|
|
1198
|
+
.sidebar-brand-name, .sidebar-user-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--sidebar-foreground); font-size:var(--text-sm); }
|
|
1199
|
+
.sidebar-brand-description, .sidebar-user-description { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted-foreground); font-size:var(--text-xs); }
|
|
1200
|
+
/* A pessoa: numa caixinha do texto a 6% (`--fill-1`), com o canto do item da lateral. */
|
|
1201
|
+
.sidebar-user { display:flex; align-items:center; gap:var(--space-3); padding:var(--space-3) var(--space-3) var(--space-1); border-radius:calc(var(--radius-card) - var(--space-1)); background:var(--fill-1); }
|
|
1202
|
+
/* Recolhida: a marca vira só o quadrinho, e a pessoa, a foto e a ação empilhadas, sem a caixinha. Os nomes vão para o
|
|
1203
|
+
leitor de tela (o React troca a classe por `.sr-only`, como o rótulo do item). */
|
|
1204
|
+
.sidebar-collapsed .sidebar-brand { justify-content:center; padding-inline:0; }
|
|
1205
|
+
.sidebar-collapsed .sidebar-user { flex-direction:column; padding-inline:0; background:transparent; }
|
|
1180
1206
|
/* Estas regras tocam `.app-shell` porque a coluna do grid é do shell: a
|
|
1181
1207
|
lateral não consegue encolher a própria trilha. `--sidebar-rail` continua sendo a largura
|
|
1182
1208
|
do PAINEL; a flutuante soma as margens na trilha, a rente usa o token cru.
|
|
@@ -1214,6 +1240,33 @@ img,svg { display:block; }
|
|
|
1214
1240
|
@media (max-width:1023px) {
|
|
1215
1241
|
.sidebar-toggle-slot { display:none; }
|
|
1216
1242
|
.app-shell-collapsible > .sidebar, .app-shell-collapsible > .content { grid-column:auto; grid-row:auto; } }
|
|
1243
|
+
/* A LATERAL ATÉ O TOPO (MNT-34, `AppShell layout="sidebar"`, 23/10/2026) — o pedido do app de rede (*"sidebar de canto e
|
|
1244
|
+
que vá até o topo"*) e o PV-04 de um segundo app, na bancada aprovada pelo Victor (*"mantenha o atual e faça também os
|
|
1245
|
+
outros 4"*). A marca mora no topo da lateral (o `header` da `Sidebar`, 4-C); a barra de cima só existe se o app passar
|
|
1246
|
+
`topbar`, e fica só em cima do conteúdo (a coluna 2), como no sistema que serviu de modelo. Uma linha só na grade. */
|
|
1247
|
+
.app-shell-lateral { grid-template-rows:none; }
|
|
1248
|
+
.app-shell-lateral > .app-shell-column { grid-column:2; grid-row:1; min-width:0; display:flex; flex-direction:column; }
|
|
1249
|
+
.app-shell-lateral > .app-shell-column > .content { flex:1; }
|
|
1250
|
+
.app-shell-lateral.app-shell-collapsible > .sidebar { grid-row:1; }
|
|
1251
|
+
/* A lateral começa no topo da janela: a flutuante com a margem dela, a de canto encostada. Só na tela larga — abaixo de
|
|
1252
|
+
1024 ela é gaveta, com a altura e a margem da gaveta. */
|
|
1253
|
+
@media (min-width:1024px) {
|
|
1254
|
+
.app-shell-lateral > .sidebar { top:var(--space-4); height:calc(100vh - var(--space-4) * 2); max-height:none; }
|
|
1255
|
+
.app-shell-lateral > .sidebar-flush { top:0; height:100vh; }
|
|
1256
|
+
}
|
|
1257
|
+
/* O respiro: a de canto não tem margem, e o conteúdo encostava nela (o MNT-34 mediu no app). */
|
|
1258
|
+
.app-shell-lateral:has(> .sidebar-flush) > .app-shell-column > .content { margin-inline-start:var(--space-4); }
|
|
1259
|
+
/* O botão de recolher é o das quinze laterais aprovadas (`AppShell.SidebarToggle`): o botão de ícone sem fundo, a 12 do
|
|
1260
|
+
título — na barra do conteúdo, o primeiro dela. A bolinha da junção (ADR-0056) fica só no arranjo de sempre. Abaixo de
|
|
1261
|
+
1024 ele some: a lateral é gaveta, e quem abre é o botão da gaveta. */
|
|
1262
|
+
.app-shell-lateral > .app-shell-column > .topbar { gap:var(--space-3); justify-content:flex-start; }
|
|
1263
|
+
@media (max-width:1023px) { .btn.sidebar-collapse-trigger { display:none; } }
|
|
1264
|
+
/* Sem barra, abaixo de 1024, uma faixa com o botão da gaveta e a marca (a altura da barra pequena, 56). */
|
|
1265
|
+
.app-shell-narrow-bar { display:none; }
|
|
1266
|
+
@media (max-width:1023px) {
|
|
1267
|
+
.app-shell-lateral > .app-shell-column { grid-column:1; }
|
|
1268
|
+
.app-shell-narrow-bar { display:flex; align-items:center; gap:var(--space-3); min-height:calc(var(--space-12) + var(--space-2)); padding-inline:var(--space-4); }
|
|
1269
|
+
}
|
|
1217
1270
|
|
|
1218
1271
|
/* ── Navegação inferior — o vocabulário de APLICATIVO ───────────────────────────────
|
|
1219
1272
|
Lacuna estrutural medida no `CONSUMIDOR-1.md` §4.1: `.topbar` e `.sidebar` são
|
|
@@ -4629,17 +4682,18 @@ button.graph-node-body { cursor:pointer; }
|
|
|
4629
4682
|
A cor sai da escala da LATERAL, não da página: é o texto dela, esmaecido.
|
|
4630
4683
|
O desenho de antes — a barra sempre à vista, na cor de borda forte — não saiu: é a variante
|
|
4631
4684
|
`scrollbar="visible"` (`.sidebar-scrollbar-visible`), para quem precisa da barra o tempo todo. */
|
|
4632
|
-
.sidebar { scrollbar-color:transparent transparent; }
|
|
4633
|
-
.sidebar::-webkit-scrollbar-thumb { background:transparent; }
|
|
4634
|
-
|
|
4635
|
-
.sidebar:is(:hover,:focus-within)
|
|
4685
|
+
.sidebar, .sidebar-body { scrollbar-color:transparent transparent; }
|
|
4686
|
+
.sidebar::-webkit-scrollbar-thumb, .sidebar-body::-webkit-scrollbar-thumb { background:transparent; }
|
|
4687
|
+
/* 4-C: com o topo e o pé fixos, quem rola é o meio (`.sidebar-body`) — a mesma barra, acesa pela lateral inteira. */
|
|
4688
|
+
.sidebar:is(:hover,:focus-within), .sidebar:is(:hover,:focus-within) > .sidebar-body { scrollbar-color:color-mix(in oklab, var(--sidebar-foreground) 45%, transparent) transparent; }
|
|
4689
|
+
.sidebar:is(:hover,:focus-within)::-webkit-scrollbar-thumb, .sidebar:is(:hover,:focus-within) > .sidebar-body::-webkit-scrollbar-thumb { background:color-mix(in oklab, var(--sidebar-foreground) 45%, transparent); }
|
|
4636
4690
|
@media (hover: none) {
|
|
4637
|
-
.sidebar { scrollbar-color:color-mix(in oklab, var(--sidebar-foreground) 45%, transparent) transparent; }
|
|
4638
|
-
.sidebar::-webkit-scrollbar-thumb { background:color-mix(in oklab, var(--sidebar-foreground) 45%, transparent); }
|
|
4691
|
+
.sidebar, .sidebar-body { scrollbar-color:color-mix(in oklab, var(--sidebar-foreground) 45%, transparent) transparent; }
|
|
4692
|
+
.sidebar::-webkit-scrollbar-thumb, .sidebar-body::-webkit-scrollbar-thumb { background:color-mix(in oklab, var(--sidebar-foreground) 45%, transparent); }
|
|
4639
4693
|
}
|
|
4640
4694
|
/* Duas classes, depois das de cima: ganha do "em cima" e do "sem ponteiro" com a mesma força, pela ordem. */
|
|
4641
|
-
.sidebar.sidebar-scrollbar-visible { scrollbar-color:var(--border-strong) transparent; }
|
|
4642
|
-
.sidebar.sidebar-scrollbar-visible::-webkit-scrollbar-thumb { background:var(--border-strong); }
|
|
4695
|
+
.sidebar.sidebar-scrollbar-visible, .sidebar.sidebar-scrollbar-visible > .sidebar-body { scrollbar-color:var(--border-strong) transparent; }
|
|
4696
|
+
.sidebar.sidebar-scrollbar-visible::-webkit-scrollbar-thumb, .sidebar.sidebar-scrollbar-visible > .sidebar-body::-webkit-scrollbar-thumb { background:var(--border-strong); }
|
|
4643
4697
|
|
|
4644
4698
|
/* ========================================================================== */
|
|
4645
4699
|
/* 99. EIXO RESPONSIVO — a infraestrutura do G-AXIS-04 */
|