@instockng/storefront-ui 1.0.90 → 1.0.91

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