@instockng/storefront-ui 1.0.107 → 1.0.108

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 (250) hide show
  1. package/dist/components/AssistantDrawer.d.ts +1 -3
  2. package/dist/components/AssistantDrawer.d.ts.map +1 -1
  3. package/dist/contexts/AssistantContext.d.ts +19 -0
  4. package/dist/contexts/AssistantContext.d.ts.map +1 -0
  5. package/dist/index.d.ts +1 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.mjs +56 -56
  8. package/dist/index10.mjs +103 -73
  9. package/dist/index100.mjs +52 -7
  10. package/dist/index101.mjs +5 -74
  11. package/dist/index102.mjs +4 -3
  12. package/dist/index103.mjs +179 -2
  13. package/dist/index104.mjs +49 -79
  14. package/dist/index105.mjs +68 -53
  15. package/dist/index106.mjs +2 -6
  16. package/dist/index107.mjs +5 -4
  17. package/dist/index108.mjs +1123 -168
  18. package/dist/index109.mjs +20 -53
  19. package/dist/index11.mjs +73 -189
  20. package/dist/index110.mjs +55 -69
  21. package/dist/index111.mjs +33 -2
  22. package/dist/index112.mjs +2 -37
  23. package/dist/index113.mjs +2 -43
  24. package/dist/index115.mjs +1 -1
  25. package/dist/index116.mjs +1 -1
  26. package/dist/index117.mjs +8 -8
  27. package/dist/index118.mjs +6 -6
  28. package/dist/index119.mjs +3 -3
  29. package/dist/index12.mjs +171 -106
  30. package/dist/index120.mjs +1 -1
  31. package/dist/index121.mjs +1 -1
  32. package/dist/index122.mjs +1 -1
  33. package/dist/index123.mjs +2 -2
  34. package/dist/index124.mjs +2 -2
  35. package/dist/index125.mjs +3 -3
  36. package/dist/index126.mjs +1 -1
  37. package/dist/index127.mjs +3 -3
  38. package/dist/index128.mjs +2 -2
  39. package/dist/index129.mjs +2 -2
  40. package/dist/index13.mjs +127 -98
  41. package/dist/index130.mjs +1 -1
  42. package/dist/index131.mjs +3 -3
  43. package/dist/index132.mjs +1 -1
  44. package/dist/index133.mjs +1 -1
  45. package/dist/index134.mjs +3 -3
  46. package/dist/index135.mjs +2 -2
  47. package/dist/index136.mjs +4 -4
  48. package/dist/index137.mjs +1 -1
  49. package/dist/index138.mjs +3 -3
  50. package/dist/index139.mjs +4 -4
  51. package/dist/index14.mjs +94 -90
  52. package/dist/index140.mjs +1 -1
  53. package/dist/index141.mjs +1 -1
  54. package/dist/index142.mjs +1 -1
  55. package/dist/index143.mjs +1 -1
  56. package/dist/index144.mjs +1 -1
  57. package/dist/index145.mjs +1 -1
  58. package/dist/index146.mjs +1 -1
  59. package/dist/index147.mjs +2 -2
  60. package/dist/index148.mjs +3 -3
  61. package/dist/index15.mjs +84 -149
  62. package/dist/index151.mjs +1 -1
  63. package/dist/index153.mjs +2 -2
  64. package/dist/index154.mjs +1 -1
  65. package/dist/index155.mjs +6 -6
  66. package/dist/index156.mjs +2 -2
  67. package/dist/index157.mjs +2 -2
  68. package/dist/index159.mjs +2 -2
  69. package/dist/index16.mjs +157 -203
  70. package/dist/index160.mjs +2 -2
  71. package/dist/index161.mjs +1 -1
  72. package/dist/index163.mjs +8 -8
  73. package/dist/index164.mjs +8 -8
  74. package/dist/index165.mjs +2 -2
  75. package/dist/index167.mjs +2 -2
  76. package/dist/index168.mjs +2 -18
  77. package/dist/index169.mjs +11 -25
  78. package/dist/index17.mjs +197 -106
  79. package/dist/index170.mjs +26 -32
  80. package/dist/index171.mjs +32 -12
  81. package/dist/index172.mjs +9 -9
  82. package/dist/index173.mjs +18 -2
  83. package/dist/index174.mjs +2 -20
  84. package/dist/index175.mjs +13 -39
  85. package/dist/index176.mjs +46 -2
  86. package/dist/index177.mjs +2 -30
  87. package/dist/index178.mjs +24 -12
  88. package/dist/index179.mjs +18 -2
  89. package/dist/index18.mjs +96 -129
  90. package/dist/index180.mjs +2 -2
  91. package/dist/index181.mjs +2 -2
  92. package/dist/index182.mjs +2 -2
  93. package/dist/index183.mjs +2 -72
  94. package/dist/index184.mjs +72 -2
  95. package/dist/index185.mjs +2 -53
  96. package/dist/index186.mjs +53 -2
  97. package/dist/index187.mjs +2 -36
  98. package/dist/index188.mjs +30 -146
  99. package/dist/index189.mjs +152 -2
  100. package/dist/index19.mjs +140 -87
  101. package/dist/index190.mjs +2 -2
  102. package/dist/index191.mjs +2 -19
  103. package/dist/index192.mjs +19 -2
  104. package/dist/index193.mjs +2 -2
  105. package/dist/index194.mjs +2 -26
  106. package/dist/index195.mjs +26 -2
  107. package/dist/index196.mjs +2 -2
  108. package/dist/index197.mjs +2 -24
  109. package/dist/index198.mjs +17 -16
  110. package/dist/index199.mjs +23 -2
  111. package/dist/index2.mjs +29 -15
  112. package/dist/index20.mjs +82 -708
  113. package/dist/index201.mjs +2 -2
  114. package/dist/index202.mjs +2 -23
  115. package/dist/index203.mjs +23 -2
  116. package/dist/index204.mjs +2 -23
  117. package/dist/index205.mjs +23 -2
  118. package/dist/index206.mjs +2 -2
  119. package/dist/index208.mjs +2 -23
  120. package/dist/index209.mjs +23 -2
  121. package/dist/index21.mjs +688 -229
  122. package/dist/index210.mjs +2 -23
  123. package/dist/index211.mjs +23 -2
  124. package/dist/index212.mjs +2 -2
  125. package/dist/index213.mjs +2 -2
  126. package/dist/index215.mjs +2 -2
  127. package/dist/index216.mjs +2 -2
  128. package/dist/index217.mjs +2 -2
  129. package/dist/index218.mjs +2 -2
  130. package/dist/index219.mjs +2 -127
  131. package/dist/index22.mjs +260 -42
  132. package/dist/index220.mjs +127 -2
  133. package/dist/index221.mjs +2 -74
  134. package/dist/index222.mjs +59 -59
  135. package/dist/index223.mjs +74 -2
  136. package/dist/index224.mjs +30 -12
  137. package/dist/index225.mjs +11 -7
  138. package/dist/index226.mjs +3 -11
  139. package/dist/index227.mjs +3 -4
  140. package/dist/index228.mjs +13 -33
  141. package/dist/index229.mjs +7 -31
  142. package/dist/index23.mjs +42 -21
  143. package/dist/index230.mjs +11 -27
  144. package/dist/index231.mjs +5 -61
  145. package/dist/index232.mjs +33 -31
  146. package/dist/index233.mjs +31 -11
  147. package/dist/index234.mjs +28 -4
  148. package/dist/index235.mjs +61 -4
  149. package/dist/index236.mjs +2 -2
  150. package/dist/index237.mjs +108 -2
  151. package/dist/index238.mjs +2 -2
  152. package/dist/index239.mjs +2 -2
  153. package/dist/index240.mjs +2 -2
  154. package/dist/index241.mjs +2 -2
  155. package/dist/index242.mjs +2 -2
  156. package/dist/index243.mjs +2 -2
  157. package/dist/index244.mjs +2 -108
  158. package/dist/index245.mjs +2 -2
  159. package/dist/index247.mjs +3 -3
  160. package/dist/index250.mjs +1 -1
  161. package/dist/index252.mjs +2 -2
  162. package/dist/index253.mjs +1 -1
  163. package/dist/index254.mjs +2 -2
  164. package/dist/index262.mjs +2 -2
  165. package/dist/index263.mjs +2 -4
  166. package/dist/index264.mjs +4 -2
  167. package/dist/index265.mjs +2 -2
  168. package/dist/index266.mjs +2 -2
  169. package/dist/index267.mjs +3 -2
  170. package/dist/index268.mjs +2 -2
  171. package/dist/index269.mjs +2 -18
  172. package/dist/index270.mjs +16 -46
  173. package/dist/index271.mjs +13 -2
  174. package/dist/index272.mjs +6 -2
  175. package/dist/index273.mjs +30 -2
  176. package/dist/index275.mjs +2 -91
  177. package/dist/index276.mjs +18 -2
  178. package/dist/index277.mjs +47 -3
  179. package/dist/index278.mjs +2 -2
  180. package/dist/index279.mjs +2 -2
  181. package/dist/index280.mjs +2 -17
  182. package/dist/index281.mjs +2 -13
  183. package/dist/index282.mjs +91 -6
  184. package/dist/index283.mjs +2 -30
  185. package/dist/index3.mjs +3 -3
  186. package/dist/index4.mjs +34 -101
  187. package/dist/index43.mjs +1 -1
  188. package/dist/index44.mjs +1 -1
  189. package/dist/index45.mjs +1 -1
  190. package/dist/index46.mjs +1 -1
  191. package/dist/index47.mjs +1 -1
  192. package/dist/index48.mjs +2 -2
  193. package/dist/index5.mjs +92 -102
  194. package/dist/index50.mjs +2 -2
  195. package/dist/index54.mjs +3 -3
  196. package/dist/index58.mjs +1 -1
  197. package/dist/index6.mjs +111 -15
  198. package/dist/index63.mjs +17 -17
  199. package/dist/index64.mjs +2 -2
  200. package/dist/index65.mjs +1 -1
  201. package/dist/index66.mjs +1 -1
  202. package/dist/index67.mjs +1 -1
  203. package/dist/index68.mjs +1 -1
  204. package/dist/index69.mjs +1 -1
  205. package/dist/index7.mjs +15 -195
  206. package/dist/index70.mjs +1 -1
  207. package/dist/index71.mjs +1 -1
  208. package/dist/index72.mjs +1 -1
  209. package/dist/index73.mjs +1 -1
  210. package/dist/index74.mjs +1 -1
  211. package/dist/index75.mjs +1 -1
  212. package/dist/index76.mjs +1 -1
  213. package/dist/index77.mjs +1 -1
  214. package/dist/index78.mjs +1 -1
  215. package/dist/index79.mjs +4 -23
  216. package/dist/index8.mjs +135 -189
  217. package/dist/index80.mjs +24 -2
  218. package/dist/index81.mjs +2 -153
  219. package/dist/index82.mjs +149 -19
  220. package/dist/index83.mjs +21 -73
  221. package/dist/index84.mjs +74 -14
  222. package/dist/index85.mjs +14 -62
  223. package/dist/index86.mjs +62 -4
  224. package/dist/index87.mjs +37 -2
  225. package/dist/index88.mjs +42 -5
  226. package/dist/index89.mjs +230 -1129
  227. package/dist/index9.mjs +240 -99
  228. package/dist/index90.mjs +5 -19
  229. package/dist/index91.mjs +127 -48
  230. package/dist/index92.mjs +67 -32
  231. package/dist/index93.mjs +87 -2
  232. package/dist/index94.mjs +23 -229
  233. package/dist/index95.mjs +8 -5
  234. package/dist/index96.mjs +66 -125
  235. package/dist/index97.mjs +3 -67
  236. package/dist/index98.mjs +2 -87
  237. package/dist/index99.mjs +78 -24
  238. package/dist/providers/StorefrontProvider.d.ts +3 -1
  239. package/dist/providers/StorefrontProvider.d.ts.map +1 -1
  240. package/dist/styles.css +1 -1
  241. package/package.json +1 -1
  242. package/src/components/AssistantDrawer.stories.tsx +0 -50
  243. package/src/components/AssistantDrawer.tsx +4 -8
  244. package/src/contexts/AssistantContext.tsx +62 -0
  245. package/src/index.ts +3 -2
  246. package/src/providers/StorefrontProvider.tsx +17 -2
  247. package/dist/components/SearchAssistantTrigger.d.ts +0 -12
  248. package/dist/components/SearchAssistantTrigger.d.ts.map +0 -1
  249. package/src/components/SearchAssistantTrigger.stories.tsx +0 -35
  250. package/src/components/SearchAssistantTrigger.tsx +0 -41
