gather-vue 8.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -0
- package/dist/.htaccess +1 -0
- package/dist/App-B7KWoHRH.js +160 -0
- package/dist/App-B7KWoHRH.js.gz +0 -0
- package/dist/App-C03tW0-W.js +405 -0
- package/dist/App-C03tW0-W.js.gz +0 -0
- package/dist/BannerExample-CRj1iMwh.js +77 -0
- package/dist/BannerExample-CRj1iMwh.js.gz +0 -0
- package/dist/BannerExample-DLN6d9M0.js +84 -0
- package/dist/BannerExample-DLN6d9M0.js.gz +0 -0
- package/dist/CallToAction-BbJ-zDFa.js +3493 -0
- package/dist/CallToAction-BbJ-zDFa.js.gz +0 -0
- package/dist/CallToAction-jAi8aaI-.js +35 -0
- package/dist/CallToAction-jAi8aaI-.js.gz +0 -0
- package/dist/Card-B1Pdd5BL.js +202 -0
- package/dist/Card-B1Pdd5BL.js.gz +0 -0
- package/dist/Card-qMo1jrfb.js +699 -0
- package/dist/Card-qMo1jrfb.js.gz +0 -0
- package/dist/CloseCardButton-CL_3xkAF.js +71 -0
- package/dist/CloseCardButton-CL_3xkAF.js.gz +0 -0
- package/dist/Editor-DXSZFkEM.js +149 -0
- package/dist/Editor-DXSZFkEM.js.gz +0 -0
- package/dist/EmailExistsView-CX1ijN0R.js +72 -0
- package/dist/EmailExistsView-CX1ijN0R.js.gz +0 -0
- package/dist/EmailInvitation-BVFicmrK.js +22 -0
- package/dist/EmailView-DdaSnKFq.js +84 -0
- package/dist/EmailView-DdaSnKFq.js.gz +0 -0
- package/dist/FriendBannerExample-C8QmPZyP.js +76 -0
- package/dist/FriendBannerExample-C8QmPZyP.js.gz +0 -0
- package/dist/FriendConfirmation-B-RemAoP.js +22 -0
- package/dist/FriendForm-CunLFX_H.js +255 -0
- package/dist/FriendForm-CunLFX_H.js.gz +0 -0
- package/dist/FriendOptIn-bp4udUYv.js +27 -0
- package/dist/FriendPending-cFjgyL8g.js +22 -0
- package/dist/FriendPitch-BhSs2eLR.js +19 -0
- package/dist/FriendPitch-CAS1c3Co.js +33 -0
- package/dist/FriendSuccess-uxEdomAY.js +22 -0
- package/dist/Invitations-hprUCIvW.js +27 -0
- package/dist/InviteRoot-Dima8d2G.js +252 -0
- package/dist/InviteRoot-Dima8d2G.js.gz +0 -0
- package/dist/LaunchButton-BQw42WVn.js +18 -0
- package/dist/MazBtn.1qp5aQ4N-DU0ii1Xr.js +103 -0
- package/dist/MazBtn.1qp5aQ4N-DU0ii1Xr.js.gz +0 -0
- package/dist/MazCheckbox.UAnkvAoS-pse3PCQf.js +149 -0
- package/dist/MazCheckbox.UAnkvAoS-pse3PCQf.js.gz +0 -0
- package/dist/MazIcon.B5hPzeLk-C20gse35.js +103 -0
- package/dist/MazIcon.B5hPzeLk-C20gse35.js.gz +0 -0
- package/dist/MazPhoneNumberInput-Cz50Ts4U.js +4751 -0
- package/dist/MazPhoneNumberInput-Cz50Ts4U.js.gz +0 -0
- package/dist/MazSpinner.DZT5jj-c-y1IYJMcd.js +34 -0
- package/dist/MazSpinner.DZT5jj-c-y1IYJMcd.js.gz +0 -0
- package/dist/Menu-BsKr40BO.js +21377 -0
- package/dist/Menu-BsKr40BO.js.gz +0 -0
- package/dist/Message-D4PAgcHO.js +22 -0
- package/dist/MessageCard-CC74qCir.js +74 -0
- package/dist/MessageCard-CC74qCir.js.gz +0 -0
- package/dist/MessageView-BKAIrwj7.js +88 -0
- package/dist/MessageView-BKAIrwj7.js.gz +0 -0
- package/dist/PendingApprovalCard-Dzs0UxBO.js +48 -0
- package/dist/PendingApprovalCard-Dzs0UxBO.js.gz +0 -0
- package/dist/PendingApprovalView-V-OUYSnK.js +33 -0
- package/dist/ReferralButton-CEue5qud.js +18 -0
- package/dist/ReferralFailedView-3Ua13t4V.js +74 -0
- package/dist/ReferralFailedView-3Ua13t4V.js.gz +0 -0
- package/dist/ReferredConfirmCard-iwgkcZCm.js +48 -0
- package/dist/ReferredConfirmCard-iwgkcZCm.js.gz +0 -0
- package/dist/ReferredConfirmView-DS1RNBwP.js +33 -0
- package/dist/ReferredSuccessCard-Dg-a4FYr.js +209 -0
- package/dist/ReferredSuccessCard-Dg-a4FYr.js.gz +0 -0
- package/dist/ReferredSuccessView-ChVztlUr.js +33 -0
- package/dist/ReferredView-7HezoVIA.js +98 -0
- package/dist/ReferredView-7HezoVIA.js.gz +0 -0
- package/dist/RewardCard-CwU2X2Yo.js +197 -0
- package/dist/RewardCard-CwU2X2Yo.js.gz +0 -0
- package/dist/Rewards-DdyEwCyy.js +27 -0
- package/dist/RewardsRoot-CnQfyjC6.js +198 -0
- package/dist/RewardsRoot-CnQfyjC6.js.gz +0 -0
- package/dist/Root-bUfnZpPP.js +17 -0
- package/dist/ShareInvitation-SAgC-8YA.js +22 -0
- package/dist/SignIn-CroW3mY6.js +36 -0
- package/dist/SignIn-CroW3mY6.js.gz +0 -0
- package/dist/SignIn-g32Hg2or.js +17 -0
- package/dist/SignInTextArea-DBRk6x09.js +17 -0
- package/dist/SignUpFormCard-Cail4V4M.js +287 -0
- package/dist/SignUpFormCard-Cail4V4M.js.gz +0 -0
- package/dist/SignUpView-a7LPgEeX.js +368 -0
- package/dist/SignUpView-a7LPgEeX.js.gz +0 -0
- package/dist/SignUpView-uujOX5hN.js +103 -0
- package/dist/SignUpView-uujOX5hN.js.gz +0 -0
- package/dist/SocialView-CbBZTB7Z.js +87 -0
- package/dist/SocialView-CbBZTB7Z.js.gz +0 -0
- package/dist/Stats-DtS-GXsI.js +22 -0
- package/dist/StatsView-fX-VznRc.js +90 -0
- package/dist/StatsView-fX-VznRc.js.gz +0 -0
- package/dist/Success-k06CZz0K.js +40 -0
- package/dist/Success-k06CZz0K.js.gz +0 -0
- package/dist/SuccessCard-C1iF1j2W.js +219 -0
- package/dist/SuccessCard-C1iF1j2W.js.gz +0 -0
- package/dist/SuccessView-CDUVkpSQ.js +77 -0
- package/dist/SuccessView-CDUVkpSQ.js.gz +0 -0
- package/dist/TextArea-DFfa9A93.js +17 -0
- package/dist/TextAreaCard-D_VfEHME.js +34 -0
- package/dist/TextAreaCard-D_VfEHME.js.gz +0 -0
- package/dist/UserView-DnD929IT.js +96 -0
- package/dist/UserView-DnD929IT.js.gz +0 -0
- package/dist/WhatsAppShare-B40Ouvds.js +59 -0
- package/dist/WhatsAppShare-B40Ouvds.js.gz +0 -0
- package/dist/agent-session-Xh6dZlhc.js +298 -0
- package/dist/agent-session-Xh6dZlhc.js.gz +0 -0
- package/dist/aggregate-base-C6N8Ymd5.js +830 -0
- package/dist/aggregate-base-C6N8Ymd5.js.gz +0 -0
- package/dist/bel-serializer-DMbFBZ6U.js +51 -0
- package/dist/bel-serializer-DMbFBZ6U.js.gz +0 -0
- package/dist/browser-q7cvfJ-2.js +366 -0
- package/dist/browser-q7cvfJ-2.js.gz +0 -0
- package/dist/cart.js +5 -0
- package/dist/cart.js.gz +0 -0
- package/dist/check.C9Q_W85g-DmgtOx7Q.js +30 -0
- package/dist/chevron-down.BkvtON3b-RNrTKYcy.js +30 -0
- package/dist/content-5VAQ1vQ0.js +4 -0
- package/dist/event-origin-BSW5uum9.js +13 -0
- package/dist/examples.mobile.json.tW3aL0qI-tW3aL0qI.js +4 -0
- package/dist/examples.mobile.json.tW3aL0qI-tW3aL0qI.js.gz +0 -0
- package/dist/eye-slash.BoO00xzs-CULY_lvM.js +30 -0
- package/dist/eye.f8zAUc30-Yr89kafZ.js +43 -0
- package/dist/eye.f8zAUc30-Yr89kafZ.js.gz +0 -0
- package/dist/favicon.ico +0 -0
- package/dist/first-paint-B61SrVKm.js +453 -0
- package/dist/first-paint-B61SrVKm.js.gz +0 -0
- package/dist/gather-vue.css +5 -0
- package/dist/gather-vue.css.gz +0 -0
- package/dist/gather-widget.es.js +5 -0
- package/dist/gather-widget.umd.js +263 -0
- package/dist/gather-widget.umd.js.gz +0 -0
- package/dist/gather_widget.css +58 -0
- package/dist/gather_widget.css.gz +0 -0
- package/dist/gather_widget.js +72 -0
- package/dist/gather_widget.js.gz +0 -0
- package/dist/iframe-BELrOJ1p.js +6 -0
- package/dist/index-3lvNtPTE.js +327 -0
- package/dist/index-3lvNtPTE.js.gz +0 -0
- package/dist/index-BDyGxL1x.js +255 -0
- package/dist/index-BDyGxL1x.js.gz +0 -0
- package/dist/index-BF9haAFD.js +343 -0
- package/dist/index-BF9haAFD.js.gz +0 -0
- package/dist/index-BMIST_QA.js +128 -0
- package/dist/index-BMIST_QA.js.gz +0 -0
- package/dist/index-BdWnMhAc.js +235 -0
- package/dist/index-BdWnMhAc.js.gz +0 -0
- package/dist/index-BioZsJbf.js +190 -0
- package/dist/index-BioZsJbf.js.gz +0 -0
- package/dist/index-BzOcD8v-.js +166 -0
- package/dist/index-BzOcD8v-.js.gz +0 -0
- package/dist/index-C8pB9mUQ.js +147 -0
- package/dist/index-C8pB9mUQ.js.gz +0 -0
- package/dist/index-C_ougoWd.js +426 -0
- package/dist/index-C_ougoWd.js.gz +0 -0
- package/dist/index-CoRlIGDo.js +513 -0
- package/dist/index-CoRlIGDo.js.gz +0 -0
- package/dist/index-CyWBxUBS.js +291 -0
- package/dist/index-CyWBxUBS.js.gz +0 -0
- package/dist/index-DijQHge7.js +325 -0
- package/dist/index-DijQHge7.js.gz +0 -0
- package/dist/magnifying-glass.-nBiyXot-CuA_mltt.js +30 -0
- package/dist/main-DPldah1M.js +40243 -0
- package/dist/main-DPldah1M.js.gz +0 -0
- package/dist/nav-timing-B-TNQpyK.js +31 -0
- package/dist/nav-timing-B-TNQpyK.js.gz +0 -0
- package/dist/no-photography.BJX8HSus-BJX8HSus.js +4 -0
- package/dist/no-symbol.CIgKzsrB-3PuxVsDY.js +30 -0
- package/dist/recorder-PHZWRV-S.js +8271 -0
- package/dist/recorder-PHZWRV-S.js.gz +0 -0
- package/dist/stylesheet-evaluator-B4P289vW.js +86 -0
- package/dist/stylesheet-evaluator-B4P289vW.js.gz +0 -0
- package/dist/time-to-first-byte-kiwh1xjs.js +29 -0
- package/dist/traverse-Bw4y1x4D.js +8 -0
- package/dist/type-check-Bp684oBR.js +6 -0
- package/package.json +89 -0
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
var q = Object.defineProperty;
|
|
2
|
+
var T = (e) => {
|
|
3
|
+
throw TypeError(e);
|
|
4
|
+
};
|
|
5
|
+
var K = (e, t, r) => t in e ? q(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
|
|
6
|
+
var O = (e, t, r) => K(e, typeof t != "symbol" ? t + "" : t, r), Y = (e, t, r) => t.has(e) || T("Cannot " + r);
|
|
7
|
+
var M = (e, t, r) => t.has(e) ? T("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r);
|
|
8
|
+
var I = (e, t, r) => (Y(e, t, "access private method"), r);
|
|
9
|
+
import { j as J, x as H, d as _, t as v, y as w, r as V, z as X, B as D, v as G, D as A } from "./main-DPldah1M.js";
|
|
10
|
+
import { c as P, A as Q } from "./aggregate-base-C6N8Ymd5.js";
|
|
11
|
+
import { a as Z } from "./traverse-Bw4y1x4D.js";
|
|
12
|
+
const x = /([a-z0-9]+)$/i;
|
|
13
|
+
function ee(e) {
|
|
14
|
+
if (!e) return;
|
|
15
|
+
const t = e.match(x);
|
|
16
|
+
if (t) return t[1];
|
|
17
|
+
}
|
|
18
|
+
var te = /^\n+|\n+$/g, F = 65530;
|
|
19
|
+
function re(e) {
|
|
20
|
+
return se(e).replace(te, "");
|
|
21
|
+
}
|
|
22
|
+
function se(e) {
|
|
23
|
+
var t;
|
|
24
|
+
if (e.length > 100) {
|
|
25
|
+
var r = e.length - 100;
|
|
26
|
+
t = e.slice(0, 50).join(`
|
|
27
|
+
`), t += `
|
|
28
|
+
< ...truncated ` + r + ` lines... >
|
|
29
|
+
`, t += e.slice(-50).join(`
|
|
30
|
+
`);
|
|
31
|
+
} else
|
|
32
|
+
t = e.join(`
|
|
33
|
+
`);
|
|
34
|
+
return t;
|
|
35
|
+
}
|
|
36
|
+
function ne(e) {
|
|
37
|
+
return e.length > F ? e.substr(0, F) : e;
|
|
38
|
+
}
|
|
39
|
+
function z(e) {
|
|
40
|
+
if (typeof e != "string") return "";
|
|
41
|
+
const t = P(e), r = P(J);
|
|
42
|
+
return t === r ? "<inline>" : t;
|
|
43
|
+
}
|
|
44
|
+
var ae = /function (.+?)\s*\(/, ie = /^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i, oe = /^\s*(?:(\S*|global code)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i, ce = /^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i, ue = /^\s*at Function code \(Function code:\d+:\d+\)\s*/i;
|
|
45
|
+
function fe(e) {
|
|
46
|
+
var t = null;
|
|
47
|
+
try {
|
|
48
|
+
if (t = le(e), t)
|
|
49
|
+
return t;
|
|
50
|
+
} catch {
|
|
51
|
+
}
|
|
52
|
+
try {
|
|
53
|
+
if (t = pe(e), t)
|
|
54
|
+
return t;
|
|
55
|
+
} catch {
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
if (t = me(e), t)
|
|
59
|
+
return t;
|
|
60
|
+
} catch {
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
mode: "failed",
|
|
64
|
+
stackString: "",
|
|
65
|
+
frames: []
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
function le(e) {
|
|
69
|
+
if (!e.stack)
|
|
70
|
+
return null;
|
|
71
|
+
var t = e.stack.split(`
|
|
72
|
+
`).reduce(he, {
|
|
73
|
+
frames: [],
|
|
74
|
+
stackLines: [],
|
|
75
|
+
wrapperSeen: !1
|
|
76
|
+
});
|
|
77
|
+
return t.frames.length ? {
|
|
78
|
+
mode: "stack",
|
|
79
|
+
name: e.name || R(e),
|
|
80
|
+
message: e.message,
|
|
81
|
+
stackString: re(t.stackLines),
|
|
82
|
+
frames: t.frames
|
|
83
|
+
} : null;
|
|
84
|
+
}
|
|
85
|
+
function he(e, t) {
|
|
86
|
+
let r = de(t);
|
|
87
|
+
if (!r)
|
|
88
|
+
return e.stackLines.push(t), e;
|
|
89
|
+
if (ge(r.func) && (e.wrapperSeen = !0), !e.wrapperSeen) {
|
|
90
|
+
let s = z(r.url);
|
|
91
|
+
s !== r.url && (t = t.replace(r.url, s), r.url = s), e.stackLines.push(t), e.frames.push(r);
|
|
92
|
+
}
|
|
93
|
+
return e;
|
|
94
|
+
}
|
|
95
|
+
function de(e) {
|
|
96
|
+
var t = e.match(oe);
|
|
97
|
+
if (t || (t = e.match(ie)), t)
|
|
98
|
+
return {
|
|
99
|
+
url: t[2],
|
|
100
|
+
func: t[1] !== "Anonymous function" && t[1] !== "global code" && t[1] || null,
|
|
101
|
+
line: +t[3],
|
|
102
|
+
column: t[4] ? +t[4] : null
|
|
103
|
+
};
|
|
104
|
+
if (e.match(ce) || e.match(ue) || e === "anonymous")
|
|
105
|
+
return {
|
|
106
|
+
func: "evaluated code"
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function pe(e) {
|
|
110
|
+
if (!("line" in e)) return null;
|
|
111
|
+
var t = e.name || R(e);
|
|
112
|
+
if (!e.sourceURL)
|
|
113
|
+
return {
|
|
114
|
+
mode: "sourceline",
|
|
115
|
+
name: t,
|
|
116
|
+
message: e.message,
|
|
117
|
+
stackString: t + ": " + e.message + `
|
|
118
|
+
in evaluated code`,
|
|
119
|
+
frames: [{
|
|
120
|
+
func: "evaluated code"
|
|
121
|
+
}]
|
|
122
|
+
};
|
|
123
|
+
var r = z(e.sourceURL), s = t + ": " + e.message + `
|
|
124
|
+
at ` + r;
|
|
125
|
+
return e.line && (s += ":" + e.line, e.column && (s += ":" + e.column)), {
|
|
126
|
+
mode: "sourceline",
|
|
127
|
+
name: t,
|
|
128
|
+
message: e.message,
|
|
129
|
+
stackString: s,
|
|
130
|
+
frames: [{
|
|
131
|
+
url: r,
|
|
132
|
+
line: e.line,
|
|
133
|
+
column: e.column
|
|
134
|
+
}]
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
function me(e) {
|
|
138
|
+
var t = e.name || R(e);
|
|
139
|
+
return t ? {
|
|
140
|
+
mode: "nameonly",
|
|
141
|
+
name: t,
|
|
142
|
+
message: e.message,
|
|
143
|
+
stackString: t + ": " + e.message,
|
|
144
|
+
frames: []
|
|
145
|
+
} : null;
|
|
146
|
+
}
|
|
147
|
+
function R(e) {
|
|
148
|
+
var t = ae.exec(String(e.constructor));
|
|
149
|
+
return t && t.length > 1 ? t[1] : "unknown";
|
|
150
|
+
}
|
|
151
|
+
function ge(e) {
|
|
152
|
+
return e && e.indexOf("nrWrapper") >= 0;
|
|
153
|
+
}
|
|
154
|
+
function E(e) {
|
|
155
|
+
var t = 0, r;
|
|
156
|
+
if (!e || !e.length) return t;
|
|
157
|
+
for (var s = 0; s < e.length; s++)
|
|
158
|
+
r = e.charCodeAt(s), t = (t << 5) - t + r, t = t | 0;
|
|
159
|
+
return t;
|
|
160
|
+
}
|
|
161
|
+
const L = "Rrweb", B = "Security-Policy";
|
|
162
|
+
function ve(e, t, r) {
|
|
163
|
+
var d, h, c, p;
|
|
164
|
+
const s = {
|
|
165
|
+
shouldSwallow: t || !1,
|
|
166
|
+
reason: r || "Other"
|
|
167
|
+
}, n = (d = e.frames) == null ? void 0 : d[0];
|
|
168
|
+
if (!n || typeof (e == null ? void 0 : e.message) != "string") return s;
|
|
169
|
+
const i = (h = n == null ? void 0 : n.url) == null ? void 0 : h.match(/nr-(.*)-recorder.min.js/), f = (c = n == null ? void 0 : n.url) == null ? void 0 : c.match(/rrweb/), o = (p = n == null ? void 0 : n.url) == null ? void 0 : p.match(/recorder/), l = e.message.toLowerCase().match(/an attempt was made to break through the security policy of the user agent/);
|
|
170
|
+
return i || f ? (s.shouldSwallow = !0, s.reason = L, l && (s.reason += "-" + B)) : o && l && (s.shouldSwallow = !0, s.reason = L + "-" + B), s;
|
|
171
|
+
}
|
|
172
|
+
var S, N;
|
|
173
|
+
class Se extends Q {
|
|
174
|
+
constructor(r) {
|
|
175
|
+
super(r, H);
|
|
176
|
+
M(this, S);
|
|
177
|
+
this.stackReported = {}, this.observedAt = {}, this.pageviewReported = {}, this.bufferedErrorsUnderSpa = {}, this.errorOnPage = !1, this.ee.on("interactionDone", (s, n) => this.onInteractionDone(s, n)), _("err", (...s) => this.storeError(...s), this.featureName, this.ee), _("ierr", (...s) => this.storeError(...s), this.featureName, this.ee), _("softNavFlush", (s, n, i) => this.onSoftNavNotification(s, n, i), this.featureName, this.ee), this.harvestOpts.aggregatorTypes = ["err", "ierr", "xhr"], this.waitForFlags(["err"]).then(([s]) => {
|
|
178
|
+
s ? this.drain() : (this.blocked = !0, this.deregisterDrain());
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
serializer(r) {
|
|
182
|
+
return Z(r, this.obfuscator.obfuscateString.bind(this.obfuscator), "string");
|
|
183
|
+
}
|
|
184
|
+
queryStringsBuilder(r) {
|
|
185
|
+
var i, f, o, l;
|
|
186
|
+
const s = {}, n = v(this.agentRef.runtime.releaseIds);
|
|
187
|
+
return n !== "{}" && (s.ri = n), (i = r == null ? void 0 : r.err) != null && i.length && (this.errorOnPage || (s.pve = "1", this.errorOnPage = !0), (l = (o = (f = this.agentRef.features) == null ? void 0 : f[w.sessionReplay]) == null ? void 0 : o.featAggregate) != null && l.replayIsActive() || r.err.forEach((d) => delete d.params.hasReplay)), s;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Builds a standardized stack trace string from the frames in the given `stackInfo` object, with each frame separated
|
|
191
|
+
* by a newline character. Lines take the form `<functionName>@<url>:<lineNumber>`.
|
|
192
|
+
*
|
|
193
|
+
* @param {StackInfo} stackInfo - An object specifying a stack string and individual frames.
|
|
194
|
+
* @returns {string} A canonical stack string built from the URLs and function names in the given `stackInfo` object.
|
|
195
|
+
*/
|
|
196
|
+
buildCanonicalStackString(r) {
|
|
197
|
+
for (var s = "", n = 0; n < r.frames.length; n++) {
|
|
198
|
+
var i = r.frames[n], f = ee(i.func);
|
|
199
|
+
s && (s += `
|
|
200
|
+
`), f && (s += f + "@"), typeof i.url == "string" && (s += i.url), i.line && (s += ":" + i.line);
|
|
201
|
+
}
|
|
202
|
+
return s;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
*
|
|
206
|
+
* @param {Error|UncaughtError} err The error instance to be processed
|
|
207
|
+
* @param {number} time the relative ms (to origin) timestamp of occurence
|
|
208
|
+
* @param {boolean=} internal if the error was "caught" and deemed "internal" before reporting to the jserrors feature
|
|
209
|
+
* @param {object=} customAttributes any custom attributes to be included in the error payload
|
|
210
|
+
* @param {boolean=} hasReplay a flag indicating if the error occurred during a replay session
|
|
211
|
+
* @param {string=} swallowReason a string indicating pre-defined reason if swallowing the error. Mainly used by the internal error SMs.
|
|
212
|
+
* @param {object=} target the target to buffer and harvest to, if undefined the default configuration target is used
|
|
213
|
+
* @returns
|
|
214
|
+
*/
|
|
215
|
+
storeError(r, s, n, i, f, o, l) {
|
|
216
|
+
var y, k, U, j, C;
|
|
217
|
+
if (!r) return;
|
|
218
|
+
const d = this.agentRef.runtime.entityManager.get(l);
|
|
219
|
+
if (!d) return V(56, this.featureName);
|
|
220
|
+
s = s || X();
|
|
221
|
+
let h;
|
|
222
|
+
if (!n && this.agentRef.runtime.onerror && (h = this.agentRef.runtime.onerror(r), h && !(typeof h.group == "string" && h.group.length)))
|
|
223
|
+
return;
|
|
224
|
+
var c = fe(r);
|
|
225
|
+
const {
|
|
226
|
+
shouldSwallow: p,
|
|
227
|
+
reason: m
|
|
228
|
+
} = ve(c, n, o);
|
|
229
|
+
if (p) {
|
|
230
|
+
this.reportSupportabilityMetric("Internal/Error/" + m);
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
var b = this.buildCanonicalStackString(c);
|
|
234
|
+
const a = {
|
|
235
|
+
stackHash: E(b),
|
|
236
|
+
exceptionClass: c.name,
|
|
237
|
+
request_uri: (y = D) == null ? void 0 : y.location.pathname
|
|
238
|
+
};
|
|
239
|
+
c.message && (a.message = "" + c.message), h != null && h.group && (a.errorGroup = h.group), f && G(d, this.agentRef) && (a.hasReplay = f);
|
|
240
|
+
var u = E("".concat(c.name, "_").concat(c.message, "_").concat(c.stackString, "_").concat(a.hasReplay ? 1 : 0));
|
|
241
|
+
this.stackReported[u] ? a.browser_stack_hash = E(c.stackString) : (this.stackReported[u] = !0, a.stack_trace = ne(c.stackString), this.observedAt[u] = Math.floor(this.agentRef.runtime.timeKeeper.correctRelativeTimestamp(s))), a.releaseIds = v(this.agentRef.runtime.releaseIds), this.pageviewReported[u] || (a.pageview = 1, this.pageviewReported[u] = !0), a.firstOccurrenceTimestamp = this.observedAt[u], a.timestamp = Math.floor(this.agentRef.runtime.timeKeeper.correctRelativeTimestamp(s));
|
|
242
|
+
var $ = "err", W = {
|
|
243
|
+
time: s
|
|
244
|
+
};
|
|
245
|
+
const g = [$, u, a, W, i];
|
|
246
|
+
this.shouldAllowMainAgentToCapture(l) && A("trace-jserror", g, void 0, w.sessionTrace, this.ee), !this.blocked && ((k = r == null ? void 0 : r.__newrelic) != null && k[this.agentIdentifier] && (a._interactionId = r.__newrelic[this.agentIdentifier].interactionId, a._interactionNodeId = r.__newrelic[this.agentIdentifier].interactionNodeId), this.shouldAllowMainAgentToCapture(l) && (!!((U = this.agentRef.features) != null && U[w.softNav]) ? A("jserror", [a, s], void 0, w.softNav, this.ee) : A("spa-jserror", g, void 0, w.spa, this.ee), a.browserInteractionId && !a._softNavFinished ? ((j = this.bufferedErrorsUnderSpa)[C = a.browserInteractionId] ?? (j[C] = []), this.bufferedErrorsUnderSpa[a.browserInteractionId].push(g)) : a._interactionId != null ? (this.bufferedErrorsUnderSpa[a._interactionId] = this.bufferedErrorsUnderSpa[a._interactionId] || [], this.bufferedErrorsUnderSpa[a._interactionId].push(g)) : I(this, S, N).call(this, g, a.browserInteractionId !== void 0, a._softNavAttributes)), l && I(this, S, N).call(this, [...g, l], !1, a._softNavAttributes));
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* If the event lacks an entityGuid (the default behavior), the main agent should capture the data. If the data is assigned to a sub-entity target
|
|
250
|
+
* the main agent should not capture events unless it is configured to do so.
|
|
251
|
+
* @param {string} entityGuid - the context object for the event
|
|
252
|
+
* @returns {boolean} - whether the main agent should capture the event to its internal target
|
|
253
|
+
*/
|
|
254
|
+
shouldAllowMainAgentToCapture(r) {
|
|
255
|
+
return !r || this.agentRef.init.api.duplicate_registered_data;
|
|
256
|
+
}
|
|
257
|
+
// TO-DO: Remove this function when old spa is taken out. #storeJserrorForHarvest handles the work with the softnav feature.
|
|
258
|
+
onInteractionDone(r, s) {
|
|
259
|
+
!this.bufferedErrorsUnderSpa[r.id] || this.blocked || (this.bufferedErrorsUnderSpa[r.id].forEach((n) => {
|
|
260
|
+
var i = {};
|
|
261
|
+
const f = n[4];
|
|
262
|
+
Object.entries(r.root.attrs.custom || {}).forEach(c), Object.entries(f || {}).forEach(c);
|
|
263
|
+
var o = n[2];
|
|
264
|
+
s && (o.browserInteractionId = r.root.attrs.id, o._interactionNodeId && (o.parentNodeId = o._interactionNodeId.toString())), delete o._interactionId, delete o._interactionNodeId;
|
|
265
|
+
var l = s ? n[1] + r.root.attrs.id : n[1], d = E(v(i)), h = l + ":" + d;
|
|
266
|
+
this.events.add([n[0], h, o, n[3], i], n[5]);
|
|
267
|
+
function c([p, m]) {
|
|
268
|
+
i[p] = m && typeof m == "object" ? v(m) : m;
|
|
269
|
+
}
|
|
270
|
+
}), delete this.bufferedErrorsUnderSpa[r.id]);
|
|
271
|
+
}
|
|
272
|
+
onSoftNavNotification(r, s, n) {
|
|
273
|
+
var i;
|
|
274
|
+
this.blocked || ((i = this.bufferedErrorsUnderSpa[r]) == null || i.forEach(
|
|
275
|
+
(f) => I(this, S, N).call(this, f, s, n)
|
|
276
|
+
), delete this.bufferedErrorsUnderSpa[r]);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
S = new WeakSet(), N = function(r, s, n = {}) {
|
|
280
|
+
let [i, f, o, l, d, h] = r;
|
|
281
|
+
const c = {};
|
|
282
|
+
s ? (Object.entries(n).forEach(([a, u]) => b(a, u)), f += o.browserInteractionId, delete o._softNavAttributes, delete o._softNavFinished) : (Object.entries(this.agentRef.info.jsAttributes).forEach(([a, u]) => b(a, u)), delete o.browserInteractionId), d && Object.entries(d).forEach(([a, u]) => b(a, u));
|
|
283
|
+
const p = E(v(c)), m = f + ":" + p;
|
|
284
|
+
this.events.add([i, m, o, l, c], h);
|
|
285
|
+
function b(a, u) {
|
|
286
|
+
c[a] = u && typeof u == "object" ? v(u) : u;
|
|
287
|
+
}
|
|
288
|
+
}, O(Se, "featureName", H);
|
|
289
|
+
export {
|
|
290
|
+
Se as Aggregate
|
|
291
|
+
};
|
|
Binary file
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
var q = Object.defineProperty;
|
|
2
|
+
var L = (a) => {
|
|
3
|
+
throw TypeError(a);
|
|
4
|
+
};
|
|
5
|
+
var G = (a, n, t) => n in a ? q(a, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : a[n] = t;
|
|
6
|
+
var o = (a, n, t) => G(a, typeof n != "symbol" ? n + "" : n, t), j = (a, n, t) => n.has(a) || L("Cannot " + t);
|
|
7
|
+
var b = (a, n, t) => n.has(a) ? L("Cannot add the same private member more than once") : n instanceof WeakSet ? n.add(a) : n.set(a, t);
|
|
8
|
+
var f = (a, n, t) => (j(a, n, "access private method"), t);
|
|
9
|
+
import { aX as x, O as Y, j as J, aY as m, aZ as O, B as E, z as U, a_ as A, a$ as N, b0 as v, d as u, b1 as C, D as g, y as T, aO as D } from "./main-DPldah1M.js";
|
|
10
|
+
import { t as W } from "./time-to-first-byte-kiwh1xjs.js";
|
|
11
|
+
import { c as P, A as X } from "./aggregate-base-C6N8Ymd5.js";
|
|
12
|
+
import { g as F, n as h, a as l, b as H } from "./bel-serializer-DMbFBZ6U.js";
|
|
13
|
+
import { n as w } from "./nav-timing-B-TNQpyK.js";
|
|
14
|
+
import { f as V, a as Z } from "./first-paint-B61SrVKm.js";
|
|
15
|
+
let $ = 0;
|
|
16
|
+
class _ {
|
|
17
|
+
constructor(n) {
|
|
18
|
+
o(this, "belType");
|
|
19
|
+
/** List of other BelNode derivatives. Each children should be of a subclass that implements its own 'serialize' function. */
|
|
20
|
+
o(this, "children", []);
|
|
21
|
+
o(this, "start");
|
|
22
|
+
o(this, "end");
|
|
23
|
+
o(this, "callbackEnd", 0);
|
|
24
|
+
o(this, "callbackDuration", 0);
|
|
25
|
+
o(this, "nodeId", ++$);
|
|
26
|
+
this.obfuscator = n.runtime.obfuscator, this.info = n.info;
|
|
27
|
+
}
|
|
28
|
+
addChild(n) {
|
|
29
|
+
this.children.push(n);
|
|
30
|
+
}
|
|
31
|
+
/** Virtual fn for stringifying an instance. */
|
|
32
|
+
serialize() {
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
class K extends _ {
|
|
36
|
+
constructor(n, t) {
|
|
37
|
+
super(n), this.belType = x.AJAX, this.method = t.method, this.status = t.status, this.domain = t.domain, this.path = t.path, this.txSize = t.requestSize, this.rxSize = t.responseSize, this.requestedWith = t.type === "fetch" ? 1 : "", this.spanId = t.spanId, this.traceId = t.traceId, this.spanTimestamp = t.spanTimestamp, this.gql = t.gql, this.start = t.startTime, this.end = t.endTime;
|
|
38
|
+
}
|
|
39
|
+
serialize(n) {
|
|
40
|
+
const t = F(this.obfuscator), i = [], e = [
|
|
41
|
+
h(this.belType),
|
|
42
|
+
0,
|
|
43
|
+
// this will be overwritten below with number of attached nodes
|
|
44
|
+
h(this.start - n),
|
|
45
|
+
// start relative to parent start (if part of first node in payload) or first parent start
|
|
46
|
+
h(this.end - this.start),
|
|
47
|
+
// end is relative to start
|
|
48
|
+
h(this.callbackEnd),
|
|
49
|
+
h(this.callbackDuration),
|
|
50
|
+
t(this.method),
|
|
51
|
+
h(this.status),
|
|
52
|
+
t(this.domain),
|
|
53
|
+
t(this.path),
|
|
54
|
+
h(this.txSize),
|
|
55
|
+
h(this.rxSize),
|
|
56
|
+
this.requestedWith,
|
|
57
|
+
t(this.nodeId),
|
|
58
|
+
l(this.spanId, t, !0) + l(this.traceId, t, !0) + l(this.spanTimestamp, h)
|
|
59
|
+
];
|
|
60
|
+
let s = [];
|
|
61
|
+
return typeof this.gql == "object" && (s = H(this.gql, t)), this.children.forEach((r) => s.push(r.serialize())), e[1] = h(s.length), i.push(e), s.length && i.push(s.join(";")), i.join(";");
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
var I, R, S;
|
|
65
|
+
class y extends _ {
|
|
66
|
+
constructor(t, i, e, s, r) {
|
|
67
|
+
var d;
|
|
68
|
+
super(t);
|
|
69
|
+
b(this, I);
|
|
70
|
+
o(this, "id", Y());
|
|
71
|
+
// unique id that is serialized and used to link interactions with errors
|
|
72
|
+
o(this, "initialPageURL", J);
|
|
73
|
+
o(this, "customName");
|
|
74
|
+
o(this, "customAttributes", {});
|
|
75
|
+
o(this, "customDataByApi", {});
|
|
76
|
+
o(this, "queueTime");
|
|
77
|
+
// only used by initialPageLoad interactions
|
|
78
|
+
o(this, "appTime");
|
|
79
|
+
// only used by initialPageLoad interactions
|
|
80
|
+
o(this, "newRoute");
|
|
81
|
+
/** Internal state of this interaction: in-progress, finished, or cancelled. */
|
|
82
|
+
o(this, "status", m.IP);
|
|
83
|
+
o(this, "domTimestamp", 0);
|
|
84
|
+
o(this, "historyTimestamp", 0);
|
|
85
|
+
o(this, "createdByApi", !1);
|
|
86
|
+
o(this, "keepOpenUntilEndApi", !1);
|
|
87
|
+
o(this, "onDone", []);
|
|
88
|
+
o(this, "cancellationTimer");
|
|
89
|
+
this.belType = x.INTERACTION, this.trigger = i, this.start = e, this.oldRoute = s, this.eventSubscription = /* @__PURE__ */ new Map([["finished", []], ["cancelled", []]]), this.forceSave = this.forceIgnore = !1, this.trigger === O && (this.createdByApi = !0), this.newURL = this.oldURL = r || ((d = E) == null ? void 0 : d.location.href);
|
|
90
|
+
}
|
|
91
|
+
updateDom(t) {
|
|
92
|
+
this.domTimestamp = t || U();
|
|
93
|
+
}
|
|
94
|
+
updateHistory(t, i) {
|
|
95
|
+
var e;
|
|
96
|
+
this.newURL = i || "" + ((e = E) == null ? void 0 : e.location), this.historyTimestamp = t || U();
|
|
97
|
+
}
|
|
98
|
+
seenHistoryAndDomChange() {
|
|
99
|
+
return this.historyTimestamp > 0 && this.domTimestamp > this.historyTimestamp;
|
|
100
|
+
}
|
|
101
|
+
on(t, i) {
|
|
102
|
+
if (!this.eventSubscription.has(t)) throw new Error("Cannot subscribe to non pre-defined events.");
|
|
103
|
+
if (typeof i != "function") throw new Error("Must supply function as callback.");
|
|
104
|
+
this.eventSubscription.get(t).push(i);
|
|
105
|
+
}
|
|
106
|
+
done(t) {
|
|
107
|
+
return this.keepOpenUntilEndApi && t === void 0 ? !1 : (this.status !== m.IP || (this.onDone.forEach((i) => i(this.customDataByApi)), this.forceIgnore ? f(this, I, S).call(this) : this.seenHistoryAndDomChange() ? f(this, I, R).call(this, t) : this.forceSave ? f(this, I, R).call(this, t || performance.now()) : f(this, I, S).call(this)), !0);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Given a timestamp, determine if it falls within this interaction's span, i.e. if this was the active interaction during that time.
|
|
111
|
+
* For in-progress interactions, this only compares the time with the start of span. Cancelled interactions are not considered active at all.
|
|
112
|
+
* @param {DOMHighResTimeStamp} timestamp
|
|
113
|
+
* @returns True or false boolean.
|
|
114
|
+
*/
|
|
115
|
+
isActiveDuring(t) {
|
|
116
|
+
return this.status === m.IP ? this.start <= t : this.status === m.FIN && this.start <= t && this.end > t;
|
|
117
|
+
}
|
|
118
|
+
// Following are virtual properties overridden by a subclass:
|
|
119
|
+
get firstPaint() {
|
|
120
|
+
}
|
|
121
|
+
get firstContentfulPaint() {
|
|
122
|
+
}
|
|
123
|
+
get navTiming() {
|
|
124
|
+
}
|
|
125
|
+
serialize(t) {
|
|
126
|
+
const i = t === void 0, e = F(this.obfuscator), s = [];
|
|
127
|
+
let r;
|
|
128
|
+
this.trigger === A ? r = N.INITIAL_PAGE_LOAD : this.newURL !== this.oldURL ? r = N.ROUTE_CHANGE : r = N.UNSPECIFIED;
|
|
129
|
+
const d = [
|
|
130
|
+
h(this.belType),
|
|
131
|
+
0,
|
|
132
|
+
// this will be overwritten below with number of attached nodes
|
|
133
|
+
h(this.start - (i ? 0 : t)),
|
|
134
|
+
// the very 1st ixn does not require offset so it should fallback to a 0 while rest is offset by the very 1st ixn's start
|
|
135
|
+
h(this.end - this.start),
|
|
136
|
+
// end -- relative to start
|
|
137
|
+
h(this.callbackEnd),
|
|
138
|
+
// cbEnd -- relative to start; not used by BrowserInteraction events
|
|
139
|
+
h(this.callbackDuration),
|
|
140
|
+
// not relative
|
|
141
|
+
e(this.trigger),
|
|
142
|
+
e(P(this.initialPageURL, !0)),
|
|
143
|
+
e(P(this.oldURL, !0)),
|
|
144
|
+
e(P(this.newURL, !0)),
|
|
145
|
+
e(this.customName),
|
|
146
|
+
r,
|
|
147
|
+
l(this.queueTime, h, !0) + l(this.appTime, h, !0) + l(this.oldRoute, e, !0) + l(this.newRoute, e, !0) + e(this.id),
|
|
148
|
+
e(this.nodeId),
|
|
149
|
+
l(this.firstPaint, h, !0) + l(this.firstContentfulPaint, h)
|
|
150
|
+
], c = H(this.customAttributes || {}, e);
|
|
151
|
+
return this.info.atts && c.push("a," + e(this.info.atts)), this.children.forEach((k) => c.push(k.serialize(i ? this.start : t))), d[1] = h(c.length), s.push(d), c.length && s.push(c.join(";")), this.navTiming ? s.push(this.navTiming) : s.push(""), s.join(";");
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
I = new WeakSet(), R = function(t = 0) {
|
|
155
|
+
clearTimeout(this.cancellationTimer), this.end = Math.max(this.domTimestamp, this.historyTimestamp, t), this.customAttributes = {
|
|
156
|
+
...this.info.jsAttributes,
|
|
157
|
+
...this.customAttributes
|
|
158
|
+
}, this.status = m.FIN, this.eventSubscription.get("finished").forEach((e) => e());
|
|
159
|
+
}, S = function() {
|
|
160
|
+
clearTimeout(this.cancellationTimer), this.status = m.CAN, this.eventSubscription.get("cancelled").forEach((i) => i());
|
|
161
|
+
};
|
|
162
|
+
class Q extends y {
|
|
163
|
+
constructor(n) {
|
|
164
|
+
super(n, A, 0, null), this.queueTime = n.info.queueTime, this.appTime = n.info.applicationTime, this.oldURL = document.referrer;
|
|
165
|
+
}
|
|
166
|
+
get firstPaint() {
|
|
167
|
+
return V.current.value;
|
|
168
|
+
}
|
|
169
|
+
get firstContentfulPaint() {
|
|
170
|
+
return Z.current.value;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Build the navTiming node. This assumes the navTimingValues array in nav-timing.js has already been filled with values via the PageViewEvent feature having
|
|
174
|
+
* executed the addPT function first and foremost.
|
|
175
|
+
*/
|
|
176
|
+
get navTiming() {
|
|
177
|
+
if (!w.length) return;
|
|
178
|
+
let n = ",", t = "b", i = 0;
|
|
179
|
+
return w.slice(1, 21).forEach((e) => {
|
|
180
|
+
e !== void 0 ? (t += n + h(e - i), n = ",", i = e) : (t += n + "!", n = "");
|
|
181
|
+
}), t;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
var p, M, z, B;
|
|
185
|
+
class tt extends X {
|
|
186
|
+
constructor(t, {
|
|
187
|
+
domObserver: i
|
|
188
|
+
}) {
|
|
189
|
+
super(t, v);
|
|
190
|
+
b(this, p);
|
|
191
|
+
this.interactionsToHarvest = this.events, this.domObserver = i, this.initialPageLoadInteraction = new Q(t), this.initialPageLoadInteraction.onDone.push(() => {
|
|
192
|
+
var s;
|
|
193
|
+
(s = t.runtime.session) != null && s.isNew && (this.initialPageLoadInteraction.customAttributes.isFirstOfSession = !0), this.initialPageLoadInteraction.forceSave = !0;
|
|
194
|
+
const e = this.initialPageLoadInteraction;
|
|
195
|
+
this.interactionsToHarvest.add(e), this.initialPageLoadInteraction = null;
|
|
196
|
+
}), W.subscribe(({
|
|
197
|
+
attrs: e
|
|
198
|
+
}) => {
|
|
199
|
+
const s = e.navigationEntry.loadEventEnd;
|
|
200
|
+
this.initialPageLoadInteraction.done(s), this.reportSupportabilityMetric("SoftNav/Interaction/InitialPageLoad/Duration/Ms", Math.round(s));
|
|
201
|
+
}), this.latestRouteSetByApi = null, this.interactionInProgress = null, this.latestHistoryUrl = null, this.harvestOpts.beforeUnload = () => {
|
|
202
|
+
var e;
|
|
203
|
+
return (e = this.interactionInProgress) == null ? void 0 : e.done();
|
|
204
|
+
}, this.waitForFlags(["spa"]).then(([e]) => {
|
|
205
|
+
e ? (this.drain(), setTimeout(() => t.runtime.harvester.triggerHarvestFor(this), 0)) : (this.blocked = !0, this.deregisterDrain());
|
|
206
|
+
}), u("newUIEvent", (e) => this.startUIInteraction(e.type, Math.floor(e.timeStamp), e.target), this.featureName, this.ee), u("newURL", (e, s) => {
|
|
207
|
+
var r;
|
|
208
|
+
this.latestHistoryUrl = s, (r = this.interactionInProgress) == null || r.updateHistory(e, s);
|
|
209
|
+
}, this.featureName, this.ee), u("newDom", (e) => {
|
|
210
|
+
var s, r;
|
|
211
|
+
(s = this.interactionInProgress) == null || s.updateDom(e), (r = this.interactionInProgress) != null && r.seenHistoryAndDomChange() && this.interactionInProgress.done();
|
|
212
|
+
}, this.featureName, this.ee), f(this, p, B).call(this), u("ajax", f(this, p, M).bind(this), this.featureName, this.ee), u("jserror", f(this, p, z).bind(this), this.featureName, this.ee);
|
|
213
|
+
}
|
|
214
|
+
serializer(t) {
|
|
215
|
+
let i;
|
|
216
|
+
const e = [];
|
|
217
|
+
for (const s of t)
|
|
218
|
+
e.push(s.serialize(i)), i === void 0 && (i = Math.floor(s.start));
|
|
219
|
+
return "bel.7;".concat(e.join(";"));
|
|
220
|
+
}
|
|
221
|
+
startUIInteraction(t, i, e) {
|
|
222
|
+
var r, d;
|
|
223
|
+
if ((r = this.interactionInProgress) != null && r.createdByApi || ((d = this.interactionInProgress) == null ? void 0 : d.done()) === !1) return;
|
|
224
|
+
const s = t === C[3] ? this.latestHistoryUrl : void 0;
|
|
225
|
+
if (this.interactionInProgress = new y(this.agentRef, t, i, this.latestRouteSetByApi, s), t === C[0]) {
|
|
226
|
+
const c = et(e);
|
|
227
|
+
c && (this.interactionInProgress.customAttributes.actionText = c);
|
|
228
|
+
}
|
|
229
|
+
this.interactionInProgress.cancellationTimer = setTimeout(() => {
|
|
230
|
+
this.interactionInProgress.done(), this.reportSupportabilityMetric("SoftNav/Interaction/TimeOut");
|
|
231
|
+
}, 3e4), this.setClosureHandlers();
|
|
232
|
+
}
|
|
233
|
+
setClosureHandlers() {
|
|
234
|
+
this.interactionInProgress.on("finished", () => {
|
|
235
|
+
const t = this.interactionInProgress;
|
|
236
|
+
this.interactionsToHarvest.add(this.interactionInProgress), this.interactionInProgress = null, this.domObserver.disconnect(), this.reportSupportabilityMetric("SoftNav/Interaction/".concat(t.newURL !== t.oldURL ? "RouteChange" : "Custom", "/Duration/Ms"), Math.round(t.end - t.start));
|
|
237
|
+
}), this.interactionInProgress.on("cancelled", () => {
|
|
238
|
+
this.interactionInProgress = null, this.domObserver.disconnect();
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Find the active interaction (current or past) for a given timestamp. Note that historic lookups mostly only go as far back as the last harvest for this feature.
|
|
243
|
+
* Also, the caller should check the status of the interaction returned if found via {@link Interaction.status}, if that's pertinent.
|
|
244
|
+
* TIP: Cancelled (status) interactions are NOT returned!
|
|
245
|
+
* IMPORTANT: Finished interactions are in queue for next harvest! It's highly recommended that consumer logic be synchronous for safe reference.
|
|
246
|
+
* @param {DOMHighResTimeStamp} timestamp
|
|
247
|
+
* @returns An {@link Interaction} or undefined, if no active interaction was found.
|
|
248
|
+
*/
|
|
249
|
+
getInteractionFor(t) {
|
|
250
|
+
var s, r;
|
|
251
|
+
if ((s = this.interactionInProgress) != null && s.isActiveDuring(t)) return this.interactionInProgress;
|
|
252
|
+
let i;
|
|
253
|
+
const [{
|
|
254
|
+
data: e
|
|
255
|
+
}] = this.interactionsToHarvest.get();
|
|
256
|
+
for (let d = e.length - 1; d >= 0; d--) {
|
|
257
|
+
const c = e[d];
|
|
258
|
+
if (c.isActiveDuring(t)) {
|
|
259
|
+
if (c.trigger !== A) return c;
|
|
260
|
+
i = c;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
if (i) return i;
|
|
264
|
+
if ((r = this.initialPageLoadInteraction) != null && r.isActiveDuring(t)) return this.initialPageLoadInteraction;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
p = new WeakSet(), /**
|
|
268
|
+
* Handles or redirect ajax event based on the interaction, if any, that it's tied to.
|
|
269
|
+
* @param {Object} event see Ajax feature's storeXhr function for object definition
|
|
270
|
+
*/
|
|
271
|
+
M = function(t) {
|
|
272
|
+
const i = this.getInteractionFor(t.startTime);
|
|
273
|
+
i ? i.status === m.FIN ? e(this.agentRef, t, i) : (i.on("finished", () => e(this.agentRef, t, i)), i.on("cancelled", () => g("returnAjax", [t], void 0, T.ajax, this.ee))) : g("returnAjax", [t], void 0, T.ajax, this.ee);
|
|
274
|
+
function e(s, r, d) {
|
|
275
|
+
const c = new K(s, r);
|
|
276
|
+
d.addChild(c);
|
|
277
|
+
}
|
|
278
|
+
}, /**
|
|
279
|
+
* Decorate the passed-in params obj with properties relating to any associated interaction at the time of the timestamp.
|
|
280
|
+
* @param {Object} params reference to the local var instance in Jserrors feature's storeError
|
|
281
|
+
* @param {DOMHighResTimeStamp} timestamp time the jserror occurred
|
|
282
|
+
*/
|
|
283
|
+
z = function(t, i) {
|
|
284
|
+
const e = this.getInteractionFor(i);
|
|
285
|
+
e && (t.browserInteractionId = e.id, e.status === m.FIN ? (t._softNavFinished = !0, t._softNavAttributes = e.customAttributes) : (e.on("finished", D(() => g("softNavFlush", [e.id, !0, e.customAttributes], void 0, T.jserrors, this.ee))), e.on("cancelled", D(() => g("softNavFlush", [e.id, !1, void 0], void 0, T.jserrors, this.ee)))));
|
|
286
|
+
}, B = function() {
|
|
287
|
+
const t = "api-ixn-", i = this;
|
|
288
|
+
u(t + "get", function(e, {
|
|
289
|
+
waitForEnd: s
|
|
290
|
+
} = {}) {
|
|
291
|
+
var r;
|
|
292
|
+
this.associatedInteraction = i.getInteractionFor(e), ((r = this.associatedInteraction) == null ? void 0 : r.trigger) === A && (this.associatedInteraction = null), this.associatedInteraction || (this.associatedInteraction = i.interactionInProgress = new y(i.agentRef, O, e, i.latestRouteSetByApi), i.domObserver.observe(document.body, {
|
|
293
|
+
attributes: !0,
|
|
294
|
+
childList: !0,
|
|
295
|
+
subtree: !0,
|
|
296
|
+
characterData: !0
|
|
297
|
+
}), i.setClosureHandlers()), s === !0 && (this.associatedInteraction.keepOpenUntilEndApi = !0);
|
|
298
|
+
}, i.featureName, i.ee), u(t + "end", function(e) {
|
|
299
|
+
this.associatedInteraction.done(e);
|
|
300
|
+
}, i.featureName, i.ee), u(t + "save", function() {
|
|
301
|
+
this.associatedInteraction.forceSave = !0;
|
|
302
|
+
}, i.featureName, i.ee), u(t + "ignore", function() {
|
|
303
|
+
this.associatedInteraction.forceIgnore = !0;
|
|
304
|
+
}, i.featureName, i.ee), u(t + "getContext", function(e, s) {
|
|
305
|
+
typeof s == "function" && setTimeout(() => s(this.associatedInteraction.customDataByApi), 0);
|
|
306
|
+
}, i.featureName, i.ee), u(t + "onEnd", function(e, s) {
|
|
307
|
+
typeof s == "function" && this.associatedInteraction.onDone.push(s);
|
|
308
|
+
}, i.featureName, i.ee), u(t + "actionText", function(e, s) {
|
|
309
|
+
s && (this.associatedInteraction.customAttributes.actionText = s);
|
|
310
|
+
}, i.featureName, i.ee), u(t + "setName", function(e, s, r) {
|
|
311
|
+
s && (this.associatedInteraction.customName = s), r && (this.associatedInteraction.trigger = r);
|
|
312
|
+
}, i.featureName, i.ee), u(t + "setAttribute", function(e, s, r) {
|
|
313
|
+
this.associatedInteraction.customAttributes[s] = r;
|
|
314
|
+
}, i.featureName, i.ee), u(t + "routeName", function(e, s) {
|
|
315
|
+
i.latestRouteSetByApi = s, i.interactionInProgress && (i.interactionInProgress.newRoute = s);
|
|
316
|
+
}, i.featureName, i.ee);
|
|
317
|
+
}, o(tt, "featureName", v);
|
|
318
|
+
function et(a) {
|
|
319
|
+
const n = a.tagName.toLowerCase();
|
|
320
|
+
if (["a", "button", "input"].includes(n))
|
|
321
|
+
return a.title || a.value || a.innerText;
|
|
322
|
+
}
|
|
323
|
+
export {
|
|
324
|
+
tt as Aggregate
|
|
325
|
+
};
|
|
Binary file
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createElementBlock as o, openBlock as r, createElementVNode as t } from "vue";
|
|
2
|
+
const n = {
|
|
3
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
4
|
+
width: "1em",
|
|
5
|
+
height: "1em",
|
|
6
|
+
fill: "none",
|
|
7
|
+
viewBox: "0 0 24 24"
|
|
8
|
+
};
|
|
9
|
+
function l(i, e) {
|
|
10
|
+
return r(), o("svg", n, e[0] || (e[0] = [
|
|
11
|
+
t(
|
|
12
|
+
"path",
|
|
13
|
+
{
|
|
14
|
+
stroke: "currentColor",
|
|
15
|
+
"stroke-linecap": "round",
|
|
16
|
+
"stroke-linejoin": "round",
|
|
17
|
+
"stroke-width": "1.5",
|
|
18
|
+
d: "m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607"
|
|
19
|
+
},
|
|
20
|
+
null,
|
|
21
|
+
-1
|
|
22
|
+
/* HOISTED */
|
|
23
|
+
)
|
|
24
|
+
]));
|
|
25
|
+
}
|
|
26
|
+
const d = { render: l };
|
|
27
|
+
export {
|
|
28
|
+
d as default,
|
|
29
|
+
l as render
|
|
30
|
+
};
|