@instockng/storefront-ui 1.0.21 → 1.0.23

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 (223) hide show
  1. package/dist/components/Checkout.d.ts.map +1 -1
  2. package/dist/components/ShoppingCart.d.ts.map +1 -1
  3. package/dist/contexts/CartContext.d.ts +2 -0
  4. package/dist/contexts/CartContext.d.ts.map +1 -1
  5. package/dist/index10.mjs +53 -59
  6. package/dist/index100.mjs +3 -3
  7. package/dist/index101.mjs +1 -1
  8. package/dist/index102.mjs +1 -1
  9. package/dist/index103.mjs +1 -1
  10. package/dist/index104.mjs +2 -2
  11. package/dist/index105.mjs +2 -2
  12. package/dist/index106.mjs +3 -3
  13. package/dist/index107.mjs +1 -1
  14. package/dist/index108.mjs +3 -3
  15. package/dist/index109.mjs +2 -2
  16. package/dist/index110.mjs +2 -2
  17. package/dist/index111.mjs +1 -1
  18. package/dist/index112.mjs +3 -3
  19. package/dist/index113.mjs +1 -1
  20. package/dist/index114.mjs +1 -1
  21. package/dist/index115.mjs +3 -3
  22. package/dist/index116.mjs +2 -2
  23. package/dist/index117.mjs +4 -4
  24. package/dist/index118.mjs +1 -1
  25. package/dist/index119.mjs +3 -3
  26. package/dist/index12.mjs +456 -438
  27. package/dist/index120.mjs +4 -4
  28. package/dist/index121.mjs +1 -1
  29. package/dist/index122.mjs +1 -1
  30. package/dist/index123.mjs +1 -1
  31. package/dist/index124.mjs +1 -1
  32. package/dist/index125.mjs +1 -1
  33. package/dist/index126.mjs +1 -1
  34. package/dist/index127.mjs +1 -1
  35. package/dist/index128.mjs +2 -2
  36. package/dist/index129.mjs +3 -3
  37. package/dist/index132.mjs +1 -1
  38. package/dist/index134.mjs +2 -21
  39. package/dist/index135.mjs +2 -56
  40. package/dist/index136.mjs +2 -29
  41. package/dist/index137.mjs +2 -7
  42. package/dist/index138.mjs +16 -50
  43. package/dist/index139.mjs +32 -6
  44. package/dist/index140.mjs +37 -11
  45. package/dist/index141.mjs +18 -7
  46. package/dist/index142.mjs +18 -28
  47. package/dist/index143.mjs +2 -2
  48. package/dist/index144.mjs +20 -70
  49. package/dist/index145.mjs +42 -163
  50. package/dist/index147.mjs +30 -2
  51. package/dist/index148.mjs +18 -2
  52. package/dist/index149.mjs +2 -2
  53. package/dist/index150.mjs +2 -18
  54. package/dist/index151.mjs +2 -32
  55. package/dist/index152.mjs +2 -38
  56. package/dist/index153.mjs +67 -13
  57. package/dist/index154.mjs +2 -18
  58. package/dist/index155.mjs +53 -2
  59. package/dist/index156.mjs +2 -20
  60. package/dist/index157.mjs +29 -39
  61. package/dist/index158.mjs +152 -2
  62. package/dist/index159.mjs +2 -30
  63. package/dist/index160.mjs +2 -18
  64. package/dist/index161.mjs +19 -2
  65. package/dist/index162.mjs +2 -2
  66. package/dist/index163.mjs +2 -2
  67. package/dist/index164.mjs +26 -2
  68. package/dist/index165.mjs +2 -72
  69. package/dist/index166.mjs +2 -2
  70. package/dist/index167.mjs +20 -49
  71. package/dist/index168.mjs +23 -2
  72. package/dist/index169.mjs +2 -36
  73. package/dist/index170.mjs +2 -152
  74. package/dist/index171.mjs +2 -2
  75. package/dist/index172.mjs +23 -2
  76. package/dist/index173.mjs +2 -19
  77. package/dist/index174.mjs +23 -2
  78. package/dist/index176.mjs +2 -26
  79. package/dist/index177.mjs +2 -2
  80. package/dist/index178.mjs +23 -2
  81. package/dist/index179.mjs +2 -24
  82. package/dist/index180.mjs +15 -15
  83. package/dist/index181.mjs +2 -2
  84. package/dist/index182.mjs +2 -2
  85. package/dist/index183.mjs +2 -2
  86. package/dist/index184.mjs +2 -23
  87. package/dist/index185.mjs +2 -2
  88. package/dist/index186.mjs +2 -23
  89. package/dist/index187.mjs +2 -2
  90. package/dist/index188.mjs +2 -2
  91. package/dist/index189.mjs +127 -2
  92. package/dist/index190.mjs +2 -23
  93. package/dist/index191.mjs +74 -2
  94. package/dist/index192.mjs +71 -20
  95. package/dist/index193.mjs +21 -2
  96. package/dist/index194.mjs +56 -2
  97. package/dist/index195.mjs +29 -2
  98. package/dist/index196.mjs +7 -2
  99. package/dist/index197.mjs +52 -2
  100. package/dist/index198.mjs +6 -2
  101. package/dist/index199.mjs +12 -2
  102. package/dist/index2.mjs +10 -10
  103. package/dist/index20.mjs +2 -2
  104. package/dist/index200.mjs +7 -2
  105. package/dist/index201.mjs +28 -127
  106. package/dist/index202.mjs +2 -2
  107. package/dist/index203.mjs +69 -73
  108. package/dist/index204.mjs +164 -71
  109. package/dist/index205.mjs +2 -31
  110. package/dist/index206.mjs +2 -11
  111. package/dist/index207.mjs +2 -4
  112. package/dist/index208.mjs +2 -4
  113. package/dist/index209.mjs +2 -13
  114. package/dist/index21.mjs +2 -2
  115. package/dist/index210.mjs +2 -7
  116. package/dist/index211.mjs +107 -11
  117. package/dist/index212.mjs +2 -5
  118. package/dist/index213.mjs +2 -33
  119. package/dist/index214.mjs +2 -31
  120. package/dist/index215.mjs +2 -28
  121. package/dist/index216.mjs +241 -58
  122. package/dist/index218.mjs +33 -2
  123. package/dist/index219.mjs +65 -2
  124. package/dist/index220.mjs +25 -2
  125. package/dist/index221.mjs +2 -2
  126. package/dist/index222.mjs +37 -2
  127. package/dist/index225.mjs +2 -108
  128. package/dist/index226.mjs +2 -2
  129. package/dist/index227.mjs +2 -2
  130. package/dist/index228.mjs +2 -2
  131. package/dist/index229.mjs +2 -37
  132. package/dist/index231.mjs +2 -244
  133. package/dist/index232.mjs +2 -2
  134. package/dist/index233.mjs +4 -33
  135. package/dist/index234.mjs +2 -65
  136. package/dist/index235.mjs +2 -25
  137. package/dist/index236.mjs +31 -2
  138. package/dist/index237.mjs +11 -2
  139. package/dist/index238.mjs +4 -2
  140. package/dist/index239.mjs +4 -2
  141. package/dist/index240.mjs +13 -2
  142. package/dist/index241.mjs +7 -2
  143. package/dist/index242.mjs +12 -2
  144. package/dist/index243.mjs +5 -2
  145. package/dist/index244.mjs +33 -2
  146. package/dist/index245.mjs +31 -4
  147. package/dist/index246.mjs +28 -2
  148. package/dist/index247.mjs +61 -2
  149. package/dist/index248.mjs +2 -2
  150. package/dist/index249.mjs +2 -18
  151. package/dist/index25.mjs +53 -48
  152. package/dist/index250.mjs +13 -42
  153. package/dist/index251.mjs +47 -2
  154. package/dist/index252.mjs +2 -2
  155. package/dist/index257.mjs +1 -2
  156. package/dist/index258.mjs +3 -2
  157. package/dist/index259.mjs +2 -2
  158. package/dist/index260.mjs +2 -17
  159. package/dist/index261.mjs +15 -11
  160. package/dist/index262.mjs +13 -6
  161. package/dist/index263.mjs +6 -30
  162. package/dist/index264.mjs +30 -2
  163. package/dist/index3.mjs +133 -102
  164. package/dist/index32.mjs +26 -26
  165. package/dist/index37.mjs +2 -2
  166. package/dist/index38.mjs +1 -1
  167. package/dist/index4.mjs +50 -49
  168. package/dist/index42.mjs +1 -1
  169. package/dist/index47.mjs +17 -17
  170. package/dist/index48.mjs +2 -2
  171. package/dist/index49.mjs +59 -59
  172. package/dist/index50.mjs +50 -50
  173. package/dist/index51.mjs +48 -48
  174. package/dist/index52.mjs +56 -56
  175. package/dist/index53.mjs +39 -39
  176. package/dist/index54.mjs +55 -55
  177. package/dist/index55.mjs +15 -15
  178. package/dist/index56.mjs +10 -10
  179. package/dist/index57.mjs +23 -23
  180. package/dist/index58.mjs +64 -64
  181. package/dist/index59.mjs +73 -73
  182. package/dist/index60.mjs +21 -20
  183. package/dist/index61.mjs +2 -24
  184. package/dist/index63.mjs +23 -2
  185. package/dist/index66.mjs +2 -2
  186. package/dist/index75.mjs +2 -235
  187. package/dist/index76.mjs +233 -4
  188. package/dist/index77.mjs +5 -133
  189. package/dist/index78.mjs +129 -63
  190. package/dist/index79.mjs +67 -86
  191. package/dist/index80.mjs +85 -27
  192. package/dist/index81.mjs +28 -8
  193. package/dist/index82.mjs +8 -74
  194. package/dist/index83.mjs +74 -3
  195. package/dist/index84.mjs +4 -2
  196. package/dist/index85.mjs +2 -83
  197. package/dist/index86.mjs +81 -52
  198. package/dist/index87.mjs +53 -5
  199. package/dist/index88.mjs +5 -4
  200. package/dist/index89.mjs +4 -178
  201. package/dist/index90.mjs +174 -48
  202. package/dist/index91.mjs +51 -67
  203. package/dist/index92.mjs +69 -34
  204. package/dist/index93.mjs +31 -40
  205. package/dist/index94.mjs +43 -2
  206. package/dist/index96.mjs +1 -1
  207. package/dist/index97.mjs +1 -1
  208. package/dist/index98.mjs +6 -6
  209. package/dist/index99.mjs +4 -4
  210. package/dist/providers/MetaPixelProvider.d.ts +10 -5
  211. package/dist/providers/MetaPixelProvider.d.ts.map +1 -1
  212. package/dist/providers/StorefrontProvider.d.ts.map +1 -1
  213. package/dist/styles.css +1 -1
  214. package/package.json +12 -11
  215. package/src/components/CartItem.stories.tsx +5 -5
  216. package/src/components/Checkout.stories.tsx +16 -15
  217. package/src/components/Checkout.tsx +42 -0
  218. package/src/components/ShoppingCart.stories.tsx +17 -16
  219. package/src/components/ShoppingCart.tsx +3 -11
  220. package/src/contexts/CartContext.tsx +70 -6
  221. package/src/providers/MetaPixelProvider.tsx +24 -16
  222. package/src/providers/StorefrontProvider.tsx +4 -1
  223. package/src/test-utils/MockCartProvider.tsx +31 -25
