@searchcraft/react-sdk 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,15 +1,15 @@
1
1
  import { jsx as n, jsxs as u, Fragment as k } from "react/jsx-runtime";
2
2
  import Q, { useState as g, useContext as Z, useEffect as K } from "react";
3
- var U = Object.defineProperty, H = (t, e, s) => e in t ? U(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s, N = (t, e, s) => H(t, typeof e != "symbol" ? e + "" : e, s);
3
+ var U = Object.defineProperty, H = (t, a, o) => a in t ? U(t, a, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[a] = o, N = (t, a, o) => H(t, typeof a != "symbol" ? a + "" : a, o);
4
4
  class Jn {
5
- constructor(e) {
6
- if (N(this, "config"), N(this, "search", async (s) => {
5
+ constructor(a) {
6
+ if (N(this, "config"), N(this, "search", async (o) => {
7
7
  try {
8
- const i = this.config.index.join(","), o = `${this.config.endpointURL}/index/${i}/search`, r = {
9
- query: s.query,
10
- mode: s.mode,
11
- app: this.config.index
12
- }, a = {
8
+ const s = this.config.index.join(","), i = `${this.config.endpointURL}/search`, r = {
9
+ query: o.query,
10
+ mode: o.mode,
11
+ app: s
12
+ }, e = {
13
13
  method: "POST",
14
14
  headers: {
15
15
  "Content-Type": "application/json",
@@ -18,13 +18,13 @@ class Jn {
18
18
  },
19
19
  body: JSON.stringify(r)
20
20
  };
21
- return await (await fetch(o, a)).json();
22
- } catch (i) {
23
- return i;
21
+ return await (await fetch(i, e)).json();
22
+ } catch (s) {
23
+ return s;
24
24
  }
25
- }), !e.endpointURL || !e.index)
25
+ }), !a.endpointURL || !a.index)
26
26
  throw new Error("Endpoint URL and Index value(s) must be provided");
27
- this.config = e;
27
+ this.config = a;
28
28
  }
29
29
  }
30
30
  const J = {
@@ -37,21 +37,21 @@ const J = {
37
37
  search: async () => null
38
38
  }, F = Q.createContext(J), Gn = ({
39
39
  children: t,
40
- searchcraft: e
40
+ searchcraft: a
41
41
  }) => {
42
- const [s, i] = g(""), [o, r] = g(!1), [a, l] = g(null), c = async () => {
42
+ const [o, s] = g(""), [i, r] = g(!1), [e, l] = g(null), c = async () => {
43
43
  r(!0);
44
- const _ = await e.search({ query: s, mode: "fuzzy" });
44
+ const _ = await a.search({ query: o, mode: "fuzzy" });
45
45
  l(_), r(!1);
46
46
  }, h = {
47
47
  error: null,
48
- index: e.config.index,
49
- isRequesting: o,
48
+ index: a.config.index,
49
+ isRequesting: i,
50
50
  mode: "fuzzy",
51
- query: s,
51
+ query: o,
52
52
  search: c,
53
- searchResults: a,
54
- setQuery: i
53
+ searchResults: e,
54
+ setQuery: s
55
55
  };
56
56
  return /* @__PURE__ */ n(F.Provider, { value: h, children: t });
57
57
  }, v = () => Z(F), G = "_formLTR_dvuqa_5", V = "_formRTL_dvuqa_9", X = "_searchContainer_dvuqa_13", L = {
@@ -70,57 +70,57 @@ var D = { exports: {} };
70
70
  */
71
71
  (function(t) {
72
72
  (function() {
73
- var e = {}.hasOwnProperty;
74
- function s() {
75
- for (var r = "", a = 0; a < arguments.length; a++) {
76
- var l = arguments[a];
77
- l && (r = o(r, i(l)));
73
+ var a = {}.hasOwnProperty;
74
+ function o() {
75
+ for (var r = "", e = 0; e < arguments.length; e++) {
76
+ var l = arguments[e];
77
+ l && (r = i(r, s(l)));
78
78
  }
79
79
  return r;
80
80
  }
81
- function i(r) {
81
+ function s(r) {
82
82
  if (typeof r == "string" || typeof r == "number")
83
83
  return r;
84
84
  if (typeof r != "object")
85
85
  return "";
86
86
  if (Array.isArray(r))
87
- return s.apply(null, r);
87
+ return o.apply(null, r);
88
88
  if (r.toString !== Object.prototype.toString && !r.toString.toString().includes("[native code]"))
89
89
  return r.toString();
90
- var a = "";
90
+ var e = "";
91
91
  for (var l in r)
92
- e.call(r, l) && r[l] && (a = o(a, l));
93
- return a;
92
+ a.call(r, l) && r[l] && (e = i(e, l));
93
+ return e;
94
94
  }
95
- function o(r, a) {
96
- return a ? r ? r + " " + a : r + a : r;
95
+ function i(r, e) {
96
+ return e ? r ? r + " " + e : r + e : r;
97
97
  }
98
- t.exports ? (s.default = s, t.exports = s) : window.classNames = s;
98
+ t.exports ? (o.default = o, t.exports = o) : window.classNames = o;
99
99
  })();
100
100
  })(D);
101
101
  var O = D.exports;
102
- const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRight_8jqm2_26", en = "_spinnerMarginLeft_8jqm2_32", rn = "_buttonLabel_8jqm2_38", on = "_rightandback_8jqm2_1", b = {
102
+ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRight_8jqm2_26", en = "_spinnerMarginLeft_8jqm2_32", rn = "_buttonLabel_8jqm2_38", an = "_rightandback_8jqm2_1", b = {
103
103
  button: nn,
104
104
  spinnerMarginRight: tn,
105
105
  spinnerMarginLeft: en,
106
106
  buttonLabel: rn,
107
- rightandback: on
108
- }, sn = "_spinnerContainer_1noam_1", an = "_spinnerDark_1noam_7", cn = "_spinning_1noam_1", ln = "_spinnerLight_1noam_16", S = {
109
- spinnerContainer: sn,
110
- spinnerDark: an,
107
+ rightandback: an
108
+ }, on = "_spinnerContainer_1noam_1", sn = "_spinnerDark_1noam_7", cn = "_spinning_1noam_1", ln = "_spinnerLight_1noam_16", S = {
109
+ spinnerContainer: on,
110
+ spinnerDark: sn,
111
111
  spinning: cn,
112
112
  spinnerLight: ln
113
113
  }, x = () => /* @__PURE__ */ n("div", { className: S.spinnerContainer, children: /* @__PURE__ */ n("div", { className: S.spinnerLight }) }), I = () => /* @__PURE__ */ n("div", { className: S.spinnerContainer, children: /* @__PURE__ */ n("div", { className: S.spinnerDark }) }), w = ({
114
114
  className: t,
115
- iconElement: e,
116
- iconOnly: s = !1,
117
- iconPosition: i = "left",
118
- label: o = "Search",
115
+ iconElement: a,
116
+ iconOnly: o = !1,
117
+ iconPosition: s = "left",
118
+ label: i = "Search",
119
119
  onClick: r
120
120
  }) => {
121
- const { isRequesting: a } = v();
121
+ const { isRequesting: e } = v();
122
122
  return /* @__PURE__ */ u(k, { children: [
123
- s && /* @__PURE__ */ n(
123
+ o && /* @__PURE__ */ n(
124
124
  "button",
125
125
  {
126
126
  className: p(
@@ -130,10 +130,10 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
130
130
  ),
131
131
  onClick: r,
132
132
  type: "submit",
133
- children: a ? /* @__PURE__ */ n(I, {}) : e
133
+ children: e ? /* @__PURE__ */ n(I, {}) : a
134
134
  }
135
135
  ),
136
- !s && /* @__PURE__ */ u(
136
+ !o && /* @__PURE__ */ u(
137
137
  "button",
138
138
  {
139
139
  className: p(
@@ -144,26 +144,26 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
144
144
  onClick: r,
145
145
  type: "submit",
146
146
  children: [
147
- i === "left" && a ? /* @__PURE__ */ n("div", { className: b.spinnerMarginRight, children: /* @__PURE__ */ n(I, {}) }) : e,
147
+ s === "left" && e ? /* @__PURE__ */ n("div", { className: b.spinnerMarginRight, children: /* @__PURE__ */ n(I, {}) }) : a,
148
148
  /* @__PURE__ */ n(
149
149
  "span",
150
150
  {
151
151
  className: p(
152
- a && b.buttonLabel,
152
+ e && b.buttonLabel,
153
153
  t,
154
154
  ".searchcraft-button-label"
155
155
  ),
156
- children: o
156
+ children: i
157
157
  }
158
158
  ),
159
- i === "right" && a ? /* @__PURE__ */ n("div", { className: b.spinnerMarginLeft, children: /* @__PURE__ */ n(I, {}) }) : e
159
+ s === "right" && e ? /* @__PURE__ */ n("div", { className: b.spinnerMarginLeft, children: /* @__PURE__ */ n(I, {}) }) : a
160
160
  ]
161
161
  }
162
162
  )
163
163
  ] });
164
164
  }, un = "_errorMessage_12dc9_5", pn = {
165
165
  errorMessage: un
166
- }, hn = ({ className: t, errorMessage: e }) => /* @__PURE__ */ n("p", { className: p(pn.errorMessage, t), children: e || "Search term is required." }), dn = "_inputContainerLTR_s1rq8_5", _n = "_inputContainerRTL_s1rq8_9", Cn = "_inputLTR_s1rq8_14", fn = "_inputRTL_s1rq8_35", mn = "_inputErrorLTR_s1rq8_57", Ln = "_inputErrorRTL_s1rq8_82", m = {
166
+ }, hn = ({ className: t, errorMessage: a }) => /* @__PURE__ */ n("p", { className: p(pn.errorMessage, t), children: a || "Search term is required." }), dn = "_inputContainerLTR_s1rq8_5", _n = "_inputContainerRTL_s1rq8_9", Cn = "_inputLTR_s1rq8_14", fn = "_inputRTL_s1rq8_35", mn = "_inputErrorLTR_s1rq8_57", Ln = "_inputErrorRTL_s1rq8_82", m = {
167
167
  inputContainerLTR: dn,
168
168
  inputContainerRTL: _n,
169
169
  inputLTR: Cn,
@@ -199,10 +199,10 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
199
199
  )
200
200
  ] }), B = ({
201
201
  onClearInput: t,
202
- rightToLeftOrientation: e = !1
202
+ rightToLeftOrientation: a = !1
203
203
  }) => {
204
- const { isRequesting: s } = v();
205
- return e ? /* @__PURE__ */ n(
204
+ const { isRequesting: o } = v();
205
+ return a ? /* @__PURE__ */ n(
206
206
  "button",
207
207
  {
208
208
  className: p(
@@ -211,7 +211,7 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
211
211
  ),
212
212
  onClick: t,
213
213
  type: "button",
214
- children: s ? /* @__PURE__ */ n(x, {}) : /* @__PURE__ */ n(M, {})
214
+ children: o ? /* @__PURE__ */ n(x, {}) : /* @__PURE__ */ n(M, {})
215
215
  }
216
216
  ) : /* @__PURE__ */ n(
217
217
  "button",
@@ -222,7 +222,7 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
222
222
  ),
223
223
  onClick: t,
224
224
  type: "button",
225
- children: s ? /* @__PURE__ */ n(x, {}) : /* @__PURE__ */ n(M, {})
225
+ children: o ? /* @__PURE__ */ n(x, {}) : /* @__PURE__ */ n(M, {})
226
226
  }
227
227
  );
228
228
  }, gn = "_inputCaptionLTR_xoy9r_5", vn = "_inputCaptionErrorLTR_xoy9r_14", Tn = "_inputCaptionRTL_xoy9r_24", yn = "_inputCaptionErrorRTL_xoy9r_34", T = {
@@ -232,26 +232,26 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
232
232
  inputCaptionErrorRTL: yn
233
233
  }, j = ({
234
234
  error: t = !1,
235
- inputCaptionClassName: e,
236
- inputCaptionValue: s = "Enter Search",
237
- rightToLeftOrientation: i = !1
238
- }) => i ? /* @__PURE__ */ n(
235
+ inputCaptionClassName: a,
236
+ inputCaptionValue: o = "Enter Search",
237
+ rightToLeftOrientation: s = !1
238
+ }) => s ? /* @__PURE__ */ n(
239
239
  "p",
240
240
  {
241
241
  className: p(
242
242
  t ? T.inputCaptionErrorRTL : T.inputCaptionRTL,
243
- e
243
+ a
244
244
  ),
245
- children: s
245
+ children: o
246
246
  }
247
247
  ) : /* @__PURE__ */ n(
248
248
  "p",
249
249
  {
250
250
  className: p(
251
251
  t ? T.inputCaptionErrorLTR : T.inputCaptionLTR,
252
- e
252
+ a
253
253
  ),
254
- children: s
254
+ children: o
255
255
  }
256
256
  ), Sn = "_inputIconLTR_cusap_5", In = "_inputIconRTL_cusap_13", y = {
257
257
  inputIconLTR: Sn,
@@ -282,27 +282,27 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
282
282
  )
283
283
  ] }), $ = ({
284
284
  error: t = !1,
285
- rightToLeftOrientation: e = !1
285
+ rightToLeftOrientation: a = !1
286
286
  }) => t ? /* @__PURE__ */ n(
287
287
  "div",
288
288
  {
289
- className: e ? y.inputIconRTL : y.inputIconLTR,
289
+ className: a ? y.inputIconRTL : y.inputIconLTR,
290
290
  children: /* @__PURE__ */ n(Nn, {})
291
291
  }
292
292
  ) : /* @__PURE__ */ n(
293
293
  "div",
294
294
  {
295
- className: e ? y.inputIconRTL : y.inputIconLTR,
295
+ className: a ? y.inputIconRTL : y.inputIconLTR,
296
296
  children: /* @__PURE__ */ n(kn, {})
297
297
  }
298
298
  ), A = ({
299
299
  error: t = !1,
300
- formClassName: e = "",
301
- inputCaptionClassName: s = "",
302
- inputClassName: i = "",
303
- inputCaptionValue: o = "",
300
+ formClassName: a = "",
301
+ inputCaptionClassName: o = "",
302
+ inputClassName: s = "",
303
+ inputCaptionValue: i = "",
304
304
  onClearInput: r,
305
- onSearchInputChange: a,
305
+ onSearchInputChange: e,
306
306
  placeholderValue: l = "Enter Search",
307
307
  rightToLeftOrientation: c = !1,
308
308
  query: h = ""
@@ -313,7 +313,7 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
313
313
  {
314
314
  className: p(
315
315
  _,
316
- e,
316
+ a,
317
317
  "searchcraft-input-form"
318
318
  ),
319
319
  children: c ? /* @__PURE__ */ u(k, { children: [
@@ -322,21 +322,21 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
322
322
  {
323
323
  className: p(
324
324
  t ? m.inputErrorRTL : m.inputRTL,
325
- i,
325
+ s,
326
326
  "searchcraft-input"
327
327
  ),
328
328
  id: "searchcraft-input-id",
329
- onChange: a,
329
+ onChange: e,
330
330
  placeholder: l,
331
331
  type: "text",
332
332
  value: h
333
333
  }
334
334
  ),
335
- o && /* @__PURE__ */ n(
335
+ i && /* @__PURE__ */ n(
336
336
  j,
337
337
  {
338
- inputCaptionClassName: s,
339
- inputCaptionValue: o,
338
+ inputCaptionClassName: o,
339
+ inputCaptionValue: i,
340
340
  rightToLeftOrientation: c
341
341
  }
342
342
  ),
@@ -360,21 +360,21 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
360
360
  {
361
361
  className: p(
362
362
  t ? m.inputErrorLTR : m.inputLTR,
363
- i,
363
+ s,
364
364
  "searchcraft-input"
365
365
  ),
366
366
  id: "searchcraft-input-id",
367
- onChange: a,
367
+ onChange: e,
368
368
  placeholder: l,
369
369
  type: "text",
370
370
  value: h
371
371
  }
372
372
  ),
373
- o && /* @__PURE__ */ n(
373
+ i && /* @__PURE__ */ n(
374
374
  j,
375
375
  {
376
- inputCaptionClassName: s,
377
- inputCaptionValue: o,
376
+ inputCaptionClassName: o,
377
+ inputCaptionValue: i,
378
378
  rightToLeftOrientation: c
379
379
  }
380
380
  ),
@@ -393,45 +393,45 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
393
393
  label: xn
394
394
  }, z = ({
395
395
  className: t,
396
- label: e = "Enter Search"
396
+ label: a = "Enter Search"
397
397
  }) => /* @__PURE__ */ n(
398
398
  "label",
399
399
  {
400
400
  className: p(wn.label, t),
401
401
  htmlFor: "searchcraft-input-id",
402
- children: e
402
+ children: a
403
403
  }
404
404
  ), Vn = ({
405
405
  errorMessage: t,
406
- handleSubmit: e,
407
- labelForInput: s = "Search",
408
- placeholderValue: i = "Enter Search Term",
409
- rightToLeftOrientation: o = !1
406
+ handleSubmit: a,
407
+ labelForInput: o = "Search",
408
+ placeholderValue: s = "Enter Search Term",
409
+ rightToLeftOrientation: i = !1
410
410
  }) => {
411
- const { query: r, setQuery: a } = v(), [l, c] = g(!1), h = (C) => {
412
- C.preventDefault(), r.trim() === "" ? c(!0) : (c(!1), e(r));
413
- }, _ = (C) => a(C.target.value), f = () => a("");
411
+ const { query: r, setQuery: e } = v(), [l, c] = g(!1), h = (C) => {
412
+ C.preventDefault(), r.trim() === "" ? c(!0) : (c(!1), a(r));
413
+ }, _ = (C) => e(C.target.value), f = () => e("");
414
414
  return /* @__PURE__ */ u(
415
415
  "form",
416
416
  {
417
- className: o ? L.formRTL : L.formLTR,
417
+ className: i ? L.formRTL : L.formLTR,
418
418
  onSubmit: h,
419
419
  children: [
420
- /* @__PURE__ */ n(z, { label: s }),
420
+ /* @__PURE__ */ n(z, { label: o }),
421
421
  /* @__PURE__ */ u("div", { className: L.searchContainer, children: [
422
- o && /* @__PURE__ */ n(w, {}),
422
+ i && /* @__PURE__ */ n(w, {}),
423
423
  /* @__PURE__ */ n(
424
424
  A,
425
425
  {
426
426
  error: l,
427
427
  onClearInput: f,
428
428
  onSearchInputChange: _,
429
- placeholderValue: i,
429
+ placeholderValue: s,
430
430
  query: r,
431
- rightToLeftOrientation: o
431
+ rightToLeftOrientation: i
432
432
  }
433
433
  ),
434
- !o && /* @__PURE__ */ n(w, {})
434
+ !i && /* @__PURE__ */ n(w, {})
435
435
  ] }),
436
436
  l && /* @__PURE__ */ n(hn, { errorMessage: t })
437
437
  ]
@@ -439,27 +439,27 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
439
439
  );
440
440
  }, Xn = ({
441
441
  autoSearchFormClass: t = "",
442
- handleSubmit: e,
443
- inputCaptionValue: s = "",
444
- labelForInput: i = "Search",
445
- onClearedInput: o = () => {
442
+ handleSubmit: a,
443
+ inputCaptionValue: o = "",
444
+ labelForInput: s = "Search",
445
+ onClearedInput: i = () => {
446
446
  },
447
447
  placeholderValue: r = "Search here",
448
- rightToLeftOrientation: a = !1,
448
+ rightToLeftOrientation: e = !1,
449
449
  searchContainerClass: l = ""
450
450
  }) => {
451
451
  const { query: c, setQuery: h } = v(), [_, f] = g(!1), C = (R) => {
452
452
  R.preventDefault(), h(R.currentTarget.value), c !== R.currentTarget.value && f(!0);
453
453
  }, P = () => {
454
- h(""), o();
454
+ h(""), i();
455
455
  };
456
456
  K(() => {
457
457
  if (_)
458
- e(c), f(!1);
458
+ a(c), f(!1);
459
459
  else
460
460
  return;
461
- }, [_, e, c]);
462
- const W = a ? L.formRTL : L.formLTR;
461
+ }, [_, a, c]);
462
+ const W = e ? L.formRTL : L.formLTR;
463
463
  return /* @__PURE__ */ u(
464
464
  "form",
465
465
  {
@@ -472,7 +472,7 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
472
472
  R.preventDefault();
473
473
  },
474
474
  children: [
475
- /* @__PURE__ */ n(z, { label: i }),
475
+ /* @__PURE__ */ n(z, { label: s }),
476
476
  /* @__PURE__ */ n(
477
477
  "div",
478
478
  {
@@ -484,12 +484,12 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
484
484
  children: /* @__PURE__ */ n(
485
485
  A,
486
486
  {
487
- inputCaptionValue: s,
487
+ inputCaptionValue: o,
488
488
  onClearInput: P,
489
489
  onSearchInputChange: C,
490
490
  placeholderValue: r,
491
491
  query: c,
492
- rightToLeftOrientation: a
492
+ rightToLeftOrientation: e
493
493
  }
494
494
  )
495
495
  }
@@ -524,14 +524,14 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
524
524
  }, Qn = ({
525
525
  buttonCallbackFn: t = () => {
526
526
  },
527
- buttonLabel: e = "",
528
- callbackFn: s = () => {
527
+ buttonLabel: a = "",
528
+ callbackFn: o = () => {
529
529
  },
530
- keyDownCallbackFn: i = () => {
530
+ keyDownCallbackFn: s = () => {
531
531
  },
532
- imageAltText: o = "",
532
+ imageAltText: i = "",
533
533
  interactiveResult: r = !1,
534
- imageSrc: a = "",
534
+ imageSrc: e = "",
535
535
  resultBodyContent: l = "",
536
536
  resultHeading: c = "",
537
537
  resultSubheading: h = ""
@@ -540,7 +540,7 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
540
540
  C.stopPropagation(), t();
541
541
  }, f = () => {
542
542
  if (r)
543
- s();
543
+ o();
544
544
  else
545
545
  return;
546
546
  };
@@ -550,10 +550,10 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
550
550
  className: r ? d.interactiveResultContainer : d.resultContainer,
551
551
  id: "searchcraft-item",
552
552
  onClick: f,
553
- onKeyDown: i,
553
+ onKeyDown: s,
554
554
  children: [
555
555
  r && /* @__PURE__ */ n("div", { className: d.interactiveIconLarge, children: /* @__PURE__ */ n(q, {}) }),
556
- /* @__PURE__ */ n("div", { className: d.imageContainer, children: /* @__PURE__ */ n("img", { alt: o, className: d.image, src: a }) }),
556
+ /* @__PURE__ */ n("div", { className: d.imageContainer, children: /* @__PURE__ */ n("img", { alt: i, className: d.image, src: e }) }),
557
557
  /* @__PURE__ */ u("div", { className: d.contentContainer, children: [
558
558
  /* @__PURE__ */ u("h2", { className: d.heading, children: [
559
559
  c,
@@ -564,7 +564,7 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
564
564
  /* @__PURE__ */ n("p", { className: d.bodyContent, children: l }),
565
565
  /* @__PURE__ */ u("button", { className: d.button, onClick: _, type: "button", children: [
566
566
  /* @__PURE__ */ n(En, {}),
567
- /* @__PURE__ */ n("span", { children: e })
567
+ /* @__PURE__ */ n("span", { children: a })
568
568
  ] })
569
569
  ] })
570
570
  ]
@@ -573,10 +573,10 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
573
573
  }, Zn = "_resultsContainer_pfxt4_5", Kn = {
574
574
  resultsContainer: Zn
575
575
  }, Yn = () => {
576
- var e;
576
+ var a, o, s;
577
577
  const { searchResults: t } = v();
578
- return /* @__PURE__ */ n("div", { className: Kn.resultsContainer, children: t != null && t.hits ? (e = t == null ? void 0 : t.hits) == null ? void 0 : e.map((s, i) => {
579
- const { doc: o } = s;
578
+ return /* @__PURE__ */ n("div", { className: Kn.resultsContainer, children: (a = t == null ? void 0 : t.data) != null && a.hits ? (s = (o = t == null ? void 0 : t.data) == null ? void 0 : o.hits) == null ? void 0 : s.map((i, r) => {
579
+ const { doc: e } = i;
580
580
  return /* @__PURE__ */ n(
581
581
  Qn,
582
582
  {
@@ -588,12 +588,12 @@ const p = /* @__PURE__ */ Y(O), nn = "_button_8jqm2_5", tn = "_spinnerMarginRigh
588
588
  console.log("interactive");
589
589
  },
590
590
  interactiveResult: !0,
591
- imageSrc: o == null ? void 0 : o.poster,
592
- resultBodyContent: o == null ? void 0 : o.overview,
593
- resultHeading: o == null ? void 0 : o.title,
594
- resultSubheading: o == null ? void 0 : o.release_date
591
+ imageSrc: e == null ? void 0 : e.poster,
592
+ resultBodyContent: e == null ? void 0 : e.overview,
593
+ resultHeading: e == null ? void 0 : e.title,
594
+ resultSubheading: e == null ? void 0 : e.release_date
595
595
  },
596
- `${o == null ? void 0 : o.id}-${i}`
596
+ `${e == null ? void 0 : e.id}-${r}`
597
597
  );
598
598
  }) : /* @__PURE__ */ n("div", { children: "no results found" }) });
599
599
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../core-sdk/dist/index.js","../src/components/providers/SearchcraftContext.tsx","../src/components/providers/SearchcraftProvider.tsx","../../../node_modules/classnames/index.js","../src/components/ui/components/Spinner/index.tsx","../src/components/ui/components/Button/index.tsx","../src/components/ui/components/ErrorMessage/index.tsx","../src/components/ui/assets/ClearInputIcon.jsx","../src/components/ui/components/ClearInputButton/index.tsx","../src/components/ui/components/InputCaption/index.tsx","../src/components/ui/assets/SearchIcons.jsx","../src/components/ui/components/InputIcon/index.tsx","../src/components/ui/components/Input/index.tsx","../src/components/ui/components/InputLabel/index.tsx","../src/components/ui/BaseSearchForm/index.tsx","../src/components/ui/AutoSearchForm/index.tsx","../src/components/ui/assets/ButtonIcons.jsx","../src/components/ui/BaseSearchResult/index.tsx","../src/components/ui/BaseSearchResults/index.tsx"],"sourcesContent":["var c = Object.defineProperty;\nvar d = (n, e, t) => e in n ? c(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t;\nvar o = (n, e, t) => d(n, typeof e != \"symbol\" ? e + \"\" : e, t);\nclass p {\n constructor(e) {\n o(this, \"config\");\n /**\n * @param {string} query - User provided value Searchcraft will use to search against\n * @param {string} mode - Can be either 'fuzzy' or 'normal'\n * @returns {SearchResult} - Returns a `SearchResponse` object with the results from the search or throws an error\n */\n o(this, \"search\", async (e) => {\n try {\n const t = this.config.index.join(\",\"), i = `${this.config.endpointURL}/index/${t}/search`, r = {\n query: e.query,\n mode: e.mode,\n app: this.config.index\n }, s = {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Access-Control-Allow-Origin\": \"*\",\n Authorization: this.config.apiKey ? `${this.config.apiKey}` : \"\"\n },\n body: JSON.stringify(r)\n };\n return await (await fetch(i, s)).json();\n } catch (t) {\n return t;\n }\n });\n if (!e.endpointURL || !e.index)\n throw new Error(\"Endpoint URL and Index value(s) must be provided\");\n this.config = e;\n }\n}\nexport {\n p as CoreSDK\n};\n//# sourceMappingURL=index.js.map\n","import React from 'react';\n\nimport type { SearchcraftProviderContext } from './SearchcraftProviderContext';\n\nconst defaultContext: SearchcraftProviderContext = {\n error: null,\n index: [''],\n isRequesting: false,\n mode: 'fuzzy',\n query: '',\n setQuery: (query) => query,\n search: async () => null,\n};\n\nexport const SearchcraftContext =\n React.createContext<SearchcraftProviderContext>(defaultContext);\n","import { type PropsWithChildren, useContext, useState } from 'react';\nimport type {\n SearchcraftInstance,\n SearchError,\n SearchResult,\n} from '@searchcraft/core';\nimport { CoreSDK as Searchcraft } from '@searchcraft/core';\n\nimport { SearchcraftContext } from './SearchcraftContext';\nimport type { SearchcraftProviderContext } from './SearchcraftProviderContext';\n\nconst SearchcraftProvider = ({\n children,\n searchcraft,\n}: PropsWithChildren & SearchcraftInstance) => {\n const [query, setQuery] = useState<string>('');\n const [isRequesting, setIsRequesting] = useState<boolean>(false);\n const [searchResults, setSearchResults] = useState<\n SearchResult | SearchError | null\n >(null);\n\n const search = async () => {\n setIsRequesting(true);\n const results = await searchcraft.search({ query, mode: 'fuzzy' });\n setSearchResults(results);\n setIsRequesting(false);\n };\n\n const providerContext: SearchcraftProviderContext = {\n error: null,\n index: searchcraft.config.index,\n isRequesting,\n mode: 'fuzzy',\n query,\n search,\n searchResults,\n setQuery,\n };\n\n return (\n <SearchcraftContext.Provider value={providerContext}>\n {children}\n </SearchcraftContext.Provider>\n );\n};\n\nconst useSearchcraft = () =>\n useContext<SearchcraftProviderContext>(SearchcraftContext);\n\nexport { SearchcraftProvider, useSearchcraft, Searchcraft };\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import styles from '@styles/sc-spinner.module.scss';\n\nexport const SpinnerLight = () => (\n <div className={styles.spinnerContainer}>\n <div className={styles.spinnerLight} />\n </div>\n);\n\nexport const SpinnerDark = () => (\n <div className={styles.spinnerContainer}>\n <div className={styles.spinnerDark} />\n </div>\n);\n","import type { FC, ReactNode } from 'react';\nimport classNames from 'classnames';\n\nimport { useSearchcraft } from '@/components/providers/SearchcraftProvider';\nimport styles from '@styles/sc-button.module.scss';\n\nimport { SpinnerDark } from '../Spinner';\n\nexport type ButtonProps = {\n className?: string;\n iconElement?: ReactNode;\n iconOnly?: boolean;\n iconPosition?: string;\n label?: string;\n onClick?: () => void;\n};\n\nconst Button: FC<ButtonProps> = ({\n className,\n iconElement,\n iconOnly = false,\n iconPosition = 'left',\n label = 'Search',\n onClick,\n}) => {\n const { isRequesting } = useSearchcraft();\n return (\n <>\n {iconOnly && (\n <button\n className={classNames(\n styles.button,\n className,\n '.searchcraft-button',\n )}\n onClick={onClick}\n type='submit'\n >\n {isRequesting ? <SpinnerDark /> : iconElement}\n </button>\n )}\n {!iconOnly && (\n <button\n className={classNames(\n styles.button,\n className,\n '.searchcraft-button',\n )}\n onClick={onClick}\n type='submit'\n >\n {iconPosition === 'left' && isRequesting ? (\n <div className={styles.spinnerMarginRight}>\n <SpinnerDark />\n </div>\n ) : (\n iconElement\n )}\n <span\n className={classNames(\n isRequesting && styles.buttonLabel,\n className,\n '.searchcraft-button-label',\n )}\n >\n {label}\n </span>\n {iconPosition === 'right' && isRequesting ? (\n <div className={styles.spinnerMarginLeft}>\n <SpinnerDark />\n </div>\n ) : (\n iconElement\n )}\n </button>\n )}\n </>\n );\n};\n\nexport default Button;\n","import type { FC } from 'react';\nimport classNames from 'classnames';\n\nimport styles from '@styles/sc-input-error-message.module.scss';\n\nexport type ErrorMessageProps = {\n className?: string;\n errorMessage?: string;\n};\n\nconst ErrorMessage: FC<ErrorMessageProps> = ({ className, errorMessage }) => {\n return (\n <p className={classNames(styles.errorMessage, className)}>\n {errorMessage || 'Search term is required.'}\n </p>\n );\n};\n\nexport default ErrorMessage;\n","export const ClearInputIcon = () => (\n <svg width='22' height='22' viewBox='0 0 22 22' fill='none'>\n <title>Searchcraft Clear Input Icon</title>\n <path\n d='M14 8L8 14M8 8L14 14M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z'\n stroke='black'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n\nexport const ArrowRightIcon = () => (\n <svg width='20' height='21' viewBox='0 0 20 21' fill='none'>\n <title>Searchcraft Arrow Right Icon</title>\n <path\n d='M7.5 15.0444L12.5 10.0444L7.5 5.04443'\n stroke='#737373'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n","import type { FC } from 'react';\nimport classNames from 'classnames';\n\nimport { useSearchcraft } from '@/components/providers/SearchcraftProvider';\nimport styles from '@styles/sc-clear-input-button.module.scss';\n\nimport { ClearInputIcon } from '../../assets/ClearInputIcon';\nimport { SpinnerLight } from '../Spinner';\n\nexport type ClearInputButtonProps = {\n onClearInput?: () => void;\n rightToLeftOrientation?: boolean;\n};\n\nexport const ClearInputButton: FC<ClearInputButtonProps> = ({\n onClearInput,\n rightToLeftOrientation = false,\n}) => {\n const { isRequesting } = useSearchcraft();\n return rightToLeftOrientation ? (\n <button\n className={classNames(\n styles.inputClearButtonRTL,\n '.sc-clear-input-button-rtl',\n )}\n onClick={onClearInput}\n type='button'\n >\n {isRequesting ? <SpinnerLight /> : <ClearInputIcon />}\n </button>\n ) : (\n <button\n className={classNames(\n styles.inputClearButtonLTR,\n '.sc-clear-input-button-ltr',\n )}\n onClick={onClearInput}\n type='button'\n >\n {isRequesting ? <SpinnerLight /> : <ClearInputIcon />}\n </button>\n );\n};\n","import type { FC } from 'react';\nimport classNames from 'classnames';\n\nimport styles from '@styles/sc-input-caption.module.scss';\n\nexport type InputCaptionProps = {\n error?: boolean;\n inputCaptionClassName?: string;\n inputCaptionValue: string;\n rightToLeftOrientation?: boolean;\n};\n\nexport const InputCaption: FC<InputCaptionProps> = ({\n error = false,\n inputCaptionClassName,\n inputCaptionValue = 'Enter Search',\n rightToLeftOrientation = false,\n}) => {\n return rightToLeftOrientation ? (\n <p\n className={classNames(\n error ? styles.inputCaptionErrorRTL : styles.inputCaptionRTL,\n inputCaptionClassName,\n )}\n >\n {inputCaptionValue}\n </p>\n ) : (\n <p\n className={classNames(\n error ? styles.inputCaptionErrorLTR : styles.inputCaptionLTR,\n inputCaptionClassName,\n )}\n >\n {inputCaptionValue}\n </p>\n );\n};\n","export const SearchIcon = () => (\n <svg width='20' height='20' viewBox='0 0 20 20' fill='none'>\n <title>Searchcraft Search Icon</title>\n <path\n d='M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z'\n stroke='#404040'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n\nexport const SearchIconError = () => (\n <svg width='20' height='20' viewBox='0 0 20 20' fill='none'>\n <title>Searchcraft Error Search Icon</title>\n <path\n d='M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z'\n stroke='#737373'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n","import type { FC } from 'react';\n\nimport styles from '@styles/sc-input-icon.module.scss';\nimport { SearchIcon, SearchIconError } from '../../assets/SearchIcons';\n\nexport type InputIconProps = {\n error?: boolean;\n rightToLeftOrientation?: boolean;\n};\n\nexport const InputIcon: FC<InputIconProps> = ({\n error = false,\n rightToLeftOrientation = false,\n}) => {\n return error ? (\n <div\n className={\n rightToLeftOrientation ? styles.inputIconRTL : styles.inputIconLTR\n }\n >\n <SearchIconError />\n </div>\n ) : (\n <div\n className={\n rightToLeftOrientation ? styles.inputIconRTL : styles.inputIconLTR\n }\n >\n <SearchIcon />\n </div>\n );\n};\n","import type { ChangeEventHandler, FC } from 'react';\nimport classNames from 'classnames';\n\nimport styles from '@styles/sc-input.module.scss';\n\nimport { ClearInputButton } from '../ClearInputButton';\nimport { InputCaption } from '../InputCaption';\nimport { InputIcon } from '../InputIcon';\n\nexport type InputProps = {\n error?: boolean;\n formClassName?: string;\n inputCaptionClassName?: string;\n inputCaptionValue?: string;\n inputClassName?: string;\n onClearInput?: () => void;\n onSearchInputChange: ChangeEventHandler<HTMLInputElement>;\n placeholderValue?: string;\n rightToLeftOrientation?: boolean;\n query: string;\n};\n\nconst Input: FC<InputProps> = ({\n error = false,\n formClassName = '',\n inputCaptionClassName = '',\n inputClassName = '',\n inputCaptionValue = '',\n onClearInput,\n onSearchInputChange,\n placeholderValue = 'Enter Search',\n rightToLeftOrientation = false,\n query = '',\n}) => {\n const containerClassName = rightToLeftOrientation\n ? styles.inputContainerRTL\n : styles.inputContainerLTR;\n return (\n <div\n className={classNames(\n containerClassName,\n formClassName,\n 'searchcraft-input-form',\n )}\n >\n {rightToLeftOrientation ? (\n <>\n <input\n className={classNames(\n error ? styles.inputErrorRTL : styles.inputRTL,\n inputClassName,\n 'searchcraft-input',\n )}\n id='searchcraft-input-id'\n onChange={onSearchInputChange}\n placeholder={placeholderValue}\n type='text'\n value={query}\n />\n {inputCaptionValue && (\n <InputCaption\n inputCaptionClassName={inputCaptionClassName}\n inputCaptionValue={inputCaptionValue}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n )}\n {query.length > 0 && (\n <ClearInputButton\n onClearInput={onClearInput}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n )}\n <InputIcon\n error={error}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n </>\n ) : (\n <>\n <input\n className={classNames(\n error ? styles.inputErrorLTR : styles.inputLTR,\n inputClassName,\n 'searchcraft-input',\n )}\n id='searchcraft-input-id'\n onChange={onSearchInputChange}\n placeholder={placeholderValue}\n type='text'\n value={query}\n />\n {inputCaptionValue && (\n <InputCaption\n inputCaptionClassName={inputCaptionClassName}\n inputCaptionValue={inputCaptionValue}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n )}\n {query.length > 0 && (\n <ClearInputButton\n onClearInput={onClearInput}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n )}\n <InputIcon error={error} />\n </>\n )}\n </div>\n );\n};\n\nexport default Input;\n","import type { FC } from 'react';\nimport classNames from 'classnames';\n\nimport styles from '@styles/sc-input-label.module.scss';\n\nexport type InputLabelProps = {\n className?: string;\n label: string;\n};\n\nconst InputLabel: FC<InputLabelProps> = ({\n className,\n label = 'Enter Search',\n}) => {\n return (\n <label\n className={classNames(styles.label, className)}\n htmlFor='searchcraft-input-id'\n >\n {label}\n </label>\n );\n};\n\nexport default InputLabel;\n","import { useState, type FC } from 'react';\n\nimport { useSearchcraft } from '@components/providers/SearchcraftProvider';\nimport styles from '@styles/sc-search-form.module.scss';\n\nimport Button from '../components/Button';\nimport ErrorMessage from '../components/ErrorMessage';\nimport Input from '../components/Input';\nimport InputLabel from '../components/InputLabel';\n\nexport interface BaseSearchFormProps {\n errorMessage?: string;\n handleSubmit: (query: string) => void;\n labelForInput?: string;\n placeholderValue?: string;\n rightToLeftOrientation?: boolean;\n}\n\n/**\n * * Form used to submit the search query using a provided search function.\n */\nconst BaseSearchForm: FC<BaseSearchFormProps> = ({\n errorMessage,\n handleSubmit,\n labelForInput = 'Search',\n placeholderValue = 'Enter Search Term',\n rightToLeftOrientation = false,\n}) => {\n const { query, setQuery } = useSearchcraft();\n const [error, setError] = useState<boolean>(false);\n\n const handleFormSubmit = (e: { preventDefault: () => void }) => {\n e.preventDefault();\n if (query.trim() === '') {\n setError(true);\n } else {\n setError(false);\n handleSubmit(query);\n }\n };\n\n const handleSearchInputChange = (event: { target: { value: string } }) =>\n setQuery(event.target.value);\n\n const handleClearInput = () => setQuery('');\n\n return (\n <form\n className={rightToLeftOrientation ? styles.formRTL : styles.formLTR}\n onSubmit={handleFormSubmit}\n >\n <InputLabel label={labelForInput} />\n <div className={styles.searchContainer}>\n {rightToLeftOrientation && <Button />}\n <Input\n error={error}\n onClearInput={handleClearInput}\n onSearchInputChange={handleSearchInputChange}\n placeholderValue={placeholderValue}\n query={query}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n {!rightToLeftOrientation && <Button />}\n </div>\n {error && <ErrorMessage errorMessage={errorMessage} />}\n </form>\n );\n};\n\nexport default BaseSearchForm;\n","import { useState, type FC, useEffect, type ChangeEventHandler } from 'react';\n\nimport { useSearchcraft } from '@components/providers/SearchcraftProvider';\nimport styles from '@styles/sc-search-form.module.scss';\n\nimport Input from '../components/Input';\nimport InputLabel from '../components/InputLabel';\nimport classNames from 'classnames';\n\nexport interface AutoSearchFormProps {\n autoSearchFormClass?: string;\n handleSubmit: (query: string) => void;\n inputCaptionValue?: string;\n labelForInput?: string;\n onClearedInput?: () => void;\n placeholderValue?: string;\n rightToLeftOrientation?: boolean;\n searchContainerClass?: string;\n}\n\n/**\n * * Button-less form used to submit the search query with a timing configurable debounced function.\n */\nconst AutoSearchForm: FC<AutoSearchFormProps> = ({\n autoSearchFormClass = '',\n handleSubmit,\n inputCaptionValue = '',\n labelForInput = 'Search',\n onClearedInput = () => {},\n placeholderValue = 'Search here',\n rightToLeftOrientation = false,\n searchContainerClass = '',\n}) => {\n const { query, setQuery } = useSearchcraft();\n const [canSearch, setCanSearch] = useState<boolean>(false);\n\n const handleSearchInputChange: ChangeEventHandler<HTMLInputElement> = (\n event,\n ) => {\n event.preventDefault();\n setQuery(event.currentTarget.value);\n if (query !== event.currentTarget.value) {\n setCanSearch(true);\n }\n };\n\n /**\n * * Exposes a callback for convenience when the input's value is cleared by the user\n */\n const handleClearInput = () => {\n setQuery('');\n onClearedInput();\n };\n\n /**\n * * Delay the submit function until the user is done typing to throttle API usage.\n */\n useEffect(() => {\n if (canSearch) {\n handleSubmit(query);\n setCanSearch(false);\n } else {\n return;\n }\n }, [canSearch, handleSubmit, query]);\n const autoSearchFormClassname = rightToLeftOrientation\n ? styles.formRTL\n : styles.formLTR;\n return (\n <form\n className={classNames(\n autoSearchFormClassname,\n autoSearchFormClass,\n 'searchcraft-auto-search-form',\n )}\n onSubmit={(event) => {\n event.preventDefault();\n }}\n >\n <InputLabel label={labelForInput} />\n <div\n className={classNames(\n styles.searchContainer,\n searchContainerClass,\n 'searchcraft-input-container',\n )}\n >\n <Input\n inputCaptionValue={inputCaptionValue}\n onClearInput={handleClearInput}\n onSearchInputChange={handleSearchInputChange}\n placeholderValue={placeholderValue}\n query={query}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n </div>\n </form>\n );\n};\n\nexport default AutoSearchForm;\n","export const ButtonIcon = () => (\n <svg width='20' height='20' viewBox='0 0 20 20' fill='none'>\n <title>Searchcraft Button Icon</title>\n <path\n d='M2.725 5.79959L10 10.0079L17.275 5.79959M10 18.3996V9.99959M17.5 13.3329V6.66626C17.4997 6.37399 17.4225 6.08693 17.2763 5.8339C17.13 5.58086 16.9198 5.37073 16.6667 5.22459L10.8333 1.89126C10.58 1.74498 10.2926 1.66797 10 1.66797C9.70744 1.66797 9.42003 1.74498 9.16667 1.89126L3.33333 5.22459C3.08022 5.37073 2.86998 5.58086 2.72372 5.8339C2.57745 6.08693 2.5003 6.37399 2.5 6.66626V13.3329C2.5003 13.6252 2.57745 13.9123 2.72372 14.1653C2.86998 14.4183 3.08022 14.6285 3.33333 14.7746L9.16667 18.1079C9.42003 18.2542 9.70744 18.3312 10 18.3312C10.2926 18.3312 10.58 18.2542 10.8333 18.1079L16.6667 14.7746C16.9198 14.6285 17.13 14.4183 17.2763 14.1653C17.4225 13.9123 17.4997 13.6252 17.5 13.3329Z'\n stroke='white'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n","import type { FC } from 'react';\n\nimport { ButtonIcon } from '../assets/ButtonIcons';\n\nimport styles from '@styles/sc-search-result.module.scss';\nimport { ArrowRightIcon } from '../assets/ClearInputIcon';\n\ninterface BaseSearchResultProps {\n buttonCallbackFn?: () => void;\n buttonLabel?: string;\n imageAltText?: string;\n imageSrc?: string;\n interactiveResult?: boolean;\n callbackFn?: () => void;\n keyDownCallbackFn?: () => void;\n resultBodyContent?: string;\n resultHeading?: string;\n resultSubheading?: string;\n}\n\nconst BaseSearchResult: FC<BaseSearchResultProps> = ({\n buttonCallbackFn = () => {},\n buttonLabel = '',\n callbackFn = () => {},\n keyDownCallbackFn = () => {},\n imageAltText = '',\n interactiveResult = false,\n imageSrc = '',\n resultBodyContent = '',\n resultHeading = '',\n resultSubheading = '',\n}) => {\n const buttonFn = (event: { stopPropagation: () => void }) => {\n event.stopPropagation();\n buttonCallbackFn();\n };\n\n const callbackFunc = () => {\n if (interactiveResult) {\n callbackFn();\n } else {\n return;\n }\n };\n\n return (\n <div\n className={\n interactiveResult\n ? styles.interactiveResultContainer\n : styles.resultContainer\n }\n id='searchcraft-item'\n onClick={callbackFunc}\n onKeyDown={keyDownCallbackFn}\n >\n {interactiveResult && (\n <div className={styles.interactiveIconLarge}>\n <ArrowRightIcon />\n </div>\n )}\n <div className={styles.imageContainer}>\n <img alt={imageAltText} className={styles.image} src={imageSrc} />\n </div>\n <div className={styles.contentContainer}>\n <h2 className={styles.heading}>\n {resultHeading}{' '}\n {interactiveResult && (\n <div className={styles.interactiveIconSmall}>\n <ArrowRightIcon />\n </div>\n )}\n </h2>\n <h3 className={styles.subheading}>{resultSubheading}</h3>\n <p className={styles.bodyContent}>{resultBodyContent}</p>\n <button className={styles.button} onClick={buttonFn} type='button'>\n <ButtonIcon />\n <span>{buttonLabel}</span>\n </button>\n </div>\n </div>\n );\n};\n\nexport default BaseSearchResult;\n","import type { FC } from 'react';\n\nimport styles from '@styles/sc-search-results.module.scss';\n\nimport { useSearchcraft } from '@/components/providers/SearchcraftProvider';\nimport BaseSearchResult from '@components/ui/BaseSearchResult';\n\nconst BaseSearchResults: FC = () => {\n const { searchResults } = useSearchcraft();\n return (\n <div className={styles.resultsContainer}>\n {searchResults?.hits ? (\n searchResults?.hits?.map((document, index) => {\n const { doc: result } = document;\n const callback = () => {\n console.log('interactive');\n };\n const buttonCallback = () => {\n console.log('button callback');\n };\n return (\n <BaseSearchResult\n key={`${result?.id}-${index}`}\n buttonLabel='View More'\n buttonCallbackFn={buttonCallback}\n callbackFn={callback}\n interactiveResult\n imageSrc={result?.poster}\n resultBodyContent={result?.overview}\n resultHeading={result?.title}\n resultSubheading={result?.release_date}\n />\n );\n })\n ) : (\n <div>no results found</div>\n )}\n </div>\n );\n};\n\nexport default BaseSearchResults;\n"],"names":["c","d","n","t","o","p","e","i","s","defaultContext","query","SearchcraftContext","React","SearchcraftProvider","children","searchcraft","setQuery","useState","isRequesting","setIsRequesting","searchResults","setSearchResults","search","results","providerContext","useSearchcraft","useContext","hasOwn","classNames","classes","arg","appendClass","parseValue","key","value","newClass","module","SpinnerLight","jsx","styles","SpinnerDark","Button","className","iconElement","iconOnly","iconPosition","label","onClick","jsxs","Fragment","ErrorMessage","errorMessage","ClearInputIcon","ArrowRightIcon","ClearInputButton","onClearInput","rightToLeftOrientation","InputCaption","error","inputCaptionClassName","inputCaptionValue","SearchIcon","SearchIconError","InputIcon","Input","formClassName","inputClassName","onSearchInputChange","placeholderValue","containerClassName","InputLabel","BaseSearchForm","handleSubmit","labelForInput","setError","handleFormSubmit","handleSearchInputChange","event","handleClearInput","AutoSearchForm","autoSearchFormClass","onClearedInput","searchContainerClass","canSearch","setCanSearch","useEffect","autoSearchFormClassname","ButtonIcon","BaseSearchResult","buttonCallbackFn","buttonLabel","callbackFn","keyDownCallbackFn","imageAltText","interactiveResult","imageSrc","resultBodyContent","resultHeading","resultSubheading","buttonFn","callbackFunc","BaseSearchResults","_a","document","index","result"],"mappings":"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","x_google_ignoreList":[3]}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/@searchcraft/core/dist/index.js","../src/components/providers/SearchcraftContext.tsx","../src/components/providers/SearchcraftProvider.tsx","../../../node_modules/classnames/index.js","../src/components/ui/components/Spinner/index.tsx","../src/components/ui/components/Button/index.tsx","../src/components/ui/components/ErrorMessage/index.tsx","../src/components/ui/assets/ClearInputIcon.jsx","../src/components/ui/components/ClearInputButton/index.tsx","../src/components/ui/components/InputCaption/index.tsx","../src/components/ui/assets/SearchIcons.jsx","../src/components/ui/components/InputIcon/index.tsx","../src/components/ui/components/Input/index.tsx","../src/components/ui/components/InputLabel/index.tsx","../src/components/ui/BaseSearchForm/index.tsx","../src/components/ui/AutoSearchForm/index.tsx","../src/components/ui/assets/ButtonIcons.jsx","../src/components/ui/BaseSearchResult/index.tsx","../src/components/ui/BaseSearchResults/index.tsx"],"sourcesContent":["var c = Object.defineProperty;\nvar a = (o, e, t) => e in o ? c(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t;\nvar n = (o, e, t) => a(o, typeof e != \"symbol\" ? e + \"\" : e, t);\nclass h {\n constructor(e) {\n n(this, \"config\");\n /**\n * @param {string} query - User provided value Searchcraft will use to search against\n * @param {string} mode - Can be either 'fuzzy' or 'normal'\n * @returns {SearchResult} - Returns a `SearchResponse` object with the results from the search or throws an error\n */\n n(this, \"search\", async (e) => {\n try {\n const t = this.config.index.join(\",\"), i = `${this.config.endpointURL}/search`, r = {\n query: e.query,\n mode: e.mode,\n app: t\n }, s = {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Access-Control-Allow-Origin\": \"*\",\n Authorization: this.config.apiKey ? `${this.config.apiKey}` : \"\"\n },\n body: JSON.stringify(r)\n };\n return await (await fetch(i, s)).json();\n } catch (t) {\n return t;\n }\n });\n if (!e.endpointURL || !e.index)\n throw new Error(\"Endpoint URL and Index value(s) must be provided\");\n this.config = e;\n }\n}\nexport {\n h as CoreSDK\n};\n//# sourceMappingURL=index.js.map\n","import React from 'react';\n\nimport type { SearchcraftProviderContext } from './SearchcraftProviderContext';\n\nconst defaultContext: SearchcraftProviderContext = {\n error: null,\n index: [''],\n isRequesting: false,\n mode: 'fuzzy',\n query: '',\n setQuery: (query) => query,\n search: async () => null,\n};\n\nexport const SearchcraftContext =\n React.createContext<SearchcraftProviderContext>(defaultContext);\n","import { type PropsWithChildren, useContext, useState } from 'react';\nimport type {\n SearchcraftInstance,\n SearchError,\n SearchResult,\n} from '@searchcraft/core';\nimport { CoreSDK as Searchcraft } from '@searchcraft/core';\n\nimport { SearchcraftContext } from './SearchcraftContext';\nimport type { SearchcraftProviderContext } from './SearchcraftProviderContext';\n\nconst SearchcraftProvider = ({\n children,\n searchcraft,\n}: PropsWithChildren & SearchcraftInstance) => {\n const [query, setQuery] = useState<string>('');\n const [isRequesting, setIsRequesting] = useState<boolean>(false);\n const [searchResults, setSearchResults] = useState<\n SearchResult | SearchError | null\n >(null);\n\n const search = async () => {\n setIsRequesting(true);\n const results = await searchcraft.search({ query, mode: 'fuzzy' });\n setSearchResults(results);\n setIsRequesting(false);\n };\n\n const providerContext: SearchcraftProviderContext = {\n error: null,\n index: searchcraft.config.index,\n isRequesting,\n mode: 'fuzzy',\n query,\n search,\n searchResults,\n setQuery,\n };\n\n return (\n <SearchcraftContext.Provider value={providerContext}>\n {children}\n </SearchcraftContext.Provider>\n );\n};\n\nconst useSearchcraft = () =>\n useContext<SearchcraftProviderContext>(SearchcraftContext);\n\nexport { SearchcraftProvider, useSearchcraft, Searchcraft };\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import styles from '@styles/sc-spinner.module.scss';\n\nexport const SpinnerLight = () => (\n <div className={styles.spinnerContainer}>\n <div className={styles.spinnerLight} />\n </div>\n);\n\nexport const SpinnerDark = () => (\n <div className={styles.spinnerContainer}>\n <div className={styles.spinnerDark} />\n </div>\n);\n","import type { FC, ReactNode } from 'react';\nimport classNames from 'classnames';\n\nimport { useSearchcraft } from '@/components/providers/SearchcraftProvider';\nimport styles from '@styles/sc-button.module.scss';\n\nimport { SpinnerDark } from '../Spinner';\n\nexport type ButtonProps = {\n className?: string;\n iconElement?: ReactNode;\n iconOnly?: boolean;\n iconPosition?: string;\n label?: string;\n onClick?: () => void;\n};\n\nconst Button: FC<ButtonProps> = ({\n className,\n iconElement,\n iconOnly = false,\n iconPosition = 'left',\n label = 'Search',\n onClick,\n}) => {\n const { isRequesting } = useSearchcraft();\n return (\n <>\n {iconOnly && (\n <button\n className={classNames(\n styles.button,\n className,\n '.searchcraft-button',\n )}\n onClick={onClick}\n type='submit'\n >\n {isRequesting ? <SpinnerDark /> : iconElement}\n </button>\n )}\n {!iconOnly && (\n <button\n className={classNames(\n styles.button,\n className,\n '.searchcraft-button',\n )}\n onClick={onClick}\n type='submit'\n >\n {iconPosition === 'left' && isRequesting ? (\n <div className={styles.spinnerMarginRight}>\n <SpinnerDark />\n </div>\n ) : (\n iconElement\n )}\n <span\n className={classNames(\n isRequesting && styles.buttonLabel,\n className,\n '.searchcraft-button-label',\n )}\n >\n {label}\n </span>\n {iconPosition === 'right' && isRequesting ? (\n <div className={styles.spinnerMarginLeft}>\n <SpinnerDark />\n </div>\n ) : (\n iconElement\n )}\n </button>\n )}\n </>\n );\n};\n\nexport default Button;\n","import type { FC } from 'react';\nimport classNames from 'classnames';\n\nimport styles from '@styles/sc-input-error-message.module.scss';\n\nexport type ErrorMessageProps = {\n className?: string;\n errorMessage?: string;\n};\n\nconst ErrorMessage: FC<ErrorMessageProps> = ({ className, errorMessage }) => {\n return (\n <p className={classNames(styles.errorMessage, className)}>\n {errorMessage || 'Search term is required.'}\n </p>\n );\n};\n\nexport default ErrorMessage;\n","export const ClearInputIcon = () => (\n <svg width='22' height='22' viewBox='0 0 22 22' fill='none'>\n <title>Searchcraft Clear Input Icon</title>\n <path\n d='M14 8L8 14M8 8L14 14M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z'\n stroke='black'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n\nexport const ArrowRightIcon = () => (\n <svg width='20' height='21' viewBox='0 0 20 21' fill='none'>\n <title>Searchcraft Arrow Right Icon</title>\n <path\n d='M7.5 15.0444L12.5 10.0444L7.5 5.04443'\n stroke='#737373'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n","import type { FC } from 'react';\nimport classNames from 'classnames';\n\nimport { useSearchcraft } from '@/components/providers/SearchcraftProvider';\nimport styles from '@styles/sc-clear-input-button.module.scss';\n\nimport { ClearInputIcon } from '../../assets/ClearInputIcon';\nimport { SpinnerLight } from '../Spinner';\n\nexport type ClearInputButtonProps = {\n onClearInput?: () => void;\n rightToLeftOrientation?: boolean;\n};\n\nexport const ClearInputButton: FC<ClearInputButtonProps> = ({\n onClearInput,\n rightToLeftOrientation = false,\n}) => {\n const { isRequesting } = useSearchcraft();\n return rightToLeftOrientation ? (\n <button\n className={classNames(\n styles.inputClearButtonRTL,\n '.sc-clear-input-button-rtl',\n )}\n onClick={onClearInput}\n type='button'\n >\n {isRequesting ? <SpinnerLight /> : <ClearInputIcon />}\n </button>\n ) : (\n <button\n className={classNames(\n styles.inputClearButtonLTR,\n '.sc-clear-input-button-ltr',\n )}\n onClick={onClearInput}\n type='button'\n >\n {isRequesting ? <SpinnerLight /> : <ClearInputIcon />}\n </button>\n );\n};\n","import type { FC } from 'react';\nimport classNames from 'classnames';\n\nimport styles from '@styles/sc-input-caption.module.scss';\n\nexport type InputCaptionProps = {\n error?: boolean;\n inputCaptionClassName?: string;\n inputCaptionValue: string;\n rightToLeftOrientation?: boolean;\n};\n\nexport const InputCaption: FC<InputCaptionProps> = ({\n error = false,\n inputCaptionClassName,\n inputCaptionValue = 'Enter Search',\n rightToLeftOrientation = false,\n}) => {\n return rightToLeftOrientation ? (\n <p\n className={classNames(\n error ? styles.inputCaptionErrorRTL : styles.inputCaptionRTL,\n inputCaptionClassName,\n )}\n >\n {inputCaptionValue}\n </p>\n ) : (\n <p\n className={classNames(\n error ? styles.inputCaptionErrorLTR : styles.inputCaptionLTR,\n inputCaptionClassName,\n )}\n >\n {inputCaptionValue}\n </p>\n );\n};\n","export const SearchIcon = () => (\n <svg width='20' height='20' viewBox='0 0 20 20' fill='none'>\n <title>Searchcraft Search Icon</title>\n <path\n d='M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z'\n stroke='#404040'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n\nexport const SearchIconError = () => (\n <svg width='20' height='20' viewBox='0 0 20 20' fill='none'>\n <title>Searchcraft Error Search Icon</title>\n <path\n d='M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z'\n stroke='#737373'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n","import type { FC } from 'react';\n\nimport styles from '@styles/sc-input-icon.module.scss';\nimport { SearchIcon, SearchIconError } from '../../assets/SearchIcons';\n\nexport type InputIconProps = {\n error?: boolean;\n rightToLeftOrientation?: boolean;\n};\n\nexport const InputIcon: FC<InputIconProps> = ({\n error = false,\n rightToLeftOrientation = false,\n}) => {\n return error ? (\n <div\n className={\n rightToLeftOrientation ? styles.inputIconRTL : styles.inputIconLTR\n }\n >\n <SearchIconError />\n </div>\n ) : (\n <div\n className={\n rightToLeftOrientation ? styles.inputIconRTL : styles.inputIconLTR\n }\n >\n <SearchIcon />\n </div>\n );\n};\n","import type { ChangeEventHandler, FC } from 'react';\nimport classNames from 'classnames';\n\nimport styles from '@styles/sc-input.module.scss';\n\nimport { ClearInputButton } from '../ClearInputButton';\nimport { InputCaption } from '../InputCaption';\nimport { InputIcon } from '../InputIcon';\n\nexport type InputProps = {\n error?: boolean;\n formClassName?: string;\n inputCaptionClassName?: string;\n inputCaptionValue?: string;\n inputClassName?: string;\n onClearInput?: () => void;\n onSearchInputChange: ChangeEventHandler<HTMLInputElement>;\n placeholderValue?: string;\n rightToLeftOrientation?: boolean;\n query: string;\n};\n\nconst Input: FC<InputProps> = ({\n error = false,\n formClassName = '',\n inputCaptionClassName = '',\n inputClassName = '',\n inputCaptionValue = '',\n onClearInput,\n onSearchInputChange,\n placeholderValue = 'Enter Search',\n rightToLeftOrientation = false,\n query = '',\n}) => {\n const containerClassName = rightToLeftOrientation\n ? styles.inputContainerRTL\n : styles.inputContainerLTR;\n return (\n <div\n className={classNames(\n containerClassName,\n formClassName,\n 'searchcraft-input-form',\n )}\n >\n {rightToLeftOrientation ? (\n <>\n <input\n className={classNames(\n error ? styles.inputErrorRTL : styles.inputRTL,\n inputClassName,\n 'searchcraft-input',\n )}\n id='searchcraft-input-id'\n onChange={onSearchInputChange}\n placeholder={placeholderValue}\n type='text'\n value={query}\n />\n {inputCaptionValue && (\n <InputCaption\n inputCaptionClassName={inputCaptionClassName}\n inputCaptionValue={inputCaptionValue}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n )}\n {query.length > 0 && (\n <ClearInputButton\n onClearInput={onClearInput}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n )}\n <InputIcon\n error={error}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n </>\n ) : (\n <>\n <input\n className={classNames(\n error ? styles.inputErrorLTR : styles.inputLTR,\n inputClassName,\n 'searchcraft-input',\n )}\n id='searchcraft-input-id'\n onChange={onSearchInputChange}\n placeholder={placeholderValue}\n type='text'\n value={query}\n />\n {inputCaptionValue && (\n <InputCaption\n inputCaptionClassName={inputCaptionClassName}\n inputCaptionValue={inputCaptionValue}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n )}\n {query.length > 0 && (\n <ClearInputButton\n onClearInput={onClearInput}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n )}\n <InputIcon error={error} />\n </>\n )}\n </div>\n );\n};\n\nexport default Input;\n","import type { FC } from 'react';\nimport classNames from 'classnames';\n\nimport styles from '@styles/sc-input-label.module.scss';\n\nexport type InputLabelProps = {\n className?: string;\n label: string;\n};\n\nconst InputLabel: FC<InputLabelProps> = ({\n className,\n label = 'Enter Search',\n}) => {\n return (\n <label\n className={classNames(styles.label, className)}\n htmlFor='searchcraft-input-id'\n >\n {label}\n </label>\n );\n};\n\nexport default InputLabel;\n","import { useState, type FC } from 'react';\n\nimport { useSearchcraft } from '@components/providers/SearchcraftProvider';\nimport styles from '@styles/sc-search-form.module.scss';\n\nimport Button from '../components/Button';\nimport ErrorMessage from '../components/ErrorMessage';\nimport Input from '../components/Input';\nimport InputLabel from '../components/InputLabel';\n\nexport interface BaseSearchFormProps {\n errorMessage?: string;\n handleSubmit: (query: string) => void;\n labelForInput?: string;\n placeholderValue?: string;\n rightToLeftOrientation?: boolean;\n}\n\n/**\n * * Form used to submit the search query using a provided search function.\n */\nconst BaseSearchForm: FC<BaseSearchFormProps> = ({\n errorMessage,\n handleSubmit,\n labelForInput = 'Search',\n placeholderValue = 'Enter Search Term',\n rightToLeftOrientation = false,\n}) => {\n const { query, setQuery } = useSearchcraft();\n const [error, setError] = useState<boolean>(false);\n\n const handleFormSubmit = (e: { preventDefault: () => void }) => {\n e.preventDefault();\n if (query.trim() === '') {\n setError(true);\n } else {\n setError(false);\n handleSubmit(query);\n }\n };\n\n const handleSearchInputChange = (event: { target: { value: string } }) =>\n setQuery(event.target.value);\n\n const handleClearInput = () => setQuery('');\n\n return (\n <form\n className={rightToLeftOrientation ? styles.formRTL : styles.formLTR}\n onSubmit={handleFormSubmit}\n >\n <InputLabel label={labelForInput} />\n <div className={styles.searchContainer}>\n {rightToLeftOrientation && <Button />}\n <Input\n error={error}\n onClearInput={handleClearInput}\n onSearchInputChange={handleSearchInputChange}\n placeholderValue={placeholderValue}\n query={query}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n {!rightToLeftOrientation && <Button />}\n </div>\n {error && <ErrorMessage errorMessage={errorMessage} />}\n </form>\n );\n};\n\nexport default BaseSearchForm;\n","import { useState, type FC, useEffect, type ChangeEventHandler } from 'react';\n\nimport { useSearchcraft } from '@components/providers/SearchcraftProvider';\nimport styles from '@styles/sc-search-form.module.scss';\n\nimport Input from '../components/Input';\nimport InputLabel from '../components/InputLabel';\nimport classNames from 'classnames';\n\nexport interface AutoSearchFormProps {\n autoSearchFormClass?: string;\n handleSubmit: (query: string) => void;\n inputCaptionValue?: string;\n labelForInput?: string;\n onClearedInput?: () => void;\n placeholderValue?: string;\n rightToLeftOrientation?: boolean;\n searchContainerClass?: string;\n}\n\n/**\n * * Button-less form used to submit the search query with a timing configurable debounced function.\n */\nconst AutoSearchForm: FC<AutoSearchFormProps> = ({\n autoSearchFormClass = '',\n handleSubmit,\n inputCaptionValue = '',\n labelForInput = 'Search',\n onClearedInput = () => {},\n placeholderValue = 'Search here',\n rightToLeftOrientation = false,\n searchContainerClass = '',\n}) => {\n const { query, setQuery } = useSearchcraft();\n const [canSearch, setCanSearch] = useState<boolean>(false);\n\n const handleSearchInputChange: ChangeEventHandler<HTMLInputElement> = (\n event,\n ) => {\n event.preventDefault();\n setQuery(event.currentTarget.value);\n if (query !== event.currentTarget.value) {\n setCanSearch(true);\n }\n };\n\n /**\n * * Exposes a callback for convenience when the input's value is cleared by the user\n */\n const handleClearInput = () => {\n setQuery('');\n onClearedInput();\n };\n\n /**\n * * Delay the submit function until the user is done typing to throttle API usage.\n */\n useEffect(() => {\n if (canSearch) {\n handleSubmit(query);\n setCanSearch(false);\n } else {\n return;\n }\n }, [canSearch, handleSubmit, query]);\n const autoSearchFormClassname = rightToLeftOrientation\n ? styles.formRTL\n : styles.formLTR;\n return (\n <form\n className={classNames(\n autoSearchFormClassname,\n autoSearchFormClass,\n 'searchcraft-auto-search-form',\n )}\n onSubmit={(event) => {\n event.preventDefault();\n }}\n >\n <InputLabel label={labelForInput} />\n <div\n className={classNames(\n styles.searchContainer,\n searchContainerClass,\n 'searchcraft-input-container',\n )}\n >\n <Input\n inputCaptionValue={inputCaptionValue}\n onClearInput={handleClearInput}\n onSearchInputChange={handleSearchInputChange}\n placeholderValue={placeholderValue}\n query={query}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n </div>\n </form>\n );\n};\n\nexport default AutoSearchForm;\n","export const ButtonIcon = () => (\n <svg width='20' height='20' viewBox='0 0 20 20' fill='none'>\n <title>Searchcraft Button Icon</title>\n <path\n d='M2.725 5.79959L10 10.0079L17.275 5.79959M10 18.3996V9.99959M17.5 13.3329V6.66626C17.4997 6.37399 17.4225 6.08693 17.2763 5.8339C17.13 5.58086 16.9198 5.37073 16.6667 5.22459L10.8333 1.89126C10.58 1.74498 10.2926 1.66797 10 1.66797C9.70744 1.66797 9.42003 1.74498 9.16667 1.89126L3.33333 5.22459C3.08022 5.37073 2.86998 5.58086 2.72372 5.8339C2.57745 6.08693 2.5003 6.37399 2.5 6.66626V13.3329C2.5003 13.6252 2.57745 13.9123 2.72372 14.1653C2.86998 14.4183 3.08022 14.6285 3.33333 14.7746L9.16667 18.1079C9.42003 18.2542 9.70744 18.3312 10 18.3312C10.2926 18.3312 10.58 18.2542 10.8333 18.1079L16.6667 14.7746C16.9198 14.6285 17.13 14.4183 17.2763 14.1653C17.4225 13.9123 17.4997 13.6252 17.5 13.3329Z'\n stroke='white'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n","import type { FC } from 'react';\n\nimport { ButtonIcon } from '../assets/ButtonIcons';\n\nimport styles from '@styles/sc-search-result.module.scss';\nimport { ArrowRightIcon } from '../assets/ClearInputIcon';\n\ninterface BaseSearchResultProps {\n buttonCallbackFn?: () => void;\n buttonLabel?: string;\n imageAltText?: string;\n imageSrc?: string;\n interactiveResult?: boolean;\n callbackFn?: () => void;\n keyDownCallbackFn?: () => void;\n resultBodyContent?: string;\n resultHeading?: string;\n resultSubheading?: string;\n}\n\nconst BaseSearchResult: FC<BaseSearchResultProps> = ({\n buttonCallbackFn = () => {},\n buttonLabel = '',\n callbackFn = () => {},\n keyDownCallbackFn = () => {},\n imageAltText = '',\n interactiveResult = false,\n imageSrc = '',\n resultBodyContent = '',\n resultHeading = '',\n resultSubheading = '',\n}) => {\n const buttonFn = (event: { stopPropagation: () => void }) => {\n event.stopPropagation();\n buttonCallbackFn();\n };\n\n const callbackFunc = () => {\n if (interactiveResult) {\n callbackFn();\n } else {\n return;\n }\n };\n\n return (\n <div\n className={\n interactiveResult\n ? styles.interactiveResultContainer\n : styles.resultContainer\n }\n id='searchcraft-item'\n onClick={callbackFunc}\n onKeyDown={keyDownCallbackFn}\n >\n {interactiveResult && (\n <div className={styles.interactiveIconLarge}>\n <ArrowRightIcon />\n </div>\n )}\n <div className={styles.imageContainer}>\n <img alt={imageAltText} className={styles.image} src={imageSrc} />\n </div>\n <div className={styles.contentContainer}>\n <h2 className={styles.heading}>\n {resultHeading}{' '}\n {interactiveResult && (\n <div className={styles.interactiveIconSmall}>\n <ArrowRightIcon />\n </div>\n )}\n </h2>\n <h3 className={styles.subheading}>{resultSubheading}</h3>\n <p className={styles.bodyContent}>{resultBodyContent}</p>\n <button className={styles.button} onClick={buttonFn} type='button'>\n <ButtonIcon />\n <span>{buttonLabel}</span>\n </button>\n </div>\n </div>\n );\n};\n\nexport default BaseSearchResult;\n","import type { FC } from 'react';\n\nimport styles from '@styles/sc-search-results.module.scss';\n\nimport { useSearchcraft } from '@/components/providers/SearchcraftProvider';\nimport BaseSearchResult from '@components/ui/BaseSearchResult';\n\nconst BaseSearchResults: FC = () => {\n const { searchResults } = useSearchcraft();\n\n return (\n <div className={styles.resultsContainer}>\n {searchResults?.data?.hits ? (\n searchResults?.data?.hits?.map((document, index) => {\n const { doc: result } = document;\n const callback = () => {\n console.log('interactive');\n };\n const buttonCallback = () => {\n console.log('button callback');\n };\n return (\n <BaseSearchResult\n key={`${result?.id}-${index}`}\n buttonLabel='View More'\n buttonCallbackFn={buttonCallback}\n callbackFn={callback}\n interactiveResult\n imageSrc={result?.poster}\n resultBodyContent={result?.overview}\n resultHeading={result?.title}\n resultSubheading={result?.release_date}\n />\n );\n })\n ) : (\n <div>no results found</div>\n )}\n </div>\n );\n};\n\nexport default BaseSearchResults;\n"],"names":["c","a","o","e","t","n","h","s","defaultContext","query","SearchcraftContext","React","SearchcraftProvider","children","searchcraft","setQuery","useState","isRequesting","setIsRequesting","searchResults","setSearchResults","search","results","providerContext","useSearchcraft","useContext","hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","SpinnerLight","jsx","styles","SpinnerDark","Button","className","iconElement","iconOnly","iconPosition","label","onClick","jsxs","Fragment","ErrorMessage","errorMessage","ClearInputIcon","ArrowRightIcon","ClearInputButton","onClearInput","rightToLeftOrientation","InputCaption","error","inputCaptionClassName","inputCaptionValue","SearchIcon","SearchIconError","InputIcon","Input","formClassName","inputClassName","onSearchInputChange","placeholderValue","containerClassName","InputLabel","BaseSearchForm","handleSubmit","labelForInput","setError","handleFormSubmit","handleSearchInputChange","event","handleClearInput","AutoSearchForm","autoSearchFormClass","onClearedInput","searchContainerClass","canSearch","setCanSearch","useEffect","autoSearchFormClassname","ButtonIcon","BaseSearchResult","buttonCallbackFn","buttonLabel","callbackFn","keyDownCallbackFn","imageAltText","interactiveResult","imageSrc","resultBodyContent","resultHeading","resultSubheading","buttonFn","callbackFunc","BaseSearchResults","_a","_c","_b","document","index","result"],"mappings":"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","x_google_ignoreList":[0,3]}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@searchcraft/react-sdk",
3
3
  "private": false,
4
4
  "author": "Searchcraft",
5
- "version": "0.1.1",
5
+ "version": "0.1.2",
6
6
  "description": "SearchCraft's React SDK.",
7
7
  "type": "module",
8
8
  "license": "Apache-2.0",