@klodd/ds
v5.2.3
Published
Klodd shared design system - tokens, components, JS
Maintainers
Readme
@klodd/ds
Klodd Design System - delade tokens, typografi och komponenter for Klodds appar (Jubb, Ekonom och framtida).
Dark-mode-first PWA-designsystem byggt pa Radix Colors. OKLCH-baserade fargramper, pixel-numerisk spacing-konvention och tre-lagers token- arkitektur som inte krocker mellan apps.
Installation
npm install @klodd/dsAnvandning
Importera hela designsystemet plus en app-specifik tema-fil:
<link rel="stylesheet" href="node_modules/@klodd/ds/css/index.css">
<link rel="stylesheet" href="node_modules/@klodd/ds/css/apps/jubb.css">Eller via CSS @import:
@import '@klodd/ds/css/index.css';
@import '@klodd/ds/css/apps/jubb.css';Aktivera tema pa <html>:
<html lang="sv" data-app="jubb" data-theme="dark">data-app valjer accent-tema (jubb = blue, ekonom = plum).
data-theme valjer light/dark mode (light forberedd, dark default).
Token-arkitektur
Tre lager med strikt inkapsling. Komponenter laser ALDRIG primitives direkt - bara semantic-lagret eller app-tokens.
00-primitives.css raa varden (gray/blue/plum/violet OKLCH ramps,
pixel-numerisk space/fs/radius, motion, layout)
10-semantic.css komponenter laser hardefran (surface/text/border/
accent + status + effects + transitions)
apps/<app>.css per-app accent + surface-overrides (5-15 rader)Fargsystem
Officiella Radix Colors dark-skalor:
- Mauve Dark (neutral) - lila-tonad gra som kompletterar Blue och Plum
- Blue Dark (Jubb accent) - sky-blue (#0090ff)
- Plum Dark (Ekonom accent) - varm magenta-lila (#ab4aba)
- Violet Dark - bevarad for framtida appar
- Green/Amber/Red Dark - status (success/warning/danger)
Status-tokens har bade solid-bakgrund (--bg-success/warning/danger)
och tonad/border-varianter (--positive/-dim/-border, --negative,
--warning).
Lagg till en ny app
Lagg till accent-ramp i
css/00-primitives.cssom appen ska ha eget farg-spektrum (12 stegs Radix-skala, hue valt for app-identitet).Skapa
css/apps/<appname>.cssmed fem accent-overrides:[data-app="<appname>"] { --accent-soft: var(--<color>-3); --accent-moderate: var(--<color>-5); --accent-9: var(--<color>-9); --accent-10: var(--<color>-10); --accent-text: var(--<color>-11); }Satt
data-app="<appname>"i HTML-templaten (eller<html>-tag).Klart - inga komponentandringar behovs. Komponenter laser bara
--accent-*och far automatiskt nya farger.
Komponenter
| Komponent | Klass-prefix | Anvandning |
|---|---|---|
| Knappar | .btn, .btn--primary/secondary/ghost/danger | Aktioner |
| Inputs | .input, .textarea, .select | Formularsfalt |
| Badges | .badge, .badge--success/warning/danger, .score-pill | Status-pills |
| Kort | .card, .card--interactive/flush | Innehallspaneler |
| Nav | .bottom-nav, .topbar, .tab-bar | Navigation |
| Feedback | .toast, .empty-state, .skeleton, .spinner | Loading + errors |
| Overlay | .dialog, .sheet | Modaler + bottom sheets |
| Icon | .icon, .icon--xs/sm/md/lg/xl | Lucide + custom SVG |
| Hero-roll | .hero-amount[data-animate-roll] | Display-siffer-animation |
Komplett dokumentation
For detaljerad token-referens (vad varje token ska anvandas for/inte anvandas for), komponent-CSS-konventioner och exempel - se DESIGN_TOKENS_GUIDE.md i Jubb-repot.
License
MIT (c) 2026 Carl-Eric Persson
