@kolkrabbi/kol-theme 0.116.0 → 0.118.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.
@@ -1342,8 +1342,15 @@ a.kol-icon-frame {
1342
1342
  * (ARCHITECTURE §5). The height pin travels with the size: Input pins its inner
1343
1343
  * field to the token's line-height (h-4 / h-[18px] / h-[22px]), so a 16px face
1344
1344
  * in an unlifted 16px box would clip. */
1345
+ /* `.kol-control--bare` is a MARKER, not chrome (OverlaySearchFieldZoomsIOS,
1346
+ * 2026-09-01): SearchInput's `bare` body plan — the overlay palette's field —
1347
+ * sits in a plain <label>, outside both shells, and was the field that put a
1348
+ * whole mobile review in a zoomed page. The marker carries no rules of its
1349
+ * own; it exists so the floor below keys on every body plan the DS ships,
1350
+ * including the chrome-less one. */
1345
1351
  @media (pointer: coarse) {
1346
1352
  .kol-control input,
1353
+ .kol-control--bare input,
1347
1354
  .kol-expand input {
1348
1355
  font-size: 16px;
1349
1356
  line-height: 22px;
@@ -852,10 +852,12 @@
852
852
  /* LOOK ONLY — the call site owns the box. Three scrims exist and two are
853
853
  * `fixed inset-0` while one is `absolute inset-0`; baking position in would
854
854
  * have forced a wrong one on two of them. The class owns what was drifting:
855
- * the tint (60 / 50 / 50 across three files) and the blur. */
855
+ * the tint (60 / 50 / 50 across three files).
856
+ * NO BLUR (user ruling 2026-09-01, OverlayScrimBlur): the 1px blur bought a
857
+ * compositing layer on every overlay open, on a phone, for a separation the
858
+ * 60% tint already carries. */
856
859
  .kol-overlay-scrim {
857
860
  background-color: color-mix(in srgb, #000 60%, transparent);
858
- backdrop-filter: blur(1px);
859
861
  }
860
862
 
861
863
  .kol-overlay-panel {
@@ -866,8 +868,8 @@
866
868
  /* NO BORDER, NO SHADOW (user 2026-08-01). Both were tried and both were
867
869
  * wrong: the shadow was another product's floating-card idiom, and the
868
870
  * hairline left an empty palette reading as a bordered empty box. The SCRIM
869
- * is the separation — a 60% tint plus blur is already a stronger edge than
870
- * an 8%-opacity line. */
871
+ * is the separation — a 60% tint is already a stronger edge than an
872
+ * 8%-opacity line. */
871
873
  /* `sm` — the radius this repo's chrome actually uses. */
872
874
  border-radius: var(--kol-radius-sm);
873
875
  /* NO SHADOW (user ruling 2026-08-01). The border and the scrim already
@@ -968,6 +970,26 @@
968
970
  min-height: var(--kol-row-h);
969
971
  }
970
972
 
973
+ /* fixed BELOW the md container only, the floor above it
974
+ * (ContentRowShowcaseImageDrivenHeight, 2026-09-01): the showcase row's height
975
+ * is a function of the image — thumb + padding — and content fits inside it.
976
+ * `overflow: hidden` is deliberate here, not the silent-loss case: the rung is
977
+ * the design, the text truncates by ramp, and the tags line goes single-row
978
+ * below md so the cut lands on the chips. Released at md, where the floor in
979
+ * the container query below resumes. */
980
+ .kol-row--fixed-sm {
981
+ height: var(--kol-row-h-sm);
982
+ min-height: var(--kol-row-h-sm);
983
+ overflow: hidden;
984
+ }
985
+ @container (min-width: 768px) {
986
+ .kol-row--fixed-sm {
987
+ height: auto;
988
+ min-height: var(--kol-row-min-h-md, var(--kol-row-min-h));
989
+ overflow: visible;
990
+ }
991
+ }
992
+
971
993
  /* the divider is its OWN longhand, declared after the shorthand above so it
972
994
  * wins on order — `default`'s bottom rule is not the same thing as a framed
973
995
  * variant's border, and one property cannot carry both. */
@@ -17,8 +17,14 @@
17
17
  * the rail mounts. 0.80.0–0.87.x had it derive from the sidenav tokens,
18
18
  * while the rail WAS a collapsed SideNav; that is reversed. */
19
19
  --kol-shell-rail-width: 48px;
20
- /* Page gutter — PageShell's padding and PageBleed's negative margin. */
21
- --kol-shell-page-pad: 48px;
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);
22
28
  }
23
29
 
24
30
  /* ── NavRail ────────────────────────────────────────────────────────────── */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-theme",
3
- "version": "0.116.0",
3
+ "version": "0.118.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",