Designsystem
Mattilsynets designsystem bygger oppå designsystemet.no, men utvider med egenart, visuelle identitet og interne behov. Designsystemet fungerer som et felles språk mellom team og fagfelt, slik at vi lettere kan skape gode og gjenkjennbare brukeropplevelser som er tilgjengelig for alle.
💚 Bidra og delta:
- Spørsmål, tanker eller ideer? Skriv gjerne til oss på Slack eller Github 🙌
- Hva er siste nytt? Se versjonslogg på Github og oppgaver vi jobber med
Kom i gang for utviklere
Designsystemet tilbyr først og fremst en rekke CSS klassenavn som hjelper deg bygge responsive, fleksible og tilgjengelige grensesnitt. I tillegg får du tilgang til logoer, ikoner, illustasjoner og en rekke tokens/CSS custom properties for enkel bygging av egne komponenter i Mattilsynet-drakt. Slik bruker du pakken:
Installer
@mattilsynet/design
fra Mattilsynets NPM organsiasjon:bashnpm install @mattilsynet/design --save
bashpnpm add @mattilsynet/design
bashyarn add @mattilsynet/design
bashbun add @mattilsynet/design
Importer JavaScript støttefunksjonalitet (popover, field, etc.):
jsimport "@mattilsynet/design";
html<!-- Only use if you have no build step: --> <script src="node_modules/@mattilsynet/design/mtds/index.iife.js"></script>
Importer stiler enten via JavaScript, CSS eller med TailwindCSS:
jsimport "@mattilsynet/design/styles.css";
css@import url("@mattilsynet/design/styles.css");
css/** * Fix Tailwind Preflight specificity by using @layer: * See https://css-tricks.com/?p=372576 */ @layer tailwind-base, ds, mt; @import url('@mattilsynet/design/styles.css'); @layer tailwind-base { @tailwind base; } @tailwind components; @tailwind utilities;
Merk:
background
,color
ogfont
blir satt på<body>
🤓body { background: …; color: …; font: … }
ogb, strong, th { font-weight: 600 }
blir automatisk definert, slik at vi ivaretar universell utforming og får samme font og farge på tvers. Dette er super lett å overstyre ved behov: din CSS vil alltid ha første prioritert - takket være teknikken CSS @layer 💚Ta i bruk klassenavn ved å importere
styles
objektet:jsximport { styles } from "@mattilsynet/design"; <button class={styles.button}></button>
jsximport styles from "@mattilsynet/design/styles.json"; <button class={styles.button}></button>
Hvorfor ikke bare skrive
class="button"
?Det skal være trygt å importere designsystemet i eksisterende prosjekt, eller bruke flere versjoner samtidig. Ved å bruke CSS-moduler får vi hashede klassenavn, som hindrer konflikt og gjør at du slipper å tenke på versjonering 🥳
Ta i bruk illustrasjoner og ikoner - egen dokumentasjon kommer
Kom i gang for designere
Kommer