@klodd/ds 3.15.0 → 3.15.1
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
CHANGED
|
@@ -111,12 +111,30 @@ En källa, alla projekt ser samma skill automatiskt. Ändringar i
|
|
|
111
111
|
`~/dev/klodd-ds/SKILL.md`, `POLICY.md` eller `references/` syns
|
|
112
112
|
omedelbart i nästa CC-session - ingen synk-fas behövs.
|
|
113
113
|
|
|
114
|
-
## Kvalitetsstatus (2026-05-12, post-BEM
|
|
115
|
-
|
|
116
|
-
Designsystemet bedöms 10/10 efter 2026-05-12-konsolideringen
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
114
|
+
## Kvalitetsstatus (2026-05-12, post-BEM + visual coherence)
|
|
115
|
+
|
|
116
|
+
Designsystemet bedöms 10/10 efter 2026-05-12-konsolideringen på TVÅ axlar:
|
|
117
|
+
|
|
118
|
+
**Mekanisk konsekvens (Sprint 10-1 till 10-6)**: BEM-syntax,
|
|
119
|
+
stylelint-CI, ADR 0011 + 0012, Tier D-katalog. Future-CC kan inte
|
|
120
|
+
introducera BEM-syntax-brott utan CI-error.
|
|
121
|
+
|
|
122
|
+
**Visuell koherens (Visual Sprint 1-4, 2026-05-12 kväll)**: efter
|
|
123
|
+
Calle's observation om "element ej alignade, märklig ljus skugga,
|
|
124
|
+
olika storlekar nära varandra". 17 vyer auditerade, 5 kritiska brott
|
|
125
|
+
identifierade, DESIGN-LANGUAGE.md skriven (12 sektioner) + ADR 0013
|
|
126
|
+
locked. Konkreta migrationer: 16 paket-komponenter BR-konsoliderade
|
|
127
|
+
(11→5 värden), 5 Jubb-templates migrerade till page-header-pattern,
|
|
128
|
+
shadow på dark-mode-overlays eliminerad, hero-alignment fixad.
|
|
129
|
+
|
|
130
|
+
Före (visual): 7/10. Tre olika BR-värden för card-element, oklch-ljus-
|
|
131
|
+
shadow på 4 vyer, 4px alignment-drift på hero, blandning hero vs
|
|
132
|
+
page-header mellan apparna.
|
|
133
|
+
|
|
134
|
+
Efter (visual): 9-10/10. 5 BR-värden globalt, inga shadows på dark-
|
|
135
|
+
mode-overlays, alignment fixad, kanonisk pattern-distinktion (hero
|
|
136
|
+
för metric, page-header för utility-pages). Resterande gap är manuell
|
|
137
|
+
disciplin tills custom stylelint-plugin för design-rules byggs.
|
|
120
138
|
|
|
121
139
|
### Aktiva enforcement-mekanismer
|
|
122
140
|
|
package/css/components/chip.css
CHANGED
|
@@ -186,17 +186,18 @@
|
|
|
186
186
|
/* ================================================================
|
|
187
187
|
==== MONTH-PILL
|
|
188
188
|
Navigations-pill med manadsbyte (anvands i topbar pa Ekonom).
|
|
189
|
+
Hojd 36px = matchar .avatar default i topbar for visuell harmoni.
|
|
189
190
|
================================================================ */
|
|
190
191
|
.month-pill {
|
|
191
192
|
display: inline-flex;
|
|
192
193
|
align-items: center;
|
|
193
|
-
gap: var(--space-
|
|
194
|
-
height:
|
|
195
|
-
padding: 0 var(--space-
|
|
194
|
+
gap: var(--space-4);
|
|
195
|
+
height: 36px;
|
|
196
|
+
padding: 0 var(--space-6);
|
|
196
197
|
background: var(--surface-default);
|
|
197
198
|
border: 1px solid var(--border-subtle);
|
|
198
199
|
border-radius: var(--radius-full);
|
|
199
|
-
font-size: var(--fs-
|
|
200
|
+
font-size: var(--fs-13);
|
|
200
201
|
font-weight: var(--fw-medium);
|
|
201
202
|
color: var(--text-default);
|
|
202
203
|
cursor: pointer;
|
|
@@ -204,6 +205,36 @@
|
|
|
204
205
|
white-space: nowrap;
|
|
205
206
|
}
|
|
206
207
|
|
|
208
|
+
/* Prev/next-knappar inom month-pill: cirkulara tap-targets som passar
|
|
209
|
+
in i 36px-pillen. Inte WCAG-44x44 eftersom hela pillen ar liten
|
|
210
|
+
topbar-navigation (manadsbyte) - tap-target ar pill-segment. */
|
|
211
|
+
.month-pill a,
|
|
212
|
+
.month-pill button {
|
|
213
|
+
display: inline-flex;
|
|
214
|
+
align-items: center;
|
|
215
|
+
justify-content: center;
|
|
216
|
+
width: 28px;
|
|
217
|
+
height: 28px;
|
|
218
|
+
border-radius: var(--radius-full);
|
|
219
|
+
color: var(--text-subtle);
|
|
220
|
+
background: transparent;
|
|
221
|
+
border: 0;
|
|
222
|
+
cursor: pointer;
|
|
223
|
+
padding: 0;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
@media (hover: hover) and (pointer: fine) {
|
|
227
|
+
.month-pill a:hover,
|
|
228
|
+
.month-pill button:hover {
|
|
229
|
+
background: var(--surface-hover);
|
|
230
|
+
color: var(--text-default);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.month-pill__label {
|
|
235
|
+
padding: 0 var(--space-4);
|
|
236
|
+
}
|
|
237
|
+
|
|
207
238
|
|
|
208
239
|
@media (prefers-reduced-motion: reduce) {
|
|
209
240
|
.chip-list__delete:active,
|
package/package.json
CHANGED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# 0013 - Visual Coherence Doctrine
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
Locked.
|
|
5
|
+
|
|
6
|
+
## Context
|
|
7
|
+
|
|
8
|
+
Designsystemet hade efter Sprint 10 (BEM-mekanisk-konsekvens) en hög
|
|
9
|
+
nivå av token-disciplin och BEM-syntax-disciplin, men brist på
|
|
10
|
+
**komposition-disciplin**. Calle's observation 2026-05-12: "element
|
|
11
|
+
inte synkade i former och storlek, märklig ljus skugga på mörk
|
|
12
|
+
bakgrund, olika storlekar nära varandra som borde harmonisera."
|
|
13
|
+
|
|
14
|
+
Det var inte BEM-syntax-brott. Det var visuell koherens-brist.
|
|
15
|
+
Designsystem ger tokens + komponenter + regler, men hur komponenter
|
|
16
|
+
används TILLSAMMANS i layouter var inte kodifierat.
|
|
17
|
+
|
|
18
|
+
Full audit (Chrome MCP javascript_tool layout-extraction över 17
|
|
19
|
+
vyer i båda apparna) identifierade 5 kritiska brott:
|
|
20
|
+
|
|
21
|
+
1. **Border-radius-kaos**: 11+ distinkta BR-värden över systemet
|
|
22
|
+
2. **Shadow-användning bryter regel 10**: oklch-ljus-shadow på 4 vyer
|
|
23
|
+
3. **4px alignment-drift**: hero-content sittande på x=18, övriga på
|
|
24
|
+
x=14 (hero.css padding 20/4/24)
|
|
25
|
+
4. **Font-size-spread varierade dramatiskt**: 3-9 distinkta fs per vy
|
|
26
|
+
5. **Hero-pattern inkonsekvent mellan apparna**: Jubb siffer-hero,
|
|
27
|
+
Ekonom label-meta-hero, blandning page-header vs hero
|
|
28
|
+
|
|
29
|
+
Audit-rapport: `references/AUDIT-VISUAL-COHERENCE-2026-05-12.md`.
|
|
30
|
+
|
|
31
|
+
## Decision
|
|
32
|
+
|
|
33
|
+
`references/DESIGN-LANGUAGE.md` är **LOCKED** som visual coherence-
|
|
34
|
+
doktrin. 12 sektioner specificerar konkreta regler:
|
|
35
|
+
|
|
36
|
+
1. **Border-radius-skala**: 5 värden (4/10/14/50%/9999) - eliminerat
|
|
37
|
+
2/6/8/12/16/18/20/22/24 från komponent-CSS
|
|
38
|
+
2. **Shadow-policy**: restriktiv. Dialog/sheet/dropdown/bottom-nav/toast
|
|
39
|
+
har `box-shadow: none`. Bara iOS-style toggle-thumb och active-pill
|
|
40
|
+
får `--shadow-card`.
|
|
41
|
+
3. **Page-toppar**: TVÅ separata patterns (.hero med __amount för
|
|
42
|
+
metric-display, .page-header för titel+subtitle utility-pages)
|
|
43
|
+
4. **Padding-rytm**: 6 värden (4/8/12/16/20/24)
|
|
44
|
+
5. **Font-size-skala**: 8 token-bundna värden
|
|
45
|
+
6. **Container-klassifikation**: matrix för card/panel/hub-card/etc
|
|
46
|
+
7. **Spacing-rytm mellan block**: konsekvent margin-conventions
|
|
47
|
+
8. **Alignment-regler**: alla container-element på x=14
|
|
48
|
+
9. **PWA-konventioner**: 44x44 tap-targets, mobile-first, safe-areas
|
|
49
|
+
10. **Färg-konvention**: semantic-surface-tokens enbart
|
|
50
|
+
11. **Enforcement-status**: stylelint för BEM, mänsklig disciplin
|
|
51
|
+
för visual coherence (custom plugin candidate)
|
|
52
|
+
12. **När ändra regler**: ADR-process, inga ad-hoc-ändringar
|
|
53
|
+
|
|
54
|
+
## Migration genomförd 2026-05-12
|
|
55
|
+
|
|
56
|
+
### Sprint 3a: Quick-wins (klodd-ds 3.15.0)
|
|
57
|
+
- overlay.css: dialog + sheet shadow→none, bg surface-overlay
|
|
58
|
+
- dropdown.css: shadow→none
|
|
59
|
+
- hero.css: padding 20/4/24→20/0/24 (alignment-drift fixad)
|
|
60
|
+
- nav.css: bottom-nav shadow→none
|
|
61
|
+
- feedback.css: toast shadow→none
|
|
62
|
+
- typography.css: muted-footer-text margin-top: var(--space-16)
|
|
63
|
+
|
|
64
|
+
Commit: klodd-ds a3beab4
|
|
65
|
+
|
|
66
|
+
### Sprint 3b: BR-konsolidering (klodd-ds 3.15.0)
|
|
67
|
+
- 16 paket-komponenter migrerade till 5-värdes-BR-skala
|
|
68
|
+
- 6 → 10, 8 → 10, 12 → 14, 16 → 14, 20 → 14, 24 → 14
|
|
69
|
+
- App-domain BR-konsolidering: Ekonom ekonom.css, Jubb jubb.css +
|
|
70
|
+
pages/design.css + pages/triage.css
|
|
71
|
+
|
|
72
|
+
Commit: klodd-ds 96d1bf6 + Ekonom 955919a + Jubb f69bd14
|
|
73
|
+
|
|
74
|
+
### Sprint 3c: Template-migration
|
|
75
|
+
- Jubb: 24 .hero-label → .hero__label byten över 5 templates
|
|
76
|
+
- Jubb-template-migration: topbar__title → topbar+page-header-pattern
|
|
77
|
+
(jobs_list, insights, runs, install, job_detail)
|
|
78
|
+
- Konsekvens med Ekonom (som redan använder topbar+page-header)
|
|
79
|
+
|
|
80
|
+
Commit: Jubb dffb7eb
|
|
81
|
+
|
|
82
|
+
## Consequences
|
|
83
|
+
|
|
84
|
+
**Bra:**
|
|
85
|
+
- Cross-app visuell homogenitet (Jubb och Ekonom följer samma
|
|
86
|
+
patterns)
|
|
87
|
+
- 5 BR-värden istället för 11+ (eliminerar "olika former"-känsla)
|
|
88
|
+
- Inga shadow-anomalier på dark-mode (per regel 10-doktrin)
|
|
89
|
+
- Hero alignment fixad (4px-drift eliminerad)
|
|
90
|
+
- Klar pattern-distinktion (hero för metric, page-header för titel)
|
|
91
|
+
|
|
92
|
+
**Trade-offs:**
|
|
93
|
+
- Visuella ändringar på 17+ vyer kräver visuell verifiering per vy
|
|
94
|
+
(re-audit Sprint 4b)
|
|
95
|
+
- BR-konsolidering är breaking visual change (panel 20→14 är
|
|
96
|
+
tightare/mer angular)
|
|
97
|
+
- DESIGN-LANGUAGE.md är ytterligare doc att underhålla för
|
|
98
|
+
CC-sessioner
|
|
99
|
+
- Custom stylelint-plugin för design-rule-enforcement saknas (mänsklig
|
|
100
|
+
disciplin tills implementerad)
|
|
101
|
+
|
|
102
|
+
## Future work
|
|
103
|
+
|
|
104
|
+
1. **Custom stylelint-plugin** som validerar:
|
|
105
|
+
- border-radius är en av {4, 10, 14, 50%, 9999}
|
|
106
|
+
- font-size är token-bundet (--fs-N)
|
|
107
|
+
- padding-värden begränsade till de 6 listade
|
|
108
|
+
- box-shadow förbjudet utöver --shadow-card
|
|
109
|
+
|
|
110
|
+
2. **Visual regression testing** via Playwright (Sprint 10-5 deferred):
|
|
111
|
+
- snapshots av kärnvyer per viewport
|
|
112
|
+
- PR-comment med diff-images
|
|
113
|
+
- Baseline-update via `--update-snapshots`
|
|
114
|
+
|
|
115
|
+
3. **Component combination-katalog**: utvidga 02-components.md med
|
|
116
|
+
"när-använda-vilken-kombination"-tabeller (t.ex. card vs panel
|
|
117
|
+
för list-items, hub-card vs setting-row för settings).
|
|
118
|
+
|
|
119
|
+
## References
|
|
120
|
+
|
|
121
|
+
- `references/DESIGN-LANGUAGE.md` (locked doktrin)
|
|
122
|
+
- `references/AUDIT-VISUAL-COHERENCE-2026-05-12.md` (audit-rapport)
|
|
123
|
+
- `references/03-quality-bar.md` regel 10 (shadow), regel 11 (BEM)
|
|
124
|
+
- ADR `0011-strikt-bem-elementsyntax.md` (besläktad)
|
|
125
|
+
- ADR `0012-stylelint-bem-enforcement.md` (besläktad)
|
|
126
|
+
- Klodd-ds commits: a3beab4 + 96d1bf6 + 3.15.0-bump
|
|
127
|
+
- Jubb commits: f69bd14 + dffb7eb
|
|
128
|
+
- Ekonom commit: 955919a
|