@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,309 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useEffect } from "react";
3
+ import { motion, AnimatePresence } from "framer-motion";
4
+ import { renderText } from "../renderText";
5
+ import { renderIcon } from "../utils/renderIcon";
6
+ import { AspectBox } from "../primitives/AspectBox";
7
+ import { MediaLoop } from "../primitives/MediaLoop";
8
+ // ─── Tier helpers ─────────────────────────────────────────────────────────────
9
+ const TIER_HIERARCHY = ["new", "returning", "returning_buyer", "loyal", "vip"];
10
+ function resolveUnlocked(content) {
11
+ const typed = content;
12
+ const requiredTier = renderText(typed.required_tier) || "vip";
13
+ const visitorTier = renderText(typed._dynamic_visitor_tier) || "";
14
+ if (requiredTier === "any_member") {
15
+ return ["returning_buyer", "loyal", "vip"].includes(visitorTier);
16
+ }
17
+ return TIER_HIERARCHY.indexOf(visitorTier) >= TIER_HIERARCHY.indexOf(requiredTier);
18
+ }
19
+ // ─── Shared CTA button ────────────────────────────────────────────────────────
20
+ function CtaButton({ label, accent, onClick }) {
21
+ return (_jsx("button", { type: "button", onClick: onClick, style: {
22
+ padding: "12px 24px",
23
+ fontSize: "0.9rem",
24
+ fontWeight: 700,
25
+ backgroundColor: accent,
26
+ color: "#ffffff",
27
+ border: "none",
28
+ borderRadius: "var(--lx-button-radius, 9999px)",
29
+ cursor: "pointer",
30
+ letterSpacing: "0.02em",
31
+ transition: "opacity 0.15s",
32
+ }, children: label }));
33
+ }
34
+ // ─────────────────────────────────────────────────────────────────────────────
35
+ // Variant 1: content_lock
36
+ // Preview image blurred when locked; overlay with lock icon + CTA
37
+ // ─────────────────────────────────────────────────────────────────────────────
38
+ function ContentLock({ content: rawContent, theme }) {
39
+ const c = rawContent;
40
+ const isUnlocked = resolveUnlocked(rawContent);
41
+ const accent = theme.palette.accent;
42
+ const textColor = theme.palette.text;
43
+ const bgColor = theme.palette.bg;
44
+ const surface = theme.palette.surface || "#f9f9f9";
45
+ const border = theme.palette.border || "#e5e7eb";
46
+ const previewUrl = renderText(c.locked_content_preview);
47
+ const cohort = renderText(c._dynamic_visitor_tier) || "";
48
+ const ctaLabel = (c.cta_by_cohort && c.cta_by_cohort[cohort])
49
+ ? c.cta_by_cohort[cohort]
50
+ : renderText(c.non_member_cta) || "Join VIP";
51
+ return (_jsx("section", { style: {
52
+ backgroundColor: bgColor,
53
+ padding: "32px 24px",
54
+ fontFamily: `${theme.fonts.body}, sans-serif`,
55
+ }, children: _jsxs("div", { style: { maxWidth: "640px", margin: "0 auto", position: "relative" }, children: [_jsxs("div", { style: { position: "relative", borderRadius: "var(--lx-image-radius, 16px)", overflow: "hidden", border: `1px solid ${border}` }, children: [_jsx(motion.div, { animate: { filter: isUnlocked ? "blur(0px)" : "blur(8px)" }, transition: { duration: 0.7, ease: [0.22, 1, 0.36, 1] }, style: { width: "100%", minHeight: "320px" }, children: previewUrl ? (_jsx(AspectBox, { aspect: "4:3", children: _jsx(MediaLoop, { src: previewUrl, alt: "VIP content preview", fit: "cover" }) })) : (_jsx("div", { style: { width: "100%", height: "320px", backgroundColor: surface } })) }), _jsx(AnimatePresence, { children: !isUnlocked && (_jsxs(motion.div, { initial: { opacity: 1 }, exit: { opacity: 0 }, transition: { duration: 0.5 }, style: {
56
+ position: "absolute",
57
+ inset: 0,
58
+ backgroundColor: "rgba(0,0,0,0.52)",
59
+ display: "flex",
60
+ flexDirection: "column",
61
+ alignItems: "center",
62
+ justifyContent: "center",
63
+ gap: "14px",
64
+ padding: "24px",
65
+ }, children: [renderIcon("lucide:lock", { size: 36, color: "#ffffff" }), _jsx("p", { style: { fontSize: "1.1rem", fontWeight: 700, color: "#ffffff", textAlign: "center", margin: 0 }, children: "Unlock VIP Pricing" }), _jsx(CtaButton, { label: ctaLabel, accent: accent })] }, "locked-overlay")) })] }), _jsx(AnimatePresence, { children: isUnlocked && (_jsxs(motion.div, { initial: { opacity: 0, scale: 0.8 }, animate: { opacity: 1, scale: 1 }, exit: { opacity: 0, scale: 0.8 }, transition: { duration: 0.35, ease: [0.22, 1, 0.36, 1] }, style: {
66
+ position: "absolute",
67
+ top: "12px",
68
+ right: "12px",
69
+ display: "flex",
70
+ alignItems: "center",
71
+ gap: "6px",
72
+ backgroundColor: "#16a34a",
73
+ color: "#ffffff",
74
+ fontSize: "0.75rem",
75
+ fontWeight: 700,
76
+ padding: "6px 12px",
77
+ borderRadius: "999px",
78
+ pointerEvents: "none",
79
+ }, children: [renderIcon("lucide:check-circle", { size: 13, color: "#ffffff" }), "You have access \u2713"] }, "unlocked-badge")) })] }) }));
80
+ }
81
+ // ─────────────────────────────────────────────────────────────────────────────
82
+ // Variant 2: early_access_countdown
83
+ // Countdown to early_access_end ISO string; locked/unlocked copy variants
84
+ // ─────────────────────────────────────────────────────────────────────────────
85
+ function useIsoCountdown(isoEnd) {
86
+ function computeRemaining() {
87
+ if (!isoEnd)
88
+ return 0;
89
+ return Math.max(0, Math.floor((new Date(isoEnd).getTime() - Date.now()) / 1000));
90
+ }
91
+ const [remaining, setRemaining] = useState(computeRemaining);
92
+ useEffect(() => {
93
+ if (!isoEnd)
94
+ return;
95
+ const id = setInterval(() => {
96
+ const next = computeRemaining();
97
+ setRemaining(next);
98
+ if (next <= 0)
99
+ clearInterval(id);
100
+ }, 1000);
101
+ return () => clearInterval(id);
102
+ // eslint-disable-next-line react-hooks/exhaustive-deps
103
+ }, [isoEnd]);
104
+ const h = Math.floor(remaining / 3600);
105
+ const m = Math.floor((remaining % 3600) / 60);
106
+ const s = remaining % 60;
107
+ const hms = `${String(h).padStart(2, "0")}:${String(m).padStart(2, "0")}:${String(s).padStart(2, "0")}`;
108
+ return { hms, expired: remaining <= 0 };
109
+ }
110
+ function EarlyAccessCountdown({ content: rawContent, theme }) {
111
+ const c = rawContent;
112
+ const isUnlocked = resolveUnlocked(rawContent);
113
+ const accent = theme.palette.accent;
114
+ const textColor = theme.palette.text;
115
+ const bgColor = theme.palette.bg;
116
+ const border = theme.palette.border || "#e5e7eb";
117
+ const surface = theme.palette.surface || "#f9f9f9";
118
+ const { hms, expired } = useIsoCountdown(renderText(c.early_access_end) || undefined);
119
+ const previewUrl = renderText(c.locked_content_preview);
120
+ const cohort = renderText(c._dynamic_visitor_tier) || "";
121
+ const ctaLabel = (c.cta_by_cohort && c.cta_by_cohort[cohort])
122
+ ? c.cta_by_cohort[cohort]
123
+ : renderText(c.non_member_cta) || "Join VIP";
124
+ return (_jsx("section", { style: {
125
+ backgroundColor: bgColor,
126
+ padding: "32px 24px",
127
+ fontFamily: `${theme.fonts.body}, sans-serif`,
128
+ }, children: _jsxs("div", { style: {
129
+ maxWidth: "640px",
130
+ margin: "0 auto",
131
+ border: `1px solid ${border}`,
132
+ borderRadius: "var(--lx-image-radius, 16px)",
133
+ overflow: "hidden",
134
+ backgroundColor: surface,
135
+ }, children: [_jsxs("div", { style: {
136
+ backgroundColor: accent + "14",
137
+ borderBottom: `1px solid ${accent}30`,
138
+ padding: "14px 20px",
139
+ display: "flex",
140
+ alignItems: "center",
141
+ gap: "10px",
142
+ flexWrap: "wrap",
143
+ }, children: [!expired && (_jsx(motion.span, { animate: { opacity: [1, 0.3, 1] }, transition: { duration: 1.2, repeat: Infinity, ease: "easeInOut" }, style: {
144
+ display: "inline-block",
145
+ width: "8px",
146
+ height: "8px",
147
+ borderRadius: "50%",
148
+ backgroundColor: accent,
149
+ flexShrink: 0,
150
+ } })), expired ? (_jsx("p", { style: { fontSize: "0.88rem", fontWeight: 700, color: textColor, margin: 0 }, children: "Access has ended" })) : isUnlocked ? (_jsxs("p", { style: { fontSize: "0.88rem", fontWeight: 700, color: textColor, margin: 0 }, children: ["Your exclusive access expires in", " ", _jsx("span", { style: { fontVariantNumeric: "tabular-nums", color: accent }, children: hms })] })) : (_jsxs("p", { style: { fontSize: "0.88rem", fontWeight: 700, color: textColor, margin: 0 }, children: ["Exclusive early access ends in", " ", _jsx("span", { style: { fontVariantNumeric: "tabular-nums", color: accent }, children: hms }), ". Join now to unlock."] }))] }), _jsx("div", { style: { padding: "24px" }, children: isUnlocked && !expired ? (_jsxs("div", { style: { display: "flex", flexDirection: "column", alignItems: "center", gap: "20px" }, children: [previewUrl && (_jsx("div", { style: { width: "100%", borderRadius: "12px", overflow: "hidden" }, children: _jsx(AspectBox, { aspect: "16:9", children: _jsx(MediaLoop, { src: previewUrl, alt: "Exclusive product", fit: "cover" }) }) })), _jsx(CtaButton, { label: "Shop Now", accent: accent })] })) : expired ? (_jsx("p", { style: { fontSize: "0.85rem", color: textColor, opacity: 0.55, textAlign: "center", margin: 0 }, children: "This exclusive early access window has closed." })) : (_jsxs("div", { style: { display: "flex", flexDirection: "column", alignItems: "center", gap: "16px", textAlign: "center" }, children: [_jsx("p", { style: { fontSize: "0.85rem", color: textColor, opacity: 0.65, margin: 0 }, children: "Members get first access to new drops before the public." }), _jsx(CtaButton, { label: ctaLabel, accent: accent })] })) })] }) }));
151
+ }
152
+ // ─────────────────────────────────────────────────────────────────────────────
153
+ // Variant 3: tier_pricing_reveal
154
+ // Side-by-side retail vs VIP price; vip blurred when locked
155
+ // ─────────────────────────────────────────────────────────────────────────────
156
+ function TierPricingReveal({ content: rawContent, theme }) {
157
+ const c = rawContent;
158
+ const isUnlocked = resolveUnlocked(rawContent);
159
+ const accent = theme.palette.accent;
160
+ const textColor = theme.palette.text;
161
+ const bgColor = theme.palette.bg;
162
+ const border = theme.palette.border || "#e5e7eb";
163
+ const surface = theme.palette.surface || "#f9f9f9";
164
+ const regularPrice = renderText(c.regular_price) || "$0";
165
+ const vipPrice = renderText(c.vip_price) || "$0";
166
+ const cohort = renderText(c._dynamic_visitor_tier) || "";
167
+ const ctaLabel = (c.cta_by_cohort && c.cta_by_cohort[cohort])
168
+ ? c.cta_by_cohort[cohort]
169
+ : renderText(c.non_member_cta) || "Join to reveal price";
170
+ // Savings calculation (strip non-numeric, parse floats)
171
+ const parsePrice = (s) => parseFloat(s.replace(/[^0-9.]/g, "")) || 0;
172
+ const regular = parsePrice(regularPrice);
173
+ const vip = parsePrice(vipPrice);
174
+ const savings = regular > vip ? (regular - vip).toFixed(2) : null;
175
+ const pct = regular > 0 && savings ? Math.round(((regular - vip) / regular) * 100) : null;
176
+ return (_jsx("section", { style: {
177
+ backgroundColor: bgColor,
178
+ padding: "32px 24px",
179
+ fontFamily: `${theme.fonts.body}, sans-serif`,
180
+ }, children: _jsxs("div", { style: {
181
+ maxWidth: "480px",
182
+ margin: "0 auto",
183
+ border: `1px solid ${border}`,
184
+ borderRadius: "var(--lx-image-radius, 16px)",
185
+ backgroundColor: surface,
186
+ padding: "28px 24px",
187
+ }, children: [_jsxs("div", { style: { display: "flex", gap: "24px", alignItems: "flex-start", marginBottom: "20px", flexWrap: "wrap" }, children: [_jsxs("div", { style: { flex: 1, minWidth: "120px" }, children: [_jsx("p", { style: { fontSize: "0.72rem", fontWeight: 600, textTransform: "uppercase", letterSpacing: "0.08em", color: textColor, opacity: 0.5, marginBottom: "6px" }, children: "Retail" }), _jsx("p", { style: { fontSize: "1.4rem", fontWeight: 700, color: textColor, textDecoration: "line-through", opacity: 0.45, margin: 0 }, children: regularPrice })] }), _jsxs("div", { style: { flex: 1, minWidth: "120px" }, children: [_jsx("p", { style: { fontSize: "0.72rem", fontWeight: 600, textTransform: "uppercase", letterSpacing: "0.08em", color: accent, marginBottom: "6px" }, children: "VIP Price" }), _jsx(motion.p, { animate: { filter: isUnlocked ? "blur(0px)" : "blur(4px)" }, transition: { duration: 0.6, ease: [0.22, 1, 0.36, 1] }, style: { fontSize: "2rem", fontWeight: 800, color: accent, margin: 0, fontVariantNumeric: "tabular-nums" }, children: vipPrice })] })] }), _jsx(AnimatePresence, { mode: "wait", children: !isUnlocked ? (_jsxs(motion.div, { initial: { opacity: 0, y: 6 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -6 }, transition: { duration: 0.3 }, style: { display: "flex", flexDirection: "column", gap: "12px" }, children: [_jsx("p", { style: { fontSize: "0.82rem", color: textColor, opacity: 0.6, margin: 0 }, children: "Join to reveal price" }), _jsx(CtaButton, { label: ctaLabel, accent: accent })] }, "locked-pricing")) : (_jsx(motion.div, { initial: { opacity: 0, y: 6 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -6 }, transition: { duration: 0.35 }, style: { display: "flex", flexDirection: "column", gap: "10px" }, children: savings && pct && (_jsxs("div", { style: {
188
+ display: "inline-flex",
189
+ alignItems: "center",
190
+ gap: "6px",
191
+ backgroundColor: accent,
192
+ color: "#ffffff",
193
+ fontSize: "0.78rem",
194
+ fontWeight: 700,
195
+ padding: "5px 14px",
196
+ borderRadius: "999px",
197
+ alignSelf: "flex-start",
198
+ }, children: [renderIcon("lucide:tag", { size: 12, color: "#ffffff" }), "You're saving $", savings, " \u2014 Save ", pct, "%"] })) }, "unlocked-pricing")) })] }) }));
199
+ }
200
+ // ─────────────────────────────────────────────────────────────────────────────
201
+ // Variant 4: exclusive_bundle
202
+ // 2-col product grid; grayscale when locked; "MEMBERS ONLY" ribbon
203
+ // ─────────────────────────────────────────────────────────────────────────────
204
+ function ExclusiveBundle({ content: rawContent, theme }) {
205
+ const c = rawContent;
206
+ const isUnlocked = resolveUnlocked(rawContent);
207
+ const accent = theme.palette.accent;
208
+ const textColor = theme.palette.text;
209
+ const bgColor = theme.palette.bg;
210
+ const border = theme.palette.border || "#e5e7eb";
211
+ const surface = theme.palette.surface || "#f9f9f9";
212
+ const products = c.bundle_products || [];
213
+ const bundlePrice = renderText(c.bundle_price) || "";
214
+ const cohort = renderText(c._dynamic_visitor_tier) || "";
215
+ const ctaLabel = (c.cta_by_cohort && c.cta_by_cohort[cohort])
216
+ ? c.cta_by_cohort[cohort]
217
+ : renderText(c.non_member_cta) || "Upgrade to access";
218
+ // Bundle savings
219
+ const parsePrice = (s) => parseFloat(s.replace(/[^0-9.]/g, "")) || 0;
220
+ const individualTotal = parsePrice(renderText(c.regular_individual_total));
221
+ const bPrice = parsePrice(bundlePrice);
222
+ const bundleSavings = individualTotal > bPrice && bPrice > 0
223
+ ? (individualTotal - bPrice).toFixed(2)
224
+ : null;
225
+ return (_jsx("section", { style: {
226
+ backgroundColor: bgColor,
227
+ padding: "32px 24px",
228
+ fontFamily: `${theme.fonts.body}, sans-serif`,
229
+ }, children: _jsxs("div", { style: { maxWidth: "640px", margin: "0 auto" }, children: [_jsx("h2", { style: {
230
+ fontFamily: `${theme.fonts.display}, serif`,
231
+ fontWeight: 700,
232
+ fontSize: "clamp(1.1rem, 2vw, 1.5rem)",
233
+ color: textColor,
234
+ marginBottom: "20px",
235
+ textAlign: "center",
236
+ }, children: isUnlocked ? "Your exclusive bundle" : "Members-Only Bundle" }), _jsxs("div", { style: {
237
+ display: "grid",
238
+ gridTemplateColumns: "1fr 1fr",
239
+ gap: "14px",
240
+ marginBottom: "24px",
241
+ filter: isUnlocked ? "none" : "grayscale(100%)",
242
+ transition: "filter 0.6s ease",
243
+ position: "relative",
244
+ }, children: [products.map((product) => (_jsxs("div", { style: {
245
+ border: `1px solid ${border}`,
246
+ borderRadius: "12px",
247
+ overflow: "hidden",
248
+ backgroundColor: surface,
249
+ position: "relative",
250
+ }, children: [_jsx("div", { style: {
251
+ position: "absolute",
252
+ top: "14px",
253
+ left: "-22px",
254
+ backgroundColor: accent,
255
+ color: "#ffffff",
256
+ fontSize: "0.58rem",
257
+ fontWeight: 800,
258
+ textTransform: "uppercase",
259
+ letterSpacing: "0.07em",
260
+ padding: "4px 28px",
261
+ transform: "rotate(-45deg)",
262
+ transformOrigin: "center",
263
+ zIndex: 2,
264
+ whiteSpace: "nowrap",
265
+ pointerEvents: "none",
266
+ }, children: "Members Only" }), _jsx(AspectBox, { aspect: "1:1", children: product.image_url ? (_jsx(MediaLoop, { src: product.image_url, alt: product.name, fit: "cover" })) : (_jsx("div", { style: { width: "100%", height: "100%", backgroundColor: "#f0f0f0" } })) }), _jsxs("div", { style: { padding: "12px" }, children: [_jsx("p", { style: { fontSize: "0.82rem", fontWeight: 600, color: textColor, lineHeight: 1.3, margin: "0 0 4px" }, children: product.name }), _jsx("p", { style: { fontSize: "0.88rem", fontWeight: 700, color: accent, margin: 0 }, children: product.price })] })] }, product.gid))), _jsx(AnimatePresence, { children: !isUnlocked && (_jsxs(motion.div, { initial: { opacity: 1 }, exit: { opacity: 0 }, transition: { duration: 0.45 }, style: {
267
+ position: "absolute",
268
+ inset: 0,
269
+ backgroundColor: "rgba(0,0,0,0.42)",
270
+ borderRadius: "12px",
271
+ display: "flex",
272
+ flexDirection: "column",
273
+ alignItems: "center",
274
+ justifyContent: "center",
275
+ gap: "10px",
276
+ }, children: [renderIcon("lucide:lock", { size: 28, color: "#ffffff" }), _jsx("p", { style: { fontSize: "0.9rem", fontWeight: 700, color: "#ffffff", margin: 0, textAlign: "center" }, children: "Upgrade to access" })] }, "bundle-lock-overlay")) })] }), isUnlocked ? (_jsxs("div", { style: { display: "flex", flexDirection: "column", alignItems: "center", gap: "12px" }, children: [bundlePrice && (_jsxs("p", { style: { fontSize: "1rem", fontWeight: 700, color: textColor, margin: 0 }, children: ["Bundle total:", " ", _jsx("span", { style: { color: accent }, children: bundlePrice })] })), bundleSavings && (_jsxs("div", { style: {
277
+ display: "inline-flex",
278
+ alignItems: "center",
279
+ gap: "6px",
280
+ backgroundColor: accent,
281
+ color: "#ffffff",
282
+ fontSize: "0.78rem",
283
+ fontWeight: 700,
284
+ padding: "5px 14px",
285
+ borderRadius: "999px",
286
+ }, children: [renderIcon("lucide:tag", { size: 12, color: "#ffffff" }), "Save $", bundleSavings] })), _jsx("button", { type: "button", "data-lx-atc-bundle": true, style: {
287
+ marginTop: "4px",
288
+ padding: "14px 32px",
289
+ fontSize: "0.95rem",
290
+ fontWeight: 700,
291
+ backgroundColor: accent,
292
+ color: "#ffffff",
293
+ border: "none",
294
+ borderRadius: "var(--lx-button-radius, 9999px)",
295
+ cursor: "pointer",
296
+ letterSpacing: "0.02em",
297
+ }, children: "Add Bundle to Cart" })] })) : (_jsx("div", { style: { display: "flex", justifyContent: "center" }, children: _jsx(CtaButton, { label: ctaLabel, accent: accent }) }))] }) }));
298
+ }
299
+ // ─── Main export ──────────────────────────────────────────────────────────────
300
+ export default function VipGate({ content, variant, theme, kit, generatedAssets, elementStyles, settings }) {
301
+ if (variant === "early_access_countdown")
302
+ return _jsx(EarlyAccessCountdown, { content: content, variant: variant, theme: theme, kit: kit, generatedAssets: generatedAssets, elementStyles: elementStyles, settings: settings });
303
+ if (variant === "tier_pricing_reveal")
304
+ return _jsx(TierPricingReveal, { content: content, variant: variant, theme: theme, kit: kit, generatedAssets: generatedAssets, elementStyles: elementStyles, settings: settings });
305
+ if (variant === "exclusive_bundle")
306
+ return _jsx(ExclusiveBundle, { content: content, variant: variant, theme: theme, kit: kit, generatedAssets: generatedAssets, elementStyles: elementStyles, settings: settings });
307
+ return _jsx(ContentLock, { content: content, variant: variant, theme: theme, kit: kit, generatedAssets: generatedAssets, elementStyles: elementStyles, settings: settings });
308
+ }
309
+ //# sourceMappingURL=VipGate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VipGate.js","sourceRoot":"","sources":["../../src/personalization/VipGate.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ interface UnknownComponentProps {
2
+ componentId: string;
3
+ }
4
+ export declare function UnknownComponent({ componentId }: UnknownComponentProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=UnknownComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnknownComponent.d.ts","sourceRoot":"","sources":["../../src/placeholder/UnknownComponent.tsx"],"names":[],"mappings":"AAAA,UAAU,qBAAqB;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,WAAW,EAAE,EAAE,qBAAqB,2CAUtE"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export function UnknownComponent({ componentId }) {
3
+ return (_jsx("div", { className: "py-12 px-5 border-2 border-dashed border-gray-300 rounded-lg mx-5 my-4", children: _jsx("div", { className: "mx-auto max-w-6xl text-center", children: _jsxs("p", { className: "text-sm font-mono text-gray-400", children: ["Component not found: ", _jsx("code", { children: componentId })] }) }) }));
4
+ }
5
+ //# sourceMappingURL=UnknownComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnknownComponent.js","sourceRoot":"","sources":["../../src/placeholder/UnknownComponent.tsx"],"names":[],"mappings":";AAIA,MAAM,UAAU,gBAAgB,CAAC,EAAE,WAAW,EAAyB;IACrE,OAAO,CACL,cAAK,SAAS,EAAC,wEAAwE,YACrF,cAAK,SAAS,EAAC,+BAA+B,YAC5C,aAAG,SAAS,EAAC,iCAAiC,sCACvB,yBAAO,WAAW,GAAQ,IAC7C,GACA,GACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ComponentProps } from "../types";
2
+ export default function PricingCards({ content, variant, theme, elementStyles }: ComponentProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=PricingCards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PricingCards.d.ts","sourceRoot":"","sources":["../../src/pricing/PricingCards.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAgB/C,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,cAAc,2CA8V9F"}
@@ -0,0 +1,143 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { renderText } from "../renderText";
3
+ import { elStyle } from "../utils/elementStyles";
4
+ export default function PricingCards({ content, variant, theme, elementStyles }) {
5
+ const heading = renderText(content.heading);
6
+ const subhead = renderText(content.subhead);
7
+ const rawPlans = content.plans || [];
8
+ const plans = rawPlans.map((plan) => {
9
+ const p = plan;
10
+ const rawFeatures = p.features || [];
11
+ return {
12
+ name: renderText(p.name),
13
+ price: renderText(p.price),
14
+ price_monthly: p.price_monthly ? renderText(p.price_monthly) : undefined,
15
+ price_annual: p.price_annual ? renderText(p.price_annual) : undefined,
16
+ period: p.period ? renderText(p.period) : undefined,
17
+ description: p.description ? renderText(p.description) : undefined,
18
+ features: rawFeatures.map((f) => renderText(f)),
19
+ cta_text: renderText(p.cta_text),
20
+ highlighted: Boolean(p.highlighted),
21
+ };
22
+ });
23
+ const isWithToggle = variant === "with_toggle";
24
+ const is2Col = variant === "two_col";
25
+ // 3_col is default
26
+ const gridCols = is2Col
27
+ ? "grid grid-cols-1 md:grid-cols-2"
28
+ : "grid grid-cols-1 md:grid-cols-3";
29
+ // For three_col CRO: reorder so highlighted is in middle
30
+ // Anchoring: most expensive first (left), highlighted middle, cheapest right
31
+ // We'll sort: non-highlighted first, highlighted middle, non-highlighted last
32
+ const orderedPlans = !is2Col && plans.length === 3
33
+ ? (() => {
34
+ const highlighted = plans.find((p) => p.highlighted);
35
+ const rest = plans.filter((p) => !p.highlighted);
36
+ if (highlighted && rest.length === 2) {
37
+ return [rest[0], highlighted, rest[1]];
38
+ }
39
+ return plans;
40
+ })()
41
+ : plans;
42
+ return (_jsxs("section", { className: "py-16 px-5 md:py-24 lg:py-32", style: { backgroundColor: theme.palette.bg }, children: [_jsx("style", { children: `
43
+ .lx-pricing-card {
44
+ transition: box-shadow var(--lx-transition-normal, 0.2s ease), transform var(--lx-transition-normal, 0.2s ease);
45
+ }
46
+ .lx-pricing-card:hover {
47
+ box-shadow: var(--lx-shadow-md, 0 12px 32px rgba(0,0,0,0.14));
48
+ transform: translateY(-3px);
49
+ }
50
+ .lx-pricing-card.highlighted {
51
+ box-shadow: var(--lx-shadow-md, 0 16px 40px rgba(0,0,0,0.18));
52
+ transform: translateY(-4px);
53
+ }
54
+ .lx-pricing-toggle input[type="radio"]:checked + label {
55
+ background-color: var(--lx-accent);
56
+ color: #ffffff;
57
+ }
58
+ .lx-toggle-pill {
59
+ transition: background-color var(--lx-transition-normal, 0.2s ease), color var(--lx-transition-normal, 0.2s ease);
60
+ }
61
+ ` }), _jsxs("div", { className: "mx-auto max-w-7xl", children: [(heading || subhead) && (_jsxs("div", { className: "mb-12 text-center", children: [heading && (_jsx("h2", { "data-lx-field": "heading", className: "text-3xl md:text-4xl font-bold mb-3", style: {
62
+ fontFamily: `var(--lx-font-heading, ${theme.fonts.display})`,
63
+ fontWeight: `var(--lx-heading-weight, 700)`,
64
+ color: theme.palette.text,
65
+ ...elStyle(elementStyles, "heading"),
66
+ }, children: heading })), subhead && (_jsx("p", { "data-lx-field": "subhead", className: "text-lg opacity-70 max-w-xl mx-auto", style: {
67
+ fontFamily: theme.fonts.body,
68
+ color: theme.palette.text,
69
+ ...elStyle(elementStyles, "subhead"),
70
+ }, children: subhead }))] })), isWithToggle && (_jsx("div", { className: "lx-pricing-toggle flex justify-center mb-10", children: _jsxs("div", { className: "flex items-center rounded-full p-1 gap-1", style: {
71
+ backgroundColor: `${theme.palette.accent}18`,
72
+ border: `1.5px solid ${theme.palette.accent}40`,
73
+ }, children: [_jsx("button", { type: "button", className: "lx-toggle-pill px-5 py-2 rounded-full text-sm font-semibold", "data-lx-toggle": "monthly", "data-lx-toggle-group": "pricing", style: {
74
+ backgroundColor: theme.palette.accent,
75
+ color: "#ffffff",
76
+ }, children: "Monthly" }), _jsxs("button", { type: "button", className: "lx-toggle-pill px-5 py-2 rounded-full text-sm font-semibold", "data-lx-toggle": "annual", "data-lx-toggle-group": "pricing", style: {
77
+ backgroundColor: "transparent",
78
+ color: theme.palette.text,
79
+ }, children: ["Annual", _jsx("span", { className: "ml-1.5 text-xs px-1.5 py-0.5 rounded-full font-bold", style: { backgroundColor: theme.palette.accent, color: "#ffffff" }, children: "Save 20%" })] })] }) })), _jsx("div", { className: `${gridCols} gap-8 items-start`, children: orderedPlans.map((plan, idx) => (_jsxs("div", { className: `lx-pricing-card rounded-2xl border p-8 relative flex flex-col gap-6 ${plan.highlighted ? "highlighted" : ""}`, style: {
80
+ backgroundColor: plan.highlighted
81
+ ? theme.palette.surface
82
+ : theme.palette.surface,
83
+ borderColor: plan.highlighted
84
+ ? theme.palette.accent
85
+ : theme.palette.border ?? `${theme.palette.text}18`,
86
+ borderWidth: plan.highlighted ? "2px" : "1.5px",
87
+ }, children: [plan.highlighted && (_jsx("div", { className: "absolute -top-4 left-1/2 -translate-x-1/2", children: _jsx("span", { className: "px-4 py-1.5 rounded-full text-xs font-bold tracking-wide uppercase whitespace-nowrap", style: {
88
+ backgroundColor: theme.palette.accent,
89
+ color: "#ffffff",
90
+ }, children: "Most Popular" }) })), _jsxs("div", { children: [_jsx("h3", { "data-lx-field": "name", className: "text-xl font-bold mb-1", style: {
91
+ fontFamily: `var(--lx-font-heading, ${theme.fonts.display})`,
92
+ color: theme.palette.text,
93
+ ...elStyle(elementStyles, "name"),
94
+ }, children: plan.name }), plan.description && (_jsx("p", { "data-lx-field": "description", className: "text-sm opacity-60", style: {
95
+ fontFamily: theme.fonts.body,
96
+ color: theme.palette.text,
97
+ ...elStyle(elementStyles, "description"),
98
+ }, children: plan.description }))] }), _jsx("div", { children: isWithToggle ? (_jsxs(_Fragment, { children: [_jsxs("div", { "data-lx-price-monthly": true, children: [_jsx("span", { "data-lx-field": "price_monthly", className: "text-4xl font-extrabold", style: { color: theme.palette.text, ...elStyle(elementStyles, "price_monthly") }, children: plan.price_monthly ?? plan.price }), _jsx("span", { className: "text-sm opacity-50 ml-1", style: { color: theme.palette.text }, children: "/ mo" })] }), _jsxs("div", { "data-lx-price-annual": true, style: { display: "none" }, children: [_jsx("span", { "data-lx-field": "price_annual", className: "text-4xl font-extrabold", style: { color: theme.palette.text, ...elStyle(elementStyles, "price_annual") }, children: plan.price_annual ?? plan.price }), _jsx("span", { className: "text-sm opacity-50 ml-1", style: { color: theme.palette.text }, children: "/ mo, billed annually" })] })] })) : (_jsxs("div", { className: "flex items-baseline gap-1", children: [_jsx("span", { "data-lx-field": "price", className: "text-4xl font-extrabold", style: { color: theme.palette.text, ...elStyle(elementStyles, "price") }, children: plan.price }), plan.period && (_jsxs("span", { "data-lx-field": "period", className: "text-sm opacity-50", style: { color: theme.palette.text, ...elStyle(elementStyles, "period") }, children: ["/ ", plan.period] }))] })) }), _jsx("ul", { className: "flex flex-col gap-3 flex-1", children: plan.features.map((feature, fIdx) => (_jsxs("li", { className: "flex items-start gap-2.5 text-sm", children: [_jsx("span", { className: "mt-0.5 text-base flex-shrink-0 font-bold", style: { color: theme.palette.accent }, children: "\u2713" }), _jsx("span", { style: {
99
+ fontFamily: theme.fonts.body,
100
+ color: theme.palette.text,
101
+ }, children: feature })] }, fIdx))) }), _jsx("button", { "data-lx-field": "cta_text", type: "button", className: "w-full px-8 py-4 font-semibold rounded-lg hover:-translate-y-0.5 transition-transform mt-auto", style: {
102
+ backgroundColor: plan.highlighted
103
+ ? `var(--lx-button-bg, ${theme.palette.accent})`
104
+ : "transparent",
105
+ color: plan.highlighted
106
+ ? `var(--lx-button-text, #ffffff)`
107
+ : theme.palette.accent,
108
+ borderRadius: `var(--lx-button-radius, 9999px)`,
109
+ border: plan.highlighted
110
+ ? "none"
111
+ : `2px solid ${theme.palette.accent}`,
112
+ boxShadow: plan.highlighted
113
+ ? `var(--lx-shadow-md, 0 4px 16px rgba(0,0,0,0.1))`
114
+ : "none",
115
+ ...elStyle(elementStyles, "cta_text"),
116
+ }, children: plan.cta_text })] }, idx))) })] }), isWithToggle && (_jsx("script", { dangerouslySetInnerHTML: {
117
+ __html: `
118
+ (function() {
119
+ var activeToggle = 'monthly';
120
+ document.addEventListener('click', function(e) {
121
+ var btn = e.target.closest('[data-lx-toggle][data-lx-toggle-group="pricing"]');
122
+ if (!btn) return;
123
+ activeToggle = btn.dataset.lxToggle;
124
+
125
+ // Update button styles
126
+ document.querySelectorAll('[data-lx-toggle-group="pricing"]').forEach(function(b) {
127
+ var isActive = b.dataset.lxToggle === activeToggle;
128
+ b.style.backgroundColor = isActive ? b.style.backgroundColor || '' : 'transparent';
129
+ });
130
+
131
+ // Show/hide prices
132
+ document.querySelectorAll('[data-lx-price-monthly]').forEach(function(el) {
133
+ el.style.display = activeToggle === 'monthly' ? '' : 'none';
134
+ });
135
+ document.querySelectorAll('[data-lx-price-annual]').forEach(function(el) {
136
+ el.style.display = activeToggle === 'annual' ? '' : 'none';
137
+ });
138
+ });
139
+ })();
140
+ `,
141
+ } }))] }));
142
+ }
143
+ //# sourceMappingURL=PricingCards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PricingCards.js","sourceRoot":"","sources":["../../src/pricing/PricingCards.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { CSSProperties, ReactNode } from "react";
2
+ export declare const ASPECT_MAP: Record<string, string>;
3
+ interface AspectBoxProps {
4
+ aspect?: string;
5
+ fit?: "cover" | "contain";
6
+ className?: string;
7
+ style?: CSSProperties;
8
+ children?: ReactNode;
9
+ }
10
+ export declare function AspectBox({ aspect, fit, className, style, children }: AspectBoxProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=AspectBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AspectBox.d.ts","sourceRoot":"","sources":["../../src/primitives/AspectBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQ7C,CAAC;AAEF,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,SAAS,CAAC,EAAE,MAAc,EAAE,GAAa,EAAE,SAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,cAAc,2CAW3G"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export const ASPECT_MAP = {
3
+ "1:1": "1 / 1",
4
+ "3:4": "3 / 4",
5
+ "4:5": "4 / 5",
6
+ "16:9": "16 / 9",
7
+ "4:3": "4 / 3",
8
+ "2:3": "2 / 3",
9
+ "3:2": "3 / 2",
10
+ };
11
+ export function AspectBox({ aspect = "1:1", fit = "cover", className = "", style, children }) {
12
+ const aspectRatio = ASPECT_MAP[aspect] ?? aspect.replace(":", " / ");
13
+ return (_jsx("div", { className: `relative overflow-hidden ${className}`, style: { aspectRatio, ...style }, children: children }));
14
+ }
15
+ //# sourceMappingURL=AspectBox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AspectBox.js","sourceRoot":"","sources":["../../src/primitives/AspectBox.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,MAAM,UAAU,GAA2B;IAChD,KAAK,EAAG,OAAO;IACf,KAAK,EAAG,OAAO;IACf,KAAK,EAAG,OAAO;IACf,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAG,OAAO;IACf,KAAK,EAAG,OAAO;IACf,KAAK,EAAG,OAAO;CAChB,CAAC;AAUF,MAAM,UAAU,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,GAAG,OAAO,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAkB;IAC1G,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAErE,OAAO,CACL,cACE,SAAS,EAAE,4BAA4B,SAAS,EAAE,EAClD,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,YAE/B,QAAQ,GACL,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { CSSProperties, ReactNode } from "react";
2
+ interface CursorSpotlightProps {
3
+ radius?: number;
4
+ color?: string;
5
+ children: ReactNode;
6
+ className?: string;
7
+ style?: CSSProperties;
8
+ }
9
+ export declare function CursorSpotlight({ radius, color, children, className, style, }: CursorSpotlightProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=CursorSpotlight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CursorSpotlight.d.ts","sourceRoot":"","sources":["../../src/primitives/CursorSpotlight.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,UAAU,oBAAoB;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAY,EACZ,KAAgC,EAChC,QAAQ,EACR,SAAc,EACd,KAAK,GACN,EAAE,oBAAoB,2CAkCtB"}