@bagelink/blox 1.15.234 → 1.15.239

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.
@@ -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;;;cAQtB,QAAQ,CAAC,KAAK,EAAE,CAAC;uBACnB,KAAK,EAAE;;;;;;cADL,QAAQ,CAAC,KAAK,EAAE,CAAC;uBACnB,KAAK,EAAE;;;;;AALvB,wBAqBE"}
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;;;cAetB,QAAQ,CAAC,KAAK,EAAE,CAAC;uBACnB,KAAK,EAAE;;;;;;cADL,QAAQ,CAAC,KAAK,EAAE,CAAC;uBACnB,KAAK,EAAE;;;;;AALvB,wBA0CE"}
@@ -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-Bpa5eTET.cjs");
3
+ const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-BrJNkQJ8.cjs");
4
4
  exports.default = PreviewApp_vue_vue_type_style_index_0_lang._sfc_main;
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "./PreviewApp.vue_vue_type_style_index_0_lang-BJc7bAtM.js";
1
+ import { _ as _sfc_main } from "./PreviewApp.vue_vue_type_style_index_0_lang-Dnfb3hS5.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  const vue = require("vue");
3
- const routes = require("./routes-Bgy7bXEP.cjs");
3
+ const routes = require("./routes-DGXcDDs6.cjs");
4
4
  function sendToEditor(msg) {
5
5
  window.parent.postMessage(cloneForPostMessage(msg), "*");
6
6
  }
@@ -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 } from "./routes-Dkujcgil.js";
2
+ import { e as BLOX_REGISTRY_KEY, u as useLocale } from "./routes-tsYlfWQb.js";
3
3
  function sendToEditor(msg) {
4
4
  window.parent.postMessage(cloneForPostMessage(msg), "*");
5
5
  }
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-Bgy7bXEP.cjs");
4
- const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-Bpa5eTET.cjs");
3
+ const routes = require("./routes-DGXcDDs6.cjs");
4
+ const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-BrJNkQJ8.cjs");
5
5
  const vue = require("vue");
6
6
  const vueRouter = require("vue-router");
7
7
  const pinia = require("pinia");
@@ -344,12 +344,14 @@ exports.BLOX_ADMIN_CONFIG_KEY = routes.BLOX_ADMIN_CONFIG_KEY;
344
344
  exports.BLOX_CONFIG_KEY = routes.BLOX_CONFIG_KEY;
345
345
  exports.BLOX_DATA_KEY = routes.BLOX_DATA_KEY;
346
346
  exports.BLOX_DATA_WINDOW_KEY = routes.BLOX_DATA_WINDOW_KEY;
347
+ exports.BLOX_LAYOUT_KEY = routes.BLOX_LAYOUT_KEY;
347
348
  exports.BLOX_LOCALE_STRATEGY_KEY = routes.BLOX_LOCALE_STRATEGY_KEY;
348
349
  exports.BloxInstance = routes.BloxInstance;
349
350
  exports.CmsPageView = routes._sfc_main$1;
350
351
  exports.ContentDetailView = routes._sfc_main$2;
351
352
  exports.ContentHost = routes._sfc_main$3;
352
353
  exports.PageRenderer = routes.PageRenderer;
354
+ exports.applyLayoutChrome = routes.applyLayoutChrome;
353
355
  exports.classifyLink = routes.classifyLink;
354
356
  exports.collectBloxData = routes.collectBloxData;
355
357
  exports.collectBloxSeo = routes.collectBloxSeo;
@@ -367,6 +369,7 @@ exports.getWebsiteIdSync = routes.getWebsiteIdSync;
367
369
  exports.installContentFallback = routes.installContentFallback;
368
370
  exports.installSmartLinks = routes.installSmartLinks;
369
371
  exports.isAbsoluteExternal = routes.isAbsoluteExternal;
372
+ exports.isSoloContentPage = routes.isSoloContentPage;
370
373
  exports.isSpecialScheme = routes.isSpecialScheme;
371
374
  exports.listItems = routes.listItems;
