@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.
- package/package.json +6 -6
- package/src/blocks/about-us/about-us-1.schema.ts +60 -58
- package/src/blocks/about-us/about-us-1.tsx +2 -4
- package/src/blocks/about-us/about-us-2.schema.ts +165 -42
- 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 +27 -36
- package/src/blocks/blogs/blog-listing-2.schema.ts +17 -34
- package/src/blocks/blogs/blog-listing-2.tsx +21 -27
- package/src/blocks/blogs/blog-listing-3.schema.ts +32 -64
- package/src/blocks/blogs/blog-listing-3.tsx +21 -27
- 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 +351 -180
- package/src/blocks/calendar/calendar-1.tsx +60 -25
- package/src/blocks/cards/cards-10.schema.ts +278 -331
- package/src/blocks/cards/cards-10.tsx +18 -15
- package/src/blocks/cards/cards-11.schema.ts +178 -356
- package/src/blocks/cards/cards-11.tsx +5 -11
- package/src/blocks/cards/cards-12.schema.ts +110 -196
- package/src/blocks/cards/cards-12.tsx +4 -10
- package/src/blocks/cards/cards-13.schema.ts +131 -120
- package/src/blocks/cards/cards-13.tsx +4 -6
- package/src/blocks/cards/cards-14.schema.ts +51 -154
- package/src/blocks/cards/cards-14.tsx +5 -11
- package/src/blocks/cards/cards-15.schema.ts +48 -32
- package/src/blocks/cards/cards-15.tsx +15 -6
- package/src/blocks/cards/cards-2.schema.ts +76 -88
- package/src/blocks/cards/cards-2.tsx +12 -17
- package/src/blocks/cards/cards-3.schema.ts +68 -70
- package/src/blocks/cards/cards-3.tsx +7 -13
- package/src/blocks/cards/cards-4.schema.ts +160 -115
- package/src/blocks/cards/cards-4.tsx +22 -17
- package/src/blocks/cards/cards-5.schema.ts +76 -70
- package/src/blocks/cards/cards-5.tsx +10 -10
- package/src/blocks/cards/cards-6.schema.ts +755 -985
- package/src/blocks/cards/cards-6.tsx +17 -9
- package/src/blocks/cards/cards-7.schema.ts +754 -2250
- package/src/blocks/cards/cards-7.tsx +18 -24
- package/src/blocks/cards/cards-8.schema.ts +171 -363
- package/src/blocks/cards/cards-8.tsx +15 -8
- package/src/blocks/cards/cards-9.schema.ts +283 -329
- package/src/blocks/cards/cards-9.tsx +28 -12
- package/src/blocks/carousel/carousel-1.schema.ts +418 -49
- package/src/blocks/carousel/carousel-1.tsx +8 -8
- package/src/blocks/carousel/carousel-2.schema.ts +153 -127
- package/src/blocks/carousel/carousel-2.tsx +16 -20
- package/src/blocks/community/community-1.schema.ts +612 -0
- package/src/blocks/community/community-1.tsx +557 -0
- package/src/blocks/community/community-post-1.schema.ts +408 -0
- package/src/blocks/community/community-post-1.tsx +405 -0
- package/src/blocks/contact-us/contact-us-1.schema.ts +25 -43
- package/src/blocks/contact-us/contact-us-1.tsx +2 -12
- package/src/blocks/contact-us/contact-us-2.schema.ts +39 -17
- package/src/blocks/contact-us/contact-us-2.tsx +21 -32
- package/src/blocks/content/content-1.schema.ts +163 -234
- package/src/blocks/content/content-1.tsx +46 -43
- package/src/blocks/content/content-2.schema.ts +117 -35
- package/src/blocks/content/content-2.tsx +19 -7
- package/src/blocks/content/content-3.schema.ts +215 -205
- package/src/blocks/content/content-3.tsx +14 -18
- package/src/blocks/content/content-4.schema.ts +105 -89
- package/src/blocks/content/content-4.tsx +10 -18
- package/src/blocks/content/content-5.schema.ts +301 -278
- package/src/blocks/content/content-5.tsx +23 -16
- package/src/blocks/content/content-6.schema.ts +432 -250
- package/src/blocks/content/content-6.tsx +24 -19
- package/src/blocks/content/content-7.schema.ts +200 -197
- package/src/blocks/content/content-7.tsx +29 -21
- package/src/blocks/content/content-8.schema.ts +28 -23
- package/src/blocks/content/content-8.tsx +3 -3
- package/src/blocks/content/content-9.schema.ts +64 -2208
- package/src/blocks/content/content-9.tsx +31 -43
- package/src/blocks/cta/cta-1.schema.ts +23 -128
- package/src/blocks/cta/cta-2.schema.ts +46 -69
- package/src/blocks/cta/cta-2.tsx +2 -6
- package/src/blocks/cta/cta-3.schema.ts +77 -72
- package/src/blocks/cta/cta-3.tsx +2 -6
- package/src/blocks/embed/embed-1.schema.ts +30 -52
- 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 +23 -32
- package/src/blocks/event/event-details.tsx +9 -23
- package/src/blocks/event/event-listing-2.schema.ts +19 -38
- package/src/blocks/event/event-listing-2.tsx +29 -38
- package/src/blocks/event/event-listing-3.schema.ts +10 -20
- package/src/blocks/event/event-listing-3.tsx +26 -30
- package/src/blocks/event/event-listing-4.schema.ts +40 -80
- package/src/blocks/event/event-listing-4.tsx +22 -28
- package/src/blocks/event/event-listing.schema.ts +12 -24
- package/src/blocks/event/event-listing.tsx +26 -30
- package/src/blocks/faq/faq-1.schema.ts +150 -112
- package/src/blocks/faq/faq-1.tsx +31 -33
- package/src/blocks/faq/faq-2.schema.ts +132 -77
- package/src/blocks/faq/faq-2.tsx +21 -11
- package/src/blocks/faq/faq-3.schema.ts +178 -107
- package/src/blocks/faq/faq-3.tsx +30 -22
- package/src/blocks/features/features-1/features-1.schema.ts +11 -3
- package/src/blocks/features/features-1/features-1.tsx +12 -5
- package/src/blocks/features/features-1/variants/default.ts +176 -62
- package/src/blocks/features/features-1/variants/index.ts +1 -1
- package/src/blocks/features/features-1/variants/stylized-cards-v1.ts +392 -54
- package/src/blocks/features/features-1/variants/stylized-cards-v2.ts +119 -103
- package/src/blocks/features/features-1/variants/stylized-cards-v3.ts +16 -199
- package/src/blocks/features/features-2.schema.ts +149 -48
- package/src/blocks/features/features-2.tsx +18 -12
- package/src/blocks/features/features-3.schema.ts +255 -68
- package/src/blocks/features/features-3.tsx +25 -15
- package/src/blocks/features/features-4.schema.ts +367 -188
- package/src/blocks/features/features-4.tsx +12 -8
- package/src/blocks/features/features-5.schema.ts +195 -200
- package/src/blocks/features/features-5.tsx +14 -14
- package/src/blocks/features/features-6.schema.ts +230 -215
- package/src/blocks/features/features-6.tsx +28 -34
- package/src/blocks/filter-listing/filter-listing-1.tsx +12 -36
- package/src/blocks/floating-buttons/floating-button-1.schema.ts +100 -0
- package/src/blocks/floating-buttons/floating-button-1.tsx +14 -0
- package/src/blocks/footer/footer-1.schema.ts +110 -48
- package/src/blocks/footer/footer-1.tsx +17 -31
- package/src/blocks/footer/footer-2.schema.ts +230 -34
- package/src/blocks/footer/footer-2.tsx +19 -29
- package/src/blocks/footer/footer-3.schema.ts +335 -59
- package/src/blocks/footer/footer-3.tsx +11 -26
- package/src/blocks/footer/footer-4.schema.ts +139 -76
- package/src/blocks/footer/footer-4.tsx +37 -55
- package/src/blocks/footer/footer-5.schema.ts +138 -60
- package/src/blocks/footer/footer-5.tsx +16 -30
- package/src/blocks/footer/footer-6.schema.ts +62 -149
- package/src/blocks/footer/footer-6.tsx +30 -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 +153 -101
- package/src/blocks/hero/hero-1.tsx +4 -4
- package/src/blocks/hero/hero-10.schema.ts +9 -31
- package/src/blocks/hero/hero-10.tsx +4 -4
- package/src/blocks/hero/hero-11.schema.ts +196 -89
- package/src/blocks/hero/hero-11.tsx +5 -10
- package/src/blocks/hero/hero-12.schema.ts +111 -192
- package/src/blocks/hero/hero-12.tsx +4 -7
- package/src/blocks/hero/hero-13.schema.ts +36 -30
- package/src/blocks/hero/hero-13.tsx +1 -1
- package/src/blocks/hero/hero-2.schema.ts +30 -58
- package/src/blocks/hero/hero-2.tsx +3 -21
- package/src/blocks/hero/hero-3.schema.ts +70 -90
- package/src/blocks/hero/hero-3.tsx +6 -15
- package/src/blocks/hero/hero-4.schema.ts +246 -73
- package/src/blocks/hero/hero-4.tsx +22 -16
- package/src/blocks/hero/hero-5.schema.ts +104 -47
- package/src/blocks/hero/hero-5.tsx +21 -12
- package/src/blocks/hero/hero-6.schema.ts +127 -258
- package/src/blocks/hero/hero-6.tsx +6 -6
- package/src/blocks/hero/hero-7.schema.ts +90 -43
- package/src/blocks/hero/hero-7.tsx +6 -4
- package/src/blocks/hero/hero-8.schema.ts +342 -138
- package/src/blocks/hero/hero-8.tsx +23 -13
- package/src/blocks/hero/hero-9.schema.ts +111 -86
- package/src/blocks/hero/hero-9.tsx +12 -4
- package/src/blocks/index.ts +12 -8
- 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 +370 -36
- 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 +2 -21
- package/src/blocks/polling/polling-1.tsx +24 -39
- package/src/blocks/pricing/pricing-1.schema.ts +307 -290
- package/src/blocks/pricing/pricing-1.tsx +32 -42
- package/src/blocks/products/products-listing-1.schema.ts +115 -36
- package/src/blocks/products/products-listing-1.tsx +15 -13
- package/src/blocks/products/products-listing-2.schema.ts +178 -220
- package/src/blocks/products/products-listing-2.tsx +29 -16
- package/src/blocks/products/products-listing-3.schema.ts +412 -154
- package/src/blocks/products/products-listing-3.tsx +102 -73
- package/src/blocks/profile/profile-1.schema.ts +60 -49
- package/src/blocks/profile/profile-1.tsx +5 -10
- package/src/blocks/profile/profile-2.schema.ts +71 -92
- package/src/blocks/profile/profile-2.tsx +6 -7
- package/src/blocks/profile/profile-3.schema.ts +141 -529
- package/src/blocks/profile/profile-3.tsx +19 -41
- 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 +210 -830
- package/src/blocks/services/service-1.tsx +46 -59
- package/src/blocks/services/service-2.schema.ts +92 -80
- package/src/blocks/services/service-2.tsx +13 -7
- package/src/blocks/services/service-3.schema.ts +74 -86
- package/src/blocks/services/service-3.tsx +44 -45
- package/src/blocks/stats/stats-1.schema.ts +225 -21
- package/src/blocks/stats/stats-1.tsx +7 -14
- package/src/blocks/stats/stats-2.schema.ts +13 -5
- package/src/blocks/stats/stats-2.tsx +12 -15
- package/src/blocks/stats/variants/default.ts +59 -41
- package/src/blocks/stats/variants/hero.ts +64 -31
- package/src/blocks/stats/variants/index.ts +1 -1
- package/src/blocks/tabs/tab-1.schema.ts +103 -409
- package/src/blocks/tabs/tab-1.tsx +47 -53
- package/src/blocks/tabs/tab-2.schema.ts +207 -290
- package/src/blocks/tabs/tab-2.tsx +20 -9
- package/src/blocks/team/team-1.schema.ts +593 -76
- package/src/blocks/team/team-1.tsx +16 -22
- package/src/blocks/team/team-2.schema.ts +621 -1453
- package/src/blocks/team/team-2.tsx +19 -34
- package/src/blocks/team/team-3.schema.ts +127 -78
- package/src/blocks/team/team-3.tsx +9 -14
- package/src/blocks/team/team-4.schema.ts +197 -63
- package/src/blocks/team/team-4.tsx +25 -26
- package/src/blocks/team/team-5.schema.ts +65 -54
- package/src/blocks/team/team-5.tsx +13 -4
- package/src/blocks/termsAndPrivacy/terms-and-conditions-1.schema.ts +9 -26
- package/src/blocks/termsAndPrivacy/terms-and-conditions-1.tsx +4 -6
- package/src/blocks/testimonial/testimonial-1.schema.ts +713 -65
- package/src/blocks/testimonial/testimonial-1.tsx +12 -23
- package/src/blocks/testimonial/testimonial-2.schema.ts +1316 -354
- package/src/blocks/testimonial/testimonial-2.tsx +21 -37
- package/src/blocks/testimonial/testimonial-3.schema.ts +210 -74
- package/src/blocks/testimonial/testimonial-3.tsx +17 -27
- package/src/blocks/testimonial/testimonial-4.schema.ts +353 -1049
- package/src/blocks/testimonial/testimonial-4.tsx +16 -34
- package/src/blocks/testimonial/testimonial-5/variants/default.ts +155 -171
- package/src/blocks/testimonial/testimonial-5/variants/index.ts +1 -1
- package/src/blocks/testimonial/testimonial-5/variants/testimonialWithLogo.ts +201 -501
- package/src/blocks/testimonial/testimonial-5/variants/testimonialWithRatings.ts +166 -316
- 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 +226 -315
- package/src/blocks/testimonial/testimonial-6.tsx +9 -25
- package/src/blocks/testimonial/testimonial-7.schema.ts +74 -45
- package/src/blocks/testimonial/testimonial-7.tsx +16 -27
- package/src/blocks/timeline/timeline-1.schema.ts +166 -153
- package/src/blocks/timeline/timeline-1.tsx +6 -7
- package/src/blocks/users/edit-profile.schema.ts +56 -44
- package/src/blocks/users/edit-profile.tsx +23 -28
- package/src/constants/index.ts +16 -0
- package/src/index.ts +1 -1
- package/src/schemas/blocks.ts +17 -5
- package/src/schemas/categories.ts +26 -2
|
@@ -2,25 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
import type { CarouselApi } from "@levo-so/studio";
|
|
4
4
|
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Image,
|
|
8
|
-
Typography,
|
|
9
|
-
Container,
|
|
10
|
-
Section,
|
|
5
|
+
Box,
|
|
6
|
+
Button,
|
|
11
7
|
Carousel,
|
|
12
8
|
CarouselContent,
|
|
13
9
|
CarouselItem,
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
Container,
|
|
11
|
+
Heading,
|
|
12
|
+
type ILevoBlockBaseProps,
|
|
13
|
+
Image,
|
|
14
|
+
Section,
|
|
15
|
+
Typography,
|
|
16
16
|
} from "@levo-so/studio";
|
|
17
17
|
import { useEffect, useState } from "react";
|
|
18
18
|
|
|
19
19
|
import type { IFeature6Content } from "./features-6.schema";
|
|
20
20
|
|
|
21
|
-
const Feature6: React.FC<ILevoBlockBaseProps<IFeature6Content>> = ({
|
|
22
|
-
content,
|
|
23
|
-
}) => {
|
|
21
|
+
const Feature6: React.FC<ILevoBlockBaseProps<IFeature6Content>> = ({ content }) => {
|
|
24
22
|
const [api, setApi] = useState<CarouselApi>();
|
|
25
23
|
const [current, setCurrent] = useState(0);
|
|
26
24
|
const [count, setCount] = useState(0);
|
|
@@ -41,7 +39,10 @@ const Feature6: React.FC<ILevoBlockBaseProps<IFeature6Content>> = ({
|
|
|
41
39
|
return (
|
|
42
40
|
<Section elementKey="layout">
|
|
43
41
|
<Container elementKey="container">
|
|
44
|
-
<
|
|
42
|
+
<Box elementKey="header">
|
|
43
|
+
<Heading elementKey="title" />
|
|
44
|
+
<Typography elementKey="description" />
|
|
45
|
+
</Box>
|
|
45
46
|
|
|
46
47
|
<Carousel
|
|
47
48
|
elementKey="features_levoGroup"
|
|
@@ -53,37 +54,30 @@ const Feature6: React.FC<ILevoBlockBaseProps<IFeature6Content>> = ({
|
|
|
53
54
|
{(content?.features ?? []).map((_, index: number) => (
|
|
54
55
|
<CarouselItem key={index} data-levo_group_item>
|
|
55
56
|
<Box elementKey={`features.${index}.card`}>
|
|
56
|
-
<Image
|
|
57
|
-
elementKey={`features.${index}.image`}
|
|
58
|
-
alt="Feature image"
|
|
59
|
-
/>
|
|
57
|
+
<Image elementKey={`features.${index}.image`} alt="Feature image" />
|
|
60
58
|
<Box elementKey={`features.${index}.content_wrapper`}>
|
|
61
59
|
<Box elementKey={`features.${index}.meta_container`}>
|
|
62
60
|
<Box elementKey={`features.${index}.date_wrapper`}>
|
|
63
|
-
<Image
|
|
64
|
-
|
|
65
|
-
alt="Date icon"
|
|
66
|
-
/>
|
|
67
|
-
<Typography
|
|
68
|
-
elementKey={`features.${index}.date_text`}
|
|
69
|
-
/>
|
|
61
|
+
<Image elementKey={`features.${index}.date_icon`} alt="Date icon" />
|
|
62
|
+
<Typography elementKey={`features.${index}.date_text`} />
|
|
70
63
|
</Box>
|
|
71
64
|
<Box elementKey={`features.${index}.category_wrapper`}>
|
|
72
|
-
<Image
|
|
73
|
-
|
|
74
|
-
alt="Category icon"
|
|
75
|
-
/>
|
|
76
|
-
<Typography
|
|
77
|
-
elementKey={`features.${index}.category_text`}
|
|
78
|
-
/>
|
|
65
|
+
<Image elementKey={`features.${index}.category_icon`} alt="Category icon" />
|
|
66
|
+
<Typography elementKey={`features.${index}.category_text`} />
|
|
79
67
|
</Box>
|
|
80
68
|
</Box>
|
|
81
69
|
<Box elementKey={`features.${index}.text_container`}>
|
|
82
70
|
<Heading elementKey={`features.${index}.feature_title`} />
|
|
83
|
-
<Typography
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
71
|
+
<Typography elementKey={`features.${index}.description`} />
|
|
72
|
+
<Box elementKey={`features.${index}.ctas_levoGroup`} data-levo_group>
|
|
73
|
+
{(content?.features?.[index]?.ctas ?? []).map((_, ctaIndex) => (
|
|
74
|
+
<Button
|
|
75
|
+
key={`features.${index}.ctas.${ctaIndex}.cta`}
|
|
76
|
+
elementKey={`features.${index}.ctas.${ctaIndex}.cta`}
|
|
77
|
+
data-levo_group_item
|
|
78
|
+
/>
|
|
79
|
+
))}
|
|
80
|
+
</Box>
|
|
87
81
|
</Box>
|
|
88
82
|
</Box>
|
|
89
83
|
</Box>
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
AccordionRoot,
|
|
2
|
+
AccordionContent,
|
|
4
3
|
AccordionItem,
|
|
4
|
+
AccordionRoot,
|
|
5
5
|
AccordionTrigger,
|
|
6
|
-
AccordionContent,
|
|
7
6
|
Box,
|
|
8
7
|
Button,
|
|
9
8
|
Container,
|
|
10
9
|
Heading,
|
|
11
10
|
Icon,
|
|
11
|
+
type ILevoBlockBaseProps,
|
|
12
12
|
IntegrationFilters,
|
|
13
13
|
Media,
|
|
14
14
|
Section,
|
|
@@ -18,9 +18,7 @@ import {
|
|
|
18
18
|
|
|
19
19
|
import type { IFilterListing1Content } from "./filter-listing-1.schema";
|
|
20
20
|
|
|
21
|
-
const FilterListing1: React.FC<ILevoBlockBaseProps<IFilterListing1Content>> = ({
|
|
22
|
-
config,
|
|
23
|
-
}) => {
|
|
21
|
+
const FilterListing1: React.FC<ILevoBlockBaseProps<IFilterListing1Content>> = ({ config }) => {
|
|
24
22
|
const { data, query, setQuery, meta } = useContentEngine("listing");
|
|
25
23
|
|
|
26
24
|
const handleNext = () => setQuery({ page: (query?.page || 0) + 1 });
|
|
@@ -33,19 +31,10 @@ const FilterListing1: React.FC<ILevoBlockBaseProps<IFilterListing1Content>> = ({
|
|
|
33
31
|
</Box>
|
|
34
32
|
<Box elementKey="listing_wrapper">
|
|
35
33
|
{config?.listing_levoGroup?.filters?.schema && (
|
|
36
|
-
<AccordionRoot
|
|
37
|
-
|
|
38
|
-
elementKey="filters_accordion"
|
|
39
|
-
defaultValue="filters"
|
|
40
|
-
>
|
|
41
|
-
<AccordionItem
|
|
42
|
-
value="filters"
|
|
43
|
-
elementKey="filters_accordion_item"
|
|
44
|
-
>
|
|
34
|
+
<AccordionRoot type="single" elementKey="filters_accordion" defaultValue="filters">
|
|
35
|
+
<AccordionItem value="filters" elementKey="filters_accordion_item">
|
|
45
36
|
<AccordionTrigger elementKey="filters_accordion_trigger">
|
|
46
|
-
<Typography elementKey="filters_accordion_title">
|
|
47
|
-
Filters
|
|
48
|
-
</Typography>
|
|
37
|
+
<Typography elementKey="filters_accordion_title">Filters</Typography>
|
|
49
38
|
</AccordionTrigger>
|
|
50
39
|
<AccordionContent elementKey="filters_accordion_content">
|
|
51
40
|
<Box elementKey="filters_box">
|
|
@@ -53,10 +42,7 @@ const FilterListing1: React.FC<ILevoBlockBaseProps<IFilterListing1Content>> = ({
|
|
|
53
42
|
query={query}
|
|
54
43
|
setQuery={setQuery}
|
|
55
44
|
schema={config?.listing_levoGroup?.filters?.schema}
|
|
56
|
-
selectedFields={
|
|
57
|
-
config?.listing_levoGroup?.filters?.selected_fields ??
|
|
58
|
-
[]
|
|
59
|
-
}
|
|
45
|
+
selectedFields={config?.listing_levoGroup?.filters?.selected_fields ?? []}
|
|
60
46
|
/>
|
|
61
47
|
</Box>
|
|
62
48
|
</AccordionContent>
|
|
@@ -70,29 +56,19 @@ const FilterListing1: React.FC<ILevoBlockBaseProps<IFilterListing1Content>> = ({
|
|
|
70
56
|
data-levo_group_item
|
|
71
57
|
elementKey={`listing.${index}.card`}
|
|
72
58
|
>
|
|
73
|
-
<Media
|
|
74
|
-
elementKey={`listing.${index}.media`}
|
|
75
|
-
alt="Filter Media"
|
|
76
|
-
/>
|
|
59
|
+
<Media elementKey={`listing.${index}.media`} alt="Filter Media" />
|
|
77
60
|
<Box elementKey={`listing.${index}.filter_info_wrapper`}>
|
|
78
61
|
<Box elementKey={`listing.${index}.filter_content`}>
|
|
79
62
|
<Heading elementKey={`listing.${index}.title`} />
|
|
80
|
-
<Box
|
|
81
|
-
elementKey={`listing.${index}.points_levoGroup`}
|
|
82
|
-
data-levo_group
|
|
83
|
-
>
|
|
63
|
+
<Box elementKey={`listing.${index}.points_levoGroup`} data-levo_group>
|
|
84
64
|
{(item.points || [])?.map((_: any, pIndex: number) => (
|
|
85
65
|
<Box
|
|
86
66
|
key={pIndex}
|
|
87
67
|
elementKey={`listing.${index}.points.${pIndex}.container`}
|
|
88
68
|
data-levo_group_item
|
|
89
69
|
>
|
|
90
|
-
<Icon
|
|
91
|
-
|
|
92
|
-
/>
|
|
93
|
-
<Typography
|
|
94
|
-
elementKey={`listing.${index}.points.${pIndex}.text`}
|
|
95
|
-
/>
|
|
70
|
+
<Icon elementKey={`listing.${index}.points.${pIndex}.icon`} />
|
|
71
|
+
<Typography elementKey={`listing.${index}.points.${pIndex}.text`} />
|
|
96
72
|
</Box>
|
|
97
73
|
))}
|
|
98
74
|
</Box>
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import type { IBlock } from "@levo-so/studio";
|
|
2
|
+
|
|
3
|
+
const DEFAULT_CONTENT = {
|
|
4
|
+
button_group: [
|
|
5
|
+
{
|
|
6
|
+
button: " ",
|
|
7
|
+
button_leftIcon: {
|
|
8
|
+
kind: "custom",
|
|
9
|
+
data: {
|
|
10
|
+
id: "R6ervNbOZfcD9",
|
|
11
|
+
location: "https://static.levocdn.com/WLZ1TXTD/whatsapp-logopng4-2EYM5YIjokcd.png",
|
|
12
|
+
mimetype: "image/png",
|
|
13
|
+
kind: "image",
|
|
14
|
+
srcset: {
|
|
15
|
+
"1080w":
|
|
16
|
+
"https://static.levocdn.com/WLZ1TXTD/whatsapp-logopng4-2EYM5YIjokcd-1080w.webp",
|
|
17
|
+
"1200w":
|
|
18
|
+
"https://static.levocdn.com/WLZ1TXTD/whatsapp-logopng4-2EYM5YIjokcd-1200w.webp",
|
|
19
|
+
"1920w":
|
|
20
|
+
"https://static.levocdn.com/WLZ1TXTD/whatsapp-logopng4-2EYM5YIjokcd-1920w.webp",
|
|
21
|
+
"320w": "https://static.levocdn.com/WLZ1TXTD/whatsapp-logopng4-2EYM5YIjokcd-320w.webp",
|
|
22
|
+
"640w": "https://static.levocdn.com/WLZ1TXTD/whatsapp-logopng4-2EYM5YIjokcd-640w.webp",
|
|
23
|
+
"750w": "https://static.levocdn.com/WLZ1TXTD/whatsapp-logopng4-2EYM5YIjokcd-750w.webp",
|
|
24
|
+
"828w": "https://static.levocdn.com/WLZ1TXTD/whatsapp-logopng4-2EYM5YIjokcd-828w.webp",
|
|
25
|
+
path: "https://static.levocdn.com/WLZ1TXTD/whatsapp-logopng4-2EYM5YIjokcd-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/whatsapp-logopng4-2EYM5YIjokcd-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/whatsapp-logopng4-2EYM5YIjokcd-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/whatsapp-logopng4-2EYM5YIjokcd-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/whatsapp-logopng4-2EYM5YIjokcd-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/whatsapp-logopng4-2EYM5YIjokcd-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/whatsapp-logopng4-2EYM5YIjokcd-640w.webp 640w",
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export type IFloatingButton1Content = typeof DEFAULT_CONTENT;
|
|
34
|
+
|
|
35
|
+
export const FloatingButton1: IBlock = {
|
|
36
|
+
category_id: "floating-buttons",
|
|
37
|
+
title: "Floating Button 1",
|
|
38
|
+
key: "floating-button-1",
|
|
39
|
+
version: "v1",
|
|
40
|
+
content_schema: [
|
|
41
|
+
{
|
|
42
|
+
key: "button_group",
|
|
43
|
+
label: "Buttons",
|
|
44
|
+
kind: "group",
|
|
45
|
+
field_interface: "BoxWidget",
|
|
46
|
+
fields: [
|
|
47
|
+
{
|
|
48
|
+
key: "button",
|
|
49
|
+
label: "Button",
|
|
50
|
+
field_interface: "ButtonWidget",
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
layouts: [
|
|
56
|
+
{
|
|
57
|
+
key: "default",
|
|
58
|
+
title: "Default",
|
|
59
|
+
styles: {
|
|
60
|
+
button_group: [
|
|
61
|
+
{
|
|
62
|
+
button: {
|
|
63
|
+
"border-radius": "3xl",
|
|
64
|
+
"background-color": "transparent",
|
|
65
|
+
},
|
|
66
|
+
button_leftIcon: {
|
|
67
|
+
height: "50px",
|
|
68
|
+
width: "50px",
|
|
69
|
+
"font-size": "50px",
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
button_group_levoGroup: {
|
|
74
|
+
position: "fixed",
|
|
75
|
+
right: "24px",
|
|
76
|
+
bottom: "40px",
|
|
77
|
+
"z-index": "999999",
|
|
78
|
+
display: "flex",
|
|
79
|
+
"flex-direction": "column",
|
|
80
|
+
"align-items": "flex-end",
|
|
81
|
+
"row-gap": "12px",
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
content: DEFAULT_CONTENT,
|
|
85
|
+
config: {
|
|
86
|
+
button_group: [
|
|
87
|
+
{
|
|
88
|
+
button: {
|
|
89
|
+
button_icons: {
|
|
90
|
+
left: {
|
|
91
|
+
enabled: true,
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Box, Button, type ILevoBlockBaseProps } from "@levo-so/studio";
|
|
2
|
+
import type React from "react";
|
|
3
|
+
|
|
4
|
+
import type { IFloatingButton1Content } from "./floating-button-1.schema";
|
|
5
|
+
|
|
6
|
+
const FloatingButton1: React.FC<ILevoBlockBaseProps<IFloatingButton1Content>> = ({ content }) => (
|
|
7
|
+
<Box elementKey="button_group_levoGroup" data-levo_group>
|
|
8
|
+
{(content?.button_group ?? []).map((_, index) => (
|
|
9
|
+
<Button key={index} elementKey={`button_group.${index}.button`} data-levo_group_item />
|
|
10
|
+
))}
|
|
11
|
+
</Box>
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
export default FloatingButton1;
|
|
@@ -11,6 +11,24 @@ const DUMMY_ICON = {
|
|
|
11
11
|
},
|
|
12
12
|
};
|
|
13
13
|
|
|
14
|
+
const MEDIA = {
|
|
15
|
+
id: "A8sG1BvgdtgE",
|
|
16
|
+
filename: "footer-1-logo.png",
|
|
17
|
+
kind: "image",
|
|
18
|
+
location: "https://static.levocdn.com/WLZ1TXTD/footer-1-logo-w9fpJutzREEV.png",
|
|
19
|
+
srcset: {
|
|
20
|
+
"1080w": "https://static.levocdn.com/WLZ1TXTD/footer-1-logo-w9fpJutzREEV-1080w.webp",
|
|
21
|
+
"1200w": "https://static.levocdn.com/WLZ1TXTD/footer-1-logo-w9fpJutzREEV-1200w.webp",
|
|
22
|
+
"1920w": "https://static.levocdn.com/WLZ1TXTD/footer-1-logo-w9fpJutzREEV-1920w.webp",
|
|
23
|
+
"320w": "https://static.levocdn.com/WLZ1TXTD/footer-1-logo-w9fpJutzREEV-320w.webp",
|
|
24
|
+
"640w": "https://static.levocdn.com/WLZ1TXTD/footer-1-logo-w9fpJutzREEV-640w.webp",
|
|
25
|
+
"750w": "https://static.levocdn.com/WLZ1TXTD/footer-1-logo-w9fpJutzREEV-750w.webp",
|
|
26
|
+
"828w": "https://static.levocdn.com/WLZ1TXTD/footer-1-logo-w9fpJutzREEV-828w.webp",
|
|
27
|
+
path: "https://static.levocdn.com/WLZ1TXTD/footer-1-logo-w9fpJutzREEV-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/footer-1-logo-w9fpJutzREEV-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/footer-1-logo-w9fpJutzREEV-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/footer-1-logo-w9fpJutzREEV-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/footer-1-logo-w9fpJutzREEV-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/footer-1-logo-w9fpJutzREEV-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/footer-1-logo-w9fpJutzREEV-320w.webp 320w",
|
|
28
|
+
},
|
|
29
|
+
mimetype: "image/png",
|
|
30
|
+
};
|
|
31
|
+
|
|
14
32
|
const DEFAULT_CONTENT = {
|
|
15
33
|
layout: null,
|
|
16
34
|
container: null,
|
|
@@ -18,29 +36,7 @@ const DEFAULT_CONTENT = {
|
|
|
18
36
|
|
|
19
37
|
// logo and description
|
|
20
38
|
logoTextWrapper: null,
|
|
21
|
-
logo:
|
|
22
|
-
id: "7141014160938075687",
|
|
23
|
-
location: "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH.png",
|
|
24
|
-
kind: "image",
|
|
25
|
-
mimetype: "image/png",
|
|
26
|
-
srcset: {
|
|
27
|
-
"1080w":
|
|
28
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp",
|
|
29
|
-
"1200w":
|
|
30
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp",
|
|
31
|
-
"1920w":
|
|
32
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp",
|
|
33
|
-
"320w":
|
|
34
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp",
|
|
35
|
-
"640w":
|
|
36
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp",
|
|
37
|
-
"750w":
|
|
38
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp",
|
|
39
|
-
"828w":
|
|
40
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp",
|
|
41
|
-
path: "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp 640w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp 1080w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp 1200w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp 1920w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp 320w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp 750w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp 828w",
|
|
42
|
-
},
|
|
43
|
-
},
|
|
39
|
+
logo: MEDIA,
|
|
44
40
|
logoDescription: "Expert Guidance, Ensuring Clear Verdicts Every Time.",
|
|
45
41
|
|
|
46
42
|
// icon links below logo description
|
|
@@ -193,7 +189,7 @@ export const Footer1: IBlock = {
|
|
|
193
189
|
{
|
|
194
190
|
key: "category",
|
|
195
191
|
label: "Category",
|
|
196
|
-
field_interface: "
|
|
192
|
+
field_interface: "HeadingWidget",
|
|
197
193
|
},
|
|
198
194
|
{
|
|
199
195
|
key: "links",
|
|
@@ -256,19 +252,7 @@ export const Footer1: IBlock = {
|
|
|
256
252
|
title: "Default",
|
|
257
253
|
key: "default",
|
|
258
254
|
styles: {
|
|
259
|
-
layout: {
|
|
260
|
-
"padding-top": "80px",
|
|
261
|
-
"padding-left": "112px",
|
|
262
|
-
"padding-right": "112px",
|
|
263
|
-
tablet: {
|
|
264
|
-
padding: "50px",
|
|
265
|
-
"padding-bottom": "0px",
|
|
266
|
-
},
|
|
267
|
-
mobile: {
|
|
268
|
-
padding: "40px",
|
|
269
|
-
"padding-bottom": "0px",
|
|
270
|
-
},
|
|
271
|
-
},
|
|
255
|
+
layout: {},
|
|
272
256
|
container: {
|
|
273
257
|
display: "flex",
|
|
274
258
|
"flex-direction": "column",
|
|
@@ -277,7 +261,7 @@ export const Footer1: IBlock = {
|
|
|
277
261
|
},
|
|
278
262
|
footerBottomWrapper: {
|
|
279
263
|
"border-style": "solid",
|
|
280
|
-
"border-color": "
|
|
264
|
+
"border-color": "border",
|
|
281
265
|
"border-top-width": "1px",
|
|
282
266
|
"padding-top": "xl",
|
|
283
267
|
display: "flex",
|
|
@@ -293,9 +277,7 @@ export const Footer1: IBlock = {
|
|
|
293
277
|
footerBottomRightArea: [
|
|
294
278
|
{
|
|
295
279
|
link: {},
|
|
296
|
-
cta: {
|
|
297
|
-
color: "text-2",
|
|
298
|
-
},
|
|
280
|
+
cta: {},
|
|
299
281
|
separator: {
|
|
300
282
|
width: "1px",
|
|
301
283
|
height: "1rem",
|
|
@@ -306,9 +288,7 @@ export const Footer1: IBlock = {
|
|
|
306
288
|
},
|
|
307
289
|
{
|
|
308
290
|
link: {},
|
|
309
|
-
cta: {
|
|
310
|
-
color: "text-2",
|
|
311
|
-
},
|
|
291
|
+
cta: {},
|
|
312
292
|
separator: {
|
|
313
293
|
width: "1px",
|
|
314
294
|
height: "1rem",
|
|
@@ -392,7 +372,7 @@ export const Footer1: IBlock = {
|
|
|
392
372
|
{
|
|
393
373
|
category: {
|
|
394
374
|
"margin-bottom": "sm",
|
|
395
|
-
|
|
375
|
+
"font-weight": 700,
|
|
396
376
|
},
|
|
397
377
|
links_levoGroup: {
|
|
398
378
|
display: "flex",
|
|
@@ -465,7 +445,7 @@ export const Footer1: IBlock = {
|
|
|
465
445
|
{
|
|
466
446
|
category: {
|
|
467
447
|
"margin-bottom": "sm",
|
|
468
|
-
|
|
448
|
+
"font-weight": 700,
|
|
469
449
|
},
|
|
470
450
|
links_levoGroup: {
|
|
471
451
|
display: "flex",
|
|
@@ -550,7 +530,7 @@ export const Footer1: IBlock = {
|
|
|
550
530
|
{
|
|
551
531
|
category: {
|
|
552
532
|
"margin-bottom": "sm",
|
|
553
|
-
|
|
533
|
+
"font-weight": 700,
|
|
554
534
|
},
|
|
555
535
|
links_levoGroup: {
|
|
556
536
|
display: "flex",
|
|
@@ -605,7 +585,89 @@ export const Footer1: IBlock = {
|
|
|
605
585
|
},
|
|
606
586
|
},
|
|
607
587
|
},
|
|
608
|
-
config: {
|
|
588
|
+
config: {
|
|
589
|
+
links: [
|
|
590
|
+
{
|
|
591
|
+
category: {
|
|
592
|
+
heading: {
|
|
593
|
+
level: "4",
|
|
594
|
+
},
|
|
595
|
+
selectedVariants: {
|
|
596
|
+
Heading_Level: "H6",
|
|
597
|
+
},
|
|
598
|
+
},
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
category: {
|
|
602
|
+
selectedVariants: {
|
|
603
|
+
Heading_Level: "H6",
|
|
604
|
+
},
|
|
605
|
+
heading: {
|
|
606
|
+
level: "4",
|
|
607
|
+
},
|
|
608
|
+
},
|
|
609
|
+
links: [
|
|
610
|
+
{
|
|
611
|
+
iconCtaWrapper: {
|
|
612
|
+
selectedVariants: {},
|
|
613
|
+
},
|
|
614
|
+
},
|
|
615
|
+
{
|
|
616
|
+
iconCtaWrapper: {
|
|
617
|
+
selectedVariants: {},
|
|
618
|
+
},
|
|
619
|
+
},
|
|
620
|
+
{
|
|
621
|
+
iconCtaWrapper: {
|
|
622
|
+
selectedVariants: {},
|
|
623
|
+
},
|
|
624
|
+
},
|
|
625
|
+
{
|
|
626
|
+
iconCtaWrapper: {
|
|
627
|
+
selectedVariants: {},
|
|
628
|
+
},
|
|
629
|
+
},
|
|
630
|
+
{
|
|
631
|
+
iconCtaWrapper: {
|
|
632
|
+
selectedVariants: {},
|
|
633
|
+
},
|
|
634
|
+
},
|
|
635
|
+
{
|
|
636
|
+
iconCtaWrapper: {
|
|
637
|
+
selectedVariants: {},
|
|
638
|
+
},
|
|
639
|
+
},
|
|
640
|
+
],
|
|
641
|
+
},
|
|
642
|
+
{
|
|
643
|
+
category: {
|
|
644
|
+
selectedVariants: {
|
|
645
|
+
Heading_Level: "H6",
|
|
646
|
+
},
|
|
647
|
+
heading: {
|
|
648
|
+
level: "4",
|
|
649
|
+
},
|
|
650
|
+
},
|
|
651
|
+
links: [
|
|
652
|
+
{
|
|
653
|
+
iconCtaWrapper: {
|
|
654
|
+
selectedVariants: {},
|
|
655
|
+
},
|
|
656
|
+
},
|
|
657
|
+
{
|
|
658
|
+
iconCtaWrapper: {
|
|
659
|
+
selectedVariants: {},
|
|
660
|
+
},
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
iconCtaWrapper: {
|
|
664
|
+
selectedVariants: {},
|
|
665
|
+
},
|
|
666
|
+
},
|
|
667
|
+
],
|
|
668
|
+
},
|
|
669
|
+
],
|
|
670
|
+
},
|
|
609
671
|
content: DEFAULT_CONTENT,
|
|
610
672
|
},
|
|
611
673
|
],
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import {
|
|
3
2
|
Box,
|
|
4
3
|
Container,
|
|
4
|
+
Heading,
|
|
5
5
|
Icon,
|
|
6
|
+
type ILevoBlockBaseProps,
|
|
6
7
|
Image,
|
|
7
8
|
Section,
|
|
8
9
|
Typography,
|
|
9
|
-
type ILevoBlockBaseProps,
|
|
10
10
|
} from "@levo-so/studio";
|
|
11
|
+
import React from "react";
|
|
11
12
|
|
|
12
|
-
import {
|
|
13
|
+
import type { IFooter1Content } from "./footer-1.schema";
|
|
13
14
|
|
|
14
|
-
const Footer1: React.FC<ILevoBlockBaseProps<IFooter1Content>> = ({
|
|
15
|
-
content,
|
|
16
|
-
}) => (
|
|
15
|
+
const Footer1: React.FC<ILevoBlockBaseProps<IFooter1Content>> = ({ content }) => (
|
|
17
16
|
<Section elementKey="layout">
|
|
18
17
|
<Container elementKey="container">
|
|
19
18
|
<Box elementKey="contentWrapper">
|
|
@@ -21,15 +20,13 @@ const Footer1: React.FC<ILevoBlockBaseProps<IFooter1Content>> = ({
|
|
|
21
20
|
<Image elementKey="logo" height={26} width={26} alt="footer-logo" />
|
|
22
21
|
<Typography elementKey="logoDescription" />
|
|
23
22
|
<Box elementKey="icon_links_levoGroup" data-levo_group>
|
|
24
|
-
{((content as any)?.icon_links ?? [])?.map(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
),
|
|
32
|
-
)}
|
|
23
|
+
{((content as any)?.icon_links ?? [])?.map((_: any, index: number) => (
|
|
24
|
+
<Icon
|
|
25
|
+
key={`footer-1-icon-${index}`}
|
|
26
|
+
data-levo_group_item
|
|
27
|
+
elementKey={`icon_links.${index}.icon`}
|
|
28
|
+
/>
|
|
29
|
+
))}
|
|
33
30
|
</Box>
|
|
34
31
|
</Box>
|
|
35
32
|
<Box data-levo_group elementKey="links_levoGroup">
|
|
@@ -39,20 +36,15 @@ const Footer1: React.FC<ILevoBlockBaseProps<IFooter1Content>> = ({
|
|
|
39
36
|
key={`footer-1-links-${index}`}
|
|
40
37
|
data-levo_group_item
|
|
41
38
|
>
|
|
42
|
-
<
|
|
43
|
-
<Box
|
|
44
|
-
elementKey={`links.${index}.links_levoGroup`}
|
|
45
|
-
data-levo_group
|
|
46
|
-
>
|
|
39
|
+
<Heading elementKey={`links.${index}.category`} />
|
|
40
|
+
<Box elementKey={`links.${index}.links_levoGroup`} data-levo_group>
|
|
47
41
|
{(content?.links?.[index]?.links ?? [])?.map((_, subIndex) => (
|
|
48
42
|
<Box
|
|
49
43
|
elementKey={`links.${index}.links.${subIndex}.iconCtaWrapper`}
|
|
50
44
|
key={`footer-1-links-${index}-${subIndex}`}
|
|
51
45
|
data-levo_group_item
|
|
52
46
|
>
|
|
53
|
-
<Icon
|
|
54
|
-
elementKey={`links.${index}.links.${subIndex}.icon`}
|
|
55
|
-
/>
|
|
47
|
+
<Icon elementKey={`links.${index}.links.${subIndex}.icon`} />
|
|
56
48
|
<Typography
|
|
57
49
|
elementKey={`links.${index}.links.${subIndex}.cta`}
|
|
58
50
|
key={`footer-1-links-${index}-${subIndex}`}
|
|
@@ -69,15 +61,9 @@ const Footer1: React.FC<ILevoBlockBaseProps<IFooter1Content>> = ({
|
|
|
69
61
|
<Box elementKey="footerBottomRightArea_levoGroup" data-levo_group>
|
|
70
62
|
{(content?.footerBottomRightArea ?? [])?.map((_, index) => (
|
|
71
63
|
<React.Fragment key={`footer-1-right-area-${index}`}>
|
|
72
|
-
<Typography
|
|
73
|
-
data-levo_group_item
|
|
74
|
-
elementKey={`footerBottomRightArea.${index}.cta`}
|
|
75
|
-
/>
|
|
64
|
+
<Typography data-levo_group_item elementKey={`footerBottomRightArea.${index}.cta`} />
|
|
76
65
|
{index < (content?.footerBottomRightArea?.length ?? 0) - 1 && (
|
|
77
|
-
<Box
|
|
78
|
-
elementKey={`footerBottomRightArea.${index}.separator`}
|
|
79
|
-
data-levo_group_item
|
|
80
|
-
/>
|
|
66
|
+
<Box elementKey={`footerBottomRightArea.${index}.separator`} data-levo_group_item />
|
|
81
67
|
)}
|
|
82
68
|
</React.Fragment>
|
|
83
69
|
))}
|