@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/index138.mjs CHANGED
@@ -1,5 +1,73 @@
1
1
  'use client';
2
- var e = {};
2
+ import { __exports as n } from "./index209.mjs";
3
+ import { __require as c } from "./index210.mjs";
4
+ var u;
5
+ function y() {
6
+ return u ? n : (u = 1, function(a) {
7
+ Object.defineProperty(a, "__esModule", {
8
+ value: !0
9
+ }), Object.defineProperty(a, "BloomFilter", {
10
+ enumerable: !0,
11
+ get: function() {
12
+ return i;
13
+ }
14
+ });
15
+ function l(o) {
16
+ let t = 0;
17
+ for (let e = 0; e < o.length; e++) {
18
+ const r = o.charCodeAt(e);
19
+ t = Math.imul(t ^ r, 1540483477), t ^= t >>> 13, t = Math.imul(t, 1540483477);
20
+ }
21
+ return t >>> 0;
22
+ }
23
+ const s = 1e-4;
24
+ class i {
25
+ static from(t, e) {
26
+ e === void 0 && (e = s);
27
+ const r = new i(t.length, e);
28
+ for (const h of t)
29
+ r.add(h);
30
+ return r;
31
+ }
32
+ export() {
33
+ const t = {
34
+ numItems: this.numItems,
35
+ errorRate: this.errorRate,
36
+ numBits: this.numBits,
37
+ numHashes: this.numHashes,
38
+ bitArray: this.bitArray
39
+ };
40
+ if (process.env.NEXT_RUNTIME === "nodejs" && this.errorRate < s) {
41
+ const e = JSON.stringify(t), r = c().sync(e);
42
+ r > 1024 && console.warn("Creating filter with error rate less than 0.1% (0.001) can increase the size dramatically proceed with caution. Received error rate " + this.errorRate + " resulted in size " + e.length + " bytes, " + r + " bytes (gzip)");
43
+ }
44
+ return t;
45
+ }
46
+ import(t) {
47
+ this.numItems = t.numItems, this.errorRate = t.errorRate, this.numBits = t.numBits, this.numHashes = t.numHashes, this.bitArray = t.bitArray;
48
+ }
49
+ add(t) {
50
+ this.getHashValues(t).forEach((r) => {
51
+ this.bitArray[r] = 1;
52
+ });
53
+ }
54
+ contains(t) {
55
+ return this.getHashValues(t).every((r) => this.bitArray[r]);
56
+ }
57
+ getHashValues(t) {
58
+ const e = [];
59
+ for (let r = 1; r <= this.numHashes; r++) {
60
+ const h = l("" + t + r) % this.numBits;
61
+ e.push(h);
62
+ }
63
+ return e;
64
+ }
65
+ constructor(t, e = s) {
66
+ this.numItems = t, this.errorRate = e, this.numBits = Math.ceil(-(t * Math.log(e)) / (Math.log(2) * Math.log(2))), this.numHashes = Math.ceil(this.numBits / t * Math.log(2)), this.bitArray = new Array(this.numBits).fill(0);
67
+ }
68
+ }
69
+ }(n), n);
70
+ }
3
71
  export {
4
- e as __exports
72
+ y as __require
5
73
  };
package/dist/index139.mjs CHANGED
@@ -1,5 +1,11 @@
1
1
  'use client';
2
- var r = {};
2
+ import { __module as e } from "./index211.mjs";
3
+ import { __require as o } from "./index212.mjs";
4
+ import { __require as t } from "./index213.mjs";
5
+ var r;
6
+ function p() {
7
+ return r ? e.exports : (r = 1, process.env.NODE_ENV === "production" ? e.exports = o() : e.exports = t(), e.exports);
8
+ }
3
9
  export {
4
- r as __exports
10
+ p as __require
5
11
  };
