@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,3 @@
1
+ import type { ComponentProps } from "../types";
2
+ export default function FormatGrid({ content, variant, theme, elementStyles }: ComponentProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=FormatGrid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatGrid.d.ts","sourceRoot":"","sources":["../../src/product/FormatGrid.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI/C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,cAAc,2CA4F5F"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { renderText } from "../renderText";
3
+ import { slotStyle } from "../utils/elementStyles";
4
+ export default function FormatGrid({ content, variant, theme, elementStyles }) {
5
+ const heading = content.heading ? renderText(content.heading) : null;
6
+ const subhead = content.subhead ? renderText(content.subhead) : null;
7
+ const body = content.body ? renderText(content.body) : null;
8
+ const rawItems = content.items || [];
9
+ const is3Col = variant === "3_col";
10
+ const gridCols = is3Col
11
+ ? "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3"
12
+ : "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4";
13
+ const items = rawItems.map((item) => {
14
+ const i = item;
15
+ return {
16
+ image_url: i.image_url ? renderText(i.image_url) : "",
17
+ label: i.label ? renderText(i.label) : "",
18
+ };
19
+ });
20
+ const es = (slot) => slotStyle(elementStyles, slot);
21
+ return (_jsxs("section", { className: "py-12", style: { backgroundColor: theme.palette.bg, ...es("section") }, children: [(heading || subhead) && (_jsxs("div", { className: "px-5 mb-6", children: [heading && (_jsx("h2", { className: "text-xl font-bold mb-1", style: {
22
+ fontFamily: `var(--lx-font-heading, ${theme.fonts.display})`,
23
+ fontWeight: `var(--lx-heading-weight, 700)`,
24
+ color: theme.palette.text,
25
+ ...es("heading"),
26
+ }, children: heading })), subhead && (_jsx("p", { className: "text-sm opacity-70", style: { fontFamily: theme.fonts.body, color: theme.palette.text, ...es("subhead") }, children: subhead }))] })), _jsx("div", { className: `${gridCols} gap-1 px-5`, style: es("grid"), children: items.map((item, idx) => (_jsxs("div", { className: "relative overflow-hidden aspect-[3/4] bg-gray-100", style: es("card"), children: [item.image_url && (_jsx("img", { src: item.image_url, alt: item.label, className: "w-full h-full object-cover" })), item.label && (_jsx("div", { className: "absolute bottom-4 left-1/2 -translate-x-1/2", children: _jsx("span", { className: "inline-block bg-white text-black rounded-full px-5 py-2 text-xs font-semibold tracking-wide whitespace-nowrap shadow-sm border border-gray-200", style: { fontFamily: theme.fonts.body, ...es("pill") }, children: item.label }) }))] }, idx))) }), body && (_jsx("div", { className: "px-5 mt-8", children: _jsx("p", { className: "text-lg md:text-xl font-medium leading-snug", style: { fontFamily: theme.fonts.body, color: theme.palette.text, ...es("body") }, children: body }) }))] }));
27
+ }
28
+ //# sourceMappingURL=FormatGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatGrid.js","sourceRoot":"","sources":["../../src/product/FormatGrid.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ComponentProps } from "../types";
2
+ export default function PDPVariants({ content, variant, theme, kit, generatedAssets, elementStyles, settings }: ComponentProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=PDPVariants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PDPVariants.d.ts","sourceRoot":"","sources":["../../src/product/PDPVariants.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AA+3B/C,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,cAAc,2CAM7H"}
@@ -0,0 +1,284 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { renderText } from "../renderText";
4
+ import { renderIcon } from "../utils/renderIcon";
5
+ import { AspectBox } from "../primitives/AspectBox";
6
+ import { MediaLoop } from "../primitives/MediaLoop";
7
+ import { PDPGallery } from "../primitives/PDPGallery";
8
+ import { LxPDPProvider, useLxPDP } from "../context/LxPDPContext";
9
+ import { elStyle } from "../utils/elementStyles";
10
+ // ─── Shared utilities ─────────────────────────────────────────────────────────
11
+ function parseImages(content) {
12
+ const raw = content.images;
13
+ if (!Array.isArray(raw)) {
14
+ const single = renderText(content.image_url || content.media_url);
15
+ return single ? [single] : [];
16
+ }
17
+ return raw.map((img) => {
18
+ if (typeof img === "string")
19
+ return img;
20
+ const obj = img;
21
+ return renderText(obj.url || obj.src || "");
22
+ }).filter(Boolean);
23
+ }
24
+ // ─── Shared inline buy controls (no section wrapper) ─────────────────────────
25
+ function BuyControls({ content, theme, accentOverride, }) {
26
+ const accent = accentOverride || theme.palette.accent;
27
+ const border = theme.palette.border || "#e5e7eb";
28
+ const textColor = theme.palette.text;
29
+ // Context — single source of truth for variant + quantity
30
+ const { selectedVariantIndex, setSelectedVariantIndex, variants: ctxVariants, quantity, setQuantity } = useLxPDP();
31
+ const ctaText = renderText(content.cta_text) || "Add to Cart";
32
+ const subscribePrice = content.subscribe_price ? renderText(content.subscribe_price) : undefined;
33
+ const subscribeLabel = renderText(content.subscribe_label) || "Subscribe & Save";
34
+ // Merge content.variants with context variants (context is authoritative for selection)
35
+ const rawVariants = ctxVariants.length > 0 ? ctxVariants : (content.variants || []);
36
+ const trustBadges = content.trust_badges || [];
37
+ const badges = content.badges || [];
38
+ const rating = typeof content.rating === "number" ? content.rating : undefined;
39
+ const reviewCount = typeof content.review_count === "number" ? content.review_count : undefined;
40
+ const features = content.features || [];
41
+ const secondaryCta = content.secondary_cta;
42
+ const emiOffers = content.emi_offers;
43
+ const selectorStyle = renderText(content.variant_selector_style) || "text";
44
+ // Price from context (may be variant-specific) or fall back to content
45
+ const price = renderText(content.price);
46
+ const compareAtPrice = content.compare_at_price ? renderText(content.compare_at_price) : undefined;
47
+ const [mode, setMode] = useState("one_time");
48
+ const selectedVariant = selectedVariantIndex;
49
+ const selectedGid = rawVariants[selectedVariant]?.gid || "";
50
+ const selectVariant = (i) => {
51
+ setSelectedVariantIndex(i);
52
+ };
53
+ return (_jsxs("div", { className: "space-y-4", children: [rating != null && (_jsxs("div", { style: { display: "flex", alignItems: "center", gap: "6px" }, children: [_jsxs("span", { style: { fontSize: "0.8rem", color: "#f59e0b" }, children: ["★".repeat(Math.round(Math.min(5, rating))), "☆".repeat(5 - Math.round(Math.min(5, rating)))] }), _jsx("span", { style: { fontSize: "0.8rem", fontWeight: 600, color: textColor }, children: rating }), reviewCount != null && _jsxs("span", { style: { fontSize: "0.8rem", opacity: 0.5, color: textColor }, children: ["(", reviewCount, ")"] })] })), _jsxs("div", { className: "flex items-baseline gap-3", children: [_jsx("span", { className: "text-3xl font-bold", style: { color: textColor }, children: price }), compareAtPrice && _jsx("span", { className: "text-lg line-through opacity-50", style: { color: textColor }, children: compareAtPrice }), compareAtPrice && (_jsx("span", { className: "text-xs px-2 py-0.5 rounded-full font-semibold text-white", style: { backgroundColor: accent }, children: "Sale" }))] }), emiOffers && (_jsxs("div", { style: { border: `1px solid ${border}`, borderRadius: "8px", padding: "10px 14px", display: "flex", alignItems: "center", gap: "10px" }, children: [_jsx("span", { style: { backgroundColor: emiOffers.accent_color || "#ef4444", color: "#fff", fontSize: "0.6rem", fontWeight: 700, padding: "2px 6px", borderRadius: "3px", flexShrink: 0 }, children: emiOffers.label }), _jsxs("div", { style: { flex: 1 }, children: [_jsx("div", { style: { fontSize: "0.8rem", fontWeight: 600, color: textColor }, children: emiOffers.headline }), emiOffers.subtext && _jsx("div", { style: { fontSize: "0.72rem", opacity: 0.6, color: textColor }, children: emiOffers.subtext })] }), emiOffers.url && _jsx("a", { href: emiOffers.url, style: { color: accent, fontSize: "0.9rem", fontWeight: 700, textDecoration: "none" }, children: "\u203A" })] })), features.length > 0 && (_jsx("div", { style: { display: "grid", gridTemplateColumns: "1fr 1fr", gap: "6px 16px", margin: "4px 0" }, children: features.map((f, i) => (_jsxs("div", { style: { display: "flex", alignItems: "center", gap: "6px", fontSize: "0.8rem", color: textColor, opacity: 0.8 }, children: [_jsx("span", { style: { flexShrink: 0 }, children: renderIcon(f.icon, { size: 14, color: textColor }) }), _jsx("span", { children: f.text })] }, i))) })), badges.length > 0 && (_jsx("div", { className: "flex flex-wrap gap-2", children: badges.map((b, i) => (_jsx("span", { className: "text-xs px-2.5 py-1 rounded-full border font-medium", style: { borderColor: border, color: textColor }, children: b }, i))) })), rawVariants.length > 0 && (_jsxs("div", { className: "space-y-2", children: [selectorStyle === "color_swatch" ? (_jsxs("p", { className: "text-sm font-medium", style: { color: textColor }, children: ["Color: ", _jsx("span", { className: "font-semibold", children: rawVariants[selectedVariant]?.label || rawVariants[selectedVariant]?.title })] })) : (_jsxs("p", { className: "text-sm font-medium", style: { color: textColor }, children: ["Option: ", _jsx("span", { className: "font-semibold", children: rawVariants[selectedVariant]?.label || rawVariants[selectedVariant]?.title })] })), _jsx("div", { className: "flex flex-wrap gap-2", children: rawVariants.map((v, i) => {
54
+ const isSelected = i === selectedVariant;
55
+ const name = v.label || v.title || "";
56
+ if (selectorStyle === "color_swatch") {
57
+ return (_jsx("button", { onClick: () => selectVariant(i), disabled: !v.available, title: name, style: { width: "28px", height: "28px", borderRadius: "50%", backgroundColor: v.color || accent, border: `3px solid ${isSelected ? accent : "transparent"}`, outline: isSelected ? `2px solid ${accent}` : "none", outlineOffset: "2px", opacity: !v.available ? 0.4 : 1, cursor: !v.available ? "not-allowed" : "pointer" } }, i));
58
+ }
59
+ if (selectorStyle === "image") {
60
+ return (_jsx("button", { onClick: () => selectVariant(i), disabled: !v.available, title: name, style: { width: "56px", height: "56px", borderRadius: "8px", overflow: "hidden", border: `2px solid ${isSelected ? accent : border}`, opacity: !v.available ? 0.4 : 1, cursor: !v.available ? "not-allowed" : "pointer", padding: 0 }, children: v.image_url
61
+ ? _jsx("img", { src: v.image_url, alt: name, style: { width: "100%", height: "100%", objectFit: "cover" } })
62
+ : _jsx("span", { style: { fontSize: "0.6rem", color: textColor }, children: name }) }, i));
63
+ }
64
+ return (_jsx("button", { onClick: () => selectVariant(i), disabled: !v.available, className: "px-4 py-2 text-sm rounded-lg border-2 transition-all", style: { borderColor: isSelected ? accent : border, backgroundColor: isSelected ? accent + "10" : "transparent", color: !v.available ? "#9ca3af" : textColor, textDecoration: !v.available ? "line-through" : "none", fontWeight: isSelected ? 600 : 400 }, children: name }, i));
65
+ }) })] })), subscribePrice && (_jsx("div", { className: "flex gap-2 p-1 rounded-xl", style: { backgroundColor: theme.palette.surface || "#f5f5f5" }, children: ["one_time", "subscribe"].map((m) => (_jsx("button", { onClick: () => setMode(m), className: "flex-1 py-2 text-sm font-medium rounded-lg transition-all", style: { backgroundColor: mode === m ? theme.palette.bg : "transparent", color: mode === m ? accent : textColor, boxShadow: mode === m ? "0 1px 4px rgba(0,0,0,0.08)" : "none" }, children: m === "one_time" ? `One-time ${price}` : `${subscribeLabel} ${subscribePrice}` }, m))) })), _jsx("button", { type: "button", "data-lx-atc": true, "data-variant-gid": selectedGid, "data-qty": "1", className: "w-full py-4 text-base font-semibold transition-all hover:-translate-y-0.5", style: { backgroundColor: accent, color: "#ffffff", borderRadius: "var(--lx-button-radius, 9999px)" }, children: ctaText }), secondaryCta && (_jsxs("a", { href: secondaryCta.url || "#", style: {
66
+ display: "flex", alignItems: "center", justifyContent: "center", gap: "8px",
67
+ backgroundColor: secondaryCta.style === "outline" ? "transparent" : (secondaryCta.color || accent),
68
+ color: secondaryCta.text_color || "#fff",
69
+ border: secondaryCta.style === "outline" ? `2px solid ${secondaryCta.color || accent}` : "none",
70
+ borderRadius: "var(--lx-button-radius, 9999px)", padding: "14px 24px",
71
+ fontWeight: 700, textDecoration: "none", fontSize: "0.9rem",
72
+ }, children: [secondaryCta.icon && renderIcon(secondaryCta.icon, { size: 18, color: secondaryCta.text_color || "#fff" }), secondaryCta.label] })), trustBadges.length > 0 && (_jsx("div", { className: "flex flex-wrap gap-4 pt-2 border-t", style: { borderColor: border }, children: trustBadges.map((badge, i) => (_jsxs("div", { className: "flex items-center gap-1.5 text-xs opacity-60", style: { color: textColor }, children: [_jsx("span", { children: badge.icon }), _jsx("span", { children: badge.text })] }, i))) }))] }));
73
+ }
74
+ // ─────────────────────────────────────────────────────────────────────────────
75
+ // Variant 1: sticky_gallery (Allbirds)
76
+ // Left: vertical thumb rail + large main image
77
+ // Right: sticky buy box + material callout strip
78
+ // ─────────────────────────────────────────────────────────────────────────────
79
+ function PDPStickyGallery({ content, theme, variant, elementStyles }) {
80
+ const baseImages = parseImages(content);
81
+ const rawVariants = content.variants || [];
82
+ const productName = renderText(content.product_name || content.headline || "");
83
+ return (_jsx(LxPDPProvider, { variants: rawVariants, baseImages: baseImages, productName: productName, price: renderText(content.price || ""), compareAtPrice: content.compare_at_price ? renderText(content.compare_at_price) : undefined, children: _jsx(PDPStickyGalleryInner, { content: content, theme: theme, variant: variant, elementStyles: elementStyles }) }));
84
+ }
85
+ function PDPStickyGalleryInner({ content, theme, elementStyles }) {
86
+ const { activeImages, selectedVariantIndex, activeGalleryIndex, setActiveGalleryIndex } = useLxPDP();
87
+ const productName = renderText(content.product_name || content.headline || "");
88
+ const eyebrow = content.eyebrow ? renderText(content.eyebrow) : undefined;
89
+ const description = renderText(content.description || "");
90
+ const materialCallouts = content.material_callouts || [];
91
+ const autoInterval = typeof content.auto_change_interval === "number" ? content.auto_change_interval : 0;
92
+ const imageAspect = content.image_aspect || "4:5";
93
+ const imageFit = content.image_fit || "contain";
94
+ const thumbPos = content.thumb_position || "left";
95
+ const animMode = content.animation_mode || "fade";
96
+ const accent = theme.palette.accent;
97
+ const border = theme.palette.border || "#e5e7eb";
98
+ const textColor = theme.palette.text;
99
+ return (_jsx("section", { style: { backgroundColor: theme.palette.bg }, className: "px-5 py-12", children: _jsxs("div", { className: "mx-auto max-w-6xl flex flex-col md:flex-row gap-8 md:gap-16 items-start", children: [_jsx("div", { className: "w-full md:w-[55%]", children: _jsx(PDPGallery, { images: activeImages, alt: productName, aspect: imageAspect, fit: imageFit, thumbPosition: thumbPos, autoInterval: autoInterval, animationMode: animMode, accentColor: accent, borderColor: border, activeIndex: activeGalleryIndex, onSelect: setActiveGalleryIndex }, selectedVariantIndex) }), _jsxs("div", { className: "w-full md:w-[45%] md:sticky md:top-20", children: [eyebrow && (_jsx("p", { style: { fontSize: "0.7rem", fontWeight: 700, textTransform: "uppercase", letterSpacing: "0.15em", color: accent, marginBottom: "8px" }, children: eyebrow })), productName && (_jsx("h1", { "data-lx-field": "headline", style: {
100
+ fontFamily: `${theme.fonts.display}, serif`, fontWeight: 700,
101
+ fontSize: "clamp(1.5rem, 2.5vw, 2.25rem)", lineHeight: 1.2,
102
+ color: textColor, marginBottom: "20px",
103
+ ...elStyle(elementStyles, "headline"),
104
+ }, children: productName })), _jsx(BuyControls, { content: content, theme: theme }), description && (_jsx("p", { "data-lx-field": "body", style: { marginTop: "16px", paddingTop: "16px", borderTop: `1px solid ${border}`, fontSize: "0.875rem", lineHeight: 1.7, opacity: 0.65, color: textColor, ...elStyle(elementStyles, "body") }, children: description })), materialCallouts.length > 0 && (_jsx("div", { className: "grid grid-cols-3 gap-4 mt-6 pt-5", style: { borderTop: `1px solid ${border}` }, children: materialCallouts.map((c, i) => (_jsxs("div", { style: { display: "flex", flexDirection: "column", alignItems: "center", textAlign: "center", gap: "6px" }, children: [_jsx("span", { children: renderIcon(c.icon, { size: 22, color: accent }) }), _jsx("span", { style: { fontSize: "0.75rem", fontWeight: 700, color: textColor }, children: c.title }), c.body && _jsx("span", { style: { fontSize: "0.7rem", opacity: 0.55, color: textColor, lineHeight: 1.4 }, children: c.body })] }, i))) }))] })] }) }));
105
+ }
106
+ // ─────────────────────────────────────────────────────────────────────────────
107
+ // Variant 2: film_strip_ingredients (ILIA)
108
+ // Left: images stacked vertically like a film strip (scroll to browse)
109
+ // Right: sticky — buy box + ingredient cards + clinical results
110
+ // ─────────────────────────────────────────────────────────────────────────────
111
+ function PDPFilmStripIngredients({ content, theme, variant, elementStyles }) {
112
+ return (_jsx(LxPDPProvider, { variants: content.variants || [], baseImages: parseImages(content), productName: renderText(content.product_name || content.headline || ""), price: renderText(content.price || ""), compareAtPrice: content.compare_at_price ? renderText(content.compare_at_price) : undefined, children: _jsx(PDPFilmStripIngredientsInner, { content: content, theme: theme, variant: variant, elementStyles: elementStyles }) }));
113
+ }
114
+ function PDPFilmStripIngredientsInner({ content, theme, elementStyles }) {
115
+ const images = parseImages(content);
116
+ const productName = renderText(content.product_name || content.headline || "");
117
+ const eyebrow = content.eyebrow ? renderText(content.eyebrow) : undefined;
118
+ const description = renderText(content.description || "");
119
+ const ingredients = content.ingredients || [];
120
+ const clinicalResults = content.clinical_results || [];
121
+ const accent = theme.palette.accent;
122
+ const border = theme.palette.border || "#e5e7eb";
123
+ const textColor = theme.palette.text;
124
+ return (_jsx("section", { style: { backgroundColor: theme.palette.bg }, className: "px-5 py-12", children: _jsxs("div", { className: "mx-auto max-w-6xl flex flex-col md:flex-row gap-8 md:gap-12 items-start", children: [_jsxs("div", { className: "w-full md:w-1/2 flex flex-col gap-3", children: [images.length === 0 && (_jsx(AspectBox, { aspect: "3:4", style: { borderRadius: "var(--lx-image-radius, 12px)", backgroundColor: "#f0f0f0" } })), images.map((img, i) => (_jsx(AspectBox, { aspect: "3:4", style: { borderRadius: "var(--lx-image-radius, 12px)", backgroundColor: "#f9f9f9" }, children: _jsx(MediaLoop, { src: img, alt: `${productName} ${i + 1}`, fit: "cover", applyImageTokens: true }) }, i)))] }), _jsxs("div", { className: "w-full md:w-1/2 md:sticky md:top-20 md:max-h-[calc(100vh-100px)] md:overflow-y-auto", children: [eyebrow && (_jsx("p", { style: { fontSize: "0.65rem", fontWeight: 800, textTransform: "uppercase", letterSpacing: "0.2em", color: accent, marginBottom: "8px" }, children: eyebrow })), productName && (_jsx("h1", { "data-lx-field": "headline", style: {
125
+ fontFamily: `${theme.fonts.display}, serif`, fontWeight: 700,
126
+ fontSize: "clamp(1.4rem, 2.2vw, 2rem)", lineHeight: 1.2,
127
+ color: textColor, marginBottom: "24px",
128
+ ...elStyle(elementStyles, "headline"),
129
+ }, children: productName })), _jsx(BuyControls, { content: content, theme: theme }), description && (_jsx("p", { style: { marginTop: "16px", paddingTop: "16px", borderTop: `1px solid ${border}`, fontSize: "0.85rem", lineHeight: 1.7, opacity: 0.65, color: textColor }, children: description })), ingredients.length > 0 && (_jsxs("div", { style: { marginTop: "28px" }, children: [_jsx("h3", { style: { fontSize: "0.7rem", fontWeight: 800, textTransform: "uppercase", letterSpacing: "0.15em", color: textColor, marginBottom: "14px" }, children: "Key Ingredients" }), _jsx("div", { className: "grid grid-cols-2 gap-3", children: ingredients.map((ing, i) => (_jsxs("div", { style: {
130
+ border: `1px solid ${border}`, borderRadius: "10px", overflow: "hidden",
131
+ backgroundColor: theme.palette.surface || "#fafafa",
132
+ }, children: [ing.image && (_jsx("div", { style: { height: "80px", overflow: "hidden" }, children: _jsx("img", { src: ing.image, alt: ing.name, style: { width: "100%", height: "100%", objectFit: "cover" } }) })), _jsxs("div", { style: { padding: "10px 12px" }, children: [_jsx("p", { style: { fontSize: "0.78rem", fontWeight: 700, color: textColor, marginBottom: "2px" }, children: ing.name }), _jsx("p", { style: { fontSize: "0.72rem", opacity: 0.6, color: textColor, lineHeight: 1.4 }, children: ing.benefit })] })] }, i))) })] })), clinicalResults.length > 0 && (_jsxs("div", { style: { marginTop: "24px", padding: "16px", backgroundColor: accent + "08", borderRadius: "12px", border: `1px solid ${accent}20` }, children: [_jsx("h3", { style: { fontSize: "0.7rem", fontWeight: 800, textTransform: "uppercase", letterSpacing: "0.15em", color: accent, marginBottom: "12px" }, children: "Clinical Results" }), _jsx("div", { style: { display: "flex", flexDirection: "column", gap: "8px" }, children: clinicalResults.map((r, i) => (_jsxs("div", { style: { display: "flex", alignItems: "center", gap: "12px" }, children: [_jsx("span", { style: { fontSize: "1.1rem", fontWeight: 800, color: accent, minWidth: "50px" }, children: r.stat }), _jsx("span", { style: { fontSize: "0.78rem", color: textColor, opacity: 0.75 }, children: r.claim })] }, i))) })] }))] })] }) }));
133
+ }
134
+ // ─────────────────────────────────────────────────────────────────────────────
135
+ // Variant 3: shade_studio (Glossier)
136
+ // Layout: image RIGHT, buy box LEFT
137
+ // Buy box leads with shade color picker + live name label
138
+ // Large hero image + horizontal thumb strip
139
+ // ─────────────────────────────────────────────────────────────────────────────
140
+ function PDPShadeStudio({ content, theme, variant, elementStyles }) {
141
+ const baseImages = parseImages(content);
142
+ const rawVariants = content.variants || [];
143
+ const productName = renderText(content.product_name || content.headline || "");
144
+ return (_jsx(LxPDPProvider, { variants: rawVariants, baseImages: baseImages, productName: productName, price: renderText(content.price || ""), compareAtPrice: content.compare_at_price ? renderText(content.compare_at_price) : undefined, children: _jsx(PDPShadeStudioInner, { content: content, theme: theme, variant: variant, elementStyles: elementStyles }) }));
145
+ }
146
+ function PDPShadeStudioInner({ content, theme, elementStyles }) {
147
+ const { activeImages, selectedVariantIndex, setSelectedVariantIndex, variants, activeGalleryIndex, setActiveGalleryIndex } = useLxPDP();
148
+ const productName = renderText(content.product_name || content.headline || "");
149
+ const description = renderText(content.description || "");
150
+ const [hoveredShade, setHoveredShade] = useState(null);
151
+ const editorialLink = content.editorial_link;
152
+ const autoInterval = typeof content.auto_change_interval === "number" ? content.auto_change_interval : 0;
153
+ const thumbPos = content.thumb_position || "bottom";
154
+ const animMode = content.animation_mode || "slide";
155
+ const accent = theme.palette.accent;
156
+ const border = theme.palette.border || "#e5e7eb";
157
+ const textColor = theme.palette.text;
158
+ const displayShade = hoveredShade ?? selectedVariantIndex;
159
+ const shadeName = variants[displayShade]?.label || variants[displayShade]?.title || "";
160
+ return (_jsx("section", { style: { backgroundColor: theme.palette.bg }, className: "px-5 py-12", children: _jsxs("div", { className: "mx-auto max-w-6xl flex flex-col-reverse md:flex-row-reverse gap-8 md:gap-14 items-start", children: [_jsx("div", { className: "w-full md:w-[60%]", children: _jsx(PDPGallery, { images: activeImages, alt: productName, aspect: "3:4", fit: "cover", thumbPosition: thumbPos, thumbSize: 56, autoInterval: autoInterval, animationMode: animMode, accentColor: accent, borderColor: border, imageRadius: "var(--lx-image-radius, 0px)", bgColor: "#f4f4f2", activeIndex: activeGalleryIndex, onSelect: setActiveGalleryIndex }, selectedVariantIndex) }), _jsxs("div", { className: "w-full md:w-[40%] md:sticky md:top-20", children: [variants.length > 0 && variants[0]?.color && (_jsxs("div", { style: { marginBottom: "20px" }, children: [_jsxs("p", { style: { fontSize: "0.78rem", fontWeight: 600, color: textColor, marginBottom: "10px" }, children: ["Shade: ", _jsx("span", { style: { fontWeight: 700 }, children: shadeName })] }), _jsx("div", { style: { display: "flex", flexWrap: "wrap", gap: "8px" }, children: variants.map((v, i) => {
161
+ const isSelected = i === selectedVariantIndex;
162
+ return (_jsx("button", { onClick: () => setSelectedVariantIndex(i), onMouseEnter: () => setHoveredShade(i), onMouseLeave: () => setHoveredShade(null), title: v.label || v.title || "", style: {
163
+ width: "30px", height: "30px", borderRadius: "50%",
164
+ backgroundColor: v.color || "#ccc",
165
+ border: `3px solid ${isSelected ? "white" : "transparent"}`,
166
+ outline: isSelected ? `2px solid ${accent}` : `1px solid ${border}`,
167
+ outlineOffset: "2px",
168
+ transform: isSelected ? "scale(1.15)" : "scale(1)",
169
+ cursor: "pointer", transition: "all 0.15s",
170
+ } }, i));
171
+ }) })] })), productName && (_jsx("h1", { "data-lx-field": "headline", style: {
172
+ fontFamily: `${theme.fonts.display}, serif`, fontWeight: 700,
173
+ fontSize: "clamp(1.4rem, 2.2vw, 2rem)", lineHeight: 1.2,
174
+ color: textColor, marginBottom: "20px",
175
+ ...elStyle(elementStyles, "headline"),
176
+ }, children: productName })), _jsx(BuyControls, { content: content, theme: theme }), description && (_jsx("p", { style: { marginTop: "16px", paddingTop: "16px", borderTop: `1px solid ${border}`, fontSize: "0.85rem", lineHeight: 1.7, opacity: 0.65, color: textColor }, children: description })), editorialLink?.label && (_jsxs("a", { href: editorialLink.url || "#", style: {
177
+ display: "inline-flex", alignItems: "center", gap: "6px",
178
+ marginTop: "16px", fontSize: "0.8rem", fontWeight: 600,
179
+ color: accent, textDecoration: "none", letterSpacing: "0.02em",
180
+ }, children: [editorialLink.label, " \u2192"] }))] })] }) }));
181
+ }
182
+ // ─────────────────────────────────────────────────────────────────────────────
183
+ // Variant 4: dark_premium (HexClad)
184
+ // Dark background (set in theme), cinematic hero image, feature 2×2 grid,
185
+ // endorsement badge overlay, accordion specs
186
+ // ─────────────────────────────────────────────────────────────────────────────
187
+ function PDPDarkPremium({ content, theme, variant, elementStyles }) {
188
+ return (_jsx(LxPDPProvider, { variants: content.variants || [], baseImages: parseImages(content), productName: renderText(content.product_name || content.headline || ""), price: renderText(content.price || ""), compareAtPrice: content.compare_at_price ? renderText(content.compare_at_price) : undefined, children: _jsx(PDPDarkPremiumInner, { content: content, theme: theme, variant: variant, elementStyles: elementStyles }) }));
189
+ }
190
+ function PDPDarkPremiumInner({ content, theme, elementStyles }) {
191
+ const { activeImages, selectedVariantIndex, activeGalleryIndex, setActiveGalleryIndex } = useLxPDP();
192
+ const images = activeImages.length > 0 ? activeImages : parseImages(content);
193
+ const productName = renderText(content.product_name || content.headline || "");
194
+ const description = renderText(content.description || "");
195
+ const featureGrid = content.feature_grid || [];
196
+ const endorsement = content.endorsement;
197
+ const guarantee = content.guarantee;
198
+ const autoInterval = typeof content.auto_change_interval === "number" ? content.auto_change_interval : 0;
199
+ const thumbPos = content.thumb_position || "bottom-left";
200
+ const accent = theme.palette.accent;
201
+ const border = (theme.palette.border || "#ffffff") + "22";
202
+ const textColor = theme.palette.text;
203
+ return (_jsx("section", { style: { backgroundColor: theme.palette.bg }, className: "px-5 py-12 overflow-x-hidden", children: _jsxs("div", { className: "mx-auto max-w-6xl flex flex-col md:flex-row gap-8 md:gap-14 items-start", children: [_jsxs("div", { className: "w-full md:w-[55%] relative overflow-hidden", children: [_jsx(PDPGallery, { images: images, alt: productName, aspect: "1:1", fit: "cover", thumbPosition: thumbPos, thumbSize: 64, autoInterval: autoInterval, animationMode: content.animation_mode || "fade", accentColor: accent, borderColor: "transparent", imageRadius: "0px", bgColor: "#111", activeIndex: activeGalleryIndex, onSelect: setActiveGalleryIndex }, selectedVariantIndex), endorsement && (_jsxs("div", { style: {
204
+ position: "absolute", bottom: "16px", left: "16px",
205
+ backgroundColor: "rgba(0,0,0,0.82)", backdropFilter: "blur(8px)",
206
+ borderRadius: "10px", padding: "12px 16px",
207
+ display: "flex", alignItems: "center", gap: "10px",
208
+ maxWidth: "260px", border: "1px solid rgba(255,255,255,0.12)",
209
+ zIndex: 3,
210
+ }, children: [endorsement.image && (_jsx("img", { src: endorsement.image, alt: endorsement.name, style: { width: "36px", height: "36px", borderRadius: "50%", objectFit: "cover", flexShrink: 0 } })), _jsxs("div", { children: [_jsx("p", { style: { fontSize: "0.7rem", fontWeight: 700, color: "#fff", marginBottom: "1px" }, children: endorsement.name }), endorsement.title && _jsx("p", { style: { fontSize: "0.65rem", color: "rgba(255,255,255,0.55)" }, children: endorsement.title }), endorsement.quote && _jsxs("p", { style: { fontSize: "0.65rem", color: "rgba(255,255,255,0.75)", marginTop: "4px", fontStyle: "italic", lineHeight: 1.4 }, children: ["\"", endorsement.quote, "\""] })] })] }))] }), _jsxs("div", { className: "w-full md:w-[45%] md:sticky md:top-20", children: [productName && (_jsx("h1", { "data-lx-field": "headline", style: {
211
+ fontFamily: `${theme.fonts.display}, serif`, fontWeight: 800,
212
+ fontSize: "clamp(1.6rem, 2.8vw, 2.5rem)", lineHeight: 1.1,
213
+ color: textColor, marginBottom: "20px",
214
+ ...elStyle(elementStyles, "headline"),
215
+ }, children: productName })), featureGrid.length > 0 && (_jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-3 mb-6", children: featureGrid.slice(0, 4).map((f, i) => (_jsxs("div", { style: {
216
+ border: `1px solid ${border}`,
217
+ borderRadius: "10px", padding: "14px 12px",
218
+ backgroundColor: "rgba(255,255,255,0.04)",
219
+ }, children: [_jsx("span", { style: { display: "block", marginBottom: "8px" }, children: renderIcon(f.icon, { size: 20, color: accent }) }), _jsx("p", { style: { fontSize: "0.8rem", fontWeight: 700, color: textColor, marginBottom: "3px" }, children: f.headline }), _jsx("p", { style: { fontSize: "0.72rem", opacity: 0.55, color: textColor, lineHeight: 1.4 }, children: f.body })] }, i))) })), _jsx(BuyControls, { content: content, theme: theme }), description && (_jsx("p", { style: { marginTop: "16px", paddingTop: "16px", borderTop: `1px solid ${border}`, fontSize: "0.85rem", lineHeight: 1.7, opacity: 0.55, color: textColor }, children: description })), guarantee && (_jsxs("div", { style: {
220
+ marginTop: "16px", display: "flex", alignItems: "center", gap: "10px",
221
+ padding: "12px 14px", border: `1px solid ${border}`, borderRadius: "8px",
222
+ backgroundColor: "rgba(255,255,255,0.03)",
223
+ }, children: [guarantee.icon && _jsx("span", { children: renderIcon(guarantee.icon, { size: 18, color: accent }) }), _jsx("span", { style: { fontSize: "0.8rem", color: textColor, opacity: 0.8 }, children: guarantee.text })] }))] })] }) }));
224
+ }
225
+ // ─────────────────────────────────────────────────────────────────────────────
226
+ // Variant 5: fashion_minimal (Rhode)
227
+ // Single centered column, max-w-md, full-bleed hero, no chrome
228
+ // Pure vertical rhythm — image → name → price → picker → ATC → desc → trust
229
+ // ─────────────────────────────────────────────────────────────────────────────
230
+ function PDPFashionMinimal({ content, theme, variant, elementStyles }) {
231
+ return (_jsx(LxPDPProvider, { variants: content.variants || [], baseImages: parseImages(content), productName: renderText(content.product_name || content.headline || ""), price: renderText(content.price || ""), compareAtPrice: content.compare_at_price ? renderText(content.compare_at_price) : undefined, children: _jsx(PDPFashionMinimalInner, { content: content, theme: theme, variant: variant, elementStyles: elementStyles }) }));
232
+ }
233
+ function PDPFashionMinimalInner({ content, theme, elementStyles }) {
234
+ const { activeImages, selectedVariantIndex, setSelectedVariantIndex, quantity, setQuantity, variants } = useLxPDP();
235
+ const images = activeImages.length > 0 ? activeImages : parseImages(content);
236
+ const productName = renderText(content.product_name || content.headline || "");
237
+ const description = renderText(content.description || "");
238
+ const price = renderText(content.price || "");
239
+ const compareAtPrice = content.compare_at_price ? renderText(content.compare_at_price) : undefined;
240
+ const ctaText = renderText(content.cta_text) || "Add to Bag";
241
+ const rawVariants = variants.length > 0 ? variants : (content.variants || []);
242
+ const trustBadges = content.trust_badges || [];
243
+ const badges = content.badges || [];
244
+ const accent = theme.palette.accent;
245
+ const border = theme.palette.border || "#e5e7eb";
246
+ const textColor = theme.palette.text;
247
+ const selectedGid = rawVariants[selectedVariantIndex]?.gid || "";
248
+ const selectorStyle = renderText(content.variant_selector_style) || "text";
249
+ return (_jsxs("section", { style: { backgroundColor: theme.palette.bg }, children: [images[0] && (_jsx(AspectBox, { aspect: "1:1", fit: "cover", style: { width: "100%" }, children: _jsx(MediaLoop, { src: images[0], alt: productName, fit: "cover", applyImageTokens: true }) })), _jsxs("div", { style: {
250
+ maxWidth: "480px", margin: "0 auto", padding: "40px 24px 60px",
251
+ display: "flex", flexDirection: "column", alignItems: "center", textAlign: "center", gap: "20px",
252
+ }, children: [badges.length > 0 && (_jsx("div", { style: { display: "flex", flexWrap: "wrap", justifyContent: "center", gap: "8px" }, children: badges.map((b, i) => (_jsx("span", { style: { fontSize: "0.7rem", fontWeight: 600, letterSpacing: "0.08em", textTransform: "uppercase", padding: "4px 10px", border: `1px solid ${border}`, borderRadius: "999px", color: textColor, opacity: 0.6 }, children: b }, i))) })), productName && (_jsx("h1", { "data-lx-field": "headline", style: {
253
+ fontFamily: `${theme.fonts.display}, serif`, fontWeight: 600,
254
+ fontSize: "clamp(1.6rem, 5vw, 2.2rem)", lineHeight: 1.2,
255
+ color: textColor, letterSpacing: "-0.01em", margin: 0,
256
+ ...elStyle(elementStyles, "headline"),
257
+ }, children: productName })), _jsxs("div", { style: { display: "flex", alignItems: "baseline", justifyContent: "center", gap: "10px" }, children: [_jsx("span", { style: { fontSize: "1.1rem", fontWeight: 500, color: textColor }, children: price }), compareAtPrice && _jsx("span", { style: { fontSize: "0.95rem", textDecoration: "line-through", opacity: 0.45, color: textColor }, children: compareAtPrice })] }), rawVariants.length > 0 && (_jsxs("div", { style: { display: "flex", flexDirection: "column", alignItems: "center", gap: "10px", width: "100%" }, children: [_jsx("p", { style: { fontSize: "0.78rem", color: textColor, opacity: 0.6, margin: 0 }, children: rawVariants[selectedVariantIndex]?.label || rawVariants[selectedVariantIndex]?.title || "" }), _jsx("div", { style: { display: "flex", flexWrap: "wrap", justifyContent: "center", gap: "8px" }, children: rawVariants.map((v, i) => {
258
+ const isSelected = i === selectedVariantIndex;
259
+ const name = v.label || v.title || "";
260
+ if (selectorStyle === "color_swatch" && v.color) {
261
+ return (_jsx("button", { onClick: () => setSelectedVariantIndex(i), title: name, style: { width: "28px", height: "28px", borderRadius: "50%", backgroundColor: v.color, border: `3px solid white`, outline: isSelected ? `2px solid ${accent}` : `1px solid ${border}`, outlineOffset: "2px", cursor: "pointer", transition: "all 0.15s", transform: isSelected ? "scale(1.15)" : "scale(1)" } }, i));
262
+ }
263
+ return (_jsx("button", { onClick: () => setSelectedVariantIndex(i), disabled: !v.available, style: { padding: "6px 16px", fontSize: "0.8rem", fontWeight: isSelected ? 600 : 400, borderRadius: "999px", border: `1.5px solid ${isSelected ? accent : border}`, backgroundColor: isSelected ? accent + "12" : "transparent", color: !v.available ? "#bbb" : textColor, cursor: !v.available ? "not-allowed" : "pointer", textDecoration: !v.available ? "line-through" : "none" }, children: name }, i));
264
+ }) })] })), _jsx("button", { type: "button", "data-lx-atc": true, "data-variant-gid": selectedGid, "data-qty": "1", style: {
265
+ width: "100%", padding: "16px", fontSize: "0.9rem", fontWeight: 600,
266
+ letterSpacing: "0.06em", textTransform: "uppercase",
267
+ backgroundColor: accent, color: "#fff",
268
+ border: "none", borderRadius: "var(--lx-button-radius, 9999px)",
269
+ cursor: "pointer", transition: "opacity 0.15s",
270
+ }, children: ctaText }), description && (_jsx("p", { style: { fontSize: "0.85rem", lineHeight: 1.8, color: textColor, opacity: 0.55, maxWidth: "360px", margin: 0 }, children: description })), trustBadges.length > 0 && (_jsx("div", { style: { display: "flex", flexWrap: "wrap", justifyContent: "center", gap: "20px", paddingTop: "8px" }, children: trustBadges.map((badge, i) => (_jsxs("div", { style: { display: "flex", alignItems: "center", gap: "6px", fontSize: "0.75rem", opacity: 0.5, color: textColor }, children: [_jsx("span", { children: badge.icon }), _jsx("span", { children: badge.text })] }, i))) }))] })] }));
271
+ }
272
+ // ─── Main export ──────────────────────────────────────────────────────────────
273
+ export default function PDPVariants({ content, variant, theme, kit, generatedAssets, elementStyles, settings }) {
274
+ if (variant === "film_strip_ingredients")
275
+ return _jsx(PDPFilmStripIngredients, { content: content, variant: variant, theme: theme, kit: kit, generatedAssets: generatedAssets, elementStyles: elementStyles, settings: settings });
276
+ if (variant === "shade_studio")
277
+ return _jsx(PDPShadeStudio, { content: content, variant: variant, theme: theme, kit: kit, generatedAssets: generatedAssets, elementStyles: elementStyles, settings: settings });
278
+ if (variant === "dark_premium")
279
+ return _jsx(PDPDarkPremium, { content: content, variant: variant, theme: theme, kit: kit, generatedAssets: generatedAssets, elementStyles: elementStyles, settings: settings });
280
+ if (variant === "fashion_minimal")
281
+ return _jsx(PDPFashionMinimal, { content: content, variant: variant, theme: theme, kit: kit, generatedAssets: generatedAssets, elementStyles: elementStyles, settings: settings });
282
+ return _jsx(PDPStickyGallery, { content: content, variant: variant, theme: theme, kit: kit, generatedAssets: generatedAssets, elementStyles: elementStyles, settings: settings });
283
+ }
284
+ //# sourceMappingURL=PDPVariants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PDPVariants.js","sourceRoot":"","sources":["../../src/product/PDPVariants.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ComponentProps } from "../types";
2
+ export default function PillNav({ content, theme, elementStyles }: ComponentProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=PillNav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PillNav.d.ts","sourceRoot":"","sources":["../../src/product/PillNav.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI/C,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,cAAc,2CA4EhF"}
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // Supported element_styles slots:
3
+ // section | heading | subhead | pill_row | pill | pill_active
4
+ import { useState } from "react";
5
+ import { renderText } from "../renderText";
6
+ import { slotStyle } from "../utils/elementStyles";
7
+ export default function PillNav({ content, theme, elementStyles }) {
8
+ const heading = content.heading ? renderText(content.heading) : null;
9
+ const subhead = content.subhead ? renderText(content.subhead) : null;
10
+ const rawPills = content.pills || [];
11
+ const [activeIdx, setActiveIdx] = useState(0);
12
+ const pills = rawPills.map((p) => {
13
+ const item = p;
14
+ return { label: item.label ? renderText(item.label) : "" };
15
+ });
16
+ const accentColor = content.accent_color || theme.palette.accent || "#e07b2a";
17
+ const es = (slot) => slotStyle(elementStyles, slot);
18
+ return (_jsx("section", { className: "py-10 px-5", style: { backgroundColor: theme.palette.bg, ...es("section") }, children: _jsxs("div", { className: "mx-auto max-w-7xl", children: [(heading || subhead) && (_jsxs("div", { className: "mb-6 text-center", children: [heading && (_jsx("h2", { className: "text-3xl md:text-4xl font-bold mb-2", style: {
19
+ fontFamily: `var(--lx-font-heading, ${theme.fonts.display})`,
20
+ fontWeight: `var(--lx-heading-weight, 700)`,
21
+ color: theme.palette.text,
22
+ ...es("heading"),
23
+ }, children: heading })), subhead && (_jsx("p", { className: "text-sm md:text-base opacity-70 max-w-xl mx-auto", style: { fontFamily: theme.fonts.body, color: theme.palette.text, ...es("subhead") }, children: subhead }))] })), pills.length > 0 && (_jsx("div", { className: "flex gap-3 overflow-x-auto pb-1 scrollbar-hide justify-center flex-wrap", style: es("pill_row"), children: pills.map((pill, idx) => {
24
+ const isActive = idx === activeIdx;
25
+ return (_jsx("button", { onClick: () => setActiveIdx(idx), className: "shrink-0 rounded-full px-5 py-2 text-sm font-medium tracking-wide border transition-colors duration-200 whitespace-nowrap cursor-pointer", style: {
26
+ fontFamily: theme.fonts.body,
27
+ backgroundColor: isActive ? accentColor : "transparent",
28
+ color: isActive ? "#fff" : theme.palette.text,
29
+ borderColor: isActive ? accentColor : theme.palette.text + "40",
30
+ ...es("pill"),
31
+ ...(isActive ? es("pill_active") : {}),
32
+ }, children: pill.label }, idx));
33
+ }) }))] }) }));
34
+ }
35
+ //# sourceMappingURL=PillNav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PillNav.js","sourceRoot":"","sources":["../../src/product/PillNav.tsx"],"names":[],"mappings":";AAAA,kCAAkC;AAClC,gEAAgE;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAkB;IAC/E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,MAAM,QAAQ,GAAI,OAAO,CAAC,KAAmB,IAAI,EAAE,CAAC;IACpD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,CAA4B,CAAC;QAC1C,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAI,OAAO,CAAC,YAAuB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;IAC1F,MAAM,EAAE,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAE5D,OAAO,CACL,kBACE,SAAS,EAAC,YAAY,EACtB,KAAK,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,YAE9D,eAAK,SAAS,EAAC,mBAAmB,aAC/B,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CACvB,eAAK,SAAS,EAAC,kBAAkB,aAC9B,OAAO,IAAI,CACV,aACE,SAAS,EAAC,qCAAqC,EAC/C,KAAK,EAAE;gCACL,UAAU,EAAE,0BAA0B,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG;gCAC5D,UAAU,EAAE,+BAA+B;gCAC3C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;gCACzB,GAAG,EAAE,CAAC,SAAS,CAAC;6BACjB,YAEA,OAAO,GACL,CACN,EACA,OAAO,IAAI,CACV,YACE,SAAS,EAAC,kDAAkD,EAC5D,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,YAEnF,OAAO,GACN,CACL,IACG,CACP,EAEA,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CACnB,cACE,SAAS,EAAC,yEAAyE,EACnF,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,YAEpB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;wBACvB,MAAM,QAAQ,GAAG,GAAG,KAAK,SAAS,CAAC;wBACnC,OAAO,CACL,iBAEE,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAChC,SAAS,EAAC,0IAA0I,EACpJ,KAAK,EAAE;gCACL,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;gCAC5B,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa;gCACvD,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;gCAC7C,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI;gCAC/D,GAAG,EAAE,CAAC,MAAM,CAAC;gCACb,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;6BACvC,YAEA,IAAI,CAAC,KAAK,IAZN,GAAG,CAaD,CACV,CAAC;oBACJ,CAAC,CAAC,GACE,CACP,IACG,GACE,CACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ComponentProps } from "../types";
2
+ export default function ProductAccordion({ content, variant, theme, elementStyles }: ComponentProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=ProductAccordion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProductAccordion.d.ts","sourceRoot":"","sources":["../../src/product/ProductAccordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAW/C,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,cAAc,2CAuFlG"}
@@ -0,0 +1,46 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { renderText } from "../renderText";
3
+ import { renderIcon } from "../utils/renderIcon";
4
+ import { elStyle } from "../utils/elementStyles";
5
+ export default function ProductAccordion({ content, variant, theme, elementStyles }) {
6
+ const heading = content.heading ? renderText(content.heading) : undefined;
7
+ const rawSections = content.sections || [];
8
+ const withIcons = variant === "with_icons";
9
+ const sections = rawSections.map((s) => {
10
+ const obj = s;
11
+ return {
12
+ title: renderText(obj.title || obj.name || obj.heading || ""),
13
+ body: renderText(obj.body || obj.content || obj.text || obj.description || ""),
14
+ icon: obj.icon ? renderText(obj.icon) : undefined,
15
+ };
16
+ });
17
+ const accentColor = theme.palette.accent;
18
+ const textColor = theme.palette.text;
19
+ const borderColor = theme.palette.border || "#e5e7eb";
20
+ return (_jsx("section", { className: "py-8 px-5", style: { backgroundColor: theme.palette.bg }, children: _jsxs("div", { className: "mx-auto max-w-3xl", children: [heading && (_jsx("h2", { "data-lx-field": "heading", className: "text-2xl font-bold mb-4", style: { color: textColor, fontFamily: `var(--lx-font-heading, ${theme.fonts.display})`, ...elStyle(elementStyles, "heading") }, children: heading })), _jsx("style", { children: `
21
+ .lx-pa-item[open] .lx-pa-plus {
22
+ transform: rotate(45deg);
23
+ }
24
+ .lx-pa-plus {
25
+ transition: transform 0.2s ease;
26
+ flex-shrink: 0;
27
+ }
28
+ .lx-pa-body {
29
+ animation: lx-pa-open 0.2s ease;
30
+ }
31
+ @keyframes lx-pa-open {
32
+ from { opacity: 0; transform: translateY(-4px); }
33
+ to { opacity: 1; transform: translateY(0); }
34
+ }
35
+ ` }), _jsx("div", { style: { borderTop: `1px solid ${borderColor}` }, children: sections.map((section, i) => (_jsxs("details", { className: "lx-pa-item group", style: { borderBottom: `1px solid ${borderColor}` }, children: [_jsxs("summary", { className: "lx-pa-summary", style: {
36
+ display: "flex", alignItems: "center", justifyContent: "space-between",
37
+ padding: "var(--lx-productaccordion-summary-padding-y, var(--lx-space-md)) 0", cursor: "pointer", listStyle: "none",
38
+ userSelect: "none",
39
+ }, children: [_jsxs("div", { style: { display: "flex", alignItems: "center", gap: "var(--lx-productaccordion-icon-gap, var(--lx-space-3))", flex: 1 }, children: [withIcons && section.icon && (_jsx("span", { style: { flexShrink: 0, color: accentColor }, children: renderIcon(section.icon, { size: 18, color: accentColor }) })), _jsx("span", { "data-lx-field": "section_title", style: { fontSize: "0.95rem", fontWeight: 600, color: textColor, fontFamily: theme.fonts.body, ...elStyle(elementStyles, "section_title") }, children: section.title })] }), _jsx("span", { className: "lx-pa-plus", style: { fontSize: "1.25rem", color: textColor, lineHeight: 1, marginLeft: "var(--lx-productaccordion-toggle-margin-left, var(--lx-space-3))" }, children: "+" })] }), _jsx("div", { className: "lx-pa-body", style: { paddingBottom: "var(--lx-productaccordion-body-padding-bottom, var(--lx-space-md))", paddingTop: "2px" }, children: _jsx("p", { "data-lx-field": "section_body", style: {
40
+ fontSize: "0.875rem", lineHeight: 1.7, color: textColor, opacity: 0.75,
41
+ fontFamily: theme.fonts.body,
42
+ paddingLeft: withIcons ? "30px" : "0",
43
+ ...elStyle(elementStyles, "section_body"),
44
+ }, children: section.body }) })] }, i))) })] }) }));
45
+ }
46
+ //# sourceMappingURL=ProductAccordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProductAccordion.js","sourceRoot":"","sources":["../../src/product/ProductAccordion.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAQjD,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAkB;IACjG,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,MAAM,WAAW,GAAI,OAAO,CAAC,QAAsB,IAAI,EAAE,CAAC;IAC1D,MAAM,SAAS,GAAG,OAAO,KAAK,YAAY,CAAC;IAE3C,MAAM,QAAQ,GAAuB,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACzD,MAAM,GAAG,GAAG,CAA4B,CAAC;QACzC,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;YAC7D,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;YAC9E,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;IACzC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IACrC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;IAEtD,OAAO,CACL,kBAAS,SAAS,EAAC,WAAW,EAAC,KAAK,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,YACzE,eAAK,SAAS,EAAC,mBAAmB,aAC/B,OAAO,IAAI,CACV,8BAAkB,SAAS,EAAC,SAAS,EAAC,yBAAyB,EAC7D,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,0BAA0B,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,YAC9H,OAAO,GACL,CACN,EAED,0BAAQ;;;;;;;;;;;;;;;SAeP,GAAS,EAEV,cAAK,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,WAAW,EAAE,EAAE,YAClD,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5B,mBAAiB,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAE,EAAE,YAAY,EAAE,aAAa,WAAW,EAAE,EAAE,aAC/F,mBACE,SAAS,EAAC,eAAe,EACzB,KAAK,EAAE;oCACL,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe;oCACtE,OAAO,EAAE,oEAAoE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM;oCACnH,UAAU,EAAE,MAAM;iCACnB,aAED,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,wDAAwD,EAAE,IAAI,EAAE,CAAC,EAAE,aAC1H,SAAS,IAAI,OAAO,CAAC,IAAI,IAAI,CAC5B,eAAM,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,YAC/C,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,GACtD,CACR,EACD,gCAAoB,eAAe,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE,YAC5K,OAAO,CAAC,KAAK,GACT,IACH,EAEN,eAAM,SAAS,EAAC,YAAY,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,kEAAkE,EAAE,kBAErK,IACC,EACV,cAAK,SAAS,EAAC,YAAY,EAAC,KAAK,EAAE,EAAE,aAAa,EAAE,oEAAoE,EAAE,UAAU,EAAE,KAAK,EAAE,YAC3I,6BAAiB,cAAc,EAAC,KAAK,EAAE;wCACrC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI;wCACtE,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;wCAC5B,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;wCACrC,GAAG,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC;qCAC1C,YACE,OAAO,CAAC,IAAI,GACX,GACA,KAjCM,CAAC,CAkCL,CACX,CAAC,GACE,IACF,GACE,CACX,CAAC;AACJ,CAAC"}