@instockng/storefront-ui 1.0.32 → 1.0.34

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 (270) hide show
  1. package/dist/contexts/CartContext.d.ts.map +1 -1
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.mjs +99 -96
  5. package/dist/index10.mjs +85 -162
  6. package/dist/index100.mjs +210 -17
  7. package/dist/index101.mjs +174 -17
  8. package/dist/index102.mjs +14 -25
  9. package/dist/index103.mjs +17 -150
  10. package/dist/index104.mjs +26 -13
  11. package/dist/index105.mjs +149 -24
  12. package/dist/index106.mjs +13 -77
  13. package/dist/index107.mjs +20 -27
  14. package/dist/index108.mjs +76 -137
  15. package/dist/index109.mjs +33 -50
  16. package/dist/index11.mjs +171 -94
  17. package/dist/index110.mjs +141 -19
  18. package/dist/index111.mjs +50 -22
  19. package/dist/index112.mjs +14 -14
  20. package/dist/index113.mjs +20 -18
  21. package/dist/index114.mjs +16 -14
  22. package/dist/index115.mjs +17 -14
  23. package/dist/index116.mjs +12 -12
  24. package/dist/index117.mjs +15 -58
  25. package/dist/index118.mjs +14 -11
  26. package/dist/index119.mjs +56 -30
  27. package/dist/index12.mjs +82 -659
  28. package/dist/index120.mjs +8 -14
  29. package/dist/index121.mjs +31 -26
  30. package/dist/index122.mjs +12 -15
  31. package/dist/index123.mjs +26 -11
  32. package/dist/index124.mjs +18 -12
  33. package/dist/index125.mjs +12 -40
  34. package/dist/index126.mjs +14 -16
  35. package/dist/index127.mjs +42 -263
  36. package/dist/index128.mjs +15 -62
  37. package/dist/index129.mjs +267 -7
  38. package/dist/index13.mjs +668 -53
  39. package/dist/index130.mjs +70 -2
  40. package/dist/index131.mjs +8 -2
  41. package/dist/index132.mjs +2 -33
  42. package/dist/index133.mjs +2 -2
  43. package/dist/index134.mjs +32 -20
  44. package/dist/index135.mjs +2 -56
  45. package/dist/index136.mjs +18 -26
  46. package/dist/index137.mjs +55 -6
  47. package/dist/index138.mjs +28 -51
  48. package/dist/index139.mjs +7 -6
  49. package/dist/index14.mjs +58 -60
  50. package/dist/index140.mjs +51 -11
  51. package/dist/index141.mjs +5 -6
  52. package/dist/index142.mjs +12 -28
  53. package/dist/index143.mjs +7 -2
  54. package/dist/index144.mjs +27 -69
  55. package/dist/index145.mjs +2 -167
  56. package/dist/index146.mjs +70 -2
  57. package/dist/index147.mjs +167 -2
  58. package/dist/index148.mjs +2 -2
  59. package/dist/index149.mjs +2 -18
  60. package/dist/index15.mjs +60 -22
  61. package/dist/index150.mjs +2 -32
  62. package/dist/index151.mjs +2 -38
  63. package/dist/index152.mjs +11 -11
  64. package/dist/index153.mjs +25 -11
  65. package/dist/index154.mjs +38 -2
  66. package/dist/index155.mjs +11 -13
  67. package/dist/index156.mjs +11 -39
  68. package/dist/index157.mjs +2 -2
  69. package/dist/index158.mjs +15 -25
  70. package/dist/index159.mjs +39 -11
  71. package/dist/index16.mjs +22 -113
  72. package/dist/index161.mjs +30 -2
  73. package/dist/index162.mjs +18 -2
  74. package/dist/index164.mjs +2 -72
  75. package/dist/index165.mjs +2 -2
  76. package/dist/index166.mjs +2 -53
  77. package/dist/index167.mjs +72 -2
  78. package/dist/index168.mjs +2 -36
  79. package/dist/index169.mjs +38 -137
  80. package/dist/index17.mjs +111 -38
  81. package/dist/index170.mjs +2 -2
  82. package/dist/index171.mjs +36 -2
  83. package/dist/index172.mjs +147 -14
  84. package/dist/index174.mjs +2 -2
  85. package/dist/index175.mjs +10 -17
  86. package/dist/index176.mjs +2 -2
  87. package/dist/index177.mjs +2 -2
  88. package/dist/index178.mjs +18 -16
  89. package/dist/index179.mjs +2 -23
  90. package/dist/index18.mjs +37 -37
  91. package/dist/index180.mjs +2 -2
  92. package/dist/index181.mjs +24 -2
  93. package/dist/index182.mjs +23 -2
  94. package/dist/index183.mjs +2 -23
  95. package/dist/index184.mjs +2 -2
  96. package/dist/index185.mjs +2 -23
  97. package/dist/index186.mjs +23 -2
  98. package/dist/index187.mjs +2 -2
  99. package/dist/index188.mjs +23 -2
  100. package/dist/index189.mjs +2 -23
  101. package/dist/index19.mjs +42 -55
  102. package/dist/index190.mjs +2 -2
  103. package/dist/index191.mjs +2 -23
  104. package/dist/index192.mjs +23 -2
  105. package/dist/index193.mjs +2 -2
  106. package/dist/index194.mjs +23 -2
  107. package/dist/index195.mjs +2 -2
  108. package/dist/index196.mjs +2 -2
  109. package/dist/index198.mjs +2 -2
  110. package/dist/index199.mjs +2 -2
  111. package/dist/index2.mjs +14 -13
  112. package/dist/index20.mjs +53 -30
  113. package/dist/index200.mjs +2 -127
  114. package/dist/index201.mjs +2 -2
  115. package/dist/index202.mjs +2 -74
  116. package/dist/index203.mjs +123 -70
  117. package/dist/index204.mjs +2 -2
  118. package/dist/index205.mjs +73 -30
  119. package/dist/index206.mjs +73 -10
  120. package/dist/index207.mjs +30 -3
  121. package/dist/index208.mjs +10 -3
  122. package/dist/index209.mjs +4 -13
  123. package/dist/index21.mjs +29 -6
  124. package/dist/index210.mjs +4 -7
  125. package/dist/index211.mjs +13 -12
  126. package/dist/index212.mjs +7 -5
  127. package/dist/index213.mjs +12 -33
  128. package/dist/index214.mjs +5 -31
  129. package/dist/index215.mjs +32 -27
  130. package/dist/index216.mjs +28 -58
  131. package/dist/index217.mjs +28 -2
  132. package/dist/index218.mjs +55 -102
  133. package/dist/index219.mjs +2 -2
  134. package/dist/index22.mjs +8 -21
  135. package/dist/index220.mjs +2 -2
  136. package/dist/index222.mjs +2 -2
  137. package/dist/index223.mjs +108 -2
  138. package/dist/index224.mjs +2 -2
  139. package/dist/index225.mjs +2 -2
  140. package/dist/index226.mjs +2 -2
  141. package/dist/index228.mjs +2 -37
  142. package/dist/index229.mjs +2 -2
  143. package/dist/index23.mjs +19 -30
  144. package/dist/index230.mjs +37 -2
  145. package/dist/index231.mjs +2 -2
  146. package/dist/index232.mjs +2 -244
  147. package/dist/index233.mjs +244 -2
  148. package/dist/index234.mjs +2 -33
  149. package/dist/index235.mjs +28 -60
  150. package/dist/index236.mjs +60 -20
  151. package/dist/index237.mjs +25 -2
  152. package/dist/index238.mjs +2 -2
  153. package/dist/index239.mjs +2 -2
  154. package/dist/index24.mjs +31 -18
  155. package/dist/index240.mjs +2 -2
  156. package/dist/index241.mjs +2 -2
  157. package/dist/index244.mjs +2 -2
  158. package/dist/index245.mjs +2 -4
  159. package/dist/index246.mjs +2 -2
  160. package/dist/index247.mjs +4 -2
  161. package/dist/index248.mjs +2 -2
  162. package/dist/index249.mjs +2 -2
  163. package/dist/index25.mjs +12 -85
  164. package/dist/index250.mjs +3 -18
  165. package/dist/index251.mjs +2 -47
  166. package/dist/index252.mjs +2 -2
  167. package/dist/index253.mjs +17 -2
  168. package/dist/index254.mjs +13 -2
  169. package/dist/index255.mjs +6 -2
  170. package/dist/index256.mjs +30 -91
  171. package/dist/index257.mjs +2 -3
  172. package/dist/index258.mjs +2 -2
  173. package/dist/index259.mjs +18 -2
  174. package/dist/index26.mjs +85 -12
  175. package/dist/index260.mjs +46 -16
  176. package/dist/index261.mjs +2 -13
  177. package/dist/index262.mjs +2 -6
  178. package/dist/index263.mjs +2 -30
  179. package/dist/index264.mjs +2 -2
  180. package/dist/index265.mjs +91 -2
  181. package/dist/index266.mjs +2 -2
  182. package/dist/index267.mjs +2 -2
  183. package/dist/index268.mjs +5 -0
  184. package/dist/index269.mjs +5 -0
  185. package/dist/index27.mjs +18 -9
  186. package/dist/index28.mjs +9 -9
  187. package/dist/index29.mjs +11 -101
  188. package/dist/index3.mjs +108 -103
  189. package/dist/index30.mjs +101 -20
  190. package/dist/index31.mjs +20 -65
  191. package/dist/index32.mjs +66 -96
  192. package/dist/index33.mjs +93 -16
  193. package/dist/index34.mjs +12 -12
  194. package/dist/index35.mjs +17 -9
  195. package/dist/index36.mjs +9 -9
  196. package/dist/index37.mjs +10 -122
  197. package/dist/index38.mjs +116 -18
  198. package/dist/index39.mjs +342 -1386
  199. package/dist/index4.mjs +1 -1
  200. package/dist/index40.mjs +25 -2
  201. package/dist/index41.mjs +1425 -52
  202. package/dist/index42.mjs +2 -51
  203. package/dist/index43.mjs +60 -33
  204. package/dist/index44.mjs +49 -13
  205. package/dist/index45.mjs +32 -2262
  206. package/dist/index46.mjs +15 -36
  207. package/dist/index47.mjs +2261 -42
  208. package/dist/index48.mjs +36 -99
  209. package/dist/index49.mjs +43 -96
  210. package/dist/index5.mjs +111 -15
  211. package/dist/index50.mjs +99 -81
  212. package/dist/index51.mjs +93 -57
  213. package/dist/index52.mjs +54 -68
  214. package/dist/index53.mjs +58 -62
  215. package/dist/index54.mjs +74 -58
  216. package/dist/index55.mjs +77 -15
  217. package/dist/index56.mjs +75 -14
  218. package/dist/index57.mjs +15 -59
  219. package/dist/index58.mjs +11 -118
  220. package/dist/index59.mjs +46 -112
  221. package/dist/index6.mjs +15 -195
  222. package/dist/index60.mjs +124 -23
  223. package/dist/index61.mjs +128 -152
  224. package/dist/index63.mjs +21 -20
  225. package/dist/index65.mjs +21 -73
  226. package/dist/index66.mjs +153 -15
  227. package/dist/index67.mjs +68 -56
  228. package/dist/index68.mjs +15 -2
  229. package/dist/index69.mjs +62 -5
  230. package/dist/index7.mjs +188 -101
  231. package/dist/index70.mjs +230 -1129
  232. package/dist/index71.mjs +5 -19
  233. package/dist/index72.mjs +127 -48
  234. package/dist/index73.mjs +67 -32
  235. package/dist/index74.mjs +87 -2
  236. package/dist/index75.mjs +23 -229
  237. package/dist/index76.mjs +8 -5
  238. package/dist/index77.mjs +66 -125
  239. package/dist/index78.mjs +3 -67
  240. package/dist/index79.mjs +2 -87
  241. package/dist/index8.mjs +103 -73
  242. package/dist/index80.mjs +78 -24
  243. package/dist/index81.mjs +52 -7
  244. package/dist/index82.mjs +5 -74
  245. package/dist/index83.mjs +4 -3
  246. package/dist/index84.mjs +179 -2
  247. package/dist/index85.mjs +49 -79
  248. package/dist/index86.mjs +68 -53
  249. package/dist/index87.mjs +34 -6
  250. package/dist/index88.mjs +42 -4
  251. package/dist/index89.mjs +2 -179
  252. package/dist/index9.mjs +72 -90
  253. package/dist/index90.mjs +6 -53
  254. package/dist/index91.mjs +1134 -69
  255. package/dist/index92.mjs +20 -34
  256. package/dist/index93.mjs +54 -42
  257. package/dist/index94.mjs +33 -2
  258. package/dist/index95.mjs +2 -2
  259. package/dist/index96.mjs +2 -28
  260. package/dist/index97.mjs +2 -18
  261. package/dist/index98.mjs +26 -213
  262. package/dist/index99.mjs +13 -175
  263. package/dist/providers/StorefrontProvider.d.ts.map +1 -1
  264. package/dist/providers/TikTokPixelProvider.d.ts +26 -0
  265. package/dist/providers/TikTokPixelProvider.d.ts.map +1 -0
  266. package/package.json +3 -2
  267. package/src/contexts/CartContext.tsx +24 -6
  268. package/src/index.ts +5 -0
  269. package/src/providers/StorefrontProvider.tsx +11 -8
  270. package/src/providers/TikTokPixelProvider.tsx +233 -0
