storefront-layouts 1.0.5 → 1.0.7

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 (678) hide show
  1. package/dist/components/auth/LoginForm.d.ts +1 -1
  2. package/dist/components/auth/LoginForm.d.ts.map +1 -1
  3. package/dist/components/auth/LoginForm.js +1 -1
  4. package/dist/components/auth/LoginSheet.d.ts +2 -2
  5. package/dist/components/auth/LoginSheet.d.ts.map +1 -1
  6. package/dist/components/auth/LoginSheet.js +1 -1
  7. package/dist/components/auth/login-form-core.d.ts +2 -2
  8. package/dist/components/auth/login-form-core.d.ts.map +1 -1
  9. package/dist/components/auth/login-form-core.js +1 -1
  10. package/dist/components/auth/login-sheet-header.d.ts +2 -2
  11. package/dist/components/auth/login-sheet-header.d.ts.map +1 -1
  12. package/dist/components/auth/login-sheet-header.js +3 -3
  13. package/dist/components/auth/login-sheet-registry.d.ts +2 -2
  14. package/dist/components/auth/login-sheet-registry.d.ts.map +1 -1
  15. package/dist/components/auth/login-sheet-theme.types.d.ts +1 -1
  16. package/dist/components/auth/login-sheet-themes/index.d.ts +1 -1
  17. package/dist/components/auth/login-sheet-themes/index.d.ts.map +1 -1
  18. package/dist/components/auth/login-sheet-themes/index.js +0 -2
  19. package/dist/components/auth/login-sheets/StoreLoginSheetShell.d.ts +2 -2
  20. package/dist/components/auth/login-sheets/StoreLoginSheetShell.d.ts.map +1 -1
  21. package/dist/components/auth/login-sheets/StoreLoginSheetShell.js +2 -2
  22. package/dist/components/auth/use-login-submit.js +3 -3
  23. package/dist/components/cart/InventoryHoldCountdown.d.ts +1 -1
  24. package/dist/components/cart/InventoryHoldCountdown.d.ts.map +1 -1
  25. package/dist/components/cart/InventoryHoldCountdown.js +2 -2
  26. package/dist/components/categories/category-masonry-grid.d.ts +1 -1
  27. package/dist/components/categories/category-masonry-grid.d.ts.map +1 -1
  28. package/dist/components/checkout/CheckoutFeeLines.d.ts +2 -2
  29. package/dist/components/checkout/CheckoutFeeLines.d.ts.map +1 -1
  30. package/dist/components/checkout/CheckoutFeeLines.js +1 -1
  31. package/dist/components/checkout/ShippingOptionsPanel.d.ts +2 -2
  32. package/dist/components/checkout/ShippingOptionsPanel.d.ts.map +1 -1
  33. package/dist/components/checkout/ShippingOptionsPanel.js +3 -3
  34. package/dist/components/learning/CertificateTemplates.d.ts +2 -2
  35. package/dist/components/learning/CertificateTemplates.d.ts.map +1 -1
  36. package/dist/components/learning/CertificateTemplates.js +2 -2
  37. package/dist/components/learning/CertificateViewer.d.ts +1 -1
  38. package/dist/components/learning/CertificateViewer.d.ts.map +1 -1
  39. package/dist/components/learning/CertificateViewer.js +2 -2
  40. package/dist/components/learning/MentorshipProgress.d.ts +1 -1
  41. package/dist/components/learning/MentorshipProgress.d.ts.map +1 -1
  42. package/dist/components/learning/MentorshipProgress.js +3 -3
  43. package/dist/components/product/ProductVariationSelectors.d.ts +2 -2
  44. package/dist/components/product/ProductVariationSelectors.d.ts.map +1 -1
  45. package/dist/components/product/ProductVariationSelectors.js +1 -1
  46. package/dist/components/rich-text/CategoryDescription.d.ts +2 -1
  47. package/dist/components/rich-text/CategoryDescription.d.ts.map +1 -1
  48. package/dist/components/rich-text/ProductDescription.d.ts +2 -1
  49. package/dist/components/rich-text/ProductDescription.d.ts.map +1 -1
  50. package/dist/components/shipping/MerchantHandledDeliveryNotice.d.ts +1 -1
  51. package/dist/components/shipping/MerchantHandledDeliveryNotice.d.ts.map +1 -1
  52. package/dist/components/shipping/ProductDeliveryInfoSection.d.ts +4 -4
  53. package/dist/components/shipping/ProductDeliveryInfoSection.d.ts.map +1 -1
  54. package/dist/components/shipping/ProductDeliveryInfoSection.js +2 -2
  55. package/dist/components/shipping/ShippingQuoteAddressForm.d.ts +2 -2
  56. package/dist/components/shipping/ShippingQuoteAddressForm.d.ts.map +1 -1
  57. package/dist/components/shipping/ShippingQuoteAddressForm.js +3 -3
  58. package/dist/components/ui/address-selector.d.ts +2 -2
  59. package/dist/components/ui/address-selector.d.ts.map +1 -1
  60. package/dist/components/ui/alert-modal.d.ts +1 -1
  61. package/dist/components/ui/alert-modal.d.ts.map +1 -1
  62. package/dist/components/ui/alert-modal.js +1 -1
  63. package/dist/components/ui/avatar-image.d.ts +1 -1
  64. package/dist/components/ui/avatar-image.d.ts.map +1 -1
  65. package/dist/components/ui/avatar-image.js +1 -1
  66. package/dist/components/ui/background-patterns.d.ts +4 -4
  67. package/dist/components/ui/background-patterns.d.ts.map +1 -1
  68. package/dist/components/ui/badge.d.ts +1 -1
  69. package/dist/components/ui/badge.d.ts.map +1 -1
  70. package/dist/components/ui/badge.js +1 -1
  71. package/dist/components/ui/breadcrumbs.d.ts +2 -1
  72. package/dist/components/ui/breadcrumbs.d.ts.map +1 -1
  73. package/dist/components/ui/breadcrumbs.js +1 -1
  74. package/dist/components/ui/button.d.ts +1 -1
  75. package/dist/components/ui/button.d.ts.map +1 -1
  76. package/dist/components/ui/button.js +1 -1
  77. package/dist/components/ui/card.d.ts +7 -7
  78. package/dist/components/ui/card.d.ts.map +1 -1
  79. package/dist/components/ui/card.js +1 -1
  80. package/dist/components/ui/category-tree.d.ts +2 -2
  81. package/dist/components/ui/category-tree.d.ts.map +1 -1
  82. package/dist/components/ui/category-tree.js +2 -2
  83. package/dist/components/ui/checkout-button.d.ts +2 -2
  84. package/dist/components/ui/checkout-button.d.ts.map +1 -1
  85. package/dist/components/ui/checkout-button.js +4 -4
  86. package/dist/components/ui/guest-checkout-modal.d.ts +2 -1
  87. package/dist/components/ui/guest-checkout-modal.d.ts.map +1 -1
  88. package/dist/components/ui/guest-checkout-modal.js +1 -1
  89. package/dist/components/ui/image-skeleton.d.ts +1 -1
  90. package/dist/components/ui/image-skeleton.d.ts.map +1 -1
  91. package/dist/components/ui/image-skeleton.js +1 -1
  92. package/dist/components/ui/image-with-fallback.d.ts +1 -1
  93. package/dist/components/ui/image-with-fallback.d.ts.map +1 -1
  94. package/dist/components/ui/image-with-fallback.js +1 -1
  95. package/dist/components/ui/input.js +1 -1
  96. package/dist/components/ui/limited-time-offer-badge.d.ts +1 -1
  97. package/dist/components/ui/limited-time-offer-badge.d.ts.map +1 -1
  98. package/dist/components/ui/limited-time-offer-badge.js +2 -2
  99. package/dist/components/ui/loading-skeleton-wrapper.d.ts +1 -1
  100. package/dist/components/ui/loading-skeleton-wrapper.d.ts.map +1 -1
  101. package/dist/components/ui/modal.d.ts +1 -1
  102. package/dist/components/ui/modal.d.ts.map +1 -1
  103. package/dist/components/ui/modal.js +1 -1
  104. package/dist/components/ui/otp-input.d.ts +2 -1
  105. package/dist/components/ui/otp-input.d.ts.map +1 -1
  106. package/dist/components/ui/otp-input.js +1 -1
  107. package/dist/components/ui/out-of-stock-overlay.d.ts +1 -1
  108. package/dist/components/ui/out-of-stock-overlay.d.ts.map +1 -1
  109. package/dist/components/ui/out-of-stock-overlay.js +1 -1
  110. package/dist/components/ui/page-animate-wrapper.d.ts +1 -1
  111. package/dist/components/ui/page-animate-wrapper.d.ts.map +1 -1
  112. package/dist/components/ui/page-animate-wrapper.js +2 -2
  113. package/dist/components/ui/page-content-loader.d.ts +1 -1
  114. package/dist/components/ui/page-content-loader.d.ts.map +1 -1
  115. package/dist/components/ui/page-content-loader.js +1 -1
  116. package/dist/components/ui/page-loader.d.ts +3 -3
  117. package/dist/components/ui/page-loader.d.ts.map +1 -1
  118. package/dist/components/ui/page-loader.js +1 -1
  119. package/dist/components/ui/product-card.d.ts +2 -2
  120. package/dist/components/ui/product-card.d.ts.map +1 -1
  121. package/dist/components/ui/product-card.js +17 -17
  122. package/dist/components/ui/product-rating.d.ts +1 -1
  123. package/dist/components/ui/product-rating.d.ts.map +1 -1
  124. package/dist/components/ui/product-rating.js +1 -1
  125. package/dist/components/ui/product-stock-badge.d.ts +2 -2
  126. package/dist/components/ui/product-stock-badge.d.ts.map +1 -1
  127. package/dist/components/ui/product-stock-badge.js +2 -2
  128. package/dist/components/ui/review-form.d.ts +2 -2
  129. package/dist/components/ui/review-form.d.ts.map +1 -1
  130. package/dist/components/ui/review-form.js +2 -2
  131. package/dist/components/ui/route-skeleton-loader.d.ts +1 -1
  132. package/dist/components/ui/route-skeleton-loader.d.ts.map +1 -1
  133. package/dist/components/ui/route-skeleton-loader.js +7 -2
  134. package/dist/components/ui/sheet.d.ts +1 -1
  135. package/dist/components/ui/sheet.d.ts.map +1 -1
  136. package/dist/components/ui/sheet.js +1 -1
  137. package/dist/components/ui/skeleton.d.ts +1 -1
  138. package/dist/components/ui/skeleton.d.ts.map +1 -1
  139. package/dist/components/ui/skeleton.js +1 -1
  140. package/dist/components/ui/skeletons/category-grid-skeleton.d.ts +1 -1
  141. package/dist/components/ui/skeletons/category-grid-skeleton.d.ts.map +1 -1
  142. package/dist/components/ui/skeletons/checkout-skeleton.d.ts +1 -1
  143. package/dist/components/ui/skeletons/checkout-skeleton.d.ts.map +1 -1
  144. package/dist/components/ui/skeletons/page-skeleton.d.ts +1 -1
  145. package/dist/components/ui/skeletons/page-skeleton.d.ts.map +1 -1
  146. package/dist/components/ui/skeletons/product-card-skeleton.d.ts +1 -1
  147. package/dist/components/ui/skeletons/product-card-skeleton.d.ts.map +1 -1
  148. package/dist/components/ui/skeletons/product-detail-skeleton.d.ts +1 -1
  149. package/dist/components/ui/skeletons/product-detail-skeleton.d.ts.map +1 -1
  150. package/dist/components/ui/skeletons/product-grid-skeleton.d.ts +1 -1
  151. package/dist/components/ui/skeletons/product-grid-skeleton.d.ts.map +1 -1
  152. package/dist/components/ui/store-logos.d.ts +13 -13
  153. package/dist/components/ui/store-logos.d.ts.map +1 -1
  154. package/dist/components/ui/store-logos.js +2 -2
  155. package/dist/components/ui/toast.d.ts +1 -1
  156. package/dist/components/ui/toast.d.ts.map +1 -1
  157. package/dist/components/ui/toast.js +1 -1
  158. package/dist/components/ui/video-player.d.ts +1 -1
  159. package/dist/components/ui/video-player.d.ts.map +1 -1
  160. package/dist/components/ui/video-player.js +2 -2
  161. package/dist/editor/alignment-schemas/booking-footer-section.d.ts.map +1 -1
  162. package/dist/editor/alignment-schemas/booking-footer-section.js +0 -1
  163. package/dist/editor/alignment-schemas/clothing.d.ts.map +1 -1
  164. package/dist/editor/alignment-schemas/clothing.js +0 -1
  165. package/dist/editor/alignment-schemas/food.d.ts.map +1 -1
  166. package/dist/editor/alignment-schemas/food.js +0 -1
  167. package/dist/editor/payaza-form/ActiveArrayFocusContext.d.ts +1 -1
  168. package/dist/editor/payaza-form/ActiveArrayFocusContext.d.ts.map +1 -1
  169. package/dist/editor/payaza-form/EditorCanvasPreview.d.ts +1 -1
  170. package/dist/editor/payaza-form/EditorCanvasPreview.d.ts.map +1 -1
  171. package/dist/editor/payaza-form/EditorCanvasPreview.js +1 -1
  172. package/dist/editor/payaza-form/PayazaFormEditor.d.ts.map +1 -1
  173. package/dist/editor/payaza-form/PayazaFormEditor.js +4 -2
  174. package/dist/editor/payaza-form/SliderArrayEditor.js +1 -1
  175. package/dist/editor/payaza-form/components/BlocksField.js +1 -1
  176. package/dist/editor/payaza-form/components/SectionField.js +1 -1
  177. package/dist/editor/payaza-form/components/StarRatingField.js +1 -1
  178. package/dist/editor/payaza-form/data-transformer.d.ts.map +1 -1
  179. package/dist/editor/payaza-form/data-transformer.js +8 -1
  180. package/dist/editor/payaza-form/examples/custom-widgets.example.d.ts +2 -1
  181. package/dist/editor/payaza-form/examples/custom-widgets.example.d.ts.map +1 -1
  182. package/dist/editor/shared/BlockOutlineTree.d.ts +2 -1
  183. package/dist/editor/shared/BlockOutlineTree.d.ts.map +1 -1
  184. package/dist/editor/shared/BlockOutlineTree.js +1 -1
  185. package/dist/editor/shared/EditorHeader.js +1 -1
  186. package/dist/editor/shared/EditorNavigator.js +1 -1
  187. package/dist/editor/shared/InlineCanvasPreview.js +1 -1
  188. package/dist/editor/shared/useEditorChromeMetrics.js +2 -1
  189. package/dist/hooks/use-analytics.d.ts +1 -1
  190. package/dist/hooks/use-analytics.js +3 -3
  191. package/dist/hooks/use-api.js +1 -1
  192. package/dist/hooks/use-cart-api.d.ts +1 -1
  193. package/dist/hooks/use-cart-api.js +3 -3
  194. package/dist/hooks/use-catalog-loader.d.ts +1 -1
  195. package/dist/hooks/use-catalog-loader.js +6 -6
  196. package/dist/hooks/use-catalog-price-range.d.ts +2 -2
  197. package/dist/hooks/use-catalog-price-range.js +1 -1
  198. package/dist/hooks/use-category-products.d.ts +6 -2
  199. package/dist/hooks/use-category-products.d.ts.map +1 -1
  200. package/dist/hooks/use-category-products.js +10 -7
  201. package/dist/hooks/use-checkout-fees.d.ts +4 -3
  202. package/dist/hooks/use-checkout-fees.d.ts.map +1 -1
  203. package/dist/hooks/use-checkout-fees.js +1 -1
  204. package/dist/hooks/use-content-ready.js +1 -1
  205. package/dist/hooks/use-featured-products.d.ts +1 -1
  206. package/dist/hooks/use-featured-products.js +2 -2
  207. package/dist/hooks/use-filtered-products-fetch.d.ts +12 -0
  208. package/dist/hooks/use-filtered-products-fetch.d.ts.map +1 -0
  209. package/dist/hooks/use-filtered-products-fetch.js +58 -0
  210. package/dist/hooks/use-multi-store-checkout-fees.d.ts +4 -3
  211. package/dist/hooks/use-multi-store-checkout-fees.d.ts.map +1 -1
  212. package/dist/hooks/use-multi-store-checkout-fees.js +1 -1
  213. package/dist/hooks/use-navigation-loading.js +1 -1
  214. package/dist/hooks/use-payaza-checkout.d.ts +1 -1
  215. package/dist/hooks/use-payaza-checkout.js +2 -2
  216. package/dist/hooks/use-product-brands.js +1 -1
  217. package/dist/hooks/use-product-by-slug.d.ts +1 -1
  218. package/dist/hooks/use-product-by-slug.js +2 -2
  219. package/dist/hooks/use-product-variation-selection.d.ts +7 -1
  220. package/dist/hooks/use-product-variation-selection.d.ts.map +1 -1
  221. package/dist/hooks/use-product-variation-selection.js +1 -1
  222. package/dist/hooks/use-products-api.d.ts +2 -2
  223. package/dist/hooks/use-products-api.js +3 -3
  224. package/dist/hooks/use-shipping-quote.d.ts +2 -2
  225. package/dist/hooks/use-shipping-quote.js +2 -2
  226. package/dist/hooks/use-store-api.d.ts +2 -2
  227. package/dist/hooks/use-store-api.js +4 -4
  228. package/dist/index.d.ts +15 -6
  229. package/dist/index.d.ts.map +1 -1
  230. package/dist/index.js +15 -6
  231. package/dist/layouts/booking/components/BookingHomePage.d.ts +2 -2
  232. package/dist/layouts/booking/components/BookingHomePage.d.ts.map +1 -1
  233. package/dist/layouts/booking/components/BookingHomePage.js +7 -5
  234. package/dist/layouts/booking/components/BookingMultilineHeading.d.ts +2 -1
  235. package/dist/layouts/booking/components/BookingMultilineHeading.d.ts.map +1 -1
  236. package/dist/layouts/booking/components/BookingTestimonialCard.d.ts +3 -2
  237. package/dist/layouts/booking/components/BookingTestimonialCard.d.ts.map +1 -1
  238. package/dist/layouts/booking/components/BookingTestimonialCard.js +1 -1
  239. package/dist/layouts/booking/components/BookingTestimonialsEmptyState.d.ts +2 -1
  240. package/dist/layouts/booking/components/BookingTestimonialsEmptyState.d.ts.map +1 -1
  241. package/dist/layouts/booking/components/BookingTestimonialsEmptyState.js +1 -1
  242. package/dist/layouts/booking/components/booking-footer-defaults.d.ts +1 -1
  243. package/dist/layouts/booking/components/booking-testimonial-defaults.d.ts +1 -1
  244. package/dist/layouts/booking/index.d.ts +5 -5
  245. package/dist/layouts/booking/index.d.ts.map +1 -1
  246. package/dist/layouts/booking/index.js +5 -5
  247. package/dist/layouts/booking/pages/AboutPage.d.ts +2 -2
  248. package/dist/layouts/booking/pages/AboutPage.d.ts.map +1 -1
  249. package/dist/layouts/booking/pages/AboutPage.js +6 -4
  250. package/dist/layouts/booking/pages/BookPage.d.ts +2 -2
  251. package/dist/layouts/booking/pages/BookPage.d.ts.map +1 -1
  252. package/dist/layouts/booking/pages/BookPage.js +14 -14
  253. package/dist/layouts/booking/pages/CategoriesPage.d.ts +2 -2
  254. package/dist/layouts/booking/pages/CategoriesPage.d.ts.map +1 -1
  255. package/dist/layouts/booking/pages/CategoriesPage.js +4 -4
  256. package/dist/layouts/booking/pages/CategoryPage.d.ts +2 -2
  257. package/dist/layouts/booking/pages/CategoryPage.d.ts.map +1 -1
  258. package/dist/layouts/booking/pages/CategoryPage.js +9 -7
  259. package/dist/layouts/booking/pages/ContactPage.d.ts +2 -2
  260. package/dist/layouts/booking/pages/ContactPage.d.ts.map +1 -1
  261. package/dist/layouts/booking/pages/ContactPage.js +3 -3
  262. package/dist/layouts/booking/pages/ProductDetailPage.d.ts +2 -2
  263. package/dist/layouts/booking/pages/ProductDetailPage.d.ts.map +1 -1
  264. package/dist/layouts/booking/pages/ProductDetailPage.js +25 -23
  265. package/dist/layouts/booking/pages/ServicesPage.d.ts +2 -2
  266. package/dist/layouts/booking/pages/ServicesPage.d.ts.map +1 -1
  267. package/dist/layouts/booking/pages/ServicesPage.js +7 -5
  268. package/dist/layouts/booking-agenda/components/BookingHomePageAgenda.d.ts +2 -2
  269. package/dist/layouts/booking-agenda/components/BookingHomePageAgenda.d.ts.map +1 -1
  270. package/dist/layouts/booking-agenda/components/BookingHomePageAgenda.js +17 -17
  271. package/dist/layouts/booking-agenda/index.d.ts +5 -5
  272. package/dist/layouts/booking-agenda/index.d.ts.map +1 -1
  273. package/dist/layouts/booking-agenda/index.js +5 -5
  274. package/dist/layouts/booking-agenda/pages/AboutPage.d.ts +2 -2
  275. package/dist/layouts/booking-agenda/pages/AboutPage.d.ts.map +1 -1
  276. package/dist/layouts/booking-agenda/pages/AboutPage.js +6 -4
  277. package/dist/layouts/booking-agenda/pages/BookPage.d.ts +2 -2
  278. package/dist/layouts/booking-agenda/pages/BookPage.d.ts.map +1 -1
  279. package/dist/layouts/booking-agenda/pages/BookPage.js +14 -14
  280. package/dist/layouts/booking-agenda/pages/CategoriesPage.d.ts +2 -2
  281. package/dist/layouts/booking-agenda/pages/CategoriesPage.d.ts.map +1 -1
  282. package/dist/layouts/booking-agenda/pages/CategoriesPage.js +4 -4
  283. package/dist/layouts/booking-agenda/pages/CategoryPage.d.ts +2 -2
  284. package/dist/layouts/booking-agenda/pages/CategoryPage.d.ts.map +1 -1
  285. package/dist/layouts/booking-agenda/pages/CategoryPage.js +9 -7
  286. package/dist/layouts/booking-agenda/pages/ContactPage.d.ts +2 -2
  287. package/dist/layouts/booking-agenda/pages/ContactPage.d.ts.map +1 -1
  288. package/dist/layouts/booking-agenda/pages/ContactPage.js +3 -3
  289. package/dist/layouts/booking-agenda/pages/ProductDetailPage.d.ts +2 -2
  290. package/dist/layouts/booking-agenda/pages/ProductDetailPage.d.ts.map +1 -1
  291. package/dist/layouts/booking-agenda/pages/ProductDetailPage.js +25 -23
  292. package/dist/layouts/booking-agenda/pages/ServicesPage.d.ts +2 -2
  293. package/dist/layouts/booking-agenda/pages/ServicesPage.d.ts.map +1 -1
  294. package/dist/layouts/booking-agenda/pages/ServicesPage.js +6 -4
  295. package/dist/layouts/clothing/components/ClothingHomePage.d.ts +1 -1
  296. package/dist/layouts/clothing/components/ClothingHomePage.d.ts.map +1 -1
  297. package/dist/layouts/clothing/components/ClothingHomePage.js +7 -6
  298. package/dist/layouts/clothing/index.d.ts +5 -5
  299. package/dist/layouts/clothing/index.d.ts.map +1 -1
  300. package/dist/layouts/clothing/index.js +5 -5
  301. package/dist/layouts/clothing/pages/AboutPage.d.ts +1 -1
  302. package/dist/layouts/clothing/pages/AboutPage.d.ts.map +1 -1
  303. package/dist/layouts/clothing/pages/AboutPage.js +2 -1
  304. package/dist/layouts/clothing/pages/CategoriesPage.d.ts +1 -1
  305. package/dist/layouts/clothing/pages/CategoriesPage.d.ts.map +1 -1
  306. package/dist/layouts/clothing/pages/CategoriesPage.js +3 -2
  307. package/dist/layouts/clothing/pages/CategoryPage.d.ts +3 -1
  308. package/dist/layouts/clothing/pages/CategoryPage.d.ts.map +1 -1
  309. package/dist/layouts/clothing/pages/CategoryPage.js +5 -4
  310. package/dist/layouts/clothing/pages/ContactPage.d.ts +1 -1
  311. package/dist/layouts/clothing/pages/ContactPage.d.ts.map +1 -1
  312. package/dist/layouts/clothing/pages/ProductDetailPage.d.ts +1 -1
  313. package/dist/layouts/clothing/pages/ProductDetailPage.d.ts.map +1 -1
  314. package/dist/layouts/clothing/pages/ProductDetailPage.js +6 -5
  315. package/dist/layouts/clothing/pages/ProductsPage.d.ts +1 -1
  316. package/dist/layouts/clothing/pages/ProductsPage.d.ts.map +1 -1
  317. package/dist/layouts/clothing/pages/ProductsPage.js +57 -64
  318. package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.d.ts +1 -1
  319. package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.d.ts.map +1 -1
  320. package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.js +6 -5
  321. package/dist/layouts/clothing-minimal/components/clothing-minimal-block-render.d.ts +6 -5
  322. package/dist/layouts/clothing-minimal/components/clothing-minimal-block-render.d.ts.map +1 -1
  323. package/dist/layouts/clothing-minimal/index.d.ts +5 -5
  324. package/dist/layouts/clothing-minimal/index.d.ts.map +1 -1
  325. package/dist/layouts/clothing-minimal/index.js +5 -5
  326. package/dist/layouts/clothing-minimal/pages/AboutPage.d.ts +1 -1
  327. package/dist/layouts/clothing-minimal/pages/AboutPage.d.ts.map +1 -1
  328. package/dist/layouts/clothing-minimal/pages/AboutPage.js +2 -1
  329. package/dist/layouts/clothing-minimal/pages/CategoriesPage.d.ts +1 -1
  330. package/dist/layouts/clothing-minimal/pages/CategoriesPage.d.ts.map +1 -1
  331. package/dist/layouts/clothing-minimal/pages/CategoriesPage.js +3 -2
  332. package/dist/layouts/clothing-minimal/pages/CategoryPage.d.ts +3 -1
  333. package/dist/layouts/clothing-minimal/pages/CategoryPage.d.ts.map +1 -1
  334. package/dist/layouts/clothing-minimal/pages/CategoryPage.js +5 -4
  335. package/dist/layouts/clothing-minimal/pages/ContactPage.d.ts +1 -1
  336. package/dist/layouts/clothing-minimal/pages/ContactPage.d.ts.map +1 -1
  337. package/dist/layouts/clothing-minimal/pages/ProductDetailPage.d.ts +1 -1
  338. package/dist/layouts/clothing-minimal/pages/ProductDetailPage.d.ts.map +1 -1
  339. package/dist/layouts/clothing-minimal/pages/ProductDetailPage.js +5 -4
  340. package/dist/layouts/clothing-minimal/pages/ProductsPage.d.ts +1 -1
  341. package/dist/layouts/clothing-minimal/pages/ProductsPage.d.ts.map +1 -1
  342. package/dist/layouts/clothing-minimal/pages/ProductsPage.js +57 -64
  343. package/dist/layouts/electronics/components/ElectronicsCategoriesPage.d.ts +2 -2
  344. package/dist/layouts/electronics/components/ElectronicsCategoriesPage.d.ts.map +1 -1
  345. package/dist/layouts/electronics/components/ElectronicsCategoriesPage.js +4 -4
  346. package/dist/layouts/electronics/components/ElectronicsGridProductCard.d.ts +2 -2
  347. package/dist/layouts/electronics/components/ElectronicsGridProductCard.d.ts.map +1 -1
  348. package/dist/layouts/electronics/components/ElectronicsGridProductCard.js +14 -14
  349. package/dist/layouts/electronics/components/ElectronicsHomePage.d.ts +2 -2
  350. package/dist/layouts/electronics/components/ElectronicsHomePage.d.ts.map +1 -1
  351. package/dist/layouts/electronics/components/ElectronicsHomePage.js +10 -9
  352. package/dist/layouts/electronics/components/ElectronicsPageWrapper.d.ts +2 -2
  353. package/dist/layouts/electronics/components/ElectronicsPageWrapper.d.ts.map +1 -1
  354. package/dist/layouts/electronics/components/ElectronicsPageWrapper.js +2 -2
  355. package/dist/layouts/electronics/components/ElectronicsProductsPage.d.ts +2 -2
  356. package/dist/layouts/electronics/components/ElectronicsProductsPage.d.ts.map +1 -1
  357. package/dist/layouts/electronics/components/ElectronicsProductsPage.js +56 -47
  358. package/dist/layouts/electronics/components/ElectronicsStoreFooter.d.ts +2 -2
  359. package/dist/layouts/electronics/components/ElectronicsStoreFooter.d.ts.map +1 -1
  360. package/dist/layouts/electronics/components/ElectronicsStoreFooter.js +4 -3
  361. package/dist/layouts/electronics/components/ElectronicsStoreHeader.d.ts +2 -2
  362. package/dist/layouts/electronics/components/ElectronicsStoreHeader.d.ts.map +1 -1
  363. package/dist/layouts/electronics/components/ElectronicsStoreHeader.js +6 -6
  364. package/dist/layouts/electronics/index.d.ts +5 -5
  365. package/dist/layouts/electronics/index.d.ts.map +1 -1
  366. package/dist/layouts/electronics/index.js +5 -5
  367. package/dist/layouts/electronics/pages/AboutPage.d.ts +2 -2
  368. package/dist/layouts/electronics/pages/AboutPage.d.ts.map +1 -1
  369. package/dist/layouts/electronics/pages/AboutPage.js +6 -4
  370. package/dist/layouts/electronics/pages/CategoriesPage.d.ts +2 -2
  371. package/dist/layouts/electronics/pages/CategoriesPage.d.ts.map +1 -1
  372. package/dist/layouts/electronics/pages/CategoryPage.d.ts +4 -2
  373. package/dist/layouts/electronics/pages/CategoryPage.d.ts.map +1 -1
  374. package/dist/layouts/electronics/pages/CategoryPage.js +11 -10
  375. package/dist/layouts/electronics/pages/ContactPage.d.ts +2 -2
  376. package/dist/layouts/electronics/pages/ContactPage.d.ts.map +1 -1
  377. package/dist/layouts/electronics/pages/ContactPage.js +3 -3
  378. package/dist/layouts/electronics/pages/HelpCenterPage.d.ts +2 -2
  379. package/dist/layouts/electronics/pages/HelpCenterPage.d.ts.map +1 -1
  380. package/dist/layouts/electronics/pages/HelpCenterPage.js +1 -1
  381. package/dist/layouts/electronics/pages/PrivacyPolicyPage.d.ts +2 -2
  382. package/dist/layouts/electronics/pages/PrivacyPolicyPage.d.ts.map +1 -1
  383. package/dist/layouts/electronics/pages/PrivacyPolicyPage.js +1 -1
  384. package/dist/layouts/electronics/pages/ProductDetailPage.d.ts +2 -2
  385. package/dist/layouts/electronics/pages/ProductDetailPage.d.ts.map +1 -1
  386. package/dist/layouts/electronics/pages/ProductDetailPage.js +25 -23
  387. package/dist/layouts/electronics/pages/ProductsPage.d.ts +2 -2
  388. package/dist/layouts/electronics/pages/ProductsPage.d.ts.map +1 -1
  389. package/dist/layouts/electronics/pages/ProductsPage.js +72 -79
  390. package/dist/layouts/electronics/pages/ShippingReturnsPage.d.ts +2 -2
  391. package/dist/layouts/electronics/pages/ShippingReturnsPage.d.ts.map +1 -1
  392. package/dist/layouts/electronics/pages/TermsPage.d.ts +2 -2
  393. package/dist/layouts/electronics/pages/TermsPage.d.ts.map +1 -1
  394. package/dist/layouts/electronics/pages/TermsPage.js +1 -1
  395. package/dist/layouts/electronics/pages/TrackOrderPage.d.ts +2 -2
  396. package/dist/layouts/electronics/pages/TrackOrderPage.d.ts.map +1 -1
  397. package/dist/layouts/electronics/pages/TrackOrderPage.js +4 -4
  398. package/dist/layouts/electronics-grid/components/ElectronicsGridProductCard.d.ts +2 -2
  399. package/dist/layouts/electronics-grid/components/ElectronicsGridProductCard.d.ts.map +1 -1
  400. package/dist/layouts/electronics-grid/components/ElectronicsGridProductCard.js +14 -14
  401. package/dist/layouts/electronics-grid/components/ElectronicsHomePageGrid.d.ts +2 -2
  402. package/dist/layouts/electronics-grid/components/ElectronicsHomePageGrid.d.ts.map +1 -1
  403. package/dist/layouts/electronics-grid/components/ElectronicsHomePageGrid.js +16 -15
  404. package/dist/layouts/electronics-grid/index.d.ts +5 -5
  405. package/dist/layouts/electronics-grid/index.d.ts.map +1 -1
  406. package/dist/layouts/electronics-grid/index.js +5 -5
  407. package/dist/layouts/electronics-grid/pages/AboutPage.d.ts +2 -2
  408. package/dist/layouts/electronics-grid/pages/AboutPage.d.ts.map +1 -1
  409. package/dist/layouts/electronics-grid/pages/AboutPage.js +6 -4
  410. package/dist/layouts/electronics-grid/pages/CategoriesPage.d.ts +2 -2
  411. package/dist/layouts/electronics-grid/pages/CategoriesPage.d.ts.map +1 -1
  412. package/dist/layouts/electronics-grid/pages/CategoryPage.d.ts +4 -2
  413. package/dist/layouts/electronics-grid/pages/CategoryPage.d.ts.map +1 -1
  414. package/dist/layouts/electronics-grid/pages/CategoryPage.js +11 -10
  415. package/dist/layouts/electronics-grid/pages/ContactPage.d.ts +2 -2
  416. package/dist/layouts/electronics-grid/pages/ContactPage.d.ts.map +1 -1
  417. package/dist/layouts/electronics-grid/pages/ContactPage.js +3 -3
  418. package/dist/layouts/electronics-grid/pages/ElectronicsGridCategoriesPage.d.ts +2 -2
  419. package/dist/layouts/electronics-grid/pages/ElectronicsGridCategoriesPage.d.ts.map +1 -1
  420. package/dist/layouts/electronics-grid/pages/ElectronicsGridCategoriesPage.js +6 -6
  421. package/dist/layouts/electronics-grid/pages/HelpCenterPage.d.ts +2 -2
  422. package/dist/layouts/electronics-grid/pages/HelpCenterPage.d.ts.map +1 -1
  423. package/dist/layouts/electronics-grid/pages/HelpCenterPage.js +1 -1
  424. package/dist/layouts/electronics-grid/pages/PrivacyPolicyPage.d.ts +2 -2
  425. package/dist/layouts/electronics-grid/pages/PrivacyPolicyPage.d.ts.map +1 -1
  426. package/dist/layouts/electronics-grid/pages/PrivacyPolicyPage.js +1 -1
  427. package/dist/layouts/electronics-grid/pages/ProductDetailPage.d.ts +2 -2
  428. package/dist/layouts/electronics-grid/pages/ProductDetailPage.d.ts.map +1 -1
  429. package/dist/layouts/electronics-grid/pages/ProductDetailPage.js +25 -23
  430. package/dist/layouts/electronics-grid/pages/ProductsPage.d.ts +2 -2
  431. package/dist/layouts/electronics-grid/pages/ProductsPage.d.ts.map +1 -1
  432. package/dist/layouts/electronics-grid/pages/ProductsPage.js +72 -79
  433. package/dist/layouts/electronics-grid/pages/ShippingReturnsPage.d.ts +2 -2
  434. package/dist/layouts/electronics-grid/pages/ShippingReturnsPage.d.ts.map +1 -1
  435. package/dist/layouts/electronics-grid/pages/TermsPage.d.ts +2 -2
  436. package/dist/layouts/electronics-grid/pages/TermsPage.d.ts.map +1 -1
  437. package/dist/layouts/electronics-grid/pages/TermsPage.js +1 -1
  438. package/dist/layouts/electronics-grid/pages/TrackOrderPage.d.ts +2 -2
  439. package/dist/layouts/electronics-grid/pages/TrackOrderPage.d.ts.map +1 -1
  440. package/dist/layouts/electronics-grid/pages/TrackOrderPage.js +4 -4
  441. package/dist/layouts/food/components/FoodHomePage.d.ts +2 -2
  442. package/dist/layouts/food/components/FoodHomePage.d.ts.map +1 -1
  443. package/dist/layouts/food/components/FoodHomePage.js +13 -11
  444. package/dist/layouts/food/index.d.ts +6 -6
  445. package/dist/layouts/food/index.d.ts.map +1 -1
  446. package/dist/layouts/food/index.js +6 -6
  447. package/dist/layouts/food/pages/AboutPage.d.ts +2 -2
  448. package/dist/layouts/food/pages/AboutPage.d.ts.map +1 -1
  449. package/dist/layouts/food/pages/AboutPage.js +5 -4
  450. package/dist/layouts/food/pages/CategoriesPage.d.ts +2 -2
  451. package/dist/layouts/food/pages/CategoriesPage.d.ts.map +1 -1
  452. package/dist/layouts/food/pages/CategoriesPage.js +4 -4
  453. package/dist/layouts/food/pages/CategoryPage.d.ts +4 -2
  454. package/dist/layouts/food/pages/CategoryPage.d.ts.map +1 -1
  455. package/dist/layouts/food/pages/CategoryPage.js +12 -10
  456. package/dist/layouts/food/pages/ContactPage.d.ts +2 -2
  457. package/dist/layouts/food/pages/ContactPage.d.ts.map +1 -1
  458. package/dist/layouts/food/pages/ContactPage.js +3 -3
  459. package/dist/layouts/food/pages/MenuPage.d.ts +2 -2
  460. package/dist/layouts/food/pages/MenuPage.d.ts.map +1 -1
  461. package/dist/layouts/food/pages/MenuPage.js +8 -8
  462. package/dist/layouts/food/pages/ProductDetailPage.d.ts +2 -2
  463. package/dist/layouts/food/pages/ProductDetailPage.d.ts.map +1 -1
  464. package/dist/layouts/food/pages/ProductDetailPage.js +25 -23
  465. package/dist/layouts/food/pages/ProductsPage.d.ts +2 -2
  466. package/dist/layouts/food/pages/ProductsPage.d.ts.map +1 -1
  467. package/dist/layouts/food/pages/ProductsPage.js +66 -69
  468. package/dist/layouts/food-modern/components/FoodHomePageModern.d.ts +2 -2
  469. package/dist/layouts/food-modern/components/FoodHomePageModern.d.ts.map +1 -1
  470. package/dist/layouts/food-modern/components/FoodHomePageModern.js +11 -9
  471. package/dist/layouts/food-modern/index.d.ts +6 -6
  472. package/dist/layouts/food-modern/index.d.ts.map +1 -1
  473. package/dist/layouts/food-modern/index.js +6 -6
  474. package/dist/layouts/food-modern/pages/AboutPage.d.ts +2 -2
  475. package/dist/layouts/food-modern/pages/AboutPage.d.ts.map +1 -1
  476. package/dist/layouts/food-modern/pages/AboutPage.js +6 -4
  477. package/dist/layouts/food-modern/pages/CategoriesPage.d.ts +2 -2
  478. package/dist/layouts/food-modern/pages/CategoriesPage.d.ts.map +1 -1
  479. package/dist/layouts/food-modern/pages/CategoriesPage.js +4 -4
  480. package/dist/layouts/food-modern/pages/CategoryPage.d.ts +4 -2
  481. package/dist/layouts/food-modern/pages/CategoryPage.d.ts.map +1 -1
  482. package/dist/layouts/food-modern/pages/CategoryPage.js +12 -10
  483. package/dist/layouts/food-modern/pages/ContactPage.d.ts +2 -2
  484. package/dist/layouts/food-modern/pages/ContactPage.d.ts.map +1 -1
  485. package/dist/layouts/food-modern/pages/ContactPage.js +3 -3
  486. package/dist/layouts/food-modern/pages/MenuPage.d.ts +2 -2
  487. package/dist/layouts/food-modern/pages/MenuPage.d.ts.map +1 -1
  488. package/dist/layouts/food-modern/pages/MenuPage.js +8 -8
  489. package/dist/layouts/food-modern/pages/ProductDetailPage.d.ts +2 -2
  490. package/dist/layouts/food-modern/pages/ProductDetailPage.d.ts.map +1 -1
  491. package/dist/layouts/food-modern/pages/ProductDetailPage.js +25 -23
  492. package/dist/layouts/food-modern/pages/ProductsPage.d.ts +2 -2
  493. package/dist/layouts/food-modern/pages/ProductsPage.d.ts.map +1 -1
  494. package/dist/layouts/food-modern/pages/ProductsPage.js +66 -69
  495. package/dist/layouts/motivational-speaker/components/MotivationalHomePage.d.ts +2 -2
  496. package/dist/layouts/motivational-speaker/components/MotivationalHomePage.d.ts.map +1 -1
  497. package/dist/layouts/motivational-speaker/components/MotivationalHomePage.js +10 -8
  498. package/dist/layouts/motivational-speaker/components/MotivationalSpeakerPageWrapper.d.ts +2 -1
  499. package/dist/layouts/motivational-speaker/components/MotivationalSpeakerPageWrapper.d.ts.map +1 -1
  500. package/dist/layouts/motivational-speaker/index.d.ts +6 -6
  501. package/dist/layouts/motivational-speaker/index.d.ts.map +1 -1
  502. package/dist/layouts/motivational-speaker/index.js +6 -6
  503. package/dist/layouts/motivational-speaker/pages/AboutPage.d.ts +2 -2
  504. package/dist/layouts/motivational-speaker/pages/AboutPage.d.ts.map +1 -1
  505. package/dist/layouts/motivational-speaker/pages/AboutPage.js +6 -4
  506. package/dist/layouts/motivational-speaker/pages/CategoryPage.d.ts +4 -2
  507. package/dist/layouts/motivational-speaker/pages/CategoryPage.d.ts.map +1 -1
  508. package/dist/layouts/motivational-speaker/pages/CategoryPage.js +15 -13
  509. package/dist/layouts/motivational-speaker/pages/ContactPage.d.ts +2 -2
  510. package/dist/layouts/motivational-speaker/pages/ContactPage.d.ts.map +1 -1
  511. package/dist/layouts/motivational-speaker/pages/ContactPage.js +3 -3
  512. package/dist/layouts/motivational-speaker/pages/ProductsPage.d.ts +2 -2
  513. package/dist/layouts/motivational-speaker/pages/ProductsPage.d.ts.map +1 -1
  514. package/dist/layouts/motivational-speaker/pages/ProductsPage.js +72 -79
  515. package/dist/layouts/motivational-speaker/pages/ServiceDetailPage.d.ts +2 -2
  516. package/dist/layouts/motivational-speaker/pages/ServiceDetailPage.d.ts.map +1 -1
  517. package/dist/layouts/motivational-speaker/pages/ServiceDetailPage.js +10 -9
  518. package/dist/layouts/motivational-speaker/pages/ServicesPage.d.ts +2 -2
  519. package/dist/layouts/motivational-speaker/pages/ServicesPage.d.ts.map +1 -1
  520. package/dist/layouts/motivational-speaker/pages/ServicesPage.js +6 -4
  521. package/dist/layouts/motivational-speaker/pages/SubscriptionPage.d.ts +2 -2
  522. package/dist/layouts/motivational-speaker/pages/SubscriptionPage.d.ts.map +1 -1
  523. package/dist/layouts/motivational-speaker/pages/SubscriptionPage.js +10 -9
  524. package/dist/layouts/shared/components/BaseStoreLayout.d.ts +1 -1
  525. package/dist/layouts/shared/components/BaseStoreLayout.d.ts.map +1 -1
  526. package/dist/layouts/shared/components/CartLineQuantityControl.d.ts +2 -2
  527. package/dist/layouts/shared/components/CartLineQuantityControl.d.ts.map +1 -1
  528. package/dist/layouts/shared/components/CartLineQuantityControl.js +1 -1
  529. package/dist/layouts/shared/components/GenericPageWrapper.d.ts +1 -1
  530. package/dist/layouts/shared/components/GenericPageWrapper.d.ts.map +1 -1
  531. package/dist/layouts/shared/components/ProductPriceFilterSection.d.ts +1 -1
  532. package/dist/layouts/shared/components/ProductPriceFilterSection.d.ts.map +1 -1
  533. package/dist/layouts/shared/components/ProductPriceFilterSection.js +1 -1
  534. package/dist/layouts/shared/components/PromoBanner.d.ts +2 -1
  535. package/dist/layouts/shared/components/PromoBanner.d.ts.map +1 -1
  536. package/dist/layouts/shared/components/StoreFooter.d.ts +1 -1
  537. package/dist/layouts/shared/components/StoreFooter.d.ts.map +1 -1
  538. package/dist/layouts/shared/components/StoreFooter.js +6 -16
  539. package/dist/layouts/shared/components/StoreHeader.d.ts +1 -1
  540. package/dist/layouts/shared/components/StoreHeader.d.ts.map +1 -1
  541. package/dist/layouts/shared/components/StoreHeader.js +4 -4
  542. package/dist/layouts/shared/components/TestimonialCard.d.ts +3 -2
  543. package/dist/layouts/shared/components/TestimonialCard.d.ts.map +1 -1
  544. package/dist/layouts/shared/components/TestimonialCard.js +1 -1
  545. package/dist/layouts/shared/components/headers/BookingAgendaSidebar.d.ts +1 -1
  546. package/dist/layouts/shared/components/headers/BookingAgendaSidebar.d.ts.map +1 -1
  547. package/dist/layouts/shared/components/headers/ClothingMinimalHeader.d.ts +1 -1
  548. package/dist/layouts/shared/components/headers/ClothingMinimalHeader.d.ts.map +1 -1
  549. package/dist/layouts/shared/components/headers/FoodModernHeader.d.ts +1 -1
  550. package/dist/layouts/shared/components/headers/FoodModernHeader.d.ts.map +1 -1
  551. package/dist/layouts/shared/pages/AccountPage.d.ts +2 -2
  552. package/dist/layouts/shared/pages/AccountPage.d.ts.map +1 -1
  553. package/dist/layouts/shared/pages/AccountPage.js +15 -15
  554. package/dist/layouts/shared/pages/CartPage.d.ts +2 -2
  555. package/dist/layouts/shared/pages/CartPage.d.ts.map +1 -1
  556. package/dist/layouts/shared/pages/CartPage.js +4 -4
  557. package/dist/layouts/shared/pages/CheckoutPage.d.ts +2 -2
  558. package/dist/layouts/shared/pages/CheckoutPage.d.ts.map +1 -1
  559. package/dist/layouts/shared/pages/CheckoutPage.js +19 -19
  560. package/dist/layouts/shared/pages/CookiePolicyPage.d.ts +2 -2
  561. package/dist/layouts/shared/pages/CookiePolicyPage.d.ts.map +1 -1
  562. package/dist/layouts/shared/pages/CookiePolicyPage.js +1 -1
  563. package/dist/layouts/shared/pages/FeatureDisabledPage.d.ts +2 -2
  564. package/dist/layouts/shared/pages/FeatureDisabledPage.d.ts.map +1 -1
  565. package/dist/layouts/shared/pages/FeatureDisabledPage.js +1 -1
  566. package/dist/layouts/shared/pages/HelpCenterPage.d.ts +2 -2
  567. package/dist/layouts/shared/pages/HelpCenterPage.d.ts.map +1 -1
  568. package/dist/layouts/shared/pages/HelpCenterPage.js +1 -1
  569. package/dist/layouts/shared/pages/MaintenancePage.d.ts +2 -2
  570. package/dist/layouts/shared/pages/MaintenancePage.d.ts.map +1 -1
  571. package/dist/layouts/shared/pages/MaintenancePage.js +2 -2
  572. package/dist/layouts/shared/pages/PortfolioPage.d.ts +2 -2
  573. package/dist/layouts/shared/pages/PortfolioPage.d.ts.map +1 -1
  574. package/dist/layouts/shared/pages/PortfolioPage.js +3 -2
  575. package/dist/layouts/shared/pages/PrivacyPolicyPage.d.ts +2 -2
  576. package/dist/layouts/shared/pages/PrivacyPolicyPage.d.ts.map +1 -1
  577. package/dist/layouts/shared/pages/PrivacyPolicyPage.js +1 -1
  578. package/dist/layouts/shared/pages/ShippingReturnsPage.d.ts +2 -2
  579. package/dist/layouts/shared/pages/ShippingReturnsPage.d.ts.map +1 -1
  580. package/dist/layouts/shared/pages/SizeGuidePage.d.ts +2 -2
  581. package/dist/layouts/shared/pages/SizeGuidePage.d.ts.map +1 -1
  582. package/dist/layouts/shared/pages/SizeGuidePage.js +1 -1
  583. package/dist/layouts/shared/pages/StoreMaintenanceScreen.d.ts +9 -0
  584. package/dist/layouts/shared/pages/StoreMaintenanceScreen.d.ts.map +1 -0
  585. package/dist/layouts/shared/pages/StoreMaintenanceScreen.js +10 -0
  586. package/dist/layouts/shared/pages/StoreOfflinePage.d.ts +19 -0
  587. package/dist/layouts/shared/pages/StoreOfflinePage.d.ts.map +1 -0
  588. package/dist/layouts/shared/pages/StoreOfflinePage.js +113 -0
  589. package/dist/layouts/shared/pages/StyleGuidePage.d.ts +2 -2
  590. package/dist/layouts/shared/pages/StyleGuidePage.d.ts.map +1 -1
  591. package/dist/layouts/shared/pages/StyleGuidePage.js +3 -3
  592. package/dist/layouts/shared/pages/TeamPage.d.ts +2 -2
  593. package/dist/layouts/shared/pages/TeamPage.d.ts.map +1 -1
  594. package/dist/layouts/shared/pages/TermsPage.d.ts +2 -2
  595. package/dist/layouts/shared/pages/TermsPage.d.ts.map +1 -1
  596. package/dist/layouts/shared/pages/TermsPage.js +1 -1
  597. package/dist/layouts/shared/pages/TrackOrderPage.d.ts +2 -2
  598. package/dist/layouts/shared/pages/TrackOrderPage.d.ts.map +1 -1
  599. package/dist/layouts/shared/pages/TrackOrderPage.js +4 -4
  600. package/dist/layouts/shared/pages/WishlistPage.d.ts +2 -2
  601. package/dist/layouts/shared/pages/WishlistPage.d.ts.map +1 -1
  602. package/dist/layouts/shared/pages/WishlistPage.js +21 -24
  603. package/dist/layouts/shared/wrappers/BookingAgendaLayout.d.ts +1 -1
  604. package/dist/layouts/shared/wrappers/BookingAgendaLayout.d.ts.map +1 -1
  605. package/dist/layouts/shared/wrappers/BookingAgendaLayout.js +1 -1
  606. package/dist/layouts/shared/wrappers/ClothingLayout.d.ts +1 -1
  607. package/dist/layouts/shared/wrappers/ClothingLayout.d.ts.map +1 -1
  608. package/dist/layouts/shared/wrappers/ClothingLayout.js +5 -5
  609. package/dist/layouts/shared/wrappers/ClothingMinimalLayout.d.ts +1 -1
  610. package/dist/layouts/shared/wrappers/ClothingMinimalLayout.d.ts.map +1 -1
  611. package/dist/layouts/shared/wrappers/ClothingMinimalLayout.js +4 -4
  612. package/dist/layouts/shared/wrappers/ElectronicsLayout.d.ts +1 -1
  613. package/dist/layouts/shared/wrappers/ElectronicsLayout.d.ts.map +1 -1
  614. package/dist/layouts/shared/wrappers/ElectronicsLayout.js +4 -4
  615. package/dist/layouts/shared/wrappers/FoodModernLayout.d.ts +1 -1
  616. package/dist/layouts/shared/wrappers/FoodModernLayout.d.ts.map +1 -1
  617. package/dist/layouts/shared/wrappers/FoodModernLayout.js +4 -4
  618. package/dist/layouts/shared/wrappers/MotivationalLayout.d.ts +1 -1
  619. package/dist/layouts/shared/wrappers/MotivationalLayout.d.ts.map +1 -1
  620. package/dist/layouts/shared/wrappers/MotivationalLayout.js +4 -4
  621. package/dist/layouts/shared/wrappers/StandardLayout.d.ts +1 -1
  622. package/dist/layouts/shared/wrappers/StandardLayout.d.ts.map +1 -1
  623. package/dist/layouts/shared/wrappers/StandardLayout.js +4 -4
  624. package/dist/lib/auth-context.d.ts +1 -1
  625. package/dist/lib/auth-context.d.ts.map +1 -1
  626. package/dist/lib/content-selectors.js +3 -3
  627. package/dist/lib/layout-route-utils.d.ts +1 -0
  628. package/dist/lib/layout-route-utils.d.ts.map +1 -1
  629. package/dist/lib/layout-route-utils.js +1 -1
  630. package/dist/lib/loading-context.d.ts +1 -1
  631. package/dist/lib/loading-context.d.ts.map +1 -1
  632. package/dist/lib/loading-context.js +4 -4
  633. package/dist/lib/payaza-checkout.js +1 -1
  634. package/dist/lib/payaza-public-key.d.ts +1 -1
  635. package/dist/lib/preview-data.d.ts.map +1 -1
  636. package/dist/lib/preview-data.js +0 -2
  637. package/dist/lib/rich-html.d.ts +8 -0
  638. package/dist/lib/rich-html.d.ts.map +1 -1
  639. package/dist/lib/services/fees.service.d.ts +63 -17
  640. package/dist/lib/services/fees.service.d.ts.map +1 -1
  641. package/dist/lib/services/fees.service.js +137 -3
  642. package/dist/lib/services/product.service.d.ts +1 -0
  643. package/dist/lib/services/product.service.d.ts.map +1 -1
  644. package/dist/lib/store-context.d.ts +2 -1
  645. package/dist/lib/store-context.d.ts.map +1 -1
  646. package/dist/lib/store-context.js +1 -0
  647. package/dist/lib/store-types.d.ts +32 -0
  648. package/dist/lib/store-types.d.ts.map +1 -1
  649. package/dist/lib/utils/asset-helpers.d.ts +1 -1
  650. package/dist/lib/utils/catalog-price-bounds.d.ts +2 -0
  651. package/dist/lib/utils/catalog-price-bounds.d.ts.map +1 -1
  652. package/dist/lib/utils/catalog-price-bounds.js +21 -0
  653. package/dist/lib/utils/category-tree.d.ts +1 -1
  654. package/dist/lib/utils/filtered-product-query.d.ts +22 -0
  655. package/dist/lib/utils/filtered-product-query.d.ts.map +1 -0
  656. package/dist/lib/utils/filtered-product-query.js +57 -0
  657. package/dist/lib/utils/filtered-products-inflight.d.ts +3 -0
  658. package/dist/lib/utils/filtered-products-inflight.d.ts.map +1 -0
  659. package/dist/lib/utils/filtered-products-inflight.js +15 -0
  660. package/dist/lib/utils/index.js +1 -1
  661. package/dist/lib/utils/url-helpers.d.ts.map +1 -1
  662. package/dist/lib/utils/url-helpers.js +2 -11
  663. package/dist/preview/LayoutPreview.d.ts +1 -1
  664. package/dist/preview/LayoutPreview.d.ts.map +1 -1
  665. package/dist/preview/LayoutPreview.js +23 -6
  666. package/dist/preview/PreviewRouter.d.ts +3 -2
  667. package/dist/preview/PreviewRouter.d.ts.map +1 -1
  668. package/dist/preview/PreviewRouter.js +2 -2
  669. package/dist/preview/ShadowDOMWrapper.d.ts +1 -1
  670. package/dist/preview/ShadowDOMWrapper.d.ts.map +1 -1
  671. package/dist/preview/canvas/PreviewCanvasEnhancer.d.ts +1 -1
  672. package/dist/preview/canvas/PreviewCanvasEnhancer.d.ts.map +1 -1
  673. package/dist/preview/canvas/PreviewCanvasStyles.d.ts +1 -1
  674. package/dist/preview/canvas/PreviewCanvasStyles.d.ts.map +1 -1
  675. package/dist/preview/index.d.ts +1 -1
  676. package/dist/preview/index.js +1 -1
  677. package/dist/styles/index.css +1609 -3279
  678. package/package.json +4 -2
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { useFeaturedProducts } from '../../../hooks/use-featured-products';
3
+ import { useFeaturedProducts } from '../../../hooks/use-featured-products.js';
4
4
  import { Button } from '../../../components/ui/button';
