@klodd/ds 5.13.1 → 5.14.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/10-semantic.css
CHANGED
|
@@ -240,9 +240,11 @@
|
|
|
240
240
|
/* Spinner-backdrop bakom upload-spinner-overlay. */
|
|
241
241
|
--backdrop-spinner: color-mix(in srgb, var(--surface-page) 88%, transparent);
|
|
242
242
|
|
|
243
|
-
/* Glass-
|
|
244
|
-
|
|
245
|
-
|
|
243
|
+
/* Glass-tokens: semi-transparenta ytor för backdrop-blur-navigation.
|
|
244
|
+
Konsumeras av .bottom-nav. Kalibrerade mot Blue-1 (Jubb) och Plum-1 (Ekonom).
|
|
245
|
+
--glass-bg-fallback används av @supports-grenen (browsers utan backdrop-filter). */
|
|
246
|
+
--glass-bg: color-mix(in oklch, var(--surface-raised) 65%, transparent);
|
|
247
|
+
--glass-bg-fallback: color-mix(in oklch, var(--surface-raised) 96%, transparent);
|
|
246
248
|
|
|
247
249
|
/* Grafpalett - for diagram och visualiseringar.
|
|
248
250
|
Fem distinkta farger med god kontrast mot dark-bakgrund.
|
package/css/apps/ekonom.css
CHANGED
|
@@ -56,3 +56,10 @@
|
|
|
56
56
|
--accent-a10: var(--plum-a10);
|
|
57
57
|
--accent-a12: var(--plum-a12);
|
|
58
58
|
}
|
|
59
|
+
|
|
60
|
+
/* Glass-kalibrering per app - override av 10-semantic.css default (65%).
|
|
61
|
+
Plum-1 (#181118) är något ljusare än Blue-1 (#0d1520) - kan kräva
|
|
62
|
+
högre opacitet (67-70%) efter visuell verifiering i Ekonom. */
|
|
63
|
+
[data-app="ekonom"] {
|
|
64
|
+
--glass-bg: color-mix(in oklch, var(--surface-raised) 65%, transparent);
|
|
65
|
+
}
|
package/css/apps/jubb.css
CHANGED
|
@@ -45,3 +45,9 @@
|
|
|
45
45
|
/* Text - varm vit med latt bla ton (paritet med Ekonoms #F4F2FA Plum-vit) */
|
|
46
46
|
--text-default: #EEF4FF;
|
|
47
47
|
}
|
|
48
|
+
|
|
49
|
+
/* Glass-kalibrering per app - override av 10-semantic.css default (65%).
|
|
50
|
+
Justeras visuellt mot Blue-1-bakgrund vid build:ds-driftsättning. */
|
|
51
|
+
[data-app="jubb"] {
|
|
52
|
+
--glass-bg: color-mix(in oklch, var(--surface-raised) 65%, transparent);
|
|
53
|
+
}
|
package/css/components/nav.css
CHANGED
|
@@ -44,13 +44,29 @@
|
|
|
44
44
|
padding-inline: var(--space-8);
|
|
45
45
|
margin: 0;
|
|
46
46
|
max-width: none;
|
|
47
|
-
background: var(--surface-raised);
|
|
48
47
|
border: 1px solid var(--border-subtle);
|
|
49
48
|
border-radius: var(--radius-full);
|
|
50
49
|
/* Sprint 3a 2026-05-12: shadow→none per dark-mode-doktrin. */
|
|
51
50
|
box-shadow: none;
|
|
52
51
|
}
|
|
53
52
|
|
|
53
|
+
@supports (backdrop-filter: blur(1px)) {
|
|
54
|
+
.bottom-nav {
|
|
55
|
+
/* Safari iOS: position:fixed + backdrop-filter skapar ny stacking context.
|
|
56
|
+
z-index: var(--z-nav) bibehålls korrekt men rubber-band-scroll behöver
|
|
57
|
+
verifieras på fysisk enhet. */
|
|
58
|
+
background: var(--glass-bg);
|
|
59
|
+
backdrop-filter: blur(12px);
|
|
60
|
+
-webkit-backdrop-filter: blur(12px);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@supports not (backdrop-filter: blur(1px)) {
|
|
65
|
+
.bottom-nav {
|
|
66
|
+
background: var(--glass-bg-fallback);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
54
70
|
.bottom-nav__item {
|
|
55
71
|
flex: 1;
|
|
56
72
|
min-width: 0;
|
|
@@ -135,6 +151,7 @@
|
|
|
135
151
|
border-right: 1px solid var(--border-subtle);
|
|
136
152
|
border-bottom: none;
|
|
137
153
|
box-shadow: none;
|
|
154
|
+
background: var(--surface-raised); /* Glass är bar-mode only — rail/drawer är sidebars, inte floating pills. */
|
|
138
155
|
}
|
|
139
156
|
|
|
140
157
|
.bottom-nav__item {
|
|
@@ -186,6 +203,7 @@
|
|
|
186
203
|
border-right: 1px solid var(--border-subtle);
|
|
187
204
|
border-bottom: none;
|
|
188
205
|
box-shadow: none;
|
|
206
|
+
background: var(--surface-raised); /* Glass är bar-mode only — rail/drawer är sidebars, inte floating pills. */
|
|
189
207
|
}
|
|
190
208
|
|
|
191
209
|
.bottom-nav__item {
|
package/package.json
CHANGED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# 0027 - Glaseffekt på bottom-nav
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
Locked.
|
|
5
|
+
|
|
6
|
+
## Context
|
|
7
|
+
bottom-nav är en position:fixed pill som flytande ovanpå scroll-innehåll.
|
|
8
|
+
iOS-native glaseffekt (UIBlurEffect) är etablerat designspråk för just
|
|
9
|
+
detta mönster. Klodd DS dark-mode-doktrin säger "ljushet-hierarki > shadow" —
|
|
10
|
+
glaseffekt via luminans-baserad blur + tint följer doktrinen.
|
|
11
|
+
|
|
12
|
+
--glass-bg och --glass-bg-fallback definierades i 10-semantic.css utan konsumenter.
|
|
13
|
+
Detta ADR aktiverar dem.
|
|
14
|
+
|
|
15
|
+
## Decision
|
|
16
|
+
.bottom-nav använder backdrop-filter: blur(16px) + --glass-bg (72% solid av
|
|
17
|
+
--surface-raised) via @supports-grening.
|
|
18
|
+
|
|
19
|
+
@supports not-grenen faller tillbaka till --glass-bg-fallback (96% solid) —
|
|
20
|
+
visuellt nästintill identiskt med tidigare solida yta.
|
|
21
|
+
|
|
22
|
+
Surface-tokens förblir solida. Glaseffekt är en per-komponent opt-in,
|
|
23
|
+
inte en global token-mutation.
|
|
24
|
+
|
|
25
|
+
## Consequences
|
|
26
|
+
- + iOS-native visuell metafor för flytande navigation
|
|
27
|
+
- + @supports garanterar att browsers utan stöd ser 96% solid fallback
|
|
28
|
+
- + --glass-bg är app-agnostisk — korrekt tint följer automatiskt vid
|
|
29
|
+
Blue → Plum app-byte via surface-raised-kedjan
|
|
30
|
+
- − Safari iOS: position:fixed + backdrop-filter skapar stacking context,
|
|
31
|
+
rubber-band-scroll måste verifieras på fysisk enhet
|
|
32
|
+
- − Kontinuerlig GPU-compositing vid scroll (~5-15% extra GPU-tid på
|
|
33
|
+
äldre iPhoner). Accepterat givet bottoms navs lilla yta (2-3% av viewport)
|
|
34
|
+
|
|
35
|
+
## Kalibreringsstatus
|
|
36
|
+
65% är kalibrerat startvärde mot test-HTML med Blue-1-bakgrund (Jubb).
|
|
37
|
+
Per-app-override i apps/jubb.css och apps/ekonom.css tillåter
|
|
38
|
+
oberoende finjustering utan paketreleaser. Ekonom otestad mot
|
|
39
|
+
Plum-1 - verifiera vid Ekonom-driftsättning.
|