@kolkrabbi/kol-theme 0.114.0 → 0.116.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.
package/kol-animation.css CHANGED
@@ -279,12 +279,21 @@
279
279
  * showed nothing at 3% while dark UI screenshots beside them read correctly.
280
280
  * The card publishes `--kol-card-feature-zoom` from its `zoom` prop; 1.03 is
281
281
  * the fallback, so nothing moves for anyone who does not set it. */
282
- .kol-card-feature:hover .kol-card-feature-visual {
282
+ /* ONE TREATMENT, TWO WAYS IN (CardSetInViewAttention, kol-website 2026-08-31).
283
+ * `data-attention` is stamped by the card when it holds the viewport's centre on
284
+ * a coarse pointer, and it is added to the SAME rule the hover uses rather than
285
+ * given rules of its own — two parallel sets would drift, and the whole reason
286
+ * this state exists is that variance was already costing more than the
287
+ * behaviour. On a phone a card is an anchor: a tap navigates, so hover was never
288
+ * reachable and the zoom simply never fired. */
289
+ .kol-card-feature:hover .kol-card-feature-visual,
290
+ .kol-card-feature[data-attention] .kol-card-feature-visual {
283
291
  transform: scale(var(--kol-card-feature-zoom, 1.03));
284
292
  }
285
293
  @media (prefers-reduced-motion: reduce) {
286
294
  .kol-card-feature-visual { transition: none; }
287
- .kol-card-feature:hover .kol-card-feature-visual { transform: none; }
295
+ .kol-card-feature:hover .kol-card-feature-visual,
296
+ .kol-card-feature[data-attention] .kol-card-feature-visual { transform: none; }
288
297
  }
289
298
 
290
299
  /* Media hover zoom — opt-in via `mediaHover` (SectionSplit ruling, 2026-08-15).
@@ -110,6 +110,27 @@
110
110
  z-index: calc(var(--kol-z-sticky) + 2);
111
111
  width: 32px;
112
112
  height: 32px;
113
+ transition: transform 220ms cubic-bezier(0.4, 0, 0.2, 1);
114
+ }
115
+
116
+ /* THE TRIGGER RIDES THE DRAWER'S TRAILING EDGE WHEN OPEN (device report from
117
+ * kol-chess, 2026-08-31 — user: "menu is on the wrong side it overlaps close
118
+ * button when open"). Fixed at 12/12 it sat INSIDE the drawer it opens: the
119
+ * drawer spans 0–240 from the same edge, so the close × was drawn on top of the
120
+ * rail's own logomark row, both in the same 32px. It stayed clickable — z-order
121
+ * was right, and the scrim and Escape both closed — so it read as "the close
122
+ * button is gone" rather than as a trap. Unreadable, not unusable.
123
+ *
124
+ * One transform, no new markup: the control stays where the thumb last touched
125
+ * it and does not need NavRail to grow a close row of its own. Not moved to the
126
+ * right permanently — a trigger that changes corner between states is worse than
127
+ * one that travels. */
128
+ [data-rail-drawer="open"] .kol-shell-drawer-trigger {
129
+ transform: translateX(var(--kol-shell-drawer-width, 240px));
130
+ }
131
+
132
+ @media (prefers-reduced-motion: reduce) {
133
+ .kol-shell-drawer-trigger { transition: none; }
113
134
  }
114
135
 
115
136
  .kol-shell-drawer-scrim {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-theme",
3
- "version": "0.114.0",
3
+ "version": "0.116.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",