@klodd/ds 3.4.0 → 3.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SKILL.md +26 -3
- package/css/apps/ekonom.css +8 -3
- package/css/apps/jubb.css +9 -3
- package/css/base/typography.css +3 -5
- package/js/hero-roll.js +5 -5
- package/package.json +2 -2
- package/references/05-open-decisions/{0004-halsomentorn-legacy-css.md → 0004-halsomentorn-legacy-css-CLOSED.md} +2 -1
- package/references/05-open-decisions/0008-legacy-token-migration.md +73 -0
package/SKILL.md
CHANGED
|
@@ -27,9 +27,15 @@ Denna Skill fångar både reglerna ("vad") och resonemanget ("varför").
|
|
|
27
27
|
</locked_rules>
|
|
28
28
|
|
|
29
29
|
## Apps och theming
|
|
30
|
-
- `data-app="jubb"` → Blue accent (Radix Blue Dark),
|
|
30
|
+
- `data-app="jubb"` → Blue accent (Radix Blue Dark), Blue-tonad bakgrund
|
|
31
31
|
- `data-app="ekonom"` → Plum accent (Radix Plum Dark), Plum-tonad bakgrund
|
|
32
|
-
- Ny app: lägg till ramp i 00-primitives.css +
|
|
32
|
+
- Ny app: lägg till ramp i 00-primitives.css + apps/foo.css med accent-
|
|
33
|
+
overrides (obligatoriskt, 5 rader) + valfria surface/text-overrides
|
|
34
|
+
(15-40 rader totalt om appen ska ha distinkt bakgrundston)
|
|
35
|
+
- **Surface-raised-konvention**: alla Klodd-appar sätter
|
|
36
|
+
`--surface-raised: var(--<color>-2)` - kort och paneler ligger på
|
|
37
|
+
samma yta som default-sektioner men distinkt mot page-bakgrunden
|
|
38
|
+
(color-1). Gäller alla nuvarande och framtida appar.
|
|
33
39
|
|
|
34
40
|
## Besluts-records
|
|
35
41
|
- `references/04-locked-decisions/` — låsta beslut. Förklara, ändra inte.
|
|
@@ -49,8 +55,25 @@ cd ~/dev/Jubb && npm install @klodd/ds@latest && npm run build:ds
|
|
|
49
55
|
cd ~/dev/Ekonom && npm install @klodd/ds@latest && npm run build:ds
|
|
50
56
|
```
|
|
51
57
|
|
|
58
|
+
## CLI-kommandon
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# Synka paketets CSS och JS till app-repot
|
|
62
|
+
npm run build:ds # kör npx @klodd/ds sync internt
|
|
63
|
+
|
|
64
|
+
# Verifiera att committade filer matchar paketet (kör i CI)
|
|
65
|
+
npx @klodd/ds verify
|
|
66
|
+
|
|
67
|
+
# Generera startlista för SW PRECACHE_URLS
|
|
68
|
+
npx @klodd/ds precache
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Kör verify efter varje build:ds för att bekräfta att ingen drift uppstått.
|
|
72
|
+
GitHub Action `Design System Verify` i båda app-repos kör detta automatiskt
|
|
73
|
+
på push och PR.
|
|
74
|
+
|
|
52
75
|
## När du är osäker
|
|
53
76
|
Läs relevant ADR. Täcks frågan inte av något ADR — flagga det explicit:
|
|
54
77
|
"Jag ser inget beslut på detta — ska vi skapa ett i references/05-open-decisions/?"
|
|
55
78
|
|
|
56
|
-
Updated: 2026-05-
|
|
79
|
+
Updated: 2026-05-08 (matchar @klodd/ds 3.4.1)
|
package/css/apps/ekonom.css
CHANGED
|
@@ -22,11 +22,16 @@
|
|
|
22
22
|
|
|
23
23
|
/* Surface - varm plum-tonad bakgrund istallet for Mauve-neutral.
|
|
24
24
|
Plum-1 (#181118) ar nastan lika mork som Mauve-1 men med plum-
|
|
25
|
-
ton.
|
|
26
|
-
|
|
25
|
+
ton.
|
|
26
|
+
|
|
27
|
+
Konvention: --surface-raised = appens <color>-2. Galler alla
|
|
28
|
+
Klodd-appar (Jubb -> blue-2, Ekonom -> plum-2). Korten ligger
|
|
29
|
+
subtilt over page-bakgrunden utan att bli for ljus. Tidigare
|
|
30
|
+
anvande Ekonom --plum-2-5 (mellanvarde) - nu linjerat med
|
|
31
|
+
samma regel som Jubb. */
|
|
27
32
|
--surface-page: var(--plum-1); /* #181118 */
|
|
28
33
|
--surface-default: var(--plum-2); /* #201320 */
|
|
29
|
-
--surface-raised: var(--plum-2
|
|
34
|
+
--surface-raised: var(--plum-2); /* #201320 - kort, paneler */
|
|
30
35
|
--surface-overlay: var(--plum-3); /* #351a35 */
|
|
31
36
|
--surface-hover: var(--plum-3);
|
|
32
37
|
--surface-active: var(--plum-4);
|
package/css/apps/jubb.css
CHANGED
|
@@ -18,14 +18,20 @@
|
|
|
18
18
|
Tidigare arvde apparna default Mauve-skala for surface - nu far
|
|
19
19
|
bagge appar app-specifik surface-tone som matchar accent.
|
|
20
20
|
|
|
21
|
+
Konvention: --surface-raised = appens <color>-2. Galler alla
|
|
22
|
+
Klodd-appar (Jubb -> blue-2, Ekonom -> plum-2). Denna lagger
|
|
23
|
+
korten subtilt over page-bakgrunden (color-1) utan att bli
|
|
24
|
+
for ljus.
|
|
25
|
+
|
|
21
26
|
Blue-1 (#0d1520) ar morkast - sidans bakgrund.
|
|
22
|
-
Blue-2 (#111927) - sektioner, nav, tab-bar.
|
|
23
|
-
Blue-3 (#0d2847) -
|
|
27
|
+
Blue-2 (#111927) - sektioner, nav, tab-bar OCH kort (raised).
|
|
28
|
+
Blue-3 (#0d2847) - inte langre raised, frigjord for ev. framtida
|
|
29
|
+
niva mellan raised och overlay.
|
|
24
30
|
Blue-4 (#003362) - modaler, popovers (overlay).
|
|
25
31
|
Blue-5 (#004074) - active-state. */
|
|
26
32
|
--surface-page: var(--blue-1);
|
|
27
33
|
--surface-default: var(--blue-2);
|
|
28
|
-
--surface-raised: var(--blue-
|
|
34
|
+
--surface-raised: var(--blue-2);
|
|
29
35
|
--surface-overlay: var(--blue-4);
|
|
30
36
|
--surface-hover: var(--blue-4);
|
|
31
37
|
--surface-active: var(--blue-5);
|
package/css/base/typography.css
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
/* Inter
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
400 = --fw-regular, 500 = --fw-medium per font-weight-policy. */
|
|
5
|
-
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500&display=swap');
|
|
1
|
+
/* Inter laddas INTE via Google Fonts (render-blocking, medvetet borttaget).
|
|
2
|
+
* Stacken faller tillbaka pa SF Pro Display pa iOS och system-ui pa ovriga.
|
|
3
|
+
* Se --font-sans i 00-primitives.css. */
|
|
6
4
|
|
|
7
5
|
|
|
8
6
|
/* ================================================================
|
package/js/hero-roll.js
CHANGED
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
marker. Animation kor vid forsta page-load efter att PWA/tab
|
|
18
18
|
stangts helt. Sprint D3:s `body[data-first-load]` (cookie-baserad)
|
|
19
19
|
fungerar bara for helt nya anvandare; J.5-trigger fungerar for
|
|
20
|
-
return-anvandare som har
|
|
20
|
+
return-anvandare som har appens first-load-cookie (satts av servern)
|
|
21
|
+
sedan tidigare.
|
|
21
22
|
2. Manadsbyte via < / > i manads-pillen pa /avstamning
|
|
22
23
|
|
|
23
24
|
Sprint J.4 (CE-rapport: 000 kr syns lite val lange + hela processen
|
|
@@ -58,10 +59,9 @@
|
|
|
58
59
|
// Sprint J.5: sessionStorage-marker for fresh-session-detektering.
|
|
59
60
|
// sessionStorage rensas vid PWA-stangning/tab-close, persisterar
|
|
60
61
|
// mellan reloads/nav inom samma session.
|
|
61
|
-
//
|
|
62
|
-
//
|
|
63
|
-
//
|
|
64
|
-
// engang per anvandare - ny markering satts vid nasta kallstart.
|
|
62
|
+
// Nyckel: ds_hero_session (app-agnostisk). Delad mellan alla appar
|
|
63
|
+
// som anvander @klodd/ds sa samma session-marker fungerar oavsett
|
|
64
|
+
// vilken app som kor.
|
|
65
65
|
const SESSION_KEY = 'ds_hero_session';
|
|
66
66
|
|
|
67
67
|
let hasRunInitial = false;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@klodd/ds",
|
|
3
|
-
"version": "3.4.
|
|
4
|
-
"description": "Klodd Design System - shared tokens, typography, components and JS for Jubb, Ekonom, and future apps. v3.4 inkluderar sync/verify/precache CLI sa app-repona inte langre handhaller egna build-script.",
|
|
3
|
+
"version": "3.4.2",
|
|
4
|
+
"description": "Klodd Design System - shared tokens, typography, components and JS for Jubb, Ekonom, and future apps. v3.4 inkluderar sync/verify/precache CLI sa app-repona inte langre handhaller egna build-script. v3.4.1 tar bort Google Fonts @import + gor hero-roll-kommentarer app-agnostiska. v3.4.2 etablerar surface-raised = <color>-2-konvention for kort/paneler i alla appar.",
|
|
5
5
|
"main": "css/index.css",
|
|
6
6
|
"bin": {
|
|
7
7
|
"klodd-ds": "./bin/klodd-ds.js"
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
# 0004 - Halsomentorn legacy-CSS i Ekonom
|
|
2
2
|
|
|
3
3
|
## Status
|
|
4
|
-
|
|
4
|
+
Closed - Halsomentorn arkiverat. `ds/halsomentorn.css` behalls i Ekonom
|
|
5
|
+
tills Halsomentorn-projektet eventuellt ateruptas. Ingen action kravs.
|
|
5
6
|
|
|
6
7
|
## Context
|
|
7
8
|
Ekonoms `app/static/css/ds/halsomentorn.css` ar 1783 rader CSS som
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# 0008 - Legacy token-migration och `ds/components.css`-radering - v4.0.0
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
Pending. Trigger: innan tredje app borjar anvanda `@klodd/ds`.
|
|
5
|
+
|
|
6
|
+
## Context
|
|
7
|
+
`10-semantic.css` har en LEGACY ALIASES-sektion (rad 412-506) som
|
|
8
|
+
holds gamla token-namn vid liv sedan migrationen pabarjades:
|
|
9
|
+
`--accent`, `--accent-dim`, `--accent-link*`, `--bg-base`, `--bg-surface`,
|
|
10
|
+
`--card-bg-elevated`, `--surface-medium`, `--surface-subtle`,
|
|
11
|
+
`--negative-dim`, `--positive-dim`, `--shadow-float`, samt 9 radius-
|
|
12
|
+
aliaser. Sektionen ar 100 rader och har funnits over ett halvar.
|
|
13
|
+
|
|
14
|
+
Parallellt korr `ds/components.css` (flat-format, ~60 KB) sida vid
|
|
15
|
+
sida med `ds/components/<X>.css` (BEM, paket-konvention). Bagge
|
|
16
|
+
laddas i bagge appars main.css. DESIGN_TOKENS_GUIDE.md sektion 7
|
|
17
|
+
dokumenterar konflikten och saver "migration sker per sida" - men
|
|
18
|
+
ingen migration har skett pa manader.
|
|
19
|
+
|
|
20
|
+
Audit 2026-05-08 bekraftade att Jubb-domain CSS (`jubb-theme.css`,
|
|
21
|
+
`triage-v2.css`, `ds/base.css`) hanger fast i legacy-tokens, och
|
|
22
|
+
samma migrations-skuld finns i Ekonom (tx-row, kategori-tokens,
|
|
23
|
+
profile-edit). Det ar ingen lokal Jubb-fraga - det ar paketets
|
|
24
|
+
kostnad.
|
|
25
|
+
|
|
26
|
+
### Konsekvens av att leva i halv-tillstand
|
|
27
|
+
|
|
28
|
+
- Varje ny komponent maste valja: gamla namnet eller nya namnet?
|
|
29
|
+
Folk valjer fel halften av gangerna.
|
|
30
|
+
- Ny utvecklare (eller LLM) maste lara sig bagge systemen for att
|
|
31
|
+
lasa koden. Cognitive overhead vid varje touch.
|
|
32
|
+
- Specen i DESIGN_TOKENS_GUIDE.md saver "5-raders apps/jubb.css" men
|
|
33
|
+
paketet har 36 rader. Specen ar inte sanning.
|
|
34
|
+
- Migrations-skulden vaxer linjart med antal call-sites och antal
|
|
35
|
+
appar.
|
|
36
|
+
|
|
37
|
+
## Decision
|
|
38
|
+
Gor en fullstandig **lock-sprint** innan tredje app laggs till:
|
|
39
|
+
|
|
40
|
+
1. Migrera ALLA call-sites till nya semantic token-namn
|
|
41
|
+
(`--accent` -> `--accent-9` eller `--accent-text`, `--bg-base`
|
|
42
|
+
-> `--surface-page`, `--surface-medium` -> `--surface-default`,
|
|
43
|
+
`--card-bg-elevated` -> `--surface-raised` etc).
|
|
44
|
+
2. Radera LEGACY ALIASES-sektionen ur `10-semantic.css`.
|
|
45
|
+
3. Migrera ALLA flat-komponenter (`.btn`, `.card`, `.panel`, `.tx-row`
|
|
46
|
+
etc) till BEM (`.btn`, `.btn--primary`, `.card`, `.card--interactive`).
|
|
47
|
+
4. Radera `ds/components.css` (flat-versionen) ur bagge app-repos.
|
|
48
|
+
5. Bumpa till `@klodd/ds@4.0.0` (breaking).
|
|
49
|
+
|
|
50
|
+
## Consequences
|
|
51
|
+
- **+** Slut pa dubbla mentala modeller. En standard.
|
|
52
|
+
- **+** Spec stammer med implementationen.
|
|
53
|
+
- **+** Tredje app:s onboarding gar mot ett moget system.
|
|
54
|
+
- **+** `npx @klodd/ds verify` (3.4.0+) detekterar drift mekaniskt.
|
|
55
|
+
- **-** Stor sprint - kraver dedikerad bandbredd (uppskattning: 2-3
|
|
56
|
+
arbetsdagar plus visuell QA per app).
|
|
57
|
+
- **-** Risk for visuell regression vid migration. Kraver `/design`-
|
|
58
|
+
styleguide-jamforelse fore/efter pa bagge appar.
|
|
59
|
+
|
|
60
|
+
## Pending decision criteria
|
|
61
|
+
- Tidpunkt: omedelbart innan tredje app (Margevo eller annan)
|
|
62
|
+
borjar anvanda paketet. Att vanta langre forharder skulden;
|
|
63
|
+
att hasta forskuggar appar som redan ar i prod.
|
|
64
|
+
- Vem kor sprinten: Calle ensam eller med assistent CC?
|
|
65
|
+
- Om CC: ska den ha access till bagge app-repos under sprinten?
|
|
66
|
+
|
|
67
|
+
## Notes
|
|
68
|
+
- Audit 2026-05-08 (av CC) identifierade root-causes och rekommenderade
|
|
69
|
+
steg 1-3 (CLI-konsolidering) NU och steg 4 (denna migration) "nar
|
|
70
|
+
bandbredd finns".
|
|
71
|
+
- Steg 1-3 ar implementerade i v3.4.0 (sync/verify/precache CLI).
|
|
72
|
+
- v3.4.0 ar lokalt locked - drift detekteras av CI-job i bagge appar.
|
|
73
|
+
Det ar plattformen som later denna lock-sprint hallas i kontroll.
|