wineater-bot 3.5.0 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/wineater-chatbot.mjs +719 -576
- package/dist/wineater-chatbot.umd.js +50 -45
- package/index.html +1 -1
- package/package.json +1 -1
- package/src/js/api.js +2 -2
- package/src/js/i18n.js +125 -3
- package/src/js/widget-styles.js +4 -1
- package/src/js/widget.js +73 -11
|
@@ -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
|
|
218
|
-
return !!
|
|
217
|
+
function v(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
|
-
return [h,
|
|
223
|
+
return [h, v(m) ? m : { value: m }];
|
|
224
224
|
}));
|
|
225
225
|
}
|
|
226
|
-
function y
|
|
227
|
-
return i(i({},
|
|
226
|
+
function b(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 = b(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,
|
|
335
|
+
var x = S[0], A = S[1];
|
|
336
|
+
return [x, v(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 = b(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 =
|
|
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
400
|
return function(me, ve) {
|
|
401
|
-
var Te = ve.headers,
|
|
401
|
+
var Te = ve.headers, Y = ve.method, Fe = ve.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,14 +417,14 @@ 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
429
|
var ve = JSON.parse(me);
|
|
430
430
|
if (ve[ie.evaluationContext.environment.apiKey]) {
|
|
@@ -434,11 +434,11 @@ var $n = { exports: {} };
|
|
|
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 ve, Te,
|
|
441
|
+
var ve, 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:
|
|
@@ -446,7 +446,7 @@ var $n = { exports: {} };
|
|
|
446
446
|
return [3, 7];
|
|
447
447
|
ve = 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), ve = u(this.flags, Y.flags), this.setState(i(i({}, Y), { evaluationContext: b(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: ve, 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
|
-
return [S,
|
|
518
|
+
return [S, v(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,53 +680,53 @@ 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);
|
|
@@ -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) {
|
|
@@ -906,29 +906,29 @@ var Ls = /* @__PURE__ */ qe(Ne, 9, 0), Ms = /* @__PURE__ */ qe(tt, 5, 0), Tn = f
|
|
|
906
906
|
l = n[n[u].f < n[d].f ? u++ : d++], c = n[u != a && n[u].f < n[d].f ? u++ : d++], n[a++] = { s: -1, f: l.f + c.f, l, r: c };
|
|
907
907
|
for (var p = r[0].s, s = 1; s < i; ++s)
|
|
908
908
|
r[s].s > p && (p = r[s].s);
|
|
909
|
-
var
|
|
909
|
+
var v = new re(p + 1), w = pt(n[a - 1], v, 0);
|
|
910
910
|
if (w > e) {
|
|
911
|
-
var s = 0,
|
|
911
|
+
var s = 0, b = 0, T = w - e, N = 1 << T;
|
|
912
912
|
for (r.sort(function(R, L) {
|
|
913
|
-
return
|
|
913
|
+
return v[L.s] - v[R.s] || R.f - L.f;
|
|
914
914
|
}); s < i; ++s) {
|
|
915
|
-
var
|
|
916
|
-
if (
|
|
917
|
-
|
|
915
|
+
var M = r[s].s;
|
|
916
|
+
if (v[M] > e)
|
|
917
|
+
b += N - (1 << w - v[M]), v[M] = e;
|
|
918
918
|
else
|
|
919
919
|
break;
|
|
920
920
|
}
|
|
921
|
-
for (
|
|
922
|
-
var
|
|
923
|
-
|
|
921
|
+
for (b >>= T; b > 0; ) {
|
|
922
|
+
var D = r[s].s;
|
|
923
|
+
v[D] < e ? b -= 1 << e - v[D]++ - 1 : ++s;
|
|
924
924
|
}
|
|
925
|
-
for (; s >= 0 &&
|
|
925
|
+
for (; s >= 0 && b; --s) {
|
|
926
926
|
var k = r[s].s;
|
|
927
|
-
|
|
927
|
+
v[k] == e && (--v[k], ++b);
|
|
928
928
|
}
|
|
929
929
|
w = e;
|
|
930
930
|
}
|
|
931
|
-
return { t: new de(
|
|
931
|
+
return { t: new de(v), l: w };
|
|
932
932
|
}, pt = function(t, e, n) {
|
|
933
933
|
return t.s == -1 ? Math.max(pt(t.l, e, n + 1), pt(t.r, e, n + 1)) : e[t.s] = n;
|
|
934
934
|
}, ln = function(t) {
|
|
@@ -966,90 +966,90 @@ var Ls = /* @__PURE__ */ qe(Ne, 9, 0), Ms = /* @__PURE__ */ qe(tt, 5, 0), Tn = f
|
|
|
966
966
|
return (i + 4 + s) * 8;
|
|
967
967
|
}, un = function(t, e, n, s, i, r, o, l, c, u, a) {
|
|
968
968
|
be(e, a++, n), ++i[256];
|
|
969
|
-
for (var d = ct(i, 15), p = d.t,
|
|
970
|
-
++L[
|
|
969
|
+
for (var d = ct(i, 15), p = d.t, v = d.l, w = ct(r, 15), b = w.t, T = w.l, N = ln(p), M = N.c, D = N.n, k = ln(b), _ = 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, b) + 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 (be(e, a, 1 + (
|
|
980
|
-
V = qe(p,
|
|
981
|
-
var f = qe(
|
|
982
|
-
be(e, a,
|
|
978
|
+
var V, K, $, y;
|
|
979
|
+
if (be(e, a, 1 + (F < C)), a += 2, F < C) {
|
|
980
|
+
V = qe(p, v, 0), K = p, $ = qe(b, T, 0), y = b;
|
|
981
|
+
var f = qe(P, U, 0);
|
|
982
|
+
be(e, a, D - 257), be(e, a + 5, R - 1), be(e, a + 10, j - 4), a += 14;
|
|
983
983
|
for (var I = 0; I < j; ++I)
|
|
984
|
-
be(e, a + 3 * I,
|
|
984
|
+
be(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
|
-
be(e, a, f[S]), a +=
|
|
989
|
+
be(e, a, f[S]), a += P[S], S > 15 && (be(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 && (be(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,
|
|
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, v = d & 8191, w = (1 << n) - 1, b = 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 (b[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 = v, 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 = b[q], W = q - O & 32767;
|
|
1032
|
+
W > B && (B = W, F = q);
|
|
1033
1033
|
}
|
|
1034
1034
|
}
|
|
1035
1035
|
}
|
|
1036
|
-
C =
|
|
1036
|
+
C = F, F = b[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 = b, 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
|
}
|
|
@@ -2501,10 +2501,10 @@ class Wr {
|
|
|
2501
2501
|
tasks: []
|
|
2502
2502
|
}, this.getDurations = () => this.durations, this.setDurations = (d) => {
|
|
2503
2503
|
this.durations.testStart = d.testStart, this.durations.tasks = d.tasks;
|
|
2504
|
-
}, this.signalTask = (d, p,
|
|
2504
|
+
}, this.signalTask = (d, p, v) => {
|
|
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), b = this.getTimestamp(), T = w ? b - w.started : 0;
|
|
2508
2508
|
return fetch(`${this.ingestPoint}/v1/web/uxt/signals/task`, {
|
|
2509
2509
|
method: "POST",
|
|
2510
2510
|
headers: {
|
|
@@ -2515,19 +2515,19 @@ class Wr {
|
|
|
2515
2515
|
testId: this.testId,
|
|
2516
2516
|
taskId: d,
|
|
2517
2517
|
status: p,
|
|
2518
|
-
duration:
|
|
2519
|
-
timestamp:
|
|
2520
|
-
taskAnswer:
|
|
2518
|
+
duration: T,
|
|
2519
|
+
timestamp: b,
|
|
2520
|
+
taskAnswer: v
|
|
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(vn,
|
|
2526
|
+
const b = this.getSessionId();
|
|
2527
|
+
this.setStorageKey(vn, b), 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
|
-
const
|
|
2530
|
+
const v = this.durations.testStart || p, w = p - v;
|
|
2531
2531
|
return fetch(`${this.ingestPoint}/v1/web/uxt/signals/test`, {
|
|
2532
2532
|
method: "POST",
|
|
2533
2533
|
headers: {
|
|
@@ -2647,11 +2647,11 @@ class Vr {
|
|
|
2647
2647
|
}, c.onclick = () => {
|
|
2648
2648
|
var a, d, p;
|
|
2649
2649
|
if (u(), this.test) {
|
|
2650
|
-
const
|
|
2651
|
-
|
|
2650
|
+
const v = (a = this.signalManager) == null ? void 0 : a.getDurations(), w = v ? v.tasks.findIndex((b) => this.test && b.taskId === this.test.tasks[0].task_id) : null;
|
|
2651
|
+
v && w === -1 && (v.tasks.push({
|
|
2652
2652
|
taskId: this.test.tasks[0].task_id,
|
|
2653
2653
|
started: this.app.timestamp()
|
|
2654
|
-
}), (d = this.signalManager) == null || d.setDurations(
|
|
2654
|
+
}), (d = this.signalManager) == null || d.setDurations(v)), (p = this.signalManager) == null || p.signalTask(this.test.tasks[0].task_id, "begin");
|
|
2655
2655
|
}
|
|
2656
2656
|
this.showTaskSection(), o.removeChild(c);
|
|
2657
2657
|
}, n;
|
|
@@ -2664,13 +2664,13 @@ class Vr {
|
|
|
2664
2664
|
lineHeight: "auto"
|
|
2665
2665
|
}, "Tasks"), r = H("div", "icon", os, "-"), o = H("div", "content", Be), l = H("div", "pagination", Dr), c = H("div", "taskCard", us), u = H("div", "taskText", hs), a = H("div", "taskDescription", Lr), d = H("div", "taskButtons", Fr), p = H("div", "taskText", hs);
|
|
2666
2666
|
p.textContent = "Your answer";
|
|
2667
|
-
const
|
|
2667
|
+
const v = H("textarea", "taskDescription", {
|
|
2668
2668
|
resize: "vertical"
|
|
2669
2669
|
}), w = H("div", "inputArea", us);
|
|
2670
|
-
w.append(p,
|
|
2671
|
-
const
|
|
2672
|
-
s.append(i, r), c.append(u, a), d.append(
|
|
2673
|
-
const
|
|
2670
|
+
w.append(p, v);
|
|
2671
|
+
const b = H("div", "closePanelButton", Zs, "Collapse Panel"), T = H("div", "nextButton", Mr, "Done, Next");
|
|
2672
|
+
s.append(i, r), c.append(u, a), d.append(b, 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, b.onclick = this.collapseWidget, T.onclick = () => {
|
|
2706
2706
|
var _, R, L, I;
|
|
2707
|
-
const k = e[this.currentTaskIndex].allow_typing ?
|
|
2708
|
-
if (
|
|
2709
|
-
this.currentTaskIndex++,
|
|
2710
|
-
const
|
|
2711
|
-
|
|
2707
|
+
const k = e[this.currentTaskIndex].allow_typing ? v.value : void 0;
|
|
2708
|
+
if (v.value = "", (_ = this.signalManager) == null || _.signalTask(e[this.currentTaskIndex].task_id, "done", k), this.currentTaskIndex < e.length - 1) {
|
|
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() {
|
|
@@ -3521,62 +3521,62 @@ let lo = class {
|
|
|
3521
3521
|
const u = (a) => {
|
|
3522
3522
|
const { data: d } = a;
|
|
3523
3523
|
if (d.line === ue.iframeSignal) {
|
|
3524
|
-
const p = d.domain,
|
|
3525
|
-
this.pageFrames =
|
|
3526
|
-
let
|
|
3527
|
-
for (;
|
|
3528
|
-
const
|
|
3529
|
-
if (
|
|
3524
|
+
const p = d.domain, v = Array.from(document.querySelectorAll("iframe"));
|
|
3525
|
+
this.pageFrames = v, (async () => {
|
|
3526
|
+
let b = 0;
|
|
3527
|
+
for (; b < 10; ) {
|
|
3528
|
+
const T = this.checkNodeId(v, 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), b = 10;
|
|
3543
3543
|
break;
|
|
3544
3544
|
}
|
|
3545
|
-
|
|
3545
|
+
b++, await co(100);
|
|
3546
3546
|
}
|
|
3547
3547
|
})();
|
|
3548
3548
|
}
|
|
3549
3549
|
if (d.line === ue.iframeBatch) {
|
|
3550
|
-
const
|
|
3550
|
+
const v = d.messages.map((w) => {
|
|
3551
3551
|
if (w[0] === 20) {
|
|
3552
|
-
let
|
|
3553
|
-
return this.pageFrames.forEach((
|
|
3554
|
-
if (
|
|
3555
|
-
const [
|
|
3556
|
-
|
|
3552
|
+
let b = 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
|
+
b = [N, M + k, D + _];
|
|
3557
3557
|
}
|
|
3558
|
-
}),
|
|
3558
|
+
}), b;
|
|
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 b = 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
|
+
b = [
|
|
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
|
+
}), b;
|
|
3576
3576
|
}
|
|
3577
3577
|
return w;
|
|
3578
3578
|
});
|
|
3579
|
-
this.messages.push(...
|
|
3579
|
+
this.messages.push(...v);
|
|
3580
3580
|
}
|
|
3581
3581
|
};
|
|
3582
3582
|
window.addEventListener("message", u), this.attachStopCallback(() => {
|
|
@@ -3837,7 +3837,7 @@ let lo = class {
|
|
|
3837
3837
|
}, 30 * s), r();
|
|
3838
3838
|
}
|
|
3839
3839
|
async setupConditionalStart(e) {
|
|
3840
|
-
var p,
|
|
3840
|
+
var p, v;
|
|
3841
3841
|
this.conditionsManager = new Ai(this, e);
|
|
3842
3842
|
const n = await fetch(this.options.ingestPoint + "/v1/web/start", {
|
|
3843
3843
|
method: "POST",
|
|
@@ -3878,7 +3878,7 @@ let lo = class {
|
|
|
3878
3878
|
userState: u
|
|
3879
3879
|
});
|
|
3880
3880
|
const d = { sessionToken: s, userUUID: "", sessionID: "" };
|
|
3881
|
-
this.startCallbacks.forEach((w) => w(d)), await ((p = this.conditionsManager) == null ? void 0 : p.fetchConditions(a, s)), await this.featureFlags.reloadFlags(s), await this.tagWatcher.fetchTags(this.options.ingestPoint, s), (
|
|
3881
|
+
this.startCallbacks.forEach((w) => w(d)), await ((p = this.conditionsManager) == null ? void 0 : p.fetchConditions(a, s)), await this.featureFlags.reloadFlags(s), await this.tagWatcher.fetchTags(this.options.ingestPoint, s), (v = this.conditionsManager) == null || v.processFlags(this.featureFlags.flags);
|
|
3882
3882
|
}
|
|
3883
3883
|
/**
|
|
3884
3884
|
* Starts offline session recording
|
|
@@ -3935,7 +3935,7 @@ let lo = class {
|
|
|
3935
3935
|
* @reject {string} - error message
|
|
3936
3936
|
* */
|
|
3937
3937
|
async uploadOfflineRecording() {
|
|
3938
|
-
var p,
|
|
3938
|
+
var p, v;
|
|
3939
3939
|
this.stop(!1);
|
|
3940
3940
|
const e = pe();
|
|
3941
3941
|
(p = this.worker) == null || p.postMessage({
|
|
@@ -3965,7 +3965,7 @@ let lo = class {
|
|
|
3965
3965
|
timezone: tn()
|
|
3966
3966
|
})
|
|
3967
3967
|
}), { token: s, userBrowser: i, userCity: r, userCountry: o, userDevice: l, userOS: c, userState: u, beaconSizeLimit: a, projectID: d } = await n.json();
|
|
3968
|
-
for ((
|
|
3968
|
+
for ((v = this.worker) == null || v.postMessage({
|
|
3969
3969
|
type: "auth",
|
|
3970
3970
|
token: s,
|
|
3971
3971
|
beaconSizeLimit: a
|
|
@@ -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)";
|
|
@@ -4041,48 +4041,48 @@ let lo = class {
|
|
|
4041
4041
|
userUUID: a,
|
|
4042
4042
|
projectID: d,
|
|
4043
4043
|
beaconSizeLimit: p,
|
|
4044
|
-
compressionThreshold:
|
|
4044
|
+
compressionThreshold: v,
|
|
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: b,
|
|
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 b != "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: b,
|
|
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 = v;
|
|
4083
|
+
const U = { sessionToken: u, userUUID: a, sessionID: b };
|
|
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)
|
|
@@ -4259,8 +4259,8 @@ function go(t, e) {
|
|
|
4259
4259
|
t.attachStartCallback(r), t.ticker.attach(r, 33, !1);
|
|
4260
4260
|
const o = (c, u) => {
|
|
4261
4261
|
const a = {
|
|
4262
|
-
apply: function(d, p,
|
|
4263
|
-
Reflect.apply(d, u,
|
|
4262
|
+
apply: function(d, p, v) {
|
|
4263
|
+
Reflect.apply(d, u, v), i = i + 1, !(i > n.consoleThrottling) && s(d.name, v);
|
|
4264
4264
|
}
|
|
4265
4265
|
};
|
|
4266
4266
|
n.consoleMethods.forEach((d) => {
|
|
@@ -4280,77 +4280,77 @@ function mo() {
|
|
|
4280
4280
|
(function(n, s) {
|
|
4281
4281
|
t.exports = s();
|
|
4282
4282
|
})($e, function() {
|
|
4283
|
-
function n(
|
|
4284
|
-
return !isNaN(parseFloat(
|
|
4283
|
+
function n(b) {
|
|
4284
|
+
return !isNaN(parseFloat(b)) && isFinite(b);
|
|
4285
4285
|
}
|
|
4286
|
-
function s(
|
|
4287
|
-
return
|
|
4286
|
+
function s(b) {
|
|
4287
|
+
return b.charAt(0).toUpperCase() + b.substring(1);
|
|
4288
4288
|
}
|
|
4289
|
-
function i(
|
|
4289
|
+
function i(b) {
|
|
4290
4290
|
return function() {
|
|
4291
|
-
return this[
|
|
4291
|
+
return this[b];
|
|
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(b) {
|
|
4296
|
+
if (b)
|
|
4297
|
+
for (var T = 0; T < a.length; T++)
|
|
4298
|
+
b[a[T]] !== void 0 && this["set" + s(a[T])](b[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(b) {
|
|
4305
|
+
if (Object.prototype.toString.call(b) !== "[object Array]")
|
|
4306
4306
|
throw new TypeError("Args must be an Array");
|
|
4307
|
-
this.args =
|
|
4307
|
+
this.args = b;
|
|
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(b) {
|
|
4313
|
+
if (b instanceof d)
|
|
4314
|
+
this.evalOrigin = b;
|
|
4315
|
+
else if (b instanceof Object)
|
|
4316
|
+
this.evalOrigin = new d(b);
|
|
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 b = this.getFileName() || "", T = this.getLineNumber() || "", N = this.getColumnNumber() || "", M = this.getFunctionName() || "";
|
|
4322
|
+
return this.getIsEval() ? b ? "[eval] (" + b + ":" + T + ":" + N + ")" : "[eval]:" + T + ":" + N : M ? M + " (" + b + ":" + T + ":" + N + ")" : b + ":" + 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(b) {
|
|
4338
|
+
return function(T) {
|
|
4339
|
+
this[b] = !!T;
|
|
4340
4340
|
};
|
|
4341
4341
|
}(r[p]);
|
|
4342
|
-
for (var
|
|
4343
|
-
d.prototype["get" + s(o[
|
|
4344
|
-
return function(
|
|
4345
|
-
if (!n(
|
|
4346
|
-
throw new TypeError(
|
|
4347
|
-
this[
|
|
4342
|
+
for (var v = 0; v < o.length; v++)
|
|
4343
|
+
d.prototype["get" + s(o[v])] = i(o[v]), d.prototype["set" + s(o[v])] = /* @__PURE__ */ function(b) {
|
|
4344
|
+
return function(T) {
|
|
4345
|
+
if (!n(T))
|
|
4346
|
+
throw new TypeError(b + " must be a Number");
|
|
4347
|
+
this[b] = Number(T);
|
|
4348
4348
|
};
|
|
4349
|
-
}(o[
|
|
4349
|
+
}(o[v]);
|
|
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(b) {
|
|
4352
|
+
return function(T) {
|
|
4353
|
+
this[b] = String(T);
|
|
4354
4354
|
};
|
|
4355
4355
|
}(l[w]);
|
|
4356
4356
|
return d;
|
|
@@ -4394,12 +4394,12 @@ 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
|
|
4397
|
+
var v = this.extractLocation(p ? p[1] : d), w = p && d || void 0, b = ["eval", "<anonymous>"].indexOf(v[0]) > -1 ? void 0 : v[0];
|
|
4398
4398
|
return new s({
|
|
4399
4399
|
functionName: w,
|
|
4400
|
-
fileName:
|
|
4401
|
-
lineNumber:
|
|
4402
|
-
columnNumber:
|
|
4400
|
+
fileName: b,
|
|
4401
|
+
lineNumber: v[1],
|
|
4402
|
+
columnNumber: v[2],
|
|
4403
4403
|
source: a
|
|
4404
4404
|
});
|
|
4405
4405
|
}, this);
|
|
@@ -4414,9 +4414,9 @@ function mo() {
|
|
|
4414
4414
|
return new s({
|
|
4415
4415
|
functionName: a
|
|
4416
4416
|
});
|
|
4417
|
-
var d = /((.*".+"[^@]*)?[^@]*)(?:@)/, p = a.match(d),
|
|
4417
|
+
var d = /((.*".+"[^@]*)?[^@]*)(?:@)/, p = a.match(d), v = p && p[1] ? p[1] : void 0, w = this.extractLocation(a.replace(d, ""));
|
|
4418
4418
|
return new s({
|
|
4419
|
-
functionName:
|
|
4419
|
+
functionName: v,
|
|
4420
4420
|
fileName: w[0],
|
|
4421
4421
|
lineNumber: w[1],
|
|
4422
4422
|
columnNumber: w[2],
|
|
@@ -4432,7 +4432,7 @@ function mo() {
|
|
|
4432
4432
|
},
|
|
4433
4433
|
parseOpera9: function(c) {
|
|
4434
4434
|
for (var u = /Line (\d+).*script (?:in )?(\S+)/i, a = c.message.split(`
|
|
4435
|
-
`), d = [], p = 2,
|
|
4435
|
+
`), d = [], p = 2, v = a.length; p < v; p += 2) {
|
|
4436
4436
|
var w = u.exec(a[p]);
|
|
4437
4437
|
w && d.push(new s({
|
|
4438
4438
|
fileName: w[2],
|
|
@@ -4444,7 +4444,7 @@ function mo() {
|
|
|
4444
4444
|
},
|
|
4445
4445
|
parseOpera10: function(c) {
|
|
4446
4446
|
for (var u = /Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i, a = c.stacktrace.split(`
|
|
4447
|
-
`), d = [], p = 0,
|
|
4447
|
+
`), d = [], p = 0, v = a.length; p < v; p += 2) {
|
|
4448
4448
|
var w = u.exec(a[p]);
|
|
4449
4449
|
w && d.push(
|
|
4450
4450
|
new s({
|
|
@@ -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()),
|
|
4468
|
-
|
|
4469
|
-
var
|
|
4467
|
+
var d = a.split("@"), p = this.extractLocation(d.pop()), v = d.shift() || "", w = v.replace(/<anonymous function(: (\w+))?>/, "$2").replace(/\([^)]*\)/g, "") || void 0, b;
|
|
4468
|
+
v.match(/\(([^)]*)\)/) && (b = v.replace(/^[^(]+\(([^)]*)\)$/, "$1"));
|
|
4469
|
+
var T = b === void 0 || b === "[arguments not available]" ? void 0 : b.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],
|
|
@@ -4640,10 +4640,10 @@ function Co(t, e) {
|
|
|
4640
4640
|
obscureInputDates: !1
|
|
4641
4641
|
}, e);
|
|
4642
4642
|
function s(a, d) {
|
|
4643
|
-
let p = d.value,
|
|
4644
|
-
d.type === "password" || t.sanitizer.isHidden(a) ?
|
|
4643
|
+
let p = d.value, v = n.defaultInputMode;
|
|
4644
|
+
d.type === "password" || t.sanitizer.isHidden(a) ? v = je.Hidden : (t.sanitizer.isObscured(a) || v === je.Plain && (n.obscureInputNumbers && d.type !== "date" && /\d\d\d\d/.test(p) || n.obscureInputDates && d.type === "date" || n.obscureInputEmails && (d.type === "email" || ~p.indexOf("@")))) && (v = je.Obscured);
|
|
4645
4645
|
let w = 0;
|
|
4646
|
-
switch (
|
|
4646
|
+
switch (v) {
|
|
4647
4647
|
case je.Hidden:
|
|
4648
4648
|
w = -1, p = "";
|
|
4649
4649
|
break;
|
|
@@ -4654,8 +4654,8 @@ function Co(t, e) {
|
|
|
4654
4654
|
return { value: p, mask: w };
|
|
4655
4655
|
}
|
|
4656
4656
|
function i(a, d) {
|
|
4657
|
-
const { value: p, mask:
|
|
4658
|
-
t.send(Zi(a, p,
|
|
4657
|
+
const { value: p, mask: v } = s(a, d);
|
|
4658
|
+
t.send(Zi(a, p, v));
|
|
4659
4659
|
}
|
|
4660
4660
|
const r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();
|
|
4661
4661
|
t.attachStopCallback(() => {
|
|
@@ -4680,24 +4680,24 @@ function Co(t, e) {
|
|
|
4680
4680
|
c(d, p.checked);
|
|
4681
4681
|
});
|
|
4682
4682
|
}, 3);
|
|
4683
|
-
function u(a, d, p,
|
|
4684
|
-
const { value: w, mask:
|
|
4685
|
-
t.send(vr(a, w,
|
|
4683
|
+
function u(a, d, p, v) {
|
|
4684
|
+
const { value: w, mask: b } = s(a, d), T = ri(d);
|
|
4685
|
+
t.send(vr(a, w, b !== 0, T, p, v));
|
|
4686
4686
|
}
|
|
4687
4687
|
t.nodes.attachNodeCallback(t.safe((a) => {
|
|
4688
4688
|
const d = t.nodes.getID(a);
|
|
4689
4689
|
if (d !== void 0) {
|
|
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
|
-
let p = 0,
|
|
4693
|
-
const
|
|
4692
|
+
let p = 0, v = 0, w = 0;
|
|
4693
|
+
const b = () => {
|
|
4694
4694
|
p = pe();
|
|
4695
|
-
},
|
|
4696
|
-
|
|
4697
|
-
},
|
|
4698
|
-
p !== 0 && (w = pe() - p), u(d, a,
|
|
4695
|
+
}, T = () => {
|
|
4696
|
+
v === 0 && p !== 0 && (v = pe() - p);
|
|
4697
|
+
}, N = () => {
|
|
4698
|
+
p !== 0 && (w = pe() - p), u(d, a, v, w), v = 0, w = 0, p = 0;
|
|
4699
4699
|
};
|
|
4700
|
-
t.nodes.attachNodeListener(a, "focus",
|
|
4700
|
+
t.nodes.attachNodeListener(a, "focus", b), t.nodes.attachNodeListener(a, "input", T), t.nodes.attachNodeListener(a, "change", N);
|
|
4701
4701
|
return;
|
|
4702
4702
|
}
|
|
4703
4703
|
if (Eo(a)) {
|
|
@@ -4934,52 +4934,52 @@ function jo(t, e) {
|
|
|
4934
4934
|
}
|
|
4935
4935
|
return "";
|
|
4936
4936
|
}
|
|
4937
|
-
let i = -1, r = -1, o = !1, l = null, c = 0, u = {}, a = 0, d = 0, p = 0,
|
|
4938
|
-
const
|
|
4939
|
-
function
|
|
4940
|
-
const k =
|
|
4937
|
+
let i = -1, r = -1, o = !1, l = null, c = 0, u = {}, a = 0, d = 0, p = 0, v = 0, w;
|
|
4938
|
+
const b = 8e-3, T = 225;
|
|
4939
|
+
function N() {
|
|
4940
|
+
const k = v / 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 && _ > b && t.send(br(pe())), v = 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
|
+
v += 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
|
-
bt(k) &&
|
|
4982
|
-
}),
|
|
4981
|
+
bt(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 b = s.exec(w);
|
|
4996
|
+
b !== null && (o = b[1], (o.startsWith('"') || o.startsWith("'")) && (o = o.substr(1, o.length - 2)));
|
|
4997
4997
|
}
|
|
4998
4998
|
}
|
|
4999
4999
|
if (!o)
|
|
@@ -5004,8 +5004,8 @@ function zo(t) {
|
|
|
5004
5004
|
const c = r.getBoundingClientRect(), u = Math.max(c.top, 0), a = Math.max(c.left, 0), d = Math.min(c.bottom, window.innerHeight || document.documentElement && document.documentElement.clientHeight || 0), p = Math.min(c.right, window.innerWidth || document.documentElement && document.documentElement.clientWidth || 0);
|
|
5005
5005
|
if (d <= u || p <= a)
|
|
5006
5006
|
continue;
|
|
5007
|
-
const
|
|
5008
|
-
e.push({ time: l, area:
|
|
5007
|
+
const v = (d - u) * (p - a);
|
|
5008
|
+
e.push({ time: l, area: v });
|
|
5009
5009
|
}
|
|
5010
5010
|
return e;
|
|
5011
5011
|
}
|
|
@@ -5082,26 +5082,26 @@ function Ho(t, e) {
|
|
|
5082
5082
|
navigationStart: a,
|
|
5083
5083
|
requestStart: d,
|
|
5084
5084
|
responseStart: p,
|
|
5085
|
-
responseEnd:
|
|
5085
|
+
responseEnd: v,
|
|
5086
5086
|
domContentLoadedEventStart: w,
|
|
5087
|
-
domContentLoadedEventEnd:
|
|
5088
|
-
loadEventStart:
|
|
5089
|
-
loadEventEnd:
|
|
5087
|
+
domContentLoadedEventEnd: b,
|
|
5088
|
+
loadEventStart: T,
|
|
5089
|
+
loadEventEnd: N
|
|
5090
5090
|
} = performance.timing;
|
|
5091
|
-
t.send(sr(d - a || 0, p - a || 0,
|
|
5091
|
+
t.send(sr(d - a || 0, p - a || 0, v - a || 0, w - a || 0, b - a || 0, T - a || 0, N - a || 0, l, c));
|
|
5092
5092
|
}
|
|
5093
5093
|
}, 30);
|
|
5094
5094
|
}
|
|
5095
5095
|
if (n.capturePageRenderTimings) {
|
|
5096
|
-
let u = 0, a = 0, d = 0, p = null,
|
|
5096
|
+
let u = 0, a = 0, d = 0, p = null, v = !1;
|
|
5097
5097
|
t.ticker.attach(() => {
|
|
5098
|
-
if (
|
|
5098
|
+
if (v)
|
|
5099
5099
|
return;
|
|
5100
5100
|
const w = performance.now();
|
|
5101
|
-
if (s !== null && (u = Math.max.apply(null, Object.keys(s).map((
|
|
5102
|
-
|
|
5103
|
-
const
|
|
5104
|
-
t.send(ir(
|
|
5101
|
+
if (s !== null && (u = Math.max.apply(null, Object.keys(s).map((b) => s[b])), 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
|
+
v = !0, s = null;
|
|
5103
|
+
const b = 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(b, c > u ? c : u, M));
|
|
5105
5105
|
}
|
|
5106
5106
|
});
|
|
5107
5107
|
}
|
|
@@ -5177,11 +5177,11 @@ function Vo(t) {
|
|
|
5177
5177
|
if (a && Symbol.iterator in a)
|
|
5178
5178
|
for (const d of a) {
|
|
5179
5179
|
let p = e.get(d);
|
|
5180
|
-
const
|
|
5181
|
-
if (p || (p = hi(), e.set(d, p)), c.includes(p) || t.send(Ys(p, l)),
|
|
5180
|
+
const v = !p;
|
|
5181
|
+
if (p || (p = hi(), e.set(d, p)), c.includes(p) || t.send(Ys(p, l)), v) {
|
|
5182
5182
|
const w = d.cssRules;
|
|
5183
|
-
for (let
|
|
5184
|
-
t.send(fn(p, w[
|
|
5183
|
+
for (let b = 0; b < w.length; b++)
|
|
5184
|
+
t.send(fn(p, w[b].cssText, b, t.getBaseHref()));
|
|
5185
5185
|
}
|
|
5186
5186
|
u.push(p);
|
|
5187
5187
|
}
|
|
@@ -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:
|
|
5340
|
-
function U($,
|
|
5341
|
-
|
|
5339
|
+
const { headers: v, data: w, method: b, 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
|
-
|
|
5345
|
-
const C = L ||
|
|
5346
|
-
C.toJSON ? z = C.toJSON() : C instanceof Headers ? C.forEach(($,
|
|
5347
|
-
|
|
5344
|
+
v.toJSON ? j = v.toJSON() : v instanceof Headers ? v.forEach(($, y) => U(j, [y, $])) : Array.isArray(v) ? v.forEach(($) => U(j, $)) : typeof v == "object" && Object.entries(v).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: b || "",
|
|
5352
5352
|
status: k || I || 0,
|
|
5353
5353
|
request: {
|
|
5354
5354
|
headers: j,
|
|
@@ -5356,20 +5356,20 @@ 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(vt("xhr", String(b), 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) {
|
|
5371
|
-
const
|
|
5372
|
-
w && p.headers.set(
|
|
5371
|
+
const v = typeof n.sessionTokenHeader == "string" ? n.sessionTokenHeader : "X-OpenReplay-Session-Token", w = t.getSessionToken();
|
|
5372
|
+
w && p.headers.set(v, w);
|
|
5373
5373
|
}
|
|
5374
5374
|
return p;
|
|
5375
5375
|
}
|
|
@@ -5388,8 +5388,8 @@ function Xo(t, e, n, s, i) {
|
|
|
5388
5388
|
synchronous: !0
|
|
5389
5389
|
});
|
|
5390
5390
|
t.attachStopCallback(() => {
|
|
5391
|
-
var p,
|
|
5392
|
-
(
|
|
5391
|
+
var p, v, w, b;
|
|
5392
|
+
(v = (p = e.interceptors.request).eject) == null || v.call(p, a), (b = (w = e.interceptors.response).eject) == null || b.call(w, d);
|
|
5393
5393
|
});
|
|
5394
5394
|
}
|
|
5395
5395
|
function Yo(t) {
|
|
@@ -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
5854
|
z && t.send(vt("fetch", j, String(z.url), c(z.request), c(z.response), I.status, _ + Ve(), L, 0));
|
|
5855
|
-
}).catch((
|
|
5855
|
+
}).catch((E) => t.debug.error("Could not process Fetch response:", E)), R;
|
|
5856
5856
|
});
|
|
5857
5857
|
};
|
|
5858
5858
|
a.fetch = p;
|
|
5859
|
-
const
|
|
5860
|
-
function
|
|
5859
|
+
const v = a.XMLHttpRequest.prototype.open, w = a.XMLHttpRequest.prototype.setRequestHeader, b = 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
|
-
|
|
5887
|
-
})),
|
|
5886
|
+
F && t.send(vt("xhr", C, String(F.url), c(F.request), c(F.response), _.status, R + Ve(), P, 0));
|
|
5887
|
+
})), v.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, b.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);
|
|
@@ -6851,7 +6851,7 @@ visibility: visible;
|
|
|
6851
6851
|
@media screen and (max-width: 768px) {
|
|
6852
6852
|
#wine-widget-container {
|
|
6853
6853
|
flex-direction: column;
|
|
6854
|
-
padding: 16px;
|
|
6854
|
+
padding: 0px 16px;
|
|
6855
6855
|
min-width: 100vw;
|
|
6856
6856
|
}
|
|
6857
6857
|
#wine-widget-header h1 {
|
|
@@ -6878,6 +6878,9 @@ visibility: visible;
|
|
|
6878
6878
|
#wine-widget-container .tile-details {
|
|
6879
6879
|
text-align: center;
|
|
6880
6880
|
}
|
|
6881
|
+
.powered-by-sommelier {
|
|
6882
|
+
display:none;
|
|
6883
|
+
}
|
|
6881
6884
|
}
|
|
6882
6885
|
|
|
6883
6886
|
.card-popup {
|
|
@@ -7068,7 +7071,7 @@ class fi {
|
|
|
7068
7071
|
"Content-Type": "application/json",
|
|
7069
7072
|
Authorization: `Bearer ${this.token}`
|
|
7070
7073
|
},
|
|
7071
|
-
body: JSON.stringify({ text: e
|
|
7074
|
+
body: JSON.stringify({ text: e })
|
|
7072
7075
|
}), s = await n.json();
|
|
7073
7076
|
if (!n.ok)
|
|
7074
7077
|
throw new Error(`API call failed with status ${n.status}: ${s.message || "No additional error information"}`);
|
|
@@ -7574,12 +7577,78 @@ class va {
|
|
|
7574
7577
|
headerBudget: "бюджет",
|
|
7575
7578
|
headerOccasion: "случай",
|
|
7576
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: "немесе"
|
|
7577
7644
|
}
|
|
7578
7645
|
};
|
|
7579
7646
|
}
|
|
7580
7647
|
async fetchConfig(e) {
|
|
7581
7648
|
try {
|
|
7582
|
-
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;
|
|
7651
|
+
const s = localStorage.getItem("selectedLanguage");
|
|
7583
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";
|
|
7584
7653
|
} catch {
|
|
7585
7654
|
this.language = localStorage.getItem("selectedLanguage") || "en", this.currency = "USD";
|
|
@@ -7606,10 +7675,44 @@ class va {
|
|
|
7606
7675
|
return s;
|
|
7607
7676
|
}
|
|
7608
7677
|
getSupportedLanguages() {
|
|
7609
|
-
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 = "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", 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 b = (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 (!b)
|
|
7705
|
+
throw new Error("No response from OpenAI");
|
|
7706
|
+
const T = b.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 (v) {
|
|
7711
|
+
return console.error("Error translating texts:", v), e;
|
|
7712
|
+
}
|
|
7610
7713
|
}
|
|
7611
7714
|
}
|
|
7612
|
-
const
|
|
7715
|
+
const G = new va();
|
|
7613
7716
|
class ba {
|
|
7614
7717
|
constructor() {
|
|
7615
7718
|
var e, n, s, i, r;
|
|
@@ -7624,18 +7727,18 @@ class ba {
|
|
|
7624
7727
|
}
|
|
7625
7728
|
getTitle(e) {
|
|
7626
7729
|
return e ? `<h1 class="wine-widget-big-title">${e}</h1>` : `<h1 class="wine-widget-big-title">
|
|
7627
|
-
${
|
|
7730
|
+
${G.translate("headerLine1")}
|
|
7628
7731
|
<span class="icon icon-meal"></span>
|
|
7629
|
-
<span class="icon-label">${
|
|
7732
|
+
<span class="icon-label">${G.translate("headerMeal")}</span>,
|
|
7630
7733
|
<span class="icon icon-mood"></span>
|
|
7631
|
-
<span class="icon-label">${
|
|
7734
|
+
<span class="icon-label">${G.translate("headerMood")}</span>
|
|
7632
7735
|
</br>
|
|
7633
7736
|
<!-- <span class="icon icon-budget"></span> -->
|
|
7634
|
-
<!-- <span class="icon-label">${
|
|
7635
|
-
${
|
|
7737
|
+
<!-- <span class="icon-label">${G.translate("headerBudget")}</span>, -->
|
|
7738
|
+
${G.translate("headerOr")}
|
|
7636
7739
|
<span class="icon icon-occasion"></span>
|
|
7637
|
-
<span class="icon-label">${
|
|
7638
|
-
${
|
|
7740
|
+
<span class="icon-label">${G.translate("headerOccasion")}</span>
|
|
7741
|
+
${G.translate("headerLine2")}
|
|
7639
7742
|
</h1>`;
|
|
7640
7743
|
}
|
|
7641
7744
|
initializeWidget() {
|
|
@@ -7654,11 +7757,11 @@ class ba {
|
|
|
7654
7757
|
<input
|
|
7655
7758
|
type="text"
|
|
7656
7759
|
id="wine-search-input"
|
|
7657
|
-
placeholder="${
|
|
7760
|
+
placeholder="${G.translate("searchPlaceholder")}">
|
|
7658
7761
|
|
|
7659
7762
|
<!-- Кнопка -->
|
|
7660
7763
|
<button id="wine-search-button">
|
|
7661
|
-
${
|
|
7764
|
+
${G.translate("searchButton")}
|
|
7662
7765
|
</button>
|
|
7663
7766
|
</div>
|
|
7664
7767
|
<div id="wine-widget-right">
|
|
@@ -7672,9 +7775,9 @@ class ba {
|
|
|
7672
7775
|
<div id="powered-by-widget">
|
|
7673
7776
|
<div class="powered-by-center">
|
|
7674
7777
|
<a href="https://wineater.com" target="_blank">
|
|
7675
|
-
<span>${
|
|
7778
|
+
<span>${G.translate("poweredBy")}</span>
|
|
7676
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">
|
|
7677
|
-
<span>${
|
|
7780
|
+
<span class="powered-by-sommelier">${G.translate("AI sommelier")}</span>
|
|
7678
7781
|
</a>
|
|
7679
7782
|
</div>
|
|
7680
7783
|
<div class="powered-by-lang"></div>
|
|
@@ -7735,60 +7838,60 @@ class ba {
|
|
|
7735
7838
|
function c(u) {
|
|
7736
7839
|
return typeof u != "number" && (u = Number(u)), u.toLocaleString("en-US");
|
|
7737
7840
|
}
|
|
7738
|
-
e.forEach((u, a) => {
|
|
7739
|
-
const d = i(u, "title"), p = i(u, "image"),
|
|
7841
|
+
e.forEach(async (u, a) => {
|
|
7842
|
+
const d = i(u, "title"), p = i(u, "image"), v = i(u, "total"), w = i(u, "url"), b = u.tags || u.Tags, T = r(u, ["type", "country", "region", "grape"]), N = b ? o(b) : "", M = l(u), D = u["Short Description"], k = u.pairing_recommendation, _ = u.isSommSelection, R = `
|
|
7740
7843
|
<div class="wine-recommendation-tile ${_ ? "somm-selection" : ""}">
|
|
7741
|
-
${_ ? `<div class="somm-selection-badge">${
|
|
7844
|
+
${_ ? `<div class="somm-selection-badge">${G.translate("wineDetails.sommSelection")}</div>` : ""}
|
|
7742
7845
|
|
|
7743
7846
|
<div class="tile-top">
|
|
7744
7847
|
${p ? `<img src="${p}" alt="${d}" class="wine-image" />` : ""}
|
|
7745
|
-
<div class="wine-price">${c(
|
|
7848
|
+
<div class="wine-price">${c(v)} ${G.getCurrency("label")}</div>
|
|
7746
7849
|
<h3 class="wine-title">${d}</h3>
|
|
7747
7850
|
</div>
|
|
7748
7851
|
|
|
7749
|
-
${
|
|
7852
|
+
${T ? `<div class="wine-params">${T}</div>` : ""}
|
|
7750
7853
|
|
|
7751
7854
|
<div class="bottom-row">
|
|
7752
|
-
${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>`}
|
|
7753
7856
|
</div>
|
|
7754
7857
|
|
|
7755
|
-
<div class="card-popup hidden">
|
|
7756
|
-
|
|
7757
|
-
|
|
7758
|
-
|
|
7759
|
-
|
|
7760
|
-
|
|
7761
|
-
|
|
7762
|
-
|
|
7763
|
-
|
|
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>
|
|
7764
7867
|
|
|
7765
|
-
${
|
|
7868
|
+
${M}
|
|
7766
7869
|
</div>
|
|
7767
7870
|
`;
|
|
7768
7871
|
s.insertAdjacentHTML("beforeend", R);
|
|
7769
7872
|
const L = s.children[a];
|
|
7770
7873
|
if (!w) {
|
|
7771
|
-
const I = L.querySelector("[data-toggle-info]"),
|
|
7772
|
-
|
|
7773
|
-
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");
|
|
7774
7877
|
}), document.addEventListener("click", (U) => {
|
|
7775
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()));
|
|
7776
7879
|
}), I == null || I.addEventListener("click", (U) => {
|
|
7777
7880
|
var j;
|
|
7778
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) {
|
|
7779
|
-
const z =
|
|
7882
|
+
const z = E.innerHTML, C = document.createElement("div");
|
|
7780
7883
|
C.className = "mobile-fullscreen-wrapper", C.innerHTML = `
|
|
7781
7884
|
<div class="mobile-fullscreen-overlay"></div>
|
|
7782
7885
|
<div class="card-popup mobile-fullscreen-popup">${z}</div>
|
|
7783
7886
|
`, (j = C.querySelector(".card-popup-close")) == null || j.addEventListener("click", () => C.remove()), document.body.appendChild(C);
|
|
7784
7887
|
} else
|
|
7785
|
-
|
|
7888
|
+
E.classList.remove("hidden");
|
|
7786
7889
|
});
|
|
7787
7890
|
}
|
|
7788
7891
|
setTimeout(() => {
|
|
7789
7892
|
L.style.opacity = "1", L.style.transform = "translateY(0)";
|
|
7790
7893
|
}, n ? a * 200 : 0);
|
|
7791
|
-
}), this.widgetType === "store" && this.enableHoverPopups();
|
|
7894
|
+
}), this.translatePopupContent(e), this.widgetType === "store" && this.enableHoverPopups();
|
|
7792
7895
|
}
|
|
7793
7896
|
animateCardDisappearance() {
|
|
7794
7897
|
const e = document.querySelectorAll(".wine-recommendation-tile");
|
|
@@ -7810,7 +7913,7 @@ class ba {
|
|
|
7810
7913
|
const e = document.getElementById("wine-placeholder");
|
|
7811
7914
|
e.innerHTML = `
|
|
7812
7915
|
<div class="no-results">
|
|
7813
|
-
<p>${
|
|
7916
|
+
<p>${G.translate("noResultsMessage") || "No recommendations found for your query."}</p>
|
|
7814
7917
|
</div>
|
|
7815
7918
|
`;
|
|
7816
7919
|
}
|
|
@@ -7818,10 +7921,47 @@ class ba {
|
|
|
7818
7921
|
const e = document.getElementById("wine-placeholder");
|
|
7819
7922
|
e.innerHTML = `
|
|
7820
7923
|
<div class="error-message">
|
|
7821
|
-
<p>${
|
|
7924
|
+
<p>${G.translate("errorMessage") || "Something went wrong. Please try again later."}</p>
|
|
7822
7925
|
</div>
|
|
7823
7926
|
`;
|
|
7824
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((v) => {
|
|
7938
|
+
const w = l[v] || l[v.toLowerCase()];
|
|
7939
|
+
w && (a[v] = 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 v = p.querySelector(".popup-short-desc");
|
|
7946
|
+
v && (v.textContent = d["Short Description"]);
|
|
7947
|
+
}
|
|
7948
|
+
if (d.reason) {
|
|
7949
|
+
const v = p.querySelector(".popup-reason");
|
|
7950
|
+
v && (v.textContent = d.reason);
|
|
7951
|
+
}
|
|
7952
|
+
if (d.pairing_recommendation) {
|
|
7953
|
+
const v = p.querySelector(".popup-pairing");
|
|
7954
|
+
v && (v.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(""), b = p.querySelector(".popup-tags");
|
|
7958
|
+
b && (b.innerHTML = w);
|
|
7959
|
+
}
|
|
7960
|
+
}
|
|
7961
|
+
});
|
|
7962
|
+
await Promise.all(o);
|
|
7963
|
+
}
|
|
7964
|
+
}
|
|
7825
7965
|
async loadInstantRecommendations() {
|
|
7826
7966
|
this.showLoadingIndicator();
|
|
7827
7967
|
try {
|
|
@@ -7832,7 +7972,7 @@ class ba {
|
|
|
7832
7972
|
}
|
|
7833
7973
|
}
|
|
7834
7974
|
initializeSearchAnimation() {
|
|
7835
|
-
const e = document.getElementById("wine-search-input"), n =
|
|
7975
|
+
const e = document.getElementById("wine-search-input"), n = G.translate("placeholderSuggestions");
|
|
7836
7976
|
let s = 0, i = 0, r = !0, o = !1;
|
|
7837
7977
|
const l = () => {
|
|
7838
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)));
|
|
@@ -7844,13 +7984,16 @@ class ba {
|
|
|
7844
7984
|
});
|
|
7845
7985
|
}
|
|
7846
7986
|
createLanguageSwitcher() {
|
|
7847
|
-
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");
|
|
7848
7991
|
i.id = "language-dropdown", i.className = "language-dropdown", n.forEach((r) => {
|
|
7849
7992
|
const o = document.createElement("option");
|
|
7850
7993
|
o.value = r, o.textContent = r.toUpperCase(), o.selected = r === s, i.appendChild(o);
|
|
7851
7994
|
}), i.onchange = (r) => {
|
|
7852
7995
|
const o = r.target.value;
|
|
7853
|
-
|
|
7996
|
+
G.language = o, localStorage.setItem("selectedLanguage", o), location.reload();
|
|
7854
7997
|
}, e.appendChild(i);
|
|
7855
7998
|
}
|
|
7856
7999
|
}
|
|
@@ -7861,7 +8004,7 @@ class wa {
|
|
|
7861
8004
|
}
|
|
7862
8005
|
async initTranslator() {
|
|
7863
8006
|
const e = this.store ? this.store.charAt(0).toUpperCase() + this.store.slice(1) : "Test";
|
|
7864
|
-
await
|
|
8007
|
+
await G.fetchConfig(e || "Test");
|
|
7865
8008
|
}
|
|
7866
8009
|
initCookies() {
|
|
7867
8010
|
var e;
|