storefront-layouts-staging 1.0.0-staging.0
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/README.md +539 -0
- package/dist/components/auth/LoginForm.d.ts +9 -0
- package/dist/components/auth/LoginForm.d.ts.map +1 -0
- package/dist/components/auth/LoginForm.js +21 -0
- package/dist/components/auth/LoginSheet.d.ts +7 -0
- package/dist/components/auth/LoginSheet.d.ts.map +1 -0
- package/dist/components/auth/LoginSheet.js +8 -0
- package/dist/components/auth/login-form-core.d.ts +11 -0
- package/dist/components/auth/login-form-core.d.ts.map +1 -0
- package/dist/components/auth/login-form-core.js +19 -0
- package/dist/components/auth/login-sheet-header.d.ts +10 -0
- package/dist/components/auth/login-sheet-header.d.ts.map +1 -0
- package/dist/components/auth/login-sheet-header.js +10 -0
- package/dist/components/auth/login-sheet-registry.d.ts +11 -0
- package/dist/components/auth/login-sheet-registry.d.ts.map +1 -0
- package/dist/components/auth/login-sheet-registry.js +9 -0
- package/dist/components/auth/login-sheet-theme.types.d.ts +29 -0
- package/dist/components/auth/login-sheet-theme.types.d.ts.map +1 -0
- package/dist/components/auth/login-sheet-theme.types.js +1 -0
- package/dist/components/auth/login-sheet-themes/booking-agenda.theme.d.ts +3 -0
- package/dist/components/auth/login-sheet-themes/booking-agenda.theme.d.ts.map +1 -0
- package/dist/components/auth/login-sheet-themes/booking-agenda.theme.js +21 -0
- package/dist/components/auth/login-sheet-themes/booking.theme.d.ts +3 -0
- package/dist/components/auth/login-sheet-themes/booking.theme.d.ts.map +1 -0
- package/dist/components/auth/login-sheet-themes/booking.theme.js +20 -0
- package/dist/components/auth/login-sheet-themes/clothing-minimal.theme.d.ts +3 -0
- package/dist/components/auth/login-sheet-themes/clothing-minimal.theme.d.ts.map +1 -0
- package/dist/components/auth/login-sheet-themes/clothing-minimal.theme.js +20 -0
- package/dist/components/auth/login-sheet-themes/clothing.theme.d.ts +3 -0
- package/dist/components/auth/login-sheet-themes/clothing.theme.d.ts.map +1 -0
- package/dist/components/auth/login-sheet-themes/clothing.theme.js +21 -0
- package/dist/components/auth/login-sheet-themes/electronics-grid.theme.d.ts +3 -0
- package/dist/components/auth/login-sheet-themes/electronics-grid.theme.d.ts.map +1 -0
- package/dist/components/auth/login-sheet-themes/electronics-grid.theme.js +20 -0
- package/dist/components/auth/login-sheet-themes/electronics.theme.d.ts +3 -0
- package/dist/components/auth/login-sheet-themes/electronics.theme.d.ts.map +1 -0
- package/dist/components/auth/login-sheet-themes/electronics.theme.js +20 -0
- package/dist/components/auth/login-sheet-themes/food-modern.theme.d.ts +3 -0
- package/dist/components/auth/login-sheet-themes/food-modern.theme.d.ts.map +1 -0
- package/dist/components/auth/login-sheet-themes/food-modern.theme.js +22 -0
- package/dist/components/auth/login-sheet-themes/food.theme.d.ts +3 -0
- package/dist/components/auth/login-sheet-themes/food.theme.d.ts.map +1 -0
- package/dist/components/auth/login-sheet-themes/food.theme.js +22 -0
- package/dist/components/auth/login-sheet-themes/index.d.ts +14 -0
- package/dist/components/auth/login-sheet-themes/index.d.ts.map +1 -0
- package/dist/components/auth/login-sheet-themes/index.js +29 -0
- package/dist/components/auth/login-sheet-themes/motivational-speaker.theme.d.ts +3 -0
- package/dist/components/auth/login-sheet-themes/motivational-speaker.theme.d.ts.map +1 -0
- package/dist/components/auth/login-sheet-themes/motivational-speaker.theme.js +20 -0
- package/dist/components/auth/login-sheet-themes/theme-input-baselines.d.ts +24 -0
- package/dist/components/auth/login-sheet-themes/theme-input-baselines.d.ts.map +1 -0
- package/dist/components/auth/login-sheet-themes/theme-input-baselines.js +23 -0
- package/dist/components/auth/login-sheets/StoreLoginSheetShell.d.ts +13 -0
- package/dist/components/auth/login-sheets/StoreLoginSheetShell.d.ts.map +1 -0
- package/dist/components/auth/login-sheets/StoreLoginSheetShell.js +14 -0
- package/dist/components/auth/use-login-submit.d.ts +22 -0
- package/dist/components/auth/use-login-submit.d.ts.map +1 -0
- package/dist/components/auth/use-login-submit.js +99 -0
- package/dist/components/cart/InventoryHoldCountdown.d.ts +8 -0
- package/dist/components/cart/InventoryHoldCountdown.d.ts.map +1 -0
- package/dist/components/cart/InventoryHoldCountdown.js +73 -0
- package/dist/components/categories/category-masonry-grid.d.ts +18 -0
- package/dist/components/categories/category-masonry-grid.d.ts.map +1 -0
- package/dist/components/categories/category-masonry-grid.js +50 -0
- package/dist/components/categories/category-masonry-utils.d.ts +9 -0
- package/dist/components/categories/category-masonry-utils.d.ts.map +1 -0
- package/dist/components/categories/category-masonry-utils.js +67 -0
- package/dist/components/checkout/CheckoutFeeLines.d.ts +12 -0
- package/dist/components/checkout/CheckoutFeeLines.d.ts.map +1 -0
- package/dist/components/checkout/CheckoutFeeLines.js +9 -0
- package/dist/components/checkout/ShippingOptionsPanel.d.ts +54 -0
- package/dist/components/checkout/ShippingOptionsPanel.d.ts.map +1 -0
- package/dist/components/checkout/ShippingOptionsPanel.js +115 -0
- package/dist/components/learning/CertificateTemplates.d.ts +25 -0
- package/dist/components/learning/CertificateTemplates.d.ts.map +1 -0
- package/dist/components/learning/CertificateTemplates.js +31 -0
- package/dist/components/learning/CertificateViewer.d.ts +11 -0
- package/dist/components/learning/CertificateViewer.d.ts.map +1 -0
- package/dist/components/learning/CertificateViewer.js +114 -0
- package/dist/components/learning/MentorshipProgress.d.ts +18 -0
- package/dist/components/learning/MentorshipProgress.d.ts.map +1 -0
- package/dist/components/learning/MentorshipProgress.js +20 -0
- package/dist/components/product/ProductVariationSelectors.d.ts +10 -0
- package/dist/components/product/ProductVariationSelectors.d.ts.map +1 -0
- package/dist/components/product/ProductVariationSelectors.js +27 -0
- package/dist/components/rich-text/CategoryDescription.d.ts +7 -0
- package/dist/components/rich-text/CategoryDescription.d.ts.map +1 -0
- package/dist/components/rich-text/CategoryDescription.js +11 -0
- package/dist/components/rich-text/ProductDescription.d.ts +9 -0
- package/dist/components/rich-text/ProductDescription.d.ts.map +1 -0
- package/dist/components/rich-text/ProductDescription.js +10 -0
- package/dist/components/rich-text/RichTextExcerpt.d.ts +10 -0
- package/dist/components/rich-text/RichTextExcerpt.d.ts.map +1 -0
- package/dist/components/rich-text/RichTextExcerpt.js +12 -0
- package/dist/components/rich-text/SafeRichHtml.d.ts +14 -0
- package/dist/components/rich-text/SafeRichHtml.d.ts.map +1 -0
- package/dist/components/rich-text/SafeRichHtml.js +15 -0
- package/dist/components/shipping/MerchantHandledDeliveryNotice.d.ts +7 -0
- package/dist/components/shipping/MerchantHandledDeliveryNotice.d.ts.map +1 -0
- package/dist/components/shipping/MerchantHandledDeliveryNotice.js +7 -0
- package/dist/components/shipping/ProductDeliveryInfoSection.d.ts +21 -0
- package/dist/components/shipping/ProductDeliveryInfoSection.d.ts.map +1 -0
- package/dist/components/shipping/ProductDeliveryInfoSection.js +22 -0
- package/dist/components/shipping/ShippingQuoteAddressForm.d.ts +11 -0
- package/dist/components/shipping/ShippingQuoteAddressForm.d.ts.map +1 -0
- package/dist/components/shipping/ShippingQuoteAddressForm.js +66 -0
- package/dist/components/ui/address-selector.d.ts +11 -0
- package/dist/components/ui/address-selector.d.ts.map +1 -0
- package/dist/components/ui/address-selector.js +21 -0
- package/dist/components/ui/alert-modal.d.ts +21 -0
- package/dist/components/ui/alert-modal.d.ts.map +1 -0
- package/dist/components/ui/alert-modal.js +59 -0
- package/dist/components/ui/avatar-image.d.ts +11 -0
- package/dist/components/ui/avatar-image.d.ts.map +1 -0
- package/dist/components/ui/avatar-image.js +39 -0
- package/dist/components/ui/background-patterns.d.ts +27 -0
- package/dist/components/ui/background-patterns.d.ts.map +1 -0
- package/dist/components/ui/background-patterns.js +5 -0
- package/dist/components/ui/badge.d.ts +10 -0
- package/dist/components/ui/badge.d.ts.map +1 -0
- package/dist/components/ui/badge.js +20 -0
- package/dist/components/ui/breadcrumbs.d.ts +12 -0
- package/dist/components/ui/breadcrumbs.d.ts.map +1 -0
- package/dist/components/ui/breadcrumbs.js +12 -0
- package/dist/components/ui/button.d.ts +11 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/button.js +34 -0
- package/dist/components/ui/card.d.ts +10 -0
- package/dist/components/ui/card.d.ts.map +1 -0
- package/dist/components/ui/card.js +24 -0
- package/dist/components/ui/category-tree.d.ts +16 -0
- package/dist/components/ui/category-tree.d.ts.map +1 -0
- package/dist/components/ui/category-tree.js +74 -0
- package/dist/components/ui/checkout-button.d.ts +11 -0
- package/dist/components/ui/checkout-button.d.ts.map +1 -0
- package/dist/components/ui/checkout-button.js +298 -0
- package/dist/components/ui/dynamic-icon.d.ts +11 -0
- package/dist/components/ui/dynamic-icon.d.ts.map +1 -0
- package/dist/components/ui/dynamic-icon.js +77 -0
- package/dist/components/ui/guest-checkout-modal.d.ts +19 -0
- package/dist/components/ui/guest-checkout-modal.d.ts.map +1 -0
- package/dist/components/ui/guest-checkout-modal.js +95 -0
- package/dist/components/ui/image-skeleton.d.ts +7 -0
- package/dist/components/ui/image-skeleton.d.ts.map +1 -0
- package/dist/components/ui/image-skeleton.js +15 -0
- package/dist/components/ui/image-with-fallback.d.ts +10 -0
- package/dist/components/ui/image-with-fallback.d.ts.map +1 -0
- package/dist/components/ui/image-with-fallback.js +165 -0
- package/dist/components/ui/input.d.ts +6 -0
- package/dist/components/ui/input.d.ts.map +1 -0
- package/dist/components/ui/input.js +8 -0
- package/dist/components/ui/limited-time-offer-badge.d.ts +12 -0
- package/dist/components/ui/limited-time-offer-badge.d.ts.map +1 -0
- package/dist/components/ui/limited-time-offer-badge.js +13 -0
- package/dist/components/ui/loading-skeleton-wrapper.d.ts +6 -0
- package/dist/components/ui/loading-skeleton-wrapper.d.ts.map +1 -0
- package/dist/components/ui/loading-skeleton-wrapper.js +10 -0
- package/dist/components/ui/modal.d.ts +11 -0
- package/dist/components/ui/modal.d.ts.map +1 -0
- package/dist/components/ui/modal.js +26 -0
- package/dist/components/ui/otp-input.d.ts +10 -0
- package/dist/components/ui/otp-input.d.ts.map +1 -0
- package/dist/components/ui/otp-input.js +57 -0
- package/dist/components/ui/out-of-stock-overlay.d.ts +8 -0
- package/dist/components/ui/out-of-stock-overlay.d.ts.map +1 -0
- package/dist/components/ui/out-of-stock-overlay.js +12 -0
- package/dist/components/ui/page-animate-wrapper.d.ts +7 -0
- package/dist/components/ui/page-animate-wrapper.d.ts.map +1 -0
- package/dist/components/ui/page-animate-wrapper.js +13 -0
- package/dist/components/ui/page-content-loader.d.ts +13 -0
- package/dist/components/ui/page-content-loader.d.ts.map +1 -0
- package/dist/components/ui/page-content-loader.js +12 -0
- package/dist/components/ui/page-loader.d.ts +20 -0
- package/dist/components/ui/page-loader.d.ts.map +1 -0
- package/dist/components/ui/page-loader.js +31 -0
- package/dist/components/ui/product-card.d.ts +11 -0
- package/dist/components/ui/product-card.d.ts.map +1 -0
- package/dist/components/ui/product-card.js +124 -0
- package/dist/components/ui/product-rating.d.ts +17 -0
- package/dist/components/ui/product-rating.d.ts.map +1 -0
- package/dist/components/ui/product-rating.js +54 -0
- package/dist/components/ui/product-stock-badge.d.ts +9 -0
- package/dist/components/ui/product-stock-badge.d.ts.map +1 -0
- package/dist/components/ui/product-stock-badge.js +20 -0
- package/dist/components/ui/review-form.d.ts +9 -0
- package/dist/components/ui/review-form.d.ts.map +1 -0
- package/dist/components/ui/review-form.js +28 -0
- package/dist/components/ui/route-skeleton-loader.d.ts +7 -0
- package/dist/components/ui/route-skeleton-loader.d.ts.map +1 -0
- package/dist/components/ui/route-skeleton-loader.js +75 -0
- package/dist/components/ui/sheet.d.ts +29 -0
- package/dist/components/ui/sheet.d.ts.map +1 -0
- package/dist/components/ui/sheet.js +45 -0
- package/dist/components/ui/skeleton.d.ts +3 -0
- package/dist/components/ui/skeleton.d.ts.map +1 -0
- package/dist/components/ui/skeleton.js +6 -0
- package/dist/components/ui/skeletons/category-grid-skeleton.d.ts +6 -0
- package/dist/components/ui/skeletons/category-grid-skeleton.d.ts.map +1 -0
- package/dist/components/ui/skeletons/category-grid-skeleton.js +9 -0
- package/dist/components/ui/skeletons/checkout-skeleton.d.ts +2 -0
- package/dist/components/ui/skeletons/checkout-skeleton.d.ts.map +1 -0
- package/dist/components/ui/skeletons/checkout-skeleton.js +4 -0
- package/dist/components/ui/skeletons/index.d.ts +6 -0
- package/dist/components/ui/skeletons/index.d.ts.map +1 -0
- package/dist/components/ui/skeletons/index.js +5 -0
- package/dist/components/ui/skeletons/page-skeleton.d.ts +2 -0
- package/dist/components/ui/skeletons/page-skeleton.d.ts.map +1 -0
- package/dist/components/ui/skeletons/page-skeleton.js +4 -0
- package/dist/components/ui/skeletons/product-card-skeleton.d.ts +2 -0
- package/dist/components/ui/skeletons/product-card-skeleton.d.ts.map +1 -0
- package/dist/components/ui/skeletons/product-card-skeleton.js +4 -0
- package/dist/components/ui/skeletons/product-detail-skeleton.d.ts +2 -0
- package/dist/components/ui/skeletons/product-detail-skeleton.d.ts.map +1 -0
- package/dist/components/ui/skeletons/product-detail-skeleton.js +4 -0
- package/dist/components/ui/skeletons/product-grid-skeleton.d.ts +7 -0
- package/dist/components/ui/skeletons/product-grid-skeleton.d.ts.map +1 -0
- package/dist/components/ui/skeletons/product-grid-skeleton.js +12 -0
- package/dist/components/ui/store-logos.d.ts +43 -0
- package/dist/components/ui/store-logos.d.ts.map +1 -0
- package/dist/components/ui/store-logos.js +83 -0
- package/dist/components/ui/toast.d.ts +20 -0
- package/dist/components/ui/toast.d.ts.map +1 -0
- package/dist/components/ui/toast.js +33 -0
- package/dist/components/ui/video-player.d.ts +48 -0
- package/dist/components/ui/video-player.d.ts.map +1 -0
- package/dist/components/ui/video-player.js +101 -0
- package/dist/editor/alignment-schemas/booking-agenda.d.ts +3 -0
- package/dist/editor/alignment-schemas/booking-agenda.d.ts.map +1 -0
- package/dist/editor/alignment-schemas/booking-agenda.js +145 -0
- package/dist/editor/alignment-schemas/booking-footer-section.d.ts +4 -0
- package/dist/editor/alignment-schemas/booking-footer-section.d.ts.map +1 -0
- package/dist/editor/alignment-schemas/booking-footer-section.js +69 -0
- package/dist/editor/alignment-schemas/booking.d.ts +3 -0
- package/dist/editor/alignment-schemas/booking.d.ts.map +1 -0
- package/dist/editor/alignment-schemas/booking.js +476 -0
- package/dist/editor/alignment-schemas/clothing-minimal.d.ts +3 -0
- package/dist/editor/alignment-schemas/clothing-minimal.d.ts.map +1 -0
- package/dist/editor/alignment-schemas/clothing-minimal.js +363 -0
- package/dist/editor/alignment-schemas/clothing.d.ts +3 -0
- package/dist/editor/alignment-schemas/clothing.d.ts.map +1 -0
- package/dist/editor/alignment-schemas/clothing.js +477 -0
- package/dist/editor/alignment-schemas/electronics-grid.d.ts +3 -0
- package/dist/editor/alignment-schemas/electronics-grid.d.ts.map +1 -0
- package/dist/editor/alignment-schemas/electronics-grid.js +97 -0
- package/dist/editor/alignment-schemas/electronics.d.ts +3 -0
- package/dist/editor/alignment-schemas/electronics.d.ts.map +1 -0
- package/dist/editor/alignment-schemas/electronics.js +145 -0
- package/dist/editor/alignment-schemas/food-modern.d.ts +3 -0
- package/dist/editor/alignment-schemas/food-modern.d.ts.map +1 -0
- package/dist/editor/alignment-schemas/food-modern.js +237 -0
- package/dist/editor/alignment-schemas/food.d.ts +3 -0
- package/dist/editor/alignment-schemas/food.d.ts.map +1 -0
- package/dist/editor/alignment-schemas/food.js +494 -0
- package/dist/editor/alignment-schemas/index.d.ts +15 -0
- package/dist/editor/alignment-schemas/index.d.ts.map +1 -0
- package/dist/editor/alignment-schemas/index.js +50 -0
- package/dist/editor/alignment-schemas/lazy-loader.d.ts +14 -0
- package/dist/editor/alignment-schemas/lazy-loader.d.ts.map +1 -0
- package/dist/editor/alignment-schemas/lazy-loader.js +80 -0
- package/dist/editor/alignment-schemas/metadata.d.ts +25 -0
- package/dist/editor/alignment-schemas/metadata.d.ts.map +1 -0
- package/dist/editor/alignment-schemas/metadata.js +225 -0
- package/dist/editor/alignment-schemas/motivational-speaker.d.ts +3 -0
- package/dist/editor/alignment-schemas/motivational-speaker.d.ts.map +1 -0
- package/dist/editor/alignment-schemas/motivational-speaker.js +185 -0
- package/dist/editor/alignment-schemas/resolve-canvas-inspector-leaf.d.ts +18 -0
- package/dist/editor/alignment-schemas/resolve-canvas-inspector-leaf.d.ts.map +1 -0
- package/dist/editor/alignment-schemas/resolve-canvas-inspector-leaf.js +166 -0
- package/dist/editor/alignment-schemas/resolve-field.d.ts +9 -0
- package/dist/editor/alignment-schemas/resolve-field.d.ts.map +1 -0
- package/dist/editor/alignment-schemas/resolve-field.js +56 -0
- package/dist/editor/alignment-schemas/types.d.ts +53 -0
- package/dist/editor/alignment-schemas/types.d.ts.map +1 -0
- package/dist/editor/alignment-schemas/types.js +1 -0
- package/dist/editor/blocks/defaults/clothing-minimal-home.d.ts +9 -0
- package/dist/editor/blocks/defaults/clothing-minimal-home.d.ts.map +1 -0
- package/dist/editor/blocks/defaults/clothing-minimal-home.js +207 -0
- package/dist/editor/blocks/index.d.ts +4 -0
- package/dist/editor/blocks/index.d.ts.map +1 -0
- package/dist/editor/blocks/index.js +3 -0
- package/dist/editor/blocks/migrate-clothing-minimal.d.ts +5 -0
- package/dist/editor/blocks/migrate-clothing-minimal.d.ts.map +1 -0
- package/dist/editor/blocks/migrate-clothing-minimal.js +140 -0
- package/dist/editor/blocks/nav-outline-utils.d.ts +47 -0
- package/dist/editor/blocks/nav-outline-utils.d.ts.map +1 -0
- package/dist/editor/blocks/nav-outline-utils.js +201 -0
- package/dist/editor/blocks/registry.d.ts +19 -0
- package/dist/editor/blocks/registry.d.ts.map +1 -0
- package/dist/editor/blocks/registry.js +118 -0
- package/dist/editor/blocks/types.d.ts +14 -0
- package/dist/editor/blocks/types.d.ts.map +1 -0
- package/dist/editor/blocks/types.js +14 -0
- package/dist/editor/document/adapter.d.ts +44 -0
- package/dist/editor/document/adapter.d.ts.map +1 -0
- package/dist/editor/document/adapter.js +159 -0
- package/dist/editor/document/block-tree.d.ts +46 -0
- package/dist/editor/document/block-tree.d.ts.map +1 -0
- package/dist/editor/document/block-tree.js +345 -0
- package/dist/editor/document/constants.d.ts +6 -0
- package/dist/editor/document/constants.d.ts.map +1 -0
- package/dist/editor/document/constants.js +14 -0
- package/dist/editor/document/index.d.ts +7 -0
- package/dist/editor/document/index.d.ts.map +1 -0
- package/dist/editor/document/index.js +6 -0
- package/dist/editor/document/layout-id.d.ts +3 -0
- package/dist/editor/document/layout-id.d.ts.map +1 -0
- package/dist/editor/document/layout-id.js +17 -0
- package/dist/editor/document/types.d.ts +91 -0
- package/dist/editor/document/types.d.ts.map +1 -0
- package/dist/editor/document/types.js +1 -0
- package/dist/editor/document/validate.d.ts +11 -0
- package/dist/editor/document/validate.d.ts.map +1 -0
- package/dist/editor/document/validate.js +92 -0
- package/dist/editor/feature-flags.d.ts +11 -0
- package/dist/editor/feature-flags.d.ts.map +1 -0
- package/dist/editor/feature-flags.js +19 -0
- package/dist/editor/index.d.ts +28 -0
- package/dist/editor/index.d.ts.map +1 -0
- package/dist/editor/index.js +72 -0
- package/dist/editor/layout-content-loader.d.ts +13 -0
- package/dist/editor/layout-content-loader.d.ts.map +1 -0
- package/dist/editor/layout-content-loader.js +222 -0
- package/dist/editor/payaza-form/ActiveArrayFocusContext.d.ts +20 -0
- package/dist/editor/payaza-form/ActiveArrayFocusContext.d.ts.map +1 -0
- package/dist/editor/payaza-form/ActiveArrayFocusContext.js +31 -0
- package/dist/editor/payaza-form/ArrayItemManager.d.ts +19 -0
- package/dist/editor/payaza-form/ArrayItemManager.d.ts.map +1 -0
- package/dist/editor/payaza-form/ArrayItemManager.js +62 -0
- package/dist/editor/payaza-form/AssetSelectionContext.d.ts +17 -0
- package/dist/editor/payaza-form/AssetSelectionContext.d.ts.map +1 -0
- package/dist/editor/payaza-form/AssetSelectionContext.js +81 -0
- package/dist/editor/payaza-form/EditorCanvasPreview.d.ts +41 -0
- package/dist/editor/payaza-form/EditorCanvasPreview.d.ts.map +1 -0
- package/dist/editor/payaza-form/EditorCanvasPreview.js +56 -0
- package/dist/editor/payaza-form/EditorLayoutContext.d.ts +8 -0
- package/dist/editor/payaza-form/EditorLayoutContext.d.ts.map +1 -0
- package/dist/editor/payaza-form/EditorLayoutContext.js +6 -0
- package/dist/editor/payaza-form/FieldRenderer.d.ts +16 -0
- package/dist/editor/payaza-form/FieldRenderer.d.ts.map +1 -0
- package/dist/editor/payaza-form/FieldRenderer.js +192 -0
- package/dist/editor/payaza-form/IframePreviewMessageBridge.d.ts +29 -0
- package/dist/editor/payaza-form/IframePreviewMessageBridge.d.ts.map +1 -0
- package/dist/editor/payaza-form/IframePreviewMessageBridge.js +46 -0
- package/dist/editor/payaza-form/PayazaFormEditor.d.ts +12 -0
- package/dist/editor/payaza-form/PayazaFormEditor.d.ts.map +1 -0
- package/dist/editor/payaza-form/PayazaFormEditor.js +1226 -0
- package/dist/editor/payaza-form/PayazaFormEditorFullPage.d.ts +9 -0
- package/dist/editor/payaza-form/PayazaFormEditorFullPage.d.ts.map +1 -0
- package/dist/editor/payaza-form/PayazaFormEditorFullPage.js +6 -0
- package/dist/editor/payaza-form/SliderArrayEditor.d.ts +17 -0
- package/dist/editor/payaza-form/SliderArrayEditor.d.ts.map +1 -0
- package/dist/editor/payaza-form/SliderArrayEditor.js +96 -0
- package/dist/editor/payaza-form/components/ArrayField.d.ts +21 -0
- package/dist/editor/payaza-form/components/ArrayField.d.ts.map +1 -0
- package/dist/editor/payaza-form/components/ArrayField.js +18 -0
- package/dist/editor/payaza-form/components/BlockStylesInspector.d.ts +9 -0
- package/dist/editor/payaza-form/components/BlockStylesInspector.d.ts.map +1 -0
- package/dist/editor/payaza-form/components/BlockStylesInspector.js +150 -0
- package/dist/editor/payaza-form/components/BlocksField.d.ts +17 -0
- package/dist/editor/payaza-form/components/BlocksField.d.ts.map +1 -0
- package/dist/editor/payaza-form/components/BlocksField.js +108 -0
- package/dist/editor/payaza-form/components/ButtonField.d.ts +15 -0
- package/dist/editor/payaza-form/components/ButtonField.d.ts.map +1 -0
- package/dist/editor/payaza-form/components/ButtonField.js +17 -0
- package/dist/editor/payaza-form/components/CanvasGranularInspector.d.ts +16 -0
- package/dist/editor/payaza-form/components/CanvasGranularInspector.d.ts.map +1 -0
- package/dist/editor/payaza-form/components/CanvasGranularInspector.js +32 -0
- package/dist/editor/payaza-form/components/FieldDensityContext.d.ts +10 -0
- package/dist/editor/payaza-form/components/FieldDensityContext.d.ts.map +1 -0
- package/dist/editor/payaza-form/components/FieldDensityContext.js +13 -0
- package/dist/editor/payaza-form/components/IconField.d.ts +12 -0
- package/dist/editor/payaza-form/components/IconField.d.ts.map +1 -0
- package/dist/editor/payaza-form/components/IconField.js +42 -0
- package/dist/editor/payaza-form/components/ImageField.d.ts +10 -0
- package/dist/editor/payaza-form/components/ImageField.d.ts.map +1 -0
- package/dist/editor/payaza-form/components/ImageField.js +30 -0
- package/dist/editor/payaza-form/components/NumberField.d.ts +14 -0
- package/dist/editor/payaza-form/components/NumberField.d.ts.map +1 -0
- package/dist/editor/payaza-form/components/NumberField.js +23 -0
- package/dist/editor/payaza-form/components/ObjectField.d.ts +11 -0
- package/dist/editor/payaza-form/components/ObjectField.d.ts.map +1 -0
- package/dist/editor/payaza-form/components/ObjectField.js +7 -0
- package/dist/editor/payaza-form/components/RichTextField.d.ts +15 -0
- package/dist/editor/payaza-form/components/RichTextField.d.ts.map +1 -0
- package/dist/editor/payaza-form/components/RichTextField.js +88 -0
- package/dist/editor/payaza-form/components/SectionField.d.ts +14 -0
- package/dist/editor/payaza-form/components/SectionField.d.ts.map +1 -0
- package/dist/editor/payaza-form/components/SectionField.js +8 -0
- package/dist/editor/payaza-form/components/SectionSchemaInspector.d.ts +18 -0
- package/dist/editor/payaza-form/components/SectionSchemaInspector.d.ts.map +1 -0
- package/dist/editor/payaza-form/components/SectionSchemaInspector.js +64 -0
- package/dist/editor/payaza-form/components/SegmentedControlField.d.ts +13 -0
- package/dist/editor/payaza-form/components/SegmentedControlField.d.ts.map +1 -0
- package/dist/editor/payaza-form/components/SegmentedControlField.js +7 -0
- package/dist/editor/payaza-form/components/StarRatingField.d.ts +13 -0
- package/dist/editor/payaza-form/components/StarRatingField.d.ts.map +1 -0
- package/dist/editor/payaza-form/components/StarRatingField.js +16 -0
- package/dist/editor/payaza-form/components/TextField.d.ts +13 -0
- package/dist/editor/payaza-form/components/TextField.d.ts.map +1 -0
- package/dist/editor/payaza-form/components/TextField.js +12 -0
- package/dist/editor/payaza-form/components/TextareaField.d.ts +11 -0
- package/dist/editor/payaza-form/components/TextareaField.d.ts.map +1 -0
- package/dist/editor/payaza-form/components/TextareaField.js +6 -0
- package/dist/editor/payaza-form/components/ToggleField.d.ts +12 -0
- package/dist/editor/payaza-form/components/ToggleField.d.ts.map +1 -0
- package/dist/editor/payaza-form/components/ToggleField.js +15 -0
- package/dist/editor/payaza-form/data-merger.d.ts +28 -0
- package/dist/editor/payaza-form/data-merger.d.ts.map +1 -0
- package/dist/editor/payaza-form/data-merger.js +878 -0
- package/dist/editor/payaza-form/data-transformer.d.ts +28 -0
- package/dist/editor/payaza-form/data-transformer.d.ts.map +1 -0
- package/dist/editor/payaza-form/data-transformer.js +304 -0
- package/dist/editor/payaza-form/engine.d.ts +72 -0
- package/dist/editor/payaza-form/engine.d.ts.map +1 -0
- package/dist/editor/payaza-form/engine.js +140 -0
- package/dist/editor/payaza-form/examples/custom-widgets.example.d.ts +8 -0
- package/dist/editor/payaza-form/examples/custom-widgets.example.d.ts.map +1 -0
- package/dist/editor/payaza-form/examples/custom-widgets.example.js +51 -0
- package/dist/editor/payaza-form/field-renderer-ref.d.ts +4 -0
- package/dist/editor/payaza-form/field-renderer-ref.d.ts.map +1 -0
- package/dist/editor/payaza-form/field-renderer-ref.js +16 -0
- package/dist/editor/payaza-form/index.d.ts +11 -0
- package/dist/editor/payaza-form/index.d.ts.map +1 -0
- package/dist/editor/payaza-form/index.js +8 -0
- package/dist/editor/payaza-form/layout-loader.d.ts +12 -0
- package/dist/editor/payaza-form/layout-loader.d.ts.map +1 -0
- package/dist/editor/payaza-form/layout-loader.js +43 -0
- package/dist/editor/payaza-form/payaza-style-sanitize.d.ts +14 -0
- package/dist/editor/payaza-form/payaza-style-sanitize.d.ts.map +1 -0
- package/dist/editor/payaza-form/payaza-style-sanitize.js +76 -0
- package/dist/editor/payaza-form/preview-message-handler.d.ts +18 -0
- package/dist/editor/payaza-form/preview-message-handler.d.ts.map +1 -0
- package/dist/editor/payaza-form/preview-message-handler.js +89 -0
- package/dist/editor/payaza-form/schema-bridge.d.ts +12 -0
- package/dist/editor/payaza-form/schema-bridge.d.ts.map +1 -0
- package/dist/editor/payaza-form/schema-bridge.js +90 -0
- package/dist/editor/payaza-form/widget-registry.d.ts +94 -0
- package/dist/editor/payaza-form/widget-registry.d.ts.map +1 -0
- package/dist/editor/payaza-form/widget-registry.js +107 -0
- package/dist/editor/shared/AIGenerateModal.d.ts +17 -0
- package/dist/editor/shared/AIGenerateModal.d.ts.map +1 -0
- package/dist/editor/shared/AIGenerateModal.js +59 -0
- package/dist/editor/shared/BlockOutlineTree.d.ts +14 -0
- package/dist/editor/shared/BlockOutlineTree.d.ts.map +1 -0
- package/dist/editor/shared/BlockOutlineTree.js +47 -0
- package/dist/editor/shared/EditorHeader.d.ts +61 -0
- package/dist/editor/shared/EditorHeader.d.ts.map +1 -0
- package/dist/editor/shared/EditorHeader.js +181 -0
- package/dist/editor/shared/EditorNavigator.d.ts +42 -0
- package/dist/editor/shared/EditorNavigator.d.ts.map +1 -0
- package/dist/editor/shared/EditorNavigator.js +44 -0
- package/dist/editor/shared/IframePreview.d.ts +36 -0
- package/dist/editor/shared/IframePreview.d.ts.map +1 -0
- package/dist/editor/shared/IframePreview.js +217 -0
- package/dist/editor/shared/InlineCanvasPreview.d.ts +36 -0
- package/dist/editor/shared/InlineCanvasPreview.d.ts.map +1 -0
- package/dist/editor/shared/InlineCanvasPreview.js +174 -0
- package/dist/editor/shared/LayoutRenderer.d.ts +11 -0
- package/dist/editor/shared/LayoutRenderer.d.ts.map +1 -0
- package/dist/editor/shared/LayoutRenderer.js +7 -0
- package/dist/editor/shared/PageTabs.d.ts +13 -0
- package/dist/editor/shared/PageTabs.d.ts.map +1 -0
- package/dist/editor/shared/PageTabs.js +6 -0
- package/dist/editor/shared/ResizableSidebar.d.ts +14 -0
- package/dist/editor/shared/ResizableSidebar.d.ts.map +1 -0
- package/dist/editor/shared/ResizableSidebar.js +45 -0
- package/dist/editor/shared/index.d.ts +8 -0
- package/dist/editor/shared/index.d.ts.map +1 -0
- package/dist/editor/shared/index.js +7 -0
- package/dist/editor/shared/preview-viewport.d.ts +9 -0
- package/dist/editor/shared/preview-viewport.d.ts.map +1 -0
- package/dist/editor/shared/preview-viewport.js +17 -0
- package/dist/editor/shared/useEditorChromeMetrics.d.ts +15 -0
- package/dist/editor/shared/useEditorChromeMetrics.d.ts.map +1 -0
- package/dist/editor/shared/useEditorChromeMetrics.js +52 -0
- package/dist/editor/types.d.ts +162 -0
- package/dist/editor/types.d.ts.map +1 -0
- package/dist/editor/types.js +1 -0
- package/dist/hooks/use-analytics.d.ts +15 -0
- package/dist/hooks/use-analytics.d.ts.map +1 -0
- package/dist/hooks/use-analytics.js +62 -0
- package/dist/hooks/use-api.d.ts +17 -0
- package/dist/hooks/use-api.d.ts.map +1 -0
- package/dist/hooks/use-api.js +53 -0
- package/dist/hooks/use-cart-api.d.ts +28 -0
- package/dist/hooks/use-cart-api.d.ts.map +1 -0
- package/dist/hooks/use-cart-api.js +116 -0
- package/dist/hooks/use-catalog-loader.d.ts +19 -0
- package/dist/hooks/use-catalog-loader.d.ts.map +1 -0
- package/dist/hooks/use-catalog-loader.js +107 -0
- package/dist/hooks/use-catalog-price-range.d.ts +17 -0
- package/dist/hooks/use-catalog-price-range.d.ts.map +1 -0
- package/dist/hooks/use-catalog-price-range.js +26 -0
- package/dist/hooks/use-checkout-fees.d.ts +16 -0
- package/dist/hooks/use-checkout-fees.d.ts.map +1 -0
- package/dist/hooks/use-checkout-fees.js +105 -0
- package/dist/hooks/use-content-ready.d.ts +17 -0
- package/dist/hooks/use-content-ready.d.ts.map +1 -0
- package/dist/hooks/use-content-ready.js +197 -0
- package/dist/hooks/use-debounce.d.ts +6 -0
- package/dist/hooks/use-debounce.d.ts.map +1 -0
- package/dist/hooks/use-debounce.js +17 -0
- package/dist/hooks/use-multi-store-checkout-fees.d.ts +25 -0
- package/dist/hooks/use-multi-store-checkout-fees.d.ts.map +1 -0
- package/dist/hooks/use-multi-store-checkout-fees.js +116 -0
- package/dist/hooks/use-navigation-loading.d.ts +4 -0
- package/dist/hooks/use-navigation-loading.d.ts.map +1 -0
- package/dist/hooks/use-navigation-loading.js +14 -0
- package/dist/hooks/use-payaza-checkout.d.ts +15 -0
- package/dist/hooks/use-payaza-checkout.d.ts.map +1 -0
- package/dist/hooks/use-payaza-checkout.js +123 -0
- package/dist/hooks/use-product-variation-selection.d.ts +26 -0
- package/dist/hooks/use-product-variation-selection.d.ts.map +1 -0
- package/dist/hooks/use-product-variation-selection.js +26 -0
- package/dist/hooks/use-products-api.d.ts +19 -0
- package/dist/hooks/use-products-api.d.ts.map +1 -0
- package/dist/hooks/use-products-api.js +84 -0
- package/dist/hooks/use-shipping-quote.d.ts +25 -0
- package/dist/hooks/use-shipping-quote.d.ts.map +1 -0
- package/dist/hooks/use-shipping-quote.js +80 -0
- package/dist/hooks/use-store-api.d.ts +12 -0
- package/dist/hooks/use-store-api.d.ts.map +1 -0
- package/dist/hooks/use-store-api.js +73 -0
- package/dist/hooks/usePreviewSlideSync.d.ts +5 -0
- package/dist/hooks/usePreviewSlideSync.d.ts.map +1 -0
- package/dist/hooks/usePreviewSlideSync.js +28 -0
- package/dist/index.d.ts +150 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +164 -0
- package/dist/json/booking-agenda.json +166 -0
- package/dist/json/booking.json +224 -0
- package/dist/json/clothing-minimal.json +203 -0
- package/dist/json/clothing.json +418 -0
- package/dist/json/electronics-grid.json +246 -0
- package/dist/json/electronics.json +303 -0
- package/dist/json/food-modern.json +191 -0
- package/dist/json/food.json +283 -0
- package/dist/json/json-map.d.ts +7 -0
- package/dist/json/json-map.d.ts.map +1 -0
- package/dist/json/json-map.js +36 -0
- package/dist/json/motivational-speaker.json +361 -0
- package/dist/layouts/booking/components/BookingHomePage.d.ts +7 -0
- package/dist/layouts/booking/components/BookingHomePage.d.ts.map +1 -0
- package/dist/layouts/booking/components/BookingHomePage.js +107 -0
- package/dist/layouts/booking/components/BookingMultilineHeading.d.ts +20 -0
- package/dist/layouts/booking/components/BookingMultilineHeading.d.ts.map +1 -0
- package/dist/layouts/booking/components/BookingMultilineHeading.js +32 -0
- package/dist/layouts/booking/components/BookingTestimonialCard.d.ts +10 -0
- package/dist/layouts/booking/components/BookingTestimonialCard.d.ts.map +1 -0
- package/dist/layouts/booking/components/BookingTestimonialCard.js +11 -0
- package/dist/layouts/booking/components/BookingTestimonialsEmptyState.d.ts +9 -0
- package/dist/layouts/booking/components/BookingTestimonialsEmptyState.d.ts.map +1 -0
- package/dist/layouts/booking/components/BookingTestimonialsEmptyState.js +19 -0
- package/dist/layouts/booking/components/booking-about-defaults.d.ts +26 -0
- package/dist/layouts/booking/components/booking-about-defaults.d.ts.map +1 -0
- package/dist/layouts/booking/components/booking-about-defaults.js +99 -0
- package/dist/layouts/booking/components/booking-footer-defaults.d.ts +19 -0
- package/dist/layouts/booking/components/booking-footer-defaults.d.ts.map +1 -0
- package/dist/layouts/booking/components/booking-footer-defaults.js +52 -0
- package/dist/layouts/booking/components/booking-testimonial-defaults.d.ts +21 -0
- package/dist/layouts/booking/components/booking-testimonial-defaults.d.ts.map +1 -0
- package/dist/layouts/booking/components/booking-testimonial-defaults.js +112 -0
- package/dist/layouts/booking/index.d.ts +9 -0
- package/dist/layouts/booking/index.d.ts.map +1 -0
- package/dist/layouts/booking/index.js +9 -0
- package/dist/layouts/booking/pages/AboutPage.d.ts +7 -0
- package/dist/layouts/booking/pages/AboutPage.d.ts.map +1 -0
- package/dist/layouts/booking/pages/AboutPage.js +69 -0
- package/dist/layouts/booking/pages/BookPage.d.ts +8 -0
- package/dist/layouts/booking/pages/BookPage.d.ts.map +1 -0
- package/dist/layouts/booking/pages/BookPage.js +482 -0
- package/dist/layouts/booking/pages/CategoriesPage.d.ts +7 -0
- package/dist/layouts/booking/pages/CategoriesPage.d.ts.map +1 -0
- package/dist/layouts/booking/pages/CategoriesPage.js +30 -0
- package/dist/layouts/booking/pages/CategoryPage.d.ts +8 -0
- package/dist/layouts/booking/pages/CategoryPage.d.ts.map +1 -0
- package/dist/layouts/booking/pages/CategoryPage.js +51 -0
- package/dist/layouts/booking/pages/ContactPage.d.ts +7 -0
- package/dist/layouts/booking/pages/ContactPage.d.ts.map +1 -0
- package/dist/layouts/booking/pages/ContactPage.js +59 -0
- package/dist/layouts/booking/pages/ProductDetailPage.d.ts +8 -0
- package/dist/layouts/booking/pages/ProductDetailPage.d.ts.map +1 -0
- package/dist/layouts/booking/pages/ProductDetailPage.js +433 -0
- package/dist/layouts/booking/pages/ServicesPage.d.ts +9 -0
- package/dist/layouts/booking/pages/ServicesPage.d.ts.map +1 -0
- package/dist/layouts/booking/pages/ServicesPage.js +54 -0
- package/dist/layouts/booking-agenda/components/BookingHomePageAgenda.d.ts +7 -0
- package/dist/layouts/booking-agenda/components/BookingHomePageAgenda.d.ts.map +1 -0
- package/dist/layouts/booking-agenda/components/BookingHomePageAgenda.js +283 -0
- package/dist/layouts/booking-agenda/index.d.ts +9 -0
- package/dist/layouts/booking-agenda/index.d.ts.map +1 -0
- package/dist/layouts/booking-agenda/index.js +9 -0
- package/dist/layouts/booking-agenda/pages/AboutPage.d.ts +7 -0
- package/dist/layouts/booking-agenda/pages/AboutPage.d.ts.map +1 -0
- package/dist/layouts/booking-agenda/pages/AboutPage.js +51 -0
- package/dist/layouts/booking-agenda/pages/BookPage.d.ts +8 -0
- package/dist/layouts/booking-agenda/pages/BookPage.d.ts.map +1 -0
- package/dist/layouts/booking-agenda/pages/BookPage.js +468 -0
- package/dist/layouts/booking-agenda/pages/CategoriesPage.d.ts +7 -0
- package/dist/layouts/booking-agenda/pages/CategoriesPage.d.ts.map +1 -0
- package/dist/layouts/booking-agenda/pages/CategoriesPage.js +23 -0
- package/dist/layouts/booking-agenda/pages/CategoryPage.d.ts +8 -0
- package/dist/layouts/booking-agenda/pages/CategoryPage.d.ts.map +1 -0
- package/dist/layouts/booking-agenda/pages/CategoryPage.js +48 -0
- package/dist/layouts/booking-agenda/pages/ContactPage.d.ts +7 -0
- package/dist/layouts/booking-agenda/pages/ContactPage.d.ts.map +1 -0
- package/dist/layouts/booking-agenda/pages/ContactPage.js +57 -0
- package/dist/layouts/booking-agenda/pages/ProductDetailPage.d.ts +8 -0
- package/dist/layouts/booking-agenda/pages/ProductDetailPage.d.ts.map +1 -0
- package/dist/layouts/booking-agenda/pages/ProductDetailPage.js +433 -0
- package/dist/layouts/booking-agenda/pages/ServicesPage.d.ts +9 -0
- package/dist/layouts/booking-agenda/pages/ServicesPage.d.ts.map +1 -0
- package/dist/layouts/booking-agenda/pages/ServicesPage.js +46 -0
- package/dist/layouts/clothing/components/ClothingHomePage.d.ts +7 -0
- package/dist/layouts/clothing/components/ClothingHomePage.d.ts.map +1 -0
- package/dist/layouts/clothing/components/ClothingHomePage.js +260 -0
- package/dist/layouts/clothing/index.d.ts +8 -0
- package/dist/layouts/clothing/index.d.ts.map +1 -0
- package/dist/layouts/clothing/index.js +8 -0
- package/dist/layouts/clothing/pages/AboutPage.d.ts +7 -0
- package/dist/layouts/clothing/pages/AboutPage.d.ts.map +1 -0
- package/dist/layouts/clothing/pages/AboutPage.js +55 -0
- package/dist/layouts/clothing/pages/CategoriesPage.d.ts +7 -0
- package/dist/layouts/clothing/pages/CategoriesPage.d.ts.map +1 -0
- package/dist/layouts/clothing/pages/CategoriesPage.js +34 -0
- package/dist/layouts/clothing/pages/CategoryPage.d.ts +8 -0
- package/dist/layouts/clothing/pages/CategoryPage.d.ts.map +1 -0
- package/dist/layouts/clothing/pages/CategoryPage.js +77 -0
- package/dist/layouts/clothing/pages/ContactPage.d.ts +7 -0
- package/dist/layouts/clothing/pages/ContactPage.d.ts.map +1 -0
- package/dist/layouts/clothing/pages/ContactPage.js +58 -0
- package/dist/layouts/clothing/pages/ProductDetailPage.d.ts +8 -0
- package/dist/layouts/clothing/pages/ProductDetailPage.d.ts.map +1 -0
- package/dist/layouts/clothing/pages/ProductDetailPage.js +393 -0
- package/dist/layouts/clothing/pages/ProductsPage.d.ts +7 -0
- package/dist/layouts/clothing/pages/ProductsPage.d.ts.map +1 -0
- package/dist/layouts/clothing/pages/ProductsPage.js +268 -0
- package/dist/layouts/clothing/payaza-bindings.d.ts +23 -0
- package/dist/layouts/clothing/payaza-bindings.d.ts.map +1 -0
- package/dist/layouts/clothing/payaza-bindings.js +17 -0
- package/dist/layouts/clothing/styles/clothing.css +80 -0
- package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.d.ts +7 -0
- package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.d.ts.map +1 -0
- package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.js +163 -0
- package/dist/layouts/clothing-minimal/components/clothing-minimal-block-render.d.ts +40 -0
- package/dist/layouts/clothing-minimal/components/clothing-minimal-block-render.d.ts.map +1 -0
- package/dist/layouts/clothing-minimal/components/clothing-minimal-block-render.js +180 -0
- package/dist/layouts/clothing-minimal/index.d.ts +8 -0
- package/dist/layouts/clothing-minimal/index.d.ts.map +1 -0
- package/dist/layouts/clothing-minimal/index.js +8 -0
- package/dist/layouts/clothing-minimal/pages/AboutPage.d.ts +7 -0
- package/dist/layouts/clothing-minimal/pages/AboutPage.d.ts.map +1 -0
- package/dist/layouts/clothing-minimal/pages/AboutPage.js +71 -0
- package/dist/layouts/clothing-minimal/pages/CategoriesPage.d.ts +7 -0
- package/dist/layouts/clothing-minimal/pages/CategoriesPage.d.ts.map +1 -0
- package/dist/layouts/clothing-minimal/pages/CategoriesPage.js +35 -0
- package/dist/layouts/clothing-minimal/pages/CategoryPage.d.ts +8 -0
- package/dist/layouts/clothing-minimal/pages/CategoryPage.d.ts.map +1 -0
- package/dist/layouts/clothing-minimal/pages/CategoryPage.js +56 -0
- package/dist/layouts/clothing-minimal/pages/ContactPage.d.ts +7 -0
- package/dist/layouts/clothing-minimal/pages/ContactPage.d.ts.map +1 -0
- package/dist/layouts/clothing-minimal/pages/ContactPage.js +53 -0
- package/dist/layouts/clothing-minimal/pages/ProductDetailPage.d.ts +8 -0
- package/dist/layouts/clothing-minimal/pages/ProductDetailPage.d.ts.map +1 -0
- package/dist/layouts/clothing-minimal/pages/ProductDetailPage.js +432 -0
- package/dist/layouts/clothing-minimal/pages/ProductsPage.d.ts +7 -0
- package/dist/layouts/clothing-minimal/pages/ProductsPage.d.ts.map +1 -0
- package/dist/layouts/clothing-minimal/pages/ProductsPage.js +274 -0
- package/dist/layouts/electronics/components/ElectronicsCategoriesPage.d.ts +7 -0
- package/dist/layouts/electronics/components/ElectronicsCategoriesPage.d.ts.map +1 -0
- package/dist/layouts/electronics/components/ElectronicsCategoriesPage.js +40 -0
- package/dist/layouts/electronics/components/ElectronicsGridProductCard.d.ts +10 -0
- package/dist/layouts/electronics/components/ElectronicsGridProductCard.d.ts.map +1 -0
- package/dist/layouts/electronics/components/ElectronicsGridProductCard.js +107 -0
- package/dist/layouts/electronics/components/ElectronicsHomePage.d.ts +7 -0
- package/dist/layouts/electronics/components/ElectronicsHomePage.d.ts.map +1 -0
- package/dist/layouts/electronics/components/ElectronicsHomePage.js +96 -0
- package/dist/layouts/electronics/components/ElectronicsPageWrapper.d.ts +8 -0
- package/dist/layouts/electronics/components/ElectronicsPageWrapper.d.ts.map +1 -0
- package/dist/layouts/electronics/components/ElectronicsPageWrapper.js +10 -0
- package/dist/layouts/electronics/components/ElectronicsProductsPage.d.ts +7 -0
- package/dist/layouts/electronics/components/ElectronicsProductsPage.d.ts.map +1 -0
- package/dist/layouts/electronics/components/ElectronicsProductsPage.js +99 -0
- package/dist/layouts/electronics/components/ElectronicsStoreFooter.d.ts +7 -0
- package/dist/layouts/electronics/components/ElectronicsStoreFooter.d.ts.map +1 -0
- package/dist/layouts/electronics/components/ElectronicsStoreFooter.js +11 -0
- package/dist/layouts/electronics/components/ElectronicsStoreHeader.d.ts +7 -0
- package/dist/layouts/electronics/components/ElectronicsStoreHeader.d.ts.map +1 -0
- package/dist/layouts/electronics/components/ElectronicsStoreHeader.js +39 -0
- package/dist/layouts/electronics/index.d.ts +19 -0
- package/dist/layouts/electronics/index.d.ts.map +1 -0
- package/dist/layouts/electronics/index.js +19 -0
- package/dist/layouts/electronics/pages/AboutPage.d.ts +7 -0
- package/dist/layouts/electronics/pages/AboutPage.d.ts.map +1 -0
- package/dist/layouts/electronics/pages/AboutPage.js +51 -0
- package/dist/layouts/electronics/pages/CategoriesPage.d.ts +7 -0
- package/dist/layouts/electronics/pages/CategoriesPage.d.ts.map +1 -0
- package/dist/layouts/electronics/pages/CategoriesPage.js +6 -0
- package/dist/layouts/electronics/pages/CategoryPage.d.ts +8 -0
- package/dist/layouts/electronics/pages/CategoryPage.d.ts.map +1 -0
- package/dist/layouts/electronics/pages/CategoryPage.js +55 -0
- package/dist/layouts/electronics/pages/ContactPage.d.ts +7 -0
- package/dist/layouts/electronics/pages/ContactPage.d.ts.map +1 -0
- package/dist/layouts/electronics/pages/ContactPage.js +57 -0
- package/dist/layouts/electronics/pages/HelpCenterPage.d.ts +7 -0
- package/dist/layouts/electronics/pages/HelpCenterPage.d.ts.map +1 -0
- package/dist/layouts/electronics/pages/HelpCenterPage.js +55 -0
- package/dist/layouts/electronics/pages/PrivacyPolicyPage.d.ts +7 -0
- package/dist/layouts/electronics/pages/PrivacyPolicyPage.d.ts.map +1 -0
- package/dist/layouts/electronics/pages/PrivacyPolicyPage.js +9 -0
- package/dist/layouts/electronics/pages/ProductDetailPage.d.ts +8 -0
- package/dist/layouts/electronics/pages/ProductDetailPage.d.ts.map +1 -0
- package/dist/layouts/electronics/pages/ProductDetailPage.js +430 -0
- package/dist/layouts/electronics/pages/ProductsPage.d.ts +7 -0
- package/dist/layouts/electronics/pages/ProductsPage.d.ts.map +1 -0
- package/dist/layouts/electronics/pages/ProductsPage.js +273 -0
- package/dist/layouts/electronics/pages/ShippingReturnsPage.d.ts +7 -0
- package/dist/layouts/electronics/pages/ShippingReturnsPage.d.ts.map +1 -0
- package/dist/layouts/electronics/pages/ShippingReturnsPage.js +7 -0
- package/dist/layouts/electronics/pages/TermsPage.d.ts +7 -0
- package/dist/layouts/electronics/pages/TermsPage.d.ts.map +1 -0
- package/dist/layouts/electronics/pages/TermsPage.js +9 -0
- package/dist/layouts/electronics/pages/TrackOrderPage.d.ts +7 -0
- package/dist/layouts/electronics/pages/TrackOrderPage.d.ts.map +1 -0
- package/dist/layouts/electronics/pages/TrackOrderPage.js +376 -0
- package/dist/layouts/electronics-grid/components/ElectronicsGridProductCard.d.ts +10 -0
- package/dist/layouts/electronics-grid/components/ElectronicsGridProductCard.d.ts.map +1 -0
- package/dist/layouts/electronics-grid/components/ElectronicsGridProductCard.js +107 -0
- package/dist/layouts/electronics-grid/components/ElectronicsHomePageGrid.d.ts +7 -0
- package/dist/layouts/electronics-grid/components/ElectronicsHomePageGrid.d.ts.map +1 -0
- package/dist/layouts/electronics-grid/components/ElectronicsHomePageGrid.js +111 -0
- package/dist/layouts/electronics-grid/index.d.ts +15 -0
- package/dist/layouts/electronics-grid/index.d.ts.map +1 -0
- package/dist/layouts/electronics-grid/index.js +15 -0
- package/dist/layouts/electronics-grid/pages/AboutPage.d.ts +7 -0
- package/dist/layouts/electronics-grid/pages/AboutPage.d.ts.map +1 -0
- package/dist/layouts/electronics-grid/pages/AboutPage.js +51 -0
- package/dist/layouts/electronics-grid/pages/CategoriesPage.d.ts +7 -0
- package/dist/layouts/electronics-grid/pages/CategoriesPage.d.ts.map +1 -0
- package/dist/layouts/electronics-grid/pages/CategoriesPage.js +6 -0
- package/dist/layouts/electronics-grid/pages/CategoryPage.d.ts +8 -0
- package/dist/layouts/electronics-grid/pages/CategoryPage.d.ts.map +1 -0
- package/dist/layouts/electronics-grid/pages/CategoryPage.js +55 -0
- package/dist/layouts/electronics-grid/pages/ContactPage.d.ts +7 -0
- package/dist/layouts/electronics-grid/pages/ContactPage.d.ts.map +1 -0
- package/dist/layouts/electronics-grid/pages/ContactPage.js +57 -0
- package/dist/layouts/electronics-grid/pages/ElectronicsGridCategoriesPage.d.ts +7 -0
- package/dist/layouts/electronics-grid/pages/ElectronicsGridCategoriesPage.d.ts.map +1 -0
- package/dist/layouts/electronics-grid/pages/ElectronicsGridCategoriesPage.js +26 -0
- package/dist/layouts/electronics-grid/pages/HelpCenterPage.d.ts +7 -0
- package/dist/layouts/electronics-grid/pages/HelpCenterPage.d.ts.map +1 -0
- package/dist/layouts/electronics-grid/pages/HelpCenterPage.js +55 -0
- package/dist/layouts/electronics-grid/pages/PrivacyPolicyPage.d.ts +7 -0
- package/dist/layouts/electronics-grid/pages/PrivacyPolicyPage.d.ts.map +1 -0
- package/dist/layouts/electronics-grid/pages/PrivacyPolicyPage.js +9 -0
- package/dist/layouts/electronics-grid/pages/ProductDetailPage.d.ts +8 -0
- package/dist/layouts/electronics-grid/pages/ProductDetailPage.d.ts.map +1 -0
- package/dist/layouts/electronics-grid/pages/ProductDetailPage.js +430 -0
- package/dist/layouts/electronics-grid/pages/ProductsPage.d.ts +7 -0
- package/dist/layouts/electronics-grid/pages/ProductsPage.d.ts.map +1 -0
- package/dist/layouts/electronics-grid/pages/ProductsPage.js +273 -0
- package/dist/layouts/electronics-grid/pages/ShippingReturnsPage.d.ts +7 -0
- package/dist/layouts/electronics-grid/pages/ShippingReturnsPage.d.ts.map +1 -0
- package/dist/layouts/electronics-grid/pages/ShippingReturnsPage.js +7 -0
- package/dist/layouts/electronics-grid/pages/TermsPage.d.ts +7 -0
- package/dist/layouts/electronics-grid/pages/TermsPage.d.ts.map +1 -0
- package/dist/layouts/electronics-grid/pages/TermsPage.js +9 -0
- package/dist/layouts/electronics-grid/pages/TrackOrderPage.d.ts +7 -0
- package/dist/layouts/electronics-grid/pages/TrackOrderPage.d.ts.map +1 -0
- package/dist/layouts/electronics-grid/pages/TrackOrderPage.js +376 -0
- package/dist/layouts/food/components/FoodHomePage.d.ts +7 -0
- package/dist/layouts/food/components/FoodHomePage.d.ts.map +1 -0
- package/dist/layouts/food/components/FoodHomePage.js +387 -0
- package/dist/layouts/food/index.d.ts +9 -0
- package/dist/layouts/food/index.d.ts.map +1 -0
- package/dist/layouts/food/index.js +9 -0
- package/dist/layouts/food/pages/AboutPage.d.ts +7 -0
- package/dist/layouts/food/pages/AboutPage.d.ts.map +1 -0
- package/dist/layouts/food/pages/AboutPage.js +67 -0
- package/dist/layouts/food/pages/CategoriesPage.d.ts +7 -0
- package/dist/layouts/food/pages/CategoriesPage.d.ts.map +1 -0
- package/dist/layouts/food/pages/CategoriesPage.js +26 -0
- package/dist/layouts/food/pages/CategoryPage.d.ts +8 -0
- package/dist/layouts/food/pages/CategoryPage.d.ts.map +1 -0
- package/dist/layouts/food/pages/CategoryPage.js +65 -0
- package/dist/layouts/food/pages/ContactPage.d.ts +7 -0
- package/dist/layouts/food/pages/ContactPage.d.ts.map +1 -0
- package/dist/layouts/food/pages/ContactPage.js +55 -0
- package/dist/layouts/food/pages/MenuPage.d.ts +8 -0
- package/dist/layouts/food/pages/MenuPage.d.ts.map +1 -0
- package/dist/layouts/food/pages/MenuPage.js +107 -0
- package/dist/layouts/food/pages/ProductDetailPage.d.ts +8 -0
- package/dist/layouts/food/pages/ProductDetailPage.d.ts.map +1 -0
- package/dist/layouts/food/pages/ProductDetailPage.js +485 -0
- package/dist/layouts/food/pages/ProductsPage.d.ts +7 -0
- package/dist/layouts/food/pages/ProductsPage.d.ts.map +1 -0
- package/dist/layouts/food/pages/ProductsPage.js +174 -0
- package/dist/layouts/food-modern/components/FoodHomePageModern.d.ts +7 -0
- package/dist/layouts/food-modern/components/FoodHomePageModern.d.ts.map +1 -0
- package/dist/layouts/food-modern/components/FoodHomePageModern.js +101 -0
- package/dist/layouts/food-modern/index.d.ts +9 -0
- package/dist/layouts/food-modern/index.d.ts.map +1 -0
- package/dist/layouts/food-modern/index.js +9 -0
- package/dist/layouts/food-modern/pages/AboutPage.d.ts +7 -0
- package/dist/layouts/food-modern/pages/AboutPage.d.ts.map +1 -0
- package/dist/layouts/food-modern/pages/AboutPage.js +52 -0
- package/dist/layouts/food-modern/pages/CategoriesPage.d.ts +7 -0
- package/dist/layouts/food-modern/pages/CategoriesPage.d.ts.map +1 -0
- package/dist/layouts/food-modern/pages/CategoriesPage.js +23 -0
- package/dist/layouts/food-modern/pages/CategoryPage.d.ts +8 -0
- package/dist/layouts/food-modern/pages/CategoryPage.d.ts.map +1 -0
- package/dist/layouts/food-modern/pages/CategoryPage.js +64 -0
- package/dist/layouts/food-modern/pages/ContactPage.d.ts +7 -0
- package/dist/layouts/food-modern/pages/ContactPage.d.ts.map +1 -0
- package/dist/layouts/food-modern/pages/ContactPage.js +55 -0
- package/dist/layouts/food-modern/pages/MenuPage.d.ts +8 -0
- package/dist/layouts/food-modern/pages/MenuPage.d.ts.map +1 -0
- package/dist/layouts/food-modern/pages/MenuPage.js +110 -0
- package/dist/layouts/food-modern/pages/ProductDetailPage.d.ts +8 -0
- package/dist/layouts/food-modern/pages/ProductDetailPage.d.ts.map +1 -0
- package/dist/layouts/food-modern/pages/ProductDetailPage.js +427 -0
- package/dist/layouts/food-modern/pages/ProductsPage.d.ts +7 -0
- package/dist/layouts/food-modern/pages/ProductsPage.d.ts.map +1 -0
- package/dist/layouts/food-modern/pages/ProductsPage.js +175 -0
- package/dist/layouts/motivational-speaker/components/MotivationalHomePage.d.ts +7 -0
- package/dist/layouts/motivational-speaker/components/MotivationalHomePage.d.ts.map +1 -0
- package/dist/layouts/motivational-speaker/components/MotivationalHomePage.js +131 -0
- package/dist/layouts/motivational-speaker/components/MotivationalSpeakerPageWrapper.d.ts +3 -0
- package/dist/layouts/motivational-speaker/components/MotivationalSpeakerPageWrapper.d.ts.map +1 -0
- package/dist/layouts/motivational-speaker/components/MotivationalSpeakerPageWrapper.js +7 -0
- package/dist/layouts/motivational-speaker/index.d.ts +10 -0
- package/dist/layouts/motivational-speaker/index.d.ts.map +1 -0
- package/dist/layouts/motivational-speaker/index.js +10 -0
- package/dist/layouts/motivational-speaker/pages/AboutPage.d.ts +7 -0
- package/dist/layouts/motivational-speaker/pages/AboutPage.d.ts.map +1 -0
- package/dist/layouts/motivational-speaker/pages/AboutPage.js +51 -0
- package/dist/layouts/motivational-speaker/pages/CategoryPage.d.ts +8 -0
- package/dist/layouts/motivational-speaker/pages/CategoryPage.d.ts.map +1 -0
- package/dist/layouts/motivational-speaker/pages/CategoryPage.js +72 -0
- package/dist/layouts/motivational-speaker/pages/ContactPage.d.ts +7 -0
- package/dist/layouts/motivational-speaker/pages/ContactPage.d.ts.map +1 -0
- package/dist/layouts/motivational-speaker/pages/ContactPage.js +57 -0
- package/dist/layouts/motivational-speaker/pages/ProductsPage.d.ts +7 -0
- package/dist/layouts/motivational-speaker/pages/ProductsPage.d.ts.map +1 -0
- package/dist/layouts/motivational-speaker/pages/ProductsPage.js +273 -0
- package/dist/layouts/motivational-speaker/pages/ServiceDetailPage.d.ts +8 -0
- package/dist/layouts/motivational-speaker/pages/ServiceDetailPage.d.ts.map +1 -0
- package/dist/layouts/motivational-speaker/pages/ServiceDetailPage.js +153 -0
- package/dist/layouts/motivational-speaker/pages/ServicesPage.d.ts +9 -0
- package/dist/layouts/motivational-speaker/pages/ServicesPage.d.ts.map +1 -0
- package/dist/layouts/motivational-speaker/pages/ServicesPage.js +46 -0
- package/dist/layouts/motivational-speaker/pages/SubscriptionPage.d.ts +7 -0
- package/dist/layouts/motivational-speaker/pages/SubscriptionPage.d.ts.map +1 -0
- package/dist/layouts/motivational-speaker/pages/SubscriptionPage.js +137 -0
- package/dist/layouts/shared/components/BaseStoreLayout.d.ts +8 -0
- package/dist/layouts/shared/components/BaseStoreLayout.d.ts.map +1 -0
- package/dist/layouts/shared/components/BaseStoreLayout.js +49 -0
- package/dist/layouts/shared/components/CartLineQuantityControl.d.ts +12 -0
- package/dist/layouts/shared/components/CartLineQuantityControl.d.ts.map +1 -0
- package/dist/layouts/shared/components/CartLineQuantityControl.js +99 -0
- package/dist/layouts/shared/components/GenericPageWrapper.d.ts +8 -0
- package/dist/layouts/shared/components/GenericPageWrapper.d.ts.map +1 -0
- package/dist/layouts/shared/components/GenericPageWrapper.js +24 -0
- package/dist/layouts/shared/components/PromoBanner.d.ts +12 -0
- package/dist/layouts/shared/components/PromoBanner.d.ts.map +1 -0
- package/dist/layouts/shared/components/PromoBanner.js +17 -0
- package/dist/layouts/shared/components/StoreFooter.d.ts +7 -0
- package/dist/layouts/shared/components/StoreFooter.d.ts.map +1 -0
- package/dist/layouts/shared/components/StoreFooter.js +156 -0
- package/dist/layouts/shared/components/StoreHeader.d.ts +8 -0
- package/dist/layouts/shared/components/StoreHeader.d.ts.map +1 -0
- package/dist/layouts/shared/components/StoreHeader.js +111 -0
- package/dist/layouts/shared/components/TestimonialCard.d.ts +8 -0
- package/dist/layouts/shared/components/TestimonialCard.d.ts.map +1 -0
- package/dist/layouts/shared/components/TestimonialCard.js +10 -0
- package/dist/layouts/shared/components/headers/BookingAgendaSidebar.d.ts +8 -0
- package/dist/layouts/shared/components/headers/BookingAgendaSidebar.d.ts.map +1 -0
- package/dist/layouts/shared/components/headers/BookingAgendaSidebar.js +16 -0
- package/dist/layouts/shared/components/headers/ClothingMinimalHeader.d.ts +7 -0
- package/dist/layouts/shared/components/headers/ClothingMinimalHeader.d.ts.map +1 -0
- package/dist/layouts/shared/components/headers/ClothingMinimalHeader.js +38 -0
- package/dist/layouts/shared/components/headers/FoodModernHeader.d.ts +7 -0
- package/dist/layouts/shared/components/headers/FoodModernHeader.d.ts.map +1 -0
- package/dist/layouts/shared/components/headers/FoodModernHeader.js +61 -0
- package/dist/layouts/shared/index.d.ts +23 -0
- package/dist/layouts/shared/index.d.ts.map +1 -0
- package/dist/layouts/shared/index.js +23 -0
- package/dist/layouts/shared/pages/AccountPage.d.ts +7 -0
- package/dist/layouts/shared/pages/AccountPage.d.ts.map +1 -0
- package/dist/layouts/shared/pages/AccountPage.js +549 -0
- package/dist/layouts/shared/pages/CartPage.d.ts +7 -0
- package/dist/layouts/shared/pages/CartPage.d.ts.map +1 -0
- package/dist/layouts/shared/pages/CartPage.js +121 -0
- package/dist/layouts/shared/pages/CheckoutPage.d.ts +7 -0
- package/dist/layouts/shared/pages/CheckoutPage.d.ts.map +1 -0
- package/dist/layouts/shared/pages/CheckoutPage.js +1430 -0
- package/dist/layouts/shared/pages/CookiePolicyPage.d.ts +7 -0
- package/dist/layouts/shared/pages/CookiePolicyPage.d.ts.map +1 -0
- package/dist/layouts/shared/pages/CookiePolicyPage.js +9 -0
- package/dist/layouts/shared/pages/FeatureDisabledPage.d.ts +9 -0
- package/dist/layouts/shared/pages/FeatureDisabledPage.d.ts.map +1 -0
- package/dist/layouts/shared/pages/FeatureDisabledPage.js +8 -0
- package/dist/layouts/shared/pages/HelpCenterPage.d.ts +7 -0
- package/dist/layouts/shared/pages/HelpCenterPage.d.ts.map +1 -0
- package/dist/layouts/shared/pages/HelpCenterPage.js +55 -0
- package/dist/layouts/shared/pages/MaintenancePage.d.ts +7 -0
- package/dist/layouts/shared/pages/MaintenancePage.d.ts.map +1 -0
- package/dist/layouts/shared/pages/MaintenancePage.js +10 -0
- package/dist/layouts/shared/pages/PortfolioPage.d.ts +7 -0
- package/dist/layouts/shared/pages/PortfolioPage.d.ts.map +1 -0
- package/dist/layouts/shared/pages/PortfolioPage.js +130 -0
- package/dist/layouts/shared/pages/PrivacyPolicyPage.d.ts +7 -0
- package/dist/layouts/shared/pages/PrivacyPolicyPage.d.ts.map +1 -0
- package/dist/layouts/shared/pages/PrivacyPolicyPage.js +9 -0
- package/dist/layouts/shared/pages/ShippingReturnsPage.d.ts +7 -0
- package/dist/layouts/shared/pages/ShippingReturnsPage.d.ts.map +1 -0
- package/dist/layouts/shared/pages/ShippingReturnsPage.js +7 -0
- package/dist/layouts/shared/pages/SizeGuidePage.d.ts +7 -0
- package/dist/layouts/shared/pages/SizeGuidePage.d.ts.map +1 -0
- package/dist/layouts/shared/pages/SizeGuidePage.js +10 -0
- package/dist/layouts/shared/pages/StyleGuidePage.d.ts +7 -0
- package/dist/layouts/shared/pages/StyleGuidePage.d.ts.map +1 -0
- package/dist/layouts/shared/pages/StyleGuidePage.js +126 -0
- package/dist/layouts/shared/pages/TeamPage.d.ts +7 -0
- package/dist/layouts/shared/pages/TeamPage.d.ts.map +1 -0
- package/dist/layouts/shared/pages/TeamPage.js +39 -0
- package/dist/layouts/shared/pages/TermsPage.d.ts +7 -0
- package/dist/layouts/shared/pages/TermsPage.d.ts.map +1 -0
- package/dist/layouts/shared/pages/TermsPage.js +9 -0
- package/dist/layouts/shared/pages/TrackOrderPage.d.ts +7 -0
- package/dist/layouts/shared/pages/TrackOrderPage.d.ts.map +1 -0
- package/dist/layouts/shared/pages/TrackOrderPage.js +379 -0
- package/dist/layouts/shared/pages/WishlistPage.d.ts +7 -0
- package/dist/layouts/shared/pages/WishlistPage.d.ts.map +1 -0
- package/dist/layouts/shared/pages/WishlistPage.js +144 -0
- package/dist/layouts/shared/wrappers/BookingAgendaLayout.d.ts +14 -0
- package/dist/layouts/shared/wrappers/BookingAgendaLayout.d.ts.map +1 -0
- package/dist/layouts/shared/wrappers/BookingAgendaLayout.js +152 -0
- package/dist/layouts/shared/wrappers/ClothingLayout.d.ts +10 -0
- package/dist/layouts/shared/wrappers/ClothingLayout.d.ts.map +1 -0
- package/dist/layouts/shared/wrappers/ClothingLayout.js +44 -0
- package/dist/layouts/shared/wrappers/ClothingMinimalLayout.d.ts +8 -0
- package/dist/layouts/shared/wrappers/ClothingMinimalLayout.d.ts.map +1 -0
- package/dist/layouts/shared/wrappers/ClothingMinimalLayout.js +48 -0
- package/dist/layouts/shared/wrappers/ElectronicsLayout.d.ts +8 -0
- package/dist/layouts/shared/wrappers/ElectronicsLayout.d.ts.map +1 -0
- package/dist/layouts/shared/wrappers/ElectronicsLayout.js +40 -0
- package/dist/layouts/shared/wrappers/FoodModernLayout.d.ts +8 -0
- package/dist/layouts/shared/wrappers/FoodModernLayout.d.ts.map +1 -0
- package/dist/layouts/shared/wrappers/FoodModernLayout.js +48 -0
- package/dist/layouts/shared/wrappers/MotivationalLayout.d.ts +8 -0
- package/dist/layouts/shared/wrappers/MotivationalLayout.d.ts.map +1 -0
- package/dist/layouts/shared/wrappers/MotivationalLayout.js +51 -0
- package/dist/layouts/shared/wrappers/StandardLayout.d.ts +8 -0
- package/dist/layouts/shared/wrappers/StandardLayout.d.ts.map +1 -0
- package/dist/layouts/shared/wrappers/StandardLayout.js +45 -0
- package/dist/lib/alignment-schemas.d.ts +51 -0
- package/dist/lib/alignment-schemas.d.ts.map +1 -0
- package/dist/lib/alignment-schemas.js +637 -0
- package/dist/lib/api.d.ts +11 -0
- package/dist/lib/api.d.ts.map +1 -0
- package/dist/lib/api.js +167 -0
- package/dist/lib/auth-context.d.ts +49 -0
- package/dist/lib/auth-context.d.ts.map +1 -0
- package/dist/lib/auth-context.js +296 -0
- package/dist/lib/checkout-availability.d.ts +10 -0
- package/dist/lib/checkout-availability.d.ts.map +1 -0
- package/dist/lib/checkout-availability.js +16 -0
- package/dist/lib/compact-array-items.d.ts +7 -0
- package/dist/lib/compact-array-items.d.ts.map +1 -0
- package/dist/lib/compact-array-items.js +13 -0
- package/dist/lib/content-selectors.d.ts +21 -0
- package/dist/lib/content-selectors.d.ts.map +1 -0
- package/dist/lib/content-selectors.js +75 -0
- package/dist/lib/countries.d.ts +13 -0
- package/dist/lib/countries.d.ts.map +1 -0
- package/dist/lib/countries.js +292 -0
- package/dist/lib/currency-symbols.d.ts +36 -0
- package/dist/lib/currency-symbols.d.ts.map +1 -0
- package/dist/lib/currency-symbols.js +153 -0
- package/dist/lib/guest-user.d.ts +27 -0
- package/dist/lib/guest-user.d.ts.map +1 -0
- package/dist/lib/guest-user.js +71 -0
- package/dist/lib/inventory-utils.d.ts +41 -0
- package/dist/lib/inventory-utils.d.ts.map +1 -0
- package/dist/lib/inventory-utils.js +180 -0
- package/dist/lib/layout-badges.d.ts +4 -0
- package/dist/lib/layout-badges.d.ts.map +1 -0
- package/dist/lib/layout-badges.js +5 -0
- package/dist/lib/layout-config-hydration.d.ts +25 -0
- package/dist/lib/layout-config-hydration.d.ts.map +1 -0
- package/dist/lib/layout-config-hydration.js +264 -0
- package/dist/lib/layout-field-normalize.d.ts +18 -0
- package/dist/lib/layout-field-normalize.d.ts.map +1 -0
- package/dist/lib/layout-field-normalize.js +190 -0
- package/dist/lib/layout-route-utils.d.ts +30 -0
- package/dist/lib/layout-route-utils.d.ts.map +1 -0
- package/dist/lib/layout-route-utils.js +79 -0
- package/dist/lib/limited-time-offer.d.ts +6 -0
- package/dist/lib/limited-time-offer.d.ts.map +1 -0
- package/dist/lib/limited-time-offer.js +24 -0
- package/dist/lib/loading-context.d.ts +20 -0
- package/dist/lib/loading-context.d.ts.map +1 -0
- package/dist/lib/loading-context.js +212 -0
- package/dist/lib/mock-stores.d.ts +24 -0
- package/dist/lib/mock-stores.d.ts.map +1 -0
- package/dist/lib/mock-stores.js +2106 -0
- package/dist/lib/order-success-cart.d.ts +5 -0
- package/dist/lib/order-success-cart.d.ts.map +1 -0
- package/dist/lib/order-success-cart.js +50 -0
- package/dist/lib/payaza-checkout.d.ts +147 -0
- package/dist/lib/payaza-checkout.d.ts.map +1 -0
- package/dist/lib/payaza-checkout.js +717 -0
- package/dist/lib/payaza-section-styles.d.ts +16 -0
- package/dist/lib/payaza-section-styles.d.ts.map +1 -0
- package/dist/lib/payaza-section-styles.js +93 -0
- package/dist/lib/preview-data.d.ts +58 -0
- package/dist/lib/preview-data.d.ts.map +1 -0
- package/dist/lib/preview-data.js +2576 -0
- package/dist/lib/product-variation-utils.d.ts +8 -0
- package/dist/lib/product-variation-utils.d.ts.map +1 -0
- package/dist/lib/product-variation-utils.js +101 -0
- package/dist/lib/rich-html.d.ts +38 -0
- package/dist/lib/rich-html.d.ts.map +1 -0
- package/dist/lib/rich-html.js +272 -0
- package/dist/lib/services/analytics.service.d.ts +59 -0
- package/dist/lib/services/analytics.service.d.ts.map +1 -0
- package/dist/lib/services/analytics.service.js +382 -0
- package/dist/lib/services/auth.service.d.ts +63 -0
- package/dist/lib/services/auth.service.d.ts.map +1 -0
- package/dist/lib/services/auth.service.js +101 -0
- package/dist/lib/services/booking.service.d.ts +53 -0
- package/dist/lib/services/booking.service.d.ts.map +1 -0
- package/dist/lib/services/booking.service.js +52 -0
- package/dist/lib/services/category.service.d.ts +21 -0
- package/dist/lib/services/category.service.d.ts.map +1 -0
- package/dist/lib/services/category.service.js +41 -0
- package/dist/lib/services/checkout.service.d.ts +168 -0
- package/dist/lib/services/checkout.service.d.ts.map +1 -0
- package/dist/lib/services/checkout.service.js +48 -0
- package/dist/lib/services/contact.service.d.ts +26 -0
- package/dist/lib/services/contact.service.d.ts.map +1 -0
- package/dist/lib/services/contact.service.js +23 -0
- package/dist/lib/services/customer.service.d.ts +54 -0
- package/dist/lib/services/customer.service.d.ts.map +1 -0
- package/dist/lib/services/customer.service.js +64 -0
- package/dist/lib/services/fees.service.d.ts +85 -0
- package/dist/lib/services/fees.service.d.ts.map +1 -0
- package/dist/lib/services/fees.service.js +147 -0
- package/dist/lib/services/index.d.ts +19 -0
- package/dist/lib/services/index.d.ts.map +1 -0
- package/dist/lib/services/index.js +18 -0
- package/dist/lib/services/location.service.d.ts +31 -0
- package/dist/lib/services/location.service.d.ts.map +1 -0
- package/dist/lib/services/location.service.js +25 -0
- package/dist/lib/services/order.service.d.ts +5 -0
- package/dist/lib/services/order.service.d.ts.map +1 -0
- package/dist/lib/services/order.service.js +12 -0
- package/dist/lib/services/payment.service.d.ts +56 -0
- package/dist/lib/services/payment.service.d.ts.map +1 -0
- package/dist/lib/services/payment.service.js +122 -0
- package/dist/lib/services/product.service.d.ts +92 -0
- package/dist/lib/services/product.service.d.ts.map +1 -0
- package/dist/lib/services/product.service.js +86 -0
- package/dist/lib/services/promo.service.d.ts +31 -0
- package/dist/lib/services/promo.service.d.ts.map +1 -0
- package/dist/lib/services/promo.service.js +29 -0
- package/dist/lib/services/review.service.d.ts +47 -0
- package/dist/lib/services/review.service.d.ts.map +1 -0
- package/dist/lib/services/review.service.js +54 -0
- package/dist/lib/services/service.service.d.ts +55 -0
- package/dist/lib/services/service.service.d.ts.map +1 -0
- package/dist/lib/services/service.service.js +37 -0
- package/dist/lib/services/shipping.service.d.ts +62 -0
- package/dist/lib/services/shipping.service.d.ts.map +1 -0
- package/dist/lib/services/shipping.service.js +39 -0
- package/dist/lib/services/store.service.d.ts +89 -0
- package/dist/lib/services/store.service.d.ts.map +1 -0
- package/dist/lib/services/store.service.js +41 -0
- package/dist/lib/shipping-address.util.d.ts +76 -0
- package/dist/lib/shipping-address.util.d.ts.map +1 -0
- package/dist/lib/shipping-address.util.js +149 -0
- package/dist/lib/shipping-settings.util.d.ts +4 -0
- package/dist/lib/shipping-settings.util.d.ts.map +1 -0
- package/dist/lib/shipping-settings.util.js +6 -0
- package/dist/lib/store-config-utils.d.ts +50 -0
- package/dist/lib/store-config-utils.d.ts.map +1 -0
- package/dist/lib/store-config-utils.js +1713 -0
- package/dist/lib/store-config.d.ts +4 -0
- package/dist/lib/store-config.d.ts.map +1 -0
- package/dist/lib/store-config.js +4 -0
- package/dist/lib/store-context.d.ts +69 -0
- package/dist/lib/store-context.d.ts.map +1 -0
- package/dist/lib/store-context.js +456 -0
- package/dist/lib/store-types.d.ts +921 -0
- package/dist/lib/store-types.d.ts.map +1 -0
- package/dist/lib/store-types.js +1 -0
- package/dist/lib/template-pages.d.ts +8 -0
- package/dist/lib/template-pages.d.ts.map +1 -0
- package/dist/lib/template-pages.js +62 -0
- package/dist/lib/utils/asset-helpers.d.ts +111 -0
- package/dist/lib/utils/asset-helpers.d.ts.map +1 -0
- package/dist/lib/utils/asset-helpers.js +462 -0
- package/dist/lib/utils/catalog-price-bounds.d.ts +13 -0
- package/dist/lib/utils/catalog-price-bounds.d.ts.map +1 -0
- package/dist/lib/utils/catalog-price-bounds.js +24 -0
- package/dist/lib/utils/category-tree.d.ts +25 -0
- package/dist/lib/utils/category-tree.d.ts.map +1 -0
- package/dist/lib/utils/category-tree.js +85 -0
- package/dist/lib/utils/demo-detection.d.ts +23 -0
- package/dist/lib/utils/demo-detection.d.ts.map +1 -0
- package/dist/lib/utils/demo-detection.js +36 -0
- package/dist/lib/utils/editor-preview.d.ts +42 -0
- package/dist/lib/utils/editor-preview.d.ts.map +1 -0
- package/dist/lib/utils/editor-preview.js +214 -0
- package/dist/lib/utils/fee-calculations.d.ts +35 -0
- package/dist/lib/utils/fee-calculations.d.ts.map +1 -0
- package/dist/lib/utils/fee-calculations.js +81 -0
- package/dist/lib/utils/footer-nav-defaults.d.ts +11 -0
- package/dist/lib/utils/footer-nav-defaults.d.ts.map +1 -0
- package/dist/lib/utils/footer-nav-defaults.js +67 -0
- package/dist/lib/utils/idempotency-key.d.ts +15 -0
- package/dist/lib/utils/idempotency-key.d.ts.map +1 -0
- package/dist/lib/utils/idempotency-key.js +22 -0
- package/dist/lib/utils/index.d.ts +45 -0
- package/dist/lib/utils/index.d.ts.map +1 -0
- package/dist/lib/utils/index.js +197 -0
- package/dist/lib/utils/mobile-editor.d.ts +13 -0
- package/dist/lib/utils/mobile-editor.d.ts.map +1 -0
- package/dist/lib/utils/mobile-editor.js +34 -0
- package/dist/lib/utils/phone-format.d.ts +6 -0
- package/dist/lib/utils/phone-format.d.ts.map +1 -0
- package/dist/lib/utils/phone-format.js +17 -0
- package/dist/lib/utils/product-catalog.d.ts +11 -0
- package/dist/lib/utils/product-catalog.d.ts.map +1 -0
- package/dist/lib/utils/product-catalog.js +40 -0
- package/dist/lib/utils/product-images.d.ts +20 -0
- package/dist/lib/utils/product-images.d.ts.map +1 -0
- package/dist/lib/utils/product-images.js +31 -0
- package/dist/lib/utils/product-share.d.ts +17 -0
- package/dist/lib/utils/product-share.d.ts.map +1 -0
- package/dist/lib/utils/product-share.js +48 -0
- package/dist/lib/utils/scroll-to-top.util.d.ts +9 -0
- package/dist/lib/utils/scroll-to-top.util.d.ts.map +1 -0
- package/dist/lib/utils/scroll-to-top.util.js +18 -0
- package/dist/lib/utils/url-helpers.d.ts +30 -0
- package/dist/lib/utils/url-helpers.d.ts.map +1 -0
- package/dist/lib/utils/url-helpers.js +61 -0
- package/dist/lib/utils/video-helpers.d.ts +32 -0
- package/dist/lib/utils/video-helpers.d.ts.map +1 -0
- package/dist/lib/utils/video-helpers.js +210 -0
- package/dist/preview/LayoutPreview.d.ts +14 -0
- package/dist/preview/LayoutPreview.d.ts.map +1 -0
- package/dist/preview/LayoutPreview.js +122 -0
- package/dist/preview/PreviewRouter.d.ts +9 -0
- package/dist/preview/PreviewRouter.d.ts.map +1 -0
- package/dist/preview/PreviewRouter.js +332 -0
- package/dist/preview/ShadowDOMWrapper.d.ts +18 -0
- package/dist/preview/ShadowDOMWrapper.d.ts.map +1 -0
- package/dist/preview/ShadowDOMWrapper.js +80 -0
- package/dist/preview/canvas/PreviewBlockToolbar.d.ts +23 -0
- package/dist/preview/canvas/PreviewBlockToolbar.d.ts.map +1 -0
- package/dist/preview/canvas/PreviewBlockToolbar.js +113 -0
- package/dist/preview/canvas/PreviewCanvasEnhancer.d.ts +17 -0
- package/dist/preview/canvas/PreviewCanvasEnhancer.d.ts.map +1 -0
- package/dist/preview/canvas/PreviewCanvasEnhancer.js +741 -0
- package/dist/preview/canvas/PreviewCanvasStyles.d.ts +4 -0
- package/dist/preview/canvas/PreviewCanvasStyles.d.ts.map +1 -0
- package/dist/preview/canvas/PreviewCanvasStyles.js +51 -0
- package/dist/preview/canvas/extract-editable-plain-text.d.ts +11 -0
- package/dist/preview/canvas/extract-editable-plain-text.d.ts.map +1 -0
- package/dist/preview/canvas/extract-editable-plain-text.js +65 -0
- package/dist/preview/canvas/field-key.d.ts +34 -0
- package/dist/preview/canvas/field-key.d.ts.map +1 -0
- package/dist/preview/canvas/field-key.js +62 -0
- package/dist/preview/canvas/preview-editable-commit.util.d.ts +3 -0
- package/dist/preview/canvas/preview-editable-commit.util.d.ts.map +1 -0
- package/dist/preview/canvas/preview-editable-commit.util.js +11 -0
- package/dist/preview/canvas/preview-flush-await.d.ts +6 -0
- package/dist/preview/canvas/preview-flush-await.d.ts.map +1 -0
- package/dist/preview/canvas/preview-flush-await.js +23 -0
- package/dist/preview/canvas/preview-flush-handle.d.ts +13 -0
- package/dist/preview/canvas/preview-flush-handle.d.ts.map +1 -0
- package/dist/preview/canvas/preview-flush-handle.js +3 -0
- package/dist/preview/canvas/preview-isolation.d.ts +9 -0
- package/dist/preview/canvas/preview-isolation.d.ts.map +1 -0
- package/dist/preview/canvas/preview-isolation.js +10 -0
- package/dist/preview/canvas/preview-messages.d.ts +65 -0
- package/dist/preview/canvas/preview-messages.d.ts.map +1 -0
- package/dist/preview/canvas/preview-messages.js +17 -0
- package/dist/preview/canvas/preview-route.d.ts +4 -0
- package/dist/preview/canvas/preview-route.d.ts.map +1 -0
- package/dist/preview/canvas/preview-route.js +76 -0
- package/dist/preview/index.d.ts +13 -0
- package/dist/preview/index.d.ts.map +1 -0
- package/dist/preview/index.js +12 -0
- package/dist/preview/route-audit.d.ts +17 -0
- package/dist/preview/route-audit.d.ts.map +1 -0
- package/dist/preview/route-audit.js +54 -0
- package/dist/styles/index.css +10598 -0
- package/dist/utils/date.d.ts +20 -0
- package/dist/utils/date.d.ts.map +1 -0
- package/dist/utils/date.js +47 -0
- package/package.json +192 -0
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { Button } from '../../../components/ui/button.js';
|
|
4
|
+
import { useStore } from '../../../lib/store-context.js';
|
|
5
|
+
import { useToast } from '../../../components/ui/toast.js';
|
|
6
|
+
import { Clock, Utensils, ChevronRight, Flame, ChefHat, ArrowRight, Calendar, Users, Mail, Phone, MessageSquare, CheckCircle, ChevronLeft, Plus } from 'lucide-react';
|
|
7
|
+
import { DynamicIcon } from '../../../components/ui/dynamic-icon.js';
|
|
8
|
+
import { encodePayazaFieldKey, payazaIconBindingProps } from '../../../preview/canvas/field-key.js';
|
|
9
|
+
import Link from 'next/link';
|
|
10
|
+
import Image from 'next/image';
|
|
11
|
+
import { useState, useEffect } from 'react';
|
|
12
|
+
import { formatCurrency, resolveMenuItemsForDisplay } from '../../../lib/utils/index.js';
|
|
13
|
+
import { getLayoutText, getBannerImage, getTextContent, normalizeStoreImageUrl } from '../../../lib/utils/asset-helpers.js';
|
|
14
|
+
import { shouldUseAPI } from '../../../lib/utils/demo-detection.js';
|
|
15
|
+
import { usePreviewSlideSync } from '../../../hooks/usePreviewSlideSync.js';
|
|
16
|
+
import { TestimonialCard } from '../../shared/components/TestimonialCard.js';
|
|
17
|
+
import { showLayoutDecorativeBadges } from '../../../lib/layout-badges.js';
|
|
18
|
+
import { getPayazaSectionInlineStyle } from '../../../lib/payaza-section-styles.js';
|
|
19
|
+
import { resolveStoreLink } from '../../../lib/layout-route-utils.js';
|
|
20
|
+
export function FoodHomePage({ storeConfig: initialConfig }) {
|
|
21
|
+
const { store, addToCart } = useStore();
|
|
22
|
+
const storeConfig = store || initialConfig;
|
|
23
|
+
// In preview mode, use mock items if none are available
|
|
24
|
+
const isPreview = (typeof window !== 'undefined' && window.__IS_PREVIEW__) || storeConfig.layoutConfig?.isPreview;
|
|
25
|
+
// Canvas edit helper — only active in preview mode (mirrors ClothingHomePage pattern)
|
|
26
|
+
const payaza = (sectionKey, segments) => isPreview ? encodePayazaFieldKey(sectionKey, segments) : undefined;
|
|
27
|
+
const categories = (storeConfig.categories && storeConfig.categories.length > 0)
|
|
28
|
+
? storeConfig.categories
|
|
29
|
+
: (isPreview ? [
|
|
30
|
+
{ id: 'cat1', name: 'Appetizers', slug: 'appetizers' },
|
|
31
|
+
{ id: 'cat2', name: 'Main Courses', slug: 'main-courses' },
|
|
32
|
+
{ id: 'cat3', name: 'Desserts', slug: 'desserts' },
|
|
33
|
+
{ id: 'cat4', name: 'Beverages', slug: 'beverages' }
|
|
34
|
+
] : []);
|
|
35
|
+
const resolvedMenuItems = resolveMenuItemsForDisplay(storeConfig.menuItems, storeConfig.products, isPreview);
|
|
36
|
+
const menuItems = resolvedMenuItems.length > 0
|
|
37
|
+
? resolvedMenuItems
|
|
38
|
+
: (isPreview ? [
|
|
39
|
+
{
|
|
40
|
+
id: 'item1',
|
|
41
|
+
name: 'Classic Burger',
|
|
42
|
+
description: 'Juicy beef patty with fresh lettuce, tomato, and special sauce',
|
|
43
|
+
price: 12.99,
|
|
44
|
+
categoryId: 'cat2',
|
|
45
|
+
image: 'https://images.unsplash.com/photo-1568901346375-23c9450c58cd?w=800&h=600&fit=crop&q=80',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
id: 'item2',
|
|
49
|
+
name: 'Caesar Salad',
|
|
50
|
+
description: 'Fresh romaine lettuce with parmesan, croutons, and caesar dressing',
|
|
51
|
+
price: 9.99,
|
|
52
|
+
categoryId: 'cat1',
|
|
53
|
+
image: 'https://images.unsplash.com/photo-1546793665-c74683f339c1?w=800&h=600&fit=crop&q=80',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
id: 'item3',
|
|
57
|
+
name: 'Grilled Salmon',
|
|
58
|
+
description: 'Fresh Atlantic salmon with lemon butter sauce and seasonal vegetables',
|
|
59
|
+
price: 18.99,
|
|
60
|
+
categoryId: 'cat2',
|
|
61
|
+
image: 'https://images.unsplash.com/photo-1467003909585-2f8a72700288?w=800&h=600&fit=crop&q=80',
|
|
62
|
+
},
|
|
63
|
+
] : []);
|
|
64
|
+
const { addToast } = useToast();
|
|
65
|
+
const handleAddToCart = (item) => {
|
|
66
|
+
const product = {
|
|
67
|
+
...item,
|
|
68
|
+
slug: item.id,
|
|
69
|
+
images: item.image ? [item.image] : [],
|
|
70
|
+
variants: [],
|
|
71
|
+
specifications: {},
|
|
72
|
+
rating: 0,
|
|
73
|
+
reviewCount: 0,
|
|
74
|
+
categoryId: '', // Provide default or derived value
|
|
75
|
+
inStock: true // Assume in stock
|
|
76
|
+
};
|
|
77
|
+
addToCart(product);
|
|
78
|
+
addToast(`${item.name} added to order`, 'success');
|
|
79
|
+
};
|
|
80
|
+
// Hero Slides Configuration - use new slider structure with fallback to old format
|
|
81
|
+
// For demo stores, helpers will return fallbacks; for real stores, try layoutConfig first, then helpers
|
|
82
|
+
const layoutConfig = storeConfig.layoutConfig;
|
|
83
|
+
const isRealStore = shouldUseAPI(storeConfig.slug);
|
|
84
|
+
// Debug logging for slider configuration
|
|
85
|
+
if (process.env.NODE_ENV === 'development') {
|
|
86
|
+
console.log('[FoodHomePage] LayoutConfig sections.hero:', layoutConfig?.sections?.hero);
|
|
87
|
+
console.log('[FoodHomePage] LayoutConfig hero (top-level):', layoutConfig?.hero);
|
|
88
|
+
console.log('[FoodHomePage] Sliders found:', layoutConfig?.sections?.hero?.sliders?.length || 0);
|
|
89
|
+
}
|
|
90
|
+
// Try new structure first (sections.hero.sliders)
|
|
91
|
+
let heroSlides = [{ image: 'https://images.unsplash.com/photo-1546069901-ba9599a7e63c?q=80&w=2000&auto=format&fit=crop', badge: undefined, title: 'Taste the', highlight: 'Extraordinary', description: 'Experience culinary excellence delivered straight to your doorstep.', primaryBtn: 'Order Now', primaryBtnLink: '/menu', secondaryBtn: 'View Menu', secondaryBtnLink: '/menu' }];
|
|
92
|
+
if (layoutConfig?.sections?.hero?.sliders && Array.isArray(layoutConfig.sections.hero.sliders) && layoutConfig.sections.hero.sliders.length > 0) {
|
|
93
|
+
if (process.env.NODE_ENV === 'development') {
|
|
94
|
+
console.log('[FoodHomePage] Using sections.hero.sliders structure');
|
|
95
|
+
}
|
|
96
|
+
heroSlides = layoutConfig.sections.hero.sliders
|
|
97
|
+
.filter((slider) => slider) // Relaxed filter: allow slides without explicit images
|
|
98
|
+
.map((slider) => {
|
|
99
|
+
// Extract button text - only use if not empty
|
|
100
|
+
const primaryButtonText = slider.primaryButton?.text?.trim() || '';
|
|
101
|
+
const secondaryButtonText = slider.secondaryButton?.text?.trim() || '';
|
|
102
|
+
if (process.env.NODE_ENV === 'development') {
|
|
103
|
+
console.log('[FoodHomePage] Slider:', {
|
|
104
|
+
id: slider.id,
|
|
105
|
+
image: slider.image ? 'present' : 'missing (using fallback)',
|
|
106
|
+
title: slider.title,
|
|
107
|
+
primaryButtonText,
|
|
108
|
+
secondaryButtonText,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
// Check badge visibility - use sections.hero.showBadges first, fallback to top-level hero.showBadges
|
|
112
|
+
const showBadges = layoutConfig?.sections?.hero?.showBadges !== false &&
|
|
113
|
+
(layoutConfig?.hero?.showBadges !== false || layoutConfig?.sections?.hero?.showBadges === undefined);
|
|
114
|
+
return {
|
|
115
|
+
image: normalizeStoreImageUrl(slider.image) || "https://images.unsplash.com/photo-1546069901-ba9599a7e63c?q=80&w=2000&auto=format&fit=crop",
|
|
116
|
+
badge: (showBadges && slider.badge && slider.badge.trim() !== '') ? slider.badge : undefined,
|
|
117
|
+
title: slider.title || "Taste the Extraordinary",
|
|
118
|
+
highlight: slider.highlight || "", // Food layout specific
|
|
119
|
+
description: slider.description || `${storeConfig.description} Experience culinary excellence delivered straight to your doorstep.`,
|
|
120
|
+
// Only set button text if it's not empty - this allows button visibility logic to work
|
|
121
|
+
primaryBtn: primaryButtonText || getLayoutText(storeConfig, 'common.orderNow', "Order Now"),
|
|
122
|
+
primaryBtnLink: slider.primaryButton?.link || `/${storeConfig.slug}/menu`,
|
|
123
|
+
secondaryBtn: secondaryButtonText || undefined, // Don't provide fallback for secondary
|
|
124
|
+
secondaryBtnLink: slider.secondaryButton?.link || `/${storeConfig.slug}/menu`,
|
|
125
|
+
};
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
else if (layoutConfig?.hero?.sliders && Array.isArray(layoutConfig.hero.sliders) && layoutConfig.hero.sliders.length > 0) {
|
|
129
|
+
// Fallback to top-level hero.sliders
|
|
130
|
+
if (process.env.NODE_ENV === 'development') {
|
|
131
|
+
console.log('[FoodHomePage] Using top-level hero.sliders structure');
|
|
132
|
+
}
|
|
133
|
+
heroSlides = layoutConfig.hero.sliders
|
|
134
|
+
.filter((slider) => slider) // Relaxed filter
|
|
135
|
+
.map((slider) => {
|
|
136
|
+
const primaryButtonText = slider.primaryButton?.text?.trim() || '';
|
|
137
|
+
const secondaryButtonText = slider.secondaryButton?.text?.trim() || '';
|
|
138
|
+
// Check badge visibility - use sections.hero.showBadges first, fallback to top-level hero.showBadges
|
|
139
|
+
const showBadges = layoutConfig?.sections?.hero?.showBadges !== false &&
|
|
140
|
+
(layoutConfig?.hero?.showBadges !== false || layoutConfig?.sections?.hero?.showBadges === undefined);
|
|
141
|
+
return {
|
|
142
|
+
image: normalizeStoreImageUrl(slider.image) || "https://images.unsplash.com/photo-1546069901-ba9599a7e63c?q=80&w=2000&auto=format&fit=crop",
|
|
143
|
+
badge: (showBadges && slider.badge && slider.badge.trim() !== '') ? slider.badge : undefined,
|
|
144
|
+
title: slider.title || "Taste the Extraordinary",
|
|
145
|
+
highlight: slider.highlight || "", // Food layout specific
|
|
146
|
+
description: slider.description || `${storeConfig.description} Experience culinary excellence delivered straight to your doorstep.`,
|
|
147
|
+
primaryBtn: primaryButtonText || getLayoutText(storeConfig, 'common.orderNow', "Order Now"),
|
|
148
|
+
primaryBtnLink: slider.primaryButton?.link || `/${storeConfig.slug}/menu`,
|
|
149
|
+
secondaryBtn: secondaryButtonText || undefined,
|
|
150
|
+
secondaryBtnLink: slider.secondaryButton?.link || `/${storeConfig.slug}/menu`,
|
|
151
|
+
};
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
// Fallback to old format (backward compatibility)
|
|
156
|
+
heroSlides = [
|
|
157
|
+
{
|
|
158
|
+
image: getBannerImage(storeConfig, 'hero_slide_1', "https://images.unsplash.com/photo-1546069901-ba9599a7e63c?q=80&w=2000&auto=format&fit=crop"),
|
|
159
|
+
badge: isRealStore && layoutConfig?.text?.hero?.slides?.[0]?.badge ? layoutConfig.text.hero.slides[0].badge : (showLayoutDecorativeBadges() ? getTextContent(storeConfig, 'hero_slide_1:badge', "#1 Food Delivery in Town") : undefined),
|
|
160
|
+
title: isRealStore && layoutConfig?.text?.hero?.slides?.[0]?.title ? layoutConfig.text.hero.slides[0].title : getTextContent(storeConfig, 'hero_slide_1:title', "Taste the"),
|
|
161
|
+
highlight: getTextContent(storeConfig, 'hero_slide_1:highlight', "Extraordinary"),
|
|
162
|
+
description: isRealStore && layoutConfig?.text?.hero?.slides?.[0]?.description ? layoutConfig.text.hero.slides[0].description : getTextContent(storeConfig, 'hero_slide_1:description', `${storeConfig.description} Experience culinary excellence delivered straight to your doorstep.`),
|
|
163
|
+
primaryBtn: isRealStore && layoutConfig?.text?.hero?.slides?.[0]?.primaryButton ? layoutConfig.text.hero.slides[0].primaryButton : getLayoutText(storeConfig, 'common.orderNow', "Order Now"),
|
|
164
|
+
secondaryBtn: isRealStore && layoutConfig?.text?.hero?.slides?.[0]?.secondaryButton ? layoutConfig.text.hero.slides[0].secondaryButton : getLayoutText(storeConfig, 'common.viewMenu', "View Menu")
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
image: getBannerImage(storeConfig, 'hero_slide_2', "https://images.unsplash.com/photo-1556910103-1c02745aae4d?q=80&w=2000&auto=format&fit=crop"),
|
|
168
|
+
badge: isRealStore && layoutConfig?.text?.hero?.slides?.[1]?.badge ? layoutConfig.text.hero.slides[1].badge : getTextContent(storeConfig, 'hero_slide_2:badge', "Fresh & Authentic"),
|
|
169
|
+
title: isRealStore && layoutConfig?.text?.hero?.slides?.[1]?.title ? layoutConfig.text.hero.slides[1].title : getTextContent(storeConfig, 'hero_slide_2:title', "Ingredients of"),
|
|
170
|
+
highlight: getTextContent(storeConfig, 'hero_slide_2:highlight', "Quality"),
|
|
171
|
+
description: isRealStore && layoutConfig?.text?.hero?.slides?.[1]?.description ? layoutConfig.text.hero.slides[1].description : getTextContent(storeConfig, 'hero_slide_2:description', "We use only the finest, locally sourced ingredients to create dishes that tell a story."),
|
|
172
|
+
primaryBtn: isRealStore && layoutConfig?.text?.hero?.slides?.[1]?.primaryButton ? layoutConfig.text.hero.slides[1].primaryButton : getLayoutText(storeConfig, 'common.exploreMenu', "Explore Menu"),
|
|
173
|
+
secondaryBtn: isRealStore && layoutConfig?.text?.hero?.slides?.[1]?.secondaryButton ? layoutConfig.text.hero.slides[1].secondaryButton : getLayoutText(storeConfig, 'common.ourStory', "Our Story")
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
image: getBannerImage(storeConfig, 'hero_slide_3', "https://images.unsplash.com/photo-1559339352-11d035aa65de?q=80&w=1974&auto=format&fit=crop"),
|
|
177
|
+
badge: isRealStore && layoutConfig?.text?.hero?.slides?.[2]?.badge ? layoutConfig.text.hero.slides[2].badge : getTextContent(storeConfig, 'hero_slide_3:badge', "Chef's Special"),
|
|
178
|
+
title: isRealStore && layoutConfig?.text?.hero?.slides?.[2]?.title ? layoutConfig.text.hero.slides[2].title : getTextContent(storeConfig, 'hero_slide_3:title', "Crafted with"),
|
|
179
|
+
highlight: getTextContent(storeConfig, 'hero_slide_3:highlight', "Passion"),
|
|
180
|
+
description: isRealStore && layoutConfig?.text?.hero?.slides?.[2]?.description ? layoutConfig.text.hero.slides[2].description : getTextContent(storeConfig, 'hero_slide_3:description', "Every dish is a masterpiece, prepared with love and attention to detail by our expert chefs."),
|
|
181
|
+
primaryBtn: isRealStore && layoutConfig?.text?.hero?.slides?.[2]?.primaryButton ? layoutConfig.text.hero.slides[2].primaryButton : getLayoutText(storeConfig, 'common.reserveTable', "Reserve Table"),
|
|
182
|
+
secondaryBtn: isRealStore && layoutConfig?.text?.hero?.slides?.[2]?.secondaryButton ? layoutConfig.text.hero.slides[2].secondaryButton : getLayoutText(storeConfig, 'common.viewSpecials', "View Specials")
|
|
183
|
+
}
|
|
184
|
+
];
|
|
185
|
+
}
|
|
186
|
+
const [currentSlide, setCurrentSlide] = useState(0);
|
|
187
|
+
const [isAutoPlaying, setIsAutoPlaying] = useState(true);
|
|
188
|
+
usePreviewSlideSync('hero', setCurrentSlide, () => setIsAutoPlaying(false));
|
|
189
|
+
// Auto-play functionality
|
|
190
|
+
useEffect(() => {
|
|
191
|
+
if (!isAutoPlaying || heroSlides.length === 0)
|
|
192
|
+
return;
|
|
193
|
+
const interval = setInterval(() => {
|
|
194
|
+
setCurrentSlide((prev) => (prev + 1) % heroSlides.length);
|
|
195
|
+
}, 5000);
|
|
196
|
+
return () => clearInterval(interval);
|
|
197
|
+
}, [isAutoPlaying, heroSlides.length]);
|
|
198
|
+
const nextSlide = () => {
|
|
199
|
+
if (heroSlides.length === 0)
|
|
200
|
+
return;
|
|
201
|
+
setCurrentSlide((prev) => (prev + 1) % heroSlides.length);
|
|
202
|
+
setIsAutoPlaying(false);
|
|
203
|
+
};
|
|
204
|
+
const prevSlide = () => {
|
|
205
|
+
if (heroSlides.length === 0)
|
|
206
|
+
return;
|
|
207
|
+
setCurrentSlide((prev) => (prev - 1 + heroSlides.length) % heroSlides.length);
|
|
208
|
+
setIsAutoPlaying(false);
|
|
209
|
+
};
|
|
210
|
+
// Reservation form state
|
|
211
|
+
const [reservationData, setReservationData] = useState({
|
|
212
|
+
date: '',
|
|
213
|
+
time: '',
|
|
214
|
+
guests: '2',
|
|
215
|
+
name: '',
|
|
216
|
+
email: '',
|
|
217
|
+
phone: '',
|
|
218
|
+
specialRequests: '',
|
|
219
|
+
});
|
|
220
|
+
const [isSubmitting, setIsSubmitting] = useState(false);
|
|
221
|
+
const [submitSuccess, setSubmitSuccess] = useState(false);
|
|
222
|
+
// Generate available time slots from backend storeHours or use fallback
|
|
223
|
+
const generateTimeSlots = () => {
|
|
224
|
+
// For demo stores, always use fallback; for real stores, try backend config
|
|
225
|
+
const isRealStore = shouldUseAPI(storeConfig.slug);
|
|
226
|
+
if (!isRealStore) {
|
|
227
|
+
return [
|
|
228
|
+
'11:00 AM', '11:30 AM', '12:00 PM', '12:30 PM', '1:00 PM', '1:30 PM',
|
|
229
|
+
'2:00 PM', '2:30 PM', '5:00 PM', '5:30 PM', '6:00 PM', '6:30 PM',
|
|
230
|
+
'7:00 PM', '7:30 PM', '8:00 PM', '8:30 PM', '9:00 PM', '9:30 PM'
|
|
231
|
+
];
|
|
232
|
+
}
|
|
233
|
+
// Try to get time slots from storeHours config (may exist at runtime even if not in type)
|
|
234
|
+
const storeHours = storeConfig.storeHours;
|
|
235
|
+
if (storeHours && typeof storeHours === 'object') {
|
|
236
|
+
// Check if there's a timeSlots array or similar structure
|
|
237
|
+
if (Array.isArray(storeHours.timeSlots)) {
|
|
238
|
+
return storeHours.timeSlots;
|
|
239
|
+
}
|
|
240
|
+
// Try to extract from day-based structure (e.g., monday: { slots: [...] })
|
|
241
|
+
const dayKeys = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'];
|
|
242
|
+
for (const day of dayKeys) {
|
|
243
|
+
if (storeHours[day]?.slots && Array.isArray(storeHours[day].slots)) {
|
|
244
|
+
// Convert 24h format to 12h format if needed, or use as-is
|
|
245
|
+
return storeHours[day].slots.map((slot) => {
|
|
246
|
+
// If slot is in format "HH:MM-HH:MM", extract start time
|
|
247
|
+
if (slot.includes('-')) {
|
|
248
|
+
const startTime = slot.split('-')[0];
|
|
249
|
+
// Convert 24h to 12h if needed
|
|
250
|
+
const [hours, minutes] = startTime.split(':').map(Number);
|
|
251
|
+
if (hours >= 12) {
|
|
252
|
+
const hour12 = hours === 12 ? 12 : hours - 12;
|
|
253
|
+
return `${hour12}:${minutes.toString().padStart(2, '0')} ${hours >= 12 ? 'PM' : 'AM'}`;
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
return `${hours}:${minutes.toString().padStart(2, '0')} ${hours === 0 ? 'AM' : 'AM'}`;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
return slot;
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
// Fallback to default time slots
|
|
265
|
+
return [
|
|
266
|
+
'11:00 AM', '11:30 AM', '12:00 PM', '12:30 PM', '1:00 PM', '1:30 PM',
|
|
267
|
+
'2:00 PM', '2:30 PM', '5:00 PM', '5:30 PM', '6:00 PM', '6:30 PM',
|
|
268
|
+
'7:00 PM', '7:30 PM', '8:00 PM', '8:30 PM', '9:00 PM', '9:30 PM'
|
|
269
|
+
];
|
|
270
|
+
};
|
|
271
|
+
const timeSlots = generateTimeSlots();
|
|
272
|
+
// Get minimum date (today)
|
|
273
|
+
const today = new Date();
|
|
274
|
+
const minDate = today.toISOString().split('T')[0];
|
|
275
|
+
// Get maximum date (90 days from now)
|
|
276
|
+
const maxDate = new Date(today);
|
|
277
|
+
maxDate.setDate(maxDate.getDate() + 90);
|
|
278
|
+
const maxDateString = maxDate.toISOString().split('T')[0];
|
|
279
|
+
const [resetReservation, setResetReservation] = useState(false);
|
|
280
|
+
// Handle reservation reset timer
|
|
281
|
+
useEffect(() => {
|
|
282
|
+
let timer;
|
|
283
|
+
if (resetReservation) {
|
|
284
|
+
timer = setTimeout(() => {
|
|
285
|
+
setSubmitSuccess(false);
|
|
286
|
+
setReservationData({
|
|
287
|
+
date: '',
|
|
288
|
+
time: '',
|
|
289
|
+
guests: '2',
|
|
290
|
+
name: '',
|
|
291
|
+
email: '',
|
|
292
|
+
phone: '',
|
|
293
|
+
specialRequests: '',
|
|
294
|
+
});
|
|
295
|
+
setResetReservation(false);
|
|
296
|
+
}, 3000);
|
|
297
|
+
}
|
|
298
|
+
return () => {
|
|
299
|
+
if (timer)
|
|
300
|
+
clearTimeout(timer);
|
|
301
|
+
};
|
|
302
|
+
}, [resetReservation]);
|
|
303
|
+
const handleReservationSubmit = async (e) => {
|
|
304
|
+
e.preventDefault();
|
|
305
|
+
setIsSubmitting(true);
|
|
306
|
+
// Simulate API call
|
|
307
|
+
await new Promise(resolve => setTimeout(resolve, 1500));
|
|
308
|
+
setIsSubmitting(false);
|
|
309
|
+
setSubmitSuccess(true);
|
|
310
|
+
setResetReservation(true);
|
|
311
|
+
};
|
|
312
|
+
const handleInputChange = (field, value) => {
|
|
313
|
+
setReservationData(prev => ({ ...prev, [field]: value }));
|
|
314
|
+
};
|
|
315
|
+
return (_jsxs("div", { className: "min-h-screen bg-[#FAFAFA]", children: [(layoutConfig?.sections?.hero?.show ?? layoutConfig?.hero?.show) !== false && heroSlides.length > 0 && (_jsxs("section", { "data-section": "hero", "data-payaza-section-key": "hero", "data-payaza-page": "home", className: "relative h-[90vh] w-full overflow-hidden bg-black", style: getPayazaSectionInlineStyle(storeConfig, 'home', 'hero'), onMouseEnter: () => setIsAutoPlaying(false), onMouseLeave: () => setIsAutoPlaying(true), children: [heroSlides.map((slide, index) => (_jsxs("div", { className: `absolute inset-0 transition-opacity duration-1000 ease-in-out ${index === currentSlide ? 'opacity-100 z-10' : 'opacity-0 z-0'}`, children: [_jsxs("div", { className: "absolute inset-0", "data-payaza-image": payaza('hero', ['sliders', String(index), 'image']), "data-payaza-section-key": "hero", children: [_jsx(Image, { src: slide.image, alt: slide.title, fill: true, className: `object-cover transition-transform duration-[10000ms] ease-linear ${index === currentSlide ? 'scale-110' : 'scale-100'}`, unoptimized: true }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-r from-black/80 via-black/40 to-transparent" }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent" })] }), _jsx("div", { className: "absolute inset-0 flex items-center", children: _jsx("div", { className: "container mx-auto px-4 sm:px-6 lg:px-8", children: _jsxs("div", { className: `max-w-3xl space-y-8 transition-all duration-1000 transform ${index === currentSlide ? 'translate-y-0 opacity-100' : 'translate-y-10 opacity-0'}`, children: [showLayoutDecorativeBadges() && slide.badge && (_jsxs("div", { className: "inline-flex items-center gap-3 px-5 py-2.5 bg-orange-500 text-white rounded-full text-sm font-bold shadow-[0_0_20px_rgba(249,115,22,0.4)] backdrop-blur-md border border-orange-400/50 w-fit", "data-payaza-edit": payaza('hero', ['sliders', String(index), 'badge']), "data-payaza-section-key": "hero", children: [_jsx(Flame, { className: "h-4 w-4 fill-white animate-bounce" }), " ", slide.badge] })), _jsxs("h1", { className: "text-5xl sm:text-6xl lg:text-8xl font-black text-white tracking-tighter leading-[1.1] drop-shadow-2xl", "data-payaza-edit": payaza('hero', ['sliders', String(index), 'title']), "data-payaza-section-key": "hero", children: [slide.title, " ", _jsx("br", {}), _jsx("span", { className: "text-transparent bg-clip-text bg-gradient-to-r from-orange-400 via-yellow-400 to-orange-500", "data-payaza-edit": payaza('hero', ['sliders', String(index), 'highlight']), "data-payaza-section-key": "hero", children: slide.highlight })] }), _jsx("p", { className: "text-xl sm:text-2xl text-gray-200 max-w-xl font-medium leading-relaxed drop-shadow-lg", "data-payaza-edit": payaza('hero', ['sliders', String(index), 'description']), "data-payaza-section-key": "hero", children: slide.description }), _jsxs("div", { className: "flex flex-wrap gap-5 pt-4", children: [(layoutConfig?.sections?.hero?.showCTA !== false || layoutConfig?.hero?.showCTA !== false) &&
|
|
316
|
+
slide.primaryBtn &&
|
|
317
|
+
slide.primaryBtn.trim() !== '' && (_jsx(Link, { href: resolveStoreLink(slide.primaryBtnLink || 'menu', storeConfig.slug), children: _jsx(Button, { size: "lg", className: "h-16 px-10 text-lg font-bold rounded-full bg-gradient-to-r from-orange-600 to-orange-500 hover:from-orange-700 hover:to-orange-600 text-white shadow-[0_10px_30px_rgba(249,115,22,0.4)] transition-all hover:scale-105 hover:-translate-y-1", children: slide.primaryBtn }) })), (layoutConfig?.sections?.hero?.showSecondaryCTA !== false || layoutConfig?.hero?.showSecondaryCTA !== false) &&
|
|
318
|
+
slide.secondaryBtn &&
|
|
319
|
+
slide.secondaryBtn.trim() !== '' &&
|
|
320
|
+
slide.secondaryBtnLink && (_jsx(Link, { href: resolveStoreLink(slide.secondaryBtnLink, storeConfig.slug), children: _jsx(Button, { size: "lg", variant: "outline", className: "h-16 px-10 text-lg font-bold rounded-full border-2 border-white text-white bg-black/20 hover:bg-white hover:text-black hover:border-white transition-all backdrop-blur-md", children: slide.secondaryBtn }) }))] }), (layoutConfig?.sections?.hero?.showTrustIndicators !== false) && (_jsxs("div", { className: "flex flex-wrap gap-6 text-white/90 text-sm font-semibold pt-4", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Clock, { className: "h-5 w-5 text-orange-400" }), _jsx("span", { "data-payaza-edit": payaza('hero', ['deliveryTime']), "data-payaza-section-key": "hero", children: layoutConfig?.sections?.hero?.deliveryTime || '30-45 min Delivery' })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { ...payazaIconBindingProps(!!isPreview, 'hero', ['ratingIcon']), children: _jsx(DynamicIcon, { name: layoutConfig?.sections?.hero?.ratingIcon || 'Star', className: "h-5 w-5 text-yellow-400 fill-yellow-400" }) }), _jsx("span", { "data-payaza-edit": payaza('hero', ['ratingText']), "data-payaza-section-key": "hero", children: layoutConfig?.sections?.hero?.ratingText || '4.9 (2k+ Reviews)' })] })] }))] }) }) })] }, index))), _jsx("button", { onClick: prevSlide, className: "absolute left-2 sm:left-4 top-1/2 -translate-y-1/2 z-30 bg-white/10 hover:bg-white/20 backdrop-blur-md rounded-full p-2 sm:p-3 transition-all duration-300 hover:scale-110 group border border-white/10", "aria-label": "Previous slide", children: _jsx(ChevronLeft, { className: "h-5 w-5 sm:h-8 sm:w-8 text-white group-hover:text-orange-400 transition-colors" }) }), _jsx("button", { onClick: nextSlide, className: "absolute right-2 sm:right-4 top-1/2 -translate-y-1/2 z-30 bg-white/10 hover:bg-white/20 backdrop-blur-md rounded-full p-2 sm:p-3 transition-all duration-300 hover:scale-110 group border border-white/10", "aria-label": "Next slide", children: _jsx(ChevronRight, { className: "h-5 w-5 sm:h-8 sm:w-8 text-white group-hover:text-orange-400 transition-colors" }) }), _jsx("div", { className: "absolute bottom-10 left-1/2 -translate-x-1/2 z-30 flex gap-3", children: heroSlides.map((_, index) => (_jsx("button", { onClick: () => {
|
|
321
|
+
setCurrentSlide(index);
|
|
322
|
+
setIsAutoPlaying(false);
|
|
323
|
+
}, className: `transition-all duration-500 rounded-full ${index === currentSlide
|
|
324
|
+
? 'w-12 h-3 bg-orange-500 shadow-lg shadow-orange-500/50'
|
|
325
|
+
: 'w-3 h-3 bg-white/30 hover:bg-white/50'}`, "aria-label": `Go to slide ${index + 1}` }, index))) })] })), layoutConfig?.sections?.categories?.show !== false && (_jsx("section", { "data-section": "categories", "data-payaza-section-key": "categories", "data-payaza-page": "home", className: "py-16 md:py-24 px-4 sm:px-6 lg:px-8 -mt-20 md:-mt-32 relative z-10", style: getPayazaSectionInlineStyle(storeConfig, 'home', 'categories'), children: _jsx("div", { className: "container mx-auto max-w-7xl", children: _jsxs("div", { className: "bg-white/80 backdrop-blur-xl rounded-[2.5rem] shadow-2xl shadow-black/5 p-8 md:p-14 border border-white/20", children: [_jsxs("div", { className: "text-center mb-8 md:mb-12", children: [_jsx("span", { className: "text-orange-500 font-bold tracking-widest uppercase text-xs mb-3 block", "data-payaza-edit": payaza('categories', ['title']), children: layoutConfig?.sections?.categories?.title || "Menu Categories" }), _jsx("h2", { className: "text-3xl md:text-4xl font-black text-gray-900 tracking-tight", "data-payaza-edit": payaza('categories', ['subtitle']), children: layoutConfig?.sections?.categories?.subtitle || "What are you craving?" })] }), _jsx("div", { className: "flex flex-wrap justify-center gap-8 md:gap-12", children: categories.map((category) => (_jsxs(Link, { href: `/${storeConfig.slug}/menu/${category.slug}`, className: "group flex flex-col items-center gap-4 transition-all duration-300 hover:scale-110", children: [_jsx("div", { className: "w-20 h-20 rounded-full bg-gradient-to-br from-orange-500 to-orange-600 flex items-center justify-center shadow-lg group-hover:shadow-xl transition-shadow", children: _jsx(Utensils, { className: "w-10 h-10 text-white" }) }), _jsx("span", { className: "text-gray-900 font-bold text-lg group-hover:text-orange-500 transition-colors", children: category.name })] }, category.id))) })] }) }) })), layoutConfig?.sections?.process?.show !== false && (_jsx("section", { "data-section": "process", "data-payaza-section-key": "process", "data-payaza-page": "home", className: "py-16 md:py-24 px-4 sm:px-6 lg:px-8 bg-[#FAFAFA]", style: getPayazaSectionInlineStyle(storeConfig, 'home', 'process'), children: _jsxs("div", { className: "container mx-auto max-w-7xl", children: [_jsxs("div", { className: "text-center mb-12 md:mb-20", children: [_jsx("span", { className: "text-orange-500 font-bold tracking-widest uppercase text-xs mb-3 block", "data-payaza-edit": payaza('process', ['subtitle']), children: layoutConfig?.sections?.process?.subtitle || "Simple Process" }), _jsx("h2", { className: "text-4xl md:text-5xl font-black text-gray-900 tracking-tight", "data-payaza-edit": payaza('process', ['title']), children: layoutConfig?.sections?.process?.title || "How It Works" })] }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-12 relative max-w-5xl mx-auto", children: [_jsx("div", { className: "hidden md:block absolute top-16 left-[20%] right-[20%] h-0.5 bg-gradient-to-r from-gray-200 via-orange-200 to-gray-200 -z-10 border-t-2 border-dashed border-gray-300/50" }), (() => {
|
|
326
|
+
const defaultSteps = [
|
|
327
|
+
{ title: "Choose Your Dish", description: "Browse our diverse menu and select your favorite meals with just a few taps.", icon: "Smartphone" },
|
|
328
|
+
{ title: "We Cook It Fresh", description: "Our expert chefs prepare your order using the finest, freshest ingredients.", icon: "ChefHat" },
|
|
329
|
+
{ title: "Fast Delivery", description: "Receive your hot and delicious meal at your doorstep in record time.", icon: "Truck" }
|
|
330
|
+
];
|
|
331
|
+
const steps = layoutConfig?.sections?.process?.steps || defaultSteps;
|
|
332
|
+
return steps.map((step, idx) => {
|
|
333
|
+
return (_jsxs("div", { className: "flex flex-col items-center text-center group", children: [_jsxs("div", { className: "w-32 h-32 rounded-[2rem] bg-white flex items-center justify-center mb-8 shadow-[0_20px_50px_rgba(0,0,0,0.05)] group-hover:shadow-[0_20px_50px_rgba(249,115,22,0.15)] group-hover:-translate-y-2 transition-all duration-500 relative z-10 border border-gray-100", children: [_jsx("div", { className: "p-4 bg-orange-50 rounded-2xl group-hover:bg-orange-100 transition-colors duration-500", ...payazaIconBindingProps(!!isPreview, 'process', ['steps', String(idx), 'icon']), children: _jsx(DynamicIcon, { name: step.icon || 'Utensils', className: "h-10 w-10 text-orange-500 group-hover:scale-110 transition-transform duration-500" }) }), _jsx("div", { className: "absolute -top-3 -right-3 w-8 h-8 bg-orange-500 rounded-full flex items-center justify-center text-white font-bold text-sm shadow-lg", children: idx + 1 })] }), _jsx("h3", { className: "text-2xl font-bold text-gray-900 mb-4", "data-payaza-edit": payaza('process', ['steps', String(idx), 'title']), children: step.title }), _jsx("p", { className: "text-gray-500 leading-relaxed max-w-xs font-medium", "data-payaza-edit": payaza('process', ['steps', String(idx), 'description']), children: step.description })] }, idx));
|
|
334
|
+
});
|
|
335
|
+
})()] })] }) })), layoutConfig?.sections?.featuredProducts?.show !== false && (_jsx("section", { "data-section": "featuredProducts", "data-payaza-section-key": "featuredProducts", "data-payaza-page": "home", className: "py-16 md:py-20 px-4 sm:px-6 lg:px-8", style: getPayazaSectionInlineStyle(storeConfig, 'home', 'featuredProducts'), children: _jsxs("div", { className: "container mx-auto max-w-7xl", children: [_jsxs("div", { className: "flex flex-col md:flex-row items-end justify-between mb-8 md:mb-12 gap-4", children: [_jsxs("div", { children: [_jsx("span", { className: "text-orange-500 font-bold tracking-widest uppercase text-xs mb-3 block", "data-payaza-edit": payaza('featuredProducts', ['subtitle']), children: layoutConfig?.sections?.featuredProducts?.subtitle || "Our Menu" }), _jsx("h2", { className: "text-3xl md:text-4xl font-black text-gray-900 tracking-tight", "data-payaza-edit": payaza('featuredProducts', ['title']), children: layoutConfig?.sections?.featuredProducts?.title || getLayoutText(storeConfig, 'food.chefRecommendations', 'Chef\'s Recommendations') })] }), _jsxs(Link, { href: resolveStoreLink(layoutConfig?.sections?.featuredProducts?.viewAllLink || 'menu', storeConfig.slug), className: "group flex items-center gap-2 text-gray-600 hover:text-orange-600 font-bold transition-colors", children: [_jsx("span", { "data-payaza-edit": payaza('featuredProducts', ['viewAllLabel']), children: layoutConfig?.sections?.featuredProducts?.viewAllLabel || getLayoutText(storeConfig, 'food.viewMenu', 'View Full Menu') }), _jsx(ArrowRight, { className: "h-5 w-5 transition-transform group-hover:translate-x-1" })] })] }), _jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8", children: menuItems.slice(0, layoutConfig?.sections?.featuredProducts?.maxItems || 3).map((item) => (_jsxs("div", { className: "group bg-white rounded-[2rem] border border-gray-100 shadow-sm hover:shadow-[0_20px_50px_rgba(0,0,0,0.08)] transition-all duration-500 overflow-hidden flex flex-col h-full hover:-translate-y-2", children: [_jsxs("div", { className: "relative aspect-[4/3] overflow-hidden m-3 rounded-[1.5rem]", children: [item.image ? (_jsx("div", { className: "w-full h-full relative", children: _jsx(Image, { src: item.image, alt: item.name, fill: true, className: "object-cover transition-transform duration-700 group-hover:scale-110", unoptimized: true }) })) : (_jsx("div", { className: "w-full h-full bg-gray-100 flex items-center justify-center", children: _jsx(Utensils, { className: "h-12 w-12 text-gray-300" }) })), _jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-black/50 via-transparent to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-500" }), _jsx("div", { className: "absolute top-4 right-4 bg-white/95 backdrop-blur-md px-4 py-2 rounded-full font-black text-gray-900 shadow-lg border border-white/50", children: formatCurrency(item.price, storeConfig.settings?.currency || 'USD') }), _jsx("div", { className: "hidden lg:block absolute bottom-4 left-4 right-4 translate-y-20 opacity-0 group-hover:translate-y-0 group-hover:opacity-100 transition-all duration-500 delay-100", children: _jsx(Button, { onClick: () => handleAddToCart(item), className: "w-full h-12 rounded-xl bg-white hover:bg-orange-600 text-gray-900 hover:text-white font-bold shadow-xl border-0 transition-colors", children: "Add to Order" }) }), _jsx("button", { onClick: () => handleAddToCart(item), className: "lg:hidden absolute bottom-3 right-3 bg-white text-orange-600 w-10 h-10 rounded-full shadow-lg flex items-center justify-center font-bold z-10 active:scale-95 transition-transform", children: _jsx(Plus, { className: "h-5 w-5" }) })] }), _jsxs("div", { className: "p-6 pt-2 flex flex-col flex-1", children: [_jsx("div", { className: "flex justify-between items-start mb-2", children: _jsx("h3", { className: "font-bold text-xl text-gray-900 group-hover:text-orange-600 transition-colors line-clamp-1", children: item.name }) }), _jsx("p", { className: "text-gray-500 text-sm mb-6 line-clamp-2 flex-1 leading-relaxed font-medium", children: item.description }), item.dietaryInfo && item.dietaryInfo.length > 0 && (_jsx("div", { className: "flex flex-wrap gap-2 mt-auto pt-4 border-t border-gray-50", children: item.dietaryInfo.map((info) => (_jsx("span", { className: "text-[10px] font-bold uppercase tracking-wider px-3 py-1.5 bg-gray-50 text-gray-600 rounded-lg group-hover:bg-orange-50 group-hover:text-orange-700 transition-colors", children: info }, info))) }))] })] }, item.id))) })] }) })), layoutConfig?.sections?.about?.show !== false && (_jsx("section", { "data-section": "about", "data-payaza-section-key": "about", "data-payaza-page": "home", className: "py-16 md:py-20 px-4 sm:px-6 lg:px-8 bg-white overflow-hidden", style: getPayazaSectionInlineStyle(storeConfig, 'home', 'about'), children: _jsx("div", { className: "container mx-auto max-w-7xl", children: _jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-10 md:gap-12 lg:gap-20 items-center", children: [_jsx("div", { className: "order-2 lg:order-1", children: _jsxs("div", { className: "relative", children: [_jsx("div", { className: "absolute -top-10 -left-10 w-64 h-64 bg-orange-100 rounded-full blur-3xl opacity-50" }), _jsx("div", { className: "relative aspect-square rounded-3xl overflow-hidden shadow-2xl rotate-3 hover:rotate-0 transition-transform duration-700", "data-payaza-image": payaza('about', ['image']), children: _jsx(Image, { src: layoutConfig?.sections?.about?.image || getBannerImage(storeConfig, 'chef_image', "https://images.unsplash.com/photo-1583394293214-28ded15ee548?q=80&w=2000&auto=format&fit=crop"), alt: "Chef Cooking", fill: true, className: "object-cover", unoptimized: true }) }), _jsx("div", { className: "absolute -bottom-8 -right-8 bg-white p-6 rounded-2xl shadow-xl animate-fade-in-up hidden md:block", children: _jsxs("div", { className: "flex items-center gap-4", children: [_jsx("div", { className: "p-3 bg-orange-100 rounded-full text-orange-600", children: _jsx(ChefHat, { className: "h-8 w-8" }) }), _jsxs("div", { children: [_jsx("p", { className: "font-bold text-gray-900 text-lg", "data-payaza-edit": payaza('about', ['chefBadgeTitle']), "data-payaza-section-key": "about", children: layoutConfig?.sections?.about?.chefBadgeTitle || 'Master Chef' }), _jsx("p", { className: "text-sm text-gray-500", "data-payaza-edit": payaza('about', ['chefBadgeSubtitle']), "data-payaza-section-key": "about", children: layoutConfig?.sections?.about?.chefBadgeSubtitle || '15+ Years Experience' })] })] }) })] }) }), _jsxs("div", { className: "order-1 lg:order-2 space-y-6", children: [_jsx("span", { className: "text-orange-600 font-bold tracking-wider uppercase text-sm", "data-payaza-edit": payaza('about', ['section_title']), children: layoutConfig?.sections?.about?.section_title || getLayoutText(storeConfig, 'chef_image:section_title', 'Our Story') }), _jsx("h2", { className: "text-4xl md:text-5xl font-black text-gray-900 leading-tight", "data-payaza-edit": payaza('about', ['chef_name']), children: layoutConfig?.sections?.about?.chef_name || getLayoutText(storeConfig, 'chef_image:chef_name', 'Crafted with Love, Served with Passion') }), _jsx("p", { className: "text-lg text-gray-600 leading-relaxed", "data-payaza-edit": payaza('about', ['chef_bio']), children: layoutConfig?.sections?.about?.chef_bio || getLayoutText(storeConfig, 'chef_image:chef_bio', 'We believe that great food brings people together. Our chefs use only the freshest, locally-sourced ingredients to create dishes that not only taste amazing but also tell a story of tradition and innovation.') }), _jsx("div", { className: "grid grid-cols-2 gap-6 pt-4", children: (layoutConfig?.sections?.about?.showStats !== false) && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "space-y-2", children: [_jsx("h4", { className: "text-3xl font-black text-gray-900", "data-payaza-edit": payaza('about', ['stat1Value']), children: layoutConfig?.sections?.about?.stat1Value || "15k+" }), _jsx("p", { className: "text-gray-500 font-medium", "data-payaza-edit": payaza('about', ['stat1Label']), children: layoutConfig?.sections?.about?.stat1Label || "Happy Customers" })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("h4", { className: "text-3xl font-black text-gray-900", "data-payaza-edit": payaza('about', ['stat2Value']), children: layoutConfig?.sections?.about?.stat2Value || "100%" }), _jsx("p", { className: "text-gray-500 font-medium", "data-payaza-edit": payaza('about', ['stat2Label']), children: layoutConfig?.sections?.about?.stat2Label || "Fresh Ingredients" })] })] })) }), _jsx("div", { className: "pt-6", children: _jsx(Link, { href: resolveStoreLink(layoutConfig?.sections?.about?.buttonLink || 'about', storeConfig.slug), children: _jsx(Button, { variant: "outline", className: "rounded-full px-8 py-6 border-gray-200 hover:border-orange-600 hover:text-orange-600 text-base font-bold", children: _jsx("span", { "data-payaza-edit": payaza('about', ['buttonText']), children: layoutConfig?.sections?.about?.buttonText || "Read More About Us" }) }) }) })] })] }) }) })), layoutConfig?.sections?.testimonials?.show !== false && (_jsx("section", { "data-section": "testimonials", "data-payaza-section-key": "testimonials", "data-payaza-page": "home", className: "py-16 md:py-24 px-4 sm:px-6 lg:px-8 bg-gradient-to-b from-white via-orange-50/30 to-white", style: getPayazaSectionInlineStyle(storeConfig, 'home', 'testimonials'), children: _jsxs("div", { className: "container mx-auto max-w-7xl", children: [_jsxs("div", { className: "text-center mb-12 md:mb-20", children: [_jsx("span", { className: "text-orange-500 font-bold tracking-widest uppercase text-xs mb-3 block", children: "Testimonials" }), _jsx("h2", { className: "text-4xl md:text-5xl font-black text-gray-900 tracking-tight", "data-payaza-edit": payaza('testimonials', ['title']), children: layoutConfig?.sections?.testimonials?.title || getLayoutText(storeConfig, 'sections.testimonials.title', 'What Our Customers Say') }), _jsx("p", { className: "text-gray-500 text-lg mt-4 max-w-2xl mx-auto", "data-payaza-edit": payaza('testimonials', ['subtitle']), children: layoutConfig?.sections?.testimonials?.subtitle || getLayoutText(storeConfig, 'sections.testimonials.subtitle', 'Real experiences from food lovers who trust us') })] }), _jsx("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-8", children: (() => {
|
|
336
|
+
// Use backend testimonials if available
|
|
337
|
+
const backendTestimonials = layoutConfig?.sections?.testimonials?.items || [];
|
|
338
|
+
const fallbackTestimonials = [
|
|
339
|
+
{
|
|
340
|
+
id: '1',
|
|
341
|
+
name: "Sarah Johnson",
|
|
342
|
+
role: "Food Blogger",
|
|
343
|
+
image: "https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=150&h=150&fit=crop",
|
|
344
|
+
quote: "The flavors are absolutely incredible! Every bite reminds me of authentic home cooking but with a gourmet twist. Highly recommended!",
|
|
345
|
+
rating: 5,
|
|
346
|
+
order: 1
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
id: '2',
|
|
350
|
+
name: "Michael Chen",
|
|
351
|
+
role: "Regular Customer",
|
|
352
|
+
image: "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=150&h=150&fit=crop",
|
|
353
|
+
quote: "Fastest delivery in town without compromising on quality. The food arrives hot and fresh every single time. My go-to for dinner.",
|
|
354
|
+
rating: 5,
|
|
355
|
+
order: 2
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
id: '3',
|
|
359
|
+
name: "Emily Davis",
|
|
360
|
+
role: "Chef",
|
|
361
|
+
image: "https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=150&h=150&fit=crop",
|
|
362
|
+
quote: "As a chef myself, I'm impressed by the attention to detail and ingredient quality. The seasonal specials are always a delight to try.",
|
|
363
|
+
rating: 5,
|
|
364
|
+
order: 3
|
|
365
|
+
}
|
|
366
|
+
];
|
|
367
|
+
// If backend has testimonials, use them; otherwise use fallback
|
|
368
|
+
const testimonials = backendTestimonials.length > 0
|
|
369
|
+
? backendTestimonials
|
|
370
|
+
: (isPreview ? fallbackTestimonials : []);
|
|
371
|
+
const maxItems = layoutConfig?.sections?.testimonials?.maxItems || 3;
|
|
372
|
+
return testimonials.slice(0, maxItems);
|
|
373
|
+
})().map((testimonial) => (_jsx(TestimonialCard, { testimonial: testimonial }, testimonial.id || testimonial.name))) })] }) })), layoutConfig?.sections?.reservation?.show !== false && (_jsxs("section", { "data-section": "reservation", "data-payaza-section-key": "reservation", "data-payaza-page": "home", className: "py-16 md:py-24 px-4 sm:px-6 lg:px-8 bg-gradient-to-br from-white via-orange-50/20 to-white relative overflow-hidden", style: getPayazaSectionInlineStyle(storeConfig, 'home', 'reservation'), children: [_jsx("div", { className: "absolute top-0 right-0 w-96 h-96 bg-orange-100 rounded-full blur-3xl opacity-30 -z-10" }), _jsx("div", { className: "absolute bottom-0 left-0 w-96 h-96 bg-orange-50 rounded-full blur-3xl opacity-20 -z-10" }), _jsx("div", { className: "container mx-auto max-w-7xl relative z-10", children: _jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-10 lg:gap-24 items-center", children: [_jsxs("div", { className: "space-y-10", children: [_jsxs("div", { children: [_jsx("span", { className: "text-orange-500 font-bold tracking-widest uppercase text-xs mb-4 block", "data-payaza-edit": payaza('reservation', ['subtitle']), children: layoutConfig?.sections?.reservation?.subtitle || "Reservations" }), _jsx("h2", { className: "text-4xl md:text-5xl lg:text-6xl font-black text-gray-900 leading-tight mb-6 tracking-tight", "data-payaza-edit": payaza('reservation', ['title']), children: layoutConfig?.sections?.reservation?.title || getLayoutText(storeConfig, 'food.reserveTable', 'Reserve Your Table') }), _jsx("p", { className: "text-lg text-gray-600 leading-relaxed font-medium", "data-payaza-edit": payaza('reservation', ['description']), children: layoutConfig?.sections?.reservation?.description || getLayoutText(storeConfig, 'food.ourPhilosophy', 'Experience our exceptional dining atmosphere. Book a table in advance to ensure the best experience for you and your guests.') })] }), _jsx("div", { className: "grid grid-cols-2 gap-6", children: (() => {
|
|
374
|
+
const defaultFeatures = [
|
|
375
|
+
{ title: "Flexible Booking", description: "Book up to 90 days in advance", icon: "Calendar" },
|
|
376
|
+
{ title: "Group Dining", description: "Accommodate parties of all sizes", icon: "Users" },
|
|
377
|
+
{ title: "Quick Confirmation", description: "Instant booking confirmation", icon: "Clock" },
|
|
378
|
+
{ title: "Special Occasions", description: "Perfect for celebrations", icon: "Award" }
|
|
379
|
+
];
|
|
380
|
+
const features = layoutConfig?.sections?.reservation?.features || defaultFeatures;
|
|
381
|
+
if (layoutConfig?.sections?.reservation?.showFeatures === false)
|
|
382
|
+
return null;
|
|
383
|
+
return features.map((feature, idx) => {
|
|
384
|
+
return (_jsxs("div", { className: "group flex items-start gap-4 p-5 bg-white rounded-2xl shadow-sm hover:shadow-lg border border-gray-100 hover:border-orange-200 transition-all duration-300", children: [_jsx("div", { className: "p-3 bg-orange-50 rounded-xl group-hover:bg-orange-100 transition-colors", ...payazaIconBindingProps(!!isPreview, 'reservation', ['features', String(idx), 'icon']), children: _jsx(DynamicIcon, { name: feature.icon || 'Star', className: "h-6 w-6 text-orange-500" }) }), _jsxs("div", { children: [_jsx("h3", { className: "font-bold text-gray-900 mb-1.5", "data-payaza-edit": payaza('reservation', ['features', String(idx), 'title']), children: feature.title }), _jsx("p", { className: "text-sm text-gray-600 font-medium", "data-payaza-edit": payaza('reservation', ['features', String(idx), 'description']), children: feature.description })] })] }, idx));
|
|
385
|
+
});
|
|
386
|
+
})() }), _jsx("div", { className: "pt-6", children: _jsxs("div", { className: "flex items-center gap-4 p-5 bg-white rounded-2xl shadow-sm border border-gray-100", children: [_jsx("div", { className: "p-3 bg-orange-50 rounded-xl", children: _jsx(Phone, { className: "h-5 w-5 text-orange-500" }) }), _jsxs("div", { children: [_jsx("p", { className: "text-sm text-gray-500 font-medium mb-1", children: "Prefer to call?" }), _jsx("span", { className: "text-lg font-bold text-gray-900", "data-payaza-edit": payaza('reservation', ['phone']), children: layoutConfig?.sections?.reservation?.phone || "(555) 123-4567" })] })] }) })] }), _jsxs("div", { className: "bg-white rounded-[2.5rem] shadow-[0_20px_60px_rgba(0,0,0,0.1)] p-8 md:p-10 border border-gray-100 relative overflow-hidden", children: [_jsx("div", { className: "absolute top-0 right-0 w-64 h-64 bg-orange-50 rounded-full blur-3xl opacity-50 -z-10" }), submitSuccess ? (_jsxs("div", { className: "text-center py-12", children: [_jsx("div", { className: "w-20 h-20 bg-green-100 rounded-full flex items-center justify-center mx-auto mb-6", children: _jsx(CheckCircle, { className: "h-10 w-10 text-green-600" }) }), _jsx("h3", { className: "text-2xl font-bold text-gray-900 mb-2", children: "Reservation Confirmed!" }), _jsxs("p", { className: "text-gray-600", children: ["We've sent a confirmation email to ", reservationData.email] })] })) : (_jsxs("form", { onSubmit: handleReservationSubmit, className: "space-y-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { children: [_jsxs("label", { className: "block text-sm font-bold text-gray-900 mb-3", children: [_jsx(Calendar, { className: "h-4 w-4 inline mr-2 text-orange-500" }), "Date"] }), _jsx("input", { type: "date", required: true, min: minDate, max: maxDateString, value: reservationData.date, onChange: (e) => handleInputChange('date', e.target.value), className: "w-full px-5 py-4 rounded-2xl border-2 border-gray-200 focus:border-orange-500 focus:ring-4 focus:ring-orange-500/10 outline-none transition-all font-medium text-gray-900" })] }), _jsxs("div", { children: [_jsxs("label", { className: "block text-sm font-bold text-gray-900 mb-3", children: [_jsx(Clock, { className: "h-4 w-4 inline mr-2 text-orange-500" }), "Time"] }), _jsxs("select", { required: true, value: reservationData.time, onChange: (e) => handleInputChange('time', e.target.value), className: "w-full px-5 py-4 rounded-2xl border-2 border-gray-200 focus:border-orange-500 focus:ring-4 focus:ring-orange-500/10 outline-none transition-all font-medium text-gray-900", children: [_jsx("option", { value: "", children: "Select time" }), timeSlots.map((time) => (_jsx("option", { value: time, children: time }, time)))] })] })] }), _jsxs("div", { children: [_jsxs("label", { className: "block text-sm font-bold text-gray-900 mb-3", children: [_jsx(Users, { className: "h-4 w-4 inline mr-2 text-orange-500" }), getLayoutText(storeConfig, 'booking.selectDate', 'Number of Guests')] }), _jsxs("select", { required: true, value: reservationData.guests, onChange: (e) => handleInputChange('guests', e.target.value), className: "w-full px-5 py-4 rounded-2xl border-2 border-gray-200 focus:border-orange-500 focus:ring-4 focus:ring-orange-500/10 outline-none transition-all font-medium text-gray-900", children: [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12].map((num) => (_jsxs("option", { value: num.toString(), children: [num, " ", num === 1 ? 'Guest' : 'Guests'] }, num))), _jsx("option", { value: "13+", children: "13+ Guests (Large Party)" })] })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-bold text-gray-900 mb-3", children: getLayoutText(storeConfig, 'common.account', 'Full Name') }), _jsx("input", { type: "text", required: true, value: reservationData.name, onChange: (e) => handleInputChange('name', e.target.value), placeholder: "John Doe", className: "w-full px-5 py-4 rounded-2xl border-2 border-gray-200 focus:border-orange-500 focus:ring-4 focus:ring-orange-500/10 outline-none transition-all font-medium text-gray-900 placeholder:text-gray-400" })] }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { children: [_jsxs("label", { className: "block text-sm font-bold text-gray-900 mb-3", children: [_jsx(Mail, { className: "h-4 w-4 inline mr-2 text-orange-500" }), getLayoutText(storeConfig, 'common.account', 'Email')] }), _jsx("input", { type: "email", required: true, value: reservationData.email, onChange: (e) => handleInputChange('email', e.target.value), placeholder: "john@example.com", className: "w-full px-5 py-4 rounded-2xl border-2 border-gray-200 focus:border-orange-500 focus:ring-4 focus:ring-orange-500/10 outline-none transition-all font-medium text-gray-900 placeholder:text-gray-400" })] }), _jsxs("div", { children: [_jsxs("label", { className: "block text-sm font-bold text-gray-900 mb-3", children: [_jsx(Phone, { className: "h-4 w-4 inline mr-2 text-orange-500" }), getLayoutText(storeConfig, 'common.account', 'Phone')] }), _jsx("input", { type: "tel", required: true, value: reservationData.phone, onChange: (e) => handleInputChange('phone', e.target.value), placeholder: "(555) 123-4567", className: "w-full px-5 py-4 rounded-2xl border-2 border-gray-200 focus:border-orange-500 focus:ring-4 focus:ring-orange-500/10 outline-none transition-all font-medium text-gray-900 placeholder:text-gray-400" })] })] }), _jsxs("div", { children: [_jsxs("label", { className: "block text-sm font-bold text-gray-900 mb-3", children: [_jsx(MessageSquare, { className: "h-4 w-4 inline mr-2 text-orange-500" }), getLayoutText(storeConfig, 'common.account', 'Special Requests (Optional)')] }), _jsx("textarea", { value: reservationData.specialRequests, onChange: (e) => handleInputChange('specialRequests', e.target.value), placeholder: "Dietary restrictions, celebration details, seating preferences...", rows: 4, className: "w-full px-5 py-4 rounded-2xl border-2 border-gray-200 focus:border-orange-500 focus:ring-4 focus:ring-orange-500/10 outline-none transition-all resize-none font-medium text-gray-900 placeholder:text-gray-400" })] }), _jsx(Button, { type: "submit", disabled: isSubmitting, className: "w-full h-16 rounded-2xl bg-gradient-to-r from-orange-600 to-orange-500 hover:from-orange-700 hover:to-orange-600 text-white font-bold text-lg shadow-[0_10px_30px_rgba(249,115,22,0.3)] transition-all hover:scale-[1.02] hover:-translate-y-1 disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:scale-100 disabled:hover:translate-y-0", children: isSubmitting ? (_jsxs(_Fragment, { children: [_jsx(Clock, { className: "h-5 w-5 mr-2 animate-spin" }), getLayoutText(storeConfig, 'common.account', 'Processing...')] })) : (_jsxs(_Fragment, { children: [_jsx(Calendar, { className: "h-5 w-5 mr-2" }), _jsx("span", { "data-payaza-edit": payaza('reservation', ['submitButtonText']), "data-payaza-section-key": "reservation", children: layoutConfig?.sections?.reservation?.submitButtonText || getLayoutText(storeConfig, 'food.reserveTable', 'Reserve Table') })] })) }), _jsx("p", { className: "text-xs text-center text-gray-500 font-medium", children: "By submitting, you agree to our reservation policy. Cancellations must be made 24 hours in advance." })] }))] })] }) })] }))] }));
|
|
387
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { FoodHomePage } from './components/FoodHomePage';
|
|
2
|
+
export { FoodProductsPage } from './pages/ProductsPage';
|
|
3
|
+
export { FoodProductDetailPage } from './pages/ProductDetailPage';
|
|
4
|
+
export { FoodCategoryPage } from './pages/CategoryPage';
|
|
5
|
+
export { FoodCategoriesPage } from './pages/CategoriesPage';
|
|
6
|
+
export { FoodMenuPage } from './pages/MenuPage';
|
|
7
|
+
export { FoodAboutPage } from './pages/AboutPage';
|
|
8
|
+
export { FoodContactPage } from './pages/ContactPage';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/food/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Savory Bites (food) layout — fully sandboxed exports
|
|
2
|
+
export { FoodHomePage } from './components/FoodHomePage.js';
|
|
3
|
+
export { FoodProductsPage } from './pages/ProductsPage.js';
|
|
4
|
+
export { FoodProductDetailPage } from './pages/ProductDetailPage.js';
|
|
5
|
+
export { FoodCategoryPage } from './pages/CategoryPage.js';
|
|
6
|
+
export { FoodCategoriesPage } from './pages/CategoriesPage.js';
|
|
7
|
+
export { FoodMenuPage } from './pages/MenuPage.js';
|
|
8
|
+
export { FoodAboutPage } from './pages/AboutPage.js';
|
|
9
|
+
export { FoodContactPage } from './pages/ContactPage.js';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { StoreConfig } from '../../../lib/store-types';
|
|
2
|
+
interface AboutPageProps {
|
|
3
|
+
storeConfig: StoreConfig;
|
|
4
|
+
}
|
|
5
|
+
export declare function FoodAboutPage({ storeConfig: initialConfig }: AboutPageProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=AboutPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AboutPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/food/pages/AboutPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAUhD,UAAU,cAAc;IACtB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,aAAa,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,cAAc,2CA+U3E"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { Heart, MapPin, Clock, Mail, ArrowRight } from 'lucide-react';
|
|
4
|
+
import { Button } from '../../../components/ui/button.js';
|
|
5
|
+
import { DotPattern } from '../../../components/ui/background-patterns.js';
|
|
6
|
+
import { DynamicIcon } from '../../../components/ui/dynamic-icon.js';
|
|
7
|
+
import { useStore } from '../../../lib/store-context.js';
|
|
8
|
+
import Image from 'next/image';
|
|
9
|
+
import { payazaInlineBindingProps, payazaIconBindingProps, encodePayazaFieldKey } from '../../../preview/canvas/field-key.js';
|
|
10
|
+
import { showLayoutDecorativeBadges } from '../../../lib/layout-badges.js';
|
|
11
|
+
export function FoodAboutPage({ storeConfig: initialConfig }) {
|
|
12
|
+
const { store } = useStore();
|
|
13
|
+
const storeConfig = store || initialConfig;
|
|
14
|
+
const menuItems = storeConfig.menuItems || [];
|
|
15
|
+
const primaryColor = storeConfig.branding.primaryColor;
|
|
16
|
+
const secondaryColor = storeConfig.branding.secondaryColor || primaryColor;
|
|
17
|
+
const aboutConfig = storeConfig.layoutConfig?.pages?.about;
|
|
18
|
+
const isPreview = !!storeConfig.isPreview;
|
|
19
|
+
// Header Data — check schema path (aboutHero) first, then legacy sub-objects for backward compat
|
|
20
|
+
const header = aboutConfig?.aboutHero || aboutConfig?.aboutHeader;
|
|
21
|
+
const heroImage = header?.backgroundImage || header?.image || aboutConfig?.heroImage || 'https://images.unsplash.com/photo-1559339352-11d035aa65de?q=80&w=1974&auto=format&fit=crop';
|
|
22
|
+
const pageTitle = header?.title || aboutConfig?.title || "Crafting Experiences, Delivering Joy.";
|
|
23
|
+
const missionStatement = header?.subtitle || header?.description || aboutConfig?.missionStatement || storeConfig.description;
|
|
24
|
+
const showBadge = header?.showBadge !== false;
|
|
25
|
+
const badgeText = header?.badgeText || "Est. 2024";
|
|
26
|
+
// Content Data — check schema path (ourStory) first, then legacy sub-objects for backward compat
|
|
27
|
+
const content = aboutConfig?.ourStory || aboutConfig?.aboutContent;
|
|
28
|
+
const sectionLabel = content?.label || "Who We Are";
|
|
29
|
+
const sectionTitle = content?.title || "Our Journey";
|
|
30
|
+
const pageContent = content?.content || aboutConfig?.content;
|
|
31
|
+
// showGallery: schema toggle (defaults false — single image is the default)
|
|
32
|
+
const showGallery = content?.showGallery === true;
|
|
33
|
+
const galleryImages = content?.galleryImages || content?.gallerySection || aboutConfig?.gallerySection;
|
|
34
|
+
// Story image: prefer ourStory.image, then legacy aboutContent.image
|
|
35
|
+
const storyImage = content?.image || 'https://images.unsplash.com/photo-1522202176988-66273c2fd55f?q=80&w=2071&auto=format&fit=crop';
|
|
36
|
+
const teamBadgeTitle = content?.teamBadgeTitle || 'The Dream Team';
|
|
37
|
+
const teamBadgeSubtitle = content?.teamBadgeSubtitle || 'Working together to serve you better';
|
|
38
|
+
// contactInfoSection config
|
|
39
|
+
const contactInfoConfig = aboutConfig?.contactInfoSection;
|
|
40
|
+
const showContactInfoSection = contactInfoConfig?.show !== false;
|
|
41
|
+
const contactInfoTitle = contactInfoConfig?.title || 'Get in Touch';
|
|
42
|
+
const contactInfoDescription = contactInfoConfig?.description || "Have questions? We'd love to hear from you. Reach out to our team via email, phone, or visit us at our store.";
|
|
43
|
+
const showAddressCard = contactInfoConfig?.showAddress !== false;
|
|
44
|
+
const showEmailCard = contactInfoConfig?.showEmail !== false;
|
|
45
|
+
const showHoursCard = contactInfoConfig?.showHours !== false;
|
|
46
|
+
// Stats Data
|
|
47
|
+
const stats = aboutConfig?.statsSection;
|
|
48
|
+
const showStatsSection = stats?.show !== false;
|
|
49
|
+
const statItems = stats?.items || [
|
|
50
|
+
{ label: 'Happy Foodies', value: '15k+' },
|
|
51
|
+
{ label: 'Menu Items', value: menuItems?.length ? `${menuItems.length}+` : '40+' },
|
|
52
|
+
{ label: 'Years of Cooking', value: '8+' },
|
|
53
|
+
{ label: 'Expert Chefs', value: '12+' }
|
|
54
|
+
];
|
|
55
|
+
const valuesConfig = aboutConfig?.values;
|
|
56
|
+
const showValues = valuesConfig?.show !== false;
|
|
57
|
+
const defaultValues = [
|
|
58
|
+
{ icon: 'Award', title: 'Fresh Ingredients', description: 'We source the finest local ingredients for every dish we prepare.' },
|
|
59
|
+
{ icon: 'Users', title: 'Community Driven', description: "We're proud to be a local favorite and give back to our community." },
|
|
60
|
+
{ icon: 'Heart', title: 'Made with Love', description: 'Every meal is prepared with passion and attention to detail.' },
|
|
61
|
+
{ icon: 'Leaf', title: 'Sustainability', description: 'Committed to eco-friendly packaging and responsible sourcing.' }
|
|
62
|
+
];
|
|
63
|
+
const valuesItems = valuesConfig?.items || defaultValues;
|
|
64
|
+
return (_jsxs("div", { className: "min-h-screen bg-white pb-20 overflow-hidden", children: [_jsxs("section", { "data-section": "aboutHero", "data-payaza-section-key": "aboutHero", "data-payaza-page": "about", className: "relative h-[60vh] min-h-[500px] w-full overflow-hidden", children: [_jsxs("div", { className: "absolute inset-0", "data-payaza-image": isPreview ? encodePayazaFieldKey('aboutHero', ['backgroundImage']) : undefined, children: [_jsx(Image, { src: heroImage, alt: "About Us", fill: true, className: "w-full h-full object-cover transform scale-105 animate-pulse-slow", unoptimized: true }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-r from-black/80 via-black/50 to-transparent" })] }), _jsx("div", { className: "absolute inset-0 flex items-center", children: _jsx("div", { className: "container mx-auto px-4 sm:px-6 lg:px-8", children: _jsxs("div", { className: "max-w-3xl animate-fade-in-up", children: [showLayoutDecorativeBadges() && showBadge && (_jsxs("div", { className: "inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-white/10 backdrop-blur-md border border-white/20 text-white text-sm font-medium mb-6", ...payazaInlineBindingProps(isPreview, 'aboutHero', ['badgeText']), children: [_jsx("span", { className: "w-2 h-2 rounded-full bg-white animate-pulse" }), badgeText] })), _jsx("h1", { className: "text-5xl md:text-7xl font-bold text-white mb-6 tracking-tight leading-tight", ...payazaInlineBindingProps(isPreview, 'aboutHero', ['title']), children: pageTitle }), _jsx("p", { className: "text-xl md:text-2xl text-gray-200 max-w-2xl leading-relaxed font-light", ...payazaInlineBindingProps(isPreview, 'aboutHero', ['subtitle'], { rich: 'inline' }), children: missionStatement })] }) }) })] }), content?.show !== false && (_jsxs("section", { "data-section": "ourStory", "data-payaza-section-key": "ourStory", "data-payaza-page": "about", className: "py-24 px-4 sm:px-6 lg:px-8 relative", children: [_jsx("div", { className: "absolute top-0 right-0 -mt-24 -mr-24 w-96 h-96 bg-gray-50 rounded-full blur-3xl -z-10" }), _jsx("div", { className: "container mx-auto max-w-7xl", children: _jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-16 items-center", children: [_jsxs("div", { className: "relative", children: [showGallery && galleryImages && galleryImages.length > 0 ? (_jsx("div", { className: "grid grid-cols-2 gap-4", children: galleryImages.slice(0, 4).map((img, i) => (_jsx("div", { className: `relative overflow-hidden rounded-2xl shadow-lg ${i === 0 ? 'col-span-2 aspect-[16/9]' : 'aspect-square'}`, children: _jsx(Image, { src: img.image, alt: img.caption || "Gallery Image", fill: true, className: "w-full h-full object-cover hover:scale-110 transition-transform duration-500", unoptimized: true }) }, i))) })) : (_jsxs("div", { className: "relative aspect-[4/5] rounded-[2rem] overflow-hidden shadow-2xl", "data-payaza-image": isPreview ? encodePayazaFieldKey('ourStory', ['image']) : undefined, children: [_jsx(Image, { src: storyImage, alt: "Our Team", fill: true, className: "w-full h-full object-cover", unoptimized: true }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent opacity-60" }), _jsxs("div", { className: "absolute bottom-8 left-8 text-white", children: [_jsx("p", { className: "font-bold text-lg", ...payazaInlineBindingProps(isPreview, 'ourStory', ['teamBadgeTitle']), children: teamBadgeTitle }), _jsx("p", { className: "text-white/80 text-sm", ...payazaInlineBindingProps(isPreview, 'ourStory', ['teamBadgeSubtitle']), children: teamBadgeSubtitle })] })] })), _jsx("div", { className: "absolute -bottom-6 -right-6 w-24 h-24 bg-white rounded-2xl shadow-xl flex items-center justify-center p-4 animate-bounce duration-[3000ms]", children: _jsx(Heart, { className: "w-10 h-10", style: { color: primaryColor, fill: primaryColor } }) })] }), _jsxs("div", { className: "space-y-10", children: [_jsxs("div", { children: [_jsx("span", { className: "text-sm font-bold uppercase tracking-widest mb-3 block", style: { color: primaryColor }, ...payazaInlineBindingProps(isPreview, 'ourStory', ['label']), children: sectionLabel }), _jsx("h2", { className: "text-4xl md:text-5xl font-black text-gray-900 mb-6 tracking-tight", ...payazaInlineBindingProps(isPreview, 'ourStory', ['title']), children: sectionTitle }), _jsxs("div", { className: "prose prose-lg text-gray-600 leading-relaxed space-y-6", ...payazaInlineBindingProps(isPreview, 'ourStory', ['content'], { rich: 'inline' }), children: [pageContent?.split('\n').map((paragraph, idx) => (_jsx("p", { children: paragraph }, idx))), !pageContent && (_jsxs(_Fragment, { children: [_jsxs("p", { children: ["Founded with a bold vision to redefine excellence in the ", _jsx("span", { className: "font-semibold text-gray-900", children: storeConfig.type }), " industry, ", storeConfig.name, " has grown from a small passion project into a beloved brand. We believe in the power of quality, innovation, and community."] }), _jsx("p", { children: "Every day, we strive to bring you the best products, curated with care and delivered with a smile. Our team is dedicated to ensuring that your experience with us is nothing short of exceptional." })] }))] })] }), showValues && (_jsx("div", { "data-section": "values", "data-payaza-section-key": "values", "data-payaza-page": "about", className: "grid grid-cols-1 sm:grid-cols-2 gap-8", children: valuesItems.map((item, idx) => {
|
|
65
|
+
return (_jsxs("div", { className: "flex gap-4 group", children: [_jsx("div", { className: "flex-shrink-0", children: _jsx("div", { className: "w-14 h-14 rounded-2xl flex items-center justify-center transition-colors group-hover:bg-gray-100", style: { backgroundColor: `${primaryColor}10` }, ...payazaIconBindingProps(isPreview, 'values', ['items', String(idx), 'icon']), children: _jsx(DynamicIcon, { name: item.icon || 'Award', className: "h-7 w-7 transition-transform group-hover:scale-110", style: { color: primaryColor } }) }) }), _jsxs("div", { children: [_jsx("h4", { className: "font-bold text-gray-900 mb-2 text-lg", ...payazaInlineBindingProps(isPreview, 'values', ['items', String(idx), 'title']), children: item.title }), _jsx("p", { className: "text-gray-600 text-sm leading-relaxed", ...payazaInlineBindingProps(isPreview, 'values', ['items', String(idx), 'description']), children: item.description })] })] }, idx));
|
|
66
|
+
}) }))] })] }) })] })), showStatsSection && (_jsxs("section", { "data-section": "statsSection", "data-payaza-section-key": "statsSection", "data-payaza-page": "about", className: "py-20 relative overflow-hidden", children: [_jsx("div", { className: "absolute inset-0 opacity-10", children: _jsx(DotPattern, { color: primaryColor, cx: 2, cy: 2, cr: 2, width: 30, height: 30 }) }), _jsx("div", { className: "absolute inset-0", style: { backgroundColor: `${secondaryColor}15` } }), _jsx("div", { className: "container mx-auto px-4 relative z-10", children: _jsx("div", { className: "grid grid-cols-2 md:grid-cols-4 gap-8 md:gap-12", children: statItems.map((stat, idx) => (_jsxs("div", { className: "text-center group", children: [_jsx("div", { className: "text-5xl md:text-6xl font-black mb-2 tracking-tight transition-transform group-hover:scale-110 duration-300", style: { color: primaryColor }, ...payazaInlineBindingProps(isPreview, 'statsSection', ['items', String(idx), 'value']), children: stat.value }), _jsx("div", { className: "text-gray-600 font-bold uppercase tracking-widest text-xs md:text-sm", ...payazaInlineBindingProps(isPreview, 'statsSection', ['items', String(idx), 'label']), children: stat.label })] }, idx))) }) })] })), showContactInfoSection && (_jsx("section", { "data-section": "contactInfoSection", "data-payaza-section-key": "contactInfoSection", "data-payaza-page": "about", className: "py-24 px-4 sm:px-6 lg:px-8 bg-white", children: _jsxs("div", { className: "container mx-auto max-w-6xl", children: [_jsxs("div", { className: "text-center mb-16", children: [_jsx("h2", { className: "text-3xl md:text-4xl font-bold text-gray-900 mb-4", ...payazaInlineBindingProps(isPreview, 'contactInfoSection', ['title']), children: contactInfoTitle }), _jsx("p", { className: "text-gray-500 max-w-xl mx-auto", ...payazaInlineBindingProps(isPreview, 'contactInfoSection', ['description']), children: contactInfoDescription })] }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-8", children: [showAddressCard && (_jsxs("div", { className: "group p-8 rounded-[2rem] bg-gray-50 border border-gray-100 hover:shadow-xl hover:-translate-y-2 transition-all duration-300 text-center", children: [_jsx("div", { className: "w-16 h-16 mx-auto mb-6 rounded-2xl bg-white shadow-sm flex items-center justify-center group-hover:scale-110 transition-transform", children: _jsx(MapPin, { className: "h-8 w-8 text-gray-400 group-hover:text-blue-500 transition-colors" }) }), _jsx("h3", { className: "font-bold text-xl text-gray-900 mb-3", children: "Visit Us" }), _jsxs("p", { className: "text-gray-600 leading-relaxed", children: [storeConfig.contactInfo?.address?.street || '123 Store Street', _jsx("br", {}), storeConfig.contactInfo?.address?.city || 'Commerce City', ", ", storeConfig.contactInfo?.address?.state || 'ST', " ", storeConfig.contactInfo?.address?.zipCode || '12345'] })] })), showEmailCard && (_jsxs("div", { className: "group p-8 rounded-[2rem] bg-gray-50 border border-gray-100 hover:shadow-xl hover:-translate-y-2 transition-all duration-300 text-center relative overflow-hidden", children: [_jsx("div", { className: "absolute inset-0 border-2 border-transparent group-hover:border-orange-100 rounded-[2rem] transition-colors pointer-events-none" }), _jsx("div", { className: "w-16 h-16 mx-auto mb-6 rounded-2xl bg-white shadow-sm flex items-center justify-center group-hover:scale-110 transition-transform", children: _jsx(Mail, { className: "h-8 w-8 text-gray-400 group-hover:text-orange-500 transition-colors" }) }), _jsx("h3", { className: "font-bold text-xl text-gray-900 mb-3", children: "Email Us" }), _jsxs("p", { className: "text-gray-600 leading-relaxed mb-4", children: [storeConfig.contactInfo?.email || `hello@${storeConfig.slug}.com`, _jsx("br", {}), storeConfig.contactInfo?.phone || '+1 (555) 123-4567'] }), _jsxs(Button, { variant: "link", className: "text-orange-600 font-bold p-0 h-auto hover:no-underline group-hover:translate-x-1 transition-transform", children: ["Send a message ", _jsx(ArrowRight, { className: "ml-1 h-4 w-4" })] })] })), showHoursCard && (_jsxs("div", { className: "group p-8 rounded-[2rem] bg-gray-50 border border-gray-100 hover:shadow-xl hover:-translate-y-2 transition-all duration-300 text-center", children: [_jsx("div", { className: "w-16 h-16 mx-auto mb-6 rounded-2xl bg-white shadow-sm flex items-center justify-center group-hover:scale-110 transition-transform", children: _jsx(Clock, { className: "h-8 w-8 text-gray-400 group-hover:text-green-500 transition-colors" }) }), _jsx("h3", { className: "font-bold text-xl text-gray-900 mb-3", children: "Opening Hours" }), _jsx("p", { className: "text-gray-600 leading-relaxed", children: storeConfig.locations?.[0]?.openingHours || (_jsxs(_Fragment, { children: ["Mon - Fri: 9am - 6pm", _jsx("br", {}), "Sat - Sun: 10am - 4pm"] })) })] }))] })] }) }))] }));
|
|
67
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { StoreConfig } from '../../../lib/store-types';
|
|
2
|
+
interface CategoriesPageProps {
|
|
3
|
+
storeConfig: StoreConfig;
|
|
4
|
+
}
|
|
5
|
+
export declare function FoodCategoriesPage({ storeConfig: initialConfig }: CategoriesPageProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=CategoriesPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategoriesPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/food/pages/CategoriesPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQhD,UAAU,mBAAmB;IAC3B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,mBAAmB,2CA0ErF"}
|