@klodd/ds 3.10.2 → 3.10.4
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
|
@@ -63,6 +63,7 @@ En sprint — oavsett om den innehåller CSS, JS eller bara dokumentation —
|
|
|
63
63
|
2. `npm install @klodd/ds@X.Y.Z && npm run build:ds` är kört i båda app-repos
|
|
64
64
|
(använd explicit versionsnummer, inte @latest — npm-cache kan ligga efter
|
|
65
65
|
direkt efter publish)
|
|
66
|
+
Om du får ETARGET vid npm install - lägg till --prefer-online för att bypassa npm-cache.
|
|
66
67
|
3. App-commits är pushade
|
|
67
68
|
|
|
68
69
|
Ingen CHANGELOG - versionshistorik finns i git log och DESIGN_CHAT.md.
|
package/css/10-semantic.css
CHANGED
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
--surface-hover: light-dark(oklch(0.93 0.004 250), var(--gray-4));
|
|
55
55
|
|
|
56
56
|
/* Active/pressed-state.
|
|
57
|
-
Anvand for: :active-bakgrund, .
|
|
57
|
+
Anvand for: :active-bakgrund, .bottom-nav__item--active.
|
|
58
58
|
INTE for: hover (anvand --surface-hover). */
|
|
59
59
|
--surface-active: light-dark(oklch(0.88 0.005 250), var(--gray-5));
|
|
60
60
|
|
package/js/nav-optimistic.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*--------------------------------------------------------------
|
|
2
2
|
Sprint F1 + G4 + I: optimistic active-flytt pa bottom-nav.
|
|
3
3
|
|
|
4
|
-
Problem (CE 2026-04-27): tap pa bottom-nav-
|
|
4
|
+
Problem (CE 2026-04-27): tap pa bottom-nav-item tar ~1s innan
|
|
5
5
|
podden blir visuellt aktiv. Anvandaren ser inaktiv pod tills
|
|
6
6
|
hela nya sidan laddats. Native-appar uppdaterar tab-bar
|
|
7
7
|
omedelbart vid tap, oberoende av content-render.
|
|
8
8
|
|
|
9
|
-
Losning: vid click pa nav-
|
|
9
|
+
Losning: vid click pa bottom-nav-item flytta active-class direkt till
|
|
10
10
|
tappad pod. Turbo-fetch (Sprint I) eller cross-document VT
|
|
11
11
|
renderar content parallellt. Failsafe rullar tillbaka active-
|
|
12
12
|
flytt om navigation inte landar (notification, network-stall
|
|
@@ -39,11 +39,11 @@
|
|
|
39
39
|
if ( e.metaKey || e.ctrlKey || e.shiftKey || e.altKey ) return;
|
|
40
40
|
if ( e.button !== undefined && e.button !== 0 ) return;
|
|
41
41
|
|
|
42
|
-
const pod = e.target.closest( '.
|
|
42
|
+
const pod = e.target.closest( '.bottom-nav__item' );
|
|
43
43
|
if ( ! pod || ! nav.contains( pod ) ) return;
|
|
44
44
|
if ( pod.classList.contains( 'bottom-nav__item--active' ) ) return;
|
|
45
45
|
|
|
46
|
-
const previousActive = nav.querySelector( '.
|
|
46
|
+
const previousActive = nav.querySelector( '.bottom-nav__item--active' );
|
|
47
47
|
previousActive && previousActive.classList.remove( 'bottom-nav__item--active' );
|
|
48
48
|
pod.classList.add( 'bottom-nav__item--active' );
|
|
49
49
|
|
package/js/turbo-nav.js
CHANGED
|
@@ -184,8 +184,8 @@
|
|
|
184
184
|
const newNav = newDoc.querySelector( '.bottom-nav' );
|
|
185
185
|
const liveNav = document.querySelector( '.bottom-nav' );
|
|
186
186
|
if ( newNav && liveNav ) {
|
|
187
|
-
const newActiveHref = newNav.querySelector( '.
|
|
188
|
-
const liveActive = liveNav.querySelector( '.
|
|
187
|
+
const newActiveHref = newNav.querySelector( '.bottom-nav__item--active' );
|
|
188
|
+
const liveActive = liveNav.querySelector( '.bottom-nav__item--active' );
|
|
189
189
|
if ( liveActive ) liveActive.classList.remove( 'bottom-nav__item--active' );
|
|
190
190
|
if ( newActiveHref ) {
|
|
191
191
|
const target = liveNav.querySelector(
|
|
@@ -287,8 +287,16 @@
|
|
|
287
287
|
|
|
288
288
|
try {
|
|
289
289
|
if ( typeof document.startViewTransition === 'function' && ! skipVT ) {
|
|
290
|
-
|
|
291
|
-
|
|
290
|
+
let swapDone = false;
|
|
291
|
+
const guardedSwap = () => { swapDone = true; swap(); };
|
|
292
|
+
try {
|
|
293
|
+
const transition = document.startViewTransition( guardedSwap );
|
|
294
|
+
try { await transition.finished; } catch ( _ ) { /* ignore */ }
|
|
295
|
+
} catch ( _ ) {
|
|
296
|
+
// startViewTransition() threw synchronously (e.g. InvalidStateError).
|
|
297
|
+
// Fallback to instant swap without animation.
|
|
298
|
+
if ( ! swapDone ) swap();
|
|
299
|
+
}
|
|
292
300
|
} else {
|
|
293
301
|
swap();
|
|
294
302
|
}
|
package/package.json
CHANGED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# 0014 - Ekonom colored-row/colored-bar migration
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
Pending.
|
|
5
|
+
|
|
6
|
+
## Context
|
|
7
|
+
Paketet har .colored-row och .colored-bar med --row-accent/--bar-accent
|
|
8
|
+
token-mekanism (ADR Kategori-monstret i 02-components.md).
|
|
9
|
+
|
|
10
|
+
Ekonom implementerade ett parallellt system innan eller utan adoption
|
|
11
|
+
av paketets komponenter:
|
|
12
|
+
|
|
13
|
+
- .cat-list-row (ekonom.css) - flex-container for kategoriserade rader,
|
|
14
|
+
UTAN border-left och UTAN var(--row-accent). Aktivt anvand i templates.
|
|
15
|
+
- .cat-bar-fill (ekonom.css) - background med cat-X-token, aktivt
|
|
16
|
+
anvand via .cat-bar-mat/-el/... i templates.
|
|
17
|
+
- 8 .cat-tx-X { --row-accent: ... } bindings i ekonom-domain.css -
|
|
18
|
+
setter --row-accent men ingen consumer laser tokenet. DEAD.
|
|
19
|
+
|
|
20
|
+
Jubb har ingen colored-row/colored-bar-bindning alls.
|
|
21
|
+
|
|
22
|
+
## Considered options
|
|
23
|
+
|
|
24
|
+
### Option A: Migrera Ekonom till paketets .colored-row + .colored-bar
|
|
25
|
+
|
|
26
|
+
- Byt .cat-list-row -> .colored-row + cat-tx-X i templates
|
|
27
|
+
- Byt .cat-bar-fill -> .colored-bar + .cat-bar-X i templates
|
|
28
|
+
- Radera parallell implementation i ekonom.css
|
|
29
|
+
- Radera dead --row-accent-bindings i ekonom-domain.css
|
|
30
|
+
|
|
31
|
+
Pros: riktig paritet med paketet, Kategori-monstret anvands som avsett
|
|
32
|
+
Cons: template-migration i 8-15 filer, visuell verifiering per vy
|
|
33
|
+
|
|
34
|
+
### Option B: Minimal cleanup - radera dead bindings
|
|
35
|
+
|
|
36
|
+
- Radera de 8 oanvanda .cat-tx-X { --row-accent: ... } raderna
|
|
37
|
+
ur ekonom-domain.css
|
|
38
|
+
- Behall .cat-list-row och .cat-bar-fill som Ekonom-specifika
|
|
39
|
+
|
|
40
|
+
Pros: snabb, lag risk
|
|
41
|
+
Cons: parallellt system lever kvar, paketets .colored-row oanvand
|
|
42
|
+
|
|
43
|
+
## Pending decision criteria
|
|
44
|
+
|
|
45
|
+
- Prioritet: ar visuellt rikare kategori-rader (border-left accent)
|
|
46
|
+
vard template-migrationen?
|
|
47
|
+
- Timing: kan tas i samma sprint som annan Ekonom-template-migration
|
|
48
|
+
for effektivitet
|
|
49
|
+
|
|
50
|
+
## Beroenden
|
|
51
|
+
|
|
52
|
+
Ingen teknisk blockering. CSS-bindningar redo i paketet sedan 3.1.0.
|