Design

Komponenter

Delte komponenter fra components/ui/. Speiler koden 1:1 — finner du en variant her som ikke finnes i components/ui, er dokumentasjonen feil, ikke koden.

Handlinger

Skjema

Datavisning

Avatar

ny

Rund identitetsflate — bilde eller initial-fallback. AvatarGroup stabler flere med overlapp og en «+N».

Badge

Liten pille (radius full) for ETT kort tilstandsord — prioritet, status eller en nøytral kategori.

DescriptionList

Delt «etikett over verdi»-rutenett for et sett med korte faktafelter på en flate.

Field

Metadata inne i en eksisterende flate: en liten tertiær etikett over en verdi, kort-løs.

IconTile

Avrundet flate med tonet bakgrunn og farget ikon — bakgrunn og ikonfarge settes SAMMEN av tonen, aldri hver for seg.

Kbd

ny

Visuell representasjon av én tastetast — mono, kant, min-bredde 20px.

ListRow

Den ene flate listeraden — brukes i en flat, delelinje-delt beholder, aldri ett kort per element.

LoadBar

Vannrett søyle som viser MENGDE i forhold til de andre radene i et sett.

Markdown

Liten, avhengighetsfri markdown-renderer for dokumentflater — bygger React-elementer direkte, ingen dangerouslySetInnerHTML.

StatCard

Felles KPI-kort — samme materiale som Card (bg surface, kant via box-shadow, radius-md), med tall/etikett/ikon-oppsett.

StatusDot

ny

Liten fargeprikk (8px) for en tilstand inline i tekst eller en rad — «på nett», «synkronisert», «venter».

StepCard

«Ikonfirkant/nummerskive + heading-14 + copy-13» for ett steg i en kort forklarende sekvens — kortet BÆRER sin egen kant, ingen ytre Card trengs.

Table

Data-drevet grid for kolonner av tall som sammenlignes NEDOVER — månedsoversikt, historikk, en flerårsprognose.

Text & Heading

Én kilde til all tekststil — bruker .type-*-klassene i globals.css i stedet for løse Tailwind-typografiklasser.

Tilbakemelding

Begrep

ny

Et fagord med forklaringen der ordet står — prikket understrek, forklaring på hover/fokus (tooltip) og trykk (panel), samme tekst begge veier.

Callout

Visuelt skille for «dette hører til her, men er ikke selve steget/raden» — et strukturelt skille eller en tips-/varselboks, med valgfri label, ikon og én CTA.

Confetti

Feiring av at noe FULLFØRES — et konfettiteppe fra toppen, i Frivios egne tokenfarger. Ingen ekstern avhengighet.

EmptyState

Felles tomtilstand: stiplet kort med nøytral ikonsirkel, tittel, kort forklaring og valgfri handling.

FeatureIntro

«Psst, ny ting»-kort for en ny brukervendt evne — plasseres INLINE ved siden av funksjonen, vises én gang per nettleser.

InlineNote

Farget venstrekant + ikon + fritekst, for en kommentar knyttet til ETT tall/resultat over.

Loading

Delt lastetilstand i tre varianter — inline, blokk og panel — bygget på den delte Spinner-komponenten.

Progress

Vannrett linje som viser ANDEL av én helhet fullført (0–100) — fylt flate (default aksent) på et gray-alpha-200-spor.

SaveIndicator

Inline kvittering ved siden av et felt som lagrer på blur/endring, uten en egen Lagre-knapp.

Skeleton

ny

Plassholder for innhold under lasting — gray-alpha-200 med skimmer, radius-sm, `aria-hidden`.

Spinner

Liten, roterende venteindikator — standard 20×20px, text-secondary.

StepIndicator

Viser FREMDRIFT gjennom et fast antall steg — ikke et navigasjonselement, prikkene/pillene er ikke klikkbare.

Toast

«Angre etter», ikke bare «bekreft før» — invertert kort, `useToast().vis({ tekst, tone?, handling?, varighet?, preserve?, vedLukking? })` inne i en `ToastProvider`.

Tooltip

ny

Kort, invertert hjelpetekst ved hover/fokus på ETT element — bg text-primary, tekst bg, label-13.

Navigasjon

Layout

Overlegg