@levo-so/blocks 0.1.0 → 0.1.2

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 (471) hide show
  1. package/package.json +5 -9
  2. package/src/blocks/about-us/about-us-1.schema.ts +563 -0
  3. package/src/blocks/about-us/about-us-1.tsx +53 -0
  4. package/src/blocks/blogs/blog-listing-1.schema.ts +419 -0
  5. package/src/blocks/blogs/blog-listing-1.tsx +79 -0
  6. package/src/blocks/blogs/blog-listing-2.schema.ts +608 -0
  7. package/src/blocks/blogs/blog-listing-2.tsx +83 -0
  8. package/src/blocks/blogs/blog-post-1.schema.ts +392 -0
  9. package/src/blocks/blogs/blog-post-1.tsx +52 -0
  10. package/src/blocks/blogs/blog-post-2.schema.ts +834 -0
  11. package/src/blocks/blogs/blog-post-2.tsx +131 -0
  12. package/src/blocks/cards/cards-10.schema.ts +433 -0
  13. package/src/blocks/cards/cards-10.tsx +46 -0
  14. package/src/blocks/cards/cards-11.schema.ts +440 -0
  15. package/src/blocks/cards/cards-11.tsx +50 -0
  16. package/src/blocks/cards/cards-12.schema.ts +578 -0
  17. package/src/blocks/cards/cards-12.tsx +54 -0
  18. package/src/blocks/cards/cards-2.schema.ts +293 -0
  19. package/src/blocks/cards/cards-2.tsx +42 -0
  20. package/src/blocks/cards/cards-3.schema.ts +365 -0
  21. package/src/blocks/cards/cards-3.tsx +49 -0
  22. package/src/blocks/cards/cards-4.schema.ts +677 -0
  23. package/src/blocks/cards/cards-4.tsx +50 -0
  24. package/src/blocks/cards/cards-5.schema.ts +264 -0
  25. package/src/blocks/cards/cards-5.tsx +34 -0
  26. package/src/blocks/cards/cards-6.schema.ts +639 -0
  27. package/src/blocks/cards/cards-6.tsx +136 -0
  28. package/src/blocks/cards/cards-7.schema.ts +1793 -0
  29. package/src/blocks/cards/cards-7.tsx +165 -0
  30. package/src/blocks/cards/cards-8.schema.ts +691 -0
  31. package/src/blocks/cards/cards-8.tsx +43 -0
  32. package/src/blocks/cards/cards-9.schema.ts +827 -0
  33. package/src/blocks/cards/cards-9.tsx +54 -0
  34. package/src/blocks/carousel/carousel-1.schema.ts +250 -0
  35. package/src/blocks/carousel/carousel-1.tsx +79 -0
  36. package/src/blocks/contact-us/contact-us-1.schema.ts +226 -0
  37. package/src/blocks/contact-us/contact-us-1.tsx +39 -0
  38. package/src/blocks/contact-us/contact-us-2.schema.ts +524 -0
  39. package/src/blocks/contact-us/contact-us-2.tsx +71 -0
  40. package/src/blocks/content/content-1.schema.ts +884 -0
  41. package/src/blocks/content/content-1.tsx +69 -0
  42. package/src/blocks/content/content-2.schema.ts +209 -0
  43. package/src/blocks/content/content-2.tsx +32 -0
  44. package/src/blocks/content/content-3.schema.ts +864 -0
  45. package/src/blocks/content/content-3.tsx +54 -0
  46. package/src/blocks/content/content-4.schema.ts +287 -0
  47. package/src/blocks/content/content-4.tsx +47 -0
  48. package/src/blocks/content/content-5.schema.ts +944 -0
  49. package/src/blocks/content/content-5.tsx +58 -0
  50. package/src/blocks/content/content-6.schema.ts +991 -0
  51. package/src/blocks/content/content-6.tsx +61 -0
  52. package/src/blocks/cta/cta-1.schema.ts +361 -0
  53. package/src/blocks/cta/cta-1.tsx +33 -0
  54. package/src/blocks/cta/cta-2.schema.ts +209 -0
  55. package/src/blocks/cta/cta-2.tsx +28 -0
  56. package/src/blocks/cta/cta-3.schema.ts +156 -0
  57. package/src/blocks/cta/cta-3.tsx +48 -0
  58. package/src/blocks/embed/embed-1.schema.ts +153 -0
  59. package/src/blocks/embed/embed-1.tsx +38 -0
  60. package/src/blocks/event/event-details.schema.ts +737 -0
  61. package/src/blocks/event/event-details.tsx +107 -0
  62. package/src/blocks/event/event-listing-2.schema.ts +496 -0
  63. package/src/blocks/event/event-listing-2.tsx +70 -0
  64. package/src/blocks/event/event-listing-3.schema.ts +605 -0
  65. package/src/blocks/event/event-listing-3.tsx +95 -0
  66. package/src/blocks/event/event-listing.schema.ts +1358 -0
  67. package/src/blocks/event/event-listing.tsx +90 -0
  68. package/src/blocks/faq/faq-1.schema.ts +357 -0
  69. package/src/blocks/faq/faq-1.tsx +65 -0
  70. package/src/blocks/faq/faq-2.schema.ts +356 -0
  71. package/src/blocks/faq/faq-2.tsx +84 -0
  72. package/src/blocks/faq/faq-3.schema.ts +475 -0
  73. package/src/blocks/faq/faq-3.tsx +70 -0
  74. package/src/blocks/features/features-1/features-1.schema.ts +165 -0
  75. package/src/blocks/features/features-1/features-1.tsx +48 -0
  76. package/src/blocks/features/features-1/variants/default.ts +197 -0
  77. package/{dist/blocks/features/features-1/variants/index.js → src/blocks/features/features-1/variants/index.ts} +7 -1
  78. package/src/blocks/features/features-1/variants/stylized-cards-v1.ts +138 -0
  79. package/src/blocks/features/features-1/variants/stylized-cards-v2.ts +487 -0
  80. package/src/blocks/features/features-2.schema.ts +338 -0
  81. package/src/blocks/features/features-2.tsx +66 -0
  82. package/src/blocks/features/features-3.schema.ts +438 -0
  83. package/src/blocks/features/features-3.tsx +56 -0
  84. package/src/blocks/features/features-4.schema.ts +631 -0
  85. package/src/blocks/features/features-4.tsx +75 -0
  86. package/src/blocks/features/features-5.schema.ts +747 -0
  87. package/src/blocks/features/features-5.tsx +49 -0
  88. package/src/blocks/features/features-6.schema.ts +849 -0
  89. package/src/blocks/features/features-6.tsx +125 -0
  90. package/src/blocks/footer/footer-1.schema.ts +589 -0
  91. package/src/blocks/footer/footer-1.tsx +90 -0
  92. package/src/blocks/footer/footer-2.schema.ts +898 -0
  93. package/src/blocks/footer/footer-2.tsx +77 -0
  94. package/src/blocks/footer/footer-3.schema.ts +487 -0
  95. package/src/blocks/footer/footer-3.tsx +100 -0
  96. package/src/blocks/footer/footer-4.schema.ts +644 -0
  97. package/src/blocks/footer/footer-4.tsx +97 -0
  98. package/src/blocks/footer/footer-5.schema.ts +425 -0
  99. package/src/blocks/footer/footer-5.tsx +91 -0
  100. package/src/blocks/hero/hero-1.schema.ts +766 -0
  101. package/src/blocks/hero/hero-1.tsx +52 -0
  102. package/src/blocks/hero/hero-2.schema.ts +316 -0
  103. package/src/blocks/hero/hero-2.tsx +49 -0
  104. package/src/blocks/hero/hero-3.schema.ts +415 -0
  105. package/src/blocks/hero/hero-3.tsx +50 -0
  106. package/src/blocks/hero/hero-4.schema.ts +325 -0
  107. package/src/blocks/hero/hero-4.tsx +89 -0
  108. package/src/blocks/hero/hero-5.schema.ts +192 -0
  109. package/src/blocks/hero/hero-5.tsx +86 -0
  110. package/src/blocks/hero/hero-6.schema.ts +703 -0
  111. package/src/blocks/hero/hero-6.tsx +62 -0
  112. package/src/blocks/hero/hero-7.schema.ts +508 -0
  113. package/src/blocks/hero/hero-7.tsx +115 -0
  114. package/src/blocks/hero/hero-8.schema.ts +372 -0
  115. package/src/blocks/hero/hero-8.tsx +113 -0
  116. package/src/blocks/hero/hero-9.schema.ts +379 -0
  117. package/src/blocks/hero/hero-9.tsx +49 -0
  118. package/src/blocks/index.ts +78 -0
  119. package/src/blocks/logos/logos-1.schema.ts +264 -0
  120. package/src/blocks/logos/logos-1.tsx +60 -0
  121. package/src/blocks/navbar/navbar-1.schema.ts +961 -0
  122. package/src/blocks/navbar/navbar-1.tsx +398 -0
  123. package/src/blocks/navbar/navbar-2.schema.ts +1226 -0
  124. package/src/blocks/navbar/navbar-2.tsx +417 -0
  125. package/src/blocks/pricing/pricing-1.schema.ts +1002 -0
  126. package/src/blocks/pricing/pricing-1.tsx +88 -0
  127. package/src/blocks/products/products-listing-1.schema.ts +274 -0
  128. package/src/blocks/products/products-listing-1.tsx +48 -0
  129. package/src/blocks/stats/stats-1.schema.ts +231 -0
  130. package/src/blocks/stats/stats-1.tsx +38 -0
  131. package/src/blocks/stats/stats-2.schema.ts +111 -0
  132. package/src/blocks/stats/stats-2.tsx +52 -0
  133. package/src/blocks/stats/variants/default.ts +190 -0
  134. package/src/blocks/stats/variants/hero.ts +153 -0
  135. package/{dist/blocks/stats/variants/index.js → src/blocks/stats/variants/index.ts} +1 -0
  136. package/src/blocks/team/team-1.schema.ts +516 -0
  137. package/src/blocks/team/team-1.tsx +80 -0
  138. package/src/blocks/team/team-2.schema.ts +2813 -0
  139. package/src/blocks/team/team-2.tsx +74 -0
  140. package/src/blocks/team/team-3.schema.ts +707 -0
  141. package/src/blocks/team/team-3.tsx +103 -0
  142. package/src/blocks/termsAndPrivacy/terms-and-conditions-1.schema.ts +168 -0
  143. package/src/blocks/termsAndPrivacy/terms-and-conditions-1.tsx +29 -0
  144. package/src/blocks/testimonial/testimonial-1.schema.ts +345 -0
  145. package/src/blocks/testimonial/testimonial-1.tsx +79 -0
  146. package/src/blocks/testimonial/testimonial-2.schema.ts +816 -0
  147. package/src/blocks/testimonial/testimonial-2.tsx +161 -0
  148. package/src/blocks/testimonial/testimonial-3.schema.ts +279 -0
  149. package/src/blocks/testimonial/testimonial-3.tsx +128 -0
  150. package/src/blocks/testimonial/testimonial-4.schema.ts +3373 -0
  151. package/src/blocks/testimonial/testimonial-4.tsx +202 -0
  152. package/src/blocks/testimonial/testimonial-5.schema.ts +434 -0
  153. package/src/blocks/testimonial/testimonial-5.tsx +106 -0
  154. package/src/blocks/testimonial/testimonial-6.schema.ts +709 -0
  155. package/src/blocks/testimonial/testimonial-6.tsx +128 -0
  156. package/{dist/index.js → src/index.ts} +5 -2
  157. package/{dist/schemas/blocks.js → src/schemas/blocks.ts} +75 -72
  158. package/src/schemas/categories.ts +134 -0
  159. package/src/styles.d.ts +4 -0
  160. package/dist/blocks/about-us/about-us-1.d.ts +0 -5
  161. package/dist/blocks/about-us/about-us-1.js +0 -5
  162. package/dist/blocks/about-us/about-us-1.schema.d.ts +0 -38
  163. package/dist/blocks/about-us/about-us-1.schema.js +0 -537
  164. package/dist/blocks/blogs/blog-listing-1.d.ts +0 -5
  165. package/dist/blocks/blogs/blog-listing-1.js +0 -12
  166. package/dist/blocks/blogs/blog-listing-1.schema.d.ts +0 -59
  167. package/dist/blocks/blogs/blog-listing-1.schema.js +0 -387
  168. package/dist/blocks/blogs/blog-listing-2.d.ts +0 -5
  169. package/dist/blocks/blogs/blog-listing-2.js +0 -9
  170. package/dist/blocks/blogs/blog-listing-2.schema.d.ts +0 -104
  171. package/dist/blocks/blogs/blog-listing-2.schema.js +0 -572
  172. package/dist/blocks/blogs/blog-post-1.d.ts +0 -6
  173. package/dist/blocks/blogs/blog-post-1.js +0 -8
  174. package/dist/blocks/blogs/blog-post-1.schema.d.ts +0 -48
  175. package/dist/blocks/blogs/blog-post-1.schema.js +0 -358
  176. package/dist/blocks/blogs/blog-post-2.d.ts +0 -6
  177. package/dist/blocks/blogs/blog-post-2.js +0 -8
  178. package/dist/blocks/blogs/blog-post-2.schema.d.ts +0 -74
  179. package/dist/blocks/blogs/blog-post-2.schema.js +0 -779
  180. package/dist/blocks/cards/cards-10.d.ts +0 -6
  181. package/dist/blocks/cards/cards-10.js +0 -4
  182. package/dist/blocks/cards/cards-10.schema.d.ts +0 -44
  183. package/dist/blocks/cards/cards-10.schema.js +0 -405
  184. package/dist/blocks/cards/cards-11.d.ts +0 -6
  185. package/dist/blocks/cards/cards-11.js +0 -4
  186. package/dist/blocks/cards/cards-11.schema.d.ts +0 -58
  187. package/dist/blocks/cards/cards-11.schema.js +0 -406
  188. package/dist/blocks/cards/cards-12.d.ts +0 -6
  189. package/dist/blocks/cards/cards-12.js +0 -4
  190. package/dist/blocks/cards/cards-12.schema.d.ts +0 -38
  191. package/dist/blocks/cards/cards-12.schema.js +0 -545
  192. package/dist/blocks/cards/cards-2.d.ts +0 -5
  193. package/dist/blocks/cards/cards-2.js +0 -4
  194. package/dist/blocks/cards/cards-2.schema.d.ts +0 -46
  195. package/dist/blocks/cards/cards-2.schema.js +0 -260
  196. package/dist/blocks/cards/cards-3.d.ts +0 -6
  197. package/dist/blocks/cards/cards-3.js +0 -5
  198. package/dist/blocks/cards/cards-3.schema.d.ts +0 -36
  199. package/dist/blocks/cards/cards-3.schema.js +0 -351
  200. package/dist/blocks/cards/cards-4.d.ts +0 -6
  201. package/dist/blocks/cards/cards-4.js +0 -4
  202. package/dist/blocks/cards/cards-4.schema.d.ts +0 -40
  203. package/dist/blocks/cards/cards-4.schema.js +0 -648
  204. package/dist/blocks/cards/cards-5.d.ts +0 -5
  205. package/dist/blocks/cards/cards-5.js +0 -4
  206. package/dist/blocks/cards/cards-5.schema.d.ts +0 -48
  207. package/dist/blocks/cards/cards-5.schema.js +0 -238
  208. package/dist/blocks/cards/cards-6.d.ts +0 -5
  209. package/dist/blocks/cards/cards-6.js +0 -45
  210. package/dist/blocks/cards/cards-6.schema.d.ts +0 -50
  211. package/dist/blocks/cards/cards-6.schema.js +0 -608
  212. package/dist/blocks/cards/cards-7.d.ts +0 -5
  213. package/dist/blocks/cards/cards-7.js +0 -45
  214. package/dist/blocks/cards/cards-7.schema.d.ts +0 -87
  215. package/dist/blocks/cards/cards-7.schema.js +0 -1732
  216. package/dist/blocks/cards/cards-8.d.ts +0 -6
  217. package/dist/blocks/cards/cards-8.js +0 -4
  218. package/dist/blocks/cards/cards-8.schema.d.ts +0 -40
  219. package/dist/blocks/cards/cards-8.schema.js +0 -660
  220. package/dist/blocks/cards/cards-9.d.ts +0 -5
  221. package/dist/blocks/cards/cards-9.js +0 -4
  222. package/dist/blocks/cards/cards-9.schema.d.ts +0 -55
  223. package/dist/blocks/cards/cards-9.schema.js +0 -798
  224. package/dist/blocks/carousel/carousel-1.d.ts +0 -5
  225. package/dist/blocks/carousel/carousel-1.js +0 -12
  226. package/dist/blocks/carousel/carousel-1.schema.d.ts +0 -51
  227. package/dist/blocks/carousel/carousel-1.schema.js +0 -236
  228. package/dist/blocks/contact-us/contact-us-1.d.ts +0 -5
  229. package/dist/blocks/contact-us/contact-us-1.js +0 -4
  230. package/dist/blocks/contact-us/contact-us-1.schema.d.ts +0 -31
  231. package/dist/blocks/contact-us/contact-us-1.schema.js +0 -202
  232. package/dist/blocks/contact-us/contact-us-2.d.ts +0 -5
  233. package/dist/blocks/contact-us/contact-us-2.js +0 -4
  234. package/dist/blocks/contact-us/contact-us-2.schema.d.ts +0 -59
  235. package/dist/blocks/contact-us/contact-us-2.schema.js +0 -512
  236. package/dist/blocks/content/content-1.d.ts +0 -6
  237. package/dist/blocks/content/content-1.js +0 -4
  238. package/dist/blocks/content/content-1.schema.d.ts +0 -56
  239. package/dist/blocks/content/content-1.schema.js +0 -807
  240. package/dist/blocks/content/content-2.d.ts +0 -5
  241. package/dist/blocks/content/content-2.js +0 -4
  242. package/dist/blocks/content/content-2.schema.d.ts +0 -78
  243. package/dist/blocks/content/content-2.schema.js +0 -200
  244. package/dist/blocks/content/content-3.d.ts +0 -6
  245. package/dist/blocks/content/content-3.js +0 -5
  246. package/dist/blocks/content/content-3.schema.d.ts +0 -23
  247. package/dist/blocks/content/content-3.schema.js +0 -850
  248. package/dist/blocks/content/content-4.d.ts +0 -6
  249. package/dist/blocks/content/content-4.js +0 -6
  250. package/dist/blocks/content/content-4.schema.d.ts +0 -33
  251. package/dist/blocks/content/content-4.schema.js +0 -252
  252. package/dist/blocks/content/content-5.d.ts +0 -6
  253. package/dist/blocks/content/content-5.js +0 -5
  254. package/dist/blocks/content/content-5.schema.d.ts +0 -37
  255. package/dist/blocks/content/content-5.schema.js +0 -932
  256. package/dist/blocks/content/content-6.d.ts +0 -6
  257. package/dist/blocks/content/content-6.js +0 -5
  258. package/dist/blocks/content/content-6.schema.d.ts +0 -41
  259. package/dist/blocks/content/content-6.schema.js +0 -976
  260. package/dist/blocks/cta/cta-1.d.ts +0 -5
  261. package/dist/blocks/cta/cta-1.js +0 -4
  262. package/dist/blocks/cta/cta-1.schema.d.ts +0 -40
  263. package/dist/blocks/cta/cta-1.schema.js +0 -339
  264. package/dist/blocks/cta/cta-2.d.ts +0 -5
  265. package/dist/blocks/cta/cta-2.js +0 -4
  266. package/dist/blocks/cta/cta-2.schema.d.ts +0 -45
  267. package/dist/blocks/cta/cta-2.schema.js +0 -183
  268. package/dist/blocks/cta/cta-3.d.ts +0 -5
  269. package/dist/blocks/cta/cta-3.js +0 -4
  270. package/dist/blocks/cta/cta-3.schema.d.ts +0 -34
  271. package/dist/blocks/cta/cta-3.schema.js +0 -137
  272. package/dist/blocks/embed/embed-1.d.ts +0 -5
  273. package/dist/blocks/embed/embed-1.js +0 -5
  274. package/dist/blocks/embed/embed-1.schema.d.ts +0 -13
  275. package/dist/blocks/embed/embed-1.schema.js +0 -146
  276. package/dist/blocks/event/event-details.d.ts +0 -5
  277. package/dist/blocks/event/event-details.js +0 -9
  278. package/dist/blocks/event/event-details.schema.d.ts +0 -112
  279. package/dist/blocks/event/event-details.schema.js +0 -685
  280. package/dist/blocks/event/event-listing-2.d.ts +0 -5
  281. package/dist/blocks/event/event-listing-2.js +0 -4
  282. package/dist/blocks/event/event-listing-2.schema.d.ts +0 -84
  283. package/dist/blocks/event/event-listing-2.schema.js +0 -455
  284. package/dist/blocks/event/event-listing-3.d.ts +0 -5
  285. package/dist/blocks/event/event-listing-3.js +0 -10
  286. package/dist/blocks/event/event-listing-3.schema.d.ts +0 -77
  287. package/dist/blocks/event/event-listing-3.schema.js +0 -570
  288. package/dist/blocks/event/event-listing.d.ts +0 -5
  289. package/dist/blocks/event/event-listing.js +0 -10
  290. package/dist/blocks/event/event-listing.schema.d.ts +0 -51
  291. package/dist/blocks/event/event-listing.schema.js +0 -1297
  292. package/dist/blocks/faq/faq-1.d.ts +0 -5
  293. package/dist/blocks/faq/faq-1.js +0 -4
  294. package/dist/blocks/faq/faq-1.schema.d.ts +0 -47
  295. package/dist/blocks/faq/faq-1.schema.js +0 -325
  296. package/dist/blocks/faq/faq-2.d.ts +0 -6
  297. package/dist/blocks/faq/faq-2.js +0 -19
  298. package/dist/blocks/faq/faq-2.schema.d.ts +0 -47
  299. package/dist/blocks/faq/faq-2.schema.js +0 -329
  300. package/dist/blocks/faq/faq-3.d.ts +0 -5
  301. package/dist/blocks/faq/faq-3.js +0 -4
  302. package/dist/blocks/faq/faq-3.schema.d.ts +0 -40
  303. package/dist/blocks/faq/faq-3.schema.js +0 -444
  304. package/dist/blocks/features/features-1/features-1.d.ts +0 -5
  305. package/dist/blocks/features/features-1/features-1.js +0 -4
  306. package/dist/blocks/features/features-1/features-1.schema.d.ts +0 -5
  307. package/dist/blocks/features/features-1/features-1.schema.js +0 -142
  308. package/dist/blocks/features/features-1/variants/default.d.ts +0 -37
  309. package/dist/blocks/features/features-1/variants/default.js +0 -185
  310. package/dist/blocks/features/features-1/variants/index.d.ts +0 -5
  311. package/dist/blocks/features/features-1/variants/stylized-cards-v1.d.ts +0 -3
  312. package/dist/blocks/features/features-1/variants/stylized-cards-v1.js +0 -132
  313. package/dist/blocks/features/features-1/variants/stylized-cards-v2.d.ts +0 -3
  314. package/dist/blocks/features/features-1/variants/stylized-cards-v2.js +0 -484
  315. package/dist/blocks/features/features-2.d.ts +0 -5
  316. package/dist/blocks/features/features-2.js +0 -8
  317. package/dist/blocks/features/features-2.schema.d.ts +0 -41
  318. package/dist/blocks/features/features-2.schema.js +0 -321
  319. package/dist/blocks/features/features-3.d.ts +0 -5
  320. package/dist/blocks/features/features-3.js +0 -4
  321. package/dist/blocks/features/features-3.schema.d.ts +0 -40
  322. package/dist/blocks/features/features-3.schema.js +0 -424
  323. package/dist/blocks/features/features-4.d.ts +0 -5
  324. package/dist/blocks/features/features-4.js +0 -4
  325. package/dist/blocks/features/features-4.schema.d.ts +0 -60
  326. package/dist/blocks/features/features-4.schema.js +0 -594
  327. package/dist/blocks/features/features-5.d.ts +0 -6
  328. package/dist/blocks/features/features-5.js +0 -5
  329. package/dist/blocks/features/features-5.schema.d.ts +0 -28
  330. package/dist/blocks/features/features-5.schema.js +0 -727
  331. package/dist/blocks/features/features-6.d.ts +0 -5
  332. package/dist/blocks/features/features-6.js +0 -31
  333. package/dist/blocks/features/features-6.schema.d.ts +0 -74
  334. package/dist/blocks/features/features-6.schema.js +0 -814
  335. package/dist/blocks/footer/footer-1.d.ts +0 -6
  336. package/dist/blocks/footer/footer-1.js +0 -5
  337. package/dist/blocks/footer/footer-1.schema.d.ts +0 -62
  338. package/dist/blocks/footer/footer-1.schema.js +0 -565
  339. package/dist/blocks/footer/footer-2.d.ts +0 -5
  340. package/dist/blocks/footer/footer-2.js +0 -4
  341. package/dist/blocks/footer/footer-2.schema.d.ts +0 -76
  342. package/dist/blocks/footer/footer-2.schema.js +0 -876
  343. package/dist/blocks/footer/footer-3.d.ts +0 -6
  344. package/dist/blocks/footer/footer-3.js +0 -15
  345. package/dist/blocks/footer/footer-3.schema.d.ts +0 -48
  346. package/dist/blocks/footer/footer-3.schema.js +0 -475
  347. package/dist/blocks/footer/footer-4.d.ts +0 -6
  348. package/dist/blocks/footer/footer-4.js +0 -5
  349. package/dist/blocks/footer/footer-4.schema.d.ts +0 -71
  350. package/dist/blocks/footer/footer-4.schema.js +0 -620
  351. package/dist/blocks/footer/footer-5.d.ts +0 -6
  352. package/dist/blocks/footer/footer-5.js +0 -5
  353. package/dist/blocks/footer/footer-5.schema.d.ts +0 -52
  354. package/dist/blocks/footer/footer-5.schema.js +0 -400
  355. package/dist/blocks/hero/hero-1.d.ts +0 -5
  356. package/dist/blocks/hero/hero-1.js +0 -4
  357. package/dist/blocks/hero/hero-1.schema.d.ts +0 -35
  358. package/dist/blocks/hero/hero-1.schema.js +0 -742
  359. package/dist/blocks/hero/hero-2.d.ts +0 -5
  360. package/dist/blocks/hero/hero-2.js +0 -4
  361. package/dist/blocks/hero/hero-2.schema.d.ts +0 -46
  362. package/dist/blocks/hero/hero-2.schema.js +0 -282
  363. package/dist/blocks/hero/hero-3.d.ts +0 -5
  364. package/dist/blocks/hero/hero-3.js +0 -4
  365. package/dist/blocks/hero/hero-3.schema.d.ts +0 -54
  366. package/dist/blocks/hero/hero-3.schema.js +0 -378
  367. package/dist/blocks/hero/hero-4.d.ts +0 -5
  368. package/dist/blocks/hero/hero-4.js +0 -30
  369. package/dist/blocks/hero/hero-4.schema.d.ts +0 -33
  370. package/dist/blocks/hero/hero-4.schema.js +0 -316
  371. package/dist/blocks/hero/hero-5.d.ts +0 -5
  372. package/dist/blocks/hero/hero-5.js +0 -30
  373. package/dist/blocks/hero/hero-5.schema.d.ts +0 -32
  374. package/dist/blocks/hero/hero-5.schema.js +0 -183
  375. package/dist/blocks/hero/hero-6.d.ts +0 -5
  376. package/dist/blocks/hero/hero-6.js +0 -8
  377. package/dist/blocks/hero/hero-6.schema.d.ts +0 -36
  378. package/dist/blocks/hero/hero-6.schema.js +0 -617
  379. package/dist/blocks/hero/hero-7.d.ts +0 -5
  380. package/dist/blocks/hero/hero-7.js +0 -40
  381. package/dist/blocks/hero/hero-7.schema.d.ts +0 -12
  382. package/dist/blocks/hero/hero-7.schema.js +0 -471
  383. package/dist/blocks/hero/hero-8.d.ts +0 -5
  384. package/dist/blocks/hero/hero-8.js +0 -39
  385. package/dist/blocks/hero/hero-8.schema.d.ts +0 -17
  386. package/dist/blocks/hero/hero-8.schema.js +0 -343
  387. package/dist/blocks/hero/hero-9.d.ts +0 -6
  388. package/dist/blocks/hero/hero-9.js +0 -4
  389. package/dist/blocks/hero/hero-9.schema.d.ts +0 -39
  390. package/dist/blocks/hero/hero-9.schema.js +0 -355
  391. package/dist/blocks/index.d.ts +0 -3
  392. package/dist/blocks/index.js +0 -74
  393. package/dist/blocks/logos/logos-1.d.ts +0 -5
  394. package/dist/blocks/logos/logos-1.js +0 -10
  395. package/dist/blocks/logos/logos-1.schema.d.ts +0 -34
  396. package/dist/blocks/logos/logos-1.schema.js +0 -239
  397. package/dist/blocks/navbar/navbar-1.d.ts +0 -6
  398. package/dist/blocks/navbar/navbar-1.js +0 -100
  399. package/dist/blocks/navbar/navbar-1.schema.d.ts +0 -117
  400. package/dist/blocks/navbar/navbar-1.schema.js +0 -938
  401. package/dist/blocks/navbar/navbar-2.d.ts +0 -6
  402. package/dist/blocks/navbar/navbar-2.js +0 -99
  403. package/dist/blocks/navbar/navbar-2.schema.d.ts +0 -134
  404. package/dist/blocks/navbar/navbar-2.schema.js +0 -1200
  405. package/dist/blocks/pricing/pricing-1.d.ts +0 -5
  406. package/dist/blocks/pricing/pricing-1.js +0 -4
  407. package/dist/blocks/pricing/pricing-1.schema.d.ts +0 -87
  408. package/dist/blocks/pricing/pricing-1.schema.js +0 -976
  409. package/dist/blocks/products/products-listing-1.d.ts +0 -5
  410. package/dist/blocks/products/products-listing-1.js +0 -4
  411. package/dist/blocks/products/products-listing-1.schema.d.ts +0 -36
  412. package/dist/blocks/products/products-listing-1.schema.js +0 -264
  413. package/dist/blocks/stats/stats-1.d.ts +0 -6
  414. package/dist/blocks/stats/stats-1.js +0 -6
  415. package/dist/blocks/stats/stats-1.schema.d.ts +0 -25
  416. package/dist/blocks/stats/stats-1.schema.js +0 -213
  417. package/dist/blocks/stats/stats-2.d.ts +0 -6
  418. package/dist/blocks/stats/stats-2.js +0 -6
  419. package/dist/blocks/stats/stats-2.schema.d.ts +0 -5
  420. package/dist/blocks/stats/stats-2.schema.js +0 -104
  421. package/dist/blocks/stats/variants/default.d.ts +0 -22
  422. package/dist/blocks/stats/variants/default.js +0 -185
  423. package/dist/blocks/stats/variants/hero.d.ts +0 -3
  424. package/dist/blocks/stats/variants/hero.js +0 -151
  425. package/dist/blocks/stats/variants/index.d.ts +0 -4
  426. package/dist/blocks/team/team-1.d.ts +0 -6
  427. package/dist/blocks/team/team-1.js +0 -6
  428. package/dist/blocks/team/team-1.schema.d.ts +0 -65
  429. package/dist/blocks/team/team-1.schema.js +0 -476
  430. package/dist/blocks/team/team-2.d.ts +0 -6
  431. package/dist/blocks/team/team-2.js +0 -6
  432. package/dist/blocks/team/team-2.schema.d.ts +0 -52
  433. package/dist/blocks/team/team-2.schema.js +0 -2732
  434. package/dist/blocks/team/team-3.d.ts +0 -5
  435. package/dist/blocks/team/team-3.js +0 -30
  436. package/dist/blocks/team/team-3.schema.d.ts +0 -32
  437. package/dist/blocks/team/team-3.schema.js +0 -679
  438. package/dist/blocks/termsAndPrivacy/terms-and-conditions-1.d.ts +0 -6
  439. package/dist/blocks/termsAndPrivacy/terms-and-conditions-1.js +0 -4
  440. package/dist/blocks/termsAndPrivacy/terms-and-conditions-1.schema.d.ts +0 -14
  441. package/dist/blocks/termsAndPrivacy/terms-and-conditions-1.schema.js +0 -154
  442. package/dist/blocks/testimonial/testimonial-1.d.ts +0 -5
  443. package/dist/blocks/testimonial/testimonial-1.js +0 -10
  444. package/dist/blocks/testimonial/testimonial-1.schema.d.ts +0 -16
  445. package/dist/blocks/testimonial/testimonial-1.schema.js +0 -314
  446. package/dist/blocks/testimonial/testimonial-2.d.ts +0 -5
  447. package/dist/blocks/testimonial/testimonial-2.js +0 -42
  448. package/dist/blocks/testimonial/testimonial-2.schema.d.ts +0 -54
  449. package/dist/blocks/testimonial/testimonial-2.schema.js +0 -771
  450. package/dist/blocks/testimonial/testimonial-3.d.ts +0 -5
  451. package/dist/blocks/testimonial/testimonial-3.js +0 -38
  452. package/dist/blocks/testimonial/testimonial-3.schema.d.ts +0 -56
  453. package/dist/blocks/testimonial/testimonial-3.schema.js +0 -260
  454. package/dist/blocks/testimonial/testimonial-4.d.ts +0 -5
  455. package/dist/blocks/testimonial/testimonial-4.js +0 -51
  456. package/dist/blocks/testimonial/testimonial-4.schema.d.ts +0 -145
  457. package/dist/blocks/testimonial/testimonial-4.schema.js +0 -3214
  458. package/dist/blocks/testimonial/testimonial-5.d.ts +0 -5
  459. package/dist/blocks/testimonial/testimonial-5.js +0 -31
  460. package/dist/blocks/testimonial/testimonial-5.schema.d.ts +0 -33
  461. package/dist/blocks/testimonial/testimonial-5.schema.js +0 -401
  462. package/dist/blocks/testimonial/testimonial-6.d.ts +0 -5
  463. package/dist/blocks/testimonial/testimonial-6.js +0 -39
  464. package/dist/blocks/testimonial/testimonial-6.schema.d.ts +0 -60
  465. package/dist/blocks/testimonial/testimonial-6.schema.js +0 -695
  466. package/dist/index.d.ts +0 -6
  467. package/dist/schemas/blocks.d.ts +0 -3
  468. package/dist/schemas/categories.d.ts +0 -3
  469. package/dist/schemas/categories.js +0 -129
  470. package/dist/schemas/index.d.ts +0 -3
  471. /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,508 @@
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
+ container: null,
39
+ slider_dots: null,
40
+ slider_dot: null,
41
+
42
+ slides: Array(DEFAULT_SLIDES_COUNT).fill({
43
+ slide_wrapper: null,
44
+ background_image: DUMMY_IMAGE,
45
+ content_wrapper: null,
46
+ metadata_wrapper: null,
47
+ date_time_wrapper: null,
48
+ date_wrapper: null,
49
+ calendar_icon: DUMMY_ICON,
50
+ date: "September 28, 2025",
51
+ time_wrapper: null,
52
+ time_icon: DUMMY_ICON,
53
+ time: "10 min read",
54
+ title:
55
+ "Wellness isn't a destination — it's the small choices you make each day that shape a healthier, calmer you",
56
+ description:
57
+ "Discover the power of mindful living and how small daily practices can transform your overall well-being and bring lasting peace to your life.",
58
+ author_wrapper: null,
59
+ avatar: DUMMY_ICON,
60
+ author_name: "Lily Morphine",
61
+ ctas_wrapper: null,
62
+ primary_cta: "Read Article",
63
+ secondary_cta: "Save for Later",
64
+ }),
65
+ };
66
+
67
+ export type IHero7Content = typeof DEFAULT_CONTENT;
68
+
69
+ export const Hero7: IBlock = {
70
+ category_id: "hero",
71
+ title: "Hero 7",
72
+ key: "hero-7",
73
+ version: "v1",
74
+ prompt_description:
75
+ "Full-screen hero carousel with background images, centered content overlay featuring label, headline, description, and dual call-to-action buttons on each slide.",
76
+ content_schema: [
77
+ {
78
+ key: "layout",
79
+ label: "Layout",
80
+ field_interface: "LayoutWidget",
81
+ hint: {
82
+ prompt_description:
83
+ "Defines the overall layout structure of the full-screen hero carousel section. No content generation required—used for layout only.",
84
+ },
85
+ },
86
+ {
87
+ key: "container",
88
+ label: "Container",
89
+ field_interface: "ContainerWidget",
90
+ hint: {
91
+ prompt_description:
92
+ "Main container to provide padding and alignment for hero content overlay. Not for content, but for spacing and organizational structure only.",
93
+ },
94
+ },
95
+ {
96
+ key: "slider_dots",
97
+ label: "Slider Dots",
98
+ field_interface: "BoxWidget",
99
+ hint: {
100
+ prompt_description:
101
+ "Container for carousel navigation dots. No content—structural only.",
102
+ },
103
+ },
104
+ {
105
+ key: "slider_dot",
106
+ label: "Slider Dot",
107
+ field_interface: "BoxWidget",
108
+ hint: {
109
+ prompt_description:
110
+ "Individual carousel navigation dot. No content—structural only.",
111
+ },
112
+ },
113
+ {
114
+ key: "slides",
115
+ label: "Slides",
116
+ field_interface: "CarouselWidget",
117
+ kind: "group",
118
+ fields: [
119
+ {
120
+ key: "slide_wrapper",
121
+ label: "Slide Wrapper",
122
+ field_interface: "BoxWidget",
123
+ hint: {
124
+ prompt_description:
125
+ "Full-screen slide container that holds the background image and content overlay. No content—structural only.",
126
+ },
127
+ },
128
+ {
129
+ key: "background_image",
130
+ label: "Background Image",
131
+ field_interface: "ImageWidget",
132
+ hint: {
133
+ prompt_description:
134
+ "Full-screen background image for the slide. Use high-quality, professional images that complement the content and maintain good contrast for text overlay.",
135
+ orientation: "landscape",
136
+ size: "large",
137
+ usecase: "hero",
138
+ },
139
+ },
140
+ {
141
+ key: "content_wrapper",
142
+ label: "Content Wrapper",
143
+ field_interface: "BoxWidget",
144
+ hint: {
145
+ prompt_description:
146
+ "Container for the centered content overlay including label, title, description, and buttons. No content—structural only.",
147
+ },
148
+ },
149
+ {
150
+ key: "metadata_wrapper",
151
+ label: "Metadata Wrapper",
152
+ field_interface: "BoxWidget",
153
+ hint: {
154
+ prompt_description:
155
+ "Main container for date, time, and other metadata elements. No content—structural only.",
156
+ },
157
+ },
158
+ {
159
+ key: "date_time_wrapper",
160
+ label: "Date Time Wrapper",
161
+ field_interface: "BoxWidget",
162
+ hint: {
163
+ prompt_description:
164
+ "Container for date and time elements arranged horizontally. No content—structural only.",
165
+ },
166
+ },
167
+ {
168
+ key: "date_wrapper",
169
+ label: "Date Wrapper",
170
+ field_interface: "BoxWidget",
171
+ hint: {
172
+ prompt_description:
173
+ "Container for calendar icon and date text. No content—structural only.",
174
+ },
175
+ },
176
+ {
177
+ key: "calendar_icon",
178
+ label: "Calendar Icon",
179
+ field_interface: "IconWidget",
180
+ hint: {
181
+ prompt_description:
182
+ "Small calendar icon displayed next to the date. Should be simple and clearly recognizable.",
183
+ orientation: "square",
184
+ size: "icon",
185
+ usecase: "icon",
186
+ },
187
+ },
188
+ {
189
+ key: "date",
190
+ label: "Date",
191
+ field_interface: "TypographyWidget",
192
+ hint: {
193
+ prompt_description:
194
+ "Publication or event date displayed next to calendar icon. Use format like 'September 28, 2025'.",
195
+ min_characters: 8,
196
+ max_characters: 20,
197
+ },
198
+ },
199
+ {
200
+ key: "time_wrapper",
201
+ label: "Time Wrapper",
202
+ field_interface: "BoxWidget",
203
+ hint: {
204
+ prompt_description:
205
+ "Container for time icon and time description. No content—structural only.",
206
+ },
207
+ },
208
+ {
209
+ key: "time_icon",
210
+ label: "Time Icon",
211
+ field_interface: "IconWidget",
212
+ hint: {
213
+ prompt_description:
214
+ "Small time/clock icon displayed next to the time description. Should be simple and recognizable.",
215
+ orientation: "square",
216
+ size: "icon",
217
+ usecase: "icon",
218
+ },
219
+ },
220
+ {
221
+ key: "time",
222
+ label: "Time",
223
+ field_interface: "TypographyWidget",
224
+ hint: {
225
+ prompt_description:
226
+ "Time description such as reading time or duration. Examples: '10 min read', '5 min video', '30 min session'.",
227
+ min_characters: 6,
228
+ max_characters: 15,
229
+ },
230
+ },
231
+ {
232
+ key: "title",
233
+ label: "Title",
234
+ field_interface: "HeadingWidget",
235
+ hint: {
236
+ prompt_description:
237
+ "Primary headline for the slide. Write compelling, action-oriented headlines that capture attention and communicate the main value proposition.",
238
+ min_characters: 20,
239
+ max_characters: 80,
240
+ },
241
+ },
242
+
243
+ {
244
+ key: "author_wrapper",
245
+ label: "Author Wrapper",
246
+ field_interface: "BoxWidget",
247
+ hint: {
248
+ prompt_description:
249
+ "Container for author avatar and name. No content—structural only.",
250
+ },
251
+ },
252
+ {
253
+ key: "avatar",
254
+ label: "Avatar",
255
+ field_interface: "IconWidget",
256
+ hint: {
257
+ prompt_description:
258
+ "Author's profile picture displayed as a small, circular avatar next to their name.",
259
+ orientation: "square",
260
+ size: "small",
261
+ usecase: "avatar",
262
+ },
263
+ },
264
+ {
265
+ key: "author_name",
266
+ label: "Author Name",
267
+ field_interface: "TypographyWidget",
268
+ hint: {
269
+ prompt_description:
270
+ "The full name of the content author or speaker. Use a realistic, professional-sounding name.",
271
+ min_characters: 5,
272
+ max_characters: 30,
273
+ },
274
+ },
275
+ ],
276
+ hint: {
277
+ prompt_description:
278
+ "Full-screen carousel slides with background images and content overlay. Each slide features a label, headline, description, and dual call-to-action buttons.",
279
+ min_items: 2,
280
+ max_items: 5,
281
+ },
282
+ },
283
+ ],
284
+ layouts: [
285
+ {
286
+ title: "Default",
287
+ key: "default",
288
+ styles: {
289
+ layout: {
290
+ position: "relative",
291
+ height: "100vh",
292
+ "min-height": "600px",
293
+ overflow: "hidden",
294
+ },
295
+ slider_dots: {
296
+ position: "absolute",
297
+ bottom: "130px",
298
+ left: "50%",
299
+ transform: "translateX(-50%)",
300
+ display: "flex",
301
+ "column-gap": "xs",
302
+ "align-items": "center",
303
+ "z-index": "20",
304
+ tablet: {
305
+ bottom: "70px",
306
+ },
307
+ mobile: {
308
+ bottom: "50px",
309
+ },
310
+ },
311
+ slider_dot: {
312
+ width: "12px",
313
+ height: "12px",
314
+ "border-radius": "50%",
315
+ cursor: "pointer",
316
+ "background-color": "rgba(255, 255, 255, 0.5)",
317
+ },
318
+ slides_levoGroup: {
319
+ number_of_slides: 1,
320
+ height: "100%",
321
+ },
322
+ container: {
323
+ position: "relative",
324
+ "z-index": "2",
325
+ height: "100%",
326
+ display: "flex",
327
+ "align-items": "center",
328
+ "justify-content": "center",
329
+ },
330
+ slides: Array(DEFAULT_SLIDES_COUNT).fill({
331
+ slide_wrapper: {
332
+ position: "relative",
333
+ height: "100vh",
334
+ "min-height": "600px",
335
+ width: "100%",
336
+ display: "flex",
337
+ "align-items": "center",
338
+ "justify-content": "center",
339
+ "background-size": "cover",
340
+ "background-position": "center",
341
+ "background-repeat": "no-repeat",
342
+ "background-attachment": "fixed",
343
+ mobile: {
344
+ "background-attachment": "scroll",
345
+ },
346
+ },
347
+ content_wrapper: {
348
+ display: "flex",
349
+ "flex-direction": "column",
350
+ "align-items": "center",
351
+ "text-align": "center",
352
+ "row-gap": "lg",
353
+ "max-width": "800px",
354
+ "padding-left": "xl",
355
+ "padding-right": "xl",
356
+ position: "relative",
357
+ "z-index": "2",
358
+ mobile: {
359
+ "row-gap": "base",
360
+ "max-width": "100%",
361
+ },
362
+ },
363
+ metadata_wrapper: {
364
+ display: "flex",
365
+ "flex-direction": "column",
366
+ "align-items": "center",
367
+ "row-gap": "xs",
368
+ },
369
+ date_time_wrapper: {
370
+ display: "flex",
371
+ "align-items": "center",
372
+ "column-gap": "lg",
373
+ mobile: {
374
+ "flex-direction": "column",
375
+ "row-gap": "2xs",
376
+ "column-gap": "none",
377
+ },
378
+ },
379
+ date_wrapper: {
380
+ display: "flex",
381
+ "align-items": "center",
382
+ "column-gap": "2xs",
383
+ },
384
+ calendar_icon: {
385
+ width: "16px",
386
+ height: "16px",
387
+ filter: "brightness(0) invert(1)",
388
+ },
389
+ date: {
390
+ "font-size": "sm",
391
+ "font-weight": "500",
392
+ color: "rgba(255, 255, 255, 0.9)",
393
+ "text-shadow": "0 1px 2px rgba(0, 0, 0, 0.3)",
394
+ },
395
+ time_wrapper: {
396
+ display: "flex",
397
+ "align-items": "center",
398
+ "column-gap": "2xs",
399
+ },
400
+ time_icon: {
401
+ width: "16px",
402
+ height: "16px",
403
+ filter: "brightness(0) invert(1)",
404
+ },
405
+ time: {
406
+ "font-size": "sm",
407
+ "font-weight": "500",
408
+ color: "rgba(255, 255, 255, 0.9)",
409
+ "text-shadow": "0 1px 2px rgba(0, 0, 0, 0.3)",
410
+ },
411
+ title: {
412
+ "font-size": "4xl",
413
+ "font-weight": "700",
414
+ "line-height": "1.1",
415
+ color: "white",
416
+ "text-shadow": "0 2px 4px rgba(0, 0, 0, 0.3)",
417
+ "margin-top": "base",
418
+ tablet: {
419
+ "font-size": "3xl",
420
+ },
421
+ mobile: {
422
+ "font-size": "2xl",
423
+ },
424
+ },
425
+ description: {
426
+ "font-size": "lg",
427
+ "line-height": "1.6",
428
+ color: "rgba(255, 255, 255, 0.9)",
429
+ "text-shadow": "0 1px 2px rgba(0, 0, 0, 0.3)",
430
+ tablet: {
431
+ "font-size": "base",
432
+ },
433
+ },
434
+ author_wrapper: {
435
+ display: "flex",
436
+ "align-items": "center",
437
+ "column-gap": "xs",
438
+ "margin-top": "base",
439
+ },
440
+ avatar: {
441
+ width: "40px",
442
+ height: "40px",
443
+ "border-radius": "50%",
444
+ "object-fit": "cover",
445
+ "border-width": "2px",
446
+ "border-style": "solid",
447
+ "border-color": "rgba(255, 255, 255, 0.2)",
448
+ },
449
+ author_name: {
450
+ "font-size": "base",
451
+ "font-weight": "500",
452
+ color: "rgba(255, 255, 255, 0.9)",
453
+ "text-shadow": "0 1px 2px rgba(0, 0, 0, 0.3)",
454
+ },
455
+ ctas_wrapper: {
456
+ display: "flex",
457
+ "column-gap": "base",
458
+ "align-items": "center",
459
+ "margin-top": "lg",
460
+ mobile: {
461
+ "flex-direction": "column",
462
+ "row-gap": "sm",
463
+ "column-gap": "none",
464
+ },
465
+ },
466
+ primary_cta: {
467
+ "background-color": "white",
468
+ color: "var(--color-text-1)",
469
+ "padding-top": "base",
470
+ "padding-bottom": "base",
471
+ "padding-left": "2xl",
472
+ "padding-right": "2xl",
473
+ "border-radius": "6px",
474
+ "font-weight": "600",
475
+ "font-size": "base",
476
+ "border-width": "2px",
477
+ "border-style": "solid",
478
+ "border-color": "white",
479
+ },
480
+ secondary_cta: {
481
+ "background-color": "transparent",
482
+ color: "white",
483
+ "padding-top": "base",
484
+ "padding-bottom": "base",
485
+ "padding-left": "2xl",
486
+ "padding-right": "2xl",
487
+ "border-radius": "6px",
488
+ "font-weight": "600",
489
+ "font-size": "base",
490
+ "border-width": "2px",
491
+ "border-style": "solid",
492
+ "border-color": "white",
493
+ },
494
+ }),
495
+ },
496
+ content: DEFAULT_CONTENT,
497
+ config: {
498
+ slides_levoGroup: {
499
+ carousel: {
500
+ loop: true,
501
+ autoScroll: true,
502
+ speed: 4,
503
+ },
504
+ },
505
+ },
506
+ },
507
+ ],
508
+ };
@@ -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;