@instockng/storefront-ui 1.0.31 → 1.0.33

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 (276) hide show
  1. package/dist/components/Checkout.d.ts.map +1 -1
  2. package/dist/contexts/CartContext.d.ts.map +1 -1
  3. package/dist/hooks/usePaystackPayment.d.ts +2 -1
  4. package/dist/hooks/usePaystackPayment.d.ts.map +1 -1
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.mjs +99 -96
  8. package/dist/index10.mjs +85 -162
  9. package/dist/index100.mjs +210 -17
  10. package/dist/index101.mjs +174 -17
  11. package/dist/index102.mjs +14 -25
  12. package/dist/index103.mjs +17 -150
  13. package/dist/index104.mjs +26 -13
  14. package/dist/index105.mjs +149 -24
  15. package/dist/index106.mjs +13 -77
  16. package/dist/index107.mjs +20 -27
  17. package/dist/index108.mjs +76 -137
  18. package/dist/index109.mjs +33 -50
  19. package/dist/index11.mjs +171 -94
  20. package/dist/index110.mjs +141 -19
  21. package/dist/index111.mjs +50 -22
  22. package/dist/index112.mjs +14 -14
  23. package/dist/index113.mjs +20 -18
  24. package/dist/index114.mjs +16 -14
  25. package/dist/index115.mjs +17 -14
  26. package/dist/index116.mjs +12 -12
  27. package/dist/index117.mjs +15 -58
  28. package/dist/index118.mjs +14 -11
  29. package/dist/index119.mjs +56 -30
  30. package/dist/index12.mjs +82 -658
  31. package/dist/index120.mjs +9 -15
  32. package/dist/index121.mjs +31 -26
  33. package/dist/index122.mjs +13 -16
  34. package/dist/index123.mjs +26 -11
  35. package/dist/index124.mjs +18 -12
  36. package/dist/index125.mjs +12 -40
  37. package/dist/index126.mjs +14 -16
  38. package/dist/index127.mjs +42 -263
  39. package/dist/index128.mjs +15 -62
  40. package/dist/index129.mjs +267 -7
  41. package/dist/index13.mjs +668 -53
  42. package/dist/index130.mjs +70 -2
  43. package/dist/index131.mjs +8 -2
  44. package/dist/index132.mjs +2 -33
  45. package/dist/index133.mjs +2 -2
  46. package/dist/index134.mjs +32 -20
  47. package/dist/index135.mjs +2 -56
  48. package/dist/index136.mjs +18 -26
  49. package/dist/index137.mjs +55 -6
  50. package/dist/index138.mjs +28 -51
  51. package/dist/index139.mjs +7 -6
  52. package/dist/index14.mjs +58 -60
  53. package/dist/index140.mjs +51 -11
  54. package/dist/index141.mjs +5 -6
  55. package/dist/index142.mjs +12 -28
  56. package/dist/index143.mjs +7 -2
  57. package/dist/index144.mjs +27 -69
  58. package/dist/index145.mjs +2 -167
  59. package/dist/index146.mjs +70 -2
  60. package/dist/index147.mjs +167 -2
  61. package/dist/index149.mjs +2 -2
  62. package/dist/index15.mjs +60 -22
  63. package/dist/index150.mjs +2 -18
  64. package/dist/index151.mjs +11 -25
  65. package/dist/index152.mjs +26 -32
  66. package/dist/index153.mjs +32 -12
  67. package/dist/index154.mjs +9 -9
  68. package/dist/index155.mjs +18 -2
  69. package/dist/index156.mjs +2 -20
  70. package/dist/index157.mjs +13 -39
  71. package/dist/index158.mjs +46 -2
  72. package/dist/index159.mjs +2 -30
  73. package/dist/index16.mjs +22 -113
  74. package/dist/index160.mjs +24 -12
  75. package/dist/index161.mjs +18 -2
  76. package/dist/index162.mjs +2 -2
  77. package/dist/index163.mjs +2 -2
  78. package/dist/index164.mjs +2 -2
  79. package/dist/index165.mjs +2 -72
  80. package/dist/index166.mjs +72 -2
  81. package/dist/index167.mjs +2 -53
  82. package/dist/index168.mjs +53 -2
  83. package/dist/index169.mjs +2 -36
  84. package/dist/index17.mjs +111 -38
  85. package/dist/index170.mjs +30 -146
  86. package/dist/index171.mjs +152 -2
  87. package/dist/index172.mjs +2 -2
  88. package/dist/index173.mjs +2 -19
  89. package/dist/index174.mjs +19 -2
  90. package/dist/index175.mjs +2 -2
  91. package/dist/index176.mjs +2 -26
  92. package/dist/index177.mjs +26 -2
  93. package/dist/index178.mjs +2 -2
  94. package/dist/index179.mjs +2 -24
  95. package/dist/index18.mjs +37 -37
  96. package/dist/index180.mjs +17 -16
  97. package/dist/index181.mjs +23 -2
  98. package/dist/index183.mjs +2 -2
  99. package/dist/index184.mjs +2 -23
  100. package/dist/index185.mjs +23 -2
  101. package/dist/index186.mjs +2 -23
  102. package/dist/index187.mjs +23 -2
  103. package/dist/index188.mjs +2 -2
  104. package/dist/index19.mjs +42 -55
  105. package/dist/index190.mjs +2 -23
  106. package/dist/index191.mjs +23 -2
  107. package/dist/index192.mjs +2 -23
  108. package/dist/index193.mjs +23 -2
  109. package/dist/index194.mjs +2 -2
  110. package/dist/index195.mjs +2 -2
  111. package/dist/index197.mjs +2 -2
  112. package/dist/index198.mjs +2 -2
  113. package/dist/index199.mjs +2 -2
  114. package/dist/index2.mjs +14 -13
  115. package/dist/index20.mjs +53 -30
  116. package/dist/index200.mjs +2 -2
  117. package/dist/index201.mjs +2 -127
  118. package/dist/index202.mjs +127 -2
  119. package/dist/index203.mjs +2 -74
  120. package/dist/index204.mjs +60 -60
  121. package/dist/index205.mjs +73 -30
  122. package/dist/index206.mjs +2 -11
  123. package/dist/index207.mjs +30 -3
  124. package/dist/index208.mjs +10 -3
  125. package/dist/index209.mjs +4 -13
  126. package/dist/index21.mjs +29 -6
  127. package/dist/index210.mjs +4 -7
  128. package/dist/index211.mjs +13 -12
  129. package/dist/index212.mjs +7 -5
  130. package/dist/index213.mjs +12 -33
  131. package/dist/index214.mjs +5 -31
  132. package/dist/index215.mjs +32 -27
  133. package/dist/index216.mjs +28 -58
  134. package/dist/index217.mjs +28 -2
  135. package/dist/index218.mjs +61 -2
  136. package/dist/index219.mjs +2 -2
  137. package/dist/index22.mjs +8 -21
  138. package/dist/index220.mjs +2 -2
  139. package/dist/index221.mjs +2 -2
  140. package/dist/index222.mjs +2 -2
  141. package/dist/index223.mjs +2 -2
  142. package/dist/index224.mjs +2 -244
  143. package/dist/index226.mjs +2 -33
  144. package/dist/index227.mjs +28 -56
  145. package/dist/index228.mjs +2 -25
  146. package/dist/index229.mjs +2 -2
  147. package/dist/index23.mjs +19 -30
  148. package/dist/index230.mjs +243 -36
  149. package/dist/index232.mjs +33 -2
  150. package/dist/index233.mjs +65 -2
  151. package/dist/index234.mjs +25 -2
  152. package/dist/index235.mjs +2 -2
  153. package/dist/index236.mjs +108 -2
  154. package/dist/index237.mjs +2 -2
  155. package/dist/index238.mjs +2 -108
  156. package/dist/index239.mjs +2 -2
  157. package/dist/index24.mjs +31 -18
  158. package/dist/index241.mjs +2 -2
  159. package/dist/index242.mjs +2 -2
  160. package/dist/index244.mjs +2 -2
  161. package/dist/index245.mjs +2 -4
  162. package/dist/index246.mjs +2 -2
  163. package/dist/index247.mjs +4 -2
  164. package/dist/index248.mjs +2 -2
  165. package/dist/index249.mjs +2 -18
  166. package/dist/index25.mjs +12 -85
  167. package/dist/index250.mjs +3 -47
  168. package/dist/index251.mjs +2 -2
  169. package/dist/index252.mjs +2 -2
  170. package/dist/index253.mjs +17 -2
  171. package/dist/index254.mjs +13 -2
  172. package/dist/index255.mjs +6 -91
  173. package/dist/index256.mjs +30 -2
  174. package/dist/index257.mjs +2 -2
  175. package/dist/index258.mjs +18 -3
  176. package/dist/index259.mjs +47 -2
  177. package/dist/index26.mjs +85 -12
  178. package/dist/index260.mjs +2 -2
  179. package/dist/index261.mjs +2 -17
  180. package/dist/index262.mjs +2 -13
  181. package/dist/index263.mjs +2 -6
  182. package/dist/index264.mjs +91 -30
  183. package/dist/index265.mjs +2 -2
  184. package/dist/index266.mjs +2 -2
  185. package/dist/index268.mjs +5 -0
  186. package/dist/index269.mjs +5 -0
  187. package/dist/index27.mjs +18 -9
  188. package/dist/index28.mjs +9 -9
  189. package/dist/index29.mjs +11 -101
  190. package/dist/index3.mjs +104 -103
  191. package/dist/index30.mjs +101 -20
  192. package/dist/index31.mjs +20 -65
  193. package/dist/index32.mjs +66 -96
  194. package/dist/index33.mjs +93 -16
  195. package/dist/index34.mjs +13 -13
  196. package/dist/index35.mjs +17 -9
  197. package/dist/index36.mjs +9 -9
  198. package/dist/index37.mjs +10 -122
  199. package/dist/index38.mjs +116 -18
  200. package/dist/index39.mjs +342 -1386
  201. package/dist/index4.mjs +1 -1
  202. package/dist/index40.mjs +25 -2
  203. package/dist/index41.mjs +1425 -49
  204. package/dist/index42.mjs +2 -51
  205. package/dist/index43.mjs +60 -33
  206. package/dist/index44.mjs +49 -13
  207. package/dist/index45.mjs +32 -2262
  208. package/dist/index46.mjs +15 -36
  209. package/dist/index47.mjs +2261 -42
  210. package/dist/index48.mjs +36 -99
  211. package/dist/index49.mjs +43 -96
  212. package/dist/index5.mjs +110 -15
  213. package/dist/index50.mjs +99 -81
  214. package/dist/index51.mjs +93 -57
  215. package/dist/index52.mjs +54 -68
  216. package/dist/index53.mjs +58 -62
  217. package/dist/index54.mjs +74 -58
  218. package/dist/index55.mjs +77 -15
  219. package/dist/index56.mjs +75 -14
  220. package/dist/index57.mjs +15 -59
  221. package/dist/index58.mjs +11 -118
  222. package/dist/index59.mjs +46 -112
  223. package/dist/index6.mjs +15 -195
  224. package/dist/index60.mjs +124 -23
  225. package/dist/index61.mjs +129 -2
  226. package/dist/index62.mjs +4 -22
  227. package/dist/index63.mjs +19 -149
  228. package/dist/index64.mjs +20 -71
  229. package/dist/index65.mjs +153 -15
  230. package/dist/index66.mjs +2 -63
  231. package/dist/index67.mjs +74 -4
  232. package/dist/index68.mjs +15 -2
  233. package/dist/index69.mjs +62 -5
  234. package/dist/index7.mjs +188 -101
  235. package/dist/index70.mjs +230 -1129
  236. package/dist/index71.mjs +5 -19
  237. package/dist/index72.mjs +127 -48
  238. package/dist/index73.mjs +67 -32
  239. package/dist/index74.mjs +87 -2
  240. package/dist/index75.mjs +29 -2
  241. package/dist/index76.mjs +9 -235
  242. package/dist/index77.mjs +74 -5
  243. package/dist/index78.mjs +3 -133
  244. package/dist/index79.mjs +2 -68
  245. package/dist/index8.mjs +103 -73
  246. package/dist/index80.mjs +79 -83
  247. package/dist/index81.mjs +52 -27
  248. package/dist/index82.mjs +5 -8
  249. package/dist/index83.mjs +4 -74
  250. package/dist/index84.mjs +178 -3
  251. package/dist/index85.mjs +53 -2
  252. package/dist/index86.mjs +68 -82
  253. package/dist/index87.mjs +2 -54
  254. package/dist/index88.mjs +5 -5
  255. package/dist/index89.mjs +1133 -4
  256. package/dist/index9.mjs +72 -90
  257. package/dist/index90.mjs +18 -177
  258. package/dist/index91.mjs +52 -50
  259. package/dist/index92.mjs +33 -69
  260. package/dist/index93.mjs +2 -34
  261. package/dist/index94.mjs +31 -40
  262. package/dist/index95.mjs +43 -2
  263. package/dist/index96.mjs +2 -28
  264. package/dist/index97.mjs +2 -18
  265. package/dist/index98.mjs +26 -213
  266. package/dist/index99.mjs +13 -175
  267. package/dist/providers/StorefrontProvider.d.ts.map +1 -1
  268. package/dist/providers/TikTokPixelProvider.d.ts +22 -0
  269. package/dist/providers/TikTokPixelProvider.d.ts.map +1 -0
  270. package/package.json +3 -2
  271. package/src/components/Checkout.tsx +1 -0
  272. package/src/contexts/CartContext.tsx +17 -6
  273. package/src/hooks/usePaystackPayment.ts +8 -1
  274. package/src/index.ts +5 -0
  275. package/src/providers/StorefrontProvider.tsx +11 -8
  276. package/src/providers/TikTokPixelProvider.tsx +226 -0
