@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
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { IBlock } from "@levo-so/studio";
|
|
2
|
+
|
|
2
3
|
const DUMMY_ICON = {
|
|
3
4
|
kind: "icon",
|
|
4
5
|
data: {
|
|
@@ -17,20 +18,13 @@ const MEDIA = {
|
|
|
17
18
|
kind: "image",
|
|
18
19
|
mimetype: "image/png",
|
|
19
20
|
srcset: {
|
|
20
|
-
"1080w":
|
|
21
|
-
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp",
|
|
28
|
-
"640w":
|
|
29
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp",
|
|
30
|
-
"750w":
|
|
31
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp",
|
|
32
|
-
"828w":
|
|
33
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp",
|
|
21
|
+
"1080w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp",
|
|
22
|
+
"1200w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp",
|
|
23
|
+
"1920w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp",
|
|
24
|
+
"320w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp",
|
|
25
|
+
"640w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp",
|
|
26
|
+
"750w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp",
|
|
27
|
+
"828w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp",
|
|
34
28
|
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",
|
|
35
29
|
},
|
|
36
30
|
},
|
|
@@ -366,12 +360,10 @@ export const Navbar1: IBlock = {
|
|
|
366
360
|
width: "100%",
|
|
367
361
|
"max-width": "1200px",
|
|
368
362
|
"border-radius": "base",
|
|
369
|
-
"box-shadow":
|
|
370
|
-
"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
|
|
363
|
+
"box-shadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
|
|
371
364
|
"background-color": "rgba(255,255,255,0.8)",
|
|
372
365
|
"backdrop-filter": "blur(20px)",
|
|
373
|
-
transform:
|
|
374
|
-
"translate(-50%, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1)",
|
|
366
|
+
transform: "translate(-50%, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1)",
|
|
375
367
|
"padding-top": "sm",
|
|
376
368
|
"padding-bottom": "sm",
|
|
377
369
|
tablet: {
|
|
@@ -534,10 +526,8 @@ export const Navbar1: IBlock = {
|
|
|
534
526
|
top: "70px",
|
|
535
527
|
left: "50%",
|
|
536
528
|
width: "98%",
|
|
537
|
-
"box-shadow":
|
|
538
|
-
|
|
539
|
-
transform:
|
|
540
|
-
"translate(-50%, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1)",
|
|
529
|
+
"box-shadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
|
|
530
|
+
transform: "translate(-50%, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1)",
|
|
541
531
|
},
|
|
542
532
|
"mobile-nav-menu_levoGroup": {
|
|
543
533
|
display: "flex",
|
|
@@ -671,8 +661,7 @@ export const Navbar1: IBlock = {
|
|
|
671
661
|
right: "0",
|
|
672
662
|
"z-index": 30,
|
|
673
663
|
width: "100%",
|
|
674
|
-
"box-shadow":
|
|
675
|
-
"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
|
|
664
|
+
"box-shadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
|
|
676
665
|
"background-color": "rgba(255,255,255,0.8)",
|
|
677
666
|
"backdrop-filter": "blur(20px)",
|
|
678
667
|
"padding-top": "lg",
|
|
@@ -830,10 +819,8 @@ export const Navbar1: IBlock = {
|
|
|
830
819
|
top: "85px",
|
|
831
820
|
left: "50%",
|
|
832
821
|
width: "98%",
|
|
833
|
-
"box-shadow":
|
|
834
|
-
|
|
835
|
-
transform:
|
|
836
|
-
"translate(-50%, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1)",
|
|
822
|
+
"box-shadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
|
|
823
|
+
transform: "translate(-50%, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1)",
|
|
837
824
|
},
|
|
838
825
|
"mobile-nav-menu_levoGroup": {
|
|
839
826
|
display: "flex",
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import React, { useEffect, useState } from "react";
|
|
4
3
|
import { cn } from "@levo-so/react";
|
|
5
4
|
import type { ILevoBlockBaseProps } from "@levo-so/studio";
|
|
6
5
|
import {
|
|
7
6
|
Box,
|
|
8
7
|
Button,
|
|
8
|
+
Container,
|
|
9
|
+
Icon,
|
|
9
10
|
Image,
|
|
10
|
-
PopoverRoot,
|
|
11
11
|
PopoverContent,
|
|
12
|
+
PopoverRoot,
|
|
12
13
|
PopoverTrigger,
|
|
13
|
-
Typography,
|
|
14
14
|
Section,
|
|
15
|
-
|
|
16
|
-
Icon,
|
|
15
|
+
Typography,
|
|
17
16
|
UserMenu,
|
|
18
17
|
} from "@levo-so/studio";
|
|
19
18
|
import { ChevronDown, Menu, X } from "lucide-react";
|
|
19
|
+
import React, { useEffect, useState } from "react";
|
|
20
20
|
|
|
21
21
|
import type { INavbar1Content } from "./navbar-1.schema";
|
|
22
22
|
|
|
@@ -24,8 +24,7 @@ const DropdownNavigationItem: React.FC<{
|
|
|
24
24
|
navItem: any;
|
|
25
25
|
index: number;
|
|
26
26
|
}> = ({ navItem, index }) => {
|
|
27
|
-
const [isDropdownPopoverOpen, setIsDropdownPopoverOpen] =
|
|
28
|
-
useState<boolean>(false);
|
|
27
|
+
const [isDropdownPopoverOpen, setIsDropdownPopoverOpen] = useState<boolean>(false);
|
|
29
28
|
|
|
30
29
|
const subItems = navItem?.["sub-items"] as Array<any>;
|
|
31
30
|
|
|
@@ -40,9 +39,7 @@ const DropdownNavigationItem: React.FC<{
|
|
|
40
39
|
onMouseEnter={() => setIsDropdownPopoverOpen(true)}
|
|
41
40
|
data-levo_group_item
|
|
42
41
|
>
|
|
43
|
-
<Typography
|
|
44
|
-
elementKey={`desktop-nav-menu.${index}.nav-item-dropdown-trigger-title`}
|
|
45
|
-
/>
|
|
42
|
+
<Typography elementKey={`desktop-nav-menu.${index}.nav-item-dropdown-trigger-title`} />
|
|
46
43
|
<ChevronDown
|
|
47
44
|
aria-hidden="true"
|
|
48
45
|
style={{
|
|
@@ -78,11 +75,9 @@ const DropdownNavigationItem: React.FC<{
|
|
|
78
75
|
{subItem?.["sub-item-icon"] && (
|
|
79
76
|
<Box
|
|
80
77
|
elementKey={`desktop-nav-menu.${index}.sub-items.${idx}.sub-item-icon-container`}
|
|
81
|
-
className="group-hover:bg-
|
|
78
|
+
className="group-hover:bg-slate-200 group-hover:bg-opacity-80"
|
|
82
79
|
>
|
|
83
|
-
<Icon
|
|
84
|
-
elementKey={`desktop-nav-menu.${index}.sub-items.${idx}.sub-item-icon`}
|
|
85
|
-
/>
|
|
80
|
+
<Icon elementKey={`desktop-nav-menu.${index}.sub-items.${idx}.sub-item-icon`} />
|
|
86
81
|
</Box>
|
|
87
82
|
)}
|
|
88
83
|
<Box
|
|
@@ -108,19 +103,13 @@ const DesktopNavItem: React.FC<{
|
|
|
108
103
|
index: number;
|
|
109
104
|
}> = ({ index, navItem }) => {
|
|
110
105
|
const navSubItems = navItem?.["sub-items"] ?? [];
|
|
111
|
-
const isNavItemDropdown =
|
|
112
|
-
navSubItems && Array.isArray(navSubItems) && navSubItems?.length > 0;
|
|
106
|
+
const isNavItemDropdown = navSubItems && Array.isArray(navSubItems) && navSubItems?.length > 0;
|
|
113
107
|
|
|
114
108
|
return (
|
|
115
109
|
<>
|
|
116
|
-
{isNavItemDropdown &&
|
|
117
|
-
<DropdownNavigationItem navItem={navItem} index={index} />
|
|
118
|
-
)}
|
|
110
|
+
{isNavItemDropdown && <DropdownNavigationItem navItem={navItem} index={index} />}
|
|
119
111
|
{!isNavItemDropdown && (
|
|
120
|
-
<Typography
|
|
121
|
-
data-levo_group_item
|
|
122
|
-
elementKey={`desktop-nav-menu.${index}.nav-item-title`}
|
|
123
|
-
/>
|
|
112
|
+
<Typography data-levo_group_item elementKey={`desktop-nav-menu.${index}.nav-item-title`} />
|
|
124
113
|
)}
|
|
125
114
|
</>
|
|
126
115
|
);
|
|
@@ -132,13 +121,7 @@ const DesktopNavigationMenu: React.FC<{
|
|
|
132
121
|
return (
|
|
133
122
|
<Box elementKey="desktop-nav-menu_levoGroup" data-levo_group>
|
|
134
123
|
{navItems?.map((item: any, index: number) => {
|
|
135
|
-
return
|
|
136
|
-
<DesktopNavItem
|
|
137
|
-
navItem={item}
|
|
138
|
-
index={index}
|
|
139
|
-
key={`desktop-nav-menu.${index}`}
|
|
140
|
-
/>
|
|
141
|
-
);
|
|
124
|
+
return <DesktopNavItem navItem={item} index={index} key={`desktop-nav-menu.${index}`} />;
|
|
142
125
|
})}
|
|
143
126
|
</Box>
|
|
144
127
|
);
|
|
@@ -159,9 +142,7 @@ const DropdownNavigationItemMobile: React.FC<{
|
|
|
159
142
|
elementKey={`mobile-nav-menu.${index}.nav-item-dropdown-trigger`}
|
|
160
143
|
onClick={() => setIsDropdownOpen((prev) => !prev)}
|
|
161
144
|
>
|
|
162
|
-
<Typography
|
|
163
|
-
elementKey={`mobile-nav-menu.${index}.nav-item-dropdown-trigger-title`}
|
|
164
|
-
/>
|
|
145
|
+
<Typography elementKey={`mobile-nav-menu.${index}.nav-item-dropdown-trigger-title`} />
|
|
165
146
|
<ChevronDown
|
|
166
147
|
aria-hidden="true"
|
|
167
148
|
style={{
|
|
@@ -179,25 +160,20 @@ const DropdownNavigationItemMobile: React.FC<{
|
|
|
179
160
|
/>
|
|
180
161
|
</Box>
|
|
181
162
|
{isDropdownOpen && (
|
|
182
|
-
<Box
|
|
183
|
-
elementKey={`mobile-nav-menu.${index}.sub-items_levoGroup`}
|
|
184
|
-
data-levo_group
|
|
185
|
-
>
|
|
163
|
+
<Box elementKey={`mobile-nav-menu.${index}.sub-items_levoGroup`} data-levo_group>
|
|
186
164
|
{subItems && Array?.isArray(subItems)
|
|
187
165
|
? subItems?.map((subItem: any, idx: number) => {
|
|
188
166
|
return (
|
|
189
167
|
<Box
|
|
190
168
|
key={`subItem_${index}`}
|
|
191
169
|
elementKey={`mobile-nav-menu.${index}.sub-items.${idx}.sub-item-link`}
|
|
192
|
-
className={cn(
|
|
193
|
-
"group hover:bg-opacity-50 hover:bg-slate-100",
|
|
194
|
-
)}
|
|
170
|
+
className={cn("group hover:bg-slate-100 hover:bg-opacity-50")}
|
|
195
171
|
data-levo_group_item
|
|
196
172
|
>
|
|
197
173
|
{subItem?.["sub-item-icon"] && (
|
|
198
174
|
<Box
|
|
199
175
|
elementKey={`mobile-nav-menu.${index}.sub-items.${idx}.sub-item-icon-container`}
|
|
200
|
-
className="bg-opacity-60 group-hover:bg-
|
|
176
|
+
className="bg-opacity-60 group-hover:bg-slate-200 group-hover:bg-opacity-80"
|
|
201
177
|
>
|
|
202
178
|
<Icon
|
|
203
179
|
elementKey={`mobile-nav-menu.${index}.sub-items.${idx}.sub-item-icon`}
|
|
@@ -237,17 +213,12 @@ const MobileNavItem: React.FC<{
|
|
|
237
213
|
setIsOpen: (value: boolean) => void;
|
|
238
214
|
}> = ({ navItem, index, setIsOpen }) => {
|
|
239
215
|
const navSubItems = navItem?.["sub-items"] ?? [];
|
|
240
|
-
const isNavItemDropdown =
|
|
241
|
-
navSubItems && Array.isArray(navSubItems) && navSubItems?.length > 0;
|
|
216
|
+
const isNavItemDropdown = navSubItems && Array.isArray(navSubItems) && navSubItems?.length > 0;
|
|
242
217
|
|
|
243
218
|
return (
|
|
244
219
|
<React.Fragment>
|
|
245
220
|
{isNavItemDropdown && (
|
|
246
|
-
<DropdownNavigationItemMobile
|
|
247
|
-
navItem={navItem}
|
|
248
|
-
setIsOpen={setIsOpen}
|
|
249
|
-
index={index}
|
|
250
|
-
/>
|
|
221
|
+
<DropdownNavigationItemMobile navItem={navItem} setIsOpen={setIsOpen} index={index} />
|
|
251
222
|
)}
|
|
252
223
|
{!isNavItemDropdown && (
|
|
253
224
|
<Box
|
|
@@ -310,9 +281,7 @@ const MobileNavigationSheet: React.FC<{
|
|
|
310
281
|
);
|
|
311
282
|
};
|
|
312
283
|
|
|
313
|
-
const Navbar1: React.FC<ILevoBlockBaseProps<INavbar1Content>> = ({
|
|
314
|
-
content,
|
|
315
|
-
}) => {
|
|
284
|
+
const Navbar1: React.FC<ILevoBlockBaseProps<INavbar1Content>> = ({ content }) => {
|
|
316
285
|
const [isScrolled, setIsScrolled] = useState(false);
|
|
317
286
|
const [isOpen, setIsOpen] = useState(false);
|
|
318
287
|
|
|
@@ -344,17 +313,12 @@ const Navbar1: React.FC<ILevoBlockBaseProps<INavbar1Content>> = ({
|
|
|
344
313
|
className="fixed top-0 right-0 bottom-0 left-0 z-20 bg-black/20"
|
|
345
314
|
/>
|
|
346
315
|
)}
|
|
347
|
-
<Section
|
|
348
|
-
elementKey="layout"
|
|
349
|
-
className={cn(isScrolled ? "top-2" : "top-8")}
|
|
350
|
-
>
|
|
316
|
+
<Section elementKey="layout" className={cn(isScrolled ? "top-2" : "top-8")}>
|
|
351
317
|
<Container elementKey="nav-container">
|
|
352
318
|
<Image elementKey="nav-logo" alt="Logo" />
|
|
353
|
-
{desktopNavLinks &&
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
<DesktopNavigationMenu navItems={desktopNavLinks} />
|
|
357
|
-
)}
|
|
319
|
+
{desktopNavLinks && Array?.isArray(desktopNavLinks) && desktopNavLinks?.length > 0 && (
|
|
320
|
+
<DesktopNavigationMenu navItems={desktopNavLinks} />
|
|
321
|
+
)}
|
|
358
322
|
<MobileNavigationSheet
|
|
359
323
|
navItems={mobileNavLinks || []}
|
|
360
324
|
content={content}
|
|
@@ -18,20 +18,13 @@ const MEDIA = {
|
|
|
18
18
|
kind: "image",
|
|
19
19
|
mimetype: "image/png",
|
|
20
20
|
srcset: {
|
|
21
|
-
"1080w":
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp",
|
|
29
|
-
"640w":
|
|
30
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp",
|
|
31
|
-
"750w":
|
|
32
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp",
|
|
33
|
-
"828w":
|
|
34
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp",
|
|
21
|
+
"1080w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp",
|
|
22
|
+
"1200w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp",
|
|
23
|
+
"1920w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp",
|
|
24
|
+
"320w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp",
|
|
25
|
+
"640w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp",
|
|
26
|
+
"750w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp",
|
|
27
|
+
"828w": "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp",
|
|
35
28
|
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",
|
|
36
29
|
},
|
|
37
30
|
},
|
|
@@ -456,12 +449,10 @@ export const Navbar2: IBlock = {
|
|
|
456
449
|
width: "100%",
|
|
457
450
|
"max-width": "1200px",
|
|
458
451
|
"border-radius": "base",
|
|
459
|
-
"box-shadow":
|
|
460
|
-
"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
|
|
452
|
+
"box-shadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
|
|
461
453
|
"background-color": "rgba(255,255,255,0.8)",
|
|
462
454
|
"backdrop-filter": "blur(20px)",
|
|
463
|
-
transform:
|
|
464
|
-
"translate(-50%, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1)",
|
|
455
|
+
transform: "translate(-50%, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1)",
|
|
465
456
|
"padding-top": "sm",
|
|
466
457
|
"padding-bottom": "sm",
|
|
467
458
|
tablet: {
|
|
@@ -718,10 +709,8 @@ export const Navbar2: IBlock = {
|
|
|
718
709
|
top: "70px",
|
|
719
710
|
left: "50%",
|
|
720
711
|
width: "98%",
|
|
721
|
-
"box-shadow":
|
|
722
|
-
|
|
723
|
-
transform:
|
|
724
|
-
"translate(-50%, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1)",
|
|
712
|
+
"box-shadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
|
|
713
|
+
transform: "translate(-50%, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1)",
|
|
725
714
|
},
|
|
726
715
|
"mobile-nav-menu_levoGroup": {
|
|
727
716
|
display: "flex",
|
|
@@ -848,8 +837,7 @@ export const Navbar2: IBlock = {
|
|
|
848
837
|
right: "0",
|
|
849
838
|
"z-index": 30,
|
|
850
839
|
width: "100%",
|
|
851
|
-
"box-shadow":
|
|
852
|
-
"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
|
|
840
|
+
"box-shadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
|
|
853
841
|
"background-color": "rgba(255,255,255,0.8)",
|
|
854
842
|
"backdrop-filter": "blur(20px)",
|
|
855
843
|
"padding-top": "lg",
|
|
@@ -1101,10 +1089,8 @@ export const Navbar2: IBlock = {
|
|
|
1101
1089
|
top: "70px",
|
|
1102
1090
|
left: "50%",
|
|
1103
1091
|
width: "98%",
|
|
1104
|
-
"box-shadow":
|
|
1105
|
-
|
|
1106
|
-
transform:
|
|
1107
|
-
"translate(-50%, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1)",
|
|
1092
|
+
"box-shadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
|
|
1093
|
+
transform: "translate(-50%, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1)",
|
|
1108
1094
|
},
|
|
1109
1095
|
"mobile-nav-menu_levoGroup": {
|
|
1110
1096
|
display: "flex",
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import React, { useEffect, useState } from "react";
|
|
4
3
|
import { cn } from "@levo-so/react";
|
|
5
4
|
import type { ILevoBlockBaseProps } from "@levo-so/studio";
|
|
6
5
|
import {
|
|
7
6
|
Box,
|
|
8
7
|
Button,
|
|
9
|
-
|
|
8
|
+
Container,
|
|
9
|
+
Icon,
|
|
10
10
|
Image,
|
|
11
|
-
PopoverRoot,
|
|
12
11
|
PopoverContent,
|
|
12
|
+
PopoverRoot,
|
|
13
13
|
PopoverTrigger,
|
|
14
|
-
Container,
|
|
15
14
|
Section,
|
|
16
|
-
|
|
15
|
+
Typography,
|
|
17
16
|
} from "@levo-so/studio";
|
|
18
17
|
import { ChevronDown, Menu, X } from "lucide-react";
|
|
18
|
+
import React, { useEffect, useState } from "react";
|
|
19
19
|
|
|
20
20
|
import type { INavbar1Content } from "./navbar-1.schema";
|
|
21
21
|
|
|
@@ -24,8 +24,7 @@ const DropdownNavigationItem: React.FC<{
|
|
|
24
24
|
index: number;
|
|
25
25
|
prefixKey: string;
|
|
26
26
|
}> = ({ navItem, index, prefixKey }) => {
|
|
27
|
-
const [isDropdownPopoverOpen, setIsDropdownPopoverOpen] =
|
|
28
|
-
useState<boolean>(false);
|
|
27
|
+
const [isDropdownPopoverOpen, setIsDropdownPopoverOpen] = useState<boolean>(false);
|
|
29
28
|
|
|
30
29
|
const subItems = navItem?.["sub-items"] as Array<any>;
|
|
31
30
|
|
|
@@ -39,9 +38,7 @@ const DropdownNavigationItem: React.FC<{
|
|
|
39
38
|
onMouseEnter={() => setIsDropdownPopoverOpen(true)}
|
|
40
39
|
data-levo_group_item
|
|
41
40
|
>
|
|
42
|
-
<Typography
|
|
43
|
-
elementKey={`${prefixKey}.${index}.nav-item-dropdown-trigger-title`}
|
|
44
|
-
/>
|
|
41
|
+
<Typography elementKey={`${prefixKey}.${index}.nav-item-dropdown-trigger-title`} />
|
|
45
42
|
<ChevronDown
|
|
46
43
|
aria-hidden="true"
|
|
47
44
|
style={{
|
|
@@ -75,7 +72,7 @@ const DropdownNavigationItem: React.FC<{
|
|
|
75
72
|
{subItem?.["sub-item-icon"] && (
|
|
76
73
|
<Box
|
|
77
74
|
elementKey={`left-desktop-nav-menu.${index}.sub-items.${idx}.sub-item-icon-container`}
|
|
78
|
-
className="group-hover:bg-
|
|
75
|
+
className="group-hover:bg-slate-200 group-hover:bg-opacity-80"
|
|
79
76
|
>
|
|
80
77
|
<Icon
|
|
81
78
|
elementKey={`left-desktop-nav-menu.${index}.sub-items.${idx}.sub-item-icon`}
|
|
@@ -106,23 +103,15 @@ const DesktopNavItem: React.FC<{
|
|
|
106
103
|
prefixKey: string;
|
|
107
104
|
}> = ({ index, navItem, prefixKey }) => {
|
|
108
105
|
const navSubItems = navItem?.["sub-items"] ?? [];
|
|
109
|
-
const isNavItemDropdown =
|
|
110
|
-
navSubItems && Array.isArray(navSubItems) && navSubItems?.length > 0;
|
|
106
|
+
const isNavItemDropdown = navSubItems && Array.isArray(navSubItems) && navSubItems?.length > 0;
|
|
111
107
|
|
|
112
108
|
return (
|
|
113
109
|
<>
|
|
114
110
|
{isNavItemDropdown && (
|
|
115
|
-
<DropdownNavigationItem
|
|
116
|
-
navItem={navItem}
|
|
117
|
-
index={index}
|
|
118
|
-
prefixKey={prefixKey}
|
|
119
|
-
/>
|
|
111
|
+
<DropdownNavigationItem navItem={navItem} index={index} prefixKey={prefixKey} />
|
|
120
112
|
)}
|
|
121
113
|
{!isNavItemDropdown && (
|
|
122
|
-
<Typography
|
|
123
|
-
data-levo_group_item
|
|
124
|
-
elementKey={`${prefixKey}.${index}.nav-item-title`}
|
|
125
|
-
/>
|
|
114
|
+
<Typography data-levo_group_item elementKey={`${prefixKey}.${index}.nav-item-title`} />
|
|
126
115
|
)}
|
|
127
116
|
</>
|
|
128
117
|
);
|
|
@@ -163,9 +152,7 @@ const DropdownNavigationItemMobile: React.FC<{
|
|
|
163
152
|
elementKey={`mobile-nav-menu.${index}.nav-item-dropdown-trigger`}
|
|
164
153
|
onClick={() => setIsDropdownOpen((prev) => !prev)}
|
|
165
154
|
>
|
|
166
|
-
<Typography
|
|
167
|
-
elementKey={`mobile-nav-menu.${index}.nav-item-dropdown-trigger-title`}
|
|
168
|
-
/>
|
|
155
|
+
<Typography elementKey={`mobile-nav-menu.${index}.nav-item-dropdown-trigger-title`} />
|
|
169
156
|
<ChevronDown
|
|
170
157
|
aria-hidden="true"
|
|
171
158
|
style={{
|
|
@@ -183,25 +170,20 @@ const DropdownNavigationItemMobile: React.FC<{
|
|
|
183
170
|
/>
|
|
184
171
|
</Box>
|
|
185
172
|
{isDropdownOpen && (
|
|
186
|
-
<Box
|
|
187
|
-
elementKey={`mobile-nav-menu.${index}.sub-items_levoGroup`}
|
|
188
|
-
data-levo_group
|
|
189
|
-
>
|
|
173
|
+
<Box elementKey={`mobile-nav-menu.${index}.sub-items_levoGroup`} data-levo_group>
|
|
190
174
|
{subItems && Array?.isArray(subItems)
|
|
191
175
|
? subItems?.map((subItem: any, idx: number) => {
|
|
192
176
|
return (
|
|
193
177
|
<Box
|
|
194
178
|
key={`subItem_${index}`}
|
|
195
179
|
elementKey={`mobile-nav-menu.${index}.sub-items.${idx}.sub-item-link`}
|
|
196
|
-
className={cn(
|
|
197
|
-
"group hover:bg-opacity-50 hover:bg-slate-100",
|
|
198
|
-
)}
|
|
180
|
+
className={cn("group hover:bg-slate-100 hover:bg-opacity-50")}
|
|
199
181
|
data-levo_group_item
|
|
200
182
|
>
|
|
201
183
|
{subItem?.["sub-item-icon"] && (
|
|
202
184
|
<Box
|
|
203
185
|
elementKey={`mobile-nav-menu.${index}.sub-items.${idx}.sub-item-icon-container`}
|
|
204
|
-
className="bg-opacity-60 group-hover:bg-
|
|
186
|
+
className="bg-opacity-60 group-hover:bg-slate-200 group-hover:bg-opacity-80"
|
|
205
187
|
>
|
|
206
188
|
<Icon
|
|
207
189
|
elementKey={`mobile-nav-menu.${index}.sub-items.${idx}.sub-item-icon`}
|
|
@@ -241,17 +223,12 @@ const MobileNavItem: React.FC<{
|
|
|
241
223
|
setIsOpen: (value: boolean) => void;
|
|
242
224
|
}> = ({ navItem, index, setIsOpen }) => {
|
|
243
225
|
const navSubItems = navItem?.["sub-items"] ?? [];
|
|
244
|
-
const isNavItemDropdown =
|
|
245
|
-
navSubItems && Array.isArray(navSubItems) && navSubItems?.length > 0;
|
|
226
|
+
const isNavItemDropdown = navSubItems && Array.isArray(navSubItems) && navSubItems?.length > 0;
|
|
246
227
|
|
|
247
228
|
return (
|
|
248
229
|
<React.Fragment>
|
|
249
230
|
{isNavItemDropdown && (
|
|
250
|
-
<DropdownNavigationItemMobile
|
|
251
|
-
navItem={navItem}
|
|
252
|
-
setIsOpen={setIsOpen}
|
|
253
|
-
index={index}
|
|
254
|
-
/>
|
|
231
|
+
<DropdownNavigationItemMobile navItem={navItem} setIsOpen={setIsOpen} index={index} />
|
|
255
232
|
)}
|
|
256
233
|
{!isNavItemDropdown && (
|
|
257
234
|
<Box
|
|
@@ -314,9 +291,7 @@ const MobileNavigationSheet: React.FC<{
|
|
|
314
291
|
);
|
|
315
292
|
};
|
|
316
293
|
|
|
317
|
-
const Navbar2: React.FC<ILevoBlockBaseProps<INavbar1Content>> = ({
|
|
318
|
-
content,
|
|
319
|
-
}) => {
|
|
294
|
+
const Navbar2: React.FC<ILevoBlockBaseProps<INavbar1Content>> = ({ content }) => {
|
|
320
295
|
const [isScrolled, setIsScrolled] = useState(false);
|
|
321
296
|
const [isOpen, setIsOpen] = useState(false);
|
|
322
297
|
|
|
@@ -349,10 +324,7 @@ const Navbar2: React.FC<ILevoBlockBaseProps<INavbar1Content>> = ({
|
|
|
349
324
|
className="fixed top-0 right-0 bottom-0 left-0 z-20 bg-black/20"
|
|
350
325
|
/>
|
|
351
326
|
)}
|
|
352
|
-
<Section
|
|
353
|
-
elementKey="layout"
|
|
354
|
-
className={cn(isScrolled ? "top-2" : "top-8")}
|
|
355
|
-
>
|
|
327
|
+
<Section elementKey="layout" className={cn(isScrolled ? "top-2" : "top-8")}>
|
|
356
328
|
<Container elementKey="nav-container">
|
|
357
329
|
{leftDesktopNavLinks &&
|
|
358
330
|
Array?.isArray(leftDesktopNavLinks) &&
|
|
@@ -374,15 +346,13 @@ const Navbar2: React.FC<ILevoBlockBaseProps<INavbar1Content>> = ({
|
|
|
374
346
|
)}
|
|
375
347
|
{content?.["desktop-cta-group"]?.length > 0 && (
|
|
376
348
|
<Box elementKey="desktop-cta-group_levoGroup" data-levo_group>
|
|
377
|
-
{content?.["desktop-cta-group"]?.map(
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
),
|
|
385
|
-
)}
|
|
349
|
+
{content?.["desktop-cta-group"]?.map((_: any, index: number) => (
|
|
350
|
+
<Button
|
|
351
|
+
key={`desktop-cta-group.${index}.cta`}
|
|
352
|
+
elementKey={`desktop-cta-group.${index}.cta`}
|
|
353
|
+
data-levo_group_item
|
|
354
|
+
/>
|
|
355
|
+
))}
|
|
386
356
|
</Box>
|
|
387
357
|
)}
|
|
388
358
|
</Box>
|
|
@@ -9,20 +9,13 @@ const DEFAULT_CONTENT = {
|
|
|
9
9
|
kind: "image",
|
|
10
10
|
location: "https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t.png",
|
|
11
11
|
srcset: {
|
|
12
|
-
"1080w":
|
|
13
|
-
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
"
|
|
19
|
-
"https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t-320w.webp",
|
|
20
|
-
"640w":
|
|
21
|
-
"https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t-640w.webp",
|
|
22
|
-
"750w":
|
|
23
|
-
"https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t-750w.webp",
|
|
24
|
-
"828w":
|
|
25
|
-
"https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t-828w.webp",
|
|
12
|
+
"1080w": "https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t-1080w.webp",
|
|
13
|
+
"1200w": "https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t-1200w.webp",
|
|
14
|
+
"1920w": "https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t-1920w.webp",
|
|
15
|
+
"320w": "https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t-320w.webp",
|
|
16
|
+
"640w": "https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t-640w.webp",
|
|
17
|
+
"750w": "https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t-750w.webp",
|
|
18
|
+
"828w": "https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t-828w.webp",
|
|
26
19
|
path: "https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t-320w.webp 320w, https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t-750w.webp 750w, https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t-828w.webp 828w, https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t-640w.webp 640w, https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t-1080w.webp 1080w, https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t-1200w.webp 1200w, https://static.levostg.online/W6OEVMW8/image-oiljyrpB6IN9t-1920w.webp 1920w",
|
|
27
20
|
},
|
|
28
21
|
mimetype: "image/png",
|
|
@@ -808,12 +801,10 @@ export const Navbar3: IBlock = {
|
|
|
808
801
|
top: "0",
|
|
809
802
|
"z-index": 30,
|
|
810
803
|
width: "100%",
|
|
811
|
-
"box-shadow":
|
|
812
|
-
"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
|
|
804
|
+
"box-shadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
|
|
813
805
|
"background-color": "rgba(255,255,255,0.8)",
|
|
814
806
|
"backdrop-filter": "blur(20px)",
|
|
815
|
-
transform:
|
|
816
|
-
"translate(-50%, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1)",
|
|
807
|
+
transform: "translate(-50%, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1)",
|
|
817
808
|
},
|
|
818
809
|
"nav-container": {
|
|
819
810
|
display: "flex",
|
|
@@ -3940,10 +3931,8 @@ export const Navbar3: IBlock = {
|
|
|
3940
3931
|
"border-radius": "xl",
|
|
3941
3932
|
width: "95%",
|
|
3942
3933
|
"background-color": "#ffffff",
|
|
3943
|
-
"box-shadow":
|
|
3944
|
-
|
|
3945
|
-
transform:
|
|
3946
|
-
"translate(-50%, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1)",
|
|
3934
|
+
"box-shadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
|
|
3935
|
+
transform: "translate(-50%, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1)",
|
|
3947
3936
|
mobile: {
|
|
3948
3937
|
width: "100%",
|
|
3949
3938
|
"border-radius": "none",
|