@levo-so/blocks 0.1.59 → 0.1.60

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 (191) hide show
  1. package/package.json +16 -15
  2. package/src/blocks/about-us/about-us-1.schema.ts +75 -58
  3. package/src/blocks/about-us/about-us-2.schema.ts +186 -39
  4. package/src/blocks/blogs/blog-listing-1.tsx +17 -15
  5. package/src/blocks/blogs/blog-listing-2.tsx +17 -15
  6. package/src/blocks/blogs/blog-listing-3.tsx +17 -15
  7. package/src/blocks/calendar/calendar-1.schema.ts +263 -181
  8. package/src/blocks/calendar/calendar-1.tsx +42 -11
  9. package/src/blocks/cards/cards-10.schema.ts +322 -313
  10. package/src/blocks/cards/cards-10.tsx +9 -1
  11. package/src/blocks/cards/cards-11.schema.ts +139 -248
  12. package/src/blocks/cards/cards-12.schema.ts +117 -196
  13. package/src/blocks/cards/cards-13.schema.ts +107 -56
  14. package/src/blocks/cards/cards-14.schema.ts +58 -154
  15. package/src/blocks/cards/cards-15.schema.ts +54 -31
  16. package/src/blocks/cards/cards-15.tsx +13 -2
  17. package/src/blocks/cards/cards-2.schema.ts +83 -88
  18. package/src/blocks/cards/cards-2.tsx +10 -2
  19. package/src/blocks/cards/cards-3.schema.ts +75 -70
  20. package/src/blocks/cards/cards-4.schema.ts +149 -91
  21. package/src/blocks/cards/cards-4.tsx +13 -2
  22. package/src/blocks/cards/cards-5.schema.ts +91 -68
  23. package/src/blocks/cards/cards-5.tsx +9 -1
  24. package/src/blocks/cards/cards-6.schema.ts +794 -972
  25. package/src/blocks/cards/cards-6.tsx +18 -2
  26. package/src/blocks/cards/cards-7.schema.ts +802 -2250
  27. package/src/blocks/cards/cards-7.tsx +14 -1
  28. package/src/blocks/cards/cards-8.schema.ts +166 -347
  29. package/src/blocks/cards/cards-8.tsx +14 -1
  30. package/src/blocks/cards/cards-9.schema.ts +300 -305
  31. package/src/blocks/cards/cards-9.tsx +27 -3
  32. package/src/blocks/carousel/carousel-1.schema.ts +479 -46
  33. package/src/blocks/carousel/carousel-1.tsx +2 -0
  34. package/src/blocks/carousel/carousel-2.schema.ts +170 -118
  35. package/src/blocks/carousel/carousel-2.tsx +10 -2
  36. package/src/blocks/community/community-1.schema.ts +566 -0
  37. package/src/blocks/community/community-1.tsx +690 -0
  38. package/src/blocks/community/community-post-1.schema.ts +417 -0
  39. package/src/blocks/community/community-post-1.tsx +155 -0
  40. package/src/blocks/contact-us/contact-us-1.schema.ts +33 -43
  41. package/src/blocks/contact-us/contact-us-2.schema.ts +39 -17
  42. package/src/blocks/contact-us/contact-us-2.tsx +1 -1
  43. package/src/blocks/content/content-1.schema.ts +184 -234
  44. package/src/blocks/content/content-1.tsx +48 -38
  45. package/src/blocks/content/content-2.schema.ts +143 -32
  46. package/src/blocks/content/content-2.tsx +15 -3
  47. package/src/blocks/content/content-3.schema.ts +215 -205
  48. package/src/blocks/content/content-3.tsx +13 -1
  49. package/src/blocks/content/content-4.schema.ts +124 -85
  50. package/src/blocks/content/content-4.tsx +2 -1
  51. package/src/blocks/content/content-5.schema.ts +296 -278
  52. package/src/blocks/content/content-5.tsx +23 -2
  53. package/src/blocks/content/content-6.schema.ts +474 -244
  54. package/src/blocks/content/content-6.tsx +23 -1
  55. package/src/blocks/content/content-7.schema.ts +173 -133
  56. package/src/blocks/content/content-7.tsx +27 -3
  57. package/src/blocks/content/content-8.schema.ts +27 -17
  58. package/src/blocks/content/content-9.schema.ts +64 -2208
  59. package/src/blocks/content/content-9.tsx +6 -3
  60. package/src/blocks/cta/cta-1.schema.ts +13 -108
  61. package/src/blocks/cta/cta-2.schema.ts +60 -69
  62. package/src/blocks/cta/cta-3.schema.ts +97 -66
  63. package/src/blocks/embed/embed-1.schema.ts +30 -52
  64. package/src/blocks/event/event-details.schema.ts +7 -0
  65. package/src/blocks/event/event-details.tsx +1 -0
  66. package/src/blocks/event/event-listing-2.tsx +17 -15
  67. package/src/blocks/event/event-listing-3.tsx +17 -15
  68. package/src/blocks/event/event-listing-4.tsx +17 -15
  69. package/src/blocks/event/event-listing.tsx +17 -15
  70. package/src/blocks/faq/faq-1.schema.ts +158 -112
  71. package/src/blocks/faq/faq-1.tsx +12 -3
  72. package/src/blocks/faq/faq-2.schema.ts +137 -74
  73. package/src/blocks/faq/faq-2.tsx +10 -1
  74. package/src/blocks/faq/faq-3.schema.ts +185 -105
  75. package/src/blocks/faq/faq-3.tsx +19 -3
  76. package/src/blocks/features/features-1/features-1.schema.ts +11 -3
  77. package/src/blocks/features/features-1/features-1.tsx +10 -1
  78. package/src/blocks/features/features-1/variants/default.ts +172 -54
  79. package/src/blocks/features/features-1/variants/stylized-cards-v1.ts +392 -54
  80. package/src/blocks/features/features-1/variants/stylized-cards-v2.ts +119 -103
  81. package/src/blocks/features/features-1/variants/stylized-cards-v3.ts +16 -199
  82. package/src/blocks/features/features-2.schema.ts +178 -45
  83. package/src/blocks/features/features-2.tsx +10 -2
  84. package/src/blocks/features/features-3.schema.ts +284 -65
  85. package/src/blocks/features/features-3.tsx +22 -3
  86. package/src/blocks/features/features-4.schema.ts +380 -185
  87. package/src/blocks/features/features-4.tsx +9 -1
  88. package/src/blocks/features/features-5.schema.ts +194 -198
  89. package/src/blocks/features/features-5.tsx +12 -1
  90. package/src/blocks/features/features-6.schema.ts +240 -193
  91. package/src/blocks/features/features-6.tsx +16 -2
  92. package/src/blocks/floating-buttons/floating-button-1.schema.ts +105 -0
  93. package/src/blocks/floating-buttons/floating-button-1.tsx +20 -0
  94. package/src/blocks/footer/footer-1.schema.ts +118 -48
  95. package/src/blocks/footer/footer-1.tsx +2 -1
  96. package/src/blocks/footer/footer-2.schema.ts +235 -31
  97. package/src/blocks/footer/footer-2.tsx +2 -1
  98. package/src/blocks/footer/footer-3.schema.ts +334 -57
  99. package/src/blocks/footer/footer-3.tsx +2 -1
  100. package/src/blocks/footer/footer-4.schema.ts +147 -76
  101. package/src/blocks/footer/footer-4.tsx +2 -1
  102. package/src/blocks/footer/footer-5.schema.ts +144 -52
  103. package/src/blocks/footer/footer-5.tsx +2 -1
  104. package/src/blocks/footer/footer-6.schema.ts +68 -140
  105. package/src/blocks/footer/footer-6.tsx +2 -1
  106. package/src/blocks/hero/hero-1.schema.ts +184 -87
  107. package/src/blocks/hero/hero-10.schema.ts +8 -29
  108. package/src/blocks/hero/hero-11.schema.ts +192 -89
  109. package/src/blocks/hero/hero-11.tsx +1 -1
  110. package/src/blocks/hero/hero-12.schema.ts +107 -170
  111. package/src/blocks/hero/hero-12.tsx +1 -1
  112. package/src/blocks/hero/hero-13.schema.ts +42 -28
  113. package/src/blocks/hero/hero-2.schema.ts +33 -58
  114. package/src/blocks/hero/hero-3.schema.ts +42 -34
  115. package/src/blocks/hero/hero-4.schema.ts +265 -70
  116. package/src/blocks/hero/hero-4.tsx +19 -2
  117. package/src/blocks/hero/hero-5.schema.ts +122 -44
  118. package/src/blocks/hero/hero-5.tsx +14 -2
  119. package/src/blocks/hero/hero-6.schema.ts +159 -255
  120. package/src/blocks/hero/hero-7.schema.ts +105 -34
  121. package/src/blocks/hero/hero-7.tsx +4 -1
  122. package/src/blocks/hero/hero-8.schema.ts +363 -133
  123. package/src/blocks/hero/hero-8.tsx +27 -3
  124. package/src/blocks/hero/hero-9.schema.ts +116 -83
  125. package/src/blocks/hero/hero-9.tsx +9 -1
  126. package/src/blocks/index.ts +7 -0
  127. package/src/blocks/logos/logos-1.schema.ts +424 -30
  128. package/src/blocks/polling/polling-1.schema.ts +1 -19
  129. package/src/blocks/pricing/pricing-1.schema.ts +296 -266
  130. package/src/blocks/pricing/pricing-1.tsx +16 -2
  131. package/src/blocks/products/products-listing-1.schema.ts +144 -33
  132. package/src/blocks/products/products-listing-1.tsx +9 -1
  133. package/src/blocks/products/products-listing-2.schema.ts +199 -213
  134. package/src/blocks/products/products-listing-2.tsx +25 -3
  135. package/src/blocks/products/products-listing-3.schema.ts +439 -154
  136. package/src/blocks/products/products-listing-3.tsx +43 -8
  137. package/src/blocks/profile/profile-1.schema.ts +67 -49
  138. package/src/blocks/profile/profile-1.tsx +3 -2
  139. package/src/blocks/profile/profile-2.schema.ts +73 -85
  140. package/src/blocks/profile/profile-2.tsx +2 -1
  141. package/src/blocks/profile/profile-3.schema.ts +162 -529
  142. package/src/blocks/profile/profile-3.tsx +2 -2
  143. package/src/blocks/services/service-1.schema.ts +204 -804
  144. package/src/blocks/services/service-1.tsx +15 -2
  145. package/src/blocks/services/service-2.schema.ts +95 -75
  146. package/src/blocks/services/service-2.tsx +9 -1
  147. package/src/blocks/services/service-3.schema.ts +73 -73
  148. package/src/blocks/services/service-3.tsx +40 -39
  149. package/src/blocks/stats/stats-1.schema.ts +225 -21
  150. package/src/blocks/stats/stats-1.tsx +4 -0
  151. package/src/blocks/stats/stats-2.schema.ts +13 -5
  152. package/src/blocks/stats/stats-2.tsx +9 -1
  153. package/src/blocks/stats/variants/default.ts +59 -41
  154. package/src/blocks/stats/variants/hero.ts +64 -31
  155. package/src/blocks/tabs/tab-1.schema.ts +105 -407
  156. package/src/blocks/tabs/tab-1.tsx +15 -4
  157. package/src/blocks/tabs/tab-2.schema.ts +208 -278
  158. package/src/blocks/tabs/tab-2.tsx +14 -2
  159. package/src/blocks/team/team-1.schema.ts +621 -76
  160. package/src/blocks/team/team-1.tsx +9 -1
  161. package/src/blocks/team/team-2.schema.ts +693 -1421
  162. package/src/blocks/team/team-2.tsx +4 -1
  163. package/src/blocks/team/team-3.schema.ts +147 -74
  164. package/src/blocks/team/team-3.tsx +1 -0
  165. package/src/blocks/team/team-4.schema.ts +216 -57
  166. package/src/blocks/team/team-4.tsx +10 -2
  167. package/src/blocks/team/team-5.schema.ts +67 -42
  168. package/src/blocks/team/team-5.tsx +12 -3
  169. package/src/blocks/termsAndPrivacy/terms-and-conditions-1.schema.ts +9 -26
  170. package/src/blocks/termsAndPrivacy/terms-and-conditions-1.tsx +1 -1
  171. package/src/blocks/testimonial/testimonial-1.schema.ts +712 -63
  172. package/src/blocks/testimonial/testimonial-1.tsx +2 -4
  173. package/src/blocks/testimonial/testimonial-2.schema.ts +1332 -354
  174. package/src/blocks/testimonial/testimonial-2.tsx +4 -1
  175. package/src/blocks/testimonial/testimonial-3.schema.ts +215 -71
  176. package/src/blocks/testimonial/testimonial-3.tsx +5 -2
  177. package/src/blocks/testimonial/testimonial-4.schema.ts +331 -933
  178. package/src/blocks/testimonial/testimonial-4.tsx +4 -1
  179. package/src/blocks/testimonial/testimonial-5/variants/default.ts +179 -171
  180. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithLogo.ts +205 -501
  181. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithRatings.ts +190 -316
  182. package/src/blocks/testimonial/testimonial-6.schema.ts +204 -267
  183. package/src/blocks/testimonial/testimonial-7.schema.ts +74 -45
  184. package/src/blocks/testimonial/testimonial-7.tsx +2 -2
  185. package/src/blocks/timeline/timeline-1.schema.ts +196 -149
  186. package/src/blocks/timeline/timeline-1.tsx +4 -1
  187. package/src/blocks/users/edit-profile.schema.ts +56 -44
  188. package/src/blocks/users/edit-profile.tsx +13 -6
  189. package/src/constants/index.ts +19 -0
  190. package/src/schemas/blocks.ts +6 -0
  191. package/src/schemas/categories.ts +12 -0
