@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.js
CHANGED
|
@@ -3180,18 +3180,18 @@ Object.keys(react).forEach(function (k) {
|
|
|
3180
3180
|
});
|
|
3181
3181
|
}(zustand));
|
|
3182
3182
|
|
|
3183
|
-
var
|
|
3184
|
-
var
|
|
3185
|
-
var h = (
|
|
3186
|
-
var
|
|
3187
|
-
class
|
|
3183
|
+
var q = Object.defineProperty;
|
|
3184
|
+
var B = (a, e, n) => e in a ? q(a, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : a[e] = n;
|
|
3185
|
+
var h = (a, e, n) => B(a, typeof e != "symbol" ? e + "" : e, n);
|
|
3186
|
+
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 || {});
|
|
3187
|
+
class pe {
|
|
3188
3188
|
constructor(e) {
|
|
3189
3189
|
h(this, "logLevel");
|
|
3190
3190
|
h(this, "logFormatter");
|
|
3191
3191
|
this.logLevel = e.logLevel || 1, this.logFormatter = e.logFormatter || this.defaultFormatter;
|
|
3192
3192
|
}
|
|
3193
3193
|
defaultFormatter(e, n) {
|
|
3194
|
-
return `[${
|
|
3194
|
+
return `[${F[e]}] ${( new Date()).toISOString()}: ${n}`;
|
|
3195
3195
|
}
|
|
3196
3196
|
debug(e) {
|
|
3197
3197
|
this.logLevel <= 0 && console.log(this.logFormatter(0, e));
|
|
@@ -3222,190 +3222,190 @@ class ge {
|
|
|
3222
3222
|
}
|
|
3223
3223
|
}
|
|
3224
3224
|
}
|
|
3225
|
-
function
|
|
3226
|
-
return new (n || (n = Promise))(function(
|
|
3227
|
-
function t(
|
|
3225
|
+
function y(a, e, n, r) {
|
|
3226
|
+
return new (n || (n = Promise))(function(i, o) {
|
|
3227
|
+
function t(s) {
|
|
3228
3228
|
try {
|
|
3229
|
-
l(
|
|
3230
|
-
} catch (
|
|
3231
|
-
|
|
3229
|
+
l(r.next(s));
|
|
3230
|
+
} catch (c) {
|
|
3231
|
+
o(c);
|
|
3232
3232
|
}
|
|
3233
3233
|
}
|
|
3234
|
-
function u(
|
|
3234
|
+
function u(s) {
|
|
3235
3235
|
try {
|
|
3236
|
-
l(
|
|
3237
|
-
} catch (
|
|
3238
|
-
|
|
3236
|
+
l(r.throw(s));
|
|
3237
|
+
} catch (c) {
|
|
3238
|
+
o(c);
|
|
3239
3239
|
}
|
|
3240
3240
|
}
|
|
3241
|
-
function l(
|
|
3242
|
-
var
|
|
3243
|
-
|
|
3244
|
-
|
|
3241
|
+
function l(s) {
|
|
3242
|
+
var c;
|
|
3243
|
+
s.done ? i(s.value) : (c = s.value, c instanceof n ? c : new n(function(p) {
|
|
3244
|
+
p(c);
|
|
3245
3245
|
})).then(t, u);
|
|
3246
3246
|
}
|
|
3247
|
-
l((
|
|
3247
|
+
l((r = r.apply(a, [])).next());
|
|
3248
3248
|
});
|
|
3249
3249
|
}
|
|
3250
|
-
function
|
|
3251
|
-
var n,
|
|
3252
|
-
if (1 &
|
|
3253
|
-
return
|
|
3250
|
+
function w(a, e) {
|
|
3251
|
+
var n, r, i, o, t = { label: 0, sent: function() {
|
|
3252
|
+
if (1 & i[0]) throw i[1];
|
|
3253
|
+
return i[1];
|
|
3254
3254
|
}, trys: [], ops: [] };
|
|
3255
|
-
return
|
|
3255
|
+
return o = { next: u(0), throw: u(1), return: u(2) }, typeof Symbol == "function" && (o[Symbol.iterator] = function() {
|
|
3256
3256
|
return this;
|
|
3257
|
-
}),
|
|
3257
|
+
}), o;
|
|
3258
3258
|
function u(l) {
|
|
3259
|
-
return function(
|
|
3260
|
-
return function(
|
|
3259
|
+
return function(s) {
|
|
3260
|
+
return function(c) {
|
|
3261
3261
|
if (n) throw new TypeError("Generator is already executing.");
|
|
3262
|
-
for (;
|
|
3263
|
-
if (n = 1,
|
|
3264
|
-
switch (
|
|
3262
|
+
for (; o && (o = 0, c[0] && (t = 0)), t; ) try {
|
|
3263
|
+
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;
|
|
3264
|
+
switch (r = 0, i && (c = [2 & c[0], i.value]), c[0]) {
|
|
3265
3265
|
case 0:
|
|
3266
3266
|
case 1:
|
|
3267
|
-
|
|
3267
|
+
i = c;
|
|
3268
3268
|
break;
|
|
3269
3269
|
case 4:
|
|
3270
|
-
return t.label++, { value:
|
|
3270
|
+
return t.label++, { value: c[1], done: !1 };
|
|
3271
3271
|
case 5:
|
|
3272
|
-
t.label++,
|
|
3272
|
+
t.label++, r = c[1], c = [0];
|
|
3273
3273
|
continue;
|
|
3274
3274
|
case 7:
|
|
3275
|
-
|
|
3275
|
+
c = t.ops.pop(), t.trys.pop();
|
|
3276
3276
|
continue;
|
|
3277
3277
|
default:
|
|
3278
|
-
if (
|
|
3278
|
+
if (i = t.trys, !((i = i.length > 0 && i[i.length - 1]) || c[0] !== 6 && c[0] !== 2)) {
|
|
3279
3279
|
t = 0;
|
|
3280
3280
|
continue;
|
|
3281
3281
|
}
|
|
3282
|
-
if (
|
|
3283
|
-
t.label =
|
|
3282
|
+
if (c[0] === 3 && (!i || c[1] > i[0] && c[1] < i[3])) {
|
|
3283
|
+
t.label = c[1];
|
|
3284
3284
|
break;
|
|
3285
3285
|
}
|
|
3286
|
-
if (
|
|
3287
|
-
t.label =
|
|
3286
|
+
if (c[0] === 6 && t.label < i[1]) {
|
|
3287
|
+
t.label = i[1], i = c;
|
|
3288
3288
|
break;
|
|
3289
3289
|
}
|
|
3290
|
-
if (
|
|
3291
|
-
t.label =
|
|
3290
|
+
if (i && t.label < i[2]) {
|
|
3291
|
+
t.label = i[2], t.ops.push(c);
|
|
3292
3292
|
break;
|
|
3293
3293
|
}
|
|
3294
|
-
|
|
3294
|
+
i[2] && t.ops.pop(), t.trys.pop();
|
|
3295
3295
|
continue;
|
|
3296
3296
|
}
|
|
3297
|
-
|
|
3298
|
-
} catch (
|
|
3299
|
-
|
|
3297
|
+
c = e.call(a, t);
|
|
3298
|
+
} catch (p) {
|
|
3299
|
+
c = [6, p], r = 0;
|
|
3300
3300
|
} finally {
|
|
3301
|
-
n =
|
|
3301
|
+
n = i = 0;
|
|
3302
3302
|
}
|
|
3303
|
-
if (5 &
|
|
3304
|
-
return { value:
|
|
3305
|
-
}([l,
|
|
3303
|
+
if (5 & c[0]) throw c[1];
|
|
3304
|
+
return { value: c[0] ? c[1] : void 0, done: !0 };
|
|
3305
|
+
}([l, s]);
|
|
3306
3306
|
};
|
|
3307
3307
|
}
|
|
3308
3308
|
}
|
|
3309
|
-
var
|
|
3310
|
-
typeof window < "u" && (
|
|
3309
|
+
var S = { exclude: [] }, O = {}, v = function(a, e) {
|
|
3310
|
+
typeof window < "u" && (O[a] = e);
|
|
3311
3311
|
};
|
|
3312
|
-
function C(
|
|
3313
|
-
return
|
|
3312
|
+
function C(a) {
|
|
3313
|
+
return a ^= a >>> 16, a = Math.imul(a, 2246822507), a ^= a >>> 13, a = Math.imul(a, 3266489909), (a ^= a >>> 16) >>> 0;
|
|
3314
3314
|
}
|
|
3315
3315
|
var m = new Uint32Array([597399067, 2869860233, 951274213, 2716044179]);
|
|
3316
|
-
function g(
|
|
3317
|
-
return
|
|
3316
|
+
function g(a, e) {
|
|
3317
|
+
return a << e | a >>> 32 - e;
|
|
3318
3318
|
}
|
|
3319
|
-
function
|
|
3319
|
+
function _(a, e) {
|
|
3320
3320
|
var n;
|
|
3321
|
-
if (e === void 0 && (e = 0), e = e ? 0 | e : 0, typeof
|
|
3322
|
-
var
|
|
3323
|
-
(((function(
|
|
3324
|
-
for (var u =
|
|
3325
|
-
var
|
|
3326
|
-
|
|
3327
|
-
}
|
|
3328
|
-
})))(
|
|
3329
|
-
var u =
|
|
3321
|
+
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");
|
|
3322
|
+
var r = new Uint32Array([e, e, e, e]);
|
|
3323
|
+
(((function(o, t) {
|
|
3324
|
+
for (var u = o.byteLength / 16 | 0, l = new Uint32Array(o, 0, 4 * u), s = 0; s < u; s++) {
|
|
3325
|
+
var c = l.subarray(4 * s, 4 * (s + 1));
|
|
3326
|
+
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;
|
|
3327
|
+
}
|
|
3328
|
+
})))(a, r), function(o, t) {
|
|
3329
|
+
var u = o.byteLength / 16 | 0, l = o.byteLength % 16, s = new Uint32Array(4), c = new Uint8Array(o, 16 * u, l);
|
|
3330
3330
|
switch (l) {
|
|
3331
3331
|
case 15:
|
|
3332
|
-
|
|
3332
|
+
s[3] = s[3] ^ c[14] << 16;
|
|
3333
3333
|
case 14:
|
|
3334
|
-
|
|
3334
|
+
s[3] = s[3] ^ c[13] << 8;
|
|
3335
3335
|
case 13:
|
|
3336
|
-
|
|
3336
|
+
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];
|
|
3337
3337
|
case 12:
|
|
3338
|
-
|
|
3338
|
+
s[2] = s[2] ^ c[11] << 24;
|
|
3339
3339
|
case 11:
|
|
3340
|
-
|
|
3340
|
+
s[2] = s[2] ^ c[10] << 16;
|
|
3341
3341
|
case 10:
|
|
3342
|
-
|
|
3342
|
+
s[2] = s[2] ^ c[9] << 8;
|
|
3343
3343
|
case 9:
|
|
3344
|
-
|
|
3344
|
+
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];
|
|
3345
3345
|
case 8:
|
|
3346
|
-
|
|
3346
|
+
s[1] = s[1] ^ c[7] << 24;
|
|
3347
3347
|
case 7:
|
|
3348
|
-
|
|
3348
|
+
s[1] = s[1] ^ c[6] << 16;
|
|
3349
3349
|
case 6:
|
|
3350
|
-
|
|
3350
|
+
s[1] = s[1] ^ c[5] << 8;
|
|
3351
3351
|
case 5:
|
|
3352
|
-
|
|
3352
|
+
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];
|
|
3353
3353
|
case 4:
|
|
3354
|
-
|
|
3354
|
+
s[0] = s[0] ^ c[3] << 24;
|
|
3355
3355
|
case 3:
|
|
3356
|
-
|
|
3356
|
+
s[0] = s[0] ^ c[2] << 16;
|
|
3357
3357
|
case 2:
|
|
3358
|
-
|
|
3358
|
+
s[0] = s[0] ^ c[1] << 8;
|
|
3359
3359
|
case 1:
|
|
3360
|
-
|
|
3361
|
-
}
|
|
3362
|
-
}(
|
|
3363
|
-
t[0] = t[0] ^
|
|
3364
|
-
}(
|
|
3365
|
-
var
|
|
3366
|
-
return Array.from(
|
|
3367
|
-
return
|
|
3360
|
+
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];
|
|
3361
|
+
}
|
|
3362
|
+
}(a, r), function(o, t) {
|
|
3363
|
+
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;
|
|
3364
|
+
}(a, r);
|
|
3365
|
+
var i = new Uint8Array(r.buffer);
|
|
3366
|
+
return Array.from(i).map(function(o) {
|
|
3367
|
+
return o.toString(16).padStart(2, "0");
|
|
3368
3368
|
}).join("");
|
|
3369
3369
|
}
|
|
3370
|
-
function
|
|
3371
|
-
for (var e = 0, n = 0; n <
|
|
3370
|
+
function z(a) {
|
|
3371
|
+
for (var e = 0, n = 0; n < a.length; ++n) e += Math.abs(a[n]);
|
|
3372
3372
|
return e;
|
|
3373
3373
|
}
|
|
3374
|
-
function U(
|
|
3375
|
-
for (var
|
|
3376
|
-
for (var
|
|
3377
|
-
|
|
3374
|
+
function U(a, e, n) {
|
|
3375
|
+
for (var r = [], i = 0; i < a[0].data.length; i++) {
|
|
3376
|
+
for (var o = [], t = 0; t < a.length; t++) o.push(a[t].data[i]);
|
|
3377
|
+
r.push(H(o));
|
|
3378
3378
|
}
|
|
3379
|
-
var u = new Uint8ClampedArray(
|
|
3379
|
+
var u = new Uint8ClampedArray(r);
|
|
3380
3380
|
return new ImageData(u, e, n);
|
|
3381
3381
|
}
|
|
3382
|
-
function
|
|
3383
|
-
if (
|
|
3384
|
-
for (var e = {}, n = 0,
|
|
3385
|
-
e[
|
|
3386
|
-
var
|
|
3387
|
-
for (var
|
|
3388
|
-
return
|
|
3382
|
+
function H(a) {
|
|
3383
|
+
if (a.length === 0) return 0;
|
|
3384
|
+
for (var e = {}, n = 0, r = a; n < r.length; n++)
|
|
3385
|
+
e[o = r[n]] = (e[o] || 0) + 1;
|
|
3386
|
+
var i = a[0];
|
|
3387
|
+
for (var o in e) e[o] > e[i] && (i = parseInt(o, 10));
|
|
3388
|
+
return i;
|
|
3389
3389
|
}
|
|
3390
3390
|
function E() {
|
|
3391
3391
|
if (typeof navigator > "u") return { name: "unknown", version: "unknown" };
|
|
3392
|
-
for (var
|
|
3393
|
-
var
|
|
3394
|
-
if (
|
|
3392
|
+
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++) {
|
|
3393
|
+
var i = r[n], o = a.match(i);
|
|
3394
|
+
if (o && o.groups) return { name: e[o.groups.name] || o.groups.name, version: o.groups.version };
|
|
3395
3395
|
}
|
|
3396
3396
|
return { name: "unknown", version: "unknown" };
|
|
3397
3397
|
}
|
|
3398
3398
|
v("audio", function() {
|
|
3399
|
-
return
|
|
3400
|
-
return
|
|
3399
|
+
return y(this, void 0, void 0, function() {
|
|
3400
|
+
return w(this, function(a) {
|
|
3401
3401
|
return [2, new Promise(function(e, n) {
|
|
3402
3402
|
try {
|
|
3403
|
-
var
|
|
3404
|
-
|
|
3405
|
-
var t, u =
|
|
3406
|
-
u.threshold.value = -50, u.knee.value = 40, u.ratio.value = 12, u.attack.value = 0, u.release.value = 0.2,
|
|
3407
|
-
t = l.renderedBuffer.getChannelData(0), e({ sampleHash:
|
|
3408
|
-
},
|
|
3403
|
+
var r = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1, 5e3, 44100), i = r.createBufferSource(), o = r.createOscillator();
|
|
3404
|
+
o.frequency.value = 1e3;
|
|
3405
|
+
var t, u = r.createDynamicsCompressor();
|
|
3406
|
+
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) {
|
|
3407
|
+
t = l.renderedBuffer.getChannelData(0), e({ sampleHash: z(t), oscillator: o.type, maxChannels: r.destination.maxChannelCount, channelCountMode: i.channelCountMode });
|
|
3408
|
+
}, r.startRendering();
|
|
3409
3409
|
} catch (l) {
|
|
3410
3410
|
console.error("Error creating audio fingerprint:", l), n(l);
|
|
3411
3411
|
}
|
|
@@ -3413,123 +3413,123 @@ v("audio", function() {
|
|
|
3413
3413
|
});
|
|
3414
3414
|
});
|
|
3415
3415
|
});
|
|
3416
|
-
var
|
|
3416
|
+
var Q = E().name !== "SamsungBrowser" ? 1 : 3, P = 280, x = 20;
|
|
3417
3417
|
E().name != "Firefox" && v("canvas", function() {
|
|
3418
|
-
return document.createElement("canvas").getContext("2d"), new Promise(function(
|
|
3419
|
-
var e = Array.from({ length:
|
|
3418
|
+
return document.createElement("canvas").getContext("2d"), new Promise(function(a) {
|
|
3419
|
+
var e = Array.from({ length: Q }, function() {
|
|
3420
3420
|
return function() {
|
|
3421
|
-
var n = document.createElement("canvas"),
|
|
3422
|
-
if (!
|
|
3423
|
-
n.width =
|
|
3424
|
-
var
|
|
3425
|
-
|
|
3426
|
-
var
|
|
3427
|
-
|
|
3428
|
-
var t =
|
|
3421
|
+
var n = document.createElement("canvas"), r = n.getContext("2d");
|
|
3422
|
+
if (!r) return new ImageData(1, 1);
|
|
3423
|
+
n.width = P, n.height = x;
|
|
3424
|
+
var i = r.createLinearGradient(0, 0, n.width, n.height);
|
|
3425
|
+
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);
|
|
3426
|
+
var o = "Random Text WMwmil10Oo";
|
|
3427
|
+
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();
|
|
3428
|
+
var t = r.getImageData(0, 0, n.width, n.height);
|
|
3429
3429
|
return t;
|
|
3430
3430
|
}();
|
|
3431
3431
|
});
|
|
3432
|
-
|
|
3432
|
+
a({ commonImageDataHash: _(U(e, P, x).data.toString()).toString() });
|
|
3433
3433
|
});
|
|
3434
3434
|
});
|
|
3435
|
-
var
|
|
3436
|
-
function k(
|
|
3437
|
-
if (!
|
|
3438
|
-
return
|
|
3435
|
+
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"];
|
|
3436
|
+
function k(a, e) {
|
|
3437
|
+
if (!a) throw new Error("Canvas context not supported");
|
|
3438
|
+
return a.font = "72px ".concat(e), a.measureText("WwMmLli0Oo").width;
|
|
3439
3439
|
}
|
|
3440
|
-
function
|
|
3441
|
-
var
|
|
3440
|
+
function X() {
|
|
3441
|
+
var a, e = document.createElement("canvas"), n = (a = e.getContext("webgl")) !== null && a !== void 0 ? a : e.getContext("experimental-webgl");
|
|
3442
3442
|
if (n && "getParameter" in n) try {
|
|
3443
|
-
var
|
|
3444
|
-
if (!
|
|
3443
|
+
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() };
|
|
3444
|
+
if (!i.length || !r.length) {
|
|
3445
3445
|
var t = n.getExtension("WEBGL_debug_renderer_info");
|
|
3446
3446
|
if (t) {
|
|
3447
3447
|
var u = (n.getParameter(t.UNMASKED_VENDOR_WEBGL) || "").toString(), l = (n.getParameter(t.UNMASKED_RENDERER_WEBGL) || "").toString();
|
|
3448
|
-
u && (
|
|
3448
|
+
u && (o.vendorUnmasked = u), l && (o.rendererUnmasked = l);
|
|
3449
3449
|
}
|
|
3450
3450
|
}
|
|
3451
|
-
return
|
|
3451
|
+
return o;
|
|
3452
3452
|
} catch {
|
|
3453
3453
|
}
|
|
3454
3454
|
return "undefined";
|
|
3455
3455
|
}
|
|
3456
|
-
function
|
|
3457
|
-
var
|
|
3458
|
-
return
|
|
3456
|
+
function Y() {
|
|
3457
|
+
var a = new Float32Array(1), e = new Uint8Array(a.buffer);
|
|
3458
|
+
return a[0] = 1 / 0, a[0] = a[0] - a[0], e[3];
|
|
3459
3459
|
}
|
|
3460
|
-
function Z(
|
|
3460
|
+
function Z(a, e) {
|
|
3461
3461
|
var n = {};
|
|
3462
|
-
return e.forEach(function(
|
|
3463
|
-
var
|
|
3464
|
-
if (
|
|
3462
|
+
return e.forEach(function(r) {
|
|
3463
|
+
var i = function(o) {
|
|
3464
|
+
if (o.length === 0) return null;
|
|
3465
3465
|
var t = {};
|
|
3466
|
-
|
|
3467
|
-
var
|
|
3468
|
-
t[
|
|
3466
|
+
o.forEach(function(s) {
|
|
3467
|
+
var c = String(s);
|
|
3468
|
+
t[c] = (t[c] || 0) + 1;
|
|
3469
3469
|
});
|
|
3470
|
-
var u =
|
|
3471
|
-
return Object.keys(t).forEach(function(
|
|
3472
|
-
t[
|
|
3470
|
+
var u = o[0], l = 1;
|
|
3471
|
+
return Object.keys(t).forEach(function(s) {
|
|
3472
|
+
t[s] > l && (u = s, l = t[s]);
|
|
3473
3473
|
}), u;
|
|
3474
|
-
}(
|
|
3475
|
-
return
|
|
3476
|
-
}).filter(function(
|
|
3477
|
-
return
|
|
3474
|
+
}(a.map(function(o) {
|
|
3475
|
+
return r in o ? o[r] : void 0;
|
|
3476
|
+
}).filter(function(o) {
|
|
3477
|
+
return o !== void 0;
|
|
3478
3478
|
}));
|
|
3479
|
-
|
|
3479
|
+
i && (n[r] = i);
|
|
3480
3480
|
}), n;
|
|
3481
3481
|
}
|
|
3482
3482
|
function ee() {
|
|
3483
|
-
var
|
|
3483
|
+
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"] };
|
|
3484
3484
|
return Object.keys(e).forEach(function(n) {
|
|
3485
|
-
e[n].forEach(function(
|
|
3486
|
-
matchMedia("(".concat(n, ": ").concat(
|
|
3485
|
+
e[n].forEach(function(r) {
|
|
3486
|
+
matchMedia("(".concat(n, ": ").concat(r, ")")).matches && a.push("".concat(n, ": ").concat(r));
|
|
3487
3487
|
});
|
|
3488
|
-
}),
|
|
3488
|
+
}), a;
|
|
3489
3489
|
}
|
|
3490
3490
|
function te() {
|
|
3491
3491
|
if (window.location.protocol === "https:" && typeof window.ApplePaySession == "function") try {
|
|
3492
|
-
for (var
|
|
3492
|
+
for (var a = window.ApplePaySession.supportsVersion, e = 15; e > 0; e--) if (a(e)) return e;
|
|
3493
3493
|
} catch {
|
|
3494
3494
|
return 0;
|
|
3495
3495
|
}
|
|
3496
3496
|
return 0;
|
|
3497
3497
|
}
|
|
3498
3498
|
E().name != "Firefox" && v("fonts", function() {
|
|
3499
|
-
var
|
|
3499
|
+
var a = this;
|
|
3500
3500
|
return new Promise(function(e, n) {
|
|
3501
3501
|
try {
|
|
3502
|
-
(function(
|
|
3503
|
-
var
|
|
3504
|
-
|
|
3505
|
-
var
|
|
3506
|
-
return
|
|
3502
|
+
(function(r) {
|
|
3503
|
+
var i;
|
|
3504
|
+
y(this, void 0, void 0, function() {
|
|
3505
|
+
var o, t, u;
|
|
3506
|
+
return w(this, function(l) {
|
|
3507
3507
|
switch (l.label) {
|
|
3508
3508
|
case 0:
|
|
3509
|
-
return document.body ? [3, 2] : [4, (
|
|
3510
|
-
return setTimeout(
|
|
3509
|
+
return document.body ? [3, 2] : [4, (s = 50, new Promise(function(p) {
|
|
3510
|
+
return setTimeout(p, s, c);
|
|
3511
3511
|
}))];
|
|
3512
3512
|
case 1:
|
|
3513
3513
|
return l.sent(), [3, 0];
|
|
3514
3514
|
case 2:
|
|
3515
|
-
if ((
|
|
3516
|
-
return
|
|
3517
|
-
document.body.removeChild(
|
|
3515
|
+
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");
|
|
3516
|
+
return r({ iframe: u }), setTimeout(function() {
|
|
3517
|
+
document.body.removeChild(o);
|
|
3518
3518
|
}, 0), [2];
|
|
3519
3519
|
}
|
|
3520
|
-
var
|
|
3520
|
+
var s, c;
|
|
3521
3521
|
});
|
|
3522
3522
|
});
|
|
3523
|
-
})(function(
|
|
3524
|
-
var
|
|
3525
|
-
return
|
|
3526
|
-
var
|
|
3527
|
-
return
|
|
3528
|
-
return
|
|
3529
|
-
return k(t,
|
|
3530
|
-
}), l = {}, K.forEach(function(
|
|
3531
|
-
var
|
|
3532
|
-
u.includes(
|
|
3523
|
+
})(function(r) {
|
|
3524
|
+
var i = r.iframe;
|
|
3525
|
+
return y(a, void 0, void 0, function() {
|
|
3526
|
+
var o, t, u, l;
|
|
3527
|
+
return w(this, function(s) {
|
|
3528
|
+
return o = i.createElement("canvas"), t = o.getContext("2d"), u = J.map(function(c) {
|
|
3529
|
+
return k(t, c);
|
|
3530
|
+
}), l = {}, K.forEach(function(c) {
|
|
3531
|
+
var p = k(t, c);
|
|
3532
|
+
u.includes(p) || (l[c] = p);
|
|
3533
3533
|
}), e(l), [2];
|
|
3534
3534
|
});
|
|
3535
3535
|
});
|
|
@@ -3539,76 +3539,76 @@ E().name != "Firefox" && v("fonts", function() {
|
|
|
3539
3539
|
}
|
|
3540
3540
|
});
|
|
3541
3541
|
}), v("hardware", function() {
|
|
3542
|
-
return new Promise(function(
|
|
3543
|
-
var n = navigator.deviceMemory !== void 0 ? navigator.deviceMemory : 0,
|
|
3544
|
-
|
|
3542
|
+
return new Promise(function(a, e) {
|
|
3543
|
+
var n = navigator.deviceMemory !== void 0 ? navigator.deviceMemory : 0, r = window.performance && window.performance.memory ? window.performance.memory : 0;
|
|
3544
|
+
a({ videocard: X(), architecture: Y(), deviceMemory: n.toString() || "undefined", jsHeapSizeLimit: r.jsHeapSizeLimit || 0 });
|
|
3545
3545
|
});
|
|
3546
3546
|
}), v("locales", function() {
|
|
3547
|
-
return new Promise(function(
|
|
3548
|
-
|
|
3547
|
+
return new Promise(function(a) {
|
|
3548
|
+
a({ languages: navigator.language, timezone: Intl.DateTimeFormat().resolvedOptions().timeZone });
|
|
3549
3549
|
});
|
|
3550
3550
|
}), v("permissions", function() {
|
|
3551
|
-
return
|
|
3552
|
-
var
|
|
3553
|
-
return
|
|
3554
|
-
return
|
|
3551
|
+
return y(this, void 0, void 0, function() {
|
|
3552
|
+
var a;
|
|
3553
|
+
return w(this, function(e) {
|
|
3554
|
+
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() {
|
|
3555
3555
|
return function() {
|
|
3556
|
-
return
|
|
3557
|
-
var n,
|
|
3558
|
-
return
|
|
3556
|
+
return y(this, void 0, void 0, function() {
|
|
3557
|
+
var n, r, i, o, t;
|
|
3558
|
+
return w(this, function(u) {
|
|
3559
3559
|
switch (u.label) {
|
|
3560
3560
|
case 0:
|
|
3561
|
-
n = {},
|
|
3561
|
+
n = {}, r = 0, i = A, u.label = 1;
|
|
3562
3562
|
case 1:
|
|
3563
|
-
if (!(
|
|
3564
|
-
|
|
3563
|
+
if (!(r < i.length)) return [3, 6];
|
|
3564
|
+
o = i[r], u.label = 2;
|
|
3565
3565
|
case 2:
|
|
3566
|
-
return u.trys.push([2, 4, , 5]), [4, navigator.permissions.query({ name:
|
|
3566
|
+
return u.trys.push([2, 4, , 5]), [4, navigator.permissions.query({ name: o })];
|
|
3567
3567
|
case 3:
|
|
3568
|
-
return t = u.sent(), n[
|
|
3568
|
+
return t = u.sent(), n[o] = t.state.toString(), [3, 5];
|
|
3569
3569
|
case 4:
|
|
3570
3570
|
return u.sent(), [3, 5];
|
|
3571
3571
|
case 5:
|
|
3572
|
-
return
|
|
3572
|
+
return r++, [3, 1];
|
|
3573
3573
|
case 6:
|
|
3574
3574
|
return [2, n];
|
|
3575
3575
|
}
|
|
3576
3576
|
});
|
|
3577
3577
|
});
|
|
3578
3578
|
}();
|
|
3579
|
-
}), [2, Promise.all(
|
|
3580
|
-
return Z(n,
|
|
3579
|
+
}), [2, Promise.all(a).then(function(n) {
|
|
3580
|
+
return Z(n, A);
|
|
3581
3581
|
})];
|
|
3582
3582
|
});
|
|
3583
3583
|
});
|
|
3584
3584
|
}), v("plugins", function() {
|
|
3585
|
-
var
|
|
3585
|
+
var a = [];
|
|
3586
3586
|
if (navigator.plugins) for (var e = 0; e < navigator.plugins.length; e++) {
|
|
3587
3587
|
var n = navigator.plugins[e];
|
|
3588
|
-
|
|
3588
|
+
a.push([n.name, n.filename, n.description].join("|"));
|
|
3589
3589
|
}
|
|
3590
|
-
return new Promise(function(
|
|
3591
|
-
|
|
3590
|
+
return new Promise(function(r) {
|
|
3591
|
+
r({ plugins: a });
|
|
3592
3592
|
});
|
|
3593
3593
|
}), v("screen", function() {
|
|
3594
|
-
return new Promise(function(
|
|
3595
|
-
|
|
3594
|
+
return new Promise(function(a) {
|
|
3595
|
+
a({ is_touchscreen: navigator.maxTouchPoints > 0, maxTouchPoints: navigator.maxTouchPoints, colorDepth: screen.colorDepth, mediaMatches: ee() });
|
|
3596
3596
|
});
|
|
3597
3597
|
}), v("system", function() {
|
|
3598
|
-
return new Promise(function(
|
|
3598
|
+
return new Promise(function(a) {
|
|
3599
3599
|
var e = E();
|
|
3600
|
-
|
|
3600
|
+
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() });
|
|
3601
3601
|
});
|
|
3602
3602
|
});
|
|
3603
|
-
var
|
|
3603
|
+
var f, ne = E().name !== "SamsungBrowser" ? 1 : 3, d = null;
|
|
3604
3604
|
v("webgl", function() {
|
|
3605
|
-
return
|
|
3606
|
-
var
|
|
3607
|
-
return
|
|
3608
|
-
typeof document < "u" && ((
|
|
3605
|
+
return y(this, void 0, void 0, function() {
|
|
3606
|
+
var a;
|
|
3607
|
+
return w(this, function(e) {
|
|
3608
|
+
typeof document < "u" && ((f = document.createElement("canvas")).width = 200, f.height = 100, d = f.getContext("webgl"));
|
|
3609
3609
|
try {
|
|
3610
3610
|
if (!d) throw new Error("WebGL not supported");
|
|
3611
|
-
return
|
|
3611
|
+
return a = Array.from({ length: ne }, function() {
|
|
3612
3612
|
return function() {
|
|
3613
3613
|
try {
|
|
3614
3614
|
if (!d) throw new Error("WebGL not supported");
|
|
@@ -3617,36 +3617,36 @@ v("webgl", function() {
|
|
|
3617
3617
|
void main() {
|
|
3618
3618
|
gl_Position = vec4(position, 0.0, 1.0);
|
|
3619
3619
|
}
|
|
3620
|
-
`,
|
|
3620
|
+
`, r = `
|
|
3621
3621
|
precision mediump float;
|
|
3622
3622
|
void main() {
|
|
3623
3623
|
gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color
|
|
3624
3624
|
}
|
|
3625
|
-
`,
|
|
3626
|
-
if (!
|
|
3627
|
-
if (d.shaderSource(
|
|
3628
|
-
if (d.compileShader(
|
|
3625
|
+
`, i = d.createShader(d.VERTEX_SHADER), o = d.createShader(d.FRAGMENT_SHADER);
|
|
3626
|
+
if (!i || !o) throw new Error("Failed to create shaders");
|
|
3627
|
+
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));
|
|
3628
|
+
if (d.compileShader(o), !d.getShaderParameter(o, d.COMPILE_STATUS)) throw new Error("Fragment shader compilation failed: " + d.getShaderInfoLog(o));
|
|
3629
3629
|
var t = d.createProgram();
|
|
3630
3630
|
if (!t) throw new Error("Failed to create shader program");
|
|
3631
|
-
if (d.attachShader(t,
|
|
3631
|
+
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));
|
|
3632
3632
|
d.useProgram(t);
|
|
3633
|
-
for (var u = 137, l = new Float32Array(4 * u),
|
|
3634
|
-
var
|
|
3635
|
-
l[4 *
|
|
3633
|
+
for (var u = 137, l = new Float32Array(4 * u), s = 2 * Math.PI / u, c = 0; c < u; c++) {
|
|
3634
|
+
var p = c * s;
|
|
3635
|
+
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);
|
|
3636
3636
|
}
|
|
3637
3637
|
var L = d.createBuffer();
|
|
3638
3638
|
d.bindBuffer(d.ARRAY_BUFFER, L), d.bufferData(d.ARRAY_BUFFER, l, d.STATIC_DRAW);
|
|
3639
3639
|
var I = d.getAttribLocation(t, "position");
|
|
3640
|
-
d.enableVertexAttribArray(I), d.vertexAttribPointer(I, 2, d.FLOAT, !1, 0, 0), d.viewport(0, 0,
|
|
3641
|
-
var R = new Uint8ClampedArray(
|
|
3642
|
-
return d.readPixels(0, 0,
|
|
3640
|
+
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);
|
|
3641
|
+
var R = new Uint8ClampedArray(f.width * f.height * 4);
|
|
3642
|
+
return d.readPixels(0, 0, f.width, f.height, d.RGBA, d.UNSIGNED_BYTE, R), new ImageData(R, f.width, f.height);
|
|
3643
3643
|
} catch {
|
|
3644
3644
|
return new ImageData(1, 1);
|
|
3645
3645
|
} finally {
|
|
3646
3646
|
d && (d.bindBuffer(d.ARRAY_BUFFER, null), d.useProgram(null), d.viewport(0, 0, d.drawingBufferWidth, d.drawingBufferHeight), d.clearColor(0, 0, 0, 0));
|
|
3647
3647
|
}
|
|
3648
3648
|
}();
|
|
3649
|
-
}), [2, { commonImageHash:
|
|
3649
|
+
}), [2, { commonImageHash: _(U(a, f.width, f.height).data.toString()).toString() }];
|
|
3650
3650
|
} catch {
|
|
3651
3651
|
return [2, { webgl: "unsupported" }];
|
|
3652
3652
|
}
|
|
@@ -3654,15 +3654,15 @@ v("webgl", function() {
|
|
|
3654
3654
|
});
|
|
3655
3655
|
});
|
|
3656
3656
|
});
|
|
3657
|
-
var
|
|
3658
|
-
for (var
|
|
3659
|
-
|
|
3660
|
-
return
|
|
3657
|
+
var b = function(a, e, n, r) {
|
|
3658
|
+
for (var i = (n - e) / r, o = 0, t = 0; t < r; t++)
|
|
3659
|
+
o += a(e + (t + 0.5) * i);
|
|
3660
|
+
return o * i;
|
|
3661
3661
|
};
|
|
3662
3662
|
v("math", function() {
|
|
3663
|
-
return
|
|
3664
|
-
return
|
|
3665
|
-
return [2, { acos: Math.acos(0.5), asin:
|
|
3663
|
+
return y(void 0, void 0, void 0, function() {
|
|
3664
|
+
return w(this, function(a) {
|
|
3665
|
+
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) }];
|
|
3666
3666
|
});
|
|
3667
3667
|
});
|
|
3668
3668
|
});
|
|
@@ -3670,12 +3670,16 @@ v("math", function() {
|
|
|
3670
3670
|
const initialSearchcraftStateValues = {
|
|
3671
3671
|
adClientResponseItems: [],
|
|
3672
3672
|
core: undefined,
|
|
3673
|
+
hotkey: 'k',
|
|
3674
|
+
hotkeyModifier: 'meta',
|
|
3673
3675
|
logger: undefined,
|
|
3674
3676
|
facetPathsForIndexFields: {},
|
|
3677
|
+
initialQuery: '',
|
|
3678
|
+
initialSearchClientResponseItems: [],
|
|
3675
3679
|
isPopoverVisible: false,
|
|
3676
3680
|
isSearchInProgress: false,
|
|
3677
|
-
searchTerm: '',
|
|
3678
3681
|
rangeValueForIndexFields: {},
|
|
3682
|
+
searchTerm: '',
|
|
3679
3683
|
searchMode: 'fuzzy',
|
|
3680
3684
|
searchClientResponseItems: [],
|
|
3681
3685
|
searchResponseTimeTaken: undefined,
|
|
@@ -3684,37 +3688,47 @@ const initialSearchcraftStateValues = {
|
|
|
3684
3688
|
searchResultsPerPage: 20,
|
|
3685
3689
|
searchResultsPage: 1,
|
|
3686
3690
|
sortType: 'asc',
|
|
3691
|
+
// Callbacks
|
|
3692
|
+
afterInit: () => { },
|
|
3687
3693
|
};
|
|
3688
|
-
const searchcraftStore = zustand.createStore((
|
|
3694
|
+
const searchcraftStore = zustand.createStore((_set, get) => {
|
|
3689
3695
|
const functions = {
|
|
3690
|
-
|
|
3696
|
+
set: (state) => {
|
|
3697
|
+
_set(state);
|
|
3698
|
+
return get();
|
|
3699
|
+
},
|
|
3700
|
+
addFacetPathsForIndexField: (facetPaths) => functions.set((state) => ({
|
|
3691
3701
|
facetPathsForIndexFields: {
|
|
3692
3702
|
...state.facetPathsForIndexFields,
|
|
3693
|
-
[
|
|
3703
|
+
[facetPaths.fieldName]: facetPaths,
|
|
3694
3704
|
},
|
|
3695
3705
|
})),
|
|
3696
|
-
addRangeValueForIndexField: (
|
|
3706
|
+
addRangeValueForIndexField: (rangeValue) => functions.set((state) => ({
|
|
3697
3707
|
rangeValueForIndexFields: {
|
|
3698
3708
|
...state.rangeValueForIndexFields,
|
|
3699
|
-
[
|
|
3709
|
+
[rangeValue.fieldName]: rangeValue,
|
|
3700
3710
|
},
|
|
3701
3711
|
})),
|
|
3702
|
-
|
|
3712
|
+
getSearchcraftCore: () => {
|
|
3703
3713
|
const { core } = get();
|
|
3704
3714
|
return core;
|
|
3705
3715
|
},
|
|
3706
|
-
|
|
3707
|
-
const core = searchcraftInstance;
|
|
3716
|
+
init: (core, debug = false) => {
|
|
3708
3717
|
const logger = debug
|
|
3709
|
-
? new
|
|
3718
|
+
? new pe({ logLevel: F.DEBUG })
|
|
3710
3719
|
: undefined;
|
|
3711
|
-
set({
|
|
3720
|
+
const state = functions.set({
|
|
3712
3721
|
core,
|
|
3713
3722
|
logger,
|
|
3714
|
-
searchResultsPerPage: core
|
|
3723
|
+
searchResultsPerPage: core?.config.searchResultsPerPage || 20,
|
|
3724
|
+
});
|
|
3725
|
+
core?.subscribe('initialized', () => {
|
|
3726
|
+
if (state.afterInit) {
|
|
3727
|
+
state.afterInit(state);
|
|
3728
|
+
}
|
|
3715
3729
|
});
|
|
3716
3730
|
},
|
|
3717
|
-
removeFacetPathsForIndexField: (fieldName) => set((state) => {
|
|
3731
|
+
removeFacetPathsForIndexField: (fieldName) => functions.set((state) => {
|
|
3718
3732
|
const currentPaths = state.facetPathsForIndexFields;
|
|
3719
3733
|
delete currentPaths[fieldName];
|
|
3720
3734
|
return {
|
|
@@ -3723,7 +3737,7 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
3723
3737
|
},
|
|
3724
3738
|
};
|
|
3725
3739
|
}),
|
|
3726
|
-
removeRangeValueForIndexField: (fieldName) => set((state) => {
|
|
3740
|
+
removeRangeValueForIndexField: (fieldName) => functions.set((state) => {
|
|
3727
3741
|
const currentValues = state.rangeValueForIndexFields;
|
|
3728
3742
|
delete currentValues[fieldName];
|
|
3729
3743
|
return {
|
|
@@ -3733,19 +3747,19 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
3733
3747
|
};
|
|
3734
3748
|
}),
|
|
3735
3749
|
resetFacetPaths: () => {
|
|
3736
|
-
set({
|
|
3750
|
+
functions.set({
|
|
3737
3751
|
facetPathsForIndexFields: {},
|
|
3738
3752
|
});
|
|
3739
3753
|
},
|
|
3740
3754
|
search: async () => {
|
|
3741
3755
|
const state = get();
|
|
3742
|
-
state.logger?.log(
|
|
3756
|
+
state.logger?.log(F.INFO, `Starting search with search term: "${state.searchTerm}"`);
|
|
3743
3757
|
if (!state.core) {
|
|
3744
3758
|
throw new Error('Searchcraft instance is not initialized.');
|
|
3745
3759
|
}
|
|
3746
3760
|
if (!state.searchTerm.trim()) {
|
|
3747
|
-
state.logger?.log(
|
|
3748
|
-
set({
|
|
3761
|
+
state.logger?.log(F.INFO, 'No search request was made: search term was empty.');
|
|
3762
|
+
functions.set({
|
|
3749
3763
|
searchClientResponseItems: [],
|
|
3750
3764
|
searchResultsCount: 0,
|
|
3751
3765
|
searchResultsPage: 1,
|
|
@@ -3753,32 +3767,8 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
3753
3767
|
});
|
|
3754
3768
|
return;
|
|
3755
3769
|
}
|
|
3756
|
-
set({ isSearchInProgress: true });
|
|
3757
|
-
|
|
3758
|
-
const facetsFromResponse = response.data.facets;
|
|
3759
|
-
set((state) => {
|
|
3760
|
-
return {
|
|
3761
|
-
isSearchInProgress: false,
|
|
3762
|
-
searchClientResponseItems: items,
|
|
3763
|
-
searchResponseTimeTaken: response.data.time_taken || 0,
|
|
3764
|
-
searchResultsPage:
|
|
3765
|
-
// reset to first page when response count changes
|
|
3766
|
-
response.data.count === state.searchResultsCount
|
|
3767
|
-
? state.searchResultsPage
|
|
3768
|
-
: 1,
|
|
3769
|
-
searchResultsCount: response.data.count || 0,
|
|
3770
|
-
};
|
|
3771
|
-
});
|
|
3772
|
-
if (facetsFromResponse) {
|
|
3773
|
-
set({ searchResponseFacetPrime: facetsFromResponse });
|
|
3774
|
-
}
|
|
3775
|
-
state.logger?.log(P.DEBUG, `Search results: ${JSON.stringify(items)}`);
|
|
3776
|
-
state.logger?.log(P.DEBUG, `Facets from response: ${JSON.stringify(facetsFromResponse)}`);
|
|
3777
|
-
};
|
|
3778
|
-
const handleAdResponse = (adClientResponseItems) => {
|
|
3779
|
-
set({ adClientResponseItems });
|
|
3780
|
-
};
|
|
3781
|
-
state.core.getItems({
|
|
3770
|
+
functions.set({ isSearchInProgress: true });
|
|
3771
|
+
state.core.getResponseItems({
|
|
3782
3772
|
searchTerm: state.searchTerm,
|
|
3783
3773
|
mode: state.searchMode,
|
|
3784
3774
|
sort: state.sortType,
|
|
@@ -3788,15 +3778,55 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
3788
3778
|
? state.searchResultsPerPage * (state.searchResultsPage - 1)
|
|
3789
3779
|
: 0,
|
|
3790
3780
|
limit: state.searchResultsPerPage,
|
|
3791
|
-
},
|
|
3781
|
+
}, functions.setSearchClientResponseItemsFromResponse, functions.setAdClientResponseItems);
|
|
3792
3782
|
},
|
|
3793
|
-
|
|
3794
|
-
|
|
3795
|
-
|
|
3783
|
+
setAdClientResponseItems: (items) => functions.set({ adClientResponseItems: items }),
|
|
3784
|
+
setSearchClientResponseItemsFromResponse: (response, items) => {
|
|
3785
|
+
const { facets, count = 0, time_taken = 0 } = response.data;
|
|
3786
|
+
const state = functions.set((state) => {
|
|
3787
|
+
return {
|
|
3788
|
+
isSearchInProgress: false,
|
|
3789
|
+
searchClientResponseItems: items,
|
|
3790
|
+
searchResponseTimeTaken: time_taken,
|
|
3791
|
+
searchResultsPage:
|
|
3792
|
+
// Reset to first page when response count changes
|
|
3793
|
+
count === state.searchResultsCount ? state.searchResultsPage : 1,
|
|
3794
|
+
searchResultsCount: count,
|
|
3795
|
+
...(facets && { searchResponseFacetPrime: facets }),
|
|
3796
|
+
};
|
|
3796
3797
|
});
|
|
3798
|
+
state.logger?.log(F.DEBUG, `Search results: ${JSON.stringify(items)}`);
|
|
3799
|
+
state.logger?.log(F.DEBUG, `Facets from response: ${JSON.stringify(facets)}`);
|
|
3800
|
+
},
|
|
3801
|
+
setInitialSearchClientResponseItemsFromResponse: (response, items) => {
|
|
3802
|
+
const state = get();
|
|
3803
|
+
const { count = 0, time_taken = 0 } = response.data;
|
|
3804
|
+
functions.set((state) => {
|
|
3805
|
+
return {
|
|
3806
|
+
isSearchInProgress: false,
|
|
3807
|
+
initialSearchClientResponseItems: items,
|
|
3808
|
+
searchResponseTimeTaken: time_taken,
|
|
3809
|
+
searchResultsPage:
|
|
3810
|
+
// Reset to first page when response count changes
|
|
3811
|
+
count === state.searchResultsCount ? state.searchResultsPage : 1,
|
|
3812
|
+
searchResultsCount: count,
|
|
3813
|
+
};
|
|
3814
|
+
});
|
|
3815
|
+
state.logger?.log(F.DEBUG, `Search results: ${JSON.stringify(items)}`);
|
|
3816
|
+
},
|
|
3817
|
+
setInitialQuery: async (query) => {
|
|
3818
|
+
const state = functions.set({ initialQuery: query });
|
|
3819
|
+
state.logger?.log(F.INFO, `Starting search with query: "${state.initialQuery}"`);
|
|
3820
|
+
if (!state.core) {
|
|
3821
|
+
throw new Error('Searchcraft instance is not initialized.');
|
|
3822
|
+
}
|
|
3823
|
+
await state.core.getResponseItems(query, functions.setInitialSearchClientResponseItemsFromResponse, functions.setAdClientResponseItems);
|
|
3797
3824
|
},
|
|
3798
|
-
|
|
3799
|
-
|
|
3825
|
+
setPopoverVisibility: (isVisible) => functions.set({
|
|
3826
|
+
isPopoverVisible: isVisible,
|
|
3827
|
+
}),
|
|
3828
|
+
setSearchMode: (mode) => functions.set({ searchMode: mode }),
|
|
3829
|
+
setSortType: (type) => functions.set({ sortType: type }),
|
|
3800
3830
|
setSearchTerm: (searchTerm) => {
|
|
3801
3831
|
const { core } = get();
|
|
3802
3832
|
if (searchTerm.length === 0) {
|
|
@@ -3805,7 +3835,7 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
3805
3835
|
/**
|
|
3806
3836
|
* When a new searchTerm is set, also reset the sort type, search mode, and facet paths.
|
|
3807
3837
|
*/
|
|
3808
|
-
set({
|
|
3838
|
+
functions.set({
|
|
3809
3839
|
searchTerm,
|
|
3810
3840
|
facetPathsForIndexFields: {},
|
|
3811
3841
|
...(searchTerm.trim().length === 0 && {
|
|
@@ -3814,15 +3844,23 @@ const searchcraftStore = zustand.createStore((set, get) => {
|
|
|
3814
3844
|
}),
|
|
3815
3845
|
});
|
|
3816
3846
|
},
|
|
3817
|
-
setSearchClientResponseItems: (items) => set({ searchClientResponseItems: items }),
|
|
3847
|
+
setSearchClientResponseItems: (items) => functions.set({ searchClientResponseItems: items }),
|
|
3848
|
+
setSearchResultsCount: (count) => functions.set({ searchResultsCount: count }),
|
|
3818
3849
|
setSearchResultsPage: async (page) => {
|
|
3819
|
-
set({ searchResultsPage: page });
|
|
3850
|
+
functions.set({ searchResultsPage: page });
|
|
3820
3851
|
await functions.search();
|
|
3821
3852
|
},
|
|
3822
3853
|
setSearchResultsPerPage: async (perPage) => {
|
|
3823
|
-
set({ searchResultsPerPage: perPage });
|
|
3854
|
+
functions.set({ searchResultsPerPage: perPage });
|
|
3824
3855
|
await functions.search();
|
|
3825
3856
|
},
|
|
3857
|
+
setHotKeyAndHotKeyModifier: (hotkey, hotkeyModifier) => {
|
|
3858
|
+
const { hotkey: initialHotkey, hotkeyModifier: initialHotkeyModifier } = initialSearchcraftStateValues;
|
|
3859
|
+
functions.set({
|
|
3860
|
+
hotkey: hotkey || initialHotkey,
|
|
3861
|
+
hotkeyModifier: hotkeyModifier || initialHotkeyModifier,
|
|
3862
|
+
});
|
|
3863
|
+
},
|
|
3826
3864
|
};
|
|
3827
3865
|
const stateObject = {
|
|
3828
3866
|
...initialSearchcraftStateValues,
|
|
@@ -3961,7 +3999,6 @@ function mergeFacetRoots(fieldName, currentRoot, incomingRoot) {
|
|
|
3961
3999
|
|
|
3962
4000
|
/**
|
|
3963
4001
|
* Given a document and a SearchResultMapping, return a mapped value from the document.
|
|
3964
|
-
*
|
|
3965
4002
|
* Applies formatting based on the values specified in the `SearchResultFieldName` values.
|
|
3966
4003
|
*
|
|
3967
4004
|
* @param document
|
|
@@ -3976,8 +4013,7 @@ function getDocumentValueFromSearchResultMapping(document, mapping) {
|
|
|
3976
4013
|
if (valueFound) {
|
|
3977
4014
|
switch (fieldNameDetails.dataType) {
|
|
3978
4015
|
case 'date': {
|
|
3979
|
-
|
|
3980
|
-
valueFound = getFormattedTimeFromNow(valueFound);
|
|
4016
|
+
valueFound = formatRelativeDate(valueFound, fieldNameDetails.dateFormatLocale, fieldNameDetails.dateFormatOptions);
|
|
3981
4017
|
break;
|
|
3982
4018
|
}
|
|
3983
4019
|
case 'number': {
|
|
@@ -3992,6 +4028,12 @@ function getDocumentValueFromSearchResultMapping(document, mapping) {
|
|
|
3992
4028
|
.join(mapping.delimiter || ' ');
|
|
3993
4029
|
}
|
|
3994
4030
|
}
|
|
4031
|
+
/**
|
|
4032
|
+
* Convert different units of time to milliseconds.
|
|
4033
|
+
*
|
|
4034
|
+
* @param unit - The unit of time
|
|
4035
|
+
* @returns {number}
|
|
4036
|
+
*/
|
|
3995
4037
|
function getMillis(unit) {
|
|
3996
4038
|
const millisInHour = 60 * 60 * 1000;
|
|
3997
4039
|
const millisInDay = 24 * millisInHour;
|
|
@@ -4010,34 +4052,51 @@ function getMillis(unit) {
|
|
|
4010
4052
|
return 3600000;
|
|
4011
4053
|
}
|
|
4012
4054
|
}
|
|
4055
|
+
/**
|
|
4056
|
+
* Format a number with commas as thousands separators.
|
|
4057
|
+
*
|
|
4058
|
+
* @param number - The number to be formatted.
|
|
4059
|
+
* @returns {string} - The formatted number as a string.
|
|
4060
|
+
*/
|
|
4013
4061
|
function formatNumberWithCommas(number) {
|
|
4014
4062
|
return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
|
4015
4063
|
}
|
|
4016
4064
|
/**
|
|
4017
|
-
*
|
|
4018
|
-
*
|
|
4065
|
+
* Format a date or date string. The string is formatted relative to today's date
|
|
4066
|
+
* (e.g. 2 days ago) until the date range is greater than a month.
|
|
4019
4067
|
*
|
|
4020
|
-
* @param
|
|
4021
|
-
* @
|
|
4068
|
+
* @param dateInput - The date to be formatted.
|
|
4069
|
+
* @param locale - The language used for formatting the date.
|
|
4070
|
+
* @param options - The non-default options used for formatting the date.
|
|
4071
|
+
* @returns {string} - The formatted date as a string.
|
|
4022
4072
|
*/
|
|
4023
|
-
function
|
|
4073
|
+
function formatRelativeDate(dateInput, locale = 'en-US', options = {
|
|
4074
|
+
day: 'numeric',
|
|
4075
|
+
month: 'long',
|
|
4076
|
+
year: 'numeric',
|
|
4077
|
+
}) {
|
|
4078
|
+
const date = new Date(dateInput);
|
|
4024
4079
|
const now = new Date();
|
|
4025
|
-
const
|
|
4026
|
-
const
|
|
4027
|
-
|
|
4028
|
-
|
|
4029
|
-
|
|
4030
|
-
|
|
4031
|
-
|
|
4032
|
-
|
|
4033
|
-
|
|
4034
|
-
|
|
4035
|
-
|
|
4036
|
-
|
|
4037
|
-
|
|
4038
|
-
|
|
4080
|
+
const diffMillis = now.getTime() - date.getTime();
|
|
4081
|
+
const oneMonthInMillis = 30 * 24 * 60 * 60 * 1000; // Approx. 1 month in ms
|
|
4082
|
+
if (diffMillis < oneMonthInMillis) {
|
|
4083
|
+
const diffSeconds = Math.trunc(diffMillis / 1000);
|
|
4084
|
+
const diffMinutes = Math.trunc(diffSeconds / 60);
|
|
4085
|
+
const diffHours = Math.trunc(diffMinutes / 60);
|
|
4086
|
+
const diffDays = Math.trunc(diffHours / 24);
|
|
4087
|
+
const relativeTimeFormat = new Intl.RelativeTimeFormat(locale, options);
|
|
4088
|
+
if (diffDays >= 1) {
|
|
4089
|
+
return relativeTimeFormat.format(-diffDays, 'day');
|
|
4090
|
+
}
|
|
4091
|
+
if (diffHours >= 1) {
|
|
4092
|
+
return relativeTimeFormat.format(-diffHours, 'hour');
|
|
4093
|
+
}
|
|
4094
|
+
if (diffMinutes >= 1) {
|
|
4095
|
+
return relativeTimeFormat.format(-diffMinutes, 'minute');
|
|
4096
|
+
}
|
|
4097
|
+
return relativeTimeFormat.format(0, 'second');
|
|
4039
4098
|
}
|
|
4040
|
-
return
|
|
4099
|
+
return new Intl.DateTimeFormat(locale, options).format(date);
|
|
4041
4100
|
}
|
|
4042
4101
|
|
|
4043
4102
|
var purify = {exports: {}};
|
|
@@ -5537,13 +5596,13 @@ class SearchcraftFacetList {
|
|
|
5537
5596
|
const isChildSelected = facetChild.children
|
|
5538
5597
|
? facetChild.children?.some((child) => this.selectedPaths[child.path])
|
|
5539
5598
|
: false;
|
|
5540
|
-
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(
|
|
5599
|
+
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: {
|
|
5541
5600
|
display: this.selectedPaths[facetChild.path]
|
|
5542
5601
|
? 'flex'
|
|
5543
5602
|
: 'none',
|
|
5544
|
-
} }, hAsync("
|
|
5603
|
+
} }, 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) => {
|
|
5545
5604
|
this.handleCheckboxChange(grandchild.path);
|
|
5546
|
-
}, type: 'checkbox' }), hAsync("div", { class: 'searchcraft-facet-list-checkbox-input-check-icon searchcraft-facet-list-
|
|
5605
|
+
}, 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))))))));
|
|
5547
5606
|
})));
|
|
5548
5607
|
}
|
|
5549
5608
|
static get cmpMeta() { return {
|
|
@@ -5554,12 +5613,7 @@ class SearchcraftFacetList {
|
|
|
5554
5613
|
"baseFacetRoot": [32],
|
|
5555
5614
|
"facetRoot": [32],
|
|
5556
5615
|
"selectedPaths": [32],
|
|
5557
|
-
"lastTimeTaken": [32]
|
|
5558
|
-
"hasNewSearchTerm": [32],
|
|
5559
|
-
"lastSearchTerm": [32],
|
|
5560
|
-
"lastSearchMode": [32],
|
|
5561
|
-
"lastSortType": [32],
|
|
5562
|
-
"unsubscribe": [32]
|
|
5616
|
+
"lastTimeTaken": [32]
|
|
5563
5617
|
},
|
|
5564
5618
|
"$listeners$": undefined,
|
|
5565
5619
|
"$lazyBundleId$": "-",
|
|
@@ -5570,12 +5624,13 @@ class SearchcraftFacetList {
|
|
|
5570
5624
|
/**
|
|
5571
5625
|
* This web component represents a series of filters that allows users to refine and control their search queries by applying various filter criteria.
|
|
5572
5626
|
*
|
|
5573
|
-
* @import
|
|
5627
|
+
* @react-import
|
|
5574
5628
|
* ```jsx
|
|
5575
|
-
* // react
|
|
5576
5629
|
* import { SearchcraftFilterPanel } from "@searchcraft/react-sdk";
|
|
5630
|
+
* ```
|
|
5577
5631
|
*
|
|
5578
|
-
*
|
|
5632
|
+
* @vue-import
|
|
5633
|
+
* ```jsx
|
|
5579
5634
|
* import { SearchcraftFilterPanel } from "@searchcraft/vue-sdk";
|
|
5580
5635
|
* ```
|
|
5581
5636
|
*
|
|
@@ -5663,7 +5718,7 @@ class SearchcraftFilterPanel {
|
|
|
5663
5718
|
* Iterate through `items` and render them based on `type`
|
|
5664
5719
|
*/
|
|
5665
5720
|
render() {
|
|
5666
|
-
return (hAsync("div", { key: '
|
|
5721
|
+
return (hAsync("div", { key: '22344fe9d0554894bff8c2c6afe12661bf7f20d0', class: 'searchcraft-filter-panel' }, this.items.map((filterItem) => {
|
|
5667
5722
|
switch (filterItem.type) {
|
|
5668
5723
|
case 'dateRange': {
|
|
5669
5724
|
const item = filterItem;
|
|
@@ -5722,12 +5777,13 @@ class SearchcraftFilterPanel {
|
|
|
5722
5777
|
* This web component provides a user-friendly interface for querying an indexed dataset, enabling users to easily search large collections of data.
|
|
5723
5778
|
* It abstracts the complexities of index-based searching, making it accessible to users of all technical levels.
|
|
5724
5779
|
*
|
|
5725
|
-
* @import
|
|
5780
|
+
* @react-import
|
|
5726
5781
|
* ```jsx
|
|
5727
|
-
* // react
|
|
5728
5782
|
* import { SearchcraftInputForm } from "@searchcraft/react-sdk";
|
|
5783
|
+
* ```
|
|
5729
5784
|
*
|
|
5730
|
-
*
|
|
5785
|
+
* @vue-import
|
|
5786
|
+
* ```jsx
|
|
5731
5787
|
* import { SearchcraftInputForm } from "@searchcraft/vue-sdk";
|
|
5732
5788
|
* ```
|
|
5733
5789
|
*
|
|
@@ -5789,20 +5845,31 @@ class SearchcraftInputForm {
|
|
|
5789
5845
|
searchTerm = '';
|
|
5790
5846
|
error = false;
|
|
5791
5847
|
core;
|
|
5792
|
-
|
|
5848
|
+
searchcraftStore = searchcraftStore.getState();
|
|
5849
|
+
unsubscribe = () => { };
|
|
5793
5850
|
init() {
|
|
5794
5851
|
if (this.core) {
|
|
5795
|
-
this.
|
|
5852
|
+
this.searchcraftStore.init(this.core);
|
|
5796
5853
|
this.inputInit?.emit();
|
|
5797
5854
|
}
|
|
5798
5855
|
}
|
|
5799
|
-
|
|
5856
|
+
onCoreChange() {
|
|
5800
5857
|
this.init();
|
|
5801
5858
|
}
|
|
5802
|
-
|
|
5859
|
+
connectedCallback() {
|
|
5803
5860
|
this.init();
|
|
5804
5861
|
}
|
|
5805
|
-
|
|
5862
|
+
componentDidLoad() {
|
|
5863
|
+
this.unsubscribe = searchcraftStore.subscribe((state) => {
|
|
5864
|
+
this.searchTerm = state.searchTerm;
|
|
5865
|
+
this.inputValue = state.searchTerm;
|
|
5866
|
+
});
|
|
5867
|
+
}
|
|
5868
|
+
disconnectedCallback() {
|
|
5869
|
+
this.handleReset();
|
|
5870
|
+
this.unsubscribe?.();
|
|
5871
|
+
}
|
|
5872
|
+
handleInput = (event) => {
|
|
5806
5873
|
const input = event.target;
|
|
5807
5874
|
this.inputValue = input.value;
|
|
5808
5875
|
if (!this.autoSearch) {
|
|
@@ -5810,31 +5877,32 @@ class SearchcraftInputForm {
|
|
|
5810
5877
|
}
|
|
5811
5878
|
this.performSearch(input.value);
|
|
5812
5879
|
};
|
|
5813
|
-
performSearch = async (
|
|
5814
|
-
if (
|
|
5880
|
+
performSearch = async (searchTerm) => {
|
|
5881
|
+
if (searchTerm === this.searchTerm) {
|
|
5815
5882
|
return;
|
|
5816
5883
|
}
|
|
5817
|
-
this.searchTerm
|
|
5884
|
+
this.searchcraftStore.setSearchTerm(searchTerm.trim());
|
|
5818
5885
|
this.error = false;
|
|
5819
|
-
this.searchStore.setSearchTerm(this.searchTerm);
|
|
5820
5886
|
try {
|
|
5821
|
-
await this.
|
|
5887
|
+
await this.searchcraftStore.search();
|
|
5822
5888
|
}
|
|
5823
5889
|
catch (error) {
|
|
5824
|
-
console.
|
|
5890
|
+
console.error(`Search for ${searchTerm} failed:`, error);
|
|
5825
5891
|
this.error = true;
|
|
5826
5892
|
}
|
|
5827
5893
|
};
|
|
5828
|
-
|
|
5829
|
-
this.
|
|
5830
|
-
this.
|
|
5831
|
-
this.
|
|
5832
|
-
this.searchStore.setSearchClientResponseItems([]);
|
|
5894
|
+
handleReset = () => {
|
|
5895
|
+
this.searchcraftStore.setSearchResultsCount(0);
|
|
5896
|
+
this.searchcraftStore.setSearchTerm('');
|
|
5897
|
+
this.searchcraftStore.setSearchClientResponseItems([]);
|
|
5833
5898
|
this.error = false;
|
|
5834
5899
|
};
|
|
5900
|
+
handleClearInput = () => {
|
|
5901
|
+
this.handleReset();
|
|
5902
|
+
};
|
|
5835
5903
|
handleFormSubmit = async (event) => {
|
|
5836
5904
|
event.preventDefault();
|
|
5837
|
-
await this.performSearch(this.
|
|
5905
|
+
await this.performSearch(this.inputValue);
|
|
5838
5906
|
};
|
|
5839
5907
|
render() {
|
|
5840
5908
|
const isShowingClearButton = this.inputValue.length > 0;
|
|
@@ -5847,9 +5915,9 @@ class SearchcraftInputForm {
|
|
|
5847
5915
|
const inputGridStyles = {
|
|
5848
5916
|
gap: shouldHaveVerticalGap ? '4px 8px' : '0px 8px',
|
|
5849
5917
|
};
|
|
5850
|
-
return (hAsync("form", { key: '
|
|
5851
|
-
this.
|
|
5852
|
-
}, placeholder: this.placeholderValue, type: 'text', value: this.inputValue }), hAsync("div", { key: '
|
|
5918
|
+
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) => {
|
|
5919
|
+
this.handleInput(event);
|
|
5920
|
+
}, 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' }))))))));
|
|
5853
5921
|
}
|
|
5854
5922
|
static get watchers() { return {
|
|
5855
5923
|
"core": ["onCoreChange"]
|
|
@@ -5912,12 +5980,13 @@ class SearchcraftInputLabel {
|
|
|
5912
5980
|
/**
|
|
5913
5981
|
* This web component is designed to facilitate pagination of search results. Once a query is submitted, calculates the number for pages.
|
|
5914
5982
|
*
|
|
5915
|
-
* @import
|
|
5983
|
+
* @react-import
|
|
5916
5984
|
* ```jsx
|
|
5917
|
-
* // react
|
|
5918
5985
|
* import { SearchcraftPagination } from "@searchcraft/react-sdk";
|
|
5986
|
+
* ```
|
|
5919
5987
|
*
|
|
5920
|
-
*
|
|
5988
|
+
* @vue-import
|
|
5989
|
+
* ```jsx
|
|
5921
5990
|
* import { SearchcraftPagination } from "@searchcraft/vue-sdk";
|
|
5922
5991
|
* ```
|
|
5923
5992
|
*
|
|
@@ -6046,32 +6115,51 @@ class SearchcraftPagination {
|
|
|
6046
6115
|
/**
|
|
6047
6116
|
* Renders a button which, when clicked, turns on popover visibility.
|
|
6048
6117
|
*
|
|
6049
|
-
* @import
|
|
6118
|
+
* @react-import
|
|
6050
6119
|
* ```jsx
|
|
6051
|
-
* // react
|
|
6052
6120
|
* import { SearchcraftPopoverButton } from "@searchcraft/react-sdk";
|
|
6121
|
+
* ````
|
|
6053
6122
|
*
|
|
6054
|
-
*
|
|
6123
|
+
* @vue-import
|
|
6124
|
+
* ```jsx
|
|
6055
6125
|
* import { SearchcraftPopoverButton } from "@searchcraft/vue-sdk";
|
|
6056
6126
|
* ```
|
|
6057
6127
|
*
|
|
6058
6128
|
* @js-example
|
|
6059
6129
|
* ```html
|
|
6130
|
+
* <!-- index.html -->
|
|
6060
6131
|
* <searchcraft-popover-button>
|
|
6061
6132
|
* Open popover
|
|
6062
6133
|
* </searchcraft-popover-button>
|
|
6063
6134
|
* ```
|
|
6064
6135
|
*
|
|
6136
|
+
* ```js
|
|
6137
|
+
* // index.js
|
|
6138
|
+
* const popoverButton = document.querySelector('searchcraft-popover-button');
|
|
6139
|
+
*
|
|
6140
|
+
* popoverButton.template = ({ isPopoverVisible }, { html }) => html`
|
|
6141
|
+
* <span>Click me</span>
|
|
6142
|
+
* `;
|
|
6143
|
+
* ```
|
|
6144
|
+
*
|
|
6065
6145
|
* @react-example
|
|
6066
6146
|
* ```jsx
|
|
6067
|
-
* <SearchcraftPopoverButton
|
|
6147
|
+
* <SearchcraftPopoverButton
|
|
6148
|
+
* template={({ isPopoverVisible }, { html }) => html`
|
|
6149
|
+
* <span>Click me</span>
|
|
6150
|
+
* `}
|
|
6151
|
+
* >
|
|
6068
6152
|
* Open popover
|
|
6069
6153
|
* </SearchcraftPopoverButton>
|
|
6070
6154
|
* ```
|
|
6071
6155
|
*
|
|
6072
6156
|
* @vue-example
|
|
6073
6157
|
* ```jsx
|
|
6074
|
-
* <SearchcraftPopoverButton
|
|
6158
|
+
* <SearchcraftPopoverButton
|
|
6159
|
+
* :template={({ isPopoverVisible }, { html }) => html`
|
|
6160
|
+
* <span>Click me</span>
|
|
6161
|
+
* `}
|
|
6162
|
+
* >
|
|
6075
6163
|
* Open popover
|
|
6076
6164
|
* </SearchcraftPopoverButton>
|
|
6077
6165
|
* ```
|
|
@@ -6080,16 +6168,146 @@ class SearchcraftPopoverButton {
|
|
|
6080
6168
|
constructor(hostRef) {
|
|
6081
6169
|
registerInstance(this, hostRef);
|
|
6082
6170
|
}
|
|
6171
|
+
/**
|
|
6172
|
+
* A callback function responsible for rendering the button contents.
|
|
6173
|
+
*/
|
|
6174
|
+
template;
|
|
6175
|
+
/**
|
|
6176
|
+
* The type of popover button to render.
|
|
6177
|
+
*/
|
|
6178
|
+
type;
|
|
6179
|
+
hotkey;
|
|
6180
|
+
hotkeyModifier;
|
|
6181
|
+
hotkeyModifierSymbol;
|
|
6182
|
+
isPopoverVisible;
|
|
6183
|
+
userAgent;
|
|
6184
|
+
unsubscribe = () => { };
|
|
6083
6185
|
handleOnClick() {
|
|
6084
6186
|
searchcraftStore.getState().setPopoverVisibility(true);
|
|
6085
6187
|
}
|
|
6188
|
+
componentDidLoad() {
|
|
6189
|
+
const state = searchcraftStore.getState();
|
|
6190
|
+
this.hotkey = state.hotkey.toUpperCase();
|
|
6191
|
+
this.hotkeyModifier = state.hotkeyModifier;
|
|
6192
|
+
this.isPopoverVisible = state.isPopoverVisible;
|
|
6193
|
+
this.userAgent = this.setUserAgent();
|
|
6194
|
+
this.hotkeyModifierSymbol = this.setHotkeyModifierSymbol();
|
|
6195
|
+
this.unsubscribe = searchcraftStore.subscribe((state) => {
|
|
6196
|
+
this.hotkey = state.hotkey.toUpperCase();
|
|
6197
|
+
this.hotkeyModifier = state.hotkeyModifier;
|
|
6198
|
+
this.hotkeyModifierSymbol = this.setHotkeyModifierSymbol();
|
|
6199
|
+
});
|
|
6200
|
+
}
|
|
6201
|
+
disconnectedCallback() {
|
|
6202
|
+
this.unsubscribe?.();
|
|
6203
|
+
}
|
|
6204
|
+
setUserAgent() {
|
|
6205
|
+
const userAgent = navigator.userAgent.toLowerCase();
|
|
6206
|
+
switch (true) {
|
|
6207
|
+
case userAgent.includes('windows'):
|
|
6208
|
+
return 'window';
|
|
6209
|
+
case userAgent.includes('mac'):
|
|
6210
|
+
return 'mac';
|
|
6211
|
+
default:
|
|
6212
|
+
return 'other';
|
|
6213
|
+
}
|
|
6214
|
+
}
|
|
6215
|
+
renderOptionSymbol = () => {
|
|
6216
|
+
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' })));
|
|
6217
|
+
};
|
|
6218
|
+
renderCtrlSymbol = () => {
|
|
6219
|
+
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' })));
|
|
6220
|
+
};
|
|
6221
|
+
renderWindowsMetaSymbol = () => {
|
|
6222
|
+
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' })));
|
|
6223
|
+
};
|
|
6224
|
+
renderMacMetaSymbol = () => {
|
|
6225
|
+
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' })));
|
|
6226
|
+
};
|
|
6227
|
+
setHotkeyModifierSymbol() {
|
|
6228
|
+
switch (this.hotkeyModifier) {
|
|
6229
|
+
case 'ctrl':
|
|
6230
|
+
return this.userAgent === 'windows'
|
|
6231
|
+
? this.renderCtrlSymbol()
|
|
6232
|
+
: this.renderMacMetaSymbol();
|
|
6233
|
+
case 'alt':
|
|
6234
|
+
case 'option':
|
|
6235
|
+
return this.renderOptionSymbol();
|
|
6236
|
+
default:
|
|
6237
|
+
return this.userAgent === 'windows'
|
|
6238
|
+
? this.renderWindowsMetaSymbol()
|
|
6239
|
+
: this.renderMacMetaSymbol();
|
|
6240
|
+
}
|
|
6241
|
+
}
|
|
6242
|
+
renderSkeuomorphicSlot() {
|
|
6243
|
+
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)))));
|
|
6244
|
+
}
|
|
6245
|
+
renderSlot() {
|
|
6246
|
+
switch (this.type) {
|
|
6247
|
+
case 'skeuomorphic':
|
|
6248
|
+
return this.renderSkeuomorphicSlot();
|
|
6249
|
+
default:
|
|
6250
|
+
return (hAsync("div", null, hAsync("slot", null)));
|
|
6251
|
+
}
|
|
6252
|
+
}
|
|
6086
6253
|
render() {
|
|
6087
|
-
return (hAsync("button", { key: '
|
|
6254
|
+
return (hAsync("button", { key: '74e36b0593ba2cbb03f5ecff1434bc7056bf0db0', class: `searchcraft-popover-button ${this.type ? ` searchcraft-popover-button-${this.type}` : ''}`, innerHTML: typeof this.template !== 'undefined'
|
|
6255
|
+
? this.template({ isPopoverVisible: this.isPopoverVisible }, { html })
|
|
6256
|
+
: undefined, onClick: this.handleOnClick.bind(this), type: 'button' }, typeof this.template !== 'undefined'
|
|
6257
|
+
? undefined
|
|
6258
|
+
: this.type
|
|
6259
|
+
? this.renderSlot()
|
|
6260
|
+
: 'Open Popover'));
|
|
6088
6261
|
}
|
|
6089
6262
|
static get cmpMeta() { return {
|
|
6090
6263
|
"$flags$": 4,
|
|
6091
6264
|
"$tagName$": "searchcraft-popover-button",
|
|
6092
|
-
"$members$":
|
|
6265
|
+
"$members$": {
|
|
6266
|
+
"template": [16],
|
|
6267
|
+
"type": [1],
|
|
6268
|
+
"hotkey": [32],
|
|
6269
|
+
"hotkeyModifier": [32],
|
|
6270
|
+
"hotkeyModifierSymbol": [32],
|
|
6271
|
+
"isPopoverVisible": [32],
|
|
6272
|
+
"userAgent": [32]
|
|
6273
|
+
},
|
|
6274
|
+
"$listeners$": undefined,
|
|
6275
|
+
"$lazyBundleId$": "-",
|
|
6276
|
+
"$attrsToReflect$": []
|
|
6277
|
+
}; }
|
|
6278
|
+
}
|
|
6279
|
+
|
|
6280
|
+
/**
|
|
6281
|
+
* Renders the footer for the searchcraft-popover-form.
|
|
6282
|
+
*
|
|
6283
|
+
* @internal
|
|
6284
|
+
*/
|
|
6285
|
+
class SearchcraftPopoverFooter {
|
|
6286
|
+
constructor(hostRef) {
|
|
6287
|
+
registerInstance(this, hostRef);
|
|
6288
|
+
}
|
|
6289
|
+
searchResultsCount;
|
|
6290
|
+
unsubscribe = () => { };
|
|
6291
|
+
componentDidLoad() {
|
|
6292
|
+
this.searchResultsCount = searchcraftStore.getState().searchResultsCount;
|
|
6293
|
+
this.unsubscribe = searchcraftStore.subscribe((state) => {
|
|
6294
|
+
this.searchResultsCount = state.searchResultsCount;
|
|
6295
|
+
});
|
|
6296
|
+
}
|
|
6297
|
+
disconnectedCallback() {
|
|
6298
|
+
this.unsubscribe?.();
|
|
6299
|
+
}
|
|
6300
|
+
render() {
|
|
6301
|
+
return (hAsync("footer", { key: 'e1344ae185ef1b8a83bb69ba88e2952ab1c75e70', class: 'searchcraft-popover-footer' }, hAsync("p", { key: '51874f4ce490e4f164b999e8c6f89710702e73bd', class: 'searchcraft-popover-footer-results-info' }, this.searchResultsCount
|
|
6302
|
+
? `${formatNumberWithCommas(this.searchResultsCount)} Results Found`
|
|
6303
|
+
: ' '), 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' })))));
|
|
6304
|
+
}
|
|
6305
|
+
static get cmpMeta() { return {
|
|
6306
|
+
"$flags$": 0,
|
|
6307
|
+
"$tagName$": "searchcraft-popover-footer",
|
|
6308
|
+
"$members$": {
|
|
6309
|
+
"searchResultsCount": [32]
|
|
6310
|
+
},
|
|
6093
6311
|
"$listeners$": undefined,
|
|
6094
6312
|
"$lazyBundleId$": "-",
|
|
6095
6313
|
"$attrsToReflect$": []
|
|
@@ -6099,12 +6317,13 @@ class SearchcraftPopoverButton {
|
|
|
6099
6317
|
/**
|
|
6100
6318
|
* 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.
|
|
6101
6319
|
*
|
|
6102
|
-
* @import
|
|
6320
|
+
* @react-import
|
|
6103
6321
|
* ```jsx
|
|
6104
|
-
* // react
|
|
6105
6322
|
* import { SearchcraftPopoverForm } from "@searchcraft/react-sdk";
|
|
6323
|
+
* ```
|
|
6106
6324
|
*
|
|
6107
|
-
*
|
|
6325
|
+
* @vue-import
|
|
6326
|
+
* ```jsx
|
|
6108
6327
|
* import { SearchcraftPopoverForm } from "@searchcraft/vue-sdk";
|
|
6109
6328
|
* ```
|
|
6110
6329
|
*
|
|
@@ -6190,6 +6409,10 @@ class SearchcraftPopoverForm {
|
|
|
6190
6409
|
this.searchResultsPage = state.searchResultsPage;
|
|
6191
6410
|
this.searchResultsPerPage = state.searchResultsPerPage;
|
|
6192
6411
|
});
|
|
6412
|
+
// Set hotkey and hotkeyModifier in state.
|
|
6413
|
+
searchcraftStore
|
|
6414
|
+
.getState()
|
|
6415
|
+
.setHotKeyAndHotKeyModifier(this.hotkey, this.hotkeyModifier);
|
|
6193
6416
|
}
|
|
6194
6417
|
disconnectedCallback() {
|
|
6195
6418
|
this.unsubscribe?.();
|
|
@@ -6235,7 +6458,7 @@ class SearchcraftPopoverForm {
|
|
|
6235
6458
|
}
|
|
6236
6459
|
};
|
|
6237
6460
|
handleInputInit = () => {
|
|
6238
|
-
const input = this.hostElement.querySelector('.searchcraft-input');
|
|
6461
|
+
const input = this.hostElement.querySelector('.searchcraft-input-form-input');
|
|
6239
6462
|
input?.focus();
|
|
6240
6463
|
};
|
|
6241
6464
|
/**
|
|
@@ -6290,7 +6513,7 @@ class SearchcraftPopoverForm {
|
|
|
6290
6513
|
* @param direction
|
|
6291
6514
|
*/
|
|
6292
6515
|
focusOnNextListItem(direction) {
|
|
6293
|
-
const listItems = Array.from(document.querySelectorAll('
|
|
6516
|
+
const listItems = Array.from(document.querySelectorAll('.searchcraft-popover-list-item-link')).filter((el) => !el.hasAttribute('disabled') && el.offsetParent !== null);
|
|
6294
6517
|
const currentIndex = listItems.indexOf(document.activeElement);
|
|
6295
6518
|
if (direction === 'ArrowDown') {
|
|
6296
6519
|
listItems[(currentIndex + 1) % listItems.length]?.focus();
|
|
@@ -6318,22 +6541,22 @@ class SearchcraftPopoverForm {
|
|
|
6318
6541
|
}
|
|
6319
6542
|
renderInlinePopover() {
|
|
6320
6543
|
const isListViewVisible = this.hasResultsToShow && this.isFocused;
|
|
6321
|
-
|
|
6322
|
-
|
|
6323
|
-
|
|
6324
|
-
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 }))))));
|
|
6544
|
+
return (hAsync("div", { class: classNames('searchcraft-popover-form searchcraft-popover-form-inline', {
|
|
6545
|
+
'searchcraft-popover-form-active': isListViewVisible,
|
|
6546
|
+
}) }, 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)))));
|
|
6325
6547
|
}
|
|
6326
6548
|
renderModalPopover() {
|
|
6327
6549
|
if (this.isPopoverVisibleInState) {
|
|
6328
|
-
|
|
6329
|
-
|
|
6330
|
-
|
|
6331
|
-
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 }))))));
|
|
6550
|
+
return (hAsync("div", { class: classNames('searchcraft-popover-form searchcraft-popover-form-modal', {
|
|
6551
|
+
'searchcraft-popover-form-active': this.hasResultsToShow,
|
|
6552
|
+
}) }, 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))));
|
|
6332
6553
|
}
|
|
6333
6554
|
}
|
|
6334
6555
|
renderFullscreenPopover() {
|
|
6335
6556
|
if (this.isPopoverVisibleInState) {
|
|
6336
|
-
return (hAsync("div", { class:
|
|
6557
|
+
return (hAsync("div", { class: classNames('searchcraft-popover-form searchcraft-popover-form-fullscreen', {
|
|
6558
|
+
'searchcraft-popover-form-active': this.hasResultsToShow,
|
|
6559
|
+
}) }, 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)));
|
|
6337
6560
|
}
|
|
6338
6561
|
}
|
|
6339
6562
|
render() {
|
|
@@ -6386,16 +6609,16 @@ class SearchcraftPopoverListItem {
|
|
|
6386
6609
|
popoverResultMappings;
|
|
6387
6610
|
/** The document position relative to the search results (For Measure) */
|
|
6388
6611
|
documentPosition = 0;
|
|
6612
|
+
title;
|
|
6613
|
+
subtitle;
|
|
6389
6614
|
href;
|
|
6390
|
-
|
|
6615
|
+
imageSource;
|
|
6391
6616
|
imageAlt;
|
|
6392
|
-
titleContent;
|
|
6393
|
-
subtitleContent;
|
|
6394
6617
|
mapValuesFromDocument(document) {
|
|
6395
|
-
this.
|
|
6396
|
-
this.
|
|
6618
|
+
this.title = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.title);
|
|
6619
|
+
this.subtitle = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.subtitle);
|
|
6397
6620
|
this.href = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.href);
|
|
6398
|
-
this.
|
|
6621
|
+
this.imageSource = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.imageSource);
|
|
6399
6622
|
this.imageAlt = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.imageAlt);
|
|
6400
6623
|
}
|
|
6401
6624
|
connectedCallback() {
|
|
@@ -6406,12 +6629,12 @@ class SearchcraftPopoverListItem {
|
|
|
6406
6629
|
disconnectedCallback() { }
|
|
6407
6630
|
handleLinkClick = () => {
|
|
6408
6631
|
const state = searchcraftStore.getState();
|
|
6409
|
-
const
|
|
6410
|
-
if (
|
|
6632
|
+
const core = state.getSearchcraftCore();
|
|
6633
|
+
if (core) {
|
|
6411
6634
|
const document_position = this.documentPosition;
|
|
6412
6635
|
const search_term = state.searchTerm;
|
|
6413
6636
|
const number_of_documents = state.searchClientResponseItems.length || 0;
|
|
6414
|
-
|
|
6637
|
+
core.measureClient?.sendMeasureEvent('document_clicked', {
|
|
6415
6638
|
document_position,
|
|
6416
6639
|
number_of_documents,
|
|
6417
6640
|
search_term,
|
|
@@ -6419,7 +6642,7 @@ class SearchcraftPopoverListItem {
|
|
|
6419
6642
|
}
|
|
6420
6643
|
};
|
|
6421
6644
|
render() {
|
|
6422
|
-
return (hAsync("a", { key: '
|
|
6645
|
+
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))))));
|
|
6423
6646
|
}
|
|
6424
6647
|
static get cmpMeta() { return {
|
|
6425
6648
|
"$flags$": 0,
|
|
@@ -6428,11 +6651,11 @@ class SearchcraftPopoverListItem {
|
|
|
6428
6651
|
"item": [16],
|
|
6429
6652
|
"popoverResultMappings": [16],
|
|
6430
6653
|
"documentPosition": [2, "document-position"],
|
|
6654
|
+
"title": [32],
|
|
6655
|
+
"subtitle": [32],
|
|
6431
6656
|
"href": [32],
|
|
6432
|
-
"
|
|
6433
|
-
"imageAlt": [32]
|
|
6434
|
-
"titleContent": [32],
|
|
6435
|
-
"subtitleContent": [32]
|
|
6657
|
+
"imageSource": [32],
|
|
6658
|
+
"imageAlt": [32]
|
|
6436
6659
|
},
|
|
6437
6660
|
"$listeners$": undefined,
|
|
6438
6661
|
"$lazyBundleId$": "-",
|
|
@@ -6513,7 +6736,7 @@ class SearchcraftPopoverListItemAd {
|
|
|
6513
6736
|
if (!item.admAd) {
|
|
6514
6737
|
return;
|
|
6515
6738
|
}
|
|
6516
|
-
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-
|
|
6739
|
+
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))))));
|
|
6517
6740
|
}
|
|
6518
6741
|
renderCustomAd() {
|
|
6519
6742
|
const templateRenderFunction = this.core?.config?.customAdTemplate;
|
|
@@ -6703,12 +6926,13 @@ class SearchcraftPopoverListView {
|
|
|
6703
6926
|
/**
|
|
6704
6927
|
* This web component is designed to display the number of results returned from a search query.
|
|
6705
6928
|
*
|
|
6706
|
-
* @import
|
|
6929
|
+
* @react-import
|
|
6707
6930
|
* ```jsx
|
|
6708
|
-
* // react
|
|
6709
6931
|
* import { SearchcraftResultsInfo } from "@searchcraft/react-sdk";
|
|
6932
|
+
* ```
|
|
6710
6933
|
*
|
|
6711
|
-
*
|
|
6934
|
+
* @vue-import
|
|
6935
|
+
* ```jsx
|
|
6712
6936
|
* import { SearchcraftResultsInfo } from "@searchcraft/vue-sdk";
|
|
6713
6937
|
* ```
|
|
6714
6938
|
*
|
|
@@ -6734,6 +6958,7 @@ class SearchcraftPopoverListView {
|
|
|
6734
6958
|
* ${info.range[0]}-${info.range[1]} of ${info.count} results in ${info.responseTime}ms
|
|
6735
6959
|
* `}
|
|
6736
6960
|
* />
|
|
6961
|
+
* ```
|
|
6737
6962
|
*
|
|
6738
6963
|
* @vue-example
|
|
6739
6964
|
* ```jsx
|
|
@@ -6742,6 +6967,7 @@ class SearchcraftPopoverListView {
|
|
|
6742
6967
|
* ${info.range[0]}-${info.range[1]} of ${info.count} results in ${info.responseTime}ms
|
|
6743
6968
|
* `}
|
|
6744
6969
|
* />
|
|
6970
|
+
* ```
|
|
6745
6971
|
*/
|
|
6746
6972
|
class SearchcraftResultsInfo {
|
|
6747
6973
|
constructor(hostRef) {
|
|
@@ -6749,13 +6975,6 @@ class SearchcraftResultsInfo {
|
|
|
6749
6975
|
}
|
|
6750
6976
|
/**
|
|
6751
6977
|
* A callback function responsible for rendering the results info.
|
|
6752
|
-
*
|
|
6753
|
-
* @example
|
|
6754
|
-
* ```ts
|
|
6755
|
-
* resultsInfo.template = html`
|
|
6756
|
-
* ${range[0]}-${range[1]} of ${count} results in ${responseTime}ms
|
|
6757
|
-
* `;
|
|
6758
|
-
* ```
|
|
6759
6978
|
*/
|
|
6760
6979
|
template;
|
|
6761
6980
|
// store vars
|
|
@@ -6848,6 +7067,7 @@ class SearchcraftSearchResult {
|
|
|
6848
7067
|
*/
|
|
6849
7068
|
template;
|
|
6850
7069
|
templateHtml;
|
|
7070
|
+
get hostElement() { return getElement(this); }
|
|
6851
7071
|
connectedCallback() {
|
|
6852
7072
|
if (this.item) {
|
|
6853
7073
|
try {
|
|
@@ -6856,18 +7076,42 @@ class SearchcraftSearchResult {
|
|
|
6856
7076
|
});
|
|
6857
7077
|
}
|
|
6858
7078
|
catch (error) {
|
|
6859
|
-
console.error(
|
|
7079
|
+
console.error('Invalid search result template:', error);
|
|
6860
7080
|
}
|
|
6861
7081
|
}
|
|
6862
7082
|
}
|
|
7083
|
+
handleResultContainerClick = (event) => {
|
|
7084
|
+
const state = searchcraftStore.getState();
|
|
7085
|
+
const core = state.getSearchcraftCore();
|
|
7086
|
+
if (!event.target) {
|
|
7087
|
+
return;
|
|
7088
|
+
}
|
|
7089
|
+
const target = event.target;
|
|
7090
|
+
const link = target.closest('a');
|
|
7091
|
+
if (!link ||
|
|
7092
|
+
!this.hostElement?.contains(link) ||
|
|
7093
|
+
!core ||
|
|
7094
|
+
!core.measureClient) {
|
|
7095
|
+
return;
|
|
7096
|
+
}
|
|
7097
|
+
const document_position = this.documentPosition;
|
|
7098
|
+
const search_term = state.searchTerm;
|
|
7099
|
+
const number_of_documents = state.searchClientResponseItems.length || 0;
|
|
7100
|
+
core.measureClient.sendMeasureEvent('document_clicked', {
|
|
7101
|
+
document_position,
|
|
7102
|
+
number_of_documents,
|
|
7103
|
+
search_term,
|
|
7104
|
+
});
|
|
7105
|
+
};
|
|
7106
|
+
handleKeyDown = () => { };
|
|
6863
7107
|
render() {
|
|
6864
7108
|
if (!this.item) {
|
|
6865
7109
|
return;
|
|
6866
7110
|
}
|
|
6867
7111
|
if (typeof this.template === 'undefined') {
|
|
6868
|
-
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)))));
|
|
7112
|
+
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)))));
|
|
6869
7113
|
}
|
|
6870
|
-
return (hAsync("div", { class: 'searchcraft-search-result', innerHTML: this.templateHtml }));
|
|
7114
|
+
return (hAsync("div", { class: 'searchcraft-search-result', innerHTML: this.templateHtml, onClick: this.handleResultContainerClick, onKeyDown: this.handleKeyDown }));
|
|
6871
7115
|
}
|
|
6872
7116
|
static get cmpMeta() { return {
|
|
6873
7117
|
"$flags$": 0,
|
|
@@ -6889,12 +7133,13 @@ class SearchcraftSearchResult {
|
|
|
6889
7133
|
* 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.
|
|
6890
7134
|
*
|
|
6891
7135
|
*
|
|
6892
|
-
* @import
|
|
7136
|
+
* @react-import
|
|
6893
7137
|
* ```jsx
|
|
6894
|
-
* // react
|
|
6895
7138
|
* import { SearchcraftSearchResults } from "@searchcraft/react-sdk";
|
|
7139
|
+
* ```
|
|
6896
7140
|
*
|
|
6897
|
-
*
|
|
7141
|
+
* @vue-import
|
|
7142
|
+
* ```jsx
|
|
6898
7143
|
* import { SearchcraftSearchResults } from "@searchcraft/vue-sdk";
|
|
6899
7144
|
* ```
|
|
6900
7145
|
*
|
|
@@ -6927,7 +7172,7 @@ class SearchcraftSearchResult {
|
|
|
6927
7172
|
* />
|
|
6928
7173
|
* ```
|
|
6929
7174
|
*
|
|
6930
|
-
*
|
|
7175
|
+
* @vue-example
|
|
6931
7176
|
* ```jsx
|
|
6932
7177
|
* <SearchcraftSearchResults
|
|
6933
7178
|
* adInterval={4}
|
|
@@ -6942,37 +7187,50 @@ class SearchcraftSearchResults {
|
|
|
6942
7187
|
constructor(hostRef) {
|
|
6943
7188
|
registerInstance(this, hostRef);
|
|
6944
7189
|
}
|
|
7190
|
+
/**
|
|
7191
|
+
* A query that will appears when the component initializes or the search term is ''..
|
|
7192
|
+
*/
|
|
7193
|
+
initialQuery;
|
|
6945
7194
|
/**
|
|
6946
7195
|
* A callback function responsible for rendering a result. Passed to `searchcraft-search-result`.
|
|
6947
7196
|
*/
|
|
6948
7197
|
template;
|
|
6949
|
-
searchTerm = '';
|
|
6950
|
-
searchClientResponseItems;
|
|
6951
7198
|
adClientResponseItems = [];
|
|
6952
|
-
searchResultsPerPage;
|
|
6953
|
-
searchResultsPage;
|
|
6954
|
-
isSearchInProgress = true;
|
|
6955
7199
|
config;
|
|
7200
|
+
initialSearchClientResponseItems;
|
|
7201
|
+
isSearchInProgress = true;
|
|
7202
|
+
searchClientResponseItems;
|
|
7203
|
+
searchResultsPage;
|
|
7204
|
+
searchResultsPerPage;
|
|
7205
|
+
searchTerm = '';
|
|
6956
7206
|
unsubscribe = () => { };
|
|
6957
7207
|
componentDidLoad() {
|
|
7208
|
+
const state = searchcraftStore.getState();
|
|
7209
|
+
this.handleStateChange(state);
|
|
7210
|
+
this.searchClientResponseItems = state.searchClientResponseItems;
|
|
7211
|
+
this.searchTerm = state.searchTerm;
|
|
7212
|
+
this.config = state.core?.config;
|
|
7213
|
+
state.afterInit = (state) => {
|
|
7214
|
+
if (this.initialQuery) {
|
|
7215
|
+
state.setInitialQuery(this.initialQuery);
|
|
7216
|
+
}
|
|
7217
|
+
};
|
|
6958
7218
|
this.unsubscribe = searchcraftStore.subscribe((state) => this.handleStateChange(state));
|
|
6959
|
-
const currentState = searchcraftStore.getState();
|
|
6960
|
-
this.handleStateChange(currentState);
|
|
6961
|
-
this.searchClientResponseItems = currentState.searchClientResponseItems;
|
|
6962
|
-
this.searchTerm = currentState.searchTerm;
|
|
6963
|
-
this.config = currentState.core?.config;
|
|
6964
7219
|
}
|
|
6965
7220
|
disconnectedCallback() {
|
|
6966
7221
|
this.unsubscribe?.();
|
|
6967
7222
|
}
|
|
6968
7223
|
handleStateChange(state) {
|
|
6969
|
-
this.searchClientResponseItems = [...state.searchClientResponseItems];
|
|
6970
7224
|
this.adClientResponseItems = [...state.adClientResponseItems];
|
|
6971
|
-
this.searchTerm = state.searchTerm;
|
|
6972
|
-
this.searchResultsPage = state.searchResultsPage;
|
|
6973
|
-
this.searchResultsPerPage = state.searchResultsPerPage;
|
|
6974
7225
|
this.config = state.core?.config;
|
|
7226
|
+
this.initialSearchClientResponseItems = [
|
|
7227
|
+
...state.initialSearchClientResponseItems,
|
|
7228
|
+
];
|
|
6975
7229
|
this.isSearchInProgress = state.isSearchInProgress;
|
|
7230
|
+
this.searchClientResponseItems = [...state.searchClientResponseItems];
|
|
7231
|
+
this.searchResultsPage = state.searchResultsPage;
|
|
7232
|
+
this.searchResultsPerPage = state.searchResultsPerPage;
|
|
7233
|
+
this.searchTerm = state.searchTerm;
|
|
6976
7234
|
}
|
|
6977
7235
|
renderEmptyState() {
|
|
6978
7236
|
return (hAsync("div", { class: 'searchcraft-search-results-empty-state' }, hAsync("slot", { name: 'empty-search' })));
|
|
@@ -6981,7 +7239,12 @@ class SearchcraftSearchResults {
|
|
|
6981
7239
|
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."))));
|
|
6982
7240
|
}
|
|
6983
7241
|
renderWithADMAds() {
|
|
6984
|
-
|
|
7242
|
+
const items = this.searchClientResponseItems?.length
|
|
7243
|
+
? this.searchClientResponseItems
|
|
7244
|
+
: this.initialSearchClientResponseItems?.length
|
|
7245
|
+
? this.initialSearchClientResponseItems
|
|
7246
|
+
: [];
|
|
7247
|
+
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 })))));
|
|
6985
7248
|
}
|
|
6986
7249
|
renderWithCustomAds() {
|
|
6987
7250
|
const itemsToRender = [];
|
|
@@ -6989,16 +7252,20 @@ class SearchcraftSearchResults {
|
|
|
6989
7252
|
const interstitialQuantity = this.config?.customAdInterstitialQuantity || 1;
|
|
6990
7253
|
const adStartQuantity = this.config?.customAdStartQuantity || 0;
|
|
6991
7254
|
const adEndQuantity = this.config?.customAdEndQuantity || 0;
|
|
6992
|
-
const
|
|
7255
|
+
const items = this.searchClientResponseItems?.length
|
|
7256
|
+
? this.searchClientResponseItems
|
|
7257
|
+
: this.initialSearchClientResponseItems?.length
|
|
7258
|
+
? this.initialSearchClientResponseItems
|
|
7259
|
+
: [];
|
|
6993
7260
|
// Renders ads at beginning
|
|
6994
7261
|
for (let n = 0; n < adStartQuantity; n++) {
|
|
6995
7262
|
itemsToRender.push(hAsync("searchcraft-ad", { adSource: 'Custom', adContainerId: nanoid(), key: `${n}-ad` }));
|
|
6996
7263
|
}
|
|
6997
7264
|
// Renders search results + interstitial ads
|
|
6998
|
-
|
|
7265
|
+
items.forEach((item, index) => {
|
|
6999
7266
|
if (interstitialInterval &&
|
|
7000
7267
|
index % interstitialInterval === 0 &&
|
|
7001
|
-
index + interstitialInterval <
|
|
7268
|
+
index + interstitialInterval < items.length &&
|
|
7002
7269
|
index >= interstitialInterval) {
|
|
7003
7270
|
for (let n = 0; n < interstitialQuantity; n++) {
|
|
7004
7271
|
itemsToRender.push(hAsync("searchcraft-ad", { adSource: 'Custom', adContainerId: nanoid(), key: `${item.id}-ad-${n}` }));
|
|
@@ -7019,16 +7286,20 @@ class SearchcraftSearchResults {
|
|
|
7019
7286
|
const interstitialQuantity = this.config?.nativoAdInterstitialQuantity || 1;
|
|
7020
7287
|
const adStartQuantity = this.config?.nativoAdStartQuantity || 0;
|
|
7021
7288
|
const adEndQuantity = this.config?.nativoAdEndQuantity || 0;
|
|
7022
|
-
const
|
|
7289
|
+
const items = this.searchClientResponseItems?.length
|
|
7290
|
+
? this.searchClientResponseItems
|
|
7291
|
+
: this.initialSearchClientResponseItems?.length
|
|
7292
|
+
? this.initialSearchClientResponseItems
|
|
7293
|
+
: [];
|
|
7023
7294
|
// Renders ads at beginning
|
|
7024
7295
|
for (let n = 0; n < adStartQuantity; n++) {
|
|
7025
7296
|
itemsToRender.push(hAsync("searchcraft-ad", { adSource: 'Nativo', adContainerId: nanoid(), key: `${n}-ad` }));
|
|
7026
7297
|
}
|
|
7027
7298
|
// Renders search results + interstitial ads
|
|
7028
|
-
|
|
7299
|
+
items.forEach((item, index) => {
|
|
7029
7300
|
if (interstitialInterval &&
|
|
7030
7301
|
(index + interstitialStartIndex) % interstitialInterval === 0 &&
|
|
7031
|
-
index + interstitialInterval <
|
|
7302
|
+
index + interstitialInterval < items.length &&
|
|
7032
7303
|
index >= interstitialInterval) {
|
|
7033
7304
|
for (let n = 0; n < interstitialQuantity; n++) {
|
|
7034
7305
|
itemsToRender.push(hAsync("searchcraft-ad", { adSource: 'Nativo', adContainerId: nanoid(), key: `${item.id}-ad-${n}` }));
|
|
@@ -7043,14 +7314,23 @@ class SearchcraftSearchResults {
|
|
|
7043
7314
|
return hAsync("div", { class: 'searchcraft-search-results' }, itemsToRender);
|
|
7044
7315
|
}
|
|
7045
7316
|
renderWithNoAds() {
|
|
7046
|
-
|
|
7317
|
+
const items = this.searchClientResponseItems?.length
|
|
7318
|
+
? this.searchClientResponseItems
|
|
7319
|
+
: this.initialSearchClientResponseItems?.length
|
|
7320
|
+
? this.initialSearchClientResponseItems
|
|
7321
|
+
: [];
|
|
7322
|
+
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 })))));
|
|
7047
7323
|
}
|
|
7048
7324
|
render() {
|
|
7049
|
-
|
|
7325
|
+
const searchClientResponseItems = this.searchClientResponseItems || [];
|
|
7326
|
+
const initialSearchClientResponseItems = this.initialSearchClientResponseItems || [];
|
|
7327
|
+
if (this.searchTerm === '' &&
|
|
7328
|
+
initialSearchClientResponseItems.length === 0 &&
|
|
7329
|
+
!this.isSearchInProgress) {
|
|
7050
7330
|
return this.renderEmptyState();
|
|
7051
7331
|
}
|
|
7052
7332
|
if (this.searchTerm.length > 0 &&
|
|
7053
|
-
|
|
7333
|
+
searchClientResponseItems.length === 0 &&
|
|
7054
7334
|
!this.isSearchInProgress) {
|
|
7055
7335
|
return this.renderNoResultsFoundState();
|
|
7056
7336
|
}
|
|
@@ -7069,14 +7349,16 @@ class SearchcraftSearchResults {
|
|
|
7069
7349
|
"$flags$": 4,
|
|
7070
7350
|
"$tagName$": "searchcraft-search-results",
|
|
7071
7351
|
"$members$": {
|
|
7352
|
+
"initialQuery": [1, "initial-query"],
|
|
7072
7353
|
"template": [16],
|
|
7073
|
-
"searchTerm": [32],
|
|
7074
|
-
"searchClientResponseItems": [32],
|
|
7075
7354
|
"adClientResponseItems": [32],
|
|
7076
|
-
"
|
|
7077
|
-
"
|
|
7355
|
+
"config": [32],
|
|
7356
|
+
"initialSearchClientResponseItems": [32],
|
|
7078
7357
|
"isSearchInProgress": [32],
|
|
7079
|
-
"
|
|
7358
|
+
"searchClientResponseItems": [32],
|
|
7359
|
+
"searchResultsPage": [32],
|
|
7360
|
+
"searchResultsPerPage": [32],
|
|
7361
|
+
"searchTerm": [32]
|
|
7080
7362
|
},
|
|
7081
7363
|
"$listeners$": undefined,
|
|
7082
7364
|
"$lazyBundleId$": "-",
|
|
@@ -7087,12 +7369,13 @@ class SearchcraftSearchResults {
|
|
|
7087
7369
|
/**
|
|
7088
7370
|
* This web component is designed to choose the number of search results displayed.
|
|
7089
7371
|
*
|
|
7090
|
-
* @import
|
|
7372
|
+
* @react-import
|
|
7091
7373
|
* ```jsx
|
|
7092
|
-
* // react
|
|
7093
7374
|
* import { SearchcraftSearchResultsPerPage } from "@searchcraft/react-sdk";
|
|
7375
|
+
* ```
|
|
7094
7376
|
*
|
|
7095
|
-
*
|
|
7377
|
+
* @vue-import
|
|
7378
|
+
* ```jsx
|
|
7096
7379
|
* import { SearchcraftSearchResultsPerPage } from "@searchcraft/vue-sdk";
|
|
7097
7380
|
* ```
|
|
7098
7381
|
*
|
|
@@ -7356,10 +7639,10 @@ class SearchcraftSlider {
|
|
|
7356
7639
|
const endLabel = this.dataType === 'number'
|
|
7357
7640
|
? this.endValue
|
|
7358
7641
|
: new Date(this.endValue).getFullYear();
|
|
7359
|
-
return (hAsync("div", { key: '
|
|
7642
|
+
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: {
|
|
7360
7643
|
left: `${startPercent}%`,
|
|
7361
7644
|
width: `${endPercent - startPercent}%`,
|
|
7362
|
-
} }), hAsync("input", { key: '
|
|
7645
|
+
} }), 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))));
|
|
7363
7646
|
}
|
|
7364
7647
|
static get cmpMeta() { return {
|
|
7365
7648
|
"$flags$": 0,
|
|
@@ -7379,18 +7662,19 @@ class SearchcraftSlider {
|
|
|
7379
7662
|
}; }
|
|
7380
7663
|
}
|
|
7381
7664
|
|
|
7382
|
-
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 */
|
|
7665
|
+
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 */
|
|
7383
7666
|
`;
|
|
7384
7667
|
|
|
7385
7668
|
/**
|
|
7386
7669
|
* 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.'
|
|
7387
7670
|
*
|
|
7388
|
-
* @import
|
|
7671
|
+
* @react-import
|
|
7389
7672
|
* ```jsx
|
|
7390
|
-
* // react
|
|
7391
7673
|
* import { SearchcraftTheme } from "@searchcraft/react-sdk";
|
|
7674
|
+
* ```
|
|
7392
7675
|
*
|
|
7393
|
-
*
|
|
7676
|
+
* @vue-import
|
|
7677
|
+
* ```jsx
|
|
7394
7678
|
* import { SearchcraftTheme } from "@searchcraft/vue-sdk";
|
|
7395
7679
|
* ```
|
|
7396
7680
|
*
|
|
@@ -7414,7 +7698,7 @@ class SearchcraftTheme {
|
|
|
7414
7698
|
registerInstance(this, hostRef);
|
|
7415
7699
|
}
|
|
7416
7700
|
render() {
|
|
7417
|
-
return hAsync("style", { key: '
|
|
7701
|
+
return hAsync("style", { key: '912dbad4e0aa5be21ed638cd20c276b530991454' }, styles);
|
|
7418
7702
|
}
|
|
7419
7703
|
static get cmpMeta() { return {
|
|
7420
7704
|
"$flags$": 0,
|
|
@@ -7469,9 +7753,9 @@ class SearchcraftToggleButton {
|
|
|
7469
7753
|
this.unsubscribe?.();
|
|
7470
7754
|
}
|
|
7471
7755
|
render() {
|
|
7472
|
-
return (hAsync("div", { key: '
|
|
7756
|
+
return (hAsync("div", { key: 'f8a751315daf6bcdc0d47bc4fc802bc4615e565f', class: classNames('searchcraft-toggle-button', {
|
|
7473
7757
|
'searchcraft-toggle-button-active': this.isActive,
|
|
7474
|
-
}) }, hAsync("div", { key: '
|
|
7758
|
+
}) }, 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' }))));
|
|
7475
7759
|
}
|
|
7476
7760
|
static get cmpMeta() { return {
|
|
7477
7761
|
"$flags$": 0,
|
|
@@ -7498,6 +7782,7 @@ registerComponents([
|
|
|
7498
7782
|
SearchcraftInputLabel,
|
|
7499
7783
|
SearchcraftPagination,
|
|
7500
7784
|
SearchcraftPopoverButton,
|
|
7785
|
+
SearchcraftPopoverFooter,
|
|
7501
7786
|
SearchcraftPopoverForm,
|
|
7502
7787
|
SearchcraftPopoverListItem,
|
|
7503
7788
|
SearchcraftPopoverListItemAd,
|