Money input + monedă
Câmp pentru sumă mare cu selector de monedă atașat. Folosit pe facturare și ecrane cu input central de sumă (one-field-per-screen). Inter 700 · 48px · tabular-nums, autoscale dacă valoarea nu încape, zecimale doar când sunt tastate, dropdown inline cu drapele (NU modal).
Markup canonic · components/money-input.json
sursa = JSON · generat de scripts/build-catalog.py
0
Când folosești
- Ecran dedicat facturare — suma e câmpul central, restul (client, dată) e secundar.
- Quick add / scadență / sumă target — orice flow unde valoarea în lei e decizia primară.
- NU pe formulare cu 5+ câmpuri — acolo suma nu mai e decizia principală. Folosește
.input-groupla mărime normală, cu moneda ca addoninline-end: text fix sau buton cu.popover.align-end.
Default · gol
.amount-field · placeholder „0" · cur-select static
0
Activ · focus cu caret
.amount-value.is-active — caret 2px neutru, animație blink (NU brand)
4.250
Completat · cu zecimale
.amount-dec — span pentru zecimale, font-size 0.44em, color mist
4.250,50
Selector deschis · dropdown inline
.cur-select.open — meniul E .popover cu rânduri .popover-item; radio DS nativ, fără fundal de „selectat"
4.250
Disabled · read-only (ex. pe stornare)
.amount-value culoare mist + .cur-select-trigger.is-disabled (bej-1 bg, chev hidden)
18.500
Eroare · pe sumă
.amount-field.is-error — value + dec devin var(--c-error); .field-help.error pentru mesaj
120.000
Eroare · pe selector monedă
.cur-select-trigger.error — border + bg eroare; valoarea rămâne neutră
4.250
Reguli
- Inter 700 · 48px · tabular-nums — non-negociabil. Hero size pentru valoare.
- Zecimale doar dacă sunt tastate (sau preluate). Niciodată „
0,00" în placeholder — placeholder e doar „0" gri mist. - Caret neutru (ink 2px), NU pink — accent pe sumă vine din mărime, nu din culoare.
- Selector lângă valoare, NU sub. Poziția selector-ului nu se schimbă între monede.
- Dropdown inline, NU modal. Click în afară / Escape închide.
- Autoscale pentru valori lungi — fontul scade de la 48 la min 20px. Implementare în JS consumer.
- Eroare pe sumă →
.amount-field.is-error(value devine error red). Eroare pe monedă →.cur-select-trigger.error(trigger devine error, valoarea rămâne neutră).