@kolkrabbi/kol-theme 0.122.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.
@@ -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.122.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",