@instockng/storefront-ui 1.0.55 → 1.0.57

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 (283) hide show
  1. package/dist/components/ProductAddOns.d.ts +21 -0
  2. package/dist/components/ProductAddOns.d.ts.map +1 -0
  3. package/dist/components/ui/switch.d.ts +8 -0
  4. package/dist/components/ui/switch.d.ts.map +1 -0
  5. package/dist/index.d.ts +4 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.mjs +109 -103
  8. package/dist/index10.mjs +147 -91
  9. package/dist/index100.mjs +53 -2
  10. package/dist/index101.mjs +69 -28
  11. package/dist/index102.mjs +2 -18
  12. package/dist/index103.mjs +26 -213
  13. package/dist/index104.mjs +13 -175
  14. package/dist/index105.mjs +210 -17
  15. package/dist/index106.mjs +174 -17
  16. package/dist/index107.mjs +14 -25
  17. package/dist/index108.mjs +17 -150
  18. package/dist/index109.mjs +26 -13
  19. package/dist/index11.mjs +95 -171
  20. package/dist/index110.mjs +149 -24
  21. package/dist/index111.mjs +13 -77
  22. package/dist/index112.mjs +20 -27
  23. package/dist/index113.mjs +76 -137
  24. package/dist/index114.mjs +33 -50
  25. package/dist/index115.mjs +141 -19
  26. package/dist/index116.mjs +50 -22
  27. package/dist/index117.mjs +14 -14
  28. package/dist/index118.mjs +20 -18
  29. package/dist/index119.mjs +16 -14
  30. package/dist/index12.mjs +90 -90
  31. package/dist/index120.mjs +17 -14
  32. package/dist/index121.mjs +12 -12
  33. package/dist/index122.mjs +15 -58
  34. package/dist/index123.mjs +14 -11
  35. package/dist/index124.mjs +56 -30
  36. package/dist/index125.mjs +9 -15
  37. package/dist/index126.mjs +31 -26
  38. package/dist/index127.mjs +13 -16
  39. package/dist/index128.mjs +26 -11
  40. package/dist/index129.mjs +18 -12
  41. package/dist/index13.mjs +162 -717
  42. package/dist/index130.mjs +12 -40
  43. package/dist/index131.mjs +14 -16
  44. package/dist/index132.mjs +42 -263
  45. package/dist/index133.mjs +15 -62
  46. package/dist/index134.mjs +267 -7
  47. package/dist/index135.mjs +70 -2
  48. package/dist/index136.mjs +8 -2
  49. package/dist/index137.mjs +2 -33
  50. package/dist/index138.mjs +2 -2
  51. package/dist/index139.mjs +33 -2
  52. package/dist/index14.mjs +94 -56
  53. package/dist/index140.mjs +2 -2
  54. package/dist/index141.mjs +21 -2
  55. package/dist/index142.mjs +56 -2
  56. package/dist/index143.mjs +28 -17
  57. package/dist/index144.mjs +6 -31
  58. package/dist/index145.mjs +50 -36
  59. package/dist/index146.mjs +6 -18
  60. package/dist/index147.mjs +11 -17
  61. package/dist/index148.mjs +7 -2
  62. package/dist/index149.mjs +28 -20
  63. package/dist/index15.mjs +734 -62
  64. package/dist/index150.mjs +2 -46
  65. package/dist/index151.mjs +70 -2
  66. package/dist/index152.mjs +164 -27
  67. package/dist/index153.mjs +2 -18
  68. package/dist/index154.mjs +2 -2
  69. package/dist/index155.mjs +2 -2
  70. package/dist/index156.mjs +18 -2
  71. package/dist/index157.mjs +32 -2
  72. package/dist/index158.mjs +28 -62
  73. package/dist/index159.mjs +18 -2
  74. package/dist/index16.mjs +50 -14
  75. package/dist/index160.mjs +13 -48
  76. package/dist/index161.mjs +2 -2
  77. package/dist/index162.mjs +14 -30
  78. package/dist/index163.mjs +39 -145
  79. package/dist/index164.mjs +2 -2
  80. package/dist/index165.mjs +30 -2
  81. package/dist/index166.mjs +11 -12
  82. package/dist/index167.mjs +2 -2
  83. package/dist/index168.mjs +2 -2
  84. package/dist/index169.mjs +2 -26
  85. package/dist/index17.mjs +62 -109
  86. package/dist/index171.mjs +72 -2
  87. package/dist/index172.mjs +2 -24
  88. package/dist/index173.mjs +48 -18
  89. package/dist/index174.mjs +2 -2
  90. package/dist/index175.mjs +36 -2
  91. package/dist/index176.mjs +152 -2
  92. package/dist/index177.mjs +2 -23
  93. package/dist/index178.mjs +2 -2
  94. package/dist/index179.mjs +11 -15
  95. package/dist/index18.mjs +23 -41
  96. package/dist/index180.mjs +2 -2
  97. package/dist/index181.mjs +2 -2
  98. package/dist/index182.mjs +26 -2
  99. package/dist/index183.mjs +2 -23
  100. package/dist/index184.mjs +2 -2
  101. package/dist/index185.mjs +18 -17
  102. package/dist/index186.mjs +23 -2
  103. package/dist/index187.mjs +2 -2
  104. package/dist/index188.mjs +2 -2
  105. package/dist/index189.mjs +2 -2
  106. package/dist/index19.mjs +109 -42
  107. package/dist/index190.mjs +23 -2
  108. package/dist/index191.mjs +2 -2
  109. package/dist/index192.mjs +23 -2
  110. package/dist/index193.mjs +2 -2
  111. package/dist/index194.mjs +2 -127
  112. package/dist/index195.mjs +2 -2
  113. package/dist/index196.mjs +20 -71
  114. package/dist/index197.mjs +2 -74
  115. package/dist/index198.mjs +22 -20
  116. package/dist/index199.mjs +2 -56
  117. package/dist/index2.mjs +2 -2
  118. package/dist/index20.mjs +42 -65
  119. package/dist/index200.mjs +2 -29
  120. package/dist/index201.mjs +2 -7
  121. package/dist/index202.mjs +2 -52
  122. package/dist/index203.mjs +2 -6
  123. package/dist/index204.mjs +2 -12
  124. package/dist/index205.mjs +2 -7
  125. package/dist/index206.mjs +2 -28
  126. package/dist/index207.mjs +127 -2
  127. package/dist/index208.mjs +2 -70
  128. package/dist/index209.mjs +72 -165
  129. package/dist/index21.mjs +41 -31
  130. package/dist/index210.mjs +74 -2
  131. package/dist/index211.mjs +2 -2
  132. package/dist/index212.mjs +2 -2
  133. package/dist/index213.mjs +2 -2
  134. package/dist/index214.mjs +2 -2
  135. package/dist/index215.mjs +2 -2
  136. package/dist/index216.mjs +2 -108
  137. package/dist/index217.mjs +2 -2
  138. package/dist/index219.mjs +2 -37
  139. package/dist/index22.mjs +64 -6
  140. package/dist/index220.mjs +108 -2
  141. package/dist/index221.mjs +2 -244
  142. package/dist/index223.mjs +32 -28
  143. package/dist/index224.mjs +2 -65
  144. package/dist/index225.mjs +2 -25
  145. package/dist/index226.mjs +244 -2
  146. package/dist/index228.mjs +33 -2
  147. package/dist/index229.mjs +65 -2
  148. package/dist/index23.mjs +27 -17
  149. package/dist/index230.mjs +25 -2
  150. package/dist/index232.mjs +2 -2
  151. package/dist/index233.mjs +2 -2
  152. package/dist/index235.mjs +2 -2
  153. package/dist/index237.mjs +2 -2
  154. package/dist/index238.mjs +2 -4
  155. package/dist/index239.mjs +2 -2
  156. package/dist/index24.mjs +6 -30
  157. package/dist/index240.mjs +4 -2
  158. package/dist/index241.mjs +2 -31
  159. package/dist/index242.mjs +2 -11
  160. package/dist/index243.mjs +30 -3
  161. package/dist/index244.mjs +10 -3
  162. package/dist/index245.mjs +4 -13
  163. package/dist/index246.mjs +4 -7
  164. package/dist/index247.mjs +13 -12
  165. package/dist/index248.mjs +7 -5
  166. package/dist/index249.mjs +12 -33
  167. package/dist/index25.mjs +20 -18
  168. package/dist/index250.mjs +5 -31
  169. package/dist/index251.mjs +32 -27
  170. package/dist/index252.mjs +28 -58
  171. package/dist/index253.mjs +28 -2
  172. package/dist/index254.mjs +61 -2
  173. package/dist/index255.mjs +2 -18
  174. package/dist/index256.mjs +2 -47
  175. package/dist/index257.mjs +18 -2
  176. package/dist/index258.mjs +47 -2
  177. package/dist/index26.mjs +34 -103
  178. package/dist/index260.mjs +2 -2
  179. package/dist/index261.mjs +2 -91
  180. package/dist/index262.mjs +2 -2
  181. package/dist/index263.mjs +91 -3
  182. package/dist/index264.mjs +2 -2
  183. package/dist/index265.mjs +3 -2
  184. package/dist/index266.mjs +2 -17
  185. package/dist/index267.mjs +2 -13
  186. package/dist/index268.mjs +17 -6
  187. package/dist/index269.mjs +13 -30
  188. package/dist/index27.mjs +20 -21
  189. package/dist/index270.mjs +6 -2
  190. package/dist/index271.mjs +30 -2
  191. package/dist/index272.mjs +2 -2
  192. package/dist/index273.mjs +5 -0
  193. package/dist/index274.mjs +5 -0
  194. package/dist/index28.mjs +101 -8
  195. package/dist/index29.mjs +27 -7
  196. package/dist/index3.mjs +5 -5
  197. package/dist/index30.mjs +11 -103
  198. package/dist/index31.mjs +11 -22
  199. package/dist/index32.mjs +105 -66
  200. package/dist/index33.mjs +23 -105
  201. package/dist/index34.mjs +68 -28
  202. package/dist/index35.mjs +100 -14
  203. package/dist/index36.mjs +26 -9
  204. package/dist/index37.mjs +25 -9
  205. package/dist/index38.mjs +10 -122
  206. package/dist/index39.mjs +9 -387
  207. package/dist/index4.mjs +1 -1
  208. package/dist/index40.mjs +116 -18
  209. package/dist/index41.mjs +385 -99
  210. package/dist/index42.mjs +24 -6
  211. package/dist/index43.mjs +30 -1431
  212. package/dist/index44.mjs +6 -69
  213. package/dist/index45.mjs +1433 -2
  214. package/dist/index46.mjs +68 -58
  215. package/dist/index47.mjs +2 -51
  216. package/dist/index48.mjs +60 -33
  217. package/dist/index49.mjs +49 -13
  218. package/dist/index5.mjs +1 -1
  219. package/dist/index50.mjs +32 -2262
  220. package/dist/index51.mjs +15 -36
  221. package/dist/index52.mjs +2261 -42
  222. package/dist/index53.mjs +36 -99
  223. package/dist/index54.mjs +43 -112
  224. package/dist/index55.mjs +99 -81
  225. package/dist/index56.mjs +93 -57
  226. package/dist/index57.mjs +54 -68
  227. package/dist/index58.mjs +82 -56
  228. package/dist/index59.mjs +74 -58
  229. package/dist/index6.mjs +1 -1
  230. package/dist/index60.mjs +77 -15
  231. package/dist/index61.mjs +74 -15
  232. package/dist/index62.mjs +15 -59
  233. package/dist/index63.mjs +14 -119
  234. package/dist/index64.mjs +46 -112
  235. package/dist/index65.mjs +124 -23
  236. package/dist/index66.mjs +129 -2
  237. package/dist/index67.mjs +21 -150
  238. package/dist/index68.mjs +149 -19
  239. package/dist/index69.mjs +2 -75
  240. package/dist/index7.mjs +6 -6
  241. package/dist/index70.mjs +23 -15
  242. package/dist/index71.mjs +68 -56
  243. package/dist/index72.mjs +15 -5
  244. package/dist/index73.mjs +63 -2
  245. package/dist/index74.mjs +4 -5
  246. package/dist/index75.mjs +2 -1134
  247. package/dist/index76.mjs +5 -19
  248. package/dist/index77.mjs +1119 -40
  249. package/dist/index78.mjs +14 -27
  250. package/dist/index79.mjs +55 -2
  251. package/dist/index8.mjs +4 -4
  252. package/dist/index80.mjs +33 -2
  253. package/dist/index81.mjs +2 -34
  254. package/dist/index82.mjs +31 -40
  255. package/dist/index83.mjs +38 -230
  256. package/dist/index84.mjs +2 -6
  257. package/dist/index85.mjs +228 -127
  258. package/dist/index86.mjs +4 -66
  259. package/dist/index87.mjs +124 -77
  260. package/dist/index88.mjs +65 -26
  261. package/dist/index89.mjs +84 -6
  262. package/dist/index9.mjs +3 -3
  263. package/dist/index90.mjs +26 -72
  264. package/dist/index91.mjs +8 -3
  265. package/dist/index92.mjs +75 -2
  266. package/dist/index93.mjs +3 -82
  267. package/dist/index94.mjs +2 -54
  268. package/dist/index95.mjs +82 -5
  269. package/dist/index96.mjs +53 -4
  270. package/dist/index97.mjs +5 -178
  271. package/dist/index98.mjs +5 -53
  272. package/dist/index99.mjs +178 -68
  273. package/dist/lib/utils.d.ts.map +1 -1
  274. package/dist/styles.css +1 -1
  275. package/package.json +8 -9
  276. package/src/components/Checkout.stories.tsx +9 -4
  277. package/src/components/ProductAddOns.stories.tsx +109 -0
  278. package/src/components/ProductAddOns.tsx +242 -0
  279. package/src/components/ShoppingCart.stories.tsx +4 -1
  280. package/src/components/ui/switch.tsx +37 -0
  281. package/src/index.ts +6 -0
  282. package/src/lib/utils.ts +3 -1
  283. package/src/test-utils/MockCartProvider.tsx +14 -7
