@klodd/ds 5.13.0 → 5.13.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 +14 -0
- package/css/00-primitives.css +0 -5
- package/css/components/icon.css +8 -8
- package/package.json +1 -1
- package/references/05-open-decisions/0025-content-max-token-konsolidering-CLOSED.md +44 -0
- package/references/05-open-decisions/0026-klodd-split-view-yagni-CLOSED.md +33 -0
- package/references/05-open-decisions/0025-content-max-token-konsolidering.md +0 -43
package/SKILL.md
CHANGED
|
@@ -49,6 +49,20 @@ dessa två.
|
|
|
49
49
|
samma yta som default-sektioner men distinkt mot page-bakgrunden
|
|
50
50
|
(color-1).
|
|
51
51
|
|
|
52
|
+
## Responsiv layout: container queries
|
|
53
|
+
|
|
54
|
+
`.main-content` är en namngiven query-container (`container-type:
|
|
55
|
+
inline-size; container-name: layout`, satt i `base/layout.css`).
|
|
56
|
+
Komponenter kan därmed adaptera efter content-bredden istället för
|
|
57
|
+
viewporten via `@container layout (...)`.
|
|
58
|
+
|
|
59
|
+
Första användningen: `.stat-grid` går från 2 till 4 kolumner vid
|
|
60
|
+
`@container layout (min-width: 700px)` (`components/stat.css`).
|
|
61
|
+
Beteendet blir per-app eftersom varje apps `.main-content`
|
|
62
|
+
max-width-override avgör vad queryn ser: Jubb (bred desktop-main,
|
|
63
|
+
`--max-w-desktop`) får 4 kolumner, Ekonom (600px main) står kvar
|
|
64
|
+
på 2. Lägg nya komponent-adaptioner under samma `layout`-container.
|
|
65
|
+
|
|
52
66
|
## Besluts-records
|
|
53
67
|
- `references/04-locked-decisions/` — låsta beslut. Förklara, ändra inte.
|
|
54
68
|
- `references/05-open-decisions/` — öppna punkter. Presentera alternativen.
|
package/css/00-primitives.css
CHANGED
|
@@ -418,14 +418,9 @@
|
|
|
418
418
|
--bp-medium: 1024px; /* mellanbredd → desktop */
|
|
419
419
|
--bp-expanded: 1440px; /* desktop → wide */
|
|
420
420
|
|
|
421
|
-
--max-w-mobile: 600px;
|
|
422
421
|
--max-w-tablet: 680px;
|
|
423
422
|
--max-w-desktop: 1280px;
|
|
424
|
-
--max-w-form: 560px;
|
|
425
|
-
--max-w-bottom-nav: 572px;
|
|
426
|
-
--max-w-nav-desktop: 720px;
|
|
427
423
|
|
|
428
|
-
--content-max-width: 640px;
|
|
429
424
|
--content-max-narrow: 480px; /* .main-content--narrow */
|
|
430
425
|
--content-max-default: 600px; /* .main-content (default) */
|
|
431
426
|
--content-max-wide: 800px; /* .main-content--wide */
|
package/css/components/icon.css
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/* ================================================================
|
|
2
2
|
components/icon.css
|
|
3
3
|
.icon - generisk ikon-wrapper med fem size-modifiers.
|
|
4
|
-
Anvands for bade
|
|
5
|
-
och custom inline-SVG (<svg class="icon icon--md">).
|
|
4
|
+
Anvands for bade sprite-ikoner (via <svg class="icon"><use
|
|
5
|
+
href="...#icon-X">) och custom inline-SVG (<svg class="icon icon--md">).
|
|
6
6
|
|
|
7
7
|
color: currentColor sa parent-elementet styr fargen via color-property.
|
|
8
8
|
|
|
9
9
|
Custom SVG-monster (.icon-custom svg) ger standardiserade
|
|
10
|
-
stroke-attribut for handritade ikoner som
|
|
10
|
+
stroke-attribut for handritade ikoner som spriten saknar.
|
|
11
11
|
================================================================ */
|
|
12
12
|
|
|
13
13
|
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
vertical-align: middle;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
/*
|
|
27
|
-
|
|
26
|
+
/* Tvinga svg-barnet (sprite-<use> eller inline) att fylla wrappern
|
|
27
|
+
sa size-modifiers fungerar konsekvent. */
|
|
28
28
|
.icon > svg {
|
|
29
29
|
width: 100%;
|
|
30
30
|
height: 100%;
|
|
@@ -44,12 +44,12 @@
|
|
|
44
44
|
|
|
45
45
|
/* ================================================================
|
|
46
46
|
==== CUSTOM SVG-MONSTER
|
|
47
|
-
App-specifika ikoner som
|
|
47
|
+
App-specifika ikoner som spriten saknar. Anvand som wrapper:
|
|
48
48
|
<span class="icon icon--md icon-custom">
|
|
49
49
|
<svg viewBox="0 0 24 24">...</svg>
|
|
50
50
|
</span>
|
|
51
|
-
stroke-width 1.5
|
|
52
|
-
|
|
51
|
+
stroke-width 1.5 + linecap/linejoin round for mjuka, konsekventa
|
|
52
|
+
konturer.
|
|
53
53
|
================================================================ */
|
|
54
54
|
.icon-custom svg {
|
|
55
55
|
fill: none;
|
package/package.json
CHANGED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# 0025 - content-max token-konsolidering
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
Closed 2026-05-22 (@klodd/ds 5.13.1).
|
|
6
|
+
|
|
7
|
+
## Beslut
|
|
8
|
+
|
|
9
|
+
Konsument-ytan kartlades i båda app-repona (CSS + templates). Av tio
|
|
10
|
+
page-width-tokens var fem orphans utan en enda användning - de
|
|
11
|
+
raderades ur 00-primitives.css:
|
|
12
|
+
|
|
13
|
+
- `--max-w-mobile` (600px)
|
|
14
|
+
- `--max-w-form` (560px)
|
|
15
|
+
- `--max-w-bottom-nav` (572px)
|
|
16
|
+
- `--max-w-nav-desktop` (720px)
|
|
17
|
+
- `--content-max-width` (640px, avvikande namn)
|
|
18
|
+
|
|
19
|
+
Fem tokens behölls i sina befintliga familjer:
|
|
20
|
+
|
|
21
|
+
- `--content-max-narrow/-default/-wide` (480/600/800px) - paketet,
|
|
22
|
+
`.main-content`-varianterna i base/layout.css.
|
|
23
|
+
- `--max-w-tablet/-desktop` (680/1280px) - Jubb app-override i
|
|
24
|
+
jubb.css.
|
|
25
|
+
|
|
26
|
+
Ingen omdöpning. De två kvarvarande familjerna ligger i olika lager
|
|
27
|
+
med olika roll (paket-default vs app-override) och blandas inte - att
|
|
28
|
+
tvinga in dem i en familj hade dolt distinktionen. Patch-version: de
|
|
29
|
+
raderade tokensen hade noll konsumenter, ingen breaking change.
|
|
30
|
+
|
|
31
|
+
## Context
|
|
32
|
+
|
|
33
|
+
Tre överlappande page-width-tokenfamiljer fanns i paketet efter
|
|
34
|
+
width/height-arbetet (5.8.0):
|
|
35
|
+
|
|
36
|
+
1. `--content-max-*` (`-narrow` 480px, `-default` 600px, `-wide`
|
|
37
|
+
800px) - definierade i 00-primitives.css, konsumeras av
|
|
38
|
+
base/layout.css (`.main-content`-varianterna).
|
|
39
|
+
2. `--content-max-width: 640px` - orphan i 00-primitives.css, noll
|
|
40
|
+
användning i paketet eller apparna.
|
|
41
|
+
3. `--max-w-*` (sex tokens: `-mobile` 600, `-tablet` 680, `-desktop`
|
|
42
|
+
1280, `-form` 560, `-bottom-nav` 572, `-nav-desktop` 720) i
|
|
43
|
+
00-primitives.css. `--max-w-mobile: 600px` överlappade exakt
|
|
44
|
+
`--content-max-default: 600px`.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# 0026 - klodd-split-view: bordlagd (YAGNI)
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
Closed 2026-05-22. Bordlagd, ingen implementation.
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
En split-view-komponent (lista + detalj sida-vid-sida på desktop) har
|
|
10
|
+
funnits som backlog-idé. Konsument-ytan kartlades 2026-05-22:
|
|
11
|
+
|
|
12
|
+
- Ekonom har ingen lista med separat detaljsida. Detalj-interaktioner
|
|
13
|
+
är sheets/modaler och inline-collapsibles - inget split-view-format.
|
|
14
|
+
Den smala 600px `.main-content` motverkar dessutom mönstret.
|
|
15
|
+
- Jubb har en genuin master-detalj: `/jobb` (lista) + `/jobb/{id}`
|
|
16
|
+
(detalj, job_detail.html). En hypotetisk framtida split-view-
|
|
17
|
+
kandidat på desktop.
|
|
18
|
+
|
|
19
|
+
## Beslut
|
|
20
|
+
|
|
21
|
+
Bygg inte klodd-split-view. Per ADR 0024 kräver en paketkomponent två
|
|
22
|
+
verifierade konsumerande appar; split-view har noll i dag och som mest
|
|
23
|
+
en hypotetisk (Jubb /jobb). Att tillverka en andra konsument enbart
|
|
24
|
+
för att rättfärdiga komponenten är uttryckligen förbjudet i ADR 0024.
|
|
25
|
+
|
|
26
|
+
Om Jubb senare gör `/jobb` -> `/jobb/{id}` till en desktop-master-
|
|
27
|
+
detalj byggs det som Jubb domän-CSS, inte paket. Det graduerar till
|
|
28
|
+
paketet bara om Ekonom också får ett split-view-format - vilket dess
|
|
29
|
+
arkitektur (sheet-baserad detalj, smal main) inte pekar mot.
|
|
30
|
+
|
|
31
|
+
## References
|
|
32
|
+
|
|
33
|
+
- ADR 0024 (skärpt komponent-lyft-doktrin)
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# 0025 - content-max token-konsolidering
|
|
2
|
-
|
|
3
|
-
## Status
|
|
4
|
-
|
|
5
|
-
Pending.
|
|
6
|
-
|
|
7
|
-
## Context
|
|
8
|
-
|
|
9
|
-
Tre överlappande page-width-tokenfamiljer finns i paketet efter
|
|
10
|
-
width/height-arbetet (5.8.0):
|
|
11
|
-
|
|
12
|
-
1. `--content-max-*` (`-narrow` 480px, `-default` 600px, `-wide`
|
|
13
|
-
800px) - definierade i 00-primitives.css, konsumeras av
|
|
14
|
-
base/layout.css (`.main-content`-varianterna).
|
|
15
|
-
2. `--content-max-width: 640px` - orphan i 00-primitives.css, noll
|
|
16
|
-
användning i paketet eller apparna.
|
|
17
|
-
3. `--max-w-*` (sex tokens: `-mobile` 600, `-tablet` 680, `-desktop`
|
|
18
|
-
1280, `-form` 560, `-bottom-nav` 572, `-nav-desktop` 720) i
|
|
19
|
-
00-primitives.css. `--max-w-mobile: 600px` överlappar exakt
|
|
20
|
-
`--content-max-default: 600px`.
|
|
21
|
-
|
|
22
|
-
## Decision needed
|
|
23
|
-
|
|
24
|
-
Konsolidera till en page-width-tokenfamilj: behåll sannolikt
|
|
25
|
-
`--content-max-*`, radera orphan `--content-max-width`, mappa eller
|
|
26
|
-
radera `--max-w-*`-familjen.
|
|
27
|
-
|
|
28
|
-
## Considered options
|
|
29
|
-
|
|
30
|
-
### A. Konsolidera nu
|
|
31
|
-
Risk: `--max-w-*` och `--content-max-width` har okänd konsument-yta.
|
|
32
|
-
Apparnas domain-CSS och templates greppades inte. Att radera eller
|
|
33
|
-
mappa dem kan ge visuell drift på okänt antal vyer.
|
|
34
|
-
|
|
35
|
-
### B. Skjut till separat sprint (vald interim)
|
|
36
|
-
Lämna alla tre familjer orörda i 5.8.0. Konsolidera när
|
|
37
|
-
konsument-ytan kartlagts.
|
|
38
|
-
|
|
39
|
-
## Pending decision criteria
|
|
40
|
-
|
|
41
|
-
Kräver en survey av `--max-w-*`- och `--content-max-width`-användning
|
|
42
|
-
i båda app-repona (CSS + templates) innan konsolidering. Tas i egen
|
|
43
|
-
sprint.
|