@sprig-technologies/sprig-browser 2.32.6 → 2.32.9

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,41 +1,41 @@
1
- var Lt = Object.defineProperty;
2
- var Ut = (t, e, n) => e in t ? Lt(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
- var B = (t, e, n) => (Ut(t, typeof e != "symbol" ? e + "" : e, n), n);
4
- import { g as F, s as Qe, l as D, e as u, S as w, v as Ye, m as I, b as T, h as St, E as te, D as W, c as It, r as N, i as kt, j as Et, k as _t, n as Me, o as Fe, a as xt, p as Xe, d as Dt, q as Ze } from "./metricsReporter-IUVTL7s6.js";
5
- const At = "360px", ir = "ul-app", nr = "#e6e6e6", or = "#bd282a", sr = 1030, qe = () => {
1
+ var Ut = Object.defineProperty;
2
+ var St = (t, e, n) => e in t ? Ut(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
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 W, c as It, r as V, 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-Cl6wG1Dn.js";
5
+ const rr = 360, ir = "ul-app", nr = "#e6e6e6", or = "#bd282a", sr = 1030, He = () => {
6
6
  try {
7
7
  return window.parent.Intercom;
8
8
  } catch {
9
9
  return null;
10
10
  }
11
- }, ze = [Object.freeze(Object.defineProperty({ __proto__: null, disable: () => {
12
- const t = qe();
11
+ }, We = [Object.freeze(Object.defineProperty({ __proto__: null, disable: () => {
12
+ const t = He();
13
13
  t && (t.ul_wasVisible = !!document.querySelector("iframe.intercom-launcher-frame"), t.ul_wasVisible && t("update", { hide_default_launcher: !0 }));
14
14
  }, enable: () => {
15
- const t = qe();
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 At {
19
19
  static disable() {
20
- ze.forEach((e) => e.disable());
20
+ We.forEach((e) => e.disable());
21
21
  }
22
22
  static enable() {
23
- ze.forEach((e) => e.enable());
23
+ We.forEach((e) => e.enable());
24
24
  }
25
25
  }
26
- const We = "ul-view-sdk-script", Ot = ["ios", "android"], j = "visitors", M = "environments";
26
+ const Ne = "ul-view-sdk-script", Rt = ["ios", "android"], q = "visitors", F = "environments";
27
27
  async function C(t, e) {
28
28
  var i, o, a;
29
29
  const { shouldDropOnRateLimit: n, ...s } = e;
30
- s.headers = Object.assign(F(window.UserLeap), s.headers);
31
- const r = await Qe(t, { ...s, shouldDropOnRateLimit: n });
30
+ s.headers = Object.assign(T(window.UserLeap), s.headers);
31
+ const r = await Xe(t, { ...s, shouldDropOnRateLimit: n });
32
32
  if (r.ok) {
33
- const l = (i = r.headers) == null ? void 0 : i.get("Authorization"), c = l ? l.split(" ") : void 0, d = c && c.length === 2 ? c[1] : void 0, p = (o = r.headers) == null ? void 0 : o.get("x-ul-visitor-id");
34
- if (window.UserLeap.userId && p === window.UserLeap.visitorId) {
35
- const y = D.getItemObject("sprig.anon.env.vid.map");
36
- y && y[window.UserLeap.envId] === p && (delete y[window.UserLeap.envId], D.setItemObject("sprig.anon.env.vid.map", y));
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
+ if (window.UserLeap.userId && c === window.UserLeap.visitorId) {
35
+ const m = D.getItemObject("sprig.anon.env.vid.map");
36
+ m && m[window.UserLeap.envId] === c && (delete m[window.UserLeap.envId], D.setItemObject("sprig.anon.env.vid.map", m));
37
37
  }
38
- d && p && (p !== window.UserLeap.visitorId || window.UserLeap.token !== d) && (x("token", d), x("vid", p), u.emit(w.VisitorIDUpdated, { visitorId: p }), window.UserLeap.token = d, window.UserLeap.visitorId = p);
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);
39
39
  }
40
40
  return (a = r.json) != null && a.logMessage && console.warn(`[Sprig] ${r.json.logMessage}`), r;
41
41
  }
@@ -44,245 +44,253 @@ function x(t, e) {
44
44
  let s = n[window.UserLeap.envId];
45
45
  s ? s[t] = e : s = { [t]: e }, n[window.UserLeap.envId] = s, D.setItemObject("userleap.ids", n);
46
46
  }
47
- function Ee() {
47
+ function De() {
48
48
  return window.previewMode ? "0" : window.UserLeap.visitorId ?? "";
49
49
  }
50
50
  function R(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 === M ? s.push(window.UserLeap.envId) : r === j && s.push(Ee());
53
+ s.push(r), r === F ? s.push(window.UserLeap.envId) : r === q && s.push(De());
54
54
  }), n && s.push(n), s.join("/");
55
55
  }
56
- const Y = async (t, e) => {
57
- var Ce, Pe, Te;
58
- const { context: n, delay: s, forceBrandedLogo: r, endCard: i, isFeedback: o = !1, heatmap: a, locale: l, previewMode: c, productConfig: d, questions: p, responseGroupUid: y, surveyId: g, uuid: m, vid: _, sessionReplay: b, studyType: U } = t, h = F(window.UserLeap), L = ue(h), E = _e(h);
59
- if (b)
60
- if (L)
61
- u.emit(w.ReplayCapture, { responseGroupUid: y, hasQuestions: !!(p != null && p.length), surveyId: g, uploadId: b.uploadId, replayType: b.replayDurationType ?? "before", seconds: b.replayDurationSeconds, generateVideoUploadUrlPayload: { mediaRecordingUid: Ye(), mediaType: "screen", questionId: 1, responseGroupUid: y, surveyId: g, updatedAt: (/* @__PURE__ */ new Date()).toISOString(), visitorId: window.UserLeap.visitorId, isReplay: !0 } });
56
+ const X = async (t, e) => {
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: m, surveyId: u, uuid: y, vid: I, sessionReplay: h, studyType: L } = t, f = T(window.UserLeap), S = ie(f), _ = ge(f);
59
+ if (h)
60
+ if (S)
61
+ w.emit(g.ReplayCapture, { responseGroupUid: m, hasQuestions: !!(c != null && c.length), surveyId: u, uploadId: h.uploadId, replayType: h.replayDurationType ?? "before", seconds: h.replayDurationSeconds, generateVideoUploadUrlPayload: { mediaRecordingUid: Ze(), mediaType: "screen", questionId: 1, responseGroupUid: m, surveyId: u, updatedAt: (/* @__PURE__ */ new Date()).toISOString(), visitorId: window.UserLeap.visitorId, isReplay: !0 } });
62
62
  else {
63
- if (!I.replay)
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
- I.replay.scheduleOrCaptureReplay({ responseGroupId: y, surveyId: g, visitorId: _, replayParams: b, completeUploadHeaders: h, apiUrl: window.UserLeap._API_URL, triggerTimestamp: Date.now(), isStandalone: p.length === 0 });
65
+ k.replay.scheduleOrCaptureReplay({ responseGroupId: m, surveyId: u, visitorId: I, replayParams: h, completeUploadHeaders: f, apiUrl: window.UserLeap._API_URL, triggerTimestamp: Date.now(), isStandalone: c.length === 0 });
66
66
  }
67
67
  if (a) {
68
- if (!I.replay)
68
+ if (!k.replay)
69
69
  return window.UserLeap.reportError("displayQuestions", new Error("Replay module not registered")), { success: !1, message: "Replay module not registered", surveyState: "no survey" };
70
- const { eventId: S, replayParams: me, responseGroupUid: ht, surveyId: bt } = a;
71
- await I.replay.initializeReplay({ maxReplayDurationSeconds: 300, maxInflightRequests: window.UserLeap.maxInflightReplayRequests, teardownAfter: !0 }), I.replay.tryReplayAction(() => {
72
- var je;
73
- return (je = I.replay) == null ? void 0 : je.scheduleCapture({ apiUrl: window.UserLeap._API_URL, completeUploadHeaders: h, eventId: S, isHeatmap: !0, replayParams: me, responseGroupId: ht, surveyId: bt, triggerTimestamp: Date.now(), visitorId: _ });
70
+ const { eventId: U, replayParams: J, responseGroupUid: fe, surveyId: ve } = a;
71
+ await k.replay.initializeReplay({ maxReplayDurationSeconds: 300, maxInflightRequests: window.UserLeap.maxInflightReplayRequests, teardownAfter: !0 }), k.replay.tryReplayAction(() => {
72
+ var qe;
73
+ return (qe = k.replay) == null ? void 0 : qe.scheduleCapture({ apiUrl: window.UserLeap._API_URL, completeUploadHeaders: f, eventId: U, isHeatmap: !0, replayParams: J, responseGroupId: fe, surveyId: ve, triggerTimestamp: Date.now(), visitorId: I });
74
74
  }, "Error in scheduling/capturing replay");
75
75
  }
76
- if (_ == null || !(p != null && p.length))
77
- return T.info("CannotDisplaySurvey", { vid: _ }), { success: !1, message: "[Sprig] no survey found", surveyState: "no survey" };
76
+ if (I == null || !(c != null && c.length))
77
+ return M.info("CannotDisplaySurvey", { vid: I }), { success: !1, message: "[Sprig] no survey found", surveyState: "no survey" };
78
78
  if (window.UserLeap.container) {
79
- T.info("AlreadyDisplayingSurvey");
80
- const S = "[Sprig] (ERR-409) Found an existing Survey container, aborting rendering of this survey";
81
- return console.warn(S), { success: !1, message: S, surveyState: "no survey" };
82
- }
83
- if (_ !== window.UserLeap.visitorId && m !== window.UserLeap.visitorId && !window.previewMode) {
84
- const S = "Attempted to display survey to a different visitor";
85
- return window.UserLeap.reportError("DisplaySurvey", new Error(S)), { success: !1, message: S, surveyState: "no survey" };
86
- }
87
- T.info("ShowingSurvey", { surveyId: g }), (Ce = I.replay) == null || Ce.RecordSurveyShown({ id: g, userAgent: window.navigator.userAgent }), Rt.disable(), u.emit(w.SurveyWillPresent, { name: w.SurveyWillPresent, "survey.id": g });
88
- let O, v, k, A, q = document.createElement("div");
89
- const K = (S) => {
90
- const { "view.version": me } = S;
91
- me !== h["x-ul-sdk-version"] && tt(), u.removeListener("verify.view.version", K);
79
+ M.info("AlreadyDisplayingSurvey");
80
+ const U = "[Sprig] (ERR-409) Found an existing Survey container, aborting rendering of this survey";
81
+ return console.warn(U), { success: !1, message: U, surveyState: "no survey" };
82
+ }
83
+ if (I !== window.UserLeap.visitorId && y !== window.UserLeap.visitorId && !window.previewMode) {
84
+ const U = "Attempted to display survey to a different visitor";
85
+ return window.UserLeap.reportError("DisplaySurvey", new Error(U)), { success: !1, message: U, surveyState: "no survey" };
86
+ }
87
+ M.info("ShowingSurvey", { surveyId: u }), (Te = k.replay) == null || Te.RecordSurveyShown({ id: u, userAgent: window.navigator.userAgent }), At.disable(), w.emit(g.SurveyWillPresent, { name: g.SurveyWillPresent, "survey.id": u });
88
+ let O, b, E, A, z = document.createElement("div");
89
+ const K = (U) => {
90
+ const { "view.version": J } = U;
91
+ J !== f["x-ul-sdk-version"] && nt(), w.removeListener("verify.view.version", K);
92
92
  };
93
- u.on("verify.view.version", K), window.UserLeap.useMobileStyling = E, St(h) ? (O = "ul-direct-embeded-frame", v = document.head, k = window, A = !1, L && (et(g, o), q.id = O, window.UserLeap.container.appendChild(q), rt(), u.emit(w.SurveyLifeCycle, { state: "presented" }), u.emit(w.SurveyPresented, { name: w.SurveyPresented, "survey.id": g }))) : { frameId: O, contentWinDocHead: v, contentWindow: k, hasOverlay: A, iframe: q } = Pt({ productConfig: d, useMobileStyling: E, surveyId: g, isFeedback: o }), window.UserLeap.frameId = O;
94
- const V = { apiURL: window.UserLeap._API_URL, cards: p, configureExitOnOverlayClick: (S) => {
95
- u.once(w.CloseSurveyOnOverlayClick, S);
96
- }, context: n, endCard: i, envId: window.UserLeap.envId, eventEmitFn: u.emit.bind(u), fontFamily: window.UserLeap.fontFamily, fontFamilyURL: window.UserLeap.fontFamilyURL, forceBrandedLogo: r, frame: q, headers: h, locale: l, mobileSDKVersion: window.UserLeap.mobileSDKVersion, previewKey: D.getItem("sprig.previewKey"), previewMode: c, 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: (Pe = window.UserLeap.config) == null ? void 0 : Pe.startingQuestionIdx, studyType: U, styleNonce: window.UserLeap.styleNonce, surveyId: g, tabTitle: document.title, trackPageViewUrl: e, ulEvents: te, upchunkLibraryURL: window.UserLeap.upchunkLibraryURL, useMobileStyling: E, userId: m, viewDocument: k == null ? void 0 : k.document, viewWindow: k, visitorAttributes: { externalUserId: window.UserLeap.userId, email: window.UserLeap.email }, ...window.UserLeap._config };
97
- (Te = window.UserLeap._config) != null && Te.startingQuestionIdx && (window.UserLeap._config = { ...window.UserLeap._config, startingQuestionIdx: null });
98
- const vt = (o ? window.UserLeap.feedbackCustomStyles : window.UserLeap.customStyles) ?? d.customStyles;
99
- V.customStyles = vt, k && (k.__cfg = V);
100
- const we = window.UserLeap.viewSDKURL ? window.UserLeap.viewSDKURL : V.path, Ae = document.getElementById(We);
101
- Ae && Ae.remove();
102
- const ge = function() {
103
- const S = document.createElement("script");
104
- return window.UserLeap.nonce && S.setAttribute("nonce", window.UserLeap.nonce), S.id = We, S;
105
- }(), Re = () => {
93
+ w.on("verify.view.version", K), window.UserLeap.useMobileStyling = _, et(f) ? (O = "ul-direct-embeded-frame", b = document.head, E = window, A = !1, (() => {
94
+ const U = T(window.UserLeap), J = ie(U), fe = window.UserLeap.forceDirectEmbed, ve = U["userleap-platform"] === "web";
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: b, contentWindow: E, hasOverlay: A, iframe: z } = Ct({ productConfig: d, useMobileStyling: _, surveyId: u, isFeedback: o }), window.UserLeap.frameId = O;
97
+ const B = { apiURL: window.UserLeap._API_URL, cards: c, configureExitOnOverlayClick: (U) => {
98
+ w.once(g.CloseSurveyOnOverlayClick, U);
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: f, 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: m, startingQuestionIdx: (je = window.UserLeap.config) == null ? void 0 : je.startingQuestionIdx, studyType: L, styleNonce: window.UserLeap.styleNonce, surveyId: u, tabTitle: document.title, trackPageViewUrl: e, ulEvents: re, upchunkLibraryURL: window.UserLeap.upchunkLibraryURL, useMobileStyling: _, userId: y, viewDocument: E == null ? void 0 : E.document, viewWindow: E, visitorAttributes: { externalUserId: window.UserLeap.userId, email: window.UserLeap.email }, ...window.UserLeap._config };
100
+ (Me = window.UserLeap._config) != null && Me.startingQuestionIdx && (window.UserLeap._config = { ...window.UserLeap._config, startingQuestionIdx: null });
101
+ const Lt = (o ? window.UserLeap.feedbackCustomStyles : window.UserLeap.customStyles) ?? d.customStyles;
102
+ B.customStyles = Lt, E && (E.__cfg = B);
103
+ const me = window.UserLeap.viewSDKURL ? window.UserLeap.viewSDKURL : B.path, Oe = document.getElementById(Ne);
104
+ Oe && Oe.remove();
105
+ const ye = function() {
106
+ const U = document.createElement("script");
107
+ return window.UserLeap.nonce && U.setAttribute("nonce", window.UserLeap.nonce), U.id = Ne, U;
108
+ }(), Ce = () => {
106
109
  window.UserLeap.container && Object.assign(window.UserLeap.container.style, { display: "flex" });
107
110
  };
108
- if (V.installationMethod === "web-npm" || V.installationMethod === "web-npm-bundled") {
109
- const { default: S } = await import("./view-BC8pDITD.js");
110
- S.configure(V), A && window.UserLeap.container && Re();
111
+ if (B.installationMethod === "web-npm" || B.installationMethod === "web-npm-bundled") {
112
+ const { default: U } = await import("./view-CxqsZLB6.js");
113
+ U.configure(B), A && window.UserLeap.container && Ce();
111
114
  } else
112
- we && (ge.src = we, A && ge.addEventListener("load", () => {
113
- window.UserLeap.container && Re();
114
- }), k == null || k.addEventListener("error", (S) => {
115
- S.target instanceof HTMLScriptElement && S.target.src === we && window.UserLeap.reportError("loadFrameScript", new Error("Frame script failed to load"));
115
+ me && (ye.src = me, A && ye.addEventListener("load", () => {
116
+ window.UserLeap.container && Ce();
117
+ }), E == null || E.addEventListener("error", (U) => {
118
+ U.target instanceof HTMLScriptElement && U.target.src === me && window.UserLeap.reportError("loadFrameScript", new Error("Frame script failed to load"));
116
119
  }, { capture: !0, once: !0 }));
117
- v == null || v.appendChild(ge);
118
- const Oe = { success: !0, surveyState: "ready", surveyId: g, responseGroupUid: y };
119
- return window.UserLeap.isMobileSDK && s && (Oe.delay = s), Oe;
120
+ b == null || b.appendChild(ye);
121
+ const Pe = { success: !0, surveyState: "ready", surveyId: u, responseGroupUid: m };
122
+ return window.UserLeap.isMobileSDK && s && (Pe.delay = s), Pe;
120
123
  };
121
- function _e(t) {
124
+ function ge(t) {
122
125
  var n;
123
126
  if (window.UserLeap.useMobileStyling !== void 0)
124
127
  return window.UserLeap.useMobileStyling;
125
128
  const e = ((n = window.UserLeap.windowDimensions) == null ? void 0 : n.width) ?? document.body.clientWidth;
126
- return ue(t) || e > 10 && e < 500;
129
+ return ie(t) || e > 10 && e < 500;
127
130
  }
128
- function ue(t) {
129
- return Ot.includes(t["userleap-platform"]);
131
+ function ie(t) {
132
+ return Rt.includes(t["userleap-platform"]);
130
133
  }
131
- const xe = "ul-frame";
134
+ const Ae = "ul-frame";
132
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);
133
- const ye = "0px", et = (t, e, n) => {
136
+ const he = "0px", it = (t, e, n) => {
134
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());
135
- const s = nt();
138
+ const s = at();
136
139
  n && s && !window.UserLeap.useMobileStyling ? s.appendChild(window.UserLeap.container) : document.body.appendChild(window.UserLeap.container);
137
- }, tt = (t, e) => {
140
+ }, nt = (t, e) => {
138
141
  var s;
139
- jt();
142
+ Tt();
140
143
  const n = window.UserLeap.container;
141
144
  if (n)
142
145
  try {
143
- (s = n.parentNode) == null || s.removeChild(n), window.UserLeap.container = null, x("trackStartUrl", null), u.emit(w.SurveyLifeCycle, { state: "dismissed" }), u.emit(w.SurveyClosed, { name: w.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(g.SurveyLifeCycle, { state: "dismissed" }), w.emit(g.SurveyClosed, { name: g.SurveyClosed, initiator: t, "survey.id": parseInt(n.dataset.studyId), ...e && { studyType: e } });
144
147
  } catch (r) {
145
148
  console.warn(`[Sprig] (ERR-412) Error removing UserLeap container by ${t} ` + n), r instanceof Error && window.UserLeap.reportError("dismissActiveSurvey", r);
146
149
  }
147
- }, rt = () => {
148
- u.once(w.SurveyWillClose, ({ initiator: t, studyType: e }) => {
149
- u.removeAllListeners(w.CloseSurveyOnOverlayClick), tt(t, e);
150
+ }, ot = () => {
151
+ w.once(g.SurveyWillClose, ({ initiator: t, studyType: e }) => {
152
+ w.removeAllListeners(g.CloseSurveyOnOverlayClick), nt(t, e);
150
153
  });
151
- }, Ct = (t, e, n, s) => {
152
- var d, p;
153
- const r = { position: "fixed", bottom: "0px", right: ye, border: 0, backgroundColor: "rgba(0,0,0,0)", zIndex: 2147483646, transition: "width 0.2s ease-in-out, height 0.2s ease-in-out", maxWidth: "100%" }, i = Object.assign({}, e, window.UserLeap), { desktopDisplay: o } = e || {}, a = o === "center-modal";
154
+ }, Ot = (t, e, n, s) => {
155
+ var d, c;
156
+ const r = { position: "fixed", bottom: "0px", right: he, border: 0, backgroundColor: "rgba(0,0,0,0)", zIndex: 2147483646, transition: "height 0.2s ease-in-out", maxWidth: "100%" }, i = Object.assign({}, e, window.UserLeap), { desktopDisplay: o } = e || {}, a = o === "center-modal";
154
157
  let l;
155
158
  a && (i.framePosition = "center");
156
- let c = !1;
159
+ let p = !1;
157
160
  if (n)
158
- (d = window.UserLeap.windowDimensions) != null && d.width ? r.width = `${window.UserLeap.windowDimensions.width}px` : r.width = "100%", (p = window.UserLeap.windowDimensions) != null && p.height ? r.maxHeight = window.UserLeap.windowDimensions.height - 20 + "px" : window.UserLeap.maxHeight ? r.maxHeight = window.UserLeap.maxHeight : r.maxHeight = document.body.clientHeight - 20 + "px", ["light", "dark"].includes(i.overlayStyleMobile) && (c = !0);
161
+ (d = window.UserLeap.windowDimensions) != null && d.width ? r.width = `${window.UserLeap.windowDimensions.width}px` : r.width = "100%", (c = window.UserLeap.windowDimensions) != null && c.height ? r.maxHeight = window.UserLeap.windowDimensions.height - 20 + "px" : window.UserLeap.maxHeight ? r.maxHeight = window.UserLeap.maxHeight : r.maxHeight = document.body.clientHeight - 20 + "px", ["light", "dark"].includes(i.overlayStyleMobile) && (p = !0);
159
162
  else {
160
- r.width = At, r.maxHeight = window.UserLeap.maxHeight || "66vh";
161
- const y = () => {
162
- c = !0, l = { margin: "auto", position: "static" };
163
+ r.width = "360px", r.maxHeight = window.UserLeap.maxHeight || "66vh";
164
+ const m = () => {
165
+ p = !0, l = { margin: "auto", position: "static" };
163
166
  };
164
167
  if (s)
165
- a ? y() : l = { position: "relative", height: "300px" };
168
+ a ? m() : l = { position: "relative", height: "300px" };
166
169
  else
167
170
  switch (i.framePosition) {
168
171
  case "bottomLeft":
169
- l = { left: ye };
172
+ l = { left: he };
170
173
  break;
171
174
  case "topLeft":
172
- l = { left: ye, top: 0 };
175
+ l = { left: he, top: 0 };
173
176
  break;
174
177
  case "topRight":
175
178
  l = { top: 0 };
176
179
  break;
177
180
  case "center":
178
- y();
181
+ m();
179
182
  }
180
183
  }
181
- return c && ((y, g) => {
182
- 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 }, _ = g ? y.overlayStyleMobile : y.overlayStyle;
183
- m["background-color"] = _ === "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);
184
- })(i, n), Object.assign(t.style, r, l), c;
185
- }, Pt = ({ productConfig: t, useMobileStyling: e, surveyId: n, isFeedback: s }) => {
186
- var y, g;
187
- const r = xe, i = s && t.desktopDisplay === "slider";
188
- et(n, s, i), Tt();
184
+ return p && ((m, u) => {
185
+ const y = { 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 ? m.overlayStyleMobile : m.overlayStyle;
186
+ y["background-color"] = I === "light" ? "rgba(255,255,255, 0.95)" : "rgba(0,0,0,0.9)", u || (y.margin = "auto"), window.UserLeap.container && Object.assign(window.UserLeap.container.style, y);
187
+ })(i, n), Object.assign(t.style, r, l), p;
188
+ }, Ct = ({ productConfig: t, useMobileStyling: e, surveyId: n, isFeedback: s }) => {
189
+ var m, u;
190
+ const r = Ae, i = s && t.desktopDisplay === "slider";
191
+ it(n, s, i), Pt();
189
192
  const o = document.createElement("iframe");
190
193
  o.id = r, o.setAttribute("title", "Sprig User Feedback Dialog");
191
- const a = Ct(o, t, e, s);
192
- rt();
194
+ const a = Ot(o, t, e, s);
195
+ ot();
193
196
  let l = !1;
194
- o.setHeight = (m) => {
195
- parseInt(o.style.height) == m && l || (l = !0, o.style.height = `${m}px`, u.emit(w.SurveyHeight, { name: w.SurveyHeight, contentFrameHeight: m, "survey.id": n }));
197
+ o.setHeight = (y) => {
198
+ parseInt(o.style.height) == y && l || (l = !0, o.style.height = `${y}px`, w.emit(g.SurveyHeight, { name: g.SurveyHeight, contentFrameHeight: y, "survey.id": n }));
196
199
  };
197
- let c = !1;
198
- o.setWidth = (m) => {
199
- parseInt(o.style.width) == m && c || (c = !0, o.style.width = `${m}px`, u.emit(w.SurveyWidth, { name: w.SurveyWidth, contentFrameWidth: m, "survey.id": n }));
200
- }, (y = window.UserLeap.container) == null || y.appendChild(o), t && (e ? t.exitOnOverlayClickMobile : t.exitOnOverlayClick) && window.UserLeap.container && (window.UserLeap.container.onclick = () => {
201
- u.emit(w.CloseSurveyOnOverlayClick);
202
- }), u.emit(w.SurveyLifeCycle, { state: "presented" }), u.emit(w.SurveyPresented, { name: w.SurveyPresented, "survey.id": n });
203
- const d = (g = o.contentWindow) == null ? void 0 : g.document;
200
+ let p = !1;
201
+ o.setWidth = (y) => {
202
+ parseInt(o.style.width) == y && p || (p = !0, o.style.width = `${y}px`, w.emit(g.SurveyWidth, { name: g.SurveyWidth, contentFrameWidth: y, "survey.id": n }));
203
+ }, (m = window.UserLeap.container) == null || m.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
207
  if (d && (d.open("text/html", "replace"), d.write("<!doctype html><head></head><body></body></html>"), d.close(), !e)) {
205
- const m = d.body;
206
- m.style.display = "flex", m.style.alignItems = "center";
208
+ const y = d.body;
209
+ y.style.display = "flex", y.style.alignItems = "center";
207
210
  }
208
- const p = d == null ? void 0 : d.head;
209
- return { frameId: r, contentWinDocHead: p, contentWindow: o.contentWindow, hasOverlay: a, iframe: o };
210
- }, it = { [w.SurveyFadingOut]: () => {
211
+ const c = d == null ? void 0 : d.head;
212
+ return { frameId: r, contentWinDocHead: c, contentWindow: o.contentWindow, hasOverlay: a, iframe: o };
213
+ }, st = { [g.SurveyFadingOut]: () => {
211
214
  window.UserLeap.container && Object.assign(window.UserLeap.container.style, { "background-color": "rgba(0,0,0,0)" });
212
- } }, Tt = () => {
213
- Object.entries(it).forEach(([t, e]) => {
214
- u.on(t, e);
215
+ } }, Pt = () => {
216
+ Object.entries(st).forEach(([t, e]) => {
217
+ w.on(t, e);
215
218
  });
216
- }, jt = () => {
217
- Object.entries(it).forEach(([t, e]) => {
218
- u.off(t, e);
219
+ }, Tt = () => {
220
+ Object.entries(st).forEach(([t, e]) => {
221
+ w.off(t, e);
219
222
  });
220
- }, $ = (t) => !!t && t.nodeType === Node.ELEMENT_NODE, He = (t) => t instanceof HTMLElement || t instanceof SVGElement, ne = ({ document: t, elementId: e, styleString: n, nonce: s }) => {
223
+ }, j = (t) => !!t && t.nodeType === Node.ELEMENT_NODE, Ve = (t) => t instanceof HTMLElement || t instanceof SVGElement, se = ({ document: t, elementId: e, styleString: n, nonce: s }) => {
221
224
  const r = t.getElementById(e);
222
225
  if (r)
223
226
  return void (r.textContent = n);
224
227
  const i = t.createElement("style");
225
228
  s && (i.nonce = s), i.textContent = n, i.id = e, t.head.appendChild(i);
226
- }, Mt = (t, e) => {
229
+ }, jt = (t, e) => {
227
230
  const n = e.querySelector(".sprig-question-body");
228
- if (!$(n))
231
+ if (!j(n))
229
232
  return t;
230
233
  const s = n.scrollHeight;
231
234
  return s < 100 ? t : t - (s - 100);
232
- }, Ne = (t, e) => {
235
+ }, Be = (t, e) => {
233
236
  const n = e.querySelector(t);
234
- if (!$(n))
237
+ if (!j(n))
235
238
  return 0;
236
239
  const s = getComputedStyle(n);
237
240
  return parseFloat(s.paddingLeft) + parseFloat(s.paddingRight) + (parseFloat(s.marginLeft) + parseFloat(s.marginRight)) + (parseFloat(s.borderLeftWidth) + parseFloat(s.borderRightWidth));
238
- }, Ft = (t) => {
239
- const e = t.querySelector(".ul-card__container");
240
- let n = 600, s = 360, r = 0;
241
- if ($(e)) {
242
- n = e.clientHeight, n += ((a) => {
243
- const l = a.querySelector(".sprig-question-body"), c = a.querySelector(".ul-card"), d = a.querySelector(".ul-card-main-content");
244
- let p = 0;
245
- return $(c) && (p += c.scrollHeight - c.clientHeight), $(d) && (p += d.scrollHeight - d.clientHeight), $(l) && (p += l.scrollHeight - l.clientHeight), p;
246
- })(t);
247
- const i = getComputedStyle(e);
248
- r = n, n += parseFloat(i.marginTop) + parseFloat(i.marginBottom) + (parseFloat(i.borderTopWidth) + parseFloat(i.borderBottomWidth));
249
- const o = e.querySelector(".ul-card--matrix_grid");
250
- s = o ? o.scrollWidth : e.scrollWidth, s += Ne(".ul-card__container", t), s += Ne(".sprig-question-body", t);
251
- }
252
- return [n + 1, s, Mt(r, t)];
241
+ }, Mt = (t, e, n) => {
242
+ const s = t.querySelector(".ul-card__container"), r = t.querySelector(".ul-app");
243
+ let i = 600, o = 360, a = 0;
244
+ if (j(s) && j(r)) {
245
+ const l = s.querySelector(".ul-card--matrix_grid"), p = !l && e && n;
246
+ try {
247
+ p && (r.style.width = "360px"), i = s.clientHeight, i += ((m) => {
248
+ const u = m.querySelector(".sprig-question-body"), y = m.querySelector(".ul-card"), I = m.querySelector(".ul-card-main-content"), h = m.querySelector(".ul-footer"), L = m.querySelector(".sprig-container");
249
+ let f = 0;
250
+ return j(y) && (f += y.scrollHeight - y.clientHeight), j(I) && (f += I.scrollHeight - I.clientHeight), j(u) && (f += u.scrollHeight - u.clientHeight), j(h) && j(L) && L.clientHeight === 0 && (f += h.clientHeight), f;
251
+ })(t);
252
+ const d = getComputedStyle(s);
253
+ a = i;
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));
256
+ } finally {
257
+ p && r.style.removeProperty("width");
258
+ }
259
+ }
260
+ return [i + 1, o, jt(a, t)];
253
261
  }, ar = (t) => {
254
262
  const e = t.querySelector(".ul-card__container");
255
263
  e && (e.scrollTop = 0);
256
- }, nt = () => f, G = () => document.getElementById("sprig-feedback-container"), be = () => document.getElementById("sprig-feedback-loading-animation"), ot = () => !!document.getElementById(xe);
257
- let Ve = !1, f = null, P = null, De = !1, X = null, z = null;
258
- const qt = ["bottom-left", "bottom-right", "center-left", "center-right"], oe = () => {
264
+ }, at = () => v, G = () => document.getElementById("sprig-feedback-container"), Se = () => document.getElementById("sprig-feedback-loading-animation"), dt = () => !!document.getElementById(Ae);
265
+ let $e = !1, v = null, P = null, Re = !1, Z = null, H = null;
266
+ const qt = ["bottom-left", "bottom-right", "center-left", "center-right"], ae = () => {
259
267
  var e;
260
268
  const t = window.UserLeap.container;
261
269
  return ((e = t == null ? void 0 : t.parentElement) == null ? void 0 : e.id) === "sprig-feedback-loading-container";
262
- }, st = () => document.getElementById("sprig-feedback-error-container"), at = () => {
263
- if (!f)
270
+ }, lt = () => document.getElementById("sprig-feedback-error-container"), ct = () => {
271
+ if (!v)
264
272
  return 0;
265
- const t = f == null ? void 0 : f.clientWidth, e = window.getComputedStyle(f);
273
+ const t = v == null ? void 0 : v.clientWidth, e = window.getComputedStyle(v);
266
274
  return t + parseInt(e.borderRightWidth || "0") + parseInt(e.borderLeftWidth || "0");
267
- }, se = (t) => {
275
+ }, de = (t) => {
268
276
  const e = G();
269
- e && (z != null && z.endsWith("right") ? e.style.right = `${t}px` : z != null && z.endsWith("left") && (e.style.left = `${t}px`));
270
- }, fe = () => {
271
- if (f && (oe() || st())) {
272
- u.off(w.SurveyAppeared, Q), Le();
273
- const t = at();
274
- return se(-t), !0;
277
+ e && (H != null && H.endsWith("right") ? e.style.right = `${t}px` : H != null && H.endsWith("left") && (e.style.left = `${t}px`));
278
+ }, be = () => {
279
+ if (v && (ae() || lt())) {
280
+ w.off(g.SurveyAppeared, Y), Ie();
281
+ const t = ct();
282
+ return de(-t), !0;
275
283
  }
276
284
  return !1;
277
- }, Q = () => {
278
- if (!f || !P)
285
+ }, Y = () => {
286
+ if (!v || !P)
279
287
  return;
280
- const t = be();
281
- t && t.remove(), f.style.height = "auto", f.style.width = "auto", P.disabled = !1, De = !1;
282
- }, Le = () => {
283
- if (f && !be()) {
288
+ const t = Se();
289
+ t && t.remove(), v.style.height = "auto", v.style.width = "auto", P.disabled = !1, Re = !1;
290
+ }, Ie = () => {
291
+ if (v && !Se()) {
284
292
  const t = (() => {
285
- if (be())
293
+ if (Se())
286
294
  return;
287
295
  const e = document.createElement("div");
288
296
  return e.className = "ul-loading-spinner-container", e.id = "sprig-feedback-loading-animation", e.role = "progressbar", e.setAttribute("aria-live", "polite"), e.setAttribute("aria-busy", "true"), e.setAttribute("aria-label", "Processing..."), e.innerHTML = `
@@ -294,62 +302,62 @@ const qt = ["bottom-left", "bottom-right", "center-left", "center-right"], oe =
294
302
  </div>
295
303
  `, e;
296
304
  })();
297
- t && (f.style.height = "300px", f.style.width = "360px", f.appendChild(t));
305
+ t && (v.style.height = "300px", v.style.width = "360px", v.appendChild(t));
298
306
  }
299
- }, Be = () => {
300
- f && P && (se(0), P.disabled = !0, De = !0);
301
- }, dt = async (t, e, n) => {
302
- const { buttonTheme: s, customStyles: r, eventId: i, placement: o, desktopDisplay: a, feedbackLabel: l, surveyUuid: c, surveyId: d } = t;
307
+ }, Ge = () => {
308
+ v && P && (de(0), P.disabled = !0, Re = !0);
309
+ }, pt = async (t, e, n) => {
310
+ const { buttonTheme: s, customStyles: r, eventId: i, placement: o, desktopDisplay: a, feedbackLabel: l, surveyUuid: p, surveyId: d } = t;
303
311
  window.UserLeap.feedbackCustomStyles = void 0;
304
- let p = G();
305
- if (p) {
306
- if (!e && i === X)
312
+ let c = G();
313
+ if (c) {
314
+ if (!e && i === Z)
307
315
  return;
308
- p.remove(), u.off(te.SURVEY_FADING_OUT, fe);
316
+ c.remove(), w.off(re.SURVEY_FADING_OUT, be);
309
317
  }
310
- X = i, ne({ 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 }), ne({ document, elementId: "ul-custom-style", styleString: r ?? "", nonce: window.UserLeap.styleNonce }), Ve = a === "center-modal", z = o;
311
- const [y, g] = o.split("-");
312
- ((U) => {
313
- if (G() || !qt.includes(U))
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 [m, u] = o.split("-");
320
+ ((L) => {
321
+ if (G() || !qt.includes(L))
314
322
  return;
315
- const [h, L] = U.split("-"), E = document.createElement("div");
316
- E.id = "sprig-feedback-container", E.classList.add(`sprig-feedback-container-${L}`, `sprig-feedback-container-${h}`), document.body.appendChild(E);
317
- })(o), p = G(), P = document.createElement("button");
318
- const m = document.createElement("div");
319
- 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"), u.on(te.SURVEY_FADING_OUT, fe), P.addEventListener("click", async () => {
320
- const U = document.getElementById("sprig-feedback-error-container");
321
- if (ot() || st()) {
322
- if (fe()) {
323
- u.emit(w.SurveyWillClose, { name: w.SurveyWillClose, initiator: W.FeedbackClosed, studyType: "feedbackButton", "survey.id": d });
324
- const L = G();
325
- U && L && (L.remove(), X = null, f = null);
323
+ const [f, S] = L.split("-"), _ = document.createElement("div");
324
+ _.id = "sprig-feedback-container", _.classList.add(`sprig-feedback-container-${S}`, `sprig-feedback-container-${f}`), document.body.appendChild(_);
325
+ })(o), c = G(), P = document.createElement("button");
326
+ const y = document.createElement("div");
327
+ y.className = "sprig-feedback-button-label", y.innerText = l, P.appendChild(y), P.id = "sprig-feedback-button", P.classList.add(`sprig-feedback-button-${u}`, `sprig-feedback-button-${m}`, `sprig-feedback-button-${s}`, "fade-in-transition"), w.on(re.SURVEY_FADING_OUT, be), P.addEventListener("click", async () => {
328
+ const L = document.getElementById("sprig-feedback-error-container");
329
+ if (dt() || lt()) {
330
+ if (be()) {
331
+ w.emit(g.SurveyWillClose, { name: g.SurveyWillClose, initiator: W.FeedbackClosed, studyType: "feedbackButton", "survey.id": d });
332
+ const S = G();
333
+ L && S && (S.remove(), Z = null, v = null);
326
334
  }
327
335
  return;
328
336
  }
329
- if (_e(F(window.UserLeap)) || De || Be(), e)
330
- return f && f.classList.add("sprig-feedback-loading-container-previews"), await Y(e), void Q();
331
- const h = await (async (L) => {
332
- const E = await C(R("1", [j], "startFeedbackStudy"), { body: JSON.stringify({ surveyUuid: L }), method: "POST" });
333
- return E.ok ? E.json : null;
334
- })(c);
335
- if (h)
336
- u.once(w.SurveyAppeared, Q), Y({ ...h, studyType: "feedbackButton" }, n);
337
- else if (f) {
338
- const L = zt();
339
- f.appendChild(L), Q(), f.style.height = "300px", f.style.width = "360px";
337
+ if (ge(T(window.UserLeap)) || Re || Ge(), e)
338
+ return v && v.classList.add("sprig-feedback-loading-container-previews"), await X(e), void Y();
339
+ const f = await (async (S) => {
340
+ const _ = await C(R("1", [q], "startFeedbackStudy"), { body: JSON.stringify({ surveyUuid: S }), method: "POST" });
341
+ return _.ok ? _.json : null;
342
+ })(p);
343
+ if (f)
344
+ w.once(g.SurveyAppeared, Y), X({ ...f, studyType: "feedbackButton" }, n);
345
+ else if (v) {
346
+ const S = Ft();
347
+ v.appendChild(S), Y(), v.style.height = "300px", v.style.width = "360px";
340
348
  }
341
- }), p == null || p.appendChild(P), u.emit(w.FeedbackButtonLoaded, { name: w.FeedbackButtonLoaded, "survey.id": d });
342
- const { useMobileStyling: _, _config: { border: b } } = window.UserLeap;
343
- if (Ve || _)
344
- se(0);
349
+ }), c == null || c.appendChild(P), w.emit(g.FeedbackButtonLoaded, { name: g.FeedbackButtonLoaded, "survey.id": d });
350
+ const { useMobileStyling: I, _config: { border: h } } = window.UserLeap;
351
+ if ($e || I)
352
+ de(0);
345
353
  else {
346
- const U = document.createElement("div");
347
- U.id = "sprig-feedback-loading-container", U.className = `sprig-feedback-loading-container sprig-feedback-loading-container-${g}`, U.style.setProperty("--feedback-border", b), f = U, Le(), p == null || p.appendChild(U);
348
- const h = at();
349
- se(-h);
354
+ const L = document.createElement("div");
355
+ L.id = "sprig-feedback-loading-container", L.className = `sprig-feedback-loading-container sprig-feedback-loading-container-${u}`, L.style.setProperty("--feedback-border", h), v = L, Ie(), c == null || c.appendChild(L);
356
+ const f = ct();
357
+ de(-f);
350
358
  }
351
- window.UserLeap._config.isOnQuestionsTab && e && !oe() && f && (Be(), Le(), f && f.classList.add("sprig-feedback-loading-container-previews"), Y(e), Q());
352
- }, zt = () => {
359
+ window.UserLeap._config.isOnQuestionsTab && e && !ae() && v && (Ge(), Ie(), v && v.classList.add("sprig-feedback-loading-container-previews"), X(e), Y());
360
+ }, Ft = () => {
353
361
  const t = document.createElement("div");
354
362
  t.id = "sprig-feedback-error-container", t.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none">
355
363
  <circle cx="20" cy="20" r="14.5" stroke="#B0B5B7" stroke-width="3"/>
@@ -358,9 +366,9 @@ const qt = ["bottom-left", "bottom-right", "center-left", "center-right"], oe =
358
366
  </svg>`;
359
367
  const e = document.createElement("h3");
360
368
  return e.className = "sprig-feedback-error-text", e.innerText = "There was an error while loading the survey", t.appendChild(e), t;
361
- }, Ue = new class {
369
+ }, ke = new class {
362
370
  constructor() {
363
- B(this, "_ldData", {});
371
+ $(this, "_ldData", {});
364
372
  }
365
373
  getAllLaunchDarklyVariations() {
366
374
  return this._ldData;
@@ -375,10 +383,10 @@ const qt = ["bottom-left", "bottom-right", "center-left", "center-right"], oe =
375
383
  }
376
384
  }
377
385
  }();
378
- Object.freeze(Ue);
379
- const ie = new class {
386
+ Object.freeze(ke);
387
+ const oe = new class {
380
388
  constructor() {
381
- B(this, "_optimizelyData", {});
389
+ $(this, "_optimizelyData", {});
382
390
  }
383
391
  setOptimizelyExperiment(t, e = !0) {
384
392
  if (!t || typeof t != "object")
@@ -424,12 +432,12 @@ const ie = new class {
424
432
  }
425
433
  }
426
434
  }();
427
- Object.freeze(ie);
428
- class Wt {
435
+ Object.freeze(oe);
436
+ class zt {
429
437
  constructor(e, n) {
430
- B(this, "paused");
431
- B(this, "queue");
432
- B(this, "ul");
438
+ $(this, "paused");
439
+ $(this, "queue");
440
+ $(this, "ul");
433
441
  this.ul = e, this.paused = !1, this.queue = [], this.flush(n);
434
442
  }
435
443
  flush(e) {
@@ -476,156 +484,156 @@ class Wt {
476
484
  this.queue.length = 0;
477
485
  }
478
486
  }
479
- let lt, ct;
480
- const Se = (t) => {
487
+ let ut, wt;
488
+ const Ee = (t) => {
481
489
  let e = 0, n = t.firstElementChild;
482
490
  for (; n; )
483
- e += Se(n), n.shadowRoot && (e += Se(n.shadowRoot)), n = n.nextElementSibling, e++;
491
+ e += Ee(n), n.shadowRoot && (e += Ee(n.shadowRoot)), n = n.nextElementSibling, e++;
484
492
  return e;
485
- }, $e = () => {
486
- lt.report(Se(document.body)), ct.report(document.documentElement.innerHTML.length);
487
- }, Ie = (t, e) => {
493
+ }, Ke = () => {
494
+ ut.report(Ee(document.body)), wt.report(document.documentElement.innerHTML.length);
495
+ }, _e = (t, e) => {
488
496
  const n = performance.now();
489
- document.hidden ? setTimeout(() => Ie(t, e), t) : setTimeout(() => {
497
+ document.hidden ? setTimeout(() => _e(t, e), t) : setTimeout(() => {
490
498
  const s = performance.now() - n;
491
- e.report(s / 1e3), setTimeout(() => Ie(t, e), t);
499
+ e.report(s / 1e3), setTimeout(() => _e(t, e), t);
492
500
  }, 0);
493
501
  };
494
- let ae, de, le, ce, Ge, H = {};
495
- const re = (t, e = 1) => {
502
+ let le, ce, pe, ue, Je, N = {};
503
+ const ne = (t, e = 1) => {
496
504
  const { name: n } = t;
497
- H[n] = (H[n] || 0) + e;
498
- }, pt = (t) => {
505
+ N[n] = (N[n] || 0) + e;
506
+ }, gt = (t) => {
499
507
  let e = 1;
500
508
  return t.childNodes.forEach((n) => {
501
- e += pt(n);
509
+ e += gt(n);
502
510
  }), e;
503
- }, Ke = (t) => {
511
+ }, Qe = (t) => {
504
512
  let e = 0;
505
513
  return t.forEach((n) => {
506
- e += pt(n);
514
+ e += gt(n);
507
515
  }), e;
508
516
  }, Ht = (t) => {
509
517
  switch (t.type) {
510
518
  case "childList":
511
- return re(ae, Ke(t.addedNodes)), void re(de, Ke(t.removedNodes));
519
+ return ne(le, Qe(t.addedNodes)), void ne(ce, Qe(t.removedNodes));
512
520
  case "attributes":
513
- return void re(le);
521
+ return void ne(pe);
514
522
  case "characterData":
515
- return void re(ce);
523
+ return void ne(ue);
516
524
  }
517
- }, Nt = (t) => t.forEach(Ht), Vt = () => {
518
- ae.report(H[ae.name] || 0), de.report(H[de.name] || 0), le.report(H[le.name] || 0), ce.report(H[ce.name] || 0), H = {};
519
- }, Bt = (t = 1e3) => {
520
- ae = N("sdk_mutations_nodes_added"), de = N("sdk_mutations_nodes_removed"), le = N("sdk_mutations_attributes_changed"), ce = N("sdk_mutations_character_data"), Ge = new MutationObserver(Nt), Ge.observe(document, { attributes: !0, attributeOldValue: !0, characterData: !0, characterDataOldValue: !0, childList: !0, subtree: !0 }), setInterval(Vt, t);
521
- }, $t = ({ isWeb: t, reportingIntervalSeconds: e, thresholds: n, postMetrics: s }) => {
525
+ }, Wt = (t) => t.forEach(Ht), Nt = () => {
526
+ le.report(N[le.name] || 0), ce.report(N[ce.name] || 0), pe.report(N[pe.name] || 0), ue.report(N[ue.name] || 0), N = {};
527
+ }, Vt = (t = 1e3) => {
528
+ le = V("sdk_mutations_nodes_added"), ce = V("sdk_mutations_nodes_removed"), pe = V("sdk_mutations_attributes_changed"), ue = V("sdk_mutations_character_data"), Je = new MutationObserver(Wt), Je.observe(document, { attributes: !0, attributeOldValue: !0, characterData: !0, characterDataOldValue: !0, childList: !0, subtree: !0 }), setInterval(Nt, t);
529
+ }, Bt = ({ isWeb: t, reportingIntervalSeconds: e, thresholds: n, postMetrics: s }) => {
522
530
  kt(n, (r, i) => {
523
531
  var o, a;
524
- if ((o = I.replay) != null && o.isReplayRecording()) {
532
+ if ((o = k.replay) != null && o.isReplayRecording()) {
525
533
  const l = `Value: ${r} on ${i.metric} violated threshold of ${i.type} ${i.value}`;
526
- (a = I.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();
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();
527
535
  }
528
536
  }), Et({ reportingIntervalSeconds: e, postMetrics: s }), t && (((r = 1e3) => {
529
- const i = N("sdk_event_queue_latency_seconds");
530
- Ie(r, i);
537
+ const i = V("sdk_event_queue_latency_seconds");
538
+ _e(r, i);
531
539
  })(), ((r = 1e4) => {
532
- lt = N("sdk_dom_nodes_count"), ct = N("sdk_page_html_characters"), $e(), setInterval($e, r);
533
- })(), Bt());
534
- }, Gt = "test", Kt = ["popState", "pushState", "replaceState"];
535
- let Z;
536
- const pe = {}, J = "!email", ut = "pageUrl";
537
- let ve = window.location.href;
538
- function ee(t) {
540
+ ut = V("sdk_dom_nodes_count"), wt = V("sdk_page_html_characters"), Ke(), setInterval(Ke, r);
541
+ })(), Vt());
542
+ }, $t = "test", Gt = ["popState", "pushState", "replaceState"];
543
+ let ee;
544
+ const we = {}, Q = "!email", mt = "pageUrl";
545
+ let Le = window.location.href;
546
+ function te(t) {
539
547
  var a;
540
548
  const { pageUrlEvents: e, interactiveEvents: n, dismissOnPageChange: s, platform: r } = window.UserLeap._config;
541
549
  if (r && r !== "web")
542
550
  return;
543
- ve !== window.location.href && T.navigation("LocationChange", { from: ve, to: window.location.href }), ve = window.location.href;
544
- const i = mt().trackStartUrl, o = i ? String(i) : null;
545
- e && ft(window.location.href), n && (gt(), Jt()), nt() && (() => {
546
- if (oe())
551
+ Le !== window.location.href && M.navigation("LocationChange", { from: Le, to: window.location.href }), Le = window.location.href;
552
+ const i = vt().trackStartUrl, o = i ? String(i) : null;
553
+ e && bt(window.location.href), n && (ft(), Kt()), at() && (() => {
554
+ if (ae())
547
555
  return;
548
556
  const l = G();
549
- l && (It(X) || (l.remove(), X = null, f = null));
550
- })(), xt.getItem("sprig.isCapturingHeatmap") && ((a = I.replay) == null || a.checkPendingHeatmapsUrl()), !oe() && s && o && o !== window.location.href && t && Kt.includes(t.type) && window.UserLeap("dismissActiveSurvey", W.PageChange);
557
+ l && (It(Z) || (l.remove(), Z = null, v = null));
558
+ })(), xt.getItem("sprig.isCapturingHeatmap") && ((a = k.replay) == null || a.checkPendingHeatmapsUrl()), !ae() && s && o && o !== window.location.href && t && Gt.includes(t.type) && window.UserLeap("dismissActiveSurvey", W.PageChange);
551
559
  }
552
- const wt = { capture: !0 }, Jt = () => {
553
- const t = window.UserLeap._config.interactiveEvents.filter((n) => Xe(n, window.location.href)).map((n) => {
560
+ const yt = { capture: !0 }, Kt = () => {
561
+ const t = window.UserLeap._config.interactiveEvents.filter((n) => tt(n, window.location.href)).map((n) => {
554
562
  const { name: s, properties: r } = n, { selector: i, innerText: o } = r;
555
563
  return i ? (a) => {
556
- if (He(a.target))
564
+ if (Ve(a.target))
557
565
  try {
558
566
  a.target.closest(i) && window.UserLeap("track", s);
559
567
  } catch {
560
568
  }
561
569
  return !1;
562
- } : (a) => (He(a.target) && a.target.innerText === o && window.UserLeap("track", s), !1);
570
+ } : (a) => (Ve(a.target) && a.target.innerText === o && window.UserLeap("track", s), !1);
563
571
  }), e = (n) => t.forEach((s) => s(n));
564
- window.UserLeap._config.interactiveEventsHandler = e, window.addEventListener("click", e, wt);
565
- }, gt = () => {
566
- window.UserLeap._config.interactiveEventsHandler && window.removeEventListener("click", window.UserLeap._config.interactiveEventsHandler, wt), delete window.UserLeap._config.interactiveEventsHandler;
572
+ window.UserLeap._config.interactiveEventsHandler = e, window.addEventListener("click", e, yt);
573
+ }, ft = () => {
574
+ window.UserLeap._config.interactiveEventsHandler && window.removeEventListener("click", window.UserLeap._config.interactiveEventsHandler, yt), delete window.UserLeap._config.interactiveEventsHandler;
567
575
  };
568
- function mt() {
576
+ function vt() {
569
577
  const t = D.getItemObject("userleap.ids");
570
578
  return t && t[window.UserLeap.envId] || {};
571
579
  }
572
- function yt() {
580
+ function ht() {
573
581
  if (window.previewMode)
574
582
  return;
575
583
  const t = D.getItemObject("sprig.anon.env.vid.map") || {}, e = t[window.UserLeap.envId];
576
- window.UserLeap.visitorId = e || Ye(), T.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)), u.emit(w.VisitorIDUpdated, { visitorId: window.UserLeap.visitorId });
584
+ 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 });
577
585
  }
578
- function ft(t, e, n, s) {
586
+ function bt(t, e, n, s) {
579
587
  var r, i;
580
588
  try {
581
589
  if (t.endsWith("mock_snippet.html"))
582
590
  return;
583
- T.info("PageView", { url: t });
591
+ M.info("PageView", { url: t });
584
592
  const o = window.UserLeap._config.pageUrlEvents;
585
593
  let a = !1;
586
594
  if (o && o.length)
587
- for (let d = 0; d < o.length && (a = Xe(o[d], t), !a); d++)
595
+ for (let d = 0; d < o.length && (a = tt(o[d], t), !a); d++)
588
596
  ;
589
597
  if (!a)
590
598
  return;
591
599
  window.UserLeap.debugMode && console.info("[DEBUG] Sprig trackPageView", t);
592
600
  const l = { url: t };
593
- s && (l.trackPageView = !0), window.UserLeap._queue.push(["track", ut, e, l, n]);
594
- const c = (r = document == null ? void 0 : document.querySelector('meta[name="description"]')) == null ? void 0 : r.getAttribute("content");
595
- (i = I.replay) == null || i.RecordPageView({ ...c && { description: c }, url: t, referrer: document.referrer, pageTitle: document.title });
601
+ s && (l.trackPageView = !0), window.UserLeap._queue.push(["track", mt, e, l, n]);
602
+ const p = (r = document == null ? void 0 : document.querySelector('meta[name="description"]')) == null ? void 0 : r.getAttribute("content");
603
+ (i = k.replay) == null || i.RecordPageView({ ...p && { description: p }, url: t, referrer: document.referrer, pageTitle: document.title });
596
604
  } catch (o) {
597
605
  o instanceof Error && (o.stack = t, window.UserLeap.reportError("trackPageView", o)), console.warn("[Sprig] (ERR-428) Failed to track page view", o);
598
606
  }
599
607
  }
600
- function Qt() {
608
+ function Jt() {
601
609
  const t = "Backbone" in window && window.Backbone && window.Backbone.history ? window.Backbone.history : window.history;
602
610
  "pushState" in t && (t.pushState = /* @__PURE__ */ ((e) => function(...n) {
603
611
  const s = e.apply(this, n), r = new Event("pushState");
604
- return window.dispatchEvent(r), ee(r), s;
612
+ return window.dispatchEvent(r), te(r), s;
605
613
  })(t.pushState)), "replaceState" in t && (t.replaceState = /* @__PURE__ */ ((e) => function(...n) {
606
614
  const s = e.apply(this, n), r = new Event("replaceState");
607
- return window.dispatchEvent(r), ee(r), s;
608
- })(t.replaceState)), ["hashchange", "popstate"].forEach((e) => window.addEventListener(e, ee, !0));
615
+ return window.dispatchEvent(r), te(r), s;
616
+ })(t.replaceState)), ["hashchange", "popstate"].forEach((e) => window.addEventListener(e, te, !0));
609
617
  }
610
- async function he(t, e) {
611
- const n = Ee();
612
- t && !e && (window.UserLeap._config.mode = Gt);
613
- const s = _e(F(window.UserLeap)), r = await C(function(i) {
614
- const o = new URL(R("1", [M], "questions"));
618
+ async function Ue(t, e) {
619
+ const n = De();
620
+ t && !e && (window.UserLeap._config.mode = $t);
621
+ const s = ge(T(window.UserLeap)), r = await C(function(i) {
622
+ const o = new URL(R("1", [F], "questions"));
615
623
  return Object.entries(i || {}).forEach(([a, l]) => {
616
624
  l && o.searchParams.append(a, String(l));
617
625
  }), o.toString();
618
626
  }({ desktopDisplay: window.UserLeap._config.desktopDisplay, isMobile: s, previewLanguage: window.UserLeap._config.previewLanguage, surveyid: t == null ? void 0 : t.surveyId, surveytemplateid: t == null ? void 0 : t.surveyTemplateId, vid: n }), { shouldDropOnRateLimit: !0 });
619
627
  if (!r.ok)
620
628
  return r.reportError && r.error && (console.warn("[Sprig] (ERR-414) Failed to request questions from the server", r.error), window.UserLeap.reportError("getQuestions", r.error)), { success: !1, surveyState: "no survey" };
621
- if (r.json.delay && await Ze(r.json.delay), !r.json.isFeedback)
622
- return Y(r.json, Z);
629
+ if (r.json.delay && await rt(r.json.delay), !r.json.isFeedback)
630
+ return X(r.json, ee);
623
631
  {
624
- const { feedbackLabel: i, productConfig: o, surveyUuid: a, feedbackCustomStyles: l } = r.json, { buttonTheme: c, placement: d, desktopDisplay: p } = o;
625
- dt({ customStyles: l, buttonTheme: c, desktopDisplay: p, eventId: 0, feedbackLabel: i, placement: d, surveyUuid: a, surveyId: t == null ? void 0 : t.surveyId }, r.json);
632
+ const { feedbackLabel: i, productConfig: o, surveyUuid: a, feedbackCustomStyles: l } = r.json, { buttonTheme: p, placement: d, desktopDisplay: c } = o;
633
+ pt({ customStyles: l, buttonTheme: p, desktopDisplay: c, eventId: 0, feedbackLabel: i, placement: d, surveyUuid: a, surveyId: t == null ? void 0 : t.surveyId }, r.json);
626
634
  }
627
635
  }
628
- function Yt(t) {
636
+ function Qt(t) {
629
637
  if (!t)
630
638
  return;
631
639
  window.UserLeap._config = t, t.mute && window.UserLeap._queue.pause();
@@ -638,56 +646,56 @@ function Yt(t) {
638
646
  const a = r[i];
639
647
  r[i] = r[o], r[o] = a;
640
648
  }
641
- }(e), (e || n || s) && (Qt(), ee());
649
+ }(e), (e || n || s) && (Jt(), te());
642
650
  }
643
- const Xt = function(t) {
651
+ const Yt = function(t) {
644
652
  if (!window.UserLeap)
645
653
  return;
646
654
  const e = async (r = {}) => {
647
- var U, h, L, E, O;
648
- const { userId: i, anonymousId: o, metadata: a = {}, properties: l, showSurveyCallback: c } = r;
655
+ var L, f, S, _, O;
656
+ const { userId: i, anonymousId: o, metadata: a = {}, properties: l, showSurveyCallback: p } = r;
649
657
  let { eventName: d } = r;
650
- if (window.UserLeap.debugMode && d !== ut && console.info("[DEBUG] Sprig track", r), t.mode === "test")
658
+ if (window.UserLeap.debugMode && d !== mt && console.info("[DEBUG] Sprig track", r), t.mode === "test")
651
659
  return;
652
- const p = D.getItem("sprig.previewKey") ?? void 0;
660
+ const c = D.getItem("sprig.previewKey") ?? void 0;
653
661
  if (t.requireUserIdForTracking && !window.UserLeap.userId && !i) {
654
- const v = "[Sprig] - Skipping tracking without userId";
655
- return console.warn(v), { success: !1, message: v, surveyState: "no survey" };
662
+ const b = "[Sprig] - Skipping tracking without userId";
663
+ return console.warn(b), { success: !1, message: b, surveyState: "no survey" };
656
664
  }
657
665
  if (!d || d.trim().length === 0) {
658
666
  d = d ? String(d) : "";
659
- const v = "[Sprig] - Invalid event name " + d;
660
- return console.warn(v), { success: !1, message: v, surveyState: "no survey" };
667
+ const b = "[Sprig] - Invalid event name " + d;
668
+ return console.warn(b), { success: !1, message: b, surveyState: "no survey" };
661
669
  }
662
- const y = Z ?? window.location.href;
663
- a.url || (a.url = y), x("trackStartUrl", y), (h = (U = window.UserLeap) == null ? void 0 : U._config) != null && h.optimizelyEnabled && (ue(F(window.UserLeap)) || ie.getAndSetWebOptimizelyExperiments(), a.optimizelyExperiments = Object.assign({}, ie.getAllOptimizelyExperiments())), (E = (L = window.UserLeap) == null ? void 0 : L._config) != null && E.launchDarklyEnabled && (a.launchDarklyFlags = Ue.getAllLaunchDarklyVariations()), i && (window.UserLeap.userId = i), o && (window.UserLeap.partnerAnonymousId = o), l && (a.eventProperties = l), (O = I.replay) == null || O.RecordEvent({ name: d, url: a.url }), T.info("TrackEvent", { eventName: d });
664
- const g = window.UserLeap.delayingSurvey || ot() ? await C(R("1", [j], "events/batch"), { body: JSON.stringify({ events: [{ event: d, metadata: a }], previewKey: p }), method: "POST", shouldDropOnRateLimit: !0 }) : await C(R("1", [j], "events"), { body: JSON.stringify({ event: d, metadata: a, previewKey: p }), method: "POST", shouldDropOnRateLimit: !0 });
665
- if (!g.ok) {
666
- const v = "[Sprig] (ERR-421) Failed to track event";
667
- return g.reportError && (console.warn(v, g.error), g.error && window.UserLeap.reportError("track", g.error)), { success: !1, message: v, error: g.error, surveyState: "no survey" };
670
+ const m = ee ?? window.location.href;
671
+ a.url || (a.url = m), x("trackStartUrl", m), (f = (L = window.UserLeap) == null ? void 0 : L._config) != null && f.optimizelyEnabled && (ie(T(window.UserLeap)) || oe.getAndSetWebOptimizelyExperiments(), a.optimizelyExperiments = Object.assign({}, oe.getAllOptimizelyExperiments())), (_ = (S = window.UserLeap) == null ? void 0 : S._config) != null && _.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 });
672
+ const u = window.UserLeap.delayingSurvey || dt() ? await C(R("1", [q], "events/batch"), { body: JSON.stringify({ events: [{ event: d, metadata: a }], previewKey: c }), method: "POST", shouldDropOnRateLimit: !0 }) : await C(R("1", [q], "events"), { body: JSON.stringify({ event: d, metadata: a, previewKey: c }), method: "POST", shouldDropOnRateLimit: !0 });
673
+ if (!u.ok) {
674
+ const b = "[Sprig] (ERR-421) Failed to track event";
675
+ return u.reportError && (console.warn(b, u.error), u.error && window.UserLeap.reportError("track", u.error)), { success: !1, message: b, error: u.error, surveyState: "no survey" };
668
676
  }
669
677
  i && x("uid", i), o && x("aid", o);
670
- const m = g.json;
671
- m.invalidPreviewKey && D.removeItem("sprig.previewKey");
672
- const _ = a.trackPageView ? a.url : void 0;
673
- return m != null && m.feedbackButton && dt(m.feedbackButton, void 0, _), await async function(v, k) {
674
- var q, K;
678
+ const y = u.json;
679
+ y.invalidPreviewKey && D.removeItem("sprig.previewKey");
680
+ const I = a.trackPageView ? a.url : void 0;
681
+ return y != null && y.feedbackButton && pt(y.feedbackButton, void 0, I), await async function(b, E) {
682
+ var z, K;
675
683
  let A = !0;
676
- return !(k && ((q = v == null ? void 0 : v.json) != null && q.surveyId) && (window.UserLeap.delayingSurvey = !0, A = await k(v.json.surveyId), window.UserLeap.delayingSurvey = !1, !A)) && ((K = v == null ? void 0 : v.json) != null && K.delay && !window.UserLeap.isMobileSDK && (window.UserLeap.delayingSurvey = !0, await Ze(v.json.delay), window.UserLeap.delayingSurvey = !1), A);
677
- }(g, c) ? function(v) {
684
+ return !(E && ((z = b == null ? void 0 : b.json) != null && z.surveyId) && (window.UserLeap.delayingSurvey = !0, A = await E(b.json.surveyId), window.UserLeap.delayingSurvey = !1, !A)) && ((K = b == null ? void 0 : b.json) != null && K.delay && !window.UserLeap.isMobileSDK && (window.UserLeap.delayingSurvey = !0, await rt(b.json.delay), window.UserLeap.delayingSurvey = !1), A);
685
+ }(u, p) ? function(b) {
678
686
  if (!window.UserLeap._config.dismissOnPageChange)
679
687
  return !0;
680
- const k = new URL(v), A = new URL(Z ?? window.location.href);
681
- return k.hostname === A.hostname && k.pathname === A.pathname;
682
- }(y) ? Y(m, _) : { 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" };
688
+ const E = new URL(b), A = new URL(ee ?? window.location.href);
689
+ return E.hostname === A.hostname && E.pathname === A.pathname;
690
+ }(m) ? X(y, 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" };
683
691
  }, n = (r, i) => {
684
692
  var a;
685
- const o = (a = r == null ? void 0 : r.querySelector(`[id="${xe}"]`)) == null ? void 0 : a.contentDocument;
686
- o && ne({ document: o, elementId: "ul-custom-style", styleString: i });
687
- }, s = { displaySurvey: async (r) => (console.warn("[Sprig] displaySurvey should only be used to debug your studies; not intended for production usage."), window.UserLeap("dismissActiveSurvey", W.Override), he({ surveyId: r }, !0)), _previewSurvey(r) {
688
- window.UserLeap("dismissActiveSurvey", W.Override), he({ surveyTemplateId: r }, !1);
693
+ const o = (a = r == null ? void 0 : r.querySelector(`[id="${Ae}"]`)) == null ? void 0 : a.contentDocument;
694
+ o && se({ document: o, elementId: "ul-custom-style", styleString: i });
695
+ }, s = { displaySurvey: async (r) => (console.warn("[Sprig] displaySurvey should only be used to debug your studies; not intended for production usage."), window.UserLeap("dismissActiveSurvey", W.Override), Ue({ surveyId: r }, !0)), _previewSurvey(r) {
696
+ window.UserLeap("dismissActiveSurvey", W.Override), Ue({ surveyTemplateId: r }, !1);
689
697
  }, _reviewSurvey(r) {
690
- window.UserLeap("dismissActiveSurvey", W.Override), he({ surveyId: r }, !1);
698
+ window.UserLeap("dismissActiveSurvey", W.Override), Ue({ surveyId: r }, !1);
691
699
  }, previewSurvey(r) {
692
700
  s._previewSurvey(r);
693
701
  }, reviewSurvey(r) {
@@ -699,7 +707,7 @@ const Xt = function(t) {
699
707
  }, setVisitorToken() {
700
708
  console.warn("[Sprig] setVisitorToken is deprecated.");
701
709
  }, dismissActiveSurvey(r = W.API) {
702
- window.UserLeap.container && u.emit(w.SurveyWillClose, { name: w.SurveyWillClose, initiator: r, "survey.id": parseInt(window.UserLeap.container.dataset.studyId) });
710
+ window.UserLeap.container && w.emit(g.SurveyWillClose, { name: g.SurveyWillClose, initiator: r, "survey.id": parseInt(window.UserLeap.container.dataset.studyId) });
703
711
  }, async setAttribute(r, i) {
704
712
  if (!r || !i && i !== 0 && i !== !1) {
705
713
  const o = "[Sprig] - Disregarding empty attribute / value provided";
@@ -725,16 +733,16 @@ const Xt = function(t) {
725
733
  return console.warn(d), { success: !1, message: d };
726
734
  }
727
735
  if (a) {
728
- a.email && !a[J] && (a[J] = a.email, delete a.email);
736
+ a.email && !a[Q] && (a[Q] = a.email, delete a.email);
729
737
  const d = Object.keys(a);
730
- for (const p of d)
731
- a[p] === pe[p] && delete a[p];
738
+ for (const c of d)
739
+ a[c] === we[c] && delete a[c];
732
740
  }
733
741
  if (!(a && Object.keys(a).length !== 0 || i && window.UserLeap.userId !== i || o && window.UserLeap.partnerAnonymousId !== o))
734
742
  return { success: !0 };
735
743
  const l = {};
736
- let c;
737
- return i && (l.userId = window.UserLeap.userId = i), o && (l.partnerAnonymousId = window.UserLeap.partnerAnonymousId = o), a && Object.keys(a).length > 0 ? (c = await C(R("1", [M, j], "attributes"), { body: JSON.stringify(a), method: "PUT" }), c.ok ? Object.assign(pe, a) : c.reportError && (console.warn("[Sprig] (ERR-432) identifyAndSetAttributes failed", c.error), c.error && window.UserLeap.reportError("identifyAndSetAttributes", c.error))) : c = await C(R("1", [M, j]), { body: JSON.stringify(l), method: "PUT" }), a && a[J] && (window.UserLeap.email = a[J]), c.ok && (i && x("uid", i), o && x("aid", o)), { success: !!c.ok };
744
+ let p;
745
+ return i && (l.userId = window.UserLeap.userId = i), o && (l.partnerAnonymousId = window.UserLeap.partnerAnonymousId = o), a && Object.keys(a).length > 0 ? (p = await C(R("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(R("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 };
738
746
  }, async removeAttributes(r) {
739
747
  if (window.UserLeap.debugMode && console.info("[DEBUG] Sprig removeAttributes", r), t.mode === "test")
740
748
  return;
@@ -746,18 +754,18 @@ const Xt = function(t) {
746
754
  const o = "[Sprig] - Skipping tracking without userId";
747
755
  return console.warn(o), { success: !1, message: o };
748
756
  }
749
- const i = await C(R("1", [M, j], "attributes"), { body: JSON.stringify({ delete: r }), method: "DELETE" });
757
+ const i = await C(R("1", [F, q], "attributes"), { body: JSON.stringify({ delete: r }), method: "DELETE" });
750
758
  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 };
751
759
  }, async addSurveyListener(r) {
752
- u.on(w.SurveyLifeCycle, r);
760
+ w.on(g.SurveyLifeCycle, r);
753
761
  }, async removeSurveyListener(r) {
754
- u.removeListener(w.SurveyLifeCycle, r);
762
+ w.removeListener(g.SurveyLifeCycle, r);
755
763
  }, async addListener(r, i) {
756
- u.on(r, i);
764
+ w.on(r, i);
757
765
  }, async removeListener(r, i) {
758
- u.removeListener(r, i);
766
+ w.removeListener(r, i);
759
767
  }, async removeAllListeners() {
760
- u.removeAllListeners();
768
+ w.removeAllListeners();
761
769
  }, setPreviewKey(r) {
762
770
  r && typeof r == "string" && D.isStorageAvailable && r && D.setItem("sprig.previewKey", r);
763
771
  }, async setUserId(r) {
@@ -769,8 +777,8 @@ const Xt = function(t) {
769
777
  if (t.mode === "test" || r === window.UserLeap.userId)
770
778
  return;
771
779
  window.UserLeap.userId = r;
772
- const i = window.UserLeap.visitorId, o = await C(R("1", [M, j]), { body: JSON.stringify({ userId: r }), method: "PUT" });
773
- o.ok ? (i !== window.UserLeap.visitorId && ((a = I.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));
780
+ const i = window.UserLeap.visitorId, o = await C(R("1", [F, q]), { body: JSON.stringify({ userId: r }), method: "PUT" });
781
+ 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));
774
782
  }, async setPartnerAnonymousId(r) {
775
783
  if (window.UserLeap.debugMode && console.info("[DEBUG] Sprig setPartnerAnonymousId", r), r == null) {
776
784
  const i = `[Sprig] - Invalid partnerAnonymousId ${r}`;
@@ -778,29 +786,31 @@ const Xt = function(t) {
778
786
  }
779
787
  return window.UserLeap.partnerAnonymousId = r, x("aid", r), { success: !0 };
780
788
  }, track: async (r, i, o = {}, a = void 0) => e({ eventName: r, properties: i, metadata: o, showSurveyCallback: a }), identifyAndTrack: async (r) => await e(r), trackPageView(r, i = void 0, o = void 0, a = !0) {
781
- Z = r, ft(r, i, o, a);
789
+ ee = r, bt(r, i, o, a);
782
790
  }, applyFeedbackStyles({ button: r = "", view: i = "" }) {
783
- window.UserLeap.feedbackCustomStyles = i, document.getElementById("sprig-feedback-style") && ne({ document, elementId: "ul-custom-style", styleString: r, nonce: window.UserLeap.styleNonce }), n(document.querySelector(".ul-container-feedback"), i);
791
+ window.UserLeap.feedbackCustomStyles = i, document.getElementById("sprig-feedback-style") && se({ document, elementId: "ul-custom-style", styleString: r, nonce: window.UserLeap.styleNonce }), n(document.querySelector(".ul-container-feedback"), i);
784
792
  }, applyStyles(r) {
785
793
  window.UserLeap.customStyles = r, n(window.UserLeap.container, r);
786
794
  }, setWindowDimensions(r, i) {
787
- var c, d;
795
+ var m, u;
788
796
  const o = typeof r == "string" ? parseInt(r, 10) : r, a = typeof i == "string" ? parseInt(i, 10) : i;
789
- if (isNaN(o) || isNaN(a) || (window.UserLeap.windowDimensions = { width: o, height: a }), !window.UserLeap.frameId)
797
+ isNaN(o) || isNaN(a) || (window.UserLeap.windowDimensions = { width: o, height: a });
798
+ const l = T(window.UserLeap), p = ge(l), d = l["userleap-platform"] === "web";
799
+ if (!window.UserLeap.frameId)
790
800
  return;
791
- const l = document.getElementById(window.UserLeap.frameId);
792
- l && (window.UserLeap.useMobileStyling && ((c = window.UserLeap.windowDimensions) != null && c.width && (l.style.width = `${window.UserLeap.windowDimensions.width}px`), (d = window.UserLeap.windowDimensions) != null && d.height && (l.style.maxHeight = window.UserLeap.windowDimensions.height - 20 + "px"), l.contentDocument && (l.style.height = String(Ft(l.contentDocument)[0]) + "px")), u.emit(w.SurveyDimensions, { name: w.SurveyDimensions, contentFrameWidth: l.clientWidth, contentFrameHeight: l.clientHeight, "survey.id": parseInt(window.UserLeap.container.dataset.studyId) }));
801
+ const c = document.getElementById(window.UserLeap.frameId);
802
+ c && (window.UserLeap.useMobileStyling && ((m = window.UserLeap.windowDimensions) != null && m.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) }));
793
803
  }, logoutUser() {
794
804
  var r;
795
- window.UserLeap.debugMode && console.info("[DEBUG] Sprig logout"), T.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(), yt(), (r = I.replay) == null || r.clearUserReplayData(), window.UserLeap._queue.unpause();
805
+ 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();
796
806
  }, teardown() {
797
- ["hashchange", "popstate"].forEach((r) => window.removeEventListener(r, ee, !0)), window.UserLeap._config.interactiveEvents && gt(), window.UserLeap("dismissActiveSurvey", W.API), delete window.UserLeap, delete window.Sprig, delete window._Sprig;
807
+ ["hashchange", "popstate"].forEach((r) => window.removeEventListener(r, te, !0)), window.UserLeap._config.interactiveEvents && ft(), window.UserLeap("dismissActiveSurvey", W.API), delete window.UserLeap, delete window.Sprig, delete window._Sprig;
798
808
  }, integrateOptimizely(r, i = !0) {
799
809
  var o, a;
800
810
  if ((a = (o = window.UserLeap) == null ? void 0 : o._config) != null && a.optimizelyEnabled)
801
811
  try {
802
812
  const l = typeof r == "string" ? JSON.parse(r) : r;
803
- ie.setOptimizelyExperiment(l, i);
813
+ oe.setOptimizelyExperiment(l, i);
804
814
  } catch (l) {
805
815
  console.warn("[Sprig] Error with integrating Optimizely data"), l instanceof Error && window.UserLeap.reportError("integrateOptimizely", l);
806
816
  }
@@ -811,13 +821,13 @@ const Xt = function(t) {
811
821
  if (!((o = (i = window.UserLeap) == null ? void 0 : i._config) != null && o.optimizelyEnabled))
812
822
  return void console.warn("[SPRIG] Optimizely integration is currently not enabled for your product.");
813
823
  r.notificationCenter.addNotificationListener("ACTIVATE:experiment, user_id,attributes, variation, event", ({ experiment: a, variation: l }) => {
814
- const c = { experiments: [{ id: a.id, variation: l.key }] };
815
- window.UserLeap("integrateOptimizely", c, !1);
824
+ const p = { experiments: [{ id: a.id, variation: l.key }] };
825
+ window.UserLeap("integrateOptimizely", p, !1);
816
826
  });
817
827
  }, importLaunchDarklyData(r) {
818
828
  var i, o;
819
- (o = (i = window.UserLeap) == null ? void 0 : i._config) != null && o.launchDarklyEnabled ? Ue.setLDFlagsVariations(r) : console.warn("[SPRIG] LaunchDarkly integration is currently not enabled for your product.");
820
- }, setVisitorAttribute: (r, i) => (console.warn("[Sprig] setVisitorAttribute is deprecated. Please use setAttribute"), s.setAttribute(r, i)), setEmail: async (r) => s.setAttribute(J, r), setVisitorEmail: async (r) => (console.warn("[Sprig] setVisitorEmail is deprecated. Please use setEmail"), s.setEmail(r)), _generateVideoUploadUrl: async (r) => async function(i) {
829
+ (o = (i = window.UserLeap) == null ? void 0 : i._config) != null && o.launchDarklyEnabled ? ke.setLDFlagsVariations(r) : console.warn("[SPRIG] LaunchDarkly integration is currently not enabled for your product.");
830
+ }, setVisitorAttribute: (r, i) => (console.warn("[Sprig] setVisitorAttribute is deprecated. Please use setAttribute"), s.setAttribute(r, i)), setEmail: async (r) => s.setAttribute(Q, r), setVisitorEmail: async (r) => (console.warn("[Sprig] setVisitorEmail is deprecated. Please use setEmail"), s.setEmail(r)), _generateVideoUploadUrl: async (r) => async function(i) {
821
831
  var a;
822
832
  if (!i)
823
833
  return;
@@ -825,8 +835,8 @@ const Xt = function(t) {
825
835
  try {
826
836
  const l = await fetch(o, { method: "POST", cache: "no-cache", headers: { "Content-Type": "application/json" }, body: JSON.stringify(i) });
827
837
  if (l.ok) {
828
- const c = await l.json();
829
- return (a = c == null ? void 0 : c.upload) == null ? void 0 : a.url;
838
+ const p = await l.json();
839
+ return (a = p == null ? void 0 : p.upload) == null ? void 0 : a.url;
830
840
  }
831
841
  return null;
832
842
  } catch (l) {
@@ -836,32 +846,32 @@ const Xt = function(t) {
836
846
  Dt(r, i);
837
847
  }, _completeSessionReplay: async ({ surveyId: r, responseGroupUuid: i, eventDigest: o }) => {
838
848
  var a;
839
- return I.replay ? (a = I.replay) == null ? void 0 : a._completeSessionReplay({ surveyId: r, responseGroupUuid: i, eventDigest: o, headers: F(window.UserLeap) }) : (window.UserLeap.reportError("_completeSessionReplay", new Error("Replay module not registered")), !1);
849
+ 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);
840
850
  } };
841
851
  Object.assign(window.UserLeap, s);
842
852
  };
843
- async function Zt(t, e, n = {}, s = {}) {
844
- const r = window.__cfg && window.__cfg.mode, i = Ee(), 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: Z ?? window.location.href, language: window.navigator.language, ...n }, c = { action: t, breadcrumbs: T.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 };
845
- (await C(R("1", null, "errors"), { method: "POST", headers: { "x-ul-error": window.btoa(`userleap-${Date.now()}-error`) }, body: JSON.stringify(c), shouldDropOnRateLimit: !0 })).ok || console.warn("[Sprig] (ERR-444) Failed to report error to API", e);
853
+ async function Xt(t, e, n = {}, s = {}) {
854
+ 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 };
855
+ (await C(R("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);
846
856
  }
847
- function er(t = {}) {
857
+ function Zt(t = {}) {
848
858
  var s;
849
859
  (s = window.SprigLoggerCallback) == null || s.call(window, "Initializing Sprig");
850
860
  const e = new URLSearchParams(window.location.search).get("sprigPreviewKey") ?? "";
851
861
  async function n() {
852
- var p, y, g, m, _;
862
+ var c, m, u, y, I;
853
863
  if (window.UserLeap.loaded)
854
864
  return;
855
- if ((p = window.SprigLoggerCallback) == null || p.call(window, "Loading Sprig"), window.UserLeap.reportError = Zt, 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")
856
- for (const b in window.UserLeap._config)
857
- window.UserLeap[b] = window.UserLeap._config[b];
865
+ if ((c = window.SprigLoggerCallback) == null || c.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")
866
+ for (const h in window.UserLeap._config)
867
+ window.UserLeap[h] = window.UserLeap._config[h];
858
868
  if (!window.UserLeap.envId) {
859
869
  if (!window.UserLeap.appId)
860
870
  throw new Error("Missing Environment id");
861
871
  window.UserLeap.envId = window.UserLeap.appId;
862
872
  }
863
873
  window.UserLeap.debugMode && console.info("[DEBUG] Sprig debug mode enabled");
864
- const r = mt(), i = window.UserLeap.sampleRate;
874
+ const r = vt(), i = window.UserLeap.sampleRate;
865
875
  let o = r.sampled;
866
876
  if (i) {
867
877
  if (o === null && (o = Math.random() < i, x("sampled", o)), !o)
@@ -870,38 +880,38 @@ function er(t = {}) {
870
880
  o !== null && x("sampled", null);
871
881
  window.UserLeap._API_URL || (window.UserLeap._API_URL = "https://api.sprig.com");
872
882
  const a = [...window.UserLeap._queue];
873
- window.UserLeap._queue = new Wt(window.UserLeap, []), window.UserLeap._queue.pause();
874
- for (let b = 0; b < a.length; b++)
875
- window.UserLeap._queue.push(a[b]);
883
+ window.UserLeap._queue = new zt(window.UserLeap, []), window.UserLeap._queue.pause();
884
+ for (let h = 0; h < a.length; h++)
885
+ window.UserLeap._queue.push(a[h]);
876
886
  const l = r.token;
877
- l ? (window.UserLeap.token = l, window.UserLeap.visitorId = r.vid ?? null, window.UserLeap.userId = r.uid ?? null, window.UserLeap.partnerAnonymousId = r.aid ?? null) : yt();
878
- const c = ue(F(window.UserLeap));
879
- (y = window.SprigLoggerCallback) == null || y.call(window, "Sprig fetching config");
880
- const d = await async function(b) {
881
- var E, O;
882
- const U = F(window.UserLeap);
883
- document.addEventListener("securitypolicyviolation", Me);
884
- const h = await Qe(R("1", [M], "config"), { headers: U });
885
- if (document.removeEventListener("securitypolicyviolation", Me), !h.ok)
886
- return (E = window.SprigLoggerCallback) == null || E.call(window, "Sprig config fetch failed"), h.reportError && (console.warn("[Sprig] (ERR-422) Failed to load configuration", h.error), h.error && window.UserLeap.reportError("applyRemoteConfig", h.error)), Fe("Disabled: failed to fetch configuration"), b;
887
- const L = h.json;
888
- return L != null && L.disabled ? ((O = window.SprigLoggerCallback) == null || O.call(window, "Sprig config fetch disabled"), Fe(`Disabled: ${L.disabled}`), { disabled: L.disabled }) : Object.assign({}, L, b);
887
+ l ? (window.UserLeap.token = l, window.UserLeap.visitorId = r.vid ?? null, window.UserLeap.userId = r.uid ?? null, window.UserLeap.partnerAnonymousId = r.aid ?? null) : ht();
888
+ const p = ie(T(window.UserLeap));
889
+ (m = window.SprigLoggerCallback) == null || m.call(window, "Sprig fetching config");
890
+ const d = await async function(h) {
891
+ var _, O;
892
+ const L = T(window.UserLeap);
893
+ document.addEventListener("securitypolicyviolation", Fe);
894
+ const f = await Xe(R("1", [F], "config"), { headers: L });
895
+ if (document.removeEventListener("securitypolicyviolation", Fe), !f.ok)
896
+ return (_ = window.SprigLoggerCallback) == null || _.call(window, "Sprig config fetch failed"), f.reportError && (console.warn("[Sprig] (ERR-422) Failed to load configuration", f.error), f.error && window.UserLeap.reportError("applyRemoteConfig", f.error)), ze("Disabled: failed to fetch configuration"), h;
897
+ const S = f.json;
898
+ return S != null && S.disabled ? ((O = window.SprigLoggerCallback) == null || O.call(window, "Sprig config fetch disabled"), ze(`Disabled: ${S.disabled}`), { disabled: S.disabled }) : Object.assign({}, S, h);
889
899
  }(t);
890
- (g = window.SprigLoggerCallback) == null || g.call(window, "Sprig fetched config"), $t({ isWeb: !c, reportingIntervalSeconds: d.metricsReportingEnabled || d.mobileMetricsReportingEnabled ? d.metricsReportingIntervalSeconds : 0, thresholds: d.metricThresholds, postMetrics: async (b) => {
891
- var U;
892
- await C(R("1", [M], "metrics"), { body: b, method: "POST", headers: { "x-ul-replay-enabled": `${!!((U = I.replay) != null && U.isReplayRecording())}` }, shouldDropOnRateLimit: !0 });
893
- } }), await ((m = I.replay) == null ? void 0 : m.initializeReplay({ maxReplayDurationSeconds: d.maxReplayDurationSeconds, maxInflightRequests: window.UserLeap.maxInflightReplayRequests ?? 2, replaySettings: d.replaySettings })), Xt(d), await Yt(d), window.UserLeap._queue.unpause(), (_ = window.SprigLoggerCallback) == null || _.call(window, "SdkReady"), u.emit(w.SDKReady, { mobileMetricsReportingEnabled: !!d.mobileMetricsReportingEnabled, metricsReportingInterval: d.metricsReportingIntervalSeconds || 0, metricsThresholds: d.metricThresholds || [], maxMobileReplayDurationSeconds: d.maxMobileReplayDurationSeconds, mobileReplaySettings: d.mobileReplaySettings }), u.emit(w.VisitorIDUpdated, { visitorId: window.UserLeap.visitorId }), u.on(w.VisitorIDUpdated, () => {
894
- for (const b in pe)
895
- delete pe[b];
900
+ (u = window.SprigLoggerCallback) == null || u.call(window, "Sprig fetched config"), Bt({ isWeb: !p, reportingIntervalSeconds: d.metricsReportingEnabled || d.mobileMetricsReportingEnabled ? d.metricsReportingIntervalSeconds : 0, thresholds: d.metricThresholds, postMetrics: async (h) => {
901
+ var L;
902
+ await C(R("1", [F], "metrics"), { body: h, method: "POST", headers: { "x-ul-replay-enabled": `${!!((L = k.replay) != null && L.isReplayRecording())}` }, shouldDropOnRateLimit: !0 });
903
+ } }), await ((y = k.replay) == null ? void 0 : y.initializeReplay({ maxReplayDurationSeconds: d.maxReplayDurationSeconds, maxInflightRequests: window.UserLeap.maxInflightReplayRequests ?? 2, replaySettings: d.replaySettings })), Yt(d), await Qt(d), window.UserLeap._queue.unpause(), (I = window.SprigLoggerCallback) == null || I.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, () => {
904
+ for (const h in we)
905
+ delete we[h];
896
906
  });
897
907
  }
898
- window.UserLeap.UPDATES = te, window.UserLeap("setPreviewKey", e), document.readyState === "complete" ? n() : window.attachEvent ? window.attachEvent("onload", n) : window.addEventListener("load", () => {
908
+ window.UserLeap.UPDATES = re, window.UserLeap("setPreviewKey", e), document.readyState === "complete" ? n() : window.attachEvent ? window.attachEvent("onload", n) : window.addEventListener("load", () => {
899
909
  n();
900
910
  }, !1);
901
911
  }
902
- class ke {
912
+ class xe {
903
913
  constructor() {
904
- this.UPDATES = te;
914
+ this.UPDATES = re;
905
915
  }
906
916
  displaySurvey(e) {
907
917
  window.Sprig("displaySurvey", e);
@@ -967,31 +977,31 @@ class ke {
967
977
  window.Sprig("teardown");
968
978
  }
969
979
  }
970
- const Je = { configure: (t) => {
980
+ const Ye = { configure: (t) => {
971
981
  if (!t.envId && !t.environmentId)
972
982
  throw new Error("Initialization Error: Sprig configure requires an environmentId");
973
983
  if (t.envId || (t.envId = t.environmentId ?? ""), t.installationMethod = "web-npm", window.Sprig)
974
984
  return window.Sprig;
975
985
  window.Sprig = function() {
976
986
  window.Sprig._queue.push(arguments);
977
- }, Object.getOwnPropertyNames(ke.prototype).map((n) => {
978
- n !== "constructor" && (window.Sprig[n] = ke.prototype[n]);
987
+ }, Object.getOwnPropertyNames(xe.prototype).map((n) => {
988
+ n !== "constructor" && (window.Sprig[n] = xe.prototype[n]);
979
989
  });
980
990
  const e = window.Sprig;
981
- return e.appId = t.envId, e._queue = [], window.UserLeap = e, er(t), window.Sprig;
982
- } }, dr = { sprig: Je, SprigAPI: ke, configure: Je.configure };
991
+ return e.appId = t.envId, e._queue = [], window.UserLeap = e, Zt(t), window.Sprig;
992
+ } }, dr = { sprig: Ye, SprigAPI: xe, configure: Ye.configure };
983
993
  export {
984
994
  ir as A,
985
- Rt as C,
986
- At as D,
995
+ At as C,
996
+ rr as D,
987
997
  sr as E,
988
- ke as S,
989
- Ft as a,
998
+ xe as S,
999
+ Mt as a,
990
1000
  or as b,
991
1001
  dr as c,
992
1002
  nr as d,
993
- ne as e,
994
- $ as i,
1003
+ se as e,
1004
+ j as i,
995
1005
  ar as r,
996
- Je as s
1006
+ Ye as s
997
1007
  };