Färger
Sundsvalls designsystem bygger på en bred färgpalett av primitiver (rena kulörskalor i 10 steg, 50–900) och semantiska teman som mappar primitiverna mot meningsbärande färger för olika kontexter. Värden på den här sidan läses live från src/data/tokens.json – som i sin tur genereras från @sk-web-gui/theme. Inget är hårdkodat.
Primitiver
Section titled “Primitiver”Detta är basskalorna. Använd dem för att bygga semantik, inte direkt i komponentkod. Token-namn: var(--color-primitives-<kulör>-<steg>).
Gray
#fafafa #f0f0f0 #e5e5e5 #b7b7ba #a2a2a7 #68686d #51515c #444450 #2f2f3c #1f1f25 Blue
#f0f5f9 #e1ecf4 #cfe0ec #b5cfe3 #73acd6 #4293d1 #1472b8 #005595 #004c85 #004070 Green
#f1f9f5 #e1efe9 #c9e4d7 #aad4bf #65b88f #16a25e #12874e #00733b #00592d #004222 Purple
#f6f1f9 #efe8f3 #e4d8e9 #d6c4de #ba90ce #8c42ae #722796 #5b1f78 #4d1a65 #2e103d Pink
#faeff8 #f6e4f2 #f1d5ea #e9bee0 #df83cd #d558ae #bf1d8c #a90074 #8a005e #6b004a Orange
#fff5eb #ffe7d1 #ffd3a8 #ffc68f #ffa34d #ff840f #db6900 #b94e18 #8c3b12 #5c2100 Red
#ffebeb #fee2e2 #fcd4d4 #fbc1c1 #f78282 #f44e4e #d62e2e #b92424 #971a1a #6d0303 Varumärkesteman
Section titled “Varumärkesteman”Sundsvall har fyra varumärkesteman uppkallade efter platser i kommunen. Varje tema har samma struktur: background.100/200/300, surface.primary.default/hover, surface.accent.default/hover, text.default/primary/secondary. Komponenterna i @sk-web-gui/react tar dessa som color-prop, t.ex. <Button color="vattjom">.
Vattjom
Primärt blått varumärkestema (baserat på primitives.blue). Används för standardprimärknappar, länkar och fokusringar.
#f0f5f9 #e1ecf4 #b5cfe3 #005595 #004070 #cfe0ec #e1ecf4 #004c85 #004c85 #e1ecf4
Använd token-namn, inte hex: var(--color-light-vattjom-surface-primary-default) osv.
Grönsta
Grönt tema (baserat på primitives.green). För framgångsindikationer, miljö- och hållbarhetsbudskap.
#f1f9f5 #c9e4d7 #aad4bf #00733b #00592d #c9e4d7 #e1efe9 #00592d #00592d #e1efe9
Använd token-namn, inte hex: var(--color-light-gronsta-surface-primary-default) osv.
Juniskär
Magenta/rosa tema (baserat på primitives.pink). För framträdande, expressiva ytor – använd sparsamt.
#faeff8 #f6e4f2 #e9bee0 #a90074 #8a005e #f1d5ea #f6e4f2 #8a005e #8a005e #f6e4f2
Använd token-namn, inte hex: var(--color-light-juniskar-surface-primary-default) osv.
Björnstigen
Lila tema (baserat på primitives.purple). För att differentiera sekundära flöden från huvudbudskapet.
#f6f1f9 #efe8f3 #d6c4de #5b1f78 #4d1a65 #e4d8e9 #efe8f3 #4d1a65 #4d1a65 #efe8f3
Använd token-namn, inte hex: var(--color-light-bjornstigen-surface-primary-default) osv.
Status
Section titled “Status”Funktionella färger för meddelanden. Samma struktur som varumärkesteman.
Success
Bekräftelse, klart, godkänd.
#f1f9f5 #e1efe9 #aad4bf #12874e #00733b #c9e4d7 #e1efe9 #00592d #00592d #e1efe9 #00592d
Använd token-namn, inte hex: var(--color-light-success-surface-primary-default) osv.
Warning
Varning som inte blockerar – något behöver uppmärksammas.
#fff5eb #ffe7d1 #ffc68f #db6900 #b94e18 #ffd3a8 #ffe7d1 #8c3b12 #8c3b12 #ffffff #8c3b12
Använd token-namn, inte hex: var(--color-light-warning-surface-primary-default) osv.
Error
Fel, blockerande validering.
#ffebeb #fee2e2 #fbc1c1 #d62e2e #b92424 #fbc1c1 #fcd4d4 #971a1a #971a1a #ffffff #971a1a
Använd token-namn, inte hex: var(--color-light-error-surface-primary-default) osv.
Info
Neutralt informativt budskap.
#f0f5f9 #e1ecf4 #b5cfe3 #1472b8 #005595 #cfe0ec #e1ecf4 #004c85 #004c85 #e1ecf4 #004c85
Använd token-namn, inte hex: var(--color-light-info-surface-primary-default) osv.
I koden – korrekta variabelnamn
Section titled “I koden – korrekta variabelnamn”En AI-assistent som inte läser den här sidan brukar gissa fel på två sätt: hitta på --color-semantic-*-variabler (finns inte) eller hårdkoda hex. Här är facit för de vanligaste fallen.
Fokusring (WCAG-krav)
Section titled “Fokusring (WCAG-krav)”:focus-visible { outline: 2px solid var(--color-light-ring); outline-offset: 2px;}Variabeln heter --color-light-ring (motsvarande --color-dark-ring för mörkt läge). Inte --color-semantic-focus, --color-focus, --focus-ring — sådana finns inte.
Alerts och statusmeddelanden
Section titled “Alerts och statusmeddelanden”Använd den semantiska familjen för det status-meddelande som är aktuellt. Strukturen är identisk med varumärkesteman:
/* Error alert */.alert-error { background: var(--color-light-error-surface-accent-default); /* ljus rosa bakgrund */ border-left-color: var(--color-light-error-surface-primary-default); /* mörkröd kant */ color: var(--color-light-error-text-default); /* mörkröd text */}
/* Warning */.alert-warning { background: var(--color-light-warning-surface-accent-default); border-left-color: var(--color-light-warning-surface-primary-default); color: var(--color-light-warning-text-default);}/* analogt för success och info */Inte --color-semantic-error, --color-error, eller hårdkodad hex. Du får ingen dark mode och ingen varumärkesuppdatering om du gissar.
Primärknapp på varumärkestema
Section titled “Primärknapp på varumärkestema”.btn-primary { background: var(--color-light-vattjom-surface-primary-default); color: var(--color-light-vattjom-text-secondary);}.btn-primary:hover { background: var(--color-light-vattjom-surface-primary-hover);}Byt vattjom mot gronsta / juniskar / bjornstigen för andra teman. Reactanvändare slipper detta helt: <Button color="vattjom" variant="primary"> ger samma resultat.
Vanliga AI-gissningar som inte finns
Section titled “Vanliga AI-gissningar som inte finns”| Felaktigt (vanlig gissning) | Det rätta |
|---|---|
--color-semantic-focus | --color-light-ring |
--color-semantic-error | --color-light-error-surface-primary-default |
--color-semantic-warning | --color-light-warning-surface-primary-default |
--color-semantic-success | --color-light-success-surface-primary-default |
--color-semantic-info | --color-light-info-surface-primary-default |
--color-brand-primary | --color-light-vattjom-surface-primary-default |
--color-text-on-brand | --color-light-vattjom-text-secondary (text på primary) |
--space-md, --space-lg | Numeriska: --space-16 (1.6rem), --space-24, osv. |
Mörkt läge
Section titled “Mörkt läge”Stilguiden stödjer även dark mode. Alla teman ovan har motsvarande ColorDark*-tokens med samma struktur. På den här portalen visas bara light-tokens; för dark, se packages/theme/src/colors.ts.
Färgerna definieras i packages/theme/src/colors.ts. Importeras i runtime via @sk-web-gui/theme. CSS-variabler genereras av Style Dictionary i den här portalen vid npm run tokens:sync.