@klodd/ds 3.3.1 → 3.4.0
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 +56 -0
- package/bin/klodd-ds.js +25 -0
- package/bin/precache.js +43 -0
- package/bin/sync.js +33 -0
- package/bin/verify.js +66 -0
- package/css/00-primitives.css +13 -3
- package/css/components/dropdown.css +1 -1
- package/css/components/setting-row.css +1 -1
- package/css/components/tab-bar.css +1 -1
- package/css/components/tooltip.css +1 -1
- package/css/utilities.css +101 -67
- package/package.json +12 -3
- package/references/01-tokens.md +182 -0
- package/references/02-components.md +260 -0
- package/references/03-quality-bar.md +238 -0
- package/references/04-locked-decisions/0001-three-layer-token-architecture.md +41 -0
- package/references/04-locked-decisions/0002-bem-naming.md +37 -0
- package/references/04-locked-decisions/0003-radix-colors-oklch.md +39 -0
- package/references/04-locked-decisions/0004-pixel-numeric-spacing.md +31 -0
- package/references/04-locked-decisions/0005-data-app-theming.md +42 -0
- package/references/04-locked-decisions/0006-mauve-neutral.md +40 -0
- package/references/04-locked-decisions/0007-font-weight-400-500.md +46 -0
- package/references/04-locked-decisions/0008-npm-package-distribution.md +40 -0
- package/references/05-open-decisions/0001-tx-row-to-list-row-migration-CLOSED.md +80 -0
- package/references/05-open-decisions/0002-parallel-classnames-cleanup-CLOSED.md +75 -0
- package/references/05-open-decisions/0003-js-duplicates-migration-CLOSED.md +79 -0
- package/references/05-open-decisions/0004-halsomentorn-legacy-css.md +51 -0
- package/references/05-open-decisions/0005-cat-class-location-CLOSED.md +37 -0
- package/references/05-open-decisions/0006-bar-kind-template-migration-CLOSED.md +75 -0
- package/references/05-open-decisions/0007-ekonom-base-import-gap-CLOSED.md +111 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# 0006 - Ekonom bar_kind()-helper - migration till kategori-id for colored-bar
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
**Closed 2026-05-08** via Option A (utoka bar_kind() till kategori-id).
|
|
5
|
+
Ekonom-commit [4ea9415](https://github.com/drawn124578/ekonom/commit/4ea9415).
|
|
6
|
+
|
|
7
|
+
bar_kind() i routers/kategorier.py returnerar nu cat.key (mat, el,
|
|
8
|
+
vatten, etc.) istallet for variant-modifiers ('default'/'wealth'/'accent').
|
|
9
|
+
ekonom.css .cat-bar-fill far ny background: var(--bar-accent, var(--text-tertiary))
|
|
10
|
+
sa --bar-accent (satt av .cat-bar-{kid}-modifier i ekonom-domain.css)
|
|
11
|
+
faktiskt blir bakgrund. 8 distinkta kategori-farger istallet for 3
|
|
12
|
+
generic varianter. Pytest 636/636.
|
|
13
|
+
|
|
14
|
+
## Context
|
|
15
|
+
v3.1.0 introducerade paketets `.colored-bar`-komponent + Ekonoms
|
|
16
|
+
bindings-klasser `.cat-bar-mat` / `.cat-bar-el` ... / `.cat-bar-privat`
|
|
17
|
+
som mappar app-tokens (--cat-X-icon) till paketets `--bar-accent`.
|
|
18
|
+
|
|
19
|
+
CSS-bindningarna ar redo att anvandas. Templates anvander dock idag
|
|
20
|
+
ett ANNAT monster:
|
|
21
|
+
|
|
22
|
+
```html
|
|
23
|
+
<div class="cat-bar-track">
|
|
24
|
+
<div class="cat-bar-fill cat-bar-{{ bar_kind(g.category) }}"
|
|
25
|
+
data-bar-width="{{ pct }}%"></div>
|
|
26
|
+
</div>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Python-helpern `bar_kind(category)` returnerar idag en av tre
|
|
30
|
+
**variant-modifiers**: `default`, `wealth`, `accent`. Inte kategori-id.
|
|
31
|
+
|
|
32
|
+
Aktivering av det nya kategori-monstret kraver att antingen:
|
|
33
|
+
- `bar_kind()` utokas att returnera kategori-id (mat, el, noje osv.)
|
|
34
|
+
- Templates byter klassnamn fran `cat-bar-{kind}` till
|
|
35
|
+
`colored-bar cat-bar-{category-id}`
|
|
36
|
+
|
|
37
|
+
## Considered options
|
|
38
|
+
|
|
39
|
+
### Option A: Utoka bar_kind() att returnera kategori-id
|
|
40
|
+
**Pros:**
|
|
41
|
+
- Aktiverar det nya kategori-monstret fullt ut
|
|
42
|
+
- Templates fortsatter anvanda `cat-bar-{{ bar_kind(g) }}`-syntax -
|
|
43
|
+
bara inneliggande varde andras
|
|
44
|
+
- Visuellt rikare resultat (8 distinkta kategori-farger istallet for
|
|
45
|
+
3 generic varianter)
|
|
46
|
+
**Cons:**
|
|
47
|
+
- Andrar Python-logik pa `bar_kind()` - kraver test-uppdatering
|
|
48
|
+
- Templates behover ocksa lagga till `colored-bar`-klassen parallellt:
|
|
49
|
+
`class="colored-bar cat-bar-{{ bar_kind(g) }}"`
|
|
50
|
+
- Behover bestamma vad bar_kind() returnerar for icke-kategori-rader
|
|
51
|
+
(wealth, accent-varianter for special-data)
|
|
52
|
+
|
|
53
|
+
### Option B: Behall variant-modifiers som de ar
|
|
54
|
+
**Pros:**
|
|
55
|
+
- Inga template- eller Python-andringar
|
|
56
|
+
- Default/wealth/accent-monstret ar etablerat och fungerar
|
|
57
|
+
- CSS-bindningarna lever passivt for framtida anvandning utan att
|
|
58
|
+
blockera nuvarande funktionalitet
|
|
59
|
+
**Cons:**
|
|
60
|
+
- Det nya kategori-monstret ar redo i CSS men oanvant
|
|
61
|
+
- Inga visuella forbattringar pa kategori-bars
|
|
62
|
+
|
|
63
|
+
## Pending decision criteria
|
|
64
|
+
- Sprint-prioritet: ar visuellt rikare kategori-fargning vard att kosta
|
|
65
|
+
Python-logik-andring + template-edit?
|
|
66
|
+
- Samordning med MADR 0001 (.tx-row -> .list-row): bagge migrationer
|
|
67
|
+
beror Ekonoms transaction-listor och kan delas pa samma sprint for
|
|
68
|
+
effektivitet
|
|
69
|
+
|
|
70
|
+
## Notes
|
|
71
|
+
- CSS-bindningarna `.cat-bar-X` lever sedan v3.1.0 (Ekonom-commit
|
|
72
|
+
f011c2f). Inga paket-andringar behovs - bara app-side adoption
|
|
73
|
+
- Fortsatt fungerande default/wealth/accent-monster betyder INGEN
|
|
74
|
+
forsamring vid val av Option B
|
|
75
|
+
- Ingen tidsgrans pa beslutet
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# 0007 - Ekonoms main.css-kedja importerar inte paketets ds/base/-mapp
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
**Closed 2026-05-07** via Option A med selektiv import. Ekonoms
|
|
5
|
+
main.css importerar nu paketets `ds/base/layout.css` direkt. Skip
|
|
6
|
+
av `pwa.css` (dubblett mot Ekonoms egen) och `typography.css`
|
|
7
|
+
(Inter Google Fonts-konflikt med Sprint D2).
|
|
8
|
+
|
|
9
|
+
## Context
|
|
10
|
+
Jubb och Ekonom har olika CSS-arkitektur for hur paketets `base/`-mapp
|
|
11
|
+
laddas:
|
|
12
|
+
|
|
13
|
+
**Jubb:** paketets `base/`-filer kopieras till `app/static/css/base/`
|
|
14
|
+
(rotnivå). `main.css` importerar `base/typography.css` direkt:
|
|
15
|
+
|
|
16
|
+
```css
|
|
17
|
+
/* Jubbs main.css */
|
|
18
|
+
@import url("ds/base.css");
|
|
19
|
+
@import url("base/typography.css"); /* paketets fil, rotniva */
|
|
20
|
+
@import url("ds/components.css");
|
|
21
|
+
...
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**Ekonom:** paketets `base/`-filer kopieras till `app/static/css/ds/base/`-
|
|
25
|
+
undermapp (for att inte krocka med Ekonoms egna `app/static/css/base/`
|
|
26
|
+
filer). `main.css` importerar via `ds/bundles/ekonom.css` som bara
|
|
27
|
+
inkluderar Ekonom-specifika `ds/base.css`, INTE paketets nyare filer:
|
|
28
|
+
|
|
29
|
+
```css
|
|
30
|
+
/* Ekonoms main.css */
|
|
31
|
+
@import url("ds/bundles/ekonom.css");
|
|
32
|
+
|
|
33
|
+
/* ds/bundles/ekonom.css */
|
|
34
|
+
@import url("../ekonom-domain.css");
|
|
35
|
+
@import url("../base.css"); /* Ekonoms egen, inte paketet */
|
|
36
|
+
@import url("../components.css");
|
|
37
|
+
@import url("../utilities.css");
|
|
38
|
+
@import url("../ekonom.css");
|
|
39
|
+
@import url("../components/inline-edit.css");
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
`ds/base/typography.css`, `ds/base/pwa.css`, `ds/base/layout.css`
|
|
43
|
+
(paketets versioner) kopieras till disk via build:ds men laddas aldrig.
|
|
44
|
+
|
|
45
|
+
### Konsekvens
|
|
46
|
+
|
|
47
|
+
Framtida paket-uppdateringar i `base/`-mappen kraver manuella hot-fixes
|
|
48
|
+
i Ekonom. Konkret exempel: v3.2.0 introducerade Inter @import i
|
|
49
|
+
`base/typography.css`. Jubb fick det automatiskt - Ekonom kravde commit
|
|
50
|
+
`5d59f1c` med Inter @import direkt i `main.css`.
|
|
51
|
+
|
|
52
|
+
## Considered options
|
|
53
|
+
|
|
54
|
+
### Option A: Lagg till explicita @import-rader i Ekonoms main.css
|
|
55
|
+
```css
|
|
56
|
+
/* Ekonoms main.css */
|
|
57
|
+
@import url("ds/base/typography.css");
|
|
58
|
+
@import url("ds/base/layout.css");
|
|
59
|
+
@import url("ds/bundles/ekonom.css");
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Pros:**
|
|
63
|
+
- Enklast
|
|
64
|
+
- Minst risk
|
|
65
|
+
- Paketets base/-filer aktiveras automatiskt vid build:ds
|
|
66
|
+
- Bibehaller Ekonoms befintliga ds/-undermapp-arkitektur
|
|
67
|
+
**Cons:**
|
|
68
|
+
- Lite duplicering om paketet utvidgas med ytterligare base/-filer
|
|
69
|
+
(man maste komma ihag att lagga till @import)
|
|
70
|
+
- `base/pwa.css` skips eftersom den redan laddas via base.html-link
|
|
71
|
+
|
|
72
|
+
### Option B: Skriv om build:ds-scriptet att kopiera + auto-importera
|
|
73
|
+
build:ds genererar en `ds/base/_index.css` som listar alla `base/-`
|
|
74
|
+
filer i paketet. main.css importerar `ds/base/_index.css`.
|
|
75
|
+
|
|
76
|
+
**Pros:**
|
|
77
|
+
- Helt automatisk - inga manuella @import-rader behovs
|
|
78
|
+
**Cons:**
|
|
79
|
+
- Mer komplex build-script
|
|
80
|
+
- Genererad fil i ds/-mappen som ingen redigerar manuellt - cognitive
|
|
81
|
+
overhead
|
|
82
|
+
|
|
83
|
+
### Option C: Harmonisera Ekonoms mappstruktur med Jubbs
|
|
84
|
+
Flytta paketets `base/`-filer till Ekonoms `app/static/css/base/`-
|
|
85
|
+
rotniva (overskriver Ekonoms egna). Kraver migration av Ekonoms
|
|
86
|
+
befintliga `base/pwa.css` och `base/typography.css`.
|
|
87
|
+
|
|
88
|
+
**Pros:**
|
|
89
|
+
- Identisk arkitektur Jubb/Ekonom
|
|
90
|
+
- Inga manuella @import behovs
|
|
91
|
+
**Cons:**
|
|
92
|
+
- Mer invasivt - kraver hantering av krockande filnamn
|
|
93
|
+
- Ekonoms befintliga `app/static/css/base/typography.css` har Ekonom-
|
|
94
|
+
specifika styling-regler som inte ar i paketet
|
|
95
|
+
- Storre risk for visuell regression
|
|
96
|
+
|
|
97
|
+
## Recommendation
|
|
98
|
+
**Option A.** Enklast, minst risk, kan ske i samma sprint som annan
|
|
99
|
+
Ekonom-cleanup (eventuellt MADR 0001 .tx-row -> .list-row eller MADR
|
|
100
|
+
0002 parallel-classnames-cleanup).
|
|
101
|
+
|
|
102
|
+
## Pending decision criteria
|
|
103
|
+
- Ar paketets `base/`-utokningar tillrackligt vanliga for att
|
|
104
|
+
rattfardiga Option B (auto-importer)?
|
|
105
|
+
- Ar Ekonoms befintliga `base/`-mapp viktig att behalla, eller kan
|
|
106
|
+
Option C utforas i en cleanup-sprint?
|
|
107
|
+
|
|
108
|
+
## Notes
|
|
109
|
+
- Hot-fix via Option A ar redan delvis utford for Inter (commit 5d59f1c
|
|
110
|
+
i Ekonom lagger till Google Fonts @import direkt i main.css). Inte
|
|
111
|
+
ren Option A men en proxy-losning som fungerar
|