// Generated by yarn build:site-assets. Do not edit. "use strict"; (() => { // packages/artplayer-vitepress/browser/loader.ts function parameters(url) { const result = {}; for (const part of new URL(url).search.slice(1).split("&")) { const index = part.indexOf("="); if (index >= 0) result[part.slice(0, index)] = part.slice(index + 1); } return result; } function suspendDefine(host) { const descriptor = Object.getOwnPropertyDescriptor(host, "define"); if (descriptor?.configurable === false) { if (!("value" in descriptor) || !descriptor.writable) throw new Error("Cannot temporarily suspend the AMD loader"); Object.defineProperty(host, "define", { value: void 0 }); } else { Object.defineProperty(host, "define", { value: void 0, configurable: true, writable: true, enumerable: descriptor?.enumerable ?? true }); } return () => { if (descriptor) Object.defineProperty(host, "define", descriptor); else Reflect.deleteProperty(host, "define"); }; } function createLibraryLoader(host = window) { const loaded = /* @__PURE__ */ new Set(); let queue = Promise.resolve(); let cancel; let disposed = false; const ensureActive = () => { if (disposed) throw new Error("Documentation loader was disposed"); }; function load(url, script) { return new Promise((resolve, reject) => { const element = host.document.createElement(script ? "script" : "link"); let restore; let settled = false; function finish(error) { if (settled) return; settled = true; element.removeEventListener("load", success); element.removeEventListener("error", failure); cancel = void 0; try { restore?.(); } catch (cause) { error = new Error(`Failed to restore AMD loader: ${String(cause)}`); } if (error) { element.remove(); reject(error); } else { resolve(); } } function success() { finish(); } function failure() { finish(new Error(`Loading ${script ? "script" : "style"} failed: ${url}`)); } element.addEventListener("load", success); element.addEventListener("error", failure); cancel = () => finish(new Error(`Cancelled documentation dependency: ${url}`)); try { ensureActive(); if (script) { restore = suspendDefine(host); const node = element; node.type = "text/javascript"; node.src = url; node.async = false; } else { const node = element; node.rel = "stylesheet"; node.href = url; } host.document.head.appendChild(element); } catch (cause) { finish(cause instanceof Error ? cause : new Error(String(cause))); } }); } return { loadLibraries(encoded = "") { const work = queue.then(async () => { ensureActive(); const urls = decodeURIComponent(encoded).split(/\r?\n/).map((url) => url.trim()).filter(Boolean); const result = []; for (const url of urls) { ensureActive(); const absolute = new URL(url, host.location.href); const extension = absolute.pathname.toLowerCase().split(".").pop(); if (extension !== "js" && extension !== "css") continue; if (!loaded.has(absolute.href)) { await load(absolute.href, extension === "js"); loaded.add(absolute.href); } result.push(url); } return result; }); queue = work.catch(() => { }); return work; }, dispose() { disposed = true; cancel?.(); loaded.clear(); } }; } async function exampleSource(name, request = fetch) { const response = await request(`./assets/example/${name}.js`); if (!response.ok) throw new Error(`Loading example failed: ${name} (${response.status})`); return response.text(); } // packages/artplayer-vitepress/browser/mobile.ts window.Artplayer.DEBUG = true; var loader = createLibraryLoader(); window.addEventListener("pagehide", (event) => { if (!event.persisted) loader.dispose(); }); async function start() { const { code, libs, example } = parameters(location.href); await loader.loadLibraries(libs); const source = example ? await exampleSource(example) : code ? decodeURIComponent(code).trim() : await exampleSource("mobile"); new Function(source)(); } start().catch((error) => console.error("Failed to initialize mobile example:", error)); })();