@kolkrabbi/kol-theme 0.104.0 → 0.105.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.
@@ -1343,7 +1343,7 @@
1343
1343
  * a fixed near-white could only ever be right on one. */
1344
1344
  .kol-view-toggle.kol-tone-sunken, .kol-view-toggle.kol-tone-inverse { background-color: var(--kol-surface-sunken); }
1345
1345
  .kol-view-toggle.kol-tone-sunken > button[aria-pressed="true"], .kol-view-toggle.kol-tone-inverse > button[aria-pressed="true"] { background-color: var(--kol-fg-08); }
1346
- .kol-view-toggle.kol-tone-sunken > button:not([aria-pressed="true"]):hover, .kol-view-toggle.kol-tone-inverse > button:not([aria-pressed="true"]):hover { background-color: color-mix(in srgb, var(--kol-color-ab-white) 8%, transparent); }
1346
+ .kol-view-toggle.kol-tone-sunken > button:not([aria-pressed="true"]):hover, .kol-view-toggle.kol-tone-inverse > button:not([aria-pressed="true"]):hover { background-color: var(--kol-fg-ab-inverse-08); }
1347
1347
  .kol-control.kol-tone-sunken, .kol-control.kol-tone-inverse { background-color: var(--kol-surface-sunken); }
1348
1348
  .kol-expand.kol-tone-sunken, .kol-expand.kol-tone-inverse { background-color: var(--kol-surface-sunken); }
1349
1349
  /* the tone's fill, one selector — nothing left to cancel (2026-08-28) */
@@ -1357,9 +1357,15 @@
1357
1357
  * #0e0e11 (14.0) in dark against the trigger's 14.2, #ffffff in light. */
1358
1358
  .kol-dd-panel.kol-tone-sunken, .kol-dd-panel.kol-tone-inverse { background-color: var(--kol-surface-sunken); }
1359
1359
  /* the rest of the set — Button (icon-only especially), IconFrame, ThemeToggle:
1360
- * the well, transparent edge, fg-96 ink; hover the white wash, pressed the
1360
+ * the well, transparent edge, fg-96 ink; hover the CONTRAST wash, pressed the
1361
1361
  * fg-08 chip — both LAYERED over the well (a gradient image over the fill),
1362
- * since one background cannot stack two translucent colours */
1362
+ * since one background cannot stack two translucent colours.
1363
+ *
1364
+ * The wash is `fg-ab-inverse-08`, not a hardcoded white (2026-08-30). A frozen
1365
+ * white wash lightens the well in dark and is INVISIBLE in light — white on a
1366
+ * 245 ground. `fg-ab-inverse-*` flips toward the ink, so it is white over the
1367
+ * dark well and black over the light one: a visible step on both. Same class of
1368
+ * bug as the tone itself, one layer down. */
1363
1369
  .kol-btn.kol-tone-sunken,
1364
1370
  .kol-icon-frame.kol-tone-sunken,
