@active-reach/web-sdk 1.36.5 → 1.36.7
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/aegis.min.js +1 -1
- package/dist/aegis.min.js.map +1 -1
- package/dist/{analytics-ZwrwqCTJ.mjs → analytics-Qyzk8JaB.mjs} +24 -2
- package/dist/analytics-Qyzk8JaB.mjs.map +1 -0
- package/dist/core/session.d.ts.map +1 -1
- package/dist/inapp/AegisInAppManager.d.ts +17 -0
- package/dist/inapp/AegisInAppManager.d.ts.map +1 -1
- package/dist/inapp/renderers/card-template.d.ts +23 -0
- package/dist/inapp/renderers/card-template.d.ts.map +1 -1
- package/dist/index.js +212 -14
- package/dist/index.js.map +1 -1
- package/dist/react.js +1 -1
- package/package.json +1 -1
- package/dist/analytics-ZwrwqCTJ.mjs.map +0 -1
|
@@ -347,6 +347,8 @@ export declare class AegisInAppManager {
|
|
|
347
347
|
private slotTimers;
|
|
348
348
|
private slotObserver;
|
|
349
349
|
private slotRenderScheduled;
|
|
350
|
+
private slotUnfilledBeaconed;
|
|
351
|
+
private slotUnfilledSweepTimer;
|
|
350
352
|
/**
|
|
351
353
|
* Scan the page for `[data-aegis-slot]` anchors and render any
|
|
352
354
|
* campaign whose `widget_category` matches the slot key AND whose
|
|
@@ -377,6 +379,21 @@ export declare class AegisInAppManager {
|
|
|
377
379
|
private matchesCurrentScreenOrSurface;
|
|
378
380
|
private ensureSlotObserver;
|
|
379
381
|
private renderIntoSlots;
|
|
382
|
+
/**
|
|
383
|
+
* slot_unfilled telemetry (Surface/Slot Contract tracker P2).
|
|
384
|
+
*
|
|
385
|
+
* A served embedded_card campaign whose `widget_category` has NO
|
|
386
|
+
* `data-aegis-slot` anchor on the page is silently discarded by
|
|
387
|
+
* `renderIntoSlots` — the exact failure mode that made the storefront
|
|
388
|
+
* value bar dark for browse traffic while the dashboard reported the
|
|
389
|
+
* campaign "active". This sweep runs ~3s after a render attempt (late
|
|
390
|
+
* mounts / SPA hydration get time to appear; the MutationObserver re-fill
|
|
391
|
+
* handles anchors that arrive even later) and beacons one `slot_unfilled`
|
|
392
|
+
* per (campaign, path) per session so the dashboard can show
|
|
393
|
+
* "served but never rendered".
|
|
394
|
+
*/
|
|
395
|
+
private scheduleSlotUnfilledSweep;
|
|
396
|
+
private sweepUnfilledSlots;
|
|
380
397
|
/**
|
|
381
398
|
* Rotating slot — cycles eligible campaigns one at a time inside a single host
|
|
382
399
|
* slot (the storefront sticky-footer "value bar"). Each campaign is pre-rendered
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AegisInAppManager.d.ts","sourceRoot":"","sources":["../../src/inapp/AegisInAppManager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AegisInAppManager.d.ts","sourceRoot":"","sources":["../../src/inapp/AegisInAppManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,6 +86,18 @@ export interface CardElement {
|
|
|
86
86
|
/** rating_input: high-score review/referral CTA. */
|
|
87
87
|
rating_high_url?: string;
|
|
88
88
|
rating_high_cta?: string;
|
|
89
|
+
/**
|
|
90
|
+
* rating_input: which lucide glyph the scale draws — 'star' (default) or
|
|
91
|
+
* 'heart'. Authored in the dashboard's star-rating editor and persisted by
|
|
92
|
+
* BOTH schemas (zod + pydantic), but unread here until 2026-08-13, so every
|
|
93
|
+
* widget drew stars whatever the operator picked.
|
|
94
|
+
*
|
|
95
|
+
* Deliberately NOT an emoji option, despite the editor historically offering
|
|
96
|
+
* one: this renderer is lucide-only by design rule, and an emoji glyph here
|
|
97
|
+
* would be UI chrome. An 'emoji' value from an older config falls back to
|
|
98
|
+
* 'star' rather than rendering nothing.
|
|
99
|
+
*/
|
|
100
|
+
rating_icon?: 'star' | 'heart' | string;
|
|
89
101
|
/** Where the item array comes from. 'order' = the slot's data-rateable-items
|
|
90
102
|
* (trusted Aegis surfaces) OR token→server-resolve (untrusted origins). The
|
|
91
103
|
* ONLY value at launch — convention binding (PRODUCT_RATING_LIST_ELEMENT_PLAN
|
|
@@ -107,6 +119,17 @@ export interface CardElement {
|
|
|
107
119
|
* "Earn 100 pts · +50 photo · +75 video"). Authored copy only — never a live
|
|
108
120
|
* points calc; blank → no hint. */
|
|
109
121
|
review_earn_hint?: string;
|
|
122
|
+
/** Headline of the detractor form (default "Sorry we missed the mark."). */
|
|
123
|
+
detractor_headline?: string;
|
|
124
|
+
/** Prompt under the headline (default "What went wrong?"). */
|
|
125
|
+
detractor_prompt?: string;
|
|
126
|
+
/** Quick-pick reason chips (default Late / Quality / Wrong item). */
|
|
127
|
+
detractor_chips?: string[];
|
|
128
|
+
/** Submit button label (default "Send to the team"). */
|
|
129
|
+
detractor_send_label?: string;
|
|
130
|
+
/** Post-submit confirmation line (default "Thank you — the team will
|
|
131
|
+
* personally reach out."). */
|
|
132
|
+
detractor_thanks?: string;
|
|
110
133
|
height?: number;
|
|
111
134
|
/** group: nested layout + children. */
|
|
112
135
|
layout?: 'stack' | 'row';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card-template.d.ts","sourceRoot":"","sources":["../../../src/inapp/renderers/card-template.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"card-template.d.ts","sourceRoot":"","sources":["../../../src/inapp/renderers/card-template.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as Storage, l as logger, A as Aegis } from "./analytics-
|
|
2
|
-
import { B, E, N, R, U, m } from "./analytics-
|
|
1
|
+
import { S as Storage, l as logger, A as Aegis } from "./analytics-Qyzk8JaB.mjs";
|
|
2
|
+
import { B, E, N, R, U, m } from "./analytics-Qyzk8JaB.mjs";
|
|
3
3
|
import { AegisWebPush } from "./push/AegisWebPush.js";
|
|
4
4
|
function debounce(func, wait) {
|
|
5
5
|
let timeoutId = null;
|
|
@@ -710,6 +710,8 @@ function buildRatingInputElement(el2, ctx, fg) {
|
|
|
710
710
|
wrap.appendChild(q);
|
|
711
711
|
}
|
|
712
712
|
const scale = typeof el2.rating_scale === "number" && el2.rating_scale >= 2 && el2.rating_scale <= 10 ? Math.floor(el2.rating_scale) : 5;
|
|
713
|
+
const iconName = el2.rating_icon === "heart" ? "heart" : "star";
|
|
714
|
+
const iconWord = iconName === "heart" ? "heart" : "star";
|
|
713
715
|
const row = document.createElement("div");
|
|
714
716
|
row.style.cssText = "display:flex;gap:6px;";
|
|
715
717
|
const stars2 = [];
|
|
@@ -724,9 +726,9 @@ function buildRatingInputElement(el2, ctx, fg) {
|
|
|
724
726
|
for (let i = 1; i <= scale; i++) {
|
|
725
727
|
const btn = document.createElement("button");
|
|
726
728
|
btn.type = "button";
|
|
727
|
-
btn.setAttribute("aria-label", `${i}
|
|
729
|
+
btn.setAttribute("aria-label", `${i} ${iconWord}${i > 1 ? "s" : ""}`);
|
|
728
730
|
btn.style.cssText = "cursor:pointer;border:none;background:none;padding:0;line-height:0;";
|
|
729
|
-
const svg = lucideSvgEl(
|
|
731
|
+
const svg = lucideSvgEl(iconName, { size: 26, color: "#d1d5db" });
|
|
730
732
|
if (svg) {
|
|
731
733
|
btn.appendChild(svg);
|
|
732
734
|
stars2.push(svg);
|
|
@@ -823,6 +825,7 @@ function buildProductRatingListElement(el2, ctx, fg) {
|
|
|
823
825
|
const scale = typeof el2.rating_scale === "number" && el2.rating_scale >= 2 && el2.rating_scale <= 10 ? Math.floor(el2.rating_scale) : 5;
|
|
824
826
|
const showThumb = el2.show_thumbnail !== false && el2.rating_layout !== "compact";
|
|
825
827
|
const scores = {};
|
|
828
|
+
const itemNames = {};
|
|
826
829
|
const allowText = el2.allow_review_text === true;
|
|
827
830
|
const canUpload = !!(ctx.apiHost && ctx.writeKey && ctx.organizationId);
|
|
828
831
|
const allowMedia = el2.allow_review_media === true && canUpload;
|
|
@@ -960,9 +963,103 @@ function buildProductRatingListElement(el2, ctx, fg) {
|
|
|
960
963
|
submitBtn.style.opacity = has ? "1" : ".5";
|
|
961
964
|
submitBtn.style.pointerEvents = has ? "auto" : "none";
|
|
962
965
|
};
|
|
966
|
+
const renderDetractorForm = () => {
|
|
967
|
+
const box = document.createElement("div");
|
|
968
|
+
box.style.cssText = "display:flex;flex-direction:column;gap:10px;padding:4px 0;";
|
|
969
|
+
const head = document.createElement("p");
|
|
970
|
+
head.textContent = typeof el2.detractor_headline === "string" && el2.detractor_headline.trim() ? el2.detractor_headline : "Sorry we missed the mark.";
|
|
971
|
+
head.style.cssText = `margin:0;font-size:14px;font-weight:700;color:${fg};`;
|
|
972
|
+
box.appendChild(head);
|
|
973
|
+
const prompt = document.createElement("p");
|
|
974
|
+
prompt.textContent = typeof el2.detractor_prompt === "string" && el2.detractor_prompt.trim() ? el2.detractor_prompt : "What went wrong?";
|
|
975
|
+
prompt.style.cssText = `margin:0;font-size:13px;color:${fg};opacity:.75;`;
|
|
976
|
+
box.appendChild(prompt);
|
|
977
|
+
const selected = /* @__PURE__ */ new Set();
|
|
978
|
+
const chipLabels = (Array.isArray(el2.detractor_chips) && el2.detractor_chips.length ? el2.detractor_chips.filter((c) => typeof c === "string" && !!c.trim()) : ["Late", "Quality", "Wrong item"]).slice(0, 8);
|
|
979
|
+
const chipRow = document.createElement("div");
|
|
980
|
+
chipRow.style.cssText = "display:flex;flex-wrap:wrap;gap:6px;";
|
|
981
|
+
const ta = document.createElement("textarea");
|
|
982
|
+
ta.placeholder = "Tell us more (optional)";
|
|
983
|
+
ta.rows = 3;
|
|
984
|
+
ta.style.cssText = `width:100%;box-sizing:border-box;padding:10px;border-radius:10px;border:1px solid color-mix(in srgb, ${accent} 30%, transparent);background:transparent;color:${fg};font-size:13px;resize:vertical;font-family:inherit;`;
|
|
985
|
+
const send = document.createElement("button");
|
|
986
|
+
send.type = "button";
|
|
987
|
+
const sendLabel = typeof el2.detractor_send_label === "string" && el2.detractor_send_label.trim() ? el2.detractor_send_label : "Send to the team";
|
|
988
|
+
send.textContent = sendLabel;
|
|
989
|
+
send.style.cssText = `width:100%;border:0;border-radius:999px;background:${accent};color:#fff;font-size:14px;font-weight:700;padding:10px 16px;cursor:pointer;opacity:.5;pointer-events:none;`;
|
|
990
|
+
const refreshSend = () => {
|
|
991
|
+
const has = selected.size > 0 || !!ta.value.trim();
|
|
992
|
+
send.style.opacity = has ? "1" : ".5";
|
|
993
|
+
send.style.pointerEvents = has ? "auto" : "none";
|
|
994
|
+
};
|
|
995
|
+
ta.addEventListener("input", refreshSend);
|
|
996
|
+
chipLabels.forEach((label) => {
|
|
997
|
+
const chip = document.createElement("button");
|
|
998
|
+
chip.type = "button";
|
|
999
|
+
chip.textContent = label;
|
|
1000
|
+
const paint = () => {
|
|
1001
|
+
const on = selected.has(label);
|
|
1002
|
+
chip.style.cssText = `border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;border:1px solid color-mix(in srgb, ${accent} 35%, transparent);` + (on ? `background:${accent};color:#fff;` : `background:transparent;color:${fg};`);
|
|
1003
|
+
};
|
|
1004
|
+
chip.addEventListener("click", () => {
|
|
1005
|
+
if (selected.has(label)) selected.delete(label);
|
|
1006
|
+
else selected.add(label);
|
|
1007
|
+
paint();
|
|
1008
|
+
refreshSend();
|
|
1009
|
+
});
|
|
1010
|
+
paint();
|
|
1011
|
+
chipRow.appendChild(chip);
|
|
1012
|
+
});
|
|
1013
|
+
box.appendChild(chipRow);
|
|
1014
|
+
box.appendChild(ta);
|
|
1015
|
+
box.appendChild(send);
|
|
1016
|
+
const note = document.createElement("div");
|
|
1017
|
+
note.textContent = "Your note goes straight to the team.";
|
|
1018
|
+
note.style.cssText = `font-size:11px;color:${fg};opacity:.6;text-align:center;`;
|
|
1019
|
+
box.appendChild(note);
|
|
1020
|
+
let sent = false;
|
|
1021
|
+
send.addEventListener("click", () => {
|
|
1022
|
+
var _a;
|
|
1023
|
+
if (sent) return;
|
|
1024
|
+
sent = true;
|
|
1025
|
+
send.style.opacity = ".6";
|
|
1026
|
+
send.style.pointerEvents = "none";
|
|
1027
|
+
send.textContent = "Sending…";
|
|
1028
|
+
ctx.trackEvent(ctx.campaign.id, "clicked", {
|
|
1029
|
+
meta: { element: "product_rating_list", detail: "detractor_detail" }
|
|
1030
|
+
});
|
|
1031
|
+
Promise.resolve(
|
|
1032
|
+
(_a = ctx.submitResponse) == null ? void 0 : _a.call(ctx, "detractor_detail", {
|
|
1033
|
+
chips: Array.from(selected),
|
|
1034
|
+
text: ta.value.trim(),
|
|
1035
|
+
order_id: orderId,
|
|
1036
|
+
bill_code: billCode,
|
|
1037
|
+
token
|
|
1038
|
+
})
|
|
1039
|
+
).then((res) => {
|
|
1040
|
+
var _a2;
|
|
1041
|
+
if (res === null) throw new Error("detractor_detail rejected");
|
|
1042
|
+
box.innerHTML = "";
|
|
1043
|
+
const ok = document.createElement("p");
|
|
1044
|
+
ok.textContent = typeof el2.detractor_thanks === "string" && el2.detractor_thanks.trim() ? el2.detractor_thanks : "Thank you — the team will personally reach out.";
|
|
1045
|
+
ok.style.cssText = `margin:0;font-size:13px;font-weight:700;color:${fg};text-align:center;padding:8px 0;`;
|
|
1046
|
+
box.appendChild(ok);
|
|
1047
|
+
(_a2 = ctx.playReaction) == null ? void 0 : _a2.call(ctx, wrap, "acknowledge");
|
|
1048
|
+
}).catch(() => {
|
|
1049
|
+
sent = false;
|
|
1050
|
+
send.textContent = sendLabel;
|
|
1051
|
+
refreshSend();
|
|
1052
|
+
});
|
|
1053
|
+
});
|
|
1054
|
+
wrap.appendChild(box);
|
|
1055
|
+
};
|
|
963
1056
|
const done = (branch) => {
|
|
964
1057
|
var _a;
|
|
965
1058
|
wrap.innerHTML = "";
|
|
1059
|
+
if (branch === "negative") {
|
|
1060
|
+
renderDetractorForm();
|
|
1061
|
+
return;
|
|
1062
|
+
}
|
|
966
1063
|
const ack = document.createElement("div");
|
|
967
1064
|
ack.style.cssText = "text-align:center;padding:8px 0;";
|
|
968
1065
|
const t = document.createElement("p");
|
|
@@ -993,7 +1090,11 @@ function buildProductRatingListElement(el2, ctx, fg) {
|
|
|
993
1090
|
});
|
|
994
1091
|
Promise.resolve(
|
|
995
1092
|
(_a = ctx.submitResponse) == null ? void 0 : _a.call(ctx, "rating", {
|
|
996
|
-
items: rated.map((pid) => ({
|
|
1093
|
+
items: rated.map((pid) => ({
|
|
1094
|
+
product_id: pid,
|
|
1095
|
+
score: scores[pid],
|
|
1096
|
+
...itemNames[pid] ? { product_name: itemNames[pid] } : {}
|
|
1097
|
+
})),
|
|
997
1098
|
order_id: orderId,
|
|
998
1099
|
bill_code: billCode,
|
|
999
1100
|
token,
|
|
@@ -1021,6 +1122,7 @@ function buildProductRatingListElement(el2, ctx, fg) {
|
|
|
1021
1122
|
const rowEl = document.createElement("div");
|
|
1022
1123
|
rowEl.style.cssText = "display:flex;align-items:center;gap:10px;";
|
|
1023
1124
|
if (showThumb) rowEl.appendChild(ratingThumb(it, accent));
|
|
1125
|
+
if (it.name) itemNames[it.product_id] = it.name;
|
|
1024
1126
|
const nameEl = document.createElement("span");
|
|
1025
1127
|
nameEl.textContent = it.name || it.product_id;
|
|
1026
1128
|
nameEl.style.cssText = `flex:1;min-width:0;font-size:13px;color:${fg};overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`;
|
|
@@ -5863,6 +5965,8 @@ const _AegisInAppManager = class _AegisInAppManager {
|
|
|
5863
5965
|
this.slotTimers = /* @__PURE__ */ new WeakMap();
|
|
5864
5966
|
this.slotObserver = null;
|
|
5865
5967
|
this.slotRenderScheduled = false;
|
|
5968
|
+
this.slotUnfilledBeaconed = /* @__PURE__ */ new Set();
|
|
5969
|
+
this.slotUnfilledSweepTimer = null;
|
|
5866
5970
|
this._pushOptInLoading = false;
|
|
5867
5971
|
this.writeKey = config.writeKey;
|
|
5868
5972
|
this.apiHost = config.apiHost || "https://api.aegis.ai";
|
|
@@ -6018,12 +6122,22 @@ const _AegisInAppManager = class _AegisInAppManager {
|
|
|
6018
6122
|
async _sendPushBootBeacon() {
|
|
6019
6123
|
try {
|
|
6020
6124
|
if (sessionStorage.getItem("aegis_push_boot_beacon") === "1") return;
|
|
6021
|
-
sessionStorage.setItem("aegis_push_boot_beacon", "1");
|
|
6022
6125
|
} catch {
|
|
6023
6126
|
}
|
|
6127
|
+
let beaconError = null;
|
|
6128
|
+
let optIn = { mode: "unknown", trigger: "unknown" };
|
|
6024
6129
|
try {
|
|
6025
|
-
|
|
6130
|
+
optIn = this._pushOptInCache || await Promise.race([
|
|
6131
|
+
this._fetchPushOptInConfig(),
|
|
6132
|
+
new Promise(
|
|
6133
|
+
(_, rej) => setTimeout(() => rej(new Error("config_timeout_3s")), 3e3)
|
|
6134
|
+
)
|
|
6135
|
+
]);
|
|
6026
6136
|
this._pushOptInCache = optIn;
|
|
6137
|
+
} catch (err) {
|
|
6138
|
+
beaconError = `config:${(err == null ? void 0 : err.message) || "unknown"}`.slice(0, 80);
|
|
6139
|
+
}
|
|
6140
|
+
try {
|
|
6027
6141
|
let pv = 0;
|
|
6028
6142
|
let snoozed = false;
|
|
6029
6143
|
try {
|
|
@@ -6047,11 +6161,25 @@ const _AegisInAppManager = class _AegisInAppManager {
|
|
|
6047
6161
|
pv_count: pv,
|
|
6048
6162
|
primer_snoozed: snoozed,
|
|
6049
6163
|
heal_outcome: this._lastHealOutcome,
|
|
6050
|
-
dispatch:
|
|
6164
|
+
dispatch: [
|
|
6165
|
+
this._lastDispatch ? `picked=${this._lastDispatch.picked} primer_present=${this._lastDispatch.primer_present} primer_eligible=${this._lastDispatch.primer_eligible} err=${this._lastDispatch.error} in_dom=${!!document.querySelector('[class*="push-primer"]')}` : "no_dispatch_recorded",
|
|
6166
|
+
beaconError ? `beacon_err=${beaconError}` : ""
|
|
6167
|
+
].filter(Boolean).join(" "),
|
|
6051
6168
|
user_agent: typeof navigator !== "undefined" ? navigator.userAgent : void 0
|
|
6052
6169
|
})
|
|
6053
6170
|
});
|
|
6054
|
-
|
|
6171
|
+
try {
|
|
6172
|
+
sessionStorage.setItem("aegis_push_boot_beacon", "1");
|
|
6173
|
+
} catch {
|
|
6174
|
+
}
|
|
6175
|
+
} catch (err) {
|
|
6176
|
+
try {
|
|
6177
|
+
navigator.sendBeacon(
|
|
6178
|
+
`${this.apiHost}/v1/web_push/boot-state`,
|
|
6179
|
+
JSON.stringify({ sdk_version: "beacon_fetch_failed", heal_outcome: String(err == null ? void 0 : err.message).slice(0, 60) })
|
|
6180
|
+
);
|
|
6181
|
+
} catch {
|
|
6182
|
+
}
|
|
6055
6183
|
}
|
|
6056
6184
|
}
|
|
6057
6185
|
updateUserId(userId) {
|
|
@@ -6556,6 +6684,7 @@ const _AegisInAppManager = class _AegisInAppManager {
|
|
|
6556
6684
|
var _a, _b;
|
|
6557
6685
|
if (typeof document === "undefined") return;
|
|
6558
6686
|
this.ensureSlotObserver();
|
|
6687
|
+
this.scheduleSlotUnfilledSweep();
|
|
6559
6688
|
const slots = document.querySelectorAll("[data-aegis-slot]");
|
|
6560
6689
|
if (slots.length === 0) return;
|
|
6561
6690
|
const eligibleByCategory = /* @__PURE__ */ new Map();
|
|
@@ -6625,6 +6754,54 @@ const _AegisInAppManager = class _AegisInAppManager {
|
|
|
6625
6754
|
this.filledSlots.add(slot);
|
|
6626
6755
|
});
|
|
6627
6756
|
}
|
|
6757
|
+
/**
|
|
6758
|
+
* slot_unfilled telemetry (Surface/Slot Contract tracker P2).
|
|
6759
|
+
*
|
|
6760
|
+
* A served embedded_card campaign whose `widget_category` has NO
|
|
6761
|
+
* `data-aegis-slot` anchor on the page is silently discarded by
|
|
6762
|
+
* `renderIntoSlots` — the exact failure mode that made the storefront
|
|
6763
|
+
* value bar dark for browse traffic while the dashboard reported the
|
|
6764
|
+
* campaign "active". This sweep runs ~3s after a render attempt (late
|
|
6765
|
+
* mounts / SPA hydration get time to appear; the MutationObserver re-fill
|
|
6766
|
+
* handles anchors that arrive even later) and beacons one `slot_unfilled`
|
|
6767
|
+
* per (campaign, path) per session so the dashboard can show
|
|
6768
|
+
* "served but never rendered".
|
|
6769
|
+
*/
|
|
6770
|
+
scheduleSlotUnfilledSweep() {
|
|
6771
|
+
if (typeof document === "undefined" || this.slotUnfilledSweepTimer) return;
|
|
6772
|
+
this.slotUnfilledSweepTimer = setTimeout(() => {
|
|
6773
|
+
this.slotUnfilledSweepTimer = null;
|
|
6774
|
+
this.sweepUnfilledSlots();
|
|
6775
|
+
}, 3e3);
|
|
6776
|
+
}
|
|
6777
|
+
sweepUnfilledSlots() {
|
|
6778
|
+
var _a, _b;
|
|
6779
|
+
if (typeof document === "undefined") return;
|
|
6780
|
+
const present = /* @__PURE__ */ new Set();
|
|
6781
|
+
document.querySelectorAll("[data-aegis-slot]").forEach((el2) => {
|
|
6782
|
+
const k = el2.getAttribute("data-aegis-slot");
|
|
6783
|
+
if (k) present.add(k);
|
|
6784
|
+
});
|
|
6785
|
+
const path = typeof window !== "undefined" ? window.location.pathname : "";
|
|
6786
|
+
for (const c of this.campaigns) {
|
|
6787
|
+
if (!this.matchesCurrentScreenOrSurface(c)) continue;
|
|
6788
|
+
if (!c.delivery_modes || !c.delivery_modes.includes("embedded_card")) continue;
|
|
6789
|
+
const category = c.widget_category;
|
|
6790
|
+
if (!category || present.has(category)) continue;
|
|
6791
|
+
const anchorSel = (_b = (_a = c.interactive_config) == null ? void 0 : _a.anchor) == null ? void 0 : _b.element_selector;
|
|
6792
|
+
if (typeof anchorSel === "string" && anchorSel.trim()) continue;
|
|
6793
|
+
const key = `${c.id}|${path}`;
|
|
6794
|
+
if (this.slotUnfilledBeaconed.has(key)) continue;
|
|
6795
|
+
this.slotUnfilledBeaconed.add(key);
|
|
6796
|
+
void this.trackEvent(c.id, "slot_unfilled", {
|
|
6797
|
+
meta: {
|
|
6798
|
+
widget_category: category,
|
|
6799
|
+
surface: this.currentSurface ?? void 0,
|
|
6800
|
+
path
|
|
6801
|
+
}
|
|
6802
|
+
});
|
|
6803
|
+
}
|
|
6804
|
+
}
|
|
6628
6805
|
/**
|
|
6629
6806
|
* Rotating slot — cycles eligible campaigns one at a time inside a single host
|
|
6630
6807
|
* slot (the storefront sticky-footer "value bar"). Each campaign is pre-rendered
|
|
@@ -7004,9 +7181,26 @@ const _AegisInAppManager = class _AegisInAppManager {
|
|
|
7004
7181
|
thanks_text: ic.thank_you_message,
|
|
7005
7182
|
rating_followup_enabled: ic.rating_followup_enabled !== false,
|
|
7006
7183
|
rating_followup_threshold: ic.rating_followup_threshold,
|
|
7007
|
-
|
|
7008
|
-
|
|
7009
|
-
|
|
7184
|
+
// The dashboard's star-rating editor writes `rating_low_prompt`; the
|
|
7185
|
+
// card element reads `rating_followup_prompt`. Nothing mapped them, so
|
|
7186
|
+
// an operator's custom "what went wrong?" copy never appeared — the
|
|
7187
|
+
// follow-up rendered its hardcoded default instead.
|
|
7188
|
+
rating_followup_prompt: ic.rating_followup_prompt ?? ic.rating_low_prompt,
|
|
7189
|
+
// Same break, worse blast radius: the editor writes `rating_review_url`
|
|
7190
|
+
// (the operator pastes their Google review link there) while this read
|
|
7191
|
+
// `rating_high_url` — a key NOTHING writes — falling back to an NPS
|
|
7192
|
+
// field that a star-rating campaign never sets. Both resolved
|
|
7193
|
+
// undefined, the key was stripped as undefined, and
|
|
7194
|
+
// `appendRatingThanks` skipped the CTA entirely. So the SAD path worked
|
|
7195
|
+
// (comment box) and the HAPPY path silently did nothing: a 5-star rater
|
|
7196
|
+
// was never asked for the public review the operator had configured.
|
|
7197
|
+
// Operator key FIRST; the other two stay as back-compat for configs
|
|
7198
|
+
// authored against the older shapes.
|
|
7199
|
+
rating_high_url: ic.rating_review_url ?? ic.rating_high_url ?? ic.nps_promoter_url,
|
|
7200
|
+
rating_high_cta: ic.rating_high_cta,
|
|
7201
|
+
// Icon choice was authored + persisted (zod + pydantic) but had no
|
|
7202
|
+
// renderer support at all, so every widget drew stars regardless.
|
|
7203
|
+
rating_icon: ic.rating_icon
|
|
7010
7204
|
};
|
|
7011
7205
|
} else if (campaign.sub_type === "quick_poll") {
|
|
7012
7206
|
const opts = Array.isArray(ic.poll_options) ? ic.poll_options : Array.isArray(ic.options) ? ic.options : [];
|
|
@@ -7016,7 +7210,9 @@ const _AegisInAppManager = class _AegisInAppManager {
|
|
|
7016
7210
|
}
|
|
7017
7211
|
if (!element) return;
|
|
7018
7212
|
const cleaned = Object.fromEntries(Object.entries(element).filter(([, v]) => v !== void 0));
|
|
7019
|
-
ic.
|
|
7213
|
+
const _headerImage = typeof ic.header_image_url === "string" ? ic.header_image_url.trim() : "";
|
|
7214
|
+
const elements = _headerImage ? [{ type: "image", image_url: _headerImage, aspect: "16/9" }, cleaned] : [cleaned];
|
|
7215
|
+
ic.card_template = { frame: {}, elements };
|
|
7020
7216
|
campaign.interactive_config = ic;
|
|
7021
7217
|
}
|
|
7022
7218
|
/**
|
|
@@ -11659,6 +11855,8 @@ _AegisInAppManager.KNOWN_SURFACES = /* @__PURE__ */ new Set([
|
|
|
11659
11855
|
"storefront_reviews",
|
|
11660
11856
|
"storefront_members",
|
|
11661
11857
|
"storefront_orders",
|
|
11858
|
+
"storefront_account",
|
|
11859
|
+
"storefront_referrals",
|
|
11662
11860
|
"external_website",
|
|
11663
11861
|
"external_mobile_screen"
|
|
11664
11862
|
]);
|
|
@@ -14886,7 +15084,7 @@ const _AegisMessageRuntime = class _AegisMessageRuntime {
|
|
|
14886
15084
|
var _a;
|
|
14887
15085
|
this.initialized = false;
|
|
14888
15086
|
{
|
|
14889
|
-
const v = "1.36.
|
|
15087
|
+
const v = "1.36.7";
|
|
14890
15088
|
try {
|
|
14891
15089
|
globalThis.__AEGIS_SDK_VERSION__ = v;
|
|
14892
15090
|
} catch {
|