@kolkrabbi/kol-theme 0.97.0 → 0.99.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.
@@ -672,7 +672,13 @@
672
672
  }
673
673
 
674
674
  .slider-black {
675
- --kol-slider-track: var(--kol-fg-64);
675
+ /* A FALLBACK, NOT A DECLARATION (SliderTrackVariableNotForwarded, kol-mirror
676
+ * 2026-08-30). This was `--kol-slider-track: var(--kol-fg-64)` set ON the
677
+ * element, and an element's own declaration beats anything it would inherit —
678
+ * so the override the component's docstring promised was unreachable from any
679
+ * ancestor. Consumers were reaching into `.slider-black` by specificity from
680
+ * their own stylesheets to get a track colour. `.kol-slider-dual-playhead`
681
+ * below had it right from the start; this now matches it. */
676
682
  -webkit-appearance: none;
677
683
  appearance: none;
678
684
  background: transparent;
@@ -686,13 +692,13 @@
686
692
  }
687
693
 
688
694
  .slider-black::-webkit-slider-runnable-track {
689
- background: var(--kol-slider-track);
695
+ background: var(--kol-slider-track, var(--kol-fg-64));
690
696
  height: 2px;
691
697
  border-radius: 0;
692
698
  }
693
699
 
694
700
  .slider-black::-moz-range-track {
695
- background: var(--kol-slider-track);
701
+ background: var(--kol-slider-track, var(--kol-fg-64));
696
702
  height: 2px;
697
703
  border-radius: 0;
698
704
  }
@@ -995,15 +995,21 @@
995
995
  color: var(--kol-fg-emphasis);
996
996
  text-align: right;
997
997
  }
998
- /* THE THUMB IS A FIXED SQUARE BOX (ContentRowsAndPrintCard, kol-website
999
- * 2026-08-27 — user: "the image should not control height, image should fit
1000
- * the row image placeholder"). Verbatim from the /stack + /prints tune: the
1001
- * box is `--kol-row-thumb` wide and square, sits at the top of the row, and
1002
- * whatever is inside fills it (ContentMedia object-covers). Row height =
1003
- * max(thumb, text) — an image's intrinsic height never sizes a row again. */
998
+ /* THE THUMB IS A FIXED BOX (ContentRowsAndPrintCard, kol-website 2026-08-27 —
999
+ * user: "the image should not control height, image should fit the row image
1000
+ * placeholder"). The box is `--kol-row-thumb` wide, sits at the top of the row,
1001
+ * and whatever is inside fills it (ContentMedia object-covers). Row height =
1002
+ * max(thumb, text) an image's intrinsic height never sizes a row again.
1003
+ *
1004
+ * SQUARE IS THE DEFAULT, NOT THE LAW (RowThumbRatioDead, kol-website
1005
+ * 2026-08-30). `aspect-ratio: 1 / 1` was hard-coded here, and ContentRow passed
1006
+ * `ratio={null}` to ContentMedia, so the component's own documented `ratio`
1007
+ * prop reached nothing — /prints set `1 / 1.41421` for its A-series posters and
1008
+ * the render did not move. Now a variable with `1 / 1` as the fallback: every
1009
+ * existing consumer is pixel-identical, and the prop works. */
1004
1010
  .kol-row > .kol-row-thumb {
1005
1011
  width: var(--kol-row-thumb);
1006
- aspect-ratio: 1 / 1;
1012
+ aspect-ratio: var(--kol-row-thumb-ratio, 1 / 1);
1007
1013
  align-self: flex-start;
1008
1014
  }
1009
1015
  .kol-row > .kol-row-thumb > * {
@@ -1011,8 +1017,20 @@
1011
1017
  width: 100%;
1012
1018
  }
1013
1019
  /* `thumb="fill"` (WorkListingRowsAndFilters, 2026-08-27): the row publishes
1014
- * `--kol-row-thumb` as the rung minus its vertical padding, so the square above
1015
- * IS the content height — `/work`: 136 in a 168 row at 16 padding. */
1020
+ * `--kol-row-thumb` as the rung minus its vertical padding `/work`: 136 in a
1021
+ * 168 row at 16 padding.
1022
+ *
1023
+ * RULED 2026-08-30 (the ask's third box): under `fill`, that number is the
1024
+ * HEIGHT, not the width. "Fill" means fill the row's content height — that is
1025
+ * the whole promise of the value — so a non-square ratio has to widen the
1026
+ * thumb, never grow the row past its rung. Keeping it as the width would make
1027
+ * an A-series fill thumb 1.41× taller than the row it is filling, which is the
1028
+ * one thing the 08-27 ruling exists to prevent. Square is unaffected: at
1029
+ * `1 / 1` width and height are the same number either way. */
1030
+ .kol-row > .kol-row-thumb.is-fill {
1031
+ width: auto;
1032
+ height: var(--kol-row-thumb);
1033
+ }
1016
1034
 
1017
1035
  /* CONTAINER query, not a viewport one (2026-08-15). The row steps on the width
1018
1036
  * of the WALL it sits in, for exactly the reason the card-wall law gives: the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-theme",
3
- "version": "0.97.0",
3
+ "version": "0.99.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",