@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
@@ -1,5 +1,23 @@
1
1
  import type { IBlock } from "@levo-so/studio";
2
2
 
3
+ const MEDIA = {
4
+ id: "xloeGCSMg2rlJ",
5
+ filename: "faq-3-1.png",
6
+ kind: "image",
7
+ location: "https://static.levocdn.com/WLZ1TXTD/faq-3-1-VbXF9m7BPiX48.png",
8
+ srcset: {
9
+ "1080w": "https://static.levocdn.com/WLZ1TXTD/faq-3-1-VbXF9m7BPiX48-1080w.webp",
10
+ "1200w": "https://static.levocdn.com/WLZ1TXTD/faq-3-1-VbXF9m7BPiX48-1200w.webp",
11
+ "1920w": "https://static.levocdn.com/WLZ1TXTD/faq-3-1-VbXF9m7BPiX48-1920w.webp",
12
+ "320w": "https://static.levocdn.com/WLZ1TXTD/faq-3-1-VbXF9m7BPiX48-320w.webp",
13
+ "640w": "https://static.levocdn.com/WLZ1TXTD/faq-3-1-VbXF9m7BPiX48-640w.webp",
14
+ "750w": "https://static.levocdn.com/WLZ1TXTD/faq-3-1-VbXF9m7BPiX48-750w.webp",
15
+ "828w": "https://static.levocdn.com/WLZ1TXTD/faq-3-1-VbXF9m7BPiX48-828w.webp",
16
+ path: "https://static.levocdn.com/WLZ1TXTD/faq-3-1-VbXF9m7BPiX48-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/faq-3-1-VbXF9m7BPiX48-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/faq-3-1-VbXF9m7BPiX48-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/faq-3-1-VbXF9m7BPiX48-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/faq-3-1-VbXF9m7BPiX48-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/faq-3-1-VbXF9m7BPiX48-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/faq-3-1-VbXF9m7BPiX48-1920w.webp 1920w",
17
+ },
18
+ mimetype: "image/png",
19
+ };
20
+
3
21
  const DEFAULT_CONTENT = {
4
22
  layout: null,
5
23
  container: null,
@@ -7,12 +25,12 @@ const DEFAULT_CONTENT = {
7
25
  // header section
8
26
  header_container: null,
9
27
  title: "Frequently Asked Questions",
10
- description:
11
- "Get quick answers to the most common questions from our experienced team.",
28
+ description: "Get quick answers to the most common questions from our experienced team.",
12
29
 
13
30
  // main content wrapper with accordion and image in row
14
31
  main_content_container: null,
15
- header_cta: "Contact Us",
32
+ header_ctas_levoGroup: null,
33
+ header_ctas: [{ header_cta: "Contact Us" }, { header_cta: "Schedule Call" }],
16
34
  // accordions wrapper
17
35
  accordions_container: null,
18
36
 
@@ -59,31 +77,10 @@ const DEFAULT_CONTENT = {
59
77
  },
60
78
  ],
61
79
 
62
- cta: "Learn more",
80
+ ctas_levoGroup: null,
81
+ ctas: [{ cta: "Learn more" }, { cta: "Get Started" }],
63
82
 
64
- faq_image: {
65
- id: "7141014160938075687",
66
- location: "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH.png",
67
- kind: "image",
68
- mimetype: "image/png",
69
- srcset: {
70
- "1080w":
71
- "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp",
72
- "1200w":
73
- "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp",
74
- "1920w":
75
- "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp",
76
- "320w":
77
- "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp",
78
- "640w":
79
- "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp",
80
- "750w":
81
- "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp",
82
- "828w":
83
- "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp",
84
- path: "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp 640w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp 1080w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp 1200w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp 1920w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp 320w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp 750w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp 828w",
85
- },
86
- },
83
+ faq_image: MEDIA,
87
84
  };
88
85
 
89
86
  export type IFaq3Content = typeof DEFAULT_CONTENT;
@@ -138,9 +135,23 @@ export const Faq3: IBlock = {
138
135
  },
139
136
  },