5
5
  import { ProductRating } from '../../../components/ui/product-rating';
6
6
  import { ShoppingCart, Heart, ArrowRight, ChevronLeft, ChevronRight } from 'lucide-react';
@@ -14,6 +14,7 @@ import { shouldUseAPI } from '../../../lib/utils/demo-detection';
14
14
  import { useStore } from '../../../lib/store-context';
15
15
  import { DynamicIcon } from '../../../components/ui/dynamic-icon';
16
16
  import { SafeRichHtml } from '../../../components/rich-text/SafeRichHtml';
17
+ import { RichTextExcerpt } from '../../../components/rich-text/RichTextExcerpt';
17
18
  export function ClothingHomePage({ storeConfig: initialConfig }) {
18
19
  // Use the store from context which is updated in real-time by the editor
19
20
  const { store } = useStore();
@@ -227,20 +228,20 @@ export function ClothingHomePage({ storeConfig: initialConfig }) {
227
228
  };
228
229
  return (_jsxs("div", { className: "min-h-screen bg-white", children: [(layoutConfig?.sections?.hero?.show !== false || layoutConfig?.hero?.show !== false) && heroSlides.length > 0 && (_jsxs("section", { "data-section": "hero", className: "relative h-[85vh] w-full overflow-hidden", onMouseEnter: () => setIsAutoPlaying(false), onMouseLeave: () => layoutConfig?.hero?.autoPlay !== false && setIsAutoPlaying(true), children: [_jsx("div", { className: "relative h-full w-full", children: heroSlides.map((slide, index) => (_jsxs("div", { className: `absolute inset-0 transition-opacity duration-1000 ease-in-out ${index === currentSlide ? 'opacity-100 z-10' : 'opacity-0 z-0'}`, children: [_jsxs("div", { className: "absolute inset-0", children: [_jsx(ImageWithFallback, { src: slide.image, alt: slide.title, className: "absolute inset-0 h-full w-full object-cover", skeletonAspectRatio: "16/9", priority: index === currentSlide }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-r from-black/50 via-black/20 to-transparent" })] }), _jsx("div", { className: "absolute inset-0 flex items-center z-20", children: _jsx("div", { className: "container mx-auto px-4 sm:px-6 lg:px-8", children: _jsxs("div", { className: `max-w-3xl text-white space-y-8 transition-all duration-1000 ${index === currentSlide
229
230
  ? 'opacity-100 translate-y-0'
230
- : 'opacity-0 translate-y-8'}`, children: [_jsxs("div", { children: [slide.badge && (_jsx("span", { className: "inline-block px-4 py-1.5 bg-white/20 backdrop-blur-md rounded-full text-sm font-medium border border-white/30 uppercase tracking-wider mb-4", children: slide.badge })), _jsx("h1", { className: "text-4xl sm:text-6xl lg:text-7xl font-bold leading-tight tracking-tight mb-4", children: _jsx(SafeRichHtml, { value: slide.title, fallbackPlain: storeConfig.name }) }), _jsx("div", { className: "h-1 w-24 bg-white/80 rounded-full" })] }), _jsx("div", { className: "text-xl sm:text-2xl text-gray-100 font-light leading-relaxed max-w-lg [&_p]:mb-3 [&_p:last-child]:mb-0", children: _jsx(SafeRichHtml, { value: slide.description, fallbackPlain: "" }) }), _jsxs("div", { className: "flex flex-wrap gap-4 pt-4", children: [layoutConfig?.sections?.hero?.showCTA !== false &&
231
+ : 'opacity-0 translate-y-8'}`, children: [_jsxs("div", { children: [slide.badge && (_jsx(SafeRichHtml, { as: "span", className: "inline-block px-4 py-1.5 bg-white/20 backdrop-blur-md rounded-full text-sm font-medium border border-white/30 uppercase tracking-wider mb-4 [&_p]:m-0", value: slide.badge, fallbackPlain: "" })), _jsx("h1", { className: "text-4xl sm:text-6xl lg:text-7xl font-bold leading-tight tracking-tight mb-4", children: _jsx(SafeRichHtml, { value: slide.title, fallbackPlain: storeConfig.name }) }), _jsx("div", { className: "h-1 w-24 bg-white/80 rounded-full" })] }), _jsx("div", { className: "text-xl sm:text-2xl text-gray-100 font-light leading-relaxed max-w-lg [&_p]:mb-3 [&_p:last-child]:mb-0", children: _jsx(SafeRichHtml, { value: slide.description, fallbackPlain: "" }) }), _jsxs("div", { className: "flex flex-wrap gap-4 pt-4", children: [layoutConfig?.sections?.hero?.showCTA !== false &&
231
232
  layoutConfig?.hero?.showCTA !== false &&
232
233
  slide.primaryButtonText &&
233
- slide.primaryButtonText.trim() !== '' && (_jsx(Link, { href: slide.primaryButtonLink, children: _jsx(Button, { size: "lg", className: "h-14 px-10 text-base rounded-full bg-white text-black hover:bg-gray-100 transition-all duration-300 hover:scale-105 font-semibold", children: slide.primaryButtonText }) })), (layoutConfig?.sections?.hero?.showSecondaryCTA !== false || layoutConfig?.hero?.showSecondaryCTA !== false) &&
234
+ slide.primaryButtonText.trim() !== '' && (_jsx(Link, { href: slide.primaryButtonLink, children: _jsx(Button, { size: "lg", className: "h-14 px-10 text-base rounded-full bg-white text-black hover:bg-gray-100 transition-all duration-300 hover:scale-105 font-semibold", children: _jsx(SafeRichHtml, { value: slide.primaryButtonText, fallbackPlain: "", className: "[&_p]:m-0" }) }) })), (layoutConfig?.sections?.hero?.showSecondaryCTA !== false || layoutConfig?.hero?.showSecondaryCTA !== false) &&
234
235
  slide.secondaryButtonText &&
235
236
  slide.secondaryButtonText.trim() !== '' &&
236
- slide.secondaryButtonLink && (_jsx(Link, { href: slide.secondaryButtonLink, children: _jsx(Button, { size: "lg", variant: "outline", className: "h-14 px-10 text-base rounded-full border-white bg-transparent text-white hover:bg-white/20 hover:text-white backdrop-blur-sm transition-all duration-300", style: { color: 'white' }, children: slide.secondaryButtonText }) }))] })] }) }) })] }, index))) }), _jsx("button", { onClick: prevSlide, className: "absolute left-4 top-1/2 -translate-y-1/2 z-30 bg-white/10 hover:bg-white/20 backdrop-blur-md rounded-full p-3 transition-all duration-300 hover:scale-110 group", "aria-label": "Previous slide", children: _jsx(ChevronLeft, { className: "h-6 w-6 text-white group-hover:text-white" }) }), _jsx("button", { onClick: nextSlide, className: "absolute right-4 top-1/2 -translate-y-1/2 z-30 bg-white/10 hover:bg-white/20 backdrop-blur-md rounded-full p-3 transition-all duration-300 hover:scale-110 group", "aria-label": "Next slide", children: _jsx(ChevronRight, { className: "h-6 w-6 text-white group-hover:text-white" }) }), _jsx("div", { className: "absolute bottom-8 left-1/2 -translate-x-1/2 z-30 flex gap-2", children: heroSlides.map((_, index) => (_jsx("button", { onClick: () => goToSlide(index), className: `transition-all duration-300 rounded-full ${index === currentSlide
237
+ slide.secondaryButtonLink && (_jsx(Link, { href: slide.secondaryButtonLink, children: _jsx(Button, { size: "lg", variant: "outline", className: "h-14 px-10 text-base rounded-full border-white bg-transparent text-white hover:bg-white/20 hover:text-white backdrop-blur-sm transition-all duration-300", style: { color: 'white' }, children: _jsx(SafeRichHtml, { value: slide.secondaryButtonText, fallbackPlain: "", className: "[&_p]:m-0" }) }) }))] })] }) }) })] }, index))) }), _jsx("button", { onClick: prevSlide, className: "absolute left-4 top-1/2 -translate-y-1/2 z-30 bg-white/10 hover:bg-white/20 backdrop-blur-md rounded-full p-3 transition-all duration-300 hover:scale-110 group", "aria-label": "Previous slide", children: _jsx(ChevronLeft, { className: "h-6 w-6 text-white group-hover:text-white" }) }), _jsx("button", { onClick: nextSlide, className: "absolute right-4 top-1/2 -translate-y-1/2 z-30 bg-white/10 hover:bg-white/20 backdrop-blur-md rounded-full p-3 transition-all duration-300 hover:scale-110 group", "aria-label": "Next slide", children: _jsx(ChevronRight, { className: "h-6 w-6 text-white group-hover:text-white" }) }), _jsx("div", { className: "absolute bottom-8 left-1/2 -translate-x-1/2 z-30 flex gap-2", children: heroSlides.map((_, index) => (_jsx("button", { onClick: () => goToSlide(index), className: `transition-all duration-300 rounded-full ${index === currentSlide
237
238
  ? 'w-12 h-2 bg-white'
238
239
  : 'w-2 h-2 bg-white/50 hover:bg-white/75'}`, "aria-label": `Go to slide ${index + 1}` }, index))) })] })), layoutConfig?.sections?.features?.show !== false && (_jsx("section", { "data-section": "about", className: "py-8 bg-gray-50 border-b border-gray-100", children: _jsx("div", { className: "container mx-auto px-4 sm:px-6 lg:px-8", children: _jsx("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-8 text-center divide-y md:divide-y-0 md:divide-x divide-gray-200", children: (layoutConfig?.sections?.features?.items || [
239
240
  { icon: 'Truck', title: 'Free Shipping', description: `On all orders over $${storeConfig.settings.freeShippingThreshold}` },
240
241
  { icon: 'RefreshCw', title: 'Free Returns', description: '30-day money back guarantee' },
241
242
  { icon: 'ShieldCheck', title: 'Secure Payment', description: '100% secure checkout process' }
242
243
  ]).filter(Boolean).map((item, idx) => {
243
- return (_jsxs("div", { className: "flex flex-col items-center justify-center gap-2 p-4", children: [_jsx(DynamicIcon, { name: item.icon, className: "h-6 w-6 text-gray-900" }), _jsx("h3", { className: "font-semibold text-gray-900", children: item.title }), _jsx("p", { className: "text-sm text-gray-500", children: item.description })] }, idx));
244
+ return (_jsxs("div", { className: "flex flex-col items-center justify-center gap-2 p-4", children: [_jsx(DynamicIcon, { name: item.icon, className: "h-6 w-6 text-gray-900" }), _jsx("h3", { className: "font-semibold text-gray-900", children: item.title }), _jsx(RichTextExcerpt, { value: item.description, as: "p", className: "text-sm text-gray-500" })] }, idx));
244
245
  }) }) }) })), layoutConfig?.sections?.categories?.show !== false && (_jsx("section", { "data-section": "categories", className: "py-12 md:py-20 px-4 sm:px-6 lg:px-8", children: _jsxs("div", { className: "container mx-auto max-w-7xl", children: [_jsxs("div", { className: "flex flex-col md:flex-row justify-between items-end mb-8 md:mb-12 gap-4", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-3xl md:text-4xl font-bold mb-3 tracking-tight", children: getLayoutText(storeConfig, 'sections.categories.title', 'Shop by Category') }), _jsx("p", { className: "text-gray-500 text-lg", children: getLayoutText(storeConfig, 'sections.categories.subtitle', 'Curated collections for every style') })] }), layoutConfig?.sections?.categories?.showViewAll !== false && (_jsxs(Link, { href: `/${storeConfig.slug}/categories`, className: "group flex items-center gap-2 text-sm font-medium hover:text-gray-600 transition-colors pb-1 border-b border-transparent hover:border-gray-300", children: [getLayoutText(storeConfig, 'sections.categories.viewAll', 'View All Categories'), " ", _jsx(ArrowRight, { className: "h-4 w-4 transition-transform group-hover:translate-x-1" })] }))] }), _jsx("div", { className: `grid ${getCategoryGridClass()} gap-6`, children: displayedCategories.map((category) => {
245
246
  // Validate category image - handle all formats
246
247
  const extractCategoryImage = (image) => {
@@ -328,6 +329,6 @@ export function ClothingHomePage({ storeConfig: initialConfig }) {
328
329
  };
329
330
  const validImages = extractProductImages(product.images);
330
331
  const firstImage = validImages.length > 0 ? validImages[0] : undefined;
331
- return (_jsx("div", { className: "group", children: _jsxs(Link, { href: `/${storeConfig.slug}/products/${product.slug}`, children: [_jsxs("div", { className: "relative aspect-[3/4] bg-gray-50 rounded-xl overflow-hidden mb-4", children: [_jsx(ImageWithFallback, { src: firstImage, alt: product.name, className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-105", skeletonAspectRatio: "3/4", lazy: true }), validImages[1] && (_jsx(ImageWithFallback, { src: validImages[1], alt: product.name, className: "absolute inset-0 w-full h-full object-cover opacity-0 group-hover:opacity-100 transition-opacity duration-500", skeletonAspectRatio: "3/4", lazy: true })), _jsxs("div", { className: "hidden lg:flex absolute bottom-4 right-4 flex-col gap-2 opacity-0 transform translate-x-4 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300", children: [storeConfig.features.wishlist && (_jsx(Button, { variant: "secondary", size: "icon", className: "bg-white hover:bg-black hover:text-white shadow-md rounded-full transition-colors", children: _jsx(Heart, { className: "h-4 w-4" }) })), _jsx(Button, { variant: "secondary", size: "icon", className: "bg-white hover:bg-black hover:text-white shadow-md rounded-full transition-colors", children: _jsx(ShoppingCart, { className: "h-4 w-4" }) })] }), _jsx(Button, { variant: "secondary", size: "icon", className: "lg:hidden absolute bottom-3 right-3 bg-white text-black h-10 w-10 rounded-full shadow-lg z-10 active:scale-95 transition-transform", children: _jsx(ShoppingCart, { className: "h-4 w-4" }) }), product.compareAtPrice && (_jsx("span", { className: "absolute top-3 left-3 bg-black text-white text-xs font-bold px-3 py-1 rounded-full uppercase tracking-wide", children: getLayoutText(storeConfig, 'common.sale', 'Sale') }))] }), _jsxs("div", { className: "space-y-1", children: [_jsx("h3", { className: "font-semibold text-gray-900 group-hover:text-gray-600 transition-colors text-lg", children: product.name }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "font-medium text-gray-900", children: formatCurrency(product.price, product.currency || 'USD') }), product.compareAtPrice && (_jsx("span", { className: "text-sm text-gray-400 line-through", children: formatCurrency(product.compareAtPrice, product.currency || 'USD') }))] }), _jsx(ProductRating, { rating: product.rating, reviewCount: product.reviewCount, size: "sm", showReviewCount: false, className: "shrink-0" })] })] }) }, product.id));
332
+ return (_jsx("div", { className: "group", children: _jsxs(Link, { href: `/${storeConfig.slug}/products/${product.slug}`, children: [_jsxs("div", { className: "relative aspect-[3/4] bg-gray-50 rounded-xl overflow-hidden mb-4", children: [_jsx(ImageWithFallback, { src: firstImage, alt: product.name, className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-105", skeletonAspectRatio: "3/4", lazy: true }), validImages[1] && (_jsx(ImageWithFallback, { src: validImages[1], alt: product.name, className: "absolute inset-0 w-full h-full object-cover opacity-0 group-hover:opacity-100 transition-opacity duration-500", skeletonAspectRatio: "3/4", lazy: true })), _jsxs("div", { className: "hidden lg:flex absolute bottom-4 right-4 flex-col gap-2 opacity-0 transform translate-x-4 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300", children: [storeConfig.features.wishlist && (_jsx(Button, { variant: "secondary", size: "icon", className: "bg-white hover:bg-black hover:text-white shadow-md rounded-full transition-colors", children: _jsx(Heart, { className: "h-4 w-4" }) })), _jsx(Button, { variant: "secondary", size: "icon", className: "bg-white hover:bg-black hover:text-white shadow-md rounded-full transition-colors", children: _jsx(ShoppingCart, { className: "h-4 w-4" }) })] }), _jsx(Button, { variant: "secondary", size: "icon", className: "lg:hidden absolute bottom-3 right-3 bg-white text-black h-10 w-10 rounded-full shadow-lg z-10 active:scale-95 transition-transform", children: _jsx(ShoppingCart, { className: "h-4 w-4" }) }), product.compareAtPrice != null && product.compareAtPrice > product.price && (_jsx("span", { className: "absolute top-3 left-3 bg-black text-white text-xs font-bold px-3 py-1 rounded-full uppercase tracking-wide", children: getLayoutText(storeConfig, 'common.sale', 'Sale') }))] }), _jsxs("div", { className: "space-y-1", children: [_jsx("h3", { className: "font-semibold text-gray-900 group-hover:text-gray-600 transition-colors text-lg", children: product.name }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "font-medium text-gray-900", children: formatCurrency(product.price, product.currency || 'USD') }), product.compareAtPrice != null && product.compareAtPrice > product.price && (_jsx("span", { className: "text-sm text-gray-400 line-through", children: formatCurrency(product.compareAtPrice, product.currency || 'USD') }))] }), _jsx(ProductRating, { rating: product.rating, reviewCount: product.reviewCount, size: "sm", showReviewCount: false, className: "shrink-0" })] })] }) }, product.id));
332
333
  }) }), layoutConfig?.sections?.featuredProducts?.showViewAll !== false && (_jsx("div", { className: "mt-16 text-center", children: _jsx(Link, { href: `/${storeConfig.slug}/products`, children: _jsx(Button, { variant: "outline", className: "rounded-full px-10 py-6 border-gray-200 hover:border-black hover:bg-black hover:text-white transition-all text-base font-medium", children: getLayoutText(storeConfig, 'sections.featuredProducts.viewAll', 'View All Products') }) }) }))] }) }))] }));
333
334
  }
@@ -1,8 +1,8 @@
1
1
  export { ClothingHomePage } from './components/ClothingHomePage';
2
- export { ClothingProductsPage } from './pages/ProductsPage';
3
- export { ClothingProductDetailPage } from './pages/ProductDetailPage';
4
- export { ClothingCategoryPage } from './pages/CategoryPage';
2
+ export { ProductsPage as ClothingProductsPage } from './pages/ProductsPage';
3
+ export { ProductDetailPage as ClothingProductDetailPage } from './pages/ProductDetailPage';
4
+ export { CategoryPage as ClothingCategoryPage } from './pages/CategoryPage';
5
5
  export { ClothingCategoriesPage } from './pages/CategoriesPage';
6
- export { ClothingAboutPage } from './pages/AboutPage';
7
- export { ClothingContactPage } from './pages/ContactPage';
6
+ export { AboutPage as ClothingAboutPage } from './pages/AboutPage';
7
+ export { ContactPage as ClothingContactPage } from './pages/ContactPage';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/clothing/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/clothing/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,IAAI,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,WAAW,IAAI,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,8 +1,8 @@
1
1
  // Fashion Hub (clothing) layout — fully sandboxed exports (see ClothingLayout + styles/clothing.css)
2
2
  export { ClothingHomePage } from './components/ClothingHomePage';
3
- export { ClothingProductsPage } from './pages/ProductsPage';
4
- export { ClothingProductDetailPage } from './pages/ProductDetailPage';
5
- export { ClothingCategoryPage } from './pages/CategoryPage';
3
+ export { ProductsPage as ClothingProductsPage } from './pages/ProductsPage';
4
+ export { ProductDetailPage as ClothingProductDetailPage } from './pages/ProductDetailPage';
5
+ export { CategoryPage as ClothingCategoryPage } from './pages/CategoryPage';
6
6
  export { ClothingCategoriesPage } from './pages/CategoriesPage';
7
- export { ClothingAboutPage } from './pages/AboutPage';
8
- export { ClothingContactPage } from './pages/ContactPage';
7
+ export { AboutPage as ClothingAboutPage } from './pages/AboutPage';
8
+ export { ContactPage as ClothingContactPage } from './pages/ContactPage';
@@ -2,6 +2,6 @@ import { StoreConfig } from '../../../lib/store-types';
2
2
  interface AboutPageProps {
3
3
  storeConfig: StoreConfig;
4
4
  }
5
- export declare function AboutPage({ storeConfig: initialConfig }: AboutPageProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function AboutPage({ storeConfig: initialConfig }: AboutPageProps): import("react").JSX.Element;
6
6
  export {};
7
7
  //# sourceMappingURL=AboutPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AboutPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing/pages/AboutPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAQvD,UAAU,cAAc;IACtB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,SAAS,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,cAAc,2CAqPvE"}
1
+ {"version":3,"file":"AboutPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing/pages/AboutPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAUvD,UAAU,cAAc;IACtB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,SAAS,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,cAAc,+BAqPvE"}
@@ -6,6 +6,7 @@ import { DotPattern } from '../../../components/ui/background-patterns';
6
6
  import { useStore } from '../../../lib/store-context';
7
7
  import { DynamicIcon } from '../../../components/ui/dynamic-icon';
8
8
  import Image from 'next/image';
9
+ import { RichTextExcerpt } from '../../../components/rich-text/RichTextExcerpt.js';
9
10
  export function AboutPage({ storeConfig: initialConfig }) {
10
11
  const { store } = useStore();
11
12
  const storeConfig = store || initialConfig;
@@ -32,7 +33,7 @@ export function AboutPage({ storeConfig: initialConfig }) {
32
33
  { icon: 'Heart', title: "Ethical Fashion", description: "We believe in fair trade and ethical manufacturing processes." },
33
34
  { icon: 'Leaf', title: "Sustainable Style", description: "Eco-friendly collections that look good and do good for the planet." }
34
35
  ]).filter(Boolean);
35
- return (_jsxs("div", { className: "min-h-screen bg-white pb-20 overflow-hidden", children: [heroConfig?.show !== false && (_jsxs("section", { "data-section": "hero", className: "relative h-[60vh] min-h-[500px] w-full overflow-hidden", children: [_jsxs("div", { className: "absolute inset-0", children: [_jsx(Image, { src: heroImage, alt: "About Us", fill: true, className: "w-full h-full object-cover transform scale-105 animate-pulse-slow" }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-r from-black/80 via-black/50 to-transparent" })] }), _jsx("div", { className: "absolute inset-0 flex items-center", children: _jsx("div", { className: "container mx-auto px-4 sm:px-6 lg:px-8", children: _jsxs("div", { className: "max-w-3xl animate-fade-in-up", children: [_jsxs("div", { className: "inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-white/10 backdrop-blur-md border border-white/20 text-white text-sm font-medium mb-6", children: [_jsx("span", { className: "w-2 h-2 rounded-full bg-white animate-pulse" }), "Est. 2024"] }), _jsx("h1", { className: "text-5xl md:text-7xl font-bold text-white mb-6 tracking-tight leading-tight", children: pageTitle }), _jsx("p", { className: "text-xl md:text-2xl text-gray-200 max-w-2xl leading-relaxed font-light", children: missionStatement })] }) }) })] })), storyConfig?.show !== false && (_jsxs("section", { "data-section": "story", className: "py-24 px-4 sm:px-6 lg:px-8 relative", children: [_jsx("div", { className: "absolute top-0 right-0 -mt-24 -mr-24 w-96 h-96 bg-gray-50 rounded-full blur-3xl -z-10" }), _jsx("div", { className: "container mx-auto max-w-7xl", children: _jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-16 items-center", children: [_jsxs("div", { className: "relative", children: [gallerySection && gallerySection.length > 0 ? (_jsx("div", { className: "grid grid-cols-2 gap-4", children: gallerySection.slice(0, 4).map((img, i) => (_jsx("div", { className: `relative overflow-hidden rounded-2xl shadow-lg ${i === 0 ? 'col-span-2 aspect-[16/9]' : 'aspect-square'}`, children: _jsx(Image, { src: img.image, alt: img.caption || "Gallery Image", fill: true, className: "w-full h-full object-cover hover:scale-110 transition-transform duration-500" }) }, i))) })) : (_jsxs("div", { className: "relative aspect-[4/5] rounded-[2rem] overflow-hidden shadow-2xl", children: [_jsx(Image, { src: "https://images.unsplash.com/photo-1522202176988-66273c2fd55f?q=80&w=2071&auto=format&fit=crop", alt: "Our Team", fill: true, className: "w-full h-full object-cover" }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent opacity-60" }), _jsxs("div", { className: "absolute bottom-8 left-8 text-white", children: [_jsx("p", { className: "font-bold text-lg", children: "The Dream Team" }), _jsx("p", { className: "text-white/80 text-sm", children: "Working together to serve you better" })] })] })), _jsx("div", { className: "absolute -bottom-6 -right-6 w-24 h-24 bg-white rounded-2xl shadow-xl flex items-center justify-center p-4 animate-bounce duration-[3000ms]", children: _jsx(Heart, { className: "w-10 h-10", style: { color: primaryColor, fill: primaryColor } }) })] }), _jsxs("div", { className: "space-y-10", children: [_jsxs("div", { children: [_jsx("span", { className: "text-sm font-bold uppercase tracking-widest mb-3 block", style: { color: primaryColor }, children: "Who We Are" }), _jsx("h2", { className: "text-4xl md:text-5xl font-black text-gray-900 mb-6 tracking-tight", children: "Our Journey" }), _jsxs("div", { className: "prose prose-lg text-gray-600 leading-relaxed space-y-6", children: [pageContent?.split('\n').map((paragraph, idx) => (_jsx("p", { children: paragraph }, idx))), !pageContent && (_jsxs(_Fragment, { children: [_jsxs("p", { children: ["Founded with a bold vision to redefine excellence in the ", _jsx("span", { className: "font-semibold text-gray-900", children: storeConfig.type }), " industry, ", storeConfig.name, " has grown from a small passion project into a beloved brand. We believe in the power of quality, innovation, and community."] }), _jsx("p", { children: "Every day, we strive to bring you the best products, curated with care and delivered with a smile. Our team is dedicated to ensuring that your experience with us is nothing short of exceptional." })] }))] })] }), valuesConfig?.show !== false && valuesItems.length > 0 && (_jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-8", children: valuesItems.map((item, idx) => (_jsxs("div", { className: "flex gap-4 group", children: [_jsx("div", { className: "flex-shrink-0", children: _jsx("div", { className: "w-14 h-14 rounded-2xl flex items-center justify-center transition-colors group-hover:bg-gray-100", style: { backgroundColor: `${primaryColor}10` }, children: _jsx(DynamicIcon, { name: item.icon, className: "h-7 w-7 transition-transform group-hover:scale-110", style: { color: primaryColor } }) }) }), _jsxs("div", { children: [_jsx("h4", { className: "font-bold text-gray-900 mb-2 text-lg", children: item.title }), _jsx("p", { className: "text-gray-600 text-sm leading-relaxed", children: item.description })] })] }, idx))) }))] })] }) })] })), statsConfig?.show !== false && (_jsxs("section", { "data-section": "stats", className: "py-20 relative overflow-hidden", children: [_jsx("div", { className: "absolute inset-0 opacity-10", children: _jsx(DotPattern, { color: primaryColor, cx: 2, cy: 2, cr: 2, width: 30, height: 30 }) }), _jsx("div", { className: "absolute inset-0", style: { backgroundColor: `${secondaryColor}15` } }), _jsx("div", { className: "container mx-auto px-4 relative z-10", children: _jsx("div", { className: "grid grid-cols-2 md:grid-cols-4 gap-8 md:gap-12", children: [
36
+ return (_jsxs("div", { className: "min-h-screen bg-white pb-20 overflow-hidden", children: [heroConfig?.show !== false && (_jsxs("section", { "data-section": "hero", className: "relative h-[60vh] min-h-[500px] w-full overflow-hidden", children: [_jsxs("div", { className: "absolute inset-0", children: [_jsx(Image, { src: heroImage, alt: "About Us", fill: true, className: "w-full h-full object-cover transform scale-105 animate-pulse-slow" }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-r from-black/80 via-black/50 to-transparent" })] }), _jsx("div", { className: "absolute inset-0 flex items-center", children: _jsx("div", { className: "container mx-auto px-4 sm:px-6 lg:px-8", children: _jsxs("div", { className: "max-w-3xl animate-fade-in-up", children: [_jsxs("div", { className: "inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-white/10 backdrop-blur-md border border-white/20 text-white text-sm font-medium mb-6", children: [_jsx("span", { className: "w-2 h-2 rounded-full bg-white animate-pulse" }), "Est. 2024"] }), _jsx("h1", { className: "text-5xl md:text-7xl font-bold text-white mb-6 tracking-tight leading-tight", children: pageTitle }), _jsx("p", { className: "text-xl md:text-2xl text-gray-200 max-w-2xl leading-relaxed font-light", children: missionStatement })] }) }) })] })), storyConfig?.show !== false && (_jsxs("section", { "data-section": "story", className: "py-24 px-4 sm:px-6 lg:px-8 relative", children: [_jsx("div", { className: "absolute top-0 right-0 -mt-24 -mr-24 w-96 h-96 bg-gray-50 rounded-full blur-3xl -z-10" }), _jsx("div", { className: "container mx-auto max-w-7xl", children: _jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-16 items-center", children: [_jsxs("div", { className: "relative", children: [gallerySection && gallerySection.length > 0 ? (_jsx("div", { className: "grid grid-cols-2 gap-4", children: gallerySection.slice(0, 4).map((img, i) => (_jsx("div", { className: `relative overflow-hidden rounded-2xl shadow-lg ${i === 0 ? 'col-span-2 aspect-[16/9]' : 'aspect-square'}`, children: _jsx(Image, { src: img.image, alt: img.caption || "Gallery Image", fill: true, className: "w-full h-full object-cover hover:scale-110 transition-transform duration-500" }) }, i))) })) : (_jsxs("div", { className: "relative aspect-[4/5] rounded-[2rem] overflow-hidden shadow-2xl", children: [_jsx(Image, { src: "https://images.unsplash.com/photo-1522202176988-66273c2fd55f?q=80&w=2071&auto=format&fit=crop", alt: "Our Team", fill: true, className: "w-full h-full object-cover" }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent opacity-60" }), _jsxs("div", { className: "absolute bottom-8 left-8 text-white", children: [_jsx("p", { className: "font-bold text-lg", children: "The Dream Team" }), _jsx("p", { className: "text-white/80 text-sm", children: "Working together to serve you better" })] })] })), _jsx("div", { className: "absolute -bottom-6 -right-6 w-24 h-24 bg-white rounded-2xl shadow-xl flex items-center justify-center p-4 animate-bounce duration-[3000ms]", children: _jsx(Heart, { className: "w-10 h-10", style: { color: primaryColor, fill: primaryColor } }) })] }), _jsxs("div", { className: "space-y-10", children: [_jsxs("div", { children: [_jsx("span", { className: "text-sm font-bold uppercase tracking-widest mb-3 block", style: { color: primaryColor }, children: "Who We Are" }), _jsx("h2", { className: "text-4xl md:text-5xl font-black text-gray-900 mb-6 tracking-tight", children: "Our Journey" }), _jsxs("div", { className: "prose prose-lg text-gray-600 leading-relaxed space-y-6", children: [pageContent?.split('\n').map((paragraph, idx) => (_jsx("p", { children: paragraph }, idx))), !pageContent && (_jsxs(_Fragment, { children: [_jsxs("p", { children: ["Founded with a bold vision to redefine excellence in the ", _jsx("span", { className: "font-semibold text-gray-900", children: storeConfig.type }), " industry, ", storeConfig.name, " has grown from a small passion project into a beloved brand. We believe in the power of quality, innovation, and community."] }), _jsx("p", { children: "Every day, we strive to bring you the best products, curated with care and delivered with a smile. Our team is dedicated to ensuring that your experience with us is nothing short of exceptional." })] }))] })] }), valuesConfig?.show !== false && valuesItems.length > 0 && (_jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-8", children: valuesItems.map((item, idx) => (_jsxs("div", { className: "flex gap-4 group", children: [_jsx("div", { className: "flex-shrink-0", children: _jsx("div", { className: "w-14 h-14 rounded-2xl flex items-center justify-center transition-colors group-hover:bg-gray-100", style: { backgroundColor: `${primaryColor}10` }, children: _jsx(DynamicIcon, { name: item.icon, className: "h-7 w-7 transition-transform group-hover:scale-110", style: { color: primaryColor } }) }) }), _jsxs("div", { children: [_jsx("h4", { className: "font-bold text-gray-900 mb-2 text-lg", children: item.title }), _jsx(RichTextExcerpt, { value: item.description, as: "p", className: "text-gray-600 text-sm leading-relaxed" })] })] }, idx))) }))] })] }) })] })), statsConfig?.show !== false && (_jsxs("section", { "data-section": "stats", className: "py-20 relative overflow-hidden", children: [_jsx("div", { className: "absolute inset-0 opacity-10", children: _jsx(DotPattern, { color: primaryColor, cx: 2, cy: 2, cr: 2, width: 30, height: 30 }) }), _jsx("div", { className: "absolute inset-0", style: { backgroundColor: `${secondaryColor}15` } }), _jsx("div", { className: "container mx-auto px-4 relative z-10", children: _jsx("div", { className: "grid grid-cols-2 md:grid-cols-4 gap-8 md:gap-12", children: [
36
37
  { label: "Style Lovers", value: "20k+" },
37
38
  { label: "New Arrivals", value: storeConfig.products?.length ? `${storeConfig.products.length * 5}+` : "100+" },
38
39
  { label: "Global Shipping", value: "50+" },
@@ -2,6 +2,6 @@ import { StoreConfig } from '../../../lib/store-types';
2
2
  interface CategoriesPageProps {
3
3
  storeConfig: StoreConfig;
4
4
  }
5
- export declare function ClothingCategoriesPage({ storeConfig: initialConfig }: CategoriesPageProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function ClothingCategoriesPage({ storeConfig: initialConfig }: CategoriesPageProps): import("react").JSX.Element;
6
6
  export {};
7
7
  //# sourceMappingURL=CategoriesPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CategoriesPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing/pages/CategoriesPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAUvD,UAAU,mBAAmB;IAC3B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,sBAAsB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,mBAAmB,2CAyGzF"}
1
+ {"version":3,"file":"CategoriesPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing/pages/CategoriesPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAWvD,UAAU,mBAAmB;IAC3B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,sBAAsB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,mBAAmB,+BA4GzF"}
@@ -8,6 +8,7 @@ import { getPayazaSectionInlineStyle } from '../../../lib/payaza-section-styles'
8
8
  import { isEditorPreviewMode, resolveStoreCategoriesForDisplay } from '../../../lib/utils';
9
9
  import { useClothingPayaza } from '../payaza-bindings';
10
10
  import { CategoryMasonryGrid } from '../../../components/categories/category-masonry-grid';
11
+ import { SafeRichHtml } from '../../../components/rich-text/SafeRichHtml';
11
12
  export function ClothingCategoriesPage({ storeConfig: initialConfig }) {
12
13
  const { store } = useStore();
13
14
  const storeConfig = store || initialConfig;
@@ -29,6 +30,6 @@ export function ClothingCategoriesPage({ storeConfig: initialConfig }) {
29
30
  { label: storeConfig.name, href: `/${storeConfig.slug}` },
30
31
  { label: 'Categories', href: `/${storeConfig.slug}/categories` },
31
32
  ];
32
- return (_jsxs("div", { "data-content-ready": true, className: "min-h-screen bg-white text-slate-900 font-sans", children: [categoriesHeaderConfig?.show !== false && (_jsxs("div", { ...section('categoriesHeader'), style: getPayazaSectionInlineStyle(storeConfig, 'categories', 'categoriesHeader'), className: `relative overflow-hidden border-b border-gray-200 ${headerBackgroundImage ? 'bg-gray-900' : 'bg-gray-50'}`, children: [headerBackgroundImage && (_jsxs("div", { className: "absolute inset-0 z-0", ...image('categoriesHeader', ['backgroundImage']), children: [_jsx(ImageWithFallback, { src: headerBackgroundImage, alt: categoriesHeaderConfig?.title || 'Categories', className: "h-full w-full object-cover object-center", skeletonAspectRatio: "16/9" }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-r from-black/70 via-black/45 to-black/60" })] })), _jsx("div", { className: `container relative z-10 mx-auto px-4 sm:px-6 lg:px-8 ${headerBackgroundImage ? 'min-h-[320px] py-16 lg:min-h-[380px] lg:py-20' : 'py-12 lg:py-16'}`, children: _jsxs("div", { className: "max-w-3xl animate-fade-in-up", children: [_jsx("div", { className: "mb-6", children: _jsx(Breadcrumbs, { items: breadcrumbItems, variant: headerBackgroundImage ? 'light' : 'default' }) }), _jsx("h1", { className: `mb-6 text-4xl font-bold tracking-tight lg:text-5xl ${headerBackgroundImage ? 'text-white' : 'text-gray-900'}`, ...edit('categoriesHeader', ['title']), children: categoriesHeaderConfig?.title || 'Shop by Category' }), _jsx("p", { className: `max-w-2xl text-lg leading-relaxed ${headerBackgroundImage ? 'text-white/90' : 'text-gray-600'}`, ...edit('categoriesHeader', ['description']), children: categoriesHeaderConfig?.description ||
33
- 'Explore our comprehensive collection of premium products across various departments. Dive into our curated selections designed to match your style and needs.' })] }) })] })), categoryGridConfig?.show !== false && (_jsx("div", { ...section('categoryGrid'), style: getPayazaSectionInlineStyle(storeConfig, 'categories', 'categoryGrid'), className: "container mx-auto px-4 sm:px-6 lg:px-8 py-16", children: categories.length === 0 ? (_jsxs("div", { className: "text-center py-20", children: [_jsx("h3", { className: "text-xl font-semibold text-gray-900 mb-2", children: "No categories available" }), _jsx("p", { className: "text-gray-500", children: "Categories will appear here once they are added to the store." })] })) : (_jsx(CategoryMasonryGrid, { categories: categories, mode: "page", columns: categoryGridConfig?.columns, showImages: categoryGridConfig?.showImages !== false, showDescriptions: categoryGridConfig?.showDescriptions !== false, getHref: (category) => `/${storeConfig.slug}/products?category=${category.slug}`, exploreLabel: "Explore Collection" })) }))] }));
33
+ return (_jsxs("div", { "data-content-ready": true, className: "min-h-screen bg-white text-slate-900 font-sans", children: [categoriesHeaderConfig?.show !== false && (_jsxs("div", { ...section('categoriesHeader'), style: getPayazaSectionInlineStyle(storeConfig, 'categories', 'categoriesHeader'), className: `relative overflow-hidden border-b border-gray-200 ${headerBackgroundImage ? 'bg-gray-900' : 'bg-gray-50'}`, children: [headerBackgroundImage && (_jsxs("div", { className: "absolute inset-0 z-0", ...image('categoriesHeader', ['backgroundImage']), children: [_jsx(ImageWithFallback, { src: headerBackgroundImage, alt: categoriesHeaderConfig?.title || 'Categories', className: "h-full w-full object-cover object-center", skeletonAspectRatio: "16/9" }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-r from-black/70 via-black/45 to-black/60" })] })), _jsx("div", { className: `container relative z-10 mx-auto px-4 sm:px-6 lg:px-8 ${headerBackgroundImage ? 'min-h-[320px] py-16 lg:min-h-[380px] lg:py-20' : 'py-12 lg:py-16'}`, children: _jsxs("div", { className: "max-w-3xl animate-fade-in-up", children: [_jsx("div", { className: "mb-6", children: _jsx(Breadcrumbs, { items: breadcrumbItems, variant: headerBackgroundImage ? 'light' : 'default' }) }), _jsx("h1", { className: `mb-6 text-4xl font-bold tracking-tight lg:text-5xl ${headerBackgroundImage ? 'text-white' : 'text-gray-900'}`, ...edit('categoriesHeader', ['title']), children: categoriesHeaderConfig?.title || 'Shop by Category' }), _jsx(SafeRichHtml, { value: categoriesHeaderConfig?.description ||
34
+ 'Explore our comprehensive collection of premium products across various departments. Dive into our curated selections designed to match your style and needs.', fallbackPlain: "Explore our comprehensive collection of premium products across various departments. Dive into our curated selections designed to match your style and needs.", as: "div", className: `max-w-2xl text-lg leading-relaxed [&_p]:mb-0 ${headerBackgroundImage ? 'text-white/90' : 'text-gray-600'}`, ...edit('categoriesHeader', ['description']) })] }) })] })), categoryGridConfig?.show !== false && (_jsx("div", { ...section('categoryGrid'), style: getPayazaSectionInlineStyle(storeConfig, 'categories', 'categoryGrid'), className: "container mx-auto px-4 sm:px-6 lg:px-8 py-16", children: categories.length === 0 ? (_jsxs("div", { className: "text-center py-20", children: [_jsx("h3", { className: "text-xl font-semibold text-gray-900 mb-2", children: "No categories available" }), _jsx("p", { className: "text-gray-500", children: "Categories will appear here once they are added to the store." })] })) : (_jsx(CategoryMasonryGrid, { categories: categories, mode: "page", columns: categoryGridConfig?.columns, showImages: categoryGridConfig?.showImages !== false, showDescriptions: categoryGridConfig?.showDescriptions !== false, getHref: (category) => `/${storeConfig.slug}/products?category=${category.slug}`, exploreLabel: "Explore Collection" })) }))] }));
34
35
  }
@@ -1,8 +1,10 @@
1
+ import { type CategoryProductsSeed } from '../../../hooks/use-category-products.js';
1
2
  import { StoreConfig } from '../../../lib/store-types';
2
3
  interface CategoryPageProps {
3
4
  storeConfig: StoreConfig;
4
5
  categorySlug: string;
6
+ categoryProductsSeed?: CategoryProductsSeed;
5
7
  }
6
- export declare function CategoryPage({ storeConfig: initialConfig, categorySlug }: CategoryPageProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function CategoryPage({ storeConfig: initialConfig, categorySlug, categoryProductsSeed }: CategoryPageProps): import("react").JSX.Element;
7
9
  export {};
8
10
  //# sourceMappingURL=CategoryPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing/pages/CategoryPage.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAA8B,MAAM,0BAA0B,CAAC;AAcnF,UAAU,iBAAiB;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,YAAY,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,iBAAiB,2CA6H3F"}
1
+ {"version":3,"file":"CategoryPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing/pages/CategoryPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE/F,OAAO,EAAE,WAAW,EAA8B,MAAM,0BAA0B,CAAC;AAenF,UAAU,iBAAiB;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED,wBAAgB,YAAY,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,oBAAoB,EAAE,EAAE,iBAAiB,+BA+IjH"}
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { useCategoryProducts } from '../../../hooks/use-category-products';
3
+ import { useCategoryProducts } from '../../../hooks/use-category-products.js';
4
4
  import { Button } from '../../../components/ui/button';
5
5
  import { ImageWithFallback } from '../../../components/ui/image-with-fallback';
6
6
  import { useStore } from '../../../lib/store-context';
@@ -10,7 +10,8 @@ import { useToast } from '../../../components/ui/toast';
10
10
  import { useAnalytics } from '../../../hooks/use-analytics';
11
11
  import { useEffect } from 'react';
12
12
  import { ProductCard } from '../../../components/ui/product-card';
13
- export function CategoryPage({ storeConfig: initialConfig, categorySlug }) {
13
+ import { CategoryDescription } from '../../../components/rich-text/CategoryDescription';
14
+ export function CategoryPage({ storeConfig: initialConfig, categorySlug, categoryProductsSeed }) {
14
15
  const { store, addToCart } = useStore();
15
16
  const storeConfig = store || initialConfig;
16
17
  const categories = storeConfig.categories || [];
@@ -18,7 +19,7 @@ export function CategoryPage({ storeConfig: initialConfig, categorySlug }) {
18
19
  const { addToast } = useToast();
19
20
  const { trackEvent } = useAnalytics();
20
21
  const categoryDetailConfig = storeConfig.layoutConfig?.pages?.categoryDetail;
21
- const { products, isLoading, hasMore, loadMore } = useCategoryProducts(storeConfig.id, category?.id);
22
+ const { products, isLoading, hasMore, loadMore } = useCategoryProducts(storeConfig.id, category?.id, categoryProductsSeed);
22
23
  const hasItems = products.length > 0;
23
24
  // Track category view
24
25
  useEffect(() => {
@@ -47,5 +48,5 @@ export function CategoryPage({ storeConfig: initialConfig, categorySlug }) {
47
48
  const isDarkTheme = storeConfig.type === 'food-modern' || storeConfig.branding.theme === 'dark';
48
49
  const bgColor = isDarkTheme ? 'bg-[#0F0F0F]' : 'bg-gray-50';
49
50
  const textColor = isDarkTheme ? 'text-white' : 'text-gray-900';
50
- return (_jsxs("div", { className: "min-h-screen bg-white text-gray-900 transition-colors duration-300", children: [categoryDetailConfig?.showBanner !== false && (_jsxs("div", { className: "relative h-[40vh] overflow-hidden", children: [_jsx(ImageWithFallback, { src: category.image, alt: category.name, className: "w-full h-full object-cover", skeletonAspectRatio: "16/9" }), _jsx("div", { className: "absolute inset-0 bg-black/40 backdrop-blur-[2px]" }), _jsxs("div", { className: "absolute inset-0 flex flex-col items-center justify-center text-center p-6 text-white", children: [_jsx("h1", { className: "text-5xl md:text-7xl font-bold tracking-tight mb-4", children: category.name }), category.description && categoryDetailConfig?.showDescription !== false && (_jsx("p", { className: "text-lg md:text-xl max-w-2xl opacity-90 font-light", children: category.description }))] })] })), _jsxs("div", { className: "container mx-auto max-w-7xl px-4 sm:px-6 lg:px-8 py-12", children: [_jsxs("div", { className: "flex flex-col md:flex-row justify-between items-center mb-10 gap-4", children: [_jsxs(Link, { href: `/${storeConfig.slug}/categories`, className: "inline-flex items-center text-sm font-medium text-gray-600 hover:text-gray-900", children: [_jsx(ArrowLeft, { className: "h-4 w-4 mr-2" }), "Back to All Categories"] }), categoryDetailConfig?.showFilters !== false && (_jsx("div", { className: "flex items-center gap-4", children: _jsxs(Button, { variant: "outline", className: "bg-white", children: [_jsx(Filter, { className: "h-4 w-4 mr-2" }), " Filter"] }) }))] }), (!hasItems && !isLoading) || categoryDetailConfig?.showProducts === false ? (_jsxs("div", { className: "text-center py-20 border border-dashed border-gray-300 rounded-3xl", children: [_jsx("p", { className: "text-gray-500 text-lg", children: categoryDetailConfig?.showProducts === false ? 'Products are currently hidden for this category.' : 'No products found in this category.' }), _jsx(Button, { className: "mt-4", onClick: () => window.history.back(), children: "Go Back" })] })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-8", children: products.map((product) => (_jsx(ProductCard, { product: product, storeSlug: storeConfig.slug, onAddToCart: handleAddToCart, onQuickView: handleQuickView }, product.id))) }), hasMore && (_jsx("div", { className: "mt-10 flex justify-center", children: _jsx(Button, { onClick: loadMore, disabled: isLoading, children: "Load more" }) }))] }))] })] }));
51
+ return (_jsxs("div", { "data-content-ready": true, className: "min-h-screen bg-white text-gray-900 transition-colors duration-300", children: [categoryDetailConfig?.showBanner !== false && (_jsxs("div", { className: "relative h-[40vh] overflow-hidden", children: [_jsx(ImageWithFallback, { src: category.image, alt: category.name, className: "w-full h-full object-cover", skeletonAspectRatio: "16/9" }), _jsx("div", { className: "absolute inset-0 bg-black/40 backdrop-blur-[2px]" }), _jsxs("div", { className: "absolute inset-0 flex flex-col items-center justify-center text-center p-6 text-white", children: [_jsx("h1", { className: "text-5xl md:text-7xl font-bold tracking-tight mb-4", children: category.name }), categoryDetailConfig?.showDescription !== false && (_jsx(CategoryDescription, { description: category.description }))] })] })), categoryDetailConfig?.showBanner === false && (_jsx("div", { className: "bg-white border-b border-gray-100 py-12", children: _jsxs("div", { className: "container mx-auto max-w-7xl px-4 sm:px-6 lg:px-8", children: [_jsx("h1", { className: "text-4xl font-bold mb-4", children: category.name }), categoryDetailConfig?.showDescription !== false && (_jsx(CategoryDescription, { description: category.description, className: "text-lg text-gray-600 max-w-2xl [&_p]:mb-0 [&_p+p]:mt-2" }))] }) })), _jsxs("div", { className: "container mx-auto max-w-7xl px-4 sm:px-6 lg:px-8 py-12", children: [_jsxs("div", { className: "flex flex-col md:flex-row justify-between items-center mb-10 gap-4", children: [_jsxs(Link, { href: `/${storeConfig.slug}/categories`, className: "inline-flex items-center text-sm font-medium text-gray-600 hover:text-gray-900", children: [_jsx(ArrowLeft, { className: "h-4 w-4 mr-2" }), "Back to All Categories"] }), categoryDetailConfig?.showFilters !== false && (_jsx("div", { className: "flex items-center gap-4", children: _jsxs(Button, { variant: "outline", className: "bg-white", children: [_jsx(Filter, { className: "h-4 w-4 mr-2" }), " Filter"] }) }))] }), (!hasItems && !isLoading) || categoryDetailConfig?.showProducts === false ? (_jsxs("div", { className: "text-center py-20 border border-dashed border-gray-300 rounded-3xl", children: [_jsx("p", { className: "text-gray-500 text-lg", children: categoryDetailConfig?.showProducts === false ? 'Products are currently hidden for this category.' : 'No products found in this category.' }), _jsx(Button, { className: "mt-4", onClick: () => window.history.back(), children: "Go Back" })] })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-8", children: products.map((product) => (_jsx(ProductCard, { product: product, storeSlug: storeConfig.slug, onAddToCart: handleAddToCart, onQuickView: handleQuickView }, product.id))) }), hasMore && (_jsx("div", { className: "mt-10 flex justify-center", children: _jsx(Button, { onClick: loadMore, disabled: isLoading, children: "Load more" }) }))] }))] })] }));
51
52
  }
@@ -2,6 +2,6 @@ import { StoreConfig } from '../../../lib/store-types';
2
2
  interface ContactPageProps {
3
3
  storeConfig: StoreConfig;
4
4
  }
5
- export declare function ContactPage({ storeConfig: initialConfig }: ContactPageProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function ContactPage({ storeConfig: initialConfig }: ContactPageProps): import("react").JSX.Element;
6
6
  export {};
7
7
  //# sourceMappingURL=ContactPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContactPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing/pages/ContactPage.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAOvD,UAAU,gBAAgB;IACtB,WAAW,EAAE,WAAW,CAAC;CAC5B;AAED,wBAAgB,WAAW,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,gBAAgB,2CA2T3E"}
1
+ {"version":3,"file":"ContactPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing/pages/ContactPage.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAOvD,UAAU,gBAAgB;IACtB,WAAW,EAAE,WAAW,CAAC;CAC5B;AAED,wBAAgB,WAAW,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,gBAAgB,+BA2T3E"}
@@ -3,6 +3,6 @@ interface ProductDetailPageProps {
3
3
  storeConfig: StoreConfig;
4
4
  productSlug: string;
5
5
  }
6
- export declare function ProductDetailPage({ storeConfig: initialConfig, productSlug }: ProductDetailPageProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare function ProductDetailPage({ storeConfig: initialConfig, productSlug }: ProductDetailPageProps): import("react").JSX.Element;
7
7
  export {};
8
8
  //# sourceMappingURL=ProductDetailPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProductDetailPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing/pages/ProductDetailPage.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAA8C,MAAM,0BAA0B,CAAC;AA4BnG,UAAU,sBAAsB;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAsHD,wBAAgB,iBAAiB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,sBAAsB,2CAwiCpG"}
1
+ {"version":3,"file":"ProductDetailPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing/pages/ProductDetailPage.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAA8C,MAAM,0BAA0B,CAAC;AA6BnG,UAAU,sBAAsB;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAsHD,wBAAgB,iBAAiB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,sBAAsB,+BAwiCpG"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { useProductBySlug } from '../../../hooks/use-product-by-slug';
4
- import { useProductReviews } from '../../../hooks/use-product-reviews';
3
+ import { useProductBySlug } from '../../../hooks/use-product-by-slug.js';
4
+ import { useProductReviews } from '../../../hooks/use-product-reviews.js';
5
5
  import { Button } from '../../../components/ui/button';
6
6
  import { Breadcrumbs } from '../../../components/ui/breadcrumbs';
7
7
  import { Modal } from '../../../components/ui/modal';
@@ -18,6 +18,7 @@ import { getGuestUserInfo, saveGuestUserInfo } from '../../../lib/guest-user';
18
18
  import { ProductCard } from '../../../components/ui/product-card';
19
19
  import Image from 'next/image';
20
20
  import { ImageWithFallback } from '../../../components/ui/image-with-fallback';
21
+ import { SafeRichHtml } from '../../../components/rich-text/SafeRichHtml';
21
22
  import { ButtonLoader } from '../../../components/ui/page-loader';
22
23
  import { extractImageUrls } from '../../../lib/store-config-utils';
23
24
  import { OutOfStockOverlay } from '../../../components/ui/out-of-stock-overlay';
@@ -475,7 +476,7 @@ export function ProductDetailPage({ storeConfig: initialConfig, productSlug }) {
475
476
  : 'border-gray-200 hover:border-gray-300'}`, children: _jsx(ImageWithFallback, { src: image, alt: `${product.name} view ${index + 1}`, className: cn("w-full h-full object-cover", isOutOfStock && "grayscale"), skeletonAspectRatio: "square" }) }, index))), hasMoreImages && (_jsxs("div", { className: "aspect-square rounded-lg border-2 border-gray-200 bg-gray-50 flex items-center justify-center text-xs text-gray-500 font-medium", children: ["+", productImages.length - 5, " more"] }))] }))] }), _jsxs("div", { className: "flex flex-col", children: [_jsxs("div", { className: "flex items-center justify-between mb-2", children: [_jsx("span", { className: "text-sm font-semibold text-gray-700 uppercase tracking-wide", children: (() => {
476
477
  const brandMatch = product.name.match(/\b(Nike|Adidas|Puma|Reebok|New Balance|Vans|Converse|Zara|H&M|Gucci|Prada|Levi's|Calvin Klein)\b/i);
477
478
  return brandMatch ? brandMatch[1] : storeConfig.name;
478
- })() }), _jsx("button", { onClick: handleShare, className: "text-gray-400 hover:text-gray-900 transition-colors p-2 rounded-full hover:bg-gray-100", title: "Share this product", children: _jsx(Share2, { className: "h-5 w-5" }) })] }), _jsx("h1", { "data-product-name": true, className: "text-3xl sm:text-4xl lg:text-5xl font-bold text-gray-900 mb-3 leading-tight tracking-tight", children: product.name }), _jsxs("p", { className: "text-sm text-gray-500 mb-6 font-mono", children: ["SKU: ", displaySKU] }), _jsx("div", { className: "mb-4 flex items-center gap-2", children: product.inStock ? (_jsxs("span", { className: "inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800", children: [_jsx(CheckCircle, { className: "w-3 h-3 mr-1" }), "In Stock"] })) : (_jsxs("span", { className: "inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-red-100 text-red-800", children: [_jsx(Info, { className: "w-3 h-3 mr-1" }), "Out of Stock"] })) }), _jsxs("div", { className: "mb-8", children: [_jsxs("div", { className: "flex items-baseline gap-4", children: [_jsx("span", { "data-product-price": true, className: "text-4xl lg:text-5xl font-bold text-gray-900", children: formatCurrency(product.price, product.currency || 'USD') }), product.compareAtPrice && (_jsx("span", { className: "text-2xl text-gray-500 line-through", children: formatCurrency(product.compareAtPrice, product.currency || 'USD') }))] }), product.compareAtPrice && (_jsxs("span", { className: "inline-block mt-2 bg-red-100 text-red-700 text-xs font-bold px-2 py-1 rounded", children: ["SAVE ", Math.round(((product.compareAtPrice - product.price) / product.compareAtPrice) * 100), "%"] }))] }), colorVariants.length > 0 && (_jsxs("div", { className: "mb-8", children: [_jsxs("div", { className: "flex items-center gap-2 mb-4", children: [_jsx("span", { className: "text-sm font-semibold text-gray-900", children: "Color:" }), _jsx("span", { className: "text-sm text-gray-600 capitalize", children: selectedColor || colorVariants[0]?.value })] }), _jsx("div", { className: "flex gap-3", children: colorVariants.map((variant) => {
479
+ })() }), _jsx("button", { onClick: handleShare, className: "text-gray-400 hover:text-gray-900 transition-colors p-2 rounded-full hover:bg-gray-100", title: "Share this product", children: _jsx(Share2, { className: "h-5 w-5" }) })] }), _jsx("h1", { "data-product-name": true, className: "text-3xl sm:text-4xl lg:text-5xl font-bold text-gray-900 mb-3 leading-tight tracking-tight", children: product.name }), _jsxs("p", { className: "text-sm text-gray-500 mb-6 font-mono", children: ["SKU: ", displaySKU] }), _jsx("div", { className: "mb-4 flex items-center gap-2", children: product.inStock ? (_jsxs("span", { className: "inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800", children: [_jsx(CheckCircle, { className: "w-3 h-3 mr-1" }), "In Stock"] })) : (_jsxs("span", { className: "inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-red-100 text-red-800", children: [_jsx(Info, { className: "w-3 h-3 mr-1" }), "Out of Stock"] })) }), _jsxs("div", { className: "mb-8", children: [_jsxs("div", { className: "flex items-baseline gap-4", children: [_jsx("span", { "data-product-price": true, className: "text-4xl lg:text-5xl font-bold text-gray-900", children: formatCurrency(product.price, product.currency || 'USD') }), product.compareAtPrice != null && product.compareAtPrice > product.price && (_jsx("span", { className: "text-2xl text-gray-500 line-through", children: formatCurrency(product.compareAtPrice, product.currency || 'USD') }))] }), product.compareAtPrice != null && product.compareAtPrice > product.price && (_jsxs("span", { className: "inline-block mt-2 bg-red-100 text-red-700 text-xs font-bold px-2 py-1 rounded", children: ["SAVE ", Math.round(((product.compareAtPrice - product.price) / product.compareAtPrice) * 100), "%"] }))] }), colorVariants.length > 0 && (_jsxs("div", { className: "mb-8", children: [_jsxs("div", { className: "flex items-center gap-2 mb-4", children: [_jsx("span", { className: "text-sm font-semibold text-gray-900", children: "Color:" }), _jsx("span", { className: "text-sm text-gray-600 capitalize", children: selectedColor || colorVariants[0]?.value })] }), _jsx("div", { className: "flex gap-3", children: colorVariants.map((variant) => {
479
480
  const colorValue = variant.value;
480
481
  const swatchColor = colorSwatches[colorValue] || '#CCCCCC';
481
482
  const isSelected = selectedColor === colorValue;
@@ -487,9 +488,9 @@ export function ProductDetailPage({ storeConfig: initialConfig, productSlug }) {
487
488
  return (_jsx("button", { onClick: () => setSelectedSize(variant.value), className: `px-4 py-3 rounded-lg border-2 text-sm font-semibold transition-all ${isSelected
488
489
  ? 'bg-gray-900 text-white border-gray-900 shadow-md transform -translate-y-0.5'
489
490
  : 'bg-white text-gray-700 border-gray-200 hover:border-gray-300 hover:bg-gray-50'}`, children: variant.value }, variant.id));
490
- }) })] })), _jsxs("div", { className: "flex flex-col gap-4 mb-8", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("span", { className: "text-sm font-semibold text-gray-900", children: "Quantity" }), _jsxs("div", { className: "flex items-center border border-gray-300 rounded-lg", children: [_jsx("button", { className: "p-3 text-gray-600 hover:bg-gray-100 rounded-l-lg disabled:opacity-50", onClick: () => setQuantity(Math.max(1, quantity - 1)), disabled: quantity <= 1, children: _jsx(Minus, { className: "h-4 w-4" }) }), _jsx("span", { className: "w-12 text-center font-semibold text-gray-900", children: quantity }), _jsx("button", { className: "p-3 text-gray-600 hover:bg-gray-100 rounded-r-lg", onClick: () => setQuantity(quantity + 1), children: _jsx(Plus, { className: "h-4 w-4" }) })] })] }), _jsxs("div", { className: "flex flex-col sm:flex-row gap-3 mt-2", children: [productDetailConfig?.showAddToCart !== false && (_jsx(Button, { "data-add-to-cart": true, size: "lg", onClick: handleAddToCart, disabled: isCartLoading || isOutOfStock, className: "flex-1 bg-white border-2 border-gray-900 text-gray-900 hover:bg-gray-50 rounded-full h-14 text-base font-bold shadow-sm transition-all disabled:opacity-50 disabled:cursor-not-allowed", children: isCartLoading ? (_jsxs(_Fragment, { children: [_jsx(ButtonLoader, { className: "mr-2" }), "Adding..."] })) : (_jsxs(_Fragment, { children: [_jsx(ShoppingCart, { className: "h-5 w-5 mr-2" }), "Add to Cart"] })) })), productDetailConfig?.showAddToCart !== false && (_jsx(Button, { size: "lg", onClick: handleBuyNow, disabled: isOutOfStock || isBuyNowLoading || isCartLoading, className: "flex-1 bg-gray-900 hover:bg-gray-800 text-white rounded-full h-14 text-base font-bold shadow-lg hover:shadow-xl transition-all disabled:opacity-50 disabled:cursor-not-allowed", children: isBuyNowLoading || isCartLoading ? (_jsxs(_Fragment, { children: [_jsx(ButtonLoader, { className: "mr-2" }), "Adding..."] })) : ('Buy Now') })), storeConfig.features.wishlist && productDetailConfig?.showWishlist !== false && (_jsx(Button, { variant: "outline", size: "lg", onClick: handleWishlistClick, disabled: isWishlistLoading || !product, className: cn("h-14 w-14 rounded-full border-2 transition-all disabled:opacity-50 disabled:cursor-not-allowed", product && isInWishlist(product.id)
491
+ }) })] })), _jsxs("div", { className: "flex flex-col gap-4 mb-8", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("span", { className: "text-sm font-semibold text-gray-900", children: "Quantity" }), _jsxs("div", { className: "flex items-center border border-gray-300 rounded-lg", children: [_jsx("button", { className: "p-3 text-gray-600 hover:bg-gray-100 rounded-l-lg disabled:opacity-50", onClick: () => setQuantity(Math.max(1, quantity - 1)), disabled: quantity <= 1, children: _jsx(Minus, { className: "h-4 w-4" }) }), _jsx("span", { className: "w-12 text-center font-semibold text-gray-900", children: quantity }), _jsx("button", { className: "p-3 text-gray-600 hover:bg-gray-100 rounded-r-lg", onClick: () => setQuantity(quantity + 1), children: _jsx(Plus, { className: "h-4 w-4" }) })] })] }), _jsxs("div", { className: "flex flex-row items-stretch gap-2 sm:gap-3 mt-2 w-full", children: [productDetailConfig?.showAddToCart !== false && (_jsx(Button, { "data-add-to-cart": true, size: "lg", onClick: handleAddToCart, disabled: isCartLoading || isOutOfStock, className: "flex-1 min-w-0 bg-white border-2 border-gray-900 text-gray-900 hover:bg-gray-50 rounded-full h-12 sm:h-14 px-3 sm:px-6 text-sm sm:text-base font-bold shadow-sm transition-all disabled:opacity-50 disabled:cursor-not-allowed [&_svg]:text-gray-900", children: isCartLoading ? (_jsxs(_Fragment, { children: [_jsx(ButtonLoader, { className: "mr-1.5 sm:mr-2" }), "Adding..."] })) : (_jsxs(_Fragment, { children: [_jsx(ShoppingCart, { className: "h-4 w-4 sm:h-5 sm:w-5 mr-1.5 sm:mr-2 shrink-0 text-gray-900" }), "Add to Cart"] })) })), productDetailConfig?.showAddToCart !== false && (_jsx(Button, { size: "lg", onClick: handleBuyNow, disabled: isOutOfStock || isBuyNowLoading || isCartLoading, className: "flex-1 min-w-0 bg-gray-900 hover:bg-gray-800 text-white rounded-full h-12 sm:h-14 px-3 sm:px-6 text-sm sm:text-base font-bold shadow-lg hover:shadow-xl transition-all disabled:opacity-50 disabled:cursor-not-allowed", children: isBuyNowLoading || isCartLoading ? (_jsxs(_Fragment, { children: [_jsx(ButtonLoader, { className: "mr-1.5 sm:mr-2" }), "Adding..."] })) : ('Buy Now') })), storeConfig.features.wishlist && productDetailConfig?.showWishlist !== false && (_jsx(Button, { variant: "outline", size: "lg", onClick: handleWishlistClick, disabled: isWishlistLoading || !product, className: cn("h-12 w-12 sm:h-14 sm:w-14 shrink-0 rounded-full border-2 transition-all disabled:opacity-50 disabled:cursor-not-allowed", product && isInWishlist(product.id)
491
492
  ? "border-red-500 bg-red-50 text-red-500 hover:bg-red-100"
492
- : "border-gray-200 hover:border-gray-300 hover:bg-gray-50"), children: isWishlistLoading ? (_jsx(ButtonLoader, { className: "h-5 w-5" })) : (_jsx(Heart, { className: cn("h-5 w-5", product && isInWishlist(product.id) && "fill-current") })) }))] })] }), _jsx(ProductDeliveryInfoSection, { storeConfig: storeConfig, currency: storeConfig.settings?.currency || 'USD', productCurrency: product.currency, productPrice: product.price, quantity: quantity, shippingAddress: shippingAddress, updateShippingAddress: (patch) => setShippingAddress((prev) => ({ ...prev, ...patch })), shippingMethods: shippingMethods, isCalculatingShipping: isCalculatingShipping, shippingError: shippingError, freeShippingEligible: freeShippingEligible, freeShippingThreshold: freeShippingThreshold, onToast: addToast }), product.description && (_jsxs("div", { className: "mb-8", children: [_jsx("h2", { className: "text-lg font-semibold text-gray-900 mb-3", children: "Description" }), _jsxs("div", { className: "prose prose-sm max-w-none text-gray-600 leading-relaxed", children: [_jsx("p", { children: product.description }), _jsxs("ul", { className: "list-disc pl-5 space-y-1 mt-2", children: [_jsx("li", { children: "Premium quality material" }), _jsx("li", { children: "Comfortable fit for all-day wear" }), _jsx("li", { children: "Durable stitching and finish" })] })] })] })), product.specifications && Object.keys(product.specifications).length > 0 && (_jsxs("div", { className: "mb-8", children: [_jsx("h2", { className: "text-lg font-semibold text-gray-900 mb-4", children: "Specifications" }), _jsx("dl", { className: "grid grid-cols-1 sm:grid-cols-2 gap-x-4 gap-y-4", children: Object.entries(product.specifications).map(([key, value]) => (_jsxs("div", { className: "flex flex-col p-3 bg-gray-50 rounded-lg", children: [_jsx("dt", { className: "text-xs text-gray-500 font-medium uppercase tracking-wider mb-1", children: key }), _jsx("dd", { className: "text-sm font-bold text-gray-900", children: value })] }, key))) })] }))] })] }), productDetailConfig?.showReviews !== false && (_jsx("div", { className: "mt-20 pt-16 border-t border-gray-200", children: _jsxs("div", { className: "max-w-4xl", children: [_jsxs("div", { className: "flex flex-col sm:flex-row items-start sm:items-center justify-between gap-6 mb-10", children: [_jsxs("div", { className: "flex-1", children: [_jsx("h2", { className: "text-2xl lg:text-3xl font-bold text-gray-900 mb-4", children: "Customer Reviews" }), reviewCount > 0 && averageRating > 0 ? (_jsxs("div", { className: "flex items-center gap-4", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(StarRating, { rating: averageRating, size: "lg" }), _jsx("span", { className: "text-2xl font-bold text-gray-900", children: averageRating.toFixed(1) }), _jsx("span", { className: "text-lg text-gray-500", children: "out of 5" })] }), _jsx("span", { className: "text-gray-300", children: "|" }), _jsxs("span", { className: "text-lg text-gray-600", children: [reviewCount, " ", reviewCount === 1 ? 'review' : 'reviews'] })] })) : (_jsx("div", { className: "text-gray-500", children: _jsx("p", { className: "text-base", children: "Be the first to review this product" }) }))] }), _jsx(Button, { onClick: () => {
493
+ : "border-gray-200 hover:border-gray-300 hover:bg-gray-50"), children: isWishlistLoading ? (_jsx(ButtonLoader, { className: "h-5 w-5" })) : (_jsx(Heart, { className: cn("h-5 w-5", product && isInWishlist(product.id) && "fill-current") })) }))] })] }), _jsx(ProductDeliveryInfoSection, { storeConfig: storeConfig, currency: storeConfig.settings?.currency || 'USD', productCurrency: product.currency, productPrice: product.price, quantity: quantity, shippingAddress: shippingAddress, updateShippingAddress: (patch) => setShippingAddress((prev) => ({ ...prev, ...patch })), shippingMethods: shippingMethods, isCalculatingShipping: isCalculatingShipping, shippingError: shippingError, freeShippingEligible: freeShippingEligible, freeShippingThreshold: freeShippingThreshold, onToast: addToast }), product.description && (_jsxs("div", { className: "mb-8", children: [_jsx("h2", { className: "text-lg font-semibold text-gray-900 mb-3", children: "Description" }), _jsxs("div", { className: "prose prose-sm max-w-none text-gray-600 leading-relaxed", children: [_jsx(SafeRichHtml, { value: product.description, fallbackPlain: "", as: "div" }), _jsxs("ul", { className: "list-disc pl-5 space-y-1 mt-2", children: [_jsx("li", { children: "Premium quality material" }), _jsx("li", { children: "Comfortable fit for all-day wear" }), _jsx("li", { children: "Durable stitching and finish" })] })] })] })), product.specifications && Object.keys(product.specifications).length > 0 && (_jsxs("div", { className: "mb-8", children: [_jsx("h2", { className: "text-lg font-semibold text-gray-900 mb-4", children: "Specifications" }), _jsx("dl", { className: "grid grid-cols-1 sm:grid-cols-2 gap-x-4 gap-y-4", children: Object.entries(product.specifications).map(([key, value]) => (_jsxs("div", { className: "flex flex-col p-3 bg-gray-50 rounded-lg", children: [_jsx("dt", { className: "text-xs text-gray-500 font-medium uppercase tracking-wider mb-1", children: key }), _jsx("dd", { className: "text-sm font-bold text-gray-900", children: value })] }, key))) })] }))] })] }), productDetailConfig?.showReviews !== false && (_jsx("div", { className: "mt-20 pt-16 border-t border-gray-200", children: _jsxs("div", { className: "max-w-4xl", children: [_jsxs("div", { className: "flex flex-col sm:flex-row items-start sm:items-center justify-between gap-6 mb-10", children: [_jsxs("div", { className: "flex-1", children: [_jsx("h2", { className: "text-2xl lg:text-3xl font-bold text-gray-900 mb-4", children: "Customer Reviews" }), reviewCount > 0 && averageRating > 0 ? (_jsxs("div", { className: "flex items-center gap-4", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(StarRating, { rating: averageRating, size: "lg" }), _jsx("span", { className: "text-2xl font-bold text-gray-900", children: averageRating.toFixed(1) }), _jsx("span", { className: "text-lg text-gray-500", children: "out of 5" })] }), _jsx("span", { className: "text-gray-300", children: "|" }), _jsxs("span", { className: "text-lg text-gray-600", children: [reviewCount, " ", reviewCount === 1 ? 'review' : 'reviews'] })] })) : (_jsx("div", { className: "text-gray-500", children: _jsx("p", { className: "text-base", children: "Be the first to review this product" }) }))] }), _jsx(Button, { onClick: () => {
493
494
  if (!isAuthenticated) {
494
495
  openLogin({ onSuccess: () => setIsReviewModalOpen(true) });
495
496
  return;
@@ -2,6 +2,6 @@ import { StoreConfig } from '../../../lib/store-types';
2
2
  interface ProductsPageProps {
3
3
  storeConfig: StoreConfig;
4
4
  }
5
- export declare function ProductsPage(props: ProductsPageProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function ProductsPage(props: ProductsPageProps): import("react").JSX.Element;
6
6
  export {};
7
7
  //# sourceMappingURL=ProductsPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProductsPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing/pages/ProductsPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAgB,MAAM,0BAA0B,CAAC;AAyBrE,UAAU,iBAAiB;IACzB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAowBD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAMpD"}
1
+ {"version":3,"file":"ProductsPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing/pages/ProductsPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAgB,MAAM,0BAA0B,CAAC;AA+BrE,UAAU,iBAAiB;IACzB,WAAW,EAAE,WAAW,CAAC;CAC1B;AA2vBD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,+BAMpD"}