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,46 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Button } from '../../../components/ui/button.js';
|
|
4
|
+
import { Clock, ArrowRight, Filter } from 'lucide-react';
|
|
5
|
+
import Link from 'next/link';
|
|
6
|
+
import { useState } from 'react';
|
|
7
|
+
import { cn, formatCurrency, filterCategoriesForServices, isEditorPreviewMode, resolveStoreServicesForDisplay } from '../../../lib/utils/index.js';
|
|
8
|
+
import { useCatalogLoader } from '../../../hooks/use-catalog-loader.js';
|
|
9
|
+
import Image from 'next/image';
|
|
10
|
+
import { RichTextExcerpt } from '../../../components/rich-text/RichTextExcerpt.js';
|
|
11
|
+
import { useStore } from '../../../lib/store-context.js';
|
|
12
|
+
import { showLayoutDecorativeBadges } from '../../../lib/layout-badges.js';
|
|
13
|
+
import { encodePayazaFieldKey, payazaInlineBindingProps } from '../../../preview/canvas/field-key.js';
|
|
14
|
+
export function BookingAgendaServicesPage({ storeConfig: initialConfig, initialCategory, titleOverride }) {
|
|
15
|
+
const { store } = useStore();
|
|
16
|
+
const storeConfig = store || initialConfig;
|
|
17
|
+
const isPreview = isEditorPreviewMode(storeConfig);
|
|
18
|
+
const { services: loadedServices, categories: loadedCategories } = useCatalogLoader(storeConfig, {
|
|
19
|
+
fetchProducts: false,
|
|
20
|
+
});
|
|
21
|
+
const services = resolveStoreServicesForDisplay(loadedServices, isPreview);
|
|
22
|
+
const categories = filterCategoriesForServices(loadedCategories, services);
|
|
23
|
+
const [activeCategory, setActiveCategory] = useState(initialCategory || categories[0]?.slug || '');
|
|
24
|
+
const primaryColor = storeConfig.branding.primaryColor;
|
|
25
|
+
const servicesConfig = storeConfig.layoutConfig?.pages?.services;
|
|
26
|
+
const heroConfig = servicesConfig?.hero || servicesConfig?.servicesHeader;
|
|
27
|
+
const heroImage = typeof heroConfig?.backgroundImage === 'string' && heroConfig.backgroundImage.trim().length > 0
|
|
28
|
+
? heroConfig.backgroundImage.trim()
|
|
29
|
+
: 'https://images.unsplash.com/photo-1512496015851-a90fb38ba796?q=80&w=2070&auto=format&fit=crop';
|
|
30
|
+
// Booking-agenda (medical) specific labels
|
|
31
|
+
const categoryLabel = 'Departments';
|
|
32
|
+
const serviceLabel = 'Procedures';
|
|
33
|
+
const filteredServices = activeCategory
|
|
34
|
+
? services.filter(s => {
|
|
35
|
+
const cat = categories.find(c => c.id === s.categoryId);
|
|
36
|
+
return cat?.slug === activeCategory;
|
|
37
|
+
})
|
|
38
|
+
: services;
|
|
39
|
+
const getServiceLink = (slug) => {
|
|
40
|
+
return `/${storeConfig.slug}/book?service=${slug}`;
|
|
41
|
+
};
|
|
42
|
+
const pageTitle = titleOverride || heroConfig?.title || servicesConfig?.title || (_jsxs(_Fragment, { children: ["Signature ", _jsx("span", { className: "font-bold font-sans", style: { color: primaryColor }, children: serviceLabel })] }));
|
|
43
|
+
return (_jsxs("div", { className: "min-h-screen bg-white pb-20", children: [heroConfig?.show !== false && (_jsxs("div", { "data-section": "hero", "data-payaza-section-key": "hero", "data-payaza-page": "services", className: "relative bg-gray-900 py-32 px-4 text-center overflow-hidden", children: [_jsxs("div", { className: "absolute inset-0", "data-payaza-image": isPreview ? encodePayazaFieldKey('hero', ['backgroundImage']) : undefined, children: [_jsx(Image, { src: heroImage, alt: "Service Menu", fill: true, className: "w-full h-full object-cover opacity-60", unoptimized: true }, heroImage), _jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-black/80 via-black/40 to-black/30" })] }), _jsxs("div", { className: "container mx-auto max-w-4xl relative z-10", children: [showLayoutDecorativeBadges() && (_jsx("span", { className: "inline-block py-1 px-3 rounded-full bg-white/10 backdrop-blur-md border border-white/20 text-xs font-bold uppercase tracking-widest text-white mb-6 shadow-sm", children: storeConfig.name })), _jsx("h1", { className: "text-5xl md:text-7xl font-serif font-light mb-6 tracking-tight text-white leading-tight", ...payazaInlineBindingProps(isPreview, 'hero', ['title']), children: pageTitle }), _jsx("p", { className: "text-gray-200 max-w-2xl mx-auto text-lg font-light leading-relaxed", ...payazaInlineBindingProps(isPreview, 'hero', ['description']), children: heroConfig?.description || servicesConfig?.description || storeConfig.description || `Explore our curated selection of premium ${serviceLabel.toLowerCase()} designed for your success.` })] })] })), _jsx("div", { className: "sticky top-16 z-30 bg-white/80 backdrop-blur-xl border-b border-gray-100 transition-all", children: _jsx("div", { className: "container mx-auto px-4", children: _jsxs("div", { className: "flex items-center gap-3 overflow-x-auto py-4 scrollbar-hide no-scrollbar", children: [_jsxs("div", { className: "flex items-center gap-2 text-xs font-bold text-gray-400 uppercase tracking-wider px-4 border-r border-gray-100 hidden md:flex shrink-0", children: [_jsx(Filter, { className: "w-3.5 h-3.5" }), categoryLabel] }), categories.map((cat) => (_jsx("button", { onClick: () => setActiveCategory(cat.slug), className: cn("px-6 py-2.5 rounded-full text-sm font-bold whitespace-nowrap transition-all duration-300 border flex-shrink-0", activeCategory === cat.slug
|
|
44
|
+
? "text-white shadow-lg scale-105 border-transparent"
|
|
45
|
+
: "bg-white text-gray-500 border-gray-100 hover:border-gray-300 hover:text-black"), style: activeCategory === cat.slug ? { backgroundColor: primaryColor } : {}, children: cat.name }, cat.id)))] }) }) }), _jsx("div", { "data-section": "services-list", "data-payaza-section-key": "services-list", "data-payaza-page": "services", className: "container mx-auto px-4 max-w-7xl py-16", children: _jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-x-10 gap-y-16", children: filteredServices.map((service) => (_jsxs("div", { className: "group flex flex-col h-full", children: [_jsxs(Link, { href: getServiceLink(service.slug), className: "block relative aspect-[4/3] rounded-3xl overflow-hidden bg-gray-100 mb-6 shadow-sm group-hover:shadow-xl transition-all duration-500", children: [_jsx(Image, { src: service.image || 'https://images.unsplash.com/photo-1629909613654-28e377c37b09?w=800&auto=format&fit=crop&q=60', alt: service.name, fill: true, className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-105", unoptimized: true }), _jsx("div", { className: "absolute bottom-4 left-4 bg-white/95 backdrop-blur px-4 py-2 rounded-full text-sm font-bold shadow-sm text-gray-900", children: service.price > 0 ? formatCurrency(service.price, service.currency || storeConfig.settings?.currency || 'USD') : 'Free' }), _jsx("div", { className: "absolute inset-0 bg-black/20 opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-center justify-center", children: _jsx(Button, { className: "rounded-full bg-white text-black hover:bg-gray-100 transform translate-y-4 group-hover:translate-y-0 transition-all duration-300 shadow-lg font-bold px-8", children: "Book Now" }) })] }), _jsxs("div", { className: "flex flex-col flex-1", children: [_jsx("div", { className: "flex justify-between items-start mb-3", children: _jsx(Link, { href: getServiceLink(service.slug), children: _jsx("h3", { className: "text-2xl font-bold text-gray-900 group-hover:text-gray-600 transition-colors", children: service.name }) }) }), _jsx(RichTextExcerpt, { value: service.description, as: "p", className: "text-gray-500 mb-6 line-clamp-2 leading-relaxed text-base flex-1" }), _jsxs("div", { className: "flex items-center justify-between pt-4 border-t border-gray-100 text-sm font-medium text-gray-500", children: [_jsxs("div", { className: "flex items-center gap-6", children: [service.duration > 0 && (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Clock, { className: "w-4 h-4 text-gray-400" }), service.duration, " mins"] })), service.contentType && (_jsx("div", { className: "flex items-center gap-2 uppercase tracking-widest text-[10px] font-black", children: service.contentType }))] }), _jsxs(Link, { href: getServiceLink(service.slug), className: "flex items-center gap-2 text-black font-bold group/link", children: ["Book ", _jsx(ArrowRight, { className: "w-4 h-4 transition-transform group-hover/link:translate-x-1" })] })] })] })] }, service.id))) }) })] }));
|
|
46
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { StoreConfig } from '../../../lib/store-types';
|
|
2
|
+
interface ClothingHomePageProps {
|
|
3
|
+
storeConfig: StoreConfig;
|
|
4
|
+
}
|
|
5
|
+
export declare function ClothingHomePage({ storeConfig: initialConfig }: ClothingHomePageProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=ClothingHomePage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClothingHomePage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing/components/ClothingHomePage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAqBvD,UAAU,qBAAqB;IAC7B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAaD,wBAAgB,gBAAgB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,qBAAqB,2CAosBrF"}
|
|
@@ -0,0 +1,260 @@
|
|
|
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 { ProductRating } from '../../../components/ui/product-rating.js';
|
|
5
|
+
import { ShoppingCart, Heart, ArrowRight, ChevronLeft, ChevronRight } from 'lucide-react';
|
|
6
|
+
import Link from 'next/link';
|
|
7
|
+
import { ImageWithFallback } from '../../../components/ui/image-with-fallback.js';
|
|
8
|
+
import { useState, useEffect } from 'react';
|
|
9
|
+
import { formatCurrency, resolveStoreProductsForDisplay } from '../../../lib/utils/index.js';
|
|
10
|
+
import { resolveProductImageUrls } from '../../../lib/utils/product-images.js';
|
|
11
|
+
import { getLayoutText, getBannerImage, normalizeStoreImageUrl } from '../../../lib/utils/asset-helpers.js';
|
|
12
|
+
import { shouldUseAPI } from '../../../lib/utils/demo-detection.js';
|
|
13
|
+
import { useStore } from '../../../lib/store-context.js';
|
|
14
|
+
import { DynamicIcon } from '../../../components/ui/dynamic-icon.js';
|
|
15
|
+
import { PromoBanner } from '../../shared/components/PromoBanner.js';
|
|
16
|
+
import { getPayazaSectionInlineStyle } from '../../../lib/payaza-section-styles.js';
|
|
17
|
+
import { resolveStoreLink } from '../../../lib/layout-route-utils.js';
|
|
18
|
+
import { useClothingPayaza } from '../payaza-bindings.js';
|
|
19
|
+
import { showLayoutDecorativeBadges } from '../../../lib/layout-badges.js';
|
|
20
|
+
import { compactArrayItems, readItemIconName } from '../../../lib/compact-array-items.js';
|
|
21
|
+
import { usePreviewSlideSync } from '../../../hooks/usePreviewSlideSync.js';
|
|
22
|
+
export function ClothingHomePage({ storeConfig: initialConfig }) {
|
|
23
|
+
// Use the store from context which is updated in real-time by the editor
|
|
24
|
+
const { store } = useStore();
|
|
25
|
+
const storeConfig = store || initialConfig;
|
|
26
|
+
const layoutConfig = storeConfig.layoutConfig;
|
|
27
|
+
const categories = storeConfig.categories || [];
|
|
28
|
+
// In preview mode, use mock products if none are available
|
|
29
|
+
const { isPreview, section, edit, image, inline, icon } = useClothingPayaza(storeConfig, 'home');
|
|
30
|
+
// Randomly select max 2 categories on every page load
|
|
31
|
+
const [displayedCategories, setDisplayedCategories] = useState([]);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
// Shuffle and select max 2 categories
|
|
34
|
+
if (categories.length > 0) {
|
|
35
|
+
const shuffled = [...categories].sort(() => Math.random() - 0.5);
|
|
36
|
+
setDisplayedCategories(shuffled.slice(0, 2));
|
|
37
|
+
}
|
|
38
|
+
else if (isPreview) {
|
|
39
|
+
// Use mock categories in preview mode if none available
|
|
40
|
+
setDisplayedCategories([
|
|
41
|
+
{ id: 'cat1', name: 'Menswear', slug: 'men', image: 'https://images.unsplash.com/photo-1490481651871-ab68de25d43d?q=80&w=1200' },
|
|
42
|
+
{ id: 'cat2', name: 'Womenswear', slug: 'women', image: 'https://images.unsplash.com/photo-1483985988355-763728e1935b?q=80&w=1200' }
|
|
43
|
+
]);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
setDisplayedCategories([]);
|
|
47
|
+
}
|
|
48
|
+
}, [categories, isPreview]); // Added categories and isPreview to deps
|
|
49
|
+
// ... rest of the component logic ...
|
|
50
|
+
// Deduplicate products to avoid key warnings and filter out inactive/deleted products
|
|
51
|
+
const rawProducts = storeConfig.products || [];
|
|
52
|
+
const uniqueProducts = rawProducts.filter((product, index, self) => index === self.findIndex((t) => t.id === product.id));
|
|
53
|
+
const resolvedProducts = resolveStoreProductsForDisplay(uniqueProducts, isPreview);
|
|
54
|
+
// Use real products when available; in preview fall back to mock placeholders only when empty.
|
|
55
|
+
const products = resolvedProducts.length > 0
|
|
56
|
+
? resolvedProducts
|
|
57
|
+
: (isPreview ? [
|
|
58
|
+
{ id: 'p1', name: 'Premium Cotton Tee', price: 45, currency: 'USD', images: ['https://images.unsplash.com/photo-1521572267360-ee0c2909d518?q=80&w=800'], slug: 'premium-tee', rating: 4.8, reviewCount: 124 },
|
|
59
|
+
{ id: 'p2', name: 'Slim Fit Denim', price: 89, currency: 'USD', images: ['https://images.unsplash.com/photo-1542272604-787c3835535d?q=80&w=800'], slug: 'slim-denim', rating: 4.6, reviewCount: 89 },
|
|
60
|
+
{ id: 'p3', name: 'Classic Trench Coat', price: 199, currency: 'USD', images: ['https://images.unsplash.com/photo-1591047139829-d91aecb6caea?q=80&w=800'], slug: 'trench-coat', rating: 4.9, reviewCount: 56, compareAtPrice: 249 },
|
|
61
|
+
{ id: 'p4', name: 'Leather Chelsea Boots', price: 159, currency: 'USD', images: ['https://images.unsplash.com/photo-1638247025967-b4e38f787b76?q=80&w=800'], slug: 'chelsea-boots', rating: 4.7, reviewCount: 112 }
|
|
62
|
+
] : []);
|
|
63
|
+
// Hero slides data - use new slider structure with fallback to old format
|
|
64
|
+
// For demo stores, helpers will return fallbacks; for real stores, try layoutConfig first, then helpers
|
|
65
|
+
const isRealStore = shouldUseAPI(storeConfig.slug);
|
|
66
|
+
const DEFAULT_HERO_IMAGES = [
|
|
67
|
+
'https://images.unsplash.com/photo-1523381210434-271e8be1f52b?q=80&w=2000&auto=format&fit=crop',
|
|
68
|
+
'https://images.unsplash.com/photo-1441986300917-64674bd600d8?q=80&w=2000&auto=format&fit=crop',
|
|
69
|
+
'https://images.unsplash.com/photo-1558769132-cb1aea458c5e?q=80&w=2000&auto=format&fit=crop',
|
|
70
|
+
];
|
|
71
|
+
const mapConfigSlidersToHeroSlides = (sliders, heroSection) => {
|
|
72
|
+
const showBadges = heroSection?.showBadges !== false &&
|
|
73
|
+
(layoutConfig?.hero?.showBadges !== false || heroSection?.showBadges === undefined);
|
|
74
|
+
return sliders
|
|
75
|
+
.filter((slider) => slider)
|
|
76
|
+
.map((slider, index) => {
|
|
77
|
+
const primaryButtonText = slider.primaryButton?.text?.trim() || '';
|
|
78
|
+
const secondaryButtonText = slider.secondaryButton?.text?.trim() || '';
|
|
79
|
+
const defaultImage = DEFAULT_HERO_IMAGES[index % DEFAULT_HERO_IMAGES.length];
|
|
80
|
+
return {
|
|
81
|
+
image: normalizeStoreImageUrl(slider.image) || defaultImage,
|
|
82
|
+
badge: (showBadges && slider.badge && slider.badge.trim() !== '') ? slider.badge : undefined,
|
|
83
|
+
title: slider.title?.trim() || storeConfig.name,
|
|
84
|
+
description: slider.description?.trim() || storeConfig.description || '',
|
|
85
|
+
primaryButtonText: primaryButtonText || getLayoutText(storeConfig, 'common.shopNow', 'Shop Now'),
|
|
86
|
+
primaryButtonLink: slider.primaryButton?.link || `/${storeConfig.slug}/products`,
|
|
87
|
+
secondaryButtonText: secondaryButtonText || undefined,
|
|
88
|
+
secondaryButtonLink: slider.secondaryButton?.link || `/${storeConfig.slug}/categories`,
|
|
89
|
+
};
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
const buildLegacyFallbackHeroSlides = () => [
|
|
93
|
+
{
|
|
94
|
+
image: getBannerImage(storeConfig, 'hero_slide_1', 'https://images.unsplash.com/photo-1523381210434-271e8be1f52b?q=80&w=2000&auto=format&fit=crop'),
|
|
95
|
+
badge: layoutConfig?.hero?.showBadges
|
|
96
|
+
? (isRealStore && layoutConfig?.text?.hero?.slides?.[0]?.badge ? layoutConfig.text.hero.slides[0].badge : getLayoutText(storeConfig, 'hero.badge', 'New Season'))
|
|
97
|
+
: undefined,
|
|
98
|
+
title: isRealStore && layoutConfig?.text?.hero?.slides?.[0]?.title ? layoutConfig.text.hero.slides[0].title : (getLayoutText(storeConfig, 'hero.slide1.title', storeConfig.name) || storeConfig.name),
|
|
99
|
+
description: isRealStore && layoutConfig?.text?.hero?.slides?.[0]?.description ? layoutConfig.text.hero.slides[0].description : (getLayoutText(storeConfig, 'hero.slide1.description', storeConfig.description) || storeConfig.description),
|
|
100
|
+
primaryButtonText: isRealStore && layoutConfig?.text?.hero?.slides?.[0]?.primaryButton ? layoutConfig.text.hero.slides[0].primaryButton : getLayoutText(storeConfig, 'common.shopNow', 'Shop Now'),
|
|
101
|
+
primaryButtonLink: `/${storeConfig.slug}/products`,
|
|
102
|
+
secondaryButtonText: isRealStore && layoutConfig?.text?.hero?.slides?.[0]?.secondaryButton ? layoutConfig.text.hero.slides[0].secondaryButton : getLayoutText(storeConfig, 'common.explore', 'Explore'),
|
|
103
|
+
secondaryButtonLink: `/${storeConfig.slug}/categories`,
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
image: getBannerImage(storeConfig, 'hero_slide_2', 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?q=80&w=2000&auto=format&fit=crop'),
|
|
107
|
+
badge: layoutConfig?.hero?.showBadges
|
|
108
|
+
? (isRealStore && layoutConfig?.text?.hero?.slides?.[1]?.badge ? layoutConfig.text.hero.slides[1].badge : getLayoutText(storeConfig, 'common.trending', 'Trending Now'))
|
|
109
|
+
: undefined,
|
|
110
|
+
title: isRealStore && layoutConfig?.text?.hero?.slides?.[1]?.title ? layoutConfig.text.hero.slides[1].title : getLayoutText(storeConfig, 'hero.slide2.title', 'Discover Your Style'),
|
|
111
|
+
description: isRealStore && layoutConfig?.text?.hero?.slides?.[1]?.description ? layoutConfig.text.hero.slides[1].description : getLayoutText(storeConfig, 'hero.slide2.description', 'Explore our curated collection of timeless pieces and contemporary designs.'),
|
|
112
|
+
primaryButtonText: isRealStore && layoutConfig?.text?.hero?.slides?.[1]?.primaryButton ? layoutConfig.text.hero.slides[1].primaryButton : getLayoutText(storeConfig, 'common.viewAll', 'View Collection'),
|
|
113
|
+
primaryButtonLink: `/${storeConfig.slug}/products`,
|
|
114
|
+
secondaryButtonText: isRealStore && layoutConfig?.text?.hero?.slides?.[1]?.secondaryButton ? layoutConfig.text.hero.slides[1].secondaryButton : undefined,
|
|
115
|
+
secondaryButtonLink: `/${storeConfig.slug}/categories/men`,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
image: getBannerImage(storeConfig, 'hero_slide_3', 'https://images.unsplash.com/photo-1558769132-cb1aea458c5e?q=80&w=2000&auto=format&fit=crop'),
|
|
119
|
+
badge: layoutConfig?.hero?.showBadges
|
|
120
|
+
? (isRealStore && layoutConfig?.text?.hero?.slides?.[2]?.badge ? layoutConfig.text.hero.slides[2].badge : getLayoutText(storeConfig, 'common.limited', 'Limited Edition'))
|
|
121
|
+
: undefined,
|
|
122
|
+
title: isRealStore && layoutConfig?.text?.hero?.slides?.[2]?.title ? layoutConfig.text.hero.slides[2].title : getLayoutText(storeConfig, 'hero.slide3.title', 'Premium Quality'),
|
|
123
|
+
description: isRealStore && layoutConfig?.text?.hero?.slides?.[2]?.description ? layoutConfig.text.hero.slides[2].description : getLayoutText(storeConfig, 'hero.slide3.description', 'Crafted with attention to detail and premium materials for lasting elegance.'),
|
|
124
|
+
primaryButtonText: isRealStore && layoutConfig?.text?.hero?.slides?.[2]?.primaryButton ? layoutConfig.text.hero.slides[2].primaryButton : getLayoutText(storeConfig, 'common.shopNow', 'Shop Now'),
|
|
125
|
+
primaryButtonLink: `/${storeConfig.slug}/products`,
|
|
126
|
+
secondaryButtonText: isRealStore && layoutConfig?.text?.hero?.slides?.[2]?.secondaryButton ? layoutConfig.text.hero.slides[2].secondaryButton : undefined,
|
|
127
|
+
secondaryButtonLink: `/${storeConfig.slug}/categories/men`,
|
|
128
|
+
},
|
|
129
|
+
];
|
|
130
|
+
let heroSlides = buildLegacyFallbackHeroSlides();
|
|
131
|
+
if (layoutConfig?.sections?.hero?.sliders && Array.isArray(layoutConfig.sections.hero.sliders) && layoutConfig.sections.hero.sliders.length > 0) {
|
|
132
|
+
heroSlides = mapConfigSlidersToHeroSlides(layoutConfig.sections.hero.sliders, layoutConfig.sections.hero);
|
|
133
|
+
}
|
|
134
|
+
else if (layoutConfig?.hero?.sliders && Array.isArray(layoutConfig.hero.sliders) && layoutConfig.hero.sliders.length > 0) {
|
|
135
|
+
heroSlides = mapConfigSlidersToHeroSlides(layoutConfig.hero.sliders, layoutConfig.sections?.hero);
|
|
136
|
+
}
|
|
137
|
+
if (heroSlides.length === 0) {
|
|
138
|
+
heroSlides = buildLegacyFallbackHeroSlides();
|
|
139
|
+
}
|
|
140
|
+
const [currentSlide, setCurrentSlide] = useState(0);
|
|
141
|
+
const [isAutoPlaying, setIsAutoPlaying] = useState(layoutConfig?.hero?.autoPlay !== false);
|
|
142
|
+
const [autoPlayResumeTime, setAutoPlayResumeTime] = useState(null);
|
|
143
|
+
// Auto-play functionality
|
|
144
|
+
useEffect(() => {
|
|
145
|
+
if (!isAutoPlaying || layoutConfig?.hero?.autoPlay === false || heroSlides.length === 0)
|
|
146
|
+
return;
|
|
147
|
+
const interval = setInterval(() => {
|
|
148
|
+
setCurrentSlide((prev) => (prev + 1) % heroSlides.length);
|
|
149
|
+
}, 5000); // Change slide every 5 seconds
|
|
150
|
+
return () => clearInterval(interval);
|
|
151
|
+
}, [isAutoPlaying, heroSlides.length, layoutConfig?.hero?.autoPlay]);
|
|
152
|
+
// Handle auto-play resumption
|
|
153
|
+
useEffect(() => {
|
|
154
|
+
if (autoPlayResumeTime === null)
|
|
155
|
+
return;
|
|
156
|
+
const timeout = setTimeout(() => {
|
|
157
|
+
setIsAutoPlaying(true);
|
|
158
|
+
setAutoPlayResumeTime(null);
|
|
159
|
+
}, autoPlayResumeTime);
|
|
160
|
+
return () => clearTimeout(timeout);
|
|
161
|
+
}, [autoPlayResumeTime]);
|
|
162
|
+
const goToSlide = (index) => {
|
|
163
|
+
if (heroSlides.length === 0)
|
|
164
|
+
return;
|
|
165
|
+
setCurrentSlide(Math.min(index, heroSlides.length - 1));
|
|
166
|
+
setIsAutoPlaying(false);
|
|
167
|
+
// Resume auto-play after 10 seconds
|
|
168
|
+
if (layoutConfig?.hero?.autoPlay !== false) {
|
|
169
|
+
setAutoPlayResumeTime(10000);
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
usePreviewSlideSync('hero', goToSlide, () => setIsAutoPlaying(false));
|
|
173
|
+
const nextSlide = () => {
|
|
174
|
+
if (heroSlides.length === 0)
|
|
175
|
+
return;
|
|
176
|
+
setCurrentSlide((prev) => (prev + 1) % heroSlides.length);
|
|
177
|
+
setIsAutoPlaying(false);
|
|
178
|
+
if (layoutConfig?.hero?.autoPlay !== false) {
|
|
179
|
+
setAutoPlayResumeTime(10000);
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
const prevSlide = () => {
|
|
183
|
+
if (heroSlides.length === 0)
|
|
184
|
+
return;
|
|
185
|
+
setCurrentSlide((prev) => (prev - 1 + heroSlides.length) % heroSlides.length);
|
|
186
|
+
setIsAutoPlaying(false);
|
|
187
|
+
if (layoutConfig?.hero?.autoPlay !== false) {
|
|
188
|
+
setAutoPlayResumeTime(10000);
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
// Determine grid layout - always use 2-column layout since we limit to 2 categories
|
|
192
|
+
const getCategoryGridClass = () => {
|
|
193
|
+
return 'grid-cols-1 md:grid-cols-2';
|
|
194
|
+
};
|
|
195
|
+
return (_jsxs("div", { className: "min-h-screen bg-white", children: [(layoutConfig?.sections?.hero?.show !== false || layoutConfig?.hero?.show !== false) && heroSlides.length > 0 && (_jsxs("section", { ...section('hero'), style: getPayazaSectionInlineStyle(storeConfig, 'home', 'hero'), className: `relative min-h-[360px] w-full overflow-hidden ${isPreview
|
|
196
|
+
? 'h-[min(70dvh,28rem)] sm:h-[min(75dvh,32rem)] lg:h-[85vh]'
|
|
197
|
+
: 'h-[70dvh] sm:h-[75dvh] lg:h-[85vh]'}`, onMouseEnter: () => setIsAutoPlaying(false), onMouseLeave: () => layoutConfig?.hero?.autoPlay !== false && setIsAutoPlaying(true), children: [_jsx("div", { className: "relative h-full w-full", children: heroSlides.map((slide, index) => (_jsxs("div", { className: `absolute inset-0 transition-opacity duration-1000 ease-in-out ${index === currentSlide ? 'opacity-100 z-10' : 'opacity-0 z-0'}`, children: [_jsxs("div", { className: "absolute inset-0", ...image('hero', ['sliders', String(index), 'image']), children: [_jsx(ImageWithFallback, { src: slide.image, alt: slide.title, className: "absolute inset-0 h-full w-full object-cover", skeletonAspectRatio: "16/9" }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-r from-black/50 via-black/20 to-transparent" })] }), _jsx("div", { className: "absolute inset-0 flex items-center z-20", children: _jsx("div", { className: "container mx-auto px-4 sm:px-6 lg:px-8", children: _jsxs("div", { className: `max-w-3xl text-white space-y-8 transition-all duration-1000 ${index === currentSlide
|
|
198
|
+
? 'opacity-100 translate-y-0'
|
|
199
|
+
: 'opacity-0 translate-y-8'}`, children: [_jsxs("div", { children: [showLayoutDecorativeBadges() && slide.badge && (_jsx("span", { className: "inline-block px-4 py-1.5 bg-white/20 backdrop-blur-md rounded-full text-sm font-medium border border-white/30 uppercase tracking-wider mb-4", ...edit('hero', ['sliders', String(index), 'badge']), children: slide.badge })), _jsx("h1", { className: "text-4xl sm:text-6xl lg:text-7xl font-bold leading-tight tracking-tight mb-4", ...edit('hero', ['sliders', String(index), 'title']), children: slide.title }), _jsx("div", { className: "h-1 w-24 bg-white/80 rounded-full" })] }), _jsx("p", { className: "text-xl sm:text-2xl text-gray-100 font-light leading-relaxed max-w-lg", ...edit('hero', ['sliders', String(index), 'description']), children: slide.description }), _jsxs("div", { className: "flex flex-wrap gap-4 pt-4", children: [layoutConfig?.sections?.hero?.showCTA !== false &&
|
|
200
|
+
layoutConfig?.hero?.showCTA !== false &&
|
|
201
|
+
slide.primaryButtonText &&
|
|
202
|
+
slide.primaryButtonText.trim() !== '' && (_jsx(Link, { href: resolveStoreLink(slide.primaryButtonLink || 'products', storeConfig.slug), children: _jsx(Button, { size: "lg", className: "h-14 px-10 text-base rounded-full bg-white text-black hover:bg-gray-100 transition-all duration-300 hover:scale-105 font-semibold", ...edit('hero', ['sliders', String(index), 'primaryButton', 'text']), children: slide.primaryButtonText }) })), (layoutConfig?.sections?.hero?.showSecondaryCTA !== false || layoutConfig?.hero?.showSecondaryCTA !== false) &&
|
|
203
|
+
slide.secondaryButtonText &&
|
|
204
|
+
slide.secondaryButtonText.trim() !== '' &&
|
|
205
|
+
slide.secondaryButtonLink && (_jsx(Link, { href: resolveStoreLink(slide.secondaryButtonLink, storeConfig.slug), children: _jsx(Button, { size: "lg", variant: "outline", className: "h-14 px-10 text-base rounded-full border-white bg-transparent text-white hover:bg-white/20 hover:text-white backdrop-blur-sm transition-all duration-300", style: { color: 'white' }, ...edit('hero', ['sliders', String(index), 'secondaryButton', 'text']), children: slide.secondaryButtonText }) }))] })] }) }) })] }, index))) }), _jsx("button", { onClick: prevSlide, className: "absolute left-4 top-1/2 -translate-y-1/2 z-30 bg-white/10 hover:bg-white/20 backdrop-blur-md rounded-full p-3 transition-all duration-300 hover:scale-110 group", "aria-label": "Previous slide", children: _jsx(ChevronLeft, { className: "h-6 w-6 text-white group-hover:text-white" }) }), _jsx("button", { onClick: nextSlide, className: "absolute right-4 top-1/2 -translate-y-1/2 z-30 bg-white/10 hover:bg-white/20 backdrop-blur-md rounded-full p-3 transition-all duration-300 hover:scale-110 group", "aria-label": "Next slide", children: _jsx(ChevronRight, { className: "h-6 w-6 text-white group-hover:text-white" }) }), _jsx("div", { className: "absolute bottom-8 left-1/2 -translate-x-1/2 z-30 flex gap-2", children: heroSlides.map((_, index) => (_jsx("button", { onClick: () => goToSlide(index), className: `transition-all duration-300 rounded-full ${index === currentSlide
|
|
206
|
+
? 'w-12 h-2 bg-white'
|
|
207
|
+
: 'w-2 h-2 bg-white/50 hover:bg-white/75'}`, "aria-label": `Go to slide ${index + 1}` }, index))) })] })), layoutConfig?.sections?.features?.show !== false && (_jsx("section", { ...section('benefitsStrip'), style: getPayazaSectionInlineStyle(storeConfig, 'home', 'benefitsStrip'), className: "py-8 bg-gray-50 border-b border-gray-100", children: _jsx("div", { className: "container mx-auto px-4 sm:px-6 lg:px-8", children: _jsx("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-8 text-center divide-y md:divide-y-0 md:divide-x divide-gray-200", children: compactArrayItems(layoutConfig?.sections?.features?.items?.length
|
|
208
|
+
? layoutConfig.sections.features.items
|
|
209
|
+
: isPreview
|
|
210
|
+
? [
|
|
211
|
+
{ icon: 'Truck', title: 'Free Shipping', description: `On all orders over $${storeConfig.settings.freeShippingThreshold}` },
|
|
212
|
+
{ icon: 'RefreshCw', title: 'Free Returns', description: '30-day money back guarantee' },
|
|
213
|
+
{ icon: 'ShieldCheck', title: 'Secure Payment', description: '100% secure checkout process' },
|
|
214
|
+
]
|
|
215
|
+
: []).map((item, idx) => {
|
|
216
|
+
return (_jsxs("div", { className: "flex flex-col items-center justify-center gap-2 p-4", children: [_jsx("div", { ...icon('benefitsStrip', ['items', String(idx), 'icon']), children: _jsx(DynamicIcon, { name: readItemIconName(item, 'Truck'), className: "h-6 w-6 text-gray-900" }) }), _jsx("h3", { className: "font-semibold text-gray-900", ...inline('benefitsStrip', ['items', String(idx), 'title']), children: item.title }), _jsx("p", { className: "text-sm text-gray-500", ...inline('benefitsStrip', ['items', String(idx), 'description']), children: item.description })] }, idx));
|
|
217
|
+
}) }) }) })), layoutConfig?.sections?.categories?.show !== false && (_jsx("section", { ...section('categories'), style: getPayazaSectionInlineStyle(storeConfig, 'home', 'categories'), className: "py-12 md:py-20 px-4 sm:px-6 lg:px-8", children: _jsxs("div", { className: "container mx-auto max-w-7xl", children: [_jsxs("div", { className: "flex flex-col md:flex-row justify-between items-end mb-8 md:mb-12 gap-4", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-3xl md:text-4xl font-bold mb-3 tracking-tight", ...inline('categories', ['title']), children: layoutConfig?.sections?.categories?.title || getLayoutText(storeConfig, 'sections.categories.title', isPreview ? 'Shop by Category' : '') }), _jsx("p", { className: "text-gray-500 text-lg", ...inline('categories', ['subtitle']), children: layoutConfig?.sections?.categories?.subtitle || getLayoutText(storeConfig, 'sections.categories.subtitle', isPreview ? 'Curated collections for every style' : '') })] }), layoutConfig?.sections?.categories?.showViewAll !== false && (_jsxs(Link, { href: `/${storeConfig.slug}/categories`, className: "group flex items-center gap-2 text-sm font-medium hover:text-gray-600 transition-colors pb-1 border-b border-transparent hover:border-gray-300", ...inline('categories', ['viewAll']), children: [getLayoutText(storeConfig, 'sections.categories.viewAll', 'View All Categories'), " ", _jsx(ArrowRight, { className: "h-4 w-4 transition-transform group-hover:translate-x-1" })] }))] }), _jsx("div", { className: `grid ${getCategoryGridClass()} gap-6`, children: displayedCategories.map((category) => {
|
|
218
|
+
// Validate category image - handle all formats
|
|
219
|
+
const extractCategoryImage = (image) => {
|
|
220
|
+
if (!image)
|
|
221
|
+
return undefined;
|
|
222
|
+
// If already a string, validate
|
|
223
|
+
if (typeof image === 'string') {
|
|
224
|
+
const trimmed = image.trim();
|
|
225
|
+
return trimmed.length > 0 ? trimmed : undefined;
|
|
226
|
+
}
|
|
227
|
+
// If object, extract url
|
|
228
|
+
if (typeof image === 'object' && image !== null) {
|
|
229
|
+
if ('url' in image && image.url) {
|
|
230
|
+
const url = typeof image.url === 'string' ? image.url.trim() : String(image.url).trim();
|
|
231
|
+
return url.length > 0 ? url : undefined;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
// If array, take first valid item
|
|
235
|
+
if (Array.isArray(image) && image.length > 0) {
|
|
236
|
+
return extractCategoryImage(image[0]);
|
|
237
|
+
}
|
|
238
|
+
return undefined;
|
|
239
|
+
};
|
|
240
|
+
const categoryImage = extractCategoryImage(category.image);
|
|
241
|
+
return (_jsxs(Link, { href: `/${storeConfig.slug}/categories/${category.slug}`, className: `group relative overflow-hidden rounded-2xl aspect-[3/4]`, children: [_jsxs("div", { className: "absolute inset-0 bg-gray-200", children: [_jsx(ImageWithFallback, { src: categoryImage, alt: category.name, className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-110", skeletonAspectRatio: "auto" }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-black/70 via-black/20 to-transparent opacity-80 group-hover:opacity-70 transition-opacity" })] }), _jsxs("div", { className: "absolute inset-0 flex flex-col justify-end p-8", children: [_jsx("h3", { className: "text-2xl font-bold text-white mb-2 transform translate-y-0 transition-transform duration-300", children: category.name }), _jsx("div", { className: "h-0.5 w-12 bg-white/0 group-hover:bg-white/100 transition-all duration-500 mb-4" }), _jsxs("span", { className: "inline-flex items-center text-white text-sm font-medium opacity-0 group-hover:opacity-100 transform translate-y-4 group-hover:translate-y-0 transition-all duration-300", children: [getLayoutText(storeConfig, 'common.shopNow', 'Shop Now'), " ", _jsx(ArrowRight, { className: "ml-2 h-4 w-4" })] })] })] }, category.id));
|
|
242
|
+
}) })] }) })), layoutConfig?.sections?.marketing?.editorial?.show !== false && (_jsx("section", { ...section('lookbook'), style: getPayazaSectionInlineStyle(storeConfig, 'home', 'lookbook'), className: "py-16 md:py-24 px-4 sm:px-6 lg:px-8 bg-stone-50", 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: [_jsxs("div", { className: "relative pb-8 md:pb-0", children: [_jsx("div", { className: "aspect-[4/5] rounded-lg overflow-hidden relative", ...image('lookbook', ['image']), children: _jsx(ImageWithFallback, { src: layoutConfig?.sections?.marketing?.editorial?.image || 'https://images.unsplash.com/photo-1490481651871-ab68de25d43d?q=80&w=2000&auto=format&fit=crop', alt: "Editorial Lookbook", className: "w-full h-full object-cover", skeletonAspectRatio: "4/5" }) }), (layoutConfig?.sections?.marketing?.editorial?.detailImage) && (_jsx("div", { className: "z-20 mx-auto mt-6 h-40 w-40 rounded-lg bg-white p-4 shadow-xl animate-fade-in-up md:absolute md:bottom-[-2rem] md:right-[-2rem] md:mx-0 md:mt-0 md:h-48 md:w-48", style: { animationDelay: '0.2s' }, ...image('lookbook', ['detailImage']), children: _jsx("div", { className: "relative h-full w-full", children: _jsx(ImageWithFallback, { src: layoutConfig.sections.marketing.editorial.detailImage, alt: "Detail Shot", className: "h-full w-full rounded object-cover", skeletonAspectRatio: "square" }) }) }))] }), _jsxs("div", { className: "space-y-8", children: [_jsx("div", { className: "flex flex-col gap-2", children: _jsx("span", { className: "text-sm font-bold tracking-widest text-gray-500 uppercase", ...inline('lookbook', ['badgeText']), children: layoutConfig?.sections?.marketing?.editorial?.badgeText || "Lookbook" }) }), _jsx("h2", { className: "text-4xl md:text-5xl font-bold tracking-tight leading-tight text-gray-900", ...edit('lookbook', ['title']), children: layoutConfig?.sections?.marketing?.editorial?.title ? (layoutConfig.sections.marketing.editorial.title.split('\n').map((line, idx, arr) => (_jsxs("span", { children: [line, idx < arr.length - 1 && _jsx("br", {})] }, idx)))) : (_jsxs(_Fragment, { children: ["Redefining Modern ", _jsx("br", {}), _jsx("span", { className: "italic font-serif", children: "Elegance" })] })) }), _jsx("p", { className: "text-lg text-gray-600 leading-relaxed", ...edit('lookbook', ['description']), children: layoutConfig?.sections?.marketing?.editorial?.description || "Explore our latest editorial featuring timeless pieces crafted for the contemporary wardrobe. From essential basics to statement outwear, find your signature look." }), _jsxs("div", { className: "flex flex-col sm:flex-row gap-4 pt-4", children: [layoutConfig?.sections?.marketing?.editorial?.primaryButton?.text && (_jsx(Link, { href: layoutConfig.sections.marketing.editorial.primaryButton.link?.startsWith('/')
|
|
243
|
+
? `/${storeConfig.slug}${layoutConfig.sections.marketing.editorial.primaryButton.link}`
|
|
244
|
+
: (layoutConfig.sections.marketing.editorial.primaryButton.link || `/${storeConfig.slug}/style-guide`), children: _jsx(Button, { className: "rounded-full px-8 py-6 bg-gray-900 hover:bg-black text-white transition-all", ...edit('lookbook', ['primaryButton', 'text']), children: layoutConfig.sections.marketing.editorial.primaryButton.text }) })), layoutConfig?.sections?.marketing?.editorial?.secondaryButton?.text && (_jsx(Link, { href: layoutConfig.sections.marketing.editorial.secondaryButton.link?.startsWith('/')
|
|
245
|
+
? `/${storeConfig.slug}${layoutConfig.sections.marketing.editorial.secondaryButton.link}`
|
|
246
|
+
: (layoutConfig.sections.marketing.editorial.secondaryButton.link || `/${storeConfig.slug}/about`), children: _jsx(Button, { variant: "outline", className: "rounded-full px-8 py-6 border-gray-300 hover:bg-white hover:border-gray-900 transition-all", ...edit('lookbook', ['secondaryButton', 'text']), children: layoutConfig.sections.marketing.editorial.secondaryButton.text }) }))] })] })] }) }) })), layoutConfig?.sections?.featuredProducts?.show !== false && (_jsx("section", { ...section('featuredProducts'), style: getPayazaSectionInlineStyle(storeConfig, 'home', 'featuredProducts'), className: "py-16 md:py-24 px-4 sm:px-6 lg:px-8 bg-white", children: _jsxs("div", { className: "container mx-auto max-w-7xl", children: [_jsxs("div", { className: "text-center max-w-2xl mx-auto mb-10 md:mb-16", children: [_jsx("span", { className: "text-sm font-bold tracking-widest text-gray-500 uppercase mb-3 block", ...inline('featuredProducts', ['eyebrow']), children: layoutConfig?.sections?.featuredProducts?.eyebrow || "Curated For You" }), _jsx("h2", { className: "text-3xl md:text-4xl font-bold mb-4 tracking-tight", ...inline('featuredProducts', ['title']), children: layoutConfig?.sections?.featuredProducts?.title || getLayoutText(storeConfig, 'sections.featuredProducts.title', 'Trending Now') }), _jsx("div", { className: "h-1 w-20 bg-gray-900 mx-auto mb-6" }), _jsx("p", { className: "text-gray-600 text-lg", ...inline('featuredProducts', ['subtitle']), children: getLayoutText(storeConfig, 'sections.featuredProducts.subtitle', 'Discover the latest trends and essential pieces that define this season\'s style.') })] }), _jsx("div", { className: "grid grid-cols-2 sm:grid-cols-2 lg:grid-cols-4 gap-4 sm:gap-8", children: products.slice(0, 4).map((product) => {
|
|
247
|
+
const validImages = resolveProductImageUrls(product.images);
|
|
248
|
+
const firstImage = validImages[0];
|
|
249
|
+
return (_jsx("div", { className: "group", children: _jsxs(Link, { href: `/${storeConfig.slug}/products/${product.slug}`, children: [_jsxs("div", { className: "relative aspect-[3/4] bg-gray-50 rounded-xl overflow-hidden mb-4", children: [_jsx(ImageWithFallback, { src: firstImage, alt: product.name, className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-105", skeletonAspectRatio: "3/4" }), validImages[1] && (_jsx(ImageWithFallback, { src: validImages[1], alt: product.name, className: "absolute inset-0 w-full h-full object-cover opacity-0 group-hover:opacity-100 transition-opacity duration-500", skeletonAspectRatio: "3/4" })), _jsxs("div", { className: "hidden lg:flex absolute bottom-4 right-4 flex-col gap-2 opacity-0 transform translate-x-4 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300", children: [storeConfig.features.wishlist && (_jsx(Button, { variant: "secondary", size: "icon", className: "bg-white hover:bg-black hover:text-white shadow-md rounded-full transition-colors", children: _jsx(Heart, { className: "h-4 w-4" }) })), _jsx(Button, { variant: "secondary", size: "icon", className: "bg-white hover:bg-black hover:text-white shadow-md rounded-full transition-colors", children: _jsx(ShoppingCart, { className: "h-4 w-4" }) })] }), _jsx(Button, { variant: "secondary", size: "icon", className: "lg:hidden absolute bottom-3 right-3 bg-white text-black h-10 w-10 rounded-full shadow-lg z-10 active:scale-95 transition-transform", children: _jsx(ShoppingCart, { className: "h-4 w-4" }) }), product.compareAtPrice && (_jsx("span", { className: "absolute top-3 left-3 bg-black text-white text-xs font-bold px-3 py-1 rounded-full uppercase tracking-wide", children: getLayoutText(storeConfig, 'common.sale', 'Sale') }))] }), _jsxs("div", { className: "space-y-1", children: [_jsx("h3", { className: "font-semibold text-gray-900 group-hover:text-gray-600 transition-colors text-lg", children: product.name }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "font-medium text-gray-900", children: formatCurrency(product.price, product.currency || 'USD') }), product.compareAtPrice && (_jsx("span", { className: "text-sm text-gray-400 line-through", children: formatCurrency(product.compareAtPrice, product.currency || 'USD') }))] }), _jsx(ProductRating, { rating: product.rating, reviewCount: product.reviewCount, size: "sm", showReviewCount: false, className: "shrink-0" })] })] }) }, product.id));
|
|
250
|
+
}) }), layoutConfig?.sections?.featuredProducts?.showViewAll !== false && (_jsx("div", { className: "mt-16 text-center", children: _jsx(Link, { href: `/${storeConfig.slug}/products`, children: _jsx(Button, { variant: "outline", className: "rounded-full px-10 py-6 border-gray-200 hover:border-black hover:bg-black hover:text-white transition-all text-base font-medium", ...inline('featuredProducts', ['viewAll']), children: getLayoutText(storeConfig, 'sections.featuredProducts.viewAll', 'View All Products') }) }) }))] }) })), _jsx(PromoBanner, { config: layoutConfig?.sections?.marketing?.promoBanner
|
|
251
|
+
? {
|
|
252
|
+
show: layoutConfig.sections.marketing.promoBanner.show ?? false,
|
|
253
|
+
image: layoutConfig.sections.marketing.promoBanner.image,
|
|
254
|
+
title: layoutConfig.sections.marketing.promoBanner.title,
|
|
255
|
+
subtitle: layoutConfig.sections.marketing.promoBanner.subtitle,
|
|
256
|
+
buttonText: layoutConfig.sections.marketing.promoBanner.buttonText,
|
|
257
|
+
buttonLink: layoutConfig.sections.marketing.promoBanner.buttonLink,
|
|
258
|
+
}
|
|
259
|
+
: undefined, storeSlug: storeConfig.slug, layoutStyle: "clothing", sectionKey: "promoBanner", page: "home", className: "container mx-auto max-w-7xl" })] }));
|
|
260
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { ClothingHomePage } from './components/ClothingHomePage';
|
|
2
|
+
export { ClothingProductsPage } from './pages/ProductsPage';
|
|
3
|
+
export { ClothingProductDetailPage } from './pages/ProductDetailPage';
|
|
4
|
+
export { ClothingCategoryPage } from './pages/CategoryPage';
|
|
5
|
+
export { ClothingCategoriesPage } from './pages/CategoriesPage';
|
|
6
|
+
export { ClothingAboutPage } from './pages/AboutPage';
|
|
7
|
+
export { ClothingContactPage } from './pages/ContactPage';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/clothing/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Fashion Hub (clothing) layout — fully sandboxed exports (see ClothingLayout + styles/clothing.css)
|
|
2
|
+
export { ClothingHomePage } from './components/ClothingHomePage.js';
|
|
3
|
+
export { ClothingProductsPage } from './pages/ProductsPage.js';
|
|
4
|
+
export { ClothingProductDetailPage } from './pages/ProductDetailPage.js';
|
|
5
|
+
export { ClothingCategoryPage } from './pages/CategoryPage.js';
|
|
6
|
+
export { ClothingCategoriesPage } from './pages/CategoriesPage.js';
|
|
7
|
+
export { ClothingAboutPage } from './pages/AboutPage.js';
|
|
8
|
+
export { ClothingContactPage } 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 ClothingAboutPage({ 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/clothing/pages/AboutPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAavD,UAAU,cAAc;IACtB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,cAAc,2CAgQ/E"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { Heart } from 'lucide-react';
|
|
4
|
+
import { Button } from '../../../components/ui/button.js';
|
|
5
|
+
import { DotPattern } from '../../../components/ui/background-patterns.js';
|
|
6
|
+
import { useStore } from '../../../lib/store-context.js';
|
|
7
|
+
import { DynamicIcon } from '../../../components/ui/dynamic-icon.js';
|
|
8
|
+
import Image from 'next/image';
|
|
9
|
+
import { getPayazaSectionInlineStyle } from '../../../lib/payaza-section-styles.js';
|
|
10
|
+
import { useClothingPayaza } from '../payaza-bindings.js';
|
|
11
|
+
import { showLayoutDecorativeBadges } from '../../../lib/layout-badges.js';
|
|
12
|
+
import { compactArrayItems, readItemIconName } from '../../../lib/compact-array-items.js';
|
|
13
|
+
import { ArrowRight } from 'lucide-react';
|
|
14
|
+
export function ClothingAboutPage({ storeConfig: initialConfig }) {
|
|
15
|
+
const { store } = useStore();
|
|
16
|
+
const storeConfig = store || initialConfig;
|
|
17
|
+
const primaryColor = storeConfig.branding.primaryColor;
|
|
18
|
+
const secondaryColor = storeConfig.branding.secondaryColor || primaryColor;
|
|
19
|
+
const layoutConfig = storeConfig.layoutConfig;
|
|
20
|
+
const heroConfig = layoutConfig?.pages?.about?.hero || layoutConfig?.sections?.hero;
|
|
21
|
+
const storyConfig = layoutConfig?.pages?.about?.story || layoutConfig?.sections?.story;
|
|
22
|
+
const statsConfig = layoutConfig?.pages?.about?.stats || layoutConfig?.sections?.stats;
|
|
23
|
+
const contactInfoConfig = layoutConfig?.pages?.about?.['contact-info'] || layoutConfig?.sections?.['contact-info'];
|
|
24
|
+
const valuesConfig = layoutConfig?.pages?.about?.values || layoutConfig?.sections?.values;
|
|
25
|
+
const { section, edit, image, inline, icon } = useClothingPayaza(storeConfig, 'about');
|
|
26
|
+
const heroImage = heroConfig?.heroImage || 'https://images.unsplash.com/photo-1558769132-cb1aea458c5e?q=80&w=2074&auto=format&fit=crop';
|
|
27
|
+
const pageTitle = heroConfig?.title || "Crafting Experiences, Delivering Joy.";
|
|
28
|
+
const missionStatement = heroConfig?.missionStatement || storeConfig.description;
|
|
29
|
+
const pageContent = storyConfig?.content || storeConfig.description;
|
|
30
|
+
const gallerySection = storyConfig?.gallerySection || [];
|
|
31
|
+
const storyImage = storyConfig?.storyImage || 'https://images.unsplash.com/photo-1522202176988-66273c2fd55f?q=80&w=2071&auto=format&fit=crop';
|
|
32
|
+
const teamTitle = storyConfig?.teamTitle || 'The Dream Team';
|
|
33
|
+
const teamSubtitle = storyConfig?.teamSubtitle || 'Working together to serve you better';
|
|
34
|
+
const storySectionLabel = storyConfig?.sectionLabel || 'Who We Are';
|
|
35
|
+
const storyTitle = storyConfig?.title || 'Our Journey';
|
|
36
|
+
const valuesItems = compactArrayItems(valuesConfig?.items || [
|
|
37
|
+
{ icon: 'Award', title: "Premium Fabrics", description: "We use only the highest quality materials for our collections." },
|
|
38
|
+
{ icon: 'Users', title: "Style for All", description: "Incisive designs that celebrate every individual's unique style." },
|
|
39
|
+
{ icon: 'Heart', title: "Ethical Fashion", description: "We believe in fair trade and ethical manufacturing processes." },
|
|
40
|
+
{ icon: 'Leaf', title: "Sustainable Style", description: "Eco-friendly collections that look good and do good for the planet." },
|
|
41
|
+
]);
|
|
42
|
+
const statsItems = statsConfig?.items || [
|
|
43
|
+
{ label: "Style Lovers", value: "20k+" },
|
|
44
|
+
{ label: "New Arrivals", value: storeConfig.products?.length ? `${storeConfig.products.length * 5}+` : "100+" },
|
|
45
|
+
{ label: "Global Shipping", value: "50+" },
|
|
46
|
+
{ label: "Design Experts", value: "15+" }
|
|
47
|
+
];
|
|
48
|
+
const visitTitle = contactInfoConfig?.visitTitle || 'Visit Us';
|
|
49
|
+
const visitIcon = contactInfoConfig?.visitIcon || 'MapPin';
|
|
50
|
+
const emailTitle = contactInfoConfig?.emailTitle || 'Email Us';
|
|
51
|
+
const emailIcon = contactInfoConfig?.emailIcon || 'Mail';
|
|
52
|
+
const hoursTitle = contactInfoConfig?.hoursTitle || 'Opening Hours';
|
|
53
|
+
const hoursIcon = contactInfoConfig?.hoursIcon || 'Clock';
|
|
54
|
+
return (_jsxs("div", { className: "min-h-screen bg-white pb-20 overflow-hidden", children: [heroConfig?.show !== false && (_jsxs("section", { ...section('hero'), style: getPayazaSectionInlineStyle(storeConfig, 'about', 'hero'), className: "relative h-[60vh] min-h-[500px] w-full overflow-hidden", children: [_jsxs("div", { className: "absolute inset-0", ...image('hero', ['heroImage']), 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() && (_jsxs("div", { className: "inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-white/10 backdrop-blur-md border border-white/20 text-white text-sm font-medium mb-6", children: [_jsx("span", { className: "w-2 h-2 rounded-full bg-white animate-pulse" }), "Est. 2024"] })), _jsx("h1", { className: "text-5xl md:text-7xl font-bold text-white mb-6 tracking-tight leading-tight", ...edit('hero', ['title']), children: pageTitle }), _jsx("p", { className: "text-xl md:text-2xl text-gray-200 max-w-2xl leading-relaxed font-light", ...edit('hero', ['missionStatement']), children: missionStatement })] }) }) })] })), storyConfig?.show !== false && (_jsxs("section", { ...section('story'), style: getPayazaSectionInlineStyle(storeConfig, 'about', 'story'), className: "py-24 px-4 sm:px-6 lg:px-8 relative", children: [_jsx("div", { className: "absolute top-0 right-0 -mt-24 -mr-24 w-96 h-96 bg-gray-50 rounded-full blur-3xl -z-10" }), _jsx("div", { className: "container mx-auto max-w-7xl", children: _jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-16 items-center", children: [_jsxs("div", { className: "relative", children: [gallerySection && gallerySection.length > 0 ? (_jsx("div", { className: "grid grid-cols-2 gap-4", children: gallerySection.slice(0, 4).map((img, i) => (_jsx("div", { className: `relative overflow-hidden rounded-2xl shadow-lg ${i === 0 ? 'col-span-2 aspect-[16/9]' : 'aspect-square'}`, children: _jsx(Image, { src: img.image, alt: img.caption || "Gallery Image", fill: true, className: "w-full h-full object-cover hover:scale-110 transition-transform duration-500", unoptimized: true }) }, i))) })) : (_jsxs("div", { className: "relative aspect-[4/5] rounded-[2rem] overflow-hidden shadow-2xl", ...image('story', ['storyImage']), 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", ...inline('story', ['teamTitle']), children: teamTitle }), _jsx("p", { className: "text-white/80 text-sm", ...inline('story', ['teamSubtitle']), children: teamSubtitle })] })] })), _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 }, ...inline('story', ['sectionLabel']), children: storySectionLabel }), _jsx("h2", { className: "text-4xl md:text-5xl font-black text-gray-900 mb-6 tracking-tight", ...inline('story', ['title']), children: storyTitle }), _jsxs("div", { className: "prose prose-lg text-gray-600 leading-relaxed space-y-6", ...edit('story', ['content']), children: [pageContent?.split('\n').map((paragraph, idx) => (_jsx("p", { children: paragraph }, idx))), !pageContent && (_jsxs(_Fragment, { children: [_jsxs("p", { children: ["Founded with a bold vision to redefine excellence in the ", _jsx("span", { className: "font-semibold text-gray-900", children: storeConfig.type }), " industry, ", storeConfig.name, " has grown from a small passion project into a beloved brand. We believe in the power of quality, innovation, and community."] }), _jsx("p", { children: "Every day, we strive to bring you the best products, curated with care and delivered with a smile. Our team is dedicated to ensuring that your experience with us is nothing short of exceptional." })] }))] })] }), valuesConfig?.show !== false && valuesItems.length > 0 && (_jsx("div", { ...section('values'), style: getPayazaSectionInlineStyle(storeConfig, 'about', 'values'), className: "grid grid-cols-1 sm:grid-cols-2 gap-8", children: valuesItems.map((item, idx) => (_jsxs("div", { className: "flex gap-4 group", children: [_jsx("div", { className: "flex-shrink-0", children: _jsx("div", { className: "w-14 h-14 rounded-2xl flex items-center justify-center transition-colors group-hover:bg-gray-100", style: { backgroundColor: `${primaryColor}10` }, ...icon('values', ['items', String(idx), 'icon']), children: _jsx(DynamicIcon, { name: readItemIconName(item, '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", ...inline('values', ['items', String(idx), 'title']), children: item.title }), _jsx("p", { className: "text-gray-600 text-sm leading-relaxed", ...inline('values', ['items', String(idx), 'description']), children: item.description })] })] }, idx))) }))] })] }) })] })), statsConfig?.show !== false && (_jsxs("section", { ...section('stats'), style: getPayazaSectionInlineStyle(storeConfig, 'about', 'stats'), className: "py-20 relative overflow-hidden", children: [_jsx("div", { className: "absolute inset-0 opacity-10", children: _jsx(DotPattern, { color: primaryColor, cx: 2, cy: 2, cr: 2, width: 30, height: 30 }) }), _jsx("div", { className: "absolute inset-0", style: { backgroundColor: `${secondaryColor}15` } }), _jsx("div", { className: "container mx-auto px-4 relative z-10", children: _jsx("div", { className: "grid grid-cols-2 md:grid-cols-4 gap-8 md:gap-12", children: statsItems.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 }, ...inline('stats', ['items', String(idx), 'value']), children: stat.value }), _jsx("div", { className: "text-gray-600 font-bold uppercase tracking-widest text-xs md:text-sm", ...inline('stats', ['items', String(idx), 'label']), children: stat.label })] }, idx))) }) })] })), contactInfoConfig?.show !== false && (_jsx("section", { ...section('contact-info'), style: getPayazaSectionInlineStyle(storeConfig, 'about', 'contact-info'), 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", ...inline('contact-info', ['title']), children: contactInfoConfig?.title || "Get in Touch" }), _jsx("p", { className: "text-gray-500 max-w-xl mx-auto", ...inline('contact-info', ['description']), children: 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." })] }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-8", children: [_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", ...icon('contact-info', ['visitIcon']), children: _jsx(DynamicIcon, { name: visitIcon, 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", ...inline('contact-info', ['visitTitle']), children: visitTitle }), _jsx("p", { className: "text-gray-600 leading-relaxed whitespace-pre-line", ...inline('contact-info', ['address']), children: contactInfoConfig?.address || "123 Store Street\nCommerce City, ST 12345" })] }), _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", ...icon('contact-info', ['emailIcon']), children: _jsx(DynamicIcon, { name: emailIcon, 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", ...inline('contact-info', ['emailTitle']), children: emailTitle }), _jsxs("div", { className: "text-gray-600 leading-relaxed mb-4", children: [_jsx("span", { className: "block", ...inline('contact-info', ['email']), children: contactInfoConfig?.email || `hello@${storeConfig.slug}.com` }), (contactInfoConfig?.emailSecondary || !contactInfoConfig?.email) && (_jsx("span", { className: "block", ...inline('contact-info', ['emailSecondary']), children: contactInfoConfig?.emailSecondary || `support@${storeConfig.slug}.com` }))] }), _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" })] })] }), _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", ...icon('contact-info', ['hoursIcon']), children: _jsx(DynamicIcon, { name: hoursIcon, 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", ...inline('contact-info', ['hoursTitle']), children: hoursTitle }), _jsx("p", { className: "text-gray-600 leading-relaxed whitespace-pre-line", ...inline('contact-info', ['hours']), children: contactInfoConfig?.hours || "Mon - Fri: 9am - 6pm\nSat - Sun: 10am - 4pm" })] })] })] }) }))] }));
|
|
55
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { StoreConfig } from '../../../lib/store-types';
|
|
2
|
+
interface CategoriesPageProps {
|
|
3
|
+
storeConfig: StoreConfig;
|
|
4
|
+
}
|
|
5
|
+
export declare function ClothingCategoriesPage({ 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/clothing/pages/CategoriesPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAUvD,UAAU,mBAAmB;IAC3B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,sBAAsB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,mBAAmB,2CAyGzF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Breadcrumbs } from '../../../components/ui/breadcrumbs.js';
|
|
4
|
+
import { ImageWithFallback } from '../../../components/ui/image-with-fallback.js';
|
|
5
|
+
import { useStore } from '../../../lib/store-context.js';
|
|
6
|
+
import { useCatalogLoader } from '../../../hooks/use-catalog-loader.js';
|
|
7
|
+
import { getPayazaSectionInlineStyle } from '../../../lib/payaza-section-styles.js';
|
|
8
|
+
import { isEditorPreviewMode, resolveStoreCategoriesForDisplay } from '../../../lib/utils/index.js';
|
|
9
|
+
import { useClothingPayaza } from '../payaza-bindings.js';
|
|
10
|
+
import { CategoryMasonryGrid } from '../../../components/categories/category-masonry-grid.js';
|
|
11
|
+
export function ClothingCategoriesPage({ storeConfig: initialConfig }) {
|
|
12
|
+
const { store } = useStore();
|
|
13
|
+
const storeConfig = store || initialConfig;
|
|
14
|
+
const isPreview = isEditorPreviewMode(storeConfig);
|
|
15
|
+
const { categories: loadedCategories } = useCatalogLoader(storeConfig, {
|
|
16
|
+
fetchProducts: false,
|
|
17
|
+
fetchServices: false,
|
|
18
|
+
});
|
|
19
|
+
const categories = resolveStoreCategoriesForDisplay(loadedCategories, isPreview);
|
|
20
|
+
const layoutConfig = storeConfig.layoutConfig;
|
|
21
|
+
const categoriesHeaderConfig = layoutConfig?.pages?.categories?.categoriesHeader || layoutConfig?.sections?.categoriesHeader;
|
|
22
|
+
const categoryGridConfig = layoutConfig?.pages?.categories?.categoryGrid || layoutConfig?.sections?.categoryGrid;
|
|
23
|
+
const { section, edit, image, inline } = useClothingPayaza(storeConfig, 'categories');
|
|
24
|
+
const headerBackgroundImage = typeof categoriesHeaderConfig?.backgroundImage === 'string' &&
|
|
25
|
+
categoriesHeaderConfig.backgroundImage.trim().length > 0
|
|
26
|
+
? categoriesHeaderConfig.backgroundImage.trim()
|
|
27
|
+
: undefined;
|
|
28
|
+
const breadcrumbItems = [
|
|
29
|
+
{ label: storeConfig.name, href: `/${storeConfig.slug}` },
|
|
30
|
+
{ label: 'Categories', href: `/${storeConfig.slug}/categories` },
|
|
31
|
+
];
|
|
32
|
+
return (_jsxs("div", { "data-content-ready": true, className: "min-h-screen bg-white text-slate-900 font-sans", children: [categoriesHeaderConfig?.show !== false && (_jsxs("div", { ...section('categoriesHeader'), style: getPayazaSectionInlineStyle(storeConfig, 'categories', 'categoriesHeader'), className: `relative overflow-hidden border-b border-gray-200 ${headerBackgroundImage ? 'bg-gray-900' : 'bg-gray-50'}`, children: [headerBackgroundImage && (_jsxs("div", { className: "absolute inset-0 z-0", ...image('categoriesHeader', ['backgroundImage']), children: [_jsx(ImageWithFallback, { src: headerBackgroundImage, alt: categoriesHeaderConfig?.title || 'Categories', className: "h-full w-full object-cover object-center", skeletonAspectRatio: "16/9" }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-r from-black/70 via-black/45 to-black/60" })] })), _jsx("div", { className: `container relative z-10 mx-auto px-4 sm:px-6 lg:px-8 ${headerBackgroundImage ? 'min-h-[320px] py-16 lg:min-h-[380px] lg:py-20' : 'py-12 lg:py-16'}`, children: _jsxs("div", { className: "max-w-3xl animate-fade-in-up", children: [_jsx("div", { className: "mb-6", children: _jsx(Breadcrumbs, { items: breadcrumbItems, variant: headerBackgroundImage ? 'light' : 'default' }) }), _jsx("h1", { className: `mb-6 text-4xl font-bold tracking-tight lg:text-5xl ${headerBackgroundImage ? 'text-white' : 'text-gray-900'}`, ...edit('categoriesHeader', ['title']), children: categoriesHeaderConfig?.title || 'Shop by Category' }), _jsx("p", { className: `max-w-2xl text-lg leading-relaxed ${headerBackgroundImage ? 'text-white/90' : 'text-gray-600'}`, ...edit('categoriesHeader', ['description']), children: categoriesHeaderConfig?.description ||
|
|
33
|
+
'Explore our comprehensive collection of premium products across various departments. Dive into our curated selections designed to match your style and needs.' })] }) })] })), categoryGridConfig?.show !== false && (_jsx("div", { ...section('categoryGrid'), style: getPayazaSectionInlineStyle(storeConfig, 'categories', 'categoryGrid'), className: "container mx-auto px-4 sm:px-6 lg:px-8 py-16", children: categories.length === 0 ? (_jsxs("div", { className: "text-center py-20", children: [_jsx("h3", { className: "text-xl font-semibold text-gray-900 mb-2", children: "No categories available" }), _jsx("p", { className: "text-gray-500", children: "Categories will appear here once they are added to the store." })] })) : (_jsx(CategoryMasonryGrid, { categories: categories, mode: "page", columns: categoryGridConfig?.columns, showImages: categoryGridConfig?.showImages !== false, showDescriptions: categoryGridConfig?.showDescriptions !== false, getHref: (category) => `/${storeConfig.slug}/products?category=${category.slug}`, exploreLabel: "Explore Collection" })) }))] }));
|
|
34
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { StoreConfig } from '../../../lib/store-types';
|
|
2
|
+
interface CategoryPageProps {
|
|
3
|
+
storeConfig: StoreConfig;
|
|
4
|
+
categorySlug: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function ClothingCategoryPage({ storeConfig: initialConfig, categorySlug }: CategoryPageProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=CategoryPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategoryPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing/pages/CategoryPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAA8B,MAAM,0BAA0B,CAAC;AAyBnF,UAAU,iBAAiB;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,oBAAoB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,iBAAiB,2CAsOnG"}
|