@instockng/storefront-ui 1.0.107 → 1.0.109

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 (228) hide show
  1. package/dist/components/AssistantDrawer.d.ts +1 -3
  2. package/dist/components/AssistantDrawer.d.ts.map +1 -1
  3. package/dist/components/ProductAssistantChips.d.ts +9 -8
  4. package/dist/components/ProductAssistantChips.d.ts.map +1 -1
  5. package/dist/contexts/AssistantContext.d.ts +19 -0
  6. package/dist/contexts/AssistantContext.d.ts.map +1 -0
  7. package/dist/index.d.ts +1 -2
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.mjs +56 -56
  10. package/dist/index10.mjs +103 -73
  11. package/dist/index100.mjs +28 -8
  12. package/dist/index101.mjs +8 -74
  13. package/dist/index102.mjs +74 -3
  14. package/dist/index103.mjs +4 -2
  15. package/dist/index104.mjs +2 -83
  16. package/dist/index105.mjs +81 -52
  17. package/dist/index106.mjs +53 -5
  18. package/dist/index107.mjs +5 -4
  19. package/dist/index108.mjs +4 -178
  20. package/dist/index109.mjs +174 -48
  21. package/dist/index11.mjs +73 -189
  22. package/dist/index110.mjs +51 -67
  23. package/dist/index111.mjs +69 -2
  24. package/dist/index112.mjs +2 -37
  25. package/dist/index113.mjs +25 -40
  26. package/dist/index114.mjs +18 -2
  27. package/dist/index115.mjs +213 -26
  28. package/dist/index116.mjs +175 -13
  29. package/dist/index117.mjs +17 -210
  30. package/dist/index118.mjs +17 -174
  31. package/dist/index119.mjs +25 -14
  32. package/dist/index12.mjs +171 -106
  33. package/dist/index120.mjs +150 -17
  34. package/dist/index121.mjs +13 -26
  35. package/dist/index122.mjs +24 -149
  36. package/dist/index123.mjs +77 -13
  37. package/dist/index124.mjs +27 -20
  38. package/dist/index125.mjs +137 -76
  39. package/dist/index126.mjs +50 -33
  40. package/dist/index127.mjs +19 -141
  41. package/dist/index128.mjs +22 -50
  42. package/dist/index129.mjs +14 -14
  43. package/dist/index13.mjs +127 -98
  44. package/dist/index130.mjs +18 -20
  45. package/dist/index131.mjs +14 -16
  46. package/dist/index132.mjs +14 -17
  47. package/dist/index133.mjs +12 -12
  48. package/dist/index134.mjs +58 -15
  49. package/dist/index135.mjs +11 -14
  50. package/dist/index136.mjs +30 -56
  51. package/dist/index137.mjs +15 -9
  52. package/dist/index138.mjs +26 -31
  53. package/dist/index139.mjs +16 -13
  54. package/dist/index14.mjs +94 -90
  55. package/dist/index140.mjs +11 -26
  56. package/dist/index141.mjs +12 -18
  57. package/dist/index142.mjs +40 -12
  58. package/dist/index143.mjs +16 -14
  59. package/dist/index144.mjs +263 -42
  60. package/dist/index145.mjs +62 -15
  61. package/dist/index146.mjs +7 -267
  62. package/dist/index147.mjs +2 -70
  63. package/dist/index148.mjs +2 -8
  64. package/dist/index149.mjs +33 -2
  65. package/dist/index15.mjs +84 -149
  66. package/dist/index150.mjs +2 -2
  67. package/dist/index151.mjs +37 -33
  68. package/dist/index152.mjs +43 -2
  69. package/dist/index153.mjs +2 -21
  70. package/dist/index154.mjs +19 -54
  71. package/dist/index155.mjs +55 -28
  72. package/dist/index156.mjs +28 -6
  73. package/dist/index157.mjs +6 -51
  74. package/dist/index158.mjs +51 -5
  75. package/dist/index159.mjs +6 -12
  76. package/dist/index16.mjs +157 -203
  77. package/dist/index160.mjs +12 -7
  78. package/dist/index161.mjs +6 -27
  79. package/dist/index162.mjs +28 -2
  80. package/dist/index163.mjs +2 -70
  81. package/dist/index164.mjs +67 -164
  82. package/dist/index165.mjs +167 -2
  83. package/dist/index167.mjs +2 -2
  84. package/dist/index168.mjs +2 -18
  85. package/dist/index169.mjs +11 -25
  86. package/dist/index17.mjs +197 -106
  87. package/dist/index170.mjs +26 -32
  88. package/dist/index171.mjs +32 -12
  89. package/dist/index172.mjs +9 -9
  90. package/dist/index173.mjs +18 -2
  91. package/dist/index174.mjs +2 -20
  92. package/dist/index175.mjs +13 -39
  93. package/dist/index176.mjs +46 -2
  94. package/dist/index177.mjs +2 -30
  95. package/dist/index178.mjs +24 -12
  96. package/dist/index179.mjs +18 -2
  97. package/dist/index18.mjs +96 -129
  98. package/dist/index180.mjs +2 -2
  99. package/dist/index181.mjs +2 -2
  100. package/dist/index182.mjs +2 -2
  101. package/dist/index183.mjs +2 -72
  102. package/dist/index184.mjs +72 -2
  103. package/dist/index185.mjs +2 -53
  104. package/dist/index186.mjs +53 -2
  105. package/dist/index187.mjs +2 -36
  106. package/dist/index188.mjs +30 -146
  107. package/dist/index189.mjs +152 -2
  108. package/dist/index19.mjs +140 -87
  109. package/dist/index190.mjs +2 -2
  110. package/dist/index191.mjs +2 -19
  111. package/dist/index192.mjs +19 -2
  112. package/dist/index193.mjs +2 -2
  113. package/dist/index194.mjs +2 -26
  114. package/dist/index195.mjs +26 -2
  115. package/dist/index196.mjs +2 -2
  116. package/dist/index197.mjs +2 -24
  117. package/dist/index198.mjs +17 -16
  118. package/dist/index199.mjs +23 -2
  119. package/dist/index2.mjs +29 -15
  120. package/dist/index20.mjs +82 -708
  121. package/dist/index201.mjs +2 -2
  122. package/dist/index202.mjs +2 -23
  123. package/dist/index203.mjs +23 -2
  124. package/dist/index204.mjs +2 -23
  125. package/dist/index205.mjs +23 -2
  126. package/dist/index206.mjs +2 -2
  127. package/dist/index208.mjs +2 -23
  128. package/dist/index209.mjs +23 -2
  129. package/dist/index21.mjs +688 -229
  130. package/dist/index210.mjs +2 -23
  131. package/dist/index211.mjs +23 -2
  132. package/dist/index212.mjs +2 -2
  133. package/dist/index213.mjs +2 -2
  134. package/dist/index215.mjs +2 -2
  135. package/dist/index216.mjs +2 -2
  136. package/dist/index217.mjs +2 -2
  137. package/dist/index218.mjs +2 -2
  138. package/dist/index219.mjs +2 -127
  139. package/dist/index22.mjs +260 -42
  140. package/dist/index220.mjs +127 -2
  141. package/dist/index221.mjs +2 -74
  142. package/dist/index222.mjs +59 -59
  143. package/dist/index223.mjs +74 -2
  144. package/dist/index224.mjs +2 -13
  145. package/dist/index225.mjs +108 -7
  146. package/dist/index226.mjs +2 -12
  147. package/dist/index227.mjs +2 -5
  148. package/dist/index228.mjs +2 -33
  149. package/dist/index229.mjs +2 -31
  150. package/dist/index23.mjs +44 -22
  151. package/dist/index230.mjs +2 -28
  152. package/dist/index231.mjs +2 -61
  153. package/dist/index232.mjs +2 -31
  154. package/dist/index233.mjs +2 -11
  155. package/dist/index234.mjs +2 -4
  156. package/dist/index235.mjs +36 -3
  157. package/dist/index236.mjs +2 -2
  158. package/dist/index237.mjs +244 -2
  159. package/dist/index238.mjs +2 -2
  160. package/dist/index239.mjs +33 -2
  161. package/dist/index240.mjs +65 -2
  162. package/dist/index241.mjs +25 -2
  163. package/dist/index242.mjs +2 -2
  164. package/dist/index244.mjs +2 -108
  165. package/dist/index245.mjs +2 -2
  166. package/dist/index246.mjs +2 -2
  167. package/dist/index247.mjs +2 -37
  168. package/dist/index248.mjs +2 -2
  169. package/dist/index249.mjs +2 -2
  170. package/dist/index250.mjs +2 -244
  171. package/dist/index251.mjs +13 -2
  172. package/dist/index252.mjs +7 -33
  173. package/dist/index253.mjs +30 -64
  174. package/dist/index254.mjs +10 -24
  175. package/dist/index255.mjs +4 -2
  176. package/dist/index256.mjs +4 -2
  177. package/dist/index257.mjs +2 -2
  178. package/dist/index258.mjs +4 -2
  179. package/dist/index259.mjs +12 -2
  180. package/dist/index260.mjs +5 -2
  181. package/dist/index261.mjs +33 -2
  182. package/dist/index262.mjs +31 -2
  183. package/dist/index263.mjs +28 -4
  184. package/dist/index264.mjs +61 -2
  185. package/dist/index265.mjs +2 -2
  186. package/dist/index266.mjs +2 -2
  187. package/dist/index277.mjs +1 -1
  188. package/dist/index282.mjs +1 -1
  189. package/dist/index283.mjs +2 -2
  190. package/dist/index3.mjs +3 -3
  191. package/dist/index4.mjs +34 -101
  192. package/dist/index5.mjs +92 -102
  193. package/dist/index50.mjs +1 -1
  194. package/dist/index58.mjs +1 -1
  195. package/dist/index6.mjs +111 -15
  196. package/dist/index63.mjs +17 -17
  197. package/dist/index64.mjs +2 -2
  198. package/dist/index7.mjs +15 -195
  199. package/dist/index8.mjs +135 -189
  200. package/dist/index81.mjs +19 -149
  201. package/dist/index82.mjs +149 -19
  202. package/dist/index85.mjs +1 -1
  203. package/dist/index89.mjs +35 -35
  204. package/dist/index9.mjs +240 -99
  205. package/dist/index90.mjs +1 -1
  206. package/dist/index91.mjs +2 -2
  207. package/dist/index92.mjs +2 -2
  208. package/dist/index94.mjs +2 -235
  209. package/dist/index95.mjs +233 -4
  210. package/dist/index96.mjs +5 -133
  211. package/dist/index97.mjs +129 -63
  212. package/dist/index98.mjs +67 -86
  213. package/dist/index99.mjs +85 -27
  214. package/dist/providers/StorefrontProvider.d.ts +3 -1
  215. package/dist/providers/StorefrontProvider.d.ts.map +1 -1
  216. package/dist/styles.css +1 -1
  217. package/package.json +2 -2
  218. package/src/components/AssistantDrawer.stories.tsx +20 -91
  219. package/src/components/AssistantDrawer.tsx +5 -9
  220. package/src/components/ProductAssistantChips.stories.tsx +11 -6
  221. package/src/components/ProductAssistantChips.tsx +13 -8
  222. package/src/contexts/AssistantContext.tsx +62 -0
  223. package/src/index.ts +3 -2
  224. package/src/providers/StorefrontProvider.tsx +17 -2
  225. package/dist/components/SearchAssistantTrigger.d.ts +0 -12
  226. package/dist/components/SearchAssistantTrigger.d.ts.map +0 -1
  227. package/src/components/SearchAssistantTrigger.stories.tsx +0 -35
  228. package/src/components/SearchAssistantTrigger.tsx +0 -41
