@kolkrabbi/kol-theme 0.50.2 → 0.51.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.
@@ -474,10 +474,28 @@
474
474
  background-color: transparent;
475
475
  color: var(--kol-surface-on-primary);
476
476
  cursor: pointer;
477
+ position: relative; /* the bare variant's hit extent below anchors here */
477
478
  transition: background-color var(--kol-transition-base),
478
479
  border-color var(--kol-transition-base);
479
480
  }
480
481
 
482
+ /* THE TOUCH FLOOR (MobileTouchFloor, user ruling 2026-08-26): every pressable
483
+ * control clears a 24px hit box (WCAG 2.5.8 AA) and the DRAWN size never
484
+ * moves. No type floor — 10px chrome is the ruled helper/mono-10 voice. Two
485
+ * controls sat under 24: this bare switch (a 12px track in a 1px border, 14px
486
+ * tall) and the Slider's range input below (a 2px track was the whole target).
487
+ * The shells ride button geometry (26/32/40) and already clear it. The extent
488
+ * is a pseudo-element, so the layout box, the label and the track stay where
489
+ * they are; hit-testing on a pseudo lands on its originating button. */
490
+ .toggle-switch--bare::before {
491
+ content: '';
492
+ position: absolute;
493
+ inset-inline: 0;
494
+ top: 50%;
495
+ height: 24px;
496
+ translate: 0 -50%;
497
+ }
498
+
481
499
  .toggle-switch:focus-visible {
482
500
  outline: 2px solid var(--kol-focus-ring);
483
501
  outline-offset: 2px;
@@ -626,7 +644,12 @@
626
644
  appearance: none;
627
645
  background: transparent;
628
646
  cursor: pointer;
629
- height: 2px;
647
+ /* 24px, not 2px (the touch floor, user ruling 2026-08-26 — see ToggleSwitch
648
+ * above). The INPUT is the hit target and it was exactly the track's 2px;
649
+ * the drawing is unchanged: the 2px track centres inside the box by the UA's
650
+ * own `align-self: center` on the runnable track, and the thumb stays pinned
651
+ * to the track. The row (.control-slider) is already 24px, so nothing moves. */
652
+ height: 24px;
630
653
  }
631
654
 
632
655
  .slider-black::-webkit-slider-runnable-track {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-theme",
3
- "version": "0.50.2",
3
+ "version": "0.51.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",