@searchcraft/javascript-sdk 0.10.5 → 0.10.6

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.
Files changed (44) hide show
  1. package/dist/components/index.d.ts +5 -3
  2. package/dist/components/index.js +4 -4
  3. package/dist/components/{p-6c471ee0.js → p-2735dceb.js} +2 -2
  4. package/dist/components/{p-6c471ee0.js.map → p-2735dceb.js.map} +1 -1
  5. package/dist/components/{p-f1afb299.js → p-6e5ed641.js} +2 -2
  6. package/dist/components/{p-f1afb299.js.map → p-6e5ed641.js.map} +1 -1
  7. package/dist/components/{p-8a4cfe99.js → p-75134ca7.js} +2 -2
  8. package/dist/components/{p-8a4cfe99.js.map → p-75134ca7.js.map} +1 -1
  9. package/dist/components/{p-f4b0ff45.js → p-9f4c50ed.js} +2 -2
  10. package/dist/components/{p-f4b0ff45.js.map → p-9f4c50ed.js.map} +1 -1
  11. package/dist/components/{p-bfad84c6.js → p-a7d611cd.js} +8 -12
  12. package/dist/components/p-a7d611cd.js.map +1 -0
  13. package/dist/components/{p-d9222264.js → p-aba24c85.js} +4 -4
  14. package/dist/components/{p-d9222264.js.map → p-aba24c85.js.map} +1 -1
  15. package/dist/components/{p-bb700499.js → p-b194d081.js} +104 -36
  16. package/dist/components/p-b194d081.js.map +1 -0
  17. package/dist/components/{p-7c10ca44.js → p-b54873ff.js} +315 -304
  18. package/dist/components/p-b54873ff.js.map +1 -0
  19. package/dist/components/{p-b72015a6.js → p-f2976b33.js} +2 -2
  20. package/dist/components/{p-b72015a6.js.map → p-f2976b33.js.map} +1 -1
  21. package/dist/components/searchcraft-ad.js +1 -1
  22. package/dist/components/searchcraft-facet-list.js +1 -1
  23. package/dist/components/searchcraft-filter-panel.js +3 -3
  24. package/dist/components/searchcraft-input-form.js +1 -1
  25. package/dist/components/searchcraft-pagination.js +1 -1
  26. package/dist/components/searchcraft-popover-button.js +1 -1
  27. package/dist/components/searchcraft-popover-footer.js +1 -1
  28. package/dist/components/searchcraft-popover-form.js +6 -6
  29. package/dist/components/searchcraft-popover-list-item.js +1 -1
  30. package/dist/components/searchcraft-popover-list-view.js +1 -1
  31. package/dist/components/searchcraft-results-info.js +1 -1
  32. package/dist/components/searchcraft-search-result.js +1 -1
  33. package/dist/components/searchcraft-search-results-per-page.js +1 -1
  34. package/dist/components/searchcraft-search-results.js +3 -3
  35. package/dist/components/searchcraft-toggle-button.js +1 -1
  36. package/dist/hydrate/index.js +277 -216
  37. package/dist/hydrate/index.mjs +277 -216
  38. package/dist/types/components/searchcraft-facet-list/searchcraft-facet-list.d.ts +17 -6
  39. package/dist/types/store/SearchcraftStore.types.d.ts +4 -3
  40. package/dist/types/utils/facets.d.ts +11 -1
  41. package/package.json +3 -3
  42. package/dist/components/p-7c10ca44.js.map +0 -1
  43. package/dist/components/p-bb700499.js.map +0 -1
  44. package/dist/components/p-bfad84c6.js.map +0 -1
@@ -3219,86 +3219,86 @@ class pe {
3219
3219
  }
3220
3220
  }
