@kolkrabbi/kol-theme 0.124.0 → 0.126.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.
@@ -127,6 +127,16 @@
127
127
  }
128
128
  /* ─── Sizes (padding only — type class applied via JSX) ─── */
129
129
 
130
+ /* THE XS RUNG (ControlsXsRung, kol-monitor 2026-09-01; user: "DS should ship xs
131
+ * size — I actually often find situations where xs would be helpful"). An
132
+ * instrument panel runs 8px mono in a 16–20px shell and the ladder stopped at
133
+ * sm (12px in 26–28), which is the one reason the rack's TextInput / Dropdown /
134
+ * Selector could not collapse onto Input / Dropdown / Stepper. xs = kol-mono-8
135
+ * (line-height 12) + 4px vertical + the shell's 1px ring = 22px, 8px sides,
136
+ * the xs radius; the icon-only square is 20.
137
+ * Opt-in by prop only — the 2026-07-28 "dropdowns are sm at every viewport"
138
+ * law is untouched; nothing ramps to xs by viewport. */
139
+ .kol-control-xs { padding: 4px 8px; border-radius: var(--kol-radius-xs); }
130
140
  .kol-control-sm { padding: 4px 12px; }
131
141
  .kol-control-md { padding: 6px 16px; }
132
142
  .kol-control-lg { padding: 8px 20px; }
@@ -237,6 +247,7 @@
237
247
  * a lone glyph gets a PINNED SQUARE per rung — sm 28 / md 32 / lg 36 — equal to
238
248
  * the rung's button height and independent of glyph size (padding-derived
239
249
  * squares drifted with icon size; user law: the box never moves). */
250
+ .kol-btn-icon.kol-btn-xs { width: 20px; height: 20px; padding: 0; }
240
251
  .kol-btn-icon.kol-btn-sm { width: 28px; height: 28px; padding: 0; }
241
252
  .kol-btn-icon.kol-btn-md { width: 32px; height: 32px; padding: 0; }
242
253
  .kol-btn-icon.kol-btn-lg { width: 36px; height: 36px; padding: 0; }
@@ -370,6 +381,8 @@
370
381
  }
371
382
  }
372
383
 
384
+ /* xs — the panel rung (ControlsXsRung, 2026-09-01): 22px shell (20 + ring), xs radius */
385
+ .kol-btn-xs { padding: 4px 8px; border-radius: var(--kol-radius-xs); }
373
386
  .kol-btn-sm { padding: 4px 12px; }
374
387
  .kol-btn-md { padding: 6px 16px; }
375
388
  .kol-btn-lg { padding: 8px 20px; }
@@ -1013,13 +1013,25 @@
1013
1013
  margin: 0 0 16px;
1014
1014
  }
1015
1015
 
1016
- /* Display scale — D1 (hero), D2 (sub-hero), D3 (chapter title / .kol-prose-title alias). */
1016
+ /* Display scale — D1 (hero), D2 (sub-hero), D3 (chapter title / .kol-prose-title alias).
1017
+ *
1018
+ * ON THE LADDER, NOT FIXED (ProseTitleFixedSize, kol-website 2026-09-01): these
1019
+ * three were the only display steps with no responsive rung — `.kol-prose-title`
1020
+ * set a real article title to four lines of 56px at 390 and spent the fold
1021
+ * before the first word of body. Each now reads the display token whose DESKTOP
1022
+ * value it already was (80 → display-01, 64 → display-tight-01, 56 → display-02),
1023
+ * CAPPED at that value with `min()`: below 768 they take the ladder's mobile step
1024
+ * (56 · 48 · 44), and from 768 up they are pixel-identical to before — the
1025
+ * ladder's third rung (96 · 72 · 64 at 1280) is deliberately not taken, a prose
1026
+ * title at 64 was never the design. Line-heights became the same ratios
1027
+ * (1 · 1.0625 · 1.07) so the leading follows the size. The ramp lives in the
1028
+ * token, as the ticket asked; the ceiling stays where the design was. */
1017
1029
 
1018
1030
  .kol-prose-display {
1019
1031
  font-family: var(--kol-font-family-sans-narrow);
1020
- font-size: 80px;
1032
+ font-size: min(var(--kol-text-display-01), 80px);
1021
1033
  font-weight: 500;
1022
- line-height: 80px;
1034
+ line-height: 1;
1023
1035
  letter-spacing: -0.01em;
1024
1036
  color: var(--kol-surface-on-primary);
1025
1037
  margin: 0 0 24px;
@@ -1027,9 +1039,9 @@
1027
1039
 
1028
1040
  .kol-prose-display-md {
1029
1041
  font-family: var(--kol-font-family-sans-narrow);
1030
- font-size: 64px;
1042
+ font-size: min(var(--kol-text-display-tight-01), 64px);
1031
1043
  font-weight: 500;
1032
- line-height: 68px;
1044
+ line-height: 1.0625;
1033
1045
  letter-spacing: -0.01em;
1034
1046
  color: var(--kol-surface-on-primary);
1035
1047
  margin: 0 0 24px;
@@ -1037,9 +1049,9 @@
1037
1049
 
1038
1050
  .kol-prose-title {
1039
1051
  font-family: var(--kol-font-family-sans-narrow);
1040
- font-size: 56px;
1052
+ font-size: min(var(--kol-text-display-02), 56px);
1041
1053
  font-weight: 500;
1042
- line-height: 60px;
1054
+ line-height: 1.07;
1043
1055
  letter-spacing: -0.01em;
1044
1056
  color: var(--kol-surface-on-primary);
1045
1057
  margin: 0 0 24px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-theme",
3
- "version": "0.124.0",
3
+ "version": "0.126.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",