wineater-bot 3.5.1 → 3.7.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/dist/wineater-chatbot.mjs +698 -558
- package/dist/wineater-chatbot.umd.js +44 -42
- package/index.html +1 -1
- package/package.json +1 -1
- package/src/js/api.js +2 -2
- package/src/js/i18n.js +126 -3
- package/src/js/widget.js +72 -10
|
@@ -30,7 +30,7 @@ function mi() {
|
|
|
30
30
|
return e || (e = pi(), Rs(t, e, 365)), e;
|
|
31
31
|
}
|
|
32
32
|
var $e = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
33
|
-
function
|
|
33
|
+
function bi(t) {
|
|
34
34
|
return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
|
|
35
35
|
}
|
|
36
36
|
var $n = { exports: {} };
|
|
@@ -38,134 +38,134 @@ var $n = { exports: {} };
|
|
|
38
38
|
(function(n, s) {
|
|
39
39
|
s(e);
|
|
40
40
|
})($e, function(n) {
|
|
41
|
-
var s = { getItemSync: function(
|
|
41
|
+
var s = { getItemSync: function(y) {
|
|
42
42
|
try {
|
|
43
|
-
return localStorage.getItem(
|
|
43
|
+
return localStorage.getItem(y) || null;
|
|
44
44
|
} catch {
|
|
45
45
|
return null;
|
|
46
46
|
}
|
|
47
|
-
}, getItem: function(
|
|
47
|
+
}, getItem: function(y, f) {
|
|
48
48
|
var h = this;
|
|
49
49
|
return new Promise(function(m, g) {
|
|
50
50
|
try {
|
|
51
|
-
var S = h.getItemSync(
|
|
51
|
+
var S = h.getItemSync(y);
|
|
52
52
|
f == null || f(null, S), m(S);
|
|
53
53
|
} catch (x) {
|
|
54
54
|
f && f(x, null), g(x);
|
|
55
55
|
}
|
|
56
56
|
});
|
|
57
|
-
}, setItem: function(
|
|
57
|
+
}, setItem: function(y, f, h) {
|
|
58
58
|
return new Promise(function(m, g) {
|
|
59
59
|
try {
|
|
60
|
-
localStorage.setItem(
|
|
60
|
+
localStorage.setItem(y, f), h && h(null, f), m(f);
|
|
61
61
|
} catch (S) {
|
|
62
62
|
h && h(S, null), g(S);
|
|
63
63
|
}
|
|
64
64
|
});
|
|
65
65
|
} }, i = function() {
|
|
66
|
-
return i = Object.assign || function(
|
|
66
|
+
return i = Object.assign || function(y) {
|
|
67
67
|
for (var f, h = 1, m = arguments.length; h < m; h++)
|
|
68
68
|
for (var g in f = arguments[h])
|
|
69
|
-
Object.prototype.hasOwnProperty.call(f, g) && (
|
|
70
|
-
return
|
|
69
|
+
Object.prototype.hasOwnProperty.call(f, g) && (y[g] = f[g]);
|
|
70
|
+
return y;
|
|
71
71
|
}, i.apply(this, arguments);
|
|
72
72
|
};
|
|
73
|
-
function r(
|
|
73
|
+
function r(y, f, h, m) {
|
|
74
74
|
return new (h || (h = Promise))(function(g, S) {
|
|
75
75
|
function x(q) {
|
|
76
76
|
try {
|
|
77
|
-
|
|
78
|
-
} catch (
|
|
79
|
-
S(
|
|
77
|
+
B(m.next(q));
|
|
78
|
+
} catch (O) {
|
|
79
|
+
S(O);
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
|
-
function
|
|
82
|
+
function A(q) {
|
|
83
83
|
try {
|
|
84
|
-
|
|
85
|
-
} catch (
|
|
86
|
-
S(
|
|
84
|
+
B(m.throw(q));
|
|
85
|
+
} catch (O) {
|
|
86
|
+
S(O);
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
-
function
|
|
90
|
-
var
|
|
91
|
-
q.done ? g(q.value) : (
|
|
92
|
-
W(
|
|
93
|
-
})).then(x,
|
|
89
|
+
function B(q) {
|
|
90
|
+
var O;
|
|
91
|
+
q.done ? g(q.value) : (O = q.value, O instanceof h ? O : new h(function(W) {
|
|
92
|
+
W(O);
|
|
93
|
+
})).then(x, A);
|
|
94
94
|
}
|
|
95
|
-
|
|
95
|
+
B((m = m.apply(y, f || [])).next());
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
|
-
function o(
|
|
98
|
+
function o(y, f) {
|
|
99
99
|
var h, m, g, S, x = { label: 0, sent: function() {
|
|
100
100
|
if (1 & g[0])
|
|
101
101
|
throw g[1];
|
|
102
102
|
return g[1];
|
|
103
103
|
}, trys: [], ops: [] };
|
|
104
|
-
return S = { next:
|
|
104
|
+
return S = { next: A(0), throw: A(1), return: A(2) }, typeof Symbol == "function" && (S[Symbol.iterator] = function() {
|
|
105
105
|
return this;
|
|
106
106
|
}), S;
|
|
107
|
-
function
|
|
107
|
+
function A(B) {
|
|
108
108
|
return function(q) {
|
|
109
|
-
return function(
|
|
109
|
+
return function(O) {
|
|
110
110
|
if (h)
|
|
111
111
|
throw new TypeError("Generator is already executing.");
|
|
112
112
|
for (; x; )
|
|
113
113
|
try {
|
|
114
|
-
if (h = 1, m && (g = 2 &
|
|
114
|
+
if (h = 1, m && (g = 2 & O[0] ? m.return : O[0] ? m.throw || ((g = m.return) && g.call(m), 0) : m.next) && !(g = g.call(m, O[1])).done)
|
|
115
115
|
return g;
|
|
116
|
-
switch (m = 0, g && (
|
|
116
|
+
switch (m = 0, g && (O = [2 & O[0], g.value]), O[0]) {
|
|
117
117
|
case 0:
|
|
118
118
|
case 1:
|
|
119
|
-
g =
|
|
119
|
+
g = O;
|
|
120
120
|
break;
|
|
121
121
|
case 4:
|
|
122
|
-
return x.label++, { value:
|
|
122
|
+
return x.label++, { value: O[1], done: !1 };
|
|
123
123
|
case 5:
|
|
124
|
-
x.label++, m =
|
|
124
|
+
x.label++, m = O[1], O = [0];
|
|
125
125
|
continue;
|
|
126
126
|
case 7:
|
|
127
|
-
|
|
127
|
+
O = x.ops.pop(), x.trys.pop();
|
|
128
128
|
continue;
|
|
129
129
|
default:
|
|
130
|
-
if (g = x.trys, !((g = g.length > 0 && g[g.length - 1]) ||
|
|
130
|
+
if (g = x.trys, !((g = g.length > 0 && g[g.length - 1]) || O[0] !== 6 && O[0] !== 2)) {
|
|
131
131
|
x = 0;
|
|
132
132
|
continue;
|
|
133
133
|
}
|
|
134
|
-
if (
|
|
135
|
-
x.label =
|
|
134
|
+
if (O[0] === 3 && (!g || O[1] > g[0] && O[1] < g[3])) {
|
|
135
|
+
x.label = O[1];
|
|
136
136
|
break;
|
|
137
137
|
}
|
|
138
|
-
if (
|
|
139
|
-
x.label = g[1], g =
|
|
138
|
+
if (O[0] === 6 && x.label < g[1]) {
|
|
139
|
+
x.label = g[1], g = O;
|
|
140
140
|
break;
|
|
141
141
|
}
|
|
142
142
|
if (g && x.label < g[2]) {
|
|
143
|
-
x.label = g[2], x.ops.push(
|
|
143
|
+
x.label = g[2], x.ops.push(O);
|
|
144
144
|
break;
|
|
145
145
|
}
|
|
146
146
|
g[2] && x.ops.pop(), x.trys.pop();
|
|
147
147
|
continue;
|
|
148
148
|
}
|
|
149
|
-
|
|
149
|
+
O = f.call(y, x);
|
|
150
150
|
} catch (W) {
|
|
151
|
-
|
|
151
|
+
O = [6, W], m = 0;
|
|
152
152
|
} finally {
|
|
153
153
|
h = g = 0;
|
|
154
154
|
}
|
|
155
|
-
if (5 &
|
|
156
|
-
throw
|
|
157
|
-
return { value:
|
|
158
|
-
}([
|
|
155
|
+
if (5 & O[0])
|
|
156
|
+
throw O[1];
|
|
157
|
+
return { value: O[0] ? O[1] : void 0, done: !0 };
|
|
158
|
+
}([B, q]);
|
|
159
159
|
};
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
|
-
function l(
|
|
162
|
+
function l(y, f, h) {
|
|
163
163
|
if (h || arguments.length === 2)
|
|
164
164
|
for (var m, g = 0, S = f.length; g < S; g++)
|
|
165
165
|
!m && g in f || (m || (m = Array.prototype.slice.call(f, 0, g)), m[g] = f[g]);
|
|
166
|
-
return
|
|
166
|
+
return y.concat(m || Array.prototype.slice.call(f));
|
|
167
167
|
}
|
|
168
|
-
var c = function
|
|
168
|
+
var c = function y(f, h) {
|
|
169
169
|
if (f === h)
|
|
170
170
|
return !0;
|
|
171
171
|
if (f && h && typeof f == "object" && typeof h == "object") {
|
|
@@ -176,7 +176,7 @@ var $n = { exports: {} };
|
|
|
176
176
|
if ((m = f.length) != h.length)
|
|
177
177
|
return !1;
|
|
178
178
|
for (g = m; g-- != 0; )
|
|
179
|
-
if (!
|
|
179
|
+
if (!y(f[g], h[g]))
|
|
180
180
|
return !1;
|
|
181
181
|
return !0;
|
|
182
182
|
}
|
|
@@ -193,98 +193,98 @@ var $n = { exports: {} };
|
|
|
193
193
|
return !1;
|
|
194
194
|
for (g = m; g-- != 0; ) {
|
|
195
195
|
var x = S[g];
|
|
196
|
-
if (!
|
|
196
|
+
if (!y(f[x], h[x]))
|
|
197
197
|
return !1;
|
|
198
198
|
}
|
|
199
199
|
return !0;
|
|
200
200
|
}
|
|
201
201
|
return f != f && h != h;
|
|
202
202
|
};
|
|
203
|
-
function u(
|
|
203
|
+
function u(y, f) {
|
|
204
204
|
var h = Object.keys(f || {}).filter(function(m) {
|
|
205
|
-
var g =
|
|
205
|
+
var g = y == null ? void 0 : y[m], S = f == null ? void 0 : f[m];
|
|
206
206
|
return !c(g, S);
|
|
207
207
|
});
|
|
208
|
-
return Object.keys(
|
|
208
|
+
return Object.keys(y || {}).filter(function(m) {
|
|
209
209
|
Object.keys(f || {}).includes(m) || h.push(m);
|
|
210
210
|
}), Object.keys(h).length ? h : null;
|
|
211
211
|
}
|
|
212
212
|
var a, d;
|
|
213
|
-
function p(
|
|
213
|
+
function p(y, f, h) {
|
|
214
214
|
var m = "shortString", g = !0;
|
|
215
|
-
typeof h == "number" && (m = "javaDouble", g = !1),
|
|
215
|
+
typeof h == "number" && (m = "javaDouble", g = !1), y[m] = y[m] || {}, y[m][f] = g ? h + "" : h;
|
|
216
216
|
}
|
|
217
|
-
function b(
|
|
218
|
-
return !!
|
|
217
|
+
function b(y) {
|
|
218
|
+
return !!y && typeof y == "object" && y.value !== void 0;
|
|
219
219
|
}
|
|
220
|
-
function w(
|
|
221
|
-
return Object.fromEntries(Object.entries(
|
|
220
|
+
function w(y) {
|
|
221
|
+
return Object.fromEntries(Object.entries(y).map(function(f) {
|
|
222
222
|
var h = f[0], m = f[1];
|
|
223
223
|
return [h, b(m) ? m : { value: m }];
|
|
224
224
|
}));
|
|
225
225
|
}
|
|
226
|
-
function y
|
|
227
|
-
return i(i({},
|
|
226
|
+
function v(y) {
|
|
227
|
+
return i(i({}, y), { identity: y.identity ? i(i({}, y.identity), { traits: w(y.identity.traits || {}) }) : void 0 });
|
|
228
228
|
}
|
|
229
|
-
(function(
|
|
230
|
-
|
|
229
|
+
(function(y) {
|
|
230
|
+
y.NONE = "NONE", y.DEFAULT_FLAGS = "DEFAULT_FLAGS", y.CACHE = "CACHE", y.SERVER = "SERVER";
|
|
231
231
|
})(a || (a = {}));
|
|
232
|
-
var
|
|
233
|
-
function
|
|
232
|
+
var T, N = null, M = "BULLET_TRAIN_DB", D = "BULLET_TRAIN_EVENT", k = "https://edge.api.flagsmith.com/api/v1/", _ = "flagsmith_value_", R = "flagsmith_enabled_", L = "flagsmith_trait_", I = function() {
|
|
233
|
+
function y(f) {
|
|
234
234
|
var h = this;
|
|
235
235
|
this._trigger = null, this._triggerLoadingState = null, this.timestamp = null, this.isLoading = !1, this.eventSource = null, this.getFlags = function() {
|
|
236
236
|
var m = h, g = m.api, S = m.evaluationContext;
|
|
237
237
|
h.log("Get Flags"), h.isLoading = !0, h.loadingState.isFetching || h.setLoadingState(i(i({}, h.loadingState), { isFetching: !0 }));
|
|
238
|
-
var x = "".concat(h.getContext().identity),
|
|
239
|
-
var q,
|
|
240
|
-
if (
|
|
241
|
-
var oe =
|
|
238
|
+
var x = "".concat(h.getContext().identity), A = function(B) {
|
|
239
|
+
var q, O, W, ee;
|
|
240
|
+
if (B && x === "".concat(h.getContext().identity)) {
|
|
241
|
+
var oe = B.flags, te = B.traits, ne = B.identifier;
|
|
242
242
|
h.isLoading = !1;
|
|
243
243
|
var ae = {}, ce = {};
|
|
244
|
-
te = te || [], (oe = oe || []).forEach(function(
|
|
245
|
-
ae[
|
|
246
|
-
}), te.forEach(function(
|
|
247
|
-
ce[
|
|
244
|
+
te = te || [], (oe = oe || []).forEach(function(J) {
|
|
245
|
+
ae[J.feature.name.toLowerCase().replace(/ /g, "_")] = { id: J.feature.id, enabled: J.enabled, value: J.feature_state_value };
|
|
246
|
+
}), te.forEach(function(J) {
|
|
247
|
+
ce[J.trait_key.toLowerCase().replace(/ /g, "_")] = { transient: J.transient, value: J.trait_value };
|
|
248
248
|
}), h.oldFlags = i({}, h.flags);
|
|
249
249
|
var ge = u(h.oldFlags, ae), Ge = u((q = h.evaluationContext.identity) === null || q === void 0 ? void 0 : q.traits, ce);
|
|
250
250
|
if ((ne || Object.keys(ce).length) && (h.evaluationContext.identity = { traits: ce }, ne && (h.evaluationContext.identity.identifier = ne)), h.flags = ae, h.updateStorage(), h._onChange(h.oldFlags, { isFromServer: !0, flagsChanged: ge, traitsChanged: Ge }, h._loadedState(null, a.SERVER)), h.datadogRum)
|
|
251
251
|
try {
|
|
252
252
|
if (h.datadogRum.trackTraits) {
|
|
253
253
|
var Ke = {};
|
|
254
|
-
Object.keys(((
|
|
255
|
-
Ke[L +
|
|
254
|
+
Object.keys(((O = h.evaluationContext.identity) === null || O === void 0 ? void 0 : O.traits) || {}).map(function(J) {
|
|
255
|
+
Ke[L + J] = h.getTrait(J);
|
|
256
256
|
});
|
|
257
257
|
var Le = i(i(i({}, h.datadogRum.client.getUser()), { id: h.datadogRum.client.getUser().id || ((W = h.evaluationContext.identity) === null || W === void 0 ? void 0 : W.identifier) }), Ke);
|
|
258
258
|
h.log("Setting Datadog user", Le), h.datadogRum.client.setUser(Le);
|
|
259
259
|
}
|
|
260
|
-
} catch (
|
|
261
|
-
console.error(
|
|
260
|
+
} catch (J) {
|
|
261
|
+
console.error(J);
|
|
262
262
|
}
|
|
263
263
|
if (h.dtrum)
|
|
264
264
|
try {
|
|
265
265
|
var se = { javaDouble: {}, date: {}, shortString: {}, javaLongOrObject: {} };
|
|
266
|
-
Object.keys(h.flags).map(function(
|
|
267
|
-
p(se, _ +
|
|
268
|
-
}), Object.keys(((ee = h.evaluationContext.identity) === null || ee === void 0 ? void 0 : ee.traits) || {}).map(function(
|
|
269
|
-
p(se, L +
|
|
266
|
+
Object.keys(h.flags).map(function(J) {
|
|
267
|
+
p(se, _ + J, h.getValue(J, { skipAnalytics: !0 })), p(se, R + J, h.hasFeature(J, { skipAnalytics: !0 }));
|
|
268
|
+
}), Object.keys(((ee = h.evaluationContext.identity) === null || ee === void 0 ? void 0 : ee.traits) || {}).map(function(J) {
|
|
269
|
+
p(se, L + J, h.getTrait(J));
|
|
270
270
|
}), h.log("Sending javaLongOrObject traits to dynatrace", se.javaLongOrObject), h.log("Sending date traits to dynatrace", se.date), h.log("Sending shortString traits to dynatrace", se.shortString), h.log("Sending javaDouble to dynatrace", se.javaDouble), h.dtrum.sendSessionProperties(se.javaLongOrObject, se.date, se.shortString, se.javaDouble);
|
|
271
|
-
} catch (
|
|
272
|
-
console.error(
|
|
271
|
+
} catch (J) {
|
|
272
|
+
console.error(J);
|
|
273
273
|
}
|
|
274
274
|
}
|
|
275
275
|
};
|
|
276
|
-
return S.identity ? Promise.all([S.identity.traits && Object.keys(S.identity.traits).length || !S.identity.identifier ? h.getJSON(g + "identities/", "POST", JSON.stringify({ identifier: S.identity.identifier, transient: S.identity.transient, traits: Object.entries(S.identity.traits).map(function(
|
|
277
|
-
var q =
|
|
278
|
-
return { trait_key: q, trait_value:
|
|
279
|
-
}).filter(function(
|
|
280
|
-
return
|
|
281
|
-
}) })) : h.getJSON(g + "identities/?identifier=" + encodeURIComponent(S.identity.identifier) + (S.identity.transient ? "&transient=true" : ""))]).then(function(
|
|
282
|
-
return h.evaluationContext.identity = i(i({}, h.evaluationContext.identity), { traits: {} }),
|
|
283
|
-
}).catch(function(
|
|
284
|
-
var q =
|
|
285
|
-
return Promise.reject(
|
|
286
|
-
}) : h.getJSON(g + "flags/").then(function(
|
|
287
|
-
return
|
|
276
|
+
return S.identity ? Promise.all([S.identity.traits && Object.keys(S.identity.traits).length || !S.identity.identifier ? h.getJSON(g + "identities/", "POST", JSON.stringify({ identifier: S.identity.identifier, transient: S.identity.transient, traits: Object.entries(S.identity.traits).map(function(B) {
|
|
277
|
+
var q = B[0], O = B[1];
|
|
278
|
+
return { trait_key: q, trait_value: O == null ? void 0 : O.value, transient: O == null ? void 0 : O.transient };
|
|
279
|
+
}).filter(function(B) {
|
|
280
|
+
return B.trait_value !== void 0 || (h.log("Warning - attempted to set an undefined trait value for key", B.trait_key), !1);
|
|
281
|
+
}) })) : h.getJSON(g + "identities/?identifier=" + encodeURIComponent(S.identity.identifier) + (S.identity.transient ? "&transient=true" : ""))]).then(function(B) {
|
|
282
|
+
return h.evaluationContext.identity = i(i({}, h.evaluationContext.identity), { traits: {} }), A(B == null ? void 0 : B[0]);
|
|
283
|
+
}).catch(function(B) {
|
|
284
|
+
var q = B.message, O = new Error(q);
|
|
285
|
+
return Promise.reject(O);
|
|
286
|
+
}) : h.getJSON(g + "flags/").then(function(B) {
|
|
287
|
+
return A({ flags: B, traits: void 0 });
|
|
288
288
|
});
|
|
289
289
|
}, this.analyticsFlags = function() {
|
|
290
290
|
var m = h.api;
|
|
@@ -298,16 +298,16 @@ var $n = { exports: {} };
|
|
|
298
298
|
h.log("Exception fetching evaluationEvent", g);
|
|
299
299
|
}) : void 0;
|
|
300
300
|
}, this.datadogRum = null, this.loadingState = { isLoading: !0, isFetching: !0, error: null, source: a.NONE }, this.canUseStorage = !1, this.analyticsInterval = null, this.api = null, this.cacheFlags = !1, this.ts = null, this.enableAnalytics = !1, this.enableLogs = !1, this.evaluationContext = {}, this.evaluationEvent = null, this.flags = null, this.getFlagInterval = null, this.headers = null, this.initialised = !1, this.oldFlags = null, this.onChange = null, this.onError = null, this.ticks = null, this.timer = null, this.dtrum = null, this.withTraits = null, this.cacheOptions = { ttl: 0, skipAPI: !1, loadStale: !1 }, this.getValue = function(m, g, S) {
|
|
301
|
-
var x = h.flags && h.flags[m.toLowerCase().replace(/ /g, "_")],
|
|
302
|
-
if (x && (
|
|
301
|
+
var x = h.flags && h.flags[m.toLowerCase().replace(/ /g, "_")], A = null;
|
|
302
|
+
if (x && (A = x.value), g != null && g.skipAnalytics || S || h.evaluateFlag(m, "VALUE"), A === null && (g == null ? void 0 : g.fallback) !== void 0)
|
|
303
303
|
return g.fallback;
|
|
304
304
|
if (g != null && g.json)
|
|
305
305
|
try {
|
|
306
|
-
return
|
|
306
|
+
return A === null ? (h.log("Tried to parse null flag as JSON: " + m), null) : JSON.parse(A);
|
|
307
307
|
} catch {
|
|
308
308
|
return g.fallback;
|
|
309
309
|
}
|
|
310
|
-
return
|
|
310
|
+
return A;
|
|
311
311
|
}, this.getTrait = function(m) {
|
|
312
312
|
var g, S;
|
|
313
313
|
return ((g = h.evaluationContext.identity) === null || g === void 0 ? void 0 : g.traits) && ((S = h.evaluationContext.identity.traits[m.toLowerCase().replace(/ /g, "_")]) === null || S === void 0 ? void 0 : S.value);
|
|
@@ -318,7 +318,7 @@ var $n = { exports: {} };
|
|
|
318
318
|
return [S, x == null ? void 0 : x.value];
|
|
319
319
|
}));
|
|
320
320
|
}, this.setContext = function(m) {
|
|
321
|
-
var g =
|
|
321
|
+
var g = v(m);
|
|
322
322
|
return h.evaluationContext = i(i({}, g), { environment: g.environment || h.evaluationContext.environment }), h.initialised ? h.getFlags() : Promise.resolve();
|
|
323
323
|
}, this.getContext = function() {
|
|
324
324
|
return h.evaluationContext;
|
|
@@ -332,22 +332,22 @@ var $n = { exports: {} };
|
|
|
332
332
|
var g;
|
|
333
333
|
if (h.api)
|
|
334
334
|
return h.setContext(i(i({}, h.evaluationContext), { identity: i(i({}, h.evaluationContext.identity), { traits: i(i({}, (g = h.evaluationContext.identity) === null || g === void 0 ? void 0 : g.traits), Object.fromEntries(Object.entries(m).map(function(S) {
|
|
335
|
-
var x = S[0],
|
|
336
|
-
return [x, b(
|
|
335
|
+
var x = S[0], A = S[1];
|
|
336
|
+
return [x, b(A) ? A : { value: A }];
|
|
337
337
|
}))) }) }));
|
|
338
338
|
console.error("Attempted to setTraits a user before calling flagsmith.init. Call flagsmith.init first, if you wish to prevent it sending a request for flags, call init with preventFetch:true.");
|
|
339
339
|
}, this.hasFeature = function(m, g) {
|
|
340
|
-
var S = typeof g == "object", x = h.flags && h.flags[m.toLowerCase().replace(/ /g, "_")],
|
|
341
|
-
return !x && S && g.fallback !== void 0 ?
|
|
340
|
+
var S = typeof g == "object", x = h.flags && h.flags[m.toLowerCase().replace(/ /g, "_")], A = !1;
|
|
341
|
+
return !x && S && g.fallback !== void 0 ? A = g == null ? void 0 : g.fallback : x && x.enabled && (A = !0), (S && !g.skipAnalytics || !g) && h.evaluateFlag(m, "ENABLED"), A;
|
|
342
342
|
}, this.getJSON = function(m, g, S) {
|
|
343
|
-
var x,
|
|
344
|
-
|
|
345
|
-
var
|
|
346
|
-
h.evaluationContext.environment && (q.headers["X-Environment-Key"] = h.evaluationContext.environment.apiKey), g && g !== "GET" && (q.headers["Content-Type"] = "application/json; charset=utf-8"),
|
|
347
|
-
var
|
|
343
|
+
var x, A = h;
|
|
344
|
+
A.evaluationContext;
|
|
345
|
+
var B = A.headers, q = { method: g || "GET", body: S, cache: "no-cache", headers: {} };
|
|
346
|
+
h.evaluationContext.environment && (q.headers["X-Environment-Key"] = h.evaluationContext.environment.apiKey), g && g !== "GET" && (q.headers["Content-Type"] = "application/json; charset=utf-8"), B && Object.assign(q.headers, B), d || console.error("Flagsmith: fetch is undefined, please specify a fetch implementation into flagsmith.init to support SSR.");
|
|
347
|
+
var O = "".concat((x = h.evaluationContext.identity) === null || x === void 0 ? void 0 : x.identifier);
|
|
348
348
|
return d(m, q).then(function(W) {
|
|
349
349
|
var ee, oe, te = "".concat((ee = h.evaluationContext.identity) === null || ee === void 0 ? void 0 : ee.identifier);
|
|
350
|
-
if (
|
|
350
|
+
if (O === te) {
|
|
351
351
|
var ne = (oe = W.headers) === null || oe === void 0 ? void 0 : oe.get("x-flagsmith-document-updated-at");
|
|
352
352
|
if (ne)
|
|
353
353
|
try {
|
|
@@ -367,7 +367,7 @@ var $n = { exports: {} };
|
|
|
367
367
|
return !ge && W.status && (ge = "API Response: ".concat(W.status)), W.status && W.status >= 200 && W.status < 300 ? ge : Promise.reject(new Error(ge));
|
|
368
368
|
});
|
|
369
369
|
}
|
|
370
|
-
h.log("Received response with identity mismatch, ignoring response. Requested: ".concat(
|
|
370
|
+
h.log("Received response with identity mismatch, ignoring response. Requested: ".concat(O, ", Current: ").concat(te));
|
|
371
371
|
});
|
|
372
372
|
}, this.evaluateFlag = function(m, g) {
|
|
373
373
|
if (h.datadogRum && (h.datadogRum.client.addFeatureFlagEvaluation ? g === "VALUE" ? h.datadogRum.client.addFeatureFlagEvaluation(_ + m, h.getValue(m, {}, !0)) : h.datadogRum.client.addFeatureFlagEvaluation(R + m, h.hasFeature(m, !0)) : console.error("Flagsmith: Your datadog RUM client does not support the function addFeatureFlagEvaluation, please update it.")), h.enableAnalytics) {
|
|
@@ -377,30 +377,30 @@ var $n = { exports: {} };
|
|
|
377
377
|
}
|
|
378
378
|
h.updateEventStorage();
|
|
379
379
|
}, this._onChange = function(m, g, S) {
|
|
380
|
-
var x,
|
|
381
|
-
h.setLoadingState(S), (x = h.onChange) === null || x === void 0 || x.call(h, m, g, h.loadingState), (
|
|
382
|
-
}, d = f.fetch ? f.fetch : typeof fetch < "u" ? fetch : $e == null ? void 0 : $e.fetch, this.canUseStorage = typeof window < "u" || !!f.browserlessStorage, this.log("Constructing flagsmith instance " + f), f.eventSource && (
|
|
380
|
+
var x, A;
|
|
381
|
+
h.setLoadingState(S), (x = h.onChange) === null || x === void 0 || x.call(h, m, g, h.loadingState), (A = h._trigger) === null || A === void 0 || A.call(h);
|
|
382
|
+
}, d = f.fetch ? f.fetch : typeof fetch < "u" ? fetch : $e == null ? void 0 : $e.fetch, this.canUseStorage = typeof window < "u" || !!f.browserlessStorage, this.log("Constructing flagsmith instance " + f), f.eventSource && (T = f.eventSource), f.AsyncStorage && (N = f.AsyncStorage);
|
|
383
383
|
}
|
|
384
|
-
return
|
|
384
|
+
return y.prototype.init = function(f) {
|
|
385
385
|
var h, m, g;
|
|
386
386
|
return r(this, void 0, void 0, function() {
|
|
387
|
-
var S, x,
|
|
387
|
+
var S, x, A, B, q, O, W, ee, oe, te, ne, ae, ce, ge, Ge, Ke, Le, se, J, Ct, Je, Pn, Xe, _t, Bn, jn, Nt, zn, Ot, Ye, Me, Un, ie = this;
|
|
388
388
|
return o(this, function(fe) {
|
|
389
389
|
switch (fe.label) {
|
|
390
390
|
case 0:
|
|
391
|
-
S =
|
|
391
|
+
S = v(f.evaluationContext || this.evaluationContext), fe.label = 1;
|
|
392
392
|
case 1:
|
|
393
|
-
if (fe.trys.push([1, 13, , 14]), x = f.environmentID,
|
|
393
|
+
if (fe.trys.push([1, 13, , 14]), x = f.environmentID, A = f.api, B = A === void 0 ? k : A, q = f.headers, O = f.onChange, W = f.cacheFlags, ee = f.datadogRum, oe = f.onError, te = f.defaultFlags, ne = f.fetch, ae = f.preventFetch, ce = f.enableLogs, ge = f.enableDynatrace, Ge = f.enableAnalytics, Ke = f.realtime, Le = f.eventSourceUrl, se = Le === void 0 ? "https://realtime.flagsmith.com/" : Le, J = f.AsyncStorage, Ct = f.identity, Je = f.traits, Pn = f.state, Xe = f.cacheOptions, _t = f.angularHttpClient, Bn = f._trigger, jn = f._triggerLoadingState, S.environment = x ? { apiKey: x } : S.environment, !S.environment || !S.environment.apiKey)
|
|
394
394
|
throw new Error("Please provide `evaluationContext.environment` with non-empty `apiKey`");
|
|
395
395
|
if (S.identity = Ct || Je ? { identifier: Ct, traits: Je ? Object.fromEntries(Object.entries(Je).map(function(le) {
|
|
396
396
|
return [le[0], { value: le[1] }];
|
|
397
|
-
})) : {} } : S.identity, this.evaluationContext = S, this.api =
|
|
397
|
+
})) : {} } : S.identity, this.evaluationContext = S, this.api = B, this.headers = q, this.getFlagInterval = null, this.analyticsInterval = null, this.onChange = O, Nt = "Wrong Flagsmith Configuration: preventFetch is true and no defaulFlags provided", this._trigger = Bn || this._trigger, this._triggerLoadingState = jn || this._triggerLoadingState, this.onError = function(le) {
|
|
398
398
|
ie.setLoadingState(i(i({}, ie.loadingState), { isFetching: !1, isLoading: !1, error: le })), oe == null || oe(le);
|
|
399
|
-
}, this.enableLogs = ce || !1, this.cacheOptions = Xe ? { skipAPI: !!Xe.skipAPI, ttl: Xe.ttl || 0, loadStale: !!Xe.loadStale } : this.cacheOptions, !this.cacheOptions.ttl && this.cacheOptions.skipAPI && console.warn("Flagsmith: you have set a cache ttl of 0 and are skipping API calls, this means the API will not be hit unless you clear local storage."), ne && (d = ne), this.enableAnalytics = Ge || !1, this.flags = Object.assign({}, te) || {}, this.datadogRum = ee || null, this.initialised = !0, this.ticks = 1e4, this.timer = this.enableLogs ? (/* @__PURE__ */ new Date()).valueOf() : null, this.cacheFlags =
|
|
400
|
-
return function(me,
|
|
401
|
-
var Te =
|
|
399
|
+
}, this.enableLogs = ce || !1, this.cacheOptions = Xe ? { skipAPI: !!Xe.skipAPI, ttl: Xe.ttl || 0, loadStale: !!Xe.loadStale } : this.cacheOptions, !this.cacheOptions.ttl && this.cacheOptions.skipAPI && console.warn("Flagsmith: you have set a cache ttl of 0 and are skipping API calls, this means the API will not be hit unless you clear local storage."), ne && (d = ne), this.enableAnalytics = Ge || !1, this.flags = Object.assign({}, te) || {}, this.datadogRum = ee || null, this.initialised = !0, this.ticks = 1e4, this.timer = this.enableLogs ? (/* @__PURE__ */ new Date()).valueOf() : null, this.cacheFlags = N !== void 0 && !!W, J && (N = J), Ke && typeof window < "u" && this.setupRealtime(se, S.environment.apiKey), Object.keys(this.flags).length && (this.loadingState = i(i({}, this.loadingState), { isLoading: !1, source: a.DEFAULT_FLAGS })), this.setState(Pn), this.log("Initialising with properties", f, this), ge && (typeof dtrum > "u" ? console.error("You have attempted to enable dynatrace but dtrum is undefined, please check you have the Dynatrace RUM JavaScript API installed.") : this.dtrum = dtrum), _t && (d = /* @__PURE__ */ function(le) {
|
|
400
|
+
return function(me, be) {
|
|
401
|
+
var Te = be.headers, Y = be.method, Fe = be.body;
|
|
402
402
|
return new Promise(function(Oe) {
|
|
403
|
-
switch (
|
|
403
|
+
switch (Y) {
|
|
404
404
|
case "GET":
|
|
405
405
|
return le.get(me, { headers: Te }).subscribe(function(xe) {
|
|
406
406
|
Oe({ ok: !0, text: function() {
|
|
@@ -417,36 +417,36 @@ var $n = { exports: {} };
|
|
|
417
417
|
}
|
|
418
418
|
});
|
|
419
419
|
};
|
|
420
|
-
}(_t)),
|
|
420
|
+
}(_t)), N && this.canUseStorage && N.getItem(D).then(function(le) {
|
|
421
421
|
try {
|
|
422
422
|
ie.evaluationEvent = JSON.parse(le) || {};
|
|
423
423
|
} catch {
|
|
424
424
|
ie.evaluationEvent = {};
|
|
425
425
|
}
|
|
426
426
|
ie.analyticsInterval = setInterval(ie.analyticsFlags, ie.ticks);
|
|
427
|
-
}), this.enableAnalytics && (this.analyticsInterval && clearInterval(this.analyticsInterval),
|
|
427
|
+
}), this.enableAnalytics && (this.analyticsInterval && clearInterval(this.analyticsInterval), N && this.canUseStorage && N.getItem(D, function(le, me) {
|
|
428
428
|
if (me && ie.evaluationContext.environment) {
|
|
429
|
-
var
|
|
430
|
-
if (
|
|
429
|
+
var be = JSON.parse(me);
|
|
430
|
+
if (be[ie.evaluationContext.environment.apiKey]) {
|
|
431
431
|
var Te = ie.getState();
|
|
432
|
-
ie.log("Retrieved events from cache", me), ie.setState(i(i({}, Te), { evaluationEvent:
|
|
432
|
+
ie.log("Retrieved events from cache", me), ie.setState(i(i({}, Te), { evaluationEvent: be[ie.evaluationContext.environment.apiKey] }));
|
|
433
433
|
}
|
|
434
434
|
}
|
|
435
435
|
})), !W)
|
|
436
436
|
return [3, 9];
|
|
437
|
-
if (!
|
|
437
|
+
if (!N || !this.canUseStorage)
|
|
438
438
|
return [3, 8];
|
|
439
439
|
zn = function(le, me) {
|
|
440
440
|
return r(ie, void 0, void 0, function() {
|
|
441
|
-
var
|
|
441
|
+
var be, Te, Y, Fe, Oe, xe, Rt, Hn, Dt, At, Lt, Mt, Ft, Pt, Bt, jt, zt, Ut, Ht, $t, qt, Wt, Vt, Gt;
|
|
442
442
|
return o(this, function(Ee) {
|
|
443
443
|
switch (Ee.label) {
|
|
444
444
|
case 0:
|
|
445
445
|
if (!me)
|
|
446
446
|
return [3, 7];
|
|
447
|
-
|
|
447
|
+
be = null, Te = null, Ee.label = 1;
|
|
448
448
|
case 1:
|
|
449
|
-
return Ee.trys.push([1, 5, , 6]),
|
|
449
|
+
return Ee.trys.push([1, 5, , 6]), Y = JSON.parse(me), Fe = !1, Oe = !1, Y && Y.api === this.api && ((At = (Dt = Y.evaluationContext) === null || Dt === void 0 ? void 0 : Dt.environment) === null || At === void 0 ? void 0 : At.apiKey) === ((Lt = this.evaluationContext.environment) === null || Lt === void 0 ? void 0 : Lt.apiKey) && (xe = !0, this.evaluationContext.identity && ((Ft = (Mt = Y.evaluationContext) === null || Mt === void 0 ? void 0 : Mt.identity) === null || Ft === void 0 ? void 0 : Ft.identifier) !== this.evaluationContext.identity.identifier && (this.log("Ignoring cache, identity has changed from " + ((Bt = (Pt = Y.evaluationContext) === null || Pt === void 0 ? void 0 : Pt.identity) === null || Bt === void 0 ? void 0 : Bt.identifier) + " to " + this.evaluationContext.identity.identifier), xe = !1), this.cacheOptions.ttl && (!Y.ts || (/* @__PURE__ */ new Date()).valueOf() - Y.ts > this.cacheOptions.ttl) && (Y.ts && !this.cacheOptions.loadStale ? (this.log("Ignoring cache, timestamp is too old ts:" + Y.ts + " ttl: " + this.cacheOptions.ttl + " time elapsed since cache: " + ((/* @__PURE__ */ new Date()).valueOf() - Y.ts) + "ms"), xe = !1) : Y.ts && this.cacheOptions.loadStale && (this.log("Loading stale cache, timestamp ts:" + Y.ts + " ttl: " + this.cacheOptions.ttl + " time elapsed since cache: " + ((/* @__PURE__ */ new Date()).valueOf() - Y.ts) + "ms"), Oe = !0, xe = !0)), xe && (Fe = !0, Te = u((jt = this.evaluationContext.identity) === null || jt === void 0 ? void 0 : jt.traits, (Ut = (zt = Y.evaluationContext) === null || zt === void 0 ? void 0 : zt.identity) === null || Ut === void 0 ? void 0 : Ut.traits), be = u(this.flags, Y.flags), this.setState(i(i({}, Y), { evaluationContext: v(i(i({}, Y.evaluationContext), { identity: !((Ht = Y.evaluationContext) === null || Ht === void 0) && Ht.identity ? i(i({}, ($t = Y.evaluationContext) === null || $t === void 0 ? void 0 : $t.identity), { traits: i(i({}, ((Wt = (qt = Y.evaluationContext) === null || qt === void 0 ? void 0 : qt.identity) === null || Wt === void 0 ? void 0 : Wt.traits) || {}), Je || {}) }) : void 0 })) })), this.log("Retrieved flags from cache", Y))), Fe ? (Rt = !ae && (!this.cacheOptions.skipAPI || Oe), this._onChange(null, { isFromServer: !1, flagsChanged: be, traitsChanged: Te }, this._loadedState(null, a.CACHE, Rt)), this.oldFlags = this.flags, this.cacheOptions.skipAPI && Fe && !Oe && this.log("Skipping API, using cache"), Rt && this.getFlags(), [3, 4]) : [3, 2];
|
|
450
450
|
case 2:
|
|
451
451
|
return ae ? [3, 4] : [4, this.getFlags()];
|
|
452
452
|
case 3:
|
|
@@ -477,9 +477,9 @@ var $n = { exports: {} };
|
|
|
477
477
|
});
|
|
478
478
|
}, fe.label = 2;
|
|
479
479
|
case 2:
|
|
480
|
-
return fe.trys.push([2, 7, , 8]),
|
|
480
|
+
return fe.trys.push([2, 7, , 8]), N.getItemSync ? (Ot = N.getItemSync(M), [3, 5]) : [3, 3];
|
|
481
481
|
case 3:
|
|
482
|
-
return [4,
|
|
482
|
+
return [4, N.getItem(M)];
|
|
483
483
|
case 4:
|
|
484
484
|
Ot = fe.sent(), fe.label = 5;
|
|
485
485
|
case 5:
|
|
@@ -508,93 +508,93 @@ var $n = { exports: {} };
|
|
|
508
508
|
}
|
|
509
509
|
});
|
|
510
510
|
});
|
|
511
|
-
},
|
|
511
|
+
}, y.prototype._loadedState = function(f, h, m) {
|
|
512
512
|
return f === void 0 && (f = null), m === void 0 && (m = !1), { error: f, isFetching: m, isLoading: !1, source: h };
|
|
513
|
-
},
|
|
513
|
+
}, y.prototype.getAllFlags = function() {
|
|
514
514
|
return this.flags;
|
|
515
|
-
},
|
|
515
|
+
}, y.prototype.identify = function(f, h, m) {
|
|
516
516
|
return this.evaluationContext.identity = { identifier: f, transient: m, traits: this.evaluationContext.identity && this.evaluationContext.identity.identifier == f ? this.evaluationContext.identity.traits : {} }, this.evaluationContext.identity.identifier = f, this.log("Identify: " + this.evaluationContext.identity.identifier), h && (this.evaluationContext.identity.traits = Object.fromEntries(Object.entries(h).map(function(g) {
|
|
517
517
|
var S = g[0], x = g[1];
|
|
518
518
|
return [S, b(x) ? x : { value: x }];
|
|
519
519
|
}))), this.initialised ? this.getFlags() : Promise.resolve();
|
|
520
|
-
},
|
|
520
|
+
}, y.prototype.getState = function() {
|
|
521
521
|
return { api: this.api, flags: this.flags, ts: this.ts, evaluationContext: this.evaluationContext, evaluationEvent: this.evaluationEvent };
|
|
522
|
-
},
|
|
522
|
+
}, y.prototype.setState = function(f) {
|
|
523
523
|
f && (this.initialised = !0, this.api = f.api || this.api || k, this.flags = f.flags || this.flags, this.evaluationContext = f.evaluationContext || this.evaluationContext, this.evaluationEvent = f.evaluationEvent || this.evaluationEvent, this.log("setState called", this));
|
|
524
|
-
},
|
|
524
|
+
}, y.prototype.logout = function() {
|
|
525
525
|
return this.evaluationContext.identity = null, this.initialised ? this.getFlags() : Promise.resolve();
|
|
526
|
-
},
|
|
526
|
+
}, y.prototype.startListening = function(f) {
|
|
527
527
|
f === void 0 && (f = 1e3), this.getFlagInterval && clearInterval(this.getFlagInterval), this.getFlagInterval = setInterval(this.getFlags, f);
|
|
528
|
-
},
|
|
528
|
+
}, y.prototype.stopListening = function() {
|
|
529
529
|
this.getFlagInterval && (clearInterval(this.getFlagInterval), this.getFlagInterval = null);
|
|
530
|
-
},
|
|
530
|
+
}, y.prototype.log = function() {
|
|
531
531
|
for (var f = [], h = 0; h < arguments.length; h++)
|
|
532
532
|
f[h] = arguments[h];
|
|
533
533
|
this.enableLogs && console.log.apply(this, l(["FLAGSMITH:", (/* @__PURE__ */ new Date()).valueOf() - (this.timer || 0), "ms"], f, !0));
|
|
534
|
-
},
|
|
534
|
+
}, y.prototype.updateStorage = function() {
|
|
535
535
|
if (this.cacheFlags) {
|
|
536
536
|
this.ts = (/* @__PURE__ */ new Date()).valueOf();
|
|
537
537
|
var f = JSON.stringify(this.getState());
|
|
538
|
-
this.log("Setting storage", f),
|
|
538
|
+
this.log("Setting storage", f), N.setItem(M, f);
|
|
539
539
|
}
|
|
540
|
-
},
|
|
540
|
+
}, y.prototype.updateEventStorage = function() {
|
|
541
541
|
if (this.enableAnalytics) {
|
|
542
542
|
var f = JSON.stringify(this.getState().evaluationEvent);
|
|
543
|
-
|
|
543
|
+
N.setItem(D, f);
|
|
544
544
|
}
|
|
545
|
-
},
|
|
545
|
+
}, y.prototype.setLoadingState = function(f) {
|
|
546
546
|
var h;
|
|
547
547
|
c(f, this.loadingState) || (this.loadingState = i({}, f), this.log("Loading state changed", f), (h = this._triggerLoadingState) === null || h === void 0 || h.call(this));
|
|
548
|
-
},
|
|
548
|
+
}, y.prototype.setupRealtime = function(f, h) {
|
|
549
549
|
var m = this, g = f + "sse/environments/" + h + "/stream";
|
|
550
|
-
|
|
550
|
+
T ? this.eventSource || (this.log("Creating event source with url " + g), this.eventSource = new T(g), this.eventSource.addEventListener("environment_updated", function(S) {
|
|
551
551
|
var x;
|
|
552
552
|
try {
|
|
553
553
|
x = JSON.parse(S.data).updated_at;
|
|
554
|
-
} catch (
|
|
555
|
-
m.log("Could not parse sse event",
|
|
554
|
+
} catch (A) {
|
|
555
|
+
m.log("Could not parse sse event", A);
|
|
556
556
|
}
|
|
557
557
|
x ? !m.timestamp || x > m.timestamp ? m.isLoading ? m.log("updated_at is new, but flags are loading", S.data, m.timestamp) : (m.log("updated_at is new, fetching flags", S.data, m.timestamp), m.getFlags()) : m.log("updated_at is outdated, skipping get flags", S.data, m.timestamp) : m.log("No updated_at received, fetching flags", S);
|
|
558
558
|
})) : this.log("Error, EventSource is undefined");
|
|
559
|
-
},
|
|
559
|
+
}, y;
|
|
560
560
|
}();
|
|
561
|
-
function
|
|
562
|
-
var f =
|
|
561
|
+
function E(y) {
|
|
562
|
+
var f = y.fetch, h = y.AsyncStorage, m = y.eventSource;
|
|
563
563
|
return new I({ fetch: f, AsyncStorage: h, eventSource: m });
|
|
564
564
|
}
|
|
565
|
-
var
|
|
566
|
-
return
|
|
565
|
+
var P, U = (P = function(y, f) {
|
|
566
|
+
return P = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(h, m) {
|
|
567
567
|
h.__proto__ = m;
|
|
568
568
|
} || function(h, m) {
|
|
569
569
|
for (var g in m)
|
|
570
570
|
Object.prototype.hasOwnProperty.call(m, g) && (h[g] = m[g]);
|
|
571
|
-
},
|
|
572
|
-
}, function(
|
|
571
|
+
}, P(y, f);
|
|
572
|
+
}, function(y, f) {
|
|
573
573
|
if (typeof f != "function" && f !== null)
|
|
574
574
|
throw new TypeError("Class extends value " + String(f) + " is not a constructor or null");
|
|
575
575
|
function h() {
|
|
576
|
-
this.constructor =
|
|
576
|
+
this.constructor = y;
|
|
577
577
|
}
|
|
578
|
-
|
|
579
|
-
}), j = function(
|
|
580
|
-
var f = typeof Symbol == "function" && Symbol.iterator, h = f &&
|
|
578
|
+
P(y, f), y.prototype = f === null ? Object.create(f) : (h.prototype = f.prototype, new h());
|
|
579
|
+
}), j = function(y) {
|
|
580
|
+
var f = typeof Symbol == "function" && Symbol.iterator, h = f && y[f], m = 0;
|
|
581
581
|
if (h)
|
|
582
|
-
return h.call(
|
|
583
|
-
if (
|
|
582
|
+
return h.call(y);
|
|
583
|
+
if (y && typeof y.length == "number")
|
|
584
584
|
return { next: function() {
|
|
585
|
-
return
|
|
585
|
+
return y && m >= y.length && (y = void 0), { value: y && y[m++], done: !y };
|
|
586
586
|
} };
|
|
587
587
|
throw new TypeError(f ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
588
|
-
}, z = function(
|
|
589
|
-
var h = typeof Symbol == "function" &&
|
|
588
|
+
}, z = function(y, f) {
|
|
589
|
+
var h = typeof Symbol == "function" && y[Symbol.iterator];
|
|
590
590
|
if (!h)
|
|
591
|
-
return
|
|
592
|
-
var m, g, S = h.call(
|
|
591
|
+
return y;
|
|
592
|
+
var m, g, S = h.call(y), x = [];
|
|
593
593
|
try {
|
|
594
594
|
for (; (f === void 0 || f-- > 0) && !(m = S.next()).done; )
|
|
595
595
|
x.push(m.value);
|
|
596
|
-
} catch (
|
|
597
|
-
g = { error:
|
|
596
|
+
} catch (A) {
|
|
597
|
+
g = { error: A };
|
|
598
598
|
} finally {
|
|
599
599
|
try {
|
|
600
600
|
m && !m.done && (h = S.return) && h.call(S);
|
|
@@ -604,44 +604,44 @@ var $n = { exports: {} };
|
|
|
604
604
|
}
|
|
605
605
|
}
|
|
606
606
|
return x;
|
|
607
|
-
}, C = function(
|
|
607
|
+
}, C = function(y, f, h) {
|
|
608
608
|
if (h || arguments.length === 2)
|
|
609
609
|
for (var m, g = 0, S = f.length; g < S; g++)
|
|
610
610
|
!m && g in f || (m || (m = Array.prototype.slice.call(f, 0, g)), m[g] = f[g]);
|
|
611
|
-
return
|
|
612
|
-
},
|
|
611
|
+
return y.concat(m || Array.prototype.slice.call(f));
|
|
612
|
+
}, F = function(y) {
|
|
613
613
|
function f() {
|
|
614
|
-
return
|
|
614
|
+
return y.call(this, `EventSource not available.
|
|
615
615
|
Consider loading an EventSource polyfill and making it available globally as EventSource, or passing one in as eventSourceClass to the ReconnectingEventSource constructor.`) || this;
|
|
616
616
|
}
|
|
617
|
-
return U(f,
|
|
617
|
+
return U(f, y), f;
|
|
618
618
|
}(Error), V = function() {
|
|
619
|
-
function
|
|
619
|
+
function y(f, h) {
|
|
620
620
|
var m = this;
|
|
621
621
|
if (this.CONNECTING = 0, this.OPEN = 1, this.CLOSED = 2, this._configuration = h != null ? Object.assign({}, h) : void 0, this.withCredentials = !1, this._eventSource = null, this._lastEventId = null, this._timer = null, this._listeners = { open: [], error: [], message: [] }, this.url = f.toString(), this.readyState = this.CONNECTING, this.max_retry_time = 3e3, this.eventSourceClass = globalThis.FlagsmithEventSource, this._configuration != null && (this._configuration.lastEventId && (this._lastEventId = this._configuration.lastEventId, delete this._configuration.lastEventId), this._configuration.max_retry_time && (this.max_retry_time = this._configuration.max_retry_time, delete this._configuration.max_retry_time), this._configuration.eventSourceClass && (this.eventSourceClass = this._configuration.eventSourceClass, delete this._configuration.eventSourceClass)), this.eventSourceClass == null || typeof this.eventSourceClass != "function")
|
|
622
|
-
throw new
|
|
622
|
+
throw new F();
|
|
623
623
|
this._onevent_wrapped = function(g) {
|
|
624
624
|
m._onevent(g);
|
|
625
625
|
}, this._start();
|
|
626
626
|
}
|
|
627
|
-
return
|
|
627
|
+
return y.prototype.dispatchEvent = function(f) {
|
|
628
628
|
throw new Error("Method not implemented.");
|
|
629
|
-
},
|
|
629
|
+
}, y.prototype._start = function() {
|
|
630
630
|
var f, h, m = this, g = this.url;
|
|
631
|
-
this._lastEventId && (g.indexOf("?") === -1 ? g += "?" : g += "&", g += "lastEventId=" + encodeURIComponent(this._lastEventId)), this._eventSource = new this.eventSourceClass(g, this._configuration), this._eventSource.onopen = function(
|
|
632
|
-
m._onopen(
|
|
633
|
-
}, this._eventSource.onerror = function(
|
|
634
|
-
m._onerror(
|
|
635
|
-
}, this._eventSource.onmessage = function(
|
|
636
|
-
m.onmessage(
|
|
631
|
+
this._lastEventId && (g.indexOf("?") === -1 ? g += "?" : g += "&", g += "lastEventId=" + encodeURIComponent(this._lastEventId)), this._eventSource = new this.eventSourceClass(g, this._configuration), this._eventSource.onopen = function(B) {
|
|
632
|
+
m._onopen(B);
|
|
633
|
+
}, this._eventSource.onerror = function(B) {
|
|
634
|
+
m._onerror(B);
|
|
635
|
+
}, this._eventSource.onmessage = function(B) {
|
|
636
|
+
m.onmessage(B);
|
|
637
637
|
};
|
|
638
638
|
try {
|
|
639
639
|
for (var S = j(Object.keys(this._listeners)), x = S.next(); !x.done; x = S.next()) {
|
|
640
|
-
var
|
|
641
|
-
this._eventSource.addEventListener(
|
|
640
|
+
var A = x.value;
|
|
641
|
+
this._eventSource.addEventListener(A, this._onevent_wrapped);
|
|
642
642
|
}
|
|
643
|
-
} catch (
|
|
644
|
-
f = { error:
|
|
643
|
+
} catch (B) {
|
|
644
|
+
f = { error: B };
|
|
645
645
|
} finally {
|
|
646
646
|
try {
|
|
647
647
|
x && !x.done && (h = S.return) && h.call(S);
|
|
@@ -650,9 +650,9 @@ Consider loading an EventSource polyfill and making it available globally as Eve
|
|
|
650
650
|
throw f.error;
|
|
651
651
|
}
|
|
652
652
|
}
|
|
653
|
-
},
|
|
653
|
+
}, y.prototype._onopen = function(f) {
|
|
654
654
|
this.readyState === 0 && (this.readyState = 1, this.onopen(f));
|
|
655
|
-
},
|
|
655
|
+
}, y.prototype._onerror = function(f) {
|
|
656
656
|
var h = this;
|
|
657
657
|
if (this.readyState === 1 && (this.readyState = 0, this.onerror(f)), this._eventSource) {
|
|
658
658
|
this._eventSource.close(), this._eventSource = null;
|
|
@@ -661,7 +661,7 @@ Consider loading an EventSource polyfill and making it available globally as Eve
|
|
|
661
661
|
return h._start();
|
|
662
662
|
}, m);
|
|
663
663
|
}
|
|
664
|
-
},
|
|
664
|
+
}, y.prototype._onevent = function(f) {
|
|
665
665
|
var h, m;
|
|
666
666
|
f && f.lastEventId && (this._lastEventId = f.lastEventId);
|
|
667
667
|
var g = this._listeners[f.type];
|
|
@@ -669,8 +669,8 @@ Consider loading an EventSource polyfill and making it available globally as Eve
|
|
|
669
669
|
try {
|
|
670
670
|
for (var S = j(C([], z(g), !1)), x = S.next(); !x.done; x = S.next())
|
|
671
671
|
x.value.call(this, f);
|
|
672
|
-
} catch (
|
|
673
|
-
h = { error:
|
|
672
|
+
} catch (A) {
|
|
673
|
+
h = { error: A };
|
|
674
674
|
} finally {
|
|
675
675
|
try {
|
|
676
676
|
x && !x.done && (m = S.return) && m.call(S);
|
|
@@ -680,57 +680,57 @@ Consider loading an EventSource polyfill and making it available globally as Eve
|
|
|
680
680
|
}
|
|
681
681
|
}
|
|
682
682
|
f.type === "message" && this.onmessage(f);
|
|
683
|
-
},
|
|
684
|
-
},
|
|
685
|
-
},
|
|
686
|
-
},
|
|
683
|
+
}, y.prototype.onopen = function(f) {
|
|
684
|
+
}, y.prototype.onerror = function(f) {
|
|
685
|
+
}, y.prototype.onmessage = function(f) {
|
|
686
|
+
}, y.prototype.close = function() {
|
|
687
687
|
this._timer && (clearTimeout(this._timer), this._timer = null), this._eventSource && (this._eventSource.close(), this._eventSource = null), this.readyState = 2;
|
|
688
|
-
},
|
|
688
|
+
}, y.prototype.addEventListener = function(f, h, m) {
|
|
689
689
|
this._listeners[f] == null && (this._listeners[f] = [], this._eventSource != null && this._eventSource.addEventListener(f, this._onevent_wrapped));
|
|
690
690
|
var g = this._listeners[f];
|
|
691
691
|
g.includes(h) || (this._listeners[f] = C(C([], z(g), !1), [h], !1));
|
|
692
|
-
},
|
|
692
|
+
}, y.prototype.removeEventListener = function(f, h, m) {
|
|
693
693
|
var g = this._listeners[f];
|
|
694
694
|
this._listeners[f] = g.filter(function(S) {
|
|
695
695
|
return S !== h;
|
|
696
696
|
});
|
|
697
|
-
},
|
|
697
|
+
}, y;
|
|
698
698
|
}();
|
|
699
699
|
globalThis.FlagsmithEventSource = typeof EventSource < "u" ? EventSource : null;
|
|
700
|
-
var
|
|
700
|
+
var K = function(y, f) {
|
|
701
701
|
return f = f || {}, new Promise(function(h, m) {
|
|
702
|
-
var g = new XMLHttpRequest(), S = [], x = [],
|
|
702
|
+
var g = new XMLHttpRequest(), S = [], x = [], A = {}, B = function() {
|
|
703
703
|
return { ok: (g.status / 100 | 0) == 2, statusText: g.statusText, status: g.status, url: g.responseURL, text: function() {
|
|
704
704
|
return Promise.resolve(g.responseText);
|
|
705
705
|
}, json: function() {
|
|
706
706
|
return Promise.resolve(g.responseText).then(JSON.parse);
|
|
707
707
|
}, blob: function() {
|
|
708
708
|
return Promise.resolve(new Blob([g.response]));
|
|
709
|
-
}, clone:
|
|
709
|
+
}, clone: B, headers: { keys: function() {
|
|
710
710
|
return S;
|
|
711
711
|
}, entries: function() {
|
|
712
712
|
return x;
|
|
713
|
-
}, get: function(
|
|
714
|
-
return
|
|
715
|
-
}, has: function(
|
|
716
|
-
return
|
|
713
|
+
}, get: function(O) {
|
|
714
|
+
return A[O.toLowerCase()];
|
|
715
|
+
}, has: function(O) {
|
|
716
|
+
return O.toLowerCase() in A;
|
|
717
717
|
} } };
|
|
718
718
|
};
|
|
719
|
-
for (var q in g.open(f.method || "get",
|
|
720
|
-
g.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm, function(
|
|
721
|
-
S.push(W = W.toLowerCase()), x.push([W, ee]),
|
|
722
|
-
}), h(
|
|
719
|
+
for (var q in g.open(f.method || "get", y, !0), g.onload = function() {
|
|
720
|
+
g.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm, function(O, W, ee) {
|
|
721
|
+
S.push(W = W.toLowerCase()), x.push([W, ee]), A[W] = A[W] ? A[W] + "," + ee : ee;
|
|
722
|
+
}), h(B());
|
|
723
723
|
}, g.onerror = m, g.withCredentials = f.credentials == "include", f.headers)
|
|
724
724
|
g.setRequestHeader(q, f.headers[q]);
|
|
725
725
|
g.send(f.body || null);
|
|
726
726
|
});
|
|
727
|
-
}, $ =
|
|
727
|
+
}, $ = E({ AsyncStorage: s, fetch: K, eventSource: V });
|
|
728
728
|
typeof window < "u" && (window.flagsmith = $), n.createFlagsmithInstance = function() {
|
|
729
|
-
return
|
|
729
|
+
return E({ AsyncStorage: s, fetch: K, eventSource: V });
|
|
730
730
|
}, n.default = $, Object.defineProperty(n, "__esModule", { value: !0 });
|
|
731
731
|
});
|
|
732
732
|
})($n, $n.exports);
|
|
733
|
-
var qn = {},
|
|
733
|
+
var qn = {}, vi = function(t, e, n, s, i) {
|
|
734
734
|
var r = new Worker(qn[e] || (qn[e] = URL.createObjectURL(new Blob([
|
|
735
735
|
t + ';addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'
|
|
736
736
|
], { type: "text/javascript" }))));
|
|
@@ -821,9 +821,9 @@ var qn = {}, bi = function(t, e, n, s, i) {
|
|
|
821
821
|
}, As = Ds(kt, 2), yi = As.b, dt = As.r;
|
|
822
822
|
yi[28] = 258, dt[258] = 28;
|
|
823
823
|
var wi = Ds(Tt, 0), cn = wi.r, ft = new re(32768);
|
|
824
|
-
for (var
|
|
825
|
-
var Ie = (
|
|
826
|
-
Ie = (Ie & 52428) >> 2 | (Ie & 13107) << 2, Ie = (Ie & 61680) >> 4 | (Ie & 3855) << 4, ft[
|
|
824
|
+
for (var X = 0; X < 32768; ++X) {
|
|
825
|
+
var Ie = (X & 43690) >> 1 | (X & 21845) << 1;
|
|
826
|
+
Ie = (Ie & 52428) >> 2 | (Ie & 13107) << 2, Ie = (Ie & 61680) >> 4 | (Ie & 3855) << 4, ft[X] = ((Ie & 65280) >> 8 | (Ie & 255) << 8) >> 1;
|
|
827
827
|
}
|
|
828
828
|
var qe = function(t, e, n) {
|
|
829
829
|
for (var s = t.length, i = 0, r = new re(e); i < s; ++i)
|
|
@@ -844,17 +844,17 @@ var qe = function(t, e, n) {
|
|
|
844
844
|
t[i] && (l[i] = ft[o[t[i] - 1]++] >> 15 - t[i]);
|
|
845
845
|
return l;
|
|
846
846
|
}, Ne = new de(288);
|
|
847
|
-
for (var
|
|
848
|
-
Ne[
|
|
849
|
-
for (var
|
|
850
|
-
Ne[
|
|
851
|
-
for (var
|
|
852
|
-
Ne[
|
|
853
|
-
for (var
|
|
854
|
-
Ne[
|
|
847
|
+
for (var X = 0; X < 144; ++X)
|
|
848
|
+
Ne[X] = 8;
|
|
849
|
+
for (var X = 144; X < 256; ++X)
|
|
850
|
+
Ne[X] = 9;
|
|
851
|
+
for (var X = 256; X < 280; ++X)
|
|
852
|
+
Ne[X] = 7;
|
|
853
|
+
for (var X = 280; X < 288; ++X)
|
|
854
|
+
Ne[X] = 8;
|
|
855
855
|
var tt = new de(32);
|
|
856
|
-
for (var
|
|
857
|
-
tt[
|
|
856
|
+
for (var X = 0; X < 32; ++X)
|
|
857
|
+
tt[X] = 5;
|
|
858
858
|
var Ls = /* @__PURE__ */ qe(Ne, 9, 0), Ms = /* @__PURE__ */ qe(tt, 5, 0), Tn = function(t) {
|
|
859
859
|
return (t + 7) / 8 | 0;
|
|
860
860
|
}, Fs = function(t, e, n) {
|
|
@@ -880,7 +880,7 @@ var Ls = /* @__PURE__ */ qe(Ne, 9, 0), Ms = /* @__PURE__ */ qe(tt, 5, 0), Tn = f
|
|
|
880
880
|
if (s.code = t, Error.captureStackTrace && Error.captureStackTrace(s, Ps), !n)
|
|
881
881
|
throw s;
|
|
882
882
|
return s;
|
|
883
|
-
},
|
|
883
|
+
}, ve = function(t, e, n) {
|
|
884
884
|
n <<= e & 7;
|
|
885
885
|
var s = e / 8 | 0;
|
|
886
886
|
t[s] |= n, t[s + 1] |= n >> 8;
|
|
@@ -908,23 +908,23 @@ var Ls = /* @__PURE__ */ qe(Ne, 9, 0), Ms = /* @__PURE__ */ qe(tt, 5, 0), Tn = f
|
|
|
908
908
|
r[s].s > p && (p = r[s].s);
|
|
909
909
|
var b = new re(p + 1), w = pt(n[a - 1], b, 0);
|
|
910
910
|
if (w > e) {
|
|
911
|
-
var s = 0,
|
|
911
|
+
var s = 0, v = 0, T = w - e, N = 1 << T;
|
|
912
912
|
for (r.sort(function(R, L) {
|
|
913
913
|
return b[L.s] - b[R.s] || R.f - L.f;
|
|
914
914
|
}); s < i; ++s) {
|
|
915
|
-
var
|
|
916
|
-
if (b[
|
|
917
|
-
|
|
915
|
+
var M = r[s].s;
|
|
916
|
+
if (b[M] > e)
|
|
917
|
+
v += N - (1 << w - b[M]), b[M] = e;
|
|
918
918
|
else
|
|
919
919
|
break;
|
|
920
920
|
}
|
|
921
|
-
for (
|
|
922
|
-
var
|
|
923
|
-
b[
|
|
921
|
+
for (v >>= T; v > 0; ) {
|
|
922
|
+
var D = r[s].s;
|
|
923
|
+
b[D] < e ? v -= 1 << e - b[D]++ - 1 : ++s;
|
|
924
924
|
}
|
|
925
|
-
for (; s >= 0 &&
|
|
925
|
+
for (; s >= 0 && v; --s) {
|
|
926
926
|
var k = r[s].s;
|
|
927
|
-
b[k] == e && (--b[k], ++
|
|
927
|
+
b[k] == e && (--b[k], ++v);
|
|
928
928
|
}
|
|
929
929
|
w = e;
|
|
930
930
|
}
|
|
@@ -965,91 +965,91 @@ var Ls = /* @__PURE__ */ qe(Ne, 9, 0), Ms = /* @__PURE__ */ qe(tt, 5, 0), Tn = f
|
|
|
965
965
|
t[i + r + 4] = n[r];
|
|
966
966
|
return (i + 4 + s) * 8;
|
|
967
967
|
}, un = function(t, e, n, s, i, r, o, l, c, u, a) {
|
|
968
|
-
|
|
969
|
-
for (var d = ct(i, 15), p = d.t, b = d.l, w = ct(r, 15),
|
|
970
|
-
++L[
|
|
968
|
+
ve(e, a++, n), ++i[256];
|
|
969
|
+
for (var d = ct(i, 15), p = d.t, b = d.l, w = ct(r, 15), v = w.t, T = w.l, N = ln(p), M = N.c, D = N.n, k = ln(v), _ = k.c, R = k.n, L = new re(19), I = 0; I < M.length; ++I)
|
|
970
|
+
++L[M[I] & 31];
|
|
971
971
|
for (var I = 0; I < _.length; ++I)
|
|
972
972
|
++L[_[I] & 31];
|
|
973
|
-
for (var
|
|
973
|
+
for (var E = ct(L, 7), P = E.t, U = E.l, j = 19; j > 4 && !P[an[j - 1]]; --j)
|
|
974
974
|
;
|
|
975
|
-
var z = u + 5 << 3, C = Ue(i, Ne) + Ue(r, tt) + o,
|
|
976
|
-
if (c >= 0 && z <= C && z <=
|
|
975
|
+
var z = u + 5 << 3, C = Ue(i, Ne) + Ue(r, tt) + o, F = Ue(i, p) + Ue(r, v) + o + 14 + 3 * j + Ue(L, P) + 2 * L[16] + 3 * L[17] + 7 * L[18];
|
|
976
|
+
if (c >= 0 && z <= C && z <= F)
|
|
977
977
|
return En(e, a, t.subarray(c, c + u));
|
|
978
|
-
var V,
|
|
979
|
-
if (
|
|
980
|
-
V = qe(p, b, 0),
|
|
981
|
-
var f = qe(
|
|
982
|
-
|
|
978
|
+
var V, K, $, y;
|
|
979
|
+
if (ve(e, a, 1 + (F < C)), a += 2, F < C) {
|
|
980
|
+
V = qe(p, b, 0), K = p, $ = qe(v, T, 0), y = v;
|
|
981
|
+
var f = qe(P, U, 0);
|
|
982
|
+
ve(e, a, D - 257), ve(e, a + 5, R - 1), ve(e, a + 10, j - 4), a += 14;
|
|
983
983
|
for (var I = 0; I < j; ++I)
|
|
984
|
-
|
|
984
|
+
ve(e, a + 3 * I, P[an[I]]);
|
|
985
985
|
a += 3 * j;
|
|
986
|
-
for (var h = [
|
|
986
|
+
for (var h = [M, _], m = 0; m < 2; ++m)
|
|
987
987
|
for (var g = h[m], I = 0; I < g.length; ++I) {
|
|
988
988
|
var S = g[I] & 31;
|
|
989
|
-
|
|
989
|
+
ve(e, a, f[S]), a += P[S], S > 15 && (ve(e, a, g[I] >> 5 & 127), a += g[I] >> 12);
|
|
990
990
|
}
|
|
991
991
|
} else
|
|
992
|
-
V = Ls,
|
|
992
|
+
V = Ls, K = Ne, $ = Ms, y = tt;
|
|
993
993
|
for (var I = 0; I < l; ++I) {
|
|
994
994
|
var x = s[I];
|
|
995
995
|
if (x > 255) {
|
|
996
996
|
var S = x >> 18 & 31;
|
|
997
|
-
ze(e, a, V[S + 257]), a +=
|
|
998
|
-
var
|
|
999
|
-
ze(e, a, $[
|
|
997
|
+
ze(e, a, V[S + 257]), a += K[S + 257], S > 7 && (ve(e, a, x >> 23 & 31), a += kt[S]);
|
|
998
|
+
var A = x & 31;
|
|
999
|
+
ze(e, a, $[A]), a += y[A], A > 3 && (ze(e, a, x >> 5 & 8191), a += Tt[A]);
|
|
1000
1000
|
} else
|
|
1001
|
-
ze(e, a, V[x]), a +=
|
|
1001
|
+
ze(e, a, V[x]), a += K[x];
|
|
1002
1002
|
}
|
|
1003
|
-
return ze(e, a, V[256]), a +
|
|
1003
|
+
return ze(e, a, V[256]), a + K[256];
|
|
1004
1004
|
}, Bs = /* @__PURE__ */ new xt([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]), In = /* @__PURE__ */ new de(0), js = function(t, e, n, s, i, r) {
|
|
1005
1005
|
var o = r.z || t.length, l = new de(s + o + 5 * (1 + Math.ceil(o / 7e3)) + i), c = l.subarray(s, l.length - i), u = r.l, a = (r.r || 0) & 7;
|
|
1006
1006
|
if (e) {
|
|
1007
1007
|
a && (c[0] = r.r >> 3);
|
|
1008
|
-
for (var d = Bs[e - 1], p = d >> 13, b = d & 8191, w = (1 << n) - 1,
|
|
1009
|
-
return (t[ne] ^ t[ne + 1] <<
|
|
1010
|
-
}, k = new xt(25e3), _ = new re(288), R = new re(32), L = 0, I = 0,
|
|
1011
|
-
var z =
|
|
1012
|
-
if (
|
|
1013
|
-
var V = o -
|
|
1014
|
-
if ((L > 7e3 ||
|
|
1015
|
-
a = un(t, c, 0, k, _, R, I,
|
|
1016
|
-
for (var
|
|
1017
|
-
_[
|
|
1018
|
-
for (var
|
|
1019
|
-
R[
|
|
1008
|
+
for (var d = Bs[e - 1], p = d >> 13, b = d & 8191, w = (1 << n) - 1, v = r.p || new re(32768), T = r.h || new re(w + 1), N = Math.ceil(n / 3), M = 2 * N, D = function(ne) {
|
|
1009
|
+
return (t[ne] ^ t[ne + 1] << N ^ t[ne + 2] << M) & w;
|
|
1010
|
+
}, k = new xt(25e3), _ = new re(288), R = new re(32), L = 0, I = 0, E = r.i || 0, P = 0, U = r.w || 0, j = 0; E + 2 < o; ++E) {
|
|
1011
|
+
var z = D(E), C = E & 32767, F = T[z];
|
|
1012
|
+
if (v[C] = F, T[z] = C, U <= E) {
|
|
1013
|
+
var V = o - E;
|
|
1014
|
+
if ((L > 7e3 || P > 24576) && (V > 423 || !u)) {
|
|
1015
|
+
a = un(t, c, 0, k, _, R, I, P, j, E - j, a), P = L = I = 0, j = E;
|
|
1016
|
+
for (var K = 0; K < 286; ++K)
|
|
1017
|
+
_[K] = 0;
|
|
1018
|
+
for (var K = 0; K < 30; ++K)
|
|
1019
|
+
R[K] = 0;
|
|
1020
1020
|
}
|
|
1021
|
-
var $ = 2,
|
|
1022
|
-
if (V > 2 && z ==
|
|
1023
|
-
for (var m = Math.min(p, V) - 1, g = Math.min(32767,
|
|
1024
|
-
if (t[
|
|
1025
|
-
for (var x = 0; x < S && t[
|
|
1021
|
+
var $ = 2, y = 0, f = b, h = C - F & 32767;
|
|
1022
|
+
if (V > 2 && z == D(E - h))
|
|
1023
|
+
for (var m = Math.min(p, V) - 1, g = Math.min(32767, E), S = Math.min(258, V); h <= g && --f && C != F; ) {
|
|
1024
|
+
if (t[E + $] == t[E + $ - h]) {
|
|
1025
|
+
for (var x = 0; x < S && t[E + x] == t[E + x - h]; ++x)
|
|
1026
1026
|
;
|
|
1027
1027
|
if (x > $) {
|
|
1028
|
-
if ($ = x,
|
|
1028
|
+
if ($ = x, y = h, x > m)
|
|
1029
1029
|
break;
|
|
1030
|
-
for (var
|
|
1031
|
-
var q =
|
|
1032
|
-
W >
|
|
1030
|
+
for (var A = Math.min(h, x - 2), B = 0, K = 0; K < A; ++K) {
|
|
1031
|
+
var q = E - h + K & 32767, O = v[q], W = q - O & 32767;
|
|
1032
|
+
W > B && (B = W, F = q);
|
|
1033
1033
|
}
|
|
1034
1034
|
}
|
|
1035
1035
|
}
|
|
1036
|
-
C =
|
|
1036
|
+
C = F, F = v[C], h += C - F & 32767;
|
|
1037
1037
|
}
|
|
1038
|
-
if (
|
|
1039
|
-
k[
|
|
1040
|
-
var ee = dt[$] & 31, oe = cn[
|
|
1041
|
-
I += kt[ee] + Tt[oe], ++_[257 + ee], ++R[oe], U =
|
|
1038
|
+
if (y) {
|
|
1039
|
+
k[P++] = 268435456 | dt[$] << 18 | cn[y];
|
|
1040
|
+
var ee = dt[$] & 31, oe = cn[y] & 31;
|
|
1041
|
+
I += kt[ee] + Tt[oe], ++_[257 + ee], ++R[oe], U = E + $, ++L;
|
|
1042
1042
|
} else
|
|
1043
|
-
k[
|
|
1043
|
+
k[P++] = t[E], ++_[t[E]];
|
|
1044
1044
|
}
|
|
1045
1045
|
}
|
|
1046
|
-
for (
|
|
1047
|
-
k[
|
|
1048
|
-
a = un(t, c, u, k, _, R, I,
|
|
1046
|
+
for (E = Math.max(E, U); E < o; ++E)
|
|
1047
|
+
k[P++] = t[E], ++_[t[E]];
|
|
1048
|
+
a = un(t, c, u, k, _, R, I, P, j, E - j, a), u || (r.r = a & 7 | c[a / 8 | 0] << 3, a -= 7, r.h = T, r.p = v, r.i = E, r.w = U);
|
|
1049
1049
|
} else {
|
|
1050
|
-
for (var
|
|
1051
|
-
var te =
|
|
1052
|
-
te >= o && (c[a / 8 | 0] = u, te = o), a = En(c, a + 1, t.subarray(
|
|
1050
|
+
for (var E = r.w || 0; E < o + u; E += 65535) {
|
|
1051
|
+
var te = E + 65535;
|
|
1052
|
+
te >= o && (c[a / 8 | 0] = u, te = o), a = En(c, a + 1, t.subarray(E, te));
|
|
1053
1053
|
}
|
|
1054
1054
|
r.i = o;
|
|
1055
1055
|
}
|
|
@@ -1119,9 +1119,9 @@ var Ls = /* @__PURE__ */ qe(Ne, 9, 0), Ms = /* @__PURE__ */ qe(tt, 5, 0), Tn = f
|
|
|
1119
1119
|
nt[n] = { c: Wn(t[o], i, r), e: r };
|
|
1120
1120
|
}
|
|
1121
1121
|
var c = xi({}, nt[n].e);
|
|
1122
|
-
return
|
|
1122
|
+
return vi(nt[n].c + ";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=" + e.toString() + "}", n, c, ki(c), s);
|
|
1123
1123
|
}, Ei = function() {
|
|
1124
|
-
return [de, re, xt, kt, Tt, an, dt, cn, Ls, Ne, Ms, tt, ft, Bs, In, qe,
|
|
1124
|
+
return [de, re, xt, kt, Tt, an, dt, cn, Ls, Ne, Ms, tt, ft, Bs, In, qe, ve, ze, ct, pt, ln, Ue, En, un, Tn, Fs, js, Cn, _i, Hs];
|
|
1125
1125
|
}, Ii = function() {
|
|
1126
1126
|
return [$s, qs, gt, Us, zs];
|
|
1127
1127
|
}, Hs = function(t) {
|
|
@@ -1948,7 +1948,7 @@ function pn(t, e, n, s) {
|
|
|
1948
1948
|
s
|
|
1949
1949
|
];
|
|
1950
1950
|
}
|
|
1951
|
-
function
|
|
1951
|
+
function bt(t, e, n, s, i, r, o, l, c) {
|
|
1952
1952
|
return [
|
|
1953
1953
|
83,
|
|
1954
1954
|
t,
|
|
@@ -1973,7 +1973,7 @@ function mr(t, e, n, s, i, r) {
|
|
|
1973
1973
|
r
|
|
1974
1974
|
];
|
|
1975
1975
|
}
|
|
1976
|
-
function
|
|
1976
|
+
function br(t, e, n, s, i, r) {
|
|
1977
1977
|
return [
|
|
1978
1978
|
112,
|
|
1979
1979
|
t,
|
|
@@ -1992,7 +1992,7 @@ function ss(t, e, n) {
|
|
|
1992
1992
|
n
|
|
1993
1993
|
];
|
|
1994
1994
|
}
|
|
1995
|
-
function
|
|
1995
|
+
function vr(t) {
|
|
1996
1996
|
return [
|
|
1997
1997
|
114,
|
|
1998
1998
|
t
|
|
@@ -2493,7 +2493,7 @@ function H(t, e, n, s, i) {
|
|
|
2493
2493
|
const r = document.createElement(t);
|
|
2494
2494
|
return r.className = e, Object.assign(r.style, n), s && (r.textContent = s), i && (r.id = i), r;
|
|
2495
2495
|
}
|
|
2496
|
-
const ut = "or_uxt_test_start", mn = "or_uxt_task_index",
|
|
2496
|
+
const ut = "or_uxt_test_start", mn = "or_uxt_task_index", bn = "or_uxt_session_id", qr = "or_uxt_test_id";
|
|
2497
2497
|
class Wr {
|
|
2498
2498
|
constructor(e, n, s, i, r, o, l, c, u) {
|
|
2499
2499
|
this.ingestPoint = e, this.getTimestamp = n, this.token = s, this.testId = i, this.storageKey = r, this.setStorageKey = o, this.removeStorageKey = l, this.getStorageKey = c, this.getSessionId = u, this.durations = {
|
|
@@ -2504,7 +2504,7 @@ class Wr {
|
|
|
2504
2504
|
}, this.signalTask = (d, p, b) => {
|
|
2505
2505
|
if (!d)
|
|
2506
2506
|
return console.error("User Testing: No Task ID Given");
|
|
2507
|
-
const w = this.durations.tasks.find((
|
|
2507
|
+
const w = this.durations.tasks.find((N) => N.taskId === d), v = this.getTimestamp(), T = w ? v - w.started : 0;
|
|
2508
2508
|
return fetch(`${this.ingestPoint}/v1/web/uxt/signals/task`, {
|
|
2509
2509
|
method: "POST",
|
|
2510
2510
|
headers: {
|
|
@@ -2515,16 +2515,16 @@ class Wr {
|
|
|
2515
2515
|
testId: this.testId,
|
|
2516
2516
|
taskId: d,
|
|
2517
2517
|
status: p,
|
|
2518
|
-
duration:
|
|
2519
|
-
timestamp:
|
|
2518
|
+
duration: T,
|
|
2519
|
+
timestamp: v,
|
|
2520
2520
|
taskAnswer: b
|
|
2521
2521
|
})
|
|
2522
2522
|
});
|
|
2523
2523
|
}, this.signalTest = (d) => {
|
|
2524
2524
|
const p = this.getTimestamp();
|
|
2525
2525
|
if (d === "begin" && this.testId) {
|
|
2526
|
-
const
|
|
2527
|
-
this.setStorageKey(
|
|
2526
|
+
const v = this.getSessionId();
|
|
2527
|
+
this.setStorageKey(bn, v), this.setStorageKey(this.storageKey, this.testId.toString()), this.setStorageKey(ut, p.toString());
|
|
2528
2528
|
} else
|
|
2529
2529
|
this.removeStorageKey(this.storageKey), this.removeStorageKey(mn), this.removeStorageKey(ut);
|
|
2530
2530
|
const b = this.durations.testStart || p, w = p - b;
|
|
@@ -2562,8 +2562,8 @@ class Vr {
|
|
|
2562
2562
|
});
|
|
2563
2563
|
}, this.hideTaskSection = () => !1, this.showTaskSection = () => !0, this.collapseWidget = () => !1, this.removeGreeting = () => !1, this.toggleDescriptionVisibility = () => {
|
|
2564
2564
|
}, this.currentTaskIndex = 0, this.userRecorder = new Br(e);
|
|
2565
|
-
const s = this.app.getSessionID(), i = this.app.localStorage.getItem(
|
|
2566
|
-
s !== i && (this.app.localStorage.removeItem(this.storageKey), this.app.localStorage.removeItem(
|
|
2565
|
+
const s = this.app.getSessionID(), i = this.app.localStorage.getItem(bn);
|
|
2566
|
+
s !== i && (this.app.localStorage.removeItem(this.storageKey), this.app.localStorage.removeItem(bn), this.app.localStorage.removeItem(qr), this.app.localStorage.removeItem(mn), this.app.localStorage.removeItem(ut));
|
|
2567
2567
|
const r = this.app.localStorage.getItem(mn);
|
|
2568
2568
|
r && (this.currentTaskIndex = parseInt(r, 10));
|
|
2569
2569
|
}
|
|
@@ -2647,7 +2647,7 @@ class Vr {
|
|
|
2647
2647
|
}, c.onclick = () => {
|
|
2648
2648
|
var a, d, p;
|
|
2649
2649
|
if (u(), this.test) {
|
|
2650
|
-
const b = (a = this.signalManager) == null ? void 0 : a.getDurations(), w = b ? b.tasks.findIndex((
|
|
2650
|
+
const b = (a = this.signalManager) == null ? void 0 : a.getDurations(), w = b ? b.tasks.findIndex((v) => this.test && v.taskId === this.test.tasks[0].task_id) : null;
|
|
2651
2651
|
b && w === -1 && (b.tasks.push({
|
|
2652
2652
|
taskId: this.test.tasks[0].task_id,
|
|
2653
2653
|
started: this.app.timestamp()
|
|
@@ -2668,9 +2668,9 @@ class Vr {
|
|
|
2668
2668
|
resize: "vertical"
|
|
2669
2669
|
}), w = H("div", "inputArea", us);
|
|
2670
2670
|
w.append(p, b);
|
|
2671
|
-
const
|
|
2672
|
-
s.append(i, r), c.append(u, a), d.append(
|
|
2673
|
-
const
|
|
2671
|
+
const v = H("div", "closePanelButton", Zs, "Collapse Panel"), T = H("div", "nextButton", Mr, "Done, Next");
|
|
2672
|
+
s.append(i, r), c.append(u, a), d.append(v, T), o.append(l, c, w, d), n.append(s, o);
|
|
2673
|
+
const N = () => {
|
|
2674
2674
|
const k = e[this.currentTaskIndex];
|
|
2675
2675
|
u.textContent = k.title, a.textContent = k.description, k.allow_typing ? w.style.display = "flex" : w.style.display = "none";
|
|
2676
2676
|
};
|
|
@@ -2688,13 +2688,13 @@ class Vr {
|
|
|
2688
2688
|
}, (_ + 1).toString());
|
|
2689
2689
|
R.id = `or_task_${_}`, l.append(R);
|
|
2690
2690
|
});
|
|
2691
|
-
const
|
|
2691
|
+
const M = () => {
|
|
2692
2692
|
this.widgetTasksVisible = !this.widgetTasksVisible, r.textContent = this.widgetTasksVisible ? "-" : "+", Object.assign(o.style, this.widgetTasksVisible ? Be : { display: "none" });
|
|
2693
2693
|
};
|
|
2694
2694
|
this.hideTaskSection = () => (r.textContent = "+", Object.assign(o.style, {
|
|
2695
2695
|
display: "none"
|
|
2696
2696
|
}), this.widgetTasksVisible = !1, !1), this.showTaskSection = () => (r.textContent = "-", Object.assign(o.style, Be), this.widgetTasksVisible = !0, !0);
|
|
2697
|
-
const
|
|
2697
|
+
const D = () => {
|
|
2698
2698
|
const k = document.getElementById(`or_task_${this.currentTaskIndex}`);
|
|
2699
2699
|
k && Object.assign(k.style, ls);
|
|
2700
2700
|
for (let _ = 0; _ < this.currentTaskIndex; _++) {
|
|
@@ -2702,22 +2702,22 @@ class Vr {
|
|
|
2702
2702
|
R && Object.assign(R.style, Ar);
|
|
2703
2703
|
}
|
|
2704
2704
|
};
|
|
2705
|
-
return s.onclick =
|
|
2705
|
+
return s.onclick = M, v.onclick = this.collapseWidget, T.onclick = () => {
|
|
2706
2706
|
var _, R, L, I;
|
|
2707
2707
|
const k = e[this.currentTaskIndex].allow_typing ? b.value : void 0;
|
|
2708
2708
|
if (b.value = "", (_ = this.signalManager) == null || _.signalTask(e[this.currentTaskIndex].task_id, "done", k), this.currentTaskIndex < e.length - 1) {
|
|
2709
|
-
this.currentTaskIndex++,
|
|
2710
|
-
const
|
|
2711
|
-
|
|
2709
|
+
this.currentTaskIndex++, N();
|
|
2710
|
+
const E = (R = this.signalManager) == null ? void 0 : R.getDurations();
|
|
2711
|
+
E && E.tasks.findIndex((P) => P.taskId === e[this.currentTaskIndex].task_id) === -1 && (E.tasks.push({
|
|
2712
2712
|
taskId: e[this.currentTaskIndex].task_id,
|
|
2713
2713
|
started: this.app.timestamp()
|
|
2714
|
-
}), (L = this.signalManager) == null || L.setDurations(
|
|
2714
|
+
}), (L = this.signalManager) == null || L.setDurations(E)), (I = this.signalManager) == null || I.signalTask(e[this.currentTaskIndex].task_id, "begin"), D();
|
|
2715
2715
|
} else
|
|
2716
2716
|
this.showEndSection();
|
|
2717
2717
|
this.app.localStorage.setItem("or_uxt_task_index", this.currentTaskIndex.toString());
|
|
2718
2718
|
}, setTimeout(() => {
|
|
2719
2719
|
const k = document.getElementById("or_task_0");
|
|
2720
|
-
k && Object.assign(k.style, ls),
|
|
2720
|
+
k && Object.assign(k.style, ls), N(), D();
|
|
2721
2721
|
}, 1), n;
|
|
2722
2722
|
}
|
|
2723
2723
|
showEndSection() {
|
|
@@ -2742,7 +2742,7 @@ We appreciate your time and valuable input.`), r = H("div", "end_button_or", as,
|
|
|
2742
2742
|
function ei(t) {
|
|
2743
2743
|
return !!t && t.nodeType != null;
|
|
2744
2744
|
}
|
|
2745
|
-
function
|
|
2745
|
+
function vn(t) {
|
|
2746
2746
|
return t.namespaceURI === "http://www.w3.org/2000/svg";
|
|
2747
2747
|
}
|
|
2748
2748
|
function ke(t) {
|
|
@@ -2754,7 +2754,7 @@ function Gr(t) {
|
|
|
2754
2754
|
function yn(t) {
|
|
2755
2755
|
return t.nodeType === Node.TEXT_NODE;
|
|
2756
2756
|
}
|
|
2757
|
-
function
|
|
2757
|
+
function vt(t) {
|
|
2758
2758
|
return t.nodeType === Node.DOCUMENT_NODE;
|
|
2759
2759
|
}
|
|
2760
2760
|
function Et(t) {
|
|
@@ -2989,7 +2989,7 @@ class Rn {
|
|
|
2989
2989
|
this.commited.length = 0, this.recents.clear(), this.indexes.length = 1, this.attributesMap.clear(), this.textSet.clear();
|
|
2990
2990
|
}
|
|
2991
2991
|
sendNodeAttribute(e, n, s, i) {
|
|
2992
|
-
if (
|
|
2992
|
+
if (vn(n)) {
|
|
2993
2993
|
s.substr(0, 6) === "xlink:" && (s = s.substr(6)), i === null ? this.app.send(Yn(e, s)) : s === "href" ? (i.length > 1e5 && (i = ""), this.app.send(hn(e, s, i, this.app.getBaseHref()))) : this.app.attributeSender.sendSetAttribute(e, s, i);
|
|
2994
2994
|
return;
|
|
2995
2995
|
}
|
|
@@ -3090,7 +3090,7 @@ class Rn {
|
|
|
3090
3090
|
const d = a.clientWidth, p = a.clientHeight;
|
|
3091
3091
|
a = n.cloneNode(), a.style.width = `${d}px`, a.style.height = `${p}px`;
|
|
3092
3092
|
}
|
|
3093
|
-
this.app.send(Gi(e, i, c, a.tagName,
|
|
3093
|
+
this.app.send(Gi(e, i, c, a.tagName, vn(n)));
|
|
3094
3094
|
}
|
|
3095
3095
|
for (let d = 0; d < a.attributes.length; d++) {
|
|
3096
3096
|
const p = a.attributes[d];
|
|
@@ -3523,56 +3523,56 @@ let lo = class {
|
|
|
3523
3523
|
if (d.line === ue.iframeSignal) {
|
|
3524
3524
|
const p = d.domain, b = Array.from(document.querySelectorAll("iframe"));
|
|
3525
3525
|
this.pageFrames = b, (async () => {
|
|
3526
|
-
let
|
|
3527
|
-
for (;
|
|
3528
|
-
const
|
|
3529
|
-
if (
|
|
3526
|
+
let v = 0;
|
|
3527
|
+
for (; v < 10; ) {
|
|
3528
|
+
const T = this.checkNodeId(b, p);
|
|
3529
|
+
if (T) {
|
|
3530
3530
|
this.waitStarted().then(() => {
|
|
3531
|
-
var
|
|
3531
|
+
var D;
|
|
3532
3532
|
c++;
|
|
3533
|
-
const
|
|
3533
|
+
const N = this.session.getSessionToken(), M = {
|
|
3534
3534
|
line: ue.iframeId,
|
|
3535
3535
|
context: this.contextId,
|
|
3536
3536
|
domain: p,
|
|
3537
|
-
id:
|
|
3538
|
-
token:
|
|
3537
|
+
id: T,
|
|
3538
|
+
token: N,
|
|
3539
3539
|
frameOrderNumber: c
|
|
3540
3540
|
};
|
|
3541
|
-
this.debug.log("iframe_data",
|
|
3542
|
-
}).catch(console.error),
|
|
3541
|
+
this.debug.log("iframe_data", M), (D = a.source) == null || D.postMessage(M, "*");
|
|
3542
|
+
}).catch(console.error), v = 10;
|
|
3543
3543
|
break;
|
|
3544
3544
|
}
|
|
3545
|
-
|
|
3545
|
+
v++, await co(100);
|
|
3546
3546
|
}
|
|
3547
3547
|
})();
|
|
3548
3548
|
}
|
|
3549
3549
|
if (d.line === ue.iframeBatch) {
|
|
3550
3550
|
const b = d.messages.map((w) => {
|
|
3551
3551
|
if (w[0] === 20) {
|
|
3552
|
-
let
|
|
3553
|
-
return this.pageFrames.forEach((
|
|
3554
|
-
if (
|
|
3555
|
-
const [
|
|
3556
|
-
|
|
3552
|
+
let v = w;
|
|
3553
|
+
return this.pageFrames.forEach((T) => {
|
|
3554
|
+
if (T.dataset.domain === a.data.domain) {
|
|
3555
|
+
const [N, M, D] = w, { left: k, top: _ } = T.getBoundingClientRect();
|
|
3556
|
+
v = [N, M + k, D + _];
|
|
3557
3557
|
}
|
|
3558
|
-
}),
|
|
3558
|
+
}), v;
|
|
3559
3559
|
}
|
|
3560
3560
|
if (w[0] === 68) {
|
|
3561
|
-
let
|
|
3562
|
-
return this.pageFrames.forEach((
|
|
3563
|
-
if (
|
|
3564
|
-
const [
|
|
3565
|
-
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3561
|
+
let v = w;
|
|
3562
|
+
return this.pageFrames.forEach((T) => {
|
|
3563
|
+
if (T.dataset.domain === a.data.domain) {
|
|
3564
|
+
const [N, M, D, k, _, R, L] = w, { left: I, top: E, width: P, height: U } = T.getBoundingClientRect(), j = document.documentElement.scrollWidth, z = document.documentElement.scrollHeight, C = R / 100 * P + I, F = L / 100 * U + E, V = C / j, K = F / z;
|
|
3565
|
+
v = [
|
|
3566
|
+
N,
|
|
3567
|
+
M,
|
|
3568
|
+
D,
|
|
3569
3569
|
k,
|
|
3570
3570
|
_,
|
|
3571
3571
|
Math.round(V * 1e3) / 10,
|
|
3572
|
-
Math.round(
|
|
3572
|
+
Math.round(K * 1e3) / 10
|
|
3573
3573
|
];
|
|
3574
3574
|
}
|
|
3575
|
-
}),
|
|
3575
|
+
}), v;
|
|
3576
3576
|
}
|
|
3577
3577
|
return w;
|
|
3578
3578
|
});
|
|
@@ -4029,8 +4029,8 @@ let lo = class {
|
|
|
4029
4029
|
})
|
|
4030
4030
|
});
|
|
4031
4031
|
if (c.status !== 200) {
|
|
4032
|
-
const C = await c.text(),
|
|
4033
|
-
return Ce(
|
|
4032
|
+
const C = await c.text(), F = C === Qe ? Qe : `Server error: ${c.status}. ${C}`;
|
|
4033
|
+
return Ce(F);
|
|
4034
4034
|
}
|
|
4035
4035
|
if (!this.worker) {
|
|
4036
4036
|
const C = "no worker found after start request (this should not happen in real world)";
|
|
@@ -4045,44 +4045,44 @@ let lo = class {
|
|
|
4045
4045
|
// how big the batch should be before we decide to compress it
|
|
4046
4046
|
delay: w,
|
|
4047
4047
|
// derived from token
|
|
4048
|
-
sessionID:
|
|
4048
|
+
sessionID: v,
|
|
4049
4049
|
// derived from token
|
|
4050
|
-
startTimestamp:
|
|
4050
|
+
startTimestamp: T,
|
|
4051
4051
|
// real startTS (server time), derived from sessionID
|
|
4052
|
-
userBrowser:
|
|
4053
|
-
userCity:
|
|
4054
|
-
userCountry:
|
|
4052
|
+
userBrowser: N,
|
|
4053
|
+
userCity: M,
|
|
4054
|
+
userCountry: D,
|
|
4055
4055
|
userDevice: k,
|
|
4056
4056
|
userOS: _,
|
|
4057
4057
|
userState: R,
|
|
4058
4058
|
canvasEnabled: L,
|
|
4059
4059
|
canvasQuality: I,
|
|
4060
|
-
canvasFPS:
|
|
4061
|
-
assistOnly:
|
|
4060
|
+
canvasFPS: E,
|
|
4061
|
+
assistOnly: P
|
|
4062
4062
|
} = await c.json();
|
|
4063
|
-
if (typeof u != "string" || typeof a != "string" || typeof
|
|
4063
|
+
if (typeof u != "string" || typeof a != "string" || typeof T != "number" && typeof T < "u" || typeof v != "string" || typeof w != "number" || typeof p != "number" && typeof p < "u") {
|
|
4064
4064
|
const C = `Incorrect server response: ${JSON.stringify(c)}`;
|
|
4065
4065
|
return this.signalError(C, []), Ce(C);
|
|
4066
4066
|
}
|
|
4067
4067
|
this.delay = w, this.session.setSessionToken(u), this.session.setUserInfo({
|
|
4068
|
-
userBrowser:
|
|
4069
|
-
userCity:
|
|
4070
|
-
userCountry:
|
|
4068
|
+
userBrowser: N,
|
|
4069
|
+
userCity: M,
|
|
4070
|
+
userCountry: D,
|
|
4071
4071
|
userDevice: k,
|
|
4072
4072
|
userOS: _,
|
|
4073
4073
|
userState: R
|
|
4074
4074
|
}), this.session.assign({
|
|
4075
|
-
sessionID:
|
|
4076
|
-
timestamp:
|
|
4075
|
+
sessionID: v,
|
|
4076
|
+
timestamp: T || r,
|
|
4077
4077
|
projectID: d
|
|
4078
|
-
}),
|
|
4078
|
+
}), P ? (this.socketMode = !0, this.worker.postMessage("stop")) : this.worker.postMessage({
|
|
4079
4079
|
type: "auth",
|
|
4080
4080
|
token: u,
|
|
4081
4081
|
beaconSizeLimit: p
|
|
4082
|
-
}), !l && u === o && (this.debug.log("continuing session on new tab", this.session.getTabId()), this.send(lt(this.session.getTabId()))), Object.entries(this.session.getInfo().metadata).forEach(([C,
|
|
4083
|
-
const U = { sessionToken: u, userUUID: a, sessionID:
|
|
4082
|
+
}), !l && u === o && (this.debug.log("continuing session on new tab", this.session.getTabId()), this.send(lt(this.session.getTabId()))), Object.entries(this.session.getInfo().metadata).forEach(([C, F]) => this.send(Qn(C, F))), this.localStorage.setItem(this.options.local_uuid_key, a), this.compressionThreshold = b;
|
|
4083
|
+
const U = { sessionToken: u, userUUID: a, sessionID: v };
|
|
4084
4084
|
if (this.startCallbacks.forEach((C) => C(U)), this.featureFlags.reloadFlags(), await this.tagWatcher.fetchTags(this.options.ingestPoint, u), this.activityState = Q.Active, L && !this.options.canvas.disableCanvas && (this.canvasRecorder = this.canvasRecorder ?? new Kr(this, {
|
|
4085
|
-
fps:
|
|
4085
|
+
fps: E,
|
|
4086
4086
|
quality: I,
|
|
4087
4087
|
isDebug: this.options.canvas.__save_canvas_locally,
|
|
4088
4088
|
fixedScaling: this.options.canvas.fixedCanvasScaling,
|
|
@@ -4100,12 +4100,12 @@ let lo = class {
|
|
|
4100
4100
|
if (z && (j = parseInt(z, 10)), location != null && location.search) {
|
|
4101
4101
|
const C = new URLSearchParams(location.search);
|
|
4102
4102
|
if (C.has("oruxt")) {
|
|
4103
|
-
const
|
|
4104
|
-
j =
|
|
4103
|
+
const F = C.get("oruxt");
|
|
4104
|
+
j = F ? parseInt(F, 10) : void 0;
|
|
4105
4105
|
}
|
|
4106
4106
|
}
|
|
4107
4107
|
return j && (this.uxtManager.isActive ? this.onUxtCb.forEach((C) => C(j)) : this.uxtManager.getTest(j, u, !!z).then((C) => {
|
|
4108
|
-
C && this.onUxtCb.forEach((
|
|
4108
|
+
C && this.onUxtCb.forEach((F) => F(C));
|
|
4109
4109
|
})), ao(U);
|
|
4110
4110
|
} catch (c) {
|
|
4111
4111
|
if (this.stop(), this.session.reset(), c === Qe)
|
|
@@ -4243,10 +4243,10 @@ function po(t) {
|
|
|
4243
4243
|
}
|
|
4244
4244
|
})), t.map(ms).join(" ");
|
|
4245
4245
|
}
|
|
4246
|
-
const
|
|
4246
|
+
const bs = ["log", "info", "warn", "error", "debug", "assert"];
|
|
4247
4247
|
function go(t, e) {
|
|
4248
4248
|
const n = Object.assign({
|
|
4249
|
-
consoleMethods:
|
|
4249
|
+
consoleMethods: bs,
|
|
4250
4250
|
consoleThrottling: 30
|
|
4251
4251
|
}, e);
|
|
4252
4252
|
if (!Array.isArray(n.consoleMethods) || n.consoleMethods.length === 0)
|
|
@@ -4264,7 +4264,7 @@ function go(t, e) {
|
|
|
4264
4264
|
}
|
|
4265
4265
|
};
|
|
4266
4266
|
n.consoleMethods.forEach((d) => {
|
|
4267
|
-
if (
|
|
4267
|
+
if (bs.indexOf(d) === -1) {
|
|
4268
4268
|
t.debug.error(`OpenReplay: unsupported console method "${d}"`);
|
|
4269
4269
|
return;
|
|
4270
4270
|
}
|
|
@@ -4274,83 +4274,83 @@ function go(t, e) {
|
|
|
4274
4274
|
}, l = t.safe((c) => o(c.console, c));
|
|
4275
4275
|
l(window), t.observer.attachContextCallback(l);
|
|
4276
4276
|
}
|
|
4277
|
-
var si = { exports: {} }, nn = { exports: {} },
|
|
4277
|
+
var si = { exports: {} }, nn = { exports: {} }, vs;
|
|
4278
4278
|
function mo() {
|
|
4279
|
-
return
|
|
4279
|
+
return vs || (vs = 1, function(t, e) {
|
|
4280
4280
|
(function(n, s) {
|
|
4281
4281
|
t.exports = s();
|
|
4282
4282
|
})($e, function() {
|
|
4283
|
-
function n(
|
|
4284
|
-
return !isNaN(parseFloat(
|
|
4283
|
+
function n(v) {
|
|
4284
|
+
return !isNaN(parseFloat(v)) && isFinite(v);
|
|
4285
4285
|
}
|
|
4286
|
-
function s(
|
|
4287
|
-
return
|
|
4286
|
+
function s(v) {
|
|
4287
|
+
return v.charAt(0).toUpperCase() + v.substring(1);
|
|
4288
4288
|
}
|
|
4289
|
-
function i(
|
|
4289
|
+
function i(v) {
|
|
4290
4290
|
return function() {
|
|
4291
|
-
return this[
|
|
4291
|
+
return this[v];
|
|
4292
4292
|
};
|
|
4293
4293
|
}
|
|
4294
4294
|
var r = ["isConstructor", "isEval", "isNative", "isToplevel"], o = ["columnNumber", "lineNumber"], l = ["fileName", "functionName", "source"], c = ["args"], u = ["evalOrigin"], a = r.concat(o, l, c, u);
|
|
4295
|
-
function d(
|
|
4296
|
-
if (
|
|
4297
|
-
for (var
|
|
4298
|
-
|
|
4295
|
+
function d(v) {
|
|
4296
|
+
if (v)
|
|
4297
|
+
for (var T = 0; T < a.length; T++)
|
|
4298
|
+
v[a[T]] !== void 0 && this["set" + s(a[T])](v[a[T]]);
|
|
4299
4299
|
}
|
|
4300
4300
|
d.prototype = {
|
|
4301
4301
|
getArgs: function() {
|
|
4302
4302
|
return this.args;
|
|
4303
4303
|
},
|
|
4304
|
-
setArgs: function(
|
|
4305
|
-
if (Object.prototype.toString.call(
|
|
4304
|
+
setArgs: function(v) {
|
|
4305
|
+
if (Object.prototype.toString.call(v) !== "[object Array]")
|
|
4306
4306
|
throw new TypeError("Args must be an Array");
|
|
4307
|
-
this.args =
|
|
4307
|
+
this.args = v;
|
|
4308
4308
|
},
|
|
4309
4309
|
getEvalOrigin: function() {
|
|
4310
4310
|
return this.evalOrigin;
|
|
4311
4311
|
},
|
|
4312
|
-
setEvalOrigin: function(
|
|
4313
|
-
if (
|
|
4314
|
-
this.evalOrigin =
|
|
4315
|
-
else if (
|
|
4316
|
-
this.evalOrigin = new d(
|
|
4312
|
+
setEvalOrigin: function(v) {
|
|
4313
|
+
if (v instanceof d)
|
|
4314
|
+
this.evalOrigin = v;
|
|
4315
|
+
else if (v instanceof Object)
|
|
4316
|
+
this.evalOrigin = new d(v);
|
|
4317
4317
|
else
|
|
4318
4318
|
throw new TypeError("Eval Origin must be an Object or StackFrame");
|
|
4319
4319
|
},
|
|
4320
4320
|
toString: function() {
|
|
4321
|
-
var
|
|
4322
|
-
return this.getIsEval() ?
|
|
4321
|
+
var v = this.getFileName() || "", T = this.getLineNumber() || "", N = this.getColumnNumber() || "", M = this.getFunctionName() || "";
|
|
4322
|
+
return this.getIsEval() ? v ? "[eval] (" + v + ":" + T + ":" + N + ")" : "[eval]:" + T + ":" + N : M ? M + " (" + v + ":" + T + ":" + N + ")" : v + ":" + T + ":" + N;
|
|
4323
4323
|
}
|
|
4324
|
-
}, d.fromString = function(
|
|
4325
|
-
var
|
|
4324
|
+
}, d.fromString = function(T) {
|
|
4325
|
+
var N = T.indexOf("("), M = T.lastIndexOf(")"), D = T.substring(0, N), k = T.substring(N + 1, M).split(","), _ = T.substring(M + 1);
|
|
4326
4326
|
if (_.indexOf("@") === 0)
|
|
4327
|
-
var R = /@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(_, ""), L = R[1], I = R[2],
|
|
4327
|
+
var R = /@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(_, ""), L = R[1], I = R[2], E = R[3];
|
|
4328
4328
|
return new d({
|
|
4329
|
-
functionName:
|
|
4329
|
+
functionName: D,
|
|
4330
4330
|
args: k || void 0,
|
|
4331
4331
|
fileName: L,
|
|
4332
4332
|
lineNumber: I || void 0,
|
|
4333
|
-
columnNumber:
|
|
4333
|
+
columnNumber: E || void 0
|
|
4334
4334
|
});
|
|
4335
4335
|
};
|
|
4336
4336
|
for (var p = 0; p < r.length; p++)
|
|
4337
|
-
d.prototype["get" + s(r[p])] = i(r[p]), d.prototype["set" + s(r[p])] = /* @__PURE__ */ function(
|
|
4338
|
-
return function(
|
|
4339
|
-
this[
|
|
4337
|
+
d.prototype["get" + s(r[p])] = i(r[p]), d.prototype["set" + s(r[p])] = /* @__PURE__ */ function(v) {
|
|
4338
|
+
return function(T) {
|
|
4339
|
+
this[v] = !!T;
|
|
4340
4340
|
};
|
|
4341
4341
|
}(r[p]);
|
|
4342
4342
|
for (var b = 0; b < o.length; b++)
|
|
4343
|
-
d.prototype["get" + s(o[b])] = i(o[b]), d.prototype["set" + s(o[b])] = /* @__PURE__ */ function(
|
|
4344
|
-
return function(
|
|
4345
|
-
if (!n(
|
|
4346
|
-
throw new TypeError(
|
|
4347
|
-
this[
|
|
4343
|
+
d.prototype["get" + s(o[b])] = i(o[b]), d.prototype["set" + s(o[b])] = /* @__PURE__ */ function(v) {
|
|
4344
|
+
return function(T) {
|
|
4345
|
+
if (!n(T))
|
|
4346
|
+
throw new TypeError(v + " must be a Number");
|
|
4347
|
+
this[v] = Number(T);
|
|
4348
4348
|
};
|
|
4349
4349
|
}(o[b]);
|
|
4350
4350
|
for (var w = 0; w < l.length; w++)
|
|
4351
|
-
d.prototype["get" + s(l[w])] = i(l[w]), d.prototype["set" + s(l[w])] = /* @__PURE__ */ function(
|
|
4352
|
-
return function(
|
|
4353
|
-
this[
|
|
4351
|
+
d.prototype["get" + s(l[w])] = i(l[w]), d.prototype["set" + s(l[w])] = /* @__PURE__ */ function(v) {
|
|
4352
|
+
return function(T) {
|
|
4353
|
+
this[v] = String(T);
|
|
4354
4354
|
};
|
|
4355
4355
|
}(l[w]);
|
|
4356
4356
|
return d;
|
|
@@ -4394,10 +4394,10 @@ function mo() {
|
|
|
4394
4394
|
a.indexOf("(eval ") > -1 && (a = a.replace(/eval code/g, "eval").replace(/(\(eval at [^()]*)|(,.*$)/g, ""));
|
|
4395
4395
|
var d = a.replace(/^\s+/, "").replace(/\(eval code/g, "(").replace(/^.*?\s+/, ""), p = d.match(/ (\(.+\)$)/);
|
|
4396
4396
|
d = p ? d.replace(p[0], "") : d;
|
|
4397
|
-
var b = this.extractLocation(p ? p[1] : d), w = p && d || void 0,
|
|
4397
|
+
var b = this.extractLocation(p ? p[1] : d), w = p && d || void 0, v = ["eval", "<anonymous>"].indexOf(b[0]) > -1 ? void 0 : b[0];
|
|
4398
4398
|
return new s({
|
|
4399
4399
|
functionName: w,
|
|
4400
|
-
fileName:
|
|
4400
|
+
fileName: v,
|
|
4401
4401
|
lineNumber: b[1],
|
|
4402
4402
|
columnNumber: b[2],
|
|
4403
4403
|
source: a
|
|
@@ -4464,12 +4464,12 @@ function mo() {
|
|
|
4464
4464
|
return !!a.match(i) && !a.match(/^Error created at/);
|
|
4465
4465
|
}, this);
|
|
4466
4466
|
return u.map(function(a) {
|
|
4467
|
-
var d = a.split("@"), p = this.extractLocation(d.pop()), b = d.shift() || "", w = b.replace(/<anonymous function(: (\w+))?>/, "$2").replace(/\([^)]*\)/g, "") || void 0,
|
|
4468
|
-
b.match(/\(([^)]*)\)/) && (
|
|
4469
|
-
var
|
|
4467
|
+
var d = a.split("@"), p = this.extractLocation(d.pop()), b = d.shift() || "", w = b.replace(/<anonymous function(: (\w+))?>/, "$2").replace(/\([^)]*\)/g, "") || void 0, v;
|
|
4468
|
+
b.match(/\(([^)]*)\)/) && (v = b.replace(/^[^(]+\(([^)]*)\)$/, "$1"));
|
|
4469
|
+
var T = v === void 0 || v === "[arguments not available]" ? void 0 : v.split(",");
|
|
4470
4470
|
return new s({
|
|
4471
4471
|
functionName: w,
|
|
4472
|
-
args:
|
|
4472
|
+
args: T,
|
|
4473
4473
|
fileName: p[0],
|
|
4474
4474
|
lineNumber: p[1],
|
|
4475
4475
|
columnNumber: p[2],
|
|
@@ -4480,8 +4480,8 @@ function mo() {
|
|
|
4480
4480
|
};
|
|
4481
4481
|
});
|
|
4482
4482
|
})(si);
|
|
4483
|
-
var
|
|
4484
|
-
const
|
|
4483
|
+
var bo = si.exports;
|
|
4484
|
+
const vo = /* @__PURE__ */ bi(bo);
|
|
4485
4485
|
function ys(t) {
|
|
4486
4486
|
return [
|
|
4487
4487
|
{
|
|
@@ -4496,7 +4496,7 @@ function ys(t) {
|
|
|
4496
4496
|
function wt(t, e, n = {}) {
|
|
4497
4497
|
let s = e;
|
|
4498
4498
|
try {
|
|
4499
|
-
s =
|
|
4499
|
+
s = vo.parse(t);
|
|
4500
4500
|
} catch {
|
|
4501
4501
|
}
|
|
4502
4502
|
return pn(t.name, t.message, JSON.stringify(s), JSON.stringify(n));
|
|
@@ -4681,8 +4681,8 @@ function Co(t, e) {
|
|
|
4681
4681
|
});
|
|
4682
4682
|
}, 3);
|
|
4683
4683
|
function u(a, d, p, b) {
|
|
4684
|
-
const { value: w, mask:
|
|
4685
|
-
t.send(
|
|
4684
|
+
const { value: w, mask: v } = s(a, d), T = ri(d);
|
|
4685
|
+
t.send(br(a, w, v !== 0, T, p, b));
|
|
4686
4686
|
}
|
|
4687
4687
|
t.nodes.attachNodeCallback(t.safe((a) => {
|
|
4688
4688
|
const d = t.nodes.getID(a);
|
|
@@ -4690,14 +4690,14 @@ function Co(t, e) {
|
|
|
4690
4690
|
if (Z(a, "select") && (i(d, a), t.nodes.attachNodeListener(a, "change", () => i(d, a))), To(a)) {
|
|
4691
4691
|
l(d, a);
|
|
4692
4692
|
let p = 0, b = 0, w = 0;
|
|
4693
|
-
const
|
|
4693
|
+
const v = () => {
|
|
4694
4694
|
p = pe();
|
|
4695
|
-
},
|
|
4695
|
+
}, T = () => {
|
|
4696
4696
|
b === 0 && p !== 0 && (b = pe() - p);
|
|
4697
|
-
},
|
|
4697
|
+
}, N = () => {
|
|
4698
4698
|
p !== 0 && (w = pe() - p), u(d, a, b, w), b = 0, w = 0, p = 0;
|
|
4699
4699
|
};
|
|
4700
|
-
t.nodes.attachNodeListener(a, "focus",
|
|
4700
|
+
t.nodes.attachNodeListener(a, "focus", v), t.nodes.attachNodeListener(a, "input", T), t.nodes.attachNodeListener(a, "change", N);
|
|
4701
4701
|
return;
|
|
4702
4702
|
}
|
|
4703
4703
|
if (Eo(a)) {
|
|
@@ -4905,7 +4905,7 @@ function Bo(t, e) {
|
|
|
4905
4905
|
return null;
|
|
4906
4906
|
n = n.parentElement;
|
|
4907
4907
|
}
|
|
4908
|
-
if (
|
|
4908
|
+
if (vn(t)) {
|
|
4909
4909
|
let s = t.ownerSVGElement;
|
|
4910
4910
|
for (; s !== null; )
|
|
4911
4911
|
t = s, s = s.ownerSVGElement;
|
|
@@ -4935,51 +4935,51 @@ function jo(t, e) {
|
|
|
4935
4935
|
return "";
|
|
4936
4936
|
}
|
|
4937
4937
|
let i = -1, r = -1, o = !1, l = null, c = 0, u = {}, a = 0, d = 0, p = 0, b = 0, w;
|
|
4938
|
-
const
|
|
4939
|
-
function
|
|
4940
|
-
const k = b /
|
|
4938
|
+
const v = 8e-3, T = 225;
|
|
4939
|
+
function N() {
|
|
4940
|
+
const k = b / T;
|
|
4941
4941
|
if (!a) {
|
|
4942
4942
|
a = k;
|
|
4943
4943
|
return;
|
|
4944
4944
|
}
|
|
4945
|
-
const _ = (k - a) /
|
|
4946
|
-
p > 4 && _ >
|
|
4945
|
+
const _ = (k - a) / T;
|
|
4946
|
+
p > 4 && _ > v && t.send(vr(pe())), b = 0, p = 0, a = k;
|
|
4947
4947
|
}
|
|
4948
4948
|
t.attachStartCallback(() => {
|
|
4949
|
-
w = setInterval(() =>
|
|
4949
|
+
w = setInterval(() => N(), T);
|
|
4950
4950
|
}), t.attachStopCallback(() => {
|
|
4951
4951
|
i = -1, r = -1, o = !1, l = null, u = {}, w && clearInterval(w);
|
|
4952
4952
|
});
|
|
4953
|
-
const
|
|
4953
|
+
const M = () => {
|
|
4954
4954
|
o && (t.send(tr(i, r)), o = !1);
|
|
4955
|
-
},
|
|
4956
|
-
function R(I,
|
|
4957
|
-
return u[I] = u[I] || Po(
|
|
4955
|
+
}, D = (k, _ = !1) => {
|
|
4956
|
+
function R(I, E, P) {
|
|
4957
|
+
return u[I] = u[I] || Po(E, k, P);
|
|
4958
4958
|
}
|
|
4959
4959
|
const L = _ ? t.attachEventListener.bind(t) : t.nodes.attachNodeListener.bind(t.nodes);
|
|
4960
4960
|
L(k.documentElement, "mouseover", (I) => {
|
|
4961
|
-
const
|
|
4962
|
-
|
|
4961
|
+
const E = Ts(I.target, k);
|
|
4962
|
+
E !== l && (l = E, c = performance.now());
|
|
4963
4963
|
}), L(k, "mousemove", (I) => {
|
|
4964
|
-
const [
|
|
4965
|
-
i = I.clientX +
|
|
4964
|
+
const [E, P] = t.observer.getDocumentOffset(k);
|
|
4965
|
+
i = I.clientX + E, r = I.clientY + P, o = !0;
|
|
4966
4966
|
const U = Math.sign(I.movementX);
|
|
4967
4967
|
b += Math.abs(I.movementX) + Math.abs(I.movementY), U !== d && (d = U, p++);
|
|
4968
4968
|
}, !1), L(k, "click", (I) => {
|
|
4969
|
-
const
|
|
4970
|
-
if (!I.clientX && !I.clientY ||
|
|
4969
|
+
const E = Ts(I.target, k);
|
|
4970
|
+
if (!I.clientX && !I.clientY || E === null)
|
|
4971
4971
|
return;
|
|
4972
|
-
const
|
|
4973
|
-
if (
|
|
4974
|
-
const U = I.pageX, j = I.pageY, z = k.documentElement.scrollWidth, C = k.documentElement.scrollHeight,
|
|
4975
|
-
|
|
4972
|
+
const P = t.nodes.getID(E);
|
|
4973
|
+
if (P !== void 0) {
|
|
4974
|
+
const U = I.pageX, j = I.pageY, z = k.documentElement.scrollWidth, C = k.documentElement.scrollHeight, F = Es(U / z), V = Es(j / C);
|
|
4975
|
+
M(), t.send(pr(P, l === E ? Math.round(performance.now() - c) : 0, s(E), xn(E) && !n ? R(P, E, e) : "", F, V), !0);
|
|
4976
4976
|
}
|
|
4977
4977
|
l = null;
|
|
4978
4978
|
});
|
|
4979
4979
|
};
|
|
4980
4980
|
t.nodes.attachNodeCallback((k) => {
|
|
4981
|
-
|
|
4982
|
-
}),
|
|
4981
|
+
vt(k) && D(k);
|
|
4982
|
+
}), D(document, !0), t.ticker.attach(M, (e == null ? void 0 : e.trackingOffset) || 7);
|
|
4983
4983
|
}
|
|
4984
4984
|
function Es(t) {
|
|
4985
4985
|
return Math.round(t * 1e4);
|
|
@@ -4992,8 +4992,8 @@ function zo(t) {
|
|
|
4992
4992
|
if (Z(r, "img") && (o = r.currentSrc || r.src), !o) {
|
|
4993
4993
|
const w = getComputedStyle(r).getPropertyValue("background-image");
|
|
4994
4994
|
if (w) {
|
|
4995
|
-
const
|
|
4996
|
-
|
|
4995
|
+
const v = s.exec(w);
|
|
4996
|
+
v !== null && (o = v[1], (o.startsWith('"') || o.startsWith("'")) && (o = o.substr(1, o.length - 2)));
|
|
4997
4997
|
}
|
|
4998
4998
|
}
|
|
4999
4999
|
if (!o)
|
|
@@ -5084,11 +5084,11 @@ function Ho(t, e) {
|
|
|
5084
5084
|
responseStart: p,
|
|
5085
5085
|
responseEnd: b,
|
|
5086
5086
|
domContentLoadedEventStart: w,
|
|
5087
|
-
domContentLoadedEventEnd:
|
|
5088
|
-
loadEventStart:
|
|
5089
|
-
loadEventEnd:
|
|
5087
|
+
domContentLoadedEventEnd: v,
|
|
5088
|
+
loadEventStart: T,
|
|
5089
|
+
loadEventEnd: N
|
|
5090
5090
|
} = performance.timing;
|
|
5091
|
-
t.send(sr(d - a || 0, p - a || 0, b - a || 0, w - a || 0,
|
|
5091
|
+
t.send(sr(d - a || 0, p - a || 0, b - a || 0, w - a || 0, v - a || 0, T - a || 0, N - a || 0, l, c));
|
|
5092
5092
|
}
|
|
5093
5093
|
}, 30);
|
|
5094
5094
|
}
|
|
@@ -5098,10 +5098,10 @@ function Ho(t, e) {
|
|
|
5098
5098
|
if (b)
|
|
5099
5099
|
return;
|
|
5100
5100
|
const w = performance.now();
|
|
5101
|
-
if (s !== null && (u = Math.max.apply(null, Object.keys(s).map((
|
|
5101
|
+
if (s !== null && (u = Math.max.apply(null, Object.keys(s).map((v) => s[v])), w - u > 1e3 && (p = zo(s), s = null)), d !== null && (w - d > 50 && (a = w), d = w - a > 5e3 ? null : w), p !== null && d === null || w > 3e4) {
|
|
5102
5102
|
b = !0, s = null;
|
|
5103
|
-
const
|
|
5104
|
-
t.send(ir(
|
|
5103
|
+
const v = p === null ? 0 : Uo(c || l, p), { domContentLoadedEventEnd: T, navigationStart: N } = performance.timing, M = d === null ? Math.max(a, c, T - N || 0) : 0;
|
|
5104
|
+
t.send(ir(v, c > u ? c : u, M));
|
|
5105
5105
|
}
|
|
5106
5106
|
});
|
|
5107
5107
|
}
|
|
@@ -5117,7 +5117,7 @@ function $o(t, e) {
|
|
|
5117
5117
|
let n = !1;
|
|
5118
5118
|
const s = /* @__PURE__ */ new Map();
|
|
5119
5119
|
function i(l) {
|
|
5120
|
-
ei(l) && (ke(l) && s.set(l, [l.scrollLeft, l.scrollTop]),
|
|
5120
|
+
ei(l) && (ke(l) && s.set(l, [l.scrollLeft, l.scrollTop]), vt(l) && s.set(l, rn(l)));
|
|
5121
5121
|
}
|
|
5122
5122
|
const r = t.safe(() => {
|
|
5123
5123
|
e || t.send(Wi(...rn(document)));
|
|
@@ -5128,7 +5128,7 @@ function $o(t, e) {
|
|
|
5128
5128
|
t.attachStartCallback(r), t.attachStopCallback(() => {
|
|
5129
5129
|
n = !1, s.clear();
|
|
5130
5130
|
}), t.nodes.attachNodeCallback((l, c) => {
|
|
5131
|
-
c && (ke(l) && l.scrollLeft + l.scrollTop > 0 ? s.set(l, [l.scrollLeft, l.scrollTop]) :
|
|
5131
|
+
c && (ke(l) && l.scrollLeft + l.scrollTop > 0 ? s.set(l, [l.scrollLeft, l.scrollTop]) : vt(l) && s.set(l, rn(l))), Et(l) && t.nodes.attachNodeListener(l, "scroll", (u) => {
|
|
5132
5132
|
i(u.target);
|
|
5133
5133
|
});
|
|
5134
5134
|
}), t.attachEventListener(document, "scroll", (l) => {
|
|
@@ -5180,8 +5180,8 @@ function Vo(t) {
|
|
|
5180
5180
|
const b = !p;
|
|
5181
5181
|
if (p || (p = hi(), e.set(d, p)), c.includes(p) || t.send(Ys(p, l)), b) {
|
|
5182
5182
|
const w = d.cssRules;
|
|
5183
|
-
for (let
|
|
5184
|
-
t.send(fn(p, w[
|
|
5183
|
+
for (let v = 0; v < w.length; v++)
|
|
5184
|
+
t.send(fn(p, w[v].cssText, v, t.getBaseHref()));
|
|
5185
5185
|
}
|
|
5186
5186
|
u.push(p);
|
|
5187
5187
|
}
|
|
@@ -5321,7 +5321,7 @@ function Jo(t) {
|
|
|
5321
5321
|
s.FontFace = i;
|
|
5322
5322
|
};
|
|
5323
5323
|
t.observer.attachContextCallback(n), n(window), t.nodes.attachNodeCallback(t.safe((s) => {
|
|
5324
|
-
if (!
|
|
5324
|
+
if (!vt(s))
|
|
5325
5325
|
return;
|
|
5326
5326
|
const i = e.get(s);
|
|
5327
5327
|
if (!i)
|
|
@@ -5336,19 +5336,19 @@ function Xo(t, e, n, s, i) {
|
|
|
5336
5336
|
t.debug.log("Openreplay: attaching axios spy to instance", e);
|
|
5337
5337
|
function r(p) {
|
|
5338
5338
|
t.debug.log("Openreplay: capturing axios response data", p);
|
|
5339
|
-
const { headers: b, data: w, method:
|
|
5340
|
-
function U($,
|
|
5341
|
-
|
|
5339
|
+
const { headers: b, data: w, method: v, url: T, baseURL: N } = p.config, { data: M, headers: D, status: k, response: _ } = p, { data: R, headers: L, status: I } = _ || {}, E = n.ignoreHeaders, P = Array.isArray(E) ? ($) => E.includes($) : () => E;
|
|
5340
|
+
function U($, y) {
|
|
5341
|
+
P(y[0]) || ($[y[0]] = y[1]);
|
|
5342
5342
|
}
|
|
5343
5343
|
let j = {}, z = {};
|
|
5344
|
-
b.toJSON ? j = b.toJSON() : b instanceof Headers ? b.forEach(($,
|
|
5345
|
-
const C = L ||
|
|
5346
|
-
C.toJSON ? z = C.toJSON() : C instanceof Headers ? C.forEach(($,
|
|
5347
|
-
|
|
5344
|
+
b.toJSON ? j = b.toJSON() : b instanceof Headers ? b.forEach(($, y) => U(j, [y, $])) : Array.isArray(b) ? b.forEach(($) => U(j, $)) : typeof b == "object" && Object.entries(b).forEach(($) => U(j, $));
|
|
5345
|
+
const C = L || D;
|
|
5346
|
+
C.toJSON ? z = C.toJSON() : C instanceof Headers ? C.forEach(($, y) => U(z, [y, $])) : Array.isArray(C) ? C.forEach(($) => U(z, $)) : typeof C == "object" && Object.entries(C).forEach(([$, y]) => {
|
|
5347
|
+
P($) || (z[$] = y);
|
|
5348
5348
|
});
|
|
5349
|
-
const
|
|
5350
|
-
url:
|
|
5351
|
-
method:
|
|
5349
|
+
const F = s({
|
|
5350
|
+
url: T,
|
|
5351
|
+
method: v || "",
|
|
5352
5352
|
status: k || I || 0,
|
|
5353
5353
|
request: {
|
|
5354
5354
|
headers: j,
|
|
@@ -5356,15 +5356,15 @@ function Xo(t, e, n, s, i) {
|
|
|
5356
5356
|
},
|
|
5357
5357
|
response: {
|
|
5358
5358
|
headers: z,
|
|
5359
|
-
body: R ||
|
|
5359
|
+
body: R || M
|
|
5360
5360
|
}
|
|
5361
5361
|
});
|
|
5362
|
-
if (!
|
|
5362
|
+
if (!F) {
|
|
5363
5363
|
t.debug.log("Openreplay: empty request/response info, skipping");
|
|
5364
5364
|
return;
|
|
5365
5365
|
}
|
|
5366
|
-
const V = p.config.__openreplay_timing,
|
|
5367
|
-
t.debug.log("Openreplay: final req object",
|
|
5366
|
+
const V = p.config.__openreplay_timing, K = performance.now() - V;
|
|
5367
|
+
t.debug.log("Openreplay: final req object", F), t.send(bt("xhr", String(v), String(F.url), i(F.request), i(F.response), F.status, V + Ve(), K, 0));
|
|
5368
5368
|
}
|
|
5369
5369
|
function o(p) {
|
|
5370
5370
|
if (t.debug.log("Openreplay: capturing API request", p), p.__openreplay_timing = performance.now(), n.sessionTokenHeader) {
|
|
@@ -5388,8 +5388,8 @@ function Xo(t, e, n, s, i) {
|
|
|
5388
5388
|
synchronous: !0
|
|
5389
5389
|
});
|
|
5390
5390
|
t.attachStopCallback(() => {
|
|
5391
|
-
var p, b, w,
|
|
5392
|
-
(b = (p = e.interceptors.request).eject) == null || b.call(p, a), (
|
|
5391
|
+
var p, b, w, v;
|
|
5392
|
+
(b = (p = e.interceptors.request).eject) == null || b.call(p, a), (v = (w = e.interceptors.response).eject) == null || v.call(w, d);
|
|
5393
5393
|
});
|
|
5394
5394
|
}
|
|
5395
5395
|
function Yo(t) {
|
|
@@ -5418,7 +5418,7 @@ class An {
|
|
|
5418
5418
|
response: i
|
|
5419
5419
|
});
|
|
5420
5420
|
if (r)
|
|
5421
|
-
return
|
|
5421
|
+
return bt(this.requestType, r.method, r.url, JSON.stringify(r.request), JSON.stringify(r.response), r.status, this.startTime + Ve(), this.duration, this.responseSize);
|
|
5422
5422
|
}
|
|
5423
5423
|
writeHeaders() {
|
|
5424
5424
|
const e = {};
|
|
@@ -5814,90 +5814,90 @@ function la(t, e = {}) {
|
|
|
5814
5814
|
}
|
|
5815
5815
|
const u = (a) => {
|
|
5816
5816
|
if (n.useProxy)
|
|
5817
|
-
return ca(a, n.ignoreHeaders, o, l, (
|
|
5818
|
-
const d = a.fetch.bind(a), p = (
|
|
5819
|
-
if (!(typeof
|
|
5820
|
-
return d(
|
|
5817
|
+
return ca(a, n.ignoreHeaders, o, l, (D) => t.send(D), (D) => t.isServiceURL(D), n.tokenUrlMatcher);
|
|
5818
|
+
const d = a.fetch.bind(a), p = (D, k = {}) => {
|
|
5819
|
+
if (!(typeof D == "string" || D instanceof URL) || t.isServiceURL(String(D)))
|
|
5820
|
+
return d(D, k);
|
|
5821
5821
|
o(function(R, L) {
|
|
5822
5822
|
k.headers === void 0 && (k.headers = {}), k.headers instanceof Headers ? k.headers.append(R, L) : Array.isArray(k.headers) ? k.headers.push([R, L]) : k.headers[R] = L;
|
|
5823
5823
|
});
|
|
5824
5824
|
const _ = performance.now();
|
|
5825
|
-
return d(
|
|
5825
|
+
return d(D, k).then((R) => {
|
|
5826
5826
|
const L = performance.now() - _;
|
|
5827
5827
|
if (n.failuresOnly && R.status < 400)
|
|
5828
5828
|
return R;
|
|
5829
5829
|
const I = R.clone();
|
|
5830
|
-
return I.text().then((
|
|
5831
|
-
const
|
|
5830
|
+
return I.text().then((E) => {
|
|
5831
|
+
const P = {}, U = {};
|
|
5832
5832
|
if (s !== !0) {
|
|
5833
|
-
const C = ([
|
|
5834
|
-
i(
|
|
5833
|
+
const C = ([F, V]) => {
|
|
5834
|
+
i(F) || (P[F] = V);
|
|
5835
5835
|
};
|
|
5836
|
-
k.headers instanceof Headers ? k.headers.forEach((
|
|
5837
|
-
i(V) || (U[V] =
|
|
5836
|
+
k.headers instanceof Headers ? k.headers.forEach((F, V) => C([V, F])) : Array.isArray(k.headers) ? k.headers.forEach(C) : typeof k.headers == "object" && Object.entries(k.headers).forEach(C), I.headers.forEach((F, V) => {
|
|
5837
|
+
i(V) || (U[V] = F);
|
|
5838
5838
|
});
|
|
5839
5839
|
}
|
|
5840
5840
|
const j = _s(k.method), z = l({
|
|
5841
|
-
url: String(
|
|
5841
|
+
url: String(D),
|
|
5842
5842
|
method: j,
|
|
5843
5843
|
status: I.status,
|
|
5844
5844
|
request: {
|
|
5845
|
-
headers:
|
|
5845
|
+
headers: P,
|
|
5846
5846
|
// @ts-ignore
|
|
5847
5847
|
body: k.body || null
|
|
5848
5848
|
},
|
|
5849
5849
|
response: {
|
|
5850
5850
|
headers: U,
|
|
5851
|
-
body:
|
|
5851
|
+
body: E
|
|
5852
5852
|
}
|
|
5853
5853
|
});
|
|
5854
|
-
z && t.send(
|
|
5855
|
-
}).catch((
|
|
5854
|
+
z && t.send(bt("fetch", j, String(z.url), c(z.request), c(z.response), I.status, _ + Ve(), L, 0));
|
|
5855
|
+
}).catch((E) => t.debug.error("Could not process Fetch response:", E)), R;
|
|
5856
5856
|
});
|
|
5857
5857
|
};
|
|
5858
5858
|
a.fetch = p;
|
|
5859
|
-
const b = a.XMLHttpRequest.prototype.open, w = a.XMLHttpRequest.prototype.setRequestHeader,
|
|
5860
|
-
function
|
|
5859
|
+
const b = a.XMLHttpRequest.prototype.open, w = a.XMLHttpRequest.prototype.setRequestHeader, v = a.XMLHttpRequest.prototype.send;
|
|
5860
|
+
function T(D, k) {
|
|
5861
5861
|
const _ = this;
|
|
5862
5862
|
o((L, I) => _.setRequestHeader(L, I));
|
|
5863
5863
|
let R = 0;
|
|
5864
5864
|
return _.addEventListener("loadstart", (L) => {
|
|
5865
5865
|
R = L.timeStamp;
|
|
5866
5866
|
}), _.addEventListener("load", t.safe((L) => {
|
|
5867
|
-
const { headers: I, body:
|
|
5867
|
+
const { headers: I, body: E } = on(_), P = R > 0 ? L.timeStamp - R : 0, j = (_.getAllResponseHeaders() || "").trim().split(/[\r\n]+/), z = {};
|
|
5868
5868
|
j.forEach(function(V) {
|
|
5869
|
-
const
|
|
5870
|
-
i($) || (z[$] =
|
|
5869
|
+
const K = V.split(": "), $ = K.shift();
|
|
5870
|
+
i($) || (z[$] = K.join(": "));
|
|
5871
5871
|
});
|
|
5872
|
-
const C = _s(
|
|
5872
|
+
const C = _s(D), F = l({
|
|
5873
5873
|
url: String(k),
|
|
5874
5874
|
method: C,
|
|
5875
5875
|
status: _.status,
|
|
5876
5876
|
request: {
|
|
5877
5877
|
headers: I,
|
|
5878
5878
|
// @ts-ignore
|
|
5879
|
-
body:
|
|
5879
|
+
body: E || null
|
|
5880
5880
|
},
|
|
5881
5881
|
response: {
|
|
5882
5882
|
headers: z,
|
|
5883
5883
|
body: _.response
|
|
5884
5884
|
}
|
|
5885
5885
|
});
|
|
5886
|
-
|
|
5886
|
+
F && t.send(bt("xhr", C, String(F.url), c(F.request), c(F.response), _.status, R + Ve(), P, 0));
|
|
5887
5887
|
})), b.apply(this, arguments);
|
|
5888
5888
|
}
|
|
5889
|
-
function
|
|
5889
|
+
function N(D) {
|
|
5890
5890
|
const k = on(this);
|
|
5891
|
-
return k.body =
|
|
5891
|
+
return k.body = D, v.apply(this, arguments);
|
|
5892
5892
|
}
|
|
5893
|
-
function
|
|
5894
|
-
if (!i(
|
|
5893
|
+
function M(D, k) {
|
|
5894
|
+
if (!i(D)) {
|
|
5895
5895
|
const _ = on(this);
|
|
5896
|
-
_.headers[
|
|
5896
|
+
_.headers[D] = k;
|
|
5897
5897
|
}
|
|
5898
5898
|
return w.apply(this, arguments);
|
|
5899
5899
|
}
|
|
5900
|
-
n.axiosInstances || (a.XMLHttpRequest.prototype.open =
|
|
5900
|
+
n.axiosInstances || (a.XMLHttpRequest.prototype.open = T, a.XMLHttpRequest.prototype.send = N, a.XMLHttpRequest.prototype.setRequestHeader = M);
|
|
5901
5901
|
};
|
|
5902
5902
|
u(window), n.axiosInstances && n.axiosInstances.forEach((a) => {
|
|
5903
5903
|
Xo(t, a, n, l, c);
|
|
@@ -7071,7 +7071,7 @@ class fi {
|
|
|
7071
7071
|
"Content-Type": "application/json",
|
|
7072
7072
|
Authorization: `Bearer ${this.token}`
|
|
7073
7073
|
},
|
|
7074
|
-
body: JSON.stringify({ text: e
|
|
7074
|
+
body: JSON.stringify({ text: e })
|
|
7075
7075
|
}), s = await n.json();
|
|
7076
7076
|
if (!n.ok)
|
|
7077
7077
|
throw new Error(`API call failed with status ${n.status}: ${s.message || "No additional error information"}`);
|
|
@@ -7119,7 +7119,7 @@ class fi {
|
|
|
7119
7119
|
}
|
|
7120
7120
|
}
|
|
7121
7121
|
}
|
|
7122
|
-
class
|
|
7122
|
+
class ba {
|
|
7123
7123
|
constructor() {
|
|
7124
7124
|
this.api = new fi(), this.language = "en", this.currency = "USD", this.currencies = {
|
|
7125
7125
|
USD: {
|
|
@@ -7577,12 +7577,78 @@ class va {
|
|
|
7577
7577
|
headerBudget: "бюджет",
|
|
7578
7578
|
headerOccasion: "случай",
|
|
7579
7579
|
headerOr: "или"
|
|
7580
|
+
},
|
|
7581
|
+
kz: {
|
|
7582
|
+
lang: "kz",
|
|
7583
|
+
welcomeMessage: "Сіз не жегіңіз келеді? Тағамыңызды сипаттаңыз, мен оған керемет шарап ұсынамын.",
|
|
7584
|
+
noResultsFound: "Нәтижелер табылмады.",
|
|
7585
|
+
somethingWentWrong: "Кешіріңіз, бірдеңе дұрыс болмады.",
|
|
7586
|
+
chatButton1: "Сәйкестік табу",
|
|
7587
|
+
chatButton2: "Шарап таңдау",
|
|
7588
|
+
chatButton3: "Кеңес алу",
|
|
7589
|
+
chatTitle: "Шарап таңдаушы көмекші 🍷",
|
|
7590
|
+
chatSubtitle: "Тағамыңызды сипаттаңыз — 30 секундта ұсыныс алыңыз",
|
|
7591
|
+
inputPlaceholder: "мысалы, тунец салатымен",
|
|
7592
|
+
sendButton: "Таңдау",
|
|
7593
|
+
poweredBy: "Powered by",
|
|
7594
|
+
price: "Бағасы",
|
|
7595
|
+
region: "Өңір",
|
|
7596
|
+
type: "Түрі",
|
|
7597
|
+
reason: "Ұсыныс",
|
|
7598
|
+
moreInfo: "Толығырақ",
|
|
7599
|
+
winePairingIntro: "Бұл шарапқа келесі тағамдар сәйкес келеді:",
|
|
7600
|
+
askForDinner: "Кешкі асқа не қалайсыз?",
|
|
7601
|
+
clearChatButton: "Чатты тазалау",
|
|
7602
|
+
widgetTitle: "КЕРЕМЕТ ШАРАПТЫ ТАБЫҢЫЗ",
|
|
7603
|
+
widgetSubtitle: "Таңдауларыңызды бөлісіңіз — тағам, көңіл-күй, бюджет немесе жағдай — және біздің AI-сомелье сізге бірнеше секундта шарап ұсынады",
|
|
7604
|
+
searchPlaceholder: "Кілт сөзді немесе сипаттаманы енгізіңіз",
|
|
7605
|
+
wineDetails: {
|
|
7606
|
+
price: "Бағасы",
|
|
7607
|
+
region: "Өңір",
|
|
7608
|
+
type: "Түрі",
|
|
7609
|
+
moreInfo: "Толығырақ",
|
|
7610
|
+
reason: "Себебі",
|
|
7611
|
+
sommSelection: "Сомелье таңдауы",
|
|
7612
|
+
code: "Код",
|
|
7613
|
+
buy: "Сатып алу"
|
|
7614
|
+
},
|
|
7615
|
+
searchButton: "Іздеу",
|
|
7616
|
+
priceRange: "Баға диапазоны",
|
|
7617
|
+
wineColor: "Шарап түсі",
|
|
7618
|
+
intensity: "Қанықтылық",
|
|
7619
|
+
red: "Қызыл",
|
|
7620
|
+
white: "Ақ",
|
|
7621
|
+
rose: "Розалық",
|
|
7622
|
+
light: "Жеңіл",
|
|
7623
|
+
medium: "Орташа",
|
|
7624
|
+
full: "Толық",
|
|
7625
|
+
/* -- Барға арналған жаңа кілттер -- */
|
|
7626
|
+
barTitle: "Шарапқа арналған тіскебасарлар",
|
|
7627
|
+
barSubtitle: "Төмендегі тағамдарды таңдаңыз және 'Жіберу' батырмасын басыңыз",
|
|
7628
|
+
barSendButton: "Жіберу",
|
|
7629
|
+
barResetButton: "Қалпына келтіру",
|
|
7630
|
+
barName: "Бар атауы",
|
|
7631
|
+
barNotesPlaceholder: "Мұнда өз тілектеріңізді жазыңыз...",
|
|
7632
|
+
placeholderSuggestions: [
|
|
7633
|
+
"Пастаға арналған шарап",
|
|
7634
|
+
"Балыққа тамаша үйлеседі",
|
|
7635
|
+
"Кешке ұсынуға болады"
|
|
7636
|
+
],
|
|
7637
|
+
headerLine1: "Ойларыңызбен бөлісіңіз —",
|
|
7638
|
+
headerLine2: "— және бірнеше секундта мінсіз шарап ұсынысын алыңыз",
|
|
7639
|
+
headerMeal: "тағам",
|
|
7640
|
+
headerMood: "көңіл-күй",
|
|
7641
|
+
headerBudget: "бюджет",
|
|
7642
|
+
headerOccasion: "жағдай",
|
|
7643
|
+
headerOr: "немесе"
|
|
7580
7644
|
}
|
|
7581
7645
|
};
|
|
7582
7646
|
}
|
|
7583
7647
|
async fetchConfig(e) {
|
|
7584
7648
|
try {
|
|
7585
|
-
const n = await this.api.getStoreConfig(e)
|
|
7649
|
+
const n = await this.api.getStoreConfig(e);
|
|
7650
|
+
this.storeLanguage = n.lang, this.supportedLanguages = n.available_languages, this.OpenAIApiKey = n.open_ai_key;
|
|
7651
|
+
const s = localStorage.getItem("selectedLanguage");
|
|
7586
7652
|
s && this.translations[s] ? this.language = s : n.lang && this.translations[n.lang] ? (this.language = n.lang, localStorage.setItem("selectedLanguage", n.lang)) : this.language = "en", this.currency = n.currency || "USD";
|
|
7587
7653
|
} catch {
|
|
7588
7654
|
this.language = localStorage.getItem("selectedLanguage") || "en", this.currency = "USD";
|
|
@@ -7609,11 +7675,45 @@ class va {
|
|
|
7609
7675
|
return s;
|
|
7610
7676
|
}
|
|
7611
7677
|
getSupportedLanguages() {
|
|
7612
|
-
return
|
|
7678
|
+
return this.supportedLanguages;
|
|
7679
|
+
}
|
|
7680
|
+
async translateTexts(e) {
|
|
7681
|
+
var u, a, d, p;
|
|
7682
|
+
if (this.storeLanguage === this.language || !this.supportedLanguages)
|
|
7683
|
+
return e;
|
|
7684
|
+
const n = this.OpenAIApiKey, s = "https://api.openai.com/v1/chat/completions", i = {
|
|
7685
|
+
"Content-Type": "application/json",
|
|
7686
|
+
Authorization: `Bearer ${n}`
|
|
7687
|
+
}, o = Object.values(e).join(" ||| "), l = `Translate the following texts to ${this.language}. Return only the translated texts separated by " ||| " in the same order:
|
|
7688
|
+
|
|
7689
|
+
${o}`, c = JSON.stringify({
|
|
7690
|
+
model: "gpt-3.5-turbo",
|
|
7691
|
+
messages: [
|
|
7692
|
+
{ role: "system", content: "You are a professional translator." },
|
|
7693
|
+
{ role: "user", content: l }
|
|
7694
|
+
],
|
|
7695
|
+
temperature: 0.2,
|
|
7696
|
+
max_tokens: 1e3
|
|
7697
|
+
});
|
|
7698
|
+
try {
|
|
7699
|
+
const v = (p = (d = (a = (u = (await (await fetch(s, {
|
|
7700
|
+
method: "POST",
|
|
7701
|
+
headers: i,
|
|
7702
|
+
body: c
|
|
7703
|
+
})).json()).choices) == null ? void 0 : u[0]) == null ? void 0 : a.message) == null ? void 0 : d.content) == null ? void 0 : p.trim();
|
|
7704
|
+
if (!v)
|
|
7705
|
+
throw new Error("No response from OpenAI");
|
|
7706
|
+
const T = v.split(" ||| ").map((M) => M.trim()), N = {};
|
|
7707
|
+
return Object.keys(e).forEach((M, D) => {
|
|
7708
|
+
N[M] = T[D] || e[M];
|
|
7709
|
+
}), N;
|
|
7710
|
+
} catch (b) {
|
|
7711
|
+
return console.error("Error translating texts:", b), e;
|
|
7712
|
+
}
|
|
7613
7713
|
}
|
|
7614
7714
|
}
|
|
7615
|
-
const
|
|
7616
|
-
class
|
|
7715
|
+
const G = new ba();
|
|
7716
|
+
class va {
|
|
7617
7717
|
constructor() {
|
|
7618
7718
|
var e, n, s, i, r;
|
|
7619
7719
|
this.widgetType = ((e = window == null ? void 0 : window.wineaterData) == null ? void 0 : e.WIDGET_TYPE) || "store", this.countryCode = ((n = window == null ? void 0 : window.wineaterData) == null ? void 0 : n.COUNTRY_CODE) || null, this.widgetWrapper = ((s = window == null ? void 0 : window.wineaterData) == null ? void 0 : s.WIDGET_WRAPPER) || "wineater-widget-conteiner", this.titleText = (i = window == null ? void 0 : window.wineaterData) == null ? void 0 : i.TITLE_TEXT, this.subtitleText = (r = window == null ? void 0 : window.wineaterData) == null ? void 0 : r.SUBTITLE_TEXT, this.api = new fi(), console.log(this.titleText), this.selectedFilters = {
|
|
@@ -7627,18 +7727,18 @@ class ba {
|
|
|
7627
7727
|
}
|
|
7628
7728
|
getTitle(e) {
|
|
7629
7729
|
return e ? `<h1 class="wine-widget-big-title">${e}</h1>` : `<h1 class="wine-widget-big-title">
|
|
7630
|
-
${
|
|
7730
|
+
${G.translate("headerLine1")}
|
|
7631
7731
|
<span class="icon icon-meal"></span>
|
|
7632
|
-
<span class="icon-label">${
|
|
7732
|
+
<span class="icon-label">${G.translate("headerMeal")}</span>,
|
|
7633
7733
|
<span class="icon icon-mood"></span>
|
|
7634
|
-
<span class="icon-label">${
|
|
7734
|
+
<span class="icon-label">${G.translate("headerMood")}</span>
|
|
7635
7735
|
</br>
|
|
7636
7736
|
<!-- <span class="icon icon-budget"></span> -->
|
|
7637
|
-
<!-- <span class="icon-label">${
|
|
7638
|
-
${
|
|
7737
|
+
<!-- <span class="icon-label">${G.translate("headerBudget")}</span>, -->
|
|
7738
|
+
${G.translate("headerOr")}
|
|
7639
7739
|
<span class="icon icon-occasion"></span>
|
|
7640
|
-
<span class="icon-label">${
|
|
7641
|
-
${
|
|
7740
|
+
<span class="icon-label">${G.translate("headerOccasion")}</span>
|
|
7741
|
+
${G.translate("headerLine2")}
|
|
7642
7742
|
</h1>`;
|
|
7643
7743
|
}
|
|
7644
7744
|
initializeWidget() {
|
|
@@ -7657,11 +7757,11 @@ class ba {
|
|
|
7657
7757
|
<input
|
|
7658
7758
|
type="text"
|
|
7659
7759
|
id="wine-search-input"
|
|
7660
|
-
placeholder="${
|
|
7760
|
+
placeholder="${G.translate("searchPlaceholder")}">
|
|
7661
7761
|
|
|
7662
7762
|
<!-- Кнопка -->
|
|
7663
7763
|
<button id="wine-search-button">
|
|
7664
|
-
${
|
|
7764
|
+
${G.translate("searchButton")}
|
|
7665
7765
|
</button>
|
|
7666
7766
|
</div>
|
|
7667
7767
|
<div id="wine-widget-right">
|
|
@@ -7675,9 +7775,9 @@ class ba {
|
|
|
7675
7775
|
<div id="powered-by-widget">
|
|
7676
7776
|
<div class="powered-by-center">
|
|
7677
7777
|
<a href="https://wineater.com" target="_blank">
|
|
7678
|
-
<span>${
|
|
7778
|
+
<span>${G.translate("poweredBy")}</span>
|
|
7679
7779
|
<img src="${this.countryCode === "ru" ? "https://czvgkhagwvmknscoerfy.supabase.co/storage/v1/object/public/static-media/divino_logo.svg?x=5" : "https://czvgkhagwvmknscoerfy.supabase.co/storage/v1/object/public/static-media/logo_medium_gray.svg"}" alt="Wineater Logo">
|
|
7680
|
-
<span class="powered-by-sommelier">${
|
|
7780
|
+
<span class="powered-by-sommelier">${G.translate("AI sommelier")}</span>
|
|
7681
7781
|
</a>
|
|
7682
7782
|
</div>
|
|
7683
7783
|
<div class="powered-by-lang"></div>
|
|
@@ -7738,60 +7838,60 @@ class ba {
|
|
|
7738
7838
|
function c(u) {
|
|
7739
7839
|
return typeof u != "number" && (u = Number(u)), u.toLocaleString("en-US");
|
|
7740
7840
|
}
|
|
7741
|
-
e.forEach((u, a) => {
|
|
7742
|
-
const d = i(u, "title"), p = i(u, "image"), b = i(u, "total"), w = i(u, "url"),
|
|
7841
|
+
e.forEach(async (u, a) => {
|
|
7842
|
+
const d = i(u, "title"), p = i(u, "image"), b = i(u, "total"), w = i(u, "url"), v = u.tags || u.Tags, T = r(u, ["type", "country", "region", "grape"]), N = v ? o(v) : "", M = l(u), D = u["Short Description"], k = u.pairing_recommendation, _ = u.isSommSelection, R = `
|
|
7743
7843
|
<div class="wine-recommendation-tile ${_ ? "somm-selection" : ""}">
|
|
7744
|
-
${_ ? `<div class="somm-selection-badge">${
|
|
7844
|
+
${_ ? `<div class="somm-selection-badge">${G.translate("wineDetails.sommSelection")}</div>` : ""}
|
|
7745
7845
|
|
|
7746
7846
|
<div class="tile-top">
|
|
7747
7847
|
${p ? `<img src="${p}" alt="${d}" class="wine-image" />` : ""}
|
|
7748
|
-
<div class="wine-price">${c(b)} ${
|
|
7848
|
+
<div class="wine-price">${c(b)} ${G.getCurrency("label")}</div>
|
|
7749
7849
|
<h3 class="wine-title">${d}</h3>
|
|
7750
7850
|
</div>
|
|
7751
7851
|
|
|
7752
|
-
${
|
|
7852
|
+
${T ? `<div class="wine-params">${T}</div>` : ""}
|
|
7753
7853
|
|
|
7754
7854
|
<div class="bottom-row">
|
|
7755
|
-
${w ? `<a class="buy-btn" href="${w}" target="_blank">${
|
|
7855
|
+
${w ? `<a class="buy-btn" href="${w}" target="_blank">${G.translate("wineDetails.buy")}</a>` : `<button class="buy-btn" data-toggle-info>${G.translate("moreInfo")}</button>`}
|
|
7756
7856
|
</div>
|
|
7757
7857
|
|
|
7758
|
-
<div class="card-popup hidden">
|
|
7759
|
-
|
|
7760
|
-
|
|
7761
|
-
|
|
7762
|
-
|
|
7763
|
-
|
|
7764
|
-
|
|
7765
|
-
|
|
7766
|
-
|
|
7858
|
+
<div class="card-popup hidden" data-wine-index="${a}">
|
|
7859
|
+
<div class="card-popup-header">
|
|
7860
|
+
<h2>${d}</h2>
|
|
7861
|
+
<span class="card-popup-close">×</span>
|
|
7862
|
+
</div>
|
|
7863
|
+
${D ? `<p class="popup-short-desc" data-orig="${D}">${D}</p>` : ""}
|
|
7864
|
+
${u.reason ? `<div class="popup-reason" data-orig="${u.reason}">${u.reason}</div>` : k ? `<p class="popup-pairing" data-orig="${k}">${k}</p>` : ""}
|
|
7865
|
+
${N ? `<div class="popup-tags">${N}</div>` : ""}
|
|
7866
|
+
</div>
|
|
7767
7867
|
|
|
7768
|
-
${
|
|
7868
|
+
${M}
|
|
7769
7869
|
</div>
|
|
7770
7870
|
`;
|
|
7771
7871
|
s.insertAdjacentHTML("beforeend", R);
|
|
7772
7872
|
const L = s.children[a];
|
|
7773
7873
|
if (!w) {
|
|
7774
|
-
const I = L.querySelector("[data-toggle-info]"),
|
|
7775
|
-
|
|
7776
|
-
U.stopPropagation(),
|
|
7874
|
+
const I = L.querySelector("[data-toggle-info]"), E = L.querySelector(".card-popup"), P = L.querySelector(".card-popup-close");
|
|
7875
|
+
P == null || P.addEventListener("click", (U) => {
|
|
7876
|
+
U.stopPropagation(), E.classList.add("hidden");
|
|
7777
7877
|
}), document.addEventListener("click", (U) => {
|
|
7778
7878
|
U.target.closest(".card-popup") || U.target.closest(".mobile-fullscreen-popup") || U.target.closest("[data-toggle-info]") || (document.querySelectorAll(".card-popup").forEach((z) => z.classList.add("hidden")), document.querySelectorAll(".mobile-fullscreen-wrapper").forEach((z) => z.remove()));
|
|
7779
7879
|
}), I == null || I.addEventListener("click", (U) => {
|
|
7780
7880
|
var j;
|
|
7781
7881
|
if (U.stopPropagation(), document.querySelectorAll(".card-popup").forEach((z) => z.classList.add("hidden")), document.querySelectorAll(".mobile-fullscreen-wrapper").forEach((z) => z.remove()), window.innerWidth <= 768) {
|
|
7782
|
-
const z =
|
|
7882
|
+
const z = E.innerHTML, C = document.createElement("div");
|
|
7783
7883
|
C.className = "mobile-fullscreen-wrapper", C.innerHTML = `
|
|
7784
7884
|
<div class="mobile-fullscreen-overlay"></div>
|
|
7785
7885
|
<div class="card-popup mobile-fullscreen-popup">${z}</div>
|
|
7786
7886
|
`, (j = C.querySelector(".card-popup-close")) == null || j.addEventListener("click", () => C.remove()), document.body.appendChild(C);
|
|
7787
7887
|
} else
|
|
7788
|
-
|
|
7888
|
+
E.classList.remove("hidden");
|
|
7789
7889
|
});
|
|
7790
7890
|
}
|
|
7791
7891
|
setTimeout(() => {
|
|
7792
7892
|
L.style.opacity = "1", L.style.transform = "translateY(0)";
|
|
7793
7893
|
}, n ? a * 200 : 0);
|
|
7794
|
-
}), this.widgetType === "store" && this.enableHoverPopups();
|
|
7894
|
+
}), this.translatePopupContent(e), this.widgetType === "store" && this.enableHoverPopups();
|
|
7795
7895
|
}
|
|
7796
7896
|
animateCardDisappearance() {
|
|
7797
7897
|
const e = document.querySelectorAll(".wine-recommendation-tile");
|
|
@@ -7813,7 +7913,7 @@ class ba {
|
|
|
7813
7913
|
const e = document.getElementById("wine-placeholder");
|
|
7814
7914
|
e.innerHTML = `
|
|
7815
7915
|
<div class="no-results">
|
|
7816
|
-
<p>${
|
|
7916
|
+
<p>${G.translate("noResultsMessage") || "No recommendations found for your query."}</p>
|
|
7817
7917
|
</div>
|
|
7818
7918
|
`;
|
|
7819
7919
|
}
|
|
@@ -7821,10 +7921,47 @@ class ba {
|
|
|
7821
7921
|
const e = document.getElementById("wine-placeholder");
|
|
7822
7922
|
e.innerHTML = `
|
|
7823
7923
|
<div class="error-message">
|
|
7824
|
-
<p>${
|
|
7924
|
+
<p>${G.translate("errorMessage") || "Something went wrong. Please try again later."}</p>
|
|
7825
7925
|
</div>
|
|
7826
7926
|
`;
|
|
7827
7927
|
}
|
|
7928
|
+
async translatePopupContent(e) {
|
|
7929
|
+
if (console.log(G.language, G.storeLanguage), G.language === G.storeLanguage || this.widgetType !== "bar")
|
|
7930
|
+
return;
|
|
7931
|
+
const n = ["Short Description", "reason", "pairing_recommendation", "Tags"];
|
|
7932
|
+
G.language;
|
|
7933
|
+
const s = 4;
|
|
7934
|
+
for (let i = 0; i < e.length; i += s) {
|
|
7935
|
+
const o = e.slice(i, i + s).map(async (l, c) => {
|
|
7936
|
+
const u = i + c, a = {};
|
|
7937
|
+
if (n.forEach((b) => {
|
|
7938
|
+
const w = l[b] || l[b.toLowerCase()];
|
|
7939
|
+
w && (a[b] = Array.isArray(w) ? w.join(", ") : w);
|
|
7940
|
+
}), Object.keys(a).length === 0)
|
|
7941
|
+
return;
|
|
7942
|
+
const d = await G.translateTexts(a), p = document.querySelector(`.card-popup[data-wine-index="${u}"]`);
|
|
7943
|
+
if (p) {
|
|
7944
|
+
if (d["Short Description"]) {
|
|
7945
|
+
const b = p.querySelector(".popup-short-desc");
|
|
7946
|
+
b && (b.textContent = d["Short Description"]);
|
|
7947
|
+
}
|
|
7948
|
+
if (d.reason) {
|
|
7949
|
+
const b = p.querySelector(".popup-reason");
|
|
7950
|
+
b && (b.textContent = d.reason);
|
|
7951
|
+
}
|
|
7952
|
+
if (d.pairing_recommendation) {
|
|
7953
|
+
const b = p.querySelector(".popup-pairing");
|
|
7954
|
+
b && (b.textContent = d.pairing_recommendation);
|
|
7955
|
+
}
|
|
7956
|
+
if (d.Tags) {
|
|
7957
|
+
const w = d.Tags.split(",").map((T) => T.trim()).map((T) => `<span class="popup-tag">${T}</span>`).join(""), v = p.querySelector(".popup-tags");
|
|
7958
|
+
v && (v.innerHTML = w);
|
|
7959
|
+
}
|
|
7960
|
+
}
|
|
7961
|
+
});
|
|
7962
|
+
await Promise.all(o);
|
|
7963
|
+
}
|
|
7964
|
+
}
|
|
7828
7965
|
async loadInstantRecommendations() {
|
|
7829
7966
|
this.showLoadingIndicator();
|
|
7830
7967
|
try {
|
|
@@ -7835,7 +7972,7 @@ class ba {
|
|
|
7835
7972
|
}
|
|
7836
7973
|
}
|
|
7837
7974
|
initializeSearchAnimation() {
|
|
7838
|
-
const e = document.getElementById("wine-search-input"), n =
|
|
7975
|
+
const e = document.getElementById("wine-search-input"), n = G.translate("placeholderSuggestions");
|
|
7839
7976
|
let s = 0, i = 0, r = !0, o = !1;
|
|
7840
7977
|
const l = () => {
|
|
7841
7978
|
o || (r ? (e.placeholder = n[s].substring(0, i++), i > n[s].length ? (r = !1, setTimeout(l, 2e3)) : setTimeout(l, 100)) : (e.placeholder = n[s].substring(0, i--), i < 0 ? (r = !0, s = (s + 1) % n.length, setTimeout(l, 500)) : setTimeout(l, 50)));
|
|
@@ -7847,13 +7984,16 @@ class ba {
|
|
|
7847
7984
|
});
|
|
7848
7985
|
}
|
|
7849
7986
|
createLanguageSwitcher() {
|
|
7850
|
-
const e = document.querySelector("#powered-by-widget .powered-by-lang"), n =
|
|
7987
|
+
const e = document.querySelector("#powered-by-widget .powered-by-lang"), n = G.getSupportedLanguages();
|
|
7988
|
+
if (!n)
|
|
7989
|
+
return;
|
|
7990
|
+
const s = G.language, i = document.createElement("select");
|
|
7851
7991
|
i.id = "language-dropdown", i.className = "language-dropdown", n.forEach((r) => {
|
|
7852
7992
|
const o = document.createElement("option");
|
|
7853
7993
|
o.value = r, o.textContent = r.toUpperCase(), o.selected = r === s, i.appendChild(o);
|
|
7854
7994
|
}), i.onchange = (r) => {
|
|
7855
7995
|
const o = r.target.value;
|
|
7856
|
-
|
|
7996
|
+
G.language = o, localStorage.setItem("selectedLanguage", o), location.reload();
|
|
7857
7997
|
}, e.appendChild(i);
|
|
7858
7998
|
}
|
|
7859
7999
|
}
|
|
@@ -7864,14 +8004,14 @@ class wa {
|
|
|
7864
8004
|
}
|
|
7865
8005
|
async initTranslator() {
|
|
7866
8006
|
const e = this.store ? this.store.charAt(0).toUpperCase() + this.store.slice(1) : "Test";
|
|
7867
|
-
await
|
|
8007
|
+
await G.fetchConfig(e || "Test");
|
|
7868
8008
|
}
|
|
7869
8009
|
initCookies() {
|
|
7870
8010
|
var e;
|
|
7871
8011
|
Rs("chatbotToken", ((e = window.wineaterData) == null ? void 0 : e.CLIENT_TOKEN) || ya, 365), mi();
|
|
7872
8012
|
}
|
|
7873
8013
|
async initialize() {
|
|
7874
|
-
this.tracker.start(), await this.initTranslator(), this.initCookies(), new
|
|
8014
|
+
this.tracker.start(), await this.initTranslator(), this.initCookies(), new va();
|
|
7875
8015
|
}
|
|
7876
8016
|
}
|
|
7877
8017
|
document.addEventListener("DOMContentLoaded", () => {
|