@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.
- package/package.json +13 -14
- package/src/blocks/about-us/about-us-1.schema.ts +15 -30
- package/src/blocks/about-us/about-us-1.tsx +2 -4
- package/src/blocks/about-us/about-us-2.schema.ts +24 -48
- package/src/blocks/about-us/about-us-2.tsx +7 -13
- package/src/blocks/blogs/blog-listing-1.schema.ts +7 -14
- package/src/blocks/blogs/blog-listing-1.tsx +10 -21
- package/src/blocks/blogs/blog-listing-2.schema.ts +17 -34
- package/src/blocks/blogs/blog-listing-2.tsx +4 -12
- package/src/blocks/blogs/blog-listing-3.schema.ts +32 -64
- package/src/blocks/blogs/blog-listing-3.tsx +4 -12
- package/src/blocks/blogs/blog-post-1.schema.ts +9 -18
- package/src/blocks/blogs/blog-post-1.tsx +3 -14
- package/src/blocks/calendar/calendar-1.schema.ts +95 -6
- package/src/blocks/calendar/calendar-1.tsx +33 -29
- package/src/blocks/cards/cards-10.schema.ts +62 -124
- package/src/blocks/cards/cards-10.tsx +9 -14
- package/src/blocks/cards/cards-11.schema.ts +69 -138
- package/src/blocks/cards/cards-11.tsx +5 -11
- package/src/blocks/cards/cards-12.schema.ts +7 -14
- package/src/blocks/cards/cards-12.tsx +4 -10
- package/src/blocks/cards/cards-13.schema.ts +40 -80
- package/src/blocks/cards/cards-13.tsx +4 -6
- package/src/blocks/cards/cards-14.schema.ts +7 -14
- package/src/blocks/cards/cards-14.tsx +5 -11
- package/src/blocks/cards/cards-15.schema.ts +7 -14
- package/src/blocks/cards/cards-15.tsx +2 -4
- package/src/blocks/cards/cards-2.schema.ts +7 -14
- package/src/blocks/cards/cards-2.tsx +2 -15
- package/src/blocks/cards/cards-3.schema.ts +7 -14
- package/src/blocks/cards/cards-3.tsx +7 -13
- package/src/blocks/cards/cards-4.schema.ts +13 -26
- package/src/blocks/cards/cards-4.tsx +9 -15
- package/src/blocks/cards/cards-5.schema.ts +17 -34
- package/src/blocks/cards/cards-5.tsx +1 -9
- package/src/blocks/cards/cards-6.schema.ts +52 -104
- package/src/blocks/cards/cards-6.tsx +12 -20
- package/src/blocks/cards/cards-7.schema.ts +48 -96
- package/src/blocks/cards/cards-7.tsx +8 -27
- package/src/blocks/cards/cards-8.schema.ts +9 -20
- package/src/blocks/cards/cards-8.tsx +5 -11
- package/src/blocks/cards/cards-9.schema.ts +41 -82
- package/src/blocks/cards/cards-9.tsx +14 -22
- package/src/blocks/carousel/carousel-1.schema.ts +64 -128
- package/src/blocks/carousel/carousel-1.tsx +6 -8
- package/src/blocks/carousel/carousel-2.schema.ts +26 -52
- package/src/blocks/carousel/carousel-2.tsx +11 -23
- package/src/blocks/community/community-1.schema.ts +78 -32
- package/src/blocks/community/community-1.tsx +417 -550
- package/src/blocks/community/community-post-1.schema.ts +21 -30
- package/src/blocks/community/community-post-1.tsx +334 -84
- package/src/blocks/contact-us/contact-us-1.schema.ts +8 -16
- package/src/blocks/contact-us/contact-us-1.tsx +2 -12
- package/src/blocks/contact-us/contact-us-2.tsx +20 -31
- package/src/blocks/content/content-1.schema.ts +21 -42
- package/src/blocks/content/content-1.tsx +10 -17
- package/src/blocks/content/content-2.schema.ts +29 -58
- package/src/blocks/content/content-2.tsx +4 -4
- package/src/blocks/content/content-3.tsx +13 -29
- package/src/blocks/content/content-4.schema.ts +23 -46
- package/src/blocks/content/content-4.tsx +8 -17
- package/src/blocks/content/content-5.schema.ts +29 -24
- package/src/blocks/content/content-5.tsx +13 -27
- package/src/blocks/content/content-6.schema.ts +46 -94
- package/src/blocks/content/content-6.tsx +14 -31
- package/src/blocks/content/content-7.schema.ts +35 -72
- package/src/blocks/content/content-7.tsx +15 -31
- package/src/blocks/content/content-8.schema.ts +1 -6
- package/src/blocks/content/content-8.tsx +3 -3
- package/src/blocks/content/content-9.tsx +26 -41
- package/src/blocks/cta/cta-1.schema.ts +10 -20
- package/src/blocks/cta/cta-2.schema.ts +14 -28
- package/src/blocks/cta/cta-2.tsx +2 -6
- package/src/blocks/cta/cta-3.schema.ts +24 -50
- package/src/blocks/cta/cta-3.tsx +2 -6
- package/src/blocks/embed/embed-1.tsx +1 -9
- package/src/blocks/event/ClientOnly.tsx +1 -4
- package/src/blocks/event/event-details.schema.ts +16 -32
- package/src/blocks/event/event-details.tsx +8 -23
- package/src/blocks/event/event-listing-2.schema.ts +19 -38
- package/src/blocks/event/event-listing-2.tsx +12 -23
- package/src/blocks/event/event-listing-3.schema.ts +10 -20
- package/src/blocks/event/event-listing-3.tsx +9 -15
- package/src/blocks/event/event-listing-4.schema.ts +40 -80
- package/src/blocks/event/event-listing-4.tsx +5 -13
- package/src/blocks/event/event-listing.schema.ts +12 -24
- package/src/blocks/event/event-listing.tsx +9 -15
- package/src/blocks/faq/faq-1.schema.ts +8 -16
- package/src/blocks/faq/faq-1.tsx +19 -30
- package/src/blocks/faq/faq-2.schema.ts +8 -16
- package/src/blocks/faq/faq-2.tsx +11 -10
- package/src/blocks/faq/faq-3.schema.ts +9 -18
- package/src/blocks/faq/faq-3.tsx +11 -19
- package/src/blocks/features/features-1/features-1.tsx +2 -4
- package/src/blocks/features/features-1/variants/default.ts +4 -8
- package/src/blocks/features/features-1/variants/index.ts +1 -1
- package/src/blocks/features/features-2.schema.ts +32 -64
- package/src/blocks/features/features-2.tsx +8 -10
- package/src/blocks/features/features-3.schema.ts +32 -64
- package/src/blocks/features/features-3.tsx +7 -16
- package/src/blocks/features/features-4.schema.ts +16 -32
- package/src/blocks/features/features-4.tsx +3 -7
- package/src/blocks/features/features-5.schema.ts +1 -2
- package/src/blocks/features/features-5.tsx +6 -17
- package/src/blocks/features/features-6.schema.ts +32 -64
- package/src/blocks/features/features-6.tsx +16 -36
- package/src/blocks/filter-listing/filter-listing-1.tsx +12 -36
- package/src/blocks/floating-buttons/floating-button-1.schema.ts +5 -10
- package/src/blocks/floating-buttons/floating-button-1.tsx +3 -9
- package/src/blocks/footer/footer-1.schema.ts +8 -16
- package/src/blocks/footer/footer-1.tsx +15 -30
- package/src/blocks/footer/footer-2.schema.ts +8 -16
- package/src/blocks/footer/footer-2.tsx +17 -28
- package/src/blocks/footer/footer-3.schema.ts +1 -2
- package/src/blocks/footer/footer-3.tsx +9 -25
- package/src/blocks/footer/footer-4.schema.ts +8 -16
- package/src/blocks/footer/footer-4.tsx +35 -54
- package/src/blocks/footer/footer-5.schema.ts +10 -24
- package/src/blocks/footer/footer-5.tsx +14 -29
- package/src/blocks/footer/footer-6.schema.ts +10 -25
- package/src/blocks/footer/footer-6.tsx +29 -44
- package/src/blocks/form/form-1.schema.ts +144 -0
- package/src/blocks/form/form-1.tsx +33 -0
- package/src/blocks/hero/hero-1.schema.ts +45 -90
- package/src/blocks/hero/hero-1.tsx +4 -4
- package/src/blocks/hero/hero-10.schema.ts +1 -2
- package/src/blocks/hero/hero-10.tsx +4 -4
- package/src/blocks/hero/hero-11.schema.ts +18 -14
- package/src/blocks/hero/hero-11.tsx +4 -9
- package/src/blocks/hero/hero-12.schema.ts +18 -36
- package/src/blocks/hero/hero-12.tsx +3 -6
- package/src/blocks/hero/hero-13.schema.ts +8 -16
- package/src/blocks/hero/hero-13.tsx +1 -1
- package/src/blocks/hero/hero-2.schema.ts +3 -6
- package/src/blocks/hero/hero-2.tsx +3 -21
- package/src/blocks/hero/hero-3.schema.ts +28 -56
- package/src/blocks/hero/hero-3.tsx +6 -15
- package/src/blocks/hero/hero-4.schema.ts +22 -44
- package/src/blocks/hero/hero-4.tsx +16 -27
- package/src/blocks/hero/hero-5.schema.ts +21 -42
- package/src/blocks/hero/hero-5.tsx +15 -18
- package/src/blocks/hero/hero-6.schema.ts +35 -70
- package/src/blocks/hero/hero-6.tsx +6 -6
- package/src/blocks/hero/hero-7.schema.ts +24 -48
- package/src/blocks/hero/hero-7.tsx +2 -3
- package/src/blocks/hero/hero-8.schema.ts +24 -50
- package/src/blocks/hero/hero-8.tsx +5 -19
- package/src/blocks/hero/hero-9.schema.ts +8 -16
- package/src/blocks/hero/hero-9.tsx +3 -3
- package/src/blocks/index.ts +8 -11
- package/src/blocks/jobs/jobs-1.schema.ts +990 -0
- package/src/blocks/jobs/jobs-1.tsx +145 -0
- package/src/blocks/logos/logos-1.schema.ts +53 -113
- package/src/blocks/logos/logos-1.tsx +7 -7
- package/src/blocks/navbar/navbar-1.schema.ts +15 -28
- package/src/blocks/navbar/navbar-1.tsx +24 -60
- package/src/blocks/navbar/navbar-2.schema.ts +14 -28
- package/src/blocks/navbar/navbar-2.tsx +26 -56
- package/src/blocks/navbar/navbar-3.schema.ts +11 -22
- package/src/blocks/navbar/navbar-3.tsx +33 -82
- package/src/blocks/navbar/navbar-4.schema.ts +14343 -0
- package/src/blocks/navbar/navbar-4.tsx +546 -0
- package/src/blocks/polling/polling-1.schema.ts +1 -2
- package/src/blocks/polling/polling-1.tsx +24 -39
- package/src/blocks/pricing/pricing-1.schema.ts +13 -26
- package/src/blocks/pricing/pricing-1.tsx +20 -44
- package/src/blocks/products/products-listing-1.schema.ts +32 -64
- package/src/blocks/products/products-listing-1.tsx +6 -12
- package/src/blocks/products/products-listing-2.schema.ts +26 -54
- package/src/blocks/products/products-listing-2.tsx +8 -17
- package/src/blocks/products/products-listing-3.schema.ts +25 -52
- package/src/blocks/products/products-listing-3.tsx +87 -93
- package/src/blocks/profile/profile-1.schema.ts +7 -14
- package/src/blocks/profile/profile-1.tsx +2 -8
- package/src/blocks/profile/profile-2.schema.ts +9 -18
- package/src/blocks/profile/profile-2.tsx +4 -6
- package/src/blocks/profile/profile-3.schema.ts +21 -42
- package/src/blocks/profile/profile-3.tsx +18 -40
- package/src/blocks/{blogs/blog-post-2.schema.ts → profile/profile-4.schema.ts} +75 -97
- package/src/blocks/{blogs/blog-post-2.tsx → profile/profile-4.tsx} +32 -61
- package/src/blocks/{blogs/blog-post-3.schema.ts → profile/profile-5.schema.ts} +6 -6
- package/src/blocks/{blogs/blog-post-3.tsx → profile/profile-5.tsx} +6 -11
- package/src/blocks/services/service-1.schema.ts +20 -40
- package/src/blocks/services/service-1.tsx +45 -71
- package/src/blocks/services/service-2.schema.ts +8 -16
- package/src/blocks/services/service-2.tsx +4 -6
- package/src/blocks/services/service-3.schema.ts +12 -24
- package/src/blocks/services/service-3.tsx +4 -6
- package/src/blocks/stats/stats-1.tsx +3 -14
- package/src/blocks/stats/stats-2.tsx +3 -14
- package/src/blocks/stats/variants/index.ts +1 -1
- package/src/blocks/tabs/tab-1.schema.ts +4 -8
- package/src/blocks/tabs/tab-1.tsx +47 -64
- package/src/blocks/tabs/tab-2.schema.ts +13 -26
- package/src/blocks/tabs/tab-2.tsx +14 -15
- package/src/blocks/team/team-1.schema.ts +28 -56
- package/src/blocks/team/team-1.tsx +7 -21
- package/src/blocks/team/team-2.schema.ts +104 -208
- package/src/blocks/team/team-2.tsx +15 -33
- package/src/blocks/team/team-3.schema.ts +24 -48
- package/src/blocks/team/team-3.tsx +8 -14
- package/src/blocks/team/team-4.schema.ts +25 -50
- package/src/blocks/team/team-4.tsx +15 -24
- package/src/blocks/team/team-5.schema.ts +14 -28
- package/src/blocks/team/team-5.tsx +1 -1
- package/src/blocks/termsAndPrivacy/terms-and-conditions-1.tsx +3 -5
- package/src/blocks/testimonial/testimonial-1.schema.ts +1 -2
- package/src/blocks/testimonial/testimonial-1.tsx +10 -19
- package/src/blocks/testimonial/testimonial-2.schema.ts +16 -32
- package/src/blocks/testimonial/testimonial-2.tsx +17 -36
- package/src/blocks/testimonial/testimonial-3.schema.ts +8 -16
- package/src/blocks/testimonial/testimonial-3.tsx +13 -26
- package/src/blocks/testimonial/testimonial-4.schema.ts +94 -188
- package/src/blocks/testimonial/testimonial-4.tsx +12 -33
- package/src/blocks/testimonial/testimonial-5/variants/default.ts +24 -48
- package/src/blocks/testimonial/testimonial-5/variants/index.ts +1 -1
- package/src/blocks/testimonial/testimonial-5/variants/testimonialWithLogo.ts +4 -8
- package/src/blocks/testimonial/testimonial-5/variants/testimonialWithRatings.ts +24 -48
- package/src/blocks/testimonial/testimonial-5.schema.ts +2 -6
- package/src/blocks/testimonial/testimonial-5.tsx +15 -25
- package/src/blocks/testimonial/testimonial-6.schema.ts +26 -52
- package/src/blocks/testimonial/testimonial-6.tsx +9 -25
- package/src/blocks/testimonial/testimonial-7.tsx +15 -26
- package/src/blocks/timeline/timeline-1.schema.ts +34 -68
- package/src/blocks/timeline/timeline-1.tsx +2 -6
- package/src/blocks/users/edit-profile.tsx +10 -22
- package/src/constants/index.ts +3 -6
- package/src/index.ts +1 -1
- package/src/schemas/blocks.ts +14 -8
- 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
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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
|
-
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
"
|
|
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
|
-
|
|
37
|
-
"
|
|
38
|
-
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
"
|
|
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
|
-
|
|
62
|
-
"
|
|
63
|
-
|
|
64
|
-
"
|
|
65
|
-
|
|
66
|
-
"
|
|
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
|
-
|
|
87
|
-
"
|
|
88
|
-
|
|
89
|
-
"
|
|
90
|
-
|
|
91
|
-
"
|
|
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
|
-
|
|
2
|
+
Box,
|
|
3
3
|
Button,
|
|
4
|
+
Container,
|
|
4
5
|
Heading,
|
|
6
|
+
type ILevoBlockBaseProps,
|
|
5
7
|
Image,
|
|
6
|
-
Typography,
|
|
7
|
-
Container,
|
|
8
8
|
Section,
|
|
9
|
-
|
|
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
|
-
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
"
|
|
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
|
-
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
"
|
|
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
|
-
|
|
64
|
-
"
|
|
65
|
-
|
|
66
|
-
"
|
|
67
|
-
|
|
68
|
-
"
|
|
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
|
-
|
|
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
|
-
|
|
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`}
|