@@ -13,12 +13,10 @@ export interface AssistantDrawerProps {
13
13
  initialQuestion?: string;
14
14
  /** Assistant display name */
15
15
  assistantName?: string;
16
- /** Callback when a product card is clicked */
17
- onProductClick?: (slug: string) => void;
18
16
  /** Custom class name */
19
17
  className?: string;
20
18
  /** Render inline instead of using a portal (useful for Storybook) */
21
19
  disablePortal?: boolean;
22
20
  }
23
- export declare function AssistantDrawer({ isOpen, onClose, apiUrl, brandSlug, productSlug, initialQuestion, assistantName, onProductClick, className, disablePortal, }: AssistantDrawerProps): import("react/jsx-runtime").JSX.Element | null;
21
+ export declare function AssistantDrawer({ isOpen, onClose, apiUrl, brandSlug, productSlug, initialQuestion, assistantName, className, disablePortal, }: AssistantDrawerProps): import("react/jsx-runtime").JSX.Element | null;
24
22
  //# sourceMappingURL=AssistantDrawer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantDrawer.d.ts","sourceRoot":"","sources":["../../src/components/AssistantDrawer.tsx"],"names":[],"mappings":"AAgCA,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6BAA6B;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,OAAO,EACP,MAAM,EACN,SAAS,EACT,WAAW,EACX,eAAe,EACf,aAA8B,EAC9B,cAAc,EACd,SAAS,EACT,aAAqB,GACtB,EAAE,oBAAoB,kDA2WtB"}
