@levo-so/blocks 0.1.59 → 0.1.61

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 (245) hide show
  1. package/package.json +6 -6
  2. package/src/blocks/about-us/about-us-1.schema.ts +60 -58
  3. package/src/blocks/about-us/about-us-1.tsx +2 -4
  4. package/src/blocks/about-us/about-us-2.schema.ts +165 -42
  5. package/src/blocks/about-us/about-us-2.tsx +7 -13
  6. package/src/blocks/blogs/blog-listing-1.schema.ts +7 -14
  7. package/src/blocks/blogs/blog-listing-1.tsx +27 -36
  8. package/src/blocks/blogs/blog-listing-2.schema.ts +17 -34
  9. package/src/blocks/blogs/blog-listing-2.tsx +21 -27
  10. package/src/blocks/blogs/blog-listing-3.schema.ts +32 -64
  11. package/src/blocks/blogs/blog-listing-3.tsx +21 -27
  12. package/src/blocks/blogs/blog-post-1.schema.ts +9 -18
  13. package/src/blocks/blogs/blog-post-1.tsx +3 -14
  14. package/src/blocks/calendar/calendar-1.schema.ts +351 -180
  15. package/src/blocks/calendar/calendar-1.tsx +60 -25
  16. package/src/blocks/cards/cards-10.schema.ts +278 -331
  17. package/src/blocks/cards/cards-10.tsx +18 -15
  18. package/src/blocks/cards/cards-11.schema.ts +178 -356
  19. package/src/blocks/cards/cards-11.tsx +5 -11
  20. package/src/blocks/cards/cards-12.schema.ts +110 -196
  21. package/src/blocks/cards/cards-12.tsx +4 -10
  22. package/src/blocks/cards/cards-13.schema.ts +131 -120
  23. package/src/blocks/cards/cards-13.tsx +4 -6
  24. package/src/blocks/cards/cards-14.schema.ts +51 -154
  25. package/src/blocks/cards/cards-14.tsx +5 -11
  26. package/src/blocks/cards/cards-15.schema.ts +48 -32
  27. package/src/blocks/cards/cards-15.tsx +15 -6
  28. package/src/blocks/cards/cards-2.schema.ts +76 -88
  29. package/src/blocks/cards/cards-2.tsx +12 -17
  30. package/src/blocks/cards/cards-3.schema.ts +68 -70
  31. package/src/blocks/cards/cards-3.tsx +7 -13
  32. package/src/blocks/cards/cards-4.schema.ts +160 -115
  33. package/src/blocks/cards/cards-4.tsx +22 -17
  34. package/src/blocks/cards/cards-5.schema.ts +76 -70
  35. package/src/blocks/cards/cards-5.tsx +10 -10
  36. package/src/blocks/cards/cards-6.schema.ts +755 -985
  37. package/src/blocks/cards/cards-6.tsx +17 -9
  38. package/src/blocks/cards/cards-7.schema.ts +754 -2250
  39. package/src/blocks/cards/cards-7.tsx +18 -24
  40. package/src/blocks/cards/cards-8.schema.ts +171 -363
  41. package/src/blocks/cards/cards-8.tsx +15 -8
  42. package/src/blocks/cards/cards-9.schema.ts +283 -329
  43. package/src/blocks/cards/cards-9.tsx +28 -12
  44. package/src/blocks/carousel/carousel-1.schema.ts +418 -49
  45. package/src/blocks/carousel/carousel-1.tsx +8 -8
  46. package/src/blocks/carousel/carousel-2.schema.ts +153 -127
  47. package/src/blocks/carousel/carousel-2.tsx +16 -20
  48. package/src/blocks/community/community-1.schema.ts +612 -0
  49. package/src/blocks/community/community-1.tsx +557 -0
  50. package/src/blocks/community/community-post-1.schema.ts +408 -0
  51. package/src/blocks/community/community-post-1.tsx +405 -0
  52. package/src/blocks/contact-us/contact-us-1.schema.ts +25 -43
  53. package/src/blocks/contact-us/contact-us-1.tsx +2 -12
  54. package/src/blocks/contact-us/contact-us-2.schema.ts +39 -17
  55. package/src/blocks/contact-us/contact-us-2.tsx +21 -32
  56. package/src/blocks/content/content-1.schema.ts +163 -234
  57. package/src/blocks/content/content-1.tsx +46 -43
  58. package/src/blocks/content/content-2.schema.ts +117 -35
  59. package/src/blocks/content/content-2.tsx +19 -7
  60. package/src/blocks/content/content-3.schema.ts +215 -205
  61. package/src/blocks/content/content-3.tsx +14 -18
  62. package/src/blocks/content/content-4.schema.ts +105 -89
  63. package/src/blocks/content/content-4.tsx +10 -18
  64. package/src/blocks/content/content-5.schema.ts +301 -278
  65. package/src/blocks/content/content-5.tsx +23 -16
  66. package/src/blocks/content/content-6.schema.ts +432 -250
  67. package/src/blocks/content/content-6.tsx +24 -19
  68. package/src/blocks/content/content-7.schema.ts +200 -197
  69. package/src/blocks/content/content-7.tsx +29 -21
  70. package/src/blocks/content/content-8.schema.ts +28 -23
  71. package/src/blocks/content/content-8.tsx +3 -3
  72. package/src/blocks/content/content-9.schema.ts +64 -2208
  73. package/src/blocks/content/content-9.tsx +31 -43
  74. package/src/blocks/cta/cta-1.schema.ts +23 -128
  75. package/src/blocks/cta/cta-2.schema.ts +46 -69
  76. package/src/blocks/cta/cta-2.tsx +2 -6
  77. package/src/blocks/cta/cta-3.schema.ts +77 -72
  78. package/src/blocks/cta/cta-3.tsx +2 -6
  79. package/src/blocks/embed/embed-1.schema.ts +30 -52
  80. package/src/blocks/embed/embed-1.tsx +1 -9
  81. package/src/blocks/event/ClientOnly.tsx +1 -4
  82. package/src/blocks/event/event-details.schema.ts +23 -32
  83. package/src/blocks/event/event-details.tsx +9 -23
  84. package/src/blocks/event/event-listing-2.schema.ts +19 -38
  85. package/src/blocks/event/event-listing-2.tsx +29 -38
  86. package/src/blocks/event/event-listing-3.schema.ts +10 -20
  87. package/src/blocks/event/event-listing-3.tsx +26 -30
  88. package/src/blocks/event/event-listing-4.schema.ts +40 -80
  89. package/src/blocks/event/event-listing-4.tsx +22 -28
  90. package/src/blocks/event/event-listing.schema.ts +12 -24
  91. package/src/blocks/event/event-listing.tsx +26 -30
  92. package/src/blocks/faq/faq-1.schema.ts +150 -112
  93. package/src/blocks/faq/faq-1.tsx +31 -33
  94. package/src/blocks/faq/faq-2.schema.ts +132 -77
  95. package/src/blocks/faq/faq-2.tsx +21 -11
  96. package/src/blocks/faq/faq-3.schema.ts +178 -107
  97. package/src/blocks/faq/faq-3.tsx +30 -22
  98. package/src/blocks/features/features-1/features-1.schema.ts +11 -3
  99. package/src/blocks/features/features-1/features-1.tsx +12 -5
  100. package/src/blocks/features/features-1/variants/default.ts +176 -62
  101. package/src/blocks/features/features-1/variants/index.ts +1 -1
  102. package/src/blocks/features/features-1/variants/stylized-cards-v1.ts +392 -54
  103. package/src/blocks/features/features-1/variants/stylized-cards-v2.ts +119 -103
  104. package/src/blocks/features/features-1/variants/stylized-cards-v3.ts +16 -199
  105. package/src/blocks/features/features-2.schema.ts +149 -48
  106. package/src/blocks/features/features-2.tsx +18 -12
  107. package/src/blocks/features/features-3.schema.ts +255 -68
  108. package/src/blocks/features/features-3.tsx +25 -15
  109. package/src/blocks/features/features-4.schema.ts +367 -188
  110. package/src/blocks/features/features-4.tsx +12 -8
  111. package/src/blocks/features/features-5.schema.ts +195 -200
  112. package/src/blocks/features/features-5.tsx +14 -14
  113. package/src/blocks/features/features-6.schema.ts +230 -215
  114. package/src/blocks/features/features-6.tsx +28 -34
  115. package/src/blocks/filter-listing/filter-listing-1.tsx +12 -36
  116. package/src/blocks/floating-buttons/floating-button-1.schema.ts +100 -0
  117. package/src/blocks/floating-buttons/floating-button-1.tsx +14 -0
  118. package/src/blocks/footer/footer-1.schema.ts +110 -48
  119. package/src/blocks/footer/footer-1.tsx +17 -31
  120. package/src/blocks/footer/footer-2.schema.ts +230 -34
  121. package/src/blocks/footer/footer-2.tsx +19 -29
  122. package/src/blocks/footer/footer-3.schema.ts +335 -59
  123. package/src/blocks/footer/footer-3.tsx +11 -26
  124. package/src/blocks/footer/footer-4.schema.ts +139 -76
  125. package/src/blocks/footer/footer-4.tsx +37 -55
  126. package/src/blocks/footer/footer-5.schema.ts +138 -60
  127. package/src/blocks/footer/footer-5.tsx +16 -30
  128. package/src/blocks/footer/footer-6.schema.ts +62 -149
  129. package/src/blocks/footer/footer-6.tsx +30 -44
  130. package/src/blocks/form/form-1.schema.ts +144 -0
  131. package/src/blocks/form/form-1.tsx +33 -0
  132. package/src/blocks/hero/hero-1.schema.ts +153 -101
  133. package/src/blocks/hero/hero-1.tsx +4 -4
  134. package/src/blocks/hero/hero-10.schema.ts +9 -31
  135. package/src/blocks/hero/hero-10.tsx +4 -4
  136. package/src/blocks/hero/hero-11.schema.ts +196 -89
  137. package/src/blocks/hero/hero-11.tsx +5 -10
  138. package/src/blocks/hero/hero-12.schema.ts +111 -192
  139. package/src/blocks/hero/hero-12.tsx +4 -7
  140. package/src/blocks/hero/hero-13.schema.ts +36 -30
  141. package/src/blocks/hero/hero-13.tsx +1 -1
  142. package/src/blocks/hero/hero-2.schema.ts +30 -58
  143. package/src/blocks/hero/hero-2.tsx +3 -21
  144. package/src/blocks/hero/hero-3.schema.ts +70 -90
  145. package/src/blocks/hero/hero-3.tsx +6 -15
  146. package/src/blocks/hero/hero-4.schema.ts +246 -73
  147. package/src/blocks/hero/hero-4.tsx +22 -16
  148. package/src/blocks/hero/hero-5.schema.ts +104 -47
  149. package/src/blocks/hero/hero-5.tsx +21 -12
  150. package/src/blocks/hero/hero-6.schema.ts +127 -258
  151. package/src/blocks/hero/hero-6.tsx +6 -6
  152. package/src/blocks/hero/hero-7.schema.ts +90 -43
  153. package/src/blocks/hero/hero-7.tsx +6 -4
  154. package/src/blocks/hero/hero-8.schema.ts +342 -138
  155. package/src/blocks/hero/hero-8.tsx +23 -13
  156. package/src/blocks/hero/hero-9.schema.ts +111 -86
  157. package/src/blocks/hero/hero-9.tsx +12 -4
  158. package/src/blocks/index.ts +12 -8
  159. package/src/blocks/jobs/jobs-1.schema.ts +990 -0
  160. package/src/blocks/jobs/jobs-1.tsx +145 -0
  161. package/src/blocks/logos/logos-1.schema.ts +370 -36
  162. package/src/blocks/logos/logos-1.tsx +7 -7
  163. package/src/blocks/navbar/navbar-1.schema.ts +15 -28
  164. package/src/blocks/navbar/navbar-1.tsx +24 -60
  165. package/src/blocks/navbar/navbar-2.schema.ts +14 -28
  166. package/src/blocks/navbar/navbar-2.tsx +26 -56
  167. package/src/blocks/navbar/navbar-3.schema.ts +11 -22
  168. package/src/blocks/navbar/navbar-3.tsx +33 -82
  169. package/src/blocks/navbar/navbar-4.schema.ts +14343 -0
  170. package/src/blocks/navbar/navbar-4.tsx +546 -0
  171. package/src/blocks/polling/polling-1.schema.ts +2 -21
  172. package/src/blocks/polling/polling-1.tsx +24 -39
  173. package/src/blocks/pricing/pricing-1.schema.ts +307 -290
  174. package/src/blocks/pricing/pricing-1.tsx +32 -42
  175. package/src/blocks/products/products-listing-1.schema.ts +115 -36
  176. package/src/blocks/products/products-listing-1.tsx +15 -13
  177. package/src/blocks/products/products-listing-2.schema.ts +178 -220
  178. package/src/blocks/products/products-listing-2.tsx +29 -16
  179. package/src/blocks/products/products-listing-3.schema.ts +412 -154
  180. package/src/blocks/products/products-listing-3.tsx +102 -73
  181. package/src/blocks/profile/profile-1.schema.ts +60 -49
  182. package/src/blocks/profile/profile-1.tsx +5 -10
  183. package/src/blocks/profile/profile-2.schema.ts +71 -92
  184. package/src/blocks/profile/profile-2.tsx +6 -7
  185. package/src/blocks/profile/profile-3.schema.ts +141 -529
  186. package/src/blocks/profile/profile-3.tsx +19 -41
  187. package/src/blocks/{blogs/blog-post-2.schema.ts → profile/profile-4.schema.ts} +75 -97
  188. package/src/blocks/{blogs/blog-post-2.tsx → profile/profile-4.tsx} +32 -61
  189. package/src/blocks/{blogs/blog-post-3.schema.ts → profile/profile-5.schema.ts} +6 -6
  190. package/src/blocks/{blogs/blog-post-3.tsx → profile/profile-5.tsx} +6 -11
  191. package/src/blocks/services/service-1.schema.ts +210 -830
  192. package/src/blocks/services/service-1.tsx +46 -59
  193. package/src/blocks/services/service-2.schema.ts +92 -80
  194. package/src/blocks/services/service-2.tsx +13 -7
  195. package/src/blocks/services/service-3.schema.ts +74 -86
  196. package/src/blocks/services/service-3.tsx +44 -45
  197. package/src/blocks/stats/stats-1.schema.ts +225 -21
  198. package/src/blocks/stats/stats-1.tsx +7 -14
  199. package/src/blocks/stats/stats-2.schema.ts +13 -5
  200. package/src/blocks/stats/stats-2.tsx +12 -15
  201. package/src/blocks/stats/variants/default.ts +59 -41
  202. package/src/blocks/stats/variants/hero.ts +64 -31
  203. package/src/blocks/stats/variants/index.ts +1 -1
  204. package/src/blocks/tabs/tab-1.schema.ts +103 -409
  205. package/src/blocks/tabs/tab-1.tsx +47 -53
  206. package/src/blocks/tabs/tab-2.schema.ts +207 -290
  207. package/src/blocks/tabs/tab-2.tsx +20 -9
  208. package/src/blocks/team/team-1.schema.ts +593 -76
  209. package/src/blocks/team/team-1.tsx +16 -22
  210. package/src/blocks/team/team-2.schema.ts +621 -1453
  211. package/src/blocks/team/team-2.tsx +19 -34
  212. package/src/blocks/team/team-3.schema.ts +127 -78
  213. package/src/blocks/team/team-3.tsx +9 -14
  214. package/src/blocks/team/team-4.schema.ts +197 -63
  215. package/src/blocks/team/team-4.tsx +25 -26
  216. package/src/blocks/team/team-5.schema.ts +65 -54
  217. package/src/blocks/team/team-5.tsx +13 -4
  218. package/src/blocks/termsAndPrivacy/terms-and-conditions-1.schema.ts +9 -26
  219. package/src/blocks/termsAndPrivacy/terms-and-conditions-1.tsx +4 -6
  220. package/src/blocks/testimonial/testimonial-1.schema.ts +713 -65
  221. package/src/blocks/testimonial/testimonial-1.tsx +12 -23
  222. package/src/blocks/testimonial/testimonial-2.schema.ts +1316 -354
  223. package/src/blocks/testimonial/testimonial-2.tsx +21 -37
  224. package/src/blocks/testimonial/testimonial-3.schema.ts +210 -74
  225. package/src/blocks/testimonial/testimonial-3.tsx +17 -27
  226. package/src/blocks/testimonial/testimonial-4.schema.ts +353 -1049
  227. package/src/blocks/testimonial/testimonial-4.tsx +16 -34
  228. package/src/blocks/testimonial/testimonial-5/variants/default.ts +155 -171
  229. package/src/blocks/testimonial/testimonial-5/variants/index.ts +1 -1
  230. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithLogo.ts +201 -501
  231. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithRatings.ts +166 -316
  232. package/src/blocks/testimonial/testimonial-5.schema.ts +2 -6
  233. package/src/blocks/testimonial/testimonial-5.tsx +15 -25
  234. package/src/blocks/testimonial/testimonial-6.schema.ts +226 -315
  235. package/src/blocks/testimonial/testimonial-6.tsx +9 -25
  236. package/src/blocks/testimonial/testimonial-7.schema.ts +74 -45
  237. package/src/blocks/testimonial/testimonial-7.tsx +16 -27
  238. package/src/blocks/timeline/timeline-1.schema.ts +166 -153
  239. package/src/blocks/timeline/timeline-1.tsx +6 -7
  240. package/src/blocks/users/edit-profile.schema.ts +56 -44
  241. package/src/blocks/users/edit-profile.tsx +23 -28
  242. package/src/constants/index.ts +16 -0
  243. package/src/index.ts +1 -1
  244. package/src/schemas/blocks.ts +17 -5
  245. package/src/schemas/categories.ts +26 -2
