@lexsis/storefront-components 1.0.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/dist/PageRenderer.d.ts +8 -0
- package/dist/PageRenderer.d.ts.map +1 -0
- package/dist/PageRenderer.js +116 -0
- package/dist/PageRenderer.js.map +1 -0
- package/dist/SectionSkeleton.d.ts +2 -0
- package/dist/SectionSkeleton.d.ts.map +1 -0
- package/dist/SectionSkeleton.js +5 -0
- package/dist/SectionSkeleton.js.map +1 -0
- package/dist/ThemeContext.d.ts +11 -0
- package/dist/ThemeContext.d.ts.map +1 -0
- package/dist/ThemeContext.js +13 -0
- package/dist/ThemeContext.js.map +1 -0
- package/dist/ThemeProvider.d.ts +9 -0
- package/dist/ThemeProvider.d.ts.map +1 -0
- package/dist/ThemeProvider.js +227 -0
- package/dist/ThemeProvider.js.map +1 -0
- package/dist/ThemeToggle.d.ts +6 -0
- package/dist/ThemeToggle.d.ts.map +1 -0
- package/dist/ThemeToggle.js +26 -0
- package/dist/ThemeToggle.js.map +1 -0
- package/dist/animations/advanced-hooks.d.ts +36 -0
- package/dist/animations/advanced-hooks.d.ts.map +1 -0
- package/dist/animations/advanced-hooks.js +106 -0
- package/dist/animations/advanced-hooks.js.map +1 -0
- package/dist/animations/canvas-utils.d.ts +41 -0
- package/dist/animations/canvas-utils.d.ts.map +1 -0
- package/dist/animations/canvas-utils.js +115 -0
- package/dist/animations/canvas-utils.js.map +1 -0
- package/dist/animations/hooks.d.ts +48 -0
- package/dist/animations/hooks.d.ts.map +1 -0
- package/dist/animations/hooks.js +50 -0
- package/dist/animations/hooks.js.map +1 -0
- package/dist/animations/index.d.ts +4 -0
- package/dist/animations/index.d.ts.map +1 -0
- package/dist/animations/index.js +4 -0
- package/dist/animations/index.js.map +1 -0
- package/dist/animations/presets.d.ts +43 -0
- package/dist/animations/presets.d.ts.map +1 -0
- package/dist/animations/presets.js +278 -0
- package/dist/animations/presets.js.map +1 -0
- package/dist/animations/variants.d.ts +15 -0
- package/dist/animations/variants.d.ts.map +1 -0
- package/dist/animations/variants.js +90 -0
- package/dist/animations/variants.js.map +1 -0
- package/dist/backgrounds/BackgroundSection.d.ts +3 -0
- package/dist/backgrounds/BackgroundSection.d.ts.map +1 -0
- package/dist/backgrounds/BackgroundSection.js +205 -0
- package/dist/backgrounds/BackgroundSection.js.map +1 -0
- package/dist/buttons/ButtonSection.d.ts +3 -0
- package/dist/buttons/ButtonSection.d.ts.map +1 -0
- package/dist/buttons/ButtonSection.js +150 -0
- package/dist/buttons/ButtonSection.js.map +1 -0
- package/dist/cards/CardStack.d.ts +3 -0
- package/dist/cards/CardStack.d.ts.map +1 -0
- package/dist/cards/CardStack.js +140 -0
- package/dist/cards/CardStack.js.map +1 -0
- package/dist/cards/FeatureCard.d.ts +3 -0
- package/dist/cards/FeatureCard.d.ts.map +1 -0
- package/dist/cards/FeatureCard.js +100 -0
- package/dist/cards/FeatureCard.js.map +1 -0
- package/dist/cards/FeaturedCard.d.ts +3 -0
- package/dist/cards/FeaturedCard.d.ts.map +1 -0
- package/dist/cards/FeaturedCard.js +66 -0
- package/dist/cards/FeaturedCard.js.map +1 -0
- package/dist/cards/TerminalCard.d.ts +3 -0
- package/dist/cards/TerminalCard.d.ts.map +1 -0
- package/dist/cards/TerminalCard.js +73 -0
- package/dist/cards/TerminalCard.js.map +1 -0
- package/dist/cards/TestimonialCard.d.ts +3 -0
- package/dist/cards/TestimonialCard.d.ts.map +1 -0
- package/dist/cards/TestimonialCard.js +50 -0
- package/dist/cards/TestimonialCard.js.map +1 -0
- package/dist/cards/index.d.ts +2 -0
- package/dist/cards/index.d.ts.map +1 -0
- package/dist/cards/index.js +2 -0
- package/dist/cards/index.js.map +1 -0
- package/dist/cart/CartCheckoutBar.d.ts +3 -0
- package/dist/cart/CartCheckoutBar.d.ts.map +1 -0
- package/dist/cart/CartCheckoutBar.js +258 -0
- package/dist/cart/CartCheckoutBar.js.map +1 -0
- package/dist/cart/CartDiscount.d.ts +3 -0
- package/dist/cart/CartDiscount.d.ts.map +1 -0
- package/dist/cart/CartDiscount.js +78 -0
- package/dist/cart/CartDiscount.js.map +1 -0
- package/dist/cart/CartDrawer.d.ts +3 -0
- package/dist/cart/CartDrawer.d.ts.map +1 -0
- package/dist/cart/CartDrawer.js +141 -0
- package/dist/cart/CartDrawer.js.map +1 -0
- package/dist/cart/CartLines.d.ts +3 -0
- package/dist/cart/CartLines.d.ts.map +1 -0
- package/dist/cart/CartLines.js +227 -0
- package/dist/cart/CartLines.js.map +1 -0
- package/dist/cart/CartPage.d.ts +3 -0
- package/dist/cart/CartPage.d.ts.map +1 -0
- package/dist/cart/CartPage.js +128 -0
- package/dist/cart/CartPage.js.map +1 -0
- package/dist/cart/CartSummary.d.ts +3 -0
- package/dist/cart/CartSummary.d.ts.map +1 -0
- package/dist/cart/CartSummary.js +155 -0
- package/dist/cart/CartSummary.js.map +1 -0
- package/dist/cart/CartTrigger.d.ts +3 -0
- package/dist/cart/CartTrigger.d.ts.map +1 -0
- package/dist/cart/CartTrigger.js +45 -0
- package/dist/cart/CartTrigger.js.map +1 -0
- package/dist/cart/GuaranteeBanner.d.ts +3 -0
- package/dist/cart/GuaranteeBanner.d.ts.map +1 -0
- package/dist/cart/GuaranteeBanner.js +15 -0
- package/dist/cart/GuaranteeBanner.js.map +1 -0
- package/dist/cart/index.d.ts +8 -0
- package/dist/cart/index.d.ts.map +1 -0
- package/dist/cart/index.js +8 -0
- package/dist/cart/index.js.map +1 -0
- package/dist/content/BeforeAfterSlider.d.ts +3 -0
- package/dist/content/BeforeAfterSlider.d.ts.map +1 -0
- package/dist/content/BeforeAfterSlider.js +61 -0
- package/dist/content/BeforeAfterSlider.js.map +1 -0
- package/dist/content/ImageTextSplit.d.ts +3 -0
- package/dist/content/ImageTextSplit.d.ts.map +1 -0
- package/dist/content/ImageTextSplit.js +33 -0
- package/dist/content/ImageTextSplit.js.map +1 -0
- package/dist/content/LookbookGrid.d.ts +3 -0
- package/dist/content/LookbookGrid.d.ts.map +1 -0
- package/dist/content/LookbookGrid.js +183 -0
- package/dist/content/LookbookGrid.js.map +1 -0
- package/dist/content/ParallaxSection.d.ts +3 -0
- package/dist/content/ParallaxSection.d.ts.map +1 -0
- package/dist/content/ParallaxSection.js +66 -0
- package/dist/content/ParallaxSection.js.map +1 -0
- package/dist/content/RichText.d.ts +3 -0
- package/dist/content/RichText.d.ts.map +1 -0
- package/dist/content/RichText.js +21 -0
- package/dist/content/RichText.js.map +1 -0
- package/dist/content/index.d.ts +5 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +5 -0
- package/dist/content/index.js.map +1 -0
- package/dist/content-types.d.ts +637 -0
- package/dist/content-types.d.ts.map +1 -0
- package/dist/content-types.js +2 -0
- package/dist/content-types.js.map +1 -0
- package/dist/context/LxCartContext.d.ts +71 -0
- package/dist/context/LxCartContext.d.ts.map +1 -0
- package/dist/context/LxCartContext.js +491 -0
- package/dist/context/LxCartContext.js.map +1 -0
- package/dist/context/LxEditorContext.d.ts +8 -0
- package/dist/context/LxEditorContext.d.ts.map +1 -0
- package/dist/context/LxEditorContext.js +10 -0
- package/dist/context/LxEditorContext.js.map +1 -0
- package/dist/context/LxPDPContext.d.ts +39 -0
- package/dist/context/LxPDPContext.d.ts.map +1 -0
- package/dist/context/LxPDPContext.js +52 -0
- package/dist/context/LxPDPContext.js.map +1 -0
- package/dist/cta/CtaFullWidth.d.ts +3 -0
- package/dist/cta/CtaFullWidth.d.ts.map +1 -0
- package/dist/cta/CtaFullWidth.js +30 -0
- package/dist/cta/CtaFullWidth.js.map +1 -0
- package/dist/cta/CtaStickyBottom.d.ts +3 -0
- package/dist/cta/CtaStickyBottom.d.ts.map +1 -0
- package/dist/cta/CtaStickyBottom.js +43 -0
- package/dist/cta/CtaStickyBottom.js.map +1 -0
- package/dist/cta/GuaranteeCta.d.ts +3 -0
- package/dist/cta/GuaranteeCta.d.ts.map +1 -0
- package/dist/cta/GuaranteeCta.js +27 -0
- package/dist/cta/GuaranteeCta.js.map +1 -0
- package/dist/cta/NewsletterSignup.d.ts +3 -0
- package/dist/cta/NewsletterSignup.d.ts.map +1 -0
- package/dist/cta/NewsletterSignup.js +35 -0
- package/dist/cta/NewsletterSignup.js.map +1 -0
- package/dist/cta/Popup.d.ts +3 -0
- package/dist/cta/Popup.d.ts.map +1 -0
- package/dist/cta/Popup.js +208 -0
- package/dist/cta/Popup.js.map +1 -0
- package/dist/cta/UrgencyCta.d.ts +3 -0
- package/dist/cta/UrgencyCta.d.ts.map +1 -0
- package/dist/cta/UrgencyCta.js +85 -0
- package/dist/cta/UrgencyCta.js.map +1 -0
- package/dist/cta/WaitlistCta.d.ts +3 -0
- package/dist/cta/WaitlistCta.d.ts.map +1 -0
- package/dist/cta/WaitlistCta.js +62 -0
- package/dist/cta/WaitlistCta.js.map +1 -0
- package/dist/cta/index.d.ts +3 -0
- package/dist/cta/index.d.ts.map +1 -0
- package/dist/cta/index.js +3 -0
- package/dist/cta/index.js.map +1 -0
- package/dist/effects/AnimatedBackground.d.ts +22 -0
- package/dist/effects/AnimatedBackground.d.ts.map +1 -0
- package/dist/effects/AnimatedBackground.js +313 -0
- package/dist/effects/AnimatedBackground.js.map +1 -0
- package/dist/effects/CanvasReveal.d.ts +5 -0
- package/dist/effects/CanvasReveal.d.ts.map +1 -0
- package/dist/effects/CanvasReveal.js +104 -0
- package/dist/effects/CanvasReveal.js.map +1 -0
- package/dist/effects/DecorativeOverlay.d.ts +10 -0
- package/dist/effects/DecorativeOverlay.d.ts.map +1 -0
- package/dist/effects/DecorativeOverlay.js +76 -0
- package/dist/effects/DecorativeOverlay.js.map +1 -0
- package/dist/effects/ScrollLinked.d.ts +3 -0
- package/dist/effects/ScrollLinked.d.ts.map +1 -0
- package/dist/effects/ScrollLinked.js +57 -0
- package/dist/effects/ScrollLinked.js.map +1 -0
- package/dist/effects/svg-library.d.ts +3 -0
- package/dist/effects/svg-library.d.ts.map +1 -0
- package/dist/effects/svg-library.js +105 -0
- package/dist/effects/svg-library.js.map +1 -0
- package/dist/faq/FaqAccordion.d.ts +3 -0
- package/dist/faq/FaqAccordion.d.ts.map +1 -0
- package/dist/faq/FaqAccordion.js +39 -0
- package/dist/faq/FaqAccordion.js.map +1 -0
- package/dist/faq/FaqTwoColumn.d.ts +3 -0
- package/dist/faq/FaqTwoColumn.d.ts.map +1 -0
- package/dist/faq/FaqTwoColumn.js +38 -0
- package/dist/faq/FaqTwoColumn.js.map +1 -0
- package/dist/faq/index.d.ts +3 -0
- package/dist/faq/index.d.ts.map +1 -0
- package/dist/faq/index.js +3 -0
- package/dist/faq/index.js.map +1 -0
- package/dist/features/BentoGrid.d.ts +3 -0
- package/dist/features/BentoGrid.d.ts.map +1 -0
- package/dist/features/BentoGrid.js +62 -0
- package/dist/features/BentoGrid.js.map +1 -0
- package/dist/features/FeatureGrid.d.ts +3 -0
- package/dist/features/FeatureGrid.d.ts.map +1 -0
- package/dist/features/FeatureGrid.js +89 -0
- package/dist/features/FeatureGrid.js.map +1 -0
- package/dist/features/FeatureTabs.d.ts +3 -0
- package/dist/features/FeatureTabs.d.ts.map +1 -0
- package/dist/features/FeatureTabs.js +64 -0
- package/dist/features/FeatureTabs.js.map +1 -0
- package/dist/features/ProcessSteps.d.ts +3 -0
- package/dist/features/ProcessSteps.d.ts.map +1 -0
- package/dist/features/ProcessSteps.js +74 -0
- package/dist/features/ProcessSteps.js.map +1 -0
- package/dist/heroes/HeroActivity.d.ts +3 -0
- package/dist/heroes/HeroActivity.d.ts.map +1 -0
- package/dist/heroes/HeroActivity.js +54 -0
- package/dist/heroes/HeroActivity.js.map +1 -0
- package/dist/heroes/HeroAnimated.d.ts +3 -0
- package/dist/heroes/HeroAnimated.d.ts.map +1 -0
- package/dist/heroes/HeroAnimated.js +101 -0
- package/dist/heroes/HeroAnimated.js.map +1 -0
- package/dist/heroes/HeroAurora.d.ts +3 -0
- package/dist/heroes/HeroAurora.d.ts.map +1 -0
- package/dist/heroes/HeroAurora.js +53 -0
- package/dist/heroes/HeroAurora.js.map +1 -0
- package/dist/heroes/HeroCarousel.d.ts +3 -0
- package/dist/heroes/HeroCarousel.d.ts.map +1 -0
- package/dist/heroes/HeroCarousel.js +187 -0
- package/dist/heroes/HeroCarousel.js.map +1 -0
- package/dist/heroes/HeroCentered.d.ts +3 -0
- package/dist/heroes/HeroCentered.d.ts.map +1 -0
- package/dist/heroes/HeroCentered.js +62 -0
- package/dist/heroes/HeroCentered.js.map +1 -0
- package/dist/heroes/HeroCinematicFullbleed.d.ts +3 -0
- package/dist/heroes/HeroCinematicFullbleed.d.ts.map +1 -0
- package/dist/heroes/HeroCinematicFullbleed.js +44 -0
- package/dist/heroes/HeroCinematicFullbleed.js.map +1 -0
- package/dist/heroes/HeroCountdown.d.ts +3 -0
- package/dist/heroes/HeroCountdown.d.ts.map +1 -0
- package/dist/heroes/HeroCountdown.js +64 -0
- package/dist/heroes/HeroCountdown.js.map +1 -0
- package/dist/heroes/HeroDarkSplitSticker.d.ts +3 -0
- package/dist/heroes/HeroDarkSplitSticker.d.ts.map +1 -0
- package/dist/heroes/HeroDarkSplitSticker.js +39 -0
- package/dist/heroes/HeroDarkSplitSticker.js.map +1 -0
- package/dist/heroes/HeroEditorial.d.ts +3 -0
- package/dist/heroes/HeroEditorial.d.ts.map +1 -0
- package/dist/heroes/HeroEditorial.js +30 -0
- package/dist/heroes/HeroEditorial.js.map +1 -0
- package/dist/heroes/HeroEditorialMinimal.d.ts +3 -0
- package/dist/heroes/HeroEditorialMinimal.d.ts.map +1 -0
- package/dist/heroes/HeroEditorialMinimal.js +47 -0
- package/dist/heroes/HeroEditorialMinimal.js.map +1 -0
- package/dist/heroes/HeroFullBleed.d.ts +3 -0
- package/dist/heroes/HeroFullBleed.d.ts.map +1 -0
- package/dist/heroes/HeroFullBleed.js +136 -0
- package/dist/heroes/HeroFullBleed.js.map +1 -0
- package/dist/heroes/HeroMini.d.ts +3 -0
- package/dist/heroes/HeroMini.d.ts.map +1 -0
- package/dist/heroes/HeroMini.js +25 -0
- package/dist/heroes/HeroMini.js.map +1 -0
- package/dist/heroes/HeroParallax.d.ts +3 -0
- package/dist/heroes/HeroParallax.d.ts.map +1 -0
- package/dist/heroes/HeroParallax.js +71 -0
- package/dist/heroes/HeroParallax.js.map +1 -0
- package/dist/heroes/HeroRetroCentered.d.ts +3 -0
- package/dist/heroes/HeroRetroCentered.d.ts.map +1 -0
- package/dist/heroes/HeroRetroCentered.js +49 -0
- package/dist/heroes/HeroRetroCentered.js.map +1 -0
- package/dist/heroes/HeroSplit.d.ts +3 -0
- package/dist/heroes/HeroSplit.d.ts.map +1 -0
- package/dist/heroes/HeroSplit.js +81 -0
- package/dist/heroes/HeroSplit.js.map +1 -0
- package/dist/heroes/HeroSpotlight.d.ts +3 -0
- package/dist/heroes/HeroSpotlight.d.ts.map +1 -0
- package/dist/heroes/HeroSpotlight.js +60 -0
- package/dist/heroes/HeroSpotlight.js.map +1 -0
- package/dist/heroes/HeroTrustSplit.d.ts +3 -0
- package/dist/heroes/HeroTrustSplit.d.ts.map +1 -0
- package/dist/heroes/HeroTrustSplit.js +53 -0
- package/dist/heroes/HeroTrustSplit.js.map +1 -0
- package/dist/heroes/HeroTypewriter.d.ts +3 -0
- package/dist/heroes/HeroTypewriter.d.ts.map +1 -0
- package/dist/heroes/HeroTypewriter.js +80 -0
- package/dist/heroes/HeroTypewriter.js.map +1 -0
- package/dist/heroes/index.d.ts +12 -0
- package/dist/heroes/index.d.ts.map +1 -0
- package/dist/heroes/index.js +12 -0
- package/dist/heroes/index.js.map +1 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/layout/Footer.d.ts +3 -0
- package/dist/layout/Footer.d.ts.map +1 -0
- package/dist/layout/Footer.js +75 -0
- package/dist/layout/Footer.js.map +1 -0
- package/dist/layout/Navbar.d.ts +3 -0
- package/dist/layout/Navbar.d.ts.map +1 -0
- package/dist/layout/Navbar.js +81 -0
- package/dist/layout/Navbar.js.map +1 -0
- package/dist/layout/PromoTopBar.d.ts +3 -0
- package/dist/layout/PromoTopBar.d.ts.map +1 -0
- package/dist/layout/PromoTopBar.js +201 -0
- package/dist/layout/PromoTopBar.js.map +1 -0
- package/dist/layout/SectionDivider.d.ts +3 -0
- package/dist/layout/SectionDivider.d.ts.map +1 -0
- package/dist/layout/SectionDivider.js +13 -0
- package/dist/layout/SectionDivider.js.map +1 -0
- package/dist/layout/SectionTransition.d.ts +3 -0
- package/dist/layout/SectionTransition.d.ts.map +1 -0
- package/dist/layout/SectionTransition.js +60 -0
- package/dist/layout/SectionTransition.js.map +1 -0
- package/dist/layout/Ticker.d.ts +3 -0
- package/dist/layout/Ticker.d.ts.map +1 -0
- package/dist/layout/Ticker.js +32 -0
- package/dist/layout/Ticker.js.map +1 -0
- package/dist/layout/index.d.ts +6 -0
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/layout/index.js +6 -0
- package/dist/layout/index.js.map +1 -0
- package/dist/personalization/CartRecovery.d.ts +3 -0
- package/dist/personalization/CartRecovery.d.ts.map +1 -0
- package/dist/personalization/CartRecovery.js +224 -0
- package/dist/personalization/CartRecovery.js.map +1 -0
- package/dist/personalization/CohortTrustStack.d.ts +3 -0
- package/dist/personalization/CohortTrustStack.d.ts.map +1 -0
- package/dist/personalization/CohortTrustStack.js +101 -0
- package/dist/personalization/CohortTrustStack.js.map +1 -0
- package/dist/personalization/LiveActivityTicker.d.ts +3 -0
- package/dist/personalization/LiveActivityTicker.d.ts.map +1 -0
- package/dist/personalization/LiveActivityTicker.js +137 -0
- package/dist/personalization/LiveActivityTicker.js.map +1 -0
- package/dist/personalization/LoyaltyStatus.d.ts +3 -0
- package/dist/personalization/LoyaltyStatus.d.ts.map +1 -0
- package/dist/personalization/LoyaltyStatus.js +185 -0
- package/dist/personalization/LoyaltyStatus.js.map +1 -0
- package/dist/personalization/PersonalizedGreeting.d.ts +3 -0
- package/dist/personalization/PersonalizedGreeting.d.ts.map +1 -0
- package/dist/personalization/PersonalizedGreeting.js +176 -0
- package/dist/personalization/PersonalizedGreeting.js.map +1 -0
- package/dist/personalization/PersonalizedRecommendations.d.ts +3 -0
- package/dist/personalization/PersonalizedRecommendations.d.ts.map +1 -0
- package/dist/personalization/PersonalizedRecommendations.js +156 -0
- package/dist/personalization/PersonalizedRecommendations.js.map +1 -0
- package/dist/personalization/ProgressMilestone.d.ts +3 -0
- package/dist/personalization/ProgressMilestone.d.ts.map +1 -0
- package/dist/personalization/ProgressMilestone.js +127 -0
- package/dist/personalization/ProgressMilestone.js.map +1 -0
- package/dist/personalization/ReengagementBanner.d.ts +3 -0
- package/dist/personalization/ReengagementBanner.d.ts.map +1 -0
- package/dist/personalization/ReengagementBanner.js +185 -0
- package/dist/personalization/ReengagementBanner.js.map +1 -0
- package/dist/personalization/ScarcityIndicator.d.ts +3 -0
- package/dist/personalization/ScarcityIndicator.d.ts.map +1 -0
- package/dist/personalization/ScarcityIndicator.js +264 -0
- package/dist/personalization/ScarcityIndicator.js.map +1 -0
- package/dist/personalization/VipGate.d.ts +3 -0
- package/dist/personalization/VipGate.d.ts.map +1 -0
- package/dist/personalization/VipGate.js +309 -0
- package/dist/personalization/VipGate.js.map +1 -0
- package/dist/placeholder/UnknownComponent.d.ts +6 -0
- package/dist/placeholder/UnknownComponent.d.ts.map +1 -0
- package/dist/placeholder/UnknownComponent.js +5 -0
- package/dist/placeholder/UnknownComponent.js.map +1 -0
- package/dist/pricing/PricingCards.d.ts +3 -0
- package/dist/pricing/PricingCards.d.ts.map +1 -0
- package/dist/pricing/PricingCards.js +143 -0
- package/dist/pricing/PricingCards.js.map +1 -0
- package/dist/primitives/AspectBox.d.ts +12 -0
- package/dist/primitives/AspectBox.d.ts.map +1 -0
- package/dist/primitives/AspectBox.js +15 -0
- package/dist/primitives/AspectBox.js.map +1 -0
- package/dist/primitives/CursorSpotlight.d.ts +11 -0
- package/dist/primitives/CursorSpotlight.d.ts.map +1 -0
- package/dist/primitives/CursorSpotlight.js +21 -0
- package/dist/primitives/CursorSpotlight.js.map +1 -0
- package/dist/primitives/HeadlineEffect.d.ts +16 -0
- package/dist/primitives/HeadlineEffect.d.ts.map +1 -0
- package/dist/primitives/HeadlineEffect.js +187 -0
- package/dist/primitives/HeadlineEffect.js.map +1 -0
- package/dist/primitives/Marquee.d.ts +11 -0
- package/dist/primitives/Marquee.d.ts.map +1 -0
- package/dist/primitives/Marquee.js +22 -0
- package/dist/primitives/Marquee.js.map +1 -0
- package/dist/primitives/MediaFlip.d.ts +16 -0
- package/dist/primitives/MediaFlip.d.ts.map +1 -0
- package/dist/primitives/MediaFlip.js +118 -0
- package/dist/primitives/MediaFlip.js.map +1 -0
- package/dist/primitives/MediaLoop.d.ts +15 -0
- package/dist/primitives/MediaLoop.d.ts.map +1 -0
- package/dist/primitives/MediaLoop.js +31 -0
- package/dist/primitives/MediaLoop.js.map +1 -0
- package/dist/primitives/PDPGallery.d.ts +24 -0
- package/dist/primitives/PDPGallery.d.ts.map +1 -0
- package/dist/primitives/PDPGallery.js +128 -0
- package/dist/primitives/PDPGallery.js.map +1 -0
- package/dist/primitives/TiltCard.d.ts +12 -0
- package/dist/primitives/TiltCard.d.ts.map +1 -0
- package/dist/primitives/TiltCard.js +41 -0
- package/dist/primitives/TiltCard.js.map +1 -0
- package/dist/product/BundleBuilder.d.ts +3 -0
- package/dist/product/BundleBuilder.d.ts.map +1 -0
- package/dist/product/BundleBuilder.js +34 -0
- package/dist/product/BundleBuilder.js.map +1 -0
- package/dist/product/BuyBox.d.ts +3 -0
- package/dist/product/BuyBox.d.ts.map +1 -0
- package/dist/product/BuyBox.js +398 -0
- package/dist/product/BuyBox.js.map +1 -0
- package/dist/product/ComparisonTable.d.ts +3 -0
- package/dist/product/ComparisonTable.d.ts.map +1 -0
- package/dist/product/ComparisonTable.js +59 -0
- package/dist/product/ComparisonTable.js.map +1 -0
- package/dist/product/FormatGrid.d.ts +3 -0
- package/dist/product/FormatGrid.d.ts.map +1 -0
- package/dist/product/FormatGrid.js +28 -0
- package/dist/product/FormatGrid.js.map +1 -0
- package/dist/product/PDPVariants.d.ts +3 -0
- package/dist/product/PDPVariants.d.ts.map +1 -0
- package/dist/product/PDPVariants.js +284 -0
- package/dist/product/PDPVariants.js.map +1 -0
- package/dist/product/PillNav.d.ts +3 -0
- package/dist/product/PillNav.d.ts.map +1 -0
- package/dist/product/PillNav.js +35 -0
- package/dist/product/PillNav.js.map +1 -0
- package/dist/product/ProductAccordion.d.ts +3 -0
- package/dist/product/ProductAccordion.d.ts.map +1 -0
- package/dist/product/ProductAccordion.js +46 -0
- package/dist/product/ProductAccordion.js.map +1 -0
- package/dist/product/ProductCard.d.ts +62 -0
- package/dist/product/ProductCard.d.ts.map +1 -0
- package/dist/product/ProductCard.js +442 -0
- package/dist/product/ProductCard.js.map +1 -0
- package/dist/product/ProductCarousel.d.ts +3 -0
- package/dist/product/ProductCarousel.d.ts.map +1 -0
- package/dist/product/ProductCarousel.js +123 -0
- package/dist/product/ProductCarousel.js.map +1 -0
- package/dist/product/ProductCenteredStack.d.ts +3 -0
- package/dist/product/ProductCenteredStack.d.ts.map +1 -0
- package/dist/product/ProductCenteredStack.js +28 -0
- package/dist/product/ProductCenteredStack.js.map +1 -0
- package/dist/product/ProductGallery.d.ts +3 -0
- package/dist/product/ProductGallery.d.ts.map +1 -0
- package/dist/product/ProductGallery.js +80 -0
- package/dist/product/ProductGallery.js.map +1 -0
- package/dist/product/ProductGrid.d.ts +3 -0
- package/dist/product/ProductGrid.d.ts.map +1 -0
- package/dist/product/ProductGrid.js +58 -0
- package/dist/product/ProductGrid.js.map +1 -0
- package/dist/product/ProductHighlightLeft.d.ts +3 -0
- package/dist/product/ProductHighlightLeft.d.ts.map +1 -0
- package/dist/product/ProductHighlightLeft.js +37 -0
- package/dist/product/ProductHighlightLeft.js.map +1 -0
- package/dist/product/ProductHighlightRight.d.ts +3 -0
- package/dist/product/ProductHighlightRight.d.ts.map +1 -0
- package/dist/product/ProductHighlightRight.js +23 -0
- package/dist/product/ProductHighlightRight.js.map +1 -0
- package/dist/product/ProductPage.d.ts +3 -0
- package/dist/product/ProductPage.d.ts.map +1 -0
- package/dist/product/ProductPage.js +105 -0
- package/dist/product/ProductPage.js.map +1 -0
- package/dist/product/SubscriptionToggle.d.ts +3 -0
- package/dist/product/SubscriptionToggle.d.ts.map +1 -0
- package/dist/product/SubscriptionToggle.js +38 -0
- package/dist/product/SubscriptionToggle.js.map +1 -0
- package/dist/product/Upsell.d.ts +3 -0
- package/dist/product/Upsell.d.ts.map +1 -0
- package/dist/product/Upsell.js +59 -0
- package/dist/product/Upsell.js.map +1 -0
- package/dist/product/VideoCarousel.d.ts +3 -0
- package/dist/product/VideoCarousel.d.ts.map +1 -0
- package/dist/product/VideoCarousel.js +188 -0
- package/dist/product/VideoCarousel.js.map +1 -0
- package/dist/product/index.d.ts +8 -0
- package/dist/product/index.d.ts.map +1 -0
- package/dist/product/index.js +8 -0
- package/dist/product/index.js.map +1 -0
- package/dist/registry-field-schemas.d.ts +66 -0
- package/dist/registry-field-schemas.d.ts.map +1 -0
- package/dist/registry-field-schemas.js +745 -0
- package/dist/registry-field-schemas.js.map +1 -0
- package/dist/registry-metadata.d.ts +10 -0
- package/dist/registry-metadata.d.ts.map +1 -0
- package/dist/registry-metadata.js +2 -0
- package/dist/registry-metadata.js.map +1 -0
- package/dist/registry.d.ts +20 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +2317 -0
- package/dist/registry.js.map +1 -0
- package/dist/renderText.d.ts +6 -0
- package/dist/renderText.d.ts.map +1 -0
- package/dist/renderText.js +23 -0
- package/dist/renderText.js.map +1 -0
- package/dist/reviews/ReviewCarousel.d.ts +3 -0
- package/dist/reviews/ReviewCarousel.d.ts.map +1 -0
- package/dist/reviews/ReviewCarousel.js +24 -0
- package/dist/reviews/ReviewCarousel.js.map +1 -0
- package/dist/reviews/ReviewMasonry.d.ts +3 -0
- package/dist/reviews/ReviewMasonry.d.ts.map +1 -0
- package/dist/reviews/ReviewMasonry.js +25 -0
- package/dist/reviews/ReviewMasonry.js.map +1 -0
- package/dist/reviews/ReviewSpotlight.d.ts +3 -0
- package/dist/reviews/ReviewSpotlight.d.ts.map +1 -0
- package/dist/reviews/ReviewSpotlight.js +13 -0
- package/dist/reviews/ReviewSpotlight.js.map +1 -0
- package/dist/reviews/VideoTestimonials.d.ts +3 -0
- package/dist/reviews/VideoTestimonials.d.ts.map +1 -0
- package/dist/reviews/VideoTestimonials.js +35 -0
- package/dist/reviews/VideoTestimonials.js.map +1 -0
- package/dist/reviews/index.d.ts +4 -0
- package/dist/reviews/index.d.ts.map +1 -0
- package/dist/reviews/index.js +4 -0
- package/dist/reviews/index.js.map +1 -0
- package/dist/schemas/content.d.ts +125 -0
- package/dist/schemas/content.d.ts.map +1 -0
- package/dist/schemas/content.js +2 -0
- package/dist/schemas/content.js.map +1 -0
- package/dist/schemas/index.d.ts +3 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +2 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/settings.d.ts +23 -0
- package/dist/schemas/settings.d.ts.map +1 -0
- package/dist/schemas/settings.js +321 -0
- package/dist/schemas/settings.js.map +1 -0
- package/dist/social-proof/AvatarGroup.d.ts +3 -0
- package/dist/social-proof/AvatarGroup.d.ts.map +1 -0
- package/dist/social-proof/AvatarGroup.js +58 -0
- package/dist/social-proof/AvatarGroup.js.map +1 -0
- package/dist/social-proof/LogoCarousel.d.ts +3 -0
- package/dist/social-proof/LogoCarousel.d.ts.map +1 -0
- package/dist/social-proof/LogoCarousel.js +49 -0
- package/dist/social-proof/LogoCarousel.js.map +1 -0
- package/dist/social-proof/LogoStrip.d.ts +3 -0
- package/dist/social-proof/LogoStrip.d.ts.map +1 -0
- package/dist/social-proof/LogoStrip.js +35 -0
- package/dist/social-proof/LogoStrip.js.map +1 -0
- package/dist/social-proof/PressMentions.d.ts +3 -0
- package/dist/social-proof/PressMentions.d.ts.map +1 -0
- package/dist/social-proof/PressMentions.js +40 -0
- package/dist/social-proof/PressMentions.js.map +1 -0
- package/dist/social-proof/StatsGrid.d.ts +3 -0
- package/dist/social-proof/StatsGrid.d.ts.map +1 -0
- package/dist/social-proof/StatsGrid.js +39 -0
- package/dist/social-proof/StatsGrid.js.map +1 -0
- package/dist/social-proof/TrustBadges.d.ts +3 -0
- package/dist/social-proof/TrustBadges.d.ts.map +1 -0
- package/dist/social-proof/TrustBadges.js +18 -0
- package/dist/social-proof/TrustBadges.js.map +1 -0
- package/dist/social-proof/index.d.ts +4 -0
- package/dist/social-proof/index.d.ts.map +1 -0
- package/dist/social-proof/index.js +4 -0
- package/dist/social-proof/index.js.map +1 -0
- package/dist/text-effects/TextEffect.d.ts +3 -0
- package/dist/text-effects/TextEffect.d.ts.map +1 -0
- package/dist/text-effects/TextEffect.js +277 -0
- package/dist/text-effects/TextEffect.js.map +1 -0
- package/dist/theme/resolve.d.ts +12 -0
- package/dist/theme/resolve.d.ts.map +1 -0
- package/dist/theme/resolve.js +26 -0
- package/dist/theme/resolve.js.map +1 -0
- package/dist/theme/tokens.d.ts +147 -0
- package/dist/theme/tokens.d.ts.map +1 -0
- package/dist/theme/tokens.js +113 -0
- package/dist/theme/tokens.js.map +1 -0
- package/dist/types.d.ts +154 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/elementStyles.d.ts +4 -0
- package/dist/utils/elementStyles.d.ts.map +1 -0
- package/dist/utils/elementStyles.js +6 -0
- package/dist/utils/elementStyles.js.map +1 -0
- package/dist/utils/icon-map.d.ts +128 -0
- package/dist/utils/icon-map.d.ts.map +1 -0
- package/dist/utils/icon-map.js +199 -0
- package/dist/utils/icon-map.js.map +1 -0
- package/dist/utils/imageStyle.d.ts +4 -0
- package/dist/utils/imageStyle.d.ts.map +1 -0
- package/dist/utils/imageStyle.js +23 -0
- package/dist/utils/imageStyle.js.map +1 -0
- package/dist/utils/renderIcon.d.ts +32 -0
- package/dist/utils/renderIcon.d.ts.map +1 -0
- package/dist/utils/renderIcon.js +188 -0
- package/dist/utils/renderIcon.js.map +1 -0
- package/dist/utils/schemaUtils.d.ts +9 -0
- package/dist/utils/schemaUtils.d.ts.map +1 -0
- package/dist/utils/schemaUtils.js +10 -0
- package/dist/utils/schemaUtils.js.map +1 -0
- package/dist/value-props/HowItWorks.d.ts +3 -0
- package/dist/value-props/HowItWorks.d.ts.map +1 -0
- package/dist/value-props/HowItWorks.js +23 -0
- package/dist/value-props/HowItWorks.js.map +1 -0
- package/dist/value-props/NumberedList.d.ts +3 -0
- package/dist/value-props/NumberedList.d.ts.map +1 -0
- package/dist/value-props/NumberedList.js +22 -0
- package/dist/value-props/NumberedList.js.map +1 -0
- package/dist/value-props/ValuePropsAlternating.d.ts +3 -0
- package/dist/value-props/ValuePropsAlternating.d.ts.map +1 -0
- package/dist/value-props/ValuePropsAlternating.js +22 -0
- package/dist/value-props/ValuePropsAlternating.js.map +1 -0
- package/dist/value-props/ValuePropsGrid.d.ts +3 -0
- package/dist/value-props/ValuePropsGrid.d.ts.map +1 -0
- package/dist/value-props/ValuePropsGrid.js +23 -0
- package/dist/value-props/ValuePropsGrid.js.map +1 -0
- package/dist/value-props/ValuePropsIconStrip.d.ts +3 -0
- package/dist/value-props/ValuePropsIconStrip.d.ts.map +1 -0
- package/dist/value-props/ValuePropsIconStrip.js +11 -0
- package/dist/value-props/ValuePropsIconStrip.js.map +1 -0
- package/dist/value-props/index.d.ts +6 -0
- package/dist/value-props/index.d.ts.map +1 -0
- package/dist/value-props/index.js +6 -0
- package/dist/value-props/index.js.map +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { motion, AnimatePresence } from "framer-motion";
|
|
4
|
+
import { useLxCart } from "../context/LxCartContext";
|
|
5
|
+
import { renderText } from "../renderText";
|
|
6
|
+
import { renderIcon } from "../utils/renderIcon";
|
|
7
|
+
import { AspectBox } from "../primitives/AspectBox";
|
|
8
|
+
import { MediaLoop } from "../primitives/MediaLoop";
|
|
9
|
+
import CartLines from "./CartLines";
|
|
10
|
+
import CartSummary from "./CartSummary";
|
|
11
|
+
import CartDiscount from "./CartDiscount";
|
|
12
|
+
// ─── Shared sub-components ────────────────────────────────────────────────────
|
|
13
|
+
function CartHeading({ text, count, theme }) {
|
|
14
|
+
return (_jsxs("div", { style: { display: "flex", alignItems: "baseline", justifyContent: "space-between", marginBottom: "24px" }, children: [_jsx("h1", { style: { fontFamily: `${theme.fonts.display}, serif`, fontSize: "clamp(1.4rem, 2.5vw, 2rem)", fontWeight: 700, color: theme.palette.text, margin: 0 }, children: text }), _jsxs("span", { style: { fontSize: "0.82rem", opacity: 0.5, color: theme.palette.text }, children: [count, " ", count === 1 ? "item" : "items"] })] }));
|
|
15
|
+
}
|
|
16
|
+
function EmptyCart({ theme, cta_url }) {
|
|
17
|
+
return (_jsxs("div", { style: { textAlign: "center", padding: "80px 24px", color: theme.palette.text }, children: [_jsx("div", { style: { fontSize: "3rem", marginBottom: "16px" }, children: "\uD83D\uDED2" }), _jsx("p", { style: { fontSize: "1.1rem", fontWeight: 600, marginBottom: "8px" }, children: "Your bag is empty" }), _jsx("p", { style: { fontSize: "0.9rem", opacity: 0.55, marginBottom: "24px" }, children: "Looks like you haven't added anything yet." }), _jsx("a", { href: cta_url || "/collections/all", style: { display: "inline-block", padding: "14px 32px", backgroundColor: theme.palette.accent, color: "#fff", borderRadius: "var(--lx-button-radius, 9999px)", fontWeight: 600, textDecoration: "none", fontSize: "0.9rem" }, children: "Shop Now" })] }));
|
|
18
|
+
}
|
|
19
|
+
function ShippingBar({ current, target, accent, border, text }) {
|
|
20
|
+
const pct = target > 0 ? Math.min(100, (current / target) * 100) : 0;
|
|
21
|
+
const remaining = Math.max(0, target - current);
|
|
22
|
+
const unlocked = remaining === 0;
|
|
23
|
+
return (_jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "8px" }, children: [_jsx("p", { style: { fontSize: "0.78rem", color: text, margin: 0 }, children: unlocked
|
|
24
|
+
? _jsx("span", { style: { color: "#10b981", fontWeight: 600 }, children: "\uD83C\uDF89 Free shipping unlocked!" })
|
|
25
|
+
: _jsxs(_Fragment, { children: [_jsxs("strong", { style: { color: text }, children: ["\u20B9", remaining.toLocaleString(), " more"] }), " for free shipping"] }) }), _jsx("div", { style: { height: "6px", backgroundColor: border, borderRadius: "999px", overflow: "hidden" }, children: _jsx(motion.div, { initial: { width: 0 }, animate: { width: `${pct}%` }, transition: { duration: 0.8, ease: "easeOut" }, style: { height: "100%", backgroundColor: unlocked ? "#10b981" : accent, borderRadius: "999px" } }) })] }));
|
|
26
|
+
}
|
|
27
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
28
|
+
// Variant 1: centered_with_flanks (Rhode / Aesop)
|
|
29
|
+
// Three-column: trust panel left | narrow cart center | order summary right
|
|
30
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
31
|
+
function CenteredWithFlanks({ content, theme }) {
|
|
32
|
+
const { lines, totalQuantity, cost } = useLxCart();
|
|
33
|
+
const heading = renderText(content.heading) || "Your Bag";
|
|
34
|
+
const trustItems = content.trust_items || [];
|
|
35
|
+
const freeShippingThreshold = typeof content.free_shipping_threshold === "number" ? content.free_shipping_threshold : 1500;
|
|
36
|
+
const cartTotal = parseFloat(cost?.subtotalAmount || "0");
|
|
37
|
+
const accent = theme.palette.accent;
|
|
38
|
+
const border = theme.palette.border || "#e5e7eb";
|
|
39
|
+
const surface = theme.palette.surface;
|
|
40
|
+
const text = theme.palette.text;
|
|
41
|
+
return (_jsxs("section", { style: { backgroundColor: theme.palette.bg, minHeight: "100vh", padding: "40px 20px", overflowX: "hidden" }, children: [_jsxs("div", { style: { maxWidth: "1200px", margin: "0 auto", display: "flex", gap: "32px", alignItems: "flex-start" }, children: [_jsxs("div", { className: "hidden md:flex", style: { width: "220px", flexShrink: 0, position: "sticky", top: "80px", flexDirection: "column", gap: "20px", padding: "24px", backgroundColor: surface, borderRadius: "var(--lx-card-radius, 16px)", border: `1px solid ${border}` }, children: [_jsx("p", { style: { fontSize: "0.7rem", fontWeight: 700, textTransform: "uppercase", letterSpacing: "0.12em", color: accent, margin: 0 }, children: "Why shop with us" }), trustItems.length > 0 ? (_jsx("div", { style: { display: "flex", flexDirection: "column", gap: "14px" }, children: trustItems.map((item, i) => (_jsxs("div", { style: { display: "flex", alignItems: "center", gap: "10px" }, children: [_jsx("span", { children: renderIcon(item.icon, { size: 16, color: accent }) }), _jsx("span", { style: { fontSize: "0.8rem", color: text, lineHeight: 1.4 }, children: item.text })] }, i))) })) : (_jsx("div", { style: { display: "flex", flexDirection: "column", gap: "14px" }, children: [{ icon: "lucide:leaf", text: "100% Clean Ingredients" }, { icon: "lucide:shield-check", text: "Dermatologist Tested" }, { icon: "lucide:recycle", text: "Sustainable Packaging" }, { icon: "lucide:truck", text: "Free shipping ₹599+" }].map((item, i) => (_jsxs("div", { style: { display: "flex", alignItems: "center", gap: "10px" }, children: [_jsx("span", { children: renderIcon(item.icon, { size: 16, color: accent }) }), _jsx("span", { style: { fontSize: "0.8rem", color: text, lineHeight: 1.4 }, children: item.text })] }, i))) })), _jsx("div", { style: { borderTop: `1px solid ${border}`, paddingTop: "16px" }, children: _jsx(ShippingBar, { current: cartTotal, target: freeShippingThreshold, accent: accent, border: border, text: text }) })] }), _jsx("div", { style: { flex: 1, minWidth: 0, maxWidth: "540px", margin: "0 auto" }, children: lines.length === 0 ? (_jsx(EmptyCart, { theme: theme, cta_url: renderText(content.empty_cta_url) })) : (_jsxs(_Fragment, { children: [_jsx(CartHeading, { text: heading, count: totalQuantity, theme: theme }), _jsx(CartLines, { content: { ...content, show_heading: false }, variant: "detailed", theme: theme })] })) }), _jsx("div", { className: "hidden md:block", style: { width: "300px", flexShrink: 0, position: "sticky", top: "80px" }, children: _jsxs("div", { style: { backgroundColor: surface, borderRadius: "var(--lx-card-radius, 16px)", border: `1px solid ${border}`, overflow: "hidden" }, children: [_jsx(CartDiscount, { content: content, variant: "inline_field", theme: theme }), _jsx("div", { style: { padding: "0 20px 20px" }, children: _jsx(CartSummary, { content: content, variant: "with_savings", theme: theme }) })] }) })] }), _jsxs("div", { className: "md:hidden", style: { maxWidth: "540px", margin: "24px auto 0" }, children: [_jsx("div", { style: { padding: "16px", backgroundColor: surface, borderRadius: "12px", border: `1px solid ${border}`, marginBottom: "16px" }, children: _jsx(ShippingBar, { current: cartTotal, target: freeShippingThreshold, accent: accent, border: border, text: text }) }), _jsx(CartDiscount, { content: content, variant: "inline_field", theme: theme }), _jsx(CartSummary, { content: content, variant: "simple", theme: theme })] })] }));
|
|
42
|
+
}
|
|
43
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
44
|
+
// Variant 2: magazine_split (SSENSE / Net-a-Porter)
|
|
45
|
+
// Left 45%: large sticky editorial image | Right 55%: scrollable cart
|
|
46
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
47
|
+
function MagazineSplit({ content, theme }) {
|
|
48
|
+
const { lines, totalQuantity } = useLxCart();
|
|
49
|
+
const heading = renderText(content.heading) || "Your Selection";
|
|
50
|
+
const featuredImage = renderText(content.featured_image) || (lines[0]?.imageUrl ?? "");
|
|
51
|
+
const border = theme.palette.border || "#e5e7eb";
|
|
52
|
+
const text = theme.palette.text;
|
|
53
|
+
return (_jsxs("section", { style: { backgroundColor: theme.palette.bg, minHeight: "100vh", display: "flex", overflowX: "hidden" }, children: [_jsx("div", { className: "hidden md:block", style: { width: "45%", flexShrink: 0, position: "sticky", top: 0, height: "100vh", overflow: "hidden", borderRight: `1px solid ${border}` }, children: featuredImage ? (_jsx(AspectBox, { aspect: "custom", style: { width: "100%", height: "100%", aspectRatio: "unset" }, fit: "cover", children: _jsx(MediaLoop, { src: featuredImage, alt: "Featured", fit: "cover", style: { width: "100%", height: "100%", objectFit: "cover" } }) })) : (_jsx("div", { style: { width: "100%", height: "100%", backgroundColor: theme.palette.highlight, display: "flex", alignItems: "center", justifyContent: "center" }, children: _jsx("span", { style: { fontSize: "4rem", opacity: 0.2 }, children: "\uD83D\uDECD" }) })) }), _jsx("div", { style: { flex: 1, padding: "48px 40px", overflowY: "auto", maxWidth: "700px" }, children: lines.length === 0 ? (_jsx(EmptyCart, { theme: theme, cta_url: renderText(content.empty_cta_url) })) : (_jsxs(_Fragment, { children: [_jsx(CartHeading, { text: heading, count: totalQuantity, theme: theme }), _jsx(CartLines, { content: { ...content, show_images: false, show_heading: false }, variant: "compact", theme: theme }), _jsxs("div", { style: { marginTop: "32px", paddingTop: "24px", borderTop: `1px solid ${border}` }, children: [_jsx(CartDiscount, { content: content, variant: "inline_field", theme: theme }), _jsx(CartSummary, { content: content, variant: "with_savings", theme: theme })] })] })) }), featuredImage && (_jsx("div", { className: "md:hidden", style: { position: "absolute", top: 0, left: 0, right: 0, height: "8px", backgroundColor: theme.palette.accent } }))] }));
|
|
54
|
+
}
|
|
55
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
56
|
+
// Variant 3: diagonal_slash (Liquid Death / Gymshark)
|
|
57
|
+
// Diagonal bg split + floating cart card in center
|
|
58
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
59
|
+
function DiagonalSlash({ content, theme }) {
|
|
60
|
+
const { lines, totalQuantity } = useLxCart();
|
|
61
|
+
const heading = renderText(content.heading) || "Your Cart";
|
|
62
|
+
const cardMaxWidth = renderText(content.card_max_width) || "680px";
|
|
63
|
+
const diagonalColor = renderText(content.diagonal_color) || theme.palette.accent;
|
|
64
|
+
const surface = theme.palette.surface;
|
|
65
|
+
const text = theme.palette.text;
|
|
66
|
+
const border = theme.palette.border || "#e5e7eb";
|
|
67
|
+
return (_jsxs("section", { style: { backgroundColor: theme.palette.bg, minHeight: "100vh", position: "relative", padding: "60px 20px", overflowX: "hidden" }, children: [_jsx("div", { style: {
|
|
68
|
+
position: "absolute", inset: 0, zIndex: 0,
|
|
69
|
+
background: `linear-gradient(135deg, ${diagonalColor} 30%, transparent 30%)`,
|
|
70
|
+
opacity: 0.15,
|
|
71
|
+
pointerEvents: "none",
|
|
72
|
+
} }), _jsxs(motion.div, { initial: { opacity: 0, y: 24 }, animate: { opacity: 1, y: 0 }, transition: { duration: 0.5, ease: [0.25, 0.46, 0.45, 0.94] }, style: {
|
|
73
|
+
position: "relative", zIndex: 1,
|
|
74
|
+
maxWidth: cardMaxWidth, margin: "0 auto",
|
|
75
|
+
backgroundColor: surface,
|
|
76
|
+
borderRadius: "24px",
|
|
77
|
+
boxShadow: "0 24px 60px rgba(0,0,0,0.15)",
|
|
78
|
+
overflow: "hidden",
|
|
79
|
+
}, children: [_jsx("div", { style: { padding: "32px 32px 24px" }, children: lines.length === 0 ? (_jsx(EmptyCart, { theme: theme, cta_url: renderText(content.empty_cta_url) })) : (_jsxs(_Fragment, { children: [_jsx(CartHeading, { text: heading, count: totalQuantity, theme: theme }), _jsx(CartLines, { content: { ...content, show_images: false, show_heading: false }, variant: "compact", theme: theme })] })) }), lines.length > 0 && (_jsxs("div", { style: { borderTop: `1px solid ${border}`, padding: "20px 32px 28px", backgroundColor: theme.palette.bg }, children: [_jsx(CartDiscount, { content: content, variant: "inline_field", theme: theme }), _jsx(CartSummary, { content: content, variant: "simple", theme: theme })] }))] })] }));
|
|
80
|
+
}
|
|
81
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
82
|
+
// Variant 4: sidebar_story (ILIA / Tatcha)
|
|
83
|
+
// Left 35%: brand story + stacked images | Right 65%: cart
|
|
84
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
85
|
+
function SidebarStory({ content, theme }) {
|
|
86
|
+
const { lines, totalQuantity } = useLxCart();
|
|
87
|
+
const heading = renderText(content.heading) || "Your Bag";
|
|
88
|
+
const sidebarHeadline = renderText(content.sidebar_headline) || "Made with intention";
|
|
89
|
+
const sidebarBody = renderText(content.sidebar_body) || "";
|
|
90
|
+
const sidebarImages = content.sidebar_images || [];
|
|
91
|
+
const sidebarCta = content.sidebar_cta;
|
|
92
|
+
const [storyOpen, setStoryOpen] = useState(false);
|
|
93
|
+
const accent = theme.palette.accent;
|
|
94
|
+
const border = theme.palette.border || "#e5e7eb";
|
|
95
|
+
const text = theme.palette.text;
|
|
96
|
+
const surface = theme.palette.surface;
|
|
97
|
+
return (_jsxs("section", { style: { backgroundColor: theme.palette.bg, minHeight: "100vh", display: "flex", overflowX: "hidden" }, children: [_jsxs("div", { className: "hidden md:flex", style: { width: "35%", flexShrink: 0, position: "sticky", top: 0, height: "100vh", overflowY: "auto", padding: "48px 32px", flexDirection: "column", gap: "24px", backgroundColor: surface, borderRight: `1px solid ${border}` }, children: [_jsx("p", { style: { fontSize: "0.65rem", fontWeight: 800, textTransform: "uppercase", letterSpacing: "0.18em", color: accent, margin: 0 }, children: "Our Story" }), _jsx("h2", { style: { fontFamily: `${theme.fonts.display}, serif`, fontSize: "1.5rem", fontWeight: 700, color: text, lineHeight: 1.25, margin: 0 }, children: sidebarHeadline }), sidebarBody && (_jsx("p", { style: { fontSize: "0.85rem", lineHeight: 1.7, color: text, opacity: 0.65, margin: 0 }, children: sidebarBody })), sidebarImages.slice(0, 2).map((img, i) => (_jsx(AspectBox, { aspect: "4:5", fit: "cover", style: { borderRadius: "12px", overflow: "hidden" }, children: _jsx(MediaLoop, { src: img, alt: "Brand story", fit: "cover", applyImageTokens: true }) }, i))), sidebarCta?.label && (_jsxs("a", { href: sidebarCta.url || "#", style: { display: "inline-flex", alignItems: "center", gap: "6px", fontSize: "0.8rem", fontWeight: 600, color: accent, textDecoration: "none", marginTop: "4px" }, children: [sidebarCta.label, " \u2192"] }))] }), _jsxs("div", { className: "md:hidden", style: { backgroundColor: surface, borderBottom: `1px solid ${border}` }, children: [_jsxs("button", { onClick: () => setStoryOpen(!storyOpen), style: { width: "100%", padding: "16px 20px", display: "flex", justifyContent: "space-between", alignItems: "center", background: "none", border: "none", cursor: "pointer" }, children: [_jsx("span", { style: { fontSize: "0.78rem", fontWeight: 700, textTransform: "uppercase", letterSpacing: "0.1em", color: accent }, children: "Our Story" }), _jsx("span", { style: { color: accent, transition: "transform 0.2s", transform: storyOpen ? "rotate(180deg)" : "none" }, children: "\u25BE" })] }), _jsx(AnimatePresence, { children: storyOpen && (_jsx(motion.div, { initial: { height: 0 }, animate: { height: "auto" }, exit: { height: 0 }, style: { overflow: "hidden" }, children: _jsx("div", { style: { padding: "0 20px 20px" }, children: _jsx("p", { style: { fontSize: "0.85rem", lineHeight: 1.7, color: text, opacity: 0.65 }, children: sidebarBody }) }) })) })] }), _jsx("div", { style: { flex: 1, padding: "48px 40px", overflowY: "auto" }, children: lines.length === 0 ? (_jsx(EmptyCart, { theme: theme, cta_url: renderText(content.empty_cta_url) })) : (_jsxs(_Fragment, { children: [_jsx(CartHeading, { text: heading, count: totalQuantity, theme: theme }), _jsx(CartLines, { content: { ...content, show_heading: false }, variant: "detailed", theme: theme }), _jsxs("div", { style: { marginTop: "32px", paddingTop: "24px", borderTop: `1px solid ${border}` }, children: [_jsx(CartDiscount, { content: content, variant: "inline_field", theme: theme }), _jsx(CartSummary, { content: content, variant: "with_savings", theme: theme })] })] })) })] }));
|
|
98
|
+
}
|
|
99
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
100
|
+
// Variant 5: minimal_floating (Glossier / Rhode)
|
|
101
|
+
// Centered 640px, each cart item as floating card, generous whitespace
|
|
102
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
103
|
+
function MinimalFloating({ content, theme }) {
|
|
104
|
+
const { lines, totalQuantity } = useLxCart();
|
|
105
|
+
const heading = renderText(content.heading) || "Your Bag";
|
|
106
|
+
const border = theme.palette.border || "#e5e7eb";
|
|
107
|
+
return (_jsx("section", { style: { backgroundColor: theme.palette.bg, minHeight: "100vh", padding: "60px 20px", overflowX: "hidden" }, children: _jsx("div", { style: { maxWidth: "640px", margin: "0 auto" }, children: lines.length === 0 ? (_jsx(EmptyCart, { theme: theme, cta_url: renderText(content.empty_cta_url) })) : (_jsxs(_Fragment, { children: [_jsx(CartHeading, { text: heading, count: totalQuantity, theme: theme }), _jsx(CartLines, { content: { ...content, show_heading: false }, variant: "minimal", theme: theme }), _jsxs(motion.div, { initial: { opacity: 0, y: 12 }, animate: { opacity: 1, y: 0 }, transition: { delay: 0.2, duration: 0.4 }, style: {
|
|
108
|
+
marginTop: "16px",
|
|
109
|
+
backgroundColor: theme.palette.surface,
|
|
110
|
+
borderRadius: "var(--lx-card-radius, 16px)",
|
|
111
|
+
border: `1px solid ${border}`,
|
|
112
|
+
boxShadow: "0 4px 24px rgba(0,0,0,0.06)",
|
|
113
|
+
overflow: "hidden",
|
|
114
|
+
}, children: [_jsx("div", { style: { padding: "20px" }, children: _jsx(CartDiscount, { content: content, variant: "inline_field", theme: theme }) }), _jsx("div", { style: { borderTop: `1px solid ${border}`, padding: "20px" }, children: _jsx(CartSummary, { content: content, variant: "with_savings", theme: theme }) })] })] })) }) }));
|
|
115
|
+
}
|
|
116
|
+
// ─── Main export ──────────────────────────────────────────────────────────────
|
|
117
|
+
export default function CartPage({ content, variant, theme, kit, generatedAssets, elementStyles, settings }) {
|
|
118
|
+
if (variant === "magazine_split")
|
|
119
|
+
return _jsx(MagazineSplit, { content: content, variant: variant, theme: theme, kit: kit, generatedAssets: generatedAssets, elementStyles: elementStyles, settings: settings });
|
|
120
|
+
if (variant === "diagonal_slash")
|
|
121
|
+
return _jsx(DiagonalSlash, { content: content, variant: variant, theme: theme, kit: kit, generatedAssets: generatedAssets, elementStyles: elementStyles, settings: settings });
|
|
122
|
+
if (variant === "sidebar_story")
|
|
123
|
+
return _jsx(SidebarStory, { content: content, variant: variant, theme: theme, kit: kit, generatedAssets: generatedAssets, elementStyles: elementStyles, settings: settings });
|
|
124
|
+
if (variant === "minimal_floating")
|
|
125
|
+
return _jsx(MinimalFloating, { content: content, variant: variant, theme: theme, kit: kit, generatedAssets: generatedAssets, elementStyles: elementStyles, settings: settings });
|
|
126
|
+
return _jsx(CenteredWithFlanks, { content: content, variant: variant, theme: theme, kit: kit, generatedAssets: generatedAssets, elementStyles: elementStyles, settings: settings });
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=CartPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CartPage.js","sourceRoot":"","sources":["../../src/cart/CartPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CartSummary.d.ts","sourceRoot":"","sources":["../../src/cart/CartSummary.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AA2C/C,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,cAAc,2CAuS9E"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState, useRef } from "react";
|
|
3
|
+
import { motion, AnimatePresence } from "framer-motion";
|
|
4
|
+
import { useLxCart } from "../context/LxCartContext";
|
|
5
|
+
import { renderText } from "../renderText";
|
|
6
|
+
import { HeadlineEffect } from "../primitives/HeadlineEffect";
|
|
7
|
+
function fmt(amount, currency = "INR") {
|
|
8
|
+
const n = parseFloat(amount);
|
|
9
|
+
if (isNaN(n))
|
|
10
|
+
return amount;
|
|
11
|
+
return new Intl.NumberFormat("en-IN", { style: "currency", currency, maximumFractionDigits: 0 }).format(n);
|
|
12
|
+
}
|
|
13
|
+
function CheckIcon() {
|
|
14
|
+
return (_jsx("svg", { width: "10", height: "10", viewBox: "0 0 12 12", fill: "none", children: _jsx("path", { d: "M2 6l3 3 5-5", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
15
|
+
}
|
|
16
|
+
function useCountUp(target, duration = 800, enabled = true) {
|
|
17
|
+
const [value, setValue] = useState(0);
|
|
18
|
+
const rafRef = useRef(0);
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
if (!enabled || target === 0) {
|
|
21
|
+
setValue(target);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const start = performance.now();
|
|
25
|
+
const from = 0;
|
|
26
|
+
function tick(now) {
|
|
27
|
+
const elapsed = now - start;
|
|
28
|
+
const progress = Math.min(elapsed / duration, 1);
|
|
29
|
+
// easeOut cubic
|
|
30
|
+
const eased = 1 - Math.pow(1 - progress, 3);
|
|
31
|
+
setValue(from + (target - from) * eased);
|
|
32
|
+
if (progress < 1)
|
|
33
|
+
rafRef.current = requestAnimationFrame(tick);
|
|
34
|
+
}
|
|
35
|
+
rafRef.current = requestAnimationFrame(tick);
|
|
36
|
+
return () => cancelAnimationFrame(rafRef.current);
|
|
37
|
+
}, [target, duration, enabled]);
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
export default function CartSummary({ content, variant, theme }) {
|
|
41
|
+
const { cost, discountCodes, lines, isInitialized, totalQuantity } = useLxCart();
|
|
42
|
+
const [taxExpanded, setTaxExpanded] = useState(false);
|
|
43
|
+
const subtotalLabel = renderText(content.subtotal_label) || "Subtotal";
|
|
44
|
+
const shippingLabel = renderText(content.shipping_label) || "Shipping";
|
|
45
|
+
const totalLabel = renderText(content.total_label) || "Total";
|
|
46
|
+
const shippingValue = renderText(content.shipping_value) || "Calculated at checkout";
|
|
47
|
+
const taxNote = renderText(content.tax_note) || "Taxes calculated at checkout";
|
|
48
|
+
const withSavings = variant === "with_savings" || variant === "with_tax_breakdown";
|
|
49
|
+
const withTaxBreakdown = variant === "with_tax_breakdown";
|
|
50
|
+
const applicableCodes = discountCodes.filter((d) => d.applicable);
|
|
51
|
+
const linesSavings = lines.reduce((sum, l) => {
|
|
52
|
+
if (!l.compareAtPrice)
|
|
53
|
+
return sum;
|
|
54
|
+
const diff = (parseFloat(l.compareAtPrice) - parseFloat(l.price)) * l.quantity;
|
|
55
|
+
return diff > 0 ? sum + diff : sum;
|
|
56
|
+
}, 0);
|
|
57
|
+
const animatedSavings = useCountUp(linesSavings, 800, withSavings && linesSavings > 0);
|
|
58
|
+
const successColor = theme.palette.success ?? "#16a34a";
|
|
59
|
+
const { accent, text } = theme.palette;
|
|
60
|
+
const shimmerKeyframes = `
|
|
61
|
+
@keyframes lxSavingsShimmer {
|
|
62
|
+
0% { background-position: -200% center; }
|
|
63
|
+
100% { background-position: 200% center; }
|
|
64
|
+
}
|
|
65
|
+
@keyframes lxFadeSlideIn {
|
|
66
|
+
from { opacity: 0; transform: translateY(4px); }
|
|
67
|
+
to { opacity: 1; transform: translateY(0); }
|
|
68
|
+
}
|
|
69
|
+
`;
|
|
70
|
+
if (!isInitialized || lines.length === 0)
|
|
71
|
+
return null;
|
|
72
|
+
return (_jsxs(_Fragment, { children: [_jsx("style", { children: shimmerKeyframes }), _jsxs("section", { style: {
|
|
73
|
+
borderRadius: "1rem",
|
|
74
|
+
border: `1px solid ${text}08`,
|
|
75
|
+
overflow: "hidden",
|
|
76
|
+
backgroundColor: "transparent",
|
|
77
|
+
}, children: [_jsx("div", { style: {
|
|
78
|
+
height: "1px",
|
|
79
|
+
background: `linear-gradient(90deg, transparent 0%, ${accent}50 40%, ${accent}80 50%, ${accent}50 60%, transparent 100%)`,
|
|
80
|
+
} }), _jsx("div", { style: { padding: "1rem 1.25rem" }, children: _jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "0.75rem" }, children: [_jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [_jsxs("span", { style: {
|
|
81
|
+
fontSize: "14px",
|
|
82
|
+
color: `${text}70`,
|
|
83
|
+
fontFamily: `${theme.fonts.body}, sans-serif`,
|
|
84
|
+
}, children: [subtotalLabel, _jsxs("span", { style: { fontSize: "12px", color: `${text}40`, marginLeft: "6px" }, children: ["(", totalQuantity, " ", totalQuantity === 1 ? "item" : "items", ")"] })] }), _jsx("span", { style: {
|
|
85
|
+
fontSize: "14px",
|
|
86
|
+
fontWeight: 500,
|
|
87
|
+
color: text,
|
|
88
|
+
fontFamily: `${theme.fonts.body}, sans-serif`,
|
|
89
|
+
}, children: fmt(cost.subtotalAmount, cost.currencyCode) })] }), _jsx(AnimatePresence, { children: applicableCodes.map((d) => (_jsxs(motion.div, { initial: { opacity: 0, y: -4 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -4 }, transition: { duration: 0.2 }, style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [_jsxs("span", { style: {
|
|
90
|
+
display: "inline-flex",
|
|
91
|
+
alignItems: "center",
|
|
92
|
+
gap: "6px",
|
|
93
|
+
fontSize: "13px",
|
|
94
|
+
color: accent,
|
|
95
|
+
fontFamily: `${theme.fonts.body}, sans-serif`,
|
|
96
|
+
}, children: [_jsxs("span", { style: {
|
|
97
|
+
display: "inline-flex",
|
|
98
|
+
alignItems: "center",
|
|
99
|
+
gap: "4px",
|
|
100
|
+
fontSize: "11px",
|
|
101
|
+
fontWeight: 700,
|
|
102
|
+
padding: "2px 7px",
|
|
103
|
+
borderRadius: "9999px",
|
|
104
|
+
border: `1px solid ${accent}35`,
|
|
105
|
+
backgroundColor: `${accent}10`,
|
|
106
|
+
color: accent,
|
|
107
|
+
letterSpacing: "0.04em",
|
|
108
|
+
}, children: [_jsx(CheckIcon, {}), d.code] }), _jsx("span", { style: { color: `${text}50`, fontSize: "12px" }, children: "applied" })] }), _jsx("span", { style: {
|
|
109
|
+
fontSize: "14px",
|
|
110
|
+
fontWeight: 600,
|
|
111
|
+
color: accent,
|
|
112
|
+
}, children: "\u2212" })] }, d.code))) }), _jsx(AnimatePresence, { children: withSavings && linesSavings > 0 && (_jsxs(motion.div, { initial: { opacity: 0, scale: 0.97, y: 4 }, animate: { opacity: 1, scale: 1, y: 0 }, exit: { opacity: 0, scale: 0.97 }, transition: { duration: 0.3, ease: [0.16, 1, 0.3, 1] }, style: {
|
|
113
|
+
position: "relative",
|
|
114
|
+
overflow: "hidden",
|
|
115
|
+
borderRadius: "0.75rem",
|
|
116
|
+
padding: "10px 14px",
|
|
117
|
+
background: `radial-gradient(ellipse at 30% 50%, ${successColor}18, transparent 70%), ${successColor}0A`,
|
|
118
|
+
border: `1px solid ${successColor}22`,
|
|
119
|
+
display: "flex",
|
|
120
|
+
justifyContent: "space-between",
|
|
121
|
+
alignItems: "center",
|
|
122
|
+
}, children: [_jsx("div", { style: {
|
|
123
|
+
position: "absolute",
|
|
124
|
+
inset: 0,
|
|
125
|
+
background: `linear-gradient(105deg, transparent 35%, ${successColor}12 50%, transparent 65%)`,
|
|
126
|
+
backgroundSize: "200% 100%",
|
|
127
|
+
animation: "lxSavingsShimmer 2.4s linear infinite",
|
|
128
|
+
pointerEvents: "none",
|
|
129
|
+
} }), _jsxs("span", { style: {
|
|
130
|
+
fontSize: "13px",
|
|
131
|
+
fontWeight: 500,
|
|
132
|
+
color: successColor,
|
|
133
|
+
display: "flex",
|
|
134
|
+
alignItems: "center",
|
|
135
|
+
gap: "6px",
|
|
136
|
+
fontFamily: `${theme.fonts.body}, sans-serif`,
|
|
137
|
+
}, children: [_jsx(motion.span, { initial: { rotate: -20, scale: 0 }, animate: { rotate: 0, scale: 1 }, transition: { type: "spring", stiffness: 400, damping: 15 }, style: { display: "inline-block" }, children: "\u2726" }), " ", "You saved"] }), _jsx("span", { style: {
|
|
138
|
+
fontSize: "13px",
|
|
139
|
+
fontWeight: 700,
|
|
140
|
+
color: successColor,
|
|
141
|
+
fontFamily: `${theme.fonts.display}, sans-serif`,
|
|
142
|
+
fontVariantNumeric: "tabular-nums",
|
|
143
|
+
}, children: fmt(animatedSavings.toFixed(2), cost.currencyCode) }, Math.round(linesSavings))] })) }), _jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [_jsxs("span", { style: { display: "flex", alignItems: "center", gap: "6px", fontSize: "14px", color: `${text}70` }, children: [_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "1", y: "3", width: "15", height: "13", rx: "1" }), _jsx("path", { d: "M16 8h4l3 5v4h-7V8z" }), _jsx("circle", { cx: "5.5", cy: "18.5", r: "2.5" }), _jsx("circle", { cx: "18.5", cy: "18.5", r: "2.5" })] }), shippingLabel] }), _jsx("span", { style: { fontSize: "13px", fontStyle: "italic", color: `${text}40` }, children: shippingValue })] }), _jsx("div", { style: { borderTop: `1px solid ${text}08`, margin: "2px 0" } }), _jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [_jsx("span", { style: {
|
|
144
|
+
fontSize: "16px",
|
|
145
|
+
fontWeight: 600,
|
|
146
|
+
color: text,
|
|
147
|
+
fontFamily: `${theme.fonts.display}, sans-serif`,
|
|
148
|
+
}, children: totalLabel }), _jsx("span", { style: {
|
|
149
|
+
fontSize: "20px",
|
|
150
|
+
fontWeight: "700",
|
|
151
|
+
color: text,
|
|
152
|
+
fontFamily: `${theme.fonts.display}, serif`,
|
|
153
|
+
}, children: _jsx(HeadlineEffect, { effect: "scramble", text: fmt(cost.totalAmount, cost.currencyCode), accent: accent, textColor: text }, cost.totalAmount) })] }), withTaxBreakdown && (_jsxs(_Fragment, { children: [_jsxs("button", { onClick: () => setTaxExpanded(e => !e), style: { display: "flex", alignItems: "center", gap: "4px", fontSize: "12px", color: `${text}40`, background: "none", border: "none", cursor: "pointer", padding: 0 }, children: [_jsx(motion.span, { animate: { rotate: taxExpanded ? 90 : 0 }, transition: { duration: 0.2 }, children: "\u203A" }), taxExpanded ? "Hide" : "Show", " tax details"] }), _jsx(AnimatePresence, { children: taxExpanded && (_jsx(motion.div, { initial: { height: 0, opacity: 0 }, animate: { height: "auto", opacity: 1 }, exit: { height: 0, opacity: 0 }, transition: { duration: 0.25, ease: [0.25, 0.46, 0.45, 0.94] }, style: { overflow: "hidden" }, children: _jsx("p", { style: { fontSize: "12px", color: `${text}40`, paddingTop: "4px" }, children: taxNote }) })) })] }))] }) })] })] }));
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=CartSummary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CartSummary.js","sourceRoot":"","sources":["../../src/cart/CartSummary.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CartTrigger.d.ts","sourceRoot":"","sources":["../../src/cart/CartTrigger.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,cAAc,2CA4DrE"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { motion } from "framer-motion";
|
|
3
|
+
import { ShoppingBag } from "lucide-react";
|
|
4
|
+
import { useLxCart } from "../context/LxCartContext";
|
|
5
|
+
export default function CartTrigger({ content, theme }) {
|
|
6
|
+
const { openDrawer, totalQuantity } = useLxCart();
|
|
7
|
+
const label = content.label || "View Cart";
|
|
8
|
+
const subhead = content.subhead || "";
|
|
9
|
+
const accent = theme.palette.accent;
|
|
10
|
+
const btnText = theme.button?.text ?? "#fff";
|
|
11
|
+
const btnRadius = theme.button?.radius ?? "8px";
|
|
12
|
+
const fontDisplay = theme.fonts.display;
|
|
13
|
+
return (_jsxs("section", { style: {
|
|
14
|
+
display: "flex",
|
|
15
|
+
flexDirection: "column",
|
|
16
|
+
alignItems: "center",
|
|
17
|
+
justifyContent: "center",
|
|
18
|
+
padding: "4rem 1rem",
|
|
19
|
+
gap: "1rem",
|
|
20
|
+
textAlign: "center",
|
|
21
|
+
}, children: [subhead && (_jsx("p", { style: { fontSize: 14, opacity: 0.6, color: theme.palette.text, margin: 0 }, children: subhead })), _jsxs(motion.button, { whileHover: { scale: 1.03 }, whileTap: { scale: 0.97 }, onClick: openDrawer, style: {
|
|
22
|
+
background: accent,
|
|
23
|
+
color: btnText,
|
|
24
|
+
border: "none",
|
|
25
|
+
borderRadius: btnRadius,
|
|
26
|
+
padding: "14px 32px",
|
|
27
|
+
fontSize: 15,
|
|
28
|
+
fontWeight: 600,
|
|
29
|
+
fontFamily: fontDisplay,
|
|
30
|
+
cursor: "pointer",
|
|
31
|
+
display: "inline-flex",
|
|
32
|
+
alignItems: "center",
|
|
33
|
+
gap: 8,
|
|
34
|
+
position: "relative",
|
|
35
|
+
}, children: [_jsx(ShoppingBag, { size: 18 }), label, totalQuantity > 0 && (_jsx("span", { style: {
|
|
36
|
+
background: btnText,
|
|
37
|
+
color: accent,
|
|
38
|
+
fontSize: 10,
|
|
39
|
+
fontWeight: 700,
|
|
40
|
+
borderRadius: "999px",
|
|
41
|
+
padding: "1px 6px",
|
|
42
|
+
lineHeight: 1.5,
|
|
43
|
+
}, children: totalQuantity }))] })] }));
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=CartTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CartTrigger.js","sourceRoot":"","sources":["../../src/cart/CartTrigger.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAkB;IACpE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,CAAC;IAClD,MAAM,KAAK,GAAI,OAAO,CAAC,KAAgB,IAAI,WAAW,CAAC;IACvD,MAAM,OAAO,GAAI,OAAO,CAAC,OAAkB,IAAI,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;IACpC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC;IAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,KAAK,CAAC;IAChD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;IAExC,OAAO,CACL,mBAAS,KAAK,EAAE;YACd,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,OAAO,EAAE,WAAW;YACpB,GAAG,EAAE,MAAM;YACX,SAAS,EAAE,QAAQ;SACpB,aACE,OAAO,IAAI,CACV,YAAG,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,YAAG,OAAO,GAAK,CAC9F,EACD,MAAC,MAAM,CAAC,MAAM,IACZ,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAC3B,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EACzB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE;oBACL,UAAU,EAAE,MAAM;oBAClB,KAAK,EAAE,OAAO;oBACd,MAAM,EAAE,MAAM;oBACd,YAAY,EAAE,SAAS;oBACvB,OAAO,EAAE,WAAW;oBACpB,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,GAAG;oBACf,UAAU,EAAE,WAAW;oBACvB,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,aAAa;oBACtB,UAAU,EAAE,QAAQ;oBACpB,GAAG,EAAE,CAAC;oBACN,QAAQ,EAAE,UAAU;iBACrB,aAED,KAAC,WAAW,IAAC,IAAI,EAAE,EAAE,GAAI,EACxB,KAAK,EACL,aAAa,GAAG,CAAC,IAAI,CACpB,eAAM,KAAK,EAAE;4BACX,UAAU,EAAE,OAAO;4BACnB,KAAK,EAAE,MAAM;4BACb,QAAQ,EAAE,EAAE;4BACZ,UAAU,EAAE,GAAG;4BACf,YAAY,EAAE,OAAO;4BACrB,OAAO,EAAE,SAAS;4BAClB,UAAU,EAAE,GAAG;yBAChB,YACE,aAAa,GACT,CACR,IACa,IACR,CACX,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GuaranteeBanner.d.ts","sourceRoot":"","sources":["../../src/cart/GuaranteeBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAQ/C,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,cAAc,2CAuCjG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { elStyle } from "../utils/elementStyles";
|
|
3
|
+
export default function GuaranteeBanner({ content, variant, theme, elementStyles }) {
|
|
4
|
+
const guarantees = content.guarantees || [];
|
|
5
|
+
return (_jsx("section", { className: "border-y py-6 px-5", style: {
|
|
6
|
+
backgroundColor: theme.palette.surface,
|
|
7
|
+
borderColor: `${theme.palette.text}10`,
|
|
8
|
+
}, children: _jsx("div", { className: "mx-auto max-w-6xl", children: _jsx("div", { className: "grid grid-cols-2 md:flex md:flex-row md:items-center md:justify-center gap-4 md:gap-8", children: guarantees.map((item, idx) => (_jsxs("div", { className: "flex items-center justify-center gap-2 text-center", children: [variant === "with-icons" && (_jsx("span", { className: "text-xl flex-shrink-0", children: item.icon })), _jsx("span", { "data-lx-field": "text", className: `text-xs md:text-sm font-medium ${variant === "minimal" ? "px-3 py-1 rounded-full" : ""}`, style: {
|
|
9
|
+
color: theme.palette.text,
|
|
10
|
+
fontFamily: `${theme.fonts.body}, sans-serif`,
|
|
11
|
+
...(variant === "minimal" ? { backgroundColor: `${theme.palette.text}08` } : {}),
|
|
12
|
+
...elStyle(elementStyles, "text"),
|
|
13
|
+
}, children: item.text })] }, idx))) }) }) }));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=GuaranteeBanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GuaranteeBanner.js","sourceRoot":"","sources":["../../src/cart/GuaranteeBanner.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAOjD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAkB;IAChG,MAAM,UAAU,GAAI,OAAO,CAAC,UAA8B,IAAI,EAAE,CAAC;IAEjE,OAAO,CACL,kBACE,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EAAE;YACL,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;YACtC,WAAW,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI;SACvC,YAED,cAAK,SAAS,EAAC,mBAAmB,YAChC,cAAK,SAAS,EAAC,uFAAuF,YACnG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAC7B,eAEE,SAAS,EAAC,oDAAoD,aAE7D,OAAO,KAAK,YAAY,IAAI,CAC3B,eAAM,SAAS,EAAC,uBAAuB,YAAE,IAAI,CAAC,IAAI,GAAQ,CAC3D,EACD,gCACgB,MAAM,EACpB,SAAS,EAAE,kCAAkC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,EAAE,EACpG,KAAK,EAAE;gCACL,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;gCACzB,UAAU,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,cAAc;gCAC7C,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCAChF,GAAG,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC;6BAClC,YAEA,IAAI,CAAC,IAAI,GACL,KAjBF,GAAG,CAkBJ,CACP,CAAC,GACE,GACF,GACE,CACX,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { default as GuaranteeBanner } from "./GuaranteeBanner";
|
|
2
|
+
export { default as CartLines } from "./CartLines";
|
|
3
|
+
export { default as CartSummary } from "./CartSummary";
|
|
4
|
+
export { default as CartCheckoutBar } from "./CartCheckoutBar";
|
|
5
|
+
export { default as CartDiscount } from "./CartDiscount";
|
|
6
|
+
export { default as CartDrawer } from "./CartDrawer";
|
|
7
|
+
export { default as CartTrigger } from "./CartTrigger";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { default as GuaranteeBanner } from "./GuaranteeBanner";
|
|
2
|
+
export { default as CartLines } from "./CartLines";
|
|
3
|
+
export { default as CartSummary } from "./CartSummary";
|
|
4
|
+
export { default as CartCheckoutBar } from "./CartCheckoutBar";
|
|
5
|
+
export { default as CartDiscount } from "./CartDiscount";
|
|
6
|
+
export { default as CartDrawer } from "./CartDrawer";
|
|
7
|
+
export { default as CartTrigger } from "./CartTrigger";
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BeforeAfterSlider.d.ts","sourceRoot":"","sources":["../../src/content/BeforeAfterSlider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI/C,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,cAAc,2CAyMnG"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useRef, useState } from "react";
|
|
3
|
+
import { renderText } from "../renderText";
|
|
4
|
+
import { elStyle } from "../utils/elementStyles";
|
|
5
|
+
export default function BeforeAfterSlider({ content, variant, theme, elementStyles }) {
|
|
6
|
+
const beforeUrl = renderText(content.before_url);
|
|
7
|
+
const afterUrl = renderText(content.after_url);
|
|
8
|
+
const beforeLabel = content.before_label ? renderText(content.before_label) : "Before";
|
|
9
|
+
const afterLabel = content.after_label ? renderText(content.after_label) : "After";
|
|
10
|
+
const heading = content.heading ? renderText(content.heading) : undefined;
|
|
11
|
+
const subhead = content.subhead ? renderText(content.subhead) : undefined;
|
|
12
|
+
const [sliderPos, setSliderPos] = useState(50);
|
|
13
|
+
const [showing, setShowing] = useState("after");
|
|
14
|
+
const containerRef = useRef(null);
|
|
15
|
+
const getPercent = (clientX) => {
|
|
16
|
+
const rect = containerRef.current?.getBoundingClientRect();
|
|
17
|
+
if (!rect)
|
|
18
|
+
return 50;
|
|
19
|
+
const x = Math.max(0, Math.min(clientX - rect.left, rect.width));
|
|
20
|
+
return (x / rect.width) * 100;
|
|
21
|
+
};
|
|
22
|
+
const [dragging, setDragging] = useState(false);
|
|
23
|
+
const onMouseMove = (e) => {
|
|
24
|
+
if (variant === "drag")
|
|
25
|
+
setSliderPos(getPercent(e.clientX));
|
|
26
|
+
};
|
|
27
|
+
const onTouchMove = (e) => {
|
|
28
|
+
if (variant === "drag" && e.touches[0])
|
|
29
|
+
setSliderPos(getPercent(e.touches[0].clientX));
|
|
30
|
+
};
|
|
31
|
+
const headerBlock = (heading || subhead) ? (_jsxs("div", { className: "text-center mb-8", children: [heading && (_jsx("h2", { "data-lx-field": "heading", className: "text-3xl md:text-4xl font-bold mb-3", style: { fontFamily: `${theme.fonts.display}, serif`, color: theme.palette.text, ...elStyle(elementStyles, "heading") }, children: heading })), subhead && (_jsx("p", { "data-lx-field": "subhead", className: "text-base md:text-lg opacity-70", style: { fontFamily: `${theme.fonts.body}, sans-serif`, color: theme.palette.text, ...elStyle(elementStyles, "subhead") }, children: subhead }))] })) : null;
|
|
32
|
+
if (variant === "side_by_side") {
|
|
33
|
+
return (_jsx("section", { className: "py-16 px-5 md:py-24 lg:py-32", style: { backgroundColor: theme.palette.bg }, children: _jsxs("div", { className: "mx-auto max-w-7xl", children: [headerBlock, _jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [{ url: beforeUrl, label: beforeLabel }, { url: afterUrl, label: afterLabel }].map((item, idx) => (_jsxs("div", { className: "relative overflow-hidden rounded-2xl", children: [_jsx("img", { src: item.url, alt: item.label, className: "w-full h-auto object-cover" }), _jsx("div", { "data-lx-field": idx === 0 ? "before_label" : "after_label", className: "absolute bottom-3 left-3 px-3 py-1 rounded-full text-sm font-semibold", style: { backgroundColor: "rgba(0,0,0,0.55)", color: "#fff", ...elStyle(elementStyles, idx === 0 ? "before_label" : "after_label") }, children: item.label })] }, idx))) })] }) }));
|
|
34
|
+
}
|
|
35
|
+
if (variant === "click_toggle") {
|
|
36
|
+
return (_jsx("section", { className: "py-16 px-5 md:py-24 lg:py-32", style: { backgroundColor: theme.palette.bg }, children: _jsxs("div", { className: "mx-auto max-w-7xl", children: [headerBlock, _jsxs("div", { className: "relative overflow-hidden rounded-2xl mx-auto max-w-3xl", style: { userSelect: "none" }, children: [_jsx("img", { src: beforeUrl, alt: beforeLabel, className: "w-full h-auto object-cover block", style: { opacity: showing === "before" ? 1 : 0, transition: `opacity 0.4s ease`, position: showing === "before" ? "relative" : "absolute", top: 0, left: 0, width: "100%", height: "100%" } }), _jsx("img", { src: afterUrl, alt: afterLabel, className: "w-full h-auto object-cover block", style: { opacity: showing === "after" ? 1 : 0, transition: `opacity 0.4s ease`, position: showing === "after" ? "relative" : "absolute", top: 0, left: 0, width: "100%", height: "100%" } }), _jsx("div", { className: "absolute bottom-4 left-0 right-0 flex justify-center gap-3 pointer-events-none", children: ["before", "after"].map((s) => (_jsx("span", { "data-lx-field": s === "before" ? "before_label" : "after_label", className: "px-3 py-1 rounded-full text-sm font-semibold pointer-events-auto cursor-pointer transition-all", style: {
|
|
37
|
+
backgroundColor: showing === s ? theme.palette.accent : "rgba(0,0,0,0.45)",
|
|
38
|
+
color: "#fff",
|
|
39
|
+
transform: showing === s ? "scale(1.05)" : "scale(1)",
|
|
40
|
+
...elStyle(elementStyles, s === "before" ? "before_label" : "after_label"),
|
|
41
|
+
}, onClick: () => setShowing(s), children: s === "before" ? beforeLabel : afterLabel }, s))) })] })] }) }));
|
|
42
|
+
}
|
|
43
|
+
// drag (default)
|
|
44
|
+
return (_jsxs("section", { className: "py-16 px-5 md:py-24 lg:py-32", style: { backgroundColor: theme.palette.bg }, children: [_jsx("style", { children: `
|
|
45
|
+
.lx-ba-handle { cursor: col-resize; touch-action: none; }
|
|
46
|
+
.lx-ba-handle:hover .lx-ba-circle { transform: scale(1.15); }
|
|
47
|
+
` }), _jsxs("div", { className: "mx-auto max-w-7xl", children: [headerBlock, _jsxs("div", { ref: containerRef, className: "relative overflow-hidden rounded-2xl mx-auto max-w-3xl select-none lx-ba-handle", onMouseMove: onMouseMove, onMouseDown: () => setDragging(true), onMouseUp: () => setDragging(false), onMouseLeave: () => setDragging(false), onTouchMove: onTouchMove, onTouchStart: () => setDragging(true), onTouchEnd: () => setDragging(false), style: { userSelect: "none" }, children: [_jsx("img", { src: afterUrl, alt: afterLabel, className: "w-full h-auto object-cover block", draggable: false }), _jsx("img", { src: beforeUrl, alt: beforeLabel, className: "absolute inset-0 w-full h-full object-cover", draggable: false, style: {
|
|
48
|
+
clipPath: `inset(0 ${100 - sliderPos}% 0 0)`,
|
|
49
|
+
transition: dragging ? "none" : "clip-path 0.05s ease",
|
|
50
|
+
} }), _jsx("div", { "data-lx-field": "before_label", className: "absolute top-3 left-3 px-3 py-1 rounded-full text-sm font-semibold pointer-events-none", style: { backgroundColor: "rgba(0,0,0,0.5)", color: "#fff", opacity: sliderPos > 15 ? 1 : 0, transition: "opacity 0.2s", ...elStyle(elementStyles, "before_label") }, children: beforeLabel }), _jsx("div", { "data-lx-field": "after_label", className: "absolute top-3 right-3 px-3 py-1 rounded-full text-sm font-semibold pointer-events-none", style: { backgroundColor: "rgba(0,0,0,0.5)", color: "#fff", opacity: sliderPos < 85 ? 1 : 0, transition: "opacity 0.2s", ...elStyle(elementStyles, "after_label") }, children: afterLabel }), _jsx("div", { className: "absolute top-0 bottom-0 w-0.5 pointer-events-none", style: {
|
|
51
|
+
left: `${sliderPos}%`,
|
|
52
|
+
backgroundColor: "#fff",
|
|
53
|
+
boxShadow: "0 0 8px rgba(0,0,0,0.4)",
|
|
54
|
+
transform: "translateX(-50%)",
|
|
55
|
+
}, children: _jsx("div", { className: "lx-ba-circle absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-10 h-10 rounded-full flex items-center justify-center", style: {
|
|
56
|
+
backgroundColor: "#fff",
|
|
57
|
+
boxShadow: "0 2px 12px rgba(0,0,0,0.3)",
|
|
58
|
+
transition: "transform 0.2s ease",
|
|
59
|
+
}, children: _jsx("span", { className: "text-xs font-bold select-none", style: { color: theme.palette.text }, children: "\u25C0\u25B6" }) }) })] })] })] }));
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=BeforeAfterSlider.js.map
|