@@ -1,5 +1,106 @@
1
1
  import type { IBlock } from "@levo-so/studio";
2
2
 
3
+ const MEDIA_1 = {
4
+ id: "OaJSLqfjJnrh",
5
+ filename: "cta-2-1.jpg",
6
+ kind: "image",
7
+ location: "https://static.levocdn.com/WLZ1TXTD/cta-2-1-1d79LgEHfjk4.jpg",
8
+ srcset: {
9
+ "1080w":
10
+ "https://static.levocdn.com/WLZ1TXTD/cta-2-1-1d79LgEHfjk4-1080w.webp",
11
+ "1200w":
12
+ "https://static.levocdn.com/WLZ1TXTD/cta-2-1-1d79LgEHfjk4-1200w.webp",
13
+ "1920w":
14
+ "https://static.levocdn.com/WLZ1TXTD/cta-2-1-1d79LgEHfjk4-1920w.webp",
15
+ "320w":
16
+ "https://static.levocdn.com/WLZ1TXTD/cta-2-1-1d79LgEHfjk4-320w.webp",
17
+ "640w":
18
+ "https://static.levocdn.com/WLZ1TXTD/cta-2-1-1d79LgEHfjk4-640w.webp",
19
+ "750w":
20
+ "https://static.levocdn.com/WLZ1TXTD/cta-2-1-1d79LgEHfjk4-750w.webp",
21
+ "828w":
22
+ "https://static.levocdn.com/WLZ1TXTD/cta-2-1-1d79LgEHfjk4-828w.webp",
23
+ path: "https://static.levocdn.com/WLZ1TXTD/cta-2-1-1d79LgEHfjk4-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/cta-2-1-1d79LgEHfjk4-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/cta-2-1-1d79LgEHfjk4-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/cta-2-1-1d79LgEHfjk4-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/cta-2-1-1d79LgEHfjk4-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/cta-2-1-1d79LgEHfjk4-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/cta-2-1-1d79LgEHfjk4-320w.webp 320w",
24
+ },
25
+ mimetype: "image/jpeg",
26
+ };
27
+
28
+ const MEDIA_2 = {
29
+ object: "media",
30
+ id: "iPD7fZlggnLR",
31
+ workspace_id: "WLZ1TXTD",
32
+ folder_id: null,
33
+ filename: "carousel-2-2.jpg",
34
+ kind: "image",
35
+ path: "WLZ1TXTD/carousel-2-2-moxO3I3ook0E.jpg",
36
+ location: "https://static.levocdn.com/WLZ1TXTD/carousel-2-2-moxO3I3ook0E.jpg",
37
+ metadata: {
38
+ etag: '"773bbffbbd71aa5cf5a859fbde484615"',
39
+ mimetype: "image/jpeg",
40
+ size: 111261,
41
+ },
42
+ srcset: {
43
+ "1080w":
44
+ "https://static.levocdn.com/WLZ1TXTD/carousel-2-2-moxO3I3ook0E-1080w.webp",
45
+ "1200w":
46
+ "https://static.levocdn.com/WLZ1TXTD/carousel-2-2-moxO3I3ook0E-1200w.webp",
47
+ "1920w":
48
+ "https://static.levocdn.com/WLZ1TXTD/carousel-2-2-moxO3I3ook0E-1920w.webp",
49
+ "320w":
50
+ "https://static.levocdn.com/WLZ1TXTD/carousel-2-2-moxO3I3ook0E-320w.webp",
51
+ "640w":
52
+ "https://static.levocdn.com/WLZ1TXTD/carousel-2-2-moxO3I3ook0E-640w.webp",
53
+ "750w":
54
+ "https://static.levocdn.com/WLZ1TXTD/carousel-2-2-moxO3I3ook0E-750w.webp",
55
+ "828w":
56
+ "https://static.levocdn.com/WLZ1TXTD/carousel-2-2-moxO3I3ook0E-828w.webp",
57
+ path: "https://static.levocdn.com/WLZ1TXTD/carousel-2-2-moxO3I3ook0E-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/carousel-2-2-moxO3I3ook0E-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/carousel-2-2-moxO3I3ook0E-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/carousel-2-2-moxO3I3ook0E-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/carousel-2-2-moxO3I3ook0E-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/carousel-2-2-moxO3I3ook0E-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/carousel-2-2-moxO3I3ook0E-640w.webp 640w",
58
+ },
59
+ tags: [],
60
+ created_at: "2025-12-20T08:39:12.676Z",
61
+ updated_at: "2025-12-20T08:39:12.676Z",
62
+ created_by: null,
63
+ updated_by: null,
64
+ };
65
+ const MEDIA_3 = {
66
+ object: "media",
67
+ id: "KQ5FRQXeGJVXT",
68
+ workspace_id: "WLZ1TXTD",
69
+ folder_id: null,
70
+ filename: "carousel-2-3.jpg",
71
+ kind: "image",
72
+ path: "WLZ1TXTD/carousel-2-3-T71EBnwUbeAMR.jpg",
73
+ location:
74
+ "https://static.levocdn.com/WLZ1TXTD/carousel-2-3-T71EBnwUbeAMR.jpg",
75
+ metadata: {
76
+ etag: '"ebf93e4ef37f20570526391e64562b1c"',
77
+ mimetype: "image/jpeg",
78
+ size: 79539,
79
+ },
80
+ srcset: {
81
+ "1080w":
82
+ "https://static.levocdn.com/WLZ1TXTD/carousel-2-3-T71EBnwUbeAMR-1080w.webp",
83
+ "1200w":
84
+ "https://static.levocdn.com/WLZ1TXTD/carousel-2-3-T71EBnwUbeAMR-1200w.webp",
85
+ "1920w":
86
+ "https://static.levocdn.com/WLZ1TXTD/carousel-2-3-T71EBnwUbeAMR-1920w.webp",
87
+ "320w":
88
+ "https://static.levocdn.com/WLZ1TXTD/carousel-2-3-T71EBnwUbeAMR-320w.webp",
89
+ "640w":
90
+ "https://static.levocdn.com/WLZ1TXTD/carousel-2-3-T71EBnwUbeAMR-640w.webp",
91
+ "750w":
92
+ "https://static.levocdn.com/WLZ1TXTD/carousel-2-3-T71EBnwUbeAMR-750w.webp",
93
+ "828w":
94
+ "https://static.levocdn.com/WLZ1TXTD/carousel-2-3-T71EBnwUbeAMR-828w.webp",
95
+ path: "https://static.levocdn.com/WLZ1TXTD/carousel-2-3-T71EBnwUbeAMR-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/carousel-2-3-T71EBnwUbeAMR-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/carousel-2-3-T71EBnwUbeAMR-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/carousel-2-3-T71EBnwUbeAMR-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/carousel-2-3-T71EBnwUbeAMR-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/carousel-2-3-T71EBnwUbeAMR-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/carousel-2-3-T71EBnwUbeAMR-1080w.webp 1080w",
96
+ },
97
+ tags: [],
98
+ created_at: "2025-12-20T08:42:52.998Z",
99
+ updated_at: "2025-12-20T08:42:52.998Z",
100
+ created_by: null,
101
+ updated_by: null,
102
+ };
103
+
3
104
  const DEFAULT_CONTENT = {
4
105
  layout: null,
5
106
  container: null,
@@ -73,7 +174,8 @@ const DEFAULT_CONTENT = {
73
174
  },
74
175
  ],
