@levo-so/blocks 0.1.60 → 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 +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
|
@@ -23,13 +23,10 @@ const NestedDropdownItem: React.FC<{
|
|
|
23
23
|
parentIndex: number;
|
|
24
24
|
subIndex: number;
|
|
25
25
|
}> = ({ subItem, parentIndex, subIndex }) => {
|
|
26
|
-
const [isNestedDropdownOpen, setIsNestedDropdownOpen] =
|
|
27
|
-
useState<boolean>(false);
|
|
26
|
+
const [isNestedDropdownOpen, setIsNestedDropdownOpen] = useState<boolean>(false);
|
|
28
27
|
const nestedSubItems = subItem?.["sub-sub-items"] as Array<any>;
|
|
29
28
|
const hasNestedItems =
|
|
30
|
-
nestedSubItems &&
|
|
31
|
-
Array.isArray(nestedSubItems) &&
|
|
32
|
-
nestedSubItems.length > 0;
|
|
29
|
+
nestedSubItems && Array.isArray(nestedSubItems) && nestedSubItems.length > 0;
|
|
33
30
|
|
|
34
31
|
if (!hasNestedItems) {
|
|
35
32
|
return (
|
|
@@ -64,10 +61,7 @@ const NestedDropdownItem: React.FC<{
|
|
|
64
61
|
}
|
|
65
62
|
|
|
66
63
|
return (
|
|
67
|
-
<PopoverRoot
|
|
68
|
-
open={isNestedDropdownOpen}
|
|
69
|
-
onOpenChange={setIsNestedDropdownOpen}
|
|
70
|
-
>
|
|
64
|
+
<PopoverRoot open={isNestedDropdownOpen} onOpenChange={setIsNestedDropdownOpen}>
|
|
71
65
|
<PopoverTrigger
|
|
72
66
|
elementKey={`desktop-nav-menu.${parentIndex}.sub-items.${subIndex}.sub-item-link`}
|
|
73
67
|
onMouseEnter={() => setIsNestedDropdownOpen(true)}
|
|
@@ -97,7 +91,7 @@ const NestedDropdownItem: React.FC<{
|
|
|
97
91
|
/>
|
|
98
92
|
</Box>
|
|
99
93
|
</div>
|
|
100
|
-
<div className="group-hover:text-text-1
|
|
94
|
+
<div className="ml-auto group-hover:text-text-1">
|
|
101
95
|
<ChevronRight
|
|
102
96
|
aria-hidden="true"
|
|
103
97
|
style={{
|
|
@@ -118,13 +112,12 @@ const NestedDropdownItem: React.FC<{
|
|
|
118
112
|
elementKey={`desktop-nav-menu.${parentIndex}.sub-items.${subIndex}.sub-sub-items`}
|
|
119
113
|
onMouseLeave={() => setIsNestedDropdownOpen(false)}
|
|
120
114
|
inPortal={true}
|
|
121
|
-
className="z-[60] min-w-48 rounded-md border border-gray-200
|
|
115
|
+
className="!bg-white z-[60] min-w-48 rounded-md border border-gray-200 shadow-lg focus:outline-none"
|
|
122
116
|
style={{
|
|
123
117
|
backgroundColor: "white !important",
|
|
124
118
|
background: "white",
|
|
125
119
|
outline: "none",
|
|
126
|
-
boxShadow:
|
|
127
|
-
"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",
|
|
120
|
+
boxShadow: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",
|
|
128
121
|
}}
|
|
129
122
|
side="right"
|
|
130
123
|
align="start"
|
|
@@ -134,7 +127,7 @@ const NestedDropdownItem: React.FC<{
|
|
|
134
127
|
elementKey={`desktop-nav-menu.${parentIndex}.sub-items.${subIndex}.sub-sub-items.${nestedIdx}.nested-sub-item-container`}
|
|
135
128
|
key={`nestedSubItem_${parentIndex}_${subIndex}_${nestedIdx}`}
|
|
136
129
|
data-levo_group_item
|
|
137
|
-
className="-mx-2 cursor-pointer rounded px-2 py-2
|
|
130
|
+
className="-mx-2 cursor-pointer whitespace-nowrap rounded px-2 py-2 hover:bg-gray-50 focus:outline-none"
|
|
138
131
|
>
|
|
139
132
|
<Typography
|
|
140
133
|
elementKey={`desktop-nav-menu.${parentIndex}.sub-items.${subIndex}.sub-sub-items.${nestedIdx}.nested-sub-item-title`}
|
|
@@ -153,8 +146,7 @@ const DropdownNavigationItem: React.FC<{
|
|
|
153
146
|
navItem: any;
|
|
154
147
|
index: number;
|
|
155
148
|
}> = ({ navItem, index }) => {
|
|
156
|
-
const [isDropdownPopoverOpen, setIsDropdownPopoverOpen] =
|
|
157
|
-
useState<boolean>(false);
|
|
149
|
+
const [isDropdownPopoverOpen, setIsDropdownPopoverOpen] = useState<boolean>(false);
|
|
158
150
|
|
|
159
151
|
const subItems = navItem?.["sub-items"] as Array<any>;
|
|
160
152
|
|
|
@@ -170,9 +162,7 @@ const DropdownNavigationItem: React.FC<{
|
|
|
170
162
|
data-levo_group_item
|
|
171
163
|
className="focus:outline-none"
|
|
172
164
|
>
|
|
173
|
-
<Typography
|
|
174
|
-
elementKey={`desktop-nav-menu.${index}.nav-item-dropdown-trigger-title`}
|
|
175
|
-
/>
|
|
165
|
+
<Typography elementKey={`desktop-nav-menu.${index}.nav-item-dropdown-trigger-title`} />
|
|
176
166
|
<ChevronDown
|
|
177
167
|
aria-hidden="true"
|
|
178
168
|
style={{
|
|
@@ -216,19 +206,13 @@ const DesktopNavItem: React.FC<{
|
|
|
216
206
|
index: number;
|
|
217
207
|
}> = ({ index, navItem }) => {
|
|
218
208
|
const navSubItems = navItem?.["sub-items"] ?? [];
|
|
219
|
-
const isNavItemDropdown =
|
|
220
|
-
navSubItems && Array.isArray(navSubItems) && navSubItems?.length > 0;
|
|
209
|
+
const isNavItemDropdown = navSubItems && Array.isArray(navSubItems) && navSubItems?.length > 0;
|
|
221
210
|
|
|
222
211
|
return (
|
|
223
212
|
<>
|
|
224
|
-
{isNavItemDropdown &&
|
|
225
|
-
<DropdownNavigationItem navItem={navItem} index={index} />
|
|
226
|
-
)}
|
|
213
|
+
{isNavItemDropdown && <DropdownNavigationItem navItem={navItem} index={index} />}
|
|
227
214
|
{!isNavItemDropdown && (
|
|
228
|
-
<Typography
|
|
229
|
-
data-levo_group_item
|
|
230
|
-
elementKey={`desktop-nav-menu.${index}.nav-item-title`}
|
|
231
|
-
/>
|
|
215
|
+
<Typography data-levo_group_item elementKey={`desktop-nav-menu.${index}.nav-item-title`} />
|
|
232
216
|
)}
|
|
233
217
|
</>
|
|
234
218
|
);
|
|
@@ -240,25 +224,14 @@ const DesktopNavigationMenu: React.FC<{
|
|
|
240
224
|
return (
|
|
241
225
|
<Box elementKey="desktop-nav-menu_levoGroup" data-levo_group>
|
|
242
226
|
{navItems?.map((item: any, index: number) => {
|
|
243
|
-
return
|
|
244
|
-
<DesktopNavItem
|
|
245
|
-
navItem={item}
|
|
246
|
-
index={index}
|
|
247
|
-
key={`desktop-nav-menu.${index}`}
|
|
248
|
-
/>
|
|
249
|
-
);
|
|
227
|
+
return <DesktopNavItem navItem={item} index={index} key={`desktop-nav-menu.${index}`} />;
|
|
250
228
|
})}
|
|
251
229
|
</Box>
|
|
252
230
|
);
|
|
253
231
|
};
|
|
254
232
|
|
|
255
|
-
const NestedDropdownItemMobile: React.FC<any> = ({
|
|
256
|
-
|
|
257
|
-
parentIndex,
|
|
258
|
-
subIndex,
|
|
259
|
-
}) => {
|
|
260
|
-
const [isNestedDropdownOpen, setIsNestedDropdownOpen] =
|
|
261
|
-
useState<boolean>(false);
|
|
233
|
+
const NestedDropdownItemMobile: React.FC<any> = ({ subItem, parentIndex, subIndex }) => {
|
|
234
|
+
const [isNestedDropdownOpen, setIsNestedDropdownOpen] = useState<boolean>(false);
|
|
262
235
|
|
|
263
236
|
const nestedSubItems = subItem?.["sub-sub-items"] as Array<any>;
|
|
264
237
|
|
|
@@ -330,8 +303,7 @@ const DropdownNavigationItemMobile: React.FC<{
|
|
|
330
303
|
const [isDropdownOpen, setIsDropdownOpen] = useState<boolean>(false);
|
|
331
304
|
|
|
332
305
|
const subItems = navItem?.["sub-items"] as Array<any>;
|
|
333
|
-
const hasSubItems =
|
|
334
|
-
subItems && Array.isArray(subItems) && subItems.length > 0;
|
|
306
|
+
const hasSubItems = subItems && Array.isArray(subItems) && subItems.length > 0;
|
|
335
307
|
const hasSubSubItems = hasSubItems;
|
|
336
308
|
|
|
337
309
|
return (
|
|
@@ -341,9 +313,7 @@ const DropdownNavigationItemMobile: React.FC<{
|
|
|
341
313
|
onClick={() => setIsDropdownOpen((prev) => !prev)}
|
|
342
314
|
className="flex items-center justify-between focus:outline-none"
|
|
343
315
|
>
|
|
344
|
-
<Typography
|
|
345
|
-
elementKey={`mobile-nav-menu.${index}.nav-item-dropdown-trigger-title`}
|
|
346
|
-
/>
|
|
316
|
+
<Typography elementKey={`mobile-nav-menu.${index}.nav-item-dropdown-trigger-title`} />
|
|
347
317
|
{hasSubSubItems && (
|
|
348
318
|
<ChevronDown
|
|
349
319
|
aria-hidden="true"
|
|
@@ -363,16 +333,11 @@ const DropdownNavigationItemMobile: React.FC<{
|
|
|
363
333
|
)}
|
|
364
334
|
</Box>
|
|
365
335
|
{isDropdownOpen && hasSubItems && (
|
|
366
|
-
<Box
|
|
367
|
-
elementKey={`mobile-nav-menu.${index}.sub-items_levoGroup`}
|
|
368
|
-
data-levo_group
|
|
369
|
-
>
|
|
336
|
+
<Box elementKey={`mobile-nav-menu.${index}.sub-items_levoGroup`} data-levo_group>
|
|
370
337
|
{subItems?.map((subItem: any, idx: number) => {
|
|
371
338
|
const nestedSubItems = subItem?.["sub-sub-items"] as Array<any>;
|
|
372
339
|
const hasNestedItems =
|
|
373
|
-
nestedSubItems &&
|
|
374
|
-
Array.isArray(nestedSubItems) &&
|
|
375
|
-
nestedSubItems.length > 0;
|
|
340
|
+
nestedSubItems && Array.isArray(nestedSubItems) && nestedSubItems.length > 0;
|
|
376
341
|
|
|
377
342
|
return (
|
|
378
343
|
<Box
|
|
@@ -415,17 +380,12 @@ const MobileNavItem: React.FC<{
|
|
|
415
380
|
setIsOpen: (value: boolean) => void;
|
|
416
381
|
}> = ({ navItem, index, setIsOpen }) => {
|
|
417
382
|
const navSubItems = navItem?.["sub-items"] ?? [];
|
|
418
|
-
const isNavItemDropdown =
|
|
419
|
-
navSubItems && Array.isArray(navSubItems) && navSubItems?.length > 0;
|
|
383
|
+
const isNavItemDropdown = navSubItems && Array.isArray(navSubItems) && navSubItems?.length > 0;
|
|
420
384
|
|
|
421
385
|
return (
|
|
422
386
|
<React.Fragment>
|
|
423
387
|
{isNavItemDropdown && (
|
|
424
|
-
<DropdownNavigationItemMobile
|
|
425
|
-
navItem={navItem}
|
|
426
|
-
setIsOpen={setIsOpen}
|
|
427
|
-
index={index}
|
|
428
|
-
/>
|
|
388
|
+
<DropdownNavigationItemMobile navItem={navItem} setIsOpen={setIsOpen} index={index} />
|
|
429
389
|
)}
|
|
430
390
|
{!isNavItemDropdown && (
|
|
431
391
|
<Box
|
|
@@ -486,15 +446,13 @@ const MobileNavigationSheet: React.FC<{
|
|
|
486
446
|
</Box>
|
|
487
447
|
)}
|
|
488
448
|
<Box elementKey="icon_links_levoGroup" data-levo_group>
|
|
489
|
-
{((content as any)?.icon_links ?? [])?.map(
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
),
|
|
497
|
-
)}
|
|
449
|
+
{((content as any)?.icon_links ?? [])?.map((_: any, index: number) => (
|
|
450
|
+
<Icon
|
|
451
|
+
key={`footer-1-icon-${index}`}
|
|
452
|
+
data-levo_group_item
|
|
453
|
+
elementKey={`icon_links.${index}.icon`}
|
|
454
|
+
/>
|
|
455
|
+
))}
|
|
498
456
|
</Box>
|
|
499
457
|
</Box>
|
|
500
458
|
)}
|
|
@@ -502,9 +460,7 @@ const MobileNavigationSheet: React.FC<{
|
|
|
502
460
|
);
|
|
503
461
|
};
|
|
504
462
|
|
|
505
|
-
const Navbar3: React.FC<ILevoBlockBaseProps<INavbar3Content>> = ({
|
|
506
|
-
content,
|
|
507
|
-
}) => {
|
|
463
|
+
const Navbar3: React.FC<ILevoBlockBaseProps<INavbar3Content>> = ({ content }) => {
|
|
508
464
|
const [isScrolled, setIsScrolled] = useState(false);
|
|
509
465
|
const [isOpen, setIsOpen] = useState(false);
|
|
510
466
|
|
|
@@ -536,17 +492,12 @@ const Navbar3: React.FC<ILevoBlockBaseProps<INavbar3Content>> = ({
|
|
|
536
492
|
className="fixed top-0 right-0 bottom-0 left-0 z-20 bg-black/20"
|
|
537
493
|
/>
|
|
538
494
|
)}
|
|
539
|
-
<Section
|
|
540
|
-
elementKey="layout"
|
|
541
|
-
className={cn(isScrolled ? "top-2" : "top-8")}
|
|
542
|
-
>
|
|
495
|
+
<Section elementKey="layout" className={cn(isScrolled ? "top-2" : "top-8")}>
|
|
543
496
|
<Container elementKey="nav-container">
|
|
544
497
|
<Image elementKey="nav-logo" alt="Logo" />
|
|
545
|
-
{desktopNavLinks &&
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
<DesktopNavigationMenu navItems={desktopNavLinks} />
|
|
549
|
-
)}
|
|
498
|
+
{desktopNavLinks && Array?.isArray(desktopNavLinks) && desktopNavLinks?.length > 0 && (
|
|
499
|
+
<DesktopNavigationMenu navItems={desktopNavLinks} />
|
|
500
|
+
)}
|
|
550
501
|
<MobileNavigationSheet
|
|
551
502
|
navItems={mobileNavLinks || []}
|
|
552
503
|
content={content}
|