@bagelink/blox 1.20.33 → 1.20.36
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/{PreviewApp-DNvYww-1.js → PreviewApp-BuieYD3_.js} +1 -1
- package/dist/{PreviewApp-B9zGzNoj.cjs → PreviewApp-C9NowtfO.cjs} +1 -1
- package/dist/{PreviewApp.vue_vue_type_style_index_0_lang-B_1HZLks.js → PreviewApp.vue_vue_type_style_index_0_lang-BCjIJwcy.js} +1 -1
- package/dist/{PreviewApp.vue_vue_type_style_index_0_lang-BY4OFOi6.cjs → PreviewApp.vue_vue_type_style_index_0_lang-BJuZ_Jwy.cjs} +1 -1
- package/dist/analytics/attribution.d.ts +25 -0
- package/dist/analytics/attribution.d.ts.map +1 -1
- package/dist/{appRuntime-DbIMo4Ow.js → appRuntime-BtCOb8Gp.js} +2 -2
- package/dist/{appRuntime-7hLqxk2p.cjs → appRuntime-C0h8E4nN.cjs} +2 -2
- package/dist/index.cjs +37 -7
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +38 -8
- package/dist/ssg/index.cjs +1 -1
- package/dist/ssg/index.mjs +1 -1
- package/package.json +2 -2
|
@@ -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-BJuZ_Jwy.cjs");
|
|
4
4
|
exports.default = PreviewApp_vue_vue_type_style_index_0_lang._sfc_main;
|
|
@@ -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, r as resolveBlockProps, u as useLocale, f as BLOX_RUNTIME_KEY } from "./appRuntime-
|
|
2
|
+
import { e as BLOX_REGISTRY_KEY, r as resolveBlockProps, u as useLocale, f as BLOX_RUNTIME_KEY } from "./appRuntime-BtCOb8Gp.js";
|
|
3
3
|
function sendToEditor(msg) {
|
|
4
4
|
window.parent.postMessage(cloneForPostMessage(msg), "*");
|
|
5
5
|
}
|
|
@@ -49,6 +49,31 @@ export interface AttributionOptions {
|
|
|
49
49
|
maxAgeSeconds?: number;
|
|
50
50
|
browser?: AttributionBrowser;
|
|
51
51
|
}
|
|
52
|
+
interface CookiebotState {
|
|
53
|
+
consent?: {
|
|
54
|
+
marketing?: boolean;
|
|
55
|
+
};
|
|
56
|
+
consented?: boolean;
|
|
57
|
+
declined?: boolean;
|
|
58
|
+
hasResponse?: boolean;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Cookiebot's marketing choice, once the visitor has actually answered.
|
|
62
|
+
*
|
|
63
|
+
* An unanswered banner is not a denial. Consent Mode and Cookiebot both
|
|
64
|
+
* start as `marketing: false`, so reading that before the banner is answered
|
|
65
|
+
* would stamp every lead as denied. Until there is a response, return ''.
|
|
66
|
+
*/
|
|
67
|
+
export declare function readAdConsent(cookiebot?: CookiebotState, cookie?: string): string;
|
|
68
|
+
/**
|
|
69
|
+
* Wait until Cookiebot has the visitor's answer, within a short cap.
|
|
70
|
+
*
|
|
71
|
+
* The banner is not on the page until the tag manager starts, which is after
|
|
72
|
+
* the first interaction. A form sent in that gap would otherwise record no
|
|
73
|
+
* choice. Returns immediately when the visitor already answered.
|
|
74
|
+
*/
|
|
75
|
+
export declare function whenAdConsentKnown(): Promise<void>;
|
|
52
76
|
/** Capture or read attribution and return a complete, empty-string-safe wire object. */
|
|
53
77
|
export declare function captureAttribution(options?: AttributionOptions): AttributionSnapshot;
|
|
78
|
+
export {};
|
|
54
79
|
//# sourceMappingURL=attribution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attribution.d.ts","sourceRoot":"","sources":["../../src/analytics/attribution.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,yBAAyB,2JAG5B,CAAA;AAEV,MAAM,WAAW,mBAAmB;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;CAClB;AASD,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,MAAM,CAAA;IACjB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,SAAS,CAAC,EAAE,MAAM,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,kBAAkB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAC5B;
|
|
1
|
+
{"version":3,"file":"attribution.d.ts","sourceRoot":"","sources":["../../src/analytics/attribution.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,yBAAyB,2JAG5B,CAAA;AAEV,MAAM,WAAW,mBAAmB;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;CAClB;AASD,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,MAAM,CAAA;IACjB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,SAAS,CAAC,EAAE,MAAM,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,kBAAkB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAC5B;AAqBD,UAAU,cAAc;IACvB,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IACjC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC5B,SAAS,CAAC,EAAE,cAAc,EAC1B,MAAM,SAAK,GACT,MAAM,CAOR;AAcD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBlD;AA2ED,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,kBAAuB,GAAG,mBAAmB,CAuDxF"}
|
|
@@ -809,8 +809,8 @@ class BloxInstance {
|
|
|
809
809
|
router.addRoute({
|
|
810
810
|
path: "/_blox_preview",
|
|
811
811
|
name: BLOX_PREVIEW_ROUTE_NAME,
|
|
812
|
-
component: () => import("./PreviewApp-
|
|
813
|
-
beforeEnter: () => typeof window === "undefined" || window.
|
|
812
|
+
component: () => import("./PreviewApp-BuieYD3_.js"),
|
|
813
|
+
beforeEnter: () => typeof window === "undefined" || window.self !== window.top ? true : "/"
|
|
814
814
|
});
|
|
815
815
|
}
|
|
816
816
|
if (!router.hasRoute(BLOX_CMS_ROUTE_NAME)) {
|
|
@@ -810,8 +810,8 @@ class BloxInstance {
|
|
|
810
810
|
router.addRoute({
|
|
811
811
|
path: "/_blox_preview",
|
|
812
812
|
name: BLOX_PREVIEW_ROUTE_NAME,
|
|
813
|
-
component: () => Promise.resolve().then(() => require("./PreviewApp-
|
|
814
|
-
beforeEnter: () => typeof window === "undefined" || window.
|
|
813
|
+
component: () => Promise.resolve().then(() => require("./PreviewApp-C9NowtfO.cjs")),
|
|
814
|
+
beforeEnter: () => typeof window === "undefined" || window.self !== window.top ? true : "/"
|
|
815
815
|
});
|
|
816
816
|
}
|
|
817
817
|
if (!router.hasRoute(BLOX_CMS_ROUTE_NAME)) {
|
package/dist/index.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const index = require("./index-De9SLPcI.cjs");
|
|
4
|
-
const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-
|
|
5
|
-
const appRuntime = require("./appRuntime-
|
|
4
|
+
const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-BJuZ_Jwy.cjs");
|
|
5
|
+
const appRuntime = require("./appRuntime-C0h8E4nN.cjs");
|
|
6
6
|
const vue = require("vue");
|
|
7
7
|
const ssg_client = require("./client-AoDTJJXJ.cjs");
|
|
8
8
|
const vueRouter = require("vue-router");
|
|
@@ -480,11 +480,37 @@ function cookieMap(raw) {
|
|
|
480
480
|
return name ? [[name, decodeURIComponent(parts.join("="))]] : [];
|
|
481
481
|
}));
|
|
482
482
|
}
|
|
483
|
+
function readAdConsent(cookiebot, cookie = "") {
|
|
484
|
+
var _a;
|
|
485
|
+
const answered = (cookiebot == null ? void 0 : cookiebot.consented) === true || (cookiebot == null ? void 0 : cookiebot.declined) === true || (cookiebot == null ? void 0 : cookiebot.hasResponse) === true || /(?:^|;\s*)CookieConsent=/.test(cookie);
|
|
486
|
+
if (!answered) return "";
|
|
487
|
+
return ((_a = cookiebot == null ? void 0 : cookiebot.consent) == null ? void 0 : _a.marketing) === true ? "granted" : "denied";
|
|
488
|
+
}
|
|
489
|
+
function currentCookiebot() {
|
|
490
|
+
return globalThis.Cookiebot;
|
|
491
|
+
}
|
|
483
492
|
function defaultAdConsent() {
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
493
|
+
const cookie = typeof document === "undefined" ? "" : document.cookie;
|
|
494
|
+
return readAdConsent(currentCookiebot(), cookie);
|
|
495
|
+
}
|
|
496
|
+
const CONSENT_EVENTS = ["CookiebotOnConsentReady", "CookiebotOnAccept", "CookiebotOnDecline"];
|
|
497
|
+
const CONSENT_WAIT_MS = 1500;
|
|
498
|
+
function whenAdConsentKnown() {
|
|
499
|
+
if (typeof window === "undefined" || typeof window.addEventListener !== "function") {
|
|
500
|
+
return Promise.resolve();
|
|
501
|
+
}
|
|
502
|
+
if (readAdConsent(currentCookiebot(), document.cookie)) return Promise.resolve();
|
|
503
|
+
return new Promise((resolve) => {
|
|
504
|
+
let settled = false;
|
|
505
|
+
const finish = () => {
|
|
506
|
+
if (settled) return;
|
|
507
|
+
settled = true;
|
|
508
|
+
for (const event of CONSENT_EVENTS) window.removeEventListener(event, finish);
|
|
509
|
+
resolve();
|
|
510
|
+
};
|
|
511
|
+
for (const event of CONSENT_EVENTS) window.addEventListener(event, finish);
|
|
512
|
+
setTimeout(finish, CONSENT_WAIT_MS);
|
|
513
|
+
});
|
|
488
514
|
}
|
|
489
515
|
function browser() {
|
|
490
516
|
if (typeof window === "undefined" || typeof document === "undefined") return void 0;
|
|
@@ -601,7 +627,9 @@ function captureAttribution(options = {}) {
|
|
|
601
627
|
browser: browserName(env.userAgent),
|
|
602
628
|
user_agent_raw: env.userAgent,
|
|
603
629
|
in_app_source: inAppSource(env.userAgent),
|
|
604
|
-
|
|
630
|
+
// No provider means no answer, not a denial. A site that wants the
|
|
631
|
+
// fail-closed default passes its own adConsent.
|
|
632
|
+
ad_consent: ((_b = env.adConsent) == null ? void 0 : _b.call(env)) ?? ""
|
|
605
633
|
};
|
|
606
634
|
}
|
|
607
635
|
function defineBloxSite(config) {
|
|
@@ -744,10 +772,12 @@ exports.injectPlausible = injectPlausible;
|
|
|
744
772
|
exports.installDocumentNavigation = installDocumentNavigation;
|
|
745
773
|
exports.installGtm = installGtm;
|
|
746
774
|
exports.isGtmInstalled = isGtmInstalled;
|
|
775
|
+
exports.readAdConsent = readAdConsent;
|
|
747
776
|
exports.serializeRegistry = serializeRegistry;
|
|
748
777
|
exports.useBloxRuntime = useBloxRuntime;
|
|
749
778
|
exports.useContentSeo = useContentSeo;
|
|
750
779
|
exports.useGlobalBlock = useGlobalBlock;
|
|
751
780
|
exports.useLocaleNav = useLocaleNav;
|
|
752
781
|
exports.usePageContext = usePageContext;
|
|
782
|
+
exports.whenAdConsentKnown = whenAdConsentKnown;
|
|
753
783
|
exports.withLocaleRoutes = withLocaleRoutes;
|
package/dist/index.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export { createBloxApp, injectPlausible } from './createBloxApp';
|
|
|
27
27
|
export type { BloxAppResult, CreateBloxAppOptions, PlausibleOptions } from './createBloxApp';
|
|
28
28
|
export { injectGtm, installGtm, isGtmInstalled } from './analytics/gtm';
|
|
29
29
|
export type { GtmOptions, GtmStrategy } from './analytics/gtm';
|
|
30
|
-
export { ATTRIBUTION_CAMPAIGN_KEYS, captureAttribution } from './analytics/attribution';
|
|
30
|
+
export { ATTRIBUTION_CAMPAIGN_KEYS, captureAttribution, readAdConsent, whenAdConsentKnown } from './analytics/attribution';
|
|
31
31
|
export type { AttributionBrowser, AttributionOptions, AttributionSnapshot, } from './analytics/attribution';
|
|
32
32
|
export { defineBloxSite } from './siteConfig';
|
|
33
33
|
export type { BloxSiteConfig } from './siteConfig';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACzL,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAChE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAKlF,YAAY,EACX,cAAc,EACd,KAAK,EAEL,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,cAAc,EACd,QAAQ,EACR,eAAe,EACf,cAAc,EACd,WAAW,GACX,MAAM,aAAa,CAAA;AAIpB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACtD,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAI9E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAK3E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAKjD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAExE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACjH,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,YAAY,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAK7D,OAAO,EACN,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,WAAW,EACX,cAAc,GACd,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAK5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACjD,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAKxD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAChE,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAC5F,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACvE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useBloxApi, getItemBySlug, getItemById, provideBloxApi } from "./index-9Rzzo_yF.js";
|
|
2
2
|
import { configureApi, createBloxApi, getCollectionResolver, getWebsiteId, getWebsiteIdSync, listItems, resolvePath, setApiOrigin, setCollectionResolver } from "./index-9Rzzo_yF.js";
|
|
3
|
-
import { _, P, s, a } from "./PreviewApp.vue_vue_type_style_index_0_lang-
|
|
4
|
-
import { g as BLOX_LOCALE_STRATEGY_KEY, u as useLocale, n as normalizeLink, f as BLOX_RUNTIME_KEY, h as useSeo, j as getRegistryData, k as getContentRoute, p as provideBloxData, b as provideBloxLocale, i as installBloxRuntime, d as setActiveLocale, l as isMissingPageDocument, m as installSmartLinks, o as BLOX_CMS_ROUTE_NAME, q as BLOX_PREVIEW_ROUTE_NAME } from "./appRuntime-
|
|
5
|
-
import { _ as _2, t, v, w, x, y, z, A, C, P as P2, D, E, c, a as a2, F, G, H, I, J, K, L, M, N, O, Q, R, r, s as s2, S, T, U, V } from "./appRuntime-
|
|
3
|
+
import { _, P, s, a } from "./PreviewApp.vue_vue_type_style_index_0_lang-BCjIJwcy.js";
|
|
4
|
+
import { g as BLOX_LOCALE_STRATEGY_KEY, u as useLocale, n as normalizeLink, f as BLOX_RUNTIME_KEY, h as useSeo, j as getRegistryData, k as getContentRoute, p as provideBloxData, b as provideBloxLocale, i as installBloxRuntime, d as setActiveLocale, l as isMissingPageDocument, m as installSmartLinks, o as BLOX_CMS_ROUTE_NAME, q as BLOX_PREVIEW_ROUTE_NAME } from "./appRuntime-BtCOb8Gp.js";
|
|
5
|
+
import { _ as _2, t, v, w, x, y, z, A, C, P as P2, D, E, c, a as a2, F, G, H, I, J, K, L, M, N, O, Q, R, r, s as s2, S, T, U, V } from "./appRuntime-BtCOb8Gp.js";
|
|
6
6
|
import { defineComponent, resolveComponent, openBlock, createBlock, withCtx, Transition, resolveDynamicComponent, inject, ref, watch, onMounted, onUnmounted, computed, onServerPrefetch, toValue, h, Suspense, createSSRApp, createApp } from "vue";
|
|
7
7
|
import { r as readBloxHydration } from "./client-Ce9fRCGH.js";
|
|
8
8
|
import { useRouter, useRoute } from "vue-router";
|
|
@@ -481,11 +481,37 @@ function cookieMap(raw) {
|
|
|
481
481
|
return name ? [[name, decodeURIComponent(parts.join("="))]] : [];
|
|
482
482
|
}));
|
|
483
483
|
}
|
|
484
|
+
function readAdConsent(cookiebot, cookie = "") {
|
|
485
|
+
var _a;
|
|
486
|
+
const answered = (cookiebot == null ? void 0 : cookiebot.consented) === true || (cookiebot == null ? void 0 : cookiebot.declined) === true || (cookiebot == null ? void 0 : cookiebot.hasResponse) === true || /(?:^|;\s*)CookieConsent=/.test(cookie);
|
|
487
|
+
if (!answered) return "";
|
|
488
|
+
return ((_a = cookiebot == null ? void 0 : cookiebot.consent) == null ? void 0 : _a.marketing) === true ? "granted" : "denied";
|
|
489
|
+
}
|
|
490
|
+
function currentCookiebot() {
|
|
491
|
+
return globalThis.Cookiebot;
|
|
492
|
+
}
|
|
484
493
|
function defaultAdConsent() {
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
494
|
+
const cookie = typeof document === "undefined" ? "" : document.cookie;
|
|
495
|
+
return readAdConsent(currentCookiebot(), cookie);
|
|
496
|
+
}
|
|
497
|
+
const CONSENT_EVENTS = ["CookiebotOnConsentReady", "CookiebotOnAccept", "CookiebotOnDecline"];
|
|
498
|
+
const CONSENT_WAIT_MS = 1500;
|
|
499
|
+
function whenAdConsentKnown() {
|
|
500
|
+
if (typeof window === "undefined" || typeof window.addEventListener !== "function") {
|
|
501
|
+
return Promise.resolve();
|
|
502
|
+
}
|
|
503
|
+
if (readAdConsent(currentCookiebot(), document.cookie)) return Promise.resolve();
|
|
504
|
+
return new Promise((resolve) => {
|
|
505
|
+
let settled = false;
|
|
506
|
+
const finish = () => {
|
|
507
|
+
if (settled) return;
|
|
508
|
+
settled = true;
|
|
509
|
+
for (const event of CONSENT_EVENTS) window.removeEventListener(event, finish);
|
|
510
|
+
resolve();
|
|
511
|
+
};
|
|
512
|
+
for (const event of CONSENT_EVENTS) window.addEventListener(event, finish);
|
|
513
|
+
setTimeout(finish, CONSENT_WAIT_MS);
|
|
514
|
+
});
|
|
489
515
|
}
|
|
490
516
|
function browser() {
|
|
491
517
|
if (typeof window === "undefined" || typeof document === "undefined") return void 0;
|
|
@@ -602,7 +628,9 @@ function captureAttribution(options = {}) {
|
|
|
602
628
|
browser: browserName(env.userAgent),
|
|
603
629
|
user_agent_raw: env.userAgent,
|
|
604
630
|
in_app_source: inAppSource(env.userAgent),
|
|
605
|
-
|
|
631
|
+
// No provider means no answer, not a denial. A site that wants the
|
|
632
|
+
// fail-closed default passes its own adConsent.
|
|
633
|
+
ad_consent: ((_b = env.adConsent) == null ? void 0 : _b.call(env)) ?? ""
|
|
606
634
|
};
|
|
607
635
|
}
|
|
608
636
|
function defineBloxSite(config) {
|
|
@@ -730,6 +758,7 @@ export {
|
|
|
730
758
|
Q as normalizeTo,
|
|
731
759
|
provideBloxData,
|
|
732
760
|
R as provideContentItem,
|
|
761
|
+
readAdConsent,
|
|
733
762
|
readBloxHydration,
|
|
734
763
|
r as resolveBlockProps,
|
|
735
764
|
resolvePath,
|
|
@@ -752,5 +781,6 @@ export {
|
|
|
752
781
|
useLocaleNav,
|
|
753
782
|
usePageContext,
|
|
754
783
|
useSeo,
|
|
784
|
+
whenAdConsentKnown,
|
|
755
785
|
withLocaleRoutes
|
|
756
786
|
};
|
package/dist/ssg/index.cjs
CHANGED
|
@@ -26,7 +26,7 @@ const llmArtifacts = require("../validate-output-DFoN6pkw.cjs");
|
|
|
26
26
|
const ssg_buildGrant = require("./build-grant.cjs");
|
|
27
27
|
const ssg_client = require("../client-AoDTJJXJ.cjs");
|
|
28
28
|
const vue = require("vue");
|
|
29
|
-
const appRuntime = require("../appRuntime-
|
|
29
|
+
const appRuntime = require("../appRuntime-C0h8E4nN.cjs");
|
|
30
30
|
const localeStrategy = require("../localeStrategy-OwRIn35C.cjs");
|
|
31
31
|
const index = require("../index-De9SLPcI.cjs");
|
|
32
32
|
function timestamp(value) {
|
package/dist/ssg/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { o, q, f, r, s, t, w, g, x, y, z, A, C, D, p, a, E, F, u, d, v } from ".
|
|
|
3
3
|
import { parseBloxBuildGrantBody, resolveBloxBuildGrant } from "./build-grant.mjs";
|
|
4
4
|
import { a as BLOX_HYDRATION_WINDOW_KEY } from "../client-Ce9fRCGH.js";
|
|
5
5
|
import { createSSRApp, h, Suspense } from "vue";
|
|
6
|
-
import { c as collectBloxData, a as collectBloxSeo, s as setSsrPageLocale, p as provideBloxData, b as provideBloxLocale, B as BLOX_SSR_ROUTE_STATE_KEY, i as installBloxRuntime, d as setActiveLocale } from "../appRuntime-
|
|
6
|
+
import { c as collectBloxData, a as collectBloxSeo, s as setSsrPageLocale, p as provideBloxData, b as provideBloxLocale, B as BLOX_SSR_ROUTE_STATE_KEY, i as installBloxRuntime, d as setActiveLocale } from "../appRuntime-BtCOb8Gp.js";
|
|
7
7
|
import { s as setPageSlugMap } from "../localeStrategy-hXlNof1E.js";
|
|
8
8
|
import { provideBloxApi, getCollectionResolver } from "../index-9Rzzo_yF.js";
|
|
9
9
|
function timestamp(value) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bagelink/blox",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.20.
|
|
4
|
+
"version": "1.20.36",
|
|
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",
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
"vue": "^3.5.43",
|
|
113
113
|
"vue-router": "^4.6.4",
|
|
114
114
|
"vue-tsc": "^2.2.12",
|
|
115
|
-
"@bagelink/sdk": "1.20.
|
|
115
|
+
"@bagelink/sdk": "1.20.36"
|
|
116
116
|
},
|
|
117
117
|
"dependencies": {
|
|
118
118
|
"magic-string": "^0.30.21",
|