@kolkrabbi/kol-theme 0.87.0 → 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.
- package/kol-components-molecules.css +8 -2
- package/kol-components-shell.css +33 -19
- package/package.json +1 -1
|
@@ -78,8 +78,14 @@
|
|
|
78
78
|
* the trigger at its container keeps the fusion honest (the panel still matches
|
|
79
79
|
* `rects.reference.width`, which is now the real one) and the label ellipsises.
|
|
80
80
|
* A dropdown in a narrow chrome is where dropdowns live. */
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
/* `min-width: 0` beside the cap (kol-mirror's adoption, 2026-08-28): the case
|
|
82
|
+
* that broke was a trigger inside a `flex items-center justify-between` row, and
|
|
83
|
+
* a flex child's default `min-width: auto` floors it at its CONTENT — so the cap
|
|
84
|
+
* resolved against a box the ghost stack had already pushed wide, and the
|
|
85
|
+
* trigger still overflowed the shelf. The pair is the fix: the floor lets it
|
|
86
|
+
* shrink, the cap stops it growing. */
|
|
87
|
+
.kol-dd-root { max-width: 100%; min-width: 0; }
|
|
88
|
+
.kol-dd-trigger { max-width: 100%; min-width: 0; }
|
|
83
89
|
.kol-dd-caret {
|
|
84
90
|
flex-shrink: 0;
|
|
85
91
|
transition: rotate var(--kol-transition-base);
|
package/kol-components-shell.css
CHANGED
|
@@ -8,31 +8,45 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
:root {
|
|
11
|
-
/* THE RAIL
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
|
|
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 value — so 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
|
-
/*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* (
|
|
35
|
-
*
|
|
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.
|
|
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",
|