1
+ {"version":3,"file":"AssistantDrawer.d.ts","sourceRoot":"","sources":["../../src/components/AssistantDrawer.tsx"],"names":[],"mappings":"AAgCA,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6BAA6B;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,OAAO,EACP,MAAM,EACN,SAAS,EACT,WAAW,EACX,eAAe,EACf,aAA8B,EAC9B,SAAS,EACT,aAAqB,GACtB,EAAE,oBAAoB,kDA0WtB"}
@@ -0,0 +1,19 @@
1
+ import { type ReactNode } from 'react';
2
+ type AssistantContextType = {
3
+ /** Open the assistant drawer with a question. Pass productSlug if on a product page. */
4
+ ask: (question: string, productSlug?: string) => void;
5
+ /** Close the assistant drawer */
6
+ close: () => void;
7
+ /** Whether the drawer is currently open */
8
+ isOpen: boolean;
9
+ };
10
+ export declare function useAssistant(): AssistantContextType;
11
+ export interface AssistantProviderProps {
12
+ children: ReactNode;
13
+ apiUrl: string;
14
+ brandSlug: string;
15
+ assistantName?: string;
16
+ }
17
+ export declare function AssistantProvider({ children, apiUrl, brandSlug, assistantName, }: AssistantProviderProps): import("react/jsx-runtime").JSX.Element;
18
+ export {};
19
+ //# sourceMappingURL=AssistantContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssistantContext.d.ts","sourceRoot":"","sources":["../../src/contexts/AssistantContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAoD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzF,KAAK,oBAAoB,GAAG;IAC1B,wFAAwF;IACxF,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,iCAAiC;IACjC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,2CAA2C;IAC3C,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAIF,wBAAgB,YAAY,yBAI3B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,MAAM,EACN,SAAS,EACT,aAAa,GACd,EAAE,sBAAsB,2CA2BxB"}
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@
6
6
  export { StorefrontProvider } from './providers/StorefrontProvider';
