This page is not available in English.
Bruk av designtokens
Designtokens er faste verdier på størrelser, avstander, farger som er tilpasset gjenbruk, og en del av designsystemets grunnmur. Vi anbefaler å bruke disse i så stor grad som mulig for å sikre likt utseende og oppførsel.
Lenkeliste over ulike designtokens:
Designtokens i Figma
Designtokens kommer som en del av Figma-komponentene og vil kunne brukes dersom du benytter standardkomponentene. Det samme gjelder font-stiler og eventuelle avstandsblokker.
Bruke designtokens i CSS
// Eksempel på bruk av palette css custom properties
.myClass {
background-color
: var(--palette-burgundy
-100
);
}
Bruke brekkpunkter i CSS
Slik bruker du brekkpunktene i CSS:
@import
'@skatteetaten/ds-core-designtokens/designtokens/breakpoints.scss'
;
.myClass {
background-color
:
red
;
}
// Stiler som vil gjelde på nettbrett og oppover
@media (
min-width
: $breakpoint-s){
.myClass {
background-color
: yellow;
}
}
// Stiler som vil gjelde på smale desktops og oppover
@media (
min-width
: $breakpoint-m){
.myClass {
background-color
:
lime
;
}
}
Teknisk innhold i designtokens-pakken
Pakken med designtokens består av:
- _reset.css: Brukes for å minimere inkonsistenser fra nettlesere og sørge for at DS-komponenter oppfører seg likt
- designtokens: Vi tilbyr palette, spacing, font-size weight og line-height og icon-size som designtokens.
Designtokens leveres i form av CSS-custom-properties. De importeres bare én gang i applikasjonen og lever deretter i rotnoden i DOM'en. De kan dermed aksesseres overalt i felles-scope og skal ikke importeres fra [css|scss] filer - _default.css: Det settes opp i :root og :host en default font-family size og weight, color og background-color.
- themes: Vi leverer SKE som default, INK og LSO
Innholdet i pakken kommer i form .css og .json-filer. Man kan velge å importere alle ressursene ved å legge en css import statement til index, eller ved å importere de ulike css ressursene hver for seg.
Import settes i applikasjons entry.[ts|js], eller hoved index.[tsx|jsx]/App.[tsx|jsx].
//Eksempel på import av alle ressursene. Man får reset stylesheet, alle designtokens, og SKE theme som default.
import
'@skatteetaten/ds-core-designtokens/index.css'
;
// Her kan man velge å importere en annen theme dersom man ønsker å overskrive default
//Eksempel på import av enkelte ressurs
import
'@skatteetaten/ds-core-designtokens/_reset.css'
;
import
'@skatteetaten/ds-core-designtokens/designtokens/palette.css'
;
import
'@skatteetaten/ds-core-designtokens/theme/INK.css'
;
Har man behov for å bruke designtokens i js ifbm f.eks node scripts, kan man require .json filer.
//Eksempel på import av spacing token i json.
const
spacingJson = require(
'@skatteetaten/ds-core-designtokens/designtokens/spacing.json'
);
export
const
SpacingTokenExamplesGenerator = (): JSX.Element => {
const
spacingsTokens = spacingJson[
':root,\n:host'
];
return
(
<>
{Object.keys(spacingsTokens).map((value: string, index: number) => {
return
(
<p>{`${value} (${spacingsTokens[value]})`}</p>
);
})}
</>
);
};