@bagelink/blox 1.15.321 → 1.15.329
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/dist/PageRenderer.d.ts.map +1 -1
- package/dist/{PreviewApp-B5-NZk_P.js → PreviewApp-CLpQFfLK.js} +1 -1
- package/dist/{PreviewApp-DnbkFCj9.cjs → PreviewApp-OS1st-ng.cjs} +1 -1
- package/dist/{PreviewApp.vue_vue_type_style_index_0_lang-BonudFxL.cjs → PreviewApp.vue_vue_type_style_index_0_lang-CswOZDin.cjs} +3 -2
- package/dist/{PreviewApp.vue_vue_type_style_index_0_lang-Bkr18Gt1.js → PreviewApp.vue_vue_type_style_index_0_lang-RtgOdqsg.js} +3 -2
- package/dist/PreviewRenderer.d.ts.map +1 -1
- package/dist/api/types.d.ts +2 -0
- package/dist/api/types.d.ts.map +1 -1
- package/dist/index.cjs +3 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +34 -33
- package/dist/{prerender-CYES_qNu.cjs → prerender-BB2m84d7.cjs} +12 -9
- package/dist/{prerender-BpLkRIA8.js → prerender-fFpL1L-J.js} +12 -9
- package/dist/resolveBlockProps.d.ts +5 -0
- package/dist/resolveBlockProps.d.ts.map +1 -0
- package/dist/{routes-CK-H0byK.cjs → routes-CI7GLk41.cjs} +46 -2
- package/dist/{routes-CjlJQqgW.js → routes-UEmo7Ipo.js} +75 -31
- package/dist/{shard-runner-D_67ZcHW.cjs → shard-runner-C1Zbp3W6.cjs} +2 -2
- package/dist/{shard-runner-26opEo2v.js → shard-runner-DGiP0s0u.js} +2 -2
- package/dist/ssg/cli.cjs +2 -2
- package/dist/ssg/cli.mjs +2 -2
- package/dist/ssg/cms-routes.d.ts.map +1 -1
- package/dist/ssg/index.cjs +2 -2
- package/dist/ssg/index.mjs +3 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageRenderer.d.ts","sourceRoot":"","sources":["../src/PageRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;;;
|
|
1
|
+
{"version":3,"file":"PageRenderer.d.ts","sourceRoot":"","sources":["../src/PageRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;;;cAgBtB,QAAQ,CAAC,KAAK,EAAE,CAAC;uBACnB,KAAK,EAAE;;;;;;cADL,QAAQ,CAAC,KAAK,EAAE,CAAC;uBACnB,KAAK,EAAE;;;;;AALvB,wBA2CE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-
|
|
3
|
+
const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-CswOZDin.cjs");
|
|
4
4
|
exports.default = PreviewApp_vue_vue_type_style_index_0_lang._sfc_main;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const vue = require("vue");
|
|
3
|
-
const routes = require("./routes-
|
|
3
|
+
const routes = require("./routes-CI7GLk41.cjs");
|
|
4
4
|
function sendToEditor(msg) {
|
|
5
5
|
window.parent.postMessage(cloneForPostMessage(msg), "*");
|
|
6
6
|
}
|
|
@@ -46,6 +46,7 @@ const PreviewRenderer = vue.defineComponent({
|
|
|
46
46
|
},
|
|
47
47
|
setup(props) {
|
|
48
48
|
const registry = vue.inject(routes.BLOX_REGISTRY_KEY, {});
|
|
49
|
+
const contexts = vue.inject("contexts", { value: {} });
|
|
49
50
|
const localHovered = vue.ref(null);
|
|
50
51
|
function onBlockClick(index) {
|
|
51
52
|
sendToEditor({ type: "BLOX_BLOCK_CLICK", index });
|
|
@@ -138,7 +139,7 @@ const PreviewRenderer = vue.defineComponent({
|
|
|
138
139
|
"onMouseleave": onBlockLeave
|
|
139
140
|
},
|
|
140
141
|
[
|
|
141
|
-
vue.h(definition.component,
|
|
142
|
+
vue.h(definition.component, routes.resolveBlockProps(block, definition.schema.defaults, contexts.value)),
|
|
142
143
|
vue.h("div", { style: overlayStyle }),
|
|
143
144
|
(isSelected || isHovered) && vue.h("div", { style: labelStyle }, label)
|
|
144
145
|
]
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, inject, ref, h, provide, onMounted, onUnmounted, openBlock, createElementBlock, createVNode, unref, nextTick } from "vue";
|
|
2
|
-
import { e as BLOX_REGISTRY_KEY, u as useLocale, f as BLOX_RUNTIME_KEY } from "./routes-
|
|
2
|
+
import { e as BLOX_REGISTRY_KEY, r as resolveBlockProps, u as useLocale, f as BLOX_RUNTIME_KEY } from "./routes-UEmo7Ipo.js";
|
|
3
3
|
function sendToEditor(msg) {
|
|
4
4
|
window.parent.postMessage(cloneForPostMessage(msg), "*");
|
|
5
5
|
}
|
|
@@ -45,6 +45,7 @@ const PreviewRenderer = defineComponent({
|
|
|
45
45
|
},
|
|
46
46
|
setup(props) {
|
|
47
47
|
const registry = inject(BLOX_REGISTRY_KEY, {});
|
|
48
|
+
const contexts = inject("contexts", { value: {} });
|
|
48
49
|
const localHovered = ref(null);
|
|
49
50
|
function onBlockClick(index) {
|
|
50
51
|
sendToEditor({ type: "BLOX_BLOCK_CLICK", index });
|
|
@@ -137,7 +138,7 @@ const PreviewRenderer = defineComponent({
|
|
|
137
138
|
"onMouseleave": onBlockLeave
|
|
138
139
|
},
|
|
139
140
|
[
|
|
140
|
-
h(definition.component,
|
|
141
|
+
h(definition.component, resolveBlockProps(block, definition.schema.defaults, contexts.value)),
|
|
141
142
|
h("div", { style: overlayStyle }),
|
|
142
143
|
(isSelected || isHovered) && h("div", { style: labelStyle }, label)
|
|
143
144
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreviewRenderer.d.ts","sourceRoot":"","sources":["../src/PreviewRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;;;
|
|
1
|
+
{"version":3,"file":"PreviewRenderer.d.ts","sourceRoot":"","sources":["../src/PreviewRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;;;cActB,QAAQ,CAAC,KAAK,EAAE,CAAC;uBACnB,KAAK,EAAE;;;cAGJ,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;;;;cAIvB,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;;;IAGxC,oFAAoF;;cAEpE,QAAQ,CAAC,MAAM,EAAE,CAAC;uBACpB,MAAM,EAAE;;;;;;cAdN,QAAQ,CAAC,KAAK,EAAE,CAAC;uBACnB,KAAK,EAAE;;;cAGJ,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;;;;cAIvB,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;;;IAGxC,oFAAoF;;cAEpE,QAAQ,CAAC,MAAM,EAAE,CAAC;uBACpB,MAAM,EAAE;;;;;;;;AAlBxB,wBA+HE"}
|
package/dist/api/types.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ export type ContentStatus = 'draft' | 'published' | 'archived';
|
|
|
2
2
|
export interface Block {
|
|
3
3
|
type: string;
|
|
4
4
|
props: Record<string, unknown>;
|
|
5
|
+
/** Prop path → context reference/template, resolved by the renderer. */
|
|
6
|
+
data_bindings?: Record<string, string>;
|
|
5
7
|
}
|
|
6
8
|
export interface PageContent {
|
|
7
9
|
blocks: Block[];
|
package/dist/api/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAA;AAM9D,MAAM,WAAW,KAAK;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAA;AAM9D,MAAM,WAAW,KAAK;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACtC;AAED,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,KAAK,EAAE,CAAA;CACf;AAED,MAAM,WAAW,QAAQ;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,MAAM,EAAE,aAAa,CAAA;IACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAC7C;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;IACxD,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,UAAU;IAC1B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACvD;AAED,MAAM,WAAW,gBAAgB;IAChC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,EAAE,CAAA;IAC3B,GAAG,EAAE,UAAU,CAAA;IACf,YAAY,EAAE,gBAAgB,CAAA;IAC9B,eAAe,EAAE,cAAc,CAAA;IAC/B,YAAY,EAAE,gBAAgB,CAAA;IAC9B,aAAa,EAAE,eAAe,EAAE,CAAA;IAChC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAMD,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,aAAa,CAAA;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACb;AAMD,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,MAAM,CAAC,EAAE,aAAa,CAAA;CACtB;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,2EAA2E;IAC3E,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAClC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IACtE,WAAW,EAAE,CACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC/B,OAAO,CAAC,eAAe,CAAC,CAAA;IAC7B,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1E,UAAU,EAAE,CACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,cAAc,EACpB,MAAM,CAAC,EAAE,MAAM,KACX,OAAO,CAAC,QAAQ,CAAC,CAAA;IACtB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChE,kFAAkF;IAClF,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CACpG"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const routes = require("./routes-
|
|
4
|
-
const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-
|
|
3
|
+
const routes = require("./routes-CI7GLk41.cjs");
|
|
4
|
+
const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-CswOZDin.cjs");
|
|
5
5
|
const vue = require("vue");
|
|
6
6
|
const vueRouter = require("vue-router");
|
|
7
7
|
const pinia = require("pinia");
|
|
@@ -392,6 +392,7 @@ exports.normalizeLink = routes.normalizeLink;
|
|
|
392
392
|
exports.normalizeTo = routes.normalizeTo;
|
|
393
393
|
exports.provideBloxData = routes.provideBloxData;
|
|
394
394
|
exports.provideContentItem = routes.provideContentItem;
|
|
395
|
+
exports.resolveBlockProps = routes.resolveBlockProps;
|
|
395
396
|
exports.resolvePath = routes.resolvePath;
|
|
396
397
|
exports.setApiOrigin = routes.setApiOrigin;
|
|
397
398
|
exports.toInternalPath = routes.toInternalPath;
|
package/dist/index.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ export type { ContentItem, ContentRoute, ContentRouteInput, ContentViewSchema }
|
|
|
31
31
|
export { default as PageRenderer } from './PageRenderer';
|
|
32
32
|
export { default as PreviewApp } from './PreviewApp.vue';
|
|
33
33
|
export { default as PreviewRenderer } from './PreviewRenderer';
|
|
34
|
+
export { resolveBlockProps, type BloxContexts } from './resolveBlockProps';
|
|
34
35
|
export { buildBloxManifest, serializeRegistry } from './manifest';
|
|
35
36
|
export type { BloxManifest, BlockManifestEntry } from './manifest';
|
|
36
37
|
export type { BlockComponent, BlockDefinition, BlockSchema } from './schema';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { h as BLOX_LOCALE_STRATEGY_KEY, u as useLocale, n as normalizeLink, f as BLOX_RUNTIME_KEY, j as useSeo, k as getRegistryData, l as getItemBySlug, m as getItemById, o as getContentRoute, p as provideBloxData, d as createBlox, g as generateContentRoutes, q as installContentFallback, i as installLocaleAwareResolve, a as setActiveLocale,
|
|
2
|
-
import { _,
|
|
3
|
-
import { _ as _2, P as P2, s as s2, a } from "./PreviewApp.vue_vue_type_style_index_0_lang-
|
|
1
|
+
import { h as BLOX_LOCALE_STRATEGY_KEY, u as useLocale, n as normalizeLink, f as BLOX_RUNTIME_KEY, j as useSeo, k as getRegistryData, l as getItemBySlug, m as getItemById, o as getContentRoute, p as provideBloxData, d as createBlox, g as generateContentRoutes, q as installContentFallback, i as installLocaleAwareResolve, a as setActiveLocale, t as installSmartLinks, v as consumePendingLocaleSwitch } from "./routes-UEmo7Ipo.js";
|
|
2
|
+
import { _, w, x, y, B, z, A, C, D, E, P, F, G, c, b, H, I, J, K, L, M, N, O, Q, R, S, T, r, U, s, V, W, X, Y } from "./routes-UEmo7Ipo.js";
|
|
3
|
+
import { _ as _2, P as P2, s as s2, a } from "./PreviewApp.vue_vue_type_style_index_0_lang-RtgOdqsg.js";
|
|
4
4
|
import { defineComponent, resolveComponent, openBlock, createBlock, withCtx, Transition, resolveDynamicComponent, inject, ref, watch, onMounted, onUnmounted, computed, onServerPrefetch, toValue, createApp, h, Suspense, markRaw } from "vue";
|
|
5
5
|
import { useRouter, useRoute } from "vue-router";
|
|
6
6
|
import { createPinia } from "pinia";
|
|
@@ -18,7 +18,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
18
18
|
return (_ctx, _cache) => {
|
|
19
19
|
const _component_RouterView = resolveComponent("RouterView");
|
|
20
20
|
return openBlock(), createBlock(_component_RouterView, null, {
|
|
21
|
-
default: withCtx(({ Component, route:
|
|
21
|
+
default: withCtx(({ Component, route: r2 }) => [
|
|
22
22
|
__props.transition ? (openBlock(), createBlock(Transition, {
|
|
23
23
|
key: 0,
|
|
24
24
|
name: __props.transition,
|
|
@@ -26,12 +26,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
26
26
|
}, {
|
|
27
27
|
default: withCtx(() => [
|
|
28
28
|
(openBlock(), createBlock(resolveDynamicComponent(Component), {
|
|
29
|
-
key: viewKey(
|
|
29
|
+
key: viewKey(r2.matched, r2.path)
|
|
30
30
|
}))
|
|
31
31
|
]),
|
|
32
32
|
_: 2
|
|
33
33
|
}, 1032, ["name"])) : (openBlock(), createBlock(resolveDynamicComponent(Component), {
|
|
34
|
-
key: viewKey(
|
|
34
|
+
key: viewKey(r2.matched, r2.path)
|
|
35
35
|
}))
|
|
36
36
|
]),
|
|
37
37
|
_: 1
|
|
@@ -355,61 +355,62 @@ function buildBloxManifest(blox) {
|
|
|
355
355
|
}
|
|
356
356
|
export {
|
|
357
357
|
_ as AdminEditBar,
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
358
|
+
w as BLOX_ADMIN_CONFIG_KEY,
|
|
359
|
+
x as BLOX_CONFIG_KEY,
|
|
360
|
+
y as BLOX_DATA_KEY,
|
|
361
361
|
B as BLOX_DATA_WINDOW_KEY,
|
|
362
|
-
|
|
362
|
+
z as BLOX_LAYOUT_KEY,
|
|
363
363
|
BLOX_LOCALE_STRATEGY_KEY,
|
|
364
364
|
BLOX_RUNTIME_KEY,
|
|
365
|
-
|
|
365
|
+
A as BloxInstance,
|
|
366
366
|
_sfc_main as BloxRouterView,
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
367
|
+
C as CmsPageView,
|
|
368
|
+
D as ContentDetailView,
|
|
369
|
+
E as ContentHost,
|
|
370
370
|
P as PageRenderer,
|
|
371
371
|
_2 as PreviewApp,
|
|
372
372
|
P2 as PreviewRenderer,
|
|
373
|
-
|
|
373
|
+
F as applyLayoutChrome,
|
|
374
374
|
buildBloxManifest,
|
|
375
|
-
|
|
375
|
+
G as classifyLink,
|
|
376
376
|
c as collectBloxData,
|
|
377
377
|
b as collectBloxSeo,
|
|
378
|
-
|
|
379
|
-
|
|
378
|
+
H as configureApi,
|
|
379
|
+
I as contentRoutes,
|
|
380
380
|
createBlox,
|
|
381
381
|
createBloxApp,
|
|
382
382
|
defineBlock,
|
|
383
|
-
|
|
383
|
+
J as defineContent,
|
|
384
384
|
generateContentRoutes,
|
|
385
385
|
getContentRoute,
|
|
386
|
-
|
|
386
|
+
K as getContentRouteByCollection,
|
|
387
387
|
getItemById,
|
|
388
388
|
getItemBySlug,
|
|
389
|
-
|
|
390
|
-
|
|
389
|
+
L as getWebsiteId,
|
|
390
|
+
M as getWebsiteIdSync,
|
|
391
391
|
injectPlausible,
|
|
392
392
|
installContentFallback,
|
|
393
393
|
installSmartLinks,
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
394
|
+
N as isAbsoluteExternal,
|
|
395
|
+
O as isSoloContentPage,
|
|
396
|
+
Q as isSpecialScheme,
|
|
397
|
+
R as listItems,
|
|
398
398
|
normalizeLink,
|
|
399
|
-
|
|
399
|
+
S as normalizeTo,
|
|
400
400
|
provideBloxData,
|
|
401
|
-
|
|
402
|
-
|
|
401
|
+
T as provideContentItem,
|
|
402
|
+
r as resolveBlockProps,
|
|
403
|
+
U as resolvePath,
|
|
403
404
|
s2 as sendToEditor,
|
|
404
405
|
a as sendToPreview,
|
|
405
406
|
serializeRegistry,
|
|
406
407
|
s as setApiOrigin,
|
|
407
|
-
|
|
408
|
-
|
|
408
|
+
V as toInternalPath,
|
|
409
|
+
W as useBloxEdit,
|
|
409
410
|
useBloxRuntime,
|
|
410
|
-
|
|
411
|
+
X as useContentItem,
|
|
411
412
|
useContentSeo,
|
|
412
|
-
|
|
413
|
+
Y as useData,
|
|
413
414
|
useGlobalBlock,
|
|
414
415
|
useLocale,
|
|
415
416
|
useLocaleNav,
|
|
@@ -91,16 +91,19 @@ async function fetchCmsSiteData(apiBase, websiteName, requestOptions = {}) {
|
|
|
91
91
|
{},
|
|
92
92
|
requestOptions
|
|
93
93
|
);
|
|
94
|
-
const pagesData = await bloxBuildJson(
|
|
95
|
-
`${apiBase}/blox/websites/${site.id}/pages?locale=${website.default_locale || "en"}`,
|
|
96
|
-
{},
|
|
97
|
-
requestOptions
|
|
98
|
-
);
|
|
99
|
-
const pages = Array.isArray(pagesData) ? pagesData : pagesData.data ?? [];
|
|
100
|
-
const basePaths = await expandRoutes(apiBase, pages, requestOptions);
|
|
101
94
|
const defaultLocale = website.default_locale || "en";
|
|
102
95
|
const supportedLocales = Array.isArray(website.supported_locales) && website.supported_locales.length > 0 ? website.supported_locales : [defaultLocale];
|
|
103
|
-
const
|
|
96
|
+
const localizedPages = await Promise.all(supportedLocales.map(async (locale) => {
|
|
97
|
+
const pagesData = await bloxBuildJson(
|
|
98
|
+
`${apiBase}/blox/websites/${site.id}/pages?locale=${locale}`,
|
|
99
|
+
{},
|
|
100
|
+
requestOptions
|
|
101
|
+
);
|
|
102
|
+
const pages = Array.isArray(pagesData) ? pagesData : pagesData.data ?? [];
|
|
103
|
+
const localePaths = await expandRoutes(apiBase, pages, requestOptions);
|
|
104
|
+
return { locale, pages, paths: localePaths.map((path2) => localizePath(path2, locale, defaultLocale)) };
|
|
105
|
+
}));
|
|
106
|
+
const paths = [...new Set(localizedPages.flatMap((result) => result.paths))];
|
|
104
107
|
const rData = await bloxBuildJson(
|
|
105
108
|
`${apiBase}/blox/websites/${site.id}/redirects`,
|
|
106
109
|
{},
|
|
@@ -108,7 +111,7 @@ async function fetchCmsSiteData(apiBase, websiteName, requestOptions = {}) {
|
|
|
108
111
|
);
|
|
109
112
|
const redirectItems = Array.isArray(rData) ? rData : rData.data ?? [];
|
|
110
113
|
const redirects = redirectItems.filter((r) => r.from_path && r.to_path);
|
|
111
|
-
const collections = extractCollectionRefs(pages);
|
|
114
|
+
const collections = extractCollectionRefs(localizedPages.flatMap((result) => result.pages));
|
|
112
115
|
return { websiteId: site.id, website, paths, redirects, collections };
|
|
113
116
|
}
|
|
114
117
|
async function fetchCmsPrerenderPaths(apiBase, websiteName, requestOptions = {}) {
|
|
@@ -68,16 +68,19 @@ async function fetchCmsSiteData(apiBase, websiteName, requestOptions = {}) {
|
|
|
68
68
|
{},
|
|
69
69
|
requestOptions
|
|
70
70
|
);
|
|
71
|
-
const pagesData = await bloxBuildJson(
|
|
72
|
-
`${apiBase}/blox/websites/${site.id}/pages?locale=${website.default_locale || "en"}`,
|
|
73
|
-
{},
|
|
74
|
-
requestOptions
|
|
75
|
-
);
|
|
76
|
-
const pages = Array.isArray(pagesData) ? pagesData : pagesData.data ?? [];
|
|
77
|
-
const basePaths = await expandRoutes(apiBase, pages, requestOptions);
|
|
78
71
|
const defaultLocale = website.default_locale || "en";
|
|
79
72
|
const supportedLocales = Array.isArray(website.supported_locales) && website.supported_locales.length > 0 ? website.supported_locales : [defaultLocale];
|
|
80
|
-
const
|
|
73
|
+
const localizedPages = await Promise.all(supportedLocales.map(async (locale) => {
|
|
74
|
+
const pagesData = await bloxBuildJson(
|
|
75
|
+
`${apiBase}/blox/websites/${site.id}/pages?locale=${locale}`,
|
|
76
|
+
{},
|
|
77
|
+
requestOptions
|
|
78
|
+
);
|
|
79
|
+
const pages = Array.isArray(pagesData) ? pagesData : pagesData.data ?? [];
|
|
80
|
+
const localePaths = await expandRoutes(apiBase, pages, requestOptions);
|
|
81
|
+
return { locale, pages, paths: localePaths.map((path2) => localizePath(path2, locale, defaultLocale)) };
|
|
82
|
+
}));
|
|
83
|
+
const paths = [...new Set(localizedPages.flatMap((result) => result.paths))];
|
|
81
84
|
const rData = await bloxBuildJson(
|
|
82
85
|
`${apiBase}/blox/websites/${site.id}/redirects`,
|
|
83
86
|
{},
|
|
@@ -85,7 +88,7 @@ async function fetchCmsSiteData(apiBase, websiteName, requestOptions = {}) {
|
|
|
85
88
|
);
|
|
86
89
|
const redirectItems = Array.isArray(rData) ? rData : rData.data ?? [];
|
|
87
90
|
const redirects = redirectItems.filter((r) => r.from_path && r.to_path);
|
|
88
|
-
const collections = extractCollectionRefs(pages);
|
|
91
|
+
const collections = extractCollectionRefs(localizedPages.flatMap((result) => result.pages));
|
|
89
92
|
return { websiteId: site.id, website, paths, redirects, collections };
|
|
90
93
|
}
|
|
91
94
|
async function fetchCmsPrerenderPaths(apiBase, websiteName, requestOptions = {}) {
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Block } from './api/types';
|
|
2
|
+
export type BloxContexts = Record<string, Record<string, unknown> | null>;
|
|
3
|
+
/** Resolve explicit block bindings into a fresh props object. */
|
|
4
|
+
export declare function resolveBlockProps(block: Block, defaults: Record<string, unknown> | undefined, contexts: BloxContexts): Record<string, unknown>;
|
|
5
|
+
//# sourceMappingURL=resolveBlockProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveBlockProps.d.ts","sourceRoot":"","sources":["../src/resolveBlockProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAExC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;AAiDzE,iEAAiE;AACjE,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC7C,QAAQ,EAAE,YAAY,GACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB"}
|
|
@@ -239,6 +239,48 @@ function isSoloContentPage(blocks, layout) {
|
|
|
239
239
|
const chrome = /* @__PURE__ */ new Set([navType, footerType]);
|
|
240
240
|
return blocks.filter((b) => !chrome.has(b.type)).length === 1;
|
|
241
241
|
}
|
|
242
|
+
const REFERENCE_PATTERN = /\$[A-Za-z_][\w-]*(?:\.[A-Za-z_][\w-]*)+/g;
|
|
243
|
+
const UNSAFE_PATH_SEGMENTS = /* @__PURE__ */ new Set(["__proto__", "constructor", "prototype"]);
|
|
244
|
+
function resolveReference(reference, contexts) {
|
|
245
|
+
const [contextName, ...path] = reference.split(".");
|
|
246
|
+
let value = contexts[contextName];
|
|
247
|
+
for (const segment of path) {
|
|
248
|
+
if (UNSAFE_PATH_SEGMENTS.has(segment) || value === null || typeof value !== "object" || !Object.prototype.hasOwnProperty.call(value, segment))
|
|
249
|
+
return void 0;
|
|
250
|
+
value = value[segment];
|
|
251
|
+
}
|
|
252
|
+
return value;
|
|
253
|
+
}
|
|
254
|
+
function resolveTemplate(template, contexts) {
|
|
255
|
+
const matches = [...template.matchAll(REFERENCE_PATTERN)];
|
|
256
|
+
if (matches.length === 0) return template;
|
|
257
|
+
if (matches.length === 1 && matches[0][0] === template)
|
|
258
|
+
return resolveReference(template, contexts);
|
|
259
|
+
return template.replace(REFERENCE_PATTERN, (reference) => {
|
|
260
|
+
const value = resolveReference(reference, contexts);
|
|
261
|
+
return value == null ? "" : String(value);
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
function setPath(target, path, value) {
|
|
265
|
+
const segments = path.split(".").filter(Boolean);
|
|
266
|
+
if (segments.length === 0 || segments.some((segment) => UNSAFE_PATH_SEGMENTS.has(segment))) return;
|
|
267
|
+
let cursor = target;
|
|
268
|
+
for (const segment of segments.slice(0, -1)) {
|
|
269
|
+
const current = cursor[segment];
|
|
270
|
+
const next = current && typeof current === "object" && !Array.isArray(current) ? { ...current } : {};
|
|
271
|
+
cursor[segment] = next;
|
|
272
|
+
cursor = next;
|
|
273
|
+
}
|
|
274
|
+
cursor[segments.at(-1)] = value;
|
|
275
|
+
}
|
|
276
|
+
function resolveBlockProps(block, defaults, contexts) {
|
|
277
|
+
const resolved = { ...defaults ?? {}, ...block.props };
|
|
278
|
+
for (const [propPath, template] of Object.entries(block.data_bindings ?? {})) {
|
|
279
|
+
const value = resolveTemplate(template, contexts);
|
|
280
|
+
if (value !== void 0) setPath(resolved, propPath, value);
|
|
281
|
+
}
|
|
282
|
+
return resolved;
|
|
283
|
+
}
|
|
242
284
|
const PageRenderer = vue.defineComponent({
|
|
243
285
|
name: "PageRenderer",
|
|
244
286
|
props: {
|
|
@@ -250,6 +292,7 @@ const PageRenderer = vue.defineComponent({
|
|
|
250
292
|
setup(props) {
|
|
251
293
|
const registry2 = vue.inject(BLOX_REGISTRY_KEY, {});
|
|
252
294
|
const layout = vue.inject(BLOX_LAYOUT_KEY, null);
|
|
295
|
+
const contexts = vue.inject("contexts", { value: {} });
|
|
253
296
|
const route = vueRouter.useRoute();
|
|
254
297
|
return () => {
|
|
255
298
|
const path = route.path || "/";
|
|
@@ -263,7 +306,7 @@ const PageRenderer = vue.defineComponent({
|
|
|
263
306
|
blocks.flatMap((block, i) => {
|
|
264
307
|
const definition = registry2[block.type];
|
|
265
308
|
if (!definition) return [];
|
|
266
|
-
const merged =
|
|
309
|
+
const merged = resolveBlockProps(block, definition.schema.defaults, contexts.value);
|
|
267
310
|
const vnode = vue.h(definition.component, { key: `${block.type}-${i}`, ...merged });
|
|
268
311
|
if (wrapSolo && !chrome.has(block.type)) {
|
|
269
312
|
return [vue.h("div", {
|
|
@@ -865,7 +908,7 @@ class BloxInstance {
|
|
|
865
908
|
}
|
|
866
909
|
router.addRoute({
|
|
867
910
|
path: "/_blox_preview",
|
|
868
|
-
component: () => Promise.resolve().then(() => require("./PreviewApp-
|
|
911
|
+
component: () => Promise.resolve().then(() => require("./PreviewApp-OS1st-ng.cjs")),
|
|
869
912
|
beforeEnter: () => window.parent !== window ? true : "/"
|
|
870
913
|
});
|
|
871
914
|
router.addRoute({ path: "/:pathMatch(.*)*", component: _sfc_main$2 });
|
|
@@ -1180,6 +1223,7 @@ exports.normalizeLink = normalizeLink;
|
|
|
1180
1223
|
exports.normalizeTo = normalizeTo;
|
|
1181
1224
|
exports.provideBloxData = provideBloxData;
|
|
1182
1225
|
exports.provideContentItem = provideContentItem;
|
|
1226
|
+
exports.resolveBlockProps = resolveBlockProps;
|
|
1183
1227
|
exports.resolvePath = resolvePath;
|
|
1184
1228
|
exports.setActiveLocale = setActiveLocale;
|
|
1185
1229
|
exports.setApiOrigin = setApiOrigin;
|
|
@@ -238,6 +238,48 @@ function isSoloContentPage(blocks, layout) {
|
|
|
238
238
|
const chrome = /* @__PURE__ */ new Set([navType, footerType]);
|
|
239
239
|
return blocks.filter((b) => !chrome.has(b.type)).length === 1;
|
|
240
240
|
}
|
|
241
|
+
const REFERENCE_PATTERN = /\$[A-Za-z_][\w-]*(?:\.[A-Za-z_][\w-]*)+/g;
|
|
242
|
+
const UNSAFE_PATH_SEGMENTS = /* @__PURE__ */ new Set(["__proto__", "constructor", "prototype"]);
|
|
243
|
+
function resolveReference(reference, contexts) {
|
|
244
|
+
const [contextName, ...path] = reference.split(".");
|
|
245
|
+
let value = contexts[contextName];
|
|
246
|
+
for (const segment of path) {
|
|
247
|
+
if (UNSAFE_PATH_SEGMENTS.has(segment) || value === null || typeof value !== "object" || !Object.prototype.hasOwnProperty.call(value, segment))
|
|
248
|
+
return void 0;
|
|
249
|
+
value = value[segment];
|
|
250
|
+
}
|
|
251
|
+
return value;
|
|
252
|
+
}
|
|
253
|
+
function resolveTemplate(template, contexts) {
|
|
254
|
+
const matches = [...template.matchAll(REFERENCE_PATTERN)];
|
|
255
|
+
if (matches.length === 0) return template;
|
|
256
|
+
if (matches.length === 1 && matches[0][0] === template)
|
|
257
|
+
return resolveReference(template, contexts);
|
|
258
|
+
return template.replace(REFERENCE_PATTERN, (reference) => {
|
|
259
|
+
const value = resolveReference(reference, contexts);
|
|
260
|
+
return value == null ? "" : String(value);
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
function setPath(target, path, value) {
|
|
264
|
+
const segments = path.split(".").filter(Boolean);
|
|
265
|
+
if (segments.length === 0 || segments.some((segment) => UNSAFE_PATH_SEGMENTS.has(segment))) return;
|
|
266
|
+
let cursor = target;
|
|
267
|
+
for (const segment of segments.slice(0, -1)) {
|
|
268
|
+
const current = cursor[segment];
|
|
269
|
+
const next = current && typeof current === "object" && !Array.isArray(current) ? { ...current } : {};
|
|
270
|
+
cursor[segment] = next;
|
|
271
|
+
cursor = next;
|
|
272
|
+
}
|
|
273
|
+
cursor[segments.at(-1)] = value;
|
|
274
|
+
}
|
|
275
|
+
function resolveBlockProps(block, defaults, contexts) {
|
|
276
|
+
const resolved = { ...defaults ?? {}, ...block.props };
|
|
277
|
+
for (const [propPath, template] of Object.entries(block.data_bindings ?? {})) {
|
|
278
|
+
const value = resolveTemplate(template, contexts);
|
|
279
|
+
if (value !== void 0) setPath(resolved, propPath, value);
|
|
280
|
+
}
|
|
281
|
+
return resolved;
|
|
282
|
+
}
|
|
241
283
|
const PageRenderer = defineComponent({
|
|
242
284
|
name: "PageRenderer",
|
|
243
285
|
props: {
|
|
@@ -249,6 +291,7 @@ const PageRenderer = defineComponent({
|
|
|
249
291
|
setup(props) {
|
|
250
292
|
const registry2 = inject(BLOX_REGISTRY_KEY, {});
|
|
251
293
|
const layout = inject(BLOX_LAYOUT_KEY, null);
|
|
294
|
+
const contexts = inject("contexts", { value: {} });
|
|
252
295
|
const route = useRoute();
|
|
253
296
|
return () => {
|
|
254
297
|
const path = route.path || "/";
|
|
@@ -262,7 +305,7 @@ const PageRenderer = defineComponent({
|
|
|
262
305
|
blocks.flatMap((block, i) => {
|
|
263
306
|
const definition = registry2[block.type];
|
|
264
307
|
if (!definition) return [];
|
|
265
|
-
const merged =
|
|
308
|
+
const merged = resolveBlockProps(block, definition.schema.defaults, contexts.value);
|
|
266
309
|
const vnode = h(definition.component, { key: `${block.type}-${i}`, ...merged });
|
|
267
310
|
if (wrapSolo && !chrome.has(block.type)) {
|
|
268
311
|
return [h("div", {
|
|
@@ -864,7 +907,7 @@ class BloxInstance {
|
|
|
864
907
|
}
|
|
865
908
|
router.addRoute({
|
|
866
909
|
path: "/_blox_preview",
|
|
867
|
-
component: () => import("./PreviewApp-
|
|
910
|
+
component: () => import("./PreviewApp-CLpQFfLK.js"),
|
|
868
911
|
beforeEnter: () => window.parent !== window ? true : "/"
|
|
869
912
|
});
|
|
870
913
|
router.addRoute({ path: "/:pathMatch(.*)*", component: _sfc_main$2 });
|
|
@@ -1138,30 +1181,31 @@ function installContentFallback(router, supportedLocales, defaultLocale) {
|
|
|
1138
1181
|
});
|
|
1139
1182
|
}
|
|
1140
1183
|
export {
|
|
1141
|
-
|
|
1184
|
+
BloxInstance as A,
|
|
1142
1185
|
BLOX_DATA_WINDOW_KEY as B,
|
|
1143
|
-
_sfc_main$
|
|
1144
|
-
_sfc_main as D,
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1186
|
+
_sfc_main$2 as C,
|
|
1187
|
+
_sfc_main$1 as D,
|
|
1188
|
+
_sfc_main as E,
|
|
1189
|
+
applyLayoutChrome as F,
|
|
1190
|
+
classifyLink as G,
|
|
1191
|
+
configureApi as H,
|
|
1192
|
+
contentRoutes as I,
|
|
1193
|
+
defineContent as J,
|
|
1194
|
+
getContentRouteByCollection as K,
|
|
1195
|
+
getWebsiteId as L,
|
|
1196
|
+
getWebsiteIdSync as M,
|
|
1197
|
+
isAbsoluteExternal as N,
|
|
1198
|
+
isSoloContentPage as O,
|
|
1156
1199
|
PageRenderer as P,
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1200
|
+
isSpecialScheme as Q,
|
|
1201
|
+
listItems as R,
|
|
1202
|
+
normalizeTo as S,
|
|
1203
|
+
provideContentItem as T,
|
|
1204
|
+
resolvePath as U,
|
|
1205
|
+
toInternalPath as V,
|
|
1206
|
+
useBloxEdit as W,
|
|
1207
|
+
useContentItem as X,
|
|
1208
|
+
useData as Y,
|
|
1165
1209
|
_sfc_main$3 as _,
|
|
1166
1210
|
setActiveLocale as a,
|
|
1167
1211
|
collectBloxSeo as b,
|
|
@@ -1180,13 +1224,13 @@ export {
|
|
|
1180
1224
|
getContentRoute as o,
|
|
1181
1225
|
provideBloxData as p,
|
|
1182
1226
|
installContentFallback as q,
|
|
1183
|
-
|
|
1227
|
+
resolveBlockProps as r,
|
|
1184
1228
|
setApiOrigin as s,
|
|
1185
|
-
|
|
1229
|
+
installSmartLinks as t,
|
|
1186
1230
|
useLocale as u,
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1231
|
+
consumePendingLocaleSwitch as v,
|
|
1232
|
+
BLOX_ADMIN_CONFIG_KEY as w,
|
|
1233
|
+
BLOX_CONFIG_KEY as x,
|
|
1234
|
+
BLOX_DATA_KEY as y,
|
|
1235
|
+
BLOX_LAYOUT_KEY as z
|
|
1192
1236
|
};
|
|
@@ -98,8 +98,8 @@ async function runSharded(opts) {
|
|
|
98
98
|
if (process.env.BLOX_SSG_LLM !== "0") {
|
|
99
99
|
try {
|
|
100
100
|
const [{ mergeLlmParts }, { fetchCmsSiteData }] = await Promise.all([
|
|
101
|
-
Promise.resolve().then(() => require("./prerender-
|
|
102
|
-
Promise.resolve().then(() => require("./prerender-
|
|
101
|
+
Promise.resolve().then(() => require("./prerender-BB2m84d7.cjs")).then((n) => n.llmArtifacts),
|
|
102
|
+
Promise.resolve().then(() => require("./prerender-BB2m84d7.cjs")).then((n) => n.cmsRoutes)
|
|
103
103
|
]);
|
|
104
104
|
let website = null;
|
|
105
105
|
try {
|
|
@@ -74,8 +74,8 @@ async function runSharded(opts) {
|
|
|
74
74
|
if (process.env.BLOX_SSG_LLM !== "0") {
|
|
75
75
|
try {
|
|
76
76
|
const [{ mergeLlmParts }, { fetchCmsSiteData }] = await Promise.all([
|
|
77
|
-
import("./prerender-
|
|
78
|
-
import("./prerender-
|
|
77
|
+
import("./prerender-fFpL1L-J.js").then((n) => n.u),
|
|
78
|
+
import("./prerender-fFpL1L-J.js").then((n) => n.t)
|
|
79
79
|
]);
|
|
80
80
|
let website = null;
|
|
81
81
|
try {
|
package/dist/ssg/cli.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
"use strict";
|
|
3
3
|
const process = require("node:process");
|
|
4
|
-
const cmsRoutes = require("../prerender-
|
|
4
|
+
const cmsRoutes = require("../prerender-BB2m84d7.cjs");
|
|
5
5
|
function installFetchTimeout() {
|
|
6
6
|
const ms = Number(process.env.BLOX_SSG_FETCH_TIMEOUT_MS) || 2e4;
|
|
7
7
|
const original = globalThis.fetch;
|
|
@@ -110,7 +110,7 @@ Environment:
|
|
|
110
110
|
if (shardsOpt !== null || routesCmd) {
|
|
111
111
|
const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
|
|
112
112
|
const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
|
|
113
|
-
const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-
|
|
113
|
+
const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-C1Zbp3W6.cjs"));
|
|
114
114
|
const code = await runSharded({
|
|
115
115
|
shards: shardsOpt ?? "auto",
|
|
116
116
|
mode,
|
package/dist/ssg/cli.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
import process from "node:process";
|
|
3
|
-
import { p as polyfillBloxSsgGlobals, f as fetchCmsSiteData, b as bloxBuildJson, a as prerender } from "../prerender-
|
|
3
|
+
import { p as polyfillBloxSsgGlobals, f as fetchCmsSiteData, b as bloxBuildJson, a as prerender } from "../prerender-fFpL1L-J.js";
|
|
4
4
|
function installFetchTimeout() {
|
|
5
5
|
const ms = Number(process.env.BLOX_SSG_FETCH_TIMEOUT_MS) || 2e4;
|
|
6
6
|
const original = globalThis.fetch;
|
|
@@ -109,7 +109,7 @@ Environment:
|
|
|
109
109
|
if (shardsOpt !== null || routesCmd) {
|
|
110
110
|
const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
|
|
111
111
|
const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
|
|
112
|
-
const { runSharded } = await import("../shard-runner-
|
|
112
|
+
const { runSharded } = await import("../shard-runner-DGiP0s0u.js");
|
|
113
113
|
const code = await runSharded({
|
|
114
114
|
shards: shardsOpt ?? "auto",
|
|
115
115
|
mode,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cms-routes.d.ts","sourceRoot":"","sources":["../../src/ssg/cms-routes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAa9D,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,WAAW,CAAA;IACpB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,SAAS,EAAE,aAAa,EAAE,CAAA;IAC1B,oEAAoE;IACpE,WAAW,EAAE,aAAa,EAAE,CAAA;CAC5B;AAYD;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EAAE,GACxB,MAAM,EAAE,CASV;AAMD;;;GAGG;AACH,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,uBAA4B,GAC1C,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"cms-routes.d.ts","sourceRoot":"","sources":["../../src/ssg/cms-routes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAa9D,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,WAAW,CAAA;IACpB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,SAAS,EAAE,aAAa,EAAE,CAAA;IAC1B,oEAAoE;IACpE,WAAW,EAAE,aAAa,EAAE,CAAA;CAC5B;AAYD;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EAAE,GACxB,MAAM,EAAE,CASV;AAMD;;;GAGG;AACH,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,uBAA4B,GAC1C,OAAO,CAAC,WAAW,CAAC,CA+CtB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC3C,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,uBAA4B,GAC1C,OAAO,CAAC,MAAM,EAAE,CAAC,CAGnB"}
|
package/dist/ssg/index.cjs
CHANGED
|
@@ -22,11 +22,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
22
22
|
mod
|
|
23
23
|
));
|
|
24
24
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
25
|
-
const cmsRoutes = require("../prerender-
|
|
25
|
+
const cmsRoutes = require("../prerender-BB2m84d7.cjs");
|
|
26
26
|
const ssg_client = require("./client.cjs");
|
|
27
27
|
const pinia = require("pinia");
|
|
28
28
|
const vue = require("vue");
|
|
29
|
-
const routes = require("../routes-
|
|
29
|
+
const routes = require("../routes-CI7GLk41.cjs");
|
|
30
30
|
async function renderBloxSsgPage(options) {
|
|
31
31
|
var _a, _b, _c;
|
|
32
32
|
const {
|
package/dist/ssg/index.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { c as buildPageHead, d as primaryContextEntry, e as buildJsonLd, g as extractPageText, B as BloxBuildResponseError, b as bloxBuildJson } from "../prerender-
|
|
2
|
-
import { h, i, j, f, k, l, m, n, o, q, r, s, p, a } from "../prerender-
|
|
1
|
+
import { c as buildPageHead, d as primaryContextEntry, e as buildJsonLd, g as extractPageText, B as BloxBuildResponseError, b as bloxBuildJson } from "../prerender-fFpL1L-J.js";
|
|
2
|
+
import { h, i, j, f, k, l, m, n, o, q, r, s, p, a } from "../prerender-fFpL1L-J.js";
|
|
3
3
|
import { BLOX_STATE_WINDOW_KEY, BLOX_WEBSITE_ID_WINDOW_KEY } from "./client.mjs";
|
|
4
4
|
import { BLOX_COLLECTIONS_WINDOW_KEY, BLOX_DATA_WINDOW_KEY, BLOX_PAGE_SEO_WINDOW_KEY, getCollectionCache, getEmbeddedWebsiteId, installBloxStateCache, installCollectionCache } from "./client.mjs";
|
|
5
5
|
import { createPinia } from "pinia";
|
|
6
6
|
import { createSSRApp, h as h2, Suspense, markRaw } from "vue";
|
|
7
|
-
import { B as BLOX_DATA_WINDOW_KEY2, s as setApiOrigin, a as setActiveLocale, c as collectBloxData, b as collectBloxSeo, p as provideBloxData, d as createBlox, g as generateContentRoutes, i as installLocaleAwareResolve } from "../routes-
|
|
7
|
+
import { B as BLOX_DATA_WINDOW_KEY2, s as setApiOrigin, a as setActiveLocale, c as collectBloxData, b as collectBloxSeo, p as provideBloxData, d as createBlox, g as generateContentRoutes, i as installLocaleAwareResolve } from "../routes-UEmo7Ipo.js";
|
|
8
8
|
async function renderBloxSsgPage(options) {
|
|
9
9
|
var _a, _b, _c;
|
|
10
10
|
const {
|
package/package.json
CHANGED