@searchcraft/javascript-sdk 0.10.1 → 0.10.2
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/components/index.d.ts +123 -80
- package/dist/components/index.js +7 -33
- package/dist/components/index.js.map +1 -1
- package/dist/components/{p-84e2cbd6.js → p-01589c0b.js} +3 -3
- package/dist/components/{p-84e2cbd6.js.map → p-01589c0b.js.map} +1 -1
- package/dist/components/{p-5d17ace0.js → p-0f5b47be.js} +7 -7
- package/dist/components/{p-5d17ace0.js.map → p-0f5b47be.js.map} +1 -1
- package/dist/components/{p-0077f677.js → p-2999498a.js} +34 -22
- package/dist/components/p-2999498a.js.map +1 -0
- package/dist/components/{p-17c646e2.js → p-3465cbc7.js} +548 -474
- package/dist/components/p-3465cbc7.js.map +1 -0
- package/dist/components/{p-13e81b5d.js → p-435bec83.js} +2 -2
- package/dist/components/{p-13e81b5d.js.map → p-435bec83.js.map} +1 -1
- package/dist/components/{p-172a848d.js → p-48fa555e.js} +7 -7
- package/dist/components/{p-172a848d.js.map → p-48fa555e.js.map} +1 -1
- package/dist/components/p-4d37616e.js +105 -0
- package/dist/components/p-4d37616e.js.map +1 -0
- package/dist/components/{p-3e65aa91.js → p-66109c31.js} +3 -8
- package/dist/components/p-66109c31.js.map +1 -0
- package/dist/components/{p-2be1a382.js → p-760c6845.js} +2 -2
- package/dist/components/{p-2be1a382.js.map → p-760c6845.js.map} +1 -1
- package/dist/components/{p-868803f9.js → p-7c650118.js} +2 -2
- package/dist/components/{p-868803f9.js.map → p-7c650118.js.map} +1 -1
- package/dist/components/{p-a62a2e74.js → p-c1f43fe1.js} +4 -4
- package/dist/components/{p-a62a2e74.js.map → p-c1f43fe1.js.map} +1 -1
- package/dist/components/searchcraft-ad.js +1 -1
- package/dist/components/searchcraft-facet-list.js +1 -1
- package/dist/components/searchcraft-filter-panel.js +5 -5
- package/dist/components/searchcraft-input-form.js +1 -1
- package/dist/components/searchcraft-pagination.js +1 -1
- package/dist/components/searchcraft-popover-button.js +5 -3
- package/dist/components/searchcraft-popover-button.js.map +1 -1
- package/dist/components/searchcraft-popover-footer.js +1 -1
- package/dist/components/searchcraft-popover-form.js +8 -8
- package/dist/components/searchcraft-popover-form.js.map +1 -1
- package/dist/components/searchcraft-popover-list-item.js +1 -1
- package/dist/components/searchcraft-popover-list-view.js +1 -1
- package/dist/components/searchcraft-results-info.js +2 -2
- package/dist/components/searchcraft-search-result.js +1 -1
- package/dist/components/searchcraft-search-results-per-page.js +1 -1
- package/dist/components/searchcraft-search-results.js +69 -32
- package/dist/components/searchcraft-search-results.js.map +1 -1
- package/dist/components/searchcraft-slider.js +1 -1
- package/dist/components/searchcraft-theme.js +1 -1
- package/dist/components/searchcraft-theme.js.map +1 -1
- package/dist/components/searchcraft-toggle-button.js +1 -1
- package/dist/hydrate/index.js +484 -388
- package/dist/hydrate/index.mjs +484 -388
- package/dist/themes/hologram.css +1 -1
- package/dist/themes/hologram.css.map +1 -1
- package/dist/types/components/searchcraft-input-form/searchcraft-input-form.d.ts +7 -3
- package/dist/types/components/searchcraft-popover-button/searchcraft-popover-button.d.ts +3 -3
- package/dist/types/components/searchcraft-search-results/searchcraft-search-results.d.ts +10 -5
- package/dist/types/components.d.ts +20 -12
- package/dist/types/index.d.ts +0 -1
- package/dist/types/store/SearchcraftStore.types.d.ts +15 -6
- package/dist/types/utils/index.d.ts +0 -1
- package/dist/types/utils/units.d.ts +19 -6
- package/package.json +4 -7
- package/dist/components/p-0077f677.js.map +0 -1
- package/dist/components/p-17c646e2.js.map +0 -1
- package/dist/components/p-3e65aa91.js.map +0 -1
- package/dist/components/p-6104fe5d.js +0 -84
- package/dist/components/p-6104fe5d.js.map +0 -1
- package/dist/types/utils/styles.d.ts +0 -3
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var h = (
|
|
4
|
-
var
|
|
5
|
-
class
|
|
1
|
+
var q = Object.defineProperty;
|
|
2
|
+
var B = (a, e, n) => e in a ? q(a, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : a[e] = n;
|
|
3
|
+
var h = (a, e, n) => B(a, typeof e != "symbol" ? e + "" : e, n);
|
|
4
|
+
var F = /* @__PURE__ */ ((a) => (a[a.DEBUG = 0] = "DEBUG", a[a.INFO = 1] = "INFO", a[a.WARN = 2] = "WARN", a[a.ERROR = 3] = "ERROR", a))(F || {});
|
|
5
|
+
class pe {
|
|
6
6
|
constructor(e) {
|
|
7
7
|
h(this, "logLevel");
|
|
8
8
|
h(this, "logFormatter");
|
|
9
9
|
this.logLevel = e.logLevel || 1, this.logFormatter = e.logFormatter || this.defaultFormatter;
|
|
10
10
|
}
|
|
11
11
|
defaultFormatter(e, n) {
|
|
12
|
-
return `[${
|
|
12
|
+
return `[${F[e]}] ${( new Date()).toISOString()}: ${n}`;
|
|
13
13
|
}
|
|
14
14
|
debug(e) {
|
|
15
15
|
this.logLevel <= 0 && console.log(this.logFormatter(0, e));
|
|
@@ -40,263 +40,263 @@ class ve {
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
function
|
|
44
|
-
return new (n || (n = Promise))(function(
|
|
45
|
-
function t(
|
|
43
|
+
function y(a, e, n, r) {
|
|
44
|
+
return new (n || (n = Promise))(function(i, o) {
|
|
45
|
+
function t(s) {
|
|
46
46
|
try {
|
|
47
|
-
l(
|
|
48
|
-
} catch (
|
|
49
|
-
|
|
47
|
+
l(r.next(s));
|
|
48
|
+
} catch (c) {
|
|
49
|
+
o(c);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
function u(
|
|
52
|
+
function u(s) {
|
|
53
53
|
try {
|
|
54
|
-
l(
|
|
55
|
-
} catch (
|
|
56
|
-
|
|
54
|
+
l(r.throw(s));
|
|
55
|
+
} catch (c) {
|
|
56
|
+
o(c);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
function l(
|
|
60
|
-
var
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
function l(s) {
|
|
60
|
+
var c;
|
|
61
|
+
s.done ? i(s.value) : (c = s.value, c instanceof n ? c : new n(function(p) {
|
|
62
|
+
p(c);
|
|
63
63
|
})).then(t, u);
|
|
64
64
|
}
|
|
65
|
-
l((
|
|
65
|
+
l((r = r.apply(a, [])).next());
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
|
-
function
|
|
69
|
-
var n,
|
|
70
|
-
if (1 &
|
|
71
|
-
return
|
|
68
|
+
function w(a, e) {
|
|
69
|
+
var n, r, i, o, t = { label: 0, sent: function() {
|
|
70
|
+
if (1 & i[0]) throw i[1];
|
|
71
|
+
return i[1];
|
|
72
72
|
}, trys: [], ops: [] };
|
|
73
|
-
return
|
|
73
|
+
return o = { next: u(0), throw: u(1), return: u(2) }, typeof Symbol == "function" && (o[Symbol.iterator] = function() {
|
|
74
74
|
return this;
|
|
75
|
-
}),
|
|
75
|
+
}), o;
|
|
76
76
|
function u(l) {
|
|
77
|
-
return function(
|
|
78
|
-
return function(
|
|
77
|
+
return function(s) {
|
|
78
|
+
return function(c) {
|
|
79
79
|
if (n) throw new TypeError("Generator is already executing.");
|
|
80
|
-
for (;
|
|
81
|
-
if (n = 1,
|
|
82
|
-
switch (
|
|
80
|
+
for (; o && (o = 0, c[0] && (t = 0)), t; ) try {
|
|
81
|
+
if (n = 1, r && (i = 2 & c[0] ? r.return : c[0] ? r.throw || ((i = r.return) && i.call(r), 0) : r.next) && !(i = i.call(r, c[1])).done) return i;
|
|
82
|
+
switch (r = 0, i && (c = [2 & c[0], i.value]), c[0]) {
|
|
83
83
|
case 0:
|
|
84
84
|
case 1:
|
|
85
|
-
|
|
85
|
+
i = c;
|
|
86
86
|
break;
|
|
87
87
|
case 4:
|
|
88
|
-
return t.label++, { value:
|
|
88
|
+
return t.label++, { value: c[1], done: !1 };
|
|
89
89
|
case 5:
|
|
90
|
-
t.label++,
|
|
90
|
+
t.label++, r = c[1], c = [0];
|
|
91
91
|
continue;
|
|
92
92
|
case 7:
|
|
93
|
-
|
|
93
|
+
c = t.ops.pop(), t.trys.pop();
|
|
94
94
|
continue;
|
|
95
95
|
default:
|
|
96
|
-
if (
|
|
96
|
+
if (i = t.trys, !((i = i.length > 0 && i[i.length - 1]) || c[0] !== 6 && c[0] !== 2)) {
|
|
97
97
|
t = 0;
|
|
98
98
|
continue;
|
|
99
99
|
}
|
|
100
|
-
if (
|
|
101
|
-
t.label =
|
|
100
|
+
if (c[0] === 3 && (!i || c[1] > i[0] && c[1] < i[3])) {
|
|
101
|
+
t.label = c[1];
|
|
102
102
|
break;
|
|
103
103
|
}
|
|
104
|
-
if (
|
|
105
|
-
t.label =
|
|
104
|
+
if (c[0] === 6 && t.label < i[1]) {
|
|
105
|
+
t.label = i[1], i = c;
|
|
106
106
|
break;
|
|
107
107
|
}
|
|
108
|
-
if (
|
|
109
|
-
t.label =
|
|
108
|
+
if (i && t.label < i[2]) {
|
|
109
|
+
t.label = i[2], t.ops.push(c);
|
|
110
110
|
break;
|
|
111
111
|
}
|
|
112
|
-
|
|
112
|
+
i[2] && t.ops.pop(), t.trys.pop();
|
|
113
113
|
continue;
|
|
114
114
|
}
|
|
115
|
-
|
|
116
|
-
} catch (
|
|
117
|
-
|
|
115
|
+
c = e.call(a, t);
|
|
116
|
+
} catch (p) {
|
|
117
|
+
c = [6, p], r = 0;
|
|
118
118
|
} finally {
|
|
119
|
-
n =
|
|
119
|
+
n = i = 0;
|
|
120
120
|
}
|
|
121
|
-
if (5 &
|
|
122
|
-
return { value:
|
|
123
|
-
}([l,
|
|
121
|
+
if (5 & c[0]) throw c[1];
|
|
122
|
+
return { value: c[0] ? c[1] : void 0, done: !0 };
|
|
123
|
+
}([l, s]);
|
|
124
124
|
};
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
|
-
var
|
|
128
|
-
typeof window < "u" && (O[
|
|
127
|
+
var S = { exclude: [] }, O = {}, N = { timeout: "true" }, v = function(a, e) {
|
|
128
|
+
typeof window < "u" && (O[a] = e);
|
|
129
129
|
}, j = function() {
|
|
130
|
-
return Object.fromEntries(Object.entries(O).filter(function(
|
|
131
|
-
var e, n =
|
|
132
|
-
return !(!((e =
|
|
133
|
-
}).map(function(
|
|
134
|
-
return [
|
|
130
|
+
return Object.fromEntries(Object.entries(O).filter(function(a) {
|
|
131
|
+
var e, n = a[0];
|
|
132
|
+
return !(!((e = S == null ? void 0 : S.exclude) === null || e === void 0) && e.includes(n));
|
|
133
|
+
}).map(function(a) {
|
|
134
|
+
return [a[0], (0, a[1])()];
|
|
135
135
|
}));
|
|
136
136
|
};
|
|
137
|
-
function
|
|
138
|
-
return
|
|
137
|
+
function C(a) {
|
|
138
|
+
return a ^= a >>> 16, a = Math.imul(a, 2246822507), a ^= a >>> 13, a = Math.imul(a, 3266489909), (a ^= a >>> 16) >>> 0;
|
|
139
139
|
}
|
|
140
140
|
var m = new Uint32Array([597399067, 2869860233, 951274213, 2716044179]);
|
|
141
|
-
function g(
|
|
142
|
-
return
|
|
141
|
+
function g(a, e) {
|
|
142
|
+
return a << e | a >>> 32 - e;
|
|
143
143
|
}
|
|
144
|
-
function
|
|
144
|
+
function _(a, e) {
|
|
145
145
|
var n;
|
|
146
|
-
if (e === void 0 && (e = 0), e = e ? 0 | e : 0, typeof
|
|
147
|
-
var
|
|
148
|
-
((function(
|
|
149
|
-
for (var u =
|
|
150
|
-
var
|
|
151
|
-
|
|
146
|
+
if (e === void 0 && (e = 0), e = e ? 0 | e : 0, typeof a == "string" && (n = a, a = new TextEncoder().encode(n).buffer), !(a instanceof ArrayBuffer)) throw new TypeError("Expected key to be ArrayBuffer or string");
|
|
147
|
+
var r = new Uint32Array([e, e, e, e]);
|
|
148
|
+
((function(o, t) {
|
|
149
|
+
for (var u = o.byteLength / 16 | 0, l = new Uint32Array(o, 0, 4 * u), s = 0; s < u; s++) {
|
|
150
|
+
var c = l.subarray(4 * s, 4 * (s + 1));
|
|
151
|
+
c[0] = Math.imul(c[0], m[0]), c[0] = g(c[0], 15), c[0] = Math.imul(c[0], m[1]), t[0] = t[0] ^ c[0], t[0] = g(t[0], 19), t[0] = t[0] + t[1], t[0] = Math.imul(t[0], 5) + 1444728091, c[1] = Math.imul(c[1], m[1]), c[1] = g(c[1], 16), c[1] = Math.imul(c[1], m[2]), t[1] = t[1] ^ c[1], t[1] = g(t[1], 17), t[1] = t[1] + t[2], t[1] = Math.imul(t[1], 5) + 197830471, c[2] = Math.imul(c[2], m[2]), c[2] = g(c[2], 17), c[2] = Math.imul(c[2], m[3]), t[2] = t[2] ^ c[2], t[2] = g(t[2], 15), t[2] = t[2] + t[3], t[2] = Math.imul(t[2], 5) + 2530024501, c[3] = Math.imul(c[3], m[3]), c[3] = g(c[3], 18), c[3] = Math.imul(c[3], m[0]), t[3] = t[3] ^ c[3], t[3] = g(t[3], 13), t[3] = t[3] + t[0], t[3] = Math.imul(t[3], 5) + 850148119;
|
|
152
152
|
}
|
|
153
|
-
}))(
|
|
154
|
-
var u =
|
|
153
|
+
}))(a, r), function(o, t) {
|
|
154
|
+
var u = o.byteLength / 16 | 0, l = o.byteLength % 16, s = new Uint32Array(4), c = new Uint8Array(o, 16 * u, l);
|
|
155
155
|
switch (l) {
|
|
156
156
|
case 15:
|
|
157
|
-
|
|
157
|
+
s[3] = s[3] ^ c[14] << 16;
|
|
158
158
|
case 14:
|
|
159
|
-
|
|
159
|
+
s[3] = s[3] ^ c[13] << 8;
|
|
160
160
|
case 13:
|
|
161
|
-
|
|
161
|
+
s[3] = s[3] ^ c[12] << 0, s[3] = Math.imul(s[3], m[3]), s[3] = g(s[3], 18), s[3] = Math.imul(s[3], m[0]), t[3] = t[3] ^ s[3];
|
|
162
162
|
case 12:
|
|
163
|
-
|
|
163
|
+
s[2] = s[2] ^ c[11] << 24;
|
|
164
164
|
case 11:
|
|
165
|
-
|
|
165
|
+
s[2] = s[2] ^ c[10] << 16;
|
|
166
166
|
case 10:
|
|
167
|
-
|
|
167
|
+
s[2] = s[2] ^ c[9] << 8;
|
|
168
168
|
case 9:
|
|
169
|
-
|
|
169
|
+
s[2] = s[2] ^ c[8] << 0, s[2] = Math.imul(s[2], m[2]), s[2] = g(s[2], 17), s[2] = Math.imul(s[2], m[3]), t[2] = t[2] ^ s[2];
|
|
170
170
|
case 8:
|
|
171
|
-
|
|
171
|
+
s[1] = s[1] ^ c[7] << 24;
|
|
172
172
|
case 7:
|
|
173
|
-
|
|
173
|
+
s[1] = s[1] ^ c[6] << 16;
|
|
174
174
|
case 6:
|
|
175
|
-
|
|
175
|
+
s[1] = s[1] ^ c[5] << 8;
|
|
176
176
|
case 5:
|
|
177
|
-
|
|
177
|
+
s[1] = s[1] ^ c[4] << 0, s[1] = Math.imul(s[1], m[1]), s[1] = g(s[1], 16), s[1] = Math.imul(s[1], m[2]), t[1] = t[1] ^ s[1];
|
|
178
178
|
case 4:
|
|
179
|
-
|
|
179
|
+
s[0] = s[0] ^ c[3] << 24;
|
|
180
180
|
case 3:
|
|
181
|
-
|
|
181
|
+
s[0] = s[0] ^ c[2] << 16;
|
|
182
182
|
case 2:
|
|
183
|
-
|
|
183
|
+
s[0] = s[0] ^ c[1] << 8;
|
|
184
184
|
case 1:
|
|
185
|
-
|
|
185
|
+
s[0] = s[0] ^ c[0] << 0, s[0] = Math.imul(s[0], m[0]), s[0] = g(s[0], 15), s[0] = Math.imul(s[0], m[1]), t[0] = t[0] ^ s[0];
|
|
186
186
|
}
|
|
187
|
-
}(
|
|
188
|
-
t[0] = t[0] ^
|
|
189
|
-
}(
|
|
190
|
-
var
|
|
191
|
-
return Array.from(
|
|
192
|
-
return
|
|
187
|
+
}(a, r), function(o, t) {
|
|
188
|
+
t[0] = t[0] ^ o.byteLength, t[1] = t[1] ^ o.byteLength, t[2] = t[2] ^ o.byteLength, t[3] = t[3] ^ o.byteLength, t[0] = t[0] + t[1] | 0, t[0] = t[0] + t[2] | 0, t[0] = t[0] + t[3] | 0, t[1] = t[1] + t[0] | 0, t[2] = t[2] + t[0] | 0, t[3] = t[3] + t[0] | 0, t[0] = C(t[0]), t[1] = C(t[1]), t[2] = C(t[2]), t[3] = C(t[3]), t[0] = t[0] + t[1] | 0, t[0] = t[0] + t[2] | 0, t[0] = t[0] + t[3] | 0, t[1] = t[1] + t[0] | 0, t[2] = t[2] + t[0] | 0, t[3] = t[3] + t[0] | 0;
|
|
189
|
+
}(a, r);
|
|
190
|
+
var i = new Uint8Array(r.buffer);
|
|
191
|
+
return Array.from(i).map(function(o) {
|
|
192
|
+
return o.toString(16).padStart(2, "0");
|
|
193
193
|
}).join("");
|
|
194
194
|
}
|
|
195
|
-
function
|
|
195
|
+
function G(a, e) {
|
|
196
196
|
return new Promise(function(n) {
|
|
197
197
|
setTimeout(function() {
|
|
198
198
|
return n(e);
|
|
199
|
-
},
|
|
199
|
+
}, a);
|
|
200
200
|
});
|
|
201
201
|
}
|
|
202
|
-
function
|
|
203
|
-
return Promise.all(
|
|
204
|
-
return Promise.race([
|
|
202
|
+
function W(a, e, n) {
|
|
203
|
+
return Promise.all(a.map(function(r) {
|
|
204
|
+
return Promise.race([r, G(e, n)]);
|
|
205
205
|
}));
|
|
206
206
|
}
|
|
207
|
-
function
|
|
208
|
-
return
|
|
209
|
-
var
|
|
210
|
-
return
|
|
211
|
-
switch (
|
|
207
|
+
function V() {
|
|
208
|
+
return y(this, void 0, void 0, function() {
|
|
209
|
+
var a, e, n, r, i;
|
|
210
|
+
return w(this, function(o) {
|
|
211
|
+
switch (o.label) {
|
|
212
212
|
case 0:
|
|
213
|
-
return
|
|
213
|
+
return o.trys.push([0, 2, , 3]), a = j(), e = Object.keys(a), [4, W(Object.values(a), (S == null ? void 0 : S.timeout) || 1e3, N)];
|
|
214
214
|
case 1:
|
|
215
|
-
return n =
|
|
215
|
+
return n = o.sent(), r = n.filter(function(t) {
|
|
216
216
|
return t !== void 0;
|
|
217
|
-
}),
|
|
218
|
-
|
|
219
|
-
}), [2,
|
|
217
|
+
}), i = {}, r.forEach(function(t, u) {
|
|
218
|
+
i[e[u]] = t;
|
|
219
|
+
}), [2, D(i, S.exclude || [])];
|
|
220
220
|
case 2:
|
|
221
|
-
throw
|
|
221
|
+
throw o.sent();
|
|
222
222
|
case 3:
|
|
223
223
|
return [2];
|
|
224
224
|
}
|
|
225
225
|
});
|
|
226
226
|
});
|
|
227
227
|
}
|
|
228
|
-
function
|
|
229
|
-
var n = {},
|
|
230
|
-
if (
|
|
231
|
-
var t =
|
|
232
|
-
if (typeof t != "object" || Array.isArray(t)) e.includes(
|
|
228
|
+
function D(a, e) {
|
|
229
|
+
var n = {}, r = function(o) {
|
|
230
|
+
if (a.hasOwnProperty(o)) {
|
|
231
|
+
var t = a[o];
|
|
232
|
+
if (typeof t != "object" || Array.isArray(t)) e.includes(o) || (n[o] = t);
|
|
233
233
|
else {
|
|
234
|
-
var u =
|
|
235
|
-
return l.startsWith(
|
|
234
|
+
var u = D(t, e.map(function(l) {
|
|
235
|
+
return l.startsWith(o + ".") ? l.slice(o.length + 1) : l;
|
|
236
236
|
}));
|
|
237
|
-
Object.keys(u).length > 0 && (n[
|
|
237
|
+
Object.keys(u).length > 0 && (n[o] = u);
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
240
|
};
|
|
241
|
-
for (var
|
|
241
|
+
for (var i in a) r(i);
|
|
242
242
|
return n;
|
|
243
243
|
}
|
|
244
|
-
function $(
|
|
245
|
-
return
|
|
244
|
+
function $(a) {
|
|
245
|
+
return y(this, void 0, void 0, function() {
|
|
246
246
|
var e, n;
|
|
247
|
-
return
|
|
248
|
-
switch (
|
|
247
|
+
return w(this, function(r) {
|
|
248
|
+
switch (r.label) {
|
|
249
249
|
case 0:
|
|
250
|
-
return
|
|
250
|
+
return r.trys.push([0, 2, , 3]), [4, V()];
|
|
251
251
|
case 1:
|
|
252
|
-
return e =
|
|
252
|
+
return e = r.sent(), n = _(JSON.stringify(e)), [2, n.toString()];
|
|
253
253
|
case 2:
|
|
254
|
-
throw
|
|
254
|
+
throw r.sent();
|
|
255
255
|
case 3:
|
|
256
256
|
return [2];
|
|
257
257
|
}
|
|
258
258
|
});
|
|
259
259
|
});
|
|
260
260
|
}
|
|
261
|
-
function
|
|
262
|
-
for (var e = 0, n = 0; n <
|
|
261
|
+
function z(a) {
|
|
262
|
+
for (var e = 0, n = 0; n < a.length; ++n) e += Math.abs(a[n]);
|
|
263
263
|
return e;
|
|
264
264
|
}
|
|
265
|
-
function
|
|
266
|
-
for (var
|
|
267
|
-
for (var
|
|
268
|
-
|
|
265
|
+
function U(a, e, n) {
|
|
266
|
+
for (var r = [], i = 0; i < a[0].data.length; i++) {
|
|
267
|
+
for (var o = [], t = 0; t < a.length; t++) o.push(a[t].data[i]);
|
|
268
|
+
r.push(H(o));
|
|
269
269
|
}
|
|
270
|
-
var u = new Uint8ClampedArray(
|
|
270
|
+
var u = new Uint8ClampedArray(r);
|
|
271
271
|
return new ImageData(u, e, n);
|
|
272
272
|
}
|
|
273
|
-
function
|
|
274
|
-
if (
|
|
275
|
-
for (var e = {}, n = 0,
|
|
276
|
-
e[
|
|
277
|
-
var
|
|
278
|
-
for (var
|
|
279
|
-
return
|
|
273
|
+
function H(a) {
|
|
274
|
+
if (a.length === 0) return 0;
|
|
275
|
+
for (var e = {}, n = 0, r = a; n < r.length; n++)
|
|
276
|
+
e[o = r[n]] = (e[o] || 0) + 1;
|
|
277
|
+
var i = a[0];
|
|
278
|
+
for (var o in e) e[o] > e[i] && (i = parseInt(o, 10));
|
|
279
|
+
return i;
|
|
280
280
|
}
|
|
281
281
|
function E() {
|
|
282
282
|
if (typeof navigator > "u") return { name: "unknown", version: "unknown" };
|
|
283
|
-
for (var
|
|
284
|
-
var
|
|
285
|
-
if (
|
|
283
|
+
for (var a = navigator.userAgent, e = { Edg: "Edge", OPR: "Opera" }, n = 0, r = [/(?<name>Edge|Edg)\/(?<version>\d+(?:\.\d+)?)/, /(?<name>(?:Chrome|Chromium|OPR|Opera|Vivaldi|Brave))\/(?<version>\d+(?:\.\d+)?)/, /(?<name>(?:Firefox|Waterfox|Iceweasel|IceCat))\/(?<version>\d+(?:\.\d+)?)/, /(?<name>Safari)\/(?<version>\d+(?:\.\d+)?)/, /(?<name>MSIE|Trident|IEMobile).+?(?<version>\d+(?:\.\d+)?)/, /(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)?)/, /(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)?)/]; n < r.length; n++) {
|
|
284
|
+
var i = r[n], o = a.match(i);
|
|
285
|
+
if (o && o.groups) return { name: e[o.groups.name] || o.groups.name, version: o.groups.version };
|
|
286
286
|
}
|
|
287
287
|
return { name: "unknown", version: "unknown" };
|
|
288
288
|
}
|
|
289
289
|
v("audio", function() {
|
|
290
|
-
return
|
|
291
|
-
return
|
|
290
|
+
return y(this, void 0, void 0, function() {
|
|
291
|
+
return w(this, function(a) {
|
|
292
292
|
return [2, new Promise(function(e, n) {
|
|
293
293
|
try {
|
|
294
|
-
var
|
|
295
|
-
|
|
296
|
-
var t, u =
|
|
297
|
-
u.threshold.value = -50, u.knee.value = 40, u.ratio.value = 12, u.attack.value = 0, u.release.value = 0.2,
|
|
298
|
-
t = l.renderedBuffer.getChannelData(0), e({ sampleHash:
|
|
299
|
-
},
|
|
294
|
+
var r = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1, 5e3, 44100), i = r.createBufferSource(), o = r.createOscillator();
|
|
295
|
+
o.frequency.value = 1e3;
|
|
296
|
+
var t, u = r.createDynamicsCompressor();
|
|
297
|
+
u.threshold.value = -50, u.knee.value = 40, u.ratio.value = 12, u.attack.value = 0, u.release.value = 0.2, o.connect(u), u.connect(r.destination), o.start(), r.oncomplete = function(l) {
|
|
298
|
+
t = l.renderedBuffer.getChannelData(0), e({ sampleHash: z(t), oscillator: o.type, maxChannels: r.destination.maxChannelCount, channelCountMode: i.channelCountMode });
|
|
299
|
+
}, r.startRendering();
|
|
300
300
|
} catch (l) {
|
|
301
301
|
console.error("Error creating audio fingerprint:", l), n(l);
|
|
302
302
|
}
|
|
@@ -304,123 +304,123 @@ v("audio", function() {
|
|
|
304
304
|
});
|
|
305
305
|
});
|
|
306
306
|
});
|
|
307
|
-
var
|
|
307
|
+
var Q = E().name !== "SamsungBrowser" ? 1 : 3, P = 280, x = 20;
|
|
308
308
|
E().name != "Firefox" && v("canvas", function() {
|
|
309
|
-
return document.createElement("canvas").getContext("2d"), new Promise(function(
|
|
310
|
-
var e = Array.from({ length:
|
|
309
|
+
return document.createElement("canvas").getContext("2d"), new Promise(function(a) {
|
|
310
|
+
var e = Array.from({ length: Q }, function() {
|
|
311
311
|
return function() {
|
|
312
|
-
var n = document.createElement("canvas"),
|
|
313
|
-
if (!
|
|
314
|
-
n.width =
|
|
315
|
-
var
|
|
316
|
-
|
|
317
|
-
var
|
|
318
|
-
|
|
319
|
-
var t =
|
|
312
|
+
var n = document.createElement("canvas"), r = n.getContext("2d");
|
|
313
|
+
if (!r) return new ImageData(1, 1);
|
|
314
|
+
n.width = P, n.height = x;
|
|
315
|
+
var i = r.createLinearGradient(0, 0, n.width, n.height);
|
|
316
|
+
i.addColorStop(0, "red"), i.addColorStop(0.16666666666666666, "orange"), i.addColorStop(0.3333333333333333, "yellow"), i.addColorStop(0.5, "green"), i.addColorStop(0.6666666666666666, "blue"), i.addColorStop(0.8333333333333334, "indigo"), i.addColorStop(1, "violet"), r.fillStyle = i, r.fillRect(0, 0, n.width, n.height);
|
|
317
|
+
var o = "Random Text WMwmil10Oo";
|
|
318
|
+
r.font = "23.123px Arial", r.fillStyle = "black", r.fillText(o, -5, 15), r.fillStyle = "rgba(0, 0, 255, 0.5)", r.fillText(o, -3.3, 17.7), r.beginPath(), r.moveTo(0, 0), r.lineTo(2 * n.width / 7, n.height), r.strokeStyle = "white", r.lineWidth = 2, r.stroke();
|
|
319
|
+
var t = r.getImageData(0, 0, n.width, n.height);
|
|
320
320
|
return t;
|
|
321
321
|
}();
|
|
322
322
|
});
|
|
323
|
-
|
|
323
|
+
a({ commonImageDataHash: _(U(e, P, x).data.toString()).toString() });
|
|
324
324
|
});
|
|
325
325
|
});
|
|
326
|
-
var
|
|
327
|
-
function
|
|
328
|
-
if (!
|
|
329
|
-
return
|
|
326
|
+
var A, K = ["Arial", "Arial Black", "Arial Narrow", "Arial Rounded MT", "Arimo", "Archivo", "Barlow", "Bebas Neue", "Bitter", "Bookman", "Calibri", "Cabin", "Candara", "Century", "Century Gothic", "Comic Sans MS", "Constantia", "Courier", "Courier New", "Crimson Text", "DM Mono", "DM Sans", "DM Serif Display", "DM Serif Text", "Dosis", "Droid Sans", "Exo", "Fira Code", "Fira Sans", "Franklin Gothic Medium", "Garamond", "Geneva", "Georgia", "Gill Sans", "Helvetica", "Impact", "Inconsolata", "Indie Flower", "Inter", "Josefin Sans", "Karla", "Lato", "Lexend", "Lucida Bright", "Lucida Console", "Lucida Sans Unicode", "Manrope", "Merriweather", "Merriweather Sans", "Montserrat", "Myriad", "Noto Sans", "Nunito", "Nunito Sans", "Open Sans", "Optima", "Orbitron", "Oswald", "Pacifico", "Palatino", "Perpetua", "PT Sans", "PT Serif", "Poppins", "Prompt", "Public Sans", "Quicksand", "Rajdhani", "Recursive", "Roboto", "Roboto Condensed", "Rockwell", "Rubik", "Segoe Print", "Segoe Script", "Segoe UI", "Sora", "Source Sans Pro", "Space Mono", "Tahoma", "Taviraj", "Times", "Times New Roman", "Titillium Web", "Trebuchet MS", "Ubuntu", "Varela Round", "Verdana", "Work Sans"], J = ["monospace", "sans-serif", "serif"];
|
|
327
|
+
function k(a, e) {
|
|
328
|
+
if (!a) throw new Error("Canvas context not supported");
|
|
329
|
+
return a.font = "72px ".concat(e), a.measureText("WwMmLli0Oo").width;
|
|
330
330
|
}
|
|
331
|
-
function
|
|
332
|
-
var
|
|
331
|
+
function X() {
|
|
332
|
+
var a, e = document.createElement("canvas"), n = (a = e.getContext("webgl")) !== null && a !== void 0 ? a : e.getContext("experimental-webgl");
|
|
333
333
|
if (n && "getParameter" in n) try {
|
|
334
|
-
var
|
|
335
|
-
if (!
|
|
334
|
+
var r = (n.getParameter(n.VENDOR) || "").toString(), i = (n.getParameter(n.RENDERER) || "").toString(), o = { vendor: r, renderer: i, version: (n.getParameter(n.VERSION) || "").toString(), shadingLanguageVersion: (n.getParameter(n.SHADING_LANGUAGE_VERSION) || "").toString() };
|
|
335
|
+
if (!i.length || !r.length) {
|
|
336
336
|
var t = n.getExtension("WEBGL_debug_renderer_info");
|
|
337
337
|
if (t) {
|
|
338
338
|
var u = (n.getParameter(t.UNMASKED_VENDOR_WEBGL) || "").toString(), l = (n.getParameter(t.UNMASKED_RENDERER_WEBGL) || "").toString();
|
|
339
|
-
u && (
|
|
339
|
+
u && (o.vendorUnmasked = u), l && (o.rendererUnmasked = l);
|
|
340
340
|
}
|
|
341
341
|
}
|
|
342
|
-
return
|
|
342
|
+
return o;
|
|
343
343
|
} catch {
|
|
344
344
|
}
|
|
345
345
|
return "undefined";
|
|
346
346
|
}
|
|
347
|
-
function
|
|
348
|
-
var
|
|
349
|
-
return
|
|
347
|
+
function Y() {
|
|
348
|
+
var a = new Float32Array(1), e = new Uint8Array(a.buffer);
|
|
349
|
+
return a[0] = 1 / 0, a[0] = a[0] - a[0], e[3];
|
|
350
350
|
}
|
|
351
|
-
function Z(
|
|
351
|
+
function Z(a, e) {
|
|
352
352
|
var n = {};
|
|
353
|
-
return e.forEach(function(
|
|
354
|
-
var
|
|
355
|
-
if (
|
|
353
|
+
return e.forEach(function(r) {
|
|
354
|
+
var i = function(o) {
|
|
355
|
+
if (o.length === 0) return null;
|
|
356
356
|
var t = {};
|
|
357
|
-
|
|
358
|
-
var
|
|
359
|
-
t[
|
|
357
|
+
o.forEach(function(s) {
|
|
358
|
+
var c = String(s);
|
|
359
|
+
t[c] = (t[c] || 0) + 1;
|
|
360
360
|
});
|
|
361
|
-
var u =
|
|
362
|
-
return Object.keys(t).forEach(function(
|
|
363
|
-
t[
|
|
361
|
+
var u = o[0], l = 1;
|
|
362
|
+
return Object.keys(t).forEach(function(s) {
|
|
363
|
+
t[s] > l && (u = s, l = t[s]);
|
|
364
364
|
}), u;
|
|
365
|
-
}(
|
|
366
|
-
return
|
|
367
|
-
}).filter(function(
|
|
368
|
-
return
|
|
365
|
+
}(a.map(function(o) {
|
|
366
|
+
return r in o ? o[r] : void 0;
|
|
367
|
+
}).filter(function(o) {
|
|
368
|
+
return o !== void 0;
|
|
369
369
|
}));
|
|
370
|
-
|
|
370
|
+
i && (n[r] = i);
|
|
371
371
|
}), n;
|
|
372
372
|
}
|
|
373
373
|
function ee() {
|
|
374
|
-
var
|
|
374
|
+
var a = [], e = { "prefers-contrast": ["high", "more", "low", "less", "forced", "no-preference"], "any-hover": ["hover", "none"], "any-pointer": ["none", "coarse", "fine"], pointer: ["none", "coarse", "fine"], hover: ["hover", "none"], update: ["fast", "slow"], "inverted-colors": ["inverted", "none"], "prefers-reduced-motion": ["reduce", "no-preference"], "prefers-reduced-transparency": ["reduce", "no-preference"], scripting: ["none", "initial-only", "enabled"], "forced-colors": ["active", "none"] };
|
|
375
375
|
return Object.keys(e).forEach(function(n) {
|
|
376
|
-
e[n].forEach(function(
|
|
377
|
-
matchMedia("(".concat(n, ": ").concat(
|
|
376
|
+
e[n].forEach(function(r) {
|
|
377
|
+
matchMedia("(".concat(n, ": ").concat(r, ")")).matches && a.push("".concat(n, ": ").concat(r));
|
|
378
378
|
});
|
|
379
|
-
}),
|
|
379
|
+
}), a;
|
|
380
380
|
}
|
|
381
381
|
function te() {
|
|
382
382
|
if (window.location.protocol === "https:" && typeof window.ApplePaySession == "function") try {
|
|
383
|
-
for (var
|
|
383
|
+
for (var a = window.ApplePaySession.supportsVersion, e = 15; e > 0; e--) if (a(e)) return e;
|
|
384
384
|
} catch {
|
|
385
385
|
return 0;
|
|
386
386
|
}
|
|
387
387
|
return 0;
|
|
388
388
|
}
|
|
389
389
|
E().name != "Firefox" && v("fonts", function() {
|
|
390
|
-
var
|
|
390
|
+
var a = this;
|
|
391
391
|
return new Promise(function(e, n) {
|
|
392
392
|
try {
|
|
393
|
-
(function(
|
|
394
|
-
var
|
|
395
|
-
|
|
396
|
-
var
|
|
397
|
-
return
|
|
393
|
+
(function(r) {
|
|
394
|
+
var i;
|
|
395
|
+
y(this, void 0, void 0, function() {
|
|
396
|
+
var o, t, u;
|
|
397
|
+
return w(this, function(l) {
|
|
398
398
|
switch (l.label) {
|
|
399
399
|
case 0:
|
|
400
|
-
return document.body ? [3, 2] : [4, (
|
|
401
|
-
return setTimeout(
|
|
400
|
+
return document.body ? [3, 2] : [4, (s = 50, new Promise(function(p) {
|
|
401
|
+
return setTimeout(p, s, c);
|
|
402
402
|
}))];
|
|
403
403
|
case 1:
|
|
404
404
|
return l.sent(), [3, 0];
|
|
405
405
|
case 2:
|
|
406
|
-
if ((
|
|
407
|
-
return
|
|
408
|
-
document.body.removeChild(
|
|
406
|
+
if ((o = document.createElement("iframe")).setAttribute("frameBorder", "0"), (t = o.style).setProperty("position", "fixed"), t.setProperty("display", "block", "important"), t.setProperty("visibility", "visible"), t.setProperty("border", "0"), t.setProperty("opacity", "0"), o.src = "about:blank", document.body.appendChild(o), !(u = o.contentDocument || ((i = o.contentWindow) === null || i === void 0 ? void 0 : i.document))) throw new Error("Iframe document is not accessible");
|
|
407
|
+
return r({ iframe: u }), setTimeout(function() {
|
|
408
|
+
document.body.removeChild(o);
|
|
409
409
|
}, 0), [2];
|
|
410
410
|
}
|
|
411
|
-
var
|
|
411
|
+
var s, c;
|
|
412
412
|
});
|
|
413
413
|
});
|
|
414
|
-
})(function(
|
|
415
|
-
var
|
|
416
|
-
return
|
|
417
|
-
var
|
|
418
|
-
return
|
|
419
|
-
return
|
|
420
|
-
return
|
|
421
|
-
}), l = {}, K.forEach(function(
|
|
422
|
-
var
|
|
423
|
-
u.includes(
|
|
414
|
+
})(function(r) {
|
|
415
|
+
var i = r.iframe;
|
|
416
|
+
return y(a, void 0, void 0, function() {
|
|
417
|
+
var o, t, u, l;
|
|
418
|
+
return w(this, function(s) {
|
|
419
|
+
return o = i.createElement("canvas"), t = o.getContext("2d"), u = J.map(function(c) {
|
|
420
|
+
return k(t, c);
|
|
421
|
+
}), l = {}, K.forEach(function(c) {
|
|
422
|
+
var p = k(t, c);
|
|
423
|
+
u.includes(p) || (l[c] = p);
|
|
424
424
|
}), e(l), [2];
|
|
425
425
|
});
|
|
426
426
|
});
|
|
@@ -430,76 +430,76 @@ E().name != "Firefox" && v("fonts", function() {
|
|
|
430
430
|
}
|
|
431
431
|
});
|
|
432
432
|
}), v("hardware", function() {
|
|
433
|
-
return new Promise(function(
|
|
434
|
-
var n = navigator.deviceMemory !== void 0 ? navigator.deviceMemory : 0,
|
|
435
|
-
|
|
433
|
+
return new Promise(function(a, e) {
|
|
434
|
+
var n = navigator.deviceMemory !== void 0 ? navigator.deviceMemory : 0, r = window.performance && window.performance.memory ? window.performance.memory : 0;
|
|
435
|
+
a({ videocard: X(), architecture: Y(), deviceMemory: n.toString() || "undefined", jsHeapSizeLimit: r.jsHeapSizeLimit || 0 });
|
|
436
436
|
});
|
|
437
437
|
}), v("locales", function() {
|
|
438
|
-
return new Promise(function(
|
|
439
|
-
|
|
438
|
+
return new Promise(function(a) {
|
|
439
|
+
a({ languages: navigator.language, timezone: Intl.DateTimeFormat().resolvedOptions().timeZone });
|
|
440
440
|
});
|
|
441
441
|
}), v("permissions", function() {
|
|
442
|
-
return
|
|
443
|
-
var
|
|
444
|
-
return
|
|
445
|
-
return
|
|
442
|
+
return y(this, void 0, void 0, function() {
|
|
443
|
+
var a;
|
|
444
|
+
return w(this, function(e) {
|
|
445
|
+
return A = (S == null ? void 0 : S.permissions_to_check) || ["accelerometer", "accessibility", "accessibility-events", "ambient-light-sensor", "background-fetch", "background-sync", "bluetooth", "camera", "clipboard-read", "clipboard-write", "device-info", "display-capture", "gyroscope", "geolocation", "local-fonts", "magnetometer", "microphone", "midi", "nfc", "notifications", "payment-handler", "persistent-storage", "push", "speaker", "storage-access", "top-level-storage-access", "window-management", "query"], a = Array.from({ length: (S == null ? void 0 : S.retries) || 3 }, function() {
|
|
446
446
|
return function() {
|
|
447
|
-
return
|
|
448
|
-
var n,
|
|
449
|
-
return
|
|
447
|
+
return y(this, void 0, void 0, function() {
|
|
448
|
+
var n, r, i, o, t;
|
|
449
|
+
return w(this, function(u) {
|
|
450
450
|
switch (u.label) {
|
|
451
451
|
case 0:
|
|
452
|
-
n = {},
|
|
452
|
+
n = {}, r = 0, i = A, u.label = 1;
|
|
453
453
|
case 1:
|
|
454
|
-
if (!(
|
|
455
|
-
|
|
454
|
+
if (!(r < i.length)) return [3, 6];
|
|
455
|
+
o = i[r], u.label = 2;
|
|
456
456
|
case 2:
|
|
457
|
-
return u.trys.push([2, 4, , 5]), [4, navigator.permissions.query({ name:
|
|
457
|
+
return u.trys.push([2, 4, , 5]), [4, navigator.permissions.query({ name: o })];
|
|
458
458
|
case 3:
|
|
459
|
-
return t = u.sent(), n[
|
|
459
|
+
return t = u.sent(), n[o] = t.state.toString(), [3, 5];
|
|
460
460
|
case 4:
|
|
461
461
|
return u.sent(), [3, 5];
|
|
462
462
|
case 5:
|
|
463
|
-
return
|
|
463
|
+
return r++, [3, 1];
|
|
464
464
|
case 6:
|
|
465
465
|
return [2, n];
|
|
466
466
|
}
|
|
467
467
|
});
|
|
468
468
|
});
|
|
469
469
|
}();
|
|
470
|
-
}), [2, Promise.all(
|
|
471
|
-
return Z(n,
|
|
470
|
+
}), [2, Promise.all(a).then(function(n) {
|
|
471
|
+
return Z(n, A);
|
|
472
472
|
})];
|
|
473
473
|
});
|
|
474
474
|
});
|
|
475
475
|
}), v("plugins", function() {
|
|
476
|
-
var
|
|
476
|
+
var a = [];
|
|
477
477
|
if (navigator.plugins) for (var e = 0; e < navigator.plugins.length; e++) {
|
|
478
478
|
var n = navigator.plugins[e];
|
|
479
|
-
|
|
479
|
+
a.push([n.name, n.filename, n.description].join("|"));
|
|
480
480
|
}
|
|
481
|
-
return new Promise(function(
|
|
482
|
-
|
|
481
|
+
return new Promise(function(r) {
|
|
482
|
+
r({ plugins: a });
|
|
483
483
|
});
|
|
484
484
|
}), v("screen", function() {
|
|
485
|
-
return new Promise(function(
|
|
486
|
-
|
|
485
|
+
return new Promise(function(a) {
|
|
486
|
+
a({ is_touchscreen: navigator.maxTouchPoints > 0, maxTouchPoints: navigator.maxTouchPoints, colorDepth: screen.colorDepth, mediaMatches: ee() });
|
|
487
487
|
});
|
|
488
488
|
}), v("system", function() {
|
|
489
|
-
return new Promise(function(
|
|
489
|
+
return new Promise(function(a) {
|
|
490
490
|
var e = E();
|
|
491
|
-
|
|
491
|
+
a({ platform: window.navigator.platform, cookieEnabled: window.navigator.cookieEnabled, productSub: navigator.productSub, product: navigator.product, useragent: navigator.userAgent, hardwareConcurrency: navigator.hardwareConcurrency, browser: { name: e.name, version: e.version }, applePayVersion: te() });
|
|
492
492
|
});
|
|
493
493
|
});
|
|
494
|
-
var
|
|
494
|
+
var f, ne = E().name !== "SamsungBrowser" ? 1 : 3, d = null;
|
|
495
495
|
v("webgl", function() {
|
|
496
|
-
return
|
|
497
|
-
var
|
|
498
|
-
return
|
|
499
|
-
typeof document < "u" && ((
|
|
496
|
+
return y(this, void 0, void 0, function() {
|
|
497
|
+
var a;
|
|
498
|
+
return w(this, function(e) {
|
|
499
|
+
typeof document < "u" && ((f = document.createElement("canvas")).width = 200, f.height = 100, d = f.getContext("webgl"));
|
|
500
500
|
try {
|
|
501
501
|
if (!d) throw new Error("WebGL not supported");
|
|
502
|
-
return
|
|
502
|
+
return a = Array.from({ length: ne }, function() {
|
|
503
503
|
return function() {
|
|
504
504
|
try {
|
|
505
505
|
if (!d) throw new Error("WebGL not supported");
|
|
@@ -508,36 +508,36 @@ v("webgl", function() {
|
|
|
508
508
|
void main() {
|
|
509
509
|
gl_Position = vec4(position, 0.0, 1.0);
|
|
510
510
|
}
|
|
511
|
-
`,
|
|
511
|
+
`, r = `
|
|
512
512
|
precision mediump float;
|
|
513
513
|
void main() {
|
|
514
514
|
gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color
|
|
515
515
|
}
|
|
516
|
-
`,
|
|
517
|
-
if (!
|
|
518
|
-
if (d.shaderSource(
|
|
519
|
-
if (d.compileShader(
|
|
516
|
+
`, i = d.createShader(d.VERTEX_SHADER), o = d.createShader(d.FRAGMENT_SHADER);
|
|
517
|
+
if (!i || !o) throw new Error("Failed to create shaders");
|
|
518
|
+
if (d.shaderSource(i, n), d.shaderSource(o, r), d.compileShader(i), !d.getShaderParameter(i, d.COMPILE_STATUS)) throw new Error("Vertex shader compilation failed: " + d.getShaderInfoLog(i));
|
|
519
|
+
if (d.compileShader(o), !d.getShaderParameter(o, d.COMPILE_STATUS)) throw new Error("Fragment shader compilation failed: " + d.getShaderInfoLog(o));
|
|
520
520
|
var t = d.createProgram();
|
|
521
521
|
if (!t) throw new Error("Failed to create shader program");
|
|
522
|
-
if (d.attachShader(t,
|
|
522
|
+
if (d.attachShader(t, i), d.attachShader(t, o), d.linkProgram(t), !d.getProgramParameter(t, d.LINK_STATUS)) throw new Error("Shader program linking failed: " + d.getProgramInfoLog(t));
|
|
523
523
|
d.useProgram(t);
|
|
524
|
-
for (var u = 137, l = new Float32Array(4 * u),
|
|
525
|
-
var
|
|
526
|
-
l[4 *
|
|
524
|
+
for (var u = 137, l = new Float32Array(4 * u), s = 2 * Math.PI / u, c = 0; c < u; c++) {
|
|
525
|
+
var p = c * s;
|
|
526
|
+
l[4 * c] = 0, l[4 * c + 1] = 0, l[4 * c + 2] = Math.cos(p) * (f.width / 2), l[4 * c + 3] = Math.sin(p) * (f.height / 2);
|
|
527
527
|
}
|
|
528
|
-
var
|
|
529
|
-
d.bindBuffer(d.ARRAY_BUFFER,
|
|
530
|
-
var
|
|
531
|
-
d.enableVertexAttribArray(
|
|
532
|
-
var
|
|
533
|
-
return d.readPixels(0, 0,
|
|
528
|
+
var L = d.createBuffer();
|
|
529
|
+
d.bindBuffer(d.ARRAY_BUFFER, L), d.bufferData(d.ARRAY_BUFFER, l, d.STATIC_DRAW);
|
|
530
|
+
var I = d.getAttribLocation(t, "position");
|
|
531
|
+
d.enableVertexAttribArray(I), d.vertexAttribPointer(I, 2, d.FLOAT, !1, 0, 0), d.viewport(0, 0, f.width, f.height), d.clearColor(0, 0, 0, 1), d.clear(d.COLOR_BUFFER_BIT), d.drawArrays(d.LINES, 0, 2 * u);
|
|
532
|
+
var R = new Uint8ClampedArray(f.width * f.height * 4);
|
|
533
|
+
return d.readPixels(0, 0, f.width, f.height, d.RGBA, d.UNSIGNED_BYTE, R), new ImageData(R, f.width, f.height);
|
|
534
534
|
} catch {
|
|
535
535
|
return new ImageData(1, 1);
|
|
536
536
|
} finally {
|
|
537
537
|
d && (d.bindBuffer(d.ARRAY_BUFFER, null), d.useProgram(null), d.viewport(0, 0, d.drawingBufferWidth, d.drawingBufferHeight), d.clearColor(0, 0, 0, 0));
|
|
538
538
|
}
|
|
539
539
|
}();
|
|
540
|
-
}), [2, { commonImageHash:
|
|
540
|
+
}), [2, { commonImageHash: _(U(a, f.width, f.height).data.toString()).toString() }];
|
|
541
541
|
} catch {
|
|
542
542
|
return [2, { webgl: "unsupported" }];
|
|
543
543
|
}
|
|
@@ -545,31 +545,31 @@ v("webgl", function() {
|
|
|
545
545
|
});
|
|
546
546
|
});
|
|
547
547
|
});
|
|
548
|
-
var
|
|
549
|
-
for (var
|
|
550
|
-
|
|
551
|
-
return
|
|
548
|
+
var b = function(a, e, n, r) {
|
|
549
|
+
for (var i = (n - e) / r, o = 0, t = 0; t < r; t++)
|
|
550
|
+
o += a(e + (t + 0.5) * i);
|
|
551
|
+
return o * i;
|
|
552
552
|
};
|
|
553
553
|
v("math", function() {
|
|
554
|
-
return
|
|
555
|
-
return
|
|
556
|
-
return [2, { acos: Math.acos(0.5), asin:
|
|
554
|
+
return y(void 0, void 0, void 0, function() {
|
|
555
|
+
return w(this, function(a) {
|
|
556
|
+
return [2, { acos: Math.acos(0.5), asin: b(Math.asin, -1, 1, 97), atan: b(Math.atan, -1, 1, 97), cos: b(Math.cos, 0, Math.PI, 97), cosh: Math.cosh(9 / 7), e: Math.E, largeCos: Math.cos(1e20), largeSin: Math.sin(1e20), largeTan: Math.tan(1e20), log: Math.log(1e3), pi: Math.PI, sin: b(Math.sin, -Math.PI, Math.PI, 97), sinh: b(Math.sinh, -9 / 7, 7 / 9, 97), sqrt: Math.sqrt(2), tan: b(Math.tan, 0, 2 * Math.PI, 97), tanh: b(Math.tanh, -9 / 7, 7 / 9, 97) }];
|
|
557
557
|
});
|
|
558
558
|
});
|
|
559
559
|
});
|
|
560
560
|
const re = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
|
|
561
|
-
let T = (
|
|
562
|
-
let e = "", n = crypto.getRandomValues(new Uint8Array(
|
|
563
|
-
for (;
|
|
564
|
-
e += re[n[
|
|
561
|
+
let T = (a = 21) => {
|
|
562
|
+
let e = "", n = crypto.getRandomValues(new Uint8Array(a |= 0));
|
|
563
|
+
for (; a--; )
|
|
564
|
+
e += re[n[a] & 63];
|
|
565
565
|
return e;
|
|
566
566
|
};
|
|
567
|
-
class
|
|
567
|
+
class M {
|
|
568
568
|
constructor(e) {
|
|
569
569
|
h(this, "config");
|
|
570
570
|
this.config = e;
|
|
571
571
|
}
|
|
572
|
-
async
|
|
572
|
+
async getAds(e) {
|
|
573
573
|
return [];
|
|
574
574
|
}
|
|
575
575
|
async onQuerySubmitted(e) {
|
|
@@ -583,14 +583,14 @@ class I {
|
|
|
583
583
|
async onAdContainerViewed(e) {
|
|
584
584
|
}
|
|
585
585
|
}
|
|
586
|
-
class
|
|
586
|
+
class ae extends M {
|
|
587
587
|
/**
|
|
588
588
|
* Gets ads from the adMarketplace API based on the search term.
|
|
589
589
|
*/
|
|
590
|
-
async
|
|
590
|
+
async getAds(e) {
|
|
591
591
|
if (!this.config.admSub)
|
|
592
592
|
return console.error("No admSub specified in config."), [];
|
|
593
|
-
const
|
|
593
|
+
const r = `https://demofeed.is.ampfeed.com/is?${new URLSearchParams({
|
|
594
594
|
partner: "demofeed",
|
|
595
595
|
sub1: this.config.admSub,
|
|
596
596
|
qt: e.searchTerm,
|
|
@@ -598,34 +598,34 @@ class oe extends I {
|
|
|
598
598
|
rfr: "searchcraft.io",
|
|
599
599
|
"results-ta": `${this.config.admTextAdQuantity || 0}`,
|
|
600
600
|
"results-pa": `${this.config.admProductAdQuantity || 0}`
|
|
601
|
-
}).toString()}`,
|
|
602
|
-
(
|
|
601
|
+
}).toString()}`, o = await (await fetch(r, { method: "GET" })).json(), t = o.product_ads.map(
|
|
602
|
+
(s) => ({
|
|
603
603
|
id: T(),
|
|
604
604
|
adSource: "adMarketplace",
|
|
605
605
|
admAdType: "adm-product-ad",
|
|
606
|
-
admAd:
|
|
606
|
+
admAd: s
|
|
607
607
|
})
|
|
608
|
-
), u =
|
|
608
|
+
), u = o.text_ads.map((s) => ({
|
|
609
609
|
id: T(),
|
|
610
610
|
adSource: "adMarketplace",
|
|
611
611
|
admAdType: "adm-text-ad",
|
|
612
|
-
admAd:
|
|
612
|
+
admAd: s
|
|
613
613
|
}));
|
|
614
614
|
return t.concat(u);
|
|
615
615
|
}
|
|
616
616
|
async onAdContainerViewed(e) {
|
|
617
|
-
var
|
|
617
|
+
var r;
|
|
618
618
|
const n = e.adClientResponseItem;
|
|
619
|
-
(
|
|
619
|
+
(r = n.admAd) != null && r.impression_url && fetch(n.admAd.impression_url);
|
|
620
620
|
}
|
|
621
621
|
}
|
|
622
|
-
class
|
|
623
|
-
async
|
|
622
|
+
class oe extends M {
|
|
623
|
+
async getAds(e) {
|
|
624
624
|
return [];
|
|
625
625
|
}
|
|
626
626
|
}
|
|
627
|
-
const
|
|
628
|
-
class se extends
|
|
627
|
+
const ie = 1e3;
|
|
628
|
+
class se extends M {
|
|
629
629
|
constructor(n) {
|
|
630
630
|
super(n);
|
|
631
631
|
h(this, "adCallTimeout");
|
|
@@ -634,13 +634,13 @@ class se extends I {
|
|
|
634
634
|
async onQuerySubmitted(n) {
|
|
635
635
|
this.addScriptTagToDocument();
|
|
636
636
|
}
|
|
637
|
-
async onQueryFetched(n,
|
|
638
|
-
var
|
|
639
|
-
if ((((
|
|
637
|
+
async onQueryFetched(n, r) {
|
|
638
|
+
var i;
|
|
639
|
+
if ((((i = r.data.hits) == null ? void 0 : i.length) || 0) === 0) {
|
|
640
640
|
this.removeScriptTagFromDocument();
|
|
641
641
|
return;
|
|
642
642
|
}
|
|
643
|
-
this.performAdCall(
|
|
643
|
+
this.performAdCall(ie);
|
|
644
644
|
}
|
|
645
645
|
async onInputCleared() {
|
|
646
646
|
this.removeScriptTagFromDocument();
|
|
@@ -650,12 +650,12 @@ class se extends I {
|
|
|
650
650
|
this.addScriptTagToDocument();
|
|
651
651
|
try {
|
|
652
652
|
PostRelease == null || PostRelease.Start({ ptd: [this.config.nativoPlacementId] });
|
|
653
|
-
} catch (
|
|
654
|
-
console.error(
|
|
653
|
+
} catch (r) {
|
|
654
|
+
console.error(r);
|
|
655
655
|
}
|
|
656
656
|
}, n);
|
|
657
657
|
}
|
|
658
|
-
async
|
|
658
|
+
async getAds(n) {
|
|
659
659
|
return [];
|
|
660
660
|
}
|
|
661
661
|
addScriptTagToDocument() {
|
|
@@ -671,7 +671,7 @@ class se extends I {
|
|
|
671
671
|
}
|
|
672
672
|
const ce = 600;
|
|
673
673
|
class ue {
|
|
674
|
-
constructor(e, n,
|
|
674
|
+
constructor(e, n, r) {
|
|
675
675
|
h(this, "measureRequestTimeout");
|
|
676
676
|
h(this, "measureRequestsBatched", []);
|
|
677
677
|
h(this, "config");
|
|
@@ -685,8 +685,8 @@ class ue {
|
|
|
685
685
|
* @param {Partial<MeasureRequestProperties>} properties - Additional properties to send with the event.
|
|
686
686
|
* @param {Partial<MeasureRequestUser>} user - Additional user properites to send with the event.
|
|
687
687
|
*/
|
|
688
|
-
h(this, "sendMeasureEvent", async (e, n = {},
|
|
689
|
-
const
|
|
688
|
+
h(this, "sendMeasureEvent", async (e, n = {}, r = {}) => {
|
|
689
|
+
const i = {
|
|
690
690
|
event_name: e,
|
|
691
691
|
properties: {
|
|
692
692
|
searchcraft_index_names: this.config.index,
|
|
@@ -695,11 +695,11 @@ class ue {
|
|
|
695
695
|
},
|
|
696
696
|
user: {
|
|
697
697
|
...this.measureRequestUser,
|
|
698
|
-
...
|
|
698
|
+
...r
|
|
699
699
|
}
|
|
700
700
|
};
|
|
701
701
|
if (e === "document_clicked") {
|
|
702
|
-
const
|
|
702
|
+
const o = JSON.stringify(i), t = `${this.baseMeasureUrl}/event`;
|
|
703
703
|
try {
|
|
704
704
|
const u = await fetch(t, {
|
|
705
705
|
method: "POST",
|
|
@@ -708,7 +708,7 @@ class ue {
|
|
|
708
708
|
Authorization: this.config.readKey,
|
|
709
709
|
"X-Sc-User-Id": this.userId
|
|
710
710
|
},
|
|
711
|
-
body:
|
|
711
|
+
body: o,
|
|
712
712
|
keepalive: !0
|
|
713
713
|
});
|
|
714
714
|
if (!u.ok)
|
|
@@ -719,8 +719,8 @@ class ue {
|
|
|
719
719
|
throw console.error("Error sending MeasureRequest:", u), u;
|
|
720
720
|
}
|
|
721
721
|
} else
|
|
722
|
-
this.measureRequestsBatched.push(
|
|
723
|
-
const
|
|
722
|
+
this.measureRequestsBatched.push(i), clearTimeout(this.measureRequestTimeout), this.measureRequestTimeout = setTimeout(async () => {
|
|
723
|
+
const o = JSON.stringify({ items: this.measureRequestsBatched }), t = `${this.baseMeasureUrl}/batch`;
|
|
724
724
|
try {
|
|
725
725
|
const u = await fetch(t, {
|
|
726
726
|
method: "POST",
|
|
@@ -729,7 +729,7 @@ class ue {
|
|
|
729
729
|
Authorization: this.config.readKey,
|
|
730
730
|
"X-Sc-User-Id": this.userId
|
|
731
731
|
},
|
|
732
|
-
body:
|
|
732
|
+
body: o,
|
|
733
733
|
keepalive: !0
|
|
734
734
|
});
|
|
735
735
|
if (this.measureRequestsBatched = [], !u.ok)
|
|
@@ -742,7 +742,7 @@ class ue {
|
|
|
742
742
|
}
|
|
743
743
|
}, ce);
|
|
744
744
|
});
|
|
745
|
-
this.config = e, this.sdkInfo = n, this.userId =
|
|
745
|
+
this.config = e, this.sdkInfo = n, this.userId = r, this.sessionId = T(), this.sendMeasureEvent("sdk_initialized");
|
|
746
746
|
}
|
|
747
747
|
/**
|
|
748
748
|
* Getter for the base url used by the /measure endpoints.
|
|
@@ -765,113 +765,124 @@ class ue {
|
|
|
765
765
|
};
|
|
766
766
|
}
|
|
767
767
|
}
|
|
768
|
-
|
|
769
|
-
const e = [];
|
|
770
|
-
let n = "should";
|
|
771
|
-
return r.facetPathsForIndexFields && Object.keys(r.facetPathsForIndexFields).forEach((o) => {
|
|
772
|
-
var i;
|
|
773
|
-
const a = (i = r.facetPathsForIndexFields) == null ? void 0 : i[o];
|
|
774
|
-
a && (n = "must", e.push({
|
|
775
|
-
occur: n,
|
|
776
|
-
exact: {
|
|
777
|
-
ctx: a.value
|
|
778
|
-
}
|
|
779
|
-
}));
|
|
780
|
-
}), r.rangeValueForIndexFields && Object.keys(r.rangeValueForIndexFields).forEach((o) => {
|
|
781
|
-
var i;
|
|
782
|
-
const a = (i = r.rangeValueForIndexFields) == null ? void 0 : i[o];
|
|
783
|
-
a && (n = "must", e.push({
|
|
784
|
-
occur: n,
|
|
785
|
-
exact: {
|
|
786
|
-
ctx: a.value
|
|
787
|
-
}
|
|
788
|
-
}));
|
|
789
|
-
}), r.sort === "desc" ? r.order_by = "date_published" : r.order_by = "", e.push({
|
|
790
|
-
occur: n,
|
|
791
|
-
// Valid, as 'occur' is a required property in QueryItem
|
|
792
|
-
[r.mode]: { ctx: r.searchTerm }
|
|
793
|
-
// Ensure dynamic mode is inside queryType
|
|
794
|
-
}), e;
|
|
795
|
-
}
|
|
796
|
-
const le = (r) => r.endsWith("/") ? r.slice(0, -1) : r, he = (r) => {
|
|
768
|
+
const de = (a) => a.endsWith("/") ? a.slice(0, -1) : a, le = (a) => {
|
|
797
769
|
let e = "";
|
|
798
|
-
if (e =
|
|
770
|
+
if (e = a.trim(), e = e.replace(/[‘’“”]/g, (r) => ({
|
|
799
771
|
"‘": "'",
|
|
800
772
|
"’": "'",
|
|
801
773
|
"“": '"',
|
|
802
774
|
"”": '"'
|
|
803
|
-
})[
|
|
775
|
+
})[r] || r), (e.match(/"/g) || []).length % 2 !== 0)
|
|
804
776
|
throw new Error(
|
|
805
777
|
"The search term contains an uneven number of quote characters."
|
|
806
778
|
);
|
|
807
779
|
return e;
|
|
808
|
-
},
|
|
780
|
+
}, he = 500;
|
|
809
781
|
class me {
|
|
810
|
-
constructor(e, n,
|
|
782
|
+
constructor(e, n, r) {
|
|
811
783
|
h(this, "config");
|
|
812
784
|
h(this, "userId");
|
|
813
785
|
h(this, "parent");
|
|
814
786
|
h(this, "searchCompletedEventTimeout");
|
|
815
787
|
/**
|
|
816
|
-
*
|
|
817
|
-
* @param {
|
|
788
|
+
* Make the request to get the search results.
|
|
789
|
+
* @param {properties} properties - The properties for the search.
|
|
790
|
+
* @returns
|
|
818
791
|
*/
|
|
819
|
-
h(this, "
|
|
820
|
-
var
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
792
|
+
h(this, "getSearchResponseItems", async (e) => {
|
|
793
|
+
var i, o, t, u, l;
|
|
794
|
+
let n;
|
|
795
|
+
const r = typeof e == "string" ? e : e.searchTerm;
|
|
796
|
+
try {
|
|
797
|
+
return (i = this.parent.measureClient) == null || i.sendMeasureEvent("search_requested", {
|
|
798
|
+
search_term: r
|
|
799
|
+
}), this.parent.emitEvent("query_submitted", {
|
|
800
|
+
name: "query_submitted",
|
|
801
|
+
data: {
|
|
802
|
+
searchTerm: r
|
|
803
|
+
}
|
|
804
|
+
}), (o = this.parent.adClient) == null || o.onQuerySubmitted(
|
|
805
|
+
typeof e == "string" ? { searchTerm: r, mode: "exact" } : e
|
|
806
|
+
), typeof e == "string" ? n = await this.handleGetSearchResponseItemsWithString(e) : n = await this.handleGetSearchResponseItemsWithObject(e), (t = this.parent.measureClient) == null || t.sendMeasureEvent("search_response_received", {
|
|
807
|
+
search_term: r,
|
|
808
|
+
number_of_documents: n.data.count
|
|
809
|
+
}), clearTimeout(this.searchCompletedEventTimeout), this.searchCompletedEventTimeout = setTimeout(() => {
|
|
810
|
+
var s;
|
|
811
|
+
(s = this.parent.measureClient) == null || s.sendMeasureEvent("search_completed", {
|
|
812
|
+
search_term: r,
|
|
813
|
+
number_of_documents: n.data.count
|
|
814
|
+
});
|
|
815
|
+
}, he), this.parent.emitEvent("query_fetched", {
|
|
816
|
+
name: "query_fetched",
|
|
817
|
+
data: {
|
|
818
|
+
searchTerm: r
|
|
819
|
+
}
|
|
820
|
+
}), (((u = n.data.hits) == null ? void 0 : u.length) || 0) === 0 && this.parent.emitEvent("no_results_returned", {
|
|
821
|
+
name: "no_results_returned"
|
|
822
|
+
}), (l = this.parent.adClient) == null || l.onQueryFetched(
|
|
823
|
+
typeof e == "string" ? { searchTerm: r, mode: "exact" } : e,
|
|
824
|
+
n
|
|
825
|
+
), n;
|
|
826
|
+
} catch (s) {
|
|
827
|
+
throw console.error("Error parsing response:", s), s;
|
|
828
|
+
}
|
|
829
|
+
});
|
|
830
|
+
h(this, "handleGetSearchResponseItemsWithString", async (e) => {
|
|
831
|
+
let n;
|
|
830
832
|
try {
|
|
831
|
-
|
|
832
|
-
|
|
833
|
+
n = JSON.parse(e), n = {
|
|
834
|
+
limit: this.config.searchResultsPerPage,
|
|
835
|
+
order_by: this.config.indexFieldName,
|
|
836
|
+
...n
|
|
837
|
+
};
|
|
838
|
+
} catch {
|
|
839
|
+
throw new Error("Error: Query string is not valid json.");
|
|
840
|
+
}
|
|
841
|
+
const r = await fetch(this.baseSearchUrl, {
|
|
842
|
+
method: "POST",
|
|
843
|
+
headers: {
|
|
844
|
+
Authorization: this.config.readKey,
|
|
845
|
+
"Content-Type": "application/json",
|
|
846
|
+
"X-Sc-User-Id": this.userId
|
|
847
|
+
},
|
|
848
|
+
body: JSON.stringify(n)
|
|
849
|
+
});
|
|
850
|
+
if (!r.ok)
|
|
851
|
+
throw new Error(
|
|
852
|
+
`Error: ${r.statusText} (Status: ${r.status})`
|
|
853
|
+
);
|
|
854
|
+
return await r.json();
|
|
855
|
+
});
|
|
856
|
+
h(this, "handleGetSearchResponseItemsWithObject", async (e) => {
|
|
857
|
+
try {
|
|
858
|
+
const n = {
|
|
859
|
+
query: this.formatParamsForRequest(e),
|
|
833
860
|
offset: e.offset || 0,
|
|
834
861
|
// Default to 0 (first page) if not provided
|
|
835
|
-
limit: e.limit || this.config.searchResultsPerPage || 20
|
|
862
|
+
limit: e.limit || this.config.searchResultsPerPage || 20,
|
|
836
863
|
// Default to 20 if not provided
|
|
864
|
+
order_by: e.order_by || this.config.indexFieldName
|
|
837
865
|
};
|
|
838
|
-
|
|
839
|
-
const
|
|
866
|
+
n.order_by && (n.sort = e.sort === "desc" || e.sort === "asc" ? e.sort : "asc");
|
|
867
|
+
const r = await fetch(this.baseSearchUrl, {
|
|
840
868
|
method: "POST",
|
|
841
869
|
headers: {
|
|
842
870
|
Authorization: this.config.readKey,
|
|
843
871
|
"Content-Type": "application/json",
|
|
844
872
|
"X-Sc-User-Id": this.userId
|
|
845
873
|
},
|
|
846
|
-
body: JSON.stringify(
|
|
847
|
-
}
|
|
848
|
-
if (!
|
|
874
|
+
body: JSON.stringify(n)
|
|
875
|
+
});
|
|
876
|
+
if (!r.ok)
|
|
849
877
|
throw new Error(
|
|
850
|
-
`Error: ${
|
|
878
|
+
`Error: ${r.statusText} (Status: ${r.status})`
|
|
851
879
|
);
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
number_of_documents: f.data.count
|
|
856
|
-
}), clearTimeout(this.searchCompletedEventTimeout), this.searchCompletedEventTimeout = setTimeout(() => {
|
|
857
|
-
var C;
|
|
858
|
-
(C = this.parent.measureClient) == null || C.sendMeasureEvent("search_completed", {
|
|
859
|
-
search_term: n,
|
|
860
|
-
number_of_documents: f.data.count
|
|
861
|
-
});
|
|
862
|
-
}, fe), this.parent.emitEvent("query_fetched", {
|
|
863
|
-
name: "query_fetched",
|
|
864
|
-
data: {
|
|
865
|
-
searchTerm: n
|
|
866
|
-
}
|
|
867
|
-
}), (((t = f.data.hits) == null ? void 0 : t.length) || 0) === 0 && this.parent.emitEvent("no_results_returned", {
|
|
868
|
-
name: "no_results_returned"
|
|
869
|
-
}), (u = this.parent.adClient) == null || u.onQueryFetched(e, f), f;
|
|
870
|
-
} catch (l) {
|
|
871
|
-
throw console.error("Error parsing response:", l), l;
|
|
880
|
+
return await r.json();
|
|
881
|
+
} catch (n) {
|
|
882
|
+
throw console.error("Error parsing response:", n), n;
|
|
872
883
|
}
|
|
873
884
|
});
|
|
874
|
-
this.parent = e, this.config = n, this.userId =
|
|
885
|
+
this.parent = e, this.config = n, this.userId = r;
|
|
875
886
|
}
|
|
876
887
|
/**
|
|
877
888
|
* Getter for the base url used by the /search endpoint.
|
|
@@ -879,8 +890,42 @@ class me {
|
|
|
879
890
|
get baseSearchUrl() {
|
|
880
891
|
return `${this.config.endpointURL}/index/${this.config.index.join(",")}/search`;
|
|
881
892
|
}
|
|
893
|
+
/**
|
|
894
|
+
* Builds a query object for the SearchClient request.
|
|
895
|
+
* @param {properties} properties - The properties for the search.
|
|
896
|
+
* @returns {SearchClientQuery} - A properly formatted SearchClient query object.
|
|
897
|
+
*/
|
|
898
|
+
formatParamsForRequest(e) {
|
|
899
|
+
const n = [];
|
|
900
|
+
let r = "should";
|
|
901
|
+
e.facetPathsForIndexFields && Object.keys(e.facetPathsForIndexFields).forEach((o) => {
|
|
902
|
+
var u;
|
|
903
|
+
const t = (u = e.facetPathsForIndexFields) == null ? void 0 : u[o];
|
|
904
|
+
t && (r = "must", n.push({
|
|
905
|
+
occur: r,
|
|
906
|
+
exact: {
|
|
907
|
+
ctx: le(t.value)
|
|
908
|
+
}
|
|
909
|
+
}));
|
|
910
|
+
}), e.rangeValueForIndexFields && Object.keys(e.rangeValueForIndexFields).forEach((o) => {
|
|
911
|
+
var u;
|
|
912
|
+
const t = (u = e.rangeValueForIndexFields) == null ? void 0 : u[o];
|
|
913
|
+
t && (r = "must", n.push({
|
|
914
|
+
occur: r,
|
|
915
|
+
exact: {
|
|
916
|
+
ctx: t.value
|
|
917
|
+
}
|
|
918
|
+
}));
|
|
919
|
+
});
|
|
920
|
+
const i = e.mode === "fuzzy" ? { fuzzy: { ctx: e.searchTerm } } : { exact: { ctx: e.searchTerm } };
|
|
921
|
+
return n.push({
|
|
922
|
+
occur: r,
|
|
923
|
+
// Valid, as 'occur' is a required property in SearchClientQuery
|
|
924
|
+
...i
|
|
925
|
+
}), n;
|
|
926
|
+
}
|
|
882
927
|
}
|
|
883
|
-
class
|
|
928
|
+
class ve {
|
|
884
929
|
constructor(e, n) {
|
|
885
930
|
h(this, "config");
|
|
886
931
|
h(this, "measureClient");
|
|
@@ -889,33 +934,30 @@ class we {
|
|
|
889
934
|
h(this, "userId");
|
|
890
935
|
h(this, "requestTimeout");
|
|
891
936
|
h(this, "subscriptionEvents", {});
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
*/
|
|
895
|
-
h(this, "getItems", (e, n, o) => {
|
|
896
|
-
const a = async () => {
|
|
937
|
+
h(this, "getResponseItems", (e, n, r) => {
|
|
938
|
+
const i = async () => {
|
|
897
939
|
(async () => {
|
|
898
940
|
var u, l;
|
|
899
|
-
const
|
|
900
|
-
if (!
|
|
941
|
+
const o = await ((u = this == null ? void 0 : this.searchClient) == null ? void 0 : u.getSearchResponseItems(e));
|
|
942
|
+
if (!o)
|
|
901
943
|
throw new Error("Search client was not initialized.");
|
|
902
|
-
const t = (l =
|
|
944
|
+
const t = (l = o.data.hits || []) == null ? void 0 : l.map((s) => s.doc).filter((s) => !!s).map((s) => ({
|
|
903
945
|
type: "SearchDocument",
|
|
904
946
|
id: T(),
|
|
905
|
-
document:
|
|
947
|
+
document: s
|
|
906
948
|
}));
|
|
907
|
-
n(
|
|
949
|
+
n(o, t);
|
|
908
950
|
})(), (async () => {
|
|
909
|
-
if (this.adClient) {
|
|
910
|
-
const
|
|
911
|
-
o
|
|
951
|
+
if (this.adClient && typeof e != "string") {
|
|
952
|
+
const o = await this.adClient.getAds(e);
|
|
953
|
+
r(o);
|
|
912
954
|
}
|
|
913
955
|
})();
|
|
914
956
|
};
|
|
915
957
|
clearTimeout(this.requestTimeout), this.config.searchDebounceDelay ? this.requestTimeout = setTimeout(
|
|
916
|
-
|
|
958
|
+
i,
|
|
917
959
|
this.config.searchDebounceDelay
|
|
918
|
-
) :
|
|
960
|
+
) : i();
|
|
919
961
|
});
|
|
920
962
|
if (!e.endpointURL || !e.index || !e.readKey)
|
|
921
963
|
throw new Error(
|
|
@@ -924,7 +966,7 @@ class we {
|
|
|
924
966
|
this.config = {
|
|
925
967
|
...e,
|
|
926
968
|
// Strips off the trailing '/' from an endpointURL if one is accidentally added
|
|
927
|
-
endpointURL:
|
|
969
|
+
endpointURL: de(e.endpointURL)
|
|
928
970
|
}, this.userId = "", typeof window < "u" && typeof customElements < "u" && n.sdkName === "@searchcraft/javascript-sdk" && globalThis.__scDefineCustomElements__ && globalThis.__scDefineCustomElements__(), typeof window < "u" && (this.initClients(this.config, n), this.initInputForms(), this.startObservingMutations());
|
|
929
971
|
}
|
|
930
972
|
initInputForms() {
|
|
@@ -941,42 +983,45 @@ class we {
|
|
|
941
983
|
* When changes happen in the DOM, we want to link any input forms found to the instance of the core.
|
|
942
984
|
*/
|
|
943
985
|
startObservingMutations() {
|
|
944
|
-
new MutationObserver((n,
|
|
945
|
-
let
|
|
946
|
-
for (const
|
|
947
|
-
|
|
948
|
-
t.nodeType === 1 && (t.getAttribute("class") || "").toLowerCase() === "searchcraft-input-form" && (
|
|
986
|
+
new MutationObserver((n, r) => {
|
|
987
|
+
let i = !1;
|
|
988
|
+
for (const o of n)
|
|
989
|
+
o.type === "childList" && o.addedNodes.forEach((t) => {
|
|
990
|
+
t.nodeType === 1 && (t.getAttribute("class") || "").toLowerCase() === "searchcraft-input-form" && (i = !0);
|
|
949
991
|
});
|
|
950
|
-
|
|
992
|
+
i && this.initInputForms();
|
|
951
993
|
}).observe(document.body, { childList: !0, subtree: !0 });
|
|
952
994
|
}
|
|
953
995
|
initClients(e, n) {
|
|
954
996
|
setTimeout(async () => {
|
|
955
|
-
let
|
|
956
|
-
switch (
|
|
997
|
+
let r = this.config.userId;
|
|
998
|
+
switch (r || (r = await $()), this.measureClient = new ue(e, n, r), this.searchClient = new me(this, e, r), e.adSource) {
|
|
957
999
|
case "adMarketplace":
|
|
958
|
-
this.adClient = new
|
|
1000
|
+
this.adClient = new ae(e);
|
|
959
1001
|
break;
|
|
960
1002
|
case "Nativo":
|
|
961
1003
|
this.adClient = new se(e);
|
|
962
1004
|
break;
|
|
963
1005
|
case "Custom":
|
|
964
|
-
this.adClient = new
|
|
1006
|
+
this.adClient = new oe(e);
|
|
965
1007
|
break;
|
|
966
1008
|
}
|
|
1009
|
+
this.emitEvent("initialized", {
|
|
1010
|
+
name: "initialized"
|
|
1011
|
+
});
|
|
967
1012
|
}, 300);
|
|
968
1013
|
}
|
|
969
1014
|
emitEvent(e, n) {
|
|
970
|
-
var
|
|
971
|
-
(
|
|
972
|
-
|
|
1015
|
+
var r;
|
|
1016
|
+
(r = this.subscriptionEvents[e]) == null || r.forEach((i) => {
|
|
1017
|
+
i(n);
|
|
973
1018
|
});
|
|
974
1019
|
}
|
|
975
1020
|
subscribe(e, n) {
|
|
976
1021
|
return this.subscriptionEvents[e] || (this.subscriptionEvents[e] = []), this.subscriptionEvents[e].push(
|
|
977
1022
|
n
|
|
978
1023
|
), () => {
|
|
979
|
-
this.subscriptionEvents[e] = this.subscriptionEvents[e].filter((
|
|
1024
|
+
this.subscriptionEvents[e] = this.subscriptionEvents[e].filter((r) => r !== n);
|
|
980
1025
|
};
|
|
981
1026
|
}
|
|
982
1027
|
/**
|
|
@@ -1646,10 +1691,12 @@ const initialSearchcraftStateValues = {
|
|
|
1646
1691
|
hotkeyModifier: 'meta',
|
|
1647
1692
|
logger: undefined,
|
|
1648
1693
|
facetPathsForIndexFields: {},
|
|
1694
|
+
initialQuery: '',
|
|
1695
|
+
initialSearchClientResponseItems: [],
|
|
1649
1696
|
isPopoverVisible: false,
|
|
1650
1697
|
isSearchInProgress: false,
|
|
1651
|
-
searchTerm: '',
|
|
1652
1698
|
rangeValueForIndexFields: {},
|
|
1699
|
+
searchTerm: '',
|
|
1653
1700
|
searchMode: 'fuzzy',
|
|
1654
1701
|
searchClientResponseItems: [],
|
|
1655
1702
|
searchResponseTimeTaken: undefined,
|
|
@@ -1658,37 +1705,47 @@ const initialSearchcraftStateValues = {
|
|
|
1658
1705
|
searchResultsPerPage: 20,
|
|
1659
1706
|
searchResultsPage: 1,
|
|
1660
1707
|
sortType: 'asc',
|
|
1708
|
+
// Callbacks
|
|
1709
|
+
afterInit: () => { },
|
|
1661
1710
|
};
|
|
1662
|
-
const searchcraftStore = zustand.createStore((
|
|
1711
|
+
const searchcraftStore = zustand.createStore((_set, get) => {
|
|
1663
1712
|
const functions = {
|
|
1664
|
-
|
|
1713
|
+
set: (state) => {
|
|
1714
|
+
_set(state);
|
|
1715
|
+
return get();
|
|
1716
|
+
},
|
|
1717
|
+
addFacetPathsForIndexField: (facetPaths) => functions.set((state) => ({
|
|
1665
1718
|
facetPathsForIndexFields: {
|
|
1666
1719
|
...state.facetPathsForIndexFields,
|
|
1667
|
-
[
|
|
1720
|
+
[facetPaths.fieldName]: facetPaths,
|
|
1668
1721
|
},
|
|
1669
1722
|
})),
|
|
1670
|
-
addRangeValueForIndexField: (
|
|
1723
|
+
addRangeValueForIndexField: (rangeValue) => functions.set((state) => ({
|
|
1671
1724
|
rangeValueForIndexFields: {
|
|
1672
1725
|
...state.rangeValueForIndexFields,
|
|
1673
|
-
[
|
|
1726
|
+
[rangeValue.fieldName]: rangeValue,
|
|
1674
1727
|
},
|
|
1675
1728
|
})),
|
|
1676
|
-
|
|
1729
|
+
getSearchcraftCore: () => {
|
|
1677
1730
|
const { core } = get();
|
|
1678
1731
|
return core;
|
|
1679
1732
|
},
|
|
1680
|
-
|
|
1681
|
-
const core = searchcraftInstance;
|
|
1733
|
+
init: (core, debug = false) => {
|
|
1682
1734
|
const logger = debug
|
|
1683
|
-
? new
|
|
1735
|
+
? new pe({ logLevel: F.DEBUG })
|
|
1684
1736
|
: undefined;
|
|
1685
|
-
set({
|
|
1737
|
+
const state = functions.set({
|
|
1686
1738
|
core,
|
|
1687
1739
|
logger,
|
|
1688
|
-
searchResultsPerPage: core
|
|
1740
|
+
searchResultsPerPage: core?.config.searchResultsPerPage || 20,
|
|
1741
|
+
});
|
|
1742
|
+
core?.subscribe('initialized', () => {
|
|
1743
|
+
if (state.afterInit) {
|
|
1744
|
+
state.afterInit(state);
|
|
1745
|
+
}
|
|
1689
1746
|
});
|
|
1690
1747
|
},
|
|
1691
|
-
removeFacetPathsForIndexField: (fieldName) => set((state) => {
|
|
1748
|
+
removeFacetPathsForIndexField: (fieldName) => functions.set((state) => {
|
|
1692
1749
|
const currentPaths = state.facetPathsForIndexFields;
|
|
1693
1750
|
delete currentPaths[fieldName];
|
|
1694
1751
|
return {
|
|
@@ -1697,7 +1754,7 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
1697
1754
|
},
|
|
1698
1755
|
};
|
|
1699
1756
|
}),
|
|
1700
|
-
removeRangeValueForIndexField: (fieldName) => set((state) => {
|
|
1757
|
+
removeRangeValueForIndexField: (fieldName) => functions.set((state) => {
|
|
1701
1758
|
const currentValues = state.rangeValueForIndexFields;
|
|
1702
1759
|
delete currentValues[fieldName];
|
|
1703
1760
|
return {
|
|
@@ -1707,19 +1764,19 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
1707
1764
|
};
|
|
1708
1765
|
}),
|
|
1709
1766
|
resetFacetPaths: () => {
|
|
1710
|
-
set({
|
|
1767
|
+
functions.set({
|
|
1711
1768
|
facetPathsForIndexFields: {},
|
|
1712
1769
|
});
|
|
1713
1770
|
},
|
|
1714
1771
|
search: async () => {
|
|
1715
1772
|
const state = get();
|
|
1716
|
-
state.logger?.log(
|
|
1773
|
+
state.logger?.log(F.INFO, `Starting search with search term: "${state.searchTerm}"`);
|
|
1717
1774
|
if (!state.core) {
|
|
1718
1775
|
throw new Error('Searchcraft instance is not initialized.');
|
|
1719
1776
|
}
|
|
1720
1777
|
if (!state.searchTerm.trim()) {
|
|
1721
|
-
state.logger?.log(
|
|
1722
|
-
set({
|
|
1778
|
+
state.logger?.log(F.INFO, 'No search request was made: search term was empty.');
|
|
1779
|
+
functions.set({
|
|
1723
1780
|
searchClientResponseItems: [],
|
|
1724
1781
|
searchResultsCount: 0,
|
|
1725
1782
|
searchResultsPage: 1,
|
|
@@ -1727,32 +1784,8 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
1727
1784
|
});
|
|
1728
1785
|
return;
|
|
1729
1786
|
}
|
|
1730
|
-
set({ isSearchInProgress: true });
|
|
1731
|
-
|
|
1732
|
-
const facetsFromResponse = response.data.facets;
|
|
1733
|
-
set((state) => {
|
|
1734
|
-
return {
|
|
1735
|
-
isSearchInProgress: false,
|
|
1736
|
-
searchClientResponseItems: items,
|
|
1737
|
-
searchResponseTimeTaken: response.data.time_taken || 0,
|
|
1738
|
-
searchResultsPage:
|
|
1739
|
-
// reset to first page when response count changes
|
|
1740
|
-
response.data.count === state.searchResultsCount
|
|
1741
|
-
? state.searchResultsPage
|
|
1742
|
-
: 1,
|
|
1743
|
-
searchResultsCount: response.data.count || 0,
|
|
1744
|
-
};
|
|
1745
|
-
});
|
|
1746
|
-
if (facetsFromResponse) {
|
|
1747
|
-
set({ searchResponseFacetPrime: facetsFromResponse });
|
|
1748
|
-
}
|
|
1749
|
-
state.logger?.log(D.DEBUG, `Search results: ${JSON.stringify(items)}`);
|
|
1750
|
-
state.logger?.log(D.DEBUG, `Facets from response: ${JSON.stringify(facetsFromResponse)}`);
|
|
1751
|
-
};
|
|
1752
|
-
const handleAdResponse = (adClientResponseItems) => {
|
|
1753
|
-
set({ adClientResponseItems });
|
|
1754
|
-
};
|
|
1755
|
-
state.core.getItems({
|
|
1787
|
+
functions.set({ isSearchInProgress: true });
|
|
1788
|
+
state.core.getResponseItems({
|
|
1756
1789
|
searchTerm: state.searchTerm,
|
|
1757
1790
|
mode: state.searchMode,
|
|
1758
1791
|
sort: state.sortType,
|
|
@@ -1762,15 +1795,55 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
1762
1795
|
? state.searchResultsPerPage * (state.searchResultsPage - 1)
|
|
1763
1796
|
: 0,
|
|
1764
1797
|
limit: state.searchResultsPerPage,
|
|
1765
|
-
},
|
|
1798
|
+
}, functions.setSearchClientResponseItemsFromResponse, functions.setAdClientResponseItems);
|
|
1766
1799
|
},
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1800
|
+
setAdClientResponseItems: (items) => functions.set({ adClientResponseItems: items }),
|
|
1801
|
+
setSearchClientResponseItemsFromResponse: (response, items) => {
|
|
1802
|
+
const { facets, count = 0, time_taken = 0 } = response.data;
|
|
1803
|
+
const state = functions.set((state) => {
|
|
1804
|
+
return {
|
|
1805
|
+
isSearchInProgress: false,
|
|
1806
|
+
searchClientResponseItems: items,
|
|
1807
|
+
searchResponseTimeTaken: time_taken,
|
|
1808
|
+
searchResultsPage:
|
|
1809
|
+
// Reset to first page when response count changes
|
|
1810
|
+
count === state.searchResultsCount ? state.searchResultsPage : 1,
|
|
1811
|
+
searchResultsCount: count,
|
|
1812
|
+
...(facets && { searchResponseFacetPrime: facets }),
|
|
1813
|
+
};
|
|
1814
|
+
});
|
|
1815
|
+
state.logger?.log(F.DEBUG, `Search results: ${JSON.stringify(items)}`);
|
|
1816
|
+
state.logger?.log(F.DEBUG, `Facets from response: ${JSON.stringify(facets)}`);
|
|
1817
|
+
},
|
|
1818
|
+
setInitialSearchClientResponseItemsFromResponse: (response, items) => {
|
|
1819
|
+
const state = get();
|
|
1820
|
+
const { count = 0, time_taken = 0 } = response.data;
|
|
1821
|
+
functions.set((state) => {
|
|
1822
|
+
return {
|
|
1823
|
+
isSearchInProgress: false,
|
|
1824
|
+
initialSearchClientResponseItems: items,
|
|
1825
|
+
searchResponseTimeTaken: time_taken,
|
|
1826
|
+
searchResultsPage:
|
|
1827
|
+
// Reset to first page when response count changes
|
|
1828
|
+
count === state.searchResultsCount ? state.searchResultsPage : 1,
|
|
1829
|
+
searchResultsCount: count,
|
|
1830
|
+
};
|
|
1770
1831
|
});
|
|
1832
|
+
state.logger?.log(F.DEBUG, `Search results: ${JSON.stringify(items)}`);
|
|
1771
1833
|
},
|
|
1772
|
-
|
|
1773
|
-
|
|
1834
|
+
setInitialQuery: async (query) => {
|
|
1835
|
+
const state = functions.set({ initialQuery: query });
|
|
1836
|
+
state.logger?.log(F.INFO, `Starting search with query: "${state.initialQuery}"`);
|
|
1837
|
+
if (!state.core) {
|
|
1838
|
+
throw new Error('Searchcraft instance is not initialized.');
|
|
1839
|
+
}
|
|
1840
|
+
await state.core.getResponseItems(query, functions.setInitialSearchClientResponseItemsFromResponse, functions.setAdClientResponseItems);
|
|
1841
|
+
},
|
|
1842
|
+
setPopoverVisibility: (isVisible) => functions.set({
|
|
1843
|
+
isPopoverVisible: isVisible,
|
|
1844
|
+
}),
|
|
1845
|
+
setSearchMode: (mode) => functions.set({ searchMode: mode }),
|
|
1846
|
+
setSortType: (type) => functions.set({ sortType: type }),
|
|
1774
1847
|
setSearchTerm: (searchTerm) => {
|
|
1775
1848
|
const { core } = get();
|
|
1776
1849
|
if (searchTerm.length === 0) {
|
|
@@ -1779,7 +1852,7 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
1779
1852
|
/**
|
|
1780
1853
|
* When a new searchTerm is set, also reset the sort type, search mode, and facet paths.
|
|
1781
1854
|
*/
|
|
1782
|
-
set({
|
|
1855
|
+
functions.set({
|
|
1783
1856
|
searchTerm,
|
|
1784
1857
|
facetPathsForIndexFields: {},
|
|
1785
1858
|
...(searchTerm.trim().length === 0 && {
|
|
@@ -1788,18 +1861,19 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
1788
1861
|
}),
|
|
1789
1862
|
});
|
|
1790
1863
|
},
|
|
1791
|
-
setSearchClientResponseItems: (items) => set({ searchClientResponseItems: items }),
|
|
1864
|
+
setSearchClientResponseItems: (items) => functions.set({ searchClientResponseItems: items }),
|
|
1865
|
+
setSearchResultsCount: (count) => functions.set({ searchResultsCount: count }),
|
|
1792
1866
|
setSearchResultsPage: async (page) => {
|
|
1793
|
-
set({ searchResultsPage: page });
|
|
1867
|
+
functions.set({ searchResultsPage: page });
|
|
1794
1868
|
await functions.search();
|
|
1795
1869
|
},
|
|
1796
1870
|
setSearchResultsPerPage: async (perPage) => {
|
|
1797
|
-
set({ searchResultsPerPage: perPage });
|
|
1871
|
+
functions.set({ searchResultsPerPage: perPage });
|
|
1798
1872
|
await functions.search();
|
|
1799
1873
|
},
|
|
1800
1874
|
setHotKeyAndHotKeyModifier: (hotkey, hotkeyModifier) => {
|
|
1801
1875
|
const { hotkey: initialHotkey, hotkeyModifier: initialHotkeyModifier } = initialSearchcraftStateValues;
|
|
1802
|
-
set({
|
|
1876
|
+
functions.set({
|
|
1803
1877
|
hotkey: hotkey || initialHotkey,
|
|
1804
1878
|
hotkeyModifier: hotkeyModifier || initialHotkeyModifier,
|
|
1805
1879
|
});
|
|
@@ -1812,6 +1886,6 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
1812
1886
|
return stateObject;
|
|
1813
1887
|
});
|
|
1814
1888
|
|
|
1815
|
-
export { searchcraftStore as s,
|
|
1889
|
+
export { searchcraftStore as s, ve as v };
|
|
1816
1890
|
|
|
1817
|
-
//# sourceMappingURL=p-
|
|
1891
|
+
//# sourceMappingURL=p-3465cbc7.js.map
|