@kolkrabbi/kol-theme 0.119.0 → 0.120.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.
@@ -173,12 +173,16 @@
173
173
  * 2026-08-01 — it brings its own box, border, colour set and states, so this
174
174
  * class stopped painting one. It used to hand-draw a bordered square around a
175
175
  * literal `×` CHARACTER, which is why the button had no hover, no focus ring
176
- * and no glyph. The inset is --kol-spacing-3, the rung that already carried
177
- * this value. */
176
+ * and no glyph.
177
+ * `right: 0` (FullscreenOverlayCloseIdiom, kol-chess 2026-09-01): the sheet
178
+ * hugs the consumer's panel, so a --kol-spacing-3 inset floated the X 12px
179
+ * inside the content column's right edge — lined up with nothing the fields
180
+ * below it establish. On the edge, the button's box sits on the same vertical
181
+ * as the controls under it. */
178
182
  .kol-overlay-close {
179
183
  position: absolute;
180
184
  top: var(--kol-spacing-3);
181
- right: var(--kol-spacing-3);
185
+ right: 0;
182
186
  z-index: 10;
183
187
  }
184
188
 
@@ -158,6 +158,25 @@
158
158
  }
159
159
  }
160
160
 
161
+ /* Card subtitles — the WRAPPING secondary line (DashDetailWrapsWithoutLeading,
162
+ * kol-chess 2026-09-01). `.dash-detail` is line-height 1 — single-line chrome
163
+ * by the type protocol's fault line — and CardHeader was handing it full
164
+ * sentences that wrapped to three leading-less lines at 390. Same ramp and
165
+ * step, real leading; footers and labels keep `.dash-detail`. */
166
+ .dash-subtitle {
167
+ font-family: var(--kol-font-family-mono);
168
+ font-weight: 400;
169
+ font-size: 10px;
170
+ line-height: 1.5;
171
+ color: var(--kol-surface-on-primary);
172
+ }
173
+
174
+ @container (min-width: 768px) {
175
+ .dash-subtitle {
176
+ font-size: 12px;
177
+ }
178
+ }
179
+
161
180
  /* Chart axes, compact items, legends — 8px → 11px, regular weight */
162
181
  .dash-caption {
163
182
  font-family: var(--kol-font-family-mono);
@@ -97,8 +97,11 @@
97
97
  * be a second source of truth for it. And no `!important`: the rail reads its
98
98
  * own `--kol-shell-drawer-width` in drawer mode instead of the live rail token,
99
99
  * so nothing here is fighting an inline style. */
100
+ /* FROM THE RIGHT (ShellDrawerOnRight, kol-chess 2026-09-01, user ruling: the
101
+ * close must not land mid-screen). NavRail pins itself right-0 in drawer mode;
102
+ * off-canvas is +100%. */
100
103
  [data-rail-drawer] .kol-shell-rail {
101
- transform: translateX(-100%);
104
+ transform: translateX(100%);
102
105
  transition: transform 220ms cubic-bezier(0.4, 0, 0.2, 1);
103
106
  }
104
107
  [data-rail-drawer="open"] .kol-shell-rail {
@@ -109,34 +112,17 @@
109
112
  }
110
113
 
111
114
  /* Above the rail, so it stays tappable with the drawer open. */
115
+ /* TOP-RIGHT, both states (ShellDrawerOnRight): with the drawer on the right
116
+ * the trigger and the open X share one corner at the screen edge — where the
117
+ * thumb is — so the 2026-08-31 travel rule is gone; it was the cure for the
118
+ * left side and nothing needs to move any more. */
112
119
  .kol-shell-drawer-trigger {
113
120
  position: fixed;
114
121
  top: 12px;
115
- left: 12px;
122
+ right: 12px;
116
123
  z-index: calc(var(--kol-z-sticky) + 2);
117
124
  width: 32px;
118
125
  height: 32px;
119
- transition: transform 220ms cubic-bezier(0.4, 0, 0.2, 1);
120
- }
121
-
122
- /* THE TRIGGER RIDES THE DRAWER'S TRAILING EDGE WHEN OPEN (device report from
123
- * kol-chess, 2026-08-31 — user: "menu is on the wrong side it overlaps close
124
- * button when open"). Fixed at 12/12 it sat INSIDE the drawer it opens: the
125
- * drawer spans 0–240 from the same edge, so the close × was drawn on top of the
126
- * rail's own logomark row, both in the same 32px. It stayed clickable — z-order
127
- * was right, and the scrim and Escape both closed — so it read as "the close
128
- * button is gone" rather than as a trap. Unreadable, not unusable.
129
- *
130
- * One transform, no new markup: the control stays where the thumb last touched
131
- * it and does not need NavRail to grow a close row of its own. Not moved to the
132
- * right permanently — a trigger that changes corner between states is worse than
133
- * one that travels. */
134
- [data-rail-drawer="open"] .kol-shell-drawer-trigger {
135
- transform: translateX(var(--kol-shell-drawer-width, 240px));
136
- }
137
-
138
- @media (prefers-reduced-motion: reduce) {
139
- .kol-shell-drawer-trigger { transition: none; }
140
126
  }
141
127
 
142
128
  .kol-shell-drawer-scrim {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-theme",
3
- "version": "0.119.0",
3
+ "version": "0.120.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",