@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,88 @@
1
+ import type { ILevoBlockBaseProps } from "@levo-so/studio";
2
+ import {
3
+ Box,
4
+ Button,
5
+ Container,
6
+ Heading,
7
+ Icon,
8
+ Section,
9
+ Typography,
10
+ } from "@levo-so/studio";
11
+
12
+ import type { IPricing1Content } from "./pricing-1.schema";
13
+
14
+ const Pricing1: React.FC<ILevoBlockBaseProps<IPricing1Content>> = ({
15
+ content,
16
+ }) => (
17
+ <Section elementKey="layout">
18
+ <Container elementKey="container">
19
+ <Heading elementKey="title" />
20
+ <Box elementKey="pricing_cards_levoGroup" data-levo_group>
21
+ {(content.pricing_cards ?? []).map((_, index) => (
22
+ <Box
23
+ key={index}
24
+ data-levo_group_item
25
+ elementKey={`pricing_cards.${index}.card`}
26
+ >
27
+ {/* Title and Badge Container */}
28
+ <Box elementKey={`pricing_cards.${index}.title_badge_container`}>
29
+ {/* Badge for popular plans */}
30
+ {content.pricing_cards?.[index]?.badge && (
31
+ <Typography elementKey={`pricing_cards.${index}.badge`} />
32
+ )}
33
+ {/* Plan title */}
34
+ <Heading elementKey={`pricing_cards.${index}.title`} />
35
+ </Box>
36
+
37
+ {/* Primary Content Container */}
38
+ <Box
39
+ elementKey={`pricing_cards.${index}.primary_content_container`}
40
+ >
41
+ {/* Plan description */}
42
+ <Typography elementKey={`pricing_cards.${index}.description`} />
43
+
44
+ {/* Pricing section */}
45
+ <Box elementKey={`pricing_cards.${index}.pricing_wrapper`}>
46
+ <Typography elementKey={`pricing_cards.${index}.price`} />
47
+ {content.pricing_cards?.[index]?.period && (
48
+ <Typography elementKey={`pricing_cards.${index}.period`} />
49
+ )}
50
+ </Box>
51
+
52
+ {/* CTA Button */}
53
+ <Button elementKey={`pricing_cards.${index}.cta`} />
54
+ </Box>
55
+
56
+ {/* Features section */}
57
+ <Box elementKey={`pricing_cards.${index}.features_wrapper`}>
58
+ <Heading elementKey={`pricing_cards.${index}.features_title`} />
59
+ <Box
60
+ elementKey={`pricing_cards.${index}.features_levoGroup`}
61
+ data-levo_group
62
+ >
63
+ {(content.pricing_cards?.[index]?.features ?? []).map(
64
+ (_, featureIndex) => (
65
+ <Box
66
+ key={featureIndex}
67
+ data-levo_group_item
68
+ elementKey={`pricing_cards.${index}.features.${featureIndex}.feature_container`}
69
+ >
70
+ <Icon
71
+ elementKey={`pricing_cards.${index}.features.${featureIndex}.feature_item`}
72
+ />
73
+ <Typography
74
+ elementKey={`pricing_cards.${index}.features.${featureIndex}.feature_text`}
75
+ />
76
+ </Box>
77
+ ),
78
+ )}
79
+ </Box>
80
+ </Box>
81
+ </Box>
82
+ ))}
83
+ </Box>
84
+ </Container>
85
+ </Section>
86
+ );
87
+
88
+ export default Pricing1;
@@ -0,0 +1,274 @@
1
+ import type { IBlock } from "@levo-so/studio";
2
+
3
+ const DEFAULT_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 DEFAULT_CONTENT = {
24
+ layout: null,
25
+ container: null,
26
+ header_box: null,
27
+ title: "AI-Powered Products Built for Growth",
28
+ cta_box: null,
29
+ description:
30
+ "Our intelligent, scalable, and user-friendly products leverage AI to enhance performance, automation, and user engagement.",
31
+ cta: "View More",
32
+ products_levoGroup: null,
33
+ products: [
34
+ {
35
+ card: null,
36
+ image: DEFAULT_IMAGE,
37
+ title: "Websites",
38
+ price: "$25.00",
39
+ },
40
+ {
41
+ card: null,
42
+ image: DEFAULT_IMAGE,
43
+ title: "Mobile Apps",
44
+ price: "$25.00",
45
+ },
46
+ {
47
+ card: null,
48
+ image: DEFAULT_IMAGE,
49
+ title: "Chatbots",
50
+ price: "$25.00",
51
+ },
52
+ {
53
+ card: null,
54
+ image: DEFAULT_IMAGE,
55
+ title: "Platforms",
56
+ price: "$25.00",
57
+ },
58
+ ],
59
+ };
60
+
61
+ export type IProductsListing1Content = typeof DEFAULT_CONTENT;
62
+
63
+ export const ProductsListing1: IBlock = {
64
+ category_id: "products",
65
+ title: "Products Listing 1",
66
+ key: "products-listing-1",
67
+ version: "v1",
68
+ content_schema: [
69
+ {
70
+ key: "layout",
71
+ label: "Layout",
72
+ field_interface: "LayoutWidget",
73
+ },
74
+ {
75
+ key: "container",
76
+ label: "Container",
77
+ field_interface: "ContainerWidget",
78
+ },
79
+ {
80
+ key: "header_box",
81
+ label: "Header Box",
82
+ field_interface: "BoxWidget",
83
+ },
84
+ {
85
+ key: "title",
86
+ label: "Title",
87
+ field_interface: "HeadingWidget",
88
+ },
89
+ {
90
+ key: "cta_box",
91
+ label: "Cta Box",
92
+ field_interface: "BoxWidget",
93
+ },
94
+ {
95
+ key: "description",
96
+ label: "Description",
97
+ field_interface: "TypographyWidget",
98
+ },
99
+ {
100
+ key: "button_1",
101
+ label: "Button 1",
102
+ field_interface: "ButtonWidget",
103
+ },
104
+ {
105
+ key: "products",
106
+ label: "Products",
107
+ kind: "group",
108
+ field_interface: "BoxWidget",
109
+ fields: [
110
+ {
111
+ key: "card",
112
+ label: "Card",
113
+ field_interface: "BoxWidget",
114
+ },
115
+ {
116
+ key: "image",
117
+ label: "Image",
118
+ field_interface: "ImageWidget",
119
+ },
120
+ {
121
+ key: "title",
122
+ label: "Title",
123
+ field_interface: "HeadingWidget",
124
+ },
125
+ {
126
+ key: "price",
127
+ label: "Price",
128
+ field_interface: "TypographyWidget",
129
+ },
130
+ ],
131
+ },
132
+ ],
133
+ layouts: [
134
+ {
135
+ key: "default",
136
+ title: "Default",
137
+ styles: {
138
+ container: {
139
+ "max-width": "72rem",
140
+ "margin-left": "auto",
141
+ "margin-right": "auto",
142
+ "padding-left": "base",
143
+ "padding-right": "base",
144
+ "padding-top": "7xl",
145
+ "padding-bottom": "7xl",
146
+ },
147
+ header_box: {
148
+ display: "flex",
149
+ "flex-direction": "row",
150
+ "justify-content": "space-between",
151
+ "column-gap": "3xl",
152
+ "margin-bottom": "7xl",
153
+ mobile: {
154
+ "flex-direction": "column",
155
+ },
156
+ },
157
+ title: {
158
+ "font-size": "4xl",
159
+ "font-weight": "700",
160
+ color: "text-1",
161
+ "line-height": "1.2",
162
+ "max-width": "36rem",
163
+ },
164
+ cta_box: {
165
+ display: "flex",
166
+ "flex-direction": "column",
167
+ mobile: {
168
+ width: "100%",
169
+ },
170
+ },
171
+ description: {
172
+ color: "text-2",
173
+ "font-size": "base",
174
+ "max-width": "28rem",
175
+ "margin-bottom": "sm",
176
+ tablet: {
177
+ "margin-bottom": "none",
178
+ },
179
+ },
180
+ button_1: {
181
+ width: "fit-content",
182
+ display: "flex",
183
+ "align-items": "center",
184
+ "column-gap": "xs",
185
+ },
186
+ products_levoGroup: {
187
+ display: "grid",
188
+ "grid-template-columns": "repeat(2, minmax(0, 1fr))",
189
+ "row-gap": "3xl",
190
+ "column-gap": "3xl",
191
+ mobile: {
192
+ "grid-template-columns": "repeat(1, minmax(0, 1fr))",
193
+ },
194
+ },
195
+ products: [
196
+ {
197
+ card: {
198
+ "border-radius": "2xl",
199
+ display: "flex",
200
+ "flex-direction": "column",
201
+ },
202
+ image: {
203
+ "border-radius": "2xl",
204
+ width: "100%",
205
+ height: "411px",
206
+ "margin-bottom": "lg",
207
+ },
208
+ title: {
209
+ "font-size": "lg",
210
+ "font-weight": "600",
211
+ "margin-bottom": "2xs",
212
+ },
213
+ },
214
+ {
215
+ card: {
216
+ "border-radius": "2xl",
217
+ display: "flex",
218
+ "flex-direction": "column",
219
+ },
220
+ image: {
221
+ "border-radius": "2xl",
222
+ width: "100%",
223
+ height: "411px",
224
+ "margin-bottom": "lg",
225
+ },
226
+ title: {
227
+ "font-size": "lg",
228
+ "font-weight": "600",
229
+ "margin-bottom": "2xs",
230
+ },
231
+ },
232
+ {
233
+ card: {
234
+ "border-radius": "2xl",
235
+ display: "flex",
236
+ "flex-direction": "column",
237
+ },
238
+ image: {
239
+ "border-radius": "2xl",
240
+ width: "100%",
241
+ height: "411px",
242
+ "margin-bottom": "lg",
243
+ },
244
+ title: {
245
+ "font-size": "lg",
246
+ "font-weight": "600",
247
+ "margin-bottom": "2xs",
248
+ },
249
+ },
250
+ {
251
+ card: {
252
+ "border-radius": "2xl",
253
+ display: "flex",
254
+ "flex-direction": "column",
255
+ },
256
+ image: {
257
+ "border-radius": "2xl",
258
+ width: "100%",
259
+ height: "411px",
260
+ "margin-bottom": "lg",
261
+ },
262
+ title: {
263
+ "font-size": "lg",
264
+ "font-weight": "600",
265
+ "margin-bottom": "2xs",
266
+ },
267
+ },
268
+ ],
269
+ },
270
+ content: DEFAULT_CONTENT,
271
+ config: {},
272
+ },
273
+ ],
274
+ };
@@ -0,0 +1,48 @@
1
+ import {
2
+ type ILevoBlockBaseProps,
3
+ Button,
4
+ Heading,
5
+ Image,
6
+ Typography,
7
+ Container,
8
+ Section,
9
+ Box,
10
+ } from "@levo-so/studio";
11
+
12
+ import type { IProductsListing1Content } from "./products-listing-1.schema";
13
+
14
+ const ProductsListing1: React.FC<
15
+ ILevoBlockBaseProps<IProductsListing1Content>
16
+ > = ({ content }) => (
17
+ <Section elementKey="layout">
18
+ <Container elementKey="container">
19
+ <Box elementKey="header_box">
20
+ <Heading elementKey="title" />
21
+ <Box elementKey="cta_box">
22
+ <Typography elementKey="description" />
23
+ <Button elementKey="button_1" />
24
+ </Box>
25
+ </Box>
26
+ <Box data-levo_group elementKey="products_levoGroup">
27
+ {(content.products ?? []).map((_, index) => (
28
+ <Box
29
+ data-levo_group_item
30
+ elementKey={`products.${index}.card`}
31
+ key={index}
32
+ >
33
+ <Image
34
+ alt="product image"
35
+ elementKey={`products.${index}.image`}
36
+ width={400}
37
+ height={400}
38
+ />
39
+ <Heading elementKey={`products.${index}.title`} />
40
+ <Typography elementKey={`products.${index}.price`} />
41
+ </Box>
42
+ ))}
43
+ </Box>
44
+ </Container>
45
+ </Section>
46
+ );
47
+
48
+ export default ProductsListing1;
@@ -0,0 +1,231 @@
1
+ import type { IBlock } from "@levo-so/studio";
2
+
3
+ const DUMMY_ICON = {
4
+ kind: "icon",
5
+ data: {
6
+ id: "archive-minus",
7
+ label: "Archive Minus",
8
+ tags: ["archive", "custom", "directional", "minus"],
9
+ svgCode:
10
+ '<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>',
11
+ },
12
+ };
13
+
14
+ const DEFAULT_CONTENT = {
15
+ layout: null,
16
+ container: null,
17
+ stats_levoGroup: null,
18
+ stats: [
19
+ {
20
+ stat: null,
21
+ icon: DUMMY_ICON,
22
+ "content-wrapper": null,
23
+ header: "20+",
24
+ description: "Years of experience",
25
+ },
26
+ {
27
+ stat: null,
28
+ icon: DUMMY_ICON,
29
+ "content-wrapper": null,
30
+ header: "500+",
31
+ description: "Happy Client Worldwide",
32
+ },
33
+ {
34
+ stat: null,
35
+ icon: DUMMY_ICON,
36
+ "content-wrapper": null,
37
+ header: "1K+",
38
+ description: "Audits Completed",
39
+ },
40
+ {
41
+ stat: null,
42
+ icon: DUMMY_ICON,
43
+ "content-wrapper": null,
44
+ header: "22+",
45
+ description: "Business Awards",
46
+ },
47
+ ],
48
+ };
49
+
50
+ export type IStats1Content = typeof DEFAULT_CONTENT;
51
+
52
+ const STAT_STYLE = {
53
+ stat: {
54
+ border: "none",
55
+ "background-color": "transparent",
56
+ "box-shadow": "none",
57
+ display: "flex",
58
+ width: "100%",
59
+ "flex-direction": "column",
60
+ "row-gap": "xl",
61
+ },
62
+ icon: {
63
+ width: "48px",
64
+ height: "48px",
65
+ "object-fit": "contain",
66
+ "margin-left": "auto",
67
+ "margin-right": "auto",
68
+ },
69
+ "content-wrapper": {
70
+ display: "flex",
71
+ "flex-direction": "column",
72
+ "align-items": "center",
73
+ "row-gap": "xs",
74
+ },
75
+ header: {
76
+ color: "var(--color-brand-foreground)",
77
+ "font-size": "4xl",
78
+ "font-weight": 700,
79
+ },
80
+ description: {
81
+ color: "var(--color-brand-foreground)",
82
+ "font-size": "base",
83
+ "font-weight": 600,
84
+ },
85
+ };
86
+
87
+ const STATS_STYLES = Array(4)
88
+ ?.fill(0)
89
+ ?.map((_: any) => STAT_STYLE);
90
+
91
+ export const Stats1: IBlock = {
92
+ category_id: "stats",
93
+ title: "Stats 1",
94
+ key: "stats-1",
95
+ version: "v1",
96
+ prompt_description:
97
+ "Four-column stats block with bold numbers, descriptive captions, and matching icons above each stat, all set on a solid color background for high visibility.",
98
+ content_schema: [
99
+ {
100
+ key: "layout",
101
+ label: "Layout",
102
+ field_interface: "LayoutWidget",
103
+ hint: {
104
+ prompt_description:
105
+ "Defines the overall section layout for a horizontal metrics/statistics block. Use a balanced, four-column grid with generous spacing and central alignment.",
106
+ },
107
+ },
108
+ {
109
+ key: "container",
110
+ label: "Container",
111
+ field_interface: "ContainerWidget",
112
+ hint: {
113
+ prompt_description:
114
+ "Acts as the main content container for the statistics block, ensuring visual consistency, providing padding, and maintaining readability on a colored background.",
115
+ },
116
+ },
117
+ {
118
+ key: "stats",
119
+ label: "Stats",
120
+ kind: "group",
121
+ field_interface: "BoxWidget",
122
+ fields: [
123
+ {
124
+ key: "stat",
125
+ label: "Stat",
126
+ field_interface: "BoxWidget",
127
+ hint: {
128
+ prompt_description:
129
+ "Holds the content for a single statistics card. Used to group an icon, a prominent numeric/statistic header, and a brief descriptive label.",
130
+ },
131
+ },
132
+ {
133
+ key: "icon",
134
+ label: "Icon",
135
+ field_interface: "IconWidget",
136
+ hint: {
137
+ prompt_description:
138
+ "An illustrative, line-style icon visually representing the corresponding statistic (such as years of experience, clients, etc.) in a friendly, simple style. Appears above each stat.",
139
+ orientation: "square",
140
+ size: "small",
141
+ usecase: "icon",
142
+ },
143
+ },
144
+ {
145
+ key: "content-wrapper",
146
+ label: "Content Wrapper",
147
+ field_interface: "BoxWidget",
148
+ hint: {
149
+ prompt_description:
150
+ "Groups and aligns the header and description text for a stat. Maintains vertical stacking and central alignment beneath the icon.",
151
+ },
152
+ },
153
+ {
154
+ key: "header",
155
+ label: "Header",
156
+ field_interface: "HeadingWidget",
157
+ hint: {
158
+ prompt_description:
159
+ "The headline number/statistic for the metric, such as '20+', '500+', etc. Must be very brief, bold, and immediately catch the eye. Use compact statistic formats. Tone is factual and celebratory.",
160
+ min_characters: 2,
161
+ max_characters: 6,
162
+ },
163
+ },
164
+ {
165
+ key: "description",
166
+ label: "Description",
167
+ field_interface: "TypographyWidget",
168
+ hint: {
169
+ prompt_description:
170
+ "A short, clear phrase describing what the headline number/stat means (e.g., 'Years of experience', 'Happy Client Worldwide'). Should be descriptive but concise, generally one line. Tone is professional, positive, and straightforward.",
171
+ min_characters: 10,
172
+ max_characters: 32,
173
+ },
174
+ },
175
+ ],
176
+ hint: {
177
+ prompt_description:
178
+ "A group of statistic cards highlighting key business achievements or metrics. Each card showcases one metric, icon, and label. Used to quickly communicate credentials or success factors.",
179
+ min_items: 4,
180
+ max_items: 4,
181
+ },
182
+ },
183
+ ],
184
+ layouts: [
185
+ {
186
+ key: "default",
187
+ title: "Default",
188
+ styles: {
189
+ layout: {
190
+ width: "100%",
191
+ "background-color": "var(--color-brand)",
192
+ "padding-top": "9xl",
193
+ "padding-bottom": "9xl",
194
+ "padding-right": "12xl",
195
+ "padding-left": "12xl",
196
+ tablet: {
197
+ "padding-top": "9xl",
198
+ "padding-bottom": "9xl",
199
+ "padding-right": "9xl",
200
+ "padding-left": "9xl",
201
+ },
202
+ mobile: {
203
+ "padding-top": "6xl",
204
+ "padding-bottom": "6xl",
205
+ "padding-right": "6xl",
206
+ "padding-left": "6xl",
207
+ },
208
+ },
209
+ container: {
210
+ "margin-left": "auto",
211
+ "margin-right": "auto",
212
+ },
213
+ stats_levoGroup: {
214
+ display: "grid",
215
+ "grid-template-columns": "repeat(4, minmax(0, 1fr))",
216
+ "column-gap": "9xl",
217
+ "row-gap": "9xl",
218
+ tablet: {
219
+ "grid-template-columns": "repeat(2, minmax(0, 1fr))",
220
+ },
221
+ mobile: {
222
+ "grid-template-columns": "repeat(1, minmax(0, 1fr))",
223
+ },
224
+ },
225
+ stats: STATS_STYLES,
226
+ },
227
+ content: DEFAULT_CONTENT,
228
+ config: {},
229
+ },
230
+ ],
231
+ };
@@ -0,0 +1,38 @@
1
+ import type { ILevoBlockBaseProps } from "@levo-so/studio";
2
+ import {
3
+ Box,
4
+ Container,
5
+ Heading,
6
+ Icon,
7
+ Section,
8
+ Typography,
9
+ } from "@levo-so/studio";
10
+ import React from "react";
11
+
12
+ import type { IStats1Content } from "./stats-1.schema";
13
+
14
+ const Stats1: React.FC<ILevoBlockBaseProps<IStats1Content>> = ({ content }) => {
15
+ return (
16
+ <Section elementKey="layout">
17
+ <Container elementKey="container">
18
+ <Box elementKey="stats_levoGroup">
19
+ {(content?.stats ?? []).map((_: any, index: number) => (
20
+ <Box
21
+ data-levo_group_item
22
+ elementKey={`stats.${index}.stat`}
23
+ key={index}
24
+ >
25
+ <Icon elementKey={`stats.${index}.icon`} />
26
+ <Box elementKey={`stats.${index}.content-wrapper`}>
27
+ <Heading elementKey={`stats.${index}.header`} />
28
+ <Typography elementKey={`stats.${index}.description`} />
29
+ </Box>
30
+ </Box>
31
+ ))}
32
+ </Box>
33
+ </Container>
34
+ </Section>
35
+ );
36
+ };
37
+
38
+ export default Stats1;