@levo-so/blocks 0.1.60 → 0.1.62

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 (230) hide show
  1. package/package.json +13 -14
  2. package/src/blocks/about-us/about-us-1.schema.ts +15 -30
  3. package/src/blocks/about-us/about-us-1.tsx +2 -4
  4. package/src/blocks/about-us/about-us-2.schema.ts +24 -48
  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 +10 -21
  8. package/src/blocks/blogs/blog-listing-2.schema.ts +17 -34
  9. package/src/blocks/blogs/blog-listing-2.tsx +4 -12
  10. package/src/blocks/blogs/blog-listing-3.schema.ts +32 -64
  11. package/src/blocks/blogs/blog-listing-3.tsx +4 -12
  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 +95 -6
  15. package/src/blocks/calendar/calendar-1.tsx +33 -29
  16. package/src/blocks/cards/cards-10.schema.ts +62 -124
  17. package/src/blocks/cards/cards-10.tsx +9 -14
  18. package/src/blocks/cards/cards-11.schema.ts +69 -138
  19. package/src/blocks/cards/cards-11.tsx +5 -11
  20. package/src/blocks/cards/cards-12.schema.ts +7 -14
  21. package/src/blocks/cards/cards-12.tsx +4 -10
  22. package/src/blocks/cards/cards-13.schema.ts +40 -80
  23. package/src/blocks/cards/cards-13.tsx +4 -6
  24. package/src/blocks/cards/cards-14.schema.ts +7 -14
  25. package/src/blocks/cards/cards-14.tsx +5 -11
  26. package/src/blocks/cards/cards-15.schema.ts +7 -14
  27. package/src/blocks/cards/cards-15.tsx +2 -4
  28. package/src/blocks/cards/cards-2.schema.ts +7 -14
  29. package/src/blocks/cards/cards-2.tsx +2 -15
  30. package/src/blocks/cards/cards-3.schema.ts +7 -14
  31. package/src/blocks/cards/cards-3.tsx +7 -13
  32. package/src/blocks/cards/cards-4.schema.ts +13 -26
  33. package/src/blocks/cards/cards-4.tsx +9 -15
  34. package/src/blocks/cards/cards-5.schema.ts +17 -34
  35. package/src/blocks/cards/cards-5.tsx +1 -9
  36. package/src/blocks/cards/cards-6.schema.ts +52 -104
  37. package/src/blocks/cards/cards-6.tsx +12 -20
  38. package/src/blocks/cards/cards-7.schema.ts +48 -96
  39. package/src/blocks/cards/cards-7.tsx +8 -27
  40. package/src/blocks/cards/cards-8.schema.ts +9 -20
  41. package/src/blocks/cards/cards-8.tsx +5 -11
  42. package/src/blocks/cards/cards-9.schema.ts +41 -82
  43. package/src/blocks/cards/cards-9.tsx +14 -22
  44. package/src/blocks/carousel/carousel-1.schema.ts +64 -128
  45. package/src/blocks/carousel/carousel-1.tsx +6 -8
  46. package/src/blocks/carousel/carousel-2.schema.ts +26 -52
  47. package/src/blocks/carousel/carousel-2.tsx +11 -23
  48. package/src/blocks/community/community-1.schema.ts +78 -32
  49. package/src/blocks/community/community-1.tsx +417 -550
  50. package/src/blocks/community/community-post-1.schema.ts +21 -30
  51. package/src/blocks/community/community-post-1.tsx +334 -84
  52. package/src/blocks/contact-us/contact-us-1.schema.ts +8 -16
  53. package/src/blocks/contact-us/contact-us-1.tsx +2 -12
  54. package/src/blocks/contact-us/contact-us-2.tsx +20 -31
  55. package/src/blocks/content/content-1.schema.ts +21 -42
  56. package/src/blocks/content/content-1.tsx +10 -17
  57. package/src/blocks/content/content-2.schema.ts +29 -58
  58. package/src/blocks/content/content-2.tsx +4 -4
  59. package/src/blocks/content/content-3.tsx +13 -29
  60. package/src/blocks/content/content-4.schema.ts +23 -46
  61. package/src/blocks/content/content-4.tsx +8 -17
  62. package/src/blocks/content/content-5.schema.ts +29 -24
  63. package/src/blocks/content/content-5.tsx +13 -27
  64. package/src/blocks/content/content-6.schema.ts +46 -94
  65. package/src/blocks/content/content-6.tsx +14 -31
  66. package/src/blocks/content/content-7.schema.ts +35 -72
  67. package/src/blocks/content/content-7.tsx +15 -31
  68. package/src/blocks/content/content-8.schema.ts +1 -6
  69. package/src/blocks/content/content-8.tsx +3 -3
  70. package/src/blocks/content/content-9.tsx +26 -41
  71. package/src/blocks/cta/cta-1.schema.ts +10 -20
  72. package/src/blocks/cta/cta-2.schema.ts +14 -28
  73. package/src/blocks/cta/cta-2.tsx +2 -6
  74. package/src/blocks/cta/cta-3.schema.ts +24 -50
  75. package/src/blocks/cta/cta-3.tsx +2 -6
  76. package/src/blocks/embed/embed-1.tsx +1 -9
  77. package/src/blocks/event/ClientOnly.tsx +1 -4
  78. package/src/blocks/event/event-details.schema.ts +16 -32
  79. package/src/blocks/event/event-details.tsx +8 -23
  80. package/src/blocks/event/event-listing-2.schema.ts +19 -38
  81. package/src/blocks/event/event-listing-2.tsx +12 -23
  82. package/src/blocks/event/event-listing-3.schema.ts +10 -20
  83. package/src/blocks/event/event-listing-3.tsx +9 -15
  84. package/src/blocks/event/event-listing-4.schema.ts +40 -80
  85. package/src/blocks/event/event-listing-4.tsx +5 -13
  86. package/src/blocks/event/event-listing.schema.ts +12 -24
  87. package/src/blocks/event/event-listing.tsx +9 -15
  88. package/src/blocks/faq/faq-1.schema.ts +8 -16
  89. package/src/blocks/faq/faq-1.tsx +19 -30
  90. package/src/blocks/faq/faq-2.schema.ts +8 -16
  91. package/src/blocks/faq/faq-2.tsx +11 -10
  92. package/src/blocks/faq/faq-3.schema.ts +9 -18
  93. package/src/blocks/faq/faq-3.tsx +11 -19
  94. package/src/blocks/features/features-1/features-1.tsx +2 -4
  95. package/src/blocks/features/features-1/variants/default.ts +4 -8
  96. package/src/blocks/features/features-1/variants/index.ts +1 -1
  97. package/src/blocks/features/features-2.schema.ts +32 -64
  98. package/src/blocks/features/features-2.tsx +8 -10
  99. package/src/blocks/features/features-3.schema.ts +32 -64
  100. package/src/blocks/features/features-3.tsx +7 -16
  101. package/src/blocks/features/features-4.schema.ts +16 -32
  102. package/src/blocks/features/features-4.tsx +3 -7
  103. package/src/blocks/features/features-5.schema.ts +1 -2
  104. package/src/blocks/features/features-5.tsx +6 -17
  105. package/src/blocks/features/features-6.schema.ts +32 -64
  106. package/src/blocks/features/features-6.tsx +16 -36
  107. package/src/blocks/filter-listing/filter-listing-1.tsx +12 -36
  108. package/src/blocks/floating-buttons/floating-button-1.schema.ts +5 -10
  109. package/src/blocks/floating-buttons/floating-button-1.tsx +3 -9
  110. package/src/blocks/footer/footer-1.schema.ts +8 -16
  111. package/src/blocks/footer/footer-1.tsx +15 -30
  112. package/src/blocks/footer/footer-2.schema.ts +8 -16
  113. package/src/blocks/footer/footer-2.tsx +17 -28
  114. package/src/blocks/footer/footer-3.schema.ts +1 -2
  115. package/src/blocks/footer/footer-3.tsx +9 -25
  116. package/src/blocks/footer/footer-4.schema.ts +8 -16
  117. package/src/blocks/footer/footer-4.tsx +35 -54
  118. package/src/blocks/footer/footer-5.schema.ts +10 -24
  119. package/src/blocks/footer/footer-5.tsx +14 -29
  120. package/src/blocks/footer/footer-6.schema.ts +10 -25
  121. package/src/blocks/footer/footer-6.tsx +29 -44
  122. package/src/blocks/form/form-1.schema.ts +144 -0
  123. package/src/blocks/form/form-1.tsx +33 -0
  124. package/src/blocks/hero/hero-1.schema.ts +45 -90
  125. package/src/blocks/hero/hero-1.tsx +4 -4
  126. package/src/blocks/hero/hero-10.schema.ts +1 -2
  127. package/src/blocks/hero/hero-10.tsx +4 -4
  128. package/src/blocks/hero/hero-11.schema.ts +18 -14
  129. package/src/blocks/hero/hero-11.tsx +4 -9
  130. package/src/blocks/hero/hero-12.schema.ts +18 -36
  131. package/src/blocks/hero/hero-12.tsx +3 -6
  132. package/src/blocks/hero/hero-13.schema.ts +8 -16
  133. package/src/blocks/hero/hero-13.tsx +1 -1
  134. package/src/blocks/hero/hero-2.schema.ts +3 -6
  135. package/src/blocks/hero/hero-2.tsx +3 -21
  136. package/src/blocks/hero/hero-3.schema.ts +28 -56
  137. package/src/blocks/hero/hero-3.tsx +6 -15
  138. package/src/blocks/hero/hero-4.schema.ts +22 -44
  139. package/src/blocks/hero/hero-4.tsx +16 -27
  140. package/src/blocks/hero/hero-5.schema.ts +21 -42
  141. package/src/blocks/hero/hero-5.tsx +15 -18
  142. package/src/blocks/hero/hero-6.schema.ts +35 -70
  143. package/src/blocks/hero/hero-6.tsx +6 -6
  144. package/src/blocks/hero/hero-7.schema.ts +24 -48
  145. package/src/blocks/hero/hero-7.tsx +2 -3
  146. package/src/blocks/hero/hero-8.schema.ts +24 -50
  147. package/src/blocks/hero/hero-8.tsx +5 -19
  148. package/src/blocks/hero/hero-9.schema.ts +8 -16
  149. package/src/blocks/hero/hero-9.tsx +3 -3
  150. package/src/blocks/index.ts +8 -11
  151. package/src/blocks/jobs/jobs-1.schema.ts +990 -0
  152. package/src/blocks/jobs/jobs-1.tsx +145 -0
  153. package/src/blocks/logos/logos-1.schema.ts +53 -113
  154. package/src/blocks/logos/logos-1.tsx +7 -7
  155. package/src/blocks/navbar/navbar-1.schema.ts +15 -28
  156. package/src/blocks/navbar/navbar-1.tsx +24 -60
  157. package/src/blocks/navbar/navbar-2.schema.ts +14 -28
  158. package/src/blocks/navbar/navbar-2.tsx +26 -56
  159. package/src/blocks/navbar/navbar-3.schema.ts +11 -22
  160. package/src/blocks/navbar/navbar-3.tsx +33 -82
  161. package/src/blocks/navbar/navbar-4.schema.ts +14343 -0
  162. package/src/blocks/navbar/navbar-4.tsx +546 -0
  163. package/src/blocks/polling/polling-1.schema.ts +1 -2
  164. package/src/blocks/polling/polling-1.tsx +24 -39
  165. package/src/blocks/pricing/pricing-1.schema.ts +13 -26
  166. package/src/blocks/pricing/pricing-1.tsx +20 -44
  167. package/src/blocks/products/products-listing-1.schema.ts +32 -64
  168. package/src/blocks/products/products-listing-1.tsx +6 -12
  169. package/src/blocks/products/products-listing-2.schema.ts +26 -54
  170. package/src/blocks/products/products-listing-2.tsx +8 -17
  171. package/src/blocks/products/products-listing-3.schema.ts +25 -52
  172. package/src/blocks/products/products-listing-3.tsx +87 -93
  173. package/src/blocks/profile/profile-1.schema.ts +7 -14
  174. package/src/blocks/profile/profile-1.tsx +2 -8
  175. package/src/blocks/profile/profile-2.schema.ts +9 -18
  176. package/src/blocks/profile/profile-2.tsx +4 -6
  177. package/src/blocks/profile/profile-3.schema.ts +21 -42
  178. package/src/blocks/profile/profile-3.tsx +18 -40
  179. package/src/blocks/{blogs/blog-post-2.schema.ts → profile/profile-4.schema.ts} +75 -97
  180. package/src/blocks/{blogs/blog-post-2.tsx → profile/profile-4.tsx} +32 -61
  181. package/src/blocks/{blogs/blog-post-3.schema.ts → profile/profile-5.schema.ts} +6 -6
  182. package/src/blocks/{blogs/blog-post-3.tsx → profile/profile-5.tsx} +6 -11
  183. package/src/blocks/services/service-1.schema.ts +20 -40
  184. package/src/blocks/services/service-1.tsx +45 -71
  185. package/src/blocks/services/service-2.schema.ts +8 -16
  186. package/src/blocks/services/service-2.tsx +4 -6
  187. package/src/blocks/services/service-3.schema.ts +12 -24
  188. package/src/blocks/services/service-3.tsx +4 -6
  189. package/src/blocks/stats/stats-1.tsx +3 -14
  190. package/src/blocks/stats/stats-2.tsx +3 -14
  191. package/src/blocks/stats/variants/index.ts +1 -1
  192. package/src/blocks/tabs/tab-1.schema.ts +4 -8
  193. package/src/blocks/tabs/tab-1.tsx +47 -64
  194. package/src/blocks/tabs/tab-2.schema.ts +13 -26
  195. package/src/blocks/tabs/tab-2.tsx +14 -15
  196. package/src/blocks/team/team-1.schema.ts +28 -56
  197. package/src/blocks/team/team-1.tsx +7 -21
  198. package/src/blocks/team/team-2.schema.ts +104 -208
  199. package/src/blocks/team/team-2.tsx +15 -33
  200. package/src/blocks/team/team-3.schema.ts +24 -48
  201. package/src/blocks/team/team-3.tsx +8 -14
  202. package/src/blocks/team/team-4.schema.ts +25 -50
  203. package/src/blocks/team/team-4.tsx +15 -24
  204. package/src/blocks/team/team-5.schema.ts +14 -28
  205. package/src/blocks/team/team-5.tsx +1 -1
  206. package/src/blocks/termsAndPrivacy/terms-and-conditions-1.tsx +3 -5
  207. package/src/blocks/testimonial/testimonial-1.schema.ts +1 -2
  208. package/src/blocks/testimonial/testimonial-1.tsx +10 -19
  209. package/src/blocks/testimonial/testimonial-2.schema.ts +16 -32
  210. package/src/blocks/testimonial/testimonial-2.tsx +17 -36
  211. package/src/blocks/testimonial/testimonial-3.schema.ts +8 -16
  212. package/src/blocks/testimonial/testimonial-3.tsx +13 -26
  213. package/src/blocks/testimonial/testimonial-4.schema.ts +94 -188
  214. package/src/blocks/testimonial/testimonial-4.tsx +12 -33
  215. package/src/blocks/testimonial/testimonial-5/variants/default.ts +24 -48
  216. package/src/blocks/testimonial/testimonial-5/variants/index.ts +1 -1
  217. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithLogo.ts +4 -8
  218. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithRatings.ts +24 -48
  219. package/src/blocks/testimonial/testimonial-5.schema.ts +2 -6
  220. package/src/blocks/testimonial/testimonial-5.tsx +15 -25
  221. package/src/blocks/testimonial/testimonial-6.schema.ts +26 -52
  222. package/src/blocks/testimonial/testimonial-6.tsx +9 -25
  223. package/src/blocks/testimonial/testimonial-7.tsx +15 -26
  224. package/src/blocks/timeline/timeline-1.schema.ts +34 -68
  225. package/src/blocks/timeline/timeline-1.tsx +2 -6
  226. package/src/blocks/users/edit-profile.tsx +10 -22
  227. package/src/constants/index.ts +3 -6
  228. package/src/index.ts +1 -1
  229. package/src/schemas/blocks.ts +14 -8
  230. package/src/schemas/categories.ts +14 -2
