@kolkrabbi/kol-theme 0.61.0 → 0.63.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.
@@ -612,6 +612,18 @@
612
612
  opacity: 1;
613
613
  }
614
614
 
615
+ /* ON MEDIA (ContentFiltersCollection, kol-r2b2 2026-08-27): a hairline box
616
+ * over a photo nearly vanishes unchecked — the same reason .kol-media-control
617
+ * carries its own fill. The unchecked box takes that plate; checked is
618
+ * unchanged (white plate, black check). */
619
+ .toggle-checkbox--media .toggle-checkbox-indicator {
620
+ background-color: var(--kol-oq-12);
621
+ border-color: transparent;
622
+ }
623
+ .toggle-checkbox--media.is-active .toggle-checkbox-indicator {
624
+ background-color: var(--kol-color-absolute-white);
625
+ }
626
+
615
627
 
616
628
  /* ═══════════════════════════════════════════════════════════════
617
629
  * Slider — molecules/Slider.jsx
@@ -900,8 +900,20 @@
900
900
  .kol-row--divided {
901
901
  border-bottom: 1px solid var(--kol-fg-08);
902
902
  }
903
+ /* THE THUMB IS A FIXED SQUARE BOX (ContentRowsAndPrintCard, kol-website
904
+ * 2026-08-27 — user: "the image should not control height, image should fit
905
+ * the row image placeholder"). Verbatim from the /stack + /prints tune: the
906
+ * box is `--kol-row-thumb` wide and square, sits at the top of the row, and
907
+ * whatever is inside fills it (ContentMedia object-covers). Row height =
908
+ * max(thumb, text) — an image's intrinsic height never sizes a row again. */
903
909
  .kol-row > .kol-row-thumb {
904
910
  width: var(--kol-row-thumb);
911
+ aspect-ratio: 1 / 1;
912
+ align-self: flex-start;
913
+ }
914
+ .kol-row > .kol-row-thumb > * {
915
+ height: 100%;
916
+ width: 100%;
905
917
  }
906
918
 
907
919
  /* CONTAINER query, not a viewport one (2026-08-15). The row steps on the width
@@ -1049,6 +1061,16 @@
1049
1061
  }
1050
1062
  }
1051
1063
 
1064
+ /* ContentMedia `fade` — the image fades in on load (PrintGridCard's 500ms,
1065
+ * carried to ContentCard print 2026-08-27). Opacity only; no relayout. */
1066
+ .kol-media-fade {
1067
+ opacity: 0;
1068
+ transition: opacity 500ms var(--kol-ease-house);
1069
+ }
1070
+ .kol-media-fade.is-loaded {
1071
+ opacity: 1;
1072
+ }
1073
+
1052
1074
  /* ─────────────────────────────────────────────────────────────────────
1053
1075
  * ContentText — the title dim (StackCardHover, 2026-08-27)
1054
1076
  *
@@ -270,6 +270,22 @@
270
270
  color: var(--kol-fg-emphasis);
271
271
  }
272
272
 
273
+ /* THE EYEBROW HAS ONE NAME (ContentRowsAndPrintCard, user 2026-08-27: "you have
274
+ * a class for eyebrow that's not called eyebrow but kicker? you think that's
275
+ * good practice?"). `kol-eyebrow` is the role — mono 12 · 500 · 0.06em ·
276
+ * uppercase · fg-64; the slot is `eyebrow` on ContentText and SectionText.
277
+ * `kol-card-kicker` is the alias below, on the retirement ledger. */
278
+ .kol-eyebrow {
279
+ font-family: var(--kol-font-family-mono);
280
+ font-size: 12px;
281
+ line-height: 1;
282
+ font-weight: 500;
283
+ letter-spacing: 0.06em;
284
+ text-transform: uppercase;
285
+ color: var(--kol-fg-64);
286
+ }
287
+
288
+ /* @deprecated 2026-08-27 → kol-eyebrow */
273
289
  .kol-card-kicker {
274
290
  font-family: var(--kol-font-family-mono);
275
291
  font-size: 12px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-theme",
3
- "version": "0.61.0",
3
+ "version": "0.63.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",