@sprig-technologies/sprig-browser 2.33.0 → 2.33.1

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,7 +1,7 @@
1
1
  var Ut = Object.defineProperty;
2
2
  var St = (t, e, n) => e in t ? Ut(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
3
  var $ = (t, e, n) => (St(t, typeof e != "symbol" ? e + "" : e, n), n);
4
- import { g as T, s as Xe, l as D, e as w, S as g, v as Ze, m as k, b as M, h as et, E as re, D as V, c as It, r as N, i as kt, j as Et, k as _t, n as Fe, o as ze, a as xt, p as tt, d as Dt, q as rt } from "./metricsReporter-DbO9obdT.js";
4
+ import { g as T, s as Xe, l as R, e as w, S as u, v as Ze, m as k, b as M, h as et, E as re, D as F, c as It, r as B, i as kt, j as Et, k as _t, n as Fe, o as ze, a as xt, p as tt, d as Rt, q as rt } from "./metricsReporter-Dsn4xUH7.js";
5
5
  const rr = 360, ir = "ul-app", nr = "#e6e6e6", or = "#bd282a", sr = 1030, He = () => {
6
6
  try {
7
7
  return window.parent.Intercom;
@@ -15,7 +15,7 @@ const rr = 360, ir = "ul-app", nr = "#e6e6e6", or = "#bd282a", sr = 1030, He = (
15
15
  const t = He();
16
16
  t && (t.ul_wasVisible && t("update", { hide_default_launcher: !1 }), delete t.ul_wasVisible);
17
17
  } }, Symbol.toStringTag, { value: "Module" }))];
