@levo-so/blocks 0.1.52 → 0.1.58
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 +4 -4
- package/src/blocks/about-us/about-us-1.schema.ts +14 -0
- package/src/blocks/about-us/about-us-1.tsx +4 -2
- package/src/blocks/about-us/about-us-2.schema.ts +48 -0
- package/src/blocks/about-us/about-us-2.tsx +6 -0
- package/src/blocks/blogs/blog-listing-1.schema.ts +10 -0
- package/src/blocks/blogs/blog-listing-2.schema.ts +42 -162
- package/src/blocks/blogs/blog-listing-2.tsx +7 -0
- package/src/blocks/blogs/blog-listing-3.schema.ts +9 -0
- package/src/blocks/blogs/blog-post-1.schema.ts +7 -1
- package/src/blocks/blogs/blog-post-1.tsx +1 -1
- package/src/blocks/blogs/blog-post-2.schema.ts +464 -28
- package/src/blocks/blogs/blog-post-2.tsx +6 -13
- package/src/blocks/blogs/blog-post-3.schema.ts +42 -0
- package/src/blocks/blogs/blog-post-3.tsx +4 -1
- package/src/blocks/calendar/calendar-1.schema.ts +537 -0
- package/src/blocks/calendar/calendar-1.tsx +145 -0
- package/src/blocks/cards/cards-10.schema.ts +52 -4
- package/src/blocks/cards/cards-10.tsx +13 -1
- package/src/blocks/cards/cards-14.schema.ts +532 -0
- package/src/blocks/cards/cards-14.tsx +54 -0
- package/src/blocks/cards/cards-15.schema.ts +277 -0
- package/src/blocks/cards/cards-15.tsx +40 -0
- package/src/blocks/cards/cards-6.schema.ts +46 -0
- package/src/blocks/cards/cards-6.tsx +27 -1
- package/src/blocks/cards/cards-7.tsx +2 -0
- package/src/blocks/carousel/carousel-2.schema.ts +1128 -0
- package/src/blocks/carousel/carousel-2.tsx +159 -0
- package/src/blocks/content/content-5.schema.ts +112 -6
- package/src/blocks/content/content-5.tsx +19 -3
- package/src/blocks/content/content-6.schema.ts +16 -3
- package/src/blocks/content/content-6.tsx +1 -0
- package/src/blocks/content/content-8.schema.ts +125 -0
- package/src/blocks/content/content-8.tsx +27 -0
- package/src/blocks/content/content-9.schema.ts +2729 -0
- package/src/blocks/content/content-9.tsx +91 -0
- package/src/blocks/cta/cta-2.schema.ts +46 -4
- package/src/blocks/cta/cta-2.tsx +9 -1
- package/src/blocks/embed/embed-1.schema.ts +100 -0
- package/src/blocks/event/ClientOnly.tsx +27 -0
- package/src/blocks/event/event-details.tsx +10 -3
- package/src/blocks/event/event-listing-3.tsx +9 -2
- package/src/blocks/event/event-listing-4.tsx +11 -2
- package/src/blocks/event/event-listing.tsx +11 -4
- package/src/blocks/faq/faq-1.schema.ts +58 -1
- package/src/blocks/faq/faq-1.tsx +18 -1
- package/src/blocks/faq/faq-2.tsx +2 -1
- package/src/blocks/faq/faq-3.schema.ts +6 -1
- package/src/blocks/faq/faq-3.tsx +1 -0
- package/src/blocks/features/features-1/features-1.schema.ts +2 -0
- package/src/blocks/features/features-1/variants/index.ts +2 -0
- package/src/blocks/features/features-1/variants/stylized-cards-v3.ts +451 -0
- package/src/blocks/features/features-4.schema.ts +358 -20
- package/src/blocks/features/features-4.tsx +3 -1
- package/src/blocks/features/features-6.tsx +2 -0
- package/src/blocks/filter-listing/filter-listing-1.schema.ts +614 -0
- package/src/blocks/filter-listing/filter-listing-1.tsx +128 -0
- package/src/blocks/footer/footer-6.schema.ts +2 -2
- package/src/blocks/hero/hero-11.schema.ts +849 -0
- package/src/blocks/hero/hero-11.tsx +59 -0
- package/src/blocks/hero/hero-12.schema.ts +712 -0
- package/src/blocks/hero/hero-12.tsx +76 -0
- package/src/blocks/hero/hero-13.schema.ts +238 -0
- package/src/blocks/hero/hero-13.tsx +31 -0
- package/src/blocks/hero/hero-4.tsx +2 -0
- package/src/blocks/hero/hero-5.tsx +2 -0
- package/src/blocks/hero/hero-7.tsx +2 -1
- package/src/blocks/hero/hero-8.tsx +2 -0
- package/src/blocks/hero/hero-9.schema.ts +5 -0
- package/src/blocks/hero/hero-9.tsx +2 -0
- package/src/blocks/index.ts +27 -0
- package/src/blocks/navbar/navbar-1.schema.ts +6 -6
- package/src/blocks/navbar/navbar-1.tsx +6 -7
- package/src/blocks/navbar/navbar-2.schema.ts +9 -9
- package/src/blocks/navbar/navbar-2.tsx +7 -8
- package/src/blocks/navbar/navbar-3.schema.ts +9 -9
- package/src/blocks/navbar/navbar-3.tsx +139 -114
- package/src/blocks/polling/polling-1.schema.ts +134 -0
- package/src/blocks/polling/polling-1.tsx +466 -0
- package/src/blocks/products/products-listing-2.schema.ts +596 -0
- package/src/blocks/products/products-listing-2.tsx +56 -0
- package/src/blocks/products/products-listing-3.schema.ts +818 -0
- package/src/blocks/products/products-listing-3.tsx +125 -0
- package/src/blocks/profile/profile-2.schema.ts +505 -0
- package/src/blocks/profile/profile-2.tsx +64 -0
- package/src/blocks/profile/profile-3.schema.ts +867 -0
- package/src/blocks/profile/profile-3.tsx +98 -0
- package/src/blocks/services/service-1.schema.ts +1743 -0
- package/src/blocks/services/service-1.tsx +139 -0
- package/src/blocks/services/service-2.schema.ts +433 -0
- package/src/blocks/services/service-2.tsx +98 -0
- package/src/blocks/services/service-3.schema.ts +631 -0
- package/src/blocks/services/service-3.tsx +135 -0
- package/src/blocks/tabs/tab-1.schema.ts +831 -0
- package/src/blocks/tabs/tab-1.tsx +126 -0
- package/src/blocks/tabs/tab-2.schema.ts +767 -0
- package/src/blocks/tabs/tab-2.tsx +60 -0
- package/src/blocks/team/team-3.schema.ts +5 -1
- package/src/blocks/team/team-3.tsx +7 -0
- package/src/blocks/team/team-4.schema.ts +17 -13
- package/src/blocks/team/team-4.tsx +4 -1
- package/src/blocks/team/team-5.schema.ts +369 -0
- package/src/blocks/team/team-5.tsx +38 -0
- package/src/blocks/testimonial/testimonial-1.tsx +0 -1
- package/src/blocks/testimonial/testimonial-2.tsx +2 -1
- package/src/blocks/testimonial/testimonial-3.tsx +2 -0
- package/src/blocks/testimonial/testimonial-4.tsx +2 -1
- package/src/blocks/testimonial/testimonial-5.tsx +2 -0
- package/src/blocks/testimonial/testimonial-6.tsx +2 -1
- package/src/blocks/testimonial/testimonial-7.schema.ts +438 -0
- package/src/blocks/testimonial/testimonial-7.tsx +125 -0
- package/src/blocks/timeline/timeline-1.schema.ts +741 -0
- package/src/blocks/timeline/timeline-1.tsx +52 -0
- package/src/blocks/users/edit-profile.schema.ts +294 -0
- package/src/blocks/users/edit-profile.tsx +184 -0
- package/src/schemas/blocks.ts +64 -12
- package/src/schemas/categories.ts +36 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Box,
|
|
3
|
+
Button,
|
|
4
|
+
Container,
|
|
5
|
+
Heading,
|
|
6
|
+
Icon,
|
|
7
|
+
Image,
|
|
8
|
+
Section,
|
|
9
|
+
Typography,
|
|
10
|
+
useBlockContext,
|
|
11
|
+
type ILevoBlockBaseProps,
|
|
12
|
+
} from "@levo-so/studio";
|
|
13
|
+
import React, { useState } from "react";
|
|
14
|
+
|
|
15
|
+
import type { IService3Content } from "./service-3.schema";
|
|
16
|
+
|
|
17
|
+
const Service3: React.FC<ILevoBlockBaseProps<IService3Content>> = ({
|
|
18
|
+
content,
|
|
19
|
+
config,
|
|
20
|
+
}) => {
|
|
21
|
+
const [zipcode, setZipcode] = useState("");
|
|
22
|
+
const { isBuilder } = useBlockContext();
|
|
23
|
+
return (
|
|
24
|
+
<Section elementKey="layout">
|
|
25
|
+
<Container elementKey="container">
|
|
26
|
+
<Box elementKey="breadcrumbs_levoGroup" data-levo_group>
|
|
27
|
+
{(content?.breadcrumbs ?? []).map((_: any, index: number) => (
|
|
28
|
+
<Box
|
|
29
|
+
key={`stat-${index}`}
|
|
30
|
+
data-levo_group_item
|
|
31
|
+
elementKey={`breadcrumbs.${index}.wrapper`}
|
|
32
|
+
>
|
|
33
|
+
<Typography elementKey={`breadcrumbs.${index}.label`} />
|
|
34
|
+
<Icon elementKey={`breadcrumbs.${index}.icon`} />
|
|
35
|
+
</Box>
|
|
36
|
+
))}
|
|
37
|
+
</Box>
|
|
38
|
+
<Box elementKey="main_wrapper">
|
|
39
|
+
<Box elementKey="left_container">
|
|
40
|
+
<Image elementKey="profile_image" alt="Profile image" />
|
|
41
|
+
</Box>
|
|
42
|
+
<Box elementKey="right_container">
|
|
43
|
+
<Box elementKey="content_wrapper">
|
|
44
|
+
<Heading elementKey="title" />
|
|
45
|
+
<Box elementKey="statswrapper_levoGroup" data-levo_group>
|
|
46
|
+
<Box elementKey="stats_levoGroup" data-levo_group>
|
|
47
|
+
{(content?.stats ?? []).map((_, index: number) => (
|
|
48
|
+
<Box
|
|
49
|
+
key={`stat-${index}`}
|
|
50
|
+
data-levo_group_item
|
|
51
|
+
elementKey={`stats.${index}.stat_wrapper`}
|
|
52
|
+
>
|
|
53
|
+
<Icon elementKey={`stats.${index}.icon`} />
|
|
54
|
+
<Typography elementKey={`stats.${index}.label`} />
|
|
55
|
+
</Box>
|
|
56
|
+
))}
|
|
57
|
+
</Box>
|
|
58
|
+
<Box elementKey="stats_2_levoGroup" data-levo_group>
|
|
59
|
+
{(content?.stats_2 ?? []).map((_: any, index: number) => (
|
|
60
|
+
<Box
|
|
61
|
+
key={`stat-${index}`}
|
|
62
|
+
data-levo_group_item
|
|
63
|
+
elementKey={`stats_2.${index}.stat_wrapper`}
|
|
64
|
+
>
|
|
65
|
+
<Icon elementKey={`stats_2.${index}.icon`} />
|
|
66
|
+
<Typography elementKey={`stats_2.${index}.label`} />
|
|
67
|
+
</Box>
|
|
68
|
+
))}
|
|
69
|
+
</Box>
|
|
70
|
+
<Box elementKey="stats_3_levoGroup" data-levo_group>
|
|
71
|
+
{(content?.stats_3 ?? []).map((_: any, index: number) => (
|
|
72
|
+
<Box
|
|
73
|
+
key={`stat-${index}`}
|
|
74
|
+
data-levo_group_item
|
|
75
|
+
elementKey={`stats_3.${index}.stat_wrapper`}
|
|
76
|
+
>
|
|
77
|
+
<Icon elementKey={`stats_3.${index}.icon`} />
|
|
78
|
+
<Typography elementKey={`stats_3.${index}.label`} />
|
|
79
|
+
</Box>
|
|
80
|
+
))}
|
|
81
|
+
</Box>
|
|
82
|
+
</Box>
|
|
83
|
+
<Box elementKey="price_container">
|
|
84
|
+
<Typography elementKey="actual_price" />
|
|
85
|
+
<Typography elementKey="discount_price" />
|
|
86
|
+
<Typography elementKey="off_percent" />
|
|
87
|
+
</Box>
|
|
88
|
+
</Box>
|
|
89
|
+
<Box elementKey="search_input_wrapper">
|
|
90
|
+
<input
|
|
91
|
+
name="search"
|
|
92
|
+
value={zipcode}
|
|
93
|
+
onChange={(e) => setZipcode(e.target.value)}
|
|
94
|
+
placeholder="Enter your Pin code"
|
|
95
|
+
style={{
|
|
96
|
+
background: "white",
|
|
97
|
+
borderRadius: "999px",
|
|
98
|
+
padding: "18px 20px 18px 20px",
|
|
99
|
+
|
|
100
|
+
border: "1px solid #E5E5E5",
|
|
101
|
+
}}
|
|
102
|
+
type="number"
|
|
103
|
+
min="6"
|
|
104
|
+
max="6"
|
|
105
|
+
/>
|
|
106
|
+
<Button
|
|
107
|
+
elementKey="search_button"
|
|
108
|
+
onClick={() => {
|
|
109
|
+
if (
|
|
110
|
+
!isBuilder &&
|
|
111
|
+
zipcode &&
|
|
112
|
+
zipcode.length === 6 &&
|
|
113
|
+
config?.search_button?.custom_fields?.redirect_url
|
|
114
|
+
) {
|
|
115
|
+
if (config?.search_button?.custom_fields?.other_params) {
|
|
116
|
+
window.open(
|
|
117
|
+
`${config?.search_button?.custom_fields?.redirect_url}?${config?.search_button?.custom_fields?.other_params}&${config?.search_button?.custom_fields?.zipcode_param ?? "zipcode"}=${zipcode}`,
|
|
118
|
+
);
|
|
119
|
+
} else {
|
|
120
|
+
window.open(
|
|
121
|
+
`${config?.search_button?.custom_fields?.redirect_url}?${config?.search_button?.custom_fields?.zipcode_param ?? "zipcode"}=${zipcode}`,
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}}
|
|
126
|
+
/>
|
|
127
|
+
</Box>
|
|
128
|
+
</Box>
|
|
129
|
+
</Box>
|
|
130
|
+
</Container>
|
|
131
|
+
</Section>
|
|
132
|
+
);
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
export default Service3;
|