@getspot/spot-widget-react 3.1.0 → 3.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/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @getspot/spot-widget-react
2
2
 
3
+ ## 3.1.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 1881ed1: Fix compatibility with Vue 2 build systems by replacing import.meta.url with document.currentScript
8
+ - Updated dependencies [1881ed1]
9
+ - @getspot/spot-widget@3.0.3
10
+
11
+ ## 3.1.1
12
+
13
+ ### Patch Changes
14
+
15
+ - f3c5aed: fix rerender errors
16
+ - Updated dependencies [f3c5aed]
17
+ - @getspot/spot-widget@3.0.2
18
+
3
19
  ## 3.1.0
4
20
 
5
21
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"ReactSpotWidget.d.ts","sourceRoot":"","sources":["../src/ReactSpotWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmF,MAAM,OAAO,CAAC;AA+BxG,OAAmB,EAAE,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE7H;;GAEG;AACH,UAAU,oBAAqB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,WAAW,CAAC;IACtF,0EAA0E;IAC1E,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC1C,iEAAiE;IACjE,gBAAgB,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IACxD,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yDAAyD;IACzD,KAAK,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnC,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,YAAY,GAAG,IAAI,CAAC;IACzD,+DAA+D;IAC/D,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACzC,iEAAiE;IACjE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC;IACpF,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC;IAClE,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAClD,gDAAgD;IAChD,SAAS,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,6CAA6C;IAC7C,WAAW,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9F,qCAAqC;IACrC,YAAY,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC;IACzC,kDAAkD;IAClD,iBAAiB,EAAE,MAAM,OAAO,CAAC;IACjC,yDAAyD;IACzD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,QAAA,MAAM,eAAe,iGAuJnB,CAAC;AAIH,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"ReactSpotWidget.d.ts","sourceRoot":"","sources":["../src/ReactSpotWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmF,MAAM,OAAO,CAAC;AA+BxG,OAAmB,EAAE,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE7H;;GAEG;AACH,UAAU,oBAAqB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,WAAW,CAAC;IACtF,0EAA0E;IAC1E,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC1C,iEAAiE;IACjE,gBAAgB,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IACxD,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yDAAyD;IACzD,KAAK,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnC,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,YAAY,GAAG,IAAI,CAAC;IACzD,+DAA+D;IAC/D,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACzC,iEAAiE;IACjE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC;IACpF,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC;IAClE,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAClD,gDAAgD;IAChD,SAAS,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,6CAA6C;IAC7C,WAAW,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9F,qCAAqC;IACrC,YAAY,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC;IACzC,kDAAkD;IAClD,iBAAiB,EAAE,MAAM,OAAO,CAAC;IACjC,yDAAyD;IACzD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,QAAA,MAAM,eAAe,iGAoLnB,CAAC;AAIH,eAAe,eAAe,CAAC"}
package/dist/index.es.js CHANGED
@@ -1,113 +1,128 @@
1
1
  import { jsx as x } from "react/jsx-runtime";
2
- import { forwardRef as A, useRef as g, useCallback as d, useImperativeHandle as B, useEffect as E } from "react";
3
- import M from "@getspot/spot-widget";
4
- function s(c, o) {
5
- if (c === o) return !0;
6
- if (c == null || o == null || typeof c != "object" || typeof o != "object") return !1;
7
- const l = Object.keys(c), i = Object.keys(o);
8
- if (l.length !== i.length) return !1;
9
- for (let a of l)
10
- if (!i.includes(a) || !s(c[a], o[a])) return !1;
2
+ import { forwardRef as A, useRef as p, useCallback as O, useMemo as B, useImperativeHandle as H, useEffect as W } from "react";
3
+ import N from "@getspot/spot-widget";
4
+ function i(c, u) {
5
+ if (c === u) return !0;
6
+ if (c == null || u == null || typeof c != "object" || typeof u != "object") return !1;
7
+ const s = Object.keys(c), d = Object.keys(u);
8
+ if (s.length !== d.length) return !1;
9
+ for (let f of s)
10
+ if (!d.includes(f) || !i(c[f], u[f])) return !1;
11
11
  return !0;
12
12
  }
13
- function W(c, o) {
14
- const l = g(void 0);
15
- return (!l.current || !s(l.current.deps, o)) && (l.current = { deps: o, value: c() }), l.current.value;
13
+ function K(c, u) {
14
+ const s = p(void 0);
15
+ return (!s.current || !i(s.current.deps, u)) && (s.current = { deps: u, value: c() }), s.current.value;
16
16
  }
17
- const H = A(({
17
+ const T = A(({
18
18
  apiConfig: c,
19
- quoteRequestData: o,
20
- showTable: l = !0,
21
- optInSelected: i = !1,
22
- theme: a,
23
- callbacks: m = {},
24
- onQuoteRetrieved: R,
25
- onOptIn: b,
26
- onOptOut: Q,
27
- onError: h,
28
- onNoMatchingQuote: k,
19
+ quoteRequestData: u,
20
+ showTable: s = !0,
21
+ optInSelected: d = !1,
22
+ theme: f,
23
+ callbacks: v = {},
24
+ onQuoteRetrieved: k,
25
+ onOptIn: R,
26
+ onOptOut: m,
27
+ onError: Q,
28
+ onNoMatchingQuote: h,
29
29
  onSelectionChange: S
30
- }, N) => {
31
- const O = g(null), r = g(null), u = g({
32
- onQuoteRetrieved: R,
33
- onOptIn: b,
34
- onOptOut: Q,
35
- onError: h,
36
- onNoMatchingQuote: k,
30
+ }, P) => {
31
+ const g = p(null), n = p(null), o = p({
32
+ onQuoteRetrieved: k,
33
+ onOptIn: R,
34
+ onOptOut: m,
35
+ onError: Q,
36
+ onNoMatchingQuote: h,
37
37
  onSelectionChange: S
38
- });
39
- u.current = {
40
- onQuoteRetrieved: R,
41
- onOptIn: b,
42
- onOptOut: Q,
43
- onError: h,
44
- onNoMatchingQuote: k,
38
+ }), C = p(v);
39
+ o.current = {
40
+ onQuoteRetrieved: k,
41
+ onOptIn: R,
42
+ onOptOut: m,
43
+ onError: Q,
44
+ onNoMatchingQuote: h,
45
45
  onSelectionChange: S
46
- };
47
- const C = d((t) => {
48
- var e, n;
49
- return (n = (e = u.current).onQuoteRetrieved) == null ? void 0 : n.call(e, t);
50
- }, []), I = d((t) => {
51
- var e, n, f, p;
52
- (n = (e = u.current).onOptIn) == null || n.call(e, t), (p = (f = u.current).onSelectionChange) == null || p.call(f, t);
53
- }, []), j = d((t) => {
54
- var e, n, f, p;
55
- (n = (e = u.current).onOptOut) == null || n.call(e, t), (p = (f = u.current).onSelectionChange) == null || p.call(f, t);
56
- }, []), q = d((t) => {
57
- var e, n;
58
- (n = (e = u.current).onError) == null || n.call(e, t);
59
- }, []), w = d((t) => {
60
- var e, n;
61
- (n = (e = u.current).onNoMatchingQuote) == null || n.call(e, t);
62
- }, []), D = W(() => ({
63
- ...m,
64
- ...u.current.onQuoteRetrieved && { onQuoteRetrieved: C },
65
- ...u.current.onOptIn && { onOptIn: I },
66
- ...u.current.onOptOut && { onOptOut: j },
67
- ...u.current.onError && { onError: q },
68
- ...u.current.onNoMatchingQuote && { noMatchingQuote: w }
69
- }), [m, C, I, j, q, w]), v = W(() => ({
46
+ }, C.current = v;
47
+ const I = O((e) => {
48
+ var t, r;
49
+ return (r = (t = o.current).onQuoteRetrieved) == null ? void 0 : r.call(t, e);
50
+ }, []), w = O((e) => {
51
+ var t, r, a, l;
52
+ (r = (t = o.current).onOptIn) == null || r.call(t, e), (l = (a = o.current).onSelectionChange) == null || l.call(a, e);
53
+ }, []), E = O((e) => {
54
+ var t, r, a, l;
55
+ (r = (t = o.current).onOptOut) == null || r.call(t, e), (l = (a = o.current).onSelectionChange) == null || l.call(a, e);
56
+ }, []), M = O((e) => {
57
+ var t, r;
58
+ (r = (t = o.current).onError) == null || r.call(t, e);
59
+ }, []), j = O((e) => {
60
+ var t, r;
61
+ (r = (t = o.current).onNoMatchingQuote) == null || r.call(t, e);
62
+ }, []), q = B(() => {
63
+ const e = {}, t = [
64
+ "onQuoteRetrieved",
65
+ "onOptIn",
66
+ "onOptOut",
67
+ "onError",
68
+ "noMatchingQuote"
69
+ ];
70
+ for (const r of t)
71
+ e[r] = (...a) => {
72
+ var D;
73
+ const l = (D = C.current) == null ? void 0 : D[r];
74
+ if (l) return l(...a);
75
+ };
76
+ return {
77
+ ...e,
78
+ ...o.current.onQuoteRetrieved && { onQuoteRetrieved: I },
79
+ ...o.current.onOptIn && { onOptIn: w },
80
+ ...o.current.onOptOut && { onOptOut: E },
81
+ ...o.current.onError && { onError: M },
82
+ ...o.current.onNoMatchingQuote && { noMatchingQuote: j }
83
+ };
84
+ }, [I, w, E, M, j]), b = K(() => ({
70
85
  apiConfig: c,
71
- quoteRequestData: o,
72
- showTable: l,
73
- optInSelected: i,
74
- theme: a,
75
- callbacks: D
76
- }), [c, o, l, i, a, D]);
77
- B(N, () => ({
78
- updateQuote: (t) => {
79
- var e;
80
- return ((e = r.current) == null ? void 0 : e.updateQuote(t)) ?? Promise.resolve(!1);
86
+ quoteRequestData: u,
87
+ showTable: s,
88
+ optInSelected: d,
89
+ theme: f,
90
+ callbacks: q
91
+ }), [c, u, s, d, f, q]);
92
+ H(P, () => ({
93
+ updateQuote: (e) => {
94
+ var t;
95
+ return ((t = n.current) == null ? void 0 : t.updateQuote(e)) ?? Promise.resolve(!1);
81
96
  },
82
97
  getSelection: () => {
83
- var t;
84
- return ((t = r.current) == null ? void 0 : t.getSelection()) ?? null;
98
+ var e;
99
+ return ((e = n.current) == null ? void 0 : e.getSelection()) ?? null;
85
100
  },
86
101
  validateSelection: () => {
87
- var t;
88
- return ((t = r.current) == null ? void 0 : t.validateSelection()) ?? !1;
102
+ var e;
103
+ return ((e = n.current) == null ? void 0 : e.validateSelection()) ?? !1;
89
104
  },
90
105
  destroy: () => {
91
- r.current && (r.current.destroy(), r.current = null);
106
+ n.current && (n.current.destroy(), n.current = null);
92
107
  }
93
108
  }));
94
- const y = g(void 0);
95
- return E(() => (O.current && !r.current && (r.current = new M({
96
- location: O.current,
97
- ...v
98
- }), y.current = v), () => {
99
- r.current && (r.current.destroy(), r.current = null);
100
- }), []), E(() => {
101
- if (r.current && y.current) {
102
- const t = y.current, e = v;
103
- s(t.apiConfig, e.apiConfig) && s(t.theme, e.theme) && t.showTable === e.showTable && t.optInSelected === e.optInSelected && s(t.callbacks, e.callbacks) && !s(t.quoteRequestData, e.quoteRequestData) ? r.current.updateQuote(e.quoteRequestData) : s(t, e) || (r.current.destroy(), r.current = new M({
104
- location: O.current,
105
- ...e
106
- })), y.current = e;
109
+ const y = p(void 0);
110
+ return W(() => (g.current && !n.current && (n.current = new N({
111
+ location: g.current,
112
+ ...b
113
+ }), y.current = b), () => {
114
+ n.current && (n.current.destroy(), n.current = null);
115
+ }), []), W(() => {
116
+ if (n.current && y.current) {
117
+ const e = y.current, t = b;
118
+ i(e.apiConfig, t.apiConfig) && i(e.theme, t.theme) && e.showTable === t.showTable && e.optInSelected === t.optInSelected && i(e.callbacks, t.callbacks) && !i(e.quoteRequestData, t.quoteRequestData) ? n.current.updateQuote(t.quoteRequestData) : i(e, t) || (n.current.destroy(), n.current = new N({
119
+ location: g.current,
120
+ ...t
121
+ })), y.current = t;
107
122
  }
108
- }, [v]), /* @__PURE__ */ x("div", { ref: O });
123
+ }, [b]), /* @__PURE__ */ x("div", { ref: g });
109
124
  });
110
- H.displayName = "ReactSpotWidget";
125
+ T.displayName = "ReactSpotWidget";
111
126
  export {
112
- H as default
127
+ T as default
113
128
  };
package/dist/index.umd.js CHANGED
@@ -1 +1 @@
1
- (function(i,n){typeof exports=="object"&&typeof module<"u"?module.exports=n(require("react/jsx-runtime"),require("react"),require("@getspot/spot-widget")):typeof define=="function"&&define.amd?define(["react/jsx-runtime","react","@getspot/spot-widget"],n):(i=typeof globalThis<"u"?globalThis:i||self,i.ReactSpotWidget=n(i.React,i.React,i.SpotWidget))})(this,function(i,n,k){"use strict";function f(s,c){if(s===c)return!0;if(s==null||c==null||typeof s!="object"||typeof c!="object")return!1;const l=Object.keys(s),d=Object.keys(c);if(l.length!==d.length)return!1;for(let a of l)if(!d.includes(a)||!f(s[a],c[a]))return!1;return!0}function v(s,c){const l=n.useRef(void 0);return(!l.current||!f(l.current.deps,c))&&(l.current={deps:c,value:s()}),l.current.value}const b=n.forwardRef(({apiConfig:s,quoteRequestData:c,showTable:l=!0,optInSelected:d=!1,theme:a,callbacks:h={},onQuoteRetrieved:m,onOptIn:Q,onOptOut:C,onError:S,onNoMatchingQuote:j,onSelectionChange:q},W)=>{const g=n.useRef(null),r=n.useRef(null),o=n.useRef({onQuoteRetrieved:m,onOptIn:Q,onOptOut:C,onError:S,onNoMatchingQuote:j,onSelectionChange:q});o.current={onQuoteRetrieved:m,onOptIn:Q,onOptOut:C,onError:S,onNoMatchingQuote:j,onSelectionChange:q};const w=n.useCallback(t=>{var e,u;return(u=(e=o.current).onQuoteRetrieved)==null?void 0:u.call(e,t)},[]),E=n.useCallback(t=>{var e,u,p,R;(u=(e=o.current).onOptIn)==null||u.call(e,t),(R=(p=o.current).onSelectionChange)==null||R.call(p,t)},[]),I=n.useCallback(t=>{var e,u,p,R;(u=(e=o.current).onOptOut)==null||u.call(e,t),(R=(p=o.current).onSelectionChange)==null||R.call(p,t)},[]),x=n.useCallback(t=>{var e,u;(u=(e=o.current).onError)==null||u.call(e,t)},[]),D=n.useCallback(t=>{var e,u;(u=(e=o.current).onNoMatchingQuote)==null||u.call(e,t)},[]),M=v(()=>({...h,...o.current.onQuoteRetrieved&&{onQuoteRetrieved:w},...o.current.onOptIn&&{onOptIn:E},...o.current.onOptOut&&{onOptOut:I},...o.current.onError&&{onError:x},...o.current.onNoMatchingQuote&&{noMatchingQuote:D}}),[h,w,E,I,x,D]),O=v(()=>({apiConfig:s,quoteRequestData:c,showTable:l,optInSelected:d,theme:a,callbacks:M}),[s,c,l,d,a,M]);n.useImperativeHandle(W,()=>({updateQuote:t=>{var e;return((e=r.current)==null?void 0:e.updateQuote(t))??Promise.resolve(!1)},getSelection:()=>{var t;return((t=r.current)==null?void 0:t.getSelection())??null},validateSelection:()=>{var t;return((t=r.current)==null?void 0:t.validateSelection())??!1},destroy:()=>{r.current&&(r.current.destroy(),r.current=null)}}));const y=n.useRef(void 0);return n.useEffect(()=>(g.current&&!r.current&&(r.current=new k({location:g.current,...O}),y.current=O),()=>{r.current&&(r.current.destroy(),r.current=null)}),[]),n.useEffect(()=>{if(r.current&&y.current){const t=y.current,e=O;f(t.apiConfig,e.apiConfig)&&f(t.theme,e.theme)&&t.showTable===e.showTable&&t.optInSelected===e.optInSelected&&f(t.callbacks,e.callbacks)&&!f(t.quoteRequestData,e.quoteRequestData)?r.current.updateQuote(e.quoteRequestData):f(t,e)||(r.current.destroy(),r.current=new k({location:g.current,...e})),y.current=e}},[O]),i.jsx("div",{ref:g})});return b.displayName="ReactSpotWidget",b});
1
+ (function(i,n){typeof exports=="object"&&typeof module<"u"?module.exports=n(require("react/jsx-runtime"),require("react"),require("@getspot/spot-widget")):typeof define=="function"&&define.amd?define(["react/jsx-runtime","react","@getspot/spot-widget"],n):(i=typeof globalThis<"u"?globalThis:i||self,i.ReactSpotWidget=n(i.React,i.React,i.SpotWidget))})(this,function(i,n,k){"use strict";function a(s,c){if(s===c)return!0;if(s==null||c==null||typeof s!="object"||typeof c!="object")return!1;const l=Object.keys(s),R=Object.keys(c);if(l.length!==R.length)return!1;for(let d of l)if(!R.includes(d)||!a(s[d],c[d]))return!1;return!0}function N(s,c){const l=n.useRef(void 0);return(!l.current||!a(l.current.deps,c))&&(l.current={deps:c,value:s()}),l.current.value}const y=n.forwardRef(({apiConfig:s,quoteRequestData:c,showTable:l=!0,optInSelected:R=!1,theme:d,callbacks:v={},onQuoteRetrieved:h,onOptIn:Q,onOptOut:m,onError:C,onNoMatchingQuote:S,onSelectionChange:j},P)=>{const O=n.useRef(null),u=n.useRef(null),o=n.useRef({onQuoteRetrieved:h,onOptIn:Q,onOptOut:m,onError:C,onNoMatchingQuote:S,onSelectionChange:j}),q=n.useRef(v);o.current={onQuoteRetrieved:h,onOptIn:Q,onOptOut:m,onError:C,onNoMatchingQuote:S,onSelectionChange:j},q.current=v;const w=n.useCallback(e=>{var t,r;return(r=(t=o.current).onQuoteRetrieved)==null?void 0:r.call(t,e)},[]),E=n.useCallback(e=>{var t,r,p,f;(r=(t=o.current).onOptIn)==null||r.call(t,e),(f=(p=o.current).onSelectionChange)==null||f.call(p,e)},[]),I=n.useCallback(e=>{var t,r,p,f;(r=(t=o.current).onOptOut)==null||r.call(t,e),(f=(p=o.current).onSelectionChange)==null||f.call(p,e)},[]),M=n.useCallback(e=>{var t,r;(r=(t=o.current).onError)==null||r.call(t,e)},[]),x=n.useCallback(e=>{var t,r;(r=(t=o.current).onNoMatchingQuote)==null||r.call(t,e)},[]),D=n.useMemo(()=>{const e={},t=["onQuoteRetrieved","onOptIn","onOptOut","onError","noMatchingQuote"];for(const r of t)e[r]=(...p)=>{var W;const f=(W=q.current)==null?void 0:W[r];if(f)return f(...p)};return{...e,...o.current.onQuoteRetrieved&&{onQuoteRetrieved:w},...o.current.onOptIn&&{onOptIn:E},...o.current.onOptOut&&{onOptOut:I},...o.current.onError&&{onError:M},...o.current.onNoMatchingQuote&&{noMatchingQuote:x}}},[w,E,I,M,x]),g=N(()=>({apiConfig:s,quoteRequestData:c,showTable:l,optInSelected:R,theme:d,callbacks:D}),[s,c,l,R,d,D]);n.useImperativeHandle(P,()=>({updateQuote:e=>{var t;return((t=u.current)==null?void 0:t.updateQuote(e))??Promise.resolve(!1)},getSelection:()=>{var e;return((e=u.current)==null?void 0:e.getSelection())??null},validateSelection:()=>{var e;return((e=u.current)==null?void 0:e.validateSelection())??!1},destroy:()=>{u.current&&(u.current.destroy(),u.current=null)}}));const b=n.useRef(void 0);return n.useEffect(()=>(O.current&&!u.current&&(u.current=new k({location:O.current,...g}),b.current=g),()=>{u.current&&(u.current.destroy(),u.current=null)}),[]),n.useEffect(()=>{if(u.current&&b.current){const e=b.current,t=g;a(e.apiConfig,t.apiConfig)&&a(e.theme,t.theme)&&e.showTable===t.showTable&&e.optInSelected===t.optInSelected&&a(e.callbacks,t.callbacks)&&!a(e.quoteRequestData,t.quoteRequestData)?u.current.updateQuote(t.quoteRequestData):a(e,t)||(u.current.destroy(),u.current=new k({location:O.current,...t})),b.current=t}},[g]),i.jsx("div",{ref:O})});return y.displayName="ReactSpotWidget",y});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getspot/spot-widget-react",
3
- "version": "3.1.0",
3
+ "version": "3.1.2",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -13,7 +13,7 @@
13
13
  "CHANGELOG.md"
14
14
  ],
15
15
  "dependencies": {
16
- "@getspot/spot-widget": "3.0.1"
16
+ "@getspot/spot-widget": "3.0.3"
17
17
  },
18
18
  "peerDependencies": {
19
19
  "react": ">=18.0.0",