3221
3221
  function y(a, e, n, r) {
3222
- return new (n || (n = Promise))(function(s, o) {
3223
- function t(c) {
3222
+ return new (n || (n = Promise))(function(o, i) {
3223
+ function t(s) {
3224
3224
  try {
3225
- d(r.next(c));
3226
- } catch (i) {
3227
- o(i);
3225
+ l(r.next(s));
3226
+ } catch (c) {
3227
+ i(c);
3228
3228
  }
3229
3229
  }
3230
- function u(c) {
3230
+ function u(s) {
3231
3231
  try {
3232
- d(r.throw(c));
3233
- } catch (i) {
3234
- o(i);
3232
+ l(r.throw(s));
3233
+ } catch (c) {
3234
+ i(c);
3235
3235
  }
3236
3236
  }
3237
- function d(c) {
3238
- var i;
3239
- c.done ? s(c.value) : (i = c.value, i instanceof n ? i : new n(function(p) {
3240
- p(i);
3237
+ function l(s) {
3238
+ var c;
3239
+ s.done ? o(s.value) : (c = s.value, c instanceof n ? c : new n(function(g) {
3240
+ g(c);
3241
3241
  })).then(t, u);
3242
3242
  }
3243
- d((r = r.apply(a, [])).next());
3243
+ l((r = r.apply(a, [])).next());
3244
3244
  });
3245
3245
  }
3246
3246
  function w(a, e) {
3247
- var n, r, s, o, t = { label: 0, sent: function() {
3248
- if (1 & s[0]) throw s[1];
3249
- return s[1];
3247
+ var n, r, o, i, t = { label: 0, sent: function() {
3248
+ if (1 & o[0]) throw o[1];
3249
+ return o[1];
3250
3250
  }, trys: [], ops: [] };
3251
- return o = { next: u(0), throw: u(1), return: u(2) }, typeof Symbol == "function" && (o[Symbol.iterator] = function() {
3251
+ return i = { next: u(0), throw: u(1), return: u(2) }, typeof Symbol == "function" && (i[Symbol.iterator] = function() {
3252
3252
  return this;
3253
- }), o;
3254
- function u(d) {
3255
- return function(c) {
3256
- return function(i) {
3253
+ }), i;
3254
+ function u(l) {
3255
+ return function(s) {
3256
+ return function(c) {
3257
3257
  if (n) throw new TypeError("Generator is already executing.");
3258
- for (; o && (o = 0, i[0] && (t = 0)), t; ) try {
3259
- if (n = 1, r && (s = 2 & i[0] ? r.return : i[0] ? r.throw || ((s = r.return) && s.call(r), 0) : r.next) && !(s = s.call(r, i[1])).done) return s;
3260
- switch (r = 0, s && (i = [2 & i[0], s.value]), i[0]) {
3258
+ for (; i && (i = 0, c[0] && (t = 0)), t; ) try {
3259
+ if (n = 1, r && (o = 2 & c[0] ? r.return : c[0] ? r.throw || ((o = r.return) && o.call(r), 0) : r.next) && !(o = o.call(r, c[1])).done) return o;
3260
+ switch (r = 0, o && (c = [2 & c[0], o.value]), c[0]) {
3261
3261
  case 0:
3262
3262
  case 1:
3263
- s = i;
3263
+ o = c;
3264
3264
  break;
3265
3265
  case 4:
3266
- return t.label++, { value: i[1], done: !1 };
3266
+ return t.label++, { value: c[1], done: !1 };
3267
3267
  case 5:
3268
- t.label++, r = i[1], i = [0];
3268
+ t.label++, r = c[1], c = [0];
3269
3269
  continue;
3270
3270
  case 7:
3271
- i = t.ops.pop(), t.trys.pop();
3271
+ c = t.ops.pop(), t.trys.pop();
3272
3272
  continue;
3273
3273
  default:
3274
- if (s = t.trys, !((s = s.length > 0 && s[s.length - 1]) || i[0] !== 6 && i[0] !== 2)) {
3274
+ if (o = t.trys, !((o = o.length > 0 && o[o.length - 1]) || c[0] !== 6 && c[0] !== 2)) {
3275
3275
  t = 0;
3276
3276
  continue;
3277
3277
  }
3278
- if (i[0] === 3 && (!s || i[1] > s[0] && i[1] < s[3])) {
3279
- t.label = i[1];
3278
+ if (c[0] === 3 && (!o || c[1] > o[0] && c[1] < o[3])) {
3279
+ t.label = c[1];
3280
3280
  break;
3281
3281
  }
3282
- if (i[0] === 6 && t.label < s[1]) {
3283
- t.label = s[1], s = i;
3282
+ if (c[0] === 6 && t.label < o[1]) {
3283
+ t.label = o[1], o = c;
3284
3284
  break;
3285
3285
  }
3286
- if (s && t.label < s[2]) {
3287
- t.label = s[2], t.ops.push(i);
3286
+ if (o && t.label < o[2]) {
3287
+ t.label = o[2], t.ops.push(c);
3288
3288
  break;
3289
3289
  }
3290
- s[2] && t.ops.pop(), t.trys.pop();
3290
+ o[2] && t.ops.pop(), t.trys.pop();
3291
3291
  continue;
3292
3292
  }
3293
- i = e.call(a, t);
3294
- } catch (p) {
3295
- i = [6, p], r = 0;
3293
+ c = e.call(a, t);
3294
+ } catch (g) {
3295
+ c = [6, g], r = 0;
3296
3296
  } finally {
3297
- n = s = 0;
3297
+ n = o = 0;
3298
3298
  }
3299
- if (5 & i[0]) throw i[1];
3300
- return { value: i[0] ? i[1] : void 0, done: !0 };
3301
- }([d, c]);
3299
+ if (5 & c[0]) throw c[1];
3300
+ return { value: c[0] ? c[1] : void 0, done: !0 };
3301
+ }([l, s]);
3302
3302
  };
3303
3303
  }
3304
3304
  }
@@ -3309,68 +3309,68 @@ function T(a) {
3309
3309
  return a ^= a >>> 16, a = Math.imul(a, 2246822507), a ^= a >>> 13, a = Math.imul(a, 3266489909), (a ^= a >>> 16) >>> 0;
3310
3310
  }
3311
3311
  var m = new Uint32Array([597399067, 2869860233, 951274213, 2716044179]);
3312
- function g(a, e) {
3312
+ function p(a, e) {
3313
3313
  return a << e | a >>> 32 - e;
3314
3314
  }
3315
3315
  function _(a, e) {
3316
3316
  var n;
3317
3317
  if (e === void 0 && (e = 0), e = e ? 0 | e : 0, typeof a == "string" && (n = a, a = new TextEncoder().encode(n).buffer), !(a instanceof ArrayBuffer)) throw new TypeError("Expected key to be ArrayBuffer or string");
3318
3318
  var r = new Uint32Array([e, e, e, e]);
3319
- (((function(o, t) {
3320
- for (var u = o.byteLength / 16 | 0, d = new Uint32Array(o, 0, 4 * u), c = 0; c < u; c++) {
3321
- var i = d.subarray(4 * c, 4 * (c + 1));
3322
- i[0] = Math.imul(i[0], m[0]), i[0] = g(i[0], 15), i[0] = Math.imul(i[0], m[1]), t[0] = t[0] ^ i[0], t[0] = g(t[0], 19), t[0] = t[0] + t[1], t[0] = Math.imul(t[0], 5) + 1444728091, i[1] = Math.imul(i[1], m[1]), i[1] = g(i[1], 16), i[1] = Math.imul(i[1], m[2]), t[1] = t[1] ^ i[1], t[1] = g(t[1], 17), t[1] = t[1] + t[2], t[1] = Math.imul(t[1], 5) + 197830471, i[2] = Math.imul(i[2], m[2]), i[2] = g(i[2], 17), i[2] = Math.imul(i[2], m[3]), t[2] = t[2] ^ i[2], t[2] = g(t[2], 15), t[2] = t[2] + t[3], t[2] = Math.imul(t[2], 5) + 2530024501, i[3] = Math.imul(i[3], m[3]), i[3] = g(i[3], 18), i[3] = Math.imul(i[3], m[0]), t[3] = t[3] ^ i[3], t[3] = g(t[3], 13), t[3] = t[3] + t[0], t[3] = Math.imul(t[3], 5) + 850148119;
3323
- }
3324
- })))(a, r), function(o, t) {
3325
- var u = o.byteLength / 16 | 0, d = o.byteLength % 16, c = new Uint32Array(4), i = new Uint8Array(o, 16 * u, d);
3326
- switch (d) {
3319
+ (((function(i, t) {
3320
+ for (var u = i.byteLength / 16 | 0, l = new Uint32Array(i, 0, 4 * u), s = 0; s < u; s++) {
3321
+ var c = l.subarray(4 * s, 4 * (s + 1));
3322
+ c[0] = Math.imul(c[0], m[0]), c[0] = p(c[0], 15), c[0] = Math.imul(c[0], m[1]), t[0] = t[0] ^ c[0], t[0] = p(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] = p(c[1], 16), c[1] = Math.imul(c[1], m[2]), t[1] = t[1] ^ c[1], t[1] = p(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] = p(c[2], 17), c[2] = Math.imul(c[2], m[3]), t[2] = t[2] ^ c[2], t[2] = p(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] = p(c[3], 18), c[3] = Math.imul(c[3], m[0]), t[3] = t[3] ^ c[3], t[3] = p(t[3], 13), t[3] = t[3] + t[0], t[3] = Math.imul(t[3], 5) + 850148119;
3323
+ }
3324
+ })))(a, r), function(i, t) {
3325
+ var u = i.byteLength / 16 | 0, l = i.byteLength % 16, s = new Uint32Array(4), c = new Uint8Array(i, 16 * u, l);
3326
+ switch (l) {
3327
3327
  case 15:
3328
- c[3] = c[3] ^ i[14] << 16;
3328
+ s[3] = s[3] ^ c[14] << 16;
3329
3329
  case 14:
3330
- c[3] = c[3] ^ i[13] << 8;
3330
+ s[3] = s[3] ^ c[13] << 8;
3331
3331
  case 13:
3332
- c[3] = c[3] ^ i[12] << 0, 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];
3332
+ s[3] = s[3] ^ c[12] << 0, s[3] = Math.imul(s[3], m[3]), s[3] = p(s[3], 18), s[3] = Math.imul(s[3], m[0]), t[3] = t[3] ^ s[3];
3333
3333
  case 12:
3334
- c[2] = c[2] ^ i[11] << 24;
3334
+ s[2] = s[2] ^ c[11] << 24;
3335
3335
  case 11:
3336
- c[2] = c[2] ^ i[10] << 16;
3336
+ s[2] = s[2] ^ c[10] << 16;
3337
3337
  case 10:
3338
- c[2] = c[2] ^ i[9] << 8;
3338
+ s[2] = s[2] ^ c[9] << 8;
3339
3339
  case 9:
3340
- c[2] = c[2] ^ i[8] << 0, 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];
3340
+ s[2] = s[2] ^ c[8] << 0, s[2] = Math.imul(s[2], m[2]), s[2] = p(s[2], 17), s[2] = Math.imul(s[2], m[3]), t[2] = t[2] ^ s[2];
3341
3341
  case 8:
3342
- c[1] = c[1] ^ i[7] << 24;
3342
+ s[1] = s[1] ^ c[7] << 24;
3343
3343
  case 7:
3344
- c[1] = c[1] ^ i[6] << 16;
3344
+ s[1] = s[1] ^ c[6] << 16;
3345
3345
  case 6:
3346
- c[1] = c[1] ^ i[5] << 8;
3346
+ s[1] = s[1] ^ c[5] << 8;
3347
3347
  case 5:
3348
- c[1] = c[1] ^ i[4] << 0, 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];
3348
+ s[1] = s[1] ^ c[4] << 0, s[1] = Math.imul(s[1], m[1]), s[1] = p(s[1], 16), s[1] = Math.imul(s[1], m[2]), t[1] = t[1] ^ s[1];
3349
3349
  case 4:
3350
- c[0] = c[0] ^ i[3] << 24;
3350
+ s[0] = s[0] ^ c[3] << 24;
3351
3351
  case 3:
3352
- c[0] = c[0] ^ i[2] << 16;
3352
+ s[0] = s[0] ^ c[2] << 16;
3353
3353
  case 2:
3354
- c[0] = c[0] ^ i[1] << 8;
3354
+ s[0] = s[0] ^ c[1] << 8;
3355
3355
  case 1:
3356
- c[0] = c[0] ^ i[0] << 0, 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];
3356
+ s[0] = s[0] ^ c[0] << 0, s[0] = Math.imul(s[0], m[0]), s[0] = p(s[0], 15), s[0] = Math.imul(s[0], m[1]), t[0] = t[0] ^ s[0];
3357
3357
  }
3358
- }(a, r), function(o, t) {
3359
- t[0] = t[0] ^ o.byteLength, t[1] = t[1] ^ o.byteLength, t[2] = t[2] ^ o.byteLength, t[3] = t[3] ^ o.byteLength, t[0] = t[0] + t[1] | 0, t[0] = t[0] + t[2] | 0, t[0] = t[0] + t[3] | 0, t[1] = t[1] + t[0] | 0, t[2] = t[2] + t[0] | 0, t[3] = t[3] + t[0] | 0, t[0] = T(t[0]), t[1] = T(t[1]), t[2] = T(t[2]), t[3] = T(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;
3358
+ }(a, r), function(i, t) {
3359
+ t[0] = t[0] ^ i.byteLength, t[1] = t[1] ^ i.byteLength, t[2] = t[2] ^ i.byteLength, t[3] = t[3] ^ i.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] = T(t[0]), t[1] = T(t[1]), t[2] = T(t[2]), t[3] = T(t[3]), t[0] = t[0] + t[1] | 0, t[0] = t[0] + t[2] | 0, t[0] = t[0] + t[3] | 0, t[1] = t[1] + t[0] | 0, t[2] = t[2] + t[0] | 0, t[3] = t[3] + t[0] | 0;
3360
3360
  }(a, r);
3361
- var s = new Uint8Array(r.buffer);
3362
- return Array.from(s).map(function(o) {
3363
- return o.toString(16).padStart(2, "0");
3361
+ var o = new Uint8Array(r.buffer);
3362
+ return Array.from(o).map(function(i) {
3363
+ return i.toString(16).padStart(2, "0");
3364
3364
  }).join("");
3365
3365
  }
3366
3366
  function H(a) {
3367
3367
  for (var e = 0, n = 0; n < a.length; ++n) e += Math.abs(a[n]);
3368
3368
  return e;
3369
3369
  }
3370
- function L(a, e, n) {
3371
- for (var r = [], s = 0; s < a[0].data.length; s++) {
3372
- for (var o = [], t = 0; t < a.length; t++) o.push(a[t].data[s]);
3373
- r.push(Q(o));
3370
+ function q(a, e, n) {
3371
+ for (var r = [], o = 0; o < a[0].data.length; o++) {
3372
+ for (var i = [], t = 0; t < a.length; t++) i.push(a[t].data[o]);
3373
+ r.push(Q(i));
3374
3374
  }
3375
3375
  var u = new Uint8ClampedArray(r);
3376
3376
  return new ImageData(u, e, n);
@@ -3378,16 +3378,16 @@ function L(a, e, n) {
3378
3378
  function Q(a) {
3379
3379
  if (a.length === 0) return 0;
3380
3380
  for (var e = {}, n = 0, r = a; n < r.length; n++)
3381
- e[o = r[n]] = (e[o] || 0) + 1;
3382
- var s = a[0];
3383
- for (var o in e) e[o] > e[s] && (s = parseInt(o, 10));
3384
- return s;
3381
+ e[i = r[n]] = (e[i] || 0) + 1;
3382
+ var o = a[0];
3383
+ for (var i in e) e[i] > e[o] && (o = parseInt(i, 10));
3384
+ return o;
3385
3385
  }
3386
3386
  function C() {
3387
3387
  if (typeof navigator > "u") return { name: "unknown", version: "unknown" };
3388
3388
  for (var a = navigator.userAgent, e = { Edg: "Edge", OPR: "Opera" }, n = 0, r = [/(?<name>Edge|Edg)\/(?<version>\d+(?:\.\d+)?)/, /(?<name>(?:Chrome|Chromium|OPR|Opera|Vivaldi|Brave))\/(?<version>\d+(?:\.\d+)?)/, /(?<name>(?:Firefox|Waterfox|Iceweasel|IceCat))\/(?<version>\d+(?:\.\d+)?)/, /(?<name>Safari)\/(?<version>\d+(?:\.\d+)?)/, /(?<name>MSIE|Trident|IEMobile).+?(?<version>\d+(?:\.\d+)?)/, /(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)?)/, /(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)?)/]; n < r.length; n++) {
3389
- var s = r[n], o = a.match(s);
3390
- if (o && o.groups) return { name: e[o.groups.name] || o.groups.name, version: o.groups.version };
3389
+ var o = r[n], i = a.match(o);
3390
+ if (i && i.groups) return { name: e[i.groups.name] || i.groups.name, version: i.groups.version };
3391
3391
  }
3392
3392
  return { name: "unknown", version: "unknown" };
3393
3393
  }
@@ -3396,55 +3396,55 @@ v("audio", function() {
3396
3396
  return w(this, function(a) {
3397
3397
  return [2, new Promise(function(e, n) {
3398
3398
  try {
3399
- var r = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1, 5e3, 44100), s = r.createBufferSource(), o = r.createOscillator();
3400
- o.frequency.value = 1e3;
3399
+ var r = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1, 5e3, 44100), o = r.createBufferSource(), i = r.createOscillator();
3400
+ i.frequency.value = 1e3;
3401
3401
  var t, u = r.createDynamicsCompressor();
3402
- u.threshold.value = -50, u.knee.value = 40, u.ratio.value = 12, u.attack.value = 0, u.release.value = 0.2, o.connect(u), u.connect(r.destination), o.start(), r.oncomplete = function(d) {
3403
- t = d.renderedBuffer.getChannelData(0), e({ sampleHash: H(t), oscillator: o.type, maxChannels: r.destination.maxChannelCount, channelCountMode: s.channelCountMode });
3402
+ u.threshold.value = -50, u.knee.value = 40, u.ratio.value = 12, u.attack.value = 0, u.release.value = 0.2, i.connect(u), u.connect(r.destination), i.start(), r.oncomplete = function(l) {
3403
+ t = l.renderedBuffer.getChannelData(0), e({ sampleHash: H(t), oscillator: i.type, maxChannels: r.destination.maxChannelCount, channelCountMode: o.channelCountMode });
3404
3404
  }, r.startRendering();
3405
- } catch (d) {
3406
- console.error("Error creating audio fingerprint:", d), n(d);
3405
+ } catch (l) {
3406
+ console.error("Error creating audio fingerprint:", l), n(l);
3407
3407
  }
3408
3408
  })];
3409
3409
  });
3410
3410
  });
3411
3411
  });
3412
- var K = C().name !== "SamsungBrowser" ? 1 : 3, P = 280, F = 20;
3412
+ var K = C().name !== "SamsungBrowser" ? 1 : 3, P = 280, k = 20;
3413
3413
  C().name != "Firefox" && v("canvas", function() {
3414
3414
  return document.createElement("canvas").getContext("2d"), new Promise(function(a) {
3415
3415
  var e = Array.from({ length: K }, function() {
3416
3416
  return function() {
3417
3417
  var n = document.createElement("canvas"), r = n.getContext("2d");
3418
3418
  if (!r) return new ImageData(1, 1);
3419
- n.width = P, n.height = F;
3420
- var s = r.createLinearGradient(0, 0, n.width, n.height);
3421
- s.addColorStop(0, "red"), s.addColorStop(0.16666666666666666, "orange"), s.addColorStop(0.3333333333333333, "yellow"), s.addColorStop(0.5, "green"), s.addColorStop(0.6666666666666666, "blue"), s.addColorStop(0.8333333333333334, "indigo"), s.addColorStop(1, "violet"), r.fillStyle = s, r.fillRect(0, 0, n.width, n.height);
3422
- var o = "Random Text WMwmil10Oo";
3423
- r.font = "23.123px Arial", r.fillStyle = "black", r.fillText(o, -5, 15), r.fillStyle = "rgba(0, 0, 255, 0.5)", r.fillText(o, -3.3, 17.7), r.beginPath(), r.moveTo(0, 0), r.lineTo(2 * n.width / 7, n.height), r.strokeStyle = "white", r.lineWidth = 2, r.stroke();
3419
+ n.width = P, n.height = k;
3420
+ var o = r.createLinearGradient(0, 0, n.width, n.height);
3421
+ o.addColorStop(0, "red"), o.addColorStop(0.16666666666666666, "orange"), o.addColorStop(0.3333333333333333, "yellow"), o.addColorStop(0.5, "green"), o.addColorStop(0.6666666666666666, "blue"), o.addColorStop(0.8333333333333334, "indigo"), o.addColorStop(1, "violet"), r.fillStyle = o, r.fillRect(0, 0, n.width, n.height);
3422
+ var i = "Random Text WMwmil10Oo";
3423
+ r.font = "23.123px Arial", r.fillStyle = "black", r.fillText(i, -5, 15), r.fillStyle = "rgba(0, 0, 255, 0.5)", r.fillText(i, -3.3, 17.7), r.beginPath(), r.moveTo(0, 0), r.lineTo(2 * n.width / 7, n.height), r.strokeStyle = "white", r.lineWidth = 2, r.stroke();
3424
3424
  var t = r.getImageData(0, 0, n.width, n.height);
3425
3425
  return t;
3426
3426
  }();
3427
3427
  });
3428
- a({ commonImageDataHash: _(L(e, P, F).data.toString()).toString() });
3428
+ a({ commonImageDataHash: _(q(e, P, k).data.toString()).toString() });
3429
3429
  });
3430
3430
  });
3431
3431
  var I, X = ["Arial", "Arial Black", "Arial Narrow", "Arial Rounded MT", "Arimo", "Archivo", "Barlow", "Bebas Neue", "Bitter", "Bookman", "Calibri", "Cabin", "Candara", "Century", "Century Gothic", "Comic Sans MS", "Constantia", "Courier", "Courier New", "Crimson Text", "DM Mono", "DM Sans", "DM Serif Display", "DM Serif Text", "Dosis", "Droid Sans", "Exo", "Fira Code", "Fira Sans", "Franklin Gothic Medium", "Garamond", "Geneva", "Georgia", "Gill Sans", "Helvetica", "Impact", "Inconsolata", "Indie Flower", "Inter", "Josefin Sans", "Karla", "Lato", "Lexend", "Lucida Bright", "Lucida Console", "Lucida Sans Unicode", "Manrope", "Merriweather", "Merriweather Sans", "Montserrat", "Myriad", "Noto Sans", "Nunito", "Nunito Sans", "Open Sans", "Optima", "Orbitron", "Oswald", "Pacifico", "Palatino", "Perpetua", "PT Sans", "PT Serif", "Poppins", "Prompt", "Public Sans", "Quicksand", "Rajdhani", "Recursive", "Roboto", "Roboto Condensed", "Rockwell", "Rubik", "Segoe Print", "Segoe Script", "Segoe UI", "Sora", "Source Sans Pro", "Space Mono", "Tahoma", "Taviraj", "Times", "Times New Roman", "Titillium Web", "Trebuchet MS", "Ubuntu", "Varela Round", "Verdana", "Work Sans"], J = ["monospace", "sans-serif", "serif"];
3432
- function k(a, e) {
3432
+ function F(a, e) {
3433
3433
  if (!a) throw new Error("Canvas context not supported");
3434
3434
  return a.font = "72px ".concat(e), a.measureText("WwMmLli0Oo").width;
3435
3435
  }
3436
3436
  function Y() {
3437
3437
  var a, e = document.createElement("canvas"), n = (a = e.getContext("webgl")) !== null && a !== void 0 ? a : e.getContext("experimental-webgl");
3438
3438
  if (n && "getParameter" in n) try {
3439
- var r = (n.getParameter(n.VENDOR) || "").toString(), s = (n.getParameter(n.RENDERER) || "").toString(), o = { vendor: r, renderer: s, version: (n.getParameter(n.VERSION) || "").toString(), shadingLanguageVersion: (n.getParameter(n.SHADING_LANGUAGE_VERSION) || "").toString() };
3440
- if (!s.length || !r.length) {
3439
+ var r = (n.getParameter(n.VENDOR) || "").toString(), o = (n.getParameter(n.RENDERER) || "").toString(), i = { vendor: r, renderer: o, version: (n.getParameter(n.VERSION) || "").toString(), shadingLanguageVersion: (n.getParameter(n.SHADING_LANGUAGE_VERSION) || "").toString() };
3440
+ if (!o.length || !r.length) {
3441
3441
  var t = n.getExtension("WEBGL_debug_renderer_info");
3442
3442
  if (t) {
3443
- var u = (n.getParameter(t.UNMASKED_VENDOR_WEBGL) || "").toString(), d = (n.getParameter(t.UNMASKED_RENDERER_WEBGL) || "").toString();
3444
- u && (o.vendorUnmasked = u), d && (o.rendererUnmasked = d);
3443
+ var u = (n.getParameter(t.UNMASKED_VENDOR_WEBGL) || "").toString(), l = (n.getParameter(t.UNMASKED_RENDERER_WEBGL) || "").toString();
3444
+ u && (i.vendorUnmasked = u), l && (i.rendererUnmasked = l);
3445
3445
  }
3446
3446
  }
3447
- return o;
3447
+ return i;
3448
3448
  } catch {
3449
3449
  }
3450
3450
  return "undefined";
@@ -3456,23 +3456,23 @@ function Z() {
3456
3456
  function ee(a, e) {
3457
3457
  var n = {};
3458
3458
  return e.forEach(function(r) {
3459
- var s = function(o) {
3460
- if (o.length === 0) return null;
3459
+ var o = function(i) {
3460
+ if (i.length === 0) return null;
3461
3461
  var t = {};
3462
- o.forEach(function(c) {
3463
- var i = String(c);
3464
- t[i] = (t[i] || 0) + 1;
3462
+ i.forEach(function(s) {
3463
+ var c = String(s);
3464
+ t[c] = (t[c] || 0) + 1;
3465
3465
  });
3466
- var u = o[0], d = 1;
3467
- return Object.keys(t).forEach(function(c) {
3468
- t[c] > d && (u = c, d = t[c]);
3466
+ var u = i[0], l = 1;
3467
+ return Object.keys(t).forEach(function(s) {
3468
+ t[s] > l && (u = s, l = t[s]);
3469
3469
  }), u;
3470
- }(a.map(function(o) {
3471
- return r in o ? o[r] : void 0;
3472
- }).filter(function(o) {
3473
- return o !== void 0;
3470
+ }(a.map(function(i) {
3471
+ return r in i ? i[r] : void 0;
3472
+ }).filter(function(i) {
3473
+ return i !== void 0;
3474
3474
  }));
3475
- s && (n[r] = s);
3475
+ o && (n[r] = o);
3476
3476
  }), n;
3477
3477
  }
3478
3478
  function te() {
@@ -3496,37 +3496,37 @@ C().name != "Firefox" && v("fonts", function() {
3496
3496
  return new Promise(function(e, n) {
3497
3497
  try {
3498
3498
  (function(r) {
3499
- var s;
3499
+ var o;
3500
3500
  y(this, void 0, void 0, function() {
3501
- var o, t, u;
3502
- return w(this, function(d) {
3503
- switch (d.label) {
3501
+ var i, t, u;
3502
+ return w(this, function(l) {
3503
+ switch (l.label) {
3504
3504
  case 0:
3505
- return document.body ? [3, 2] : [4, (c = 50, new Promise(function(p) {
3506
- return setTimeout(p, c, i);
3505
+ return document.body ? [3, 2] : [4, (s = 50, new Promise(function(g) {
3506
+ return setTimeout(g, s, c);
3507
3507
  }))];
3508
3508
  case 1:
3509
- return d.sent(), [3, 0];
3509
+ return l.sent(), [3, 0];
3510
3510
  case 2:
3511
- if ((o = document.createElement("iframe")).setAttribute("frameBorder", "0"), (t = o.style).setProperty("position", "fixed"), t.setProperty("display", "block", "important"), t.setProperty("visibility", "visible"), t.setProperty("border", "0"), t.setProperty("opacity", "0"), o.src = "about:blank", document.body.appendChild(o), !(u = o.contentDocument || ((s = o.contentWindow) === null || s === void 0 ? void 0 : s.document))) throw new Error("Iframe document is not accessible");
3511
+ if ((i = document.createElement("iframe")).setAttribute("frameBorder", "0"), (t = i.style).setProperty("position", "fixed"), t.setProperty("display", "block", "important"), t.setProperty("visibility", "visible"), t.setProperty("border", "0"), t.setProperty("opacity", "0"), i.src = "about:blank", document.body.appendChild(i), !(u = i.contentDocument || ((o = i.contentWindow) === null || o === void 0 ? void 0 : o.document))) throw new Error("Iframe document is not accessible");
3512
3512
  return r({ iframe: u }), setTimeout(function() {
3513
- document.body.removeChild(o);
3513
+ document.body.removeChild(i);
3514
3514
  }, 0), [2];
3515
3515
  }
3516
- var c, i;
3516
+ var s, c;
3517
3517
  });
3518
3518
  });
3519
3519
  })(function(r) {
3520
- var s = r.iframe;
3520
+ var o = r.iframe;
3521
3521
  return y(a, void 0, void 0, function() {
3522
- var o, t, u, d;
3523
- return w(this, function(c) {
3524
- return o = s.createElement("canvas"), t = o.getContext("2d"), u = J.map(function(i) {
3525
- return k(t, i);
3526
- }), d = {}, X.forEach(function(i) {
3527
- var p = k(t, i);
3528
- u.includes(p) || (d[i] = p);
3529
- }), e(d), [2];
3522
+ var i, t, u, l;
3523
+ return w(this, function(s) {
3524
+ return i = o.createElement("canvas"), t = i.getContext("2d"), u = J.map(function(c) {
3525
+ return F(t, c);
3526
+ }), l = {}, X.forEach(function(c) {
3527
+ var g = F(t, c);
3528
+ u.includes(g) || (l[c] = g);
3529
+ }), e(l), [2];
3530
3530
  });
3531
3531
  });
3532
3532
  });
@@ -3550,18 +3550,18 @@ C().name != "Firefox" && v("fonts", function() {
3550
3550
  return I = (S == null ? void 0 : S.permissions_to_check) || ["accelerometer", "accessibility", "accessibility-events", "ambient-light-sensor", "background-fetch", "background-sync", "bluetooth", "camera", "clipboard-read", "clipboard-write", "device-info", "display-capture", "gyroscope", "geolocation", "local-fonts", "magnetometer", "microphone", "midi", "nfc", "notifications", "payment-handler", "persistent-storage", "push", "speaker", "storage-access", "top-level-storage-access", "window-management", "query"], a = Array.from({ length: (S == null ? void 0 : S.retries) || 3 }, function() {
3551
3551
  return function() {
3552
3552
  return y(this, void 0, void 0, function() {
3553
- var n, r, s, o, t;
3553
+ var n, r, o, i, t;
3554
3554
  return w(this, function(u) {
3555
3555
  switch (u.label) {
3556
3556
  case 0:
3557
- n = {}, r = 0, s = I, u.label = 1;
3557
+ n = {}, r = 0, o = I, u.label = 1;
3558
3558
  case 1:
3559
- if (!(r < s.length)) return [3, 6];
3560
- o = s[r], u.label = 2;
3559
+ if (!(r < o.length)) return [3, 6];
3560
+ i = o[r], u.label = 2;
3561
3561
  case 2:
3562
- return u.trys.push([2, 4, , 5]), [4, navigator.permissions.query({ name: o })];
3562
+ return u.trys.push([2, 4, , 5]), [4, navigator.permissions.query({ name: i })];
3563
3563
  case 3:
3564
- return t = u.sent(), n[o] = t.state.toString(), [3, 5];
3564
+ return t = u.sent(), n[i] = t.state.toString(), [3, 5];
3565
3565
  case 4:
3566
3566
  return u.sent(), [3, 5];
3567
3567
  case 5:
@@ -3596,18 +3596,18 @@ C().name != "Firefox" && v("fonts", function() {
3596
3596
  a({ platform: window.navigator.platform, cookieEnabled: window.navigator.cookieEnabled, productSub: navigator.productSub, product: navigator.product, useragent: navigator.userAgent, hardwareConcurrency: navigator.hardwareConcurrency, browser: { name: e.name, version: e.version }, applePayVersion: ne() });
3597
3597
  });
3598
3598
  });
3599
- var f, re = C().name !== "SamsungBrowser" ? 1 : 3, l = null;
3599
+ var f, re = C().name !== "SamsungBrowser" ? 1 : 3, d = null;
3600
3600
  v("webgl", function() {
3601
3601
  return y(this, void 0, void 0, function() {
3602
3602
  var a;
3603
3603
  return w(this, function(e) {
3604
- typeof document < "u" && ((f = document.createElement("canvas")).width = 200, f.height = 100, l = f.getContext("webgl"));
3604
+ typeof document < "u" && ((f = document.createElement("canvas")).width = 200, f.height = 100, d = f.getContext("webgl"));
3605
3605
  try {
3606
- if (!l) throw new Error("WebGL not supported");
3606
+ if (!d) throw new Error("WebGL not supported");
3607
3607
  return a = Array.from({ length: re }, function() {
3608
3608
  return function() {
3609
3609
  try {
3610
- if (!l) throw new Error("WebGL not supported");
3610
+ if (!d) throw new Error("WebGL not supported");
3611
3611
  var n = `
3612
3612
  attribute vec2 position;
3613
3613
  void main() {
@@ -3618,31 +3618,31 @@ v("webgl", function() {
3618
3618
  void main() {
3619
3619
  gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color
3620
3620
  }
3621
- `, s = l.createShader(l.VERTEX_SHADER), o = l.createShader(l.FRAGMENT_SHADER);
3622
- if (!s || !o) throw new Error("Failed to create shaders");
3623
- if (l.shaderSource(s, n), l.shaderSource(o, r), l.compileShader(s), !l.getShaderParameter(s, l.COMPILE_STATUS)) throw new Error("Vertex shader compilation failed: " + l.getShaderInfoLog(s));
3624
- if (l.compileShader(o), !l.getShaderParameter(o, l.COMPILE_STATUS)) throw new Error("Fragment shader compilation failed: " + l.getShaderInfoLog(o));
3625
- var t = l.createProgram();
3621
+ `, o = d.createShader(d.VERTEX_SHADER), i = d.createShader(d.FRAGMENT_SHADER);
3622
+ if (!o || !i) throw new Error("Failed to create shaders");
3623
+ if (d.shaderSource(o, n), d.shaderSource(i, r), d.compileShader(o), !d.getShaderParameter(o, d.COMPILE_STATUS)) throw new Error("Vertex shader compilation failed: " + d.getShaderInfoLog(o));
3624
+ if (d.compileShader(i), !d.getShaderParameter(i, d.COMPILE_STATUS)) throw new Error("Fragment shader compilation failed: " + d.getShaderInfoLog(i));
3625
+ var t = d.createProgram();
3626
3626
  if (!t) throw new Error("Failed to create shader program");
3627
- if (l.attachShader(t, s), l.attachShader(t, o), l.linkProgram(t), !l.getProgramParameter(t, l.LINK_STATUS)) throw new Error("Shader program linking failed: " + l.getProgramInfoLog(t));
3628
- l.useProgram(t);
3629
- for (var u = 137, d = new Float32Array(4 * u), c = 2 * Math.PI / u, i = 0; i < u; i++) {
3630
- var p = i * c;
3631
- d[4 * i] = 0, d[4 * i + 1] = 0, d[4 * i + 2] = Math.cos(p) * (f.width / 2), d[4 * i + 3] = Math.sin(p) * (f.height / 2);
3627
+ if (d.attachShader(t, o), d.attachShader(t, i), d.linkProgram(t), !d.getProgramParameter(t, d.LINK_STATUS)) throw new Error("Shader program linking failed: " + d.getProgramInfoLog(t));
3628
+ d.useProgram(t);
3629
+ for (var u = 137, l = new Float32Array(4 * u), s = 2 * Math.PI / u, c = 0; c < u; c++) {
3630
+ var g = c * s;
3631
+ l[4 * c] = 0, l[4 * c + 1] = 0, l[4 * c + 2] = Math.cos(g) * (f.width / 2), l[4 * c + 3] = Math.sin(g) * (f.height / 2);
3632
3632
  }
3633
- var q = l.createBuffer();
3634
- l.bindBuffer(l.ARRAY_BUFFER, q), l.bufferData(l.ARRAY_BUFFER, d, l.STATIC_DRAW);
3635
- var R = l.getAttribLocation(t, "position");
3636
- l.enableVertexAttribArray(R), l.vertexAttribPointer(R, 2, l.FLOAT, !1, 0, 0), l.viewport(0, 0, f.width, f.height), l.clearColor(0, 0, 0, 1), l.clear(l.COLOR_BUFFER_BIT), l.drawArrays(l.LINES, 0, 2 * u);
3633
+ var L = d.createBuffer();
3634
+ d.bindBuffer(d.ARRAY_BUFFER, L), d.bufferData(d.ARRAY_BUFFER, l, d.STATIC_DRAW);
3635
+ var R = d.getAttribLocation(t, "position");
3636
+ d.enableVertexAttribArray(R), d.vertexAttribPointer(R, 2, d.FLOAT, !1, 0, 0), d.viewport(0, 0, f.width, f.height), d.clearColor(0, 0, 0, 1), d.clear(d.COLOR_BUFFER_BIT), d.drawArrays(d.LINES, 0, 2 * u);
3637
3637
  var x = new Uint8ClampedArray(f.width * f.height * 4);
3638
- return l.readPixels(0, 0, f.width, f.height, l.RGBA, l.UNSIGNED_BYTE, x), new ImageData(x, f.width, f.height);
3638
+ return d.readPixels(0, 0, f.width, f.height, d.RGBA, d.UNSIGNED_BYTE, x), new ImageData(x, f.width, f.height);
3639
3639
  } catch {
3640
3640
  return new ImageData(1, 1);
3641
3641
  } finally {
3642
- l && (l.bindBuffer(l.ARRAY_BUFFER, null), l.useProgram(null), l.viewport(0, 0, l.drawingBufferWidth, l.drawingBufferHeight), l.clearColor(0, 0, 0, 0));
3642
+ d && (d.bindBuffer(d.ARRAY_BUFFER, null), d.useProgram(null), d.viewport(0, 0, d.drawingBufferWidth, d.drawingBufferHeight), d.clearColor(0, 0, 0, 0));
3643
3643
  }
3644
3644
  }();
3645
- }), [2, { commonImageHash: _(L(a, f.width, f.height).data.toString()).toString() }];
3645
+ }), [2, { commonImageHash: _(q(a, f.width, f.height).data.toString()).toString() }];
3646
3646
  } catch {
3647
3647
  return [2, { webgl: "unsupported" }];
3648
3648
  }
@@ -3651,9 +3651,9 @@ v("webgl", function() {
3651
3651
  });
3652
3652
  });
3653
3653
  var b = function(a, e, n, r) {
3654
- for (var s = (n - e) / r, o = 0, t = 0; t < r; t++)
3655
- o += a(e + (t + 0.5) * s);
3656
- return o * s;
3654
+ for (var o = (n - e) / r, i = 0, t = 0; t < r; t++)
3655
+ i += a(e + (t + 0.5) * o);
3656
+ return i * o;
3657
3657
  };
3658
3658
  v("math", function() {
3659
3659
  return y(void 0, void 0, void 0, function() {
@@ -3677,6 +3677,7 @@ const initialSearchcraftStateValues = {
3677
3677
  rangeValueForIndexFields: {},
3678
3678
  searchTerm: '',
3679
3679
  searchMode: 'fuzzy',
3680
+ searchClientRequest: undefined,
3680
3681
  searchClientResponseItems: [],
3681
3682
  searchResponseTimeTaken: undefined,
3682
3683
  searchResponseFacetPrime: undefined,
@@ -3780,7 +3781,7 @@ const searchcraftStore = zustand.createStore((_set, get) => {
3780
3781
  }, functions.setSearchClientResponseItemsFromResponse, functions.setAdClientResponseItems);
3781
3782
  },
3782
3783
  setAdClientResponseItems: (items) => functions.set({ adClientResponseItems: items }),
3783
- setSearchClientResponseItemsFromResponse: (response, items, supplementalResponse) => {
3784
+ setSearchClientResponseItemsFromResponse: (request, response, items, supplementalResponse) => {
3784
3785
  const { facets, count = 0, time_taken = 0 } = response.data;
3785
3786
  const state = functions.set((state) => {
3786
3787
  return {
@@ -3793,12 +3794,13 @@ const searchcraftStore = zustand.createStore((_set, get) => {
3793
3794
  searchResultsCount: count,
3794
3795
  searchResponseFacetPrime: facets,
3795
3796
  supplementalFacetPrime: supplementalResponse?.data.facets,
3797
+ searchClientRequest: request,
3796
3798
  };
3797
3799
  });
3798
3800
  state.logger?.log(O.DEBUG, `Search results: ${JSON.stringify(items)}`);
3799
3801
  state.logger?.log(O.DEBUG, `Facets from response: ${JSON.stringify(facets)}`);
3800
3802
  },
3801
- setInitialSearchClientResponseItemsFromResponse: (response, items) => {
3803
+ setInitialSearchClientResponseItemsFromResponse: (request, response, items) => {
3802
3804
  const state = get();
3803
3805
  const { count = 0, time_taken = 0 } = response.data;
3804
3806
  functions.set((state) => {
@@ -3810,6 +3812,7 @@ const searchcraftStore = zustand.createStore((_set, get) => {
3810
3812
  // Reset to first page when response count changes
3811
3813
  count === state.searchResultsCount ? state.searchResultsPage : 1,
3812
3814
  searchResultsCount: count,
3815
+ searchClientRequest: request,
3813
3816
  };
3814
3817
  });
3815
3818
  state.logger?.log(O.DEBUG, `Search results: ${JSON.stringify(items)}`);
@@ -3837,12 +3840,6 @@ const searchcraftStore = zustand.createStore((_set, get) => {
3837
3840
  */
3838
3841
  functions.set({
3839
3842
  searchTerm,
3840
- facetPathsForIndexFields: {},
3841
- ...(searchTerm.trim().length === 0 && {
3842
- searchMode: 'fuzzy',
3843
- sortType: null,
3844
- orderByField: null,
3845
- }),
3846
3843
  });
3847
3844
  },
3848
3845
  setSearchClientResponseItems: (items) => functions.set({ searchClientResponseItems: items }),
@@ -3874,7 +3871,7 @@ const searchcraftStore = zustand.createStore((_set, get) => {
3874
3871
  * Helper function for getting a Node (FacetWithChildrenObject)
3875
3872
  * at a given path. Traverses the node tree to get the node.
3876
3873
  */
3877
- const getNodeAtPath = (tree, nodePaths) => {
3874
+ const getFacetTreeNodeAtPath = (tree, nodePaths) => {
3878
3875
  let cursor = tree;
3879
3876
  for (const nodePath of nodePaths) {
3880
3877
  cursor = cursor?.children[nodePath];
@@ -3919,7 +3916,7 @@ const mergeFacetTrees = (currentTree, incomingTree) => {
3919
3916
  const mergedTree = structuredClone(currentTree);
3920
3917
  const merge = (currentBranch, nodePath) => {
3921
3918
  const mergedBranch = structuredClone(currentBranch);
3922
- const incomingBranch = getNodeAtPath(incomingTree, nodePath);
3919
+ const incomingBranch = getFacetTreeNodeAtPath(incomingTree, nodePath);
3923
3920
  if (!incomingBranch) {
3924
3921
  return mergedBranch;
3925
3922
  }
@@ -5565,17 +5562,35 @@ class SearchcraftFacetList {
5565
5562
  */
5566
5563
  facetSelectionUpdated;
5567
5564
  /**
5568
- * A Tree Representing all of the facets we know about to be rendered.
5565
+ * The currently selected facet paths.
5566
+ */
5567
+ selectedPaths = {};
5568
+ /**
5569
+ * A Tree representing all of the facets collected from search responses.
5569
5570
  */
5570
- facetTree = {
5571
+ facetTreeCollectedFromSearchResponse = {
5571
5572
  path: '/',
5572
5573
  count: 0,
5573
5574
  children: {},
5574
5575
  };
5575
5576
  /**
5576
- * The currently selected facet paths.
5577
+ * A Tree representing the facet paths that are selected, but were not included
5578
+ * in any search response.
5577
5579
  */
5578
- selectedPaths = {};
5580
+ facetTreeFromFacetPathsNotInSearchResponse = {
5581
+ path: '/',
5582
+ count: 0,
5583
+ children: {},
5584
+ };
5585
+ /**
5586
+ * The facet tree that ultimately gets rendered.
5587
+ * This is a mergin of the facetTreeCollectedFromSearchResponse and the facetTreeFromFacetPathsNotInSearchResponse tree
5588
+ */
5589
+ renderedFacetTree = {
5590
+ path: '/',
5591
+ count: 0,
5592
+ children: {},
5593
+ };
5579
5594
  // Internal vars used to track when to perform various facet actions.
5580
5595
  lastTimeTaken;
5581
5596
  lastSearchTerm;
@@ -5584,6 +5599,9 @@ class SearchcraftFacetList {
5584
5599
  lastRangeValues;
5585
5600
  lastFacetValues;
5586
5601
  unsubscribe;
5602
+ get areAnyFacetPathsSelected() {
5603
+ return Object.keys(this.selectedPaths).some((key) => this.selectedPaths[key]);
5604
+ }
5587
5605
  handleIncomingSearchResponse(state, actionType) {
5588
5606
  // Look at the incoming facet root from the search response, and convert it to a FacetTree
5589
5607
  const incomingFacetRoot = state.searchResponseFacetPrime?.find((facet) => this.fieldName === Object.keys(facet)[0]);
@@ -5593,18 +5611,20 @@ class SearchcraftFacetList {
5593
5611
  count: 0,
5594
5612
  children: incomingFacetsWithChildrenArray || [],
5595
5613
  });
5596
- // Determine what action to take (merge with existing FacetTree vs overwrite FacetTree)
5614
+ // Determine what action to take to accumulate items into the `facetTreeCollectedFromSearchResponse`.
5615
+ // This facet tree gets accumulated in different ways depending on what action type occured.
5597
5616
  switch (actionType) {
5598
5617
  case 'SEARCH_TERM_EMPTY':
5599
- this.facetTree = {
5618
+ this.facetTreeCollectedFromSearchResponse = {
5600
5619
  path: '/',
5601
5620
  count: 0,
5602
5621
  children: {},
5603
5622
  };
5604
5623
  break;
5605
5624
  case 'NEW_SEARCH_TERM':
5606
- this.facetTree = incomingFacetTree;
5625
+ this.facetTreeCollectedFromSearchResponse = incomingFacetTree;
5607
5626
  break;
5627
+ case 'NEW_SEARCH_TERM_WHILE_FACETS_ACTIVE':
5608
5628
  case 'EXACT_MATCH_UPDATE':
5609
5629
  case 'RANGE_VALUE_UPDATE': {
5610
5630
  if (state.supplementalFacetPrime) {
@@ -5615,53 +5635,95 @@ class SearchcraftFacetList {
5615
5635
  count: 0,
5616
5636
  children: supplementalFacetsWithChildrenArray || [],
5617
5637
  });
5618
- this.facetTree = mergeFacetTrees(supplementalFacetTree, incomingFacetTree);
5638
+ this.facetTreeCollectedFromSearchResponse = mergeFacetTrees(supplementalFacetTree, incomingFacetTree);
5619
5639
  }
5620
5640
  else {
5621
- this.facetTree = incomingFacetTree;
5641
+ this.facetTreeCollectedFromSearchResponse = incomingFacetTree;
5622
5642
  }
5623
5643
  break;
5624
5644
  }
5625
5645
  case 'FACET_UPDATE':
5626
5646
  case 'SORT_ORDER_UPDATE':
5627
- this.facetTree = mergeFacetTrees(this.facetTree, incomingFacetTree);
5647
+ this.facetTreeCollectedFromSearchResponse = mergeFacetTrees(this.facetTreeCollectedFromSearchResponse, incomingFacetTree);
5628
5648
  break;
5629
5649
  default:
5630
- this.facetTree = mergeFacetTrees(this.facetTree, incomingFacetTree);
5650
+ return;
5631
5651
  }
5652
+ // Determine if there are any selected facet paths not in the current tree.
5653
+ // If there are, we add them to "facetTreeFromFacetPathsNotInSearchResponse"
5654
+ this.facetTreeFromFacetPathsNotInSearchResponse = {
5655
+ path: '/',
5656
+ count: 0,
5657
+ children: {},
5658
+ };
5659
+ const collectedFacetArray = {
5660
+ path: '/',
5661
+ count: 0,
5662
+ children: [],
5663
+ };
5664
+ for (const pathName of Object.keys(this.selectedPaths).filter((path) => this.selectedPaths[path])) {
5665
+ const nodePaths = pathName.startsWith('/')
5666
+ ? pathName.substring(1).split('/')
5667
+ : pathName.split('/');
5668
+ const wasFoundInFacetTree = !!getFacetTreeNodeAtPath(this.facetTreeCollectedFromSearchResponse, nodePaths);
5669
+ const pathKeyName = nodePaths.at(-1);
5670
+ if (!wasFoundInFacetTree && pathKeyName) {
5671
+ collectedFacetArray.children?.push({
5672
+ children: [],
5673
+ count: 0,
5674
+ path: pathName,
5675
+ });
5676
+ }
5677
+ }
5678
+ this.facetTreeFromFacetPathsNotInSearchResponse =
5679
+ facetWithChildrenArrayToCompleteFacetTree(collectedFacetArray);
5680
+ // Merges facetTreeCollectedFromSearchResponse with selectedFacetPathsNotInCurrentFacetTree.
5681
+ // This results in a single, final facet tree that gets rendered in as Checkboxes
5682
+ this.renderedFacetTree = deepMergeWithSpread(this.facetTreeFromFacetPathsNotInSearchResponse, this.facetTreeCollectedFromSearchResponse);
5632
5683
  }
5633
- handleStateUpdate(state) {
5684
+ handleStateUpdate(_state) {
5685
+ const state = { ..._state };
5634
5686
  // Determine what action to take based on the current State
5635
- if (this.lastSearchTerm !== state.searchTerm &&
5636
- state.searchTerm.trim() === '') {
5687
+ if (state.searchTerm.trim() === '') {
5637
5688
  this.handleIncomingSearchResponse(state, 'SEARCH_TERM_EMPTY');
5689
+ this.lastSearchTerm = '';
5638
5690
  }
5639
- else if (this.lastTimeTaken !== state.searchResponseTimeTaken) {
5691
+ else if (this.lastTimeTaken !== state.searchResponseTimeTaken &&
5692
+ state.searchClientRequest &&
5693
+ typeof state.searchClientRequest === 'object') {
5694
+ const request = state.searchClientRequest;
5640
5695
  let actionType = 'UNKNOWN';
5641
- if (this.lastSearchTerm !== state.searchTerm) {
5642
- actionType = 'NEW_SEARCH_TERM';
5696
+ if (this.lastSearchTerm !== request.searchTerm) {
5697
+ if (this.areAnyFacetPathsSelected) {
5698
+ actionType = 'NEW_SEARCH_TERM_WHILE_FACETS_ACTIVE';
5699
+ }
5700
+ else {
5701
+ actionType = 'NEW_SEARCH_TERM';
5702
+ }
5643
5703
  }
5644
- else if (this.lastRangeValues !== JSON.stringify(state.rangeValueForIndexFields)) {
5704
+ else if (this.lastRangeValues !==
5705
+ JSON.stringify(request.rangeValueForIndexFields)) {
5645
5706
  actionType = 'RANGE_VALUE_UPDATE';
5646
5707
  }
5647
- else if (this.lastFacetValues !== JSON.stringify(state.facetPathsForIndexFields)) {
5708
+ else if (this.lastFacetValues !==
5709
+ JSON.stringify(request.facetPathsForIndexFields)) {
5648
5710
  actionType = 'FACET_UPDATE';
5649
5711
  }
5650
- else if (this.lastSortType !== state.sortType) {
5712
+ else if (this.lastSortType !== request.order_by) {
5651
5713
  actionType = 'SORT_ORDER_UPDATE';
5652
5714
  }
5653
- else if (this.lastSearchMode !== state.searchMode) {
5715
+ else if (this.lastSearchMode !== request.mode) {
5654
5716
  actionType = 'EXACT_MATCH_UPDATE';
5655
5717
  }
5718
+ this.lastRangeValues = JSON.stringify(request.rangeValueForIndexFields);
5719
+ this.lastFacetValues = JSON.stringify(request.facetPathsForIndexFields);
5720
+ this.lastSortType = request.order_by;
5721
+ this.lastSearchMode = request.mode;
5722
+ this.lastSearchTerm = request.searchTerm;
5723
+ this.lastTimeTaken = state.searchResponseTimeTaken;
5656
5724
  // Handle the incoming response, using the action we have determined.
5657
5725
  this.handleIncomingSearchResponse(state, actionType);
5658
- this.lastSearchTerm = state.searchTerm;
5659
- this.lastRangeValues = JSON.stringify(state.rangeValueForIndexFields);
5660
- this.lastFacetValues = JSON.stringify(state.facetPathsForIndexFields);
5661
- this.lastSortType = state.sortType;
5662
- this.lastSearchMode = state.searchMode;
5663
5726
  }
5664
- this.lastTimeTaken = state.searchResponseTimeTaken;
5665
5727
  }
5666
5728
  connectedCallback() {
5667
5729
  this.handleStateUpdate(searchcraftStore.getState());
@@ -5733,23 +5795,26 @@ class SearchcraftFacetList {
5733
5795
  if (!this.fieldName) {
5734
5796
  return;
5735
5797
  }
5736
- if (Object.keys(this.facetTree.children).length === 0 &&
5798
+ if (Object.keys(this.facetTreeCollectedFromSearchResponse.children).length ===
5799
+ 0 &&
5737
5800
  (this.lastSearchTerm || '').trim().length === 0) {
5738
5801
  return;
5739
5802
  }
5740
- if (Object.keys(this.facetTree.children).length === 0 &&
5803
+ if (Object.keys(this.facetTreeCollectedFromSearchResponse.children).length ===
5804
+ 0 &&
5741
5805
  (this.lastSearchTerm || '').trim().length > 0) {
5742
5806
  return (hAsync("p", { class: 'searchcraft-facet-list-message' }, "No facets are available for this search query."));
5743
5807
  }
5744
- return (hAsync("div", { class: 'searchcraft-facet-list' }, this.renderFacet('@@root', this.facetTree)));
5808
+ return (hAsync("div", { class: 'searchcraft-facet-list' }, this.renderFacet('@@root', this.renderedFacetTree)));
5745
5809
  }
5746
5810
  static get cmpMeta() { return {
5747
5811
  "$flags$": 0,
5748
5812
  "$tagName$": "searchcraft-facet-list",
5749
5813
  "$members$": {
5750
5814
  "fieldName": [1, "field-name"],
5751
- "facetTree": [32],
5752
- "selectedPaths": [32]
5815
+ "selectedPaths": [32],
5816
+ "facetTreeCollectedFromSearchResponse": [32],
5817
+ "renderedFacetTree": [32]
5753
5818
  },
5754
5819
  "$listeners$": undefined,
5755
5820
  "$lazyBundleId$": "-",
@@ -6022,22 +6087,18 @@ class SearchcraftInputForm {
6022
6087
  handleInput = (event) => {
6023
6088
  const input = event.target;
6024
6089
  this.inputValue = input.value;
6090
+ this.searchcraftStore.setSearchTerm(input.value);
6025
6091
  if (!this.autoSearch) {
6026
6092
  return;
6027
6093
  }
6028
- this.performSearch(input.value);
6094
+ this.performSearch();
6029
6095
  };
6030
- performSearch = async (searchTerm) => {
6031
- if (searchTerm === this.searchTerm) {
6032
- return;
6033
- }
6034
- this.searchcraftStore.setSearchTerm(searchTerm.trim());
6096
+ performSearch = async () => {
6035
6097
  this.error = false;
6036
6098
  try {
6037
6099
  await this.searchcraftStore.search();
6038
6100
  }
6039
6101
  catch (error) {
6040
- console.error(`Search for ${searchTerm} failed:`, error);
6041
6102
  this.error = true;
6042
6103
  }
6043
6104
  };
@@ -6052,7 +6113,7 @@ class SearchcraftInputForm {
6052
6113
  };
6053
6114
  handleFormSubmit = async (event) => {
6054
6115
  event.preventDefault();
6055
- await this.performSearch(this.inputValue);
6116
+ await this.performSearch();
6056
6117
  };
6057
6118
  render() {
6058
6119
  const isShowingClearButton = this.inputValue.length > 0;
@@ -6065,11 +6126,11 @@ class SearchcraftInputForm {
6065
6126
  const inputGridStyles = {
6066
6127
  gap: shouldHaveVerticalGap ? '4px 8px' : '0px 8px',
6067
6128
  };
6068
- return (hAsync("form", { key: '7f3fe524949a5940d2852ef8fe510ab0c0b910f1', class: 'searchcraft-input-form', onSubmit: this.handleFormSubmit }, hAsync("div", { key: '12a137ff4ecaab2a047cb787c878ddf0ed973d3f', class: inputGridClassNames, style: inputGridStyles }, hAsync("div", { key: '12c7dadcc6fa22467a5165c10e12a0e343ea2ed3', class: 'searchcraft-input-form-button' }, hAsync("searchcraft-button", { key: '477fe1299556e5c5bc6b902de65c71f11aad97ac', onButtonClick: this.handleFormSubmit, label: this.buttonLabel })), this.inputLabel && (hAsync("div", { key: 'cf04132b3a95943fe8371f64778130c3f8bbc379', class: 'searchcraft-input-form-label' }, hAsync("searchcraft-input-label", { key: 'b840d1b65c1fc11879cf25bcc88022eafa583109', label: this.inputLabel }))), this.error && (hAsync("div", { key: 'ed9a441bfd57cab076f8218e1f7d4baecf5e9ce2', class: 'searchcraft-input-form-error-message' }, hAsync("searchcraft-error-message", { key: '9624592768ab3cc0c683f5636b83022349af66cd' }, "Something went wrong."))), hAsync("div", { key: '99f06b4c38b4cc26f534a3f3be6a7c23b5946c62', class: 'searchcraft-input-form-input-wrapper' }, hAsync("input", { key: '90fe4eca0771ca15378685861ae0bd700110ac15', autoComplete: 'off', class: classNames('searchcraft-input-form-input', {
6129
+ return (hAsync("form", { key: 'd0654def009278279b7edeeccc6044d999c0d5b0', class: 'searchcraft-input-form', onSubmit: this.handleFormSubmit }, hAsync("div", { key: '27978b08e46e0f8ecdf6dc95a74c962d85f5e9ff', class: inputGridClassNames, style: inputGridStyles }, hAsync("div", { key: '1f7cecc80a84bfc46c994971cd751d2b65af6d83', class: 'searchcraft-input-form-button' }, hAsync("searchcraft-button", { key: 'b3f2078604c380eef895be103b2bdf5cef6bca84', onButtonClick: this.handleFormSubmit, label: this.buttonLabel })), this.inputLabel && (hAsync("div", { key: 'b33c0d3cbb3512964c3a47a2c354a610fa6faa09', class: 'searchcraft-input-form-label' }, hAsync("searchcraft-input-label", { key: 'e620088318c82e2e70d885bd3ee2c88ef8118e7c', label: this.inputLabel }))), this.error && (hAsync("div", { key: 'c3a20576917aaa33cc12df5ee5b479f87d628de7', class: 'searchcraft-input-form-error-message' }, hAsync("searchcraft-error-message", { key: 'f48e54a236b7a33fa55bab7f29d3b321be0bbb77' }, "Something went wrong."))), hAsync("div", { key: 'ebda089a3b8698892fd6cebcbaf89582a1bb21a2', class: 'searchcraft-input-form-input-wrapper' }, hAsync("input", { key: 'd7ea7b49f7d65067924168fc281033841a71d419', autoComplete: 'off', class: classNames('searchcraft-input-form-input', {
6069
6130
  'searchcraft-placeholder-hide-on-focus': this.placeholderBehavior === 'hide-on-focus',
6070
6131
  }), onFocus: () => this.inputFocus?.emit(), onBlur: () => this.inputBlur?.emit(), onInput: (event) => {
6071
6132
  this.handleInput(event);
6072
- }, placeholder: this.placeholderValue, type: 'text', value: this.inputValue }), hAsync("div", { key: '81a377845c20ba1ea8ed2ff73469026c7b2dc16a', class: 'searchcraft-input-form-input-icon' }, hAsync("svg", { key: '06e127c9878b65c17a72ae75841c9b5a1eec6197', 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: '37ebce26440a6e3fcdad1b342412b0aaec5e690c' }, "Search icon"), hAsync("path", { key: '3c5bcab0759d52e05a5f07ef27396461cf3b626c', 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: 'bbca17429ef3de340d7ee064e71c3858abc1022a', type: 'button', class: 'searchcraft-input-form-clear-button', onClick: this.handleClearInput }, hAsync("svg", { key: '94eee54f0735020bf77f56607bb870888d5a23e9', 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: '5f7e9beb4f2c4c394f19cc2c312be59de166a0c8' }, "Clear icon"), hAsync("path", { key: '138c29ea054bd535d0a8b5cb708bbea31d21c40a', 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' }))))))));
6133
+ }, placeholder: this.placeholderValue, type: 'text', value: this.inputValue }), hAsync("div", { key: '6dd4a02322072467a104938a47626592658eaa1e', class: 'searchcraft-input-form-input-icon' }, hAsync("svg", { key: '26a4deabe9149db6db219e49fcccbbe7688e9f0a', 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: 'eff07788d2edaead45a60d8ac20e5d1d694c5165' }, "Search icon"), hAsync("path", { key: '9083cf32c8f749210232b51b1f5934a3c32b109f', 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: '0b2117ae2510fe743b11d8e638e981ee0f7e4760', type: 'button', class: 'searchcraft-input-form-clear-button', onClick: this.handleClearInput }, hAsync("svg", { key: '3fbb57c1b6486638286e1010639751a83a75f489', 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: '84ce771c55c072b4339babb136639469b68a1f9b' }, "Clear icon"), hAsync("path", { key: '811f5fc9cc708f80004f1cf50ddcd85de05f3b6b', 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' }))))))));
6073
6134
  }
6074
6135
  static get watchers() { return {
6075
6136
  "core": ["onCoreChange"]