372
375
  exports.normalizeLink = routes.normalizeLink;
package/dist/index.d.ts CHANGED
@@ -33,6 +33,7 @@ export { default as PreviewRenderer } from './PreviewRenderer';
33
33
  export { buildBloxManifest, serializeRegistry } from './manifest';
34
34
  export type { BloxManifest, BlockManifestEntry } from './manifest';
35
35
  export type { BlockComponent, BlockDefinition, BlockSchema } from './schema';
36
- export { BLOX_ADMIN_CONFIG_KEY, BLOX_CONFIG_KEY, BLOX_LOCALE_STRATEGY_KEY } from './symbols';
37
- export type { BloxAdminConfig, BloxConfig } from './symbols';
36
+ export { BLOX_ADMIN_CONFIG_KEY, BLOX_CONFIG_KEY, BLOX_LAYOUT_KEY, BLOX_LOCALE_STRATEGY_KEY } from './symbols';
37
+ export type { BloxAdminConfig, BloxConfig, BloxLayoutConfig } from './symbols';
38
+ export { applyLayoutChrome, isSoloContentPage } from './layout';
38
39
  //# sourceMappingURL=index.d.ts.map
@@ -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 { f as BLOX_LOCALE_STRATEGY_KEY, u as useLocale, n as normalizeLink, h as useSeo, j as getRegistryData, k as getItemBySlug, l as getItemById, m as getContentRoute, p as provideBloxData, d as createBlox, g as generateContentRoutes, o as installContentFallback, i as installLocaleAwareResolve, a as setActiveLocale, q as installSmartLinks } from "./routes-Dkujcgil.js";
2
- import { _, r, t, v, B, w, x, y, z, P, A, c, b, C, D, E, F, G, H, I, J, K, L, M, N, s, O, Q, R, S } from "./routes-Dkujcgil.js";
3
- import { _ as _2, P as P2, s as s2, a } from "./PreviewApp.vue_vue_type_style_index_0_lang-BJc7bAtM.js";
1
+ import { f as BLOX_LOCALE_STRATEGY_KEY, u as useLocale, n as normalizeLink, h as useSeo, j as getRegistryData, k as getItemBySlug, l as getItemById, m as getContentRoute, p as provideBloxData, d as createBlox, g as generateContentRoutes, o as installContentFallback, i as installLocaleAwareResolve, a as setActiveLocale, q as installSmartLinks } from "./routes-tsYlfWQb.js";
2
+ import { _, r, t, v, B, w, x, y, z, A, P, C, D, c, b, E, F, G, H, I, J, K, L, M, N, O, Q, R, s, S, T, U, V } from "./routes-tsYlfWQb.js";
3
+ import { _ as _2, P as P2, s as s2, a } from "./PreviewApp.vue_vue_type_style_index_0_lang-Dnfb3hS5.js";
4
4
  import { defineComponent, resolveComponent, openBlock, createBlock, withCtx, Transition, resolveDynamicComponent, inject, ref, 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";
@@ -344,52 +344,55 @@ export {
344
344
  t as BLOX_CONFIG_KEY,
345
345
  v as BLOX_DATA_KEY,
346
346
  B as BLOX_DATA_WINDOW_KEY,
347
+ w as BLOX_LAYOUT_KEY,
347
348
  BLOX_LOCALE_STRATEGY_KEY,
348
- w as BloxInstance,
349
+ x as BloxInstance,
349
350
  _sfc_main as BloxRouterView,
350
- x as CmsPageView,
351
- y as ContentDetailView,
352
- z as ContentHost,
351
+ y as CmsPageView,
352
+ z as ContentDetailView,
353
+ A as ContentHost,
353
354
  P as PageRenderer,
354
355
  _2 as PreviewApp,
355
356
  P2 as PreviewRenderer,
357
+ C as applyLayoutChrome,
356
358
  buildBloxManifest,
357
- A as classifyLink,
359
+ D as classifyLink,
358
360
  c as collectBloxData,
359
361
  b as collectBloxSeo,
360
- C as configureApi,
361
- D as contentRoutes,
362
+ E as configureApi,
363
+ F as contentRoutes,
362
364
  createBlox,
363
365
  createBloxApp,
364
366
  defineBlock,
365
- E as defineContent,
367
+ G as defineContent,
366
368
  generateContentRoutes,
367
369
  getContentRoute,
368
- F as getContentRouteByCollection,
370
+ H as getContentRouteByCollection,
369
371
  getItemById,
370
372
  getItemBySlug,
371
- G as getWebsiteId,
372
- H as getWebsiteIdSync,
373
+ I as getWebsiteId,
374
+ J as getWebsiteIdSync,
373
375
  injectPlausible,
374
376
  installContentFallback,
375
377
  installSmartLinks,
376
- I as isAbsoluteExternal,
377
- J as isSpecialScheme,
378
- K as listItems,
378
+ K as isAbsoluteExternal,
379
+ L as isSoloContentPage,
380
+ M as isSpecialScheme,
381
+ N as listItems,
379
382
  normalizeLink,
380
- L as normalizeTo,
383
+ O as normalizeTo,
381
384
  provideBloxData,
382
- M as provideContentItem,
383
- N as resolvePath,
385
+ Q as provideContentItem,
386
+ R as resolvePath,
384
387
  s2 as sendToEditor,
385
388
  a as sendToPreview,
386
389
  serializeRegistry,
387
390
  s as setApiOrigin,
388
- O as toInternalPath,
389
- Q as useBloxEdit,
390
- R as useContentItem,
391
+ S as toInternalPath,
392
+ T as useBloxEdit,
393
+ U as useContentItem,
391
394
  useContentSeo,
392
- S as useData,
395
+ V as useData,
393
396
  useGlobalBlock,
394
397
  useLocale,
395
398
  useLocaleNav,
@@ -0,0 +1,11 @@
1
+ import { Block } from './api/types';
2
+ import { BloxLayoutConfig } from './symbols';
3
+ /**
4
+ * Normalize a resolved CMS block list:
5
+ * - ensure nav/footer chrome (unless nav is excluded for this path)
6
+ * - strip nav on excluded paths even if the CMS page still contains it
7
+ */
8
+ export declare function applyLayoutChrome(blocks: Block[], path: string, layout: BloxLayoutConfig): Block[];
9
+ /** True when blocks are chrome + exactly one content block (+ optional chrome). */
10
+ export declare function isSoloContentPage(blocks: Block[], layout: BloxLayoutConfig): boolean;
11
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAOjD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAChC,MAAM,EAAE,KAAK,EAAE,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,GACtB,KAAK,EAAE,CAoBT;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,CAChC,MAAM,EAAE,KAAK,EAAE,EACf,MAAM,EAAE,gBAAgB,GACtB,OAAO,CAKT"}
@@ -87,6 +87,7 @@ const BLOX_REGISTRY_KEY = Symbol("blox:registry");
87
87
  const BLOX_CONFIG_KEY = Symbol("blox:config");
88
88
  const BLOX_LOCALE_STRATEGY_KEY = Symbol("blox:locale-strategy");
89
89
  const BLOX_ADMIN_CONFIG_KEY = Symbol("blox:admin-config");
90
+ const BLOX_LAYOUT_KEY = Symbol("blox:layout");
90
91
  const STORAGE_KEY = "blox:edit";
91
92
  const active = vue.ref(readStored());
92
93
  let initialized = false;
@@ -211,6 +212,32 @@ function useLocale() {
211
212
  }
212
213
  return { locale, dir, setLocale, currentAlternates, setAlternates };
213
214
  }
215
+ function pathExcluded(path, patterns) {
216
+ if (!(patterns == null ? void 0 : patterns.length)) return false;
217
+ return patterns.some((p) => path === p || path.startsWith(`${p}/`));
218
+ }
219
+ function applyLayoutChrome(blocks, path, layout) {
220
+ if (!layout.ensureChrome) return blocks;
221
+ const navType = layout.navType ?? "TopNav";
222
+ const footerType = layout.footerType ?? "Footer";
223
+ const excludeNav = pathExcluded(path, layout.excludeNavPaths);
224
+ let next = blocks.filter((b) => !(excludeNav && b.type === navType));
225
+ const hasNav = next.some((b) => b.type === navType);
226
+ const hasFooter = next.some((b) => b.type === footerType);
227
+ if (!excludeNav && !hasNav) {
228
+ next = [{ type: navType, props: {} }, ...next];
229
+ }
230
+ if (!hasFooter) {
231
+ next = [...next, { type: footerType, props: {} }];
232
+ }
233
+ return next;
234
+ }
235
+ function isSoloContentPage(blocks, layout) {
236
+ const navType = layout.navType ?? "TopNav";
237
+ const footerType = layout.footerType ?? "Footer";
238
+ const chrome = /* @__PURE__ */ new Set([navType, footerType]);
239
+ return blocks.filter((b) => !chrome.has(b.type)).length === 1;
240
+ }
214
241
  const PageRenderer = vue.defineComponent({
215
242
  name: "PageRenderer",
216
243
  props: {
@@ -221,15 +248,32 @@ const PageRenderer = vue.defineComponent({
221
248
  },
222
249
  setup(props) {
223
250
  const registry2 = vue.inject(BLOX_REGISTRY_KEY, {});
224
- return () => vue.h(
225
- "div",
226
- props.blocks.flatMap((block, i) => {
227
- const definition = registry2[block.type];
228
- if (!definition) return [];
229
- const merged = { ...definition.schema.defaults, ...block.props };
230
- return [vue.h(definition.component, { key: `${block.type}-${i}`, ...merged })];
231
- })
232
- );
251
+ const layout = vue.inject(BLOX_LAYOUT_KEY, null);
252
+ const route = vueRouter.useRoute();
253
+ return () => {
254
+ const path = route.path || "/";
255
+ const blocks = layout ? applyLayoutChrome(props.blocks, path, layout) : props.blocks;
256
+ const wrapSolo = Boolean(layout == null ? void 0 : layout.soloContentClass) && isSoloContentPage(blocks, layout);
257
+ const navType = (layout == null ? void 0 : layout.navType) ?? "TopNav";
258
+ const footerType = (layout == null ? void 0 : layout.footerType) ?? "Footer";
259
+ const chrome = /* @__PURE__ */ new Set([navType, footerType]);
260
+ return vue.h(
261
+ "div",
262
+ blocks.flatMap((block, i) => {
263
+ const definition = registry2[block.type];
264
+ if (!definition) return [];
265
+ const merged = { ...definition.schema.defaults, ...block.props };
266
+ const vnode = vue.h(definition.component, { key: `${block.type}-${i}`, ...merged });
267
+ if (wrapSolo && !chrome.has(block.type)) {
268
+ return [vue.h("div", {
269
+ key: `${block.type}-${i}-solo`,
270
+ class: layout.soloContentClass
271
+ }, [vnode])];
272
+ }
273
+ return [vnode];
274
+ })
275
+ );
276
+ };
233
277
  }
234
278
  });
235
279
  const _hoisted_1$1 = {
@@ -779,7 +823,7 @@ class BloxInstance {
779
823
  }
780
824
  router.addRoute({
781
825
  path: "/_blox_preview",
782
- component: () => Promise.resolve().then(() => require("./PreviewApp-C6hXocow.cjs")),
826
+ component: () => Promise.resolve().then(() => require("./PreviewApp-C3gdSB2p.cjs")),
783
827
  beforeEnter: () => window.parent !== window ? true : "/"
784
828
  });
785
829
  router.addRoute({ path: "/:pathMatch(.*)*", component: _sfc_main$2 });
@@ -1056,6 +1100,7 @@ exports.BLOX_ADMIN_CONFIG_KEY = BLOX_ADMIN_CONFIG_KEY;
1056
1100
  exports.BLOX_CONFIG_KEY = BLOX_CONFIG_KEY;
1057
1101
  exports.BLOX_DATA_KEY = BLOX_DATA_KEY;
1058
1102
  exports.BLOX_DATA_WINDOW_KEY = BLOX_DATA_WINDOW_KEY;
1103
+ exports.BLOX_LAYOUT_KEY = BLOX_LAYOUT_KEY;
1059
1104
  exports.BLOX_LOCALE_STRATEGY_KEY = BLOX_LOCALE_STRATEGY_KEY;
1060
1105
  exports.BLOX_REGISTRY_KEY = BLOX_REGISTRY_KEY;
1061
1106
  exports.BloxInstance = BloxInstance;
@@ -1064,6 +1109,7 @@ exports._sfc_main = _sfc_main$3;
1064
1109
  exports._sfc_main$1 = _sfc_main$2;
1065
1110
  exports._sfc_main$2 = _sfc_main$1;
1066
1111
  exports._sfc_main$3 = _sfc_main;
1112
+ exports.applyLayoutChrome = applyLayoutChrome;
1067
1113
  exports.classifyLink = classifyLink;
1068
1114
  exports.collectBloxData = collectBloxData;
1069
1115
  exports.collectBloxSeo = collectBloxSeo;
@@ -1083,6 +1129,7 @@ exports.installContentFallback = installContentFallback;
1083
1129
  exports.installLocaleAwareResolve = installLocaleAwareResolve;
1084
1130
  exports.installSmartLinks = installSmartLinks;
1085
1131
  exports.isAbsoluteExternal = isAbsoluteExternal;
1132
+ exports.isSoloContentPage = isSoloContentPage;
1086
1133
  exports.isSpecialScheme = isSpecialScheme;
1087
1134
  exports.listItems = listItems;
1088
1135
  exports.normalizeLink = normalizeLink;
@@ -86,6 +86,7 @@ const BLOX_REGISTRY_KEY = Symbol("blox:registry");
86
86
  const BLOX_CONFIG_KEY = Symbol("blox:config");
87
87
  const BLOX_LOCALE_STRATEGY_KEY = Symbol("blox:locale-strategy");
88
88
  const BLOX_ADMIN_CONFIG_KEY = Symbol("blox:admin-config");
89
+ const BLOX_LAYOUT_KEY = Symbol("blox:layout");
89
90
  const STORAGE_KEY = "blox:edit";
90
91
  const active = ref(readStored());
91
92
  let initialized = false;
@@ -210,6 +211,32 @@ function useLocale() {
210
211
  }
211
212
  return { locale, dir, setLocale, currentAlternates, setAlternates };
212
213
  }
214
+ function pathExcluded(path, patterns) {
215
+ if (!(patterns == null ? void 0 : patterns.length)) return false;
216
+ return patterns.some((p) => path === p || path.startsWith(`${p}/`));
217
+ }
218
+ function applyLayoutChrome(blocks, path, layout) {
219
+ if (!layout.ensureChrome) return blocks;
220
+ const navType = layout.navType ?? "TopNav";
221
+ const footerType = layout.footerType ?? "Footer";
222
+ const excludeNav = pathExcluded(path, layout.excludeNavPaths);
223
+ let next = blocks.filter((b) => !(excludeNav && b.type === navType));
224
+ const hasNav = next.some((b) => b.type === navType);
225
+ const hasFooter = next.some((b) => b.type === footerType);
226
+ if (!excludeNav && !hasNav) {
227
+ next = [{ type: navType, props: {} }, ...next];
228
+ }
229
+ if (!hasFooter) {
230
+ next = [...next, { type: footerType, props: {} }];
231
+ }
232
+ return next;
233
+ }
234
+ function isSoloContentPage(blocks, layout) {
235
+ const navType = layout.navType ?? "TopNav";
236
+ const footerType = layout.footerType ?? "Footer";
237
+ const chrome = /* @__PURE__ */ new Set([navType, footerType]);
238
+ return blocks.filter((b) => !chrome.has(b.type)).length === 1;
239
+ }
213
240
  const PageRenderer = defineComponent({
214
241
  name: "PageRenderer",
215
242
  props: {
@@ -220,15 +247,32 @@ const PageRenderer = defineComponent({
220
247
  },
221
248
  setup(props) {
222
249
  const registry2 = inject(BLOX_REGISTRY_KEY, {});
223
- return () => h(
224
- "div",
225
- props.blocks.flatMap((block, i) => {
226
- const definition = registry2[block.type];
227
- if (!definition) return [];
228
- const merged = { ...definition.schema.defaults, ...block.props };
229
- return [h(definition.component, { key: `${block.type}-${i}`, ...merged })];
230
- })
231
- );
250
+ const layout = inject(BLOX_LAYOUT_KEY, null);
251
+ const route = useRoute();
252
+ return () => {
253
+ const path = route.path || "/";
254
+ const blocks = layout ? applyLayoutChrome(props.blocks, path, layout) : props.blocks;
255
+ const wrapSolo = Boolean(layout == null ? void 0 : layout.soloContentClass) && isSoloContentPage(blocks, layout);
256
+ const navType = (layout == null ? void 0 : layout.navType) ?? "TopNav";
257
+ const footerType = (layout == null ? void 0 : layout.footerType) ?? "Footer";
258
+ const chrome = /* @__PURE__ */ new Set([navType, footerType]);
259
+ return h(
260
+ "div",
261
+ blocks.flatMap((block, i) => {
262
+ const definition = registry2[block.type];
263
+ if (!definition) return [];
264
+ const merged = { ...definition.schema.defaults, ...block.props };
265
+ const vnode = h(definition.component, { key: `${block.type}-${i}`, ...merged });
266
+ if (wrapSolo && !chrome.has(block.type)) {
267
+ return [h("div", {
268
+ key: `${block.type}-${i}-solo`,
269
+ class: layout.soloContentClass
270
+ }, [vnode])];
271
+ }
272
+ return [vnode];
273
+ })
274
+ );
275
+ };
232
276
  }
233
277
  });
234
278
  const _hoisted_1$1 = {
@@ -778,7 +822,7 @@ class BloxInstance {
778
822
  }
779
823
  router.addRoute({
780
824
  path: "/_blox_preview",
781
- component: () => import("./PreviewApp-CLMW1stE.js"),
825
+ component: () => import("./PreviewApp-C5G4JV33.js"),
782
826
  beforeEnter: () => window.parent !== window ? true : "/"
783
827
  });
784
828
  router.addRoute({ path: "/:pathMatch(.*)*", component: _sfc_main$2 });
@@ -1052,25 +1096,28 @@ function installContentFallback(router, supportedLocales, defaultLocale) {
1052
1096
  });
1053
1097
  }
1054
1098
  export {
1055
- classifyLink as A,
1099
+ _sfc_main as A,
1056
1100
  BLOX_DATA_WINDOW_KEY as B,
1057
- configureApi as C,
1058
- contentRoutes as D,
1059
- defineContent as E,
1060
- getContentRouteByCollection as F,
1061
- getWebsiteId as G,
1062
- getWebsiteIdSync as H,
1063
- isAbsoluteExternal as I,
1064
- isSpecialScheme as J,
1065
- listItems as K,
1066
- normalizeTo as L,
1067
- provideContentItem as M,
1068
- resolvePath as N,
1069
- toInternalPath as O,
1101
+ applyLayoutChrome as C,
1102
+ classifyLink as D,
1103
+ configureApi as E,
1104
+ contentRoutes as F,
1105
+ defineContent as G,
1106
+ getContentRouteByCollection as H,
1107
+ getWebsiteId as I,
1108
+ getWebsiteIdSync as J,
1109
+ isAbsoluteExternal as K,
1110
+ isSoloContentPage as L,
1111
+ isSpecialScheme as M,
1112
+ listItems as N,
1113
+ normalizeTo as O,
1070
1114
  PageRenderer as P,
1071
- useBloxEdit as Q,
1072
- useContentItem as R,
1073
- useData as S,
1115
+ provideContentItem as Q,
1116
+ resolvePath as R,
1117
+ toInternalPath as S,
1118
+ useBloxEdit as T,
1119
+ useContentItem as U,
1120
+ useData as V,
1074
1121
  _sfc_main$3 as _,
1075
1122
  setActiveLocale as a,
1076
1123
  collectBloxSeo as b,
@@ -1094,8 +1141,8 @@ export {
1094
1141
  BLOX_CONFIG_KEY as t,
1095
1142
  useLocale as u,
1096
1143
  BLOX_DATA_KEY as v,
1097
- BloxInstance as w,
1098
- _sfc_main$2 as x,
1099
- _sfc_main$1 as y,
1100
- _sfc_main as z
1144
+ BLOX_LAYOUT_KEY as w,
1145
+ BloxInstance as x,
1146
+ _sfc_main$2 as y,
1147
+ _sfc_main$1 as z
1101
1148
  };
@@ -1,4 +1,4 @@
1
- import { Component } from 'vue';
1
+ import { App, Component } from 'vue';
2
2
  import { Router } from 'vue-router';
3
3
  import { BlockModule } from '../defineBlock';
4
4
  import { RenderContext, RenderResult } from './prerender';
@@ -36,6 +36,8 @@ export interface CreateBloxSSREntryOptions {
36
36
  * Typically `{ RouterWrapper }` from `@bagelink/vue`.
37
37
  */
38
38
  globalComponents?: Record<string, Component>;
39
+ /** Extra per-app setup (provide/inject, etc.). */
40
+ setup?: (app: App) => void;
39
41
  }
40
42
  export interface BloxSSREntry {
41
43
  render: (url: string, ctx: RenderContext) => Promise<RenderResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"createSSREntry.d.ts","sourceRoot":"","sources":["../../src/ssg/createSSREntry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAO,SAAS,EAAE,MAAM,KAAK,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAY9D,MAAM,WAAW,yBAAyB;IACzC,oCAAoC;IACpC,aAAa,EAAE,SAAS,CAAA;IACxB;;;;OAIG;IACH,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IAC9D;;;OAGG;IACH,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACpD,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,oGAAoG;IACpG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,KAAK,EAAE,MAAM,GAAG,CAAC,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAA;IAC5E;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CAC5C;AAED,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;IAClE,0EAA0E;IAC1E,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACnD;AAKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,YAAY,CAoLnF"}
1
+ {"version":3,"file":"createSSREntry.d.ts","sourceRoot":"","sources":["../../src/ssg/createSSREntry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAY9D,MAAM,WAAW,yBAAyB;IACzC,oCAAoC;IACpC,aAAa,EAAE,SAAS,CAAA;IACxB;;;;OAIG;IACH,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IAC9D;;;OAGG;IACH,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACpD,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,oGAAoG;IACpG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,KAAK,EAAE,MAAM,GAAG,CAAC,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAA;IAC5E;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC5C,kDAAkD;IAClD,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;IAClE,0EAA0E;IAC1E,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACnD;AAKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,YAAY,CAuLnF"}
@@ -26,7 +26,7 @@ const prerender = require("../prerender-jcemLPiq.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-Bgy7bXEP.cjs");
29
+ const routes = require("../routes-DGXcDDs6.cjs");
30
30
  async function renderBloxSsgPage(options) {
31
31
  var _a, _b, _c;
32
32
  const {
@@ -121,7 +121,8 @@ function createBloxSSREntry(options) {
121
121
  locale = "en",
122
122
  supportedLocales = [locale],
123
123
  plugins = [],
124
- globalComponents = {}
124
+ globalComponents = {},
125
+ setup: userSetup
125
126
  } = options;
126
127
  const apiBase = options.apiBase ?? (typeof process !== "undefined" ? (_a = process.env) == null ? void 0 : _a.BAGELINK_API_URL : void 0) ?? "https://api.bagel.to";
127
128
  routes.setApiOrigin(apiBase);
@@ -188,6 +189,7 @@ function createBloxSSREntry(options) {
188
189
  for (const [name, comp] of Object.entries(globalComponents)) {
189
190
  app.component(name, comp);
190
191
  }
192
+ userSetup == null ? void 0 : userSetup(app);
191
193
  return { app, router, dataRegistry };
192
194
  }
193
195
  async function render(url, ctx) {
@@ -4,7 +4,7 @@ import { BLOX_STATE_WINDOW_KEY, BLOX_COLLECTIONS_WINDOW_KEY, BLOX_WEBSITE_ID_WIN
4
4
  import { 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-Dkujcgil.js";
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-tsYlfWQb.js";
8
8
  async function renderBloxSsgPage(options) {
9
9
  var _a, _b, _c;
10
10
  const {
@@ -99,7 +99,8 @@ function createBloxSSREntry(options) {
99
99
  locale = "en",
100
100
  supportedLocales = [locale],
101
101
  plugins = [],
102
- globalComponents = {}
102
+ globalComponents = {},
103
+ setup: userSetup
103
104
  } = options;
104
105
  const apiBase = options.apiBase ?? (typeof process !== "undefined" ? (_a = process.env) == null ? void 0 : _a.BAGELINK_API_URL : void 0) ?? "https://api.bagel.to";
105
106
  setApiOrigin(apiBase);
@@ -166,6 +167,7 @@ function createBloxSSREntry(options) {
166
167
  for (const [name, comp] of Object.entries(globalComponents)) {
167
168
  app.component(name, comp);
168
169
  }
170
+ userSetup == null ? void 0 : userSetup(app);
169
171
  return { app, router, dataRegistry };
170
172
  }
171
173
  async function render(url, ctx) {
package/dist/symbols.d.ts CHANGED
@@ -24,4 +24,24 @@ export interface BloxAdminConfig {
24
24
  trigger?: string;
25
25
  }
26
26
  export declare const BLOX_ADMIN_CONFIG_KEY: InjectionKey<BloxAdminConfig>;
27
+ /**
28
+ * Optional site-layout policy for marketing apps (nav/footer chrome + solo
29
+ * content height). When omitted, `PageRenderer` leaves the CMS block list as-is.
30
+ */
31
+ export interface BloxLayoutConfig {
32
+ /** Prepend nav / append footer when missing from the resolved page. */
33
+ ensureChrome?: boolean;
34
+ /** Block type used as the site nav. @default 'TopNav' */
35
+ navType?: string;
36
+ /** Block type used as the site footer. @default 'Footer' */
37
+ footerType?: string;
38
+ /** Paths that must NOT render the nav (exact or prefix). */
39
+ excludeNavPaths?: string[];
40
+ /**
41
+ * When the page is nav + exactly one content block + footer, wrap that
42
+ * content block in a div with this class (e.g. `'pageHight'`).
43
+ */
44
+ soloContentClass?: string;
45
+ }
46
+ export declare const BLOX_LAYOUT_KEY: InjectionKey<BloxLayoutConfig>;
27
47
  //# sourceMappingURL=symbols.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../src/symbols.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAClD,CAAA;AAE1B,MAAM,WAAW,UAAU;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAC1B;AAED,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,UAAU,CAAyB,CAAA;AAE9E,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,cAAc,CAAkC,CAAA;AAEpG;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC/B,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAA;IACjB,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,qBAAqB,EAAE,YAAY,CAAC,eAAe,CAClC,CAAA"}
1
+ {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../src/symbols.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAClD,CAAA;AAE1B,MAAM,WAAW,UAAU;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAC1B;AAED,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,UAAU,CAAyB,CAAA;AAE9E,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,cAAc,CAAkC,CAAA;AAEpG;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC/B,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAA;IACjB,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,qBAAqB,EAAE,YAAY,CAAC,eAAe,CAClC,CAAA;AAE9B;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC,uEAAuE;IACvE,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,gBAAgB,CACnC,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bagelink/blox",
3
3
  "type": "module",
4
- "version": "1.15.234",
4
+ "version": "1.15.239",
5
5
  "description": "Blox page builder library for drag-and-drop page building and static data management",
6
6
  "author": {
7
7
  "name": "Bagel Studio",