@klodd/ds 4.5.1 → 5.0.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/css/components/progress.css +46 -13
- package/css/index.css +10 -5
- package/package.json +1 -1
- package/references/04-locked-decisions/0022-progress-the-bar-component.md +147 -0
- package/css/components/colored-bar.css +0 -46
- package/css/components/column-bar.css +0 -78
- package/css/components/dual-bar.css +0 -64
- package/css/components/hbar.css +0 -69
- package/css/components/split-bar.css +0 -55
|
@@ -1,27 +1,55 @@
|
|
|
1
1
|
/* ================================================================
|
|
2
2
|
components/progress.css
|
|
3
|
-
|
|
3
|
+
THE bar-komponent (v5.0.0, ADR 0022). Linjär progress-indikator
|
|
4
|
+
med status-modifiers + token-binding för app-specifika kategori-färger.
|
|
5
|
+
|
|
6
|
+
Konsoliderad i v5.0.0 efter Calle's beslut: "Kor en version som har
|
|
7
|
+
en style. Eventuellt kan vi bygga pa den och gora varianter av den.
|
|
8
|
+
Men alla andra kan bytas mot den, eller tas bort och bara visa
|
|
9
|
+
siffra eller inget alls." Tidigare 6 bar-komponenter (hbar, split-
|
|
10
|
+
bar, column-bar, dual-bar, colored-bar, progress) raderade utom
|
|
11
|
+
progress. Apparna migrerade till denna OR till sifferdisplay
|
|
12
|
+
(kv-list / inline-text).
|
|
4
13
|
|
|
5
14
|
Blocks:
|
|
6
|
-
.progress - track (wrapper)
|
|
15
|
+
.progress - track (wrapper, fyll-bar background)
|
|
7
16
|
|
|
8
17
|
Element:
|
|
9
18
|
.progress__bar - fyllning (alltid DOM-child av .progress)
|
|
10
19
|
|
|
11
|
-
Modifiers:
|
|
12
|
-
.progress__bar
|
|
20
|
+
Modifiers (status-färg på __bar):
|
|
21
|
+
.progress__bar--success
|
|
22
|
+
.progress__bar--warning
|
|
23
|
+
.progress__bar--danger
|
|
24
|
+
|
|
25
|
+
Storlek-modifiers på .progress (track-thickness):
|
|
26
|
+
.progress--thin - 4px (mindre, för tighta layout-kontexter)
|
|
27
|
+
(default) - 6px (standard)
|
|
28
|
+
.progress--thick - 12px (större, för fokuserade visualiseringar)
|
|
29
|
+
|
|
30
|
+
Token-binding för app-specifika kategori-färger:
|
|
31
|
+
<div class="progress">
|
|
32
|
+
<div class="progress__bar cat-mat" data-bar-width="73%"></div>
|
|
33
|
+
</div>
|
|
34
|
+
.cat-mat sätter --bar-accent (definierad i app-domain-CSS).
|
|
35
|
+
.progress__bar prefererar --bar-accent över default --bar-fill-color.
|
|
36
|
+
|
|
37
|
+
Multi-instance composition (var split-bar):
|
|
38
|
+
För segment/staplad användning, lägg flera .progress side-by-side
|
|
39
|
+
inom flex-container ELLER använd inline siffror i kv-list.
|
|
40
|
+
|
|
41
|
+
Vertikal användning (var column-bar):
|
|
42
|
+
För historik-jämförelse, använd kv-list med tabular-nums för
|
|
43
|
+
numerisk presentation. Ingen vertikal-modifier - data är tydligare
|
|
44
|
+
som siffror för historik (Calle 2026-05-14).
|
|
13
45
|
|
|
14
46
|
Bredd via CSP-safe pattern (bar-styles.js applicerar style.width
|
|
15
|
-
|
|
47
|
+
från data-bar-width vid runtime):
|
|
16
48
|
<div class="progress">
|
|
17
49
|
<div class="progress__bar progress__bar--warning"
|
|
18
50
|
data-bar-width="73%"></div>
|
|
19
51
|
</div>
|
|
20
52
|
|
|
21
|
-
Sprint 4 (3.8.0): .progress-bar omdopt till BEM-element .progress__bar
|
|
22
|
-
per kvalitetsbar regel 1 (BEM-konvention). 0 produktions-templates
|
|
23
|
-
paverkades - .progress-bar fanns bara i design-showcase.
|
|
24
|
-
|
|
25
53
|
Respekterar prefers-reduced-motion (transition tas bort).
|
|
26
54
|
================================================================ */
|
|
27
55
|
.progress {
|
|
@@ -35,16 +63,21 @@
|
|
|
35
63
|
overflow: hidden;
|
|
36
64
|
}
|
|
37
65
|
|
|
66
|
+
.progress--thin { height: var(--space-4); }
|
|
67
|
+
.progress--thick { height: 12px; }
|
|
68
|
+
|
|
38
69
|
.progress__bar {
|
|
39
70
|
height: 100%;
|
|
40
|
-
|
|
71
|
+
/* v5.0.0 (ADR 0022): --bar-accent-binding for app-domain-kategorier.
|
|
72
|
+
Default --bar-fill-color (=--accent-9) om bindning saknas. App-
|
|
73
|
+
domain CSS satter --bar-accent via wrapper-klass (.cat-mat etc). */
|
|
74
|
+
background: var(--bar-accent, var(--bar-fill-color));
|
|
41
75
|
border-radius: var(--bar-fill-radius);
|
|
42
|
-
transition:
|
|
76
|
+
transition: var(--bar-fill-transition);
|
|
43
77
|
}
|
|
44
78
|
|
|
45
79
|
/* Progress-specifika status-modifiers behaller --bg-X (solid status-bg-
|
|
46
|
-
tema
|
|
47
|
-
varianter). Medvetet annorlunda fran hbar/split-bar/dual-bar. */
|
|
80
|
+
tema). Override:ar --bar-accent-binding nar applicerad. */
|
|
48
81
|
.progress__bar--success { background: var(--bg-success); }
|
|
49
82
|
.progress__bar--warning { background: var(--bg-warning); }
|
|
50
83
|
.progress__bar--danger { background: var(--bg-danger); }
|
package/css/index.css
CHANGED
|
@@ -47,8 +47,10 @@
|
|
|
47
47
|
@import './components/form.css';
|
|
48
48
|
@import './components/setting-row.css';
|
|
49
49
|
@import './components/collapsible.css';
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
/* hbar.css + split-bar.css RADERADE v5.0.0 (ADR 0022) - .progress
|
|
51
|
+
med composition-pattern (label utanfor + .progress) ersatter hbar.
|
|
52
|
+
split-bar ersatt av kv-list (siffror) eller flera .progress
|
|
53
|
+
side-by-side. */
|
|
52
54
|
@import './components/hero.css';
|
|
53
55
|
@import './components/chip.css';
|
|
54
56
|
@import './components/avatar.css';
|
|
@@ -64,7 +66,8 @@
|
|
|
64
66
|
|
|
65
67
|
/* v3.1.0 - generic kategori-monster (token-binding via app-domain-CSS) */
|
|
66
68
|
@import './components/colored-row.css';
|
|
67
|
-
|
|
69
|
+
/* colored-bar.css RADERAD v5.0.0 (ADR 0022) - .progress aterkonsolidering
|
|
70
|
+
ovanfor inkorporerar --bar-accent-binding. */
|
|
68
71
|
|
|
69
72
|
/* v3.5.1 - sheet-content (sprint-65 form-monster, generiska BEM-namn) */
|
|
70
73
|
@import './components/sheet-content.css';
|
|
@@ -82,5 +85,7 @@
|
|
|
82
85
|
@import './components/icon-circle.css';
|
|
83
86
|
@import './components/expandable-row.css';
|
|
84
87
|
@import './components/item-stack.css';
|
|
85
|
-
|
|
86
|
-
|
|
88
|
+
/* column-bar.css + dual-bar.css RADERADE v5.0.0 (ADR 0022) -
|
|
89
|
+
amorterings-historik visas som kv-list (siffror) istallet for
|
|
90
|
+
vertikala staplar; equity-split visas som tva .progress med
|
|
91
|
+
label-row ovan istallet for dual-bar. */
|
package/package.json
CHANGED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# 0022 - Progress = THE bar-komponent (radikal konsolidering)
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
Locked. MAJOR version-bump (5.0.0) - breaking change.
|
|
5
|
+
|
|
6
|
+
## Context
|
|
7
|
+
|
|
8
|
+
Audit 2026-05-14 (sen kvall, fas 4) inventerade 6 bar-komponenter:
|
|
9
|
+
progress, hbar, split-bar, column-bar, dual-bar, colored-bar. Alla
|
|
10
|
+
loste samma grundproblem (fyll-bar med procent) men med olika
|
|
11
|
+
template-strukturer for olika label-positioner och data-modeller.
|
|
12
|
+
|
|
13
|
+
ADR 0021 (v4.5.0) konsoliderade tokens. Men 6 komponent-namespaces
|
|
14
|
+
kvarstod. Calle's reaktion 2026-05-14: "Jag tycker att manga bars
|
|
15
|
+
ar riktigt markliga om jag ska vara arlig. Kor en version som har
|
|
16
|
+
en style och kan vara 14 progress kanner jag. Eventuellt kan vi bygga
|
|
17
|
+
pa den och gora varianter av den. Men alla andra kan bytas mot den,
|
|
18
|
+
eller tas bort och bara visa siffra eller inget alls."
|
|
19
|
+
|
|
20
|
+
Klar riktning: konsolidera radikalt. Behall .progress, eliminera
|
|
21
|
+
de andra 5.
|
|
22
|
+
|
|
23
|
+
## Decision
|
|
24
|
+
|
|
25
|
+
**.progress ar THE bar-komponent.** Alla andra raderas. Templates
|
|
26
|
+
migreras till .progress + composition-pattern eller siffror i kv-list.
|
|
27
|
+
|
|
28
|
+
### Komponent-stat efter
|
|
29
|
+
|
|
30
|
+
**Behalls:**
|
|
31
|
+
- `.progress` + `.progress__bar` (track + fill)
|
|
32
|
+
- Status-modifiers: `.progress__bar--success/--warning/--danger`
|
|
33
|
+
- **Nya storlek-modifiers:** `.progress--thin` (4px), default (6px),
|
|
34
|
+
`.progress--thick` (12px)
|
|
35
|
+
- **Ny token-binding:** `.progress__bar` lasr `--bar-accent` for
|
|
36
|
+
app-domain-kategori-farger (pattern fran ADR 0020)
|
|
37
|
+
|
|
38
|
+
**Raderas:**
|
|
39
|
+
- `.hbar` + element + modifiers
|
|
40
|
+
- `.split-bar` + element + modifiers
|
|
41
|
+
- `.column-bar` + `.column-bar-list` + element
|
|
42
|
+
- `.dual-bar` + element + modifiers
|
|
43
|
+
- `.colored-bar` + storlek/vertical-modifiers
|
|
44
|
+
|
|
45
|
+
### Migration-mapping per anvandning
|
|
46
|
+
|
|
47
|
+
| Tidigare | Ny implementation | Anvand i |
|
|
48
|
+
|---|---|---|
|
|
49
|
+
| `.hbar` (kategori-utfall med label-rad) | `<div class="cat-bar-row">label + amount</div>` + `.progress` (composition) | kategorier.html, privat.html |
|
|
50
|
+
| `.split-bar` (multi-segment) | `<ul class="kv-list">` med siffror per segment | bolan.html (cost-segments), installningar/var_bostad.html (equity vs debt) |
|
|
51
|
+
| `.split-bar` (2-andelar) | `.progress` med 1 fill (visar primary-andel) | installningar/vart_hushall.html (split-pct) |
|
|
52
|
+
| `.column-bar` (vertikal historik) | `<ul class="kv-list">` med siffror per period | bolan.html (amorterings-historik) |
|
|
53
|
+
| `.dual-bar` (2 vardes med pct) | 2x `.progress` med label-row ovan vardera (composition) | bolan.html (amort vs apprec) |
|
|
54
|
+
| `.colored-bar` (standalone) | `.progress` med .cat-X-binding | aldrig anvant i prod |
|
|
55
|
+
|
|
56
|
+
Generaliserat composition-pattern for label-context:
|
|
57
|
+
|
|
58
|
+
```html
|
|
59
|
+
<!-- ny "rich progress"-pattern (ersatter hbar) -->
|
|
60
|
+
<div>
|
|
61
|
+
<div class="cat-bar-row">
|
|
62
|
+
<span>{label}</span>
|
|
63
|
+
<span class="text-num ml-auto">{amount}</span>
|
|
64
|
+
</div>
|
|
65
|
+
<div class="progress">
|
|
66
|
+
<div class="progress__bar cat-mat" data-bar-width="{pct}%"></div>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
`.cat-bar-row` ar Ekonom-domain-utility i `ds/ekonom.css` (flex-row
|
|
72
|
+
med gap + align-items center). Andra appar definierar egen
|
|
73
|
+
label-row-pattern.
|
|
74
|
+
|
|
75
|
+
### Numerisk presentation som default
|
|
76
|
+
|
|
77
|
+
Per Calle: "kan tas bort och bara visa siffra eller inget alls" -
|
|
78
|
+
visualisera siffror inte alltid bar. `.kv-list` (key-value-list)
|
|
79
|
+
ar default for tabular data. Bar BARA nar visuell jamforelse ger
|
|
80
|
+
mervarde (single-fill-progress, kategori-stack).
|
|
81
|
+
|
|
82
|
+
## Konsekvenser
|
|
83
|
+
|
|
84
|
+
**Bra:**
|
|
85
|
+
- 6 -> 1 bar-komponent. Mental modell ar enkel: "vill du ha en bar?
|
|
86
|
+
anvand .progress".
|
|
87
|
+
- Nya komponenter (--thin/--thick/--bar-accent) ger flexibilitet
|
|
88
|
+
utan ny namespace.
|
|
89
|
+
- Templates blir tydligare (composition-pattern syns explicit).
|
|
90
|
+
- Paket-CSS minskar med ~200 rader (5 filer raderade).
|
|
91
|
+
|
|
92
|
+
**Trade-offs:**
|
|
93
|
+
- BREAKING MAJOR-bump 5.0.0. Alla appar maste migrera templates
|
|
94
|
+
parallellt med paket-bump.
|
|
95
|
+
- Multi-segment split-bar forsvinner som visuell pattern - bolan-
|
|
96
|
+
cost-segments visas nu som siffror (kv-list). Acceptabelt per
|
|
97
|
+
Calle's "siffror eller inget".
|
|
98
|
+
- Vertikal column-bar forsvinner som visuell pattern - amorterings-
|
|
99
|
+
historik visas nu som siffror (kv-list). Acceptabelt.
|
|
100
|
+
- dual-bar's "meta vid sidan"-layout forsvinner. Equity-split visas
|
|
101
|
+
nu som tva separata progress med label-row ovan. Tar mer vertikal
|
|
102
|
+
yta men ar tydligare.
|
|
103
|
+
|
|
104
|
+
## Migration genomford 2026-05-14
|
|
105
|
+
|
|
106
|
+
**Klodd-ds v4.5.1 -> v5.0.0:**
|
|
107
|
+
- `progress.css` utokad: storlek-modifiers (--thin/--thick) +
|
|
108
|
+
`--bar-accent`-binding pa `__bar`
|
|
109
|
+
- 5 komponentfiler RADERADE: `hbar.css`, `split-bar.css`,
|
|
110
|
+
`column-bar.css`, `dual-bar.css`, `colored-bar.css`
|
|
111
|
+
- `index.css` uppdaterad
|
|
112
|
+
|
|
113
|
+
**Ekonom-templates migrerade (5 filer):**
|
|
114
|
+
- kategorier.html: hbar-loop -> cat-bar-row + progress
|
|
115
|
+
- privat.html: hbar-loop -> cat-bar-row + progress
|
|
116
|
+
- bolan.html: dual-bar -> 2x progress + label-row; split-bar -> kv-list;
|
|
117
|
+
column-bar (history) -> kv-list
|
|
118
|
+
- installningar/vart_hushall.html: split-bar -> progress (single fill)
|
|
119
|
+
- installningar/var_bostad.html: split-bar -> progress (--success)
|
|
120
|
+
|
|
121
|
+
**Ekonoms ds/ekonom.css:**
|
|
122
|
+
- `.cat-bar-list > .hbar` rule -> `> li`
|
|
123
|
+
- `.cat-bar-row` block tillagt (label-row composition-utility)
|
|
124
|
+
|
|
125
|
+
**Ekonoms /design:**
|
|
126
|
+
- Sektioner 22 (colored-bar), 25 (hbar), 32 (split-bar), 46 (column-bar),
|
|
127
|
+
47 (dual-bar) RADERADE inklusive nav-rader
|
|
128
|
+
- Sektion 14 (Progress) UTOKAD med --thin/--thick/--bar-accent +
|
|
129
|
+
composition-pattern-demo
|
|
130
|
+
- Sektioner 55 + 57 (Local-wrappers, Cat-bindings) uppdaterade att
|
|
131
|
+
visa progress istallet for hbar
|
|
132
|
+
|
|
133
|
+
**Jubbs /design:**
|
|
134
|
+
- Samma 5 sektioner + nav-rader RADERADE (Jubb anvande inte de 5
|
|
135
|
+
i prod-templates - bara /design-styleguide)
|
|
136
|
+
|
|
137
|
+
## References
|
|
138
|
+
|
|
139
|
+
- ADR 0017 (padding-skala-extended)
|
|
140
|
+
- ADR 0018 (outline-offset-list-rows)
|
|
141
|
+
- ADR 0019 (hero-amount-bem-canonical)
|
|
142
|
+
- ADR 0020 (domain-to-package-lift) - tidigare lift av Ekonom-domain
|
|
143
|
+
- ADR 0021 (bar-shared-tokens) - Steg 1 token-konsolidering
|
|
144
|
+
- Calle's beslut 2026-05-14 (sen kvall): "Kor en version som har en
|
|
145
|
+
style. Eventuellt kan vi bygga pa den och gora varianter av den.
|
|
146
|
+
Men alla andra kan bytas mot den, eller tas bort och bara visa
|
|
147
|
+
siffra eller inget alls."
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/* ================================================================
|
|
2
|
-
components/colored-bar.css
|
|
3
|
-
Generic horisontell stapel med accentfarg.
|
|
4
|
-
|
|
5
|
-
Anvand for: budget-staplar, kategori-staplar, progress med
|
|
6
|
-
semantisk farg
|
|
7
|
-
Inte for: generisk progress utan kategori (anvand progress.css)
|
|
8
|
-
|
|
9
|
-
Mont: app satter --bar-accent pa elementet eller via en
|
|
10
|
-
wrapper-klass i app-domain-CSS:
|
|
11
|
-
|
|
12
|
-
.my-category { --bar-accent: var(--my-token); }
|
|
13
|
-
|
|
14
|
-
<div class="hbar__track">
|
|
15
|
-
<div class="colored-bar my-category"></div>
|
|
16
|
-
</div>
|
|
17
|
-
|
|
18
|
-
Kombineras med .hbar__track for container-struktur. Paketet vet
|
|
19
|
-
ingenting om kategorier - appen agar datan + bindningen.
|
|
20
|
-
Se references/02-components.md "Kategori-monstret".
|
|
21
|
-
================================================================ */
|
|
22
|
-
.colored-bar {
|
|
23
|
-
/* v4.5.0 (ADR 0021): konsumerar shared --bar-fill-color istallet for
|
|
24
|
-
direkt --accent-9. --bar-accent-binding bevaras for app-domain-tokens. */
|
|
25
|
-
background: var(--bar-accent, var(--bar-fill-color));
|
|
26
|
-
height: 100%;
|
|
27
|
-
border-radius: var(--bar-fill-radius);
|
|
28
|
-
transition: width var(--dur-base) var(--ease-out);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/* Storlekar */
|
|
32
|
-
.colored-bar--sm { height: var(--space-6); }
|
|
33
|
-
.colored-bar--md { height: var(--space-8); }
|
|
34
|
-
.colored-bar--lg { height: var(--space-12); }
|
|
35
|
-
|
|
36
|
-
/* Vertikal variant - used i charts/dashboards */
|
|
37
|
-
.colored-bar--vertical {
|
|
38
|
-
width: 100%;
|
|
39
|
-
height: var(--bar-accent-height, 100%);
|
|
40
|
-
border-radius: var(--radius-full);
|
|
41
|
-
transition: height var(--dur-base) var(--ease-out);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
@media (prefers-reduced-motion: reduce) {
|
|
45
|
-
.colored-bar { transition: none; }
|
|
46
|
-
}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/* ================================================================
|
|
2
|
-
components/column-bar.css
|
|
3
|
-
Vertikal historik-stapel - en per period (manad, vecka). Visar
|
|
4
|
-
tabular-value over baren + label under. Hojd baseras pa fill-
|
|
5
|
-
percent (data-bar-height).
|
|
6
|
-
|
|
7
|
-
Komplement till .hbar (horisontell). .hbar lampar single-bar med
|
|
8
|
-
label+value-rad bredvid; .column-bar staplar manader-kolumner i
|
|
9
|
-
en rad sa user kan jamfora over tid.
|
|
10
|
-
|
|
11
|
-
Lyft fran Ekonom v4.4.0 (var .amort-bar, ADR 0020).
|
|
12
|
-
|
|
13
|
-
Blocks:
|
|
14
|
-
.column-bar-list - flex-wrapper for flera column-bars (height 160px)
|
|
15
|
-
.column-bar - en kolumn (flex: 1)
|
|
16
|
-
|
|
17
|
-
Element:
|
|
18
|
-
.column-bar__value - tabular-amount over baren
|
|
19
|
-
.column-bar__track - track-container (full kolumn-height)
|
|
20
|
-
.column-bar__fill - faktisk faded fill (positive-color default)
|
|
21
|
-
.column-bar__label - micro-label under baren
|
|
22
|
-
================================================================ */
|
|
23
|
-
.column-bar-list {
|
|
24
|
-
display: flex;
|
|
25
|
-
gap: var(--space-10);
|
|
26
|
-
align-items: flex-end;
|
|
27
|
-
height: 160px;
|
|
28
|
-
padding: var(--space-16) 0 0;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.column-bar {
|
|
32
|
-
flex: 1;
|
|
33
|
-
display: flex;
|
|
34
|
-
flex-direction: column;
|
|
35
|
-
align-items: center;
|
|
36
|
-
gap: var(--space-6);
|
|
37
|
-
height: 100%;
|
|
38
|
-
justify-content: flex-end;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
.column-bar__value {
|
|
42
|
-
font-size: var(--fs-11);
|
|
43
|
-
font-weight: var(--fw-medium);
|
|
44
|
-
color: var(--text-subtle);
|
|
45
|
-
font-variant-numeric: tabular-nums;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.column-bar__track {
|
|
49
|
-
/* v4.5.0 (ADR 0021): per-komponent override av --bar-track-color
|
|
50
|
-
(sunken vs default-active) och --bar-track-radius (4px vs full) -
|
|
51
|
-
vertikal stapel skulle bli oval med radius-full. */
|
|
52
|
-
--bar-track-color: var(--surface-sunken);
|
|
53
|
-
--bar-track-radius: var(--radius-4);
|
|
54
|
-
width: 100%;
|
|
55
|
-
flex: 1;
|
|
56
|
-
background: var(--bar-track-color);
|
|
57
|
-
border-radius: var(--bar-track-radius);
|
|
58
|
-
overflow: hidden;
|
|
59
|
-
display: flex;
|
|
60
|
-
align-items: flex-end;
|
|
61
|
-
min-height: 0;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.column-bar__fill {
|
|
65
|
-
width: 100%;
|
|
66
|
-
background: var(--bar-fill-color-positive);
|
|
67
|
-
border-radius: var(--radius-4);
|
|
68
|
-
transition: var(--tr-height-slower);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
.column-bar__label {
|
|
72
|
-
font-size: var(--fs-11);
|
|
73
|
-
color: var(--text-muted);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
@media (prefers-reduced-motion: reduce) {
|
|
77
|
-
.column-bar__fill { transition: none; }
|
|
78
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/* ================================================================
|
|
2
|
-
components/dual-bar.css
|
|
3
|
-
Horisontell stapel med tva separata fills - en for varje delvarde
|
|
4
|
-
(t.ex. amortering vs varde-okning). Skiljer sig fran .split-bar
|
|
5
|
-
som ar ETT span med segment; .dual-bar har separata rows fr varje
|
|
6
|
-
varde med egen meta-text.
|
|
7
|
-
|
|
8
|
-
Typisk anvandning: bolane-formogenhet (amorterat belopp vs
|
|
9
|
-
marknadsvarde-uppskattning), portfolio-fordelning, sparmal-progress.
|
|
10
|
-
|
|
11
|
-
Lyft fran Ekonom v4.4.0 (var .equity-bar-row + .equity-amort/
|
|
12
|
-
.equity-apprec, ADR 0020).
|
|
13
|
-
|
|
14
|
-
Blocks:
|
|
15
|
-
.dual-bar - rad med track + fill + meta-text
|
|
16
|
-
|
|
17
|
-
Element:
|
|
18
|
-
.dual-bar__track - track-container (height 12px)
|
|
19
|
-
.dual-bar__fill - faktisk fill (positive default)
|
|
20
|
-
.dual-bar__meta - hoger-stalld meta-text
|
|
21
|
-
|
|
22
|
-
Modifiers:
|
|
23
|
-
.dual-bar__fill--amort - positive-color (amortering)
|
|
24
|
-
.dual-bar__fill--apprec - accent-color (uppskattning)
|
|
25
|
-
================================================================ */
|
|
26
|
-
.dual-bar {
|
|
27
|
-
display: flex;
|
|
28
|
-
align-items: center;
|
|
29
|
-
gap: var(--space-12);
|
|
30
|
-
margin-bottom: var(--space-10);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.dual-bar__track {
|
|
34
|
-
/* v4.5.0 (ADR 0021): per-komponent override av --bar-track-color
|
|
35
|
-
(sunken vs default-active). */
|
|
36
|
-
--bar-track-color: var(--surface-sunken);
|
|
37
|
-
flex: 1;
|
|
38
|
-
height: 12px;
|
|
39
|
-
background: var(--bar-track-color);
|
|
40
|
-
border-radius: var(--bar-track-radius);
|
|
41
|
-
overflow: hidden;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.dual-bar__fill {
|
|
45
|
-
height: 100%;
|
|
46
|
-
border-radius: var(--bar-fill-radius);
|
|
47
|
-
background: var(--bar-fill-color-positive);
|
|
48
|
-
transition: var(--tr-width-slower);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.dual-bar__fill--amort { background: var(--bar-fill-color-positive); }
|
|
52
|
-
.dual-bar__fill--apprec { background: var(--bar-fill-color); }
|
|
53
|
-
|
|
54
|
-
.dual-bar__meta {
|
|
55
|
-
display: flex;
|
|
56
|
-
flex-direction: column;
|
|
57
|
-
align-items: flex-end;
|
|
58
|
-
min-width: 5.5rem;
|
|
59
|
-
line-height: var(--lh-relaxed);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
@media (prefers-reduced-motion: reduce) {
|
|
63
|
-
.dual-bar__fill { transition: none; }
|
|
64
|
-
}
|
package/css/components/hbar.css
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/* ================================================================
|
|
2
|
-
components/hbar.css
|
|
3
|
-
Horisontell bar - generic single-bar med label + value + track + fill.
|
|
4
|
-
Anvands for kategori-utfall, score-distribution, kostnadsfordelningar.
|
|
5
|
-
|
|
6
|
-
.hbar ar bas. .hbar__track ar fyllbar bakgrund. .hbar__fill ar
|
|
7
|
-
det procent-fyllda overlayet. .hbar__label och .hbar__value ar
|
|
8
|
-
text-element under/over baren.
|
|
9
|
-
|
|
10
|
-
Bredd pa .hbar__fill satts via data-bar-width + bar-styles.js
|
|
11
|
-
(CSP-safe). Manuell override-class kan ocksa anvandas (.hbar__fill-50).
|
|
12
|
-
================================================================ */
|
|
13
|
-
.hbar {
|
|
14
|
-
display: flex;
|
|
15
|
-
flex-direction: column;
|
|
16
|
-
gap: var(--space-6);
|
|
17
|
-
margin-bottom: var(--space-12);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.hbar__item {
|
|
21
|
-
display: flex;
|
|
22
|
-
align-items: baseline;
|
|
23
|
-
justify-content: space-between;
|
|
24
|
-
gap: var(--space-10);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.hbar__label {
|
|
28
|
-
font-size: var(--fs-13);
|
|
29
|
-
color: var(--text-subtle);
|
|
30
|
-
flex: 1;
|
|
31
|
-
min-width: 0;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.hbar__value {
|
|
35
|
-
font-size: var(--fs-13);
|
|
36
|
-
font-weight: var(--fw-medium);
|
|
37
|
-
color: var(--text-default);
|
|
38
|
-
font-variant-numeric: tabular-nums;
|
|
39
|
-
white-space: nowrap;
|
|
40
|
-
flex-shrink: 0;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
.hbar__track {
|
|
44
|
-
width: 100%;
|
|
45
|
-
height: var(--space-6);
|
|
46
|
-
background: var(--bar-track-color);
|
|
47
|
-
border-radius: var(--bar-track-radius);
|
|
48
|
-
overflow: hidden;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.hbar__fill {
|
|
52
|
-
height: 100%;
|
|
53
|
-
/* v4.4.0 (ADR 0020): --bar-accent-binding for app-domain-kategorier.
|
|
54
|
-
Default --bar-fill-color (=--accent-9) om bindning saknas. App-domain
|
|
55
|
-
CSS satter --bar-accent via wrapper-klass: <div class="hbar__fill cat-mat">.
|
|
56
|
-
v4.5.0 (ADR 0021): konsumerar shared --bar-fill-color istallet for
|
|
57
|
-
direkt --accent-9. */
|
|
58
|
-
background: var(--bar-accent, var(--bar-fill-color));
|
|
59
|
-
border-radius: var(--bar-fill-radius);
|
|
60
|
-
transition: var(--bar-fill-transition);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.hbar__fill--positive { background: var(--bar-fill-color-positive); }
|
|
64
|
-
.hbar__fill--warning { background: var(--bar-fill-color-warning); }
|
|
65
|
-
.hbar__fill--negative { background: var(--bar-fill-color-negative); }
|
|
66
|
-
|
|
67
|
-
@media (prefers-reduced-motion: reduce) {
|
|
68
|
-
.hbar__fill { transition: none; }
|
|
69
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/* ================================================================
|
|
2
|
-
components/split-bar.css
|
|
3
|
-
Visuell proportionsbar dar tva eller flera segment delar baren.
|
|
4
|
-
Anvands for cost-split (vem betalar), debt-vs-equity, time-allocation.
|
|
5
|
-
|
|
6
|
-
Modell: .split-bar har N stycken .split-bar__segment som tillsammans
|
|
7
|
-
fyller 100%. Brett valbart segment satts genom data-bar-width-pattern
|
|
8
|
-
eller manuella width-classes.
|
|
9
|
-
================================================================ */
|
|
10
|
-
.split-bar {
|
|
11
|
-
display: flex;
|
|
12
|
-
height: 8px;
|
|
13
|
-
border-radius: var(--bar-track-radius);
|
|
14
|
-
overflow: hidden;
|
|
15
|
-
background: var(--bar-track-color);
|
|
16
|
-
margin: var(--space-8) 0 var(--space-12);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.split-bar__segment {
|
|
20
|
-
height: 100%;
|
|
21
|
-
transition: var(--bar-fill-transition);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/* v4.5.0 (ADR 0021): segments konsumerar shared --bar-fill-color-X.
|
|
25
|
-
--secondary anvander --text-disabled (gray-out-look, inte stadard-color). */
|
|
26
|
-
.split-bar__segment--primary { background: var(--bar-fill-color); }
|
|
27
|
-
.split-bar__segment--secondary { background: var(--text-disabled); flex: 1; }
|
|
28
|
-
.split-bar__segment--positive { background: var(--bar-fill-color-positive); }
|
|
29
|
-
.split-bar__segment--negative { background: var(--bar-fill-color-negative); }
|
|
30
|
-
.split-bar__segment--warning { background: var(--bar-fill-color-warning); }
|
|
31
|
-
|
|
32
|
-
.split-bar__label {
|
|
33
|
-
font-size: var(--fs-13);
|
|
34
|
-
color: var(--text-subtle);
|
|
35
|
-
margin: 0 0 var(--space-6);
|
|
36
|
-
line-height: var(--lh-snug);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.split-bar__label strong {
|
|
40
|
-
color: var(--text-default);
|
|
41
|
-
font-weight: var(--fw-medium);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.split-bar__labels {
|
|
45
|
-
display: flex;
|
|
46
|
-
justify-content: space-between;
|
|
47
|
-
gap: var(--space-10);
|
|
48
|
-
margin-top: var(--space-6);
|
|
49
|
-
font-size: var(--fs-12);
|
|
50
|
-
color: var(--text-subtle);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
@media (prefers-reduced-motion: reduce) {
|
|
54
|
-
.split-bar__segment { transition: none; }
|
|
55
|
-
}
|