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.
- package/dist/components/auth/LoginForm.d.ts +1 -1
- package/dist/components/auth/LoginForm.d.ts.map +1 -1
- package/dist/components/auth/LoginForm.js +1 -1
- package/dist/components/auth/LoginSheet.d.ts +2 -2
- package/dist/components/auth/LoginSheet.d.ts.map +1 -1
- package/dist/components/auth/LoginSheet.js +1 -1
- package/dist/components/auth/login-form-core.d.ts +2 -2
- package/dist/components/auth/login-form-core.d.ts.map +1 -1
- package/dist/components/auth/login-form-core.js +1 -1
- package/dist/components/auth/login-sheet-header.d.ts +2 -2
- package/dist/components/auth/login-sheet-header.d.ts.map +1 -1
- package/dist/components/auth/login-sheet-header.js +3 -3
- package/dist/components/auth/login-sheet-registry.d.ts +2 -2
- package/dist/components/auth/login-sheet-registry.d.ts.map +1 -1
- package/dist/components/auth/login-sheet-theme.types.d.ts +1 -1
- package/dist/components/auth/login-sheet-themes/index.d.ts +1 -1
- package/dist/components/auth/login-sheet-themes/index.d.ts.map +1 -1
- package/dist/components/auth/login-sheet-themes/index.js +0 -2
- package/dist/components/auth/login-sheets/StoreLoginSheetShell.d.ts +2 -2
- package/dist/components/auth/login-sheets/StoreLoginSheetShell.d.ts.map +1 -1
- package/dist/components/auth/login-sheets/StoreLoginSheetShell.js +2 -2
- package/dist/components/auth/use-login-submit.js +3 -3
- package/dist/components/cart/InventoryHoldCountdown.d.ts +1 -1
- package/dist/components/cart/InventoryHoldCountdown.d.ts.map +1 -1
- package/dist/components/cart/InventoryHoldCountdown.js +2 -2
- package/dist/components/categories/category-masonry-grid.d.ts +1 -1
- package/dist/components/categories/category-masonry-grid.d.ts.map +1 -1
- package/dist/components/checkout/CheckoutFeeLines.d.ts +2 -2
- package/dist/components/checkout/CheckoutFeeLines.d.ts.map +1 -1
- package/dist/components/checkout/CheckoutFeeLines.js +1 -1
- package/dist/components/checkout/ShippingOptionsPanel.d.ts +2 -2
- package/dist/components/checkout/ShippingOptionsPanel.d.ts.map +1 -1
- package/dist/components/checkout/ShippingOptionsPanel.js +3 -3
- package/dist/components/learning/CertificateTemplates.d.ts +2 -2
- package/dist/components/learning/CertificateTemplates.d.ts.map +1 -1
- package/dist/components/learning/CertificateTemplates.js +2 -2
- package/dist/components/learning/CertificateViewer.d.ts +1 -1
- package/dist/components/learning/CertificateViewer.d.ts.map +1 -1
- package/dist/components/learning/CertificateViewer.js +2 -2
- package/dist/components/learning/MentorshipProgress.d.ts +1 -1
- package/dist/components/learning/MentorshipProgress.d.ts.map +1 -1
- package/dist/components/learning/MentorshipProgress.js +3 -3
- package/dist/components/product/ProductVariationSelectors.d.ts +2 -2
- package/dist/components/product/ProductVariationSelectors.d.ts.map +1 -1
- package/dist/components/product/ProductVariationSelectors.js +1 -1
- package/dist/components/rich-text/CategoryDescription.d.ts +2 -1
- package/dist/components/rich-text/CategoryDescription.d.ts.map +1 -1
- package/dist/components/rich-text/ProductDescription.d.ts +2 -1
- package/dist/components/rich-text/ProductDescription.d.ts.map +1 -1
- package/dist/components/shipping/MerchantHandledDeliveryNotice.d.ts +1 -1
- package/dist/components/shipping/MerchantHandledDeliveryNotice.d.ts.map +1 -1
- package/dist/components/shipping/ProductDeliveryInfoSection.d.ts +4 -4
- package/dist/components/shipping/ProductDeliveryInfoSection.d.ts.map +1 -1
- package/dist/components/shipping/ProductDeliveryInfoSection.js +2 -2
- package/dist/components/shipping/ShippingQuoteAddressForm.d.ts +2 -2
- package/dist/components/shipping/ShippingQuoteAddressForm.d.ts.map +1 -1
- package/dist/components/shipping/ShippingQuoteAddressForm.js +3 -3
- package/dist/components/ui/address-selector.d.ts +2 -2
- package/dist/components/ui/address-selector.d.ts.map +1 -1
- package/dist/components/ui/alert-modal.d.ts +1 -1
- package/dist/components/ui/alert-modal.d.ts.map +1 -1
- package/dist/components/ui/alert-modal.js +1 -1
- package/dist/components/ui/avatar-image.d.ts +1 -1
- package/dist/components/ui/avatar-image.d.ts.map +1 -1
- package/dist/components/ui/avatar-image.js +1 -1
- package/dist/components/ui/background-patterns.d.ts +4 -4
- package/dist/components/ui/background-patterns.d.ts.map +1 -1
- package/dist/components/ui/badge.d.ts +1 -1
- package/dist/components/ui/badge.d.ts.map +1 -1
- package/dist/components/ui/badge.js +1 -1
- package/dist/components/ui/breadcrumbs.d.ts +2 -1
- package/dist/components/ui/breadcrumbs.d.ts.map +1 -1
- package/dist/components/ui/breadcrumbs.js +1 -1
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +1 -1
- package/dist/components/ui/card.d.ts +7 -7
- package/dist/components/ui/card.d.ts.map +1 -1
- package/dist/components/ui/card.js +1 -1
- package/dist/components/ui/category-tree.d.ts +2 -2
- package/dist/components/ui/category-tree.d.ts.map +1 -1
- package/dist/components/ui/category-tree.js +2 -2
- package/dist/components/ui/checkout-button.d.ts +2 -2
- package/dist/components/ui/checkout-button.d.ts.map +1 -1
- package/dist/components/ui/checkout-button.js +4 -4
- package/dist/components/ui/guest-checkout-modal.d.ts +2 -1
- package/dist/components/ui/guest-checkout-modal.d.ts.map +1 -1
- package/dist/components/ui/guest-checkout-modal.js +1 -1
- package/dist/components/ui/image-skeleton.d.ts +1 -1
- package/dist/components/ui/image-skeleton.d.ts.map +1 -1
- package/dist/components/ui/image-skeleton.js +1 -1
- package/dist/components/ui/image-with-fallback.d.ts +1 -1
- package/dist/components/ui/image-with-fallback.d.ts.map +1 -1
- package/dist/components/ui/image-with-fallback.js +1 -1
- package/dist/components/ui/input.js +1 -1
- package/dist/components/ui/limited-time-offer-badge.d.ts +1 -1
- package/dist/components/ui/limited-time-offer-badge.d.ts.map +1 -1
- package/dist/components/ui/limited-time-offer-badge.js +2 -2
- package/dist/components/ui/loading-skeleton-wrapper.d.ts +1 -1
- package/dist/components/ui/loading-skeleton-wrapper.d.ts.map +1 -1
- package/dist/components/ui/modal.d.ts +1 -1
- package/dist/components/ui/modal.d.ts.map +1 -1
- package/dist/components/ui/modal.js +1 -1
- package/dist/components/ui/otp-input.d.ts +2 -1
- package/dist/components/ui/otp-input.d.ts.map +1 -1
- package/dist/components/ui/otp-input.js +1 -1
- package/dist/components/ui/out-of-stock-overlay.d.ts +1 -1
- package/dist/components/ui/out-of-stock-overlay.d.ts.map +1 -1
- package/dist/components/ui/out-of-stock-overlay.js +1 -1
- package/dist/components/ui/page-animate-wrapper.d.ts +1 -1
- package/dist/components/ui/page-animate-wrapper.d.ts.map +1 -1
- package/dist/components/ui/page-animate-wrapper.js +2 -2
- package/dist/components/ui/page-content-loader.d.ts +1 -1
- package/dist/components/ui/page-content-loader.d.ts.map +1 -1
- package/dist/components/ui/page-content-loader.js +1 -1
- package/dist/components/ui/page-loader.d.ts +3 -3
- package/dist/components/ui/page-loader.d.ts.map +1 -1
- package/dist/components/ui/page-loader.js +1 -1
- package/dist/components/ui/product-card.d.ts +2 -2
- package/dist/components/ui/product-card.d.ts.map +1 -1
- package/dist/components/ui/product-card.js +17 -17
- package/dist/components/ui/product-rating.d.ts +1 -1
- package/dist/components/ui/product-rating.d.ts.map +1 -1
- package/dist/components/ui/product-rating.js +1 -1
- package/dist/components/ui/product-stock-badge.d.ts +2 -2
- package/dist/components/ui/product-stock-badge.d.ts.map +1 -1
- package/dist/components/ui/product-stock-badge.js +2 -2
- package/dist/components/ui/review-form.d.ts +2 -2
- package/dist/components/ui/review-form.d.ts.map +1 -1
- package/dist/components/ui/review-form.js +2 -2
- package/dist/components/ui/route-skeleton-loader.d.ts +1 -1
- package/dist/components/ui/route-skeleton-loader.d.ts.map +1 -1
- package/dist/components/ui/route-skeleton-loader.js +7 -2
- package/dist/components/ui/sheet.d.ts +1 -1
- package/dist/components/ui/sheet.d.ts.map +1 -1
- package/dist/components/ui/sheet.js +1 -1
- package/dist/components/ui/skeleton.d.ts +1 -1
- package/dist/components/ui/skeleton.d.ts.map +1 -1
- package/dist/components/ui/skeleton.js +1 -1
- package/dist/components/ui/skeletons/category-grid-skeleton.d.ts +1 -1
- package/dist/components/ui/skeletons/category-grid-skeleton.d.ts.map +1 -1
- package/dist/components/ui/skeletons/checkout-skeleton.d.ts +1 -1
- package/dist/components/ui/skeletons/checkout-skeleton.d.ts.map +1 -1
- package/dist/components/ui/skeletons/page-skeleton.d.ts +1 -1
- package/dist/components/ui/skeletons/page-skeleton.d.ts.map +1 -1
- package/dist/components/ui/skeletons/product-card-skeleton.d.ts +1 -1
- package/dist/components/ui/skeletons/product-card-skeleton.d.ts.map +1 -1
- package/dist/components/ui/skeletons/product-detail-skeleton.d.ts +1 -1
- package/dist/components/ui/skeletons/product-detail-skeleton.d.ts.map +1 -1
- package/dist/components/ui/skeletons/product-grid-skeleton.d.ts +1 -1
- package/dist/components/ui/skeletons/product-grid-skeleton.d.ts.map +1 -1
- package/dist/components/ui/store-logos.d.ts +13 -13
- package/dist/components/ui/store-logos.d.ts.map +1 -1
- package/dist/components/ui/store-logos.js +2 -2
- package/dist/components/ui/toast.d.ts +1 -1
- package/dist/components/ui/toast.d.ts.map +1 -1
- package/dist/components/ui/toast.js +1 -1
- package/dist/components/ui/video-player.d.ts +1 -1
- package/dist/components/ui/video-player.d.ts.map +1 -1
- package/dist/components/ui/video-player.js +2 -2
- package/dist/editor/alignment-schemas/booking-footer-section.d.ts.map +1 -1
- package/dist/editor/alignment-schemas/booking-footer-section.js +0 -1
- package/dist/editor/alignment-schemas/clothing.d.ts.map +1 -1
- package/dist/editor/alignment-schemas/clothing.js +0 -1
- package/dist/editor/alignment-schemas/food.d.ts.map +1 -1
- package/dist/editor/alignment-schemas/food.js +0 -1
- package/dist/editor/payaza-form/ActiveArrayFocusContext.d.ts +1 -1
- package/dist/editor/payaza-form/ActiveArrayFocusContext.d.ts.map +1 -1
- package/dist/editor/payaza-form/EditorCanvasPreview.d.ts +1 -1
- package/dist/editor/payaza-form/EditorCanvasPreview.d.ts.map +1 -1
- package/dist/editor/payaza-form/EditorCanvasPreview.js +1 -1
- package/dist/editor/payaza-form/PayazaFormEditor.d.ts.map +1 -1
- package/dist/editor/payaza-form/PayazaFormEditor.js +4 -2
- package/dist/editor/payaza-form/SliderArrayEditor.js +1 -1
- package/dist/editor/payaza-form/components/BlocksField.js +1 -1
- package/dist/editor/payaza-form/components/SectionField.js +1 -1
- package/dist/editor/payaza-form/components/StarRatingField.js +1 -1
- package/dist/editor/payaza-form/data-transformer.d.ts.map +1 -1
- package/dist/editor/payaza-form/data-transformer.js +8 -1
- package/dist/editor/payaza-form/examples/custom-widgets.example.d.ts +2 -1
- package/dist/editor/payaza-form/examples/custom-widgets.example.d.ts.map +1 -1
- package/dist/editor/shared/BlockOutlineTree.d.ts +2 -1
- package/dist/editor/shared/BlockOutlineTree.d.ts.map +1 -1
- package/dist/editor/shared/BlockOutlineTree.js +1 -1
- package/dist/editor/shared/EditorHeader.js +1 -1
- package/dist/editor/shared/EditorNavigator.js +1 -1
- package/dist/editor/shared/InlineCanvasPreview.js +1 -1
- package/dist/editor/shared/useEditorChromeMetrics.js +2 -1
- package/dist/hooks/use-analytics.d.ts +1 -1
- package/dist/hooks/use-analytics.js +3 -3
- package/dist/hooks/use-api.js +1 -1
- package/dist/hooks/use-cart-api.d.ts +1 -1
- package/dist/hooks/use-cart-api.js +3 -3
- package/dist/hooks/use-catalog-loader.d.ts +1 -1
- package/dist/hooks/use-catalog-loader.js +6 -6
- package/dist/hooks/use-catalog-price-range.d.ts +2 -2
- package/dist/hooks/use-catalog-price-range.js +1 -1
- package/dist/hooks/use-category-products.d.ts +6 -2
- package/dist/hooks/use-category-products.d.ts.map +1 -1
- package/dist/hooks/use-category-products.js +10 -7
- package/dist/hooks/use-checkout-fees.d.ts +4 -3
- package/dist/hooks/use-checkout-fees.d.ts.map +1 -1
- package/dist/hooks/use-checkout-fees.js +1 -1
- package/dist/hooks/use-content-ready.js +1 -1
- package/dist/hooks/use-featured-products.d.ts +1 -1
- package/dist/hooks/use-featured-products.js +2 -2
- package/dist/hooks/use-filtered-products-fetch.d.ts +12 -0
- package/dist/hooks/use-filtered-products-fetch.d.ts.map +1 -0
- package/dist/hooks/use-filtered-products-fetch.js +58 -0
- package/dist/hooks/use-multi-store-checkout-fees.d.ts +4 -3
- package/dist/hooks/use-multi-store-checkout-fees.d.ts.map +1 -1
- package/dist/hooks/use-multi-store-checkout-fees.js +1 -1
- package/dist/hooks/use-navigation-loading.js +1 -1
- package/dist/hooks/use-payaza-checkout.d.ts +1 -1
- package/dist/hooks/use-payaza-checkout.js +2 -2
- package/dist/hooks/use-product-brands.js +1 -1
- package/dist/hooks/use-product-by-slug.d.ts +1 -1
- package/dist/hooks/use-product-by-slug.js +2 -2
- package/dist/hooks/use-product-variation-selection.d.ts +7 -1
- package/dist/hooks/use-product-variation-selection.d.ts.map +1 -1
- package/dist/hooks/use-product-variation-selection.js +1 -1
- package/dist/hooks/use-products-api.d.ts +2 -2
- package/dist/hooks/use-products-api.js +3 -3
- package/dist/hooks/use-shipping-quote.d.ts +2 -2
- package/dist/hooks/use-shipping-quote.js +2 -2
- package/dist/hooks/use-store-api.d.ts +2 -2
- package/dist/hooks/use-store-api.js +4 -4
- package/dist/index.d.ts +15 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -6
- package/dist/layouts/booking/components/BookingHomePage.d.ts +2 -2
- package/dist/layouts/booking/components/BookingHomePage.d.ts.map +1 -1
- package/dist/layouts/booking/components/BookingHomePage.js +7 -5
- package/dist/layouts/booking/components/BookingMultilineHeading.d.ts +2 -1
- package/dist/layouts/booking/components/BookingMultilineHeading.d.ts.map +1 -1
- package/dist/layouts/booking/components/BookingTestimonialCard.d.ts +3 -2
- package/dist/layouts/booking/components/BookingTestimonialCard.d.ts.map +1 -1
- package/dist/layouts/booking/components/BookingTestimonialCard.js +1 -1
- package/dist/layouts/booking/components/BookingTestimonialsEmptyState.d.ts +2 -1
- package/dist/layouts/booking/components/BookingTestimonialsEmptyState.d.ts.map +1 -1
- package/dist/layouts/booking/components/BookingTestimonialsEmptyState.js +1 -1
- package/dist/layouts/booking/components/booking-footer-defaults.d.ts +1 -1
- package/dist/layouts/booking/components/booking-testimonial-defaults.d.ts +1 -1
- package/dist/layouts/booking/index.d.ts +5 -5
- package/dist/layouts/booking/index.d.ts.map +1 -1
- package/dist/layouts/booking/index.js +5 -5
- package/dist/layouts/booking/pages/AboutPage.d.ts +2 -2
- package/dist/layouts/booking/pages/AboutPage.d.ts.map +1 -1
- package/dist/layouts/booking/pages/AboutPage.js +6 -4
- package/dist/layouts/booking/pages/BookPage.d.ts +2 -2
- package/dist/layouts/booking/pages/BookPage.d.ts.map +1 -1
- package/dist/layouts/booking/pages/BookPage.js +14 -14
- package/dist/layouts/booking/pages/CategoriesPage.d.ts +2 -2
- package/dist/layouts/booking/pages/CategoriesPage.d.ts.map +1 -1
- package/dist/layouts/booking/pages/CategoriesPage.js +4 -4
- package/dist/layouts/booking/pages/CategoryPage.d.ts +2 -2
- package/dist/layouts/booking/pages/CategoryPage.d.ts.map +1 -1
- package/dist/layouts/booking/pages/CategoryPage.js +9 -7
- package/dist/layouts/booking/pages/ContactPage.d.ts +2 -2
- package/dist/layouts/booking/pages/ContactPage.d.ts.map +1 -1
- package/dist/layouts/booking/pages/ContactPage.js +3 -3
- package/dist/layouts/booking/pages/ProductDetailPage.d.ts +2 -2
- package/dist/layouts/booking/pages/ProductDetailPage.d.ts.map +1 -1
- package/dist/layouts/booking/pages/ProductDetailPage.js +25 -23
- package/dist/layouts/booking/pages/ServicesPage.d.ts +2 -2
- package/dist/layouts/booking/pages/ServicesPage.d.ts.map +1 -1
- package/dist/layouts/booking/pages/ServicesPage.js +7 -5
- package/dist/layouts/booking-agenda/components/BookingHomePageAgenda.d.ts +2 -2
- package/dist/layouts/booking-agenda/components/BookingHomePageAgenda.d.ts.map +1 -1
- package/dist/layouts/booking-agenda/components/BookingHomePageAgenda.js +17 -17
- package/dist/layouts/booking-agenda/index.d.ts +5 -5
- package/dist/layouts/booking-agenda/index.d.ts.map +1 -1
- package/dist/layouts/booking-agenda/index.js +5 -5
- package/dist/layouts/booking-agenda/pages/AboutPage.d.ts +2 -2
- package/dist/layouts/booking-agenda/pages/AboutPage.d.ts.map +1 -1
- package/dist/layouts/booking-agenda/pages/AboutPage.js +6 -4
- package/dist/layouts/booking-agenda/pages/BookPage.d.ts +2 -2
- package/dist/layouts/booking-agenda/pages/BookPage.d.ts.map +1 -1
- package/dist/layouts/booking-agenda/pages/BookPage.js +14 -14
- package/dist/layouts/booking-agenda/pages/CategoriesPage.d.ts +2 -2
- package/dist/layouts/booking-agenda/pages/CategoriesPage.d.ts.map +1 -1
- package/dist/layouts/booking-agenda/pages/CategoriesPage.js +4 -4
- package/dist/layouts/booking-agenda/pages/CategoryPage.d.ts +2 -2
- package/dist/layouts/booking-agenda/pages/CategoryPage.d.ts.map +1 -1
- package/dist/layouts/booking-agenda/pages/CategoryPage.js +9 -7
- package/dist/layouts/booking-agenda/pages/ContactPage.d.ts +2 -2
- package/dist/layouts/booking-agenda/pages/ContactPage.d.ts.map +1 -1
- package/dist/layouts/booking-agenda/pages/ContactPage.js +3 -3
- package/dist/layouts/booking-agenda/pages/ProductDetailPage.d.ts +2 -2
- package/dist/layouts/booking-agenda/pages/ProductDetailPage.d.ts.map +1 -1
- package/dist/layouts/booking-agenda/pages/ProductDetailPage.js +25 -23
- package/dist/layouts/booking-agenda/pages/ServicesPage.d.ts +2 -2
- package/dist/layouts/booking-agenda/pages/ServicesPage.d.ts.map +1 -1
- package/dist/layouts/booking-agenda/pages/ServicesPage.js +6 -4
- package/dist/layouts/clothing/components/ClothingHomePage.d.ts +1 -1
- package/dist/layouts/clothing/components/ClothingHomePage.d.ts.map +1 -1
- package/dist/layouts/clothing/components/ClothingHomePage.js +7 -6
- package/dist/layouts/clothing/index.d.ts +5 -5
- package/dist/layouts/clothing/index.d.ts.map +1 -1
- package/dist/layouts/clothing/index.js +5 -5
- package/dist/layouts/clothing/pages/AboutPage.d.ts +1 -1
- package/dist/layouts/clothing/pages/AboutPage.d.ts.map +1 -1
- package/dist/layouts/clothing/pages/AboutPage.js +2 -1
- package/dist/layouts/clothing/pages/CategoriesPage.d.ts +1 -1
- package/dist/layouts/clothing/pages/CategoriesPage.d.ts.map +1 -1
- package/dist/layouts/clothing/pages/CategoriesPage.js +3 -2
- package/dist/layouts/clothing/pages/CategoryPage.d.ts +3 -1
- package/dist/layouts/clothing/pages/CategoryPage.d.ts.map +1 -1
- package/dist/layouts/clothing/pages/CategoryPage.js +5 -4
- package/dist/layouts/clothing/pages/ContactPage.d.ts +1 -1
- package/dist/layouts/clothing/pages/ContactPage.d.ts.map +1 -1
- package/dist/layouts/clothing/pages/ProductDetailPage.d.ts +1 -1
- package/dist/layouts/clothing/pages/ProductDetailPage.d.ts.map +1 -1
- package/dist/layouts/clothing/pages/ProductDetailPage.js +6 -5
- package/dist/layouts/clothing/pages/ProductsPage.d.ts +1 -1
- package/dist/layouts/clothing/pages/ProductsPage.d.ts.map +1 -1
- package/dist/layouts/clothing/pages/ProductsPage.js +57 -64
- package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.d.ts +1 -1
- package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.d.ts.map +1 -1
- package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.js +6 -5
- package/dist/layouts/clothing-minimal/components/clothing-minimal-block-render.d.ts +6 -5
- package/dist/layouts/clothing-minimal/components/clothing-minimal-block-render.d.ts.map +1 -1
- package/dist/layouts/clothing-minimal/index.d.ts +5 -5
- package/dist/layouts/clothing-minimal/index.d.ts.map +1 -1
- package/dist/layouts/clothing-minimal/index.js +5 -5
- package/dist/layouts/clothing-minimal/pages/AboutPage.d.ts +1 -1
- package/dist/layouts/clothing-minimal/pages/AboutPage.d.ts.map +1 -1
- package/dist/layouts/clothing-minimal/pages/AboutPage.js +2 -1
- package/dist/layouts/clothing-minimal/pages/CategoriesPage.d.ts +1 -1
- package/dist/layouts/clothing-minimal/pages/CategoriesPage.d.ts.map +1 -1
- package/dist/layouts/clothing-minimal/pages/CategoriesPage.js +3 -2
- package/dist/layouts/clothing-minimal/pages/CategoryPage.d.ts +3 -1
- package/dist/layouts/clothing-minimal/pages/CategoryPage.d.ts.map +1 -1
- package/dist/layouts/clothing-minimal/pages/CategoryPage.js +5 -4
- package/dist/layouts/clothing-minimal/pages/ContactPage.d.ts +1 -1
- package/dist/layouts/clothing-minimal/pages/ContactPage.d.ts.map +1 -1
- package/dist/layouts/clothing-minimal/pages/ProductDetailPage.d.ts +1 -1
- package/dist/layouts/clothing-minimal/pages/ProductDetailPage.d.ts.map +1 -1
- package/dist/layouts/clothing-minimal/pages/ProductDetailPage.js +5 -4
- package/dist/layouts/clothing-minimal/pages/ProductsPage.d.ts +1 -1
- package/dist/layouts/clothing-minimal/pages/ProductsPage.d.ts.map +1 -1
- package/dist/layouts/clothing-minimal/pages/ProductsPage.js +57 -64
- package/dist/layouts/electronics/components/ElectronicsCategoriesPage.d.ts +2 -2
- package/dist/layouts/electronics/components/ElectronicsCategoriesPage.d.ts.map +1 -1
- package/dist/layouts/electronics/components/ElectronicsCategoriesPage.js +4 -4
- package/dist/layouts/electronics/components/ElectronicsGridProductCard.d.ts +2 -2
- package/dist/layouts/electronics/components/ElectronicsGridProductCard.d.ts.map +1 -1
- package/dist/layouts/electronics/components/ElectronicsGridProductCard.js +14 -14
- package/dist/layouts/electronics/components/ElectronicsHomePage.d.ts +2 -2
- package/dist/layouts/electronics/components/ElectronicsHomePage.d.ts.map +1 -1
- package/dist/layouts/electronics/components/ElectronicsHomePage.js +10 -9
- package/dist/layouts/electronics/components/ElectronicsPageWrapper.d.ts +2 -2
- package/dist/layouts/electronics/components/ElectronicsPageWrapper.d.ts.map +1 -1
- package/dist/layouts/electronics/components/ElectronicsPageWrapper.js +2 -2
- package/dist/layouts/electronics/components/ElectronicsProductsPage.d.ts +2 -2
- package/dist/layouts/electronics/components/ElectronicsProductsPage.d.ts.map +1 -1
- package/dist/layouts/electronics/components/ElectronicsProductsPage.js +56 -47
- package/dist/layouts/electronics/components/ElectronicsStoreFooter.d.ts +2 -2
- package/dist/layouts/electronics/components/ElectronicsStoreFooter.d.ts.map +1 -1
- package/dist/layouts/electronics/components/ElectronicsStoreFooter.js +4 -3
- package/dist/layouts/electronics/components/ElectronicsStoreHeader.d.ts +2 -2
- package/dist/layouts/electronics/components/ElectronicsStoreHeader.d.ts.map +1 -1
- package/dist/layouts/electronics/components/ElectronicsStoreHeader.js +6 -6
- package/dist/layouts/electronics/index.d.ts +5 -5
- package/dist/layouts/electronics/index.d.ts.map +1 -1
- package/dist/layouts/electronics/index.js +5 -5
- package/dist/layouts/electronics/pages/AboutPage.d.ts +2 -2
- package/dist/layouts/electronics/pages/AboutPage.d.ts.map +1 -1
- package/dist/layouts/electronics/pages/AboutPage.js +6 -4
- package/dist/layouts/electronics/pages/CategoriesPage.d.ts +2 -2
- package/dist/layouts/electronics/pages/CategoriesPage.d.ts.map +1 -1
- package/dist/layouts/electronics/pages/CategoryPage.d.ts +4 -2
- package/dist/layouts/electronics/pages/CategoryPage.d.ts.map +1 -1
- package/dist/layouts/electronics/pages/CategoryPage.js +11 -10
- package/dist/layouts/electronics/pages/ContactPage.d.ts +2 -2
- package/dist/layouts/electronics/pages/ContactPage.d.ts.map +1 -1
- package/dist/layouts/electronics/pages/ContactPage.js +3 -3
- package/dist/layouts/electronics/pages/HelpCenterPage.d.ts +2 -2
- package/dist/layouts/electronics/pages/HelpCenterPage.d.ts.map +1 -1
- package/dist/layouts/electronics/pages/HelpCenterPage.js +1 -1
- package/dist/layouts/electronics/pages/PrivacyPolicyPage.d.ts +2 -2
- package/dist/layouts/electronics/pages/PrivacyPolicyPage.d.ts.map +1 -1
- package/dist/layouts/electronics/pages/PrivacyPolicyPage.js +1 -1
- package/dist/layouts/electronics/pages/ProductDetailPage.d.ts +2 -2
- package/dist/layouts/electronics/pages/ProductDetailPage.d.ts.map +1 -1
- package/dist/layouts/electronics/pages/ProductDetailPage.js +25 -23
- package/dist/layouts/electronics/pages/ProductsPage.d.ts +2 -2
- package/dist/layouts/electronics/pages/ProductsPage.d.ts.map +1 -1
- package/dist/layouts/electronics/pages/ProductsPage.js +72 -79
- package/dist/layouts/electronics/pages/ShippingReturnsPage.d.ts +2 -2
- package/dist/layouts/electronics/pages/ShippingReturnsPage.d.ts.map +1 -1
- package/dist/layouts/electronics/pages/TermsPage.d.ts +2 -2
- package/dist/layouts/electronics/pages/TermsPage.d.ts.map +1 -1
- package/dist/layouts/electronics/pages/TermsPage.js +1 -1
- package/dist/layouts/electronics/pages/TrackOrderPage.d.ts +2 -2
- package/dist/layouts/electronics/pages/TrackOrderPage.d.ts.map +1 -1
- package/dist/layouts/electronics/pages/TrackOrderPage.js +4 -4
- package/dist/layouts/electronics-grid/components/ElectronicsGridProductCard.d.ts +2 -2
- package/dist/layouts/electronics-grid/components/ElectronicsGridProductCard.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/components/ElectronicsGridProductCard.js +14 -14
- package/dist/layouts/electronics-grid/components/ElectronicsHomePageGrid.d.ts +2 -2
- package/dist/layouts/electronics-grid/components/ElectronicsHomePageGrid.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/components/ElectronicsHomePageGrid.js +16 -15
- package/dist/layouts/electronics-grid/index.d.ts +5 -5
- package/dist/layouts/electronics-grid/index.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/index.js +5 -5
- package/dist/layouts/electronics-grid/pages/AboutPage.d.ts +2 -2
- package/dist/layouts/electronics-grid/pages/AboutPage.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/pages/AboutPage.js +6 -4
- package/dist/layouts/electronics-grid/pages/CategoriesPage.d.ts +2 -2
- package/dist/layouts/electronics-grid/pages/CategoriesPage.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/pages/CategoryPage.d.ts +4 -2
- package/dist/layouts/electronics-grid/pages/CategoryPage.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/pages/CategoryPage.js +11 -10
- package/dist/layouts/electronics-grid/pages/ContactPage.d.ts +2 -2
- package/dist/layouts/electronics-grid/pages/ContactPage.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/pages/ContactPage.js +3 -3
- package/dist/layouts/electronics-grid/pages/ElectronicsGridCategoriesPage.d.ts +2 -2
- package/dist/layouts/electronics-grid/pages/ElectronicsGridCategoriesPage.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/pages/ElectronicsGridCategoriesPage.js +6 -6
- package/dist/layouts/electronics-grid/pages/HelpCenterPage.d.ts +2 -2
- package/dist/layouts/electronics-grid/pages/HelpCenterPage.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/pages/HelpCenterPage.js +1 -1
- package/dist/layouts/electronics-grid/pages/PrivacyPolicyPage.d.ts +2 -2
- package/dist/layouts/electronics-grid/pages/PrivacyPolicyPage.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/pages/PrivacyPolicyPage.js +1 -1
- package/dist/layouts/electronics-grid/pages/ProductDetailPage.d.ts +2 -2
- package/dist/layouts/electronics-grid/pages/ProductDetailPage.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/pages/ProductDetailPage.js +25 -23
- package/dist/layouts/electronics-grid/pages/ProductsPage.d.ts +2 -2
- package/dist/layouts/electronics-grid/pages/ProductsPage.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/pages/ProductsPage.js +72 -79
- package/dist/layouts/electronics-grid/pages/ShippingReturnsPage.d.ts +2 -2
- package/dist/layouts/electronics-grid/pages/ShippingReturnsPage.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/pages/TermsPage.d.ts +2 -2
- package/dist/layouts/electronics-grid/pages/TermsPage.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/pages/TermsPage.js +1 -1
- package/dist/layouts/electronics-grid/pages/TrackOrderPage.d.ts +2 -2
- package/dist/layouts/electronics-grid/pages/TrackOrderPage.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/pages/TrackOrderPage.js +4 -4
- package/dist/layouts/food/components/FoodHomePage.d.ts +2 -2
- package/dist/layouts/food/components/FoodHomePage.d.ts.map +1 -1
- package/dist/layouts/food/components/FoodHomePage.js +13 -11
- package/dist/layouts/food/index.d.ts +6 -6
- package/dist/layouts/food/index.d.ts.map +1 -1
- package/dist/layouts/food/index.js +6 -6
- package/dist/layouts/food/pages/AboutPage.d.ts +2 -2
- package/dist/layouts/food/pages/AboutPage.d.ts.map +1 -1
- package/dist/layouts/food/pages/AboutPage.js +5 -4
- package/dist/layouts/food/pages/CategoriesPage.d.ts +2 -2
- package/dist/layouts/food/pages/CategoriesPage.d.ts.map +1 -1
- package/dist/layouts/food/pages/CategoriesPage.js +4 -4
- package/dist/layouts/food/pages/CategoryPage.d.ts +4 -2
- package/dist/layouts/food/pages/CategoryPage.d.ts.map +1 -1
- package/dist/layouts/food/pages/CategoryPage.js +12 -10
- package/dist/layouts/food/pages/ContactPage.d.ts +2 -2
- package/dist/layouts/food/pages/ContactPage.d.ts.map +1 -1
- package/dist/layouts/food/pages/ContactPage.js +3 -3
- package/dist/layouts/food/pages/MenuPage.d.ts +2 -2
- package/dist/layouts/food/pages/MenuPage.d.ts.map +1 -1
- package/dist/layouts/food/pages/MenuPage.js +8 -8
- package/dist/layouts/food/pages/ProductDetailPage.d.ts +2 -2
- package/dist/layouts/food/pages/ProductDetailPage.d.ts.map +1 -1
- package/dist/layouts/food/pages/ProductDetailPage.js +25 -23
- package/dist/layouts/food/pages/ProductsPage.d.ts +2 -2
- package/dist/layouts/food/pages/ProductsPage.d.ts.map +1 -1
- package/dist/layouts/food/pages/ProductsPage.js +66 -69
- package/dist/layouts/food-modern/components/FoodHomePageModern.d.ts +2 -2
- package/dist/layouts/food-modern/components/FoodHomePageModern.d.ts.map +1 -1
- package/dist/layouts/food-modern/components/FoodHomePageModern.js +11 -9
- package/dist/layouts/food-modern/index.d.ts +6 -6
- package/dist/layouts/food-modern/index.d.ts.map +1 -1
- package/dist/layouts/food-modern/index.js +6 -6
- package/dist/layouts/food-modern/pages/AboutPage.d.ts +2 -2
- package/dist/layouts/food-modern/pages/AboutPage.d.ts.map +1 -1
- package/dist/layouts/food-modern/pages/AboutPage.js +6 -4
- package/dist/layouts/food-modern/pages/CategoriesPage.d.ts +2 -2
- package/dist/layouts/food-modern/pages/CategoriesPage.d.ts.map +1 -1
- package/dist/layouts/food-modern/pages/CategoriesPage.js +4 -4
- package/dist/layouts/food-modern/pages/CategoryPage.d.ts +4 -2
- package/dist/layouts/food-modern/pages/CategoryPage.d.ts.map +1 -1
- package/dist/layouts/food-modern/pages/CategoryPage.js +12 -10
- package/dist/layouts/food-modern/pages/ContactPage.d.ts +2 -2
- package/dist/layouts/food-modern/pages/ContactPage.d.ts.map +1 -1
- package/dist/layouts/food-modern/pages/ContactPage.js +3 -3
- package/dist/layouts/food-modern/pages/MenuPage.d.ts +2 -2
- package/dist/layouts/food-modern/pages/MenuPage.d.ts.map +1 -1
- package/dist/layouts/food-modern/pages/MenuPage.js +8 -8
- package/dist/layouts/food-modern/pages/ProductDetailPage.d.ts +2 -2
- package/dist/layouts/food-modern/pages/ProductDetailPage.d.ts.map +1 -1
- package/dist/layouts/food-modern/pages/ProductDetailPage.js +25 -23
- package/dist/layouts/food-modern/pages/ProductsPage.d.ts +2 -2
- package/dist/layouts/food-modern/pages/ProductsPage.d.ts.map +1 -1
- package/dist/layouts/food-modern/pages/ProductsPage.js +66 -69
- package/dist/layouts/motivational-speaker/components/MotivationalHomePage.d.ts +2 -2
- package/dist/layouts/motivational-speaker/components/MotivationalHomePage.d.ts.map +1 -1
- package/dist/layouts/motivational-speaker/components/MotivationalHomePage.js +10 -8
- package/dist/layouts/motivational-speaker/components/MotivationalSpeakerPageWrapper.d.ts +2 -1
- package/dist/layouts/motivational-speaker/components/MotivationalSpeakerPageWrapper.d.ts.map +1 -1
- package/dist/layouts/motivational-speaker/index.d.ts +6 -6
- package/dist/layouts/motivational-speaker/index.d.ts.map +1 -1
- package/dist/layouts/motivational-speaker/index.js +6 -6
- package/dist/layouts/motivational-speaker/pages/AboutPage.d.ts +2 -2
- package/dist/layouts/motivational-speaker/pages/AboutPage.d.ts.map +1 -1
- package/dist/layouts/motivational-speaker/pages/AboutPage.js +6 -4
- package/dist/layouts/motivational-speaker/pages/CategoryPage.d.ts +4 -2
- package/dist/layouts/motivational-speaker/pages/CategoryPage.d.ts.map +1 -1
- package/dist/layouts/motivational-speaker/pages/CategoryPage.js +15 -13
- package/dist/layouts/motivational-speaker/pages/ContactPage.d.ts +2 -2
- package/dist/layouts/motivational-speaker/pages/ContactPage.d.ts.map +1 -1
- package/dist/layouts/motivational-speaker/pages/ContactPage.js +3 -3
- package/dist/layouts/motivational-speaker/pages/ProductsPage.d.ts +2 -2
- package/dist/layouts/motivational-speaker/pages/ProductsPage.d.ts.map +1 -1
- package/dist/layouts/motivational-speaker/pages/ProductsPage.js +72 -79
- package/dist/layouts/motivational-speaker/pages/ServiceDetailPage.d.ts +2 -2
- package/dist/layouts/motivational-speaker/pages/ServiceDetailPage.d.ts.map +1 -1
- package/dist/layouts/motivational-speaker/pages/ServiceDetailPage.js +10 -9
- package/dist/layouts/motivational-speaker/pages/ServicesPage.d.ts +2 -2
- package/dist/layouts/motivational-speaker/pages/ServicesPage.d.ts.map +1 -1
- package/dist/layouts/motivational-speaker/pages/ServicesPage.js +6 -4
- package/dist/layouts/motivational-speaker/pages/SubscriptionPage.d.ts +2 -2
- package/dist/layouts/motivational-speaker/pages/SubscriptionPage.d.ts.map +1 -1
- package/dist/layouts/motivational-speaker/pages/SubscriptionPage.js +10 -9
- package/dist/layouts/shared/components/BaseStoreLayout.d.ts +1 -1
- package/dist/layouts/shared/components/BaseStoreLayout.d.ts.map +1 -1
- package/dist/layouts/shared/components/CartLineQuantityControl.d.ts +2 -2
- package/dist/layouts/shared/components/CartLineQuantityControl.d.ts.map +1 -1
- package/dist/layouts/shared/components/CartLineQuantityControl.js +1 -1
- package/dist/layouts/shared/components/GenericPageWrapper.d.ts +1 -1
- package/dist/layouts/shared/components/GenericPageWrapper.d.ts.map +1 -1
- package/dist/layouts/shared/components/ProductPriceFilterSection.d.ts +1 -1
- package/dist/layouts/shared/components/ProductPriceFilterSection.d.ts.map +1 -1
- package/dist/layouts/shared/components/ProductPriceFilterSection.js +1 -1
- package/dist/layouts/shared/components/PromoBanner.d.ts +2 -1
- package/dist/layouts/shared/components/PromoBanner.d.ts.map +1 -1
- package/dist/layouts/shared/components/StoreFooter.d.ts +1 -1
- package/dist/layouts/shared/components/StoreFooter.d.ts.map +1 -1
- package/dist/layouts/shared/components/StoreFooter.js +6 -16
- package/dist/layouts/shared/components/StoreHeader.d.ts +1 -1
- package/dist/layouts/shared/components/StoreHeader.d.ts.map +1 -1
- package/dist/layouts/shared/components/StoreHeader.js +4 -4
- package/dist/layouts/shared/components/TestimonialCard.d.ts +3 -2
- package/dist/layouts/shared/components/TestimonialCard.d.ts.map +1 -1
- package/dist/layouts/shared/components/TestimonialCard.js +1 -1
- package/dist/layouts/shared/components/headers/BookingAgendaSidebar.d.ts +1 -1
- package/dist/layouts/shared/components/headers/BookingAgendaSidebar.d.ts.map +1 -1
- package/dist/layouts/shared/components/headers/ClothingMinimalHeader.d.ts +1 -1
- package/dist/layouts/shared/components/headers/ClothingMinimalHeader.d.ts.map +1 -1
- package/dist/layouts/shared/components/headers/FoodModernHeader.d.ts +1 -1
- package/dist/layouts/shared/components/headers/FoodModernHeader.d.ts.map +1 -1
- package/dist/layouts/shared/pages/AccountPage.d.ts +2 -2
- package/dist/layouts/shared/pages/AccountPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/AccountPage.js +15 -15
- package/dist/layouts/shared/pages/CartPage.d.ts +2 -2
- package/dist/layouts/shared/pages/CartPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/CartPage.js +4 -4
- package/dist/layouts/shared/pages/CheckoutPage.d.ts +2 -2
- package/dist/layouts/shared/pages/CheckoutPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/CheckoutPage.js +19 -19
- package/dist/layouts/shared/pages/CookiePolicyPage.d.ts +2 -2
- package/dist/layouts/shared/pages/CookiePolicyPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/CookiePolicyPage.js +1 -1
- package/dist/layouts/shared/pages/FeatureDisabledPage.d.ts +2 -2
- package/dist/layouts/shared/pages/FeatureDisabledPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/FeatureDisabledPage.js +1 -1
- package/dist/layouts/shared/pages/HelpCenterPage.d.ts +2 -2
- package/dist/layouts/shared/pages/HelpCenterPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/HelpCenterPage.js +1 -1
- package/dist/layouts/shared/pages/MaintenancePage.d.ts +2 -2
- package/dist/layouts/shared/pages/MaintenancePage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/MaintenancePage.js +2 -2
- package/dist/layouts/shared/pages/PortfolioPage.d.ts +2 -2
- package/dist/layouts/shared/pages/PortfolioPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/PortfolioPage.js +3 -2
- package/dist/layouts/shared/pages/PrivacyPolicyPage.d.ts +2 -2
- package/dist/layouts/shared/pages/PrivacyPolicyPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/PrivacyPolicyPage.js +1 -1
- package/dist/layouts/shared/pages/ShippingReturnsPage.d.ts +2 -2
- package/dist/layouts/shared/pages/ShippingReturnsPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/SizeGuidePage.d.ts +2 -2
- package/dist/layouts/shared/pages/SizeGuidePage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/SizeGuidePage.js +1 -1
- package/dist/layouts/shared/pages/StoreMaintenanceScreen.d.ts +9 -0
- package/dist/layouts/shared/pages/StoreMaintenanceScreen.d.ts.map +1 -0
- package/dist/layouts/shared/pages/StoreMaintenanceScreen.js +10 -0
- package/dist/layouts/shared/pages/StoreOfflinePage.d.ts +19 -0
- package/dist/layouts/shared/pages/StoreOfflinePage.d.ts.map +1 -0
- package/dist/layouts/shared/pages/StoreOfflinePage.js +113 -0
- package/dist/layouts/shared/pages/StyleGuidePage.d.ts +2 -2
- package/dist/layouts/shared/pages/StyleGuidePage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/StyleGuidePage.js +3 -3
- package/dist/layouts/shared/pages/TeamPage.d.ts +2 -2
- package/dist/layouts/shared/pages/TeamPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/TermsPage.d.ts +2 -2
- package/dist/layouts/shared/pages/TermsPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/TermsPage.js +1 -1
- package/dist/layouts/shared/pages/TrackOrderPage.d.ts +2 -2
- package/dist/layouts/shared/pages/TrackOrderPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/TrackOrderPage.js +4 -4
- package/dist/layouts/shared/pages/WishlistPage.d.ts +2 -2
- package/dist/layouts/shared/pages/WishlistPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/WishlistPage.js +21 -24
- package/dist/layouts/shared/wrappers/BookingAgendaLayout.d.ts +1 -1
- package/dist/layouts/shared/wrappers/BookingAgendaLayout.d.ts.map +1 -1
- package/dist/layouts/shared/wrappers/BookingAgendaLayout.js +1 -1
- package/dist/layouts/shared/wrappers/ClothingLayout.d.ts +1 -1
- package/dist/layouts/shared/wrappers/ClothingLayout.d.ts.map +1 -1
- package/dist/layouts/shared/wrappers/ClothingLayout.js +5 -5
- package/dist/layouts/shared/wrappers/ClothingMinimalLayout.d.ts +1 -1
- package/dist/layouts/shared/wrappers/ClothingMinimalLayout.d.ts.map +1 -1
- package/dist/layouts/shared/wrappers/ClothingMinimalLayout.js +4 -4
- package/dist/layouts/shared/wrappers/ElectronicsLayout.d.ts +1 -1
- package/dist/layouts/shared/wrappers/ElectronicsLayout.d.ts.map +1 -1
- package/dist/layouts/shared/wrappers/ElectronicsLayout.js +4 -4
- package/dist/layouts/shared/wrappers/FoodModernLayout.d.ts +1 -1
- package/dist/layouts/shared/wrappers/FoodModernLayout.d.ts.map +1 -1
- package/dist/layouts/shared/wrappers/FoodModernLayout.js +4 -4
- package/dist/layouts/shared/wrappers/MotivationalLayout.d.ts +1 -1
- package/dist/layouts/shared/wrappers/MotivationalLayout.d.ts.map +1 -1
- package/dist/layouts/shared/wrappers/MotivationalLayout.js +4 -4
- package/dist/layouts/shared/wrappers/StandardLayout.d.ts +1 -1
- package/dist/layouts/shared/wrappers/StandardLayout.d.ts.map +1 -1
- package/dist/layouts/shared/wrappers/StandardLayout.js +4 -4
- package/dist/lib/auth-context.d.ts +1 -1
- package/dist/lib/auth-context.d.ts.map +1 -1
- package/dist/lib/content-selectors.js +3 -3
- package/dist/lib/layout-route-utils.d.ts +1 -0
- package/dist/lib/layout-route-utils.d.ts.map +1 -1
- package/dist/lib/layout-route-utils.js +1 -1
- package/dist/lib/loading-context.d.ts +1 -1
- package/dist/lib/loading-context.d.ts.map +1 -1
- package/dist/lib/loading-context.js +4 -4
- package/dist/lib/payaza-checkout.js +1 -1
- package/dist/lib/payaza-public-key.d.ts +1 -1
- package/dist/lib/preview-data.d.ts.map +1 -1
- package/dist/lib/preview-data.js +0 -2
- package/dist/lib/rich-html.d.ts +8 -0
- package/dist/lib/rich-html.d.ts.map +1 -1
- package/dist/lib/services/fees.service.d.ts +63 -17
- package/dist/lib/services/fees.service.d.ts.map +1 -1
- package/dist/lib/services/fees.service.js +137 -3
- package/dist/lib/services/product.service.d.ts +1 -0
- package/dist/lib/services/product.service.d.ts.map +1 -1
- package/dist/lib/store-context.d.ts +2 -1
- package/dist/lib/store-context.d.ts.map +1 -1
- package/dist/lib/store-context.js +1 -0
- package/dist/lib/store-types.d.ts +32 -0
- package/dist/lib/store-types.d.ts.map +1 -1
- package/dist/lib/utils/asset-helpers.d.ts +1 -1
- package/dist/lib/utils/catalog-price-bounds.d.ts +2 -0
- package/dist/lib/utils/catalog-price-bounds.d.ts.map +1 -1
- package/dist/lib/utils/catalog-price-bounds.js +21 -0
- package/dist/lib/utils/category-tree.d.ts +1 -1
- package/dist/lib/utils/filtered-product-query.d.ts +22 -0
- package/dist/lib/utils/filtered-product-query.d.ts.map +1 -0
- package/dist/lib/utils/filtered-product-query.js +57 -0
- package/dist/lib/utils/filtered-products-inflight.d.ts +3 -0
- package/dist/lib/utils/filtered-products-inflight.d.ts.map +1 -0
- package/dist/lib/utils/filtered-products-inflight.js +15 -0
- package/dist/lib/utils/index.js +1 -1
- package/dist/lib/utils/url-helpers.d.ts.map +1 -1
- package/dist/lib/utils/url-helpers.js +2 -11
- package/dist/preview/LayoutPreview.d.ts +1 -1
- package/dist/preview/LayoutPreview.d.ts.map +1 -1
- package/dist/preview/LayoutPreview.js +23 -6
- package/dist/preview/PreviewRouter.d.ts +3 -2
- package/dist/preview/PreviewRouter.d.ts.map +1 -1
- package/dist/preview/PreviewRouter.js +2 -2
- package/dist/preview/ShadowDOMWrapper.d.ts +1 -1
- package/dist/preview/ShadowDOMWrapper.d.ts.map +1 -1
- package/dist/preview/canvas/PreviewCanvasEnhancer.d.ts +1 -1
- package/dist/preview/canvas/PreviewCanvasEnhancer.d.ts.map +1 -1
- package/dist/preview/canvas/PreviewCanvasStyles.d.ts +1 -1
- package/dist/preview/canvas/PreviewCanvasStyles.d.ts.map +1 -1
- package/dist/preview/index.d.ts +1 -1
- package/dist/preview/index.js +1 -1
- package/dist/styles/index.css +1609 -3279
- package/package.json +4 -2
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useState, useEffect, useRef } from 'react';
|
|
4
4
|
import { Clock, Check, ChevronRight, ChevronLeft, ArrowLeft, ShieldCheck, CheckCircle2, Lock } from 'lucide-react';
|
|
5
|
-
import { Button } from '../../../components/ui/button';
|
|
6
|
-
import { cn, formatCurrency } from '../../../lib/utils';
|
|
5
|
+
import { Button } from '../../../components/ui/button.js';
|
|
6
|
+
import { cn, formatCurrency } from '../../../lib/utils/index.js';
|
|
7
7
|
import Link from 'next/link';
|
|
8
|
-
import { ImageWithFallback } from '../../../components/ui/image-with-fallback';
|
|
9
|
-
import { RichTextExcerpt } from '../../../components/rich-text/RichTextExcerpt';
|
|
10
|
-
import { usePayazaCheckout } from '../../../hooks/use-payaza-checkout';
|
|
11
|
-
import { generateCheckoutConfig } from '../../../lib/payaza-checkout';
|
|
12
|
-
import { requireCheckoutPayazaPublicKey } from '../../../lib/payaza-public-key';
|
|
13
|
-
import { checkoutService } from '../../../lib/services/checkout.service';
|
|
14
|
-
import { paymentService, isPaymentConfirmed } from '../../../lib/services/payment.service';
|
|
15
|
-
import { useToast } from '../../../components/ui/toast';
|
|
8
|
+
import { ImageWithFallback } from '../../../components/ui/image-with-fallback.js';
|
|
9
|
+
import { RichTextExcerpt } from '../../../components/rich-text/RichTextExcerpt.js';
|
|
10
|
+
import { usePayazaCheckout } from '../../../hooks/use-payaza-checkout.js';
|
|
11
|
+
import { generateCheckoutConfig } from '../../../lib/payaza-checkout.js';
|
|
12
|
+
import { requireCheckoutPayazaPublicKey } from '../../../lib/payaza-public-key.js';
|
|
13
|
+
import { checkoutService } from '../../../lib/services/checkout.service.js';
|
|
14
|
+
import { paymentService, isPaymentConfirmed } from '../../../lib/services/payment.service.js';
|
|
15
|
+
import { useToast } from '../../../components/ui/toast.js';
|
|
16
16
|
import { useRouter, useSearchParams } from 'next/navigation';
|
|
17
|
-
import { useAuth } from '../../../lib/auth-context';
|
|
18
|
-
import { formatDateSafe } from '../../../utils/date';
|
|
17
|
+
import { useAuth } from '../../../lib/auth-context.js';
|
|
18
|
+
import { formatDateSafe } from '../../../utils/date.js';
|
|
19
19
|
import { encodePayazaFieldKey } from '../../../preview/canvas/field-key';
|
|
20
|
-
import { getOrCreateIdempotencyKey } from '../../../lib/utils/idempotency-key';
|
|
21
|
-
import { CHECKOUT_UNAVAILABLE_MESSAGE } from '../../../lib/checkout-availability';
|
|
20
|
+
import { getOrCreateIdempotencyKey } from '../../../lib/utils/idempotency-key.js';
|
|
21
|
+
import { CHECKOUT_UNAVAILABLE_MESSAGE } from '../../../lib/checkout-availability.js';
|
|
22
22
|
export function BookingBookPage({ storeConfig, serviceSlug }) {
|
|
23
23
|
const primaryColor = storeConfig.branding.primaryColor;
|
|
24
24
|
const layoutConfig = storeConfig.layoutConfig;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { StoreConfig } from '../../../lib/store-types';
|
|
1
|
+
import { StoreConfig } from '../../../lib/store-types.js';
|
|
2
2
|
interface CategoriesPageProps {
|
|
3
3
|
storeConfig: StoreConfig;
|
|
4
4
|
}
|
|
5
|
-
export declare function BookingCategoriesPage({ storeConfig: initialConfig }: CategoriesPageProps): import("react
|
|
5
|
+
export declare function BookingCategoriesPage({ 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/booking/pages/CategoriesPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQhD,UAAU,mBAAmB;IAC3B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,qBAAqB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,mBAAmB
|
|
1
|
+
{"version":3,"file":"CategoriesPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/booking/pages/CategoriesPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQhD,UAAU,mBAAmB;IAC3B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,qBAAqB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,mBAAmB,+BAiFxF"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { Breadcrumbs } from '../../../components/ui/breadcrumbs';
|
|
3
|
+
import { Breadcrumbs } from '../../../components/ui/breadcrumbs.js';
|
|
4
4
|
import { payazaInlineBindingProps, encodePayazaFieldKey } from '../../../preview/canvas/field-key';
|
|
5
5
|
import { CategoryMasonryGrid } from '../../../components/categories/category-masonry-grid';
|
|
6
|
-
import { useStore } from '../../../lib/store-context';
|
|
7
|
-
import { useCatalogLoader } from '../../../hooks/use-catalog-loader';
|
|
8
|
-
import { isEditorPreviewMode, resolveStoreCategoriesForDisplay } from '../../../lib/utils';
|
|
6
|
+
import { useStore } from '../../../lib/store-context.js';
|
|
7
|
+
import { useCatalogLoader } from '../../../hooks/use-catalog-loader.js';
|
|
8
|
+
import { isEditorPreviewMode, resolveStoreCategoriesForDisplay } from '../../../lib/utils/index.js';
|
|
9
9
|
export function BookingCategoriesPage({ storeConfig: initialConfig }) {
|
|
10
10
|
const { store } = useStore();
|
|
11
11
|
const storeConfig = store || initialConfig;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { StoreConfig } from '../../../lib/store-types';
|
|
1
|
+
import { StoreConfig } from '../../../lib/store-types.js';
|
|
2
2
|
interface CategoryPageProps {
|
|
3
3
|
storeConfig: StoreConfig;
|
|
4
4
|
categorySlug: string;
|
|
5
5
|
}
|
|
6
|
-
export declare function CategoryPage({ storeConfig, categorySlug }: CategoryPageProps): import("react
|
|
6
|
+
export declare function CategoryPage({ storeConfig, categorySlug }: CategoryPageProps): import("react").JSX.Element;
|
|
7
7
|
export {};
|
|
8
8
|
//# sourceMappingURL=CategoryPage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CategoryPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/booking/pages/CategoryPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAA8B,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"CategoryPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/booking/pages/CategoryPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAA8B,MAAM,mBAAmB,CAAC;AAgB5E,UAAU,iBAAiB;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,YAAY,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,iBAAiB,+BAyI5E"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { Button } from '../../../components/ui/button';
|
|
4
|
-
import { ImageWithFallback } from '../../../components/ui/image-with-fallback';
|
|
5
|
-
import { useStore } from '../../../lib/store-context';
|
|
3
|
+
import { Button } from '../../../components/ui/button.js';
|
|
4
|
+
import { ImageWithFallback } from '../../../components/ui/image-with-fallback.js';
|
|
5
|
+
import { useStore } from '../../../lib/store-context.js';
|
|
6
6
|
import { ArrowLeft, Filter, Clock, ArrowRight } from 'lucide-react';
|
|
7
7
|
import Link from 'next/link';
|
|
8
|
-
import { useToast } from '../../../components/ui/toast';
|
|
9
|
-
import { useAnalytics } from '../../../hooks/use-analytics';
|
|
8
|
+
import { useToast } from '../../../components/ui/toast.js';
|
|
9
|
+
import { useAnalytics } from '../../../hooks/use-analytics.js';
|
|
10
10
|
import { useEffect } from 'react';
|
|
11
|
-
import { formatCurrency, filterActiveServices } from '../../../lib/utils';
|
|
11
|
+
import { formatCurrency, filterActiveServices } from '../../../lib/utils/index.js';
|
|
12
12
|
import Image from 'next/image';
|
|
13
|
+
import { CategoryDescription } from '../../../components/rich-text/CategoryDescription.js';
|
|
14
|
+
import { RichTextExcerpt } from '../../../components/rich-text/RichTextExcerpt.js';
|
|
13
15
|
export function CategoryPage({ storeConfig, categorySlug }) {
|
|
14
16
|
const categories = storeConfig.categories || [];
|
|
15
17
|
const category = categories.find(c => c.slug === categorySlug);
|
|
@@ -38,5 +40,5 @@ export function CategoryPage({ storeConfig, categorySlug }) {
|
|
|
38
40
|
const isDarkTheme = storeConfig.type === 'food-modern' || storeConfig.branding.theme === 'dark';
|
|
39
41
|
const bgColor = isDarkTheme ? 'bg-[#0F0F0F]' : 'bg-gray-50';
|
|
40
42
|
const textColor = isDarkTheme ? 'text-white' : 'text-gray-900';
|
|
41
|
-
return (_jsxs("div", { className: "min-h-screen bg-white text-gray-900 transition-colors duration-300", children: [_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 }),
|
|
43
|
+
return (_jsxs("div", { className: "min-h-screen bg-white text-gray-900 transition-colors duration-300", children: [_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 }), _jsx(CategoryDescription, { description: 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"] }), _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 ? (_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: "No services found in this category." }), _jsx(Button, { className: "mt-4", onClick: () => window.history.back(), children: "Go Back" })] })) : (_jsx("div", { className: "space-y-12", children: _jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8", children: services.map((service) => (_jsxs("div", { className: "group flex flex-col h-full bg-white rounded-2xl overflow-hidden border border-gray-100 shadow-sm hover:shadow-xl transition-all duration-500", children: [_jsxs(Link, { href: `/${storeConfig.slug}/book?service=${service.slug}`, className: "block relative aspect-[4/3] overflow-hidden", children: [_jsx(Image, { src: service.image || 'https://images.unsplash.com/photo-1629909613654-28e377c37b09?w=800&auto=format&fit=crop&q=60', alt: service.name, fill: true, className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-105" }), _jsx("div", { className: "absolute bottom-4 left-4 bg-white/95 backdrop-blur px-4 py-2 rounded-full text-sm font-bold shadow-sm text-gray-900", children: formatCurrency(service.price, service.currency || storeConfig.settings?.currency || 'USD') })] }), _jsxs("div", { className: "p-6 flex flex-col flex-1", children: [_jsx("h3", { className: "text-xl font-bold text-gray-900 mb-2 group-hover:text-blue-600 transition-colors", children: service.name }), _jsx(RichTextExcerpt, { value: service.description, as: "p", className: "text-gray-500 mb-6 line-clamp-2 leading-relaxed text-sm flex-1" }), _jsxs("div", { className: "flex items-center justify-between pt-4 border-t border-gray-100", children: [_jsx("div", { className: "flex items-center gap-4 text-sm text-gray-500 font-medium", children: _jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx(Clock, { className: "w-4 h-4 text-blue-500" }), service.duration, " mins"] }) }), _jsxs(Link, { href: `/${storeConfig.slug}/book?service=${service.slug}`, className: "inline-flex items-center gap-2 text-sm font-bold text-blue-600 group/btn", children: ["Book Now ", _jsx(ArrowRight, { className: "w-4 h-4 transition-transform group-hover/btn:translate-x-1" })] })] })] })] }, service.id))) }) }))] })] }));
|
|
42
44
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { StoreConfig } from '../../../lib/store-types';
|
|
1
|
+
import { StoreConfig } from '../../../lib/store-types.js';
|
|
2
2
|
interface ContactPageProps {
|
|
3
3
|
storeConfig: StoreConfig;
|
|
4
4
|
}
|
|
5
|
-
export declare function ContactPage({ storeConfig: initialConfig }: ContactPageProps): import("react
|
|
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/booking/pages/ContactPage.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAOhD,UAAU,gBAAgB;IACtB,WAAW,EAAE,WAAW,CAAC;CAC5B;AAED,wBAAgB,WAAW,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,gBAAgB
|
|
1
|
+
{"version":3,"file":"ContactPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/booking/pages/ContactPage.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAOhD,UAAU,gBAAgB;IACtB,WAAW,EAAE,WAAW,CAAC;CAC5B;AAED,wBAAgB,WAAW,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,gBAAgB,+BA0S3E"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useState } from 'react';
|
|
4
|
-
import { Button } from '../../../components/ui/button';
|
|
4
|
+
import { Button } from '../../../components/ui/button.js';
|
|
5
5
|
import { Mail, Phone, MapPin, Clock, Send, MessageSquare, CheckCircle } from 'lucide-react';
|
|
6
|
-
import { useStore } from '../../../lib/store-context';
|
|
6
|
+
import { useStore } from '../../../lib/store-context.js';
|
|
7
7
|
import Image from 'next/image';
|
|
8
|
-
import { submitContact } from '../../../lib/services/contact.service';
|
|
8
|
+
import { submitContact } from '../../../lib/services/contact.service.js';
|
|
9
9
|
export function ContactPage({ storeConfig: initialConfig }) {
|
|
10
10
|
const { store } = useStore();
|
|
11
11
|
const storeConfig = store || initialConfig;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { StoreConfig } from '../../../lib/store-types';
|
|
1
|
+
import { StoreConfig } from '../../../lib/store-types.js';
|
|
2
2
|
interface ProductDetailPageProps {
|
|
3
3
|
storeConfig: StoreConfig;
|
|
4
4
|
productSlug: string;
|
|
5
5
|
}
|
|
6
|
-
export declare function ProductDetailPage({ storeConfig, productSlug }: ProductDetailPageProps): import("react
|
|
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/booking/pages/ProductDetailPage.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAA8C,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ProductDetailPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/booking/pages/ProductDetailPage.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAA8C,MAAM,mBAAmB,CAAC;AA6B5F,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,28 +1,29 @@
|
|
|
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';
|
|
5
|
-
import { Button } from '../../../components/ui/button';
|
|
6
|
-
import { Breadcrumbs } from '../../../components/ui/breadcrumbs';
|
|
7
|
-
import { Modal } from '../../../components/ui/modal';
|
|
3
|
+
import { useProductBySlug } from '../../../hooks/use-product-by-slug.js';
|
|
4
|
+
import { useProductReviews } from '../../../hooks/use-product-reviews.js';
|
|
5
|
+
import { Button } from '../../../components/ui/button.js';
|
|
6
|
+
import { Breadcrumbs } from '../../../components/ui/breadcrumbs.js';
|
|
7
|
+
import { Modal } from '../../../components/ui/modal.js';
|
|
8
8
|
import { ShoppingCart, Heart, Star, CheckCircle, ThumbsUp, User, Minus, Plus, Ruler, Share2, Info } from 'lucide-react';
|
|
9
9
|
import { useState, useMemo, useEffect } from 'react';
|
|
10
|
-
import { useStore } from '../../../lib/store-context';
|
|
11
|
-
import { useToast } from '../../../components/ui/toast';
|
|
10
|
+
import { useStore } from '../../../lib/store-context.js';
|
|
11
|
+
import { useToast } from '../../../components/ui/toast.js';
|
|
12
12
|
import { useRouter } from 'next/navigation';
|
|
13
|
-
import { useAuth } from '../../../lib/auth-context';
|
|
14
|
-
import { useAnalytics } from '../../../hooks/use-analytics';
|
|
15
|
-
import { customerService } from '../../../lib/services/customer.service';
|
|
16
|
-
import { GuestCheckoutModal } from '../../../components/ui/guest-checkout-modal';
|
|
17
|
-
import { getGuestUserInfo, saveGuestUserInfo } from '../../../lib/guest-user';
|
|
18
|
-
import { ProductCard } from '../../../components/ui/product-card';
|
|
13
|
+
import { useAuth } from '../../../lib/auth-context.js';
|
|
14
|
+
import { useAnalytics } from '../../../hooks/use-analytics.js';
|
|
15
|
+
import { customerService } from '../../../lib/services/customer.service.js';
|
|
16
|
+
import { GuestCheckoutModal } from '../../../components/ui/guest-checkout-modal.js';
|
|
17
|
+
import { getGuestUserInfo, saveGuestUserInfo } from '../../../lib/guest-user.js';
|
|
18
|
+
import { ProductCard } from '../../../components/ui/product-card.js';
|
|
19
19
|
import Image from 'next/image';
|
|
20
|
-
import { ImageWithFallback } from '../../../components/ui/image-with-fallback';
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
20
|
+
import { ImageWithFallback } from '../../../components/ui/image-with-fallback.js';
|
|
21
|
+
import { SafeRichHtml } from '../../../components/rich-text/SafeRichHtml.js';
|
|
22
|
+
import { ButtonLoader } from '../../../components/ui/page-loader.js';
|
|
23
|
+
import { extractImageUrls } from '../../../lib/store-config-utils.js';
|
|
24
|
+
import { OutOfStockOverlay } from '../../../components/ui/out-of-stock-overlay.js';
|
|
25
|
+
import { cn, formatCurrency, filterActiveProducts, isEditorPreviewMode, resolvePdpProduct } from '../../../lib/utils/index.js';
|
|
26
|
+
import { shippingService } from '../../../lib/services/shipping.service.js';
|
|
26
27
|
import { ProductDeliveryInfoSection } from '../../../components/shipping/ProductDeliveryInfoSection';
|
|
27
28
|
import { formatDateSafe } from '../../../utils/date';
|
|
28
29
|
// Helper function to format date
|
|
@@ -49,8 +50,9 @@ function StarRating({ rating, size = 'md', className = '' }) {
|
|
|
49
50
|
function ReviewCard({ review }) {
|
|
50
51
|
return (_jsxs("div", { className: "border-b border-gray-100 pb-8 last:border-b-0 last:pb-0", children: [_jsx("div", { className: "flex items-start justify-between mb-4", children: _jsxs("div", { className: "flex items-center gap-3", children: [_jsxs("div", { className: "w-12 h-12 rounded-full bg-gradient-to-br from-gray-200 to-gray-300 flex items-center justify-center flex-shrink-0 ring-2 ring-white shadow-sm overflow-hidden", children: [review.userAvatar ? (_jsx(Image, { src: review.userAvatar, alt: review.userName, fill: true, className: "w-full h-full object-cover" })) : null, _jsx(User, { className: "h-6 w-6 text-gray-600", style: { display: review.userAvatar ? 'none' : 'flex' } })] }), _jsxs("div", { children: [_jsxs("div", { className: "flex items-center gap-2 mb-1", children: [_jsx("span", { className: "font-semibold text-gray-900", children: review.userName }), review.verified && (_jsx("span", { className: "text-xs bg-blue-50 text-blue-700 px-2.5 py-1 rounded-full font-medium border border-blue-100", children: "Verified Purchase" }))] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(StarRating, { rating: review.rating, size: "sm" }), _jsx("span", { className: "text-xs text-gray-500", children: formatDate(review.date) })] })] })] }) }), review.title && (_jsx("h4", { className: "font-semibold text-gray-900 mb-3 text-lg", children: review.title })), _jsx("p", { className: "text-gray-700 leading-relaxed mb-4", children: review.comment }), review.images && review.images.length > 0 && (_jsx("div", { className: "flex gap-2 mb-4", children: review.images.map((img, idx) => (_jsx("div", { className: "relative w-20 h-20 rounded-lg overflow-hidden border border-gray-200", children: _jsx(Image, { src: img, alt: `${review.userName}'s review image ${idx + 1}`, fill: true, className: "object-cover" }) }, idx))) })), review.helpful !== undefined && (_jsx("div", { className: "flex items-center gap-4", children: _jsxs("button", { className: "flex items-center gap-1.5 text-xs text-gray-600 hover:text-gray-900 transition-colors font-medium", children: [_jsx(ThumbsUp, { className: "h-4 w-4" }), _jsxs("span", { children: ["Helpful (", review.helpful, ")"] })] }) }))] }));
|
|
51
52
|
}
|
|
52
|
-
export function ProductDetailPage({ storeConfig, productSlug }) {
|
|
53
|
-
const { addToCart, isCartLoading, toggleWishlist, isInWishlist, isWishlistLoading, setBuyNowItem } = useStore();
|
|
53
|
+
export function ProductDetailPage({ storeConfig: initialConfig, productSlug }) {
|
|
54
|
+
const { store, addToCart, isCartLoading, toggleWishlist, isInWishlist, isWishlistLoading, setBuyNowItem } = useStore();
|
|
55
|
+
const storeConfig = store || initialConfig;
|
|
54
56
|
const products = filterActiveProducts(storeConfig.products || []);
|
|
55
57
|
const initialProduct = resolvePdpProduct(initialConfig.products, storeConfig.products, productSlug, isEditorPreviewMode(storeConfig));
|
|
56
58
|
const { product, relatedProducts: apiRelatedProducts, isLoading: isLoadingProduct } = useProductBySlug(storeConfig.id, productSlug, initialProduct);
|
|
@@ -491,7 +493,7 @@ export function ProductDetailPage({ storeConfig, productSlug }) {
|
|
|
491
493
|
}, [product?.id, storeConfig?.id, trackEvent]);
|
|
492
494
|
return (_jsxs("div", { className: "min-h-screen bg-white", children: [_jsxs("div", { "data-content-ready": true, className: "container mx-auto px-4 sm:px-6 lg:px-8 py-8 lg:py-12 max-w-7xl", children: [_jsx("div", { className: "mb-6", children: _jsx(Breadcrumbs, { items: breadcrumbItems }) }), _jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-8 lg:gap-16 mb-20", children: [_jsxs("div", { className: "relative lg:sticky lg:top-24 self-start z-0", children: [_jsxs("div", { className: "relative aspect-square bg-gray-50 rounded-xl overflow-hidden mb-4 border border-gray-100 shadow-sm group", children: [_jsx(ImageWithFallback, { "data-product-image": true, src: displayImages[selectedImage] || displayImages[0] || productImages[0], alt: product.name, className: cn("w-full h-full object-cover transition-transform duration-300 group-hover:scale-105", isOutOfStock && "grayscale"), skeletonAspectRatio: "square" }), isOutOfStock && (_jsx(OutOfStockOverlay, { badgePosition: "center" }))] }), displayImages.length > 0 && (_jsxs("div", { className: "grid grid-cols-5 gap-2", children: [displayImages.map((image, index) => (_jsx("button", { onClick: () => setSelectedImage(Math.min(index, displayImages.length - 1)), className: `aspect-square rounded-lg overflow-hidden border-2 transition-all ${selectedImage === index
|
|
493
495
|
? 'border-gray-900 ring-2 ring-gray-900 ring-offset-2'
|
|
494
|
-
: '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: directCategory?.name || storeConfig.name }), _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) => {
|
|
496
|
+
: '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: directCategory?.name || storeConfig.name }), _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) => {
|
|
495
497
|
const colorValue = variant.value;
|
|
496
498
|
const swatchColor = colorSwatches[colorValue] || '#CCCCCC';
|
|
497
499
|
const isSelected = selectedColor === colorValue;
|
|
@@ -505,5 +507,5 @@ export function ProductDetailPage({ storeConfig, productSlug }) {
|
|
|
505
507
|
: 'bg-white text-gray-700 border-gray-200 hover:border-gray-300 hover:bg-gray-50'}`, children: variant.value }, variant.id));
|
|
506
508
|
}) })] })), _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: [_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"] })) }), _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 && (_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)
|
|
507
509
|
? "border-red-500 bg-red-50 text-red-500 hover:bg-red-100"
|
|
508
|
-
: "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(
|
|
510
|
+
: "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))) })] }))] })] }), _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" }), product.reviewCount && product.reviewCount > 0 && product.rating && product.rating > 0 ? (_jsxs("div", { className: "flex items-center gap-4", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(StarRating, { rating: typeof product.rating === 'number' ? product.rating : Number(product.rating) || 0, size: "lg" }), _jsx("span", { className: "text-2xl font-bold text-gray-900", children: Number(product.rating).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: [product.reviewCount, " ", product.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: () => setIsReviewModalOpen(true), className: "rounded-full shrink-0 bg-gray-900 hover:bg-gray-800 text-white", children: product.reviewCount && product.reviewCount > 0 ? 'Write a Review' : 'Be the First to Review' })] }), ratingDistribution.some(r => r.count > 0) && (_jsxs("div", { className: "mb-10 p-6 bg-gray-50 rounded-xl border border-gray-100", children: [_jsx("h3", { className: "text-sm font-semibold text-gray-900 mb-5", children: "Rating Breakdown" }), _jsx("div", { className: "space-y-3", children: ratingDistribution.map(({ rating, count, percentage }) => (_jsxs("div", { className: "flex items-center gap-4", children: [_jsxs("div", { className: "flex items-center gap-1.5 w-20", children: [_jsx("span", { className: "text-sm font-semibold text-gray-900", children: rating }), _jsx(Star, { className: "h-4 w-4 fill-gray-900 text-gray-900" })] }), _jsx("div", { className: "flex-1 h-2.5 bg-gray-200 rounded-full overflow-hidden", children: _jsx("div", { className: "h-full bg-gradient-to-r from-gray-700 to-gray-900 rounded-full transition-all duration-500", style: { width: `${percentage}%` } }) }), _jsx("span", { className: "text-sm font-medium text-gray-700 w-12 text-right", children: count })] }, rating))) })] })), reviews.length > 0 ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "space-y-6", children: displayedReviews.map((review) => (_jsx(ReviewCard, { review: review }, review.id))) }), hasMoreReviews && !showAllReviews && (_jsx("div", { className: "mt-8 text-center", children: _jsxs(Button, { variant: "outline", onClick: () => setShowAllReviews(true), className: "px-8 rounded-full h-12 border-gray-300", children: ["Show All ", reviews.length, " Reviews"] }) }))] })) : (_jsxs("div", { className: "text-center py-12 bg-gray-50 rounded-xl border border-dashed border-gray-300", children: [_jsx("div", { className: "inline-flex items-center justify-center w-12 h-12 rounded-full bg-white shadow-sm mb-4", children: _jsx(Star, { className: "h-6 w-6 text-gray-400" }) }), _jsx("h3", { className: "text-lg font-semibold text-gray-900 mb-2", children: "No Reviews Yet" }), _jsx("p", { className: "text-gray-500 max-w-sm mx-auto mb-6", children: "Be the first to review this product and help other customers make informed decisions." }), _jsx(Button, { onClick: () => setIsReviewModalOpen(true), className: "bg-gray-900 hover:bg-gray-800 text-white", children: "Write the First Review" })] }))] }) }), relatedProducts.length > 0 && (_jsxs("div", { className: "mt-20 pt-16 border-t border-gray-200", children: [_jsx("h2", { className: "text-2xl lg:text-3xl font-bold text-gray-900 mb-8", children: "You Might Also Like" }), _jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6", children: relatedProducts.map((relatedProduct) => (_jsx("div", { className: "h-[400px]", children: _jsx(ProductCard, { product: relatedProduct, storeSlug: storeConfig.slug, onAddToCart: (p) => addToCart(p, 1), onQuickView: handleQuickView, className: "h-full" }) }, relatedProduct.id))) })] }))] }), _jsx(Modal, { isOpen: isReviewModalOpen, onClose: () => setIsReviewModalOpen(false), title: "Write a Review", children: _jsxs("form", { onSubmit: handleSubmitReview, className: "space-y-4", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 mb-2", children: "Rating" }), _jsxs("div", { className: "flex items-center gap-1", children: [[1, 2, 3, 4, 5].map((star) => (_jsxs("div", { className: "relative group", children: [_jsx("button", { type: "button", onClick: () => setNewReview({ ...newReview, rating: star - 0.5 }), className: "absolute top-0 left-0 w-1/2 h-full z-20 focus:outline-none", title: `${star - 0.5} stars` }), _jsx("button", { type: "button", onClick: () => setNewReview({ ...newReview, rating: star }), className: "absolute top-0 right-0 w-1/2 h-full z-20 focus:outline-none", title: `${star} stars` }), _jsxs("div", { className: "relative pointer-events-none transition-transform group-hover:scale-110", children: [_jsx(Star, { className: "h-8 w-8 text-gray-200 fill-gray-200" }), newReview.rating >= star - 0.5 && (_jsx("div", { className: "absolute inset-0 overflow-hidden", style: { width: newReview.rating === star - 0.5 ? '50%' : '100%' }, children: _jsx(Star, { className: "h-8 w-8 text-gray-900 fill-gray-900" }) }))] })] }, star))), _jsx("span", { className: "ml-3 text-lg font-medium text-gray-900 w-12", children: newReview.rating })] })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "title", className: "block text-sm font-medium text-gray-700 mb-1", children: "Review Title" }), _jsx("input", { type: "text", id: "title", required: true, className: "w-full rounded-md border border-gray-300 px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-black", placeholder: "Summarize your thoughts", value: newReview.title, onChange: (e) => setNewReview({ ...newReview, title: e.target.value }) })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "comment", className: "block text-sm font-medium text-gray-700 mb-1", children: "Review" }), _jsx("textarea", { id: "comment", required: true, rows: 4, className: "w-full rounded-md border border-gray-300 px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-black", placeholder: "What did you like or dislike?", value: newReview.comment, onChange: (e) => setNewReview({ ...newReview, comment: e.target.value }) })] }), _jsxs("div", { className: "pt-4 flex justify-end gap-3", children: [_jsx(Button, { type: "button", variant: "outline", onClick: () => setIsReviewModalOpen(false), children: "Cancel" }), _jsx(Button, { type: "submit", className: "bg-black text-white hover:bg-gray-800", children: "Submit Review" })] })] }) }), _jsx(GuestCheckoutModal, { isOpen: showGuestModal, onClose: () => setShowGuestModal(false), onSubmit: handleGuestInfoSubmit, initialData: getGuestUserInfo() || undefined })] }));
|
|
509
511
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { StoreConfig } from '../../../lib/store-types';
|
|
1
|
+
import { StoreConfig } from '../../../lib/store-types.js';
|
|
2
2
|
interface ServicesPageProps {
|
|
3
3
|
storeConfig: StoreConfig;
|
|
4
4
|
initialCategory?: string;
|
|
5
5
|
titleOverride?: string;
|
|
6
6
|
}
|
|
7
|
-
export declare function ServicesPage({ storeConfig: initialConfig, initialCategory, titleOverride }: ServicesPageProps): import("react
|
|
7
|
+
export declare function ServicesPage({ storeConfig: initialConfig, initialCategory, titleOverride }: ServicesPageProps): import("react").JSX.Element;
|
|
8
8
|
export {};
|
|
9
9
|
//# sourceMappingURL=ServicesPage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServicesPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/booking/pages/ServicesPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ServicesPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/booking/pages/ServicesPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAWhD,UAAU,iBAAiB;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,YAAY,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,iBAAiB,+BAkK7G"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { Button } from '../../../components/ui/button';
|
|
3
|
+
import { Button } from '../../../components/ui/button.js';
|
|
4
4
|
import { Clock, ArrowRight, Filter } from 'lucide-react';
|
|
5
5
|
import Link from 'next/link';
|
|
6
|
+
import { RichTextExcerpt } from '../../../components/rich-text/RichTextExcerpt.js';
|
|
7
|
+
import { SafeRichHtml } from '../../../components/rich-text/SafeRichHtml.js';
|
|
6
8
|
import { useState } from 'react';
|
|
7
|
-
import { cn, formatCurrency, filterActiveServices } from '../../../lib/utils';
|
|
9
|
+
import { cn, formatCurrency, filterActiveServices } from '../../../lib/utils/index.js';
|
|
8
10
|
import Image from 'next/image';
|
|
9
|
-
import { useStore } from '../../../lib/store-context';
|
|
11
|
+
import { useStore } from '../../../lib/store-context.js';
|
|
10
12
|
export function ServicesPage({ storeConfig: initialConfig, initialCategory, titleOverride }) {
|
|
11
13
|
const { store } = useStore();
|
|
12
14
|
const storeConfig = store || initialConfig;
|
|
@@ -28,7 +30,7 @@ export function ServicesPage({ storeConfig: initialConfig, initialCategory, titl
|
|
|
28
30
|
return `/${storeConfig.slug}/book?service=${slug}`;
|
|
29
31
|
};
|
|
30
32
|
const pageTitle = titleOverride || servicesConfig?.title || (_jsxs(_Fragment, { children: ["Signature ", _jsx("span", { className: "font-bold font-sans", style: { color: primaryColor }, children: serviceLabel })] }));
|
|
31
|
-
return (_jsxs("div", { className: "min-h-screen bg-white pb-20", children: [_jsxs("div", { "data-section": "hero", className: "relative bg-gray-900 py-32 px-4 text-center overflow-hidden", children: [_jsxs("div", { className: "absolute inset-0", children: [_jsx(Image, { src: "https://images.unsplash.com/photo-1512496015851-a90fb38ba796?q=80&w=2070&auto=format&fit=crop", alt: "Service Menu", fill: true, className: "w-full h-full object-cover opacity-60" }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-black/80 via-black/40 to-black/30" })] }), _jsxs("div", { className: "container mx-auto max-w-4xl relative z-10", children: [_jsx("span", { className: "inline-block py-1 px-3 rounded-full bg-white/10 backdrop-blur-md border border-white/20 text-xs font-bold uppercase tracking-widest text-white mb-6 shadow-sm", children: storeConfig.name }), _jsx("h1", { className: "text-5xl md:text-7xl font-serif font-light mb-6 tracking-tight text-white leading-tight", children: pageTitle }), _jsx(
|
|
33
|
+
return (_jsxs("div", { className: "min-h-screen bg-white pb-20", children: [_jsxs("div", { "data-section": "hero", className: "relative bg-gray-900 py-32 px-4 text-center overflow-hidden", children: [_jsxs("div", { className: "absolute inset-0", children: [_jsx(Image, { src: "https://images.unsplash.com/photo-1512496015851-a90fb38ba796?q=80&w=2070&auto=format&fit=crop", alt: "Service Menu", fill: true, className: "w-full h-full object-cover opacity-60" }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-black/80 via-black/40 to-black/30" })] }), _jsxs("div", { className: "container mx-auto max-w-4xl relative z-10", children: [_jsx("span", { className: "inline-block py-1 px-3 rounded-full bg-white/10 backdrop-blur-md border border-white/20 text-xs font-bold uppercase tracking-widest text-white mb-6 shadow-sm", children: storeConfig.name }), _jsx("h1", { className: "text-5xl md:text-7xl font-serif font-light mb-6 tracking-tight text-white leading-tight", children: pageTitle }), _jsx(SafeRichHtml, { value: servicesConfig?.description || storeConfig.description || `Explore our curated selection of premium ${serviceLabel.toLowerCase()} designed for your success.`, as: "div", className: "text-gray-200 max-w-2xl mx-auto text-lg font-light leading-relaxed [&_p]:mb-0" })] })] }), _jsx("div", { className: "sticky top-16 z-30 bg-white/80 backdrop-blur-xl border-b border-gray-100 transition-all", children: _jsx("div", { className: "container mx-auto px-4", children: _jsxs("div", { className: "flex items-center gap-3 overflow-x-auto py-4 scrollbar-hide no-scrollbar", children: [_jsxs("div", { className: "flex items-center gap-2 text-xs font-bold text-gray-400 uppercase tracking-wider px-4 border-r border-gray-100 hidden md:flex shrink-0", children: [_jsx(Filter, { className: "w-3.5 h-3.5" }), categoryLabel] }), categories.map((cat) => (_jsx("button", { onClick: () => setActiveCategory(cat.slug), className: cn("px-6 py-2.5 rounded-full text-sm font-bold whitespace-nowrap transition-all duration-300 border flex-shrink-0", activeCategory === cat.slug
|
|
32
34
|
? "text-white shadow-lg scale-105 border-transparent"
|
|
33
|
-
: "bg-white text-gray-500 border-gray-100 hover:border-gray-300 hover:text-black"), style: activeCategory === cat.slug ? { backgroundColor: primaryColor } : {}, children: cat.name }, cat.id)))] }) }) }), _jsx("div", { "data-section": "services-list", className: "container mx-auto px-4 max-w-7xl py-16", children: _jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-x-10 gap-y-16", children: filteredServices.map((service) => (_jsxs("div", { className: "group flex flex-col h-full", children: [_jsxs(Link, { href: getServiceLink(service.slug), className: "block relative aspect-[4/3] rounded-3xl overflow-hidden bg-gray-100 mb-6 shadow-sm group-hover:shadow-xl transition-all duration-500", children: [_jsx(Image, { src: service.image || 'https://images.unsplash.com/photo-1629909613654-28e377c37b09?w=800&auto=format&fit=crop&q=60', alt: service.name, fill: true, className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-105" }), _jsx("div", { className: "absolute bottom-4 left-4 bg-white/95 backdrop-blur px-4 py-2 rounded-full text-sm font-bold shadow-sm text-gray-900", children: service.price > 0 ? formatCurrency(service.price, service.currency || storeConfig.settings?.currency || 'USD') : 'Free' }), _jsx("div", { className: "absolute inset-0 bg-black/20 opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-center justify-center", children: _jsx(Button, { className: "rounded-full bg-white text-black hover:bg-gray-100 transform translate-y-4 group-hover:translate-y-0 transition-all duration-300 shadow-lg font-bold px-8", children: "Book Now" }) })] }), _jsxs("div", { className: "flex flex-col flex-1", children: [_jsx("div", { className: "flex justify-between items-start mb-3", children: _jsx(Link, { href: getServiceLink(service.slug), children: _jsx("h3", { className: "text-2xl font-bold text-gray-900 group-hover:text-gray-600 transition-colors", children: service.name }) }) }), _jsx("p",
|
|
35
|
+
: "bg-white text-gray-500 border-gray-100 hover:border-gray-300 hover:text-black"), style: activeCategory === cat.slug ? { backgroundColor: primaryColor } : {}, children: cat.name }, cat.id)))] }) }) }), _jsx("div", { "data-section": "services-list", className: "container mx-auto px-4 max-w-7xl py-16", children: _jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-x-10 gap-y-16", children: filteredServices.map((service) => (_jsxs("div", { className: "group flex flex-col h-full", children: [_jsxs(Link, { href: getServiceLink(service.slug), className: "block relative aspect-[4/3] rounded-3xl overflow-hidden bg-gray-100 mb-6 shadow-sm group-hover:shadow-xl transition-all duration-500", children: [_jsx(Image, { src: service.image || 'https://images.unsplash.com/photo-1629909613654-28e377c37b09?w=800&auto=format&fit=crop&q=60', alt: service.name, fill: true, className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-105" }), _jsx("div", { className: "absolute bottom-4 left-4 bg-white/95 backdrop-blur px-4 py-2 rounded-full text-sm font-bold shadow-sm text-gray-900", children: service.price > 0 ? formatCurrency(service.price, service.currency || storeConfig.settings?.currency || 'USD') : 'Free' }), _jsx("div", { className: "absolute inset-0 bg-black/20 opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-center justify-center", children: _jsx(Button, { className: "rounded-full bg-white text-black hover:bg-gray-100 transform translate-y-4 group-hover:translate-y-0 transition-all duration-300 shadow-lg font-bold px-8", children: "Book Now" }) })] }), _jsxs("div", { className: "flex flex-col flex-1", children: [_jsx("div", { className: "flex justify-between items-start mb-3", children: _jsx(Link, { href: getServiceLink(service.slug), children: _jsx("h3", { className: "text-2xl font-bold text-gray-900 group-hover:text-gray-600 transition-colors", children: service.name }) }) }), _jsx(RichTextExcerpt, { value: service.description, as: "p", className: "text-gray-500 mb-6 line-clamp-2 leading-relaxed text-base flex-1" }), _jsxs("div", { className: "flex items-center justify-between pt-4 border-t border-gray-100 text-sm font-medium text-gray-500", children: [_jsxs("div", { className: "flex items-center gap-6", children: [service.duration > 0 && (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Clock, { className: "w-4 h-4 text-gray-400" }), service.duration, " mins"] })), service.contentType && (_jsx("div", { className: "flex items-center gap-2 uppercase tracking-widest text-[10px] font-black", children: service.contentType }))] }), _jsxs(Link, { href: getServiceLink(service.slug), className: "flex items-center gap-2 text-black font-bold group/link", children: ["Book ", _jsx(ArrowRight, { className: "w-4 h-4 transition-transform group-hover/link:translate-x-1" })] })] })] })] }, service.id))) }) })] }));
|
|
34
36
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { StoreConfig } from '../../../lib/store-types';
|
|
1
|
+
import { StoreConfig } from '../../../lib/store-types.js';
|
|
2
2
|
interface BookingHomePageAgendaProps {
|
|
3
3
|
storeConfig: StoreConfig;
|
|
4
4
|
}
|
|
5
|
-
export declare function BookingHomePageAgenda({ storeConfig: initialConfig }: BookingHomePageAgendaProps): import("react
|
|
5
|
+
export declare function BookingHomePageAgenda({ storeConfig: initialConfig }: BookingHomePageAgendaProps): import("react").JSX.Element;
|
|
6
6
|
export {};
|
|
7
7
|
//# sourceMappingURL=BookingHomePageAgenda.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookingHomePageAgenda.d.ts","sourceRoot":"","sources":["../../../../src/layouts/booking-agenda/components/BookingHomePageAgenda.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAyBhD,UAAU,0BAA0B;IAClC,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,qBAAqB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,0BAA0B
|
|
1
|
+
{"version":3,"file":"BookingHomePageAgenda.d.ts","sourceRoot":"","sources":["../../../../src/layouts/booking-agenda/components/BookingHomePageAgenda.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAyBhD,UAAU,0BAA0B;IAClC,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,qBAAqB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,0BAA0B,+BA0vB/F"}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { Button } from '../../../components/ui/button';
|
|
4
|
-
import { Modal } from '../../../components/ui/modal';
|
|
5
|
-
import { ImageWithFallback } from '../../../components/ui/image-with-fallback';
|
|
6
|
-
import { RichTextExcerpt } from '../../../components/rich-text/RichTextExcerpt';
|
|
7
|
-
import { useToast } from '../../../components/ui/toast';
|
|
8
|
-
import { useStore } from '../../../lib/store-context';
|
|
9
|
-
import { checkoutService } from '../../../lib/services/checkout.service';
|
|
10
|
-
import { requireCheckoutPayazaPublicKey } from '../../../lib/payaza-public-key';
|
|
11
|
-
import { usePayazaCheckout } from '../../../hooks/use-payaza-checkout';
|
|
12
|
-
import { useAuth } from '../../../lib/auth-context';
|
|
3
|
+
import { Button } from '../../../components/ui/button.js';
|
|
4
|
+
import { Modal } from '../../../components/ui/modal.js';
|
|
5
|
+
import { ImageWithFallback } from '../../../components/ui/image-with-fallback.js';
|
|
6
|
+
import { RichTextExcerpt } from '../../../components/rich-text/RichTextExcerpt.js';
|
|
7
|
+
import { useToast } from '../../../components/ui/toast.js';
|
|
8
|
+
import { useStore } from '../../../lib/store-context.js';
|
|
9
|
+
import { checkoutService } from '../../../lib/services/checkout.service.js';
|
|
10
|
+
import { requireCheckoutPayazaPublicKey } from '../../../lib/payaza-public-key.js';
|
|
11
|
+
import { usePayazaCheckout } from '../../../hooks/use-payaza-checkout.js';
|
|
12
|
+
import { useAuth } from '../../../lib/auth-context.js';
|
|
13
13
|
import { Calendar, Clock, ChevronRight, Star, Search, User, Heart, Filter, MoreHorizontal, X, CheckCircle, Sparkles, Lock } from 'lucide-react';
|
|
14
14
|
import Link from 'next/link';
|
|
15
15
|
import { useState, useEffect, useRef } from 'react';
|
|
16
|
-
import { formatCurrency, filterActiveServices } from '../../../lib/utils';
|
|
17
|
-
import { getBannerImage, getServiceImage, getTeamMemberImage, getTextContent, getLayoutText, getThemeColor } from '../../../lib/utils/asset-helpers';
|
|
18
|
-
import { formatDateSafe } from '../../../utils/date';
|
|
19
|
-
import { isDemoStore, shouldUseAPI } from '../../../lib/utils/demo-detection';
|
|
16
|
+
import { formatCurrency, filterActiveServices } from '../../../lib/utils/index.js';
|
|
17
|
+
import { getBannerImage, getServiceImage, getTeamMemberImage, getTextContent, getLayoutText, getThemeColor } from '../../../lib/utils/asset-helpers.js';
|
|
18
|
+
import { formatDateSafe } from '../../../utils/date.js';
|
|
19
|
+
import { isDemoStore, shouldUseAPI } from '../../../lib/utils/demo-detection.js';
|
|
20
20
|
import { TestimonialCard } from '../../shared/components/TestimonialCard';
|
|
21
21
|
import { BookingTestimonialsEmptyState } from '../../booking/components/BookingTestimonialsEmptyState';
|
|
22
22
|
import { getPayazaSectionInlineStyle } from '../../../lib/payaza-section-styles';
|
|
23
|
-
import { showLayoutDecorativeBadges } from '../../../lib/layout-badges';
|
|
24
|
-
import { getOrCreateIdempotencyKey } from '../../../lib/utils/idempotency-key';
|
|
25
|
-
import { CHECKOUT_UNAVAILABLE_MESSAGE } from '../../../lib/checkout-availability';
|
|
23
|
+
import { showLayoutDecorativeBadges } from '../../../lib/layout-badges.js';
|
|
24
|
+
import { getOrCreateIdempotencyKey } from '../../../lib/utils/idempotency-key.js';
|
|
25
|
+
import { CHECKOUT_UNAVAILABLE_MESSAGE } from '../../../lib/checkout-availability.js';
|
|
26
26
|
export function BookingHomePageAgenda({ storeConfig: initialConfig }) {
|
|
27
27
|
const { store } = useStore();
|
|
28
28
|
const storeConfig = store || initialConfig;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export { BookingHomePageAgenda } from './components/BookingHomePageAgenda';
|
|
2
2
|
export { BookingAgendaBookPage } from './pages/BookPage';
|
|
3
|
-
export { BookingAgendaServicesPage } from './pages/ServicesPage';
|
|
4
|
-
export { BookingAgendaProductDetailPage } from './pages/ProductDetailPage';
|
|
5
|
-
export { BookingAgendaCategoryPage } from './pages/CategoryPage';
|
|
3
|
+
export { ServicesPage as BookingAgendaServicesPage } from './pages/ServicesPage';
|
|
4
|
+
export { ProductDetailPage as BookingAgendaProductDetailPage } from './pages/ProductDetailPage';
|
|
5
|
+
export { CategoryPage as BookingAgendaCategoryPage } from './pages/CategoryPage';
|
|
6
6
|
export { BookingAgendaCategoriesPage } from './pages/CategoriesPage';
|
|
7
|
-
export { BookingAgendaAboutPage } from './pages/AboutPage';
|
|
8
|
-
export { BookingAgendaContactPage } from './pages/ContactPage';
|
|
7
|
+
export { AboutPage as BookingAgendaAboutPage } from './pages/AboutPage';
|
|
8
|
+
export { ContactPage as BookingAgendaContactPage } from './pages/ContactPage';
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/booking-agenda/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/booking-agenda/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,YAAY,IAAI,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,iBAAiB,IAAI,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,EAAE,YAAY,IAAI,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,SAAS,IAAI,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,WAAW,IAAI,wBAAwB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// BookEasy Agenda (booking-agenda) layout — fully sandboxed exports
|
|
2
2
|
export { BookingHomePageAgenda } from './components/BookingHomePageAgenda';
|
|
3
3
|
export { BookingAgendaBookPage } from './pages/BookPage';
|
|
4
|
-
export { BookingAgendaServicesPage } from './pages/ServicesPage';
|
|
5
|
-
export { BookingAgendaProductDetailPage } from './pages/ProductDetailPage';
|
|
6
|
-
export { BookingAgendaCategoryPage } from './pages/CategoryPage';
|
|
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
7
|
export { BookingAgendaCategoriesPage } from './pages/CategoriesPage';
|
|
8
|
-
export { BookingAgendaAboutPage } from './pages/AboutPage';
|
|
9
|
-
export { BookingAgendaContactPage } from './pages/ContactPage';
|
|
8
|
+
export { AboutPage as BookingAgendaAboutPage } from './pages/AboutPage';
|
|
9
|
+
export { ContactPage as BookingAgendaContactPage } from './pages/ContactPage';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { StoreConfig } from '../../../lib/store-types';
|
|
1
|
+
import { StoreConfig } from '../../../lib/store-types.js';
|
|
2
2
|
interface AboutPageProps {
|
|
3
3
|
storeConfig: StoreConfig;
|
|
4
4
|
}
|
|
5
|
-
export declare function AboutPage({ storeConfig: initialConfig }: AboutPageProps): import("react
|
|
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/booking-agenda/pages/AboutPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"AboutPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/booking-agenda/pages/AboutPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAShD,UAAU,cAAc;IACtB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,SAAS,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,cAAc,+BA6OvE"}
|