@indxsearch/intrface 1.1.4 → 1.1.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.
package/dist/index.es.js CHANGED
@@ -1,10 +1,10 @@
1
- var ht = Object.defineProperty;
2
- var ft = (r, o, u) => o in r ? ht(r, o, { enumerable: !0, configurable: !0, writable: !0, value: u }) : r[o] = u;
3
- var et = (r, o, u) => ft(r, typeof o != "symbol" ? o + "" : o, u);
1
+ var gt = Object.defineProperty;
2
+ var mt = (r, o, d) => o in r ? gt(r, o, { enumerable: !0, configurable: !0, writable: !0, value: d }) : r[o] = d;
3
+ var tt = (r, o, d) => mt(r, typeof o != "symbol" ? o + "" : o, d);
4
4
  import "@indxsearch/systm/styles.css";
5
- import te, { createContext as gt, useRef as Fe, useState as G, useEffect as ue, useCallback as ee, useMemo as ze, useContext as mt, memo as at, Component as pt } from "react";
6
- import { SearchField as vt, Button as be, FilterPanelBase as xe, ToggleSwitch as oe, Checkbox as tt, Slider as it, InputField as Y, Select as xt, RadioButton as bt } from "@indxsearch/systm";
7
- var Be = { exports: {} }, Pe = {};
5
+ import re, { createContext as pt, useRef as me, useState as X, useEffect as ie, useCallback as K, useMemo as Be, useContext as vt, memo as it, Component as xt } from "react";
6
+ import { SearchField as bt, Button as ye, FilterPanelBase as Se, ToggleSwitch as le, Checkbox as rt, Slider as lt, InputField as ee, Select as St, RadioButton as yt } from "@indxsearch/systm";
7
+ var qe = { exports: {} }, Pe = {};
8
8
  /**
9
9
  * @license React
10
10
  * react-jsx-runtime.production.js
@@ -14,27 +14,27 @@ var Be = { exports: {} }, Pe = {};
14
14
  * This source code is licensed under the MIT license found in the
15
15
  * LICENSE file in the root directory of this source tree.
16
16
  */
