@searchcraft/javascript-sdk 0.10.0 → 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/defineCustomElements.js +2 -0
- package/dist/components/index.d.ts +348 -187
- package/dist/components/index.js +8 -29
- package/dist/components/index.js.map +1 -1
- package/dist/components/p-01589c0b.js +46 -0
- package/dist/components/p-01589c0b.js.map +1 -0
- package/dist/components/{p-8aa0fff5.js → p-0f5b47be.js} +17 -17
- package/dist/components/p-0f5b47be.js.map +1 -0
- package/dist/components/{p-3f63fa14.js → p-2999498a.js} +34 -22
- package/dist/components/p-2999498a.js.map +1 -0
- package/dist/components/{p-f8df3d49.js → p-3465cbc7.js} +578 -468
- package/dist/components/p-3465cbc7.js.map +1 -0
- package/dist/components/{p-e72d0167.js → p-435bec83.js} +3 -3
- package/dist/components/p-435bec83.js.map +1 -0
- package/dist/components/{p-39e70a00.js → p-48fa555e.js} +30 -4
- package/dist/components/p-48fa555e.js.map +1 -0
- package/dist/components/p-4d37616e.js +105 -0
- package/dist/components/p-4d37616e.js.map +1 -0
- package/dist/components/{p-c317a36a.js → p-66109c31.js} +7 -12
- package/dist/components/p-66109c31.js.map +1 -0
- package/dist/components/{p-d361b781.js → p-760c6845.js} +4 -4
- package/dist/components/{p-d361b781.js.map → p-760c6845.js.map} +1 -1
- package/dist/components/{p-bc9e0e40.js → p-7c650118.js} +4 -4
- package/dist/components/{p-bc9e0e40.js.map → p-7c650118.js.map} +1 -1
- package/dist/components/{p-34a32648.js → p-c1f43fe1.js} +4 -4
- package/dist/components/{p-34a32648.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 +6 -6
- package/dist/components/searchcraft-filter-panel.js.map +1 -1
- package/dist/components/searchcraft-input-form.js +1 -1
- package/dist/components/searchcraft-pagination.js +1 -1
- package/dist/components/searchcraft-pagination.js.map +1 -1
- package/dist/components/searchcraft-popover-button.js +97 -3
- package/dist/components/searchcraft-popover-button.js.map +1 -1
- package/dist/components/searchcraft-popover-footer.d.ts +11 -0
- package/dist/components/searchcraft-popover-footer.js +8 -0
- package/dist/components/searchcraft-popover-footer.js.map +1 -0
- package/dist/components/searchcraft-popover-form.js +34 -24
- 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 -9
- package/dist/components/searchcraft-results-info.js.map +1 -1
- 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-per-page.js.map +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 +2 -2
- package/dist/components/searchcraft-theme.js.map +1 -1
- package/dist/components/searchcraft-toggle-button.js +1 -1
- package/dist/hydrate/index.js +730 -445
- package/dist/hydrate/index.mjs +730 -445
- package/dist/themes/hologram.css +1 -0
- package/dist/themes/hologram.css.map +1 -0
- package/dist/types/components/searchcraft-filter-panel/searchcraft-filter-panel.d.ts +4 -3
- package/dist/types/components/searchcraft-input-form/searchcraft-input-form.d.ts +11 -6
- package/dist/types/components/searchcraft-pagination/searchcraft-pagination.d.ts +4 -3
- package/dist/types/components/searchcraft-popover-button/searchcraft-popover-button.d.ts +49 -5
- package/dist/types/components/searchcraft-popover-footer/searchcraft-popover-footer.d.ts +13 -0
- package/dist/types/components/searchcraft-popover-form/searchcraft-popover-form.d.ts +4 -3
- package/dist/types/components/searchcraft-popover-list-item/searchcraft-popover-list-item.d.ts +3 -3
- package/dist/types/components/searchcraft-results-info/searchcraft-results-info.d.ts +6 -10
- package/dist/types/components/searchcraft-search-result/searchcraft-search-result.d.ts +3 -0
- package/dist/types/components/searchcraft-search-results/searchcraft-search-results.d.ts +15 -9
- package/dist/types/components/searchcraft-search-results-per-page/searchcraft-search-results-per-page.d.ts +4 -3
- package/dist/types/components/searchcraft-theme/searchcraft-theme.d.ts +4 -3
- package/dist/types/components.d.ts +239 -120
- package/dist/types/index.d.ts +0 -1
- package/dist/types/store/SearchcraftStore.types.d.ts +18 -6
- package/dist/types/utils/index.d.ts +0 -1
- package/dist/types/utils/units.d.ts +19 -6
- package/package.json +5 -4
- package/dist/components/p-39e70a00.js.map +0 -1
- package/dist/components/p-3f63fa14.js.map +0 -1
- package/dist/components/p-6104fe5d.js +0 -84
- package/dist/components/p-6104fe5d.js.map +0 -1
- package/dist/components/p-8aa0fff5.js.map +0 -1
- package/dist/components/p-c317a36a.js.map +0 -1
- package/dist/components/p-e72d0167.js.map +0 -1
- package/dist/components/p-f8df3d49.js.map +0 -1
- package/dist/types/utils/styles.d.ts +0 -3
package/dist/hydrate/index.mjs
CHANGED
|
@@ -3176,18 +3176,18 @@ Object.keys(react).forEach(function (k) {
|
|
|
3176
3176
|
});
|
|
3177
3177
|
}(zustand));
|
|
3178
3178
|
|
|
3179
|
-
var
|
|
3180
|
-
var
|
|
3181
|
-
var h = (
|
|
3182
|
-
var
|
|
3183
|
-
class
|
|
3179
|
+
var q = Object.defineProperty;
|
|
3180
|
+
var B = (a, e, n) => e in a ? q(a, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : a[e] = n;
|
|
3181
|
+
var h = (a, e, n) => B(a, typeof e != "symbol" ? e + "" : e, n);
|
|
3182
|
+
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 || {});
|
|
3183
|
+
class pe {
|
|
3184
3184
|
constructor(e) {
|
|
3185
3185
|
h(this, "logLevel");
|
|
3186
3186
|
h(this, "logFormatter");
|
|
3187
3187
|
this.logLevel = e.logLevel || 1, this.logFormatter = e.logFormatter || this.defaultFormatter;
|
|
3188
3188
|
}
|
|
3189
3189
|
defaultFormatter(e, n) {
|
|
3190
|
-
return `[${
|
|
3190
|
+
return `[${F[e]}] ${( new Date()).toISOString()}: ${n}`;
|
|
3191
3191
|
}
|
|
3192
3192
|
debug(e) {
|
|
3193
3193
|
this.logLevel <= 0 && console.log(this.logFormatter(0, e));
|
|
@@ -3218,190 +3218,190 @@ class ge {
|
|
|
3218
3218
|
}
|
|
3219
3219
|
}
|
|
3220
3220
|
}
|
|
3221
|
-
function
|
|
3222
|
-
return new (n || (n = Promise))(function(
|
|
3223
|
-
function t(
|
|
3221
|
+
function y(a, e, n, r) {
|
|
3222
|
+
return new (n || (n = Promise))(function(i, o) {
|
|
3223
|
+
function t(s) {
|
|
3224
3224
|
try {
|
|
3225
|
-
l(
|
|
3226
|
-
} catch (
|
|
3227
|
-
|
|
3225
|
+
l(r.next(s));
|
|
3226
|
+
} catch (c) {
|
|
3227
|
+
o(c);
|
|
3228
3228
|
}
|
|
3229
3229
|
}
|
|
3230
|
-
function u(
|
|
3230
|
+
function u(s) {
|
|
3231
3231
|
try {
|
|
3232
|
-
l(
|
|
3233
|
-
} catch (
|
|
3234
|
-
|
|
3232
|
+
l(r.throw(s));
|
|
3233
|
+
} catch (c) {
|
|
3234
|
+
o(c);
|
|
3235
3235
|
}
|
|
3236
3236
|
}
|
|
3237
|
-
function l(
|
|
3238
|
-
var
|
|
3239
|
-
|
|
3240
|
-
|
|
3237
|
+
function l(s) {
|
|
3238
|
+
var c;
|
|
3239
|
+
s.done ? i(s.value) : (c = s.value, c instanceof n ? c : new n(function(p) {
|
|
3240
|
+
p(c);
|
|
3241
3241
|
})).then(t, u);
|
|
3242
3242
|
}
|
|
3243
|
-
l((
|
|
3243
|
+
l((r = r.apply(a, [])).next());
|
|
3244
3244
|
});
|
|
3245
3245
|
}
|
|
3246
|
-
function
|
|
3247
|
-
var n,
|
|
3248
|
-
if (1 &
|
|
3249
|
-
return
|
|
3246
|
+
function w(a, e) {
|
|
3247
|
+
var n, r, i, o, t = { label: 0, sent: function() {
|
|
3248
|
+
if (1 & i[0]) throw i[1];
|
|
3249
|
+
return i[1];
|
|
3250
3250
|
}, trys: [], ops: [] };
|
|
3251
|
-
return
|
|
3251
|
+
return o = { next: u(0), throw: u(1), return: u(2) }, typeof Symbol == "function" && (o[Symbol.iterator] = function() {
|
|
3252
3252
|
return this;
|
|
3253
|
-
}),
|
|
3253
|
+
}), o;
|
|
3254
3254
|
function u(l) {
|
|
3255
|
-
return function(
|
|
3256
|
-
return function(
|
|
3255
|
+
return function(s) {
|
|
3256
|
+
return function(c) {
|
|
3257
3257
|
if (n) throw new TypeError("Generator is already executing.");
|
|
3258
|
-
for (;
|
|
3259
|
-
if (n = 1,
|
|
3260
|
-
switch (
|
|
3258
|
+
for (; o && (o = 0, c[0] && (t = 0)), t; ) try {
|
|
3259
|
+
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;
|
|
3260
|
+
switch (r = 0, i && (c = [2 & c[0], i.value]), c[0]) {
|
|
3261
3261
|
case 0:
|
|
3262
3262
|
case 1:
|
|
3263
|
-
|
|
3263
|
+
i = c;
|
|
3264
3264
|
break;
|
|
3265
3265
|
case 4:
|
|
3266
|
-
return t.label++, { value:
|
|
3266
|
+
return t.label++, { value: c[1], done: !1 };
|
|
3267
3267
|
case 5:
|
|
3268
|
-
t.label++,
|
|
3268
|
+
t.label++, r = c[1], c = [0];
|
|
3269
3269
|
continue;
|
|
3270
3270
|
case 7:
|
|
3271
|
-
|
|
3271
|
+
c = t.ops.pop(), t.trys.pop();
|
|
3272
3272
|
continue;
|
|
3273
3273
|
default:
|
|
3274
|
-
if (
|
|
3274
|
+
if (i = t.trys, !((i = i.length > 0 && i[i.length - 1]) || c[0] !== 6 && c[0] !== 2)) {
|
|
3275
3275
|
t = 0;
|
|
3276
3276
|
continue;
|
|
3277
3277
|
}
|
|
3278
|
-
if (
|
|
3279
|
-
t.label =
|
|
3278
|
+
if (c[0] === 3 && (!i || c[1] > i[0] && c[1] < i[3])) {
|
|
3279
|
+
t.label = c[1];
|
|
3280
3280
|
break;
|
|
3281
3281
|
}
|
|
3282
|
-
if (
|
|
3283
|
-
t.label =
|
|
3282
|
+
if (c[0] === 6 && t.label < i[1]) {
|
|
3283
|
+
t.label = i[1], i = c;
|
|
3284
3284
|
break;
|
|
3285
3285
|
}
|
|
3286
|
-
if (
|
|
3287
|
-
t.label =
|
|
3286
|
+
if (i && t.label < i[2]) {
|
|
3287
|
+
t.label = i[2], t.ops.push(c);
|
|
3288
3288
|
break;
|
|
3289
3289
|
}
|
|
3290
|
-
|
|
3290
|
+
i[2] && t.ops.pop(), t.trys.pop();
|
|
3291
3291
|
continue;
|
|
3292
3292
|
}
|
|
3293
|
-
|
|
3294
|
-
} catch (
|
|
3295
|
-
|
|
3293
|
+
c = e.call(a, t);
|
|
3294
|
+
} catch (p) {
|
|
3295
|
+
c = [6, p], r = 0;
|
|
3296
3296
|
} finally {
|
|
3297
|
-
n =
|
|
3297
|
+
n = i = 0;
|
|
3298
3298
|
}
|
|
3299
|
-
if (5 &
|
|
3300
|
-
return { value:
|
|
3301
|
-
}([l,
|
|
3299
|
+
if (5 & c[0]) throw c[1];
|
|
3300
|
+
return { value: c[0] ? c[1] : void 0, done: !0 };
|
|
3301
|
+
}([l, s]);
|
|
3302
3302
|
};
|
|
3303
3303
|
}
|
|
3304
3304
|
}
|
|
3305
|
-
var
|
|
3306
|
-
typeof window < "u" && (
|
|
3305
|
+
var S = { exclude: [] }, O = {}, v = function(a, e) {
|
|
3306
|
+
typeof window < "u" && (O[a] = e);
|
|
3307
3307
|
};
|
|
3308
|
-
function C(
|
|
3309
|
-
return
|
|
3308
|
+
function C(a) {
|
|
3309
|
+
return a ^= a >>> 16, a = Math.imul(a, 2246822507), a ^= a >>> 13, a = Math.imul(a, 3266489909), (a ^= a >>> 16) >>> 0;
|
|
3310
3310
|
}
|
|
3311
3311
|
var m = new Uint32Array([597399067, 2869860233, 951274213, 2716044179]);
|
|
3312
|
-
function g(
|
|
3313
|
-
return
|
|
3312
|
+
function g(a, e) {
|
|
3313
|
+
return a << e | a >>> 32 - e;
|
|
3314
3314
|
}
|
|
3315
|
-
function
|
|
3315
|
+
function _(a, e) {
|
|
3316
3316
|
var n;
|
|
3317
|
-
if (e === void 0 && (e = 0), e = e ? 0 | e : 0, typeof
|
|
3318
|
-
var
|
|
3319
|
-
(((function(
|
|
3320
|
-
for (var u =
|
|
3321
|
-
var
|
|
3322
|
-
|
|
3323
|
-
}
|
|
3324
|
-
})))(
|
|
3325
|
-
var u =
|
|
3317
|
+
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");
|
|
3318
|
+
var r = new Uint32Array([e, e, e, e]);
|
|
3319
|
+
(((function(o, t) {
|
|
3320
|
+
for (var u = o.byteLength / 16 | 0, l = new Uint32Array(o, 0, 4 * u), s = 0; s < u; s++) {
|
|
3321
|
+
var c = l.subarray(4 * s, 4 * (s + 1));
|
|
3322
|
+
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;
|
|
3323
|
+
}
|
|
3324
|
+
})))(a, r), function(o, t) {
|
|
3325
|
+
var u = o.byteLength / 16 | 0, l = o.byteLength % 16, s = new Uint32Array(4), c = new Uint8Array(o, 16 * u, l);
|
|
3326
3326
|
switch (l) {
|
|
3327
3327
|
case 15:
|
|
3328
|
-
|
|
3328
|
+
s[3] = s[3] ^ c[14] << 16;
|
|
3329
3329
|
case 14:
|
|
3330
|
-
|
|
3330
|
+
s[3] = s[3] ^ c[13] << 8;
|
|
3331
3331
|
case 13:
|
|
3332
|
-
|
|
3332
|
+
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];
|
|
3333
3333
|
case 12:
|
|
3334
|
-
|
|
3334
|
+
s[2] = s[2] ^ c[11] << 24;
|
|
3335
3335
|
case 11:
|
|
3336
|
-
|
|
3336
|
+
s[2] = s[2] ^ c[10] << 16;
|
|
3337
3337
|
case 10:
|
|
3338
|
-
|
|
3338
|
+
s[2] = s[2] ^ c[9] << 8;
|
|
3339
3339
|
case 9:
|
|
3340
|
-
|
|
3340
|
+
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];
|
|
3341
3341
|
case 8:
|
|
3342
|
-
|
|
3342
|
+
s[1] = s[1] ^ c[7] << 24;
|
|
3343
3343
|
case 7:
|
|
3344
|
-
|
|
3344
|
+
s[1] = s[1] ^ c[6] << 16;
|
|
3345
3345
|
case 6:
|
|
3346
|
-
|
|
3346
|
+
s[1] = s[1] ^ c[5] << 8;
|
|
3347
3347
|
case 5:
|
|
3348
|
-
|
|
3348
|
+
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];
|
|
3349
3349
|
case 4:
|
|
3350
|
-
|
|
3350
|
+
s[0] = s[0] ^ c[3] << 24;
|
|
3351
3351
|
case 3:
|
|
3352
|
-
|
|
3352
|
+
s[0] = s[0] ^ c[2] << 16;
|
|
3353
3353
|
case 2:
|
|
3354
|
-
|
|
3354
|
+
s[0] = s[0] ^ c[1] << 8;
|
|
3355
3355
|
case 1:
|
|
3356
|
-
|
|
3357
|
-
}
|
|
3358
|
-
}(
|
|
3359
|
-
t[0] = t[0] ^
|
|
3360
|
-
}(
|
|
3361
|
-
var
|
|
3362
|
-
return Array.from(
|
|
3363
|
-
return
|
|
3356
|
+
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];
|
|
3357
|
+
}
|
|
3358
|
+
}(a, r), function(o, t) {
|
|
3359
|
+
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;
|
|
3360
|
+
}(a, r);
|
|
3361
|
+
var i = new Uint8Array(r.buffer);
|
|
3362
|
+
return Array.from(i).map(function(o) {
|
|
3363
|
+
return o.toString(16).padStart(2, "0");
|
|
3364
3364
|
}).join("");
|
|
3365
3365
|
}
|
|
3366
|
-
function
|
|
3367
|
-
for (var e = 0, n = 0; n <
|
|
3366
|
+
function z(a) {
|
|
3367
|
+
for (var e = 0, n = 0; n < a.length; ++n) e += Math.abs(a[n]);
|
|
3368
3368
|
return e;
|
|
3369
3369
|
}
|
|
3370
|
-
function U(
|
|
3371
|
-
for (var
|
|
3372
|
-
for (var
|
|
3373
|
-
|
|
3370
|
+
function U(a, e, n) {
|
|
3371
|
+
for (var r = [], i = 0; i < a[0].data.length; i++) {
|
|
3372
|
+
for (var o = [], t = 0; t < a.length; t++) o.push(a[t].data[i]);
|
|
3373
|
+
r.push(H(o));
|
|
3374
3374
|
}
|
|
3375
|
-
var u = new Uint8ClampedArray(
|
|
3375
|
+
var u = new Uint8ClampedArray(r);
|
|
3376
3376
|
return new ImageData(u, e, n);
|
|
3377
3377
|
}
|
|
3378
|
-
function
|
|
3379
|
-
if (
|
|
3380
|
-
for (var e = {}, n = 0,
|
|
3381
|
-
e[
|
|
3382
|
-
var
|
|
3383
|
-
for (var
|
|
3384
|
-
return
|
|
3378
|
+
function H(a) {
|
|
3379
|
+
if (a.length === 0) return 0;
|
|
3380
|
+
for (var e = {}, n = 0, r = a; n < r.length; n++)
|
|
3381
|
+
e[o = r[n]] = (e[o] || 0) + 1;
|
|
3382
|
+
var i = a[0];
|
|
3383
|
+
for (var o in e) e[o] > e[i] && (i = parseInt(o, 10));
|
|
3384
|
+
return i;
|
|
3385
3385
|
}
|
|
3386
3386
|
function E() {
|
|
3387
3387
|
if (typeof navigator > "u") return { name: "unknown", version: "unknown" };
|
|
3388
|
-
for (var
|
|
3389
|
-
var
|
|
3390
|
-
if (
|
|
3388
|
+
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++) {
|
|
3389
|
+
var i = r[n], o = a.match(i);
|
|
3390
|
+
if (o && o.groups) return { name: e[o.groups.name] || o.groups.name, version: o.groups.version };
|
|
3391
3391
|
}
|
|
3392
3392
|
return { name: "unknown", version: "unknown" };
|
|
3393
3393
|
}
|
|
3394
3394
|
v("audio", function() {
|
|
3395
|
-
return
|
|
3396
|
-
return
|
|
3395
|
+
return y(this, void 0, void 0, function() {
|
|
3396
|
+
return w(this, function(a) {
|
|
3397
3397
|
return [2, new Promise(function(e, n) {
|
|
3398
3398
|
try {
|
|
3399
|
-
var
|
|
3400
|
-
|
|
3401
|
-
var t, u =
|
|
3402
|
-
u.threshold.value = -50, u.knee.value = 40, u.ratio.value = 12, u.attack.value = 0, u.release.value = 0.2,
|
|
3403
|
-
t = l.renderedBuffer.getChannelData(0), e({ sampleHash:
|
|
3404
|
-
},
|
|
3399
|
+
var r = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1, 5e3, 44100), i = r.createBufferSource(), o = r.createOscillator();
|
|
3400
|
+
o.frequency.value = 1e3;
|
|
3401
|
+
var t, u = r.createDynamicsCompressor();
|
|
3402
|
+
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) {
|
|
3403
|
+
t = l.renderedBuffer.getChannelData(0), e({ sampleHash: z(t), oscillator: o.type, maxChannels: r.destination.maxChannelCount, channelCountMode: i.channelCountMode });
|
|
3404
|
+
}, r.startRendering();
|
|
3405
3405
|
} catch (l) {
|
|
3406
3406
|
console.error("Error creating audio fingerprint:", l), n(l);
|
|
3407
3407
|
}
|
|
@@ -3409,123 +3409,123 @@ v("audio", function() {
|
|
|
3409
3409
|
});
|
|
3410
3410
|
});
|
|
3411
3411
|
});
|
|
3412
|
-
var
|
|
3412
|
+
var Q = E().name !== "SamsungBrowser" ? 1 : 3, P = 280, x = 20;
|
|
3413
3413
|
E().name != "Firefox" && v("canvas", function() {
|
|
3414
|
-
return document.createElement("canvas").getContext("2d"), new Promise(function(
|
|
3415
|
-
var e = Array.from({ length:
|
|
3414
|
+
return document.createElement("canvas").getContext("2d"), new Promise(function(a) {
|
|
3415
|
+
var e = Array.from({ length: Q }, function() {
|
|
3416
3416
|
return function() {
|
|
3417
|
-
var n = document.createElement("canvas"),
|
|
3418
|
-
if (!
|
|
3419
|
-
n.width =
|
|
3420
|
-
var
|
|
3421
|
-
|
|
3422
|
-
var
|
|
3423
|
-
|
|
3424
|
-
var t =
|
|
3417
|
+
var n = document.createElement("canvas"), r = n.getContext("2d");
|
|
3418
|
+
if (!r) return new ImageData(1, 1);
|
|
3419
|
+
n.width = P, n.height = x;
|
|
3420
|
+
var i = r.createLinearGradient(0, 0, n.width, n.height);
|
|
3421
|
+
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);
|
|
3422
|
+
var o = "Random Text WMwmil10Oo";
|
|
3423
|
+
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();
|
|
3424
|
+
var t = r.getImageData(0, 0, n.width, n.height);
|
|
3425
3425
|
return t;
|
|
3426
3426
|
}();
|
|
3427
3427
|
});
|
|
3428
|
-
|
|
3428
|
+
a({ commonImageDataHash: _(U(e, P, x).data.toString()).toString() });
|
|
3429
3429
|
});
|
|
3430
3430
|
});
|
|
3431
|
-
var
|
|
3432
|
-
function k(
|
|
3433
|
-
if (!
|
|
3434
|
-
return
|
|
3431
|
+
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"];
|
|
3432
|
+
function k(a, e) {
|
|
3433
|
+
if (!a) throw new Error("Canvas context not supported");
|
|
3434
|
+
return a.font = "72px ".concat(e), a.measureText("WwMmLli0Oo").width;
|
|
3435
3435
|
}
|
|
3436
|
-
function
|
|
3437
|
-
var
|
|
3436
|
+
function X() {
|
|
3437
|
+
var a, e = document.createElement("canvas"), n = (a = e.getContext("webgl")) !== null && a !== void 0 ? a : e.getContext("experimental-webgl");
|
|
3438
3438
|
if (n && "getParameter" in n) try {
|
|
3439
|
-
var
|
|
3440
|
-
if (!
|
|
3439
|
+
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() };
|
|
3440
|
+
if (!i.length || !r.length) {
|
|
3441
3441
|
var t = n.getExtension("WEBGL_debug_renderer_info");
|
|
3442
3442
|
if (t) {
|
|
3443
3443
|
var u = (n.getParameter(t.UNMASKED_VENDOR_WEBGL) || "").toString(), l = (n.getParameter(t.UNMASKED_RENDERER_WEBGL) || "").toString();
|
|
3444
|
-
u && (
|
|
3444
|
+
u && (o.vendorUnmasked = u), l && (o.rendererUnmasked = l);
|
|
3445
3445
|
}
|
|
3446
3446
|
}
|
|
3447
|
-
return
|
|
3447
|
+
return o;
|
|
3448
3448
|
} catch {
|
|
3449
3449
|
}
|
|
3450
3450
|
return "undefined";
|
|
3451
3451
|
}
|
|
3452
|
-
function
|
|
3453
|
-
var
|
|
3454
|
-
return
|
|
3452
|
+
function Y() {
|
|
3453
|
+
var a = new Float32Array(1), e = new Uint8Array(a.buffer);
|
|
3454
|
+
return a[0] = 1 / 0, a[0] = a[0] - a[0], e[3];
|
|
3455
3455
|
}
|
|
3456
|
-
function Z(
|
|
3456
|
+
function Z(a, e) {
|
|
3457
3457
|
var n = {};
|
|
3458
|
-
return e.forEach(function(
|
|
3459
|
-
var
|
|
3460
|
-
if (
|
|
3458
|
+
return e.forEach(function(r) {
|
|
3459
|
+
var i = function(o) {
|
|
3460
|
+
if (o.length === 0) return null;
|
|
3461
3461
|
var t = {};
|
|
3462
|
-
|
|
3463
|
-
var
|
|
3464
|
-
t[
|
|
3462
|
+
o.forEach(function(s) {
|
|
3463
|
+
var c = String(s);
|
|
3464
|
+
t[c] = (t[c] || 0) + 1;
|
|
3465
3465
|
});
|
|
3466
|
-
var u =
|
|
3467
|
-
return Object.keys(t).forEach(function(
|
|
3468
|
-
t[
|
|
3466
|
+
var u = o[0], l = 1;
|
|
3467
|
+
return Object.keys(t).forEach(function(s) {
|
|
3468
|
+
t[s] > l && (u = s, l = t[s]);
|
|
3469
3469
|
}), u;
|
|
3470
|
-
}(
|
|
3471
|
-
return
|
|
3472
|
-
}).filter(function(
|
|
3473
|
-
return
|
|
3470
|
+
}(a.map(function(o) {
|
|
3471
|
+
return r in o ? o[r] : void 0;
|
|
3472
|
+
}).filter(function(o) {
|
|
3473
|
+
return o !== void 0;
|
|
3474
3474
|
}));
|
|
3475
|
-
|
|
3475
|
+
i && (n[r] = i);
|
|
3476
3476
|
}), n;
|
|
3477
3477
|
}
|
|
3478
3478
|
function ee() {
|
|
3479
|
-
var
|
|
3479
|
+
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"] };
|
|
3480
3480
|
return Object.keys(e).forEach(function(n) {
|
|
3481
|
-
e[n].forEach(function(
|
|
3482
|
-
matchMedia("(".concat(n, ": ").concat(
|
|
3481
|
+
e[n].forEach(function(r) {
|
|
3482
|
+
matchMedia("(".concat(n, ": ").concat(r, ")")).matches && a.push("".concat(n, ": ").concat(r));
|
|
3483
3483
|
});
|
|
3484
|
-
}),
|
|
3484
|
+
}), a;
|
|
3485
3485
|
}
|
|
3486
3486
|
function te() {
|
|
3487
3487
|
if (window.location.protocol === "https:" && typeof window.ApplePaySession == "function") try {
|
|
3488
|
-
for (var
|
|
3488
|
+
for (var a = window.ApplePaySession.supportsVersion, e = 15; e > 0; e--) if (a(e)) return e;
|
|
3489
3489
|
} catch {
|
|
3490
3490
|
return 0;
|
|
3491
3491
|
}
|
|
3492
3492
|
return 0;
|
|
3493
3493
|
}
|
|
3494
3494
|
E().name != "Firefox" && v("fonts", function() {
|
|
3495
|
-
var
|
|
3495
|
+
var a = this;
|
|
3496
3496
|
return new Promise(function(e, n) {
|
|
3497
3497
|
try {
|
|
3498
|
-
(function(
|
|
3499
|
-
var
|
|
3500
|
-
|
|
3501
|
-
var
|
|
3502
|
-
return
|
|
3498
|
+
(function(r) {
|
|
3499
|
+
var i;
|
|
3500
|
+
y(this, void 0, void 0, function() {
|
|
3501
|
+
var o, t, u;
|
|
3502
|
+
return w(this, function(l) {
|
|
3503
3503
|
switch (l.label) {
|
|
3504
3504
|
case 0:
|
|
3505
|
-
return document.body ? [3, 2] : [4, (
|
|
3506
|
-
return setTimeout(
|
|
3505
|
+
return document.body ? [3, 2] : [4, (s = 50, new Promise(function(p) {
|
|
3506
|
+
return setTimeout(p, s, c);
|
|
3507
3507
|
}))];
|
|
3508
3508
|
case 1:
|
|
3509
3509
|
return l.sent(), [3, 0];
|
|
3510
3510
|
case 2:
|
|
3511
|
-
if ((
|
|
3512
|
-
return
|
|
3513
|
-
document.body.removeChild(
|
|
3511
|
+
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");
|
|
3512
|
+
return r({ iframe: u }), setTimeout(function() {
|
|
3513
|
+
document.body.removeChild(o);
|
|
3514
3514
|
}, 0), [2];
|
|
3515
3515
|
}
|
|
3516
|
-
var
|
|
3516
|
+
var s, c;
|
|
3517
3517
|
});
|
|
3518
3518
|
});
|
|
3519
|
-
})(function(
|
|
3520
|
-
var
|
|
3521
|
-
return
|
|
3522
|
-
var
|
|
3523
|
-
return
|
|
3524
|
-
return
|
|
3525
|
-
return k(t,
|
|
3526
|
-
}), l = {}, K.forEach(function(
|
|
3527
|
-
var
|
|
3528
|
-
u.includes(
|
|
3519
|
+
})(function(r) {
|
|
3520
|
+
var i = r.iframe;
|
|
3521
|
+
return y(a, void 0, void 0, function() {
|
|
3522
|
+
var o, t, u, l;
|
|
3523
|
+
return w(this, function(s) {
|
|
3524
|
+
return o = i.createElement("canvas"), t = o.getContext("2d"), u = J.map(function(c) {
|
|
3525
|
+
return k(t, c);
|
|
3526
|
+
}), l = {}, K.forEach(function(c) {
|
|
3527
|
+
var p = k(t, c);
|
|
3528
|
+
u.includes(p) || (l[c] = p);
|
|
3529
3529
|
}), e(l), [2];
|
|
3530
3530
|
});
|
|
3531
3531
|
});
|
|
@@ -3535,76 +3535,76 @@ E().name != "Firefox" && v("fonts", function() {
|
|
|
3535
3535
|
}
|
|
3536
3536
|
});
|
|
3537
3537
|
}), v("hardware", function() {
|
|
3538
|
-
return new Promise(function(
|
|
3539
|
-
var n = navigator.deviceMemory !== void 0 ? navigator.deviceMemory : 0,
|
|
3540
|
-
|
|
3538
|
+
return new Promise(function(a, e) {
|
|
3539
|
+
var n = navigator.deviceMemory !== void 0 ? navigator.deviceMemory : 0, r = window.performance && window.performance.memory ? window.performance.memory : 0;
|
|
3540
|
+
a({ videocard: X(), architecture: Y(), deviceMemory: n.toString() || "undefined", jsHeapSizeLimit: r.jsHeapSizeLimit || 0 });
|
|
3541
3541
|
});
|
|
3542
3542
|
}), v("locales", function() {
|
|
3543
|
-
return new Promise(function(
|
|
3544
|
-
|
|
3543
|
+
return new Promise(function(a) {
|
|
3544
|
+
a({ languages: navigator.language, timezone: Intl.DateTimeFormat().resolvedOptions().timeZone });
|
|
3545
3545
|
});
|
|
3546
3546
|
}), v("permissions", function() {
|
|
3547
|
-
return
|
|
3548
|
-
var
|
|
3549
|
-
return
|
|
3550
|
-
return
|
|
3547
|
+
return y(this, void 0, void 0, function() {
|
|
3548
|
+
var a;
|
|
3549
|
+
return w(this, function(e) {
|
|
3550
|
+
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() {
|
|
3551
3551
|
return function() {
|
|
3552
|
-
return
|
|
3553
|
-
var n,
|
|
3554
|
-
return
|
|
3552
|
+
return y(this, void 0, void 0, function() {
|
|
3553
|
+
var n, r, i, o, t;
|
|
3554
|
+
return w(this, function(u) {
|
|
3555
3555
|
switch (u.label) {
|
|
3556
3556
|
case 0:
|
|
3557
|
-
n = {},
|
|
3557
|
+
n = {}, r = 0, i = A, u.label = 1;
|
|
3558
3558
|
case 1:
|
|
3559
|
-
if (!(
|
|
3560
|
-
|
|
3559
|
+
if (!(r < i.length)) return [3, 6];
|
|
3560
|
+
o = i[r], u.label = 2;
|
|
3561
3561
|
case 2:
|
|
3562
|
-
return u.trys.push([2, 4, , 5]), [4, navigator.permissions.query({ name:
|
|
3562
|
+
return u.trys.push([2, 4, , 5]), [4, navigator.permissions.query({ name: o })];
|
|
3563
3563
|
case 3:
|
|
3564
|
-
return t = u.sent(), n[
|
|
3564
|
+
return t = u.sent(), n[o] = t.state.toString(), [3, 5];
|
|
3565
3565
|
case 4:
|
|
3566
3566
|
return u.sent(), [3, 5];
|
|
3567
3567
|
case 5:
|
|
3568
|
-
return
|
|
3568
|
+
return r++, [3, 1];
|
|
3569
3569
|
case 6:
|
|
3570
3570
|
return [2, n];
|
|
3571
3571
|
}
|
|
3572
3572
|
});
|
|
3573
3573
|
});
|
|
3574
3574
|
}();
|
|
3575
|
-
}), [2, Promise.all(
|
|
3576
|
-
return Z(n,
|
|
3575
|
+
}), [2, Promise.all(a).then(function(n) {
|
|
3576
|
+
return Z(n, A);
|
|
3577
3577
|
})];
|
|
3578
3578
|
});
|
|
3579
3579
|
});
|
|
3580
3580
|
}), v("plugins", function() {
|
|
3581
|
-
var
|
|
3581
|
+
var a = [];
|
|
3582
3582
|
if (navigator.plugins) for (var e = 0; e < navigator.plugins.length; e++) {
|
|
3583
3583
|
var n = navigator.plugins[e];
|
|
3584
|
-
|
|
3584
|
+
a.push([n.name, n.filename, n.description].join("|"));
|
|
3585
3585
|
}
|
|
3586
|
-
return new Promise(function(
|
|
3587
|
-
|
|
3586
|
+
return new Promise(function(r) {
|
|
3587
|
+
r({ plugins: a });
|
|
3588
3588
|
});
|
|
3589
3589
|
}), v("screen", function() {
|
|
3590
|
-
return new Promise(function(
|
|
3591
|
-
|
|
3590
|
+
return new Promise(function(a) {
|
|
3591
|
+
a({ is_touchscreen: navigator.maxTouchPoints > 0, maxTouchPoints: navigator.maxTouchPoints, colorDepth: screen.colorDepth, mediaMatches: ee() });
|
|
3592
3592
|
});
|
|
3593
3593
|
}), v("system", function() {
|
|
3594
|
-
return new Promise(function(
|
|
3594
|
+
return new Promise(function(a) {
|
|
3595
3595
|
var e = E();
|
|
3596
|
-
|
|
3596
|
+
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() });
|
|
3597
3597
|
});
|
|
3598
3598
|
});
|
|
3599
|
-
var
|
|
3599
|
+
var f, ne = E().name !== "SamsungBrowser" ? 1 : 3, d = null;
|
|
3600
3600
|
v("webgl", function() {
|
|
3601
|
-
return
|
|
3602
|
-
var
|
|
3603
|
-
return
|
|
3604
|
-
typeof document < "u" && ((
|
|
3601
|
+
return y(this, void 0, void 0, function() {
|
|
3602
|
+
var a;
|
|
3603
|
+
return w(this, function(e) {
|
|
3604
|
+
typeof document < "u" && ((f = document.createElement("canvas")).width = 200, f.height = 100, d = f.getContext("webgl"));
|
|
3605
3605
|
try {
|
|
3606
3606
|
if (!d) throw new Error("WebGL not supported");
|
|
3607
|
-
return
|
|
3607
|
+
return a = Array.from({ length: ne }, function() {
|
|
3608
3608
|
return function() {
|
|
3609
3609
|
try {
|
|
3610
3610
|
if (!d) throw new Error("WebGL not supported");
|
|
@@ -3613,36 +3613,36 @@ v("webgl", function() {
|
|
|
3613
3613
|
void main() {
|
|
3614
3614
|
gl_Position = vec4(position, 0.0, 1.0);
|
|
3615
3615
|
}
|
|
3616
|
-
`,
|
|
3616
|
+
`, r = `
|
|
3617
3617
|
precision mediump float;
|
|
3618
3618
|
void main() {
|
|
3619
3619
|
gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color
|
|
3620
3620
|
}
|
|
3621
|
-
`,
|
|
3622
|
-
if (!
|
|
3623
|
-
if (d.shaderSource(
|
|
3624
|
-
if (d.compileShader(
|
|
3621
|
+
`, i = d.createShader(d.VERTEX_SHADER), o = d.createShader(d.FRAGMENT_SHADER);
|
|
3622
|
+
if (!i || !o) throw new Error("Failed to create shaders");
|
|
3623
|
+
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));
|
|
3624
|
+
if (d.compileShader(o), !d.getShaderParameter(o, d.COMPILE_STATUS)) throw new Error("Fragment shader compilation failed: " + d.getShaderInfoLog(o));
|
|
3625
3625
|
var t = d.createProgram();
|
|
3626
3626
|
if (!t) throw new Error("Failed to create shader program");
|
|
3627
|
-
if (d.attachShader(t,
|
|
3627
|
+
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));
|
|
3628
3628
|
d.useProgram(t);
|
|
3629
|
-
for (var u = 137, l = new Float32Array(4 * u),
|
|
3630
|
-
var
|
|
3631
|
-
l[4 *
|
|
3629
|
+
for (var u = 137, l = new Float32Array(4 * u), s = 2 * Math.PI / u, c = 0; c < u; c++) {
|
|
3630
|
+
var p = c * s;
|
|
3631
|
+
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);
|
|
3632
3632
|
}
|
|
3633
3633
|
var L = d.createBuffer();
|
|
3634
3634
|
d.bindBuffer(d.ARRAY_BUFFER, L), d.bufferData(d.ARRAY_BUFFER, l, d.STATIC_DRAW);
|
|
3635
3635
|
var I = d.getAttribLocation(t, "position");
|
|
3636
|
-
d.enableVertexAttribArray(I), d.vertexAttribPointer(I, 2, d.FLOAT, !1, 0, 0), d.viewport(0, 0,
|
|
3637
|
-
var R = new Uint8ClampedArray(
|
|
3638
|
-
return d.readPixels(0, 0,
|
|
3636
|
+
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);
|
|
3637
|
+
var R = new Uint8ClampedArray(f.width * f.height * 4);
|
|
3638
|
+
return d.readPixels(0, 0, f.width, f.height, d.RGBA, d.UNSIGNED_BYTE, R), new ImageData(R, f.width, f.height);
|
|
3639
3639
|
} catch {
|
|
3640
3640
|
return new ImageData(1, 1);
|
|
3641
3641
|
} finally {
|
|
3642
3642
|
d && (d.bindBuffer(d.ARRAY_BUFFER, null), d.useProgram(null), d.viewport(0, 0, d.drawingBufferWidth, d.drawingBufferHeight), d.clearColor(0, 0, 0, 0));
|
|
3643
3643
|
}
|
|
3644
3644
|
}();
|
|
3645
|
-
}), [2, { commonImageHash:
|
|
3645
|
+
}), [2, { commonImageHash: _(U(a, f.width, f.height).data.toString()).toString() }];
|
|
3646
3646
|
} catch {
|
|
3647
3647
|
return [2, { webgl: "unsupported" }];
|
|
3648
3648
|
}
|
|
@@ -3650,15 +3650,15 @@ v("webgl", function() {
|
|
|
3650
3650
|
});
|
|
3651
3651
|
});
|
|
3652
3652
|
});
|
|
3653
|
-
var
|
|
3654
|
-
for (var
|
|
3655
|
-
|
|
3656
|
-
return
|
|
3653
|
+
var b = function(a, e, n, r) {
|
|
3654
|
+
for (var i = (n - e) / r, o = 0, t = 0; t < r; t++)
|
|
3655
|
+
o += a(e + (t + 0.5) * i);
|
|
3656
|
+
return o * i;
|
|
3657
3657
|
};
|
|
3658
3658
|
v("math", function() {
|
|
3659
|
-
return
|
|
3660
|
-
return
|
|
3661
|
-
return [2, { acos: Math.acos(0.5), asin:
|
|
3659
|
+
return y(void 0, void 0, void 0, function() {
|
|
3660
|
+
return w(this, function(a) {
|
|
3661
|
+
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) }];
|
|
3662
3662
|
});
|
|
3663
3663
|
});
|
|
3664
3664
|
});
|
|
@@ -3666,12 +3666,16 @@ v("math", function() {
|
|
|
3666
3666
|
const initialSearchcraftStateValues = {
|
|
3667
3667
|
adClientResponseItems: [],
|
|
3668
3668
|
core: undefined,
|
|
3669
|
+
hotkey: 'k',
|
|
3670
|
+
hotkeyModifier: 'meta',
|
|
3669
3671
|
logger: undefined,
|
|
3670
3672
|
facetPathsForIndexFields: {},
|
|
3673
|
+
initialQuery: '',
|
|
3674
|
+
initialSearchClientResponseItems: [],
|
|
3671
3675
|
isPopoverVisible: false,
|
|
3672
3676
|
isSearchInProgress: false,
|
|
3673
|
-
searchTerm: '',
|
|
3674
3677
|
rangeValueForIndexFields: {},
|
|
3678
|
+
searchTerm: '',
|
|
3675
3679
|
searchMode: 'fuzzy',
|
|
3676
3680
|
searchClientResponseItems: [],
|
|
3677
3681
|
searchResponseTimeTaken: undefined,
|
|
@@ -3680,37 +3684,47 @@ const initialSearchcraftStateValues = {
|
|
|
3680
3684
|
searchResultsPerPage: 20,
|
|
3681
3685
|
searchResultsPage: 1,
|
|
3682
3686
|
sortType: 'asc',
|
|
3687
|
+
// Callbacks
|
|
3688
|
+
afterInit: () => { },
|
|
3683
3689
|
};
|
|
3684
|
-
const searchcraftStore = zustand.createStore((
|
|
3690
|
+
const searchcraftStore = zustand.createStore((_set, get) => {
|
|
3685
3691
|
const functions = {
|
|
3686
|
-
|
|
3692
|
+
set: (state) => {
|
|
3693
|
+
_set(state);
|
|
3694
|
+
return get();
|
|
3695
|
+
},
|
|
3696
|
+
addFacetPathsForIndexField: (facetPaths) => functions.set((state) => ({
|
|
3687
3697
|
facetPathsForIndexFields: {
|
|
3688
3698
|
...state.facetPathsForIndexFields,
|
|
3689
|
-
[
|
|
3699
|
+
[facetPaths.fieldName]: facetPaths,
|
|
3690
3700
|
},
|
|
3691
3701
|
})),
|
|
3692
|
-
addRangeValueForIndexField: (
|
|
3702
|
+
addRangeValueForIndexField: (rangeValue) => functions.set((state) => ({
|
|
3693
3703
|
rangeValueForIndexFields: {
|
|
3694
3704
|
...state.rangeValueForIndexFields,
|
|
3695
|
-
[
|
|
3705
|
+
[rangeValue.fieldName]: rangeValue,
|
|
3696
3706
|
},
|
|
3697
3707
|
})),
|
|
3698
|
-
|
|
3708
|
+
getSearchcraftCore: () => {
|
|
3699
3709
|
const { core } = get();
|
|
3700
3710
|
return core;
|
|
3701
3711
|
},
|
|
3702
|
-
|
|
3703
|
-
const core = searchcraftInstance;
|
|
3712
|
+
init: (core, debug = false) => {
|
|
3704
3713
|
const logger = debug
|
|
3705
|
-
? new
|
|
3714
|
+
? new pe({ logLevel: F.DEBUG })
|
|
3706
3715
|
: undefined;
|
|
3707
|
-
set({
|
|
3716
|
+
const state = functions.set({
|
|
3708
3717
|
core,
|
|
3709
3718
|
logger,
|
|
3710
|
-
searchResultsPerPage: core
|
|
3719
|
+
searchResultsPerPage: core?.config.searchResultsPerPage || 20,
|
|
3720
|
+
});
|
|
3721
|
+
core?.subscribe('initialized', () => {
|
|
3722
|
+
if (state.afterInit) {
|
|
3723
|
+
state.afterInit(state);
|
|
3724
|
+
}
|
|
3711
3725
|
});
|
|
3712
3726
|
},
|
|
3713
|
-
removeFacetPathsForIndexField: (fieldName) => set((state) => {
|
|
3727
|
+
removeFacetPathsForIndexField: (fieldName) => functions.set((state) => {
|
|
3714
3728
|
const currentPaths = state.facetPathsForIndexFields;
|
|
3715
3729
|
delete currentPaths[fieldName];
|
|
3716
3730
|
return {
|
|
@@ -3719,7 +3733,7 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
3719
3733
|
},
|
|
3720
3734
|
};
|
|
3721
3735
|
}),
|
|
3722
|
-
removeRangeValueForIndexField: (fieldName) => set((state) => {
|
|
3736
|
+
removeRangeValueForIndexField: (fieldName) => functions.set((state) => {
|
|
3723
3737
|
const currentValues = state.rangeValueForIndexFields;
|
|
3724
3738
|
delete currentValues[fieldName];
|
|
3725
3739
|
return {
|
|
@@ -3729,19 +3743,19 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
3729
3743
|
};
|
|
3730
3744
|
}),
|
|
3731
3745
|
resetFacetPaths: () => {
|
|
3732
|
-
set({
|
|
3746
|
+
functions.set({
|
|
3733
3747
|
facetPathsForIndexFields: {},
|
|
3734
3748
|
});
|
|
3735
3749
|
},
|
|
3736
3750
|
search: async () => {
|
|
3737
3751
|
const state = get();
|
|
3738
|
-
state.logger?.log(
|
|
3752
|
+
state.logger?.log(F.INFO, `Starting search with search term: "${state.searchTerm}"`);
|
|
3739
3753
|
if (!state.core) {
|
|
3740
3754
|
throw new Error('Searchcraft instance is not initialized.');
|
|
3741
3755
|
}
|
|
3742
3756
|
if (!state.searchTerm.trim()) {
|
|
3743
|
-
state.logger?.log(
|
|
3744
|
-
set({
|
|
3757
|
+
state.logger?.log(F.INFO, 'No search request was made: search term was empty.');
|
|
3758
|
+
functions.set({
|
|
3745
3759
|
searchClientResponseItems: [],
|
|
3746
3760
|
searchResultsCount: 0,
|
|
3747
3761
|
searchResultsPage: 1,
|
|
@@ -3749,32 +3763,8 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
3749
3763
|
});
|
|
3750
3764
|
return;
|
|
3751
3765
|
}
|
|
3752
|
-
set({ isSearchInProgress: true });
|
|
3753
|
-
|
|
3754
|
-
const facetsFromResponse = response.data.facets;
|
|
3755
|
-
set((state) => {
|
|
3756
|
-
return {
|
|
3757
|
-
isSearchInProgress: false,
|
|
3758
|
-
searchClientResponseItems: items,
|
|
3759
|
-
searchResponseTimeTaken: response.data.time_taken || 0,
|
|
3760
|
-
searchResultsPage:
|
|
3761
|
-
// reset to first page when response count changes
|
|
3762
|
-
response.data.count === state.searchResultsCount
|
|
3763
|
-
? state.searchResultsPage
|
|
3764
|
-
: 1,
|
|
3765
|
-
searchResultsCount: response.data.count || 0,
|
|
3766
|
-
};
|
|
3767
|
-
});
|
|
3768
|
-
if (facetsFromResponse) {
|
|
3769
|
-
set({ searchResponseFacetPrime: facetsFromResponse });
|
|
3770
|
-
}
|
|
3771
|
-
state.logger?.log(P.DEBUG, `Search results: ${JSON.stringify(items)}`);
|
|
3772
|
-
state.logger?.log(P.DEBUG, `Facets from response: ${JSON.stringify(facetsFromResponse)}`);
|
|
3773
|
-
};
|
|
3774
|
-
const handleAdResponse = (adClientResponseItems) => {
|
|
3775
|
-
set({ adClientResponseItems });
|
|
3776
|
-
};
|
|
3777
|
-
state.core.getItems({
|
|
3766
|
+
functions.set({ isSearchInProgress: true });
|
|
3767
|
+
state.core.getResponseItems({
|
|
3778
3768
|
searchTerm: state.searchTerm,
|
|
3779
3769
|
mode: state.searchMode,
|
|
3780
3770
|
sort: state.sortType,
|
|
@@ -3784,15 +3774,55 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
3784
3774
|
? state.searchResultsPerPage * (state.searchResultsPage - 1)
|
|
3785
3775
|
: 0,
|
|
3786
3776
|
limit: state.searchResultsPerPage,
|
|
3787
|
-
},
|
|
3777
|
+
}, functions.setSearchClientResponseItemsFromResponse, functions.setAdClientResponseItems);
|
|
3788
3778
|
},
|
|
3789
|
-
|
|
3790
|
-
|
|
3791
|
-
|
|
3779
|
+
setAdClientResponseItems: (items) => functions.set({ adClientResponseItems: items }),
|
|
3780
|
+
setSearchClientResponseItemsFromResponse: (response, items) => {
|
|
3781
|
+
const { facets, count = 0, time_taken = 0 } = response.data;
|
|
3782
|
+
const state = functions.set((state) => {
|
|
3783
|
+
return {
|
|
3784
|
+
isSearchInProgress: false,
|
|
3785
|
+
searchClientResponseItems: items,
|
|
3786
|
+
searchResponseTimeTaken: time_taken,
|
|
3787
|
+
searchResultsPage:
|
|
3788
|
+
// Reset to first page when response count changes
|
|
3789
|
+
count === state.searchResultsCount ? state.searchResultsPage : 1,
|
|
3790
|
+
searchResultsCount: count,
|
|
3791
|
+
...(facets && { searchResponseFacetPrime: facets }),
|
|
3792
|
+
};
|
|
3792
3793
|
});
|
|
3794
|
+
state.logger?.log(F.DEBUG, `Search results: ${JSON.stringify(items)}`);
|
|
3795
|
+
state.logger?.log(F.DEBUG, `Facets from response: ${JSON.stringify(facets)}`);
|
|
3796
|
+
},
|
|
3797
|
+
setInitialSearchClientResponseItemsFromResponse: (response, items) => {
|
|
3798
|
+
const state = get();
|
|
3799
|
+
const { count = 0, time_taken = 0 } = response.data;
|
|
3800
|
+
functions.set((state) => {
|
|
3801
|
+
return {
|
|
3802
|
+
isSearchInProgress: false,
|
|
3803
|
+
initialSearchClientResponseItems: items,
|
|
3804
|
+
searchResponseTimeTaken: time_taken,
|
|
3805
|
+
searchResultsPage:
|
|
3806
|
+
// Reset to first page when response count changes
|
|
3807
|
+
count === state.searchResultsCount ? state.searchResultsPage : 1,
|
|
3808
|
+
searchResultsCount: count,
|
|
3809
|
+
};
|
|
3810
|
+
});
|
|
3811
|
+
state.logger?.log(F.DEBUG, `Search results: ${JSON.stringify(items)}`);
|
|
3812
|
+
},
|
|
3813
|
+
setInitialQuery: async (query) => {
|
|
3814
|
+
const state = functions.set({ initialQuery: query });
|
|
3815
|
+
state.logger?.log(F.INFO, `Starting search with query: "${state.initialQuery}"`);
|
|
3816
|
+
if (!state.core) {
|
|
3817
|
+
throw new Error('Searchcraft instance is not initialized.');
|
|
3818
|
+
}
|
|
3819
|
+
await state.core.getResponseItems(query, functions.setInitialSearchClientResponseItemsFromResponse, functions.setAdClientResponseItems);
|
|
3793
3820
|
},
|
|
3794
|
-
|
|
3795
|
-
|
|
3821
|
+
setPopoverVisibility: (isVisible) => functions.set({
|
|
3822
|
+
isPopoverVisible: isVisible,
|
|
3823
|
+
}),
|
|
3824
|
+
setSearchMode: (mode) => functions.set({ searchMode: mode }),
|
|
3825
|
+
setSortType: (type) => functions.set({ sortType: type }),
|
|
3796
3826
|
setSearchTerm: (searchTerm) => {
|
|
3797
3827
|
const { core } = get();
|
|
3798
3828
|
if (searchTerm.length === 0) {
|
|
@@ -3801,7 +3831,7 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
3801
3831
|
/**
|
|
3802
3832
|
* When a new searchTerm is set, also reset the sort type, search mode, and facet paths.
|
|
3803
3833
|
*/
|
|
3804
|
-
set({
|
|
3834
|
+
functions.set({
|
|
3805
3835
|
searchTerm,
|
|
3806
3836
|
facetPathsForIndexFields: {},
|
|
3807
3837
|
...(searchTerm.trim().length === 0 && {
|
|
@@ -3810,15 +3840,23 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
3810
3840
|
}),
|
|
3811
3841
|
});
|
|
3812
3842
|
},
|
|
3813
|
-
setSearchClientResponseItems: (items) => set({ searchClientResponseItems: items }),
|
|
3843
|
+
setSearchClientResponseItems: (items) => functions.set({ searchClientResponseItems: items }),
|
|
3844
|
+
setSearchResultsCount: (count) => functions.set({ searchResultsCount: count }),
|
|
3814
3845
|
setSearchResultsPage: async (page) => {
|
|
3815
|
-
set({ searchResultsPage: page });
|
|
3846
|
+
functions.set({ searchResultsPage: page });
|
|
3816
3847
|
await functions.search();
|
|
3817
3848
|
},
|
|
3818
3849
|
setSearchResultsPerPage: async (perPage) => {
|
|
3819
|
-
set({ searchResultsPerPage: perPage });
|
|
3850
|
+
functions.set({ searchResultsPerPage: perPage });
|
|
3820
3851
|
await functions.search();
|
|
3821
3852
|
},
|
|
3853
|
+
setHotKeyAndHotKeyModifier: (hotkey, hotkeyModifier) => {
|
|
3854
|
+
const { hotkey: initialHotkey, hotkeyModifier: initialHotkeyModifier } = initialSearchcraftStateValues;
|
|
3855
|
+
functions.set({
|
|
3856
|
+
hotkey: hotkey || initialHotkey,
|
|
3857
|
+
hotkeyModifier: hotkeyModifier || initialHotkeyModifier,
|
|
3858
|
+
});
|
|
3859
|
+
},
|
|
3822
3860
|
};
|
|
3823
3861
|
const stateObject = {
|
|
3824
3862
|
...initialSearchcraftStateValues,
|
|
@@ -3957,7 +3995,6 @@ function mergeFacetRoots(fieldName, currentRoot, incomingRoot) {
|
|
|
3957
3995
|
|
|
3958
3996
|
/**
|
|
3959
3997
|
* Given a document and a SearchResultMapping, return a mapped value from the document.
|
|
3960
|
-
*
|
|
3961
3998
|
* Applies formatting based on the values specified in the `SearchResultFieldName` values.
|
|
3962
3999
|
*
|
|
3963
4000
|
* @param document
|
|
@@ -3972,8 +4009,7 @@ function getDocumentValueFromSearchResultMapping(document, mapping) {
|
|
|
3972
4009
|
if (valueFound) {
|
|
3973
4010
|
switch (fieldNameDetails.dataType) {
|
|
3974
4011
|
case 'date': {
|
|
3975
|
-
|
|
3976
|
-
valueFound = getFormattedTimeFromNow(valueFound);
|
|
4012
|
+
valueFound = formatRelativeDate(valueFound, fieldNameDetails.dateFormatLocale, fieldNameDetails.dateFormatOptions);
|
|
3977
4013
|
break;
|
|
3978
4014
|
}
|
|
3979
4015
|
case 'number': {
|
|
@@ -3988,6 +4024,12 @@ function getDocumentValueFromSearchResultMapping(document, mapping) {
|
|
|
3988
4024
|
.join(mapping.delimiter || ' ');
|
|
3989
4025
|
}
|
|
3990
4026
|
}
|
|
4027
|
+
/**
|
|
4028
|
+
* Convert different units of time to milliseconds.
|
|
4029
|
+
*
|
|
4030
|
+
* @param unit - The unit of time
|
|
4031
|
+
* @returns {number}
|
|
4032
|
+
*/
|
|
3991
4033
|
function getMillis(unit) {
|
|
3992
4034
|
const millisInHour = 60 * 60 * 1000;
|
|
3993
4035
|
const millisInDay = 24 * millisInHour;
|
|
@@ -4006,34 +4048,51 @@ function getMillis(unit) {
|
|
|
4006
4048
|
return 3600000;
|
|
4007
4049
|
}
|
|
4008
4050
|
}
|
|
4051
|
+
/**
|
|
4052
|
+
* Format a number with commas as thousands separators.
|
|
4053
|
+
*
|
|
4054
|
+
* @param number - The number to be formatted.
|
|
4055
|
+
* @returns {string} - The formatted number as a string.
|
|
4056
|
+
*/
|
|
4009
4057
|
function formatNumberWithCommas(number) {
|
|
4010
4058
|
return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
|
4011
4059
|
}
|
|
4012
4060
|
/**
|
|
4013
|
-
*
|
|
4014
|
-
*
|
|
4061
|
+
* Format a date or date string. The string is formatted relative to today's date
|
|
4062
|
+
* (e.g. 2 days ago) until the date range is greater than a month.
|
|
4015
4063
|
*
|
|
4016
|
-
* @param
|
|
4017
|
-
* @
|
|
4064
|
+
* @param dateInput - The date to be formatted.
|
|
4065
|
+
* @param locale - The language used for formatting the date.
|
|
4066
|
+
* @param options - The non-default options used for formatting the date.
|
|
4067
|
+
* @returns {string} - The formatted date as a string.
|
|
4018
4068
|
*/
|
|
4019
|
-
function
|
|
4069
|
+
function formatRelativeDate(dateInput, locale = 'en-US', options = {
|
|
4070
|
+
day: 'numeric',
|
|
4071
|
+
month: 'long',
|
|
4072
|
+
year: 'numeric',
|
|
4073
|
+
}) {
|
|
4074
|
+
const date = new Date(dateInput);
|
|
4020
4075
|
const now = new Date();
|
|
4021
|
-
const
|
|
4022
|
-
const
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
|
|
4026
|
-
|
|
4027
|
-
|
|
4028
|
-
|
|
4029
|
-
|
|
4030
|
-
|
|
4031
|
-
|
|
4032
|
-
|
|
4033
|
-
|
|
4034
|
-
|
|
4076
|
+
const diffMillis = now.getTime() - date.getTime();
|
|
4077
|
+
const oneMonthInMillis = 30 * 24 * 60 * 60 * 1000; // Approx. 1 month in ms
|
|
4078
|
+
if (diffMillis < oneMonthInMillis) {
|
|
4079
|
+
const diffSeconds = Math.trunc(diffMillis / 1000);
|
|
4080
|
+
const diffMinutes = Math.trunc(diffSeconds / 60);
|
|
4081
|
+
const diffHours = Math.trunc(diffMinutes / 60);
|
|
4082
|
+
const diffDays = Math.trunc(diffHours / 24);
|
|
4083
|
+
const relativeTimeFormat = new Intl.RelativeTimeFormat(locale, options);
|
|
4084
|
+
if (diffDays >= 1) {
|
|
4085
|
+
return relativeTimeFormat.format(-diffDays, 'day');
|
|
4086
|
+
}
|
|
4087
|
+
if (diffHours >= 1) {
|
|
4088
|
+
return relativeTimeFormat.format(-diffHours, 'hour');
|
|
4089
|
+
}
|
|
4090
|
+
if (diffMinutes >= 1) {
|
|
4091
|
+
return relativeTimeFormat.format(-diffMinutes, 'minute');
|
|
4092
|
+
}
|
|
4093
|
+
return relativeTimeFormat.format(0, 'second');
|
|
4035
4094
|
}
|
|
4036
|
-
return
|
|
4095
|
+
return new Intl.DateTimeFormat(locale, options).format(date);
|
|
4037
4096
|
}
|
|
4038
4097
|
|
|
4039
4098
|
var purify = {exports: {}};
|
|
@@ -5533,13 +5592,13 @@ class SearchcraftFacetList {
|
|
|
5533
5592
|
const isChildSelected = facetChild.children
|
|
5534
5593
|
? facetChild.children?.some((child) => this.selectedPaths[child.path])
|
|
5535
5594
|
: false;
|
|
5536
|
-
return (hAsync("div", { key: facetChild.path, class: 'searchcraft-facet-list-item' }, hAsync("label", { class: 'searchcraft-facet-list-checkbox-label' }, hAsync("input", { class: 'searchcraft-facet-list-checkbox-input', checked: this.selectedPaths[facetChild.path], onChange: (_event) => this.handleCheckboxChange(facetChild.path), type: 'checkbox' }), isChildSelected ? (hAsync("div", { class: 'searchcraft-facet-list-checkbox-input-dash-icon' }, hAsync("svg", { width: '14', height: '3', viewBox: '0 0 14 3', fill: 'none' }, hAsync("title", null, "Checkbox dash"), hAsync("line", { x1: '1.5', y1: '1.5', x2: '12.5', y2: '1.5', stroke: 'white', "stroke-width": '3', "stroke-linecap": 'round' })))) : (hAsync("div", { class: 'searchcraft-facet-list-checkbox-input-check-icon' }, hAsync("svg", { width: '16', height: '16', viewBox: '0 0 16 16', fill: 'none' }, hAsync("title", null, "Checkbox check"), hAsync("path", { d: 'M13.9999 2L5.74988 10L1.99988 6.36364', stroke: 'white', "stroke-width": '3', "stroke-linecap": 'round', "stroke-linejoin": 'round' })))), this.formatLabel(facetChild)), facetChild.children && facetChild.children.length > 0 && (hAsync(
|
|
5595
|
+
return (hAsync("div", { key: facetChild.path, class: 'searchcraft-facet-list-item' }, hAsync("label", { class: 'searchcraft-facet-list-checkbox-label' }, hAsync("div", { class: 'searchcraft-facet-list-checkbox-input-wrapper' }, hAsync("input", { class: 'searchcraft-facet-list-checkbox-input', checked: this.selectedPaths[facetChild.path], onChange: (_event) => this.handleCheckboxChange(facetChild.path), type: 'checkbox' }), isChildSelected ? (hAsync("div", { class: 'searchcraft-facet-list-checkbox-input-dash-icon' }, hAsync("svg", { width: '14', height: '3', viewBox: '0 0 14 3', fill: 'none' }, hAsync("title", null, "Checkbox dash"), hAsync("line", { x1: '1.5', y1: '1.5', x2: '12.5', y2: '1.5', stroke: 'white', "stroke-width": '3', "stroke-linecap": 'round' })))) : (hAsync("div", { class: 'searchcraft-facet-list-checkbox-input-check-icon' }, hAsync("svg", { width: '16', height: '16', viewBox: '0 0 16 16', fill: 'none' }, hAsync("title", null, "Checkbox check"), hAsync("path", { d: 'M13.9999 2L5.74988 10L1.99988 6.36364', stroke: 'white', "stroke-width": '3', "stroke-linecap": 'round', "stroke-linejoin": 'round' }))))), this.formatLabel(facetChild)), facetChild.children && facetChild.children.length > 0 && (hAsync("div", { class: 'searchcraft-facet-child-list' }, facetChild.children.map((grandchild) => (hAsync("label", { key: grandchild.path, class: 'searchcraft-facet-list-checkbox-label searchcraft-facet-child-list-checkbox-label', style: {
|
|
5537
5596
|
display: this.selectedPaths[facetChild.path]
|
|
5538
5597
|
? 'flex'
|
|
5539
5598
|
: 'none',
|
|
5540
|
-
} }, hAsync("
|
|
5599
|
+
} }, hAsync("div", { class: 'searchcraft-facet-list-checkbox-input-wrapper searchcraft-facet-child-list-checkbox-input-wrapper' }, hAsync("input", { class: 'searchcraft-facet-list-checkbox-input searchcraft-facet-child-list-checkbox-input', checked: this.selectedPaths[grandchild.path], onChange: (_event) => {
|
|
5541
5600
|
this.handleCheckboxChange(grandchild.path);
|
|
5542
|
-
}, type: 'checkbox' }), hAsync("div", { class: 'searchcraft-facet-list-checkbox-input-check-icon searchcraft-facet-list-
|
|
5601
|
+
}, type: 'checkbox' }), hAsync("div", { class: 'searchcraft-facet-list-checkbox-input-check-icon searchcraft-facet-child-list-checkbox-input-check-icon' }, hAsync("svg", { width: '16', height: '16', viewBox: '0 0 16 16', fill: 'none' }, hAsync("title", null, "Checkbox check"), hAsync("path", { d: 'M13.9999 2L5.74988 10L1.99988 6.36364', stroke: 'white', "stroke-width": '3', "stroke-linecap": 'round', "stroke-linejoin": 'round' })))), this.formatSubLabel(grandchild, facetChild))))))));
|
|
5543
5602
|
})));
|
|
5544
5603
|
}
|
|
5545
5604
|
static get cmpMeta() { return {
|
|
@@ -5550,12 +5609,7 @@ class SearchcraftFacetList {
|
|
|
5550
5609
|
"baseFacetRoot": [32],
|
|
5551
5610
|
"facetRoot": [32],
|
|
5552
5611
|
"selectedPaths": [32],
|
|
5553
|
-
"lastTimeTaken": [32]
|
|
5554
|
-
"hasNewSearchTerm": [32],
|
|
5555
|
-
"lastSearchTerm": [32],
|
|
5556
|
-
"lastSearchMode": [32],
|
|
5557
|
-
"lastSortType": [32],
|
|
5558
|
-
"unsubscribe": [32]
|
|
5612
|
+
"lastTimeTaken": [32]
|
|
5559
5613
|
},
|
|
5560
5614
|
"$listeners$": undefined,
|
|
5561
5615
|
"$lazyBundleId$": "-",
|
|
@@ -5566,12 +5620,13 @@ class SearchcraftFacetList {
|
|
|
5566
5620
|
/**
|
|
5567
5621
|
* This web component represents a series of filters that allows users to refine and control their search queries by applying various filter criteria.
|
|
5568
5622
|
*
|
|
5569
|
-
* @import
|
|
5623
|
+
* @react-import
|
|
5570
5624
|
* ```jsx
|
|
5571
|
-
* // react
|
|
5572
5625
|
* import { SearchcraftFilterPanel } from "@searchcraft/react-sdk";
|
|
5626
|
+
* ```
|
|
5573
5627
|
*
|
|
5574
|
-
*
|
|
5628
|
+
* @vue-import
|
|
5629
|
+
* ```jsx
|
|
5575
5630
|
* import { SearchcraftFilterPanel } from "@searchcraft/vue-sdk";
|
|
5576
5631
|
* ```
|
|
5577
5632
|
*
|
|
@@ -5659,7 +5714,7 @@ class SearchcraftFilterPanel {
|
|
|
5659
5714
|
* Iterate through `items` and render them based on `type`
|
|
5660
5715
|
*/
|
|
5661
5716
|
render() {
|
|
5662
|
-
return (hAsync("div", { key: '
|
|
5717
|
+
return (hAsync("div", { key: '22344fe9d0554894bff8c2c6afe12661bf7f20d0', class: 'searchcraft-filter-panel' }, this.items.map((filterItem) => {
|
|
5663
5718
|
switch (filterItem.type) {
|
|
5664
5719
|
case 'dateRange': {
|
|
5665
5720
|
const item = filterItem;
|
|
@@ -5718,12 +5773,13 @@ class SearchcraftFilterPanel {
|
|
|
5718
5773
|
* This web component provides a user-friendly interface for querying an indexed dataset, enabling users to easily search large collections of data.
|
|
5719
5774
|
* It abstracts the complexities of index-based searching, making it accessible to users of all technical levels.
|
|
5720
5775
|
*
|
|
5721
|
-
* @import
|
|
5776
|
+
* @react-import
|
|
5722
5777
|
* ```jsx
|
|
5723
|
-
* // react
|
|
5724
5778
|
* import { SearchcraftInputForm } from "@searchcraft/react-sdk";
|
|
5779
|
+
* ```
|
|
5725
5780
|
*
|
|
5726
|
-
*
|
|
5781
|
+
* @vue-import
|
|
5782
|
+
* ```jsx
|
|
5727
5783
|
* import { SearchcraftInputForm } from "@searchcraft/vue-sdk";
|
|
5728
5784
|
* ```
|
|
5729
5785
|
*
|
|
@@ -5785,20 +5841,31 @@ class SearchcraftInputForm {
|
|
|
5785
5841
|
searchTerm = '';
|
|
5786
5842
|
error = false;
|
|
5787
5843
|
core;
|
|
5788
|
-
|
|
5844
|
+
searchcraftStore = searchcraftStore.getState();
|
|
5845
|
+
unsubscribe = () => { };
|
|
5789
5846
|
init() {
|
|
5790
5847
|
if (this.core) {
|
|
5791
|
-
this.
|
|
5848
|
+
this.searchcraftStore.init(this.core);
|
|
5792
5849
|
this.inputInit?.emit();
|
|
5793
5850
|
}
|
|
5794
5851
|
}
|
|
5795
|
-
|
|
5852
|
+
onCoreChange() {
|
|
5796
5853
|
this.init();
|
|
5797
5854
|
}
|
|
5798
|
-
|
|
5855
|
+
connectedCallback() {
|
|
5799
5856
|
this.init();
|
|
5800
5857
|
}
|
|
5801
|
-
|
|
5858
|
+
componentDidLoad() {
|
|
5859
|
+
this.unsubscribe = searchcraftStore.subscribe((state) => {
|
|
5860
|
+
this.searchTerm = state.searchTerm;
|
|
5861
|
+
this.inputValue = state.searchTerm;
|
|
5862
|
+
});
|
|
5863
|
+
}
|
|
5864
|
+
disconnectedCallback() {
|
|
5865
|
+
this.handleReset();
|
|
5866
|
+
this.unsubscribe?.();
|
|
5867
|
+
}
|
|
5868
|
+
handleInput = (event) => {
|
|
5802
5869
|
const input = event.target;
|
|
5803
5870
|
this.inputValue = input.value;
|
|
5804
5871
|
if (!this.autoSearch) {
|
|
@@ -5806,31 +5873,32 @@ class SearchcraftInputForm {
|
|
|
5806
5873
|
}
|
|
5807
5874
|
this.performSearch(input.value);
|
|
5808
5875
|
};
|
|
5809
|
-
performSearch = async (
|
|
5810
|
-
if (
|
|
5876
|
+
performSearch = async (searchTerm) => {
|
|
5877
|
+
if (searchTerm === this.searchTerm) {
|
|
5811
5878
|
return;
|
|
5812
5879
|
}
|
|
5813
|
-
this.searchTerm
|
|
5880
|
+
this.searchcraftStore.setSearchTerm(searchTerm.trim());
|
|
5814
5881
|
this.error = false;
|
|
5815
|
-
this.searchStore.setSearchTerm(this.searchTerm);
|
|
5816
5882
|
try {
|
|
5817
|
-
await this.
|
|
5883
|
+
await this.searchcraftStore.search();
|
|
5818
5884
|
}
|
|
5819
5885
|
catch (error) {
|
|
5820
|
-
console.
|
|
5886
|
+
console.error(`Search for ${searchTerm} failed:`, error);
|
|
5821
5887
|
this.error = true;
|
|
5822
5888
|
}
|
|
5823
5889
|
};
|
|
5824
|
-
|
|
5825
|
-
this.
|
|
5826
|
-
this.
|
|
5827
|
-
this.
|
|
5828
|
-
this.searchStore.setSearchClientResponseItems([]);
|
|
5890
|
+
handleReset = () => {
|
|
5891
|
+
this.searchcraftStore.setSearchResultsCount(0);
|
|
5892
|
+
this.searchcraftStore.setSearchTerm('');
|
|
5893
|
+
this.searchcraftStore.setSearchClientResponseItems([]);
|
|
5829
5894
|
this.error = false;
|
|
5830
5895
|
};
|
|
5896
|
+
handleClearInput = () => {
|
|
5897
|
+
this.handleReset();
|
|
5898
|
+
};
|
|
5831
5899
|
handleFormSubmit = async (event) => {
|
|
5832
5900
|
event.preventDefault();
|
|
5833
|
-
await this.performSearch(this.
|
|
5901
|
+
await this.performSearch(this.inputValue);
|
|
5834
5902
|
};
|
|
5835
5903
|
render() {
|
|
5836
5904
|
const isShowingClearButton = this.inputValue.length > 0;
|
|
@@ -5843,9 +5911,9 @@ class SearchcraftInputForm {
|
|
|
5843
5911
|
const inputGridStyles = {
|
|
5844
5912
|
gap: shouldHaveVerticalGap ? '4px 8px' : '0px 8px',
|
|
5845
5913
|
};
|
|
5846
|
-
return (hAsync("form", { key: '
|
|
5847
|
-
this.
|
|
5848
|
-
}, placeholder: this.placeholderValue, type: 'text', value: this.inputValue }), hAsync("div", { key: '
|
|
5914
|
+
return (hAsync("form", { key: '6af89b2ab634e0f3e0ef575f98f33d091602f95a', class: 'searchcraft-input-form', onSubmit: this.handleFormSubmit }, hAsync("div", { key: '93fea8e2b80468afeb6014122d5b749d74bfaf35', class: inputGridClassNames, style: inputGridStyles }, hAsync("div", { key: '1e5a416843b99aec68c4672a9c78f607347dc9d1', class: 'searchcraft-input-form-button' }, hAsync("searchcraft-button", { key: 'c38c1df0ce20f914ed76fbc0acad5a22b40e6fff', onButtonClick: this.handleFormSubmit, label: this.buttonLabel })), this.inputLabel && (hAsync("div", { key: '2169a4466b0fdc8075c0dc74da442aef28a84d65', class: 'searchcraft-input-form-label' }, hAsync("searchcraft-input-label", { key: 'a263b5aa2a4d50d297f06c1fe9e6afb64763f097', label: this.inputLabel }))), this.error && (hAsync("div", { key: '49be2ac0f2d01916e5ea533e6406ee9d4d932178', class: 'searchcraft-input-form-error-message' }, hAsync("searchcraft-error-message", { key: '310c9aebcf580d4abe92d288c6b70a5adf083f8e' }, "Something went wrong."))), hAsync("div", { key: 'f4702e368815e049586e97cf59541b2dc5460fc0', class: 'searchcraft-input-form-input-wrapper' }, hAsync("input", { key: 'a8cddd5e937eee1d30fb98eaaa3dbffe96c192ce', autoComplete: 'off', class: 'searchcraft-input-form-input', onFocus: () => this.inputFocus?.emit(), onBlur: () => this.inputBlur?.emit(), onInput: (event) => {
|
|
5915
|
+
this.handleInput(event);
|
|
5916
|
+
}, placeholder: this.placeholderValue, type: 'text', value: this.inputValue }), hAsync("div", { key: '616b4dde1ba016cf6a2fba8594a99a3a3f584ef5', class: 'searchcraft-input-form-input-icon' }, hAsync("svg", { key: 'daaef561677a06a76813375e429be7e053b8b122', class: 'searchcraft-input-form-input-search-icon', viewBox: '0 0 20 20', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', "aria-labelledby": 'searchcraft-title' }, hAsync("title", { key: 'e6d82ca64dd9bfc663813c239d11e5652aa0b9a1' }, "Search icon"), hAsync("path", { key: '1df856c98c2063c1d0c80027255935f73b513939', d: 'M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z', stroke: 'currentColor', "stroke-width": '1.5', "stroke-linecap": 'round', "stroke-linejoin": 'round' }))), isShowingClearButton && (hAsync("button", { key: '8dd6dfefe0ba909657bd436b559ce35b5004f9ae', type: 'button', class: 'searchcraft-input-form-clear-button', onClick: this.handleClearInput }, hAsync("svg", { key: 'bcdba04d5c0949cacc8e1962d2b3cd40ad995de6', class: 'searchcraft-input-form-clear-icon', viewBox: '0 0 22 22', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', "aria-labelledby": 'icon-title' }, hAsync("title", { key: 'e01e7fb9b23daf9434520c4c68c0d7539b37d1f8' }, "Clear icon"), hAsync("path", { key: 'ce526d332b6e352cd9cf6008ee2f7497c6769782', d: 'M14 8L8 14M8 8L14 14M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z', stroke: 'currentColor', "stroke-width": '1.5', "stroke-linecap": 'round', "stroke-linejoin": 'round' }))))))));
|
|
5849
5917
|
}
|
|
5850
5918
|
static get watchers() { return {
|
|
5851
5919
|
"core": ["onCoreChange"]
|
|
@@ -5908,12 +5976,13 @@ class SearchcraftInputLabel {
|
|
|
5908
5976
|
/**
|
|
5909
5977
|
* This web component is designed to facilitate pagination of search results. Once a query is submitted, calculates the number for pages.
|
|
5910
5978
|
*
|
|
5911
|
-
* @import
|
|
5979
|
+
* @react-import
|
|
5912
5980
|
* ```jsx
|
|
5913
|
-
* // react
|
|
5914
5981
|
* import { SearchcraftPagination } from "@searchcraft/react-sdk";
|
|
5982
|
+
* ```
|
|
5915
5983
|
*
|
|
5916
|
-
*
|
|
5984
|
+
* @vue-import
|
|
5985
|
+
* ```jsx
|
|
5917
5986
|
* import { SearchcraftPagination } from "@searchcraft/vue-sdk";
|
|
5918
5987
|
* ```
|
|
5919
5988
|
*
|
|
@@ -6042,32 +6111,51 @@ class SearchcraftPagination {
|
|
|
6042
6111
|
/**
|
|
6043
6112
|
* Renders a button which, when clicked, turns on popover visibility.
|
|
6044
6113
|
*
|
|
6045
|
-
* @import
|
|
6114
|
+
* @react-import
|
|
6046
6115
|
* ```jsx
|
|
6047
|
-
* // react
|
|
6048
6116
|
* import { SearchcraftPopoverButton } from "@searchcraft/react-sdk";
|
|
6117
|
+
* ````
|
|
6049
6118
|
*
|
|
6050
|
-
*
|
|
6119
|
+
* @vue-import
|
|
6120
|
+
* ```jsx
|
|
6051
6121
|
* import { SearchcraftPopoverButton } from "@searchcraft/vue-sdk";
|
|
6052
6122
|
* ```
|
|
6053
6123
|
*
|
|
6054
6124
|
* @js-example
|
|
6055
6125
|
* ```html
|
|
6126
|
+
* <!-- index.html -->
|
|
6056
6127
|
* <searchcraft-popover-button>
|
|
6057
6128
|
* Open popover
|
|
6058
6129
|
* </searchcraft-popover-button>
|
|
6059
6130
|
* ```
|
|
6060
6131
|
*
|
|
6132
|
+
* ```js
|
|
6133
|
+
* // index.js
|
|
6134
|
+
* const popoverButton = document.querySelector('searchcraft-popover-button');
|
|
6135
|
+
*
|
|
6136
|
+
* popoverButton.template = ({ isPopoverVisible }, { html }) => html`
|
|
6137
|
+
* <span>Click me</span>
|
|
6138
|
+
* `;
|
|
6139
|
+
* ```
|
|
6140
|
+
*
|
|
6061
6141
|
* @react-example
|
|
6062
6142
|
* ```jsx
|
|
6063
|
-
* <SearchcraftPopoverButton
|
|
6143
|
+
* <SearchcraftPopoverButton
|
|
6144
|
+
* template={({ isPopoverVisible }, { html }) => html`
|
|
6145
|
+
* <span>Click me</span>
|
|
6146
|
+
* `}
|
|
6147
|
+
* >
|
|
6064
6148
|
* Open popover
|
|
6065
6149
|
* </SearchcraftPopoverButton>
|
|
6066
6150
|
* ```
|
|
6067
6151
|
*
|
|
6068
6152
|
* @vue-example
|
|
6069
6153
|
* ```jsx
|
|
6070
|
-
* <SearchcraftPopoverButton
|
|
6154
|
+
* <SearchcraftPopoverButton
|
|
6155
|
+
* :template={({ isPopoverVisible }, { html }) => html`
|
|
6156
|
+
* <span>Click me</span>
|
|
6157
|
+
* `}
|
|
6158
|
+
* >
|
|
6071
6159
|
* Open popover
|
|
6072
6160
|
* </SearchcraftPopoverButton>
|
|
6073
6161
|
* ```
|
|
@@ -6076,16 +6164,146 @@ class SearchcraftPopoverButton {
|
|
|
6076
6164
|
constructor(hostRef) {
|
|
6077
6165
|
registerInstance(this, hostRef);
|
|
6078
6166
|
}
|
|
6167
|
+
/**
|
|
6168
|
+
* A callback function responsible for rendering the button contents.
|
|
6169
|
+
*/
|
|
6170
|
+
template;
|
|
6171
|
+
/**
|
|
6172
|
+
* The type of popover button to render.
|
|
6173
|
+
*/
|
|
6174
|
+
type;
|
|
6175
|
+
hotkey;
|
|
6176
|
+
hotkeyModifier;
|
|
6177
|
+
hotkeyModifierSymbol;
|
|
6178
|
+
isPopoverVisible;
|
|
6179
|
+
userAgent;
|
|
6180
|
+
unsubscribe = () => { };
|
|
6079
6181
|
handleOnClick() {
|
|
6080
6182
|
searchcraftStore.getState().setPopoverVisibility(true);
|
|
6081
6183
|
}
|
|
6184
|
+
componentDidLoad() {
|
|
6185
|
+
const state = searchcraftStore.getState();
|
|
6186
|
+
this.hotkey = state.hotkey.toUpperCase();
|
|
6187
|
+
this.hotkeyModifier = state.hotkeyModifier;
|
|
6188
|
+
this.isPopoverVisible = state.isPopoverVisible;
|
|
6189
|
+
this.userAgent = this.setUserAgent();
|
|
6190
|
+
this.hotkeyModifierSymbol = this.setHotkeyModifierSymbol();
|
|
6191
|
+
this.unsubscribe = searchcraftStore.subscribe((state) => {
|
|
6192
|
+
this.hotkey = state.hotkey.toUpperCase();
|
|
6193
|
+
this.hotkeyModifier = state.hotkeyModifier;
|
|
6194
|
+
this.hotkeyModifierSymbol = this.setHotkeyModifierSymbol();
|
|
6195
|
+
});
|
|
6196
|
+
}
|
|
6197
|
+
disconnectedCallback() {
|
|
6198
|
+
this.unsubscribe?.();
|
|
6199
|
+
}
|
|
6200
|
+
setUserAgent() {
|
|
6201
|
+
const userAgent = navigator.userAgent.toLowerCase();
|
|
6202
|
+
switch (true) {
|
|
6203
|
+
case userAgent.includes('windows'):
|
|
6204
|
+
return 'window';
|
|
6205
|
+
case userAgent.includes('mac'):
|
|
6206
|
+
return 'mac';
|
|
6207
|
+
default:
|
|
6208
|
+
return 'other';
|
|
6209
|
+
}
|
|
6210
|
+
}
|
|
6211
|
+
renderOptionSymbol = () => {
|
|
6212
|
+
return (hAsync("svg", { version: '1.1', xmlns: 'http://www.w3.org/2000/svg', width: '20', height: '20', viewBox: '0 0 512 512', fill: 'none' }, hAsync("title", null, "Option key"), hAsync("path", { d: 'M283,112c0-11.58,9.42-21,21-21h160c11.58,0,21,9.42,21,21s-9.42,21-21,21h-160c-11.58,0-21-9.42-21-21Z', fill: 'currentColor' }), hAsync("path", { d: 'M485,400c0,11.58-9.42,21-21,21h-128c-8.29,0-15.82-4.9-19.19-12.47l-122.46-275.53H48c-11.58,0-21-9.42-21-21s9.42-21,21-21h160c8.29,0,15.82,4.9,19.19,12.47l122.46,275.53h114.35c11.58,0,21,9.42,21,21Z', fill: 'currentColor' })));
|
|
6213
|
+
};
|
|
6214
|
+
renderCtrlSymbol = () => {
|
|
6215
|
+
return (hAsync("svg", { version: '1.1', xmlns: 'http://www.w3.org/2000/svg', width: '20', height: '20', viewBox: '0 0 512 512', fill: 'none' }, hAsync("title", null, "Ctrl key"), hAsync("path", { d: 'M388.95,209.4c-.37,5.59-2.9,10.71-7.12,14.4-3.83,3.35-8.74,5.2-13.82,5.2-6.06,0-11.83-2.61-15.81-7.17l-96.2-109.94-96.2,109.94c-3.98,4.56-9.75,7.17-15.81,7.17-5.08,0-9.99-1.84-13.82-5.2-4.22-3.69-6.75-8.81-7.12-14.4-.38-5.6,1.45-11.01,5.15-15.23l112-128c3.98-4.56,9.74-7.17,15.8-7.17s11.82,2.61,15.8,7.17l112,128c3.7,4.22,5.53,9.63,5.15,15.23Z', fill: 'currentColor' })));
|
|
6216
|
+
};
|
|
6217
|
+
renderWindowsMetaSymbol = () => {
|
|
6218
|
+
return (hAsync("svg", { version: '1.1', xmlns: 'http://www.w3.org/2000/svg', width: '20', height: '20', viewBox: '0 0 512 512', fill: 'none' }, hAsync("title", null, "Windows meta key"), hAsync("path", { d: 'M206.115 255.957c-23.854-12.259-47.043-18.479-68.94-18.479-2.978 0-5.976 0.090-8.974 0.354-27.94 2.312-53.461 9.684-69.875 15.414-4.354 1.599-8.817 3.288-13.415 5.153l-44.911 155.697c30.851-11.416 58.146-16.969 83.135-16.969 40.423 0 69.764 15.104 93.996 30.652 11.481-38.959 39.022-133.045 47.241-161.162-5.975-3.642-12.038-7.285-18.257-10.66zM264.174 295.535l-45.223 157.074c13.416 7.686 58.549 32.025 93.106 32.025 27.896 0 59.126-7.148 95.417-21.896l43.178-150.988c-29.316 9.461-57.438 14.26-83.732 14.26-47.975 0-81.557-15.549-102.746-30.475zM146.411 184.395c38.559 0.399 67.076 15.104 90.708 30.251l46.376-158.672c-9.773-5.598-35.403-19.547-53.929-24.3-12.193-2.842-25.010-4.308-38.602-4.308-25.898 0.488-54.194 6.973-86.444 19.9l-44.22 155.298c32.404-12.218 60.322-18.17 86.043-18.17 0.023 0.001 0.068 0.001 0.068 0.001zM512 99.062c-29.407 11.416-58.104 17.233-85.514 17.233-45.843 0-79.646-15.901-101.547-31.183l-45.975 159.118c30.873 19.854 64.145 29.939 99.061 29.939 28.474 0 57.97-6.84 87.731-20.344l-0.091-1.111 1.867-0.443 44.468-153.209z', fill: 'currentColor' })));
|
|
6219
|
+
};
|
|
6220
|
+
renderMacMetaSymbol = () => {
|
|
6221
|
+
return (hAsync("svg", { version: '1.1', xmlns: 'http://www.w3.org/2000/svg', width: '20', height: '20', viewBox: '0 0 512 512', fill: 'none' }, hAsync("title", null, "Mac meta key"), hAsync("path", { d: 'M368,283h-43v-54h43c46.87,0,85-38.13,85-85s-38.13-85-85-85-85,38.13-85,85v43h-54v-43c0-46.87-38.13-85-85-85s-85,38.13-85,85,38.13,85,85,85h43v54h-43c-46.87,0-85,38.13-85,85s38.13,85,85,85,85-38.13,85-85v-43h54v43c0,46.87,38.13,85,85,85s85-38.13,85-85-38.13-85-85-85ZM325,144c0-23.71,19.29-43,43-43s43,19.29,43,43-19.29,43-43,43h-43v-43ZM144,187c-23.71,0-43-19.29-43-43s19.29-43,43-43,43,19.29,43,43v43h-43ZM187,368c0,23.71-19.29,43-43,43s-43-19.29-43-43,19.29-43,43-43h43v43ZM283,283h-54v-54h54v54ZM368,411c-23.71,0-43-19.29-43-43v-43h43c23.71,0,43,19.29,43,43s-19.29,43-43,43Z', fill: 'currentColor' })));
|
|
6222
|
+
};
|
|
6223
|
+
setHotkeyModifierSymbol() {
|
|
6224
|
+
switch (this.hotkeyModifier) {
|
|
6225
|
+
case 'ctrl':
|
|
6226
|
+
return this.userAgent === 'windows'
|
|
6227
|
+
? this.renderCtrlSymbol()
|
|
6228
|
+
: this.renderMacMetaSymbol();
|
|
6229
|
+
case 'alt':
|
|
6230
|
+
case 'option':
|
|
6231
|
+
return this.renderOptionSymbol();
|
|
6232
|
+
default:
|
|
6233
|
+
return this.userAgent === 'windows'
|
|
6234
|
+
? this.renderWindowsMetaSymbol()
|
|
6235
|
+
: this.renderMacMetaSymbol();
|
|
6236
|
+
}
|
|
6237
|
+
}
|
|
6238
|
+
renderSkeuomorphicSlot() {
|
|
6239
|
+
return (hAsync("div", { class: 'searchcraft-popover-button-wrapper' }, hAsync("div", { class: 'searchcraft-popover-button-input' }, hAsync("svg", { class: 'searchcraft-popover-button-input-search-icon', viewBox: '0 0 20 20', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', version: '1.1' }, hAsync("title", null, "Search icon"), hAsync("path", { d: 'M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z', stroke: 'currentColor', "stroke-width": '1.5', "stroke-linecap": 'round', "stroke-linejoin": 'round' })), hAsync("span", null, "Search")), hAsync("div", { class: 'searchcraft-popover-button-keycaps' }, hAsync("div", { class: 'searchcraft-popover-button-keycaps-keycap searchcraft-popover-button-keycaps-keycap-modifier' }, hAsync("span", null, this.hotkeyModifierSymbol)), hAsync("div", { class: 'searchcraft-popover-button-keycaps-keycap searchcraft-popover-button-keycaps-keycap-key' }, hAsync("span", null, this.hotkey)))));
|
|
6240
|
+
}
|
|
6241
|
+
renderSlot() {
|
|
6242
|
+
switch (this.type) {
|
|
6243
|
+
case 'skeuomorphic':
|
|
6244
|
+
return this.renderSkeuomorphicSlot();
|
|
6245
|
+
default:
|
|
6246
|
+
return (hAsync("div", null, hAsync("slot", null)));
|
|
6247
|
+
}
|
|
6248
|
+
}
|
|
6082
6249
|
render() {
|
|
6083
|
-
return (hAsync("button", { key: '
|
|
6250
|
+
return (hAsync("button", { key: '74e36b0593ba2cbb03f5ecff1434bc7056bf0db0', class: `searchcraft-popover-button ${this.type ? ` searchcraft-popover-button-${this.type}` : ''}`, innerHTML: typeof this.template !== 'undefined'
|
|
6251
|
+
? this.template({ isPopoverVisible: this.isPopoverVisible }, { html })
|
|
6252
|
+
: undefined, onClick: this.handleOnClick.bind(this), type: 'button' }, typeof this.template !== 'undefined'
|
|
6253
|
+
? undefined
|
|
6254
|
+
: this.type
|
|
6255
|
+
? this.renderSlot()
|
|
6256
|
+
: 'Open Popover'));
|
|
6084
6257
|
}
|
|
6085
6258
|
static get cmpMeta() { return {
|
|
6086
6259
|
"$flags$": 4,
|
|
6087
6260
|
"$tagName$": "searchcraft-popover-button",
|
|
6088
|
-
"$members$":
|
|
6261
|
+
"$members$": {
|
|
6262
|
+
"template": [16],
|
|
6263
|
+
"type": [1],
|
|
6264
|
+
"hotkey": [32],
|
|
6265
|
+
"hotkeyModifier": [32],
|
|
6266
|
+
"hotkeyModifierSymbol": [32],
|
|
6267
|
+
"isPopoverVisible": [32],
|
|
6268
|
+
"userAgent": [32]
|
|
6269
|
+
},
|
|
6270
|
+
"$listeners$": undefined,
|
|
6271
|
+
"$lazyBundleId$": "-",
|
|
6272
|
+
"$attrsToReflect$": []
|
|
6273
|
+
}; }
|
|
6274
|
+
}
|
|
6275
|
+
|
|
6276
|
+
/**
|
|
6277
|
+
* Renders the footer for the searchcraft-popover-form.
|
|
6278
|
+
*
|
|
6279
|
+
* @internal
|
|
6280
|
+
*/
|
|
6281
|
+
class SearchcraftPopoverFooter {
|
|
6282
|
+
constructor(hostRef) {
|
|
6283
|
+
registerInstance(this, hostRef);
|
|
6284
|
+
}
|
|
6285
|
+
searchResultsCount;
|
|
6286
|
+
unsubscribe = () => { };
|
|
6287
|
+
componentDidLoad() {
|
|
6288
|
+
this.searchResultsCount = searchcraftStore.getState().searchResultsCount;
|
|
6289
|
+
this.unsubscribe = searchcraftStore.subscribe((state) => {
|
|
6290
|
+
this.searchResultsCount = state.searchResultsCount;
|
|
6291
|
+
});
|
|
6292
|
+
}
|
|
6293
|
+
disconnectedCallback() {
|
|
6294
|
+
this.unsubscribe?.();
|
|
6295
|
+
}
|
|
6296
|
+
render() {
|
|
6297
|
+
return (hAsync("footer", { key: 'e1344ae185ef1b8a83bb69ba88e2952ab1c75e70', class: 'searchcraft-popover-footer' }, hAsync("p", { key: '51874f4ce490e4f164b999e8c6f89710702e73bd', class: 'searchcraft-popover-footer-results-info' }, this.searchResultsCount
|
|
6298
|
+
? `${formatNumberWithCommas(this.searchResultsCount)} Results Found`
|
|
6299
|
+
: ' '), hAsync("a", { key: '5476e24cc3fa7fa265bd2b5cba43c8a70d8609ca', class: 'searchcraft-popover-footer-link', href: 'https://searchcraft.io/', target: '_blank', rel: 'noreferrer' }, hAsync("svg", { key: '0a4edf94e9e40a96a93a4e7ba1ffbd081e51b585', class: 'searchcraft-popover-footer-link-image', width: '169', height: '16', viewBox: '0 0 169 16', fill: 'none', xmlns: 'http://www.w3.org/2000/svg' }, hAsync("title", { key: '67813a626922d709a4409028cb0f3f1ce3e2cfe8' }, "Powered by Searchcraft"), hAsync("path", { key: 'bf9e46a5f9783edd7167c1c5c1256d0200053969', d: 'M5.07288 0.608C7.60088 0.608 8.84888 2.064 8.84888 4.112C8.84888 6.16 7.60088 7.616 5.07288 7.616H1.68088V12H0.336875V0.608H5.07288ZM5.07288 6.4C6.67288 6.4 7.45688 5.552 7.45688 4.112C7.45688 2.672 6.67288 1.824 5.07288 1.824H1.68088V6.4H5.07288ZM13.31 12.192C10.99 12.192 9.31 10.512 9.31 7.872C9.31 5.232 10.99 3.552 13.31 3.552C15.63 3.552 17.31 5.232 17.31 7.872C17.31 10.512 15.63 12.192 13.31 12.192ZM13.31 11.04C14.91 11.04 15.966 9.872 15.966 7.872C15.966 5.872 14.91 4.704 13.31 4.704C11.71 4.704 10.654 5.872 10.654 7.872C10.654 9.872 11.71 11.04 13.31 11.04ZM28.3826 3.744H29.7586L27.0066 12H25.6626L24.4466 8.176C24.1586 7.264 23.8706 6.304 23.6146 5.376C23.3426 6.304 23.0546 7.264 22.7666 8.176L21.5666 12H20.2226L17.4706 3.744H18.8466L20.0146 7.472C20.3346 8.48 20.6226 9.472 20.9106 10.48C21.1826 9.472 21.4706 8.48 21.7906 7.472L22.9426 3.744H24.2866L25.4386 7.472C25.7426 8.464 26.0466 9.456 26.3346 10.448C26.6066 9.456 26.9106 8.464 27.2146 7.472L28.3826 3.744ZM37.5194 7.872V8.32H31.2474C31.3754 10.176 32.3514 11.024 33.7914 11.024C34.9594 11.024 35.6954 10.416 35.9834 9.488H37.3114C36.9114 11.04 35.7274 12.192 33.7594 12.192C31.5034 12.192 29.9194 10.544 29.9194 7.872C29.9194 5.28 31.4394 3.552 33.7274 3.552C36.1914 3.552 37.5194 5.504 37.5194 7.872ZM33.7274 4.72C32.4314 4.72 31.4874 5.536 31.2794 7.168H36.1434C36.0154 5.808 35.1994 4.72 33.7274 4.72ZM42.9101 3.616C43.0381 3.616 43.1661 3.616 43.3421 3.632V4.864H43.0221C41.3741 4.864 40.3181 5.696 40.3181 7.296V12H39.0381V3.744H40.2541V5.2C40.7181 4.336 41.5661 3.616 42.9101 3.616ZM51.2538 7.872V8.32H44.9818C45.1098 10.176 46.0858 11.024 47.5258 11.024C48.6938 11.024 49.4298 10.416 49.7178 9.488H51.0458C50.6458 11.04 49.4618 12.192 47.4938 12.192C45.2378 12.192 43.6538 10.544 43.6538 7.872C43.6538 5.28 45.1738 3.552 47.4618 3.552C49.9258 3.552 51.2538 5.504 51.2538 7.872ZM47.4618 4.72C46.1658 4.72 45.2218 5.536 45.0138 7.168H49.8778C49.7498 5.808 48.9338 4.72 47.4618 4.72ZM58.9805 0.608H60.2605V12H59.0445V10.72C58.4205 11.664 57.4445 12.192 56.2125 12.192C53.8925 12.192 52.3725 10.512 52.3725 7.872C52.3725 5.232 53.8925 3.552 56.2125 3.552C57.4125 3.552 58.3565 4.048 58.9805 4.928V0.608ZM56.3725 11.04C57.9725 11.04 59.0285 9.872 59.0285 7.872C59.0285 5.872 57.9725 4.704 56.3725 4.704C54.7725 4.704 53.7165 5.936 53.7165 7.936C53.7165 9.936 54.7725 11.04 56.3725 11.04ZM69.2736 3.552C71.5936 3.552 73.1136 5.232 73.1136 7.872C73.1136 10.512 71.5936 12.192 69.2736 12.192C68.0416 12.192 67.0656 11.664 66.4416 10.72V12H65.2256V0.608H66.5056V4.928C67.1296 4.048 68.0736 3.552 69.2736 3.552ZM69.1136 11.04C70.7136 11.04 71.7696 9.808 71.7696 7.808C71.7696 5.808 70.7136 4.704 69.1136 4.704C67.5136 4.704 66.4576 5.872 66.4576 7.872C66.4576 9.872 67.5136 11.04 69.1136 11.04ZM79.3795 3.744H80.7715L77.2835 13.296C76.7555 14.752 75.9075 15.184 74.5955 15.184C74.3395 15.184 74.0995 15.168 73.8275 15.136V14.064H74.5795C75.3955 14.064 75.8275 13.696 76.0835 13.04C76.1795 12.8 76.2755 12.528 76.3715 12.272L73.2675 3.744H74.6755L75.8435 7.184C76.2595 8.384 76.6435 9.568 77.0275 10.752C77.3955 9.568 77.7955 8.368 78.2115 7.168L79.3795 3.744ZM89.1546 12.256C86.1146 12.256 84.2906 10.864 84.2746 8.24H86.4026C86.4346 10.032 87.6346 10.512 89.2186 10.512C90.7066 10.512 91.5226 9.936 91.5226 8.864C91.5226 7.968 90.9306 7.568 89.1866 7.216L88.2266 7.024C86.0186 6.608 84.5626 5.632 84.5626 3.568C84.5626 1.68 86.0506 0.351999 88.7866 0.351999C91.9866 0.351999 93.3466 1.856 93.4266 4H91.3306C91.2506 2.784 90.6266 2.096 88.8186 2.096C87.4426 2.096 86.7706 2.64 86.7706 3.504C86.7706 4.416 87.2986 4.832 88.9946 5.184L89.9866 5.376C92.6746 5.904 93.7626 6.944 93.7626 8.752C93.7626 11.008 92.0026 12.256 89.1546 12.256ZM102.952 8.016V8.496H96.7758C96.9198 9.968 97.7518 10.624 98.9198 10.624C99.8798 10.624 100.504 10.176 100.808 9.44H102.744C102.328 11.12 100.888 12.192 98.9038 12.192C96.4718 12.192 94.7918 10.512 94.7918 7.872C94.7918 5.28 96.4238 3.552 98.8718 3.552C101.4 3.552 102.952 5.392 102.952 8.016ZM98.8558 5.12C97.7838 5.12 96.9838 5.728 96.7918 7.088H100.936C100.776 5.92 100.056 5.12 98.8558 5.12ZM111.599 12H109.583C109.455 11.776 109.391 11.392 109.359 10.992C108.815 11.76 107.919 12.192 106.703 12.192C104.943 12.192 103.727 11.312 103.727 9.712C103.727 8.336 104.559 7.36 106.895 7.136L108.143 7.024C108.911 6.928 109.311 6.688 109.311 6.08C109.311 5.44 108.975 5.056 107.807 5.056C106.655 5.056 106.175 5.36 106.095 6.368H104.111C104.223 4.624 105.247 3.552 107.823 3.552C110.287 3.552 111.263 4.544 111.263 6.032V10.432C111.263 11.024 111.375 11.68 111.599 12ZM107.183 10.752C108.255 10.752 109.311 10.176 109.311 8.736V7.984C109.103 8.176 108.799 8.272 108.367 8.32L107.279 8.448C106.159 8.576 105.791 8.976 105.791 9.632C105.791 10.32 106.255 10.752 107.183 10.752ZM117.216 3.616C117.392 3.616 117.536 3.616 117.712 3.648V5.504H117.2C115.712 5.504 114.816 6.24 114.816 7.808V12H112.8V3.744H114.752V5.216C115.152 4.288 115.936 3.616 117.216 3.616ZM122.137 12.192C119.689 12.192 118.057 10.512 118.057 7.872C118.057 5.232 119.673 3.552 122.137 3.552C124.297 3.552 125.737 4.784 125.977 6.72H123.961C123.769 5.696 123.033 5.232 122.137 5.232C120.937 5.232 120.121 6.064 120.121 7.872C120.121 9.68 120.969 10.512 122.137 10.512C123.049 10.512 123.833 10.016 123.993 8.928H126.009C125.785 10.944 124.249 12.192 122.137 12.192ZM131.641 3.552C133.369 3.552 134.537 4.56 134.537 6.528V12H132.521V6.864C132.521 5.808 131.993 5.296 130.969 5.296C130.089 5.296 129.129 5.904 129.129 7.376V12H127.113V0.608H129.129V4.848C129.673 4.096 130.521 3.552 131.641 3.552ZM139.887 12.192C137.439 12.192 135.807 10.512 135.807 7.872C135.807 5.232 137.423 3.552 139.887 3.552C142.047 3.552 143.487 4.784 143.727 6.72H141.711C141.519 5.696 140.783 5.232 139.887 5.232C138.687 5.232 137.871 6.064 137.871 7.872C137.871 9.68 138.719 10.512 139.887 10.512C140.799 10.512 141.583 10.016 141.743 8.928H143.759C143.535 10.944 141.999 12.192 139.887 12.192ZM149.279 3.616C149.455 3.616 149.599 3.616 149.775 3.648V5.504H149.263C147.775 5.504 146.879 6.24 146.879 7.808V12H144.863V3.744H146.815V5.216C147.215 4.288 147.999 3.616 149.279 3.616ZM157.803 12H155.787C155.659 11.776 155.595 11.392 155.563 10.992C155.019 11.76 154.123 12.192 152.907 12.192C151.147 12.192 149.931 11.312 149.931 9.712C149.931 8.336 150.763 7.36 153.099 7.136L154.347 7.024C155.115 6.928 155.515 6.688 155.515 6.08C155.515 5.44 155.179 5.056 154.011 5.056C152.859 5.056 152.379 5.36 152.299 6.368H150.315C150.427 4.624 151.451 3.552 154.027 3.552C156.491 3.552 157.467 4.544 157.467 6.032V10.432C157.467 11.024 157.579 11.68 157.803 12ZM153.387 10.752C154.459 10.752 155.515 10.176 155.515 8.736V7.984C155.307 8.176 155.003 8.272 154.571 8.32L153.483 8.448C152.363 8.576 151.995 8.976 151.995 9.632C151.995 10.32 152.459 10.752 153.387 10.752ZM162.466 2.16C161.746 2.16 161.426 2.512 161.426 3.152V3.744H163.122V5.28H161.426V12H159.426V5.28H158.146V3.744H159.426V3.12C159.426 1.664 160.146 0.559999 162.13 0.559999C162.45 0.559999 162.882 0.575999 163.17 0.608V2.16H162.466ZM168.636 5.28H167.004V9.744C167.004 10.288 167.276 10.464 167.948 10.464H168.636V12C168.268 12.032 167.9 12.064 167.58 12.064C165.836 12.064 165.004 11.472 165.004 9.952V5.28H163.724V3.744H165.004V1.344H167.004V3.744H168.636V5.28Z', fill: 'currentColor' })))));
|
|
6300
|
+
}
|
|
6301
|
+
static get cmpMeta() { return {
|
|
6302
|
+
"$flags$": 0,
|
|
6303
|
+
"$tagName$": "searchcraft-popover-footer",
|
|
6304
|
+
"$members$": {
|
|
6305
|
+
"searchResultsCount": [32]
|
|
6306
|
+
},
|
|
6089
6307
|
"$listeners$": undefined,
|
|
6090
6308
|
"$lazyBundleId$": "-",
|
|
6091
6309
|
"$attrsToReflect$": []
|
|
@@ -6095,12 +6313,13 @@ class SearchcraftPopoverButton {
|
|
|
6095
6313
|
/**
|
|
6096
6314
|
* This web component is designed to display search results in a popover container that dynamically appears when the user interacts with a search input field, or when a popover-button is pressed.
|
|
6097
6315
|
*
|
|
6098
|
-
* @import
|
|
6316
|
+
* @react-import
|
|
6099
6317
|
* ```jsx
|
|
6100
|
-
* // react
|
|
6101
6318
|
* import { SearchcraftPopoverForm } from "@searchcraft/react-sdk";
|
|
6319
|
+
* ```
|
|
6102
6320
|
*
|
|
6103
|
-
*
|
|
6321
|
+
* @vue-import
|
|
6322
|
+
* ```jsx
|
|
6104
6323
|
* import { SearchcraftPopoverForm } from "@searchcraft/vue-sdk";
|
|
6105
6324
|
* ```
|
|
6106
6325
|
*
|
|
@@ -6186,6 +6405,10 @@ class SearchcraftPopoverForm {
|
|
|
6186
6405
|
this.searchResultsPage = state.searchResultsPage;
|
|
6187
6406
|
this.searchResultsPerPage = state.searchResultsPerPage;
|
|
6188
6407
|
});
|
|
6408
|
+
// Set hotkey and hotkeyModifier in state.
|
|
6409
|
+
searchcraftStore
|
|
6410
|
+
.getState()
|
|
6411
|
+
.setHotKeyAndHotKeyModifier(this.hotkey, this.hotkeyModifier);
|
|
6189
6412
|
}
|
|
6190
6413
|
disconnectedCallback() {
|
|
6191
6414
|
this.unsubscribe?.();
|
|
@@ -6231,7 +6454,7 @@ class SearchcraftPopoverForm {
|
|
|
6231
6454
|
}
|
|
6232
6455
|
};
|
|
6233
6456
|
handleInputInit = () => {
|
|
6234
|
-
const input = this.hostElement.querySelector('.searchcraft-input');
|
|
6457
|
+
const input = this.hostElement.querySelector('.searchcraft-input-form-input');
|
|
6235
6458
|
input?.focus();
|
|
6236
6459
|
};
|
|
6237
6460
|
/**
|
|
@@ -6286,7 +6509,7 @@ class SearchcraftPopoverForm {
|
|
|
6286
6509
|
* @param direction
|
|
6287
6510
|
*/
|
|
6288
6511
|
focusOnNextListItem(direction) {
|
|
6289
|
-
const listItems = Array.from(document.querySelectorAll('
|
|
6512
|
+
const listItems = Array.from(document.querySelectorAll('.searchcraft-popover-list-item-link')).filter((el) => !el.hasAttribute('disabled') && el.offsetParent !== null);
|
|
6290
6513
|
const currentIndex = listItems.indexOf(document.activeElement);
|
|
6291
6514
|
if (direction === 'ArrowDown') {
|
|
6292
6515
|
listItems[(currentIndex + 1) % listItems.length]?.focus();
|
|
@@ -6314,22 +6537,22 @@ class SearchcraftPopoverForm {
|
|
|
6314
6537
|
}
|
|
6315
6538
|
renderInlinePopover() {
|
|
6316
6539
|
const isListViewVisible = this.hasResultsToShow && this.isFocused;
|
|
6317
|
-
|
|
6318
|
-
|
|
6319
|
-
|
|
6320
|
-
return (hAsync("div", { class: popoverFormClassNames }, hAsync("searchcraft-input-form", { onInputFocus: this.handleInputFocus.bind(this) }), isListViewVisible && (hAsync("div", { class: 'searchcraft-popover-form-inline-wrapper-outer' }, hAsync("div", { class: 'searchcraft-popover-form-inline-wrapper-inner' }, hAsync("searchcraft-popover-list-view", { popoverResultMappings: this.popoverResultMappings, searchClientResponseItems: this.searchClientResponseItems, adClientResponseItems: this.adClientResponseItems, searchResultsPage: this.searchResultsPage, searchResultsPerPage: this.searchResultsPerPage }))))));
|
|
6540
|
+
return (hAsync("div", { class: classNames('searchcraft-popover-form searchcraft-popover-form-inline', {
|
|
6541
|
+
'searchcraft-popover-form-active': isListViewVisible,
|
|
6542
|
+
}) }, hAsync("div", { class: 'searchcraft-popover-form-input searchcraft-popover-form-inline-input' }, hAsync("searchcraft-input-form", { onInputFocus: this.handleInputFocus.bind(this) })), isListViewVisible && (hAsync("div", { class: 'searchcraft-popover-form-inline-wrapper' }, hAsync("searchcraft-popover-list-view", { popoverResultMappings: this.popoverResultMappings, searchClientResponseItems: this.searchClientResponseItems, adClientResponseItems: this.adClientResponseItems, searchResultsPage: this.searchResultsPage, searchResultsPerPage: this.searchResultsPerPage }), hAsync("searchcraft-popover-footer", null)))));
|
|
6321
6543
|
}
|
|
6322
6544
|
renderModalPopover() {
|
|
6323
6545
|
if (this.isPopoverVisibleInState) {
|
|
6324
|
-
|
|
6325
|
-
|
|
6326
|
-
|
|
6327
|
-
return (hAsync("div", { class: 'searchcraft-popover-form-modal' }, hAsync("div", { class: 'searchcraft-popover-form-modal-backdrop', onClick: this.handleModalBackdropClick }), hAsync("div", { class: 'searchcraft-popover-form-modal-inner' }, hAsync("div", { class: popoverFormClassNames }, hAsync("div", { class: 'searchcraft-popover-form-input-wrapper searchcraft-popover-form-modal-input-wrapper' }, hAsync("searchcraft-input-form", { onInputFocus: this.handleInputFocus.bind(this), onInputInit: this.handleInputInit.bind(this) }), hAsync("button", { type: 'button', class: 'searchcraft-popover-form-button searchcraft-popover-form-modal-button', onClick: this.handleCancelButtonClick.bind(this) }, "Cancel")), this.hasResultsToShow && (hAsync("searchcraft-popover-list-view", { popoverResultMappings: this.popoverResultMappings, searchClientResponseItems: this.searchClientResponseItems, adClientResponseItems: this.adClientResponseItems, searchResultsPage: this.searchResultsPage, searchResultsPerPage: this.searchResultsPerPage }))))));
|
|
6546
|
+
return (hAsync("div", { class: classNames('searchcraft-popover-form searchcraft-popover-form-modal', {
|
|
6547
|
+
'searchcraft-popover-form-active': this.hasResultsToShow,
|
|
6548
|
+
}) }, hAsync("div", { class: 'searchcraft-popover-form-modal-backdrop', onClick: this.handleModalBackdropClick }), hAsync("div", { class: 'searchcraft-popover-form-modal-wrapper' }, hAsync("div", { class: 'searchcraft-popover-form-input searchcraft-popover-form-modal-input' }, hAsync("searchcraft-input-form", { onInputFocus: this.handleInputFocus.bind(this), onInputInit: this.handleInputInit.bind(this) }), hAsync("button", { type: 'button', class: 'searchcraft-popover-form-cancel-button searchcraft-popover-form-modal-cancel-button', onClick: this.handleCancelButtonClick.bind(this) }, "Cancel")), hAsync("div", { class: 'searchcraft-popover-form-modal-popover-list-view' }, this.hasResultsToShow && (hAsync("searchcraft-popover-list-view", { popoverResultMappings: this.popoverResultMappings, searchClientResponseItems: this.searchClientResponseItems, adClientResponseItems: this.adClientResponseItems, searchResultsPage: this.searchResultsPage, searchResultsPerPage: this.searchResultsPerPage }))), hAsync("searchcraft-popover-footer", null))));
|
|
6328
6549
|
}
|
|
6329
6550
|
}
|
|
6330
6551
|
renderFullscreenPopover() {
|
|
6331
6552
|
if (this.isPopoverVisibleInState) {
|
|
6332
|
-
return (hAsync("div", { class:
|
|
6553
|
+
return (hAsync("div", { class: classNames('searchcraft-popover-form searchcraft-popover-form-fullscreen', {
|
|
6554
|
+
'searchcraft-popover-form-active': this.hasResultsToShow,
|
|
6555
|
+
}) }, hAsync("div", { class: 'searchcraft-popover-form-input searchcraft-popover-form-fullscreen-input' }, hAsync("searchcraft-input-form", { onInputFocus: this.handleInputFocus.bind(this), onInputInit: this.handleInputInit.bind(this) }), hAsync("button", { type: 'button', class: 'searchcraft-popover-form-cancel-button searchcraft-popover-form-fullscreen-cancel-button', onClick: this.handleCancelButtonClick.bind(this) }, "Cancel")), hAsync("div", { class: 'searchcraft-popover-form-fullscreen-popover-list-view' }, this.hasResultsToShow && (hAsync("searchcraft-popover-list-view", { popoverResultMappings: this.popoverResultMappings, searchClientResponseItems: this.searchClientResponseItems, adClientResponseItems: this.adClientResponseItems, searchResultsPage: this.searchResultsPage, searchResultsPerPage: this.searchResultsPerPage }))), hAsync("searchcraft-popover-footer", null)));
|
|
6333
6556
|
}
|
|
6334
6557
|
}
|
|
6335
6558
|
render() {
|
|
@@ -6382,16 +6605,16 @@ class SearchcraftPopoverListItem {
|
|
|
6382
6605
|
popoverResultMappings;
|
|
6383
6606
|
/** The document position relative to the search results (For Measure) */
|
|
6384
6607
|
documentPosition = 0;
|
|
6608
|
+
title;
|
|
6609
|
+
subtitle;
|
|
6385
6610
|
href;
|
|
6386
|
-
|
|
6611
|
+
imageSource;
|
|
6387
6612
|
imageAlt;
|
|
6388
|
-
titleContent;
|
|
6389
|
-
subtitleContent;
|
|
6390
6613
|
mapValuesFromDocument(document) {
|
|
6391
|
-
this.
|
|
6392
|
-
this.
|
|
6614
|
+
this.title = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.title);
|
|
6615
|
+
this.subtitle = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.subtitle);
|
|
6393
6616
|
this.href = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.href);
|
|
6394
|
-
this.
|
|
6617
|
+
this.imageSource = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.imageSource);
|
|
6395
6618
|
this.imageAlt = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.imageAlt);
|
|
6396
6619
|
}
|
|
6397
6620
|
connectedCallback() {
|
|
@@ -6402,12 +6625,12 @@ class SearchcraftPopoverListItem {
|
|
|
6402
6625
|
disconnectedCallback() { }
|
|
6403
6626
|
handleLinkClick = () => {
|
|
6404
6627
|
const state = searchcraftStore.getState();
|
|
6405
|
-
const
|
|
6406
|
-
if (
|
|
6628
|
+
const core = state.getSearchcraftCore();
|
|
6629
|
+
if (core) {
|
|
6407
6630
|
const document_position = this.documentPosition;
|
|
6408
6631
|
const search_term = state.searchTerm;
|
|
6409
6632
|
const number_of_documents = state.searchClientResponseItems.length || 0;
|
|
6410
|
-
|
|
6633
|
+
core.measureClient?.sendMeasureEvent('document_clicked', {
|
|
6411
6634
|
document_position,
|
|
6412
6635
|
number_of_documents,
|
|
6413
6636
|
search_term,
|
|
@@ -6415,7 +6638,7 @@ class SearchcraftPopoverListItem {
|
|
|
6415
6638
|
}
|
|
6416
6639
|
};
|
|
6417
6640
|
render() {
|
|
6418
|
-
return (hAsync("a", { key: '
|
|
6641
|
+
return (hAsync("div", { key: '63a2f070ce71cd1330105c03985e32cd1f228b29', class: 'searchcraft-popover-list-item' }, hAsync("a", { key: 'd9bb09248be9be235147acdfeed1a9f29cd123a2', class: 'searchcraft-popover-list-item-link', href: this.href, onClick: this.handleLinkClick.bind(this) }, this.imageSource && (hAsync("div", { key: '6af7c3e754885730d8651a593f13b7b5b704a26d', class: 'searchcraft-popover-list-item-image-wrapper' }, hAsync("img", { key: '74c7e53467efd83ae95439a7065c1de2748113f5', alt: this.imageAlt, src: this.imageSource, class: 'searchcraft-popover-list-item-image' }))), hAsync("div", { key: '25a12e5cf582b248773005f5fb58f7a15304d2d1', class: 'searchcraft-popover-list-item-content' }, this.title && (hAsync("p", { key: '8169f7730feb832178adbc9bdb14a089e955a2ad', class: 'searchcraft-popover-list-item-content-title' }, this.title)), this.subtitle && (hAsync("p", { key: '96812df1bab635e3865bdfdb31f133ca629d800e', class: 'searchcraft-popover-list-item-content-subtitle' }, this.subtitle))))));
|
|
6419
6642
|
}
|
|
6420
6643
|
static get cmpMeta() { return {
|
|
6421
6644
|
"$flags$": 0,
|
|
@@ -6424,11 +6647,11 @@ class SearchcraftPopoverListItem {
|
|
|
6424
6647
|
"item": [16],
|
|
6425
6648
|
"popoverResultMappings": [16],
|
|
6426
6649
|
"documentPosition": [2, "document-position"],
|
|
6650
|
+
"title": [32],
|
|
6651
|
+
"subtitle": [32],
|
|
6427
6652
|
"href": [32],
|
|
6428
|
-
"
|
|
6429
|
-
"imageAlt": [32]
|
|
6430
|
-
"titleContent": [32],
|
|
6431
|
-
"subtitleContent": [32]
|
|
6653
|
+
"imageSource": [32],
|
|
6654
|
+
"imageAlt": [32]
|
|
6432
6655
|
},
|
|
6433
6656
|
"$listeners$": undefined,
|
|
6434
6657
|
"$lazyBundleId$": "-",
|
|
@@ -6509,7 +6732,7 @@ class SearchcraftPopoverListItemAd {
|
|
|
6509
6732
|
if (!item.admAd) {
|
|
6510
6733
|
return;
|
|
6511
6734
|
}
|
|
6512
|
-
return (hAsync("a", { class: 'searchcraft-adm-ad', href: item.admAd.click_url }, item.admAd.image_url && (hAsync("div", { class: 'searchcraft-adm-ad-image-wrapper' }, hAsync("img", { alt: item.admAd.term || 'image', src: item.admAd.image_url, class: 'searchcraft-adm-ad-image' }))), hAsync("div", { class: 'searchcraft-adm-ad-
|
|
6735
|
+
return (hAsync("div", { class: 'searchcraft-adm-ad' }, hAsync("a", { class: 'searchcraft-adm-ad-link', href: item.admAd.click_url }, item.admAd.image_url && (hAsync("div", { class: 'searchcraft-adm-ad-image-wrapper' }, hAsync("img", { alt: item.admAd.term || 'image', src: item.admAd.image_url, class: 'searchcraft-adm-ad-image' }))), hAsync("div", { class: 'searchcraft-adm-ad-content' }, hAsync("p", { class: 'searchcraft-adm-ad-content-title' }, item.admAd.term), item.admAd.price && (hAsync("p", { class: 'searchcraft-adm-ad-content-subtitle' }, item.admAd.price))))));
|
|
6513
6736
|
}
|
|
6514
6737
|
renderCustomAd() {
|
|
6515
6738
|
const templateRenderFunction = this.core?.config?.customAdTemplate;
|
|
@@ -6699,12 +6922,13 @@ class SearchcraftPopoverListView {
|
|
|
6699
6922
|
/**
|
|
6700
6923
|
* This web component is designed to display the number of results returned from a search query.
|
|
6701
6924
|
*
|
|
6702
|
-
* @import
|
|
6925
|
+
* @react-import
|
|
6703
6926
|
* ```jsx
|
|
6704
|
-
* // react
|
|
6705
6927
|
* import { SearchcraftResultsInfo } from "@searchcraft/react-sdk";
|
|
6928
|
+
* ```
|
|
6706
6929
|
*
|
|
6707
|
-
*
|
|
6930
|
+
* @vue-import
|
|
6931
|
+
* ```jsx
|
|
6708
6932
|
* import { SearchcraftResultsInfo } from "@searchcraft/vue-sdk";
|
|
6709
6933
|
* ```
|
|
6710
6934
|
*
|
|
@@ -6730,6 +6954,7 @@ class SearchcraftPopoverListView {
|
|
|
6730
6954
|
* ${info.range[0]}-${info.range[1]} of ${info.count} results in ${info.responseTime}ms
|
|
6731
6955
|
* `}
|
|
6732
6956
|
* />
|
|
6957
|
+
* ```
|
|
6733
6958
|
*
|
|
6734
6959
|
* @vue-example
|
|
6735
6960
|
* ```jsx
|
|
@@ -6738,6 +6963,7 @@ class SearchcraftPopoverListView {
|
|
|
6738
6963
|
* ${info.range[0]}-${info.range[1]} of ${info.count} results in ${info.responseTime}ms
|
|
6739
6964
|
* `}
|
|
6740
6965
|
* />
|
|
6966
|
+
* ```
|
|
6741
6967
|
*/
|
|
6742
6968
|
class SearchcraftResultsInfo {
|
|
6743
6969
|
constructor(hostRef) {
|
|
@@ -6745,13 +6971,6 @@ class SearchcraftResultsInfo {
|
|
|
6745
6971
|
}
|
|
6746
6972
|
/**
|
|
6747
6973
|
* A callback function responsible for rendering the results info.
|
|
6748
|
-
*
|
|
6749
|
-
* @example
|
|
6750
|
-
* ```ts
|
|
6751
|
-
* resultsInfo.template = html`
|
|
6752
|
-
* ${range[0]}-${range[1]} of ${count} results in ${responseTime}ms
|
|
6753
|
-
* `;
|
|
6754
|
-
* ```
|
|
6755
6974
|
*/
|
|
6756
6975
|
template;
|
|
6757
6976
|
// store vars
|
|
@@ -6844,6 +7063,7 @@ class SearchcraftSearchResult {
|
|
|
6844
7063
|
*/
|
|
6845
7064
|
template;
|
|
6846
7065
|
templateHtml;
|
|
7066
|
+
get hostElement() { return getElement(this); }
|
|
6847
7067
|
connectedCallback() {
|
|
6848
7068
|
if (this.item) {
|
|
6849
7069
|
try {
|
|
@@ -6852,18 +7072,42 @@ class SearchcraftSearchResult {
|
|
|
6852
7072
|
});
|
|
6853
7073
|
}
|
|
6854
7074
|
catch (error) {
|
|
6855
|
-
console.error(
|
|
7075
|
+
console.error('Invalid search result template:', error);
|
|
6856
7076
|
}
|
|
6857
7077
|
}
|
|
6858
7078
|
}
|
|
7079
|
+
handleResultContainerClick = (event) => {
|
|
7080
|
+
const state = searchcraftStore.getState();
|
|
7081
|
+
const core = state.getSearchcraftCore();
|
|
7082
|
+
if (!event.target) {
|
|
7083
|
+
return;
|
|
7084
|
+
}
|
|
7085
|
+
const target = event.target;
|
|
7086
|
+
const link = target.closest('a');
|
|
7087
|
+
if (!link ||
|
|
7088
|
+
!this.hostElement?.contains(link) ||
|
|
7089
|
+
!core ||
|
|
7090
|
+
!core.measureClient) {
|
|
7091
|
+
return;
|
|
7092
|
+
}
|
|
7093
|
+
const document_position = this.documentPosition;
|
|
7094
|
+
const search_term = state.searchTerm;
|
|
7095
|
+
const number_of_documents = state.searchClientResponseItems.length || 0;
|
|
7096
|
+
core.measureClient.sendMeasureEvent('document_clicked', {
|
|
7097
|
+
document_position,
|
|
7098
|
+
number_of_documents,
|
|
7099
|
+
search_term,
|
|
7100
|
+
});
|
|
7101
|
+
};
|
|
7102
|
+
handleKeyDown = () => { };
|
|
6859
7103
|
render() {
|
|
6860
7104
|
if (!this.item) {
|
|
6861
7105
|
return;
|
|
6862
7106
|
}
|
|
6863
7107
|
if (typeof this.template === 'undefined') {
|
|
6864
|
-
return (hAsync("div", { class: 'searchcraft-search-result searchcraft-search-result-no-template' }, Object.entries(this.item.document).map(([key, value]) => (hAsync("p", { key: key }, hAsync("strong", null, key), ": ", value)))));
|
|
7108
|
+
return (hAsync("div", { class: 'searchcraft-search-result searchcraft-search-result-no-template', onClick: this.handleResultContainerClick, onKeyDown: this.handleKeyDown }, Object.entries(this.item.document).map(([key, value]) => (hAsync("p", { key: key }, hAsync("strong", null, key), ": ", value)))));
|
|
6865
7109
|
}
|
|
6866
|
-
return (hAsync("div", { class: 'searchcraft-search-result', innerHTML: this.templateHtml }));
|
|
7110
|
+
return (hAsync("div", { class: 'searchcraft-search-result', innerHTML: this.templateHtml, onClick: this.handleResultContainerClick, onKeyDown: this.handleKeyDown }));
|
|
6867
7111
|
}
|
|
6868
7112
|
static get cmpMeta() { return {
|
|
6869
7113
|
"$flags$": 0,
|
|
@@ -6885,12 +7129,13 @@ class SearchcraftSearchResult {
|
|
|
6885
7129
|
* This web component is responsible for displaying the results of a search query. Once a query is submitted, the component formats and presents an ordered list of the results.
|
|
6886
7130
|
*
|
|
6887
7131
|
*
|
|
6888
|
-
* @import
|
|
7132
|
+
* @react-import
|
|
6889
7133
|
* ```jsx
|
|
6890
|
-
* // react
|
|
6891
7134
|
* import { SearchcraftSearchResults } from "@searchcraft/react-sdk";
|
|
7135
|
+
* ```
|
|
6892
7136
|
*
|
|
6893
|
-
*
|
|
7137
|
+
* @vue-import
|
|
7138
|
+
* ```jsx
|
|
6894
7139
|
* import { SearchcraftSearchResults } from "@searchcraft/vue-sdk";
|
|
6895
7140
|
* ```
|
|
6896
7141
|
*
|
|
@@ -6923,7 +7168,7 @@ class SearchcraftSearchResult {
|
|
|
6923
7168
|
* />
|
|
6924
7169
|
* ```
|
|
6925
7170
|
*
|
|
6926
|
-
*
|
|
7171
|
+
* @vue-example
|
|
6927
7172
|
* ```jsx
|
|
6928
7173
|
* <SearchcraftSearchResults
|
|
6929
7174
|
* adInterval={4}
|
|
@@ -6938,37 +7183,50 @@ class SearchcraftSearchResults {
|
|
|
6938
7183
|
constructor(hostRef) {
|
|
6939
7184
|
registerInstance(this, hostRef);
|
|
6940
7185
|
}
|
|
7186
|
+
/**
|
|
7187
|
+
* A query that will appears when the component initializes or the search term is ''..
|
|
7188
|
+
*/
|
|
7189
|
+
initialQuery;
|
|
6941
7190
|
/**
|
|
6942
7191
|
* A callback function responsible for rendering a result. Passed to `searchcraft-search-result`.
|
|
6943
7192
|
*/
|
|
6944
7193
|
template;
|
|
6945
|
-
searchTerm = '';
|
|
6946
|
-
searchClientResponseItems;
|
|
6947
7194
|
adClientResponseItems = [];
|
|
6948
|
-
searchResultsPerPage;
|
|
6949
|
-
searchResultsPage;
|
|
6950
|
-
isSearchInProgress = true;
|
|
6951
7195
|
config;
|
|
7196
|
+
initialSearchClientResponseItems;
|
|
7197
|
+
isSearchInProgress = true;
|
|
7198
|
+
searchClientResponseItems;
|
|
7199
|
+
searchResultsPage;
|
|
7200
|
+
searchResultsPerPage;
|
|
7201
|
+
searchTerm = '';
|
|
6952
7202
|
unsubscribe = () => { };
|
|
6953
7203
|
componentDidLoad() {
|
|
7204
|
+
const state = searchcraftStore.getState();
|
|
7205
|
+
this.handleStateChange(state);
|
|
7206
|
+
this.searchClientResponseItems = state.searchClientResponseItems;
|
|
7207
|
+
this.searchTerm = state.searchTerm;
|
|
7208
|
+
this.config = state.core?.config;
|
|
7209
|
+
state.afterInit = (state) => {
|
|
7210
|
+
if (this.initialQuery) {
|
|
7211
|
+
state.setInitialQuery(this.initialQuery);
|
|
7212
|
+
}
|
|
7213
|
+
};
|
|
6954
7214
|
this.unsubscribe = searchcraftStore.subscribe((state) => this.handleStateChange(state));
|
|
6955
|
-
const currentState = searchcraftStore.getState();
|
|
6956
|
-
this.handleStateChange(currentState);
|
|
6957
|
-
this.searchClientResponseItems = currentState.searchClientResponseItems;
|
|
6958
|
-
this.searchTerm = currentState.searchTerm;
|
|
6959
|
-
this.config = currentState.core?.config;
|
|
6960
7215
|
}
|
|
6961
7216
|
disconnectedCallback() {
|
|
6962
7217
|
this.unsubscribe?.();
|
|
6963
7218
|
}
|
|
6964
7219
|
handleStateChange(state) {
|
|
6965
|
-
this.searchClientResponseItems = [...state.searchClientResponseItems];
|
|
6966
7220
|
this.adClientResponseItems = [...state.adClientResponseItems];
|
|
6967
|
-
this.searchTerm = state.searchTerm;
|
|
6968
|
-
this.searchResultsPage = state.searchResultsPage;
|
|
6969
|
-
this.searchResultsPerPage = state.searchResultsPerPage;
|
|
6970
7221
|
this.config = state.core?.config;
|
|
7222
|
+
this.initialSearchClientResponseItems = [
|
|
7223
|
+
...state.initialSearchClientResponseItems,
|
|
7224
|
+
];
|
|
6971
7225
|
this.isSearchInProgress = state.isSearchInProgress;
|
|
7226
|
+
this.searchClientResponseItems = [...state.searchClientResponseItems];
|
|
7227
|
+
this.searchResultsPage = state.searchResultsPage;
|
|
7228
|
+
this.searchResultsPerPage = state.searchResultsPerPage;
|
|
7229
|
+
this.searchTerm = state.searchTerm;
|
|
6972
7230
|
}
|
|
6973
7231
|
renderEmptyState() {
|
|
6974
7232
|
return (hAsync("div", { class: 'searchcraft-search-results-empty-state' }, hAsync("slot", { name: 'empty-search' })));
|
|
@@ -6977,7 +7235,12 @@ class SearchcraftSearchResults {
|
|
|
6977
7235
|
return (hAsync("div", { class: 'searchcraft-search-results' }, hAsync("div", { class: 'searchcraft-search-results-error-message' }, hAsync("searchcraft-error-message", null, "No search results found for \"", this.searchTerm, "\" query."))));
|
|
6978
7236
|
}
|
|
6979
7237
|
renderWithADMAds() {
|
|
6980
|
-
|
|
7238
|
+
const items = this.searchClientResponseItems?.length
|
|
7239
|
+
? this.searchClientResponseItems
|
|
7240
|
+
: this.initialSearchClientResponseItems?.length
|
|
7241
|
+
? this.initialSearchClientResponseItems
|
|
7242
|
+
: [];
|
|
7243
|
+
return (hAsync("div", { class: 'searchcraft-search-results' }, this.adClientResponseItems?.map((item) => (hAsync("searchcraft-ad", { adSource: 'adMarketplace', adClientResponseItem: item, adContainerId: nanoid(), key: item.id }))), items.map((item, index) => (hAsync("searchcraft-search-result", { key: item.id, "document-position": this.searchResultsPerPage * (this.searchResultsPage - 1) + index, index: index, item: item, template: this.template })))));
|
|
6981
7244
|
}
|
|
6982
7245
|
renderWithCustomAds() {
|
|
6983
7246
|
const itemsToRender = [];
|
|
@@ -6985,16 +7248,20 @@ class SearchcraftSearchResults {
|
|
|
6985
7248
|
const interstitialQuantity = this.config?.customAdInterstitialQuantity || 1;
|
|
6986
7249
|
const adStartQuantity = this.config?.customAdStartQuantity || 0;
|
|
6987
7250
|
const adEndQuantity = this.config?.customAdEndQuantity || 0;
|
|
6988
|
-
const
|
|
7251
|
+
const items = this.searchClientResponseItems?.length
|
|
7252
|
+
? this.searchClientResponseItems
|
|
7253
|
+
: this.initialSearchClientResponseItems?.length
|
|
7254
|
+
? this.initialSearchClientResponseItems
|
|
7255
|
+
: [];
|
|
6989
7256
|
// Renders ads at beginning
|
|
6990
7257
|
for (let n = 0; n < adStartQuantity; n++) {
|
|
6991
7258
|
itemsToRender.push(hAsync("searchcraft-ad", { adSource: 'Custom', adContainerId: nanoid(), key: `${n}-ad` }));
|
|
6992
7259
|
}
|
|
6993
7260
|
// Renders search results + interstitial ads
|
|
6994
|
-
|
|
7261
|
+
items.forEach((item, index) => {
|
|
6995
7262
|
if (interstitialInterval &&
|
|
6996
7263
|
index % interstitialInterval === 0 &&
|
|
6997
|
-
index + interstitialInterval <
|
|
7264
|
+
index + interstitialInterval < items.length &&
|
|
6998
7265
|
index >= interstitialInterval) {
|
|
6999
7266
|
for (let n = 0; n < interstitialQuantity; n++) {
|
|
7000
7267
|
itemsToRender.push(hAsync("searchcraft-ad", { adSource: 'Custom', adContainerId: nanoid(), key: `${item.id}-ad-${n}` }));
|
|
@@ -7015,16 +7282,20 @@ class SearchcraftSearchResults {
|
|
|
7015
7282
|
const interstitialQuantity = this.config?.nativoAdInterstitialQuantity || 1;
|
|
7016
7283
|
const adStartQuantity = this.config?.nativoAdStartQuantity || 0;
|
|
7017
7284
|
const adEndQuantity = this.config?.nativoAdEndQuantity || 0;
|
|
7018
|
-
const
|
|
7285
|
+
const items = this.searchClientResponseItems?.length
|
|
7286
|
+
? this.searchClientResponseItems
|
|
7287
|
+
: this.initialSearchClientResponseItems?.length
|
|
7288
|
+
? this.initialSearchClientResponseItems
|
|
7289
|
+
: [];
|
|
7019
7290
|
// Renders ads at beginning
|
|
7020
7291
|
for (let n = 0; n < adStartQuantity; n++) {
|
|
7021
7292
|
itemsToRender.push(hAsync("searchcraft-ad", { adSource: 'Nativo', adContainerId: nanoid(), key: `${n}-ad` }));
|
|
7022
7293
|
}
|
|
7023
7294
|
// Renders search results + interstitial ads
|
|
7024
|
-
|
|
7295
|
+
items.forEach((item, index) => {
|
|
7025
7296
|
if (interstitialInterval &&
|
|
7026
7297
|
(index + interstitialStartIndex) % interstitialInterval === 0 &&
|
|
7027
|
-
index + interstitialInterval <
|
|
7298
|
+
index + interstitialInterval < items.length &&
|
|
7028
7299
|
index >= interstitialInterval) {
|
|
7029
7300
|
for (let n = 0; n < interstitialQuantity; n++) {
|
|
7030
7301
|
itemsToRender.push(hAsync("searchcraft-ad", { adSource: 'Nativo', adContainerId: nanoid(), key: `${item.id}-ad-${n}` }));
|
|
@@ -7039,14 +7310,23 @@ class SearchcraftSearchResults {
|
|
|
7039
7310
|
return hAsync("div", { class: 'searchcraft-search-results' }, itemsToRender);
|
|
7040
7311
|
}
|
|
7041
7312
|
renderWithNoAds() {
|
|
7042
|
-
|
|
7313
|
+
const items = this.searchClientResponseItems?.length
|
|
7314
|
+
? this.searchClientResponseItems
|
|
7315
|
+
: this.initialSearchClientResponseItems?.length
|
|
7316
|
+
? this.initialSearchClientResponseItems
|
|
7317
|
+
: [];
|
|
7318
|
+
return (hAsync("div", { class: 'searchcraft-search-results' }, items.map((item, index) => (hAsync("searchcraft-search-result", { key: item.id, "document-position": this.searchResultsPerPage * (this.searchResultsPage - 1) + index, index: index, item: item, template: this.template })))));
|
|
7043
7319
|
}
|
|
7044
7320
|
render() {
|
|
7045
|
-
|
|
7321
|
+
const searchClientResponseItems = this.searchClientResponseItems || [];
|
|
7322
|
+
const initialSearchClientResponseItems = this.initialSearchClientResponseItems || [];
|
|
7323
|
+
if (this.searchTerm === '' &&
|
|
7324
|
+
initialSearchClientResponseItems.length === 0 &&
|
|
7325
|
+
!this.isSearchInProgress) {
|
|
7046
7326
|
return this.renderEmptyState();
|
|
7047
7327
|
}
|
|
7048
7328
|
if (this.searchTerm.length > 0 &&
|
|
7049
|
-
|
|
7329
|
+
searchClientResponseItems.length === 0 &&
|
|
7050
7330
|
!this.isSearchInProgress) {
|
|
7051
7331
|
return this.renderNoResultsFoundState();
|
|
7052
7332
|
}
|
|
@@ -7065,14 +7345,16 @@ class SearchcraftSearchResults {
|
|
|
7065
7345
|
"$flags$": 4,
|
|
7066
7346
|
"$tagName$": "searchcraft-search-results",
|
|
7067
7347
|
"$members$": {
|
|
7348
|
+
"initialQuery": [1, "initial-query"],
|
|
7068
7349
|
"template": [16],
|
|
7069
|
-
"searchTerm": [32],
|
|
7070
|
-
"searchClientResponseItems": [32],
|
|
7071
7350
|
"adClientResponseItems": [32],
|
|
7072
|
-
"
|
|
7073
|
-
"
|
|
7351
|
+
"config": [32],
|
|
7352
|
+
"initialSearchClientResponseItems": [32],
|
|
7074
7353
|
"isSearchInProgress": [32],
|
|
7075
|
-
"
|
|
7354
|
+
"searchClientResponseItems": [32],
|
|
7355
|
+
"searchResultsPage": [32],
|
|
7356
|
+
"searchResultsPerPage": [32],
|
|
7357
|
+
"searchTerm": [32]
|
|
7076
7358
|
},
|
|
7077
7359
|
"$listeners$": undefined,
|
|
7078
7360
|
"$lazyBundleId$": "-",
|
|
@@ -7083,12 +7365,13 @@ class SearchcraftSearchResults {
|
|
|
7083
7365
|
/**
|
|
7084
7366
|
* This web component is designed to choose the number of search results displayed.
|
|
7085
7367
|
*
|
|
7086
|
-
* @import
|
|
7368
|
+
* @react-import
|
|
7087
7369
|
* ```jsx
|
|
7088
|
-
* // react
|
|
7089
7370
|
* import { SearchcraftSearchResultsPerPage } from "@searchcraft/react-sdk";
|
|
7371
|
+
* ```
|
|
7090
7372
|
*
|
|
7091
|
-
*
|
|
7373
|
+
* @vue-import
|
|
7374
|
+
* ```jsx
|
|
7092
7375
|
* import { SearchcraftSearchResultsPerPage } from "@searchcraft/vue-sdk";
|
|
7093
7376
|
* ```
|
|
7094
7377
|
*
|
|
@@ -7352,10 +7635,10 @@ class SearchcraftSlider {
|
|
|
7352
7635
|
const endLabel = this.dataType === 'number'
|
|
7353
7636
|
? this.endValue
|
|
7354
7637
|
: new Date(this.endValue).getFullYear();
|
|
7355
|
-
return (hAsync("div", { key: '
|
|
7638
|
+
return (hAsync("div", { key: '9225b18ce2f40246837d183fcefdd0be7cc22383', class: 'searchcraft-slider' }, hAsync("div", { key: '8078c1eda2ceb781282f59216915896fdbe2a8d3', class: 'searchcraft-slider-range' }, hAsync("div", { key: '6a6bafa9f7abf41ab24f020cd291a4a08c618afb', class: 'searchcraft-slider-active-range', style: {
|
|
7356
7639
|
left: `${startPercent}%`,
|
|
7357
7640
|
width: `${endPercent - startPercent}%`,
|
|
7358
|
-
} }), hAsync("input", { key: '
|
|
7641
|
+
} }), hAsync("input", { key: 'f07a91d441d277b8e9eba34e39093393a44bbf53', class: classNames('searchcraft-slider-input', 'searchcraft-slider-input-min-handle'), max: this.max, min: this.min, onInput: this.handleStartValueChange.bind(this), step: this.granularity, style: { zIndex: this.lastFocusedHandle === 'min' ? '2' : '1' }, type: 'range', value: this.startValue }), hAsync("input", { key: '0637ea5fe123abe1d77c540b347c78fc8ad3d281', class: classNames('searchcraft-slider-input', 'searchcraft-slider-input-max-handle'), max: this.max, min: this.min, onInput: this.handleEndValueChange.bind(this), step: this.granularity, style: { zIndex: this.lastFocusedHandle === 'max' ? '2' : '1' }, type: 'range', value: this.endValue })), hAsync("div", { key: 'b62f8d8485915dddefb7ca29f62b4a96d70470c5', class: 'searchcraft-slider-label' }, hAsync("span", { key: 'fd5d32172ce53d93b858ca54c17b12b80fcdde1d', class: 'searchcraft-slider-start-label' }, startLabel), hAsync("span", { key: '8f4d230b78fb8d896a469f17ade3a3fd3162b427', class: 'searchcraft-slider-end-label' }, endLabel))));
|
|
7359
7642
|
}
|
|
7360
7643
|
static get cmpMeta() { return {
|
|
7361
7644
|
"$flags$": 0,
|
|
@@ -7375,18 +7658,19 @@ class SearchcraftSlider {
|
|
|
7375
7658
|
}; }
|
|
7376
7659
|
}
|
|
7377
7660
|
|
|
7378
|
-
var styles = `:root{--sc-text-base-size: 1em;--sc-text-scale-ratio: 1.1;--sc-font-family: sans-serif;--sc-font-bold: 700;--sc-font-normal: 400;--sc-heading-1-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-2-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-3-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-4-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-5-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-6-font-size: calc( var(--sc-text-base-size) / ( var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) ) );--sc-body-font-size: calc(var(--sc-text-base-size));--sc-body-small-font-size: calc( var(--sc-text-base-size) / ( var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) ) )}:root{--sc-border-radius: 8px;--sc-border-radius-sm: calc(var(--sc-border-radius) / 2);--sc-border-radius-lg: calc(var(--sc-border-radius) * 2);--sc-border-radius-full: 9999px}:root{--sc-breakpoint-sm: 576px;--sc-breakpoint-md: 768px;--sc-breakpoint-lg: 992px}:root{--sc-surface-neutral-primary: var(--sc-color-background, #ffffff);--sc-color-background-hover: hsl( from var(--sc-color-background) h s clamp(10, calc(l + 5), 95) );--sc-surface-neutral-primary-hover: var(--sc-color-background-hover, #fafafa);--sc-color-background-active: hsl( from var(--sc-color-background) h s clamp(5, calc(l - 5), 90) );--sc-surface-neutral-primary-active: var( --sc-color-background-active, #f7f7f7 );--sc-surface-neutral-secondary: var( --sc-color-background-secondary, var(--sc-color-background, #f3f3f3) );--sc-surface-neutral-secondary-hover: var( --sc-color-background-secondary-hover, var(--sc-color-background-hover, #e6e6e6) );--sc-surface-neutral-secondary-active: var( --sc-color-background-secondary-active, var(--sc-color-background-active, #e0e0e0) );--sc-surface-neutral-light: #ffffff;--sc-content-neutral-primary: var(--sc-color-foreground, #292929);--sc-color-foreground-secondary: hsl( from var(--sc-color-foreground) h s clamp(10, calc(l + 5), 90) );--sc-content-neutral-secondary: var(--sc-color-foreground-secondary, #404040);--sc-border-neutral: rgba(0, 0, 0, 0.1);--sc-surface-brand-primary: var(--sc-color-brand, #000000);--sc-color-brand-hover: hsl( from var(--sc-color-brand) h s clamp(20, calc(l + 5), 95) );--sc-surface-brand-primary-hover: var(--sc-color-brand-hover, #2e2e2e);--sc-color-brand-active: hsl( from var(--sc-color-brand) h s clamp(10, calc(l - 5), 85) );--sc-surface-brand-primary-active: var(--sc-color-brand-active, #292929);--sc-surface-brand-secondary: var( --sc-color-brand-secondary, var(--sc-color-brand, #e6e6e6) );--sc-surface-brand-secondary-hover: var( --sc-color-brand-secondary-hover, var(--sc-color-brand-hover, #ebebeb) );--sc-surface-brand-secondary-active: var( --sc-color-brand-secondary-active, var(--sc-color-brand-active, #e0e0e0) );--sc-content-brand: var( --sc-color-brand-text, var(--sc-surface-brand-primary) );--sc-content-brand-on-primary: #ffffff;--sc-border-brand: var(--sc-surface-brand-primary);--sc-surface-success-primary: var(--sc-color-success, #008000);--sc-color-success-primary-hover: hsl(from var(--sc-color-success) h s 30);--sc-surface-success-primary-hover: var( --sc-color-success-primary-hover, #009900 );--sc-color-success-primary-active: hsl(from var(--sc-color-success) h s 20);--sc-surface-success-primary-active: var( --sc-color-success-primary-active, #006600 );--sc-color-success-secondary: hsl(from var(--sc-color-success) h s 90);--sc-surface-success-secondary: var(--sc-color-success-secondary, #ccffcc);--sc-color-success-secondary-hover: hsl( from var(--sc-color-success-secondary) h s 95 );--sc-surface-success-secondary-hover: var( --sc-color-success-secondary-hover, #e6ffe6 );--sc-color-success-secondary-active: hsl( from var(--sc-color-success-secondary) h s 85 );--sc-surface-success-secondary-active: var( --sc-color-success-secondary-active, #b2ffb2 );--sc-content-success: var( --sc-color-brand-text, hsl(from var(--sc-surface-success-primary) h s 30) );--sc-content-success-on-primary: #ffffff;--sc-border-success: var(--sc-surface-success-primary);--sc-surface-caution-primary: var(--sc-color-caution, #cc6600);--sc-color-caution-primary-hover: hsl(from var(--sc-color-caution) h s 30);--sc-surface-caution-primary-hover: var( --sc-color-caution-primary-hover, #e57300 );--sc-color-caution-primary-active: hsl(from var(--sc-color-caution) h s 20);--sc-surface-caution-primary-active: var( --sc-color-caution-primary-active, #b25a00 );--sc-color-caution-secondary: hsl(from var(--sc-color-caution) h s 90);--sc-surface-caution-secondary: var(--sc-color-caution-secondary, #ffd9b3);--sc-color-caution-secondary-hover: hsl( from var(--sc-color-caution-secondary) h s 95 );--sc-surface-caution-secondary-hover: var( --sc-color-caution-secondary-hover, #ffe5cc );--sc-color-caution-secondary-active: hsl( from var(--sc-color-caution-secondary) h s 85 );--sc-surface-caution-secondary-active: var( --sc-color-caution-secondary-active, #ffcc99 );--sc-content-caution: var( --sc-color-caution-text, hsl(from var(--sc-surface-caution-primary) h s 30) );--sc-content-caution-on-primary: #ffffff;--sc-border-caution: var(--sc-surface-caution-primary);--sc-surface-danger-primary: var(--sc-color-danger, #cc0000);--sc-color-danger-primary-hover: hsl(from var(--sc-color-danger) h s 30);--sc-surface-danger-primary-hover: var( --sc-color-danger-primary-hover, #e50000 );--sc-color-danger-primary-active: hsl(from var(--sc-color-danger) h s 20);--sc-surface-danger-primary-active: var( --sc-color-danger-primary-active, #b30000 );--sc-color-danger-secondary: hsl(from var(--sc-color-danger) h s 90);--sc-surface-danger-secondary: var(--sc-color-danger-secondary, #ffcccc);--sc-color-danger-secondary-hover: hsl( from var(--sc-color-danger-secondary) h s 95 );--sc-surface-danger-secondary-hover: var( --sc-color-danger-secondary-hover, #ffe7e7 );--sc-color-danger-secondary-active: hsl( from var(--sc-color-danger-secondary) h s 85 );--sc-surface-danger-secondary-active: var( --sc-color-danger-secondary-active, #ffb3b3 );--sc-content-danger: var( --sc-color-caution-text, hsl(from var(--sc-surface-danger-primary) h s 30) );--sc-content-danger-on-primary: #ffffff;--sc-border-danger: var(--sc-surface-danger-primary);--sc-color-disabled: hsl(from var(--sc-color-page-primary) h s calc(l * 0.5));--sc-surface-disabled: var(--sc-color-disabled, #d9d9d9);--sc-color-disabled-text: hsl( from var(--sc-color-text-primary) h s calc(l * 0.5) );--sc-content-disabled: var(--sc-color-disabled-text, #737373);--sc-content-disabled-on-disabled: var(--sc-color-disabled-text, #737373)}@supports(hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none){:root{--sc-color-background-hover: hsl( from var(--sc-color-background) h s clamp(10%, calc(l + 5%), 95%) );--sc-color-background-active: hsl( from var(--sc-color-background) h s clamp(5%, calc(l - 5%), 90%) );--sc-color-foreground-secondary: hsl( from var(--sc-color-foreground) h s clamp(10%, calc(l + 5%), 90%) );--sc-color-brand-hover: hsl( from var(--sc-color-brand) h s clamp(20%, calc(l + 5%), 95%) );--sc-color-brand-active: hsl( from var(--sc-color-brand) h s clamp(10%, calc(l - 5%), 85%) );--sc-color-success-primary-hover: hsl(from var(--sc-color-success) h s 30%);--sc-color-success-primary-active: hsl( from var(--sc-color-success) h s 20% );--sc-color-success-secondary: hsl(from var(--sc-color-success) h s 90%);--sc-color-success-secondary-hover: hsl( from var(--sc-color-success-secondary) h s 95% );--sc-color-success-secondary-active: hsl( from var(--sc-color-success-secondary) h s 85% );--sc-content-success: var( --sc-color-brand-text, hsl(from var(--sc-surface-success-primary) h s 30%) );--sc-color-caution-primary-hover: hsl(from var(--sc-color-caution) h s 30%);--sc-color-caution-primary-active: hsl( from var(--sc-color-caution) h s 20% );--sc-color-caution-secondary: hsl(from var(--sc-color-caution) h s 90%);--sc-color-caution-secondary-hover: hsl( from var(--sc-color-caution-secondary) h s 95% );--sc-color-caution-secondary-active: hsl( from var(--sc-color-caution-secondary) h s 85% );--sc-content-caution: var( --sc-color-caution-text, hsl(from var(--sc-surface-caution-primary) h s 30%) );--sc-color-danger-primary-hover: hsl(from var(--sc-color-danger) h s 30%);--sc-color-danger-primary-active: hsl(from var(--sc-color-danger) h s 20%);--sc-color-danger-secondary: hsl(from var(--sc-color-danger) h s 90%);--sc-color-danger-secondary-hover: hsl( from var(--sc-color-danger-secondary) h s 95% );--sc-color-danger-secondary-active: hsl( from var(--sc-color-danger-secondary) h s 85% );--sc-content-danger: var( --sc-color-caution-text, hsl(from var(--sc-surface-danger-primary) h s 30%) )}}.searchcraft-custom-ad{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size)}.searchcraft-adm-ad{all:unset;border:2px solid blue;border-radius:var(--sc-border-radius);cursor:pointer;display:flex;flex-direction:row;gap:8px;padding:var(--sc-popover-list-item-padding-vertical) var(--sc-popover-list-item-padding-horizontal)}.searchcraft-adm-ad:focus{background-color:var(--sc-surface-neutral-secondary-active);color:var(--sc-content-neutral-secondary)}.searchcraft-adm-ad:hover{background-color:var(--sc-surface-neutral-secondary-hover);color:var(--sc-content-neutral-secondary)}.searchcraft-adm-ad-title{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);color:inherit;margin:0}.searchcraft-adm-ad-subtitle{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);color:inherit;margin:0}.searchcraft-adm-ad-image-wrapper{align-items:center;display:flex;flex-shrink:0;height:var(--sc-popover-list-item-image-size);justify-content:center;width:var(--sc-popover-list-item-image-size)}.searchcraft-adm-ad-image{max-height:var(--sc-popover-list-item-image-size);max-width:var(--sc-popover-list-item-image-size)}.searchcraft-adm-ad-info-wrapper{display:flex;flex-direction:column;gap:8px;justify-content:center}.searchcraft-search-result{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size)}.searchcraft-search-result-no-template{display:flex;flex-direction:column;font-size:.875rem}.searchcraft-search-result-no-template>p{margin:0}.searchcraft-search-results{display:flex;flex-direction:column;justify-content:center;gap:16px}.searchcraft-search-results-empty-state{text-align:center}.searchcraft-search-results-error-message{text-align:center}.searchcraft-button{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);background:none;border:2px solid rgba(0,0,0,0);border-radius:var(--sc-border-radius);cursor:pointer;display:flex;gap:4px;padding:12px;position:relative}.searchcraft-button.searchcraft-button-disabled{cursor:not-allowed}.searchcraft-button-primary{background-color:var(--sc-surface-brand-primary);color:var(--sc-content-brand-on-primary);font-weight:var(--sc-font-bold)}.searchcraft-button-primary:hover{background-color:var(--sc-surface-brand-primary-hover)}.searchcraft-button-primary:focus{border-color:var(--sc-border-primary)}.searchcraft-button-primary:active{background-color:var(--sc-surface-brand-primary-active)}.searchcraft-button-primary.searchcraft-button-disabled,.searchcraft-button-primary.searchcraft-button-disabled:hover,.searchcraft-button-primary.searchcraft-button-disabled:focus,.searchcraft-button-primary.searchcraft-button-disabled:active{background-color:var(--sc-surface-disabled);border-color:rgba(0,0,0,0);color:var(--sc-content-disabled)}.searchcraft-button-tertiary{background-color:var(--sc-surface-neutral-primary);color:var(--sc-content-brand);font-weight:var(--sc-font-normal)}.searchcraft-button-tertiary:hover{background-color:var(--sc-surface-brand-secondary-hover)}.searchcraft-button-tertiary:focus{background-color:var(--sc-surface-neutral-light);border-color:var(--sc-border-primary)}.searchcraft-button-tertiary:active{background-color:var(--sc-surface-brand-secondary-active)}.searchcraft-button-tertiary.searchcraft-button-disabled,.searchcraft-button-tertiary.searchcraft-button-disabled:hover,.searchcraft-button-tertiary.searchcraft-button-disabled:focus,.searchcraft-button-tertiary.searchcraft-button-disabled:active{background-color:var(--sc-surface-neutral-light);border-color:rgba(0,0,0,0);color:var(--sc-content-disabled)}.searchcraft-button-icon{fill:none}.searchcraft-error-message{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);color:var(--sc-content-danger);margin:0}.searchcraft-facet-list{width:100%}.searchcraft-facet-list-checkbox-label{align-items:center;color:var(--sc-content-brand);display:flex;font-family:var(--sc-font-family);font-size:14px;font-weight:600;gap:14px;position:relative;-webkit-font-smoothing:antialiased}.searchcraft-facet-list-checkbox-input{align-items:center;appearance:none;background-color:var(--sc-surface-neutral-secondary);border:1px solid var(--sc-surface-disabled);border-radius:var(--sc-border-radius-sm);cursor:pointer;display:flex;height:24px;justify-content:center;width:24px}.searchcraft-facet-list-checkbox-input:focus{outline:2px solid var(--sc-surface-brand-primary)}.searchcraft-facet-list-checkbox-input:checked{background-color:var(--sc-surface-brand-primary);position:relative}.searchcraft-facet-list-checkbox-input:checked+.searchcraft-facet-list-checkbox-input-check-icon{display:block}.searchcraft-facet-list-checkbox-input:checked+.searchcraft-facet-list-checkbox-input-dash-icon{display:block}.searchcraft-facet-list-child-checkbox-label{margin-left:24px}.searchcraft-facet-list-checkbox-input-check-icon{display:none;height:16px;left:8px;position:absolute;top:9px;width:16px}.searchcraft-facet-list-checkbox-input-dash-icon{display:none;height:3px;left:9px;position:absolute;top:3px;width:14px}.searchcraft-facet-list-message{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);color:var(--sc-content-disabled);text-align:center}.searchcraft-filter-panel{display:flex;flex-direction:column;gap:16px}.searchcraft-filter-panel-section{display:flex;flex-direction:column;gap:8px}.searchcraft-filter-panel-label{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-bold)}:root{--sc-input-form-border-radius: var(--sc-border-radius);--sc-input-form-search-icon-size: 20px;--sc-input-form-clear-icon-size: 20px;--sc-input-form-padding-left: 44px;--sc-input-form-padding-right: 44px}.searchcraft-input-form-grid{display:grid;gap:4px 8px}.searchcraft-input-form-grid-button-left{grid-template-rows:repeat(3, auto);grid-template-columns:auto 1fr}.searchcraft-input-form-grid-button-left .searchcraft-input-form-button{grid-column:1/span 1;grid-row:2/span 1}.searchcraft-input-form-grid-button-left .searchcraft-input-form-label{grid-column:2/span 1;grid-row:1/span 1}.searchcraft-input-form-grid-button-left .searchcraft-input-form-error-message{grid-column:2/span 1;grid-row:3/span 1}.searchcraft-input-form-grid-button-left .searchcraft-input-form-input-wrapper{grid-column:2/span 1;grid-row:2/span 1}.searchcraft-input-form-grid-button-right{grid-template-rows:repeat(3, auto);grid-template-columns:1fr auto}.searchcraft-input-form-grid-button-right .searchcraft-input-form-button{grid-column:2/span 1;grid-row:2/span 1}.searchcraft-input-form-grid-button-right .searchcraft-input-form-label{grid-column:1/span 1;grid-row:1/span 1}.searchcraft-input-form-grid-button-right .searchcraft-input-form-error-message{grid-column:1/span 1;grid-row:3/span 1}.searchcraft-input-form-grid-button-right .searchcraft-input-form-input-wrapper{grid-column:1/span 1;grid-row:2/span 1}.searchcraft-input-form-grid-button-none{grid-template-rows:repeat(3, auto);grid-template-columns:auto}.searchcraft-input-form-grid-button-none .searchcraft-input-form-button{display:none}.searchcraft-input-form-grid-button-none .searchcraft-input-form-label{grid-column:1/span 1;grid-row:1/span 1}.searchcraft-input-form-grid-button-none .searchcraft-input-form-error-message{grid-column:1/span 1;grid-row:3/span 1}.searchcraft-input-form-grid-button-none .searchcraft-input-form-input-wrapper{grid-column:1/span 1;grid-row:2/span 1}.searchcraft-input-form-input-wrapper{display:flex;position:relative}.searchcraft-input-form-input{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);background-color:var(--sc-surface-neutral-secondary);border-radius:var(--sc-input-form-border-radius);border:none;color:var(--sc-content-neutral-primary);flex:1;outline:none;padding:12px var(--sc-input-form-padding-left)}.searchcraft-input-form-input::placeholder{color:var(--sc-content-disabled)}.searchcraft-input-form-input:focus{outline:var(--sc-border-brand) solid 2px}.searchcraft-input-form-input:focus::placeholder{opacity:0}.searchcraft-input-form-error{color:var(--sc-content-danger);outline:var(--sc-border-danger) solid 2px}.searchcraft-input-form-error:focus{outline:var(--sc-border-danger) solid 2px}.searchcraft-input-form-input-icon{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;pointer-events:none;top:0;width:var(--sc-input-form-padding-left)}.searchcraft-input-form-input-search-icon{color:var(--sc-content-neutral-secondary);fill:none;height:var(--sc-input-form-search-icon-size);pointer-events:none;width:var(--sc-input-form-search-icon-size)}.searchcraft-input-form-clear-button{all:unset;align-items:center;bottom:0;border:none;cursor:pointer;display:flex;justify-content:center;outline:none;position:absolute;right:0;top:0;width:var(--sc-input-form-padding-right)}.searchcraft-input-form-clear-button-icon{color:var(--sc-content-brand);fill:none;height:var(--sc-input-form-clear-icon-size);width:var(--sc-input-form-clear-icon-size)}.searchcraft-input-label{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);color:var(--sc-content-neutral-primary);font-weight:var(--sc-font-bold);margin-top:4px;margin-bottom:4px}:root{--sc-popover-form-border-radius: var(--sc-border-radius);--sc-popover-list-view-height: 400px;--sc-popover-list-item-image-size: 60px;--sc-popover-list-item-padding-horizontal: 8px;--sc-popover-list-item-padding-vertical: 8px;--sc-popover-modal-max-width: 570px}.searchcraft-popover-form{display:flex;flex:1;flex-direction:column}.searchcraft-popover-form-input-wrapper{background-color:var(--sc-surface-neutral-secondary);display:flex;flex-direction:row;gap:4px;padding:12px}.searchcraft-popover-form-input-wrapper>searchcraft-input-form{flex:1}.searchcraft-popover-form-button{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);border:0;border-radius:var(--sc-popover-form-border-radius);background:none;cursor:pointer;flex-shrink:0;outline:0;padding:0 12px}.searchcraft-popover-form-button:hover{background-color:var(--sc-surface-brand-secondary-hover)}.searchcraft-popover-form-button:focus{background-color:var(--sc-surface-brand-secondary-active)}.searchcraft-popover-form-inline .searchcraft-input-form-input{border-top-left-radius:var(--sc-popover-form-border-radius);border-bottom-left-radius:var(--sc-popover-form-border-radius);border-bottom-right-radius:var(--sc-popover-form-border-radius);border-top-right-radius:var(--sc-popover-form-border-radius);border:none;outline:none}.searchcraft-popover-form-inline.searchcraft-popover-form-active .searchcraft-input-form-input{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--sc-popover-form-border-radius);border-top-right-radius:var(--sc-popover-form-border-radius)}.searchcraft-popover-form-inline-wrapper-outer{position:relative}.searchcraft-popover-form-inline-wrapper-inner{height:var(--sc-popover-list-view-height);position:absolute;width:100%;z-index:1000}.searchcraft-popover-form-inline .searchcraft-popover-list-view{background-color:var(--sc-surface-neutral-secondary);border-bottom-left-radius:var(--sc-popover-form-border-radius);border-bottom-right-radius:var(--sc-popover-form-border-radius);display:flex;flex-direction:column;max-height:var(--sc-popover-list-view-height);overflow:auto}.searchcraft-popover-form-modal{--sc-popover0-form-border-radius: var(--sc-border-radius-lg);align-items:flex-start;background-color:var(--sc-surface-neutral-secondary);display:flex;inset:0;justify-content:center;padding:0;position:fixed;z-index:1000}@media(min-width: 576px){.searchcraft-popover-form-modal{background-color:rgba(0,0,0,0);padding:16px}}.searchcraft-popover-form-modal .searchcraft-popover-list-view{background-color:var(--sc-surface-neutral-secondary);border-bottom-left-radius:0;border-bottom-right-radius:0;display:flex;flex-direction:column;overflow:auto}@media(min-width: 576px){.searchcraft-popover-form-modal .searchcraft-popover-list-view{max-height:var(--sc-popover-list-view-height)}}.searchcraft-popover-form-modal .searchcraft-popover-list-view{overflow:scroll}@media(min-width: 576px){.searchcraft-popover-form-modal .searchcraft-popover-list-view{overflow:auto}}.searchcraft-popover-form-modal{border-radius:calc(--sc-popover-form-border-radius - 12px);border-radius:calc(var(--sc-popover-form-border-radius) - 12px);outline-width:1px;outline-color:var(--sc-border-neutral)}.searchcraft-popover-form-modal-backdrop{background-color:rgba(0,0,0,.5);display:none;inset:0;position:absolute}@media(min-width: 576px){.searchcraft-popover-form-modal-backdrop{display:block}}.searchcraft-popover-form-modal-inner{border-radius:var(--sc-popover-form-border-radius);display:flex;inset:0;margin-top:0px;overflow:hidden;position:absolute;z-index:1002}@media(min-width: 576px){.searchcraft-popover-form-modal-inner{inset:auto;margin-top:100px;max-width:var(--sc-popover-modal-max-width);position:relative;width:100%}}.searchcraft-popover-form-modal-input-wrapper .searchcraft-input-form-input{border-radius:calc(--sc-popover-form-border-radius - 12px);border-radius:calc(var(--sc-popover-form-border-radius) - 12px);border:1px solid var(--sc-border-neutral)}.searchcraft-popover-form-modal-button{border-radius:calc(--sc-popover-form-border-radius - 12px);border-radius:calc(var(--sc-popover-form-border-radius) - 12px)}.searchcraft-popover-form-fullscreen{position:fixed;inset:0;z-index:1000;background-color:var(--sc-surface-neutral-secondary)}.searchcraft-popover-form-fullscreen .searchcraft-popover-form{position:absolute;inset:0}.searchcraft-popover-form-fullscreen .searchcraft-popover-list-view{overflow:scroll}.searchcraft-popover-form-fullscreen-input-wrapper .searchcraft-input-form-input{border-radius:var(--sc-popover-form-border-radius);outline-width:1px;outline-color:var(--sc-border-neutral)}.searchcraft-popover-form-fullscreen-button{border-radius:var(--sc-popover-form-border-radius)}.searchcraft-popover-list-item{all:unset;color:var(--sc-content-neutral-secondary);display:flex;flex-direction:row;cursor:pointer;gap:8px;padding-right:var(--sc-popover-list-item-padding-horizontal);padding-left:var(--sc-popover-list-item-padding-horizontal);padding-top:var(--sc-popover-list-item-padding-vertical);padding-bottom:var(--sc-popover-list-item-padding-vertical)}.searchcraft-popover-list-item:focus{background-color:var(--sc-surface-neutral-secondary-active);color:var(--sc-content-neutral-secondary)}.searchcraft-popover-list-item:hover{background-color:var(--sc-surface-neutral-secondary-hover);color:var(--sc-content-neutral-secondary)}.searchcraft-popover-list-item-title{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);margin:0;color:inherit}.searchcraft-popover-list-item-subtitle{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);margin:0;color:inherit}.searchcraft-popover-list-item-image-wrapper{width:var(--sc-popover-list-item-image-size);height:var(--sc-popover-list-item-image-size);display:flex;align-items:center;justify-content:center;flex-shrink:0}.searchcraft-popover-list-item-image{max-width:var(--sc-popover-list-item-image-size);max-height:var(--sc-popover-list-item-image-size)}.searchcraft-popover-list-item-info-wrapper{display:flex;flex-direction:column;gap:8px;justify-content:center}.searchcraft-results-info{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);color:var(--sc-content-primary);margin:0}.searchcraft-slider{align-items:center;display:flex;flex-direction:column;gap:10px;width:100%}.searchcraft-slider-range{align-items:center;background-color:var(--sc-surface-disabled);border-radius:999px;display:flex;position:relative;height:4px;width:100%}.searchcraft-slider-range::-webkit-slider-runnable-track{pointer-events:none}.searchcraft-slider-range .searchcraft-slider-active-range{background-color:var(--sc-surface-brand-primary);border-radius:2px;height:4px;position:absolute;top:50%;transform:translateY(-50%);z-index:0}.searchcraft-slider-range .searchcraft-slider-active-range::-webkit-slider-runnable-track{pointer-events:none}.searchcraft-slider-range .searchcraft-slider-active-range::-moz-range-track{pointer-events:none}.searchcraft-slider-range .searchcraft-slider-input{appearance:none;background:rgba(0,0,0,0);border-radius:2px;height:4px;margin:0;outline:none;pointer-events:none;position:absolute;width:100%;-webkit-appearance:none}.searchcraft-slider-range .searchcraft-slider-input::-webkit-slider-thumb{background-color:var(--sc-surface-neutral-light);border-radius:50%;border:2px solid var(--sc-border-neutral);cursor:pointer;height:20px;pointer-events:all;width:20px;-webkit-appearance:none}.searchcraft-slider-range .searchcraft-slider-input::-moz-range-thumb{background-color:var(--sc-surface-neutral-light);border-radius:50%;border:2px solid var(--sc-border-neutral);cursor:pointer;height:20px;pointer-events:all;width:20px}.searchcraft-slider-label{color:var(--sc-content-primary);display:flex;font-family:"Source Sans Pro",sans-serif;font-size:15px;font-weight:600;justify-content:space-between;margin-top:10px;width:100%}.searchcraft-slider-start-label,.searchcraft-slider-end-label{min-width:30px;text-align:center}.searchcraft-toggle-button{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.searchcraft-toggle-button-label{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);color:var(--sc-content-neutral-primary);margin:0}.searchcraft-toggle-button-sub-label{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);color:var(--sc-content-neutral-secondary);margin:0}.searchcraft-toggle-button-background{background:var(--sc-surface-disabled);border-radius:var(--sc-border-radius-full);border:none;cursor:pointer;flex-shrink:0;height:26px;position:relative;transition:background-color .2s;width:44px}.searchcraft-toggle-button-handle{background:var(--sc-surface-neutral-light);border-radius:50%;height:18px;left:4px;position:absolute;top:calc(50% - 9px);transition:transform .3s ease;width:18px}.searchcraft-toggle-button-active .searchcraft-toggle-button-background{background:var(--sc-surface-brand-primary);box-shadow:0px 0px 0px 1px rgba(0,0,0,.05)}.searchcraft-toggle-button-active .searchcraft-toggle-button-handle{transform:translateX(16px)}.searchcraft-pagination{display:inline-grid;gap:16px;grid-template-columns:repeat(3, auto);grid-template-rows:1fr}.searchcraft-pagination-list{border:1px solid var(--sc-border-neutral);border-radius:var(--sc-border-radius);display:flex;list-style-type:none;margin:0;overflow:hidden;padding:0;width:auto}.searchcraft-pagination-list li{border-right:1px solid var(--sc-border-neutral);height:100%;min-height:44px;width:44px}.searchcraft-pagination-list li:last-child{border-right:none}.searchcraft-pagination-item{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);align-items:center;background-color:var(--sc-surface-neutral-primary);border:none;display:flex;height:100%;justify-content:center;width:100%}.searchcraft-pagination-item-active{background-color:var(--sc-surface-brand-secondary);font-weight:var(--sc-font-bold)}.searchcraft-pagination-control{border:1px solid var(--sc-border-neutral);border-radius:var(--sc-border-radius)}.searchcraft-pagination-range{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);align-items:center;display:flex}.searchcraft-select{display:flex;flex-direction:column;gap:4px}.searchcraft-select-label{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-bold)}.searchcraft-select-input-wrapper{position:relative}.searchcraft-select-input{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);appearance:none;background-color:var(--sc-surface-neutral-secondary);border:2px solid rgba(0,0,0,0);border-radius:var(--sc-border-radius);cursor:pointer;height:44px;padding:0 44px 0 16px;width:100%}.searchcraft-select-input:hover{background-color:var(--sc-surface-neutral-secondary-hover)}.searchcraft-select-input:active{background-color:var(--sc-surface-neutral-secondary-active)}.searchcraft-select-input:focus{border-color:var(--sc-border-brand);outline:none}.searchcraft-select-input-icon{fill:none;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.searchcraft-select-caption{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size)}.searchcraft-search-results-per-page{display:flex}.searchcraft-search-results-per-page-select{align-items:center;display:flex;gap:12px}.searchcraft-search-results-per-page-select-label{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size)}.searchcraft-search-results-per-page-select-input{min-width:120px}/*# sourceMappingURL=hologram.css.map */
|
|
7661
|
+
var styles = `[class*=searchcraft-],[class*=searchcraft-] *,[class*=searchcraft-]::before,[class*=searchcraft-]::after,[class*=searchcraft-] *,::before,[class*=searchcraft-] *,::after{box-sizing:border-box;padding:0;margin:0}:root{--sc-text-base-size: 1em;--sc-text-scale-ratio: 1.1;--sc-font-family: sans-serif;--sc-font-bold: 700;--sc-font-normal: 400;--sc-heading-1-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-2-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-3-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-4-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-5-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-6-font-size: calc( var(--sc-text-base-size) / ( var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) ) );--sc-body-font-size: calc(var(--sc-text-base-size));--sc-body-small-font-size: calc( var(--sc-text-base-size) / ( var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) ) )}:root{--sc-border-radius: 8px;--sc-border-radius-sm: calc(var(--sc-border-radius) / 2);--sc-border-radius-lg: calc(var(--sc-border-radius) * 2);--sc-border-radius-xl: calc(var(--sc-border-radius) * 3);--sc-border-radius-2xl: calc(var(--sc-border-radius) * 4);--sc-border-radius-full: 9999px}:root{--sc-breakpoint-sm: 576px;--sc-breakpoint-md: 768px;--sc-breakpoint-lg: 992px}:root{--sc-surface-neutral-primary: var(--sc-color-background, #ffffff);--sc-color-background-hover-computed: hsl( from var(--sc-color-background) h s clamp(10, calc(l + 5), 95) );--sc-surface-neutral-primary-hover: var( --sc-color-background-hover, var(--sc-color-background-hover-computed, #fafafa) );--sc-color-background-active-computed: hsl( from var(--sc-color-background) h s clamp(5, calc(l - 5), 90) );--sc-surface-neutral-primary-active: var( --sc-color-background-active, var(--sc-color-background-active-computed, #f7f7f7) );--sc-surface-neutral-secondary: var( --sc-color-background-secondary, var(--sc-color-background, #f3f3f3) );--sc-color-background-secondary-hover-computed: hsl( from var(--sc-color-background-secondary) h s clamp(10, calc(l + 5), 95) );--sc-surface-neutral-secondary-hover: var( --sc-color-background-hover, var(--sc-color-background-hover-computed, #e6e6e6) );--sc-color-background-secondary-active-computed: hsl( from var(--sc-color-background-secondary) h s clamp(5, calc(l - 5), 90) );--sc-surface-neutral-secondary-active: var( --sc-color-background-secondary-active, var(--sc-color-background-active-computed, #e0e0e0) );--sc-surface-neutral-light: #ffffff;--sc-content-neutral-primary: var(--sc-color-foreground, #292929);--sc-color-foreground-secondary-computed: hsl( from var(--sc-color-foreground) h s clamp(10, calc(l + 5), 90) );--sc-content-neutral-secondary: var( --sc-color-foreground-secondary, var(--sc-color-foreground-secondary-computed, #404040) );--sc-border-neutral: var(--sc-color-border, rgba(0, 0, 0, 0.1));--sc-surface-brand-primary: var(--sc-color-brand, #000000);--sc-color-brand-hover-computed: hsl( from var(--sc-color-brand) h s clamp(20, calc(l + 5), 95) );--sc-surface-brand-primary-hover: var( --sc-color-brand-hover, var(--sc-color-brand-hover-computed, #2e2e2e) );--sc-color-brand-active-computed: hsl( from var(--sc-color-brand) h s clamp(10, calc(l - 5), 85) );--sc-surface-brand-primary-active: var( --sc-color-brand-active, var(--sc-color-brand-active-computed, #292929) );--sc-surface-brand-secondary: var( --sc-color-brand-secondary, var(--sc-color-brand, #e6e6e6) );--sc-color-brand-secondary-hover-computed: hsl( from var(--sc-color-brand-secondary) h s clamp(10, calc(l + 5), 95) );--sc-surface-brand-secondary-hover: var( --sc-color-background-hover, var(--sc-color-background-hover-computed, #ebebeb) );--sc-color-brand-secondary-active-computed: hsl( from var(--sc-color-brand-secondary) h s clamp(5, calc(l - 5), 90) );--sc-surface-brand-secondary-active: var( --sc-color-brand-secondary-active, var(--sc-color-brand-active-computed, #e0e0e0) );--sc-content-brand: var( --sc-color-brand-text, var(--sc-surface-brand-primary) );--sc-content-brand-on-primary: #ffffff;--sc-border-brand: var(--sc-surface-brand-primary);--sc-surface-success-primary: var(--sc-color-success, #008000);--sc-color-success-primary-hover-computed: hsl( from var(--sc-color-success) h s 30 );--sc-surface-success-primary-hover: var( --sc-color-success-primary-hover, var(--sc-color-success-primary-hover-computed, #009900) );--sc-color-success-primary-active-computed: hsl( from var(--sc-color-success) h s 20 );--sc-surface-success-primary-active: var( --sc-color-success-primary-active, var(--sc-color-success-primary-active-computed, #006600) );--sc-color-success-secondary-computed: hsl( from var(--sc-color-success) h s 90 );--sc-surface-success-secondary: var( --sc-color-success-secondary, var(--sc-color-success-secondary-computed, #ccffcc) );--sc-color-success-secondary-hover-computed: hsl( from var(--sc-color-success-secondary) h s 95 );--sc-surface-success-secondary-hover: var( --sc-color-success-secondary-hover, var(--sc-color-success-secondary-hover-computed, #e6ffe6) );--sc-color-success-secondary-active-computed: hsl( from var(--sc-color-success-secondary) h s 85 );--sc-surface-success-secondary-active: var( --sc-color-success-secondary-active, var(--sc-color-success-secondary-active-computed, #b2ffb2) );--sc-content-success: var( --sc-color-brand-text, hsl(from var(--sc-surface-success-primary) h s 30) );--sc-content-success-on-primary: #ffffff;--sc-border-success: var(--sc-surface-success-primary);--sc-surface-caution-primary: var(--sc-color-caution, #cc6600);--sc-color-caution-primary-hover-computed: hsl( from var(--sc-color-caution) h s 30 );--sc-surface-caution-primary-hover: var( --sc-color-caution-primary-hover, var(--sc-color-caution-primary-hover-computed, #e57300) );--sc-color-caution-primary-active-computed: hsl( from var(--sc-color-caution) h s 20 );--sc-surface-caution-primary-active: var( --sc-color-caution-primary-active, var(--sc-color-caution-primary-active-computed, #b25a00) );--sc-color-caution-secondary-computed: hsl( from var(--sc-color-caution) h s 90 );--sc-surface-caution-secondary: var( --sc-color-caution-secondary, var(--sc-color-caution-secondary-computed, #ffd9b3) );--sc-color-caution-secondary-hover-computed: hsl( from var(--sc-color-caution-secondary) h s 95 );--sc-surface-caution-secondary-hover: var( --sc-color-caution-secondary-hover, var(--sc-color-caution-secondary-hover-computed, #ffe5cc) );--sc-color-caution-secondary-active-computed: hsl( from var(--sc-color-caution-secondary) h s 85 );--sc-surface-caution-secondary-active: var( --sc-color-caution-secondary-active, var(--sc-color-caution-secondary-active-computed, #ffcc99) );--sc-content-caution: var( --sc-color-caution-text, hsl(from var(--sc-surface-caution-primary) h s 30) );--sc-content-caution-on-primary: #ffffff;--sc-border-caution: var(--sc-surface-caution-primary);--sc-surface-danger-primary: var(--sc-color-danger, #cc0000);--sc-color-danger-primary-hover-computed: hsl( from var(--sc-color-danger) h s 30 );--sc-surface-danger-primary-hover: var( --sc-color-danger-primary-hover, var(--sc-color-danger-primary-hover-computed, #e50000) );--sc-color-danger-primary-active-computed: hsl( from var(--sc-color-danger) h s 20 );--sc-surface-danger-primary-active: var( --sc-color-danger-primary-active, var(--sc-color-danger-primary-active-computed, #b30000) );--sc-color-danger-secondary-computed: hsl(from var(--sc-color-danger) h s 90);--sc-surface-danger-secondary: var( --sc-color-danger-secondary, var(--sc-color-danger-secondary-computed, #ffcccc) );--sc-color-danger-secondary-hover-computed: hsl( from var(--sc-color-danger-secondary) h s 95 );--sc-surface-danger-secondary-hover: var( --sc-color-danger-secondary-hover, var(--sc-color-danger-secondary-hover-computed, #ffe7e7) );--sc-color-danger-secondary-active-computed: hsl( from var(--sc-color-danger-secondary) h s 85 );--sc-surface-danger-secondary-active: var( --sc-color-danger-secondary-active, var(--sc-color-danger-secondary-active-computed, #ffb3b3) );--sc-content-danger: var( --sc-color-caution-text, hsl(from var(--sc-surface-danger-primary) h s 30) );--sc-content-danger-on-primary: #ffffff;--sc-border-danger: var(--sc-surface-danger-primary);--sc-color-disabled: hsl(from var(--sc-color-page-primary) h s calc(l * 0.5));--sc-surface-disabled: var(--sc-color-disabled, #d9d9d9);--sc-color-disabled-text: hsl( from var(--sc-color-text-primary) h s calc(l * 0.5) );--sc-content-disabled: var(--sc-color-disabled-text, #737373);--sc-content-disabled-on-disabled: var(--sc-color-disabled-text, #737373)}@supports(hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none){:root{--sc-color-background-hover-computed: hsl( from var(--sc-color-background) h s clamp(10%, calc(l + 5%), 95%) );--sc-color-background-active-computed: hsl( from var(--sc-color-background) h s clamp(5%, calc(l - 5%), 90%) );--sc-color-foreground-secondary-computed: hsl( from var(--sc-color-foreground) h s clamp(10%, calc(l + 5%), 90%) );--sc-color-brand-hover-computed: hsl( from var(--sc-color-brand) h s clamp(20%, calc(l + 5%), 95%) );--sc-color-brand-active-computed: hsl( from var(--sc-color-brand) h s clamp(10%, calc(l - 5%), 85%) );--sc-color-success-primary-hover-computed: hsl( from var(--sc-color-success) h s 30% );--sc-color-success-primary-active-computed: hsl( from var(--sc-color-success) h s 20% );--sc-color-success-secondary-computed: hsl( from var(--sc-color-success) h s 90% );--sc-color-success-secondary-hover-computed: hsl( from var(--sc-color-success-secondary) h s 95% );--sc-color-success-secondary-active-computed: hsl( from var(--sc-color-success-secondary) h s 85% );--sc-content-success: var( --sc-color-brand-text, hsl(from var(--sc-surface-success-primary) h s 30%) );--sc-color-caution-primary-hover-computed: hsl( from var(--sc-color-caution) h s 30% );--sc-color-caution-primary-active-computed: hsl( from var(--sc-color-caution) h s 20% );--sc-color-caution-secondary-computed: hsl( from var(--sc-color-caution) h s 90% );--sc-color-caution-secondary-hover-computed: hsl( from var(--sc-color-caution-secondary) h s 95% );--sc-color-caution-secondary-active-computed: hsl( from var(--sc-color-caution-secondary) h s 85% );--sc-content-caution: var( --sc-color-caution-text, hsl(from var(--sc-surface-caution-primary) h s 30%) );--sc-color-danger-primary-hover-computed: hsl( from var(--sc-color-danger) h s 30% );--sc-color-danger-primary-active-computed: hsl( from var(--sc-color-danger) h s 20% );--sc-color-danger-secondary-computed: hsl( from var(--sc-color-danger) h s 90% );--sc-color-danger-secondary-hover-computed: hsl( from var(--sc-color-danger-secondary) h s 95% );--sc-color-danger-secondary-active-computed: hsl( from var(--sc-color-danger-secondary) h s 85% );--sc-content-danger: var( --sc-color-caution-text, hsl(from var(--sc-surface-danger-primary) h s 30%) )}}.searchcraft-adm-ad{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;border-bottom:1px solid var(--sc-border-neutral);padding:12px 0}searchcraft-ad:last-child .searchcraft-adm-ad{border-bottom:none}.searchcraft-adm-ad-link{align-items:flex-start;background-color:rgb(from blue r g b/5%);color:var(--sc-content-neutral-primary);display:flex;gap:24px;padding:12px;text-decoration:none}.searchcraft-adm-ad-link:focus,.searchcraft-adm-ad-link:active{background-color:var(--sc-surface-neutral-primary-active)}.searchcraft-adm-ad-link:hover{background-color:var(--sc-surface-neutral-primary-hover)}.searchcraft-adm-ad-image-wrapper{align-items:center;aspect-ratio:16/9;display:flex;flex-shrink:0;justify-content:center;width:160px}.searchcraft-adm-ad-image{height:100%;object-fit:var(--sc-popover-list-item-image-fit);width:100%}.searchcraft-adm-ad-content{display:flex;flex-direction:column;flex-grow:1;gap:4px;justify-content:center}.searchcraft-adm-ad-content-title,.searchcraft-adm-ad-content-subtitle{display:-webkit-box;line-clamp:2;margin:0;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.searchcraft-adm-ad-content-title{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-heading-5-font-size);font-weight:var(--sc-font-bold)}.searchcraft-adm-ad-content-subtitle{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal)}.searchcraft-search-result{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal)}.searchcraft-search-result-no-template{display:flex;flex-direction:column;font-size:.875rem}.searchcraft-search-result-no-template>p{margin:0}.searchcraft-search-results{display:flex;flex-direction:column;justify-content:center;gap:16px}.searchcraft-search-results-empty-state{text-align:center}.searchcraft-search-results-error-message{text-align:center}.searchcraft-button{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);background:none;border:2px solid rgba(0,0,0,0);border-radius:var(--sc-border-radius);cursor:pointer;display:flex;gap:4px;padding:12px;position:relative}.searchcraft-button.searchcraft-button-disabled{cursor:not-allowed}.searchcraft-button-primary{background-color:var(--sc-surface-brand-primary);color:var(--sc-content-brand-on-primary);font-weight:var(--sc-font-bold)}.searchcraft-button-primary:hover{background-color:var(--sc-surface-brand-primary-hover)}.searchcraft-button-primary:focus{border-color:var(--sc-border-primary)}.searchcraft-button-primary:active{background-color:var(--sc-surface-brand-primary-active)}.searchcraft-button-primary.searchcraft-button-disabled,.searchcraft-button-primary.searchcraft-button-disabled:hover,.searchcraft-button-primary.searchcraft-button-disabled:focus,.searchcraft-button-primary.searchcraft-button-disabled:active{background-color:var(--sc-surface-disabled);border-color:rgba(0,0,0,0);color:var(--sc-content-disabled)}.searchcraft-button-tertiary{background-color:var(--sc-surface-neutral-primary);color:var(--sc-content-brand);font-weight:var(--sc-font-normal)}.searchcraft-button-tertiary:hover{background-color:var(--sc-surface-brand-secondary-hover)}.searchcraft-button-tertiary:focus{background-color:var(--sc-surface-neutral-light);border-color:var(--sc-border-primary)}.searchcraft-button-tertiary:active{background-color:var(--sc-surface-brand-secondary-active)}.searchcraft-button-tertiary.searchcraft-button-disabled,.searchcraft-button-tertiary.searchcraft-button-disabled:hover,.searchcraft-button-tertiary.searchcraft-button-disabled:focus,.searchcraft-button-tertiary.searchcraft-button-disabled:active{background-color:var(--sc-surface-neutral-light);border-color:rgba(0,0,0,0);color:var(--sc-content-disabled)}.searchcraft-button-icon{fill:none}.searchcraft-error-message{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);color:var(--sc-content-danger);margin:0}.searchcraft-facet-list{display:flex;flex-direction:column;gap:6px;width:100%}.searchcraft-facet-list-checkbox-label{align-items:center;color:var(--sc-content-neutral-primary);display:flex;font-family:var(--sc-font-family);font-size:14px;font-weight:600;gap:14px;position:relative;-webkit-font-smoothing:antialiased}.searchcraft-facet-list-checkbox-input-wrapper{position:relative}.searchcraft-facet-list-checkbox-input{align-items:center;appearance:none;background-color:var(--sc-surface-neutral-secondary);border:1px solid var(--sc-surface-disabled);border-radius:var(--sc-border-radius-sm);cursor:pointer;display:flex;height:24px;justify-content:center;width:24px;margin:0}.searchcraft-facet-list-checkbox-input:focus{outline:2px solid var(--sc-surface-brand-primary)}.searchcraft-facet-list-checkbox-input:checked{background-color:var(--sc-surface-brand-primary);position:relative}.searchcraft-facet-list-checkbox-input:checked+.searchcraft-facet-list-checkbox-input-check-icon{display:block}.searchcraft-facet-list-checkbox-input:checked+.searchcraft-facet-list-checkbox-input-dash-icon{display:block}.searchcraft-facet-child-list{display:flex;flex-direction:column;gap:6px}.searchcraft-facet-child-list-checkbox-label{margin-left:24px}.searchcraft-facet-child-list-checkbox-label:first-child{margin-top:6px}.searchcraft-facet-list-checkbox-input-check-icon{display:none;height:16px;left:50%;position:absolute;margin-top:2px;top:50%;transform:translate(-50%, -50%);width:16px}.searchcraft-facet-list-checkbox-input-dash-icon{display:none;height:3px;left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);width:14px}.searchcraft-facet-list-message{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);color:var(--sc-content-disabled);text-align:center}.searchcraft-filter-panel{display:flex;flex-direction:column;gap:16px}.searchcraft-filter-panel-section{display:flex;flex-direction:column;gap:8px}.searchcraft-filter-panel-label{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);font-weight:var(--sc-font-bold)}:root{--sc-input-form-border-radius: var(--sc-border-radius);--sc-input-form-search-icon-size: 20px;--sc-input-form-clear-icon-size: 20px}.searchcraft-input-form-grid{display:grid;gap:4px 8px}.searchcraft-input-form-grid-button-left{grid-template-rows:repeat(3, auto);grid-template-columns:auto 1fr}.searchcraft-input-form-grid-button-left .searchcraft-input-form-button{grid-column:1/span 1;grid-row:2/span 1}.searchcraft-input-form-grid-button-left .searchcraft-input-form-label{grid-column:2/span 1;grid-row:1/span 1}.searchcraft-input-form-grid-button-left .searchcraft-input-form-error-message{grid-column:2/span 1;grid-row:3/span 1}.searchcraft-input-form-grid-button-left .searchcraft-input-form-input-wrapper{grid-column:2/span 1;grid-row:2/span 1}.searchcraft-input-form-grid-button-right{grid-template-rows:repeat(3, auto);grid-template-columns:1fr auto}.searchcraft-input-form-grid-button-right .searchcraft-input-form-button{grid-column:2/span 1;grid-row:2/span 1}.searchcraft-input-form-grid-button-right .searchcraft-input-form-label{grid-column:1/span 1;grid-row:1/span 1}.searchcraft-input-form-grid-button-right .searchcraft-input-form-error-message{grid-column:1/span 1;grid-row:3/span 1}.searchcraft-input-form-grid-button-right .searchcraft-input-form-input-wrapper{grid-column:1/span 1;grid-row:2/span 1}.searchcraft-input-form-grid-button-none{grid-template-rows:repeat(3, auto);grid-template-columns:auto}.searchcraft-input-form-grid-button-none .searchcraft-input-form-button{display:none}.searchcraft-input-form-grid-button-none .searchcraft-input-form-label{grid-column:1/span 1;grid-row:1/span 1}.searchcraft-input-form-grid-button-none .searchcraft-input-form-error-message{grid-column:1/span 1;grid-row:3/span 1}.searchcraft-input-form-grid-button-none .searchcraft-input-form-input-wrapper{grid-column:1/span 1;grid-row:2/span 1}.searchcraft-input-form-input-wrapper{display:flex;position:relative}.searchcraft-input-form-input{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);background-color:var(--sc-surface-neutral-secondary);border-radius:var(--sc-input-form-border-radius);border:none;color:var(--sc-content-neutral-primary);flex:1;outline:none;padding:12px 44px}.searchcraft-input-form-input::placeholder{color:var(--sc-content-disabled)}.searchcraft-input-form-input:focus{outline:var(--sc-border-brand) solid 2px;outline-offset:-1px}.searchcraft-input-form-input:focus::placeholder{opacity:0}.searchcraft-input-form-error{color:var(--sc-content-danger);outline:var(--sc-border-danger) solid 2px}.searchcraft-input-form-error:focus{outline:var(--sc-border-danger) solid 2px}.searchcraft-input-form-input-icon{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;pointer-events:none;top:0;width:44px}.searchcraft-input-form-input-search-icon{color:var(--sc-content-neutral-secondary);fill:none;height:var(--sc-input-form-search-icon-size);pointer-events:none;width:var(--sc-input-form-search-icon-size)}.searchcraft-input-form-clear-button{all:unset;align-items:center;bottom:0;border:none;cursor:pointer;display:flex;justify-content:center;outline:none;position:absolute;right:0;top:0;width:44px}.searchcraft-input-form-clear-icon{color:var(--sc-content-brand);fill:none;height:var(--sc-input-form-clear-icon-size);width:var(--sc-input-form-clear-icon-size)}.searchcraft-input-label{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);color:var(--sc-content-neutral-primary);font-weight:var(--sc-font-bold);margin-top:4px;margin-bottom:4px}:root{--sc-popover-button-border-radius: var(--sc-border-radius)}@media(min-width: 576px){:root{--sc-popover-button-border-radius: var(--sc-border-radius-lg)}}.searchcraft-popover-button{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);cursor:pointer}.searchcraft-popover-button-skeuomorphic{appearance:none;background:none;border:none;color:var(--sc-content-neutral-primary);display:block;width:100%}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-wrapper{border:1px solid var(--sc-border-neutral);border-radius:var(--sc-popover-button-border-radius);box-shadow:0 1px 1px rgb(from var(--sc-content-neutral-secondary) r g b/10%) inset,0 2px 4px rgb(from var(--sc-content-neutral-secondary) r g b/5%) inset;display:flex;gap:24px;height:40px;justify-content:space-between;line-height:1;padding:4px 5px 4px 10px;background:var(--sc-surface-neutral-primary)}@media(min-width: 576px){.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-wrapper{box-shadow:0 1px 1px rgb(from var(--sc-content-neutral-secondary) r g b/10%) inset,0 2px 2px rgb(from var(--sc-content-neutral-secondary) r g b/5%) inset,0 4px 4px rgb(from var(--sc-content-neutral-secondary) r g b/5%) inset;height:63px;padding:8px 10px 8px 16px}}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-input{align-items:center;display:flex;gap:4px}@media(min-width: 576px){.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-input{gap:8px}}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps{color:var(--sc-content-neutral-secondary);display:flex;gap:4px;font-size:20px;font-weight:500}@media(min-width: 576px){.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps{gap:8px}}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap{border-radius:calc(var(--sc-popover-button-border-radius) - 3px);border-radius:calc(var(var(--sc-popover-button-border-radius)) - 3px);background-color:var(--sc-surface-neutral-primary);box-shadow:0 3px hsl(from var(--sc-surface-neutral-secondary) h s calc(l - 5)),0 1px 2px rgb(from var(--sc-content-neutral-secondary) r g b/10%),0 6px 4px rgb(from var(--sc-content-neutral-secondary) r g b/5%);height:calc(100% - 2px);position:relative}@media(min-width: 576px){.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap{border-radius:calc(var(--sc-popover-button-border-radius) - 8px);border-radius:calc(var(var(--sc-popover-button-border-radius)) - 8px);box-shadow:0 4px hsl(from var(--sc-surface-neutral-secondary) h s calc(l - 5)),0 1px 2px rgb(from var(--sc-content-neutral-secondary) r g b/15%),0 6px 1px rgb(from var(--sc-content-neutral-secondary) r g b/20%),0 7px 2px rgb(from var(--sc-content-neutral-secondary) r g b/15%),0 9px 4px rgb(from var(--sc-content-neutral-secondary) r g b/10%),0 13px 8px rgb(from var(--sc-content-neutral-secondary) r g b/5%);height:calc(100% - 5px)}}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap::before,.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap::after{content:"";display:block}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap::before{border-radius:calc(var(--sc-popover-button-border-radius) - 4px);border-radius:calc(var(var(--sc-popover-button-border-radius)) - 4px);background:linear-gradient(340deg, rgb(from var(--sc-surface-neutral-secondary) r g b/2%) 0%, var(--sc-surface-neutral-secondary) 100%);inset:2px;position:absolute}@media(min-width: 576px){.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap::before{border-radius:calc(var(--sc-popover-button-border-radius) - 12px);border-radius:calc(var(var(--sc-popover-button-border-radius)) - 12px);inset:4px}}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap::after{aspect-ratio:1/1;height:100%}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap>span{display:flex;line-height:1;left:50%;margin-top:2%;position:absolute;top:50%;transform:translate(-50%, -50%)}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-input-search-icon{height:60%;width:auto}@media(min-width: 576px){.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-input-search-icon{height:50%}}:root{--sc-popover-list-view-height: 600px;--sc-popover-modal-max-width: 800px}.searchcraft-popover-form{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);display:flex;flex:1;flex-direction:column}.searchcraft-popover-form searchcraft-input-form,.searchcraft-popover-form searchcraft-popover-footer{width:100%}.searchcraft-popover-form.searchcraft-popover-form-active .searchcraft-popover-form-input{padding-bottom:1px}.searchcraft-popover-form searchcraft-popover-list-view{flex-shrink:1;height:100%;min-height:0;overflow:auto;padding:0 24px}.searchcraft-popover-form-input{display:flex;flex-direction:row;gap:12px}.searchcraft-popover-form-input .searchcraft-input-form-input{background-color:var(--sc-surface-neutral-primary);border:1px solid var(--sc-border-neutral);border-radius:var(--sc-border-radius-lg);box-shadow:0 1px 1px rgb(from var(--sc-content-neutral-primary) r g b/10%) inset,0 2px 2px rgb(from var(--sc-content-neutral-primary) r g b/5%) inset,0 4px 4px rgb(from var(--sc-content-neutral-primary) r g b/5%) inset;width:0}.searchcraft-popover-form-cancel-button{background:none;border:none;cursor:pointer;font-size:14px}.searchcraft-popover-form-modal-input,.searchcraft-popover-form-fullscreen-input{padding:24px}.searchcraft-popover-form-modal-popover-list-view,.searchcraft-popover-form-fullscreen-popover-list-view{flex-grow:1;flex-shrink:1;min-height:0;overflow:auto;padding:0 24px}.searchcraft-popover-form-inline{background-color:var(--sc-surface-neutral-primary);border:1px solid rgba(0,0,0,0);border-radius:var(--sc-border-radius-xl);padding:12px;position:relative}.searchcraft-popover-form-inline.searchcraft-popover-form-active{border:1px solid var(--sc-border-neutral);border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;padding-bottom:1px}.searchcraft-popover-form-inline searchcraft-popover-list-view{padding:0 12px}.searchcraft-popover-form-inline .searchcraft-input-form-input,.searchcraft-popover-form-inline .searchcraft-popover-list-item-link,.searchcraft-popover-form-inline .searchcraft-adm-ad-link{border-radius:calc(--sc-border-radius-xl - 12px);border-radius:calc(var(--sc-border-radius-xl) - 12px)}.searchcraft-popover-form-inline-wrapper{background-color:var(--sc-surface-neutral-primary);border:1px solid var(--sc-border-neutral);border-top:none;border-bottom-left-radius:var(--sc-border-radius-xl);border-bottom-right-radius:var(--sc-border-radius-xl);display:flex;flex-direction:column;left:-1px;max-height:var(--sc-popover-list-view-height);overflow:hidden;position:absolute;right:-1px;top:100%}.searchcraft-popover-form-modal{align-items:center;display:flex;inset:0;position:fixed;z-index:1000}.searchcraft-popover-form-modal .searchcraft-input-form-input,.searchcraft-popover-form-modal .searchcraft-popover-list-item-link,.searchcraft-popover-form-modal .searchcraft-adm-ad-link{border-radius:calc(--sc-border-radius-2xl - 20px);border-radius:calc(var(--sc-border-radius-2xl) - 20px)}.searchcraft-popover-form-modal-backdrop{background-color:rgb(from var(--sc-content-neutral-primary) r g b/50%);display:none;inset:0;position:fixed}@media(min-width: 576px){.searchcraft-popover-form-modal-backdrop{display:block}}.searchcraft-popover-form-modal-wrapper{background-color:var(--sc-surface-neutral-primary);box-shadow:1px 2px rgb(from var(--sc-content-neutral-primary) r g b/7%),0 2px 4px rgb(from var(--sc-content-neutral-primary) r g b/7%),0 4px 8px rgb(from var(--sc-content-neutral-primary) r g b/7%),0 8px 16px rgb(from var(--sc-content-neutral-primary) r g b/7%),0 16px 32px rgb(from var(--sc-content-neutral-primary) r g b/7%),0 32px 64px rgb(from var(--sc-content-neutral-primary) r g b/7%);display:flex;flex-direction:column;inset:0;max-width:var(--sc-popover-modal-max-width);overflow:hidden;position:absolute;width:100%;z-index:1001}@media(min-width: 576px){.searchcraft-popover-form-modal-wrapper{border-radius:var(--sc-border-radius-2xl);inset:0;margin-top:100px;max-height:var(--sc-popover-list-view-height);max-width:var(--sc-popover-modal-max-width);position:relative}}.searchcraft-popover-form-modal-cancel-button{border-radius:calc(--sc-border-radius-2xl - 20px);border-radius:calc(var(--sc-border-radius-2xl) - 20px);padding:8px}@media(min-width: 576px){.searchcraft-popover-form-modal-cancel-button{padding:8px 12px}}.searchcraft-popover-form-fullscreen{background-color:var(--sc-surface-neutral-primary);display:flex;flex-direction:column;justify-content:space-between;inset:0;position:fixed;z-index:1000}.searchcraft-popover-form-fullscreen .searchcraft-popover-list-item-link,.searchcraft-popover-form-fullscreen .searchcraft-adm-ad-link{border-radius:var(--sc-border-radius-lg)}.searchcraft-popover-form-fullscreen-cancel-button{border-radius:var(--sc-border-radius-lg);padding:8px}@media(min-width: 576px){.searchcraft-popover-form-fullscreen-cancel-button{padding:8px 12px}}.searchcraft-popover-footer{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;background-color:var(--sc-surface-neutral-secondary);box-shadow:0 1px 1px rgb(from var(--sc-content-neutral-primary) r g b/10%) inset,0 2px 2px rgb(from var(--sc-content-neutral-primary) r g b/5%) inset,0 4px 4px rgb(from var(--sc-content-neutral-primary) r g b/5%) inset;display:flex;gap:8px;justify-content:space-between;line-height:1;padding:20px 24px}@media(min-width: 576px){.searchcraft-popover-footer{padding:20px 32px}}.searchcraft-popover-footer-results-info{margin:0}.searchcraft-popover-footer-link{color:var(--sc-content-neutral-primary);display:flex;max-width:160px;width:100%}:root{--sc-popover-list-item-image-fit: contain}.searchcraft-popover-list-item{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;border-bottom:1px solid var(--sc-border-neutral);padding:12px 0}searchcraft-popover-list-item:last-child .searchcraft-popover-list-item{border-bottom:none}.searchcraft-popover-list-item-link{align-items:flex-start;color:var(--sc-content-neutral-primary);display:flex;gap:24px;padding:12px;text-decoration:none}.searchcraft-popover-list-item-link:focus,.searchcraft-popover-list-item-link:active{background-color:var(--sc-surface-neutral-primary-active)}.searchcraft-popover-list-item-link:hover{background-color:var(--sc-surface-neutral-primary-hover)}.searchcraft-popover-list-item-image-wrapper{align-items:center;aspect-ratio:16/9;display:flex;flex-shrink:0;justify-content:center;width:160px}.searchcraft-popover-list-item-image{height:100%;object-fit:var(--sc-popover-list-item-image-fit);width:100%}.searchcraft-popover-list-item-content{display:flex;flex-direction:column;flex-grow:1;gap:4px;justify-content:center}.searchcraft-popover-list-item-content-title,.searchcraft-popover-list-item-content-subtitle{display:-webkit-box;line-clamp:2;margin:0;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.searchcraft-popover-list-item-content-title{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-heading-5-font-size);font-weight:var(--sc-font-bold)}.searchcraft-popover-list-item-content-subtitle{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal)}.searchcraft-popover-list-view{display:flex;flex-direction:column}.searchcraft-results-info{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);color:var(--sc-content-primary);margin:0}.searchcraft-slider{align-items:center;display:flex;flex-direction:column;gap:10px;width:100%}.searchcraft-slider-range{align-items:center;background-color:var(--sc-surface-disabled);border-radius:999px;display:flex;position:relative;height:4px;width:100%}.searchcraft-slider-range::-webkit-slider-runnable-track{pointer-events:none}.searchcraft-slider-range .searchcraft-slider-active-range{background-color:var(--sc-surface-brand-primary);border-radius:2px;height:4px;position:absolute;top:50%;transform:translateY(-50%);z-index:0}.searchcraft-slider-range .searchcraft-slider-active-range::-webkit-slider-runnable-track{pointer-events:none}.searchcraft-slider-range .searchcraft-slider-active-range::-moz-range-track{pointer-events:none}.searchcraft-slider-range .searchcraft-slider-input{appearance:none;background:rgba(0,0,0,0);border-radius:2px;height:4px;margin:0;outline:none;pointer-events:none;position:absolute;width:100%;-webkit-appearance:none}.searchcraft-slider-range .searchcraft-slider-input::-webkit-slider-thumb{background-color:var(--sc-surface-neutral-light);border-radius:50%;border:2px solid var(--sc-border-neutral);cursor:pointer;height:20px;pointer-events:all;width:20px;-webkit-appearance:none}.searchcraft-slider-range .searchcraft-slider-input::-moz-range-thumb{background-color:var(--sc-surface-neutral-light);border-radius:50%;border:2px solid var(--sc-border-neutral);cursor:pointer;height:20px;pointer-events:all;width:20px}.searchcraft-slider-label{color:var(--sc-content-primary);display:flex;font-family:"Source Sans Pro",sans-serif;font-size:15px;font-weight:600;justify-content:space-between;margin-top:10px;width:100%}.searchcraft-slider-start-label,.searchcraft-slider-end-label{min-width:30px;text-align:center}.searchcraft-toggle-button{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.searchcraft-toggle-button-label{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);color:var(--sc-content-neutral-primary);margin:0}.searchcraft-toggle-button-sub-label{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);color:var(--sc-content-neutral-secondary);margin:0}.searchcraft-toggle-button-background{background:var(--sc-surface-disabled);border-radius:var(--sc-border-radius-full);border:none;cursor:pointer;flex-shrink:0;height:26px;position:relative;transition:background-color .2s;width:44px}.searchcraft-toggle-button-handle{background:var(--sc-surface-neutral-light);border-radius:50%;height:18px;left:4px;position:absolute;top:calc(50% - 9px);transition:transform .3s ease;width:18px}.searchcraft-toggle-button-active .searchcraft-toggle-button-background{background:var(--sc-surface-brand-primary);box-shadow:0px 0px 0px 1px rgba(0,0,0,.05)}.searchcraft-toggle-button-active .searchcraft-toggle-button-handle{transform:translateX(16px)}.searchcraft-pagination{display:inline-grid;gap:16px;grid-template-columns:repeat(3, auto);grid-template-rows:1fr}.searchcraft-pagination-list{border:1px solid var(--sc-border-neutral);border-radius:var(--sc-border-radius);display:flex;list-style-type:none;margin:0;overflow:hidden;padding:0;width:auto}.searchcraft-pagination-list li{border-right:1px solid var(--sc-border-neutral);height:100%;min-height:44px;width:44px}.searchcraft-pagination-list li:last-child{border-right:none}.searchcraft-pagination-item{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);align-items:center;background-color:var(--sc-surface-neutral-primary);border:none;display:flex;height:100%;justify-content:center;width:100%}.searchcraft-pagination-item-active{background-color:var(--sc-surface-brand-secondary);font-weight:var(--sc-font-bold)}.searchcraft-pagination-control{border:1px solid var(--sc-border-neutral);border-radius:var(--sc-border-radius)}.searchcraft-pagination-range{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);align-items:center;display:flex}.searchcraft-select{display:flex;flex-direction:column;gap:4px}.searchcraft-select-label{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);font-weight:var(--sc-font-bold)}.searchcraft-select-input-wrapper{position:relative}.searchcraft-select-input{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);appearance:none;background-color:var(--sc-surface-neutral-secondary);border:2px solid rgba(0,0,0,0);border-radius:var(--sc-border-radius);cursor:pointer;height:44px;padding:0 44px 0 16px;width:100%}.searchcraft-select-input:hover{background-color:var(--sc-surface-neutral-secondary-hover)}.searchcraft-select-input:active{background-color:var(--sc-surface-neutral-secondary-active)}.searchcraft-select-input:focus{border-color:var(--sc-border-brand);outline:none}.searchcraft-select-input-icon{fill:none;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.searchcraft-select-caption{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal)}.searchcraft-search-results-per-page{display:flex}.searchcraft-search-results-per-page-select{align-items:center;display:flex;gap:12px}.searchcraft-search-results-per-page-select-label{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal)}.searchcraft-search-results-per-page-select-input{min-width:120px}/*# sourceMappingURL=hologram.css.map */
|
|
7379
7662
|
`;
|
|
7380
7663
|
|
|
7381
7664
|
/**
|
|
7382
7665
|
* This web component adds Searchcraft's built-in css theme to your page. It does not render anything visible, its only function is to manage the css styles on the page.'
|
|
7383
7666
|
*
|
|
7384
|
-
* @import
|
|
7667
|
+
* @react-import
|
|
7385
7668
|
* ```jsx
|
|
7386
|
-
* // react
|
|
7387
7669
|
* import { SearchcraftTheme } from "@searchcraft/react-sdk";
|
|
7670
|
+
* ```
|
|
7388
7671
|
*
|
|
7389
|
-
*
|
|
7672
|
+
* @vue-import
|
|
7673
|
+
* ```jsx
|
|
7390
7674
|
* import { SearchcraftTheme } from "@searchcraft/vue-sdk";
|
|
7391
7675
|
* ```
|
|
7392
7676
|
*
|
|
@@ -7410,7 +7694,7 @@ class SearchcraftTheme {
|
|
|
7410
7694
|
registerInstance(this, hostRef);
|
|
7411
7695
|
}
|
|
7412
7696
|
render() {
|
|
7413
|
-
return hAsync("style", { key: '
|
|
7697
|
+
return hAsync("style", { key: '912dbad4e0aa5be21ed638cd20c276b530991454' }, styles);
|
|
7414
7698
|
}
|
|
7415
7699
|
static get cmpMeta() { return {
|
|
7416
7700
|
"$flags$": 0,
|
|
@@ -7465,9 +7749,9 @@ class SearchcraftToggleButton {
|
|
|
7465
7749
|
this.unsubscribe?.();
|
|
7466
7750
|
}
|
|
7467
7751
|
render() {
|
|
7468
|
-
return (hAsync("div", { key: '
|
|
7752
|
+
return (hAsync("div", { key: 'f8a751315daf6bcdc0d47bc4fc802bc4615e565f', class: classNames('searchcraft-toggle-button', {
|
|
7469
7753
|
'searchcraft-toggle-button-active': this.isActive,
|
|
7470
|
-
}) }, hAsync("div", { key: '
|
|
7754
|
+
}) }, hAsync("div", { key: 'aaa92d7c1aebe241a163a1fba7cd1f8d3804286d' }, hAsync("p", { key: '068b82b17a99bf55ad17818d0dd4c7e95858317b', class: 'searchcraft-toggle-button-label' }, this.label), this.subLabel && (hAsync("p", { key: '39e43e3fad6a2ab09d20f37c6d6865cede3701d9', class: 'searchcraft-toggle-button-sub-label' }, this.subLabel))), hAsync("button", { key: '5ae352870d4a01c430389e75b967b2eb9d3fa5f7', class: 'searchcraft-toggle-button-background', onClick: this.handleToggle, type: 'button' }, hAsync("div", { key: '0574ade4e1681ce8e122039c40e761cb68555621', class: 'searchcraft-toggle-button-handle' }))));
|
|
7471
7755
|
}
|
|
7472
7756
|
static get cmpMeta() { return {
|
|
7473
7757
|
"$flags$": 0,
|
|
@@ -7494,6 +7778,7 @@ registerComponents([
|
|
|
7494
7778
|
SearchcraftInputLabel,
|
|
7495
7779
|
SearchcraftPagination,
|
|
7496
7780
|
SearchcraftPopoverButton,
|
|
7781
|
+
SearchcraftPopoverFooter,
|
|
7497
7782
|
SearchcraftPopoverForm,
|
|
7498
7783
|
SearchcraftPopoverListItem,
|
|
7499
7784
|
SearchcraftPopoverListItemAd,
|