package/dist/index147.mjs CHANGED
@@ -1,73 +1,5 @@
1
1
  'use client';
2
- import { __exports as n } from "./index218.mjs";
3
- import { __require as c } from "./index219.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
- }
2
+ var e = {};
71
3
  export {
72
- y as __require
4
+ e as __exports
73
5
  };
package/dist/index148.mjs CHANGED
@@ -1,11 +1,5 @@
1
1
  'use client';
2
- import { __module as e } from "./index220.mjs";
3
- import { __require as o } from "./index221.mjs";
4
- import { __require as t } from "./index222.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
- }
2
+ var r = {};
9
3
  export {
10
- p as __require
4
+ r as __exports
11
5
  };
package/dist/index149.mjs CHANGED
@@ -1,5 +1,36 @@
1
1
  'use client';
2
- var e = {};
2
+ import { __exports as r } from "./index153.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
- e as __exports
35
+ b as __require
5
36
  };
package/dist/index15.mjs CHANGED
@@ -1,166 +1,101 @@
1
1
  'use client';
2
- import { jsxs as a, jsx as t } from "react/jsx-runtime";
3
- import { useState as w } from "react";
4
- import { BadgeCheck as C } from "lucide-react";
5
- import { cn as o, formatCurrency as g, calculateDiscountedPrice as u, getDiscountPercent as f } from "./index30.mjs";
6
- const S = ({
7
- qty: l,
8
- selectedVariant: i,
9
- quantity: s,
10
- onQuantityChange: c,
11
- effectivePrice: n,
12
- quantityDiscounts: r,
13
- showBestValue: d = !1
14
- }) => {
15
- const e = !!i;
16
- return /* @__PURE__ */ a(
17
- "div",
18
- {
19
- onClick: () => e && c(l),
20
- className: o(
21
- "border-2 rounded-xl transition-all flex items-center justify-center p-3",
22
- e ? s === l ? "border-green-500 bg-green-50 shadow-md cursor-pointer hover:scale-105" : "border-gray-200 bg-white hover:border-gray-300 cursor-pointer hover:scale-105" : "border-gray-300 bg-gray-100 cursor-not-allowed opacity-50",
23
- d && e && "relative"
24
- ),
25
- children: [
26
- d && e && /* @__PURE__ */ t("div", { className: "absolute -top-3 left-1/2 transform -translate-x-1/2", children: /* @__PURE__ */ t("div", { className: "bg-orange-500 text-white text-xs px-3 py-1 rounded-full font-semibold whitespace-nowrap", children: "Best Value" }) }),
27
- /* @__PURE__ */ a("div", { className: "text-center", children: [
28
- /* @__PURE__ */ a("div", { className: o("text-lg font-bold", e ? "text-gray-900" : "text-gray-500"), children: [
29
- "BUY ",
30
- l
31
- ] }),
32
- l > 1 && /* @__PURE__ */ t("div", { className: o(
33
- "text-sm font-bold inline-block bg-[#F54927] text-white px-1 rounded-full line-through mb-1",
34
- e ? "text-gray-500" : "text-gray-400"
35
- ), children: g(n * l) }),
36
- /* @__PURE__ */ t("div", { className: o("text-lg md:text-2xl font-bold", e ? "text-green-600" : "text-gray-400"), children: g(u(n, l, r)) }),
37
- l > 1 && e ? /* @__PURE__ */ a("div", { className: "bg-orange-500 text-white text-sm px-2 py-1 rounded-md font-semibold mb-2", children: [
38
- "Save ",
39
- f(l, r),
40
- "%"
41
- ] }) : e ? null : /* @__PURE__ */ t("div", { className: "text-xs text-red-500 mt-1", children: "Out of Stock" })
42
- ] })
43
- ]
2
+ import { jsxs as t, jsx as a } from "react/jsx-runtime";
3
+ import { Package as g, Trash2 as p } from "lucide-react";
4
+ import { cn as N, formatCurrency as h } from "./index30.mjs";
5
+ import { useCart as w } from "./index3.mjs";
6
+ import { useState as f, useCallback as y } from "react";
7
+ function U({
8
+ item: e,
9
+ className: b,
10
+ disabled: r = !1
11
+ }) {
12
+ const [i, n] = f(!1), [s, c] = f(!1), { removeItem: o, updateItem: d } = w(), m = y(async (l) => {
13
+ if (!(l <= 0)) {
14
+ c(!0);
15
+ try {
16
+ await d(e.id, l);
17
+ } catch (v) {
18
+ console.error("Failed to update item quantity:", v);
19
+ }
20
+ c(!1);
44
21
  }
45
- );
46
- }, j = ({
47
- selectedVariant: l,
48
- quantity: i,
49
- onQuantityChange: s,
50
- effectivePrice: c,
51
- quantityDiscounts: n
52
- }) => {
53
- const [r, d] = w(2), e = !!l, b = i === r, p = (h) => {
54
- h.stopPropagation();
55
- const x = r + 1;
56
- d(x), e && s(x);
57
- }, y = (h) => {
58
- if (h.stopPropagation(), r > 2) {
59
- const x = r - 1;
60
- d(x), e && s(x);
22
+ }, [e.id, d]), x = y(async () => {
23
+ n(!0);
24
+ try {
25
+ await o(e.id);
26
+ } catch (l) {
27
+ console.error("Failed to remove item:", l);
61
28
  }
62
- }, v = () => {
63
- e && s(r);
64
- }, m = f(r, n), N = u(c, r, n);
65
- return /* @__PURE__ */ a(
29
+ n(!1);
30
+ }, [e.id, o]), u = e.variant.thumbnailUrl ?? e.variant.product.thumbnailUrl;
31
+ return /* @__PURE__ */ t(
66
32
  "div",
67
33
  {
68
- onClick: v,
69
- className: o(
70
- "border-2 rounded-xl transition-all flex flex-col items-center justify-center p-3 relative",
71
- e ? b ? "border-green-500 bg-green-50 shadow-md cursor-pointer hover:scale-105" : "border-gray-200 bg-white hover:border-gray-300 cursor-pointer hover:scale-105" : "border-gray-300 bg-gray-100 cursor-not-allowed opacity-50"
34
+ className: N(
35
+ "flex gap-3 transition-opacity",
36
+ (r || i || s) && "opacity-50",
37
+ b
72
38
  ),
73
39
  children: [
74
- /* @__PURE__ */ t(
75
- "button",
40
+ /* @__PURE__ */ a("div", { className: "h-20 w-20 flex-shrink-0 overflow-hidden rounded-lg bg-gray-100", children: u ? /* @__PURE__ */ a(
41
+ "img",
76
42
  {
77
- onClick: y,
78
- disabled: !e || r <= 2,
79
- className: o(
80
- "absolute left-2 top-1/2 -translate-y-1/2 w-8 h-8 rounded-full flex items-center justify-center text-lg font-bold transition-colors",
81
- !e || r <= 2 ? "bg-gray-200 text-gray-400 cursor-not-allowed" : "bg-gray-300 text-gray-700 hover:bg-gray-400"
82
- ),
83
- children: "-"
43
+ src: u,
44
+ alt: e.variant.product.name,
45
+ className: "h-full w-full object-cover"
84
46
  }
85
- ),
86
- /* @__PURE__ */ t(
87
- "button",
88
- {
89
- onClick: p,
90
- disabled: !e,
91
- className: o(
92
- "absolute right-2 top-1/2 -translate-y-1/2 w-8 h-8 rounded-full flex items-center justify-center text-lg font-bold transition-colors",
93
- e ? "bg-gray-300 text-gray-700 hover:bg-gray-400" : "bg-gray-200 text-gray-400 cursor-not-allowed"
94
- ),
95
- children: "+"
96
- }
97
- ),
98
- /* @__PURE__ */ a("div", { className: "text-center w-full", children: [
99
- /* @__PURE__ */ a("div", { className: o("text-lg font-bold", e ? "text-gray-900" : "text-gray-500"), children: [
100
- "BUY ",
101
- r
102
- ] }),
103
- /* @__PURE__ */ a("div", { className: "flex items-center justify-center gap-2", children: [
104
- r > 1 && !!m && /* @__PURE__ */ t("div", { className: o(
105
- "text-base md:text-lg font-bold line-through",
106
- e ? "text-[#DC143C]" : "text-gray-400"
107
- ), children: g(c * r) }),
108
- /* @__PURE__ */ t("div", { className: o("text-lg md:text-2xl font-bold", e ? "text-green-600" : "text-gray-400"), children: g(N) })
109
- ] }),
110
- r > 1 && e ? !!m && /* @__PURE__ */ a("div", { className: "absolute top-[-30px] right-0 2xl:right-[-30px] h-[60px] w-[60px] flex items-center justify-center", children: [
111
- /* @__PURE__ */ a("span", { className: "text-white font-bold z-[5] relative leading-4", children: [
112
- m,
113
- "%",
114
- /* @__PURE__ */ t("br", {}),
115
- "off"
47
+ ) : /* @__PURE__ */ a("div", { className: "flex h-full w-full items-center justify-center", children: /* @__PURE__ */ a(g, { className: "h-6 w-6 text-gray-400" }) }) }),
48
+ /* @__PURE__ */ t("div", { className: "flex flex-1 flex-col justify-between py-1", children: [
49
+ /* @__PURE__ */ a("div", { children: /* @__PURE__ */ t("div", { className: "flex items-start justify-between gap-2", children: [
50
+ /* @__PURE__ */ t("div", { className: "flex-1", children: [
51
+ /* @__PURE__ */ a("h3", { className: "text-base font-semibold leading-tight", children: e.variant.product.name }),
52
+ e.variant.name && /* @__PURE__ */ a("p", { className: "mt-0.5 text-sm text-gray-600", children: e.variant.name })
53
+ ] }),
54
+ /* @__PURE__ */ a(
55
+ "button",
56
+ {
57
+ onClick: x,
58
+ disabled: r || i,
59
+ className: "text-gray-400 hover:text-red-600 disabled:cursor-not-allowed disabled:opacity-50",
60
+ "aria-label": "Remove item",
61
+ children: /* @__PURE__ */ a(p, { className: "h-5 w-5" })
62
+ }
63
+ )
64
+ ] }) }),
65
+ /* @__PURE__ */ t("div", { className: "flex items-center justify-between mt-2", children: [
66
+ /* @__PURE__ */ t("div", { className: "inline-flex items-center overflow-hidden rounded-full bg-gray-200 text-gray-700", children: [
67
+ /* @__PURE__ */ a(
68
+ "button",
69
+ {
70
+ "aria-label": "Decrease quantity",
71
+ onClick: () => m(e.quantity - 1),
72
+ disabled: r || e.quantity <= 1 || s,
73
+ className: "flex h-8 w-8 items-center justify-center transition-colors hover:bg-gray-300 disabled:cursor-not-allowed disabled:opacity-50",
74
+ children: "−"
75
+ }
76
+ ),
77
+ /* @__PURE__ */ a("span", { className: "px-3 text-base font-medium select-none", children: e.quantity }),
78
+ /* @__PURE__ */ a(
79
+ "button",
80
+ {
81
+ "aria-label": "Increase quantity",
82
+ onClick: () => m(e.quantity + 1),
83
+ disabled: r || s,
84
+ className: "flex h-8 w-8 items-center justify-center transition-colors hover:bg-gray-300 disabled:cursor-not-allowed disabled:opacity-50",
85
+ children: "+"
86
+ }
87
+ )
116
88
  ] }),
117
- /* @__PURE__ */ t(C, { className: "animate-spin-slow w-full h-full z-[2] inset-0 absolute fill-accent-500 text-accent-500" })
118
- ] }) : e ? null : /* @__PURE__ */ t("div", { className: "text-xs text-red-500 mt-1", children: "Out of Stock" })
89
+ /* @__PURE__ */ t("div", { className: "text-right", children: [
90
+ /* @__PURE__ */ a("p", { className: "text-base font-medium", children: h(e.subtotal) }),
91
+ e.basePrice !== e.finalPrice && /* @__PURE__ */ a("p", { className: "text-xs text-[#DC143C] line-through", children: h(e.basePrice * e.quantity) })
92
+ ] })
93
+ ] })
119
94
  ] })
120
95
  ]
121
96
  }
122
97
  );
123
- };
124
- function P({
125
- selectedVariant: l,
126
- quantity: i,
127
- onQuantityChange: s,
128
- effectivePrice: c,
129
- quantityDiscounts: n
130
- }) {
131
- return /* @__PURE__ */ a("div", { className: "flex flex-col space-y-2", children: [
132
- /* @__PURE__ */ t("span", { className: "text-sm font-medium", children: "Choose Quantity:" }),
133
- /* @__PURE__ */ a("div", { className: "relative", children: [
134
- !l && /* @__PURE__ */ t("div", { className: "absolute inset-0 bg-white/80 z-10 rounded-xl flex items-center justify-center", children: /* @__PURE__ */ a("div", { className: "text-center p-4", children: [
135
- /* @__PURE__ */ t("div", { className: "text-lg font-semibold text-gray-700 mb-2", children: "Select a variant first" }),
136
- /* @__PURE__ */ t("div", { className: "text-sm text-gray-500", children: "Choose a product variant above to see quantity options" })
137
- ] }) }),
138
- /* @__PURE__ */ a("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-3", children: [
139
- /* @__PURE__ */ t(
140
- S,
141
- {
142
- qty: 1,
143
- selectedVariant: l,
144
- quantity: i,
145
- onQuantityChange: s,
146
- effectivePrice: c,
147
- quantityDiscounts: n
148
- }
149
- ),
150
- /* @__PURE__ */ t(
151
- j,
152
- {
153
- selectedVariant: l,
154
- quantity: i,
155
- onQuantityChange: s,
156
- effectivePrice: c,
157
- quantityDiscounts: n
158
- }
159
- )
160
- ] })
161
- ] })
162
- ] });
163
98
  }
164
99
  export {
165
- P as QuantitySelector
100
+ U as CartItem
166
101
  };
package/dist/index150.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- var r = {};
2
+ var e = { exports: {} };
3
3
  export {
4
- r as __exports
4
+ e as __module
5
5
  };
package/dist/index151.mjs CHANGED
@@ -1,36 +1,40 @@
1
1
  'use client';
2
- import { __exports as r } from "./index223.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 s = (i, t, e = {}) => {
3
+ let r = `${i}=${t}`;
4
+ if (i.startsWith("__Secure-") && !e.secure)
5
+ throw new Error("__Secure- Cookie must have Secure attributes");
6
+ if (i.startsWith("__Host-")) {
7
+ if (!e.secure)
8
+ throw new Error("__Host- Cookie must have Secure attributes");
9
+ if (e.path !== "/")
10
+ throw new Error('__Host- Cookie must have Path attributes with "/"');
11
+ if (e.domain)
12
+ throw new Error("__Host- Cookie must not have Domain attributes");
13
+ }
14
+ for (const a of ["domain", "path"])
15
+ if (e[a] && /[;\r\n]/.test(e[a]))
16
+ throw new Error(`${a} must not contain ";", "\\r", or "\\n"`);
17
+ if (e && typeof e.maxAge == "number" && e.maxAge >= 0) {
18
+ if (e.maxAge > 3456e4)
19
+ throw new Error(
20
+ "Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration."
21
+ );
22
+ r += `; Max-Age=${e.maxAge | 0}`;
23
+ }
24
+ if (e.domain && e.prefix !== "host" && (r += `; Domain=${e.domain}`), e.path && (r += `; Path=${e.path}`), e.expires) {
25
+ if (e.expires.getTime() - Date.now() > 3456e7)
26
+ throw new Error(
27
+ "Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future."
28
+ );
29
+ r += `; Expires=${e.expires.toUTCString()}`;
30
+ }
31
+ if (e.httpOnly && (r += "; HttpOnly"), e.secure && (r += "; Secure"), e.sameSite && (r += `; SameSite=${e.sameSite.charAt(0).toUpperCase() + e.sameSite.slice(1)}`), e.priority && (r += `; Priority=${e.priority.charAt(0).toUpperCase() + e.priority.slice(1)}`), e.partitioned) {
32
+ if (!e.secure)
33
+ throw new Error("Partitioned Cookie must have Secure attributes");
34
+ r += "; Partitioned";
35
+ }
36
+ return r;
37
+ }, o = (i, t, e) => (t = encodeURIComponent(t), s(i, t, e));
34
38
  export {
35
- b as __require
39
+ o as serialize
36
40
  };
package/dist/index152.mjs CHANGED
@@ -1,5 +1,46 @@
1
1
  'use client';
2
- var e = { exports: {} };
2
+ var s = (e, r) => (e = e.replace(/\/+$/, ""), e = e + "/", r = r.replace(/^\/+/, ""), e + r), p = (e, r) => {
3
+ for (const [n, t] of Object.entries(r)) {
4
+ const c = new RegExp("/:" + n + "(?:{[^/]+})?\\??");
5
+ e = e.replace(c, t ? `/${t}` : "");
6
+ }
7
+ return e;
8
+ }, f = (e) => {
9
+ const r = new URLSearchParams();
10
+ for (const [n, t] of Object.entries(e))
11
+ if (t !== void 0)
12
+ if (Array.isArray(t))
13
+ for (const c of t)
14
+ r.append(n, c);
15
+ else
16
+ r.set(n, t);
17
+ return r;
18
+ }, i = (e, r) => {
19
+ switch (r) {
20
+ case "ws":
21
+ return e.replace(/^http/, "ws");
22
+ case "http":
23
+ return e.replace(/^ws/, "http");
24
+ }
25
+ }, l = (e) => /^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e) ? e.replace(/\/index(?=\?|$)/, "/") : e.replace(/\/index(?=\?|$)/, "");
26
+ function a(e) {
27
+ return typeof e == "object" && e !== null && !Array.isArray(e);
28
+ }
29
+ function o(e, r) {
30
+ if (!a(e) && !a(r))
31
+ return r;
32
+ const n = { ...e };
33
+ for (const t in r) {
34
+ const c = r[t];
35
+ a(n[t]) && a(c) ? n[t] = o(n[t], c) : n[t] = c;
36
+ }
37
+ return n;
38
+ }
3
39
  export {
4
- e as __module
40
+ f as buildSearchParams,
41
+ o as deepMerge,
42
+ s as mergePath,
43
+ l as removeIndexString,
44
+ p as replaceUrlParam,
45
+ i as replaceUrlProtocol
5
46
  };
package/dist/index153.mjs CHANGED
@@ -1,24 +1,5 @@
1
1
  'use client';
2
- import f from "./index94.mjs";
3
- import d from "./index232.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 a = {};
22
3
  export {
23
- m as default
4
+ a as __exports
24
5
  };
package/dist/index154.mjs CHANGED
@@ -1,59 +1,24 @@
1
1
  'use client';
2
- import n from "./index94.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 "./index95.mjs";
3
+ import d from "./index253.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
  };