18
- class Rt {
18
+ class Dt {
19
19
  static disable() {
20
20
  Ve.forEach((e) => e.disable());
21
21
  }
@@ -23,7 +23,7 @@ class Rt {
23
23
  Ve.forEach((e) => e.enable());
24
24
  }
25
25
  }
26
- const We = "ul-view-sdk-script", At = ["ios", "android"], q = "visitors", F = "environments";
26
+ const We = "ul-view-sdk-script", At = ["ios", "android"], q = "visitors", z = "environments";
27
27
  async function C(t, e) {
28
28
  var i, o, a;
29
29
  const { shouldDropOnRateLimit: n, ...s } = e;
@@ -32,37 +32,37 @@ async function C(t, e) {
32
32
  if (r.ok) {
33
33
  const l = (i = r.headers) == null ? void 0 : i.get("Authorization"), p = l ? l.split(" ") : void 0, d = p && p.length === 2 ? p[1] : void 0, c = (o = r.headers) == null ? void 0 : o.get("x-ul-visitor-id");
34
34
  if (window.UserLeap.userId && c === window.UserLeap.visitorId) {
35
- const y = D.getItemObject("sprig.anon.env.vid.map");
36
- y && y[window.UserLeap.envId] === c && (delete y[window.UserLeap.envId], D.setItemObject("sprig.anon.env.vid.map", y));
35
+ const y = R.getItemObject("sprig.anon.env.vid.map");
36
+ y && y[window.UserLeap.envId] === c && (delete y[window.UserLeap.envId], R.setItemObject("sprig.anon.env.vid.map", y));
37
37
  }
38
- d && c && (c !== window.UserLeap.visitorId || window.UserLeap.token !== d) && (x("token", d), x("vid", c), w.emit(g.VisitorIDUpdated, { visitorId: c }), window.UserLeap.token = d, window.UserLeap.visitorId = c);
38
+ d && c && (c !== window.UserLeap.visitorId || window.UserLeap.token !== d) && (x("token", d), x("vid", c), w.emit(u.VisitorIDUpdated, { visitorId: c }), window.UserLeap.token = d, window.UserLeap.visitorId = c);
39
39
  }
40
40
  return (a = r.json) != null && a.logMessage && console.warn(`[Sprig] ${r.json.logMessage}`), r;
41
41
  }
42
42
  function x(t, e) {
43
- const n = D.getItemObject("userleap.ids");
43
+ const n = R.getItemObject("userleap.ids");
44
44
  let s = n[window.UserLeap.envId];
45
- s ? s[t] = e : s = { [t]: e }, n[window.UserLeap.envId] = s, D.setItemObject("userleap.ids", n);
45
+ s ? s[t] = e : s = { [t]: e }, n[window.UserLeap.envId] = s, R.setItemObject("userleap.ids", n);
46
46
  }
47
- function De() {
47
+ function Re() {
48
48
  return window.previewMode ? "0" : window.UserLeap.visitorId ?? "";
49
49
  }
50
50
  function A(t, e, n) {
51
51
  const s = [window.UserLeap._API_URL, "sdk", t];
52
52
  return e && e.forEach((r) => {
53
- s.push(r), r === F ? s.push(window.UserLeap.envId) : r === q && s.push(De());
53
+ s.push(r), r === z ? s.push(window.UserLeap.envId) : r === q && s.push(Re());
54
54
  }), n && s.push(n), s.join("/");
55
55
  }
56
56
  const X = async (t, e) => {
57
57
  var Te, je, Me;
58
- const { context: n, delay: s, forceBrandedLogo: r, endCard: i, isFeedback: o = !1, heatmap: a, locale: l, previewMode: p, productConfig: d, questions: c, responseGroupUid: y, surveyId: u, uuid: m, vid: I, sessionReplay: _, studyType: f } = t, v = T(window.UserLeap), U = ie(v), S = ge(v);
58
+ const { context: n, delay: s, forceBrandedLogo: r, endCard: i, isFeedback: o = !1, heatmap: a, locale: l, previewMode: p, productConfig: d, questions: c, responseGroupUid: y, surveyId: g, uuid: m, vid: I, sessionReplay: _, studyType: f } = t, v = T(window.UserLeap), U = ie(v), S = ge(v);
59
59
  if (_)
60
60
  if (U)
61
- w.emit(g.ReplayCapture, { responseGroupUid: y, hasQuestions: !!(c != null && c.length), surveyId: u, uploadId: _.uploadId, replayType: _.replayDurationType ?? "before", seconds: _.replayDurationSeconds, generateVideoUploadUrlPayload: { mediaRecordingUid: Ze(), mediaType: "screen", questionId: 1, responseGroupUid: y, surveyId: u, updatedAt: (/* @__PURE__ */ new Date()).toISOString(), visitorId: window.UserLeap.visitorId, isReplay: !0 } });
61
+ w.emit(u.ReplayCapture, { responseGroupUid: y, hasQuestions: !!(c != null && c.length), surveyId: g, uploadId: _.uploadId, replayType: _.replayDurationType ?? "before", seconds: _.replayDurationSeconds, generateVideoUploadUrlPayload: { mediaRecordingUid: Ze(), mediaType: "screen", questionId: 1, responseGroupUid: y, surveyId: g, updatedAt: (/* @__PURE__ */ new Date()).toISOString(), visitorId: window.UserLeap.visitorId, isReplay: !0 } });
62
62
  else {
63
63
  if (!k.replay)
64
64
  return window.UserLeap.reportError("displayQuestions", new Error("Replay module not registered")), { success: !1, message: "Replay module not registered", surveyState: "no survey" };
65
- k.replay.scheduleOrCaptureReplay({ responseGroupId: y, surveyId: u, visitorId: I, replayParams: _, completeUploadHeaders: v, apiUrl: window.UserLeap._API_URL, triggerTimestamp: Date.now(), isStandalone: c.length === 0 });
65
+ k.replay.scheduleOrCaptureReplay({ responseGroupId: y, surveyId: g, visitorId: I, replayParams: _, completeUploadHeaders: v, apiUrl: window.UserLeap._API_URL, triggerTimestamp: Date.now(), isStandalone: c.length === 0 });
66
66
  }
67
67
  if (a) {
68
68
  if (!k.replay)
@@ -84,23 +84,23 @@ const X = async (t, e) => {
84
84
  const L = "Attempted to display survey to a different visitor";
85
85
  return window.UserLeap.reportError("DisplaySurvey", new Error(L)), { success: !1, message: L, surveyState: "no survey" };
86
86
  }
87
- M.info("ShowingSurvey", { surveyId: u }), (Te = k.replay) == null || Te.RecordSurveyShown({ id: u, userAgent: window.navigator.userAgent }), Rt.disable(), w.emit(g.SurveyWillPresent, { name: g.SurveyWillPresent, "survey.id": u });
88
- let O, h, E, R, z = document.createElement("div");
87
+ M.info("ShowingSurvey", { surveyId: g }), (Te = k.replay) == null || Te.RecordSurveyShown({ id: g, userAgent: window.navigator.userAgent }), Dt.disable(), w.emit(u.SurveyWillPresent, { name: u.SurveyWillPresent, "survey.id": g });
88
+ let O, h, E, D, H = document.createElement("div");
89
89
  const K = (L) => {
90
90
  const { "view.version": J } = L;
91
91
  J !== v["x-ul-sdk-version"] && nt(), w.removeListener("verify.view.version", K);
92
92
  };
93
- w.on("verify.view.version", K), window.UserLeap.useMobileStyling = S, et(v) ? (O = "ul-direct-embeded-frame", h = document.head, E = window, R = !1, (() => {
93
+ w.on("verify.view.version", K), window.UserLeap.useMobileStyling = S, et(v) ? (O = "ul-direct-embeded-frame", h = document.head, E = window, D = !1, (() => {
94
94
  const L = T(window.UserLeap), J = ie(L), fe = window.UserLeap.forceDirectEmbed, ve = L["userleap-platform"] === "web";
95
95
  return J || fe && ve;
96
- })() && (it(u, o), z.id = O, window.UserLeap.container.appendChild(z), ot(), w.emit(g.SurveyLifeCycle, { state: "presented" }), w.emit(g.SurveyPresented, { name: g.SurveyPresented, "survey.id": u }))) : { frameId: O, contentWinDocHead: h, contentWindow: E, hasOverlay: R, iframe: z } = Ct({ productConfig: d, useMobileStyling: S, surveyId: u, isFeedback: o }), window.UserLeap.frameId = O;
97
- const B = { apiURL: window.UserLeap._API_URL, cards: c, configureExitOnOverlayClick: (L) => {
98
- w.once(g.CloseSurveyOnOverlayClick, L);
99
- }, context: n, endCard: i, envId: window.UserLeap.envId, eventEmitFn: w.emit.bind(w), fontFamily: window.UserLeap.fontFamily, fontFamilyURL: window.UserLeap.fontFamilyURL, forceBrandedLogo: r, frame: z, headers: v, locale: l, mobileSDKVersion: window.UserLeap.mobileSDKVersion, previewKey: D.getItem("sprig.previewKey"), previewMode: p, productConfig: { framePosition: d == null ? void 0 : d.framePosition, desktopDisplay: d == null ? void 0 : d.desktopDisplay, placement: d == null ? void 0 : d.placement }, responseGroupUid: y, startingQuestionIdx: (je = window.UserLeap.config) == null ? void 0 : je.startingQuestionIdx, studyType: f, styleNonce: window.UserLeap.styleNonce, surveyId: u, tabTitle: document.title, trackPageViewUrl: e, ulEvents: re, upchunkLibraryURL: window.UserLeap.upchunkLibraryURL, useMobileStyling: S, userId: m, viewDocument: E == null ? void 0 : E.document, viewWindow: E, visitorAttributes: { externalUserId: window.UserLeap.userId, email: window.UserLeap.email }, ...window.UserLeap._config };
96
+ })() && (it(g, o), H.id = O, window.UserLeap.container.appendChild(H), ot(), w.emit(u.SurveyLifeCycle, { state: "presented" }), w.emit(u.SurveyPresented, { name: u.SurveyPresented, "survey.id": g }))) : { frameId: O, contentWinDocHead: h, contentWindow: E, hasOverlay: D, iframe: H } = Ct({ productConfig: d, useMobileStyling: S, surveyId: g, isFeedback: o }), window.UserLeap.frameId = O;
97
+ const N = { apiURL: window.UserLeap._API_URL, cards: c, configureExitOnOverlayClick: (L) => {
98
+ w.once(u.CloseSurveyOnOverlayClick, L);
99
+ }, context: n, endCard: i, envId: window.UserLeap.envId, eventEmitFn: w.emit.bind(w), fontFamily: window.UserLeap.fontFamily, fontFamilyURL: window.UserLeap.fontFamilyURL, forceBrandedLogo: r, frame: H, headers: v, locale: l, mobileSDKVersion: window.UserLeap.mobileSDKVersion, previewKey: R.getItem("sprig.previewKey"), previewMode: p, productConfig: { framePosition: d == null ? void 0 : d.framePosition, desktopDisplay: d == null ? void 0 : d.desktopDisplay, placement: d == null ? void 0 : d.placement }, responseGroupUid: y, startingQuestionIdx: (je = window.UserLeap.config) == null ? void 0 : je.startingQuestionIdx, studyType: f, styleNonce: window.UserLeap.styleNonce, surveyId: g, tabTitle: document.title, trackPageViewUrl: e, ulEvents: re, upchunkLibraryURL: window.UserLeap.upchunkLibraryURL, useMobileStyling: S, userId: m, viewDocument: E == null ? void 0 : E.document, viewWindow: E, visitorAttributes: { externalUserId: window.UserLeap.userId, email: window.UserLeap.email }, ...window.UserLeap._config };
100
100
  (Me = window.UserLeap._config) != null && Me.startingQuestionIdx && (window.UserLeap._config = { ...window.UserLeap._config, startingQuestionIdx: null });
101
101
  const Lt = (o ? window.UserLeap.feedbackCustomStyles : window.UserLeap.customStyles) ?? d.customStyles;
102
- B.customStyles = Lt, E && (E.__cfg = B);
103
- const ye = window.UserLeap.viewSDKURL ? window.UserLeap.viewSDKURL : B.path, Oe = document.getElementById(We);
102
+ N.customStyles = Lt, E && (E.__cfg = N);
103
+ const ye = window.UserLeap.viewSDKURL ? window.UserLeap.viewSDKURL : N.path, Oe = document.getElementById(We);
104
104
  Oe && Oe.remove();
105
105
  const me = function() {
106
106
  const L = document.createElement("script");
@@ -108,17 +108,17 @@ const X = async (t, e) => {
108
108
  }(), Ce = () => {
109
109
  window.UserLeap.container && Object.assign(window.UserLeap.container.style, { display: "flex" });
110
110
  };
111
- if (B.installationMethod === "web-npm" || B.installationMethod === "web-npm-bundled") {
112
- const { default: L } = await import("./view-Cf3oYcCU.js");
113
- L.configure(B), R && window.UserLeap.container && Ce();
111
+ if (N.installationMethod === "web-npm" || N.installationMethod === "web-npm-bundled") {
112
+ const { default: L } = await import("./view-CHGRuuXh.js");
113
+ L.configure(N), D && window.UserLeap.container && Ce();
114
114
  } else
115
- ye && (me.src = ye, R && me.addEventListener("load", () => {
115
+ ye && (me.src = ye, D && me.addEventListener("load", () => {
116
116
  window.UserLeap.container && Ce();
117
117
  }), E == null || E.addEventListener("error", (L) => {
118
118
  L.target instanceof HTMLScriptElement && L.target.src === ye && window.UserLeap.reportError("loadFrameScript", new Error("Frame script failed to load"));
119
119
  }, { capture: !0, once: !0 }));
120
120
  h == null || h.appendChild(me);
121
- const Pe = { success: !0, surveyState: "ready", surveyId: u, responseGroupUid: y };
121
+ const Pe = { success: !0, surveyState: "ready", surveyId: g, responseGroupUid: y };
122
122
  return window.UserLeap.isMobileSDK && s && (Pe.delay = s), Pe;
123
123
  };
124
124
  function ge(t) {
@@ -131,7 +131,7 @@ function ge(t) {
131
131
  function ie(t) {
132
132
  return At.includes(t["userleap-platform"]);
133
133
  }
134
- const Re = "ul-frame";
134
+ const De = "ul-frame";
135
135
  window.UserLeap && window.Sprig && (window.Sprig._gtm ? window.Sprig = window.UserLeap : window.UserLeap = window.Sprig), window.UserLeap || (window.UserLeap = window.Sprig), window.Sprig || (window.Sprig = window.UserLeap);
136
136
  const he = "0px", it = (t, e, n) => {
137
137
  window.UserLeap.container = document.createElement("div"), window.UserLeap.container.className = "ul-container" + (e ? " ul-container-feedback" : ""), t && (window.UserLeap.container.dataset.studyId = t.toString());
@@ -143,13 +143,13 @@ const he = "0px", it = (t, e, n) => {
143
143
  const n = window.UserLeap.container;
144
144
  if (n)
145
145
  try {
146
- (s = n.parentNode) == null || s.removeChild(n), window.UserLeap.container = null, x("trackStartUrl", null), w.emit(g.SurveyLifeCycle, { state: "dismissed" }), w.emit(g.SurveyClosed, { name: g.SurveyClosed, initiator: t, "survey.id": parseInt(n.dataset.studyId), ...e && { studyType: e } });
146
+ (s = n.parentNode) == null || s.removeChild(n), window.UserLeap.container = null, x("trackStartUrl", null), w.emit(u.SurveyLifeCycle, { state: "dismissed" }), w.emit(u.SurveyClosed, { name: u.SurveyClosed, initiator: t, "survey.id": parseInt(n.dataset.studyId), ...e && { studyType: e } });
147
147
  } catch (r) {
148
148
  console.warn(`[Sprig] (ERR-412) Error removing UserLeap container by ${t} ` + n), r instanceof Error && window.UserLeap.reportError("dismissActiveSurvey", r);
149
149
  }
150
150
  }, ot = () => {
151
- w.once(g.SurveyWillClose, ({ initiator: t, studyType: e }) => {
152
- w.removeAllListeners(g.CloseSurveyOnOverlayClick), nt(t, e);
151
+ w.once(u.SurveyWillClose, ({ initiator: t, studyType: e }) => {
152
+ w.removeAllListeners(u.CloseSurveyOnOverlayClick), nt(t, e);
153
153
  });
154
154
  }, Ot = (t, e, n, s) => {
155
155
  var d, c;
@@ -181,13 +181,13 @@ const he = "0px", it = (t, e, n) => {
181
181
  y();
182
182
  }
183
183
  }
184
- return p && ((y, u) => {
185
- const m = { position: "fixed", overflow: "auto", top: "0px", left: "0px", display: "none", height: "100%", width: "100%", transition: "background-color 0.3s ease-out", zIndex: 2147483646 }, I = u ? y.overlayStyleMobile : y.overlayStyle;
186
- m["background-color"] = I === "light" ? "rgba(255,255,255, 0.95)" : "rgba(0,0,0,0.9)", u || (m.margin = "auto"), window.UserLeap.container && Object.assign(window.UserLeap.container.style, m);
184
+ return p && ((y, g) => {
185
+ const m = { position: "fixed", overflow: "auto", top: "0px", left: "0px", display: "none", height: "100%", width: "100%", transition: "background-color 0.3s ease-out", zIndex: 2147483646 }, I = g ? y.overlayStyleMobile : y.overlayStyle;
186
+ m["background-color"] = I === "light" ? "rgba(255,255,255, 0.95)" : "rgba(0,0,0,0.9)", g || (m.margin = "auto"), window.UserLeap.container && Object.assign(window.UserLeap.container.style, m);
187
187
  })(i, n), Object.assign(t.style, r, l), p;
188
188
  }, Ct = ({ productConfig: t, useMobileStyling: e, surveyId: n, isFeedback: s }) => {
189
- var y, u;
190
- const r = Re, i = s && t.desktopDisplay === "slider";
189
+ var y, g;
190
+ const r = De, i = s && t.desktopDisplay === "slider";
191
191
  it(n, s, i), Pt();
192
192
  const o = document.createElement("iframe");
193
193
  o.id = r, o.setAttribute("title", "Sprig User Feedback Dialog");
@@ -195,22 +195,22 @@ const he = "0px", it = (t, e, n) => {
195
195
  ot();
196
196
  let l = !1;
197
197
  o.setHeight = (m) => {
198
- parseInt(o.style.height) == m && l || (l = !0, o.style.height = `${m}px`, w.emit(g.SurveyHeight, { name: g.SurveyHeight, contentFrameHeight: m, "survey.id": n }));
198
+ parseInt(o.style.height) == m && l || (l = !0, o.style.height = `${m}px`, w.emit(u.SurveyHeight, { name: u.SurveyHeight, contentFrameHeight: m, "survey.id": n }));
199
199
  };
200
200
  let p = !1;
201
201
  o.setWidth = (m) => {
202
- parseInt(o.style.width) == m && p || (p = !0, o.style.width = `${m}px`, w.emit(g.SurveyWidth, { name: g.SurveyWidth, contentFrameWidth: m, "survey.id": n }));
202
+ parseInt(o.style.width) == m && p || (p = !0, o.style.width = `${m}px`, w.emit(u.SurveyWidth, { name: u.SurveyWidth, contentFrameWidth: m, "survey.id": n }));
203
203
  }, (y = window.UserLeap.container) == null || y.appendChild(o), t && (e ? t.exitOnOverlayClickMobile : t.exitOnOverlayClick) && window.UserLeap.container && (window.UserLeap.container.onclick = () => {
204
- w.emit(g.CloseSurveyOnOverlayClick);
205
- }), w.emit(g.SurveyLifeCycle, { state: "presented" }), w.emit(g.SurveyPresented, { name: g.SurveyPresented, "survey.id": n });
206
- const d = (u = o.contentWindow) == null ? void 0 : u.document;
204
+ w.emit(u.CloseSurveyOnOverlayClick);
205
+ }), w.emit(u.SurveyLifeCycle, { state: "presented" }), w.emit(u.SurveyPresented, { name: u.SurveyPresented, "survey.id": n });
206
+ const d = (g = o.contentWindow) == null ? void 0 : g.document;
207
207
  if (d && (d.open("text/html", "replace"), d.write("<!doctype html><head></head><body></body></html>"), d.close(), !e)) {
208
208
  const m = d.body;
209
209
  m.style.display = "flex", m.style.alignItems = "center";
210
210
  }
211
211
  const c = d == null ? void 0 : d.head;
212
212
  return { frameId: r, contentWinDocHead: c, contentWindow: o.contentWindow, hasOverlay: a, iframe: o };
213
- }, st = { [g.SurveyFadingOut]: () => {
213
+ }, st = { [u.SurveyFadingOut]: () => {
214
214
  window.UserLeap.container && Object.assign(window.UserLeap.container.style, { "background-color": "rgba(0,0,0,0)" });
215
215
  } }, Pt = () => {
216
216
  Object.entries(st).forEach(([t, e]) => {
@@ -220,7 +220,7 @@ const he = "0px", it = (t, e, n) => {
220
220
  Object.entries(st).forEach(([t, e]) => {
221
221
  w.off(t, e);
222
222
  });
223
- }, j = (t) => !!t && t.nodeType === Node.ELEMENT_NODE, Ne = (t) => t instanceof HTMLElement || t instanceof SVGElement, se = ({ document: t, elementId: e, styleString: n, nonce: s }) => {
223
+ }, j = (t) => !!t && t.nodeType === Node.ELEMENT_NODE, Be = (t) => t instanceof HTMLElement || t instanceof SVGElement, se = ({ document: t, elementId: e, styleString: n, nonce: s }) => {
224
224
  const r = t.getElementById(e);
225
225
  if (r)
226
226
  return void (r.textContent = n);
@@ -232,7 +232,7 @@ const he = "0px", it = (t, e, n) => {
232
232
  return t;
233
233
  const s = n.scrollHeight;
234
234
  return s < 100 ? t : t - (s - 100);
235
- }, Be = (t, e) => {
235
+ }, Ne = (t, e) => {
236
236
  const n = e.querySelector(t);
237
237
  if (!j(n))
238
238
  return 0;
@@ -245,14 +245,14 @@ const he = "0px", it = (t, e, n) => {
245
245
  const l = s.querySelector(".ul-card--matrix_grid"), p = !l && e && n;
246
246
  try {
247
247
  p && (r.style.width = "360px"), i = s.clientHeight, i += ((y) => {
248
- const u = y.querySelector(".sprig-question-body"), m = y.querySelector(".ul-card"), I = y.querySelector(".ul-card-main-content"), _ = y.querySelector(".ul-footer"), f = y.querySelector(".sprig-container");
248
+ const g = y.querySelector(".sprig-question-body"), m = y.querySelector(".ul-card"), I = y.querySelector(".ul-card-main-content"), _ = y.querySelector(".ul-footer"), f = y.querySelector(".sprig-container");
249
249
  let v = 0;
250
- return j(m) && (v += m.scrollHeight - m.clientHeight), j(I) && (v += I.scrollHeight - I.clientHeight), j(u) && (v += u.scrollHeight - u.clientHeight), j(_) && j(f) && f.clientHeight === 0 && (v += _.clientHeight), v;
250
+ return j(m) && (v += m.scrollHeight - m.clientHeight), j(I) && (v += I.scrollHeight - I.clientHeight), j(g) && (v += g.scrollHeight - g.clientHeight), j(_) && j(f) && f.clientHeight === 0 && (v += _.clientHeight), v;
251
251
  })(t);
252
252
  const d = getComputedStyle(s);
253
253
  a = i;
254
254
  const c = parseFloat(d.marginTop) + parseFloat(d.marginBottom);
255
- i += c + (parseFloat(d.borderTopWidth) + parseFloat(d.borderBottomWidth)), l && (o = l.scrollWidth, o += Be(".ul-card__container", t), o += Be(".sprig-question-body", t));
255
+ i += c + (parseFloat(d.borderTopWidth) + parseFloat(d.borderBottomWidth)), l && (o = l.scrollWidth, o += Ne(".ul-card__container", t), o += Ne(".sprig-question-body", t));
256
256
  } finally {
257
257
  p && r.style.removeProperty("width");
258
258
  }
@@ -261,8 +261,8 @@ const he = "0px", it = (t, e, n) => {
261
261
  }, ar = (t) => {
262
262
  const e = t.querySelector(".ul-card__container");
263
263
  e && (e.scrollTop = 0);
264
- }, at = () => b, G = () => document.getElementById("sprig-feedback-container"), Se = () => document.getElementById("sprig-feedback-loading-animation"), dt = () => !!document.getElementById(Re);
265
- let $e = !1, b = null, P = null, Ae = !1, Z = null, H = null;
264
+ }, at = () => b, G = () => document.getElementById("sprig-feedback-container"), Se = () => document.getElementById("sprig-feedback-loading-animation"), dt = () => !!document.getElementById(De);
265
+ let $e = !1, b = null, P = null, Ae = !1, Z = null, V = null;
266
266
  const qt = ["bottom-left", "bottom-right", "center-left", "center-right"], ae = () => {
267
267
  var e;
268
268
  const t = window.UserLeap.container;
@@ -274,10 +274,10 @@ const qt = ["bottom-left", "bottom-right", "center-left", "center-right"], ae =
274
274
  return t + parseInt(e.borderRightWidth || "0") + parseInt(e.borderLeftWidth || "0");
275
275
  }, de = (t) => {
276
276
  const e = G();
277
- e && (H != null && H.endsWith("right") ? e.style.right = `${t}px` : H != null && H.endsWith("left") && (e.style.left = `${t}px`));
277
+ e && (V != null && V.endsWith("right") ? e.style.right = `${t}px` : V != null && V.endsWith("left") && (e.style.left = `${t}px`));
278
278
  }, be = () => {
279
279
  if (b && (ae() || lt())) {
280
- w.off(g.SurveyAppeared, Y), Ie();
280
+ w.off(u.SurveyAppeared, Y), Ie();
281
281
  const t = ct();
282
282
  return de(-t), !0;
283
283
  }
@@ -315,8 +315,8 @@ const qt = ["bottom-left", "bottom-right", "center-left", "center-right"], ae =
315
315
  return;
316
316
  c.remove(), w.off(re.SURVEY_FADING_OUT, be);
317
317
  }
318
- Z = i, se({ document, elementId: "sprig-feedback-style", styleString: '.ul-loading-spinner-container{font-size:1.8rem;flex-grow:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.ul-loading-spinner{display:inline-block;position:relative;width:6rem;height:6rem}.ul-loading-spinner div{box-sizing:border-box;display:block;position:absolute;width:80%;height:80%;margin:5px;border:5px solid #152e3e;border-radius:50%;animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#152e3e transparent transparent transparent}.ul-loading-spinner .first{animation-delay:-.45s}.ul-loading-spinner .second{animation-delay:-.3s}.ul-loading-spinner .third{animation-delay:-.15s}@keyframes lds-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in-transition{animation:fadeIn .4s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}#sprig-feedback-button{border-left:0;border-radius:0 8px 8px 0;display:grid;padding:8px;text-align:center;transition:all ease-in-out 1s;z-index:inherit}#sprig-feedback-button:hover{cursor:pointer}.sprig-feedback-button-label{writing-mode:vertical-lr;text-orientation:sideways}.sprig-feedback-button-right{transform:rotate(180deg)}.sprig-feedback-button-bottom{align-self:flex-end;margin-bottom:20px}.sprig-feedback-button-light{background:#efefee;color:#000;border:1px solid #e2e3e1}.sprig-feedback-button-dark{background:#000;color:#fff;border:1px solid #000000}#sprig-feedback-container{display:flex;align-items:center;position:fixed;transition:right .2s linear,left .2s linear;z-index:2147483646}.sprig-feedback-container-left{flex-flow:row-reverse}.sprig-feedback-container-center{top:50%;transform:translateY(-50%)}.sprig-feedback-container-bottom{bottom:0%;margin-bottom:15px}.sprig-feedback-loading-container{align-items:center;background-color:#fff;border:2px solid var(--feedback-border);display:flex;max-height:90vh;max-width:90vw;min-width:0px}.sprig-feedback-loading-container-left{border-left:none;border-radius:0 8px 8px 0}.sprig-feedback-loading-container-right{border-right:none;border-radius:8px 0 0 8px}#sprig-feedback-error-container{margin:auto;text-align:center;width:360px}.sprig-feedback-error-text{font-weight:400;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}#sprig-feedback-loading-container .ul-container{position:relative;max-height:inherit}#sprig-feedback-loading-animation{position:absolute}.sprig-feedback-loading-container-previews iframe{max-height:inherit!important}', nonce: window.UserLeap.styleNonce }), se({ document, elementId: "ul-custom-style", styleString: r ?? "", nonce: window.UserLeap.styleNonce }), $e = a === "center-modal", H = o;
319
- const [y, u] = o.split("-");
318
+ Z = i, se({ document, elementId: "sprig-feedback-style", styleString: '.ul-loading-spinner-container{font-size:1.8rem;flex-grow:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.ul-loading-spinner{display:inline-block;position:relative;width:6rem;height:6rem}.ul-loading-spinner div{box-sizing:border-box;display:block;position:absolute;width:80%;height:80%;margin:5px;border:5px solid #152e3e;border-radius:50%;animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#152e3e transparent transparent transparent}.ul-loading-spinner .first{animation-delay:-.45s}.ul-loading-spinner .second{animation-delay:-.3s}.ul-loading-spinner .third{animation-delay:-.15s}@keyframes lds-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in-transition{animation:fadeIn .4s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}#sprig-feedback-button{border-left:0;border-radius:0 8px 8px 0;display:grid;padding:8px;text-align:center;transition:all ease-in-out 1s;z-index:inherit}#sprig-feedback-button:hover{cursor:pointer}.sprig-feedback-button-label{writing-mode:vertical-lr;text-orientation:sideways}.sprig-feedback-button-right{transform:rotate(180deg)}.sprig-feedback-button-bottom{align-self:flex-end;margin-bottom:20px}.sprig-feedback-button-light{background:#efefee;color:#000;border:1px solid #e2e3e1}.sprig-feedback-button-dark{background:#000;color:#fff;border:1px solid #000000}#sprig-feedback-container{display:flex;align-items:center;position:fixed;transition:right .2s linear,left .2s linear;z-index:2147483646}.sprig-feedback-container-left{flex-flow:row-reverse}.sprig-feedback-container-center{top:50%;transform:translateY(-50%)}.sprig-feedback-container-bottom{bottom:0%;margin-bottom:15px}.sprig-feedback-loading-container{align-items:center;background-color:#fff;border:2px solid var(--feedback-border);display:flex;max-height:90vh;max-width:90vw;min-width:0px}.sprig-feedback-loading-container-left{border-left:none;border-radius:0 8px 8px 0}.sprig-feedback-loading-container-right{border-right:none;border-radius:8px 0 0 8px}#sprig-feedback-error-container{margin:auto;text-align:center;width:360px}.sprig-feedback-error-text{font-weight:400;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}#sprig-feedback-loading-container .ul-container{position:relative;max-height:inherit}#sprig-feedback-loading-animation{position:absolute}.sprig-feedback-loading-container-previews iframe{max-height:inherit!important}', nonce: window.UserLeap.styleNonce }), se({ document, elementId: "ul-custom-style", styleString: r ?? "", nonce: window.UserLeap.styleNonce }), $e = a === "center-modal", V = o;
319
+ const [y, g] = o.split("-");
320
320
  ((f) => {
321
321
  if (G() || !qt.includes(f))
322
322
  return;
@@ -324,11 +324,11 @@ const qt = ["bottom-left", "bottom-right", "center-left", "center-right"], ae =
324
324
  S.id = "sprig-feedback-container", S.classList.add(`sprig-feedback-container-${U}`, `sprig-feedback-container-${v}`), document.body.appendChild(S);
325
325
  })(o), c = G(), P = document.createElement("button");
326
326
  const m = document.createElement("div");
327
- m.className = "sprig-feedback-button-label", m.innerText = l, P.appendChild(m), P.id = "sprig-feedback-button", P.classList.add(`sprig-feedback-button-${u}`, `sprig-feedback-button-${y}`, `sprig-feedback-button-${s}`, "fade-in-transition"), w.on(re.SURVEY_FADING_OUT, be), P.addEventListener("click", async () => {
327
+ m.className = "sprig-feedback-button-label", m.innerText = l, P.appendChild(m), P.id = "sprig-feedback-button", P.classList.add(`sprig-feedback-button-${g}`, `sprig-feedback-button-${y}`, `sprig-feedback-button-${s}`, "fade-in-transition"), w.on(re.SURVEY_FADING_OUT, be), P.addEventListener("click", async () => {
328
328
  const f = document.getElementById("sprig-feedback-error-container");
329
329
  if (dt() || lt()) {
330
330
  if (be()) {
331
- w.emit(g.SurveyWillClose, { name: g.SurveyWillClose, initiator: V.FeedbackClosed, studyType: "feedbackButton", "survey.id": d });
331
+ w.emit(u.SurveyCloseRequested, { name: u.SurveyCloseRequested, initiator: F.FeedbackClosed, studyType: "feedbackButton", "survey.id": d }), w.emit(u.SurveyWillClose, { name: u.SurveyWillClose, initiator: F.FeedbackClosed, studyType: "feedbackButton", "survey.id": d });
332
332
  const U = G();
333
333
  f && U && (U.remove(), Z = null, b = null);
334
334
  }
@@ -341,18 +341,18 @@ const qt = ["bottom-left", "bottom-right", "center-left", "center-right"], ae =
341
341
  return S.ok ? S.json : null;
342
342
  })(p);
343
343
  if (v)
344
- w.once(g.SurveyAppeared, Y), X({ ...v, studyType: "feedbackButton" }, n);
344
+ w.once(u.SurveyAppeared, Y), X({ ...v, studyType: "feedbackButton" }, n);
345
345
  else if (b) {
346
346
  const U = Ft();
347
347
  b.appendChild(U), Y(), b.style.height = "300px", b.style.width = "360px";
348
348
  }
349
- }), c == null || c.appendChild(P), w.emit(g.FeedbackButtonLoaded, { name: g.FeedbackButtonLoaded, "survey.id": d });
349
+ }), c == null || c.appendChild(P), w.emit(u.FeedbackButtonLoaded, { name: u.FeedbackButtonLoaded, "survey.id": d });
350
350
  const { useMobileStyling: I, _config: { border: _ } } = window.UserLeap;
351
351
  if ($e || I)
352
352
  de(0);
353
353
  else {
354
354
  const f = document.createElement("div");
355
- f.id = "sprig-feedback-loading-container", f.className = `sprig-feedback-loading-container sprig-feedback-loading-container-${u}`, f.style.setProperty("--feedback-border", _), b = f, Ie(), c == null || c.appendChild(f);
355
+ f.id = "sprig-feedback-loading-container", f.className = `sprig-feedback-loading-container sprig-feedback-loading-container-${g}`, f.style.setProperty("--feedback-border", _), b = f, Ie(), c == null || c.appendChild(f);
356
356
  const v = ct();
357
357
  de(-v);
358
358
  }
@@ -524,9 +524,9 @@ const ne = (t, e = 1) => {
524
524
  }
525
525
  }, Vt = (t) => t.forEach(Ht), Wt = () => {
526
526
  le.report(W[le.name] || 0), ce.report(W[ce.name] || 0), pe.report(W[pe.name] || 0), ue.report(W[ue.name] || 0), W = {};
527
- }, Nt = (t = 1e3) => {
528
- le = N("sdk_mutations_nodes_added"), ce = N("sdk_mutations_nodes_removed"), pe = N("sdk_mutations_attributes_changed"), ue = N("sdk_mutations_character_data"), Je = new MutationObserver(Vt), Je.observe(document, { attributes: !0, attributeOldValue: !0, characterData: !0, characterDataOldValue: !0, childList: !0, subtree: !0 }), setInterval(Wt, t);
529
- }, Bt = ({ isWeb: t, reportingIntervalSeconds: e, thresholds: n, postMetrics: s }) => {
527
+ }, Bt = (t = 1e3) => {
528
+ le = B("sdk_mutations_nodes_added"), ce = B("sdk_mutations_nodes_removed"), pe = B("sdk_mutations_attributes_changed"), ue = B("sdk_mutations_character_data"), Je = new MutationObserver(Vt), Je.observe(document, { attributes: !0, attributeOldValue: !0, characterData: !0, characterDataOldValue: !0, childList: !0, subtree: !0 }), setInterval(Wt, t);
529
+ }, Nt = ({ isWeb: t, reportingIntervalSeconds: e, thresholds: n, postMetrics: s }) => {
530
530
  kt(n, (r, i) => {
531
531
  var o, a;
532
532
  if ((o = k.replay) != null && o.isReplayRecording()) {
@@ -534,11 +534,11 @@ const ne = (t, e = 1) => {
534
534
  (a = k.replay) == null || a.disableRecording("Threshold violated", new Error(l), { reportError: !1 }), window.UserLeap.reportError("Sdk Performance Metric threshold violated", new Error("Sdk Performance Metric threshold violated"), { metricName: i.metric, type: i.type, value: i.value }, { metricName: i.metric }), _t();
535
535
  }
536
536
  }), Et({ reportingIntervalSeconds: e, postMetrics: s }), t && (((r = 1e3) => {
537
- const i = N("sdk_event_queue_latency_seconds");
537
+ const i = B("sdk_event_queue_latency_seconds");
538
538
  _e(r, i);
539
539
  })(), ((r = 1e4) => {
540
- ut = N("sdk_dom_nodes_count"), wt = N("sdk_page_html_characters"), Ke(), setInterval(Ke, r);
541
- })(), Nt());
540
+ ut = B("sdk_dom_nodes_count"), wt = B("sdk_page_html_characters"), Ke(), setInterval(Ke, r);
541
+ })(), Bt());
542
542
  }, $t = "test", Gt = ["popState", "pushState", "replaceState"];
543
543
  let ee;
544
544
  const we = {}, Q = "!email", yt = "pageUrl";
@@ -558,33 +558,33 @@ function te(t) {
558
558
  })(), xt.getItem("sprig.isCapturingHeatmap") && ((l = (a = k.replay) == null ? void 0 : a.checkPendingHeatmapsUrl()) == null || l.then((p) => {
559
559
  var d;
560
560
  p && ((d = k.replay) == null || d.uploadReadyPendingCaptures(!0));
561
- })), !ae() && s && o && o !== window.location.href && t && Gt.includes(t.type) && window.UserLeap("dismissActiveSurvey", V.PageChange);
561
+ })), !ae() && s && o && o !== window.location.href && t && Gt.includes(t.type) && window.UserLeap("dismissActiveSurvey", F.PageChange);
562
562
  }
563
563
  const mt = { capture: !0 }, Kt = () => {
564
564
  const t = window.UserLeap._config.interactiveEvents.filter((n) => tt(n, window.location.href)).map((n) => {
565
565
  const { name: s, properties: r } = n, { selector: i, innerText: o } = r;
566
566
  return i ? (a) => {
567
- if (Ne(a.target))
567
+ if (Be(a.target))
568
568
  try {
569
569
  a.target.closest(i) && window.UserLeap("track", s);
570
570
  } catch {
571
571
  }
572
572
  return !1;
573
- } : (a) => (Ne(a.target) && a.target.innerText === o && window.UserLeap("track", s), !1);
573
+ } : (a) => (Be(a.target) && a.target.innerText === o && window.UserLeap("track", s), !1);
574
574
  }), e = (n) => t.forEach((s) => s(n));
575
575
  window.UserLeap._config.interactiveEventsHandler = e, window.addEventListener("click", e, mt);
576
576
  }, ft = () => {
577
577
  window.UserLeap._config.interactiveEventsHandler && window.removeEventListener("click", window.UserLeap._config.interactiveEventsHandler, mt), delete window.UserLeap._config.interactiveEventsHandler;
578
578
  };
579
579
  function vt() {
580
- const t = D.getItemObject("userleap.ids");
580
+ const t = R.getItemObject("userleap.ids");
581
581
  return t && t[window.UserLeap.envId] || {};
582
582
  }
583
583
  function ht() {
584
584
  if (window.previewMode)
585
585
  return;
586
- const t = D.getItemObject("sprig.anon.env.vid.map") || {}, e = t[window.UserLeap.envId];
587
- window.UserLeap.visitorId = e || Ze(), M.info("NewVid", { vid: window.UserLeap.visitorId }), x("vid", window.UserLeap.visitorId), e || (t[window.UserLeap.envId] = window.UserLeap.visitorId, D.setItemObject("sprig.anon.env.vid.map", t)), w.emit(g.VisitorIDUpdated, { visitorId: window.UserLeap.visitorId });
586
+ const t = R.getItemObject("sprig.anon.env.vid.map") || {}, e = t[window.UserLeap.envId];
587
+ window.UserLeap.visitorId = e || Ze(), M.info("NewVid", { vid: window.UserLeap.visitorId }), x("vid", window.UserLeap.visitorId), e || (t[window.UserLeap.envId] = window.UserLeap.visitorId, R.setItemObject("sprig.anon.env.vid.map", t)), w.emit(u.VisitorIDUpdated, { visitorId: window.UserLeap.visitorId });
588
588
  }
589
589
  function bt(t, e, n, s) {
590
590
  var r, i;
@@ -619,10 +619,10 @@ function Jt() {
619
619
  })(t.replaceState)), ["hashchange", "popstate"].forEach((e) => window.addEventListener(e, te, !0));
620
620
  }
621
621
  async function Ue(t, e) {
622
- const n = De();
622
+ const n = Re();
623
623
  t && !e && (window.UserLeap._config.mode = $t);
624
624
  const s = ge(T(window.UserLeap)), r = await C(function(i) {
625
- const o = new URL(A("1", [F], "questions"));
625
+ const o = new URL(A("1", [z], "questions"));
626
626
  return Object.entries(i || {}).forEach(([a, l]) => {
627
627
  l && o.searchParams.append(a, String(l));
628
628
  }), o.toString();
@@ -660,7 +660,7 @@ const Yt = function(t) {
660
660
  let { eventName: d } = r;
661
661
  if (window.UserLeap.debugMode && d !== yt && console.info("[DEBUG] Sprig track", r), t.mode === "test")
662
662
  return;
663
- const c = D.getItem("sprig.previewKey") ?? void 0;
663
+ const c = R.getItem("sprig.previewKey") ?? void 0;
664
664
  if (t.requireUserIdForTracking && !window.UserLeap.userId && !i) {
665
665
  const h = "[Sprig] - Skipping tracking without userId";
666
666
  return console.warn(h), { success: !1, message: h, surveyState: "no survey" };
@@ -672,33 +672,33 @@ const Yt = function(t) {
672
672
  }
673
673
  const y = ee ?? window.location.href;
674
674
  a.url || (a.url = y), x("trackStartUrl", y), (v = (f = window.UserLeap) == null ? void 0 : f._config) != null && v.optimizelyEnabled && (ie(T(window.UserLeap)) || oe.getAndSetWebOptimizelyExperiments(), a.optimizelyExperiments = Object.assign({}, oe.getAllOptimizelyExperiments())), (S = (U = window.UserLeap) == null ? void 0 : U._config) != null && S.launchDarklyEnabled && (a.launchDarklyFlags = ke.getAllLaunchDarklyVariations()), i && (window.UserLeap.userId = i), o && (window.UserLeap.partnerAnonymousId = o), l && (a.eventProperties = l), (O = k.replay) == null || O.RecordEvent({ name: d, url: a.url }), M.info("TrackEvent", { eventName: d });
675
- const u = window.UserLeap.delayingSurvey || dt() ? await C(A("1", [q], "events/batch"), { body: JSON.stringify({ events: [{ event: d, metadata: a }], previewKey: c }), method: "POST", shouldDropOnRateLimit: !0 }) : await C(A("1", [q], "events"), { body: JSON.stringify({ event: d, metadata: a, previewKey: c }), method: "POST", shouldDropOnRateLimit: !0 });
676
- if (!u.ok) {
675
+ const g = window.UserLeap.delayingSurvey || dt() ? await C(A("1", [q], "events/batch"), { body: JSON.stringify({ events: [{ event: d, metadata: a }], previewKey: c }), method: "POST", shouldDropOnRateLimit: !0 }) : await C(A("1", [q], "events"), { body: JSON.stringify({ event: d, metadata: a, previewKey: c }), method: "POST", shouldDropOnRateLimit: !0 });
676
+ if (!g.ok) {
677
677
  const h = "[Sprig] (ERR-421) Failed to track event";
678
- return u.reportError && (console.warn(h, u.error), u.error && window.UserLeap.reportError("track", u.error)), { success: !1, message: h, error: u.error, surveyState: "no survey" };
678
+ return g.reportError && (console.warn(h, g.error), g.error && window.UserLeap.reportError("track", g.error)), { success: !1, message: h, error: g.error, surveyState: "no survey" };
679
679
  }
680
680
  i && x("uid", i), o && x("aid", o);
681
- const m = u.json;
682
- m.invalidPreviewKey && D.removeItem("sprig.previewKey");
681
+ const m = g.json;
682
+ m.invalidPreviewKey && R.removeItem("sprig.previewKey");
683
683
  const I = a.trackPageView ? a.url : void 0;
684
684
  return m != null && m.feedbackButton && pt(m.feedbackButton, void 0, I), await async function(h, E) {
685
- var z, K;
686
- let R = !0;
687
- return !(E && ((z = h == null ? void 0 : h.json) != null && z.surveyId) && (window.UserLeap.delayingSurvey = !0, R = await E(h.json.surveyId), window.UserLeap.delayingSurvey = !1, !R)) && ((K = h == null ? void 0 : h.json) != null && K.delay && !window.UserLeap.isMobileSDK && (window.UserLeap.delayingSurvey = !0, await rt(h.json.delay), window.UserLeap.delayingSurvey = !1), R);
688
- }(u, p) ? function(h) {
685
+ var H, K;
686
+ let D = !0;
687
+ return !(E && ((H = h == null ? void 0 : h.json) != null && H.surveyId) && (window.UserLeap.delayingSurvey = !0, D = await E(h.json.surveyId), window.UserLeap.delayingSurvey = !1, !D)) && ((K = h == null ? void 0 : h.json) != null && K.delay && !window.UserLeap.isMobileSDK && (window.UserLeap.delayingSurvey = !0, await rt(h.json.delay), window.UserLeap.delayingSurvey = !1), D);
688
+ }(g, p) ? function(h) {
689
689
  if (!window.UserLeap._config.dismissOnPageChange)
690
690
  return !0;
691
- const E = new URL(h), R = new URL(ee ?? window.location.href);
692
- return E.hostname === R.hostname && E.pathname === R.pathname;
691
+ const E = new URL(h), D = new URL(ee ?? window.location.href);
692
+ return E.hostname === D.hostname && E.pathname === D.pathname;
693
693
  }(y) ? X(m, I) : { success: !1, message: "Study should not be displayed after page navigation", surveyState: "no survey" } : { success: !1, message: "[Sprig] Callback returned false, aborting rendering of survey", surveyState: "no survey" };
694
694
  }, n = (r, i) => {
695
695
  var a;
696
- const o = (a = r == null ? void 0 : r.querySelector(`[id="${Re}"]`)) == null ? void 0 : a.contentDocument;
696
+ const o = (a = r == null ? void 0 : r.querySelector(`[id="${De}"]`)) == null ? void 0 : a.contentDocument;
697
697
  o && se({ document: o, elementId: "ul-custom-style", styleString: i });
698
- }, s = { displaySurvey: async (r) => (console.warn("[Sprig] displaySurvey should only be used to debug your studies; not intended for production usage."), window.UserLeap("dismissActiveSurvey", V.Override), Ue({ surveyId: r }, !0)), _previewSurvey(r) {
699
- window.UserLeap("dismissActiveSurvey", V.Override), Ue({ surveyTemplateId: r }, !1);
698
+ }, s = { displaySurvey: async (r) => (console.warn("[Sprig] displaySurvey should only be used to debug your studies; not intended for production usage."), window.UserLeap("dismissActiveSurvey", F.Override), Ue({ surveyId: r }, !0)), _previewSurvey(r) {
699
+ window.UserLeap("dismissActiveSurvey", F.Override), Ue({ surveyTemplateId: r }, !1);
700
700
  }, _reviewSurvey(r) {
701
- window.UserLeap("dismissActiveSurvey", V.Override), Ue({ surveyId: r }, !1);
701
+ window.UserLeap("dismissActiveSurvey", F.Override), Ue({ surveyId: r }, !1);
702
702
  }, previewSurvey(r) {
703
703
  s._previewSurvey(r);
704
704
  }, reviewSurvey(r) {
@@ -709,8 +709,8 @@ const Yt = function(t) {
709
709
  window.UserLeap._queue.unpause();
710
710
  }, setVisitorToken() {
711
711
  console.warn("[Sprig] setVisitorToken is deprecated.");
712
- }, dismissActiveSurvey(r = V.API) {
713
- window.UserLeap.container && w.emit(g.SurveyWillClose, { name: g.SurveyWillClose, initiator: r, "survey.id": parseInt(window.UserLeap.container.dataset.studyId) });
712
+ }, dismissActiveSurvey(r = F.API) {
713
+ window.UserLeap.container && (w.emit(u.SurveyCloseRequested, { name: u.SurveyCloseRequested, initiator: r, "survey.id": parseInt(window.UserLeap.container.dataset.studyId) }), w.emit(u.SurveyWillClose, { name: u.SurveyWillClose, initiator: r, "survey.id": parseInt(window.UserLeap.container.dataset.studyId) }));
714
714
  }, async setAttribute(r, i) {
715
715
  if (!r || !i && i !== 0 && i !== !1) {
716
716
  const o = "[Sprig] - Disregarding empty attribute / value provided";
@@ -745,7 +745,7 @@ const Yt = function(t) {
745
745
  return { success: !0 };
746
746
  const l = {};
747
747
  let p;
748
- return i && (l.userId = window.UserLeap.userId = i), o && (l.partnerAnonymousId = window.UserLeap.partnerAnonymousId = o), a && Object.keys(a).length > 0 ? (p = await C(A("1", [F, q], "attributes"), { body: JSON.stringify(a), method: "PUT" }), p.ok ? Object.assign(we, a) : p.reportError && (console.warn("[Sprig] (ERR-432) identifyAndSetAttributes failed", p.error), p.error && window.UserLeap.reportError("identifyAndSetAttributes", p.error))) : p = await C(A("1", [F, q]), { body: JSON.stringify(l), method: "PUT" }), a && a[Q] && (window.UserLeap.email = a[Q]), p.ok && (i && x("uid", i), o && x("aid", o)), { success: !!p.ok };
748
+ return i && (l.userId = window.UserLeap.userId = i), o && (l.partnerAnonymousId = window.UserLeap.partnerAnonymousId = o), a && Object.keys(a).length > 0 ? (p = await C(A("1", [z, q], "attributes"), { body: JSON.stringify(a), method: "PUT" }), p.ok ? Object.assign(we, a) : p.reportError && (console.warn("[Sprig] (ERR-432) identifyAndSetAttributes failed", p.error), p.error && window.UserLeap.reportError("identifyAndSetAttributes", p.error))) : p = await C(A("1", [z, q]), { body: JSON.stringify(l), method: "PUT" }), a && a[Q] && (window.UserLeap.email = a[Q]), p.ok && (i && x("uid", i), o && x("aid", o)), { success: !!p.ok };
749
749
  }, async removeAttributes(r) {
750
750
  if (window.UserLeap.debugMode && console.info("[DEBUG] Sprig removeAttributes", r), t.mode === "test")
751
751
  return;
@@ -757,12 +757,12 @@ const Yt = function(t) {
757
757
  const o = "[Sprig] - Skipping tracking without userId";
758
758
  return console.warn(o), { success: !1, message: o };
759
759
  }
760
- const i = await C(A("1", [F, q], "attributes"), { body: JSON.stringify({ delete: r }), method: "DELETE" });
760
+ const i = await C(A("1", [z, q], "attributes"), { body: JSON.stringify({ delete: r }), method: "DELETE" });
761
761
  return !i.ok && i.reportError && (console.warn("[Sprig] (ERR-433) Remove attributes failed", i.error), i.error && window.UserLeap.reportError("removeAttributes", i.error)), { success: !!i.ok };
762
762
  }, async addSurveyListener(r) {
763
- w.on(g.SurveyLifeCycle, r);
763
+ w.on(u.SurveyLifeCycle, r);
764
764
  }, async removeSurveyListener(r) {
765
- w.removeListener(g.SurveyLifeCycle, r);
765
+ w.removeListener(u.SurveyLifeCycle, r);
766
766
  }, async addListener(r, i) {
767
767
  w.on(r, i);
768
768
  }, async removeListener(r, i) {
@@ -770,7 +770,7 @@ const Yt = function(t) {
770
770
  }, async removeAllListeners() {
771
771
  w.removeAllListeners();
772
772
  }, setPreviewKey(r) {
773
- r && typeof r == "string" && D.isStorageAvailable && r && D.setItem("sprig.previewKey", r);
773
+ r && typeof r == "string" && R.isStorageAvailable && r && R.setItem("sprig.previewKey", r);
774
774
  }, async setUserId(r) {
775
775
  var a;
776
776
  if (window.UserLeap.debugMode && console.info("[DEBUG] Sprig setUserId", r), r == null) {
@@ -780,7 +780,7 @@ const Yt = function(t) {
780
780
  if (t.mode === "test" || r === window.UserLeap.userId)
781
781
  return;
782
782
  window.UserLeap.userId = r;
783
- const i = window.UserLeap.visitorId, o = await C(A("1", [F, q]), { body: JSON.stringify({ userId: r }), method: "PUT" });
783
+ const i = window.UserLeap.visitorId, o = await C(A("1", [z, q]), { body: JSON.stringify({ userId: r }), method: "PUT" });
784
784
  o.ok ? (i !== window.UserLeap.visitorId && ((a = k.replay) == null || a.clearUserReplayData()), x("uid", r)) : o.reportError && (console.warn("[Sprig] (ERR-420) Failed to set user id", o.error), o.error && window.UserLeap.reportError("setUserId", o.error));
785
785
  }, async setPartnerAnonymousId(r) {
786
786
  if (window.UserLeap.debugMode && console.info("[DEBUG] Sprig setPartnerAnonymousId", r), r == null) {
@@ -795,19 +795,19 @@ const Yt = function(t) {
795
795
  }, applyStyles(r) {
796
796
  window.UserLeap.customStyles = r, n(window.UserLeap.container, r);
797
797
  }, setWindowDimensions(r, i) {
798
- var y, u;
798
+ var y, g;
799
799
  const o = typeof r == "string" ? parseInt(r, 10) : r, a = typeof i == "string" ? parseInt(i, 10) : i;
800
800
  isNaN(o) || isNaN(a) || (window.UserLeap.windowDimensions = { width: o, height: a });
801
801
  const l = T(window.UserLeap), p = ge(l), d = l["userleap-platform"] === "web";
802
802
  if (!window.UserLeap.frameId)
803
803
  return;
804
804
  const c = document.getElementById(window.UserLeap.frameId);
805
- c && (window.UserLeap.useMobileStyling && ((y = window.UserLeap.windowDimensions) != null && y.width && (c.style.width = `${window.UserLeap.windowDimensions.width}px`), (u = window.UserLeap.windowDimensions) != null && u.height && (c.style.maxHeight = window.UserLeap.windowDimensions.height - 20 + "px"), c.contentDocument && (c.style.height = String(Mt(c.contentDocument, d && !p, et(l))[0]) + "px")), w.emit(g.SurveyDimensions, { name: g.SurveyDimensions, contentFrameWidth: c.clientWidth, contentFrameHeight: c.clientHeight, "survey.id": parseInt(window.UserLeap.container.dataset.studyId) }));
805
+ c && (window.UserLeap.useMobileStyling && ((y = window.UserLeap.windowDimensions) != null && y.width && (c.style.width = `${window.UserLeap.windowDimensions.width}px`), (g = window.UserLeap.windowDimensions) != null && g.height && (c.style.maxHeight = window.UserLeap.windowDimensions.height - 20 + "px"), c.contentDocument && (c.style.height = String(Mt(c.contentDocument, d && !p, et(l))[0]) + "px")), w.emit(u.SurveyDimensions, { name: u.SurveyDimensions, contentFrameWidth: c.clientWidth, contentFrameHeight: c.clientHeight, "survey.id": parseInt(window.UserLeap.container.dataset.studyId) }));
806
806
  }, logoutUser() {
807
807
  var r;
808
- window.UserLeap.debugMode && console.info("[DEBUG] Sprig logout"), M.info("LogOut", { vid: window.UserLeap.visitorId, userId: window.UserLeap.userId }), window.UserLeap.visitorId = null, window.UserLeap.userId = null, window.UserLeap.partnerAnonymousId = null, window.UserLeap.token = null, window.UserLeap.email = null, D.removeItem("userleap.ids"), window.UserLeap._queue.isPaused() && window.UserLeap._queue.empty(), ht(), (r = k.replay) == null || r.clearUserReplayData(), window.UserLeap._queue.unpause();
808
+ window.UserLeap.debugMode && console.info("[DEBUG] Sprig logout"), M.info("LogOut", { vid: window.UserLeap.visitorId, userId: window.UserLeap.userId }), window.UserLeap.visitorId = null, window.UserLeap.userId = null, window.UserLeap.partnerAnonymousId = null, window.UserLeap.token = null, window.UserLeap.email = null, R.removeItem("userleap.ids"), window.UserLeap._queue.isPaused() && window.UserLeap._queue.empty(), ht(), (r = k.replay) == null || r.clearUserReplayData(), window.UserLeap._queue.unpause();
809
809
  }, teardown() {
810
- ["hashchange", "popstate"].forEach((r) => window.removeEventListener(r, te, !0)), window.UserLeap._config.interactiveEvents && ft(), window.UserLeap("dismissActiveSurvey", V.API), delete window.UserLeap, delete window.Sprig, delete window._Sprig;
810
+ ["hashchange", "popstate"].forEach((r) => window.removeEventListener(r, te, !0)), window.UserLeap._config.interactiveEvents && ft(), window.UserLeap("dismissActiveSurvey", F.API), delete window.UserLeap, delete window.Sprig, delete window._Sprig;
811
811
  }, integrateOptimizely(r, i = !0) {
812
812
  var o, a;
813
813
  if ((a = (o = window.UserLeap) == null ? void 0 : o._config) != null && a.optimizelyEnabled)
@@ -846,7 +846,7 @@ const Yt = function(t) {
846
846
  console.warn("[Sprig] Error with generating video upload url"), l instanceof Error && window.UserLeap.reportError("generateVideoUploadUrl", l);
847
847
  }
848
848
  }(r), _reportMetric(r, i) {
849
- Dt(r, i);
849
+ Rt(r, i);
850
850
  }, _completeSessionReplay: async ({ surveyId: r, responseGroupUuid: i, eventDigest: o }) => {
851
851
  var a;
852
852
  return k.replay ? (a = k.replay) == null ? void 0 : a._completeSessionReplay({ surveyId: r, responseGroupUuid: i, eventDigest: o, headers: T(window.UserLeap) }) : (window.UserLeap.reportError("_completeSessionReplay", new Error("Replay module not registered")), !1);
@@ -854,7 +854,7 @@ const Yt = function(t) {
854
854
  Object.assign(window.UserLeap, s);
855
855
  };
856
856
  async function Xt(t, e, n = {}, s = {}) {
857
- const r = window.__cfg && window.__cfg.mode, i = De(), o = window.UserLeap.envId, a = window.document.documentElement, l = { mode: r, screenWidth: window.screen.width, screenHeight: window.screen.height, clientWidth: a.clientWidth, clientHeight: a.clientHeight, location: ee ?? window.location.href, language: window.navigator.language, ...n }, p = { action: t, breadcrumbs: M.breadcrumbs, err: { message: `${e == null ? void 0 : e.name} - ${e == null ? void 0 : e.message}`, stack: e == null ? void 0 : e.stack }, meta: l, vid: i, envId: o, ...s };
857
+ const r = window.__cfg && window.__cfg.mode, i = Re(), o = window.UserLeap.envId, a = window.document.documentElement, l = { mode: r, screenWidth: window.screen.width, screenHeight: window.screen.height, clientWidth: a.clientWidth, clientHeight: a.clientHeight, location: ee ?? window.location.href, language: window.navigator.language, ...n }, p = { action: t, breadcrumbs: M.breadcrumbs, err: { message: `${e == null ? void 0 : e.name} - ${e == null ? void 0 : e.message}`, stack: e == null ? void 0 : e.stack }, meta: l, vid: i, envId: o, ...s };
858
858
  (await C(A("1", null, "errors"), { method: "POST", headers: { "x-ul-error": window.btoa(`userleap-${Date.now()}-error`) }, body: JSON.stringify(p), shouldDropOnRateLimit: !0 })).ok || console.warn("[Sprig] (ERR-444) Failed to report error to API", e);
859
859
  }
860
860
  function Zt(t = {}) {
@@ -862,7 +862,7 @@ function Zt(t = {}) {
862
862
  (s = window.SprigLoggerCallback) == null || s.call(window, "Initializing Sprig");
863
863
  const e = new URLSearchParams(window.location.search).get("sprigPreviewKey") ?? "";
864
864
  async function n() {
865
- var y, u, m, I, _;
865
+ var y, g, m, I, _;
866
866
  if (window.UserLeap.loaded)
867
867
  return;
868
868
  if ((y = window.SprigLoggerCallback) == null || y.call(window, "Loading Sprig"), window.UserLeap.reportError = Xt, window.UserLeap.loaded = !0, window.UserLeap._config = Object.assign({}, t, window.UserLeap.config), window.UserLeap.delayingSurvey = !1, window.UserLeap._config && typeof window.UserLeap._config == "object")
@@ -889,23 +889,23 @@ function Zt(t = {}) {
889
889
  const l = r.token;
890
890
  l ? (window.UserLeap.token = l, window.UserLeap.visitorId = r.vid ?? null, window.UserLeap.userId = r.uid ?? null, window.UserLeap.partnerAnonymousId = r.aid ?? null) : ht();
891
891
  const p = ie(T(window.UserLeap));
892
- (u = window.SprigLoggerCallback) == null || u.call(window, "Sprig fetching config");
892
+ (g = window.SprigLoggerCallback) == null || g.call(window, "Sprig fetching config");
893
893
  const d = await async function(f) {
894
894
  var O, h;
895
895
  const v = T(window.UserLeap);
896
896
  document.addEventListener("securitypolicyviolation", Fe);
897
- const U = await Xe(A("1", [F], "config"), { headers: v });
897
+ const U = await Xe(A("1", [z], "config"), { headers: v });
898
898
  if (document.removeEventListener("securitypolicyviolation", Fe), !U.ok)
899
899
  return (O = window.SprigLoggerCallback) == null || O.call(window, "Sprig config fetch failed"), U.reportError && (console.warn("[Sprig] (ERR-422) Failed to load configuration", U.error), U.error && window.UserLeap.reportError("applyRemoteConfig", U.error)), ze("Disabled: failed to fetch configuration"), f;
900
900
  const S = U.json;
901
901
  return S != null && S.disabled ? ((h = window.SprigLoggerCallback) == null || h.call(window, "Sprig config fetch disabled"), ze(`Disabled: ${S.disabled}`), { disabled: S.disabled }) : Object.assign({}, S, f);
902
902
  }(t);
903
- (m = window.SprigLoggerCallback) == null || m.call(window, "Sprig fetched config"), Bt({ isWeb: !p, reportingIntervalSeconds: d.metricsReportingEnabled || d.mobileMetricsReportingEnabled ? d.metricsReportingIntervalSeconds : 0, thresholds: d.metricThresholds, postMetrics: async (f) => {
903
+ (m = window.SprigLoggerCallback) == null || m.call(window, "Sprig fetched config"), Nt({ isWeb: !p, reportingIntervalSeconds: d.metricsReportingEnabled || d.mobileMetricsReportingEnabled ? d.metricsReportingIntervalSeconds : 0, thresholds: d.metricThresholds, postMetrics: async (f) => {
904
904
  var v;
905
- await C(A("1", [F], "metrics"), { body: f, method: "POST", headers: { "x-ul-replay-enabled": `${!!((v = k.replay) != null && v.isReplayRecording())}` }, shouldDropOnRateLimit: !0 });
905
+ await C(A("1", [z], "metrics"), { body: f, method: "POST", headers: { "x-ul-replay-enabled": `${!!((v = k.replay) != null && v.isReplayRecording())}` }, shouldDropOnRateLimit: !0 });
906
906
  } });
907
- const c = d.alwaysOnReplay ? { userAgent: window.navigator.userAgent, surveyId: d.alwaysOnReplay.surveyId, responseGroupUuid: d.alwaysOnReplay.responseGroupUuid, sdkVersion: "2.33.0", maxDurationSeconds: d.alwaysOnReplay.maxDurationSeconds } : void 0;
908
- await ((I = k.replay) == null ? void 0 : I.initializeReplay({ maxReplayDurationSeconds: d.maxReplayDurationSeconds, maxInflightRequests: window.UserLeap.maxInflightReplayRequests ?? 2, replaySettings: d.replaySettings, apiUrl: window.UserLeap._API_URL, alwaysOnConfig: c })), Yt(d), await Qt(d), window.UserLeap._queue.unpause(), (_ = window.SprigLoggerCallback) == null || _.call(window, "SdkReady"), w.emit(g.SDKReady, { mobileMetricsReportingEnabled: !!d.mobileMetricsReportingEnabled, metricsReportingInterval: d.metricsReportingIntervalSeconds || 0, metricsThresholds: d.metricThresholds || [], maxMobileReplayDurationSeconds: d.maxMobileReplayDurationSeconds, mobileReplaySettings: d.mobileReplaySettings }), w.emit(g.VisitorIDUpdated, { visitorId: window.UserLeap.visitorId }), w.on(g.VisitorIDUpdated, () => {
907
+ const c = d.alwaysOnReplay ? { userAgent: window.navigator.userAgent, surveyId: d.alwaysOnReplay.surveyId, responseGroupUuid: d.alwaysOnReplay.responseGroupUuid, sdkVersion: "2.33.1", maxDurationSeconds: d.alwaysOnReplay.maxDurationSeconds } : void 0;
908
+ await ((I = k.replay) == null ? void 0 : I.initializeReplay({ maxReplayDurationSeconds: d.maxReplayDurationSeconds, maxInflightRequests: window.UserLeap.maxInflightReplayRequests ?? 2, replaySettings: d.replaySettings, apiUrl: window.UserLeap._API_URL, alwaysOnConfig: c })), Yt(d), await Qt(d), window.UserLeap._queue.unpause(), (_ = window.SprigLoggerCallback) == null || _.call(window, "SdkReady"), w.emit(u.SDKReady, { mobileMetricsReportingEnabled: !!d.mobileMetricsReportingEnabled, metricsReportingInterval: d.metricsReportingIntervalSeconds || 0, metricsThresholds: d.metricThresholds || [], maxMobileReplayDurationSeconds: d.maxMobileReplayDurationSeconds, mobileReplaySettings: d.mobileReplaySettings }), w.emit(u.VisitorIDUpdated, { visitorId: window.UserLeap.visitorId }), w.on(u.VisitorIDUpdated, () => {
909
909
  for (const f in we)
910
910
  delete we[f];
911
911
  });
@@ -997,7 +997,7 @@ const Ye = { configure: (t) => {
997
997
  } }, dr = { sprig: Ye, SprigAPI: xe, configure: Ye.configure };
998
998
  export {
999
999
  ir as A,
1000
- Rt as C,
1000
+ Dt as C,
1001
1001
  rr as D,
1002
1002
  sr as E,
1003
1003
  xe as S,