@levo-so/blocks 0.1.1 → 0.1.52

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 (501) hide show
  1. package/package.json +6 -10
  2. package/src/blocks/about-us/about-us-1.schema.ts +577 -0
  3. package/src/blocks/about-us/about-us-1.tsx +53 -0
  4. package/src/blocks/about-us/about-us-2.schema.ts +269 -0
  5. package/src/blocks/about-us/about-us-2.tsx +47 -0
  6. package/src/blocks/blogs/blog-listing-1.schema.ts +473 -0
  7. package/src/blocks/blogs/blog-listing-1.tsx +102 -0
  8. package/src/blocks/blogs/blog-listing-2.schema.ts +3718 -0
  9. package/src/blocks/blogs/blog-listing-2.tsx +88 -0
  10. package/src/blocks/blogs/blog-listing-3.schema.ts +2476 -0
  11. package/src/blocks/blogs/blog-listing-3.tsx +84 -0
  12. package/src/blocks/blogs/blog-post-1.schema.ts +400 -0
  13. package/src/blocks/blogs/blog-post-1.tsx +52 -0
  14. package/src/blocks/blogs/blog-post-2.schema.ts +791 -0
  15. package/src/blocks/blogs/blog-post-2.tsx +131 -0
  16. package/src/blocks/blogs/blog-post-3.schema.ts +284 -0
  17. package/src/blocks/blogs/blog-post-3.tsx +58 -0
  18. package/src/blocks/cards/cards-10.schema.ts +1012 -0
  19. package/src/blocks/cards/cards-10.tsx +48 -0
  20. package/src/blocks/cards/cards-11.schema.ts +918 -0
  21. package/src/blocks/cards/cards-11.tsx +50 -0
  22. package/src/blocks/cards/cards-12.schema.ts +578 -0
  23. package/src/blocks/cards/cards-12.tsx +54 -0
  24. package/src/blocks/cards/cards-13.schema.ts +615 -0
  25. package/src/blocks/cards/cards-13.tsx +67 -0
  26. package/src/blocks/cards/cards-2.schema.ts +290 -0
  27. package/src/blocks/cards/cards-2.tsx +42 -0
  28. package/src/blocks/cards/cards-3.schema.ts +355 -0
  29. package/src/blocks/cards/cards-3.tsx +49 -0
  30. package/src/blocks/cards/cards-4.schema.ts +655 -0
  31. package/src/blocks/cards/cards-4.tsx +50 -0
  32. package/src/blocks/cards/cards-5.schema.ts +245 -0
  33. package/src/blocks/cards/cards-5.tsx +34 -0
  34. package/src/blocks/cards/cards-6.schema.ts +2139 -0
  35. package/src/blocks/cards/cards-6.tsx +140 -0
  36. package/src/blocks/cards/cards-7.schema.ts +3538 -0
  37. package/src/blocks/cards/cards-7.tsx +197 -0
  38. package/src/blocks/cards/cards-8.schema.ts +691 -0
  39. package/src/blocks/cards/cards-8.tsx +43 -0
  40. package/src/blocks/cards/cards-9.schema.ts +827 -0
  41. package/src/blocks/cards/cards-9.tsx +54 -0
  42. package/src/blocks/carousel/carousel-1.schema.ts +250 -0
  43. package/src/blocks/carousel/carousel-1.tsx +79 -0
  44. package/src/blocks/contact-us/contact-us-1.schema.ts +233 -0
  45. package/src/blocks/contact-us/contact-us-1.tsx +39 -0
  46. package/src/blocks/contact-us/contact-us-2.schema.ts +524 -0
  47. package/src/blocks/contact-us/contact-us-2.tsx +71 -0
  48. package/src/blocks/content/content-1.schema.ts +862 -0
  49. package/src/blocks/content/content-1.tsx +69 -0
  50. package/src/blocks/content/content-2.schema.ts +212 -0
  51. package/src/blocks/content/content-2.tsx +32 -0
  52. package/src/blocks/content/content-3.schema.ts +766 -0
  53. package/src/blocks/content/content-3.tsx +55 -0
  54. package/src/blocks/content/content-4.schema.ts +287 -0
  55. package/src/blocks/content/content-4.tsx +47 -0
  56. package/src/blocks/content/content-5.schema.ts +944 -0
  57. package/src/blocks/content/content-5.tsx +59 -0
  58. package/src/blocks/content/content-6.schema.ts +991 -0
  59. package/src/blocks/content/content-6.tsx +62 -0
  60. package/src/blocks/content/content-7.schema.ts +723 -0
  61. package/src/blocks/content/content-7.tsx +53 -0
  62. package/src/blocks/cta/cta-1.schema.ts +353 -0
  63. package/src/blocks/cta/cta-1.tsx +33 -0
  64. package/src/blocks/cta/cta-2.schema.ts +209 -0
  65. package/src/blocks/cta/cta-2.tsx +28 -0
  66. package/src/blocks/cta/cta-3.schema.ts +216 -0
  67. package/src/blocks/cta/cta-3.tsx +48 -0
  68. package/src/blocks/embed/embed-1.schema.ts +153 -0
  69. package/src/blocks/embed/embed-1.tsx +38 -0
  70. package/src/blocks/event/event-details.schema.ts +732 -0
  71. package/src/blocks/event/event-details.tsx +102 -0
  72. package/src/blocks/event/event-listing-2.schema.ts +555 -0
  73. package/src/blocks/event/event-listing-2.tsx +94 -0
  74. package/src/blocks/event/event-listing-3.schema.ts +621 -0
  75. package/src/blocks/event/event-listing-3.tsx +90 -0
  76. package/src/blocks/event/event-listing-4.schema.ts +3528 -0
  77. package/src/blocks/event/event-listing-4.tsx +97 -0
  78. package/src/blocks/event/event-listing.schema.ts +1353 -0
  79. package/src/blocks/event/event-listing.tsx +88 -0
  80. package/src/blocks/faq/faq-1.schema.ts +360 -0
  81. package/src/blocks/faq/faq-1.tsx +65 -0
  82. package/src/blocks/faq/faq-2.schema.ts +358 -0
  83. package/src/blocks/faq/faq-2.tsx +84 -0
  84. package/src/blocks/faq/faq-3.schema.ts +475 -0
  85. package/src/blocks/faq/faq-3.tsx +70 -0
  86. package/src/blocks/features/features-1/features-1.schema.ts +165 -0
  87. package/src/blocks/features/features-1/features-1.tsx +48 -0
  88. package/src/blocks/features/features-1/variants/default.ts +206 -0
  89. package/{dist/blocks/features/features-1/variants/index.js → src/blocks/features/features-1/variants/index.ts} +7 -1
  90. package/src/blocks/features/features-1/variants/stylized-cards-v1.ts +138 -0
  91. package/src/blocks/features/features-1/variants/stylized-cards-v2.ts +487 -0
  92. package/src/blocks/features/features-2.schema.ts +471 -0
  93. package/src/blocks/features/features-2.tsx +66 -0
  94. package/src/blocks/features/features-3.schema.ts +424 -0
  95. package/src/blocks/features/features-3.tsx +56 -0
  96. package/src/blocks/features/features-4.schema.ts +616 -0
  97. package/src/blocks/features/features-4.tsx +75 -0
  98. package/src/blocks/features/features-5.schema.ts +728 -0
  99. package/src/blocks/features/features-5.tsx +49 -0
  100. package/src/blocks/features/features-6.schema.ts +849 -0
  101. package/src/blocks/features/features-6.tsx +125 -0
  102. package/src/blocks/footer/footer-1.schema.ts +612 -0
  103. package/src/blocks/footer/footer-1.tsx +90 -0
  104. package/src/blocks/footer/footer-2.schema.ts +913 -0
  105. package/src/blocks/footer/footer-2.tsx +77 -0
  106. package/src/blocks/footer/footer-3.schema.ts +412 -0
  107. package/src/blocks/footer/footer-3.tsx +99 -0
  108. package/src/blocks/footer/footer-4.schema.ts +649 -0
  109. package/src/blocks/footer/footer-4.tsx +97 -0
  110. package/src/blocks/footer/footer-5.schema.ts +435 -0
  111. package/src/blocks/footer/footer-5.tsx +99 -0
  112. package/src/blocks/footer/footer-6.schema.ts +730 -0
  113. package/src/blocks/footer/footer-6.tsx +100 -0
  114. package/src/blocks/hero/hero-1.schema.ts +746 -0
  115. package/src/blocks/hero/hero-1.tsx +52 -0
  116. package/src/blocks/hero/hero-10.schema.ts +175 -0
  117. package/src/blocks/hero/hero-10.tsx +35 -0
  118. package/src/blocks/hero/hero-2.schema.ts +272 -0
  119. package/src/blocks/hero/hero-2.tsx +57 -0
  120. package/src/blocks/hero/hero-3.schema.ts +419 -0
  121. package/src/blocks/hero/hero-3.tsx +50 -0
  122. package/src/blocks/hero/hero-4.schema.ts +425 -0
  123. package/src/blocks/hero/hero-4.tsx +89 -0
  124. package/src/blocks/hero/hero-5.schema.ts +198 -0
  125. package/src/blocks/hero/hero-5.tsx +86 -0
  126. package/src/blocks/hero/hero-6.schema.ts +665 -0
  127. package/src/blocks/hero/hero-6.tsx +62 -0
  128. package/src/blocks/hero/hero-7.schema.ts +505 -0
  129. package/src/blocks/hero/hero-7.tsx +115 -0
  130. package/src/blocks/hero/hero-8.schema.ts +376 -0
  131. package/src/blocks/hero/hero-8.tsx +113 -0
  132. package/src/blocks/hero/hero-9.schema.ts +379 -0
  133. package/src/blocks/hero/hero-9.tsx +49 -0
  134. package/src/blocks/index.ts +89 -0
  135. package/src/blocks/logos/logos-1.schema.ts +270 -0
  136. package/src/blocks/logos/logos-1.tsx +60 -0
  137. package/src/blocks/navbar/navbar-1.schema.ts +959 -0
  138. package/src/blocks/navbar/navbar-1.tsx +384 -0
  139. package/src/blocks/navbar/navbar-2.schema.ts +1224 -0
  140. package/src/blocks/navbar/navbar-2.tsx +403 -0
  141. package/src/blocks/navbar/navbar-3.schema.ts +6834 -0
  142. package/src/blocks/navbar/navbar-3.tsx +551 -0
  143. package/src/blocks/pricing/pricing-1.schema.ts +988 -0
  144. package/src/blocks/pricing/pricing-1.tsx +88 -0
  145. package/src/blocks/products/products-listing-1.schema.ts +271 -0
  146. package/src/blocks/products/products-listing-1.tsx +48 -0
  147. package/src/blocks/profile/profile-1.schema.ts +399 -0
  148. package/src/blocks/profile/profile-1.tsx +64 -0
  149. package/src/blocks/stats/stats-1.schema.ts +262 -0
  150. package/src/blocks/stats/stats-1.tsx +38 -0
  151. package/src/blocks/stats/stats-2.schema.ts +111 -0
  152. package/src/blocks/stats/stats-2.tsx +52 -0
  153. package/src/blocks/stats/variants/default.ts +189 -0
  154. package/src/blocks/stats/variants/hero.ts +142 -0
  155. package/{dist/blocks/stats/variants/index.js → src/blocks/stats/variants/index.ts} +1 -0
  156. package/src/blocks/team/team-1.schema.ts +544 -0
  157. package/src/blocks/team/team-1.tsx +86 -0
  158. package/src/blocks/team/team-2.schema.ts +2742 -0
  159. package/src/blocks/team/team-2.tsx +74 -0
  160. package/src/blocks/team/team-3.schema.ts +690 -0
  161. package/src/blocks/team/team-3.tsx +103 -0
  162. package/src/blocks/team/team-4.schema.ts +551 -0
  163. package/src/blocks/team/team-4.tsx +59 -0
  164. package/src/blocks/termsAndPrivacy/terms-and-conditions-1.schema.ts +158 -0
  165. package/src/blocks/termsAndPrivacy/terms-and-conditions-1.tsx +29 -0
  166. package/src/blocks/testimonial/testimonial-1.schema.ts +351 -0
  167. package/src/blocks/testimonial/testimonial-1.tsx +79 -0
  168. package/src/blocks/testimonial/testimonial-2.schema.ts +816 -0
  169. package/src/blocks/testimonial/testimonial-2.tsx +161 -0
  170. package/src/blocks/testimonial/testimonial-3.schema.ts +273 -0
  171. package/src/blocks/testimonial/testimonial-3.tsx +128 -0
  172. package/src/blocks/testimonial/testimonial-4.schema.ts +3378 -0
  173. package/src/blocks/testimonial/testimonial-4.tsx +202 -0
  174. package/src/blocks/testimonial/testimonial-5/variants/default.ts +510 -0
  175. package/src/blocks/testimonial/testimonial-5/variants/index.ts +4 -0
  176. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithLogo.ts +887 -0
  177. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithRatings.ts +923 -0
  178. package/src/blocks/testimonial/testimonial-5.schema.ts +250 -0
  179. package/src/blocks/testimonial/testimonial-5.tsx +130 -0
  180. package/src/blocks/testimonial/testimonial-6.schema.ts +1672 -0
  181. package/src/blocks/testimonial/testimonial-6.tsx +178 -0
  182. package/{dist/index.js → src/index.ts} +5 -2
  183. package/{dist/schemas/blocks.js → src/schemas/blocks.ts} +97 -72
  184. package/src/schemas/categories.ts +140 -0
  185. package/src/styles.d.ts +4 -0
  186. package/dist/blocks/about-us/about-us-1.d.ts +0 -5
  187. package/dist/blocks/about-us/about-us-1.js +0 -5
  188. package/dist/blocks/about-us/about-us-1.schema.d.ts +0 -38
  189. package/dist/blocks/about-us/about-us-1.schema.js +0 -537
  190. package/dist/blocks/blogs/blog-listing-1.d.ts +0 -5
  191. package/dist/blocks/blogs/blog-listing-1.js +0 -12
  192. package/dist/blocks/blogs/blog-listing-1.schema.d.ts +0 -59
  193. package/dist/blocks/blogs/blog-listing-1.schema.js +0 -387
  194. package/dist/blocks/blogs/blog-listing-2.d.ts +0 -5
  195. package/dist/blocks/blogs/blog-listing-2.js +0 -9
  196. package/dist/blocks/blogs/blog-listing-2.schema.d.ts +0 -104
  197. package/dist/blocks/blogs/blog-listing-2.schema.js +0 -572
  198. package/dist/blocks/blogs/blog-post-1.d.ts +0 -6
  199. package/dist/blocks/blogs/blog-post-1.js +0 -8
  200. package/dist/blocks/blogs/blog-post-1.schema.d.ts +0 -48
  201. package/dist/blocks/blogs/blog-post-1.schema.js +0 -358
  202. package/dist/blocks/blogs/blog-post-2.d.ts +0 -6
  203. package/dist/blocks/blogs/blog-post-2.js +0 -8
  204. package/dist/blocks/blogs/blog-post-2.schema.d.ts +0 -74
  205. package/dist/blocks/blogs/blog-post-2.schema.js +0 -779
  206. package/dist/blocks/cards/cards-10.d.ts +0 -6
  207. package/dist/blocks/cards/cards-10.js +0 -4
  208. package/dist/blocks/cards/cards-10.schema.d.ts +0 -44
  209. package/dist/blocks/cards/cards-10.schema.js +0 -405
  210. package/dist/blocks/cards/cards-11.d.ts +0 -6
  211. package/dist/blocks/cards/cards-11.js +0 -4
  212. package/dist/blocks/cards/cards-11.schema.d.ts +0 -58
  213. package/dist/blocks/cards/cards-11.schema.js +0 -406
  214. package/dist/blocks/cards/cards-12.d.ts +0 -6
  215. package/dist/blocks/cards/cards-12.js +0 -4
  216. package/dist/blocks/cards/cards-12.schema.d.ts +0 -38
  217. package/dist/blocks/cards/cards-12.schema.js +0 -545
  218. package/dist/blocks/cards/cards-2.d.ts +0 -5
  219. package/dist/blocks/cards/cards-2.js +0 -4
  220. package/dist/blocks/cards/cards-2.schema.d.ts +0 -46
  221. package/dist/blocks/cards/cards-2.schema.js +0 -260
  222. package/dist/blocks/cards/cards-3.d.ts +0 -6
  223. package/dist/blocks/cards/cards-3.js +0 -5
  224. package/dist/blocks/cards/cards-3.schema.d.ts +0 -36
  225. package/dist/blocks/cards/cards-3.schema.js +0 -351
  226. package/dist/blocks/cards/cards-4.d.ts +0 -6
  227. package/dist/blocks/cards/cards-4.js +0 -4
  228. package/dist/blocks/cards/cards-4.schema.d.ts +0 -40
  229. package/dist/blocks/cards/cards-4.schema.js +0 -648
  230. package/dist/blocks/cards/cards-5.d.ts +0 -5
  231. package/dist/blocks/cards/cards-5.js +0 -4
  232. package/dist/blocks/cards/cards-5.schema.d.ts +0 -48
  233. package/dist/blocks/cards/cards-5.schema.js +0 -238
  234. package/dist/blocks/cards/cards-6.d.ts +0 -5
  235. package/dist/blocks/cards/cards-6.js +0 -45
  236. package/dist/blocks/cards/cards-6.schema.d.ts +0 -50
  237. package/dist/blocks/cards/cards-6.schema.js +0 -608
  238. package/dist/blocks/cards/cards-7.d.ts +0 -5
  239. package/dist/blocks/cards/cards-7.js +0 -45
  240. package/dist/blocks/cards/cards-7.schema.d.ts +0 -87
  241. package/dist/blocks/cards/cards-7.schema.js +0 -1732
  242. package/dist/blocks/cards/cards-8.d.ts +0 -6
  243. package/dist/blocks/cards/cards-8.js +0 -4
  244. package/dist/blocks/cards/cards-8.schema.d.ts +0 -40
  245. package/dist/blocks/cards/cards-8.schema.js +0 -660
  246. package/dist/blocks/cards/cards-9.d.ts +0 -5
  247. package/dist/blocks/cards/cards-9.js +0 -4
  248. package/dist/blocks/cards/cards-9.schema.d.ts +0 -55
  249. package/dist/blocks/cards/cards-9.schema.js +0 -798
  250. package/dist/blocks/carousel/carousel-1.d.ts +0 -5
  251. package/dist/blocks/carousel/carousel-1.js +0 -12
  252. package/dist/blocks/carousel/carousel-1.schema.d.ts +0 -51
  253. package/dist/blocks/carousel/carousel-1.schema.js +0 -236
  254. package/dist/blocks/contact-us/contact-us-1.d.ts +0 -5
  255. package/dist/blocks/contact-us/contact-us-1.js +0 -4
  256. package/dist/blocks/contact-us/contact-us-1.schema.d.ts +0 -31
  257. package/dist/blocks/contact-us/contact-us-1.schema.js +0 -202
  258. package/dist/blocks/contact-us/contact-us-2.d.ts +0 -5
  259. package/dist/blocks/contact-us/contact-us-2.js +0 -4
  260. package/dist/blocks/contact-us/contact-us-2.schema.d.ts +0 -59
  261. package/dist/blocks/contact-us/contact-us-2.schema.js +0 -512
  262. package/dist/blocks/content/content-1.d.ts +0 -6
  263. package/dist/blocks/content/content-1.js +0 -4
  264. package/dist/blocks/content/content-1.schema.d.ts +0 -56
  265. package/dist/blocks/content/content-1.schema.js +0 -807
  266. package/dist/blocks/content/content-2.d.ts +0 -5
  267. package/dist/blocks/content/content-2.js +0 -4
  268. package/dist/blocks/content/content-2.schema.d.ts +0 -78
  269. package/dist/blocks/content/content-2.schema.js +0 -200
  270. package/dist/blocks/content/content-3.d.ts +0 -6
  271. package/dist/blocks/content/content-3.js +0 -5
  272. package/dist/blocks/content/content-3.schema.d.ts +0 -23
  273. package/dist/blocks/content/content-3.schema.js +0 -850
  274. package/dist/blocks/content/content-4.d.ts +0 -6
  275. package/dist/blocks/content/content-4.js +0 -6
  276. package/dist/blocks/content/content-4.schema.d.ts +0 -33
  277. package/dist/blocks/content/content-4.schema.js +0 -252
  278. package/dist/blocks/content/content-5.d.ts +0 -6
  279. package/dist/blocks/content/content-5.js +0 -5
  280. package/dist/blocks/content/content-5.schema.d.ts +0 -37
  281. package/dist/blocks/content/content-5.schema.js +0 -932
  282. package/dist/blocks/content/content-6.d.ts +0 -6
  283. package/dist/blocks/content/content-6.js +0 -5
  284. package/dist/blocks/content/content-6.schema.d.ts +0 -41
  285. package/dist/blocks/content/content-6.schema.js +0 -976
  286. package/dist/blocks/cta/cta-1.d.ts +0 -5
  287. package/dist/blocks/cta/cta-1.js +0 -4
  288. package/dist/blocks/cta/cta-1.schema.d.ts +0 -40
  289. package/dist/blocks/cta/cta-1.schema.js +0 -339
  290. package/dist/blocks/cta/cta-2.d.ts +0 -5
  291. package/dist/blocks/cta/cta-2.js +0 -4
  292. package/dist/blocks/cta/cta-2.schema.d.ts +0 -45
  293. package/dist/blocks/cta/cta-2.schema.js +0 -183
  294. package/dist/blocks/cta/cta-3.d.ts +0 -5
  295. package/dist/blocks/cta/cta-3.js +0 -4
  296. package/dist/blocks/cta/cta-3.schema.d.ts +0 -34
  297. package/dist/blocks/cta/cta-3.schema.js +0 -137
  298. package/dist/blocks/embed/embed-1.d.ts +0 -5
  299. package/dist/blocks/embed/embed-1.js +0 -5
  300. package/dist/blocks/embed/embed-1.schema.d.ts +0 -13
  301. package/dist/blocks/embed/embed-1.schema.js +0 -146
  302. package/dist/blocks/event/event-details.d.ts +0 -5
  303. package/dist/blocks/event/event-details.js +0 -9
  304. package/dist/blocks/event/event-details.schema.d.ts +0 -112
  305. package/dist/blocks/event/event-details.schema.js +0 -685
  306. package/dist/blocks/event/event-listing-2.d.ts +0 -5
  307. package/dist/blocks/event/event-listing-2.js +0 -4
  308. package/dist/blocks/event/event-listing-2.schema.d.ts +0 -84
  309. package/dist/blocks/event/event-listing-2.schema.js +0 -455
  310. package/dist/blocks/event/event-listing-3.d.ts +0 -5
  311. package/dist/blocks/event/event-listing-3.js +0 -10
  312. package/dist/blocks/event/event-listing-3.schema.d.ts +0 -77
  313. package/dist/blocks/event/event-listing-3.schema.js +0 -570
  314. package/dist/blocks/event/event-listing.d.ts +0 -5
  315. package/dist/blocks/event/event-listing.js +0 -10
  316. package/dist/blocks/event/event-listing.schema.d.ts +0 -51
  317. package/dist/blocks/event/event-listing.schema.js +0 -1297
  318. package/dist/blocks/faq/faq-1.d.ts +0 -5
  319. package/dist/blocks/faq/faq-1.js +0 -4
  320. package/dist/blocks/faq/faq-1.schema.d.ts +0 -47
  321. package/dist/blocks/faq/faq-1.schema.js +0 -325
  322. package/dist/blocks/faq/faq-2.d.ts +0 -6
  323. package/dist/blocks/faq/faq-2.js +0 -19
  324. package/dist/blocks/faq/faq-2.schema.d.ts +0 -47
  325. package/dist/blocks/faq/faq-2.schema.js +0 -329
  326. package/dist/blocks/faq/faq-3.d.ts +0 -5
  327. package/dist/blocks/faq/faq-3.js +0 -4
  328. package/dist/blocks/faq/faq-3.schema.d.ts +0 -40
  329. package/dist/blocks/faq/faq-3.schema.js +0 -444
  330. package/dist/blocks/features/features-1/features-1.d.ts +0 -5
  331. package/dist/blocks/features/features-1/features-1.js +0 -4
  332. package/dist/blocks/features/features-1/features-1.schema.d.ts +0 -5
  333. package/dist/blocks/features/features-1/features-1.schema.js +0 -142
  334. package/dist/blocks/features/features-1/variants/default.d.ts +0 -37
  335. package/dist/blocks/features/features-1/variants/default.js +0 -185
  336. package/dist/blocks/features/features-1/variants/index.d.ts +0 -5
  337. package/dist/blocks/features/features-1/variants/stylized-cards-v1.d.ts +0 -3
  338. package/dist/blocks/features/features-1/variants/stylized-cards-v1.js +0 -132
  339. package/dist/blocks/features/features-1/variants/stylized-cards-v2.d.ts +0 -3
  340. package/dist/blocks/features/features-1/variants/stylized-cards-v2.js +0 -484
  341. package/dist/blocks/features/features-2.d.ts +0 -5
  342. package/dist/blocks/features/features-2.js +0 -8
  343. package/dist/blocks/features/features-2.schema.d.ts +0 -41
  344. package/dist/blocks/features/features-2.schema.js +0 -321
  345. package/dist/blocks/features/features-3.d.ts +0 -5
  346. package/dist/blocks/features/features-3.js +0 -4
  347. package/dist/blocks/features/features-3.schema.d.ts +0 -40
  348. package/dist/blocks/features/features-3.schema.js +0 -424
  349. package/dist/blocks/features/features-4.d.ts +0 -5
  350. package/dist/blocks/features/features-4.js +0 -4
  351. package/dist/blocks/features/features-4.schema.d.ts +0 -60
  352. package/dist/blocks/features/features-4.schema.js +0 -594
  353. package/dist/blocks/features/features-5.d.ts +0 -6
  354. package/dist/blocks/features/features-5.js +0 -5
  355. package/dist/blocks/features/features-5.schema.d.ts +0 -28
  356. package/dist/blocks/features/features-5.schema.js +0 -727
  357. package/dist/blocks/features/features-6.d.ts +0 -5
  358. package/dist/blocks/features/features-6.js +0 -31
  359. package/dist/blocks/features/features-6.schema.d.ts +0 -74
  360. package/dist/blocks/features/features-6.schema.js +0 -814
  361. package/dist/blocks/footer/footer-1.d.ts +0 -6
  362. package/dist/blocks/footer/footer-1.js +0 -5
  363. package/dist/blocks/footer/footer-1.schema.d.ts +0 -62
  364. package/dist/blocks/footer/footer-1.schema.js +0 -565
  365. package/dist/blocks/footer/footer-2.d.ts +0 -5
  366. package/dist/blocks/footer/footer-2.js +0 -4
  367. package/dist/blocks/footer/footer-2.schema.d.ts +0 -76
  368. package/dist/blocks/footer/footer-2.schema.js +0 -876
  369. package/dist/blocks/footer/footer-3.d.ts +0 -6
  370. package/dist/blocks/footer/footer-3.js +0 -15
  371. package/dist/blocks/footer/footer-3.schema.d.ts +0 -48
  372. package/dist/blocks/footer/footer-3.schema.js +0 -475
  373. package/dist/blocks/footer/footer-4.d.ts +0 -6
  374. package/dist/blocks/footer/footer-4.js +0 -5
  375. package/dist/blocks/footer/footer-4.schema.d.ts +0 -71
  376. package/dist/blocks/footer/footer-4.schema.js +0 -620
  377. package/dist/blocks/footer/footer-5.d.ts +0 -6
  378. package/dist/blocks/footer/footer-5.js +0 -5
  379. package/dist/blocks/footer/footer-5.schema.d.ts +0 -52
  380. package/dist/blocks/footer/footer-5.schema.js +0 -400
  381. package/dist/blocks/hero/hero-1.d.ts +0 -5
  382. package/dist/blocks/hero/hero-1.js +0 -4
  383. package/dist/blocks/hero/hero-1.schema.d.ts +0 -35
  384. package/dist/blocks/hero/hero-1.schema.js +0 -742
  385. package/dist/blocks/hero/hero-2.d.ts +0 -5
  386. package/dist/blocks/hero/hero-2.js +0 -4
  387. package/dist/blocks/hero/hero-2.schema.d.ts +0 -46
  388. package/dist/blocks/hero/hero-2.schema.js +0 -282
  389. package/dist/blocks/hero/hero-3.d.ts +0 -5
  390. package/dist/blocks/hero/hero-3.js +0 -4
  391. package/dist/blocks/hero/hero-3.schema.d.ts +0 -54
  392. package/dist/blocks/hero/hero-3.schema.js +0 -378
  393. package/dist/blocks/hero/hero-4.d.ts +0 -5
  394. package/dist/blocks/hero/hero-4.js +0 -30
  395. package/dist/blocks/hero/hero-4.schema.d.ts +0 -33
  396. package/dist/blocks/hero/hero-4.schema.js +0 -316
  397. package/dist/blocks/hero/hero-5.d.ts +0 -5
  398. package/dist/blocks/hero/hero-5.js +0 -30
  399. package/dist/blocks/hero/hero-5.schema.d.ts +0 -32
  400. package/dist/blocks/hero/hero-5.schema.js +0 -183
  401. package/dist/blocks/hero/hero-6.d.ts +0 -5
  402. package/dist/blocks/hero/hero-6.js +0 -8
  403. package/dist/blocks/hero/hero-6.schema.d.ts +0 -36
  404. package/dist/blocks/hero/hero-6.schema.js +0 -617
  405. package/dist/blocks/hero/hero-7.d.ts +0 -5
  406. package/dist/blocks/hero/hero-7.js +0 -40
  407. package/dist/blocks/hero/hero-7.schema.d.ts +0 -12
  408. package/dist/blocks/hero/hero-7.schema.js +0 -471
  409. package/dist/blocks/hero/hero-8.d.ts +0 -5
  410. package/dist/blocks/hero/hero-8.js +0 -39
  411. package/dist/blocks/hero/hero-8.schema.d.ts +0 -17
  412. package/dist/blocks/hero/hero-8.schema.js +0 -343
  413. package/dist/blocks/hero/hero-9.d.ts +0 -6
  414. package/dist/blocks/hero/hero-9.js +0 -4
  415. package/dist/blocks/hero/hero-9.schema.d.ts +0 -39
  416. package/dist/blocks/hero/hero-9.schema.js +0 -355
  417. package/dist/blocks/index.d.ts +0 -3
  418. package/dist/blocks/index.js +0 -74
  419. package/dist/blocks/logos/logos-1.d.ts +0 -5
  420. package/dist/blocks/logos/logos-1.js +0 -10
  421. package/dist/blocks/logos/logos-1.schema.d.ts +0 -34
  422. package/dist/blocks/logos/logos-1.schema.js +0 -239
  423. package/dist/blocks/navbar/navbar-1.d.ts +0 -6
  424. package/dist/blocks/navbar/navbar-1.js +0 -100
  425. package/dist/blocks/navbar/navbar-1.schema.d.ts +0 -117
  426. package/dist/blocks/navbar/navbar-1.schema.js +0 -938
  427. package/dist/blocks/navbar/navbar-2.d.ts +0 -6
  428. package/dist/blocks/navbar/navbar-2.js +0 -99
  429. package/dist/blocks/navbar/navbar-2.schema.d.ts +0 -134
  430. package/dist/blocks/navbar/navbar-2.schema.js +0 -1200
  431. package/dist/blocks/pricing/pricing-1.d.ts +0 -5
  432. package/dist/blocks/pricing/pricing-1.js +0 -4
  433. package/dist/blocks/pricing/pricing-1.schema.d.ts +0 -87
  434. package/dist/blocks/pricing/pricing-1.schema.js +0 -976
  435. package/dist/blocks/products/products-listing-1.d.ts +0 -5
  436. package/dist/blocks/products/products-listing-1.js +0 -4
  437. package/dist/blocks/products/products-listing-1.schema.d.ts +0 -36
  438. package/dist/blocks/products/products-listing-1.schema.js +0 -264
  439. package/dist/blocks/stats/stats-1.d.ts +0 -6
  440. package/dist/blocks/stats/stats-1.js +0 -6
  441. package/dist/blocks/stats/stats-1.schema.d.ts +0 -25
  442. package/dist/blocks/stats/stats-1.schema.js +0 -213
  443. package/dist/blocks/stats/stats-2.d.ts +0 -6
  444. package/dist/blocks/stats/stats-2.js +0 -6
  445. package/dist/blocks/stats/stats-2.schema.d.ts +0 -5
  446. package/dist/blocks/stats/stats-2.schema.js +0 -104
  447. package/dist/blocks/stats/variants/default.d.ts +0 -22
  448. package/dist/blocks/stats/variants/default.js +0 -185
  449. package/dist/blocks/stats/variants/hero.d.ts +0 -3
  450. package/dist/blocks/stats/variants/hero.js +0 -151
  451. package/dist/blocks/stats/variants/index.d.ts +0 -4
  452. package/dist/blocks/team/team-1.d.ts +0 -6
  453. package/dist/blocks/team/team-1.js +0 -6
  454. package/dist/blocks/team/team-1.schema.d.ts +0 -65
  455. package/dist/blocks/team/team-1.schema.js +0 -476
  456. package/dist/blocks/team/team-2.d.ts +0 -6
  457. package/dist/blocks/team/team-2.js +0 -6
  458. package/dist/blocks/team/team-2.schema.d.ts +0 -52
  459. package/dist/blocks/team/team-2.schema.js +0 -2732
  460. package/dist/blocks/team/team-3.d.ts +0 -5
  461. package/dist/blocks/team/team-3.js +0 -30
  462. package/dist/blocks/team/team-3.schema.d.ts +0 -32
  463. package/dist/blocks/team/team-3.schema.js +0 -679
  464. package/dist/blocks/termsAndPrivacy/terms-and-conditions-1.d.ts +0 -6
  465. package/dist/blocks/termsAndPrivacy/terms-and-conditions-1.js +0 -4
  466. package/dist/blocks/termsAndPrivacy/terms-and-conditions-1.schema.d.ts +0 -14
  467. package/dist/blocks/termsAndPrivacy/terms-and-conditions-1.schema.js +0 -154
  468. package/dist/blocks/testimonial/testimonial-1.d.ts +0 -5
  469. package/dist/blocks/testimonial/testimonial-1.js +0 -10
  470. package/dist/blocks/testimonial/testimonial-1.schema.d.ts +0 -16
  471. package/dist/blocks/testimonial/testimonial-1.schema.js +0 -314
  472. package/dist/blocks/testimonial/testimonial-2.d.ts +0 -5
  473. package/dist/blocks/testimonial/testimonial-2.js +0 -42
  474. package/dist/blocks/testimonial/testimonial-2.schema.d.ts +0 -54
  475. package/dist/blocks/testimonial/testimonial-2.schema.js +0 -771
  476. package/dist/blocks/testimonial/testimonial-3.d.ts +0 -5
  477. package/dist/blocks/testimonial/testimonial-3.js +0 -38
  478. package/dist/blocks/testimonial/testimonial-3.schema.d.ts +0 -56
  479. package/dist/blocks/testimonial/testimonial-3.schema.js +0 -260
  480. package/dist/blocks/testimonial/testimonial-4.d.ts +0 -5
  481. package/dist/blocks/testimonial/testimonial-4.js +0 -51
  482. package/dist/blocks/testimonial/testimonial-4.schema.d.ts +0 -145
  483. package/dist/blocks/testimonial/testimonial-4.schema.js +0 -3214
  484. package/dist/blocks/testimonial/testimonial-5.d.ts +0 -5
  485. package/dist/blocks/testimonial/testimonial-5.js +0 -31
  486. package/dist/blocks/testimonial/testimonial-5.schema.d.ts +0 -33
  487. package/dist/blocks/testimonial/testimonial-5.schema.js +0 -401
  488. package/dist/blocks/testimonial/testimonial-6.d.ts +0 -5
  489. package/dist/blocks/testimonial/testimonial-6.js +0 -39
  490. package/dist/blocks/testimonial/testimonial-6.schema.d.ts +0 -60
  491. package/dist/blocks/testimonial/testimonial-6.schema.js +0 -695
  492. package/dist/blocks.d.ts +0 -3
  493. package/dist/blocks.js +0 -74
  494. package/dist/index.d.ts +0 -6
  495. package/dist/schemas/blocks.d.ts +0 -3
  496. package/dist/schemas/categories.d.ts +0 -3
  497. package/dist/schemas/categories.js +0 -129
  498. package/dist/schemas/index.d.ts +0 -3
  499. package/dist/schemas.d.ts +0 -3
  500. package/dist/schemas.js +0 -2
  501. /package/{dist/schemas/index.js → src/schemas/index.ts} +0 -0