17
- var rt;
18
- function St() {
19
- if (rt) return Pe;
20
- rt = 1;
17
+ var nt;
18
+ function jt() {
19
+ if (nt) return Pe;
20
+ nt = 1;
21
21
  var r = Symbol.for("react.transitional.element"), o = Symbol.for("react.fragment");
22
- function u(i, c, m) {
23
- var F = null;
24
- if (m !== void 0 && (F = "" + m), c.key !== void 0 && (F = "" + c.key), "key" in c) {
25
- m = {};
26
- for (var p in c)
27
- p !== "key" && (m[p] = c[p]);
28
- } else m = c;
29
- return c = m.ref, {
22
+ function d(s, u, v) {
23
+ var S = null;
24
+ if (v !== void 0 && (S = "" + v), u.key !== void 0 && (S = "" + u.key), "key" in u) {
25
+ v = {};
26
+ for (var f in u)
27
+ f !== "key" && (v[f] = u[f]);
28
+ } else v = u;
29
+ return u = v.ref, {
30
30
  $$typeof: r,
31
- type: i,
32
- key: F,
33
- ref: c !== void 0 ? c : null,
34
- props: m
31
+ type: s,
32
+ key: S,
33
+ ref: u !== void 0 ? u : null,
34
+ props: v
35
35
  };
36
36
  }
37
- return Pe.Fragment = o, Pe.jsx = u, Pe.jsxs = u, Pe;
37
+ return Pe.Fragment = o, Pe.jsx = d, Pe.jsxs = d, Pe;
38
38
  }
39
39
  var He = {};
40
40
  /**
@@ -47,43 +47,43 @@ var He = {};
47
47
  * LICENSE file in the root directory of this source tree.
48
48
  */
49
49
  var st;
50
- function yt() {
50
+ function Ct() {
51
51
  return st || (st = 1, process.env.NODE_ENV !== "production" && (function() {
52
52
  function r(e) {
53
53
  if (e == null) return null;
54
54
  if (typeof e == "function")
55
- return e.$$typeof === de ? null : e.displayName || e.name || null;
55
+ return e.$$typeof === Z ? null : e.displayName || e.name || null;
56
56
  if (typeof e == "string") return e;
57
57
  switch (e) {
58
- case x:
58
+ case p:
59
59
  return "Fragment";
60
- case f:
60
+ case g:
61
61
  return "Profiler";
62
- case V:
62
+ case T:
63
63
  return "StrictMode";
64
- case D:
64
+ case j:
65
65
  return "Suspense";
66
- case g:
66
+ case m:
67
67
  return "SuspenseList";
68
- case U:
68
+ case G:
69
69
  return "Activity";
70
70
  }
71
71
  if (typeof e == "object")
72
72
  switch (typeof e.tag == "number" && console.error(
73
73
  "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
74
74
  ), e.$$typeof) {
75
- case W:
75
+ case q:
76
76
  return "Portal";
77
- case w:
77
+ case c:
78
78
  return e.displayName || "Context";
79
- case s:
79
+ case x:
80
80
  return (e._context.displayName || "Context") + ".Consumer";
81
- case M:
81
+ case y:
82
82
  var a = e.render;
83
83
  return e = e.displayName, e || (e = a.displayName || a.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
84
- case L:
84
+ case D:
85
85
  return a = e.displayName || null, a !== null ? a : r(e.type) || "Memo";
86
- case ae:
86
+ case U:
87
87
  a = e._payload, e = e._init;
88
88
  try {
89
89
  return r(e(a));
@@ -95,7 +95,7 @@ function yt() {
95
95
  function o(e) {
96
96
  return "" + e;
97
97
  }
98
- function u(e) {
98
+ function d(e) {
99
99
  try {
100
100
  o(e);
101
101
  var a = !1;
@@ -104,17 +104,17 @@ function yt() {
104
104
  }
105
105
  if (a) {
106
106
  a = console;
107
- var v = a.error, k = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
108
- return v.call(
107
+ var b = a.error, F = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
108
+ return b.call(
109
109
  a,
110
110
  "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
111
- k
111
+ F
112
112
  ), o(e);
113
113
  }
114
114
  }
115
- function i(e) {
116
- if (e === x) return "<>";
117
- if (typeof e == "object" && e !== null && e.$$typeof === ae)
115
+ function s(e) {
116
+ if (e === p) return "<>";
117
+ if (typeof e == "object" && e !== null && e.$$typeof === U)
118
118
  return "<...>";
119
119
  try {
120
120
  var a = r(e);
@@ -123,47 +123,47 @@ function yt() {
123
123
  return "<...>";
124
124
  }
125
125
  }
126
- function c() {
127
- var e = T.A;
126
+ function u() {
127
+ var e = O.A;
128
128
  return e === null ? null : e.getOwner();
129
129
  }
130
- function m() {
130
+ function v() {
131
131
  return Error("react-stack-top-frame");
132
132
  }
133
- function F(e) {
134
- if (me.call(e, "key")) {
133
+ function S(e) {
134
+ if (pe.call(e, "key")) {
135
135
  var a = Object.getOwnPropertyDescriptor(e, "key").get;
136
136
  if (a && a.isReactWarning) return !1;
137
137
  }
138
138
  return e.key !== void 0;
139
139
  }
140
- function p(e, a) {
141
- function v() {
142
- z || (z = !0, console.error(
140
+ function f(e, a) {
141
+ function b() {
142
+ B || (B = !0, console.error(
143
143
  "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
144
144
  a
145
145
  ));
146
146
  }
147
- v.isReactWarning = !0, Object.defineProperty(e, "key", {
148
- get: v,
147
+ b.isReactWarning = !0, Object.defineProperty(e, "key", {
148
+ get: b,
149
149
  configurable: !0
150
150
  });
151
151
  }
152
152
  function n() {
153
153
  var e = r(this.type);
154
- return pe[e] || (pe[e] = !0, console.error(
154
+ return ve[e] || (ve[e] = !0, console.error(
155
155
  "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
156
156
  )), e = this.props.ref, e !== void 0 ? e : null;
157
157
  }
158
- function j(e, a, v, k, ie, ve) {
159
- var N = v.ref;
158
+ function w(e, a, b, F, ce, xe) {
159
+ var A = b.ref;
160
160
  return e = {
161
- $$typeof: Z,
161
+ $$typeof: ne,
162
162
  type: e,
163
163
  key: a,
164
- props: v,
165
- _owner: k
166
- }, (N !== void 0 ? N : null) !== null ? Object.defineProperty(e, "ref", {
164
+ props: b,
165
+ _owner: F
166
+ }, (A !== void 0 ? A : null) !== null ? Object.defineProperty(e, "ref", {
167
167
  enumerable: !1,
168
168
  get: n
169
169
  }) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
@@ -180,149 +180,149 @@ function yt() {
180
180
  configurable: !1,
181
181
  enumerable: !1,
182
182
  writable: !0,
183
- value: ie
183
+ value: ce
184
184
  }), Object.defineProperty(e, "_debugTask", {
185
185
  configurable: !1,
186
186
  enumerable: !1,
187
187
  writable: !0,
188
- value: ve
188
+ value: xe
189
189
  }), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
190
190
  }
191
- function I(e, a, v, k, ie, ve) {
192
- var N = a.children;
193
- if (N !== void 0)
194
- if (k)
195
- if (A(N)) {
196
- for (k = 0; k < N.length; k++)
197
- R(N[k]);
198
- Object.freeze && Object.freeze(N);
191
+ function V(e, a, b, F, ce, xe) {
192
+ var A = a.children;
193
+ if (A !== void 0)
194
+ if (F)
195
+ if (P(A)) {
196
+ for (F = 0; F < A.length; F++)
197
+ M(A[F]);
198
+ Object.freeze && Object.freeze(A);
199
199
  } else
200
200
  console.error(
201
201
  "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
202
202
  );
203
- else R(N);
204
- if (me.call(a, "key")) {
205
- N = r(e);
206
- var re = Object.keys(a).filter(function(Ne) {
203
+ else M(A);
204
+ if (pe.call(a, "key")) {
205
+ A = r(e);
206
+ var se = Object.keys(a).filter(function(Ne) {
207
207
  return Ne !== "key";
208
208
  });
209
- k = 0 < re.length ? "{key: someKey, " + re.join(": ..., ") + ": ...}" : "{key: someKey}", C[N + k] || (re = 0 < re.length ? "{" + re.join(": ..., ") + ": ...}" : "{}", console.error(
209
+ F = 0 < se.length ? "{key: someKey, " + se.join(": ..., ") + ": ...}" : "{key: someKey}", E[A + F] || (se = 0 < se.length ? "{" + se.join(": ..., ") + ": ...}" : "{}", console.error(
210
210
  `A props object containing a "key" prop is being spread into JSX:
211
211
  let props = %s;
212
212
  <%s {...props} />
213
213
  React keys must be passed directly to JSX without using spread:
214
214
  let props = %s;
215
215
  <%s key={someKey} {...props} />`,
216
- k,
217
- N,
218
- re,
219
- N
220
- ), C[N + k] = !0);
216
+ F,
217
+ A,
218
+ se,
219
+ A
220
+ ), E[A + F] = !0);
221
221
  }
222
- if (N = null, v !== void 0 && (u(v), N = "" + v), F(a) && (u(a.key), N = "" + a.key), "key" in a) {
223
- v = {};
224
- for (var Se in a)
225
- Se !== "key" && (v[Se] = a[Se]);
226
- } else v = a;
227
- return N && p(
228
- v,
222
+ if (A = null, b !== void 0 && (d(b), A = "" + b), S(a) && (d(a.key), A = "" + a.key), "key" in a) {
223
+ b = {};
224
+ for (var be in a)
225
+ be !== "key" && (b[be] = a[be]);
226
+ } else b = a;
227
+ return A && f(
228
+ b,
229
229
  typeof e == "function" ? e.displayName || e.name || "Unknown" : e
230
- ), j(
230
+ ), w(
231
231
  e,
232
- N,
233
- v,
234
- c(),
235
- ie,
236
- ve
232
+ A,
233
+ b,
234
+ u(),
235
+ ce,
236
+ xe
237
237
  );
238
238
  }
239
- function R(e) {
240
- B(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === ae && (e._payload.status === "fulfilled" ? B(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
239
+ function M(e) {
240
+ L(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === U && (e._payload.status === "fulfilled" ? L(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
241
241
  }
242
- function B(e) {
243
- return typeof e == "object" && e !== null && e.$$typeof === Z;
242
+ function L(e) {
243
+ return typeof e == "object" && e !== null && e.$$typeof === ne;
244
244
  }
245
- var b = te, Z = Symbol.for("react.transitional.element"), W = Symbol.for("react.portal"), x = Symbol.for("react.fragment"), V = Symbol.for("react.strict_mode"), f = Symbol.for("react.profiler"), s = Symbol.for("react.consumer"), w = Symbol.for("react.context"), M = Symbol.for("react.forward_ref"), D = Symbol.for("react.suspense"), g = Symbol.for("react.suspense_list"), L = Symbol.for("react.memo"), ae = Symbol.for("react.lazy"), U = Symbol.for("react.activity"), de = Symbol.for("react.client.reference"), T = b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, me = Object.prototype.hasOwnProperty, A = Array.isArray, S = console.createTask ? console.createTask : function() {
245
+ var k = re, ne = Symbol.for("react.transitional.element"), q = Symbol.for("react.portal"), p = Symbol.for("react.fragment"), T = Symbol.for("react.strict_mode"), g = Symbol.for("react.profiler"), x = Symbol.for("react.consumer"), c = Symbol.for("react.context"), y = Symbol.for("react.forward_ref"), j = Symbol.for("react.suspense"), m = Symbol.for("react.suspense_list"), D = Symbol.for("react.memo"), U = Symbol.for("react.lazy"), G = Symbol.for("react.activity"), Z = Symbol.for("react.client.reference"), O = k.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, pe = Object.prototype.hasOwnProperty, P = Array.isArray, R = console.createTask ? console.createTask : function() {
246
246
  return null;
247
247
  };
248
- b = {
248
+ k = {
249
249
  react_stack_bottom_frame: function(e) {
250
250
  return e();
251
251
  }
252
252
  };
253
- var z, pe = {}, he = b.react_stack_bottom_frame.bind(
254
- b,
255
- m
256
- )(), h = S(i(m)), C = {};
257
- He.Fragment = x, He.jsx = function(e, a, v) {
258
- var k = 1e4 > T.recentlyCreatedOwnerStacks++;
259
- return I(
253
+ var B, ve = {}, he = k.react_stack_bottom_frame.bind(
254
+ k,
255
+ v
256
+ )(), h = R(s(v)), E = {};
257
+ He.Fragment = p, He.jsx = function(e, a, b) {
258
+ var F = 1e4 > O.recentlyCreatedOwnerStacks++;
259
+ return V(
260
260
  e,
261
261
  a,
262
- v,
262
+ b,
263
263
  !1,
264
- k ? Error("react-stack-top-frame") : he,
265
- k ? S(i(e)) : h
264
+ F ? Error("react-stack-top-frame") : he,
265
+ F ? R(s(e)) : h
266
266
  );
267
- }, He.jsxs = function(e, a, v) {
268
- var k = 1e4 > T.recentlyCreatedOwnerStacks++;
269
- return I(
267
+ }, He.jsxs = function(e, a, b) {
268
+ var F = 1e4 > O.recentlyCreatedOwnerStacks++;
269
+ return V(
270
270
  e,
271
271
  a,
272
- v,
272
+ b,
273
273
  !0,
274
- k ? Error("react-stack-top-frame") : he,
275
- k ? S(i(e)) : h
274
+ F ? Error("react-stack-top-frame") : he,
275
+ F ? R(s(e)) : h
276
276
  );
277
277
  };
278
278
  })()), He;
279
279
  }
280
- var nt;
281
- function jt() {
282
- return nt || (nt = 1, process.env.NODE_ENV === "production" ? Be.exports = St() : Be.exports = yt()), Be.exports;
280
+ var ot;
281
+ function wt() {
282
+ return ot || (ot = 1, process.env.NODE_ENV === "production" ? qe.exports = jt() : qe.exports = Ct()), qe.exports;
283
283
  }
284
- var t = jt();
285
- const lt = gt(void 0);
286
- function Ct(r, o) {
287
- let u;
288
- const i = (...c) => {
289
- clearTimeout(u), u = setTimeout(() => r(...c), o);
284
+ var t = wt();
285
+ const ct = pt(void 0);
286
+ function kt(r, o) {
287
+ let d;
288
+ const s = (...u) => {
289
+ clearTimeout(d), d = setTimeout(() => r(...u), o);
290
290
  };
291
- return i.cancel = () => clearTimeout(u), i;
291
+ return s.cancel = () => clearTimeout(d), s;
292
292
  }
293
- const Xt = ({
293
+ const Qt = ({
294
294
  children: r,
295
295
  email: o,
296
- password: u,
297
- url: i,
298
- dataset: c,
299
- allowEmptySearch: m = !1,
300
- maxResults: F = 10,
301
- facetDebounceDelayMillis: p = 500,
296
+ password: d,
297
+ url: s,
298
+ dataset: u,
299
+ allowEmptySearch: v = !1,
300
+ maxResults: S = 10,
301
+ facetDebounceDelayMillis: f = 500,
302
302
  // debounce faceted searches only
303
303
  enableFacets: n = !0,
304
- coverageDepth: j = 500,
305
- removeDuplicates: I = !0,
306
- enableCoverage: R = !0,
307
- initialCoverageSetup: B = {},
308
- enableDebugLogs: b = !1,
309
- preAuthenticatedToken: Z
304
+ coverageDepth: w = 500,
305
+ removeDuplicates: V = !0,
306
+ enableCoverage: M = !0,
307
+ initialCoverageSetup: L = {},
308
+ enableDebugLogs: k = !1,
309
+ preAuthenticatedToken: ne
310
310
  }) => {
311
- const W = Fe(0), x = Fe(void 0), V = Fe(!1), f = Fe(!1), [s, w] = G({
311
+ const q = me(0), p = me(void 0), T = me(!1), g = me(!1), x = me(!1), [c, y] = X({
312
312
  query: "",
313
313
  results: null,
314
314
  isLoading: !1,
315
- resultsSuppressed: !m,
315
+ resultsSuppressed: !v,
316
316
  // Show placeholder if empty search not allowed
317
- facetDebounceDelayMillis: p,
317
+ facetDebounceDelayMillis: f,
318
318
  filters: {},
319
319
  rangeFilters: {},
320
320
  facetStats: {},
321
321
  searchSettings: {
322
- maxNumberOfRecordsToReturn: F,
323
- coverageDepth: j,
324
- enableCoverage: R,
325
- removeDuplicates: I,
322
+ maxNumberOfRecordsToReturn: S,
323
+ coverageDepth: w,
324
+ enableCoverage: M,
325
+ removeDuplicates: V,
326
326
  minimumScore: 0,
327
327
  showScore: !0,
328
328
  placeholderText: "Type to search",
@@ -340,337 +340,352 @@ const Xt = ({
340
340
  coverJoinedWords: !0,
341
341
  coverPrefixSuffix: !0,
342
342
  truncate: !0,
343
- ...B
343
+ ...L
344
344
  // Allow prop-based override
345
345
  }
346
346
  }
347
347
  });
348
- ue(() => {
349
- b && console.log("SearchContext mounted on client");
350
- }, [b]), ue(() => {
351
- w((l) => ({
352
- ...l,
353
- facetDebounceDelayMillis: p
348
+ ie(() => {
349
+ k && console.log("SearchContext mounted on client");
350
+ }, [k]), ie(() => {
351
+ y((i) => ({
352
+ ...i,
353
+ facetDebounceDelayMillis: f
354
354
  }));
355
- }, [p]);
356
- const [M, D] = G(null), [g] = G(n), L = ee((l, d = {}) => {
357
- if (!M)
355
+ }, [f]);
356
+ const [j, m] = X(null), [D] = X(n), U = K((i, l = {}) => {
357
+ if (!j)
358
358
  throw new Error("No authentication token available");
359
- return fetch(l, {
360
- ...d,
359
+ return fetch(i, {
360
+ ...l,
361
361
  headers: {
362
- ...d.headers,
363
- Authorization: `Bearer ${M}`
362
+ ...l.headers,
363
+ Authorization: `Bearer ${j}`
364
364
  },
365
365
  credentials: "include"
366
366
  });
367
- }, [M]), [ae, U] = G([]), [de, T] = G([]), [me, A] = G([]), [S, z] = G(!0), [pe, he] = G({}), [h, C] = G({}), [e, a] = G({}), [v, k] = G(""), [ie, ve] = G(""), [N, re] = G({}), Se = Fe(null), Ne = ee((l) => {
368
- w((d) => ({
369
- ...d,
370
- query: l,
367
+ }, [j]), [G, Z] = X([]), [O, pe] = X([]), [P, R] = X([]), [B, ve] = X(!0), [he, h] = X({}), [E, e] = X({}), [a, b] = X({}), [F, ce] = X(""), [xe, A] = X(""), [se, be] = X({}), Ne = me(null), H = K((i) => {
368
+ y((l) => ({
369
+ ...l,
370
+ query: i,
371
371
  filters: {},
372
- rangeFilters: {}
372
+ rangeFilters: {},
373
+ searchSettings: {
374
+ ...l.searchSettings,
375
+ maxNumberOfRecordsToReturn: S
376
+ }
373
377
  }));
374
- }, []), O = ee((l) => {
375
- w((d) => ({
376
- ...d,
377
- facetDebounceDelayMillis: l
378
+ }, [S]), $ = K((i) => {
379
+ y((l) => ({
380
+ ...l,
381
+ facetDebounceDelayMillis: i
378
382
  }));
379
- }, []), P = ee((l) => {
380
- w((d) => ({
381
- ...d,
383
+ }, []), J = K((i) => {
384
+ y((l) => ({
385
+ ...l,
382
386
  searchSettings: {
383
- ...d.searchSettings,
384
- ...l,
387
+ ...l.searchSettings,
388
+ ...i,
385
389
  coverageSetup: {
386
- ...d.searchSettings.coverageSetup,
387
- ...l.coverageSetup || {}
390
+ ...l.searchSettings.coverageSetup,
391
+ ...i.coverageSetup || {}
388
392
  }
389
393
  }
390
394
  }));
391
- }, []), X = ee((l, d) => {
392
- w((y) => {
393
- const _ = { ...y.filters }, H = _[l] || [], q = H.includes(d) ? H.filter((Q) => Q !== d) : [...H, d];
394
- return q.length ? _[l] = q : delete _[l], {
395
- ...y,
395
+ }, []), Te = K((i) => {
396
+ x.current = !0, y((l) => ({
397
+ ...l,
398
+ searchSettings: {
399
+ ...l.searchSettings,
400
+ maxNumberOfRecordsToReturn: i
401
+ }
402
+ }));
403
+ }, []), _e = K((i, l) => {
404
+ y((C) => {
405
+ const _ = { ...C.filters }, I = _[i] || [], z = I.includes(l) ? I.filter((Q) => Q !== l) : [...I, l];
406
+ return z.length ? _[i] = z : delete _[i], {
407
+ ...C,
396
408
  filters: _
397
409
  };
398
410
  });
399
- }, []), _e = ee((l, d, y) => {
400
- w((_) => ({
411
+ }, []), Ae = K((i, l, C) => {
412
+ y((_) => ({
401
413
  ..._,
402
414
  rangeFilters: {
403
415
  ..._.rangeFilters,
404
- [l]: { min: d, max: y }
416
+ [i]: { min: l, max: C }
405
417
  }
406
418
  }));
407
- }, []), Te = ee(() => {
408
- w((l) => ({
409
- ...l,
419
+ }, []), ze = K(() => {
420
+ y((i) => ({
421
+ ...i,
410
422
  filters: {},
411
423
  rangeFilters: {}
412
424
  }));
413
- }, []), Ae = ee((l, d) => {
414
- w((y) => {
415
- const _ = { ...y.filters }, H = { ...y.rangeFilters };
416
- if (d !== void 0) {
417
- const Q = (_[l] || []).filter((ce) => ce !== d);
418
- Q.length > 0 ? _[l] = Q : delete _[l];
425
+ }, []), Le = K((i, l) => {
426
+ y((C) => {
427
+ const _ = { ...C.filters }, I = { ...C.rangeFilters };
428
+ if (l !== void 0) {
429
+ const Q = (_[i] || []).filter((de) => de !== l);
430
+ Q.length > 0 ? _[i] = Q : delete _[i];
419
431
  } else
420
- delete H[l];
432
+ delete I[i];
421
433
  return {
422
- ...y,
434
+ ...C,
423
435
  filters: _,
424
- rangeFilters: H
436
+ rangeFilters: I
425
437
  };
426
438
  });
427
- }, []), Le = ee((l, d) => {
428
- w((y) => ({
429
- ...y,
430
- sortBy: l || void 0,
431
- sortAscending: l ? d : void 0
439
+ }, []), dt = K((i, l) => {
440
+ y((C) => ({
441
+ ...C,
442
+ sortBy: i || void 0,
443
+ sortAscending: i ? l : void 0
432
444
  }));
433
- }, []), $e = ee(async (l, d, y) => {
434
- if (l.length === 0) return null;
435
- if (l.length === 1) return l[0];
436
- let _ = l[0];
437
- for (let H = 1; H < l.length; H++) {
438
- const q = await L(`${d}/api/CombineFilters/${y}`, {
445
+ }, []), Ge = K(async (i, l, C) => {
446
+ if (i.length === 0) return null;
447
+ if (i.length === 1) return i[0];
448
+ let _ = i[0];
449
+ for (let I = 1; I < i.length; I++) {
450
+ const z = await U(`${l}/api/CombineFilters/${C}`, {
439
451
  // Combine the current filter with the next filter
440
452
  method: "PUT",
441
453
  headers: {
442
454
  "Content-Type": "application/json"
443
455
  },
444
- body: JSON.stringify({ A: _, B: l[H], useAndOperation: !0 })
456
+ body: JSON.stringify({ A: _, B: i[I], useAndOperation: !0 })
445
457
  });
446
- if (!q.ok) {
447
- const Q = await q.json();
458
+ if (!z.ok) {
459
+ const Q = await z.json();
448
460
  throw console.error("CombineFilters failed:", Q), new Error("CombineFilters failed");
449
461
  }
450
- _ = await q.json();
462
+ _ = await z.json();
451
463
  }
452
464
  return _;
453
- }, [L]), Ue = s.searchSettings.maxNumberOfRecordsToReturn, Ge = s.searchSettings.enableCoverage, Xe = s.searchSettings.removeDuplicates, Je = s.searchSettings.coverageDepth, Qe = s.searchSettings.minimumScore, Ie = s.sortBy, We = s.sortAscending, Ye = ze(() => s.searchSettings.coverageSetup, [
454
- s.searchSettings.coverageSetup.levenshteinMaxWordSize,
455
- s.searchSettings.coverageSetup.minWordSize,
456
- s.searchSettings.coverageSetup.coverageMinWordHitsAbs,
457
- s.searchSettings.coverageSetup.coverageMinWordHitsRelative,
458
- s.searchSettings.coverageSetup.coverageQLimitForErrorTolerance,
459
- s.searchSettings.coverageSetup.coverageLcsErrorToleranceRelativeq,
460
- s.searchSettings.coverageSetup.coverWholeQuery,
461
- s.searchSettings.coverageSetup.coverWholeWords,
462
- s.searchSettings.coverageSetup.coverFuzzyWords,
463
- s.searchSettings.coverageSetup.coverJoinedWords,
464
- s.searchSettings.coverageSetup.coverPrefixSuffix,
465
- s.searchSettings.coverageSetup.truncate
466
- ]), Ze = ee(
467
- async ({ enableFacets: l }) => {
468
- if (!M) return;
469
- const d = ++W.current;
470
- w((y) => ({ ...y, isLoading: !0 }));
465
+ }, [U]), Ue = c.searchSettings.maxNumberOfRecordsToReturn, Xe = c.searchSettings.enableCoverage, Je = c.searchSettings.removeDuplicates, Qe = c.searchSettings.coverageDepth, Ye = c.searchSettings.minimumScore, $e = c.sortBy, Ie = c.sortAscending, Ze = Be(() => c.searchSettings.coverageSetup, [
466
+ c.searchSettings.coverageSetup.levenshteinMaxWordSize,
467
+ c.searchSettings.coverageSetup.minWordSize,
468
+ c.searchSettings.coverageSetup.coverageMinWordHitsAbs,
469
+ c.searchSettings.coverageSetup.coverageMinWordHitsRelative,
470
+ c.searchSettings.coverageSetup.coverageQLimitForErrorTolerance,
471
+ c.searchSettings.coverageSetup.coverageLcsErrorToleranceRelativeq,
472
+ c.searchSettings.coverageSetup.coverWholeQuery,
473
+ c.searchSettings.coverageSetup.coverWholeWords,
474
+ c.searchSettings.coverageSetup.coverFuzzyWords,
475
+ c.searchSettings.coverageSetup.coverJoinedWords,
476
+ c.searchSettings.coverageSetup.coverPrefixSuffix,
477
+ c.searchSettings.coverageSetup.truncate
478
+ ]), Ke = K(
479
+ async ({ enableFacets: i }) => {
480
+ if (!j) return;
481
+ const l = ++q.current;
482
+ y((C) => ({ ...C, isLoading: !0 }));
471
483
  try {
472
- const y = Object.entries(s.filters ?? {}), H = (await Promise.all(
473
- y.map(
474
- async ([$, J]) => Promise.all(
475
- J.map(
476
- (K) => L(`${i}/api/CreateValueFilter/${c}`, {
484
+ const C = Object.entries(c.filters ?? {}), I = (await Promise.all(
485
+ C.map(
486
+ async ([W, Y]) => Promise.all(
487
+ Y.map(
488
+ (te) => U(`${s}/api/CreateValueFilter/${u}`, {
477
489
  method: "PUT",
478
490
  headers: {
479
491
  "Content-Type": "application/json"
480
492
  },
481
- body: JSON.stringify({ FieldName: $, Value: K })
493
+ body: JSON.stringify({ FieldName: W, Value: te })
482
494
  }).then((ge) => ge.json())
483
495
  )
484
496
  )
485
497
  )
486
- )).flat(), q = Object.entries(s.rangeFilters ?? {}), Q = await Promise.all(
487
- q.map(
488
- ([$, { min: J, max: K }]) => L(`${i}/api/CreateRangeFilter/${c}`, {
498
+ )).flat(), z = Object.entries(c.rangeFilters ?? {}), Q = await Promise.all(
499
+ z.map(
500
+ ([W, { min: Y, max: te }]) => U(`${s}/api/CreateRangeFilter/${u}`, {
489
501
  method: "PUT",
490
502
  headers: {
491
503
  "Content-Type": "application/json"
492
504
  },
493
- body: JSON.stringify({ FieldName: $, LowerLimit: J, UpperLimit: K })
505
+ body: JSON.stringify({ FieldName: W, LowerLimit: Y, UpperLimit: te })
494
506
  }).then((ge) => ge.json())
495
507
  )
496
- ), ce = [...H, ...Q].filter(
497
- ($) => $ && typeof $.hashString == "string"
498
- ), se = await $e(ce, i, c), ye = m || s.query.trim() !== "", De = {
499
- text: s.query,
500
- maxNumberOfRecordsToReturn: ye ? Ue : 0,
501
- enableFacets: l,
502
- ...se ? { filter: se } : {},
503
- ...Ie ? { sortBy: Ie } : {},
504
- ...We !== void 0 ? { sortAscending: We } : {},
505
- enableCoverage: Ge,
506
- removeDuplicates: Xe,
507
- coverageDepth: Je,
508
- coverageSetup: Ye
508
+ ), de = [...I, ...Q].filter(
509
+ (W) => W && typeof W.hashString == "string"
510
+ ), oe = await Ge(de, s, u), je = v || c.query.trim() !== "", We = {
511
+ text: c.query,
512
+ maxNumberOfRecordsToReturn: je ? Ue : 0,
513
+ enableFacets: i,
514
+ ...oe ? { filter: oe } : {},
515
+ ...$e ? { sortBy: $e } : {},
516
+ ...Ie !== void 0 ? { sortAscending: Ie } : {},
517
+ enableCoverage: Xe,
518
+ removeDuplicates: Je,
519
+ coverageDepth: Qe,
520
+ coverageSetup: Ze
509
521
  };
510
- b && console.log("[performSearch] request body:", JSON.stringify(De, null, 2));
511
- const we = await (await L(`${i}/api/Search/${c}`, {
522
+ k && console.log("[performSearch] request body:", JSON.stringify(We, null, 2));
523
+ const ke = await (await U(`${s}/api/Search/${u}`, {
512
524
  method: "POST",
513
525
  headers: {
514
526
  "Content-Type": "application/json"
515
527
  },
516
- body: JSON.stringify(De)
517
- })).json(), je = we.truncationIndex ?? -1, Ce = we.records || [], ke = Ce.map(($) => $.documentKey), E = Ce.map(($) => $.score);
518
- let ne = [];
519
- ye && ke.length > 0 && (ne = (await (await L(`${i}/api/GetJson/${c}`, {
528
+ body: JSON.stringify(We)
529
+ })).json(), Ce = ke.truncationIndex ?? -1, we = ke.records || [], Re = we.map((W) => W.documentKey), N = we.map((W) => W.score);
530
+ let ae = [];
531
+ je && Re.length > 0 && (ae = (await (await U(`${s}/api/GetJson/${u}`, {
520
532
  method: "POST",
521
533
  headers: {
522
534
  "Content-Type": "application/json"
523
535
  },
524
- body: JSON.stringify(ke)
525
- })).json()).map((K, ge) => ({
526
- document: K,
527
- documentKey: ke[ge],
528
- score: E[ge]
536
+ body: JSON.stringify(Re)
537
+ })).json()).map((te, ge) => ({
538
+ document: te,
539
+ documentKey: Re[ge],
540
+ score: N[ge]
529
541
  })));
530
542
  let fe = {};
531
- if (l && we.facets) {
532
- for (const [$, J] of Object.entries(we.facets))
533
- if (Array.isArray(J) && J.length > 0) {
534
- const K = J.map((ge) => Number(ge.key)).filter((ge) => !isNaN(ge));
535
- K.length > 0 && (fe[$] = {
536
- min: Math.min(...K),
537
- max: Math.max(...K)
543
+ if (i && ke.facets) {
544
+ for (const [W, Y] of Object.entries(ke.facets))
545
+ if (Array.isArray(Y) && Y.length > 0) {
546
+ const te = Y.map((ge) => Number(ge.key)).filter((ge) => !isNaN(ge));
547
+ te.length > 0 && (fe[W] = {
548
+ min: Math.min(...te),
549
+ max: Math.max(...te)
538
550
  });
539
551
  }
540
552
  }
541
- const Ve = s.query !== v, ut = s.query !== ie;
542
- let qe = s.facetStats ?? {};
543
- if (Ve ? (qe = { ...pe, ...fe }, a(qe), k(s.query)) : qe = { ...e, ...fe }, ut && l) {
544
- const $ = { ...N };
545
- for (const [J, K] of Object.entries(fe))
546
- $[J] = K;
547
- re($), ve(s.query);
553
+ const Ve = c.query !== F, ht = c.query !== xe;
554
+ let De = c.facetStats ?? {};
555
+ if (Ve ? (De = { ...he, ...fe }, b(De), ce(c.query)) : De = { ...a, ...fe }, ht && i) {
556
+ const W = { ...se };
557
+ for (const [Y, te] of Object.entries(fe))
558
+ W[Y] = te;
559
+ be(W), A(c.query);
548
560
  }
549
- let Oe = we.facets;
550
- if (l && (!Oe || Object.keys(Oe).length === 0)) {
561
+ let Oe = ke.facets;
562
+ if (i && (!Oe || Object.keys(Oe).length === 0)) {
551
563
  Oe = {};
552
- for (const [$, J] of Object.entries(h))
553
- Oe[$] = J.map((K) => ({ key: K, value: null }));
564
+ for (const [W, Y] of Object.entries(E))
565
+ Oe[W] = Y.map((te) => ({ key: te, value: null }));
554
566
  }
555
- if (d !== W.current)
567
+ if (l !== q.current)
556
568
  return;
557
- const dt = ne.filter(($) => {
558
- const J = s.query.trim();
559
- return J === "" || J.length === 1 ? !0 : $.score >= Qe;
569
+ const ft = ae.filter((W) => {
570
+ const Y = c.query.trim();
571
+ return Y === "" || Y.length === 1 ? !0 : W.score >= Ye;
560
572
  });
561
- w(($) => ({
562
- ...$,
563
- results: dt,
564
- resultsSuppressed: !ye,
565
- ...l ? {
573
+ y((W) => ({
574
+ ...W,
575
+ results: ft,
576
+ resultsSuppressed: !je,
577
+ ...i ? {
566
578
  facets: Oe,
567
- facetStats: qe
579
+ facetStats: De
568
580
  } : {},
569
581
  isLoading: !1,
570
- truncationIndex: je
582
+ truncationIndex: Ce
571
583
  }));
572
- } catch (y) {
573
- if (console.error("[Search] ❌ Search failed:", y), y instanceof TypeError && y.message.includes("fetch") ? (console.error("[Search] ❌ Network error - cannot reach INDX server"), console.error("[Search] 💡 Check if server is running at:", i)) : y instanceof Error && (y.message.includes("401") ? (console.error("[Search] ❌ Authentication failed"), console.error("[Search] 💡 Your token may have expired. Get a fresh token with:"), console.error('[Search] 💡 curl -X POST "' + i + `/api/Login" -H "Content-Type: application/json" -d '{"userEmail":"your@email.com","userPassWord":"yourpassword"}'`)) : y.message.includes("404") ? (console.error("[Search] ❌ Dataset not found"), console.error('[Search] 💡 Check that dataset "' + c + '" exists')) : console.error("[Search] 💡 Error:", y.message)), d !== W.current)
584
+ } catch (C) {
585
+ if (console.error("[Search] ❌ Search failed:", C), C instanceof TypeError && C.message.includes("fetch") ? (console.error("[Search] ❌ Network error - cannot reach INDX server"), console.error("[Search] 💡 Check if server is running at:", s)) : C instanceof Error && (C.message.includes("401") ? (console.error("[Search] ❌ Authentication failed"), console.error("[Search] 💡 Your token may have expired. Get a fresh token with:"), console.error('[Search] 💡 curl -X POST "' + s + `/api/Login" -H "Content-Type: application/json" -d '{"userEmail":"your@email.com","userPassWord":"yourpassword"}'`)) : C.message.includes("404") ? (console.error("[Search] ❌ Dataset not found"), console.error('[Search] 💡 Check that dataset "' + u + '" exists')) : console.error("[Search] 💡 Error:", C.message)), l !== q.current)
574
586
  return;
575
- w((_) => ({
587
+ y((_) => ({
576
588
  ..._,
577
589
  results: null,
578
590
  isLoading: !1,
579
591
  resultsSuppressed: !1,
580
- error: y instanceof Error ? y.message : "Search failed"
592
+ error: C instanceof Error ? C.message : "Search failed"
581
593
  }));
582
594
  }
583
595
  },
584
596
  [
585
- s.query,
586
- s.filters,
587
- s.rangeFilters,
597
+ c.query,
598
+ c.filters,
599
+ c.rangeFilters,
600
+ $e,
588
601
  Ie,
589
- We,
590
602
  Ue,
591
- Ge,
592
603
  Xe,
593
604
  Je,
594
- Ye,
595
605
  Qe,
596
- L,
597
- $e,
598
- i,
599
- c,
600
- m,
601
- M
606
+ Ze,
607
+ Ye,
608
+ U,
609
+ Ge,
610
+ s,
611
+ u,
612
+ v,
613
+ j
602
614
  ]
603
615
  );
604
- ue(() => {
605
- x.current = Ze;
606
- }, [Ze]), ee(() => {
607
- var l;
608
- b && console.log("Search fired"), (l = x.current) == null || l.call(x, { enableFacets: !1 });
616
+ ie(() => {
617
+ p.current = Ke;
618
+ }, [Ke]), K(() => {
619
+ var i;
620
+ k && console.log("Search fired"), (i = p.current) == null || i.call(p, { enableFacets: !1 });
609
621
  }, []);
610
- const le = Fe(null);
611
- return ue(() => {
612
- var l;
613
- return (l = le.current) == null || l.cancel(), le.current = Ct(() => {
614
- var d;
615
- b && console.log("Debounced searchWithFacets fired"), (d = x.current) == null || d.call(x, { enableFacets: !0 });
616
- }, s.facetDebounceDelayMillis ?? 500), () => {
617
- var d;
618
- (d = le.current) == null || d.cancel();
622
+ const ue = me(null);
623
+ return ie(() => {
624
+ var i;
625
+ return (i = ue.current) == null || i.cancel(), ue.current = kt(() => {
626
+ var l;
627
+ k && console.log("Debounced searchWithFacets fired"), (l = p.current) == null || l.call(p, { enableFacets: !0 });
628
+ }, c.facetDebounceDelayMillis ?? 500), () => {
629
+ var l;
630
+ (l = ue.current) == null || l.cancel();
619
631
  };
620
- }, [s.facetDebounceDelayMillis]), ee(() => {
621
- var l;
622
- (l = le.current) == null || l.call(le);
623
- }, []), ue(() => {
624
- var l;
625
- !S && M && !V.current && (m && ((l = x.current) == null || l.call(x, { enableFacets: g })), V.current = !0);
626
- }, [S, M, m, g]), ue(() => {
627
- var _, H, q, Q, ce;
628
- if (!M || !V.current) return;
629
- const l = s.query.trim(), d = l === "" && m;
630
- if (l === "" && !m) {
631
- s.resultsSuppressed || w((se) => ({
632
- ...se,
632
+ }, [c.facetDebounceDelayMillis]), K(() => {
633
+ var i;
634
+ (i = ue.current) == null || i.call(ue);
635
+ }, []), ie(() => {
636
+ var i;
637
+ !B && j && !T.current && (v && ((i = p.current) == null || i.call(p, { enableFacets: D })), T.current = !0);
638
+ }, [B, j, v, D]), ie(() => {
639
+ var _, I, z, Q, de;
640
+ if (!j || !T.current) return;
641
+ const i = c.query.trim(), l = i === "" && v;
642
+ if (i === "" && !v) {
643
+ c.resultsSuppressed || y((oe) => ({
644
+ ...oe,
633
645
  resultsSuppressed: !0
634
646
  }));
635
647
  return;
636
648
  }
637
- return d ? ((_ = le.current) == null || _.cancel(), (H = x.current) == null || H.call(x, { enableFacets: g })) : g ? (b && console.log("Search fired"), (q = x.current) == null || q.call(x, { enableFacets: !1 }), (Q = le.current) == null || Q.call(le)) : (ce = x.current) == null || ce.call(x, { enableFacets: !1 }), () => {
638
- var se;
639
- (se = le.current) == null || se.cancel();
649
+ return l ? ((_ = ue.current) == null || _.cancel(), (I = p.current) == null || I.call(p, { enableFacets: D })) : D ? (k && console.log("Search fired"), (z = p.current) == null || z.call(p, { enableFacets: !1 }), (Q = ue.current) == null || Q.call(ue)) : (de = p.current) == null || de.call(p, { enableFacets: !1 }), () => {
650
+ var oe;
651
+ (oe = ue.current) == null || oe.cancel();
640
652
  };
641
- }, [s.query, m, g]), ue(() => {
642
- var y;
643
- if (!V.current || !M) return;
644
- if (!f.current) {
645
- f.current = !0, b && console.log("[Filter effect] First run, skipping");
653
+ }, [c.query, v, D]), ie(() => {
654
+ var C;
655
+ if (!T.current || !j) return;
656
+ if (!g.current) {
657
+ g.current = !0, k && console.log("[Filter effect] First run, skipping");
646
658
  return;
647
659
  }
648
- if (s.query !== v) {
649
- b && console.log("[Filter effect] Skipping because query changed");
660
+ if (c.query !== F) {
661
+ k && console.log("[Filter effect] Skipping because query changed");
650
662
  return;
651
663
  }
652
- const l = s.query.trim();
653
- g && !(!m && l === "") && (b && console.log("[Filter effect] Firing search"), (y = x.current) == null || y.call(x, { enableFacets: !0 }));
654
- }, [s.filters, s.rangeFilters]), ue(() => {
655
- var y;
656
- if (!V.current || !M) return;
657
- const l = s.query.trim();
658
- g && !(!m && l === "") && ((y = x.current) == null || y.call(x, { enableFacets: !0 }));
659
- }, [Ie, We]), ue(() => {
664
+ const i = c.query.trim();
665
+ D && !(!v && i === "") && (k && console.log("[Filter effect] Firing search"), (C = p.current) == null || C.call(p, { enableFacets: !0 }));
666
+ }, [c.filters, c.rangeFilters]), ie(() => {
667
+ var C;
668
+ if (!T.current || !j) return;
669
+ const i = c.query.trim();
670
+ D && !(!v && i === "") && ((C = p.current) == null || C.call(p, { enableFacets: !0 }));
671
+ }, [$e, Ie]), ie(() => {
672
+ var i;
673
+ !T.current || !j || x.current && (x.current = !1, (i = p.current) == null || i.call(p, { enableFacets: !1 }));
674
+ }, [Ue, j]), ie(() => {
660
675
  (async () => {
661
676
  try {
662
- let d;
663
- if (Z)
664
- b && console.log("[Auth] ✅ Using pre-authenticated token"), d = Z;
677
+ let l;
678
+ if (ne)
679
+ k && console.log("[Auth] ✅ Using pre-authenticated token"), l = ne;
665
680
  else {
666
- if (!o || !u)
667
- throw console.error("[Auth] ❌ Missing credentials"), o || (console.error("[Auth] ❌ Missing email"), console.error('[Auth] 💡 Pass email="your@email.com" to SearchProvider')), u || (console.error("[Auth] ❌ Missing password"), console.error('[Auth] 💡 Pass password="yourpassword" to SearchProvider')), new Error("Email and password are required. Check console for instructions.");
668
- if (!i)
681
+ if (!o || !d)
682
+ throw console.error("[Auth] ❌ Missing credentials"), o || (console.error("[Auth] ❌ Missing email"), console.error('[Auth] 💡 Pass email="your@email.com" to SearchProvider')), d || (console.error("[Auth] ❌ Missing password"), console.error('[Auth] 💡 Pass password="yourpassword" to SearchProvider')), new Error("Email and password are required. Check console for instructions.");
683
+ if (!s)
669
684
  throw console.error("[Auth] ❌ Missing INDX server URL"), console.error("[Auth] 💡 Add NEXT_PUBLIC_INDX_URL to your .env.local file"), new Error("INDX server URL is required. Check console for instructions.");
670
- if (!c)
685
+ if (!u)
671
686
  throw console.error("[Auth] ❌ Missing dataset name"), console.error('[Auth] 💡 Pass dataset="your-dataset-name" to SearchProvider'), new Error("Dataset name is required. Check console for instructions.");
672
- b && console.log("[Auth] 🔐 Logging in to get session token...");
673
- const E = await fetch(`${i}/api/Login`, {
687
+ k && console.log("[Auth] 🔐 Logging in to get session token...");
688
+ const N = await fetch(`${s}/api/Login`, {
674
689
  method: "POST",
675
690
  headers: {
676
691
  "Content-Type": "application/json",
@@ -679,279 +694,281 @@ const Xt = ({
679
694
  credentials: "include",
680
695
  body: JSON.stringify({
681
696
  userEmail: o,
682
- userPassWord: u
697
+ userPassWord: d
683
698
  })
684
699
  });
685
- if (!E.ok)
686
- throw console.error("[Auth] ❌ Login failed:", E.status, await E.text()), new Error("Login failed. Check your email and password.");
687
- if (d = (await E.json()).token, !d)
700
+ if (!N.ok)
701
+ throw console.error("[Auth] ❌ Login failed:", N.status, await N.text()), new Error("Login failed. Check your email and password.");
702
+ if (l = (await N.json()).token, !l)
688
703
  throw console.error("[Auth] ❌ No token received from login response"), new Error("No token received from login.");
689
- b && console.log("[Auth] ✅ Login successful, bearer token received (length:", d.length, ")");
704
+ k && console.log("[Auth] ✅ Login successful, bearer token received (length:", l.length, ")");
690
705
  }
691
- b && console.log("[Auth] 🔓 Opening dataset session...");
692
- const y = await fetch(`${i}/api/CreateOrOpen/${c}/400`, {
706
+ k && console.log("[Auth] 🔓 Opening dataset session...");
707
+ const C = await fetch(`${s}/api/CreateOrOpen/${u}/400`, {
693
708
  method: "PUT",
694
709
  headers: {
695
710
  "Content-Type": "application/json",
696
- Authorization: `Bearer ${d}`
711
+ Authorization: `Bearer ${l}`
697
712
  },
698
713
  body: '""'
699
714
  });
700
- if (!y.ok)
701
- throw console.error("[Auth] ❌ CreateOrOpen failed:", y.status, await y.text()), new Error("Failed to open dataset session.");
702
- D(d), b && console.log("[Auth] ✅ Dataset session established");
703
- const _ = (E) => fetch(E, {
715
+ if (!C.ok)
716
+ throw console.error("[Auth] ❌ CreateOrOpen failed:", C.status, await C.text()), new Error("Failed to open dataset session.");
717
+ m(l), k && console.log("[Auth] ✅ Dataset session established");
718
+ const _ = (N) => fetch(N, {
704
719
  method: "GET",
705
720
  headers: {
706
721
  accept: "text/plain",
707
- Authorization: `Bearer ${d}`
722
+ Authorization: `Bearer ${l}`
708
723
  },
709
724
  credentials: "include"
710
725
  });
711
- b && console.log("[Auth] 🔍 Checking dataset status...");
712
- const H = await _(`${i}/api/GetStatus/${c}`);
713
- if (!H.ok) {
714
- if (H.status === 401)
715
- throw console.error("[Auth] ❌ Authentication failed (401 Unauthorized)"), console.error("[Auth] 💡 Your token may be expired or invalid"), console.error('[Auth] 💡 Get a fresh token with: curl -X POST "' + i + `/api/Login" -H "Content-Type: application/json" -d '{"userEmail":"your@email.com","userPassWord":"yourpassword"}'`), new Error("Authentication failed (401). Token may be expired. Check console for instructions.");
716
- if (H.status === 404)
717
- throw console.error('[Auth] ❌ Dataset "' + c + '" not found (404)'), console.error('[Auth] 💡 Available datasets can be checked with: curl -X GET "' + i + '/api/GetUserDataSets" -H "Authorization: Bearer YOUR_TOKEN"'), console.error("[Auth] 💡 Make sure you spelled the dataset name correctly"), new Error('Dataset "' + c + '" not found. Check console for instructions.');
726
+ k && console.log("[Auth] 🔍 Checking dataset status...");
727
+ const I = await _(`${s}/api/GetStatus/${u}`);
728
+ if (!I.ok) {
729
+ if (I.status === 401)
730
+ throw console.error("[Auth] ❌ Authentication failed (401 Unauthorized)"), console.error("[Auth] 💡 Your token may be expired or invalid"), console.error('[Auth] 💡 Get a fresh token with: curl -X POST "' + s + `/api/Login" -H "Content-Type: application/json" -d '{"userEmail":"your@email.com","userPassWord":"yourpassword"}'`), new Error("Authentication failed (401). Token may be expired. Check console for instructions.");
731
+ if (I.status === 404)
732
+ throw console.error('[Auth] ❌ Dataset "' + u + '" not found (404)'), console.error('[Auth] 💡 Available datasets can be checked with: curl -X GET "' + s + '/api/GetUserDataSets" -H "Authorization: Bearer YOUR_TOKEN"'), console.error("[Auth] 💡 Make sure you spelled the dataset name correctly"), new Error('Dataset "' + u + '" not found. Check console for instructions.');
718
733
  {
719
- const E = await H.text();
720
- throw console.error("[Auth] ❌ Failed to get dataset status:", H.status, E), console.error("[Auth] 💡 Check if your INDX server is running at:", i), new Error("Failed to connect to INDX server. Check console for details.");
734
+ const N = await I.text();
735
+ throw console.error("[Auth] ❌ Failed to get dataset status:", I.status, N), console.error("[Auth] 💡 Check if your INDX server is running at:", s), new Error("Failed to connect to INDX server. Check console for details.");
721
736
  }
722
737
  }
723
- const q = await H.json();
724
- b && console.log("[Auth] 📊 Dataset status:", q), q.state && q.state !== "Ready" && (console.warn("[Auth] ⚠️ Dataset is not ready yet. Current state:", q.state), console.warn("[Auth] 💡 Wait for indexing to complete before searching"));
725
- const Q = q.documentCount ?? q.numberOfRecords ?? 0;
726
- Q === 0 ? (console.warn('[Auth] ⚠️ Dataset "' + c + '" is empty (0 records)'), console.warn("[Auth] 💡 Add documents to your dataset before searching"), console.warn("[Auth] 💡 Search will work but return no results")) : b && console.log("[Auth] ✅ Dataset has", Q, "records");
727
- const [ce, se, ye] = await Promise.all([
728
- _(`${i}/api/GetFilterableFields/${c}`),
729
- _(`${i}/api/GetFacetableFields/${c}`),
730
- _(`${i}/api/GetSortableFields/${c}`)
738
+ const z = await I.json();
739
+ k && console.log("[Auth] 📊 Dataset status:", z), z.state && z.state !== "Ready" && (console.warn("[Auth] ⚠️ Dataset is not ready yet. Current state:", z.state), console.warn("[Auth] 💡 Wait for indexing to complete before searching"));
740
+ const Q = z.documentCount ?? z.numberOfRecords ?? 0;
741
+ Q === 0 ? (console.warn('[Auth] ⚠️ Dataset "' + u + '" is empty (0 records)'), console.warn("[Auth] 💡 Add documents to your dataset before searching"), console.warn("[Auth] 💡 Search will work but return no results")) : k && console.log("[Auth] ✅ Dataset has", Q, "records");
742
+ const [de, oe, je] = await Promise.all([
743
+ _(`${s}/api/GetFilterableFields/${u}`),
744
+ _(`${s}/api/GetFacetableFields/${u}`),
745
+ _(`${s}/api/GetSortableFields/${u}`)
731
746
  ]);
732
- if (!ce.ok)
733
- throw console.error("[Auth] ❌ GetFilterableFields failed:", ce.status, await ce.text()), new Error("Failed to get filterable fields. Check console for details.");
734
- if (!se.ok)
735
- throw console.error("[Auth] ❌ GetFacetableFields failed:", se.status, await se.text()), new Error("Failed to get facetable fields. Check console for details.");
736
- if (!ye.ok)
737
- throw console.error("[Auth] ❌ GetSortableFields failed:", ye.status, await ye.text()), new Error("Failed to get sortable fields. Check console for details.");
738
- const De = await ce.json().catch((E) => (console.error("Failed to parse GetFilterableFields response:", E), [])), Ke = await se.json().catch((E) => (console.error("Failed to parse GetFacetableFields response:", E), [])), we = await ye.json().catch((E) => (console.error("Failed to parse GetSortableFields response:", E), []));
739
- U(De || []), T(Ke || []), A(we || []);
740
- let je = { facets: {} };
747
+ if (!de.ok)
748
+ throw console.error("[Auth] ❌ GetFilterableFields failed:", de.status, await de.text()), new Error("Failed to get filterable fields. Check console for details.");
749
+ if (!oe.ok)
750
+ throw console.error("[Auth] ❌ GetFacetableFields failed:", oe.status, await oe.text()), new Error("Failed to get facetable fields. Check console for details.");
751
+ if (!je.ok)
752
+ throw console.error("[Auth] ❌ GetSortableFields failed:", je.status, await je.text()), new Error("Failed to get sortable fields. Check console for details.");
753
+ const We = await de.json().catch((N) => (console.error("Failed to parse GetFilterableFields response:", N), [])), et = await oe.json().catch((N) => (console.error("Failed to parse GetFacetableFields response:", N), [])), ke = await je.json().catch((N) => (console.error("Failed to parse GetSortableFields response:", N), []));
754
+ Z(We || []), pe(et || []), R(ke || []);
755
+ let Ce = { facets: {} };
741
756
  try {
742
- const E = await fetch(`${i}/api/Search/${c}`, {
757
+ const N = await fetch(`${s}/api/Search/${u}`, {
743
758
  method: "POST",
744
759
  headers: {
745
760
  "Content-Type": "application/json",
746
- Authorization: `Bearer ${d}`
761
+ Authorization: `Bearer ${l}`
747
762
  },
748
763
  credentials: "include",
749
764
  body: JSON.stringify({ text: "", maxNumberOfRecordsToReturn: 0, enableFacets: !0 })
750
765
  });
751
- E.ok ? je = await E.json().catch((ne) => (console.warn("Failed to parse blank search response:", ne), { facets: {} })) : (console.warn("Blank search failed:", E.status, E.statusText), console.warn("Continuing without initial facet data - facets will be populated after first search"));
752
- } catch (E) {
753
- console.warn("Blank search error:", E), console.warn("Continuing without initial facet data - facets will be populated after first search");
766
+ N.ok ? Ce = await N.json().catch((ae) => (console.warn("Failed to parse blank search response:", ae), { facets: {} })) : (console.warn("Blank search failed:", N.status, N.statusText), console.warn("Continuing without initial facet data - facets will be populated after first search"));
767
+ } catch (N) {
768
+ console.warn("Blank search error:", N), console.warn("Continuing without initial facet data - facets will be populated after first search");
754
769
  }
755
- const Ce = {};
756
- if (je.facets) {
757
- for (const [E, ne] of Object.entries(je.facets))
758
- if (Array.isArray(ne) && ne.length > 0) {
759
- const fe = ne.map((Ve) => Number(Ve.key)).filter((Ve) => !isNaN(Ve));
760
- fe.length > 0 && (Ce[E] = {
770
+ const we = {};
771
+ if (Ce.facets) {
772
+ for (const [N, ae] of Object.entries(Ce.facets))
773
+ if (Array.isArray(ae) && ae.length > 0) {
774
+ const fe = ae.map((Ve) => Number(Ve.key)).filter((Ve) => !isNaN(Ve));
775
+ fe.length > 0 && (we[N] = {
761
776
  min: Math.min(...fe),
762
777
  max: Math.max(...fe)
763
778
  });
764
779
  }
765
780
  }
766
- const ke = {};
767
- if (je.facets)
768
- for (const [E, ne] of Object.entries(je.facets))
769
- Array.isArray(ne) && (ke[E] = ne.map((fe) => fe.key));
770
- Se.current = {
771
- facets: je.facets,
772
- facetStats: Ce,
773
- facetKeys: ke
774
- }, he(Ce), C(ke), re(Ce), w((E) => ({
775
- ...E,
776
- facetStats: Ce
777
- })), b && console.log("[Auth] ✅ Initialization complete");
778
- } catch (d) {
779
- throw console.error("[Auth] ❌ Initialization failed:", d), (d instanceof Error || typeof d == "object" && d !== null && "message" in d) && console.error("[Auth] 💡 Error:", d.message), d instanceof TypeError && d.message.includes("fetch") && (console.error("[Auth] ❌ Network error - cannot connect to INDX server"), console.error("[Auth] 💡 Check if the server is running at:", i), console.error("[Auth] 💡 Check your NEXT_PUBLIC_INDX_URL in .env.local"), console.error("[Auth] 💡 For local development, it should be: http://localhost:5001")), d;
781
+ const Re = {};
782
+ if (Ce.facets)
783
+ for (const [N, ae] of Object.entries(Ce.facets))
784
+ Array.isArray(ae) && (Re[N] = ae.map((fe) => fe.key));
785
+ Ne.current = {
786
+ facets: Ce.facets,
787
+ facetStats: we,
788
+ facetKeys: Re
789
+ }, h(we), e(Re), be(we), y((N) => ({
790
+ ...N,
791
+ facetStats: we,
792
+ totalDocumentCount: Q
793
+ })), k && console.log("[Auth] ✅ Initialization complete");
794
+ } catch (l) {
795
+ throw console.error("[Auth] ❌ Initialization failed:", l), (l instanceof Error || typeof l == "object" && l !== null && "message" in l) && console.error("[Auth] 💡 Error:", l.message), l instanceof TypeError && l.message.includes("fetch") && (console.error("[Auth] ❌ Network error - cannot connect to INDX server"), console.error("[Auth] 💡 Check if the server is running at:", s), console.error("[Auth] 💡 Check your NEXT_PUBLIC_INDX_URL in .env.local"), console.error("[Auth] 💡 For local development, it should be: http://localhost:5001")), l;
780
796
  } finally {
781
- z(!1);
797
+ ve(!1);
782
798
  }
783
799
  })();
784
- }, [o, u, i, c]), /* @__PURE__ */ t.jsx(
785
- lt.Provider,
800
+ }, [o, d, s, u]), /* @__PURE__ */ t.jsx(
801
+ ct.Provider,
786
802
  {
787
803
  value: {
788
804
  state: {
789
- ...s,
790
- filterableFields: ae,
791
- facetableFields: de,
792
- sortableFields: me,
793
- rangeBounds: N
805
+ ...c,
806
+ filterableFields: G,
807
+ facetableFields: O,
808
+ sortableFields: P,
809
+ rangeBounds: se
794
810
  },
795
- isFetchingInitial: S,
796
- allowEmptySearch: m,
797
- setQuery: Ne,
798
- toggleFilter: X,
799
- setRangeFilter: _e,
800
- resetFilters: Te,
801
- resetSingleFilter: Ae,
802
- setSort: Le,
803
- setDebounceDelay: O,
804
- setSearchSettings: P
811
+ isFetchingInitial: B,
812
+ allowEmptySearch: v,
813
+ setQuery: H,
814
+ toggleFilter: _e,
815
+ setRangeFilter: Ae,
816
+ resetFilters: ze,
817
+ resetSingleFilter: Le,
818
+ setSort: dt,
819
+ setDebounceDelay: $,
820
+ setSearchSettings: J,
821
+ fetchMoreResults: Te
805
822
  },
806
823
  children: r
807
824
  }
808
825
  );
809
- }, Me = () => {
810
- const r = mt(lt);
826
+ }, Fe = () => {
827
+ const r = vt(ct);
811
828
  if (!r)
812
829
  throw new Error("useSearchContext must be used within a SearchProvider");
813
830
  return r;
814
- }, Jt = ({
831
+ }, Yt = ({
815
832
  className: r = "",
816
833
  autoFocus: o = !1,
817
- inputSize: u = "default",
818
- showClear: i = !0,
819
- showFocus: c = !1,
820
- ...m
834
+ inputSize: d = "default",
835
+ showClear: s = !0,
836
+ showFocus: u = !1,
837
+ ...v
821
838
  }) => {
822
- const { state: { query: F, filters: p, rangeFilters: n, searchSettings: j }, setQuery: I } = Me();
823
- Object.keys(p).length > 0 || Object.keys(n).length > 0;
824
- const R = F.length > 0;
839
+ const { state: { query: S, filters: f, rangeFilters: n, searchSettings: w }, setQuery: V } = Fe();
840
+ Object.keys(f).length > 0 || Object.keys(n).length > 0;
841
+ const M = S.length > 0;
825
842
  return /* @__PURE__ */ t.jsx(
826
- vt,
843
+ bt,
827
844
  {
828
845
  type: "text",
829
- value: F,
830
- onChange: (B) => I(B.target.value),
831
- placeholder: j.placeholderText,
846
+ value: S,
847
+ onChange: (L) => V(L.target.value),
848
+ placeholder: w.placeholderText,
832
849
  autoFocus: o,
833
850
  className: r,
834
851
  showSearchIcon: !0,
835
- inputSize: u,
836
- showFocusBorder: c,
837
- ...m,
838
- children: i && R && /* @__PURE__ */ t.jsx(
839
- be,
852
+ inputSize: d,
853
+ showFocusBorder: u,
854
+ ...v,
855
+ children: s && M && /* @__PURE__ */ t.jsx(
856
+ ye,
840
857
  {
841
858
  variant: "ghost",
842
859
  size: "micro",
843
- onClick: () => I(""),
860
+ onClick: () => V(""),
844
861
  "aria-label": "Clear search",
845
862
  children: "Clear"
846
863
  }
847
864
  )
848
865
  }
849
866
  );
850
- }, wt = "_placeholder_bcpqa_1", kt = "_invalid_bcpqa_10", Rt = "_row_bcpqa_14", Et = "_indexNumber_bcpqa_42", Ft = "_scoreNumber_bcpqa_49", Re = {
851
- placeholder: wt,
852
- invalid: kt,
853
- row: Rt,
854
- indexNumber: Et,
855
- scoreNumber: Ft
856
- }, Mt = ({ color: r = "black", size: o = 21 }) => {
857
- const u = 0.7142857142857143, i = o, c = typeof o == "number" ? o * u : `calc(${o} * 0.7142857142857143)`;
858
- return t.jsx("svg", { width: i, height: c, viewBox: "0 0 7 5", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: t.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4 0H3V1V2V3H2V2H1V3H2V4H3V5H4V4H5V3H6V2H5V3H4V2V1V0ZM4 3V4H3V3H4Z", fill: r }) });
859
- }, Nt = ({ color: r = "black", size: o = 21 }) => {
860
- const u = 0.7142857142857143, i = o, c = typeof o == "number" ? o * u : `calc(${o} * 0.7142857142857143)`;
861
- return t.jsx("svg", { width: i, height: c, viewBox: "0 0 7 5", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: t.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M5 0H4V1H5V2H4H3H2H1V3H2H3H4H5V4H4V5H5V4H6V3H7V2H6V1H5V0ZM6 2H5V3H6V2Z", fill: r }) });
867
+ }, Rt = "_placeholder_mppwl_1", Mt = "_invalid_mppwl_10", Et = "_row_mppwl_14", Ft = "_indexNumber_mppwl_42", Nt = "_scoreNumber_mppwl_49", Me = {
868
+ placeholder: Rt,
869
+ invalid: Mt,
870
+ row: Et,
871
+ indexNumber: Ft,
872
+ scoreNumber: Nt
873
+ }, Tt = ({ color: r = "black", size: o = 21 }) => {
874
+ const d = 0.7142857142857143, s = o, u = typeof o == "number" ? o * d : `calc(${o} * 0.7142857142857143)`;
875
+ return t.jsx("svg", { width: s, height: u, viewBox: "0 0 7 5", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: t.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4 0H3V1V2V3H2V2H1V3H2V4H3V5H4V4H5V3H6V2H5V3H4V2V1V0ZM4 3V4H3V3H4Z", fill: r }) });
862
876
  }, _t = ({ color: r = "black", size: o = 21 }) => {
863
- const u = 0.7142857142857143, i = o, c = typeof o == "number" ? o * u : `calc(${o} * 0.7142857142857143)`;
864
- return t.jsx("svg", { width: i, height: c, viewBox: "0 0 7 5", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: t.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M5 0H6V1H5V0ZM6 1H7V2H6V1ZM0 1H1V2H0V1ZM1 1V0H2V1H1ZM6 3H7V4H6V3ZM6 4V5H5V4H6ZM1 4H2V5H1V4ZM1 4H0V3H1V4ZM2 2H5V3H2V2Z", fill: r }) });
865
- }, ct = ({ color: r = "black", size: o = 21 }) => {
866
- const u = 0.7142857142857143, i = o, c = typeof o == "number" ? o * u : `calc(${o} * 0.7142857142857143)`;
867
- return t.jsx("svg", { width: i, height: c, viewBox: "0 0 7 5", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: t.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M1 0H2V1H1V0ZM3 2H2V1H3V2ZM4 2H3V3H2V4H1V5H2V4H3V3H4V4H5V5H6V4H5V3H4V2ZM5 1V2H4V1H5ZM5 1V0H6V1H5Z", fill: r }) });
868
- }, Qt = ({ fields: r, resultsPerPage: o, children: u }) => {
877
+ const d = 0.7142857142857143, s = o, u = typeof o == "number" ? o * d : `calc(${o} * 0.7142857142857143)`;
878
+ return t.jsx("svg", { width: s, height: u, viewBox: "0 0 7 5", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: t.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M5 0H4V1H5V2H4H3H2H1V3H2H3H4H5V4H4V5H5V4H6V3H7V2H6V1H5V0ZM6 2H5V3H6V2Z", fill: r }) });
879
+ }, At = ({ color: r = "black", size: o = 21 }) => {
880
+ const d = 0.7142857142857143, s = o, u = typeof o == "number" ? o * d : `calc(${o} * 0.7142857142857143)`;
881
+ return t.jsx("svg", { width: s, height: u, viewBox: "0 0 7 5", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: t.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M5 0H6V1H5V0ZM6 1H7V2H6V1ZM0 1H1V2H0V1ZM1 1V0H2V1H1ZM6 3H7V4H6V3ZM6 4V5H5V4H6ZM1 4H2V5H1V4ZM1 4H0V3H1V4ZM2 2H5V3H2V2Z", fill: r }) });
882
+ }, ut = ({ color: r = "black", size: o = 21 }) => {
883
+ const d = 0.7142857142857143, s = o, u = typeof o == "number" ? o * d : `calc(${o} * 0.7142857142857143)`;
884
+ return t.jsx("svg", { width: s, height: u, viewBox: "0 0 7 5", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: t.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M1 0H2V1H1V0ZM3 2H2V1H3V2ZM4 2H3V3H2V4H1V5H2V4H3V3H4V4H5V5H6V4H5V3H4V2ZM5 1V2H4V1H5ZM5 1V0H6V1H5Z", fill: r }) });
885
+ }, Zt = ({ fields: r, resultsPerPage: o, children: d }) => {
869
886
  const {
870
- state: { results: i, resultsSuppressed: c, searchSettings: m, truncationIndex: F },
871
- isFetchingInitial: p
872
- } = Me(), n = o ?? 30, [j, I] = G(n);
873
- ue(() => {
874
- I(n);
875
- }, [i]);
876
- const R = i && i.length > j, B = () => {
877
- I((b) => b + n);
887
+ state: { results: s, resultsSuppressed: u, searchSettings: v, truncationIndex: S, query: f },
888
+ isFetchingInitial: n,
889
+ fetchMoreResults: w
890
+ } = Fe(), V = o ?? 30, [M, L] = X(V), k = me(0), ne = me("");
891
+ ie(() => {
892
+ const T = f !== ne.current;
893
+ (!s || s.length < k.current || T) && L(V), k.current = (s == null ? void 0 : s.length) ?? 0, ne.current = f;
894
+ }, [s, V, f]);
895
+ const q = s && s.length > M, p = () => {
896
+ const T = M + V;
897
+ L(T), s && T >= s.length && (!S || S === -1 || S > s.length) && w(s.length + V);
878
898
  };
879
- return p || c || i === null ? /* @__PURE__ */ t.jsx("div", { className: Re.placeholder, children: /* @__PURE__ */ t.jsx(_t, { size: 200, color: "var(--lv5)" }) }) : i.length === 0 ? /* @__PURE__ */ t.jsx("div", { className: Re.invalid, children: /* @__PURE__ */ t.jsx("p", { children: "No results found." }) }) : /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
880
- /* @__PURE__ */ t.jsx("div", { className: Re.container, children: (i ?? []).slice(0, j).map((b, Z) => {
881
- const W = b.document, x = b.score;
882
- let V;
899
+ return n || u || s === null ? /* @__PURE__ */ t.jsx("div", { className: Me.placeholder, children: /* @__PURE__ */ t.jsx(At, { size: 200, color: "var(--lv5)" }) }) : s.length === 0 ? /* @__PURE__ */ t.jsx("div", { className: Me.invalid, children: /* @__PURE__ */ t.jsx("p", { children: "No results found." }) }) : /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
900
+ /* @__PURE__ */ t.jsx("div", { className: Me.container, children: (s ?? []).slice(0, M).map((T, g) => {
901
+ const x = T.document, c = T.score;
902
+ let y;
883
903
  try {
884
- V = typeof W == "string" ? JSON.parse(W) : W;
904
+ y = typeof x == "string" ? JSON.parse(x) : x;
885
905
  } catch {
886
- return /* @__PURE__ */ t.jsx("div", { className: Re.invalid, children: /* @__PURE__ */ t.jsx("p", { children: "Invalid JSON" }) }, Z);
906
+ return /* @__PURE__ */ t.jsx("div", { className: Me.invalid, children: /* @__PURE__ */ t.jsx("p", { children: "Invalid JSON" }) }, g);
887
907
  }
888
- let f;
908
+ let j;
889
909
  if (r && r.length > 0) {
890
- f = {};
891
- for (const s of r)
892
- s in V && (f[s] = V[s]);
910
+ j = {};
911
+ for (const m of r)
912
+ m in y && (j[m] = y[m]);
893
913
  } else
894
- f = { ...V };
895
- for (const s in f) {
896
- const w = f[s];
897
- if (typeof w == "string" && w.startsWith("[") && w.endsWith("]")) {
898
- const D = w.replace(/^\[|\]$/g, "").split(",").map((g) => g.trim().replace(/^'|'$/g, "")).filter((g) => g.length > 0);
899
- f[s] = D;
914
+ j = { ...y };
915
+ for (const m in j) {
916
+ const D = j[m];
917
+ if (typeof D == "string" && D.startsWith("[") && D.endsWith("]")) {
918
+ const G = D.replace(/^\[|\]$/g, "").split(",").map((Z) => Z.trim().replace(/^'|'$/g, "")).filter((Z) => Z.length > 0);
919
+ j[m] = G;
900
920
  }
901
921
  }
902
- return /* @__PURE__ */ t.jsxs("div", { className: Re.row, children: [
903
- /* @__PURE__ */ t.jsx("div", { className: Re.indexNumber, children: Z }),
904
- u(f),
905
- m.showScore && /* @__PURE__ */ t.jsx("div", { className: Re.scoreNumber, children: x })
906
- ] }, Z);
922
+ return /* @__PURE__ */ t.jsxs("div", { className: Me.row, children: [
923
+ /* @__PURE__ */ t.jsx("div", { className: Me.indexNumber, children: g }),
924
+ d(j),
925
+ v.showScore && /* @__PURE__ */ t.jsx("div", { className: Me.scoreNumber, children: c })
926
+ ] }, g);
907
927
  }) }),
908
- R && /* @__PURE__ */ t.jsx("div", { style: { textAlign: "center", marginTop: "20px" }, children: /* @__PURE__ */ t.jsxs(
909
- be,
928
+ q && /* @__PURE__ */ t.jsx("div", { style: { textAlign: "center", marginTop: "20px" }, children: /* @__PURE__ */ t.jsx(
929
+ ye,
910
930
  {
911
931
  variant: "secondary",
912
932
  size: "micro",
913
- onClick: B,
914
- children: [
915
- "Load more ",
916
- F
917
- ]
933
+ onClick: p,
934
+ children: f.trim() === "" ? "Load more" : S !== -1 && S !== void 0 && S > 0 ? `Load results ${M + 1}-${Math.min(M + V, s.length, S)} of ${S}` : "Load more"
918
935
  }
919
936
  ) })
920
937
  ] });
921
- }, Tt = "_list_mwzqq_2", At = "_count_mwzqq_7", Vt = "_grid_mwzqq_16", Ee = {
922
- list: Tt,
923
- count: At,
924
- grid: Vt
925
- }, Yt = ({
938
+ }, Vt = "_list_mwzqq_2", Ot = "_count_mwzqq_7", Pt = "_grid_mwzqq_16", Ee = {
939
+ list: Vt,
940
+ count: Ot,
941
+ grid: Pt
942
+ }, Kt = ({
926
943
  field: r,
927
944
  label: o,
928
- preserveBlankFacetState: u = !1,
929
- preserveBlankFacetStateOrder: i = !1,
930
- sortFacetsBy: c = "histogram",
931
- limit: m = 10,
932
- collapsible: F = !0,
933
- startCollapsed: p = !1,
945
+ preserveBlankFacetState: d = !1,
946
+ preserveBlankFacetStateOrder: s = !1,
947
+ sortFacetsBy: u = "histogram",
948
+ limit: v = 10,
949
+ collapsible: S = !0,
950
+ startCollapsed: f = !1,
934
951
  displayType: n = "checkbox",
935
- layout: j = "list",
936
- showActivePanel: I = !1,
937
- showCount: R = !0,
938
- showNull: B = !1,
939
- displayIfEmptyQuery: b = !0,
940
- displayCondition: Z = (W) => !0
952
+ layout: w = "list",
953
+ showActivePanel: V = !1,
954
+ showCount: M = !0,
955
+ showNull: L = !1,
956
+ displayIfEmptyQuery: k = !0,
957
+ displayCondition: ne = (q) => !0
941
958
  }) => {
942
959
  const {
943
- state: { facets: W, filterableFields: x, facetableFields: V, filters: f, query: s },
944
- toggleFilter: w,
945
- isFetchingInitial: M,
946
- allowEmptySearch: D
947
- } = Me(), g = Fe(null), [L, ae] = G(m);
948
- if (ue(() => {
949
- ae(m);
950
- }, [W == null ? void 0 : W[r], m]), !D && !s || M || !W || !Z({ query: s ?? "", filters: f, facets: W }) || !b && !s && Object.keys(f).length < 1)
960
+ state: { facets: q, filterableFields: p, facetableFields: T, filters: g, query: x },
961
+ toggleFilter: c,
962
+ isFetchingInitial: y,
963
+ allowEmptySearch: j
964
+ } = Fe(), m = me(null), [D, U] = X(v);
965
+ if (ie(() => {
966
+ U(v);
967
+ }, [q == null ? void 0 : q[r], v]), !j && !x || y || !q || !ne({ query: x ?? "", filters: g, facets: q }) || !k && !x && Object.keys(g).length < 1)
951
968
  return null;
952
- if (!(x != null && x.includes(r)) || !(V != null && V.includes(r))) {
969
+ if (!(p != null && p.includes(r)) || !(T != null && T.includes(r))) {
953
970
  const h = [];
954
- return x != null && x.includes(r) || h.push("filterable"), V != null && V.includes(r) || h.push("facetable"), /* @__PURE__ */ t.jsx(xe, { collapsible: !1, children: /* @__PURE__ */ t.jsxs("div", { style: { color: "red", fontSize: "12px" }, children: [
971
+ return p != null && p.includes(r) || h.push("filterable"), T != null && T.includes(r) || h.push("facetable"), /* @__PURE__ */ t.jsx(Se, { collapsible: !1, children: /* @__PURE__ */ t.jsxs("div", { style: { color: "red", fontSize: "12px" }, children: [
955
972
  'Cannot render filter for "',
956
973
  r,
957
974
  '": missing ',
@@ -959,29 +976,29 @@ const Xt = ({
959
976
  "."
960
977
  ] }) });
961
978
  }
962
- const U = W == null ? void 0 : W[r];
963
- if (!U || !Array.isArray(U)) return null;
964
- const de = (f == null ? void 0 : f[r]) ?? [];
965
- u && !g.current && U.length > 0 && (g.current = U.reduce(
966
- (h, C) => (h[C.key] = C.value, h),
979
+ const G = q == null ? void 0 : q[r];
980
+ if (!G || !Array.isArray(G)) return null;
981
+ const Z = (g == null ? void 0 : g[r]) ?? [];
982
+ d && !m.current && G.length > 0 && (m.current = G.reduce(
983
+ (h, E) => (h[E.key] = E.value, h),
967
984
  {}
968
985
  ));
969
- const T = /* @__PURE__ */ new Map();
970
- u && g.current ? (Object.keys(g.current).forEach((h) => {
971
- T.set(h, 0);
972
- }), U.forEach((h) => {
973
- T.set(h.key, h.value);
974
- })) : U.forEach((h) => {
975
- T.set(h.key, h.value);
986
+ const O = /* @__PURE__ */ new Map();
987
+ d && m.current ? (Object.keys(m.current).forEach((h) => {
988
+ O.set(h, 0);
989
+ }), G.forEach((h) => {
990
+ O.set(h.key, h.value);
991
+ })) : G.forEach((h) => {
992
+ O.set(h.key, h.value);
976
993
  });
977
- const me = n === "toggle" && T.size === 2 && T.has("true") && (T.has("false") || T.has("null"));
978
- if (T.has("null")) {
979
- const h = T.get("null") ?? 0, C = T.get("false") ?? 0;
980
- T.set("false", (C ?? 0) + h), T.delete("null");
994
+ const pe = n === "toggle" && O.size === 2 && O.has("true") && (O.has("false") || O.has("null"));
995
+ if (O.has("null")) {
996
+ const h = O.get("null") ?? 0, E = O.get("false") ?? 0;
997
+ O.set("false", (E ?? 0) + h), O.delete("null");
981
998
  }
982
- if (n === "toggle" && !me)
983
- return /* @__PURE__ */ t.jsx(xe, { collapsible: !1, children: /* @__PURE__ */ t.jsx("div", { className: Ee.count, children: /* @__PURE__ */ t.jsx(
984
- oe,
999
+ if (n === "toggle" && !pe)
1000
+ return /* @__PURE__ */ t.jsx(Se, { collapsible: !1, children: /* @__PURE__ */ t.jsx("div", { className: Ee.count, children: /* @__PURE__ */ t.jsx(
1001
+ le,
985
1002
  {
986
1003
  label: o,
987
1004
  checked: !1,
@@ -990,122 +1007,122 @@ const Xt = ({
990
1007
  disabled: !0
991
1008
  }
992
1009
  ) }) });
993
- if (me) {
994
- const h = T.get("true"), C = typeof h == "number" ? h : null, e = de.includes("true"), a = C === 0, v = R && (C ?? 0) > 0 ? `${C}` : "";
995
- return /* @__PURE__ */ t.jsx(xe, { collapsible: !1, children: /* @__PURE__ */ t.jsxs("div", { className: Ee.count, children: [
1010
+ if (pe) {
1011
+ const h = O.get("true"), E = typeof h == "number" ? h : null, e = Z.includes("true"), a = E === 0, b = M && (E ?? 0) > 0 ? `${E}` : "";
1012
+ return /* @__PURE__ */ t.jsx(Se, { collapsible: !1, children: /* @__PURE__ */ t.jsxs("div", { className: Ee.count, children: [
996
1013
  /* @__PURE__ */ t.jsx(
997
- oe,
1014
+ le,
998
1015
  {
999
1016
  label: o,
1000
1017
  checked: e,
1001
- onChange: () => w(r, "true"),
1018
+ onChange: () => c(r, "true"),
1002
1019
  disabled: a
1003
1020
  }
1004
1021
  ),
1005
1022
  " ",
1006
- v
1023
+ b
1007
1024
  ] }) });
1008
1025
  }
1009
- let A = Array.from(T.entries());
1010
- if (B || (A = A.filter(([h]) => h !== "null")), A.length === 0 && !u)
1026
+ let P = Array.from(O.entries());
1027
+ if (L || (P = P.filter(([h]) => h !== "null")), P.length === 0 && !d)
1011
1028
  return null;
1012
- if (!i) if (c === "alphabetical") {
1013
- const h = A.filter(([, e]) => typeof e == "number" && e > 0).sort(([e], [a]) => e.localeCompare(a)), C = A.filter(([, e]) => e === 0 || e === null).sort(([e], [a]) => e.localeCompare(a));
1014
- A = [...h, ...C];
1015
- } else if (c === "numeric") {
1016
- const h = (a, v) => {
1017
- const k = Number(a), ie = Number(v), ve = !isNaN(k), N = !isNaN(ie);
1018
- return ve && N ? k - ie : a.localeCompare(v);
1019
- }, C = A.filter(([, a]) => typeof a == "number" && a > 0).sort(([a], [v]) => h(a, v)), e = A.filter(([, a]) => a === 0 || a === null).sort(([a], [v]) => h(a, v));
1020
- A = [...C, ...e];
1029
+ if (!s) if (u === "alphabetical") {
1030
+ const h = P.filter(([, e]) => typeof e == "number" && e > 0).sort(([e], [a]) => e.localeCompare(a)), E = P.filter(([, e]) => e === 0 || e === null).sort(([e], [a]) => e.localeCompare(a));
1031
+ P = [...h, ...E];
1032
+ } else if (u === "numeric") {
1033
+ const h = (a, b) => {
1034
+ const F = Number(a), ce = Number(b), xe = !isNaN(F), A = !isNaN(ce);
1035
+ return xe && A ? F - ce : a.localeCompare(b);
1036
+ }, E = P.filter(([, a]) => typeof a == "number" && a > 0).sort(([a], [b]) => h(a, b)), e = P.filter(([, a]) => a === 0 || a === null).sort(([a], [b]) => h(a, b));
1037
+ P = [...E, ...e];
1021
1038
  } else {
1022
- const h = A.filter(([, e]) => typeof e == "number" && e > 0), C = A.filter(([, e]) => e === 0 || e === null);
1023
- A = [...h, ...C];
1039
+ const h = P.filter(([, e]) => typeof e == "number" && e > 0), E = P.filter(([, e]) => e === 0 || e === null);
1040
+ P = [...h, ...E];
1024
1041
  }
1025
- const S = typeof m == "number" && A.length > m, z = S ? A.slice(0, L) : A, pe = (h, C) => {
1026
- const e = de.includes(h), a = C === 0, v = R && (C ?? 0) > 0 ? ` (${C})` : "", k = R && (C ?? 0) > 0 ? C : "";
1042
+ const R = typeof v == "number" && P.length > v, B = R ? P.slice(0, D) : P, ve = (h, E) => {
1043
+ const e = Z.includes(h), a = E === 0, b = M && (E ?? 0) > 0 ? ` (${E})` : "", F = M && (E ?? 0) > 0 ? E : "";
1027
1044
  switch (n) {
1028
1045
  case "button":
1029
- return j === "list" ? /* @__PURE__ */ t.jsxs("div", { className: Ee.count, children: [
1046
+ return w === "list" ? /* @__PURE__ */ t.jsxs("div", { className: Ee.count, children: [
1030
1047
  /* @__PURE__ */ t.jsx(
1031
- be,
1048
+ ye,
1032
1049
  {
1033
1050
  variant: e ? "primary" : "secondary",
1034
- onClick: () => w(r, h),
1051
+ onClick: () => c(r, h),
1035
1052
  disabled: a,
1036
1053
  size: "micro",
1037
1054
  children: h
1038
1055
  }
1039
1056
  ),
1040
- /* @__PURE__ */ t.jsx("span", { children: k })
1057
+ /* @__PURE__ */ t.jsx("span", { children: F })
1041
1058
  ] }) : /* @__PURE__ */ t.jsx(
1042
- be,
1059
+ ye,
1043
1060
  {
1044
1061
  variant: e ? "primary" : "secondary",
1045
- onClick: () => w(r, h),
1062
+ onClick: () => c(r, h),
1046
1063
  disabled: a,
1047
1064
  size: "micro",
1048
- children: `${h}${v}`
1065
+ children: `${h}${b}`
1049
1066
  }
1050
1067
  );
1051
1068
  case "toggle":
1052
1069
  return /* @__PURE__ */ t.jsx(
1053
- oe,
1070
+ le,
1054
1071
  {
1055
1072
  label: h,
1056
1073
  checked: e,
1057
- onChange: () => w(r, h),
1074
+ onChange: () => c(r, h),
1058
1075
  disabled: a
1059
1076
  }
1060
1077
  );
1061
1078
  case "checkbox":
1062
1079
  default:
1063
- return j === "list" ? /* @__PURE__ */ t.jsxs("div", { className: Ee.count, children: [
1080
+ return w === "list" ? /* @__PURE__ */ t.jsxs("div", { className: Ee.count, children: [
1064
1081
  /* @__PURE__ */ t.jsx(
1065
- tt,
1082
+ rt,
1066
1083
  {
1067
1084
  label: h,
1068
1085
  score: "",
1069
1086
  checked: e,
1070
- onChange: () => w(r, h),
1087
+ onChange: () => c(r, h),
1071
1088
  disabled: a
1072
1089
  }
1073
1090
  ),
1074
- /* @__PURE__ */ t.jsx("span", { children: k })
1091
+ /* @__PURE__ */ t.jsx("span", { children: F })
1075
1092
  ] }) : /* @__PURE__ */ t.jsx(
1076
- tt,
1093
+ rt,
1077
1094
  {
1078
1095
  label: h,
1079
- score: v,
1096
+ score: b,
1080
1097
  checked: e,
1081
- onChange: () => w(r, h),
1098
+ onChange: () => c(r, h),
1082
1099
  disabled: a
1083
1100
  }
1084
1101
  );
1085
1102
  }
1086
- }, he = F ? p : !1;
1103
+ }, he = S ? f : !1;
1087
1104
  return /* @__PURE__ */ t.jsx(
1088
- xe,
1105
+ Se,
1089
1106
  {
1090
1107
  title: o,
1091
- collapsible: F,
1108
+ collapsible: S,
1092
1109
  collapsed: he,
1093
1110
  children: /* @__PURE__ */ t.jsxs(
1094
1111
  "ul",
1095
1112
  {
1096
- className: j === "grid" ? Ee.grid : Ee.list,
1113
+ className: w === "grid" ? Ee.grid : Ee.list,
1097
1114
  style: { listStyle: "none", padding: 0, margin: 0 },
1098
1115
  children: [
1099
- z.map(([h, C]) => /* @__PURE__ */ t.jsx("li", { children: pe(h, C) }, h)),
1100
- S && L < A.length && (() => {
1101
- const h = A.length - L, C = Math.min(50, h);
1116
+ B.map(([h, E]) => /* @__PURE__ */ t.jsx("li", { children: ve(h, E) }, h)),
1117
+ R && D < P.length && (() => {
1118
+ const h = P.length - D, E = Math.min(50, h);
1102
1119
  return /* @__PURE__ */ t.jsx("li", { className: Ee.toggleItem, children: /* @__PURE__ */ t.jsx(
1103
- be,
1120
+ ye,
1104
1121
  {
1105
1122
  variant: "ghost",
1106
1123
  size: "micro",
1107
- onClick: () => ae((e) => e + 50),
1108
- children: `Show ${C} more of ${A.length} total`
1124
+ onClick: () => U((e) => e + 50),
1125
+ children: `Show ${E} more of ${P.length} total`
1109
1126
  }
1110
1127
  ) });
1111
1128
  })()
@@ -1114,97 +1131,98 @@ const Xt = ({
1114
1131
  )
1115
1132
  }
1116
1133
  );
1117
- }, Ot = "_disabledMessage_o89gh_1", ot = {
1118
- disabledMessage: Ot
1119
- }, Zt = ({
1134
+ }, Ht = "_disabledMessage_o89gh_1", at = {
1135
+ disabledMessage: Ht
1136
+ }, er = ({
1120
1137
  field: r,
1121
1138
  label: o,
1122
- expectedMin: u = 0,
1123
- expectedMax: i = 1e3,
1124
- displayType: c = "input",
1125
- collapsible: m = !0,
1126
- startCollapsed: F = !1
1139
+ expectedMin: d = 0,
1140
+ expectedMax: s = 1e3,
1141
+ displayType: u = "input",
1142
+ collapsible: v = !0,
1143
+ startCollapsed: S = !1
1127
1144
  }) => {
1128
1145
  const {
1129
- state: { rangeFilters: p, rangeBounds: n, facetStats: j, query: I, facetDebounceDelayMillis: R },
1130
- setRangeFilter: B,
1131
- resetSingleFilter: b,
1132
- allowEmptySearch: Z,
1133
- isFetchingInitial: W
1134
- } = Me(), x = (n == null ? void 0 : n[r]) !== void 0, V = (n == null ? void 0 : n[r]) ?? { min: u, max: i }, f = V.min, s = V.max, w = (j == null ? void 0 : j[r]) ?? V, M = w.min, D = w.max, g = x && f === s, L = g ? u : f, ae = g ? i : s, U = p == null ? void 0 : p[r], de = U ? U.min : f, T = U ? U.max : s, me = U !== void 0, A = M !== f || D !== s, [S, z] = te.useState([
1135
- de,
1136
- T
1137
- ]), [pe, he] = te.useState(!1), [h, C] = te.useState(!1), { finalMin: e, finalMax: a, isValidMin: v, isValidMax: k } = te.useMemo(() => {
1138
- const [O, P] = S, X = Math.max(f, Math.min(s, O)), _e = Math.max(f, Math.min(s, P)), Te = Math.min(X, _e), Ae = Math.max(X, _e), Le = Te >= f && Te < Ae, $e = Ae <= s && Ae > Te;
1139
- return { finalMin: Te, finalMax: Ae, isValidMin: Le, isValidMax: $e };
1140
- }, [S, f, s]);
1141
- te.useEffect(() => {
1142
- if (g)
1146
+ state: { rangeFilters: f, rangeBounds: n, facetStats: w, query: V, facetDebounceDelayMillis: M },
1147
+ setRangeFilter: L,
1148
+ resetSingleFilter: k,
1149
+ allowEmptySearch: ne,
1150
+ isFetchingInitial: q
1151
+ } = Fe(), p = (n == null ? void 0 : n[r]) !== void 0, T = (n == null ? void 0 : n[r]) ?? { min: d, max: s }, g = T.min, x = T.max, c = (w == null ? void 0 : w[r]) ?? T, y = c.min, j = c.max, m = p && g === x, D = m ? d : g, U = m ? s : x, G = f == null ? void 0 : f[r], Z = G ? G.min : g, O = G ? G.max : x, pe = G !== void 0, P = y !== g || j !== x, [R, B] = re.useState([
1152
+ Z,
1153
+ O
1154
+ ]), [ve, he] = re.useState(!1), [h, E] = re.useState(!1), { finalMin: e, finalMax: a, isValidMin: b, isValidMax: F } = re.useMemo(() => {
1155
+ const [H, $] = R, J = Math.max(g, Math.min(x, H)), Te = Math.max(g, Math.min(x, $)), _e = Math.min(J, Te), Ae = Math.max(J, Te), ze = _e >= g && _e < Ae, Le = Ae <= x && Ae > _e;
1156
+ return { finalMin: _e, finalMax: Ae, isValidMin: ze, isValidMax: Le };
1157
+ }, [R, g, x]);
1158
+ re.useEffect(() => {
1159
+ if (m)
1143
1160
  return;
1144
- if (S[0] === f && S[1] === s) {
1145
- he(!1), C(!1);
1161
+ if (R[0] === g && R[1] === x) {
1162
+ he(!1), E(!1);
1146
1163
  return;
1147
1164
  }
1148
- const P = R ?? 500, X = setTimeout(() => {
1149
- he(!v), C(!k);
1150
- }, 300), _e = setTimeout(() => {
1151
- v && k && (e === f && a === s ? b(r) : B(r, e, a));
1152
- }, P);
1165
+ const $ = M ?? 500, J = setTimeout(() => {
1166
+ he(!b), E(!F);
1167
+ }, 300), Te = setTimeout(() => {
1168
+ b && F && (e === g && a === x ? k(r) : L(r, e, a));
1169
+ }, $);
1153
1170
  return () => {
1154
- clearTimeout(X), clearTimeout(_e);
1171
+ clearTimeout(J), clearTimeout(Te);
1155
1172
  };
1156
- }, [e, a, v, k, f, s, r, b, B, R, g]), te.useEffect(() => {
1157
- z([de, T]), he(!1), C(!1);
1158
- }, [de, T, r]);
1159
- const ie = te.useCallback((O) => {
1160
- if (g) return;
1161
- const P = Math.max(f, Math.min(D, O[0])), X = Math.max(M, Math.min(s, O[1]));
1162
- z([P, X]);
1163
- }, [g, f, s, M, D]), ve = te.useCallback((O) => {
1164
- if (g) return;
1165
- const P = Math.max(f, Math.min(D, O[0])), X = Math.max(M, Math.min(s, O[1]));
1166
- P === f && X === s ? (z([f, s]), b(r)) : z([P, X]);
1167
- }, [g, f, s, M, D, r, b]), N = te.useCallback((O) => {
1168
- if (g) return;
1169
- const P = Number(O.target.value);
1170
- if (!isNaN(P)) {
1171
- const X = Math.max(f, Math.min(D, P));
1172
- z([X, S[1]]);
1173
+ }, [e, a, b, F, g, x, r, k, L, M, m]), re.useEffect(() => {
1174
+ B([Z, O]), he(!1), E(!1);
1175
+ }, [Z, O, r]);
1176
+ const ce = re.useCallback((H) => {
1177
+ if (m) return;
1178
+ const $ = Math.max(g, Math.min(j, H[0])), J = Math.max(y, Math.min(x, H[1]));
1179
+ B([$, J]);
1180
+ }, [m, g, x, y, j]), xe = re.useCallback((H) => {
1181
+ if (m) return;
1182
+ const $ = Math.max(g, Math.min(j, H[0])), J = Math.max(y, Math.min(x, H[1]));
1183
+ $ === g && J === x ? (B([g, x]), k(r)) : B([$, J]);
1184
+ }, [m, g, x, y, j, r, k]), A = re.useCallback((H) => {
1185
+ if (m) return;
1186
+ const $ = Number(H.target.value);
1187
+ if (!isNaN($)) {
1188
+ const J = Math.max(g, Math.min(j, $));
1189
+ B([J, R[1]]);
1173
1190
  }
1174
- }, [g, S, f, D]), re = te.useCallback((O) => {
1175
- if (g) return;
1176
- const P = Number(O.target.value);
1177
- if (!isNaN(P)) {
1178
- const X = Math.max(M, Math.min(s, P));
1179
- z([S[0], X]);
1191
+ }, [m, R, g, j]), se = re.useCallback((H) => {
1192
+ if (m) return;
1193
+ const $ = Number(H.target.value);
1194
+ if (!isNaN($)) {
1195
+ const J = Math.max(y, Math.min(x, $));
1196
+ B([R[0], J]);
1180
1197
  }
1181
- }, [g, S, M, s]), Se = te.useCallback(() => {
1182
- const O = S[0], P = Math.max(f, Math.min(D, O));
1183
- P < S[1] ? z([P, S[1]]) : z([f, S[1]]);
1184
- }, [S, f, D]), Ne = te.useCallback(() => {
1185
- const O = S[1], P = Math.max(M, Math.min(s, O));
1186
- P > S[0] ? z([S[0], P]) : z([S[0], s]);
1187
- }, [S, M, s]);
1188
- return W || !Z && !I ? null : c === "slider" ? /* @__PURE__ */ t.jsxs(xe, { title: o, collapsed: F, collapsible: m, children: [
1189
- g && /* @__PURE__ */ t.jsxs("div", { className: ot.disabledMessage, children: [
1198
+ }, [m, R, y, x]), be = re.useCallback(() => {
1199
+ const H = R[0], $ = Math.max(g, Math.min(j, H));
1200
+ $ < R[1] ? B([$, R[1]]) : B([g, R[1]]);
1201
+ }, [R, g, j]), Ne = re.useCallback(() => {
1202
+ const H = R[1], $ = Math.max(y, Math.min(x, H));
1203
+ $ > R[0] ? B([R[0], $]) : B([R[0], x]);
1204
+ }, [R, y, x]);
1205
+ return q || !ne && !V ? null : u === "slider" ? /* @__PURE__ */ t.jsxs(Se, { title: o, collapsed: S, collapsible: v, children: [
1206
+ m && /* @__PURE__ */ t.jsxs("div", { className: at.disabledMessage, children: [
1190
1207
  "No adjustable range (all results have the same value: ",
1191
- f,
1208
+ g,
1192
1209
  ")."
1193
1210
  ] }),
1194
1211
  /* @__PURE__ */ t.jsx("div", { style: { padding: "10px 10px 20px 10px" }, children: /* @__PURE__ */ t.jsx(
1195
- it,
1212
+ lt,
1196
1213
  {
1197
- min: L,
1198
- max: ae,
1199
- value: g ? [L, ae] : [e, a],
1214
+ min: D,
1215
+ max: U,
1216
+ value: m ? [D, U] : [e, a],
1200
1217
  isRange: !0,
1201
- onChange: (O) => ie(O),
1202
- onFinalChange: (O) => ve(O),
1203
- disabled: g,
1204
- activeMin: M,
1205
- activeMax: D,
1206
- isFaceted: A,
1207
- highlightFaceted: me
1218
+ onChange: (H) => ce(H),
1219
+ onFinalChange: (H) => xe(H),
1220
+ disabled: m,
1221
+ activeMin: y,
1222
+ activeMax: j,
1223
+ isFaceted: P,
1224
+ highlightFaceted: pe,
1225
+ "aria-label": o || `Filter by ${r}`
1208
1226
  }
1209
1227
  ) }),
1210
1228
  /* @__PURE__ */ t.jsxs(
@@ -1219,78 +1237,80 @@ const Xt = ({
1219
1237
  },
1220
1238
  children: [
1221
1239
  /* @__PURE__ */ t.jsx(
1222
- Y,
1240
+ ee,
1223
1241
  {
1242
+ label: "Min:",
1224
1243
  type: "number",
1225
- value: g ? f : S[0],
1226
- min: f,
1227
- max: Math.min(D, S[1] - 1),
1228
- onChange: N,
1229
- onBlur: Se,
1230
- disabled: g,
1231
- isValid: g || !pe
1244
+ value: m ? g : R[0],
1245
+ min: g,
1246
+ max: Math.min(j, R[1] - 1),
1247
+ onChange: A,
1248
+ onBlur: be,
1249
+ disabled: m,
1250
+ isValid: m || !ve
1232
1251
  }
1233
1252
  ),
1234
1253
  /* @__PURE__ */ t.jsx(
1235
- Y,
1254
+ ee,
1236
1255
  {
1256
+ label: "Max:",
1237
1257
  type: "number",
1238
- value: g ? s : S[1],
1239
- min: Math.max(M, S[0] + 1),
1240
- max: s,
1241
- onChange: re,
1258
+ value: m ? x : R[1],
1259
+ min: Math.max(y, R[0] + 1),
1260
+ max: x,
1261
+ onChange: se,
1242
1262
  onBlur: Ne,
1243
- disabled: g,
1244
- isValid: g || !h
1263
+ disabled: m,
1264
+ isValid: m || !h
1245
1265
  }
1246
1266
  )
1247
1267
  ]
1248
1268
  }
1249
1269
  )
1250
- ] }) : /* @__PURE__ */ t.jsxs(xe, { title: o, children: [
1251
- g && /* @__PURE__ */ t.jsxs("div", { className: ot.disabledMessage, children: [
1270
+ ] }) : /* @__PURE__ */ t.jsxs(Se, { title: o, children: [
1271
+ m && /* @__PURE__ */ t.jsxs("div", { className: at.disabledMessage, children: [
1252
1272
  "No adjustable range (all results have the same value: ",
1253
- f,
1273
+ g,
1254
1274
  ")."
1255
1275
  ] }),
1256
1276
  /* @__PURE__ */ t.jsxs("div", { style: { display: "flex", gap: "10px", alignItems: "flex-start" }, children: [
1257
1277
  /* @__PURE__ */ t.jsx(
1258
- Y,
1278
+ ee,
1259
1279
  {
1260
1280
  label: "Min:",
1261
1281
  type: "number",
1262
- value: g ? f : S[0],
1263
- min: f,
1264
- max: Math.min(D, S[1] - 1),
1265
- onChange: N,
1266
- onBlur: Se,
1267
- disabled: g,
1268
- isValid: g || !pe
1282
+ value: m ? g : R[0],
1283
+ min: g,
1284
+ max: Math.min(j, R[1] - 1),
1285
+ onChange: A,
1286
+ onBlur: be,
1287
+ disabled: m,
1288
+ isValid: m || !ve
1269
1289
  }
1270
1290
  ),
1271
1291
  /* @__PURE__ */ t.jsx(
1272
- Y,
1292
+ ee,
1273
1293
  {
1274
1294
  label: "Max:",
1275
1295
  type: "number",
1276
- value: g ? s : S[1],
1277
- min: Math.max(M, S[0] + 1),
1278
- max: s,
1279
- onChange: re,
1296
+ value: m ? x : R[1],
1297
+ min: Math.max(y, R[0] + 1),
1298
+ max: x,
1299
+ onChange: se,
1280
1300
  onBlur: Ne,
1281
- disabled: g,
1282
- isValid: g || !h
1301
+ disabled: m,
1302
+ isValid: m || !h
1283
1303
  }
1284
1304
  )
1285
1305
  ] })
1286
1306
  ] });
1287
- }, Pt = "_grid_nvpmn_2", Ht = {
1288
- grid: Pt
1289
- }, $t = at(({ field: r, value: o, onReset: u }) => /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsxs(
1290
- be,
1307
+ }, $t = "_grid_nvpmn_2", It = {
1308
+ grid: $t
1309
+ }, Wt = it(({ field: r, value: o, onReset: d }) => /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsxs(
1310
+ ye,
1291
1311
  {
1292
- onClick: u,
1293
- iconRight: /* @__PURE__ */ t.jsx(ct, {}),
1312
+ onClick: d,
1313
+ iconRight: /* @__PURE__ */ t.jsx(ut, {}),
1294
1314
  variant: "primary",
1295
1315
  size: "micro",
1296
1316
  children: [
@@ -1299,11 +1319,11 @@ const Xt = ({
1299
1319
  o
1300
1320
  ]
1301
1321
  }
1302
- ) })), It = at(({ field: r, min: o, max: u, onReset: i }) => /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsxs(
1303
- be,
1322
+ ) })), Dt = it(({ field: r, min: o, max: d, onReset: s }) => /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsxs(
1323
+ ye,
1304
1324
  {
1305
- onClick: i,
1306
- iconRight: /* @__PURE__ */ t.jsx(ct, {}),
1325
+ onClick: s,
1326
+ iconRight: /* @__PURE__ */ t.jsx(ut, {}),
1307
1327
  variant: "primary",
1308
1328
  size: "micro",
1309
1329
  children: [
@@ -1311,51 +1331,51 @@ const Xt = ({
1311
1331
  ": ",
1312
1332
  o,
1313
1333
  " – ",
1314
- u
1334
+ d
1315
1335
  ]
1316
1336
  }
1317
1337
  ) }));
1318
- function Kt() {
1338
+ function tr() {
1319
1339
  const {
1320
1340
  state: { filters: r, rangeFilters: o },
1321
- resetFilters: u,
1322
- resetSingleFilter: i
1323
- } = Me(), c = ze(
1341
+ resetFilters: d,
1342
+ resetSingleFilter: s
1343
+ } = Fe(), u = Be(
1324
1344
  () => Object.entries(r).map(
1325
- ([p, n]) => n.map((j) => ({ field: p, value: j }))
1345
+ ([f, n]) => n.map((w) => ({ field: f, value: w }))
1326
1346
  ).flat(),
1327
1347
  [r]
1328
- ), m = ze(
1329
- () => Object.entries(o).map(([p, { min: n, max: j }]) => ({ field: p, min: n, max: j })),
1348
+ ), v = Be(
1349
+ () => Object.entries(o).map(([f, { min: n, max: w }]) => ({ field: f, min: n, max: w })),
1330
1350
  [o]
1331
1351
  );
1332
- return ze(
1352
+ return Be(
1333
1353
  () => Object.keys(r).length > 0 || Object.keys(o).length > 0,
1334
1354
  [r, o]
1335
- ) ? /* @__PURE__ */ t.jsx(xe, { collapsible: !1, title: "Active filters", children: /* @__PURE__ */ t.jsxs("ul", { className: Ht.grid, children: [
1336
- c.map(({ field: p, value: n }) => /* @__PURE__ */ t.jsx(
1337
- $t,
1355
+ ) ? /* @__PURE__ */ t.jsx(Se, { collapsible: !1, title: "Active filters", children: /* @__PURE__ */ t.jsxs("ul", { className: It.grid, children: [
1356
+ u.map(({ field: f, value: n }) => /* @__PURE__ */ t.jsx(
1357
+ Wt,
1338
1358
  {
1339
- field: p,
1359
+ field: f,
1340
1360
  value: n,
1341
- onReset: () => i(p, n)
1361
+ onReset: () => s(f, n)
1342
1362
  },
1343
- `${p}-${n}`
1363
+ `${f}-${n}`
1344
1364
  )),
1345
- m.map(({ field: p, min: n, max: j }) => /* @__PURE__ */ t.jsx(
1346
- It,
1365
+ v.map(({ field: f, min: n, max: w }) => /* @__PURE__ */ t.jsx(
1366
+ Dt,
1347
1367
  {
1348
- field: p,
1368
+ field: f,
1349
1369
  min: n,
1350
- max: j,
1351
- onReset: () => i(p)
1370
+ max: w,
1371
+ onReset: () => s(f)
1352
1372
  },
1353
- p
1373
+ f
1354
1374
  )),
1355
1375
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1356
- be,
1376
+ ye,
1357
1377
  {
1358
- onClick: u,
1378
+ onClick: d,
1359
1379
  size: "micro",
1360
1380
  variant: "ghost",
1361
1381
  children: "Reset"
@@ -1363,122 +1383,122 @@ function Kt() {
1363
1383
  ) })
1364
1384
  ] }) }) : null;
1365
1385
  }
1366
- const Wt = "_radioGroup_nwf7i_6", Dt = {
1367
- radioGroup: Wt
1368
- }, er = ({ displayType: r = "dropdown", collapsible: o = !0, startCollapsed: u = !1 }) => {
1386
+ const qt = "_radioGroup_nwf7i_6", Bt = {
1387
+ radioGroup: qt
1388
+ }, rr = ({ displayType: r = "dropdown", collapsible: o = !0, startCollapsed: d = !1 }) => {
1369
1389
  const {
1370
- state: { sortableFields: i, sortBy: c, sortAscending: m },
1371
- setSort: F
1372
- } = Me();
1373
- if (!i || i.length === 0) return null;
1374
- const p = c ? `${c}:${m ? "asc" : "desc"}` : "none", n = [
1390
+ state: { sortableFields: s, sortBy: u, sortAscending: v },
1391
+ setSort: S
1392
+ } = Fe();
1393
+ if (!s || s.length === 0) return null;
1394
+ const f = u ? `${u}:${v ? "asc" : "desc"}` : "none", n = [
1375
1395
  { label: "None", value: "none" },
1376
- ...i.flatMap((R) => [
1377
- { label: `${R} (asc)`, value: `${R}:asc` },
1378
- { label: `${R} (desc)`, value: `${R}:desc` }
1396
+ ...s.flatMap((M) => [
1397
+ { label: `${M} (asc)`, value: `${M}:asc` },
1398
+ { label: `${M} (desc)`, value: `${M}:desc` }
1379
1399
  ])
1380
- ], j = (R) => {
1381
- if (R === "none" || R === "")
1382
- F(null, !0);
1400
+ ], w = (M) => {
1401
+ if (M === "none" || M === "")
1402
+ S(null, !0);
1383
1403
  else {
1384
- const [B, b] = R.split(":");
1385
- F(B, b === "asc");
1404
+ const [L, k] = M.split(":");
1405
+ S(L, k === "asc");
1386
1406
  }
1387
- }, I = o ? u : !1;
1407
+ }, V = o ? d : !1;
1388
1408
  return /* @__PURE__ */ t.jsx(
1389
- xe,
1409
+ Se,
1390
1410
  {
1391
1411
  title: "Sort by",
1392
1412
  collapsible: o,
1393
- collapsed: I,
1413
+ collapsed: V,
1394
1414
  children: r === "dropdown" ? /* @__PURE__ */ t.jsx(
1395
- xt,
1415
+ St,
1396
1416
  {
1397
- value: p,
1398
- onValueChange: j,
1417
+ value: f,
1418
+ onValueChange: w,
1399
1419
  options: n,
1400
1420
  placeholder: "Select sort..."
1401
1421
  }
1402
- ) : /* @__PURE__ */ t.jsx("div", { className: Dt.radioGroup, children: n.map((R) => /* @__PURE__ */ t.jsx(
1403
- bt,
1422
+ ) : /* @__PURE__ */ t.jsx("div", { className: Bt.radioGroup, children: n.map((M) => /* @__PURE__ */ t.jsx(
1423
+ yt,
1404
1424
  {
1405
- id: `sort-${R.value}`,
1425
+ id: `sort-${M.value}`,
1406
1426
  name: "sort-by",
1407
- value: R.value,
1408
- label: R.label,
1409
- checked: p === R.value,
1410
- onChange: (B) => j(B.target.value)
1427
+ value: M.value,
1428
+ label: M.label,
1429
+ checked: f === M.value,
1430
+ onChange: (L) => w(L.target.value)
1411
1431
  },
1412
- R.value
1432
+ M.value
1413
1433
  )) })
1414
1434
  }
1415
1435
  );
1416
- }, qt = "_list_1y4fk_1", Bt = {
1417
- list: qt
1436
+ }, zt = "_list_1y4fk_1", Lt = {
1437
+ list: zt
1418
1438
  };
1419
- function tr() {
1439
+ function nr() {
1420
1440
  const {
1421
1441
  state: { searchSettings: r },
1422
1442
  setSearchSettings: o
1423
- } = Me(), [u, i] = G(!1), c = (n, j) => {
1424
- const I = parseInt(j, 10);
1425
- isNaN(I) || o({
1426
- [n]: I
1443
+ } = Fe(), [d, s] = X(!1), u = (n, w) => {
1444
+ const V = parseInt(w, 10);
1445
+ isNaN(V) || o({
1446
+ [n]: V
1427
1447
  });
1428
- }, m = (n, j) => {
1448
+ }, v = (n, w) => {
1429
1449
  o({
1430
- [n]: j
1450
+ [n]: w
1431
1451
  });
1432
- }, F = (n, j) => {
1433
- const I = parseInt(j, 10);
1434
- isNaN(I) || o({
1452
+ }, S = (n, w) => {
1453
+ const V = parseInt(w, 10);
1454
+ isNaN(V) || o({
1435
1455
  coverageSetup: {
1436
1456
  ...r.coverageSetup,
1437
- [n]: I
1457
+ [n]: V
1438
1458
  }
1439
1459
  });
1440
- }, p = (n, j) => {
1460
+ }, f = (n, w) => {
1441
1461
  o({
1442
1462
  coverageSetup: {
1443
1463
  ...r.coverageSetup,
1444
- [n]: j
1464
+ [n]: w
1445
1465
  }
1446
1466
  });
1447
1467
  };
1448
- return /* @__PURE__ */ t.jsx(xe, { collapsed: !0, title: "Settings", children: /* @__PURE__ */ t.jsxs("ul", { className: Bt.list, children: [
1468
+ return /* @__PURE__ */ t.jsx(Se, { collapsed: !0, title: "Settings", children: /* @__PURE__ */ t.jsxs("ul", { className: Lt.list, children: [
1449
1469
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1450
- Y,
1470
+ ee,
1451
1471
  {
1452
1472
  label: "Max Results",
1453
1473
  type: "number",
1454
1474
  value: r.maxNumberOfRecordsToReturn.toString(),
1455
- onChange: (n) => c("maxNumberOfRecordsToReturn", n.target.value)
1475
+ onChange: (n) => u("maxNumberOfRecordsToReturn", n.target.value)
1456
1476
  }
1457
1477
  ) }),
1458
1478
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1459
- Y,
1479
+ ee,
1460
1480
  {
1461
1481
  label: "Coverage Depth",
1462
1482
  type: "number",
1463
1483
  value: r.coverageDepth.toString(),
1464
- onChange: (n) => c("coverageDepth", n.target.value)
1484
+ onChange: (n) => u("coverageDepth", n.target.value)
1465
1485
  }
1466
1486
  ) }),
1467
1487
  /* @__PURE__ */ t.jsxs("li", { children: [
1468
1488
  /* @__PURE__ */ t.jsx(
1469
- Y,
1489
+ ee,
1470
1490
  {
1471
1491
  label: "Minimum Score",
1472
1492
  type: "number",
1473
1493
  value: r.minimumScore.toString(),
1474
1494
  onChange: (n) => {
1475
- const j = parseFloat(n.target.value);
1476
- isNaN(j) || o({ minimumScore: j });
1495
+ const w = parseFloat(n.target.value);
1496
+ isNaN(w) || o({ minimumScore: w });
1477
1497
  }
1478
1498
  }
1479
1499
  ),
1480
1500
  /* @__PURE__ */ t.jsx("div", { style: { padding: "10px 10px 20px 10px" }, children: /* @__PURE__ */ t.jsx(
1481
- it,
1501
+ lt,
1482
1502
  {
1483
1503
  min: 0,
1484
1504
  max: 255,
@@ -1486,12 +1506,13 @@ function tr() {
1486
1506
  value: r.minimumScore,
1487
1507
  onChange: (n) => {
1488
1508
  o({ minimumScore: n });
1489
- }
1509
+ },
1510
+ "aria-label": "Minimum score"
1490
1511
  }
1491
1512
  ) })
1492
1513
  ] }),
1493
1514
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1494
- Y,
1515
+ ee,
1495
1516
  {
1496
1517
  label: "Placeholder text",
1497
1518
  type: "text",
@@ -1502,149 +1523,149 @@ function tr() {
1502
1523
  }
1503
1524
  ) }),
1504
1525
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1505
- oe,
1526
+ le,
1506
1527
  {
1507
1528
  label: "Show score",
1508
1529
  checked: r.showScore,
1509
- onChange: (n) => m("showScore", n)
1530
+ onChange: (n) => v("showScore", n)
1510
1531
  }
1511
1532
  ) }),
1512
1533
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1513
- oe,
1534
+ le,
1514
1535
  {
1515
1536
  label: "Enable Coverage",
1516
1537
  checked: r.enableCoverage,
1517
- onChange: (n) => m("enableCoverage", n)
1538
+ onChange: (n) => v("enableCoverage", n)
1518
1539
  }
1519
1540
  ) }),
1520
1541
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1521
- oe,
1542
+ le,
1522
1543
  {
1523
1544
  label: "Remove Duplicates",
1524
1545
  checked: r.removeDuplicates,
1525
- onChange: (n) => m("removeDuplicates", n)
1546
+ onChange: (n) => v("removeDuplicates", n)
1526
1547
  }
1527
1548
  ) }),
1528
- /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(be, { variant: "ghost", size: "micro", iconRight: u ? /* @__PURE__ */ t.jsx(Mt, {}) : /* @__PURE__ */ t.jsx(Nt, {}), onClick: () => i((n) => !n), children: u ? "Hide Coverage Setup" : "Show Coverage Setup" }) }),
1529
- u && /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
1549
+ /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(ye, { variant: "ghost", size: "micro", iconRight: d ? /* @__PURE__ */ t.jsx(Tt, {}) : /* @__PURE__ */ t.jsx(_t, {}), onClick: () => s((n) => !n), children: d ? "Hide Coverage Setup" : "Show Coverage Setup" }) }),
1550
+ d && /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
1530
1551
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1531
- oe,
1552
+ le,
1532
1553
  {
1533
1554
  label: "Cover Whole Query",
1534
1555
  checked: r.coverageSetup.coverWholeQuery,
1535
- onChange: (n) => p("coverWholeQuery", n)
1556
+ onChange: (n) => f("coverWholeQuery", n)
1536
1557
  }
1537
1558
  ) }),
1538
1559
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1539
- oe,
1560
+ le,
1540
1561
  {
1541
1562
  label: "Cover Whole Words",
1542
1563
  checked: r.coverageSetup.coverWholeWords,
1543
- onChange: (n) => p("coverWholeWords", n)
1564
+ onChange: (n) => f("coverWholeWords", n)
1544
1565
  }
1545
1566
  ) }),
1546
1567
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1547
- oe,
1568
+ le,
1548
1569
  {
1549
1570
  label: "Cover Fuzzy Words",
1550
1571
  checked: r.coverageSetup.coverFuzzyWords,
1551
- onChange: (n) => p("coverFuzzyWords", n)
1572
+ onChange: (n) => f("coverFuzzyWords", n)
1552
1573
  }
1553
1574
  ) }),
1554
1575
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1555
- oe,
1576
+ le,
1556
1577
  {
1557
1578
  label: "Cover Joined Words",
1558
1579
  checked: r.coverageSetup.coverJoinedWords,
1559
- onChange: (n) => p("coverJoinedWords", n)
1580
+ onChange: (n) => f("coverJoinedWords", n)
1560
1581
  }
1561
1582
  ) }),
1562
1583
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1563
- oe,
1584
+ le,
1564
1585
  {
1565
1586
  label: "Cover Prefix Suffix",
1566
1587
  checked: r.coverageSetup.coverPrefixSuffix,
1567
- onChange: (n) => p("coverPrefixSuffix", n)
1588
+ onChange: (n) => f("coverPrefixSuffix", n)
1568
1589
  }
1569
1590
  ) }),
1570
1591
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1571
- oe,
1592
+ le,
1572
1593
  {
1573
1594
  label: "Truncate list",
1574
1595
  checked: r.coverageSetup.truncate,
1575
- onChange: (n) => p("truncate", n)
1596
+ onChange: (n) => f("truncate", n)
1576
1597
  }
1577
1598
  ) }),
1578
1599
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1579
- Y,
1600
+ ee,
1580
1601
  {
1581
1602
  label: "Levenshtein Max Word Size",
1582
1603
  type: "number",
1583
1604
  value: r.coverageSetup.levenshteinMaxWordSize.toString(),
1584
- onChange: (n) => F("levenshteinMaxWordSize", n.target.value)
1605
+ onChange: (n) => S("levenshteinMaxWordSize", n.target.value)
1585
1606
  }
1586
1607
  ) }),
1587
1608
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1588
- Y,
1609
+ ee,
1589
1610
  {
1590
1611
  label: "Min Word Size",
1591
1612
  type: "number",
1592
1613
  value: r.coverageSetup.minWordSize.toString(),
1593
- onChange: (n) => F("minWordSize", n.target.value)
1614
+ onChange: (n) => S("minWordSize", n.target.value)
1594
1615
  }
1595
1616
  ) }),
1596
1617
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1597
- Y,
1618
+ ee,
1598
1619
  {
1599
1620
  label: "Coverage Min Word Hits Abs",
1600
1621
  type: "number",
1601
1622
  value: r.coverageSetup.coverageMinWordHitsAbs.toString(),
1602
- onChange: (n) => F("coverageMinWordHitsAbs", n.target.value)
1623
+ onChange: (n) => S("coverageMinWordHitsAbs", n.target.value)
1603
1624
  }
1604
1625
  ) }),
1605
1626
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1606
- Y,
1627
+ ee,
1607
1628
  {
1608
1629
  label: "Coverage Min Word Hits Relative",
1609
1630
  type: "number",
1610
1631
  value: r.coverageSetup.coverageMinWordHitsRelative.toString(),
1611
- onChange: (n) => F("coverageMinWordHitsRelative", n.target.value)
1632
+ onChange: (n) => S("coverageMinWordHitsRelative", n.target.value)
1612
1633
  }
1613
1634
  ) }),
1614
1635
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1615
- Y,
1636
+ ee,
1616
1637
  {
1617
1638
  label: "Coverage Q Limit For Error Tolerance",
1618
1639
  type: "number",
1619
1640
  value: r.coverageSetup.coverageQLimitForErrorTolerance.toString(),
1620
- onChange: (n) => F("coverageQLimitForErrorTolerance", n.target.value)
1641
+ onChange: (n) => S("coverageQLimitForErrorTolerance", n.target.value)
1621
1642
  }
1622
1643
  ) }),
1623
1644
  /* @__PURE__ */ t.jsx("li", { children: /* @__PURE__ */ t.jsx(
1624
- Y,
1645
+ ee,
1625
1646
  {
1626
1647
  label: "Coverage LCS Error Tolerance Relative Q",
1627
1648
  type: "number",
1628
1649
  value: r.coverageSetup.coverageLcsErrorToleranceRelativeq.toString(),
1629
- onChange: (n) => F("coverageLcsErrorToleranceRelativeq", n.target.value)
1650
+ onChange: (n) => S("coverageLcsErrorToleranceRelativeq", n.target.value)
1630
1651
  }
1631
1652
  ) })
1632
1653
  ] })
1633
1654
  ] }) });
1634
1655
  }
1635
- class rr extends pt {
1636
- constructor(u) {
1637
- super(u);
1638
- et(this, "reset", () => {
1656
+ class sr extends xt {
1657
+ constructor(d) {
1658
+ super(d);
1659
+ tt(this, "reset", () => {
1639
1660
  this.setState({ hasError: !1, error: null });
1640
1661
  });
1641
1662
  this.state = { hasError: !1, error: null };
1642
1663
  }
1643
- static getDerivedStateFromError(u) {
1644
- return { hasError: !0, error: u };
1664
+ static getDerivedStateFromError(d) {
1665
+ return { hasError: !0, error: d };
1645
1666
  }
1646
- componentDidCatch(u, i) {
1647
- console.error("[SearchErrorBoundary] Caught error:", u, i);
1667
+ componentDidCatch(d, s) {
1668
+ console.error("[SearchErrorBoundary] Caught error:", d, s);
1648
1669
  }
1649
1670
  render() {
1650
1671
  return this.state.hasError && this.state.error ? this.props.fallback ? this.props.fallback(this.state.error, this.reset) : /* @__PURE__ */ t.jsxs("div", { style: {
@@ -1697,15 +1718,15 @@ class rr extends pt {
1697
1718
  }
1698
1719
  }
1699
1720
  export {
1700
- Kt as ActiveFiltersPanel,
1701
- Zt as RangeFilterPanel,
1702
- rr as SearchErrorBoundary,
1703
- Jt as SearchInput,
1704
- Xt as SearchProvider,
1705
- Qt as SearchResults,
1706
- tr as SearchSettingsPanel,
1707
- er as SortByPanel,
1708
- Yt as ValueFilterPanel,
1709
- Me as useSearch,
1710
- Me as useSearchContext
1721
+ tr as ActiveFiltersPanel,
1722
+ er as RangeFilterPanel,
1723
+ sr as SearchErrorBoundary,
1724
+ Yt as SearchInput,
1725
+ Qt as SearchProvider,
1726
+ Zt as SearchResults,
1727
+ nr as SearchSettingsPanel,
1728
+ rr as SortByPanel,
1729
+ Kt as ValueFilterPanel,
1730
+ Fe as useSearch,
1731
+ Fe as useSearchContext
1711
1732
  };