75
176
  cta_wrapper: null,
76
- cta: "Explore All Trainers",
177
+ ctas_levoGroup: null,
178
+ ctas: [{ cta: "Explore All Trainers" }, { cta: "View Team" }],
77
179
  };
78
180
 
79
181
  export type ITeam4Content = typeof DEFAULT_CONTENT;
@@ -176,7 +278,7 @@ export const Team4: IBlock = {
176
278
  {
177
279
  key: "name",
178
280
  label: "Member Name",
179
- field_interface: "TypographyWidget",
281
+ field_interface: "HeadingWidget",
180
282
  hint: {
181
283
  prompt_description:
182
284
  "Full name of the team member. Use professional, clear naming.",
@@ -239,14 +341,22 @@ export const Team4: IBlock = {
239
341
  },
240
342
  },
241
343
  {
242
- key: "cta",
243
- label: "CTA Button",
244
- field_interface: "ButtonWidget",
344
+ key: "ctas",
345
+ label: "CTA Buttons Group",
346
+ field_interface: "BoxWidget",
347
+ kind: "group",
348
+ fields: [
349
+ {
350
+ key: "cta",
351
+ label: "CTA Button",
352
+ field_interface: "ButtonWidget",
353
+ },
354
+ ],
245
355
  hint: {
246
356
  prompt_description:
247
- "Call-to-action button to encourage further engagement with the team or company.",
248
- min_characters: 10,
249
- max_characters: 30,
357
+ "Call-to-action buttons to encourage further engagement with the team or company.",
358
+ min_items: 1,
359
+ max_items: 3,
250
360
  },
251
361
  },
252
362
  ],
@@ -254,25 +364,72 @@ export const Team4: IBlock = {
254
364
  {
255
365
  key: "default",
256
366
  title: "Default",
257
- config: {},
258
- content: DEFAULT_CONTENT,
259
- styles: {
260
- layout: {
261
- "background-color": "white",
262
- "padding-top": "4xl",
263
- "padding-bottom": "4xl",
264
- mobile: {
265
- "padding-top": "2xl",
266
- "padding-bottom": "2xl",
367
+ config: {
368
+ title: {
369
+ selectedVariants: {
370
+ Heading_Level: "H2",
371
+ },
372
+ },
373
+ description: {
374
+ selectedVariants: {
375
+ Typography_Variants: "Large",
267
376
  },
268
377
  },
269
- container: {
270
- "max-width": "1280px",
271
- "margin-left": "auto",
272
- "margin-right": "auto",
273
- "padding-left": "xl",
274
- "padding-right": "xl",
378
+ team: [
379
+ {
380
+ name: {
381
+ heading: {
382
+ level: "4",
383
+ },
384
+ selectedVariants: {
385
+ Heading_Level: "H4",
386
+ },
387
+ },
388
+ description: {
389
+ selectedVariants: {},
390
+ },
391
+ },
392
+ {
393
+ name: {
394
+ selectedVariants: {
395
+ Heading_Level: "H4",
396
+ },
397
+ heading: {
398
+ level: "4",
399
+ },
400
+ },
401
+ description: {
402
+ selectedVariants: {},
403
+ },
404
+ },
405
+ {
406
+ name: {
407
+ selectedVariants: {
408
+ Heading_Level: "H4",
409
+ },
410
+ heading: {
411
+ level: "4",
412
+ },
413
+ },
414
+ description: {
415
+ selectedVariants: {},
416
+ },
417
+ },
418
+ ],
419
+ layout: {
420
+ action: {
421
+ type: "none",
422
+ value: "",
423
+ options: {
424
+ openInNewTab: false,
425
+ },
426
+ },
275
427
  },
428
+ },
429
+ content: DEFAULT_CONTENT,
430
+ styles: {
431
+ layout: {},
432
+ container: {},
276
433
  header: {
277
434
  "margin-bottom": "3xl",
278
435
  mobile: {
@@ -290,28 +447,13 @@ export const Team4: IBlock = {
290
447
  },
291
448
  },
292
449
  title: {
293
- "font-size": "5xl",
294
- "font-weight": "700",
295
- color: "text-1",
296
- "line-height": "1.2",
297
450
  "margin-bottom": "base",
298
451
  tablet: {
299
- "font-size": "3xl",
300
452
  "text-align": "center",
301
453
  },
302
- mobile: {
303
- "font-size": "2xl",
304
- },
305
- width: "100%",
306
454
  },
307
455
  description: {
308
- "font-size": "lg",
309
- color: "text-2",
310
- "line-height": "1.6",
311
456
  "max-width": "500px",
312
- "margin-left": "auto",
313
- "margin-right": "auto",
314
- "text-align": "left",
315
457
  },
316
458
  team_levoGroup: {
317
459
  display: "grid",
@@ -340,8 +482,7 @@ export const Team4: IBlock = {
340
482
  "box-shadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1)",
341
483
  "min-height": "500px",
342
484
  position: "relative",
343
- "background-image":
344
- 'url("https://static.levostg.online/W6OEVMW8/b11624c98327720d9dc0944e8387d5f489e034df-ImvUWBrtAnvCJ.jpg")',
485
+ "background-image": `url("${MEDIA_1.location}")`,
345
486
  "background-position": "center center",
346
487
  "background-size": "cover",
347
488
  },
@@ -395,6 +536,9 @@ export const Team4: IBlock = {
395
536
  },
396
537
  },
397
538
  ],
539
+ description: {
540
+ color: "white",
541
+ },
398
542
  },
399
543
  {
400
544
  card: {
@@ -404,12 +548,11 @@ export const Team4: IBlock = {
404
548
  "border-radius": "lg",
405
549
  padding: "lg",
406
550
  "box-shadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1)",
551
+ "min-height": "500px",
407
552
  position: "relative",
408
- "background-image":
409
- 'url("https://static.levostg.online/W6OEVMW8/e9621883320f7fa54c0378a1cba5f64b0422b2a7-PzNFtMNcDk7Db.jpg")',
553
+ "background-image": `url("${MEDIA_2.location}")`,
410
554
  "background-position": "center center",
411
555
  "background-size": "cover",
412
- "min-height": "500px",
413
556
  },
414
557
  info: {
415
558
  display: "flex",
@@ -461,6 +604,9 @@ export const Team4: IBlock = {
461
604
  },
462
605
  },
463
606
  ],
607
+ description: {
608
+ color: "white",
609
+ },
464
610
  },
465
611
  {
466
612
  card: {
@@ -472,8 +618,7 @@ export const Team4: IBlock = {
472
618
  "box-shadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1)",
473
619
  "min-height": "500px",
474
620
  position: "relative",
475
- "background-image":
476
- 'url("https://static.levostg.online/W6OEVMW8/d21a17ee9be592536fd98fce98365040238846bb-dO450wFkQdegn.jpg")',
621
+ "background-image": `url("${MEDIA_3.location}")`,
477
622
  "background-position": "center center",
478
623
  "background-size": "cover",
479
624
  },
@@ -527,6 +672,9 @@ export const Team4: IBlock = {
527
672
  },
528
673
  },
529
674
  ],
675
+ description: {
676
+ color: "white",
677
+ },
530
678
  },
531
679
  ],
532
680
  cta_wrapper: {
@@ -537,18 +685,29 @@ export const Team4: IBlock = {
537
685
  "margin-top": "2xl",
538
686
  },
539
687
  },
540
- cta: {
541
- "background-color": "brand",
542
- color: "white",
543
- "padding-top": "base",
544
- "padding-bottom": "base",
545
- "padding-left": "xl",
546
- "padding-right": "xl",
547
- "border-radius": "lg",
548
- "font-size": "base",
549
- "font-weight": "600",
550
- "border-style": "none",
688
+ ctas_levoGroup: {
689
+ display: "flex",
690
+ "flex-direction": "row",
691
+ "column-gap": "md",
692
+ "row-gap": "md",
693
+ "flex-wrap": "wrap",
694
+ "align-items": "center",
695
+ "justify-content": "center",
551
696
  },
697
+ ctas: Array(2)
698
+ .fill(0)
699
+ .map(() => ({
700
+ "background-color": "brand",
701
+ color: "white",
702
+ "padding-top": "base",
703
+ "padding-bottom": "base",
704
+ "padding-left": "xl",
705
+ "padding-right": "xl",
706
+ "border-radius": "lg",
707
+ "font-size": "base",
708
+ "font-weight": "600",
709
+ "border-style": "none",
710
+ })),
552
711
  },
553
712
  },
554
713
  ],
@@ -30,7 +30,7 @@ const Team4: React.FC<ILevoBlockBaseProps<ITeam4Content>> = ({ content }) => {
30
30
  <Media elementKey={`team.${index}.img`} alt="Team member photo" />
31
31
  <Box elementKey={`team.${index}.info`}>
32
32
  <Box elementKey={`team.${index}.name-position-wrapper`}>
33
- <Typography elementKey={`team.${index}.name`} />
33
+ <Heading elementKey={`team.${index}.name`} />
34
34
  <Typography elementKey={`team.${index}.description`} />
35
35
  </Box>
36
36
  <Box
@@ -52,7 +52,15 @@ const Team4: React.FC<ILevoBlockBaseProps<ITeam4Content>> = ({ content }) => {
52
52
  ))}
53
53
  </Box>
54
54
  <Box elementKey="cta_wrapper">
55
- <Button elementKey="cta" />
55
+ <Box elementKey="ctas_levoGroup" data-levo_group>
56
+ {(content?.ctas ?? []).map((_: any, index: number) => (
57
+ <Button
58
+ key={`ctas.${index}.cta`}
59
+ elementKey={`ctas.${index}.cta`}
60
+ data-levo_group_item
61
+ />
62
+ ))}
63
+ </Box>
56
64
  </Box>
57
65
  </Container>
58
66
  </Section>
@@ -1,5 +1,31 @@
1
1
  import type { IBlock } from "@levo-so/studio";
2
2
 
3
+ const MEDIA_1 = {
4
+ id: "rSCzklLkKw1sE",
5
+ filename: "team-details.png",
6
+ kind: "image",
7
+ location:
8
+ "https://static.levocdn.com/WLZ1TXTD/team-details-CISovrrD4WHce.png",
9
+ srcset: {
10
+ "1080w":
11
+ "https://static.levocdn.com/WLZ1TXTD/team-details-CISovrrD4WHce-1080w.webp",
12
+ "1200w":
13
+ "https://static.levocdn.com/WLZ1TXTD/team-details-CISovrrD4WHce-1200w.webp",
14
+ "1920w":
15
+ "https://static.levocdn.com/WLZ1TXTD/team-details-CISovrrD4WHce-1920w.webp",
16
+ "320w":
17
+ "https://static.levocdn.com/WLZ1TXTD/team-details-CISovrrD4WHce-320w.webp",
18
+ "640w":
19
+ "https://static.levocdn.com/WLZ1TXTD/team-details-CISovrrD4WHce-640w.webp",
20
+ "750w":
21
+ "https://static.levocdn.com/WLZ1TXTD/team-details-CISovrrD4WHce-750w.webp",
22
+ "828w":
23
+ "https://static.levocdn.com/WLZ1TXTD/team-details-CISovrrD4WHce-828w.webp",
24
+ path: "https://static.levocdn.com/WLZ1TXTD/team-details-CISovrrD4WHce-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/team-details-CISovrrD4WHce-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/team-details-CISovrrD4WHce-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/team-details-CISovrrD4WHce-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/team-details-CISovrrD4WHce-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/team-details-CISovrrD4WHce-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/team-details-CISovrrD4WHce-1200w.webp 1200w",
25
+ },
26
+ mimetype: "image/png",
27
+ };
28
+
3
29
  const DEFAULT_CONTENT = {
4
30
  layout: null,
5
31
  container: null,
@@ -10,29 +36,16 @@ const DEFAULT_CONTENT = {
10
36
  main_content: null,
11
37
  left_container: null,
12
38
  image_wrapper: null,
13
- main_image: {
14
- id: "2",
15
- location: "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH.png",
16
- kind: "image",
17
- mimetype: "image/png",
18
- srcset: {
19
- "320w":
20
- "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp",
21
- "640w":
22
- "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp",
23
- "1080w":
24
- "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp",
25
- path: "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp 320w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp 640w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp 1080w",
26
- },
27
- },
39
+ main_image: MEDIA_1,
28
40
  overlay_container: null,
29
41
  overlay_label: "<p>Richard Murphy</p>",
30
42
  overlay_value: "<p>CEO, Mistify</p>",
31
43
  right_container: null,
32
44
  team_description:
33
45
  "<p>Alexandra “Alex” Monroe is a strategic thinker, creative storyteller, and data-driven problem solver with over a decade of experience in brand development, digital transformation, and cross-functional leadership. Known for her ability to blend analytical insight with creative intuition, Alex has helped numerous global organizations redefine their identities, connect authentically with their audiences, and achieve measurable business growth.</p><p>After earning her Master’s degree in Communication and Media Studies from the University of Chicago, Alex began her career as a junior strategist at a boutique marketing firm. Her early exposure to a variety of industries—from consumer technology to sustainable fashion—shaped her holistic approach to brand building. She quickly rose through the ranks, taking on roles that allowed her to lead campaigns across North America, Europe, and Southeast Asia.</p><p>In 2016, Alex co-founded <strong>Maven &amp; Co.</strong>, a creative consultancy dedicated to helping mission-driven companies scale with purpose. Under her leadership, the firm expanded to serve clients in over 15 countries, developing award-winning campaigns recognized by <em>AdWeek</em> and <em>Forbes</em>. Her work has focused on integrating storytelling with technology—leveraging social data, behavioral psychology, and digital design to create brand ecosystems that resonate deeply with modern consumers.</p>",
34
- cta_wrapper: null,
35
- cta: "View Profile",
46
+ ctas_wrapper: null,
47
+ ctas_levoGroup: null,
48
+ ctas: [{ cta: "View Profile" }, { cta: "Contact Team" }],
36
49
  team_members: [
37
50
  {
38
51
  card: null,
@@ -140,7 +153,7 @@ export const Team5: IBlock = {
140
153
  {
141
154
  key: "overlay_label",
142
155
  label: "Overlay Label",
143
- field_interface: "TypographyWidget",
156
+ field_interface: "HeadingWidget",
144
157
  },
145
158
  {
146
159
  key: "overlay_value",
@@ -163,9 +176,17 @@ export const Team5: IBlock = {
163
176
  field_interface: "LayoutWidget",
164
177
  },
165
178
  {
166
- key: "cta",
167
- label: "CTA",
168
- field_interface: "ButtonWidget",
179
+ key: "ctas",
180
+ label: "CTA Buttons Group",
181
+ field_interface: "BoxWidget",
182
+ kind: "group",
183
+ fields: [
184
+ {
185
+ key: "cta",
186
+ label: "CTA Button",
187
+ field_interface: "ButtonWidget",
188
+ },
189
+ ],
169
190
  },
170
191
  ],
171
192
  layouts: [
@@ -173,19 +194,8 @@ export const Team5: IBlock = {
173
194
  key: "default",
174
195
  title: "Default",
175
196
  styles: {
176
- layout: {
177
- "padding-top": "3xl",
178
- "padding-bottom": "3xl",
179
- "padding-left": "base",
180
- "padding-right": "base",
181
- },
182
- container: {
183
- "max-width": "1280px",
184
- "margin-left": "auto",
185
- "margin-right": "auto",
186
- "padding-left": "none",
187
- "padding-right": "none",
188
- },
197
+ layout: {},
198
+ container: {},
189
199
  header: {
190
200
  "text-align": "center",
191
201
  "margin-bottom": "3xl",
@@ -243,9 +253,7 @@ export const Team5: IBlock = {
243
253
  },
244
254
  overlay_label: {
245
255
  opacity: "0.8",
246
- color: "text-1",
247
256
  "font-weight": 700,
248
- "font-size": "lg",
249
257
  },
250
258
  overlay_value: {},
251
259
  right_container: {
@@ -254,15 +262,21 @@ export const Team5: IBlock = {
254
262
  "flex-direction": "column",
255
263
  "row-gap": "lg",
256
264
  },
257
- team_description: {
258
- "font-size": "base",
259
- color: "text-2",
260
- "line-height": "1.6",
261
- },
265
+ team_description: {},
262
266
  cta_wrapper: {
263
267
  display: "flex",
264
268
  },
265
- cta: {},
269
+ ctas_levoGroup: {
270
+ display: "flex",
271
+ "flex-direction": "row",
272
+ "column-gap": "md",
273
+ "row-gap": "md",
274
+ "flex-wrap": "wrap",
275
+ "align-items": "center",
276
+ },
277
+ ctas: Array(2)
278
+ .fill(0)
279
+ .map(() => ({})),
266
280
  team_members_levoGroup: {
267
281
  display: "flex",
268
282
  "flex-direction": "column",
@@ -363,6 +377,17 @@ export const Team5: IBlock = {
363
377
  Heading_Level: "H2",
364
378
  },
365
379
  },
380
+ team_description: {
381
+ selectedVariants: {},
382
+ },
383
+ overlay_label: {
384
+ heading: {
385
+ level: "4",
386
+ },
387
+ selectedVariants: {
388
+ Heading_Level: "H6",
389
+ },
390
+ },
366
391
  },
367
392
  },
368
393
  ],
@@ -3,6 +3,7 @@ import {
3
3
  Box,
4
4
  Button,
5
5
  Container,
6
+ Heading,
6
7
  Image,
7
8
  Section,
8
9
  Typography,
@@ -10,7 +11,7 @@ import {
10
11
 
11
12
  import type { ITeam5Content } from "./team-5.schema";
12
13
 
13
- const Team5: React.FC<ILevoBlockBaseProps<ITeam5Content>> = () => {
14
+ const Team5: React.FC<ILevoBlockBaseProps<ITeam5Content>> = ({ content }) => {
14
15
  return (
15
16
  <Section elementKey="layout">
16
17
  <Container elementKey="container">
@@ -18,7 +19,7 @@ const Team5: React.FC<ILevoBlockBaseProps<ITeam5Content>> = () => {
18
19
  <Box elementKey="image_wrapper">
19
20
  <Image elementKey="main_image" alt="Team member" />
20
21
  <Box elementKey="overlay_container">
21
- <Typography elementKey="overlay_label" />
22
+ <Heading elementKey="overlay_label" />
22
23
  <Typography elementKey="overlay_value" />
23
24
  </Box>
24
25
  </Box>
@@ -26,7 +27,15 @@ const Team5: React.FC<ILevoBlockBaseProps<ITeam5Content>> = () => {
26
27
  <Box elementKey="right_container">
27
28
  <Typography elementKey="team_description" />
28
29
  <Box elementKey="cta_wrapper">
29
- <Button elementKey="cta" />
30
+ <Box elementKey="ctas_levoGroup" data-levo_group>
31
+ {(content?.ctas ?? []).map((_: any, index: number) => (
32
+ <Button
33
+ key={`ctas.${index}.cta`}
34
+ elementKey={`ctas.${index}.cta`}
35
+ data-levo_group_item
36
+ />
37
+ ))}
38
+ </Box>
30
39
  </Box>
31
40
  </Box>
32
41
  </Box>
@@ -96,26 +96,8 @@ export const TermsAndConditions1: IBlock = {
96
96
  key: "default",
97
97
  title: "Default",
98
98
  styles: {
99
- layout: {
100
- width: "100%",
101
- "padding-top": "8xl",
102
- "padding-bottom": "8xl",
103
- "background-color": "white",
104
- },
105
- container: {
106
- width: "100%",
107
- "margin-left": "auto",
108
- "margin-right": "auto",
109
- "padding-left": "none",
110
- "padding-right": "none",
111
- "media:max:768px": {
112
- "padding-left": "xl",
113
- "padding-right": "xl",
114
- },
115
- "max-width": "1200px",
116
- "padding-top": "none",
117
- "padding-bottom": "none",
118
- },
99
+ layout: {},
100
+ container: {},
119
101
  header_content: {
120
102
  display: "flex",
121
103
  "flex-direction": "column",
@@ -124,20 +106,16 @@ export const TermsAndConditions1: IBlock = {
124
106
  "margin-bottom": "6xl",
125
107
  "row-gap": "lg",
126
108
  },
127
- title: {
128
- color: "text-1",
129
- },
109
+ title: {},
130
110
  subtitle: {
131
- color: "text-2",
132
111
  "max-width": "2xl",
133
112
  },
134
113
  content_wrapper: {
135
114
  width: "100%",
136
115
  },
137
116
  content: {
138
- color: "text-1",
139
117
  "text-align": "justify",
140
- "media:max:768px": {
118
+ tablet: {
141
119
  "text-align": "left",
142
120
  },
143
121
  },
@@ -152,6 +130,11 @@ export const TermsAndConditions1: IBlock = {
152
130
  level: 2,
153
131
  },
154
132
  },
133
+ content: {
134
+ selectedVariants: {
135
+ Typography_Variants: "Body",
136
+ },
137
+ },
155
138
  },
156
139
  },
157
140
  ],