@@ -0,0 +1,62 @@
1
+ import {
2
+ type ILevoBlockBaseProps,
3
+ Heading,
4
+ Typography,
5
+ Section,
6
+ Container,
7
+ Box,
8
+ Media,
9
+ Carousel,
10
+ CarouselContent,
11
+ CarouselItem,
12
+ } from "@levo-so/studio";
13
+
14
+ import type { IHero6Content } from "./hero-6.schema";
15
+
16
+ const Hero6: React.FC<ILevoBlockBaseProps<IHero6Content>> = ({ content }) => (
17
+ <Section elementKey="layout">
18
+ <Container elementKey="container">
19
+ <Box elementKey="content_wrapper">
20
+ <Typography elementKey="label" />
21
+ <Heading elementKey="title" />
22
+ <Typography elementKey="description" />
23
+
24
+ <Box elementKey="stats_levoGroup" data-levo_group>
25
+ {(content?.stats ?? []).map((_: any, index: number) => (
26
+ <Box
27
+ key={`hero-6-stat-${index}`}
28
+ data-levo_group_item
29
+ elementKey={`stats.${index}.stat_wrapper`}
30
+ >
31
+ <Heading elementKey={`stats.${index}.value`} />
32
+ <Typography elementKey={`stats.${index}.label`} />
33
+ </Box>
34
+ ))}
35
+ </Box>
36
+ </Box>
37
+
38
+ <Carousel
39
+ elementKey="media_collage_levoGroup"
40
+ data-levo_group
41
+ opts={{
42
+ watchDrag: false,
43
+ watchResize: true,
44
+ watchSlides: true,
45
+ }}
46
+ >
47
+ <CarouselContent>
48
+ {(content?.media_collage ?? []).map((_: any, index: number) => (
49
+ <CarouselItem key={`hero-6-media-${index}`} data-levo_group_item>
50
+ <Media
51
+ elementKey={`media_collage.${index}.image`}
52
+ alt={`Healthcare professional ${index + 1}`}
53
+ />
54
+ </CarouselItem>
55
+ ))}
56
+ </CarouselContent>
57
+ </Carousel>
58
+ </Container>
59
+ </Section>
60
+ );
61
+
62
+ export default Hero6;
@@ -0,0 +1,505 @@
1
+ import type { IBlock } from "@levo-so/studio";
2
+
3
+ const DUMMY_IMAGE = {
4
+ id: "7141014160938075687",
5
+ location: "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH.png",
6
+ kind: "image",
7
+ mimetype: "image/png",
8
+ srcset: {
9
+ "1080w":
10
+ "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp",
11
+ "1200w":
12
+ "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp",
13
+ "1920w":
14
+ "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp",
15
+ "320w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp",
16
+ "640w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp",
17
+ "750w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp",
18
+ "828w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp",
19
+ path: "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp 640w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp 1080w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp 1200w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp 1920w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp 320w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp 750w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp 828w",
20
+ },
21
+ };
22
+
23
+ const DUMMY_ICON = {
24
+ kind: "icon",
25
+ data: {
26
+ id: "archive-minus",
27
+ label: "Archive Minus",
28
+ tags: ["archive", "custom", "directional", "minus"],
29
+ svgCode:
30
+ '<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M14.5 11.4H9.5C9.09 11.4 8.75 11.06 8.75 10.65C8.75 10.24 9.09 9.90002 9.5 9.90002H14.5C14.91 9.90002 15.25 10.24 15.25 10.65C15.25 11.06 14.91 11.4 14.5 11.4Z" fill="var(--color-icon-primary)"/>\n<path d="M4.92957 22.75C4.50957 22.75 4.11957 22.65 3.76957 22.45C2.99957 22 2.55957 21.09 2.55957 19.96V5.86C2.55957 3.32 4.62957 1.25 7.16957 1.25H16.8196C19.3596 1.25 21.4296 3.32 21.4296 5.86V19.95C21.4296 21.08 20.9896 21.99 20.2196 22.44C19.4496 22.89 18.4396 22.84 17.4496 22.29L12.5696 19.58C12.2796 19.42 11.7096 19.42 11.4196 19.58L6.53957 22.29C5.99957 22.59 5.44957 22.75 4.92957 22.75ZM7.17957 2.75C5.46957 2.75 4.06957 4.15 4.06957 5.86V19.95C4.06957 20.54 4.23957 20.98 4.53957 21.15C4.83957 21.33 5.30957 21.27 5.81957 20.98L10.6996 18.27C11.4396 17.86 12.5596 17.86 13.2996 18.27L18.1796 20.98C18.6896 21.27 19.1596 21.33 19.4596 21.15C19.7596 20.97 19.9296 20.53 19.9296 19.95V5.86C19.9296 4.15 18.5296 2.75 16.8196 2.75H7.17957Z" fill="var(--color-icon-primary)"/>\n</svg>',
31
+ },
32
+ };
33
+
34
+ const DEFAULT_SLIDES_COUNT = 3;
35
+
36
+ const DEFAULT_CONTENT = {
37
+ layout: null,
38
+ slider_dots: null,
39
+ slider_dot: null,
40
+
41
+ slides: Array(DEFAULT_SLIDES_COUNT).fill({
42
+ slide_wrapper: null,
43
+ background_image: DUMMY_IMAGE,
44
+ content_wrapper: null,
45
+ metadata_wrapper: null,
46
+ date_time_wrapper: null,
47
+ date_wrapper: null,
48
+ calendar_icon: DUMMY_ICON,
49
+ date: "September 28, 2025",
50
+ time_wrapper: null,
51
+ time_icon: DUMMY_ICON,
52
+ time: "10 min read",
53
+ title:
54
+ "Wellness isn't a destination — it's the small choices you make each day that shape a healthier, calmer you",
55
+ description:
56
+ "Discover the power of mindful living and how small daily practices can transform your overall well-being and bring lasting peace to your life.",
57
+ author_wrapper: null,
58
+ avatar: DUMMY_ICON,
59
+ author_name: "Lily Morphine",
60
+ ctas_wrapper: null,
61
+ primary_cta: "Read Article",
62
+ secondary_cta: "Save for Later",
63
+ }),
64
+ };
65
+
66
+ export type IHero7Content = typeof DEFAULT_CONTENT;
67
+
68
+ export const Hero7: IBlock = {
69
+ category_id: "hero",
70
+ title: "Hero 7",
71
+ key: "hero-7",
72
+ version: "v1",
73
+ prompt_description:
74
+ "Full-screen hero carousel with background images, centered content overlay featuring label, headline, description, and dual call-to-action buttons on each slide.",
75
+ content_schema: [
76
+ {
77
+ key: "layout",
78
+ label: "Layout",
79
+ field_interface: "LayoutWidget",
80
+ hint: {
81
+ prompt_description:
82
+ "Defines the overall layout structure of the full-screen hero carousel section. No content generation required—used for layout only.",
83
+ },
84
+ },
85
+ {
86
+ key: "container",
87
+ label: "Container",
88
+ field_interface: "ContainerWidget",
89
+ hint: {
90
+ prompt_description:
91
+ "Main container to provide padding and alignment for hero content overlay. Not for content, but for spacing and organizational structure only.",
92
+ },
93
+ },
94
+ {
95
+ key: "slider_dots",
96
+ label: "Slider Dots",
97
+ field_interface: "BoxWidget",
98
+ hint: {
99
+ prompt_description:
100
+ "Container for carousel navigation dots. No content—structural only.",
101
+ },
102
+ },
103
+ {
104
+ key: "slider_dot",
105
+ label: "Slider Dot",
106
+ field_interface: "BoxWidget",
107
+ hint: {
108
+ prompt_description:
109
+ "Individual carousel navigation dot. No content—structural only.",
110
+ },
111
+ },
112
+ {
113
+ key: "slides",
114
+ label: "Slides",
115
+ field_interface: "CarouselWidget",
116
+ kind: "group",
117
+ fields: [
118
+ {
119
+ key: "slide_wrapper",
120
+ label: "Slide Wrapper",
121
+ field_interface: "BoxWidget",
122
+ hint: {
123
+ prompt_description:
124
+ "Full-screen slide container that holds the background image and content overlay. No content—structural only.",
125
+ },
126
+ },
127
+ {
128
+ key: "background_image",
129
+ label: "Background Image",
130
+ field_interface: "ImageWidget",
131
+ hint: {
132
+ prompt_description:
133
+ "Full-screen background image for the slide. Use high-quality, professional images that complement the content and maintain good contrast for text overlay.",
134
+ orientation: "landscape",
135
+ size: "large",
136
+ usecase: "hero",
137
+ },
138
+ },
139
+ {
140
+ key: "content_wrapper",
141
+ label: "Content Wrapper",
142
+ field_interface: "BoxWidget",
143
+ hint: {
144
+ prompt_description:
145
+ "Container for the centered content overlay including label, title, description, and buttons. No content—structural only.",
146
+ },
147
+ },
148
+ {
149
+ key: "metadata_wrapper",
150
+ label: "Metadata Wrapper",
151
+ field_interface: "BoxWidget",
152
+ hint: {
153
+ prompt_description:
154
+ "Main container for date, time, and other metadata elements. No content—structural only.",
155
+ },
156
+ },
157
+ {
158
+ key: "date_time_wrapper",
159
+ label: "Date Time Wrapper",
160
+ field_interface: "BoxWidget",
161
+ hint: {
162
+ prompt_description:
163
+ "Container for date and time elements arranged horizontally. No content—structural only.",
164
+ },
165
+ },
166
+ {
167
+ key: "date_wrapper",
168
+ label: "Date Wrapper",
169
+ field_interface: "BoxWidget",
170
+ hint: {
171
+ prompt_description:
172
+ "Container for calendar icon and date text. No content—structural only.",
173
+ },
174
+ },
175
+ {
176
+ key: "calendar_icon",
177
+ label: "Calendar Icon",
178
+ field_interface: "IconWidget",
179
+ hint: {
180
+ prompt_description:
181
+ "Small calendar icon displayed next to the date. Should be simple and clearly recognizable.",
182
+ orientation: "square",
183
+ size: "icon",
184
+ usecase: "icon",
185
+ },
186
+ },
187
+ {
188
+ key: "date",
189
+ label: "Date",
190
+ field_interface: "TypographyWidget",
191
+ hint: {
192
+ prompt_description:
193
+ "Publication or event date displayed next to calendar icon. Use format like 'September 28, 2025'.",
194
+ min_characters: 8,
195
+ max_characters: 20,
196
+ },
197
+ },
198
+ {
199
+ key: "time_wrapper",
200
+ label: "Time Wrapper",
201
+ field_interface: "BoxWidget",
202
+ hint: {
203
+ prompt_description:
204
+ "Container for time icon and time description. No content—structural only.",
205
+ },
206
+ },
207
+ {
208
+ key: "time_icon",
209
+ label: "Time Icon",
210
+ field_interface: "IconWidget",
211
+ hint: {
212
+ prompt_description:
213
+ "Small time/clock icon displayed next to the time description. Should be simple and recognizable.",
214
+ orientation: "square",
215
+ size: "icon",
216
+ usecase: "icon",
217
+ },
218
+ },
219
+ {
220
+ key: "time",
221
+ label: "Time",
222
+ field_interface: "TypographyWidget",
223
+ hint: {
224
+ prompt_description:
225
+ "Time description such as reading time or duration. Examples: '10 min read', '5 min video', '30 min session'.",
226
+ min_characters: 6,
227
+ max_characters: 15,
228
+ },
229
+ },
230
+ {
231
+ key: "title",
232
+ label: "Title",
233
+ field_interface: "HeadingWidget",
234
+ hint: {
235
+ prompt_description:
236
+ "Primary headline for the slide. Write compelling, action-oriented headlines that capture attention and communicate the main value proposition.",
237
+ min_characters: 20,
238
+ max_characters: 80,
239
+ },
240
+ },
241
+
242
+ {
243
+ key: "author_wrapper",
244
+ label: "Author Wrapper",
245
+ field_interface: "BoxWidget",
246
+ hint: {
247
+ prompt_description:
248
+ "Container for author avatar and name. No content—structural only.",
249
+ },
250
+ },
251
+ {
252
+ key: "avatar",
253
+ label: "Avatar",
254
+ field_interface: "IconWidget",
255
+ hint: {
256
+ prompt_description:
257
+ "Author's profile picture displayed as a small, circular avatar next to their name.",
258
+ orientation: "square",
259
+ size: "small",
260
+ usecase: "avatar",
261
+ },
262
+ },
263
+ {
264
+ key: "author_name",
265
+ label: "Author Name",
266
+ field_interface: "TypographyWidget",
267
+ hint: {
268
+ prompt_description:
269
+ "The full name of the content author or speaker. Use a realistic, professional-sounding name.",
270
+ min_characters: 5,
271
+ max_characters: 30,
272
+ },
273
+ },
274
+ ],
275
+ hint: {
276
+ prompt_description:
277
+ "Full-screen carousel slides with background images and content overlay. Each slide features a label, headline, description, and dual call-to-action buttons.",
278
+ min_items: 2,
279
+ max_items: 5,
280
+ },
281
+ },
282
+ ],
283
+ layouts: [
284
+ {
285
+ title: "Default",
286
+ key: "default",
287
+ styles: {
288
+ layout: {
289
+ position: "relative",
290
+ height: "100vh",
291
+ "min-height": "600px",
292
+ overflow: "hidden",
293
+ },
294
+ slider_dots: {
295
+ position: "absolute",
296
+ bottom: "130px",
297
+ left: "50%",
298
+ transform: "translateX(-50%)",
299
+ display: "flex",
300
+ "column-gap": "xs",
301
+ "align-items": "center",
302
+ "z-index": "20",
303
+ tablet: {
304
+ bottom: "70px",
305
+ },
306
+ mobile: {
307
+ bottom: "50px",
308
+ },
309
+ },
310
+ slider_dot: {
311
+ width: "12px",
312
+ height: "12px",
313
+ "border-radius": "base",
314
+ cursor: "pointer",
315
+ "background-color": "background-2",
316
+ },
317
+ slides_levoGroup: {
318
+ number_of_slides: 1,
319
+ height: "100%",
320
+ },
321
+ container: {
322
+ position: "relative",
323
+ "z-index": "2",
324
+ height: "100%",
325
+ display: "flex",
326
+ "align-items": "center",
327
+ "justify-content": "center",
328
+ },
329
+ slides: Array(DEFAULT_SLIDES_COUNT).fill({
330
+ slide_wrapper: {
331
+ position: "relative",
332
+ height: "100vh",
333
+ "min-height": "600px",
334
+ width: "100%",
335
+ display: "flex",
336
+ "align-items": "center",
337
+ "justify-content": "center",
338
+ "background-size": "cover",
339
+ "background-position": "center",
340
+ "background-repeat": "no-repeat",
341
+ "background-attachment": "fixed",
342
+ mobile: {
343
+ "background-attachment": "scroll",
344
+ },
345
+ },
346
+ content_wrapper: {
347
+ display: "flex",
348
+ "flex-direction": "column",
349
+ "align-items": "center",
350
+ "text-align": "center",
351
+ "row-gap": "lg",
352
+ "max-width": "800px",
353
+ "padding-left": "xl",
354
+ "padding-right": "xl",
355
+ position: "relative",
356
+ "z-index": "2",
357
+ mobile: {
358
+ "row-gap": "base",
359
+ "max-width": "100%",
360
+ },
361
+ },
362
+ metadata_wrapper: {
363
+ display: "flex",
364
+ "flex-direction": "column",
365
+ "align-items": "center",
366
+ "row-gap": "xs",
367
+ },
368
+ date_time_wrapper: {
369
+ display: "flex",
370
+ "align-items": "center",
371
+ "column-gap": "lg",
372
+ mobile: {
373
+ "flex-direction": "column",
374
+ "row-gap": "2xs",
375
+ "column-gap": "none",
376
+ },
377
+ },
378
+ date_wrapper: {
379
+ display: "flex",
380
+ "align-items": "center",
381
+ "column-gap": "2xs",
382
+ },
383
+ calendar_icon: {
384
+ width: "16px",
385
+ height: "16px",
386
+ filter: "brightness(0) invert(1)",
387
+ },
388
+ date: {
389
+ color: "white",
390
+ "text-shadow": "0 1px 2px rgba(0, 0, 0, 0.3)",
391
+ },
392
+ time_wrapper: {
393
+ display: "flex",
394
+ "align-items": "center",
395
+ "column-gap": "2xs",
396
+ },
397
+ time_icon: {
398
+ width: "16px",
399
+ height: "16px",
400
+ filter: "brightness(0) invert(1)",
401
+ },
402
+ time: {
403
+ color: "white",
404
+ "text-shadow": "0 1px 2px rgba(0, 0, 0, 0.3)",
405
+ },
406
+ title: {
407
+ color: "white",
408
+ "text-shadow": "0 2px 4px rgba(0, 0, 0, 0.3)",
409
+ "margin-top": "base",
410
+ },
411
+ description: {
412
+ color: "white",
413
+ "text-shadow": "0 1px 2px rgba(0, 0, 0, 0.3)",
414
+ },
415
+ author_wrapper: {
416
+ display: "flex",
417
+ "align-items": "center",
418
+ "column-gap": "xs",
419
+ "margin-top": "base",
420
+ },
421
+ avatar: {
422
+ width: "40px",
423
+ height: "40px",
424
+ "border-radius": "base",
425
+ "object-fit": "cover",
426
+ "border-width": "2px",
427
+ "border-style": "solid",
428
+ "border-color": "rgba(255, 255, 255, 0.2)",
429
+ },
430
+ author_name: {
431
+ color: "white",
432
+ "text-shadow": "0 1px 2px rgba(0, 0, 0, 0.3)",
433
+ },
434
+ ctas_wrapper: {
435
+ display: "flex",
436
+ "column-gap": "base",
437
+ "align-items": "center",
438
+ "margin-top": "lg",
439
+ mobile: {
440
+ "flex-direction": "column",
441
+ "row-gap": "sm",
442
+ "column-gap": "none",
443
+ },
444
+ },
445
+ primary_cta: {
446
+ "background-color": "white",
447
+ color: "text-1",
448
+ "padding-top": "base",
449
+ "padding-bottom": "base",
450
+ "padding-left": "2xl",
451
+ "padding-right": "2xl",
452
+ "border-width": "2px",
453
+ "border-style": "solid",
454
+ "border-color": "white",
455
+ },
456
+ secondary_cta: {
457
+ "background-color": "transparent",
458
+ color: "white",
459
+ "padding-top": "base",
460
+ "padding-bottom": "base",
461
+ "padding-left": "2xl",
462
+ "padding-right": "2xl",
463
+ "border-width": "2px",
464
+ "border-style": "solid",
465
+ "border-color": "white",
466
+ },
467
+ }),
468
+ },
469
+ content: DEFAULT_CONTENT,
470
+ config: {
471
+ "slides.0.title": {
472
+ heading: {
473
+ level: 1,
474
+ },
475
+ selectedVariants: {
476
+ Heading_Level: "H1",
477
+ },
478
+ },
479
+ "slides.1.title": {
480
+ heading: {
481
+ level: 1,
482
+ },
483
+ selectedVariants: {
484
+ Heading_Level: "H1",
485
+ },
486
+ },
487
+ "slides.2.title": {
488
+ heading: {
489
+ level: 1,
490
+ },
491
+ selectedVariants: {
492
+ Heading_Level: "H1",
493
+ },
494
+ },
495
+ slides_levoGroup: {
496
+ carousel: {
497
+ loop: false,
498
+ autoScroll: false,
499
+ speed: 4,
500
+ },
501
+ },
502
+ },
503
+ },
504
+ ],
505
+ };
@@ -0,0 +1,115 @@
1
+ import type { CarouselApi } from "@levo-so/studio";
2
+ import {
3
+ type ILevoBlockBaseProps,
4
+ Box,
5
+ Carousel,
6
+ CarouselContent,
7
+ CarouselItem,
8
+ Container,
9
+ Heading,
10
+ Icon,
11
+ Image,
12
+ Section,
13
+ Typography,
14
+ } from "@levo-so/studio";
15
+ import { useEffect, useState } from "react";
16
+
17
+ import type { IHero7Content } from "./hero-7.schema";
18
+
19
+ const Hero7: React.FC<ILevoBlockBaseProps<IHero7Content>> = ({ content }) => {
20
+ const [api, setApi] = useState<CarouselApi>();
21
+ const [current, setCurrent] = useState(0);
22
+ const [count, setCount] = useState(0);
23
+
24
+ useEffect(() => {
25
+ if (!api) {
26
+ return;
27
+ }
28
+
29
+ setCount(api.scrollSnapList().length);
30
+ setCurrent(api.selectedScrollSnap() + 1);
31
+
32
+ api.on("select", () => {
33
+ setCurrent(api.selectedScrollSnap() + 1);
34
+ });
35
+ }, [api]);
36
+
37
+ return (
38
+ <Section elementKey="layout">
39
+ <Carousel
40
+ elementKey="slides_levoGroup"
41
+ setApi={setApi}
42
+ data-levo_group
43
+ opts={{
44
+ watchDrag: false,
45
+ watchResize: true,
46
+ watchSlides: true,
47
+ }}
48
+ >
49
+ <CarouselContent>
50
+ {(content?.slides ?? []).map((_: any, index: number) => (
51
+ <CarouselItem key={`hero-7-slide-${index}`} data-levo_group_item>
52
+ <Box
53
+ elementKey={`slides.${index}.slide_wrapper`}
54
+ style={{
55
+ backgroundImage: `url(${content?.slides?.[index]?.background_image?.location || ""})`,
56
+ }}
57
+ >
58
+ <Container elementKey="container">
59
+ <Box elementKey={`slides.${index}.content_wrapper`}>
60
+ <Box elementKey={`slides.${index}.metadata_wrapper`}>
61
+ <Box elementKey={`slides.${index}.date_time_wrapper`}>
62
+ <Box elementKey={`slides.${index}.date_wrapper`}>
63
+ <Icon elementKey={`slides.${index}.calendar_icon`} />
64
+ <Typography elementKey={`slides.${index}.date`} />
65
+ </Box>
66
+ <Box elementKey={`slides.${index}.time_wrapper`}>
67
+ <Icon elementKey={`slides.${index}.time_icon`} />
68
+ <Typography elementKey={`slides.${index}.time`} />
69
+ </Box>
70
+ </Box>
71
+ </Box>
72
+ <Heading elementKey={`slides.${index}.title`} />
73
+ <Box elementKey={`slides.${index}.author_wrapper`}>
74
+ <Icon elementKey={`slides.${index}.avatar`} />
75
+ <Typography elementKey={`slides.${index}.author_name`} />
76
+ </Box>
77
+ </Box>
78
+ </Container>
79
+ </Box>
80
+ </CarouselItem>
81
+ ))}
82
+ </CarouselContent>
83
+ </Carousel>
84
+ {count > 0 && (
85
+ <Box elementKey="slider_dots">
86
+ {Array(count)
87
+ ?.fill(0)
88
+ ?.map((_, dotIndex) => (
89
+ <Box
90
+ key={dotIndex}
91
+ elementKey="slider_dot"
92
+ style={{
93
+ height: "10px",
94
+ width: dotIndex + 1 === current ? "40px" : "10px",
95
+ backgroundColor:
96
+ dotIndex + 1 === current ? "#fff" : "#D9D9D9",
97
+ borderRadius: "9999px",
98
+ marginRight: "4px",
99
+ transition: "all 0.3s ease",
100
+ cursor: "pointer",
101
+ }}
102
+ onClick={() => {
103
+ if (api) {
104
+ api?.scrollTo(dotIndex);
105
+ }
106
+ }}
107
+ />
108
+ ))}
109
+ </Box>
110
+ )}
111
+ </Section>
112
+ );
113
+ };
114
+
115
+ export default Hero7;