@enadhq/enad-react-sdk 1.0.0 → 1.0.2

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 (875) hide show
  1. package/README.md +288 -0
  2. package/dist/client/cart/adapters/brink.d.ts +29 -0
  3. package/dist/client/cart/adapters/brink.d.ts.map +1 -0
  4. package/dist/client/cart/adapters/brink.mjs +154 -0
  5. package/dist/client/cart/adapters/brink.mjs.map +1 -0
  6. package/dist/client/cart/adapters/index.d.ts +3 -0
  7. package/dist/client/cart/adapters/index.d.ts.map +1 -0
  8. package/dist/client/cart/adapters/index.mjs +5 -0
  9. package/dist/client/cart/adapters/index.mjs.map +1 -0
  10. package/dist/client/cart/adapters/mock.d.ts +20 -0
  11. package/dist/client/cart/adapters/mock.d.ts.map +1 -0
  12. package/dist/client/cart/adapters/mock.mjs +76 -0
  13. package/dist/client/cart/adapters/mock.mjs.map +1 -0
  14. package/dist/client/cart/components/cart-drawer.d.ts +17 -0
  15. package/dist/client/cart/components/cart-drawer.d.ts.map +1 -0
  16. package/dist/client/cart/components/cart-drawer.mjs +311 -0
  17. package/dist/client/cart/components/cart-drawer.mjs.map +1 -0
  18. package/dist/client/cart/components/cart-trigger.d.ts +10 -0
  19. package/dist/client/cart/components/cart-trigger.d.ts.map +1 -0
  20. package/dist/client/cart/components/cart-trigger.mjs +34 -0
  21. package/dist/client/cart/components/cart-trigger.mjs.map +1 -0
  22. package/dist/client/cart/components/promo-code-input.d.ts +16 -0
  23. package/dist/client/cart/components/promo-code-input.d.ts.map +1 -0
  24. package/dist/client/cart/components/promo-code-input.mjs +92 -0
  25. package/dist/client/cart/components/promo-code-input.mjs.map +1 -0
  26. package/dist/client/cart/constants/session.d.ts +2 -0
  27. package/dist/client/cart/constants/session.d.ts.map +1 -0
  28. package/dist/client/cart/constants/session.mjs +5 -0
  29. package/dist/client/cart/constants/session.mjs.map +1 -0
  30. package/dist/client/cart/contexts/cart.d.ts +36 -0
  31. package/dist/client/cart/contexts/cart.d.ts.map +1 -0
  32. package/dist/client/cart/contexts/cart.mjs +20 -0
  33. package/dist/client/cart/contexts/cart.mjs.map +1 -0
  34. package/dist/client/cart/hooks/useCart.d.ts +26 -0
  35. package/dist/client/cart/hooks/useCart.d.ts.map +1 -0
  36. package/dist/client/cart/hooks/useCart.mjs +25 -0
  37. package/dist/client/cart/hooks/useCart.mjs.map +1 -0
  38. package/dist/client/cart/hooks/useCartActions.d.ts +25 -0
  39. package/dist/client/cart/hooks/useCartActions.d.ts.map +1 -0
  40. package/dist/client/cart/hooks/useCartActions.mjs +49 -0
  41. package/dist/client/cart/hooks/useCartActions.mjs.map +1 -0
  42. package/dist/client/cart/index.d.ts +12 -0
  43. package/dist/client/cart/index.d.ts.map +1 -0
  44. package/dist/client/cart/index.mjs +16 -0
  45. package/dist/client/cart/index.mjs.map +1 -0
  46. package/dist/client/cart/queries/addToCartQueryFn.d.ts +7 -0
  47. package/dist/client/cart/queries/addToCartQueryFn.d.ts.map +1 -0
  48. package/dist/client/cart/queries/addToCartQueryFn.mjs +27 -0
  49. package/dist/client/cart/queries/addToCartQueryFn.mjs.map +1 -0
  50. package/dist/client/cart/queries/getCartQueryFn.d.ts +4 -0
  51. package/dist/client/cart/queries/getCartQueryFn.d.ts.map +1 -0
  52. package/dist/client/cart/queries/getCartQueryFn.mjs +34 -0
  53. package/dist/client/cart/queries/getCartQueryFn.mjs.map +1 -0
  54. package/dist/client/cart/queries/removeCartItemQueryFn.d.ts +6 -0
  55. package/dist/client/cart/queries/removeCartItemQueryFn.d.ts.map +1 -0
  56. package/dist/client/cart/queries/removeCartItemQueryFn.mjs +24 -0
  57. package/dist/client/cart/queries/removeCartItemQueryFn.mjs.map +1 -0
  58. package/dist/client/cart/queries/updateCartItemQueryFn.d.ts +7 -0
  59. package/dist/client/cart/queries/updateCartItemQueryFn.d.ts.map +1 -0
  60. package/dist/client/cart/queries/updateCartItemQueryFn.mjs +27 -0
  61. package/dist/client/cart/queries/updateCartItemQueryFn.mjs.map +1 -0
  62. package/dist/client/cart/types/adapter.d.ts +110 -0
  63. package/dist/client/cart/types/adapter.d.ts.map +1 -0
  64. package/dist/client/cart/types/adapter.mjs +12 -0
  65. package/dist/client/cart/types/adapter.mjs.map +1 -0
  66. package/dist/client/cart/types/cart.d.ts +52 -0
  67. package/dist/client/cart/types/cart.d.ts.map +1 -0
  68. package/dist/client/cart/types/cart.mjs +1 -0
  69. package/dist/client/cart/types/cart.mjs.map +1 -0
  70. package/dist/client/cart/utils/session.d.ts +5 -0
  71. package/dist/client/cart/utils/session.d.ts.map +1 -0
  72. package/dist/client/cart/utils/session.mjs +21 -0
  73. package/dist/client/cart/utils/session.mjs.map +1 -0
  74. package/dist/client/cms/storyblok/preview/registerStoryblokBridge.d.ts +7 -0
  75. package/dist/client/cms/storyblok/preview/registerStoryblokBridge.d.ts.map +1 -0
  76. package/dist/client/cms/storyblok/preview/registerStoryblokBridge.mjs +25 -0
  77. package/dist/client/cms/storyblok/preview/registerStoryblokBridge.mjs.map +1 -0
  78. package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.d.ts +20 -0
  79. package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.d.ts.map +1 -0
  80. package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.mjs +79 -0
  81. package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.mjs.map +1 -0
  82. package/dist/client/global/auth/withAuth.d.ts +5 -0
  83. package/dist/client/global/auth/withAuth.d.ts.map +1 -0
  84. package/dist/client/global/auth/withAuth.mjs +25 -0
  85. package/dist/client/global/auth/withAuth.mjs.map +1 -0
  86. package/dist/client/global/components/error-boundary.d.ts +18 -0
  87. package/dist/client/global/components/error-boundary.d.ts.map +1 -0
  88. package/dist/client/global/components/error-boundary.mjs +41 -0
  89. package/dist/client/global/components/error-boundary.mjs.map +1 -0
  90. package/dist/client/global/config/index.d.ts +17 -0
  91. package/dist/client/global/config/index.d.ts.map +1 -0
  92. package/dist/client/global/config/index.mjs +34 -0
  93. package/dist/client/global/config/index.mjs.map +1 -0
  94. package/dist/client/global/constants/tags.d.ts +15 -0
  95. package/dist/client/global/constants/tags.d.ts.map +1 -0
  96. package/dist/client/global/constants/tags.mjs +18 -0
  97. package/dist/client/global/constants/tags.mjs.map +1 -0
  98. package/dist/client/global/index.d.ts +6 -0
  99. package/dist/client/global/index.d.ts.map +1 -0
  100. package/dist/client/global/index.mjs +7 -0
  101. package/dist/client/global/index.mjs.map +1 -0
  102. package/dist/client/global/providers/enad-provider.d.ts +48 -0
  103. package/dist/client/global/providers/enad-provider.d.ts.map +1 -0
  104. package/dist/client/global/providers/enad-provider.mjs +40 -0
  105. package/dist/client/global/providers/enad-provider.mjs.map +1 -0
  106. package/dist/client/icons/adapters/hugeicons.d.ts +9 -0
  107. package/dist/client/icons/adapters/hugeicons.d.ts.map +1 -0
  108. package/dist/client/icons/adapters/hugeicons.mjs +117 -0
  109. package/dist/client/icons/adapters/hugeicons.mjs.map +1 -0
  110. package/dist/client/icons/adapters/lucide.d.ts +8 -0
  111. package/dist/client/icons/adapters/lucide.d.ts.map +1 -0
  112. package/dist/client/icons/adapters/lucide.mjs +108 -0
  113. package/dist/client/icons/adapters/lucide.mjs.map +1 -0
  114. package/dist/client/icons/adapters/phosphor.d.ts +11 -0
  115. package/dist/client/icons/adapters/phosphor.d.ts.map +1 -0
  116. package/dist/client/icons/adapters/phosphor.mjs +108 -0
  117. package/dist/client/icons/adapters/phosphor.mjs.map +1 -0
  118. package/dist/client/icons/icon-context.d.ts +13 -0
  119. package/dist/client/icons/icon-context.d.ts.map +1 -0
  120. package/dist/client/icons/icon-context.mjs +27 -0
  121. package/dist/client/icons/icon-context.mjs.map +1 -0
  122. package/dist/client/icons/index.d.ts +9 -0
  123. package/dist/client/icons/index.d.ts.map +1 -0
  124. package/dist/client/icons/index.mjs +16 -0
  125. package/dist/client/icons/index.mjs.map +1 -0
  126. package/dist/client/icons/types.d.ts +60 -0
  127. package/dist/client/icons/types.d.ts.map +1 -0
  128. package/dist/client/icons/types.mjs +1 -0
  129. package/dist/client/icons/types.mjs.map +1 -0
  130. package/dist/client/motion/config.d.ts +42 -0
  131. package/dist/client/motion/config.d.ts.map +1 -0
  132. package/dist/client/motion/config.mjs +44 -0
  133. package/dist/client/motion/config.mjs.map +1 -0
  134. package/dist/client/motion/hover.d.ts +36 -0
  135. package/dist/client/motion/hover.d.ts.map +1 -0
  136. package/dist/client/motion/hover.mjs +19 -0
  137. package/dist/client/motion/hover.mjs.map +1 -0
  138. package/dist/client/motion/index.d.ts +4 -0
  139. package/dist/client/motion/index.d.ts.map +1 -0
  140. package/dist/client/motion/index.mjs +13 -0
  141. package/dist/client/motion/index.mjs.map +1 -0
  142. package/dist/client/motion/stagger.d.ts +36 -0
  143. package/dist/client/motion/stagger.d.ts.map +1 -0
  144. package/dist/client/motion/stagger.mjs +17 -0
  145. package/dist/client/motion/stagger.mjs.map +1 -0
  146. package/dist/client/search/actions/searchAction.d.ts +2 -0
  147. package/dist/client/search/actions/searchAction.d.ts.map +1 -0
  148. package/dist/client/search/actions/searchAction.mjs +18 -0
  149. package/dist/client/search/actions/searchAction.mjs.map +1 -0
  150. package/dist/client/search/components/search-bar.d.ts +8 -0
  151. package/dist/client/search/components/search-bar.d.ts.map +1 -0
  152. package/dist/client/search/components/search-bar.mjs +34 -0
  153. package/dist/client/search/components/search-bar.mjs.map +1 -0
  154. package/dist/client/search/hooks/useSearch.d.ts +14 -0
  155. package/dist/client/search/hooks/useSearch.d.ts.map +1 -0
  156. package/dist/client/search/hooks/useSearch.mjs +37 -0
  157. package/dist/client/search/hooks/useSearch.mjs.map +1 -0
  158. package/dist/client/search/index.d.ts +2 -0
  159. package/dist/client/search/index.d.ts.map +1 -0
  160. package/dist/client/search/index.mjs +5 -0
  161. package/dist/client/search/index.mjs.map +1 -0
  162. package/dist/client/storefront/blocks/accordion-block.d.ts +4 -0
  163. package/dist/client/storefront/blocks/accordion-block.d.ts.map +1 -0
  164. package/dist/client/storefront/blocks/accordion-block.mjs +43 -0
  165. package/dist/client/storefront/blocks/accordion-block.mjs.map +1 -0
  166. package/dist/client/storefront/blocks/card-image-with-caption.d.ts +4 -0
  167. package/dist/client/storefront/blocks/card-image-with-caption.d.ts.map +1 -0
  168. package/dist/client/storefront/blocks/card-image-with-caption.mjs +27 -0
  169. package/dist/client/storefront/blocks/card-image-with-caption.mjs.map +1 -0
  170. package/dist/client/storefront/blocks/card-video.d.ts +4 -0
  171. package/dist/client/storefront/blocks/card-video.d.ts.map +1 -0
  172. package/dist/client/storefront/blocks/card-video.mjs +43 -0
  173. package/dist/client/storefront/blocks/card-video.mjs.map +1 -0
  174. package/dist/client/storefront/blocks/content-with-gallery.d.ts +4 -0
  175. package/dist/client/storefront/blocks/content-with-gallery.d.ts.map +1 -0
  176. package/dist/client/storefront/blocks/content-with-gallery.mjs +48 -0
  177. package/dist/client/storefront/blocks/content-with-gallery.mjs.map +1 -0
  178. package/dist/client/storefront/blocks/content-with-image-product-data.d.ts +4 -0
  179. package/dist/client/storefront/blocks/content-with-image-product-data.d.ts.map +1 -0
  180. package/dist/client/storefront/blocks/content-with-image-product-data.mjs +45 -0
  181. package/dist/client/storefront/blocks/content-with-image-product-data.mjs.map +1 -0
  182. package/dist/client/storefront/blocks/gallery-with-caption.d.ts +4 -0
  183. package/dist/client/storefront/blocks/gallery-with-caption.d.ts.map +1 -0
  184. package/dist/client/storefront/blocks/gallery-with-caption.mjs +36 -0
  185. package/dist/client/storefront/blocks/gallery-with-caption.mjs.map +1 -0
  186. package/dist/client/storefront/blocks/gallery-with-link-blocks.d.ts +4 -0
  187. package/dist/client/storefront/blocks/gallery-with-link-blocks.d.ts.map +1 -0
  188. package/dist/client/storefront/blocks/gallery-with-link-blocks.mjs +24 -0
  189. package/dist/client/storefront/blocks/gallery-with-link-blocks.mjs.map +1 -0
  190. package/dist/client/storefront/blocks/gallery.d.ts +4 -0
  191. package/dist/client/storefront/blocks/gallery.d.ts.map +1 -0
  192. package/dist/client/storefront/blocks/gallery.mjs +47 -0
  193. package/dist/client/storefront/blocks/gallery.mjs.map +1 -0
  194. package/dist/client/storefront/blocks/hero.d.ts +4 -0
  195. package/dist/client/storefront/blocks/hero.d.ts.map +1 -0
  196. package/dist/client/storefront/blocks/hero.mjs +357 -0
  197. package/dist/client/storefront/blocks/hero.mjs.map +1 -0
  198. package/dist/client/storefront/blocks/image-block.d.ts +4 -0
  199. package/dist/client/storefront/blocks/image-block.d.ts.map +1 -0
  200. package/dist/client/storefront/blocks/image-block.mjs +29 -0
  201. package/dist/client/storefront/blocks/image-block.mjs.map +1 -0
  202. package/dist/client/storefront/blocks/index.d.ts +20 -0
  203. package/dist/client/storefront/blocks/index.d.ts.map +1 -0
  204. package/dist/client/storefront/blocks/index.mjs +41 -0
  205. package/dist/client/storefront/blocks/index.mjs.map +1 -0
  206. package/dist/client/storefront/blocks/link-block-small.d.ts +4 -0
  207. package/dist/client/storefront/blocks/link-block-small.d.ts.map +1 -0
  208. package/dist/client/storefront/blocks/link-block-small.mjs +35 -0
  209. package/dist/client/storefront/blocks/link-block-small.mjs.map +1 -0
  210. package/dist/client/storefront/blocks/link-block.d.ts +4 -0
  211. package/dist/client/storefront/blocks/link-block.d.ts.map +1 -0
  212. package/dist/client/storefront/blocks/link-block.mjs +150 -0
  213. package/dist/client/storefront/blocks/link-block.mjs.map +1 -0
  214. package/dist/client/storefront/blocks/product-card.d.ts +4 -0
  215. package/dist/client/storefront/blocks/product-card.d.ts.map +1 -0
  216. package/dist/client/storefront/blocks/product-card.mjs +228 -0
  217. package/dist/client/storefront/blocks/product-card.mjs.map +1 -0
  218. package/dist/client/storefront/blocks/product-image.d.ts +4 -0
  219. package/dist/client/storefront/blocks/product-image.d.ts.map +1 -0
  220. package/dist/client/storefront/blocks/product-image.mjs +109 -0
  221. package/dist/client/storefront/blocks/product-image.mjs.map +1 -0
  222. package/dist/client/storefront/blocks/spacer.d.ts +4 -0
  223. package/dist/client/storefront/blocks/spacer.d.ts.map +1 -0
  224. package/dist/client/storefront/blocks/spacer.mjs +14 -0
  225. package/dist/client/storefront/blocks/spacer.mjs.map +1 -0
  226. package/dist/client/storefront/blocks/text-content-with-image.d.ts +4 -0
  227. package/dist/client/storefront/blocks/text-content-with-image.d.ts.map +1 -0
  228. package/dist/client/storefront/blocks/text-content-with-image.mjs +225 -0
  229. package/dist/client/storefront/blocks/text-content-with-image.mjs.map +1 -0
  230. package/dist/client/storefront/blocks/text-content.d.ts +4 -0
  231. package/dist/client/storefront/blocks/text-content.d.ts.map +1 -0
  232. package/dist/client/storefront/blocks/text-content.mjs +150 -0
  233. package/dist/client/storefront/blocks/text-content.mjs.map +1 -0
  234. package/dist/client/storefront/blocks/truncated-text.d.ts +4 -0
  235. package/dist/client/storefront/blocks/truncated-text.d.ts.map +1 -0
  236. package/dist/client/storefront/blocks/truncated-text.mjs +36 -0
  237. package/dist/client/storefront/blocks/truncated-text.mjs.map +1 -0
  238. package/dist/client/storefront/blocks/variable-text-content.d.ts +4 -0
  239. package/dist/client/storefront/blocks/variable-text-content.d.ts.map +1 -0
  240. package/dist/client/storefront/blocks/variable-text-content.mjs +15 -0
  241. package/dist/client/storefront/blocks/variable-text-content.mjs.map +1 -0
  242. package/dist/client/storefront/carousel/index.d.ts +2 -0
  243. package/dist/client/storefront/carousel/index.d.ts.map +1 -0
  244. package/dist/client/storefront/carousel/index.mjs +5 -0
  245. package/dist/client/storefront/carousel/index.mjs.map +1 -0
  246. package/dist/client/storefront/carousel/swipeable-carousel.d.ts +14 -0
  247. package/dist/client/storefront/carousel/swipeable-carousel.d.ts.map +1 -0
  248. package/dist/client/storefront/carousel/swipeable-carousel.mjs +80 -0
  249. package/dist/client/storefront/carousel/swipeable-carousel.mjs.map +1 -0
  250. package/dist/client/storefront/checkout/address-form.d.ts +31 -0
  251. package/dist/client/storefront/checkout/address-form.d.ts.map +1 -0
  252. package/dist/client/storefront/checkout/address-form.mjs +124 -0
  253. package/dist/client/storefront/checkout/address-form.mjs.map +1 -0
  254. package/dist/client/storefront/checkout/cart-summary.d.ts +40 -0
  255. package/dist/client/storefront/checkout/cart-summary.d.ts.map +1 -0
  256. package/dist/client/storefront/checkout/cart-summary.mjs +150 -0
  257. package/dist/client/storefront/checkout/cart-summary.mjs.map +1 -0
  258. package/dist/client/storefront/checkout/checkout-stepper.d.ts +13 -0
  259. package/dist/client/storefront/checkout/checkout-stepper.d.ts.map +1 -0
  260. package/dist/client/storefront/checkout/checkout-stepper.mjs +58 -0
  261. package/dist/client/storefront/checkout/checkout-stepper.mjs.map +1 -0
  262. package/dist/client/storefront/checkout/index.d.ts +15 -0
  263. package/dist/client/storefront/checkout/index.d.ts.map +1 -0
  264. package/dist/client/storefront/checkout/index.mjs +17 -0
  265. package/dist/client/storefront/checkout/index.mjs.map +1 -0
  266. package/dist/client/storefront/checkout/order-confirmation.d.ts +10 -0
  267. package/dist/client/storefront/checkout/order-confirmation.d.ts.map +1 -0
  268. package/dist/client/storefront/checkout/order-confirmation.mjs +27 -0
  269. package/dist/client/storefront/checkout/order-confirmation.mjs.map +1 -0
  270. package/dist/client/storefront/checkout/order-summary.d.ts +29 -0
  271. package/dist/client/storefront/checkout/order-summary.d.ts.map +1 -0
  272. package/dist/client/storefront/checkout/order-summary.mjs +106 -0
  273. package/dist/client/storefront/checkout/order-summary.mjs.map +1 -0
  274. package/dist/client/storefront/checkout/payment-method-selector.d.ts +18 -0
  275. package/dist/client/storefront/checkout/payment-method-selector.d.ts.map +1 -0
  276. package/dist/client/storefront/checkout/payment-method-selector.mjs +61 -0
  277. package/dist/client/storefront/checkout/payment-method-selector.mjs.map +1 -0
  278. package/dist/client/storefront/checkout/shipping-method-selector.d.ts +23 -0
  279. package/dist/client/storefront/checkout/shipping-method-selector.d.ts.map +1 -0
  280. package/dist/client/storefront/checkout/shipping-method-selector.mjs +77 -0
  281. package/dist/client/storefront/checkout/shipping-method-selector.mjs.map +1 -0
  282. package/dist/client/storefront/components/badge.d.ts +8 -0
  283. package/dist/client/storefront/components/badge.d.ts.map +1 -0
  284. package/dist/client/storefront/components/badge.mjs +28 -0
  285. package/dist/client/storefront/components/badge.mjs.map +1 -0
  286. package/dist/client/storefront/components/country-redirect.d.ts +30 -0
  287. package/dist/client/storefront/components/country-redirect.d.ts.map +1 -0
  288. package/dist/client/storefront/components/country-redirect.mjs +121 -0
  289. package/dist/client/storefront/components/country-redirect.mjs.map +1 -0
  290. package/dist/client/storefront/components/empty-state.d.ts +38 -0
  291. package/dist/client/storefront/components/empty-state.d.ts.map +1 -0
  292. package/dist/client/storefront/components/empty-state.mjs +55 -0
  293. package/dist/client/storefront/components/empty-state.mjs.map +1 -0
  294. package/dist/client/storefront/components/image-lightbox.d.ts +13 -0
  295. package/dist/client/storefront/components/image-lightbox.d.ts.map +1 -0
  296. package/dist/client/storefront/components/image-lightbox.mjs +275 -0
  297. package/dist/client/storefront/components/image-lightbox.mjs.map +1 -0
  298. package/dist/client/storefront/components/infinite-scroll.d.ts +37 -0
  299. package/dist/client/storefront/components/infinite-scroll.d.ts.map +1 -0
  300. package/dist/client/storefront/components/infinite-scroll.mjs +83 -0
  301. package/dist/client/storefront/components/infinite-scroll.mjs.map +1 -0
  302. package/dist/client/storefront/components/language-selector.d.ts +5 -0
  303. package/dist/client/storefront/components/language-selector.d.ts.map +1 -0
  304. package/dist/client/storefront/components/language-selector.mjs +58 -0
  305. package/dist/client/storefront/components/language-selector.mjs.map +1 -0
  306. package/dist/client/storefront/components/newsletter-signup.d.ts +14 -0
  307. package/dist/client/storefront/components/newsletter-signup.d.ts.map +1 -0
  308. package/dist/client/storefront/components/newsletter-signup.mjs +81 -0
  309. package/dist/client/storefront/components/newsletter-signup.mjs.map +1 -0
  310. package/dist/client/storefront/components/price.d.ts +14 -0
  311. package/dist/client/storefront/components/price.d.ts.map +1 -0
  312. package/dist/client/storefront/components/price.mjs +46 -0
  313. package/dist/client/storefront/components/price.mjs.map +1 -0
  314. package/dist/client/storefront/components/product-recommendations.d.ts +18 -0
  315. package/dist/client/storefront/components/product-recommendations.d.ts.map +1 -0
  316. package/dist/client/storefront/components/product-recommendations.mjs +108 -0
  317. package/dist/client/storefront/components/product-recommendations.mjs.map +1 -0
  318. package/dist/client/storefront/components/product-tabs.d.ts +12 -0
  319. package/dist/client/storefront/components/product-tabs.d.ts.map +1 -0
  320. package/dist/client/storefront/components/product-tabs.mjs +64 -0
  321. package/dist/client/storefront/components/product-tabs.mjs.map +1 -0
  322. package/dist/client/storefront/components/quick-view.d.ts +25 -0
  323. package/dist/client/storefront/components/quick-view.d.ts.map +1 -0
  324. package/dist/client/storefront/components/quick-view.mjs +149 -0
  325. package/dist/client/storefront/components/quick-view.mjs.map +1 -0
  326. package/dist/client/storefront/components/review-summary.d.ts +17 -0
  327. package/dist/client/storefront/components/review-summary.d.ts.map +1 -0
  328. package/dist/client/storefront/components/review-summary.mjs +66 -0
  329. package/dist/client/storefront/components/review-summary.mjs.map +1 -0
  330. package/dist/client/storefront/components/search-autocomplete.d.ts +25 -0
  331. package/dist/client/storefront/components/search-autocomplete.d.ts.map +1 -0
  332. package/dist/client/storefront/components/search-autocomplete.mjs +183 -0
  333. package/dist/client/storefront/components/search-autocomplete.mjs.map +1 -0
  334. package/dist/client/storefront/components/section-nav.d.ts +20 -0
  335. package/dist/client/storefront/components/section-nav.d.ts.map +1 -0
  336. package/dist/client/storefront/components/section-nav.mjs +175 -0
  337. package/dist/client/storefront/components/section-nav.mjs.map +1 -0
  338. package/dist/client/storefront/components/share-button.d.ts +19 -0
  339. package/dist/client/storefront/components/share-button.d.ts.map +1 -0
  340. package/dist/client/storefront/components/share-button.mjs +95 -0
  341. package/dist/client/storefront/components/share-button.mjs.map +1 -0
  342. package/dist/client/storefront/components/skeleton.d.ts +12 -0
  343. package/dist/client/storefront/components/skeleton.d.ts.map +1 -0
  344. package/dist/client/storefront/components/skeleton.mjs +70 -0
  345. package/dist/client/storefront/components/skeleton.mjs.map +1 -0
  346. package/dist/client/storefront/components/star-rating.d.ts +13 -0
  347. package/dist/client/storefront/components/star-rating.d.ts.map +1 -0
  348. package/dist/client/storefront/components/star-rating.mjs +240 -0
  349. package/dist/client/storefront/components/star-rating.mjs.map +1 -0
  350. package/dist/client/storefront/components/testimonial.d.ts +20 -0
  351. package/dist/client/storefront/components/testimonial.d.ts.map +1 -0
  352. package/dist/client/storefront/components/testimonial.mjs +53 -0
  353. package/dist/client/storefront/components/testimonial.mjs.map +1 -0
  354. package/dist/client/storefront/components/trust-badges.d.ts +14 -0
  355. package/dist/client/storefront/components/trust-badges.d.ts.map +1 -0
  356. package/dist/client/storefront/components/trust-badges.mjs +25 -0
  357. package/dist/client/storefront/components/trust-badges.mjs.map +1 -0
  358. package/dist/client/storefront/components/variant-selector.d.ts +21 -0
  359. package/dist/client/storefront/components/variant-selector.d.ts.map +1 -0
  360. package/dist/client/storefront/components/variant-selector.mjs +41 -0
  361. package/dist/client/storefront/components/variant-selector.mjs.map +1 -0
  362. package/dist/client/storefront/components/wishlist-toggle.d.ts +12 -0
  363. package/dist/client/storefront/components/wishlist-toggle.d.ts.map +1 -0
  364. package/dist/client/storefront/components/wishlist-toggle.mjs +58 -0
  365. package/dist/client/storefront/components/wishlist-toggle.mjs.map +1 -0
  366. package/dist/client/storefront/filters/filter-chip.d.ts +10 -0
  367. package/dist/client/storefront/filters/filter-chip.d.ts.map +1 -0
  368. package/dist/client/storefront/filters/filter-chip.mjs +30 -0
  369. package/dist/client/storefront/filters/filter-chip.mjs.map +1 -0
  370. package/dist/client/storefront/filters/filter-group.d.ts +22 -0
  371. package/dist/client/storefront/filters/filter-group.d.ts.map +1 -0
  372. package/dist/client/storefront/filters/filter-group.mjs +102 -0
  373. package/dist/client/storefront/filters/filter-group.mjs.map +1 -0
  374. package/dist/client/storefront/filters/filter-panel.d.ts +25 -0
  375. package/dist/client/storefront/filters/filter-panel.d.ts.map +1 -0
  376. package/dist/client/storefront/filters/filter-panel.mjs +110 -0
  377. package/dist/client/storefront/filters/filter-panel.mjs.map +1 -0
  378. package/dist/client/storefront/filters/index.d.ts +6 -0
  379. package/dist/client/storefront/filters/index.d.ts.map +1 -0
  380. package/dist/client/storefront/filters/index.mjs +13 -0
  381. package/dist/client/storefront/filters/index.mjs.map +1 -0
  382. package/dist/client/storefront/filters/sort-select.d.ts +12 -0
  383. package/dist/client/storefront/filters/sort-select.d.ts.map +1 -0
  384. package/dist/client/storefront/filters/sort-select.mjs +34 -0
  385. package/dist/client/storefront/filters/sort-select.mjs.map +1 -0
  386. package/dist/client/storefront/filters/toggle-list-view.d.ts +8 -0
  387. package/dist/client/storefront/filters/toggle-list-view.d.ts.map +1 -0
  388. package/dist/client/storefront/filters/toggle-list-view.mjs +30 -0
  389. package/dist/client/storefront/filters/toggle-list-view.mjs.map +1 -0
  390. package/dist/client/storefront/hooks/use-section-observer.d.ts +12 -0
  391. package/dist/client/storefront/hooks/use-section-observer.d.ts.map +1 -0
  392. package/dist/client/storefront/hooks/use-section-observer.mjs +46 -0
  393. package/dist/client/storefront/hooks/use-section-observer.mjs.map +1 -0
  394. package/dist/client/storefront/index.d.ts +24 -0
  395. package/dist/client/storefront/index.d.ts.map +1 -0
  396. package/dist/client/storefront/index.mjs +26 -0
  397. package/dist/client/storefront/index.mjs.map +1 -0
  398. package/dist/client/storefront/layout/footer.d.ts +4 -0
  399. package/dist/client/storefront/layout/footer.d.ts.map +1 -0
  400. package/dist/client/storefront/layout/footer.mjs +56 -0
  401. package/dist/client/storefront/layout/footer.mjs.map +1 -0
  402. package/dist/client/storefront/layout/header.d.ts +4 -0
  403. package/dist/client/storefront/layout/header.d.ts.map +1 -0
  404. package/dist/client/storefront/layout/header.mjs +367 -0
  405. package/dist/client/storefront/layout/header.mjs.map +1 -0
  406. package/dist/client/storefront/layout/index.d.ts +5 -0
  407. package/dist/client/storefront/layout/index.d.ts.map +1 -0
  408. package/dist/client/storefront/layout/index.mjs +11 -0
  409. package/dist/client/storefront/layout/index.mjs.map +1 -0
  410. package/dist/client/storefront/layout/mobile-menu-drawer.d.ts +4 -0
  411. package/dist/client/storefront/layout/mobile-menu-drawer.d.ts.map +1 -0
  412. package/dist/client/storefront/layout/mobile-menu-drawer.mjs +93 -0
  413. package/dist/client/storefront/layout/mobile-menu-drawer.mjs.map +1 -0
  414. package/dist/client/storefront/layout/promotion-bar.d.ts +4 -0
  415. package/dist/client/storefront/layout/promotion-bar.d.ts.map +1 -0
  416. package/dist/client/storefront/layout/promotion-bar.mjs +79 -0
  417. package/dist/client/storefront/layout/promotion-bar.mjs.map +1 -0
  418. package/dist/client/storefront/primitives/breadcrumbs.d.ts +12 -0
  419. package/dist/client/storefront/primitives/breadcrumbs.d.ts.map +1 -0
  420. package/dist/client/storefront/primitives/breadcrumbs.mjs +37 -0
  421. package/dist/client/storefront/primitives/breadcrumbs.mjs.map +1 -0
  422. package/dist/client/storefront/primitives/button.d.ts +12 -0
  423. package/dist/client/storefront/primitives/button.d.ts.map +1 -0
  424. package/dist/client/storefront/primitives/button.mjs +51 -0
  425. package/dist/client/storefront/primitives/button.mjs.map +1 -0
  426. package/dist/client/storefront/primitives/checkbox.d.ts +10 -0
  427. package/dist/client/storefront/primitives/checkbox.d.ts.map +1 -0
  428. package/dist/client/storefront/primitives/checkbox.mjs +23 -0
  429. package/dist/client/storefront/primitives/checkbox.mjs.map +1 -0
  430. package/dist/client/storefront/primitives/download-item.d.ts +9 -0
  431. package/dist/client/storefront/primitives/download-item.d.ts.map +1 -0
  432. package/dist/client/storefront/primitives/download-item.mjs +28 -0
  433. package/dist/client/storefront/primitives/download-item.mjs.map +1 -0
  434. package/dist/client/storefront/primitives/index.d.ts +10 -0
  435. package/dist/client/storefront/primitives/index.d.ts.map +1 -0
  436. package/dist/client/storefront/primitives/index.mjs +21 -0
  437. package/dist/client/storefront/primitives/index.mjs.map +1 -0
  438. package/dist/client/storefront/primitives/input.d.ts +18 -0
  439. package/dist/client/storefront/primitives/input.d.ts.map +1 -0
  440. package/dist/client/storefront/primitives/input.mjs +118 -0
  441. package/dist/client/storefront/primitives/input.mjs.map +1 -0
  442. package/dist/client/storefront/primitives/pagination.d.ts +9 -0
  443. package/dist/client/storefront/primitives/pagination.d.ts.map +1 -0
  444. package/dist/client/storefront/primitives/pagination.mjs +86 -0
  445. package/dist/client/storefront/primitives/pagination.mjs.map +1 -0
  446. package/dist/client/storefront/primitives/quick-links.d.ts +11 -0
  447. package/dist/client/storefront/primitives/quick-links.d.ts.map +1 -0
  448. package/dist/client/storefront/primitives/quick-links.mjs +17 -0
  449. package/dist/client/storefront/primitives/quick-links.mjs.map +1 -0
  450. package/dist/client/storefront/primitives/select.d.ts +16 -0
  451. package/dist/client/storefront/primitives/select.d.ts.map +1 -0
  452. package/dist/client/storefront/primitives/select.mjs +35 -0
  453. package/dist/client/storefront/primitives/select.mjs.map +1 -0
  454. package/dist/client/storefront/primitives/text-link.d.ts +7 -0
  455. package/dist/client/storefront/primitives/text-link.d.ts.map +1 -0
  456. package/dist/client/storefront/primitives/text-link.mjs +10 -0
  457. package/dist/client/storefront/primitives/text-link.mjs.map +1 -0
  458. package/dist/client/storefront/product/color-swatch.d.ts +10 -0
  459. package/dist/client/storefront/product/color-swatch.d.ts.map +1 -0
  460. package/dist/client/storefront/product/color-swatch.mjs +32 -0
  461. package/dist/client/storefront/product/color-swatch.mjs.map +1 -0
  462. package/dist/client/storefront/product/index.d.ts +5 -0
  463. package/dist/client/storefront/product/index.d.ts.map +1 -0
  464. package/dist/client/storefront/product/index.mjs +11 -0
  465. package/dist/client/storefront/product/index.mjs.map +1 -0
  466. package/dist/client/storefront/product/material-selector.d.ts +15 -0
  467. package/dist/client/storefront/product/material-selector.d.ts.map +1 -0
  468. package/dist/client/storefront/product/material-selector.mjs +35 -0
  469. package/dist/client/storefront/product/material-selector.mjs.map +1 -0
  470. package/dist/client/storefront/product/product-usp.d.ts +7 -0
  471. package/dist/client/storefront/product/product-usp.d.ts.map +1 -0
  472. package/dist/client/storefront/product/product-usp.mjs +14 -0
  473. package/dist/client/storefront/product/product-usp.mjs.map +1 -0
  474. package/dist/client/storefront/product/quantity-picker.d.ts +10 -0
  475. package/dist/client/storefront/product/quantity-picker.d.ts.map +1 -0
  476. package/dist/client/storefront/product/quantity-picker.mjs +56 -0
  477. package/dist/client/storefront/product/quantity-picker.mjs.map +1 -0
  478. package/dist/client/storefront/types.d.ts +284 -0
  479. package/dist/client/storefront/types.d.ts.map +1 -0
  480. package/dist/client/storefront/types.mjs +20 -0
  481. package/dist/client/storefront/types.mjs.map +1 -0
  482. package/dist/client/theme/apply.d.ts +17 -0
  483. package/dist/client/theme/apply.d.ts.map +1 -0
  484. package/dist/client/theme/apply.mjs +133 -0
  485. package/dist/client/theme/apply.mjs.map +1 -0
  486. package/dist/client/theme/cli.d.ts +2 -0
  487. package/dist/client/theme/cli.d.ts.map +1 -0
  488. package/dist/client/theme/cli.mjs +453 -0
  489. package/dist/client/theme/cli.mjs.map +1 -0
  490. package/dist/client/theme/codec.d.ts +28 -0
  491. package/dist/client/theme/codec.d.ts.map +1 -0
  492. package/dist/client/theme/codec.mjs +88 -0
  493. package/dist/client/theme/codec.mjs.map +1 -0
  494. package/dist/client/theme/defaults.d.ts +64 -0
  495. package/dist/client/theme/defaults.d.ts.map +1 -0
  496. package/dist/client/theme/defaults.mjs +158 -0
  497. package/dist/client/theme/defaults.mjs.map +1 -0
  498. package/dist/client/theme/index.d.ts +8 -0
  499. package/dist/client/theme/index.d.ts.map +1 -0
  500. package/dist/client/theme/index.mjs +20 -0
  501. package/dist/client/theme/index.mjs.map +1 -0
  502. package/dist/client/theme/scan.d.ts +16 -0
  503. package/dist/client/theme/scan.d.ts.map +1 -0
  504. package/dist/client/theme/scan.mjs +25 -0
  505. package/dist/client/theme/scan.mjs.map +1 -0
  506. package/dist/client/ui/accordion.d.ts +8 -0
  507. package/dist/client/ui/accordion.d.ts.map +1 -0
  508. package/dist/client/ui/accordion.mjs +66 -0
  509. package/dist/client/ui/accordion.mjs.map +1 -0
  510. package/dist/client/ui/breadcrumb.d.ts +12 -0
  511. package/dist/client/ui/breadcrumb.d.ts.map +1 -0
  512. package/dist/client/ui/breadcrumb.mjs +104 -0
  513. package/dist/client/ui/breadcrumb.mjs.map +1 -0
  514. package/dist/client/ui/button.d.ts +11 -0
  515. package/dist/client/ui/button.d.ts.map +1 -0
  516. package/dist/client/ui/button.mjs +57 -0
  517. package/dist/client/ui/button.mjs.map +1 -0
  518. package/dist/client/ui/card.d.ts +10 -0
  519. package/dist/client/ui/card.d.ts.map +1 -0
  520. package/dist/client/ui/card.mjs +91 -0
  521. package/dist/client/ui/card.mjs.map +1 -0
  522. package/dist/client/ui/carousel.d.ts +20 -0
  523. package/dist/client/ui/carousel.d.ts.map +1 -0
  524. package/dist/client/ui/carousel.mjs +202 -0
  525. package/dist/client/ui/carousel.mjs.map +1 -0
  526. package/dist/client/ui/checkbox.d.ts +5 -0
  527. package/dist/client/ui/checkbox.d.ts.map +1 -0
  528. package/dist/client/ui/checkbox.mjs +34 -0
  529. package/dist/client/ui/checkbox.mjs.map +1 -0
  530. package/dist/client/ui/collapsible.d.ts +6 -0
  531. package/dist/client/ui/collapsible.d.ts.map +1 -0
  532. package/dist/client/ui/collapsible.mjs +36 -0
  533. package/dist/client/ui/collapsible.mjs.map +1 -0
  534. package/dist/client/ui/input.d.ts +4 -0
  535. package/dist/client/ui/input.d.ts.map +1 -0
  536. package/dist/client/ui/input.mjs +22 -0
  537. package/dist/client/ui/input.mjs.map +1 -0
  538. package/dist/client/ui/label.d.ts +5 -0
  539. package/dist/client/ui/label.d.ts.map +1 -0
  540. package/dist/client/ui/label.mjs +23 -0
  541. package/dist/client/ui/label.mjs.map +1 -0
  542. package/dist/client/ui/mid-truncate.d.ts +27 -0
  543. package/dist/client/ui/mid-truncate.d.ts.map +1 -0
  544. package/dist/client/ui/mid-truncate.mjs +25 -0
  545. package/dist/client/ui/mid-truncate.mjs.map +1 -0
  546. package/dist/client/ui/navigation-menu.d.ts +15 -0
  547. package/dist/client/ui/navigation-menu.d.ts.map +1 -0
  548. package/dist/client/ui/navigation-menu.mjs +172 -0
  549. package/dist/client/ui/navigation-menu.mjs.map +1 -0
  550. package/dist/client/ui/pagination.d.ts +14 -0
  551. package/dist/client/ui/pagination.d.ts.map +1 -0
  552. package/dist/client/ui/pagination.mjs +124 -0
  553. package/dist/client/ui/pagination.mjs.map +1 -0
  554. package/dist/client/ui/popover.d.ts +11 -0
  555. package/dist/client/ui/popover.d.ts.map +1 -0
  556. package/dist/client/ui/popover.mjs +82 -0
  557. package/dist/client/ui/popover.mjs.map +1 -0
  558. package/dist/client/ui/select.d.ts +16 -0
  559. package/dist/client/ui/select.d.ts.map +1 -0
  560. package/dist/client/ui/select.mjs +183 -0
  561. package/dist/client/ui/select.mjs.map +1 -0
  562. package/dist/client/ui/separator.d.ts +5 -0
  563. package/dist/client/ui/separator.d.ts.map +1 -0
  564. package/dist/client/ui/separator.mjs +27 -0
  565. package/dist/client/ui/separator.mjs.map +1 -0
  566. package/dist/client/ui/sheet.d.ts +15 -0
  567. package/dist/client/ui/sheet.d.ts.map +1 -0
  568. package/dist/client/ui/sheet.mjs +130 -0
  569. package/dist/client/ui/sheet.mjs.map +1 -0
  570. package/dist/client/ui/toggle-group.d.ts +10 -0
  571. package/dist/client/ui/toggle-group.d.ts.map +1 -0
  572. package/dist/client/ui/toggle-group.mjs +69 -0
  573. package/dist/client/ui/toggle-group.mjs.map +1 -0
  574. package/dist/client/ui/toggle.d.ts +10 -0
  575. package/dist/client/ui/toggle.d.ts.map +1 -0
  576. package/dist/client/ui/toggle.mjs +44 -0
  577. package/dist/client/ui/toggle.mjs.map +1 -0
  578. package/dist/client/ui/utils.d.ts +3 -0
  579. package/dist/client/ui/utils.d.ts.map +1 -0
  580. package/dist/client/ui/utils.mjs +9 -0
  581. package/dist/client/ui/utils.mjs.map +1 -0
  582. package/dist/client/ui-interfaces/accordion.d.ts +8 -0
  583. package/dist/client/ui-interfaces/accordion.d.ts.map +1 -0
  584. package/dist/client/ui-interfaces/accordion.mjs +72 -0
  585. package/dist/client/ui-interfaces/accordion.mjs.map +1 -0
  586. package/dist/client/ui-interfaces/breadcrumb.d.ts +12 -0
  587. package/dist/client/ui-interfaces/breadcrumb.d.ts.map +1 -0
  588. package/dist/client/ui-interfaces/breadcrumb.mjs +97 -0
  589. package/dist/client/ui-interfaces/breadcrumb.mjs.map +1 -0
  590. package/dist/client/ui-interfaces/button.d.ts +11 -0
  591. package/dist/client/ui-interfaces/button.d.ts.map +1 -0
  592. package/dist/client/ui-interfaces/button.mjs +57 -0
  593. package/dist/client/ui-interfaces/button.mjs.map +1 -0
  594. package/dist/client/ui-interfaces/card.d.ts +10 -0
  595. package/dist/client/ui-interfaces/card.d.ts.map +1 -0
  596. package/dist/client/ui-interfaces/card.mjs +78 -0
  597. package/dist/client/ui-interfaces/card.mjs.map +1 -0
  598. package/dist/client/ui-interfaces/carousel.d.ts +20 -0
  599. package/dist/client/ui-interfaces/carousel.d.ts.map +1 -0
  600. package/dist/client/ui-interfaces/carousel.mjs +188 -0
  601. package/dist/client/ui-interfaces/carousel.mjs.map +1 -0
  602. package/dist/client/ui-interfaces/checkbox.d.ts +5 -0
  603. package/dist/client/ui-interfaces/checkbox.d.ts.map +1 -0
  604. package/dist/client/ui-interfaces/checkbox.mjs +30 -0
  605. package/dist/client/ui-interfaces/checkbox.mjs.map +1 -0
  606. package/dist/client/ui-interfaces/collapsible.d.ts +7 -0
  607. package/dist/client/ui-interfaces/collapsible.d.ts.map +1 -0
  608. package/dist/client/ui-interfaces/collapsible.mjs +42 -0
  609. package/dist/client/ui-interfaces/collapsible.mjs.map +1 -0
  610. package/dist/client/ui-interfaces/index.d.ts +18 -0
  611. package/dist/client/ui-interfaces/index.d.ts.map +1 -0
  612. package/dist/client/ui-interfaces/index.mjs +18 -0
  613. package/dist/client/ui-interfaces/index.mjs.map +1 -0
  614. package/dist/client/ui-interfaces/input.d.ts +7 -0
  615. package/dist/client/ui-interfaces/input.d.ts.map +1 -0
  616. package/dist/client/ui-interfaces/input.mjs +39 -0
  617. package/dist/client/ui-interfaces/input.mjs.map +1 -0
  618. package/dist/client/ui-interfaces/label.d.ts +5 -0
  619. package/dist/client/ui-interfaces/label.d.ts.map +1 -0
  620. package/dist/client/ui-interfaces/label.mjs +23 -0
  621. package/dist/client/ui-interfaces/label.mjs.map +1 -0
  622. package/dist/client/ui-interfaces/navigation-menu.d.ts +15 -0
  623. package/dist/client/ui-interfaces/navigation-menu.d.ts.map +1 -0
  624. package/dist/client/ui-interfaces/navigation-menu.mjs +163 -0
  625. package/dist/client/ui-interfaces/navigation-menu.mjs.map +1 -0
  626. package/dist/client/ui-interfaces/pagination.d.ts +14 -0
  627. package/dist/client/ui-interfaces/pagination.d.ts.map +1 -0
  628. package/dist/client/ui-interfaces/pagination.mjs +103 -0
  629. package/dist/client/ui-interfaces/pagination.mjs.map +1 -0
  630. package/dist/client/ui-interfaces/popover.d.ts +8 -0
  631. package/dist/client/ui-interfaces/popover.d.ts.map +1 -0
  632. package/dist/client/ui-interfaces/popover.mjs +50 -0
  633. package/dist/client/ui-interfaces/popover.mjs.map +1 -0
  634. package/dist/client/ui-interfaces/select.d.ts +16 -0
  635. package/dist/client/ui-interfaces/select.d.ts.map +1 -0
  636. package/dist/client/ui-interfaces/select.mjs +159 -0
  637. package/dist/client/ui-interfaces/select.mjs.map +1 -0
  638. package/dist/client/ui-interfaces/separator.d.ts +5 -0
  639. package/dist/client/ui-interfaces/separator.d.ts.map +1 -0
  640. package/dist/client/ui-interfaces/separator.mjs +28 -0
  641. package/dist/client/ui-interfaces/separator.mjs.map +1 -0
  642. package/dist/client/ui-interfaces/sheet.d.ts +14 -0
  643. package/dist/client/ui-interfaces/sheet.d.ts.map +1 -0
  644. package/dist/client/ui-interfaces/sheet.mjs +140 -0
  645. package/dist/client/ui-interfaces/sheet.mjs.map +1 -0
  646. package/dist/client/ui-interfaces/toggle-group.d.ts +10 -0
  647. package/dist/client/ui-interfaces/toggle-group.d.ts.map +1 -0
  648. package/dist/client/ui-interfaces/toggle-group.mjs +67 -0
  649. package/dist/client/ui-interfaces/toggle-group.mjs.map +1 -0
  650. package/dist/client/ui-interfaces/toggle.d.ts +10 -0
  651. package/dist/client/ui-interfaces/toggle.d.ts.map +1 -0
  652. package/dist/client/ui-interfaces/toggle.mjs +45 -0
  653. package/dist/client/ui-interfaces/toggle.mjs.map +1 -0
  654. package/dist/client/ui-resolver/accordion.d.ts +11 -0
  655. package/dist/client/ui-resolver/accordion.d.ts.map +1 -0
  656. package/dist/client/ui-resolver/accordion.mjs +35 -0
  657. package/dist/client/ui-resolver/accordion.mjs.map +1 -0
  658. package/dist/client/ui-resolver/breadcrumb.d.ts +14 -0
  659. package/dist/client/ui-resolver/breadcrumb.d.ts.map +1 -0
  660. package/dist/client/ui-resolver/breadcrumb.mjs +53 -0
  661. package/dist/client/ui-resolver/breadcrumb.mjs.map +1 -0
  662. package/dist/client/ui-resolver/button.d.ts +12 -0
  663. package/dist/client/ui-resolver/button.d.ts.map +1 -0
  664. package/dist/client/ui-resolver/button.mjs +25 -0
  665. package/dist/client/ui-resolver/button.mjs.map +1 -0
  666. package/dist/client/ui-resolver/card.d.ts +14 -0
  667. package/dist/client/ui-resolver/card.d.ts.map +1 -0
  668. package/dist/client/ui-resolver/card.mjs +53 -0
  669. package/dist/client/ui-resolver/card.mjs.map +1 -0
  670. package/dist/client/ui-resolver/carousel.d.ts +13 -0
  671. package/dist/client/ui-resolver/carousel.d.ts.map +1 -0
  672. package/dist/client/ui-resolver/carousel.mjs +41 -0
  673. package/dist/client/ui-resolver/carousel.mjs.map +1 -0
  674. package/dist/client/ui-resolver/checkbox.d.ts +8 -0
  675. package/dist/client/ui-resolver/checkbox.d.ts.map +1 -0
  676. package/dist/client/ui-resolver/checkbox.mjs +17 -0
  677. package/dist/client/ui-resolver/checkbox.mjs.map +1 -0
  678. package/dist/client/ui-resolver/collapsible.d.ts +10 -0
  679. package/dist/client/ui-resolver/collapsible.d.ts.map +1 -0
  680. package/dist/client/ui-resolver/collapsible.mjs +29 -0
  681. package/dist/client/ui-resolver/collapsible.mjs.map +1 -0
  682. package/dist/client/ui-resolver/context.d.ts +10 -0
  683. package/dist/client/ui-resolver/context.d.ts.map +1 -0
  684. package/dist/client/ui-resolver/context.mjs +28 -0
  685. package/dist/client/ui-resolver/context.mjs.map +1 -0
  686. package/dist/client/ui-resolver/index.d.ts +19 -0
  687. package/dist/client/ui-resolver/index.d.ts.map +1 -0
  688. package/dist/client/ui-resolver/index.mjs +156 -0
  689. package/dist/client/ui-resolver/index.mjs.map +1 -0
  690. package/dist/client/ui-resolver/input.d.ts +8 -0
  691. package/dist/client/ui-resolver/input.d.ts.map +1 -0
  692. package/dist/client/ui-resolver/input.mjs +17 -0
  693. package/dist/client/ui-resolver/input.mjs.map +1 -0
  694. package/dist/client/ui-resolver/label.d.ts +8 -0
  695. package/dist/client/ui-resolver/label.d.ts.map +1 -0
  696. package/dist/client/ui-resolver/label.mjs +17 -0
  697. package/dist/client/ui-resolver/label.mjs.map +1 -0
  698. package/dist/client/ui-resolver/navigation-menu.d.ts +16 -0
  699. package/dist/client/ui-resolver/navigation-menu.d.ts.map +1 -0
  700. package/dist/client/ui-resolver/navigation-menu.mjs +64 -0
  701. package/dist/client/ui-resolver/navigation-menu.mjs.map +1 -0
  702. package/dist/client/ui-resolver/pagination.d.ts +14 -0
  703. package/dist/client/ui-resolver/pagination.d.ts.map +1 -0
  704. package/dist/client/ui-resolver/pagination.mjs +53 -0
  705. package/dist/client/ui-resolver/pagination.mjs.map +1 -0
  706. package/dist/client/ui-resolver/popover.d.ts +11 -0
  707. package/dist/client/ui-resolver/popover.d.ts.map +1 -0
  708. package/dist/client/ui-resolver/popover.mjs +35 -0
  709. package/dist/client/ui-resolver/popover.mjs.map +1 -0
  710. package/dist/client/ui-resolver/select.d.ts +15 -0
  711. package/dist/client/ui-resolver/select.d.ts.map +1 -0
  712. package/dist/client/ui-resolver/select.mjs +59 -0
  713. package/dist/client/ui-resolver/select.mjs.map +1 -0
  714. package/dist/client/ui-resolver/separator.d.ts +8 -0
  715. package/dist/client/ui-resolver/separator.d.ts.map +1 -0
  716. package/dist/client/ui-resolver/separator.mjs +17 -0
  717. package/dist/client/ui-resolver/separator.mjs.map +1 -0
  718. package/dist/client/ui-resolver/sheet.d.ts +15 -0
  719. package/dist/client/ui-resolver/sheet.d.ts.map +1 -0
  720. package/dist/client/ui-resolver/sheet.mjs +59 -0
  721. package/dist/client/ui-resolver/sheet.mjs.map +1 -0
  722. package/dist/client/ui-resolver/toggle-group.d.ts +9 -0
  723. package/dist/client/ui-resolver/toggle-group.d.ts.map +1 -0
  724. package/dist/client/ui-resolver/toggle-group.mjs +23 -0
  725. package/dist/client/ui-resolver/toggle-group.mjs.map +1 -0
  726. package/dist/client/ui-resolver/toggle.d.ts +12 -0
  727. package/dist/client/ui-resolver/toggle.d.ts.map +1 -0
  728. package/dist/client/ui-resolver/toggle.mjs +25 -0
  729. package/dist/client/ui-resolver/toggle.mjs.map +1 -0
  730. package/dist/client/user/actions/createResetPasswordLinkAction.d.ts +14 -0
  731. package/dist/client/user/actions/createResetPasswordLinkAction.d.ts.map +1 -0
  732. package/dist/client/user/actions/createResetPasswordLinkAction.mjs +30 -0
  733. package/dist/client/user/actions/createResetPasswordLinkAction.mjs.map +1 -0
  734. package/dist/client/user/actions/getUserAction.d.ts +3 -0
  735. package/dist/client/user/actions/getUserAction.d.ts.map +1 -0
  736. package/dist/client/user/actions/getUserAction.mjs +19 -0
  737. package/dist/client/user/actions/getUserAction.mjs.map +1 -0
  738. package/dist/client/user/actions/logInUserAction.d.ts +15 -0
  739. package/dist/client/user/actions/logInUserAction.d.ts.map +1 -0
  740. package/dist/client/user/actions/logInUserAction.mjs +34 -0
  741. package/dist/client/user/actions/logInUserAction.mjs.map +1 -0
  742. package/dist/client/user/actions/logoutUserAction.d.ts +2 -0
  743. package/dist/client/user/actions/logoutUserAction.d.ts.map +1 -0
  744. package/dist/client/user/actions/logoutUserAction.mjs +10 -0
  745. package/dist/client/user/actions/logoutUserAction.mjs.map +1 -0
  746. package/dist/client/user/actions/registerOrganisationAction.d.ts +9 -0
  747. package/dist/client/user/actions/registerOrganisationAction.d.ts.map +1 -0
  748. package/dist/client/user/actions/registerOrganisationAction.mjs +18 -0
  749. package/dist/client/user/actions/registerOrganisationAction.mjs.map +1 -0
  750. package/dist/client/user/actions/registerUserAction.d.ts +18 -0
  751. package/dist/client/user/actions/registerUserAction.d.ts.map +1 -0
  752. package/dist/client/user/actions/registerUserAction.mjs +42 -0
  753. package/dist/client/user/actions/registerUserAction.mjs.map +1 -0
  754. package/dist/client/user/actions/registerUserWithoutRedirectAction.d.ts +41 -0
  755. package/dist/client/user/actions/registerUserWithoutRedirectAction.d.ts.map +1 -0
  756. package/dist/client/user/actions/registerUserWithoutRedirectAction.mjs +58 -0
  757. package/dist/client/user/actions/registerUserWithoutRedirectAction.mjs.map +1 -0
  758. package/dist/client/user/actions/updatePasswordAction.d.ts +21 -0
  759. package/dist/client/user/actions/updatePasswordAction.d.ts.map +1 -0
  760. package/dist/client/user/actions/updatePasswordAction.mjs +37 -0
  761. package/dist/client/user/actions/updatePasswordAction.mjs.map +1 -0
  762. package/dist/client/user/api/userRoute.d.ts +7 -0
  763. package/dist/client/user/api/userRoute.d.ts.map +1 -0
  764. package/dist/client/user/api/userRoute.mjs +65 -0
  765. package/dist/client/user/api/userRoute.mjs.map +1 -0
  766. package/dist/client/user/clients/enad.d.ts +4 -0
  767. package/dist/client/user/clients/enad.d.ts.map +1 -0
  768. package/dist/client/user/clients/enad.mjs +19 -0
  769. package/dist/client/user/clients/enad.mjs.map +1 -0
  770. package/dist/client/user/components/login-form.d.ts +23 -0
  771. package/dist/client/user/components/login-form.d.ts.map +1 -0
  772. package/dist/client/user/components/login-form.mjs +117 -0
  773. package/dist/client/user/components/login-form.mjs.map +1 -0
  774. package/dist/client/user/components/reset-password-form.d.ts +20 -0
  775. package/dist/client/user/components/reset-password-form.d.ts.map +1 -0
  776. package/dist/client/user/components/reset-password-form.mjs +93 -0
  777. package/dist/client/user/components/reset-password-form.mjs.map +1 -0
  778. package/dist/client/user/components/sign-out.d.ts +8 -0
  779. package/dist/client/user/components/sign-out.d.ts.map +1 -0
  780. package/dist/client/user/components/sign-out.mjs +26 -0
  781. package/dist/client/user/components/sign-out.mjs.map +1 -0
  782. package/dist/client/user/components/signup-form.d.ts +27 -0
  783. package/dist/client/user/components/signup-form.d.ts.map +1 -0
  784. package/dist/client/user/components/signup-form.mjs +188 -0
  785. package/dist/client/user/components/signup-form.mjs.map +1 -0
  786. package/dist/client/user/components/signup-organisation-form.d.ts +55 -0
  787. package/dist/client/user/components/signup-organisation-form.d.ts.map +1 -0
  788. package/dist/client/user/components/signup-organisation-form.mjs +864 -0
  789. package/dist/client/user/components/signup-organisation-form.mjs.map +1 -0
  790. package/dist/client/user/components/update-password-form.d.ts +17 -0
  791. package/dist/client/user/components/update-password-form.d.ts.map +1 -0
  792. package/dist/client/user/components/update-password-form.mjs +60 -0
  793. package/dist/client/user/components/update-password-form.mjs.map +1 -0
  794. package/dist/client/user/hooks/index.d.ts +2 -0
  795. package/dist/client/user/hooks/index.d.ts.map +1 -0
  796. package/dist/client/user/hooks/index.mjs +2 -0
  797. package/dist/client/user/hooks/index.mjs.map +1 -0
  798. package/dist/client/user/hooks/useUser.d.ts +12 -0
  799. package/dist/client/user/hooks/useUser.d.ts.map +1 -0
  800. package/dist/client/user/hooks/useUser.mjs +32 -0
  801. package/dist/client/user/hooks/useUser.mjs.map +1 -0
  802. package/dist/client/user/index.d.ts +9 -0
  803. package/dist/client/user/index.d.ts.map +1 -0
  804. package/dist/client/user/index.mjs +17 -0
  805. package/dist/client/user/index.mjs.map +1 -0
  806. package/dist/client/user/types/user.d.ts +201 -0
  807. package/dist/client/user/types/user.d.ts.map +1 -0
  808. package/dist/client/user/types/user.mjs +1 -0
  809. package/dist/client/user/types/user.mjs.map +1 -0
  810. package/dist/client/user/utils/userCookieService.d.ts +19 -0
  811. package/dist/client/user/utils/userCookieService.d.ts.map +1 -0
  812. package/dist/client/user/utils/userCookieService.mjs +51 -0
  813. package/dist/client/user/utils/userCookieService.mjs.map +1 -0
  814. package/dist/client/wishlist/actions/addItemsToWishlistAction.d.ts +5 -0
  815. package/dist/client/wishlist/actions/addItemsToWishlistAction.d.ts.map +1 -0
  816. package/dist/client/wishlist/actions/addItemsToWishlistAction.mjs +20 -0
  817. package/dist/client/wishlist/actions/addItemsToWishlistAction.mjs.map +1 -0
  818. package/dist/client/wishlist/actions/createOrGetShareTokenAction.d.ts +3 -0
  819. package/dist/client/wishlist/actions/createOrGetShareTokenAction.d.ts.map +1 -0
  820. package/dist/client/wishlist/actions/createOrGetShareTokenAction.mjs +20 -0
  821. package/dist/client/wishlist/actions/createOrGetShareTokenAction.mjs.map +1 -0
  822. package/dist/client/wishlist/actions/createWishlistAction.d.ts +3 -0
  823. package/dist/client/wishlist/actions/createWishlistAction.d.ts.map +1 -0
  824. package/dist/client/wishlist/actions/createWishlistAction.mjs +16 -0
  825. package/dist/client/wishlist/actions/createWishlistAction.mjs.map +1 -0
  826. package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.d.ts +5 -0
  827. package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.d.ts.map +1 -0
  828. package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.mjs +20 -0
  829. package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.mjs.map +1 -0
  830. package/dist/client/wishlist/actions/deleteWishlistAction.d.ts +4 -0
  831. package/dist/client/wishlist/actions/deleteWishlistAction.d.ts.map +1 -0
  832. package/dist/client/wishlist/actions/deleteWishlistAction.mjs +16 -0
  833. package/dist/client/wishlist/actions/deleteWishlistAction.mjs.map +1 -0
  834. package/dist/client/wishlist/actions/getSharedWishlistAction.d.ts +3 -0
  835. package/dist/client/wishlist/actions/getSharedWishlistAction.d.ts.map +1 -0
  836. package/dist/client/wishlist/actions/getSharedWishlistAction.mjs +20 -0
  837. package/dist/client/wishlist/actions/getSharedWishlistAction.mjs.map +1 -0
  838. package/dist/client/wishlist/actions/getSpecificWishlistAction.d.ts +3 -0
  839. package/dist/client/wishlist/actions/getSpecificWishlistAction.d.ts.map +1 -0
  840. package/dist/client/wishlist/actions/getSpecificWishlistAction.mjs +20 -0
  841. package/dist/client/wishlist/actions/getSpecificWishlistAction.mjs.map +1 -0
  842. package/dist/client/wishlist/actions/getUserWishlists.d.ts +4 -0
  843. package/dist/client/wishlist/actions/getUserWishlists.d.ts.map +1 -0
  844. package/dist/client/wishlist/actions/getUserWishlists.mjs +25 -0
  845. package/dist/client/wishlist/actions/getUserWishlists.mjs.map +1 -0
  846. package/dist/client/wishlist/actions/revokeShareTokenAction.d.ts +4 -0
  847. package/dist/client/wishlist/actions/revokeShareTokenAction.d.ts.map +1 -0
  848. package/dist/client/wishlist/actions/revokeShareTokenAction.mjs +20 -0
  849. package/dist/client/wishlist/actions/revokeShareTokenAction.mjs.map +1 -0
  850. package/dist/client/wishlist/actions/updateWishlistAction.d.ts +3 -0
  851. package/dist/client/wishlist/actions/updateWishlistAction.d.ts.map +1 -0
  852. package/dist/client/wishlist/actions/updateWishlistAction.mjs +20 -0
  853. package/dist/client/wishlist/actions/updateWishlistAction.mjs.map +1 -0
  854. package/dist/client/wishlist/hooks/index.d.ts +2 -0
  855. package/dist/client/wishlist/hooks/index.d.ts.map +1 -0
  856. package/dist/client/wishlist/hooks/index.mjs +2 -0
  857. package/dist/client/wishlist/hooks/index.mjs.map +1 -0
  858. package/dist/client/wishlist/hooks/useWishlist.d.ts +95 -0
  859. package/dist/client/wishlist/hooks/useWishlist.d.ts.map +1 -0
  860. package/dist/client/wishlist/hooks/useWishlist.mjs +76 -0
  861. package/dist/client/wishlist/hooks/useWishlist.mjs.map +1 -0
  862. package/dist/client/wishlist/hooks/useWishlistActions.d.ts +44 -0
  863. package/dist/client/wishlist/hooks/useWishlistActions.d.ts.map +1 -0
  864. package/dist/client/wishlist/hooks/useWishlistActions.mjs +101 -0
  865. package/dist/client/wishlist/hooks/useWishlistActions.mjs.map +1 -0
  866. package/dist/client/wishlist/index.d.ts +5 -0
  867. package/dist/client/wishlist/index.d.ts.map +1 -0
  868. package/dist/client/wishlist/index.mjs +9 -0
  869. package/dist/client/wishlist/index.mjs.map +1 -0
  870. package/dist/client/wishlist/wishlist-drawer.d.ts +17 -0
  871. package/dist/client/wishlist/wishlist-drawer.d.ts.map +1 -0
  872. package/dist/client/wishlist/wishlist-drawer.mjs +199 -0
  873. package/dist/client/wishlist/wishlist-drawer.mjs.map +1 -0
  874. package/dist/styles.css +2 -0
  875. package/package.json +54 -32
