@deot/docs-client 1.1.4 → 1.1.6
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/README.md +86 -1
- package/dist/chunks/{compile-Bw7v7QE--Dd1-R95H.js → compile-CM_OyqYN-Bd7bk_OB.js} +1711 -2816
- package/dist/chunks/{compiler-sfc.esm-browser-B4_kBkG5.js → compiler-sfc.esm-browser-5dA1IWMJ.js} +185 -305
- package/dist/chunks/{script-xKUjE8pf-oF69rg-w.js → css-DleINdoA-FdeEznDX.js} +2669 -2480
- package/dist/chunks/{dist-DlmO7OlF.js → dist-B44jICwZ.js} +1 -1
- package/dist/chunks/{dist-COjpr4FU.js → dist-DHJhaOSs.js} +2 -2
- package/dist/chunks/{dist-C8z9l0mA.js → dist-DSypl37f.js} +1 -1
- package/dist/chunks/dist-DWn6r6un.js +76 -0
- package/dist/chunks/{dist-CuJyl-ef.js → dist-Wm6vE6kM.js} +8 -8
- package/dist/chunks/{echarts-Dk-pu7GM.js → echarts-BBzcOaek.js} +1075 -1290
- package/dist/chunks/{html2canvas-Deo0mM5K.js → html2canvas-DoKTvaOT.js} +3 -13
- package/dist/chunks/{index.es-UlJ0gfdF.js → index.es-wVPQxEPP.js} +32 -37
- package/dist/chunks/{jspdf.es.min-CJc40v7q.js → jspdf.es.min-Zm27YeAg.js} +1080 -1053
- package/dist/chunks/{jsx-CwMPlI4_-CAiik-V7.js → jsx-CwMPlI4_-CBhlIHLh.js} +8002 -8541
- package/dist/chunks/{jszip.min-BbVwZKYP.js → jszip.min-Da8UgalE.js} +5 -5
- package/dist/chunks/{lodash-Cxf6dD_I.js → lodash-CYyW02I7.js} +10 -14
- package/dist/chunks/{photoswipe.esm-B0V-xGTB.js → photoswipe.esm-D52MAtDT.js} +11 -38
- package/dist/chunks/{purify.es-BiqY1C6m.js → purify.es-DhHsvqCe.js} +1 -23
- package/dist/chunks/{vue-router-C0mj8Ot5.js → vue-router-DZ-KfC9f.js} +373 -361
- package/dist/chunks/{vue.runtime.esm-bundler-XxHGOLq2.js → vue.runtime.esm-bundler-zZTAiuf6.js} +10 -38
- package/dist/eval/chunks/browser-Cmwcvs-d.js +4 -0
- package/dist/eval/chunks/chunk-rhk8Qtmk-CUgXtmq_.js +4 -0
- package/dist/eval/chunks/compile-CM_OyqYN-Bd7bk_OB.js +7 -0
- package/dist/eval/chunks/compiler-sfc.esm-browser-5dA1IWMJ.js +4 -0
- package/dist/eval/chunks/css-DleINdoA-FdeEznDX.js +8 -0
- package/dist/eval/chunks/dayjs.min-B3g34Qcz.js +4 -0
- package/dist/eval/chunks/dist-0ySyXNpo.js +4 -0
- package/dist/eval/chunks/dist-B44jICwZ.js +5 -0
- package/dist/eval/chunks/dist-BUw25nXJ.js +6 -0
- package/dist/eval/chunks/dist-BeOE8qTX.js +4 -0
- package/dist/eval/chunks/dist-C3V7reR4.js +4 -0
- package/dist/eval/chunks/dist-CI9Lp9Cj.js +4 -0
- package/dist/eval/chunks/dist-CQir6D4y.js +5 -0
- package/dist/eval/chunks/dist-Cxf7_ocf.js +4 -0
- package/dist/eval/chunks/dist-DF4kisl2.js +5 -0
- package/dist/eval/chunks/dist-DHJhaOSs.js +5 -0
- package/dist/eval/chunks/dist-DLj8yJdm.js +4 -0
- package/dist/eval/chunks/dist-DSypl37f.js +5 -0
- package/dist/eval/chunks/dist-DWn6r6un.js +4 -0
- package/dist/eval/chunks/dist-DWqBe2Ah.js +6 -0
- package/dist/eval/chunks/dist-D_Uqh6m9.js +4 -0
- package/dist/eval/chunks/dist-DcIU51zW.js +4 -0
- package/dist/eval/chunks/dist-Wm6vE6kM.js +1 -0
- package/dist/eval/chunks/dist-kiZUqqzR.js +4 -0
- package/dist/eval/chunks/dist-oZ12SGqg.js +4 -0
- package/dist/eval/chunks/dist-va7FmnW4.js +4 -0
- package/dist/eval/chunks/echarts-BBzcOaek.js +4 -0
- package/dist/eval/chunks/eval-runtime-e7f6eb9af5d4.js +1 -0
- package/dist/eval/chunks/html2canvas-DoKTvaOT.js +4 -0
- package/dist/eval/chunks/index.es-wVPQxEPP.js +5 -0
- package/dist/eval/chunks/jspdf.es.min-Zm27YeAg.js +78 -0
- package/dist/eval/chunks/jsx-CwMPlI4_-CBhlIHLh.js +4 -0
- package/dist/eval/chunks/jszip.min-Da8UgalE.js +4 -0
- package/dist/eval/chunks/lodash-CYyW02I7.js +4 -0
- package/dist/eval/chunks/photoswipe.esm-D52MAtDT.js +4 -0
- package/dist/eval/chunks/purify.es-DhHsvqCe.js +4 -0
- package/dist/eval/chunks/rolldown-runtime-Ce3zPWPd.js +4 -0
- package/dist/eval/chunks/vue-router-DZ-KfC9f.js +5 -0
- package/dist/eval/chunks/vue.runtime.esm-bundler-zZTAiuf6.js +4 -0
- package/dist/eval/index.js +24 -0
- package/dist/eval/index.style.css +21 -0
- package/dist/index.cjs +986 -325
- package/dist/index.d.ts +1 -0
- package/dist/index.js +73526 -30926
- package/dist/index.style.css +3 -3
- package/package.json +12 -12
- package/dist/chunks/cdn-DEvdGJu2-bmlgKy4E.js +0 -38
- package/dist/chunks/dist-Bm7SK-km.js +0 -24517
- package/dist/chunks/dist-DN0sqx7H.js +0 -39
- package/dist/chunks/dist-uXnwGrO3.js +0 -76
- package/dist/chunks/files-C5UMzYxA-q9oJ4PrI.js +0 -110
- package/dist/chunks/linker-JHdz37DK-CWgUtxZ5.js +0 -118
- package/dist/chunks/local-sandbox-B8IJ5jWb-BgfU3iQ4.js +0 -300
- package/dist/chunks/modules-DlLJF_vd-DcNdL6sc.js +0 -153
- package/dist/chunks/pinia-pDJilYOg.js +0 -326
- package/dist/chunks/remote-DfXAsO9n-C_MtPVYr.js +0 -75
- package/dist/chunks/store-D8vwi-HV-RFStijWr.js +0 -16936
- package/dist/chunks/vc-components-C7ruefOT.js +0 -6
- package/dist/chunks/vc-components-m3l_xrd8.js +0 -6
package/dist/index.cjs
CHANGED
|
@@ -10,6 +10,7 @@ let _deot_helper_fp = require("@deot/helper-fp");
|
|
|
10
10
|
let _deot_http = require("@deot/http");
|
|
11
11
|
let _deot_docs_renderer = require("@deot/docs-renderer");
|
|
12
12
|
let es_module_lexer = require("es-module-lexer");
|
|
13
|
+
let _deot_helper_unicode = require("@deot/helper-unicode");
|
|
13
14
|
let _deot_docs_playground = require("@deot/docs-playground");
|
|
14
15
|
let _deot_helper_dom = require("@deot/helper-dom");
|
|
15
16
|
//#region packages/client/src/utils/runtime.ts
|
|
@@ -73,9 +74,9 @@ var getEnvironmentBase = (config) => {
|
|
|
73
74
|
const segments = location.pathname.split("/").filter(Boolean);
|
|
74
75
|
const configuredLanguages = Object.keys(config.locales);
|
|
75
76
|
const languages = configuredLanguages.length ? configuredLanguages : ["zh-CN"];
|
|
76
|
-
const
|
|
77
|
-
if (
|
|
78
|
-
const deploymentSegments = segments.slice(0,
|
|
77
|
+
const routeIndex = /^__docs\/preview(?:-config-generate)?$/.test(segments.slice(-2).join("/")) ? segments.length - 2 : segments.findIndex((segment) => languages.includes(segment));
|
|
78
|
+
if (routeIndex >= 0) {
|
|
79
|
+
const deploymentSegments = segments.slice(0, routeIndex);
|
|
79
80
|
return new URL(`/${deploymentSegments.join("/")}${deploymentSegments.length ? "/" : ""}`, location.origin).href;
|
|
80
81
|
}
|
|
81
82
|
return new URL("./", location.href).href;
|
|
@@ -747,25 +748,25 @@ var setSidebarItems = (next) => {
|
|
|
747
748
|
};
|
|
748
749
|
//#endregion
|
|
749
750
|
//#region packages/client/src/components/layout/default-footer.vue?vue&type=script&setup=true&lang.ts
|
|
750
|
-
var _hoisted_1$
|
|
751
|
-
var _hoisted_2$
|
|
751
|
+
var _hoisted_1$31 = ["data-content-width"];
|
|
752
|
+
var _hoisted_2$25 = {
|
|
752
753
|
key: 0,
|
|
753
754
|
class: "docs-footer__inner"
|
|
754
755
|
};
|
|
755
756
|
var _hoisted_3$18 = { class: "docs-footer__content" };
|
|
756
|
-
var _hoisted_4$
|
|
757
|
-
var _hoisted_5$
|
|
757
|
+
var _hoisted_4$12 = { class: "docs-footer__title" };
|
|
758
|
+
var _hoisted_5$9 = {
|
|
758
759
|
key: 0,
|
|
759
760
|
class: "docs-footer__links"
|
|
760
761
|
};
|
|
761
|
-
var _hoisted_6$
|
|
762
|
-
var _hoisted_7$
|
|
763
|
-
var _hoisted_8$
|
|
764
|
-
var _hoisted_9$
|
|
765
|
-
var _hoisted_10$
|
|
766
|
-
var _hoisted_11$
|
|
767
|
-
var _hoisted_12$
|
|
768
|
-
var _hoisted_13$
|
|
762
|
+
var _hoisted_6$7 = ["href"];
|
|
763
|
+
var _hoisted_7$7 = { key: 2 };
|
|
764
|
+
var _hoisted_8$7 = { class: "docs-footer__bar" };
|
|
765
|
+
var _hoisted_9$5 = { class: "docs-footer__bar-inner" };
|
|
766
|
+
var _hoisted_10$5 = ["href"];
|
|
767
|
+
var _hoisted_11$5 = ["src"];
|
|
768
|
+
var _hoisted_12$5 = ["src"];
|
|
769
|
+
var _hoisted_13$4 = {
|
|
769
770
|
key: 2,
|
|
770
771
|
class: "docs-footer__powered-by"
|
|
771
772
|
};
|
|
@@ -887,25 +888,25 @@ var default_footer_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
887
888
|
key: 0,
|
|
888
889
|
class: "docs-footer",
|
|
889
890
|
"data-content-width": contentWidth.value
|
|
890
|
-
}, [groups.value.length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$
|
|
891
|
+
}, [groups.value.length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$25, [(0, vue.createElementVNode)("div", _hoisted_3$18, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(groups.value, (group) => {
|
|
891
892
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("section", {
|
|
892
893
|
key: group.label,
|
|
893
894
|
class: "docs-footer__group"
|
|
894
|
-
}, [(0, vue.createElementVNode)("h2", _hoisted_4$
|
|
895
|
+
}, [(0, vue.createElementVNode)("h2", _hoisted_4$12, (0, vue.toDisplayString)(group.label), 1), group.children?.length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("ul", _hoisted_5$9, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(group.children, (item) => {
|
|
895
896
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("li", { key: `${item.label}:${item.value || ""}` }, [item.value && isExternal(item.value) ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("a", {
|
|
896
897
|
key: 0,
|
|
897
898
|
href: item.value,
|
|
898
899
|
target: "_blank",
|
|
899
900
|
rel: "noopener noreferrer"
|
|
900
|
-
}, (0, vue.toDisplayString)(item.label), 9, _hoisted_6$
|
|
901
|
+
}, (0, vue.toDisplayString)(item.label), 9, _hoisted_6$7)) : item.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(vue_router.RouterLink), {
|
|
901
902
|
key: 1,
|
|
902
903
|
to: toPath(item.value)
|
|
903
904
|
}, {
|
|
904
905
|
default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)(item.label), 1)]),
|
|
905
906
|
_: 2
|
|
906
|
-
}, 1032, ["to"])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_7$
|
|
907
|
+
}, 1032, ["to"])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_7$7, (0, vue.toDisplayString)(item.label), 1))]);
|
|
907
908
|
}), 128))])) : (0, vue.createCommentVNode)("v-if", true)]);
|
|
908
|
-
}), 128))])])) : (0, vue.createCommentVNode)("v-if", true), (0, vue.createElementVNode)("div", _hoisted_8$
|
|
909
|
+
}), 128))])])) : (0, vue.createCommentVNode)("v-if", true), (0, vue.createElementVNode)("div", _hoisted_8$7, [(0, vue.createElementVNode)("div", _hoisted_9$5, [brandExternal.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("a", {
|
|
909
910
|
key: 0,
|
|
910
911
|
class: "docs-footer__brand",
|
|
911
912
|
href: brandValue.value,
|
|
@@ -916,7 +917,7 @@ var default_footer_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
916
917
|
class: "docs-footer__brand-logo",
|
|
917
918
|
src: brandLogo.value,
|
|
918
919
|
alt: ""
|
|
919
|
-
}, null, 8, _hoisted_11$
|
|
920
|
+
}, null, 8, _hoisted_11$5)) : (0, vue.createCommentVNode)("v-if", true), (0, vue.createTextVNode)(" " + (0, vue.toDisplayString)(brandLabel.value), 1)], 8, _hoisted_10$5)) : ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(vue_router.RouterLink), {
|
|
920
921
|
key: 1,
|
|
921
922
|
class: "docs-footer__brand",
|
|
922
923
|
to: brandPath.value
|
|
@@ -926,15 +927,15 @@ var default_footer_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
926
927
|
class: "docs-footer__brand-logo",
|
|
927
928
|
src: brandLogo.value,
|
|
928
929
|
alt: ""
|
|
929
|
-
}, null, 8, _hoisted_12$
|
|
930
|
+
}, null, 8, _hoisted_12$5)) : (0, vue.createCommentVNode)("v-if", true), (0, vue.createTextVNode)(" " + (0, vue.toDisplayString)(brandLabel.value), 1)]),
|
|
930
931
|
_: 1
|
|
931
|
-
}, 8, ["to"])), poweredBy.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_13$
|
|
932
|
+
}, 8, ["to"])), poweredBy.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_13$4, (0, vue.toDisplayString)(poweredBy.value), 1)) : (0, vue.createCommentVNode)("v-if", true)])])], 8, _hoisted_1$31)) : (0, vue.createCommentVNode)("v-if", true);
|
|
932
933
|
};
|
|
933
934
|
}
|
|
934
935
|
});
|
|
935
936
|
//#endregion
|
|
936
937
|
//#region packages/client/src/components/search/highlight-text.vue?vue&type=script&setup=true&lang.ts
|
|
937
|
-
var _hoisted_1$
|
|
938
|
+
var _hoisted_1$30 = {
|
|
938
939
|
key: 0,
|
|
939
940
|
class: "docs-search-highlight"
|
|
940
941
|
};
|
|
@@ -963,7 +964,7 @@ var highlight_text_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
963
964
|
});
|
|
964
965
|
return (_ctx, _cache) => {
|
|
965
966
|
return (0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(parts.value, (part, index) => {
|
|
966
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: `${index}:${part.text}` }, [part.match ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("mark", _hoisted_1$
|
|
967
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: `${index}:${part.text}` }, [part.match ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("mark", _hoisted_1$30, (0, vue.toDisplayString)(part.text), 1)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 1 }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(part.text), 1)], 64))], 64);
|
|
967
968
|
}), 128);
|
|
968
969
|
};
|
|
969
970
|
}
|
|
@@ -1915,24 +1916,32 @@ var ResourceGateway = class {
|
|
|
1915
1916
|
var Gateway = new ResourceGateway();
|
|
1916
1917
|
//#endregion
|
|
1917
1918
|
//#region packages/client/src/utils/resource-graph.ts
|
|
1918
|
-
var SUPPORTED_DEPENDENCY_RE = /\.(?:vue|[jt]
|
|
1919
|
-
var STYLE_IMPORT_RE = /@import\s+(?:url\(\s*(?:(['"])(.*?)\1|([^'")\s]+))\s*\)|(['"])(.*?)\4)/gi;
|
|
1919
|
+
var SUPPORTED_DEPENDENCY_RE = /\.(?:vue|[jt]sx?|json|css|scss|sass)(?:$|[?#])/i;
|
|
1920
|
+
var STYLE_IMPORT_RE = /@(?:import|use|forward)\s+(?:url\(\s*(?:(['"])(.*?)\1|([^'")\s]+))\s*\)|(['"])(.*?)\4)/gi;
|
|
1920
1921
|
var SFC_BLOCK_RE = /<(script|style)\b([^>]*)>([\s\S]*?)<\/\1>/gi;
|
|
1921
1922
|
var SOURCE_ATTRIBUTE_RE = /\bsrc\s*=\s*(['"])(.*?)\1/i;
|
|
1922
1923
|
var getResourceType = (url) => {
|
|
1923
1924
|
if (/\.vue(?:$|[?#])/i.test(url)) return "sfc";
|
|
1924
|
-
if (/\.css(?:$|[?#])/i.test(url)) return "style";
|
|
1925
|
+
if (/\.(?:css|scss|sass)(?:$|[?#])/i.test(url)) return "style";
|
|
1925
1926
|
return "module";
|
|
1926
1927
|
};
|
|
1927
|
-
var isSupportedDependency = (value) => value.startsWith(".") && SUPPORTED_DEPENDENCY_RE.test(value);
|
|
1928
|
+
var isSupportedDependency = (value) => value.startsWith(".") && (SUPPORTED_DEPENDENCY_RE.test(value) || /\.m(?:$|[?#])/.test(value) || !/\.[^/]+$/.test(value.split(/[?#]/)[0]));
|
|
1928
1929
|
var resolveDependencyUrl = (specifier, importer) => {
|
|
1929
1930
|
const fallbackBase = typeof location === "undefined" ? "http://localhost/" : location.href;
|
|
1930
1931
|
return new URL(specifier, new URL(importer, fallbackBase)).href;
|
|
1931
1932
|
};
|
|
1932
|
-
var collectStyleImports = (code) => [...code.matchAll(STYLE_IMPORT_RE)].map((match) => match[2] || match[3] || match[5]);
|
|
1933
|
+
var collectStyleImports = (code) => [...code.matchAll(STYLE_IMPORT_RE)].map((match) => match[2] || match[3] || match[5]).filter((value) => !/^(?:[a-z][a-z\d+.-]*:|\/)/i.test(value)).map((value) => value.startsWith(".") ? value : `./${value}`);
|
|
1933
1934
|
var collectModuleImports = async (code) => {
|
|
1934
|
-
await es_module_lexer.init;
|
|
1935
|
-
|
|
1935
|
+
await (0, es_module_lexer.init)();
|
|
1936
|
+
try {
|
|
1937
|
+
return (0, es_module_lexer.parse)(code)[0].flatMap((item) => {
|
|
1938
|
+
if (item.type === "dynamic") return item.specifier && !item.glob ? [item.specifier] : [];
|
|
1939
|
+
if (item.type === "import-meta" || item.typeOnly) return [];
|
|
1940
|
+
return [item.specifier];
|
|
1941
|
+
});
|
|
1942
|
+
} catch {
|
|
1943
|
+
return [...code.replace(/\b(?:import|export)\s+type\b(?!\s+from\b)\s*(?:\{[^}]*\}|\*\s+as\s+[\w$]+|[\w$]+)(?:\s+from\s*(['"])[^'"]+\1)?\s*;?/g, "").matchAll(/(?:\bfrom\s+|import\s*\(\s*|import\s+)['"]([^'"]+)['"]/g)].map((match) => match[1]);
|
|
1944
|
+
}
|
|
1936
1945
|
};
|
|
1937
1946
|
var collectResourceImports = async (code, type) => {
|
|
1938
1947
|
if (type === "style") return [...new Set(collectStyleImports(code))];
|
|
@@ -1957,6 +1966,189 @@ var toLogicalResourceSource = (config, lang, url) => {
|
|
|
1957
1966
|
if (resolved.origin !== root.origin || !resolved.pathname.startsWith(root.pathname)) return resolved.href;
|
|
1958
1967
|
return `./${resolved.pathname.slice(root.pathname.length)}${resolved.search}${resolved.hash}`;
|
|
1959
1968
|
};
|
|
1969
|
+
/**
|
|
1970
|
+
* 远程静态文件没有 Vite 的扩展名补全,按源码类型探测实际文件。
|
|
1971
|
+
* @param specifier 源码中的相对引用。
|
|
1972
|
+
* @param importer 发起引用的源文件 URL。
|
|
1973
|
+
* @param style 是否使用 Sass 样式路径规则。
|
|
1974
|
+
* @returns 按优先级排列的候选 URL。
|
|
1975
|
+
*/
|
|
1976
|
+
var dependencyUrlCandidates = (specifier, importer, style = false) => {
|
|
1977
|
+
const url = new URL(resolveDependencyUrl(specifier, importer));
|
|
1978
|
+
const path = url.pathname.replace(/\/$/, "");
|
|
1979
|
+
const partial = (value) => value.replace(/([^/]+)$/, "_$1");
|
|
1980
|
+
const hasExtension = SUPPORTED_DEPENDENCY_RE.test(path);
|
|
1981
|
+
const paths = style ? hasExtension ? [path, partial(path)] : [
|
|
1982
|
+
".scss",
|
|
1983
|
+
".sass",
|
|
1984
|
+
".css"
|
|
1985
|
+
].flatMap((ext) => [
|
|
1986
|
+
`${path}${ext}`,
|
|
1987
|
+
partial(`${path}${ext}`),
|
|
1988
|
+
`${path}/index${ext}`,
|
|
1989
|
+
`${path}/_index${ext}`
|
|
1990
|
+
]) : hasExtension ? [path] : [
|
|
1991
|
+
path,
|
|
1992
|
+
...[
|
|
1993
|
+
".vue",
|
|
1994
|
+
".ts",
|
|
1995
|
+
".js",
|
|
1996
|
+
".tsx",
|
|
1997
|
+
".jsx",
|
|
1998
|
+
".json"
|
|
1999
|
+
].map((ext) => `${path}${ext}`),
|
|
2000
|
+
...[
|
|
2001
|
+
".vue",
|
|
2002
|
+
".ts",
|
|
2003
|
+
".js",
|
|
2004
|
+
".tsx",
|
|
2005
|
+
".jsx",
|
|
2006
|
+
".json"
|
|
2007
|
+
].map((ext) => `${path}/index${ext}`)
|
|
2008
|
+
];
|
|
2009
|
+
return [...new Set(paths)].map((value) => {
|
|
2010
|
+
const candidate = new URL(url);
|
|
2011
|
+
candidate.pathname = value;
|
|
2012
|
+
return candidate.href;
|
|
2013
|
+
});
|
|
2014
|
+
};
|
|
2015
|
+
var collectResourceStyleImports = (code, type) => {
|
|
2016
|
+
if (type === "style") return collectStyleImports(code);
|
|
2017
|
+
if (type !== "sfc") return [];
|
|
2018
|
+
return [...code.matchAll(SFC_BLOCK_RE)].filter((match) => match[1].toLowerCase() === "style").flatMap((match) => collectStyleImports(match[3]));
|
|
2019
|
+
};
|
|
2020
|
+
var resolveDependencyRequestUrl = (url) => {
|
|
2021
|
+
const resolved = new URL(url, typeof location === "undefined" ? "http://localhost/" : location.href);
|
|
2022
|
+
if (resolved.hostname !== "raw.githubusercontent.com") return url;
|
|
2023
|
+
const index = resolved.pathname.indexOf("/node_modules/");
|
|
2024
|
+
return index < 0 ? url : `https://cdn.jsdelivr.net/npm/${resolved.pathname.slice(index + 14)}${resolved.search}`;
|
|
2025
|
+
};
|
|
2026
|
+
//#endregion
|
|
2027
|
+
//#region packages/client/src/utils/github-source.ts
|
|
2028
|
+
/**
|
|
2029
|
+
* GitHub Raw 不提供目录列表,用 Git tree 确定源码文件和 glob 匹配项。
|
|
2030
|
+
* @param rootUrl 入口源码的 URL。
|
|
2031
|
+
* @param signal 资源图的取消信号。
|
|
2032
|
+
* @returns GitHub 文件解析器,非 GitHub 地址返回 null。
|
|
2033
|
+
*/
|
|
2034
|
+
var createGithubSourceResolver = (rootUrl, signal) => {
|
|
2035
|
+
const root = new URL(rootUrl, typeof location === "undefined" ? "http://localhost/" : location.href);
|
|
2036
|
+
const match = root.hostname === "raw.githubusercontent.com" ? root.pathname.match(/^\/([^/]+)\/([^/]+)\/(refs\/(?:heads|tags)\/)?([^/]+)\//) : null;
|
|
2037
|
+
if (!match) return null;
|
|
2038
|
+
const [, owner, repo, , ref] = match;
|
|
2039
|
+
const base = `${root.origin}${match[0]}`;
|
|
2040
|
+
let pending;
|
|
2041
|
+
let globTree;
|
|
2042
|
+
const tree = () => {
|
|
2043
|
+
pending ??= (async () => {
|
|
2044
|
+
try {
|
|
2045
|
+
const apiUrl = `https://api.github.com/repos/${owner}/${repo}/git/trees/${encodeURIComponent(ref)}?recursive=1`;
|
|
2046
|
+
const response = await fetch(apiUrl, { signal });
|
|
2047
|
+
if (!response.ok) return null;
|
|
2048
|
+
const data = await response.json();
|
|
2049
|
+
if (data.truncated) return null;
|
|
2050
|
+
return new Set(data.tree.filter((item) => item.type === "blob").map((item) => `${base}${item.path}`));
|
|
2051
|
+
} catch (reason) {
|
|
2052
|
+
if (signal?.aborted) throw reason;
|
|
2053
|
+
return null;
|
|
2054
|
+
}
|
|
2055
|
+
})();
|
|
2056
|
+
return pending;
|
|
2057
|
+
};
|
|
2058
|
+
const fallbackGlobTree = () => {
|
|
2059
|
+
globTree ??= (async () => {
|
|
2060
|
+
const url = `https://data.jsdelivr.com/v1/package/gh/${owner}/${repo}@${encodeURIComponent(ref)}/flat`;
|
|
2061
|
+
const response = await fetch(url, { signal });
|
|
2062
|
+
if (!response.ok) throw new Error(`[RemoteSfc] glob 备用文件清单加载失败: ${response.status}`);
|
|
2063
|
+
const data = await response.json();
|
|
2064
|
+
return new Set(data.files.map((item) => `${base}${item.name.replace(/^\//, "")}`));
|
|
2065
|
+
})();
|
|
2066
|
+
return globTree;
|
|
2067
|
+
};
|
|
2068
|
+
return {
|
|
2069
|
+
base,
|
|
2070
|
+
resolve: async (specifier, importer, style) => {
|
|
2071
|
+
const candidates = dependencyUrlCandidates(specifier, importer, style);
|
|
2072
|
+
if (!candidates[0].startsWith(base) || candidates[0].includes("/node_modules/")) return candidates;
|
|
2073
|
+
const files = await tree();
|
|
2074
|
+
if (!files) return candidates;
|
|
2075
|
+
const found = candidates.find((value) => files.has(value.split(/[?#]/)[0]));
|
|
2076
|
+
if (!found) throw new Error(`[RemoteSfc] 无法解析依赖 "${specifier}"(来自 ${importer})`);
|
|
2077
|
+
return [found];
|
|
2078
|
+
},
|
|
2079
|
+
expandGlob: async (code, importer) => {
|
|
2080
|
+
if (!code.includes("import.meta.glob")) return code;
|
|
2081
|
+
const files = await tree() ?? await fallbackGlobTree();
|
|
2082
|
+
const imports = [];
|
|
2083
|
+
const transformed = code.replace(/import\.meta\.glob(?:<[^;\n]+?>)?\(\s*(['"])([^'"]+)\1\s*,\s*\{\s*eager\s*:\s*true\s*\}\s*\)/g, (_call, _quote, pattern) => {
|
|
2084
|
+
const expression = new URL(pattern, importer).href.split("*").map((part) => part.replace(/[.+?^${}()|[\]\\]/g, "\\$&")).join("[^/]*");
|
|
2085
|
+
const matcher = new RegExp(`^${expression}$`);
|
|
2086
|
+
const directory = new URL(".", importer).href;
|
|
2087
|
+
return `({${[...files].filter((value) => matcher.test(value)).sort().map((value) => {
|
|
2088
|
+
const path = `./${value.slice(directory.length)}`;
|
|
2089
|
+
const name = `__docs_glob_${imports.length}`;
|
|
2090
|
+
imports.push(`import * as ${name} from ${JSON.stringify(path)};`);
|
|
2091
|
+
return `${JSON.stringify(path)}: ${name}`;
|
|
2092
|
+
}).join(",")}})`;
|
|
2093
|
+
});
|
|
2094
|
+
if (transformed.includes("import.meta.glob")) throw new Error(`[RemoteSfc] 不支持的 glob 调用: ${importer}`);
|
|
2095
|
+
return `${imports.join("\n")}\n${transformed}`;
|
|
2096
|
+
}
|
|
2097
|
+
};
|
|
2098
|
+
};
|
|
2099
|
+
var rewritePackageStyleImports = (code) => code.replace(/@import\s+(['"])([^.'"/][^'"]*\.css)\1/g, (statement, quote, path) => /^[a-z][a-z\d+.-]*:/i.test(path) ? statement : `@import ${quote}https://cdn.jsdelivr.net/npm/${path}${quote}`);
|
|
2100
|
+
//#endregion
|
|
2101
|
+
//#region packages/client/src/utils/source-dependencies.ts
|
|
2102
|
+
var assertResolvableSourceGlobs = (code, url) => {
|
|
2103
|
+
if (code.includes("import.meta.glob")) throw new Error(`[RemoteSfc] 普通 HTTP 资源无法枚举 glob 文件,请使用显式 import 或预先展开的文件清单: ${url}`);
|
|
2104
|
+
};
|
|
2105
|
+
var createResourceDependencyResolver = (knownUrls = []) => {
|
|
2106
|
+
const files = new Set(knownUrls);
|
|
2107
|
+
const resolutions = /* @__PURE__ */ new Map();
|
|
2108
|
+
const githubResolvers = [];
|
|
2109
|
+
return async (code, type, url, probe) => {
|
|
2110
|
+
files.add(url);
|
|
2111
|
+
if (/\.json(?:$|[?#])/i.test(url)) return [];
|
|
2112
|
+
let github = githubResolvers.find((resolver) => url.startsWith(resolver.base));
|
|
2113
|
+
if (!github) {
|
|
2114
|
+
github = createGithubSourceResolver(url) ?? void 0;
|
|
2115
|
+
if (github) githubResolvers.push(github);
|
|
2116
|
+
}
|
|
2117
|
+
let source = code;
|
|
2118
|
+
if (type === "module") {
|
|
2119
|
+
if (github) source = await github.expandGlob(source, url);
|
|
2120
|
+
}
|
|
2121
|
+
if (!github && type !== "style") assertResolvableSourceGlobs(source, url);
|
|
2122
|
+
if (type === "style") source = rewritePackageStyleImports(source);
|
|
2123
|
+
const imports = await collectResourceImports(source, type);
|
|
2124
|
+
const styles = collectResourceStyleImports(source, type);
|
|
2125
|
+
return await Promise.all(imports.filter(isSupportedDependency).map(async (specifier) => {
|
|
2126
|
+
const style = styles.includes(specifier) || /\.(?:scss|sass)(?:$|[?#])/i.test(specifier);
|
|
2127
|
+
const candidates = github ? await github.resolve(specifier, url, style) : dependencyUrlCandidates(specifier, url, style);
|
|
2128
|
+
const found = candidates.find((candidate) => files.has(candidate));
|
|
2129
|
+
if (found) return resolveDependencyRequestUrl(found);
|
|
2130
|
+
if (!probe || candidates.length === 1) return resolveDependencyRequestUrl(candidates[0]);
|
|
2131
|
+
const key = JSON.stringify(candidates);
|
|
2132
|
+
let pending = resolutions.get(key);
|
|
2133
|
+
if (!pending) {
|
|
2134
|
+
pending = (async () => {
|
|
2135
|
+
for (let index = 0;; index += 1) {
|
|
2136
|
+
const candidate = candidates[index];
|
|
2137
|
+
try {
|
|
2138
|
+
await probe(candidate);
|
|
2139
|
+
files.add(candidate);
|
|
2140
|
+
return candidate;
|
|
2141
|
+
} catch (reason) {
|
|
2142
|
+
if (!(reason instanceof ResourceRequestError) || reason.status !== 404 || index === candidates.length - 1) throw reason;
|
|
2143
|
+
}
|
|
2144
|
+
}
|
|
2145
|
+
})();
|
|
2146
|
+
resolutions.set(key, pending);
|
|
2147
|
+
}
|
|
2148
|
+
return resolveDependencyRequestUrl(await pending);
|
|
2149
|
+
}));
|
|
2150
|
+
};
|
|
2151
|
+
};
|
|
1960
2152
|
//#endregion
|
|
1961
2153
|
//#region packages/client/src/utils/content.ts
|
|
1962
2154
|
var isRendererDocument = (value) => Boolean(value && typeof value === "object" && "schemaVersion" in value);
|
|
@@ -1998,7 +2190,7 @@ var writeHomeContent = (config, lang, value) => {
|
|
|
1998
2190
|
};
|
|
1999
2191
|
//#endregion
|
|
2000
2192
|
//#region packages/client/src/utils/components.ts
|
|
2001
|
-
var isPlainObject$
|
|
2193
|
+
var isPlainObject$2 = (value) => Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
2002
2194
|
/**
|
|
2003
2195
|
* 归一化站点 Markdown 排版皮肤;非法值回退 `default`。
|
|
2004
2196
|
* @param value `components.markdown.theme`。
|
|
@@ -2012,7 +2204,7 @@ var resolveDocsMarkdownTheme = (value) => value === "traditional" ? "traditional
|
|
|
2012
2204
|
*/
|
|
2013
2205
|
var resolveDocsMarkdownComponent = (config) => {
|
|
2014
2206
|
const markdown = config.components?.markdown;
|
|
2015
|
-
if (!isPlainObject$
|
|
2207
|
+
if (!isPlainObject$2(markdown)) return { theme: "default" };
|
|
2016
2208
|
const options = { theme: resolveDocsMarkdownTheme(markdown.theme) };
|
|
2017
2209
|
if ("indicator" in markdown) options.indicator = markdown.indicator;
|
|
2018
2210
|
return options;
|
|
@@ -2024,7 +2216,7 @@ var resolveDocsMarkdownComponent = (config) => {
|
|
|
2024
2216
|
*/
|
|
2025
2217
|
var resolveDocsPlaygroundComponent = (config) => {
|
|
2026
2218
|
const playground = config.components?.playground;
|
|
2027
|
-
if (!isPlainObject$
|
|
2219
|
+
if (!isPlainObject$2(playground)) return {};
|
|
2028
2220
|
return { ...playground };
|
|
2029
2221
|
};
|
|
2030
2222
|
var RENDERER_FITS = /* @__PURE__ */ new Set([
|
|
@@ -2039,7 +2231,7 @@ var RENDERER_FITS = /* @__PURE__ */ new Set([
|
|
|
2039
2231
|
*/
|
|
2040
2232
|
var resolveDocsRendererComponent = (config) => {
|
|
2041
2233
|
const renderer = config.components?.renderer;
|
|
2042
|
-
if (!isPlainObject$
|
|
2234
|
+
if (!isPlainObject$2(renderer)) return {};
|
|
2043
2235
|
const options = {};
|
|
2044
2236
|
if (typeof renderer.fit === "string" && RENDERER_FITS.has(renderer.fit)) options.fit = renderer.fit;
|
|
2045
2237
|
return options;
|
|
@@ -2047,7 +2239,7 @@ var resolveDocsRendererComponent = (config) => {
|
|
|
2047
2239
|
//#endregion
|
|
2048
2240
|
//#region packages/client/src/components/renderer/markdown-props.ts
|
|
2049
2241
|
var INDICATOR_POSITIONS = /* @__PURE__ */ new Set(["left", "right"]);
|
|
2050
|
-
var isPlainObject = (value) => Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
2242
|
+
var isPlainObject$1 = (value) => Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
2051
2243
|
/**
|
|
2052
2244
|
* 规范化指示器配置。非法值丢弃,合法对象只保留已知字段。
|
|
2053
2245
|
* @param value 原始 indicator。
|
|
@@ -2055,7 +2247,7 @@ var isPlainObject = (value) => Boolean(value) && typeof value === "object" && !A
|
|
|
2055
2247
|
*/
|
|
2056
2248
|
var normalizeDocsMarkdownIndicator = (value) => {
|
|
2057
2249
|
if (value === true || value === false) return value;
|
|
2058
|
-
if (!isPlainObject(value)) return void 0;
|
|
2250
|
+
if (!isPlainObject$1(value)) return void 0;
|
|
2059
2251
|
const options = {};
|
|
2060
2252
|
if (typeof value.preview === "boolean") options.preview = value.preview;
|
|
2061
2253
|
if (typeof value.draggable === "boolean") options.draggable = value.draggable;
|
|
@@ -2070,7 +2262,7 @@ var normalizeDocsMarkdownIndicator = (value) => {
|
|
|
2070
2262
|
* @returns 可写入模块 props 的 options。
|
|
2071
2263
|
*/
|
|
2072
2264
|
var normalizeDocsMarkdownOptions = (value) => {
|
|
2073
|
-
if (!isPlainObject(value)) return void 0;
|
|
2265
|
+
if (!isPlainObject$1(value)) return void 0;
|
|
2074
2266
|
const options = { ...value };
|
|
2075
2267
|
if ("indicator" in options) {
|
|
2076
2268
|
const indicator = normalizeDocsMarkdownIndicator(options.indicator);
|
|
@@ -2085,7 +2277,7 @@ var normalizeDocsMarkdownOptions = (value) => {
|
|
|
2085
2277
|
* @returns source / content / options。
|
|
2086
2278
|
*/
|
|
2087
2279
|
var normalizeDocsMarkdownProps = (value) => {
|
|
2088
|
-
const record = isPlainObject(value) ? value : {};
|
|
2280
|
+
const record = isPlainObject$1(value) ? value : {};
|
|
2089
2281
|
const props = { source: typeof record.source === "string" ? record.source : "" };
|
|
2090
2282
|
if (typeof record.content === "string") props.content = record.content;
|
|
2091
2283
|
const options = normalizeDocsMarkdownOptions(record.options);
|
|
@@ -2123,8 +2315,8 @@ var docsMarkdownIndicator = (options) => {
|
|
|
2123
2315
|
var docsMarkdownInlineContent = (props) => typeof props.content === "string" ? props.content : void 0;
|
|
2124
2316
|
//#endregion
|
|
2125
2317
|
//#region packages/client/src/components/renderer/markdown.vue?vue&type=script&setup=true&lang.ts
|
|
2126
|
-
var _hoisted_1$
|
|
2127
|
-
var _hoisted_2$
|
|
2318
|
+
var _hoisted_1$29 = { class: "docs-renderer-markdown" };
|
|
2319
|
+
var _hoisted_2$24 = {
|
|
2128
2320
|
key: 0,
|
|
2129
2321
|
class: "docs-renderer-markdown__error"
|
|
2130
2322
|
};
|
|
@@ -2220,7 +2412,7 @@ var markdown_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2220
2412
|
unsubscribe?.();
|
|
2221
2413
|
});
|
|
2222
2414
|
return (_ctx, _cache) => {
|
|
2223
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$
|
|
2415
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$29, [error.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$24, (0, vue.toDisplayString)(error.value), 1)) : loading.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_3$17, (0, vue.toDisplayString)((0, vue.unref)(t)("client.common.loading")), 1)) : ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_deot_docs_markdown.Markdown), {
|
|
2224
2416
|
key: 2,
|
|
2225
2417
|
value: content.value,
|
|
2226
2418
|
indicator: indicator.value,
|
|
@@ -2239,10 +2431,10 @@ var markdown_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2239
2431
|
});
|
|
2240
2432
|
//#endregion
|
|
2241
2433
|
//#region packages/client/src/components/renderer/markdown-editor.vue?vue&type=script&setup=true&lang.ts
|
|
2242
|
-
var _hoisted_1$
|
|
2243
|
-
var _hoisted_2$
|
|
2434
|
+
var _hoisted_1$28 = { class: "docs-renderer-module-editor" };
|
|
2435
|
+
var _hoisted_2$23 = { class: "docs-renderer-field is-wide" };
|
|
2244
2436
|
var _hoisted_3$16 = { class: "docs-renderer-field is-wide" };
|
|
2245
|
-
var _hoisted_4$
|
|
2437
|
+
var _hoisted_4$11 = { class: "docs-renderer-field is-wide is-inline" };
|
|
2246
2438
|
//#endregion
|
|
2247
2439
|
//#region packages/client/src/components/renderer/markdown-editor.vue
|
|
2248
2440
|
var markdown_editor_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -2281,8 +2473,8 @@ var markdown_editor_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2281
2473
|
} });
|
|
2282
2474
|
};
|
|
2283
2475
|
return (_ctx, _cache) => {
|
|
2284
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$
|
|
2285
|
-
(0, vue.createElementVNode)("div", _hoisted_2$
|
|
2476
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$28, [
|
|
2477
|
+
(0, vue.createElementVNode)("div", _hoisted_2$23, [(0, vue.createElementVNode)("label", null, (0, vue.toDisplayString)((0, vue.unref)(t)("renderer.editor.source")), 1), (0, vue.createVNode)((0, vue.unref)(_deot_vc.Input), {
|
|
2286
2478
|
"model-value": String(__props.modelValue.source || ""),
|
|
2287
2479
|
placeholder: (0, vue.unref)(t)("renderer.editor.markdownSourceHint"),
|
|
2288
2480
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = (value) => update({ source: value }))
|
|
@@ -2293,7 +2485,7 @@ var markdown_editor_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2293
2485
|
placeholder: (0, vue.unref)(t)("renderer.editor.markdownContentHint"),
|
|
2294
2486
|
"onUpdate:modelValue": handleContent
|
|
2295
2487
|
}, null, 8, ["model-value", "placeholder"])]),
|
|
2296
|
-
(0, vue.createElementVNode)("div", _hoisted_4$
|
|
2488
|
+
(0, vue.createElementVNode)("div", _hoisted_4$11, [(0, vue.createElementVNode)("label", null, (0, vue.toDisplayString)((0, vue.unref)(t)("markdown.indicator.label")), 1), (0, vue.createVNode)((0, vue.unref)(_deot_vc.Switch), {
|
|
2297
2489
|
"model-value": indicatorEnabled.value,
|
|
2298
2490
|
"onUpdate:modelValue": patchIndicator
|
|
2299
2491
|
}, null, 8, ["model-value"])])
|
|
@@ -2302,13 +2494,158 @@ var markdown_editor_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2302
2494
|
}
|
|
2303
2495
|
});
|
|
2304
2496
|
//#endregion
|
|
2497
|
+
//#region packages/client/src/modules/preview/config.ts
|
|
2498
|
+
var previewConfigKey = Symbol("preview-config");
|
|
2499
|
+
var isPlainObject = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
|
|
2500
|
+
var playgroundFields = [
|
|
2501
|
+
"local",
|
|
2502
|
+
"styleless",
|
|
2503
|
+
"views",
|
|
2504
|
+
"viewport",
|
|
2505
|
+
"previewInset",
|
|
2506
|
+
"expandable",
|
|
2507
|
+
"previewScroller",
|
|
2508
|
+
"title"
|
|
2509
|
+
];
|
|
2510
|
+
var normalizePlayground = (value) => {
|
|
2511
|
+
if (!isPlainObject(value)) throw new TypeError("playground must be an object");
|
|
2512
|
+
return Object.fromEntries(playgroundFields.filter((key) => key in value).map((key) => [key, value[key]]));
|
|
2513
|
+
};
|
|
2514
|
+
/**
|
|
2515
|
+
* 校验链接中可序列化的预览配置,不混入站点配置。
|
|
2516
|
+
* @param value JSON 解码后的配置。
|
|
2517
|
+
* @returns 规范化的预览配置。
|
|
2518
|
+
*/
|
|
2519
|
+
var normalizePreviewConfig = (value) => {
|
|
2520
|
+
if (!isPlainObject(value)) throw new TypeError("raw must contain a configuration object");
|
|
2521
|
+
const input = value;
|
|
2522
|
+
if (typeof input.url !== "string" || !input.url.trim()) throw new TypeError("url must be a non-empty string");
|
|
2523
|
+
if (input.styles !== void 0 && (!Array.isArray(input.styles) || input.styles.some((item) => typeof item !== "string"))) throw new TypeError("styles must be an array of URL strings");
|
|
2524
|
+
if (input.modules !== void 0 && (!isPlainObject(input.modules) || Object.entries(input.modules).some(([key, url]) => !key.trim() || typeof url !== "string" || !url.trim()))) throw new TypeError("modules must map module names to URL strings");
|
|
2525
|
+
if (input.lang !== void 0 && typeof input.lang !== "string") throw new TypeError("lang must be a string");
|
|
2526
|
+
return {
|
|
2527
|
+
url: input.url.trim(),
|
|
2528
|
+
styles: input.styles || [],
|
|
2529
|
+
modules: input.modules || {},
|
|
2530
|
+
...input.lang ? { lang: input.lang } : {},
|
|
2531
|
+
...input.playground !== void 0 ? { playground: normalizePlayground(input.playground) } : {}
|
|
2532
|
+
};
|
|
2533
|
+
};
|
|
2534
|
+
/**
|
|
2535
|
+
* raw 是完整配置;未指定时兼容现有 url/styles/lang 查询参数。
|
|
2536
|
+
* @param query Vue Router 已解码的查询参数。
|
|
2537
|
+
* @returns 当前链接的预览配置。
|
|
2538
|
+
*/
|
|
2539
|
+
var readPreviewConfig = (query) => {
|
|
2540
|
+
if (query.raw !== void 0) {
|
|
2541
|
+
if (typeof query.raw !== "string" || !query.raw) throw new TypeError("raw must be a single encoded configuration");
|
|
2542
|
+
return normalizePreviewConfig(JSON.parse((0, _deot_helper_unicode.decode)(query.raw)));
|
|
2543
|
+
}
|
|
2544
|
+
const styles = Array.isArray(query.styles) ? query.styles : typeof query.styles === "string" ? query.styles.split(",") : [];
|
|
2545
|
+
return {
|
|
2546
|
+
url: typeof query.url === "string" ? query.url.trim() : "",
|
|
2547
|
+
styles: styles.filter((item) => typeof item === "string"),
|
|
2548
|
+
modules: {},
|
|
2549
|
+
...typeof query.lang === "string" ? { lang: query.lang } : {}
|
|
2550
|
+
};
|
|
2551
|
+
};
|
|
2552
|
+
/**
|
|
2553
|
+
* 使用 Unicode helper 编码并正确转义 Base64 的 +、/、=。
|
|
2554
|
+
* @param config 预览配置。
|
|
2555
|
+
* @param base 站点部署根地址。
|
|
2556
|
+
* @returns 可直接分享的预览链接。
|
|
2557
|
+
*/
|
|
2558
|
+
var createPreviewUrl = (config, base) => {
|
|
2559
|
+
const url = new URL("__docs/preview", base);
|
|
2560
|
+
url.searchParams.set("raw", (0, _deot_helper_unicode.encode)(JSON.stringify(config)));
|
|
2561
|
+
return url.href;
|
|
2562
|
+
};
|
|
2563
|
+
/**
|
|
2564
|
+
* 根据资源 URL 的 pathname 选择预览组件。
|
|
2565
|
+
* @param source 资源地址。
|
|
2566
|
+
* @param base 解析相对地址的页面地址。
|
|
2567
|
+
* @returns 支持的资源类型;其他资源返回 undefined。
|
|
2568
|
+
*/
|
|
2569
|
+
var resolvePreviewType = (source, base) => {
|
|
2570
|
+
const url = new URL(source, base);
|
|
2571
|
+
if (!/^https?:$/.test(url.protocol)) return void 0;
|
|
2572
|
+
if (/\.vue$/i.test(url.pathname)) return "sfc";
|
|
2573
|
+
if (/(?:^|\/|\.)page\.json$/i.test(url.pathname)) return "page";
|
|
2574
|
+
};
|
|
2575
|
+
//#endregion
|
|
2576
|
+
//#region packages/client/src/modules/preview/styles.ts
|
|
2577
|
+
/**
|
|
2578
|
+
* 单个 styles 参数按逗号分隔;重复参数各自是一条完整 URL。
|
|
2579
|
+
* @param value Router 已解码的 styles 参数。
|
|
2580
|
+
* @param base 用于解析站点根路径的页面地址。
|
|
2581
|
+
* @returns 按声明顺序去重的样式 URL。
|
|
2582
|
+
*/
|
|
2583
|
+
var parsePreviewStyleUrls = (value, base) => {
|
|
2584
|
+
const items = Array.isArray(value) ? value : typeof value === "string" ? value.split(",") : [];
|
|
2585
|
+
return [...new Set(items.flatMap((item) => {
|
|
2586
|
+
const href = item?.trim();
|
|
2587
|
+
if (!href) return [];
|
|
2588
|
+
if (href.includes("\\") || !/^https?:\/\//i.test(href) && !(href.startsWith("/") && !href.startsWith("//"))) throw new TypeError(`Invalid stylesheet URL: ${href}`);
|
|
2589
|
+
const url = new URL(href, base);
|
|
2590
|
+
if (!/^https?:$/.test(url.protocol)) throw new TypeError(`Invalid stylesheet URL: ${href}`);
|
|
2591
|
+
return [url.href];
|
|
2592
|
+
}))];
|
|
2593
|
+
};
|
|
2594
|
+
var sharedStyles = /* @__PURE__ */ new Map();
|
|
2595
|
+
/**
|
|
2596
|
+
* 复用同一 URL 的 stylesheet,只清理本工具创建且已无引用的节点。
|
|
2597
|
+
* @param urls 已归一化的样式 URL,按加载顺序排列。
|
|
2598
|
+
* @param onError 当前预览的样式加载错误回调。
|
|
2599
|
+
* @returns 释放当前预览引用的函数。
|
|
2600
|
+
*/
|
|
2601
|
+
var acquirePreviewStyles = (urls, onError) => {
|
|
2602
|
+
const listener = (url) => onError(url);
|
|
2603
|
+
const records = [...new Set(urls)].map((url) => {
|
|
2604
|
+
let record = sharedStyles.get(url);
|
|
2605
|
+
if (!record) {
|
|
2606
|
+
const existing = [...document.querySelectorAll("link[rel~=\"stylesheet\"]")].find((link) => link.href === url && !link.disabled);
|
|
2607
|
+
const link = existing || document.createElement("link");
|
|
2608
|
+
record = {
|
|
2609
|
+
link,
|
|
2610
|
+
owned: !existing,
|
|
2611
|
+
listeners: /* @__PURE__ */ new Set(),
|
|
2612
|
+
failed: false,
|
|
2613
|
+
handleError: () => {
|
|
2614
|
+
record.failed = true;
|
|
2615
|
+
record.listeners.forEach((callback) => callback(url));
|
|
2616
|
+
}
|
|
2617
|
+
};
|
|
2618
|
+
sharedStyles.set(url, record);
|
|
2619
|
+
link.addEventListener("error", record.handleError);
|
|
2620
|
+
if (!existing) {
|
|
2621
|
+
link.rel = "stylesheet";
|
|
2622
|
+
link.href = url;
|
|
2623
|
+
link.setAttribute("data-docs-preview-style", "");
|
|
2624
|
+
document.head.appendChild(link);
|
|
2625
|
+
}
|
|
2626
|
+
}
|
|
2627
|
+
record.listeners.add(listener);
|
|
2628
|
+
if (record.failed) listener(url);
|
|
2629
|
+
return {
|
|
2630
|
+
url,
|
|
2631
|
+
record
|
|
2632
|
+
};
|
|
2633
|
+
});
|
|
2634
|
+
return () => records.forEach(({ url, record }) => {
|
|
2635
|
+
record.listeners.delete(listener);
|
|
2636
|
+
if (record.listeners.size || sharedStyles.get(url) !== record) return;
|
|
2637
|
+
record.link.removeEventListener("error", record.handleError);
|
|
2638
|
+
if (record.owned) record.link.remove();
|
|
2639
|
+
sharedStyles.delete(url);
|
|
2640
|
+
});
|
|
2641
|
+
};
|
|
2642
|
+
//#endregion
|
|
2305
2643
|
//#region packages/client/src/components/remote-sfc/remote-sfc.vue?vue&type=script&setup=true&lang.ts
|
|
2306
|
-
var _hoisted_1$
|
|
2307
|
-
var _hoisted_2$21 = {
|
|
2644
|
+
var _hoisted_1$27 = {
|
|
2308
2645
|
key: 0,
|
|
2309
2646
|
class: "docs-remote-sfc__error"
|
|
2310
2647
|
};
|
|
2311
|
-
var
|
|
2648
|
+
var _hoisted_2$22 = {
|
|
2312
2649
|
key: 1,
|
|
2313
2650
|
class: "docs-remote-sfc__loading"
|
|
2314
2651
|
};
|
|
@@ -2325,6 +2662,7 @@ var remote_sfc_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2325
2662
|
const { locale, t } = (0, _deot_docs_locale.useLocale)();
|
|
2326
2663
|
const router = (0, vue_router.useRouter)();
|
|
2327
2664
|
const config = getDocsConfig();
|
|
2665
|
+
const preview = (0, vue.inject)(previewConfigKey, void 0);
|
|
2328
2666
|
const loading = (0, vue.ref)(true);
|
|
2329
2667
|
const error = (0, vue.ref)("");
|
|
2330
2668
|
const files = (0, vue.ref)({});
|
|
@@ -2335,29 +2673,49 @@ var remote_sfc_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2335
2673
|
let controller;
|
|
2336
2674
|
let generation = 0;
|
|
2337
2675
|
const playgroundDefaults = (0, vue.computed)(() => resolveDocsPlaygroundComponent(config));
|
|
2676
|
+
const previewModules = (0, vue.computed)(() => JSON.stringify(preview?.value?.modules || {}));
|
|
2677
|
+
const previewPlayground = (0, vue.computed)(() => JSON.stringify(preview?.value?.playground || {}));
|
|
2678
|
+
const playgroundOptions = (0, vue.computed)(() => {
|
|
2679
|
+
const siteOptions = playgroundDefaults.value.options || {};
|
|
2680
|
+
const siteImportMap = siteOptions.builtinImportMap || {};
|
|
2681
|
+
return {
|
|
2682
|
+
...siteOptions,
|
|
2683
|
+
builtinImportMap: {
|
|
2684
|
+
...siteImportMap,
|
|
2685
|
+
imports: {
|
|
2686
|
+
...siteImportMap.imports,
|
|
2687
|
+
...config.modules,
|
|
2688
|
+
...JSON.parse(previewModules.value)
|
|
2689
|
+
}
|
|
2690
|
+
}
|
|
2691
|
+
};
|
|
2692
|
+
});
|
|
2338
2693
|
const playgroundProps = (0, vue.computed)(() => {
|
|
2339
2694
|
const site = playgroundDefaults.value;
|
|
2340
|
-
const
|
|
2341
|
-
const siteImportMap = siteOptions.builtinImportMap && typeof siteOptions.builtinImportMap === "object" ? siteOptions.builtinImportMap : {};
|
|
2342
|
-
const siteImports = "imports" in siteImportMap && siteImportMap.imports && typeof siteImportMap.imports === "object" ? siteImportMap.imports : {};
|
|
2695
|
+
const overrides = JSON.parse(previewPlayground.value);
|
|
2343
2696
|
return {
|
|
2344
2697
|
...site,
|
|
2345
2698
|
files: files.value,
|
|
2346
2699
|
entry: entry.value,
|
|
2347
2700
|
locale: locale.value,
|
|
2348
2701
|
styleless: true,
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
}
|
|
2357
|
-
}
|
|
2358
|
-
}
|
|
2702
|
+
...overrides,
|
|
2703
|
+
local: overrides.local ?? site.local ?? true,
|
|
2704
|
+
...previewStyleHead.value ? { previewOptions: {
|
|
2705
|
+
...site.previewOptions,
|
|
2706
|
+
headHTML: `${site.previewOptions?.headHTML || ""}${previewStyleHead.value}`
|
|
2707
|
+
} } : {},
|
|
2708
|
+
options: playgroundOptions.value
|
|
2359
2709
|
};
|
|
2360
2710
|
});
|
|
2711
|
+
const useIframeViewport = (0, vue.computed)(() => !!preview?.value && !playgroundProps.value.local && playgroundProps.value.styleless && !Array.isArray(playgroundProps.value.viewport));
|
|
2712
|
+
const previewStyleHead = (0, vue.computed)(() => {
|
|
2713
|
+
try {
|
|
2714
|
+
return parsePreviewStyleUrls(preview?.value?.styles, location.href).map((url) => `<link rel="stylesheet" href="${url.replaceAll("&", "&").replaceAll("\"", """)}">`).join("");
|
|
2715
|
+
} catch {
|
|
2716
|
+
return "";
|
|
2717
|
+
}
|
|
2718
|
+
});
|
|
2361
2719
|
const clearSubscriptions = () => {
|
|
2362
2720
|
while (subscriptions.length) subscriptions.pop()?.();
|
|
2363
2721
|
};
|
|
@@ -2388,12 +2746,12 @@ var remote_sfc_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2388
2746
|
lang: langSnapshot
|
|
2389
2747
|
});
|
|
2390
2748
|
if (current !== generation || activeController.signal.aborted) return;
|
|
2749
|
+
const github = createGithubSourceResolver(rootUrl, activeController.signal);
|
|
2391
2750
|
const nextFiles = {};
|
|
2392
2751
|
const visited = /* @__PURE__ */ new Set();
|
|
2393
2752
|
const activeLoads = /* @__PURE__ */ new Set();
|
|
2394
2753
|
const visit = async (url, logicalSource) => {
|
|
2395
2754
|
if (current !== generation || visited.has(url)) return;
|
|
2396
|
-
visited.add(url);
|
|
2397
2755
|
const type = getResourceType(url);
|
|
2398
2756
|
const source = logicalSource || toLogicalResourceSource(config, langSnapshot, url);
|
|
2399
2757
|
const identity = createResourceIdentity(config, langSnapshot, type, source);
|
|
@@ -2401,12 +2759,11 @@ var remote_sfc_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2401
2759
|
const reload = () => {
|
|
2402
2760
|
if (!activeLoads.has(key)) loadFiles();
|
|
2403
2761
|
};
|
|
2404
|
-
subscriptions.push(Gateway.subscribe(identity, reload));
|
|
2405
2762
|
activeLoads.add(key);
|
|
2406
2763
|
let record;
|
|
2407
2764
|
try {
|
|
2408
2765
|
record = await Gateway.load(identity, {
|
|
2409
|
-
url,
|
|
2766
|
+
url: resolveDependencyRequestUrl(url),
|
|
2410
2767
|
priority: 100,
|
|
2411
2768
|
signal: activeController.signal
|
|
2412
2769
|
});
|
|
@@ -2414,11 +2771,24 @@ var remote_sfc_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2414
2771
|
activeLoads.delete(key);
|
|
2415
2772
|
}
|
|
2416
2773
|
if (current !== generation) return;
|
|
2417
|
-
|
|
2418
|
-
|
|
2774
|
+
visited.add(url);
|
|
2775
|
+
subscriptions.push(Gateway.subscribe(identity, reload));
|
|
2776
|
+
let content = github && type === "module" ? await github.expandGlob(record.content, url) : record.content;
|
|
2777
|
+
if (!github && type !== "style") assertResolvableSourceGlobs(content, url);
|
|
2778
|
+
if (github && type === "style") content = rewritePackageStyleImports(content);
|
|
2779
|
+
nextFiles[getFilename(url, langSnapshot)] = content;
|
|
2780
|
+
const imports = /\.json(?:$|[?#])/i.test(url) ? [] : await collectResourceImports(content, type);
|
|
2781
|
+
const styles = collectResourceStyleImports(content, type);
|
|
2419
2782
|
await Promise.all(imports.filter(isSupportedDependency).map(async (value) => {
|
|
2420
|
-
const
|
|
2421
|
-
await
|
|
2783
|
+
const style = styles.includes(value) || /\.(?:scss|sass)(?:$|[?#])/i.test(value);
|
|
2784
|
+
const candidates = github ? await github.resolve(value, url, style) : dependencyUrlCandidates(value, url, style);
|
|
2785
|
+
if (candidates.some((dependency) => visited.has(dependency))) return;
|
|
2786
|
+
for (const [index, dependency] of candidates.entries()) try {
|
|
2787
|
+
await visit(dependency);
|
|
2788
|
+
break;
|
|
2789
|
+
} catch (reason) {
|
|
2790
|
+
if (visited.has(dependency) || !(reason instanceof ResourceRequestError) || reason.status !== 404 || index === candidates.length - 1) throw reason;
|
|
2791
|
+
}
|
|
2422
2792
|
}));
|
|
2423
2793
|
};
|
|
2424
2794
|
await visit(rootUrl, sourceSnapshot);
|
|
@@ -2457,7 +2827,7 @@ var remote_sfc_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2457
2827
|
clearSubscriptions();
|
|
2458
2828
|
});
|
|
2459
2829
|
return (_ctx, _cache) => {
|
|
2460
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div",
|
|
2830
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", { class: (0, vue.normalizeClass)(["docs-remote-sfc", { "docs-remote-sfc--viewport": useIframeViewport.value }]) }, [error.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$27, (0, vue.toDisplayString)(error.value), 1)) : loading.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$22, (0, vue.toDisplayString)((0, vue.unref)(t)("client.common.loading")), 1)) : PlaygroundComponent.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(PlaygroundComponent.value), (0, vue.mergeProps)({ key: `${revision.value}:${playgroundProps.value.local}` }, playgroundProps.value, { onNavigate: handleNavigate }), null, 16)) : (0, vue.createCommentVNode)("v-if", true)], 2);
|
|
2461
2831
|
};
|
|
2462
2832
|
}
|
|
2463
2833
|
});
|
|
@@ -2483,7 +2853,7 @@ var sfc_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2483
2853
|
});
|
|
2484
2854
|
//#endregion
|
|
2485
2855
|
//#region packages/client/src/components/renderer/source-editor.vue?vue&type=script&setup=true&lang.ts
|
|
2486
|
-
var _hoisted_1$
|
|
2856
|
+
var _hoisted_1$26 = { class: "docs-renderer-module-editor" };
|
|
2487
2857
|
//#endregion
|
|
2488
2858
|
//#region packages/client/src/components/renderer/source-editor.vue
|
|
2489
2859
|
var source_editor_default$1 = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -2503,7 +2873,7 @@ var source_editor_default$1 = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2503
2873
|
source
|
|
2504
2874
|
});
|
|
2505
2875
|
return (_ctx, _cache) => {
|
|
2506
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$
|
|
2876
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$26, [(0, vue.createElementVNode)("label", null, (0, vue.toDisplayString)((0, vue.unref)(t)("renderer.editor.source")), 1), (0, vue.createVNode)((0, vue.unref)(_deot_vc.Input), {
|
|
2507
2877
|
"model-value": String(__props.modelValue.source || ""),
|
|
2508
2878
|
"onUpdate:modelValue": handleUpdate
|
|
2509
2879
|
}, null, 8, ["model-value"])]);
|
|
@@ -2918,6 +3288,7 @@ var ResourcePlanner = class {
|
|
|
2918
3288
|
return parsedKeys;
|
|
2919
3289
|
}
|
|
2920
3290
|
async collectResourcesDepthFirst(config, collector, records) {
|
|
3291
|
+
const resolveDependencies = createResourceDependencyResolver(records.filter((record) => typeof record.content === "string").map((record) => record.url));
|
|
2921
3292
|
const recordsByKey = new Map(records.map((record) => [resourceIdentityKey(record.identity), record]));
|
|
2922
3293
|
const ordered = [];
|
|
2923
3294
|
const visited = /* @__PURE__ */ new Set();
|
|
@@ -2946,20 +3317,19 @@ var ResourcePlanner = class {
|
|
|
2946
3317
|
if (!record || typeof record.content !== "string") return;
|
|
2947
3318
|
let imports;
|
|
2948
3319
|
try {
|
|
2949
|
-
imports = await
|
|
3320
|
+
imports = await resolveDependencies(record.content, identity.type, record.url);
|
|
2950
3321
|
} catch {
|
|
2951
3322
|
return;
|
|
2952
3323
|
}
|
|
2953
|
-
for (const
|
|
3324
|
+
for (const url of imports) {
|
|
2954
3325
|
let source;
|
|
2955
3326
|
try {
|
|
2956
|
-
const url = resolveDependencyUrl(specifier, record.url);
|
|
2957
3327
|
source = toLogicalResourceSource(config, identity.lang, url);
|
|
2958
3328
|
} catch {
|
|
2959
3329
|
continue;
|
|
2960
3330
|
}
|
|
2961
|
-
const candidate = createResourceIdentity(config, identity.lang,
|
|
2962
|
-
const dependency = collector.add(identity.lang, source) || collector.identities.get(resourceIdentityKey(candidate));
|
|
3331
|
+
const candidate = createResourceIdentity(config, identity.lang, getResourceType(source), source);
|
|
3332
|
+
const dependency = collector.add(identity.lang, source, getResourceType(source)) || collector.identities.get(resourceIdentityKey(candidate));
|
|
2963
3333
|
if (dependency) await visit(dependency);
|
|
2964
3334
|
}
|
|
2965
3335
|
};
|
|
@@ -3166,6 +3536,7 @@ var ResourcePlanner = class {
|
|
|
3166
3536
|
return results;
|
|
3167
3537
|
}
|
|
3168
3538
|
async collectDependencyResources({ config, collector, seeds, strict, loadResources }) {
|
|
3539
|
+
const resolveDependencies = createResourceDependencyResolver((await this.gateway.list()).filter((record) => typeof record.content === "string").map((record) => record.url));
|
|
3169
3540
|
const results = [];
|
|
3170
3541
|
const processed = /* @__PURE__ */ new Set();
|
|
3171
3542
|
let queue = seeds;
|
|
@@ -3183,21 +3554,24 @@ var ResourcePlanner = class {
|
|
|
3183
3554
|
}
|
|
3184
3555
|
let imports;
|
|
3185
3556
|
try {
|
|
3186
|
-
imports = await
|
|
3557
|
+
imports = await resolveDependencies(record.content, identity.type, record.url, async (url) => {
|
|
3558
|
+
const source = toLogicalResourceSource(config, identity.lang, url);
|
|
3559
|
+
const [result] = await loadResources([createResourceIdentity(config, identity.lang, getResourceType(url), source)]);
|
|
3560
|
+
if (result.status === "rejected") throw result.reason;
|
|
3561
|
+
});
|
|
3187
3562
|
} catch (reason) {
|
|
3188
3563
|
if (strict) throw reason;
|
|
3189
3564
|
continue;
|
|
3190
3565
|
}
|
|
3191
|
-
for (const
|
|
3566
|
+
for (const url of imports) {
|
|
3192
3567
|
let source;
|
|
3193
3568
|
try {
|
|
3194
|
-
const url = resolveDependencyUrl(specifier, record.url);
|
|
3195
3569
|
source = toLogicalResourceSource(config, identity.lang, url);
|
|
3196
3570
|
} catch (reason) {
|
|
3197
3571
|
if (strict) throw reason;
|
|
3198
3572
|
continue;
|
|
3199
3573
|
}
|
|
3200
|
-
const dependency = collector.add(identity.lang, source);
|
|
3574
|
+
const dependency = collector.add(identity.lang, source, getResourceType(source));
|
|
3201
3575
|
if (dependency) discovered.push(dependency);
|
|
3202
3576
|
}
|
|
3203
3577
|
}
|
|
@@ -4211,52 +4585,52 @@ var SearchManager = class {
|
|
|
4211
4585
|
var Search = new SearchManager();
|
|
4212
4586
|
//#endregion
|
|
4213
4587
|
//#region packages/client/src/components/search/search.vue?vue&type=script&setup=true&lang.ts
|
|
4214
|
-
var _hoisted_1$
|
|
4215
|
-
var _hoisted_2$
|
|
4216
|
-
var _hoisted_3$
|
|
4217
|
-
var _hoisted_4$
|
|
4218
|
-
var _hoisted_5$
|
|
4219
|
-
var _hoisted_6$
|
|
4220
|
-
var _hoisted_7$
|
|
4221
|
-
var _hoisted_8$
|
|
4588
|
+
var _hoisted_1$25 = ["aria-label"];
|
|
4589
|
+
var _hoisted_2$21 = { class: "docs-search__header" };
|
|
4590
|
+
var _hoisted_3$15 = ["placeholder", "aria-label"];
|
|
4591
|
+
var _hoisted_4$10 = { class: "docs-search__actions" };
|
|
4592
|
+
var _hoisted_5$8 = ["aria-label"];
|
|
4593
|
+
var _hoisted_6$6 = { class: "docs-search__body" };
|
|
4594
|
+
var _hoisted_7$6 = { class: "docs-search__content" };
|
|
4595
|
+
var _hoisted_8$6 = {
|
|
4222
4596
|
key: 0,
|
|
4223
4597
|
class: "docs-search__state"
|
|
4224
4598
|
};
|
|
4225
|
-
var _hoisted_9$
|
|
4599
|
+
var _hoisted_9$4 = {
|
|
4226
4600
|
key: 1,
|
|
4227
4601
|
class: "docs-search__state docs-search__state--error"
|
|
4228
4602
|
};
|
|
4229
|
-
var _hoisted_10$
|
|
4230
|
-
var _hoisted_11$
|
|
4603
|
+
var _hoisted_10$4 = { class: "docs-search__group-title" };
|
|
4604
|
+
var _hoisted_11$4 = [
|
|
4231
4605
|
"data-search-index",
|
|
4232
4606
|
"onMouseenter",
|
|
4233
4607
|
"onClick"
|
|
4234
4608
|
];
|
|
4235
|
-
var _hoisted_12$
|
|
4609
|
+
var _hoisted_12$4 = {
|
|
4236
4610
|
class: "docs-search__result-icon",
|
|
4237
4611
|
"aria-hidden": "true"
|
|
4238
4612
|
};
|
|
4239
|
-
var _hoisted_13$
|
|
4240
|
-
var _hoisted_14$
|
|
4241
|
-
var _hoisted_15$
|
|
4613
|
+
var _hoisted_13$3 = { class: "docs-search__result-content" };
|
|
4614
|
+
var _hoisted_14$2 = { class: "docs-search__result-title" };
|
|
4615
|
+
var _hoisted_15$2 = {
|
|
4242
4616
|
key: 0,
|
|
4243
4617
|
class: "docs-search__result-parent"
|
|
4244
4618
|
};
|
|
4245
|
-
var _hoisted_16$
|
|
4619
|
+
var _hoisted_16$2 = {
|
|
4246
4620
|
key: 1,
|
|
4247
4621
|
class: "docs-search__result-excerpt"
|
|
4248
4622
|
};
|
|
4249
|
-
var _hoisted_17$
|
|
4623
|
+
var _hoisted_17$2 = {
|
|
4250
4624
|
key: 0,
|
|
4251
4625
|
class: "docs-search__state"
|
|
4252
4626
|
};
|
|
4253
|
-
var _hoisted_18 = { class: "docs-search__group-title" };
|
|
4254
|
-
var _hoisted_19 = [
|
|
4627
|
+
var _hoisted_18$1 = { class: "docs-search__group-title" };
|
|
4628
|
+
var _hoisted_19$1 = [
|
|
4255
4629
|
"data-search-index",
|
|
4256
4630
|
"onMouseenter",
|
|
4257
4631
|
"onClick"
|
|
4258
4632
|
];
|
|
4259
|
-
var _hoisted_20 = { class: "docs-search__result-content" };
|
|
4633
|
+
var _hoisted_20$1 = { class: "docs-search__result-content" };
|
|
4260
4634
|
var _hoisted_21 = { class: "docs-search__result-title" };
|
|
4261
4635
|
var _hoisted_22 = {
|
|
4262
4636
|
key: 0,
|
|
@@ -4466,7 +4840,7 @@ var search_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4466
4840
|
"aria-label": (0, vue.unref)(t)("client.search.dialogLabel"),
|
|
4467
4841
|
onKeydown: handleKeydown
|
|
4468
4842
|
}, [
|
|
4469
|
-
(0, vue.createElementVNode)("header", _hoisted_2$
|
|
4843
|
+
(0, vue.createElementVNode)("header", _hoisted_2$21, [
|
|
4470
4844
|
_cache[2] || (_cache[2] = (0, vue.createElementVNode)("span", {
|
|
4471
4845
|
class: "docs-search__icon",
|
|
4472
4846
|
"aria-hidden": "true"
|
|
@@ -4482,8 +4856,8 @@ var search_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4482
4856
|
"aria-label": (0, vue.unref)(t)("client.search.placeholder"),
|
|
4483
4857
|
onCompositionstart: _cache[1] || (_cache[1] = ($event) => composing.value = true),
|
|
4484
4858
|
onCompositionend: handleCompositionEnd
|
|
4485
|
-
}, null, 40, _hoisted_3$
|
|
4486
|
-
(0, vue.createElementVNode)("div", _hoisted_4$
|
|
4859
|
+
}, null, 40, _hoisted_3$15), [[vue.vModelText, keyword.value]]),
|
|
4860
|
+
(0, vue.createElementVNode)("div", _hoisted_4$10, [keyword.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("button", {
|
|
4487
4861
|
key: 0,
|
|
4488
4862
|
class: "docs-search__clear",
|
|
4489
4863
|
type: "button",
|
|
@@ -4493,9 +4867,9 @@ var search_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4493
4867
|
type: "button",
|
|
4494
4868
|
"aria-label": (0, vue.unref)(t)("client.search.close"),
|
|
4495
4869
|
onClick: handleClose
|
|
4496
|
-
}, " esc ", 8, _hoisted_5$
|
|
4870
|
+
}, " esc ", 8, _hoisted_5$8)])
|
|
4497
4871
|
]),
|
|
4498
|
-
(0, vue.createElementVNode)("div", _hoisted_6$
|
|
4872
|
+
(0, vue.createElementVNode)("div", _hoisted_6$6, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Scroller), {
|
|
4499
4873
|
class: "docs-search__scroller",
|
|
4500
4874
|
"auto-resize": true,
|
|
4501
4875
|
native: false,
|
|
@@ -4503,8 +4877,8 @@ var search_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4503
4877
|
height: "100%",
|
|
4504
4878
|
"wrapper-style": "overflow-x: hidden;"
|
|
4505
4879
|
}, {
|
|
4506
|
-
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_7$
|
|
4507
|
-
(0, vue.createElementVNode)("div", _hoisted_10$
|
|
4880
|
+
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_7$6, [loading.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_8$6, (0, vue.toDisplayString)((0, vue.unref)(t)("client.search.searching")), 1)) : error.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_9$4, (0, vue.toDisplayString)(error.value), 1)) : keyword.value.trim() ? ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 2 }, [
|
|
4881
|
+
(0, vue.createElementVNode)("div", _hoisted_10$4, (0, vue.toDisplayString)((0, vue.unref)(t)("client.search.documentation")), 1),
|
|
4508
4882
|
((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(results.value, (item, index) => {
|
|
4509
4883
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("button", {
|
|
4510
4884
|
key: `${item.id}:${item.kind}`,
|
|
@@ -4517,11 +4891,11 @@ var search_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4517
4891
|
onMouseenter: ($event) => handleMouseenter(index),
|
|
4518
4892
|
onClick: ($event) => handleSelect(item)
|
|
4519
4893
|
}, [
|
|
4520
|
-
(0, vue.createElementVNode)("span", _hoisted_12$
|
|
4521
|
-
(0, vue.createElementVNode)("span", _hoisted_13$
|
|
4894
|
+
(0, vue.createElementVNode)("span", _hoisted_12$4, (0, vue.toDisplayString)(item.kind === "section" ? "#" : "▤"), 1),
|
|
4895
|
+
(0, vue.createElementVNode)("span", _hoisted_13$3, [(0, vue.createElementVNode)("span", _hoisted_14$2, [(0, vue.createVNode)(highlight_text_default, {
|
|
4522
4896
|
text: item.sectionTitle || item.title,
|
|
4523
4897
|
keyword: keyword.value
|
|
4524
|
-
}, null, 8, ["text", "keyword"])]), item.kind === "section" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_15$
|
|
4898
|
+
}, null, 8, ["text", "keyword"])]), item.kind === "section" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_15$2, (0, vue.toDisplayString)(item.title), 1)) : item.excerpt ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_16$2, [(0, vue.createVNode)(highlight_text_default, {
|
|
4525
4899
|
text: item.excerpt,
|
|
4526
4900
|
keyword: keyword.value
|
|
4527
4901
|
}, null, 8, ["text", "keyword"])])) : (0, vue.createCommentVNode)("v-if", true)]),
|
|
@@ -4529,11 +4903,11 @@ var search_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4529
4903
|
class: "docs-search__enter",
|
|
4530
4904
|
"aria-hidden": "true"
|
|
4531
4905
|
}, "↵", -1))
|
|
4532
|
-
], 42, _hoisted_11$
|
|
4906
|
+
], 42, _hoisted_11$4);
|
|
4533
4907
|
}), 128)),
|
|
4534
|
-
!results.value.length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_17$
|
|
4908
|
+
!results.value.length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_17$2, (0, vue.toDisplayString)(preparedCount.value ? (0, vue.unref)(t)("client.search.noResults") : (0, vue.unref)(t)("client.search.noCachedDocuments")), 1)) : (0, vue.createCommentVNode)("v-if", true)
|
|
4535
4909
|
], 64)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 3 }, [
|
|
4536
|
-
(0, vue.createElementVNode)("div", _hoisted_18, (0, vue.toDisplayString)((0, vue.unref)(t)("client.search.recent")), 1),
|
|
4910
|
+
(0, vue.createElementVNode)("div", _hoisted_18$1, (0, vue.toDisplayString)((0, vue.unref)(t)("client.search.recent")), 1),
|
|
4537
4911
|
((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(history.value, (item, index) => {
|
|
4538
4912
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
|
|
4539
4913
|
key: item.id,
|
|
@@ -4548,7 +4922,7 @@ var search_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4548
4922
|
class: "docs-search__history-icon",
|
|
4549
4923
|
"aria-hidden": "true"
|
|
4550
4924
|
}, "↶", -1)),
|
|
4551
|
-
(0, vue.createElementVNode)("span", _hoisted_20, [(0, vue.createElementVNode)("span", _hoisted_21, (0, vue.toDisplayString)(item.sectionTitle || item.title), 1), item.sectionTitle ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_22, (0, vue.toDisplayString)(item.title), 1)) : (0, vue.createCommentVNode)("v-if", true)]),
|
|
4925
|
+
(0, vue.createElementVNode)("span", _hoisted_20$1, [(0, vue.createElementVNode)("span", _hoisted_21, (0, vue.toDisplayString)(item.sectionTitle || item.title), 1), item.sectionTitle ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_22, (0, vue.toDisplayString)(item.title), 1)) : (0, vue.createCommentVNode)("v-if", true)]),
|
|
4552
4926
|
(0, vue.createElementVNode)("button", {
|
|
4553
4927
|
class: (0, vue.normalizeClass)(["docs-search__history-action", { "docs-search__history-action--active": item.pinned }]),
|
|
4554
4928
|
type: "button",
|
|
@@ -4561,7 +4935,7 @@ var search_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4561
4935
|
"aria-label": (0, vue.unref)(t)("client.search.remove"),
|
|
4562
4936
|
onClick: (0, vue.withModifiers)(($event) => handleRemoveHistory(item.id), ["stop"])
|
|
4563
4937
|
}, " × ", 8, _hoisted_24)
|
|
4564
|
-
], 42, _hoisted_19);
|
|
4938
|
+
], 42, _hoisted_19$1);
|
|
4565
4939
|
}), 128)),
|
|
4566
4940
|
!history.value.length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_25, (0, vue.toDisplayString)((0, vue.unref)(t)("client.search.noRecent")), 1)) : (0, vue.createCommentVNode)("v-if", true)
|
|
4567
4941
|
], 64))])]),
|
|
@@ -4576,7 +4950,7 @@ var search_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4576
4950
|
(0, vue.createElementVNode)("span", null, [_cache[7] || (_cache[7] = (0, vue.createElementVNode)("kbd", null, "↵", -1)), (0, vue.createTextVNode)(" " + (0, vue.toDisplayString)((0, vue.unref)(t)("client.search.selectHint")), 1)]),
|
|
4577
4951
|
(0, vue.createElementVNode)("span", null, [_cache[8] || (_cache[8] = (0, vue.createElementVNode)("kbd", null, "ESC", -1)), (0, vue.createTextVNode)(" " + (0, vue.toDisplayString)((0, vue.unref)(t)("client.search.closeHint")), 1)])
|
|
4578
4952
|
])
|
|
4579
|
-
], 40, _hoisted_1$
|
|
4953
|
+
], 40, _hoisted_1$25)]);
|
|
4580
4954
|
};
|
|
4581
4955
|
}
|
|
4582
4956
|
});
|
|
@@ -4593,8 +4967,8 @@ var DocsSearch = new _deot_vc.Portal(search_default, {
|
|
|
4593
4967
|
});
|
|
4594
4968
|
//#endregion
|
|
4595
4969
|
//#region packages/client/src/components/search/trigger.vue?vue&type=script&setup=true&lang.ts
|
|
4596
|
-
var _hoisted_1$
|
|
4597
|
-
var _hoisted_2$
|
|
4970
|
+
var _hoisted_1$24 = ["aria-label"];
|
|
4971
|
+
var _hoisted_2$20 = { class: "docs-search-trigger__shortcut" };
|
|
4598
4972
|
//#endregion
|
|
4599
4973
|
//#region packages/client/src/components/search/trigger.vue
|
|
4600
4974
|
var trigger_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -4638,7 +5012,7 @@ var trigger_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4638
5012
|
}, [_cache[0] || (_cache[0] = (0, vue.createElementVNode)("span", {
|
|
4639
5013
|
class: "docs-search-trigger__icon",
|
|
4640
5014
|
"aria-hidden": "true"
|
|
4641
|
-
}, null, -1)), (0, vue.createElementVNode)("kbd", _hoisted_2$
|
|
5015
|
+
}, null, -1)), (0, vue.createElementVNode)("kbd", _hoisted_2$20, (0, vue.toDisplayString)((0, vue.unref)(shortcut)), 1)], 8, _hoisted_1$24);
|
|
4642
5016
|
};
|
|
4643
5017
|
}
|
|
4644
5018
|
});
|
|
@@ -4747,12 +5121,12 @@ var CLIENT_ICON_DEFINITIONS = {
|
|
|
4747
5121
|
};
|
|
4748
5122
|
//#endregion
|
|
4749
5123
|
//#region packages/client/src/components/icon/icon.vue?vue&type=script&setup=true&lang.ts
|
|
4750
|
-
var _hoisted_1$
|
|
5124
|
+
var _hoisted_1$23 = [
|
|
4751
5125
|
"data-icon",
|
|
4752
5126
|
"fill",
|
|
4753
5127
|
"stroke"
|
|
4754
5128
|
];
|
|
4755
|
-
var _hoisted_2$
|
|
5129
|
+
var _hoisted_2$19 = ["d"];
|
|
4756
5130
|
//#endregion
|
|
4757
5131
|
//#region packages/client/src/components/icon/icon.vue
|
|
4758
5132
|
var icon_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -4784,13 +5158,13 @@ var icon_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4784
5158
|
"stroke-linecap": "round",
|
|
4785
5159
|
"stroke-linejoin": "round",
|
|
4786
5160
|
"aria-hidden": "true"
|
|
4787
|
-
}, [(0, vue.createElementVNode)("path", { d: definition.value.path }, null, 8, _hoisted_2$
|
|
5161
|
+
}, [(0, vue.createElementVNode)("path", { d: definition.value.path }, null, 8, _hoisted_2$19)], 12, _hoisted_1$23);
|
|
4788
5162
|
};
|
|
4789
5163
|
}
|
|
4790
5164
|
});
|
|
4791
5165
|
//#endregion
|
|
4792
5166
|
//#region packages/client/src/components/theme-toggler/index.vue?vue&type=script&setup=true&lang.ts
|
|
4793
|
-
var _hoisted_1$
|
|
5167
|
+
var _hoisted_1$22 = [
|
|
4794
5168
|
"aria-checked",
|
|
4795
5169
|
"aria-label",
|
|
4796
5170
|
"onKeydown"
|
|
@@ -4828,7 +5202,7 @@ var theme_toggler_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4828
5202
|
}, null, 8, ["model-value"]), (0, vue.createVNode)((0, vue.unref)(icon_default), {
|
|
4829
5203
|
name: isDark.value ? "moon" : "sun",
|
|
4830
5204
|
class: (0, vue.normalizeClass)(["theme-toggler__icon", isDark.value ? "is-dark" : "is-light"])
|
|
4831
|
-
}, null, 8, ["name", "class"])], 40, _hoisted_1$
|
|
5205
|
+
}, null, 8, ["name", "class"])], 40, _hoisted_1$22)) : (0, vue.createCommentVNode)("v-if", true);
|
|
4832
5206
|
};
|
|
4833
5207
|
}
|
|
4834
5208
|
});
|
|
@@ -4876,37 +5250,37 @@ var takeInlineRendererDocument = (from) => {
|
|
|
4876
5250
|
};
|
|
4877
5251
|
//#endregion
|
|
4878
5252
|
//#region packages/client/src/components/layout/default-header.vue?vue&type=script&setup=true&lang.ts
|
|
4879
|
-
var _hoisted_1$
|
|
4880
|
-
var _hoisted_2$
|
|
4881
|
-
var _hoisted_3$
|
|
4882
|
-
var _hoisted_4$
|
|
4883
|
-
var _hoisted_5$
|
|
4884
|
-
var _hoisted_6$
|
|
4885
|
-
var _hoisted_7$
|
|
4886
|
-
var _hoisted_8$
|
|
4887
|
-
var _hoisted_9$
|
|
4888
|
-
var _hoisted_10$
|
|
4889
|
-
var _hoisted_11$
|
|
5253
|
+
var _hoisted_1$21 = { class: "docs-header" };
|
|
5254
|
+
var _hoisted_2$18 = ["href"];
|
|
5255
|
+
var _hoisted_3$14 = ["src"];
|
|
5256
|
+
var _hoisted_4$9 = ["src"];
|
|
5257
|
+
var _hoisted_5$7 = { class: "docs-header__search" };
|
|
5258
|
+
var _hoisted_6$5 = ["aria-label"];
|
|
5259
|
+
var _hoisted_7$5 = ["aria-expanded"];
|
|
5260
|
+
var _hoisted_8$5 = ["href"];
|
|
5261
|
+
var _hoisted_9$3 = { key: 2 };
|
|
5262
|
+
var _hoisted_10$3 = ["href"];
|
|
5263
|
+
var _hoisted_11$3 = {
|
|
4890
5264
|
key: 3,
|
|
4891
5265
|
class: "docs-header__nav-item"
|
|
4892
5266
|
};
|
|
4893
|
-
var _hoisted_12$
|
|
4894
|
-
var _hoisted_13$
|
|
5267
|
+
var _hoisted_12$3 = { class: "docs-header__actions" };
|
|
5268
|
+
var _hoisted_13$2 = {
|
|
4895
5269
|
key: 0,
|
|
4896
5270
|
class: "docs-header__locales"
|
|
4897
5271
|
};
|
|
4898
|
-
var _hoisted_14 = [
|
|
5272
|
+
var _hoisted_14$1 = [
|
|
4899
5273
|
"title",
|
|
4900
5274
|
"aria-label",
|
|
4901
5275
|
"aria-expanded"
|
|
4902
5276
|
];
|
|
4903
|
-
var _hoisted_15 = [
|
|
5277
|
+
var _hoisted_15$1 = [
|
|
4904
5278
|
"href",
|
|
4905
5279
|
"title",
|
|
4906
5280
|
"aria-label"
|
|
4907
5281
|
];
|
|
4908
|
-
var _hoisted_16 = { class: "docs-header__tools" };
|
|
4909
|
-
var _hoisted_17 = [
|
|
5282
|
+
var _hoisted_16$1 = { class: "docs-header__tools" };
|
|
5283
|
+
var _hoisted_17$1 = [
|
|
4910
5284
|
"title",
|
|
4911
5285
|
"aria-label",
|
|
4912
5286
|
"aria-expanded"
|
|
@@ -5069,7 +5443,7 @@ var default_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5069
5443
|
if (action === "database") router.push(databasePath.value);
|
|
5070
5444
|
};
|
|
5071
5445
|
return (_ctx, _cache) => {
|
|
5072
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("header", _hoisted_1$
|
|
5446
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("header", _hoisted_1$21, [
|
|
5073
5447
|
brandExternal.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("a", {
|
|
5074
5448
|
key: 0,
|
|
5075
5449
|
class: "docs-header__brand",
|
|
@@ -5081,7 +5455,7 @@ var default_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5081
5455
|
class: "docs-header__brand-logo",
|
|
5082
5456
|
src: brandLogo.value,
|
|
5083
5457
|
alt: ""
|
|
5084
|
-
}, null, 8, _hoisted_3$
|
|
5458
|
+
}, null, 8, _hoisted_3$14)) : (0, vue.createCommentVNode)("v-if", true), (0, vue.createTextVNode)(" " + (0, vue.toDisplayString)(brandLabel.value), 1)], 8, _hoisted_2$18)) : ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(vue_router.RouterLink), {
|
|
5085
5459
|
key: 1,
|
|
5086
5460
|
class: "docs-header__brand",
|
|
5087
5461
|
to: brandPath.value
|
|
@@ -5091,10 +5465,10 @@ var default_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5091
5465
|
class: "docs-header__brand-logo",
|
|
5092
5466
|
src: brandLogo.value,
|
|
5093
5467
|
alt: ""
|
|
5094
|
-
}, null, 8, _hoisted_4$
|
|
5468
|
+
}, null, 8, _hoisted_4$9)) : (0, vue.createCommentVNode)("v-if", true), (0, vue.createTextVNode)(" " + (0, vue.toDisplayString)(brandLabel.value), 1)]),
|
|
5095
5469
|
_: 1
|
|
5096
5470
|
}, 8, ["to"])),
|
|
5097
|
-
(0, vue.createElementVNode)("div", _hoisted_5$
|
|
5471
|
+
(0, vue.createElementVNode)("div", _hoisted_5$7, [(0, vue.createVNode)((0, vue.unref)(trigger_default))]),
|
|
5098
5472
|
navItems.value.length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("nav", {
|
|
5099
5473
|
key: 2,
|
|
5100
5474
|
class: "docs-header__nav",
|
|
@@ -5126,13 +5500,13 @@ var default_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5126
5500
|
href: child.value,
|
|
5127
5501
|
target: "_blank",
|
|
5128
5502
|
rel: "noopener noreferrer"
|
|
5129
|
-
}, (0, vue.toDisplayString)(child.label), 9, _hoisted_8$
|
|
5503
|
+
}, (0, vue.toDisplayString)(child.label), 9, _hoisted_8$5)) : child.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(vue_router.RouterLink), {
|
|
5130
5504
|
key: 1,
|
|
5131
5505
|
to: (0, vue.unref)(localizePath)((0, vue.unref)(config), lang.value, child.value)
|
|
5132
5506
|
}, {
|
|
5133
5507
|
default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)(child.label), 1)]),
|
|
5134
5508
|
_: 2
|
|
5135
|
-
}, 1032, ["to"])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_9$
|
|
5509
|
+
}, 1032, ["to"])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_9$3, (0, vue.toDisplayString)(child.label), 1))]),
|
|
5136
5510
|
_: 2
|
|
5137
5511
|
}, 1032, ["value"]);
|
|
5138
5512
|
}), 128))]),
|
|
@@ -5143,7 +5517,7 @@ var default_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5143
5517
|
class: (0, vue.normalizeClass)(["docs-header__nav-item docs-header__nav-trigger", { "is-active": isNavItemActive(item) }]),
|
|
5144
5518
|
"aria-expanded": Boolean(navMenuVisible.value[index]),
|
|
5145
5519
|
"aria-haspopup": "menu"
|
|
5146
|
-
}, (0, vue.toDisplayString)(item.label), 11, _hoisted_7$
|
|
5520
|
+
}, (0, vue.toDisplayString)(item.label), 11, _hoisted_7$5)]),
|
|
5147
5521
|
_: 2
|
|
5148
5522
|
}, 1032, ["model-value", "onUpdate:modelValue"])) : item.value && (0, vue.unref)(isExternalLink)(item.value) ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("a", {
|
|
5149
5523
|
key: 1,
|
|
@@ -5151,18 +5525,18 @@ var default_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5151
5525
|
href: item.value,
|
|
5152
5526
|
target: "_blank",
|
|
5153
5527
|
rel: "noopener noreferrer"
|
|
5154
|
-
}, (0, vue.toDisplayString)(item.label), 9, _hoisted_10$
|
|
5528
|
+
}, (0, vue.toDisplayString)(item.label), 9, _hoisted_10$3)) : item.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(vue_router.RouterLink), {
|
|
5155
5529
|
key: 2,
|
|
5156
5530
|
class: (0, vue.normalizeClass)(["docs-header__nav-item", { "is-active": isNavItemActive(item) }]),
|
|
5157
5531
|
to: (0, vue.unref)(localizePath)((0, vue.unref)(config), lang.value, item.value)
|
|
5158
5532
|
}, {
|
|
5159
5533
|
default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)(item.label), 1)]),
|
|
5160
5534
|
_: 2
|
|
5161
|
-
}, 1032, ["class", "to"])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_11$
|
|
5162
|
-
}), 128))], 8, _hoisted_6$
|
|
5163
|
-
(0, vue.createElementVNode)("div", _hoisted_12$
|
|
5535
|
+
}, 1032, ["class", "to"])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_11$3, (0, vue.toDisplayString)(item.label), 1))], 64);
|
|
5536
|
+
}), 128))], 8, _hoisted_6$5)) : (0, vue.createCommentVNode)("v-if", true),
|
|
5537
|
+
(0, vue.createElementVNode)("div", _hoisted_12$3, [
|
|
5164
5538
|
(0, vue.createVNode)((0, vue.unref)(theme_toggler_default), { class: "docs-header__theme" }),
|
|
5165
|
-
localeOptions.value.length > 1 ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("nav", _hoisted_13$
|
|
5539
|
+
localeOptions.value.length > 1 ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("nav", _hoisted_13$2, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Dropdown), {
|
|
5166
5540
|
modelValue: localeMenuVisible.value,
|
|
5167
5541
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => localeMenuVisible.value = $event),
|
|
5168
5542
|
class: "docs-header__locale-dropdown",
|
|
@@ -5205,7 +5579,7 @@ var default_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5205
5579
|
}, [(0, vue.createVNode)((0, vue.unref)(icon_default), {
|
|
5206
5580
|
name: "language",
|
|
5207
5581
|
size: 22
|
|
5208
|
-
})], 8, _hoisted_14)]),
|
|
5582
|
+
})], 8, _hoisted_14$1)]),
|
|
5209
5583
|
_: 1
|
|
5210
5584
|
}, 8, ["modelValue"])])) : (0, vue.createCommentVNode)("v-if", true),
|
|
5211
5585
|
repositoryHref.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("a", {
|
|
@@ -5219,8 +5593,8 @@ var default_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5219
5593
|
}, [(0, vue.createVNode)((0, vue.unref)(icon_default), {
|
|
5220
5594
|
name: repositoryIcon.value,
|
|
5221
5595
|
size: 24
|
|
5222
|
-
}, null, 8, ["name"])], 8, _hoisted_15)) : (0, vue.createCommentVNode)("v-if", true),
|
|
5223
|
-
(0, vue.createElementVNode)("nav", _hoisted_16, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Dropdown), {
|
|
5596
|
+
}, null, 8, ["name"])], 8, _hoisted_15$1)) : (0, vue.createCommentVNode)("v-if", true),
|
|
5597
|
+
(0, vue.createElementVNode)("nav", _hoisted_16$1, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Dropdown), {
|
|
5224
5598
|
modelValue: toolsMenuVisible.value,
|
|
5225
5599
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => toolsMenuVisible.value = $event),
|
|
5226
5600
|
class: "docs-header__tools-dropdown",
|
|
@@ -5261,7 +5635,7 @@ var default_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5261
5635
|
}, [(0, vue.createVNode)((0, vue.unref)(icon_default), {
|
|
5262
5636
|
name: "more",
|
|
5263
5637
|
size: 22
|
|
5264
|
-
})], 8, _hoisted_17)]),
|
|
5638
|
+
})], 8, _hoisted_17$1)]),
|
|
5265
5639
|
_: 1
|
|
5266
5640
|
}, 8, ["modelValue"])])
|
|
5267
5641
|
])
|
|
@@ -5326,11 +5700,11 @@ var pickSidebarIconValue = (icon, selected) => {
|
|
|
5326
5700
|
};
|
|
5327
5701
|
//#endregion
|
|
5328
5702
|
//#region packages/client/src/components/layout/sidebar-glyph.vue?vue&type=script&setup=true&lang.ts
|
|
5329
|
-
var _hoisted_1$
|
|
5703
|
+
var _hoisted_1$20 = {
|
|
5330
5704
|
key: 0,
|
|
5331
5705
|
class: "docs-sidebar__icon"
|
|
5332
5706
|
};
|
|
5333
|
-
var _hoisted_2$
|
|
5707
|
+
var _hoisted_2$17 = ["src"];
|
|
5334
5708
|
//#endregion
|
|
5335
5709
|
//#region packages/client/src/components/layout/sidebar-glyph.vue
|
|
5336
5710
|
var sidebar_glyph_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -5346,12 +5720,12 @@ var sidebar_glyph_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5346
5720
|
const kind = (0, vue.computed)(() => resolveSidebarIconKind(value.value));
|
|
5347
5721
|
const src = (0, vue.computed)(() => toSidebarIconSrc(value.value));
|
|
5348
5722
|
return (_ctx, _cache) => {
|
|
5349
|
-
return value.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_1$
|
|
5723
|
+
return value.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_1$20, [kind.value === "url" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("img", {
|
|
5350
5724
|
key: 0,
|
|
5351
5725
|
class: "docs-sidebar__media",
|
|
5352
5726
|
src: src.value,
|
|
5353
5727
|
alt: ""
|
|
5354
|
-
}, null, 8, _hoisted_2$
|
|
5728
|
+
}, null, 8, _hoisted_2$17)) : kind.value === "type" ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_deot_vc.Icon), {
|
|
5355
5729
|
key: 1,
|
|
5356
5730
|
class: "docs-sidebar__glyph",
|
|
5357
5731
|
type: value.value,
|
|
@@ -5362,23 +5736,23 @@ var sidebar_glyph_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5362
5736
|
});
|
|
5363
5737
|
//#endregion
|
|
5364
5738
|
//#region packages/client/src/components/layout/default-sidebar.vue?vue&type=script&setup=true&lang.ts
|
|
5365
|
-
var _hoisted_1$
|
|
5366
|
-
var _hoisted_2$
|
|
5367
|
-
var _hoisted_3$
|
|
5739
|
+
var _hoisted_1$19 = ["href"];
|
|
5740
|
+
var _hoisted_2$16 = { class: "docs-sidebar__text" };
|
|
5741
|
+
var _hoisted_3$13 = {
|
|
5368
5742
|
key: 0,
|
|
5369
5743
|
class: "docs-sidebar__tag"
|
|
5370
5744
|
};
|
|
5371
|
-
var _hoisted_4$
|
|
5372
|
-
var _hoisted_5$
|
|
5745
|
+
var _hoisted_4$8 = { class: "docs-sidebar__text" };
|
|
5746
|
+
var _hoisted_5$6 = {
|
|
5373
5747
|
key: 0,
|
|
5374
5748
|
class: "docs-sidebar__tag"
|
|
5375
5749
|
};
|
|
5376
|
-
var _hoisted_6$
|
|
5750
|
+
var _hoisted_6$4 = {
|
|
5377
5751
|
key: 2,
|
|
5378
5752
|
class: "docs-sidebar__label"
|
|
5379
5753
|
};
|
|
5380
|
-
var _hoisted_7$
|
|
5381
|
-
var _hoisted_8$
|
|
5754
|
+
var _hoisted_7$4 = { class: "docs-sidebar__text" };
|
|
5755
|
+
var _hoisted_8$4 = {
|
|
5382
5756
|
key: 0,
|
|
5383
5757
|
class: "docs-sidebar__tag"
|
|
5384
5758
|
};
|
|
@@ -5417,9 +5791,9 @@ var default_sidebar_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5417
5791
|
href: item.value
|
|
5418
5792
|
}, [
|
|
5419
5793
|
(0, vue.createVNode)(sidebar_glyph_default, { item }, null, 8, ["item"]),
|
|
5420
|
-
(0, vue.createElementVNode)("span", _hoisted_2$
|
|
5421
|
-
item.tag ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$
|
|
5422
|
-
], 8, _hoisted_1$
|
|
5794
|
+
(0, vue.createElementVNode)("span", _hoisted_2$16, (0, vue.toDisplayString)(item.label), 1),
|
|
5795
|
+
item.tag ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$13, (0, vue.toDisplayString)(item.tag), 1)) : (0, vue.createCommentVNode)("v-if", true)
|
|
5796
|
+
], 8, _hoisted_1$19)) : item.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(vue_router.RouterLink), {
|
|
5423
5797
|
key: 1,
|
|
5424
5798
|
class: (0, vue.normalizeClass)(["docs-sidebar__link", { "is-active": isItemActive(item.value) }]),
|
|
5425
5799
|
to: toPath(item.value)
|
|
@@ -5429,14 +5803,14 @@ var default_sidebar_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5429
5803
|
item,
|
|
5430
5804
|
selected: isItemActive(item.value)
|
|
5431
5805
|
}, null, 8, ["item", "selected"]),
|
|
5432
|
-
(0, vue.createElementVNode)("span", _hoisted_4$
|
|
5433
|
-
item.tag ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_5$
|
|
5806
|
+
(0, vue.createElementVNode)("span", _hoisted_4$8, (0, vue.toDisplayString)(item.label), 1),
|
|
5807
|
+
item.tag ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_5$6, (0, vue.toDisplayString)(item.tag), 1)) : (0, vue.createCommentVNode)("v-if", true)
|
|
5434
5808
|
]),
|
|
5435
5809
|
_: 2
|
|
5436
|
-
}, 1032, ["class", "to"])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_6$
|
|
5810
|
+
}, 1032, ["class", "to"])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_6$4, [
|
|
5437
5811
|
(0, vue.createVNode)(sidebar_glyph_default, { item }, null, 8, ["item"]),
|
|
5438
|
-
(0, vue.createElementVNode)("span", _hoisted_7$
|
|
5439
|
-
item.tag ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_8$
|
|
5812
|
+
(0, vue.createElementVNode)("span", _hoisted_7$4, (0, vue.toDisplayString)(item.label), 1),
|
|
5813
|
+
item.tag ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_8$4, (0, vue.toDisplayString)(item.tag), 1)) : (0, vue.createCommentVNode)("v-if", true)
|
|
5440
5814
|
])), item.children?.length ? ((0, vue.openBlock)(), (0, vue.createBlock)(_component_DefaultSidebar, {
|
|
5441
5815
|
key: 3,
|
|
5442
5816
|
items: item.children,
|
|
@@ -5449,8 +5823,8 @@ var default_sidebar_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5449
5823
|
});
|
|
5450
5824
|
//#endregion
|
|
5451
5825
|
//#region packages/client/src/components/layout/content-width-toggle.vue?vue&type=script&setup=true&lang.ts
|
|
5452
|
-
var _hoisted_1$
|
|
5453
|
-
var _hoisted_2$
|
|
5826
|
+
var _hoisted_1$18 = ["aria-label"];
|
|
5827
|
+
var _hoisted_2$15 = [
|
|
5454
5828
|
"aria-checked",
|
|
5455
5829
|
"aria-label",
|
|
5456
5830
|
"tabindex",
|
|
@@ -5517,20 +5891,20 @@ var content_width_toggle_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5517
5891
|
class: "docs-content-width__icon",
|
|
5518
5892
|
name: option.icon,
|
|
5519
5893
|
size: 12
|
|
5520
|
-
}, null, 8, ["name"])], 10, _hoisted_2$
|
|
5521
|
-
}), 128))], 40, _hoisted_1$
|
|
5894
|
+
}, null, 8, ["name"])], 10, _hoisted_2$15);
|
|
5895
|
+
}), 128))], 40, _hoisted_1$18);
|
|
5522
5896
|
};
|
|
5523
5897
|
}
|
|
5524
5898
|
});
|
|
5525
5899
|
//#endregion
|
|
5526
5900
|
//#region packages/client/src/components/layout/page-header.vue?vue&type=script&setup=true&lang.ts
|
|
5527
|
-
var _hoisted_1$
|
|
5528
|
-
var _hoisted_2$
|
|
5901
|
+
var _hoisted_1$17 = { class: "docs-page-header" };
|
|
5902
|
+
var _hoisted_2$14 = {
|
|
5529
5903
|
key: 0,
|
|
5530
5904
|
class: "docs-page-header__start"
|
|
5531
5905
|
};
|
|
5532
|
-
var _hoisted_3$
|
|
5533
|
-
var _hoisted_4$
|
|
5906
|
+
var _hoisted_3$12 = { class: "docs-page-header__eyebrow" };
|
|
5907
|
+
var _hoisted_4$7 = { class: "docs-page-header__end" };
|
|
5534
5908
|
//#endregion
|
|
5535
5909
|
//#region packages/client/src/components/layout/page-header.vue
|
|
5536
5910
|
var page_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -5544,13 +5918,13 @@ var page_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5544
5918
|
return findSidebarSection(sidebarItems.value, route.path, lang.value);
|
|
5545
5919
|
});
|
|
5546
5920
|
return (_ctx, _cache) => {
|
|
5547
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("header", _hoisted_1$
|
|
5921
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("header", _hoisted_1$17, [section.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$14, [(0, vue.createElementVNode)("p", _hoisted_3$12, (0, vue.toDisplayString)(section.value.label), 1)])) : (0, vue.createCommentVNode)("v-if", true), (0, vue.createElementVNode)("div", _hoisted_4$7, [(0, vue.createVNode)(content_width_toggle_default)])]);
|
|
5548
5922
|
};
|
|
5549
5923
|
}
|
|
5550
5924
|
});
|
|
5551
5925
|
//#endregion
|
|
5552
5926
|
//#region packages/client/src/components/layout/page-footer.vue?vue&type=script&setup=true&lang.ts
|
|
5553
|
-
var _hoisted_1$
|
|
5927
|
+
var _hoisted_1$16 = ["aria-label"];
|
|
5554
5928
|
//#endregion
|
|
5555
5929
|
//#region packages/client/src/components/layout/page-footer.vue
|
|
5556
5930
|
var page_footer_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -5606,7 +5980,7 @@ var page_footer_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5606
5980
|
d: "M6.22 4.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1 0\n 1.06l-3.25 3.25a.75.75 0 0 1-1.06-1.06L8.94 8 6.22 5.28a.75.75 0 0 1 0-1.06Z"
|
|
5607
5981
|
})], -1))]),
|
|
5608
5982
|
_: 1
|
|
5609
|
-
}, 8, ["to", "aria-label"])) : (0, vue.createCommentVNode)("v-if", true)], 8, _hoisted_1$
|
|
5983
|
+
}, 8, ["to", "aria-label"])) : (0, vue.createCommentVNode)("v-if", true)], 8, _hoisted_1$16)) : (0, vue.createCommentVNode)("v-if", true);
|
|
5610
5984
|
};
|
|
5611
5985
|
}
|
|
5612
5986
|
});
|
|
@@ -5734,8 +6108,8 @@ var resolveOutlineScrollerHeight = (maxHeight, listSize) => {
|
|
|
5734
6108
|
};
|
|
5735
6109
|
//#endregion
|
|
5736
6110
|
//#region packages/client/src/components/layout/page-outline.vue?vue&type=script&setup=true&lang.ts
|
|
5737
|
-
var _hoisted_1$
|
|
5738
|
-
var _hoisted_2$
|
|
6111
|
+
var _hoisted_1$15 = ["aria-label"];
|
|
6112
|
+
var _hoisted_2$13 = { class: "docs-page-outline__title" };
|
|
5739
6113
|
var SCROLL_THRESHOLD = 80;
|
|
5740
6114
|
//#endregion
|
|
5741
6115
|
//#region packages/client/src/components/layout/page-outline.vue
|
|
@@ -5975,7 +6349,7 @@ var page_outline_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5975
6349
|
class: "docs-page-outline",
|
|
5976
6350
|
style: (0, vue.normalizeStyle)(rootStyle.value),
|
|
5977
6351
|
"aria-label": (0, vue.unref)(t)("client.page.outline")
|
|
5978
|
-
}, [(0, vue.createElementVNode)("p", _hoisted_2$
|
|
6352
|
+
}, [(0, vue.createElementVNode)("p", _hoisted_2$13, (0, vue.toDisplayString)((0, vue.unref)(t)("client.page.outline")), 1), (0, vue.createVNode)((0, vue.unref)(_deot_vc.Scroller), {
|
|
5979
6353
|
ref_key: "outlineScroller",
|
|
5980
6354
|
ref: outlineScroller,
|
|
5981
6355
|
class: "docs-page-outline__scroller",
|
|
@@ -5991,7 +6365,7 @@ var page_outline_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5991
6365
|
onSelect: handleSelect
|
|
5992
6366
|
}, null, 8, ["items", "active-id"])]),
|
|
5993
6367
|
_: 1
|
|
5994
|
-
}, 8, ["show-bar", "height"])], 12, _hoisted_1$
|
|
6368
|
+
}, 8, ["show-bar", "height"])], 12, _hoisted_1$15)) : (0, vue.createCommentVNode)("v-if", true);
|
|
5995
6369
|
};
|
|
5996
6370
|
}
|
|
5997
6371
|
});
|
|
@@ -6014,32 +6388,37 @@ var omitRouteQuery = (query, keys) => {
|
|
|
6014
6388
|
};
|
|
6015
6389
|
//#endregion
|
|
6016
6390
|
//#region packages/client/src/components/layout/resource-slot.vue?vue&type=script&setup=true&lang.ts
|
|
6017
|
-
var _hoisted_1$
|
|
6391
|
+
var _hoisted_1$14 = [
|
|
6018
6392
|
"data-slot",
|
|
6019
6393
|
"data-resource-type",
|
|
6020
6394
|
"data-content-width"
|
|
6021
6395
|
];
|
|
6022
|
-
var _hoisted_2$
|
|
6023
|
-
key:
|
|
6396
|
+
var _hoisted_2$12 = {
|
|
6397
|
+
key: 0,
|
|
6398
|
+
class: "docs-resource-slot__error",
|
|
6399
|
+
role: "alert"
|
|
6400
|
+
};
|
|
6401
|
+
var _hoisted_3$11 = {
|
|
6402
|
+
key: 5,
|
|
6024
6403
|
class: "docs-resource-slot__page"
|
|
6025
6404
|
};
|
|
6026
|
-
var
|
|
6405
|
+
var _hoisted_4$6 = {
|
|
6027
6406
|
key: 0,
|
|
6028
6407
|
class: "docs-resource-slot__error"
|
|
6029
6408
|
};
|
|
6030
|
-
var
|
|
6031
|
-
key:
|
|
6409
|
+
var _hoisted_5$5 = {
|
|
6410
|
+
key: 6,
|
|
6032
6411
|
class: "docs-resource-slot__error"
|
|
6033
6412
|
};
|
|
6034
|
-
var
|
|
6035
|
-
key:
|
|
6413
|
+
var _hoisted_6$3 = {
|
|
6414
|
+
key: 7,
|
|
6036
6415
|
class: "docs-resource-slot__loading"
|
|
6037
6416
|
};
|
|
6038
|
-
var
|
|
6039
|
-
key:
|
|
6417
|
+
var _hoisted_7$3 = {
|
|
6418
|
+
key: 8,
|
|
6040
6419
|
class: "docs-resource-slot__body"
|
|
6041
6420
|
};
|
|
6042
|
-
var
|
|
6421
|
+
var _hoisted_8$3 = ["data-builtin"];
|
|
6043
6422
|
//#endregion
|
|
6044
6423
|
//#region packages/client/src/components/layout/resource-slot.vue
|
|
6045
6424
|
var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -6060,6 +6439,26 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6060
6439
|
const contentWidth = ContentWidth.current;
|
|
6061
6440
|
const content = (0, vue.ref)("");
|
|
6062
6441
|
const error = (0, vue.ref)("");
|
|
6442
|
+
const styleError = (0, vue.ref)("");
|
|
6443
|
+
let releaseStyles;
|
|
6444
|
+
const preview = (0, vue.computed)(() => {
|
|
6445
|
+
if (!route.meta.docsPreview || props.name !== "content") return {
|
|
6446
|
+
config: void 0,
|
|
6447
|
+
error: ""
|
|
6448
|
+
};
|
|
6449
|
+
try {
|
|
6450
|
+
return {
|
|
6451
|
+
config: readPreviewConfig(route.query),
|
|
6452
|
+
error: ""
|
|
6453
|
+
};
|
|
6454
|
+
} catch (reason) {
|
|
6455
|
+
return {
|
|
6456
|
+
config: void 0,
|
|
6457
|
+
error: t("client.common.previewConfigFailed", { message: reason instanceof Error ? reason.message : String(reason) })
|
|
6458
|
+
};
|
|
6459
|
+
}
|
|
6460
|
+
});
|
|
6461
|
+
(0, vue.provide)(previewConfigKey, (0, vue.computed)(() => preview.value.config));
|
|
6063
6462
|
const loading = (0, vue.ref)(false);
|
|
6064
6463
|
const source = (0, vue.ref)("");
|
|
6065
6464
|
const resourceType = (0, vue.ref)("");
|
|
@@ -6304,6 +6703,15 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6304
6703
|
if (current === generation && stableSlotKey) activeStableSlotKey = stableSlotKey;
|
|
6305
6704
|
};
|
|
6306
6705
|
try {
|
|
6706
|
+
let directType;
|
|
6707
|
+
if (route.meta.docsPreview && props.name === "content") {
|
|
6708
|
+
if (preview.value.error) throw new TypeError(preview.value.error);
|
|
6709
|
+
const url = preview.value.config?.url;
|
|
6710
|
+
if (typeof url !== "string" || !url.trim()) throw new TypeError(t("client.common.previewUrlRequired"));
|
|
6711
|
+
slot = url.trim();
|
|
6712
|
+
directType = resolvePreviewType(slot, location.href);
|
|
6713
|
+
if (!directType) throw new TypeError(t("client.common.previewUrlUnsupported"));
|
|
6714
|
+
}
|
|
6307
6715
|
if (slot === null) {
|
|
6308
6716
|
markStableSlot();
|
|
6309
6717
|
return;
|
|
@@ -6334,7 +6742,7 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6334
6742
|
}) || `./${getRouteValue(route, config)}.md`;
|
|
6335
6743
|
if (current !== generation || typeof slot !== "string") return;
|
|
6336
6744
|
source.value = slot;
|
|
6337
|
-
resourceType.value = classifyResourceSource(slot);
|
|
6745
|
+
resourceType.value = directType || classifyResourceSource(slot);
|
|
6338
6746
|
if (resourceType.value === "sfc") {
|
|
6339
6747
|
markStableSlot();
|
|
6340
6748
|
return;
|
|
@@ -6370,9 +6778,32 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6370
6778
|
}
|
|
6371
6779
|
}
|
|
6372
6780
|
};
|
|
6781
|
+
(0, vue.watch)(() => JSON.stringify([
|
|
6782
|
+
route.meta.docsPreview,
|
|
6783
|
+
route.path,
|
|
6784
|
+
preview.value.config?.url,
|
|
6785
|
+
preview.value.config?.styles,
|
|
6786
|
+
props.name
|
|
6787
|
+
]), () => {
|
|
6788
|
+
releaseStyles?.();
|
|
6789
|
+
releaseStyles = void 0;
|
|
6790
|
+
styleError.value = "";
|
|
6791
|
+
if (!preview.value.config) return;
|
|
6792
|
+
try {
|
|
6793
|
+
releaseStyles = acquirePreviewStyles(parsePreviewStyleUrls(preview.value.config.styles, location.href), (url) => {
|
|
6794
|
+
styleError.value = t("client.common.previewStyleFailed", { url });
|
|
6795
|
+
});
|
|
6796
|
+
} catch (reason) {
|
|
6797
|
+
styleError.value = reason instanceof Error ? reason.message : String(reason);
|
|
6798
|
+
}
|
|
6799
|
+
}, { immediate: true });
|
|
6373
6800
|
(0, vue.watch)([
|
|
6374
6801
|
() => route.path,
|
|
6375
|
-
() => JSON.stringify(
|
|
6802
|
+
() => route.meta.docsPreview ? JSON.stringify([
|
|
6803
|
+
preview.value.error,
|
|
6804
|
+
preview.value.config?.url,
|
|
6805
|
+
lang.value
|
|
6806
|
+
]) : JSON.stringify(omitRouteQuery(route.query, ["tab"])),
|
|
6376
6807
|
() => props.name
|
|
6377
6808
|
], load, { immediate: true });
|
|
6378
6809
|
(0, vue.watch)(() => route.hash, (hash) => {
|
|
@@ -6395,6 +6826,7 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6395
6826
|
});
|
|
6396
6827
|
(0, vue.onBeforeUnmount)(() => {
|
|
6397
6828
|
generation += 1;
|
|
6829
|
+
releaseStyles?.();
|
|
6398
6830
|
clear();
|
|
6399
6831
|
if (props.name === "sidebar") setSidebarItems(null);
|
|
6400
6832
|
});
|
|
@@ -6407,14 +6839,14 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6407
6839
|
"data-resource-type": resourceType.value || void 0,
|
|
6408
6840
|
"data-content-width": __props.name === "content" && resourceType.value === "markdown" ? (0, vue.unref)(contentWidth) : void 0,
|
|
6409
6841
|
style: (0, vue.normalizeStyle)({ minHeight: transitionMinHeight.value })
|
|
6410
|
-
}, [builtin.value === "header" ? ((0, vue.openBlock)(), (0, vue.createBlock)(default_header_default, { key:
|
|
6411
|
-
key:
|
|
6842
|
+
}, [styleError.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$12, (0, vue.toDisplayString)(styleError.value), 1)) : (0, vue.createCommentVNode)("v-if", true), builtin.value === "header" ? ((0, vue.openBlock)(), (0, vue.createBlock)(default_header_default, { key: 1 })) : builtin.value === "footer" ? ((0, vue.openBlock)(), (0, vue.createBlock)(default_footer_default, { key: 2 })) : sidebarItems.value ? ((0, vue.openBlock)(), (0, vue.createBlock)(default_sidebar_default, {
|
|
6843
|
+
key: 3,
|
|
6412
6844
|
items: sidebarItems.value
|
|
6413
6845
|
}, null, 8, ["items"])) : resourceType.value === "sfc" && source.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(remote_sfc_default), {
|
|
6414
|
-
key:
|
|
6846
|
+
key: 4,
|
|
6415
6847
|
source: source.value,
|
|
6416
6848
|
lang: lang.value
|
|
6417
|
-
}, null, 8, ["source", "lang"])) : pageDocument.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div",
|
|
6849
|
+
}, null, 8, ["source", "lang"])) : pageDocument.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_3$11, [error.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_4$6, (0, vue.toDisplayString)(error.value), 1)) : (0, vue.createCommentVNode)("v-if", true), (0, vue.createVNode)((0, vue.unref)(_deot_docs_renderer.Renderer), {
|
|
6418
6850
|
document: pageDocument.value,
|
|
6419
6851
|
modules: (0, vue.unref)(rendererModules),
|
|
6420
6852
|
context: rendererContext.value,
|
|
@@ -6424,7 +6856,7 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6424
6856
|
"modules",
|
|
6425
6857
|
"context",
|
|
6426
6858
|
"fit"
|
|
6427
|
-
])])) : error.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div",
|
|
6859
|
+
])])) : error.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_5$5, (0, vue.toDisplayString)(error.value), 1)) : loading.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_6$3, (0, vue.toDisplayString)((0, vue.unref)(t)("client.common.loading")), 1)) : resourceType.value === "markdown" && __props.name === "content" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_7$3, [(0, vue.createElementVNode)("div", {
|
|
6428
6860
|
ref: bindArticle,
|
|
6429
6861
|
class: "docs-resource-slot__article"
|
|
6430
6862
|
}, [
|
|
@@ -6443,7 +6875,7 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6443
6875
|
]),
|
|
6444
6876
|
(0, vue.createVNode)(page_footer_default)
|
|
6445
6877
|
], 512), (0, vue.createVNode)(page_outline_default, { target: article.value }, null, 8, ["target"])])) : resourceType.value === "markdown" ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_deot_docs_markdown.Markdown), {
|
|
6446
|
-
key:
|
|
6878
|
+
key: 9,
|
|
6447
6879
|
value: content.value,
|
|
6448
6880
|
theme: markdownTheme.value,
|
|
6449
6881
|
indicator: markdownIndicator.value,
|
|
@@ -6455,10 +6887,10 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6455
6887
|
"indicator",
|
|
6456
6888
|
"playground"
|
|
6457
6889
|
])) : builtin.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
|
|
6458
|
-
key:
|
|
6890
|
+
key: 10,
|
|
6459
6891
|
class: "docs-resource-slot__builtin",
|
|
6460
6892
|
"data-builtin": builtin.value
|
|
6461
|
-
}, null, 8,
|
|
6893
|
+
}, null, 8, _hoisted_8$3)) : (0, vue.createCommentVNode)("v-if", true)], 12, _hoisted_1$14);
|
|
6462
6894
|
};
|
|
6463
6895
|
}
|
|
6464
6896
|
});
|
|
@@ -7577,11 +8009,11 @@ var listRendererEditorDemos = (lang) => RENDERER_EDITOR_DEMOS.map((name) => ({
|
|
|
7577
8009
|
var createRendererEditorDemoDocument = (demo, lang) => factories[demo](lang);
|
|
7578
8010
|
//#endregion
|
|
7579
8011
|
//#region packages/client/src/app.vue?vue&type=script&setup=true&lang.ts
|
|
7580
|
-
var _hoisted_1$
|
|
7581
|
-
var _hoisted_2$
|
|
7582
|
-
var _hoisted_3$
|
|
7583
|
-
var _hoisted_4$
|
|
7584
|
-
var _hoisted_5$
|
|
8012
|
+
var _hoisted_1$13 = { class: "docs-app__header" };
|
|
8013
|
+
var _hoisted_2$11 = ["aria-label", "aria-expanded"];
|
|
8014
|
+
var _hoisted_3$10 = ["aria-label"];
|
|
8015
|
+
var _hoisted_4$5 = { class: "docs-layout__main" };
|
|
8016
|
+
var _hoisted_5$4 = { class: "docs-layout__footer" };
|
|
7585
8017
|
//#endregion
|
|
7586
8018
|
//#region packages/client/src/app.vue
|
|
7587
8019
|
var app_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -7589,6 +8021,7 @@ var app_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
7589
8021
|
setup(__props) {
|
|
7590
8022
|
const route = (0, vue_router.useRoute)();
|
|
7591
8023
|
const router = (0, vue_router.useRouter)();
|
|
8024
|
+
const routeLayout = (0, vue.computed)(() => route.meta.docsRoute?.layout ?? "default");
|
|
7592
8025
|
const { t } = (0, _deot_docs_locale.useLocale)();
|
|
7593
8026
|
const mainScroller = (0, vue.ref)();
|
|
7594
8027
|
const mobileSidebarOpen = (0, vue.ref)(false);
|
|
@@ -7626,21 +8059,25 @@ var app_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
7626
8059
|
mainScroller.value?.setScrollTop(0);
|
|
7627
8060
|
});
|
|
7628
8061
|
return (_ctx, _cache) => {
|
|
7629
|
-
return (0, vue.openBlock)(), (0, vue.
|
|
8062
|
+
return routeLayout.value === "none" ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(vue_router.RouterView), {
|
|
8063
|
+
key: 0,
|
|
8064
|
+
class: "docs-page--none"
|
|
8065
|
+
})) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
|
|
8066
|
+
key: 1,
|
|
7630
8067
|
class: (0, vue.normalizeClass)(["docs-app", {
|
|
7631
8068
|
"docs-app--database": isUtilityShell.value,
|
|
7632
8069
|
"docs-app--editor": isEditorShell.value,
|
|
7633
8070
|
"docs-app--mobile-sidebar-open": mobileSidebarOpen.value
|
|
7634
8071
|
}]),
|
|
7635
8072
|
onKeydown: (0, vue.withKeys)(closeMobileSidebar, ["esc"])
|
|
7636
|
-
}, [(0, vue.createElementVNode)("div", _hoisted_1$
|
|
8073
|
+
}, [(0, vue.createElementVNode)("div", _hoisted_1$13, [(0, vue.createElementVNode)("button", {
|
|
7637
8074
|
type: "button",
|
|
7638
8075
|
class: (0, vue.normalizeClass)(["docs-app__sidebar-toggle", { "is-open": mobileSidebarOpen.value }]),
|
|
7639
8076
|
"aria-label": (0, vue.unref)(t)(mobileSidebarOpen.value ? "client.header.closeSidebar" : "client.header.openSidebar"),
|
|
7640
8077
|
"aria-expanded": mobileSidebarOpen.value,
|
|
7641
8078
|
"aria-controls": "docs-mobile-sidebar",
|
|
7642
8079
|
onClick: toggleMobileSidebar
|
|
7643
|
-
}, [(0, vue.createVNode)((0, vue.unref)(icon_default), { name: mobileSidebarOpen.value ? "close" : "menu" }, null, 8, ["name"])], 10, _hoisted_2$
|
|
8080
|
+
}, [(0, vue.createVNode)((0, vue.unref)(icon_default), { name: mobileSidebarOpen.value ? "close" : "menu" }, null, 8, ["name"])], 10, _hoisted_2$11), (0, vue.createVNode)((0, vue.unref)(resource_slot_default), { name: "header" })]), (0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)(["docs-layout", {
|
|
7644
8081
|
"docs-layout--database": isUtilityShell.value,
|
|
7645
8082
|
"docs-layout--editor": isEditorShell.value,
|
|
7646
8083
|
"docs-layout--home": (0, vue.unref)(route).meta?.docsHome
|
|
@@ -7665,7 +8102,7 @@ var app_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
7665
8102
|
class: "docs-layout__sidebar-mask",
|
|
7666
8103
|
"aria-label": (0, vue.unref)(t)("client.header.closeSidebar"),
|
|
7667
8104
|
onClick: closeMobileSidebar
|
|
7668
|
-
}, null, 8, _hoisted_3$
|
|
8105
|
+
}, null, 8, _hoisted_3$10),
|
|
7669
8106
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Scroller), {
|
|
7670
8107
|
ref_key: "mainScroller",
|
|
7671
8108
|
ref: mainScroller,
|
|
@@ -7682,16 +8119,16 @@ var app_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
7682
8119
|
class: "docs-layout__rail docs-layout__rail--start",
|
|
7683
8120
|
"aria-hidden": "true"
|
|
7684
8121
|
}, null, -1)),
|
|
7685
|
-
(0, vue.createElementVNode)("main", _hoisted_4$
|
|
8122
|
+
(0, vue.createElementVNode)("main", _hoisted_4$5, [(0, vue.createVNode)((0, vue.unref)(vue_router.RouterView)), (0, vue.createVNode)((0, vue.unref)(vue_router.RouterView), { name: "extra" })]),
|
|
7686
8123
|
_cache[1] || (_cache[1] = (0, vue.createElementVNode)("div", {
|
|
7687
8124
|
class: "docs-layout__rail docs-layout__rail--end",
|
|
7688
8125
|
"aria-hidden": "true"
|
|
7689
8126
|
}, null, -1)),
|
|
7690
|
-
(0, vue.createElementVNode)("div", _hoisted_5$
|
|
8127
|
+
(0, vue.createElementVNode)("div", _hoisted_5$4, [(0, vue.createVNode)((0, vue.unref)(resource_slot_default), { name: "footer" })])
|
|
7691
8128
|
]),
|
|
7692
8129
|
_: 1
|
|
7693
8130
|
}, 512)
|
|
7694
|
-
], 2)], 34);
|
|
8131
|
+
], 2)], 34));
|
|
7695
8132
|
};
|
|
7696
8133
|
}
|
|
7697
8134
|
});
|
|
@@ -7815,16 +8252,16 @@ var prune = async () => {
|
|
|
7815
8252
|
};
|
|
7816
8253
|
//#endregion
|
|
7817
8254
|
//#region packages/client/src/components/paging/filter/filter-item.vue?vue&type=script&setup=true&lang.ts
|
|
7818
|
-
var _hoisted_1$
|
|
7819
|
-
var _hoisted_2$
|
|
8255
|
+
var _hoisted_1$12 = { class: "docs-paging-filter-item" };
|
|
8256
|
+
var _hoisted_2$10 = {
|
|
7820
8257
|
key: 0,
|
|
7821
8258
|
class: "docs-paging-filter-item__label"
|
|
7822
8259
|
};
|
|
7823
|
-
var _hoisted_3$
|
|
8260
|
+
var _hoisted_3$9 = {
|
|
7824
8261
|
key: 1,
|
|
7825
8262
|
class: "docs-paging-filter-item__range"
|
|
7826
8263
|
};
|
|
7827
|
-
var _hoisted_4$
|
|
8264
|
+
var _hoisted_4$4 = { class: "docs-paging-filter-item__separator" };
|
|
7828
8265
|
//#endregion
|
|
7829
8266
|
//#region packages/client/src/components/paging/filter/filter-item.vue
|
|
7830
8267
|
var filter_item_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -7873,7 +8310,7 @@ var filter_item_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
7873
8310
|
emit("search");
|
|
7874
8311
|
};
|
|
7875
8312
|
return (_ctx, _cache) => {
|
|
7876
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$
|
|
8313
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$12, [__props.module.label ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_2$10, (0, vue.toDisplayString)(__props.module.label), 1)) : (0, vue.createCommentVNode)("v-if", true), __props.module.type === "range" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_3$9, [
|
|
7877
8314
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.InputNumber), (0, vue.mergeProps)({
|
|
7878
8315
|
"model-value": getNumberValue(__props.startValue),
|
|
7879
8316
|
"data-filter": __props.module.field[0],
|
|
@@ -7886,7 +8323,7 @@ var filter_item_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
7886
8323
|
"data-filter",
|
|
7887
8324
|
"placeholder"
|
|
7888
8325
|
]),
|
|
7889
|
-
(0, vue.createElementVNode)("span", _hoisted_4$
|
|
8326
|
+
(0, vue.createElementVNode)("span", _hoisted_4$4, (0, vue.toDisplayString)(__props.module.separator || "-"), 1),
|
|
7890
8327
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.InputNumber), (0, vue.mergeProps)({
|
|
7891
8328
|
"model-value": getNumberValue(__props.endValue),
|
|
7892
8329
|
"data-filter": __props.module.field[1],
|
|
@@ -7949,8 +8386,8 @@ var filter_item_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
7949
8386
|
});
|
|
7950
8387
|
//#endregion
|
|
7951
8388
|
//#region packages/client/src/components/paging/filter/index.vue?vue&type=script&setup=true&lang.ts
|
|
7952
|
-
var _hoisted_1$
|
|
7953
|
-
var _hoisted_2$
|
|
8389
|
+
var _hoisted_1$11 = { class: "docs-paging-filter" };
|
|
8390
|
+
var _hoisted_2$9 = { class: "docs-paging-filter__operate" };
|
|
7954
8391
|
//#endregion
|
|
7955
8392
|
//#region packages/client/src/components/paging/filter/index.vue
|
|
7956
8393
|
var filter_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -8004,7 +8441,7 @@ var filter_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8004
8441
|
emit("search", value);
|
|
8005
8442
|
};
|
|
8006
8443
|
return (_ctx, _cache) => {
|
|
8007
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$
|
|
8444
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$11, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.modules, (module) => {
|
|
8008
8445
|
return (0, vue.openBlock)(), (0, vue.createBlock)(filter_item_default, {
|
|
8009
8446
|
key: getModuleKey(module),
|
|
8010
8447
|
module,
|
|
@@ -8024,7 +8461,7 @@ var filter_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8024
8461
|
"onUpdate:startValue",
|
|
8025
8462
|
"onUpdate:endValue"
|
|
8026
8463
|
]);
|
|
8027
|
-
}), 128)), (0, vue.createElementVNode)("div", _hoisted_2$
|
|
8464
|
+
}), 128)), (0, vue.createElementVNode)("div", _hoisted_2$9, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
8028
8465
|
type: "primary",
|
|
8029
8466
|
onClick: handleSearch
|
|
8030
8467
|
}, {
|
|
@@ -8039,9 +8476,9 @@ var filter_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8039
8476
|
});
|
|
8040
8477
|
//#endregion
|
|
8041
8478
|
//#region packages/client/src/components/paging/paging.vue?vue&type=script&setup=true&lang.ts
|
|
8042
|
-
var _hoisted_1$
|
|
8043
|
-
var _hoisted_2$
|
|
8044
|
-
var _hoisted_3$
|
|
8479
|
+
var _hoisted_1$10 = { class: "docs-paging" };
|
|
8480
|
+
var _hoisted_2$8 = { class: "docs-paging__pagination" };
|
|
8481
|
+
var _hoisted_3$8 = { class: "docs-paging__pagination-control" };
|
|
8045
8482
|
//#endregion
|
|
8046
8483
|
//#region packages/client/src/components/paging/paging.vue
|
|
8047
8484
|
var paging_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -8187,7 +8624,7 @@ var paging_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8187
8624
|
refreshAffix
|
|
8188
8625
|
});
|
|
8189
8626
|
return (_ctx, _cache) => {
|
|
8190
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$
|
|
8627
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$10, [
|
|
8191
8628
|
__props.filterModules.length ? ((0, vue.openBlock)(), (0, vue.createBlock)(filter_default, {
|
|
8192
8629
|
key: 0,
|
|
8193
8630
|
modules: __props.filterModules,
|
|
@@ -8221,12 +8658,12 @@ var paging_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8221
8658
|
ref_key: "footerAffix",
|
|
8222
8659
|
ref: footerAffix
|
|
8223
8660
|
}, affixOptions.value[1]), {
|
|
8224
|
-
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("footer", _hoisted_2$
|
|
8661
|
+
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("footer", _hoisted_2$8, [(0, vue.renderSlot)(_ctx.$slots, "footer-extra", {
|
|
8225
8662
|
current: current.value,
|
|
8226
8663
|
pageSize: pageSize.value,
|
|
8227
8664
|
total: total.value,
|
|
8228
8665
|
loading: loading.value
|
|
8229
|
-
}), (0, vue.createElementVNode)("div", _hoisted_3$
|
|
8666
|
+
}), (0, vue.createElementVNode)("div", _hoisted_3$8, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Pagination), {
|
|
8230
8667
|
count: total.value,
|
|
8231
8668
|
current: current.value,
|
|
8232
8669
|
"page-size": pageSize.value,
|
|
@@ -8250,7 +8687,7 @@ var paging_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8250
8687
|
});
|
|
8251
8688
|
//#endregion
|
|
8252
8689
|
//#region packages/client/src/components/tag/tag.vue?vue&type=script&setup=true&lang.ts
|
|
8253
|
-
var _hoisted_1$
|
|
8690
|
+
var _hoisted_1$9 = ["data-type"];
|
|
8254
8691
|
//#endregion
|
|
8255
8692
|
//#region packages/client/src/components/tag/tag.vue
|
|
8256
8693
|
var tag_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -8295,24 +8732,24 @@ var tag_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8295
8732
|
backgroundColor: currentColor.value[0],
|
|
8296
8733
|
color: currentColor.value[1]
|
|
8297
8734
|
})
|
|
8298
|
-
}, [(0, vue.createElementVNode)("span", { class: (0, vue.normalizeClass)(["docs-tag__label", { "docs-tag__label--ellipsis": __props.ellipsis }]) }, [(0, vue.renderSlot)(_ctx.$slots, "default", {}, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)(currentLabel.value), 1)])], 2)], 12, _hoisted_1$
|
|
8735
|
+
}, [(0, vue.createElementVNode)("span", { class: (0, vue.normalizeClass)(["docs-tag__label", { "docs-tag__label--ellipsis": __props.ellipsis }]) }, [(0, vue.renderSlot)(_ctx.$slots, "default", {}, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)(currentLabel.value), 1)])], 2)], 12, _hoisted_1$9);
|
|
8299
8736
|
};
|
|
8300
8737
|
}
|
|
8301
8738
|
});
|
|
8302
8739
|
//#endregion
|
|
8303
8740
|
//#region packages/client/src/pages/database/index.vue?vue&type=script&setup=true&lang.ts
|
|
8304
|
-
var _hoisted_1$
|
|
8305
|
-
var _hoisted_2$
|
|
8306
|
-
var _hoisted_3$
|
|
8307
|
-
var _hoisted_4$
|
|
8308
|
-
var _hoisted_5$
|
|
8309
|
-
var _hoisted_6$
|
|
8310
|
-
var _hoisted_7$
|
|
8311
|
-
var _hoisted_8$
|
|
8312
|
-
var _hoisted_9$
|
|
8313
|
-
var _hoisted_10$
|
|
8314
|
-
var _hoisted_11$
|
|
8315
|
-
var _hoisted_12$
|
|
8741
|
+
var _hoisted_1$8 = { class: "docs-database" };
|
|
8742
|
+
var _hoisted_2$7 = { class: "docs-database__header" };
|
|
8743
|
+
var _hoisted_3$7 = ["title"];
|
|
8744
|
+
var _hoisted_4$3 = { class: "docs-database__toolbar" };
|
|
8745
|
+
var _hoisted_5$3 = { class: "docs-database__toolbar-primary" };
|
|
8746
|
+
var _hoisted_6$2 = { class: "docs-database__button-content" };
|
|
8747
|
+
var _hoisted_7$2 = { class: "docs-database__button-content" };
|
|
8748
|
+
var _hoisted_8$2 = { class: "docs-database__columns" };
|
|
8749
|
+
var _hoisted_9$2 = { class: "docs-database__toolbar-danger" };
|
|
8750
|
+
var _hoisted_10$2 = ["title"];
|
|
8751
|
+
var _hoisted_11$2 = ["title"];
|
|
8752
|
+
var _hoisted_12$2 = { class: "docs-database__actions" };
|
|
8316
8753
|
//#endregion
|
|
8317
8754
|
//#region packages/client/src/pages/database/index.vue
|
|
8318
8755
|
var database_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -8541,17 +8978,17 @@ var database_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8541
8978
|
statusRefreshTimer = void 0;
|
|
8542
8979
|
});
|
|
8543
8980
|
return (_ctx, _cache) => {
|
|
8544
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("section", _hoisted_1$
|
|
8981
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("section", _hoisted_1$8, [(0, vue.createElementVNode)("header", _hoisted_2$7, [(0, vue.createElementVNode)("div", null, [(0, vue.createElementVNode)("h1", null, (0, vue.toDisplayString)((0, vue.unref)(t)("client.database.title")), 1), (0, vue.createElementVNode)("p", null, [
|
|
8545
8982
|
(0, vue.createTextVNode)(" deot-docs / resources · " + (0, vue.toDisplayString)((0, vue.unref)(t)("client.database.records", { count: records.value.length })) + " · ", 1),
|
|
8546
|
-
(0, vue.createElementVNode)("span", { title: (0, vue.unref)(currentNamespace) }, (0, vue.toDisplayString)((0, vue.unref)(currentNamespace)), 9, _hoisted_3$
|
|
8983
|
+
(0, vue.createElementVNode)("span", { title: (0, vue.unref)(currentNamespace) }, (0, vue.toDisplayString)((0, vue.unref)(currentNamespace)), 9, _hoisted_3$7),
|
|
8547
8984
|
(0, vue.createTextVNode)(" " + (0, vue.toDisplayString)((0, vue.unref)(t)("client.database.cache", { size: namespaceCacheSize.value })), 1)
|
|
8548
|
-
])]), (0, vue.createElementVNode)("div", _hoisted_4$
|
|
8985
|
+
])]), (0, vue.createElementVNode)("div", _hoisted_4$3, [(0, vue.createElementVNode)("div", _hoisted_5$3, [
|
|
8549
8986
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
8550
8987
|
type: "primary",
|
|
8551
8988
|
disabled: loading.value,
|
|
8552
8989
|
onClick: handleBack
|
|
8553
8990
|
}, {
|
|
8554
|
-
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", _hoisted_6$
|
|
8991
|
+
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", _hoisted_6$2, [(0, vue.createVNode)((0, vue.unref)(icon_default), { name: "back" }), (0, vue.createTextVNode)(" " + (0, vue.toDisplayString)((0, vue.unref)(t)("client.database.back")), 1)])]),
|
|
8555
8992
|
_: 1
|
|
8556
8993
|
}, 8, ["disabled"]),
|
|
8557
8994
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
@@ -8559,14 +8996,14 @@ var database_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8559
8996
|
disabled: loading.value,
|
|
8560
8997
|
onClick: handleHome
|
|
8561
8998
|
}, {
|
|
8562
|
-
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", _hoisted_7$
|
|
8999
|
+
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", _hoisted_7$2, [(0, vue.createVNode)((0, vue.unref)(icon_default), { name: "home" }), (0, vue.createTextVNode)(" " + (0, vue.toDisplayString)((0, vue.unref)(t)("client.database.home")), 1)])]),
|
|
8563
9000
|
_: 1
|
|
8564
9001
|
}, 8, ["disabled"]),
|
|
8565
9002
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Popover), {
|
|
8566
9003
|
trigger: "click",
|
|
8567
9004
|
placement: "bottom-right"
|
|
8568
9005
|
}, {
|
|
8569
|
-
content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_8$
|
|
9006
|
+
content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_8$2, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(optionalColumns.value, (item) => {
|
|
8570
9007
|
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_deot_vc.Checkbox), {
|
|
8571
9008
|
key: item.value,
|
|
8572
9009
|
"model-value": isColumnVisible(item.value),
|
|
@@ -8611,7 +9048,7 @@ var database_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8611
9048
|
default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(t)("client.database.prefetch")), 1)]),
|
|
8612
9049
|
_: 1
|
|
8613
9050
|
}, 8, ["disabled"])
|
|
8614
|
-
]), (0, vue.createElementVNode)("div", _hoisted_9$
|
|
9051
|
+
]), (0, vue.createElementVNode)("div", _hoisted_9$2, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
8615
9052
|
type: "error",
|
|
8616
9053
|
disabled: loading.value || !records.value.length,
|
|
8617
9054
|
onClick: handleClearAll
|
|
@@ -8643,7 +9080,7 @@ var database_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8643
9080
|
default: (0, vue.withCtx)(({ row }) => [(0, vue.createElementVNode)("span", {
|
|
8644
9081
|
class: "docs-database__ellipsis",
|
|
8645
9082
|
title: row.url
|
|
8646
|
-
}, (0, vue.toDisplayString)(row.url), 9, _hoisted_10$
|
|
9083
|
+
}, (0, vue.toDisplayString)(row.url), 9, _hoisted_10$2)]),
|
|
8647
9084
|
_: 1
|
|
8648
9085
|
}, 8, ["label"]),
|
|
8649
9086
|
isColumnVisible("source") ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_deot_vc.TableColumn), {
|
|
@@ -8654,7 +9091,7 @@ var database_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8654
9091
|
default: (0, vue.withCtx)(({ row }) => [(0, vue.createElementVNode)("span", {
|
|
8655
9092
|
class: "docs-database__ellipsis",
|
|
8656
9093
|
title: row.identity.source
|
|
8657
|
-
}, (0, vue.toDisplayString)(row.identity.source), 9, _hoisted_11$
|
|
9094
|
+
}, (0, vue.toDisplayString)(row.identity.source), 9, _hoisted_11$2)]),
|
|
8658
9095
|
_: 1
|
|
8659
9096
|
}, 8, ["label"])) : (0, vue.createCommentVNode)("v-if", true),
|
|
8660
9097
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.TableColumn), {
|
|
@@ -8768,7 +9205,7 @@ var database_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8768
9205
|
align: "center",
|
|
8769
9206
|
fixed: "right"
|
|
8770
9207
|
}, {
|
|
8771
|
-
default: (0, vue.withCtx)(({ row }) => [(0, vue.createElementVNode)("div", _hoisted_12$
|
|
9208
|
+
default: (0, vue.withCtx)(({ row }) => [(0, vue.createElementVNode)("div", _hoisted_12$2, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
8772
9209
|
class: "docs-database__action",
|
|
8773
9210
|
type: "text",
|
|
8774
9211
|
disabled: loading.value || busyKeys.value.has(getKey(row)),
|
|
@@ -8795,14 +9232,14 @@ var database_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8795
9232
|
});
|
|
8796
9233
|
//#endregion
|
|
8797
9234
|
//#region packages/client/src/pages/renderer-editor-demos/components/card.vue?vue&type=script&setup=true&lang.ts
|
|
8798
|
-
var _hoisted_1$
|
|
8799
|
-
var _hoisted_2$
|
|
8800
|
-
var _hoisted_3$
|
|
8801
|
-
var _hoisted_4$
|
|
9235
|
+
var _hoisted_1$7 = { class: "docs-renderer-editor-demos-card__name" };
|
|
9236
|
+
var _hoisted_2$6 = { class: "docs-renderer-editor-demos-card__title" };
|
|
9237
|
+
var _hoisted_3$6 = { class: "docs-renderer-editor-demos-card__desc" };
|
|
9238
|
+
var _hoisted_4$2 = {
|
|
8802
9239
|
key: 0,
|
|
8803
9240
|
class: "docs-renderer-editor-demos-card__modules"
|
|
8804
9241
|
};
|
|
8805
|
-
var _hoisted_5$
|
|
9242
|
+
var _hoisted_5$2 = { class: "docs-renderer-editor-demos-card__action" };
|
|
8806
9243
|
//#endregion
|
|
8807
9244
|
//#region packages/client/src/pages/renderer-editor-demos/components/card.vue
|
|
8808
9245
|
var card_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -8826,22 +9263,22 @@ var card_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8826
9263
|
class: "docs-renderer-editor-demos-card__accent",
|
|
8827
9264
|
"aria-hidden": "true"
|
|
8828
9265
|
}, null, -1)),
|
|
8829
|
-
(0, vue.createElementVNode)("span", _hoisted_1$
|
|
8830
|
-
(0, vue.createElementVNode)("strong", _hoisted_2$
|
|
8831
|
-
(0, vue.createElementVNode)("p", _hoisted_3$
|
|
8832
|
-
__props.item.modules.length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("ul", _hoisted_4$
|
|
9266
|
+
(0, vue.createElementVNode)("span", _hoisted_1$7, (0, vue.toDisplayString)(__props.item.name), 1),
|
|
9267
|
+
(0, vue.createElementVNode)("strong", _hoisted_2$6, (0, vue.toDisplayString)(__props.item.title), 1),
|
|
9268
|
+
(0, vue.createElementVNode)("p", _hoisted_3$6, (0, vue.toDisplayString)(__props.item.description), 1),
|
|
9269
|
+
__props.item.modules.length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("ul", _hoisted_4$2, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.item.modules, (type) => {
|
|
8833
9270
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("li", { key: type }, (0, vue.toDisplayString)(type), 1);
|
|
8834
9271
|
}), 128))])) : (0, vue.createCommentVNode)("v-if", true),
|
|
8835
|
-
(0, vue.createElementVNode)("span", _hoisted_5$
|
|
9272
|
+
(0, vue.createElementVNode)("span", _hoisted_5$2, (0, vue.toDisplayString)(__props.action || (0, vue.unref)(t)("client.demos.open")), 1)
|
|
8836
9273
|
], 4);
|
|
8837
9274
|
};
|
|
8838
9275
|
}
|
|
8839
9276
|
});
|
|
8840
9277
|
//#endregion
|
|
8841
9278
|
//#region packages/client/src/pages/renderer-editor-demos/components/gallery.vue?vue&type=script&setup=true&lang.ts
|
|
8842
|
-
var _hoisted_1$
|
|
8843
|
-
var _hoisted_2$
|
|
8844
|
-
var _hoisted_3$
|
|
9279
|
+
var _hoisted_1$6 = { class: "docs-renderer-editor-demos-gallery" };
|
|
9280
|
+
var _hoisted_2$5 = { class: "docs-renderer-editor-demos-gallery__intro" };
|
|
9281
|
+
var _hoisted_3$5 = { class: "docs-renderer-editor-demos-gallery__grid" };
|
|
8845
9282
|
//#endregion
|
|
8846
9283
|
//#region packages/client/src/pages/renderer-editor-demos/components/gallery.vue
|
|
8847
9284
|
var gallery_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -8862,7 +9299,7 @@ var gallery_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8862
9299
|
if (isRendererEditorDemo(name)) emit("open", name);
|
|
8863
9300
|
};
|
|
8864
9301
|
return (_ctx, _cache) => {
|
|
8865
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("section", _hoisted_1$
|
|
9302
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("section", _hoisted_1$6, [(0, vue.createElementVNode)("header", _hoisted_2$5, [(0, vue.createElementVNode)("h1", null, (0, vue.toDisplayString)((0, vue.unref)(t)("client.demos.title")), 1), (0, vue.createElementVNode)("p", null, (0, vue.toDisplayString)((0, vue.unref)(t)("client.demos.subtitle")), 1)]), (0, vue.createElementVNode)("div", _hoisted_3$5, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(items.value, (item) => {
|
|
8866
9303
|
return (0, vue.openBlock)(), (0, vue.createBlock)(card_default, {
|
|
8867
9304
|
key: item.name,
|
|
8868
9305
|
item,
|
|
@@ -8878,7 +9315,7 @@ var gallery_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8878
9315
|
});
|
|
8879
9316
|
//#endregion
|
|
8880
9317
|
//#region packages/client/src/pages/renderer-editor-demos/components/stage.vue?vue&type=script&setup=true&lang.ts
|
|
8881
|
-
var _hoisted_1$
|
|
9318
|
+
var _hoisted_1$5 = { class: "docs-renderer-editor-demos-stage" };
|
|
8882
9319
|
//#endregion
|
|
8883
9320
|
//#region packages/client/src/pages/renderer-editor-demos/components/stage.vue
|
|
8884
9321
|
var stage_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -8941,7 +9378,7 @@ var stage_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8941
9378
|
document.value = createRendererEditorDemoDocument(props.name, lang.value);
|
|
8942
9379
|
}, { immediate: true });
|
|
8943
9380
|
return (_ctx, _cache) => {
|
|
8944
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$
|
|
9381
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$5, [document.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_deot_docs_renderer.Combo), {
|
|
8945
9382
|
key: 0,
|
|
8946
9383
|
modelValue: document.value,
|
|
8947
9384
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => document.value = $event),
|
|
@@ -9001,12 +9438,12 @@ var renderer_editor_demos_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9001
9438
|
});
|
|
9002
9439
|
//#endregion
|
|
9003
9440
|
//#region packages/client/src/pages/renderer-editor/index.vue?vue&type=script&setup=true&lang.ts
|
|
9004
|
-
var _hoisted_1$
|
|
9005
|
-
var _hoisted_2$
|
|
9441
|
+
var _hoisted_1$4 = { class: "docs-renderer-editor-page" };
|
|
9442
|
+
var _hoisted_2$4 = {
|
|
9006
9443
|
key: 0,
|
|
9007
9444
|
class: "docs-renderer-editor-page__error"
|
|
9008
9445
|
};
|
|
9009
|
-
var _hoisted_3$
|
|
9446
|
+
var _hoisted_3$4 = {
|
|
9010
9447
|
key: 1,
|
|
9011
9448
|
class: "docs-renderer-editor-page__loading"
|
|
9012
9449
|
};
|
|
@@ -9209,7 +9646,7 @@ var renderer_editor_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9209
9646
|
controller?.abort();
|
|
9210
9647
|
});
|
|
9211
9648
|
return (_ctx, _cache) => {
|
|
9212
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$
|
|
9649
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$4, [error.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$4, (0, vue.toDisplayString)(error.value), 1)) : loading.value || !document.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_3$4, (0, vue.toDisplayString)((0, vue.unref)(t)("client.common.loading")), 1)) : ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_deot_docs_renderer.Combo), {
|
|
9213
9650
|
key: 2,
|
|
9214
9651
|
modelValue: document.value,
|
|
9215
9652
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => document.value = $event),
|
|
@@ -9229,12 +9666,12 @@ var renderer_editor_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9229
9666
|
});
|
|
9230
9667
|
//#endregion
|
|
9231
9668
|
//#region packages/client/src/pages/home/index.vue?vue&type=script&setup=true&lang.ts
|
|
9232
|
-
var _hoisted_1$
|
|
9233
|
-
var _hoisted_2$
|
|
9669
|
+
var _hoisted_1$3 = { class: "docs-home" };
|
|
9670
|
+
var _hoisted_2$3 = {
|
|
9234
9671
|
key: 0,
|
|
9235
9672
|
class: "docs-home__error"
|
|
9236
9673
|
};
|
|
9237
|
-
var _hoisted_3$
|
|
9674
|
+
var _hoisted_3$3 = {
|
|
9238
9675
|
key: 2,
|
|
9239
9676
|
class: "docs-home__loading"
|
|
9240
9677
|
};
|
|
@@ -9330,7 +9767,7 @@ var home_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9330
9767
|
unsubscribe?.();
|
|
9331
9768
|
});
|
|
9332
9769
|
return (_ctx, _cache) => {
|
|
9333
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("section", _hoisted_1$
|
|
9770
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("section", _hoisted_1$3, [error.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$3, (0, vue.toDisplayString)(error.value), 1)) : (0, vue.createCommentVNode)("v-if", true), document.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_deot_docs_renderer.Renderer), {
|
|
9334
9771
|
key: 1,
|
|
9335
9772
|
document: document.value,
|
|
9336
9773
|
modules: (0, vue.unref)(rendererModules),
|
|
@@ -9341,7 +9778,7 @@ var home_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9341
9778
|
"modules",
|
|
9342
9779
|
"context",
|
|
9343
9780
|
"fit"
|
|
9344
|
-
])) : loading.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_3$
|
|
9781
|
+
])) : loading.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_3$3, (0, vue.toDisplayString)((0, vue.unref)(t)("client.common.loading")), 1)) : (0, vue.createCommentVNode)("v-if", true)]);
|
|
9345
9782
|
};
|
|
9346
9783
|
}
|
|
9347
9784
|
});
|
|
@@ -9357,9 +9794,9 @@ var retry = async (row) => Resource.playground.retry(getNamespace(), row);
|
|
|
9357
9794
|
var subscribeStatus = (listener) => Resource.playground.subscribeStatus(listener);
|
|
9358
9795
|
//#endregion
|
|
9359
9796
|
//#region packages/client/src/pages/playground-resource/components/source-editor.vue?vue&type=script&setup=true&lang.ts
|
|
9360
|
-
var _hoisted_1$
|
|
9361
|
-
var _hoisted_2$
|
|
9362
|
-
var _hoisted_3$
|
|
9797
|
+
var _hoisted_1$2 = { class: "docs-playground-resource-source-editor__meta" };
|
|
9798
|
+
var _hoisted_2$2 = ["title"];
|
|
9799
|
+
var _hoisted_3$2 = { class: "docs-playground-resource-source-editor__label" };
|
|
9363
9800
|
//#endregion
|
|
9364
9801
|
//#region packages/client/src/pages/playground-resource/components/source-editor.vue
|
|
9365
9802
|
var source_editor_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -9401,15 +9838,15 @@ var source_editor_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9401
9838
|
onClose: handleClose
|
|
9402
9839
|
}, {
|
|
9403
9840
|
default: (0, vue.withCtx)(() => [
|
|
9404
|
-
(0, vue.createElementVNode)("div", _hoisted_1$
|
|
9841
|
+
(0, vue.createElementVNode)("div", _hoisted_1$2, [
|
|
9405
9842
|
(0, vue.createElementVNode)("p", null, [(0, vue.createElementVNode)("span", null, (0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.kind")), 1), (0, vue.createElementVNode)("span", { class: (0, vue.normalizeClass)(["docs-playground-resource__kind", { "is-style": __props.row.kind === "style" }]) }, (0, vue.toDisplayString)(kindLabel.value), 3)]),
|
|
9406
9843
|
(0, vue.createElementVNode)("p", null, [(0, vue.createElementVNode)("span", null, (0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.alias")), 1), (0, vue.createElementVNode)("code", null, (0, vue.toDisplayString)(__props.row.alias), 1)]),
|
|
9407
9844
|
(0, vue.createElementVNode)("p", null, [(0, vue.createElementVNode)("span", null, (0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.defaultUrl")), 1), (0, vue.createElementVNode)("code", {
|
|
9408
9845
|
class: "docs-playground-resource__ellipsis",
|
|
9409
9846
|
title: __props.row.defaultUrl || "-"
|
|
9410
|
-
}, (0, vue.toDisplayString)(__props.row.defaultUrl || "-"), 9, _hoisted_2$
|
|
9847
|
+
}, (0, vue.toDisplayString)(__props.row.defaultUrl || "-"), 9, _hoisted_2$2)])
|
|
9411
9848
|
]),
|
|
9412
|
-
(0, vue.createElementVNode)("label", _hoisted_3$
|
|
9849
|
+
(0, vue.createElementVNode)("label", _hoisted_3$2, (0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.currentUrl")), 1),
|
|
9413
9850
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Textarea), {
|
|
9414
9851
|
modelValue: draft.value,
|
|
9415
9852
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => draft.value = $event),
|
|
@@ -9434,19 +9871,19 @@ var SourceEditor = new _deot_vc.Portal(source_editor_default, {
|
|
|
9434
9871
|
});
|
|
9435
9872
|
//#endregion
|
|
9436
9873
|
//#region packages/client/src/pages/playground-resource/index.vue?vue&type=script&setup=true&lang.ts
|
|
9437
|
-
var _hoisted_1 = { class: "docs-playground-resource" };
|
|
9438
|
-
var _hoisted_2 = { class: "docs-playground-resource__header" };
|
|
9439
|
-
var _hoisted_3 = ["title"];
|
|
9440
|
-
var _hoisted_4 = { class: "docs-playground-resource__hint" };
|
|
9441
|
-
var _hoisted_5 = { class: "docs-playground-resource__toolbar" };
|
|
9442
|
-
var _hoisted_6 = { class: "docs-playground-resource__toolbar-primary" };
|
|
9443
|
-
var _hoisted_7 = { class: "docs-playground-resource__button-content" };
|
|
9444
|
-
var _hoisted_8 = { class: "docs-playground-resource__button-content" };
|
|
9445
|
-
var _hoisted_9 = { class: "docs-playground-resource__columns" };
|
|
9446
|
-
var _hoisted_10 = { class: "docs-playground-resource__toolbar-danger" };
|
|
9447
|
-
var _hoisted_11 = ["title"];
|
|
9448
|
-
var _hoisted_12 = ["title"];
|
|
9449
|
-
var _hoisted_13 = { class: "docs-playground-resource__actions" };
|
|
9874
|
+
var _hoisted_1$1 = { class: "docs-playground-resource" };
|
|
9875
|
+
var _hoisted_2$1 = { class: "docs-playground-resource__header" };
|
|
9876
|
+
var _hoisted_3$1 = ["title"];
|
|
9877
|
+
var _hoisted_4$1 = { class: "docs-playground-resource__hint" };
|
|
9878
|
+
var _hoisted_5$1 = { class: "docs-playground-resource__toolbar" };
|
|
9879
|
+
var _hoisted_6$1 = { class: "docs-playground-resource__toolbar-primary" };
|
|
9880
|
+
var _hoisted_7$1 = { class: "docs-playground-resource__button-content" };
|
|
9881
|
+
var _hoisted_8$1 = { class: "docs-playground-resource__button-content" };
|
|
9882
|
+
var _hoisted_9$1 = { class: "docs-playground-resource__columns" };
|
|
9883
|
+
var _hoisted_10$1 = { class: "docs-playground-resource__toolbar-danger" };
|
|
9884
|
+
var _hoisted_11$1 = ["title"];
|
|
9885
|
+
var _hoisted_12$1 = ["title"];
|
|
9886
|
+
var _hoisted_13$1 = { class: "docs-playground-resource__actions" };
|
|
9450
9887
|
//#endregion
|
|
9451
9888
|
//#region packages/client/src/pages/playground-resource/index.vue
|
|
9452
9889
|
var playground_resource_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -9672,21 +10109,21 @@ var playground_resource_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9672
10109
|
SourceEditor.destroy();
|
|
9673
10110
|
});
|
|
9674
10111
|
return (_ctx, _cache) => {
|
|
9675
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("section", _hoisted_1, [(0, vue.createElementVNode)("header", _hoisted_2, [(0, vue.createElementVNode)("div", null, [
|
|
10112
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("section", _hoisted_1$1, [(0, vue.createElementVNode)("header", _hoisted_2$1, [(0, vue.createElementVNode)("div", null, [
|
|
9676
10113
|
(0, vue.createElementVNode)("h1", null, (0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.title")), 1),
|
|
9677
10114
|
(0, vue.createElementVNode)("p", null, [
|
|
9678
10115
|
(0, vue.createTextVNode)(" deot-docs-playground-resource / resources · " + (0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.records", { count: rows.value.length })) + " · ", 1),
|
|
9679
|
-
(0, vue.createElementVNode)("span", { title: (0, vue.unref)(currentNamespace) }, (0, vue.toDisplayString)((0, vue.unref)(currentNamespace)), 9, _hoisted_3),
|
|
10116
|
+
(0, vue.createElementVNode)("span", { title: (0, vue.unref)(currentNamespace) }, (0, vue.toDisplayString)((0, vue.unref)(currentNamespace)), 9, _hoisted_3$1),
|
|
9680
10117
|
(0, vue.createTextVNode)(" " + (0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.cache", { size: namespaceCacheSize.value })), 1)
|
|
9681
10118
|
]),
|
|
9682
|
-
(0, vue.createElementVNode)("p", _hoisted_4, (0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.hint")), 1)
|
|
9683
|
-
]), (0, vue.createElementVNode)("div", _hoisted_5, [(0, vue.createElementVNode)("div", _hoisted_6, [
|
|
10119
|
+
(0, vue.createElementVNode)("p", _hoisted_4$1, (0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.hint")), 1)
|
|
10120
|
+
]), (0, vue.createElementVNode)("div", _hoisted_5$1, [(0, vue.createElementVNode)("div", _hoisted_6$1, [
|
|
9684
10121
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
9685
10122
|
type: "primary",
|
|
9686
10123
|
disabled: loading.value,
|
|
9687
10124
|
onClick: handleBack
|
|
9688
10125
|
}, {
|
|
9689
|
-
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", _hoisted_7, [(0, vue.createVNode)((0, vue.unref)(icon_default), { name: "back" }), (0, vue.createTextVNode)(" " + (0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.back")), 1)])]),
|
|
10126
|
+
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", _hoisted_7$1, [(0, vue.createVNode)((0, vue.unref)(icon_default), { name: "back" }), (0, vue.createTextVNode)(" " + (0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.back")), 1)])]),
|
|
9690
10127
|
_: 1
|
|
9691
10128
|
}, 8, ["disabled"]),
|
|
9692
10129
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
@@ -9694,14 +10131,14 @@ var playground_resource_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9694
10131
|
disabled: loading.value,
|
|
9695
10132
|
onClick: handleHome
|
|
9696
10133
|
}, {
|
|
9697
|
-
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", _hoisted_8, [(0, vue.createVNode)((0, vue.unref)(icon_default), { name: "home" }), (0, vue.createTextVNode)(" " + (0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.home")), 1)])]),
|
|
10134
|
+
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", _hoisted_8$1, [(0, vue.createVNode)((0, vue.unref)(icon_default), { name: "home" }), (0, vue.createTextVNode)(" " + (0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.home")), 1)])]),
|
|
9698
10135
|
_: 1
|
|
9699
10136
|
}, 8, ["disabled"]),
|
|
9700
10137
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Popover), {
|
|
9701
10138
|
trigger: "click",
|
|
9702
10139
|
placement: "bottom-right"
|
|
9703
10140
|
}, {
|
|
9704
|
-
content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_9, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(optionalColumns.value, (item) => {
|
|
10141
|
+
content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_9$1, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(optionalColumns.value, (item) => {
|
|
9705
10142
|
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_deot_vc.Checkbox), {
|
|
9706
10143
|
key: item.value,
|
|
9707
10144
|
"model-value": isColumnVisible(item.value),
|
|
@@ -9738,7 +10175,7 @@ var playground_resource_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9738
10175
|
default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.prefetch")), 1)]),
|
|
9739
10176
|
_: 1
|
|
9740
10177
|
}, 8, ["disabled"])
|
|
9741
|
-
]), (0, vue.createElementVNode)("div", _hoisted_10, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
10178
|
+
]), (0, vue.createElementVNode)("div", _hoisted_10$1, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
9742
10179
|
type: "error",
|
|
9743
10180
|
disabled: loading.value || !rows.value.length,
|
|
9744
10181
|
onClick: handleClear
|
|
@@ -9779,7 +10216,7 @@ var playground_resource_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9779
10216
|
default: (0, vue.withCtx)(({ row }) => [(0, vue.createElementVNode)("span", {
|
|
9780
10217
|
class: "docs-playground-resource__ellipsis",
|
|
9781
10218
|
title: row.defaultUrl || "-"
|
|
9782
|
-
}, (0, vue.toDisplayString)(row.defaultUrl || "-"), 9, _hoisted_11)]),
|
|
10219
|
+
}, (0, vue.toDisplayString)(row.defaultUrl || "-"), 9, _hoisted_11$1)]),
|
|
9783
10220
|
_: 1
|
|
9784
10221
|
}, 8, ["label"])) : (0, vue.createCommentVNode)("v-if", true),
|
|
9785
10222
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.TableColumn), {
|
|
@@ -9789,7 +10226,7 @@ var playground_resource_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9789
10226
|
default: (0, vue.withCtx)(({ row }) => [(0, vue.createElementVNode)("span", {
|
|
9790
10227
|
class: "docs-playground-resource__ellipsis",
|
|
9791
10228
|
title: row.currentUrl || "-"
|
|
9792
|
-
}, (0, vue.toDisplayString)(row.currentUrl || "-"), 9, _hoisted_12)]),
|
|
10229
|
+
}, (0, vue.toDisplayString)(row.currentUrl || "-"), 9, _hoisted_12$1)]),
|
|
9793
10230
|
_: 1
|
|
9794
10231
|
}, 8, ["label"]),
|
|
9795
10232
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.TableColumn), {
|
|
@@ -9840,7 +10277,7 @@ var playground_resource_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9840
10277
|
align: "center",
|
|
9841
10278
|
fixed: "right"
|
|
9842
10279
|
}, {
|
|
9843
|
-
default: (0, vue.withCtx)(({ row }) => [(0, vue.createElementVNode)("div", _hoisted_13, [
|
|
10280
|
+
default: (0, vue.withCtx)(({ row }) => [(0, vue.createElementVNode)("div", _hoisted_13$1, [
|
|
9844
10281
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
9845
10282
|
class: "docs-playground-resource__action",
|
|
9846
10283
|
type: "text",
|
|
@@ -9879,6 +10316,199 @@ var playground_resource_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9879
10316
|
}
|
|
9880
10317
|
});
|
|
9881
10318
|
//#endregion
|
|
10319
|
+
//#region packages/client/src/pages/preview-config-generate/index.vue?vue&type=script&setup=true&lang.ts
|
|
10320
|
+
var _hoisted_1 = { class: "docs-preview-config-generate" };
|
|
10321
|
+
var _hoisted_2 = { class: "docs-preview-config-generate__body" };
|
|
10322
|
+
var _hoisted_3 = { class: "docs-preview-config-generate__import" };
|
|
10323
|
+
var _hoisted_4 = { for: "preview-import" };
|
|
10324
|
+
var _hoisted_5 = { class: "docs-preview-config-generate__actions" };
|
|
10325
|
+
var _hoisted_6 = ["placeholder"];
|
|
10326
|
+
var _hoisted_7 = ["disabled"];
|
|
10327
|
+
var _hoisted_8 = {
|
|
10328
|
+
key: 0,
|
|
10329
|
+
role: "alert",
|
|
10330
|
+
class: "docs-preview-config-generate__error"
|
|
10331
|
+
};
|
|
10332
|
+
var _hoisted_9 = { class: "docs-preview-config-generate__fields" };
|
|
10333
|
+
var _hoisted_10 = ["placeholder"];
|
|
10334
|
+
var _hoisted_11 = ["for"];
|
|
10335
|
+
var _hoisted_12 = ["id", "onUpdate:modelValue"];
|
|
10336
|
+
var _hoisted_13 = { for: "preview-lang" };
|
|
10337
|
+
var _hoisted_14 = {
|
|
10338
|
+
key: 0,
|
|
10339
|
+
role: "alert",
|
|
10340
|
+
class: "docs-preview-config-generate__error"
|
|
10341
|
+
};
|
|
10342
|
+
var _hoisted_15 = { class: "docs-preview-config-generate__output" };
|
|
10343
|
+
var _hoisted_16 = { for: "preview-link" };
|
|
10344
|
+
var _hoisted_17 = ["value"];
|
|
10345
|
+
var _hoisted_18 = { class: "docs-preview-config-generate__actions" };
|
|
10346
|
+
var _hoisted_19 = ["href"];
|
|
10347
|
+
var _hoisted_20 = { key: 0 };
|
|
10348
|
+
//#endregion
|
|
10349
|
+
//#region packages/client/src/pages/preview-config-generate/index.vue
|
|
10350
|
+
var preview_config_generate_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
10351
|
+
__name: "index",
|
|
10352
|
+
setup(__props) {
|
|
10353
|
+
const route = (0, vue_router.useRoute)();
|
|
10354
|
+
const docs = getDocsConfig();
|
|
10355
|
+
const { t } = (0, _deot_docs_locale.useLocale)();
|
|
10356
|
+
const languageOptions = (0, vue.computed)(() => [{
|
|
10357
|
+
value: "",
|
|
10358
|
+
label: t("client.previewConfigGenerate.defaultLanguage")
|
|
10359
|
+
}, ...Object.entries(docs.locales).map(([value, item]) => ({
|
|
10360
|
+
value,
|
|
10361
|
+
label: item.label || value
|
|
10362
|
+
}))]);
|
|
10363
|
+
const defaults = {
|
|
10364
|
+
url: "",
|
|
10365
|
+
styles: "[]",
|
|
10366
|
+
modules: "{}",
|
|
10367
|
+
playground: "{}",
|
|
10368
|
+
lang: ""
|
|
10369
|
+
};
|
|
10370
|
+
const form = (0, vue.reactive)({ ...defaults });
|
|
10371
|
+
const jsonFields = [
|
|
10372
|
+
"styles",
|
|
10373
|
+
"modules",
|
|
10374
|
+
"playground"
|
|
10375
|
+
];
|
|
10376
|
+
const importUrl = (0, vue.ref)("");
|
|
10377
|
+
const parseError = (0, vue.ref)("");
|
|
10378
|
+
const messageOf = (reason) => t("client.common.previewConfigFailed", { message: reason instanceof Error ? reason.message : String(reason) });
|
|
10379
|
+
const result = (0, vue.computed)(() => {
|
|
10380
|
+
try {
|
|
10381
|
+
const config = normalizePreviewConfig({
|
|
10382
|
+
url: form.url,
|
|
10383
|
+
lang: form.lang,
|
|
10384
|
+
...Object.fromEntries(jsonFields.map((field) => [field, JSON.parse(form[field])]))
|
|
10385
|
+
});
|
|
10386
|
+
if (!resolvePreviewType(config.url, location.href)) throw new TypeError(t("client.common.previewUrlUnsupported"));
|
|
10387
|
+
parsePreviewStyleUrls(config.styles, location.href);
|
|
10388
|
+
return {
|
|
10389
|
+
config,
|
|
10390
|
+
href: createPreviewUrl(config, getDocsDeploymentBase(docs)),
|
|
10391
|
+
error: ""
|
|
10392
|
+
};
|
|
10393
|
+
} catch (reason) {
|
|
10394
|
+
return {
|
|
10395
|
+
config: void 0,
|
|
10396
|
+
href: "",
|
|
10397
|
+
error: form.url || jsonFields.some((field) => form[field] !== defaults[field]) ? messageOf(reason) : ""
|
|
10398
|
+
};
|
|
10399
|
+
}
|
|
10400
|
+
});
|
|
10401
|
+
const applyQuery = (query) => {
|
|
10402
|
+
try {
|
|
10403
|
+
const config = readPreviewConfig(query);
|
|
10404
|
+
if (!config.url) throw new TypeError(t("client.common.previewUrlRequired"));
|
|
10405
|
+
form.url = config.url;
|
|
10406
|
+
form.lang = config.lang || "";
|
|
10407
|
+
jsonFields.forEach((field) => form[field] = JSON.stringify(config[field] || {}, null, 2));
|
|
10408
|
+
parseError.value = "";
|
|
10409
|
+
} catch (reason) {
|
|
10410
|
+
parseError.value = messageOf(reason);
|
|
10411
|
+
}
|
|
10412
|
+
};
|
|
10413
|
+
const parseLink = () => {
|
|
10414
|
+
try {
|
|
10415
|
+
const target = new URL(importUrl.value.trim(), location.href);
|
|
10416
|
+
const query = {};
|
|
10417
|
+
target.searchParams.forEach((_, key) => {
|
|
10418
|
+
const values = target.searchParams.getAll(key);
|
|
10419
|
+
query[key] = values.length === 1 ? values[0] : values;
|
|
10420
|
+
});
|
|
10421
|
+
applyQuery(query);
|
|
10422
|
+
} catch (reason) {
|
|
10423
|
+
parseError.value = messageOf(reason);
|
|
10424
|
+
}
|
|
10425
|
+
};
|
|
10426
|
+
(0, vue.watch)(() => route.query, (query) => {
|
|
10427
|
+
if (query.raw !== void 0 || query.url !== void 0) applyQuery(query);
|
|
10428
|
+
}, { immediate: true });
|
|
10429
|
+
return (_ctx, _cache) => {
|
|
10430
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("section", _hoisted_1, [(0, vue.createElementVNode)("div", _hoisted_2, [
|
|
10431
|
+
(0, vue.createElementVNode)("header", null, [(0, vue.createElementVNode)("h1", null, (0, vue.toDisplayString)((0, vue.unref)(t)("client.previewConfigGenerate.title")), 1), (0, vue.createElementVNode)("p", null, (0, vue.toDisplayString)((0, vue.unref)(t)("client.previewConfigGenerate.description")), 1)]),
|
|
10432
|
+
(0, vue.createElementVNode)("div", _hoisted_3, [
|
|
10433
|
+
(0, vue.createElementVNode)("label", _hoisted_4, (0, vue.toDisplayString)((0, vue.unref)(t)("client.previewConfigGenerate.importLabel")), 1),
|
|
10434
|
+
(0, vue.createElementVNode)("div", _hoisted_5, [(0, vue.withDirectives)((0, vue.createElementVNode)("input", {
|
|
10435
|
+
id: "preview-import",
|
|
10436
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => importUrl.value = $event),
|
|
10437
|
+
class: "docs-preview-config-generate__input",
|
|
10438
|
+
placeholder: (0, vue.unref)(t)("client.previewConfigGenerate.parseHint")
|
|
10439
|
+
}, null, 8, _hoisted_6), [[vue.vModelText, importUrl.value]]), (0, vue.createElementVNode)("button", {
|
|
10440
|
+
type: "button",
|
|
10441
|
+
disabled: !importUrl.value.trim(),
|
|
10442
|
+
onClick: parseLink
|
|
10443
|
+
}, (0, vue.toDisplayString)((0, vue.unref)(t)("client.previewConfigGenerate.parse")), 9, _hoisted_7)]),
|
|
10444
|
+
parseError.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("p", _hoisted_8, (0, vue.toDisplayString)(parseError.value), 1)) : (0, vue.createCommentVNode)("v-if", true)
|
|
10445
|
+
]),
|
|
10446
|
+
(0, vue.createElementVNode)("div", _hoisted_9, [
|
|
10447
|
+
_cache[3] || (_cache[3] = (0, vue.createElementVNode)("label", { for: "preview-url" }, "url", -1)),
|
|
10448
|
+
(0, vue.withDirectives)((0, vue.createElementVNode)("input", {
|
|
10449
|
+
id: "preview-url",
|
|
10450
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => form.url = $event),
|
|
10451
|
+
class: "docs-preview-config-generate__input",
|
|
10452
|
+
placeholder: (0, vue.unref)(t)("client.previewConfigGenerate.urlHint")
|
|
10453
|
+
}, null, 8, _hoisted_10), [[vue.vModelText, form.url]]),
|
|
10454
|
+
((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(jsonFields, (field) => {
|
|
10455
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: field }, [
|
|
10456
|
+
(0, vue.createElementVNode)("label", { for: `preview-${field}` }, (0, vue.toDisplayString)(field), 9, _hoisted_11),
|
|
10457
|
+
(0, vue.withDirectives)((0, vue.createElementVNode)("textarea", {
|
|
10458
|
+
id: `preview-${field}`,
|
|
10459
|
+
"onUpdate:modelValue": ($event) => form[field] = $event,
|
|
10460
|
+
rows: "4",
|
|
10461
|
+
spellcheck: "false"
|
|
10462
|
+
}, null, 8, _hoisted_12), [[vue.vModelText, form[field]]]),
|
|
10463
|
+
(0, vue.createElementVNode)("p", null, (0, vue.toDisplayString)((0, vue.unref)(t)(`client.previewConfigGenerate.${field}Hint`)), 1)
|
|
10464
|
+
], 64);
|
|
10465
|
+
}), 64)),
|
|
10466
|
+
(0, vue.createElementVNode)("label", _hoisted_13, (0, vue.toDisplayString)((0, vue.unref)(t)("client.previewConfigGenerate.language")), 1),
|
|
10467
|
+
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Select), {
|
|
10468
|
+
id: "preview-lang",
|
|
10469
|
+
modelValue: form.lang,
|
|
10470
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => form.lang = $event),
|
|
10471
|
+
class: "docs-preview-config-generate__select",
|
|
10472
|
+
data: languageOptions.value,
|
|
10473
|
+
"null-value": "",
|
|
10474
|
+
placeholder: (0, vue.unref)(t)("client.previewConfigGenerate.defaultLanguage")
|
|
10475
|
+
}, null, 8, [
|
|
10476
|
+
"modelValue",
|
|
10477
|
+
"data",
|
|
10478
|
+
"placeholder"
|
|
10479
|
+
])
|
|
10480
|
+
]),
|
|
10481
|
+
result.value.error ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("p", _hoisted_14, (0, vue.toDisplayString)(result.value.error), 1)) : (0, vue.createCommentVNode)("v-if", true),
|
|
10482
|
+
(0, vue.createElementVNode)("div", _hoisted_15, [
|
|
10483
|
+
(0, vue.createElementVNode)("label", _hoisted_16, (0, vue.toDisplayString)((0, vue.unref)(t)("client.previewConfigGenerate.link")), 1),
|
|
10484
|
+
(0, vue.createElementVNode)("textarea", {
|
|
10485
|
+
id: "preview-link",
|
|
10486
|
+
value: result.value.href,
|
|
10487
|
+
rows: "4",
|
|
10488
|
+
readonly: "",
|
|
10489
|
+
spellcheck: "false"
|
|
10490
|
+
}, null, 8, _hoisted_17),
|
|
10491
|
+
(0, vue.createElementVNode)("div", _hoisted_18, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Clipboard), {
|
|
10492
|
+
tag: "button",
|
|
10493
|
+
type: "button",
|
|
10494
|
+
value: result.value.href,
|
|
10495
|
+
disabled: !result.value.href
|
|
10496
|
+
}, {
|
|
10497
|
+
default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(t)("client.previewConfigGenerate.copy")), 1)]),
|
|
10498
|
+
_: 1
|
|
10499
|
+
}, 8, ["value", "disabled"]), result.value.href ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("a", {
|
|
10500
|
+
key: 0,
|
|
10501
|
+
href: result.value.href,
|
|
10502
|
+
target: "_blank",
|
|
10503
|
+
rel: "noopener"
|
|
10504
|
+
}, (0, vue.toDisplayString)((0, vue.unref)(t)("client.previewConfigGenerate.preview")), 9, _hoisted_19)) : (0, vue.createCommentVNode)("v-if", true)]),
|
|
10505
|
+
result.value.config ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("details", _hoisted_20, [(0, vue.createElementVNode)("summary", null, (0, vue.toDisplayString)((0, vue.unref)(t)("client.previewConfigGenerate.configuration")), 1), (0, vue.createElementVNode)("pre", null, (0, vue.toDisplayString)(JSON.stringify(result.value.config, null, 2)), 1)])) : (0, vue.createCommentVNode)("v-if", true)
|
|
10506
|
+
])
|
|
10507
|
+
])]);
|
|
10508
|
+
};
|
|
10509
|
+
}
|
|
10510
|
+
});
|
|
10511
|
+
//#endregion
|
|
9882
10512
|
//#region packages/client/src/router/index.ts
|
|
9883
10513
|
var slotComponents = {
|
|
9884
10514
|
default: resource_slot_default,
|
|
@@ -9942,6 +10572,29 @@ var createDocsRouter = (config, options = {}) => {
|
|
|
9942
10572
|
const hasConfiguredDemosRoute = Object.keys(config.routes).some((path) => (path.startsWith("/") ? path : `/${path}`) === "/renderer-editor-demos");
|
|
9943
10573
|
const isDevelopment = config.runtime?.mode === "development";
|
|
9944
10574
|
const routes = [
|
|
10575
|
+
{
|
|
10576
|
+
path: "/__docs/preview-config-generate",
|
|
10577
|
+
component: preview_config_generate_default,
|
|
10578
|
+
meta: {
|
|
10579
|
+
docsPreviewConfigGenerate: true,
|
|
10580
|
+
docsRoute: {
|
|
10581
|
+
layout: "none",
|
|
10582
|
+
content: null
|
|
10583
|
+
}
|
|
10584
|
+
}
|
|
10585
|
+
},
|
|
10586
|
+
{
|
|
10587
|
+
path: "/__docs/preview",
|
|
10588
|
+
component: resource_slot_default,
|
|
10589
|
+
props: { name: "content" },
|
|
10590
|
+
meta: {
|
|
10591
|
+
docsPreview: true,
|
|
10592
|
+
docsRoute: {
|
|
10593
|
+
layout: "none",
|
|
10594
|
+
content: null
|
|
10595
|
+
}
|
|
10596
|
+
}
|
|
10597
|
+
},
|
|
9945
10598
|
{
|
|
9946
10599
|
path: "/:lang/__docs/database",
|
|
9947
10600
|
component: database_default,
|
|
@@ -10060,6 +10713,14 @@ var createDocsRouter = (config, options = {}) => {
|
|
|
10060
10713
|
routes
|
|
10061
10714
|
});
|
|
10062
10715
|
router.beforeEach((to) => {
|
|
10716
|
+
if (to.meta.docsPreview || to.meta.docsPreviewConfigGenerate) {
|
|
10717
|
+
let language = "";
|
|
10718
|
+
try {
|
|
10719
|
+
language = readPreviewConfig(to.query).lang || "";
|
|
10720
|
+
} catch {}
|
|
10721
|
+
to.params.lang = hasConfiguredLanguage(config, language) ? language : defaultLanguage;
|
|
10722
|
+
return true;
|
|
10723
|
+
}
|
|
10063
10724
|
const lang = String(to.params.lang || "");
|
|
10064
10725
|
const configuredLanguages = Object.keys(config.locales);
|
|
10065
10726
|
if (lang && (hasConfiguredLanguage(config, lang) || !configuredLanguages.length && lang === defaultLanguage)) {
|
|
@@ -10148,7 +10809,7 @@ var bootstrap = async (config) => {
|
|
|
10148
10809
|
disconnect
|
|
10149
10810
|
};
|
|
10150
10811
|
};
|
|
10151
|
-
if (typeof window !== "undefined" && typeof document !== "undefined" && document.querySelector("#app")) bootstrap();
|
|
10812
|
+
if (typeof window !== "undefined" && typeof document !== "undefined" && document.querySelector("#app:not([data-v-app])")) bootstrap();
|
|
10152
10813
|
//#endregion
|
|
10153
10814
|
exports.DOCS_RESOURCE_TYPES = DOCS_RESOURCE_TYPES;
|
|
10154
10815
|
exports.Gateway = Gateway;
|