@instockng/storefront-ui 1.0.75 → 1.0.77

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 (255) hide show
  1. package/dist/components/ProductAddOns.d.ts +3 -1
  2. package/dist/components/ProductAddOns.d.ts.map +1 -1
  3. package/dist/components/RecommendedProducts.d.ts.map +1 -1
  4. package/dist/components/VariantPickerModal.d.ts +28 -0
  5. package/dist/components/VariantPickerModal.d.ts.map +1 -0
  6. package/dist/contexts/CartContext.d.ts.map +1 -1
  7. package/dist/index.d.ts +2 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.mjs +104 -102
  10. package/dist/index10.mjs +162 -121
  11. package/dist/index100.mjs +20 -69
  12. package/dist/index101.mjs +55 -34
  13. package/dist/index102.mjs +32 -42
  14. package/dist/index103.mjs +2 -2
  15. package/dist/index104.mjs +2 -28
  16. package/dist/index105.mjs +2 -18
  17. package/dist/index106.mjs +26 -213
  18. package/dist/index107.mjs +13 -175
  19. package/dist/index108.mjs +210 -17
  20. package/dist/index109.mjs +174 -17
  21. package/dist/index11.mjs +116 -88
  22. package/dist/index110.mjs +14 -25
  23. package/dist/index111.mjs +17 -150
  24. package/dist/index112.mjs +26 -13
  25. package/dist/index113.mjs +149 -24
  26. package/dist/index114.mjs +13 -77
  27. package/dist/index115.mjs +20 -27
  28. package/dist/index116.mjs +76 -137
  29. package/dist/index117.mjs +33 -50
  30. package/dist/index118.mjs +141 -19
  31. package/dist/index119.mjs +50 -22
  32. package/dist/index12.mjs +86 -90
  33. package/dist/index120.mjs +14 -14
  34. package/dist/index121.mjs +20 -18
  35. package/dist/index122.mjs +16 -14
  36. package/dist/index123.mjs +17 -14
  37. package/dist/index124.mjs +12 -12
  38. package/dist/index125.mjs +15 -58
  39. package/dist/index126.mjs +14 -11
  40. package/dist/index127.mjs +56 -30
  41. package/dist/index128.mjs +9 -15
  42. package/dist/index129.mjs +31 -26
  43. package/dist/index13.mjs +83 -185
  44. package/dist/index130.mjs +13 -16
  45. package/dist/index131.mjs +26 -11
  46. package/dist/index132.mjs +18 -12
  47. package/dist/index133.mjs +12 -40
  48. package/dist/index134.mjs +14 -16
  49. package/dist/index135.mjs +42 -263
  50. package/dist/index136.mjs +15 -62
  51. package/dist/index137.mjs +267 -7
  52. package/dist/index138.mjs +70 -2
  53. package/dist/index139.mjs +8 -2
  54. package/dist/index14.mjs +196 -94
  55. package/dist/index140.mjs +2 -33
  56. package/dist/index141.mjs +2 -2
  57. package/dist/index142.mjs +33 -2
  58. package/dist/index143.mjs +2 -21
  59. package/dist/index144.mjs +19 -54
  60. package/dist/index145.mjs +55 -28
  61. package/dist/index146.mjs +27 -5
  62. package/dist/index147.mjs +6 -51
  63. package/dist/index148.mjs +51 -5
  64. package/dist/index149.mjs +6 -12
  65. package/dist/index15.mjs +82 -713
  66. package/dist/index150.mjs +12 -7
  67. package/dist/index151.mjs +6 -27
  68. package/dist/index152.mjs +28 -2
  69. package/dist/index153.mjs +2 -70
  70. package/dist/index154.mjs +67 -164
  71. package/dist/index155.mjs +167 -2
  72. package/dist/index159.mjs +1 -1
  73. package/dist/index16.mjs +722 -53
  74. package/dist/index160.mjs +1 -1
  75. package/dist/index161.mjs +1 -1
  76. package/dist/index162.mjs +1 -1
  77. package/dist/index163.mjs +1 -1
  78. package/dist/index165.mjs +3 -3
  79. package/dist/index166.mjs +1 -1
  80. package/dist/index168.mjs +3 -3
  81. package/dist/index169.mjs +1 -1
  82. package/dist/index17.mjs +58 -60
  83. package/dist/index174.mjs +2 -2
  84. package/dist/index176.mjs +1 -1
  85. package/dist/index178.mjs +2 -2
  86. package/dist/index179.mjs +5 -5
  87. package/dist/index18.mjs +60 -22
  88. package/dist/index182.mjs +1 -1
  89. package/dist/index185.mjs +1 -1
  90. package/dist/index188.mjs +3 -3
  91. package/dist/index189.mjs +1 -1
  92. package/dist/index19.mjs +22 -107
  93. package/dist/index193.mjs +2 -2
  94. package/dist/index195.mjs +2 -2
  95. package/dist/index199.mjs +1 -1
  96. package/dist/index2.mjs +2 -2
  97. package/dist/index20.mjs +105 -38
  98. package/dist/index201.mjs +1 -1
  99. package/dist/index21.mjs +37 -37
  100. package/dist/index210.mjs +2 -2
  101. package/dist/index212.mjs +1 -1
  102. package/dist/index213.mjs +1 -1
  103. package/dist/index214.mjs +2 -31
  104. package/dist/index215.mjs +30 -10
  105. package/dist/index216.mjs +10 -3
  106. package/dist/index217.mjs +3 -3
  107. package/dist/index218.mjs +4 -13
  108. package/dist/index219.mjs +13 -7
  109. package/dist/index22.mjs +42 -71
  110. package/dist/index220.mjs +7 -12
  111. package/dist/index221.mjs +11 -4
  112. package/dist/index222.mjs +5 -33
  113. package/dist/index223.mjs +33 -31
  114. package/dist/index224.mjs +29 -26
  115. package/dist/index225.mjs +26 -59
  116. package/dist/index226.mjs +61 -2
  117. package/dist/index227.mjs +2 -108
  118. package/dist/index228.mjs +2 -2
  119. package/dist/index229.mjs +2 -2
  120. package/dist/index23.mjs +67 -28
  121. package/dist/index230.mjs +2 -37
  122. package/dist/index231.mjs +108 -2
  123. package/dist/index232.mjs +2 -2
  124. package/dist/index233.mjs +2 -2
  125. package/dist/index234.mjs +2 -2
  126. package/dist/index236.mjs +2 -2
  127. package/dist/index237.mjs +2 -244
  128. package/dist/index238.mjs +37 -2
  129. package/dist/index239.mjs +2 -33
  130. package/dist/index24.mjs +29 -6
  131. package/dist/index240.mjs +2 -65
  132. package/dist/index241.mjs +243 -24
  133. package/dist/index242.mjs +2 -2
  134. package/dist/index243.mjs +33 -2
  135. package/dist/index244.mjs +65 -2
  136. package/dist/index245.mjs +25 -2
  137. package/dist/index246.mjs +2 -2
  138. package/dist/index247.mjs +2 -2
  139. package/dist/index248.mjs +2 -2
  140. package/dist/index249.mjs +2 -2
  141. package/dist/index25.mjs +8 -21
  142. package/dist/index250.mjs +2 -2
  143. package/dist/index251.mjs +2 -2
  144. package/dist/index253.mjs +2 -2
  145. package/dist/index254.mjs +2 -2
  146. package/dist/index255.mjs +4 -2
  147. package/dist/index256.mjs +2 -4
  148. package/dist/index258.mjs +3 -2
  149. package/dist/index259.mjs +2 -18
  150. package/dist/index26.mjs +19 -34
  151. package/dist/index260.mjs +2 -47
  152. package/dist/index261.mjs +17 -2
  153. package/dist/index262.mjs +13 -2
  154. package/dist/index263.mjs +6 -2
  155. package/dist/index264.mjs +30 -2
  156. package/dist/index265.mjs +2 -91
  157. package/dist/index266.mjs +2 -3
  158. package/dist/index267.mjs +18 -2
  159. package/dist/index268.mjs +47 -2
  160. package/dist/index269.mjs +2 -17
  161. package/dist/index27.mjs +34 -37
  162. package/dist/index270.mjs +2 -13
  163. package/dist/index271.mjs +2 -6
  164. package/dist/index272.mjs +2 -30
  165. package/dist/index273.mjs +91 -2
  166. package/dist/index274.mjs +2 -2
  167. package/dist/index276.mjs +2 -2
  168. package/dist/index277.mjs +5 -0
  169. package/dist/index28.mjs +28 -103
  170. package/dist/index29.mjs +104 -20
  171. package/dist/index3.mjs +90 -90
  172. package/dist/index30.mjs +29 -9
  173. package/dist/index31.mjs +9 -9
  174. package/dist/index32.mjs +11 -116
  175. package/dist/index33.mjs +116 -25
  176. package/dist/index34.mjs +25 -81
  177. package/dist/index35.mjs +81 -112
  178. package/dist/index36.mjs +109 -8
  179. package/dist/index37.mjs +9 -33
  180. package/dist/index38.mjs +27 -20
  181. package/dist/index39.mjs +26 -9
  182. package/dist/index4.mjs +1 -1
  183. package/dist/index40.mjs +10 -122
  184. package/dist/index41.mjs +114 -380
  185. package/dist/index42.mjs +384 -20
  186. package/dist/index43.mjs +24 -31
  187. package/dist/index44.mjs +32 -7
  188. package/dist/index45.mjs +6 -1432
  189. package/dist/index46.mjs +1432 -69
  190. package/dist/index47.mjs +70 -2
  191. package/dist/index48.mjs +2 -60
  192. package/dist/index49.mjs +57 -48
  193. package/dist/index5.mjs +1 -1
  194. package/dist/index50.mjs +51 -33
  195. package/dist/index51.mjs +33 -15
  196. package/dist/index52.mjs +12 -2260
  197. package/dist/index53.mjs +2263 -36
  198. package/dist/index54.mjs +36 -44
  199. package/dist/index55.mjs +44 -99
  200. package/dist/index56.mjs +99 -81
  201. package/dist/index57.mjs +75 -13
  202. package/dist/index58.mjs +15 -125
  203. package/dist/index59.mjs +93 -89
  204. package/dist/index6.mjs +1 -1
  205. package/dist/index60.mjs +102 -56
  206. package/dist/index61.mjs +55 -89
  207. package/dist/index62.mjs +82 -76
  208. package/dist/index63.mjs +100 -13
  209. package/dist/index64.mjs +17 -92
  210. package/dist/index65.mjs +70 -56
  211. package/dist/index66.mjs +62 -44
  212. package/dist/index67.mjs +47 -46
  213. package/dist/index68.mjs +48 -121
  214. package/dist/index69.mjs +133 -22
  215. package/dist/index7.mjs +6 -6
  216. package/dist/index70.mjs +4 -152
  217. package/dist/index71.mjs +21 -20
  218. package/dist/index72.mjs +2 -5
  219. package/dist/index73.mjs +23 -2
  220. package/dist/index74.mjs +149 -71
  221. package/dist/index75.mjs +74 -14
  222. package/dist/index76.mjs +14 -62
  223. package/dist/index77.mjs +63 -2
  224. package/dist/index78.mjs +234 -5
  225. package/dist/index79.mjs +5 -1133
  226. package/dist/index8.mjs +4 -4
  227. package/dist/index80.mjs +131 -17
  228. package/dist/index81.mjs +67 -54
  229. package/dist/index82.mjs +84 -30
  230. package/dist/index83.mjs +29 -2
  231. package/dist/index84.mjs +9 -235
  232. package/dist/index85.mjs +74 -5
  233. package/dist/index86.mjs +3 -133
  234. package/dist/index87.mjs +2 -68
  235. package/dist/index88.mjs +79 -83
  236. package/dist/index89.mjs +52 -27
  237. package/dist/index9.mjs +3 -3
  238. package/dist/index90.mjs +5 -8
  239. package/dist/index91.mjs +4 -74
  240. package/dist/index92.mjs +178 -3
  241. package/dist/index93.mjs +53 -2
  242. package/dist/index94.mjs +68 -82
  243. package/dist/index95.mjs +33 -53
  244. package/dist/index96.mjs +42 -5
  245. package/dist/index97.mjs +2 -5
  246. package/dist/index98.mjs +5 -178
  247. package/dist/index99.mjs +1134 -53
  248. package/dist/styles.css +1 -1
  249. package/package.json +1 -1
  250. package/src/components/ProductAddOns.stories.tsx +10 -3
  251. package/src/components/ProductAddOns.tsx +167 -112
  252. package/src/components/RecommendedProducts.tsx +130 -88
  253. package/src/components/VariantPickerModal.tsx +154 -0
  254. package/src/contexts/CartContext.tsx +8 -1
  255. package/src/index.ts +3 -0