7
7
  export type { StorefrontProviderProps } from './providers/StorefrontProvider';
8
8
  export { CartProvider, useCart } from './contexts/CartContext';
9
+ export { useAssistant } from './contexts/AssistantContext';
9
10
  export { useMetaPixel, MetaPixelProvider } from './providers/MetaPixelProvider';
10
11
  export type { MetaPixelProviderProps, PurchaseItem } from './providers/MetaPixelProvider';
11
12
  export { useTikTokPixel, TikTokPixelProvider } from './providers/TikTokPixelProvider';
@@ -42,8 +43,6 @@ export { AssistantDrawer } from './components/AssistantDrawer';
42
43
  export type { AssistantDrawerProps } from './components/AssistantDrawer';
43
44
  export { ProductAssistantChips } from './components/ProductAssistantChips';
44
45
  export type { ProductAssistantChipsProps } from './components/ProductAssistantChips';
45
- export { SearchAssistantTrigger } from './components/SearchAssistantTrigger';
46
- export type { SearchAssistantTriggerProps } from './components/SearchAssistantTrigger';
47
46
  export { Button } from './components/ui/button';
48
47
  export { Card, CardContent, CardHeader, CardTitle, CardDescription, CardFooter } from './components/ui/card';
49
48
  export { Badge } from './components/ui/badge';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,55 +1,55 @@
1
1
  'use client';
2
2
  import { StorefrontProvider as i } from "./index2.mjs";
3
- import { CartProvider as m, useCart as s } from "./index3.mjs";
4
- import { MetaPixelProvider as p, useMetaPixel as n } from "./index4.mjs";
5
- import { TikTokPixelProvider as f, useTikTokPixel as c } from "./index5.mjs";
6
- import { usePageTracking as C } from "./index6.mjs";
7
- import { OrderConfirmation as P } from "./index7.mjs";
8
- import { DeliveryConfirmation as h } from "./index8.mjs";
9
- import { ProductCard as v } from "./index9.mjs";
10
- import { ProductGrid as g } from "./index10.mjs";
11
- import { ProductAddOns as k } from "./index11.mjs";
12
- import { RecommendedProducts as I } from "./index12.mjs";
13
- import { VariantPickerModal as S } from "./index13.mjs";
14
- import { CartItem as T } from "./index14.mjs";
15
- import { QuantitySelector as M } from "./index15.mjs";
16
- import { ShoppingCart as H } from "./index16.mjs";
17
- import { CartUpsellScreen as b } from "./index17.mjs";
18
- import { AddOnsDiscountScreen as w } from "./index18.mjs";
19
- import { DiscountCodeInput as K } from "./index19.mjs";
20
- import { Checkout as V } from "./index20.mjs";
21
- import { AssistantDrawer as j } from "./index21.mjs";
22
- import { ProductAssistantChips as J } from "./index22.mjs";
23
- import { SearchAssistantTrigger as N } from "./index23.mjs";
3
+ import { CartProvider as a, useCart as s } from "./index3.mjs";
4
+ import { useAssistant as p } from "./index4.mjs";
5
+ import { MetaPixelProvider as u, useMetaPixel as f } from "./index5.mjs";
6
+ import { TikTokPixelProvider as x, useTikTokPixel as C } from "./index6.mjs";
7
+ import { usePageTracking as P } from "./index7.mjs";
8
+ import { OrderConfirmation as h } from "./index8.mjs";
9
+ import { DeliveryConfirmation as v } from "./index9.mjs";
10
+ import { ProductCard as G } from "./index10.mjs";
11
+ import { ProductGrid as R } from "./index11.mjs";
12
+ import { ProductAddOns as I } from "./index12.mjs";
13
+ import { RecommendedProducts as S } from "./index13.mjs";
14
+ import { VariantPickerModal as T } from "./index14.mjs";
15
+ import { CartItem as M } from "./index15.mjs";
16
+ import { QuantitySelector as H } from "./index16.mjs";
17
+ import { ShoppingCart as b } from "./index17.mjs";
18
+ import { CartUpsellScreen as w } from "./index18.mjs";
19
+ import { AddOnsDiscountScreen as K } from "./index19.mjs";
20
+ import { DiscountCodeInput as V } from "./index20.mjs";
21
+ import { Checkout as j } from "./index21.mjs";
22
+ import { AssistantDrawer as J } from "./index22.mjs";
23
+ import { ProductAssistantChips as N } from "./index23.mjs";
24
24
  import { Button as X } from "./index24.mjs";
