@kolkrabbi/kol-theme 0.125.0 → 0.127.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; }
@@ -525,6 +538,7 @@
525
538
  .toggle-switch--outline { border-color: var(--kol-oq-08); }
526
539
 
527
540
  /* shells take button padding; bare stays padding 0 */
541
+ .toggle-switch--primary.toggle-switch--xs, .toggle-switch--outline.toggle-switch--xs { padding: 4px 8px; }
528
542
  .toggle-switch--primary.toggle-switch--sm, .toggle-switch--outline.toggle-switch--sm { padding: 4px 12px; }
529
543
  .toggle-switch--primary.toggle-switch--md, .toggle-switch--outline.toggle-switch--md { padding: 6px 16px; }
530
544
  .toggle-switch--primary.toggle-switch--lg, .toggle-switch--outline.toggle-switch--lg { padding: 8px 20px; }
@@ -561,6 +575,8 @@
561
575
  cursor: not-allowed;
562
576
  }
563
577
 
578
+ .toggle-switch--xs .toggle-switch-indicator { width: 12px; height: 8px; }
579
+ .toggle-switch--xs .toggle-switch-indicator::after { width: 4px; height: 4px; }
564
580
  .toggle-switch--sm .toggle-switch-indicator { width: 16px; height: 10px; }
565
581
  .toggle-switch--sm .toggle-switch-indicator::after { width: 6px; height: 6px; }
566
582
  .toggle-switch--lg .toggle-switch-indicator { width: 24px; height: 14px; }
@@ -575,6 +591,7 @@
575
591
  background-color: var(--kol-surface-primary);
576
592
  }
577
593
 
594
+ .toggle-switch--xs[data-state='on'] .toggle-switch-indicator::after { transform: translateX(4px); }
578
595
  .toggle-switch--sm[data-state='on'] .toggle-switch-indicator::after { transform: translateX(6px); }
579
596
  .toggle-switch--lg[data-state='on'] .toggle-switch-indicator::after { transform: translateX(10px); }
580
597
 
@@ -1205,6 +1222,8 @@ a.kol-icon-frame {
1205
1222
  .kol-btn-radius-full { border-radius: 9999px; }
1206
1223
 
1207
1224
  /* pinned squares — the box never moves with glyph size (user law 2026-07-28) */
1225
+ /* xs — the panel rung; the ladder is one ladder (user ruling 2026-09-01: "obviously we apply xs as an option") */
1226
+ .kol-icon-frame-xs { width: 20px; height: 20px; }
1208
1227
  .kol-icon-frame-sm { width: 28px; height: 28px; }
1209
1228
  .kol-icon-frame-md { width: 32px; height: 32px; }
1210
1229
  .kol-icon-frame-lg { width: 36px; height: 36px; }
@@ -279,6 +279,8 @@
279
279
  * paying for; the class owns the type, the rule owns the box. */
280
280
  /* the SIZE carries its type (WorkListingRowsAndFilters, 2026-08-27): the helper
281
281
  * rung that rode beside it in the atom (sm → 10 · md → 12 · lg → 14) lives here. */
282
+ /* xs — the panel rung (2026-09-01): one ladder, every family */
283
+ .kol-tag--xs { padding: 1px 8px; font-family: var(--kol-font-family-mono); font-size: 8px; line-height: 1; font-weight: 500; letter-spacing: 0.10em; }
282
284
  .kol-tag--sm { padding: 2px 10px; font-family: var(--kol-font-family-mono); font-size: 10px; line-height: 1; font-weight: 500; letter-spacing: 0.10em; }
283
285
  .kol-tag--md { padding: 4px 16px; font-family: var(--kol-font-family-mono); font-size: 12px; line-height: 1; font-weight: 500; letter-spacing: 0.06em; }
284
286
  .kol-tag--lg { padding: 6px 20px; font-family: var(--kol-font-family-mono); font-size: 14px; line-height: 1; font-weight: 500; letter-spacing: 0.06em; }
@@ -497,6 +499,11 @@
497
499
  border: 1px solid transparent;
498
500
  }
499
501
 
502
+ .kol-badge-xs {
503
+ height: 16px;
504
+ padding: 0 4px;
505
+ font-size: 8px;
506
+ }
500
507
  .kol-badge-sm {
501
508
  height: 20px;
502
509
  padding: 0 6px;
@@ -545,8 +552,10 @@
545
552
 
546
553
  /* Sizes mirror .kol-btn-{sm,md,lg} exactly: pinned height above + cell
547
554
  * padding per size (below) + mono type (12/14/16) applied in JSX. */
555
+ .kol-seg--xs { height: 22px; }
548
556
  .kol-seg--sm { height: 26px; }
549
557
  .kol-seg--lg { height: 40px; }
558
+ .kol-seg--xs .kol-seg-cell { padding: 4px 8px; }
550
559
  .kol-seg--sm .kol-seg-cell { padding: 4px 12px; }
551
560
  .kol-seg--lg .kol-seg-cell { padding: 8px 20px; }
552
561
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-theme",
3
- "version": "0.125.0",
3
+ "version": "0.127.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",