package/dist/index128.mjs CHANGED
@@ -1,27 +1,21 @@
1
1
  'use client';
2
- import { __exports as r } from "./index200.mjs";
3
- import { __require as m } from "./index105.mjs";
4
- import { __require as f } from "./index193.mjs";
5
- import { __require as h } from "./index201.mjs";
6
- import { __require as s } from "./index189.mjs";
7
- var n;
8
- function q() {
9
- return n ? r : (n = 1, function(t) {
2
+ import { __exports as r } from "./index197.mjs";
3
+ var i;
4
+ function n() {
5
+ return i ? r : (i = 1, function(t) {
10
6
  Object.defineProperty(t, "__esModule", {
11
7
  value: !0
12
- }), Object.defineProperty(t, "formatNextPathnameInfo", {
8
+ }), Object.defineProperty(t, "isAPIRoute", {
13
9
  enumerable: !0,
14
10
  get: function() {
15
- return l;
11
+ return u;
16
12
  }
17
13
  });
18
- const i = m(), d = f(), u = h(), o = s();
19
- function l(e) {
20
- let a = (0, o.addLocale)(e.pathname, e.locale, e.buildId ? void 0 : e.defaultLocale, e.ignorePrefix);
21
- return (e.buildId || !e.trailingSlash) && (a = (0, i.removeTrailingSlash)(a)), e.buildId && (a = (0, u.addPathSuffix)((0, d.addPathPrefix)(a, "/_next/data/" + e.buildId), e.pathname === "/" ? "index.json" : ".json")), a = (0, d.addPathPrefix)(a, e.basePath), !e.buildId && e.trailingSlash ? a.endsWith("/") ? a : (0, u.addPathSuffix)(a, "/") : (0, i.removeTrailingSlash)(a);
14
+ function u(e) {
15
+ return e === "/api" || !!(e != null && e.startsWith("/api/"));
22
16
  }
23
17
  }(r), r);
24
18
  }
25
19
  export {
26
- q as __require
20
+ n as __require
27
21
  };
package/dist/index129.mjs CHANGED
@@ -1,37 +1,42 @@
1
1
  'use client';
2
- import { __exports as o } from "./index202.mjs";
3
- var c;
4
- function p() {
5
- return c ? o : (c = 1, function(a) {
6
- Object.defineProperty(a, "__esModule", {
2
+ import { __exports as l } from "./index198.mjs";
3
+ import { __require as _ } from "./index111.mjs";
4
+ import { __require as v } from "./index199.mjs";
5
+ import { __require as q } from "./index195.mjs";
6
+ var s;
7
+ function N() {
8
+ return s ? l : (s = 1, function(h) {
9
+ Object.defineProperty(h, "__esModule", {
7
10
  value: !0
8
- }), Object.defineProperty(a, "compareRouterStates", {
11
+ }), Object.defineProperty(h, "getNextPathnameInfo", {
9
12
  enumerable: !0,
10
13
  get: function() {
11
- return i;
14
+ return p;
12
15
  }
13
16
  });
14
- function i(r, e) {
15
- const n = Object.keys(r);
16
- if (n.length !== Object.keys(e).length) return !1;
17
- for (let y = n.length; y--; ) {
18
- const t = n[y];
19
- if (t === "query") {
20
- const u = Object.keys(r.query);
21
- if (u.length !== Object.keys(e.query).length)
22
- return !1;
23
- for (let f = u.length; f--; ) {
24
- const s = u[f];
25
- if (!e.query.hasOwnProperty(s) || r.query[s] !== e.query[s])
26
- return !1;
27
- }
28
- } else if (!e.hasOwnProperty(t) || r[t] !== e[t])
29
- return !1;
17
+ const c = _(), u = v(), d = q();
18
+ function p(i, t) {
19
+ var f;
20
+ const { basePath: r, i18n: o, trailingSlash: P } = (f = t.nextConfig) != null ? f : {}, e = {
21
+ pathname: i,
22
+ trailingSlash: i !== "/" ? i.endsWith("/") : P
23
+ };
24
+ r && (0, d.pathHasPrefix)(e.pathname, r) && (e.pathname = (0, u.removePathPrefix)(e.pathname, r), e.basePath = r);
25
+ let n = e.pathname;
26
+ if (e.pathname.startsWith("/_next/data/") && e.pathname.endsWith(".json")) {
27
+ const a = e.pathname.replace(/^\/_next\/data\//, "").replace(/\.json$/, "").split("/"), x = a[0];
28
+ e.buildId = x, n = a[1] !== "index" ? "/" + a.slice(1).join("/") : "/", t.parseData === !0 && (e.pathname = n);
30
29
  }
31
- return !0;
30
+ if (o) {
31
+ let a = t.i18nProvider ? t.i18nProvider.analyze(e.pathname) : (0, c.normalizeLocalePath)(e.pathname, o.locales);
32
+ e.locale = a.detectedLocale;
33
+ var m;
34
+ e.pathname = (m = a.pathname) != null ? m : e.pathname, !a.detectedLocale && e.buildId && (a = t.i18nProvider ? t.i18nProvider.analyze(n) : (0, c.normalizeLocalePath)(n, o.locales), a.detectedLocale && (e.locale = a.detectedLocale));
35
+ }
36
+ return e;
32
37
  }
33
- }(o), o);
38
+ }(l), l);
34
39
  }
35
40
  export {
36
- p as __require
41
+ N as __require
37
42
  };
package/dist/index13.mjs CHANGED
@@ -1,203 +1,101 @@
1
1
  'use client';
2
- import { jsxs as a, Fragment as k, jsx as e } from "react/jsx-runtime";
3
- import { useState as X, useEffect as Z } from "react";
4
- import { useCart as $ } from "./index3.mjs";
5
- import { CartItem as A } from "./index12.mjs";
6
- import { DiscountCodeInput as G } from "./index14.mjs";
7
- import { Checkout as J } from "./index15.mjs";
8
- import { RecommendedProducts as K } from "./index11.mjs";
9
- import { Button as j } from "./index16.mjs";
10
- import { X as O, Loader2 as Q, Package as p } from "lucide-react";
11
- import { cn as c, formatCurrency as d } from "./index22.mjs";
12
- import { useHideBodyOverflow as S } from "./index44.mjs";
13
- function ne({
14
- isOpen: s,
15
- onClose: i,
16
- onCheckout: m,
17
- onContinueShopping: h,
18
- onPurchaseSuccess: f,
19
- className: C,
20
- showDiscountCode: E = !0,
21
- showContinueShopping: R = !0,
22
- checkoutButtonText: F = "Complete Purchase",
23
- continueShoppingText: I = "Continue Shopping",
24
- checkoutButtonClassName: L,
25
- continueShoppingButtonClassName: z,
26
- disableCheckout: Y = !1,
27
- emptyMessage: B = "Your cart is empty"
2
+ import { jsxs as t, jsx as a } from "react/jsx-runtime";
3
+ import { Package as g, Trash2 as p } from "lucide-react";
4
+ import { cn as N, formatCurrency as h } from "./index23.mjs";
5
+ import { useCart as w } from "./index3.mjs";
6
+ import { useState as f, useCallback as y } from "react";
7
+ function U({
8
+ item: e,
9
+ className: b,
10
+ disabled: r = !1
28
11
  }) {
29
- var x, y, b;
30
- const { cart: t, isLoading: l, error: o, trackCheckoutInitiated: D } = $(), [M, u] = X(!1);
31
- S(s), Z(() => {
32
- const r = (n) => {
33
- n.key === "Escape" && s && i();
34
- };
35
- return window.addEventListener("keydown", r), () => window.removeEventListener("keydown", r);
36
- }, [s, i]);
37
- const q = ((x = t == null ? void 0 : t.pricing) == null ? void 0 : x.subtotal) || 0, g = ((y = t == null ? void 0 : t.pricing.discount) == null ? void 0 : y.amount) || 0, H = () => {
38
- D(), u(!0), m == null || m();
39
- }, P = () => {
40
- h == null || h(), i();
41
- };
42
- return /* @__PURE__ */ a(k, { children: [
43
- /* @__PURE__ */ e(
44
- "div",
45
- {
46
- className: c(
47
- "fixed inset-0 z-40 bg-black/50 transition-opacity duration-300",
48
- s ? "opacity-100" : "pointer-events-none opacity-0"
49
- ),
50
- onClick: i,
51
- "aria-hidden": "true"
12
+ const [i, n] = f(!1), [s, c] = f(!1), { removeItem: o, updateItem: d } = w(), m = y(async (l) => {
13
+ if (!(l <= 0)) {
14
+ c(!0);
15
+ try {
16
+ await d(e.id, l);
17
+ } catch (v) {
18
+ console.error("Failed to update item quantity:", v);
52
19
  }
53
- ),
54
- /* @__PURE__ */ e(
55
- "div",
56
- {
57
- className: c(
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
- s ? "translate-x-0" : "translate-x-full",
60
- C
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: (b = t == null ? void 0 : t.items) == null ? void 0 : b.length }),
66
- /* @__PURE__ */ e("h2", { className: "text-lg font-medium", children: "Your Cart" })
20
+ c(!1);
21
+ }
22
+ }, [e.id, d]), x = y(async () => {
23
+ n(!0);
24
+ try {
25
+ await o(e.id);
26
+ } catch (l) {
27
+ console.error("Failed to remove item:", l);
28
+ }
29
+ n(!1);
30
+ }, [e.id, o]), u = e.variant.thumbnailUrl ?? e.variant.product.thumbnailUrl;
31
+ return /* @__PURE__ */ t(
32
+ "div",
33
+ {
34
+ className: N(
35
+ "flex gap-3 transition-opacity",
36
+ (r || i || s) && "opacity-50",
37
+ b
38
+ ),
39
+ children: [
40
+ /* @__PURE__ */ a("div", { className: "h-20 w-20 flex-shrink-0 overflow-hidden rounded-lg bg-gray-100", children: u ? /* @__PURE__ */ a(
41
+ "img",
42
+ {
43
+ src: u,
44
+ alt: e.variant.product.name,
45
+ className: "h-full w-full object-cover"
46
+ }
47
+ ) : /* @__PURE__ */ a("div", { className: "flex h-full w-full items-center justify-center", children: /* @__PURE__ */ a(g, { className: "h-6 w-6 text-gray-400" }) }) }),
48
+ /* @__PURE__ */ t("div", { className: "flex flex-1 flex-col justify-between py-1", children: [
49
+ /* @__PURE__ */ a("div", { children: /* @__PURE__ */ t("div", { className: "flex items-start justify-between gap-2", children: [
50
+ /* @__PURE__ */ t("div", { className: "flex-1", children: [
51
+ /* @__PURE__ */ a("h3", { className: "text-base font-semibold leading-tight", children: e.variant.product.name }),
52
+ e.variant.name && /* @__PURE__ */ a("p", { className: "mt-0.5 text-sm text-gray-600", children: e.variant.name })
67
53
  ] }),
68
- /* @__PURE__ */ e(
54
+ /* @__PURE__ */ a(
69
55
  "button",
70
56
  {
71
- onClick: i,
72
- className: "rounded-full p-2 transition-colors hover:bg-gray-100",
73
- "aria-label": "Close cart",
74
- children: /* @__PURE__ */ e(O, { className: "h-6 w-6" })
57
+ onClick: x,
58
+ disabled: r || i,
59
+ className: "text-gray-400 hover:text-red-600 disabled:cursor-not-allowed disabled:opacity-50",
60
+ "aria-label": "Remove item",
61
+ children: /* @__PURE__ */ a(p, { className: "h-5 w-5" })
75
62
  }
76
63
  )
77
64
  ] }) }),
78
- !l && !o && t && t.items && t.items.length > 0 && /* @__PURE__ */ e("div", { className: "bg-gray-50 px-4 py-3 border-b border-gray-200", children: (() => {
79
- var w;
80
- const n = ((w = t.pricing) == null ? void 0 : w.subtotal) || 0, N = Math.max(0, 2e4 - n), T = Math.min(100, n / 2e4 * 100), v = N <= 0;
81
- return /* @__PURE__ */ a("div", { className: "space-y-2", children: [
82
- /* @__PURE__ */ e("p", { className: "text-sm font-bold text-center", children: v ? /* @__PURE__ */ e("span", { className: "text-green-600", children: "You've unlocked FREE delivery! 🎉" }) : /* @__PURE__ */ a("span", { children: [
83
- "You're ",
84
- /* @__PURE__ */ e("span", { className: "text-red-500", children: d(N) }),
85
- " away from FREE delivery"
86
- ] }) }),
87
- /* @__PURE__ */ e("div", { className: "h-2 w-full bg-gray-200 rounded-full overflow-hidden", children: /* @__PURE__ */ e(
88
- "div",
65
+ /* @__PURE__ */ t("div", { className: "flex items-center justify-between mt-2", children: [
66
+ /* @__PURE__ */ t("div", { className: "inline-flex items-center overflow-hidden rounded-full bg-gray-200 text-gray-700", children: [
67
+ /* @__PURE__ */ a(
68
+ "button",
89
69
  {
90
- className: c(
91
- "h-full transition-all duration-500 ease-out",
92
- v ? "bg-green-500" : "bg-red-500"
93
- ),
94
- style: { width: `${T}%` }
70
+ "aria-label": "Decrease quantity",
71
+ onClick: () => m(e.quantity - 1),
72
+ disabled: r || e.quantity <= 1 || s,
73
+ className: "flex h-8 w-8 items-center justify-center transition-colors hover:bg-gray-300 disabled:cursor-not-allowed disabled:opacity-50",
74
+ children: "−"
95
75
  }
96
- ) })
97
- ] });
98
- })() }),
99
- l && /* @__PURE__ */ e("div", { className: "flex flex-1 items-center justify-center", children: /* @__PURE__ */ a("div", { className: "text-center", children: [
100
- /* @__PURE__ */ e(Q, { className: "mx-auto mb-4 h-12 w-12 animate-spin text-accent-500" }),
101
- /* @__PURE__ */ e("p", { className: "text-gray-600", children: "Loading cart..." })
102
- ] }) }),
103
- o && !l && /* @__PURE__ */ e("div", { className: "flex flex-1 items-center justify-center", children: /* @__PURE__ */ a("div", { className: "text-center", children: [
104
- /* @__PURE__ */ e(p, { className: "mx-auto mb-4 h-12 w-12 text-red-600" }),
105
- /* @__PURE__ */ e("p", { className: "text-red-600", children: "Failed to load cart. Please try again." })
106
- ] }) }),
107
- !l && !o && (!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: [
108
- /* @__PURE__ */ e(p, { className: "mx-auto mb-4 h-12 w-12 text-gray-400" }),
109
- /* @__PURE__ */ e("p", { className: "text-gray-600", children: B })
110
- ] }) }),
111
- !l && !o && t && t.items && t.items.length > 0 && /* @__PURE__ */ a(k, { children: [
112
- /* @__PURE__ */ a("div", { className: "flex-1 overflow-y-auto", children: [
113
- /* @__PURE__ */ e("div", { className: "space-y-4 p-4", children: t.items.map((r, n) => /* @__PURE__ */ a("div", { children: [
114
- /* @__PURE__ */ e(
115
- A,
116
- {
117
- item: r
118
- }
119
- ),
120
- /* @__PURE__ */ e("hr", { className: "border-gray-200 mt-2" })
121
- ] }, r.id)) }),
122
- E && /* @__PURE__ */ e("div", { className: "px-4 pb-4", children: /* @__PURE__ */ e(G, {}) })
76
+ ),
77
+ /* @__PURE__ */ a("span", { className: "px-3 text-base font-medium select-none", children: e.quantity }),
78
+ /* @__PURE__ */ a(
79
+ "button",
80
+ {
81
+ "aria-label": "Increase quantity",
82
+ onClick: () => m(e.quantity + 1),
83
+ disabled: r || s,
84
+ className: "flex h-8 w-8 items-center justify-center transition-colors hover:bg-gray-300 disabled:cursor-not-allowed disabled:opacity-50",
85
+ children: "+"
86
+ }
87
+ )
123
88
  ] }),
124
- /* @__PURE__ */ e(K, { limit: 6, className: "border-t border-gray-200" }),
125
- /* @__PURE__ */ a("div", { className: "border-t border-gray-300 bg-white", children: [
126
- /* @__PURE__ */ a("div", { className: " text-base", children: [
127
- /* @__PURE__ */ a("div", { className: "px-4 py-2 space-y-2", children: [
128
- /* @__PURE__ */ a("div", { className: "flex justify-between", children: [
129
- /* @__PURE__ */ e("span", { className: "text-gray-600", children: "Subtotal" }),
130
- /* @__PURE__ */ e("span", { className: "font-semibold", children: d(q) })
131
- ] }),
132
- g > 0 && /* @__PURE__ */ a("div", { className: "flex justify-between text-green-600", children: [
133
- /* @__PURE__ */ e("span", { children: "Discount" }),
134
- /* @__PURE__ */ a("span", { className: "font-semibold", children: [
135
- "-",
136
- d(g)
137
- ] })
138
- ] }),
139
- /* @__PURE__ */ a("div", { className: "flex justify-between", children: [
140
- /* @__PURE__ */ e("span", { className: "text-gray-600", children: "Shipping" }),
141
- /* @__PURE__ */ e("span", { className: "font-semibold", children: t.pricing && t.deliveryZone ? d(t.pricing.deliveryCharge) : "-" })
142
- ] })
143
- ] }),
144
- /* @__PURE__ */ a("div", { className: "flex justify-between p-4 border-t border-gray-300 text-lg", children: [
145
- /* @__PURE__ */ e("span", { className: "font-bold", children: "Total" }),
146
- /* @__PURE__ */ e("span", { className: "font-bold", children: d(t.pricing.total) })
147
- ] })
148
- ] }),
149
- /* @__PURE__ */ a("div", { className: "px-4 py-2 space-y-2 pt-0", children: [
150
- /* @__PURE__ */ a(
151
- j,
152
- {
153
- onClick: H,
154
- disabled: Y || t.items.length === 0,
155
- className: c("w-full bg-accent-500 text-white hover:bg-accent-600", L),
156
- size: "lg",
157
- children: [
158
- /* @__PURE__ */ e(p, { className: "h-5 w-5" }),
159
- F
160
- ]
161
- }
162
- ),
163
- R && /* @__PURE__ */ e(
164
- j,
165
- {
166
- onClick: P,
167
- variant: "outline",
168
- className: c("w-full border-gray-300 text-gray-600 hover:bg-gray-100", z),
169
- size: "lg",
170
- children: I
171
- }
172
- )
173
- ] })
89
+ /* @__PURE__ */ t("div", { className: "text-right", children: [
90
+ /* @__PURE__ */ a("p", { className: "text-base font-medium", children: h(e.subtotal) }),
91
+ e.basePrice !== e.finalPrice && /* @__PURE__ */ a("p", { className: "text-xs text-[#DC143C] line-through", children: h(e.basePrice * e.quantity) })
174
92
  ] })
175
93
  ] })
176
94
  ] })
177
- }
178
- ),
179
- /* @__PURE__ */ e(
180
- J,
181
- {
182
- isOpen: M,
183
- onSuccess: (r) => {
184
- f == null || f(r), i();
185
- },
186
- onClose: () => u(!1),
187
- refundPolicy: {
188
- title: "🤔 Curious about Refunds?",
189
- policies: [
190
- "2 day return window from delivery date",
191
- "Items must be unused and in original packaging",
192
- "Refunds processed as soon as item is received",
193
- "Refunds issued to original payment method",
194
- "Contact hello@instock.ng to initiate a refund"
195
- ]
196
- }
197
- }
198
- )
199
- ] });
95
+ ]
96
+ }
97
+ );
200
98
  }
201
99
  export {
202
- ne as ShoppingCart
100
+ U as CartItem
203
101
  };
package/dist/index130.mjs CHANGED
@@ -1,30 +1,27 @@
1
1
  'use client';
2
- import { __exports as r } from "./index203.mjs";
3
- import { __require as c } from "./index111.mjs";
4
- import { __require as l } from "./index124.mjs";
2
+ import { __exports as r } from "./index200.mjs";
3
+ import { __require as m } from "./index107.mjs";
4
+ import { __require as f } from "./index193.mjs";
5
+ import { __require as h } from "./index201.mjs";
6
+ import { __require as s } from "./index189.mjs";
5
7
  var n;
6
- function h() {
8
+ function q() {
7
9
  return n ? r : (n = 1, function(t) {
8
10
  Object.defineProperty(t, "__esModule", {
9
11
  value: !0
10
- }), Object.defineProperty(t, "isLocalURL", {
12
+ }), Object.defineProperty(t, "formatNextPathnameInfo", {
11
13
  enumerable: !0,
12
14
  get: function() {
13
- return u;
15
+ return l;
14
16
  }
15
17
  });
16
- const i = c(), s = l();
17
- function u(o) {
18
- if (!(0, i.isAbsoluteUrl)(o)) return !0;
19
- try {
20
- const e = (0, i.getLocationOrigin)(), a = new URL(o, e);
21
- return a.origin === e && (0, s.hasBasePath)(a.pathname);
22
- } catch {
23
- return !1;
24
- }
18
+ const i = m(), d = f(), u = h(), o = s();
19
+ function l(e) {
20
+ let a = (0, o.addLocale)(e.pathname, e.locale, e.buildId ? void 0 : e.defaultLocale, e.ignorePrefix);
21
+ return (e.buildId || !e.trailingSlash) && (a = (0, i.removeTrailingSlash)(a)), e.buildId && (a = (0, u.addPathSuffix)((0, d.addPathPrefix)(a, "/_next/data/" + e.buildId), e.pathname === "/" ? "index.json" : ".json")), a = (0, d.addPathPrefix)(a, e.basePath), !e.buildId && e.trailingSlash ? a.endsWith("/") ? a : (0, u.addPathSuffix)(a, "/") : (0, i.removeTrailingSlash)(a);
25
22
  }
26
23
  }(r), r);
27
24
  }
28
25
  export {
29
- h as __require
26
+ q as __require
30
27
  };
package/dist/index131.mjs CHANGED
@@ -1,22 +1,37 @@
1
1
  'use client';
2
- import { __exports as e } from "./index204.mjs";
3
- var t;
4
- function u() {
5
- return t ? e : (t = 1, function(o) {
6
- Object.defineProperty(o, "__esModule", {
2
+ import { __exports as o } from "./index202.mjs";
3
+ var c;
4
+ function p() {
5
+ return c ? o : (c = 1, function(a) {
6
+ Object.defineProperty(a, "__esModule", {
7
7
  value: !0
8
- }), Object.defineProperty(o, "isBot", {
8
+ }), Object.defineProperty(a, "compareRouterStates", {
9
9
  enumerable: !0,
10
10
  get: function() {
11
11
  return i;
12
12
  }
13
13
  });
14
- const r = /Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i;
15
- function i(n) {
16
- return r.test(n);
14
+ function i(r, e) {
15
+ const n = Object.keys(r);
16
+ if (n.length !== Object.keys(e).length) return !1;
17
+ for (let y = n.length; y--; ) {
18
+ const t = n[y];
19
+ if (t === "query") {
20
+ const u = Object.keys(r.query);
21
+ if (u.length !== Object.keys(e.query).length)
22
+ return !1;
23
+ for (let f = u.length; f--; ) {
24
+ const s = u[f];
25
+ if (!e.query.hasOwnProperty(s) || r.query[s] !== e.query[s])
26
+ return !1;
27
+ }
28
+ } else if (!e.hasOwnProperty(t) || r[t] !== e[t])
29
+ return !1;
30
+ }
31
+ return !0;
17
32
  }
18
- }(e), e);
33
+ }(o), o);
19
34
  }
20
35
  export {
21
- u as __require
36
+ p as __require
22
37
  };
package/dist/index132.mjs CHANGED
@@ -1,24 +1,30 @@
1
1
  'use client';
2
- import { __exports as r } from "./index205.mjs";
3
- var u;
4
- function m() {
5
- return u ? r : (u = 1, function(t) {
2
+ import { __exports as r } from "./index203.mjs";
3
+ import { __require as c } from "./index113.mjs";
4
+ import { __require as l } from "./index126.mjs";
5
+ var n;
6
+ function h() {
7
+ return n ? r : (n = 1, function(t) {
6
8
  Object.defineProperty(t, "__esModule", {
7
9
  value: !0
8
- }), Object.defineProperty(t, "omit", {
10
+ }), Object.defineProperty(t, "isLocalURL", {
9
11
  enumerable: !0,
10
12
  get: function() {
11
- return o;
13
+ return u;
12
14
  }
13
15
  });
14
- function o(i, f) {
15
- const n = {};
16
- return Object.keys(i).forEach((e) => {
17
- f.includes(e) || (n[e] = i[e]);
18
- }), n;
16
+ const i = c(), s = l();
17
+ function u(o) {
18
+ if (!(0, i.isAbsoluteUrl)(o)) return !0;
19
+ try {
20
+ const e = (0, i.getLocationOrigin)(), a = new URL(o, e);
21
+ return a.origin === e && (0, s.hasBasePath)(a.pathname);
22
+ } catch {
23
+ return !1;
24
+ }
19
25
  }
20
26
  }(r), r);
21
27
  }
22
28
  export {
23
- m as __require
29
+ h as __require
24
30
  };
package/dist/index133.mjs CHANGED
@@ -1,50 +1,22 @@
1
1
  'use client';
2
- import { __exports as u } from "./index206.mjs";
3
- import { __require as A } from "./index115.mjs";
4
- import { __require as x } from "./index116.mjs";
5
- var d;
6
- function v() {
7
- return d ? u : (d = 1, function(c) {
8
- Object.defineProperty(c, "__esModule", {
2
+ import { __exports as e } from "./index204.mjs";
3
+ var t;
4
+ function u() {
5
+ return t ? e : (t = 1, function(o) {
6
+ Object.defineProperty(o, "__esModule", {
9
7
  value: !0
10
- }), Object.defineProperty(c, "interpolateAs", {
8
+ }), Object.defineProperty(o, "isBot", {
11
9
  enumerable: !0,
12
10
  get: function() {
13
- return y;
11
+ return i;
14
12
  }
15
13
  });
16
- const m = A(), R = x();
17
- function y(o, s, g) {
18
- let t = "";
19
- const a = (0, R.getRouteRegex)(o), p = a.groups, l = (
20
- // Try to match the dynamic route against the asPath
21
- (s !== o ? (0, m.getRouteMatcher)(a)(s) : "") || // Fall back to reading the values from the href
22
- // TODO: should this take priority; also need to change in the router.
23
- g
24
- );
25
- t = o;
26
- const f = Object.keys(p);
27
- return f.every((r) => {
28
- let e = l[r] || "";
29
- const { repeat: n, optional: _ } = p[r];
30
- let i = "[" + (n ? "..." : "") + r + "]";
31
- return _ && (i = (e ? "" : "/") + "[" + i + "]"), n && !Array.isArray(e) && (e = [
32
- e
33
- ]), (_ || r in l) && // Interpolate group into data URL if present
34
- (t = t.replace(i, n ? e.map(
35
- // these values should be fully encoded instead of just
36
- // path delimiter escaped since they are being inserted
37
- // into the URL and we expect URL encoded segments
38
- // when parsing dynamic route params
39
- (q) => encodeURIComponent(q)
40
- ).join("/") : encodeURIComponent(e)) || "/");
41
- }) || (t = ""), {
42
- params: f,
43
- result: t
44
- };
14
+ const r = /Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i;
15
+ function i(n) {
16
+ return r.test(n);
45
17
  }
46
- }(u), u);
18
+ }(e), e);
47
19
  }
48
20
  export {
49
- v as __require
21
+ u as __require
50
22
  };
package/dist/index134.mjs CHANGED
@@ -1,26 +1,24 @@
1
1
  'use client';
2
- import { __exports as t } from "./index207.mjs";
3
- var n;
4
- function i() {
5
- return n ? t : (n = 1, function(o) {
6
- Object.defineProperty(o, "__esModule", {
2
+ import { __exports as r } from "./index205.mjs";
3
+ var u;
4
+ function m() {
5
+ return u ? r : (u = 1, function(t) {
6
+ Object.defineProperty(t, "__esModule", {
7
7
  value: !0
8
- }), Object.defineProperty(o, "handleSmoothScroll", {
8
+ }), Object.defineProperty(t, "omit", {
9
9
  enumerable: !0,
10
10
  get: function() {
11
- return c;
11
+ return o;
12
12
  }
13
13
  });
14
- function c(l, e) {
15
- if (e === void 0 && (e = {}), e.onlyHashChange) {
16
- l();
17
- return;
18
- }
19
- const r = document.documentElement, u = r.style.scrollBehavior;
20
- r.style.scrollBehavior = "auto", e.dontForceLayout || r.getClientRects(), l(), r.style.scrollBehavior = u;
14
+ function o(i, f) {
15
+ const n = {};
16
+ return Object.keys(i).forEach((e) => {
17
+ f.includes(e) || (n[e] = i[e]);
18
+ }), n;
21
19
  }
22
- }(t), t);
20
+ }(r), r);
23
21
  }
24
22
  export {
25
- i as __require
23
+ m as __require
26
24
  };