@nosto/nosto-react 2.2.0 → 2.2.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.
Files changed (37) hide show
  1. package/dist/index.d.ts +13 -16
  2. package/dist/index.es.js +257 -866
  3. package/dist/index.umd.js +1 -25
  4. package/package.json +3 -3
  5. package/src/components/Nosto404.tsx +2 -25
  6. package/src/components/NostoCategory.tsx +2 -30
  7. package/src/components/NostoCheckout.tsx +2 -25
  8. package/src/components/NostoHome.tsx +2 -26
  9. package/src/components/NostoOrder.tsx +2 -33
  10. package/src/components/NostoOther.tsx +2 -25
  11. package/src/components/NostoPlacement.tsx +1 -1
  12. package/src/components/NostoProduct.tsx +2 -32
  13. package/src/components/NostoProvider.tsx +11 -10
  14. package/src/components/NostoSearch.tsx +2 -30
  15. package/src/components/NostoSession.tsx +2 -43
  16. package/src/components/helpers.ts +2 -2
  17. package/src/context.ts +0 -1
  18. package/src/hooks/scriptLoader.ts +4 -4
  19. package/src/hooks/useDeepCompareEffect.ts +4 -7
  20. package/src/hooks/useLoadClientScript.ts +9 -4
  21. package/src/hooks/useNosto404.tsx +25 -0
  22. package/src/hooks/useNostoApi.ts +4 -11
  23. package/src/hooks/useNostoCategory.tsx +31 -0
  24. package/src/hooks/useNostoCheckout.tsx +25 -0
  25. package/src/hooks/useNostoContext.ts +2 -3
  26. package/src/hooks/useNostoHome.tsx +25 -0
  27. package/src/hooks/useNostoOrder.tsx +35 -0
  28. package/src/hooks/useNostoOther.tsx +25 -0
  29. package/src/hooks/useNostoProduct.tsx +37 -0
  30. package/src/hooks/useNostoSearch.tsx +31 -0
  31. package/src/hooks/useNostoSession.tsx +33 -0
  32. package/src/hooks/useRenderCampaigns.tsx +10 -8
  33. package/src/index.ts +21 -2
  34. package/src/types.ts +775 -733
  35. package/src/utils/types.ts +5 -3
  36. package/src/components/index.ts +0 -11
  37. package/src/hooks/index.ts +0 -5