package/dist/index263.mjs CHANGED
@@ -1,33 +1,9 @@
1
1
  'use client';
2
- import r from "./index75.mjs";
3
- import c from "./index141.mjs";
4
- const p = c.hasStandardBrowserEnv ? (
5
- // Standard browser envs support document.cookie
6
- {
7
- write(e, t, n, i, s, u) {
8
- const o = [e + "=" + encodeURIComponent(t)];
9
- r.isNumber(n) && o.push("expires=" + new Date(n).toGMTString()), r.isString(i) && o.push("path=" + i), r.isString(s) && o.push("domain=" + s), u === !0 && o.push("secure"), document.cookie = o.join("; ");
10
- },
11
- read(e) {
12
- const t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
13
- return t ? decodeURIComponent(t[3]) : null;
14
- },
15
- remove(e) {
16
- this.write(e, "", Date.now() - 864e5);
17
- }
18
- }
19
- ) : (
20
- // Non-standard browser env (web workers, react-native) lack needed support.
21
- {
22
- write() {
23
- },
24
- read() {
25
- return null;
26
- },
27
- remove() {
28
- }
29
- }
30
- );
2
+ import o from "./index200.mjs";
3
+ const n = o.hasStandardBrowserEnv ? /* @__PURE__ */ ((r, e) => (t) => (t = new URL(t, o.origin), r.protocol === t.protocol && r.host === t.host && (e || r.port === t.port)))(
4
+ new URL(o.origin),
5
+ o.navigator && /(msie|trident)/i.test(o.navigator.userAgent)
6
+ ) : () => !0;
31
7
  export {
32
- p as default
8
+ n as default
33
9
  };