package/dist/index109.mjs CHANGED
@@ -1,58 +1,41 @@
1
1
  'use client';
2
- import { __exports as c } from "./index173.mjs";
3
- import { __require as y } from "./index96.mjs";
4
- import { __require as U } from "./index166.mjs";
5
- var l;
6
- function x() {
7
- return l ? c : (l = 1, function(h) {
8
- Object.defineProperty(h, "__esModule", {
2
+ import { __exports as n } from "./index173.mjs";
3
+ import { __require as l } from "./index105.mjs";
4
+ var s;
5
+ function q() {
6
+ return s ? n : (s = 1, function(u) {
7
+ Object.defineProperty(u, "__esModule", {
9
8
  value: !0
10
- });
11
- function m(e, t) {
12
- for (var o in t) Object.defineProperty(e, o, {
13
- enumerable: !0,
14
- get: t[o]
15
- });
16
- }
17
- m(h, {
18
- formatUrl: function() {
19
- return p;
20
- },
21
- formatWithValidation: function() {
22
- return q;
23
- },
24
- urlObjectKeys: function() {
25
- return u;
9
+ }), Object.defineProperty(u, "getRouteMatcher", {
10
+ enumerable: !0,
11
+ get: function() {
12
+ return d;
26
13
  }
27
14
  });
28
- const _ = /* @__PURE__ */ y()._(U()), d = /https?|ftp|gopher|file/;
29
- function p(e) {
30
- let { auth: t, hostname: o } = e, a = e.protocol || "", n = e.pathname || "", f = e.hash || "", s = e.query || "", r = !1;
31
- t = t ? encodeURIComponent(t).replace(/%3A/i, ":") + "@" : "", e.host ? r = t + e.host : o && (r = t + (~o.indexOf(":") ? "[" + o + "]" : o), e.port && (r += ":" + e.port)), s && typeof s == "object" && (s = String(_.urlQueryToSearchParams(s)));
32
- let i = e.search || s && "?" + s || "";
33
- return a && !a.endsWith(":") && (a += ":"), e.slashes || (!a || d.test(a)) && r !== !1 ? (r = "//" + (r || ""), n && n[0] !== "/" && (n = "/" + n)) : r || (r = ""), f && f[0] !== "#" && (f = "#" + f), i && i[0] !== "?" && (i = "?" + i), n = n.replace(/[?#]/g, encodeURIComponent), i = i.replace("#", "%23"), "" + a + r + n + i + f;
34
- }
35
- const u = [
36
- "auth",
37
- "hash",
38
- "host",
39
- "hostname",
40
- "href",
41
- "path",
42
- "pathname",
43
- "port",
44
- "protocol",
45
- "query",
46
- "search",
47
- "slashes"
48
- ];
49
- function q(e) {
50
- return process.env.NODE_ENV === "development" && e !== null && typeof e == "object" && Object.keys(e).forEach((t) => {
51
- u.includes(t) || console.warn("Unknown key passed via urlObject into url.format: " + t);
52
- }), p(e);
15
+ const f = l();
16
+ function d(p) {
17
+ let { re: h, groups: c } = p;
18
+ return (_) => {
19
+ const a = h.exec(_);
20
+ if (!a)
21
+ return !1;
22
+ const t = (r) => {
23
+ try {
24
+ return decodeURIComponent(r);
25
+ } catch {
26
+ throw new f.DecodeError("failed to decode param");
27
+ }
28
+ }, i = {};
29
+ return Object.keys(c).forEach((r) => {
30
+ const o = c[r], e = a[o.pos];
31
+ e !== void 0 && (i[r] = ~e.indexOf("/") ? e.split("/").map((m) => t(m)) : o.repeat ? [
32
+ t(e)
33
+ ] : t(e));
34
+ }), i;
35
+ };
53
36
  }
54
- }(c), c);
37
+ }(n), n);
55
38
  }
56
39
  export {
57
- x as __require
40
+ q as __require
58
41
  };
package/dist/index11.mjs CHANGED
@@ -1,101 +1,178 @@
1
1
  'use client';
2
- import { jsx as e, jsxs as s, Fragment as j } from "react/jsx-runtime";
3
- import { useState as a } from "react";
4
- import { useCart as T } from "./index3.mjs";
5
- import { Button as y } from "./index13.mjs";
6
- import { Badge as k } from "./index15.mjs";
7
- import { Tag as B, CheckCircle as b, X as E, AlertCircle as F } from "lucide-react";
8
- import { cn as p } from "./index19.mjs";
9
- function K({
10
- onSuccess: i,
11
- className: N,
12
- placeholder: w = "Enter discount code",
13
- inputClassName: C,
14
- buttonClassName: A
2
+ import { jsxs as a, Fragment as N, jsx as e } from "react/jsx-runtime";
3
+ import { useState as q, useEffect as b } from "react";
4
+ import { useCart as B } from "./index3.mjs";
5
+ import { CartItem as T } from "./index10.mjs";
6
+ import { DiscountCodeInput as X } from "./index12.mjs";
7
+ import { Checkout as Z } from "./index13.mjs";
8
+ import { Button as v } from "./index14.mjs";
9
+ import { X as A, Loader2 as G, Package as u } from "lucide-react";
10
+ import { cn as n, formatCurrency as c } from "./index20.mjs";
11
+ function $({
12
+ isOpen: s,
13
+ onClose: i,
14
+ onCheckout: d,
15
+ onContinueShopping: o,
16
+ className: w,
17
+ showDiscountCode: k = !0,
18
+ showContinueShopping: j = !0,
19
+ checkoutButtonText: C = "Complete Purchase",
20
+ continueShoppingText: E = "Continue Shopping",
21
+ checkoutButtonClassName: I,
22
+ continueShoppingButtonClassName: L,
23
+ disableCheckout: z = !1,
24
+ emptyMessage: P = "Your cart is empty"
15
25
  }) {
16
- var v;
17
- const [n, g] = a(""), [u, o] = a(""), [l, f] = a(!1), [h, x] = a(!1), [d, c] = a(""), { applyDiscount: D, removeDiscount: I, cart: r } = T(), M = async (t) => {
18
- if (t.preventDefault(), !!n.trim()) {
19
- f(!0), c("");
20
- try {
21
- await D(n.trim()), o("Discount code applied!"), g(""), setTimeout(() => o(""), 3e3), i == null || i();
22
- } catch (m) {
23
- c((m == null ? void 0 : m.message) || "Invalid or expired discount code");
24
- } finally {
25
- f(!1);
26
- }
27
- }
28
- }, R = async () => {
29
- x(!0), c("");
30
- try {
31
- await I(), o("Discount code removed"), setTimeout(() => o(""), 3e3), i == null || i();
32
- } catch (t) {
33
- c((t == null ? void 0 : t.message) || "Failed to remove discount code");
34
- } finally {
35
- x(!1);
36
- }
26
+ var g, x, y;
27
+ const { cart: t, isLoading: l, error: m, trackCheckoutInitiated: R } = B(), [S, f] = q(!1);
28
+ b(() => (s ? document.body.style.overflow = "hidden" : document.body.style.overflow = "", () => {
29
+ document.body.style.overflow = "";
30
+ }), [s]), b(() => {
31
+ const r = (h) => {
32
+ h.key === "Escape" && s && i();
33
+ };
34
+ return window.addEventListener("keydown", r), () => window.removeEventListener("keydown", r);
35
+ }, [s, i]);
36
+ const D = ((g = t == null ? void 0 : t.pricing) == null ? void 0 : g.subtotal) || 0, p = ((x = t == null ? void 0 : t.pricing.discount) == null ? void 0 : x.amount) || 0, F = () => {
37
+ R(), f(!0), d == null || d();
38
+ }, Y = () => {
39
+ o == null || o(), i();
37
40
  };
38
- return /* @__PURE__ */ e("div", { className: p("", N), children: /* @__PURE__ */ e("div", { className: "pt-6", children: /* @__PURE__ */ s("div", { className: "space-y-3", children: [
39
- /* @__PURE__ */ s("div", { className: "flex items-center gap-2 text-sm font-medium", children: [
40
- /* @__PURE__ */ e(B, { className: "h-4 w-4" }),
41
- "Discount Code"
42
- ] }),
43
- r && r.pricing.discount && /* @__PURE__ */ s("div", { className: "flex items-center justify-between rounded-md bg-green-50 p-3", children: [
44
- /* @__PURE__ */ s("div", { className: "flex items-center gap-2", children: [
45
- /* @__PURE__ */ e(b, { className: "h-4 w-4 text-green-600" }),
46
- /* @__PURE__ */ e("span", { className: "text-sm font-medium text-green-900", children: "Code Applied:" }),
47
- /* @__PURE__ */ e(k, { className: "bg-green-600 text-white", children: r.pricing.discount.code })
48
- ] }),
49
- /* @__PURE__ */ e(
50
- y,
51
- {
52
- variant: "ghost",
53
- size: "sm",
54
- onClick: R,
55
- disabled: h,
56
- className: "h-8 px-2 text-green-700 hover:text-green-800",
57
- children: h ? "Removing..." : /* @__PURE__ */ e(j, { children: /* @__PURE__ */ e(E, { className: "h-4 w-4" }) })
58
- }
59
- )
60
- ] }),
61
- !((v = r == null ? void 0 : r.pricing) != null && v.discount) && /* @__PURE__ */ s("form", { onSubmit: M, className: "flex gap-2", children: [
62
- /* @__PURE__ */ e(
63
- "input",
64
- {
65
- type: "text",
66
- value: n,
67
- onChange: (t) => g(t.target.value.toUpperCase()),
68
- placeholder: w,
69
- disabled: l,
70
- className: p(
71
- "flex-1 rounded-md border border-gray-300 px-3 py-2 text-sm",
72
- "focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50",
73
- "disabled:cursor-not-allowed disabled:opacity-50",
74
- d && "border-red-500 focus:border-red-500 focus:ring-red-500",
75
- C
76
- )
77
- }
78
- ),
79
- /* @__PURE__ */ e(
80
- y,
81
- {
82
- type: "submit",
83
- disabled: !n.trim() || l,
84
- className: p("bg-accent-500 text-white hover:bg-accent-600", A),
85
- children: l ? "Applying..." : "Apply"
41
+ return /* @__PURE__ */ a(N, { children: [
42
+ /* @__PURE__ */ e(
43
+ "div",
44
+ {
45
+ className: n(
46
+ "fixed inset-0 z-40 bg-black/50 transition-opacity duration-300",
47
+ s ? "opacity-100" : "pointer-events-none opacity-0"
48
+ ),
49
+ onClick: i,
50
+ "aria-hidden": "true"
51
+ }
52
+ ),
53
+ /* @__PURE__ */ e(
54
+ "div",
55
+ {
56
+ className: n(
57
+ "fixed right-0 top-0 z-50 h-full w-full bg-white shadow-2xl transition-transform duration-300 ease-in-out sm:w-[480px]",
58
+ s ? "translate-x-0" : "translate-x-full",
59
+ w
60
+ ),
61
+ children: /* @__PURE__ */ a("div", { className: "flex h-full flex-col", children: [
62
+ /* @__PURE__ */ e("div", { className: "border-b border-gray-300 px-4 py-2", children: /* @__PURE__ */ a("div", { className: "flex items-center justify-between", children: [
63
+ /* @__PURE__ */ a("div", { className: "flex items-center gap-2", children: [
64
+ /* @__PURE__ */ e("div", { className: "bg-accent-500 text-white px-2 py-1 rounded-full text-sm aspect-square flex items-center justify-center w-8 h-8", children: (y = t == null ? void 0 : t.items) == null ? void 0 : y.length }),
65
+ /* @__PURE__ */ e("h2", { className: "text-lg font-medium", children: "Your Cart" })
66
+ ] }),
67
+ /* @__PURE__ */ e(
68
+ "button",
69
+ {
70
+ onClick: i,
71
+ className: "rounded-full p-2 transition-colors hover:bg-gray-100",
72
+ "aria-label": "Close cart",
73
+ children: /* @__PURE__ */ e(A, { className: "h-6 w-6" })
74
+ }
75
+ )
76
+ ] }) }),
77
+ l && /* @__PURE__ */ e("div", { className: "flex flex-1 items-center justify-center", children: /* @__PURE__ */ a("div", { className: "text-center", children: [
78
+ /* @__PURE__ */ e(G, { className: "mx-auto mb-4 h-12 w-12 animate-spin text-accent-500" }),
79
+ /* @__PURE__ */ e("p", { className: "text-gray-600", children: "Loading cart..." })
80
+ ] }) }),
81
+ m && !l && /* @__PURE__ */ e("div", { className: "flex flex-1 items-center justify-center", children: /* @__PURE__ */ a("div", { className: "text-center", children: [
82
+ /* @__PURE__ */ e(u, { className: "mx-auto mb-4 h-12 w-12 text-red-600" }),
83
+ /* @__PURE__ */ e("p", { className: "text-red-600", children: "Failed to load cart. Please try again." })
84
+ ] }) }),
85
+ !l && !m && (!t || !t.items || t.items.length === 0) && /* @__PURE__ */ e("div", { className: "flex flex-1 items-center justify-center", children: /* @__PURE__ */ a("div", { className: "text-center", children: [
86
+ /* @__PURE__ */ e(u, { className: "mx-auto mb-4 h-12 w-12 text-gray-400" }),
87
+ /* @__PURE__ */ e("p", { className: "text-gray-600", children: P })
88
+ ] }) }),
89
+ !l && !m && t && t.items && t.items.length > 0 && /* @__PURE__ */ a(N, { children: [
90
+ /* @__PURE__ */ a("div", { className: "flex-1 overflow-y-auto p-4", children: [
91
+ /* @__PURE__ */ e("div", { className: "space-y-4", children: t.items.map((r, h) => /* @__PURE__ */ a("div", { children: [
92
+ /* @__PURE__ */ e(
93
+ T,
94
+ {
95
+ item: r
96
+ }
97
+ ),
98
+ h < t.items.length - 1 && /* @__PURE__ */ e("hr", { className: "border-gray-200 mt-2" })
99
+ ] }, r.id)) }),
100
+ k && /* @__PURE__ */ e("div", { className: "mt-6", children: /* @__PURE__ */ e(X, {}) })
101
+ ] }),
102
+ /* @__PURE__ */ a("div", { className: "border-t border-gray-300 bg-white", children: [
103
+ /* @__PURE__ */ a("div", { className: " text-base", children: [
104
+ /* @__PURE__ */ a("div", { className: "p-4 space-y-2", children: [
105
+ /* @__PURE__ */ a("div", { className: "flex justify-between", children: [
106
+ /* @__PURE__ */ e("span", { className: "text-gray-600", children: "Subtotal" }),
107
+ /* @__PURE__ */ e("span", { className: "font-semibold", children: c(D) })
108
+ ] }),
109
+ p > 0 && /* @__PURE__ */ a("div", { className: "flex justify-between text-green-600", children: [
110
+ /* @__PURE__ */ e("span", { children: "Discount" }),
111
+ /* @__PURE__ */ a("span", { className: "font-semibold", children: [
112
+ "-",
113
+ c(p)
114
+ ] })
115
+ ] }),
116
+ /* @__PURE__ */ a("div", { className: "flex justify-between", children: [
117
+ /* @__PURE__ */ e("span", { className: "text-gray-600", children: "Shipping" }),
118
+ /* @__PURE__ */ e("span", { className: "font-semibold", children: t.pricing && t.deliveryZone ? c(t.pricing.deliveryCharge) : "-" })
119
+ ] })
120
+ ] }),
121
+ /* @__PURE__ */ a("div", { className: "flex justify-between p-4 border-t border-gray-300 text-lg", children: [
122
+ /* @__PURE__ */ e("span", { className: "font-bold", children: "Total" }),
123
+ /* @__PURE__ */ e("span", { className: "font-bold", children: c(t.pricing.total) })
124
+ ] })
125
+ ] }),
126
+ /* @__PURE__ */ a("div", { className: "p-4 space-y-2", children: [
127
+ /* @__PURE__ */ a(
128
+ v,
129
+ {
130
+ onClick: F,
131
+ disabled: z || t.items.length === 0,
132
+ className: n("w-full bg-accent-500 text-white hover:bg-accent-600", I),
133
+ size: "lg",
134
+ children: [
135
+ /* @__PURE__ */ e(u, { className: "h-5 w-5" }),
136
+ C
137
+ ]
138
+ }
139
+ ),
140
+ j && /* @__PURE__ */ e(
141
+ v,
142
+ {
143
+ onClick: Y,
144
+ variant: "outline",
145
+ className: n("w-full border-gray-300 text-gray-600 hover:bg-gray-100", L),
146
+ size: "lg",
147
+ children: E
148
+ }
149
+ )
150
+ ] })
151
+ ] })
152
+ ] })
153
+ ] })
154
+ }
155
+ ),
156
+ /* @__PURE__ */ e(
157
+ Z,
158
+ {
159
+ isOpen: S,
160
+ onSuccess: () => i(),
161
+ onClose: () => f(!1),
162
+ refundPolicy: {
163
+ title: "🤔 Curious about Refunds?",
164
+ policies: [
165
+ "2 day return window from delivery date",
166
+ "Items must be unused and in original packaging",
167
+ "Refunds processed as soon as item is received",
168
+ "Refunds issued to original payment method",
169
+ "Contact hello@instock.ng to initiate a refund"
170
+ ]
86
171
  }
87
- )
88
- ] }),
89
- d && /* @__PURE__ */ s("div", { className: "flex items-center gap-2 text-sm text-red-600", children: [
90
- /* @__PURE__ */ e(F, { className: "h-4 w-4" }),
91
- d
92
- ] }),
93
- u && /* @__PURE__ */ s("div", { className: "flex items-center gap-2 text-sm text-green-600", children: [
94
- /* @__PURE__ */ e(b, { className: "h-4 w-4" }),
95
- u
96
- ] })
97
- ] }) }) });
172
+ }
173
+ )
174
+ ] });
98
175
  }
99
176
  export {
100
- K as DiscountCodeInput
177
+ $ as ShoppingCart
101
178
  };
package/dist/index110.mjs CHANGED
@@ -1,26 +1,148 @@
1
1
  'use client';
2
- import { __module as u } from "./index174.mjs";
3
- import { __require as c } from "./index175.mjs";
4
- var a;
5
- function d() {
6
- return a ? u.exports : (a = 1, function(o, e) {
7
- Object.defineProperty(e, "__esModule", {
2
+ import { __exports as p } from "./index174.mjs";
3
+ import { __require as I } from "./index129.mjs";
4
+ import { __require as q } from "./index167.mjs";
5
+ import { __require as v } from "./index175.mjs";
6
+ import { __require as O } from "./index99.mjs";
7
+ var N;
8
+ function w() {
9
+ return N ? p : (N = 1, function(d) {
10
+ Object.defineProperty(d, "__esModule", {
8
11
  value: !0
9
- }), Object.defineProperty(e, "detectDomainLocale", {
10
- enumerable: !0,
11
- get: function() {
12
- return i;
12
+ });
13
+ function T(e, t) {
14
+ for (var r in t) Object.defineProperty(e, r, {
15
+ enumerable: !0,
16
+ get: t[r]
17
+ });
18
+ }
19
+ T(d, {
20
+ getNamedMiddlewareRegex: function() {
21
+ return A;
22
+ },
23
+ getNamedRouteRegex: function() {
24
+ return k;
25
+ },
26
+ getRouteRegex: function() {
27
+ return E;
28
+ },
29
+ parseParameter: function() {
30
+ return S;
13
31
  }
14
32
  });
15
- const i = function() {
16
- for (var n = arguments.length, r = new Array(n), t = 0; t < n; t++)
17
- r[t] = arguments[t];
18
- if (process.env.__NEXT_I18N_SUPPORT)
19
- return c().detectDomainLocale(...r);
20
- };
21
- (typeof e.default == "function" || typeof e.default == "object" && e.default !== null) && typeof e.default.__esModule > "u" && (Object.defineProperty(e.default, "__esModule", { value: !0 }), Object.assign(e.default, e), o.exports = e.default);
22
- }(u, u.exports), u.exports);
33
+ const m = I(), _ = q(), l = v(), h = O(), x = /\[((?:\[.*\])|.+)\]/;
34
+ function S(e) {
35
+ const t = e.match(x);
36
+ return R(t ? t[1] : e);
37
+ }
38
+ function R(e) {
39
+ const t = e.startsWith("[") && e.endsWith("]");
40
+ t && (e = e.slice(1, -1));
41
+ const r = e.startsWith("...");
42
+ return r && (e = e.slice(3)), {
43
+ key: e,
44
+ repeat: r,
45
+ optional: t
46
+ };
47
+ }
48
+ function P(e) {
49
+ const t = (0, h.removeTrailingSlash)(e).slice(1).split("/"), r = {};
50
+ let u = 1;
51
+ return {
52
+ parameterizedRoute: t.map((s) => {
53
+ const o = _.INTERCEPTION_ROUTE_MARKERS.find((i) => s.startsWith(i)), a = s.match(x);
54
+ if (o && a) {
55
+ const { key: i, optional: c, repeat: n } = R(a[1]);
56
+ return r[i] = {
57
+ pos: u++,
58
+ repeat: n,
59
+ optional: c
60
+ }, "/" + (0, l.escapeStringRegexp)(o) + "([^/]+?)";
61
+ } else if (a) {
62
+ const { key: i, repeat: c, optional: n } = R(a[1]);
63
+ return r[i] = {
64
+ pos: u++,
65
+ repeat: c,
66
+ optional: n
67
+ }, c ? n ? "(?:/(.+?))?" : "/(.+?)" : "/([^/]+?)";
68
+ } else
69
+ return "/" + (0, l.escapeStringRegexp)(s);
70
+ }).join(""),
71
+ groups: r
72
+ };
73
+ }
74
+ function E(e) {
75
+ const { parameterizedRoute: t, groups: r } = P(e);
76
+ return {
77
+ re: new RegExp("^" + t + "(?:/)?$"),
78
+ groups: r
79
+ };
80
+ }
81
+ function K() {
82
+ let e = 0;
83
+ return () => {
84
+ let t = "", r = ++e;
85
+ for (; r > 0; )
86
+ t += String.fromCharCode(97 + (r - 1) % 26), r = Math.floor((r - 1) / 26);
87
+ return t;
88
+ };
89
+ }
90
+ function y(e) {
91
+ let { interceptionMarker: t, getSafeRouteKey: r, segment: u, routeKeys: s, keyPrefix: o } = e;
92
+ const { key: a, optional: i, repeat: c } = R(u);
93
+ let n = a.replace(/\W/g, "");
94
+ o && (n = "" + o + n);
95
+ let f = !1;
96
+ (n.length === 0 || n.length > 30) && (f = !0), isNaN(parseInt(n.slice(0, 1))) || (f = !0), f && (n = r()), o ? s[n] = "" + o + a : s[n] = a;
97
+ const g = t ? (0, l.escapeStringRegexp)(t) : "";
98
+ return c ? i ? "(?:/" + g + "(?<" + n + ">.+?))?" : "/" + g + "(?<" + n + ">.+?)" : "/" + g + "(?<" + n + ">[^/]+?)";
99
+ }
100
+ function M(e, t) {
101
+ const r = (0, h.removeTrailingSlash)(e).slice(1).split("/"), u = K(), s = {};
102
+ return {
103
+ namedParameterizedRoute: r.map((o) => {
104
+ const a = _.INTERCEPTION_ROUTE_MARKERS.some((c) => o.startsWith(c)), i = o.match(/\[((?:\[.*\])|.+)\]/);
105
+ if (a && i) {
106
+ const [c] = o.split(i[0]);
107
+ return y({
108
+ getSafeRouteKey: u,
109
+ interceptionMarker: c,
110
+ segment: i[1],
111
+ routeKeys: s,
112
+ keyPrefix: t ? m.NEXT_INTERCEPTION_MARKER_PREFIX : void 0
113
+ });
114
+ } else return i ? y({
115
+ getSafeRouteKey: u,
116
+ segment: i[1],
117
+ routeKeys: s,
118
+ keyPrefix: t ? m.NEXT_QUERY_PARAM_PREFIX : void 0
119
+ }) : "/" + (0, l.escapeStringRegexp)(o);
120
+ }).join(""),
121
+ routeKeys: s
122
+ };
123
+ }
124
+ function k(e, t) {
125
+ const r = M(e, t);
126
+ return {
127
+ ...E(e),
128
+ namedRegex: "^" + r.namedParameterizedRoute + "(?:/)?$",
129
+ routeKeys: r.routeKeys
130
+ };
131
+ }
132
+ function A(e, t) {
133
+ const { parameterizedRoute: r } = P(e), { catchAll: u = !0 } = t;
134
+ if (r === "/")
135
+ return {
136
+ namedRegex: "^/" + (u ? ".*" : "") + "$"
137
+ };
138
+ const { namedParameterizedRoute: s } = M(e, !1);
139
+ let o = u ? "(?:(/.*)?)" : "";
140
+ return {
141
+ namedRegex: "^" + s + o + "$"
142
+ };
143
+ }
144
+ }(p), p);
23
145
  }
24
146
  export {
25
- d as __require
147
+ w as __require
26
148
  };
package/dist/index111.mjs CHANGED
@@ -1,30 +1,58 @@
1
1
  'use client';
2
- import { __exports as u } from "./index176.mjs";
3
- var a;
4
- function f() {
5
- return a ? u : (a = 1, function(s) {
6
- Object.defineProperty(s, "__esModule", {
2
+ import { __exports as c } from "./index176.mjs";
3
+ import { __require as y } from "./index98.mjs";
4
+ import { __require as U } from "./index169.mjs";
5
+ var l;
6
+ function x() {
7
+ return l ? c : (l = 1, function(h) {
8
+ Object.defineProperty(h, "__esModule", {
7
9
  value: !0
8
- }), Object.defineProperty(s, "parsePath", {
9
- enumerable: !0,
10
- get: function() {
11
- return i;
10
+ });
11
+ function m(e, t) {
12
+ for (var o in t) Object.defineProperty(e, o, {
13
+ enumerable: !0,
14
+ get: t[o]
15
+ });
16
+ }
17
+ m(h, {
18
+ formatUrl: function() {
19
+ return p;
20
+ },
21
+ formatWithValidation: function() {
22
+ return q;
23
+ },
24
+ urlObjectKeys: function() {
25
+ return u;
12
26
  }
13
27
  });
14
- function i(r) {
15
- const e = r.indexOf("#"), n = r.indexOf("?"), t = n > -1 && (e < 0 || n < e);
16
- return t || e > -1 ? {
17
- pathname: r.substring(0, t ? n : e),
18
- query: t ? r.substring(n, e > -1 ? e : void 0) : "",
19
- hash: e > -1 ? r.slice(e) : ""
20
- } : {
21
- pathname: r,
22
- query: "",
23
- hash: ""
24
- };
28
+ const _ = /* @__PURE__ */ y()._(U()), d = /https?|ftp|gopher|file/;
29
+ function p(e) {
30
+ let { auth: t, hostname: o } = e, a = e.protocol || "", n = e.pathname || "", f = e.hash || "", s = e.query || "", r = !1;
31
+ t = t ? encodeURIComponent(t).replace(/%3A/i, ":") + "@" : "", e.host ? r = t + e.host : o && (r = t + (~o.indexOf(":") ? "[" + o + "]" : o), e.port && (r += ":" + e.port)), s && typeof s == "object" && (s = String(_.urlQueryToSearchParams(s)));
32
+ let i = e.search || s && "?" + s || "";
33
+ return a && !a.endsWith(":") && (a += ":"), e.slashes || (!a || d.test(a)) && r !== !1 ? (r = "//" + (r || ""), n && n[0] !== "/" && (n = "/" + n)) : r || (r = ""), f && f[0] !== "#" && (f = "#" + f), i && i[0] !== "?" && (i = "?" + i), n = n.replace(/[?#]/g, encodeURIComponent), i = i.replace("#", "%23"), "" + a + r + n + i + f;
34
+ }
35
+ const u = [
36
+ "auth",
37
+ "hash",
38
+ "host",
39
+ "hostname",
40
+ "href",
41
+ "path",
42
+ "pathname",
43
+ "port",
44
+ "protocol",
45
+ "query",
46
+ "search",
47
+ "slashes"
48
+ ];
49
+ function q(e) {
50
+ return process.env.NODE_ENV === "development" && e !== null && typeof e == "object" && Object.keys(e).forEach((t) => {
51
+ u.includes(t) || console.warn("Unknown key passed via urlObject into url.format: " + t);
52
+ }), p(e);
25
53
  }
26
- }(u), u);
54
+ }(c), c);
27
55
  }
28
56
  export {
29
- f as __require
57
+ x as __require
30
58
  };