(function(factory) { typeof define === "function" && define.amd ? define(factory) : factory(); })(function() { "use strict"; const DEFAULT_VERSIONS = { "state": "1.0.20", "bootstrap": "1.0.7", "base": "1.0.19", "datatable": "1.0.6", "kanban": "1.0.2", "mindmap": "1.0.2", "chart": "1.0.2", "editor": "1.0.2", "loader": "1.0.5" }; const DEPENDENCY_GRAPH = { "bootstrap": ["state"], "base": ["state", "bootstrap"], "datatable": ["state", "bootstrap", "base"], "editor": ["state", "bootstrap", "base"] }; const Loader = { _loaded: /* @__PURE__ */ new Set(), _v: null, load: (...pkgs) => { if (typeof document === "undefined") return; const currentScript = document.currentScript; const currentUrl = currentScript && currentScript.src ? currentScript.src : ""; let tpl = ""; const isMin = currentUrl.includes(".min.js"); const ext = isMin ? ".min.js" : ".js"; if (currentUrl && (currentUrl.includes("jsdelivr.net") || currentUrl.includes("unpkg.com") || currentUrl.includes("npm.elemecdn.com"))) { let cdnBase = "https://cdn.jsdelivr.net/npm/@apigo.cc/{project}@{tag}/dist/{project}"; if (currentUrl.includes("unpkg.com")) cdnBase = "https://unpkg.com/@apigo.cc/{project}@{tag}/dist/{project}"; else if (currentUrl.includes("npm.elemecdn.com")) cdnBase = "https://npm.elemecdn.com/@apigo.cc/{project}@{tag}/dist/{project}"; tpl = cdnBase + ext; } else if (currentUrl) { const baseDir = currentUrl.substring(0, currentUrl.lastIndexOf("/") + 1); tpl = baseDir + "{project}" + ext; } else { tpl = "https://cdn.jsdelivr.net/npm/@apigo.cc/{project}@{tag}/dist/{project}" + ext; } const requested = pkgs.map((p) => { const s = String(p).trim(); const colonIdx = s.indexOf(":"); return { name: colonIdx === -1 ? s : s.slice(0, colonIdx), version: colonIdx === -1 ? null : s.slice(colonIdx + 1) }; }).filter((item) => item.name); const finalQueue = []; const nameToVersion = {}; const addWithDeps = (item) => { const name = item.name.toLowerCase(); if (item.version) nameToVersion[name] = item.version; const deps = DEPENDENCY_GRAPH[name] || []; deps.forEach((depName) => addWithDeps({ name: depName })); if (!finalQueue.includes(name)) finalQueue.push(name); }; requested.forEach((item) => addWithDeps(item)); const isInitialLoad = document.readyState === "loading"; finalQueue.forEach((name) => { if (Loader._loaded.has(name)) return; const version = nameToVersion[name] || DEFAULT_VERSIONS[name] || "latest"; let url = tpl.replace(/{project}/g, name).replace(/{tag}/g, version); if (Loader._v) { const joinChar = url.includes("?") ? "&" : "?"; url += `${joinChar}v=${Loader._v}`; } if (isInitialLoad) { document.write(`