package/dist/index14.mjs CHANGED
@@ -1,101 +1,203 @@
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 "./index16.mjs";
6
- import { Badge as k } from "./index18.mjs";
7
- import { Tag as B, CheckCircle as b, X as E, AlertCircle as F } from "lucide-react";
8
- import { cn as p } from "./index22.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 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 "./index13.mjs";
6
+ import { DiscountCodeInput as G } from "./index15.mjs";
7
+ import { Checkout as J } from "./index16.mjs";
8
+ import { RecommendedProducts as K } from "./index11.mjs";
9
+ import { Button as j } from "./index17.mjs";
10
+ import { X as O, Loader2 as Q, Package as p } from "lucide-react";
11
+ import { cn as c, formatCurrency as d } from "./index23.mjs";
12
+ import { useHideBodyOverflow as S } from "./index45.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"
15
28
  }) {
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
- }
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();
37
41
  };
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"
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"
52
+ }
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" })
67
+ ] }),
68
+ /* @__PURE__ */ e(
69
+ "button",
70
+ {
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" })
75
+ }
76
+ )
77
+ ] }) }),
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",
89
+ {
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}%` }
95
+ }
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, {}) })
123
+ ] }),
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
+ ] })
174
+ ] })
175
+ ] })
176
+ ] })
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
+ ]
86
196
  }
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
- ] }) }) });
197
+ }
198
+ )
199
+ ] });
98
200
  }
99
201
  export {
100
- K as DiscountCodeInput
202
+ ne as ShoppingCart
101
203
  };
package/dist/index140.mjs CHANGED
@@ -1,36 +1,5 @@
1
1
  'use client';
2
- import { __exports as r } from "./index155.mjs";
3
- var c;
4
- function b() {
5
- return c ? r : (c = 1, function(n) {
6
- Object.defineProperty(n, "__esModule", {
7
- value: !0
8
- });
9
- function u(e, t) {
10
- for (var i in t) Object.defineProperty(e, i, {
11
- enumerable: !0,
12
- get: t[i]
13
- });
14
- }
15
- u(n, {
16
- getObjectClassLabel: function() {
17
- return o;
18
- },
19
- isPlainObject: function() {
20
- return s;
21
- }
22
- });
23
- function o(e) {
24
- return Object.prototype.toString.call(e);
25
- }
26
- function s(e) {
27
- if (o(e) !== "[object Object]")
28
- return !1;
29
- const t = Object.getPrototypeOf(e);
30
- return t === null || t.hasOwnProperty("isPrototypeOf");
31
- }
32
- }(r), r);
33
- }
2
+ var e = {};
34
3
  export {
35
- b as __require
4
+ e as __exports
36
5
  };
package/dist/index141.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- var e = { exports: {} };
2
+ var r = {};
3
3
  export {
4
- e as __module
4
+ r as __exports
5
5
  };
package/dist/index142.mjs CHANGED
@@ -1,5 +1,36 @@
1
1
  'use client';
2
- var o = { exports: {} };
2
+ import { __exports as r } from "./index214.mjs";
3
+ var c;
4
+ function b() {
5
+ return c ? r : (c = 1, function(n) {
6
+ Object.defineProperty(n, "__esModule", {
7
+ value: !0
8
+ });
9
+ function u(e, t) {
10
+ for (var i in t) Object.defineProperty(e, i, {
11
+ enumerable: !0,
12
+ get: t[i]
13
+ });
14
+ }
15
+ u(n, {
16
+ getObjectClassLabel: function() {
17
+ return o;
18
+ },
19
+ isPlainObject: function() {
20
+ return s;
21
+ }
22
+ });
23
+ function o(e) {
24
+ return Object.prototype.toString.call(e);
25
+ }
26
+ function s(e) {
27
+ if (o(e) !== "[object Object]")
28
+ return !1;
29
+ const t = Object.getPrototypeOf(e);
30
+ return t === null || t.hasOwnProperty("isPrototypeOf");
31
+ }
32
+ }(r), r);
33
+ }
3
34
  export {
4
- o as __module
35
+ b as __require
5
36
  };
package/dist/index143.mjs CHANGED
@@ -1,24 +1,5 @@
1
1
  'use client';
2
- import f from "./index84.mjs";
3
- import d from "./index214.mjs";
4
- function l(e) {
5
- return encodeURIComponent(e).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+");
6
- }
7
- function m(e, c, i) {
8
- if (!c)
9
- return e;
10
- const t = i && i.encode || l;
11
- f.isFunction(i) && (i = {
12
- serialize: i
13
- });
14
- const r = i && i.serialize;
15
- let n;
16
- if (r ? n = r(c, i) : n = f.isURLSearchParams(c) ? c.toString() : new d(c, i).toString(t), n) {
17
- const a = e.indexOf("#");
18
- a !== -1 && (e = e.slice(0, a)), e += (e.indexOf("?") === -1 ? "?" : "&") + n;
19
- }
20
- return e;
21
- }
2
+ var e = { exports: {} };
22
3
  export {
23
- m as default
4
+ e as __module
24
5
  };
package/dist/index144.mjs CHANGED
@@ -1,59 +1,24 @@
1
1
  'use client';
2
- import n from "./index84.mjs";
3
- class a {
4
- constructor() {
5
- this.handlers = [];
6
- }
7
- /**
8
- * Add a new interceptor to the stack
9
- *
10
- * @param {Function} fulfilled The function to handle `then` for a `Promise`
11
- * @param {Function} rejected The function to handle `reject` for a `Promise`
12
- *
13
- * @return {Number} An ID used to remove interceptor later
14
- */
15
- use(s, h, r) {
16
- return this.handlers.push({
17
- fulfilled: s,
18
- rejected: h,
19
- synchronous: r ? r.synchronous : !1,
20
- runWhen: r ? r.runWhen : null
21
- }), this.handlers.length - 1;
22
- }
23
- /**
24
- * Remove an interceptor from the stack
25
- *
26
- * @param {Number} id The ID that was returned by `use`
27
- *
28
- * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
29
- */
30
- eject(s) {
31
- this.handlers[s] && (this.handlers[s] = null);
32
- }
33
- /**
34
- * Clear all interceptors from the stack
35
- *
36
- * @returns {void}
37
- */
38
- clear() {
39
- this.handlers && (this.handlers = []);
40
- }
41
- /**
42
- * Iterate over all the registered interceptors
43
- *
44
- * This method is particularly useful for skipping over any
45
- * interceptors that may have become `null` calling `eject`.
46
- *
47
- * @param {Function} fn The function to call for each interceptor
48
- *
49
- * @returns {void}
50
- */
51
- forEach(s) {
52
- n.forEach(this.handlers, function(r) {
53
- r !== null && s(r);
54
- });
2
+ import f from "./index78.mjs";
3
+ import d from "./index215.mjs";
4
+ function l(e) {
5
+ return encodeURIComponent(e).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+");
6
+ }
7
+ function m(e, c, i) {
8
+ if (!c)
9
+ return e;
10
+ const t = i && i.encode || l;
11
+ f.isFunction(i) && (i = {
12
+ serialize: i
13
+ });
14
+ const r = i && i.serialize;
15
+ let n;
16
+ if (r ? n = r(c, i) : n = f.isURLSearchParams(c) ? c.toString() : new d(c, i).toString(t), n) {
17
+ const a = e.indexOf("#");
18
+ a !== -1 && (e = e.slice(0, a)), e += (e.indexOf("?") === -1 ? "?" : "&") + n;
55
19
  }
20
+ return e;
56
21
  }
57
22
  export {
58
- a as default
23
+ m as default
59
24
  };