@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.
Files changed (633) hide show
  1. package/dist/PageRenderer.d.ts +8 -0
  2. package/dist/PageRenderer.d.ts.map +1 -0
  3. package/dist/PageRenderer.js +116 -0
  4. package/dist/PageRenderer.js.map +1 -0
  5. package/dist/SectionSkeleton.d.ts +2 -0
  6. package/dist/SectionSkeleton.d.ts.map +1 -0
  7. package/dist/SectionSkeleton.js +5 -0
  8. package/dist/SectionSkeleton.js.map +1 -0
  9. package/dist/ThemeContext.d.ts +11 -0
  10. package/dist/ThemeContext.d.ts.map +1 -0
  11. package/dist/ThemeContext.js +13 -0
  12. package/dist/ThemeContext.js.map +1 -0
  13. package/dist/ThemeProvider.d.ts +9 -0
  14. package/dist/ThemeProvider.d.ts.map +1 -0
  15. package/dist/ThemeProvider.js +227 -0
  16. package/dist/ThemeProvider.js.map +1 -0
  17. package/dist/ThemeToggle.d.ts +6 -0
  18. package/dist/ThemeToggle.d.ts.map +1 -0
  19. package/dist/ThemeToggle.js +26 -0
  20. package/dist/ThemeToggle.js.map +1 -0
  21. package/dist/animations/advanced-hooks.d.ts +36 -0
  22. package/dist/animations/advanced-hooks.d.ts.map +1 -0
  23. package/dist/animations/advanced-hooks.js +106 -0
  24. package/dist/animations/advanced-hooks.js.map +1 -0
  25. package/dist/animations/canvas-utils.d.ts +41 -0
  26. package/dist/animations/canvas-utils.d.ts.map +1 -0
  27. package/dist/animations/canvas-utils.js +115 -0
  28. package/dist/animations/canvas-utils.js.map +1 -0
  29. package/dist/animations/hooks.d.ts +48 -0
  30. package/dist/animations/hooks.d.ts.map +1 -0
  31. package/dist/animations/hooks.js +50 -0
  32. package/dist/animations/hooks.js.map +1 -0
  33. package/dist/animations/index.d.ts +4 -0
  34. package/dist/animations/index.d.ts.map +1 -0
  35. package/dist/animations/index.js +4 -0
  36. package/dist/animations/index.js.map +1 -0
  37. package/dist/animations/presets.d.ts +43 -0
  38. package/dist/animations/presets.d.ts.map +1 -0
  39. package/dist/animations/presets.js +278 -0
  40. package/dist/animations/presets.js.map +1 -0
  41. package/dist/animations/variants.d.ts +15 -0
  42. package/dist/animations/variants.d.ts.map +1 -0
  43. package/dist/animations/variants.js +90 -0
  44. package/dist/animations/variants.js.map +1 -0
  45. package/dist/backgrounds/BackgroundSection.d.ts +3 -0
  46. package/dist/backgrounds/BackgroundSection.d.ts.map +1 -0
  47. package/dist/backgrounds/BackgroundSection.js +205 -0
  48. package/dist/backgrounds/BackgroundSection.js.map +1 -0
  49. package/dist/buttons/ButtonSection.d.ts +3 -0
  50. package/dist/buttons/ButtonSection.d.ts.map +1 -0
  51. package/dist/buttons/ButtonSection.js +150 -0
  52. package/dist/buttons/ButtonSection.js.map +1 -0
  53. package/dist/cards/CardStack.d.ts +3 -0
  54. package/dist/cards/CardStack.d.ts.map +1 -0
  55. package/dist/cards/CardStack.js +140 -0
  56. package/dist/cards/CardStack.js.map +1 -0
  57. package/dist/cards/FeatureCard.d.ts +3 -0
  58. package/dist/cards/FeatureCard.d.ts.map +1 -0
  59. package/dist/cards/FeatureCard.js +100 -0
  60. package/dist/cards/FeatureCard.js.map +1 -0
  61. package/dist/cards/FeaturedCard.d.ts +3 -0
  62. package/dist/cards/FeaturedCard.d.ts.map +1 -0
  63. package/dist/cards/FeaturedCard.js +66 -0
  64. package/dist/cards/FeaturedCard.js.map +1 -0
  65. package/dist/cards/TerminalCard.d.ts +3 -0
  66. package/dist/cards/TerminalCard.d.ts.map +1 -0
  67. package/dist/cards/TerminalCard.js +73 -0
  68. package/dist/cards/TerminalCard.js.map +1 -0
  69. package/dist/cards/TestimonialCard.d.ts +3 -0
  70. package/dist/cards/TestimonialCard.d.ts.map +1 -0
  71. package/dist/cards/TestimonialCard.js +50 -0
  72. package/dist/cards/TestimonialCard.js.map +1 -0
  73. package/dist/cards/index.d.ts +2 -0
  74. package/dist/cards/index.d.ts.map +1 -0
  75. package/dist/cards/index.js +2 -0
  76. package/dist/cards/index.js.map +1 -0
  77. package/dist/cart/CartCheckoutBar.d.ts +3 -0
  78. package/dist/cart/CartCheckoutBar.d.ts.map +1 -0
  79. package/dist/cart/CartCheckoutBar.js +258 -0
  80. package/dist/cart/CartCheckoutBar.js.map +1 -0
  81. package/dist/cart/CartDiscount.d.ts +3 -0
  82. package/dist/cart/CartDiscount.d.ts.map +1 -0
  83. package/dist/cart/CartDiscount.js +78 -0
  84. package/dist/cart/CartDiscount.js.map +1 -0
  85. package/dist/cart/CartDrawer.d.ts +3 -0
  86. package/dist/cart/CartDrawer.d.ts.map +1 -0
  87. package/dist/cart/CartDrawer.js +141 -0
  88. package/dist/cart/CartDrawer.js.map +1 -0
  89. package/dist/cart/CartLines.d.ts +3 -0
  90. package/dist/cart/CartLines.d.ts.map +1 -0
  91. package/dist/cart/CartLines.js +227 -0
  92. package/dist/cart/CartLines.js.map +1 -0
  93. package/dist/cart/CartPage.d.ts +3 -0
  94. package/dist/cart/CartPage.d.ts.map +1 -0
  95. package/dist/cart/CartPage.js +128 -0
  96. package/dist/cart/CartPage.js.map +1 -0
  97. package/dist/cart/CartSummary.d.ts +3 -0
  98. package/dist/cart/CartSummary.d.ts.map +1 -0
  99. package/dist/cart/CartSummary.js +155 -0
  100. package/dist/cart/CartSummary.js.map +1 -0
  101. package/dist/cart/CartTrigger.d.ts +3 -0
  102. package/dist/cart/CartTrigger.d.ts.map +1 -0
  103. package/dist/cart/CartTrigger.js +45 -0
  104. package/dist/cart/CartTrigger.js.map +1 -0
  105. package/dist/cart/GuaranteeBanner.d.ts +3 -0
  106. package/dist/cart/GuaranteeBanner.d.ts.map +1 -0
  107. package/dist/cart/GuaranteeBanner.js +15 -0
  108. package/dist/cart/GuaranteeBanner.js.map +1 -0
  109. package/dist/cart/index.d.ts +8 -0
  110. package/dist/cart/index.d.ts.map +1 -0
  111. package/dist/cart/index.js +8 -0
  112. package/dist/cart/index.js.map +1 -0
  113. package/dist/content/BeforeAfterSlider.d.ts +3 -0
  114. package/dist/content/BeforeAfterSlider.d.ts.map +1 -0
  115. package/dist/content/BeforeAfterSlider.js +61 -0
  116. package/dist/content/BeforeAfterSlider.js.map +1 -0
  117. package/dist/content/ImageTextSplit.d.ts +3 -0
  118. package/dist/content/ImageTextSplit.d.ts.map +1 -0
  119. package/dist/content/ImageTextSplit.js +33 -0
  120. package/dist/content/ImageTextSplit.js.map +1 -0
  121. package/dist/content/LookbookGrid.d.ts +3 -0
  122. package/dist/content/LookbookGrid.d.ts.map +1 -0
  123. package/dist/content/LookbookGrid.js +183 -0
  124. package/dist/content/LookbookGrid.js.map +1 -0
  125. package/dist/content/ParallaxSection.d.ts +3 -0
  126. package/dist/content/ParallaxSection.d.ts.map +1 -0
  127. package/dist/content/ParallaxSection.js +66 -0
  128. package/dist/content/ParallaxSection.js.map +1 -0
  129. package/dist/content/RichText.d.ts +3 -0
  130. package/dist/content/RichText.d.ts.map +1 -0
  131. package/dist/content/RichText.js +21 -0
  132. package/dist/content/RichText.js.map +1 -0
  133. package/dist/content/index.d.ts +5 -0
  134. package/dist/content/index.d.ts.map +1 -0
  135. package/dist/content/index.js +5 -0
  136. package/dist/content/index.js.map +1 -0
  137. package/dist/content-types.d.ts +637 -0
  138. package/dist/content-types.d.ts.map +1 -0
  139. package/dist/content-types.js +2 -0
  140. package/dist/content-types.js.map +1 -0
  141. package/dist/context/LxCartContext.d.ts +71 -0
  142. package/dist/context/LxCartContext.d.ts.map +1 -0
  143. package/dist/context/LxCartContext.js +491 -0
  144. package/dist/context/LxCartContext.js.map +1 -0
  145. package/dist/context/LxEditorContext.d.ts +8 -0
  146. package/dist/context/LxEditorContext.d.ts.map +1 -0
  147. package/dist/context/LxEditorContext.js +10 -0
  148. package/dist/context/LxEditorContext.js.map +1 -0
  149. package/dist/context/LxPDPContext.d.ts +39 -0
  150. package/dist/context/LxPDPContext.d.ts.map +1 -0
  151. package/dist/context/LxPDPContext.js +52 -0
  152. package/dist/context/LxPDPContext.js.map +1 -0
  153. package/dist/cta/CtaFullWidth.d.ts +3 -0
  154. package/dist/cta/CtaFullWidth.d.ts.map +1 -0
  155. package/dist/cta/CtaFullWidth.js +30 -0
  156. package/dist/cta/CtaFullWidth.js.map +1 -0
  157. package/dist/cta/CtaStickyBottom.d.ts +3 -0
  158. package/dist/cta/CtaStickyBottom.d.ts.map +1 -0
  159. package/dist/cta/CtaStickyBottom.js +43 -0
  160. package/dist/cta/CtaStickyBottom.js.map +1 -0
  161. package/dist/cta/GuaranteeCta.d.ts +3 -0
  162. package/dist/cta/GuaranteeCta.d.ts.map +1 -0
  163. package/dist/cta/GuaranteeCta.js +27 -0
  164. package/dist/cta/GuaranteeCta.js.map +1 -0
  165. package/dist/cta/NewsletterSignup.d.ts +3 -0
  166. package/dist/cta/NewsletterSignup.d.ts.map +1 -0
  167. package/dist/cta/NewsletterSignup.js +35 -0
  168. package/dist/cta/NewsletterSignup.js.map +1 -0
  169. package/dist/cta/Popup.d.ts +3 -0
  170. package/dist/cta/Popup.d.ts.map +1 -0
  171. package/dist/cta/Popup.js +208 -0
  172. package/dist/cta/Popup.js.map +1 -0
  173. package/dist/cta/UrgencyCta.d.ts +3 -0
  174. package/dist/cta/UrgencyCta.d.ts.map +1 -0
  175. package/dist/cta/UrgencyCta.js +85 -0
  176. package/dist/cta/UrgencyCta.js.map +1 -0
  177. package/dist/cta/WaitlistCta.d.ts +3 -0
  178. package/dist/cta/WaitlistCta.d.ts.map +1 -0
  179. package/dist/cta/WaitlistCta.js +62 -0
  180. package/dist/cta/WaitlistCta.js.map +1 -0
  181. package/dist/cta/index.d.ts +3 -0
  182. package/dist/cta/index.d.ts.map +1 -0
  183. package/dist/cta/index.js +3 -0
  184. package/dist/cta/index.js.map +1 -0
  185. package/dist/effects/AnimatedBackground.d.ts +22 -0
  186. package/dist/effects/AnimatedBackground.d.ts.map +1 -0
  187. package/dist/effects/AnimatedBackground.js +313 -0
  188. package/dist/effects/AnimatedBackground.js.map +1 -0
  189. package/dist/effects/CanvasReveal.d.ts +5 -0
  190. package/dist/effects/CanvasReveal.d.ts.map +1 -0
  191. package/dist/effects/CanvasReveal.js +104 -0
  192. package/dist/effects/CanvasReveal.js.map +1 -0
  193. package/dist/effects/DecorativeOverlay.d.ts +10 -0
  194. package/dist/effects/DecorativeOverlay.d.ts.map +1 -0
  195. package/dist/effects/DecorativeOverlay.js +76 -0
  196. package/dist/effects/DecorativeOverlay.js.map +1 -0
  197. package/dist/effects/ScrollLinked.d.ts +3 -0
  198. package/dist/effects/ScrollLinked.d.ts.map +1 -0
  199. package/dist/effects/ScrollLinked.js +57 -0
  200. package/dist/effects/ScrollLinked.js.map +1 -0
  201. package/dist/effects/svg-library.d.ts +3 -0
  202. package/dist/effects/svg-library.d.ts.map +1 -0
  203. package/dist/effects/svg-library.js +105 -0
  204. package/dist/effects/svg-library.js.map +1 -0
  205. package/dist/faq/FaqAccordion.d.ts +3 -0
  206. package/dist/faq/FaqAccordion.d.ts.map +1 -0
  207. package/dist/faq/FaqAccordion.js +39 -0
  208. package/dist/faq/FaqAccordion.js.map +1 -0
  209. package/dist/faq/FaqTwoColumn.d.ts +3 -0
  210. package/dist/faq/FaqTwoColumn.d.ts.map +1 -0
  211. package/dist/faq/FaqTwoColumn.js +38 -0
  212. package/dist/faq/FaqTwoColumn.js.map +1 -0
  213. package/dist/faq/index.d.ts +3 -0
  214. package/dist/faq/index.d.ts.map +1 -0
  215. package/dist/faq/index.js +3 -0
  216. package/dist/faq/index.js.map +1 -0
  217. package/dist/features/BentoGrid.d.ts +3 -0
  218. package/dist/features/BentoGrid.d.ts.map +1 -0
  219. package/dist/features/BentoGrid.js +62 -0
  220. package/dist/features/BentoGrid.js.map +1 -0
  221. package/dist/features/FeatureGrid.d.ts +3 -0
  222. package/dist/features/FeatureGrid.d.ts.map +1 -0
  223. package/dist/features/FeatureGrid.js +89 -0
  224. package/dist/features/FeatureGrid.js.map +1 -0
  225. package/dist/features/FeatureTabs.d.ts +3 -0
  226. package/dist/features/FeatureTabs.d.ts.map +1 -0
  227. package/dist/features/FeatureTabs.js +64 -0
  228. package/dist/features/FeatureTabs.js.map +1 -0
  229. package/dist/features/ProcessSteps.d.ts +3 -0
  230. package/dist/features/ProcessSteps.d.ts.map +1 -0
  231. package/dist/features/ProcessSteps.js +74 -0
  232. package/dist/features/ProcessSteps.js.map +1 -0
  233. package/dist/heroes/HeroActivity.d.ts +3 -0
  234. package/dist/heroes/HeroActivity.d.ts.map +1 -0
  235. package/dist/heroes/HeroActivity.js +54 -0
  236. package/dist/heroes/HeroActivity.js.map +1 -0
  237. package/dist/heroes/HeroAnimated.d.ts +3 -0
  238. package/dist/heroes/HeroAnimated.d.ts.map +1 -0
  239. package/dist/heroes/HeroAnimated.js +101 -0
  240. package/dist/heroes/HeroAnimated.js.map +1 -0
  241. package/dist/heroes/HeroAurora.d.ts +3 -0
  242. package/dist/heroes/HeroAurora.d.ts.map +1 -0
  243. package/dist/heroes/HeroAurora.js +53 -0
  244. package/dist/heroes/HeroAurora.js.map +1 -0
  245. package/dist/heroes/HeroCarousel.d.ts +3 -0
  246. package/dist/heroes/HeroCarousel.d.ts.map +1 -0
  247. package/dist/heroes/HeroCarousel.js +187 -0
  248. package/dist/heroes/HeroCarousel.js.map +1 -0
  249. package/dist/heroes/HeroCentered.d.ts +3 -0
  250. package/dist/heroes/HeroCentered.d.ts.map +1 -0
  251. package/dist/heroes/HeroCentered.js +62 -0
  252. package/dist/heroes/HeroCentered.js.map +1 -0
  253. package/dist/heroes/HeroCinematicFullbleed.d.ts +3 -0
  254. package/dist/heroes/HeroCinematicFullbleed.d.ts.map +1 -0
  255. package/dist/heroes/HeroCinematicFullbleed.js +44 -0
  256. package/dist/heroes/HeroCinematicFullbleed.js.map +1 -0
  257. package/dist/heroes/HeroCountdown.d.ts +3 -0
  258. package/dist/heroes/HeroCountdown.d.ts.map +1 -0
  259. package/dist/heroes/HeroCountdown.js +64 -0
  260. package/dist/heroes/HeroCountdown.js.map +1 -0
  261. package/dist/heroes/HeroDarkSplitSticker.d.ts +3 -0
  262. package/dist/heroes/HeroDarkSplitSticker.d.ts.map +1 -0
  263. package/dist/heroes/HeroDarkSplitSticker.js +39 -0
  264. package/dist/heroes/HeroDarkSplitSticker.js.map +1 -0
  265. package/dist/heroes/HeroEditorial.d.ts +3 -0
  266. package/dist/heroes/HeroEditorial.d.ts.map +1 -0
  267. package/dist/heroes/HeroEditorial.js +30 -0
  268. package/dist/heroes/HeroEditorial.js.map +1 -0
  269. package/dist/heroes/HeroEditorialMinimal.d.ts +3 -0
  270. package/dist/heroes/HeroEditorialMinimal.d.ts.map +1 -0
  271. package/dist/heroes/HeroEditorialMinimal.js +47 -0
  272. package/dist/heroes/HeroEditorialMinimal.js.map +1 -0
  273. package/dist/heroes/HeroFullBleed.d.ts +3 -0
  274. package/dist/heroes/HeroFullBleed.d.ts.map +1 -0
  275. package/dist/heroes/HeroFullBleed.js +136 -0
  276. package/dist/heroes/HeroFullBleed.js.map +1 -0
  277. package/dist/heroes/HeroMini.d.ts +3 -0
  278. package/dist/heroes/HeroMini.d.ts.map +1 -0
  279. package/dist/heroes/HeroMini.js +25 -0
  280. package/dist/heroes/HeroMini.js.map +1 -0
  281. package/dist/heroes/HeroParallax.d.ts +3 -0
  282. package/dist/heroes/HeroParallax.d.ts.map +1 -0
  283. package/dist/heroes/HeroParallax.js +71 -0
  284. package/dist/heroes/HeroParallax.js.map +1 -0
  285. package/dist/heroes/HeroRetroCentered.d.ts +3 -0
  286. package/dist/heroes/HeroRetroCentered.d.ts.map +1 -0
  287. package/dist/heroes/HeroRetroCentered.js +49 -0
  288. package/dist/heroes/HeroRetroCentered.js.map +1 -0
  289. package/dist/heroes/HeroSplit.d.ts +3 -0
  290. package/dist/heroes/HeroSplit.d.ts.map +1 -0
  291. package/dist/heroes/HeroSplit.js +81 -0
  292. package/dist/heroes/HeroSplit.js.map +1 -0
  293. package/dist/heroes/HeroSpotlight.d.ts +3 -0
  294. package/dist/heroes/HeroSpotlight.d.ts.map +1 -0
  295. package/dist/heroes/HeroSpotlight.js +60 -0
  296. package/dist/heroes/HeroSpotlight.js.map +1 -0
  297. package/dist/heroes/HeroTrustSplit.d.ts +3 -0
  298. package/dist/heroes/HeroTrustSplit.d.ts.map +1 -0
  299. package/dist/heroes/HeroTrustSplit.js +53 -0
  300. package/dist/heroes/HeroTrustSplit.js.map +1 -0
  301. package/dist/heroes/HeroTypewriter.d.ts +3 -0
  302. package/dist/heroes/HeroTypewriter.d.ts.map +1 -0
  303. package/dist/heroes/HeroTypewriter.js +80 -0
  304. package/dist/heroes/HeroTypewriter.js.map +1 -0
  305. package/dist/heroes/index.d.ts +12 -0
  306. package/dist/heroes/index.d.ts.map +1 -0
  307. package/dist/heroes/index.js +12 -0
  308. package/dist/heroes/index.js.map +1 -0
  309. package/dist/index.d.ts +37 -0
  310. package/dist/index.d.ts.map +1 -0
  311. package/dist/index.js +49 -0
  312. package/dist/index.js.map +1 -0
  313. package/dist/layout/Footer.d.ts +3 -0
  314. package/dist/layout/Footer.d.ts.map +1 -0
  315. package/dist/layout/Footer.js +75 -0
  316. package/dist/layout/Footer.js.map +1 -0
  317. package/dist/layout/Navbar.d.ts +3 -0
  318. package/dist/layout/Navbar.d.ts.map +1 -0
  319. package/dist/layout/Navbar.js +81 -0
  320. package/dist/layout/Navbar.js.map +1 -0
  321. package/dist/layout/PromoTopBar.d.ts +3 -0
  322. package/dist/layout/PromoTopBar.d.ts.map +1 -0
  323. package/dist/layout/PromoTopBar.js +201 -0
  324. package/dist/layout/PromoTopBar.js.map +1 -0
  325. package/dist/layout/SectionDivider.d.ts +3 -0
  326. package/dist/layout/SectionDivider.d.ts.map +1 -0
  327. package/dist/layout/SectionDivider.js +13 -0
  328. package/dist/layout/SectionDivider.js.map +1 -0
  329. package/dist/layout/SectionTransition.d.ts +3 -0
  330. package/dist/layout/SectionTransition.d.ts.map +1 -0
  331. package/dist/layout/SectionTransition.js +60 -0
  332. package/dist/layout/SectionTransition.js.map +1 -0
  333. package/dist/layout/Ticker.d.ts +3 -0
  334. package/dist/layout/Ticker.d.ts.map +1 -0
  335. package/dist/layout/Ticker.js +32 -0
  336. package/dist/layout/Ticker.js.map +1 -0
  337. package/dist/layout/index.d.ts +6 -0
  338. package/dist/layout/index.d.ts.map +1 -0
  339. package/dist/layout/index.js +6 -0
  340. package/dist/layout/index.js.map +1 -0
  341. package/dist/personalization/CartRecovery.d.ts +3 -0
  342. package/dist/personalization/CartRecovery.d.ts.map +1 -0
  343. package/dist/personalization/CartRecovery.js +224 -0
  344. package/dist/personalization/CartRecovery.js.map +1 -0
  345. package/dist/personalization/CohortTrustStack.d.ts +3 -0
  346. package/dist/personalization/CohortTrustStack.d.ts.map +1 -0
  347. package/dist/personalization/CohortTrustStack.js +101 -0
  348. package/dist/personalization/CohortTrustStack.js.map +1 -0
  349. package/dist/personalization/LiveActivityTicker.d.ts +3 -0
  350. package/dist/personalization/LiveActivityTicker.d.ts.map +1 -0
  351. package/dist/personalization/LiveActivityTicker.js +137 -0
  352. package/dist/personalization/LiveActivityTicker.js.map +1 -0
  353. package/dist/personalization/LoyaltyStatus.d.ts +3 -0
  354. package/dist/personalization/LoyaltyStatus.d.ts.map +1 -0
  355. package/dist/personalization/LoyaltyStatus.js +185 -0
  356. package/dist/personalization/LoyaltyStatus.js.map +1 -0
  357. package/dist/personalization/PersonalizedGreeting.d.ts +3 -0
  358. package/dist/personalization/PersonalizedGreeting.d.ts.map +1 -0
  359. package/dist/personalization/PersonalizedGreeting.js +176 -0
  360. package/dist/personalization/PersonalizedGreeting.js.map +1 -0
  361. package/dist/personalization/PersonalizedRecommendations.d.ts +3 -0
  362. package/dist/personalization/PersonalizedRecommendations.d.ts.map +1 -0
  363. package/dist/personalization/PersonalizedRecommendations.js +156 -0
  364. package/dist/personalization/PersonalizedRecommendations.js.map +1 -0
  365. package/dist/personalization/ProgressMilestone.d.ts +3 -0
  366. package/dist/personalization/ProgressMilestone.d.ts.map +1 -0
  367. package/dist/personalization/ProgressMilestone.js +127 -0
  368. package/dist/personalization/ProgressMilestone.js.map +1 -0
  369. package/dist/personalization/ReengagementBanner.d.ts +3 -0
  370. package/dist/personalization/ReengagementBanner.d.ts.map +1 -0
  371. package/dist/personalization/ReengagementBanner.js +185 -0
  372. package/dist/personalization/ReengagementBanner.js.map +1 -0
  373. package/dist/personalization/ScarcityIndicator.d.ts +3 -0
  374. package/dist/personalization/ScarcityIndicator.d.ts.map +1 -0
  375. package/dist/personalization/ScarcityIndicator.js +264 -0
  376. package/dist/personalization/ScarcityIndicator.js.map +1 -0
  377. package/dist/personalization/VipGate.d.ts +3 -0
  378. package/dist/personalization/VipGate.d.ts.map +1 -0
  379. package/dist/personalization/VipGate.js +309 -0
  380. package/dist/personalization/VipGate.js.map +1 -0
  381. package/dist/placeholder/UnknownComponent.d.ts +6 -0
  382. package/dist/placeholder/UnknownComponent.d.ts.map +1 -0
  383. package/dist/placeholder/UnknownComponent.js +5 -0
  384. package/dist/placeholder/UnknownComponent.js.map +1 -0
  385. package/dist/pricing/PricingCards.d.ts +3 -0
  386. package/dist/pricing/PricingCards.d.ts.map +1 -0
  387. package/dist/pricing/PricingCards.js +143 -0
  388. package/dist/pricing/PricingCards.js.map +1 -0
  389. package/dist/primitives/AspectBox.d.ts +12 -0
  390. package/dist/primitives/AspectBox.d.ts.map +1 -0
  391. package/dist/primitives/AspectBox.js +15 -0
  392. package/dist/primitives/AspectBox.js.map +1 -0
  393. package/dist/primitives/CursorSpotlight.d.ts +11 -0
  394. package/dist/primitives/CursorSpotlight.d.ts.map +1 -0
  395. package/dist/primitives/CursorSpotlight.js +21 -0
  396. package/dist/primitives/CursorSpotlight.js.map +1 -0
  397. package/dist/primitives/HeadlineEffect.d.ts +16 -0
  398. package/dist/primitives/HeadlineEffect.d.ts.map +1 -0
  399. package/dist/primitives/HeadlineEffect.js +187 -0
  400. package/dist/primitives/HeadlineEffect.js.map +1 -0
  401. package/dist/primitives/Marquee.d.ts +11 -0
  402. package/dist/primitives/Marquee.d.ts.map +1 -0
  403. package/dist/primitives/Marquee.js +22 -0
  404. package/dist/primitives/Marquee.js.map +1 -0
  405. package/dist/primitives/MediaFlip.d.ts +16 -0
  406. package/dist/primitives/MediaFlip.d.ts.map +1 -0
  407. package/dist/primitives/MediaFlip.js +118 -0
  408. package/dist/primitives/MediaFlip.js.map +1 -0
  409. package/dist/primitives/MediaLoop.d.ts +15 -0
  410. package/dist/primitives/MediaLoop.d.ts.map +1 -0
  411. package/dist/primitives/MediaLoop.js +31 -0
  412. package/dist/primitives/MediaLoop.js.map +1 -0
  413. package/dist/primitives/PDPGallery.d.ts +24 -0
  414. package/dist/primitives/PDPGallery.d.ts.map +1 -0
  415. package/dist/primitives/PDPGallery.js +128 -0
  416. package/dist/primitives/PDPGallery.js.map +1 -0
  417. package/dist/primitives/TiltCard.d.ts +12 -0
  418. package/dist/primitives/TiltCard.d.ts.map +1 -0
  419. package/dist/primitives/TiltCard.js +41 -0
  420. package/dist/primitives/TiltCard.js.map +1 -0
  421. package/dist/product/BundleBuilder.d.ts +3 -0
  422. package/dist/product/BundleBuilder.d.ts.map +1 -0
  423. package/dist/product/BundleBuilder.js +34 -0
  424. package/dist/product/BundleBuilder.js.map +1 -0
  425. package/dist/product/BuyBox.d.ts +3 -0
  426. package/dist/product/BuyBox.d.ts.map +1 -0
  427. package/dist/product/BuyBox.js +398 -0
  428. package/dist/product/BuyBox.js.map +1 -0
  429. package/dist/product/ComparisonTable.d.ts +3 -0
  430. package/dist/product/ComparisonTable.d.ts.map +1 -0
  431. package/dist/product/ComparisonTable.js +59 -0
  432. package/dist/product/ComparisonTable.js.map +1 -0
  433. package/dist/product/FormatGrid.d.ts +3 -0
  434. package/dist/product/FormatGrid.d.ts.map +1 -0
  435. package/dist/product/FormatGrid.js +28 -0
  436. package/dist/product/FormatGrid.js.map +1 -0
  437. package/dist/product/PDPVariants.d.ts +3 -0
  438. package/dist/product/PDPVariants.d.ts.map +1 -0
  439. package/dist/product/PDPVariants.js +284 -0
  440. package/dist/product/PDPVariants.js.map +1 -0
  441. package/dist/product/PillNav.d.ts +3 -0
  442. package/dist/product/PillNav.d.ts.map +1 -0
  443. package/dist/product/PillNav.js +35 -0
  444. package/dist/product/PillNav.js.map +1 -0
  445. package/dist/product/ProductAccordion.d.ts +3 -0
  446. package/dist/product/ProductAccordion.d.ts.map +1 -0
  447. package/dist/product/ProductAccordion.js +46 -0
  448. package/dist/product/ProductAccordion.js.map +1 -0
  449. package/dist/product/ProductCard.d.ts +62 -0
  450. package/dist/product/ProductCard.d.ts.map +1 -0
  451. package/dist/product/ProductCard.js +442 -0
  452. package/dist/product/ProductCard.js.map +1 -0
  453. package/dist/product/ProductCarousel.d.ts +3 -0
  454. package/dist/product/ProductCarousel.d.ts.map +1 -0
  455. package/dist/product/ProductCarousel.js +123 -0
  456. package/dist/product/ProductCarousel.js.map +1 -0
  457. package/dist/product/ProductCenteredStack.d.ts +3 -0
  458. package/dist/product/ProductCenteredStack.d.ts.map +1 -0
  459. package/dist/product/ProductCenteredStack.js +28 -0
  460. package/dist/product/ProductCenteredStack.js.map +1 -0
  461. package/dist/product/ProductGallery.d.ts +3 -0
  462. package/dist/product/ProductGallery.d.ts.map +1 -0
  463. package/dist/product/ProductGallery.js +80 -0
  464. package/dist/product/ProductGallery.js.map +1 -0
  465. package/dist/product/ProductGrid.d.ts +3 -0
  466. package/dist/product/ProductGrid.d.ts.map +1 -0
  467. package/dist/product/ProductGrid.js +58 -0
  468. package/dist/product/ProductGrid.js.map +1 -0
  469. package/dist/product/ProductHighlightLeft.d.ts +3 -0
  470. package/dist/product/ProductHighlightLeft.d.ts.map +1 -0
  471. package/dist/product/ProductHighlightLeft.js +37 -0
  472. package/dist/product/ProductHighlightLeft.js.map +1 -0
  473. package/dist/product/ProductHighlightRight.d.ts +3 -0
  474. package/dist/product/ProductHighlightRight.d.ts.map +1 -0
  475. package/dist/product/ProductHighlightRight.js +23 -0
  476. package/dist/product/ProductHighlightRight.js.map +1 -0
  477. package/dist/product/ProductPage.d.ts +3 -0
  478. package/dist/product/ProductPage.d.ts.map +1 -0
  479. package/dist/product/ProductPage.js +105 -0
  480. package/dist/product/ProductPage.js.map +1 -0
  481. package/dist/product/SubscriptionToggle.d.ts +3 -0
  482. package/dist/product/SubscriptionToggle.d.ts.map +1 -0
  483. package/dist/product/SubscriptionToggle.js +38 -0
  484. package/dist/product/SubscriptionToggle.js.map +1 -0
  485. package/dist/product/Upsell.d.ts +3 -0
  486. package/dist/product/Upsell.d.ts.map +1 -0
  487. package/dist/product/Upsell.js +59 -0
  488. package/dist/product/Upsell.js.map +1 -0
  489. package/dist/product/VideoCarousel.d.ts +3 -0
  490. package/dist/product/VideoCarousel.d.ts.map +1 -0
  491. package/dist/product/VideoCarousel.js +188 -0
  492. package/dist/product/VideoCarousel.js.map +1 -0
  493. package/dist/product/index.d.ts +8 -0
  494. package/dist/product/index.d.ts.map +1 -0
  495. package/dist/product/index.js +8 -0
  496. package/dist/product/index.js.map +1 -0
  497. package/dist/registry-field-schemas.d.ts +66 -0
  498. package/dist/registry-field-schemas.d.ts.map +1 -0
  499. package/dist/registry-field-schemas.js +745 -0
  500. package/dist/registry-field-schemas.js.map +1 -0
  501. package/dist/registry-metadata.d.ts +10 -0
  502. package/dist/registry-metadata.d.ts.map +1 -0
  503. package/dist/registry-metadata.js +2 -0
  504. package/dist/registry-metadata.js.map +1 -0
  505. package/dist/registry.d.ts +20 -0
  506. package/dist/registry.d.ts.map +1 -0
  507. package/dist/registry.js +2317 -0
  508. package/dist/registry.js.map +1 -0
  509. package/dist/renderText.d.ts +6 -0
  510. package/dist/renderText.d.ts.map +1 -0
  511. package/dist/renderText.js +23 -0
  512. package/dist/renderText.js.map +1 -0
  513. package/dist/reviews/ReviewCarousel.d.ts +3 -0
  514. package/dist/reviews/ReviewCarousel.d.ts.map +1 -0
  515. package/dist/reviews/ReviewCarousel.js +24 -0
  516. package/dist/reviews/ReviewCarousel.js.map +1 -0
  517. package/dist/reviews/ReviewMasonry.d.ts +3 -0
  518. package/dist/reviews/ReviewMasonry.d.ts.map +1 -0
  519. package/dist/reviews/ReviewMasonry.js +25 -0
  520. package/dist/reviews/ReviewMasonry.js.map +1 -0
  521. package/dist/reviews/ReviewSpotlight.d.ts +3 -0
  522. package/dist/reviews/ReviewSpotlight.d.ts.map +1 -0
  523. package/dist/reviews/ReviewSpotlight.js +13 -0
  524. package/dist/reviews/ReviewSpotlight.js.map +1 -0
  525. package/dist/reviews/VideoTestimonials.d.ts +3 -0
  526. package/dist/reviews/VideoTestimonials.d.ts.map +1 -0
  527. package/dist/reviews/VideoTestimonials.js +35 -0
  528. package/dist/reviews/VideoTestimonials.js.map +1 -0
  529. package/dist/reviews/index.d.ts +4 -0
  530. package/dist/reviews/index.d.ts.map +1 -0
  531. package/dist/reviews/index.js +4 -0
  532. package/dist/reviews/index.js.map +1 -0
  533. package/dist/schemas/content.d.ts +125 -0
  534. package/dist/schemas/content.d.ts.map +1 -0
  535. package/dist/schemas/content.js +2 -0
  536. package/dist/schemas/content.js.map +1 -0
  537. package/dist/schemas/index.d.ts +3 -0
  538. package/dist/schemas/index.d.ts.map +1 -0
  539. package/dist/schemas/index.js +2 -0
  540. package/dist/schemas/index.js.map +1 -0
  541. package/dist/schemas/settings.d.ts +23 -0
  542. package/dist/schemas/settings.d.ts.map +1 -0
  543. package/dist/schemas/settings.js +321 -0
  544. package/dist/schemas/settings.js.map +1 -0
  545. package/dist/social-proof/AvatarGroup.d.ts +3 -0
  546. package/dist/social-proof/AvatarGroup.d.ts.map +1 -0
  547. package/dist/social-proof/AvatarGroup.js +58 -0
  548. package/dist/social-proof/AvatarGroup.js.map +1 -0
  549. package/dist/social-proof/LogoCarousel.d.ts +3 -0
  550. package/dist/social-proof/LogoCarousel.d.ts.map +1 -0
  551. package/dist/social-proof/LogoCarousel.js +49 -0
  552. package/dist/social-proof/LogoCarousel.js.map +1 -0
  553. package/dist/social-proof/LogoStrip.d.ts +3 -0
  554. package/dist/social-proof/LogoStrip.d.ts.map +1 -0
  555. package/dist/social-proof/LogoStrip.js +35 -0
  556. package/dist/social-proof/LogoStrip.js.map +1 -0
  557. package/dist/social-proof/PressMentions.d.ts +3 -0
  558. package/dist/social-proof/PressMentions.d.ts.map +1 -0
  559. package/dist/social-proof/PressMentions.js +40 -0
  560. package/dist/social-proof/PressMentions.js.map +1 -0
  561. package/dist/social-proof/StatsGrid.d.ts +3 -0
  562. package/dist/social-proof/StatsGrid.d.ts.map +1 -0
  563. package/dist/social-proof/StatsGrid.js +39 -0
  564. package/dist/social-proof/StatsGrid.js.map +1 -0
  565. package/dist/social-proof/TrustBadges.d.ts +3 -0
  566. package/dist/social-proof/TrustBadges.d.ts.map +1 -0
  567. package/dist/social-proof/TrustBadges.js +18 -0
  568. package/dist/social-proof/TrustBadges.js.map +1 -0
  569. package/dist/social-proof/index.d.ts +4 -0
  570. package/dist/social-proof/index.d.ts.map +1 -0
  571. package/dist/social-proof/index.js +4 -0
  572. package/dist/social-proof/index.js.map +1 -0
  573. package/dist/text-effects/TextEffect.d.ts +3 -0
  574. package/dist/text-effects/TextEffect.d.ts.map +1 -0
  575. package/dist/text-effects/TextEffect.js +277 -0
  576. package/dist/text-effects/TextEffect.js.map +1 -0
  577. package/dist/theme/resolve.d.ts +12 -0
  578. package/dist/theme/resolve.d.ts.map +1 -0
  579. package/dist/theme/resolve.js +26 -0
  580. package/dist/theme/resolve.js.map +1 -0
  581. package/dist/theme/tokens.d.ts +147 -0
  582. package/dist/theme/tokens.d.ts.map +1 -0
  583. package/dist/theme/tokens.js +113 -0
  584. package/dist/theme/tokens.js.map +1 -0
  585. package/dist/types.d.ts +154 -0
  586. package/dist/types.d.ts.map +1 -0
  587. package/dist/types.js +2 -0
  588. package/dist/types.js.map +1 -0
  589. package/dist/utils/elementStyles.d.ts +4 -0
  590. package/dist/utils/elementStyles.d.ts.map +1 -0
  591. package/dist/utils/elementStyles.js +6 -0
  592. package/dist/utils/elementStyles.js.map +1 -0
  593. package/dist/utils/icon-map.d.ts +128 -0
  594. package/dist/utils/icon-map.d.ts.map +1 -0
  595. package/dist/utils/icon-map.js +199 -0
  596. package/dist/utils/icon-map.js.map +1 -0
  597. package/dist/utils/imageStyle.d.ts +4 -0
  598. package/dist/utils/imageStyle.d.ts.map +1 -0
  599. package/dist/utils/imageStyle.js +23 -0
  600. package/dist/utils/imageStyle.js.map +1 -0
  601. package/dist/utils/renderIcon.d.ts +32 -0
  602. package/dist/utils/renderIcon.d.ts.map +1 -0
  603. package/dist/utils/renderIcon.js +188 -0
  604. package/dist/utils/renderIcon.js.map +1 -0
  605. package/dist/utils/schemaUtils.d.ts +9 -0
  606. package/dist/utils/schemaUtils.d.ts.map +1 -0
  607. package/dist/utils/schemaUtils.js +10 -0
  608. package/dist/utils/schemaUtils.js.map +1 -0
  609. package/dist/value-props/HowItWorks.d.ts +3 -0
  610. package/dist/value-props/HowItWorks.d.ts.map +1 -0
  611. package/dist/value-props/HowItWorks.js +23 -0
  612. package/dist/value-props/HowItWorks.js.map +1 -0
  613. package/dist/value-props/NumberedList.d.ts +3 -0
  614. package/dist/value-props/NumberedList.d.ts.map +1 -0
  615. package/dist/value-props/NumberedList.js +22 -0
  616. package/dist/value-props/NumberedList.js.map +1 -0
  617. package/dist/value-props/ValuePropsAlternating.d.ts +3 -0
  618. package/dist/value-props/ValuePropsAlternating.d.ts.map +1 -0
  619. package/dist/value-props/ValuePropsAlternating.js +22 -0
  620. package/dist/value-props/ValuePropsAlternating.js.map +1 -0
  621. package/dist/value-props/ValuePropsGrid.d.ts +3 -0
  622. package/dist/value-props/ValuePropsGrid.d.ts.map +1 -0
  623. package/dist/value-props/ValuePropsGrid.js +23 -0
  624. package/dist/value-props/ValuePropsGrid.js.map +1 -0
  625. package/dist/value-props/ValuePropsIconStrip.d.ts +3 -0
  626. package/dist/value-props/ValuePropsIconStrip.d.ts.map +1 -0
  627. package/dist/value-props/ValuePropsIconStrip.js +11 -0
  628. package/dist/value-props/ValuePropsIconStrip.js.map +1 -0
  629. package/dist/value-props/index.d.ts +6 -0
  630. package/dist/value-props/index.d.ts.map +1 -0
  631. package/dist/value-props/index.js +6 -0
  632. package/dist/value-props/index.js.map +1 -0
  633. 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,3 @@
1
+ import type { ComponentProps } from "../types";
2
+ export default function CartSummary({ content, variant, theme }: ComponentProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=CartSummary.d.ts.map
@@ -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,3 @@
1
+ import type { ComponentProps } from "../types";
2
+ export default function CartTrigger({ content, theme }: ComponentProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=CartTrigger.d.ts.map
@@ -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,3 @@
1
+ import type { ComponentProps } from "../types";
2
+ export default function GuaranteeBanner({ content, variant, theme, elementStyles }: ComponentProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=GuaranteeBanner.d.ts.map
@@ -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,3 @@
1
+ import type { ComponentProps } from "../types";
2
+ export default function BeforeAfterSlider({ content, variant, theme, elementStyles }: ComponentProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=BeforeAfterSlider.d.ts.map
@@ -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