Skip to content

Farger

Fargesystemet bygger på semantiske fargeskalaer som sikrer konsistent bruk og tilstrekkelig kontrast.

DsColorScheme

DsColorScheme inneholder ni semantiske fargeskalaer:

SkalaBruksområde
accentPrimærhandlinger og fremhevinger
neutralNøytralt innhold, bakgrunner og skillelinjer
brand1Første merkevarefargen
brand2Andre merkevarefargen
brand3Tredje merkevarefargen
successBekreftelser og suksessmeldinger
dangerFeil og destruktive handlinger
warningAdvarsler
infoInformasjonsmeldinger

DsColorScale

Hver fargeskala består av 16 tokens fordelt i fem grupper.

Bakgrunn (2 tokens)

TokenBrukKontrast
backgroundDefaultStandard sidebakgrunn--
backgroundTintedTonet bakgrunn for seksjoner--

Overflate (4 tokens)

TokenBrukKontrast
surfaceDefaultKort, boks, standard overflate--
surfaceTintedTonet overflate--
surfaceHoverHover-tilstand på overflate--
surfaceActiveAktiv-tilstand på overflate--

Kantlinje (3 tokens)

TokenBrukKontrast
borderSubtleSubtile skillelinjer--
borderDefaultStandard kantlinjer>=3:1 mot bakgrunn
borderStrongTydelige kantlinjer, fokusindikatorer>=3:1 mot bakgrunn

Tekst (2 tokens)

TokenBrukKontrast
textSubtleSekundær tekst, hjelpetekst>=4.5:1 mot bakgrunn
textDefaultBrødtekst og overskrifter>=4.5:1 mot bakgrunn

Base (5 tokens)

TokenBrukKontrast
baseDefaultFylte knapper, aktive elementer--
baseHoverHover-tilstand på base--
baseActiveAktiv-tilstand på base--
baseContrastSubtleSubtil tekst på base>=3:1 mot base
baseContrastDefaultTekst og ikoner på base>=4.5:1 mot base

DsColorScope

DsColorScope lar deg overstyre fargeskalaen for et undertreav widgeter:

dart
DsColorScope(
  color: DsColor.danger,
  child: DsButton(
    variant: DsButtonVariant.primary,
    onPressed: () => slett(),
    child: Text('Slett'),
  ),
)

Alle komponenter inne i DsColorScope bruker den angitte fargeskalaen i stedet for standard.

DsColor

DsColor-enumen representerer de tilgjengelige fargeskalaene:

dart
DsColor.accent
DsColor.neutral
DsColor.brand1
DsColor.brand2
DsColor.brand3
DsColor.success
DsColor.danger
DsColor.warning
DsColor.info
DsColor.custom('minFarge')  // Egendefinert fargeskala fra tema

Bruke fargetokens direkte

dart
Widget build(BuildContext context) {
  final farger = DsTheme.of(context).colorScheme;
  final accent = farger.accent;

  return Container(
    color: accent.surfaceDefault,
    child: Text(
      'Eksempel',
      style: TextStyle(color: accent.textDefault),
    ),
  );
}

Kontrastgarantier

Fargesystemet garanterer følgende kontrastnivå i både lyst og mørkt modus:

  • Tekst mot bakgrunn: textDefault og textSubtle har minst 4.5:1 kontrast
  • Kantlinjer mot bakgrunn: borderDefault har minst 3:1 kontrast
  • Tekst på base: baseContrastDefault har minst 4.5:1 kontrast mot baseDefault