@@ -0,0 +1,37 @@
1
+ "use server";
2
+ import { customerClient } from "../clients/enad";
3
+ import { redirect } from "next/navigation";
4
+ import * as z from "zod";
5
+ const passwordSchema = z.object({
6
+ password: z.string().min(10, { message: "Password must be at least 10 characters" }),
7
+ token: z.string().min(1, { message: "Reset token is required" })
8
+ });
9
+ const updatePasswordAction = async (formData, options = {}) => {
10
+ const password = formData.get("password")?.toString() ?? "";
11
+ const confirmPassword = formData.get("confirmPassword")?.toString() ?? "";
12
+ const token = formData.get("token")?.toString() ?? "";
13
+ const result = passwordSchema.safeParse({ password, confirmPassword, token });
14
+ if (!result.success) {
15
+ console.error("Validation errors:", result.error.flatten().fieldErrors);
16
+ return {
17
+ errors: result.error.flatten().fieldErrors
18
+ };
19
+ }
20
+ if (password !== confirmPassword) {
21
+ return {
22
+ errors: { confirmPassword: ["Passwords do not match"] }
23
+ };
24
+ }
25
+ const [, error] = await customerClient.user.changePassword(password, token);
26
+ if (error) {
27
+ console.error("Change password error:", error);
28
+ return {
29
+ errors: { general: ["Failed to update password. Please try again later."] }
30
+ };
31
+ }
32
+ redirect(options.redirectPath ?? "/login");
33
+ };
34
+ export {
35
+ updatePasswordAction
36
+ };
37
+ //# sourceMappingURL=updatePasswordAction.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/client/user/actions/updatePasswordAction.ts"],"sourcesContent":["\"use server\"\n\nimport { customerClient } from \"../clients/enad\"\nimport { redirect } from \"next/navigation\"\nimport * as z from \"zod\"\n\n// Validation schema for password\nconst passwordSchema = z.object({\n password: z.string().min(10, { message: \"Password must be at least 10 characters\" }),\n token: z.string().min(1, { message: \"Reset token is required\" }),\n})\n\ninterface Options {\n redirectPath?: string\n}\n\nexport const updatePasswordAction = async (formData: FormData, options: Options = {}) => {\n const password = formData.get(\"password\")?.toString() ?? \"\"\n const confirmPassword = formData.get(\"confirmPassword\")?.toString() ?? \"\"\n const token = formData.get(\"token\")?.toString() ?? \"\"\n\n // Validate\n const result = passwordSchema.safeParse({ password, confirmPassword, token })\n\n if (!result.success) {\n console.error(\"Validation errors:\", result.error.flatten().fieldErrors)\n return {\n errors: result.error.flatten().fieldErrors,\n }\n }\n\n if (password !== confirmPassword) {\n return {\n errors: { confirmPassword: [\"Passwords do not match\"] },\n }\n }\n\n // Call the SDK to change password\n const [, error] = await customerClient.user.changePassword(password, token)\n\n if (error) {\n console.error(\"Change password error:\", error)\n return {\n errors: { general: [\"Failed to update password. Please try again later.\"] },\n }\n }\n\n // Success → redirect\n redirect(options.redirectPath ?? \"/login\")\n}\n"],"mappings":";AAEA,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AACzB,YAAY,OAAO;AAGnB,MAAM,iBAAiB,EAAE,OAAO;AAAA,EAC9B,UAAU,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,SAAS,0CAA0C,CAAC;AAAA,EACnF,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,SAAS,0BAA0B,CAAC;AACjE,CAAC;AAMM,MAAM,uBAAuB,OAAO,UAAoB,UAAmB,CAAC,MAAM;AACvF,QAAM,WAAW,SAAS,IAAI,UAAU,GAAG,SAAS,KAAK;AACzD,QAAM,kBAAkB,SAAS,IAAI,iBAAiB,GAAG,SAAS,KAAK;AACvE,QAAM,QAAQ,SAAS,IAAI,OAAO,GAAG,SAAS,KAAK;AAGnD,QAAM,SAAS,eAAe,UAAU,EAAE,UAAU,iBAAiB,MAAM,CAAC;AAE5E,MAAI,CAAC,OAAO,SAAS;AACnB,YAAQ,MAAM,sBAAsB,OAAO,MAAM,QAAQ,EAAE,WAAW;AACtE,WAAO;AAAA,MACL,QAAQ,OAAO,MAAM,QAAQ,EAAE;AAAA,IACjC;AAAA,EACF;AAEA,MAAI,aAAa,iBAAiB;AAChC,WAAO;AAAA,MACL,QAAQ,EAAE,iBAAiB,CAAC,wBAAwB,EAAE;AAAA,IACxD;AAAA,EACF;AAGA,QAAM,CAAC,EAAE,KAAK,IAAI,MAAM,eAAe,KAAK,eAAe,UAAU,KAAK;AAE1E,MAAI,OAAO;AACT,YAAQ,MAAM,0BAA0B,KAAK;AAC7C,WAAO;AAAA,MACL,QAAQ,EAAE,SAAS,CAAC,oDAAoD,EAAE;AAAA,IAC5E;AAAA,EACF;AAGA,WAAS,QAAQ,gBAAgB,QAAQ;AAC3C;","names":[]}
@@ -0,0 +1,7 @@
1
+ import { NextResponse } from "next/server";
2
+ export declare function userRouteGETHandler(req: Request): Promise<NextResponse<{
3
+ error: string;
4
+ }> | NextResponse<{
5
+ user: any;
6
+ }>>;
7
+ //# sourceMappingURL=userRoute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userRoute.d.ts","sourceRoot":"","sources":["../../../../src/client/user/api/userRoute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AA6B1C,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,OAAO;;;;IAwDrD"}
@@ -0,0 +1,65 @@
1
+ import { NextResponse } from "next/server";
2
+ const APP_ID = "8bd950c5-551b-4603-bfe6-f33cdcae1a69";
3
+ async function refreshAccessToken(refreshToken) {
4
+ const response = await fetch(`https://customers.enad.io/api/v1/${APP_ID}/auth/refresh`, {
5
+ method: "POST",
6
+ headers: {
7
+ "Content-Type": "application/json",
8
+ "api-key": "MaCtW4PYVqDl8n4fpplMBqJ3-0De4DP1cPLT76oJuHE8lyR61oHne_iK-yX5"
9
+ },
10
+ body: JSON.stringify({ refresh_token: refreshToken })
11
+ });
12
+ if (!response.ok) throw new Error("Failed to refresh token");
13
+ return response.json();
14
+ }
15
+ async function getUser(accessToken) {
16
+ const response = await fetch(`https://customers.enad.io/api/v1/${APP_ID}/user`, {
17
+ headers: { Authorization: `Bearer ${accessToken}` }
18
+ });
19
+ if (!response.ok) throw new Error("Failed to fetch user");
20
+ return response.json();
21
+ }
22
+ async function userRouteGETHandler(req) {
23
+ try {
24
+ const cookies = req.headers.get("cookie") || "";
25
+ let accessToken = cookies.split("; ").find((c) => c.startsWith("access_token="))?.split("=")[1];
26
+ const refreshToken = cookies.split("; ").find((c) => c.startsWith("refresh_token="))?.split("=")[1];
27
+ console.log("Access Token:", accessToken);
28
+ console.log("Refresh Token:", refreshToken);
29
+ if (!accessToken && !refreshToken) {
30
+ return NextResponse.json({ error: "Not authenticated" }, { status: 401 });
31
+ }
32
+ try {
33
+ const user = await getUser(accessToken);
34
+ return NextResponse.json({ user });
35
+ } catch (err) {
36
+ if (!refreshToken) throw err;
37
+ const refreshData = await refreshAccessToken(refreshToken);
38
+ accessToken = refreshData.access_token;
39
+ const res = NextResponse.json({ user: await getUser(accessToken) });
40
+ res.cookies.set("access_token", refreshData.access_token, {
41
+ httpOnly: true,
42
+ secure: process.env.NODE_ENV === "production",
43
+ path: "/",
44
+ maxAge: refreshData.expires_in
45
+ });
46
+ if (refreshData.refresh_token) {
47
+ res.cookies.set("refresh_token", refreshData.refresh_token, {
48
+ httpOnly: true,
49
+ secure: process.env.NODE_ENV === "production",
50
+ path: "/",
51
+ maxAge: 7 * 24 * 60 * 60
52
+ // 7 days
53
+ });
54
+ }
55
+ return res;
56
+ }
57
+ } catch (error) {
58
+ console.error(error);
59
+ return NextResponse.json({ error: "Unable to fetch user" }, { status: 500 });
60
+ }
61
+ }
62
+ export {
63
+ userRouteGETHandler
64
+ };
65
+ //# sourceMappingURL=userRoute.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/client/user/api/userRoute.ts"],"sourcesContent":["import { NextResponse } from \"next/server\"\n\nconst APP_ID = \"8bd950c5-551b-4603-bfe6-f33cdcae1a69\"\n\nasync function refreshAccessToken(refreshToken: string) {\n const response = await fetch(`https://customers.enad.io/api/v1/${APP_ID}/auth/refresh`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"api-key\": \"MaCtW4PYVqDl8n4fpplMBqJ3-0De4DP1cPLT76oJuHE8lyR61oHne_iK-yX5\",\n },\n body: JSON.stringify({ refresh_token: refreshToken }),\n })\n\n if (!response.ok) throw new Error(\"Failed to refresh token\")\n\n return response.json() // { access_token, refresh_token? }\n}\n\nasync function getUser(accessToken: string) {\n const response = await fetch(`https://customers.enad.io/api/v1/${APP_ID}/user`, {\n headers: { Authorization: `Bearer ${accessToken}` },\n })\n\n if (!response.ok) throw new Error(\"Failed to fetch user\")\n\n return response.json()\n}\n\nexport async function userRouteGETHandler(req: Request) {\n try {\n // Read access token from cookie\n const cookies = req.headers.get(\"cookie\") || \"\"\n let accessToken = cookies\n .split(\"; \")\n .find((c) => c.startsWith(\"access_token=\"))\n ?.split(\"=\")[1]\n const refreshToken = cookies\n .split(\"; \")\n .find((c) => c.startsWith(\"refresh_token=\"))\n ?.split(\"=\")[1]\n\n console.log(\"Access Token:\", accessToken)\n console.log(\"Refresh Token:\", refreshToken)\n\n if (!accessToken && !refreshToken) {\n return NextResponse.json({ error: \"Not authenticated\" }, { status: 401 })\n }\n\n try {\n // Try fetching user with current access token\n const user = await getUser(accessToken!)\n return NextResponse.json({ user })\n } catch (err) {\n // If token expired, refresh it\n if (!refreshToken) throw err\n\n const refreshData = await refreshAccessToken(refreshToken)\n accessToken = refreshData.access_token\n\n // Update cookies with new access token and refresh token if returned\n const res = NextResponse.json({ user: await getUser(accessToken!) })\n\n res.cookies.set(\"access_token\", refreshData.access_token, {\n httpOnly: true,\n secure: process.env.NODE_ENV === \"production\",\n path: \"/\",\n maxAge: refreshData.expires_in,\n })\n\n if (refreshData.refresh_token) {\n res.cookies.set(\"refresh_token\", refreshData.refresh_token, {\n httpOnly: true,\n secure: process.env.NODE_ENV === \"production\",\n path: \"/\",\n maxAge: 7 * 24 * 60 * 60, // 7 days\n })\n }\n\n return res\n }\n } catch (error) {\n console.error(error)\n return NextResponse.json({ error: \"Unable to fetch user\" }, { status: 500 })\n }\n}\n"],"mappings":"AAAA,SAAS,oBAAoB;AAE7B,MAAM,SAAS;AAEf,eAAe,mBAAmB,cAAsB;AACtD,QAAM,WAAW,MAAM,MAAM,oCAAoC,MAAM,iBAAiB;AAAA,IACtF,QAAQ;AAAA,IACR,SAAS;AAAA,MACP,gBAAgB;AAAA,MAChB,WAAW;AAAA,IACb;AAAA,IACA,MAAM,KAAK,UAAU,EAAE,eAAe,aAAa,CAAC;AAAA,EACtD,CAAC;AAED,MAAI,CAAC,SAAS,GAAI,OAAM,IAAI,MAAM,yBAAyB;AAE3D,SAAO,SAAS,KAAK;AACvB;AAEA,eAAe,QAAQ,aAAqB;AAC1C,QAAM,WAAW,MAAM,MAAM,oCAAoC,MAAM,SAAS;AAAA,IAC9E,SAAS,EAAE,eAAe,UAAU,WAAW,GAAG;AAAA,EACpD,CAAC;AAED,MAAI,CAAC,SAAS,GAAI,OAAM,IAAI,MAAM,sBAAsB;AAExD,SAAO,SAAS,KAAK;AACvB;AAEA,eAAsB,oBAAoB,KAAc;AACtD,MAAI;AAEF,UAAM,UAAU,IAAI,QAAQ,IAAI,QAAQ,KAAK;AAC7C,QAAI,cAAc,QACf,MAAM,IAAI,EACV,KAAK,CAAC,MAAM,EAAE,WAAW,eAAe,CAAC,GACxC,MAAM,GAAG,EAAE,CAAC;AAChB,UAAM,eAAe,QAClB,MAAM,IAAI,EACV,KAAK,CAAC,MAAM,EAAE,WAAW,gBAAgB,CAAC,GACzC,MAAM,GAAG,EAAE,CAAC;AAEhB,YAAQ,IAAI,iBAAiB,WAAW;AACxC,YAAQ,IAAI,kBAAkB,YAAY;AAE1C,QAAI,CAAC,eAAe,CAAC,cAAc;AACjC,aAAO,aAAa,KAAK,EAAE,OAAO,oBAAoB,GAAG,EAAE,QAAQ,IAAI,CAAC;AAAA,IAC1E;AAEA,QAAI;AAEF,YAAM,OAAO,MAAM,QAAQ,WAAY;AACvC,aAAO,aAAa,KAAK,EAAE,KAAK,CAAC;AAAA,IACnC,SAAS,KAAK;AAEZ,UAAI,CAAC,aAAc,OAAM;AAEzB,YAAM,cAAc,MAAM,mBAAmB,YAAY;AACzD,oBAAc,YAAY;AAG1B,YAAM,MAAM,aAAa,KAAK,EAAE,MAAM,MAAM,QAAQ,WAAY,EAAE,CAAC;AAEnE,UAAI,QAAQ,IAAI,gBAAgB,YAAY,cAAc;AAAA,QACxD,UAAU;AAAA,QACV,QAAQ,QAAQ,IAAI,aAAa;AAAA,QACjC,MAAM;AAAA,QACN,QAAQ,YAAY;AAAA,MACtB,CAAC;AAED,UAAI,YAAY,eAAe;AAC7B,YAAI,QAAQ,IAAI,iBAAiB,YAAY,eAAe;AAAA,UAC1D,UAAU;AAAA,UACV,QAAQ,QAAQ,IAAI,aAAa;AAAA,UACjC,MAAM;AAAA,UACN,QAAQ,IAAI,KAAK,KAAK;AAAA;AAAA,QACxB,CAAC;AAAA,MACH;AAEA,aAAO;AAAA,IACT;AAAA,EACF,SAAS,OAAO;AACd,YAAQ,MAAM,KAAK;AACnB,WAAO,aAAa,KAAK,EAAE,OAAO,uBAAuB,GAAG,EAAE,QAAQ,IAAI,CAAC;AAAA,EAC7E;AACF;","names":[]}
@@ -0,0 +1,4 @@
1
+ import { CustomerClient, ShopperClient } from "@enadhq/enad-ts-sdk";
2
+ export declare const customerClient: CustomerClient;
3
+ export declare const shopperClient: ShopperClient;
4
+ //# sourceMappingURL=enad.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enad.d.ts","sourceRoot":"","sources":["../../../../src/client/user/clients/enad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGnE,eAAO,MAAM,cAAc,gBAIzB,CAAA;AAEF,eAAO,MAAM,aAAa,eAMxB,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { CustomerClient, ShopperClient } from "@enadhq/enad-ts-sdk";
2
+ import { enadConfig } from "../../../client/global/config";
3
+ const customerClient = new CustomerClient({
4
+ apiKey: enadConfig.server.userApiKey,
5
+ appId: enadConfig.client.appId,
6
+ groupId: enadConfig.client.groupId
7
+ });
8
+ const shopperClient = new ShopperClient({
9
+ apiKey: enadConfig.client.apiKey,
10
+ appId: enadConfig.client.appId,
11
+ groupId: enadConfig.client.groupId,
12
+ defaultLocale: enadConfig.client.defaultLocale,
13
+ defaultMarket: enadConfig.client.defaultMarket
14
+ });
15
+ export {
16
+ customerClient,
17
+ shopperClient
18
+ };
19
+ //# sourceMappingURL=enad.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/client/user/clients/enad.ts"],"sourcesContent":["import { CustomerClient, ShopperClient } from \"@enadhq/enad-ts-sdk\"\nimport { enadConfig } from \"../../../client/global/config\"\n\nexport const customerClient = new CustomerClient({\n apiKey: enadConfig.server.userApiKey,\n appId: enadConfig.client.appId,\n groupId: enadConfig.client.groupId,\n})\n\nexport const shopperClient = new ShopperClient({\n apiKey: enadConfig.client.apiKey,\n appId: enadConfig.client.appId,\n groupId: enadConfig.client.groupId,\n defaultLocale: enadConfig.client.defaultLocale,\n defaultMarket: enadConfig.client.defaultMarket,\n})\n"],"mappings":"AAAA,SAAS,gBAAgB,qBAAqB;AAC9C,SAAS,kBAAkB;AAEpB,MAAM,iBAAiB,IAAI,eAAe;AAAA,EAC/C,QAAQ,WAAW,OAAO;AAAA,EAC1B,OAAO,WAAW,OAAO;AAAA,EACzB,SAAS,WAAW,OAAO;AAC7B,CAAC;AAEM,MAAM,gBAAgB,IAAI,cAAc;AAAA,EAC7C,QAAQ,WAAW,OAAO;AAAA,EAC1B,OAAO,WAAW,OAAO;AAAA,EACzB,SAAS,WAAW,OAAO;AAAA,EAC3B,eAAe,WAAW,OAAO;AAAA,EACjC,eAAe,WAAW,OAAO;AACnC,CAAC;","names":[]}
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ interface LoginFormProps {
3
+ labels?: {
4
+ title?: string;
5
+ subtitle?: string;
6
+ email?: string;
7
+ emailPlaceholder?: string;
8
+ password?: string;
9
+ passwordPlaceholder?: string;
10
+ forgotPassword?: string;
11
+ submit?: string;
12
+ signingIn?: string;
13
+ };
14
+ forgotPasswordLink?: string;
15
+ signup?: {
16
+ href: string;
17
+ label: string;
18
+ };
19
+ successRedirect?: string;
20
+ }
21
+ export declare const LoginForm: React.FC<LoginFormProps>;
22
+ export {};
23
+ //# sourceMappingURL=login-form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login-form.d.ts","sourceRoot":"","sources":["../../../../src/client/user/components/login-form.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmC,MAAM,OAAO,CAAA;AAKvD,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,mBAAmB,CAAC,EAAE,MAAM,CAAA;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAuED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAwE9C,CAAA"}
@@ -0,0 +1,117 @@
1
+ "use client";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
+ import { useState } from "react";
4
+ import { logInUserAction } from "../actions/logInUserAction";
5
+ import { StorefrontInput } from "../../storefront/primitives/input";
6
+ import { StorefrontButton } from "../../storefront/primitives/button";
7
+ const DEFAULT_LOGIN_LABELS = {
8
+ title: "Welcome back",
9
+ subtitle: "Sign in to access your account",
10
+ email: "Email address",
11
+ emailPlaceholder: "you@example.com",
12
+ password: "Password",
13
+ passwordPlaceholder: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",
14
+ forgotPassword: "Forgot password?",
15
+ submit: "Sign In",
16
+ signingIn: "Signing in..."
17
+ };
18
+ function LoginFormFields({
19
+ emailLabel,
20
+ emailPlaceholder,
21
+ passwordLabel,
22
+ passwordPlaceholder,
23
+ forgotPassword,
24
+ forgotPasswordLink,
25
+ errors
26
+ }) {
27
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
28
+ /* @__PURE__ */ jsx(
29
+ StorefrontInput,
30
+ {
31
+ type: "email",
32
+ id: "email",
33
+ name: "email",
34
+ required: true,
35
+ label: emailLabel,
36
+ placeholder: emailPlaceholder,
37
+ error: errors.email?.join(", ")
38
+ }
39
+ ),
40
+ /* @__PURE__ */ jsx(
41
+ StorefrontInput,
42
+ {
43
+ type: "password",
44
+ id: "password",
45
+ name: "password",
46
+ required: true,
47
+ label: passwordLabel,
48
+ placeholder: passwordPlaceholder,
49
+ error: errors.password?.join(", ")
50
+ }
51
+ ),
52
+ /* @__PURE__ */ jsx("div", { className: "flex justify-start text-sm", children: /* @__PURE__ */ jsx(
53
+ "a",
54
+ {
55
+ href: forgotPasswordLink,
56
+ className: "text-(--enad-link-color) hover:text-(--enad-link-hover-color) transition",
57
+ children: forgotPassword
58
+ }
59
+ ) })
60
+ ] });
61
+ }
62
+ const LoginForm = ({
63
+ labels = {},
64
+ forgotPasswordLink = "/reset-password/start",
65
+ signup = { href: "/signup", label: "Sign up" },
66
+ successRedirect = "/"
67
+ }) => {
68
+ const resolved = { ...DEFAULT_LOGIN_LABELS, ...labels };
69
+ const { title, subtitle, emailPlaceholder, passwordPlaceholder, forgotPassword, submit, signingIn } = resolved;
70
+ const emailLabel = resolved.email;
71
+ const passwordLabel = resolved.password;
72
+ const [errors, setErrors] = useState({});
73
+ const [isPending, setIsPending] = useState(false);
74
+ const handleSubmit = async (e) => {
75
+ e.preventDefault();
76
+ setIsPending(true);
77
+ setErrors({});
78
+ const formData = new FormData(e.currentTarget);
79
+ const res = await logInUserAction(formData, { redirectPath: successRedirect });
80
+ if (res?.errors) {
81
+ setErrors(res.errors);
82
+ }
83
+ setIsPending(false);
84
+ };
85
+ return /* @__PURE__ */ jsx("main", { className: "flex items-center justify-center px-4 font-enad", children: /* @__PURE__ */ jsxs("div", { className: "w-full max-w-md bg-(--enad-surface) border border-(--enad-border-color) shadow-lg rounded-(--enad-card-radius) p-8", children: [
86
+ /* @__PURE__ */ jsx("h2", { className: "text-2xl font-semibold text-(--enad-text-primary-color) mb-2 text-center", children: title }),
87
+ /* @__PURE__ */ jsx("p", { className: "text-(--enad-text-muted-color) text-sm text-center mb-8", children: subtitle }),
88
+ /* @__PURE__ */ jsxs("form", { onSubmit: handleSubmit, className: "space-y-5", children: [
89
+ /* @__PURE__ */ jsx(
90
+ LoginFormFields,
91
+ {
92
+ emailLabel,
93
+ emailPlaceholder,
94
+ passwordLabel,
95
+ passwordPlaceholder,
96
+ forgotPassword,
97
+ forgotPasswordLink,
98
+ errors
99
+ }
100
+ ),
101
+ /* @__PURE__ */ jsx(StorefrontButton, { type: "submit", disabled: isPending, className: "w-full", children: isPending ? signingIn : submit }),
102
+ errors.general && /* @__PURE__ */ jsx("p", { role: "alert", className: "text-(--enad-error-color) text-sm mt-2 text-center", children: errors.general.join(", ") })
103
+ ] }),
104
+ signup && /* @__PURE__ */ jsx("p", { className: "text-sm text-(--enad-text-muted-color) text-center mt-2", children: /* @__PURE__ */ jsx(
105
+ "a",
106
+ {
107
+ href: signup.href,
108
+ className: "text-(--enad-link-color) hover:text-(--enad-link-hover-color) font-medium",
109
+ children: signup.label
110
+ }
111
+ ) })
112
+ ] }) });
113
+ };
114
+ export {
115
+ LoginForm
116
+ };
117
+ //# sourceMappingURL=login-form.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/client/user/components/login-form.tsx"],"sourcesContent":["\"use client\"\n\nimport React, { useState, type FormEvent } from \"react\"\nimport { logInUserAction } from \"../actions/logInUserAction\"\nimport { StorefrontInput } from \"../../storefront/primitives/input\"\nimport { StorefrontButton } from \"../../storefront/primitives/button\"\n\ninterface LoginFormProps {\n labels?: {\n title?: string\n subtitle?: string\n email?: string\n emailPlaceholder?: string\n password?: string\n passwordPlaceholder?: string\n forgotPassword?: string\n submit?: string\n signingIn?: string\n }\n forgotPasswordLink?: string\n signup?: {\n href: string\n label: string\n }\n successRedirect?: string\n}\n\ninterface FormErrors {\n email?: string[]\n password?: string[]\n general?: string[]\n}\n\nconst DEFAULT_LOGIN_LABELS = {\n title: \"Welcome back\",\n subtitle: \"Sign in to access your account\",\n email: \"Email address\",\n emailPlaceholder: \"you@example.com\",\n password: \"Password\",\n passwordPlaceholder: \"••••••••\",\n forgotPassword: \"Forgot password?\",\n submit: \"Sign In\",\n signingIn: \"Signing in...\",\n} as const\n\nfunction LoginFormFields({\n emailLabel,\n emailPlaceholder,\n passwordLabel,\n passwordPlaceholder,\n forgotPassword,\n forgotPasswordLink,\n errors,\n}: {\n emailLabel: string\n emailPlaceholder: string\n passwordLabel: string\n passwordPlaceholder: string\n forgotPassword: string\n forgotPasswordLink: string\n errors: FormErrors\n}) {\n return (\n <>\n <StorefrontInput\n type=\"email\"\n id=\"email\"\n name=\"email\"\n required\n label={emailLabel}\n placeholder={emailPlaceholder}\n error={errors.email?.join(\", \")}\n />\n\n <StorefrontInput\n type=\"password\"\n id=\"password\"\n name=\"password\"\n required\n label={passwordLabel}\n placeholder={passwordPlaceholder}\n error={errors.password?.join(\", \")}\n />\n\n <div className=\"flex justify-start text-sm\">\n <a\n href={forgotPasswordLink}\n className=\"text-(--enad-link-color) hover:text-(--enad-link-hover-color) transition\"\n >\n {forgotPassword}\n </a>\n </div>\n </>\n )\n}\n\nexport const LoginForm: React.FC<LoginFormProps> = ({\n labels = {},\n forgotPasswordLink = \"/reset-password/start\",\n signup = { href: \"/signup\", label: \"Sign up\" },\n successRedirect = \"/\",\n}) => {\n const resolved = { ...DEFAULT_LOGIN_LABELS, ...labels }\n const { title, subtitle, emailPlaceholder, passwordPlaceholder, forgotPassword, submit, signingIn } = resolved\n const emailLabel = resolved.email\n const passwordLabel = resolved.password\n\n const [errors, setErrors] = useState<FormErrors>({})\n const [isPending, setIsPending] = useState(false)\n\n const handleSubmit = async (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n setIsPending(true)\n setErrors({})\n\n const formData = new FormData(e.currentTarget)\n const res = await logInUserAction(formData, { redirectPath: successRedirect })\n\n if (res?.errors) {\n setErrors(res.errors)\n }\n\n setIsPending(false)\n }\n\n return (\n <main className=\"flex items-center justify-center px-4 font-enad\">\n <div className=\"w-full max-w-md bg-(--enad-surface) border border-(--enad-border-color) shadow-lg rounded-(--enad-card-radius) p-8\">\n <h2 className=\"text-2xl font-semibold text-(--enad-text-primary-color) mb-2 text-center\">\n {title}\n </h2>\n <p className=\"text-(--enad-text-muted-color) text-sm text-center mb-8\">{subtitle}</p>\n\n <form onSubmit={handleSubmit} className=\"space-y-5\">\n <LoginFormFields\n emailLabel={emailLabel}\n emailPlaceholder={emailPlaceholder}\n passwordLabel={passwordLabel}\n passwordPlaceholder={passwordPlaceholder}\n forgotPassword={forgotPassword}\n forgotPasswordLink={forgotPasswordLink}\n errors={errors}\n />\n\n <StorefrontButton type=\"submit\" disabled={isPending} className=\"w-full\">\n {isPending ? signingIn : submit}\n </StorefrontButton>\n\n {errors.general && (\n <p role=\"alert\" className=\"text-(--enad-error-color) text-sm mt-2 text-center\">\n {errors.general.join(\", \")}\n </p>\n )}\n </form>\n\n {signup && (\n <p className=\"text-sm text-(--enad-text-muted-color) text-center mt-2\">\n <a\n href={signup.href}\n className=\"text-(--enad-link-color) hover:text-(--enad-link-hover-color) font-medium\"\n >\n {signup.label}\n </a>\n </p>\n )}\n </div>\n </main>\n )\n}\n"],"mappings":";AA+DI,mBACE,KADF;AA7DJ,SAAgB,gBAAgC;AAChD,SAAS,uBAAuB;AAChC,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AA4BjC,MAAM,uBAAuB;AAAA,EAC3B,OAAO;AAAA,EACP,UAAU;AAAA,EACV,OAAO;AAAA,EACP,kBAAkB;AAAA,EAClB,UAAU;AAAA,EACV,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,WAAW;AACb;AAEA,SAAS,gBAAgB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAQG;AACD,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,IAAG;AAAA,QACH,MAAK;AAAA,QACL,UAAQ;AAAA,QACR,OAAO;AAAA,QACP,aAAa;AAAA,QACb,OAAO,OAAO,OAAO,KAAK,IAAI;AAAA;AAAA,IAChC;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,IAAG;AAAA,QACH,MAAK;AAAA,QACL,UAAQ;AAAA,QACR,OAAO;AAAA,QACP,aAAa;AAAA,QACb,OAAO,OAAO,UAAU,KAAK,IAAI;AAAA;AAAA,IACnC;AAAA,IAEA,oBAAC,SAAI,WAAU,8BACb;AAAA,MAAC;AAAA;AAAA,QACC,MAAM;AAAA,QACN,WAAU;AAAA,QAET;AAAA;AAAA,IACH,GACF;AAAA,KACF;AAEJ;AAEO,MAAM,YAAsC,CAAC;AAAA,EAClD,SAAS,CAAC;AAAA,EACV,qBAAqB;AAAA,EACrB,SAAS,EAAE,MAAM,WAAW,OAAO,UAAU;AAAA,EAC7C,kBAAkB;AACpB,MAAM;AACJ,QAAM,WAAW,EAAE,GAAG,sBAAsB,GAAG,OAAO;AACtD,QAAM,EAAE,OAAO,UAAU,kBAAkB,qBAAqB,gBAAgB,QAAQ,UAAU,IAAI;AACtG,QAAM,aAAa,SAAS;AAC5B,QAAM,gBAAgB,SAAS;AAE/B,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAqB,CAAC,CAAC;AACnD,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAEhD,QAAM,eAAe,OAAO,MAAkC;AAC5D,MAAE,eAAe;AACjB,iBAAa,IAAI;AACjB,cAAU,CAAC,CAAC;AAEZ,UAAM,WAAW,IAAI,SAAS,EAAE,aAAa;AAC7C,UAAM,MAAM,MAAM,gBAAgB,UAAU,EAAE,cAAc,gBAAgB,CAAC;AAE7E,QAAI,KAAK,QAAQ;AACf,gBAAU,IAAI,MAAM;AAAA,IACtB;AAEA,iBAAa,KAAK;AAAA,EACpB;AAEA,SACE,oBAAC,UAAK,WAAU,mDACd,+BAAC,SAAI,WAAU,sHACb;AAAA,wBAAC,QAAG,WAAU,4EACX,iBACH;AAAA,IACA,oBAAC,OAAE,WAAU,2DAA2D,oBAAS;AAAA,IAEjF,qBAAC,UAAK,UAAU,cAAc,WAAU,aACtC;AAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACF;AAAA,MAEA,oBAAC,oBAAiB,MAAK,UAAS,UAAU,WAAW,WAAU,UAC5D,sBAAY,YAAY,QAC3B;AAAA,MAEC,OAAO,WACN,oBAAC,OAAE,MAAK,SAAQ,WAAU,sDACvB,iBAAO,QAAQ,KAAK,IAAI,GAC3B;AAAA,OAEJ;AAAA,IAEC,UACC,oBAAC,OAAE,WAAU,2DACX;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,OAAO;AAAA,QACb,WAAU;AAAA,QAET,iBAAO;AAAA;AAAA,IACV,GACF;AAAA,KAEJ,GACF;AAEJ;","names":[]}
@@ -0,0 +1,20 @@
1
+ import React from "react";
2
+ interface ResetPasswordFormProps {
3
+ labels?: {
4
+ title?: string;
5
+ subtitle?: string;
6
+ email?: string;
7
+ emailPlaceholder?: string;
8
+ submit?: string;
9
+ sending?: string;
10
+ successMessage?: string;
11
+ };
12
+ extraLink?: {
13
+ href: string;
14
+ text: string;
15
+ };
16
+ successRedirect?: string;
17
+ }
18
+ export declare const ResetPasswordForm: React.FC<ResetPasswordFormProps>;
19
+ export {};
20
+ //# sourceMappingURL=reset-password-form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset-password-form.d.ts","sourceRoot":"","sources":["../../../../src/client/user/components/reset-password-form.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmC,MAAM,OAAO,CAAA;AAKvD,UAAU,sBAAsB;IAC9B,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAA;IACD,SAAS,CAAC,EAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAuDD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAsE9D,CAAA"}
@@ -0,0 +1,93 @@
1
+ "use client";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
+ import { useState } from "react";
4
+ import { createPasswordResetLinkAction } from "../actions/createResetPasswordLinkAction";
5
+ import { StorefrontInput } from "../../storefront/primitives/input";
6
+ import { StorefrontButton } from "../../storefront/primitives/button";
7
+ function ResetPasswordFormBody({
8
+ emailLabel,
9
+ emailPlaceholder,
10
+ submit,
11
+ sending,
12
+ errors,
13
+ isPending,
14
+ successMessage
15
+ }) {
16
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
17
+ /* @__PURE__ */ jsx(
18
+ StorefrontInput,
19
+ {
20
+ type: "email",
21
+ id: "email",
22
+ name: "email",
23
+ required: true,
24
+ label: emailLabel,
25
+ placeholder: emailPlaceholder,
26
+ error: errors.email?.join(", ")
27
+ }
28
+ ),
29
+ /* @__PURE__ */ jsx(StorefrontButton, { type: "submit", disabled: isPending, className: "w-full", children: isPending ? sending : submit }),
30
+ errors.general && /* @__PURE__ */ jsx("p", { role: "alert", className: "text-(--enad-error-color) text-sm mt-1 text-center", children: errors.general.join(", ") }),
31
+ successMessage && /* @__PURE__ */ jsx("p", { role: "status", className: "text-(--enad-success-color) text-sm mt-2 text-center", children: successMessage })
32
+ ] });
33
+ }
34
+ const ResetPasswordForm = ({
35
+ labels = {},
36
+ extraLink = { href: "/login", text: "Back to sign in" },
37
+ successRedirect = "/login"
38
+ }) => {
39
+ const {
40
+ title = "Reset your password",
41
+ subtitle = "Enter your email to receive reset instructions",
42
+ email: emailLabel = "Email",
43
+ emailPlaceholder = "you@example.com",
44
+ submit = "Send Reset Link",
45
+ sending = "Sending...",
46
+ successMessage: successMessageText = "Check your email for reset instructions."
47
+ } = labels;
48
+ const [errors, setErrors] = useState({});
49
+ const [isPending, setIsPending] = useState(false);
50
+ const [successMessage, setSuccessMessage] = useState("");
51
+ const handleSubmit = async (e) => {
52
+ e.preventDefault();
53
+ setIsPending(true);
54
+ setErrors({});
55
+ setSuccessMessage("");
56
+ const formData = new FormData(e.currentTarget);
57
+ const res = await createPasswordResetLinkAction(formData, { redirectPath: successRedirect });
58
+ if (res?.errors) {
59
+ setErrors(res.errors);
60
+ } else {
61
+ setSuccessMessage(successMessageText);
62
+ }
63
+ setIsPending(false);
64
+ };
65
+ return /* @__PURE__ */ jsx("main", { className: "flex items-center justify-center px-4 font-enad", children: /* @__PURE__ */ jsxs("div", { className: "w-full max-w-md bg-(--enad-surface) shadow-lg p-8 border border-(--enad-border-color) rounded-(--enad-card-radius)", children: [
66
+ /* @__PURE__ */ jsx("h2", { className: "text-2xl font-semibold text-(--enad-text-primary-color) mb-2 text-center", children: title }),
67
+ /* @__PURE__ */ jsx("p", { className: "text-sm text-(--enad-text-muted-color) mb-8 text-center", children: subtitle }),
68
+ /* @__PURE__ */ jsx("form", { onSubmit: handleSubmit, className: "space-y-5", children: /* @__PURE__ */ jsx(
69
+ ResetPasswordFormBody,
70
+ {
71
+ emailLabel,
72
+ emailPlaceholder,
73
+ submit,
74
+ sending,
75
+ errors,
76
+ isPending,
77
+ successMessage
78
+ }
79
+ ) }),
80
+ extraLink && /* @__PURE__ */ jsx("p", { className: "text-sm text-(--enad-text-muted-color) text-center mt-4", children: /* @__PURE__ */ jsx(
81
+ "a",
82
+ {
83
+ href: extraLink.href,
84
+ className: "text-(--enad-link-color) hover:text-(--enad-link-hover-color) font-medium",
85
+ children: extraLink.text
86
+ }
87
+ ) })
88
+ ] }) });
89
+ };
90
+ export {
91
+ ResetPasswordForm
92
+ };
93
+ //# sourceMappingURL=reset-password-form.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/client/user/components/reset-password-form.tsx"],"sourcesContent":["\"use client\"\n\nimport React, { useState, type FormEvent } from \"react\"\nimport { createPasswordResetLinkAction } from \"../actions/createResetPasswordLinkAction\"\nimport { StorefrontInput } from \"../../storefront/primitives/input\"\nimport { StorefrontButton } from \"../../storefront/primitives/button\"\n\ninterface ResetPasswordFormProps {\n labels?: {\n title?: string\n subtitle?: string\n email?: string\n emailPlaceholder?: string\n submit?: string\n sending?: string\n successMessage?: string\n }\n extraLink?: {\n href: string\n text: string\n }\n successRedirect?: string\n}\n\ninterface FormErrors {\n email?: string[]\n general?: string[]\n}\n\nfunction ResetPasswordFormBody({\n emailLabel,\n emailPlaceholder,\n submit,\n sending,\n errors,\n isPending,\n successMessage,\n}: {\n emailLabel: string\n emailPlaceholder: string\n submit: string\n sending: string\n errors: FormErrors\n isPending: boolean\n successMessage: string\n}) {\n return (\n <>\n <StorefrontInput\n type=\"email\"\n id=\"email\"\n name=\"email\"\n required\n label={emailLabel}\n placeholder={emailPlaceholder}\n error={errors.email?.join(\", \")}\n />\n\n <StorefrontButton type=\"submit\" disabled={isPending} className=\"w-full\">\n {isPending ? sending : submit}\n </StorefrontButton>\n\n {errors.general && (\n <p role=\"alert\" className=\"text-(--enad-error-color) text-sm mt-1 text-center\">\n {errors.general.join(\", \")}\n </p>\n )}\n\n {successMessage && (\n <p role=\"status\" className=\"text-(--enad-success-color) text-sm mt-2 text-center\">\n {successMessage}\n </p>\n )}\n </>\n )\n}\n\nexport const ResetPasswordForm: React.FC<ResetPasswordFormProps> = ({\n labels = {},\n extraLink = { href: \"/login\", text: \"Back to sign in\" },\n successRedirect = \"/login\",\n}) => {\n const {\n title = \"Reset your password\",\n subtitle = \"Enter your email to receive reset instructions\",\n email: emailLabel = \"Email\",\n emailPlaceholder = \"you@example.com\",\n submit = \"Send Reset Link\",\n sending = \"Sending...\",\n successMessage: successMessageText = \"Check your email for reset instructions.\",\n } = labels\n\n const [errors, setErrors] = useState<FormErrors>({})\n const [isPending, setIsPending] = useState(false)\n const [successMessage, setSuccessMessage] = useState(\"\")\n\n const handleSubmit = async (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n setIsPending(true)\n setErrors({})\n setSuccessMessage(\"\")\n\n const formData = new FormData(e.currentTarget)\n const res = await createPasswordResetLinkAction(formData, { redirectPath: successRedirect })\n\n if (res?.errors) {\n setErrors(res.errors)\n } else {\n setSuccessMessage(successMessageText)\n }\n\n setIsPending(false)\n }\n\n return (\n <main className=\"flex items-center justify-center px-4 font-enad\">\n <div className=\"w-full max-w-md bg-(--enad-surface) shadow-lg p-8 border border-(--enad-border-color) rounded-(--enad-card-radius)\">\n <h2 className=\"text-2xl font-semibold text-(--enad-text-primary-color) mb-2 text-center\">\n {title}\n </h2>\n <p className=\"text-sm text-(--enad-text-muted-color) mb-8 text-center\">{subtitle}</p>\n\n <form onSubmit={handleSubmit} className=\"space-y-5\">\n <ResetPasswordFormBody\n emailLabel={emailLabel}\n emailPlaceholder={emailPlaceholder}\n submit={submit}\n sending={sending}\n errors={errors}\n isPending={isPending}\n successMessage={successMessage}\n />\n </form>\n\n {extraLink && (\n <p className=\"text-sm text-(--enad-text-muted-color) text-center mt-4\">\n <a\n href={extraLink.href}\n className=\"text-(--enad-link-color) hover:text-(--enad-link-hover-color) font-medium\"\n >\n {extraLink.text}\n </a>\n </p>\n )}\n </div>\n </main>\n )\n}\n"],"mappings":";AA+CI,mBACE,KADF;AA7CJ,SAAgB,gBAAgC;AAChD,SAAS,qCAAqC;AAC9C,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AAwBjC,SAAS,sBAAsB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAQG;AACD,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,IAAG;AAAA,QACH,MAAK;AAAA,QACL,UAAQ;AAAA,QACR,OAAO;AAAA,QACP,aAAa;AAAA,QACb,OAAO,OAAO,OAAO,KAAK,IAAI;AAAA;AAAA,IAChC;AAAA,IAEA,oBAAC,oBAAiB,MAAK,UAAS,UAAU,WAAW,WAAU,UAC5D,sBAAY,UAAU,QACzB;AAAA,IAEC,OAAO,WACN,oBAAC,OAAE,MAAK,SAAQ,WAAU,sDACvB,iBAAO,QAAQ,KAAK,IAAI,GAC3B;AAAA,IAGD,kBACC,oBAAC,OAAE,MAAK,UAAS,WAAU,wDACxB,0BACH;AAAA,KAEJ;AAEJ;AAEO,MAAM,oBAAsD,CAAC;AAAA,EAClE,SAAS,CAAC;AAAA,EACV,YAAY,EAAE,MAAM,UAAU,MAAM,kBAAkB;AAAA,EACtD,kBAAkB;AACpB,MAAM;AACJ,QAAM;AAAA,IACJ,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,OAAO,aAAa;AAAA,IACpB,mBAAmB;AAAA,IACnB,SAAS;AAAA,IACT,UAAU;AAAA,IACV,gBAAgB,qBAAqB;AAAA,EACvC,IAAI;AAEJ,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAqB,CAAC,CAAC;AACnD,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAChD,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,EAAE;AAEvD,QAAM,eAAe,OAAO,MAAkC;AAC5D,MAAE,eAAe;AACjB,iBAAa,IAAI;AACjB,cAAU,CAAC,CAAC;AACZ,sBAAkB,EAAE;AAEpB,UAAM,WAAW,IAAI,SAAS,EAAE,aAAa;AAC7C,UAAM,MAAM,MAAM,8BAA8B,UAAU,EAAE,cAAc,gBAAgB,CAAC;AAE3F,QAAI,KAAK,QAAQ;AACf,gBAAU,IAAI,MAAM;AAAA,IACtB,OAAO;AACL,wBAAkB,kBAAkB;AAAA,IACtC;AAEA,iBAAa,KAAK;AAAA,EACpB;AAEA,SACE,oBAAC,UAAK,WAAU,mDACd,+BAAC,SAAI,WAAU,sHACb;AAAA,wBAAC,QAAG,WAAU,4EACX,iBACH;AAAA,IACA,oBAAC,OAAE,WAAU,2DAA2D,oBAAS;AAAA,IAEjF,oBAAC,UAAK,UAAU,cAAc,WAAU,aACtC;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF,GACF;AAAA,IAEC,aACC,oBAAC,OAAE,WAAU,2DACX;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,UAAU;AAAA,QAChB,WAAU;AAAA,QAET,oBAAU;AAAA;AAAA,IACb,GACF;AAAA,KAEJ,GACF;AAEJ;","names":[]}
@@ -0,0 +1,8 @@
1
+ interface SignOutProps {
2
+ labels?: {
3
+ button?: string;
4
+ };
5
+ }
6
+ export declare const SignOut: ({ labels }: SignOutProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=sign-out.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign-out.d.ts","sourceRoot":"","sources":["../../../../src/client/user/components/sign-out.tsx"],"names":[],"mappings":"AAMA,UAAU,YAAY;IACpB,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;CACF;AAED,eAAO,MAAM,OAAO,GAAI,YAAiB,YAAY,4CAkBpD,CAAA"}
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { useQueryClient } from "@tanstack/react-query";
4
+ import { logOutUserAction } from "../actions/logoutUserAction";
5
+ import { StorefrontButton } from "../../storefront/primitives/button";
6
+ const SignOut = ({ labels = {} }) => {
7
+ const { button = "Sign out" } = labels;
8
+ const queryClient = useQueryClient();
9
+ return /* @__PURE__ */ jsx(
10
+ StorefrontButton,
11
+ {
12
+ variant: "ghost",
13
+ onClick: async () => {
14
+ const success = await logOutUserAction();
15
+ if (success) {
16
+ queryClient.setQueryData(["user"], null);
17
+ }
18
+ },
19
+ children: button
20
+ }
21
+ );
22
+ };
23
+ export {
24
+ SignOut
25
+ };
26
+ //# sourceMappingURL=sign-out.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/client/user/components/sign-out.tsx"],"sourcesContent":["\"use client\"\n\nimport { useQueryClient } from \"@tanstack/react-query\"\nimport { logOutUserAction } from \"../actions/logoutUserAction\"\nimport { StorefrontButton } from \"../../storefront/primitives/button\"\n\ninterface SignOutProps {\n labels?: {\n button?: string\n }\n}\n\nexport const SignOut = ({ labels = {} }: SignOutProps) => {\n const { button = \"Sign out\" } = labels\n const queryClient = useQueryClient()\n\n return (\n <StorefrontButton\n variant=\"ghost\"\n onClick={async () => {\n const success = await logOutUserAction()\n\n if (success) {\n queryClient.setQueryData([\"user\"], null)\n }\n }}\n >\n {button}\n </StorefrontButton>\n )\n}\n"],"mappings":";AAiBI;AAfJ,SAAS,sBAAsB;AAC/B,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AAQ1B,MAAM,UAAU,CAAC,EAAE,SAAS,CAAC,EAAE,MAAoB;AACxD,QAAM,EAAE,SAAS,WAAW,IAAI;AAChC,QAAM,cAAc,eAAe;AAEnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,SAAS,YAAY;AACnB,cAAM,UAAU,MAAM,iBAAiB;AAEvC,YAAI,SAAS;AACX,sBAAY,aAAa,CAAC,MAAM,GAAG,IAAI;AAAA,QACzC;AAAA,MACF;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;","names":[]}
@@ -0,0 +1,27 @@
1
+ import React from "react";
2
+ interface SignupFormProps {
3
+ labels?: {
4
+ title?: string;
5
+ subtitle?: string;
6
+ firstName?: string;
7
+ firstNamePlaceholder?: string;
8
+ lastName?: string;
9
+ lastNamePlaceholder?: string;
10
+ email?: string;
11
+ emailPlaceholder?: string;
12
+ password?: string;
13
+ passwordPlaceholder?: string;
14
+ acceptTerms?: string;
15
+ termsLinkText?: string;
16
+ submit?: string;
17
+ signingUp?: string;
18
+ };
19
+ extraLink?: {
20
+ href: string;
21
+ text: string;
22
+ };
23
+ successRedirect: string;
24
+ }
25
+ export declare const SignupForm: React.FC<SignupFormProps>;
26
+ export {};
27
+ //# sourceMappingURL=signup-form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signup-form.d.ts","sourceRoot":"","sources":["../../../../src/client/user/components/signup-form.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmC,MAAM,OAAO,CAAA;AAMvD,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,oBAAoB,CAAC,EAAE,MAAM,CAAA;QAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,mBAAmB,CAAC,EAAE,MAAM,CAAA;QAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,mBAAmB,CAAC,EAAE,MAAM,CAAA;QAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,SAAS,CAAC,EAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,eAAe,EAAE,MAAM,CAAA;CACxB;AAoID,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAgFhD,CAAA"}