storefront-layouts 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/auth/LoginForm.js +2 -2
- package/dist/components/auth/LoginSheet.js +2 -2
- package/dist/components/auth/login-form-core.js +3 -3
- package/dist/components/auth/login-sheet-header.js +3 -3
- package/dist/components/auth/login-sheet-registry.js +2 -2
- package/dist/components/auth/login-sheet-themes/booking-agenda.theme.js +1 -1
- package/dist/components/auth/login-sheet-themes/booking.theme.js +1 -1
- package/dist/components/auth/login-sheet-themes/clothing-minimal.theme.js +1 -1
- package/dist/components/auth/login-sheet-themes/clothing.theme.js +1 -1
- package/dist/components/auth/login-sheet-themes/electronics-grid.theme.js +1 -1
- package/dist/components/auth/login-sheet-themes/electronics.theme.js +1 -1
- package/dist/components/auth/login-sheet-themes/food-modern.theme.js +1 -1
- package/dist/components/auth/login-sheet-themes/food.theme.js +1 -1
- package/dist/components/auth/login-sheet-themes/index.js +9 -9
- package/dist/components/auth/login-sheet-themes/motivational-speaker.theme.js +1 -1
- package/dist/components/auth/login-sheet-themes/theme-input-baselines.d.ts +2 -2
- package/dist/components/auth/login-sheet-themes/theme-input-baselines.d.ts.map +1 -1
- package/dist/components/auth/login-sheet-themes/theme-input-baselines.js +2 -2
- package/dist/components/auth/login-sheets/StoreLoginSheetShell.d.ts.map +1 -1
- package/dist/components/auth/login-sheets/StoreLoginSheetShell.js +6 -6
- package/dist/components/auth/use-login-submit.js +3 -3
- package/dist/components/cart/InventoryHoldCountdown.js +2 -2
- package/dist/components/categories/category-masonry-grid.js +3 -3
- package/dist/components/checkout/CheckoutFeeLines.js +1 -1
- package/dist/components/checkout/ShippingOptionsPanel.js +3 -3
- package/dist/components/learning/CertificateTemplates.js +2 -2
- package/dist/components/learning/CertificateViewer.js +3 -3
- package/dist/components/learning/MentorshipProgress.d.ts.map +1 -1
- package/dist/components/learning/MentorshipProgress.js +4 -4
- package/dist/components/product/ProductVariationSelectors.js +1 -1
- package/dist/components/rich-text/CategoryDescription.js +2 -2
- package/dist/components/rich-text/ProductDescription.js +2 -2
- package/dist/components/rich-text/RichTextExcerpt.js +1 -1
- package/dist/components/rich-text/SafeRichHtml.d.ts +8 -11
- package/dist/components/rich-text/SafeRichHtml.d.ts.map +1 -1
- package/dist/components/rich-text/SafeRichHtml.js +3 -5
- package/dist/components/shipping/ProductDeliveryInfoSection.d.ts.map +1 -1
- package/dist/components/shipping/ProductDeliveryInfoSection.js +7 -4
- package/dist/components/shipping/ShippingQuoteAddressForm.js +3 -3
- package/dist/components/ui/alert-modal.js +2 -2
- package/dist/components/ui/avatar-image.js +1 -1
- package/dist/components/ui/badge.js +1 -1
- package/dist/components/ui/breadcrumbs.js +1 -1
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/button.js +1 -1
- package/dist/components/ui/card.js +1 -1
- package/dist/components/ui/category-tree.js +2 -2
- package/dist/components/ui/checkout-button.d.ts.map +1 -1
- package/dist/components/ui/checkout-button.js +11 -283
- package/dist/components/ui/guest-checkout-modal.js +3 -3
- package/dist/components/ui/image-skeleton.js +2 -2
- package/dist/components/ui/image-with-fallback.d.ts +3 -1
- package/dist/components/ui/image-with-fallback.d.ts.map +1 -1
- package/dist/components/ui/image-with-fallback.js +55 -139
- package/dist/components/ui/input.js +1 -1
- package/dist/components/ui/limited-time-offer-badge.js +2 -2
- package/dist/components/ui/loading-skeleton-wrapper.js +1 -1
- package/dist/components/ui/modal.js +2 -2
- package/dist/components/ui/otp-input.js +1 -1
- package/dist/components/ui/out-of-stock-overlay.js +1 -1
- package/dist/components/ui/page-animate-wrapper.js +2 -2
- package/dist/components/ui/page-content-loader.js +2 -2
- package/dist/components/ui/page-loader.js +1 -1
- package/dist/components/ui/product-card.d.ts.map +1 -1
- package/dist/components/ui/product-card.js +17 -17
- package/dist/components/ui/product-rating.js +1 -1
- package/dist/components/ui/product-stock-badge.js +2 -2
- package/dist/components/ui/review-form.js +2 -2
- package/dist/components/ui/route-skeleton-loader.js +6 -6
- package/dist/components/ui/sheet.d.ts +2 -1
- package/dist/components/ui/sheet.d.ts.map +1 -1
- package/dist/components/ui/sheet.js +4 -4
- package/dist/components/ui/skeleton.js +1 -1
- package/dist/components/ui/skeletons/index.js +5 -5
- package/dist/components/ui/skeletons/product-grid-skeleton.js +1 -1
- package/dist/components/ui/store-logos.d.ts.map +1 -1
- package/dist/components/ui/store-logos.js +4 -4
- package/dist/components/ui/toast.js +1 -1
- package/dist/components/ui/video-player.js +2 -2
- package/dist/editor/alignment-schemas/booking.js +1 -1
- package/dist/editor/alignment-schemas/clothing-minimal.js +1 -1
- package/dist/editor/alignment-schemas/index.js +20 -20
- package/dist/editor/alignment-schemas/lazy-loader.js +1 -1
- package/dist/editor/alignment-schemas/metadata.js +1 -1
- package/dist/editor/alignment-schemas/resolve-canvas-inspector-leaf.js +3 -3
- package/dist/editor/blocks/index.js +3 -3
- package/dist/editor/blocks/migrate-clothing-minimal.js +3 -3
- package/dist/editor/blocks/nav-outline-utils.js +2 -2
- package/dist/editor/blocks/registry.js +1 -1
- package/dist/editor/document/adapter.js +4 -4
- package/dist/editor/document/block-tree.js +1 -1
- package/dist/editor/document/index.js +6 -6
- package/dist/editor/document/validate.js +1 -1
- package/dist/editor/index.js +12 -12
- package/dist/editor/layout-content-loader.js +3 -3
- package/dist/editor/payaza-form/ArrayItemManager.js +2 -2
- package/dist/editor/payaza-form/EditorCanvasPreview.js +5 -5
- package/dist/editor/payaza-form/FieldRenderer.js +17 -17
- package/dist/editor/payaza-form/IframePreviewMessageBridge.js +3 -3
- package/dist/editor/payaza-form/PayazaFormEditor.js +31 -31
- package/dist/editor/payaza-form/PayazaFormEditorFullPage.js +2 -2
- package/dist/editor/payaza-form/SliderArrayEditor.js +3 -3
- package/dist/editor/payaza-form/components/ArrayField.js +1 -1
- package/dist/editor/payaza-form/components/BlockStylesInspector.js +1 -1
- package/dist/editor/payaza-form/components/BlocksField.js +9 -9
- package/dist/editor/payaza-form/components/ButtonField.js +3 -3
- package/dist/editor/payaza-form/components/CanvasGranularInspector.js +11 -11
- package/dist/editor/payaza-form/components/IconField.js +2 -2
- package/dist/editor/payaza-form/components/ImageField.js +1 -1
- package/dist/editor/payaza-form/components/NumberField.js +1 -1
- package/dist/editor/payaza-form/components/RichTextField.js +2 -2
- package/dist/editor/payaza-form/components/SectionField.js +1 -1
- package/dist/editor/payaza-form/components/SectionSchemaInspector.js +3 -3
- package/dist/editor/payaza-form/components/StarRatingField.js +2 -2
- package/dist/editor/payaza-form/components/TextField.js +1 -1
- package/dist/editor/payaza-form/data-merger.js +6 -6
- package/dist/editor/payaza-form/data-transformer.js +3 -3
- package/dist/editor/payaza-form/engine.js +1 -1
- package/dist/editor/payaza-form/examples/custom-widgets.example.js +1 -1
- package/dist/editor/payaza-form/index.js +8 -8
- package/dist/editor/payaza-form/layout-loader.js +2 -2
- package/dist/editor/payaza-form/preview-message-handler.js +3 -3
- package/dist/editor/payaza-form/schema-bridge.js +3 -3
- package/dist/editor/payaza-form/widget-registry.js +1 -1
- package/dist/editor/shared/BlockOutlineTree.js +2 -2
- package/dist/editor/shared/EditorHeader.js +2 -2
- package/dist/editor/shared/EditorNavigator.js +2 -2
- package/dist/editor/shared/IframePreview.js +6 -6
- package/dist/editor/shared/InlineCanvasPreview.js +8 -8
- package/dist/editor/shared/LayoutRenderer.js +1 -1
- package/dist/editor/shared/ResizableSidebar.js +1 -1
- package/dist/editor/shared/index.js +7 -7
- package/dist/hooks/use-analytics.js +3 -3
- package/dist/hooks/use-api.js +1 -1
- package/dist/hooks/use-cart-api.d.ts.map +1 -1
- package/dist/hooks/use-cart-api.js +8 -3
- package/dist/hooks/use-catalog-loader.js +3 -3
- package/dist/hooks/use-catalog-price-range.d.ts +2 -5
- package/dist/hooks/use-catalog-price-range.d.ts.map +1 -1
- package/dist/hooks/use-catalog-price-range.js +20 -5
- package/dist/hooks/use-category-products.d.ts +8 -0
- package/dist/hooks/use-category-products.d.ts.map +1 -0
- package/dist/hooks/use-category-products.js +43 -0
- package/dist/hooks/use-checkout-fees.d.ts +3 -4
- package/dist/hooks/use-checkout-fees.d.ts.map +1 -1
- package/dist/hooks/use-checkout-fees.js +1 -1
- package/dist/hooks/use-content-ready.js +1 -1
- package/dist/hooks/use-featured-products.d.ts +3 -0
- package/dist/hooks/use-featured-products.d.ts.map +1 -0
- package/dist/hooks/use-featured-products.js +25 -0
- package/dist/hooks/use-multi-store-checkout-fees.d.ts +3 -4
- package/dist/hooks/use-multi-store-checkout-fees.d.ts.map +1 -1
- package/dist/hooks/use-multi-store-checkout-fees.js +1 -1
- package/dist/hooks/use-navigation-loading.js +1 -1
- package/dist/hooks/use-payaza-checkout.d.ts +1 -1
- package/dist/hooks/use-payaza-checkout.d.ts.map +1 -1
- package/dist/hooks/use-payaza-checkout.js +9 -3
- package/dist/hooks/use-product-brands.d.ts +5 -0
- package/dist/hooks/use-product-brands.d.ts.map +1 -0
- package/dist/hooks/use-product-brands.js +25 -0
- package/dist/hooks/use-product-by-slug.d.ts +7 -0
- package/dist/hooks/use-product-by-slug.d.ts.map +1 -0
- package/dist/hooks/use-product-by-slug.js +38 -0
- package/dist/hooks/use-product-reviews.d.ts +15 -0
- package/dist/hooks/use-product-reviews.d.ts.map +1 -0
- package/dist/hooks/use-product-reviews.js +75 -0
- package/dist/hooks/use-product-variation-selection.d.ts +2 -8
- package/dist/hooks/use-product-variation-selection.d.ts.map +1 -1
- package/dist/hooks/use-product-variation-selection.js +1 -1
- package/dist/hooks/use-products-api.js +3 -3
- package/dist/hooks/use-shipping-quote.js +2 -2
- package/dist/hooks/use-store-api.js +4 -4
- package/dist/hooks/usePreviewSlideSync.js +1 -1
- package/dist/index.d.ts +62 -74
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +141 -153
- package/dist/layouts/booking/components/BookingHomePage.d.ts.map +1 -1
- package/dist/layouts/booking/components/BookingHomePage.js +68 -74
- package/dist/layouts/booking/components/BookingMultilineHeading.js +1 -1
- package/dist/layouts/booking/components/BookingTestimonialCard.js +2 -2
- package/dist/layouts/booking/components/BookingTestimonialsEmptyState.js +1 -1
- package/dist/layouts/booking/components/booking-footer-defaults.js +2 -2
- package/dist/layouts/booking/index.js +8 -8
- package/dist/layouts/booking/pages/AboutPage.d.ts +1 -1
- package/dist/layouts/booking/pages/AboutPage.d.ts.map +1 -1
- package/dist/layouts/booking/pages/AboutPage.js +39 -60
- package/dist/layouts/booking/pages/BookPage.d.ts.map +1 -1
- package/dist/layouts/booking/pages/BookPage.js +16 -22
- package/dist/layouts/booking/pages/CategoriesPage.js +6 -6
- package/dist/layouts/booking/pages/CategoryPage.d.ts +1 -1
- package/dist/layouts/booking/pages/CategoryPage.d.ts.map +1 -1
- package/dist/layouts/booking/pages/CategoryPage.js +17 -26
- package/dist/layouts/booking/pages/ContactPage.d.ts +1 -1
- package/dist/layouts/booking/pages/ContactPage.d.ts.map +1 -1
- package/dist/layouts/booking/pages/ContactPage.js +5 -12
- package/dist/layouts/booking/pages/ProductDetailPage.d.ts +1 -1
- package/dist/layouts/booking/pages/ProductDetailPage.d.ts.map +1 -1
- package/dist/layouts/booking/pages/ProductDetailPage.js +203 -150
- package/dist/layouts/booking/pages/ServicesPage.d.ts +1 -1
- package/dist/layouts/booking/pages/ServicesPage.d.ts.map +1 -1
- package/dist/layouts/booking/pages/ServicesPage.js +11 -31
- package/dist/layouts/booking-agenda/components/BookingHomePageAgenda.d.ts.map +1 -1
- package/dist/layouts/booking-agenda/components/BookingHomePageAgenda.js +21 -30
- package/dist/layouts/booking-agenda/index.js +8 -8
- package/dist/layouts/booking-agenda/pages/AboutPage.d.ts +1 -1
- package/dist/layouts/booking-agenda/pages/AboutPage.d.ts.map +1 -1
- package/dist/layouts/booking-agenda/pages/AboutPage.js +11 -14
- package/dist/layouts/booking-agenda/pages/BookPage.d.ts.map +1 -1
- package/dist/layouts/booking-agenda/pages/BookPage.js +15 -21
- package/dist/layouts/booking-agenda/pages/CategoriesPage.js +5 -5
- package/dist/layouts/booking-agenda/pages/CategoryPage.d.ts +1 -1
- package/dist/layouts/booking-agenda/pages/CategoryPage.d.ts.map +1 -1
- package/dist/layouts/booking-agenda/pages/CategoryPage.js +12 -18
- package/dist/layouts/booking-agenda/pages/ContactPage.d.ts +1 -1
- package/dist/layouts/booking-agenda/pages/ContactPage.d.ts.map +1 -1
- package/dist/layouts/booking-agenda/pages/ContactPage.js +8 -13
- package/dist/layouts/booking-agenda/pages/ProductDetailPage.d.ts +1 -1
- package/dist/layouts/booking-agenda/pages/ProductDetailPage.d.ts.map +1 -1
- package/dist/layouts/booking-agenda/pages/ProductDetailPage.js +202 -149
- package/dist/layouts/booking-agenda/pages/ServicesPage.d.ts +1 -1
- package/dist/layouts/booking-agenda/pages/ServicesPage.d.ts.map +1 -1
- package/dist/layouts/booking-agenda/pages/ServicesPage.js +8 -23
- package/dist/layouts/clothing/components/ClothingHomePage.d.ts.map +1 -1
- package/dist/layouts/clothing/components/ClothingHomePage.js +199 -136
- package/dist/layouts/clothing/index.js +7 -7
- package/dist/layouts/clothing/pages/AboutPage.d.ts +1 -1
- package/dist/layouts/clothing/pages/AboutPage.d.ts.map +1 -1
- package/dist/layouts/clothing/pages/AboutPage.js +19 -33
- package/dist/layouts/clothing/pages/CategoriesPage.js +8 -8
- package/dist/layouts/clothing/pages/CategoryPage.d.ts +1 -1
- package/dist/layouts/clothing/pages/CategoryPage.d.ts.map +1 -1
- package/dist/layouts/clothing/pages/CategoryPage.js +15 -41
- package/dist/layouts/clothing/pages/ContactPage.d.ts +1 -1
- package/dist/layouts/clothing/pages/ContactPage.d.ts.map +1 -1
- package/dist/layouts/clothing/pages/ContactPage.js +5 -8
- package/dist/layouts/clothing/pages/ProductDetailPage.d.ts +1 -1
- package/dist/layouts/clothing/pages/ProductDetailPage.d.ts.map +1 -1
- package/dist/layouts/clothing/pages/ProductDetailPage.js +256 -167
- package/dist/layouts/clothing/pages/ProductsPage.d.ts +1 -1
- package/dist/layouts/clothing/pages/ProductsPage.d.ts.map +1 -1
- package/dist/layouts/clothing/pages/ProductsPage.js +125 -59
- package/dist/layouts/clothing/payaza-bindings.js +2 -2
- package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.d.ts.map +1 -1
- package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.js +32 -131
- package/dist/layouts/clothing-minimal/components/clothing-minimal-block-render.js +8 -8
- package/dist/layouts/clothing-minimal/index.js +7 -7
- package/dist/layouts/clothing-minimal/pages/AboutPage.d.ts +1 -1
- package/dist/layouts/clothing-minimal/pages/AboutPage.d.ts.map +1 -1
- package/dist/layouts/clothing-minimal/pages/AboutPage.js +37 -61
- package/dist/layouts/clothing-minimal/pages/CategoriesPage.js +7 -7
- package/dist/layouts/clothing-minimal/pages/CategoryPage.d.ts +1 -1
- package/dist/layouts/clothing-minimal/pages/CategoryPage.d.ts.map +1 -1
- package/dist/layouts/clothing-minimal/pages/CategoryPage.js +13 -18
- package/dist/layouts/clothing-minimal/pages/ContactPage.d.ts +1 -1
- package/dist/layouts/clothing-minimal/pages/ContactPage.d.ts.map +1 -1
- package/dist/layouts/clothing-minimal/pages/ContactPage.js +5 -8
- package/dist/layouts/clothing-minimal/pages/ProductDetailPage.d.ts +1 -1
- package/dist/layouts/clothing-minimal/pages/ProductDetailPage.d.ts.map +1 -1
- package/dist/layouts/clothing-minimal/pages/ProductDetailPage.js +202 -143
- package/dist/layouts/clothing-minimal/pages/ProductsPage.d.ts +1 -1
- package/dist/layouts/clothing-minimal/pages/ProductsPage.d.ts.map +1 -1
- package/dist/layouts/clothing-minimal/pages/ProductsPage.js +126 -57
- package/dist/layouts/electronics/components/ElectronicsCategoriesPage.js +7 -7
- package/dist/layouts/electronics/components/ElectronicsGridProductCard.js +10 -10
- package/dist/layouts/electronics/components/ElectronicsHomePage.d.ts.map +1 -1
- package/dist/layouts/electronics/components/ElectronicsHomePage.js +29 -31
- package/dist/layouts/electronics/components/ElectronicsPageWrapper.js +4 -4
- package/dist/layouts/electronics/components/ElectronicsProductsPage.d.ts.map +1 -1
- package/dist/layouts/electronics/components/ElectronicsProductsPage.js +81 -23
- package/dist/layouts/electronics/components/ElectronicsStoreFooter.js +2 -2
- package/dist/layouts/electronics/components/ElectronicsStoreHeader.js +6 -6
- package/dist/layouts/electronics/index.js +18 -18
- package/dist/layouts/electronics/pages/AboutPage.d.ts +1 -1
- package/dist/layouts/electronics/pages/AboutPage.d.ts.map +1 -1
- package/dist/layouts/electronics/pages/AboutPage.js +11 -14
- package/dist/layouts/electronics/pages/CategoriesPage.js +1 -1
- package/dist/layouts/electronics/pages/CategoryPage.d.ts +1 -1
- package/dist/layouts/electronics/pages/CategoryPage.d.ts.map +1 -1
- package/dist/layouts/electronics/pages/CategoryPage.js +14 -20
- package/dist/layouts/electronics/pages/ContactPage.d.ts +1 -1
- package/dist/layouts/electronics/pages/ContactPage.d.ts.map +1 -1
- package/dist/layouts/electronics/pages/ContactPage.js +8 -13
- package/dist/layouts/electronics/pages/HelpCenterPage.js +1 -1
- package/dist/layouts/electronics/pages/PrivacyPolicyPage.js +1 -1
- package/dist/layouts/electronics/pages/ProductDetailPage.d.ts +1 -1
- package/dist/layouts/electronics/pages/ProductDetailPage.d.ts.map +1 -1
- package/dist/layouts/electronics/pages/ProductDetailPage.js +201 -142
- package/dist/layouts/electronics/pages/ProductsPage.d.ts +1 -1
- package/dist/layouts/electronics/pages/ProductsPage.d.ts.map +1 -1
- package/dist/layouts/electronics/pages/ProductsPage.js +119 -49
- package/dist/layouts/electronics/pages/TermsPage.js +1 -1
- package/dist/layouts/electronics/pages/TrackOrderPage.js +4 -4
- package/dist/layouts/electronics-grid/components/ElectronicsGridProductCard.js +10 -10
- package/dist/layouts/electronics-grid/components/ElectronicsHomePageGrid.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/components/ElectronicsHomePageGrid.js +75 -33
- package/dist/layouts/electronics-grid/index.js +14 -14
- package/dist/layouts/electronics-grid/pages/AboutPage.d.ts +1 -1
- package/dist/layouts/electronics-grid/pages/AboutPage.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/pages/AboutPage.js +11 -14
- package/dist/layouts/electronics-grid/pages/CategoriesPage.js +1 -1
- package/dist/layouts/electronics-grid/pages/CategoryPage.d.ts +1 -1
- package/dist/layouts/electronics-grid/pages/CategoryPage.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/pages/CategoryPage.js +14 -20
- package/dist/layouts/electronics-grid/pages/ContactPage.d.ts +1 -1
- package/dist/layouts/electronics-grid/pages/ContactPage.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/pages/ContactPage.js +8 -13
- package/dist/layouts/electronics-grid/pages/ElectronicsGridCategoriesPage.js +6 -6
- package/dist/layouts/electronics-grid/pages/HelpCenterPage.js +1 -1
- package/dist/layouts/electronics-grid/pages/PrivacyPolicyPage.js +1 -1
- package/dist/layouts/electronics-grid/pages/ProductDetailPage.d.ts +1 -1
- package/dist/layouts/electronics-grid/pages/ProductDetailPage.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/pages/ProductDetailPage.js +201 -142
- package/dist/layouts/electronics-grid/pages/ProductsPage.d.ts +1 -1
- package/dist/layouts/electronics-grid/pages/ProductsPage.d.ts.map +1 -1
- package/dist/layouts/electronics-grid/pages/ProductsPage.js +121 -52
- package/dist/layouts/electronics-grid/pages/TermsPage.js +1 -1
- package/dist/layouts/electronics-grid/pages/TrackOrderPage.js +4 -4
- package/dist/layouts/food/components/FoodHomePage.d.ts.map +1 -1
- package/dist/layouts/food/components/FoodHomePage.js +42 -41
- package/dist/layouts/food/index.js +8 -8
- package/dist/layouts/food/pages/AboutPage.d.ts +1 -1
- package/dist/layouts/food/pages/AboutPage.d.ts.map +1 -1
- package/dist/layouts/food/pages/AboutPage.js +44 -45
- package/dist/layouts/food/pages/CategoriesPage.js +6 -6
- package/dist/layouts/food/pages/CategoryPage.d.ts +1 -1
- package/dist/layouts/food/pages/CategoryPage.d.ts.map +1 -1
- package/dist/layouts/food/pages/CategoryPage.js +23 -21
- package/dist/layouts/food/pages/ContactPage.d.ts +1 -1
- package/dist/layouts/food/pages/ContactPage.d.ts.map +1 -1
- package/dist/layouts/food/pages/ContactPage.js +5 -7
- package/dist/layouts/food/pages/MenuPage.d.ts +1 -1
- package/dist/layouts/food/pages/MenuPage.d.ts.map +1 -1
- package/dist/layouts/food/pages/MenuPage.js +81 -42
- package/dist/layouts/food/pages/ProductDetailPage.d.ts +1 -1
- package/dist/layouts/food/pages/ProductDetailPage.d.ts.map +1 -1
- package/dist/layouts/food/pages/ProductDetailPage.js +209 -171
- package/dist/layouts/food/pages/ProductsPage.d.ts +1 -1
- package/dist/layouts/food/pages/ProductsPage.d.ts.map +1 -1
- package/dist/layouts/food/pages/ProductsPage.js +130 -45
- package/dist/layouts/food-modern/components/FoodHomePageModern.js +10 -10
- package/dist/layouts/food-modern/index.js +8 -8
- package/dist/layouts/food-modern/pages/AboutPage.d.ts +1 -1
- package/dist/layouts/food-modern/pages/AboutPage.d.ts.map +1 -1
- package/dist/layouts/food-modern/pages/AboutPage.js +11 -14
- package/dist/layouts/food-modern/pages/CategoriesPage.js +5 -5
- package/dist/layouts/food-modern/pages/CategoryPage.d.ts +1 -1
- package/dist/layouts/food-modern/pages/CategoryPage.d.ts.map +1 -1
- package/dist/layouts/food-modern/pages/CategoryPage.js +23 -20
- package/dist/layouts/food-modern/pages/ContactPage.d.ts +1 -1
- package/dist/layouts/food-modern/pages/ContactPage.d.ts.map +1 -1
- package/dist/layouts/food-modern/pages/ContactPage.js +5 -7
- package/dist/layouts/food-modern/pages/MenuPage.d.ts +1 -1
- package/dist/layouts/food-modern/pages/MenuPage.d.ts.map +1 -1
- package/dist/layouts/food-modern/pages/MenuPage.js +81 -46
- package/dist/layouts/food-modern/pages/ProductDetailPage.d.ts +1 -1
- package/dist/layouts/food-modern/pages/ProductDetailPage.d.ts.map +1 -1
- package/dist/layouts/food-modern/pages/ProductDetailPage.js +202 -143
- package/dist/layouts/food-modern/pages/ProductsPage.d.ts +1 -1
- package/dist/layouts/food-modern/pages/ProductsPage.d.ts.map +1 -1
- package/dist/layouts/food-modern/pages/ProductsPage.js +117 -33
- package/dist/layouts/motivational-speaker/components/MotivationalHomePage.d.ts.map +1 -1
- package/dist/layouts/motivational-speaker/components/MotivationalHomePage.js +32 -23
- package/dist/layouts/motivational-speaker/components/MotivationalSpeakerPageWrapper.js +1 -1
- package/dist/layouts/motivational-speaker/index.js +9 -9
- package/dist/layouts/motivational-speaker/pages/AboutPage.d.ts +1 -1
- package/dist/layouts/motivational-speaker/pages/AboutPage.d.ts.map +1 -1
- package/dist/layouts/motivational-speaker/pages/AboutPage.js +6 -9
- package/dist/layouts/motivational-speaker/pages/CategoryPage.d.ts +1 -1
- package/dist/layouts/motivational-speaker/pages/CategoryPage.d.ts.map +1 -1
- package/dist/layouts/motivational-speaker/pages/CategoryPage.js +18 -22
- package/dist/layouts/motivational-speaker/pages/ContactPage.d.ts +1 -1
- package/dist/layouts/motivational-speaker/pages/ContactPage.d.ts.map +1 -1
- package/dist/layouts/motivational-speaker/pages/ContactPage.js +9 -13
- package/dist/layouts/motivational-speaker/pages/ProductsPage.d.ts +1 -1
- package/dist/layouts/motivational-speaker/pages/ProductsPage.d.ts.map +1 -1
- package/dist/layouts/motivational-speaker/pages/ProductsPage.js +121 -52
- package/dist/layouts/motivational-speaker/pages/ServiceDetailPage.d.ts +1 -1
- package/dist/layouts/motivational-speaker/pages/ServiceDetailPage.d.ts.map +1 -1
- package/dist/layouts/motivational-speaker/pages/ServiceDetailPage.js +15 -24
- package/dist/layouts/motivational-speaker/pages/ServicesPage.d.ts +1 -1
- package/dist/layouts/motivational-speaker/pages/ServicesPage.d.ts.map +1 -1
- package/dist/layouts/motivational-speaker/pages/ServicesPage.js +8 -23
- package/dist/layouts/motivational-speaker/pages/SubscriptionPage.js +7 -7
- package/dist/layouts/shared/components/BaseStoreLayout.js +9 -9
- package/dist/layouts/shared/components/CartLineQuantityControl.js +1 -1
- package/dist/layouts/shared/components/GenericPageWrapper.js +3 -3
- package/dist/layouts/shared/components/ProductPriceFilterSection.js +4 -4
- package/dist/layouts/shared/components/PromoBanner.d.ts +1 -4
- package/dist/layouts/shared/components/PromoBanner.d.ts.map +1 -1
- package/dist/layouts/shared/components/PromoBanner.js +12 -8
- package/dist/layouts/shared/components/StoreFooter.js +10 -10
- package/dist/layouts/shared/components/StoreHeader.js +7 -7
- package/dist/layouts/shared/components/TestimonialCard.d.ts.map +1 -1
- package/dist/layouts/shared/components/TestimonialCard.js +2 -2
- package/dist/layouts/shared/components/headers/BookingAgendaSidebar.js +2 -2
- package/dist/layouts/shared/components/headers/ClothingMinimalHeader.js +11 -11
- package/dist/layouts/shared/components/headers/FoodModernHeader.js +7 -7
- package/dist/layouts/shared/index.js +22 -22
- package/dist/layouts/shared/pages/AccountPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/AccountPage.js +101 -27
- package/dist/layouts/shared/pages/CartPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/CartPage.js +39 -90
- package/dist/layouts/shared/pages/CheckoutPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/CheckoutPage.js +349 -868
- package/dist/layouts/shared/pages/CookiePolicyPage.js +1 -1
- package/dist/layouts/shared/pages/FeatureDisabledPage.js +1 -1
- package/dist/layouts/shared/pages/HelpCenterPage.js +1 -1
- package/dist/layouts/shared/pages/MaintenancePage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/MaintenancePage.js +2 -3
- package/dist/layouts/shared/pages/PortfolioPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/PortfolioPage.js +2 -2
- package/dist/layouts/shared/pages/PrivacyPolicyPage.js +1 -1
- package/dist/layouts/shared/pages/SizeGuidePage.js +1 -1
- package/dist/layouts/shared/pages/StyleGuidePage.js +3 -3
- package/dist/layouts/shared/pages/TeamPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/TeamPage.js +1 -1
- package/dist/layouts/shared/pages/TermsPage.js +1 -1
- package/dist/layouts/shared/pages/TrackOrderPage.js +4 -4
- package/dist/layouts/shared/pages/WishlistPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/WishlistPage.js +44 -29
- package/dist/layouts/shared/wrappers/BookingAgendaLayout.d.ts.map +1 -1
- package/dist/layouts/shared/wrappers/BookingAgendaLayout.js +80 -35
- package/dist/layouts/shared/wrappers/ClothingLayout.js +8 -8
- package/dist/layouts/shared/wrappers/ClothingMinimalLayout.js +7 -7
- package/dist/layouts/shared/wrappers/ElectronicsLayout.js +5 -5
- package/dist/layouts/shared/wrappers/FoodModernLayout.js +6 -6
- package/dist/layouts/shared/wrappers/MotivationalLayout.js +9 -9
- package/dist/layouts/shared/wrappers/StandardLayout.js +8 -8
- package/dist/lib/api.d.ts +3 -4
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +69 -109
- package/dist/lib/auth-context.js +2 -2
- package/dist/lib/content-selectors.d.ts +1 -1
- package/dist/lib/content-selectors.d.ts.map +1 -1
- package/dist/lib/content-selectors.js +8 -0
- package/dist/lib/layout-config-hydration.js +2 -2
- package/dist/lib/loading-context.d.ts.map +1 -1
- package/dist/lib/loading-context.js +11 -21
- package/dist/lib/payaza-checkout.d.ts.map +1 -1
- package/dist/lib/payaza-checkout.js +2 -4
- package/dist/lib/payaza-public-key.d.ts +6 -0
- package/dist/lib/payaza-public-key.d.ts.map +1 -0
- package/dist/lib/payaza-public-key.js +10 -0
- package/dist/lib/rich-html.d.ts +31 -26
- package/dist/lib/rich-html.d.ts.map +1 -1
- package/dist/lib/rich-html.js +1 -0
- package/dist/lib/services/analytics.service.js +1 -1
- package/dist/lib/services/auth.service.js +1 -1
- package/dist/lib/services/booking.service.js +1 -1
- package/dist/lib/services/category.service.js +1 -1
- package/dist/lib/services/checkout.service.d.ts +3 -0
- package/dist/lib/services/checkout.service.d.ts.map +1 -1
- package/dist/lib/services/checkout.service.js +1 -1
- package/dist/lib/services/contact.service.js +1 -1
- package/dist/lib/services/customer.service.js +1 -1
- package/dist/lib/services/fees.service.d.ts +17 -63
- package/dist/lib/services/fees.service.d.ts.map +1 -1
- package/dist/lib/services/fees.service.js +4 -138
- package/dist/lib/services/index.js +13 -13
- package/dist/lib/services/location.service.js +1 -1
- package/dist/lib/services/order.service.js +1 -1
- package/dist/lib/services/payment.service.js +1 -1
- package/dist/lib/services/product.service.d.ts +7 -2
- package/dist/lib/services/product.service.d.ts.map +1 -1
- package/dist/lib/services/product.service.js +13 -1
- package/dist/lib/services/promo.service.js +1 -1
- package/dist/lib/services/review.service.js +1 -1
- package/dist/lib/services/service.service.js +1 -1
- package/dist/lib/services/shipping.service.js +1 -1
- package/dist/lib/services/store.service.js +1 -1
- package/dist/lib/store-config-utils.d.ts +1 -10
- package/dist/lib/store-config-utils.d.ts.map +1 -1
- package/dist/lib/store-config-utils.js +73 -261
- package/dist/lib/store-config.js +1 -1
- package/dist/lib/store-context.d.ts +1 -23
- package/dist/lib/store-context.d.ts.map +1 -1
- package/dist/lib/store-context.js +89 -111
- package/dist/lib/store-types.d.ts +9 -91
- package/dist/lib/store-types.d.ts.map +1 -1
- package/dist/lib/utils/asset-helpers.js +1 -1
- package/dist/lib/utils/catalog-price-bounds.d.ts +16 -6
- package/dist/lib/utils/catalog-price-bounds.d.ts.map +1 -1
- package/dist/lib/utils/catalog-price-bounds.js +58 -14
- package/dist/lib/utils/category-tree.d.ts +9 -0
- package/dist/lib/utils/category-tree.d.ts.map +1 -1
- package/dist/lib/utils/category-tree.js +26 -0
- package/dist/lib/utils/editor-preview.d.ts +5 -0
- package/dist/lib/utils/editor-preview.d.ts.map +1 -1
- package/dist/lib/utils/editor-preview.js +17 -3
- package/dist/lib/utils/fee-calculations.d.ts +5 -1
- package/dist/lib/utils/fee-calculations.d.ts.map +1 -1
- package/dist/lib/utils/fee-calculations.js +28 -31
- package/dist/lib/utils/index.d.ts +1 -1
- package/dist/lib/utils/index.d.ts.map +1 -1
- package/dist/lib/utils/index.js +4 -4
- package/dist/lib/utils/product-images.js +1 -1
- package/dist/lib/utils/product-share.js +1 -1
- package/dist/lib/utils/url-helpers.d.ts +6 -0
- package/dist/lib/utils/url-helpers.d.ts.map +1 -1
- package/dist/lib/utils/url-helpers.js +20 -4
- package/dist/preview/LayoutPreview.js +6 -6
- package/dist/preview/PreviewRouter.js +4 -4
- package/dist/preview/canvas/PreviewCanvasEnhancer.js +8 -8
- package/dist/preview/canvas/preview-flush-await.js +1 -1
- package/dist/preview/canvas/preview-isolation.js +1 -1
- package/dist/preview/canvas/preview-route.js +2 -2
- package/dist/preview/index.js +5 -5
- package/dist/styles/index.css +190 -149
- package/package.json +31 -43
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { RouteSkeletonLoader } from './route-skeleton-loader
|
|
3
|
+
import { RouteSkeletonLoader } from './route-skeleton-loader';
|
|
4
4
|
/**
|
|
5
5
|
* Client component wrapper for Next.js loading.tsx files
|
|
6
6
|
* Uses pathname to determine which skeleton to show
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { X } from 'lucide-react';
|
|
5
|
-
import { cn } from '../../lib/utils
|
|
6
|
-
import { Button } from './button
|
|
5
|
+
import { cn } from '../../lib/utils';
|
|
6
|
+
import { Button } from './button';
|
|
7
7
|
export function Modal({ isOpen, onClose, title, children, className }) {
|
|
8
8
|
const overlayRef = React.useRef(null);
|
|
9
9
|
React.useEffect(() => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import { cn } from "../../lib/utils
|
|
3
|
+
import { cn } from "../../lib/utils";
|
|
4
4
|
export function OtpInput({ length = 6, value, onChange, disabled = false, className, }) {
|
|
5
5
|
const inputRefs = React.useRef([]);
|
|
6
6
|
const handleChange = (index, e) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { cn } from '../../lib/utils
|
|
3
|
+
import { cn } from '../../lib/utils';
|
|
4
4
|
export function OutOfStockOverlay({ className, showBadge = true, badgePosition = 'center' }) {
|
|
5
5
|
const badgePositions = {
|
|
6
6
|
'top-left': 'top-4 left-4',
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { usePathname } from 'next/navigation';
|
|
4
4
|
import { useEffect } from 'react';
|
|
5
|
-
import { cn } from '../../lib/utils
|
|
6
|
-
import { scrollToTop } from '../../lib/utils/scroll-to-top.util
|
|
5
|
+
import { cn } from '../../lib/utils';
|
|
6
|
+
import { scrollToTop } from '../../lib/utils/scroll-to-top.util';
|
|
7
7
|
export function PageAnimateWrapper({ children, className }) {
|
|
8
8
|
const pathname = usePathname();
|
|
9
9
|
useEffect(() => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { cn } from '../../lib/utils
|
|
4
|
-
import { PageLoader } from './page-loader
|
|
3
|
+
import { cn } from '../../lib/utils';
|
|
4
|
+
import { PageLoader } from './page-loader';
|
|
5
5
|
/**
|
|
6
6
|
* PageContentLoader component that displays a spinner loader
|
|
7
7
|
* with minimum height for proper user feedback during backend operations.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { cn } from '../../lib/utils
|
|
3
|
+
import { cn } from '../../lib/utils';
|
|
4
4
|
function Spinner({ size = 'md', className, color = 'text-gray-900' }) {
|
|
5
5
|
const sizeClasses = {
|
|
6
6
|
sm: 'w-4 h-4',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-card.d.ts","sourceRoot":"","sources":["../../../src/components/ui/product-card.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAoBjD,UAAU,gBAAgB;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAC7C,WAAW,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"product-card.d.ts","sourceRoot":"","sources":["../../../src/components/ui/product-card.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAoBjD,UAAU,gBAAgB;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAC7C,WAAW,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CA0QxG"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useState } from 'react';
|
|
4
|
-
import { Button } from '../../components/ui/button
|
|
5
|
-
import { ImageWithFallback } from '../../components/ui/image-with-fallback
|
|
6
|
-
import { ProductRating } from '../../components/ui/product-rating
|
|
4
|
+
import { Button } from '../../components/ui/button';
|
|
5
|
+
import { ImageWithFallback } from '../../components/ui/image-with-fallback';
|
|
6
|
+
import { ProductRating } from '../../components/ui/product-rating';
|
|
7
7
|
import { ShoppingCart, Heart, Eye, Share2 } from 'lucide-react';
|
|
8
|
-
import { shareProductLink } from '../../lib/utils/product-share
|
|
8
|
+
import { shareProductLink } from '../../lib/utils/product-share';
|
|
9
9
|
import Link from 'next/link';
|
|
10
|
-
import { cn, formatCurrency } from '../../lib/utils
|
|
11
|
-
import { resolveProductImageUrls } from '../../lib/utils/product-images
|
|
12
|
-
import { useStore } from '../../lib/store-context
|
|
13
|
-
import { useToast } from '../../components/ui/toast
|
|
14
|
-
import { ButtonLoader } from '../../components/ui/page-loader
|
|
15
|
-
import { useLoading } from '../../lib/loading-context
|
|
16
|
-
import { OutOfStockOverlay } from '../../components/ui/out-of-stock-overlay
|
|
17
|
-
import { LimitedTimeOfferBadge } from '../../components/ui/limited-time-offer-badge
|
|
18
|
-
import { isActiveLimitedTimeOffer } from '../../lib/limited-time-offer
|
|
19
|
-
import { getProductStockInfo } from '../../lib/inventory-utils
|
|
20
|
-
import { richFieldHasContent, richFieldPlainTextForDisplay } from '../../lib/rich-html
|
|
21
|
-
import { trackStorefrontEvent } from '../../lib/mixpanel
|
|
10
|
+
import { cn, formatCurrency } from '../../lib/utils';
|
|
11
|
+
import { resolveProductImageUrls } from '../../lib/utils/product-images';
|
|
12
|
+
import { useStore } from '../../lib/store-context';
|
|
13
|
+
import { useToast } from '../../components/ui/toast';
|
|
14
|
+
import { ButtonLoader } from '../../components/ui/page-loader';
|
|
15
|
+
import { useLoading } from '../../lib/loading-context';
|
|
16
|
+
import { OutOfStockOverlay } from '../../components/ui/out-of-stock-overlay';
|
|
17
|
+
import { LimitedTimeOfferBadge } from '../../components/ui/limited-time-offer-badge';
|
|
18
|
+
import { isActiveLimitedTimeOffer } from '../../lib/limited-time-offer';
|
|
19
|
+
import { getProductStockInfo } from '../../lib/inventory-utils';
|
|
20
|
+
import { richFieldHasContent, richFieldPlainTextForDisplay } from '../../lib/rich-html';
|
|
21
|
+
import { trackStorefrontEvent } from '../../lib/mixpanel';
|
|
22
22
|
export function ProductCard({ product, storeSlug, onAddToCart, onQuickView, className }) {
|
|
23
23
|
const [isHovered, setIsHovered] = useState(false);
|
|
24
24
|
const { toggleWishlist, isInWishlist, isWishlistLoading, store } = useStore();
|
|
@@ -127,7 +127,7 @@ export function ProductCard({ product, storeSlug, onAddToCart, onQuickView, clas
|
|
|
127
127
|
});
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
-
return (_jsxs("div", { "data-product-card": true, className: cn("group relative flex flex-col h-full bg-white rounded-lg overflow-hidden border border-gray-100 hover:border-gray-300 transition-all duration-300 hover:shadow-md", className), onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [_jsxs("div", { className: "relative aspect-[3/4] bg-gray-50 overflow-hidden", children: [_jsx(Link, { href: `/${storeSlug}/products/${product.slug}`, onClick: handleProductClick, className: "block w-full h-full", children: _jsx(ImageWithFallback, { src: currentImage, alt: product.name, className: cn("w-full h-full object-cover transition-all duration-700 ease-in-out", isHovered && !hasSecondImage ? "scale-110" : "scale-100", isOutOfStock && "grayscale"), skeletonAspectRatio: "3/4" }) }), isOutOfStock && (_jsx(OutOfStockOverlay, { badgePosition: "center" })), (isActiveLimitedTimeOffer(product) || product.compareAtPrice || (product.rating && product.rating >= 4.8)) && (_jsxs("div", { className: "absolute top-3 left-3 flex flex-col gap-2 z-10", children: [_jsx(LimitedTimeOfferBadge, { product: product, compact: true }), product.compareAtPrice != null && product.compareAtPrice > product.price && (_jsx("span", { className: "bg-red-500 text-white text-[10px] font-bold px-2.5 py-1 rounded-full uppercase tracking-wider shadow-sm", children: "Sale" })), !isActiveLimitedTimeOffer(product) && !product.compareAtPrice && product.rating && product.rating >= 4.8 && (_jsx("span", { className: "bg-white/90 backdrop-blur-sm text-slate-900 text-[10px] font-bold px-2.5 py-1 rounded-full uppercase tracking-wider shadow-sm border border-gray-100", children: "Top Rated" }))] })), _jsxs("div", { className: "absolute top-3 right-3 z-30 flex flex-col gap-2 opacity-0 group-hover:opacity-100 transform translate-x-2 group-hover:translate-x-0 transition-all duration-300", children: [_jsx("button", { type: "button", onClick: handleShareClick, className: "p-2 rounded-full bg-white/80 backdrop-blur-sm hover:bg-white transition-all duration-300 shadow-sm text-slate-600 hover:text-slate-900", title: "Share product", "aria-label": "Share product", children: _jsx(Share2, { className: "h-4 w-4" }) }), _jsx("button", { type: "button", onClick: handleWishlistClick, disabled: isLoading, className: cn("p-2 rounded-full bg-white/80 backdrop-blur-sm hover:bg-white transition-all duration-300 shadow-sm disabled:opacity-50 disabled:cursor-not-allowed", inWishlist ? "text-red-500" : "text-slate-600 hover:text-red-500"), title: inWishlist ? "Remove from wishlist" : "Add to wishlist", children: isLoading ? (_jsx(ButtonLoader, { className: "text-red-500" })) : (_jsx(Heart, { className: cn("h-4 w-4", inWishlist && "fill-current") })) })] }), _jsxs("div", { className: "absolute bottom-4 inset-x-4 flex items-center gap-2 opacity-0 translate-y-4 group-hover:opacity-100 group-hover:translate-y-0 transition-all duration-300 ease-out z-20", children: [_jsx(Link, { href: `/${storeSlug}/products/${product.slug}`, className: "h-10 w-10 flex items-center justify-center rounded-full bg-white text-slate-900 hover:bg-slate-900 hover:text-white border border-transparent shadow-lg transition-colors duration-200", title: "View Details", onClick: trackProductClick, children: _jsx(Eye, { className: "h-4 w-4" }) }), _jsxs(Button, { onClick: async (e) => {
|
|
130
|
+
return (_jsxs("div", { "data-product-card": true, className: cn("group relative flex flex-col h-full bg-white rounded-lg overflow-hidden border border-gray-100 hover:border-gray-300 transition-all duration-300 hover:shadow-md", className), onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [_jsxs("div", { className: "relative aspect-[3/4] bg-gray-50 overflow-hidden", children: [_jsx(Link, { href: `/${storeSlug}/products/${product.slug}`, onClick: handleProductClick, className: "block w-full h-full", children: _jsx(ImageWithFallback, { src: currentImage, alt: product.name, className: cn("w-full h-full object-cover transition-all duration-700 ease-in-out", isHovered && !hasSecondImage ? "scale-110" : "scale-100", isOutOfStock && "grayscale"), skeletonAspectRatio: "3/4", lazy: true }) }), isOutOfStock && (_jsx(OutOfStockOverlay, { badgePosition: "center" })), (isActiveLimitedTimeOffer(product) || product.compareAtPrice || (product.rating && product.rating >= 4.8)) && (_jsxs("div", { className: "absolute top-3 left-3 flex flex-col gap-2 z-10", children: [_jsx(LimitedTimeOfferBadge, { product: product, compact: true }), product.compareAtPrice != null && product.compareAtPrice > product.price && (_jsx("span", { className: "bg-red-500 text-white text-[10px] font-bold px-2.5 py-1 rounded-full uppercase tracking-wider shadow-sm", children: "Sale" })), !isActiveLimitedTimeOffer(product) && !product.compareAtPrice && product.rating && product.rating >= 4.8 && (_jsx("span", { className: "bg-white/90 backdrop-blur-sm text-slate-900 text-[10px] font-bold px-2.5 py-1 rounded-full uppercase tracking-wider shadow-sm border border-gray-100", children: "Top Rated" }))] })), _jsxs("div", { className: "absolute top-3 right-3 z-30 flex flex-col gap-2 opacity-0 group-hover:opacity-100 transform translate-x-2 group-hover:translate-x-0 transition-all duration-300", children: [_jsx("button", { type: "button", onClick: handleShareClick, className: "p-2 rounded-full bg-white/80 backdrop-blur-sm hover:bg-white transition-all duration-300 shadow-sm text-slate-600 hover:text-slate-900", title: "Share product", "aria-label": "Share product", children: _jsx(Share2, { className: "h-4 w-4" }) }), _jsx("button", { type: "button", onClick: handleWishlistClick, disabled: isLoading, className: cn("p-2 rounded-full bg-white/80 backdrop-blur-sm hover:bg-white transition-all duration-300 shadow-sm disabled:opacity-50 disabled:cursor-not-allowed", inWishlist ? "text-red-500" : "text-slate-600 hover:text-red-500"), title: inWishlist ? "Remove from wishlist" : "Add to wishlist", children: isLoading ? (_jsx(ButtonLoader, { className: "text-red-500" })) : (_jsx(Heart, { className: cn("h-4 w-4", inWishlist && "fill-current") })) })] }), _jsxs("div", { className: "absolute bottom-4 inset-x-4 flex items-center gap-2 opacity-0 translate-y-4 group-hover:opacity-100 group-hover:translate-y-0 transition-all duration-300 ease-out z-20", children: [_jsx(Link, { href: `/${storeSlug}/products/${product.slug}`, className: "h-10 w-10 flex items-center justify-center rounded-full bg-white text-slate-900 hover:bg-slate-900 hover:text-white border border-transparent shadow-lg transition-colors duration-200", title: "View Details", onClick: trackProductClick, children: _jsx(Eye, { className: "h-4 w-4" }) }), _jsxs(Button, { onClick: async (e) => {
|
|
131
131
|
e.preventDefault();
|
|
132
132
|
if (!isOutOfStock) {
|
|
133
133
|
await onAddToCart(product);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { Star } from 'lucide-react';
|
|
4
|
-
import { cn } from '../../lib/utils
|
|
4
|
+
import { cn } from '../../lib/utils';
|
|
5
5
|
/**
|
|
6
6
|
* Smart product rating component that handles:
|
|
7
7
|
* - Products with reviews: Shows rating and review count
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { CheckCircle, AlertTriangle, Info } from 'lucide-react';
|
|
4
|
-
import { cn } from '../../lib/utils
|
|
5
|
-
import { getProductStockInfo } from '../../lib/inventory-utils
|
|
4
|
+
import { cn } from '../../lib/utils';
|
|
5
|
+
import { getProductStockInfo } from '../../lib/inventory-utils';
|
|
6
6
|
const STATUS_STYLES = {
|
|
7
7
|
untracked: 'bg-green-100 text-green-800',
|
|
8
8
|
in_stock: 'bg-green-100 text-green-800',
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useState } from 'react';
|
|
4
4
|
import { Star, X } from 'lucide-react';
|
|
5
|
-
import { Button } from '../../components/ui/button
|
|
6
|
-
import { cn } from '../../lib/utils
|
|
5
|
+
import { Button } from '../../components/ui/button';
|
|
6
|
+
import { cn } from '../../lib/utils';
|
|
7
7
|
export function ReviewForm({ storeConfig, onClose, onSubmit }) {
|
|
8
8
|
const [rating, setRating] = useState(0);
|
|
9
9
|
const [hoverRating, setHoverRating] = useState(0);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { usePathname } from 'next/navigation';
|
|
4
|
-
import { ProductDetailSkeleton } from './skeletons/product-detail-skeleton
|
|
5
|
-
import { ProductGridSkeleton } from './skeletons/product-grid-skeleton
|
|
6
|
-
import { CategoryGridSkeleton } from './skeletons/category-grid-skeleton
|
|
7
|
-
import { PageSkeleton } from './skeletons/page-skeleton
|
|
8
|
-
import { CheckoutSkeleton } from './skeletons/checkout-skeleton
|
|
9
|
-
import { cn } from '../../lib/utils
|
|
4
|
+
import { ProductDetailSkeleton } from './skeletons/product-detail-skeleton';
|
|
5
|
+
import { ProductGridSkeleton } from './skeletons/product-grid-skeleton';
|
|
6
|
+
import { CategoryGridSkeleton } from './skeletons/category-grid-skeleton';
|
|
7
|
+
import { PageSkeleton } from './skeletons/page-skeleton';
|
|
8
|
+
import { CheckoutSkeleton } from './skeletons/checkout-skeleton';
|
|
9
|
+
import { cn } from '../../lib/utils';
|
|
10
10
|
export function RouteSkeletonLoader({ className, pathname: pathnameProp }) {
|
|
11
11
|
const pathnameFromHook = usePathname();
|
|
12
12
|
const pathname = pathnameProp || pathnameFromHook;
|
|
@@ -6,6 +6,7 @@ interface SheetProps {
|
|
|
6
6
|
children: React.ReactNode;
|
|
7
7
|
side?: 'left' | 'right';
|
|
8
8
|
className?: string;
|
|
9
|
+
style?: React.CSSProperties;
|
|
9
10
|
contentClassName?: string;
|
|
10
11
|
backdropClassName?: string;
|
|
11
12
|
closeButtonClassName?: string;
|
|
@@ -24,6 +25,6 @@ interface SheetProps {
|
|
|
24
25
|
/** SSO login sheet color-scheme hint for OS dark mode (light resists forced-dark). */
|
|
25
26
|
dataLoginPanel?: 'light' | 'dark';
|
|
26
27
|
}
|
|
27
|
-
export declare function Sheet({ isOpen, onClose, title, children, side, className, contentClassName, backdropClassName, closeButtonClassName, ariaLabelledBy, hideBuiltInTitle, showCloseButton, onOpenAutoFocus, portal, overlayTier, overlayMobileMode, dataLoginPanel, }: SheetProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export declare function Sheet({ isOpen, onClose, title, children, side, className, style, contentClassName, backdropClassName, closeButtonClassName, ariaLabelledBy, hideBuiltInTitle, showCloseButton, onOpenAutoFocus, portal, overlayTier, overlayMobileMode, dataLoginPanel, }: SheetProps): import("react/jsx-runtime").JSX.Element;
|
|
28
29
|
export {};
|
|
29
30
|
//# sourceMappingURL=sheet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../../src/components/ui/sheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,UAAU,UAAU;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yDAAyD;IACzD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,wFAAwF;IACxF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACpC,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC5C,sFAAsF;IACtF,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACnC;AAED,wBAAgB,KAAK,CAAC,EACpB,MAAM,EACN,OAAO,EACP,KAAK,EACL,QAAQ,EACR,IAAc,EACd,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,gBAAwB,EACxB,eAAsB,EACtB,eAAe,EACf,MAAc,EACd,WAAuB,EACvB,iBAA4B,EAC5B,cAAc,GACf,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../../src/components/ui/sheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,UAAU,UAAU;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yDAAyD;IACzD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,wFAAwF;IACxF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACpC,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC5C,sFAAsF;IACtF,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACnC;AAED,wBAAgB,KAAK,CAAC,EACpB,MAAM,EACN,OAAO,EACP,KAAK,EACL,QAAQ,EACR,IAAc,EACd,SAAS,EACT,KAAK,EACL,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,gBAAwB,EACxB,eAAsB,EACtB,eAAe,EACf,MAAc,EACd,WAAuB,EACvB,iBAA4B,EAC5B,cAAc,GACf,EAAE,UAAU,2CA+FZ"}
|
|
@@ -3,11 +3,11 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { createPortal } from 'react-dom';
|
|
5
5
|
import { X } from 'lucide-react';
|
|
6
|
-
import { cn } from '../../lib/utils
|
|
7
|
-
import { Button } from './button
|
|
6
|
+
import { cn } from '../../lib/utils';
|
|
7
|
+
import { Button } from './button';
|
|
8
8
|
/** Login / critical overlays — above sticky headers (z-60), search (z-100), sliders, etc. */
|
|
9
9
|
const OVERLAY_ROOT_Z = 'z-[9999]';
|
|
10
|
-
export function Sheet({ isOpen, onClose, title, children, side = 'right', className, contentClassName, backdropClassName, closeButtonClassName, ariaLabelledBy, hideBuiltInTitle = false, showCloseButton = true, onOpenAutoFocus, portal = false, overlayTier = 'default', overlayMobileMode = 'drawer', dataLoginPanel, }) {
|
|
10
|
+
export function Sheet({ isOpen, onClose, title, children, side = 'right', className, style, contentClassName, backdropClassName, closeButtonClassName, ariaLabelledBy, hideBuiltInTitle = false, showCloseButton = true, onOpenAutoFocus, portal = false, overlayTier = 'default', overlayMobileMode = 'drawer', dataLoginPanel, }) {
|
|
11
11
|
React.useEffect(() => {
|
|
12
12
|
const handleEscape = (e) => {
|
|
13
13
|
if (e.key === 'Escape')
|
|
@@ -37,7 +37,7 @@ export function Sheet({ isOpen, onClose, title, children, side = 'right', classN
|
|
|
37
37
|
const panelZ = isOverlay ? 'z-10' : 'z-[110]';
|
|
38
38
|
const sheetContent = (_jsxs("div", { className: cn(isOverlay && 'fixed inset-0', !isOverlay && 'contents', rootZ), children: [_jsx("div", { className: cn(isOverlay ? 'absolute inset-0' : 'fixed inset-0', backdropZ, 'transition-opacity', backdropClassName ?? 'bg-black/60 backdrop-blur-sm'), onClick: onClose, "aria-hidden": "true" }), _jsxs("div", { role: "dialog", "aria-modal": "true", "data-login-panel": dataLoginPanel, "aria-labelledby": ariaLabelledBy || (title && !hideBuiltInTitle ? 'sheet-title' : undefined), className: cn('bg-white shadow-xl transition ease-in-out duration-300 transform flex flex-col', isOverlay ? 'fixed top-0 bottom-0 h-dvh max-h-dvh supports-[height:100dvh]:h-dvh' : 'fixed', panelZ, side === 'left' ? 'left-0' : 'right-0', !isOverlay && (side === 'left' ? 'top-0 bottom-0 left-0' : 'top-0 bottom-0 right-0 h-dvh max-h-dvh'), overlayMobileMode === 'fullscreen' &&
|
|
39
39
|
isOverlay &&
|
|
40
|
-
'max-sm:inset-0 max-sm:left-0 max-sm:right-0 max-sm:w-screen max-sm:max-w-[100dvw] max-sm:rounded-none', 'w-full max-w-md translate-x-0 opacity-100 pointer-events-auto', className), children: [showCloseButton && !hideBuiltInTitle ? (_jsxs("div", { className: "flex items-center justify-between shrink-0 px-6 pt-6 pb-2", children: [title ? (_jsx("h2", { id: "sheet-title", className: "text-lg font-semibold text-[#1b0029]", children: title })) : (_jsx("span", {})), _jsx(Button, { variant: "ghost", size: "icon", onClick: onClose, className: cn('rounded-full shrink-0', closeButtonClassName), "aria-label": "Close", children: _jsx(X, { className: "h-4 w-4" }) })] })) : null, _jsx("div", { className: cn('flex-1 min-h-0 overflow-y-auto overflow-x-hidden py-px', contentClassName), children: children })] })] }));
|
|
40
|
+
'max-sm:inset-0 max-sm:left-0 max-sm:right-0 max-sm:w-screen max-sm:max-w-[100dvw] max-sm:rounded-none', 'w-full max-w-md translate-x-0 opacity-100 pointer-events-auto', className), style: style, children: [showCloseButton && !hideBuiltInTitle ? (_jsxs("div", { className: "flex items-center justify-between shrink-0 px-6 pt-6 pb-2", children: [title ? (_jsx("h2", { id: "sheet-title", className: "text-lg font-semibold text-[#1b0029]", children: title })) : (_jsx("span", {})), _jsx(Button, { variant: "ghost", size: "icon", onClick: onClose, className: cn('rounded-full shrink-0', closeButtonClassName), "aria-label": "Close", children: _jsx(X, { className: "h-4 w-4" }) })] })) : null, _jsx("div", { className: cn('flex-1 min-h-0 overflow-y-auto overflow-x-hidden py-px', contentClassName), children: children })] })] }));
|
|
41
41
|
if (portal && typeof document !== 'undefined') {
|
|
42
42
|
return createPortal(sheetContent, document.body);
|
|
43
43
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "../../lib/utils
|
|
2
|
+
import { cn } from "../../lib/utils";
|
|
3
3
|
function Skeleton({ className, ...props }) {
|
|
4
4
|
return (_jsx("div", { className: cn("animate-pulse rounded-md bg-gray-200/80", className), ...props }));
|
|
5
5
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { ProductCardSkeleton } from './product-card-skeleton
|
|
2
|
-
export { ProductGridSkeleton } from './product-grid-skeleton
|
|
3
|
-
export { ProductDetailSkeleton } from './product-detail-skeleton
|
|
4
|
-
export { CategoryGridSkeleton } from './category-grid-skeleton
|
|
5
|
-
export { PageSkeleton } from './page-skeleton
|
|
1
|
+
export { ProductCardSkeleton } from './product-card-skeleton';
|
|
2
|
+
export { ProductGridSkeleton } from './product-grid-skeleton';
|
|
3
|
+
export { ProductDetailSkeleton } from './product-detail-skeleton';
|
|
4
|
+
export { CategoryGridSkeleton } from './category-grid-skeleton';
|
|
5
|
+
export { PageSkeleton } from './page-skeleton';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { ProductCardSkeleton } from './product-card-skeleton
|
|
2
|
+
import { ProductCardSkeleton } from './product-card-skeleton';
|
|
3
3
|
export function ProductGridSkeleton({ count = 8, columns = 4 }) {
|
|
4
4
|
const gridCols = {
|
|
5
5
|
1: 'grid-cols-1',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-logos.d.ts","sourceRoot":"","sources":["../../../src/components/ui/store-logos.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,UAAU,SAAU,SAAQ,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,QAAQ,GAAI,uDAA+E,SAAS,4CA0ChH,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,uDAA+E,SAAS,4CAuBtH,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,uDAA+E,SAAS,4CAgCpH,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,uDAA+E,SAAS,4CAqB3H,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,uDAA+E,SAAS,4CA4BnH,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,uDAA+E,SAAS,4CAczH,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,uDAA+E,SAAS,4CA8BvH,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,uDAA+E,SAAS,4CAmB3H,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,uDAA+E,SAAS,4CA8BxH,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,OAAO,SAAS,4CAuB1D,CAAC;AAEF;;GAEG;AACH,UAAU,uBAAwB,SAAQ,SAAS;IACjD,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,SAAS,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"store-logos.d.ts","sourceRoot":"","sources":["../../../src/components/ui/store-logos.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,UAAU,SAAU,SAAQ,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,QAAQ,GAAI,uDAA+E,SAAS,4CA0ChH,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,uDAA+E,SAAS,4CAuBtH,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,uDAA+E,SAAS,4CAgCpH,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,uDAA+E,SAAS,4CAqB3H,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,uDAA+E,SAAS,4CA4BnH,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,uDAA+E,SAAS,4CAczH,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,uDAA+E,SAAS,4CA8BvH,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,uDAA+E,SAAS,4CAmB3H,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,uDAA+E,SAAS,4CA8BxH,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,OAAO,SAAS,4CAuB1D,CAAC;AAEF;;GAEG;AACH,UAAU,uBAAwB,SAAQ,SAAS;IACjD,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,SAAS,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,2CA2B3F;AAiBD;;GAEG;AACH,UAAU,oBAAqB,SAAQ,SAAS;IAC9C,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE;YACT,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;KACH,GAAG,IAAI,GAAG,SAAS,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,2CAyBxF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import Image from 'next/image';
|
|
3
|
-
import { cn } from '../../lib/utils
|
|
4
|
-
import { getLogoUrl } from '../../lib/utils/asset-helpers
|
|
3
|
+
import { cn } from '../../lib/utils';
|
|
4
|
+
import { getLogoUrl } from '../../lib/utils/asset-helpers';
|
|
5
5
|
export const FoodLogo = ({ className, primaryColor = '#FF6B35', secondaryColor = '#F7931E', ...props }) => (_jsxs("svg", { viewBox: "0 0 200 200", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: cn("w-10 h-10", className), ...props, children: [_jsx("path", { d: "M100 20C55.8172 20 20 55.8172 20 100C20 144.183 55.8172 180 100 180C144.183 180 180 144.183 180 100C180 55.8172 144.183 20 100 20Z", fill: primaryColor, fillOpacity: "0.1" }), _jsx("path", { d: "M130 90C130 90 125 60 100 60C75 60 70 90 70 90V110C70 126.569 83.4315 140 100 140C116.569 140 130 126.569 130 110V90Z", stroke: primaryColor, strokeWidth: "12", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M100 60V140", stroke: primaryColor, strokeWidth: "8", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M70 90H130", stroke: primaryColor, strokeWidth: "8", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M85 45C85 45 90 35 100 35C110 35 115 45 115 45", stroke: secondaryColor, strokeWidth: "6", strokeLinecap: "round", strokeLinejoin: "round" })] }));
|
|
6
6
|
export const FoodModernLogo = ({ className, primaryColor = '#FF6B35', secondaryColor = '#F7931E', ...props }) => (_jsxs("svg", { viewBox: "0 0 200 200", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: cn("w-10 h-10", className), ...props, children: [_jsx("rect", { width: "200", height: "200", rx: "40", fill: primaryColor }), _jsx("path", { d: "M140 70C140 70 130 50 100 50C70 50 60 70 60 70V120C60 142.091 77.9086 160 100 160C122.091 160 140 142.091 140 120V70Z", stroke: "white", strokeWidth: "12", strokeLinecap: "round" }), _jsx("path", { d: "M80 100L120 100", stroke: "white", strokeWidth: "12", strokeLinecap: "round" }), _jsx("circle", { cx: "150", cy: "50", r: "15", fill: secondaryColor })] }));
|
|
7
7
|
export const ClothingLogo = ({ className, primaryColor = '#EC4899', secondaryColor = '#FBCFE8', ...props }) => (_jsxs("svg", { viewBox: "0 0 200 200", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: cn("w-10 h-10", className), ...props, children: [_jsx("path", { d: "M100 30L40 70V160C40 171.046 48.9543 180 60 180H140C151.046 180 160 171.046 160 160V70L100 30Z", fill: secondaryColor, fillOpacity: "0.3", stroke: primaryColor, strokeWidth: "10", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M100 30V180", stroke: primaryColor, strokeWidth: "8", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M70 70L100 100L130 70", stroke: primaryColor, strokeWidth: "8", strokeLinecap: "round", strokeLinejoin: "round" })] }));
|
|
@@ -42,7 +42,7 @@ export function StoreLogo({ storeConfig, alt, className, ...props }) {
|
|
|
42
42
|
if (logoUrl) {
|
|
43
43
|
// Extract width/height from className if present, otherwise use defaults
|
|
44
44
|
const defaultSize = 40;
|
|
45
|
-
return (_jsx("div", { className: cn("relative flex items-center justify-center", className), children: _jsx(Image, { src: logoUrl, alt: alt || storeConfig?.name || 'Store Logo', fill: true, className: "object-contain"
|
|
45
|
+
return (_jsx("div", { className: cn("relative flex items-center justify-center", className), children: _jsx(Image, { src: logoUrl, alt: alt || storeConfig?.name || 'Store Logo', fill: true, className: "object-contain" }) }));
|
|
46
46
|
}
|
|
47
47
|
// Otherwise, fall back to default SVG logo
|
|
48
48
|
return getStoreLogo(storeType, {
|
|
@@ -71,7 +71,7 @@ export function StoreLogoSimple({ store, alt, className, ...props }) {
|
|
|
71
71
|
const storeType = store?.type || 'clothing';
|
|
72
72
|
// If backend logo exists, render it as an image
|
|
73
73
|
if (logoUrl) {
|
|
74
|
-
return (_jsx("div", { className: cn("relative flex items-center justify-center", className), children: _jsx(Image, { src: logoUrl, alt: alt || store?.name || 'Store Logo', fill: true, className: "object-contain"
|
|
74
|
+
return (_jsx("div", { className: cn("relative flex items-center justify-center", className), children: _jsx(Image, { src: logoUrl, alt: alt || store?.name || 'Store Logo', fill: true, className: "object-contain" }) }));
|
|
75
75
|
}
|
|
76
76
|
// Otherwise, fall back to default SVG logo
|
|
77
77
|
return getStoreLogo(storeType, {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { createContext, useContext, useState, useCallback } from 'react';
|
|
4
4
|
import { X, CheckCircle, AlertCircle, Info } from 'lucide-react';
|
|
5
|
-
import { cn } from '../../lib/utils
|
|
5
|
+
import { cn } from '../../lib/utils';
|
|
6
6
|
export const ToastContext = createContext(undefined);
|
|
7
7
|
export function ToastProvider({ children }) {
|
|
8
8
|
const [toasts, setToasts] = useState([]);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { useEffect, useRef, useState } from 'react';
|
|
4
|
-
import { parseVideoUrl, getBackgroundVideoEmbedUrl, getEmbedVideoUrl } from '../../lib/utils/video-helpers
|
|
5
|
-
import { cn } from '../../lib/utils
|
|
4
|
+
import { parseVideoUrl, getBackgroundVideoEmbedUrl, getEmbedVideoUrl } from '../../lib/utils/video-helpers';
|
|
5
|
+
import { cn } from '../../lib/utils';
|
|
6
6
|
export function VideoPlayer({ src, poster, context = 'inline', autoplay = false, controls = true, loop = false, muted = false, className, aspectRatio, onError, }) {
|
|
7
7
|
const [videoInfo, setVideoInfo] = useState(null);
|
|
8
8
|
const [hasError, setHasError] = useState(false);
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { ClothingSchema } from './clothing
|
|
2
|
-
import { ClothingMinimalSchema } from './clothing-minimal
|
|
3
|
-
import { FoodSchema } from './food
|
|
4
|
-
import { FoodModernSchema } from './food-modern
|
|
5
|
-
import { ElectronicsSchema } from './electronics
|
|
6
|
-
import { ElectronicsGridSchema } from './electronics-grid
|
|
7
|
-
import { BookingSchema } from './booking
|
|
8
|
-
import { BookingAgendaSchema } from './booking-agenda
|
|
9
|
-
import { MotivationalSpeakerSchema } from './motivational-speaker
|
|
10
|
-
export * from './types
|
|
11
|
-
export * from './metadata
|
|
12
|
-
export * from './clothing
|
|
13
|
-
export * from './clothing-minimal
|
|
14
|
-
export * from './food
|
|
15
|
-
export * from './food-modern
|
|
16
|
-
export * from './electronics
|
|
17
|
-
export * from './electronics-grid
|
|
18
|
-
export * from './booking
|
|
19
|
-
export * from './booking-agenda
|
|
20
|
-
export * from './motivational-speaker
|
|
1
|
+
import { ClothingSchema } from './clothing';
|
|
2
|
+
import { ClothingMinimalSchema } from './clothing-minimal';
|
|
3
|
+
import { FoodSchema } from './food';
|
|
4
|
+
import { FoodModernSchema } from './food-modern';
|
|
5
|
+
import { ElectronicsSchema } from './electronics';
|
|
6
|
+
import { ElectronicsGridSchema } from './electronics-grid';
|
|
7
|
+
import { BookingSchema } from './booking';
|
|
8
|
+
import { BookingAgendaSchema } from './booking-agenda';
|
|
9
|
+
import { MotivationalSpeakerSchema } from './motivational-speaker';
|
|
10
|
+
export * from './types';
|
|
11
|
+
export * from './metadata';
|
|
12
|
+
export * from './clothing';
|
|
13
|
+
export * from './clothing-minimal';
|
|
14
|
+
export * from './food';
|
|
15
|
+
export * from './food-modern';
|
|
16
|
+
export * from './electronics';
|
|
17
|
+
export * from './electronics-grid';
|
|
18
|
+
export * from './booking';
|
|
19
|
+
export * from './booking-agenda';
|
|
20
|
+
export * from './motivational-speaker';
|
|
21
21
|
export const alignmentSchemasMap = {
|
|
22
22
|
'clothing': ClothingSchema,
|
|
23
23
|
'fashion-hub': ClothingSchema,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { readDataAtPath } from '../payaza-form/data-transformer
|
|
2
|
-
import { getPayazaBlockDefinition } from '../blocks/registry
|
|
3
|
-
import { resolveAlignmentFieldLeaf } from './resolve-field
|
|
1
|
+
import { readDataAtPath } from '../payaza-form/data-transformer';
|
|
2
|
+
import { getPayazaBlockDefinition } from '../blocks/registry';
|
|
3
|
+
import { resolveAlignmentFieldLeaf } from './resolve-field';
|
|
4
4
|
function alignmentSchemaToMeta(leaf) {
|
|
5
5
|
const label = leaf.label || leaf._label || 'Field';
|
|
6
6
|
const description = leaf.description || leaf._description || undefined;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './types
|
|
2
|
-
export * from './registry
|
|
3
|
-
export * from './defaults/clothing-minimal-home
|
|
1
|
+
export * from './types';
|
|
2
|
+
export * from './registry';
|
|
3
|
+
export * from './defaults/clothing-minimal-home';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { deepClone } from '../../lib/utils
|
|
2
|
-
import { hasClothingMinimalMerchantSectionSignal } from '../../lib/layout-field-normalize
|
|
3
|
-
import { defaultClothingMinimalAboutBlocks, defaultClothingMinimalCategoriesBlocks, defaultClothingMinimalFeaturedProductsBlocks, defaultClothingMinimalFeaturesBlocks, defaultClothingMinimalHeroBlocks, defaultClothingMinimalPromoBlocks, getDefaultBlocksForClothingMinimalHomeSection, } from './defaults/clothing-minimal-home
|
|
1
|
+
import { deepClone } from '../../lib/utils';
|
|
2
|
+
import { hasClothingMinimalMerchantSectionSignal } from '../../lib/layout-field-normalize';
|
|
3
|
+
import { defaultClothingMinimalAboutBlocks, defaultClothingMinimalCategoriesBlocks, defaultClothingMinimalFeaturedProductsBlocks, defaultClothingMinimalFeaturesBlocks, defaultClothingMinimalHeroBlocks, defaultClothingMinimalPromoBlocks, getDefaultBlocksForClothingMinimalHomeSection, } from './defaults/clothing-minimal-home';
|
|
4
4
|
function richOrString(v) {
|
|
5
5
|
if (v == null)
|
|
6
6
|
return '';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { getPayazaBlockDefinition } from './registry
|
|
2
|
-
import { readDataAtPath } from '../payaza-form/data-transformer
|
|
1
|
+
import { getPayazaBlockDefinition } from './registry';
|
|
2
|
+
import { readDataAtPath } from '../payaza-form/data-transformer';
|
|
3
3
|
const ARRAY_FIELD_KEY_SET = new Set([
|
|
4
4
|
'sliders',
|
|
5
5
|
'items',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { deepMergeLayoutPayload } from '../../lib/layout-config-hydration
|
|
2
|
-
import { EDITOR_DOC_VERSION, SNAPSHOT_CONTENT_KEY } from './constants
|
|
3
|
-
import { SHOPAZA_BLOCK_TYPES, SHOPAZA_DOCUMENT_ROOT_ID, applySectionContentEntriesToStoreConfig, applyTemplateBlocksToStoreConfig, buildTemplateFromOverlay, hasStructuredBlockTree, mergeSectionEntriesIntoContent, } from './block-tree
|
|
4
|
-
import { validateEditorEnvelope } from './validate
|
|
1
|
+
import { deepMergeLayoutPayload } from '../../lib/layout-config-hydration';
|
|
2
|
+
import { EDITOR_DOC_VERSION, SNAPSHOT_CONTENT_KEY } from './constants';
|
|
3
|
+
import { SHOPAZA_BLOCK_TYPES, SHOPAZA_DOCUMENT_ROOT_ID, applySectionContentEntriesToStoreConfig, applyTemplateBlocksToStoreConfig, buildTemplateFromOverlay, hasStructuredBlockTree, mergeSectionEntriesIntoContent, } from './block-tree';
|
|
4
|
+
import { validateEditorEnvelope } from './validate';
|
|
5
5
|
function nowIso() {
|
|
6
6
|
return new Date().toISOString();
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './types
|
|
2
|
-
export * from './constants
|
|
3
|
-
export * from './validate
|
|
4
|
-
export * from './adapter
|
|
5
|
-
export * from './layout-id
|
|
6
|
-
export * from './block-tree
|
|
1
|
+
export * from './types';
|
|
2
|
+
export * from './constants';
|
|
3
|
+
export * from './validate';
|
|
4
|
+
export * from './adapter';
|
|
5
|
+
export * from './layout-id';
|
|
6
|
+
export * from './block-tree';
|
package/dist/editor/index.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
export * from './types
|
|
2
|
-
export * from './document
|
|
3
|
-
export * from './shared
|
|
4
|
-
export * from './feature-flags
|
|
1
|
+
export * from './types';
|
|
2
|
+
export * from './document';
|
|
3
|
+
export * from './shared';
|
|
4
|
+
export * from './feature-flags';
|
|
5
5
|
// Export PayazaForm editor (namespace for consumers that destructure PayazaForm)
|
|
6
|
-
export * as PayazaForm from './payaza-form
|
|
6
|
+
export * as PayazaForm from './payaza-form';
|
|
7
7
|
// Top-level named exports so consumers can also import directly:
|
|
8
8
|
// import { PayazaFormEditorFullPage, getFullInventory } from 'payaza-storefront-layouts/editor'
|
|
9
|
-
export { PayazaFormEditorFullPage, PayazaFormEditor } from './payaza-form
|
|
9
|
+
export { PayazaFormEditorFullPage, PayazaFormEditor } from './payaza-form';
|
|
10
10
|
// Also export asset selection handler directly for easier access
|
|
11
|
-
export { getGlobalAssetSelectionHandler } from './payaza-form/AssetSelectionContext
|
|
12
|
-
export { loadLayoutContentForEditor, hasRenderableLayoutContent, } from './layout-content-loader
|
|
13
|
-
export { extractPublishedLayoutConfig } from '../lib/layout-config-hydration
|
|
14
|
-
export { normalizeLayoutConfigFieldShapes, prepareLayoutPayloadForPublish, denormalizeClothingMinimalBlocksToSectionFields, } from '../lib/layout-field-normalize
|
|
15
|
-
export { mergeAllPagesWithActualData } from './payaza-form/data-merger
|
|
16
|
-
export { loadLayoutJSONSync } from './payaza-form/layout-loader
|
|
11
|
+
export { getGlobalAssetSelectionHandler } from './payaza-form/AssetSelectionContext';
|
|
12
|
+
export { loadLayoutContentForEditor, hasRenderableLayoutContent, } from './layout-content-loader';
|
|
13
|
+
export { extractPublishedLayoutConfig } from '../lib/layout-config-hydration';
|
|
14
|
+
export { normalizeLayoutConfigFieldShapes, prepareLayoutPayloadForPublish, denormalizeClothingMinimalBlocksToSectionFields, } from '../lib/layout-field-normalize';
|
|
15
|
+
export { mergeAllPagesWithActualData } from './payaza-form/data-merger';
|
|
16
|
+
export { loadLayoutJSONSync } from './payaza-form/layout-loader';
|
|
17
17
|
/**
|
|
18
18
|
* Helper to get the full inventory of all layouts
|
|
19
19
|
* Now uses alignment-schemas instead of requirements JSON
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { envelopeToStoreConfig } from './document/adapter
|
|
2
|
-
import { validateEditorEnvelope } from './document/validate
|
|
3
|
-
import { extractPublishedLayoutConfig, hydratePublishedLayoutPayload, hasRenderableLayoutContent as hasRenderableLayoutContentFromHydration, } from '../lib/layout-config-hydration
|
|
1
|
+
import { envelopeToStoreConfig } from './document/adapter';
|
|
2
|
+
import { validateEditorEnvelope } from './document/validate';
|
|
3
|
+
import { extractPublishedLayoutConfig, hydratePublishedLayoutPayload, hasRenderableLayoutContent as hasRenderableLayoutContentFromHydration, } from '../lib/layout-config-hydration';
|
|
4
4
|
export { extractPublishedLayoutConfig, hydratePublishedLayoutPayload };
|
|
5
5
|
function isUnsplashDefaultUrl(url) {
|
|
6
6
|
return /images\.unsplash\.com|unsplash\.com/i.test(url);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState, memo } from 'react';
|
|
3
3
|
import { GripVertical, Plus, Copy, Trash2, ChevronUp, ChevronDown } from 'lucide-react';
|
|
4
|
-
import { getFieldRenderer } from './field-renderer-ref
|
|
5
|
-
import { SliderArrayEditor } from './SliderArrayEditor
|
|
4
|
+
import { getFieldRenderer } from './field-renderer-ref';
|
|
5
|
+
import { SliderArrayEditor } from './SliderArrayEditor';
|
|
6
6
|
function isSliderMode(itemEditor, arrayFieldKey) {
|
|
7
7
|
if (itemEditor === 'slider')
|
|
8
8
|
return true;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { useCallback, useRef } from 'react';
|
|
4
|
-
import { IframePreview } from '../shared/IframePreview
|
|
5
|
-
import { InlineCanvasPreview } from '../shared/InlineCanvasPreview
|
|
6
|
-
import { shouldUseInlineEditorPreview } from '../../lib/utils/mobile-editor
|
|
7
|
-
import { useAssetSelection } from './AssetSelectionContext
|
|
8
|
-
import { processPreviewMessage } from './preview-message-handler
|
|
4
|
+
import { IframePreview } from '../shared/IframePreview';
|
|
5
|
+
import { InlineCanvasPreview } from '../shared/InlineCanvasPreview';
|
|
6
|
+
import { shouldUseInlineEditorPreview } from '../../lib/utils/mobile-editor';
|
|
7
|
+
import { useAssetSelection } from './AssetSelectionContext';
|
|
8
|
+
import { processPreviewMessage } from './preview-message-handler';
|
|
9
9
|
export function EditorCanvasPreview({ layoutId, config, activePageId, viewMode, selectedSection, focusedField, interactionMode, slideIndexSync, flushRequestId, previewZoom, editorContext, onSectionSelected, onFieldCommit, onSectionReorder, onFocusSidebarSection, onPreviewElementFocus, onRouteChange, previewFlushRef, iframePreviewFlushRef, }) {
|
|
10
10
|
const useInline = shouldUseInlineEditorPreview();
|
|
11
11
|
const { onOpenAssetSelect } = useAssetSelection();
|