@kolkrabbi/kol-theme 0.138.0 → 0.140.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.
@@ -47,6 +47,18 @@
47
47
  * untouched; the vertical goes, because the flex box centres the label. */
48
48
  /* 22/26/32/40 since 2026-09-02 — one height per size, so the trigger, the
49
49
  * IconFrame and the Input on a row are the same box (see .kol-btn-icon). */
50
+ /* ICON-ONLY TRIGGER (editor-set-is-behind-its-source, kol-fxr 2026-09-03). The
51
+ * square comes from `.kol-btn-icon` (22/26/32/40, padding 0) and this only has
52
+ * to undo the text trigger's own layout: `width: 100%` would stretch the square
53
+ * across its column, and `space-between` would push a lone glyph to one edge.
54
+ * A tool-rail dropdown is then the same box as the icon button beside it —
55
+ * which is the whole reason fxr's ToolPalette hand-rolled a trigger instead. */
56
+ .kol-dd-trigger--icon {
57
+ width: auto;
58
+ justify-content: center;
59
+ gap: 0;
60
+ position: relative;
61
+ }
50
62
  .kol-dd-trigger.kol-btn-xs { height: 22px; padding-block: 0; }
51
63
  .kol-dd-trigger.kol-btn-sm { height: 26px; padding-block: 0; }
52
64
  .kol-dd-trigger.kol-btn-md { height: 32px; padding-block: 0; }
@@ -857,10 +869,15 @@
857
869
  * rounded-[…] / shadow-[…] / bg-black/NN / backdrop-blur-[…] in package chrome.
858
870
  * ───────────────────────────────────────────────────────────────────── */
859
871
 
860
- /* LOOK ONLY — the call site owns the box. Three scrims exist and two are
861
- * `fixed inset-0` while one is `absolute inset-0`; baking position in would
862
- * have forced a wrong one on two of them. The class owns what was drifting:
863
- * the tint (60 / 50 / 50 across three files).
872
+ /* LOOK ONLY — the call site owns the box. Nine scrims wear it after the
873
+ * 2026-09-03 sweep (overlay-scrim-outliers: Modal · FullscreenOverlay ·
874
+ * ShellDrawer · ShellSearchOverlay · PageLayout's sidenav backdrop · FieldRow ·
875
+ * ShortcutsOverlay · TouchDeviceOverlay · the workshop's shortcuts sheet), and
876
+ * they are `fixed` or `absolute` by their own contract; baking position in
877
+ * would force a wrong one on some. The class owns what was drifting: the tint
878
+ * (60 / 50 / 50 across the first three files; an 8 % inverse wash + blur on
879
+ * the two shell overlays the sweep caught). ParamSheet is untinted on purpose;
880
+ * OverlayGlassPanel and PlaybackBar blur because they are surfaces, not scrims.
864
881
  * NO BLUR (user ruling 2026-09-01, OverlayScrimBlur): the 1px blur bought a
865
882
  * compositing layer on every overlay open, on a phone, for a separation the
866
883
  * 60% tint already carries. */
@@ -1170,6 +1187,9 @@
1170
1187
  * the clip path and the border path separately, and a hairline of the
1171
1188
  * lighter fill bleeds through on the arc, bright only on the curve. */
1172
1189
  .kol-card {
1190
+ /* NOT toned. A wrapper tone reaches the CONTROLS on a page and stops at the
1191
+ * card plate (user ruling 2026-09-03: "no just controls") — the plate is the
1192
+ * content-card system's box per variant. */
1173
1193
  background: var(--kol-card-bg);
1174
1194
  background-clip: padding-box;
1175
1195
  border-color: var(--kol-card-border);
@@ -1791,6 +1811,18 @@
1791
1811
  :is(.kol-view-toggle.kol-tone-sunken, .kol-view-toggle.kol-tone-inverse, .kol-tone-sunken .kol-view-toggle) > button:not([aria-pressed="true"]):hover { background-color: var(--kol-fg-04); }
1792
1812
  /* the open search shell — was `bg-fg-04` on the element, sunken by class */
1793
1813
  .kol-expand--open { background-color: var(--kol-tone-bg, var(--kol-fg-04)); }
1814
+ /* THE SEGMENTED STRIP, SUNKEN (segmented-toggle-sunken-tone, kol-client-olina
1815
+ * 2026-09-03; user, on kol-fxr's labs rail: "is this a variant? its not what you
1816
+ * have"). It was not — it was fxr's kol-labs.css:220-226, and olina's inspector
1817
+ * carried the same three lines. Promoted verbatim: the shell's ring goes, the
1818
+ * selected cell takes the well and the fg-96 ink; rest cells stay as the
1819
+ * default paints them. `filled` / `tonal` keep their own selected law. On the
1820
+ * element, or inherited from a sunken wrapper. */
1821
+ :is(.kol-seg.kol-tone-sunken, .kol-seg.kol-tone-inverse, .kol-tone-sunken .kol-seg):not(.kol-seg--filled) { border-color: transparent; }
1822
+ :is(.kol-seg.kol-tone-sunken, .kol-seg.kol-tone-inverse, .kol-tone-sunken .kol-seg):not(.kol-seg--filled) .kol-seg-cell.is-active {
1823
+ background: var(--kol-surface-sunken);
1824
+ color: var(--kol-fg-96);
1825
+ }
1794
1826
  /* ⛔ THE TRIGGER IS EXCLUDED — rest and open are its only states (law, twice
1795
1827
  * at the top of this file). Pressed on a sunken button out-ranks its hover, as
1796
1828
  * it always did: this is the one rule the generic `.kol-btn-pressed` cannot
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-theme",
3
- "version": "0.138.0",
3
+ "version": "0.140.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",