storefront-layouts 1.0.16 → 1.0.17

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 (213) hide show
  1. package/dist/components/auth/LoginForm.js +1 -1
  2. package/dist/components/auth/LoginSheet.js +1 -1
  3. package/dist/components/auth/login-form-core.js +2 -2
  4. package/dist/components/auth/login-sheet-registry.js +2 -2
  5. package/dist/components/auth/login-sheet-themes/booking-agenda.theme.js +1 -1
  6. package/dist/components/auth/login-sheet-themes/booking.theme.js +1 -1
  7. package/dist/components/auth/login-sheet-themes/clothing-minimal.theme.js +1 -1
  8. package/dist/components/auth/login-sheet-themes/clothing.theme.js +1 -1
  9. package/dist/components/auth/login-sheet-themes/electronics-grid.theme.js +1 -1
  10. package/dist/components/auth/login-sheet-themes/electronics.theme.js +1 -1
  11. package/dist/components/auth/login-sheet-themes/food-modern.theme.js +1 -1
  12. package/dist/components/auth/login-sheet-themes/food.theme.js +1 -1
  13. package/dist/components/auth/login-sheet-themes/index.js +9 -9
  14. package/dist/components/auth/login-sheet-themes/motivational-speaker.theme.js +1 -1
  15. package/dist/components/auth/login-sheets/StoreLoginSheetShell.js +3 -3
  16. package/dist/components/categories/category-masonry-grid.js +3 -3
  17. package/dist/components/learning/CertificateViewer.js +1 -1
  18. package/dist/components/rich-text/CategoryDescription.js +2 -2
  19. package/dist/components/rich-text/ProductDescription.js +2 -2
  20. package/dist/components/rich-text/RichTextExcerpt.js +1 -1
  21. package/dist/components/rich-text/SafeRichHtml.js +1 -1
  22. package/dist/components/shipping/ProductDeliveryInfoSection.js +2 -2
  23. package/dist/components/ui/alert-modal.js +1 -1
  24. package/dist/components/ui/guest-checkout-modal.js +2 -2
  25. package/dist/components/ui/image-skeleton.js +1 -1
  26. package/dist/components/ui/image-with-fallback.js +1 -1
  27. package/dist/components/ui/loading-skeleton-wrapper.js +1 -1
  28. package/dist/components/ui/modal.js +1 -1
  29. package/dist/components/ui/page-content-loader.js +1 -1
  30. package/dist/components/ui/product-card.d.ts.map +1 -1
  31. package/dist/components/ui/product-card.js +3 -2
  32. package/dist/components/ui/route-skeleton-loader.js +5 -5
  33. package/dist/components/ui/sheet.js +1 -1
  34. package/dist/components/ui/skeletons/index.js +5 -5
  35. package/dist/components/ui/skeletons/product-grid-skeleton.js +1 -1
  36. package/dist/editor/alignment-schemas/booking.js +1 -1
  37. package/dist/editor/alignment-schemas/clothing-minimal.js +1 -1
  38. package/dist/editor/alignment-schemas/index.js +20 -20
  39. package/dist/editor/alignment-schemas/lazy-loader.js +1 -1
  40. package/dist/editor/alignment-schemas/metadata.js +1 -1
  41. package/dist/editor/alignment-schemas/resolve-canvas-inspector-leaf.js +3 -3
  42. package/dist/editor/blocks/index.js +3 -3
  43. package/dist/editor/blocks/migrate-clothing-minimal.js +3 -3
  44. package/dist/editor/blocks/nav-outline-utils.js +2 -2
  45. package/dist/editor/blocks/registry.js +1 -1
  46. package/dist/editor/document/adapter.js +4 -4
  47. package/dist/editor/document/block-tree.js +1 -1
  48. package/dist/editor/document/index.js +6 -6
  49. package/dist/editor/document/validate.js +1 -1
  50. package/dist/editor/index.js +12 -12
  51. package/dist/editor/layout-content-loader.js +3 -3
  52. package/dist/editor/payaza-form/ArrayItemManager.js +2 -2
  53. package/dist/editor/payaza-form/EditorCanvasPreview.js +4 -4
  54. package/dist/editor/payaza-form/FieldRenderer.js +17 -17
  55. package/dist/editor/payaza-form/IframePreviewMessageBridge.js +3 -3
  56. package/dist/editor/payaza-form/PayazaFormEditor.js +29 -29
  57. package/dist/editor/payaza-form/PayazaFormEditorFullPage.js +2 -2
  58. package/dist/editor/payaza-form/SliderArrayEditor.js +2 -2
  59. package/dist/editor/payaza-form/components/ArrayField.js +1 -1
  60. package/dist/editor/payaza-form/components/BlockStylesInspector.js +1 -1
  61. package/dist/editor/payaza-form/components/BlocksField.js +8 -8
  62. package/dist/editor/payaza-form/components/ButtonField.js +3 -3
  63. package/dist/editor/payaza-form/components/CanvasGranularInspector.js +11 -11
  64. package/dist/editor/payaza-form/components/IconField.js +2 -2
  65. package/dist/editor/payaza-form/components/ImageField.js +1 -1
  66. package/dist/editor/payaza-form/components/NumberField.js +1 -1
  67. package/dist/editor/payaza-form/components/RichTextField.js +2 -2
  68. package/dist/editor/payaza-form/components/SectionSchemaInspector.js +3 -3
  69. package/dist/editor/payaza-form/components/StarRatingField.js +1 -1
  70. package/dist/editor/payaza-form/components/TextField.js +1 -1
  71. package/dist/editor/payaza-form/data-merger.js +6 -6
  72. package/dist/editor/payaza-form/data-transformer.js +3 -3
  73. package/dist/editor/payaza-form/engine.js +1 -1
  74. package/dist/editor/payaza-form/examples/custom-widgets.example.js +1 -1
  75. package/dist/editor/payaza-form/index.js +8 -8
  76. package/dist/editor/payaza-form/layout-loader.js +2 -2
  77. package/dist/editor/payaza-form/preview-message-handler.js +3 -3
  78. package/dist/editor/payaza-form/schema-bridge.js +3 -3
  79. package/dist/editor/payaza-form/widget-registry.js +1 -1
  80. package/dist/editor/shared/BlockOutlineTree.js +1 -1
  81. package/dist/editor/shared/EditorHeader.js +1 -1
  82. package/dist/editor/shared/EditorNavigator.js +1 -1
  83. package/dist/editor/shared/IframePreview.js +6 -6
  84. package/dist/editor/shared/InlineCanvasPreview.js +7 -7
  85. package/dist/editor/shared/LayoutRenderer.js +1 -1
  86. package/dist/editor/shared/ResizableSidebar.js +1 -1
  87. package/dist/editor/shared/index.js +7 -7
  88. package/dist/hooks/use-product-reviews.js +1 -1
  89. package/dist/hooks/usePreviewSlideSync.js +1 -1
  90. package/dist/index.js +143 -143
  91. package/dist/layouts/booking/components/BookingHomePage.js +1 -1
  92. package/dist/layouts/booking/components/BookingMultilineHeading.js +1 -1
  93. package/dist/layouts/booking/components/BookingTestimonialCard.js +1 -1
  94. package/dist/layouts/booking/components/booking-footer-defaults.js +2 -2
  95. package/dist/layouts/booking/index.js +8 -8
  96. package/dist/layouts/booking/pages/BookPage.js +1 -1
  97. package/dist/layouts/booking/pages/CategoriesPage.js +2 -2
  98. package/dist/layouts/booking/pages/ProductDetailPage.js +3 -3
  99. package/dist/layouts/booking-agenda/components/BookingHomePageAgenda.js +3 -3
  100. package/dist/layouts/booking-agenda/index.js +8 -8
  101. package/dist/layouts/booking-agenda/pages/CategoriesPage.js +1 -1
  102. package/dist/layouts/booking-agenda/pages/ProductDetailPage.js +3 -3
  103. package/dist/layouts/clothing/components/ClothingHomePage.d.ts.map +1 -1
  104. package/dist/layouts/clothing/components/ClothingHomePage.js +13 -12
  105. package/dist/layouts/clothing/index.js +7 -7
  106. package/dist/layouts/clothing/pages/AboutPage.js +4 -4
  107. package/dist/layouts/clothing/pages/CategoriesPage.js +9 -9
  108. package/dist/layouts/clothing/pages/CategoryPage.js +7 -7
  109. package/dist/layouts/clothing/pages/ContactPage.js +3 -3
  110. package/dist/layouts/clothing/pages/ProductDetailPage.js +24 -24
  111. package/dist/layouts/clothing/pages/ProductsPage.js +17 -17
  112. package/dist/layouts/clothing/payaza-bindings.js +2 -2
  113. package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.d.ts.map +1 -1
  114. package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.js +11 -10
  115. package/dist/layouts/clothing-minimal/components/clothing-minimal-block-render.js +7 -7
  116. package/dist/layouts/clothing-minimal/index.js +7 -7
  117. package/dist/layouts/clothing-minimal/pages/AboutPage.js +3 -3
  118. package/dist/layouts/clothing-minimal/pages/CategoriesPage.js +8 -8
  119. package/dist/layouts/clothing-minimal/pages/CategoryPage.js +7 -7
  120. package/dist/layouts/clothing-minimal/pages/ContactPage.js +3 -3
  121. package/dist/layouts/clothing-minimal/pages/ProductDetailPage.js +24 -24
  122. package/dist/layouts/clothing-minimal/pages/ProductsPage.js +18 -18
  123. package/dist/layouts/electronics/components/ElectronicsCategoriesPage.js +3 -3
  124. package/dist/layouts/electronics/components/ElectronicsGridProductCard.d.ts.map +1 -1
  125. package/dist/layouts/electronics/components/ElectronicsGridProductCard.js +4 -3
  126. package/dist/layouts/electronics/components/ElectronicsHomePage.d.ts.map +1 -1
  127. package/dist/layouts/electronics/components/ElectronicsHomePage.js +5 -4
  128. package/dist/layouts/electronics/components/ElectronicsPageWrapper.js +2 -2
  129. package/dist/layouts/electronics/components/ElectronicsProductsPage.js +4 -4
  130. package/dist/layouts/electronics/components/ElectronicsStoreHeader.js +1 -1
  131. package/dist/layouts/electronics/index.js +18 -18
  132. package/dist/layouts/electronics/pages/CategoriesPage.js +1 -1
  133. package/dist/layouts/electronics/pages/ProductDetailPage.js +3 -3
  134. package/dist/layouts/electronics/pages/ProductsPage.js +2 -2
  135. package/dist/layouts/electronics-grid/components/ElectronicsGridProductCard.d.ts.map +1 -1
  136. package/dist/layouts/electronics-grid/components/ElectronicsGridProductCard.js +4 -3
  137. package/dist/layouts/electronics-grid/components/ElectronicsHomePageGrid.js +2 -2
  138. package/dist/layouts/electronics-grid/index.js +14 -14
  139. package/dist/layouts/electronics-grid/pages/CategoriesPage.js +1 -1
  140. package/dist/layouts/electronics-grid/pages/ProductDetailPage.js +3 -3
  141. package/dist/layouts/electronics-grid/pages/ProductsPage.js +2 -2
  142. package/dist/layouts/food/components/FoodHomePage.js +1 -1
  143. package/dist/layouts/food/index.js +8 -8
  144. package/dist/layouts/food/pages/CategoriesPage.js +2 -2
  145. package/dist/layouts/food/pages/CategoryPage.js +2 -2
  146. package/dist/layouts/food/pages/ProductDetailPage.js +4 -4
  147. package/dist/layouts/food/pages/ProductsPage.js +2 -2
  148. package/dist/layouts/food-modern/components/FoodHomePageModern.js +3 -3
  149. package/dist/layouts/food-modern/index.js +8 -8
  150. package/dist/layouts/food-modern/pages/CategoriesPage.js +1 -1
  151. package/dist/layouts/food-modern/pages/CategoryPage.js +2 -2
  152. package/dist/layouts/food-modern/pages/ProductDetailPage.js +3 -3
  153. package/dist/layouts/food-modern/pages/ProductsPage.js +2 -2
  154. package/dist/layouts/motivational-speaker/components/MotivationalSpeakerPageWrapper.js +1 -1
  155. package/dist/layouts/motivational-speaker/index.js +9 -9
  156. package/dist/layouts/motivational-speaker/pages/ProductsPage.js +2 -2
  157. package/dist/layouts/shared/components/BaseStoreLayout.js +9 -9
  158. package/dist/layouts/shared/components/GenericPageWrapper.js +3 -3
  159. package/dist/layouts/shared/components/PdpVariationSelectors.js +2 -2
  160. package/dist/layouts/shared/components/PromoBanner.js +4 -4
  161. package/dist/layouts/shared/components/StoreCartSheet.js +9 -9
  162. package/dist/layouts/shared/components/StoreFooter.js +9 -9
  163. package/dist/layouts/shared/components/StoreHeader.js +8 -8
  164. package/dist/layouts/shared/components/headers/BookingAgendaSidebar.js +2 -2
  165. package/dist/layouts/shared/components/headers/ClothingMinimalHeader.js +9 -9
  166. package/dist/layouts/shared/components/headers/FoodModernHeader.js +7 -7
  167. package/dist/layouts/shared/index.js +22 -22
  168. package/dist/layouts/shared/pages/StoreMaintenanceScreen.js +2 -2
  169. package/dist/layouts/shared/wrappers/BookingAgendaLayout.js +16 -16
  170. package/dist/layouts/shared/wrappers/ClothingLayout.js +8 -8
  171. package/dist/layouts/shared/wrappers/ClothingMinimalLayout.js +7 -7
  172. package/dist/layouts/shared/wrappers/ElectronicsLayout.js +5 -5
  173. package/dist/layouts/shared/wrappers/FoodModernLayout.js +6 -6
  174. package/dist/layouts/shared/wrappers/MotivationalLayout.js +9 -9
  175. package/dist/layouts/shared/wrappers/StandardLayout.js +8 -8
  176. package/dist/lib/auth-context.js +2 -2
  177. package/dist/lib/layout-config-hydration.js +2 -2
  178. package/dist/lib/product-variation-utils.js +1 -1
  179. package/dist/lib/services/analytics.service.js +1 -1
  180. package/dist/lib/services/auth.service.js +1 -1
  181. package/dist/lib/services/booking.service.js +1 -1
  182. package/dist/lib/services/category.service.js +1 -1
  183. package/dist/lib/services/checkout.service.js +1 -1
  184. package/dist/lib/services/contact.service.js +1 -1
  185. package/dist/lib/services/customer.service.js +1 -1
  186. package/dist/lib/services/fees.service.js +1 -1
  187. package/dist/lib/services/index.js +13 -13
  188. package/dist/lib/services/location.service.js +1 -1
  189. package/dist/lib/services/order.service.js +1 -1
  190. package/dist/lib/services/payment.service.js +1 -1
  191. package/dist/lib/services/product.service.js +1 -1
  192. package/dist/lib/services/promo.service.js +1 -1
  193. package/dist/lib/services/review.service.js +1 -1
  194. package/dist/lib/services/service.service.js +1 -1
  195. package/dist/lib/services/shipping.service.js +1 -1
  196. package/dist/lib/services/store.service.js +1 -1
  197. package/dist/lib/store-config-utils.js +7 -7
  198. package/dist/lib/store-config.js +1 -1
  199. package/dist/lib/store-context.js +12 -12
  200. package/dist/lib/utils/asset-helpers.js +2 -2
  201. package/dist/lib/utils/editor-preview.js +3 -3
  202. package/dist/lib/utils/index.js +3 -3
  203. package/dist/lib/utils/product-images.js +1 -1
  204. package/dist/lib/utils/product-share.js +1 -1
  205. package/dist/lib/utils/url-helpers.js +1 -1
  206. package/dist/preview/LayoutPreview.js +5 -5
  207. package/dist/preview/PreviewRouter.js +2 -2
  208. package/dist/preview/canvas/PreviewCanvasEnhancer.js +8 -8
  209. package/dist/preview/canvas/preview-flush-await.js +1 -1
  210. package/dist/preview/canvas/preview-isolation.js +1 -1
  211. package/dist/preview/canvas/preview-route.js +2 -2
  212. package/dist/preview/index.js +4 -4
  213. package/package.json +30 -31
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { useCallback, useEffect, useState } from 'react';
3
- import { reviewService } from '../lib/services/review.service';
3
+ import { reviewService } from '../lib/services/review.service.js';
4
4
  function customerDisplayName(customer) {
5
5
  if (!customer || typeof customer !== 'object')
6
6
  return 'Customer';
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { useEffect } from 'react';
3
- import { PREVIEW_MSG } from '../preview/canvas/preview-messages';
3
+ import { PREVIEW_MSG } from '../preview/canvas/preview-messages.js';
4
4
  /**
5
5
  * Syncs hero carousel index when the template editor selects a slide in the inspector.
6
6
  */
package/dist/index.js CHANGED
@@ -3,162 +3,162 @@
3
3
  * Main package exports
4
4
  */
5
5
  // Food layout exports
6
- export { FoodHomePage } from './layouts/food/components/FoodHomePage';
7
- export { ProductsPage as FoodProductsPage } from './layouts/food/pages/ProductsPage';
8
- export { ProductDetailPage as FoodProductDetailPage } from './layouts/food/pages/ProductDetailPage';
9
- export { CategoryPage as FoodCategoryPage } from './layouts/food/pages/CategoryPage';
10
- export { FoodCategoriesPage } from './layouts/food/pages/CategoriesPage';
11
- export { MenuPage as FoodMenuPage } from './layouts/food/pages/MenuPage';
12
- export { AboutPage as FoodAboutPage } from './layouts/food/pages/AboutPage';
13
- export { ContactPage as FoodContactPage } from './layouts/food/pages/ContactPage';
6
+ export { FoodHomePage } from './layouts/food/components/FoodHomePage.js';
7
+ export { ProductsPage as FoodProductsPage } from './layouts/food/pages/ProductsPage.js';
8
+ export { ProductDetailPage as FoodProductDetailPage } from './layouts/food/pages/ProductDetailPage.js';
9
+ export { CategoryPage as FoodCategoryPage } from './layouts/food/pages/CategoryPage.js';
10
+ export { FoodCategoriesPage } from './layouts/food/pages/CategoriesPage.js';
11
+ export { MenuPage as FoodMenuPage } from './layouts/food/pages/MenuPage.js';
12
+ export { AboutPage as FoodAboutPage } from './layouts/food/pages/AboutPage.js';
13
+ export { ContactPage as FoodContactPage } from './layouts/food/pages/ContactPage.js';
14
14
  // Food-modern layout exports
15
- export { FoodHomePageModern } from './layouts/food-modern/components/FoodHomePageModern';
16
- export { ProductsPage as FoodModernProductsPage } from './layouts/food-modern/pages/ProductsPage';
17
- export { ProductDetailPage as FoodModernProductDetailPage } from './layouts/food-modern/pages/ProductDetailPage';
18
- export { CategoryPage as FoodModernCategoryPage } from './layouts/food-modern/pages/CategoryPage';
19
- export { FoodModernCategoriesPage } from './layouts/food-modern/pages/CategoriesPage';
20
- export { MenuPage as FoodModernMenuPage } from './layouts/food-modern/pages/MenuPage';
21
- export { AboutPage as FoodModernAboutPage } from './layouts/food-modern/pages/AboutPage';
22
- export { ContactPage as FoodModernContactPage } from './layouts/food-modern/pages/ContactPage';
15
+ export { FoodHomePageModern } from './layouts/food-modern/components/FoodHomePageModern.js';
16
+ export { ProductsPage as FoodModernProductsPage } from './layouts/food-modern/pages/ProductsPage.js';
17
+ export { ProductDetailPage as FoodModernProductDetailPage } from './layouts/food-modern/pages/ProductDetailPage.js';
18
+ export { CategoryPage as FoodModernCategoryPage } from './layouts/food-modern/pages/CategoryPage.js';
19
+ export { FoodModernCategoriesPage } from './layouts/food-modern/pages/CategoriesPage.js';
20
+ export { MenuPage as FoodModernMenuPage } from './layouts/food-modern/pages/MenuPage.js';
21
+ export { AboutPage as FoodModernAboutPage } from './layouts/food-modern/pages/AboutPage.js';
22
+ export { ContactPage as FoodModernContactPage } from './layouts/food-modern/pages/ContactPage.js';
23
23
  // Clothing layout exports
24
- export { ClothingHomePage } from './layouts/clothing/components/ClothingHomePage';
25
- export { ProductsPage as ClothingProductsPage } from './layouts/clothing/pages/ProductsPage';
26
- export { ProductDetailPage as ClothingProductDetailPage } from './layouts/clothing/pages/ProductDetailPage';
27
- export { CategoryPage as ClothingCategoryPage } from './layouts/clothing/pages/CategoryPage';
28
- export { ClothingCategoriesPage } from './layouts/clothing/pages/CategoriesPage';
29
- export { AboutPage as ClothingAboutPage } from './layouts/clothing/pages/AboutPage';
30
- export { ContactPage as ClothingContactPage } from './layouts/clothing/pages/ContactPage';
24
+ export { ClothingHomePage } from './layouts/clothing/components/ClothingHomePage.js';
25
+ export { ProductsPage as ClothingProductsPage } from './layouts/clothing/pages/ProductsPage.js';
26
+ export { ProductDetailPage as ClothingProductDetailPage } from './layouts/clothing/pages/ProductDetailPage.js';
27
+ export { CategoryPage as ClothingCategoryPage } from './layouts/clothing/pages/CategoryPage.js';
28
+ export { ClothingCategoriesPage } from './layouts/clothing/pages/CategoriesPage.js';
29
+ export { AboutPage as ClothingAboutPage } from './layouts/clothing/pages/AboutPage.js';
30
+ export { ContactPage as ClothingContactPage } from './layouts/clothing/pages/ContactPage.js';
31
31
  // Clothing-minimal layout exports
32
- export { ClothingHomePageMinimal } from './layouts/clothing-minimal/components/ClothingHomePageMinimal';
33
- export { ProductsPage as ClothingMinimalProductsPage } from './layouts/clothing-minimal/pages/ProductsPage';
34
- export { ProductDetailPage as ClothingMinimalProductDetailPage } from './layouts/clothing-minimal/pages/ProductDetailPage';
35
- export { CategoryPage as ClothingMinimalCategoryPage } from './layouts/clothing-minimal/pages/CategoryPage';
36
- export { ClothingMinimalCategoriesPage } from './layouts/clothing-minimal/pages/CategoriesPage';
37
- export { AboutPage as ClothingMinimalAboutPage } from './layouts/clothing-minimal/pages/AboutPage';
38
- export { ContactPage as ClothingMinimalContactPage } from './layouts/clothing-minimal/pages/ContactPage';
32
+ export { ClothingHomePageMinimal } from './layouts/clothing-minimal/components/ClothingHomePageMinimal.js';
33
+ export { ProductsPage as ClothingMinimalProductsPage } from './layouts/clothing-minimal/pages/ProductsPage.js';
34
+ export { ProductDetailPage as ClothingMinimalProductDetailPage } from './layouts/clothing-minimal/pages/ProductDetailPage.js';
35
+ export { CategoryPage as ClothingMinimalCategoryPage } from './layouts/clothing-minimal/pages/CategoryPage.js';
36
+ export { ClothingMinimalCategoriesPage } from './layouts/clothing-minimal/pages/CategoriesPage.js';
37
+ export { AboutPage as ClothingMinimalAboutPage } from './layouts/clothing-minimal/pages/AboutPage.js';
38
+ export { ContactPage as ClothingMinimalContactPage } from './layouts/clothing-minimal/pages/ContactPage.js';
39
39
  // Booking layout exports
40
- export { BookingHomePage } from './layouts/booking/components/BookingHomePage';
41
- export { BookingBookPage } from './layouts/booking/pages/BookPage';
42
- export { ServicesPage } from './layouts/booking/pages/ServicesPage';
43
- export { ServicesPage as BookingServicesPage } from './layouts/booking/pages/ServicesPage';
44
- export { ProductDetailPage as BookingProductDetailPage } from './layouts/booking/pages/ProductDetailPage';
45
- export { CategoryPage as BookingCategoryPage } from './layouts/booking/pages/CategoryPage';
46
- export { BookingCategoriesPage } from './layouts/booking/pages/CategoriesPage';
47
- export { AboutPage as BookingAboutPage } from './layouts/booking/pages/AboutPage';
48
- export { ContactPage as BookingContactPage } from './layouts/booking/pages/ContactPage';
40
+ export { BookingHomePage } from './layouts/booking/components/BookingHomePage.js';
41
+ export { BookingBookPage } from './layouts/booking/pages/BookPage.js';
42
+ export { ServicesPage } from './layouts/booking/pages/ServicesPage.js';
43
+ export { ServicesPage as BookingServicesPage } from './layouts/booking/pages/ServicesPage.js';
44
+ export { ProductDetailPage as BookingProductDetailPage } from './layouts/booking/pages/ProductDetailPage.js';
45
+ export { CategoryPage as BookingCategoryPage } from './layouts/booking/pages/CategoryPage.js';
46
+ export { BookingCategoriesPage } from './layouts/booking/pages/CategoriesPage.js';
47
+ export { AboutPage as BookingAboutPage } from './layouts/booking/pages/AboutPage.js';
48
+ export { ContactPage as BookingContactPage } from './layouts/booking/pages/ContactPage.js';
49
49
  // Booking-agenda layout exports
50
- export { BookingHomePageAgenda } from './layouts/booking-agenda/components/BookingHomePageAgenda';
51
- export { BookingAgendaBookPage } from './layouts/booking-agenda/pages/BookPage';
52
- export { ServicesPage as BookingAgendaServicesPage } from './layouts/booking-agenda/pages/ServicesPage';
53
- export { ProductDetailPage as BookingAgendaProductDetailPage } from './layouts/booking-agenda/pages/ProductDetailPage';
54
- export { CategoryPage as BookingAgendaCategoryPage } from './layouts/booking-agenda/pages/CategoryPage';
55
- export { BookingAgendaCategoriesPage } from './layouts/booking-agenda/pages/CategoriesPage';
56
- export { AboutPage as BookingAgendaAboutPage } from './layouts/booking-agenda/pages/AboutPage';
57
- export { ContactPage as BookingAgendaContactPage } from './layouts/booking-agenda/pages/ContactPage';
50
+ export { BookingHomePageAgenda } from './layouts/booking-agenda/components/BookingHomePageAgenda.js';
51
+ export { BookingAgendaBookPage } from './layouts/booking-agenda/pages/BookPage.js';
52
+ export { ServicesPage as BookingAgendaServicesPage } from './layouts/booking-agenda/pages/ServicesPage.js';
53
+ export { ProductDetailPage as BookingAgendaProductDetailPage } from './layouts/booking-agenda/pages/ProductDetailPage.js';
54
+ export { CategoryPage as BookingAgendaCategoryPage } from './layouts/booking-agenda/pages/CategoryPage.js';
55
+ export { BookingAgendaCategoriesPage } from './layouts/booking-agenda/pages/CategoriesPage.js';
56
+ export { AboutPage as BookingAgendaAboutPage } from './layouts/booking-agenda/pages/AboutPage.js';
57
+ export { ContactPage as BookingAgendaContactPage } from './layouts/booking-agenda/pages/ContactPage.js';
58
58
  // Electronics layout exports
59
- export { ElectronicsHomePage } from './layouts/electronics/components/ElectronicsHomePage';
60
- export { ElectronicsProductsPage } from './layouts/electronics/components/ElectronicsProductsPage';
61
- export { ElectronicsCategoriesPage } from './layouts/electronics/components/ElectronicsCategoriesPage';
62
- export { ElectronicsPageWrapper } from './layouts/electronics/components/ElectronicsPageWrapper';
63
- export { ElectronicsStoreHeader } from './layouts/electronics/components/ElectronicsStoreHeader';
64
- export { ElectronicsStoreFooter } from './layouts/electronics/components/ElectronicsStoreFooter';
65
- export { ElectronicsGridProductCard } from './layouts/electronics/components/ElectronicsGridProductCard';
66
- export { ProductsPage as ElectronicsProductsPagePage } from './layouts/electronics/pages/ProductsPage';
67
- export { ProductsPage as ElectronicsProductsListingPage } from './layouts/electronics/pages/ProductsPage';
68
- export { ProductDetailPage as ElectronicsProductDetailPage } from './layouts/electronics/pages/ProductDetailPage';
69
- export { CategoryPage as ElectronicsCategoryPage } from './layouts/electronics/pages/CategoryPage';
70
- export { ElectronicsCategoriesListingPage as ElectronicsCategoriesPagePage } from './layouts/electronics/pages/CategoriesPage';
71
- export { ElectronicsCategoriesListingPage } from './layouts/electronics/pages/CategoriesPage';
72
- export { AboutPage as ElectronicsAboutPage } from './layouts/electronics/pages/AboutPage';
73
- export { ContactPage as ElectronicsContactPage } from './layouts/electronics/pages/ContactPage';
74
- export { ElectronicsHelpCenterPage } from './layouts/electronics/pages/HelpCenterPage';
75
- export { ElectronicsPrivacyPolicyPage } from './layouts/electronics/pages/PrivacyPolicyPage';
76
- export { ElectronicsShippingReturnsPage } from './layouts/electronics/pages/ShippingReturnsPage';
77
- export { ElectronicsTermsPage } from './layouts/electronics/pages/TermsPage';
78
- export { ElectronicsTrackOrderPage } from './layouts/electronics/pages/TrackOrderPage';
59
+ export { ElectronicsHomePage } from './layouts/electronics/components/ElectronicsHomePage.js';
60
+ export { ElectronicsProductsPage } from './layouts/electronics/components/ElectronicsProductsPage.js';
61
+ export { ElectronicsCategoriesPage } from './layouts/electronics/components/ElectronicsCategoriesPage.js';
62
+ export { ElectronicsPageWrapper } from './layouts/electronics/components/ElectronicsPageWrapper.js';
63
+ export { ElectronicsStoreHeader } from './layouts/electronics/components/ElectronicsStoreHeader.js';
64
+ export { ElectronicsStoreFooter } from './layouts/electronics/components/ElectronicsStoreFooter.js';
65
+ export { ElectronicsGridProductCard } from './layouts/electronics/components/ElectronicsGridProductCard.js';
66
+ export { ProductsPage as ElectronicsProductsPagePage } from './layouts/electronics/pages/ProductsPage.js';
67
+ export { ProductsPage as ElectronicsProductsListingPage } from './layouts/electronics/pages/ProductsPage.js';
68
+ export { ProductDetailPage as ElectronicsProductDetailPage } from './layouts/electronics/pages/ProductDetailPage.js';
69
+ export { CategoryPage as ElectronicsCategoryPage } from './layouts/electronics/pages/CategoryPage.js';
70
+ export { ElectronicsCategoriesListingPage as ElectronicsCategoriesPagePage } from './layouts/electronics/pages/CategoriesPage.js';
71
+ export { ElectronicsCategoriesListingPage } from './layouts/electronics/pages/CategoriesPage.js';
72
+ export { AboutPage as ElectronicsAboutPage } from './layouts/electronics/pages/AboutPage.js';
73
+ export { ContactPage as ElectronicsContactPage } from './layouts/electronics/pages/ContactPage.js';
74
+ export { ElectronicsHelpCenterPage } from './layouts/electronics/pages/HelpCenterPage.js';
75
+ export { ElectronicsPrivacyPolicyPage } from './layouts/electronics/pages/PrivacyPolicyPage.js';
76
+ export { ElectronicsShippingReturnsPage } from './layouts/electronics/pages/ShippingReturnsPage.js';
77
+ export { ElectronicsTermsPage } from './layouts/electronics/pages/TermsPage.js';
78
+ export { ElectronicsTrackOrderPage } from './layouts/electronics/pages/TrackOrderPage.js';
79
79
  // Electronics-grid layout exports
80
- export { ElectronicsGridProductCard as ElectronicsGridProductCardGrid } from './layouts/electronics-grid/components/ElectronicsGridProductCard';
81
- export { ElectronicsHomePageGrid } from './layouts/electronics-grid/components/ElectronicsHomePageGrid';
82
- export { ElectronicsGridCategoriesPage } from './layouts/electronics-grid/pages/ElectronicsGridCategoriesPage';
83
- export { ProductsPage as ElectronicsGridProductsPage } from './layouts/electronics-grid/pages/ProductsPage';
84
- export { ProductsPage as ElectronicsGridProductsListingPage } from './layouts/electronics-grid/pages/ProductsPage';
85
- export { ProductDetailPage as ElectronicsGridProductDetailPage } from './layouts/electronics-grid/pages/ProductDetailPage';
86
- export { CategoryPage as ElectronicsGridCategoryPage } from './layouts/electronics-grid/pages/CategoryPage';
87
- export { ElectronicsGridCategoriesListingPage as ElectronicsGridCategoriesPagePage } from './layouts/electronics-grid/pages/CategoriesPage';
88
- export { ElectronicsGridCategoriesListingPage } from './layouts/electronics-grid/pages/CategoriesPage';
89
- export { AboutPage as ElectronicsGridAboutPage } from './layouts/electronics-grid/pages/AboutPage';
90
- export { ContactPage as ElectronicsGridContactPage } from './layouts/electronics-grid/pages/ContactPage';
91
- export { ElectronicsGridHelpCenterPage } from './layouts/electronics-grid/pages/HelpCenterPage';
92
- export { ElectronicsGridPrivacyPolicyPage } from './layouts/electronics-grid/pages/PrivacyPolicyPage';
93
- export { ElectronicsGridShippingReturnsPage } from './layouts/electronics-grid/pages/ShippingReturnsPage';
94
- export { ElectronicsGridTermsPage } from './layouts/electronics-grid/pages/TermsPage';
95
- export { ElectronicsGridTrackOrderPage } from './layouts/electronics-grid/pages/TrackOrderPage';
80
+ export { ElectronicsGridProductCard as ElectronicsGridProductCardGrid } from './layouts/electronics-grid/components/ElectronicsGridProductCard.js';
81
+ export { ElectronicsHomePageGrid } from './layouts/electronics-grid/components/ElectronicsHomePageGrid.js';
82
+ export { ElectronicsGridCategoriesPage } from './layouts/electronics-grid/pages/ElectronicsGridCategoriesPage.js';
83
+ export { ProductsPage as ElectronicsGridProductsPage } from './layouts/electronics-grid/pages/ProductsPage.js';
84
+ export { ProductsPage as ElectronicsGridProductsListingPage } from './layouts/electronics-grid/pages/ProductsPage.js';
85
+ export { ProductDetailPage as ElectronicsGridProductDetailPage } from './layouts/electronics-grid/pages/ProductDetailPage.js';
86
+ export { CategoryPage as ElectronicsGridCategoryPage } from './layouts/electronics-grid/pages/CategoryPage.js';
87
+ export { ElectronicsGridCategoriesListingPage as ElectronicsGridCategoriesPagePage } from './layouts/electronics-grid/pages/CategoriesPage.js';
88
+ export { ElectronicsGridCategoriesListingPage } from './layouts/electronics-grid/pages/CategoriesPage.js';
89
+ export { AboutPage as ElectronicsGridAboutPage } from './layouts/electronics-grid/pages/AboutPage.js';
90
+ export { ContactPage as ElectronicsGridContactPage } from './layouts/electronics-grid/pages/ContactPage.js';
91
+ export { ElectronicsGridHelpCenterPage } from './layouts/electronics-grid/pages/HelpCenterPage.js';
92
+ export { ElectronicsGridPrivacyPolicyPage } from './layouts/electronics-grid/pages/PrivacyPolicyPage.js';
93
+ export { ElectronicsGridShippingReturnsPage } from './layouts/electronics-grid/pages/ShippingReturnsPage.js';
94
+ export { ElectronicsGridTermsPage } from './layouts/electronics-grid/pages/TermsPage.js';
95
+ export { ElectronicsGridTrackOrderPage } from './layouts/electronics-grid/pages/TrackOrderPage.js';
96
96
  // Motivational-speaker layout exports
97
- export { MotivationalHomePage } from './layouts/motivational-speaker/components/MotivationalHomePage';
98
- export { MotivationalSpeakerPageWrapper as MotivationalPageWrapper } from './layouts/motivational-speaker/components/MotivationalSpeakerPageWrapper';
99
- export { ProductsPage as MotivationalProductsPage } from './layouts/motivational-speaker/pages/ProductsPage';
100
- export { ServiceDetailPage as MotivationalServiceDetailPage } from './layouts/motivational-speaker/pages/ServiceDetailPage';
101
- export { ServiceDetailPage } from './layouts/motivational-speaker/pages/ServiceDetailPage';
102
- export { ServicesPage as MotivationalServicesPage } from './layouts/motivational-speaker/pages/ServicesPage';
103
- export { MotivationalSubscriptionPage as SubscriptionPage } from './layouts/motivational-speaker/pages/SubscriptionPage';
104
- export { MotivationalSubscriptionPage } from './layouts/motivational-speaker/pages/SubscriptionPage';
105
- export { CategoryPage as MotivationalCategoryPage } from './layouts/motivational-speaker/pages/CategoryPage';
106
- export { AboutPage as MotivationalAboutPage } from './layouts/motivational-speaker/pages/AboutPage';
107
- export { ContactPage as MotivationalContactPage } from './layouts/motivational-speaker/pages/ContactPage';
97
+ export { MotivationalHomePage } from './layouts/motivational-speaker/components/MotivationalHomePage.js';
98
+ export { MotivationalSpeakerPageWrapper as MotivationalPageWrapper } from './layouts/motivational-speaker/components/MotivationalSpeakerPageWrapper.js';
99
+ export { ProductsPage as MotivationalProductsPage } from './layouts/motivational-speaker/pages/ProductsPage.js';
100
+ export { ServiceDetailPage as MotivationalServiceDetailPage } from './layouts/motivational-speaker/pages/ServiceDetailPage.js';
101
+ export { ServiceDetailPage } from './layouts/motivational-speaker/pages/ServiceDetailPage.js';
102
+ export { ServicesPage as MotivationalServicesPage } from './layouts/motivational-speaker/pages/ServicesPage.js';
103
+ export { MotivationalSubscriptionPage as SubscriptionPage } from './layouts/motivational-speaker/pages/SubscriptionPage.js';
104
+ export { MotivationalSubscriptionPage } from './layouts/motivational-speaker/pages/SubscriptionPage.js';
105
+ export { CategoryPage as MotivationalCategoryPage } from './layouts/motivational-speaker/pages/CategoryPage.js';
106
+ export { AboutPage as MotivationalAboutPage } from './layouts/motivational-speaker/pages/AboutPage.js';
107
+ export { ContactPage as MotivationalContactPage } from './layouts/motivational-speaker/pages/ContactPage.js';
108
108
  // Shared layout exports
109
- export { BaseStoreLayout } from './layouts/shared/components/BaseStoreLayout';
110
- export { GenericPageWrapper } from './layouts/shared/components/GenericPageWrapper';
111
- export { PromoBanner } from './layouts/shared/components/PromoBanner';
112
- export { StoreFooter } from './layouts/shared/components/StoreFooter';
113
- export { StoreHeader } from './layouts/shared/components/StoreHeader';
114
- export { TestimonialCard } from './layouts/shared/components/TestimonialCard';
115
- export { AccountPage } from './layouts/shared/pages/AccountPage';
116
- export { CartPage } from './layouts/shared/pages/CartPage';
117
- export { CheckoutPage } from './layouts/shared/pages/CheckoutPage';
118
- export { CheckoutButton } from './components/ui/checkout-button';
119
- export { requireCheckoutPayazaPublicKey, CHECKOUT_KEY_MISSING_MESSAGE, } from './lib/payaza-public-key';
120
- export { CookiePolicyPage } from './layouts/shared/pages/CookiePolicyPage';
121
- export { FeatureDisabledPage } from './layouts/shared/pages/FeatureDisabledPage';
122
- export { HelpCenterPage } from './layouts/shared/pages/HelpCenterPage';
123
- export { MaintenancePage } from './layouts/shared/pages/MaintenancePage';
124
- export { StoreOfflinePage } from './layouts/shared/pages/StoreOfflinePage';
125
- export { StoreMaintenanceScreen, } from './layouts/shared/pages/StoreMaintenanceScreen';
126
- export { PortfolioPage } from './layouts/shared/pages/PortfolioPage';
127
- export { PrivacyPolicyPage } from './layouts/shared/pages/PrivacyPolicyPage';
128
- export { ShippingReturnsPage } from './layouts/shared/pages/ShippingReturnsPage';
129
- export { SizeGuidePage } from './layouts/shared/pages/SizeGuidePage';
130
- export { StyleGuidePage } from './layouts/shared/pages/StyleGuidePage';
131
- export { TeamPage } from './layouts/shared/pages/TeamPage';
132
- export { TermsPage } from './layouts/shared/pages/TermsPage';
133
- export { TrackOrderPage } from './layouts/shared/pages/TrackOrderPage';
134
- export { WishlistPage } from './layouts/shared/pages/WishlistPage';
109
+ export { BaseStoreLayout } from './layouts/shared/components/BaseStoreLayout.js';
110
+ export { GenericPageWrapper } from './layouts/shared/components/GenericPageWrapper.js';
111
+ export { PromoBanner } from './layouts/shared/components/PromoBanner.js';
112
+ export { StoreFooter } from './layouts/shared/components/StoreFooter.js';
113
+ export { StoreHeader } from './layouts/shared/components/StoreHeader.js';
114
+ export { TestimonialCard } from './layouts/shared/components/TestimonialCard.js';
115
+ export { AccountPage } from './layouts/shared/pages/AccountPage.js';
116
+ export { CartPage } from './layouts/shared/pages/CartPage.js';
117
+ export { CheckoutPage } from './layouts/shared/pages/CheckoutPage.js';
118
+ export { CheckoutButton } from './components/ui/checkout-button.js';
119
+ export { requireCheckoutPayazaPublicKey, CHECKOUT_KEY_MISSING_MESSAGE, } from './lib/payaza-public-key.js';
120
+ export { CookiePolicyPage } from './layouts/shared/pages/CookiePolicyPage.js';
121
+ export { FeatureDisabledPage } from './layouts/shared/pages/FeatureDisabledPage.js';
122
+ export { HelpCenterPage } from './layouts/shared/pages/HelpCenterPage.js';
123
+ export { MaintenancePage } from './layouts/shared/pages/MaintenancePage.js';
124
+ export { StoreOfflinePage } from './layouts/shared/pages/StoreOfflinePage.js';
125
+ export { StoreMaintenanceScreen, } from './layouts/shared/pages/StoreMaintenanceScreen.js';
126
+ export { PortfolioPage } from './layouts/shared/pages/PortfolioPage.js';
127
+ export { PrivacyPolicyPage } from './layouts/shared/pages/PrivacyPolicyPage.js';
128
+ export { ShippingReturnsPage } from './layouts/shared/pages/ShippingReturnsPage.js';
129
+ export { SizeGuidePage } from './layouts/shared/pages/SizeGuidePage.js';
130
+ export { StyleGuidePage } from './layouts/shared/pages/StyleGuidePage.js';
131
+ export { TeamPage } from './layouts/shared/pages/TeamPage.js';
132
+ export { TermsPage } from './layouts/shared/pages/TermsPage.js';
133
+ export { TrackOrderPage } from './layouts/shared/pages/TrackOrderPage.js';
134
+ export { WishlistPage } from './layouts/shared/pages/WishlistPage.js';
135
135
  // JSON utilities
136
- export { getLayoutJSON, layoutJSONMap } from './json/json-map';
136
+ export { getLayoutJSON, layoutJSONMap } from './json/json-map.js';
137
137
  // Alignment Schema utilities (replaces old requirements JSON)
138
- export { getLayoutMetadata, layoutMetadataMap } from './editor/alignment-schemas/metadata';
139
- export { getAlignmentSchema, alignmentSchemasMap } from './editor/alignment-schemas';
138
+ export { getLayoutMetadata, layoutMetadataMap } from './editor/alignment-schemas/metadata.js';
139
+ export { getAlignmentSchema, alignmentSchemasMap } from './editor/alignment-schemas/index.js';
140
140
  // Context Providers and Hooks
141
- export { ToastProvider, useToast, ToastContext } from './components/ui/toast';
142
- export { AlertModalProvider, useAlertModal } from './components/ui/alert-modal';
143
- export { StoreProvider, useStore, StoreContext } from './lib/store-context';
144
- export { LoadingProvider, useLoading, LoadingContext } from './lib/loading-context';
145
- export { AuthProvider, useAuth, AuthContext } from './lib/auth-context';
146
- export { setAccessToken, getAccessToken } from './lib/api';
147
- export { resolveCartChargeCurrency } from './lib/cart-charge-currency';
148
- export * from './lib/rich-html';
149
- export { SafeRichHtml } from './components/rich-text/SafeRichHtml';
150
- export { CategoryDescription } from './components/rich-text/CategoryDescription';
151
- export { ProductDescription } from './components/rich-text/ProductDescription';
152
- export { RichTextExcerpt } from './components/rich-text/RichTextExcerpt';
141
+ export { ToastProvider, useToast, ToastContext } from './components/ui/toast.js';
142
+ export { AlertModalProvider, useAlertModal } from './components/ui/alert-modal.js';
143
+ export { StoreProvider, useStore, StoreContext } from './lib/store-context.js';
144
+ export { LoadingProvider, useLoading, LoadingContext } from './lib/loading-context.js';
145
+ export { AuthProvider, useAuth, AuthContext } from './lib/auth-context.js';
146
+ export { setAccessToken, getAccessToken } from './lib/api.js';
147
+ export { resolveCartChargeCurrency } from './lib/cart-charge-currency.js';
148
+ export * from './lib/rich-html.js';
149
+ export { SafeRichHtml } from './components/rich-text/SafeRichHtml.js';
150
+ export { CategoryDescription } from './components/rich-text/CategoryDescription.js';
151
+ export { ProductDescription } from './components/rich-text/ProductDescription.js';
152
+ export { RichTextExcerpt } from './components/rich-text/RichTextExcerpt.js';
153
153
  // Layout route utils (booking-agenda store root detection for preview, editor, template page, launched store)
154
- export { isBookingAgendaStoreRoot } from './lib/layout-route-utils';
154
+ export { isBookingAgendaStoreRoot } from './lib/layout-route-utils.js';
155
155
  // Editor catalog helpers (store-setup / PayazaFormEditor host)
156
- export { applyEditorCatalogOverlay, applyStoreCatalogFromApi, coalesceCatalog, syncFoodMenuItemsFromProducts, } from './lib/utils/editor-preview';
157
- export { resolveProductImageUrls, getPrimaryProductImageUrl, normalizeStoreProductForDisplay, normalizeStoreProductsForDisplay, EDITOR_PRODUCT_IMAGE_PLACEHOLDER, } from './lib/utils/product-images';
156
+ export { applyEditorCatalogOverlay, applyStoreCatalogFromApi, coalesceCatalog, syncFoodMenuItemsFromProducts, } from './lib/utils/editor-preview.js';
157
+ export { resolveProductImageUrls, getPrimaryProductImageUrl, normalizeStoreProductForDisplay, normalizeStoreProductsForDisplay, EDITOR_PRODUCT_IMAGE_PLACEHOLDER, } from './lib/utils/product-images.js';
158
158
  // Alignment Schemas
159
- export * from './lib/alignment-schemas';
159
+ export * from './lib/alignment-schemas.js';
160
160
  // Preview Components and Data
161
- export { LayoutPreview } from './preview';
162
- export { ShadowDOMWrapper } from './preview/ShadowDOMWrapper';
163
- export { PreviewRouter } from './preview/PreviewRouter';
164
- export { getFoodPreviewData, getClothingPreviewData, getBookingPreviewData, getFoodModernPreviewData, getClothingMinimalPreviewData, getBookingAgendaPreviewData, getElectronicsGridPreviewData, getElectronicsPreviewData, getMotivationalSpeakerPreviewData, getPreviewDataByLayout, getLayoutIdByStoreSlug, } from './lib/preview-data';
161
+ export { LayoutPreview } from './preview/index.js';
162
+ export { ShadowDOMWrapper } from './preview/ShadowDOMWrapper.js';
163
+ export { PreviewRouter } from './preview/PreviewRouter.js';
164
+ export { getFoodPreviewData, getClothingPreviewData, getBookingPreviewData, getFoodModernPreviewData, getClothingMinimalPreviewData, getBookingAgendaPreviewData, getElectronicsGridPreviewData, getElectronicsPreviewData, getMotivationalSpeakerPreviewData, getPreviewDataByLayout, getLayoutIdByStoreSlug, } from './lib/preview-data.js';
@@ -9,7 +9,7 @@ import Image from 'next/image';
9
9
  import { useStore } from '../../../lib/store-context.js';
10
10
  import { formatCurrency, filterActiveServices } from '../../../lib/utils/index.js';
11
11
  import { getBannerImage, getServiceImage, getTeamMemberImage, getTextContent, getFeaturesList, getLayoutText } from '../../../lib/utils/asset-helpers.js';
12
- import { TestimonialCard } from '../../shared/components/TestimonialCard';
12
+ import { TestimonialCard } from '../../shared/components/TestimonialCard.js';
13
13
  export function BookingHomePage({ storeConfig: initialConfig }) {
14
14
  const { store } = useStore();
15
15
  const storeConfig = store || initialConfig;
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import React from 'react';
4
- import { payazaInlineBindingProps } from '../../../preview/canvas/field-key';
4
+ import { payazaInlineBindingProps } from '../../../preview/canvas/field-key.js';
5
5
  function coalesceMultilineBreaks(text, fallback) {
6
6
  if (!text || text.includes('\n'))
7
7
  return text;
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import Image from 'next/image';
4
4
  import { Star } from 'lucide-react';
5
5
  import { cn } from '../../../lib/utils/index.js';
6
- import { encodePayazaFieldKey, payazaRatingBindingProps } from '../../../preview/canvas/field-key';
6
+ import { encodePayazaFieldKey, payazaRatingBindingProps } from '../../../preview/canvas/field-key.js';
7
7
  export function BookingTestimonialCard({ testimonial, index, isPreview, showRatings = true, }) {
8
8
  const payaza = (...segments) => isPreview ? encodePayazaFieldKey('testimonials', ['items', String(index), ...segments]) : undefined;
9
9
  const rating = Math.min(5, Math.max(1, Number(testimonial.rating) || 5));
@@ -1,5 +1,5 @@
1
- import { getDefaultFooterMainLinks, getDefaultFooterSupportLinks, getFooterPrimaryColumnTitle, } from '../../../lib/utils/footer-nav-defaults';
2
- import { mergeBookingAboutArrayItems } from './booking-about-defaults';
1
+ import { getDefaultFooterMainLinks, getDefaultFooterSupportLinks, getFooterPrimaryColumnTitle, } from '../../../lib/utils/footer-nav-defaults.js';
2
+ import { mergeBookingAboutArrayItems } from './booking-about-defaults.js';
3
3
  export const BOOKING_DEFAULT_FOOTER_MAIN_LINKS = [
4
4
  { id: 'f-m1', label: 'Services', href: '/services' },
5
5
  { id: 'f-m2', label: 'Book Appointment', href: '/book' },
@@ -1,9 +1,9 @@
1
1
  // BookEasy Standard (booking) layout — fully sandboxed exports
2
- export { BookingHomePage } from './components/BookingHomePage';
3
- export { BookingBookPage } from './pages/BookPage';
4
- export { ServicesPage as BookingServicesPage } from './pages/ServicesPage';
5
- export { ProductDetailPage as BookingProductDetailPage } from './pages/ProductDetailPage';
6
- export { CategoryPage as BookingCategoryPage } from './pages/CategoryPage';
7
- export { BookingCategoriesPage } from './pages/CategoriesPage';
8
- export { AboutPage as BookingAboutPage } from './pages/AboutPage';
9
- export { ContactPage as BookingContactPage } from './pages/ContactPage';
2
+ export { BookingHomePage } from './components/BookingHomePage.js';
3
+ export { BookingBookPage } from './pages/BookPage.js';
4
+ export { ServicesPage as BookingServicesPage } from './pages/ServicesPage.js';
5
+ export { ProductDetailPage as BookingProductDetailPage } from './pages/ProductDetailPage.js';
6
+ export { CategoryPage as BookingCategoryPage } from './pages/CategoryPage.js';
7
+ export { BookingCategoriesPage } from './pages/CategoriesPage.js';
8
+ export { AboutPage as BookingAboutPage } from './pages/AboutPage.js';
9
+ export { ContactPage as BookingContactPage } from './pages/ContactPage.js';
@@ -16,7 +16,7 @@ import { useToast } from '../../../components/ui/toast.js';
16
16
  import { useRouter, useSearchParams } from 'next/navigation';
17
17
  import { useAuth } from '../../../lib/auth-context.js';
18
18
  import { formatDateSafe } from '../../../utils/date.js';
19
- import { encodePayazaFieldKey } from '../../../preview/canvas/field-key';
19
+ import { encodePayazaFieldKey } from '../../../preview/canvas/field-key.js';
20
20
  import { getOrCreateIdempotencyKey } from '../../../lib/utils/idempotency-key.js';
21
21
  import { CHECKOUT_UNAVAILABLE_MESSAGE } from '../../../lib/checkout-availability.js';
22
22
  export function BookingBookPage({ storeConfig, serviceSlug }) {
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Breadcrumbs } from '../../../components/ui/breadcrumbs.js';
4
- import { payazaInlineBindingProps, encodePayazaFieldKey } from '../../../preview/canvas/field-key';
5
- import { CategoryMasonryGrid } from '../../../components/categories/category-masonry-grid';
4
+ import { payazaInlineBindingProps, encodePayazaFieldKey } from '../../../preview/canvas/field-key.js';
5
+ import { CategoryMasonryGrid } from '../../../components/categories/category-masonry-grid.js';
6
6
  import { useStore } from '../../../lib/store-context.js';
7
7
  import { useCatalogLoader } from '../../../hooks/use-catalog-loader.js';
8
8
  import { isEditorPreviewMode, resolveStoreCategoriesForDisplay } from '../../../lib/utils/index.js';
@@ -27,9 +27,9 @@ import { usePdpVariation } from '../../../hooks/use-pdp-variation.js';
27
27
  import { buildPdpBuyNowItem } from '../../../lib/pdp-cart-actions.js';
28
28
  import { assertVariationSelected } from '../../../lib/product-variation-utils.js';
29
29
  import { shippingService } from '../../../lib/services/shipping.service.js';
30
- import { ProductDeliveryInfoSection } from '../../../components/shipping/ProductDeliveryInfoSection';
31
- import { PdpVariationSelectors } from '../../shared/components/PdpVariationSelectors';
32
- import { formatDateSafe } from '../../../utils/date';
30
+ import { ProductDeliveryInfoSection } from '../../../components/shipping/ProductDeliveryInfoSection.js';
31
+ import { PdpVariationSelectors } from '../../shared/components/PdpVariationSelectors.js';
32
+ import { formatDateSafe } from '../../../utils/date.js';
33
33
  // Helper function to format date
34
34
  const formatDate = (dateString) => {
35
35
  return formatDateSafe(dateString, '—', { year: 'numeric', month: 'long', day: 'numeric' });
@@ -17,9 +17,9 @@ import { formatCurrency, filterActiveServices } from '../../../lib/utils/index.j
17
17
  import { getBannerImage, getServiceImage, getTeamMemberImage, getTextContent, getLayoutText, getThemeColor } from '../../../lib/utils/asset-helpers.js';
18
18
  import { formatDateSafe } from '../../../utils/date.js';
19
19
  import { isDemoStore, shouldUseAPI } from '../../../lib/utils/demo-detection.js';
20
- import { TestimonialCard } from '../../shared/components/TestimonialCard';
21
- import { BookingTestimonialsEmptyState } from '../../booking/components/BookingTestimonialsEmptyState';
22
- import { getPayazaSectionInlineStyle } from '../../../lib/payaza-section-styles';
20
+ import { TestimonialCard } from '../../shared/components/TestimonialCard.js';
21
+ import { BookingTestimonialsEmptyState } from '../../booking/components/BookingTestimonialsEmptyState.js';
22
+ import { getPayazaSectionInlineStyle } from '../../../lib/payaza-section-styles.js';
23
23
  import { showLayoutDecorativeBadges } from '../../../lib/layout-badges.js';
24
24
  import { getOrCreateIdempotencyKey } from '../../../lib/utils/idempotency-key.js';
25
25
  import { CHECKOUT_UNAVAILABLE_MESSAGE } from '../../../lib/checkout-availability.js';
@@ -1,9 +1,9 @@
1
1
  // BookEasy Agenda (booking-agenda) layout — fully sandboxed exports
2
- export { BookingHomePageAgenda } from './components/BookingHomePageAgenda';
3
- export { BookingAgendaBookPage } from './pages/BookPage';
4
- export { ServicesPage as BookingAgendaServicesPage } from './pages/ServicesPage';
5
- export { ProductDetailPage as BookingAgendaProductDetailPage } from './pages/ProductDetailPage';
6
- export { CategoryPage as BookingAgendaCategoryPage } from './pages/CategoryPage';
7
- export { BookingAgendaCategoriesPage } from './pages/CategoriesPage';
8
- export { AboutPage as BookingAgendaAboutPage } from './pages/AboutPage';
9
- export { ContactPage as BookingAgendaContactPage } from './pages/ContactPage';
2
+ export { BookingHomePageAgenda } from './components/BookingHomePageAgenda.js';
3
+ export { BookingAgendaBookPage } from './pages/BookPage.js';
4
+ export { ServicesPage as BookingAgendaServicesPage } from './pages/ServicesPage.js';
5
+ export { ProductDetailPage as BookingAgendaProductDetailPage } from './pages/ProductDetailPage.js';
6
+ export { CategoryPage as BookingAgendaCategoryPage } from './pages/CategoryPage.js';
7
+ export { BookingAgendaCategoriesPage } from './pages/CategoriesPage.js';
8
+ export { AboutPage as BookingAgendaAboutPage } from './pages/AboutPage.js';
9
+ export { ContactPage as BookingAgendaContactPage } from './pages/ContactPage.js';
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Breadcrumbs } from '../../../components/ui/breadcrumbs.js';
4
- import { CategoryMasonryGrid } from '../../../components/categories/category-masonry-grid';
4
+ import { CategoryMasonryGrid } from '../../../components/categories/category-masonry-grid.js';
5
5
  import { useStore } from '../../../lib/store-context.js';
6
6
  import { useCatalogLoader } from '../../../hooks/use-catalog-loader.js';
7
7
  import { isEditorPreviewMode, resolveStoreCategoriesForDisplay } from '../../../lib/utils/index.js';
@@ -27,9 +27,9 @@ import { usePdpVariation } from '../../../hooks/use-pdp-variation.js';
27
27
  import { buildPdpBuyNowItem } from '../../../lib/pdp-cart-actions.js';
28
28
  import { assertVariationSelected } from '../../../lib/product-variation-utils.js';
29
29
  import { shippingService } from '../../../lib/services/shipping.service.js';
30
- import { ProductDeliveryInfoSection } from '../../../components/shipping/ProductDeliveryInfoSection';
31
- import { PdpVariationSelectors } from '../../shared/components/PdpVariationSelectors';
32
- import { formatDateSafe } from '../../../utils/date';
30
+ import { ProductDeliveryInfoSection } from '../../../components/shipping/ProductDeliveryInfoSection.js';
31
+ import { PdpVariationSelectors } from '../../shared/components/PdpVariationSelectors.js';
32
+ import { formatDateSafe } from '../../../utils/date.js';
33
33
  // Helper function to format date
34
34
  const formatDate = (dateString) => {
35
35
  return formatDateSafe(dateString, '—', { year: 'numeric', month: 'long', day: 'numeric' });
@@ -1 +1 @@
1
- {"version":3,"file":"ClothingHomePage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing/components/ClothingHomePage.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAoBvD,UAAU,qBAAqB;IAC7B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAaD,wBAAgB,gBAAgB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,qBAAqB,+BA8yBrF"}
1
+ {"version":3,"file":"ClothingHomePage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing/components/ClothingHomePage.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAoBvD,UAAU,qBAAqB;IAC7B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAaD,wBAAgB,gBAAgB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,qBAAqB,+BA8yBrF"}
@@ -1,21 +1,22 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { hasValidCompareAtPrice } from '../../../utils/price-display.js';
3
4
  import { useFeaturedProducts } from '../../../hooks/use-featured-products.js';
4
- import { Button } from '../../../components/ui/button';
5
- import { ProductRating } from '../../../components/ui/product-rating';
5
+ import { Button } from '../../../components/ui/button.js';
6
+ import { ProductRating } from '../../../components/ui/product-rating.js';
6
7
  import { ShoppingCart, Heart, ArrowRight, ChevronLeft, ChevronRight } from 'lucide-react';
7
8
  import Link from 'next/link';
8
9
  import { useRouter } from 'next/navigation';
9
- import { ImageWithFallback } from '../../../components/ui/image-with-fallback';
10
+ import { ImageWithFallback } from '../../../components/ui/image-with-fallback.js';
10
11
  import { useState, useEffect } from 'react';
11
- import { useToast } from '../../../components/ui/toast';
12
- import { formatCurrency, filterActiveProducts } from '../../../lib/utils';
13
- import { getLayoutText, getBannerImage } from '../../../lib/utils/asset-helpers';
14
- import { toStoreHref } from '../../../lib/utils/url-helpers';
15
- import { shouldUseAPI } from '../../../lib/utils/demo-detection';
16
- import { useStore } from '../../../lib/store-context';
17
- import { SafeRichHtml } from '../../../components/rich-text/SafeRichHtml';
18
- import { useClothingPayaza } from '../payaza-bindings';
12
+ import { useToast } from '../../../components/ui/toast.js';
13
+ import { formatCurrency, filterActiveProducts } from '../../../lib/utils/index.js';
14
+ import { getLayoutText, getBannerImage } from '../../../lib/utils/asset-helpers.js';
15
+ import { toStoreHref } from '../../../lib/utils/url-helpers.js';
16
+ import { shouldUseAPI } from '../../../lib/utils/demo-detection.js';
17
+ import { useStore } from '../../../lib/store-context.js';
18
+ import { SafeRichHtml } from '../../../components/rich-text/SafeRichHtml.js';
19
+ import { useClothingPayaza } from '../payaza-bindings.js';
19
20
  export function ClothingHomePage({ storeConfig: initialConfig }) {
20
21
  // Use the store from context which is updated in real-time by the editor
21
22
  const { store, addToCart, toggleWishlist, isInWishlist, isWishlistLoading } = useStore();
@@ -363,6 +364,6 @@ export function ClothingHomePage({ storeConfig: initialConfig }) {
363
364
  addToast('Failed to add to cart', 'error');
364
365
  }
365
366
  };
366
- return (_jsxs("div", { className: "group", children: [_jsxs("div", { className: "relative aspect-[3/4] bg-gray-50 rounded-xl overflow-hidden mb-4", children: [_jsxs(Link, { href: productHref, className: "block w-full h-full", 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 pointer-events-none", skeletonAspectRatio: "3/4", lazy: true }))] }), _jsxs("div", { className: "hidden lg:flex absolute bottom-4 right-4 z-20 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, { type: "button", variant: "secondary", size: "icon", onClick: handleWishlistClick, disabled: isWishlistLoading, className: "bg-white hover:bg-black hover:text-white shadow-md rounded-full transition-colors", "aria-label": inWishlist ? 'Remove from wishlist' : 'Add to wishlist', children: _jsx(Heart, { className: `h-4 w-4 ${inWishlist ? 'fill-current text-red-500' : ''}` }) })), _jsx(Button, { type: "button", variant: "secondary", size: "icon", onClick: handleAddToCartClick, className: "bg-white hover:bg-black hover:text-white shadow-md rounded-full transition-colors", "aria-label": "Add to cart", children: _jsx(ShoppingCart, { className: "h-4 w-4" }) })] }), _jsx(Button, { type: "button", variant: "secondary", size: "icon", onClick: handleAddToCartClick, className: "lg:hidden absolute bottom-3 right-3 z-20 bg-white text-black h-10 w-10 rounded-full shadow-lg active:scale-95 transition-transform", "aria-label": "Add to cart", children: _jsx(ShoppingCart, { className: "h-4 w-4" }) }), product.compareAtPrice != null && product.compareAtPrice > product.price && (_jsx("span", { className: "absolute top-3 left-3 z-10 bg-black text-white text-xs font-bold px-3 py-1 rounded-full uppercase tracking-wide", children: getLayoutText(storeConfig, 'common.sale', 'Sale') }))] }), _jsxs(Link, { href: productHref, className: "block 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));
367
+ return (_jsxs("div", { className: "group", children: [_jsxs("div", { className: "relative aspect-[3/4] bg-gray-50 rounded-xl overflow-hidden mb-4", children: [_jsxs(Link, { href: productHref, className: "block w-full h-full", 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 pointer-events-none", skeletonAspectRatio: "3/4", lazy: true }))] }), _jsxs("div", { className: "hidden lg:flex absolute bottom-4 right-4 z-20 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, { type: "button", variant: "secondary", size: "icon", onClick: handleWishlistClick, disabled: isWishlistLoading, className: "bg-white hover:bg-black hover:text-white shadow-md rounded-full transition-colors", "aria-label": inWishlist ? 'Remove from wishlist' : 'Add to wishlist', children: _jsx(Heart, { className: `h-4 w-4 ${inWishlist ? 'fill-current text-red-500' : ''}` }) })), _jsx(Button, { type: "button", variant: "secondary", size: "icon", onClick: handleAddToCartClick, className: "bg-white hover:bg-black hover:text-white shadow-md rounded-full transition-colors", "aria-label": "Add to cart", children: _jsx(ShoppingCart, { className: "h-4 w-4" }) })] }), _jsx(Button, { type: "button", variant: "secondary", size: "icon", onClick: handleAddToCartClick, className: "lg:hidden absolute bottom-3 right-3 z-20 bg-white text-black h-10 w-10 rounded-full shadow-lg active:scale-95 transition-transform", "aria-label": "Add to cart", children: _jsx(ShoppingCart, { className: "h-4 w-4" }) }), hasValidCompareAtPrice(product.price, product.compareAtPrice) && (_jsx("span", { className: "absolute top-3 left-3 z-10 bg-black text-white text-xs font-bold px-3 py-1 rounded-full uppercase tracking-wide", children: getLayoutText(storeConfig, 'common.sale', 'Sale') }))] }), _jsxs(Link, { href: productHref, className: "block 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') }), hasValidCompareAtPrice(product.price, 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));
367
368
  }) }), 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') }) }) }))] }) }))] }));
368
369
  }
@@ -1,8 +1,8 @@
1
1
  // Fashion Hub (clothing) layout — fully sandboxed exports (see ClothingLayout + styles/clothing.css)
2
- export { ClothingHomePage } from './components/ClothingHomePage';
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
- export { ClothingCategoriesPage } from './pages/CategoriesPage';
7
- export { AboutPage as ClothingAboutPage } from './pages/AboutPage';
8
- export { ContactPage as ClothingContactPage } from './pages/ContactPage';
2
+ export { ClothingHomePage } from './components/ClothingHomePage.js';
3
+ export { ProductsPage as ClothingProductsPage } from './pages/ProductsPage.js';
4
+ export { ProductDetailPage as ClothingProductDetailPage } from './pages/ProductDetailPage.js';
5
+ export { CategoryPage as ClothingCategoryPage } from './pages/CategoryPage.js';
6
+ export { ClothingCategoriesPage } from './pages/CategoriesPage.js';
7
+ export { AboutPage as ClothingAboutPage } from './pages/AboutPage.js';
8
+ export { ContactPage as ClothingContactPage } from './pages/ContactPage.js';