@kolkrabbi/kol-theme 0.106.0 → 0.107.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.
@@ -433,12 +433,15 @@
433
433
  }
434
434
 
435
435
  @media (hover: hover) {
436
- .kol-btn:hover .kol-icon-default {
436
+ /* the trigger is excluded here too — it IS a Button, so a consumer giving it
437
+ * a hover-icon would animate on hover, and the law is rest and open only
438
+ * (validate-dd-trigger.mjs T1) */
439
+ .kol-btn:not(.kol-dd-trigger):hover .kol-icon-default {
437
440
  opacity: 0;
438
441
  transform: translateY(-4px);
439
442
  }
440
443
 
441
- .kol-btn:hover .kol-icon-hover {
444
+ .kol-btn:not(.kol-dd-trigger):hover .kol-icon-hover {
442
445
  opacity: 1;
443
446
  transform: translateY(0);
444
447
  }
@@ -1373,7 +1373,17 @@
1373
1373
  * when that was first fixed it went to an 8% wash — the same strength as
1374
1374
  * `selected`, which put hover 0.4 from selected in dark and 1.5 in light. A
1375
1375
  * hovered unselected control was indistinguishable from the selected one.
1376
- * 04 and 08 are ~10 apart on both themes; the ladder reads. */
1376
+ * 04 and 08 are ~10 apart on both themes; the ladder reads.
1377
+ *
1378
+ * ⛔ THE TRIGGER IS EXCLUDED. `.kol-dd-trigger` carries `.kol-btn`, so every
1379
+ * `.kol-btn.kol-tone-sunken` state rule matches it unless it says otherwise —
1380
+ * and "REST AND OPEN ARE THE ONLY STATES" for a Dropdown trigger is a law
1381
+ * written TWICE at the top of this file (2026-07-15, re-called 2026-08-09 and
1382
+ * 2026-08-28). The atoms sheet excludes the trigger from all eight variant
1383
+ * hovers; these tone rules did not, so the law held everywhere except the one
1384
+ * tone the settings page uses. Repeatedly reported and repeatedly missed,
1385
+ * because the exclusion was checked in `kol-components-atoms.css` and the
1386
+ * offending rule lives here. */
1377
1387
  .kol-btn.kol-tone-sunken,
1378
1388
  .kol-icon-frame.kol-tone-sunken,
1379
1389
  .kol-theme-toggle.kol-tone-sunken {
@@ -1382,14 +1392,14 @@
1382
1392
  color: var(--kol-fg-96);
1383
1393
  }
1384
1394
  @media (hover: hover) {
1385
- .kol-btn.kol-tone-sunken:not(.kol-btn-animate):not(:disabled):hover {
1395
+ .kol-btn.kol-tone-sunken:not(.kol-btn-animate):not(:disabled):not(.kol-dd-trigger):hover {
1386
1396
  background-color: var(--kol-surface-sunken);
1387
1397
  background-image: linear-gradient(var(--kol-fg-04), var(--kol-fg-04));
1388
1398
  color: var(--kol-fg-96);
1389
1399
  }
1390
1400
  }
1391
- .kol-btn.kol-tone-sunken.kol-btn-pressed,
1392
- .kol-btn.kol-tone-sunken:not(:disabled):active {
1401
+ .kol-btn.kol-tone-sunken.kol-btn-pressed:not(.kol-dd-trigger),
1402
+ .kol-btn.kol-tone-sunken:not(:disabled):not(.kol-dd-trigger):active {
1393
1403
  background-color: var(--kol-surface-sunken);
1394
1404
  background-image: linear-gradient(var(--kol-fg-08), var(--kol-fg-08));
1395
1405
  color: var(--kol-fg-96);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-theme",
3
- "version": "0.106.0",
3
+ "version": "0.107.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",