package/dist/index69.mjs CHANGED
@@ -1,9 +1,66 @@
1
1
  'use client';
2
- import { __exports as r } from "./index74.mjs";
3
- function t(e) {
4
- return e && e.__esModule ? e : { default: e };
2
+ import { getDefaultExportFromCjs as d } from "./index64.mjs";
3
+ import { __module as v } from "./index96.mjs";
4
+ v.exports = function(n) {
5
+ return g(m(n), n);
6
+ };
7
+ v.exports.array = g;
8
+ function g(n, r) {
9
+ var t = n.length, e = new Array(t), o = {}, u = t, c = y(r), f = E(n);
10
+ for (r.forEach(function(a) {
11
+ if (!f.has(a[0]) || !f.has(a[1]))
12
+ throw new Error("Unknown node. There is an unknown node in the supplied edges.");
13
+ }); u--; )
14
+ o[u] || l(n[u], u, /* @__PURE__ */ new Set());
15
+ return e;
16
+ function l(a, s, i) {
17
+ if (i.has(a)) {
18
+ var w;
19
+ try {
20
+ w = ", node was:" + JSON.stringify(a);
21
+ } catch {
22
+ w = "";
23
+ }
24
+ throw new Error("Cyclic dependency" + w);
25
+ }
26
+ if (!f.has(a))
27
+ throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: " + JSON.stringify(a));
28
+ if (!o[s]) {
29
+ o[s] = !0;
30
+ var h = c.get(a) || /* @__PURE__ */ new Set();
31
+ if (h = Array.from(h), s = h.length) {
32
+ i.add(a);
33
+ do {
34
+ var p = h[--s];
35
+ l(p, f.get(p), i);
36
+ } while (s);
37
+ i.delete(a);
38
+ }
39
+ e[--t] = a;
40
+ }
41
+ }
42
+ }
43
+ function m(n) {
44
+ for (var r = /* @__PURE__ */ new Set(), t = 0, e = n.length; t < e; t++) {
45
+ var o = n[t];
46
+ r.add(o[0]), r.add(o[1]);
47
+ }
48
+ return Array.from(r);
49
+ }
50
+ function y(n) {
51
+ for (var r = /* @__PURE__ */ new Map(), t = 0, e = n.length; t < e; t++) {
52
+ var o = n[t];
53
+ r.has(o[0]) || r.set(o[0], /* @__PURE__ */ new Set()), r.has(o[1]) || r.set(o[1], /* @__PURE__ */ new Set()), r.get(o[0]).add(o[1]);
54
+ }
55
+ return r;
56
+ }
57
+ function E(n) {
58
+ for (var r = /* @__PURE__ */ new Map(), t = 0, e = n.length; t < e; t++)
59
+ r.set(n[t], t);
60
+ return r;
5
61
  }
6
- r._ = t;
62
+ var k = v.exports;
63
+ const A = /* @__PURE__ */ d(k);
7
64
  export {
8
- r as default
65
+ A as default
9
66
  };
package/dist/index7.mjs CHANGED
@@ -1,113 +1,200 @@
1
1
  'use client';
2
- import { jsxs as s, jsx as t, Fragment as u } from "react/jsx-runtime";
3
- import { useState as f } from "react";
4
- import { Card as P, CardContent as S, CardFooter as j } from "./index14.mjs";
5
- import { Button as I } from "./index13.mjs";
6
- import { Badge as p } from "./index15.mjs";
7
- import { Package as O, ShoppingCart as q } from "lucide-react";
8
- import { cn as g, formatCurrency as h } from "./index19.mjs";
9
- function D({
10
- product: r,
11
- onAddToCart: o,
12
- showStock: b = !0,
13
- className: x,
14
- imageClassName: N,
15
- disableAddToCart: v = !1,
16
- isAddingToCart: n = !1,
17
- onClick: i
2
+ import { jsx as e, jsxs as r, Fragment as T } from "react/jsx-runtime";
3
+ import { useState as E } from "react";
4
+ import "./index21.mjs";
5
+ import "@tanstack/react-query";
6
+ import { useGetOrder as U, useConfirmOrder as M } from "./index34.mjs";
7
+ import { Card as s, CardHeader as m, CardTitle as o, CardContent as i } from "./index15.mjs";
8
+ import { Button as S } from "./index14.mjs";
9
+ import { Badge as y } from "./index16.mjs";
10
+ import { Loader2 as v, XCircle as _, Package as H, CheckCircle as L } from "lucide-react";
11
+ import { cn as l, formatDateTime as k, formatCurrency as c } from "./index20.mjs";
12
+ const b = "2348125648668", x = "0" + b.slice(3), W = `${x.slice(0, 4)} ${x.slice(4, 7)} ${x.slice(7)}`, $ = `https://wa.me/${b}`;
13
+ function X({
14
+ orderId: N,
15
+ token: f,
16
+ className: h,
17
+ headerClassName: w,
18
+ buttonClassName: P,
19
+ cardClassName: n,
20
+ whatsappHelpLink: A = $,
21
+ whatsappHelpNumber: C = W
18
22
  }) {
19
- var d;
20
- const [c, y] = f(
21
- ((d = r.variants[0]) == null ? void 0 : d.id) || ""
22
- ), [m, k] = f(1), a = r.variants.find((e) => e.id === c), C = r.variants.length > 1, l = a ? a.stock === void 0 || a.stock > 0 : !1, w = (e) => {
23
- e.stopPropagation(), a && o && o(a.id, m);
24
- };
25
- return /* @__PURE__ */ s(
26
- P,
27
- {
28
- className: g(
29
- "group overflow-hidden transition-all hover:shadow-lg",
30
- i && "cursor-pointer",
31
- x
23
+ var g;
24
+ const [p, j] = E(!1), { data: u, isLoading: D, error: O } = U(N, f, {
25
+ retry: !1
26
+ }), d = M({
27
+ onSuccess: (t) => {
28
+ j(!0);
29
+ },
30
+ onError: (t) => {
31
+ }
32
+ });
33
+ if (D)
34
+ return /* @__PURE__ */ e("div", { className: l("min-h-screen bg-gray-50 flex items-center justify-center", h), children: /* @__PURE__ */ r("div", { className: "text-center", children: [
35
+ /* @__PURE__ */ e(v, { className: "h-12 w-12 animate-spin text-blue-500 mx-auto mb-4" }),
36
+ /* @__PURE__ */ e("p", { className: "text-gray-600", children: "Loading order details..." })
37
+ ] }) });
38
+ if (O || !u || "error" in u)
39
+ return /* @__PURE__ */ e("div", { className: l("min-h-screen bg-gray-50 flex items-center justify-center p-4", h), children: /* @__PURE__ */ r(s, { className: l("max-w-md w-full", n), children: [
40
+ /* @__PURE__ */ e(m, { children: /* @__PURE__ */ r("div", { className: "flex items-center space-x-2", children: [
41
+ /* @__PURE__ */ e(_, { className: "h-6 w-6 text-red-500" }),
42
+ /* @__PURE__ */ e(o, { children: "Order Not Found" })
43
+ ] }) }),
44
+ /* @__PURE__ */ e(i, { children: /* @__PURE__ */ e("p", { className: "text-gray-600", children: "We couldn't find this order. The link may be invalid or expired. Please contact support if you need assistance." }) })
45
+ ] }) });
46
+ const a = u;
47
+ return /* @__PURE__ */ e("div", { className: l("min-h-screen bg-gray-50 py-8 px-4", h), children: /* @__PURE__ */ r("div", { className: "max-w-3xl mx-auto space-y-6", children: [
48
+ /* @__PURE__ */ r("div", { className: l("text-center", w), children: [
49
+ a.brand.logoUrl ? /* @__PURE__ */ e("div", { className: "inline-flex items-center justify-center w-24 h-16 mb-4", children: /* @__PURE__ */ e(
50
+ "img",
51
+ {
52
+ src: a.brand.logoUrl,
53
+ alt: `${a.brand.name} logo`,
54
+ className: "max-w-full max-h-full object-contain"
55
+ }
56
+ ) }) : /* @__PURE__ */ e("div", { className: "inline-flex items-center justify-center w-16 h-16 bg-blue-100 rounded-full mb-4", children: /* @__PURE__ */ e(H, { className: "h-8 w-8 text-blue-600" }) }),
57
+ /* @__PURE__ */ r("h1", { className: "text-3xl font-bold text-gray-900", children: [
58
+ "Order #",
59
+ a.orderNumber
60
+ ] }),
61
+ /* @__PURE__ */ e("p", { className: "text-gray-600 mt-2", children: a.brand.name })
62
+ ] }),
63
+ p && /* @__PURE__ */ e(s, { className: l("border-green-200 bg-green-50", n), children: /* @__PURE__ */ e(i, { className: "pt-6", children: /* @__PURE__ */ r("div", { className: "flex items-start space-x-3", children: [
64
+ /* @__PURE__ */ e(L, { className: "h-6 w-6 text-green-600 mt-0.5" }),
65
+ /* @__PURE__ */ r("div", { children: [
66
+ /* @__PURE__ */ e("h3", { className: "font-semibold text-green-900", children: "Order Confirmed!" }),
67
+ /* @__PURE__ */ e("p", { className: "text-green-700 mt-1", children: "Thank you for confirming your order. We will contact you soon to arrange delivery." })
68
+ ] })
69
+ ] }) }) }),
70
+ !p && a.confirmationMessage && /* @__PURE__ */ e(s, { className: l(a.canConfirm ? "border-orange-200 bg-orange-50" : "", n), children: /* @__PURE__ */ e(i, { className: "pt-6", children: /* @__PURE__ */ e("p", { className: a.canConfirm ? "text-orange-900" : "text-gray-700", children: a.confirmationMessage }) }) }),
71
+ a.canConfirm && !p && /* @__PURE__ */ e(s, { className: n, children: /* @__PURE__ */ r(i, { className: "pt-6", children: [
72
+ /* @__PURE__ */ e(
73
+ S,
74
+ {
75
+ onClick: () => d.mutate({ orderId: N, token: f }),
76
+ disabled: d.isPending,
77
+ className: l("w-full", P),
78
+ size: "lg",
79
+ children: d.isPending ? /* @__PURE__ */ r(T, { children: [
80
+ /* @__PURE__ */ e(v, { className: "mr-2 h-5 w-5 animate-spin" }),
81
+ "Confirming..."
82
+ ] }) : "Confirm Order"
83
+ }
32
84
  ),
33
- onClick: i,
34
- children: [
35
- /* @__PURE__ */ s("div", { className: "relative aspect-square overflow-hidden bg-gray-100", children: [
36
- r.imageUrl ? /* @__PURE__ */ t(
37
- "img",
38
- {
39
- src: r.imageUrl,
40
- alt: r.name,
41
- className: g(
42
- "h-full w-full object-cover transition-transform group-hover:scale-105",
43
- N
44
- )
45
- }
46
- ) : /* @__PURE__ */ t("div", { className: "flex h-full w-full items-center justify-center", children: /* @__PURE__ */ t(O, { className: "h-16 w-16 text-gray-400" }) }),
47
- !l && /* @__PURE__ */ t(p, { className: "absolute right-2 top-2 bg-red-600", children: "Out of Stock" }),
48
- b && l && (a == null ? void 0 : a.stock) !== void 0 && a.stock < 10 && /* @__PURE__ */ s(p, { className: "absolute right-2 top-2 bg-orange-600", children: [
49
- "Only ",
50
- a.stock,
51
- " left"
52
- ] })
85
+ d.isError && /* @__PURE__ */ e("p", { className: "text-red-600 text-sm mt-2 text-center", children: "Failed to confirm order. Please try again or contact support." })
86
+ ] }) }),
87
+ /* @__PURE__ */ r(s, { className: n, children: [
88
+ /* @__PURE__ */ e(m, { children: /* @__PURE__ */ e(o, { children: "Order Details" }) }),
89
+ /* @__PURE__ */ e(i, { className: "space-y-4", children: /* @__PURE__ */ r("div", { className: "grid grid-cols-2 gap-4", children: [
90
+ /* @__PURE__ */ r("div", { children: [
91
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: "Status" }),
92
+ /* @__PURE__ */ e(y, { className: "mt-1", children: a.status })
53
93
  ] }),
54
- /* @__PURE__ */ s(S, { className: "p-4", children: [
55
- /* @__PURE__ */ t("h3", { className: "mb-1 font-semibold line-clamp-2", children: r.name }),
56
- r.description && /* @__PURE__ */ t("p", { className: "mb-2 text-sm text-gray-600 line-clamp-2", children: r.description }),
57
- C && /* @__PURE__ */ s("div", { className: "mb-3", children: [
58
- /* @__PURE__ */ t("label", { className: "mb-1 block text-xs font-medium text-gray-700", children: "Select Option" }),
59
- /* @__PURE__ */ t(
60
- "select",
61
- {
62
- value: c,
63
- onChange: (e) => {
64
- e.stopPropagation(), y(e.target.value);
65
- },
66
- className: "w-full rounded-md border border-gray-300 px-2 py-1 text-sm focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500",
67
- onClick: (e) => e.stopPropagation(),
68
- children: r.variants.map((e) => /* @__PURE__ */ s("option", { value: e.id, children: [
69
- e.name,
70
- " - ",
71
- h(e.price)
72
- ] }, e.id))
73
- }
74
- )
94
+ /* @__PURE__ */ r("div", { children: [
95
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: "Order Date" }),
96
+ /* @__PURE__ */ e("p", { className: "font-medium", children: a.createdAt ? k(a.createdAt) : "N/A" })
97
+ ] }),
98
+ /* @__PURE__ */ r("div", { children: [
99
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: "Payment Method" }),
100
+ /* @__PURE__ */ e("p", { className: "font-medium", children: a.paymentMethod === "cod" ? "Cash on Delivery" : "Online Payment" })
101
+ ] }),
102
+ /* @__PURE__ */ r("div", { children: [
103
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: "Estimated Delivery" }),
104
+ /* @__PURE__ */ e("p", { className: "font-medium", children: a.estimatedDays ? `${a.estimatedDays} days` : "TBD" })
105
+ ] })
106
+ ] }) })
107
+ ] }),
108
+ /* @__PURE__ */ r(s, { className: n, children: [
109
+ /* @__PURE__ */ e(m, { children: /* @__PURE__ */ e(o, { children: "Delivery Information" }) }),
110
+ /* @__PURE__ */ r(i, { className: "space-y-3", children: [
111
+ /* @__PURE__ */ r("div", { children: [
112
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: "Customer" }),
113
+ /* @__PURE__ */ r("p", { className: "font-medium", children: [
114
+ a.firstName,
115
+ " ",
116
+ a.lastName
117
+ ] }),
118
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: a.phone })
119
+ ] }),
120
+ /* @__PURE__ */ r("div", { children: [
121
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: "Address" }),
122
+ /* @__PURE__ */ e("p", { className: "font-medium", children: a.address }),
123
+ /* @__PURE__ */ r("p", { className: "text-sm text-gray-600", children: [
124
+ a.city,
125
+ ", ",
126
+ a.deliveryZone.state.name
75
127
  ] }),
76
- /* @__PURE__ */ t("div", { className: "mb-3 text-2xl font-bold text-blue-600", children: a && h(a.price) }),
77
- /* @__PURE__ */ s("div", { className: "flex items-center gap-2", children: [
78
- /* @__PURE__ */ t("label", { className: "text-xs font-medium text-gray-700", children: "Qty:" }),
79
- /* @__PURE__ */ t(
80
- "input",
128
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: a.deliveryZone.name })
129
+ ] })
130
+ ] })
131
+ ] }),
132
+ /* @__PURE__ */ r(s, { className: n, children: [
133
+ /* @__PURE__ */ e(m, { children: /* @__PURE__ */ e(o, { children: "Items" }) }),
134
+ /* @__PURE__ */ r(i, { children: [
135
+ /* @__PURE__ */ e("div", { className: "space-y-4", children: (g = a.items) == null ? void 0 : g.map((t) => /* @__PURE__ */ r("div", { className: "flex items-start justify-between border-b pb-4 last:border-0", children: [
136
+ /* @__PURE__ */ r("div", { className: "flex items-start space-x-4 flex-1", children: [
137
+ (t.variant.thumbnailUrl || t.variant.product.thumbnailUrl) && /* @__PURE__ */ e(
138
+ "img",
81
139
  {
82
- type: "number",
83
- min: "1",
84
- max: (a == null ? void 0 : a.stock) || 999,
85
- value: m,
86
- onChange: (e) => {
87
- e.stopPropagation(), k(Math.max(1, parseInt(e.target.value) || 1));
88
- },
89
- onClick: (e) => e.stopPropagation(),
90
- className: "w-20 rounded-md border border-gray-300 px-2 py-1 text-sm focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500"
140
+ src: t.variant.thumbnailUrl || t.variant.product.thumbnailUrl || void 0,
141
+ alt: t.variant.product.name,
142
+ className: "w-16 h-16 object-cover rounded"
91
143
  }
92
- )
144
+ ),
145
+ /* @__PURE__ */ r("div", { className: "flex-1", children: [
146
+ /* @__PURE__ */ e("p", { className: "font-medium", children: t.variant.product.name }),
147
+ t.variant.name && /* @__PURE__ */ e(y, { variant: "outline", className: "mt-1", children: t.variant.name }),
148
+ /* @__PURE__ */ r("p", { className: "text-sm text-gray-600 mt-1", children: [
149
+ "Quantity: ",
150
+ t.quantity
151
+ ] }),
152
+ /* @__PURE__ */ r("p", { className: "text-sm text-gray-600", children: [
153
+ "SKU: ",
154
+ t.variant.sku
155
+ ] })
156
+ ] })
157
+ ] }),
158
+ /* @__PURE__ */ r("div", { className: "text-right", children: [
159
+ /* @__PURE__ */ e("p", { className: "font-medium", children: c(t.priceAtPurchase * t.quantity) }),
160
+ /* @__PURE__ */ r("p", { className: "text-sm text-gray-600", children: [
161
+ c(t.priceAtPurchase),
162
+ " each"
163
+ ] })
93
164
  ] })
94
- ] }),
95
- /* @__PURE__ */ t(j, { className: "p-4 pt-0", children: /* @__PURE__ */ t(
96
- I,
97
- {
98
- onClick: w,
99
- disabled: v || !l || n,
100
- className: "w-full",
101
- children: n ? /* @__PURE__ */ t(u, { children: "Adding..." }) : /* @__PURE__ */ s(u, { children: [
102
- /* @__PURE__ */ t(q, { className: "mr-2 h-4 w-4" }),
103
- "Add to Cart"
165
+ ] }, t.id)) }),
166
+ /* @__PURE__ */ r("div", { className: "mt-6 border-t pt-4 space-y-2", children: [
167
+ /* @__PURE__ */ r("div", { className: "flex justify-between text-sm", children: [
168
+ /* @__PURE__ */ e("span", { className: "text-gray-600", children: "Subtotal" }),
169
+ /* @__PURE__ */ e("span", { className: "font-medium", children: c(a.subtotal) })
170
+ ] }),
171
+ a.discountAmount && a.discountAmount > 0 && /* @__PURE__ */ r("div", { className: "flex justify-between text-sm text-green-600", children: [
172
+ /* @__PURE__ */ e("span", { children: "Discount" }),
173
+ /* @__PURE__ */ r("span", { children: [
174
+ "-",
175
+ c(a.discountAmount)
104
176
  ] })
105
- }
106
- ) })
107
- ]
108
- }
109
- );
177
+ ] }),
178
+ /* @__PURE__ */ r("div", { className: "flex justify-between text-sm", children: [
179
+ /* @__PURE__ */ e("span", { className: "text-gray-600", children: "Delivery Charge" }),
180
+ /* @__PURE__ */ e("span", { className: "font-medium", children: c(a.deliveryCharge) })
181
+ ] }),
182
+ /* @__PURE__ */ r("div", { className: "flex justify-between text-lg font-bold border-t pt-2", children: [
183
+ /* @__PURE__ */ e("span", { children: "Total" }),
184
+ /* @__PURE__ */ e("span", { children: c(a.totalPrice) })
185
+ ] })
186
+ ] })
187
+ ] })
188
+ ] }),
189
+ /* @__PURE__ */ e(s, { className: n, children: /* @__PURE__ */ e(i, { className: "pt-6", children: /* @__PURE__ */ r("p", { className: "text-sm text-gray-600 text-center", children: [
190
+ "Need help with your order? Call us on ",
191
+ C,
192
+ " or contact us on",
193
+ " ",
194
+ /* @__PURE__ */ e("a", { href: A, target: "_blank", rel: "noopener noreferrer", className: "text-blue-600 hover:underline", children: "WhatsApp" })
195
+ ] }) }) })
196
+ ] }) });
110
197
  }
111
198
  export {
112
- D as ProductCard
199
+ X as OrderConfirmation
113
200
  };