@kolkrabbi/kol-theme 0.134.0 → 0.136.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.
@@ -18,15 +18,65 @@
18
18
  * while the rail WAS a collapsed SideNav; that is reversed. */
19
19
  --kol-shell-rail-width: 48px;
20
20
  /* Page gutter — PageShell's padding and PageBleed's negative margin.
21
- * RESPONSIVE (ShellPagePadFixedOnMobile, kol-chess 2026-09-01): fixed 48 put
22
- * 96px of gutter on a 390 phone — 24.6% of the viewport and set Settings
23
- * ~35pt from the edge while every .kol-page sibling sat ~15pt. The floor is
24
- * 20, the estate's px-5 mobile floor; 5vw reaches 48 at 960 and desktop does
25
- * not move. PageBleed's negative margin reads the same token, so the pair
26
- * cannot drift. */
27
- --kol-shell-page-pad: clamp(20px, 5vw, 48px);
21
+ * ONE LADDER FOR THE ESTATE (two-page-scaffolds-one-job, kol-client-olina
22
+ * 2026-09-03): this is `--kol-pad-section-x`, the page-content ladder every
23
+ * `.kol-page` already wears (20 · 32 from 768 · 48 from 1024,
24
+ * kol-framework.css). It had been a second ladder a fixed 48 until
25
+ * 2026-09-01 (ShellPagePadFixedOnMobile, kol-chess: 96px of gutter on a 390
26
+ * phone, Settings ~35pt from the edge while every .kol-page sibling sat
27
+ * ~15pt), then a clamp that reproduced .kol-page's outcome with the technique
28
+ * the framework's own comment rejects; the two agreed only at 48. The clamp
29
+ * stays as the FALLBACK for a consumer that loads kol-theme without
30
+ * kol-framework. PageBleed's negative margin reads the same token, so the
31
+ * pair cannot drift. */
32
+ --kol-shell-page-pad: var(--kol-pad-section-x, clamp(20px, 5vw, 48px));
28
33
  }
29
34
 
35
+ /* ── PageShell ──────────────────────────────────────────────────────────── */
36
+
37
+ /* THE GEOMETRY IS A CLASS (two-page-scaffolds-one-job, 2026-09-03). It was an
38
+ * inline style object with no class of its own, so a consumer that needed to
39
+ * correct any of it had no selector — only the `style` prop, which is how olina
40
+ * had to hide a double-painted wash. Inline stays for `style` alone. */
41
+ .kol-shell-page {
42
+ display: flex;
43
+ flex-direction: column;
44
+ min-height: 100vh;
45
+ padding: var(--kol-shell-page-pad);
46
+ /* PageShellScrollbarGutter (kol-monitor 2026-08-28): in `fixed` mode this
47
+ * element IS the scroll container and reserves the gutter; in `scroll` mode
48
+ * the property is inert and the viewport keeps doing what it did. */
49
+ scrollbar-gutter: stable;
50
+ /* THE PAGE'S GROUND, ONE OWNER PER PIXEL. `--kol-shell-page-wash` means WHAT
51
+ * IS LEFT TO PAINT: kol-shell's AppShell paints the primary back and hands
52
+ * the wash down for this to paint (ShellPageWash, 2026-08-27); kol-framework's
53
+ * PageLayout paints the wash on its plane itself and hands down
54
+ * `transparent`, so a PageShell inside it paints nothing over it — before,
55
+ * both painted and `fg-02` rendered as two 0.02 layers (measured on olina's
56
+ * /slide-deck). Outside any frame: primary. */
57
+ background: var(--kol-shell-page-wash, var(--kol-surface-primary));
58
+ }
59
+ /* `mode="fixed"` — the element is the scroll container; pair with a
60
+ * `flex:1 overflow:auto` body (the settings idiom) */
61
+ .kol-shell-page--fixed { min-height: 0; height: 100vh; overflow: hidden; }
62
+ /* `width="capped"` — the SITE tier: the framework container ladder, centred.
63
+ * `bleed` (the default, unclassed) fills the window — the app tier. The one
64
+ * real difference between a shell page and a `.kol-page`, and it is a prop
65
+ * now so a site adopting the shipped catalog page does not silently get app
66
+ * geometry. */
67
+ .kol-shell-page--capped {
68
+ max-width: var(--kol-container-max, none);
69
+ margin-inline: auto;
70
+ width: 100%;
71
+ /* the site tier's VERTICAL rung too: `.kol-page` pads `64px` block, and a
72
+ * capped page beside twenty `.kol-page` siblings sat 16px higher on the 48
73
+ * gutter (kol-client-olina 2026-09-03, on the link). Verbatim to `.kol-page`;
74
+ * the app tier (bleed) keeps its 48 — every monitor / mirror / fxr page. */
75
+ padding-block: 64px;
76
+ }
77
+ /* PageBleed — cancels the gutter for a full-width embed (monitor's rack) */
78
+ .kol-shell-page-bleed { margin-inline: calc(var(--kol-shell-page-pad) * -1); }
79
+
30
80
  /* ── NavRail ────────────────────────────────────────────────────────────── */
31
81
 
32
82
  /* The flat rail's own stacking. Geometry (the fixed box, the padding, the gap)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-theme",
3
- "version": "0.134.0",
3
+ "version": "0.136.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",