@levo-so/blocks 0.1.1 → 0.1.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (501) hide show
  1. package/package.json +6 -10
  2. package/src/blocks/about-us/about-us-1.schema.ts +577 -0
  3. package/src/blocks/about-us/about-us-1.tsx +53 -0
  4. package/src/blocks/about-us/about-us-2.schema.ts +269 -0
  5. package/src/blocks/about-us/about-us-2.tsx +47 -0
  6. package/src/blocks/blogs/blog-listing-1.schema.ts +473 -0
  7. package/src/blocks/blogs/blog-listing-1.tsx +102 -0
  8. package/src/blocks/blogs/blog-listing-2.schema.ts +3718 -0
  9. package/src/blocks/blogs/blog-listing-2.tsx +88 -0
  10. package/src/blocks/blogs/blog-listing-3.schema.ts +2476 -0
  11. package/src/blocks/blogs/blog-listing-3.tsx +84 -0
  12. package/src/blocks/blogs/blog-post-1.schema.ts +400 -0
  13. package/src/blocks/blogs/blog-post-1.tsx +52 -0
  14. package/src/blocks/blogs/blog-post-2.schema.ts +791 -0
  15. package/src/blocks/blogs/blog-post-2.tsx +131 -0
  16. package/src/blocks/blogs/blog-post-3.schema.ts +284 -0
  17. package/src/blocks/blogs/blog-post-3.tsx +58 -0
  18. package/src/blocks/cards/cards-10.schema.ts +1012 -0
  19. package/src/blocks/cards/cards-10.tsx +48 -0
  20. package/src/blocks/cards/cards-11.schema.ts +918 -0
  21. package/src/blocks/cards/cards-11.tsx +50 -0
  22. package/src/blocks/cards/cards-12.schema.ts +578 -0
  23. package/src/blocks/cards/cards-12.tsx +54 -0
  24. package/src/blocks/cards/cards-13.schema.ts +615 -0
  25. package/src/blocks/cards/cards-13.tsx +67 -0
  26. package/src/blocks/cards/cards-2.schema.ts +290 -0
  27. package/src/blocks/cards/cards-2.tsx +42 -0
  28. package/src/blocks/cards/cards-3.schema.ts +355 -0
  29. package/src/blocks/cards/cards-3.tsx +49 -0
  30. package/src/blocks/cards/cards-4.schema.ts +655 -0
  31. package/src/blocks/cards/cards-4.tsx +50 -0
  32. package/src/blocks/cards/cards-5.schema.ts +245 -0
  33. package/src/blocks/cards/cards-5.tsx +34 -0
  34. package/src/blocks/cards/cards-6.schema.ts +2139 -0
  35. package/src/blocks/cards/cards-6.tsx +140 -0
  36. package/src/blocks/cards/cards-7.schema.ts +3538 -0
  37. package/src/blocks/cards/cards-7.tsx +197 -0
  38. package/src/blocks/cards/cards-8.schema.ts +691 -0
  39. package/src/blocks/cards/cards-8.tsx +43 -0
  40. package/src/blocks/cards/cards-9.schema.ts +827 -0
  41. package/src/blocks/cards/cards-9.tsx +54 -0
  42. package/src/blocks/carousel/carousel-1.schema.ts +250 -0
  43. package/src/blocks/carousel/carousel-1.tsx +79 -0
  44. package/src/blocks/contact-us/contact-us-1.schema.ts +233 -0
  45. package/src/blocks/contact-us/contact-us-1.tsx +39 -0
  46. package/src/blocks/contact-us/contact-us-2.schema.ts +524 -0
  47. package/src/blocks/contact-us/contact-us-2.tsx +71 -0
  48. package/src/blocks/content/content-1.schema.ts +862 -0
  49. package/src/blocks/content/content-1.tsx +69 -0
  50. package/src/blocks/content/content-2.schema.ts +212 -0
  51. package/src/blocks/content/content-2.tsx +32 -0
  52. package/src/blocks/content/content-3.schema.ts +766 -0
  53. package/src/blocks/content/content-3.tsx +55 -0
  54. package/src/blocks/content/content-4.schema.ts +287 -0
  55. package/src/blocks/content/content-4.tsx +47 -0
  56. package/src/blocks/content/content-5.schema.ts +944 -0
  57. package/src/blocks/content/content-5.tsx +59 -0
  58. package/src/blocks/content/content-6.schema.ts +991 -0
  59. package/src/blocks/content/content-6.tsx +62 -0
  60. package/src/blocks/content/content-7.schema.ts +723 -0
  61. package/src/blocks/content/content-7.tsx +53 -0
  62. package/src/blocks/cta/cta-1.schema.ts +353 -0
  63. package/src/blocks/cta/cta-1.tsx +33 -0
  64. package/src/blocks/cta/cta-2.schema.ts +209 -0
  65. package/src/blocks/cta/cta-2.tsx +28 -0
  66. package/src/blocks/cta/cta-3.schema.ts +216 -0
  67. package/src/blocks/cta/cta-3.tsx +48 -0
  68. package/src/blocks/embed/embed-1.schema.ts +153 -0
  69. package/src/blocks/embed/embed-1.tsx +38 -0
  70. package/src/blocks/event/event-details.schema.ts +732 -0
  71. package/src/blocks/event/event-details.tsx +102 -0
  72. package/src/blocks/event/event-listing-2.schema.ts +555 -0
  73. package/src/blocks/event/event-listing-2.tsx +94 -0
  74. package/src/blocks/event/event-listing-3.schema.ts +621 -0
  75. package/src/blocks/event/event-listing-3.tsx +90 -0
  76. package/src/blocks/event/event-listing-4.schema.ts +3528 -0
  77. package/src/blocks/event/event-listing-4.tsx +97 -0
  78. package/src/blocks/event/event-listing.schema.ts +1353 -0
  79. package/src/blocks/event/event-listing.tsx +88 -0
  80. package/src/blocks/faq/faq-1.schema.ts +360 -0
  81. package/src/blocks/faq/faq-1.tsx +65 -0
  82. package/src/blocks/faq/faq-2.schema.ts +358 -0
  83. package/src/blocks/faq/faq-2.tsx +84 -0
  84. package/src/blocks/faq/faq-3.schema.ts +475 -0
  85. package/src/blocks/faq/faq-3.tsx +70 -0
  86. package/src/blocks/features/features-1/features-1.schema.ts +165 -0
  87. package/src/blocks/features/features-1/features-1.tsx +48 -0
  88. package/src/blocks/features/features-1/variants/default.ts +206 -0
  89. package/{dist/blocks/features/features-1/variants/index.js → src/blocks/features/features-1/variants/index.ts} +7 -1
  90. package/src/blocks/features/features-1/variants/stylized-cards-v1.ts +138 -0
  91. package/src/blocks/features/features-1/variants/stylized-cards-v2.ts +487 -0
  92. package/src/blocks/features/features-2.schema.ts +471 -0
  93. package/src/blocks/features/features-2.tsx +66 -0
  94. package/src/blocks/features/features-3.schema.ts +424 -0
  95. package/src/blocks/features/features-3.tsx +56 -0
  96. package/src/blocks/features/features-4.schema.ts +616 -0
  97. package/src/blocks/features/features-4.tsx +75 -0
  98. package/src/blocks/features/features-5.schema.ts +728 -0
  99. package/src/blocks/features/features-5.tsx +49 -0
  100. package/src/blocks/features/features-6.schema.ts +849 -0
  101. package/src/blocks/features/features-6.tsx +125 -0
  102. package/src/blocks/footer/footer-1.schema.ts +612 -0
  103. package/src/blocks/footer/footer-1.tsx +90 -0
  104. package/src/blocks/footer/footer-2.schema.ts +913 -0
  105. package/src/blocks/footer/footer-2.tsx +77 -0
  106. package/src/blocks/footer/footer-3.schema.ts +412 -0
  107. package/src/blocks/footer/footer-3.tsx +99 -0
  108. package/src/blocks/footer/footer-4.schema.ts +649 -0
  109. package/src/blocks/footer/footer-4.tsx +97 -0
  110. package/src/blocks/footer/footer-5.schema.ts +435 -0
  111. package/src/blocks/footer/footer-5.tsx +99 -0
  112. package/src/blocks/footer/footer-6.schema.ts +730 -0
  113. package/src/blocks/footer/footer-6.tsx +100 -0
  114. package/src/blocks/hero/hero-1.schema.ts +746 -0
  115. package/src/blocks/hero/hero-1.tsx +52 -0
  116. package/src/blocks/hero/hero-10.schema.ts +175 -0
  117. package/src/blocks/hero/hero-10.tsx +35 -0
  118. package/src/blocks/hero/hero-2.schema.ts +272 -0
  119. package/src/blocks/hero/hero-2.tsx +57 -0
  120. package/src/blocks/hero/hero-3.schema.ts +419 -0
  121. package/src/blocks/hero/hero-3.tsx +50 -0
  122. package/src/blocks/hero/hero-4.schema.ts +425 -0
  123. package/src/blocks/hero/hero-4.tsx +89 -0
  124. package/src/blocks/hero/hero-5.schema.ts +198 -0
  125. package/src/blocks/hero/hero-5.tsx +86 -0
  126. package/src/blocks/hero/hero-6.schema.ts +665 -0
  127. package/src/blocks/hero/hero-6.tsx +62 -0
  128. package/src/blocks/hero/hero-7.schema.ts +505 -0
  129. package/src/blocks/hero/hero-7.tsx +115 -0
  130. package/src/blocks/hero/hero-8.schema.ts +376 -0
  131. package/src/blocks/hero/hero-8.tsx +113 -0
  132. package/src/blocks/hero/hero-9.schema.ts +379 -0
  133. package/src/blocks/hero/hero-9.tsx +49 -0
  134. package/src/blocks/index.ts +89 -0
  135. package/src/blocks/logos/logos-1.schema.ts +270 -0
  136. package/src/blocks/logos/logos-1.tsx +60 -0
  137. package/src/blocks/navbar/navbar-1.schema.ts +959 -0
  138. package/src/blocks/navbar/navbar-1.tsx +384 -0
  139. package/src/blocks/navbar/navbar-2.schema.ts +1224 -0
  140. package/src/blocks/navbar/navbar-2.tsx +403 -0
  141. package/src/blocks/navbar/navbar-3.schema.ts +6834 -0
  142. package/src/blocks/navbar/navbar-3.tsx +551 -0
  143. package/src/blocks/pricing/pricing-1.schema.ts +988 -0
  144. package/src/blocks/pricing/pricing-1.tsx +88 -0
  145. package/src/blocks/products/products-listing-1.schema.ts +271 -0
  146. package/src/blocks/products/products-listing-1.tsx +48 -0
  147. package/src/blocks/profile/profile-1.schema.ts +399 -0
  148. package/src/blocks/profile/profile-1.tsx +64 -0
  149. package/src/blocks/stats/stats-1.schema.ts +262 -0
  150. package/src/blocks/stats/stats-1.tsx +38 -0
  151. package/src/blocks/stats/stats-2.schema.ts +111 -0
  152. package/src/blocks/stats/stats-2.tsx +52 -0
  153. package/src/blocks/stats/variants/default.ts +189 -0
  154. package/src/blocks/stats/variants/hero.ts +142 -0
  155. package/{dist/blocks/stats/variants/index.js → src/blocks/stats/variants/index.ts} +1 -0
  156. package/src/blocks/team/team-1.schema.ts +544 -0
  157. package/src/blocks/team/team-1.tsx +86 -0
  158. package/src/blocks/team/team-2.schema.ts +2742 -0
  159. package/src/blocks/team/team-2.tsx +74 -0
  160. package/src/blocks/team/team-3.schema.ts +690 -0
  161. package/src/blocks/team/team-3.tsx +103 -0
  162. package/src/blocks/team/team-4.schema.ts +551 -0
  163. package/src/blocks/team/team-4.tsx +59 -0
  164. package/src/blocks/termsAndPrivacy/terms-and-conditions-1.schema.ts +158 -0
  165. package/src/blocks/termsAndPrivacy/terms-and-conditions-1.tsx +29 -0
  166. package/src/blocks/testimonial/testimonial-1.schema.ts +351 -0
  167. package/src/blocks/testimonial/testimonial-1.tsx +79 -0
  168. package/src/blocks/testimonial/testimonial-2.schema.ts +816 -0
  169. package/src/blocks/testimonial/testimonial-2.tsx +161 -0
  170. package/src/blocks/testimonial/testimonial-3.schema.ts +273 -0
  171. package/src/blocks/testimonial/testimonial-3.tsx +128 -0
  172. package/src/blocks/testimonial/testimonial-4.schema.ts +3378 -0
  173. package/src/blocks/testimonial/testimonial-4.tsx +202 -0
  174. package/src/blocks/testimonial/testimonial-5/variants/default.ts +510 -0
  175. package/src/blocks/testimonial/testimonial-5/variants/index.ts +4 -0
  176. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithLogo.ts +887 -0
  177. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithRatings.ts +923 -0
  178. package/src/blocks/testimonial/testimonial-5.schema.ts +250 -0
  179. package/src/blocks/testimonial/testimonial-5.tsx +130 -0
  180. package/src/blocks/testimonial/testimonial-6.schema.ts +1672 -0
  181. package/src/blocks/testimonial/testimonial-6.tsx +178 -0
  182. package/{dist/index.js → src/index.ts} +5 -2
  183. package/{dist/schemas/blocks.js → src/schemas/blocks.ts} +97 -72
  184. package/src/schemas/categories.ts +140 -0
  185. package/src/styles.d.ts +4 -0
  186. package/dist/blocks/about-us/about-us-1.d.ts +0 -5
  187. package/dist/blocks/about-us/about-us-1.js +0 -5
  188. package/dist/blocks/about-us/about-us-1.schema.d.ts +0 -38
  189. package/dist/blocks/about-us/about-us-1.schema.js +0 -537
  190. package/dist/blocks/blogs/blog-listing-1.d.ts +0 -5
  191. package/dist/blocks/blogs/blog-listing-1.js +0 -12
  192. package/dist/blocks/blogs/blog-listing-1.schema.d.ts +0 -59
  193. package/dist/blocks/blogs/blog-listing-1.schema.js +0 -387
  194. package/dist/blocks/blogs/blog-listing-2.d.ts +0 -5
  195. package/dist/blocks/blogs/blog-listing-2.js +0 -9
  196. package/dist/blocks/blogs/blog-listing-2.schema.d.ts +0 -104
  197. package/dist/blocks/blogs/blog-listing-2.schema.js +0 -572
  198. package/dist/blocks/blogs/blog-post-1.d.ts +0 -6
  199. package/dist/blocks/blogs/blog-post-1.js +0 -8
  200. package/dist/blocks/blogs/blog-post-1.schema.d.ts +0 -48
  201. package/dist/blocks/blogs/blog-post-1.schema.js +0 -358
  202. package/dist/blocks/blogs/blog-post-2.d.ts +0 -6
  203. package/dist/blocks/blogs/blog-post-2.js +0 -8
  204. package/dist/blocks/blogs/blog-post-2.schema.d.ts +0 -74
  205. package/dist/blocks/blogs/blog-post-2.schema.js +0 -779
  206. package/dist/blocks/cards/cards-10.d.ts +0 -6
  207. package/dist/blocks/cards/cards-10.js +0 -4
  208. package/dist/blocks/cards/cards-10.schema.d.ts +0 -44
  209. package/dist/blocks/cards/cards-10.schema.js +0 -405
  210. package/dist/blocks/cards/cards-11.d.ts +0 -6
  211. package/dist/blocks/cards/cards-11.js +0 -4
  212. package/dist/blocks/cards/cards-11.schema.d.ts +0 -58
  213. package/dist/blocks/cards/cards-11.schema.js +0 -406
  214. package/dist/blocks/cards/cards-12.d.ts +0 -6
  215. package/dist/blocks/cards/cards-12.js +0 -4
  216. package/dist/blocks/cards/cards-12.schema.d.ts +0 -38
  217. package/dist/blocks/cards/cards-12.schema.js +0 -545
  218. package/dist/blocks/cards/cards-2.d.ts +0 -5
  219. package/dist/blocks/cards/cards-2.js +0 -4
  220. package/dist/blocks/cards/cards-2.schema.d.ts +0 -46
  221. package/dist/blocks/cards/cards-2.schema.js +0 -260
  222. package/dist/blocks/cards/cards-3.d.ts +0 -6
  223. package/dist/blocks/cards/cards-3.js +0 -5
  224. package/dist/blocks/cards/cards-3.schema.d.ts +0 -36
  225. package/dist/blocks/cards/cards-3.schema.js +0 -351
  226. package/dist/blocks/cards/cards-4.d.ts +0 -6
  227. package/dist/blocks/cards/cards-4.js +0 -4
  228. package/dist/blocks/cards/cards-4.schema.d.ts +0 -40
  229. package/dist/blocks/cards/cards-4.schema.js +0 -648
  230. package/dist/blocks/cards/cards-5.d.ts +0 -5
  231. package/dist/blocks/cards/cards-5.js +0 -4
  232. package/dist/blocks/cards/cards-5.schema.d.ts +0 -48
  233. package/dist/blocks/cards/cards-5.schema.js +0 -238
  234. package/dist/blocks/cards/cards-6.d.ts +0 -5
  235. package/dist/blocks/cards/cards-6.js +0 -45
  236. package/dist/blocks/cards/cards-6.schema.d.ts +0 -50
  237. package/dist/blocks/cards/cards-6.schema.js +0 -608
  238. package/dist/blocks/cards/cards-7.d.ts +0 -5
  239. package/dist/blocks/cards/cards-7.js +0 -45
  240. package/dist/blocks/cards/cards-7.schema.d.ts +0 -87
  241. package/dist/blocks/cards/cards-7.schema.js +0 -1732
  242. package/dist/blocks/cards/cards-8.d.ts +0 -6
  243. package/dist/blocks/cards/cards-8.js +0 -4
  244. package/dist/blocks/cards/cards-8.schema.d.ts +0 -40
  245. package/dist/blocks/cards/cards-8.schema.js +0 -660
  246. package/dist/blocks/cards/cards-9.d.ts +0 -5
  247. package/dist/blocks/cards/cards-9.js +0 -4
  248. package/dist/blocks/cards/cards-9.schema.d.ts +0 -55
  249. package/dist/blocks/cards/cards-9.schema.js +0 -798
  250. package/dist/blocks/carousel/carousel-1.d.ts +0 -5
  251. package/dist/blocks/carousel/carousel-1.js +0 -12
  252. package/dist/blocks/carousel/carousel-1.schema.d.ts +0 -51
  253. package/dist/blocks/carousel/carousel-1.schema.js +0 -236
  254. package/dist/blocks/contact-us/contact-us-1.d.ts +0 -5
  255. package/dist/blocks/contact-us/contact-us-1.js +0 -4
  256. package/dist/blocks/contact-us/contact-us-1.schema.d.ts +0 -31
  257. package/dist/blocks/contact-us/contact-us-1.schema.js +0 -202
  258. package/dist/blocks/contact-us/contact-us-2.d.ts +0 -5
  259. package/dist/blocks/contact-us/contact-us-2.js +0 -4
  260. package/dist/blocks/contact-us/contact-us-2.schema.d.ts +0 -59
  261. package/dist/blocks/contact-us/contact-us-2.schema.js +0 -512
  262. package/dist/blocks/content/content-1.d.ts +0 -6
  263. package/dist/blocks/content/content-1.js +0 -4
  264. package/dist/blocks/content/content-1.schema.d.ts +0 -56
  265. package/dist/blocks/content/content-1.schema.js +0 -807
  266. package/dist/blocks/content/content-2.d.ts +0 -5
  267. package/dist/blocks/content/content-2.js +0 -4
  268. package/dist/blocks/content/content-2.schema.d.ts +0 -78
  269. package/dist/blocks/content/content-2.schema.js +0 -200
  270. package/dist/blocks/content/content-3.d.ts +0 -6
  271. package/dist/blocks/content/content-3.js +0 -5
  272. package/dist/blocks/content/content-3.schema.d.ts +0 -23
  273. package/dist/blocks/content/content-3.schema.js +0 -850
  274. package/dist/blocks/content/content-4.d.ts +0 -6
  275. package/dist/blocks/content/content-4.js +0 -6
  276. package/dist/blocks/content/content-4.schema.d.ts +0 -33
  277. package/dist/blocks/content/content-4.schema.js +0 -252
  278. package/dist/blocks/content/content-5.d.ts +0 -6
  279. package/dist/blocks/content/content-5.js +0 -5
  280. package/dist/blocks/content/content-5.schema.d.ts +0 -37
  281. package/dist/blocks/content/content-5.schema.js +0 -932
  282. package/dist/blocks/content/content-6.d.ts +0 -6
  283. package/dist/blocks/content/content-6.js +0 -5
  284. package/dist/blocks/content/content-6.schema.d.ts +0 -41
  285. package/dist/blocks/content/content-6.schema.js +0 -976
  286. package/dist/blocks/cta/cta-1.d.ts +0 -5
  287. package/dist/blocks/cta/cta-1.js +0 -4
  288. package/dist/blocks/cta/cta-1.schema.d.ts +0 -40
  289. package/dist/blocks/cta/cta-1.schema.js +0 -339
  290. package/dist/blocks/cta/cta-2.d.ts +0 -5
  291. package/dist/blocks/cta/cta-2.js +0 -4
  292. package/dist/blocks/cta/cta-2.schema.d.ts +0 -45
  293. package/dist/blocks/cta/cta-2.schema.js +0 -183
  294. package/dist/blocks/cta/cta-3.d.ts +0 -5
  295. package/dist/blocks/cta/cta-3.js +0 -4
  296. package/dist/blocks/cta/cta-3.schema.d.ts +0 -34
  297. package/dist/blocks/cta/cta-3.schema.js +0 -137
  298. package/dist/blocks/embed/embed-1.d.ts +0 -5
  299. package/dist/blocks/embed/embed-1.js +0 -5
  300. package/dist/blocks/embed/embed-1.schema.d.ts +0 -13
  301. package/dist/blocks/embed/embed-1.schema.js +0 -146
  302. package/dist/blocks/event/event-details.d.ts +0 -5
  303. package/dist/blocks/event/event-details.js +0 -9
  304. package/dist/blocks/event/event-details.schema.d.ts +0 -112
  305. package/dist/blocks/event/event-details.schema.js +0 -685
  306. package/dist/blocks/event/event-listing-2.d.ts +0 -5
  307. package/dist/blocks/event/event-listing-2.js +0 -4
  308. package/dist/blocks/event/event-listing-2.schema.d.ts +0 -84
  309. package/dist/blocks/event/event-listing-2.schema.js +0 -455
  310. package/dist/blocks/event/event-listing-3.d.ts +0 -5
  311. package/dist/blocks/event/event-listing-3.js +0 -10
  312. package/dist/blocks/event/event-listing-3.schema.d.ts +0 -77
  313. package/dist/blocks/event/event-listing-3.schema.js +0 -570
  314. package/dist/blocks/event/event-listing.d.ts +0 -5
  315. package/dist/blocks/event/event-listing.js +0 -10
  316. package/dist/blocks/event/event-listing.schema.d.ts +0 -51
  317. package/dist/blocks/event/event-listing.schema.js +0 -1297
  318. package/dist/blocks/faq/faq-1.d.ts +0 -5
  319. package/dist/blocks/faq/faq-1.js +0 -4
  320. package/dist/blocks/faq/faq-1.schema.d.ts +0 -47
  321. package/dist/blocks/faq/faq-1.schema.js +0 -325
  322. package/dist/blocks/faq/faq-2.d.ts +0 -6
  323. package/dist/blocks/faq/faq-2.js +0 -19
  324. package/dist/blocks/faq/faq-2.schema.d.ts +0 -47
  325. package/dist/blocks/faq/faq-2.schema.js +0 -329
  326. package/dist/blocks/faq/faq-3.d.ts +0 -5
  327. package/dist/blocks/faq/faq-3.js +0 -4
  328. package/dist/blocks/faq/faq-3.schema.d.ts +0 -40
  329. package/dist/blocks/faq/faq-3.schema.js +0 -444
  330. package/dist/blocks/features/features-1/features-1.d.ts +0 -5
  331. package/dist/blocks/features/features-1/features-1.js +0 -4
  332. package/dist/blocks/features/features-1/features-1.schema.d.ts +0 -5
  333. package/dist/blocks/features/features-1/features-1.schema.js +0 -142
  334. package/dist/blocks/features/features-1/variants/default.d.ts +0 -37
  335. package/dist/blocks/features/features-1/variants/default.js +0 -185
  336. package/dist/blocks/features/features-1/variants/index.d.ts +0 -5
  337. package/dist/blocks/features/features-1/variants/stylized-cards-v1.d.ts +0 -3
  338. package/dist/blocks/features/features-1/variants/stylized-cards-v1.js +0 -132
  339. package/dist/blocks/features/features-1/variants/stylized-cards-v2.d.ts +0 -3
  340. package/dist/blocks/features/features-1/variants/stylized-cards-v2.js +0 -484
  341. package/dist/blocks/features/features-2.d.ts +0 -5
  342. package/dist/blocks/features/features-2.js +0 -8
  343. package/dist/blocks/features/features-2.schema.d.ts +0 -41
  344. package/dist/blocks/features/features-2.schema.js +0 -321
  345. package/dist/blocks/features/features-3.d.ts +0 -5
  346. package/dist/blocks/features/features-3.js +0 -4
  347. package/dist/blocks/features/features-3.schema.d.ts +0 -40
  348. package/dist/blocks/features/features-3.schema.js +0 -424
  349. package/dist/blocks/features/features-4.d.ts +0 -5
  350. package/dist/blocks/features/features-4.js +0 -4
  351. package/dist/blocks/features/features-4.schema.d.ts +0 -60
  352. package/dist/blocks/features/features-4.schema.js +0 -594
  353. package/dist/blocks/features/features-5.d.ts +0 -6
  354. package/dist/blocks/features/features-5.js +0 -5
  355. package/dist/blocks/features/features-5.schema.d.ts +0 -28
  356. package/dist/blocks/features/features-5.schema.js +0 -727
  357. package/dist/blocks/features/features-6.d.ts +0 -5
  358. package/dist/blocks/features/features-6.js +0 -31
  359. package/dist/blocks/features/features-6.schema.d.ts +0 -74
  360. package/dist/blocks/features/features-6.schema.js +0 -814
  361. package/dist/blocks/footer/footer-1.d.ts +0 -6
  362. package/dist/blocks/footer/footer-1.js +0 -5
  363. package/dist/blocks/footer/footer-1.schema.d.ts +0 -62
  364. package/dist/blocks/footer/footer-1.schema.js +0 -565
  365. package/dist/blocks/footer/footer-2.d.ts +0 -5
  366. package/dist/blocks/footer/footer-2.js +0 -4
  367. package/dist/blocks/footer/footer-2.schema.d.ts +0 -76
  368. package/dist/blocks/footer/footer-2.schema.js +0 -876
  369. package/dist/blocks/footer/footer-3.d.ts +0 -6
  370. package/dist/blocks/footer/footer-3.js +0 -15
  371. package/dist/blocks/footer/footer-3.schema.d.ts +0 -48
  372. package/dist/blocks/footer/footer-3.schema.js +0 -475
  373. package/dist/blocks/footer/footer-4.d.ts +0 -6
  374. package/dist/blocks/footer/footer-4.js +0 -5
  375. package/dist/blocks/footer/footer-4.schema.d.ts +0 -71
  376. package/dist/blocks/footer/footer-4.schema.js +0 -620
  377. package/dist/blocks/footer/footer-5.d.ts +0 -6
  378. package/dist/blocks/footer/footer-5.js +0 -5
  379. package/dist/blocks/footer/footer-5.schema.d.ts +0 -52
  380. package/dist/blocks/footer/footer-5.schema.js +0 -400
  381. package/dist/blocks/hero/hero-1.d.ts +0 -5
  382. package/dist/blocks/hero/hero-1.js +0 -4
  383. package/dist/blocks/hero/hero-1.schema.d.ts +0 -35
  384. package/dist/blocks/hero/hero-1.schema.js +0 -742
  385. package/dist/blocks/hero/hero-2.d.ts +0 -5
  386. package/dist/blocks/hero/hero-2.js +0 -4
  387. package/dist/blocks/hero/hero-2.schema.d.ts +0 -46
  388. package/dist/blocks/hero/hero-2.schema.js +0 -282
  389. package/dist/blocks/hero/hero-3.d.ts +0 -5
  390. package/dist/blocks/hero/hero-3.js +0 -4
  391. package/dist/blocks/hero/hero-3.schema.d.ts +0 -54
  392. package/dist/blocks/hero/hero-3.schema.js +0 -378
  393. package/dist/blocks/hero/hero-4.d.ts +0 -5
  394. package/dist/blocks/hero/hero-4.js +0 -30
  395. package/dist/blocks/hero/hero-4.schema.d.ts +0 -33
  396. package/dist/blocks/hero/hero-4.schema.js +0 -316
  397. package/dist/blocks/hero/hero-5.d.ts +0 -5
  398. package/dist/blocks/hero/hero-5.js +0 -30
  399. package/dist/blocks/hero/hero-5.schema.d.ts +0 -32
  400. package/dist/blocks/hero/hero-5.schema.js +0 -183
  401. package/dist/blocks/hero/hero-6.d.ts +0 -5
  402. package/dist/blocks/hero/hero-6.js +0 -8
  403. package/dist/blocks/hero/hero-6.schema.d.ts +0 -36
  404. package/dist/blocks/hero/hero-6.schema.js +0 -617
  405. package/dist/blocks/hero/hero-7.d.ts +0 -5
  406. package/dist/blocks/hero/hero-7.js +0 -40
  407. package/dist/blocks/hero/hero-7.schema.d.ts +0 -12
  408. package/dist/blocks/hero/hero-7.schema.js +0 -471
  409. package/dist/blocks/hero/hero-8.d.ts +0 -5
  410. package/dist/blocks/hero/hero-8.js +0 -39
  411. package/dist/blocks/hero/hero-8.schema.d.ts +0 -17
  412. package/dist/blocks/hero/hero-8.schema.js +0 -343
  413. package/dist/blocks/hero/hero-9.d.ts +0 -6
  414. package/dist/blocks/hero/hero-9.js +0 -4
  415. package/dist/blocks/hero/hero-9.schema.d.ts +0 -39
  416. package/dist/blocks/hero/hero-9.schema.js +0 -355
  417. package/dist/blocks/index.d.ts +0 -3
  418. package/dist/blocks/index.js +0 -74
  419. package/dist/blocks/logos/logos-1.d.ts +0 -5
  420. package/dist/blocks/logos/logos-1.js +0 -10
  421. package/dist/blocks/logos/logos-1.schema.d.ts +0 -34
  422. package/dist/blocks/logos/logos-1.schema.js +0 -239
  423. package/dist/blocks/navbar/navbar-1.d.ts +0 -6
  424. package/dist/blocks/navbar/navbar-1.js +0 -100
  425. package/dist/blocks/navbar/navbar-1.schema.d.ts +0 -117
  426. package/dist/blocks/navbar/navbar-1.schema.js +0 -938
  427. package/dist/blocks/navbar/navbar-2.d.ts +0 -6
  428. package/dist/blocks/navbar/navbar-2.js +0 -99
  429. package/dist/blocks/navbar/navbar-2.schema.d.ts +0 -134
  430. package/dist/blocks/navbar/navbar-2.schema.js +0 -1200
  431. package/dist/blocks/pricing/pricing-1.d.ts +0 -5
  432. package/dist/blocks/pricing/pricing-1.js +0 -4
  433. package/dist/blocks/pricing/pricing-1.schema.d.ts +0 -87
  434. package/dist/blocks/pricing/pricing-1.schema.js +0 -976
  435. package/dist/blocks/products/products-listing-1.d.ts +0 -5
  436. package/dist/blocks/products/products-listing-1.js +0 -4
  437. package/dist/blocks/products/products-listing-1.schema.d.ts +0 -36
  438. package/dist/blocks/products/products-listing-1.schema.js +0 -264
  439. package/dist/blocks/stats/stats-1.d.ts +0 -6
  440. package/dist/blocks/stats/stats-1.js +0 -6
  441. package/dist/blocks/stats/stats-1.schema.d.ts +0 -25
  442. package/dist/blocks/stats/stats-1.schema.js +0 -213
  443. package/dist/blocks/stats/stats-2.d.ts +0 -6
  444. package/dist/blocks/stats/stats-2.js +0 -6
  445. package/dist/blocks/stats/stats-2.schema.d.ts +0 -5
  446. package/dist/blocks/stats/stats-2.schema.js +0 -104
  447. package/dist/blocks/stats/variants/default.d.ts +0 -22
  448. package/dist/blocks/stats/variants/default.js +0 -185
  449. package/dist/blocks/stats/variants/hero.d.ts +0 -3
  450. package/dist/blocks/stats/variants/hero.js +0 -151
  451. package/dist/blocks/stats/variants/index.d.ts +0 -4
  452. package/dist/blocks/team/team-1.d.ts +0 -6
  453. package/dist/blocks/team/team-1.js +0 -6
  454. package/dist/blocks/team/team-1.schema.d.ts +0 -65
  455. package/dist/blocks/team/team-1.schema.js +0 -476
  456. package/dist/blocks/team/team-2.d.ts +0 -6
  457. package/dist/blocks/team/team-2.js +0 -6
  458. package/dist/blocks/team/team-2.schema.d.ts +0 -52
  459. package/dist/blocks/team/team-2.schema.js +0 -2732
  460. package/dist/blocks/team/team-3.d.ts +0 -5
  461. package/dist/blocks/team/team-3.js +0 -30
  462. package/dist/blocks/team/team-3.schema.d.ts +0 -32
  463. package/dist/blocks/team/team-3.schema.js +0 -679
  464. package/dist/blocks/termsAndPrivacy/terms-and-conditions-1.d.ts +0 -6
  465. package/dist/blocks/termsAndPrivacy/terms-and-conditions-1.js +0 -4
  466. package/dist/blocks/termsAndPrivacy/terms-and-conditions-1.schema.d.ts +0 -14
  467. package/dist/blocks/termsAndPrivacy/terms-and-conditions-1.schema.js +0 -154
  468. package/dist/blocks/testimonial/testimonial-1.d.ts +0 -5
  469. package/dist/blocks/testimonial/testimonial-1.js +0 -10
  470. package/dist/blocks/testimonial/testimonial-1.schema.d.ts +0 -16
  471. package/dist/blocks/testimonial/testimonial-1.schema.js +0 -314
  472. package/dist/blocks/testimonial/testimonial-2.d.ts +0 -5
  473. package/dist/blocks/testimonial/testimonial-2.js +0 -42
  474. package/dist/blocks/testimonial/testimonial-2.schema.d.ts +0 -54
  475. package/dist/blocks/testimonial/testimonial-2.schema.js +0 -771
  476. package/dist/blocks/testimonial/testimonial-3.d.ts +0 -5
  477. package/dist/blocks/testimonial/testimonial-3.js +0 -38
  478. package/dist/blocks/testimonial/testimonial-3.schema.d.ts +0 -56
  479. package/dist/blocks/testimonial/testimonial-3.schema.js +0 -260
  480. package/dist/blocks/testimonial/testimonial-4.d.ts +0 -5
  481. package/dist/blocks/testimonial/testimonial-4.js +0 -51
  482. package/dist/blocks/testimonial/testimonial-4.schema.d.ts +0 -145
  483. package/dist/blocks/testimonial/testimonial-4.schema.js +0 -3214
  484. package/dist/blocks/testimonial/testimonial-5.d.ts +0 -5
  485. package/dist/blocks/testimonial/testimonial-5.js +0 -31
  486. package/dist/blocks/testimonial/testimonial-5.schema.d.ts +0 -33
  487. package/dist/blocks/testimonial/testimonial-5.schema.js +0 -401
  488. package/dist/blocks/testimonial/testimonial-6.d.ts +0 -5
  489. package/dist/blocks/testimonial/testimonial-6.js +0 -39
  490. package/dist/blocks/testimonial/testimonial-6.schema.d.ts +0 -60
  491. package/dist/blocks/testimonial/testimonial-6.schema.js +0 -695
  492. package/dist/blocks.d.ts +0 -3
  493. package/dist/blocks.js +0 -74
  494. package/dist/index.d.ts +0 -6
  495. package/dist/schemas/blocks.d.ts +0 -3
  496. package/dist/schemas/categories.d.ts +0 -3
  497. package/dist/schemas/categories.js +0 -129
  498. package/dist/schemas/index.d.ts +0 -3
  499. package/dist/schemas.d.ts +0 -3
  500. package/dist/schemas.js +0 -2
  501. /package/{dist/schemas/index.js → src/schemas/index.ts} +0 -0