package/dist/index.es.js CHANGED
@@ -1,927 +1,318 @@
1
- import Le, { useEffect as ae, useRef as re, useMemo as yt, createContext as Et, useContext as Rt, cloneElement as wt, useState as bt, isValidElement as _t } from "react";
2
- import { createRoot as Ct } from "react-dom/client";
3
- const Ne = (t) => String(t) === "[object Object]";
4
- function Ae(t) {
5
- if (!Ne(t))
1
+ import { createContext as I, useContext as k, useEffect as g, useRef as P, useMemo as V, cloneElement as b, useState as q, isValidElement as F } from "react";
2
+ import { jsx as v } from "react/jsx-runtime";
3
+ import H from "react-dom";
4
+ const T = I({
5
+ account: "",
6
+ currentVariation: "",
7
+ responseMode: "HTML",
8
+ clientScriptLoaded: !1
9
+ });
10
+ function E() {
11
+ return k(T);
12
+ }
13
+ const L = (e) => String(e) === "[object Object]";
14
+ function _(e) {
15
+ if (!L(e))
6
16
  return !1;
7
- const o = t.constructor;
8
- if (o === void 0)
17
+ const t = e.constructor;
18
+ if (t === void 0)
9
19
  return !0;
10
- const a = o.prototype;
11
- return !(!Ne(a) || !a.hasOwnProperty("isPrototypeOf"));
20
+ const n = t.prototype;
21
+ return !(!L(n) || !n.hasOwnProperty("isPrototypeOf"));
12
22
  }
13
- function ne(t, o) {
14
- if (t === o)
23
+ function h(e, t) {
24
+ if (e === t)
15
25
  return !0;
16
- if (t instanceof Date && o instanceof Date)
17
- return t.getTime() === o.getTime();
18
- if (t instanceof Array && o instanceof Array)
19
- return t.length !== o.length ? !1 : t.every((a, u) => ne(a, o[u]));
20
- if (Ae(t) && Ae(o)) {
21
- const a = Object.entries(t);
22
- return a.length !== Object.keys(o).length ? !1 : a.every(([u, i]) => ne(i, o[u]));
26
+ if (e instanceof Date && t instanceof Date)
27
+ return e.getTime() === t.getTime();
28
+ if (e instanceof Array && t instanceof Array)
29
+ return e.length !== t.length ? !1 : e.every((n, r) => h(n, t[r]));
30
+ if (_(e) && _(t)) {
31
+ const n = Object.entries(e);
32
+ return n.length !== Object.keys(t).length ? !1 : n.every(([r, o]) => h(o, t[r]));
23
33
  }
24
34
  return !1;
25
35
  }
26
- function Ie(t, o) {
27
- return ae(t, Pt(o));
28
- }
29
- function Pt(t) {
30
- const o = re(t), a = re(0);
31
- return ne(t, o.current) || (o.current = t, a.current += 1), yt(() => o.current, [a.current]);
32
- }
33
- const $e = Et({
34
- account: "",
35
- currentVariation: "",
36
- responseMode: "HTML",
37
- clientScriptLoaded: !1
38
- });
39
- function ie() {
40
- return Rt($e);
41
- }
42
- function x(t, o, a) {
43
- const { clientScriptLoaded: u, currentVariation: i, responseMode: v } = ie();
44
- (a != null && a.deep ? Ie : ae)(() => {
45
- u && window.nostojs((p) => {
46
- p.defaultSession().setVariation(i).setResponseMode(v), t(p);
47
- });
48
- }, [u, i, v, ...o ?? []]);
49
- }
50
- var oe = { exports: {} }, $ = {};
51
- /**
52
- * @license React
53
- * react-jsx-runtime.production.min.js
54
- *
55
- * Copyright (c) Facebook, Inc. and its affiliates.
56
- *
57
- * This source code is licensed under the MIT license found in the
58
- * LICENSE file in the root directory of this source tree.
59
- */
60
- var De;
61
- function St() {
62
- if (De)
63
- return $;
64
- De = 1;
65
- var t = Le, o = Symbol.for("react.element"), a = Symbol.for("react.fragment"), u = Object.prototype.hasOwnProperty, i = t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, v = { key: !0, ref: !0, __self: !0, __source: !0 };
66
- function w(p, g, P) {
67
- var E, f = {}, _ = null, O = null;
68
- P !== void 0 && (_ = "" + P), g.key !== void 0 && (_ = "" + g.key), g.ref !== void 0 && (O = g.ref);
69
- for (E in g)
70
- u.call(g, E) && !v.hasOwnProperty(E) && (f[E] = g[E]);
71
- if (p && p.defaultProps)
72
- for (E in g = p.defaultProps, g)
73
- f[E] === void 0 && (f[E] = g[E]);
74
- return { $$typeof: o, type: p, key: _, ref: O, props: f, _owner: i.current };
75
- }
76
- return $.Fragment = a, $.jsx = w, $.jsxs = w, $;
77
- }
78
- var W = {};
79
- /**
80
- * @license React
81
- * react-jsx-runtime.development.js
82
- *
83
- * Copyright (c) Facebook, Inc. and its affiliates.
84
- *
85
- * This source code is licensed under the MIT license found in the
86
- * LICENSE file in the root directory of this source tree.
87
- */
88
- var Fe;
89
- function Ot() {
90
- return Fe || (Fe = 1, process.env.NODE_ENV !== "production" && function() {
91
- var t = Le, o = Symbol.for("react.element"), a = Symbol.for("react.portal"), u = Symbol.for("react.fragment"), i = Symbol.for("react.strict_mode"), v = Symbol.for("react.profiler"), w = Symbol.for("react.provider"), p = Symbol.for("react.context"), g = Symbol.for("react.forward_ref"), P = Symbol.for("react.suspense"), E = Symbol.for("react.suspense_list"), f = Symbol.for("react.memo"), _ = Symbol.for("react.lazy"), O = Symbol.for("react.offscreen"), A = Symbol.iterator, M = "@@iterator";
92
- function Y(e) {
93
- if (e === null || typeof e != "object")
94
- return null;
95
- var r = A && e[A] || e[M];
96
- return typeof r == "function" ? r : null;
97
- }
98
- var S = t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
99
- function R(e) {
100
- {
101
- for (var r = arguments.length, n = new Array(r > 1 ? r - 1 : 0), s = 1; s < r; s++)
102
- n[s - 1] = arguments[s];
103
- We("error", e, n);
104
- }
105
- }
106
- function We(e, r, n) {
107
- {
108
- var s = S.ReactDebugCurrentFrame, d = s.getStackAddendum();
109
- d !== "" && (r += "%s", n = n.concat([d]));
110
- var m = n.map(function(l) {
111
- return String(l);
112
- });
113
- m.unshift("Warning: " + r), Function.prototype.apply.call(console[e], console, m);
114
- }
115
- }
116
- var Ve = !1, Me = !1, Ye = !1, Ue = !1, qe = !1, ue;
117
- ue = Symbol.for("react.module.reference");
118
- function Be(e) {
119
- return !!(typeof e == "string" || typeof e == "function" || e === u || e === v || qe || e === i || e === P || e === E || Ue || e === O || Ve || Me || Ye || typeof e == "object" && e !== null && (e.$$typeof === _ || e.$$typeof === f || e.$$typeof === w || e.$$typeof === p || e.$$typeof === g || // This needs to include all possible module reference object
120
- // types supported by any Flight configuration anywhere since
121
- // we don't know which Flight build this will end up being used
122
- // with.
123
- e.$$typeof === ue || e.getModuleId !== void 0));
124
- }
125
- function He(e, r, n) {
126
- var s = e.displayName;
127
- if (s)
128
- return s;
129
- var d = r.displayName || r.name || "";
130
- return d !== "" ? n + "(" + d + ")" : n;
131
- }
132
- function ce(e) {
133
- return e.displayName || "Context";
134
- }
135
- function T(e) {
136
- if (e == null)
137
- return null;
138
- if (typeof e.tag == "number" && R("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof e == "function")
139
- return e.displayName || e.name || null;
140
- if (typeof e == "string")
141
- return e;
142
- switch (e) {
143
- case u:
144
- return "Fragment";
145
- case a:
146
- return "Portal";
147
- case v:
148
- return "Profiler";
149
- case i:
150
- return "StrictMode";
151
- case P:
152
- return "Suspense";
153
- case E:
154
- return "SuspenseList";
155
- }
156
- if (typeof e == "object")
157
- switch (e.$$typeof) {
158
- case p:
159
- var r = e;
160
- return ce(r) + ".Consumer";
161
- case w:
162
- var n = e;
163
- return ce(n._context) + ".Provider";
164
- case g:
165
- return He(e, e.render, "ForwardRef");
166
- case f:
167
- var s = e.displayName || null;
168
- return s !== null ? s : T(e.type) || "Memo";
169
- case _: {
170
- var d = e, m = d._payload, l = d._init;
171
- try {
172
- return T(l(m));
173
- } catch {
174
- return null;
175
- }
176
- }
177
- }
178
- return null;
179
- }
180
- var N = Object.assign, L = 0, le, fe, de, me, ve, pe, ge;
181
- function he() {
182
- }
183
- he.__reactDisabledLog = !0;
184
- function ze() {
185
- {
186
- if (L === 0) {
187
- le = console.log, fe = console.info, de = console.warn, me = console.error, ve = console.group, pe = console.groupCollapsed, ge = console.groupEnd;
188
- var e = {
189
- configurable: !0,
190
- enumerable: !0,
191
- value: he,
192
- writable: !0
193
- };
194
- Object.defineProperties(console, {
195
- info: e,
196
- log: e,
197
- warn: e,
198
- error: e,
199
- group: e,
200
- groupCollapsed: e,
201
- groupEnd: e
202
- });
203
- }
204
- L++;
205
- }
206
- }
207
- function Je() {
208
- {
209
- if (L--, L === 0) {
210
- var e = {
211
- configurable: !0,
212
- enumerable: !0,
213
- writable: !0
214
- };
215
- Object.defineProperties(console, {
216
- log: N({}, e, {
217
- value: le
218
- }),
219
- info: N({}, e, {
220
- value: fe
221
- }),
222
- warn: N({}, e, {
223
- value: de
224
- }),
225
- error: N({}, e, {
226
- value: me
227
- }),
228
- group: N({}, e, {
229
- value: ve
230
- }),
231
- groupCollapsed: N({}, e, {
232
- value: pe
233
- }),
234
- groupEnd: N({}, e, {
235
- value: ge
236
- })
237
- });
238
- }
239
- L < 0 && R("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
240
- }
241
- }
242
- var J = S.ReactCurrentDispatcher, G;
243
- function U(e, r, n) {
244
- {
245
- if (G === void 0)
246
- try {
247
- throw Error();
248
- } catch (d) {
249
- var s = d.stack.trim().match(/\n( *(at )?)/);
250
- G = s && s[1] || "";
251
- }
252
- return `
253
- ` + G + e;
254
- }
255
- }
256
- var K = !1, q;
257
- {
258
- var Ge = typeof WeakMap == "function" ? WeakMap : Map;
259
- q = new Ge();
260
- }
261
- function ye(e, r) {
262
- if (!e || K)
263
- return "";
264
- {
265
- var n = q.get(e);
266
- if (n !== void 0)
267
- return n;
268
- }
269
- var s;
270
- K = !0;
271
- var d = Error.prepareStackTrace;
272
- Error.prepareStackTrace = void 0;
273
- var m;
274
- m = J.current, J.current = null, ze();
275
- try {
276
- if (r) {
277
- var l = function() {
278
- throw Error();
279
- };
280
- if (Object.defineProperty(l.prototype, "props", {
281
- set: function() {
282
- throw Error();
283
- }
284
- }), typeof Reflect == "object" && Reflect.construct) {
285
- try {
286
- Reflect.construct(l, []);
287
- } catch (j) {
288
- s = j;
289
- }
290
- Reflect.construct(e, [], l);
291
- } else {
292
- try {
293
- l.call();
294
- } catch (j) {
295
- s = j;
296
- }
297
- e.call(l.prototype);
298
- }
299
- } else {
300
- try {
301
- throw Error();
302
- } catch (j) {
303
- s = j;
304
- }
305
- e();
306
- }
307
- } catch (j) {
308
- if (j && s && typeof j.stack == "string") {
309
- for (var c = j.stack.split(`
310
- `), b = s.stack.split(`
311
- `), h = c.length - 1, y = b.length - 1; h >= 1 && y >= 0 && c[h] !== b[y]; )
312
- y--;
313
- for (; h >= 1 && y >= 0; h--, y--)
314
- if (c[h] !== b[y]) {
315
- if (h !== 1 || y !== 1)
316
- do
317
- if (h--, y--, y < 0 || c[h] !== b[y]) {
318
- var C = `
319
- ` + c[h].replace(" at new ", " at ");
320
- return e.displayName && C.includes("<anonymous>") && (C = C.replace("<anonymous>", e.displayName)), typeof e == "function" && q.set(e, C), C;
321
- }
322
- while (h >= 1 && y >= 0);
323
- break;
324
- }
325
- }
326
- } finally {
327
- K = !1, J.current = m, Je(), Error.prepareStackTrace = d;
328
- }
329
- var F = e ? e.displayName || e.name : "", ke = F ? U(F) : "";
330
- return typeof e == "function" && q.set(e, ke), ke;
331
- }
332
- function Ke(e, r, n) {
333
- return ye(e, !1);
334
- }
335
- function Xe(e) {
336
- var r = e.prototype;
337
- return !!(r && r.isReactComponent);
338
- }
339
- function B(e, r, n) {
340
- if (e == null)
341
- return "";
342
- if (typeof e == "function")
343
- return ye(e, Xe(e));
344
- if (typeof e == "string")
345
- return U(e);
346
- switch (e) {
347
- case P:
348
- return U("Suspense");
349
- case E:
350
- return U("SuspenseList");
351
- }
352
- if (typeof e == "object")
353
- switch (e.$$typeof) {
354
- case g:
355
- return Ke(e.render);
356
- case f:
357
- return B(e.type, r, n);
358
- case _: {
359
- var s = e, d = s._payload, m = s._init;
360
- try {
361
- return B(m(d), r, n);
362
- } catch {
363
- }
364
- }
365
- }
366
- return "";
367
- }
368
- var H = Object.prototype.hasOwnProperty, Ee = {}, Re = S.ReactDebugCurrentFrame;
369
- function z(e) {
370
- if (e) {
371
- var r = e._owner, n = B(e.type, e._source, r ? r.type : null);
372
- Re.setExtraStackFrame(n);
373
- } else
374
- Re.setExtraStackFrame(null);
375
- }
376
- function Ze(e, r, n, s, d) {
377
- {
378
- var m = Function.call.bind(H);
379
- for (var l in e)
380
- if (m(e, l)) {
381
- var c = void 0;
382
- try {
383
- if (typeof e[l] != "function") {
384
- var b = Error((s || "React class") + ": " + n + " type `" + l + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof e[l] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
385
- throw b.name = "Invariant Violation", b;
386
- }
387
- c = e[l](r, l, s, n, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
388
- } catch (h) {
389
- c = h;
390
- }
391
- c && !(c instanceof Error) && (z(d), R("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", s || "React class", n, l, typeof c), z(null)), c instanceof Error && !(c.message in Ee) && (Ee[c.message] = !0, z(d), R("Failed %s type: %s", n, c.message), z(null));
392
- }
393
- }
394
- }
395
- var Qe = Array.isArray;
396
- function X(e) {
397
- return Qe(e);
398
- }
399
- function et(e) {
400
- {
401
- var r = typeof Symbol == "function" && Symbol.toStringTag, n = r && e[Symbol.toStringTag] || e.constructor.name || "Object";
402
- return n;
403
- }
404
- }
405
- function tt(e) {
406
- try {
407
- return we(e), !1;
408
- } catch {
409
- return !0;
410
- }
411
- }
412
- function we(e) {
413
- return "" + e;
414
- }
415
- function be(e) {
416
- if (tt(e))
417
- return R("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", et(e)), we(e);
418
- }
419
- var I = S.ReactCurrentOwner, rt = {
420
- key: !0,
421
- ref: !0,
422
- __self: !0,
423
- __source: !0
424
- }, _e, Ce, Z;
425
- Z = {};
426
- function nt(e) {
427
- if (H.call(e, "ref")) {
428
- var r = Object.getOwnPropertyDescriptor(e, "ref").get;
429
- if (r && r.isReactWarning)
430
- return !1;
431
- }
432
- return e.ref !== void 0;
433
- }
434
- function ot(e) {
435
- if (H.call(e, "key")) {
436
- var r = Object.getOwnPropertyDescriptor(e, "key").get;
437
- if (r && r.isReactWarning)
438
- return !1;
439
- }
440
- return e.key !== void 0;
441
- }
442
- function at(e, r) {
443
- if (typeof e.ref == "string" && I.current && r && I.current.stateNode !== r) {
444
- var n = T(I.current.type);
445
- Z[n] || (R('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', T(I.current.type), e.ref), Z[n] = !0);
446
- }
447
- }
448
- function it(e, r) {
449
- {
450
- var n = function() {
451
- _e || (_e = !0, R("%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://reactjs.org/link/special-props)", r));
452
- };
453
- n.isReactWarning = !0, Object.defineProperty(e, "key", {
454
- get: n,
455
- configurable: !0
456
- });
457
- }
458
- }
459
- function st(e, r) {
460
- {
461
- var n = function() {
462
- Ce || (Ce = !0, R("%s: `ref` 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://reactjs.org/link/special-props)", r));
463
- };
464
- n.isReactWarning = !0, Object.defineProperty(e, "ref", {
465
- get: n,
466
- configurable: !0
467
- });
468
- }
469
- }
470
- var ut = function(e, r, n, s, d, m, l) {
471
- var c = {
472
- // This tag allows us to uniquely identify this as a React Element
473
- $$typeof: o,
474
- // Built-in properties that belong on the element
475
- type: e,
476
- key: r,
477
- ref: n,
478
- props: l,
479
- // Record the component responsible for creating this element.
480
- _owner: m
481
- };
482
- return c._store = {}, Object.defineProperty(c._store, "validated", {
483
- configurable: !1,
484
- enumerable: !1,
485
- writable: !0,
486
- value: !1
487
- }), Object.defineProperty(c, "_self", {
488
- configurable: !1,
489
- enumerable: !1,
490
- writable: !1,
491
- value: s
492
- }), Object.defineProperty(c, "_source", {
493
- configurable: !1,
494
- enumerable: !1,
495
- writable: !1,
496
- value: d
497
- }), Object.freeze && (Object.freeze(c.props), Object.freeze(c)), c;
498
- };
499
- function ct(e, r, n, s, d) {
500
- {
501
- var m, l = {}, c = null, b = null;
502
- n !== void 0 && (be(n), c = "" + n), ot(r) && (be(r.key), c = "" + r.key), nt(r) && (b = r.ref, at(r, d));
503
- for (m in r)
504
- H.call(r, m) && !rt.hasOwnProperty(m) && (l[m] = r[m]);
505
- if (e && e.defaultProps) {
506
- var h = e.defaultProps;
507
- for (m in h)
508
- l[m] === void 0 && (l[m] = h[m]);
509
- }
510
- if (c || b) {
511
- var y = typeof e == "function" ? e.displayName || e.name || "Unknown" : e;
512
- c && it(l, y), b && st(l, y);
513
- }
514
- return ut(e, c, b, d, s, I.current, l);
515
- }
516
- }
517
- var Q = S.ReactCurrentOwner, Pe = S.ReactDebugCurrentFrame;
518
- function D(e) {
519
- if (e) {
520
- var r = e._owner, n = B(e.type, e._source, r ? r.type : null);
521
- Pe.setExtraStackFrame(n);
522
- } else
523
- Pe.setExtraStackFrame(null);
524
- }
525
- var ee;
526
- ee = !1;
527
- function te(e) {
528
- return typeof e == "object" && e !== null && e.$$typeof === o;
529
- }
530
- function Se() {
531
- {
532
- if (Q.current) {
533
- var e = T(Q.current.type);
534
- if (e)
535
- return `
536
-
537
- Check the render method of \`` + e + "`.";
538
- }
539
- return "";
540
- }
541
- }
542
- function lt(e) {
543
- return "";
544
- }
545
- var Oe = {};
546
- function ft(e) {
547
- {
548
- var r = Se();
549
- if (!r) {
550
- var n = typeof e == "string" ? e : e.displayName || e.name;
551
- n && (r = `
552
-
553
- Check the top-level render call using <` + n + ">.");
554
- }
555
- return r;
556
- }
557
- }
558
- function Te(e, r) {
559
- {
560
- if (!e._store || e._store.validated || e.key != null)
561
- return;
562
- e._store.validated = !0;
563
- var n = ft(r);
564
- if (Oe[n])
565
- return;
566
- Oe[n] = !0;
567
- var s = "";
568
- e && e._owner && e._owner !== Q.current && (s = " It was passed a child from " + T(e._owner.type) + "."), D(e), R('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', n, s), D(null);
569
- }
570
- }
571
- function je(e, r) {
572
- {
573
- if (typeof e != "object")
574
- return;
575
- if (X(e))
576
- for (var n = 0; n < e.length; n++) {
577
- var s = e[n];
578
- te(s) && Te(s, r);
579
- }
580
- else if (te(e))
581
- e._store && (e._store.validated = !0);
582
- else if (e) {
583
- var d = Y(e);
584
- if (typeof d == "function" && d !== e.entries)
585
- for (var m = d.call(e), l; !(l = m.next()).done; )
586
- te(l.value) && Te(l.value, r);
587
- }
588
- }
589
- }
590
- function dt(e) {
591
- {
592
- var r = e.type;
593
- if (r == null || typeof r == "string")
594
- return;
595
- var n;
596
- if (typeof r == "function")
597
- n = r.propTypes;
598
- else if (typeof r == "object" && (r.$$typeof === g || // Note: Memo only checks outer props here.
599
- // Inner props are checked in the reconciler.
600
- r.$$typeof === f))
601
- n = r.propTypes;
602
- else
603
- return;
604
- if (n) {
605
- var s = T(r);
606
- Ze(n, e.props, "prop", s, e);
607
- } else if (r.PropTypes !== void 0 && !ee) {
608
- ee = !0;
609
- var d = T(r);
610
- R("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", d || "Unknown");
611
- }
612
- typeof r.getDefaultProps == "function" && !r.getDefaultProps.isReactClassApproved && R("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
613
- }
614
- }
615
- function mt(e) {
616
- {
617
- for (var r = Object.keys(e.props), n = 0; n < r.length; n++) {
618
- var s = r[n];
619
- if (s !== "children" && s !== "key") {
620
- D(e), R("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", s), D(null);
621
- break;
622
- }
623
- }
624
- e.ref !== null && (D(e), R("Invalid attribute `ref` supplied to `React.Fragment`."), D(null));
625
- }
626
- }
627
- function xe(e, r, n, s, d, m) {
628
- {
629
- var l = Be(e);
630
- if (!l) {
631
- var c = "";
632
- (e === void 0 || typeof e == "object" && e !== null && Object.keys(e).length === 0) && (c += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
633
- var b = lt();
634
- b ? c += b : c += Se();
635
- var h;
636
- e === null ? h = "null" : X(e) ? h = "array" : e !== void 0 && e.$$typeof === o ? (h = "<" + (T(e.type) || "Unknown") + " />", c = " Did you accidentally export a JSX literal instead of a component?") : h = typeof e, R("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", h, c);
637
- }
638
- var y = ct(e, r, n, d, m);
639
- if (y == null)
640
- return y;
641
- if (l) {
642
- var C = r.children;
643
- if (C !== void 0)
644
- if (s)
645
- if (X(C)) {
646
- for (var F = 0; F < C.length; F++)
647
- je(C[F], e);
648
- Object.freeze && Object.freeze(C);
649
- } else
650
- R("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
651
- else
652
- je(C, e);
653
- }
654
- return e === u ? mt(y) : dt(y), y;
655
- }
656
- }
657
- function vt(e, r, n) {
658
- return xe(e, r, n, !0);
659
- }
660
- function pt(e, r, n) {
661
- return xe(e, r, n, !1);
662
- }
663
- var gt = pt, ht = vt;
664
- W.Fragment = u, W.jsx = gt, W.jsxs = ht;
665
- }()), W;
666
- }
667
- process.env.NODE_ENV === "production" ? oe.exports = St() : oe.exports = Ot();
668
- var se = oe.exports;
669
- function Tt(t) {
670
- return wt(t.recommendationComponent, {
36
+ function D(e, t) {
37
+ return g(e, x(t));
38
+ }
39
+ function x(e) {
40
+ const t = P(e), n = P(0);
41
+ return h(e, t.current) || (t.current = e, n.current += 1), V(() => t.current, [n.current]);
42
+ }
43
+ function u(e, t, n) {
44
+ const { clientScriptLoaded: r } = E();
45
+ (n != null && n.deep ? D : g)(() => {
46
+ r && window.nostojs(e);
47
+ }, [r, ...t ?? []]);
48
+ }
49
+ var O, y = H;
50
+ if (process.env.NODE_ENV === "production")
51
+ O = y.createRoot, y.hydrateRoot;
52
+ else {
53
+ var A = y.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
54
+ O = function(e, t) {
55
+ A.usingClientEntryPoint = !0;
56
+ try {
57
+ return y.createRoot(e, t);
58
+ } finally {
59
+ A.usingClientEntryPoint = !1;
60
+ }
61
+ };
62
+ }
63
+ function M(e) {
64
+ return b(e.recommendationComponent, {
671
65
  // eslint-disable-next-line react/prop-types
672
- nostoRecommendation: t.nostoRecommendation
66
+ nostoRecommendation: e.nostoRecommendation
673
67
  });
674
68
  }
675
- function jt(t) {
69
+ function z(e) {
676
70
  if (!window.nostojs)
677
71
  throw new Error("Nosto has not yet been initialized");
678
- window.nostojs((o) => {
679
- o.placements.injectCampaigns(t.recommendations);
72
+ window.nostojs((t) => {
73
+ t.placements.injectCampaigns(e.recommendations);
680
74
  });
681
75
  }
682
- function k() {
683
- const { responseMode: t, recommendationComponent: o } = ie(), a = re({});
684
- if (t == "HTML")
685
- return { renderCampaigns: jt };
686
- function u(i) {
687
- var w;
688
- const v = ((w = i.campaigns) == null ? void 0 : w.recommendations) ?? {};
689
- for (const p in v) {
690
- const g = v[p], P = "#" + p, E = document.querySelector(P);
691
- E && (a.current[p] || (a.current[p] = Ct(E)), a.current[p].render(
692
- /* @__PURE__ */ se.jsx(
693
- Tt,
76
+ function d() {
77
+ const { responseMode: e, recommendationComponent: t } = E(), n = P({});
78
+ if (e == "HTML")
79
+ return { renderCampaigns: z };
80
+ function r(o) {
81
+ var i;
82
+ const c = ((i = o.campaigns) == null ? void 0 : i.recommendations) ?? {};
83
+ for (const a in c) {
84
+ const l = c[a], C = "#" + a, p = document.querySelector(C);
85
+ p && (n.current[a] || (n.current[a] = O(p)), n.current[a].render(
86
+ /* @__PURE__ */ v(
87
+ M,
694
88
  {
695
- recommendationComponent: o,
696
- nostoRecommendation: g
89
+ recommendationComponent: t,
90
+ nostoRecommendation: l
697
91
  }
698
92
  )
699
93
  ));
700
94
  }
701
95
  }
702
- return { renderCampaigns: u };
703
- }
704
- function xt() {
705
- return typeof window.nosto < "u";
96
+ return { renderCampaigns: r };
706
97
  }
707
- function kt(t, o) {
708
- return new Promise((a, u) => {
709
- const i = document.createElement("script");
710
- i.type = "text/javascript", i.src = t, i.async = !0, i.onload = () => a(), i.onerror = () => u(), Object.entries((o == null ? void 0 : o.attributes) ?? {}).forEach(([v, w]) => i.setAttribute(v, w)), (o == null ? void 0 : o.position) === "head" ? document.head.appendChild(i) : document.body.appendChild(i);
98
+ function U(e) {
99
+ const { renderCampaigns: t } = d();
100
+ u(async (n) => {
101
+ const r = await n.defaultSession().viewNotFound().setPlacements((e == null ? void 0 : e.placements) || n.placements.getPlacements()).load();
102
+ t(r);
711
103
  });
712
104
  }
713
- function Nt(t) {
714
- const { host: o = "connect.nosto.com", scriptLoader: a = kt, account: u, shopifyMarkets: i, loadScript: v = !0 } = t, [w, p] = bt(!1);
715
- return ae(() => {
716
- function g() {
717
- var f;
718
- "nostoReactTest" in window && ((f = window.nosto) == null || f.reload({
719
- site: "localhost"
720
- })), p(!0);
721
- }
722
- async function P(f, _ = {}) {
723
- const O = `//${o}${f}`, A = { "nosto-client-script": "", ..._ };
724
- await a(O, { attributes: A }), g();
725
- }
726
- function E() {
727
- var M, Y;
728
- const f = document.querySelector("[nosto-client-script]"), _ = String((i == null ? void 0 : i.marketId) || ""), O = (i == null ? void 0 : i.language) || "", A = (f == null ? void 0 : f.getAttribute("nosto-language")) !== O || (f == null ? void 0 : f.getAttribute("nosto-market-id")) !== _;
729
- if (!f || A) {
730
- w && p(!1);
731
- const S = document.querySelector("#nosto-sandbox");
732
- (M = f == null ? void 0 : f.parentNode) == null || M.removeChild(f), (Y = S == null ? void 0 : S.parentNode) == null || Y.removeChild(S);
733
- const R = `/script/shopify/market/nosto.js?merchant=${u}&market=${_}&locale=${O.toLowerCase()}`;
734
- P(R, { "nosto-language": O, "nosto-market-id": _ });
735
- }
736
- }
737
- if (window.nostojs || (window.nostojs = (f) => {
738
- (window.nostojs.q = window.nostojs.q || []).push(f);
739
- }, window.nostojs((f) => f.setAutoLoad(!1))), !v) {
740
- window.nosto ? g() : window.nostojs(g);
741
- return;
742
- }
743
- if (!xt() && !i) {
744
- const f = `/include/${u}`;
745
- P(f);
746
- }
747
- i && E();
748
- }, [i == null ? void 0 : i.marketId, i == null ? void 0 : i.language]), { clientScriptLoaded: w };
749
- }
750
- function Ht(t) {
751
- return At(t), null;
752
- }
753
- function At(t) {
754
- const { renderCampaigns: o } = k();
755
- x(
756
- async (a) => {
757
- const u = await a.defaultSession().viewNotFound().setPlacements((t == null ? void 0 : t.placements) || a.placements.getPlacements()).load();
758
- o(u);
759
- }
760
- );
761
- }
762
- function zt(t) {
763
- return Dt(t), null;
105
+ function ae(e) {
106
+ return U(e), null;
764
107
  }
765
- function Dt(t) {
766
- const { renderCampaigns: o } = k();
767
- x(
768
- async (a) => {
769
- const u = await a.defaultSession().viewOther().setPlacements((t == null ? void 0 : t.placements) || a.placements.getPlacements()).load();
770
- o(u);
771
- }
108
+ function W({ category: e, placements: t }) {
109
+ const { renderCampaigns: n } = d();
110
+ u(
111
+ async (r) => {
112
+ const o = await r.defaultSession().viewCategory(e).setPlacements(t || r.placements.getPlacements()).load();
113
+ n(o);
114
+ },
115
+ [e]
772
116
  );
773
117
  }
774
- function Jt(t) {
775
- return Ft(t), null;
118
+ function ie(e) {
119
+ return W(e), null;
776
120
  }
777
- function Ft(t) {
778
- const { renderCampaigns: o } = k();
779
- x(
780
- async (a) => {
781
- const u = await a.defaultSession().viewCart().setPlacements((t == null ? void 0 : t.placements) || a.placements.getPlacements()).load();
782
- o(u);
783
- }
784
- );
121
+ function B(e) {
122
+ const { renderCampaigns: t } = d();
123
+ u(async (n) => {
124
+ const r = await n.defaultSession().viewCart().setPlacements((e == null ? void 0 : e.placements) || n.placements.getPlacements()).load();
125
+ t(r);
126
+ });
785
127
  }
786
- function Gt(t) {
787
- return Lt(t), null;
128
+ function ue(e) {
129
+ return B(e), null;
788
130
  }
789
- function Lt({ product: t, tagging: o, placements: a }) {
790
- const { renderCampaigns: u } = k();
791
- x(
792
- async (i) => {
793
- const v = await i.defaultSession().viewProduct(o ?? t).setPlacements(a || i.placements.getPlacements()).load();
794
- u(v);
795
- },
796
- [t, o == null ? void 0 : o.selected_sku_id]
797
- );
131
+ function G(e) {
132
+ const { renderCampaigns: t } = d();
133
+ u(async (n) => {
134
+ const r = await n.defaultSession().viewFrontPage().setPlacements((e == null ? void 0 : e.placements) || n.placements.getPlacements()).load();
135
+ t(r);
136
+ });
798
137
  }
799
- function Kt(t) {
800
- return It(t), null;
138
+ function de(e) {
139
+ return G(e), null;
801
140
  }
802
- function It({ category: t, placements: o }) {
803
- const { renderCampaigns: a } = k();
804
- x(
805
- async (u) => {
806
- const i = await u.defaultSession().viewCategory(t).setPlacements(o || u.placements.getPlacements()).load();
807
- a(i);
808
- },
809
- [t]
810
- );
141
+ function w(e) {
142
+ return !e || typeof e != "object" || J(e) || Y(e) ? e : Array.isArray(e) ? e.map(w) : Object.keys(e).reduce((t, n) => {
143
+ const r = n[0].toLowerCase() + n.slice(1).replace(/([A-Z]+)/g, (o, c) => "_" + c.toLowerCase());
144
+ return t[r] = w(e[n]), t;
145
+ }, {});
811
146
  }
812
- function Xt(t) {
813
- return $t(t), null;
147
+ function J(e) {
148
+ return Object.prototype.toString.call(e) === "[object Date]";
814
149
  }
815
- function $t({ query: t, placements: o }) {
816
- const { renderCampaigns: a } = k();
817
- x(
818
- async (u) => {
819
- const i = await u.defaultSession().viewSearch(t).setPlacements(o || u.placements.getPlacements()).load();
820
- a(i);
150
+ function Y(e) {
151
+ return Object.prototype.toString.call(e) === "[object RegExp]";
152
+ }
153
+ function Z({ order: e, placements: t }) {
154
+ const { renderCampaigns: n } = d();
155
+ u(
156
+ async (r) => {
157
+ const o = await r.defaultSession().addOrder(w(e)).setPlacements(t || r.placements.getPlacements()).load();
158
+ n(o);
821
159
  },
822
- [t]
160
+ [e],
161
+ { deep: !0 }
823
162
  );
824
163
  }
825
- function V(t) {
826
- return !t || typeof t != "object" || Wt(t) || Vt(t) ? t : Array.isArray(t) ? t.map(V) : Object.keys(t).reduce((o, a) => {
827
- const u = a[0].toLowerCase() + a.slice(1).replace(/([A-Z]+)/g, (i, v) => "_" + v.toLowerCase());
828
- return o[u] = V(t[a]), o;
829
- }, {});
164
+ function le(e) {
165
+ return Z(e), null;
830
166
  }
831
- function Wt(t) {
832
- return Object.prototype.toString.call(t) === "[object Date]";
167
+ function K(e) {
168
+ const { renderCampaigns: t } = d();
169
+ u(async (n) => {
170
+ const r = await n.defaultSession().viewOther().setPlacements((e == null ? void 0 : e.placements) || n.placements.getPlacements()).load();
171
+ t(r);
172
+ });
833
173
  }
834
- function Vt(t) {
835
- return Object.prototype.toString.call(t) === "[object RegExp]";
174
+ function me(e) {
175
+ return K(e), null;
836
176
  }
837
- function Zt(t) {
838
- return Mt(t), null;
177
+ function fe({ id: e, pageType: t }) {
178
+ return /* @__PURE__ */ v("div", { className: "nosto_element", id: e }, e + (t || ""));
839
179
  }
840
- function Mt({ order: t, placements: o }) {
841
- const { renderCampaigns: a } = k();
842
- x(
843
- async (u) => {
844
- const i = await u.defaultSession().addOrder(V(t)).setPlacements(o || u.placements.getPlacements()).load();
845
- a(i);
180
+ function Q({ product: e, tagging: t, placements: n }) {
181
+ const { renderCampaigns: r } = d();
182
+ if (t && !t.product_id)
183
+ throw new Error("The product object must contain a product_id property");
184
+ u(
185
+ async (o) => {
186
+ const c = await o.defaultSession().viewProduct(t ?? e).setPlacements(n || o.placements.getPlacements()).load();
187
+ r(c);
846
188
  },
847
- [t],
848
- { deep: !0 }
189
+ [e, t == null ? void 0 : t.selected_sku_id]
849
190
  );
850
191
  }
851
- function Qt(t) {
852
- return Yt(t), null;
192
+ function we(e) {
193
+ return Q(e), null;
853
194
  }
854
- function Yt(t) {
855
- const { renderCampaigns: o } = k();
856
- x(
857
- async (a) => {
858
- const u = await a.defaultSession().viewFrontPage().setPlacements((t == null ? void 0 : t.placements) || a.placements.getPlacements()).load();
859
- o(u);
860
- }
861
- );
195
+ function X() {
196
+ return typeof window.nosto < "u";
862
197
  }
863
- function er({ id: t, pageType: o }) {
864
- return /* @__PURE__ */ se.jsx("div", { className: "nosto_element", id: t }, t + (o || ""));
198
+ function ee(e, t) {
199
+ return new Promise((n, r) => {
200
+ const o = document.createElement("script");
201
+ o.type = "text/javascript", o.src = e, o.async = !0, o.onload = () => n(), o.onerror = () => r(), Object.entries((t == null ? void 0 : t.attributes) ?? {}).forEach(([c, i]) => o.setAttribute(c, i)), (t == null ? void 0 : t.position) === "head" ? document.head.appendChild(o) : document.body.appendChild(o);
202
+ });
865
203
  }
866
- function tr(t) {
204
+ function te(e) {
867
205
  const {
868
- account: o,
869
- multiCurrency: a = !1,
870
- children: u,
871
- recommendationComponent: i
872
- } = t, v = a ? t.currentVariation : "";
873
- if (i && !_t(i))
206
+ host: t = "connect.nosto.com",
207
+ scriptLoader: n = ee,
208
+ account: r,
209
+ shopifyMarkets: o,
210
+ loadScript: c = !0
211
+ } = e, [i, a] = q(!1);
212
+ return g(() => {
213
+ function l() {
214
+ var s;
215
+ "nostoReactTest" in window && ((s = window.nosto) == null || s.reload({
216
+ site: "localhost"
217
+ })), a(!0);
218
+ }
219
+ async function C(s, m = {}) {
220
+ const f = `//${t}${s}`, S = { "nosto-client-script": "", ...m };
221
+ await n(f, { attributes: S }), l();
222
+ }
223
+ function p() {
224
+ var R, j;
225
+ const s = document.querySelector("[nosto-client-script]"), m = String((o == null ? void 0 : o.marketId) || ""), f = (o == null ? void 0 : o.language) || "", S = (s == null ? void 0 : s.getAttribute("nosto-language")) !== f || (s == null ? void 0 : s.getAttribute("nosto-market-id")) !== m;
226
+ if (!s || S) {
227
+ i && a(!1);
228
+ const N = document.querySelector("#nosto-sandbox");
229
+ (R = s == null ? void 0 : s.parentNode) == null || R.removeChild(s), (j = N == null ? void 0 : N.parentNode) == null || j.removeChild(N);
230
+ const $ = `/script/shopify/market/nosto.js?merchant=${r}&market=${m}&locale=${f.toLowerCase()}`;
231
+ C($, { "nosto-language": f, "nosto-market-id": m });
232
+ }
233
+ }
234
+ if (window.nostojs || (window.nostojs = (s) => {
235
+ (window.nostojs.q = window.nostojs.q || []).push(s);
236
+ }, window.nostojs((s) => s.setAutoLoad(!1))), !c) {
237
+ window.nosto ? l() : window.nostojs(l);
238
+ return;
239
+ }
240
+ if (!X() && !o) {
241
+ const s = `/include/${r}`;
242
+ C(s);
243
+ }
244
+ o && p();
245
+ }, [o == null ? void 0 : o.marketId, o == null ? void 0 : o.language]), { clientScriptLoaded: i };
246
+ }
247
+ function Ce(e) {
248
+ const { account: t, multiCurrency: n = !1, children: r, recommendationComponent: o } = e, c = n ? e.currentVariation : "";
249
+ if (o && !F(o))
874
250
  throw new Error(
875
251
  "The recommendationComponent prop must be a valid React element. Please provide a valid React element."
876
252
  );
877
- const w = i ? "JSON_ORIGINAL" : "HTML", { clientScriptLoaded: p } = Nt(t);
878
- return /* @__PURE__ */ se.jsx(
879
- $e.Provider,
253
+ const i = o ? "JSON_ORIGINAL" : "HTML", { clientScriptLoaded: a } = te(e);
254
+ return a && window.nostojs((l) => {
255
+ l.defaultSession().setVariation(c).setResponseMode(i);
256
+ }), /* @__PURE__ */ v(
257
+ T.Provider,
880
258
  {
881
259
  value: {
882
- account: o,
883
- clientScriptLoaded: p,
884
- currentVariation: v,
885
- responseMode: w,
886
- recommendationComponent: i
260
+ account: t,
261
+ clientScriptLoaded: a,
262
+ currentVariation: c,
263
+ responseMode: i,
264
+ recommendationComponent: o
887
265
  },
888
- children: u
266
+ children: r
889
267
  }
890
268
  );
891
269
  }
892
- function rr(t) {
893
- return Ut(t), null;
270
+ function ne({ query: e, placements: t }) {
271
+ const { renderCampaigns: n } = d();
272
+ u(
273
+ async (r) => {
274
+ const o = await r.defaultSession().viewSearch(e).setPlacements(t || r.placements.getPlacements()).load();
275
+ n(o);
276
+ },
277
+ [e]
278
+ );
894
279
  }
895
- function Ut({ cart: t, customer: o } = {}) {
896
- const { clientScriptLoaded: a } = ie();
897
- Ie(() => {
898
- const u = t ? V(t) : void 0, i = o ? V(o) : void 0;
899
- a && window.nostojs((v) => {
900
- v.defaultSession().setResponseMode("HTML").setCart(u).setCustomer(i).viewOther().load({ skipPageViews: !0 });
280
+ function pe(e) {
281
+ return ne(e), null;
282
+ }
283
+ function oe({ cart: e, customer: t } = {}) {
284
+ const { clientScriptLoaded: n } = E();
285
+ D(() => {
286
+ const r = e ? w(e) : void 0, o = t ? w(t) : void 0;
287
+ n && window.nostojs((c) => {
288
+ c.defaultSession().setCart(r).setCustomer(o).viewOther().load({ skipPageViews: !0 });
901
289
  });
902
- }, [a, t, o]);
290
+ }, [n, e, t]);
291
+ }
292
+ function Ne(e) {
293
+ return oe(e), null;
903
294
  }
904
295
  export {
905
- Ht as Nosto404,
906
- Kt as NostoCategory,
907
- Jt as NostoCheckout,
908
- $e as NostoContext,
909
- Qt as NostoHome,
910
- Zt as NostoOrder,
911
- zt as NostoOther,
912
- er as NostoPlacement,
913
- Gt as NostoProduct,
914
- tr as NostoProvider,
915
- Xt as NostoSearch,
916
- rr as NostoSession,
917
- At as useNosto404,
918
- It as useNostoCategory,
919
- Ft as useNostoCheckout,
920
- ie as useNostoContext,
921
- Yt as useNostoHome,
922
- Mt as useNostoOrder,
923
- Dt as useNostoOther,
924
- Lt as useNostoProduct,
925
- $t as useNostoSearch,
926
- Ut as useNostoSession
296
+ ae as Nosto404,
297
+ ie as NostoCategory,
298
+ ue as NostoCheckout,
299
+ T as NostoContext,
300
+ de as NostoHome,
301
+ le as NostoOrder,
302
+ me as NostoOther,
303
+ fe as NostoPlacement,
304
+ we as NostoProduct,
305
+ Ce as NostoProvider,
306
+ pe as NostoSearch,
307
+ Ne as NostoSession,
308
+ U as useNosto404,
309
+ W as useNostoCategory,
310
+ B as useNostoCheckout,
311
+ E as useNostoContext,
312
+ G as useNostoHome,
313
+ Z as useNostoOrder,
314
+ K as useNostoOther,
315
+ Q as useNostoProduct,
316
+ ne as useNostoSearch,
317
+ oe as useNostoSession
927
318
  };