@@ -139,8 +139,7 @@ export const Pricing1: IBlock = {
139
139
  label: "Layout",
140
140
  field_interface: "LayoutWidget",
141
141
  hint: {
142
- prompt_description:
143
- "Defines the overall structure and spacing for the pricing section",
142
+ prompt_description: "Defines the overall structure and spacing for the pricing section",
144
143
  },
145
144
  },
146
145
  {
@@ -148,8 +147,7 @@ export const Pricing1: IBlock = {
148
147
  label: "Container",
149
148
  field_interface: "ContainerWidget",
150
149
  hint: {
151
- prompt_description:
152
- "Main container that centers and constrains the pricing content width",
150
+ prompt_description: "Main container that centers and constrains the pricing content width",
153
151
  },
154
152
  },
155
153
  {
@@ -162,8 +160,7 @@ export const Pricing1: IBlock = {
162
160
  label: "Title",
163
161
  field_interface: "HeadingWidget",
164
162
  hint: {
165
- prompt_description:
166
- "Main heading for the pricing section, should be clear and compelling",
163
+ prompt_description: "Main heading for the pricing section, should be clear and compelling",
167
164
  min_characters: 15,
168
165
  max_characters: 50,
169
166
  },
@@ -184,8 +181,7 @@ export const Pricing1: IBlock = {
184
181
  label: "Card",
185
182
  field_interface: "BoxWidget",
186
183
  hint: {
187
- prompt_description:
188
- "Individual pricing card container with border and styling",
184
+ prompt_description: "Individual pricing card container with border and styling",
189
185
  },
190
186
  },
191
187
  {
@@ -202,8 +198,7 @@ export const Pricing1: IBlock = {
202
198
  label: "Badge Text",
203
199
  field_interface: "TypographyWidget",
204
200
  hint: {
205
- prompt_description:
206
- "Optional badge text like 'Most Popular' or plan type identifier",
201
+ prompt_description: "Optional badge text like 'Most Popular' or plan type identifier",
207
202
  min_characters: 4,
208
203
  max_characters: 20,
209
204
  },
@@ -222,8 +217,7 @@ export const Pricing1: IBlock = {
222
217
  label: "Plan Title",
223
218
  field_interface: "HeadingWidget",
224
219
  hint: {
225
- prompt_description:
226
- "Name of the pricing plan, should be clear and descriptive",
220
+ prompt_description: "Name of the pricing plan, should be clear and descriptive",
227
221
  min_characters: 8,
228
222
  max_characters: 30,
229
223
  },
@@ -233,8 +227,7 @@ export const Pricing1: IBlock = {
233
227
  label: "Plan Description",
234
228
  field_interface: "TypographyWidget",
235
229
  hint: {
236
- prompt_description:
237
- "Brief description explaining who this plan is best for",
230
+ prompt_description: "Brief description explaining who this plan is best for",
238
231
  min_characters: 20,
239
232
  max_characters: 100,
240
233
  },
@@ -252,8 +245,7 @@ export const Pricing1: IBlock = {
252
245
  label: "Price",
253
246
  field_interface: "TypographyWidget",
254
247
  hint: {
255
- prompt_description:
256
- "Price amount, should include currency symbol like '$50' or '$0'",
248
+ prompt_description: "Price amount, should include currency symbol like '$50' or '$0'",
257
249
  min_characters: 2,
258
250
  max_characters: 15,
259
251
  },
@@ -280,8 +272,7 @@ export const Pricing1: IBlock = {
280
272
  label: "CTA Button",
281
273
  field_interface: "ButtonWidget",
282
274
  hint: {
283
- prompt_description:
284
- "Call-to-action button text to encourage sign-up or booking",
275
+ prompt_description: "Call-to-action button text to encourage sign-up or booking",
285
276
  min_characters: 6,
286
277
  max_characters: 20,
287
278
  },
@@ -294,8 +285,7 @@ export const Pricing1: IBlock = {
294
285
  label: "Features Wrapper",
295
286
  field_interface: "BoxWidget",
296
287
  hint: {
297
- prompt_description:
298
- "Container for the features section within each card",
288
+ prompt_description: "Container for the features section within each card",
299
289
  },
300
290
  },
301
291
  {
@@ -303,8 +293,7 @@ export const Pricing1: IBlock = {
303
293
  label: "Features Title",
304
294
  field_interface: "HeadingWidget",
305
295
  hint: {
306
- prompt_description:
307
- "Title for the features list, typically 'What you will get'",
296
+ prompt_description: "Title for the features list, typically 'What you will get'",
308
297
  min_characters: 10,
309
298
  max_characters: 30,
310
299
  },
@@ -320,8 +309,7 @@ export const Pricing1: IBlock = {
320
309
  label: "Feature Container",
321
310
  field_interface: "BoxWidget",
322
311
  hint: {
323
- prompt_description:
324
- "Container that groups the feature icon and text together",
312
+ prompt_description: "Container that groups the feature icon and text together",
325
313
  },
326
314
  },
327
315
  {
@@ -338,8 +326,7 @@ export const Pricing1: IBlock = {
338
326
  label: "Feature Text",
339
327
  field_interface: "TypographyWidget",
340
328
  hint: {
341
- prompt_description:
342
- "Description of a specific feature included in this plan",
329
+ prompt_description: "Description of a specific feature included in this plan",
343
330
  min_characters: 10,
344
331
  max_characters: 50,
345
332
  },
@@ -1,19 +1,9 @@
1
1
  import type { ILevoBlockBaseProps } from "@levo-so/studio";
2
- import {
3
- Box,
4
- Button,
5
- Container,
6
- Heading,
7
- Icon,
8
- Section,
9
- Typography,
10
- } from "@levo-so/studio";
2
+ import { Box, Button, Container, Heading, Icon, Section, Typography } from "@levo-so/studio";
11
3
 
12
4
  import type { IPricing1Content } from "./pricing-1.schema";
13
5
 
14
- const Pricing1: React.FC<ILevoBlockBaseProps<IPricing1Content>> = ({
15
- content,
16
- }) => (
6
+ const Pricing1: React.FC<ILevoBlockBaseProps<IPricing1Content>> = ({ content }) => (
17
7
  <Section elementKey="layout">
18
8
  <Container elementKey="container">
19
9
  <Box elementKey="header">
@@ -22,11 +12,7 @@ const Pricing1: React.FC<ILevoBlockBaseProps<IPricing1Content>> = ({
22
12
  </Box>
23
13
  <Box elementKey="pricing_cards_levoGroup" data-levo_group>
24
14
  {(content.pricing_cards ?? []).map((_, index) => (
25
- <Box
26
- key={index}
27
- data-levo_group_item
28
- elementKey={`pricing_cards.${index}.card`}
29
- >
15
+ <Box key={index} data-levo_group_item elementKey={`pricing_cards.${index}.card`}>
30
16
  {/* Title and Badge Container */}
31
17
  <Box elementKey={`pricing_cards.${index}.title_badge_container`}>
32
18
  {/* Badge for popular plans */}
@@ -38,9 +24,7 @@ const Pricing1: React.FC<ILevoBlockBaseProps<IPricing1Content>> = ({
38
24
  </Box>
39
25
 
40
26
  {/* Primary Content Container */}
41
- <Box
42
- elementKey={`pricing_cards.${index}.primary_content_container`}
43
- >
27
+ <Box elementKey={`pricing_cards.${index}.primary_content_container`}>
44
28
  {/* Plan description */}
45
29
  <Typography elementKey={`pricing_cards.${index}.description`} />
46
30
 
@@ -53,10 +37,7 @@ const Pricing1: React.FC<ILevoBlockBaseProps<IPricing1Content>> = ({
53
37
  </Box>
54
38
 
55
39
  {/* CTA Button */}
56
- <Box
57
- elementKey={`pricing_cards.${index}.ctas_levoGroup`}
58
- data-levo_group
59
- >
40
+ <Box elementKey={`pricing_cards.${index}.ctas_levoGroup`} data-levo_group>
60
41
  {content.pricing_cards?.[index]?.ctas?.map((_, ctaIndex) => (
61
42
  <Button
62
43
  key={ctaIndex}
@@ -70,26 +51,21 @@ const Pricing1: React.FC<ILevoBlockBaseProps<IPricing1Content>> = ({
70
51
  {/* Features section */}
71
52
  <Box elementKey={`pricing_cards.${index}.features_wrapper`}>
72
53
  <Heading elementKey={`pricing_cards.${index}.features_title`} />
73
- <Box
74
- elementKey={`pricing_cards.${index}.features_levoGroup`}
75
- data-levo_group
76
- >
77
- {(content.pricing_cards?.[index]?.features ?? []).map(
78
- (_, featureIndex) => (
79
- <Box
80
- key={featureIndex}
81
- data-levo_group_item
82
- elementKey={`pricing_cards.${index}.features.${featureIndex}.feature_container`}
83
- >
84
- <Icon
85
- elementKey={`pricing_cards.${index}.features.${featureIndex}.feature_item`}
86
- />
87
- <Typography
88
- elementKey={`pricing_cards.${index}.features.${featureIndex}.feature_text`}
89
- />
90
- </Box>
91
- ),
92
- )}
54
+ <Box elementKey={`pricing_cards.${index}.features_levoGroup`} data-levo_group>
55
+ {(content.pricing_cards?.[index]?.features ?? []).map((_, featureIndex) => (
56
+ <Box
57
+ key={featureIndex}
58
+ data-levo_group_item
59
+ elementKey={`pricing_cards.${index}.features.${featureIndex}.feature_container`}
60
+ >
61
+ <Icon
62
+ elementKey={`pricing_cards.${index}.features.${featureIndex}.feature_item`}
63
+ />
64
+ <Typography
65
+ elementKey={`pricing_cards.${index}.features.${featureIndex}.feature_text`}
66
+ />
67
+ </Box>
68
+ ))}
93
69
  </Box>
94
70
  </Box>
95
71
  </Box>
@@ -4,23 +4,15 @@ const MEDIA_1 = {
4
4
  id: "iPDjefZlgPh1M",
5
5
  filename: "product-listing-1-1.png",
6
6
  kind: "image",
7
- location:
8
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0.png",
7
+ location: "https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0.png",
9
8
  srcset: {
10
- "1080w":
11
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-1080w.webp",
12
- "1200w":
13
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-1200w.webp",
14
- "1920w":
15
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-1920w.webp",
16
- "320w":
17
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-320w.webp",
18
- "640w":
19
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-640w.webp",
20
- "750w":
21
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-750w.webp",
22
- "828w":
23
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-828w.webp",
9
+ "1080w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-1080w.webp",
10
+ "1200w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-1200w.webp",
11
+ "1920w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-1920w.webp",
12
+ "320w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-320w.webp",
13
+ "640w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-640w.webp",
14
+ "750w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-750w.webp",
15
+ "828w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-828w.webp",
24
16
  path: "https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-1-R6ertNbOMvUa0-1200w.webp 1200w",
25
17
  },
26
18
  mimetype: "image/png",
@@ -29,23 +21,15 @@ const MEDIA_2 = {
29
21
  id: "XZbHubcwuDQuO",
30
22
  filename: "product-listing-1-2.png",
31
23
  kind: "image",
32
- location:
33
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o.png",
24
+ location: "https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o.png",
34
25
  srcset: {
35
- "1080w":
36
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-1080w.webp",
37
- "1200w":
38
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-1200w.webp",
39
- "1920w":
40
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-1920w.webp",
41
- "320w":
42
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-320w.webp",
43
- "640w":
44
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-640w.webp",
45
- "750w":
46
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-750w.webp",
47
- "828w":
48
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-828w.webp",
26
+ "1080w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-1080w.webp",
27
+ "1200w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-1200w.webp",
28
+ "1920w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-1920w.webp",
29
+ "320w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-320w.webp",
30
+ "640w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-640w.webp",
31
+ "750w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-750w.webp",
32
+ "828w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-828w.webp",
49
33
  path: "https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-2-OaJNDLqfjAZ3o-1920w.webp 1920w",
50
34
  },
51
35
  mimetype: "image/png",
@@ -54,23 +38,15 @@ const MEDIA_3 = {
54
38
  id: "oildArpqXyWvw",
55
39
  filename: "product-listing-1-3.png",
56
40
  kind: "image",
57
- location:
58
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf.png",
41
+ location: "https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf.png",
59
42
  srcset: {
60
- "1080w":
61
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-1080w.webp",
62
- "1200w":
63
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-1200w.webp",
64
- "1920w":
65
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-1920w.webp",
66
- "320w":
67
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-320w.webp",
68
- "640w":
69
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-640w.webp",
70
- "750w":
71
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-750w.webp",
72
- "828w":
73
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-828w.webp",
43
+ "1080w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-1080w.webp",
44
+ "1200w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-1200w.webp",
45
+ "1920w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-1920w.webp",
46
+ "320w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-320w.webp",
47
+ "640w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-640w.webp",
48
+ "750w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-750w.webp",
49
+ "828w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-828w.webp",
74
50
  path: "https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-3-k5KMbTxRrITlf-1200w.webp 1200w",
75
51
  },
76
52
  mimetype: "image/png",
@@ -79,23 +55,15 @@ const MEDIA_4 = {
79
55
  id: "6HgbtxxyDY0T7",
80
56
  filename: "product-listing-1-4.png",
81
57
  kind: "image",
82
- location:
83
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF.png",
58
+ location: "https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF.png",
84
59
  srcset: {
85
- "1080w":
86
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-1080w.webp",
87
- "1200w":
88
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-1200w.webp",
89
- "1920w":
90
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-1920w.webp",
91
- "320w":
92
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-320w.webp",
93
- "640w":
94
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-640w.webp",
95
- "750w":
96
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-750w.webp",
97
- "828w":
98
- "https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-828w.webp",
60
+ "1080w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-1080w.webp",
61
+ "1200w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-1200w.webp",
62
+ "1920w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-1920w.webp",
63
+ "320w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-320w.webp",
64
+ "640w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-640w.webp",
65
+ "750w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-750w.webp",
66
+ "828w": "https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-828w.webp",
99
67
  path: "https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/product-listing-1-4-T71RynwUbPcTF-1200w.webp 1200w",
100
68
  },
101
69
  mimetype: "image/png",
@@ -1,19 +1,17 @@
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 { IProductsListing1Content } from "./products-listing-1.schema";
13
13
 
14
- const ProductsListing1: React.FC<
15
- ILevoBlockBaseProps<IProductsListing1Content>
16
- > = ({ content }) => (
14
+ const ProductsListing1: React.FC<ILevoBlockBaseProps<IProductsListing1Content>> = ({ content }) => (
17
15
  <Section elementKey="layout">
18
16
  <Container elementKey="container">
19
17
  <Box elementKey="header_box">
@@ -33,11 +31,7 @@ const ProductsListing1: React.FC<
33
31
  </Box>
34
32
  <Box data-levo_group elementKey="products_levoGroup">
35
33
  {(content.products ?? []).map((_, index) => (
36
- <Box
37
- data-levo_group_item
38
- elementKey={`products.${index}.card`}
39
- key={index}
40
- >
34
+ <Box data-levo_group_item elementKey={`products.${index}.card`} key={index}>
41
35
  <Image
42
36
  alt="product image"
43
37
  elementKey={`products.${index}.image`}
@@ -4,23 +4,15 @@ const MEDIA_1 = {
4
4
  id: "Imv2Br3xZnrf",
5
5
  filename: "product-listing-2-1.jpg",
6
6
  kind: "image",
7
- location:
8
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f.jpg",
7
+ location: "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f.jpg",
9
8
  srcset: {
10
- "1080w":
11
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-1080w.webp",
12
- "1200w":
13
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-1200w.webp",
14
- "1920w":
15
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-1920w.webp",
16
- "320w":
17
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-320w.webp",
18
- "640w":
19
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-640w.webp",
20
- "750w":
21
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-750w.webp",
22
- "828w":
23
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-828w.webp",
9
+ "1080w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-1080w.webp",
10
+ "1200w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-1200w.webp",
11
+ "1920w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-1920w.webp",
12
+ "320w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-320w.webp",
13
+ "640w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-640w.webp",
14
+ "750w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-750w.webp",
15
+ "828w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-828w.webp",
24
16
  path: "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-1920w.webp 1920w",
25
17
  },
26
18
  mimetype: "image/jpeg",
@@ -30,23 +22,15 @@ const MEDIA_2 = {
30
22
  id: "pKknltJ2E9tp",
31
23
  filename: "product-listing-2-3.jpg",
32
24
  kind: "image",
33
- location:
34
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4.jpg",
25
+ location: "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4.jpg",
35
26
  srcset: {
36
- "1080w":
37
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-1080w.webp",
38
- "1200w":
39
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-1200w.webp",
40
- "1920w":
41
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-1920w.webp",
42
- "320w":
43
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-320w.webp",
44
- "640w":
45
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-640w.webp",
46
- "750w":
47
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-750w.webp",
48
- "828w":
49
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-828w.webp",
27
+ "1080w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-1080w.webp",
28
+ "1200w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-1200w.webp",
29
+ "1920w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-1920w.webp",
30
+ "320w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-320w.webp",
31
+ "640w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-640w.webp",
32
+ "750w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-750w.webp",
33
+ "828w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-828w.webp",
50
34
  path: "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-750w.webp 750w",
51
35
  },
52
36
  mimetype: "image/jpeg",
@@ -56,23 +40,15 @@ const MEDIA_3 = {
56
40
  id: "jfwkpeTXrkef",
57
41
  filename: "product-listing-2-2.jpg",
58
42
  kind: "image",
59
- location:
60
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk.jpg",
43
+ location: "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk.jpg",
61
44
  srcset: {
62
- "1080w":
63
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-1080w.webp",
64
- "1200w":
65
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-1200w.webp",
66
- "1920w":
67
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-1920w.webp",
68
- "320w":
69
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-320w.webp",
70
- "640w":
71
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-640w.webp",
72
- "750w":
73
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-750w.webp",
74
- "828w":
75
- "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-828w.webp",
45
+ "1080w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-1080w.webp",
46
+ "1200w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-1200w.webp",
47
+ "1920w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-1920w.webp",
48
+ "320w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-320w.webp",
49
+ "640w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-640w.webp",
50
+ "750w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-750w.webp",
51
+ "828w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-828w.webp",
76
52
  path: "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-1080w.webp 1080w",
77
53
  },
78
54
  mimetype: "image/jpeg",
@@ -83,13 +59,9 @@ const DEFAULT_CONTENT = {
83
59
  container: null,
84
60
  header_container: null,
85
61
  title: "Our Bestsellers",
86
- description:
87
- "Our Bestsellers Our Bestsellers Our Bestsellers Our Bestsellers Our Bestsellers ",
62
+ description: "Our Bestsellers Our Bestsellers Our Bestsellers Our Bestsellers Our Bestsellers ",
88
63
  header_ctas_levoGroup: null,
89
- header_ctas: [
90
- { header_cta: "View All Bestsellers" },
91
- { header_cta: "Learn More" },
92
- ],
64
+ header_ctas: [{ header_cta: "View All Bestsellers" }, { header_cta: "Learn More" }],
93
65
  products_levoGroup: null,
94
66
  products: [
95
67
  {
@@ -1,20 +1,18 @@
1
1
  import {
2
- type ILevoBlockBaseProps,
2
+ Box,
3
3
  Button,
4
+ Container,
4
5
  Heading,
6
+ Icon,
7
+ type ILevoBlockBaseProps,
5
8
  Image,
6
- Typography,
7
- Container,
8
9
  Section,
9
- Box,
10
- Icon,
10
+ Typography,
11
11
  } from "@levo-so/studio";
12
12
 
13
13
  import type { IProductsListing2Content } from "./products-listing-2.schema";
14
14
 
15
- const ProductsListing2: React.FC<
16
- ILevoBlockBaseProps<IProductsListing2Content>
17
- > = ({ content }) => (
15
+ const ProductsListing2: React.FC<ILevoBlockBaseProps<IProductsListing2Content>> = ({ content }) => (
18
16
  <Section elementKey="layout">
19
17
  <Container elementKey="container">
20
18
  <Box elementKey="header_container">
@@ -34,11 +32,7 @@ const ProductsListing2: React.FC<
34
32
  </Box>
35
33
  <Box data-levo_group elementKey="products_levoGroup">
36
34
  {(content.products ?? []).map((_, index) => (
37
- <Box
38
- data-levo_group_item
39
- elementKey={`products.${index}.card`}
40
- key={index}
41
- >
35
+ <Box data-levo_group_item elementKey={`products.${index}.card`} key={index}>
42
36
  <Image
43
37
  alt="product image"
44
38
  elementKey={`products.${index}.image`}
@@ -56,10 +50,7 @@ const ProductsListing2: React.FC<
56
50
  <Typography elementKey={`products.${index}.rating_text`} />
57
51
  </Box>
58
52
  </Box>
59
- <Box
60
- elementKey={`products.${index}.ctas_levoGroup`}
61
- data-levo_group
62
- >
53
+ <Box elementKey={`products.${index}.ctas_levoGroup`} data-levo_group>
63
54
  {(content?.products?.[index]?.ctas ?? []).map((_, ctaIndex) => (
64
55
  <Button
65
56
  key={`products.${index}.ctas.${ctaIndex}.cta`}