@@ -0,0 +1,77 @@
1
+ import {
2
+ Box,
3
+ Container,
4
+ Icon,
5
+ Image,
6
+ Section,
7
+ Typography,
8
+ type ILevoBlockBaseProps,
9
+ } from "@levo-so/studio";
10
+
11
+ import { type IFooter2Content } from "./footer-2.schema";
12
+
13
+ const Footer2: React.FC<ILevoBlockBaseProps<IFooter2Content>> = ({
14
+ content,
15
+ }) => (
16
+ <Section elementKey="layout">
17
+ <Container elementKey="container">
18
+ <Box elementKey="contentWrapper">
19
+ <Box elementKey="logoTextWrapper">
20
+ <Image elementKey="logo" height={26} width={26} alt="footer-logo" />
21
+ <Typography elementKey="logoDescription" />
22
+ <Typography elementKey="copyright" />
23
+ </Box>
24
+ <Box data-levo_group elementKey="links_levoGroup">
25
+ {(content?.links ?? [])?.map((link: any, index: number) => (
26
+ <Box
27
+ elementKey={`links.${index}.links`}
28
+ key={`footer-2-links-${index}`}
29
+ data-levo_group_item
30
+ >
31
+ <Typography elementKey={`links.${index}.category`} />
32
+ <Box
33
+ elementKey={`links.${index}.links_levoGroup`}
34
+ data-levo_group
35
+ >
36
+ {(link?.links ?? [])?.map((subLink: any, subIndex: number) => (
37
+ <Box
38
+ elementKey={`links.${index}.links.${subIndex}.wrapper`}
39
+ key={`footer-2-links-${index}-${subIndex}`}
40
+ data-levo_group_item
41
+ >
42
+ <Icon
43
+ elementKey={`links.${index}.links.${subIndex}.icon`}
44
+ />
45
+ <Typography
46
+ elementKey={`links.${index}.links.${subIndex}.cta`}
47
+ />
48
+ <Box
49
+ data-levo_group
50
+ elementKey={`links.${index}.links.${subIndex}.icon_links_levoGroup`}
51
+ >
52
+ {(subLink?.icon_links ?? []).map(
53
+ (_: unknown, linkIndex: number) => (
54
+ <Box
55
+ data-levo_group_item
56
+ elementKey={`links.${index}.links.${subIndex}.icon_links.${linkIndex}.wrapper`}
57
+ key={`footer-2-icon-links-${index}-${subIndex}-${linkIndex}`}
58
+ >
59
+ <Icon
60
+ elementKey={`links.${index}.links.${subIndex}.icon_links.${linkIndex}.icon`}
61
+ />
62
+ </Box>
63
+ ),
64
+ )}
65
+ </Box>
66
+ </Box>
67
+ ))}
68
+ </Box>
69
+ </Box>
70
+ ))}
71
+ </Box>
72
+ </Box>
73
+ </Container>
74
+ </Section>
75
+ );
76
+
77
+ export default Footer2;
@@ -0,0 +1,412 @@
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
+ mainFooterWrapper: null,
18
+
19
+ // All sections unified under links array (like Footer2)
20
+ links: [
21
+ {
22
+ category: "Real Estate Services",
23
+ links: [
24
+ { text: "Property Development" },
25
+ { text: "Investment Advisory" },
26
+ { text: "Land Acquisition" },
27
+ { text: "Urban Planning" },
28
+ { text: "Property Management" },
29
+ { text: "Smart Infrastructure" },
30
+ ],
31
+ },
32
+ {
33
+ category: "Company",
34
+ links: [
35
+ { text: "About Us" },
36
+ { text: "Leadership" },
37
+ { text: "Careers" },
38
+ { text: "Contact" },
39
+ ],
40
+ },
41
+ {
42
+ category: "Resources",
43
+ links: [
44
+ { text: "Blog" },
45
+ { text: "Market Reports" },
46
+ { text: "Case Studies" },
47
+ { text: "FAQs" },
48
+ { text: "Help Center" },
49
+ ],
50
+ },
51
+ {
52
+ category: "Contact Us",
53
+ links: [
54
+ {
55
+ contactWrapper: null,
56
+ icon: DUMMY_ICON,
57
+ text: "(555) 123-4567",
58
+ },
59
+ {
60
+ contactWrapper: null,
61
+ icon: DUMMY_ICON,
62
+ text: "info@dreamscape.com",
63
+ },
64
+ {
65
+ contactWrapper: null,
66
+ icon: DUMMY_ICON,
67
+ text: "120, Part Avenue, New York, NY 213232, USA",
68
+ },
69
+ ],
70
+ },
71
+ ],
72
+
73
+ // Bottom section
74
+ bottomSection: null,
75
+ copyright: "Copyright © 2025",
76
+ bottomLinks: [
77
+ { text: "Privacy", separator: null },
78
+ { text: "Terms", separator: null },
79
+ { text: "Cookie", separator: null },
80
+ { text: "Security", separator: null },
81
+ { text: "Status", separator: null },
82
+ ],
83
+
84
+ // Social icons
85
+ socialIcons: [
86
+ {
87
+ icon: DUMMY_ICON,
88
+ },
89
+ {
90
+ icon: DUMMY_ICON,
91
+ },
92
+ {
93
+ icon: DUMMY_ICON,
94
+ },
95
+ {
96
+ icon: DUMMY_ICON,
97
+ },
98
+ ],
99
+ };
100
+
101
+ export type IFooter3Content = typeof DEFAULT_CONTENT;
102
+
103
+ const DEFAULT_LAYOUT_LINKS_STYLE = {
104
+ category: {
105
+ "font-weight": "600",
106
+ color: "text-1",
107
+ "margin-bottom": "xs",
108
+ },
109
+ links_levoGroup: {
110
+ display: "flex",
111
+ "flex-direction": "column",
112
+ "row-gap": "xs",
113
+ },
114
+ links: Array(6)
115
+ .fill(0)
116
+ .map(() => {
117
+ return {
118
+ text: {
119
+ mobile: {
120
+ "font-size": "sm",
121
+ },
122
+ },
123
+ };
124
+ }),
125
+ };
126
+
127
+ const DEFAULT_LAYOUT_LINKS_STYLES = Array(3)
128
+ .fill(0)
129
+ .map(() => {
130
+ return DEFAULT_LAYOUT_LINKS_STYLE;
131
+ });
132
+
133
+ export const Footer3: IBlock = {
134
+ category_id: "footer",
135
+ title: "Footer 3",
136
+ key: "footer-3",
137
+ version: "v1",
138
+ prompt_description:
139
+ "Professional footer with company info, service links, and contact details",
140
+ content_schema: [
141
+ {
142
+ key: "layout",
143
+ label: "Layout",
144
+ field_interface: "LayoutWidget",
145
+ },
146
+ {
147
+ key: "container",
148
+ label: "Container",
149
+ field_interface: "ContainerWidget",
150
+ },
151
+ {
152
+ key: "mainFooterWrapper",
153
+ label: "Main Footer Wrapper",
154
+ field_interface: "BoxWidget",
155
+ },
156
+
157
+ // Unified links structure (like Footer2)
158
+ {
159
+ key: "links",
160
+ label: "Links Sections",
161
+ field_interface: "BoxWidget",
162
+ kind: "group",
163
+ fields: [
164
+ {
165
+ key: "category",
166
+ label: "Section Title",
167
+ field_interface: "TypographyWidget",
168
+ },
169
+ {
170
+ key: "links",
171
+ label: "Links",
172
+ field_interface: "BoxWidget",
173
+ kind: "group",
174
+ fields: [
175
+ {
176
+ key: "text",
177
+ label: "Link Text",
178
+ field_interface: "TypographyWidget",
179
+ },
180
+ {
181
+ key: "contactWrapper",
182
+ label: "Contact Item Wrapper",
183
+ field_interface: "BoxWidget",
184
+ },
185
+ {
186
+ key: "icon",
187
+ label: "Contact Icon",
188
+ field_interface: "IconWidget",
189
+ },
190
+ ],
191
+ },
192
+ ],
193
+ },
194
+ {
195
+ key: "bottomSection",
196
+ label: "Bottom Section",
197
+ field_interface: "BoxWidget",
198
+ },
199
+ {
200
+ key: "copyright",
201
+ label: "Copyright Text",
202
+ field_interface: "TypographyWidget",
203
+ },
204
+ {
205
+ key: "bottomLinks",
206
+ label: "Bottom Links",
207
+ field_interface: "BoxWidget",
208
+ kind: "group",
209
+ fields: [
210
+ {
211
+ key: "text",
212
+ label: "Link Text",
213
+ field_interface: "TypographyWidget",
214
+ },
215
+ {
216
+ key: "separator",
217
+ label: "Separator",
218
+ field_interface: "BoxWidget",
219
+ },
220
+ ],
221
+ },
222
+ {
223
+ key: "socialIcons",
224
+ label: "Social Icons",
225
+ field_interface: "BoxWidget",
226
+ kind: "group",
227
+ fields: [
228
+ {
229
+ key: "icon",
230
+ label: "Social Icon",
231
+ field_interface: "IconWidget",
232
+ },
233
+ ],
234
+ },
235
+ ],
236
+ layouts: [
237
+ {
238
+ title: "Default",
239
+ key: "default",
240
+ content: DEFAULT_CONTENT,
241
+ config: {
242
+ links: Array(4)
243
+ .fill(0)
244
+ .map(() => ({
245
+ category: {
246
+ selectedVariants: {
247
+ Typography_Variants: "Large",
248
+ },
249
+ },
250
+ links: Array(6)
251
+ .fill(0)
252
+ .map(() => {
253
+ return {
254
+ text: {
255
+ selectedVariants: {
256
+ Typography_Variants: "Body",
257
+ },
258
+ },
259
+ };
260
+ }),
261
+ })),
262
+ },
263
+ styles: {
264
+ container: {
265
+ "padding-top": "10xl",
266
+ "padding-bottom": "10xl",
267
+ mobile: {
268
+ "padding-top": "5xl",
269
+ "padding-bottom": "5xl",
270
+ },
271
+ },
272
+ mainFooterWrapper: {
273
+ display: "flex",
274
+ "grid-template-columns": "repeat(4, minmax(0, 1fr))",
275
+ "column-gap": "2xl",
276
+ "row-gap": "xl",
277
+ "margin-bottom": "none",
278
+ "padding-bottom": "2xl",
279
+ "border-bottom-width": "1px",
280
+ "border-color": "border",
281
+ tablet: {
282
+ "grid-template-columns": "repeat(2, minmax(0, 1fr))",
283
+ filter: "none",
284
+ },
285
+ mobile: {
286
+ "grid-template-columns": "repeat(1, minmax(0, 1fr))",
287
+ filter: "none",
288
+ "flex-direction": "column",
289
+ },
290
+ filter: "none",
291
+ width: "100%",
292
+ "align-items": "start",
293
+ "justify-content": "space-between",
294
+ },
295
+ links_levoGroup: {
296
+ display: "flex",
297
+ "column-gap": "2xl",
298
+ "row-gap": "xl",
299
+ tablet: {
300
+ filter: "none",
301
+ "flex-direction": "column",
302
+ display: "flex",
303
+ "justify-content": "start",
304
+ "align-items": "start",
305
+ },
306
+ mobile: {
307
+ filter: "none",
308
+ "flex-direction": "column",
309
+ width: "100%",
310
+ },
311
+ filter: "none",
312
+ "justify-content": "space-between",
313
+ "align-items": "start",
314
+ width: "100%",
315
+ },
316
+ links: [
317
+ ...DEFAULT_LAYOUT_LINKS_STYLES,
318
+ {
319
+ category: DEFAULT_LAYOUT_LINKS_STYLE.category,
320
+ links_levoGroup: DEFAULT_LAYOUT_LINKS_STYLE.links_levoGroup,
321
+ links: Array(3)
322
+ .fill(0)
323
+ .map((_, index) => {
324
+ return {
325
+ contactWrapper: {
326
+ display: "flex",
327
+ "align-items": "center",
328
+ "column-gap": "xs",
329
+ ...(index === 2
330
+ ? { "flex-shrink": "0", width: "100%" }
331
+ : {}),
332
+ },
333
+ icon: {
334
+ "object-fit": "contain",
335
+ "flex-shrink": "0",
336
+ filter: "none",
337
+ width: "20px",
338
+ height: "20px",
339
+ },
340
+ text: {
341
+ mobile: {
342
+ "font-size": "sm",
343
+ },
344
+ ...(index === 2 ? { "max-width": "250px" } : {}),
345
+ },
346
+ };
347
+ }),
348
+ },
349
+ ],
350
+ bottomSection: {
351
+ display: "flex",
352
+ "justify-content": "space-between",
353
+ "align-items": "center",
354
+ "flex-wrap": "wrap",
355
+ "row-gap": "base",
356
+ mobile: {
357
+ "flex-direction": "column",
358
+ "align-items": "center",
359
+ filter: "none",
360
+ "justify-content": "center",
361
+ display: "flex",
362
+ },
363
+ filter: "none",
364
+ "margin-top": "base",
365
+ "margin-bottom": "none",
366
+ "padding-bottom": "base",
367
+ tablet: {
368
+ filter: "none",
369
+ "flex-direction": "column",
370
+ },
371
+ },
372
+ copyright: {
373
+ color: "text-2",
374
+ },
375
+ bottomLinks_levoGroup: {
376
+ display: "flex",
377
+ "align-items": "center",
378
+ "column-gap": "base",
379
+ "flex-wrap": "wrap",
380
+ mobile: {
381
+ filter: "none",
382
+ display: "flex",
383
+ "justify-content": "center",
384
+ "align-items": "center",
385
+ "row-gap": "md",
386
+ },
387
+ tablet: {
388
+ filter: "none",
389
+ },
390
+ },
391
+ "bottomLinks.$.text": {
392
+ color: "text-2",
393
+ },
394
+ "bottomLinks.$.separator": {
395
+ width: "1px",
396
+ height: "16px",
397
+ "background-color": "border",
398
+ },
399
+ socialIcons_levoGroup: {
400
+ display: "flex",
401
+ "align-items": "center",
402
+ "column-gap": "xs",
403
+ filter: "none",
404
+ },
405
+ "socialIcons.$.icon": {
406
+ "object-fit": "contain",
407
+ "border-radius": "base",
408
+ },
409
+ },
410
+ },
411
+ ],
412
+ };
@@ -0,0 +1,99 @@
1
+ import {
2
+ Box,
3
+ Container,
4
+ Icon,
5
+ Section,
6
+ Typography,
7
+ type ILevoBlockBaseProps,
8
+ } from "@levo-so/studio";
9
+ import React from "react";
10
+
11
+ import { type IFooter3Content } from "./footer-3.schema";
12
+
13
+ const Footer3: React.FC<ILevoBlockBaseProps<IFooter3Content>> = ({
14
+ content,
15
+ }) => (
16
+ <Section elementKey="layout">
17
+ <Container elementKey="container">
18
+ <Box elementKey="mainFooterWrapper">
19
+ <Box elementKey="links_levoGroup" data-levo_group>
20
+ {(content?.links ?? [])?.map((section, sectionIndex) => (
21
+ <Box
22
+ elementKey={`links.${sectionIndex}`}
23
+ key={`footer-3-section-${sectionIndex}`}
24
+ data-levo_group_item
25
+ >
26
+ <Typography elementKey={`links.${sectionIndex}.category`} />
27
+ <Box
28
+ elementKey={`links.${sectionIndex}.links_levoGroup`}
29
+ data-levo_group
30
+ >
31
+ {(section?.links ?? [])?.map((link, linkIndex) => {
32
+ // Check if this is a contact item (has icon and contactWrapper)
33
+ const isContactItem =
34
+ "icon" in link && "contactWrapper" in link;
35
+
36
+ if (isContactItem) {
37
+ return (
38
+ <Box
39
+ elementKey={`links.${sectionIndex}.links.${linkIndex}.contactWrapper`}
40
+ key={`footer-3-contact-${sectionIndex}-${linkIndex}`}
41
+ data-levo_group_item
42
+ >
43
+ <Icon
44
+ elementKey={`links.${sectionIndex}.links.${linkIndex}.icon`}
45
+ />
46
+ <Typography
47
+ elementKey={`links.${sectionIndex}.links.${linkIndex}.text`}
48
+ />
49
+ </Box>
50
+ );
51
+ } else {
52
+ // Regular link item
53
+ return (
54
+ <Typography
55
+ elementKey={`links.${sectionIndex}.links.${linkIndex}.text`}
56
+ key={`footer-3-link-${sectionIndex}-${linkIndex}`}
57
+ data-levo_group_item
58
+ />
59
+ );
60
+ }
61
+ })}
62
+ </Box>
63
+ </Box>
64
+ ))}
65
+ </Box>
66
+ </Box>
67
+ <Box elementKey="bottomSection">
68
+ <Typography elementKey="copyright" />
69
+ <Box elementKey="bottomLinks_levoGroup" data-levo_group>
70
+ {(content?.bottomLinks ?? [])?.map((_, index) => (
71
+ <React.Fragment key={`footer-3-bottom-${index}`}>
72
+ <Typography
73
+ data-levo_group_item
74
+ elementKey={`bottomLinks.${index}.text`}
75
+ />
76
+ {index < (content?.bottomLinks?.length ?? 0) - 1 && (
77
+ <Box
78
+ elementKey={`bottomLinks.${index}.separator`}
79
+ data-levo_group_item
80
+ />
81
+ )}
82
+ </React.Fragment>
83
+ ))}
84
+ </Box>
85
+ <Box elementKey="socialIcons_levoGroup" data-levo_group>
86
+ {(content?.socialIcons ?? [])?.map((_, index) => (
87
+ <Icon
88
+ key={`footer-3-social-${index}`}
89
+ data-levo_group_item
90
+ elementKey={`socialIcons.${index}.icon`}
91
+ />
92
+ ))}
93
+ </Box>
94
+ </Box>
95
+ </Container>
96
+ </Section>
97
+ );
98
+
99
+ export default Footer3;