25
25
  import { Card as _, CardContent as ee, CardDescription as re, CardFooter as te, CardHeader as oe, CardTitle as ie } from "./index25.mjs";
26
- import { Badge as me } from "./index26.mjs";
26
+ import { Badge as ae } from "./index26.mjs";
27
27
  import { Modal as de } from "./index27.mjs";
28
28
  import { FormInput as ne } from "./index28.mjs";
29
29
  import { FormSelect as fe } from "./index29.mjs";
30
30
  import { calculateDiscountedPrice as xe, cn as Ce, formatCurrency as le, formatDate as Pe, formatDateTime as Ae, getDiscountPercent as he, getStatusColor as De } from "./index30.mjs";
31
- import { ApiClientProvider as ye, useApiClientContext as ge } from "./index31.mjs";
32
- import { useApiConfig as ke } from "./index32.mjs";
31
+ import { ApiClientProvider as ye, useApiClientContext as Ge } from "./index31.mjs";
32
+ import { useApiConfig as Re } from "./index32.mjs";
33
33
  import { getApiClient as Ie, initializeApiClient as Oe, resetApiClient as Se } from "./index33.mjs";
34
34
  import { authHeaders as Te, createAdminRpcClients as Ue, createRpcClients as Me } from "./index34.mjs";
35
35
  import { fetchProductAddons as He, fetchProductBySlug as Ze, fetchProductRecommendations as be, fetchProductsByBrand as qe } from "./index35.mjs";
36
36
  import { addCartItem as ze, applyDiscount as Ke, checkoutCart as Qe, createCart as Ve, fetchCart as $e, fetchCartRecommendations as je, fetchCartUpsellAddons as Ee, initiateCheckout as Je, removeCartItem as Le, removeDiscount as Ne, updateCart as We, updateCartItem as Xe } from "./index36.mjs";
37
37
  import { confirmDelivery as _e, confirmOrder as er, fetchOrder as rr, fetchOrderRecommendations as tr, updateDeliveryAddress as or } from "./index37.mjs";
38
- import { fetchDeliveryZones as ar } from "./index38.mjs";
38
+ import { fetchDeliveryZones as mr } from "./index38.mjs";
39
39
  import { fetchBrandBySlug as sr } from "./index39.mjs";
40
40
  import { queryKeys as pr } from "./index40.mjs";
41
41
  import * as e from "./index41.mjs";
42
42
  import * as r from "./index42.mjs";
43
43
  import { useAddCartItem as ur, useApplyDiscount as fr, useCheckoutCart as cr, useCreateCart as xr, useGetCart as Cr, useGetCartRecommendations as lr, useGetCartUpsellAddons as Pr, useInitiateCheckout as Ar, useRemoveCartItem as hr, useRemoveDiscount as Dr, useUpdateCart as vr, useUpdateCartItem as yr } from "./index43.mjs";
44
- import { useGetBrand as Gr } from "./index44.mjs";
45
- import { useGetProduct as Rr, useGetProductAddOns as Ir, useGetProductRecommendations as Or, useGetProducts as Sr } from "./index45.mjs";
44
+ import { useGetBrand as kr } from "./index44.mjs";
45
+ import { useGetProduct as gr, useGetProductAddOns as Ir, useGetProductRecommendations as Or, useGetProducts as Sr } from "./index45.mjs";
46
46
  import { useConfirmDelivery as Tr, useConfirmOrder as Ur, useGetOrder as Mr, useGetOrderRecommendations as Fr, useUpdateDeliveryAddress as Hr } from "./index46.mjs";
47
47
  import { useGetDeliveryZones as br } from "./index47.mjs";
