@instockng/storefront-ui 1.0.37 → 1.0.38

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 (251) hide show
  1. package/dist/components/RecommendedProducts.d.ts +8 -0
  2. package/dist/components/RecommendedProducts.d.ts.map +1 -0
  3. package/dist/components/ShoppingCart.d.ts.map +1 -1
  4. package/dist/contexts/CartContext.d.ts.map +1 -1
  5. package/dist/index.mjs +72 -70
  6. package/dist/index100.mjs +26 -16
  7. package/dist/index101.mjs +13 -210
  8. package/dist/index102.mjs +194 -159
  9. package/dist/index103.mjs +175 -17
  10. package/dist/index104.mjs +14 -15
  11. package/dist/index105.mjs +15 -25
  12. package/dist/index106.mjs +27 -150
  13. package/dist/index107.mjs +151 -15
  14. package/dist/index108.mjs +13 -24
  15. package/dist/index109.mjs +22 -75
  16. package/dist/index11.mjs +28 -26
  17. package/dist/index110.mjs +76 -30
  18. package/dist/index111.mjs +32 -139
  19. package/dist/index112.mjs +135 -45
  20. package/dist/index113.mjs +51 -19
  21. package/dist/index114.mjs +15 -19
  22. package/dist/index115.mjs +21 -17
  23. package/dist/index116.mjs +16 -18
  24. package/dist/index117.mjs +17 -13
  25. package/dist/index118.mjs +13 -14
  26. package/dist/index119.mjs +13 -12
  27. package/dist/index120.mjs +14 -58
  28. package/dist/index121.mjs +57 -10
  29. package/dist/index122.mjs +11 -32
  30. package/dist/index123.mjs +32 -17
  31. package/dist/index124.mjs +17 -27
  32. package/dist/index125.mjs +26 -19
  33. package/dist/index126.mjs +20 -12
  34. package/dist/index127.mjs +12 -14
  35. package/dist/index128.mjs +14 -40
  36. package/dist/index129.mjs +40 -16
  37. package/dist/index13.mjs +3 -3
  38. package/dist/index130.mjs +15 -260
  39. package/dist/index131.mjs +262 -64
  40. package/dist/index132.mjs +69 -7
  41. package/dist/index133.mjs +8 -2
  42. package/dist/index134.mjs +2 -2
  43. package/dist/index135.mjs +2 -33
  44. package/dist/index136.mjs +33 -2
  45. package/dist/index137.mjs +2 -21
  46. package/dist/index138.mjs +19 -54
  47. package/dist/index139.mjs +55 -28
  48. package/dist/index14.mjs +2 -2
  49. package/dist/index140.mjs +28 -6
  50. package/dist/index141.mjs +6 -51
  51. package/dist/index142.mjs +51 -5
  52. package/dist/index143.mjs +6 -12
  53. package/dist/index144.mjs +12 -7
  54. package/dist/index145.mjs +6 -27
  55. package/dist/index146.mjs +28 -2
  56. package/dist/index147.mjs +2 -70
  57. package/dist/index148.mjs +67 -164
  58. package/dist/index149.mjs +167 -2
  59. package/dist/index151.mjs +2 -2
  60. package/dist/index152.mjs +2 -18
  61. package/dist/index153.mjs +11 -25
  62. package/dist/index154.mjs +26 -32
  63. package/dist/index155.mjs +32 -12
  64. package/dist/index156.mjs +8 -8
  65. package/dist/index157.mjs +18 -2
  66. package/dist/index158.mjs +2 -20
  67. package/dist/index159.mjs +13 -39
  68. package/dist/index16.mjs +1 -1
  69. package/dist/index160.mjs +46 -2
  70. package/dist/index161.mjs +2 -30
  71. package/dist/index162.mjs +24 -12
  72. package/dist/index163.mjs +18 -2
  73. package/dist/index164.mjs +2 -2
  74. package/dist/index165.mjs +2 -2
  75. package/dist/index166.mjs +2 -2
  76. package/dist/index167.mjs +2 -72
  77. package/dist/index168.mjs +72 -2
  78. package/dist/index169.mjs +2 -53
  79. package/dist/index17.mjs +1 -1
  80. package/dist/index170.mjs +53 -2
  81. package/dist/index171.mjs +2 -36
  82. package/dist/index172.mjs +30 -146
  83. package/dist/index173.mjs +152 -2
  84. package/dist/index174.mjs +2 -2
  85. package/dist/index175.mjs +2 -19
  86. package/dist/index176.mjs +19 -2
  87. package/dist/index177.mjs +2 -2
  88. package/dist/index178.mjs +2 -26
  89. package/dist/index179.mjs +26 -2
  90. package/dist/index180.mjs +2 -2
  91. package/dist/index181.mjs +2 -24
  92. package/dist/index182.mjs +17 -16
  93. package/dist/index183.mjs +23 -2
  94. package/dist/index185.mjs +2 -2
  95. package/dist/index186.mjs +2 -23
  96. package/dist/index187.mjs +23 -2
  97. package/dist/index188.mjs +2 -23
  98. package/dist/index189.mjs +23 -2
  99. package/dist/index190.mjs +2 -2
  100. package/dist/index192.mjs +2 -23
  101. package/dist/index193.mjs +23 -2
  102. package/dist/index194.mjs +2 -23
  103. package/dist/index195.mjs +23 -2
  104. package/dist/index196.mjs +2 -2
  105. package/dist/index197.mjs +2 -2
  106. package/dist/index199.mjs +2 -2
  107. package/dist/index20.mjs +2 -2
  108. package/dist/index200.mjs +2 -2
  109. package/dist/index201.mjs +2 -2
  110. package/dist/index202.mjs +2 -2
  111. package/dist/index203.mjs +2 -127
  112. package/dist/index204.mjs +127 -2
  113. package/dist/index205.mjs +2 -74
  114. package/dist/index206.mjs +60 -60
  115. package/dist/index207.mjs +74 -2
  116. package/dist/index208.mjs +2 -31
  117. package/dist/index209.mjs +13 -11
  118. package/dist/index210.mjs +7 -4
  119. package/dist/index211.mjs +30 -3
  120. package/dist/index212.mjs +11 -13
  121. package/dist/index213.mjs +4 -7
  122. package/dist/index214.mjs +3 -11
  123. package/dist/index215.mjs +11 -4
  124. package/dist/index216.mjs +5 -33
  125. package/dist/index217.mjs +33 -31
  126. package/dist/index218.mjs +29 -26
  127. package/dist/index219.mjs +26 -59
  128. package/dist/index220.mjs +61 -2
  129. package/dist/index221.mjs +2 -2
  130. package/dist/index223.mjs +2 -2
  131. package/dist/index226.mjs +2 -2
  132. package/dist/index227.mjs +2 -2
  133. package/dist/index228.mjs +2 -108
  134. package/dist/index229.mjs +108 -2
  135. package/dist/index23.mjs +2 -2
  136. package/dist/index230.mjs +2 -2
  137. package/dist/index231.mjs +2 -37
  138. package/dist/index232.mjs +37 -2
  139. package/dist/index233.mjs +2 -244
  140. package/dist/index234.mjs +2 -2
  141. package/dist/index235.mjs +243 -32
  142. package/dist/index236.mjs +2 -65
  143. package/dist/index237.mjs +24 -16
  144. package/dist/index238.mjs +65 -2
  145. package/dist/index239.mjs +25 -2
  146. package/dist/index24.mjs +1 -1
  147. package/dist/index241.mjs +2 -2
  148. package/dist/index242.mjs +2 -2
  149. package/dist/index245.mjs +2 -2
  150. package/dist/index246.mjs +2 -2
  151. package/dist/index247.mjs +2 -2
  152. package/dist/index248.mjs +2 -4
  153. package/dist/index249.mjs +2 -2
  154. package/dist/index250.mjs +2 -2
  155. package/dist/index251.mjs +4 -2
  156. package/dist/index252.mjs +3 -2
  157. package/dist/index253.mjs +2 -18
  158. package/dist/index254.mjs +2 -47
  159. package/dist/index255.mjs +17 -2
  160. package/dist/index256.mjs +13 -2
  161. package/dist/index257.mjs +6 -2
  162. package/dist/index258.mjs +30 -2
  163. package/dist/index259.mjs +2 -91
  164. package/dist/index26.mjs +50 -39
  165. package/dist/index260.mjs +2 -2
  166. package/dist/index261.mjs +18 -3
  167. package/dist/index262.mjs +47 -2
  168. package/dist/index263.mjs +2 -2
  169. package/dist/index264.mjs +2 -17
  170. package/dist/index265.mjs +2 -13
  171. package/dist/index266.mjs +2 -6
  172. package/dist/index267.mjs +91 -30
  173. package/dist/index268.mjs +2 -2
  174. package/dist/index270.mjs +2 -2
  175. package/dist/index271.mjs +5 -0
  176. package/dist/index3.mjs +36 -28
  177. package/dist/index30.mjs +6 -5
  178. package/dist/index31.mjs +16 -15
  179. package/dist/index32.mjs +11 -11
  180. package/dist/index33.mjs +54 -45
  181. package/dist/index34.mjs +1 -1
  182. package/dist/index35.mjs +1 -1
  183. package/dist/index36.mjs +1 -1
  184. package/dist/index37.mjs +1 -1
  185. package/dist/index38.mjs +2 -2
  186. package/dist/index40.mjs +2 -2
  187. package/dist/index41.mjs +94 -6
  188. package/dist/index42.mjs +6 -1432
  189. package/dist/index43.mjs +1433 -2
  190. package/dist/index44.mjs +2 -60
  191. package/dist/index45.mjs +57 -48
  192. package/dist/index46.mjs +51 -33
  193. package/dist/index47.mjs +33 -15
  194. package/dist/index48.mjs +12 -2260
  195. package/dist/index49.mjs +2263 -36
  196. package/dist/index50.mjs +36 -44
  197. package/dist/index51.mjs +44 -99
  198. package/dist/index52.mjs +99 -113
  199. package/dist/index53.mjs +82 -50
  200. package/dist/index54.mjs +55 -51
  201. package/dist/index55.mjs +46 -64
  202. package/dist/index56.mjs +71 -57
  203. package/dist/index57.mjs +57 -55
  204. package/dist/index58.mjs +75 -15
  205. package/dist/index59.mjs +13 -12
  206. package/dist/index60.mjs +16 -59
  207. package/dist/index61.mjs +43 -105
  208. package/dist/index62.mjs +89 -93
  209. package/dist/index63.mjs +128 -23
  210. package/dist/index64.mjs +5 -2
  211. package/dist/index65.mjs +21 -150
  212. package/dist/index66.mjs +2 -23
  213. package/dist/index67.mjs +149 -71
  214. package/dist/index68.mjs +23 -15
  215. package/dist/index69.mjs +68 -56
  216. package/dist/index70.mjs +15 -5
  217. package/dist/index71.mjs +63 -2
  218. package/dist/index72.mjs +234 -5
  219. package/dist/index73.mjs +5 -1133
  220. package/dist/index74.mjs +131 -17
  221. package/dist/index75.mjs +67 -54
  222. package/dist/index76.mjs +84 -30
  223. package/dist/index77.mjs +29 -2
  224. package/dist/index78.mjs +9 -235
  225. package/dist/index79.mjs +74 -5
  226. package/dist/index80.mjs +3 -133
  227. package/dist/index81.mjs +2 -68
  228. package/dist/index82.mjs +79 -83
  229. package/dist/index83.mjs +52 -27
  230. package/dist/index84.mjs +5 -8
  231. package/dist/index85.mjs +4 -74
  232. package/dist/index86.mjs +178 -3
  233. package/dist/index87.mjs +53 -2
  234. package/dist/index88.mjs +68 -82
  235. package/dist/index89.mjs +2 -54
  236. package/dist/index90.mjs +5 -5
  237. package/dist/index91.mjs +1133 -4
  238. package/dist/index92.mjs +18 -177
  239. package/dist/index93.mjs +52 -50
  240. package/dist/index94.mjs +33 -69
  241. package/dist/index95.mjs +2 -34
  242. package/dist/index96.mjs +31 -40
  243. package/dist/index97.mjs +43 -2
  244. package/dist/index98.mjs +2 -2
  245. package/dist/index99.mjs +2 -28
  246. package/dist/styles.css +1 -1
  247. package/package.json +2 -2
  248. package/src/components/RecommendedProducts.stories.tsx +115 -0
  249. package/src/components/RecommendedProducts.tsx +177 -0
  250. package/src/components/ShoppingCart.tsx +8 -6
  251. package/src/contexts/CartContext.tsx +11 -2
