@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
@@ -3223,86 +3223,86 @@ class pe {
3223
3223
  }
3224
3224
  }
3225
3225
  function y(a, e, n, r) {
3226
- return new (n || (n = Promise))(function(s, o) {
3227
- function t(c) {
3226
+ return new (n || (n = Promise))(function(o, i) {
3227
+ function t(s) {
3228
3228
  try {
3229
- d(r.next(c));
3230
- } catch (i) {
3231
- o(i);
3229
+ l(r.next(s));
3230
+ } catch (c) {
3231
+ i(c);
3232
3232
  }
3233
3233
  }
3234
- function u(c) {
3234
+ function u(s) {
3235
3235
  try {
3236
- d(r.throw(c));
3237
- } catch (i) {
3238
- o(i);
3236
+ l(r.throw(s));
3237
+ } catch (c) {
3238
+ i(c);
3239
3239
  }
3240
3240
  }
3241
- function d(c) {
3242
- var i;
3243
- c.done ? s(c.value) : (i = c.value, i instanceof n ? i : new n(function(p) {
3244
- p(i);
3241
+ function l(s) {
3242
+ var c;
3243
+ s.done ? o(s.value) : (c = s.value, c instanceof n ? c : new n(function(g) {
3244
+ g(c);
3245
3245
  })).then(t, u);
3246
3246
  }
3247
- d((r = r.apply(a, [])).next());
3247
+ l((r = r.apply(a, [])).next());
3248
3248
  });
3249
3249
  }
3250
3250
  function w(a, e) {
3251
- var n, r, s, o, t = { label: 0, sent: function() {
3252
- if (1 & s[0]) throw s[1];
3253
- return s[1];
3251
+ var n, r, o, i, t = { label: 0, sent: function() {
3252
+ if (1 & o[0]) throw o[1];
3253
+ return o[1];
3254
3254
  }, trys: [], ops: [] };
3255
- return o = { next: u(0), throw: u(1), return: u(2) }, typeof Symbol == "function" && (o[Symbol.iterator] = function() {
3255
+ return i = { next: u(0), throw: u(1), return: u(2) }, typeof Symbol == "function" && (i[Symbol.iterator] = function() {
3256
3256
  return this;
3257
- }), o;
3258
- function u(d) {
3259
- return function(c) {
3260
- return function(i) {
3257
+ }), i;
3258
+ function u(l) {
3259
+ return function(s) {
3260
+ return function(c) {
3261
3261
  if (n) throw new TypeError("Generator is already executing.");
3262
- for (; o && (o = 0, i[0] && (t = 0)), t; ) try {
3263
- 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;
3264
- switch (r = 0, s && (i = [2 & i[0], s.value]), i[0]) {
3262
+ for (; i && (i = 0, c[0] && (t = 0)), t; ) try {
3263
+ 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;
3264
+ switch (r = 0, o && (c = [2 & c[0], o.value]), c[0]) {
3265
3265
  case 0:
3266
3266
  case 1:
3267
- s = i;
3267
+ o = c;
3268
3268
  break;
3269
3269
  case 4:
3270
- return t.label++, { value: i[1], done: !1 };
3270
+ return t.label++, { value: c[1], done: !1 };
3271
3271
  case 5:
3272
- t.label++, r = i[1], i = [0];
3272
+ t.label++, r = c[1], c = [0];
3273
3273
  continue;
3274
3274
  case 7:
3275
- i = t.ops.pop(), t.trys.pop();
3275
+ c = t.ops.pop(), t.trys.pop();
3276
3276
  continue;
3277
3277
  default:
3278
- if (s = t.trys, !((s = s.length > 0 && s[s.length - 1]) || i[0] !== 6 && i[0] !== 2)) {
3278
+ if (o = t.trys, !((o = o.length > 0 && o[o.length - 1]) || c[0] !== 6 && c[0] !== 2)) {
3279
3279
  t = 0;
3280
3280
  continue;
3281
3281
  }
3282
- if (i[0] === 3 && (!s || i[1] > s[0] && i[1] < s[3])) {
3283
- t.label = i[1];
3282
+ if (c[0] === 3 && (!o || c[1] > o[0] && c[1] < o[3])) {
3283
+ t.label = c[1];
3284
3284
  break;
3285
3285
  }
3286
- if (i[0] === 6 && t.label < s[1]) {
3287
- t.label = s[1], s = i;
3286
+ if (c[0] === 6 && t.label < o[1]) {
3287
+ t.label = o[1], o = c;
3288
3288
  break;
3289
3289
  }
3290
- if (s && t.label < s[2]) {
3291
- t.label = s[2], t.ops.push(i);
3290
+ if (o && t.label < o[2]) {
3291
+ t.label = o[2], t.ops.push(c);
3292
3292
  break;
3293
3293
  }
3294
- s[2] && t.ops.pop(), t.trys.pop();
3294
+ o[2] && t.ops.pop(), t.trys.pop();
3295
3295
  continue;
3296
3296
  }
3297
- i = e.call(a, t);
3298
- } catch (p) {
3299
- i = [6, p], r = 0;
3297
+ c = e.call(a, t);
3298
+ } catch (g) {
3299
+ c = [6, g], r = 0;
3300
3300
  } finally {
3301
- n = s = 0;
3301
+ n = o = 0;
3302
3302
  }
3303
- if (5 & i[0]) throw i[1];
3304
- return { value: i[0] ? i[1] : void 0, done: !0 };
3305
- }([d, c]);
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
  }
@@ -3313,68 +3313,68 @@ function T(a) {
3313
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(a, e) {
3316
+ function p(a, e) {
3317
3317
  return a << e | a >>> 32 - e;
3318
3318
  }
3319
3319
  function _(a, e) {
3320
3320
  var n;
3321
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
3322
  var r = new Uint32Array([e, e, e, e]);
3323
- (((function(o, t) {
3324
- for (var u = o.byteLength / 16 | 0, d = new Uint32Array(o, 0, 4 * u), c = 0; c < u; c++) {
3325
- var i = d.subarray(4 * c, 4 * (c + 1));
3326
- 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;
3327
- }
3328
- })))(a, r), function(o, t) {
3329
- var u = o.byteLength / 16 | 0, d = o.byteLength % 16, c = new Uint32Array(4), i = new Uint8Array(o, 16 * u, d);
3330
- switch (d) {
3323
+ (((function(i, t) {
3324
+ for (var u = i.byteLength / 16 | 0, l = new Uint32Array(i, 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] = 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;
3327
+ }
3328
+ })))(a, r), function(i, t) {
3329
+ var u = i.byteLength / 16 | 0, l = i.byteLength % 16, s = new Uint32Array(4), c = new Uint8Array(i, 16 * u, l);
3330
+ switch (l) {
3331
3331
  case 15:
3332
- c[3] = c[3] ^ i[14] << 16;
3332
+ s[3] = s[3] ^ c[14] << 16;
3333
3333
  case 14:
3334
- c[3] = c[3] ^ i[13] << 8;
3334
+ s[3] = s[3] ^ c[13] << 8;
3335
3335
  case 13:
3336
- 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];
3336
+ 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];
3337
3337
  case 12:
3338
- c[2] = c[2] ^ i[11] << 24;
3338
+ s[2] = s[2] ^ c[11] << 24;
3339
3339
  case 11:
3340
- c[2] = c[2] ^ i[10] << 16;
3340
+ s[2] = s[2] ^ c[10] << 16;
3341
3341
  case 10:
3342
- c[2] = c[2] ^ i[9] << 8;
3342
+ s[2] = s[2] ^ c[9] << 8;
3343
3343
  case 9:
3344
- 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];
3344
+ 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];
3345
3345
  case 8:
3346
- c[1] = c[1] ^ i[7] << 24;
3346
+ s[1] = s[1] ^ c[7] << 24;
3347
3347
  case 7:
3348
- c[1] = c[1] ^ i[6] << 16;
3348
+ s[1] = s[1] ^ c[6] << 16;
3349
3349
  case 6:
3350
- c[1] = c[1] ^ i[5] << 8;
3350
+ s[1] = s[1] ^ c[5] << 8;
3351
3351
  case 5:
3352
- 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];
3352
+ 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];
3353
3353
  case 4:
3354
- c[0] = c[0] ^ i[3] << 24;
3354
+ s[0] = s[0] ^ c[3] << 24;
3355
3355
  case 3:
3356
- c[0] = c[0] ^ i[2] << 16;
3356
+ s[0] = s[0] ^ c[2] << 16;
3357
3357
  case 2:
3358
- c[0] = c[0] ^ i[1] << 8;
3358
+ s[0] = s[0] ^ c[1] << 8;
3359
3359
  case 1:
3360
- 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];
3360
+ 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];
3361
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] = 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;
3362
+ }(a, r), function(i, t) {
3363
+ 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;
3364
3364
  }(a, r);
3365
- var s = new Uint8Array(r.buffer);
3366
- return Array.from(s).map(function(o) {
3367
- return o.toString(16).padStart(2, "0");
3365
+ var o = new Uint8Array(r.buffer);
3366
+ return Array.from(o).map(function(i) {
3367
+ return i.toString(16).padStart(2, "0");
3368
3368
  }).join("");
3369
3369
  }
3370
3370
  function H(a) {
3371
3371
  for (var e = 0, n = 0; n < a.length; ++n) e += Math.abs(a[n]);
3372
3372
  return e;
3373
3373
  }
3374
- function L(a, e, n) {
3375
- for (var r = [], s = 0; s < a[0].data.length; s++) {
3376
- for (var o = [], t = 0; t < a.length; t++) o.push(a[t].data[s]);
3377
- r.push(Q(o));
3374
+ function q(a, e, n) {
3375
+ for (var r = [], o = 0; o < a[0].data.length; o++) {
3376
+ for (var i = [], t = 0; t < a.length; t++) i.push(a[t].data[o]);
3377
+ r.push(Q(i));
3378
3378
  }
3379
3379
  var u = new Uint8ClampedArray(r);
3380
3380
  return new ImageData(u, e, n);
@@ -3382,16 +3382,16 @@ function L(a, e, n) {
3382
3382
  function Q(a) {
3383
3383
  if (a.length === 0) return 0;
3384
3384
  for (var e = {}, n = 0, r = a; n < r.length; n++)
3385
- e[o = r[n]] = (e[o] || 0) + 1;
3386
- var s = a[0];
3387
- for (var o in e) e[o] > e[s] && (s = parseInt(o, 10));
3388
- return s;
3385
+ e[i = r[n]] = (e[i] || 0) + 1;
3386
+ var o = a[0];
3387
+ for (var i in e) e[i] > e[o] && (o = parseInt(i, 10));
3388
+ return o;
3389
3389
  }
3390
3390
  function C() {
3391
3391
  if (typeof navigator > "u") return { name: "unknown", version: "unknown" };
3392
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 s = r[n], o = a.match(s);
3394
- if (o && o.groups) return { name: e[o.groups.name] || o.groups.name, version: o.groups.version };
3393
+ var o = r[n], i = a.match(o);
3394
+ if (i && i.groups) return { name: e[i.groups.name] || i.groups.name, version: i.groups.version };
3395
3395
  }
3396
3396
  return { name: "unknown", version: "unknown" };
3397
3397
  }
@@ -3400,55 +3400,55 @@ v("audio", function() {
3400
3400
  return w(this, function(a) {
3401
3401
  return [2, new Promise(function(e, n) {
3402
3402
  try {
3403
- var r = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1, 5e3, 44100), s = r.createBufferSource(), o = r.createOscillator();
3404
- o.frequency.value = 1e3;
3403
+ var r = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1, 5e3, 44100), o = r.createBufferSource(), i = r.createOscillator();
3404
+ i.frequency.value = 1e3;
3405
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(d) {
3407
- t = d.renderedBuffer.getChannelData(0), e({ sampleHash: H(t), oscillator: o.type, maxChannels: r.destination.maxChannelCount, channelCountMode: s.channelCountMode });
3406
+ 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) {
3407
+ t = l.renderedBuffer.getChannelData(0), e({ sampleHash: H(t), oscillator: i.type, maxChannels: r.destination.maxChannelCount, channelCountMode: o.channelCountMode });
3408
3408
  }, r.startRendering();
3409
- } catch (d) {
3410
- console.error("Error creating audio fingerprint:", d), n(d);
3409
+ } catch (l) {
3410
+ console.error("Error creating audio fingerprint:", l), n(l);
3411
3411
  }
3412
3412
  })];
3413
3413
  });
3414
3414
  });
3415
3415
  });
3416
- var K = C().name !== "SamsungBrowser" ? 1 : 3, P = 280, F = 20;
3416
+ var K = C().name !== "SamsungBrowser" ? 1 : 3, P = 280, k = 20;
3417
3417
  C().name != "Firefox" && v("canvas", function() {
3418
3418
  return document.createElement("canvas").getContext("2d"), new Promise(function(a) {
3419
3419
  var e = Array.from({ length: K }, function() {
3420
3420
  return function() {
3421
3421
  var n = document.createElement("canvas"), r = n.getContext("2d");
3422
3422
  if (!r) return new ImageData(1, 1);
3423
- n.width = P, n.height = F;
3424
- var s = r.createLinearGradient(0, 0, n.width, n.height);
3425
- 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);
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();
3423
+ n.width = P, n.height = k;
3424
+ var o = r.createLinearGradient(0, 0, n.width, n.height);
3425
+ 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);
3426
+ var i = "Random Text WMwmil10Oo";
3427
+ 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();
3428
3428
  var t = r.getImageData(0, 0, n.width, n.height);
3429
3429
  return t;
3430
3430
  }();
3431
3431
  });
3432
- a({ commonImageDataHash: _(L(e, P, F).data.toString()).toString() });
3432
+ a({ commonImageDataHash: _(q(e, P, k).data.toString()).toString() });
3433
3433
  });
3434
3434
  });
3435
3435
  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"];
3436
- function k(a, e) {
3436
+ function F(a, e) {
3437
3437
  if (!a) throw new Error("Canvas context not supported");
3438
3438
  return a.font = "72px ".concat(e), a.measureText("WwMmLli0Oo").width;
3439
3439
  }
3440
3440
  function Y() {
3441
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 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() };
3444
- if (!s.length || !r.length) {
3443
+ 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() };
3444
+ if (!o.length || !r.length) {
3445
3445
  var t = n.getExtension("WEBGL_debug_renderer_info");
3446
3446
  if (t) {
3447
- var u = (n.getParameter(t.UNMASKED_VENDOR_WEBGL) || "").toString(), d = (n.getParameter(t.UNMASKED_RENDERER_WEBGL) || "").toString();
3448
- u && (o.vendorUnmasked = u), d && (o.rendererUnmasked = d);
3447
+ var u = (n.getParameter(t.UNMASKED_VENDOR_WEBGL) || "").toString(), l = (n.getParameter(t.UNMASKED_RENDERER_WEBGL) || "").toString();
3448
+ u && (i.vendorUnmasked = u), l && (i.rendererUnmasked = l);
3449
3449
  }
3450
3450
  }
3451
- return o;
3451
+ return i;
3452
3452
  } catch {
3453
3453
  }
3454
3454
  return "undefined";
@@ -3460,23 +3460,23 @@ function Z() {
3460
3460
  function ee(a, e) {
3461
3461
  var n = {};
3462
3462
  return e.forEach(function(r) {
3463
- var s = function(o) {
3464
- if (o.length === 0) return null;
3463
+ var o = function(i) {
3464
+ if (i.length === 0) return null;
3465
3465
  var t = {};
3466
- o.forEach(function(c) {
3467
- var i = String(c);
3468
- t[i] = (t[i] || 0) + 1;
3466
+ i.forEach(function(s) {
3467
+ var c = String(s);
3468
+ t[c] = (t[c] || 0) + 1;
3469
3469
  });
3470
- var u = o[0], d = 1;
3471
- return Object.keys(t).forEach(function(c) {
3472
- t[c] > d && (u = c, d = t[c]);
3470
+ var u = i[0], l = 1;
3471
+ return Object.keys(t).forEach(function(s) {
3472
+ t[s] > l && (u = s, l = t[s]);
3473
3473
  }), u;
3474
- }(a.map(function(o) {
3475
- return r in o ? o[r] : void 0;
3476
- }).filter(function(o) {
3477
- return o !== void 0;
3474
+ }(a.map(function(i) {
3475
+ return r in i ? i[r] : void 0;
3476
+ }).filter(function(i) {
3477
+ return i !== void 0;
3478
3478
  }));
3479
- s && (n[r] = s);
3479
+ o && (n[r] = o);
3480
3480
  }), n;
3481
3481
  }
3482
3482
  function te() {
@@ -3500,37 +3500,37 @@ C().name != "Firefox" && v("fonts", function() {
3500
3500
  return new Promise(function(e, n) {
3501
3501
  try {
3502
3502
  (function(r) {
3503
- var s;
3503
+ var o;
3504
3504
  y(this, void 0, void 0, function() {
3505
- var o, t, u;
3506
- return w(this, function(d) {
3507
- switch (d.label) {
3505
+ var i, t, u;
3506
+ return w(this, function(l) {
3507
+ switch (l.label) {
3508
3508
  case 0:
3509
- return document.body ? [3, 2] : [4, (c = 50, new Promise(function(p) {
3510
- return setTimeout(p, c, i);
3509
+ return document.body ? [3, 2] : [4, (s = 50, new Promise(function(g) {
3510
+ return setTimeout(g, s, c);
3511
3511
  }))];
3512
3512
  case 1:
3513
- return d.sent(), [3, 0];
3513
+ return l.sent(), [3, 0];
3514
3514
  case 2:
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 || ((s = o.contentWindow) === null || s === void 0 ? void 0 : s.document))) throw new Error("Iframe document is not accessible");
3515
+ 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");
3516
3516
  return r({ iframe: u }), setTimeout(function() {
3517
- document.body.removeChild(o);
3517
+ document.body.removeChild(i);
3518
3518
  }, 0), [2];
3519
3519
  }
3520
- var c, i;
3520
+ var s, c;
3521
3521
  });
3522
3522
  });
3523
3523
  })(function(r) {
3524
- var s = r.iframe;
3524
+ var o = r.iframe;
3525
3525
  return y(a, void 0, void 0, function() {
3526
- var o, t, u, d;
3527
- return w(this, function(c) {
3528
- return o = s.createElement("canvas"), t = o.getContext("2d"), u = J.map(function(i) {
3529
- return k(t, i);
3530
- }), d = {}, X.forEach(function(i) {
3531
- var p = k(t, i);
3532
- u.includes(p) || (d[i] = p);
3533
- }), e(d), [2];
3526
+ var i, t, u, l;
3527
+ return w(this, function(s) {
3528
+ return i = o.createElement("canvas"), t = i.getContext("2d"), u = J.map(function(c) {
3529
+ return F(t, c);
3530
+ }), l = {}, X.forEach(function(c) {
3531
+ var g = F(t, c);
3532
+ u.includes(g) || (l[c] = g);
3533
+ }), e(l), [2];
3534
3534
  });
3535
3535
  });
3536
3536
  });
@@ -3554,18 +3554,18 @@ C().name != "Firefox" && v("fonts", function() {
3554
3554
  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() {
3555
3555
  return function() {
3556
3556
  return y(this, void 0, void 0, function() {
3557
- var n, r, s, o, t;
3557
+ var n, r, o, i, t;
3558
3558
  return w(this, function(u) {
3559
3559
  switch (u.label) {
3560
3560
  case 0:
3561
- n = {}, r = 0, s = I, u.label = 1;
3561
+ n = {}, r = 0, o = I, u.label = 1;
3562
3562
  case 1:
3563
- if (!(r < s.length)) return [3, 6];
3564
- o = s[r], u.label = 2;
3563
+ if (!(r < o.length)) return [3, 6];
3564
+ i = o[r], u.label = 2;
3565
3565
  case 2:
3566
- return u.trys.push([2, 4, , 5]), [4, navigator.permissions.query({ name: o })];
3566
+ return u.trys.push([2, 4, , 5]), [4, navigator.permissions.query({ name: i })];
3567
3567
  case 3:
3568
- return t = u.sent(), n[o] = t.state.toString(), [3, 5];
3568
+ return t = u.sent(), n[i] = t.state.toString(), [3, 5];
3569
3569
  case 4:
3570
3570
  return u.sent(), [3, 5];
3571
3571
  case 5:
@@ -3600,18 +3600,18 @@ C().name != "Firefox" && v("fonts", function() {
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: ne() });
3601
3601
  });
3602
3602
  });
3603
- var f, re = C().name !== "SamsungBrowser" ? 1 : 3, l = null;
3603
+ var f, re = C().name !== "SamsungBrowser" ? 1 : 3, d = null;
3604
3604
  v("webgl", function() {
3605
3605
  return y(this, void 0, void 0, function() {
3606
3606
  var a;
3607
3607
  return w(this, function(e) {
3608
- typeof document < "u" && ((f = document.createElement("canvas")).width = 200, f.height = 100, l = f.getContext("webgl"));
3608
+ typeof document < "u" && ((f = document.createElement("canvas")).width = 200, f.height = 100, d = f.getContext("webgl"));
3609
3609
  try {
3610
- if (!l) throw new Error("WebGL not supported");
3610
+ if (!d) throw new Error("WebGL not supported");
3611
3611
  return a = Array.from({ length: re }, function() {
3612
3612
  return function() {
3613
3613
  try {
3614
- if (!l) throw new Error("WebGL not supported");
3614
+ if (!d) throw new Error("WebGL not supported");
3615
3615
  var n = `
3616
3616
  attribute vec2 position;
3617
3617
  void main() {
@@ -3622,31 +3622,31 @@ v("webgl", function() {
3622
3622
  void main() {
3623
3623
  gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color
3624
3624
  }
3625
- `, s = l.createShader(l.VERTEX_SHADER), o = l.createShader(l.FRAGMENT_SHADER);
3626
- if (!s || !o) throw new Error("Failed to create shaders");
3627
- 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));
3628
- if (l.compileShader(o), !l.getShaderParameter(o, l.COMPILE_STATUS)) throw new Error("Fragment shader compilation failed: " + l.getShaderInfoLog(o));
3629
- var t = l.createProgram();
3625
+ `, o = d.createShader(d.VERTEX_SHADER), i = d.createShader(d.FRAGMENT_SHADER);
3626
+ if (!o || !i) throw new Error("Failed to create shaders");
3627
+ 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));
3628
+ if (d.compileShader(i), !d.getShaderParameter(i, d.COMPILE_STATUS)) throw new Error("Fragment shader compilation failed: " + d.getShaderInfoLog(i));
3629
+ var t = d.createProgram();
3630
3630
  if (!t) throw new Error("Failed to create shader program");
3631
- 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));
3632
- l.useProgram(t);
3633
- for (var u = 137, d = new Float32Array(4 * u), c = 2 * Math.PI / u, i = 0; i < u; i++) {
3634
- var p = i * c;
3635
- 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);
3631
+ 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));
3632
+ d.useProgram(t);
3633
+ for (var u = 137, l = new Float32Array(4 * u), s = 2 * Math.PI / u, c = 0; c < u; c++) {
3634
+ var g = c * s;
3635
+ 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);
3636
3636
  }
3637
- var q = l.createBuffer();
3638
- l.bindBuffer(l.ARRAY_BUFFER, q), l.bufferData(l.ARRAY_BUFFER, d, l.STATIC_DRAW);
3639
- var R = l.getAttribLocation(t, "position");
3640
- 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);
3637
+ var L = d.createBuffer();
3638
+ d.bindBuffer(d.ARRAY_BUFFER, L), d.bufferData(d.ARRAY_BUFFER, l, d.STATIC_DRAW);
3639
+ var R = d.getAttribLocation(t, "position");
3640
+ 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);
3641
3641
  var x = new Uint8ClampedArray(f.width * f.height * 4);
3642
- return l.readPixels(0, 0, f.width, f.height, l.RGBA, l.UNSIGNED_BYTE, x), new ImageData(x, f.width, f.height);
3642
+ return d.readPixels(0, 0, f.width, f.height, d.RGBA, d.UNSIGNED_BYTE, x), new ImageData(x, f.width, f.height);
3643
3643
  } catch {
3644
3644
  return new ImageData(1, 1);
3645
3645
  } finally {
3646
- l && (l.bindBuffer(l.ARRAY_BUFFER, null), l.useProgram(null), l.viewport(0, 0, l.drawingBufferWidth, l.drawingBufferHeight), l.clearColor(0, 0, 0, 0));
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: _(L(a, f.width, f.height).data.toString()).toString() }];
3649
+ }), [2, { commonImageHash: _(q(a, f.width, f.height).data.toString()).toString() }];
3650
3650
  } catch {
3651
3651
  return [2, { webgl: "unsupported" }];
3652
3652
  }
@@ -3655,9 +3655,9 @@ v("webgl", function() {
3655
3655
  });
3656
3656
  });
3657
3657
  var b = function(a, e, n, r) {
3658
- for (var s = (n - e) / r, o = 0, t = 0; t < r; t++)
3659
- o += a(e + (t + 0.5) * s);
3660
- return o * s;
3658
+ for (var o = (n - e) / r, i = 0, t = 0; t < r; t++)
3659
+ i += a(e + (t + 0.5) * o);
3660
+ return i * o;
3661
3661
  };
3662
3662
  v("math", function() {
3663
3663
  return y(void 0, void 0, void 0, function() {
@@ -3681,6 +3681,7 @@ const initialSearchcraftStateValues = {
3681
3681
  rangeValueForIndexFields: {},
3682
3682
  searchTerm: '',
3683
3683
  searchMode: 'fuzzy',
3684
+ searchClientRequest: undefined,
3684
3685
  searchClientResponseItems: [],
3685
3686
  searchResponseTimeTaken: undefined,
3686
3687
  searchResponseFacetPrime: undefined,
@@ -3784,7 +3785,7 @@ const searchcraftStore = zustand.createStore((_set, get) => {
3784
3785
  }, functions.setSearchClientResponseItemsFromResponse, functions.setAdClientResponseItems);
3785
3786
  },
3786
3787
  setAdClientResponseItems: (items) => functions.set({ adClientResponseItems: items }),
3787
- setSearchClientResponseItemsFromResponse: (response, items, supplementalResponse) => {
3788
+ setSearchClientResponseItemsFromResponse: (request, response, items, supplementalResponse) => {
3788
3789
  const { facets, count = 0, time_taken = 0 } = response.data;
3789
3790
  const state = functions.set((state) => {
3790
3791
  return {
@@ -3797,12 +3798,13 @@ const searchcraftStore = zustand.createStore((_set, get) => {
3797
3798
  searchResultsCount: count,
3798
3799
  searchResponseFacetPrime: facets,
3799
3800
  supplementalFacetPrime: supplementalResponse?.data.facets,
3801
+ searchClientRequest: request,
3800
3802
  };
3801
3803
  });
3802
3804
  state.logger?.log(O.DEBUG, `Search results: ${JSON.stringify(items)}`);
3803
3805
  state.logger?.log(O.DEBUG, `Facets from response: ${JSON.stringify(facets)}`);
3804
3806
  },
3805
- setInitialSearchClientResponseItemsFromResponse: (response, items) => {
3807
+ setInitialSearchClientResponseItemsFromResponse: (request, response, items) => {
3806
3808
  const state = get();
3807
3809
  const { count = 0, time_taken = 0 } = response.data;
3808
3810
  functions.set((state) => {
@@ -3814,6 +3816,7 @@ const searchcraftStore = zustand.createStore((_set, get) => {
3814
3816
  // Reset to first page when response count changes
3815
3817
  count === state.searchResultsCount ? state.searchResultsPage : 1,
3816
3818
  searchResultsCount: count,
3819
+ searchClientRequest: request,
3817
3820
  };
3818
3821
  });
3819
3822
  state.logger?.log(O.DEBUG, `Search results: ${JSON.stringify(items)}`);
@@ -3841,12 +3844,6 @@ const searchcraftStore = zustand.createStore((_set, get) => {
3841
3844
  */
3842
3845
  functions.set({
3843
3846
  searchTerm,
3844
- facetPathsForIndexFields: {},
3845
- ...(searchTerm.trim().length === 0 && {
3846
- searchMode: 'fuzzy',
3847
- sortType: null,
3848
- orderByField: null,
3849
- }),
3850
3847
  });
3851
3848
  },
3852
3849
  setSearchClientResponseItems: (items) => functions.set({ searchClientResponseItems: items }),
@@ -3878,7 +3875,7 @@ const searchcraftStore = zustand.createStore((_set, get) => {
3878
3875
  * Helper function for getting a Node (FacetWithChildrenObject)
3879
3876
  * at a given path. Traverses the node tree to get the node.
3880
3877
  */
3881
- const getNodeAtPath = (tree, nodePaths) => {
3878
+ const getFacetTreeNodeAtPath = (tree, nodePaths) => {
3882
3879
  let cursor = tree;
3883
3880
  for (const nodePath of nodePaths) {
3884
3881
  cursor = cursor?.children[nodePath];
@@ -3923,7 +3920,7 @@ const mergeFacetTrees = (currentTree, incomingTree) => {
3923
3920
  const mergedTree = structuredClone(currentTree);
3924
3921
  const merge = (currentBranch, nodePath) => {
3925
3922
  const mergedBranch = structuredClone(currentBranch);
3926
- const incomingBranch = getNodeAtPath(incomingTree, nodePath);
3923
+ const incomingBranch = getFacetTreeNodeAtPath(incomingTree, nodePath);
3927
3924
  if (!incomingBranch) {
3928
3925
  return mergedBranch;
3929
3926
  }
@@ -5569,17 +5566,35 @@ class SearchcraftFacetList {
5569
5566
  */
5570
5567
  facetSelectionUpdated;
5571
5568
  /**
5572
- * A Tree Representing all of the facets we know about to be rendered.
5569
+ * The currently selected facet paths.
5570
+ */
5571
+ selectedPaths = {};
5572
+ /**
5573
+ * A Tree representing all of the facets collected from search responses.
5573
5574
  */
5574
- facetTree = {
5575
+ facetTreeCollectedFromSearchResponse = {
5575
5576
  path: '/',
5576
5577
  count: 0,
5577
5578
  children: {},
5578
5579
  };
5579
5580
  /**
5580
- * The currently selected facet paths.
5581
+ * A Tree representing the facet paths that are selected, but were not included
5582
+ * in any search response.
5581
5583
  */
5582
- selectedPaths = {};
5584
+ facetTreeFromFacetPathsNotInSearchResponse = {
5585
+ path: '/',
5586
+ count: 0,
5587
+ children: {},
5588
+ };
5589
+ /**
5590
+ * The facet tree that ultimately gets rendered.
5591
+ * This is a mergin of the facetTreeCollectedFromSearchResponse and the facetTreeFromFacetPathsNotInSearchResponse tree
5592
+ */
5593
+ renderedFacetTree = {
5594
+ path: '/',
5595
+ count: 0,
5596
+ children: {},
5597
+ };
5583
5598
  // Internal vars used to track when to perform various facet actions.
5584
5599
  lastTimeTaken;
5585
5600
  lastSearchTerm;
@@ -5588,6 +5603,9 @@ class SearchcraftFacetList {
5588
5603
  lastRangeValues;
5589
5604
  lastFacetValues;
5590
5605
  unsubscribe;
5606
+ get areAnyFacetPathsSelected() {
5607
+ return Object.keys(this.selectedPaths).some((key) => this.selectedPaths[key]);
5608
+ }
5591
5609
  handleIncomingSearchResponse(state, actionType) {
5592
5610
  // Look at the incoming facet root from the search response, and convert it to a FacetTree
5593
5611
  const incomingFacetRoot = state.searchResponseFacetPrime?.find((facet) => this.fieldName === Object.keys(facet)[0]);
@@ -5597,18 +5615,20 @@ class SearchcraftFacetList {
5597
5615
  count: 0,
5598
5616
  children: incomingFacetsWithChildrenArray || [],
5599
5617
  });
5600
- // Determine what action to take (merge with existing FacetTree vs overwrite FacetTree)
5618
+ // Determine what action to take to accumulate items into the `facetTreeCollectedFromSearchResponse`.
5619
+ // This facet tree gets accumulated in different ways depending on what action type occured.
5601
5620
  switch (actionType) {
5602
5621
  case 'SEARCH_TERM_EMPTY':
5603
- this.facetTree = {
5622
+ this.facetTreeCollectedFromSearchResponse = {
5604
5623
  path: '/',
5605
5624
  count: 0,
5606
5625
  children: {},
5607
5626
  };
5608
5627
  break;
5609
5628
  case 'NEW_SEARCH_TERM':
5610
- this.facetTree = incomingFacetTree;
5629
+ this.facetTreeCollectedFromSearchResponse = incomingFacetTree;
5611
5630
  break;
5631
+ case 'NEW_SEARCH_TERM_WHILE_FACETS_ACTIVE':
5612
5632
  case 'EXACT_MATCH_UPDATE':
5613
5633
  case 'RANGE_VALUE_UPDATE': {
5614
5634
  if (state.supplementalFacetPrime) {
@@ -5619,53 +5639,95 @@ class SearchcraftFacetList {
5619
5639
  count: 0,
5620
5640
  children: supplementalFacetsWithChildrenArray || [],
5621
5641
  });
5622
- this.facetTree = mergeFacetTrees(supplementalFacetTree, incomingFacetTree);
5642
+ this.facetTreeCollectedFromSearchResponse = mergeFacetTrees(supplementalFacetTree, incomingFacetTree);
5623
5643
  }
5624
5644
  else {
5625
- this.facetTree = incomingFacetTree;
5645
+ this.facetTreeCollectedFromSearchResponse = incomingFacetTree;
5626
5646
  }
5627
5647
  break;
5628
5648
  }
5629
5649
  case 'FACET_UPDATE':
5630
5650
  case 'SORT_ORDER_UPDATE':
5631
- this.facetTree = mergeFacetTrees(this.facetTree, incomingFacetTree);
5651
+ this.facetTreeCollectedFromSearchResponse = mergeFacetTrees(this.facetTreeCollectedFromSearchResponse, incomingFacetTree);
5632
5652
  break;
5633
5653
  default:
5634
- this.facetTree = mergeFacetTrees(this.facetTree, incomingFacetTree);
5654
+ return;
5635
5655
  }
5656
+ // Determine if there are any selected facet paths not in the current tree.
5657
+ // If there are, we add them to "facetTreeFromFacetPathsNotInSearchResponse"
5658
+ this.facetTreeFromFacetPathsNotInSearchResponse = {
5659
+ path: '/',
5660
+ count: 0,
5661
+ children: {},
5662
+ };
5663
+ const collectedFacetArray = {
5664
+ path: '/',
5665
+ count: 0,
5666
+ children: [],
5667
+ };
5668
+ for (const pathName of Object.keys(this.selectedPaths).filter((path) => this.selectedPaths[path])) {
5669
+ const nodePaths = pathName.startsWith('/')
5670
+ ? pathName.substring(1).split('/')
5671
+ : pathName.split('/');
5672
+ const wasFoundInFacetTree = !!getFacetTreeNodeAtPath(this.facetTreeCollectedFromSearchResponse, nodePaths);
5673
+ const pathKeyName = nodePaths.at(-1);
5674
+ if (!wasFoundInFacetTree && pathKeyName) {
5675
+ collectedFacetArray.children?.push({
5676
+ children: [],
5677
+ count: 0,
5678
+ path: pathName,
5679
+ });
5680
+ }
5681
+ }
5682
+ this.facetTreeFromFacetPathsNotInSearchResponse =
5683
+ facetWithChildrenArrayToCompleteFacetTree(collectedFacetArray);
5684
+ // Merges facetTreeCollectedFromSearchResponse with selectedFacetPathsNotInCurrentFacetTree.
5685
+ // This results in a single, final facet tree that gets rendered in as Checkboxes
5686
+ this.renderedFacetTree = deepMergeWithSpread(this.facetTreeFromFacetPathsNotInSearchResponse, this.facetTreeCollectedFromSearchResponse);
5636
5687
  }
5637
- handleStateUpdate(state) {
5688
+ handleStateUpdate(_state) {
5689
+ const state = { ..._state };
5638
5690
  // Determine what action to take based on the current State
5639
- if (this.lastSearchTerm !== state.searchTerm &&
5640
- state.searchTerm.trim() === '') {
5691
+ if (state.searchTerm.trim() === '') {
5641
5692
  this.handleIncomingSearchResponse(state, 'SEARCH_TERM_EMPTY');
5693
+ this.lastSearchTerm = '';
5642
5694
  }
5643
- else if (this.lastTimeTaken !== state.searchResponseTimeTaken) {
5695
+ else if (this.lastTimeTaken !== state.searchResponseTimeTaken &&
5696
+ state.searchClientRequest &&
5697
+ typeof state.searchClientRequest === 'object') {
5698
+ const request = state.searchClientRequest;
5644
5699
  let actionType = 'UNKNOWN';
5645
- if (this.lastSearchTerm !== state.searchTerm) {
5646
- actionType = 'NEW_SEARCH_TERM';
5700
+ if (this.lastSearchTerm !== request.searchTerm) {
5701
+ if (this.areAnyFacetPathsSelected) {
5702
+ actionType = 'NEW_SEARCH_TERM_WHILE_FACETS_ACTIVE';
5703
+ }
5704
+ else {
5705
+ actionType = 'NEW_SEARCH_TERM';
5706
+ }
5647
5707
  }
5648
- else if (this.lastRangeValues !== JSON.stringify(state.rangeValueForIndexFields)) {
5708
+ else if (this.lastRangeValues !==
5709
+ JSON.stringify(request.rangeValueForIndexFields)) {
5649
5710
  actionType = 'RANGE_VALUE_UPDATE';
5650
5711
  }
5651
- else if (this.lastFacetValues !== JSON.stringify(state.facetPathsForIndexFields)) {
5712
+ else if (this.lastFacetValues !==
5713
+ JSON.stringify(request.facetPathsForIndexFields)) {
5652
5714
  actionType = 'FACET_UPDATE';
5653
5715
  }
5654
- else if (this.lastSortType !== state.sortType) {
5716
+ else if (this.lastSortType !== request.order_by) {
5655
5717
  actionType = 'SORT_ORDER_UPDATE';
5656
5718
  }
5657
- else if (this.lastSearchMode !== state.searchMode) {
5719
+ else if (this.lastSearchMode !== request.mode) {
5658
5720
  actionType = 'EXACT_MATCH_UPDATE';
5659
5721
  }
5722
+ this.lastRangeValues = JSON.stringify(request.rangeValueForIndexFields);
5723
+ this.lastFacetValues = JSON.stringify(request.facetPathsForIndexFields);
5724
+ this.lastSortType = request.order_by;
5725
+ this.lastSearchMode = request.mode;
5726
+ this.lastSearchTerm = request.searchTerm;
5727
+ this.lastTimeTaken = state.searchResponseTimeTaken;
5660
5728
  // Handle the incoming response, using the action we have determined.
5661
5729
  this.handleIncomingSearchResponse(state, actionType);
5662
- this.lastSearchTerm = state.searchTerm;
5663
- this.lastRangeValues = JSON.stringify(state.rangeValueForIndexFields);
5664
- this.lastFacetValues = JSON.stringify(state.facetPathsForIndexFields);
5665
- this.lastSortType = state.sortType;
5666
- this.lastSearchMode = state.searchMode;
5667
5730
  }
5668
- this.lastTimeTaken = state.searchResponseTimeTaken;
5669
5731
  }
5670
5732
  connectedCallback() {
5671
5733
  this.handleStateUpdate(searchcraftStore.getState());
@@ -5737,23 +5799,26 @@ class SearchcraftFacetList {
5737
5799
  if (!this.fieldName) {
5738
5800
  return;
5739
5801
  }
5740
- if (Object.keys(this.facetTree.children).length === 0 &&
5802
+ if (Object.keys(this.facetTreeCollectedFromSearchResponse.children).length ===
5803
+ 0 &&
5741
5804
  (this.lastSearchTerm || '').trim().length === 0) {
5742
5805
  return;
5743
5806
  }
5744
- if (Object.keys(this.facetTree.children).length === 0 &&
5807
+ if (Object.keys(this.facetTreeCollectedFromSearchResponse.children).length ===
5808
+ 0 &&
5745
5809
  (this.lastSearchTerm || '').trim().length > 0) {
5746
5810
  return (hAsync("p", { class: 'searchcraft-facet-list-message' }, "No facets are available for this search query."));
5747
5811
  }
5748
- return (hAsync("div", { class: 'searchcraft-facet-list' }, this.renderFacet('@@root', this.facetTree)));
5812
+ return (hAsync("div", { class: 'searchcraft-facet-list' }, this.renderFacet('@@root', this.renderedFacetTree)));
5749
5813
  }
5750
5814
  static get cmpMeta() { return {
5751
5815
  "$flags$": 0,
5752
5816
  "$tagName$": "searchcraft-facet-list",
5753
5817
  "$members$": {
5754
5818
  "fieldName": [1, "field-name"],
5755
- "facetTree": [32],
5756
- "selectedPaths": [32]
5819
+ "selectedPaths": [32],
5820
+ "facetTreeCollectedFromSearchResponse": [32],
5821
+ "renderedFacetTree": [32]
5757
5822
  },
5758
5823
  "$listeners$": undefined,
5759
5824
  "$lazyBundleId$": "-",
@@ -6026,22 +6091,18 @@ class SearchcraftInputForm {
6026
6091
  handleInput = (event) => {
6027
6092
  const input = event.target;
6028
6093
  this.inputValue = input.value;
6094
+ this.searchcraftStore.setSearchTerm(input.value);
6029
6095
  if (!this.autoSearch) {
6030
6096
  return;
6031
6097
  }
6032
- this.performSearch(input.value);
6098
+ this.performSearch();
6033
6099
  };
6034
- performSearch = async (searchTerm) => {
6035
- if (searchTerm === this.searchTerm) {
6036
- return;
6037
- }
6038
- this.searchcraftStore.setSearchTerm(searchTerm.trim());
6100
+ performSearch = async () => {
6039
6101
  this.error = false;
6040
6102
  try {
6041
6103
  await this.searchcraftStore.search();
6042
6104
  }
6043
6105
  catch (error) {
6044
- console.error(`Search for ${searchTerm} failed:`, error);
6045
6106
  this.error = true;
6046
6107
  }
6047
6108
  };
@@ -6056,7 +6117,7 @@ class SearchcraftInputForm {
6056
6117
  };
6057
6118
  handleFormSubmit = async (event) => {
6058
6119
  event.preventDefault();
6059
- await this.performSearch(this.inputValue);
6120
+ await this.performSearch();
6060
6121
  };
6061
6122
  render() {
6062
6123
  const isShowingClearButton = this.inputValue.length > 0;
@@ -6069,11 +6130,11 @@ class SearchcraftInputForm {
6069
6130
  const inputGridStyles = {
6070
6131
  gap: shouldHaveVerticalGap ? '4px 8px' : '0px 8px',
6071
6132
  };
6072
- 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', {
6133
+ 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', {
6073
6134
  'searchcraft-placeholder-hide-on-focus': this.placeholderBehavior === 'hide-on-focus',
6074
6135
  }), onFocus: () => this.inputFocus?.emit(), onBlur: () => this.inputBlur?.emit(), onInput: (event) => {
6075
6136
  this.handleInput(event);
6076
- }, 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' }))))))));
6137
+ }, 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' }))))))));
6077
6138
  }
6078
6139
  static get watchers() { return {
6079
6140
  "core": ["onCoreChange"]