@kolkrabbi/kol-theme 0.87.1 → 0.88.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.
@@ -8,31 +8,45 @@
8
8
  */
9
9
 
10
10
  :root {
11
- /* THE RAIL WIDTH IS LIVE (RailSideNavPixelParity, kol-fxr 2026-08-28 — user:
12
- * "same component both states super nice"): AppShell's rail is kol-framework's
13
- * SideNav since kol-shell 0.13.0, so the token that was a fixed 48 now reads
14
- * the sidenav's width in whichever state it is in16rem open, 56px
15
- * collapsed, 0 in the ≤767 drawer and every consumer that offsets a fixed
16
- * element by it (`--monitor-rail`, `--fxr-rail`) follows the drag. AppShell
17
- * writes `0px` inline while the rail is hidden (useNavHidden). One rail, one
18
- * width, one name: 48 and 56 were two components never measured against
19
- * each other. */
20
- --kol-shell-rail-width: var(--kol-sidenav-w, 16rem);
11
+ /* THE RAIL OWNS THIS VARIABLE (RailFlatGrabOpen, kol-mirror 2026-08-28). It
12
+ * is the rail's LIVE width: `NavRail` sets 48 on mount, writes it per
13
+ * pointermove while the grab is dragged and gsap-tweens it on release, and
14
+ * AppShell's content is offset by the same valueso the page is pushed
15
+ * through the drag. The 48 here is the closed default and the value a
16
+ * consumer's own fixed chrome (`--monitor-rail`, `--fxr-rail`) reads before
17
+ * the rail mounts. 0.80.0–0.87.x had it derive from the sidenav tokens,
18
+ * while the rail WAS a collapsed SideNav; that is reversed. */
19
+ --kol-shell-rail-width: 48px;
21
20
  /* Page gutter — PageShell's padding and PageBleed's negative margin. */
22
21
  --kol-shell-page-pad: 48px;
23
22
  }
24
- :root[data-sidenav="collapsed"] { --kol-shell-rail-width: var(--kol-sidenav-w-collapsed, 56px); }
25
- @media (max-width: 1024px) { :root { --kol-shell-rail-width: var(--kol-sidenav-w-collapsed, 56px); } }
26
- @media (max-width: 767px) { :root { --kol-shell-rail-width: 0px; } }
27
23
 
28
24
  /* ── NavRail ────────────────────────────────────────────────────────────── */
29
25
 
30
- /* RETIRED 0.80.0 (RailSideNavPixelParity): `.kol-shell-rail` the fixed
31
- * 48px rail's geometry, stacking and its 2026-08-12 active-state rules (ink
32
- * oq-96, the oq-04 wash held on via aria-current). The shell rail is a
33
- * SideNav now and wears the sidenav's hop, collapse and active rules
34
- * (kol-framework.css + the `.kol-sidenav-hop` atoms). Nothing selects the
35
- * class; it is kept out of the sheet so no consumer copies a dead geometry. */
26
+ /* The flat rail's own stacking. Geometry (the fixed box, the padding, the gap)
27
+ * rides the element as utilities — it is one div and every child is a direct
28
+ * child of it, which is the shape the ruling asked for; only the z-tier needs a
29
+ * rule, because it must join the DS ladder rather than a consumer's raw number
30
+ * (monitor's z-70 rail sat above its own z-50 overlays, a live stacking bug).
31
+ * Above page content, BELOW overlay (50) and modal (100). */
32
+ .kol-shell-rail {
33
+ z-index: var(--kol-z-sticky);
34
+ }
35
+
36
+ /* The 2026-08-12 active-state ruling, carried natively so consumers delete
37
+ * their overrides: ink full-strength in EVERY state (the nav variant's oq-64
38
+ * rest is site-nav quiet, wrong on an icon rail — the rail also sets oq-96
39
+ * inline per rung); hover = the oq-04 wash from the variant; active route =
40
+ * that wash HELD ON. Never `selected`/`pressed` — navigation is location, not
41
+ * a toggled tool. Scoped to the rail: the global
42
+ * `.kol-btn-nav[aria-current="page"]` brightness-only rule stays the site-nav law. */
43
+ .kol-shell-rail .kol-btn-nav {
44
+ color: var(--kol-oq-96);
45
+ }
46
+ .kol-shell-rail .kol-btn-nav[aria-current="page"] {
47
+ background-color: var(--kol-oq-04);
48
+ color: var(--kol-oq-96);
49
+ }
36
50
 
37
51
  /* ── GridCard preview fits ──────────────────────────────────────────────── */
38
52
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-theme",
3
- "version": "0.87.1",
3
+ "version": "0.88.0",
4
4
  "description": "KOL (Kolkrabbi) design-system tokens + base CSS — brand-neutral. The canonical token/cascade layer every other KOL package and consumer builds on.",
5
5
  "license": "MIT",
6
6
  "type": "module",