From 0aa282d349418d603e8e58cd97a4c264d46eecc0 Mon Sep 17 00:00:00 2001
From: Roy Halvor Frimanslund <5771598+Camulos@users.noreply.github.com>
Date: Mon, 1 Jun 2026 11:06:03 +0200
Subject: [PATCH 01/11] Added page about coloring svg
---
.../fundamentals/no/theme/colorsvg.mdx | 134 ++++++++++++++++++
1 file changed, 134 insertions(+)
create mode 100644 apps/www/app/content/fundamentals/no/theme/colorsvg.mdx
diff --git a/apps/www/app/content/fundamentals/no/theme/colorsvg.mdx b/apps/www/app/content/fundamentals/no/theme/colorsvg.mdx
new file mode 100644
index 0000000000..ca80bc7017
--- /dev/null
+++ b/apps/www/app/content/fundamentals/no/theme/colorsvg.mdx
@@ -0,0 +1,134 @@
+---
+title: Bruk tokens for å fargelegge illustrasjoner
+sidebar_title: Illustrasjoner
+description: Med Designsystemet kan du fargelegge illustrasjoner.
+date: 2026-06-01
+category: Tema
+color: red
+icon: PencilLineIcon
+published: true
+order: 200
+search_terms: svg, fargelegge, symbol
+---
+
+Hvis illustrasjonen skal se helt lik ut uansett lys eller mørk modus, og ha de fargene som er satt i illustrasjonsverktøyet, trenger du ikke følge guiden under.
+
+Hvis du derimot ønsker å styre farger og skalering via kode (for eksempel med design tokens), bør illustrasjoner legges til som SVG og struktureres på en bestemt måte.
+
+## Grunnleggende oppsett
+
+For at en SVG-en skal kunne enklest mulig, gjenbrukes og styles, bør du gjøre dette i fila:
+
+- pakke inn grafikken i ``
+- gi symbol en id
+- gi symbol viewbox verdier
+
+```SVG
+
+```
+
+Fila brukes deretter slik i html:
+```HTML
+
+```
+
+## I praktisk bruk
+
+Hva du må tilpasse videre avhenger av hva du ønsker å oppnå.
+
+### Ensfarget illustrasjon, typisk for enkelte logoer og ikoner
+
+For en énsfarget illustrasjon kan du styre fargene enten ved å peke på gjeldende tekstfarge eller fargelegge via en klasse eller id.
+
+Vil du bruke gjeldende tekstfarge som standard på alle svg-illustrasjoner kan du bruke currentColor som stil. Fjern alle farger fra grafikken i svg-fila og legg til stilregelen for currentColor, da arver illustrasjonen gjeldende tekstfarge. Det kan hende du må gjøre det samme for stroke.
+```CSS
+svg {
+ fill:currentColor;
+}
+```
+Om du ikke vil sette en standard regel for alle illustrasjoner, kan du heller sette currentColor på fill og/eller stroke path inne i selve svg-fila. I designsystemet blir denne metoden brukt på ikoner, for eksempel i knappene.
+```SVG
+
+```
+
+Ønsker du mer kontroll kan du styre fargen med klasse eller id, fjern alle farger fra grafikken og sett inn for ekesmpel en klasse på det omsluttende svg-elementet:
+```HTML
+
+```
+Med tilhørende token:
+```CSS
+.iconcolor {
+ color: var(--ds-color-text-default);
+}
+```
+
+### Flerfarget illustrasjon, typisk merkevarebærende symboler og små illustrasjoner
+
+For illustrasjoner med flere farger kan du styre fargene direkte i fill og stroke på hver path i grafikken inni svg-fila.
+```SVG
+
+```
+Med tilhørende tokens, i eksempelet har illustrasjonen fått gråskala i mørk modus:
+```CSS
+:root {
+ --ds-color-logopart1:#1E98F5;
+ --ds-color-logopart2:#68707C;
+ --ds-color-logopart3:#E5AA20;
+ --ds-color-logopart4:#F45F63;
+ @media ( prefers-color-scheme: dark) {
+ --ds-color-logopart1:#A3A3A3;
+ --ds-color-logopart2:#68707C;
+ --ds-color-logopart3:#C2C2C2;
+ --ds-color-logopart4:#8A8A8A;
+ }
+}
+```
+Du kan selvsagt fargelegge ved å peke direkte til fargene i designsystemet, eller om du har laget tokens for illustrasjoner så bruker du dem.
+
+## Husk på tilgjengelighet
+
+For å sikre at illustrasjonen er tilgjengelig for alle må du legge til et par detaljer i det omsluttende svg-elementet.
+
+### Illustrasjonen er kun dekorativ
+
+Skjul illustrasjonen for skjermleser med å sette rolle til presentasjon og at den skal være skjult.
+```HTML
+
+```
+
+### Illustrasjonen er meningsbærende
+
+Gi illustrasjonen rollen for bilde og en beskrivende tekst
+```HTML
+
+```
+For mer komplekse illustrasjoner kan du bruke mer detaljerte beskrivelser og det finnes også måter å sette inn slike detaljerte beskrivelser på selve grafikken, det går vi ikke inn på her.
\ No newline at end of file
From 837017f81e5b1680b981b851470ed35e0bf4daea Mon Sep 17 00:00:00 2001
From: Roy Halvor Frimanslund <5771598+Camulos@users.noreply.github.com>
Date: Mon, 1 Jun 2026 11:17:02 +0200
Subject: [PATCH 02/11] Started english version
---
.../fundamentals/en/theme/colorsvg.mdx | 36 +++++++++++++++++++
1 file changed, 36 insertions(+)
create mode 100644 apps/www/app/content/fundamentals/en/theme/colorsvg.mdx
diff --git a/apps/www/app/content/fundamentals/en/theme/colorsvg.mdx b/apps/www/app/content/fundamentals/en/theme/colorsvg.mdx
new file mode 100644
index 0000000000..acfc8dbef6
--- /dev/null
+++ b/apps/www/app/content/fundamentals/en/theme/colorsvg.mdx
@@ -0,0 +1,36 @@
+
+---
+title: Use tokens to colour illustrations
+sidebar_title: Illustrations
+description: With Designsystemet, you can colour illustrations using tokens.
+date: 2026-06-01
+category: Theme
+color: red
+icon: PencilLineIcon
+published: true
+order: 200
+search_terms: svg, colouring, symbol
+---
+
+If the illustration should look exactly the same regardless of light or dark mode, and use the colours defined in the illustration tool, you do not need to follow the guidance below.
+
+However, if you want to control colours and scaling via code (for example using design tokens), illustrations should be added as SVGs and structured in a specific way.
+
+## Basic setup
+
+To make an SVG easy to reuse and style, you should prepare the file as follows:
+
+- wrap the graphics in ``
+- give the symbol an id
+- define a viewBox on the symbol
+
+```SVG
+
+```
From 51889a097f69261f7b9d6de2c680f63fdb133274 Mon Sep 17 00:00:00 2001
From: Roy Halvor Frimanslund <5771598+Camulos@users.noreply.github.com>
Date: Mon, 1 Jun 2026 11:28:59 +0200
Subject: [PATCH 03/11] Started adding stories
---
.../content/fundamentals/no/theme/colorsvg.mdx | 2 ++
.../fundamentals/no/theme/colorsvg.stories.tsx | 15 +++++++++++++++
2 files changed, 17 insertions(+)
create mode 100644 apps/www/app/content/fundamentals/no/theme/colorsvg.stories.tsx
diff --git a/apps/www/app/content/fundamentals/no/theme/colorsvg.mdx b/apps/www/app/content/fundamentals/no/theme/colorsvg.mdx
index ca80bc7017..5596e9c4df 100644
--- a/apps/www/app/content/fundamentals/no/theme/colorsvg.mdx
+++ b/apps/www/app/content/fundamentals/no/theme/colorsvg.mdx
@@ -66,6 +66,8 @@ Om du ikke vil sette en standard regel for alle illustrasjoner, kan du heller se
```
+Test story
+
Ønsker du mer kontroll kan du styre fargen med klasse eller id, fjern alle farger fra grafikken og sett inn for ekesmpel en klasse på det omsluttende svg-elementet:
```HTML
diff --git a/apps/www/app/content/fundamentals/no/theme/colorsvg.stories.tsx b/apps/www/app/content/fundamentals/no/theme/colorsvg.stories.tsx
new file mode 100644
index 0000000000..7180610ec1
--- /dev/null
+++ b/apps/www/app/content/fundamentals/no/theme/colorsvg.stories.tsx
@@ -0,0 +1,15 @@
+import {
+ Textfield,
+} from '@digdir/designsystemet-react';
+import { useState } from 'react';
+
+export const WithCurrentColor = () => {
+ return (
+
+ );
+};
\ No newline at end of file
From 2ee0958e59170111187a46da84b3ea4160d7b7d1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marianne=20R=C3=B8svik?=
Date: Mon, 1 Jun 2026 11:54:47 +0200
Subject: [PATCH 04/11] fix story
---
.../fundamentals/no/theme/colorsvg.stories.tsx | 15 +++------------
apps/www/app/routes/fundamentals/page.tsx | 6 ++++++
2 files changed, 9 insertions(+), 12 deletions(-)
diff --git a/apps/www/app/content/fundamentals/no/theme/colorsvg.stories.tsx b/apps/www/app/content/fundamentals/no/theme/colorsvg.stories.tsx
index 7180610ec1..f68b1c5fa1 100644
--- a/apps/www/app/content/fundamentals/no/theme/colorsvg.stories.tsx
+++ b/apps/www/app/content/fundamentals/no/theme/colorsvg.stories.tsx
@@ -1,15 +1,6 @@
-import {
- Textfield,
-} from '@digdir/designsystemet-react';
+import { Textfield } from '@digdir/designsystemet-react';
import { useState } from 'react';
export const WithCurrentColor = () => {
- return (
-
- );
-};
\ No newline at end of file
+ return ;
+};
diff --git a/apps/www/app/routes/fundamentals/page.tsx b/apps/www/app/routes/fundamentals/page.tsx
index 0a1abe7f15..c4b49d36e6 100644
--- a/apps/www/app/routes/fundamentals/page.tsx
+++ b/apps/www/app/routes/fundamentals/page.tsx
@@ -13,6 +13,7 @@ import { formatDate } from '~/_utils/date';
import { getFileFromContentDir } from '~/_utils/files.server';
import { generateFromMdx } from '~/_utils/generate-from-mdx';
import { generateMetadata } from '~/_utils/metadata';
+import { getStories } from '../../_utils/get-stories.server';
import type { Route } from './+types/page';
import classes from './page.module.css';
@@ -31,6 +32,10 @@ export async function loader({ params }: Route.LoaderArgs) {
});
}
+ const stories = await getStories({
+ path: join('fundamentals', params.lang, `${file}.stories.tsx`),
+ });
+
// Bundle the MDX content
const result = await generateFromMdx(fileContent);
@@ -39,6 +44,7 @@ export async function loader({ params }: Route.LoaderArgs) {
frontmatter: result.frontmatter,
lang: params.lang,
toc: result.toc,
+ stories,
};
}
From 7c249cb359d101c3946265847293776550db900a Mon Sep 17 00:00:00 2001
From: Roy Halvor Frimanslund <5771598+Camulos@users.noreply.github.com>
Date: Mon, 1 Jun 2026 12:59:18 +0200
Subject: [PATCH 05/11] Added placeholders for stories
---
.../fundamentals/no/theme/colorsvg.mdx | 28 +++++++++++++++++--
.../no/theme/colorsvg.stories.tsx | 14 +++++++++-
2 files changed, 38 insertions(+), 4 deletions(-)
diff --git a/apps/www/app/content/fundamentals/no/theme/colorsvg.mdx b/apps/www/app/content/fundamentals/no/theme/colorsvg.mdx
index 5596e9c4df..d08a8968d7 100644
--- a/apps/www/app/content/fundamentals/no/theme/colorsvg.mdx
+++ b/apps/www/app/content/fundamentals/no/theme/colorsvg.mdx
@@ -13,7 +13,7 @@ search_terms: svg, fargelegge, symbol
Hvis illustrasjonen skal se helt lik ut uansett lys eller mørk modus, og ha de fargene som er satt i illustrasjonsverktøyet, trenger du ikke følge guiden under.
-Hvis du derimot ønsker å styre farger og skalering via kode (for eksempel med design tokens), bør illustrasjoner legges til som SVG og struktureres på en bestemt måte.
+Hvis du derimot ønsker å styre farger og skalering via kode (for eksempel med design tokens), bør illustrasjoner legges til som SVG via `
```
-Test story
+Test story for currentColor
Ønsker du mer kontroll kan du styre fargen med klasse eller id, fjern alle farger fra grafikken og sett inn for ekesmpel en klasse på det omsluttende svg-elementet:
@@ -82,6 +82,9 @@ Med tilhørende token:
}
```
+Test story for icon color token
+
+
### Flerfarget illustrasjon, typisk merkevarebærende symboler og små illustrasjoner
For illustrasjoner med flere farger kan du styre fargene direkte i fill og stroke på hver path i grafikken inni svg-fila.
@@ -112,6 +115,9 @@ Med tilhørende tokens, i eksempelet har illustrasjonen fått gråskala i mørk
```
Du kan selvsagt fargelegge ved å peke direkte til fargene i designsystemet, eller om du har laget tokens for illustrasjoner så bruker du dem.
+Test story for flerfarget illustrasjon
+
+
## Husk på tilgjengelighet
For å sikre at illustrasjonen er tilgjengelig for alle må du legge til et par detaljer i det omsluttende svg-elementet.
@@ -133,4 +139,20 @@ Gi illustrasjonen rollen for bilde og en beskrivende tekst
```
-For mer komplekse illustrasjoner kan du bruke mer detaljerte beskrivelser og det finnes også måter å sette inn slike detaljerte beskrivelser på selve grafikken, det går vi ikke inn på her.
\ No newline at end of file
+For mer komplekse illustrasjoner kan du bruke mer detaljerte beskrivelser og det finnes også måter å sette inn slike detaljerte beskrivelser på selve grafikken, det går vi ikke inn på her.
+
+## Illustrasjon inline
+
+Bruken av `