@kolkrabbi/kol-theme 0.121.0 → 0.123.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-components-atoms.css +17 -0
- package/kol-components-shell.css +43 -0
- package/package.json +1 -1
package/kol-components-atoms.css
CHANGED
|
@@ -696,6 +696,13 @@
|
|
|
696
696
|
* own `align-self: center` on the runnable track, and the thumb stays pinned
|
|
697
697
|
* to the track. The row (.control-slider) is already 24px, so nothing moves. */
|
|
698
698
|
height: 24px;
|
|
699
|
+
/* pan-y, not none (SliderCoarsePointerHeight, kol-mirror 2026-09-01): inside
|
|
700
|
+
* a scrolling sheet `auto` let the scroller claim any drag a few degrees off
|
|
701
|
+
* horizontal, so the thumb never moved and the sheet scrolled instead. The
|
|
702
|
+
* vertical gesture must still reach the scroller, or the sheet stops
|
|
703
|
+
* scrolling wherever a fader sits under the thumb. Does not inherit — it has
|
|
704
|
+
* to be on the input, and no prop reaches the input. */
|
|
705
|
+
touch-action: pan-y;
|
|
699
706
|
}
|
|
700
707
|
|
|
701
708
|
.slider-black::-webkit-slider-runnable-track {
|
|
@@ -1364,4 +1371,14 @@ a.kol-icon-frame {
|
|
|
1364
1371
|
font-size: 16px;
|
|
1365
1372
|
line-height: 22px;
|
|
1366
1373
|
}
|
|
1374
|
+
/* THE FADER (SliderCoarsePointerHeight, kol-mirror 2026-09-01). The jump that
|
|
1375
|
+
* took the input 2 → 24 on the desk takes it 24 → 44 on a phone, by its own
|
|
1376
|
+
* argument: the track is a 2px pseudo the UA centres in the box and the
|
|
1377
|
+
* thumb stays pinned to it, so the drawing does not change. The ROW lifts
|
|
1378
|
+
* with it — `.control-slider` is a fixed 24px and a 44px input inside it
|
|
1379
|
+
* would overflow; a consumer's `rowHeight` inline style still wins. */
|
|
1380
|
+
.control-slider,
|
|
1381
|
+
.slider-black {
|
|
1382
|
+
height: 44px;
|
|
1383
|
+
}
|
|
1367
1384
|
}
|
package/kol-components-shell.css
CHANGED
|
@@ -134,3 +134,46 @@
|
|
|
134
134
|
z-index: calc(var(--kol-z-sticky) - 1);
|
|
135
135
|
background: color-mix(in srgb, var(--kol-color-ab-black) 48%, transparent);
|
|
136
136
|
}
|
|
137
|
+
|
|
138
|
+
/* ── THE TAP OPENER (ShellRailCollapsedWithTapOpen, kol-mirror 2026-09-01) ──
|
|
139
|
+
* `touch="shell"` keeps the collapsed 48px rail visible — the user's ruling
|
|
140
|
+
* for a home that is navigation — but its only opener was the grab strip: 8px
|
|
141
|
+
* on the line, a pill that wakes on pointer PROXIMITY. A thumb never hovers,
|
|
142
|
+
* so on a phone the rail could not be opened. The strip is a <button> now
|
|
143
|
+
* (kol-shell 0.38.0) carrying `.kol-rail-grab-tap`, a 24px disc on the line
|
|
144
|
+
* that exists ONLY under a coarse pointer: fine pointers keep the ruled grab
|
|
145
|
+
* (RailFlatGrabOpen, OneGrabGestureBothRails) and never see this. The strip
|
|
146
|
+
* already toggles on a press with no travel; this gives that press a target.
|
|
147
|
+
* Geometry lives here, the pill's motion stays in kol-animation.css. */
|
|
148
|
+
.kol-rail-grab {
|
|
149
|
+
appearance: none;
|
|
150
|
+
background: transparent;
|
|
151
|
+
border: 0;
|
|
152
|
+
padding: 0;
|
|
153
|
+
color: inherit;
|
|
154
|
+
}
|
|
155
|
+
.kol-rail-grab-tap { display: none; }
|
|
156
|
+
@media (pointer: coarse) {
|
|
157
|
+
.kol-rail-grab {
|
|
158
|
+
width: 24px;
|
|
159
|
+
right: -12px;
|
|
160
|
+
cursor: pointer;
|
|
161
|
+
}
|
|
162
|
+
/* no proximity on touch — the pill would never wake; the disc is the affordance */
|
|
163
|
+
.kol-rail-grab::before { display: none; }
|
|
164
|
+
.kol-rail-grab-tap {
|
|
165
|
+
display: flex;
|
|
166
|
+
align-items: center;
|
|
167
|
+
justify-content: center;
|
|
168
|
+
position: absolute;
|
|
169
|
+
left: 50%;
|
|
170
|
+
top: 50%;
|
|
171
|
+
translate: -50% -50%;
|
|
172
|
+
width: 24px;
|
|
173
|
+
height: 24px;
|
|
174
|
+
border-radius: var(--kol-radius-full);
|
|
175
|
+
background: var(--kol-surface-secondary);
|
|
176
|
+
border: 1px solid var(--kol-fg-16);
|
|
177
|
+
color: var(--kol-oq-96);
|
|
178
|
+
}
|
|
179
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kolkrabbi/kol-theme",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.123.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",
|