@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,119 +1,148 @@
1
1
  import {
2
- type ILevoBlockBaseProps,
2
+ Box,
3
3
  Button,
4
+ Container,
4
5
  Heading,
6
+ type ILevoBlockBaseProps,
5
7
  Image,
6
- Typography,
7
- Container,
8
8
  Section,
9
- Box,
9
+ Typography,
10
10
  } from "@levo-so/studio";
11
11
 
12
12
  import type { IProductsListing3Content } from "./products-listing-3.schema";
13
13
 
14
- const ProductsListing3: React.FC<
15
- ILevoBlockBaseProps<IProductsListing3Content>
16
- > = ({ content }) => (
14
+ const ProductsListing3: React.FC<ILevoBlockBaseProps<IProductsListing3Content>> = ({ content }) => (
17
15
  <Section elementKey="layout">
18
16
  <Container elementKey="container">
19
17
  <Box elementKey="header_container">
20
- <Heading elementKey="title" />
21
- <Button elementKey="header_cta" />
18
+ <Box elementKey="header_content">
19
+ <Heading elementKey="title" />
20
+ <Typography elementKey="description" />
21
+ </Box>
22
+ <Box elementKey="header_ctas_levoGroup" data-levo_group>
23
+ {(content.header_ctas ?? []).map((_, index) => (
24
+ <Button
25
+ key={`header_ctas.${index}.header_cta`}
26
+ elementKey={`header_ctas.${index}.header_cta`}
27
+ data-levo_group_item
28
+ />
29
+ ))}
30
+ </Box>
22
31
  </Box>
23
32
  <Box data-levo_group elementKey="product_groups_levoGroup">
24
33
  {(content?.product_groups ?? []).map((_, groupIndex) => (
25
- <Box
26
- key={groupIndex}
27
- elementKey={`product_groups.${groupIndex}.groups_container`}
28
- >
34
+ <Box key={groupIndex} elementKey={`product_groups.${groupIndex}.groups_container`}>
29
35
  <Box
30
36
  data-levo_group
31
37
  elementKey={`product_groups.${groupIndex}.products_with_images_levoGroup`}
32
38
  >
33
- {(
34
- content.product_groups?.[groupIndex]?.products_with_images ?? []
35
- ).map((_, index) => (
36
- <Box
37
- data-levo_group_item
38
- elementKey={`product_groups.${groupIndex}.products_with_images.${index}.card`}
39
- key={index}
40
- >
41
- <Image
42
- alt="product image"
43
- elementKey={`product_groups.${groupIndex}.products_with_images.${index}.image`}
44
- width={400}
45
- height={400}
46
- />
39
+ {(content.product_groups?.[groupIndex]?.products_with_images ?? []).map(
40
+ (_, index) => (
47
41
  <Box
48
- elementKey={`product_groups.${groupIndex}.products_with_images.${index}.content_wrapper`}
42
+ data-levo_group_item
43
+ elementKey={`product_groups.${groupIndex}.products_with_images.${index}.card`}
44
+ key={index}
49
45
  >
50
- <Heading
51
- elementKey={`product_groups.${groupIndex}.products_with_images.${index}.title`}
52
- />
53
- <Typography
54
- elementKey={`product_groups.${groupIndex}.products_with_images.${index}.description`}
46
+ <Image
47
+ alt="product image"
48
+ elementKey={`product_groups.${groupIndex}.products_with_images.${index}.image`}
49
+ width={400}
50
+ height={400}
55
51
  />
56
52
  <Box
57
- elementKey={`product_groups.${groupIndex}.products_with_images.${index}.price_container`}
53
+ elementKey={`product_groups.${groupIndex}.products_with_images.${index}.content_wrapper`}
58
54
  >
59
- <Typography
60
- elementKey={`product_groups.${groupIndex}.products_with_images.${index}.actual_price`}
55
+ <Heading
56
+ elementKey={`product_groups.${groupIndex}.products_with_images.${index}.title`}
61
57
  />
62
58
  <Typography
63
- elementKey={`product_groups.${groupIndex}.products_with_images.${index}.discount_price`}
64
- />
65
- <Typography
66
- elementKey={`product_groups.${groupIndex}.products_with_images.${index}.off_percent`}
59
+ elementKey={`product_groups.${groupIndex}.products_with_images.${index}.description`}
67
60
  />
61
+ <Box
62
+ elementKey={`product_groups.${groupIndex}.products_with_images.${index}.price_container`}
63
+ >
64
+ <Typography
65
+ elementKey={`product_groups.${groupIndex}.products_with_images.${index}.actual_price`}
66
+ />
67
+ <Typography
68
+ elementKey={`product_groups.${groupIndex}.products_with_images.${index}.discount_price`}
69
+ />
70
+ <Typography
71
+ elementKey={`product_groups.${groupIndex}.products_with_images.${index}.off_percent`}
72
+ />
73
+ </Box>
74
+ <Box
75
+ elementKey={`product_groups.${groupIndex}.products_with_images.${index}.ctas_levoGroup`}
76
+ data-levo_group
77
+ >
78
+ {(
79
+ content?.product_groups?.[groupIndex]?.products_with_images?.[index]
80
+ ?.ctas ?? []
81
+ ).map((_, i) => (
82
+ <Button
83
+ key={`product_groups.${groupIndex}.products_with_images.${index}.ctas.${i}.cta`}
84
+ elementKey={`product_groups.${groupIndex}.products_with_images.${index}.ctas.${i}.cta`}
85
+ data-levo_group_item
86
+ />
87
+ ))}
88
+ </Box>
68
89
  </Box>
69
- <Button
70
- elementKey={`product_groups.${groupIndex}.products_with_images.${index}.cta`}
71
- />
72
90
  </Box>
73
- </Box>
74
- ))}
91
+ ),
92
+ )}
75
93
  </Box>
76
94
  <Box
77
95
  data-levo_group
78
96
  elementKey={`product_groups.${groupIndex}.products_without_images_levoGroup`}
79
97
  >
80
- {(
81
- content.product_groups?.[groupIndex]?.products_without_images ??
82
- []
83
- ).map((_, index) => (
84
- <Box
85
- data-levo_group_item
86
- elementKey={`product_groups.${groupIndex}.products_without_images.${index}.card`}
87
- key={index}
88
- >
98
+ {(content.product_groups?.[groupIndex]?.products_without_images ?? []).map(
99
+ (_, index) => (
89
100
  <Box
90
- elementKey={`product_groups.${groupIndex}.products_without_images.${index}.content_wrapper`}
101
+ data-levo_group_item
102
+ elementKey={`product_groups.${groupIndex}.products_without_images.${index}.card`}
103
+ key={index}
91
104
  >
92
- <Heading
93
- elementKey={`product_groups.${groupIndex}.products_without_images.${index}.title`}
94
- />
95
- <Typography
96
- elementKey={`product_groups.${groupIndex}.products_without_images.${index}.description`}
97
- />
98
105
  <Box
99
- elementKey={`product_groups.${groupIndex}.products_without_images.${index}.price_container`}
106
+ elementKey={`product_groups.${groupIndex}.products_without_images.${index}.content_wrapper`}
100
107
  >
101
- <Typography
102
- elementKey={`product_groups.${groupIndex}.products_without_images.${index}.actual_price`}
103
- />
104
- <Typography
105
- elementKey={`product_groups.${groupIndex}.products_without_images.${index}.discount_price`}
108
+ <Heading
109
+ elementKey={`product_groups.${groupIndex}.products_without_images.${index}.title`}
106
110
  />
107
111
  <Typography
108
- elementKey={`product_groups.${groupIndex}.products_without_images.${index}.off_percent`}
112
+ elementKey={`product_groups.${groupIndex}.products_without_images.${index}.description`}
109
113
  />
114
+ <Box
115
+ elementKey={`product_groups.${groupIndex}.products_without_images.${index}.price_container`}
116
+ >
117
+ <Typography
118
+ elementKey={`product_groups.${groupIndex}.products_without_images.${index}.actual_price`}
119
+ />
120
+ <Typography
121
+ elementKey={`product_groups.${groupIndex}.products_without_images.${index}.discount_price`}
122
+ />
123
+ <Typography
124
+ elementKey={`product_groups.${groupIndex}.products_without_images.${index}.off_percent`}
125
+ />
126
+ </Box>
127
+ <Box
128
+ elementKey={`product_groups.${groupIndex}.products_without_images.${index}.ctas_levoGroup`}
129
+ data-levo_group
130
+ >
131
+ {(
132
+ content?.product_groups?.[groupIndex]?.products_without_images?.[index]
133
+ ?.ctas ?? []
134
+ ).map((_, i) => (
135
+ <Button
136
+ key={`product_groups.${groupIndex}.products_without_images.${index}.ctas.${i}.cta`}
137
+ elementKey={`product_groups.${groupIndex}.products_without_images.${index}.ctas.${i}.cta`}
138
+ data-levo_group_item
139
+ />
140
+ ))}
141
+ </Box>
110
142
  </Box>
111
- <Button
112
- elementKey={`product_groups.${groupIndex}.products_without_images.${index}.cta`}
113
- />
114
143
  </Box>
115
- </Box>
116
- ))}
144
+ ),
145
+ )}
117
146
  </Box>
118
147
  </Box>
119
148
  ))}
@@ -1,34 +1,29 @@
1
1
  import type { IBlock } from "@levo-so/studio";
2
2
 
3
+ const MEDIA = {
4
+ id: "lDiRGwMyorBH",
5
+ filename: "profile-1.png",
6
+ kind: "image",
7
+ location: "https://static.levocdn.com/WLZ1TXTD/profile-1-EBhkxBH4PWVj.png",
8
+ srcset: {
9
+ "1080w": "https://static.levocdn.com/WLZ1TXTD/profile-1-EBhkxBH4PWVj-1080w.webp",
10
+ "1200w": "https://static.levocdn.com/WLZ1TXTD/profile-1-EBhkxBH4PWVj-1200w.webp",
11
+ "1920w": "https://static.levocdn.com/WLZ1TXTD/profile-1-EBhkxBH4PWVj-1920w.webp",
12
+ "320w": "https://static.levocdn.com/WLZ1TXTD/profile-1-EBhkxBH4PWVj-320w.webp",
13
+ "640w": "https://static.levocdn.com/WLZ1TXTD/profile-1-EBhkxBH4PWVj-640w.webp",
14
+ "750w": "https://static.levocdn.com/WLZ1TXTD/profile-1-EBhkxBH4PWVj-750w.webp",
15
+ "828w": "https://static.levocdn.com/WLZ1TXTD/profile-1-EBhkxBH4PWVj-828w.webp",
16
+ path: "https://static.levocdn.com/WLZ1TXTD/profile-1-EBhkxBH4PWVj-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/profile-1-EBhkxBH4PWVj-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/profile-1-EBhkxBH4PWVj-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/profile-1-EBhkxBH4PWVj-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/profile-1-EBhkxBH4PWVj-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/profile-1-EBhkxBH4PWVj-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/profile-1-EBhkxBH4PWVj-1920w.webp 1920w",
17
+ },
18
+ mimetype: "image/png",
19
+ };
20
+
3
21
  const DEFAULT_CONTENT = {
4
22
  layout: null,
5
23
  container: null,
6
24
  main_container: null,
7
25
  left_container: null,
8
- image: {
9
- id: "CISQRrr8Fa61r",
10
- filename: "image.png",
11
- kind: "image",
12
- location: "https://static.levostg.online/W6OEVMW8/image-gVHXsJu0gnbHV.png",
13
- srcset: {
14
- "1080w":
15
- "https://static.levostg.online/W6OEVMW8/image-gVHXsJu0gnbHV-1080w.webp",
16
- "1200w":
17
- "https://static.levostg.online/W6OEVMW8/image-gVHXsJu0gnbHV-1200w.webp",
18
- "1920w":
19
- "https://static.levostg.online/W6OEVMW8/image-gVHXsJu0gnbHV-1920w.webp",
20
- "320w":
21
- "https://static.levostg.online/W6OEVMW8/image-gVHXsJu0gnbHV-320w.webp",
22
- "640w":
23
- "https://static.levostg.online/W6OEVMW8/image-gVHXsJu0gnbHV-640w.webp",
24
- "750w":
25
- "https://static.levostg.online/W6OEVMW8/image-gVHXsJu0gnbHV-750w.webp",
26
- "828w":
27
- "https://static.levostg.online/W6OEVMW8/image-gVHXsJu0gnbHV-828w.webp",
28
- path: "https://static.levostg.online/W6OEVMW8/image-gVHXsJu0gnbHV-640w.webp 640w, https://static.levostg.online/W6OEVMW8/image-gVHXsJu0gnbHV-320w.webp 320w, https://static.levostg.online/W6OEVMW8/image-gVHXsJu0gnbHV-828w.webp 828w, https://static.levostg.online/W6OEVMW8/image-gVHXsJu0gnbHV-750w.webp 750w, https://static.levostg.online/W6OEVMW8/image-gVHXsJu0gnbHV-1080w.webp 1080w, https://static.levostg.online/W6OEVMW8/image-gVHXsJu0gnbHV-1200w.webp 1200w, https://static.levostg.online/W6OEVMW8/image-gVHXsJu0gnbHV-1920w.webp 1920w",
29
- },
30
- mimetype: "image/png",
31
- },
26
+ image: MEDIA,
32
27
  ctas: [],
33
28
  right_container: null,
34
29
  content_container: null,
@@ -169,7 +164,7 @@ export const Profile1: IBlock = {
169
164
  {
170
165
  key: "name",
171
166
  label: "Name",
172
- field_interface: "TypographyWidget",
167
+ field_interface: "HeadingWidget",
173
168
  },
174
169
  {
175
170
  key: "groups",
@@ -185,7 +180,7 @@ export const Profile1: IBlock = {
185
180
  {
186
181
  key: "title",
187
182
  label: "Label Title",
188
- field_interface: "TypographyWidget",
183
+ field_interface: "HeadingWidget",
189
184
  },
190
185
  {
191
186
  key: "description",
@@ -210,17 +205,8 @@ export const Profile1: IBlock = {
210
205
  key: "default",
211
206
  title: "Default",
212
207
  styles: {
213
- layout: {
214
- "padding-top": "48px",
215
- "padding-bottom": "48px",
216
- "padding-left": "48px",
217
- "padding-right": "48px",
218
- },
219
- container: {
220
- "max-width": "1280px",
221
- "margin-left": "auto",
222
- "margin-right": "auto",
223
- },
208
+ layout: {},
209
+ container: {},
224
210
  main_container: {
225
211
  display: "flex",
226
212
  "flex-direction": "row",
@@ -329,19 +315,11 @@ export const Profile1: IBlock = {
329
315
  "flex-direction": "column",
330
316
  "align-items": "flex-start",
331
317
  },
332
- content_description: {
333
- "font-size": "16px",
334
- color: "text-2",
335
- "line-height": "1.6",
336
- },
337
- name: {
338
- "font-size": "5xl",
339
- "font-weight": 700,
340
- },
318
+ content_description: {},
319
+ name: {},
341
320
  groups: [
342
321
  {
343
322
  title: {
344
- "font-size": "2xl",
345
323
  "font-weight": 600,
346
324
  },
347
325
  wrapper: {
@@ -352,7 +330,6 @@ export const Profile1: IBlock = {
352
330
  },
353
331
  {
354
332
  title: {
355
- "font-size": "2xl",
356
333
  "font-weight": 600,
357
334
  },
358
335
  wrapper: {
@@ -393,7 +370,41 @@ export const Profile1: IBlock = {
393
370
  },
394
371
  },
395
372
  content: DEFAULT_CONTENT,
396
- config: {},
373
+ config: {
374
+ content_description: {
375
+ selectedVariants: {},
376
+ },
377
+ name: {
378
+ heading: {
379
+ level: "2",
380
+ },
381
+ selectedVariants: {
382
+ Heading_Level: "H2",
383
+ },
384
+ },
385
+ groups: [
386
+ {
387
+ title: {
388
+ heading: {
389
+ level: "4",
390
+ },
391
+ selectedVariants: {
392
+ Heading_Level: "H5",
393
+ },
394
+ },
395
+ },
396
+ {
397
+ title: {
398
+ selectedVariants: {
399
+ Heading_Level: "H5",
400
+ },
401
+ heading: {
402
+ level: "4",
403
+ },
404
+ },
405
+ },
406
+ ],
407
+ },
397
408
  },
398
409
  ],
399
410
  };
@@ -2,6 +2,7 @@ import {
2
2
  Box,
3
3
  Button,
4
4
  Container,
5
+ Heading,
5
6
  Icon,
6
7
  type ILevoBlockBaseProps,
7
8
  Image,
@@ -11,9 +12,7 @@ import {
11
12
 
12
13
  import type { IProfile1Content } from "./profile-1.schema";
13
14
 
14
- const Profile1: React.FC<ILevoBlockBaseProps<IProfile1Content>> = ({
15
- content,
16
- }) => (
15
+ const Profile1: React.FC<ILevoBlockBaseProps<IProfile1Content>> = ({ content }) => (
17
16
  <Section elementKey="layout">
18
17
  <Container elementKey="container">
19
18
  <Box elementKey="main_container">
@@ -39,15 +38,11 @@ const Profile1: React.FC<ILevoBlockBaseProps<IProfile1Content>> = ({
39
38
  </Box>
40
39
  </Box>
41
40
  <Box elementKey="right_container">
42
- <Typography elementKey="name" />
41
+ <Heading elementKey="name" />
43
42
  <Box elementKey="groups_levoGroup" data-levo_group>
44
43
  {(content?.groups || [])?.map((_, index) => (
45
- <Box
46
- elementKey={`groups.${index}.wrapper`}
47
- key={index}
48
- data-levo_group_item
49
- >
50
- <Typography elementKey={`groups.${index}.title`} />
44
+ <Box elementKey={`groups.${index}.wrapper`} key={index} data-levo_group_item>
45
+ <Heading elementKey={`groups.${index}.title`} />
51
46
  <Typography elementKey={`groups.${index}.description`} />
52
47
  </Box>
53
48
  ))}