Button
Markup canonic · components/button.json
Variante
Disabled
disabled · opacity 0.4 · cursor not-allowedMărimi
Două mărimi principale: md (40h / fs 14) default în dashboard, lg (44h / fs 16) pentru acțiuni principale (modal submit, hero CTA, formulare 1–3 câmpuri). Btn mici (sm 30h / xs 26h) sunt pill — la dimensiuni reduse, pill citește mai clar.
Reguli
40h · fs 14 · weight 600 · padding-x 24 · radius 20. Folosit în dashboard, table actions, topbar, navigation — contexte dense.
44h · fs 16 · weight 600 · padding-x 32 · radius 24. Folosit pe modal submit, hero CTA, formulare 1–3 câmpuri — contexte unde butonul e the acțiunea.
30h · fs 13 · padding-x 18 · radius pill. Filtrele din tabele, acțiuni inline, badge-uri acționabile.
26h · fs 12 · padding-x 14 · radius pill. În ticker AI, chip-uri acționabile, controls minimale.
--sh-pink apare doar la hover pe .btn.primary. Zero shadow în starea default.
Focus states
Vizibile doar la navigare cu tastatura (:focus-visible). Color: --c-fog pe suprafețe deschise, #fff pe dark.
Ștergere & acțiuni distructive
Distructivul e negru și mereu cu iconiță. Butonul negru e rezervat exclusiv acestor acțiuni — nu e o variantă neutră. .btn.danger = ștergere principală (fill negru); .btn.danger.outline = acțiune distructivă cu impact mai mic (border ink). Anulările și acțiunile reversibile rămân ghost / outline / secondary, niciodată negre. Roșul (--c-error) e rezervat mesageriei de eroare, nu butoanelor.