explorer: dismiss mobile drawer on outside click

This commit is contained in:
2026-03-29 02:29:54 +00:00
parent d5f1ac94c6
commit 9f27815908
3 changed files with 18 additions and 2 deletions
+1
View File
@@ -122,6 +122,7 @@ export default ((userOpts?: Partial<Options>) => {
<div id={id} class="explorer-content" aria-expanded={false} role="group"> <div id={id} class="explorer-content" aria-expanded={false} role="group">
<OverflowList class="explorer-ul" /> <OverflowList class="explorer-ul" />
</div> </div>
<div class="explorer-dismiss-area" />
<template id="template-file"> <template id="template-file">
<li> <li>
<a href="#"></a> <a href="#"></a>
@@ -259,6 +259,12 @@ async function setupExplorer(currentSlug: FullSlug) {
icon.addEventListener("click", toggleFolder) icon.addEventListener("click", toggleFolder)
window.addCleanup(() => icon.removeEventListener("click", toggleFolder)) window.addCleanup(() => icon.removeEventListener("click", toggleFolder))
} }
const dismissArea = explorer.querySelector(".explorer-dismiss-area") as MaybeHTMLElement
if (dismissArea) {
dismissArea.addEventListener("click", toggleExplorer)
window.addCleanup(() => dismissArea.removeEventListener("click", toggleExplorer))
}
} }
} }
+11 -2
View File
@@ -239,6 +239,15 @@ li:has(> .folder-outer:not(.open)) > .folder-container > svg {
transform: translateX(0); transform: translateX(0);
visibility: visible; visibility: visible;
} }
& > .explorer-dismiss-area {
position: fixed;
top: 0;
right: 0;
bottom: 0;
width: 20vw;
z-index: 98;
}
} }
.explorer-content { .explorer-content {
@@ -249,8 +258,8 @@ li:has(> .folder-outer:not(.open)) > .folder-container > svg {
left: 0; left: 0;
margin-top: 0; margin-top: 0;
background-color: var(--light); background-color: var(--light);
max-width: 100vw; max-width: 80vw;
width: 100vw; width: 80vw;
transform: translateX(-100vw); transform: translateX(-100vw);
transition: transition:
transform 200ms ease, transform 200ms ease,