package/dist/index33.mjs CHANGED
@@ -1,99 +1,108 @@
1
1
  'use client';
2
- import { useQueryClient as s, useMutation as i } from "@tanstack/react-query";
3
- import { useQueryUnwrapped as c } from "./index70.mjs";
4
- import { queryKeys as r } from "./index30.mjs";
5
- import { updateCart as a, createCart as l, applyDiscount as y, removeDiscount as m, addCartItem as p, updateCartItem as C, removeCartItem as q, checkoutCart as f, fetchCart as d } from "./index26.mjs";
6
- function Q(e, t) {
2
+ import { useQueryClient as s, useMutation as r } from "@tanstack/react-query";
3
+ import { useQueryUnwrapped as c } from "./index64.mjs";
4
+ import { queryKeys as i } from "./index30.mjs";
5
+ import { updateCart as a, createCart as l, applyDiscount as m, removeDiscount as y, addCartItem as p, updateCartItem as C, removeCartItem as q, checkoutCart as f, fetchCart as d, fetchCartRecommendations as b } from "./index26.mjs";
6
+ function S(e, t) {
7
7
  return c({
8
- queryKey: r.public.carts.detail(e),
8
+ queryKey: i.public.carts.detail(e),
9
9
  queryFn: () => d(e),
10
10
  ...t
11
11
  });
12
12
  }
13
- function S(e, t) {
14
- const n = s();
15
- return i({
16
- mutationFn: (u) => a(e, u),
13
+ function h(e, t) {
14
+ const u = s();
15
+ return r({
16
+ mutationFn: (n) => a(e, n),
17
17
  onSuccess: () => {
18
- n.invalidateQueries({ queryKey: r.public.carts.detail(e) });
18
+ u.invalidateQueries({ queryKey: i.public.carts.detail(e) });
19
19
  },
20
20
  ...t
21
21
  });
22
22
  }
23
- function D(e) {
24
- return i({
23
+ function R(e) {
24
+ return r({
25
25
  mutationFn: (t) => l(t),
26
26
  ...e
27
27
  });
28
28
  }
29
- function h(e, t) {
30
- const n = s();
31
- return i({
32
- mutationFn: (u) => y(e, u.code),
29
+ function D(e, t) {
30
+ const u = s();
31
+ return r({
32
+ mutationFn: (n) => m(e, n.code),
33
33
  onSuccess: () => {
34
- n.invalidateQueries({ queryKey: r.public.carts.detail(e) });
34
+ u.invalidateQueries({ queryKey: i.public.carts.detail(e) });
35
35
  },
36
36
  ...t
37
37
  });
38
38
  }
39
39
  function k(e, t) {
40
- const n = s();
41
- return i({
42
- mutationFn: () => m(e),
40
+ const u = s();
41
+ return r({
42
+ mutationFn: () => y(e),
43
43
  onSuccess: () => {
44
- n.invalidateQueries({ queryKey: r.public.carts.detail(e) });
44
+ u.invalidateQueries({ queryKey: i.public.carts.detail(e) });
45
45
  },
46
46
  ...t
47
47
  });
48
48
  }
49
49
  function U(e, t) {
50
- const n = s();
51
- return i({
52
- mutationFn: (u) => p(e, u.sku, u.quantity, u.fbc, u.fbp, u.ttp, u.ttclid),
53
- onSuccess: () => {
54
- n.invalidateQueries({ queryKey: r.public.carts.detail(e) });
50
+ const u = s();
51
+ return r({
52
+ mutationFn: (n) => p(e, n.sku, n.quantity, n.fbc, n.fbp, n.ttp, n.ttclid),
53
+ onSuccess: (n, o) => {
54
+ u.invalidateQueries({ queryKey: i.public.carts.detail(e) }), o.refreshRecommendations && u.invalidateQueries({ queryKey: i.public.carts.recommendations(e) });
55
55
  },
56
56
  ...t
57
57
  });
58
58
  }
59
59
  function A(e, t) {
60
- const n = s();
61
- return i({
62
- mutationFn: ({ itemId: u, quantity: o }) => C(e, u, o),
60
+ const u = s();
61
+ return r({
62
+ mutationFn: ({ itemId: n, quantity: o }) => C(e, n, o),
63
63
  onSuccess: () => {
64
- n.invalidateQueries({ queryKey: r.public.carts.detail(e) });
64
+ u.invalidateQueries({ queryKey: i.public.carts.detail(e) });
65
65
  },
66
66
  ...t
67
67
  });
68
68
  }
69
- function R(e, t) {
70
- const n = s();
71
- return i({
72
- mutationFn: (u) => q(e, u),
69
+ function G(e, t) {
70
+ const u = s();
71
+ return r({
72
+ mutationFn: (n) => q(e, n),
73
73
  onSuccess: () => {
74
- n.invalidateQueries({ queryKey: r.public.carts.detail(e) });
74
+ u.invalidateQueries({ queryKey: i.public.carts.detail(e) }), u.invalidateQueries({ queryKey: i.public.carts.recommendations(e) });
75
75
  },
76
76
  ...t
77
77
  });
78
78
  }
79
79
  function w(e, t) {
80
- const n = s();
81
- return i({
82
- mutationFn: (u) => f(e, u),
80
+ const u = s();
81
+ return r({
82
+ mutationFn: (n) => f(e, n),
83
83
  onSuccess: () => {
84
- n.invalidateQueries({ queryKey: r.public.carts.detail(e) });
84
+ u.invalidateQueries({ queryKey: i.public.carts.detail(e) });
85
85
  },
86
86
  ...t
87
87
  });
88
88
  }
89
+ function x(e, t, u) {
90
+ return c({
91
+ queryKey: e ? i.public.carts.recommendations(e, t) : ["public", "carts", "recommendations"],
92
+ queryFn: () => b(e, t),
93
+ enabled: !!e,
94
+ ...u
95
+ });
96
+ }
89
97
  export {
90
98
  U as useAddCartItem,
91
- h as useApplyDiscount,
99
+ D as useApplyDiscount,
92
100
  w as useCheckoutCart,
93
- D as useCreateCart,
94
- Q as useGetCart,
95
- R as useRemoveCartItem,
101
+ R as useCreateCart,
102
+ S as useGetCart,
103
+ x as useGetCartRecommendations,
104
+ G as useRemoveCartItem,
96
105
  k as useRemoveDiscount,
97
- S as useUpdateCart,
106
+ h as useUpdateCart,
98
107
  A as useUpdateCartItem
99
108
  };
package/dist/index34.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { useMutation as t } from "@tanstack/react-query";
3
- import { useQueryUnwrapped as u } from "./index70.mjs";
3
+ import { useQueryUnwrapped as u } from "./index64.mjs";
4
4
  import { queryKeys as n } from "./index30.mjs";
5
5
  import { confirmOrder as i, fetchOrder as m } from "./index27.mjs";
6
6
  function y(e, r, o) {
package/dist/index35.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { useQueryUnwrapped as u } from "./index70.mjs";
2
+ import { useQueryUnwrapped as u } from "./index64.mjs";
3
3
  import { queryKeys as t } from "./index30.mjs";
4
4
  import { fetchProductsByBrand as o, fetchProductBySlug as c } from "./index25.mjs";
5
5
  function n(r, e) {
package/dist/index36.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { useQueryUnwrapped as o } from "./index70.mjs";
2
+ import { useQueryUnwrapped as o } from "./index64.mjs";
3
3
  import { queryKeys as i } from "./index30.mjs";
4
4
  import { fetchDeliveryZones as t } from "./index28.mjs";
5
5
  function p(e, r) {
package/dist/index37.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { useQueryUnwrapped as t } from "./index70.mjs";
2
+ import { useQueryUnwrapped as t } from "./index64.mjs";
3
3
  import { queryKeys as u } from "./index30.mjs";
4
4
  import { fetchBrandBySlug as n } from "./index29.mjs";
5
5
  function i(r, e) {
package/dist/index38.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import { getDefaultExportFromCjs as x } from "./index63.mjs";
3
- import { __module as q } from "./index64.mjs";
2
+ import { getDefaultExportFromCjs as x } from "./index65.mjs";
3
+ import { __module as q } from "./index66.mjs";
4
4
  function S(b, p) {
5
5
  for (var s = 0; s < p.length; s++) {
6
6
  const c = p[s];
package/dist/index40.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import { getDefaultExportFromCjs as n } from "./index63.mjs";
3
- import { __require as i } from "./index65.mjs";
2
+ import { getDefaultExportFromCjs as n } from "./index65.mjs";
3
+ import { __require as i } from "./index67.mjs";
4
4
  function s(t, a) {
5
5
  for (var o = 0; o < a.length; o++) {
6
6
  const e = a[o];
package/dist/index41.mjs CHANGED
@@ -1,10 +1,98 @@
1
1
  'use client';
2
- import { useEffect as o } from "react";
3
- function f(e) {
4
- o(() => (e ? document.body.style.overflow = "hidden" : document.body.style.overflow = "", () => {
5
- document.body.style.overflow = "";
6
- }), [e]);
2
+ import { jsx as s, jsxs as t, Fragment as h } from "react/jsx-runtime";
3
+ import "./index21.mjs";
4
+ import { useGetCartRecommendations as j } from "./index33.mjs";
5
+ import "@tanstack/react-query";
6
+ import { useCart as A } from "./index3.mjs";
7
+ import { cn as f, formatCurrency as F } from "./index20.mjs";
8
+ import { Button as H } from "./index14.mjs";
9
+ import { Loader2 as g, Package as R, ShoppingCart as T } from "lucide-react";
10
+ import { useState as r } from "react";
11
+ function K({
12
+ limit: u,
13
+ className: x
14
+ }) {
15
+ const { cart: l, addItem: w } = A(), { data: n, isLoading: v, error: N } = j(l == null ? void 0 : l.id, u), [b, c] = r(/* @__PURE__ */ new Set()), [p, y] = r(/* @__PURE__ */ new Set()), [S, P] = r(/* @__PURE__ */ new Set()), [m, C] = r(/* @__PURE__ */ new Set());
16
+ if (!l)
17
+ return null;
18
+ if (v)
19
+ return /* @__PURE__ */ s("div", { className: "py-6", children: /* @__PURE__ */ s("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ s(g, { className: "h-6 w-6 animate-spin text-accent-500" }) }) });
20
+ const o = n == null ? void 0 : n.filter(
21
+ (e) => !m.has(e.id)
22
+ );
23
+ if (N || !o || o.length === 0)
24
+ return null;
25
+ const I = async (e, a) => {
26
+ c((i) => new Set(i).add(e.id));
27
+ try {
28
+ await w(e.slug, e.name, a.price, a.sku, 1), y((i) => new Set(i).add(e.id)), setTimeout(() => {
29
+ P((i) => new Set(i).add(e.id));
30
+ }, 500), setTimeout(() => {
31
+ C((i) => new Set(i).add(e.id));
32
+ }, 1e3);
33
+ } finally {
34
+ c((i) => {
35
+ const d = new Set(i);
36
+ return d.delete(e.id), d;
37
+ });
38
+ }
39
+ };
40
+ return /* @__PURE__ */ t("div", { className: f("pt-4", x), children: [
41
+ /* @__PURE__ */ s("div", { className: "mb-4 px-4", children: /* @__PURE__ */ s("h3", { className: "text-lg font-semibold text-gray-900", children: "Customers also bought" }) }),
42
+ /* @__PURE__ */ s("div", { className: "overflow-x-auto", children: /* @__PURE__ */ t("div", { className: "flex gap-4 pb-4 transition-all duration-500", children: [
43
+ /* @__PURE__ */ s("div", { className: "flex-shrink-0 w-1" }),
44
+ n == null ? void 0 : n.map((e) => {
45
+ const a = e.variants[0];
46
+ if (!a) return null;
47
+ const i = b.has(e.id), d = p.has(e.id), k = S.has(e.id);
48
+ return m.has(e.id) ? null : /* @__PURE__ */ t(
49
+ "div",
50
+ {
51
+ className: f(
52
+ "flex flex-col flex-shrink-0 w-40 bg-white border border-gray-300 rounded-lg overflow-hidden hover:border-gray-400 transition-all duration-500",
53
+ d && "opacity-0 blur-sm scale-95 pointer-events-none",
54
+ k && "w-0 mr-[-1rem] overflow-hidden"
55
+ ),
56
+ children: [
57
+ /* @__PURE__ */ s("div", { className: "relative aspect-square bg-gray-100", children: e.thumbnailUrl ? /* @__PURE__ */ s(
58
+ "img",
59
+ {
60
+ src: e.thumbnailUrl,
61
+ alt: e.name,
62
+ className: "w-full h-full object-cover"
63
+ }
64
+ ) : /* @__PURE__ */ s("div", { className: "w-full h-full flex items-center justify-center", children: /* @__PURE__ */ s(R, { className: "h-12 w-12 text-gray-300" }) }) }),
65
+ /* @__PURE__ */ t("div", { className: "p-3 flex flex-col flex-1", children: [
66
+ /* @__PURE__ */ t("div", { className: "flex-1", children: [
67
+ /* @__PURE__ */ s("h4", { className: "text-sm font-medium text-gray-900 line-clamp-2 leading-tight", children: e.name }),
68
+ /* @__PURE__ */ s("p", { className: "text-sm font-semibold text-accent-600 mt-1", children: F(a.price) })
69
+ ] }),
70
+ /* @__PURE__ */ s(
71
+ H,
72
+ {
73
+ size: "sm",
74
+ onClick: () => I(e, a),
75
+ disabled: i,
76
+ className: "w-full bg-accent-500 hover:bg-accent-600 text-white text-xs h-8 mt-2",
77
+ children: i ? /* @__PURE__ */ t(h, { children: [
78
+ /* @__PURE__ */ s(g, { className: "h-3 w-3 animate-spin" }),
79
+ "Adding..."
80
+ ] }) : /* @__PURE__ */ t(h, { children: [
81
+ /* @__PURE__ */ s(T, { className: "h-3 w-3" }),
82
+ "Add"
83
+ ] })
84
+ }
85
+ )
86
+ ] })
87
+ ]
88
+ },
89
+ e.id
90
+ );
91
+ }),
92
+ /* @__PURE__ */ s("div", { className: "flex-shrink-0 w-1" })
93
+ ] }) })
94
+ ] });
7
95
  }
8
96
  export {
9
- f as useHideBodyOverflow
97
+ K as RecommendedProducts
10
98
  };