48
48
  export {
49
- w as AddOnsDiscountScreen,
49
+ K as AddOnsDiscountScreen,
50
50
  ye as ApiClientProvider,
51
- j as AssistantDrawer,
52
- me as Badge,
51
+ J as AssistantDrawer,
52
+ ae as Badge,
53
53
  X as Button,
54
54
  _ as Card,
55
55
  ee as CardContent,
@@ -57,28 +57,27 @@ export {
57
57
  te as CardFooter,
58
58
  oe as CardHeader,
59
59
  ie as CardTitle,
60
- T as CartItem,
61
- m as CartProvider,
62
- b as CartUpsellScreen,
63
- V as Checkout,
64
- h as DeliveryConfirmation,
65
- K as DiscountCodeInput,
60
+ M as CartItem,
61
+ a as CartProvider,
62
+ w as CartUpsellScreen,
63
+ j as Checkout,
64
+ v as DeliveryConfirmation,
65
+ V as DiscountCodeInput,
66
66
  ne as FormInput,
67
67
  fe as FormSelect,
68
- p as MetaPixelProvider,
68
+ u as MetaPixelProvider,
69
69
  de as Modal,
70
- P as OrderConfirmation,
71
- k as ProductAddOns,
72
- J as ProductAssistantChips,
73
- v as ProductCard,
74
- g as ProductGrid,
75
- M as QuantitySelector,
76
- I as RecommendedProducts,
77
- N as SearchAssistantTrigger,
78
- H as ShoppingCart,
70
+ h as OrderConfirmation,
71
+ I as ProductAddOns,
72
+ N as ProductAssistantChips,
73
+ G as ProductCard,
74
+ R as ProductGrid,
75
+ H as QuantitySelector,
76
+ S as RecommendedProducts,
77
+ b as ShoppingCart,
79
78
  i as StorefrontProvider,
80
- f as TikTokPixelProvider,
81
- S as VariantPickerModal,
79
+ x as TikTokPixelProvider,
80
+ T as VariantPickerModal,
82
81
  ze as addCartItem,
83
82
  r as adminApi,
84
83
  Ke as applyDiscount,
@@ -95,7 +94,7 @@ export {
95
94
  $e as fetchCart,
96
95
  je as fetchCartRecommendations,
97
96
  Ee as fetchCartUpsellAddons,
98
- ar as fetchDeliveryZones,
97
+ mr as fetchDeliveryZones,
99
98
  rr as fetchOrder,
100
99
  tr as fetchOrderRecommendations,
101
100
  He as fetchProductAddons,
@@ -119,31 +118,32 @@ export {
119
118
  Xe as updateCartItem,
120
119
  or as updateDeliveryAddress,
121
120
  ur as useAddCartItem,
122
- ge as useApiClientContext,
123
- ke as useApiConfig,
121
+ Ge as useApiClientContext,
122
+ Re as useApiConfig,
124
123
  fr as useApplyDiscount,
124
+ p as useAssistant,
125
125
  s as useCart,
126
126
  cr as useCheckoutCart,
127
127
  Tr as useConfirmDelivery,
128
128
  Ur as useConfirmOrder,
129
129
  xr as useCreateCart,
130
- Gr as useGetBrand,
130
+ kr as useGetBrand,
131
131
  Cr as useGetCart,
132
132
  lr as useGetCartRecommendations,
133
133
  Pr as useGetCartUpsellAddons,
134
134
  br as useGetDeliveryZones,
135
135
  Mr as useGetOrder,
136
136
  Fr as useGetOrderRecommendations,
137
- Rr as useGetProduct,
137
+ gr as useGetProduct,
138
138
  Ir as useGetProductAddOns,
139
139
  Or as useGetProductRecommendations,
140
140
  Sr as useGetProducts,
141
141
  Ar as useInitiateCheckout,
142
- n as useMetaPixel,
143
- C as usePageTracking,
142
+ f as useMetaPixel,
143
+ P as usePageTracking,
144
144
  hr as useRemoveCartItem,
145
145
  Dr as useRemoveDiscount,
146
- c as useTikTokPixel,
146
+ C as useTikTokPixel,
147
147
  vr as useUpdateCart,
148
148
  yr as useUpdateCartItem,
149
149
  Hr as useUpdateDeliveryAddress
package/dist/index10.mjs CHANGED
@@ -1,83 +1,113 @@
1
1
  'use client';
2
- import { jsx as e, jsxs as s } from "react/jsx-runtime";
3
- import "./index31.mjs";
4
- import "@tanstack/react-query";
5
- import { useGetProducts as C } from "./index45.mjs";
6
- import { ProductCard as k } from "./index9.mjs";
7
- import { Loader2 as j, Package as d } from "lucide-react";
8
- import { cn as P } from "./index30.mjs";
9
- function q({
10
- brandId: l,
11
- onAddToCart: n,
12
- onProductClick: t,
13
- columns: o = 3,
14
- showStock: m = !0,
15
- className: p,
16
- cardClassName: g,
17
- showLoading: u = !0,
18
- emptyMessage: x = "No products available at the moment.",
19
- errorMessage: h = "Failed to load products. Please try again later.",
20
- loadingVariantId: f
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 "./index25.mjs";
5
+ import { Button as I } from "./index24.mjs";
6
+ import { Badge as h } from "./index26.mjs";
7
+ import { Package as O, ShoppingCart as q } from "lucide-react";
8
+ import { cn as p, formatCurrency as g } from "./index30.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
21
18
  }) {
22
- const { data: N, isLoading: v, error: b } = C(l);
23
- if (v && u)
24
- return /* @__PURE__ */ e("div", { className: "flex min-h-[400px] items-center justify-center", children: /* @__PURE__ */ s("div", { className: "text-center", children: [
25
- /* @__PURE__ */ e(j, { className: "mx-auto mb-4 h-12 w-12 animate-spin text-blue-600" }),
26
- /* @__PURE__ */ e("p", { className: "text-gray-600", children: "Loading products..." })
27
- ] }) });
28
- if (b)
29
- return /* @__PURE__ */ e("div", { className: "flex min-h-[400px] items-center justify-center", children: /* @__PURE__ */ s("div", { className: "text-center", children: [
30
- /* @__PURE__ */ e(d, { className: "mx-auto mb-4 h-12 w-12 text-red-600" }),
31
- /* @__PURE__ */ e("p", { className: "text-red-600", children: h })
32
- ] }) });
33
- const a = N || [];
34
- return a.length === 0 ? /* @__PURE__ */ e("div", { className: "flex min-h-[400px] items-center justify-center", children: /* @__PURE__ */ s("div", { className: "text-center", children: [
35
- /* @__PURE__ */ e(d, { className: "mx-auto mb-4 h-12 w-12 text-gray-400" }),
36
- /* @__PURE__ */ e("p", { className: "text-gray-600", children: x })
37
- ] }) }) : /* @__PURE__ */ e(
38
- "div",
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);
24
+ };
25
+ return /* @__PURE__ */ l(
26
+ P,
39
27
  {
40
- className: P(
41
- "grid gap-6",
42
- {
43
- 2: "grid-cols-1 sm:grid-cols-2",
44
- 3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
45
- 4: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4"
46
- }[o],
47
- p
28
+ className: p(
29
+ "group overflow-hidden transition-all hover:shadow-lg",
30
+ i && "cursor-pointer",
31
+ x
48
32
  ),
49
- children: a.map((i) => {
50
- const c = {
51
- id: i.id,
52
- name: i.name,
53
- description: i.description || void 0,
54
- thumbnailUrl: i.thumbnailUrl || void 0,
55
- brand: void 0,
56
- // Brand info not included in product response
57
- variants: i.variants.map((r) => ({
58
- id: r.id,
59
- name: r.name || r.sku,
60
- price: typeof r.price == "string" ? parseFloat(r.price) : r.price,
61
- sku: r.sku,
62
- stock: r.stock || void 0
63
- }))
64
- }, y = i.variants.some((r) => r.id === f);
65
- return /* @__PURE__ */ e(
66
- k,
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",
38
+ {
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
+ )
45
+ }
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
+ ] })
53
+ ] }),
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
+ )
75
+ ] }),
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",
81
+ {
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"
91
+ }
92
+ )
93
+ ] })
94
+ ] }),
95
+ /* @__PURE__ */ a(j, { className: "p-4 pt-0", children: /* @__PURE__ */ a(
96
+ I,
67
97
  {
68
- product: c,
69
- onAddToCart: n,
70
- onClick: t ? () => t(c) : void 0,
71
- showStock: m,
72
- className: g,
73
- isAddingToCart: y
74
- },
75
- i.id
76
- );
77
- })
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"
104
+ ] })
105
+ }
106
+ ) })
107
+ ]
78
108
  }