package/dist/index264.mjs CHANGED
@@ -1,5 +1,33 @@
1
1
  'use client';
2
- const e = {};
2
+ import r from "./index76.mjs";
3
+ import c from "./index200.mjs";
4
+ const p = c.hasStandardBrowserEnv ? (
5
+ // Standard browser envs support document.cookie
6
+ {
7
+ write(e, t, n, i, s, u) {
8
+ const o = [e + "=" + encodeURIComponent(t)];
9
+ r.isNumber(n) && o.push("expires=" + new Date(n).toGMTString()), r.isString(i) && o.push("path=" + i), r.isString(s) && o.push("domain=" + s), u === !0 && o.push("secure"), document.cookie = o.join("; ");
10
+ },
11
+ read(e) {
12
+ const t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
13
+ return t ? decodeURIComponent(t[3]) : null;
14
+ },
15
+ remove(e) {
16
+ this.write(e, "", Date.now() - 864e5);
17
+ }
18
+ }
19
+ ) : (
20
+ // Non-standard browser env (web workers, react-native) lack needed support.
21
+ {
22
+ write() {
23
+ },
24
+ read() {
25
+ return null;
26
+ },
27
+ remove() {
28
+ }
29
+ }
30
+ );
3
31
  export {
4
- e as default
32
+ p as default
5
33
  };
package/dist/index3.mjs CHANGED
@@ -1,170 +1,201 @@
1
1
  'use client';