package/dist/index109.mjs CHANGED
@@ -1,23 +1,36 @@
1
1
  'use client';
2
- import { __exports as t } from "./index157.mjs";
3
- import { __require as c } from "./index158.mjs";
4
- var i;
5
- function p() {
6
- return i ? t : (i = 1, function(r) {
7
- Object.defineProperty(r, "__esModule", {
2
+ import { __exports as u } from "./index168.mjs";
3
+ var f;
4
+ function m() {
5
+ return f ? u : (f = 1, function(i) {
6
+ Object.defineProperty(i, "__esModule", {
8
7
  value: !0
9
- }), Object.defineProperty(r, "isDynamicRoute", {
8
+ }), Object.defineProperty(i, "default", {
10
9
  enumerable: !0,
11
10
  get: function() {
12
- return u;
11
+ return o;
13
12
  }
14
13
  });
15
- const n = c(), o = /\/\[[^/]+?\](?=\/|$)/;
16
- function u(e) {
17
- return (0, n.isInterceptionRouteAppPath)(e) && (e = (0, n.extractInterceptionRouteInformation)(e).interceptedRoute), o.test(e);
14
+ function o() {
15
+ const t = /* @__PURE__ */ Object.create(null);
16
+ return {
17
+ on(e, r) {
18
+ (t[e] || (t[e] = [])).push(r);
19
+ },
20
+ off(e, r) {
21
+ t[e] && t[e].splice(t[e].indexOf(r) >>> 0, 1);
22
+ },
23
+ emit(e) {
24
+ for (var r = arguments.length, a = new Array(r > 1 ? r - 1 : 0), n = 1; n < r; n++)
25
+ a[n - 1] = arguments[n];
26
+ (t[e] || []).slice().map((c) => {
27
+ c(...a);
28
+ });
29
+ }
30
+ };
18
31
  }
19
- }(t), t);
32
+ }(u), u);
20
33
  }
21
34
  export {
22
- p as __require
35
+ m as __require
23
36
  };
package/dist/index11.mjs CHANGED
@@ -1,182 +1,106 @@
1
1
  'use client';
2
- import { jsxs as a, Fragment as b, jsx as e } from "react/jsx-runtime";
3
- import { useState as H, useEffect as P } from "react";
2
+ import { jsx as i, jsxs as t, Fragment as g } from "react/jsx-runtime";
3
+ import "./index23.mjs";
4
+ import { useGetCartRecommendations as F } from "./index35.mjs";
5
+ import "@tanstack/react-query";
4
6
  import { useCart as T } from "./index3.mjs";
5
- import { CartItem as X } from "./index10.mjs";
6
- import { DiscountCodeInput as Z } from "./index12.mjs";
7
- import { Checkout as A } from "./index13.mjs";
8
- import { RecommendedProducts as G } from "./index41.mjs";
9
- import { Button as v } from "./index14.mjs";
10
- import { X as J, Loader2 as K, Package as h } from "lucide-react";
11
- import { cn as n, formatCurrency as c } from "./index20.mjs";
12
- import { useHideBodyOverflow as M } from "./index42.mjs";
13
- function ie({
14
- isOpen: r,
15
- onClose: s,
16
- onCheckout: d,
17
- onContinueShopping: o,
18
- onPurchaseSuccess: m,
19
- className: w,
20
- showDiscountCode: k = !0,
21
- showContinueShopping: j = !0,
22
- checkoutButtonText: C = "Complete Purchase",
23
- continueShoppingText: E = "Continue Shopping",
24
- checkoutButtonClassName: I,
25
- continueShoppingButtonClassName: L,
26
- disableCheckout: z = !1,
27
- emptyMessage: R = "Your cart is empty"
7
+ import { cn as x, formatCurrency as L } from "./index22.mjs";
8
+ import { Button as S } from "./index16.mjs";
9
+ import { Loader2 as N, Package as U, ShoppingCart as q } from "lucide-react";
10
+ import { useState as d, useEffect as z } from "react";
11
+ function K({
12
+ limit: v,
13
+ className: w
28
14
  }) {
29
- var x, g, y;
30
- const { cart: t, isLoading: l, error: f, trackCheckoutInitiated: B } = T(), [D, p] = H(!1);
31
- M(r), P(() => {
32
- const i = (N) => {
33
- N.key === "Escape" && r && s();
34
- };
35
- return window.addEventListener("keydown", i), () => window.removeEventListener("keydown", i);
36
- }, [r, s]);
37
- const F = ((x = t == null ? void 0 : t.pricing) == null ? void 0 : x.subtotal) || 0, u = ((g = t == null ? void 0 : t.pricing.discount) == null ? void 0 : g.amount) || 0, Y = () => {
38
- B(), p(!0), d == null || d();
39
- }, q = () => {
40
- o == null || o(), s();
15
+ const { cart: a, addItem: p } = T(), { data: r, isLoading: b, error: y } = F(a == null ? void 0 : a.id, v), [P, o] = d([]), [I, m] = d([]), [C, f] = d([]), [k, h] = d([]);
16
+ if (z(() => {
17
+ h([]), m([]), f([]);
18
+ }, [r]), !a)
19
+ return null;
20
+ if (b)
21
+ return /* @__PURE__ */ i("div", { className: "py-6", children: /* @__PURE__ */ i("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ i(N, { className: "h-6 w-6 animate-spin text-accent-500" }) }) });
22
+ const n = r == null ? void 0 : r.filter(
23
+ (e) => !k.includes(e.id)
24
+ );
25
+ if (y || !n || n.length === 0)
26
+ return null;
27
+ const j = async (e, l) => {
28
+ o((s) => [...s, e.id]);
29
+ try {
30
+ await p(e.slug, e.name, l.price, l.sku, 1), m((s) => [...s, e.id]), setTimeout(() => {
31
+ f((s) => [...s, e.id]);
32
+ }, 500), setTimeout(() => {
33
+ h((s) => [...s, e.id]);
34
+ }, 1e3);
35
+ } finally {
36
+ o((s) => s.filter((c) => c !== e.id));
37
+ }
41
38
  };
42
- return /* @__PURE__ */ a(b, { children: [
43
- /* @__PURE__ */ e(
44
- "div",
45
- {
46
- className: n(
47
- "fixed inset-0 z-40 bg-black/50 transition-opacity duration-300",
48
- r ? "opacity-100" : "pointer-events-none opacity-0"
49
- ),
50
- onClick: s,
51
- "aria-hidden": "true"
52
- }
53
- ),
54
- /* @__PURE__ */ e(
55
- "div",
56
- {
57
- className: n(
58
- "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]",
59
- r ? "translate-x-0" : "translate-x-full",
60
- w
61
- ),
62
- children: /* @__PURE__ */ a("div", { className: "flex h-full flex-col", children: [
63
- /* @__PURE__ */ e("div", { className: "border-b border-gray-300 px-4 py-2", children: /* @__PURE__ */ a("div", { className: "flex items-center justify-between", children: [
64
- /* @__PURE__ */ a("div", { className: "flex items-center gap-2", children: [
65
- /* @__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 }),
66
- /* @__PURE__ */ e("h2", { className: "text-lg font-medium", children: "Your Cart" })
67
- ] }),
68
- /* @__PURE__ */ e(
69
- "button",
39
+ return /* @__PURE__ */ t("div", { className: x("pt-2", w), children: [
40
+ /* @__PURE__ */ i("div", { className: "mb-2 px-4", children: /* @__PURE__ */ i("h3", { className: "text-lg font-semibold text-gray-900", children: "Frequently bought together" }) }),
41
+ /* @__PURE__ */ i("div", { className: "overflow-x-auto", children: /* @__PURE__ */ t("div", { className: "flex gap-4 pb-2 transition-all duration-500", children: [
42
+ /* @__PURE__ */ i("div", { className: "flex-shrink-0 w-1" }),
43
+ n == null ? void 0 : n.map((e) => {
44
+ const l = e.variants[0];
45
+ if (!l) return null;
46
+ const s = P.includes(e.id), c = I.includes(e.id), A = C.includes(e.id);
47
+ return /* @__PURE__ */ i(
48
+ "div",
49
+ {
50
+ className: x(
51
+ "flex flex-row flex-shrink-0 w-64 h-24 bg-white border border-gray-300 rounded-lg overflow-hidden transition-all duration-500",
52
+ c && "opacity-0 blur-sm scale-95 pointer-events-none",
53
+ A && "w-0 h-0 mr-[-1rem] overflow-hidden"
54
+ ),
55
+ children: /* @__PURE__ */ t(
56
+ "a",
70
57
  {
71
- onClick: s,
72
- className: "rounded-full p-2 transition-colors hover:bg-gray-100",
73
- "aria-label": "Close cart",
74
- children: /* @__PURE__ */ e(J, { className: "h-6 w-6" })
58
+ href: `/product/${e.slug}`,
59
+ className: "flex flex-row flex-1 hover:bg-gray-50 transition-colors",
60
+ children: [
61
+ /* @__PURE__ */ i("div", { className: "relative w-20 h-full flex-shrink-0 bg-gray-100", children: e.thumbnailUrl ? /* @__PURE__ */ i(
62
+ "img",
63
+ {
64
+ src: e.thumbnailUrl,
65
+ alt: e.name,
66
+ className: "w-full h-full object-cover"
67
+ }
68
+ ) : /* @__PURE__ */ i("div", { className: "w-full h-full flex items-center justify-center", children: /* @__PURE__ */ i(U, { className: "h-8 w-8 text-gray-300" }) }) }),
69
+ /* @__PURE__ */ t("div", { className: "p-2 flex flex-col flex-1 justify-between", children: [
70
+ /* @__PURE__ */ t("div", { children: [
71
+ /* @__PURE__ */ i("h4", { className: "text-xs font-medium text-gray-900 line-clamp-2 leading-tight", children: e.name }),
72
+ /* @__PURE__ */ i("p", { className: "text-xs font-semibold text-accent-600 mt-0.5", children: L(l.price) })
73
+ ] }),
74
+ /* @__PURE__ */ i(
75
+ S,
76
+ {
77
+ size: "sm",
78
+ onClick: (u) => {
79
+ u.preventDefault(), u.stopPropagation(), j(e, l);
80
+ },
81
+ disabled: s,
82
+ className: "w-full bg-accent-500 hover:bg-accent-600 text-white text-xs h-6 mt-1",
83
+ children: s ? /* @__PURE__ */ t(g, { children: [
84
+ /* @__PURE__ */ i(N, { className: "h-3 w-3 animate-spin" }),
85
+ "Adding..."
86
+ ] }) : /* @__PURE__ */ t(g, { children: [
87
+ /* @__PURE__ */ i(q, { className: "h-3 w-3" }),
88
+ "Add"
89
+ ] })
90
+ }
91
+ )
92
+ ] })
93
+ ]
75
94
  }
76
95
  )
77
- ] }) }),
78
- l && /* @__PURE__ */ e("div", { className: "flex flex-1 items-center justify-center", children: /* @__PURE__ */ a("div", { className: "text-center", children: [
79
- /* @__PURE__ */ e(K, { className: "mx-auto mb-4 h-12 w-12 animate-spin text-accent-500" }),
80
- /* @__PURE__ */ e("p", { className: "text-gray-600", children: "Loading cart..." })
81
- ] }) }),
82
- f && !l && /* @__PURE__ */ e("div", { className: "flex flex-1 items-center justify-center", children: /* @__PURE__ */ a("div", { className: "text-center", children: [
83
- /* @__PURE__ */ e(h, { className: "mx-auto mb-4 h-12 w-12 text-red-600" }),
84
- /* @__PURE__ */ e("p", { className: "text-red-600", children: "Failed to load cart. Please try again." })
85
- ] }) }),
86
- !l && !f && (!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: [
87
- /* @__PURE__ */ e(h, { className: "mx-auto mb-4 h-12 w-12 text-gray-400" }),
88
- /* @__PURE__ */ e("p", { className: "text-gray-600", children: R })
89
- ] }) }),
90
- !l && !f && t && t.items && t.items.length > 0 && /* @__PURE__ */ a(b, { children: [
91
- /* @__PURE__ */ a("div", { className: "flex-1 overflow-y-auto", children: [
92
- /* @__PURE__ */ e("div", { className: "space-y-4 p-4", children: t.items.map((i, N) => /* @__PURE__ */ a("div", { children: [
93
- /* @__PURE__ */ e(
94
- X,
95
- {
96
- item: i
97
- }
98
- ),
99
- /* @__PURE__ */ e("hr", { className: "border-gray-200 mt-2" })
100
- ] }, i.id)) }),
101
- k && /* @__PURE__ */ e("div", { className: "px-4 pb-4", children: /* @__PURE__ */ e(Z, {}) })
102
- ] }),
103
- /* @__PURE__ */ e(G, { limit: 6, className: "border-t border-gray-200" }),
104
- /* @__PURE__ */ a("div", { className: "border-t border-gray-300 bg-white", children: [
105
- /* @__PURE__ */ a("div", { className: " text-base", children: [
106
- /* @__PURE__ */ a("div", { className: "px-4 py-2 space-y-2", children: [
107
- /* @__PURE__ */ a("div", { className: "flex justify-between", children: [
108
- /* @__PURE__ */ e("span", { className: "text-gray-600", children: "Subtotal" }),
109
- /* @__PURE__ */ e("span", { className: "font-semibold", children: c(F) })
110
- ] }),
111
- u > 0 && /* @__PURE__ */ a("div", { className: "flex justify-between text-green-600", children: [
112
- /* @__PURE__ */ e("span", { children: "Discount" }),
113
- /* @__PURE__ */ a("span", { className: "font-semibold", children: [
114
- "-",
115
- c(u)
116
- ] })
117
- ] }),
118
- /* @__PURE__ */ a("div", { className: "flex justify-between", children: [
119
- /* @__PURE__ */ e("span", { className: "text-gray-600", children: "Shipping" }),
120
- /* @__PURE__ */ e("span", { className: "font-semibold", children: t.pricing && t.deliveryZone ? c(t.pricing.deliveryCharge) : "-" })
121
- ] })
122
- ] }),
123
- /* @__PURE__ */ a("div", { className: "flex justify-between p-4 border-t border-gray-300 text-lg", children: [
124
- /* @__PURE__ */ e("span", { className: "font-bold", children: "Total" }),
125
- /* @__PURE__ */ e("span", { className: "font-bold", children: c(t.pricing.total) })
126
- ] })
127
- ] }),
128
- /* @__PURE__ */ a("div", { className: "px-4 py-2 space-y-2 pt-0", children: [
129
- /* @__PURE__ */ a(
130
- v,
131
- {
132
- onClick: Y,
133
- disabled: z || t.items.length === 0,
134
- className: n("w-full bg-accent-500 text-white hover:bg-accent-600", I),
135
- size: "lg",
136
- children: [
137
- /* @__PURE__ */ e(h, { className: "h-5 w-5" }),
138
- C
139
- ]
140
- }
141
- ),
142
- j && /* @__PURE__ */ e(
143
- v,
144
- {
145
- onClick: q,
146
- variant: "outline",
147
- className: n("w-full border-gray-300 text-gray-600 hover:bg-gray-100", L),
148
- size: "lg",
149
- children: E
150
- }
151
- )
152
- ] })
153
- ] })
154
- ] })
155
- ] })
156
- }
157
- ),
158
- /* @__PURE__ */ e(
159
- A,
160
- {
161
- isOpen: D,
162
- onSuccess: (i) => {
163
- m == null || m(i), s();
164
- },
165
- onClose: () => p(!1),
166
- refundPolicy: {
167
- title: "🤔 Curious about Refunds?",
168
- policies: [
169
- "2 day return window from delivery date",
170
- "Items must be unused and in original packaging",
171
- "Refunds processed as soon as item is received",
172
- "Refunds issued to original payment method",
173
- "Contact hello@instock.ng to initiate a refund"
174
- ]
175
- }
176
- }
177
- )
96
+ },
97
+ e.id
98
+ );
99
+ }),
100
+ /* @__PURE__ */ i("div", { className: "flex-shrink-0 w-1" })
101
+ ] }) })
178
102
  ] });
179
103
  }
180
104
  export {
181
- ie as ShoppingCart
105
+ K as RecommendedProducts
182
106
  };
package/dist/index110.mjs CHANGED
@@ -1,34 +1,159 @@
1
1
  'use client';
2
- import { __exports as i } from "./index159.mjs";
3
- import { __require as U } from "./index108.mjs";
4
- import { __require as _ } from "./index160.mjs";
5
- var s;
6
- function q() {
7
- return s ? i : (s = 1, function(n) {
8
- Object.defineProperty(n, "__esModule", {
2
+ import { __exports as a } from "./index169.mjs";
3
+ var g;
4
+ function j() {
5
+ return g ? a : (g = 1, function(u) {
6
+ Object.defineProperty(u, "__esModule", {
9
7
  value: !0
10
- }), Object.defineProperty(n, "parseRelativeUrl", {
11
- enumerable: !0,
12
- get: function() {
8
+ });
9
+ function m(e, r) {
10
+ for (var t in r) Object.defineProperty(e, t, {
11
+ enumerable: !0,
12
+ get: r[t]
13
+ });
14
+ }
15
+ m(u, {
16
+ DecodeError: function() {
17
+ return S;
18
+ },
19
+ MiddlewareNotFoundError: function() {
20
+ return b;
21
+ },
22
+ MissingStaticPage: function() {
23
+ return v;
24
+ },
25
+ NormalizeError: function() {
26
+ return I;
27
+ },
28
+ PageNotFoundError: function() {
29
+ return O;
30
+ },
31
+ SP: function() {
32
+ return d;
33
+ },
34
+ ST: function() {
35
+ return w;
36
+ },
37
+ WEB_VITALS: function() {
38
+ return p;
39
+ },
40
+ execOnce: function() {
41
+ return E;
42
+ },
43
+ getDisplayName: function() {
44
+ return s;
45
+ },
46
+ getLocationOrigin: function() {
47
+ return c;
48
+ },
49
+ getURL: function() {
50
+ return P;
51
+ },
52
+ isAbsoluteUrl: function() {
53
+ return N;
54
+ },
55
+ isResSent: function() {
13
56
  return f;
57
+ },
58
+ loadGetInitialProps: function() {
59
+ return l;
60
+ },
61
+ normalizeRepeatedSlashes: function() {
62
+ return y;
63
+ },
64
+ stringifyError: function() {
65
+ return L;
14
66
  }
15
67
  });
16
- const u = U(), l = _();
17
- function f(e, o, r) {
18
- r === void 0 && (r = !0);
19
- const t = new URL(typeof window > "u" ? "http://n" : (0, u.getLocationOrigin)()), c = o ? new URL(o, t) : e.startsWith(".") ? new URL(typeof window > "u" ? "http://n" : window.location.href) : t, { pathname: d, searchParams: h, search: v, hash: p, href: w, origin: a } = new URL(e, c);
20
- if (a !== t.origin)
21
- throw new Error("invariant: invalid relative URL, router received " + e);
22
- return {
23
- pathname: d,
24
- query: r ? (0, l.searchParamsToUrlQuery)(h) : void 0,
25
- search: v,
26
- hash: p,
27
- href: w.slice(a.length)
68
+ const p = [
69
+ "CLS",
70
+ "FCP",
71
+ "FID",
72
+ "INP",
73
+ "LCP",
74
+ "TTFB"
75
+ ];
76
+ function E(e) {
77
+ let r = !1, t;
78
+ return function() {
79
+ for (var i = arguments.length, n = new Array(i), o = 0; o < i; o++)
80
+ n[o] = arguments[o];
81
+ return r || (r = !0, t = e(...n)), t;
28
82
  };
29
83
  }
30
- }(i), i);
84
+ const h = /^[a-zA-Z][a-zA-Z\d+\-.]*?:/, N = (e) => h.test(e);
85
+ function c() {
86
+ const { protocol: e, hostname: r, port: t } = window.location;
87
+ return e + "//" + r + (t ? ":" + t : "");
88
+ }
89
+ function P() {
90
+ const { href: e } = window.location, r = c();
91
+ return e.substring(r.length);
92
+ }
93
+ function s(e) {
94
+ return typeof e == "string" ? e : e.displayName || e.name || "Unknown";
95
+ }
96
+ function f(e) {
97
+ return e.finished || e.headersSent;
98
+ }
99
+ function y(e) {
100
+ const r = e.split("?");
101
+ return r[0].replace(/\\/g, "/").replace(/\/\/+/g, "/") + (r[1] ? "?" + r.slice(1).join("?") : "");
102
+ }
103
+ async function l(e, r) {
104
+ if (process.env.NODE_ENV !== "production") {
105
+ var t;
106
+ if ((t = e.prototype) != null && t.getInitialProps) {
107
+ const o = '"' + s(e) + '.getInitialProps()" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';
108
+ throw new Error(o);
109
+ }
110
+ }
111
+ const i = r.res || r.ctx && r.ctx.res;
112
+ if (!e.getInitialProps)
113
+ return r.ctx && r.Component ? {
114
+ pageProps: await l(r.Component, r.ctx)
115
+ } : {};
116
+ const n = await e.getInitialProps(r);
117
+ if (i && f(i))
118
+ return n;
119
+ if (!n) {
120
+ const o = '"' + s(e) + '.getInitialProps()" should resolve to an object. But found "' + n + '" instead.';
121
+ throw new Error(o);
122
+ }
123
+ return process.env.NODE_ENV !== "production" && Object.keys(n).length === 0 && !r.ctx && console.warn("" + s(e) + " returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps"), n;
124
+ }
125
+ const d = typeof performance < "u", w = d && [
126
+ "mark",
127
+ "measure",
128
+ "getEntriesByName"
129
+ ].every((e) => typeof performance[e] == "function");
130
+ class S extends Error {
131
+ }
132
+ class I extends Error {
133
+ }
134
+ class O extends Error {
135
+ constructor(r) {
136
+ super(), this.code = "ENOENT", this.name = "PageNotFoundError", this.message = "Cannot find module for page: " + r;
137
+ }
138
+ }
139
+ class v extends Error {
140
+ constructor(r, t) {
141
+ super(), this.message = "Failed to load static file for page: " + r + " " + t;
142
+ }
143
+ }
144
+ class b extends Error {
145
+ constructor() {
146
+ super(), this.code = "ENOENT", this.message = "Cannot find the middleware module";
147
+ }
148
+ }
149
+ function L(e) {
150
+ return JSON.stringify({
151
+ message: e.message,
152
+ stack: e.stack
153
+ });
154
+ }
155
+ }(a), a);
31
156
  }
32
157
  export {
33
- q as __require
158
+ j as __require
34
159
  };
package/dist/index111.mjs CHANGED
@@ -1,87 +1,23 @@
1
1
  'use client';
2
- import { __exports as f } from "./index161.mjs";
3
- import { __require as z } from "./index162.mjs";
4
- import { __require as A } from "./index163.mjs";
5
- import { __require as F } from "./index102.mjs";
6
- import { __require as O } from "./index106.mjs";
7
- import { __require as U } from "./index119.mjs";
8
- import { __require as B } from "./index110.mjs";
9
- var k;
10
- function X() {
11
- return k ? f : (k = 1, function(h) {
12
- Object.defineProperty(h, "__esModule", {
2
+ import { __exports as t } from "./index170.mjs";
3
+ import { __require as c } from "./index171.mjs";
4
+ var i;
5
+ function p() {
6
+ return i ? t : (i = 1, function(r) {
7
+ Object.defineProperty(r, "__esModule", {
13
8
  value: !0
14
- }), Object.defineProperty(h, "default", {
9
+ }), Object.defineProperty(r, "isDynamicRoute", {
15
10
  enumerable: !0,
16
11
  get: function() {
17
- return j;
12
+ return u;
18
13
  }
19
14
  });
20
- const y = z(), p = A(), _ = F(), d = O(), v = U(), T = B();
21
- function j(o, m, a, q, g, R) {
22
- let r = !1, P = !1, l = (0, T.parseRelativeUrl)(o), i = (0, _.removeTrailingSlash)((0, d.normalizeLocalePath)((0, v.removeBasePath)(l.pathname), R).pathname), t;
23
- const c = (e) => {
24
- let u = (0, y.getPathMatch)(e.source + (process.env.__NEXT_TRAILING_SLASH ? "(/)?" : ""), {
25
- removeUnnamedParams: !0,
26
- strict: !0
27
- })(l.pathname);
28
- if ((e.has || e.missing) && u) {
29
- const n = (0, p.matchHas)({
30
- headers: {
31
- host: document.location.hostname,
32
- "user-agent": navigator.userAgent
33
- },
34
- cookies: document.cookie.split("; ").reduce((b, D) => {
35
- const [L, ...S] = D.split("=");
36
- return b[L] = S.join("="), b;
37
- }, {})
38
- }, l.query, e.has, e.missing);
39
- n ? Object.assign(u, n) : u = !1;
40
- }
41
- if (u) {
42
- if (!e.destination)
43
- return P = !0, !0;
44
- const n = (0, p.prepareDestination)({
45
- appendParamsToQuery: !0,
46
- destination: e.destination,
47
- params: u,
48
- query: q
49
- });
50
- if (l = n.parsedDestination, o = n.newUrl, Object.assign(q, n.parsedDestination.query), i = (0, _.removeTrailingSlash)((0, d.normalizeLocalePath)((0, v.removeBasePath)(o), R).pathname), m.includes(i))
51
- return r = !0, t = i, !0;
52
- if (t = g(i), t !== o && m.includes(t))
53
- return r = !0, !0;
54
- }
55
- };
56
- let s = !1;
57
- for (let e = 0; e < a.beforeFiles.length; e++)
58
- c(a.beforeFiles[e]);
59
- if (r = m.includes(i), !r) {
60
- if (!s) {
61
- for (let e = 0; e < a.afterFiles.length; e++)
62
- if (c(a.afterFiles[e])) {
63
- s = !0;
64
- break;
65
- }
66
- }
67
- if (s || (t = g(i), r = m.includes(t), s = r), !s) {
68
- for (let e = 0; e < a.fallback.length; e++)
69
- if (c(a.fallback[e])) {
70
- s = !0;
71
- break;
72
- }
73
- }
74
- }
75
- return {
76
- asPath: o,
77
- parsedAs: l,
78
- matchedPage: r,
79
- resolvedHref: t,
80
- externalDest: P
81
- };
15
+ const n = c(), o = /\/\[[^/]+?\](?=\/|$)/;
16
+ function u(e) {
17
+ return (0, n.isInterceptionRouteAppPath)(e) && (e = (0, n.extractInterceptionRouteInformation)(e).interceptedRoute), o.test(e);
82
18
  }
83
- }(f), f);
19
+ }(t), t);
84
20
  }
85
21
  export {
86
- X as __require
22
+ p as __require
87
23
  };