1365
1371
  .kol-theme-toggle.kol-tone-sunken {
@@ -1370,7 +1376,7 @@
1370
1376
  @media (hover: hover) {
1371
1377
  .kol-btn.kol-tone-sunken:not(.kol-btn-animate):not(:disabled):hover {
1372
1378
  background-color: var(--kol-surface-sunken);
1373
- background-image: linear-gradient(color-mix(in srgb, var(--kol-color-ab-white) 8%, transparent), color-mix(in srgb, var(--kol-color-ab-white) 8%, transparent));
1379
+ background-image: linear-gradient(var(--kol-fg-ab-inverse-08), var(--kol-fg-ab-inverse-08));
1374
1380
  color: var(--kol-fg-96);
1375
1381
  }
1376
1382
  }
package/kol-opacity.css CHANGED
@@ -85,6 +85,25 @@
85
85
  --kol-fg-ab-88: color-mix(in srgb, var(--kol-color-ab-white) 88%, transparent);
86
86
  --kol-fg-ab-96: color-mix(in srgb, var(--kol-color-ab-white) 96%, transparent);
87
87
 
88
+ /* fg-ab-inverse — the CONTRASTING pure pole. Declared in this shared scope
89
+ * as the light-ground value (black over a light well); the dark scopes below
90
+ * override it to white. Its `fg-ab` twin above works the same way. */
91
+ --kol-fg-ab-inverse-01: color-mix(in srgb, var(--kol-color-ab-black) 1%, transparent);
92
+ --kol-fg-ab-inverse-02: color-mix(in srgb, var(--kol-color-ab-black) 2%, transparent);
93
+ --kol-fg-ab-inverse-04: color-mix(in srgb, var(--kol-color-ab-black) 4%, transparent);
94
+ --kol-fg-ab-inverse-08: color-mix(in srgb, var(--kol-color-ab-black) 8%, transparent);
95
+ --kol-fg-ab-inverse-12: color-mix(in srgb, var(--kol-color-ab-black) 12%, transparent);
96
+ --kol-fg-ab-inverse-16: color-mix(in srgb, var(--kol-color-ab-black) 16%, transparent);
97
+ --kol-fg-ab-inverse-24: color-mix(in srgb, var(--kol-color-ab-black) 24%, transparent);
98
+ --kol-fg-ab-inverse-32: color-mix(in srgb, var(--kol-color-ab-black) 32%, transparent);
99
+ --kol-fg-ab-inverse-40: color-mix(in srgb, var(--kol-color-ab-black) 40%, transparent);
100
+ --kol-fg-ab-inverse-48: color-mix(in srgb, var(--kol-color-ab-black) 48%, transparent);
101
+ --kol-fg-ab-inverse-64: color-mix(in srgb, var(--kol-color-ab-black) 64%, transparent);
102
+ --kol-fg-ab-inverse-72: color-mix(in srgb, var(--kol-color-ab-black) 72%, transparent);
103
+ --kol-fg-ab-inverse-80: color-mix(in srgb, var(--kol-color-ab-black) 80%, transparent);
104
+ --kol-fg-ab-inverse-88: color-mix(in srgb, var(--kol-color-ab-black) 88%, transparent);
105
+ --kol-fg-ab-inverse-96: color-mix(in srgb, var(--kol-color-ab-black) 96%, transparent);
106
+
88
107
  /* ============================================================================
89
108
  * TOKENS — Inverse tier (foreground on inverse surface)
90
109
  * ============================================================================ */
@@ -574,22 +593,6 @@
574
593
  --kol-fg-absolute-inverse-80: color-mix(in srgb, var(--kol-color-white) 80%, transparent);
575
594
  --kol-fg-absolute-inverse-88: color-mix(in srgb, var(--kol-color-white) 88%, transparent);
576
595
  --kol-fg-absolute-inverse-96: color-mix(in srgb, var(--kol-color-white) 96%, transparent);
577
- /* fg-ab-inverse — LIGHT ground: the opposite pole is black */
578
- --kol-fg-ab-inverse-01: color-mix(in srgb, var(--kol-color-ab-black) 1%, transparent);
579
- --kol-fg-ab-inverse-02: color-mix(in srgb, var(--kol-color-ab-black) 2%, transparent);
580
- --kol-fg-ab-inverse-04: color-mix(in srgb, var(--kol-color-ab-black) 4%, transparent);
581
- --kol-fg-ab-inverse-08: color-mix(in srgb, var(--kol-color-ab-black) 8%, transparent);
582
- --kol-fg-ab-inverse-12: color-mix(in srgb, var(--kol-color-ab-black) 12%, transparent);
583
- --kol-fg-ab-inverse-16: color-mix(in srgb, var(--kol-color-ab-black) 16%, transparent);
584
- --kol-fg-ab-inverse-24: color-mix(in srgb, var(--kol-color-ab-black) 24%, transparent);
585
- --kol-fg-ab-inverse-32: color-mix(in srgb, var(--kol-color-ab-black) 32%, transparent);
586
- --kol-fg-ab-inverse-40: color-mix(in srgb, var(--kol-color-ab-black) 40%, transparent);
587
- --kol-fg-ab-inverse-48: color-mix(in srgb, var(--kol-color-ab-black) 48%, transparent);
588
- --kol-fg-ab-inverse-64: color-mix(in srgb, var(--kol-color-ab-black) 64%, transparent);
589
- --kol-fg-ab-inverse-72: color-mix(in srgb, var(--kol-color-ab-black) 72%, transparent);
590
- --kol-fg-ab-inverse-80: color-mix(in srgb, var(--kol-color-ab-black) 80%, transparent);
591
- --kol-fg-ab-inverse-88: color-mix(in srgb, var(--kol-color-ab-black) 88%, transparent);
592
- --kol-fg-ab-inverse-96: color-mix(in srgb, var(--kol-color-ab-black) 96%, transparent);
593
596
  --kol-color-absolute-black: var(--kol-color-black);
594
597
  --kol-color-absolute-white: var(--kol-color-white);
595
598
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-theme",
3
- "version": "0.104.0",
3
+ "version": "0.105.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",