2
- import { jsxs as Q, jsx as V } from "react/jsx-runtime";
3
- import { createContext as W, useState as I, useRef as y, useEffect as m, useCallback as o, useContext as X } from "react";
2
+ import { jsxs as ct, jsx as st } from "react/jsx-runtime";
3
+ import { createContext as at, useState as _, useRef as g, useCallback as c, useEffect as d, useContext as ut } from "react";
4
4
  import "./index20.mjs";
5
- import { useGetCart as Z, useCreateCart as $, useAddCartItem as tt, useUpdateCartItem as et, useRemoveCartItem as rt, useApplyDiscount as ot, useRemoveDiscount as nt, useUpdateCart as st, useCheckoutCart as at } from "./index32.mjs";
5
+ import { useGetCart as it, useCreateCart as ft, useAddCartItem as mt, useUpdateCartItem as dt, useRemoveCartItem as lt, useApplyDiscount as pt, useRemoveDiscount as Ct, useUpdateCart as wt, useCheckoutCart as It } from "./index32.mjs";
6
6
  import "@tanstack/react-query";
7
- import { ShoppingCart as ct } from "./index10.mjs";
8
- import { useMetaPixel as ut } from "./index4.mjs";
9
- const f = "oms_cart_id", N = W(null);
10
- function Ct({ children: l, brandSlug: a, initialCartId: d, shoppingCartProps: P }) {
11
- const [t, c] = I(d || null), [h, v] = I(!1), [g, x] = I(!1), S = y(!1), A = y(!1), p = y(!1), { trackAddToCart: D, trackPurchase: R } = ut();
12
- m(() => {
13
- x(!0);
14
- }, []), m(() => {
15
- if (d || S.current) return;
16
- S.current = !0;
7
+ import { ShoppingCart as ht } from "./index10.mjs";
8
+ import { useMetaPixel as vt } from "./index4.mjs";
9
+ const l = "oms_cart_id", U = at(null);
10
+ function bt({ children: p, brandSlug: i, initialCartId: C, shoppingCartProps: L }) {
11
+ const [t, f] = _(C || null), [A, S] = _(!1), [j, G] = _(!1), b = g(!1), M = g(!1), h = g(!1), { trackAddToCart: v, trackInitiateCheckout: E, trackPurchase: O } = vt(), N = c(() => {
12
+ if (typeof document > "u") return { fbc: void 0, fbp: void 0 };
13
+ const e = (r) => {
14
+ var o;
15
+ const n = `; ${document.cookie}`.split(`; ${r}=`);
16
+ if (n.length === 2) return (o = n.pop()) == null ? void 0 : o.split(";").shift();
17
+ };
18
+ return {
19
+ fbc: e("_fbc"),
20
+ fbp: e("_fbp")
21
+ };
22
+ }, []);
23
+ d(() => {
24
+ G(!0);
25
+ }, []), d(() => {
26
+ if (C || b.current) return;
27
+ b.current = !0;
17
28
  const r = new URLSearchParams(window.location.search).get("cartId");
18
29
  if (r) {
19
- c(r);
30
+ f(r);
20
31
  return;
21
32
  }
22
- const s = localStorage.getItem(f);
23
- s && c(s);
24
- }, [d]);
25
- const { data: k, isLoading: T, error: w, refetch: n } = Z(t || "", {
33
+ const s = localStorage.getItem(l);
34
+ s && f(s);
35
+ }, [C]);
36
+ const { data: m, isLoading: q, error: w, refetch: a } = it(t || "", {
26
37
  enabled: !!t,
27
38
  retry: !1
28
39
  // Don't retry on failure - cart might be invalid/expired
29
- }), C = $({
40
+ }), y = ft({
30
41
  onSuccess: (e) => {
31
42
  if ("error" in e) {
32
43
  console.error("Failed to create cart:", e.error);
33
44
  return;
34
45
  }
35
- c(e.id);
46
+ f(e.id);
36
47
  },
37
48
  onError: (e) => {
38
49
  console.error("Failed to create cart:", e);
39
50
  },
40
51
  retry: 10
41
52
  });
42
- m(() => {
43
- if (A.current) return;
44
- A.current = !0;
53
+ d(() => {
54
+ if (M.current) return;
55
+ M.current = !0;
45
56
  const e = setTimeout(() => {
46
- !(typeof window < "u" ? localStorage.getItem(f) : null) && !d && C.mutate(a);
57
+ !(typeof window < "u" ? localStorage.getItem(l) : null) && !C && y.mutate(i);
47
58
  }, 150);
48
59
  return () => clearTimeout(e);
49
- }, []), m(() => {
50
- w && t && !p.current && (p.current = !0, console.warn("Cart fetch failed, creating new cart:", w), c(null), typeof window < "u" && localStorage.removeItem(f), setTimeout(() => {
51
- C.mutate(a), p.current = !1;
60
+ }, []), d(() => {
61
+ w && t && !h.current && (h.current = !0, console.warn("Cart fetch failed, creating new cart:", w), f(null), typeof window < "u" && localStorage.removeItem(l), setTimeout(() => {
62
+ y.mutate(i), h.current = !1;
52
63
  }, 100));
53
- }, [w, t, a]);
54
- const _ = tt(t || "", {
55
- onSuccess: () => n()
56
- }), F = et(t || "", {
57
- onSuccess: () => n()
58
- }), U = rt(t || "", {
59
- onSuccess: () => n()
60
- }), L = ot(t || "", {
61
- onSuccess: () => n()
62
- }), j = nt(t || "", {
63
- onSuccess: () => n()
64
- }), G = st(t || "", {
65
- onSuccess: () => n(),
64
+ }, [w, t, i]);
65
+ const H = mt(t || "", {
66
+ onSuccess: () => a()
67
+ }), K = dt(t || "", {
68
+ onSuccess: () => a()
69
+ }), Y = lt(t || "", {
70
+ onSuccess: () => a()
71
+ }), z = pt(t || "", {
72
+ onSuccess: () => a()
73
+ }), B = Ct(t || "", {
74
+ onSuccess: () => a()
75
+ }), J = wt(t || "", {
76
+ onSuccess: () => a(),
66
77
  retry: 3
67
- }), O = at(t || "", {
78
+ }), Q = It(t || "", {
68
79
  onSuccess: (e) => {
69
- var s;
80
+ var n;
70
81
  if ("error" in e) return;
71
- const r = ((s = e.items) == null ? void 0 : s.map((u) => {
72
- var i;
82
+ const r = ((n = e.items) == null ? void 0 : n.map((o) => {
83
+ var u;
73
84
  return {
74
- id: ((i = u.variant) == null ? void 0 : i.sku) || "",
75
- quantity: u.quantity,
76
- item_price: Number(u.priceAtPurchase)
85
+ id: ((u = o.variant) == null ? void 0 : u.sku) || "",
86
+ quantity: o.quantity,
87
+ item_price: Number(o.priceAtPurchase)
77
88
  };
78
- })) || [];
79
- R(
89
+ })) || [], s = `order_${e.id}`;
90
+ O(
80
91
  Number(e.totalPrice),
81
92
  "NGN",
82
93
  e.id,
83
- r
94
+ r,
95
+ s
84
96
  );
85
97
  }
86
98
  });
87
- m(() => {
88
- t && typeof window < "u" && localStorage.setItem(f, t);
99
+ d(() => {
100
+ t && typeof window < "u" && localStorage.setItem(l, t);
89
101
  }, [t]);
90
- const b = o(
91
- async (e, r, s, u, i) => {
102
+ const V = c(
103
+ async (e, r, s, n, o) => {
104
+ var $;
92
105
  if (!t) throw new Error("No cart ID");
93
- await _.mutateAsync({ sku: u, quantity: i }), D(e, r, s, i);
106
+ const { fbc: u, fbp: D } = N(), R = await H.mutateAsync({ sku: n, quantity: o, fbc: u, fbp: D });
107
+ if ("error" in R) return;
108
+ const I = ($ = R.items) == null ? void 0 : $.filter(
109
+ (k) => {
110
+ var F;
111
+ return ((F = k.variant) == null ? void 0 : F.sku) === n;
112
+ }
113
+ ), T = I == null ? void 0 : I[I.length - 1];
114
+ if (T) {
115
+ const k = `cart_${t}_item_${T.id}`;
116
+ v(e, r, s, o, k);
117
+ } else
118
+ v(e, r, s, o);
94
119
  },
95
120
  // eslint-disable-next-line react-hooks/exhaustive-deps
96
- [t, D]
97
- ), q = o(
121
+ [t, v, N]
122
+ ), W = c(
98
123
  async (e, r) => {
99
124
  if (!t) throw new Error("No cart ID");
100
- await F.mutateAsync({ itemId: e, quantity: r });
125
+ await K.mutateAsync({ itemId: e, quantity: r });
101
126
  },
102
127
  // eslint-disable-next-line react-hooks/exhaustive-deps
103
128
  [t]
104
- ), H = o(
129
+ ), X = c(
105
130
  async (e) => {
106
131
  if (!t) throw new Error("No cart ID");
107
- await U.mutateAsync(e);
132
+ await Y.mutateAsync(e);
108
133
  },
109
134
  // eslint-disable-next-line react-hooks/exhaustive-deps
110
135
  [t]
111
- ), K = o(
136
+ ), Z = c(
112
137
  async (e) => {
113
138
  if (!t) throw new Error("No cart ID");
114
- await L.mutateAsync({ code: e });
139
+ await z.mutateAsync({ code: e });
115
140
  },
116
141
  // eslint-disable-next-line react-hooks/exhaustive-deps
117
142
  [t]
118
- ), Y = o(async () => {
143
+ ), tt = c(async () => {
119
144
  if (!t) throw new Error("No cart ID");
120
- await j.mutateAsync();
121
- }, [t]), M = o(() => {
122
- c(null), typeof window < "u" && localStorage.removeItem(f);
123
- }, []), z = o(() => {
124
- M(), C.mutate(a);
125
- }, [a]), B = o(() => {
126
- v(!0);
127
- }, []), E = o(() => {
128
- v(!1);
129
- }, []), J = {
130
- cart: k || null,
145
+ await B.mutateAsync();
146
+ }, [t]), P = c(() => {
147
+ f(null), typeof window < "u" && localStorage.removeItem(l);
148
+ }, []), et = c(() => {
149
+ P(), y.mutate(i);
150
+ }, [i]), rt = c(() => {
151
+ S(!0);
152
+ }, []), x = c(() => {
153
+ S(!1);
154
+ }, []), ot = c(() => {
155
+ var n, o;
156
+ if (!m || !t) return;
157
+ const e = Number(((n = m.pricing) == null ? void 0 : n.total) || 0), r = ((o = m.items) == null ? void 0 : o.reduce((u, D) => u + D.quantity, 0)) || 0, s = `cart_${t}_checkout`;
158
+ E(e, r, s);
159
+ }, [m, t, E]), nt = {
160
+ cart: m || null,
131
161
  cartId: t,
132
- isLoading: T,
162
+ isLoading: q,
133
163
  error: w,
134
- updateCartMutation: G,
135
- checkoutMutation: O,
136
- addItem: b,
137
- updateItem: q,
138
- removeItem: H,
139
- applyDiscount: K,
140
- removeDiscount: Y,
141
- clearCart: M,
142
- clearAndCreateNewCart: z,
143
- refetch: n,
144
- isOpen: h,
145
- open: B,
146
- close: E
164
+ updateCartMutation: J,
165
+ checkoutMutation: Q,
166
+ addItem: V,
167
+ updateItem: W,
168
+ removeItem: X,
169
+ applyDiscount: Z,
170
+ removeDiscount: tt,
171
+ trackCheckoutInitiated: ot,
172
+ clearCart: P,
173
+ clearAndCreateNewCart: et,
174
+ refetch: a,
175
+ isOpen: A,
176
+ open: rt,
177
+ close: x
147
178
  };
148
- return /* @__PURE__ */ Q(N.Provider, { value: J, children: [
149
- l,
150
- g && /* @__PURE__ */ V(
151
- ct,
179
+ return /* @__PURE__ */ ct(U.Provider, { value: nt, children: [
180
+ p,
181
+ j && /* @__PURE__ */ st(
182
+ ht,
152
183
  {
153
- isOpen: h,
154
- onClose: E,
155
- ...P
184
+ isOpen: A,
185
+ onClose: x,
186
+ ...L
156
187
  }
157
188
  )
158
189
  ] });
159
190
  }
160
- function It() {
161
- const l = X(N);
162
- if (!l)
191
+ function Mt() {
192
+ const p = ut(U);
193
+ if (!p)
163
194
  throw new Error("useCart must be used within CartProvider");
164
- return l;
195
+ return p;
165
196
  }
166
197
  export {
167
- N as CartContext,
168
- Ct as CartProvider,
169
- It as useCart
198
+ U as CartContext,
199
+ bt as CartProvider,
200
+ Mt as useCart
170
201
  };
package/dist/index32.mjs CHANGED
@@ -1,21 +1,21 @@
1
1
  'use client';
2
2
  import { useQueryClient as s, useMutation as i } from "@tanstack/react-query";
3
- import { useQueryUnwrapped as o } from "./index67.mjs";
3
+ import { useQueryUnwrapped as a } from "./index67.mjs";
4
4
  import { queryKeys as r } from "./index29.mjs";
5
- import { updateCart as c, createCart as l, applyDiscount as y, removeDiscount as m, addCartItem as C, updateCartItem as p, removeCartItem as q, checkoutCart as d, fetchCart as f } from "./index25.mjs";
6
- function b(e, t) {
7
- return o({
5
+ import { updateCart as c, createCart as l, applyDiscount as y, removeDiscount as m, addCartItem as p, updateCartItem as C, removeCartItem as q, checkoutCart as f, fetchCart as d } from "./index25.mjs";
6
+ function Q(e, t) {
7
+ return a({
8
8
  queryKey: r.public.carts.detail(e),
9
- queryFn: () => f(e),
9
+ queryFn: () => d(e),
10
10
  ...t
11
11
  });
12
12
  }
13
13
  function S(e, t) {
14
- const u = s();
14
+ const n = s();
15
15
  return i({
16
- mutationFn: (n) => c(e, n),
16
+ mutationFn: (u) => c(e, u),
17
17
  onSuccess: () => {
18
- u.invalidateQueries({ queryKey: r.public.carts.detail(e) });
18
+ n.invalidateQueries({ queryKey: r.public.carts.detail(e) });
19
19
  },
20
20
  ...t
21
21
  });
@@ -27,61 +27,61 @@ function D(e) {
27
27
  });
28
28
  }
29
29
  function h(e, t) {
30
- const u = s();
30
+ const n = s();
31
31
  return i({
32
- mutationFn: (n) => y(e, n.code),
32
+ mutationFn: (u) => y(e, u.code),
33
33
  onSuccess: () => {
34
- u.invalidateQueries({ queryKey: r.public.carts.detail(e) });
34
+ n.invalidateQueries({ queryKey: r.public.carts.detail(e) });
35
35
  },
36
36
  ...t
37
37
  });
38
38
  }
39
39
  function k(e, t) {
40
- const u = s();
40
+ const n = s();
41
41
  return i({
42
42
  mutationFn: () => m(e),
43
43
  onSuccess: () => {
44
- u.invalidateQueries({ queryKey: r.public.carts.detail(e) });
44
+ n.invalidateQueries({ queryKey: r.public.carts.detail(e) });
45
45
  },
46
46
  ...t
47
47
  });
48
48
  }
49
49
  function U(e, t) {
50
- const u = s();
50
+ const n = s();
51
51
  return i({
52
- mutationFn: (n) => C(e, n.sku, n.quantity),
52
+ mutationFn: (u) => p(e, u.sku, u.quantity, u.fbc, u.fbp),
53
53
  onSuccess: () => {
54
- u.invalidateQueries({ queryKey: r.public.carts.detail(e) });
54
+ n.invalidateQueries({ queryKey: r.public.carts.detail(e) });
55
55
  },
56
56
  ...t
57
57
  });
58
58
  }
59
59
  function A(e, t) {
60
- const u = s();
60
+ const n = s();
61
61
  return i({
62
- mutationFn: ({ itemId: n, quantity: a }) => p(e, n, a),
62
+ mutationFn: ({ itemId: u, quantity: o }) => C(e, u, o),
63
63
  onSuccess: () => {
64
- u.invalidateQueries({ queryKey: r.public.carts.detail(e) });
64
+ n.invalidateQueries({ queryKey: r.public.carts.detail(e) });
65
65
  },
66
66
  ...t
67
67
  });
68
68
  }
69
69
  function R(e, t) {
70
- const u = s();
70
+ const n = s();
71
71
  return i({
72
- mutationFn: (n) => q(e, n),
72
+ mutationFn: (u) => q(e, u),
73
73
  onSuccess: () => {
74
- u.invalidateQueries({ queryKey: r.public.carts.detail(e) });
74
+ n.invalidateQueries({ queryKey: r.public.carts.detail(e) });
75
75
  },
76
76
  ...t
77
77
  });
78
78
  }
79
79
  function w(e, t) {
80
- const u = s();
80
+ const n = s();
81
81
  return i({
82
- mutationFn: (n) => d(e, n),
82
+ mutationFn: (u) => f(e, u),
83
83
  onSuccess: () => {
84
- u.invalidateQueries({ queryKey: r.public.carts.detail(e) });
84
+ n.invalidateQueries({ queryKey: r.public.carts.detail(e) });
85
85
  },
86
86
  ...t
87
87
  });
@@ -91,7 +91,7 @@ export {
91
91
  h as useApplyDiscount,
92
92
  w as useCheckoutCart,
93
93
  D as useCreateCart,
94
- b as useGetCart,
94
+ Q as useGetCart,
95
95
  R as useRemoveCartItem,
96
96
  k as useRemoveDiscount,
97
97
  S as useUpdateCart,
package/dist/index37.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import { getDefaultExportFromCjs as x } from "./index61.mjs";
3
- import { __module as q } from "./index63.mjs";
2
+ import { getDefaultExportFromCjs as x } from "./index60.mjs";
3
+ import { __module as q } from "./index61.mjs";
4
4
  function S(b, p) {
5
5
  for (var s = 0; s < p.length; s++) {
6
6
  const c = p[s];
package/dist/index38.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { getDefaultExportFromCjs as n } from "./index61.mjs";
2
+ import { getDefaultExportFromCjs as n } from "./index60.mjs";
3
3
  import { __require as i } from "./index62.mjs";
4
4
  function s(t, a) {
5
5
  for (var o = 0; o < a.length; o++) {
package/dist/index4.mjs CHANGED
@@ -1,92 +1,93 @@
1
1
  'use client';
2
- import { jsx as m } from "react/jsx-runtime";
3
- import { createContext as w, useContext as h, useState as d, useEffect as _ } from "react";
4
- const P = w(null);
5
- function b({ children: c, pixelId: r, debug: f }) {
6
- const [s, p] = d(!1), [a, x] = d(null), k = typeof process < "u" && process.env.NODE_ENV === "development", o = f ?? k;
7
- _(() => {
2
+ import { jsx as w } from "react/jsx-runtime";
3
+ import { createContext as h, useContext as _, useState as P, useEffect as M } from "react";
4
+ const f = h(null);
5
+ function T({ children: r, pixelId: a, debug: p }) {
6
+ const [l, x] = P(!1), [s, k] = P(null), g = typeof process < "u" && process.env.NODE_ENV === "development", i = p ?? g;
7
+ M(() => {
8
8
  if (!(typeof window > "u")) {
9
- if (!r) {
10
- o && console.log("[Meta Pixel] No pixel ID provided, tracking disabled");
9
+ if (!a) {
10
+ i && console.log("[Meta Pixel] No pixel ID provided, tracking disabled");
11
11
  return;
12
12
  }
13
13
  import("./index37.mjs").then((e) => e.f).then((e) => {
14
- const t = e.default, i = {
14
+ const t = e.default, o = {
15
15
  autoConfig: !0,
16
- debug: o
16
+ debug: i
17
17
  };
18
- t.init(r, void 0, i), x(t), p(!0), o && console.log("[Meta Pixel] Initialized with ID:", r);
18
+ t.init(a, void 0, o), k(t), x(!0), i && console.log("[Meta Pixel] Initialized with ID:", a);
19
19
  }).catch((e) => {
20
20
  console.error("[Meta Pixel] Failed to load react-facebook-pixel:", e);
21
21
  });
22
22
  }
23
- }, [r, o]);
24
- const n = (e, t) => {
25
- if (!s || !a) {
26
- o && console.log("[Meta Pixel] Track (not initialized):", e, t);
23
+ }, [a, i]);
24
+ const c = (e, t, o) => {
25
+ if (!l || !s) {
26
+ i && console.log("[Meta Pixel] Track (not initialized):", e, t);
27
27
  return;
28
28
  }
29
- a.track(e, t), o && console.log("[Meta Pixel] Track:", e, t);
30
- }, g = {
31
- track: n,
29
+ const n = o ? { ...t, eventID: o } : t;
30
+ s.track(e, n), i && console.log("[Meta Pixel] Track:", e, n, o ? `(ID: ${o})` : "");
31
+ }, m = {
32
+ track: c,
32
33
  trackPageView: () => {
33
- if (!s || !a) {
34
- o && console.log("[Meta Pixel] PageView (not initialized)");
34
+ if (!l || !s) {
35
+ i && console.log("[Meta Pixel] PageView (not initialized)");
35
36
  return;
36
37
  }
37
- a.pageView(), o && console.log("[Meta Pixel] PageView");
38
+ s.pageView(), i && console.log("[Meta Pixel] PageView");
38
39
  },
39
- trackProductView: (e, t, i) => {
40
- n("ViewContent", {
40
+ trackProductView: (e, t, o, n) => {
41
+ c("ViewContent", {
41
42
  content_ids: [e],
42
43
  content_name: t,
43
44
  content_type: "product",
44
- value: i,
45
+ value: o,
45
46
  currency: "NGN"
46
- });
47
+ }, n);
47
48
  },
48
- trackAddToCart: (e, t, i, l) => {
49
- n("AddToCart", {
49
+ trackAddToCart: (e, t, o, n, u) => {
50
+ c("AddToCart", {
50
51
  content_ids: [e],
51
52
  content_name: t,
52
53
  content_type: "product",
53
- value: i,
54
+ value: o,
54
55
  currency: "NGN",
55
- num_items: l
56
- });
56
+ num_items: n
57
+ }, u);
57
58
  },
58
- trackInitiateCheckout: (e, t) => {
59
- n("InitiateCheckout", {
59
+ trackInitiateCheckout: (e, t, o) => {
60
+ c("InitiateCheckout", {
60
61
  value: e,
61
62
  currency: "NGN",
62
63
  num_items: t
63
- });
64
+ }, o);
64
65
  },
65
- trackPurchase: (e, t, i, l) => {
66
- n("Purchase", {
66
+ trackPurchase: (e, t, o, n, u) => {
67
+ c("Purchase", {
67
68
  value: e,
68
69
  currency: t,
69
70
  content_type: "product",
70
- contents: l.map((u) => ({
71
- id: u.id,
71
+ contents: n.map((d) => ({
72
+ id: d.id,
72
73
  // SKU
73
- quantity: u.quantity,
74
- item_price: u.item_price
74
+ quantity: d.quantity,
75
+ item_price: d.item_price
75
76
  })),
76
- order_id: i
77
- });
77
+ order_id: o
78
+ }, u);
78
79
  },
79
- isInitialized: s
80
+ isInitialized: l
80
81
  };
81
- return /* @__PURE__ */ m(P.Provider, { value: g, children: c });
82
+ return /* @__PURE__ */ w(f.Provider, { value: m, children: r });
82
83
  }
83
- function z() {
84
- const c = h(P);
85
- if (!c)
84
+ function D() {
85
+ const r = _(f);
86
+ if (!r)
86
87
  throw new Error("useMetaPixel must be used within MetaPixelProvider");
87
- return c;
88
+ return r;
88
89
  }
89
90
  export {
90
- b as MetaPixelProvider,
91
- z as useMetaPixel
91
+ T as MetaPixelProvider,
92
+ D as useMetaPixel
92
93
  };