@inkandswitch/patchwork-pkg-base 0.0.58 → 0.0.60
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/packages/account/dist/{AccountPicker-HB6MDLKN.js → AccountPicker-KAKD2EZJ.js} +17 -61
- package/packages/account/dist/{AccountPicker-HB6MDLKN.js.map → AccountPicker-KAKD2EZJ.js.map} +2 -2
- package/packages/account/dist/index.js +1 -1
- package/packages/folder/dist/index.js +1 -1
- package/packages/folder/dist/{tool-WZGXLTTD.js → tool-EOCAL24F.js} +3 -4
- package/packages/folder/dist/tool-EOCAL24F.js.map +7 -0
- package/packages/sideboard/dist/chunk-7V2BKMG7.js +26 -0
- package/packages/sideboard/dist/chunk-7V2BKMG7.js.map +7 -0
- package/packages/sideboard/dist/document-list-panel-UUH6HOJ3.js +2 -0
- package/packages/sideboard/dist/index.css +1 -1
- package/packages/sideboard/dist/index.css.map +2 -2
- package/packages/sideboard/dist/index.js +1 -1
- package/packages/sideboard/dist/sideboard/sideboard.js +1 -1
- package/packages/sideboard/package.json +0 -1
- package/packages/threepane/dist/PatchworkFrame-RLYJ4GEF.js +2 -0
- package/packages/threepane/dist/{PatchworkFrame-II6JKG65.js.map → PatchworkFrame-RLYJ4GEF.js.map} +4 -4
- package/packages/threepane/dist/index.js +1 -1
- package/packages/folder/dist/tool-WZGXLTTD.js.map +0 -7
- package/packages/sideboard/dist/chunk-YCECYDWC.js +0 -26
- package/packages/sideboard/dist/chunk-YCECYDWC.js.map +0 -7
- package/packages/sideboard/dist/document-list-panel-DZYK3JHP.js +0 -2
- package/packages/threepane/dist/PatchworkFrame-II6JKG65.js +0 -2
- /package/packages/sideboard/dist/{document-list-panel-DZYK3JHP.js.map → document-list-panel-UUH6HOJ3.js.map} +0 -0
|
@@ -63,7 +63,7 @@ var plugins = [
|
|
|
63
63
|
name: "Account Picker",
|
|
64
64
|
supportedDatatypes: ["account"],
|
|
65
65
|
async load() {
|
|
66
|
-
const { AccountPickerTool } = await import("./AccountPicker-
|
|
66
|
+
const { AccountPickerTool } = await import("./AccountPicker-KAKD2EZJ.js");
|
|
67
67
|
const { styled } = await import("./styles-KCFZAQMN.js");
|
|
68
68
|
return styled(AccountPickerTool);
|
|
69
69
|
}
|
|
@@ -145,11 +145,10 @@ function updateEntry(entry, docLink) {
|
|
|
145
145
|
function listableDatatypes() {
|
|
146
146
|
return getRegistry("patchwork:datatype").all().filter((datatype) => !datatype.unlisted).sort((a, b) => a.name.localeCompare(b.name));
|
|
147
147
|
}
|
|
148
|
-
async function createDocLink(repo,
|
|
148
|
+
async function createDocLink(repo, datatype) {
|
|
149
149
|
const loaded = await getRegistry("patchwork:datatype").load(datatype.id);
|
|
150
150
|
if (!loaded) throw new Error(`couldn't load datatype "${datatype.id}"`);
|
|
151
151
|
const docHandle = await createDocOfDatatype2(loaded, repo);
|
|
152
|
-
if (hive) await hive.addSyncServerPullToDoc(docHandle.url);
|
|
153
152
|
return {
|
|
154
153
|
url: docHandle.url,
|
|
155
154
|
name: loaded.module.getTitle(docHandle.doc()),
|
|
@@ -212,7 +211,7 @@ function buildCreateNew(handle, element) {
|
|
|
212
211
|
const repo = element.repo;
|
|
213
212
|
if (!repo) return;
|
|
214
213
|
try {
|
|
215
|
-
const link = await createDocLink(repo,
|
|
214
|
+
const link = await createDocLink(repo, datatype);
|
|
216
215
|
handle.change((doc) => {
|
|
217
216
|
doc.docs.push(link);
|
|
218
217
|
});
|
|
@@ -363,4 +362,4 @@ var FolderTool = (handle, element) => {
|
|
|
363
362
|
export {
|
|
364
363
|
FolderTool
|
|
365
364
|
};
|
|
366
|
-
//# sourceMappingURL=tool-
|
|
365
|
+
//# sourceMappingURL=tool-EOCAL24F.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/tool.js", "../src/styles.css"],
|
|
4
|
+
"sourcesContent": ["import {\n parseAutomergeUrl,\n isValidAutomergeUrl,\n} from \"@automerge/automerge-repo/slim\";\nimport { openDocument } from \"@inkandswitch/patchwork-elements\";\nimport {\n getRegistry,\n createDocOfDatatype2,\n} from \"@inkandswitch/patchwork-plugins\";\nimport styles from \"./styles.css\";\n\n// MIME types we can extract document drags from, in order of preference.\n// These mirror what the sideboard sets on dragstart so dropping a sidebar\n// item into the folder view adds it to the folder.\nconst DND_DATA_TYPES = [\n \"text/x-patchwork-dnd\",\n \"text/x-patchwork-urls\",\n \"text/uri-list\",\n \"text/plain\",\n];\n\nfunction hasDocumentDrag(dataTransfer) {\n return Boolean(\n dataTransfer &&\n DND_DATA_TYPES.some((type) => dataTransfer.types.includes(type))\n );\n}\n\nfunction urlFromText(text) {\n const trimmed = text.trim();\n if (isValidAutomergeUrl(trimmed)) return trimmed;\n // patchwork web links carry the document id in the fragment: #doc=<documentId>\n const docId = trimmed.match(/#doc=([^&\\s]+)/)?.[1];\n if (docId && isValidAutomergeUrl(`automerge:${docId}`)) {\n return `automerge:${docId}`;\n }\n return null;\n}\n\n// Extract the dragged documents from a drop event. Returns an array of\n// { url, name?, type? } items, or an empty array if there's nothing droppable.\nfunction getDndItems(event) {\n const data = event.dataTransfer;\n if (!data) return [];\n\n const dndData = data.getData(\"text/x-patchwork-dnd\");\n if (dndData) {\n try {\n const parsed = JSON.parse(dndData);\n if (Array.isArray(parsed?.items) && parsed.items.length > 0) {\n return parsed.items.filter((item) => isValidAutomergeUrl(item?.url));\n }\n } catch {\n // fall through to the other types\n }\n }\n\n const urlData = data.getData(\"text/x-patchwork-urls\");\n if (urlData) {\n try {\n const urls = JSON.parse(urlData);\n const items = (Array.isArray(urls) ? urls : [])\n .filter((url) => isValidAutomergeUrl(url))\n .map((url) => ({ url }));\n if (items.length > 0) return items;\n } catch {\n // fall through to the other types\n }\n }\n\n const text = data.getData(\"text/uri-list\") || data.getData(\"text/plain\");\n return text\n .split(/\\r?\\n/)\n .map(urlFromText)\n .filter((url) => url !== null)\n .map((url) => ({ url }));\n}\n\nfunction el(tag, attrs, ...children) {\n const node = document.createElement(tag);\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n if (value == null || value === false) continue;\n if (key === \"className\") {\n node.className = value;\n } else if (key.startsWith(\"on\") && typeof value === \"function\") {\n node.addEventListener(key.slice(2).toLowerCase(), value);\n } else {\n node.setAttribute(key, value);\n }\n }\n }\n for (const child of children.flat()) {\n if (child == null || child === false) continue;\n node.appendChild(\n typeof child === \"string\" ? document.createTextNode(child) : child\n );\n }\n return node;\n}\n\nfunction entryHref(docLink) {\n return `#doc=${parseAutomergeUrl(docLink.url).documentId}&type=${docLink.type}`;\n}\n\nfunction renderLoading() {\n return el(\"div\", { className: \"folder-view-loading\" }, \"Loading\u2026\");\n}\n\nfunction buildEntry(docLink) {\n const isFolder = docLink.type === \"folder\";\n const nameEl = el(\"span\", { className: \"folder-entry-name\" }, docLink.name);\n const typeEl = el(\"span\", { className: \"folder-entry-type\" }, docLink.type);\n const openEl = el(\n \"a\",\n { className: \"folder-entry-open\", href: entryHref(docLink) },\n \"Open\"\n );\n\n // The nested view names the doc without heads; resolution (the drafts\n // `repo:handle-descriptor` answer) pins it to the active checkpoint when one\n // is checked out, so the entry freezes with the folder it lives in.\n const node = el(\n \"div\",\n { className: \"folder-entry\", \"data-type\": docLink.type },\n el(\n \"div\",\n { className: \"folder-entry-head\" },\n el(\"div\", { className: \"folder-entry-title\" }, nameEl, typeEl),\n openEl\n ),\n isFolder\n ? el(\n \"p\",\n { className: \"folder-entry-hint\" },\n 'Click \"Open\" to view folder contents'\n )\n : el(\n \"div\",\n { className: \"folder-entry-body\" },\n el(\n \"div\",\n { className: \"folder-entry-scroll\" },\n el(\"patchwork-view\", { \"doc-url\": docLink.url })\n )\n )\n );\n\n return {\n node,\n nameEl,\n typeEl,\n openEl,\n isFolder,\n url: docLink.url,\n };\n}\n\nfunction updateEntry(entry, docLink) {\n if (entry.nameEl.textContent !== docLink.name) {\n entry.nameEl.textContent = docLink.name;\n }\n if (entry.typeEl.textContent !== docLink.type) {\n entry.typeEl.textContent = docLink.type;\n }\n if (entry.node.getAttribute(\"data-type\") !== docLink.type) {\n entry.node.setAttribute(\"data-type\", docLink.type);\n }\n const href = entryHref(docLink);\n if (entry.openEl.getAttribute(\"href\") !== href) {\n entry.openEl.setAttribute(\"href\", href);\n }\n}\n\n// The listable document types, sorted by name. `file` and other unlisted\n// datatypes are hidden \u2014 you can't create an empty File, for instance.\nfunction listableDatatypes() {\n return getRegistry(\"patchwork:datatype\")\n .all()\n .filter((datatype) => !datatype.unlisted)\n .sort((a, b) => a.name.localeCompare(b.name));\n}\n\n// Create a fresh document of the given datatype and return a DocLink for it.\n// Mirrors the sideboard's createNew: load the plugin on demand, create the doc,\n// then read its title.\nasync function createDocLink(repo, datatype) {\n const loaded = await getRegistry(\"patchwork:datatype\").load(datatype.id);\n if (!loaded) throw new Error(`couldn't load datatype \"${datatype.id}\"`);\n const docHandle = await createDocOfDatatype2(loaded, repo);\n return {\n url: docHandle.url,\n name: loaded.module.getTitle(docHandle.doc()),\n type: datatype.id,\n };\n}\n\n// The \"New\" button plus its type-picker popover. Creating a doc appends a\n// DocLink to the folder and opens it. Returns { node, dispose }.\nfunction buildCreateNew(handle, element) {\n const menu = el(\"div\", { className: \"folder-create-menu\", hidden: \"\" });\n const button = el(\n \"button\",\n {\n className: \"folder-create-button\",\n type: \"button\",\n \"aria-label\": \"Create new document\",\n },\n el(\"span\", { className: \"folder-create-icon\" }, \"+\"),\n \"New\"\n );\n const node = el(\"div\", { className: \"folder-create\" }, button, menu);\n\n let open = false;\n\n function setOpen(next) {\n open = next;\n if (open) {\n renderMenu();\n menu.removeAttribute(\"hidden\");\n node.setAttribute(\"data-open\", \"\");\n } else {\n menu.setAttribute(\"hidden\", \"\");\n node.removeAttribute(\"data-open\");\n }\n }\n\n function renderMenu() {\n const datatypes = listableDatatypes();\n if (datatypes.length === 0) {\n menu.replaceChildren(\n el(\n \"div\",\n { className: \"folder-create-empty\" },\n \"No document types available\"\n )\n );\n return;\n }\n menu.replaceChildren(\n ...datatypes.map((datatype) =>\n el(\n \"button\",\n {\n className: \"folder-create-item\",\n type: \"button\",\n onClick: () => pick(datatype),\n },\n datatype.name\n )\n )\n );\n }\n\n async function pick(datatype) {\n setOpen(false);\n const repo = element.repo;\n if (!repo) return;\n try {\n const link = await createDocLink(repo, datatype);\n handle.change((doc) => {\n doc.docs.push(link);\n });\n openDocument(element, link.url);\n } catch (error) {\n console.error(\"folder: couldn't create document\", error);\n }\n }\n\n button.addEventListener(\"click\", (event) => {\n event.stopPropagation();\n setOpen(!open);\n });\n\n // Dismiss the menu on an outside click or Escape.\n const onPointerDown = (event) => {\n if (open && !node.contains(event.target)) setOpen(false);\n };\n const onKeyDown = (event) => {\n if (open && event.key === \"Escape\") setOpen(false);\n };\n document.addEventListener(\"pointerdown\", onPointerDown);\n document.addEventListener(\"keydown\", onKeyDown);\n\n const dispose = () => {\n document.removeEventListener(\"pointerdown\", onPointerDown);\n document.removeEventListener(\"keydown\", onKeyDown);\n };\n\n return { node, dispose };\n}\n\nexport const FolderTool = (handle, element) => {\n const entries = new Map();\n\n const styleEl = el(\"style\");\n styleEl.textContent = styles;\n\n const countEl = el(\"span\", { className: \"folder-view-count\" });\n const listEl = el(\"div\", { className: \"folder-view-list\" });\n const createNew = buildCreateNew(handle, element);\n const shell = el(\n \"div\",\n { className: \"folder-view\" },\n el(\n \"div\",\n { className: \"folder-view-header\" },\n createNew.node,\n countEl\n ),\n listEl\n );\n\n element.append(styleEl);\n\n // --- drag-and-drop: accept documents dragged in from the sidebar ---\n\n // dragenter/dragleave fire for every descendant, so track nesting depth to\n // know when the pointer has actually left the folder view.\n let dragDepth = 0;\n\n function endDrag() {\n dragDepth = 0;\n shell.removeAttribute(\"data-drop-active\");\n }\n\n function addDroppedDocs(event) {\n const folder = handle.doc();\n if (!folder) return;\n\n const existing = new Set(folder.docs.map((docLink) => docLink.url));\n const selfUrl = handle.url;\n\n const links = [];\n for (const item of getDndItems(event)) {\n if (item.url === selfUrl) continue; // don't nest a folder inside itself\n if (existing.has(item.url)) continue; // already here\n existing.add(item.url); // de-dupe within a single drop too\n links.push({\n url: item.url,\n name: item.name || \"Untitled\",\n type: item.type || \"\",\n });\n }\n\n if (links.length === 0) return;\n\n handle.change((doc) => {\n doc.docs.push(...links);\n });\n }\n\n shell.addEventListener(\"dragenter\", (event) => {\n if (!hasDocumentDrag(event.dataTransfer)) return;\n event.preventDefault();\n dragDepth++;\n shell.setAttribute(\"data-drop-active\", \"\");\n });\n\n shell.addEventListener(\"dragover\", (event) => {\n if (!hasDocumentDrag(event.dataTransfer)) return;\n event.preventDefault();\n // \"link\": dropping here adds a new DocLink to the same automerge url \u2014 the\n // doc isn't moved or cloned. Requires the source's effectAllowed to permit\n // link (the sideboard sets \"all\").\n event.dataTransfer.dropEffect = \"link\";\n });\n\n shell.addEventListener(\"dragleave\", (event) => {\n if (!hasDocumentDrag(event.dataTransfer)) return;\n dragDepth--;\n if (dragDepth <= 0) endDrag();\n });\n\n shell.addEventListener(\"drop\", (event) => {\n if (!hasDocumentDrag(event.dataTransfer)) return;\n event.preventDefault();\n endDrag();\n addDroppedDocs(event);\n });\n\n let mounted = null;\n\n function show(node) {\n if (mounted !== node) {\n // keep the injected <style>, swap the rendered tree\n if (mounted) mounted.remove();\n element.append(node);\n mounted = node;\n }\n }\n\n function render() {\n const folder = handle.doc();\n if (!folder) {\n show(renderLoading());\n return;\n }\n\n show(shell);\n countEl.textContent = `${folder.docs.length} ${\n folder.docs.length === 1 ? \"document\" : \"documents\"\n }`;\n\n if (folder.docs.length === 0) {\n entries.clear();\n listEl.replaceChildren(\n el(\"div\", { className: \"folder-view-empty\" }, \"This folder is empty\")\n );\n return;\n }\n\n const seen = new Set();\n const ordered = [];\n for (const docLink of folder.docs) {\n seen.add(docLink.url);\n const isFolder = docLink.type === \"folder\";\n let entry = entries.get(docLink.url);\n // Rebuild only if folder/non-folder shape flipped \u2014 that's the one\n // case where the body structure differs.\n if (!entry || entry.isFolder !== isFolder) {\n entry = buildEntry(docLink);\n entries.set(docLink.url, entry);\n } else {\n updateEntry(entry, docLink);\n }\n ordered.push(entry.node);\n }\n\n for (const url of [...entries.keys()]) {\n if (seen.has(url)) continue;\n entries.delete(url);\n }\n\n listEl.replaceChildren(...ordered);\n }\n\n const onChange = () => render();\n handle.on(\"change\", onChange);\n render();\n\n return () => {\n handle.off(\"change\", onChange);\n createNew.dispose();\n element.replaceChildren();\n entries.clear();\n mounted = null;\n };\n};\n", "@layer package {\n:root,\n:host,\n[theme] {\n /* The well the cards sit in \u2014 slightly recessed surface. */\n --folder-view-well: var(--editor-fill-offset-10, #f2f2f2);\n --folder-view-well-edge: var(--editor-fill-offset-30, #d6d6d6);\n --folder-view-fg: var(--editor-line, black);\n --folder-view-muted: var(--editor-line-offset-50, #999);\n --folder-view-border: var(--editor-fill-offset-20, #e5e5e5);\n\n /* A card = a raised surface sitting on the well. */\n --folder-view-card: var(--editor-fill, white);\n --folder-view-card-border: var(--editor-fill-offset-20, #e5e5e5);\n\n --folder-view-accent: var(--studio-primary-fill, var(--studio-primary, #35f7ca));\n --folder-view-accent-line: var(--studio-primary-line, var(--editor-fill, white));\n --folder-view-accent-text: var(--editor-primary-text, var(--studio-primary-text, var(--studio-primary, #35f7ca)));\n --folder-view-hover: var(--editor-fill-offset-10, #f2f2f2);\n\n /* Layered drop shadow so a card reads as a solid object resting on the\n well \u2014 a tight contact shadow plus a softer cast one. Derived from the\n theme line colour so it inverts in dark themes. */\n --folder-view-card-shadow: 0 1px 2px\n color-mix(in oklch, var(--editor-line, black), transparent 94%),\n 0 2px 8px color-mix(in oklch, var(--editor-line, black), transparent 96%);\n --folder-view-card-shadow-hover: 0 2px 4px\n color-mix(in oklch, var(--editor-line, black), transparent 90%),\n 0 8px 20px color-mix(in oklch, var(--editor-line, black), transparent 93%);\n\n --folder-view-family: var(--editor-family-sans, system-ui, sans-serif);\n}\n}\n\n/* Block: the whole tool. A sunken well with an inset edge. */\n.folder-view {\n height: 100%;\n overflow: auto;\n padding: var(--studio-space-md, 1rem);\n display: flex;\n flex-direction: column;\n gap: var(--studio-space-md, 1rem);\n font-family: var(--folder-view-family);\n color: var(--folder-view-fg);\n background: var(--folder-view-well);\n /* No outer border: the host frame already draws the lines around the pane, so\n the well reads as flush rather than double-edged. */\n}\n\n/* State: a document is being dragged in from the sidebar. Outline the well\n with the accent colour so it reads as an active drop target. */\n.folder-view[data-drop-active] {\n border-color: var(--folder-view-accent);\n box-shadow: inset 0 0 0 2px var(--folder-view-accent);\n}\n\n/* Composition: header row. New-doc button on the left, count on the right. */\n.folder-view .folder-view-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--studio-space-sm, 0.5rem);\n padding-bottom: var(--studio-space-sm, 0.5rem);\n border-bottom: 1px solid var(--folder-view-border);\n}\n\n/* Composition: the create-new control \u2014 a button anchoring a type-picker. */\n.folder-view .folder-create {\n position: relative;\n}\n\n.folder-view .folder-create-button {\n display: inline-flex;\n align-items: center;\n gap: var(--studio-space-2xs, 0.25rem);\n font: inherit;\n font-size: 0.8rem;\n color: var(--folder-view-accent-line);\n background: var(--folder-view-accent);\n border: 1px solid transparent;\n border-radius: var(--studio-radius-sm, 4px);\n padding: var(--studio-space-2xs, 0.25rem) var(--studio-space-sm, 0.5rem);\n cursor: pointer;\n transition: filter var(--studio-transition-fast, 0.1s ease);\n}\n\n.folder-view .folder-create-button:hover {\n filter: brightness(0.96);\n}\n\n.folder-view .folder-create-icon {\n font-size: 1rem;\n line-height: 1;\n}\n\n/* The type-picker popover, anchored under the button. */\n.folder-view .folder-create-menu {\n position: absolute;\n top: calc(100% + var(--studio-space-2xs, 0.25rem));\n left: 0;\n z-index: 10;\n min-width: 12rem;\n max-height: 16rem;\n overflow: auto;\n display: flex;\n flex-direction: column;\n padding: var(--studio-space-3xs, 0.125rem);\n background: var(--folder-view-card);\n border: 1px solid var(--folder-view-card-border);\n border-radius: var(--studio-radius-md, 8px);\n box-shadow: var(--folder-view-card-shadow-hover);\n}\n\n.folder-view .folder-create-menu[hidden] {\n display: none;\n}\n\n.folder-view .folder-create-item {\n text-align: left;\n font: inherit;\n font-size: 0.85rem;\n color: var(--folder-view-fg);\n background: transparent;\n border: 0;\n border-radius: var(--studio-radius-sm, 4px);\n padding: var(--studio-space-2xs, 0.25rem) var(--studio-space-sm, 0.5rem);\n cursor: pointer;\n}\n\n.folder-view .folder-create-item:hover {\n background: var(--folder-view-hover);\n}\n\n.folder-view .folder-create-empty {\n padding: var(--studio-space-sm, 0.5rem);\n font-size: 0.8rem;\n color: var(--folder-view-muted);\n}\n\n.folder-view .folder-view-count {\n font-size: 0.8rem;\n color: var(--folder-view-muted);\n padding: var(--studio-space-2xs, 0.25rem) var(--studio-space-sm, 0.5rem);\n border-radius: var(--studio-radius-round, 9999px);\n background: var(--folder-view-card);\n border: 1px solid var(--folder-view-border);\n}\n\n/* Composition: the list of cards. */\n.folder-view .folder-view-list {\n display: flex;\n flex-direction: column;\n gap: var(--studio-space-md, 1rem);\n padding-bottom: var(--studio-space-md, 1rem);\n}\n\n.folder-view .folder-view-empty {\n text-align: center;\n color: var(--folder-view-muted);\n padding: var(--studio-space-xl, 2rem) 0;\n}\n\n.folder-view-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: var(--studio-space-md, 1rem);\n font-family: var(--folder-view-family);\n color: var(--folder-view-muted);\n background: var(--folder-view-card);\n}\n\n/* Block: one rendered file/folder card \u2014 sitting on the well. */\n.folder-view .folder-entry {\n background: var(--folder-view-card);\n border: 1px solid var(--folder-view-card-border);\n border-radius: var(--studio-radius-lg, 12px);\n box-shadow: var(--folder-view-card-shadow);\n overflow: hidden;\n transition: box-shadow var(--studio-transition, 0.15s ease),\n transform var(--studio-transition, 0.15s ease);\n}\n\n.folder-view .folder-entry:hover {\n box-shadow: var(--folder-view-card-shadow-hover);\n /* Lift slightly so the card feels like it peels up off the well. */\n transform: translateY(-1px);\n}\n\n.folder-view .folder-entry-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--studio-space-sm, 0.5rem);\n padding: var(--studio-space-sm, 0.5rem) var(--studio-space-md, 1rem);\n}\n\n.folder-view .folder-entry-title {\n display: flex;\n align-items: baseline;\n gap: var(--studio-space-sm, 0.5rem);\n min-width: 0;\n}\n\n.folder-view .folder-entry-name {\n font-weight: 600;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.folder-view .folder-entry-type {\n font-size: 0.7rem;\n color: var(--folder-view-muted);\n padding: var(--studio-space-3xs, 0.125rem) var(--studio-space-2xs, 0.25rem);\n border: 1px solid var(--folder-view-border);\n border-radius: var(--studio-radius-sm, 4px);\n flex-shrink: 0;\n}\n\n.folder-view .folder-entry-open {\n font-size: 0.8rem;\n color: var(--folder-view-accent-text);\n text-decoration: none;\n padding: var(--studio-space-2xs, 0.25rem) var(--studio-space-sm, 0.5rem);\n border-radius: var(--studio-radius-sm, 4px);\n flex-shrink: 0;\n transition: background var(--studio-transition-fast, 0.1s ease);\n}\n\n.folder-view .folder-entry-open:hover {\n background: var(--folder-view-hover);\n}\n\n.folder-view .folder-entry-hint {\n margin: 0;\n padding: 0 var(--studio-space-md, 1rem) var(--studio-space-md, 1rem);\n font-size: 0.85rem;\n color: var(--folder-view-muted);\n}\n\n/* Block: embedded preview body. */\n.folder-view .folder-entry-body {\n flex: 1 1 auto;\n min-height: 0;\n max-height: 300px;\n display: flex;\n flex-direction: column;\n border-top: 1px solid var(--folder-view-border);\n}\n\n.folder-view .folder-entry-scroll {\n height: 100%;\n overflow: auto;\n}\n\n.folder-view .folder-entry-scroll patchwork-view {\n display: block;\n height: 100%;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import{A as $,B as st,C as Ie,D as kt,E as Wn,F as sn,G as Gn,H as ct,I as W,J as Q,K as co,L as ao,M as Qs,N as cn,O as an,Q as ln,R as lo,a as to,b as I,c as no,d as H,e as T,f as N,g as ro,h as Ge,i as Ue,j as ke,k as A,l as oo,m as z,n as X,o as v,p as L,q as k,r as de,s as Ee,t as B,u as on,v as ot,w as it,x as io,y as Fe,z as so}from"./chunk-G7U5YDCS.js";import{b as Zs}from"./chunk-FW4363Y4.js";var[Ft,Me]=I(null);function un(e,t){let n=t?.toLowerCase();return!!n&&e.split(/\s+/).filter(Boolean).every(r=>n.includes(r))}var[uo,je]=I(""),[fo,Yn]=I(new Set);async function qn(e,t,n,r,o){if(o.has(t))return!1;let i=new Set(o);i.add(t);let s;try{s=(await e.find(t)).doc()}catch{return!1}if(!s?.docs)return!1;let c=!1;for(let a of s.docs)n.has(a.url)&&(c=!0),a.type==="folder"&&await qn(e,a.url,n,r,i)&&(c=!0);return c&&r.add(t),c}import{isValidAutomergeUrl as kn}from"@automerge/automerge-repo/slim";import{createDocOfDatatype2 as ul,getRegistry as fl,isLoadablePlugin as dl,isLoadedPlugin as ml}from"@inkandswitch/patchwork-plugins";var ec=$('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class=search-icon><path d="m21 21-4.34-4.34"></path><circle cx=11 cy=11 r=8>');var tc=$('<svg xmlns=http://www.w3.org/2000/svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="new-doc-icon icon"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M9 15h6"></path><path d="M12 18v-6">'),nc=$('<svg xmlns=http://www.w3.org/2000/svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d="m9 18 6-6-6-6">');function mo(){return ec()}function go(e){return(()=>{var t=tc();return Gn(t,e,!0,!0),t})()}function Xn(e){return(()=>{var t=nc();return Gn(t,e,!0,!0),t})()}import{getRegistry as rc,isLoadedPlugin as oc}from"@inkandswitch/patchwork-plugins";async function _t(e,t){let r=(await e.find(t)).doc(),o=r?.["@patchwork"]?.type??"",i="Untitled";if(o){let s=rc("patchwork:datatype"),c=s.get(o);c&&(await s.load(c.id),oc(c)&&(i=c.module.getTitle(r)||i))}return{name:i,type:o,url:t}}import{getRegistry as po,getSupportedToolsForType as ic}from"@inkandswitch/patchwork-plugins";function fn(e){let t=po("patchwork:datatype"),[n,r]=cn(t.filter(e)),o=t.on("changed",()=>r(an(t.filter(e))));return A(o),n}function sc(e){let t=new Map;return n=>{if(!t.has(n)){let o,i=to(s=>(o=s,e(n)));t.set(n,{value:i,refCount:0,dispose:o})}let r=t.get(n);return r.refCount++,A(()=>{r.refCount--,r.refCount===0&&(r.dispose(),t.delete(n))}),r.value}}var cc=sc(e=>{let t=po("patchwork:tool"),[n,r]=cn([]),o=()=>{let s=ic(e);r(an(s))};o();let i=t.on("changed",o);return A(i),n});function ho(e,t){let n=typeof e=="function"?e():e,r=cc(n);if(t?.includeUnlisted)return r;let[o,i]=cn([]);return T(()=>{i(an(r.filter(s=>!s.unlisted)))}),o}var ac=!Q,lc=ac&&!!io;function Jn(e){return(...t)=>{for(let n of e)n&&n(...t)}}var C=e=>typeof e=="function"&&!e.length?e():e,Zn=e=>Array.isArray(e)?e:e?[e]:[];function Qn(e,...t){return typeof e=="function"?e(...t):e}var yo=lc?e=>oo()?A(e):e:A;function uc(e,t,n,r){return e.addEventListener(t,n,r),yo(e.removeEventListener.bind(e,t,n,r))}function er(e,t,n,r){if(Q)return;let o=()=>{Zn(C(e)).forEach(i=>{i&&Zn(C(t)).forEach(s=>uc(i,s,n,r))})};typeof e=="function"?T(o):H(o)}var fc=/((?:--)?(?:\w+-?)+)\s*:\s*([^;]*)/g;function bo(e){let t={},n;for(;n=fc.exec(e);)t[n[1]]=n[2];return t}function Ye(e,t){if(typeof e=="string"){if(typeof t=="string")return`${e};${t}`;e=bo(e)}else typeof t=="string"&&(t=bo(t));return{...e,...t}}function J(...e){return Jn(e)}function Do(e,t,n=-1){return n in e?[...e.slice(0,n),t,...e.slice(n)]:[...e,t]}function Nt(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Po(e){return typeof e=="number"}function Be(e){return Object.prototype.toString.call(e)==="[object String]"}function dc(e){return typeof e=="function"}function mn(e){return t=>`${e()}-${t}`}function ne(e,t){return e?e===t||e.contains(t):!1}function at(e,t=!1){let{activeElement:n}=te(e);if(!n?.nodeName)return null;if(Io(n)&&n.contentDocument)return at(n.contentDocument.body,t);if(t){let r=n.getAttribute("aria-activedescendant");if(r){let o=te(n).getElementById(r);if(o)return o}}return n}function Eo(e){return te(e).defaultView||window}function te(e){return e?e.ownerDocument||e:document}function Io(e){return e.tagName==="IFRAME"}var tr=(e=>(e.Escape="Escape",e.Enter="Enter",e.Tab="Tab",e.Space=" ",e.ArrowDown="ArrowDown",e.ArrowLeft="ArrowLeft",e.ArrowRight="ArrowRight",e.ArrowUp="ArrowUp",e.End="End",e.Home="Home",e.PageDown="PageDown",e.PageUp="PageUp",e))(tr||{});function nr(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}function $t(){return nr(/^Mac/i)}function mc(){return nr(/^iPhone/i)}function gc(){return nr(/^iPad/i)||$t()&&navigator.maxTouchPoints>1}function pc(){return mc()||gc()}function Mo(){return $t()||pc()}function U(e,t){return t&&(dc(t)?t(e):t[0](t[1],e)),e?.defaultPrevented}function G(e){return t=>{for(let n of e)U(t,n)}}function To(e){return $t()?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function Y(e){if(e)if(hc())e.focus({preventScroll:!0});else{let t=yc(e);e.focus(),bc(t)}}var dn=null;function hc(){if(dn==null){dn=!1;try{document.createElement("div").focus({get preventScroll(){return dn=!0,!0}})}catch{}}return dn}function yc(e){let t=e.parentNode,n=[],r=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==r;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&n.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return r instanceof HTMLElement&&n.push({element:r,scrollTop:r.scrollTop,scrollLeft:r.scrollLeft}),n}function bc(e){for(let{element:t,scrollTop:n,scrollLeft:r}of e)t.scrollTop=n,t.scrollLeft=r}var Ao=["input:not([type='hidden']):not([disabled])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","[tabindex]","iframe","object","embed","audio[controls]","video[controls]","[contenteditable]:not([contenteditable='false'])"],wc=[...Ao,'[tabindex]:not([tabindex="-1"]):not([disabled])'],rr=`${Ao.join(":not([hidden]),")},[tabindex]:not([disabled]):not([hidden])`,vc=wc.join(':not([hidden]):not([tabindex="-1"]),');function or(e,t){let r=Array.from(e.querySelectorAll(rr)).filter(wo);return t&&wo(e)&&r.unshift(e),r.forEach((o,i)=>{if(Io(o)&&o.contentDocument){let s=o.contentDocument.body,c=or(s,!1);r.splice(i,1,...c)}}),r}function wo(e){return ir(e)&&!xc(e)}function ir(e){return e.matches(rr)&&sr(e)}function xc(e){return Number.parseInt(e.getAttribute("tabindex")||"0",10)<0}function sr(e,t){return e.nodeName!=="#comment"&&Sc(e)&&Cc(e,t)&&(!e.parentElement||sr(e.parentElement,e))}function Sc(e){if(!(e instanceof HTMLElement)&&!(e instanceof SVGElement))return!1;let{display:t,visibility:n}=e.style,r=t!=="none"&&n!=="hidden"&&n!=="collapse";if(r){if(!e.ownerDocument.defaultView)return r;let{getComputedStyle:o}=e.ownerDocument.defaultView,{display:i,visibility:s}=o(e);r=i!=="none"&&s!=="hidden"&&s!=="collapse"}return r}function Cc(e,t){return!e.hasAttribute("hidden")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function Dc(e,t){return t.some(n=>n.contains(e))}function Lo(e,t,n){let r=t?.tabbable?vc:rr,o=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode(i){return t?.from?.contains(i)?NodeFilter.FILTER_REJECT:i.matches(r)&&sr(i)&&(!n||Dc(i,n))&&(!t?.accept||t.accept(i))?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});return t?.from&&(o.currentNode=t.from),o}function vo(e){let t=e;for(;t&&!Pc(t);)t=t.parentElement;return t||document.scrollingElement||document.documentElement}function Pc(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function Oo(){}function Ro(e,t){let[n,r]=e,o=!1,i=t.length;for(let s=i,c=0,a=s-1;c<s;a=c++){let[u,l]=t[c],[d,g]=t[a],[,h]=t[a===0?s-1:a-1]||[0,0],y=(l-g)*(n-u)-(u-d)*(r-l);if(g<l){if(r>=g&&r<l){if(y===0)return!0;y>0&&(r===g?r>h&&(o=!o):o=!o)}}else if(l<g){if(r>l&&r<=g){if(y===0)return!0;y<0&&(r===g?r<h&&(o=!o):o=!o)}}else if(r===l&&(n>=d&&n<=u||n>=u&&n<=d))return!0}return o}function F(e,t){return L(e,t)}var Kt=new Map,xo=new Set;function So(){if(typeof window>"u")return;let e=n=>{if(!n.target)return;let r=Kt.get(n.target);r||(r=new Set,Kt.set(n.target,r),n.target.addEventListener("transitioncancel",t)),r.add(n.propertyName)},t=n=>{if(!n.target)return;let r=Kt.get(n.target);if(r&&(r.delete(n.propertyName),r.size===0&&(n.target.removeEventListener("transitioncancel",t),Kt.delete(n.target)),Kt.size===0)){for(let o of xo)o();xo.clear()}};document.body.addEventListener("transitionrun",e),document.body.addEventListener("transitionend",t)}typeof document<"u"&&(document.readyState!=="loading"?So():document.addEventListener("DOMContentLoaded",So));function gn(e,t){let n=Co(e,t,"left"),r=Co(e,t,"top"),o=t.offsetWidth,i=t.offsetHeight,s=e.scrollLeft,c=e.scrollTop,a=s+e.offsetWidth,u=c+e.offsetHeight;n<=s?s=n:n+o>a&&(s+=n+o-a),r<=c?c=r:r+i>u&&(c+=r+i-u),e.scrollLeft=s,e.scrollTop=c}function Co(e,t,n){let r=n==="left"?"offsetLeft":"offsetTop",o=0;for(;t.offsetParent&&(o+=t[r],t.offsetParent!==e);){if(t.offsetParent.contains(e)){o-=e[r];break}t=t.offsetParent}return o}function ko(e,t){if(document.contains(e)){let n=document.scrollingElement||document.documentElement;if(window.getComputedStyle(n).overflow==="hidden"){let o=vo(e);for(;e&&o&&e!==n&&o!==n;)gn(o,e),e=o,o=vo(e)}else{let{left:o,top:i}=e.getBoundingClientRect();e?.scrollIntoView?.({block:"nearest"});let{left:s,top:c}=e.getBoundingClientRect();(Math.abs(o-s)>1||Math.abs(i-c)>1)&&(t?.containingElement?.scrollIntoView?.({block:"center",inline:"center"}),e.scrollIntoView?.({block:"nearest"}))}}}var Fo={border:"0",clip:"rect(0 0 0 0)","clip-path":"inset(50%)",height:"1px",margin:"0 -1px -1px 0",overflow:"hidden",padding:"0",position:"absolute",width:"1px","white-space":"nowrap"};var Ec=new Set(["Avst","Arab","Armi","Syrc","Samr","Mand","Thaa","Mend","Nkoo","Adlm","Rohg","Hebr"]),Ic=new Set(["ae","ar","arc","bcc","bqi","ckb","dv","fa","glk","he","ku","mzn","nqo","pnb","ps","sd","ug","ur","yi"]);function Mc(e){if(Intl.Locale){let n=new Intl.Locale(e).maximize().script??"";return Ec.has(n)}let t=e.split("-")[0];return Ic.has(t)}function Tc(e){return Mc(e)?"rtl":"ltr"}function Ko(){let e=typeof navigator<"u"&&(navigator.language||navigator.userLanguage)||"en-US";return{locale:e,direction:Tc(e)}}var ar=Ko(),Ut=new Set;function _o(){ar=Ko();for(let e of Ut)e(ar)}function Ac(){let e={locale:"en-US",direction:"ltr"},[t,n]=I(ar),r=N(()=>Q?e:t());return ke(()=>{Ut.size===0&&window.addEventListener("languagechange",_o),Ut.add(n),A(()=>{Ut.delete(n),Ut.size===0&&window.removeEventListener("languagechange",_o)})}),{locale:()=>r().locale,direction:()=>r().direction}}var Lc=z();function me(){let e=Ac();return X(Lc)||e}var cr=new Map;function No(e){let{locale:t}=me(),n=N(()=>t()+(e?Object.entries(e).sort((r,o)=>r[0]<o[0]?-1:1).join():""));return N(()=>{let r=n(),o;return cr.has(r)&&(o=cr.get(r)),o||(o=new Intl.Collator(t(),e),cr.set(r,o)),o})}function V(e){let[t,n]=k(e,["as"]);if(!t.as)throw new Error("[kobalte]: Polymorphic is missing the required `as` prop.");return v(ao,L(n,{get component(){return t.as}}))}var jo=["top","right","bottom","left"];var Te=Math.min,re=Math.max,Bt=Math.round,Vt=Math.floor,xe=e=>({x:e,y:e}),Oc={left:"right",right:"left",bottom:"top",top:"bottom"};function hn(e,t,n){return re(e,Te(t,n))}function Ve(e,t){return typeof e=="function"?e(t):e}function _e(e){return e.split("-")[0]}function qe(e){return e.split("-")[1]}function lr(e){return e==="x"?"y":"x"}function yn(e){return e==="y"?"height":"width"}function Ae(e){let t=e[0];return t==="t"||t==="b"?"y":"x"}function bn(e){return lr(Ae(e))}function Bo(e,t,n){n===void 0&&(n=!1);let r=qe(e),o=bn(e),i=yn(o),s=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[i]>t.floating[i]&&(s=jt(s)),[s,jt(s)]}function Vo(e){let t=jt(e);return[pn(e),t,pn(t)]}function pn(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}var $o=["left","right"],Uo=["right","left"],Rc=["top","bottom"],kc=["bottom","top"];function Fc(e,t,n){switch(e){case"top":case"bottom":return n?t?Uo:$o:t?$o:Uo;case"left":case"right":return t?Rc:kc;default:return[]}}function Ho(e,t,n,r){let o=qe(e),i=Fc(_e(e),n==="start",r);return o&&(i=i.map(s=>s+"-"+o),t&&(i=i.concat(i.map(pn)))),i}function jt(e){let t=_e(e);return Oc[t]+e.slice(t.length)}function _c(e){return{top:0,right:0,bottom:0,left:0,...e}}function ur(e){return typeof e!="number"?_c(e):{top:e,right:e,bottom:e,left:e}}function Xe(e){let{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function zo(e,t,n){let{reference:r,floating:o}=e,i=Ae(t),s=bn(t),c=yn(s),a=_e(t),u=i==="y",l=r.x+r.width/2-o.width/2,d=r.y+r.height/2-o.height/2,g=r[c]/2-o[c]/2,h;switch(a){case"top":h={x:l,y:r.y-o.height};break;case"bottom":h={x:l,y:r.y+r.height};break;case"right":h={x:r.x+r.width,y:d};break;case"left":h={x:r.x-o.width,y:d};break;default:h={x:r.x,y:r.y}}switch(qe(t)){case"start":h[s]-=g*(n&&u?-1:1);break;case"end":h[s]+=g*(n&&u?-1:1);break}return h}async function Yo(e,t){var n;t===void 0&&(t={});let{x:r,y:o,platform:i,rects:s,elements:c,strategy:a}=e,{boundary:u="clippingAncestors",rootBoundary:l="viewport",elementContext:d="floating",altBoundary:g=!1,padding:h=0}=Ve(t,e),y=ur(h),b=c[g?d==="floating"?"reference":"floating":d],f=Xe(await i.getClippingRect({element:(n=await(i.isElement==null?void 0:i.isElement(b)))==null||n?b:b.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(c.floating)),boundary:u,rootBoundary:l,strategy:a})),m=d==="floating"?{x:r,y:o,width:s.floating.width,height:s.floating.height}:s.reference,p=await(i.getOffsetParent==null?void 0:i.getOffsetParent(c.floating)),x=await(i.isElement==null?void 0:i.isElement(p))?await(i.getScale==null?void 0:i.getScale(p))||{x:1,y:1}:{x:1,y:1},S=Xe(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:m,offsetParent:p,strategy:a}):m);return{top:(f.top-S.top+y.top)/x.y,bottom:(S.bottom-f.bottom+y.bottom)/x.y,left:(f.left-S.left+y.left)/x.x,right:(S.right-f.right+y.right)/x.x}}var Kc=50,qo=async(e,t,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:s}=n,c=s.detectOverflow?s:{...s,detectOverflow:Yo},a=await(s.isRTL==null?void 0:s.isRTL(t)),u=await s.getElementRects({reference:e,floating:t,strategy:o}),{x:l,y:d}=zo(u,r,a),g=r,h=0,y={};for(let w=0;w<i.length;w++){let b=i[w];if(!b)continue;let{name:f,fn:m}=b,{x:p,y:x,data:S,reset:D}=await m({x:l,y:d,initialPlacement:r,placement:g,strategy:o,middlewareData:y,rects:u,platform:c,elements:{reference:e,floating:t}});l=p??l,d=x??d,y[f]={...y[f],...S},D&&h<Kc&&(h++,typeof D=="object"&&(D.placement&&(g=D.placement),D.rects&&(u=D.rects===!0?await s.getElementRects({reference:e,floating:t,strategy:o}):D.rects),{x:l,y:d}=zo(u,g,a)),w=-1)}return{x:l,y:d,placement:g,strategy:o,middlewareData:y}},Xo=e=>({name:"arrow",options:e,async fn(t){let{x:n,y:r,placement:o,rects:i,platform:s,elements:c,middlewareData:a}=t,{element:u,padding:l=0}=Ve(e,t)||{};if(u==null)return{};let d=ur(l),g={x:n,y:r},h=bn(o),y=yn(h),w=await s.getDimensions(u),b=h==="y",f=b?"top":"left",m=b?"bottom":"right",p=b?"clientHeight":"clientWidth",x=i.reference[y]+i.reference[h]-g[h]-i.floating[y],S=g[h]-i.reference[h],D=await(s.getOffsetParent==null?void 0:s.getOffsetParent(u)),M=D?D[p]:0;(!M||!await(s.isElement==null?void 0:s.isElement(D)))&&(M=c.floating[p]||i.floating[y]);let P=x/2-S/2,E=M/2-w[y]/2-1,_=Te(d[f],E),oe=Te(d[m],E),ie=_,Z=M-w[y]-oe,ee=M/2-w[y]/2+P,we=hn(ie,ee,Z),ge=!a.arrow&&qe(o)!=null&&ee!==we&&i.reference[y]/2-(ee<ie?_:oe)-w[y]/2<0,se=ge?ee<ie?ee-ie:ee-Z:0;return{[h]:g[h]+se,data:{[h]:we,centerOffset:ee-we-se,...ge&&{alignmentOffset:se}},reset:ge}}});var Jo=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,r;let{placement:o,middlewareData:i,rects:s,initialPlacement:c,platform:a,elements:u}=t,{mainAxis:l=!0,crossAxis:d=!0,fallbackPlacements:g,fallbackStrategy:h="bestFit",fallbackAxisSideDirection:y="none",flipAlignment:w=!0,...b}=Ve(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let f=_e(o),m=Ae(c),p=_e(c)===c,x=await(a.isRTL==null?void 0:a.isRTL(u.floating)),S=g||(p||!w?[jt(c)]:Vo(c)),D=y!=="none";!g&&D&&S.push(...Ho(c,w,y,x));let M=[c,...S],P=await a.detectOverflow(t,b),E=[],_=((r=i.flip)==null?void 0:r.overflows)||[];if(l&&E.push(P[f]),d){let ee=Bo(o,s,x);E.push(P[ee[0]],P[ee[1]])}if(_=[..._,{placement:o,overflows:E}],!E.every(ee=>ee<=0)){var oe,ie;let ee=(((oe=i.flip)==null?void 0:oe.index)||0)+1,we=M[ee];if(we&&(!(d==="alignment"?m!==Ae(we):!1)||_.every(fe=>Ae(fe.placement)===m?fe.overflows[0]>0:!0)))return{data:{index:ee,overflows:_},reset:{placement:we}};let ge=(ie=_.filter(se=>se.overflows[0]<=0).sort((se,fe)=>se.overflows[1]-fe.overflows[1])[0])==null?void 0:ie.placement;if(!ge)switch(h){case"bestFit":{var Z;let se=(Z=_.filter(fe=>{if(D){let ve=Ae(fe.placement);return ve===m||ve==="y"}return!0}).map(fe=>[fe.placement,fe.overflows.filter(ve=>ve>0).reduce((ve,nn)=>ve+nn,0)]).sort((fe,ve)=>fe[1]-ve[1])[0])==null?void 0:Z[0];se&&(ge=se);break}case"initialPlacement":ge=c;break}if(o!==ge)return{reset:{placement:ge}}}return{}}}};function Wo(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Go(e){return jo.some(t=>e[t]>=0)}var Zo=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:o="referenceHidden",...i}=Ve(e,t);switch(o){case"referenceHidden":{let s=await r.detectOverflow(t,{...i,elementContext:"reference"}),c=Wo(s,n.reference);return{data:{referenceHiddenOffsets:c,referenceHidden:Go(c)}}}case"escaped":{let s=await r.detectOverflow(t,{...i,altBoundary:!0}),c=Wo(s,n.floating);return{data:{escapedOffsets:c,escaped:Go(c)}}}default:return{}}}}};var Nc=new Set(["left","top"]);async function $c(e,t){let{placement:n,platform:r,elements:o}=e,i=await(r.isRTL==null?void 0:r.isRTL(o.floating)),s=_e(n),c=qe(n),a=Ae(n)==="y",u=Nc.has(s)?-1:1,l=i&&a?-1:1,d=Ve(t,e),{mainAxis:g,crossAxis:h,alignmentAxis:y}=typeof d=="number"?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return c&&typeof y=="number"&&(h=c==="end"?y*-1:y),a?{x:h*l,y:g*u}:{x:g*u,y:h*l}}var Qo=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;let{x:o,y:i,placement:s,middlewareData:c}=t,a=await $c(t,e);return s===((n=c.offset)==null?void 0:n.placement)&&(r=c.arrow)!=null&&r.alignmentOffset?{}:{x:o+a.x,y:i+a.y,data:{...a,placement:s}}}}},ei=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:n,y:r,placement:o,platform:i}=t,{mainAxis:s=!0,crossAxis:c=!1,limiter:a={fn:f=>{let{x:m,y:p}=f;return{x:m,y:p}}},...u}=Ve(e,t),l={x:n,y:r},d=await i.detectOverflow(t,u),g=Ae(_e(o)),h=lr(g),y=l[h],w=l[g];if(s){let f=h==="y"?"top":"left",m=h==="y"?"bottom":"right",p=y+d[f],x=y-d[m];y=hn(p,y,x)}if(c){let f=g==="y"?"top":"left",m=g==="y"?"bottom":"right",p=w+d[f],x=w-d[m];w=hn(p,w,x)}let b=a.fn({...t,[h]:y,[g]:w});return{...b,data:{x:b.x-n,y:b.y-r,enabled:{[h]:s,[g]:c}}}}}};var ti=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;let{placement:o,rects:i,platform:s,elements:c}=t,{apply:a=()=>{},...u}=Ve(e,t),l=await s.detectOverflow(t,u),d=_e(o),g=qe(o),h=Ae(o)==="y",{width:y,height:w}=i.floating,b,f;d==="top"||d==="bottom"?(b=d,f=g===(await(s.isRTL==null?void 0:s.isRTL(c.floating))?"start":"end")?"left":"right"):(f=d,b=g==="end"?"top":"bottom");let m=w-l.top-l.bottom,p=y-l.left-l.right,x=Te(w-l[b],m),S=Te(y-l[f],p),D=!t.middlewareData.shift,M=x,P=S;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(P=p),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(M=m),D&&!g){let _=re(l.left,0),oe=re(l.right,0),ie=re(l.top,0),Z=re(l.bottom,0);h?P=y-2*(_!==0||oe!==0?_+oe:re(l.left,l.right)):M=w-2*(ie!==0||Z!==0?ie+Z:re(l.top,l.bottom))}await a({...t,availableWidth:P,availableHeight:M});let E=await s.getDimensions(c.floating);return y!==E.width||w!==E.height?{reset:{rects:!0}}:{}}}};function wn(){return typeof window<"u"}function Ze(e){return ri(e)?(e.nodeName||"").toLowerCase():"#document"}function ce(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Se(e){var t;return(t=(ri(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function ri(e){return wn()?e instanceof Node||e instanceof ce(e).Node:!1}function pe(e){return wn()?e instanceof Element||e instanceof ce(e).Element:!1}function Le(e){return wn()?e instanceof HTMLElement||e instanceof ce(e).HTMLElement:!1}function ni(e){return!wn()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof ce(e).ShadowRoot}function ut(e){let{overflow:t,overflowX:n,overflowY:r,display:o}=he(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&o!=="inline"&&o!=="contents"}function oi(e){return/^(table|td|th)$/.test(Ze(e))}function Ht(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}var Uc=/transform|translate|scale|rotate|perspective|filter/,jc=/paint|layout|strict|content/,Je=e=>!!e&&e!=="none",fr;function vn(e){let t=pe(e)?he(e):e;return Je(t.transform)||Je(t.translate)||Je(t.scale)||Je(t.rotate)||Je(t.perspective)||!xn()&&(Je(t.backdropFilter)||Je(t.filter))||Uc.test(t.willChange||"")||jc.test(t.contain||"")}function ii(e){let t=Ke(e);for(;Le(t)&&!Qe(t);){if(vn(t))return t;if(Ht(t))return null;t=Ke(t)}return null}function xn(){return fr==null&&(fr=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),fr}function Qe(e){return/^(html|body|#document)$/.test(Ze(e))}function he(e){return ce(e).getComputedStyle(e)}function zt(e){return pe(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ke(e){if(Ze(e)==="html")return e;let t=e.assignedSlot||e.parentNode||ni(e)&&e.host||Se(e);return ni(t)?t.host:t}function si(e){let t=Ke(e);return Qe(t)?e.ownerDocument?e.ownerDocument.body:e.body:Le(t)&&ut(t)?t:si(t)}function lt(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);let o=si(e),i=o===((r=e.ownerDocument)==null?void 0:r.body),s=ce(o);if(i){let c=Sn(s);return t.concat(s,s.visualViewport||[],ut(o)?o:[],c&&n?lt(c):[])}else return t.concat(o,lt(o,[],n))}function Sn(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function ui(e){let t=he(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,o=Le(e),i=o?e.offsetWidth:n,s=o?e.offsetHeight:r,c=Bt(n)!==i||Bt(r)!==s;return c&&(n=i,r=s),{width:n,height:r,$:c}}function mr(e){return pe(e)?e:e.contextElement}function ft(e){let t=mr(e);if(!Le(t))return xe(1);let n=t.getBoundingClientRect(),{width:r,height:o,$:i}=ui(t),s=(i?Bt(n.width):n.width)/r,c=(i?Bt(n.height):n.height)/o;return(!s||!Number.isFinite(s))&&(s=1),(!c||!Number.isFinite(c))&&(c=1),{x:s,y:c}}var Bc=xe(0);function fi(e){let t=ce(e);return!xn()||!t.visualViewport?Bc:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Vc(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==ce(e)?!1:t}function et(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let o=e.getBoundingClientRect(),i=mr(e),s=xe(1);t&&(r?pe(r)&&(s=ft(r)):s=ft(e));let c=Vc(i,n,r)?fi(i):xe(0),a=(o.left+c.x)/s.x,u=(o.top+c.y)/s.y,l=o.width/s.x,d=o.height/s.y;if(i){let g=ce(i),h=r&&pe(r)?ce(r):r,y=g,w=Sn(y);for(;w&&r&&h!==y;){let b=ft(w),f=w.getBoundingClientRect(),m=he(w),p=f.left+(w.clientLeft+parseFloat(m.paddingLeft))*b.x,x=f.top+(w.clientTop+parseFloat(m.paddingTop))*b.y;a*=b.x,u*=b.y,l*=b.x,d*=b.y,a+=p,u+=x,y=ce(w),w=Sn(y)}}return Xe({width:l,height:d,x:a,y:u})}function Cn(e,t){let n=zt(e).scrollLeft;return t?t.left+n:et(Se(e)).left+n}function di(e,t){let n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-Cn(e,n),o=n.top+t.scrollTop;return{x:r,y:o}}function Hc(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e,i=o==="fixed",s=Se(r),c=t?Ht(t.floating):!1;if(r===s||c&&i)return n;let a={scrollLeft:0,scrollTop:0},u=xe(1),l=xe(0),d=Le(r);if((d||!d&&!i)&&((Ze(r)!=="body"||ut(s))&&(a=zt(r)),d)){let h=et(r);u=ft(r),l.x=h.x+r.clientLeft,l.y=h.y+r.clientTop}let g=s&&!d&&!i?di(s,a):xe(0);return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-a.scrollLeft*u.x+l.x+g.x,y:n.y*u.y-a.scrollTop*u.y+l.y+g.y}}function zc(e){return Array.from(e.getClientRects())}function Wc(e){let t=Se(e),n=zt(e),r=e.ownerDocument.body,o=re(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),i=re(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),s=-n.scrollLeft+Cn(e),c=-n.scrollTop;return he(r).direction==="rtl"&&(s+=re(t.clientWidth,r.clientWidth)-o),{width:o,height:i,x:s,y:c}}var ci=25;function Gc(e,t){let n=ce(e),r=Se(e),o=n.visualViewport,i=r.clientWidth,s=r.clientHeight,c=0,a=0;if(o){i=o.width,s=o.height;let l=xn();(!l||l&&t==="fixed")&&(c=o.offsetLeft,a=o.offsetTop)}let u=Cn(r);if(u<=0){let l=r.ownerDocument,d=l.body,g=getComputedStyle(d),h=l.compatMode==="CSS1Compat"&&parseFloat(g.marginLeft)+parseFloat(g.marginRight)||0,y=Math.abs(r.clientWidth-d.clientWidth-h);y<=ci&&(i-=y)}else u<=ci&&(i+=u);return{width:i,height:s,x:c,y:a}}function Yc(e,t){let n=et(e,!0,t==="fixed"),r=n.top+e.clientTop,o=n.left+e.clientLeft,i=Le(e)?ft(e):xe(1),s=e.clientWidth*i.x,c=e.clientHeight*i.y,a=o*i.x,u=r*i.y;return{width:s,height:c,x:a,y:u}}function ai(e,t,n){let r;if(t==="viewport")r=Gc(e,n);else if(t==="document")r=Wc(Se(e));else if(pe(t))r=Yc(t,n);else{let o=fi(e);r={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return Xe(r)}function mi(e,t){let n=Ke(e);return n===t||!pe(n)||Qe(n)?!1:he(n).position==="fixed"||mi(n,t)}function qc(e,t){let n=t.get(e);if(n)return n;let r=lt(e,[],!1).filter(c=>pe(c)&&Ze(c)!=="body"),o=null,i=he(e).position==="fixed",s=i?Ke(e):e;for(;pe(s)&&!Qe(s);){let c=he(s),a=vn(s);!a&&c.position==="fixed"&&(o=null),(i?!a&&!o:!a&&c.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||ut(s)&&!a&&mi(e,s))?r=r.filter(l=>l!==s):o=c,s=Ke(s)}return t.set(e,r),r}function Xc(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e,s=[...n==="clippingAncestors"?Ht(t)?[]:qc(t,this._c):[].concat(n),r],c=ai(t,s[0],o),a=c.top,u=c.right,l=c.bottom,d=c.left;for(let g=1;g<s.length;g++){let h=ai(t,s[g],o);a=re(h.top,a),u=Te(h.right,u),l=Te(h.bottom,l),d=re(h.left,d)}return{width:u-d,height:l-a,x:d,y:a}}function Jc(e){let{width:t,height:n}=ui(e);return{width:t,height:n}}function Zc(e,t,n){let r=Le(t),o=Se(t),i=n==="fixed",s=et(e,!0,i,t),c={scrollLeft:0,scrollTop:0},a=xe(0);function u(){a.x=Cn(o)}if(r||!r&&!i)if((Ze(t)!=="body"||ut(o))&&(c=zt(t)),r){let h=et(t,!0,i,t);a.x=h.x+t.clientLeft,a.y=h.y+t.clientTop}else o&&u();i&&!r&&o&&u();let l=o&&!r&&!i?di(o,c):xe(0),d=s.left+c.scrollLeft-a.x-l.x,g=s.top+c.scrollTop-a.y-l.y;return{x:d,y:g,width:s.width,height:s.height}}function dr(e){return he(e).position==="static"}function li(e,t){if(!Le(e)||he(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Se(e)===n&&(n=n.ownerDocument.body),n}function gi(e,t){let n=ce(e);if(Ht(e))return n;if(!Le(e)){let o=Ke(e);for(;o&&!Qe(o);){if(pe(o)&&!dr(o))return o;o=Ke(o)}return n}let r=li(e,t);for(;r&&oi(r)&&dr(r);)r=li(r,t);return r&&Qe(r)&&dr(r)&&!vn(r)?n:r||ii(e)||n}var Qc=async function(e){let t=this.getOffsetParent||gi,n=this.getDimensions,r=await n(e.floating);return{reference:Zc(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function ea(e){return he(e).direction==="rtl"}var gr={convertOffsetParentRelativeRectToViewportRelativeRect:Hc,getDocumentElement:Se,getClippingRect:Xc,getOffsetParent:gi,getElementRects:Qc,getClientRects:zc,getDimensions:Jc,getScale:ft,isElement:pe,isRTL:ea};function pi(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function ta(e,t){let n=null,r,o=Se(e);function i(){var c;clearTimeout(r),(c=n)==null||c.disconnect(),n=null}function s(c,a){c===void 0&&(c=!1),a===void 0&&(a=1),i();let u=e.getBoundingClientRect(),{left:l,top:d,width:g,height:h}=u;if(c||t(),!g||!h)return;let y=Vt(d),w=Vt(o.clientWidth-(l+g)),b=Vt(o.clientHeight-(d+h)),f=Vt(l),p={rootMargin:-y+"px "+-w+"px "+-b+"px "+-f+"px",threshold:re(0,Te(1,a))||1},x=!0;function S(D){let M=D[0].intersectionRatio;if(M!==a){if(!x)return s();M?s(!1,M):r=setTimeout(()=>{s(!1,1e-7)},1e3)}M===1&&!pi(u,e.getBoundingClientRect())&&s(),x=!1}try{n=new IntersectionObserver(S,{...p,root:o.ownerDocument})}catch{n=new IntersectionObserver(S,p)}n.observe(e)}return s(!0),i}function hi(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:o=!0,ancestorResize:i=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:a=!1}=r,u=mr(e),l=o||i?[...u?lt(u):[],...t?lt(t):[]]:[];l.forEach(f=>{o&&f.addEventListener("scroll",n,{passive:!0}),i&&f.addEventListener("resize",n)});let d=u&&c?ta(u,n):null,g=-1,h=null;s&&(h=new ResizeObserver(f=>{let[m]=f;m&&m.target===u&&h&&t&&(h.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var p;(p=h)==null||p.observe(t)})),n()}),u&&!a&&h.observe(u),t&&h.observe(t));let y,w=a?et(e):null;a&&b();function b(){let f=et(e);w&&!pi(w,f)&&n(),w=f,y=requestAnimationFrame(b)}return n(),()=>{var f;l.forEach(m=>{o&&m.removeEventListener("scroll",n),i&&m.removeEventListener("resize",n)}),d?.(),(f=h)==null||f.disconnect(),h=null,a&&cancelAnimationFrame(y)}}var yi=Qo;var bi=ei,wi=Jo,vi=ti,xi=Zo,Si=Xo;var Ci=(e,t,n)=>{let r=new Map,o={platform:gr,...n},i={...o.platform,_c:r};return qo(e,t,{...o,platform:i})};var hr=z();function yr(){let e=X(hr);if(e===void 0)throw new Error("[kobalte]: `usePopperContext` must be used within a `Popper` component");return e}var na=$('<svg display="block" viewBox="0 0 30 30" style="transform:scale(1.02)"><g><path fill="none" d="M23,27.8c1.1,1.2,3.4,2.2,5,2.2h2H0h2c1.7,0,3.9-1,5-2.2l6.6-7.2c0.7-0.8,2-0.8,2.7,0L23,27.8L23,27.8z"></path><path stroke="none" d="M23,27.8c1.1,1.2,3.4,2.2,5,2.2h2H0h2c1.7,0,3.9-1,5-2.2l6.6-7.2c0.7-0.8,2-0.8,2.7,0L23,27.8L23,27.8z">'),pr=30,Di=pr/2,ra={top:180,right:-90,bottom:0,left:90};function tt(e){let t=yr(),n=F({size:pr},e),[r,o]=k(n,["ref","style","size"]),i=()=>t.currentPlacement().split("-")[0],s=oa(t.contentRef),c=()=>s()?.getPropertyValue("background-color")||"none",a=()=>s()?.getPropertyValue(`border-${i()}-color`)||"none",u=()=>s()?.getPropertyValue(`border-${i()}-width`)||"0px",l=()=>Number.parseInt(u())*2*(pr/r.size),d=()=>`rotate(${ra[i()]} ${Di} ${Di}) translate(0 2)`;return v(V,L({as:"div",ref(g){let h=J(t.setArrowRef,r.ref);typeof h=="function"&&h(g)},"aria-hidden":"true",get style(){return Ye({position:"absolute","font-size":`${r.size}px`,width:"1em",height:"1em","pointer-events":"none",fill:c(),stroke:a(),"stroke-width":l()},r.style)}},o,{get children(){let g=na(),h=g.firstChild;return H(()=>Ie(h,"transform",d())),g}}))}function oa(e){let[t,n]=I();return T(()=>{let r=e();r&&n(Eo(r).getComputedStyle(r))}),t}function ia(e){let t=yr(),[n,r]=k(e,["ref","style"]);return v(V,L({as:"div",ref(o){let i=J(t.setPositionerRef,n.ref);typeof i=="function"&&i(o)},"data-popper-positioner":"",get style(){return Ye({position:"absolute",top:0,left:0,"min-width":"max-content"},n.style)}},r))}function Pi(e){let{x:t=0,y:n=0,width:r=0,height:o=0}=e??{};if(typeof DOMRect=="function")return new DOMRect(t,n,r,o);let i={x:t,y:n,width:r,height:o,top:n,right:t+r,bottom:n+o,left:t};return{...i,toJSON:()=>i}}function sa(e,t){return{contextElement:e,getBoundingClientRect:()=>{let r=t(e);return r?Pi(r):e?e.getBoundingClientRect():Pi()}}}function ca(e){return/^(?:top|bottom|left|right)(?:-(?:start|end))?$/.test(e)}var aa={top:"bottom",right:"left",bottom:"top",left:"right"};function la(e,t){let[n,r]=e.split("-"),o=aa[n];return r?n==="left"||n==="right"?`${o} ${r==="start"?"top":"bottom"}`:r==="start"?`${o} ${t==="rtl"?"right":"left"}`:`${o} ${t==="rtl"?"left":"right"}`:`${o} center`}function ua(e){let t=F({getAnchorRect:g=>g?.getBoundingClientRect(),placement:"bottom",gutter:0,shift:0,flip:!0,slide:!0,overlap:!1,sameWidth:!1,fitViewport:!1,hideWhenDetached:!1,detachedPadding:0,arrowPadding:4,overflowPadding:8},e),[n,r]=I(),[o,i]=I(),[s,c]=I(t.placement),a=()=>sa(t.anchorRef?.(),t.getAnchorRect),{direction:u}=me();async function l(){let g=a(),h=n(),y=o();if(!g||!h)return;let w=(y?.clientHeight||0)/2,b=typeof t.gutter=="number"?t.gutter+w:t.gutter??w;h.style.setProperty("--kb-popper-content-overflow-padding",`${t.overflowPadding}px`),g.getBoundingClientRect();let f=[yi(({placement:D})=>{let M=!!D.split("-")[1];return{mainAxis:b,crossAxis:M?void 0:t.shift,alignmentAxis:t.shift}})];if(t.flip!==!1){let D=typeof t.flip=="string"?t.flip.split(" "):void 0;if(D!==void 0&&!D.every(ca))throw new Error("`flip` expects a spaced-delimited list of placements");f.push(wi({padding:t.overflowPadding,fallbackPlacements:D}))}(t.slide||t.overlap)&&f.push(bi({mainAxis:t.slide,crossAxis:t.overlap,padding:t.overflowPadding})),f.push(vi({padding:t.overflowPadding,apply({availableWidth:D,availableHeight:M,rects:P}){let E=Math.round(P.reference.width);D=Math.floor(D),M=Math.floor(M),h.style.setProperty("--kb-popper-anchor-width",`${E}px`),h.style.setProperty("--kb-popper-content-available-width",`${D}px`),h.style.setProperty("--kb-popper-content-available-height",`${M}px`),t.sameWidth&&(h.style.width=`${E}px`),t.fitViewport&&(h.style.maxWidth=`${D}px`,h.style.maxHeight=`${M}px`)}})),t.hideWhenDetached&&f.push(xi({padding:t.detachedPadding})),y&&f.push(Si({element:y,padding:t.arrowPadding}));let m=await Ci(g,h,{placement:t.placement,strategy:"absolute",middleware:f,platform:{...gr,isRTL:()=>u()==="rtl"}});if(c(m.placement),t.onCurrentPlacementChange?.(m.placement),!h)return;h.style.setProperty("--kb-popper-content-transform-origin",la(m.placement,u()));let p=Math.round(m.x),x=Math.round(m.y),S;if(t.hideWhenDetached&&(S=m.middlewareData.hide?.referenceHidden?"hidden":"visible"),Object.assign(h.style,{top:"0",left:"0",transform:`translate3d(${p}px, ${x}px, 0)`,visibility:S}),y&&m.middlewareData.arrow){let{x:D,y:M}=m.middlewareData.arrow,P=m.placement.split("-")[0];Object.assign(y.style,{left:D!=null?`${D}px`:"",top:M!=null?`${M}px`:"",[P]:"100%"})}}T(()=>{let g=a(),h=n();if(!g||!h)return;let y=hi(g,h,l,{elementResize:typeof ResizeObserver=="function"});A(y)}),T(()=>{let g=n(),h=t.contentRef?.();!g||!h||queueMicrotask(()=>{g.style.zIndex=getComputedStyle(h).zIndex})});let d={currentPlacement:s,contentRef:()=>t.contentRef?.(),setPositionerRef:r,setArrowRef:i};return v(hr.Provider,{value:d,get children(){return t.children}})}var br=Object.assign(ua,{Arrow:tt,Context:hr,usePopperContext:yr,Positioner:ia});function Ei(e){let t=e.startIndex??0,n=e.startLevel??0,r=[],o=a=>{if(a==null)return"";let u=e.getKey??"key",l=Be(u)?a[u]:u(a);return l!=null?String(l):""},i=a=>{if(a==null)return"";let u=e.getTextValue??"textValue",l=Be(u)?a[u]:u(a);return l!=null?String(l):""},s=a=>{if(a==null)return!1;let u=e.getDisabled??"disabled";return(Be(u)?a[u]:u(a))??!1},c=a=>{if(a!=null)return Be(e.getSectionChildren)?a[e.getSectionChildren]:e.getSectionChildren?.(a)};for(let a of e.dataSource){if(Be(a)||Po(a)){r.push({type:"item",rawValue:a,key:String(a),textValue:String(a),disabled:s(a),level:n,index:t}),t++;continue}if(c(a)!=null){r.push({type:"section",rawValue:a,key:"",textValue:"",disabled:!1,level:n,index:t}),t++;let u=c(a)??[];if(u.length>0){let l=Ei({dataSource:u,getKey:e.getKey,getTextValue:e.getTextValue,getDisabled:e.getDisabled,getSectionChildren:e.getSectionChildren,startIndex:t,startLevel:n+1});r.push(...l),t+=l.length}}else r.push({type:"item",rawValue:a,key:o(a),textValue:i(a),disabled:s(a),level:n,index:t}),t++}return r}function Ii(e,t=[]){return N(()=>{let n=Ei({dataSource:C(e.dataSource),getKey:C(e.getKey),getTextValue:C(e.getTextValue),getDisabled:C(e.getDisabled),getSectionChildren:C(e.getSectionChildren)});for(let r=0;r<t.length;r++)t[r]();return e.factory(n)})}function dt(e){let[t,n]=I(e.defaultValue?.()),r=N(()=>e.value?.()!==void 0),o=N(()=>r()?e.value?.():t());return[o,s=>{Ge(()=>{let c=Qn(s,o());return Object.is(c,o())||(r()||n(c),e.onChange?.(c)),c})}]}function Dn(e){let[t,n]=dt(e);return[()=>t()??!1,n]}function Mi(e){let[t,n]=dt(e);return[()=>t()??[],n]}var Ne=class Li extends Set{anchorKey;currentKey;constructor(t,n,r){super(t),t instanceof Li?(this.anchorKey=n||t.anchorKey,this.currentKey=r||t.currentKey):(this.anchorKey=n,this.currentKey=r)}};function fa(e){let[t,n]=dt(e);return[()=>t()??new Ne,n]}function Oi(e){return Mo()?e.altKey:e.ctrlKey}function mt(e){return $t()?e.metaKey:e.ctrlKey}function Ti(e){return new Ne(e)}function da(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function ma(e){let t=F({selectionMode:"none",selectionBehavior:"toggle"},e),[n,r]=I(!1),[o,i]=I(),s=N(()=>{let w=C(t.selectedKeys);return w!=null?Ti(w):w}),c=N(()=>{let w=C(t.defaultSelectedKeys);return w!=null?Ti(w):new Ne}),[a,u]=fa({value:s,defaultValue:c,onChange:w=>t.onSelectionChange?.(w)}),[l,d]=I(C(t.selectionBehavior)),g=()=>C(t.selectionMode),h=()=>C(t.disallowEmptySelection)??!1,y=w=>{(C(t.allowDuplicateSelectionEvents)||!da(w,a()))&&u(w)};return T(()=>{let w=a();C(t.selectionBehavior)==="replace"&&l()==="toggle"&&typeof w=="object"&&w.size===0&&d("replace")}),T(()=>{d(C(t.selectionBehavior)??"toggle")}),{selectionMode:g,disallowEmptySelection:h,selectionBehavior:l,setSelectionBehavior:d,isFocused:n,setFocused:r,focusedKey:o,setFocusedKey:i,selectedKeys:a,setSelectedKeys:y}}function ga(e){let[t,n]=I(""),[r,o]=I(-1);return{typeSelectHandlers:{onKeyDown:s=>{if(C(e.isDisabled))return;let c=C(e.keyboardDelegate),a=C(e.selectionManager);if(!c.getKeyForSearch)return;let u=pa(s.key);if(!u||s.ctrlKey||s.metaKey)return;u===" "&&t().trim().length>0&&(s.preventDefault(),s.stopPropagation());let l=n(g=>g+u),d=c.getKeyForSearch(l,a.focusedKey())??c.getKeyForSearch(l);d==null&&ha(l)&&(l=l[0],d=c.getKeyForSearch(l,a.focusedKey())??c.getKeyForSearch(l)),d!=null&&(a.setFocusedKey(d),e.onTypeSelect?.(d)),clearTimeout(r()),o(window.setTimeout(()=>n(""),500))}}}}function pa(e){return e.length===1||!/^[A-Z]/i.test(e)?e:""}function ha(e){return e.split("").every(t=>t===e[0])}function Ri(e,t,n){let o=L({selectOnFocus:()=>C(e.selectionManager).selectionBehavior()==="replace"},e),i=()=>n?.()??t(),{direction:s}=me(),c={top:0,left:0};er(()=>C(o.isVirtualized)?void 0:i(),"scroll",()=>{let b=i();b&&(c={top:b.scrollTop,left:b.scrollLeft})});let{typeSelectHandlers:a}=ga({isDisabled:()=>C(o.disallowTypeAhead),keyboardDelegate:()=>C(o.keyboardDelegate),selectionManager:()=>C(o.selectionManager)}),u=()=>C(o.orientation)??"vertical",l=b=>{U(b,a.onKeyDown),b.altKey&&b.key==="Tab"&&b.preventDefault();let f=t();if(!f?.contains(b.target))return;let m=C(o.selectionManager),p=C(o.selectOnFocus),x=P=>{P!=null&&(m.setFocusedKey(P),b.shiftKey&&m.selectionMode()==="multiple"?m.extendSelection(P):p&&!Oi(b)&&m.replaceSelection(P))},S=C(o.keyboardDelegate),D=C(o.shouldFocusWrap),M=m.focusedKey();switch(b.key){case(u()==="vertical"?"ArrowDown":"ArrowRight"):{if(S.getKeyBelow){b.preventDefault();let P;M!=null?P=S.getKeyBelow(M):P=S.getFirstKey?.(),P==null&&D&&(P=S.getFirstKey?.(M)),x(P)}break}case(u()==="vertical"?"ArrowUp":"ArrowLeft"):{if(S.getKeyAbove){b.preventDefault();let P;M!=null?P=S.getKeyAbove(M):P=S.getLastKey?.(),P==null&&D&&(P=S.getLastKey?.(M)),x(P)}break}case(u()==="vertical"?"ArrowLeft":"ArrowUp"):{if(S.getKeyLeftOf){b.preventDefault();let P=s()==="rtl",E;M!=null?E=S.getKeyLeftOf(M):E=P?S.getFirstKey?.():S.getLastKey?.(),x(E)}break}case(u()==="vertical"?"ArrowRight":"ArrowDown"):{if(S.getKeyRightOf){b.preventDefault();let P=s()==="rtl",E;M!=null?E=S.getKeyRightOf(M):E=P?S.getLastKey?.():S.getFirstKey?.(),x(E)}break}case"Home":if(S.getFirstKey){b.preventDefault();let P=S.getFirstKey(M,mt(b));P!=null&&(m.setFocusedKey(P),mt(b)&&b.shiftKey&&m.selectionMode()==="multiple"?m.extendSelection(P):p&&m.replaceSelection(P))}break;case"End":if(S.getLastKey){b.preventDefault();let P=S.getLastKey(M,mt(b));P!=null&&(m.setFocusedKey(P),mt(b)&&b.shiftKey&&m.selectionMode()==="multiple"?m.extendSelection(P):p&&m.replaceSelection(P))}break;case"PageDown":if(S.getKeyPageBelow&&M!=null){b.preventDefault();let P=S.getKeyPageBelow(M);x(P)}break;case"PageUp":if(S.getKeyPageAbove&&M!=null){b.preventDefault();let P=S.getKeyPageAbove(M);x(P)}break;case"a":mt(b)&&m.selectionMode()==="multiple"&&C(o.disallowSelectAll)!==!0&&(b.preventDefault(),m.selectAll());break;case"Escape":b.defaultPrevented||(b.preventDefault(),C(o.disallowEmptySelection)||m.clearSelection());break;case"Tab":if(!C(o.allowsTabNavigation)){if(b.shiftKey)f.focus();else{let P=Lo(f,{tabbable:!0}),E,_;do _=P.lastChild(),_&&(E=_);while(_);E&&!E.contains(document.activeElement)&&Y(E)}break}}},d=b=>{let f=C(o.selectionManager),m=C(o.keyboardDelegate),p=C(o.selectOnFocus);if(f.isFocused()){b.currentTarget.contains(b.target)||f.setFocused(!1);return}if(b.currentTarget.contains(b.target)){if(f.setFocused(!0),f.focusedKey()==null){let x=D=>{D!=null&&(f.setFocusedKey(D),p&&f.replaceSelection(D))},S=b.relatedTarget;S&&b.currentTarget.compareDocumentPosition(S)&Node.DOCUMENT_POSITION_FOLLOWING?x(f.lastSelectedKey()??m.getLastKey?.()):x(f.firstSelectedKey()??m.getFirstKey?.())}else if(!C(o.isVirtualized)){let x=i();if(x){x.scrollTop=c.top,x.scrollLeft=c.left;let S=x.querySelector(`[data-key="${f.focusedKey()}"]`);S&&(Y(S),gn(x,S))}}}},g=b=>{let f=C(o.selectionManager);b.currentTarget.contains(b.relatedTarget)||f.setFocused(!1)},h=b=>{i()===b.target&&b.preventDefault()},y=()=>{let b=C(o.autoFocus);if(!b)return;let f=C(o.selectionManager),m=C(o.keyboardDelegate),p;b==="first"&&(p=m.getFirstKey?.()),b==="last"&&(p=m.getLastKey?.());let x=f.selectedKeys();x.size&&(p=x.values().next().value),f.setFocused(!0),f.setFocusedKey(p);let S=t();S&&p==null&&!C(o.shouldUseVirtualFocus)&&Y(S)};return ke(()=>{o.deferAutoFocus?setTimeout(y,0):y()}),T(Ue([i,()=>C(o.isVirtualized),()=>C(o.selectionManager).focusedKey()],b=>{let[f,m,p]=b;if(m)p&&o.scrollToKey?.(p);else if(p&&f){let x=f.querySelector(`[data-key="${p}"]`);x&&gn(f,x)}})),{tabIndex:N(()=>{if(!C(o.shouldUseVirtualFocus))return C(o.selectionManager).focusedKey()==null?0:-1}),onKeyDown:l,onMouseDown:h,onFocusIn:d,onFocusOut:g}}function wr(e,t){let n=()=>C(e.selectionManager),r=()=>C(e.key),o=()=>C(e.shouldUseVirtualFocus),i=m=>{n().selectionMode()!=="none"&&(n().selectionMode()==="single"?n().isSelected(r())&&!n().disallowEmptySelection()?n().toggleSelection(r()):n().replaceSelection(r()):m?.shiftKey?n().extendSelection(r()):n().selectionBehavior()==="toggle"||mt(m)||"pointerType"in m&&m.pointerType==="touch"?n().toggleSelection(r()):n().replaceSelection(r()))},s=()=>n().isSelected(r()),c=()=>C(e.disabled)||n().isDisabled(r()),a=()=>!c()&&n().canSelectItem(r()),u=null,l=m=>{a()&&(u=m.pointerType,m.pointerType==="mouse"&&m.button===0&&!C(e.shouldSelectOnPressUp)&&i(m))},d=m=>{a()&&m.pointerType==="mouse"&&m.button===0&&C(e.shouldSelectOnPressUp)&&C(e.allowsDifferentPressOrigin)&&i(m)},g=m=>{a()&&(C(e.shouldSelectOnPressUp)&&!C(e.allowsDifferentPressOrigin)||u!=="mouse")&&i(m)},h=m=>{!a()||!["Enter"," "].includes(m.key)||(Oi(m)?n().toggleSelection(r()):i(m))},y=m=>{c()&&m.preventDefault()},w=m=>{let p=t();o()||c()||!p||m.target===p&&n().setFocusedKey(r())},b=N(()=>{if(!(o()||c()))return r()===n().focusedKey()?0:-1}),f=N(()=>C(e.virtualized)?void 0:r());return T(Ue([t,r,o,()=>n().focusedKey(),()=>n().isFocused()],([m,p,x,S,D])=>{m&&p===S&&D&&!x&&document.activeElement!==m&&(e.focus?e.focus():Y(m))})),{isSelected:s,isDisabled:c,allowsSelection:a,tabIndex:b,dataKey:f,onPointerDown:l,onPointerUp:d,onClick:g,onKeyDown:h,onMouseDown:y,onFocus:w}}var ya=class{collection;state;constructor(e,t){this.collection=e,this.state=t}selectionMode(){return this.state.selectionMode()}disallowEmptySelection(){return this.state.disallowEmptySelection()}selectionBehavior(){return this.state.selectionBehavior()}setSelectionBehavior(e){this.state.setSelectionBehavior(e)}isFocused(){return this.state.isFocused()}setFocused(e){this.state.setFocused(e)}focusedKey(){return this.state.focusedKey()}setFocusedKey(e){(e==null||this.collection().getItem(e))&&this.state.setFocusedKey(e)}selectedKeys(){return this.state.selectedKeys()}isSelected(e){if(this.state.selectionMode()==="none")return!1;let t=this.getKey(e);return t==null?!1:this.state.selectedKeys().has(t)}isEmpty(){return this.state.selectedKeys().size===0}isSelectAll(){if(this.isEmpty())return!1;let e=this.state.selectedKeys();return this.getAllSelectableKeys().every(t=>e.has(t))}firstSelectedKey(){let e;for(let t of this.state.selectedKeys()){let n=this.collection().getItem(t),r=n?.index!=null&&e?.index!=null&&n.index<e.index;(!e||r)&&(e=n)}return e?.key}lastSelectedKey(){let e;for(let t of this.state.selectedKeys()){let n=this.collection().getItem(t),r=n?.index!=null&&e?.index!=null&&n.index>e.index;(!e||r)&&(e=n)}return e?.key}extendSelection(e){if(this.selectionMode()==="none")return;if(this.selectionMode()==="single"){this.replaceSelection(e);return}let t=this.getKey(e);if(t==null)return;let n=this.state.selectedKeys(),r=n.anchorKey||t,o=new Ne(n,r,t);for(let i of this.getKeyRange(r,n.currentKey||t))o.delete(i);for(let i of this.getKeyRange(t,r))this.canSelectItem(i)&&o.add(i);this.state.setSelectedKeys(o)}getKeyRange(e,t){let n=this.collection().getItem(e),r=this.collection().getItem(t);return n&&r?n.index!=null&&r.index!=null&&n.index<=r.index?this.getKeyRangeInternal(e,t):this.getKeyRangeInternal(t,e):[]}getKeyRangeInternal(e,t){let n=[],r=e;for(;r!=null;){let o=this.collection().getItem(r);if(o&&o.type==="item"&&n.push(r),r===t)return n;r=this.collection().getKeyAfter(r)}return[]}getKey(e){let t=this.collection().getItem(e);return t?!t||t.type!=="item"?null:t.key:e}toggleSelection(e){if(this.selectionMode()==="none")return;if(this.selectionMode()==="single"&&!this.isSelected(e)){this.replaceSelection(e);return}let t=this.getKey(e);if(t==null)return;let n=new Ne(this.state.selectedKeys());n.has(t)?n.delete(t):this.canSelectItem(t)&&(n.add(t),n.anchorKey=t,n.currentKey=t),!(this.disallowEmptySelection()&&n.size===0)&&this.state.setSelectedKeys(n)}replaceSelection(e){if(this.selectionMode()==="none")return;let t=this.getKey(e);if(t==null)return;let n=this.canSelectItem(t)?new Ne([t],t,t):new Ne;this.state.setSelectedKeys(n)}setSelectedKeys(e){if(this.selectionMode()==="none")return;let t=new Ne;for(let n of e){let r=this.getKey(n);if(r!=null&&(t.add(r),this.selectionMode()==="single"))break}this.state.setSelectedKeys(t)}selectAll(){this.selectionMode()==="multiple"&&this.state.setSelectedKeys(new Set(this.getAllSelectableKeys()))}clearSelection(){let e=this.state.selectedKeys();!this.disallowEmptySelection()&&e.size>0&&this.state.setSelectedKeys(new Ne)}toggleSelectAll(){this.isSelectAll()?this.clearSelection():this.selectAll()}select(e,t){this.selectionMode()!=="none"&&(this.selectionMode()==="single"?this.isSelected(e)&&!this.disallowEmptySelection()?this.toggleSelection(e):this.replaceSelection(e):this.selectionBehavior()==="toggle"||t&&t.pointerType==="touch"?this.toggleSelection(e):this.replaceSelection(e))}isSelectionEqual(e){if(e===this.state.selectedKeys())return!0;let t=this.selectedKeys();if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;for(let n of t)if(!e.has(n))return!1;return!0}canSelectItem(e){if(this.state.selectionMode()==="none")return!1;let t=this.collection().getItem(e);return t!=null&&!t.disabled}isDisabled(e){let t=this.collection().getItem(e);return!t||t.disabled}getAllSelectableKeys(){let e=[];return(n=>{for(;n!=null;){if(this.canSelectItem(n)){let r=this.collection().getItem(n);if(!r)continue;r.type==="item"&&e.push(n)}n=this.collection().getKeyAfter(n)}})(this.collection().getFirstKey()),e}},Ai=class{keyMap=new Map;iterable;firstKey;lastKey;constructor(e){this.iterable=e;for(let r of e)this.keyMap.set(r.key,r);if(this.keyMap.size===0)return;let t,n=0;for(let[r,o]of this.keyMap)t?(t.nextKey=r,o.prevKey=t.key):(this.firstKey=r,o.prevKey=void 0),o.type==="item"&&(o.index=n++),t=o,t.nextKey=void 0;this.lastKey=t.key}*[Symbol.iterator](){yield*this.iterable}getSize(){return this.keyMap.size}getKeys(){return this.keyMap.keys()}getKeyBefore(e){return this.keyMap.get(e)?.prevKey}getKeyAfter(e){return this.keyMap.get(e)?.nextKey}getFirstKey(){return this.firstKey}getLastKey(){return this.lastKey}getItem(e){return this.keyMap.get(e)}at(e){let t=[...this.getKeys()];return this.getItem(t[e])}};function ki(e){let t=ma(e),r=Ii({dataSource:()=>C(e.dataSource),getKey:()=>C(e.getKey),getTextValue:()=>C(e.getTextValue),getDisabled:()=>C(e.getDisabled),getSectionChildren:()=>C(e.getSectionChildren),factory:i=>e.filter?new Ai(e.filter(i)):new Ai(i)},[()=>e.filter]),o=new ya(r,t);return no(()=>{let i=t.focusedKey();i!=null&&!r().getItem(i)&&t.setFocusedKey(void 0)}),{collection:r,selectionManager:()=>o}}var ba=class{collection;ref;collator;constructor(e,t,n){this.collection=e,this.ref=t,this.collator=n}getKeyBelow(e){let t=this.collection().getKeyAfter(e);for(;t!=null;){let n=this.collection().getItem(t);if(n&&n.type==="item"&&!n.disabled)return t;t=this.collection().getKeyAfter(t)}}getKeyAbove(e){let t=this.collection().getKeyBefore(e);for(;t!=null;){let n=this.collection().getItem(t);if(n&&n.type==="item"&&!n.disabled)return t;t=this.collection().getKeyBefore(t)}}getFirstKey(){let e=this.collection().getFirstKey();for(;e!=null;){let t=this.collection().getItem(e);if(t&&t.type==="item"&&!t.disabled)return e;e=this.collection().getKeyAfter(e)}}getLastKey(){let e=this.collection().getLastKey();for(;e!=null;){let t=this.collection().getItem(e);if(t&&t.type==="item"&&!t.disabled)return e;e=this.collection().getKeyBefore(e)}}getItem(e){return this.ref?.()?.querySelector(`[data-key="${e}"]`)??null}getKeyPageAbove(e){let t=this.ref?.(),n=this.getItem(e);if(!t||!n)return;let r=Math.max(0,n.offsetTop+n.offsetHeight-t.offsetHeight),o=e;for(;o&&n&&n.offsetTop>r;)o=this.getKeyAbove(o),n=o!=null?this.getItem(o):null;return o}getKeyPageBelow(e){let t=this.ref?.(),n=this.getItem(e);if(!t||!n)return;let r=Math.min(t.scrollHeight,n.offsetTop-n.offsetHeight+t.offsetHeight),o=e;for(;o&&n&&n.offsetTop<r;)o=this.getKeyBelow(o),n=o!=null?this.getItem(o):null;return o}getKeyForSearch(e,t){let n=this.collator?.();if(!n)return;let r=t!=null?this.getKeyBelow(t):this.getFirstKey();for(;r!=null;){let o=this.collection().getItem(r);if(o){let i=o.textValue.slice(0,e.length);if(o.textValue&&n.compare(i,e)===0)return r}r=this.getKeyBelow(r)}}};function Fi(e,t,n){let r=No({usage:"search",sensitivity:"base"}),o=N(()=>{let i=C(e.keyboardDelegate);return i||new ba(e.collection,t,r)});return Ri({selectionManager:()=>C(e.selectionManager),keyboardDelegate:o,autoFocus:()=>C(e.autoFocus),deferAutoFocus:()=>C(e.deferAutoFocus),shouldFocusWrap:()=>C(e.shouldFocusWrap),disallowEmptySelection:()=>C(e.disallowEmptySelection),selectOnFocus:()=>C(e.selectOnFocus),disallowTypeAhead:()=>C(e.disallowTypeAhead),shouldUseVirtualFocus:()=>C(e.shouldUseVirtualFocus),allowsTabNavigation:()=>C(e.allowsTabNavigation),isVirtualized:()=>C(e.isVirtualized),scrollToKey:i=>C(e.scrollToKey)?.(i),orientation:()=>C(e.orientation)},t,n)}var _i=z();function vr(){return X(_i)}function wa(){let e=vr();if(e===void 0)throw new Error("[kobalte]: `useDomCollectionContext` must be used within a `DomCollectionProvider` component");return e}function Ki(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}function va(e,t){let n=t.ref();if(!n)return-1;let r=e.length;if(!r)return-1;for(;r--;){let o=e[r]?.ref();if(o&&Ki(o,n))return r+1}return 0}function xa(e){let t=e.map((r,o)=>[o,r]),n=!1;return t.sort(([r,o],[i,s])=>{let c=o.ref(),a=s.ref();return c===a||!c||!a?0:Ki(c,a)?(r>i&&(n=!0),-1):(r<i&&(n=!0),1)}),n?t.map(([r,o])=>o):e}function Ni(e,t){let n=xa(e);e!==n&&t(n)}function Sa(e){let t=e[0],n=e[e.length-1]?.ref(),r=t?.ref()?.parentElement;for(;r;){if(n&&r.contains(n))return r;r=r.parentElement}return te(r).body}function Ca(e,t){T(()=>{let n=setTimeout(()=>{Ni(e(),t)});A(()=>clearTimeout(n))})}function Da(e,t){if(typeof IntersectionObserver!="function"){Ca(e,t);return}let n=[];T(()=>{let r=()=>{let s=!!n.length;n=e(),s&&Ni(e(),t)},o=Sa(e()),i=new IntersectionObserver(r,{root:o});for(let s of e()){let c=s.ref();c&&i.observe(c)}A(()=>i.disconnect())})}function $i(e={}){let[t,n]=Mi({value:()=>C(e.items),onChange:i=>e.onItemsChange?.(i)});Da(t,n);let r=i=>(n(s=>{let c=va(s,i);return Do(s,i,c)}),()=>{n(s=>{let c=s.filter(a=>a.ref()!==i.ref());return s.length===c.length?s:c})});return{DomCollectionProvider:i=>v(_i.Provider,{value:{registerItem:r},get children(){return i.children}})}}function Ui(e){let t=wa(),n=F({shouldRegisterItem:!0},e);T(()=>{if(!n.shouldRegisterItem)return;let r=t.registerItem(n.getItem());A(r)})}var nt="data-kb-top-layer",ji,xr=!1,$e=[];function Wt(e){return $e.findIndex(t=>t.node===e)}function Pa(e){return $e[Wt(e)]}function Ea(e){return $e[$e.length-1].node===e}function Bi(){return $e.filter(e=>e.isPointerBlocking)}function Ia(){return[...Bi()].slice(-1)[0]}function Sr(){return Bi().length>0}function Vi(e){let t=Wt(Ia()?.node);return Wt(e)<t}function Ma(e){$e.push(e)}function Ta(e){let t=Wt(e);t<0||$e.splice(t,1)}function Aa(){for(let{node:e}of $e)e.style.pointerEvents=Vi(e)?"none":"auto"}function La(e){if(Sr()&&!xr){let t=te(e);ji=document.body.style.pointerEvents,t.body.style.pointerEvents="none",xr=!0}}function Oa(e){if(Sr())return;let t=te(e);t.body.style.pointerEvents=ji,t.body.style.length===0&&t.body.removeAttribute("style"),xr=!1}var ae={layers:$e,isTopMostLayer:Ea,hasPointerBlockingLayer:Sr,isBelowPointerBlockingLayer:Vi,addLayer:Ma,removeLayer:Ta,indexOf:Wt,find:Pa,assignPointerEventToLayers:Aa,disableBodyPointerEvents:La,restoreBodyPointerEvents:Oa};var Cr="focusScope.autoFocusOnMount",Dr="focusScope.autoFocusOnUnmount",Hi={bubbles:!1,cancelable:!0},zi={stack:[],active(){return this.stack[0]},add(e){e!==this.active()&&this.active()?.pause(),this.stack=Nt(this.stack,e),this.stack.unshift(e)},remove(e){this.stack=Nt(this.stack,e),this.active()?.resume()}};function Wi(e,t){let[n,r]=I(!1),o={pause(){r(!0)},resume(){r(!1)}},i=null,s=y=>e.onMountAutoFocus?.(y),c=y=>e.onUnmountAutoFocus?.(y),a=()=>te(t()),u=()=>{let y=a().createElement("span");return y.setAttribute("data-focus-trap",""),y.tabIndex=0,Object.assign(y.style,Fo),y},l=()=>{let y=t();return y?or(y,!0).filter(w=>!w.hasAttribute("data-focus-trap")):[]},d=()=>{let y=l();return y.length>0?y[0]:null},g=()=>{let y=l();return y.length>0?y[y.length-1]:null},h=()=>{let y=t();if(!y)return!1;let w=at(y);return!w||ne(y,w)?!1:ir(w)};T(()=>{if(Q)return;let y=t();if(!y)return;zi.add(o);let w=at(y);if(!ne(y,w)){let f=new CustomEvent(Cr,Hi);y.addEventListener(Cr,s),y.dispatchEvent(f),f.defaultPrevented||setTimeout(()=>{Y(d()),at(y)===w&&Y(y)},0)}A(()=>{y.removeEventListener(Cr,s),setTimeout(()=>{let f=new CustomEvent(Dr,Hi);h()&&f.preventDefault(),y.addEventListener(Dr,c),y.dispatchEvent(f),f.defaultPrevented||Y(w??a().body),y.removeEventListener(Dr,c),zi.remove(o)},0)})}),T(()=>{if(Q)return;let y=t();if(!y||!C(e.trapFocus)||n())return;let w=f=>{let m=f.target;m?.closest(`[${nt}]`)||(ne(y,m)?i=m:Y(i))},b=f=>{let p=f.relatedTarget??at(y);p?.closest(`[${nt}]`)||ne(y,p)||Y(i)};a().addEventListener("focusin",w),a().addEventListener("focusout",b),A(()=>{a().removeEventListener("focusin",w),a().removeEventListener("focusout",b)})}),T(()=>{if(Q)return;let y=t();if(!y||!C(e.trapFocus)||n())return;let w=u();y.insertAdjacentElement("afterbegin",w);let b=u();y.insertAdjacentElement("beforeend",b);function f(p){let x=d(),S=g();p.relatedTarget===x?Y(S):Y(x)}w.addEventListener("focusin",f),b.addEventListener("focusin",f);let m=new MutationObserver(p=>{for(let x of p)x.previousSibling===b&&(b.remove(),y.insertAdjacentElement("beforeend",b)),x.nextSibling===w&&(w.remove(),y.insertAdjacentElement("afterbegin",w))});m.observe(y,{childList:!0,subtree:!1}),A(()=>{w.removeEventListener("focusin",f),b.removeEventListener("focusin",f),w.remove(),b.remove(),m.disconnect()})})}var Gi="data-live-announcer";function Yi(e){T(()=>{C(e.isDisabled)||A(Ra(C(e.targets),C(e.root)))})}var Gt=new WeakMap,ye=[];function Ra(e,t=document.body){let n=new Set(e),r=new Set,o=a=>{for(let g of a.querySelectorAll(`[${Gi}], [${nt}]`))n.add(g);let u=g=>{if(n.has(g)||g.parentElement&&r.has(g.parentElement)&&g.parentElement.getAttribute("role")!=="row")return NodeFilter.FILTER_REJECT;for(let h of n)if(g.contains(h))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},l=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,{acceptNode:u}),d=u(a);if(d===NodeFilter.FILTER_ACCEPT&&i(a),d!==NodeFilter.FILTER_REJECT){let g=l.nextNode();for(;g!=null;)i(g),g=l.nextNode()}},i=a=>{let u=Gt.get(a)??0;a.getAttribute("aria-hidden")==="true"&&u===0||(u===0&&a.setAttribute("aria-hidden","true"),r.add(a),Gt.set(a,u+1))};ye.length&&ye[ye.length-1].disconnect(),o(t);let s=new MutationObserver(a=>{for(let u of a)if(!(u.type!=="childList"||u.addedNodes.length===0)&&![...n,...r].some(l=>l.contains(u.target))){for(let l of u.removedNodes)l instanceof Element&&(n.delete(l),r.delete(l));for(let l of u.addedNodes)(l instanceof HTMLElement||l instanceof SVGElement)&&(l.dataset.liveAnnouncer==="true"||l.dataset.reactAriaTopLayer==="true")?n.add(l):l instanceof Element&&o(l)}});s.observe(t,{childList:!0,subtree:!0});let c={observe(){s.observe(t,{childList:!0,subtree:!0})},disconnect(){s.disconnect()}};return ye.push(c),()=>{s.disconnect();for(let a of r){let u=Gt.get(a);if(u==null)return;u===1?(a.removeAttribute("aria-hidden"),Gt.delete(a)):Gt.set(a,u-1)}c===ye[ye.length-1]?(ye.pop(),ye.length&&ye[ye.length-1].observe()):ye.splice(ye.indexOf(c),1)}}var qi="interactOutside.pointerDownOutside",Xi="interactOutside.focusOutside";function Ji(e,t){let n,r=Oo,o=()=>te(t()),i=d=>e.onPointerDownOutside?.(d),s=d=>e.onFocusOutside?.(d),c=d=>e.onInteractOutside?.(d),a=d=>{let g=d.target;return!(g instanceof Element)||g.closest(`[${nt}]`)||!ne(o(),g)||ne(t(),g)?!1:!e.shouldExcludeElement?.(g)},u=d=>{function g(){let h=t(),y=d.target;if(!h||!y||!a(d))return;let w=G([i,c]);y.addEventListener(qi,w,{once:!0});let b=new CustomEvent(qi,{bubbles:!1,cancelable:!0,detail:{originalEvent:d,isContextMenu:d.button===2||To(d)&&d.button===0}});y.dispatchEvent(b)}d.pointerType==="touch"?(o().removeEventListener("click",g),r=g,o().addEventListener("click",g,{once:!0})):g()},l=d=>{let g=t(),h=d.target;if(!g||!h||!a(d))return;let y=G([s,c]);h.addEventListener(Xi,y,{once:!0});let w=new CustomEvent(Xi,{bubbles:!1,cancelable:!0,detail:{originalEvent:d,isContextMenu:!1}});h.dispatchEvent(w)};T(()=>{Q||C(e.isDisabled)||(n=window.setTimeout(()=>{o().addEventListener("pointerdown",u,!0)},0),o().addEventListener("focusin",l,!0),A(()=>{window.clearTimeout(n),o().removeEventListener("click",r),o().removeEventListener("pointerdown",u,!0),o().removeEventListener("focusin",l,!0)}))})}function Zi(e){let t=n=>{n.key===tr.Escape&&e.onEscapeKeyDown?.(n)};T(()=>{if(Q||C(e.isDisabled))return;let n=e.ownerDocument?.()??te();n.addEventListener("keydown",t),A(()=>{n.removeEventListener("keydown",t)})})}var Qi=z();function ka(){return X(Qi)}function es(e){let t,n=ka(),[r,o]=k(e,["ref","disableOutsidePointerEvents","excludedElements","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","bypassTopMostLayerCheck"]),i=new Set([]),s=d=>{i.add(d);let g=n?.registerNestedLayer(d);return()=>{i.delete(d),g?.()}};Ji({shouldExcludeElement:d=>t?r.excludedElements?.some(g=>ne(g(),d))||[...i].some(g=>ne(g,d)):!1,onPointerDownOutside:d=>{!t||ae.isBelowPointerBlockingLayer(t)||!r.bypassTopMostLayerCheck&&!ae.isTopMostLayer(t)||(r.onPointerDownOutside?.(d),r.onInteractOutside?.(d),d.defaultPrevented||r.onDismiss?.())},onFocusOutside:d=>{r.onFocusOutside?.(d),r.onInteractOutside?.(d),d.defaultPrevented||r.onDismiss?.()}},()=>t),Zi({ownerDocument:()=>te(t),onEscapeKeyDown:d=>{!t||!ae.isTopMostLayer(t)||(r.onEscapeKeyDown?.(d),!d.defaultPrevented&&r.onDismiss&&(d.preventDefault(),r.onDismiss()))}}),ke(()=>{if(!t)return;ae.addLayer({node:t,isPointerBlocking:r.disableOutsidePointerEvents,dismiss:r.onDismiss});let d=n?.registerNestedLayer(t);ae.assignPointerEventToLayers(),ae.disableBodyPointerEvents(t),A(()=>{t&&(ae.removeLayer(t),d?.(),ae.assignPointerEventToLayers(),ae.restoreBodyPointerEvents(t))})}),T(Ue([()=>t,()=>r.disableOutsidePointerEvents],([d,g])=>{if(!d)return;let h=ae.find(d);h&&h.isPointerBlocking!==g&&(h.isPointerBlocking=g,ae.assignPointerEventToLayers()),g&&ae.disableBodyPointerEvents(d),A(()=>{ae.restoreBodyPointerEvents(d)})},{defer:!0}));let l={registerNestedLayer:s};return v(Qi.Provider,{value:l,get children(){return v(V,L({as:"div",ref(d){let g=J(h=>t=h,r.ref);typeof g=="function"&&g(d)}},o))}})}function Yt(e={}){let[t,n]=Dn({value:()=>C(e.open),defaultValue:()=>!!C(e.defaultOpen),onChange:s=>e.onOpenChange?.(s)}),r=()=>{n(!0)},o=()=>{n(!1)};return{isOpen:t,setIsOpen:n,open:r,close:o,toggle:()=>{t()?o():r()}}}function gt(e,t){let[n,r]=I(ts(t?.()));return T(()=>{r(e()?.tagName.toLowerCase()||ts(t?.()))}),n}function ts(e){return Be(e)?e:void 0}var Fa=Object.defineProperty,He=(e,t)=>{for(var n in t)Fa(e,n,{get:t[n],enumerable:!0})};var _a={};He(_a,{Button:()=>$a,Root:()=>Pn});var Ka=["button","color","file","image","reset","submit"];function Na(e){let t=e.tagName.toLowerCase();return t==="button"?!0:t==="input"&&e.type?Ka.indexOf(e.type)!==-1:!1}function Pn(e){let t,n=F({type:"button"},e),[r,o]=k(n,["ref","type","disabled"]),i=gt(()=>t,()=>"button"),s=N(()=>{let u=i();return u==null?!1:Na({tagName:u,type:r.type})}),c=N(()=>i()==="input"),a=N(()=>i()==="a"&&t?.getAttribute("href")!=null);return v(V,L({as:"button",ref(u){let l=J(d=>t=d,r.ref);typeof l=="function"&&l(u)},get type(){return s()||c()?r.type:void 0},get role(){return!s()&&!a()?"button":void 0},get tabIndex(){return!s()&&!a()&&!r.disabled?0:void 0},get disabled(){return s()||c()?r.disabled:void 0},get"aria-disabled"(){return!s()&&!c()&&r.disabled?!0:void 0},get"data-disabled"(){return r.disabled?"":void 0}},o))}var $a=Pn;function ns(e={}){let[t,n]=Dn({value:()=>C(e.isSelected),defaultValue:()=>!!C(e.defaultIsSelected),onChange:i=>e.onSelectedChange?.(i)});return{isSelected:t,setIsSelected:i=>{!C(e.isReadOnly)&&!C(e.isDisabled)&&n(i)},toggle:()=>{!C(e.isReadOnly)&&!C(e.isDisabled)&&n(!t())}}}function pt(e){return t=>(e(t),()=>e(void 0))}var q=e=>typeof e=="function"?e():e;var qt=(e,t)=>{if(e.contains(t))return!0;let n=t;for(;n;){if(n===e)return!0;n=n._$host??n.parentElement}return!1};var En=new Map,Ua=e=>{T(()=>{let t=q(e.style)??{},n=q(e.properties)??[],r={};for(let i in t)r[i]=e.element.style[i];let o=En.get(e.key);o?o.activeCount++:En.set(e.key,{activeCount:1,originalStyles:r,properties:n.map(i=>i.key)}),Object.assign(e.element.style,e.style);for(let i of n)e.element.style.setProperty(i.key,i.value);A(()=>{let i=En.get(e.key);if(i){if(i.activeCount!==1){i.activeCount--;return}En.delete(e.key);for(let[s,c]of Object.entries(i.originalStyles))e.element.style[s]=c;for(let s of i.properties)e.element.style.removeProperty(s);e.element.style.length===0&&e.element.removeAttribute("style"),e.cleanup?.()}})})},Pr=Ua;var ja=(e,t)=>{switch(t){case"x":return[e.clientWidth,e.scrollLeft,e.scrollWidth];case"y":return[e.clientHeight,e.scrollTop,e.scrollHeight]}},Ba=(e,t)=>{let n=getComputedStyle(e),r=t==="x"?n.overflowX:n.overflowY;return r==="auto"||r==="scroll"||e.tagName==="HTML"&&r==="visible"},rs=(e,t,n)=>{let r=t==="x"&&window.getComputedStyle(e).direction==="rtl"?-1:1,o=e,i=0,s=0,c=!1;do{let[a,u,l]=ja(o,t),d=l-a-r*u;(u!==0||d!==0)&&Ba(o,t)&&(i+=d,s+=u),o===(n??document.documentElement)?c=!0:o=o._$host??o.parentElement}while(o&&!c);return[i,s]};var[os,is]=I([]),Va=e=>os().indexOf(e)===os().length-1,Ha=e=>{let t=L({element:null,enabled:!0,hideScrollbar:!0,preventScrollbarShift:!0,preventScrollbarShiftMode:"padding",restoreScrollPosition:!0,allowPinchZoom:!1},e),n=de(),r=[0,0],o=null,i=null;T(()=>{q(t.enabled)&&(is(u=>[...u,n]),A(()=>{is(u=>u.filter(l=>l!==n))}))}),T(()=>{if(!q(t.enabled)||!q(t.hideScrollbar))return;let{body:u}=document,l=window.innerWidth-u.offsetWidth;if(q(t.preventScrollbarShift)){let d={overflow:"hidden"},g=[];l>0&&(q(t.preventScrollbarShiftMode)==="padding"?d.paddingRight=`calc(${window.getComputedStyle(u).paddingRight} + ${l}px)`:d.marginRight=`calc(${window.getComputedStyle(u).marginRight} + ${l}px)`,g.push({key:"--scrollbar-width",value:`${l}px`}));let h=window.scrollY,y=window.scrollX;Pr({key:"prevent-scroll",element:u,style:d,properties:g,cleanup:()=>{q(t.restoreScrollPosition)&&l>0&&window.scrollTo(y,h)}})}else Pr({key:"prevent-scroll",element:u,style:{overflow:"hidden"}})}),T(()=>{!Va(n)||!q(t.enabled)||(document.addEventListener("wheel",c,{passive:!1}),document.addEventListener("touchstart",s,{passive:!1}),document.addEventListener("touchmove",a,{passive:!1}),A(()=>{document.removeEventListener("wheel",c),document.removeEventListener("touchstart",s),document.removeEventListener("touchmove",a)}))});let s=u=>{r=ss(u),o=null,i=null},c=u=>{let l=u.target,d=q(t.element),g=za(u),h=Math.abs(g[0])>Math.abs(g[1])?"x":"y",y=h==="x"?g[0]:g[1],w=cs(l,h,y,d),b;d&&qt(d,l)?b=!w:b=!0,b&&u.cancelable&&u.preventDefault()},a=u=>{let l=q(t.element),d=u.target,g;if(u.touches.length===2)g=!q(t.allowPinchZoom);else{if(o==null||i===null){let h=ss(u).map((w,b)=>r[b]-w),y=Math.abs(h[0])>Math.abs(h[1])?"x":"y";o=y,i=y==="x"?h[0]:h[1]}if(d.type==="range")g=!1;else{let h=cs(d,o,i,l);l&&qt(l,d)?g=!h:g=!0}}g&&u.cancelable&&u.preventDefault()}},za=e=>[e.deltaX,e.deltaY],ss=e=>e.changedTouches[0]?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0],cs=(e,t,n,r)=>{let o=r!==null&&qt(r,e),[i,s]=rs(e,t,o?r:void 0);return!(n>0&&Math.abs(i)<=1||n<0&&Math.abs(s)<1)},Wa=Ha,as=Wa;var Ga=e=>{let t=N(()=>{let s=q(e.element);if(s)return getComputedStyle(s)}),n=()=>t()?.animationName??"none",[r,o]=I(q(e.show)?"present":"hidden"),i="none";return T(s=>{let c=q(e.show);return Ge(()=>{if(s===c)return c;let a=i,u=n();c?o("present"):u==="none"||t()?.display==="none"?o("hidden"):o(s===!0&&a!==u?"hiding":"hidden")}),c}),T(()=>{let s=q(e.element);if(!s)return;let c=u=>{u.target===s&&(i=n())},a=u=>{let d=n().includes(u.animationName);u.target===s&&d&&r()==="hiding"&&o("hidden")};s.addEventListener("animationstart",c),s.addEventListener("animationcancel",a),s.addEventListener("animationend",a),A(()=>{s.removeEventListener("animationstart",c),s.removeEventListener("animationcancel",a),s.removeEventListener("animationend",a)})}),{present:()=>r()==="present"||r()==="hiding",state:r,setState:o}},Ya=Ga,ls=Ya;var qa=z();function In(){return X(qa)}var Xa=z();function ds(){return X(Xa)}var ms=z();function gs(){return X(ms)}function be(){let e=gs();if(e===void 0)throw new Error("[kobalte]: `useMenuContext` must be used within a `Menu` component");return e}var ps=z();function Er(){let e=X(ps);if(e===void 0)throw new Error("[kobalte]: `useMenuItemContext` must be used within a `Menu.Item` component");return e}var hs=z();function le(){let e=X(hs);if(e===void 0)throw new Error("[kobalte]: `useMenuRootContext` must be used within a `MenuRoot` component");return e}function Ir(e){let t,n=le(),r=be(),o=F({id:n.generateId(`item-${de()}`)},e),[i,s]=k(o,["ref","textValue","disabled","closeOnSelect","checked","indeterminate","onSelect","onPointerMove","onPointerLeave","onPointerDown","onPointerUp","onClick","onKeyDown","onMouseDown","onFocus"]),[c,a]=I(),[u,l]=I(),[d,g]=I(),h=()=>r.listState().selectionManager(),y=()=>s.id,w=()=>h().focusedKey()===y(),b=()=>{i.onSelect?.(),i.closeOnSelect&&setTimeout(()=>{r.close(!0)})};Ui({getItem:()=>({ref:()=>t,type:"item",key:y(),textValue:i.textValue??d()?.textContent??t?.textContent??"",disabled:i.disabled??!1})});let f=wr({key:y,selectionManager:h,shouldSelectOnPressUp:!0,allowsDifferentPressOrigin:!0,disabled:()=>i.disabled},()=>t),m=E=>{U(E,i.onPointerMove),E.pointerType==="mouse"&&(i.disabled?r.onItemLeave(E):(r.onItemEnter(E),E.defaultPrevented||(Y(E.currentTarget),r.listState().selectionManager().setFocused(!0),r.listState().selectionManager().setFocusedKey(y()))))},p=E=>{U(E,i.onPointerLeave),E.pointerType==="mouse"&&r.onItemLeave(E)},x=E=>{U(E,i.onPointerUp),!i.disabled&&E.button===0&&b()},S=E=>{if(U(E,i.onKeyDown),!E.repeat&&!i.disabled)switch(E.key){case"Enter":case" ":b();break}},D=N(()=>{if(i.indeterminate)return"mixed";if(i.checked!=null)return i.checked}),M=N(()=>({"data-indeterminate":i.indeterminate?"":void 0,"data-checked":i.checked&&!i.indeterminate?"":void 0,"data-disabled":i.disabled?"":void 0,"data-highlighted":w()?"":void 0})),P={isChecked:()=>i.checked,dataset:M,setLabelRef:g,generateId:mn(()=>s.id),registerLabel:pt(a),registerDescription:pt(l)};return v(ps.Provider,{value:P,get children(){return v(V,L({as:"div",ref(E){let _=J(oe=>t=oe,i.ref);typeof _=="function"&&_(E)},get tabIndex(){return f.tabIndex()},get"aria-checked"(){return D()},get"aria-disabled"(){return i.disabled},get"aria-labelledby"(){return c()},get"aria-describedby"(){return u()},get"data-key"(){return f.dataKey()},get onPointerDown(){return G([i.onPointerDown,f.onPointerDown])},get onPointerUp(){return G([x,f.onPointerUp])},get onClick(){return G([i.onClick,f.onClick])},get onKeyDown(){return G([S,f.onKeyDown])},get onMouseDown(){return G([i.onMouseDown,f.onMouseDown])},get onFocus(){return G([i.onFocus,f.onFocus])},onPointerMove:m,onPointerLeave:p},M,s))}})}function ht(e){let t=F({closeOnSelect:!1},e),[n,r]=k(t,["checked","defaultChecked","onChange","onSelect"]),o=ns({isSelected:()=>n.checked,defaultIsSelected:()=>n.defaultChecked,onSelectedChange:s=>n.onChange?.(s),isDisabled:()=>r.disabled});return v(Ir,L({role:"menuitemcheckbox",get checked(){return o.isSelected()},onSelect:()=>{n.onSelect?.(),o.toggle()}},r))}var Xt={next:(e,t)=>e==="ltr"?t==="horizontal"?"ArrowRight":"ArrowDown":t==="horizontal"?"ArrowLeft":"ArrowUp",previous:(e,t)=>Xt.next(e==="ltr"?"rtl":"ltr",t)},us={first:e=>e==="horizontal"?"ArrowDown":"ArrowRight",last:e=>e==="horizontal"?"ArrowUp":"ArrowLeft"};function Mr(e){let t=le(),n=be(),r=In(),{direction:o}=me(),i=F({id:t.generateId("trigger")},e),[s,c]=k(i,["ref","id","disabled","onPointerDown","onClick","onKeyDown","onMouseOver","onFocus"]),a=()=>t.value();r!==void 0&&(a=()=>t.value()??s.id,r.lastValue()===void 0&&r.setLastValue(a));let u=gt(()=>n.triggerRef(),()=>"button"),l=N(()=>u()==="a"&&n.triggerRef()?.getAttribute("href")!=null);T(Ue(()=>r?.value(),f=>{l()&&f===a()&&n.triggerRef()?.focus()}));let d=()=>{r!==void 0?n.isOpen()?r.value()===a()&&r.closeMenu():(r.autoFocusMenu()||r.setAutoFocusMenu(!0),n.open(!1)):n.toggle(!0)},g=f=>{U(f,s.onPointerDown),f.currentTarget.dataset.pointerType=f.pointerType,!s.disabled&&f.pointerType!=="touch"&&f.button===0&&d()},h=f=>{U(f,s.onClick),s.disabled||f.currentTarget.dataset.pointerType==="touch"&&d()},y=f=>{if(U(f,s.onKeyDown),!s.disabled){if(l())switch(f.key){case"Enter":case" ":return}switch(f.key){case"Enter":case" ":case us.first(t.orientation()):f.stopPropagation(),f.preventDefault(),ko(f.currentTarget),n.open("first"),r?.setAutoFocusMenu(!0),r?.setValue(a);break;case us.last(t.orientation()):f.stopPropagation(),f.preventDefault(),n.open("last");break;case Xt.next(o(),t.orientation()):if(r===void 0)break;f.stopPropagation(),f.preventDefault(),r.nextMenu();break;case Xt.previous(o(),t.orientation()):if(r===void 0)break;f.stopPropagation(),f.preventDefault(),r.previousMenu();break}}},w=f=>{U(f,s.onMouseOver),n.triggerRef()?.dataset.pointerType!=="touch"&&!s.disabled&&r!==void 0&&r.value()!==void 0&&r.setValue(a)},b=f=>{U(f,s.onFocus),r!==void 0&&f.currentTarget.dataset.pointerType!=="touch"&&r.setValue(a)};return T(()=>A(n.registerTriggerId(s.id))),v(Pn,L({ref(f){let m=J(n.setTriggerRef,s.ref);typeof m=="function"&&m(f)},get"data-kb-menu-value-trigger"(){return t.value()},get id(){return s.id},get disabled(){return s.disabled},"aria-haspopup":"true",get"aria-expanded"(){return n.isOpen()},get"aria-controls"(){return Fe(()=>!!n.isOpen())()?n.contentId():void 0},get"data-highlighted"(){return a()!==void 0&&r?.value()===a()?!0:void 0},get tabIndex(){return r!==void 0?r.value()===a()||r.lastValue()===a()?0:-1:void 0},onPointerDown:g,onMouseOver:w,onClick:h,onKeyDown:y,onFocus:b,role:r!==void 0?"menuitem":void 0},()=>n.dataset(),c))}function ys(e){let t,n=le(),r=be(),o=In(),i=ds(),{direction:s}=me(),c=F({id:n.generateId(`content-${de()}`)},e),[a,u]=k(c,["ref","id","style","onOpenAutoFocus","onCloseAutoFocus","onEscapeKeyDown","onFocusOutside","onPointerEnter","onPointerMove","onKeyDown","onMouseDown","onFocusIn","onFocusOut"]),l=0,d=()=>r.parentMenuContext()==null&&o===void 0&&n.isModal(),g=Fi({selectionManager:r.listState().selectionManager,collection:r.listState().collection,autoFocus:r.autoFocus,deferAutoFocus:!0,shouldFocusWrap:!0,disallowTypeAhead:()=>!r.listState().selectionManager().isFocused(),orientation:()=>n.orientation()==="horizontal"?"vertical":"horizontal"},()=>t);Wi({trapFocus:()=>d()&&r.isOpen(),onMountAutoFocus:p=>{o===void 0&&a.onOpenAutoFocus?.(p)},onUnmountAutoFocus:a.onCloseAutoFocus},()=>t);let h=p=>{if(ne(p.currentTarget,p.target)&&(p.key==="Tab"&&r.isOpen()&&p.preventDefault(),o!==void 0&&p.currentTarget.getAttribute("aria-haspopup")!=="true"))switch(p.key){case Xt.next(s(),n.orientation()):p.stopPropagation(),p.preventDefault(),r.close(!0),o.setAutoFocusMenu(!0),o.nextMenu();break;case Xt.previous(s(),n.orientation()):if(p.currentTarget.hasAttribute("data-closed"))break;p.stopPropagation(),p.preventDefault(),r.close(!0),o.setAutoFocusMenu(!0),o.previousMenu();break}},y=p=>{a.onEscapeKeyDown?.(p),o?.setAutoFocusMenu(!1),r.close(!0)},w=p=>{a.onFocusOutside?.(p),n.isModal()&&p.preventDefault()},b=p=>{U(p,a.onPointerEnter),r.isOpen()&&(r.parentMenuContext()?.listState().selectionManager().setFocused(!1),r.parentMenuContext()?.listState().selectionManager().setFocusedKey(void 0))},f=p=>{if(U(p,a.onPointerMove),p.pointerType!=="mouse")return;let x=p.target,S=l!==p.clientX;ne(p.currentTarget,x)&&S&&(r.setPointerDir(p.clientX>l?"right":"left"),l=p.clientX)};T(()=>A(r.registerContentId(a.id))),A(()=>r.setContentRef(void 0));let m={ref:J(p=>{r.setContentRef(p),t=p},a.ref),role:"menu",get id(){return a.id},get tabIndex(){return g.tabIndex()},get"aria-labelledby"(){return r.triggerId()},onKeyDown:G([a.onKeyDown,g.onKeyDown,h]),onMouseDown:G([a.onMouseDown,g.onMouseDown]),onFocusIn:G([a.onFocusIn,g.onFocusIn]),onFocusOut:G([a.onFocusOut,g.onFocusOut]),onPointerEnter:b,onPointerMove:f,get"data-orientation"(){return n.orientation()}};return v(B,{get when(){return r.contentPresent()},get children(){return v(B,{get when(){return i===void 0||r.parentMenuContext()!=null},get fallback(){return v(V,L({as:"div"},()=>r.dataset(),m,u))},get children(){return v(br.Positioner,{get children(){return v(es,L({get disableOutsidePointerEvents(){return Fe(()=>!!d())()&&r.isOpen()},get excludedElements(){return[r.triggerRef]},bypassTopMostLayerCheck:!0,get style(){return Ye({"--kb-menu-content-transform-origin":"var(--kb-popper-content-transform-origin)",position:"relative"},a.style)},onEscapeKeyDown:y,onFocusOutside:w,get onDismiss(){return r.close}},()=>r.dataset(),m,u))}})}})}})}function Mn(e){let t,n=le(),r=be(),[o,i]=k(e,["ref"]);return as({element:()=>t??null,enabled:()=>r.contentPresent()&&n.preventScroll()}),v(ys,L({ref(s){let c=J(a=>{t=a},o.ref);typeof c=="function"&&c(s)}},i))}var bs=z();function Ja(){let e=X(bs);if(e===void 0)throw new Error("[kobalte]: `useMenuGroupContext` must be used within a `Menu.Group` component");return e}function rt(e){let t=le(),n=F({id:t.generateId(`group-${de()}`)},e),[r,o]=I(),i={generateId:mn(()=>n.id),registerLabelId:pt(o)};return v(bs.Provider,{value:i,get children(){return v(V,L({as:"div",role:"group",get"aria-labelledby"(){return r()}},n))}})}function yt(e){let t=Ja(),n=F({id:t.generateId("label")},e),[r,o]=k(n,["id"]);return T(()=>A(t.registerLabelId(r.id))),v(V,L({as:"span",get id(){return r.id},"aria-hidden":"true"},o))}function bt(e){let t=be(),n=F({children:"\u25BC"},e);return v(V,L({as:"span","aria-hidden":"true"},()=>t.dataset(),n))}function wt(e){return v(Ir,L({role:"menuitem",closeOnSelect:!0},e))}function vt(e){let t=Er(),n=F({id:t.generateId("description")},e),[r,o]=k(n,["id"]);return T(()=>A(t.registerDescription(r.id))),v(V,L({as:"div",get id(){return r.id}},()=>t.dataset(),o))}function xt(e){let t=Er(),n=F({id:t.generateId("indicator")},e),[r,o]=k(n,["forceMount"]);return v(B,{get when(){return r.forceMount||t.isChecked()},get children(){return v(V,L({as:"div"},()=>t.dataset(),o))}})}function St(e){let t=Er(),n=F({id:t.generateId("label")},e),[r,o]=k(n,["ref","id"]);return T(()=>A(t.registerLabel(r.id))),v(V,L({as:"div",ref(i){let s=J(t.setLabelRef,r.ref);typeof s=="function"&&s(i)},get id(){return r.id}},()=>t.dataset(),o))}function Ct(e){let t=be();return v(B,{get when(){return t.contentPresent()},get children(){return v(co,e)}})}var ws=z();function Za(){let e=X(ws);if(e===void 0)throw new Error("[kobalte]: `useMenuRadioGroupContext` must be used within a `Menu.RadioGroup` component");return e}function Dt(e){let n=le().generateId(`radiogroup-${de()}`),r=F({id:n},e),[o,i]=k(r,["value","defaultValue","onChange","disabled"]),[s,c]=dt({value:()=>o.value,defaultValue:()=>o.defaultValue,onChange:u=>o.onChange?.(u)}),a={isDisabled:()=>o.disabled,isSelectedValue:u=>u===s(),setSelectedValue:u=>c(u)};return v(ws.Provider,{value:a,get children(){return v(rt,i)}})}function Pt(e){let t=Za(),n=F({closeOnSelect:!1},e),[r,o]=k(n,["value","onSelect"]);return v(Ir,L({role:"menuitemradio",get checked(){return t.isSelectedValue(r.value)},onSelect:()=>{r.onSelect?.(),t.setSelectedValue(r.value)}},o))}function Qa(e,t,n){let r=e.split("-")[0],o=n.getBoundingClientRect(),i=[],s=t.clientX,c=t.clientY;switch(r){case"top":i.push([s,c+5]),i.push([o.left,o.bottom]),i.push([o.left,o.top]),i.push([o.right,o.top]),i.push([o.right,o.bottom]);break;case"right":i.push([s-5,c]),i.push([o.left,o.top]),i.push([o.right,o.top]),i.push([o.right,o.bottom]),i.push([o.left,o.bottom]);break;case"bottom":i.push([s,c-5]),i.push([o.right,o.top]),i.push([o.right,o.bottom]),i.push([o.left,o.bottom]),i.push([o.left,o.top]);break;case"left":i.push([s+5,c]),i.push([o.right,o.bottom]),i.push([o.left,o.bottom]),i.push([o.left,o.top]),i.push([o.right,o.top]);break}return i}function el(e,t){return t?Ro([e.clientX,e.clientY],t):!1}function vs(e){let t=le(),n=vr(),r=gs(),o=In(),i=ds(),s=F({placement:t.orientation()==="horizontal"?"bottom-start":"right-start"},e),[c,a]=k(s,["open","defaultOpen","onOpenChange"]),u=0,l=null,d="right",[g,h]=I(),[y,w]=I(),[b,f]=I(),[m,p]=I(),[x,S]=I(!0),[D,M]=I(a.placement),[P,E]=I([]),[_,oe]=I([]),{DomCollectionProvider:ie}=$i({items:_,onItemsChange:oe}),Z=Yt({open:()=>c.open,defaultOpen:()=>c.defaultOpen,onOpenChange:R=>c.onOpenChange?.(R)}),{present:ee}=ls({show:()=>t.forceMount()||Z.isOpen(),element:()=>m()??null}),we=ki({selectionMode:"none",dataSource:_}),ge=R=>{S(R),Z.open()},se=(R=!1)=>{Z.close(),R&&r&&r.close(!0)},fe=R=>{S(R),Z.toggle()},ve=()=>{let R=m();R&&(Y(R),we.selectionManager().setFocused(!0),we.selectionManager().setFocusedKey(void 0))},nn=()=>{i!=null?setTimeout(()=>ve()):ve()},Gs=R=>{E(zn=>[...zn,R]);let rn=r?.registerNestedMenu(R);return()=>{E(zn=>Nt(zn,R)),rn?.()}},Hn=R=>d===l?.side&&el(R,l?.area),Ys=R=>{Hn(R)&&R.preventDefault()},qs=R=>{Hn(R)||nn()},Xs=R=>{Hn(R)&&R.preventDefault()};Yi({isDisabled:()=>!(r==null&&Z.isOpen()&&t.isModal()),targets:()=>[m(),...P()].filter(Boolean)}),T(()=>{let R=m();if(!R||!r)return;let rn=r.registerNestedMenu(R);A(()=>{rn()})}),T(()=>{r===void 0&&o?.registerMenu(t.value(),[m(),...P()])}),T(()=>{r!==void 0||o===void 0||(o.value()===t.value()?(b()?.focus(),o.autoFocusMenu()&&ge(!0)):se())}),T(()=>{r!==void 0||o===void 0||Z.isOpen()&&o.setValue(t.value())}),A(()=>{r===void 0&&o?.unregisterMenu(t.value())});let Js={dataset:N(()=>({"data-expanded":Z.isOpen()?"":void 0,"data-closed":Z.isOpen()?void 0:""})),isOpen:Z.isOpen,contentPresent:ee,nestedMenus:P,currentPlacement:D,pointerGraceTimeoutId:()=>u,autoFocus:x,listState:()=>we,parentMenuContext:()=>r,triggerRef:b,contentRef:m,triggerId:g,contentId:y,setTriggerRef:f,setContentRef:p,open:ge,close:se,toggle:fe,focusContent:nn,onItemEnter:Ys,onItemLeave:qs,onTriggerLeave:Xs,setPointerDir:R=>d=R,setPointerGraceTimeoutId:R=>u=R,setPointerGraceIntent:R=>l=R,registerNestedMenu:Gs,registerItemToParentDomCollection:n?.registerItem,registerTriggerId:pt(h),registerContentId:pt(w)};return v(ie,{get children(){return v(ms.Provider,{value:Js,get children(){return v(B,{when:i===void 0,get fallback(){return a.children},get children(){return v(br,L({anchorRef:b,contentRef:m,onCurrentPlacementChange:M},a))}})}})}})}function Et(e){let{direction:t}=me();return v(vs,L({get placement(){return t()==="rtl"?"left-start":"right-start"},flip:!0},e))}var tl={close:(e,t)=>e==="ltr"?[t==="horizontal"?"ArrowLeft":"ArrowUp"]:[t==="horizontal"?"ArrowRight":"ArrowDown"]};function It(e){let t=be(),n=le(),[r,o]=k(e,["onFocusOutside","onKeyDown"]),{direction:i}=me();return v(ys,L({onOpenAutoFocus:l=>{l.preventDefault()},onCloseAutoFocus:l=>{l.preventDefault()},onFocusOutside:l=>{r.onFocusOutside?.(l);let d=l.target;ne(t.triggerRef(),d)||t.close()},onKeyDown:l=>{U(l,r.onKeyDown);let d=ne(l.currentTarget,l.target),g=tl.close(i(),n.orientation()).includes(l.key),h=t.parentMenuContext()!=null;d&&g&&h&&(t.close(),Y(t.triggerRef()))}},o))}var fs=["Enter"," "],nl={open:(e,t)=>e==="ltr"?[...fs,t==="horizontal"?"ArrowRight":"ArrowDown"]:[...fs,t==="horizontal"?"ArrowLeft":"ArrowUp"]};function Mt(e){let t,n=le(),r=be(),o=F({id:n.generateId(`sub-trigger-${de()}`)},e),[i,s]=k(o,["ref","id","textValue","disabled","onPointerMove","onPointerLeave","onPointerDown","onPointerUp","onClick","onKeyDown","onMouseDown","onFocus"]),c=null,a=()=>{Q||(c&&window.clearTimeout(c),c=null)},{direction:u}=me(),l=()=>i.id,d=()=>{let p=r.parentMenuContext();if(p==null)throw new Error("[kobalte]: `Menu.SubTrigger` must be used within a `Menu.Sub` component");return p.listState().selectionManager()},g=()=>r.listState().collection(),h=()=>d().focusedKey()===l(),y=wr({key:l,selectionManager:d,shouldSelectOnPressUp:!0,allowsDifferentPressOrigin:!0,disabled:()=>i.disabled},()=>t),w=p=>{U(p,i.onClick),!r.isOpen()&&!i.disabled&&r.open(!0)},b=p=>{if(U(p,i.onPointerMove),p.pointerType!=="mouse")return;let x=r.parentMenuContext();if(x?.onItemEnter(p),!p.defaultPrevented){if(i.disabled){x?.onItemLeave(p);return}!r.isOpen()&&!c&&(r.parentMenuContext()?.setPointerGraceIntent(null),c=window.setTimeout(()=>{r.open(!1),a()},100)),x?.onItemEnter(p),p.defaultPrevented||(r.listState().selectionManager().isFocused()&&(r.listState().selectionManager().setFocused(!1),r.listState().selectionManager().setFocusedKey(void 0)),Y(p.currentTarget),x?.listState().selectionManager().setFocused(!0),x?.listState().selectionManager().setFocusedKey(l()))}},f=p=>{if(U(p,i.onPointerLeave),p.pointerType!=="mouse")return;a();let x=r.parentMenuContext(),S=r.contentRef();if(S){x?.setPointerGraceIntent({area:Qa(r.currentPlacement(),p,S),side:r.currentPlacement().split("-")[0]}),window.clearTimeout(x?.pointerGraceTimeoutId());let D=window.setTimeout(()=>{x?.setPointerGraceIntent(null)},300);x?.setPointerGraceTimeoutId(D)}else{if(x?.onTriggerLeave(p),p.defaultPrevented)return;x?.setPointerGraceIntent(null)}x?.onItemLeave(p)},m=p=>{U(p,i.onKeyDown),!p.repeat&&(i.disabled||nl.open(u(),n.orientation()).includes(p.key)&&(p.stopPropagation(),p.preventDefault(),d().setFocused(!1),d().setFocusedKey(void 0),r.isOpen()||r.open("first"),r.focusContent(),r.listState().selectionManager().setFocused(!0),r.listState().selectionManager().setFocusedKey(g().getFirstKey())))};return T(()=>{if(r.registerItemToParentDomCollection==null)throw new Error("[kobalte]: `Menu.SubTrigger` must be used within a `Menu.Sub` component");let p=r.registerItemToParentDomCollection({ref:()=>t,type:"item",key:l(),textValue:i.textValue??t?.textContent??"",disabled:i.disabled??!1});A(p)}),T(Ue(()=>r.parentMenuContext()?.pointerGraceTimeoutId(),p=>{A(()=>{window.clearTimeout(p),r.parentMenuContext()?.setPointerGraceIntent(null)})})),T(()=>A(r.registerTriggerId(i.id))),A(()=>{a()}),v(V,L({as:"div",ref(p){let x=J(S=>{r.setTriggerRef(S),t=S},i.ref);typeof x=="function"&&x(p)},get id(){return i.id},role:"menuitem",get tabIndex(){return y.tabIndex()},"aria-haspopup":"true",get"aria-expanded"(){return r.isOpen()},get"aria-controls"(){return Fe(()=>!!r.isOpen())()?r.contentId():void 0},get"aria-disabled"(){return i.disabled},get"data-key"(){return y.dataKey()},get"data-highlighted"(){return h()?"":void 0},get"data-disabled"(){return i.disabled?"":void 0},get onPointerDown(){return G([i.onPointerDown,y.onPointerDown])},get onPointerUp(){return G([i.onPointerUp,y.onPointerUp])},get onClick(){return G([w,y.onClick])},get onKeyDown(){return G([m,y.onKeyDown])},get onMouseDown(){return G([i.onMouseDown,y.onMouseDown])},get onFocus(){return G([i.onFocus,y.onFocus])},onPointerMove:b,onPointerLeave:f},()=>r.dataset(),s))}function Tn(e){let t=In(),n=`menu-${de()}`,r=F({id:n,modal:!0},e),[o,i]=k(r,["id","modal","preventScroll","forceMount","open","defaultOpen","onOpenChange","value","orientation"]),s=Yt({open:()=>o.open,defaultOpen:()=>o.defaultOpen,onOpenChange:a=>o.onOpenChange?.(a)}),c={isModal:()=>o.modal??!0,preventScroll:()=>o.preventScroll??c.isModal(),forceMount:()=>o.forceMount??!1,generateId:mn(()=>o.id),value:()=>o.value,orientation:()=>o.orientation??t?.orientation()??"horizontal"};return v(hs.Provider,{value:c,get children(){return v(vs,L({get open(){return s.isOpen()},get onOpenChange(){return s.setIsOpen}},i))}})}var rl={};He(rl,{Root:()=>ze,Separator:()=>ol});function ze(e){let t,n=F({orientation:"horizontal"},e),[r,o]=k(n,["ref","orientation"]),i=gt(()=>t,()=>"hr");return v(V,L({as:"hr",ref(s){let c=J(a=>t=a,r.ref);typeof c=="function"&&c(s)},get role(){return i()!=="hr"?"separator":void 0},get"aria-orientation"(){return r.orientation==="vertical"?"vertical":void 0},get"data-orientation"(){return r.orientation}},o))}var ol=ze;var il={};He(il,{Arrow:()=>tt,CheckboxItem:()=>ht,Content:()=>Tr,DropdownMenu:()=>Ce,Group:()=>rt,GroupLabel:()=>yt,Icon:()=>bt,Item:()=>wt,ItemDescription:()=>vt,ItemIndicator:()=>xt,ItemLabel:()=>St,Portal:()=>Ct,RadioGroup:()=>Dt,RadioItem:()=>Pt,Root:()=>Ar,Separator:()=>ze,Sub:()=>Et,SubContent:()=>It,SubTrigger:()=>Mt,Trigger:()=>Mr});function Tr(e){let t=le(),n=be(),[r,o]=k(e,["onCloseAutoFocus","onInteractOutside"]),i=!1;return v(Mn,L({onCloseAutoFocus:a=>{r.onCloseAutoFocus?.(a),i||Y(n.triggerRef()),i=!1,a.preventDefault()},onInteractOutside:a=>{r.onInteractOutside?.(a),(!t.isModal()||a.detail.isContextMenu)&&(i=!0)}},o))}function Ar(e){let t=`dropdownmenu-${de()}`,n=F({id:t},e);return v(Tn,n)}var Ce=Object.assign(Ar,{Arrow:tt,CheckboxItem:ht,Content:Tr,Group:rt,GroupLabel:yt,Icon:bt,Item:wt,ItemDescription:vt,ItemIndicator:xt,ItemLabel:St,Portal:Ct,RadioGroup:Dt,RadioItem:Pt,Separator:ze,Sub:Et,SubContent:It,SubTrigger:Mt,Trigger:Mr});var[Lm,Or]=I(!1),[Oe,An]=I(!1),Rr="application/x-patchwork-new-doc",[Om,kr]=I(!1);function We(e){return e.dataTransfer?.types.includes(Rr)??!1}var Jt=null;function Ln(){return Jt}function xs(e,t){if(e){let n=document.querySelector(`[data-dnd-item="${CSS.escape(e.id)}"]`);n&&n.removeAttribute("data-dnd-droplist-state");let r=document.querySelector(`[data-dnd-container="${CSS.escape(e.id)}"]`);r&&r.removeAttribute("data-drop-state")}if(t){let n=document.querySelector(`[data-dnd-item="${CSS.escape(t.id)}"]`);if(n&&n.setAttribute("data-dnd-droplist-state",t.position??""),t.position==="inside"){let r=document.querySelector(`[data-dnd-container="${CSS.escape(t.id)}"]`);r&&r.setAttribute("data-drop-state","inside")}}}var Lr=null;function Fr(e){Lr=e}function Tt(e){return Lr!=null&&Lr===e}var j=new Map;function _r(e,t){let n=document.querySelector(`[data-dnd-item="${CSS.escape(e)}"]`);n&&(t?n.setAttribute("aria-checked","true"):n.removeAttribute("aria-checked"))}function Zt(e,t){j.set(e,t),_r(e,!0)}function On(e){j.delete(e),_r(e,!1)}function At(){for(let e of j.keys())_r(e,!1);j.clear()}function Ss(e){for(let t of e){let n=document.querySelector(`[data-dnd-item="${CSS.escape(t)}"]`);n&&n.setAttribute("data-dnd-dragging","")}}function Cs(){for(let e of document.querySelectorAll("[data-dnd-dragging]"))e.removeAttribute("data-dnd-dragging")}function Ds(e,t){let n=t.getBoundingClientRect();return e-n.top<n.height/2}function De(){xs(Jt,null),Jt=null}function Rn(e){let t=Jt;!t&&!e||t&&e&&t.id===e.id&&t.position===e.position||(xs(t,e),Jt=e)}var sl=$('<div class=create-new-filter><input class=create-new-filter__input placeholder="Filter or paste automerge url\u2026">'),cl=$("<span class=create-new-button__text>Create new"),al=$('<div class=create-new-button-anchor><button type=button class=create-new-button aria-label="create new">'),ll=$("<span class=document-list-item__name>New document");async function Fn(e,t){if(dl(t)&&await fl("patchwork:datatype").load(t.id),!ml(t))throw new Error("plugin not loaded after loading");let n=await ul(t,e),r=n.doc();return{name:t.module.getTitle(r),type:t.id,url:n.url}}function Ps(e){let t=fn(l=>!l.unlisted),[n,r]=I(""),[o,i]=I(0),s=()=>kn(n().trim()),c=()=>{let l=n().toLowerCase();return[...l?t.filter(g=>g.name.toLowerCase().includes(l)):t].sort((g,h)=>g.name.localeCompare(h.name))},a=()=>(s()?1:0)+c().length;function u(){let l=o();if(s()){if(l===0){e.onSubmitUrl(n());return}let d=c()[l-1];d&&e.onPickDatatype(d)}else{let d=c()[l];d&&e.onPickDatatype(d)}}return v(Ce.Portal,{get children(){return v(Ce.Content,{class:"popmenu__content create-new-menu__content",get children(){return[(()=>{var l=sl(),d=l.firstChild;return ct(g=>{requestAnimationFrame(()=>g.focus())},d),d.addEventListener("paste",g=>{let h=g.clipboardData?.getData("text/plain")??"";kn(h.trim())&&(g.preventDefault(),r(h.trim()),i(0))}),d.$$keydown=g=>{if(g.key==="Enter")g.preventDefault(),u();else if(g.key==="ArrowDown")g.preventDefault(),i(h=>Math.min(h+1,a()-1));else if(g.key==="ArrowUp")g.preventDefault(),i(h=>Math.max(h-1,0));else if(g.key==="Escape")return;g.stopPropagation()},d.$$input=g=>{r(g.target.value),i(0)},H(()=>d.value=n()),l})(),v(B,{get when(){return s()},get children(){return v(Ce.Item,{class:"popmenu__item",get classList(){return{"popmenu__item--highlighted":o()===0}},onSelect:()=>e.onSubmitUrl(n()),onPointerMove:()=>i(0),children:"Add by URL"})}}),v(Ee,{get each(){return c()},children:(l,d)=>v(Ce.Item,{class:"popmenu__item",get classList(){return{"popmenu__item--highlighted":o()===d()+(s()?1:0)}},onSelect:()=>e.onPickDatatype(l),onPointerMove:()=>i(d()+(s()?1:0)),get children(){return l.name}})})]}})}})}function Kr(e){let[t,n]=I(!1);async function r(c){let a=await Fn(e.repo,c);e.changeFolder(u=>{u.docs.push(a)}),e.clearFilter(),e.open(a),n(!1)}async function o(c){let a=c.trim();if(!kn(a))return;let u=await _t(e.repo,a);e.changeFolder(l=>{l.docs.push(u)}),e.clearFilter(),e.open(u),n(!1)}let i=0;function s(c){n(!1),kr(!0),c.dataTransfer.setData(Rr,"1"),c.dataTransfer.effectAllowed="all";let a=document.createElement("div");a.style.cssText=`
|
|
2
|
+
position: absolute;
|
|
3
|
+
top: -1000px;
|
|
4
|
+
background: var(--document-list-primary);
|
|
5
|
+
padding: 0.5rem 0.75rem;
|
|
6
|
+
border-radius: var(--document-list-radius);
|
|
7
|
+
font-family: inherit;
|
|
8
|
+
font-size: 0.9rem;
|
|
9
|
+
pointer-events: none;
|
|
10
|
+
color: var(--document-list-primary-line);
|
|
11
|
+
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
|
12
|
+
`,a.textContent="new doc",document.body.appendChild(a),c.dataTransfer.setDragImage(a,10,10),setTimeout(()=>a.remove(),0)}return v(Ce,{get open(){return t()},onOpenChange:c=>{n(c),c||(i=performance.now())},get children(){return[(()=>{var c=al(),a=c.firstChild;return kt(a,"dragend",()=>{kr(!1),De()}),kt(a,"dragstart",e.draggable?s:void 0),a.$$click=()=>{performance.now()-i>200&&n(!0)},W(a,v(go,{class:"create-new-button__icon"}),null),W(a,v(B,{get when(){return!e.square},get children(){return[" ",cl()]}}),null),W(c,v(Ce.Trigger,{class:"create-new-button-anchor__trigger","aria-hidden":"true",tabindex:-1}),null),H(u=>{var l=!!e.square,d=e.draggable;return l!==u.e&&a.classList.toggle("create-new-button--square",u.e=l),d!==u.t&&Ie(a,"draggable",u.t=d),u},{e:void 0,t:void 0}),c})(),v(Ps,{onPickDatatype:r,onSubmitUrl:o})]}})}function Es(e){let[t,n]=I(!0);async function r(i){let s=await Fn(e.repo,i);e.clearFilter(),e.onCreate(s)}async function o(i){let s=i.trim();if(!kn(s))return;let c=await _t(e.repo,s);e.clearFilter(),e.onCreate(c)}return v(Ce,{get open(){return t()},onOpenChange:i=>{n(i),i||e.onDismiss()},placement:"bottom-start",flip:!1,get children(){return[v(Ce.Trigger,{class:"document-list-item document-list-placeholder",get children(){return ll()}}),v(Ps,{onPickDatatype:r,onSubmitUrl:o})]}})}st(["input","keydown","click"]);import{deleteAt as _l,updateText as Fs}from"@automerge/automerge-repo/slim";import{getRegistry as _s,isLoadedPlugin as Kl}from"@inkandswitch/patchwork-plugins";import{updateText as Ol}from"@automerge/automerge-repo/slim";var Is=Zs(Qs(),1),O=(0,Is.default)("patchwork:sideboard:dnd");async function Lt(e,t,n,r,o){for(let i of Array.from(e))try{let s=await i.arrayBuffer(),c=new Uint8Array(s),a=i.name.split("."),u=a.length>1?a.pop():"",l=a.join("."),d=await n.create2({"@patchwork":{type:"file"},content:c,extension:u,mimeType:i.type||"application/octet-stream",name:l}),g=r==="above"?o:r==="below"?o+1:0;t.change(h=>{h.docs.splice(g,0,{url:d.url,name:i.name,type:"file"})}),O("FileDrop: Created file document:",i.name,d.url)}catch(s){O("FileDrop: Failed to create file document:",s)}}var gl={};He(gl,{Arrow:()=>tt,CheckboxItem:()=>ht,Content:()=>Nr,ContextMenu:()=>K,Group:()=>rt,GroupLabel:()=>yt,Icon:()=>bt,Item:()=>wt,ItemDescription:()=>vt,ItemIndicator:()=>xt,ItemLabel:()=>St,Portal:()=>Ct,RadioGroup:()=>Dt,RadioItem:()=>Pt,Root:()=>Ur,Separator:()=>ze,Sub:()=>Et,SubContent:()=>It,SubTrigger:()=>Mt,Trigger:()=>jr,useContextMenuContext:()=>$r});function Nr(e){let t=le(),[n,r]=k(e,["onCloseAutoFocus","onInteractOutside"]),o=!1;return v(Mn,L({onCloseAutoFocus:c=>{n.onCloseAutoFocus?.(c),!c.defaultPrevented&&o&&c.preventDefault(),o=!1},onInteractOutside:c=>{n.onInteractOutside?.(c),!c.defaultPrevented&&!t.isModal()&&(o=!0)}},r))}var Ms=z();function pl(){return X(Ms)}function $r(){let e=pl();if(e===void 0)throw new Error("[kobalte]: `useContextMenuContext` must be used within a `ContextMenu` component");return e}function Ur(e){let t=`contextmenu-${de()}`,{direction:n}=me(),r=F({id:t,placement:n()==="rtl"?"left-start":"right-start",gutter:2,shift:2},e),[o,i]=k(r,["onOpenChange"]),[s,c]=I({x:0,y:0}),a=Yt({defaultOpen:!1,onOpenChange:l=>o.onOpenChange?.(l)}),u={setAnchorRect:c};return v(Ms.Provider,{value:u,get children(){return v(Tn,L({get open(){return a.isOpen()},get onOpenChange(){return a.setIsOpen},getAnchorRect:s},i))}})}function jr(e){let t=le(),n=be(),r=$r(),o=F({id:t.generateId("trigger")},e),[i,s]=k(o,["ref","style","disabled","onContextMenu","onPointerDown","onPointerMove","onPointerCancel","onPointerUp"]),c=0,a=()=>{Q||window.clearTimeout(c)};A(()=>{a()});let u=w=>{if(i.disabled){U(w,i.onContextMenu);return}a(),w.preventDefault(),w.stopPropagation(),r.setAnchorRect({x:w.clientX,y:w.clientY}),n.isOpen()?n.focusContent():n.open(!0)},l=w=>w.pointerType==="touch"||w.pointerType==="pen";return v(V,L({as:"div",ref(w){let b=J(n.setTriggerRef,i.ref);typeof b=="function"&&b(w)},get style(){return Ye({"-webkit-touch-callout":"none"},i.style)},get"data-disabled"(){return i.disabled?"":void 0},onContextMenu:u,onPointerDown:w=>{U(w,i.onPointerDown),!i.disabled&&l(w)&&(a(),r.setAnchorRect({x:w.clientX,y:w.clientY}),c=window.setTimeout(()=>n.open(!1),700))},onPointerMove:w=>{U(w,i.onPointerMove),!i.disabled&&l(w)&&a()},onPointerCancel:w=>{U(w,i.onPointerCancel),!i.disabled&&l(w)&&a()},onPointerUp:w=>{U(w,i.onPointerUp),!i.disabled&&l(w)&&a()}},()=>n.dataset(),s))}var K=Object.assign(Ur,{Arrow:tt,CheckboxItem:ht,Content:Nr,Group:rt,GroupLabel:yt,Icon:bt,Item:wt,ItemDescription:vt,ItemIndicator:xt,ItemLabel:St,Portal:Ct,RadioGroup:Dt,RadioItem:Pt,Separator:ze,Sub:Et,SubContent:It,SubTrigger:Mt,Trigger:jr});import{parseAutomergeUrl as Wr}from"@automerge/automerge-repo/slim";import{getImportableUrlFromAutomergeUrl as Cl}from"@inkandswitch/patchwork-filesystem";import{deleteAt as Br}from"@automerge/automerge-repo/slim";var Pe=new Map,Vr=20;function Hr(e){return{url:e.url,name:e.name,type:e.type}}async function Ot(e,t,n,r){if(O("executeDrop called with:",{draggedIds:e.draggedIds,targetId:e.targetId,position:e.position,copyMode:e.copyMode,sourceToolId:e.sourceToolId}),e.draggedUrls.length===0){O("No items to drop");return}O("Starting location finding...");let o=await hl(n,e.draggedUrls,e.targetId,t,e.position);if(!o){O("Could not find target location. Target:",e.targetId);return}if(!r||o.sourceItems.length===0){O("Cross-view/external drop, adding links. sameOriginView:",r),await wl(t,n,o,e);return}O("Locations found:",{sourceItemsCount:o.sourceItems.length,targetFolder:o.targetFolder,targetIndex:o.targetIndex}),O("Validating drop...");let i=yl(o,e);if(i){O("Invalid drop operation:",i);return}O("Validation passed, executing operation..."),e.copyMode?await vl(n,o,e,t):await bl(n,o,e),O("Operation complete!")}async function Ts(e,t,n){let r=new Set(n);if(r.size===0)return;let o=new Map,i=new Set;async function s(c,a){if(a>=Vr)return;let u=c.doc();if(u?.docs){i.add(c.url);for(let l=0;l<u.docs.length;l++){let d=u.docs[l];if(r.has(d.url)){let g=o.get(c)??[];g.push(l),o.set(c,g)}if(d.type==="folder"&&d.url&&d.url!==c.url&&!i.has(d.url)){let g=Pe.get(d.url);if(!g)try{g=await e.find(d.url),Pe.set(d.url,g)}catch(h){O("Failed to load folder while removing:",d.url,h);continue}await s(g,a+1)}}}}await s(t,0);for(let[c,a]of o){let u=[...a].sort((l,d)=>d-l);c.change(l=>{for(let d of u)Br(l.docs,d)})}}async function hl(e,t,n,r,o){let i=e.doc();if(!i)return null;let s=[],c=null,a=null,u=0,l=new Set;async function d(g,h,y,w=0){if(h){if(w>=Vr){O(`Max folder depth (${Vr}) reached, stopping traversal`);return}l.add(g);for(let b=0;b<h.length;b++){let f=h[b];if(t.includes(f.url)&&s.push({url:f.url,folderUrl:g,folderPath:[...y],index:b,item:f}),g+"/"+b===n&&(c=g,a=[...y],u=b),f.type==="folder"&&f.url===n&&(o==="above"||o==="below"?(c=g,a=[...y],u=b):o==="inside"&&(c=f.url,a=[...y,b],u=0)),f.type==="folder"&&f.url){if(f.url===g){O("Skipping self-referencing folder:",f.url);continue}if(l.has(f.url)){O("Skipping already visited folder:",f.url);continue}let p=[...y,b],x=Pe.get(f.url);if(!x)try{x=await r.find(f.url),Pe.set(f.url,x)}catch(D){O("Failed to load folder:",f.url,D);continue}let S=x?.doc();S?.docs&&await d(f.url,S.docs,p,w+1)}}}}return i.docs&&await d(e.url,i.docs,[],0),n===e.url&&o==="inside"&&(c=e.url,a=[],u=0),!c||!a?null:{sourceItems:s,targetFolder:c,targetFolderPath:a,targetIndex:u}}function yl(e,t){for(let n of e.sourceItems){if(n.folderUrl+"/"+n.index===t.targetId||n.url===t.targetId)return`Cannot drop item onto itself (${n.item.name})`;if(n.folderUrl===e.targetFolder&&t.position==="inside"&&!t.copyMode)return`Item is already in this folder (${n.item.name})`;if(n.item.type==="folder"&&n.url===e.targetFolder)return`Cannot drop folder into itself (${n.item.name})`;if(n.item.type==="folder"&&As(n.url,e.targetFolder))return`Cannot drop folder into its own descendant (${n.item.name})`}return null}function As(e,t){if(e===t)return!0;let n=Pe.get(e);if(!n)return!1;let r=n.doc();if(!r?.docs)return!1;for(let o of r.docs)if(o.type==="folder"&&o.url&&(o.url===t||As(o.url,t)))return!0;return!1}async function bl(e,t,n){O(`Moving ${t.sourceItems.length} item(s) to position:`,n.position);let r=new Map;for(let c of t.sourceItems){let a=r.get(c.folderUrl)||[];a.push(c),r.set(c.folderUrl,a)}let o=[];for(let[c,a]of r){let u=[...a].sort((l,d)=>d.index-l.index);if(c===e.url)e.change(l=>{for(let d of u){let g=Hr(l.docs[d.index]);o.unshift(g),Br(l.docs,d.index)}});else{let l=Pe.get(c);l&&l.change(d=>{for(let g of u){let h=Hr(d.docs[g.index]);o.unshift(h),Br(d.docs,g.index)}})}}let i=t.targetIndex,s=r.get(t.targetFolder);if(s){let c=s.filter(a=>a.index<t.targetIndex).length;i-=c}if(n.position==="above"||(n.position==="below"?i++:n.position==="inside"&&(i=0)),t.targetFolder===e.url)e.change(c=>{c.docs.splice(i,0,...o)});else{let c=Pe.get(t.targetFolder);c&&c.change(a=>{a.docs.splice(i,0,...o)})}}async function wl(e,t,n,r){let o=(r.draggedItems??[]).filter(u=>u.url&&u.url!==n.targetFolder),i=n.targetFolder===t.url?t.doc()?.docs:Pe.get(n.targetFolder)?.doc()?.docs,s=new Set(i?.map(u=>u.url)??[]),c=(await Promise.all(o.filter(u=>!s.has(u.url)).map(async u=>{if(u.name&&u.type)return{url:u.url,name:u.name,type:u.type};try{return await _t(e,u.url)}catch(l){return O("Failed to resolve dropped doc:",u.url,l),null}}))).filter(u=>u!==null);if(c.length===0){O("No addable items in external drop (already present or unresolvable)");return}let a=n.targetIndex;if(r.position==="below"?a++:r.position==="inside"&&(a=0),O(`Adding ${c.length} link(s) at index:`,a),n.targetFolder===t.url)t.change(u=>{u.docs.splice(a,0,...c)});else{let u=Pe.get(n.targetFolder);u&&u.change(l=>{l.docs.splice(a,0,...c)})}}async function vl(e,t,n,r){O(`Copying ${t.sourceItems.length} item(s) to position:`,n.position);let o=[];for(let s of t.sourceItems){let c;if(s.folderUrl===e.url){let a=e.doc();a?.docs&&(c=a.docs[s.index])}else{let u=Pe.get(s.folderUrl)?.doc();u?.docs&&(c=u.docs[s.index])}if(c){let a=Hr(c);a.name=c.name,o.push(a)}}let i=t.targetIndex;if(n.position==="above"||(n.position==="below"?i++:n.position==="inside"&&(i=0)),t.targetFolder===e.url)e.change(s=>{s.docs.splice(i,0,...o)});else{let s=Pe.get(t.targetFolder);s&&s.change(c=>{c.docs.splice(i,0,...o)})}}import{isValidAutomergeUrl as zr}from"@automerge/automerge-repo/slim";var xl=["text/x-patchwork-dnd","text/x-patchwork-urls","text/uri-list","text/plain"];function Ls(e){return!!(e&&xl.some(t=>e.types.includes(t)))}function Sl(e){let t=e.trim();if(zr(t))return t;let n=t.match(/#doc=([^&\s]+)/)?.[1];return n&&zr(`automerge:${n}`)?`automerge:${n}`:null}function Rt(e){let t=e.dataTransfer;if(!t)return null;let n=t.getData("text/x-patchwork-dnd");if(n)try{let s=JSON.parse(n);if(Array.isArray(s?.items)&&s.items.length>0)return{source:s.source??"",items:s.items}}catch{}let r=t.getData("text/x-patchwork-urls");if(r)try{let s=JSON.parse(r),c=(Array.isArray(s)?s:[]).filter(a=>zr(a)).map(a=>({url:a}));if(c.length>0)return{source:"",items:c}}catch{}let i=(t.getData("text/uri-list")||t.getData("text/plain")).split(/\r?\n/).map(Sl).filter(s=>s!==null).map(s=>({url:s}));return i.length>0?{source:"",items:i}:null}var Dl={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",avif:"image/avif",bmp:"image/bmp",tiff:"image/tiff",svg:"image/svg+xml",pdf:"application/pdf",mp4:"video/mp4",webm:"video/webm",mov:"video/quicktime",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",txt:"text/plain",md:"text/markdown",csv:"text/csv",json:"application/json",html:"text/html",zip:"application/zip"};function Os(e){let t=e.includes(".")?e.split(".").pop().toLowerCase():"";return t?Dl[t]:void 0}function Pl(e){for(let t=e.parentElement;t;t=t.parentElement){let n=getComputedStyle(t).overflowY;if((n==="auto"||n==="scroll")&&t.scrollHeight>t.clientHeight)return t}return document.scrollingElement??document.body}function El(e){let t=Pl(e),n=t.getBoundingClientRect(),r=t.querySelectorAll('.document-list-item[aria-selected="true"]');for(let o of r){let i=o.getBoundingClientRect();if(i.top>=n.top&&i.bottom<=n.bottom)return!0}return!1}function Qt(e){let t=ho(e.type),n=fn(f=>!f.unlisted),[r,o]=I(),[i,s]=I(null),c=!1;function a(){c||e.type!=="file"||(c=!0,e.repo.find(e.url).then(f=>{let m=f?.doc();if(!m)return;let p=String(m.name??e.name??"file"),x=m.extension?`.${String(m.extension).replace(/^\.+/,"")}`:"",S=x&&!p.endsWith(x)?`${p}${x}`:p,D=String(m.mimeType||Os(S)||"application/octet-stream");s({mime:D,filename:S})}).catch(()=>{}))}T(f=>{if(e.pressed&&!f){let m=Ge(r);m&&!El(m)&&m.scrollIntoViewIfNeeded?.()}return e.pressed});let u=()=>({id:e.id,type:e.type,url:e.url,name:e.name,source:e.element.toolId}),l=1500,d=null,g=!1;function h(f){e.type==="folder"||j.has(e.id)||d||g||(f.setAttribute("data-dnd-springload",""),d=setTimeout(()=>{d=null,g=!0,f.removeAttribute("data-dnd-springload"),e.openWith()},l))}function y(){d&&(clearTimeout(d),d=null),g=!1,r()?.removeAttribute("data-dnd-springload")}A(y);async function w(){if(!(j.has(e.id)&&j.size>1)){e.remove();return}let m=[...j.values()].map(p=>p.url);confirm(`Remove ${m.length} items from the sidebar?`)&&(At(),await Ts(e.repo,e.rootFolderHandle,m))}async function b(f,m,p){if(O("Item drop handler called for:",m,p),f.dataTransfer?.files&&f.dataTransfer.files.length>0){let M=p==="inside"&&e.type==="folder"?await e.repo.find(e.url):e.parentFolderHandle??e.rootFolderHandle;await Lt(f.dataTransfer.files,M,e.repo,p,p==="inside"?0:e.itemIndex??0);return}let x=Rt(f);if(!x){O("No dnd data in drop event. types:",f.dataTransfer?.types);return}let{source:S,items:D}=x;O("Drop data:",{source:S,items:D,targetId:m,position:p}),Ot({draggedIds:D.map(M=>M.id),draggedUrls:D.map(M=>M.url),draggedItems:D,targetId:m,position:p,sourceToolId:S,copyMode:Oe()},e.repo,e.rootFolderHandle,Tt(e.element))}return v(K,{get children(){return[v(K.Trigger,{ref:o,ondragstart:f=>{j.has(e.id)||(At(),Zt(e.id,u()));let m=j.values(),p=[],x=[];An(f.altKey),f.dataTransfer.effectAllowed="all";for(let E of m)p.push(E.url),x.push(E.id);let S=p.map(E=>location.protocol+"//"+location.host+`/#doc=${Wr(E).documentId}`).join(`\r
|
|
13
|
+
`)+`\r
|
|
14
|
+
`;if(f.dataTransfer?.items.add(S,"text/uri-list"),f.dataTransfer?.items.add(JSON.stringify(x),"text/x-sideboard-ids"),f.dataTransfer?.items.add(JSON.stringify(p),"text/x-patchwork-urls"),f.dataTransfer?.items.add(JSON.stringify({source:e.element.toolId,items:[...j.values()]}),"text/x-patchwork-dnd"),j.size===1&&e.type==="file"){let E=i(),_=E?.filename??e.name,oe=E?.mime??Os(_)??"application/octet-stream";try{let ie=new URL(Cl(e.url),location.origin).href;f.dataTransfer?.setData("DownloadURL",`${oe}:${_}:${ie}`)}catch{}}let D=document.createElement("div");D.style.cssText=`
|
|
15
|
+
position: absolute;
|
|
16
|
+
top: -1000px;
|
|
17
|
+
background: var(--document-list-primary);
|
|
18
|
+
padding: 0.5rem 0.75rem;
|
|
19
|
+
border-radius: var(--document-list-radius);
|
|
20
|
+
font-family: inherit;
|
|
21
|
+
font-size: 0.9rem;
|
|
22
|
+
pointer-events: none;
|
|
23
|
+
color: var(--document-list-primary-line);
|
|
24
|
+
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
|
25
|
+
`;let M=j.size,P=f.altKey?" (copy)":"";D.textContent=M===1?e.name+P:`${M} items${P}`,document.body.appendChild(D),f.dataTransfer.setDragImage(D,10,10),setTimeout(()=>D.remove(),0),Ss([...j.keys()]),Fr(e.element),Or(!0)},ondrag:f=>{f.altKey!==Oe()&&An(f.altKey)},ondragend:f=>{y(),Cs(),At(),An(!1),Fr(null),Or(!1)},ondragover:f=>{f.preventDefault(),f.dataTransfer.dropEffect=Oe()?"copy":"move";let m;if(e.type==="folder"){let p=f.currentTarget.getBoundingClientRect(),S=(f.clientY-p.top)/p.height;S<.25?m="above":S>.75?m="below":m="inside",m!=="inside"&&f.stopPropagation()}else m=Ds(f.clientY,f.currentTarget)?"above":"below",f.stopPropagation();Rn({id:e.id,position:m}),h(f.currentTarget)},ondragleave:f=>{let m=f.relatedTarget;(!m||!f.currentTarget.contains(m))&&(y(),De())},ondrop:f=>{y();let m=Ln();if(console.log("[DnD] Item ondrop event fired",e.id,"type:",e.type,"target:",m),e.type==="folder"&&m?.position==="inside"){if(f.preventDefault(),f.stopPropagation(),We(f)){Me({containerUrl:e.url,index:0}),De();return}b(f,m.id,"inside"),De();return}if(O("Item handling drop itself"),f.preventDefault(),f.stopPropagation(),!m){O("No drop target set");return}if(We(f)){if(e.parentFolderHandle&&e.itemIndex!=null){let p=m.position==="above"?e.itemIndex:e.itemIndex+1;Me({containerUrl:e.parentFolderHandle.url,index:p})}De();return}b(f,m.id,m.position),De()},draggable:!0,get"data-dnd-item"(){return e.id},get"data-doc-url"(){return e.url},get"data-doc-type"(){return e.type},get"aria-label"(){return e["aria-label"]},"aria-haspopup":"menu",as:"button",class:"popmenu__trigger document-list-item",role:"treeitem",get"aria-selected"(){return e.pressed?"true":void 0},onMouseDown:f=>{a(),f.ctrlKey||f.metaKey?(j.has(e.id)?On(e.id):Zt(e.id,u()),f.preventDefault(),f.stopPropagation(),f.stopImmediatePropagation()):j.has(e.id)||At()},"on:click":f=>{f.ctrlKey||f.metaKey||f.target.closest(".document-list-folder__toggle, .create-new-button")||(At(),e.openWith())},"on:dblclick":()=>{e.startRenaming()},onkeydown:f=>{if(f.key==="ArrowDown"||f.key==="ArrowUp"){f.preventDefault();let m=f.currentTarget,p=Array.from(document.querySelectorAll("[data-dnd-item]")).filter(S=>S.offsetParent!==null),x=p.indexOf(m);f.key==="ArrowDown"&&x<p.length-1?p[x+1]?.focus():f.key==="ArrowUp"&&x>0&&p[x-1]?.focus();return}if(e.type==="folder"&&e.onToggleExpand){if(f.key==="ArrowRight"&&!e.isExpanded){f.preventDefault(),e.onToggleExpand();return}else if(f.key==="ArrowLeft"&&e.isExpanded){f.preventDefault(),e.onToggleExpand();return}}if(f.key=="Enter"&&f.ctrlKey&&!(+f.altKey|+f.shiftKey|+f.metaKey)&&r()){f.preventDefault(),f.stopImmediatePropagation(),f.stopPropagation();let p=f.target.getBoundingClientRect();r().dispatchEvent(new MouseEvent("contextmenu",{bubbles:!0,clientX:p.x+10,clientY:p.y+p.height-10}))}},get children(){return e.children}}),v(K.Portal,{get children(){return v(K.Content,{class:"popmenu__content",get children(){return[v(B,{get when(){return e.createInside},get children(){return v(K.Sub,{get children(){return[v(K.SubTrigger,{class:"popmenu__sub-trigger",children:"Create"}),v(K.Portal,{get children(){return v(K.SubContent,{class:"popmenu__sub-content",get children(){return v(Ee,{each:n,children:f=>v(K.Item,{class:"popmenu__item",onSelect:()=>e.createInside(f),get children(){return f.name}})})}})}})]}})}}),v(B,{get when(){return t.length},get children(){return v(K.Sub,{get children(){return[v(K.SubTrigger,{class:"popmenu__sub-trigger",children:"Open with..."}),v(K.Portal,{get children(){return v(K.SubContent,{class:"popmenu__sub-content",get children(){return v(Ee,{each:t,children:f=>v(K.Item,{class:"popmenu__item",onSelect:()=>e.openWith(f.id),get children(){return f.name}})})}})}})]}})}}),v(K.Sub,{get children(){return[v(K.SubTrigger,{class:"popmenu__sub-trigger",children:"Copy"}),v(K.Portal,{get children(){return v(K.SubContent,{class:"popmenu__sub-content",get children(){return[v(K.Item,{class:"popmenu__item",onSelect:()=>navigator.clipboard.writeText(e.url),children:"Automerge url"}),v(K.Item,{class:"popmenu__item",onSelect:()=>navigator.clipboard.writeText(`${location.protocol}//${location.host}/#doc=${Wr(e.url).documentId}`),children:"Patchwork url"}),v(B,{get when(){return t.length},get children(){return v(K.Sub,{get children(){return[v(K.SubTrigger,{class:"popmenu__sub-trigger",children:"Patchwork url with..."}),v(K.Portal,{get children(){return v(K.SubContent,{class:"popmenu__sub-content",get children(){return v(Ee,{each:t,children:f=>v(K.Item,{class:"popmenu__item",onSelect:()=>navigator.clipboard.writeText(`${location.protocol}//${location.host}/#doc=${Wr(e.url).documentId}&tool=${f.id}`),get children(){return f.name}})})}})}})]}})}})]}})}})]}}),v(K.Item,{class:"popmenu__item",onSelect:()=>e.startRenaming(),children:"Rename"}),v(K.Item,{class:"popmenu__item",onSelect:()=>w(),get children(){return Fe(()=>!!(j.has(e.id)&&j.size>1))()?`Remove ${j.size} items`:"Remove"}})]}})}})]}})}var Il=$("<form style=display:contents><input autofocus class=document-list-item__name>"),Ml=$("<span class=document-list-item__name>");function _n(e){let t=ro(uo),[n,r]=I(e.name);function o(){e.rename(n()??""),t(e.id)&&je("")}return v(on,{get children(){return[v(ot,{get when(){return t(e.id)},get children(){var i=Il(),s=i.firstChild;return i.addEventListener("submit",c=>{c.preventDefault(),o()}),s.$$input=c=>r(c.target.value),s.$$keydown=c=>{(c.key=="Escape"||c.key=="g"&&c.ctrlKey)&&o()},s.addEventListener("blur",o),ct(c=>{r(e.name),setTimeout(()=>{c.focus(),c.select()},80)},s),H(()=>s.value=n()),i}}),v(ot,{get when(){return!t(e.id)},get children(){var i=Ml();return W(i,()=>e.name),i}})]}})}st(["keydown","input"]);var ks=$('<div class="document-list-item document-list-item--loading"aria-hidden=true><span class=document-list-item__skeleton>'),Tl=$('<div class=document-list__loading aria-busy=true aria-label="Loading documents">');function Kn(e){return(()=>{var t=ks();return H(n=>sn(t,"--depth",e.depth??0)),t})()}var Rs=["11rem","7rem","9.5rem","6rem","10rem","8rem"];function Gr(e){let t=()=>Array.from({length:e.count??5},(n,r)=>r);return(()=>{var n=Tl();return W(n,v(Ee,{get each(){return t()},children:r=>(()=>{var o=ks(),i=o.firstChild;return H(s=>{var c=e.depth??0,a=Rs[r%Rs.length];return c!==s.e&&sn(o,"--depth",s.e=c),a!==s.t&&sn(i,"width",s.t=a),s},{e:void 0,t:void 0}),o})()})),n})()}var Al=$("<button class=document-list-folder__toggle>"),Ll=$("<div class=document-list-folder role=group><div class=document-list-folder__contents>");function Yr(e){let[t,n]=I(!1),[r,o]=ln(()=>e.url,e),i=new Set(e.visitedFolders??[]);i.add(e.url);let s=()=>e.depth??1,c=()=>({"--depth":s()+1}),a=()=>({"--depth":s()});T(b=>(!b&&e.filter&&un(e.filter,r()?.title??e.name)&&n(!0),e.filter)),T(()=>{fo().has(e.url)&&n(!0)});let u=null,l=!1;function d(){u||l||(u=setTimeout(()=>{n(b=>!b),l=!0,u=null},1e3))}function g(){u&&(clearTimeout(u),u=null),l=!1}A(g);function h(b){o()?.change(f=>Ol(f,["title"],b))}async function y(b){let f=o();if(!f)return;let m=await Fn(e.repo,b),p=0;f.change(x=>{x.docs.push(m),p=x.docs.length-1}),e.clearFilter(),n(!0),e.open(m),je(f.url+"/"+p)}async function w(b){if(O("Folder drop handler called for:",e.url),b.dataTransfer?.files&&b.dataTransfer.files.length>0){await Lt(b.dataTransfer.files,o(),e.repo,"inside",0);return}let f=Rt(b);if(!f){O("No dnd data in drop event. types:",b.dataTransfer?.types);return}let{source:m,items:p}=f;O("Drop data:",{source:m,items:p,folderUrl:e.url}),Ot({draggedIds:p.map(x=>x.id),draggedUrls:p.map(x=>x.url),draggedItems:p,targetId:e.url,position:"inside",sourceToolId:m,copyMode:Oe()},e.repo,e.rootFolderHandle,Tt(e.element))}return(()=>{var b=Ll(),f=b.firstChild;return b.addEventListener("drop",m=>{if(g(),O("Folder ondrop event fired",e.url),m.preventDefault(),m.stopPropagation(),Ln()?.position==="inside")if(We(m)){let x=o();x&&(n(!0),Me({containerUrl:x.url,index:0}))}else w(m);De()}),b.addEventListener("dragleave",m=>{let p=m.relatedTarget;(!p||!m.currentTarget.contains(p))&&(g(),De())}),b.addEventListener("dragover",m=>{m.preventDefault(),m.stopPropagation();let p=Oe()?"copy":"move";m.dataTransfer.dropEffect=p,m.target.closest(".document-list-item")||Rn({id:e.url,position:"inside"}),m.target.closest(".document-list-item")?.getAttribute("data-dnd-item")===e.url&&d()}),W(b,v(Qt,{get"aria-label"(){return r()?.title??e.name??""},startRenaming:()=>{je(e.url)},get remove(){return e.removeFromParent},get id(){return e.url},get url(){return e.url},get name(){return r()?.title??e.name??""},get pressed(){return e.selectedDocUrls.includes(e.url)},type:"folder",get element(){return e.element},get repo(){return e.repo},get rootFolderHandle(){return e.rootFolderHandle},get parentFolderHandle(){return e.parentFolderHandle},get itemIndex(){return e.itemIndex},get isExpanded(){return t()},onToggleExpand:()=>n(m=>!m),createInside:y,openWith:m=>{e.open({url:e.url,toolId:m,title:r()?.title??e.name,type:"folder"})},get children(){return[(()=>{var m=Al();return kt(m,"click",p=>{p.stopImmediatePropagation(),n(x=>!x)}),W(m,v(B,{get when(){return t()},get fallback(){return v(Xn,{})},get children(){return v(Xn,{style:{rotate:"90deg"}})}})),H(()=>Ie(m,"aria-label",(t()?"collapse":"expand")+" "+(r()?.title??e.name))),m})(),v(_n,{get name(){return r()?.title??e.name},get id(){return e.url},rename:h})]}}),f),W(f,v(B,{get when(){return t()||!!e.filter},get children(){return v(it,{get fallback(){return v(Kn,{get depth(){return s()+1}})},get children(){return v(Nn,{get docs(){return r()?.docs},get repo(){return e.repo},get depth(){return s()+1},get handle(){return o.latest},get open(){return e.open},get selectedDocUrls(){return e.selectedDocUrls},visitedFolders:i,get element(){return e.element},get rootFolderHandle(){return e.rootFolderHandle},get filter(){return e.filter},get clearFilter(){return e.clearFilter}})}})}})),H(m=>{var p=s(),x=a(),S=t(),D=e.url,M=!t()&&!e.filter,P=s(),E=c();return p!==m.e&&Ie(b,"data-depth",m.e=p),m.t=Wn(b,x,m.t),S!==m.a&&Ie(b,"aria-expanded",m.a=S),D!==m.o&&Ie(b,"data-dnd-container",m.o=D),M!==m.i&&f.classList.toggle("document-list-folder__contents--hidden",m.i=M),P!==m.n&&Ie(f,"data-depth",m.n=P),m.s=Wn(f,E,m.s),m},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),b})()}var Rl=$('<div class="document-list__item document-list__item--visible">'),kl=$("<div class=document-list__item>"),Fl=$('<div class=document-list-folder__circular-ref style="padding-left:calc(var(--depth) * 1rem)"><span> (i contain myself eventually)');function Nn(e){let t=e.visitedFolders??new Set;function n(s){e.handle.change(c=>_l(c.docs,s))}let r=()=>!!e.handle&&Ft()?.containerUrl===e.handle.url,o=s=>{let c=Ft();if(!c)return;let a=c.index;Me(null),e.handle.change(u=>u.docs.splice(a,0,s)),e.open(s),je(e.handle.url+"/"+a)},i=()=>(()=>{var s=Rl();return W(s,v(Es,{get repo(){return e.repo},onCreate:o,onDismiss:()=>Me(null),get clearFilter(){return e.clearFilter}})),s})();return[v(Ee,{get each(){return e.docs},children:(s,c)=>{let a=()=>!e.filter.length||un(e.filter,s.name),u=()=>n(c()),l=()=>e.handle.url+"/"+c(),d=g=>{e.handle.change(y=>{Fs(y,["docs",c(),"name"],g)});let h=_s("patchwork:datatype");e.repo.find(s.url).then(async y=>{let{"@patchwork":w}=y.doc();if(w){let b=h.get(w.type);b&&(await h.load(b.id),y.change(f=>b.module.setTitle?.(f,g)))}})};return T(()=>{if(!e.selectedDocUrls.includes(s.url))return;let g=!1,h;e.repo.find(s.url).then(async y=>{if(g)return;let w=_s("patchwork:datatype");async function b(){let m=y.doc();if(!m)return;let p=m["@patchwork"];if(!p?.type)return;let x=w.get(p.type);if(!x||(await w.load(x.id),g)||!Kl(x))return;let S=x.module.getTitle(m);if(!S)return;e.handle.doc()?.docs?.[c()]?.name!==S&&e.handle.change(P=>{Fs(P,["docs",c(),"name"],S)}),p.title!==S&&y.change(P=>{P["@patchwork"]&&(P["@patchwork"].title=S)})}if(await b(),g)return;let f=()=>b();y.on("change",f),h=()=>y.off("change",f)}),A(()=>{g=!0,h?.()})}),[v(B,{get when(){return Fe(()=>!!r())()&&Ft().index===c()},get children(){return i()}}),(()=>{var g=kl();return W(g,v(it,{get fallback(){return v(Kn,{get depth(){return e.depth}})},get children(){return v(on,{get children(){return[v(ot,{get when(){return s.type=="folder"},get children(){return v(B,{get when(){return!t.has(s.url)},get fallback(){return(()=>{var h=Fl(),y=h.firstChild,w=y.firstChild;return W(y,()=>s.name,w),h})()},get children(){return v(Yr,{get url(){return s.url},get depth(){return e.depth},get repo(){return e.repo},removeFromParent:u,get parentFolderHandle(){return e.handle},get itemIndex(){return c()},get open(){return e.open},get name(){return s.name},get selectedDocUrls(){return e.selectedDocUrls},visitedFolders:t,get element(){return e.element},get rootFolderHandle(){return e.rootFolderHandle},get filter(){return e.filter},get clearFilter(){return e.clearFilter}})}})}}),v(ot,{get when(){return s.type!="folder"},get children(){return v(Qt,{get"aria-label"(){return s.name},get url(){return s.url},get name(){return s.name},get id(){return l()},startRenaming:()=>je(l()),remove:u,get pressed(){return e.selectedDocUrls.includes(s.url)},get type(){return s.type},get element(){return e.element},get repo(){return e.repo},get rootFolderHandle(){return e.rootFolderHandle},get parentFolderHandle(){return e.handle},get itemIndex(){return c()},openWith:h=>e.open({url:s.url,toolId:h,title:s.name,type:s.type}),get children(){return v(_n,{get name(){return s.name},get id(){return l()},rename:d})}})}})]}})}})),H(h=>{var y=!!a(),w=!a();return y!==h.e&&g.classList.toggle("document-list__item--visible",h.e=y),w!==h.t&&g.classList.toggle("document-list__item--invisible",h.t=w),h},{e:void 0,t:void 0}),g})()]}}),v(B,{get when(){return Fe(()=>!!r())()&&Ft().index>=(e.docs?.length??0)},get children(){return i()}})]}var Un=Symbol.for("_am_meta"),en=Symbol.for("_am_trace"),tn=Symbol.for("_am_objectId"),Qr=Symbol.for("_am_isProxy"),Ns=Symbol.for("_am_clearCache"),Nl=Symbol.for("_am_uint"),$l=Symbol.for("_am_int"),Ul=Symbol.for("_am_f64"),$s=Symbol.for("_am_counter"),Us=Symbol.for("_am_immutableString"),Xr=class{constructor(t){this.value=t||0,Reflect.defineProperty(this,$s,{value:!0})}valueOf(){return this.value}toString(){return this.valueOf().toString()}toJSON(){return this.value}increment(t){throw new Error("Counters should not be incremented outside of a change callback")}decrement(t){throw new Error("Counters should not be decremented outside of a change callback")}},Jr=class extends Xr{constructor(t,n,r,o,i){super(t),this.context=n,this.path=r,this.objectId=o,this.key=i}increment(t){return t=typeof t=="number"?t:1,this.context.increment(this.objectId,this.key,t),this.value+=t,this.value}decrement(t){return this.increment(typeof t=="number"?-t:-1)}};function jl(e,t,n,r,o){return new Jr(e,t,n,r,o)}var js,Zr=class{constructor(t){this[js]=!0,this.val=t}toString(){return this.val}toJSON(){return this.val}};js=Us;function Re(e){if(typeof e=="string"&&/^[0-9]+$/.test(e)&&(e=parseInt(e,10)),typeof e!="number")return e;if(e<0||isNaN(e)||e===1/0||e===-1/0)throw new RangeError("A list index must be positive, but you passed "+e);return e}function ue(e,t){let{context:n,objectId:r,path:o}=e,i=n.getWithType(r,t);if(i===null)return;let s=i[0],c=i[1];switch(s){case void 0:return;case"map":return Bn(n,c,[...o,t]);case"list":return Vn(n,c,[...o,t]);case"text":return n.text(c);case"str":return new Zr(c);case"uint":return c;case"int":return c;case"f64":return c;case"boolean":return c;case"null":return null;case"bytes":return c;case"timestamp":return c;case"counter":return jl(c,n,o,r,t);default:throw RangeError(`datatype ${s} unimplemented`)}}function $n(e,t,n){let r=typeof e;switch(r){case"object":if(e==null)return[null,"null"];if(e[Nl])return[e.value,"uint"];if(e[$l])return[e.value,"int"];if(e[Ul])return[e.value,"f64"];if(e[$s])return[e.value,"counter"];if(e instanceof Date)return[e.getTime(),"timestamp"];if(Hl(e))return[e.toString(),"str"];if(e instanceof Uint8Array)return[e,"bytes"];if(e instanceof Array)return[e,"list"];if(Object.prototype.toString.call(e)==="[object Object]")return[e,"map"];throw jn(e,n)?new RangeError("Cannot create a reference to an existing document object"):new RangeError(`Cannot assign unknown object: ${e}`);case"boolean":return[e,"boolean"];case"number":return Number.isInteger(e)?[e,"int"]:[e,"f64"];case"string":return[e,"text"];case"undefined":throw new RangeError([`Cannot assign undefined value at ${Ks(t)}, `,"because `undefined` is not a valid JSON data type. ","You might consider setting the property's value to `null`, ","or using `delete` to remove it altogether."].join(""));default:throw new RangeError([`Cannot assign ${r} value at ${Ks(t)}. `,"All JSON primitive datatypes (object, array, string, number, boolean, null) ",`are supported in an Automerge document; ${r} values are not. `].join(""))}}function jn(e,t){var n,r;return e instanceof Date?!1:!!(e&&((r=(n=e[Un])===null||n===void 0?void 0:n.handle)===null||r===void 0?void 0:r.__wbg_ptr)===t.__wbg_ptr)}var Bl={get(e,t){let{context:n,objectId:r,cache:o}=e;return t===Symbol.toStringTag?e[Symbol.toStringTag]:t===tn?r:t===Qr?!0:t===en?e.trace:t===Un?{handle:n}:(o[t]||(o[t]=ue(e,t)),o[t])},set(e,t,n){let{context:r,objectId:o,path:i}=e;if(e.cache={},jn(n,r))throw new RangeError("Cannot create a reference to an existing document object");if(t===en)return e.trace=n,!0;if(t===Ns)return!0;let[s,c]=$n(n,[...i,t],r);switch(c){case"list":{let a=r.putObject(o,t,[]),u=Vn(r,a,[...i,t]);for(let l=0;l<s.length;l++)u[l]=s[l];break}case"text":{r.putObject(o,t,s);break}case"map":{let a=r.putObject(o,t,{}),u=Bn(r,a,[...i,t]);for(let l in s)u[l]=s[l];break}default:r.put(o,t,s,c)}return!0},deleteProperty(e,t){let{context:n,objectId:r}=e;return e.cache={},n.delete(r,t),!0},has(e,t){return this.get(e,t)!==void 0},getOwnPropertyDescriptor(e,t){let n=this.get(e,t);if(typeof n<"u")return{configurable:!0,enumerable:!0,value:n}},ownKeys(e){let{context:t,objectId:n}=e,r=t.keys(n);return[...new Set(r)]}},Bs={get(e,t){let{context:n,objectId:r}=e;return t=Re(t),t===Symbol.hasInstance?o=>Array.isArray(o):t===Symbol.toStringTag?e[Symbol.toStringTag]:t===tn?r:t===Qr?!0:t===en?e.trace:t===Un?{handle:n}:t==="length"?n.length(r):typeof t=="number"?ue(e,t):eo(e)[t]},set(e,t,n){let{context:r,objectId:o,path:i}=e;if(t=Re(t),jn(n,r))throw new RangeError("Cannot create a reference to an existing document object");if(t===Ns)return!0;if(t===en)return e.trace=n,!0;if(typeof t=="string")throw new RangeError("list index must be a number");let[s,c]=$n(n,[...i,t],r);switch(c){case"list":{let a;t>=r.length(o)?a=r.insertObject(o,t,[]):a=r.putObject(o,t,[]),Vn(r,a,[...i,t]).splice(0,0,...s);break}case"text":{t>=r.length(o)?r.insertObject(o,t,s):r.putObject(o,t,s);break}case"map":{let a;t>=r.length(o)?a=r.insertObject(o,t,{}):a=r.putObject(o,t,{});let u=Bn(r,a,[...i,t]);for(let l in s)u[l]=s[l];break}default:t>=r.length(o)?r.insert(o,t,s,c):r.put(o,t,s,c)}return!0},deleteProperty(e,t){let{context:n,objectId:r}=e;t=Re(t);let o=n.get(r,t);if(o!=null&&o[0]=="counter")throw new TypeError("Unsupported operation: deleting a counter from a list");return n.delete(r,t),!0},has(e,t){let{context:n,objectId:r}=e;return t=Re(t),typeof t=="number"?t<n.length(r):t==="length"},getOwnPropertyDescriptor(e,t){let{context:n,objectId:r}=e;return t==="length"?{writable:!0,value:n.length(r)}:t===tn?{configurable:!1,enumerable:!1,value:r}:(t=Re(t),{configurable:!0,enumerable:!0,value:ue(e,t)})},getPrototypeOf(e){return Object.getPrototypeOf(e)},ownKeys(){let e=[];return e.push("length"),e}};Object.assign({},Bs,{get(e,t){let{context:n,objectId:r}=e;return t=Re(t),t===Symbol.hasInstance?o=>Array.isArray(o):t===Symbol.toStringTag?e[Symbol.toStringTag]:t===tn?r:t===Qr?!0:t===en?e.trace:t===Un?{handle:n}:t==="length"?n.length(r):typeof t=="number"?ue(e,t):Vl(e)[t]||eo(e)[t]},getPrototypeOf(){return Object.getPrototypeOf(new Text)}});function Bn(e,t,n){let r={context:e,objectId:t,path:n||[],cache:{}},o={};return Object.assign(o,r),new Proxy(o,Bl)}function Vn(e,t,n){let r={context:e,objectId:t,path:n||[],cache:{}},o=[];return Object.assign(o,r),new Proxy(o,Bs)}function eo(e){let{context:t,objectId:n,path:r}=e;return{at(i){return ue(e,i)},deleteAt(i,s){return typeof s=="number"?t.splice(n,i,s):t.delete(n,i),this},fill(i,s,c){let[a,u]=$n(i,[...r,s],t),l=t.length(n);s=Re(s||0),c=Re(c||l);for(let d=s;d<Math.min(c,l);d++)u==="list"||u==="map"||u==="text"?t.putObject(n,d,a):t.put(n,d,a,u);return this},indexOf(i,s=0){let c=t.length(n);for(let a=s;a<c;a++){let u=t.getWithType(n,a);if(!u)continue;let[l,d]=u;if(!["map","list","text"].includes(l)){if(d===i)return a;continue}if(l==="text"&&typeof i=="string"&&i===ue(e,a)||i[tn]===d)return a}return-1},insertAt(i,...s){return this.splice(i,0,...s),this},pop(){let i=t.length(n);if(i==0)return;let s=ue(e,i-1);return t.delete(n,i-1),s},push(...i){let s=t.length(n);return this.splice(s,0,...i),t.length(n)},shift(){if(t.length(n)==0)return;let i=ue(e,0);return t.delete(n,0),i},splice(i,s,...c){i=Re(i),typeof s!="number"&&(s=t.length(n)-i),s=Re(s);for(let l of c)if(jn(l,t))throw new RangeError("Cannot create a reference to an existing document object");let a=[];for(let l=0;l<s;l++){let d=ue(e,i);d!==void 0&&a.push(d),t.delete(n,i)}let u=c.map((l,d)=>{try{return $n(l,[...r],t)}catch(g){throw g instanceof RangeError?new RangeError(`${g.message} (at index ${d} in the input)`):g}});for(let[l,d]of u){switch(d){case"list":{let g=t.insertObject(n,i,[]);Vn(t,g,[...r,i]).splice(0,0,...l);break}case"text":{t.insertObject(n,i,l);break}case"map":{let g=t.insertObject(n,i,{}),h=Bn(t,g,[...r,i]);for(let y in l)h[y]=l[y];break}default:t.insert(n,i,l,d)}i+=1}return a},unshift(...i){return this.splice(0,0,...i),t.length(n)},entries(){let i=0;return{next:()=>{let c=ue(e,i);return c===void 0?{value:void 0,done:!0}:{value:[i++,c],done:!1}},[Symbol.iterator](){return this}}},keys(){let i=0,s=t.length(n);return{next:()=>i<s?{value:i++,done:!1}:{value:void 0,done:!0},[Symbol.iterator](){return this}}},values(){let i=0;return{next:()=>{let c=ue(e,i++);return c===void 0?{value:void 0,done:!0}:{value:c,done:!1}},[Symbol.iterator](){return this}}},toArray(){let i=[],s;do s=ue(e,i.length),s!==void 0&&i.push(s);while(s!==void 0);return i},map(i){return this.toArray().map(i)},toString(){return this.toArray().toString()},toLocaleString(){return this.toArray().toLocaleString()},forEach(i){return this.toArray().forEach(i)},concat(i){return this.toArray().concat(i)},every(i){return this.toArray().every(i)},filter(i){return this.toArray().filter(i)},find(i){let s=0;for(let c of this){if(i(c,s))return c;s+=1}},findIndex(i){let s=0;for(let c of this){if(i(c,s))return s;s+=1}return-1},includes(i){return this.find(s=>s===i)!==void 0},join(i){return this.toArray().join(i)},reduce(i,s){return this.toArray().reduce(i,s)},reduceRight(i,s){return this.toArray().reduceRight(i,s)},lastIndexOf(i,s=1/0){return this.toArray().lastIndexOf(i,s)},slice(i,s){return this.toArray().slice(i,s)},some(i){let s=0;for(let c of this){if(i(c,s))return!0;s+=1}return!1},[Symbol.iterator]:function*(){let i=0,s=ue(e,i);for(;s!==void 0;)yield s,i+=1,s=ue(e,i)}}}function Vl(e){let{context:t,objectId:n}=e;return{set(o,i){return this[o]=i},get(o){return this[o]},toString(){return t.text(n).replace(//g,"")},toSpans(){let o=[],i="",s=t.length(n);for(let c=0;c<s;c++){let a=this[c];typeof a=="string"?i+=a:(i.length>0&&(o.push(i),i=""),o.push(a))}return i.length>0&&o.push(i),o},toJSON(){return this.toString()},indexOf(o,i=0){return t.text(n).indexOf(o,i)},insertAt(o,...i){i.every(s=>typeof s=="string")?t.splice(n,o,0,i.join("")):eo(e).insertAt(o,...i)}}}function Ks(e){let t=e.map(n=>{if(typeof n=="number")return n.toString();if(typeof n=="string")return n.replace(/~/g,"~0").replace(/\//g,"~1")});return e.length===0?"":"/"+t.join("/")}function Hl(e){return typeof e=="object"&&e!==null&&Object.prototype.hasOwnProperty.call(e,Us)}var Vs,qr=typeof TextEncoder<"u"?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}};qr.encodeInto;var zl=typeof TextDecoder<"u"?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};typeof TextDecoder<"u"&&zl.decode();typeof FinalizationRegistry>"u"||new FinalizationRegistry(e=>Vs.__wbg_automerge_free(e>>>0,1));typeof FinalizationRegistry>"u"||new FinalizationRegistry(e=>Vs.__wbg_syncstate_free(e>>>0,1));var _p=z(null);function Hs(e,t,n){let o=e.closest("patchwork-view")??e,i=new MessageChannel,s=i.port2,c=new AbortController,{signal:a}=c;s.addEventListener("message",l=>{l.data?.type==="change"&&n(l.data.value)},{signal:a}),s.start();let u={selector:t,port:i.port1};return o.dispatchEvent(new CustomEvent("patchwork:subscribe",{detail:u,bubbles:!0,composed:!0})),()=>{a.aborted||(c.abort(),s.postMessage({type:"unsubscribe"}),s.close())}}function zs(e,t,n){let[r,o]=I(n);return ke(()=>{let i=Hs(e,t,o);A(i)}),r}function Ws(e){let t=0,n=0,r=!1,o=new Set,i=new Set;function s(l){return{id:l.getAttribute("data-dnd-item"),url:l.getAttribute("data-doc-url"),type:l.getAttribute("data-doc-type")??"",name:(l.textContent??"").trim(),source:e.source()}}function c(l){let d=l.clientX-t,g=l.clientY-n;if(!r){if(Math.hypot(d,g)<5)return;r=!0}l.preventDefault();let h=Math.min(t,l.clientX),y=Math.min(n,l.clientY),w=Math.max(t,l.clientX),b=Math.max(n,l.clientY),f=e.container();if(!f)return;let m=new Set;for(let p of f.querySelectorAll("[data-dnd-item]")){if(p.offsetParent===null)continue;let x=p.getAttribute("data-dnd-item");if(!x||o.has(x))continue;let S=p.getBoundingClientRect();S.right<h||S.left>w||S.bottom<y||S.top>b||(m.add(x),j.has(x)||Zt(x,s(p)))}for(let p of i)m.has(p)||On(p);i=m}function a(){window.removeEventListener("mousemove",c,!0),window.removeEventListener("mouseup",a,!0),r=!1,i=new Set,o=new Set}function u(l){l.button!==0||!(l.metaKey||l.ctrlKey)||l.target.closest(".document-list__toolbar")||(t=l.clientX,n=l.clientY,r=!1,i=new Set,o=new Set(j.keys()),window.addEventListener("mousemove",c,!0),window.addEventListener("mouseup",a,!0))}return{onMouseDown:u}}var Gl=$('<aside class=document-list><nav class="document-list__doclist document-list-widget"role=tree aria-multiselectable=true><div class=document-list__toolbar><div class=document-list__filter-container><input name=filter class=document-list__filter placeholder="Filter by title">');function Yl(e){let[t,n]=ln(()=>e.folderUrl,{repo:e.repo}),[r,o]=I(""),i=()=>n.state==="ready"||n.state==="refreshing",s=zs(e.element,{type:"patchwork:selected-doc"},[]);T(()=>{if(!i())return;let h=s();if(!h.length){Yn(new Set);return}let y=!1,w=new Set;qn(e.repo,e.folderUrl,new Set(h),w,new Set).then(()=>{y||Yn(w)}),A(()=>{y=!0})});function c(h){e.element.dispatchEvent(lo(h))}let[a,u]=I(!1),l,d=Ws({container:()=>l,source:()=>e.element.toolId??""}),g=h=>{l=h,h.addEventListener("mousedown",d.onMouseDown,!0),A(()=>h.removeEventListener("mousedown",d.onMouseDown,!0))};return(()=>{var h=Gl(),y=h.firstChild,w=y.firstChild,b=w.firstChild,f=b.firstChild;return y.addEventListener("drop",m=>{if(m.preventDefault(),u(!1),We(m)){let E=n();if(E){let _=E.doc()?.docs?.length??0;Me({containerUrl:E.url,index:_})}return}let p=m.dataTransfer?.files;if(p&&p.length>0&&n()){let _=n().doc()?.docs?.length||0;Lt(p,n(),e.repo,"inside",_);return}let x=Rt(m);if(!x||!n())return;let{source:S,items:D}=x,M=n().url,P=n().doc()?.docs?.length??0;Ot({draggedIds:D.map(E=>E.id),draggedUrls:D.map(E=>E.url),draggedItems:D,targetId:P>0?`${M}/${P-1}`:M,position:P>0?"below":"inside",sourceToolId:S,copyMode:Oe()},e.repo,n.latest,Tt(e.element))}),y.addEventListener("dragleave",m=>{let p=m.relatedTarget;(!p||!m.currentTarget.contains(p))&&u(!1)}),y.addEventListener("dragover",m=>{if(m.dataTransfer?.types.includes("Files")){m.preventDefault(),m.dataTransfer.dropEffect="copy",u(!0);return}(Ls(m.dataTransfer)||We(m))&&(m.preventDefault(),m.dataTransfer.dropEffect=Oe()?"copy":"move")}),ct(g,y),W(w,v(Kr,{square:!0,draggable:!0,clearFilter:()=>o(""),changeFolder:m=>n()?.change(m),get repo(){return e.repo},open:c}),b),W(b,v(mo,{}),f),f.$$input=m=>o(m.target.value.toLowerCase()),W(y,v(B,{get when(){return i()},get fallback(){return v(Gr,{depth:0})},get children(){return v(it,{get fallback(){return v(Gr,{depth:0})},get children(){return v(Nn,{depth:0,get repo(){return e.repo},get docs(){return t()?.docs},get handle(){return n.latest},open:c,get selectedDocUrls(){return s()},get element(){return e.element},get rootFolderHandle(){return n.latest},get filter(){return r()},clearFilter:()=>o("")})}})}}),null),H(()=>y.classList.toggle("document-list__doclist--drag-over",!!a())),H(()=>f.value=r()),h})()}function hh(e,t){return so(()=>v(Yl,{folderUrl:e,get repo(){return t.repo},element:t}),t)}st(["input"]);export{Gr as a,Yl as b,hh as c};
|
|
26
|
+
//# sourceMappingURL=chunk-7V2BKMG7.js.map
|