140
137
  {
141
- key: "header_cta",
142
- label: "Header CTA",
143
- field_interface: "ButtonWidget",
138
+ key: "header_ctas",
139
+ label: "Header CTA Group",
140
+ field_interface: "BoxWidget",
141
+ kind: "group",
142
+ fields: [
143
+ {
144
+ key: "header_cta",
145
+ label: "Header CTA",
146
+ field_interface: "ButtonWidget",
147
+ },
148
+ ],
149
+ hint: {
150
+ prompt_description:
151
+ "Group of header call-to-action buttons for contact and related actions",
152
+ min_items: 1,
153
+ max_items: 3,
154
+ },
144
155
  },
145
156
  {
146
157
  key: "main_content_container",
@@ -181,7 +192,7 @@ export const Faq3: IBlock = {
181
192
  {
182
193
  key: "question",
183
194
  label: "Question",
184
- field_interface: "TypographyWidget",
195
+ field_interface: "HeadingWidget",
185
196
  hint: {
186
197
  prompt_description:
187
198
  "A frequently asked question. Should be direct, clear, and phrased from the user's perspective. Professional, sincere tone.",
@@ -214,9 +225,22 @@ export const Faq3: IBlock = {
214
225
  },
215
226
  },
216
227
  {
217
- key: "cta",
218
- label: "CTA",
219
- field_interface: "ButtonWidget",
228
+ key: "ctas",
229
+ label: "CTA Group",
230
+ field_interface: "BoxWidget",
231
+ kind: "group",
232
+ fields: [
233
+ {
234
+ key: "cta",
235
+ label: "CTA",
236
+ field_interface: "ButtonWidget",
237
+ },
238
+ ],
239
+ hint: {
240
+ prompt_description: "Group of call-to-action buttons for main conversion actions",
241
+ min_items: 1,
242
+ max_items: 3,
243
+ },
220
244
  },
221
245
  {
222
246
  key: "faq_image",
@@ -236,29 +260,8 @@ export const Faq3: IBlock = {
236
260
  key: "default",
237
261
  title: "Default",
238
262
  styles: {
239
- layout: {
240
- "padding-top": "5xl",
241
- "padding-bottom": "5xl",
242
- "padding-left": "3xl",
243
- "padding-right": "3xl",
244
- width: "100%",
245
- tablet: {
246
- "padding-top": "4xl",
247
- "padding-bottom": "4xl",
248
- "padding-left": "2xl",
249
- "padding-right": "2xl",
250
- },
251
- mobile: {
252
- "padding-top": "3xl",
253
- "padding-bottom": "3xl",
254
- "padding-left": "base",
255
- "padding-right": "base",
256
- },
257
- },
263
+ layout: {},
258
264
  container: {
259
- "max-width": "1280px",
260
- "margin-left": "auto",
261
- "margin-right": "auto",
262
265
  display: "flex",
263
266
  "flex-direction": "column",
264
267
  "row-gap": "4xl",
@@ -274,22 +277,22 @@ export const Faq3: IBlock = {
274
277
  "row-gap": "lg",
275
278
  },
276
279
  },
277
- title: {
278
- "font-size": "5xl",
279
- "font-weight": 700,
280
- color: "text-1",
281
- margin: "0",
282
- mobile: {
283
- "font-size": "3xl",
284
- },
280
+ header_ctas_levoGroup: {
281
+ display: "flex",
282
+ "flex-direction": "row",
283
+ "column-gap": "xs",
284
+ "row-gap": "xs",
285
+ "flex-wrap": "wrap",
286
+ "align-items": "center",
285
287
  },
288
+ header_ctas: Array(2)
289
+ .fill(0)
290
+ .map(() => ({
291
+ header_cta: {},
292
+ })),
293
+ title: {},
286
294
  description: {
287
- "font-size": "lg",
288
- color: "text-2",
289
- "font-weight": 400,
290
- "line-height": "1.6",
291
295
  mobile: {
292
- "font-size": "base",
293
296
  "margin-top": "sm",
294
297
  },
295
298
  },
@@ -326,10 +329,22 @@ export const Faq3: IBlock = {
326
329
  "object-fit": "cover",
327
330
  },
328
331
  },
329
- cta: {
330
- width: "fit-content",
332
+ ctas_levoGroup: {
333
+ display: "flex",
334
+ "flex-direction": "row",
335
+ "column-gap": "xs",
336
+ "row-gap": "xs",
337
+ "flex-wrap": "wrap",
338
+ "align-items": "center",
331
339
  "margin-top": "xl",
332
340
  },
341
+ ctas: Array(2)
342
+ .fill(0)
343
+ .map(() => ({
344
+ cta: {
345
+ width: "fit-content",
346
+ },
347
+ })),
333
348
  faqs: [
334
349
  {
335
350
  wrapper: {
@@ -340,12 +355,7 @@ export const Faq3: IBlock = {
340
355
  "border-style": "solid",
341
356
  },
342
357
  question: {
343
- "font-size": "xl",
344
358
  "font-weight": 600,
345
- color: "text-1",
346
- tablet: {
347
- "font-size": "lg",
348
- },
349
359
  },
350
360
  content: {
351
361
  "padding-top": "none",
@@ -361,10 +371,7 @@ export const Faq3: IBlock = {
361
371
  "align-items": "center",
362
372
  "column-gap": "base",
363
373
  },
364
- answer: {
365
- color: "text-2",
366
- "line-height": "1.6",
367
- },
374
+ answer: {},
368
375
  },
369
376
  {
370
377
  wrapper: {
@@ -375,12 +382,7 @@ export const Faq3: IBlock = {
375
382
  "border-style": "solid",
376
383
  },
377
384
  question: {
378
- "font-size": "xl",
379
385
  "font-weight": 600,
380
- color: "text-1",
381
- tablet: {
382
- "font-size": "lg",
383
- },
384
386
  },
385
387
  content: {
386
388
  "padding-top": "none",
@@ -396,10 +398,7 @@ export const Faq3: IBlock = {
396
398
  "align-items": "center",
397
399
  "column-gap": "base",
398
400
  },
399
- answer: {
400
- color: "text-2",
401
- "line-height": "1.6",
402
- },
401
+ answer: {},
403
402
  },
404
403
  {
405
404
  wrapper: {
@@ -410,12 +409,7 @@ export const Faq3: IBlock = {
410
409
  "border-style": "solid",
411
410
  },
412
411
  question: {
413
- "font-size": "xl",
414
412
  "font-weight": 600,
415
- color: "text-1",
416
- tablet: {
417
- "font-size": "lg",
418
- },
419
413
  },
420
414
  content: {
421
415
  "padding-top": "none",
@@ -431,10 +425,7 @@ export const Faq3: IBlock = {
431
425
  "align-items": "center",
432
426
  "column-gap": "base",
433
427
  },
434
- answer: {
435
- color: "text-2",
436
- "line-height": "1.6",
437
- },
428
+ answer: {},
438
429
  },
439
430
  {
440
431
  wrapper: {
@@ -445,12 +436,7 @@ export const Faq3: IBlock = {
445
436
  "border-style": "solid",
446
437
  },
447
438
  question: {
448
- "font-size": "xl",
449
439
  "font-weight": 600,
450
- color: "text-1",
451
- tablet: {
452
- "font-size": "lg",
453
- },
454
440
  },
455
441
  content: {
456
442
  "padding-top": "none",
@@ -466,15 +452,100 @@ export const Faq3: IBlock = {
466
452
  "align-items": "center",
467
453
  "column-gap": "base",
468
454
  },
455
+ answer: {},
456
+ },
457
+ ],
458
+ },
459
+ content: DEFAULT_CONTENT,
460
+ config: {
461
+ title: {
462
+ selectedVariants: {
463
+ Heading_Level: "H2",
464
+ },
465
+ },
466
+ description: {
467
+ selectedVariants: {
468
+ Typography_Variants: "Large",
469
+ },
470
+ },
471
+ faqs: [
472
+ {
473
+ question: {
474
+ heading: {
475
+ level: "4",
476
+ },
477
+ selectedVariants: {
478
+ Heading_Level: "H5",
479
+ },
480
+ },
481
+ answer: {
482
+ selectedVariants: {},
483
+ },
484
+ },
485
+ {
486
+ question: {
487
+ selectedVariants: {
488
+ Heading_Level: "H5",
489
+ },
490
+ },
469
491
  answer: {
470
- color: "text-2",
471
- "line-height": "1.6",
492
+ selectedVariants: {},
493
+ },
494
+ },
495
+ {
496
+ question: {
497
+ selectedVariants: {
498
+ Heading_Level: "H5",
499
+ },
500
+ },
501
+ answer: {
502
+ selectedVariants: {},
503
+ },
504
+ },
505
+ {
506
+ question: {
507
+ selectedVariants: {
508
+ Heading_Level: "H5",
509
+ },
510
+ },
511
+ answer: {
512
+ selectedVariants: {},
513
+ },
514
+ },
515
+ ],
516
+ header_ctas: [
517
+ {
518
+ header_cta: {
519
+ selectedVariants: {
520
+ Button_Variants: "Primary",
521
+ },
522
+ },
523
+ },
524
+ {
525
+ header_cta: {
526
+ selectedVariants: {
527
+ Button_Variants: "Secondary",
528
+ },
529
+ },
530
+ },
531
+ ],
532
+ ctas: [
533
+ {
534
+ cta: {
535
+ selectedVariants: {
536
+ Button_Variants: "Primary",
537
+ },
538
+ },
539
+ },
540
+ {
541
+ cta: {
542
+ selectedVariants: {
543
+ Button_Variants: "Secondary",
544
+ },
472
545
  },
473
546
  },
474
547
  ],
475
548
  },
476
- content: DEFAULT_CONTENT,
477
- config: {},
478
549
  },
479
550
  ],
480
551
  };
@@ -1,16 +1,16 @@
1
1
  import {
2
- type ILevoBlockBaseProps,
3
- Heading,
4
- Image,
5
- Typography,
6
- Container,
7
- Section,
8
- Box,
9
- AccordionRoot,
2
+ AccordionContent,
10
3
  AccordionItem,
4
+ AccordionRoot,
11
5
  AccordionTrigger,
12
- AccordionContent,
6
+ Box,
13
7
  Button,
8
+ Container,
9
+ Heading,
10
+ type ILevoBlockBaseProps,
11
+ Image,
12
+ Section,
13
+ Typography,
14
14
  } from "@levo-so/studio";
15
15
 
16
16
  import type { IFaq3Content } from "./faq-3.schema";
@@ -21,7 +21,15 @@ const Faq3: React.FC<ILevoBlockBaseProps<IFaq3Content>> = ({ content }) => (
21
21
  <Box elementKey="header_container">
22
22
  <Heading elementKey="title" />
23
23
  <Typography elementKey="description" />
24
- <Button elementKey="header_cta" />
24
+ <Box elementKey="header_ctas_levoGroup" data-levo_group>
25
+ {(content?.header_ctas ?? []).map((_: any, index: number) => (
26
+ <Button
27
+ key={`header_ctas.${index}.header_cta`}
28
+ elementKey={`header_ctas.${index}.header_cta`}
29
+ data-levo_group_item
30
+ />
31
+ ))}
32
+ </Box>
25
33
  </Box>
26
34
 
27
35
  <Box elementKey="main_content_container">
@@ -41,11 +49,8 @@ const Faq3: React.FC<ILevoBlockBaseProps<IFaq3Content>> = ({ content }) => (
41
49
  >
42
50
  <AccordionTrigger elementKey={`faqs.${index}.trigger`}>
43
51
  <Box elementKey={`faqs.${index}.iconQuestionWrapper`}>
44
- <Image
45
- alt="icon"
46
- elementKey={`faqs.${index}.triggerIcon`}
47
- />
48
- <Typography elementKey={`faqs.${index}.question`} />
52
+ <Image alt="icon" elementKey={`faqs.${index}.triggerIcon`} />
53
+ <Heading elementKey={`faqs.${index}.question`} />
49
54
  </Box>
50
55
  </AccordionTrigger>
51
56
  <AccordionContent elementKey={`faqs.${index}.content`}>
@@ -54,15 +59,18 @@ const Faq3: React.FC<ILevoBlockBaseProps<IFaq3Content>> = ({ content }) => (
54
59
  </AccordionItem>
55
60
  ))}
56
61
  </AccordionRoot>
57
- <Button elementKey="cta" />
62
+ <Box elementKey="ctas_levoGroup" data-levo_group>
63
+ {(content?.ctas ?? []).map((_: any, index: number) => (
64
+ <Button
65
+ key={`ctas.${index}.cta`}
66
+ elementKey={`ctas.${index}.cta`}
67
+ data-levo_group_item
68
+ />
69
+ ))}
70
+ </Box>
58
71
  </Box>
59
72
 
60
- <Image
61
- elementKey="faq_image"
62
- width={400}
63
- height={500}
64
- alt="FAQ support illustration"
65
- />
73
+ <Image elementKey="faq_image" width={400} height={500} alt="FAQ support illustration" />
66
74
  </Box>
67
75
  </Container>
68
76
  </Section>
@@ -120,7 +120,7 @@ export const Features1: IBlock = {
120
120
  {
121
121
  key: "title",
122
122
  label: "Title",
123
- field_interface: "TypographyWidget",
123
+ field_interface: "HeadingWidget",
124
124
  hint: {
125
125
  prompt_description:
126
126
  "Specialty name featured as a bold card heading. Use succinct and clear phrasing (2–4 words), all significant words capitalized. Professional and direct style.",
@@ -145,9 +145,17 @@ export const Features1: IBlock = {
145
145
  field_interface: "TypographyWidget",
146
146
  },
147
147
  {
148
- key: "cta",
149
- label: "Cta",
148
+ key: "ctas",
149
+ label: "CTA Group",
150
150
  field_interface: "ButtonWidget",
151
+ kind: "group",
152
+ fields: [
153
+ {
154
+ key: "cta",
155
+ label: "Cta",
156
+ field_interface: "ButtonWidget",
157
+ },
158
+ ],
151
159
  },
152
160
  ],
153
161
  hint: {
@@ -1,19 +1,17 @@
1
1
  import {
2
- type ILevoBlockBaseProps,
3
2
  Box,
4
3
  Button,
5
4
  Container,
6
5
  Heading,
7
6
  Icon,
7
+ type ILevoBlockBaseProps,
8
8
  Section,
9
9
  Typography,
10
10
  } from "@levo-so/studio";
11
11
 
12
12
  import type { IFeatures1Content } from "./features-1.schema";
13
13
 
14
- const Features1: React.FC<ILevoBlockBaseProps<IFeatures1Content>> = ({
15
- content,
16
- }) => (
14
+ const Features1: React.FC<ILevoBlockBaseProps<IFeatures1Content>> = ({ content }) => (
17
15
  <Section elementKey="layout">
18
16
  <Container elementKey="container">
19
17
  <Box elementKey="text_wrapper">
@@ -36,7 +34,16 @@ const Features1: React.FC<ILevoBlockBaseProps<IFeatures1Content>> = ({
36
34
  <Heading elementKey={`specialties.${index}.title`} />
37
35
  <Typography elementKey={`specialties.${index}.description`} />
38
36
  <Typography elementKey={`specialties.${index}.caption`} />
39
- <Button elementKey={`specialties.${index}.cta`} />
37
+ <Box elementKey={`specialties.${index}.ctas_levoGroup`}>
38
+ {content?.specialties?.[index]?.ctas?.map((v, idx) => {
39
+ return (
40
+ <Button
41
+ key={`specialties.${index}.ctas.${idx}.cta`}
42
+ elementKey={`specialties.${index}.ctas.${idx}.cta`}
43
+ />
44
+ );
45
+ })}
46
+ </Box>
40
47
  </Box>
41
48
  </Box>
42
49
  ))}