79
109
  );
80
110
  }
81
111
  export {
82
- q as ProductGrid
112
+ D as ProductCard
83
113
  };
package/dist/index100.mjs CHANGED
@@ -1,12 +1,57 @@
1
1
  'use client';
2
- import r from "./index105.mjs";
3
- import i from "./index94.mjs";
4
- function l(o, t, e) {
5
- r.call(this, o ?? "canceled", r.ERR_CANCELED, t, e), this.name = "CanceledError";
2
+ import c from "./index89.mjs";
3
+ function r(t, i, o, a, e) {
4
+ Error.call(this), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = new Error().stack, this.message = t, this.name = "AxiosError", i && (this.code = i), o && (this.config = o), a && (this.request = a), e && (this.response = e, this.status = e.status ? e.status : null);
6
5
  }
7
- i.inherits(l, r, {
8
- __CANCEL__: !0
6
+ c.inherits(r, Error, {
7
+ toJSON: function() {
8
+ return {
9
+ // Standard
10
+ message: this.message,
11
+ name: this.name,
12
+ // Microsoft
13
+ description: this.description,
14
+ number: this.number,
15
+ // Mozilla
16
+ fileName: this.fileName,
17
+ lineNumber: this.lineNumber,
18
+ columnNumber: this.columnNumber,
19
+ stack: this.stack,
20
+ // Axios
21
+ config: c.toJSONObject(this.config),
22
+ code: this.code,
23
+ status: this.status
24
+ };
25
+ }
9
26
  });
27
+ const u = r.prototype, R = {};
28
+ [
29
+ "ERR_BAD_OPTION_VALUE",
30
+ "ERR_BAD_OPTION",
31
+ "ECONNABORTED",
32
+ "ETIMEDOUT",
33
+ "ERR_NETWORK",
34
+ "ERR_FR_TOO_MANY_REDIRECTS",
35
+ "ERR_DEPRECATED",
36
+ "ERR_BAD_RESPONSE",
37
+ "ERR_BAD_REQUEST",
38
+ "ERR_CANCELED",
39
+ "ERR_NOT_SUPPORT",
40
+ "ERR_INVALID_URL"
41
+ // eslint-disable-next-line func-names
42
+ ].forEach((t) => {
43
+ R[t] = { value: t };
44
+ });
45
+ Object.defineProperties(r, R);
46
+ Object.defineProperty(u, "isAxiosError", { value: !0 });
47
+ r.from = (t, i, o, a, e, E) => {
48
+ const s = Object.create(u);
49
+ c.toFlatObject(t, s, function(m) {
50
+ return m !== Error.prototype;
51
+ }, (n) => n !== "isAxiosError");
52
+ const l = t && t.message ? t.message : "Error", h = i == null && t ? t.code : i;
53
+ return r.call(s, l, h, o, a, e), t && s.cause == null && Object.defineProperty(s, "cause", { value: t, configurable: !0 }), s.name = t && t.name || "Error", E && Object.assign(s, E), s;
54
+ };
10
55
  export {
11
- l as default
56
+ r as default
12
57
  };
package/dist/index101.mjs CHANGED
@@ -1,78 +1,9 @@
1
1
  'use client';
2
- import u from "./index100.mjs";
3
- class c {
4
- constructor(e) {
5
- if (typeof e != "function")
6
- throw new TypeError("executor must be a function.");
7
- let t;
8
- this.promise = new Promise(function(r) {
9
- t = r;
10
- });
11
- const s = this;
12
- this.promise.then((n) => {
13
- if (!s._listeners) return;
14
- let r = s._listeners.length;
15
- for (; r-- > 0; )
16
- s._listeners[r](n);
17
- s._listeners = null;
18
- }), this.promise.then = (n) => {
19
- let r;
20
- const o = new Promise((i) => {
21
- s.subscribe(i), r = i;
22
- }).then(n);
23
- return o.cancel = function() {
24
- s.unsubscribe(r);
25
- }, o;
26
- }, e(function(r, o, i) {
27
- s.reason || (s.reason = new u(r, o, i), t(s.reason));
28
- });
29
- }
30
- /**
31
- * Throws a `CanceledError` if cancellation has been requested.
32
- */
33
- throwIfRequested() {
34
- if (this.reason)
35
- throw this.reason;
36
- }
37
- /**
38
- * Subscribe to the cancel signal
39
- */
40
- subscribe(e) {
41
- if (this.reason) {
42
- e(this.reason);
43
- return;
44
- }
45
- this._listeners ? this._listeners.push(e) : this._listeners = [e];
46
- }
47
- /**
48
- * Unsubscribe from the cancel signal
49
- */
50
- unsubscribe(e) {
51
- if (!this._listeners)
52
- return;
53
- const t = this._listeners.indexOf(e);
54
- t !== -1 && this._listeners.splice(t, 1);
55
- }
56
- toAbortSignal() {
57
- const e = new AbortController(), t = (s) => {
58
- e.abort(s);
59
- };
60
- return this.subscribe(t), e.signal.unsubscribe = () => this.unsubscribe(t), e.signal;
61
- }
62
- /**
63
- * Returns an object that contains a new `CancelToken` and a function that, when called,
64
- * cancels the `CancelToken`.
65
- */
66
- static source() {
67
- let e;
68
- return {
69
- token: new c(function(n) {
70
- e = n;
71
- }),
72
- cancel: e
73
- };
74
- }
2
+ function u(n) {
3
+ return function(r) {
4
+ return n.apply(null, r);
5
+ };
75
6
  }
76
7
  export {
77
- c as default
8
+ u as default
78
9
  };
package/dist/index102.mjs CHANGED
@@ -1,7 +1,8 @@
1
1
  'use client';
2
- function t(n) {
3
- return !!(n && n.__CANCEL__);
2
+ import i from "./index89.mjs";
3
+ function o(r) {
4
+ return i.isObject(r) && r.isAxiosError === !0;
4
5
  }
5
6
  export {
6
- t as default
7
+ o as default
7
8
  };