Gå til innholdet

Badge

Et lite merke som viser hvilken tilstand noe er i. Fargen styres med data-color.

import "@fristil/designsystem/tokens.css"
import "@fristil/designsystem/badge.css"
data-colorBrukes til
(utelatt)Nøytral informasjon, pågående tilstand
successFullført, godkjent, aktiv
warningKrever oppmerksomhet, men er ikke en feil
dangerAvslått, utløpt, kritisk
neutralInaktiv, arkivert, ukjent

Merket står som regel sammen med det det sier noe om. Her i en List med skille mellom radene:

Skal merket stå til høyre i raden, er det appens oppsett som avgjør det, med display: flex og justify-content: space-betweenli-elementet.

import { fs, type BadgeColor } from "@fristil/designsystem"
const merke = document.createElement("span")
merke.textContent = "Innvilget"
fs.setAttributes(merke, fs.badge({ color: "success" }))

Kommer fargen fra et API, valider den først:

const farge: BadgeColor = fs.badge.isColor(svar.status) ? svar.status : "info"
fs.setAttributes(merke, fs.badge({ color: farge }))

fs.setAttributes rydder også bort attributter fra forrige kall, så merket kan skifte farge uten at den gamle blir stående. Se Typesikker bruk.

KlasseHva det er
.fs-badgeSelve merket. Fargen kommer fra data-color.
VariabelStandard
--fs-badge-paddingvar(--size-0-5) var(--size-2)
--fs-badge-radiusvar(--size-4)

Se Tilpasning for hvordan variablene og laget virker.

  • Fargen alene sier ingenting til en skjermleser. Teksten må bære betydningen: «Avslått», ikke bare et rødt punkt.
  • <span> inni en tekstlinje, <div> når merket står alene.
  • Endrer merket seg mens siden står stille, legg role="status" og aria-live="polite" på elementet rundt.