@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
@@ -2,19 +2,17 @@ import {
2
2
  Box,
3
3
  Container,
4
4
  Heading,
5
- Image,
5
+ Icon,
6
6
  type ILevoBlockBaseProps,
7
+ Image,
7
8
  Section,
8
9
  Typography,
9
- Icon,
10
10
  } from "@levo-so/studio";
11
- import React from "react";
11
+ import type React from "react";
12
12
 
13
13
  import type { ICards14Content } from "./cards-14.schema";
14
14
 
15
- const Cards14: React.FC<ILevoBlockBaseProps<ICards14Content>> = ({
16
- content,
17
- }) => (
15
+ const Cards14: React.FC<ILevoBlockBaseProps<ICards14Content>> = ({ content }) => (
18
16
  <Section elementKey="layout">
19
17
  <Container elementKey="container">
20
18
  <Box elementKey="header_section">
@@ -25,11 +23,7 @@ const Cards14: React.FC<ILevoBlockBaseProps<ICards14Content>> = ({
25
23
  <Box elementKey="left_container">
26
24
  <Box elementKey="cards_levoGroup" data-levo_group>
27
25
  {(content?.cards ?? []).map((_, index: number) => (
28
- <Box
29
- key={`card-${index}`}
30
- data-levo_group_item
31
- elementKey={`cards.${index}.card`}
32
- >
26
+ <Box key={`card-${index}`} data-levo_group_item elementKey={`cards.${index}.card`}>
33
27
  <Box elementKey={`cards.${index}.content_wrapper`}>
34
28
  <Typography elementKey={`cards.${index}.description`} />
35
29
  <Box elementKey={`cards.${index}.value_container`}>
@@ -1,26 +1,32 @@
1
1
  import type { IBlock } from "@levo-so/studio";
2
2
 
3
- const DEFAULT_IMAGE = {
4
- id: "2",
5
- location: "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH.png",
3
+ const MEDIA = {
4
+ id: "DNP1ms1aXWQFH",
5
+ filename: "cards-15-1.png",
6
6
  kind: "image",
7
- mimetype: "image/png",
7
+ location: "https://static.levocdn.com/WLZ1TXTD/cards-15-1-8eRfX0UmDhq7G.png",
8
8
  srcset: {
9
- "320w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp",
10
- "640w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp",
11
- "1080w":
12
- "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp",
13
- 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",
9
+ "1080w": "https://static.levocdn.com/WLZ1TXTD/cards-15-1-8eRfX0UmDhq7G-1080w.webp",
10
+ "1200w": "https://static.levocdn.com/WLZ1TXTD/cards-15-1-8eRfX0UmDhq7G-1200w.webp",
11
+ "1920w": "https://static.levocdn.com/WLZ1TXTD/cards-15-1-8eRfX0UmDhq7G-1920w.webp",
12
+ "320w": "https://static.levocdn.com/WLZ1TXTD/cards-15-1-8eRfX0UmDhq7G-320w.webp",
13
+ "640w": "https://static.levocdn.com/WLZ1TXTD/cards-15-1-8eRfX0UmDhq7G-640w.webp",
14
+ "750w": "https://static.levocdn.com/WLZ1TXTD/cards-15-1-8eRfX0UmDhq7G-750w.webp",
15
+ "828w": "https://static.levocdn.com/WLZ1TXTD/cards-15-1-8eRfX0UmDhq7G-828w.webp",
16
+ path: "https://static.levocdn.com/WLZ1TXTD/cards-15-1-8eRfX0UmDhq7G-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/cards-15-1-8eRfX0UmDhq7G-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/cards-15-1-8eRfX0UmDhq7G-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/cards-15-1-8eRfX0UmDhq7G-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/cards-15-1-8eRfX0UmDhq7G-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/cards-15-1-8eRfX0UmDhq7G-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/cards-15-1-8eRfX0UmDhq7G-828w.webp 828w",
14
17
  },
18
+ mimetype: "image/png",
15
19
  };
16
20
 
17
21
  const DEFAULT_CONTENT = {
18
22
  layout: null,
19
23
  container: null,
20
24
  content_wrapper: null,
21
- image: DEFAULT_IMAGE,
25
+ image: MEDIA,
22
26
  info_section: null,
23
27
  title: "Tapadia Diagnostics in your city",
28
+ description:
29
+ "Tapadia Diagnostics in your city Tapadia Diagnostics in your city Tapadia Diagnostics in your city Tapadia Diagnostics in your city ",
24
30
  cities_levoGroup: null,
25
31
  cities: [
26
32
  {
@@ -54,7 +60,8 @@ const DEFAULT_CONTENT = {
54
60
  city_name: "Kolkata",
55
61
  },
56
62
  ],
57
- cta: "Book Your Test",
63
+ ctas_levoGroup: null,
64
+ ctas: [{ cta: "Book Your Test" }, { cta: "Find Centers" }],
58
65
  };
59
66
 
60
67
  export type ICards15Content = typeof DEFAULT_CONTENT;
@@ -99,6 +106,11 @@ export const Cards15: IBlock = {
99
106
  label: "Title",
100
107
  field_interface: "HeadingWidget",
101
108
  },
109
+ {
110
+ key: "description",
111
+ label: "Description",
112
+ field_interface: "TypographyWidget",
113
+ },
102
114
  {
103
115
  key: "cities",
104
116
  label: "Cities",
@@ -113,9 +125,17 @@ export const Cards15: IBlock = {
113
125
  ],
114
126
  },
115
127
  {
116
- key: "cta",
117
- label: "CTA ",
118
- field_interface: "ButtonWidget",
128
+ key: "ctas",
129
+ label: "CTA Buttons Group",
130
+ field_interface: "BoxWidget",
131
+ kind: "group",
132
+ fields: [
133
+ {
134
+ key: "cta",
135
+ label: "CTA Button",
136
+ field_interface: "ButtonWidget",
137
+ },
138
+ ],
119
139
  },
120
140
  ],
121
141
  layouts: [
@@ -123,18 +143,12 @@ export const Cards15: IBlock = {
123
143
  key: "default",
124
144
  title: "Default",
125
145
  styles: {
126
- layout: {
127
- "padding-top": "3xl",
128
- "padding-bottom": "3xl",
129
- "background-color": "background-2",
130
- "border-radius": "base",
131
- },
132
- container: {
133
- "max-width": "1280px",
134
- "margin-left": "auto",
135
- "margin-right": "auto",
136
- "padding-left": "lg",
137
- "padding-right": "lg",
146
+ layout: {},
147
+ container: {},
148
+ ctas_levoGroup: {
149
+ display: "flex",
150
+ "align-items": "center",
151
+ "column-gap": "lg",
138
152
  },
139
153
  content_wrapper: {
140
154
  display: "flex",
@@ -146,12 +160,10 @@ export const Cards15: IBlock = {
146
160
  "flex-direction": "column",
147
161
  gap: "lg",
148
162
  },
149
- "background-color": "oklch(0.9738 0.013 11.5415)",
150
163
  "padding-right": "3xl",
151
164
  "padding-left": "3xl",
152
165
  "margin-top": "none",
153
166
  },
154
-
155
167
  image: {
156
168
  "object-fit": "contain",
157
169
  width: "500px",
@@ -175,10 +187,8 @@ export const Cards15: IBlock = {
175
187
  },
176
188
  },
177
189
  title: {
178
- color: "text-1",
179
- "font-size": "2xl",
180
- "font-weight": "700",
181
190
  "margin-bottom": "lg",
191
+ "font-weight": 700,
182
192
  },
183
193
  cities_levoGroup: {
184
194
  display: "flex",
@@ -271,7 +281,13 @@ export const Cards15: IBlock = {
271
281
  ],
272
282
  },
273
283
  content: DEFAULT_CONTENT,
274
- config: {},
284
+ config: {
285
+ title: {
286
+ selectedVariants: {
287
+ Heading_Level: "H5",
288
+ },
289
+ },
290
+ },
275
291
  },
276
292
  ],
277
293
  };
@@ -1,9 +1,9 @@
1
1
  import {
2
- type ILevoBlockBaseProps,
3
2
  Box,
4
3
  Button,
5
4
  Container,
6
5
  Heading,
6
+ type ILevoBlockBaseProps,
7
7
  Image,
8
8
  Section,
9
9
  Typography,
@@ -11,15 +11,16 @@ import {
11
11
 
12
12
  import type { ICards15Content } from "./cards-15.schema";
13
13
 
14
- const Cards15: React.FC<ILevoBlockBaseProps<ICards15Content>> = ({
15
- content,
16
- }) => (
14
+ const Cards15: React.FC<ILevoBlockBaseProps<ICards15Content>> = ({ content }) => (
17
15
  <Section elementKey="layout">
18
16
  <Container elementKey="container">
19
17
  <Box elementKey="content_wrapper">
20
18
  <Image alt="India Map" elementKey="image" width={500} height={500} />
21
19
  <Box elementKey="info_section">
22
- <Heading elementKey="title" />
20
+ <Box elementKey="header">
21
+ <Heading elementKey="title" />
22
+ <Typography elementKey="description" />
23
+ </Box>
23
24
  <Box data-levo_group elementKey="cities_levoGroup">
24
25
  {(content.cities ?? []).map((_, index) => (
25
26
  <Typography
@@ -30,7 +31,15 @@ const Cards15: React.FC<ILevoBlockBaseProps<ICards15Content>> = ({
30
31
  ))}
31
32
  </Box>
32
33
 
33
- <Button elementKey="cta" />
34
+ <Box elementKey={`ctas_levoGroup`} data-levo_group>
35
+ {(content?.ctas ?? []).map((_: any, index: number) => (
36
+ <Button
37
+ key={`ctas.${index}.cta`}
38
+ elementKey={`ctas.${index}.cta`}
39
+ data-levo_group_item
40
+ />
41
+ ))}
42
+ </Box>
34
43
  </Box>
35
44
  </Box>
36
45
  </Container>
@@ -1,62 +1,42 @@
1
1
  import type { IBlock } from "@levo-so/studio";
2
2
 
3
+ const DEFAULT_MEDIA = {
4
+ id: "01TbGtz7hzVKW",
5
+ filename: "cards-2-1.png",
6
+ kind: "image",
7
+ location: "https://static.levocdn.com/WLZ1TXTD/cards-2-1-UpLYXWh3ohMYH.png",
8
+ srcset: {
9
+ "1080w": "https://static.levocdn.com/WLZ1TXTD/cards-2-1-UpLYXWh3ohMYH-1080w.webp",
10
+ "1200w": "https://static.levocdn.com/WLZ1TXTD/cards-2-1-UpLYXWh3ohMYH-1200w.webp",
11
+ "1920w": "https://static.levocdn.com/WLZ1TXTD/cards-2-1-UpLYXWh3ohMYH-1920w.webp",
12
+ "320w": "https://static.levocdn.com/WLZ1TXTD/cards-2-1-UpLYXWh3ohMYH-320w.webp",
13
+ "640w": "https://static.levocdn.com/WLZ1TXTD/cards-2-1-UpLYXWh3ohMYH-640w.webp",
14
+ "750w": "https://static.levocdn.com/WLZ1TXTD/cards-2-1-UpLYXWh3ohMYH-750w.webp",
15
+ "828w": "https://static.levocdn.com/WLZ1TXTD/cards-2-1-UpLYXWh3ohMYH-828w.webp",
16
+ path: "https://static.levocdn.com/WLZ1TXTD/cards-2-1-UpLYXWh3ohMYH-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/cards-2-1-UpLYXWh3ohMYH-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/cards-2-1-UpLYXWh3ohMYH-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/cards-2-1-UpLYXWh3ohMYH-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/cards-2-1-UpLYXWh3ohMYH-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/cards-2-1-UpLYXWh3ohMYH-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/cards-2-1-UpLYXWh3ohMYH-320w.webp 320w",
17
+ },
18
+ mimetype: "image/png",
19
+ };
20
+
3
21
  const DEFAULT_CONTENT = {
4
22
  layout: null,
5
23
  container: null,
6
24
  card_wrapper: null,
7
25
  content_wrapper: null,
26
+ buttons_levoGroup: null,
27
+ buttons: [
28
+ {
29
+ button: "Book A Demo",
30
+ },
31
+ {
32
+ button: "Learn More",
33
+ },
34
+ ],
8
35
  title: "Achieve More with Less Efforts",
9
36
  description:
10
37
  "We processes more than 10k job applications every week with 500+ employers. Book a demo to see how we can help you in scaling your placements.",
11
- button: "Book A Demo",
12
- image_desktop: {
13
- id: "7141014160938075687",
14
- location:
15
- "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH.png",
16
- kind: "image",
17
- mimetype: "image/png",
18
- srcset: {
19
- "1080w":
20
- "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp",
21
- "1200w":
22
- "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp",
23
- "1920w":
24
- "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp",
25
- "320w":
26
- "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp",
27
- "640w":
28
- "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp",
29
- "750w":
30
- "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp",
31
- "828w":
32
- "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp",
33
- path: "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp 828w",
34
- },
35
- },
36
- image_mobile: {
37
- id: "7141014160938075687",
38
- location:
39
- "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH.png",
40
- kind: "image",
41
- mimetype: "image/png",
42
- srcset: {
43
- "1080w":
44
- "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp",
45
- "1200w":
46
- "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp",
47
- "1920w":
48
- "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp",
49
- "320w":
50
- "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp",
51
- "640w":
52
- "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp",
53
- "750w":
54
- "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp",
55
- "828w":
56
- "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp",
57
- path: "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp 828w",
58
- },
59
- },
38
+ image_desktop: DEFAULT_MEDIA,
39
+ image_mobile: DEFAULT_MEDIA,
60
40
  };
61
41
 
62
42
  export type ICard2Content = typeof DEFAULT_CONTENT;
@@ -128,15 +108,23 @@ export const Cards2: IBlock = {
128
108
  },
129
109
  },
130
110
  {
131
- key: "button",
132
- label: "Button",
133
- field_interface: "ButtonWidget",
134
- hint: {
135
- prompt_description:
136
- "Primary call to action button text, inviting users to book a demo or take the next step. Tone is direct, action-oriented, and concise.",
137
- min_characters: 10,
138
- max_characters: 24,
139
- },
111
+ key: "buttons",
112
+ label: "Card Buttons Group",
113
+ field_interface: "BoxWidget",
114
+ kind: "group",
115
+ fields: [
116
+ {
117
+ key: "button",
118
+ label: "Card Button",
119
+ field_interface: "ButtonWidget",
120
+ hint: {
121
+ prompt_description:
122
+ "Primary call to action button text, inviting users to book a demo or take the next step. Tone is direct, action-oriented, and concise.",
123
+ min_characters: 10,
124
+ max_characters: 24,
125
+ },
126
+ },
127
+ ],
140
128
  },
141
129
  {
142
130
  key: "image_wrapper",
@@ -178,33 +166,16 @@ export const Cards2: IBlock = {
178
166
  key: "default",
179
167
  styles: {
180
168
  layout: {
181
- width: "100%",
182
- "background-color": "background-1",
183
- },
184
- container: {
185
- "padding-top": "10xl",
186
- "padding-bottom": "10xl",
187
- "margin-left": "auto",
188
- "margin-right": "auto",
189
- "padding-left": "7xl",
190
- "padding-right": "7xl",
191
- "media:max:480px": {
192
- "padding-left": "lg",
193
- "padding-right": "lg",
194
- },
195
- "media:max:768px": {
196
- "padding-left": "5xl",
197
- "padding-right": "5xl",
198
- },
169
+ "background-color": "brand",
199
170
  },
171
+ container: {},
200
172
  card_wrapper: {
201
173
  display: "flex",
202
174
  "flex-direction": "row",
203
175
  "align-items": "center",
204
176
  "justify-content": "space-between",
205
177
  "border-radius": "base",
206
-
207
- "media:max:768px": {
178
+ tablet: {
208
179
  "flex-direction": "column",
209
180
  "padding-left": "none",
210
181
  "justify-content": "center",
@@ -219,14 +190,14 @@ export const Cards2: IBlock = {
219
190
  "margin-bottom": "7xl",
220
191
  "max-width": "36rem",
221
192
  "row-gap": "xl",
222
- "media:max:768px": {
193
+ tablet: {
223
194
  "row-gap": "xs",
224
195
  padding: "2xl",
225
196
  "max-width": "none",
226
197
  "margin-left": "none",
227
198
  "margin-top": "none",
228
199
  },
229
- "media:max:480px": {
200
+ mobile: {
230
201
  "margin-left": "0",
231
202
  "margin-top": "0",
232
203
  "margin-bottom": "0",
@@ -238,14 +209,19 @@ export const Cards2: IBlock = {
238
209
  description: {
239
210
  color: "brandForeground",
240
211
  },
241
- button: {
242
- width: "fit-content",
243
- "background-color": "brandSecondary",
244
- color: "brandSecondaryForeground",
245
- _hover: {
246
- opacity: 0.85,
247
- },
212
+ buttons_levoGroup: {
213
+ display: "flex",
214
+ "flex-direction": "row",
215
+ "column-gap": "md",
216
+ "row-gap": "md",
217
+ "flex-wrap": "wrap",
218
+ "align-items": "center",
248
219
  },
220
+ buttons: Array(2)
221
+ .fill(0)
222
+ .map(() => ({
223
+ button: {},
224
+ })),
249
225
  image_desktop: {
250
226
  width: "auto",
251
227
  "align-self": "end",
@@ -281,9 +257,21 @@ export const Cards2: IBlock = {
281
257
  level: 2,
282
258
  },
283
259
  selectedVariants: {
284
- Heading_Level: "H2",
260
+ Heading_Level: "H3",
285
261
  },
286
262
  },
263
+ buttons: [
264
+ {
265
+ button: {
266
+ selectedVariants: {},
267
+ },
268
+ },
269
+ {
270
+ button: {
271
+ selectedVariants: {},
272
+ },
273
+ },
274
+ ],
287
275
  },
288
276
  },
289
277
  ],
@@ -1,32 +1,27 @@
1
1
  import type { ILevoBlockBaseProps } from "@levo-so/studio";
2
- import {
3
- Box,
4
- Button,
5
- Container,
6
- Heading,
7
- Image,
8
- Section,
9
- Typography,
10
- } from "@levo-so/studio";
2
+ import { Box, Button, Container, Heading, Image, Section, Typography } from "@levo-so/studio";
11
3
 
12
4
  import type { ICard2Content } from "./cards-2.schema";
13
5
 
14
- const Cards2: React.FC<ILevoBlockBaseProps<ICard2Content>> = ({}) => (
6
+ const Cards2: React.FC<ILevoBlockBaseProps<ICard2Content>> = ({ content }) => (
15
7
  <Section elementKey="layout">
16
8
  <Container elementKey="container">
17
9
  <Box elementKey="card_wrapper">
18
10
  <Box elementKey="content_wrapper">
19
11
  <Heading elementKey="title" />
20
12
  <Typography elementKey="description" />
21
- <Button elementKey="button" />
13
+ <Box elementKey="buttons_levoGroup" data-levo_group>
14
+ {(content.buttons ?? []).map((_: any, index: number) => (
15
+ <Button
16
+ key={`buttons.${index}.button`}
17
+ elementKey={`buttons.${index}.button`}
18
+ data-levo_group_item
19
+ />
20
+ ))}
21
+ </Box>
22
22
  </Box>
23
23
  <Box elementKey="image_wrapper">
24
- <Image
25
- elementKey="image_desktop"
26
- width={475}
27
- height={355}
28
- alt="Card feature image"
29
- />
24
+ <Image elementKey="image_desktop" width={475} height={355} alt="Card feature image" />
30
25
  <Image
31
26
  elementKey="image_mobile"
32
27
  width={475}