@@ -135,8 +135,7 @@ export const Footer3: IBlock = {
135
135
  title: "Footer 3",
136
136
  key: "footer-3",
137
137
  version: "v1",
138
- prompt_description:
139
- "Professional footer with company info, service links, and contact details",
138
+ prompt_description: "Professional footer with company info, service links, and contact details",
140
139
  content_schema: [
141
140
  {
142
141
  key: "layout",
@@ -164,7 +163,7 @@ export const Footer3: IBlock = {
164
163
  {
165
164
  key: "category",
166
165
  label: "Section Title",
167
- field_interface: "TypographyWidget",
166
+ field_interface: "HeadingWidget",
168
167
  },
169
168
  {
170
169
  key: "links",
@@ -239,36 +238,215 @@ export const Footer3: IBlock = {
239
238
  key: "default",
240
239
  content: DEFAULT_CONTENT,
241
240
  config: {
242
- links: Array(4)
243
- .fill(0)
244
- .map(() => ({
241
+ links: [
242
+ {
243
+ category: {
244
+ selectedVariants: {
245
+ Heading_Level: "H6",
246
+ },
247
+ heading: {
248
+ level: "4",
249
+ },
250
+ },
251
+ links: [
252
+ {
253
+ text: {
254
+ selectedVariants: {
255
+ Typography_Variants: "Body",
256
+ },
257
+ },
258
+ },
259
+ {
260
+ text: {
261
+ selectedVariants: {
262
+ Typography_Variants: "Body",
263
+ },
264
+ },
265
+ },
266
+ {
267
+ text: {
268
+ selectedVariants: {
269
+ Typography_Variants: "Body",
270
+ },
271
+ },
272
+ },
273
+ {
274
+ text: {
275
+ selectedVariants: {
276
+ Typography_Variants: "Body",
277
+ },
278
+ },
279
+ },
280
+ {
281
+ text: {
282
+ selectedVariants: {
283
+ Typography_Variants: "Body",
284
+ },
285
+ },
286
+ },
287
+ {
288
+ text: {
289
+ selectedVariants: {
290
+ Typography_Variants: "Body",
291
+ },
292
+ },
293
+ },
294
+ ],
295
+ },
296
+ {
297
+ category: {
298
+ selectedVariants: {
299
+ Heading_Level: "H6",
300
+ },
301
+ heading: {
302
+ level: "4",
303
+ },
304
+ },
305
+ links: [
306
+ {
307
+ text: {
308
+ selectedVariants: {
309
+ Typography_Variants: "Body",
310
+ },
311
+ },
312
+ },
313
+ {
314
+ text: {
315
+ selectedVariants: {
316
+ Typography_Variants: "Body",
317
+ },
318
+ },
319
+ },
320
+ {
321
+ text: {
322
+ selectedVariants: {
323
+ Typography_Variants: "Body",
324
+ },
325
+ },
326
+ },
327
+ {
328
+ text: {
329
+ selectedVariants: {
330
+ Typography_Variants: "Body",
331
+ },
332
+ },
333
+ },
334
+ {
335
+ text: {
336
+ selectedVariants: {
337
+ Typography_Variants: "Body",
338
+ },
339
+ },
340
+ },
341
+ {
342
+ text: {
343
+ selectedVariants: {
344
+ Typography_Variants: "Body",
345
+ },
346
+ },
347
+ },
348
+ ],
349
+ },
350
+ {
245
351
  category: {
246
352
  selectedVariants: {
247
- Typography_Variants: "Large",
353
+ Heading_Level: "H6",
354
+ },
355
+ heading: {
356
+ level: "4",
248
357
  },
249
358
  },
250
- links: Array(6)
251
- .fill(0)
252
- .map(() => {
253
- return {
254
- text: {
255
- selectedVariants: {
256
- Typography_Variants: "Body",
257
- },
359
+ links: [
360
+ {
361
+ text: {
362
+ selectedVariants: {
363
+ Typography_Variants: "Body",
364
+ },
365
+ },
366
+ },
367
+ {
368
+ text: {
369
+ selectedVariants: {
370
+ Typography_Variants: "Body",
258
371
  },
259
- };
260
- }),
261
- })),
372
+ },
373
+ },
374
+ {
375
+ text: {
376
+ selectedVariants: {
377
+ Typography_Variants: "Body",
378
+ },
379
+ },
380
+ },
381
+ {
382
+ text: {
383
+ selectedVariants: {
384
+ Typography_Variants: "Body",
385
+ },
386
+ },
387
+ },
388
+ {
389
+ text: {
390
+ selectedVariants: {
391
+ Typography_Variants: "Body",
392
+ },
393
+ },
394
+ },
395
+ {
396
+ text: {
397
+ selectedVariants: {
398
+ Typography_Variants: "Body",
399
+ },
400
+ },
401
+ },
402
+ ],
403
+ },
404
+ {
405
+ category: {
406
+ selectedVariants: {
407
+ Heading_Level: "H6",
408
+ },
409
+ heading: {
410
+ level: "4",
411
+ },
412
+ },
413
+ links: [
414
+ {
415
+ text: {
416
+ selectedVariants: {
417
+ Typography_Variants: "Body",
418
+ },
419
+ },
420
+ contactWrapper: {
421
+ selectedVariants: {},
422
+ },
423
+ },
424
+ {
425
+ text: {
426
+ selectedVariants: {
427
+ Typography_Variants: "Body",
428
+ },
429
+ },
430
+ contactWrapper: {
431
+ selectedVariants: {},
432
+ },
433
+ },
434
+ {
435
+ text: {
436
+ selectedVariants: {
437
+ Typography_Variants: "Body",
438
+ },
439
+ },
440
+ contactWrapper: {
441
+ selectedVariants: {},
442
+ },
443
+ },
444
+ ],
445
+ },
446
+ ],
262
447
  },
263
448
  styles: {
264
- container: {
265
- "padding-top": "10xl",
266
- "padding-bottom": "10xl",
267
- mobile: {
268
- "padding-top": "5xl",
269
- "padding-bottom": "5xl",
270
- },
271
- },
449
+ container: {},
272
450
  mainFooterWrapper: {
273
451
  display: "flex",
274
452
  "grid-template-columns": "repeat(4, minmax(0, 1fr))",
@@ -314,37 +492,137 @@ export const Footer3: IBlock = {
314
492
  width: "100%",
315
493
  },
316
494
  links: [
317
- ...DEFAULT_LAYOUT_LINKS_STYLES,
318
495
  {
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
- }),
496
+ category: {
497
+ "font-weight": 600,
498
+ "margin-bottom": "xs",
499
+ },
500
+ links_levoGroup: {
501
+ display: "flex",
502
+ "flex-direction": "column",
503
+ "row-gap": "xs",
504
+ },
505
+ links: [
506
+ {
507
+ text: {},
508
+ },
509
+ {
510
+ text: {},
511
+ },
512
+ {
513
+ text: {},
514
+ },
515
+ {
516
+ text: {},
517
+ },
518
+ {
519
+ text: {},
520
+ },
521
+ {
522
+ text: {},
523
+ },
524
+ ],
525
+ },
526
+ {
527
+ category: {
528
+ "font-weight": 600,
529
+ "margin-bottom": "xs",
530
+ },
531
+ links_levoGroup: {
532
+ display: "flex",
533
+ "flex-direction": "column",
534
+ "row-gap": "xs",
535
+ },
536
+ links: [
537
+ {
538
+ text: {},
539
+ },
540
+ {
541
+ text: {},
542
+ },
543
+ {
544
+ text: {},
545
+ },
546
+ {
547
+ text: {},
548
+ },
549
+ {
550
+ text: {},
551
+ },
552
+ {
553
+ text: {},
554
+ },
555
+ ],
556
+ },
557
+ {
558
+ category: {
559
+ "font-weight": 600,
560
+ "margin-bottom": "xs",
561
+ },
562
+ links_levoGroup: {
563
+ display: "flex",
564
+ "flex-direction": "column",
565
+ "row-gap": "xs",
566
+ },
567
+ links: [
568
+ {
569
+ text: {},
570
+ },
571
+ {
572
+ text: {},
573
+ },
574
+ {
575
+ text: {},
576
+ },
577
+ {
578
+ text: {},
579
+ },
580
+ {
581
+ text: {},
582
+ },
583
+ {
584
+ text: {},
585
+ },
586
+ ],
587
+ },
588
+ {
589
+ category: {
590
+ "font-weight": 600,
591
+ "margin-bottom": "xs",
592
+ },
593
+ links_levoGroup: {
594
+ display: "flex",
595
+ "flex-direction": "column",
596
+ "row-gap": "xs",
597
+ },
598
+ links: [
599
+ {
600
+ text: {},
601
+ contactWrapper: {
602
+ display: "flex",
603
+ "column-gap": "sm",
604
+ "align-items": "center",
605
+ },
606
+ },
607
+ {
608
+ text: {},
609
+ contactWrapper: {
610
+ display: "flex",
611
+ "column-gap": "sm",
612
+ "justify-content": "start",
613
+ "align-items": "center",
614
+ },
615
+ },
616
+ {
617
+ text: {},
618
+ contactWrapper: {
619
+ display: "flex",
620
+ "column-gap": "sm",
621
+ "justify-content": "start",
622
+ "align-items": "center",
623
+ },
624
+ },
625
+ ],
348
626
  },
349
627
  ],
350
628
  bottomSection: {
@@ -369,9 +647,7 @@ export const Footer3: IBlock = {
369
647
  "flex-direction": "column",
370
648
  },
371
649
  },
372
- copyright: {
373
- color: "text-2",
374
- },
650
+ copyright: {},
375
651
  bottomLinks_levoGroup: {
376
652
  display: "flex",
377
653
  "align-items": "center",
@@ -1,18 +1,17 @@
1
1
  import {
2
2
  Box,
3
3
  Container,
4
+ Heading,
4
5
  Icon,
6
+ type ILevoBlockBaseProps,
5
7
  Section,
6
8
  Typography,
7
- type ILevoBlockBaseProps,
8
9
  } from "@levo-so/studio";
9
10
  import React from "react";
10
11
 
11
- import { type IFooter3Content } from "./footer-3.schema";
12
+ import type { IFooter3Content } from "./footer-3.schema";
12
13
 
13
- const Footer3: React.FC<ILevoBlockBaseProps<IFooter3Content>> = ({
14
- content,
15
- }) => (
14
+ const Footer3: React.FC<ILevoBlockBaseProps<IFooter3Content>> = ({ content }) => (
16
15
  <Section elementKey="layout">
17
16
  <Container elementKey="container">
18
17
  <Box elementKey="mainFooterWrapper">
@@ -23,15 +22,11 @@ const Footer3: React.FC<ILevoBlockBaseProps<IFooter3Content>> = ({
23
22
  key={`footer-3-section-${sectionIndex}`}
24
23
  data-levo_group_item
25
24
  >
26
- <Typography elementKey={`links.${sectionIndex}.category`} />
27
- <Box
28
- elementKey={`links.${sectionIndex}.links_levoGroup`}
29
- data-levo_group
30
- >
25
+ <Heading elementKey={`links.${sectionIndex}.category`} />
26
+ <Box elementKey={`links.${sectionIndex}.links_levoGroup`} data-levo_group>
31
27
  {(section?.links ?? [])?.map((link, linkIndex) => {
32
28
  // Check if this is a contact item (has icon and contactWrapper)
33
- const isContactItem =
34
- "icon" in link && "contactWrapper" in link;
29
+ const isContactItem = "icon" in link && "contactWrapper" in link;
35
30
 
36
31
  if (isContactItem) {
37
32
  return (
@@ -40,12 +35,8 @@ const Footer3: React.FC<ILevoBlockBaseProps<IFooter3Content>> = ({
40
35
  key={`footer-3-contact-${sectionIndex}-${linkIndex}`}
41
36
  data-levo_group_item
42
37
  >
43
- <Icon
44
- elementKey={`links.${sectionIndex}.links.${linkIndex}.icon`}
45
- />
46
- <Typography
47
- elementKey={`links.${sectionIndex}.links.${linkIndex}.text`}
48
- />
38
+ <Icon elementKey={`links.${sectionIndex}.links.${linkIndex}.icon`} />
39
+ <Typography elementKey={`links.${sectionIndex}.links.${linkIndex}.text`} />
49
40
  </Box>
50
41
  );
51
42
  } else {
@@ -69,15 +60,9 @@ const Footer3: React.FC<ILevoBlockBaseProps<IFooter3Content>> = ({
69
60
  <Box elementKey="bottomLinks_levoGroup" data-levo_group>
70
61
  {(content?.bottomLinks ?? [])?.map((_, index) => (
71
62
  <React.Fragment key={`footer-3-bottom-${index}`}>
72
- <Typography
73
- data-levo_group_item
74
- elementKey={`bottomLinks.${index}.text`}
75
- />
63
+ <Typography data-levo_group_item elementKey={`bottomLinks.${index}.text`} />
76
64
  {index < (content?.bottomLinks?.length ?? 0) - 1 && (
77
- <Box
78
- elementKey={`bottomLinks.${index}.separator`}
79
- data-levo_group_item
80
- />
65
+ <Box elementKey={`bottomLinks.${index}.separator`} data-levo_group_item />
81
66
  )}
82
67
  </React.Fragment>
83
68
  ))}