@deot/docs-client 1.1.3 → 1.1.5
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 +88 -4
- package/dist/chunks/browser-Cmwcvs-d.js +505 -0
- package/dist/chunks/cdn-DQoETju_-DS-873Vi.js +38 -0
- package/dist/chunks/chunk-rhk8Qtmk-CUgXtmq_.js +14 -0
- package/dist/chunks/compile-BHD98Ttf-BJaenUUQ.js +79915 -0
- package/dist/chunks/compiler-sfc.esm-browser-B4_kBkG5.js +24975 -0
- package/dist/chunks/dayjs.min-B3g34Qcz.js +300 -0
- package/dist/chunks/dist-0ySyXNpo.js +415 -0
- package/dist/chunks/dist-9UPCn_ag.js +24601 -0
- package/dist/chunks/dist-B44jICwZ.js +22 -0
- package/dist/chunks/dist-BQyOK8Qy.js +17 -0
- package/dist/chunks/dist-BUw25nXJ.js +65 -0
- package/dist/chunks/dist-BeOE8qTX.js +345 -0
- package/dist/chunks/dist-C3V7reR4.js +197 -0
- package/dist/chunks/dist-C8z9l0mA.js +58 -0
- package/dist/chunks/dist-CI9Lp9Cj.js +247 -0
- package/dist/chunks/dist-COjpr4FU.js +426 -0
- package/dist/chunks/dist-CQir6D4y.js +244 -0
- package/dist/chunks/dist-Cxf7_ocf.js +44 -0
- package/dist/chunks/dist-DF4kisl2.js +43 -0
- package/dist/chunks/dist-DLj8yJdm.js +38 -0
- package/dist/chunks/dist-DWn6r6un.js +76 -0
- package/dist/chunks/dist-DWqBe2Ah.js +132 -0
- package/dist/chunks/dist-D_Uqh6m9.js +80 -0
- package/dist/chunks/dist-DcIU51zW.js +166 -0
- package/dist/chunks/dist-kiZUqqzR.js +27 -0
- package/dist/chunks/dist-oZ12SGqg.js +6 -0
- package/dist/chunks/dist-uXnwGrO3.js +76 -0
- package/dist/chunks/dist-va7FmnW4.js +156 -0
- package/dist/chunks/{echarts-I1Rk_oCV.js → echarts-Dk-pu7GM.js} +450 -398
- package/dist/chunks/files-BqucFldk-B-hTQ-ip.js +148 -0
- package/dist/chunks/html2canvas-Deo0mM5K.js +4022 -0
- package/dist/chunks/index.es-UlJ0gfdF.js +5757 -0
- package/dist/chunks/jspdf.es.min-CJc40v7q.js +17873 -0
- package/dist/chunks/jsx-CwMPlI4_-CAiik-V7.js +128454 -0
- package/dist/chunks/jszip.min-BbVwZKYP.js +3044 -0
- package/dist/chunks/linker-xqjVl0X0-CWWI367H.js +118 -0
- package/dist/chunks/local-sandbox-DvcgaBOa-CzJxrdVx.js +298 -0
- package/dist/chunks/lodash-Cxf6dD_I.js +5161 -0
- package/dist/chunks/modules-BGzPcoRR-C9BWX8hC.js +154 -0
- package/dist/chunks/{photoswipe.esm-CT37djgx.js → photoswipe.esm-B0V-xGTB.js} +36 -31
- package/dist/chunks/pinia-pDJilYOg.js +326 -0
- package/dist/chunks/purify.es-BiqY1C6m.js +867 -0
- package/dist/chunks/remote-mq4zvrI1-Bib9tTkb.js +104 -0
- package/dist/chunks/script-DjUf9uWK-Cu5Kla_E.js +15055 -0
- package/dist/chunks/store-BOyC8F2y-CbodPye0.js +17037 -0
- package/dist/chunks/vue-router-C0mj8Ot5.js +1196 -0
- package/dist/chunks/vue.runtime.esm-bundler-XxHGOLq2.js +4879 -0
- package/dist/index.cjs +997 -340
- package/dist/index.d.ts +2 -1
- package/dist/index.js +42205 -103464
- package/dist/index.style.css +3 -4
- package/package.json +9 -9
- package/dist/chunks/_commonjsHelpers-BFTU3MAI-D_7z5o6A.js +0 -8
- package/dist/chunks/jsx-H2PmTOgp-C0GVSSMR.js +0 -128281
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;
|
|
@@ -376,12 +377,12 @@ var isDocsContentWidth = (value) => value === "regular" || value === "wide" || v
|
|
|
376
377
|
*/
|
|
377
378
|
var ContentWidthSettingsManager = class {
|
|
378
379
|
settings;
|
|
379
|
-
|
|
380
|
+
currentValue = (0, vue.ref)(DEFAULT_CONTENT_WIDTH);
|
|
380
381
|
namespace = "";
|
|
381
382
|
session = 0;
|
|
382
383
|
preferenceVersion = 0;
|
|
383
384
|
active = false;
|
|
384
|
-
current = (0, vue.readonly)(this.
|
|
385
|
+
current = (0, vue.readonly)(this.currentValue);
|
|
385
386
|
constructor(settings) {
|
|
386
387
|
this.settings = settings;
|
|
387
388
|
}
|
|
@@ -390,7 +391,7 @@ var ContentWidthSettingsManager = class {
|
|
|
390
391
|
const preferenceVersion = ++this.preferenceVersion;
|
|
391
392
|
this.active = true;
|
|
392
393
|
this.namespace = getDocsNamespace(config);
|
|
393
|
-
this.
|
|
394
|
+
this.currentValue.value = DEFAULT_CONTENT_WIDTH;
|
|
394
395
|
this.restore(session, preferenceVersion, this.namespace);
|
|
395
396
|
return () => this.stop(session);
|
|
396
397
|
}
|
|
@@ -404,12 +405,12 @@ var ContentWidthSettingsManager = class {
|
|
|
404
405
|
try {
|
|
405
406
|
stored = await this.settings.get(namespace, SETTING_KEY$1);
|
|
406
407
|
} catch {}
|
|
407
|
-
if (isDocsContentWidth(stored) && session === this.session && preferenceVersion === this.preferenceVersion) this.
|
|
408
|
+
if (isDocsContentWidth(stored) && session === this.session && preferenceVersion === this.preferenceVersion) this.currentValue.value = stored;
|
|
408
409
|
}
|
|
409
410
|
async set(next) {
|
|
410
|
-
if (!isDocsContentWidth(next) || next === this.
|
|
411
|
+
if (!isDocsContentWidth(next) || next === this.currentValue.value) return;
|
|
411
412
|
this.preferenceVersion++;
|
|
412
|
-
this.
|
|
413
|
+
this.currentValue.value = next;
|
|
413
414
|
if (!this.active) return;
|
|
414
415
|
try {
|
|
415
416
|
await this.settings.set(this.namespace, SETTING_KEY$1, next);
|
|
@@ -457,7 +458,7 @@ var LanguageSettingsManager = class {
|
|
|
457
458
|
*/
|
|
458
459
|
var ThemeSettingsManager = class {
|
|
459
460
|
settings;
|
|
460
|
-
|
|
461
|
+
currentValue = (0, vue.ref)("light");
|
|
461
462
|
enabledValue = (0, vue.ref)(true);
|
|
462
463
|
readyValue = (0, vue.ref)(false);
|
|
463
464
|
active = false;
|
|
@@ -472,7 +473,7 @@ var ThemeSettingsManager = class {
|
|
|
472
473
|
operation;
|
|
473
474
|
queued;
|
|
474
475
|
requested;
|
|
475
|
-
current = (0, vue.readonly)(this.
|
|
476
|
+
current = (0, vue.readonly)(this.currentValue);
|
|
476
477
|
enabled = (0, vue.readonly)(this.enabledValue);
|
|
477
478
|
ready = (0, vue.readonly)(this.readyValue);
|
|
478
479
|
constructor(settings) {
|
|
@@ -511,7 +512,7 @@ var ThemeSettingsManager = class {
|
|
|
511
512
|
};
|
|
512
513
|
}
|
|
513
514
|
apply(theme) {
|
|
514
|
-
this.
|
|
515
|
+
this.currentValue.value = theme;
|
|
515
516
|
this.appliedTarget = this.target;
|
|
516
517
|
this.appliedTheme = theme;
|
|
517
518
|
const document = this.target?.document;
|
|
@@ -634,13 +635,13 @@ var ThemeSettingsManager = class {
|
|
|
634
635
|
while (this.queued?.session === session) {
|
|
635
636
|
const request = this.queued;
|
|
636
637
|
this.queued = void 0;
|
|
637
|
-
if (request.theme !== this.
|
|
638
|
+
if (request.theme !== this.currentValue.value) await this.applyWithTransition(request.theme, request.origin, session);
|
|
638
639
|
if (session !== this.session) return;
|
|
639
640
|
try {
|
|
640
641
|
await this.settings.set(request.namespace, "theme", request.theme);
|
|
641
642
|
} catch {}
|
|
642
643
|
}
|
|
643
|
-
if (session === this.session) this.requested = this.
|
|
644
|
+
if (session === this.session) this.requested = this.currentValue.value;
|
|
644
645
|
}
|
|
645
646
|
async ensureFlush(session) {
|
|
646
647
|
while (this.queued?.session === session) {
|
|
@@ -660,7 +661,7 @@ var ThemeSettingsManager = class {
|
|
|
660
661
|
async set(theme, origin) {
|
|
661
662
|
if (!this.active || !this.enabledValue.value || !(0, _deot_docs_theme.isDocsTheme)(theme)) return;
|
|
662
663
|
const session = this.session;
|
|
663
|
-
if (theme === (this.requested || this.
|
|
664
|
+
if (theme === (this.requested || this.currentValue.value)) return;
|
|
664
665
|
this.preferenceVersion++;
|
|
665
666
|
this.followingSystem = false;
|
|
666
667
|
this.detachSystemListener();
|
|
@@ -674,7 +675,7 @@ var ThemeSettingsManager = class {
|
|
|
674
675
|
await this.ensureFlush(session);
|
|
675
676
|
}
|
|
676
677
|
toggle(origin) {
|
|
677
|
-
return this.set((this.requested || this.
|
|
678
|
+
return this.set((this.requested || this.currentValue.value) === "dark" ? "light" : "dark", origin);
|
|
678
679
|
}
|
|
679
680
|
};
|
|
680
681
|
//#endregion
|
|
@@ -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,28 @@ 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
1935
|
await es_module_lexer.init;
|
|
1935
|
-
|
|
1936
|
+
try {
|
|
1937
|
+
return (0, es_module_lexer.parse)(code)[0].filter((item) => !/^(?:import|export)\s+type\b(?!\s+from\b)/.test(code.slice(item.ss, item.se))).map((item) => item.n).filter((item) => Boolean(item));
|
|
1938
|
+
} catch {
|
|
1939
|
+
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]);
|
|
1940
|
+
}
|
|
1936
1941
|
};
|
|
1937
1942
|
var collectResourceImports = async (code, type) => {
|
|
1938
1943
|
if (type === "style") return [...new Set(collectStyleImports(code))];
|
|
@@ -1957,6 +1962,189 @@ var toLogicalResourceSource = (config, lang, url) => {
|
|
|
1957
1962
|
if (resolved.origin !== root.origin || !resolved.pathname.startsWith(root.pathname)) return resolved.href;
|
|
1958
1963
|
return `./${resolved.pathname.slice(root.pathname.length)}${resolved.search}${resolved.hash}`;
|
|
1959
1964
|
};
|
|
1965
|
+
/**
|
|
1966
|
+
* 远程静态文件没有 Vite 的扩展名补全,按源码类型探测实际文件。
|
|
1967
|
+
* @param specifier 源码中的相对引用。
|
|
1968
|
+
* @param importer 发起引用的源文件 URL。
|
|
1969
|
+
* @param style 是否使用 Sass 样式路径规则。
|
|
1970
|
+
* @returns 按优先级排列的候选 URL。
|
|
1971
|
+
*/
|
|
1972
|
+
var dependencyUrlCandidates = (specifier, importer, style = false) => {
|
|
1973
|
+
const url = new URL(resolveDependencyUrl(specifier, importer));
|
|
1974
|
+
const path = url.pathname.replace(/\/$/, "");
|
|
1975
|
+
const partial = (value) => value.replace(/([^/]+)$/, "_$1");
|
|
1976
|
+
const hasExtension = SUPPORTED_DEPENDENCY_RE.test(path);
|
|
1977
|
+
const paths = style ? hasExtension ? [path, partial(path)] : [
|
|
1978
|
+
".scss",
|
|
1979
|
+
".sass",
|
|
1980
|
+
".css"
|
|
1981
|
+
].flatMap((ext) => [
|
|
1982
|
+
`${path}${ext}`,
|
|
1983
|
+
partial(`${path}${ext}`),
|
|
1984
|
+
`${path}/index${ext}`,
|
|
1985
|
+
`${path}/_index${ext}`
|
|
1986
|
+
]) : hasExtension ? [path] : [
|
|
1987
|
+
path,
|
|
1988
|
+
...[
|
|
1989
|
+
".vue",
|
|
1990
|
+
".ts",
|
|
1991
|
+
".js",
|
|
1992
|
+
".tsx",
|
|
1993
|
+
".jsx",
|
|
1994
|
+
".json"
|
|
1995
|
+
].map((ext) => `${path}${ext}`),
|
|
1996
|
+
...[
|
|
1997
|
+
".vue",
|
|
1998
|
+
".ts",
|
|
1999
|
+
".js",
|
|
2000
|
+
".tsx",
|
|
2001
|
+
".jsx",
|
|
2002
|
+
".json"
|
|
2003
|
+
].map((ext) => `${path}/index${ext}`)
|
|
2004
|
+
];
|
|
2005
|
+
return [...new Set(paths)].map((value) => {
|
|
2006
|
+
const candidate = new URL(url);
|
|
2007
|
+
candidate.pathname = value;
|
|
2008
|
+
return candidate.href;
|
|
2009
|
+
});
|
|
2010
|
+
};
|
|
2011
|
+
var collectResourceStyleImports = (code, type) => {
|
|
2012
|
+
if (type === "style") return collectStyleImports(code);
|
|
2013
|
+
if (type !== "sfc") return [];
|
|
2014
|
+
return [...code.matchAll(SFC_BLOCK_RE)].filter((match) => match[1].toLowerCase() === "style").flatMap((match) => collectStyleImports(match[3]));
|
|
2015
|
+
};
|
|
2016
|
+
var resolveDependencyRequestUrl = (url) => {
|
|
2017
|
+
const resolved = new URL(url, typeof location === "undefined" ? "http://localhost/" : location.href);
|
|
2018
|
+
if (resolved.hostname !== "raw.githubusercontent.com") return url;
|
|
2019
|
+
const index = resolved.pathname.indexOf("/node_modules/");
|
|
2020
|
+
return index < 0 ? url : `https://cdn.jsdelivr.net/npm/${resolved.pathname.slice(index + 14)}${resolved.search}`;
|
|
2021
|
+
};
|
|
2022
|
+
//#endregion
|
|
2023
|
+
//#region packages/client/src/utils/github-source.ts
|
|
2024
|
+
/**
|
|
2025
|
+
* GitHub Raw 不提供目录列表,用 Git tree 确定源码文件和 glob 匹配项。
|
|
2026
|
+
* @param rootUrl 入口源码的 URL。
|
|
2027
|
+
* @param signal 资源图的取消信号。
|
|
2028
|
+
* @returns GitHub 文件解析器,非 GitHub 地址返回 null。
|
|
2029
|
+
*/
|
|
2030
|
+
var createGithubSourceResolver = (rootUrl, signal) => {
|
|
2031
|
+
const root = new URL(rootUrl, typeof location === "undefined" ? "http://localhost/" : location.href);
|
|
2032
|
+
const match = root.hostname === "raw.githubusercontent.com" ? root.pathname.match(/^\/([^/]+)\/([^/]+)\/(refs\/(?:heads|tags)\/)?([^/]+)\//) : null;
|
|
2033
|
+
if (!match) return null;
|
|
2034
|
+
const [, owner, repo, , ref] = match;
|
|
2035
|
+
const base = `${root.origin}${match[0]}`;
|
|
2036
|
+
let pending;
|
|
2037
|
+
let globTree;
|
|
2038
|
+
const tree = () => {
|
|
2039
|
+
pending ??= (async () => {
|
|
2040
|
+
try {
|
|
2041
|
+
const apiUrl = `https://api.github.com/repos/${owner}/${repo}/git/trees/${encodeURIComponent(ref)}?recursive=1`;
|
|
2042
|
+
const response = await fetch(apiUrl, { signal });
|
|
2043
|
+
if (!response.ok) return null;
|
|
2044
|
+
const data = await response.json();
|
|
2045
|
+
if (data.truncated) return null;
|
|
2046
|
+
return new Set(data.tree.filter((item) => item.type === "blob").map((item) => `${base}${item.path}`));
|
|
2047
|
+
} catch (reason) {
|
|
2048
|
+
if (signal?.aborted) throw reason;
|
|
2049
|
+
return null;
|
|
2050
|
+
}
|
|
2051
|
+
})();
|
|
2052
|
+
return pending;
|
|
2053
|
+
};
|
|
2054
|
+
const fallbackGlobTree = () => {
|
|
2055
|
+
globTree ??= (async () => {
|
|
2056
|
+
const url = `https://data.jsdelivr.com/v1/package/gh/${owner}/${repo}@${encodeURIComponent(ref)}/flat`;
|
|
2057
|
+
const response = await fetch(url, { signal });
|
|
2058
|
+
if (!response.ok) throw new Error(`[RemoteSfc] glob 备用文件清单加载失败: ${response.status}`);
|
|
2059
|
+
const data = await response.json();
|
|
2060
|
+
return new Set(data.files.map((item) => `${base}${item.name.replace(/^\//, "")}`));
|
|
2061
|
+
})();
|
|
2062
|
+
return globTree;
|
|
2063
|
+
};
|
|
2064
|
+
return {
|
|
2065
|
+
base,
|
|
2066
|
+
resolve: async (specifier, importer, style) => {
|
|
2067
|
+
const candidates = dependencyUrlCandidates(specifier, importer, style);
|
|
2068
|
+
if (!candidates[0].startsWith(base) || candidates[0].includes("/node_modules/")) return candidates;
|
|
2069
|
+
const files = await tree();
|
|
2070
|
+
if (!files) return candidates;
|
|
2071
|
+
const found = candidates.find((value) => files.has(value.split(/[?#]/)[0]));
|
|
2072
|
+
if (!found) throw new Error(`[RemoteSfc] 无法解析依赖 "${specifier}"(来自 ${importer})`);
|
|
2073
|
+
return [found];
|
|
2074
|
+
},
|
|
2075
|
+
expandGlob: async (code, importer) => {
|
|
2076
|
+
if (!code.includes("import.meta.glob")) return code;
|
|
2077
|
+
const files = await tree() ?? await fallbackGlobTree();
|
|
2078
|
+
const imports = [];
|
|
2079
|
+
const transformed = code.replace(/import\.meta\.glob(?:<[^;\n]+?>)?\(\s*(['"])([^'"]+)\1\s*,\s*\{\s*eager\s*:\s*true\s*\}\s*\)/g, (_call, _quote, pattern) => {
|
|
2080
|
+
const expression = new URL(pattern, importer).href.split("*").map((part) => part.replace(/[.+?^${}()|[\]\\]/g, "\\$&")).join("[^/]*");
|
|
2081
|
+
const matcher = new RegExp(`^${expression}$`);
|
|
2082
|
+
const directory = new URL(".", importer).href;
|
|
2083
|
+
return `({${[...files].filter((value) => matcher.test(value)).sort().map((value) => {
|
|
2084
|
+
const path = `./${value.slice(directory.length)}`;
|
|
2085
|
+
const name = `__docs_glob_${imports.length}`;
|
|
2086
|
+
imports.push(`import * as ${name} from ${JSON.stringify(path)};`);
|
|
2087
|
+
return `${JSON.stringify(path)}: ${name}`;
|
|
2088
|
+
}).join(",")}})`;
|
|
2089
|
+
});
|
|
2090
|
+
if (transformed.includes("import.meta.glob")) throw new Error(`[RemoteSfc] 不支持的 glob 调用: ${importer}`);
|
|
2091
|
+
return `${imports.join("\n")}\n${transformed}`;
|
|
2092
|
+
}
|
|
2093
|
+
};
|
|
2094
|
+
};
|
|
2095
|
+
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}`);
|
|
2096
|
+
//#endregion
|
|
2097
|
+
//#region packages/client/src/utils/source-dependencies.ts
|
|
2098
|
+
var assertResolvableSourceGlobs = (code, url) => {
|
|
2099
|
+
if (code.includes("import.meta.glob")) throw new Error(`[RemoteSfc] 普通 HTTP 资源无法枚举 glob 文件,请使用显式 import 或预先展开的文件清单: ${url}`);
|
|
2100
|
+
};
|
|
2101
|
+
var createResourceDependencyResolver = (knownUrls = []) => {
|
|
2102
|
+
const files = new Set(knownUrls);
|
|
2103
|
+
const resolutions = /* @__PURE__ */ new Map();
|
|
2104
|
+
const githubResolvers = [];
|
|
2105
|
+
return async (code, type, url, probe) => {
|
|
2106
|
+
files.add(url);
|
|
2107
|
+
if (/\.json(?:$|[?#])/i.test(url)) return [];
|
|
2108
|
+
let github = githubResolvers.find((resolver) => url.startsWith(resolver.base));
|
|
2109
|
+
if (!github) {
|
|
2110
|
+
github = createGithubSourceResolver(url) ?? void 0;
|
|
2111
|
+
if (github) githubResolvers.push(github);
|
|
2112
|
+
}
|
|
2113
|
+
let source = code;
|
|
2114
|
+
if (type === "module") {
|
|
2115
|
+
if (github) source = await github.expandGlob(source, url);
|
|
2116
|
+
}
|
|
2117
|
+
if (!github && type !== "style") assertResolvableSourceGlobs(source, url);
|
|
2118
|
+
if (type === "style") source = rewritePackageStyleImports(source);
|
|
2119
|
+
const imports = await collectResourceImports(source, type);
|
|
2120
|
+
const styles = collectResourceStyleImports(source, type);
|
|
2121
|
+
return await Promise.all(imports.filter(isSupportedDependency).map(async (specifier) => {
|
|
2122
|
+
const style = styles.includes(specifier) || /\.(?:scss|sass)(?:$|[?#])/i.test(specifier);
|
|
2123
|
+
const candidates = github ? await github.resolve(specifier, url, style) : dependencyUrlCandidates(specifier, url, style);
|
|
2124
|
+
const found = candidates.find((candidate) => files.has(candidate));
|
|
2125
|
+
if (found) return resolveDependencyRequestUrl(found);
|
|
2126
|
+
if (!probe || candidates.length === 1) return resolveDependencyRequestUrl(candidates[0]);
|
|
2127
|
+
const key = JSON.stringify(candidates);
|
|
2128
|
+
let pending = resolutions.get(key);
|
|
2129
|
+
if (!pending) {
|
|
2130
|
+
pending = (async () => {
|
|
2131
|
+
for (let index = 0;; index += 1) {
|
|
2132
|
+
const candidate = candidates[index];
|
|
2133
|
+
try {
|
|
2134
|
+
await probe(candidate);
|
|
2135
|
+
files.add(candidate);
|
|
2136
|
+
return candidate;
|
|
2137
|
+
} catch (reason) {
|
|
2138
|
+
if (!(reason instanceof ResourceRequestError) || reason.status !== 404 || index === candidates.length - 1) throw reason;
|
|
2139
|
+
}
|
|
2140
|
+
}
|
|
2141
|
+
})();
|
|
2142
|
+
resolutions.set(key, pending);
|
|
2143
|
+
}
|
|
2144
|
+
return resolveDependencyRequestUrl(await pending);
|
|
2145
|
+
}));
|
|
2146
|
+
};
|
|
2147
|
+
};
|
|
1960
2148
|
//#endregion
|
|
1961
2149
|
//#region packages/client/src/utils/content.ts
|
|
1962
2150
|
var isRendererDocument = (value) => Boolean(value && typeof value === "object" && "schemaVersion" in value);
|
|
@@ -1998,7 +2186,7 @@ var writeHomeContent = (config, lang, value) => {
|
|
|
1998
2186
|
};
|
|
1999
2187
|
//#endregion
|
|
2000
2188
|
//#region packages/client/src/utils/components.ts
|
|
2001
|
-
var isPlainObject$
|
|
2189
|
+
var isPlainObject$2 = (value) => Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
2002
2190
|
/**
|
|
2003
2191
|
* 归一化站点 Markdown 排版皮肤;非法值回退 `default`。
|
|
2004
2192
|
* @param value `components.markdown.theme`。
|
|
@@ -2012,7 +2200,7 @@ var resolveDocsMarkdownTheme = (value) => value === "traditional" ? "traditional
|
|
|
2012
2200
|
*/
|
|
2013
2201
|
var resolveDocsMarkdownComponent = (config) => {
|
|
2014
2202
|
const markdown = config.components?.markdown;
|
|
2015
|
-
if (!isPlainObject$
|
|
2203
|
+
if (!isPlainObject$2(markdown)) return { theme: "default" };
|
|
2016
2204
|
const options = { theme: resolveDocsMarkdownTheme(markdown.theme) };
|
|
2017
2205
|
if ("indicator" in markdown) options.indicator = markdown.indicator;
|
|
2018
2206
|
return options;
|
|
@@ -2024,7 +2212,7 @@ var resolveDocsMarkdownComponent = (config) => {
|
|
|
2024
2212
|
*/
|
|
2025
2213
|
var resolveDocsPlaygroundComponent = (config) => {
|
|
2026
2214
|
const playground = config.components?.playground;
|
|
2027
|
-
if (!isPlainObject$
|
|
2215
|
+
if (!isPlainObject$2(playground)) return {};
|
|
2028
2216
|
return { ...playground };
|
|
2029
2217
|
};
|
|
2030
2218
|
var RENDERER_FITS = /* @__PURE__ */ new Set([
|
|
@@ -2039,7 +2227,7 @@ var RENDERER_FITS = /* @__PURE__ */ new Set([
|
|
|
2039
2227
|
*/
|
|
2040
2228
|
var resolveDocsRendererComponent = (config) => {
|
|
2041
2229
|
const renderer = config.components?.renderer;
|
|
2042
|
-
if (!isPlainObject$
|
|
2230
|
+
if (!isPlainObject$2(renderer)) return {};
|
|
2043
2231
|
const options = {};
|
|
2044
2232
|
if (typeof renderer.fit === "string" && RENDERER_FITS.has(renderer.fit)) options.fit = renderer.fit;
|
|
2045
2233
|
return options;
|
|
@@ -2047,7 +2235,7 @@ var resolveDocsRendererComponent = (config) => {
|
|
|
2047
2235
|
//#endregion
|
|
2048
2236
|
//#region packages/client/src/components/renderer/markdown-props.ts
|
|
2049
2237
|
var INDICATOR_POSITIONS = /* @__PURE__ */ new Set(["left", "right"]);
|
|
2050
|
-
var isPlainObject = (value) => Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
2238
|
+
var isPlainObject$1 = (value) => Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
2051
2239
|
/**
|
|
2052
2240
|
* 规范化指示器配置。非法值丢弃,合法对象只保留已知字段。
|
|
2053
2241
|
* @param value 原始 indicator。
|
|
@@ -2055,7 +2243,7 @@ var isPlainObject = (value) => Boolean(value) && typeof value === "object" && !A
|
|
|
2055
2243
|
*/
|
|
2056
2244
|
var normalizeDocsMarkdownIndicator = (value) => {
|
|
2057
2245
|
if (value === true || value === false) return value;
|
|
2058
|
-
if (!isPlainObject(value)) return void 0;
|
|
2246
|
+
if (!isPlainObject$1(value)) return void 0;
|
|
2059
2247
|
const options = {};
|
|
2060
2248
|
if (typeof value.preview === "boolean") options.preview = value.preview;
|
|
2061
2249
|
if (typeof value.draggable === "boolean") options.draggable = value.draggable;
|
|
@@ -2070,7 +2258,7 @@ var normalizeDocsMarkdownIndicator = (value) => {
|
|
|
2070
2258
|
* @returns 可写入模块 props 的 options。
|
|
2071
2259
|
*/
|
|
2072
2260
|
var normalizeDocsMarkdownOptions = (value) => {
|
|
2073
|
-
if (!isPlainObject(value)) return void 0;
|
|
2261
|
+
if (!isPlainObject$1(value)) return void 0;
|
|
2074
2262
|
const options = { ...value };
|
|
2075
2263
|
if ("indicator" in options) {
|
|
2076
2264
|
const indicator = normalizeDocsMarkdownIndicator(options.indicator);
|
|
@@ -2085,7 +2273,7 @@ var normalizeDocsMarkdownOptions = (value) => {
|
|
|
2085
2273
|
* @returns source / content / options。
|
|
2086
2274
|
*/
|
|
2087
2275
|
var normalizeDocsMarkdownProps = (value) => {
|
|
2088
|
-
const record = isPlainObject(value) ? value : {};
|
|
2276
|
+
const record = isPlainObject$1(value) ? value : {};
|
|
2089
2277
|
const props = { source: typeof record.source === "string" ? record.source : "" };
|
|
2090
2278
|
if (typeof record.content === "string") props.content = record.content;
|
|
2091
2279
|
const options = normalizeDocsMarkdownOptions(record.options);
|
|
@@ -2123,8 +2311,8 @@ var docsMarkdownIndicator = (options) => {
|
|
|
2123
2311
|
var docsMarkdownInlineContent = (props) => typeof props.content === "string" ? props.content : void 0;
|
|
2124
2312
|
//#endregion
|
|
2125
2313
|
//#region packages/client/src/components/renderer/markdown.vue?vue&type=script&setup=true&lang.ts
|
|
2126
|
-
var _hoisted_1$
|
|
2127
|
-
var _hoisted_2$
|
|
2314
|
+
var _hoisted_1$29 = { class: "docs-renderer-markdown" };
|
|
2315
|
+
var _hoisted_2$24 = {
|
|
2128
2316
|
key: 0,
|
|
2129
2317
|
class: "docs-renderer-markdown__error"
|
|
2130
2318
|
};
|
|
@@ -2220,7 +2408,7 @@ var markdown_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2220
2408
|
unsubscribe?.();
|
|
2221
2409
|
});
|
|
2222
2410
|
return (_ctx, _cache) => {
|
|
2223
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$
|
|
2411
|
+
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
2412
|
key: 2,
|
|
2225
2413
|
value: content.value,
|
|
2226
2414
|
indicator: indicator.value,
|
|
@@ -2239,10 +2427,10 @@ var markdown_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2239
2427
|
});
|
|
2240
2428
|
//#endregion
|
|
2241
2429
|
//#region packages/client/src/components/renderer/markdown-editor.vue?vue&type=script&setup=true&lang.ts
|
|
2242
|
-
var _hoisted_1$
|
|
2243
|
-
var _hoisted_2$
|
|
2430
|
+
var _hoisted_1$28 = { class: "docs-renderer-module-editor" };
|
|
2431
|
+
var _hoisted_2$23 = { class: "docs-renderer-field is-wide" };
|
|
2244
2432
|
var _hoisted_3$16 = { class: "docs-renderer-field is-wide" };
|
|
2245
|
-
var _hoisted_4$
|
|
2433
|
+
var _hoisted_4$11 = { class: "docs-renderer-field is-wide is-inline" };
|
|
2246
2434
|
//#endregion
|
|
2247
2435
|
//#region packages/client/src/components/renderer/markdown-editor.vue
|
|
2248
2436
|
var markdown_editor_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -2281,8 +2469,8 @@ var markdown_editor_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2281
2469
|
} });
|
|
2282
2470
|
};
|
|
2283
2471
|
return (_ctx, _cache) => {
|
|
2284
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$
|
|
2285
|
-
(0, vue.createElementVNode)("div", _hoisted_2$
|
|
2472
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$28, [
|
|
2473
|
+
(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
2474
|
"model-value": String(__props.modelValue.source || ""),
|
|
2287
2475
|
placeholder: (0, vue.unref)(t)("renderer.editor.markdownSourceHint"),
|
|
2288
2476
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = (value) => update({ source: value }))
|
|
@@ -2293,7 +2481,7 @@ var markdown_editor_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2293
2481
|
placeholder: (0, vue.unref)(t)("renderer.editor.markdownContentHint"),
|
|
2294
2482
|
"onUpdate:modelValue": handleContent
|
|
2295
2483
|
}, null, 8, ["model-value", "placeholder"])]),
|
|
2296
|
-
(0, vue.createElementVNode)("div", _hoisted_4$
|
|
2484
|
+
(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
2485
|
"model-value": indicatorEnabled.value,
|
|
2298
2486
|
"onUpdate:modelValue": patchIndicator
|
|
2299
2487
|
}, null, 8, ["model-value"])])
|
|
@@ -2302,13 +2490,158 @@ var markdown_editor_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2302
2490
|
}
|
|
2303
2491
|
});
|
|
2304
2492
|
//#endregion
|
|
2493
|
+
//#region packages/client/src/modules/preview/config.ts
|
|
2494
|
+
var previewConfigKey = Symbol("preview-config");
|
|
2495
|
+
var isPlainObject = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
|
|
2496
|
+
var playgroundFields = [
|
|
2497
|
+
"local",
|
|
2498
|
+
"styleless",
|
|
2499
|
+
"views",
|
|
2500
|
+
"viewport",
|
|
2501
|
+
"previewInset",
|
|
2502
|
+
"expandable",
|
|
2503
|
+
"previewScroller",
|
|
2504
|
+
"title"
|
|
2505
|
+
];
|
|
2506
|
+
var normalizePlayground = (value) => {
|
|
2507
|
+
if (!isPlainObject(value)) throw new TypeError("playground must be an object");
|
|
2508
|
+
return Object.fromEntries(playgroundFields.filter((key) => key in value).map((key) => [key, value[key]]));
|
|
2509
|
+
};
|
|
2510
|
+
/**
|
|
2511
|
+
* 校验链接中可序列化的预览配置,不混入站点配置。
|
|
2512
|
+
* @param value JSON 解码后的配置。
|
|
2513
|
+
* @returns 规范化的预览配置。
|
|
2514
|
+
*/
|
|
2515
|
+
var normalizePreviewConfig = (value) => {
|
|
2516
|
+
if (!isPlainObject(value)) throw new TypeError("raw must contain a configuration object");
|
|
2517
|
+
const input = value;
|
|
2518
|
+
if (typeof input.url !== "string" || !input.url.trim()) throw new TypeError("url must be a non-empty string");
|
|
2519
|
+
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");
|
|
2520
|
+
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");
|
|
2521
|
+
if (input.lang !== void 0 && typeof input.lang !== "string") throw new TypeError("lang must be a string");
|
|
2522
|
+
return {
|
|
2523
|
+
url: input.url.trim(),
|
|
2524
|
+
styles: input.styles || [],
|
|
2525
|
+
modules: input.modules || {},
|
|
2526
|
+
...input.lang ? { lang: input.lang } : {},
|
|
2527
|
+
...input.playground !== void 0 ? { playground: normalizePlayground(input.playground) } : {}
|
|
2528
|
+
};
|
|
2529
|
+
};
|
|
2530
|
+
/**
|
|
2531
|
+
* raw 是完整配置;未指定时兼容现有 url/styles/lang 查询参数。
|
|
2532
|
+
* @param query Vue Router 已解码的查询参数。
|
|
2533
|
+
* @returns 当前链接的预览配置。
|
|
2534
|
+
*/
|
|
2535
|
+
var readPreviewConfig = (query) => {
|
|
2536
|
+
if (query.raw !== void 0) {
|
|
2537
|
+
if (typeof query.raw !== "string" || !query.raw) throw new TypeError("raw must be a single encoded configuration");
|
|
2538
|
+
return normalizePreviewConfig(JSON.parse((0, _deot_helper_unicode.decode)(query.raw)));
|
|
2539
|
+
}
|
|
2540
|
+
const styles = Array.isArray(query.styles) ? query.styles : typeof query.styles === "string" ? query.styles.split(",") : [];
|
|
2541
|
+
return {
|
|
2542
|
+
url: typeof query.url === "string" ? query.url.trim() : "",
|
|
2543
|
+
styles: styles.filter((item) => typeof item === "string"),
|
|
2544
|
+
modules: {},
|
|
2545
|
+
...typeof query.lang === "string" ? { lang: query.lang } : {}
|
|
2546
|
+
};
|
|
2547
|
+
};
|
|
2548
|
+
/**
|
|
2549
|
+
* 使用 Unicode helper 编码并正确转义 Base64 的 +、/、=。
|
|
2550
|
+
* @param config 预览配置。
|
|
2551
|
+
* @param base 站点部署根地址。
|
|
2552
|
+
* @returns 可直接分享的预览链接。
|
|
2553
|
+
*/
|
|
2554
|
+
var createPreviewUrl = (config, base) => {
|
|
2555
|
+
const url = new URL("__docs/preview", base);
|
|
2556
|
+
url.searchParams.set("raw", (0, _deot_helper_unicode.encode)(JSON.stringify(config)));
|
|
2557
|
+
return url.href;
|
|
2558
|
+
};
|
|
2559
|
+
/**
|
|
2560
|
+
* 根据资源 URL 的 pathname 选择预览组件。
|
|
2561
|
+
* @param source 资源地址。
|
|
2562
|
+
* @param base 解析相对地址的页面地址。
|
|
2563
|
+
* @returns 支持的资源类型;其他资源返回 undefined。
|
|
2564
|
+
*/
|
|
2565
|
+
var resolvePreviewType = (source, base) => {
|
|
2566
|
+
const url = new URL(source, base);
|
|
2567
|
+
if (!/^https?:$/.test(url.protocol)) return void 0;
|
|
2568
|
+
if (/\.vue$/i.test(url.pathname)) return "sfc";
|
|
2569
|
+
if (/(?:^|\/|\.)page\.json$/i.test(url.pathname)) return "page";
|
|
2570
|
+
};
|
|
2571
|
+
//#endregion
|
|
2572
|
+
//#region packages/client/src/modules/preview/styles.ts
|
|
2573
|
+
/**
|
|
2574
|
+
* 单个 styles 参数按逗号分隔;重复参数各自是一条完整 URL。
|
|
2575
|
+
* @param value Router 已解码的 styles 参数。
|
|
2576
|
+
* @param base 用于解析站点根路径的页面地址。
|
|
2577
|
+
* @returns 按声明顺序去重的样式 URL。
|
|
2578
|
+
*/
|
|
2579
|
+
var parsePreviewStyleUrls = (value, base) => {
|
|
2580
|
+
const items = Array.isArray(value) ? value : typeof value === "string" ? value.split(",") : [];
|
|
2581
|
+
return [...new Set(items.flatMap((item) => {
|
|
2582
|
+
const href = item?.trim();
|
|
2583
|
+
if (!href) return [];
|
|
2584
|
+
if (href.includes("\\") || !/^https?:\/\//i.test(href) && !(href.startsWith("/") && !href.startsWith("//"))) throw new TypeError(`Invalid stylesheet URL: ${href}`);
|
|
2585
|
+
const url = new URL(href, base);
|
|
2586
|
+
if (!/^https?:$/.test(url.protocol)) throw new TypeError(`Invalid stylesheet URL: ${href}`);
|
|
2587
|
+
return [url.href];
|
|
2588
|
+
}))];
|
|
2589
|
+
};
|
|
2590
|
+
var sharedStyles = /* @__PURE__ */ new Map();
|
|
2591
|
+
/**
|
|
2592
|
+
* 复用同一 URL 的 stylesheet,只清理本工具创建且已无引用的节点。
|
|
2593
|
+
* @param urls 已归一化的样式 URL,按加载顺序排列。
|
|
2594
|
+
* @param onError 当前预览的样式加载错误回调。
|
|
2595
|
+
* @returns 释放当前预览引用的函数。
|
|
2596
|
+
*/
|
|
2597
|
+
var acquirePreviewStyles = (urls, onError) => {
|
|
2598
|
+
const listener = (url) => onError(url);
|
|
2599
|
+
const records = [...new Set(urls)].map((url) => {
|
|
2600
|
+
let record = sharedStyles.get(url);
|
|
2601
|
+
if (!record) {
|
|
2602
|
+
const existing = [...document.querySelectorAll("link[rel~=\"stylesheet\"]")].find((link) => link.href === url && !link.disabled);
|
|
2603
|
+
const link = existing || document.createElement("link");
|
|
2604
|
+
record = {
|
|
2605
|
+
link,
|
|
2606
|
+
owned: !existing,
|
|
2607
|
+
listeners: /* @__PURE__ */ new Set(),
|
|
2608
|
+
failed: false,
|
|
2609
|
+
handleError: () => {
|
|
2610
|
+
record.failed = true;
|
|
2611
|
+
record.listeners.forEach((callback) => callback(url));
|
|
2612
|
+
}
|
|
2613
|
+
};
|
|
2614
|
+
sharedStyles.set(url, record);
|
|
2615
|
+
link.addEventListener("error", record.handleError);
|
|
2616
|
+
if (!existing) {
|
|
2617
|
+
link.rel = "stylesheet";
|
|
2618
|
+
link.href = url;
|
|
2619
|
+
link.setAttribute("data-docs-preview-style", "");
|
|
2620
|
+
document.head.appendChild(link);
|
|
2621
|
+
}
|
|
2622
|
+
}
|
|
2623
|
+
record.listeners.add(listener);
|
|
2624
|
+
if (record.failed) listener(url);
|
|
2625
|
+
return {
|
|
2626
|
+
url,
|
|
2627
|
+
record
|
|
2628
|
+
};
|
|
2629
|
+
});
|
|
2630
|
+
return () => records.forEach(({ url, record }) => {
|
|
2631
|
+
record.listeners.delete(listener);
|
|
2632
|
+
if (record.listeners.size || sharedStyles.get(url) !== record) return;
|
|
2633
|
+
record.link.removeEventListener("error", record.handleError);
|
|
2634
|
+
if (record.owned) record.link.remove();
|
|
2635
|
+
sharedStyles.delete(url);
|
|
2636
|
+
});
|
|
2637
|
+
};
|
|
2638
|
+
//#endregion
|
|
2305
2639
|
//#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 = {
|
|
2640
|
+
var _hoisted_1$27 = {
|
|
2308
2641
|
key: 0,
|
|
2309
2642
|
class: "docs-remote-sfc__error"
|
|
2310
2643
|
};
|
|
2311
|
-
var
|
|
2644
|
+
var _hoisted_2$22 = {
|
|
2312
2645
|
key: 1,
|
|
2313
2646
|
class: "docs-remote-sfc__loading"
|
|
2314
2647
|
};
|
|
@@ -2325,6 +2658,7 @@ var remote_sfc_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2325
2658
|
const { locale, t } = (0, _deot_docs_locale.useLocale)();
|
|
2326
2659
|
const router = (0, vue_router.useRouter)();
|
|
2327
2660
|
const config = getDocsConfig();
|
|
2661
|
+
const preview = (0, vue.inject)(previewConfigKey, void 0);
|
|
2328
2662
|
const loading = (0, vue.ref)(true);
|
|
2329
2663
|
const error = (0, vue.ref)("");
|
|
2330
2664
|
const files = (0, vue.ref)({});
|
|
@@ -2335,29 +2669,49 @@ var remote_sfc_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2335
2669
|
let controller;
|
|
2336
2670
|
let generation = 0;
|
|
2337
2671
|
const playgroundDefaults = (0, vue.computed)(() => resolveDocsPlaygroundComponent(config));
|
|
2672
|
+
const previewModules = (0, vue.computed)(() => JSON.stringify(preview?.value?.modules || {}));
|
|
2673
|
+
const previewPlayground = (0, vue.computed)(() => JSON.stringify(preview?.value?.playground || {}));
|
|
2674
|
+
const playgroundOptions = (0, vue.computed)(() => {
|
|
2675
|
+
const siteOptions = playgroundDefaults.value.options || {};
|
|
2676
|
+
const siteImportMap = siteOptions.builtinImportMap || {};
|
|
2677
|
+
return {
|
|
2678
|
+
...siteOptions,
|
|
2679
|
+
builtinImportMap: {
|
|
2680
|
+
...siteImportMap,
|
|
2681
|
+
imports: {
|
|
2682
|
+
...siteImportMap.imports,
|
|
2683
|
+
...config.modules,
|
|
2684
|
+
...JSON.parse(previewModules.value)
|
|
2685
|
+
}
|
|
2686
|
+
}
|
|
2687
|
+
};
|
|
2688
|
+
});
|
|
2338
2689
|
const playgroundProps = (0, vue.computed)(() => {
|
|
2339
2690
|
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 : {};
|
|
2691
|
+
const overrides = JSON.parse(previewPlayground.value);
|
|
2343
2692
|
return {
|
|
2344
2693
|
...site,
|
|
2345
2694
|
files: files.value,
|
|
2346
2695
|
entry: entry.value,
|
|
2347
2696
|
locale: locale.value,
|
|
2348
2697
|
styleless: true,
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
}
|
|
2357
|
-
}
|
|
2358
|
-
}
|
|
2698
|
+
...overrides,
|
|
2699
|
+
local: overrides.local ?? site.local ?? true,
|
|
2700
|
+
...previewStyleHead.value ? { previewOptions: {
|
|
2701
|
+
...site.previewOptions,
|
|
2702
|
+
headHTML: `${site.previewOptions?.headHTML || ""}${previewStyleHead.value}`
|
|
2703
|
+
} } : {},
|
|
2704
|
+
options: playgroundOptions.value
|
|
2359
2705
|
};
|
|
2360
2706
|
});
|
|
2707
|
+
const useIframeViewport = (0, vue.computed)(() => !!preview?.value && !playgroundProps.value.local && playgroundProps.value.styleless && !Array.isArray(playgroundProps.value.viewport));
|
|
2708
|
+
const previewStyleHead = (0, vue.computed)(() => {
|
|
2709
|
+
try {
|
|
2710
|
+
return parsePreviewStyleUrls(preview?.value?.styles, location.href).map((url) => `<link rel="stylesheet" href="${url.replaceAll("&", "&").replaceAll("\"", """)}">`).join("");
|
|
2711
|
+
} catch {
|
|
2712
|
+
return "";
|
|
2713
|
+
}
|
|
2714
|
+
});
|
|
2361
2715
|
const clearSubscriptions = () => {
|
|
2362
2716
|
while (subscriptions.length) subscriptions.pop()?.();
|
|
2363
2717
|
};
|
|
@@ -2388,12 +2742,12 @@ var remote_sfc_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2388
2742
|
lang: langSnapshot
|
|
2389
2743
|
});
|
|
2390
2744
|
if (current !== generation || activeController.signal.aborted) return;
|
|
2745
|
+
const github = createGithubSourceResolver(rootUrl, activeController.signal);
|
|
2391
2746
|
const nextFiles = {};
|
|
2392
2747
|
const visited = /* @__PURE__ */ new Set();
|
|
2393
2748
|
const activeLoads = /* @__PURE__ */ new Set();
|
|
2394
2749
|
const visit = async (url, logicalSource) => {
|
|
2395
2750
|
if (current !== generation || visited.has(url)) return;
|
|
2396
|
-
visited.add(url);
|
|
2397
2751
|
const type = getResourceType(url);
|
|
2398
2752
|
const source = logicalSource || toLogicalResourceSource(config, langSnapshot, url);
|
|
2399
2753
|
const identity = createResourceIdentity(config, langSnapshot, type, source);
|
|
@@ -2401,12 +2755,11 @@ var remote_sfc_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2401
2755
|
const reload = () => {
|
|
2402
2756
|
if (!activeLoads.has(key)) loadFiles();
|
|
2403
2757
|
};
|
|
2404
|
-
subscriptions.push(Gateway.subscribe(identity, reload));
|
|
2405
2758
|
activeLoads.add(key);
|
|
2406
2759
|
let record;
|
|
2407
2760
|
try {
|
|
2408
2761
|
record = await Gateway.load(identity, {
|
|
2409
|
-
url,
|
|
2762
|
+
url: resolveDependencyRequestUrl(url),
|
|
2410
2763
|
priority: 100,
|
|
2411
2764
|
signal: activeController.signal
|
|
2412
2765
|
});
|
|
@@ -2414,11 +2767,24 @@ var remote_sfc_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2414
2767
|
activeLoads.delete(key);
|
|
2415
2768
|
}
|
|
2416
2769
|
if (current !== generation) return;
|
|
2417
|
-
|
|
2418
|
-
|
|
2770
|
+
visited.add(url);
|
|
2771
|
+
subscriptions.push(Gateway.subscribe(identity, reload));
|
|
2772
|
+
let content = github && type === "module" ? await github.expandGlob(record.content, url) : record.content;
|
|
2773
|
+
if (!github && type !== "style") assertResolvableSourceGlobs(content, url);
|
|
2774
|
+
if (github && type === "style") content = rewritePackageStyleImports(content);
|
|
2775
|
+
nextFiles[getFilename(url, langSnapshot)] = content;
|
|
2776
|
+
const imports = /\.json(?:$|[?#])/i.test(url) ? [] : await collectResourceImports(content, type);
|
|
2777
|
+
const styles = collectResourceStyleImports(content, type);
|
|
2419
2778
|
await Promise.all(imports.filter(isSupportedDependency).map(async (value) => {
|
|
2420
|
-
const
|
|
2421
|
-
await
|
|
2779
|
+
const style = styles.includes(value) || /\.(?:scss|sass)(?:$|[?#])/i.test(value);
|
|
2780
|
+
const candidates = github ? await github.resolve(value, url, style) : dependencyUrlCandidates(value, url, style);
|
|
2781
|
+
if (candidates.some((dependency) => visited.has(dependency))) return;
|
|
2782
|
+
for (const [index, dependency] of candidates.entries()) try {
|
|
2783
|
+
await visit(dependency);
|
|
2784
|
+
break;
|
|
2785
|
+
} catch (reason) {
|
|
2786
|
+
if (visited.has(dependency) || !(reason instanceof ResourceRequestError) || reason.status !== 404 || index === candidates.length - 1) throw reason;
|
|
2787
|
+
}
|
|
2422
2788
|
}));
|
|
2423
2789
|
};
|
|
2424
2790
|
await visit(rootUrl, sourceSnapshot);
|
|
@@ -2457,7 +2823,7 @@ var remote_sfc_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2457
2823
|
clearSubscriptions();
|
|
2458
2824
|
});
|
|
2459
2825
|
return (_ctx, _cache) => {
|
|
2460
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div",
|
|
2826
|
+
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
2827
|
};
|
|
2462
2828
|
}
|
|
2463
2829
|
});
|
|
@@ -2483,7 +2849,7 @@ var sfc_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2483
2849
|
});
|
|
2484
2850
|
//#endregion
|
|
2485
2851
|
//#region packages/client/src/components/renderer/source-editor.vue?vue&type=script&setup=true&lang.ts
|
|
2486
|
-
var _hoisted_1$
|
|
2852
|
+
var _hoisted_1$26 = { class: "docs-renderer-module-editor" };
|
|
2487
2853
|
//#endregion
|
|
2488
2854
|
//#region packages/client/src/components/renderer/source-editor.vue
|
|
2489
2855
|
var source_editor_default$1 = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -2503,7 +2869,7 @@ var source_editor_default$1 = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
2503
2869
|
source
|
|
2504
2870
|
});
|
|
2505
2871
|
return (_ctx, _cache) => {
|
|
2506
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$
|
|
2872
|
+
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
2873
|
"model-value": String(__props.modelValue.source || ""),
|
|
2508
2874
|
"onUpdate:modelValue": handleUpdate
|
|
2509
2875
|
}, null, 8, ["model-value"])]);
|
|
@@ -2918,6 +3284,7 @@ var ResourcePlanner = class {
|
|
|
2918
3284
|
return parsedKeys;
|
|
2919
3285
|
}
|
|
2920
3286
|
async collectResourcesDepthFirst(config, collector, records) {
|
|
3287
|
+
const resolveDependencies = createResourceDependencyResolver(records.filter((record) => typeof record.content === "string").map((record) => record.url));
|
|
2921
3288
|
const recordsByKey = new Map(records.map((record) => [resourceIdentityKey(record.identity), record]));
|
|
2922
3289
|
const ordered = [];
|
|
2923
3290
|
const visited = /* @__PURE__ */ new Set();
|
|
@@ -2946,20 +3313,19 @@ var ResourcePlanner = class {
|
|
|
2946
3313
|
if (!record || typeof record.content !== "string") return;
|
|
2947
3314
|
let imports;
|
|
2948
3315
|
try {
|
|
2949
|
-
imports = await
|
|
3316
|
+
imports = await resolveDependencies(record.content, identity.type, record.url);
|
|
2950
3317
|
} catch {
|
|
2951
3318
|
return;
|
|
2952
3319
|
}
|
|
2953
|
-
for (const
|
|
3320
|
+
for (const url of imports) {
|
|
2954
3321
|
let source;
|
|
2955
3322
|
try {
|
|
2956
|
-
const url = resolveDependencyUrl(specifier, record.url);
|
|
2957
3323
|
source = toLogicalResourceSource(config, identity.lang, url);
|
|
2958
3324
|
} catch {
|
|
2959
3325
|
continue;
|
|
2960
3326
|
}
|
|
2961
|
-
const candidate = createResourceIdentity(config, identity.lang,
|
|
2962
|
-
const dependency = collector.add(identity.lang, source) || collector.identities.get(resourceIdentityKey(candidate));
|
|
3327
|
+
const candidate = createResourceIdentity(config, identity.lang, getResourceType(source), source);
|
|
3328
|
+
const dependency = collector.add(identity.lang, source, getResourceType(source)) || collector.identities.get(resourceIdentityKey(candidate));
|
|
2963
3329
|
if (dependency) await visit(dependency);
|
|
2964
3330
|
}
|
|
2965
3331
|
};
|
|
@@ -3166,6 +3532,7 @@ var ResourcePlanner = class {
|
|
|
3166
3532
|
return results;
|
|
3167
3533
|
}
|
|
3168
3534
|
async collectDependencyResources({ config, collector, seeds, strict, loadResources }) {
|
|
3535
|
+
const resolveDependencies = createResourceDependencyResolver((await this.gateway.list()).filter((record) => typeof record.content === "string").map((record) => record.url));
|
|
3169
3536
|
const results = [];
|
|
3170
3537
|
const processed = /* @__PURE__ */ new Set();
|
|
3171
3538
|
let queue = seeds;
|
|
@@ -3183,21 +3550,24 @@ var ResourcePlanner = class {
|
|
|
3183
3550
|
}
|
|
3184
3551
|
let imports;
|
|
3185
3552
|
try {
|
|
3186
|
-
imports = await
|
|
3553
|
+
imports = await resolveDependencies(record.content, identity.type, record.url, async (url) => {
|
|
3554
|
+
const source = toLogicalResourceSource(config, identity.lang, url);
|
|
3555
|
+
const [result] = await loadResources([createResourceIdentity(config, identity.lang, getResourceType(url), source)]);
|
|
3556
|
+
if (result.status === "rejected") throw result.reason;
|
|
3557
|
+
});
|
|
3187
3558
|
} catch (reason) {
|
|
3188
3559
|
if (strict) throw reason;
|
|
3189
3560
|
continue;
|
|
3190
3561
|
}
|
|
3191
|
-
for (const
|
|
3562
|
+
for (const url of imports) {
|
|
3192
3563
|
let source;
|
|
3193
3564
|
try {
|
|
3194
|
-
const url = resolveDependencyUrl(specifier, record.url);
|
|
3195
3565
|
source = toLogicalResourceSource(config, identity.lang, url);
|
|
3196
3566
|
} catch (reason) {
|
|
3197
3567
|
if (strict) throw reason;
|
|
3198
3568
|
continue;
|
|
3199
3569
|
}
|
|
3200
|
-
const dependency = collector.add(identity.lang, source);
|
|
3570
|
+
const dependency = collector.add(identity.lang, source, getResourceType(source));
|
|
3201
3571
|
if (dependency) discovered.push(dependency);
|
|
3202
3572
|
}
|
|
3203
3573
|
}
|
|
@@ -4211,52 +4581,52 @@ var SearchManager = class {
|
|
|
4211
4581
|
var Search = new SearchManager();
|
|
4212
4582
|
//#endregion
|
|
4213
4583
|
//#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$
|
|
4584
|
+
var _hoisted_1$25 = ["aria-label"];
|
|
4585
|
+
var _hoisted_2$21 = { class: "docs-search__header" };
|
|
4586
|
+
var _hoisted_3$15 = ["placeholder", "aria-label"];
|
|
4587
|
+
var _hoisted_4$10 = { class: "docs-search__actions" };
|
|
4588
|
+
var _hoisted_5$8 = ["aria-label"];
|
|
4589
|
+
var _hoisted_6$6 = { class: "docs-search__body" };
|
|
4590
|
+
var _hoisted_7$6 = { class: "docs-search__content" };
|
|
4591
|
+
var _hoisted_8$6 = {
|
|
4222
4592
|
key: 0,
|
|
4223
4593
|
class: "docs-search__state"
|
|
4224
4594
|
};
|
|
4225
|
-
var _hoisted_9$
|
|
4595
|
+
var _hoisted_9$4 = {
|
|
4226
4596
|
key: 1,
|
|
4227
4597
|
class: "docs-search__state docs-search__state--error"
|
|
4228
4598
|
};
|
|
4229
|
-
var _hoisted_10$
|
|
4230
|
-
var _hoisted_11$
|
|
4599
|
+
var _hoisted_10$4 = { class: "docs-search__group-title" };
|
|
4600
|
+
var _hoisted_11$4 = [
|
|
4231
4601
|
"data-search-index",
|
|
4232
4602
|
"onMouseenter",
|
|
4233
4603
|
"onClick"
|
|
4234
4604
|
];
|
|
4235
|
-
var _hoisted_12$
|
|
4605
|
+
var _hoisted_12$4 = {
|
|
4236
4606
|
class: "docs-search__result-icon",
|
|
4237
4607
|
"aria-hidden": "true"
|
|
4238
4608
|
};
|
|
4239
|
-
var _hoisted_13$
|
|
4240
|
-
var _hoisted_14$
|
|
4241
|
-
var _hoisted_15$
|
|
4609
|
+
var _hoisted_13$3 = { class: "docs-search__result-content" };
|
|
4610
|
+
var _hoisted_14$2 = { class: "docs-search__result-title" };
|
|
4611
|
+
var _hoisted_15$2 = {
|
|
4242
4612
|
key: 0,
|
|
4243
4613
|
class: "docs-search__result-parent"
|
|
4244
4614
|
};
|
|
4245
|
-
var _hoisted_16$
|
|
4615
|
+
var _hoisted_16$2 = {
|
|
4246
4616
|
key: 1,
|
|
4247
4617
|
class: "docs-search__result-excerpt"
|
|
4248
4618
|
};
|
|
4249
|
-
var _hoisted_17$
|
|
4619
|
+
var _hoisted_17$2 = {
|
|
4250
4620
|
key: 0,
|
|
4251
4621
|
class: "docs-search__state"
|
|
4252
4622
|
};
|
|
4253
|
-
var _hoisted_18 = { class: "docs-search__group-title" };
|
|
4254
|
-
var _hoisted_19 = [
|
|
4623
|
+
var _hoisted_18$1 = { class: "docs-search__group-title" };
|
|
4624
|
+
var _hoisted_19$1 = [
|
|
4255
4625
|
"data-search-index",
|
|
4256
4626
|
"onMouseenter",
|
|
4257
4627
|
"onClick"
|
|
4258
4628
|
];
|
|
4259
|
-
var _hoisted_20 = { class: "docs-search__result-content" };
|
|
4629
|
+
var _hoisted_20$1 = { class: "docs-search__result-content" };
|
|
4260
4630
|
var _hoisted_21 = { class: "docs-search__result-title" };
|
|
4261
4631
|
var _hoisted_22 = {
|
|
4262
4632
|
key: 0,
|
|
@@ -4466,7 +4836,7 @@ var search_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4466
4836
|
"aria-label": (0, vue.unref)(t)("client.search.dialogLabel"),
|
|
4467
4837
|
onKeydown: handleKeydown
|
|
4468
4838
|
}, [
|
|
4469
|
-
(0, vue.createElementVNode)("header", _hoisted_2$
|
|
4839
|
+
(0, vue.createElementVNode)("header", _hoisted_2$21, [
|
|
4470
4840
|
_cache[2] || (_cache[2] = (0, vue.createElementVNode)("span", {
|
|
4471
4841
|
class: "docs-search__icon",
|
|
4472
4842
|
"aria-hidden": "true"
|
|
@@ -4482,8 +4852,8 @@ var search_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4482
4852
|
"aria-label": (0, vue.unref)(t)("client.search.placeholder"),
|
|
4483
4853
|
onCompositionstart: _cache[1] || (_cache[1] = ($event) => composing.value = true),
|
|
4484
4854
|
onCompositionend: handleCompositionEnd
|
|
4485
|
-
}, null, 40, _hoisted_3$
|
|
4486
|
-
(0, vue.createElementVNode)("div", _hoisted_4$
|
|
4855
|
+
}, null, 40, _hoisted_3$15), [[vue.vModelText, keyword.value]]),
|
|
4856
|
+
(0, vue.createElementVNode)("div", _hoisted_4$10, [keyword.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("button", {
|
|
4487
4857
|
key: 0,
|
|
4488
4858
|
class: "docs-search__clear",
|
|
4489
4859
|
type: "button",
|
|
@@ -4493,9 +4863,9 @@ var search_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4493
4863
|
type: "button",
|
|
4494
4864
|
"aria-label": (0, vue.unref)(t)("client.search.close"),
|
|
4495
4865
|
onClick: handleClose
|
|
4496
|
-
}, " esc ", 8, _hoisted_5$
|
|
4866
|
+
}, " esc ", 8, _hoisted_5$8)])
|
|
4497
4867
|
]),
|
|
4498
|
-
(0, vue.createElementVNode)("div", _hoisted_6$
|
|
4868
|
+
(0, vue.createElementVNode)("div", _hoisted_6$6, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Scroller), {
|
|
4499
4869
|
class: "docs-search__scroller",
|
|
4500
4870
|
"auto-resize": true,
|
|
4501
4871
|
native: false,
|
|
@@ -4503,8 +4873,8 @@ var search_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4503
4873
|
height: "100%",
|
|
4504
4874
|
"wrapper-style": "overflow-x: hidden;"
|
|
4505
4875
|
}, {
|
|
4506
|
-
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_7$
|
|
4507
|
-
(0, vue.createElementVNode)("div", _hoisted_10$
|
|
4876
|
+
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 }, [
|
|
4877
|
+
(0, vue.createElementVNode)("div", _hoisted_10$4, (0, vue.toDisplayString)((0, vue.unref)(t)("client.search.documentation")), 1),
|
|
4508
4878
|
((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(results.value, (item, index) => {
|
|
4509
4879
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("button", {
|
|
4510
4880
|
key: `${item.id}:${item.kind}`,
|
|
@@ -4517,11 +4887,11 @@ var search_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4517
4887
|
onMouseenter: ($event) => handleMouseenter(index),
|
|
4518
4888
|
onClick: ($event) => handleSelect(item)
|
|
4519
4889
|
}, [
|
|
4520
|
-
(0, vue.createElementVNode)("span", _hoisted_12$
|
|
4521
|
-
(0, vue.createElementVNode)("span", _hoisted_13$
|
|
4890
|
+
(0, vue.createElementVNode)("span", _hoisted_12$4, (0, vue.toDisplayString)(item.kind === "section" ? "#" : "▤"), 1),
|
|
4891
|
+
(0, vue.createElementVNode)("span", _hoisted_13$3, [(0, vue.createElementVNode)("span", _hoisted_14$2, [(0, vue.createVNode)(highlight_text_default, {
|
|
4522
4892
|
text: item.sectionTitle || item.title,
|
|
4523
4893
|
keyword: keyword.value
|
|
4524
|
-
}, null, 8, ["text", "keyword"])]), item.kind === "section" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_15$
|
|
4894
|
+
}, 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
4895
|
text: item.excerpt,
|
|
4526
4896
|
keyword: keyword.value
|
|
4527
4897
|
}, null, 8, ["text", "keyword"])])) : (0, vue.createCommentVNode)("v-if", true)]),
|
|
@@ -4529,11 +4899,11 @@ var search_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4529
4899
|
class: "docs-search__enter",
|
|
4530
4900
|
"aria-hidden": "true"
|
|
4531
4901
|
}, "↵", -1))
|
|
4532
|
-
], 42, _hoisted_11$
|
|
4902
|
+
], 42, _hoisted_11$4);
|
|
4533
4903
|
}), 128)),
|
|
4534
|
-
!results.value.length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_17$
|
|
4904
|
+
!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
4905
|
], 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),
|
|
4906
|
+
(0, vue.createElementVNode)("div", _hoisted_18$1, (0, vue.toDisplayString)((0, vue.unref)(t)("client.search.recent")), 1),
|
|
4537
4907
|
((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(history.value, (item, index) => {
|
|
4538
4908
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
|
|
4539
4909
|
key: item.id,
|
|
@@ -4548,7 +4918,7 @@ var search_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4548
4918
|
class: "docs-search__history-icon",
|
|
4549
4919
|
"aria-hidden": "true"
|
|
4550
4920
|
}, "↶", -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)]),
|
|
4921
|
+
(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
4922
|
(0, vue.createElementVNode)("button", {
|
|
4553
4923
|
class: (0, vue.normalizeClass)(["docs-search__history-action", { "docs-search__history-action--active": item.pinned }]),
|
|
4554
4924
|
type: "button",
|
|
@@ -4561,7 +4931,7 @@ var search_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4561
4931
|
"aria-label": (0, vue.unref)(t)("client.search.remove"),
|
|
4562
4932
|
onClick: (0, vue.withModifiers)(($event) => handleRemoveHistory(item.id), ["stop"])
|
|
4563
4933
|
}, " × ", 8, _hoisted_24)
|
|
4564
|
-
], 42, _hoisted_19);
|
|
4934
|
+
], 42, _hoisted_19$1);
|
|
4565
4935
|
}), 128)),
|
|
4566
4936
|
!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
4937
|
], 64))])]),
|
|
@@ -4576,7 +4946,7 @@ var search_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4576
4946
|
(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
4947
|
(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
4948
|
])
|
|
4579
|
-
], 40, _hoisted_1$
|
|
4949
|
+
], 40, _hoisted_1$25)]);
|
|
4580
4950
|
};
|
|
4581
4951
|
}
|
|
4582
4952
|
});
|
|
@@ -4593,8 +4963,8 @@ var DocsSearch = new _deot_vc.Portal(search_default, {
|
|
|
4593
4963
|
});
|
|
4594
4964
|
//#endregion
|
|
4595
4965
|
//#region packages/client/src/components/search/trigger.vue?vue&type=script&setup=true&lang.ts
|
|
4596
|
-
var _hoisted_1$
|
|
4597
|
-
var _hoisted_2$
|
|
4966
|
+
var _hoisted_1$24 = ["aria-label"];
|
|
4967
|
+
var _hoisted_2$20 = { class: "docs-search-trigger__shortcut" };
|
|
4598
4968
|
//#endregion
|
|
4599
4969
|
//#region packages/client/src/components/search/trigger.vue
|
|
4600
4970
|
var trigger_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -4638,7 +5008,7 @@ var trigger_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4638
5008
|
}, [_cache[0] || (_cache[0] = (0, vue.createElementVNode)("span", {
|
|
4639
5009
|
class: "docs-search-trigger__icon",
|
|
4640
5010
|
"aria-hidden": "true"
|
|
4641
|
-
}, null, -1)), (0, vue.createElementVNode)("kbd", _hoisted_2$
|
|
5011
|
+
}, null, -1)), (0, vue.createElementVNode)("kbd", _hoisted_2$20, (0, vue.toDisplayString)((0, vue.unref)(shortcut)), 1)], 8, _hoisted_1$24);
|
|
4642
5012
|
};
|
|
4643
5013
|
}
|
|
4644
5014
|
});
|
|
@@ -4747,12 +5117,12 @@ var CLIENT_ICON_DEFINITIONS = {
|
|
|
4747
5117
|
};
|
|
4748
5118
|
//#endregion
|
|
4749
5119
|
//#region packages/client/src/components/icon/icon.vue?vue&type=script&setup=true&lang.ts
|
|
4750
|
-
var _hoisted_1$
|
|
5120
|
+
var _hoisted_1$23 = [
|
|
4751
5121
|
"data-icon",
|
|
4752
5122
|
"fill",
|
|
4753
5123
|
"stroke"
|
|
4754
5124
|
];
|
|
4755
|
-
var _hoisted_2$
|
|
5125
|
+
var _hoisted_2$19 = ["d"];
|
|
4756
5126
|
//#endregion
|
|
4757
5127
|
//#region packages/client/src/components/icon/icon.vue
|
|
4758
5128
|
var icon_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -4784,13 +5154,13 @@ var icon_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4784
5154
|
"stroke-linecap": "round",
|
|
4785
5155
|
"stroke-linejoin": "round",
|
|
4786
5156
|
"aria-hidden": "true"
|
|
4787
|
-
}, [(0, vue.createElementVNode)("path", { d: definition.value.path }, null, 8, _hoisted_2$
|
|
5157
|
+
}, [(0, vue.createElementVNode)("path", { d: definition.value.path }, null, 8, _hoisted_2$19)], 12, _hoisted_1$23);
|
|
4788
5158
|
};
|
|
4789
5159
|
}
|
|
4790
5160
|
});
|
|
4791
5161
|
//#endregion
|
|
4792
5162
|
//#region packages/client/src/components/theme-toggler/index.vue?vue&type=script&setup=true&lang.ts
|
|
4793
|
-
var _hoisted_1$
|
|
5163
|
+
var _hoisted_1$22 = [
|
|
4794
5164
|
"aria-checked",
|
|
4795
5165
|
"aria-label",
|
|
4796
5166
|
"onKeydown"
|
|
@@ -4828,7 +5198,7 @@ var theme_toggler_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
4828
5198
|
}, null, 8, ["model-value"]), (0, vue.createVNode)((0, vue.unref)(icon_default), {
|
|
4829
5199
|
name: isDark.value ? "moon" : "sun",
|
|
4830
5200
|
class: (0, vue.normalizeClass)(["theme-toggler__icon", isDark.value ? "is-dark" : "is-light"])
|
|
4831
|
-
}, null, 8, ["name", "class"])], 40, _hoisted_1$
|
|
5201
|
+
}, null, 8, ["name", "class"])], 40, _hoisted_1$22)) : (0, vue.createCommentVNode)("v-if", true);
|
|
4832
5202
|
};
|
|
4833
5203
|
}
|
|
4834
5204
|
});
|
|
@@ -4876,37 +5246,37 @@ var takeInlineRendererDocument = (from) => {
|
|
|
4876
5246
|
};
|
|
4877
5247
|
//#endregion
|
|
4878
5248
|
//#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$
|
|
5249
|
+
var _hoisted_1$21 = { class: "docs-header" };
|
|
5250
|
+
var _hoisted_2$18 = ["href"];
|
|
5251
|
+
var _hoisted_3$14 = ["src"];
|
|
5252
|
+
var _hoisted_4$9 = ["src"];
|
|
5253
|
+
var _hoisted_5$7 = { class: "docs-header__search" };
|
|
5254
|
+
var _hoisted_6$5 = ["aria-label"];
|
|
5255
|
+
var _hoisted_7$5 = ["aria-expanded"];
|
|
5256
|
+
var _hoisted_8$5 = ["href"];
|
|
5257
|
+
var _hoisted_9$3 = { key: 2 };
|
|
5258
|
+
var _hoisted_10$3 = ["href"];
|
|
5259
|
+
var _hoisted_11$3 = {
|
|
4890
5260
|
key: 3,
|
|
4891
5261
|
class: "docs-header__nav-item"
|
|
4892
5262
|
};
|
|
4893
|
-
var _hoisted_12$
|
|
4894
|
-
var _hoisted_13$
|
|
5263
|
+
var _hoisted_12$3 = { class: "docs-header__actions" };
|
|
5264
|
+
var _hoisted_13$2 = {
|
|
4895
5265
|
key: 0,
|
|
4896
5266
|
class: "docs-header__locales"
|
|
4897
5267
|
};
|
|
4898
|
-
var _hoisted_14 = [
|
|
5268
|
+
var _hoisted_14$1 = [
|
|
4899
5269
|
"title",
|
|
4900
5270
|
"aria-label",
|
|
4901
5271
|
"aria-expanded"
|
|
4902
5272
|
];
|
|
4903
|
-
var _hoisted_15 = [
|
|
5273
|
+
var _hoisted_15$1 = [
|
|
4904
5274
|
"href",
|
|
4905
5275
|
"title",
|
|
4906
5276
|
"aria-label"
|
|
4907
5277
|
];
|
|
4908
|
-
var _hoisted_16 = { class: "docs-header__tools" };
|
|
4909
|
-
var _hoisted_17 = [
|
|
5278
|
+
var _hoisted_16$1 = { class: "docs-header__tools" };
|
|
5279
|
+
var _hoisted_17$1 = [
|
|
4910
5280
|
"title",
|
|
4911
5281
|
"aria-label",
|
|
4912
5282
|
"aria-expanded"
|
|
@@ -5069,7 +5439,7 @@ var default_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5069
5439
|
if (action === "database") router.push(databasePath.value);
|
|
5070
5440
|
};
|
|
5071
5441
|
return (_ctx, _cache) => {
|
|
5072
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("header", _hoisted_1$
|
|
5442
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("header", _hoisted_1$21, [
|
|
5073
5443
|
brandExternal.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("a", {
|
|
5074
5444
|
key: 0,
|
|
5075
5445
|
class: "docs-header__brand",
|
|
@@ -5081,7 +5451,7 @@ var default_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5081
5451
|
class: "docs-header__brand-logo",
|
|
5082
5452
|
src: brandLogo.value,
|
|
5083
5453
|
alt: ""
|
|
5084
|
-
}, null, 8, _hoisted_3$
|
|
5454
|
+
}, 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
5455
|
key: 1,
|
|
5086
5456
|
class: "docs-header__brand",
|
|
5087
5457
|
to: brandPath.value
|
|
@@ -5091,10 +5461,10 @@ var default_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5091
5461
|
class: "docs-header__brand-logo",
|
|
5092
5462
|
src: brandLogo.value,
|
|
5093
5463
|
alt: ""
|
|
5094
|
-
}, null, 8, _hoisted_4$
|
|
5464
|
+
}, null, 8, _hoisted_4$9)) : (0, vue.createCommentVNode)("v-if", true), (0, vue.createTextVNode)(" " + (0, vue.toDisplayString)(brandLabel.value), 1)]),
|
|
5095
5465
|
_: 1
|
|
5096
5466
|
}, 8, ["to"])),
|
|
5097
|
-
(0, vue.createElementVNode)("div", _hoisted_5$
|
|
5467
|
+
(0, vue.createElementVNode)("div", _hoisted_5$7, [(0, vue.createVNode)((0, vue.unref)(trigger_default))]),
|
|
5098
5468
|
navItems.value.length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("nav", {
|
|
5099
5469
|
key: 2,
|
|
5100
5470
|
class: "docs-header__nav",
|
|
@@ -5126,13 +5496,13 @@ var default_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5126
5496
|
href: child.value,
|
|
5127
5497
|
target: "_blank",
|
|
5128
5498
|
rel: "noopener noreferrer"
|
|
5129
|
-
}, (0, vue.toDisplayString)(child.label), 9, _hoisted_8$
|
|
5499
|
+
}, (0, vue.toDisplayString)(child.label), 9, _hoisted_8$5)) : child.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(vue_router.RouterLink), {
|
|
5130
5500
|
key: 1,
|
|
5131
5501
|
to: (0, vue.unref)(localizePath)((0, vue.unref)(config), lang.value, child.value)
|
|
5132
5502
|
}, {
|
|
5133
5503
|
default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)(child.label), 1)]),
|
|
5134
5504
|
_: 2
|
|
5135
|
-
}, 1032, ["to"])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_9$
|
|
5505
|
+
}, 1032, ["to"])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_9$3, (0, vue.toDisplayString)(child.label), 1))]),
|
|
5136
5506
|
_: 2
|
|
5137
5507
|
}, 1032, ["value"]);
|
|
5138
5508
|
}), 128))]),
|
|
@@ -5143,7 +5513,7 @@ var default_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5143
5513
|
class: (0, vue.normalizeClass)(["docs-header__nav-item docs-header__nav-trigger", { "is-active": isNavItemActive(item) }]),
|
|
5144
5514
|
"aria-expanded": Boolean(navMenuVisible.value[index]),
|
|
5145
5515
|
"aria-haspopup": "menu"
|
|
5146
|
-
}, (0, vue.toDisplayString)(item.label), 11, _hoisted_7$
|
|
5516
|
+
}, (0, vue.toDisplayString)(item.label), 11, _hoisted_7$5)]),
|
|
5147
5517
|
_: 2
|
|
5148
5518
|
}, 1032, ["model-value", "onUpdate:modelValue"])) : item.value && (0, vue.unref)(isExternalLink)(item.value) ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("a", {
|
|
5149
5519
|
key: 1,
|
|
@@ -5151,18 +5521,18 @@ var default_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5151
5521
|
href: item.value,
|
|
5152
5522
|
target: "_blank",
|
|
5153
5523
|
rel: "noopener noreferrer"
|
|
5154
|
-
}, (0, vue.toDisplayString)(item.label), 9, _hoisted_10$
|
|
5524
|
+
}, (0, vue.toDisplayString)(item.label), 9, _hoisted_10$3)) : item.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(vue_router.RouterLink), {
|
|
5155
5525
|
key: 2,
|
|
5156
5526
|
class: (0, vue.normalizeClass)(["docs-header__nav-item", { "is-active": isNavItemActive(item) }]),
|
|
5157
5527
|
to: (0, vue.unref)(localizePath)((0, vue.unref)(config), lang.value, item.value)
|
|
5158
5528
|
}, {
|
|
5159
5529
|
default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)(item.label), 1)]),
|
|
5160
5530
|
_: 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$
|
|
5531
|
+
}, 1032, ["class", "to"])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_11$3, (0, vue.toDisplayString)(item.label), 1))], 64);
|
|
5532
|
+
}), 128))], 8, _hoisted_6$5)) : (0, vue.createCommentVNode)("v-if", true),
|
|
5533
|
+
(0, vue.createElementVNode)("div", _hoisted_12$3, [
|
|
5164
5534
|
(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$
|
|
5535
|
+
localeOptions.value.length > 1 ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("nav", _hoisted_13$2, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Dropdown), {
|
|
5166
5536
|
modelValue: localeMenuVisible.value,
|
|
5167
5537
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => localeMenuVisible.value = $event),
|
|
5168
5538
|
class: "docs-header__locale-dropdown",
|
|
@@ -5205,7 +5575,7 @@ var default_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5205
5575
|
}, [(0, vue.createVNode)((0, vue.unref)(icon_default), {
|
|
5206
5576
|
name: "language",
|
|
5207
5577
|
size: 22
|
|
5208
|
-
})], 8, _hoisted_14)]),
|
|
5578
|
+
})], 8, _hoisted_14$1)]),
|
|
5209
5579
|
_: 1
|
|
5210
5580
|
}, 8, ["modelValue"])])) : (0, vue.createCommentVNode)("v-if", true),
|
|
5211
5581
|
repositoryHref.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("a", {
|
|
@@ -5219,8 +5589,8 @@ var default_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5219
5589
|
}, [(0, vue.createVNode)((0, vue.unref)(icon_default), {
|
|
5220
5590
|
name: repositoryIcon.value,
|
|
5221
5591
|
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), {
|
|
5592
|
+
}, null, 8, ["name"])], 8, _hoisted_15$1)) : (0, vue.createCommentVNode)("v-if", true),
|
|
5593
|
+
(0, vue.createElementVNode)("nav", _hoisted_16$1, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Dropdown), {
|
|
5224
5594
|
modelValue: toolsMenuVisible.value,
|
|
5225
5595
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => toolsMenuVisible.value = $event),
|
|
5226
5596
|
class: "docs-header__tools-dropdown",
|
|
@@ -5261,7 +5631,7 @@ var default_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5261
5631
|
}, [(0, vue.createVNode)((0, vue.unref)(icon_default), {
|
|
5262
5632
|
name: "more",
|
|
5263
5633
|
size: 22
|
|
5264
|
-
})], 8, _hoisted_17)]),
|
|
5634
|
+
})], 8, _hoisted_17$1)]),
|
|
5265
5635
|
_: 1
|
|
5266
5636
|
}, 8, ["modelValue"])])
|
|
5267
5637
|
])
|
|
@@ -5326,11 +5696,11 @@ var pickSidebarIconValue = (icon, selected) => {
|
|
|
5326
5696
|
};
|
|
5327
5697
|
//#endregion
|
|
5328
5698
|
//#region packages/client/src/components/layout/sidebar-glyph.vue?vue&type=script&setup=true&lang.ts
|
|
5329
|
-
var _hoisted_1$
|
|
5699
|
+
var _hoisted_1$20 = {
|
|
5330
5700
|
key: 0,
|
|
5331
5701
|
class: "docs-sidebar__icon"
|
|
5332
5702
|
};
|
|
5333
|
-
var _hoisted_2$
|
|
5703
|
+
var _hoisted_2$17 = ["src"];
|
|
5334
5704
|
//#endregion
|
|
5335
5705
|
//#region packages/client/src/components/layout/sidebar-glyph.vue
|
|
5336
5706
|
var sidebar_glyph_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -5346,12 +5716,12 @@ var sidebar_glyph_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5346
5716
|
const kind = (0, vue.computed)(() => resolveSidebarIconKind(value.value));
|
|
5347
5717
|
const src = (0, vue.computed)(() => toSidebarIconSrc(value.value));
|
|
5348
5718
|
return (_ctx, _cache) => {
|
|
5349
|
-
return value.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_1$
|
|
5719
|
+
return value.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_1$20, [kind.value === "url" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("img", {
|
|
5350
5720
|
key: 0,
|
|
5351
5721
|
class: "docs-sidebar__media",
|
|
5352
5722
|
src: src.value,
|
|
5353
5723
|
alt: ""
|
|
5354
|
-
}, null, 8, _hoisted_2$
|
|
5724
|
+
}, null, 8, _hoisted_2$17)) : kind.value === "type" ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_deot_vc.Icon), {
|
|
5355
5725
|
key: 1,
|
|
5356
5726
|
class: "docs-sidebar__glyph",
|
|
5357
5727
|
type: value.value,
|
|
@@ -5362,23 +5732,23 @@ var sidebar_glyph_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5362
5732
|
});
|
|
5363
5733
|
//#endregion
|
|
5364
5734
|
//#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$
|
|
5735
|
+
var _hoisted_1$19 = ["href"];
|
|
5736
|
+
var _hoisted_2$16 = { class: "docs-sidebar__text" };
|
|
5737
|
+
var _hoisted_3$13 = {
|
|
5368
5738
|
key: 0,
|
|
5369
5739
|
class: "docs-sidebar__tag"
|
|
5370
5740
|
};
|
|
5371
|
-
var _hoisted_4$
|
|
5372
|
-
var _hoisted_5$
|
|
5741
|
+
var _hoisted_4$8 = { class: "docs-sidebar__text" };
|
|
5742
|
+
var _hoisted_5$6 = {
|
|
5373
5743
|
key: 0,
|
|
5374
5744
|
class: "docs-sidebar__tag"
|
|
5375
5745
|
};
|
|
5376
|
-
var _hoisted_6$
|
|
5746
|
+
var _hoisted_6$4 = {
|
|
5377
5747
|
key: 2,
|
|
5378
5748
|
class: "docs-sidebar__label"
|
|
5379
5749
|
};
|
|
5380
|
-
var _hoisted_7$
|
|
5381
|
-
var _hoisted_8$
|
|
5750
|
+
var _hoisted_7$4 = { class: "docs-sidebar__text" };
|
|
5751
|
+
var _hoisted_8$4 = {
|
|
5382
5752
|
key: 0,
|
|
5383
5753
|
class: "docs-sidebar__tag"
|
|
5384
5754
|
};
|
|
@@ -5417,9 +5787,9 @@ var default_sidebar_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5417
5787
|
href: item.value
|
|
5418
5788
|
}, [
|
|
5419
5789
|
(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$
|
|
5790
|
+
(0, vue.createElementVNode)("span", _hoisted_2$16, (0, vue.toDisplayString)(item.label), 1),
|
|
5791
|
+
item.tag ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$13, (0, vue.toDisplayString)(item.tag), 1)) : (0, vue.createCommentVNode)("v-if", true)
|
|
5792
|
+
], 8, _hoisted_1$19)) : item.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(vue_router.RouterLink), {
|
|
5423
5793
|
key: 1,
|
|
5424
5794
|
class: (0, vue.normalizeClass)(["docs-sidebar__link", { "is-active": isItemActive(item.value) }]),
|
|
5425
5795
|
to: toPath(item.value)
|
|
@@ -5429,14 +5799,14 @@ var default_sidebar_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5429
5799
|
item,
|
|
5430
5800
|
selected: isItemActive(item.value)
|
|
5431
5801
|
}, null, 8, ["item", "selected"]),
|
|
5432
|
-
(0, vue.createElementVNode)("span", _hoisted_4$
|
|
5433
|
-
item.tag ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_5$
|
|
5802
|
+
(0, vue.createElementVNode)("span", _hoisted_4$8, (0, vue.toDisplayString)(item.label), 1),
|
|
5803
|
+
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
5804
|
]),
|
|
5435
5805
|
_: 2
|
|
5436
|
-
}, 1032, ["class", "to"])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_6$
|
|
5806
|
+
}, 1032, ["class", "to"])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_6$4, [
|
|
5437
5807
|
(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$
|
|
5808
|
+
(0, vue.createElementVNode)("span", _hoisted_7$4, (0, vue.toDisplayString)(item.label), 1),
|
|
5809
|
+
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
5810
|
])), item.children?.length ? ((0, vue.openBlock)(), (0, vue.createBlock)(_component_DefaultSidebar, {
|
|
5441
5811
|
key: 3,
|
|
5442
5812
|
items: item.children,
|
|
@@ -5449,8 +5819,8 @@ var default_sidebar_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5449
5819
|
});
|
|
5450
5820
|
//#endregion
|
|
5451
5821
|
//#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$
|
|
5822
|
+
var _hoisted_1$18 = ["aria-label"];
|
|
5823
|
+
var _hoisted_2$15 = [
|
|
5454
5824
|
"aria-checked",
|
|
5455
5825
|
"aria-label",
|
|
5456
5826
|
"tabindex",
|
|
@@ -5517,20 +5887,20 @@ var content_width_toggle_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5517
5887
|
class: "docs-content-width__icon",
|
|
5518
5888
|
name: option.icon,
|
|
5519
5889
|
size: 12
|
|
5520
|
-
}, null, 8, ["name"])], 10, _hoisted_2$
|
|
5521
|
-
}), 128))], 40, _hoisted_1$
|
|
5890
|
+
}, null, 8, ["name"])], 10, _hoisted_2$15);
|
|
5891
|
+
}), 128))], 40, _hoisted_1$18);
|
|
5522
5892
|
};
|
|
5523
5893
|
}
|
|
5524
5894
|
});
|
|
5525
5895
|
//#endregion
|
|
5526
5896
|
//#region packages/client/src/components/layout/page-header.vue?vue&type=script&setup=true&lang.ts
|
|
5527
|
-
var _hoisted_1$
|
|
5528
|
-
var _hoisted_2$
|
|
5897
|
+
var _hoisted_1$17 = { class: "docs-page-header" };
|
|
5898
|
+
var _hoisted_2$14 = {
|
|
5529
5899
|
key: 0,
|
|
5530
5900
|
class: "docs-page-header__start"
|
|
5531
5901
|
};
|
|
5532
|
-
var _hoisted_3$
|
|
5533
|
-
var _hoisted_4$
|
|
5902
|
+
var _hoisted_3$12 = { class: "docs-page-header__eyebrow" };
|
|
5903
|
+
var _hoisted_4$7 = { class: "docs-page-header__end" };
|
|
5534
5904
|
//#endregion
|
|
5535
5905
|
//#region packages/client/src/components/layout/page-header.vue
|
|
5536
5906
|
var page_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -5544,13 +5914,13 @@ var page_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5544
5914
|
return findSidebarSection(sidebarItems.value, route.path, lang.value);
|
|
5545
5915
|
});
|
|
5546
5916
|
return (_ctx, _cache) => {
|
|
5547
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("header", _hoisted_1$
|
|
5917
|
+
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
5918
|
};
|
|
5549
5919
|
}
|
|
5550
5920
|
});
|
|
5551
5921
|
//#endregion
|
|
5552
5922
|
//#region packages/client/src/components/layout/page-footer.vue?vue&type=script&setup=true&lang.ts
|
|
5553
|
-
var _hoisted_1$
|
|
5923
|
+
var _hoisted_1$16 = ["aria-label"];
|
|
5554
5924
|
//#endregion
|
|
5555
5925
|
//#region packages/client/src/components/layout/page-footer.vue
|
|
5556
5926
|
var page_footer_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -5606,7 +5976,7 @@ var page_footer_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5606
5976
|
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
5977
|
})], -1))]),
|
|
5608
5978
|
_: 1
|
|
5609
|
-
}, 8, ["to", "aria-label"])) : (0, vue.createCommentVNode)("v-if", true)], 8, _hoisted_1$
|
|
5979
|
+
}, 8, ["to", "aria-label"])) : (0, vue.createCommentVNode)("v-if", true)], 8, _hoisted_1$16)) : (0, vue.createCommentVNode)("v-if", true);
|
|
5610
5980
|
};
|
|
5611
5981
|
}
|
|
5612
5982
|
});
|
|
@@ -5734,8 +6104,8 @@ var resolveOutlineScrollerHeight = (maxHeight, listSize) => {
|
|
|
5734
6104
|
};
|
|
5735
6105
|
//#endregion
|
|
5736
6106
|
//#region packages/client/src/components/layout/page-outline.vue?vue&type=script&setup=true&lang.ts
|
|
5737
|
-
var _hoisted_1$
|
|
5738
|
-
var _hoisted_2$
|
|
6107
|
+
var _hoisted_1$15 = ["aria-label"];
|
|
6108
|
+
var _hoisted_2$13 = { class: "docs-page-outline__title" };
|
|
5739
6109
|
var SCROLL_THRESHOLD = 80;
|
|
5740
6110
|
//#endregion
|
|
5741
6111
|
//#region packages/client/src/components/layout/page-outline.vue
|
|
@@ -5841,7 +6211,7 @@ var page_outline_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5841
6211
|
const followActiveLink = async () => {
|
|
5842
6212
|
await (0, vue.nextTick)();
|
|
5843
6213
|
const current = outlineRoot.value?.querySelector("a[aria-current=\"location\"]");
|
|
5844
|
-
const wrapper = outlineRoot.value?.querySelector(".vc-
|
|
6214
|
+
const wrapper = outlineRoot.value?.querySelector(".vc-scroller");
|
|
5845
6215
|
if (!current || !wrapper) return;
|
|
5846
6216
|
const currentRect = current.getBoundingClientRect();
|
|
5847
6217
|
const wrapperRect = wrapper.getBoundingClientRect();
|
|
@@ -5931,7 +6301,7 @@ var page_outline_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5931
6301
|
const scrollHeadingIntoView = (id) => {
|
|
5932
6302
|
const target = headings.value.find((item) => item.id === id)?.element;
|
|
5933
6303
|
if (!target) return;
|
|
5934
|
-
const scroller = target.closest(".docs-layout__main-scroller")?.querySelector(".vc-
|
|
6304
|
+
const scroller = target.closest(".docs-layout__main-scroller")?.querySelector(".vc-scroller") || target.closest(".vc-scroller");
|
|
5935
6305
|
if (scroller) {
|
|
5936
6306
|
scroller.scrollTop += target.getBoundingClientRect().top - scroller.getBoundingClientRect().top;
|
|
5937
6307
|
return;
|
|
@@ -5975,7 +6345,7 @@ var page_outline_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5975
6345
|
class: "docs-page-outline",
|
|
5976
6346
|
style: (0, vue.normalizeStyle)(rootStyle.value),
|
|
5977
6347
|
"aria-label": (0, vue.unref)(t)("client.page.outline")
|
|
5978
|
-
}, [(0, vue.createElementVNode)("p", _hoisted_2$
|
|
6348
|
+
}, [(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
6349
|
ref_key: "outlineScroller",
|
|
5980
6350
|
ref: outlineScroller,
|
|
5981
6351
|
class: "docs-page-outline__scroller",
|
|
@@ -5991,7 +6361,7 @@ var page_outline_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
5991
6361
|
onSelect: handleSelect
|
|
5992
6362
|
}, null, 8, ["items", "active-id"])]),
|
|
5993
6363
|
_: 1
|
|
5994
|
-
}, 8, ["show-bar", "height"])], 12, _hoisted_1$
|
|
6364
|
+
}, 8, ["show-bar", "height"])], 12, _hoisted_1$15)) : (0, vue.createCommentVNode)("v-if", true);
|
|
5995
6365
|
};
|
|
5996
6366
|
}
|
|
5997
6367
|
});
|
|
@@ -6014,32 +6384,37 @@ var omitRouteQuery = (query, keys) => {
|
|
|
6014
6384
|
};
|
|
6015
6385
|
//#endregion
|
|
6016
6386
|
//#region packages/client/src/components/layout/resource-slot.vue?vue&type=script&setup=true&lang.ts
|
|
6017
|
-
var _hoisted_1$
|
|
6387
|
+
var _hoisted_1$14 = [
|
|
6018
6388
|
"data-slot",
|
|
6019
6389
|
"data-resource-type",
|
|
6020
6390
|
"data-content-width"
|
|
6021
6391
|
];
|
|
6022
|
-
var _hoisted_2$
|
|
6023
|
-
key:
|
|
6392
|
+
var _hoisted_2$12 = {
|
|
6393
|
+
key: 0,
|
|
6394
|
+
class: "docs-resource-slot__error",
|
|
6395
|
+
role: "alert"
|
|
6396
|
+
};
|
|
6397
|
+
var _hoisted_3$11 = {
|
|
6398
|
+
key: 5,
|
|
6024
6399
|
class: "docs-resource-slot__page"
|
|
6025
6400
|
};
|
|
6026
|
-
var
|
|
6401
|
+
var _hoisted_4$6 = {
|
|
6027
6402
|
key: 0,
|
|
6028
6403
|
class: "docs-resource-slot__error"
|
|
6029
6404
|
};
|
|
6030
|
-
var
|
|
6031
|
-
key:
|
|
6405
|
+
var _hoisted_5$5 = {
|
|
6406
|
+
key: 6,
|
|
6032
6407
|
class: "docs-resource-slot__error"
|
|
6033
6408
|
};
|
|
6034
|
-
var
|
|
6035
|
-
key:
|
|
6409
|
+
var _hoisted_6$3 = {
|
|
6410
|
+
key: 7,
|
|
6036
6411
|
class: "docs-resource-slot__loading"
|
|
6037
6412
|
};
|
|
6038
|
-
var
|
|
6039
|
-
key:
|
|
6413
|
+
var _hoisted_7$3 = {
|
|
6414
|
+
key: 8,
|
|
6040
6415
|
class: "docs-resource-slot__body"
|
|
6041
6416
|
};
|
|
6042
|
-
var
|
|
6417
|
+
var _hoisted_8$3 = ["data-builtin"];
|
|
6043
6418
|
//#endregion
|
|
6044
6419
|
//#region packages/client/src/components/layout/resource-slot.vue
|
|
6045
6420
|
var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -6060,6 +6435,26 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6060
6435
|
const contentWidth = ContentWidth.current;
|
|
6061
6436
|
const content = (0, vue.ref)("");
|
|
6062
6437
|
const error = (0, vue.ref)("");
|
|
6438
|
+
const styleError = (0, vue.ref)("");
|
|
6439
|
+
let releaseStyles;
|
|
6440
|
+
const preview = (0, vue.computed)(() => {
|
|
6441
|
+
if (!route.meta.docsPreview || props.name !== "content") return {
|
|
6442
|
+
config: void 0,
|
|
6443
|
+
error: ""
|
|
6444
|
+
};
|
|
6445
|
+
try {
|
|
6446
|
+
return {
|
|
6447
|
+
config: readPreviewConfig(route.query),
|
|
6448
|
+
error: ""
|
|
6449
|
+
};
|
|
6450
|
+
} catch (reason) {
|
|
6451
|
+
return {
|
|
6452
|
+
config: void 0,
|
|
6453
|
+
error: t("client.common.previewConfigFailed", { message: reason instanceof Error ? reason.message : String(reason) })
|
|
6454
|
+
};
|
|
6455
|
+
}
|
|
6456
|
+
});
|
|
6457
|
+
(0, vue.provide)(previewConfigKey, (0, vue.computed)(() => preview.value.config));
|
|
6063
6458
|
const loading = (0, vue.ref)(false);
|
|
6064
6459
|
const source = (0, vue.ref)("");
|
|
6065
6460
|
const resourceType = (0, vue.ref)("");
|
|
@@ -6202,7 +6597,7 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6202
6597
|
if (current !== generation) return;
|
|
6203
6598
|
target = getHashTarget(hash);
|
|
6204
6599
|
}
|
|
6205
|
-
const scroller = target?.closest(".vc-
|
|
6600
|
+
const scroller = target?.closest(".vc-scroller");
|
|
6206
6601
|
if (target && scroller) {
|
|
6207
6602
|
scroller.scrollTop += target.getBoundingClientRect().top - scroller.getBoundingClientRect().top;
|
|
6208
6603
|
return;
|
|
@@ -6304,6 +6699,15 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6304
6699
|
if (current === generation && stableSlotKey) activeStableSlotKey = stableSlotKey;
|
|
6305
6700
|
};
|
|
6306
6701
|
try {
|
|
6702
|
+
let directType;
|
|
6703
|
+
if (route.meta.docsPreview && props.name === "content") {
|
|
6704
|
+
if (preview.value.error) throw new TypeError(preview.value.error);
|
|
6705
|
+
const url = preview.value.config?.url;
|
|
6706
|
+
if (typeof url !== "string" || !url.trim()) throw new TypeError(t("client.common.previewUrlRequired"));
|
|
6707
|
+
slot = url.trim();
|
|
6708
|
+
directType = resolvePreviewType(slot, location.href);
|
|
6709
|
+
if (!directType) throw new TypeError(t("client.common.previewUrlUnsupported"));
|
|
6710
|
+
}
|
|
6307
6711
|
if (slot === null) {
|
|
6308
6712
|
markStableSlot();
|
|
6309
6713
|
return;
|
|
@@ -6334,7 +6738,7 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6334
6738
|
}) || `./${getRouteValue(route, config)}.md`;
|
|
6335
6739
|
if (current !== generation || typeof slot !== "string") return;
|
|
6336
6740
|
source.value = slot;
|
|
6337
|
-
resourceType.value = classifyResourceSource(slot);
|
|
6741
|
+
resourceType.value = directType || classifyResourceSource(slot);
|
|
6338
6742
|
if (resourceType.value === "sfc") {
|
|
6339
6743
|
markStableSlot();
|
|
6340
6744
|
return;
|
|
@@ -6370,9 +6774,32 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6370
6774
|
}
|
|
6371
6775
|
}
|
|
6372
6776
|
};
|
|
6777
|
+
(0, vue.watch)(() => JSON.stringify([
|
|
6778
|
+
route.meta.docsPreview,
|
|
6779
|
+
route.path,
|
|
6780
|
+
preview.value.config?.url,
|
|
6781
|
+
preview.value.config?.styles,
|
|
6782
|
+
props.name
|
|
6783
|
+
]), () => {
|
|
6784
|
+
releaseStyles?.();
|
|
6785
|
+
releaseStyles = void 0;
|
|
6786
|
+
styleError.value = "";
|
|
6787
|
+
if (!preview.value.config) return;
|
|
6788
|
+
try {
|
|
6789
|
+
releaseStyles = acquirePreviewStyles(parsePreviewStyleUrls(preview.value.config.styles, location.href), (url) => {
|
|
6790
|
+
styleError.value = t("client.common.previewStyleFailed", { url });
|
|
6791
|
+
});
|
|
6792
|
+
} catch (reason) {
|
|
6793
|
+
styleError.value = reason instanceof Error ? reason.message : String(reason);
|
|
6794
|
+
}
|
|
6795
|
+
}, { immediate: true });
|
|
6373
6796
|
(0, vue.watch)([
|
|
6374
6797
|
() => route.path,
|
|
6375
|
-
() => JSON.stringify(
|
|
6798
|
+
() => route.meta.docsPreview ? JSON.stringify([
|
|
6799
|
+
preview.value.error,
|
|
6800
|
+
preview.value.config?.url,
|
|
6801
|
+
lang.value
|
|
6802
|
+
]) : JSON.stringify(omitRouteQuery(route.query, ["tab"])),
|
|
6376
6803
|
() => props.name
|
|
6377
6804
|
], load, { immediate: true });
|
|
6378
6805
|
(0, vue.watch)(() => route.hash, (hash) => {
|
|
@@ -6395,6 +6822,7 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6395
6822
|
});
|
|
6396
6823
|
(0, vue.onBeforeUnmount)(() => {
|
|
6397
6824
|
generation += 1;
|
|
6825
|
+
releaseStyles?.();
|
|
6398
6826
|
clear();
|
|
6399
6827
|
if (props.name === "sidebar") setSidebarItems(null);
|
|
6400
6828
|
});
|
|
@@ -6407,14 +6835,14 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6407
6835
|
"data-resource-type": resourceType.value || void 0,
|
|
6408
6836
|
"data-content-width": __props.name === "content" && resourceType.value === "markdown" ? (0, vue.unref)(contentWidth) : void 0,
|
|
6409
6837
|
style: (0, vue.normalizeStyle)({ minHeight: transitionMinHeight.value })
|
|
6410
|
-
}, [builtin.value === "header" ? ((0, vue.openBlock)(), (0, vue.createBlock)(default_header_default, { key:
|
|
6411
|
-
key:
|
|
6838
|
+
}, [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, {
|
|
6839
|
+
key: 3,
|
|
6412
6840
|
items: sidebarItems.value
|
|
6413
6841
|
}, null, 8, ["items"])) : resourceType.value === "sfc" && source.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(remote_sfc_default), {
|
|
6414
|
-
key:
|
|
6842
|
+
key: 4,
|
|
6415
6843
|
source: source.value,
|
|
6416
6844
|
lang: lang.value
|
|
6417
|
-
}, null, 8, ["source", "lang"])) : pageDocument.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div",
|
|
6845
|
+
}, 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
6846
|
document: pageDocument.value,
|
|
6419
6847
|
modules: (0, vue.unref)(rendererModules),
|
|
6420
6848
|
context: rendererContext.value,
|
|
@@ -6424,7 +6852,7 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6424
6852
|
"modules",
|
|
6425
6853
|
"context",
|
|
6426
6854
|
"fit"
|
|
6427
|
-
])])) : error.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div",
|
|
6855
|
+
])])) : 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
6856
|
ref: bindArticle,
|
|
6429
6857
|
class: "docs-resource-slot__article"
|
|
6430
6858
|
}, [
|
|
@@ -6442,8 +6870,8 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6442
6870
|
"playground"
|
|
6443
6871
|
]),
|
|
6444
6872
|
(0, vue.createVNode)(page_footer_default)
|
|
6445
|
-
]), (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:
|
|
6873
|
+
], 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), {
|
|
6874
|
+
key: 9,
|
|
6447
6875
|
value: content.value,
|
|
6448
6876
|
theme: markdownTheme.value,
|
|
6449
6877
|
indicator: markdownIndicator.value,
|
|
@@ -6455,10 +6883,10 @@ var resource_slot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
6455
6883
|
"indicator",
|
|
6456
6884
|
"playground"
|
|
6457
6885
|
])) : builtin.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
|
|
6458
|
-
key:
|
|
6886
|
+
key: 10,
|
|
6459
6887
|
class: "docs-resource-slot__builtin",
|
|
6460
6888
|
"data-builtin": builtin.value
|
|
6461
|
-
}, null, 8,
|
|
6889
|
+
}, null, 8, _hoisted_8$3)) : (0, vue.createCommentVNode)("v-if", true)], 12, _hoisted_1$14);
|
|
6462
6890
|
};
|
|
6463
6891
|
}
|
|
6464
6892
|
});
|
|
@@ -7577,11 +8005,11 @@ var listRendererEditorDemos = (lang) => RENDERER_EDITOR_DEMOS.map((name) => ({
|
|
|
7577
8005
|
var createRendererEditorDemoDocument = (demo, lang) => factories[demo](lang);
|
|
7578
8006
|
//#endregion
|
|
7579
8007
|
//#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$
|
|
8008
|
+
var _hoisted_1$13 = { class: "docs-app__header" };
|
|
8009
|
+
var _hoisted_2$11 = ["aria-label", "aria-expanded"];
|
|
8010
|
+
var _hoisted_3$10 = ["aria-label"];
|
|
8011
|
+
var _hoisted_4$5 = { class: "docs-layout__main" };
|
|
8012
|
+
var _hoisted_5$4 = { class: "docs-layout__footer" };
|
|
7585
8013
|
//#endregion
|
|
7586
8014
|
//#region packages/client/src/app.vue
|
|
7587
8015
|
var app_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -7589,6 +8017,7 @@ var app_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
7589
8017
|
setup(__props) {
|
|
7590
8018
|
const route = (0, vue_router.useRoute)();
|
|
7591
8019
|
const router = (0, vue_router.useRouter)();
|
|
8020
|
+
const routeLayout = (0, vue.computed)(() => route.meta.docsRoute?.layout ?? "default");
|
|
7592
8021
|
const { t } = (0, _deot_docs_locale.useLocale)();
|
|
7593
8022
|
const mainScroller = (0, vue.ref)();
|
|
7594
8023
|
const mobileSidebarOpen = (0, vue.ref)(false);
|
|
@@ -7626,21 +8055,25 @@ var app_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
7626
8055
|
mainScroller.value?.setScrollTop(0);
|
|
7627
8056
|
});
|
|
7628
8057
|
return (_ctx, _cache) => {
|
|
7629
|
-
return (0, vue.openBlock)(), (0, vue.
|
|
8058
|
+
return routeLayout.value === "none" ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(vue_router.RouterView), {
|
|
8059
|
+
key: 0,
|
|
8060
|
+
class: "docs-page--none"
|
|
8061
|
+
})) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
|
|
8062
|
+
key: 1,
|
|
7630
8063
|
class: (0, vue.normalizeClass)(["docs-app", {
|
|
7631
8064
|
"docs-app--database": isUtilityShell.value,
|
|
7632
8065
|
"docs-app--editor": isEditorShell.value,
|
|
7633
8066
|
"docs-app--mobile-sidebar-open": mobileSidebarOpen.value
|
|
7634
8067
|
}]),
|
|
7635
8068
|
onKeydown: (0, vue.withKeys)(closeMobileSidebar, ["esc"])
|
|
7636
|
-
}, [(0, vue.createElementVNode)("div", _hoisted_1$
|
|
8069
|
+
}, [(0, vue.createElementVNode)("div", _hoisted_1$13, [(0, vue.createElementVNode)("button", {
|
|
7637
8070
|
type: "button",
|
|
7638
8071
|
class: (0, vue.normalizeClass)(["docs-app__sidebar-toggle", { "is-open": mobileSidebarOpen.value }]),
|
|
7639
8072
|
"aria-label": (0, vue.unref)(t)(mobileSidebarOpen.value ? "client.header.closeSidebar" : "client.header.openSidebar"),
|
|
7640
8073
|
"aria-expanded": mobileSidebarOpen.value,
|
|
7641
8074
|
"aria-controls": "docs-mobile-sidebar",
|
|
7642
8075
|
onClick: toggleMobileSidebar
|
|
7643
|
-
}, [(0, vue.createVNode)((0, vue.unref)(icon_default), { name: mobileSidebarOpen.value ? "close" : "menu" }, null, 8, ["name"])], 10, _hoisted_2$
|
|
8076
|
+
}, [(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
8077
|
"docs-layout--database": isUtilityShell.value,
|
|
7645
8078
|
"docs-layout--editor": isEditorShell.value,
|
|
7646
8079
|
"docs-layout--home": (0, vue.unref)(route).meta?.docsHome
|
|
@@ -7665,7 +8098,7 @@ var app_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
7665
8098
|
class: "docs-layout__sidebar-mask",
|
|
7666
8099
|
"aria-label": (0, vue.unref)(t)("client.header.closeSidebar"),
|
|
7667
8100
|
onClick: closeMobileSidebar
|
|
7668
|
-
}, null, 8, _hoisted_3$
|
|
8101
|
+
}, null, 8, _hoisted_3$10),
|
|
7669
8102
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Scroller), {
|
|
7670
8103
|
ref_key: "mainScroller",
|
|
7671
8104
|
ref: mainScroller,
|
|
@@ -7682,16 +8115,16 @@ var app_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
7682
8115
|
class: "docs-layout__rail docs-layout__rail--start",
|
|
7683
8116
|
"aria-hidden": "true"
|
|
7684
8117
|
}, null, -1)),
|
|
7685
|
-
(0, vue.createElementVNode)("main", _hoisted_4$
|
|
8118
|
+
(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
8119
|
_cache[1] || (_cache[1] = (0, vue.createElementVNode)("div", {
|
|
7687
8120
|
class: "docs-layout__rail docs-layout__rail--end",
|
|
7688
8121
|
"aria-hidden": "true"
|
|
7689
8122
|
}, null, -1)),
|
|
7690
|
-
(0, vue.createElementVNode)("div", _hoisted_5$
|
|
8123
|
+
(0, vue.createElementVNode)("div", _hoisted_5$4, [(0, vue.createVNode)((0, vue.unref)(resource_slot_default), { name: "footer" })])
|
|
7691
8124
|
]),
|
|
7692
8125
|
_: 1
|
|
7693
8126
|
}, 512)
|
|
7694
|
-
], 2)], 34);
|
|
8127
|
+
], 2)], 34));
|
|
7695
8128
|
};
|
|
7696
8129
|
}
|
|
7697
8130
|
});
|
|
@@ -7815,16 +8248,16 @@ var prune = async () => {
|
|
|
7815
8248
|
};
|
|
7816
8249
|
//#endregion
|
|
7817
8250
|
//#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$
|
|
8251
|
+
var _hoisted_1$12 = { class: "docs-paging-filter-item" };
|
|
8252
|
+
var _hoisted_2$10 = {
|
|
7820
8253
|
key: 0,
|
|
7821
8254
|
class: "docs-paging-filter-item__label"
|
|
7822
8255
|
};
|
|
7823
|
-
var _hoisted_3$
|
|
8256
|
+
var _hoisted_3$9 = {
|
|
7824
8257
|
key: 1,
|
|
7825
8258
|
class: "docs-paging-filter-item__range"
|
|
7826
8259
|
};
|
|
7827
|
-
var _hoisted_4$
|
|
8260
|
+
var _hoisted_4$4 = { class: "docs-paging-filter-item__separator" };
|
|
7828
8261
|
//#endregion
|
|
7829
8262
|
//#region packages/client/src/components/paging/filter/filter-item.vue
|
|
7830
8263
|
var filter_item_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -7873,7 +8306,7 @@ var filter_item_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
7873
8306
|
emit("search");
|
|
7874
8307
|
};
|
|
7875
8308
|
return (_ctx, _cache) => {
|
|
7876
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$
|
|
8309
|
+
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
8310
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.InputNumber), (0, vue.mergeProps)({
|
|
7878
8311
|
"model-value": getNumberValue(__props.startValue),
|
|
7879
8312
|
"data-filter": __props.module.field[0],
|
|
@@ -7886,7 +8319,7 @@ var filter_item_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
7886
8319
|
"data-filter",
|
|
7887
8320
|
"placeholder"
|
|
7888
8321
|
]),
|
|
7889
|
-
(0, vue.createElementVNode)("span", _hoisted_4$
|
|
8322
|
+
(0, vue.createElementVNode)("span", _hoisted_4$4, (0, vue.toDisplayString)(__props.module.separator || "-"), 1),
|
|
7890
8323
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.InputNumber), (0, vue.mergeProps)({
|
|
7891
8324
|
"model-value": getNumberValue(__props.endValue),
|
|
7892
8325
|
"data-filter": __props.module.field[1],
|
|
@@ -7949,8 +8382,8 @@ var filter_item_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
7949
8382
|
});
|
|
7950
8383
|
//#endregion
|
|
7951
8384
|
//#region packages/client/src/components/paging/filter/index.vue?vue&type=script&setup=true&lang.ts
|
|
7952
|
-
var _hoisted_1$
|
|
7953
|
-
var _hoisted_2$
|
|
8385
|
+
var _hoisted_1$11 = { class: "docs-paging-filter" };
|
|
8386
|
+
var _hoisted_2$9 = { class: "docs-paging-filter__operate" };
|
|
7954
8387
|
//#endregion
|
|
7955
8388
|
//#region packages/client/src/components/paging/filter/index.vue
|
|
7956
8389
|
var filter_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -8004,7 +8437,7 @@ var filter_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8004
8437
|
emit("search", value);
|
|
8005
8438
|
};
|
|
8006
8439
|
return (_ctx, _cache) => {
|
|
8007
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$
|
|
8440
|
+
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
8441
|
return (0, vue.openBlock)(), (0, vue.createBlock)(filter_item_default, {
|
|
8009
8442
|
key: getModuleKey(module),
|
|
8010
8443
|
module,
|
|
@@ -8024,7 +8457,7 @@ var filter_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8024
8457
|
"onUpdate:startValue",
|
|
8025
8458
|
"onUpdate:endValue"
|
|
8026
8459
|
]);
|
|
8027
|
-
}), 128)), (0, vue.createElementVNode)("div", _hoisted_2$
|
|
8460
|
+
}), 128)), (0, vue.createElementVNode)("div", _hoisted_2$9, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
8028
8461
|
type: "primary",
|
|
8029
8462
|
onClick: handleSearch
|
|
8030
8463
|
}, {
|
|
@@ -8039,9 +8472,9 @@ var filter_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8039
8472
|
});
|
|
8040
8473
|
//#endregion
|
|
8041
8474
|
//#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$
|
|
8475
|
+
var _hoisted_1$10 = { class: "docs-paging" };
|
|
8476
|
+
var _hoisted_2$8 = { class: "docs-paging__pagination" };
|
|
8477
|
+
var _hoisted_3$8 = { class: "docs-paging__pagination-control" };
|
|
8045
8478
|
//#endregion
|
|
8046
8479
|
//#region packages/client/src/components/paging/paging.vue
|
|
8047
8480
|
var paging_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -8187,7 +8620,7 @@ var paging_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8187
8620
|
refreshAffix
|
|
8188
8621
|
});
|
|
8189
8622
|
return (_ctx, _cache) => {
|
|
8190
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$
|
|
8623
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$10, [
|
|
8191
8624
|
__props.filterModules.length ? ((0, vue.openBlock)(), (0, vue.createBlock)(filter_default, {
|
|
8192
8625
|
key: 0,
|
|
8193
8626
|
modules: __props.filterModules,
|
|
@@ -8221,12 +8654,12 @@ var paging_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8221
8654
|
ref_key: "footerAffix",
|
|
8222
8655
|
ref: footerAffix
|
|
8223
8656
|
}, affixOptions.value[1]), {
|
|
8224
|
-
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("footer", _hoisted_2$
|
|
8657
|
+
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("footer", _hoisted_2$8, [(0, vue.renderSlot)(_ctx.$slots, "footer-extra", {
|
|
8225
8658
|
current: current.value,
|
|
8226
8659
|
pageSize: pageSize.value,
|
|
8227
8660
|
total: total.value,
|
|
8228
8661
|
loading: loading.value
|
|
8229
|
-
}), (0, vue.createElementVNode)("div", _hoisted_3$
|
|
8662
|
+
}), (0, vue.createElementVNode)("div", _hoisted_3$8, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Pagination), {
|
|
8230
8663
|
count: total.value,
|
|
8231
8664
|
current: current.value,
|
|
8232
8665
|
"page-size": pageSize.value,
|
|
@@ -8250,7 +8683,7 @@ var paging_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8250
8683
|
});
|
|
8251
8684
|
//#endregion
|
|
8252
8685
|
//#region packages/client/src/components/tag/tag.vue?vue&type=script&setup=true&lang.ts
|
|
8253
|
-
var _hoisted_1$
|
|
8686
|
+
var _hoisted_1$9 = ["data-type"];
|
|
8254
8687
|
//#endregion
|
|
8255
8688
|
//#region packages/client/src/components/tag/tag.vue
|
|
8256
8689
|
var tag_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -8295,24 +8728,24 @@ var tag_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8295
8728
|
backgroundColor: currentColor.value[0],
|
|
8296
8729
|
color: currentColor.value[1]
|
|
8297
8730
|
})
|
|
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$
|
|
8731
|
+
}, [(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
8732
|
};
|
|
8300
8733
|
}
|
|
8301
8734
|
});
|
|
8302
8735
|
//#endregion
|
|
8303
8736
|
//#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$
|
|
8737
|
+
var _hoisted_1$8 = { class: "docs-database" };
|
|
8738
|
+
var _hoisted_2$7 = { class: "docs-database__header" };
|
|
8739
|
+
var _hoisted_3$7 = ["title"];
|
|
8740
|
+
var _hoisted_4$3 = { class: "docs-database__toolbar" };
|
|
8741
|
+
var _hoisted_5$3 = { class: "docs-database__toolbar-primary" };
|
|
8742
|
+
var _hoisted_6$2 = { class: "docs-database__button-content" };
|
|
8743
|
+
var _hoisted_7$2 = { class: "docs-database__button-content" };
|
|
8744
|
+
var _hoisted_8$2 = { class: "docs-database__columns" };
|
|
8745
|
+
var _hoisted_9$2 = { class: "docs-database__toolbar-danger" };
|
|
8746
|
+
var _hoisted_10$2 = ["title"];
|
|
8747
|
+
var _hoisted_11$2 = ["title"];
|
|
8748
|
+
var _hoisted_12$2 = { class: "docs-database__actions" };
|
|
8316
8749
|
//#endregion
|
|
8317
8750
|
//#region packages/client/src/pages/database/index.vue
|
|
8318
8751
|
var database_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -8541,17 +8974,17 @@ var database_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8541
8974
|
statusRefreshTimer = void 0;
|
|
8542
8975
|
});
|
|
8543
8976
|
return (_ctx, _cache) => {
|
|
8544
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("section", _hoisted_1$
|
|
8977
|
+
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
8978
|
(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$
|
|
8979
|
+
(0, vue.createElementVNode)("span", { title: (0, vue.unref)(currentNamespace) }, (0, vue.toDisplayString)((0, vue.unref)(currentNamespace)), 9, _hoisted_3$7),
|
|
8547
8980
|
(0, vue.createTextVNode)(" " + (0, vue.toDisplayString)((0, vue.unref)(t)("client.database.cache", { size: namespaceCacheSize.value })), 1)
|
|
8548
|
-
])]), (0, vue.createElementVNode)("div", _hoisted_4$
|
|
8981
|
+
])]), (0, vue.createElementVNode)("div", _hoisted_4$3, [(0, vue.createElementVNode)("div", _hoisted_5$3, [
|
|
8549
8982
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
8550
8983
|
type: "primary",
|
|
8551
8984
|
disabled: loading.value,
|
|
8552
8985
|
onClick: handleBack
|
|
8553
8986
|
}, {
|
|
8554
|
-
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", _hoisted_6$
|
|
8987
|
+
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
8988
|
_: 1
|
|
8556
8989
|
}, 8, ["disabled"]),
|
|
8557
8990
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
@@ -8559,14 +8992,14 @@ var database_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8559
8992
|
disabled: loading.value,
|
|
8560
8993
|
onClick: handleHome
|
|
8561
8994
|
}, {
|
|
8562
|
-
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", _hoisted_7$
|
|
8995
|
+
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
8996
|
_: 1
|
|
8564
8997
|
}, 8, ["disabled"]),
|
|
8565
8998
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Popover), {
|
|
8566
8999
|
trigger: "click",
|
|
8567
9000
|
placement: "bottom-right"
|
|
8568
9001
|
}, {
|
|
8569
|
-
content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_8$
|
|
9002
|
+
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
9003
|
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_deot_vc.Checkbox), {
|
|
8571
9004
|
key: item.value,
|
|
8572
9005
|
"model-value": isColumnVisible(item.value),
|
|
@@ -8611,7 +9044,7 @@ var database_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8611
9044
|
default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(t)("client.database.prefetch")), 1)]),
|
|
8612
9045
|
_: 1
|
|
8613
9046
|
}, 8, ["disabled"])
|
|
8614
|
-
]), (0, vue.createElementVNode)("div", _hoisted_9$
|
|
9047
|
+
]), (0, vue.createElementVNode)("div", _hoisted_9$2, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
8615
9048
|
type: "error",
|
|
8616
9049
|
disabled: loading.value || !records.value.length,
|
|
8617
9050
|
onClick: handleClearAll
|
|
@@ -8643,7 +9076,7 @@ var database_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8643
9076
|
default: (0, vue.withCtx)(({ row }) => [(0, vue.createElementVNode)("span", {
|
|
8644
9077
|
class: "docs-database__ellipsis",
|
|
8645
9078
|
title: row.url
|
|
8646
|
-
}, (0, vue.toDisplayString)(row.url), 9, _hoisted_10$
|
|
9079
|
+
}, (0, vue.toDisplayString)(row.url), 9, _hoisted_10$2)]),
|
|
8647
9080
|
_: 1
|
|
8648
9081
|
}, 8, ["label"]),
|
|
8649
9082
|
isColumnVisible("source") ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_deot_vc.TableColumn), {
|
|
@@ -8654,7 +9087,7 @@ var database_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8654
9087
|
default: (0, vue.withCtx)(({ row }) => [(0, vue.createElementVNode)("span", {
|
|
8655
9088
|
class: "docs-database__ellipsis",
|
|
8656
9089
|
title: row.identity.source
|
|
8657
|
-
}, (0, vue.toDisplayString)(row.identity.source), 9, _hoisted_11$
|
|
9090
|
+
}, (0, vue.toDisplayString)(row.identity.source), 9, _hoisted_11$2)]),
|
|
8658
9091
|
_: 1
|
|
8659
9092
|
}, 8, ["label"])) : (0, vue.createCommentVNode)("v-if", true),
|
|
8660
9093
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.TableColumn), {
|
|
@@ -8768,7 +9201,7 @@ var database_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8768
9201
|
align: "center",
|
|
8769
9202
|
fixed: "right"
|
|
8770
9203
|
}, {
|
|
8771
|
-
default: (0, vue.withCtx)(({ row }) => [(0, vue.createElementVNode)("div", _hoisted_12$
|
|
9204
|
+
default: (0, vue.withCtx)(({ row }) => [(0, vue.createElementVNode)("div", _hoisted_12$2, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
8772
9205
|
class: "docs-database__action",
|
|
8773
9206
|
type: "text",
|
|
8774
9207
|
disabled: loading.value || busyKeys.value.has(getKey(row)),
|
|
@@ -8795,14 +9228,14 @@ var database_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8795
9228
|
});
|
|
8796
9229
|
//#endregion
|
|
8797
9230
|
//#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$
|
|
9231
|
+
var _hoisted_1$7 = { class: "docs-renderer-editor-demos-card__name" };
|
|
9232
|
+
var _hoisted_2$6 = { class: "docs-renderer-editor-demos-card__title" };
|
|
9233
|
+
var _hoisted_3$6 = { class: "docs-renderer-editor-demos-card__desc" };
|
|
9234
|
+
var _hoisted_4$2 = {
|
|
8802
9235
|
key: 0,
|
|
8803
9236
|
class: "docs-renderer-editor-demos-card__modules"
|
|
8804
9237
|
};
|
|
8805
|
-
var _hoisted_5$
|
|
9238
|
+
var _hoisted_5$2 = { class: "docs-renderer-editor-demos-card__action" };
|
|
8806
9239
|
//#endregion
|
|
8807
9240
|
//#region packages/client/src/pages/renderer-editor-demos/components/card.vue
|
|
8808
9241
|
var card_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -8826,22 +9259,22 @@ var card_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8826
9259
|
class: "docs-renderer-editor-demos-card__accent",
|
|
8827
9260
|
"aria-hidden": "true"
|
|
8828
9261
|
}, 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$
|
|
9262
|
+
(0, vue.createElementVNode)("span", _hoisted_1$7, (0, vue.toDisplayString)(__props.item.name), 1),
|
|
9263
|
+
(0, vue.createElementVNode)("strong", _hoisted_2$6, (0, vue.toDisplayString)(__props.item.title), 1),
|
|
9264
|
+
(0, vue.createElementVNode)("p", _hoisted_3$6, (0, vue.toDisplayString)(__props.item.description), 1),
|
|
9265
|
+
__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
9266
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("li", { key: type }, (0, vue.toDisplayString)(type), 1);
|
|
8834
9267
|
}), 128))])) : (0, vue.createCommentVNode)("v-if", true),
|
|
8835
|
-
(0, vue.createElementVNode)("span", _hoisted_5$
|
|
9268
|
+
(0, vue.createElementVNode)("span", _hoisted_5$2, (0, vue.toDisplayString)(__props.action || (0, vue.unref)(t)("client.demos.open")), 1)
|
|
8836
9269
|
], 4);
|
|
8837
9270
|
};
|
|
8838
9271
|
}
|
|
8839
9272
|
});
|
|
8840
9273
|
//#endregion
|
|
8841
9274
|
//#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$
|
|
9275
|
+
var _hoisted_1$6 = { class: "docs-renderer-editor-demos-gallery" };
|
|
9276
|
+
var _hoisted_2$5 = { class: "docs-renderer-editor-demos-gallery__intro" };
|
|
9277
|
+
var _hoisted_3$5 = { class: "docs-renderer-editor-demos-gallery__grid" };
|
|
8845
9278
|
//#endregion
|
|
8846
9279
|
//#region packages/client/src/pages/renderer-editor-demos/components/gallery.vue
|
|
8847
9280
|
var gallery_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -8862,7 +9295,7 @@ var gallery_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8862
9295
|
if (isRendererEditorDemo(name)) emit("open", name);
|
|
8863
9296
|
};
|
|
8864
9297
|
return (_ctx, _cache) => {
|
|
8865
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("section", _hoisted_1$
|
|
9298
|
+
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
9299
|
return (0, vue.openBlock)(), (0, vue.createBlock)(card_default, {
|
|
8867
9300
|
key: item.name,
|
|
8868
9301
|
item,
|
|
@@ -8878,7 +9311,7 @@ var gallery_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8878
9311
|
});
|
|
8879
9312
|
//#endregion
|
|
8880
9313
|
//#region packages/client/src/pages/renderer-editor-demos/components/stage.vue?vue&type=script&setup=true&lang.ts
|
|
8881
|
-
var _hoisted_1$
|
|
9314
|
+
var _hoisted_1$5 = { class: "docs-renderer-editor-demos-stage" };
|
|
8882
9315
|
//#endregion
|
|
8883
9316
|
//#region packages/client/src/pages/renderer-editor-demos/components/stage.vue
|
|
8884
9317
|
var stage_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -8941,7 +9374,7 @@ var stage_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
8941
9374
|
document.value = createRendererEditorDemoDocument(props.name, lang.value);
|
|
8942
9375
|
}, { immediate: true });
|
|
8943
9376
|
return (_ctx, _cache) => {
|
|
8944
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$
|
|
9377
|
+
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
9378
|
key: 0,
|
|
8946
9379
|
modelValue: document.value,
|
|
8947
9380
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => document.value = $event),
|
|
@@ -9001,12 +9434,12 @@ var renderer_editor_demos_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9001
9434
|
});
|
|
9002
9435
|
//#endregion
|
|
9003
9436
|
//#region packages/client/src/pages/renderer-editor/index.vue?vue&type=script&setup=true&lang.ts
|
|
9004
|
-
var _hoisted_1$
|
|
9005
|
-
var _hoisted_2$
|
|
9437
|
+
var _hoisted_1$4 = { class: "docs-renderer-editor-page" };
|
|
9438
|
+
var _hoisted_2$4 = {
|
|
9006
9439
|
key: 0,
|
|
9007
9440
|
class: "docs-renderer-editor-page__error"
|
|
9008
9441
|
};
|
|
9009
|
-
var _hoisted_3$
|
|
9442
|
+
var _hoisted_3$4 = {
|
|
9010
9443
|
key: 1,
|
|
9011
9444
|
class: "docs-renderer-editor-page__loading"
|
|
9012
9445
|
};
|
|
@@ -9209,7 +9642,7 @@ var renderer_editor_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9209
9642
|
controller?.abort();
|
|
9210
9643
|
});
|
|
9211
9644
|
return (_ctx, _cache) => {
|
|
9212
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$
|
|
9645
|
+
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
9646
|
key: 2,
|
|
9214
9647
|
modelValue: document.value,
|
|
9215
9648
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => document.value = $event),
|
|
@@ -9229,12 +9662,12 @@ var renderer_editor_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9229
9662
|
});
|
|
9230
9663
|
//#endregion
|
|
9231
9664
|
//#region packages/client/src/pages/home/index.vue?vue&type=script&setup=true&lang.ts
|
|
9232
|
-
var _hoisted_1$
|
|
9233
|
-
var _hoisted_2$
|
|
9665
|
+
var _hoisted_1$3 = { class: "docs-home" };
|
|
9666
|
+
var _hoisted_2$3 = {
|
|
9234
9667
|
key: 0,
|
|
9235
9668
|
class: "docs-home__error"
|
|
9236
9669
|
};
|
|
9237
|
-
var _hoisted_3$
|
|
9670
|
+
var _hoisted_3$3 = {
|
|
9238
9671
|
key: 2,
|
|
9239
9672
|
class: "docs-home__loading"
|
|
9240
9673
|
};
|
|
@@ -9330,7 +9763,7 @@ var home_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9330
9763
|
unsubscribe?.();
|
|
9331
9764
|
});
|
|
9332
9765
|
return (_ctx, _cache) => {
|
|
9333
|
-
return (0, vue.openBlock)(), (0, vue.createElementBlock)("section", _hoisted_1$
|
|
9766
|
+
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
9767
|
key: 1,
|
|
9335
9768
|
document: document.value,
|
|
9336
9769
|
modules: (0, vue.unref)(rendererModules),
|
|
@@ -9341,7 +9774,7 @@ var home_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9341
9774
|
"modules",
|
|
9342
9775
|
"context",
|
|
9343
9776
|
"fit"
|
|
9344
|
-
])) : loading.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_3$
|
|
9777
|
+
])) : 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
9778
|
};
|
|
9346
9779
|
}
|
|
9347
9780
|
});
|
|
@@ -9357,9 +9790,9 @@ var retry = async (row) => Resource.playground.retry(getNamespace(), row);
|
|
|
9357
9790
|
var subscribeStatus = (listener) => Resource.playground.subscribeStatus(listener);
|
|
9358
9791
|
//#endregion
|
|
9359
9792
|
//#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$
|
|
9793
|
+
var _hoisted_1$2 = { class: "docs-playground-resource-source-editor__meta" };
|
|
9794
|
+
var _hoisted_2$2 = ["title"];
|
|
9795
|
+
var _hoisted_3$2 = { class: "docs-playground-resource-source-editor__label" };
|
|
9363
9796
|
//#endregion
|
|
9364
9797
|
//#region packages/client/src/pages/playground-resource/components/source-editor.vue
|
|
9365
9798
|
var source_editor_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -9401,15 +9834,15 @@ var source_editor_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9401
9834
|
onClose: handleClose
|
|
9402
9835
|
}, {
|
|
9403
9836
|
default: (0, vue.withCtx)(() => [
|
|
9404
|
-
(0, vue.createElementVNode)("div", _hoisted_1$
|
|
9837
|
+
(0, vue.createElementVNode)("div", _hoisted_1$2, [
|
|
9405
9838
|
(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
9839
|
(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
9840
|
(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
9841
|
class: "docs-playground-resource__ellipsis",
|
|
9409
9842
|
title: __props.row.defaultUrl || "-"
|
|
9410
|
-
}, (0, vue.toDisplayString)(__props.row.defaultUrl || "-"), 9, _hoisted_2$
|
|
9843
|
+
}, (0, vue.toDisplayString)(__props.row.defaultUrl || "-"), 9, _hoisted_2$2)])
|
|
9411
9844
|
]),
|
|
9412
|
-
(0, vue.createElementVNode)("label", _hoisted_3$
|
|
9845
|
+
(0, vue.createElementVNode)("label", _hoisted_3$2, (0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.currentUrl")), 1),
|
|
9413
9846
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Textarea), {
|
|
9414
9847
|
modelValue: draft.value,
|
|
9415
9848
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => draft.value = $event),
|
|
@@ -9434,19 +9867,19 @@ var SourceEditor = new _deot_vc.Portal(source_editor_default, {
|
|
|
9434
9867
|
});
|
|
9435
9868
|
//#endregion
|
|
9436
9869
|
//#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" };
|
|
9870
|
+
var _hoisted_1$1 = { class: "docs-playground-resource" };
|
|
9871
|
+
var _hoisted_2$1 = { class: "docs-playground-resource__header" };
|
|
9872
|
+
var _hoisted_3$1 = ["title"];
|
|
9873
|
+
var _hoisted_4$1 = { class: "docs-playground-resource__hint" };
|
|
9874
|
+
var _hoisted_5$1 = { class: "docs-playground-resource__toolbar" };
|
|
9875
|
+
var _hoisted_6$1 = { class: "docs-playground-resource__toolbar-primary" };
|
|
9876
|
+
var _hoisted_7$1 = { class: "docs-playground-resource__button-content" };
|
|
9877
|
+
var _hoisted_8$1 = { class: "docs-playground-resource__button-content" };
|
|
9878
|
+
var _hoisted_9$1 = { class: "docs-playground-resource__columns" };
|
|
9879
|
+
var _hoisted_10$1 = { class: "docs-playground-resource__toolbar-danger" };
|
|
9880
|
+
var _hoisted_11$1 = ["title"];
|
|
9881
|
+
var _hoisted_12$1 = ["title"];
|
|
9882
|
+
var _hoisted_13$1 = { class: "docs-playground-resource__actions" };
|
|
9450
9883
|
//#endregion
|
|
9451
9884
|
//#region packages/client/src/pages/playground-resource/index.vue
|
|
9452
9885
|
var playground_resource_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
@@ -9672,21 +10105,21 @@ var playground_resource_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9672
10105
|
SourceEditor.destroy();
|
|
9673
10106
|
});
|
|
9674
10107
|
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, [
|
|
10108
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("section", _hoisted_1$1, [(0, vue.createElementVNode)("header", _hoisted_2$1, [(0, vue.createElementVNode)("div", null, [
|
|
9676
10109
|
(0, vue.createElementVNode)("h1", null, (0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.title")), 1),
|
|
9677
10110
|
(0, vue.createElementVNode)("p", null, [
|
|
9678
10111
|
(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),
|
|
10112
|
+
(0, vue.createElementVNode)("span", { title: (0, vue.unref)(currentNamespace) }, (0, vue.toDisplayString)((0, vue.unref)(currentNamespace)), 9, _hoisted_3$1),
|
|
9680
10113
|
(0, vue.createTextVNode)(" " + (0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.cache", { size: namespaceCacheSize.value })), 1)
|
|
9681
10114
|
]),
|
|
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, [
|
|
10115
|
+
(0, vue.createElementVNode)("p", _hoisted_4$1, (0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.hint")), 1)
|
|
10116
|
+
]), (0, vue.createElementVNode)("div", _hoisted_5$1, [(0, vue.createElementVNode)("div", _hoisted_6$1, [
|
|
9684
10117
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
9685
10118
|
type: "primary",
|
|
9686
10119
|
disabled: loading.value,
|
|
9687
10120
|
onClick: handleBack
|
|
9688
10121
|
}, {
|
|
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)])]),
|
|
10122
|
+
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
10123
|
_: 1
|
|
9691
10124
|
}, 8, ["disabled"]),
|
|
9692
10125
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
@@ -9694,14 +10127,14 @@ var playground_resource_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9694
10127
|
disabled: loading.value,
|
|
9695
10128
|
onClick: handleHome
|
|
9696
10129
|
}, {
|
|
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)])]),
|
|
10130
|
+
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
10131
|
_: 1
|
|
9699
10132
|
}, 8, ["disabled"]),
|
|
9700
10133
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Popover), {
|
|
9701
10134
|
trigger: "click",
|
|
9702
10135
|
placement: "bottom-right"
|
|
9703
10136
|
}, {
|
|
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) => {
|
|
10137
|
+
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
10138
|
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_deot_vc.Checkbox), {
|
|
9706
10139
|
key: item.value,
|
|
9707
10140
|
"model-value": isColumnVisible(item.value),
|
|
@@ -9738,7 +10171,7 @@ var playground_resource_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9738
10171
|
default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(t)("client.playgroundResource.prefetch")), 1)]),
|
|
9739
10172
|
_: 1
|
|
9740
10173
|
}, 8, ["disabled"])
|
|
9741
|
-
]), (0, vue.createElementVNode)("div", _hoisted_10, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
10174
|
+
]), (0, vue.createElementVNode)("div", _hoisted_10$1, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
9742
10175
|
type: "error",
|
|
9743
10176
|
disabled: loading.value || !rows.value.length,
|
|
9744
10177
|
onClick: handleClear
|
|
@@ -9779,7 +10212,7 @@ var playground_resource_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9779
10212
|
default: (0, vue.withCtx)(({ row }) => [(0, vue.createElementVNode)("span", {
|
|
9780
10213
|
class: "docs-playground-resource__ellipsis",
|
|
9781
10214
|
title: row.defaultUrl || "-"
|
|
9782
|
-
}, (0, vue.toDisplayString)(row.defaultUrl || "-"), 9, _hoisted_11)]),
|
|
10215
|
+
}, (0, vue.toDisplayString)(row.defaultUrl || "-"), 9, _hoisted_11$1)]),
|
|
9783
10216
|
_: 1
|
|
9784
10217
|
}, 8, ["label"])) : (0, vue.createCommentVNode)("v-if", true),
|
|
9785
10218
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.TableColumn), {
|
|
@@ -9789,7 +10222,7 @@ var playground_resource_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9789
10222
|
default: (0, vue.withCtx)(({ row }) => [(0, vue.createElementVNode)("span", {
|
|
9790
10223
|
class: "docs-playground-resource__ellipsis",
|
|
9791
10224
|
title: row.currentUrl || "-"
|
|
9792
|
-
}, (0, vue.toDisplayString)(row.currentUrl || "-"), 9, _hoisted_12)]),
|
|
10225
|
+
}, (0, vue.toDisplayString)(row.currentUrl || "-"), 9, _hoisted_12$1)]),
|
|
9793
10226
|
_: 1
|
|
9794
10227
|
}, 8, ["label"]),
|
|
9795
10228
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.TableColumn), {
|
|
@@ -9840,7 +10273,7 @@ var playground_resource_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9840
10273
|
align: "center",
|
|
9841
10274
|
fixed: "right"
|
|
9842
10275
|
}, {
|
|
9843
|
-
default: (0, vue.withCtx)(({ row }) => [(0, vue.createElementVNode)("div", _hoisted_13, [
|
|
10276
|
+
default: (0, vue.withCtx)(({ row }) => [(0, vue.createElementVNode)("div", _hoisted_13$1, [
|
|
9844
10277
|
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Button), {
|
|
9845
10278
|
class: "docs-playground-resource__action",
|
|
9846
10279
|
type: "text",
|
|
@@ -9879,6 +10312,199 @@ var playground_resource_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
9879
10312
|
}
|
|
9880
10313
|
});
|
|
9881
10314
|
//#endregion
|
|
10315
|
+
//#region packages/client/src/pages/preview-config-generate/index.vue?vue&type=script&setup=true&lang.ts
|
|
10316
|
+
var _hoisted_1 = { class: "docs-preview-config-generate" };
|
|
10317
|
+
var _hoisted_2 = { class: "docs-preview-config-generate__body" };
|
|
10318
|
+
var _hoisted_3 = { class: "docs-preview-config-generate__import" };
|
|
10319
|
+
var _hoisted_4 = { for: "preview-import" };
|
|
10320
|
+
var _hoisted_5 = { class: "docs-preview-config-generate__actions" };
|
|
10321
|
+
var _hoisted_6 = ["placeholder"];
|
|
10322
|
+
var _hoisted_7 = ["disabled"];
|
|
10323
|
+
var _hoisted_8 = {
|
|
10324
|
+
key: 0,
|
|
10325
|
+
role: "alert",
|
|
10326
|
+
class: "docs-preview-config-generate__error"
|
|
10327
|
+
};
|
|
10328
|
+
var _hoisted_9 = { class: "docs-preview-config-generate__fields" };
|
|
10329
|
+
var _hoisted_10 = ["placeholder"];
|
|
10330
|
+
var _hoisted_11 = ["for"];
|
|
10331
|
+
var _hoisted_12 = ["id", "onUpdate:modelValue"];
|
|
10332
|
+
var _hoisted_13 = { for: "preview-lang" };
|
|
10333
|
+
var _hoisted_14 = {
|
|
10334
|
+
key: 0,
|
|
10335
|
+
role: "alert",
|
|
10336
|
+
class: "docs-preview-config-generate__error"
|
|
10337
|
+
};
|
|
10338
|
+
var _hoisted_15 = { class: "docs-preview-config-generate__output" };
|
|
10339
|
+
var _hoisted_16 = { for: "preview-link" };
|
|
10340
|
+
var _hoisted_17 = ["value"];
|
|
10341
|
+
var _hoisted_18 = { class: "docs-preview-config-generate__actions" };
|
|
10342
|
+
var _hoisted_19 = ["href"];
|
|
10343
|
+
var _hoisted_20 = { key: 0 };
|
|
10344
|
+
//#endregion
|
|
10345
|
+
//#region packages/client/src/pages/preview-config-generate/index.vue
|
|
10346
|
+
var preview_config_generate_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
10347
|
+
__name: "index",
|
|
10348
|
+
setup(__props) {
|
|
10349
|
+
const route = (0, vue_router.useRoute)();
|
|
10350
|
+
const docs = getDocsConfig();
|
|
10351
|
+
const { t } = (0, _deot_docs_locale.useLocale)();
|
|
10352
|
+
const languageOptions = (0, vue.computed)(() => [{
|
|
10353
|
+
value: "",
|
|
10354
|
+
label: t("client.previewConfigGenerate.defaultLanguage")
|
|
10355
|
+
}, ...Object.entries(docs.locales).map(([value, item]) => ({
|
|
10356
|
+
value,
|
|
10357
|
+
label: item.label || value
|
|
10358
|
+
}))]);
|
|
10359
|
+
const defaults = {
|
|
10360
|
+
url: "",
|
|
10361
|
+
styles: "[]",
|
|
10362
|
+
modules: "{}",
|
|
10363
|
+
playground: "{}",
|
|
10364
|
+
lang: ""
|
|
10365
|
+
};
|
|
10366
|
+
const form = (0, vue.reactive)({ ...defaults });
|
|
10367
|
+
const jsonFields = [
|
|
10368
|
+
"styles",
|
|
10369
|
+
"modules",
|
|
10370
|
+
"playground"
|
|
10371
|
+
];
|
|
10372
|
+
const importUrl = (0, vue.ref)("");
|
|
10373
|
+
const parseError = (0, vue.ref)("");
|
|
10374
|
+
const messageOf = (reason) => t("client.common.previewConfigFailed", { message: reason instanceof Error ? reason.message : String(reason) });
|
|
10375
|
+
const result = (0, vue.computed)(() => {
|
|
10376
|
+
try {
|
|
10377
|
+
const config = normalizePreviewConfig({
|
|
10378
|
+
url: form.url,
|
|
10379
|
+
lang: form.lang,
|
|
10380
|
+
...Object.fromEntries(jsonFields.map((field) => [field, JSON.parse(form[field])]))
|
|
10381
|
+
});
|
|
10382
|
+
if (!resolvePreviewType(config.url, location.href)) throw new TypeError(t("client.common.previewUrlUnsupported"));
|
|
10383
|
+
parsePreviewStyleUrls(config.styles, location.href);
|
|
10384
|
+
return {
|
|
10385
|
+
config,
|
|
10386
|
+
href: createPreviewUrl(config, getDocsDeploymentBase(docs)),
|
|
10387
|
+
error: ""
|
|
10388
|
+
};
|
|
10389
|
+
} catch (reason) {
|
|
10390
|
+
return {
|
|
10391
|
+
config: void 0,
|
|
10392
|
+
href: "",
|
|
10393
|
+
error: form.url || jsonFields.some((field) => form[field] !== defaults[field]) ? messageOf(reason) : ""
|
|
10394
|
+
};
|
|
10395
|
+
}
|
|
10396
|
+
});
|
|
10397
|
+
const applyQuery = (query) => {
|
|
10398
|
+
try {
|
|
10399
|
+
const config = readPreviewConfig(query);
|
|
10400
|
+
if (!config.url) throw new TypeError(t("client.common.previewUrlRequired"));
|
|
10401
|
+
form.url = config.url;
|
|
10402
|
+
form.lang = config.lang || "";
|
|
10403
|
+
jsonFields.forEach((field) => form[field] = JSON.stringify(config[field] || {}, null, 2));
|
|
10404
|
+
parseError.value = "";
|
|
10405
|
+
} catch (reason) {
|
|
10406
|
+
parseError.value = messageOf(reason);
|
|
10407
|
+
}
|
|
10408
|
+
};
|
|
10409
|
+
const parseLink = () => {
|
|
10410
|
+
try {
|
|
10411
|
+
const target = new URL(importUrl.value.trim(), location.href);
|
|
10412
|
+
const query = {};
|
|
10413
|
+
target.searchParams.forEach((_, key) => {
|
|
10414
|
+
const values = target.searchParams.getAll(key);
|
|
10415
|
+
query[key] = values.length === 1 ? values[0] : values;
|
|
10416
|
+
});
|
|
10417
|
+
applyQuery(query);
|
|
10418
|
+
} catch (reason) {
|
|
10419
|
+
parseError.value = messageOf(reason);
|
|
10420
|
+
}
|
|
10421
|
+
};
|
|
10422
|
+
(0, vue.watch)(() => route.query, (query) => {
|
|
10423
|
+
if (query.raw !== void 0 || query.url !== void 0) applyQuery(query);
|
|
10424
|
+
}, { immediate: true });
|
|
10425
|
+
return (_ctx, _cache) => {
|
|
10426
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("section", _hoisted_1, [(0, vue.createElementVNode)("div", _hoisted_2, [
|
|
10427
|
+
(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)]),
|
|
10428
|
+
(0, vue.createElementVNode)("div", _hoisted_3, [
|
|
10429
|
+
(0, vue.createElementVNode)("label", _hoisted_4, (0, vue.toDisplayString)((0, vue.unref)(t)("client.previewConfigGenerate.importLabel")), 1),
|
|
10430
|
+
(0, vue.createElementVNode)("div", _hoisted_5, [(0, vue.withDirectives)((0, vue.createElementVNode)("input", {
|
|
10431
|
+
id: "preview-import",
|
|
10432
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => importUrl.value = $event),
|
|
10433
|
+
class: "docs-preview-config-generate__input",
|
|
10434
|
+
placeholder: (0, vue.unref)(t)("client.previewConfigGenerate.parseHint")
|
|
10435
|
+
}, null, 8, _hoisted_6), [[vue.vModelText, importUrl.value]]), (0, vue.createElementVNode)("button", {
|
|
10436
|
+
type: "button",
|
|
10437
|
+
disabled: !importUrl.value.trim(),
|
|
10438
|
+
onClick: parseLink
|
|
10439
|
+
}, (0, vue.toDisplayString)((0, vue.unref)(t)("client.previewConfigGenerate.parse")), 9, _hoisted_7)]),
|
|
10440
|
+
parseError.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("p", _hoisted_8, (0, vue.toDisplayString)(parseError.value), 1)) : (0, vue.createCommentVNode)("v-if", true)
|
|
10441
|
+
]),
|
|
10442
|
+
(0, vue.createElementVNode)("div", _hoisted_9, [
|
|
10443
|
+
_cache[3] || (_cache[3] = (0, vue.createElementVNode)("label", { for: "preview-url" }, "url", -1)),
|
|
10444
|
+
(0, vue.withDirectives)((0, vue.createElementVNode)("input", {
|
|
10445
|
+
id: "preview-url",
|
|
10446
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => form.url = $event),
|
|
10447
|
+
class: "docs-preview-config-generate__input",
|
|
10448
|
+
placeholder: (0, vue.unref)(t)("client.previewConfigGenerate.urlHint")
|
|
10449
|
+
}, null, 8, _hoisted_10), [[vue.vModelText, form.url]]),
|
|
10450
|
+
((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(jsonFields, (field) => {
|
|
10451
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: field }, [
|
|
10452
|
+
(0, vue.createElementVNode)("label", { for: `preview-${field}` }, (0, vue.toDisplayString)(field), 9, _hoisted_11),
|
|
10453
|
+
(0, vue.withDirectives)((0, vue.createElementVNode)("textarea", {
|
|
10454
|
+
id: `preview-${field}`,
|
|
10455
|
+
"onUpdate:modelValue": ($event) => form[field] = $event,
|
|
10456
|
+
rows: "4",
|
|
10457
|
+
spellcheck: "false"
|
|
10458
|
+
}, null, 8, _hoisted_12), [[vue.vModelText, form[field]]]),
|
|
10459
|
+
(0, vue.createElementVNode)("p", null, (0, vue.toDisplayString)((0, vue.unref)(t)(`client.previewConfigGenerate.${field}Hint`)), 1)
|
|
10460
|
+
], 64);
|
|
10461
|
+
}), 64)),
|
|
10462
|
+
(0, vue.createElementVNode)("label", _hoisted_13, (0, vue.toDisplayString)((0, vue.unref)(t)("client.previewConfigGenerate.language")), 1),
|
|
10463
|
+
(0, vue.createVNode)((0, vue.unref)(_deot_vc.Select), {
|
|
10464
|
+
id: "preview-lang",
|
|
10465
|
+
modelValue: form.lang,
|
|
10466
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => form.lang = $event),
|
|
10467
|
+
class: "docs-preview-config-generate__select",
|
|
10468
|
+
data: languageOptions.value,
|
|
10469
|
+
"null-value": "",
|
|
10470
|
+
placeholder: (0, vue.unref)(t)("client.previewConfigGenerate.defaultLanguage")
|
|
10471
|
+
}, null, 8, [
|
|
10472
|
+
"modelValue",
|
|
10473
|
+
"data",
|
|
10474
|
+
"placeholder"
|
|
10475
|
+
])
|
|
10476
|
+
]),
|
|
10477
|
+
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),
|
|
10478
|
+
(0, vue.createElementVNode)("div", _hoisted_15, [
|
|
10479
|
+
(0, vue.createElementVNode)("label", _hoisted_16, (0, vue.toDisplayString)((0, vue.unref)(t)("client.previewConfigGenerate.link")), 1),
|
|
10480
|
+
(0, vue.createElementVNode)("textarea", {
|
|
10481
|
+
id: "preview-link",
|
|
10482
|
+
value: result.value.href,
|
|
10483
|
+
rows: "4",
|
|
10484
|
+
readonly: "",
|
|
10485
|
+
spellcheck: "false"
|
|
10486
|
+
}, null, 8, _hoisted_17),
|
|
10487
|
+
(0, vue.createElementVNode)("div", _hoisted_18, [(0, vue.createVNode)((0, vue.unref)(_deot_vc.Clipboard), {
|
|
10488
|
+
tag: "button",
|
|
10489
|
+
type: "button",
|
|
10490
|
+
value: result.value.href,
|
|
10491
|
+
disabled: !result.value.href
|
|
10492
|
+
}, {
|
|
10493
|
+
default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(t)("client.previewConfigGenerate.copy")), 1)]),
|
|
10494
|
+
_: 1
|
|
10495
|
+
}, 8, ["value", "disabled"]), result.value.href ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("a", {
|
|
10496
|
+
key: 0,
|
|
10497
|
+
href: result.value.href,
|
|
10498
|
+
target: "_blank",
|
|
10499
|
+
rel: "noopener"
|
|
10500
|
+
}, (0, vue.toDisplayString)((0, vue.unref)(t)("client.previewConfigGenerate.preview")), 9, _hoisted_19)) : (0, vue.createCommentVNode)("v-if", true)]),
|
|
10501
|
+
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)
|
|
10502
|
+
])
|
|
10503
|
+
])]);
|
|
10504
|
+
};
|
|
10505
|
+
}
|
|
10506
|
+
});
|
|
10507
|
+
//#endregion
|
|
9882
10508
|
//#region packages/client/src/router/index.ts
|
|
9883
10509
|
var slotComponents = {
|
|
9884
10510
|
default: resource_slot_default,
|
|
@@ -9942,6 +10568,29 @@ var createDocsRouter = (config, options = {}) => {
|
|
|
9942
10568
|
const hasConfiguredDemosRoute = Object.keys(config.routes).some((path) => (path.startsWith("/") ? path : `/${path}`) === "/renderer-editor-demos");
|
|
9943
10569
|
const isDevelopment = config.runtime?.mode === "development";
|
|
9944
10570
|
const routes = [
|
|
10571
|
+
{
|
|
10572
|
+
path: "/__docs/preview-config-generate",
|
|
10573
|
+
component: preview_config_generate_default,
|
|
10574
|
+
meta: {
|
|
10575
|
+
docsPreviewConfigGenerate: true,
|
|
10576
|
+
docsRoute: {
|
|
10577
|
+
layout: "none",
|
|
10578
|
+
content: null
|
|
10579
|
+
}
|
|
10580
|
+
}
|
|
10581
|
+
},
|
|
10582
|
+
{
|
|
10583
|
+
path: "/__docs/preview",
|
|
10584
|
+
component: resource_slot_default,
|
|
10585
|
+
props: { name: "content" },
|
|
10586
|
+
meta: {
|
|
10587
|
+
docsPreview: true,
|
|
10588
|
+
docsRoute: {
|
|
10589
|
+
layout: "none",
|
|
10590
|
+
content: null
|
|
10591
|
+
}
|
|
10592
|
+
}
|
|
10593
|
+
},
|
|
9945
10594
|
{
|
|
9946
10595
|
path: "/:lang/__docs/database",
|
|
9947
10596
|
component: database_default,
|
|
@@ -10060,6 +10709,14 @@ var createDocsRouter = (config, options = {}) => {
|
|
|
10060
10709
|
routes
|
|
10061
10710
|
});
|
|
10062
10711
|
router.beforeEach((to) => {
|
|
10712
|
+
if (to.meta.docsPreview || to.meta.docsPreviewConfigGenerate) {
|
|
10713
|
+
let language = "";
|
|
10714
|
+
try {
|
|
10715
|
+
language = readPreviewConfig(to.query).lang || "";
|
|
10716
|
+
} catch {}
|
|
10717
|
+
to.params.lang = hasConfiguredLanguage(config, language) ? language : defaultLanguage;
|
|
10718
|
+
return true;
|
|
10719
|
+
}
|
|
10063
10720
|
const lang = String(to.params.lang || "");
|
|
10064
10721
|
const configuredLanguages = Object.keys(config.locales);
|
|
10065
10722
|
if (lang && (hasConfiguredLanguage(config, lang) || !configuredLanguages.length && lang === defaultLanguage)) {
|