@kolbo/mcp 1.104.0 → 1.104.2
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/package.json +1 -1
- package/src/apps/html.js +9 -0
- package/src/apps/theme.js +8 -2
package/package.json
CHANGED
package/src/apps/html.js
CHANGED
|
@@ -179,6 +179,15 @@ function ensurePeek() {
|
|
|
179
179
|
if (it) window.kolbo.openLink(downloadUrl(it.dl || it.url));
|
|
180
180
|
};
|
|
181
181
|
box.onclick = function (e) { if (e.target === box || e.target === el('peek-stage')) closePeek(); };
|
|
182
|
+
// Touch hosts have no arrow keys: a horizontal swipe pages.
|
|
183
|
+
var x0 = null;
|
|
184
|
+
box.addEventListener('touchstart', function (e) { x0 = e.touches[0].clientX; }, { passive: true });
|
|
185
|
+
box.addEventListener('touchend', function (e) {
|
|
186
|
+
if (x0 == null) return;
|
|
187
|
+
var dx = e.changedTouches[0].clientX - x0;
|
|
188
|
+
x0 = null;
|
|
189
|
+
if (Math.abs(dx) > 50) stepPeek(dx < 0 ? 1 : -1);
|
|
190
|
+
}, { passive: true });
|
|
182
191
|
return box;
|
|
183
192
|
}
|
|
184
193
|
function peekAttrs(url, kind, cap) {
|
package/src/apps/theme.js
CHANGED
|
@@ -178,7 +178,10 @@ html.k-peek-open .k-card { min-height: 460px; }
|
|
|
178
178
|
/* Host granted fullscreen: the lightbox owns the whole viewport, not the card. */
|
|
179
179
|
html.k-peek-fs, html.k-peek-fs body { height: 100%; overflow: hidden; }
|
|
180
180
|
html.k-peek-fs .k-peek { position: fixed; inset: 0; z-index: 50; }
|
|
181
|
-
|
|
181
|
+
/* backdrop-filter (and any transform) makes the card the containing block for
|
|
182
|
+
position:fixed descendants, so a GRANTED fullscreen still showed the lightbox
|
|
183
|
+
card-sized. Drop them while the lightbox owns the viewport. */
|
|
184
|
+
html.k-peek-fs .k-card { min-height: 0; backdrop-filter: none; -webkit-backdrop-filter: none; transform: none; animation: none; }
|
|
182
185
|
/* Expand button on every inline video — replaces the native fullscreen button,
|
|
183
186
|
which a host iframe without allow="fullscreen" always greys out. */
|
|
184
187
|
.k-vexpand {
|
|
@@ -307,7 +310,10 @@ video::-webkit-media-controls-fullscreen-button { display: none !important; }
|
|
|
307
310
|
display: inline-flex; align-items: center; justify-content: center;
|
|
308
311
|
cursor: pointer; opacity: 0; transition: opacity 150ms var(--smooth), background 150ms var(--smooth);
|
|
309
312
|
}
|
|
310
|
-
.k-media:hover .k-dl, .k-viewer:hover .k-dl, .k-skel:hover .k-dl { opacity: 1; }
|
|
313
|
+
.k-media:hover .k-dl, .k-viewer:hover .k-dl, .k-skel:hover .k-dl, .k-dl:focus-visible { opacity: 1; }
|
|
314
|
+
/* Same contract as .k-tile-acts: on a touch host there is no hover, and the
|
|
315
|
+
hover-only Download / Attach buttons were simply invisible. */
|
|
316
|
+
@media (hover: none) { .k-dl { opacity: 1; } }
|
|
311
317
|
.k-dl:hover { background: var(--brand); border-color: var(--brand); }
|
|
312
318
|
/* Attach-to-prompt sits immediately left of Download (30px button + 8px gap). */
|
|
313
319
|
.k-attach { right: 46px; }
|