@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,54 @@
1
+ import {
2
+ type ILevoBlockBaseProps,
3
+ Heading,
4
+ Image,
5
+ Typography,
6
+ Container,
7
+ Section,
8
+ Box,
9
+ Button,
10
+ } from "@levo-so/studio";
11
+
12
+ import type { ICards9Content } from "./cards-9.schema";
13
+
14
+ const Cards9: React.FC<ILevoBlockBaseProps<ICards9Content>> = ({ content }) => (
15
+ <Section elementKey="layout">
16
+ <Container elementKey="container">
17
+ <Box elementKey="header_wrapper">
18
+ <Heading elementKey="title" />
19
+ <Button elementKey="header_cta" />
20
+ </Box>
21
+
22
+ <Box elementKey="cards_levoGroup" data-levo_group>
23
+ {(content.cards ?? []).map((_, index) => (
24
+ <Box
25
+ elementKey={`cards.${index}.card_wrapper`}
26
+ key={`cards-9-card-${index}`}
27
+ data-levo_group_item
28
+ >
29
+ <Box elementKey={`cards.${index}.left_container`}>
30
+ <Image elementKey={`cards.${index}.image`} alt="Card image" />
31
+ </Box>
32
+ <Box elementKey={`cards.${index}.right_container`}>
33
+ <Box elementKey={`cards.${index}.meta_container`}>
34
+ <Box elementKey={`cards.${index}.date_wrapper`}>
35
+ <Image
36
+ elementKey={`cards.${index}.date_icon`}
37
+ alt="Date icon"
38
+ />
39
+ <Typography elementKey={`cards.${index}.date_text`} />
40
+ </Box>
41
+ </Box>
42
+ <Box elementKey={`cards.${index}.text_container`}>
43
+ <Typography elementKey={`cards.${index}.card_title`} />
44
+ <Button elementKey={`cards.${index}.cta`} />
45
+ </Box>
46
+ </Box>
47
+ </Box>
48
+ ))}
49
+ </Box>
50
+ </Container>
51
+ </Section>
52
+ );
53
+
54
+ export default Cards9;
@@ -0,0 +1,250 @@
1
+ import type { IBlock } from "@levo-so/studio";
2
+
3
+ // Extract image object into a constant for reusability
4
+ const CAROUSEL_IMAGE = {
5
+ id: "7141014160938075687",
6
+ location: "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH.png",
7
+ kind: "image",
8
+ mimetype: "image/png",
9
+ srcset: {
10
+ "1080w":
11
+ "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp",
12
+ "1200w":
13
+ "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp",
14
+ "1920w":
15
+ "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp",
16
+ "320w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp",
17
+ "640w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp",
18
+ "750w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp",
19
+ "828w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp",
20
+ 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",
21
+ },
22
+ };
23
+
24
+ // Array of carousel 1 content
25
+ const CAROUSEL_1_CONTENT = [
26
+ {
27
+ card: null,
28
+ image: CAROUSEL_IMAGE,
29
+ },
30
+ {
31
+ card: null,
32
+ image: CAROUSEL_IMAGE,
33
+ },
34
+ {
35
+ card: null,
36
+ image: CAROUSEL_IMAGE,
37
+ },
38
+ {
39
+ card: null,
40
+ image: CAROUSEL_IMAGE,
41
+ },
42
+ {
43
+ card: null,
44
+ image: CAROUSEL_IMAGE,
45
+ },
46
+ ];
47
+
48
+ // Array of carousel 2 content
49
+ const CAROUSEL_2_CONTENT = [
50
+ {
51
+ card: null,
52
+ image: CAROUSEL_IMAGE,
53
+ },
54
+ {
55
+ card: null,
56
+ image: CAROUSEL_IMAGE,
57
+ },
58
+ {
59
+ card: null,
60
+ image: CAROUSEL_IMAGE,
61
+ },
62
+ {
63
+ card: null,
64
+ image: CAROUSEL_IMAGE,
65
+ },
66
+ {
67
+ card: null,
68
+ image: CAROUSEL_IMAGE,
69
+ },
70
+ ];
71
+
72
+ const DEFAULT_CONTENT = {
73
+ layout: null,
74
+ container: null,
75
+ header_wrapper: null,
76
+ title: "Enterprise Portfolio Gallery",
77
+ carousel_1_levoGroup: null,
78
+ carousel_1: CAROUSEL_1_CONTENT,
79
+ carousel_2_levoGroup: null,
80
+ carousel_2: CAROUSEL_2_CONTENT,
81
+ };
82
+
83
+ export type ICarousel1Content = typeof DEFAULT_CONTENT;
84
+
85
+ // Carousel item field styles
86
+ const CAROUSEL_ITEM_STYLE = {
87
+ card: {
88
+ display: "flex",
89
+ "flex-direction": "column",
90
+ "border-radius": "lg",
91
+ overflow: "hidden",
92
+ "box-shadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1)",
93
+ },
94
+ image: {
95
+ width: "100%",
96
+ height: "18rem",
97
+ "object-fit": "cover",
98
+ },
99
+ };
100
+
101
+ const CAROUSEL_1_STYLES = Array(5).fill(CAROUSEL_ITEM_STYLE);
102
+ const CAROUSEL_2_STYLES = Array(5).fill(CAROUSEL_ITEM_STYLE);
103
+
104
+ export const Carousel1: IBlock = {
105
+ category_id: "carousel",
106
+ title: "Carousel 1",
107
+ key: "carousel-1",
108
+ version: "v1",
109
+ prompt_description:
110
+ "A dual-row carousel block displaying image galleries with smooth transitions and responsive design",
111
+ content_schema: [
112
+ {
113
+ key: "layout",
114
+ label: "Layout",
115
+ field_interface: "LayoutWidget",
116
+ },
117
+ {
118
+ key: "container",
119
+ label: "Container",
120
+ field_interface: "ContainerWidget",
121
+ },
122
+ {
123
+ key: "header_wrapper",
124
+ label: "Header Wrapper",
125
+ field_interface: "BoxWidget",
126
+ },
127
+ {
128
+ key: "title",
129
+ label: "Title",
130
+ field_interface: "HeadingWidget",
131
+ },
132
+ {
133
+ key: "carousel_1_levoGroup",
134
+ label: "Carousel 1 Levo Group",
135
+ field_interface: "BoxWidget",
136
+ },
137
+ {
138
+ key: "carousel_1",
139
+ label: "Carousel 1",
140
+ kind: "group",
141
+ field_interface: "CarouselWidget",
142
+ fields: [
143
+ {
144
+ key: "card",
145
+ label: "Card",
146
+ field_interface: "BoxWidget",
147
+ },
148
+ {
149
+ key: "image",
150
+ label: "Image",
151
+ field_interface: "ImageWidget",
152
+ },
153
+ ],
154
+ },
155
+ {
156
+ key: "carousel_2_levoGroup",
157
+ label: "Carousel 2 Levo Group",
158
+ field_interface: "BoxWidget",
159
+ },
160
+ {
161
+ key: "carousel_2",
162
+ label: "Carousel 2",
163
+ kind: "group",
164
+ field_interface: "CarouselWidget",
165
+ fields: [
166
+ {
167
+ key: "card",
168
+ label: "Card",
169
+ field_interface: "BoxWidget",
170
+ },
171
+ {
172
+ key: "image",
173
+ label: "Image",
174
+ field_interface: "ImageWidget",
175
+ },
176
+ ],
177
+ },
178
+ ],
179
+ layouts: [
180
+ {
181
+ key: "default",
182
+ title: "Default",
183
+ styles: {
184
+ layout: {
185
+ "padding-top": "5xl",
186
+ "padding-bottom": "5xl",
187
+ },
188
+ container: {
189
+ "max-width": "72rem",
190
+ "margin-left": "auto",
191
+ "margin-right": "auto",
192
+ "padding-left": "base",
193
+ "padding-right": "base",
194
+ },
195
+ header_wrapper: {
196
+ "text-align": "center",
197
+ "margin-bottom": "4xl",
198
+ },
199
+ title: {
200
+ "font-size": "3xl",
201
+ "font-weight": "600",
202
+ color: "text-1",
203
+ "line-height": "1.15",
204
+ "margin-bottom": "0",
205
+ mobile: {
206
+ "font-size": "2xl",
207
+ },
208
+ },
209
+ carousel_1_levoGroup: {
210
+ number_of_slides: 3.5,
211
+ "margin-bottom": "3xl",
212
+ tablet: {
213
+ number_of_slides: 2.5,
214
+ },
215
+ mobile: {
216
+ number_of_slides: 1.2,
217
+ },
218
+ },
219
+ carousel_2_levoGroup: {
220
+ number_of_slides: 3.5,
221
+ tablet: {
222
+ number_of_slides: 2.5,
223
+ },
224
+ mobile: {
225
+ number_of_slides: 1.2,
226
+ },
227
+ },
228
+ carousel_1: CAROUSEL_1_STYLES,
229
+ carousel_2: CAROUSEL_2_STYLES,
230
+ },
231
+ content: DEFAULT_CONTENT,
232
+ config: {
233
+ carousel_1_levoGroup: {
234
+ carousel: {
235
+ loop: true,
236
+ autoScroll: true,
237
+ speed: 3,
238
+ },
239
+ },
240
+ carousel_2_levoGroup: {
241
+ carousel: {
242
+ loop: true,
243
+ autoScroll: true,
244
+ speed: 2,
245
+ },
246
+ },
247
+ },
248
+ },
249
+ ],
250
+ };
@@ -0,0 +1,79 @@
1
+ import {
2
+ type ILevoBlockBaseProps,
3
+ Heading,
4
+ Image,
5
+ Container,
6
+ Section,
7
+ Box,
8
+ Carousel,
9
+ CarouselContent,
10
+ CarouselItem,
11
+ } from "@levo-so/studio";
12
+
13
+ import type { ICarousel1Content } from "./carousel-1.schema";
14
+
15
+ const Carousel1: React.FC<ILevoBlockBaseProps<ICarousel1Content>> = ({
16
+ content,
17
+ }) => (
18
+ <Section elementKey="layout">
19
+ <Container elementKey="container">
20
+ <Box elementKey="header_wrapper">
21
+ <Heading elementKey="title" />
22
+ </Box>
23
+
24
+ {/* First Carousel Row */}
25
+ <Carousel
26
+ elementKey="carousel_1_levoGroup"
27
+ data-levo_group
28
+ opts={{
29
+ watchDrag: false,
30
+ watchResize: true,
31
+ watchSlides: true,
32
+ }}
33
+ >
34
+ <CarouselContent>
35
+ {(content.carousel_1 ?? []).map((_, index) => (
36
+ <CarouselItem key={`carousel-1-item-${index}`} data-levo_group_item>
37
+ <Box elementKey={`carousel_1.${index}.card`}>
38
+ <Image
39
+ alt="carousel image"
40
+ elementKey={`carousel_1.${index}.image`}
41
+ width={400}
42
+ height={300}
43
+ />
44
+ </Box>
45
+ </CarouselItem>
46
+ ))}
47
+ </CarouselContent>
48
+ </Carousel>
49
+
50
+ {/* Second Carousel Row */}
51
+ <Carousel
52
+ elementKey="carousel_2_levoGroup"
53
+ data-levo_group
54
+ opts={{
55
+ watchDrag: false,
56
+ watchResize: true,
57
+ watchSlides: true,
58
+ }}
59
+ >
60
+ <CarouselContent>
61
+ {(content.carousel_2 ?? []).map((_, index) => (
62
+ <CarouselItem key={`carousel-2-item-${index}`} data-levo_group_item>
63
+ <Box elementKey={`carousel_2.${index}.card`}>
64
+ <Image
65
+ alt="carousel image"
66
+ elementKey={`carousel_2.${index}.image`}
67
+ width={400}
68
+ height={300}
69
+ />
70
+ </Box>
71
+ </CarouselItem>
72
+ ))}
73
+ </CarouselContent>
74
+ </Carousel>
75
+ </Container>
76
+ </Section>
77
+ );
78
+
79
+ export default Carousel1;
@@ -0,0 +1,226 @@
1
+ import type { IBlock } from "@levo-so/studio";
2
+
3
+ const DEFAULT_CONTENT = {
4
+ layout: null,
5
+ container: null,
6
+
7
+ contentWrapper: null,
8
+ title: "Get in touch",
9
+ description: "Connect with us and let us know how we can help you.",
10
+ ctas: [
11
+ {
12
+ cta: "Contact Us",
13
+ },
14
+ ],
15
+
16
+ media: {
17
+ id: "7141014160938075687",
18
+ location: "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH.png",
19
+ kind: "image",
20
+ mimetype: "image/png",
21
+ srcset: {
22
+ "1080w":
23
+ "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp",
24
+ "1200w":
25
+ "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp",
26
+ "1920w":
27
+ "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp",
28
+ "320w":
29
+ "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp",
30
+ "640w":
31
+ "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp",
32
+ "750w":
33
+ "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp",
34
+ "828w":
35
+ "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp",
36
+ 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",
37
+ },
38
+ },
39
+ };
40
+
41
+ export type IContactUs1Content = typeof DEFAULT_CONTENT;
42
+
43
+ export const ContactUs1: IBlock = {
44
+ category_id: "contact-us",
45
+ title: "Contact Us 1",
46
+ key: "contact-us-1",
47
+ version: "v1",
48
+ prompt_description:
49
+ "Two-column layout with bold headline, brief supporting text, and a call-to-action button on the left, paired with a large image on the right.",
50
+ content_schema: [
51
+ {
52
+ key: "layout",
53
+ label: "Layout",
54
+ field_interface: "LayoutWidget",
55
+ hint: {
56
+ prompt_description:
57
+ "Overall layout definition. Used to structure the block as a two-column split: left for text and call to action, right for visual. No content needed.",
58
+ },
59
+ },
60
+ {
61
+ key: "container",
62
+ label: "Container",
63
+ field_interface: "ContainerWidget",
64
+ hint: {
65
+ prompt_description:
66
+ "Main outer container for spacing and alignment. No direct content—responsible for the block's padding, background, and width.",
67
+ },
68
+ },
69
+ {
70
+ key: "contentWrapper",
71
+ label: "Content contentWrapper",
72
+ field_interface: "BoxWidget",
73
+ hint: {
74
+ prompt_description:
75
+ "Wrapper box for the main content (title, description, button) on the left side. Used for vertical and horizontal alignment. No direct visual/text content.",
76
+ },
77
+ },
78
+ {
79
+ key: "textWrapper",
80
+ label: "Text Wrapper",
81
+ field_interface: "BoxWidget",
82
+ hint: {
83
+ prompt_description:
84
+ "Box to organize and group the title, description, and CTAs. No text content—used solely for grouping and alignment.",
85
+ },
86
+ },
87
+ {
88
+ key: "title",
89
+ label: "Title",
90
+ field_interface: "HeadingWidget",
91
+ hint: {
92
+ prompt_description:
93
+ "Main headline positioned at the top left. Aim for a direct, inviting, action-oriented message encouraging users to make contact. Tone is clear, approachable, and encouraging.",
94
+ min_characters: 8,
95
+ max_characters: 28,
96
+ },
97
+ },
98
+ {
99
+ key: "description",
100
+ label: "Description",
101
+ field_interface: "TypographyWidget",
102
+ hint: {
103
+ prompt_description:
104
+ "Short explanatory paragraph under the headline providing additional context or reason to get in touch. Tone is supportive, helpful, and concise.",
105
+ min_characters: 30,
106
+ max_characters: 90,
107
+ },
108
+ },
109
+ {
110
+ key: "ctas",
111
+ label: "CTAs",
112
+ field_interface: "BoxWidget",
113
+ kind: "group",
114
+ fields: [
115
+ {
116
+ key: "cta",
117
+ label: "CTA",
118
+ field_interface: "ButtonWidget",
119
+ hint: {
120
+ prompt_description:
121
+ "Primary call-to-action button label for contacting the company/team. Should be short, clear, and action-driven.",
122
+ min_characters: 4,
123
+ max_characters: 22,
124
+ },
125
+ },
126
+ ],
127
+ hint: {
128
+ prompt_description:
129
+ "Group for one or more call-to-action buttons under the description. In this layout, typically only one prominent CTA is shown.",
130
+ min_items: 1,
131
+ max_items: 2,
132
+ },
133
+ },
134
+ {
135
+ key: "media",
136
+ label: "Media",
137
+ field_interface: "MediaWidget",
138
+ hint: {
139
+ prompt_description:
140
+ "Prominent illustrative image displayed on the right side. Used to visually balance the block; should be inviting and align with a 'contact' or communication theme.",
141
+ orientation: "landscape",
142
+ size: "large",
143
+ usecase: "hero",
144
+ },
145
+ },
146
+ ],
147
+ layouts: [
148
+ {
149
+ key: "default",
150
+ title: "Default",
151
+ styles: {
152
+ layout: {
153
+ "padding-left": "8xl",
154
+ "padding-right": "8xl",
155
+ "padding-top": "8xl",
156
+ "padding-bottom": "8xl",
157
+ tablet: {
158
+ "padding-left": "4xl",
159
+ "padding-right": "4xl",
160
+ "padding-top": "4xl",
161
+ "padding-bottom": "4xl",
162
+ },
163
+ mobile: {
164
+ "padding-left": "lg",
165
+ "padding-right": "lg",
166
+ "padding-top": "lg",
167
+ "padding-bottom": "lg",
168
+ },
169
+ },
170
+ container: {
171
+ display: "flex",
172
+ "justify-content": "space-between",
173
+ "border-radius": "3xl",
174
+ tablet: {
175
+ "flex-direction": "column",
176
+ "column-gap": "none",
177
+ "row-gap": "xl",
178
+ "padding-top": "xl",
179
+ },
180
+ mobile: {
181
+ "row-gap": "base",
182
+ "padding-top": "base",
183
+ },
184
+ },
185
+ media: {
186
+ width: "50%",
187
+ height: "100%",
188
+ "border-radius": "3xl",
189
+ tablet: {
190
+ width: "100%",
191
+ height: "auto",
192
+ },
193
+ },
194
+ contentWrapper: {
195
+ display: "flex",
196
+ "flex-direction": "column",
197
+ "align-items": "start",
198
+ "justify-content": "center",
199
+ "row-gap": "base",
200
+ "padding-left": "5xl",
201
+ tablet: {
202
+ "padding-left": "xl",
203
+ "padding-right": "xl",
204
+ },
205
+ mobile: {
206
+ "padding-left": "base",
207
+ "padding-right": "base",
208
+ },
209
+ },
210
+ textWrapper: {
211
+ display: "flex",
212
+ "flex-direction": "column",
213
+ "row-gap": "4xs",
214
+ },
215
+ title: {
216
+ "font-size": "4xl",
217
+ mobile: {
218
+ "font-size": "2xl",
219
+ },
220
+ },
221
+ },
222
+ content: DEFAULT_CONTENT,
223
+ config: {},
224
+ },
225
+ ],
226
+ };
@@ -0,0 +1,39 @@
1
+ import type { ILevoBlockBaseProps } from "@levo-so/studio";
2
+ import {
3
+ Box,
4
+ Button,
5
+ Heading,
6
+ Media,
7
+ Section,
8
+ Typography,
9
+ Container,
10
+ } from "@levo-so/studio";
11
+
12
+ import type { IContactUs1Content } from "./contact-us-1.schema";
13
+
14
+ const ContactUs1: React.FC<ILevoBlockBaseProps<IContactUs1Content>> = ({
15
+ content,
16
+ }) => (
17
+ <Section elementKey="layout">
18
+ <Container elementKey="container">
19
+ <Box elementKey="contentWrapper">
20
+ <Box elementKey="textWrapper">
21
+ <Heading elementKey="title" />
22
+ <Typography elementKey="description" />
23
+ </Box>
24
+ <Box elementKey="ctas_levoGroup" data-levo_group>
25
+ {(content.ctas ?? []).map((_, index) => (
26
+ <Button
27
+ elementKey={`ctas.${index}.cta`}
28
+ key={`logos-1-cta-${index}`}
29
+ data-levo_group_item
30
+ />
31
+ ))}
32
+ </Box>
33
+ </Box>
34
+ <Media alt="media" elementKey="media" />
35
+ </Container>
36
+ </Section>
37
+ );
38
+
39
+ export default ContactUs1;