@levo-so/blocks 0.1.2 → 0.1.52
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 +2 -2
- package/src/blocks/about-us/about-us-1.schema.ts +26 -12
- package/src/blocks/about-us/about-us-2.schema.ts +269 -0
- package/src/blocks/about-us/about-us-2.tsx +47 -0
- package/src/blocks/blogs/blog-listing-1.schema.ts +64 -10
- package/src/blocks/blogs/blog-listing-1.tsx +79 -56
- package/src/blocks/blogs/blog-listing-2.schema.ts +3141 -31
- package/src/blocks/blogs/blog-listing-2.tsx +16 -11
- package/src/blocks/blogs/blog-listing-3.schema.ts +2476 -0
- package/src/blocks/blogs/blog-listing-3.tsx +84 -0
- package/src/blocks/blogs/blog-post-1.schema.ts +17 -9
- package/src/blocks/blogs/blog-post-2.schema.ts +13 -56
- package/src/blocks/blogs/blog-post-3.schema.ts +284 -0
- package/src/blocks/blogs/blog-post-3.tsx +58 -0
- package/src/blocks/cards/cards-10.schema.ts +579 -0
- package/src/blocks/cards/cards-10.tsx +2 -0
- package/src/blocks/cards/cards-11.schema.ts +514 -36
- package/src/blocks/cards/cards-13.schema.ts +615 -0
- package/src/blocks/cards/cards-13.tsx +67 -0
- package/src/blocks/cards/cards-2.schema.ts +14 -17
- package/src/blocks/cards/cards-3.schema.ts +15 -25
- package/src/blocks/cards/cards-4.schema.ts +22 -44
- package/src/blocks/cards/cards-4.tsx +39 -39
- package/src/blocks/cards/cards-5.schema.ts +15 -34
- package/src/blocks/cards/cards-6.schema.ts +1500 -0
- package/src/blocks/cards/cards-6.tsx +11 -7
- package/src/blocks/cards/cards-7.schema.ts +1772 -27
- package/src/blocks/cards/cards-7.tsx +32 -0
- package/src/blocks/cards/cards-8.schema.ts +9 -9
- package/src/blocks/contact-us/contact-us-1.schema.ts +13 -6
- package/src/blocks/contact-us/contact-us-2.schema.ts +43 -43
- package/src/blocks/content/content-1.schema.ts +45 -67
- package/src/blocks/content/content-2.schema.ts +14 -11
- package/src/blocks/content/content-3.schema.ts +17 -115
- package/src/blocks/content/content-3.tsx +1 -0
- package/src/blocks/content/content-5.tsx +1 -0
- package/src/blocks/content/content-6.tsx +1 -0
- package/src/blocks/content/content-7.schema.ts +723 -0
- package/src/blocks/content/content-7.tsx +53 -0
- package/src/blocks/cta/cta-1.schema.ts +18 -26
- package/src/blocks/cta/cta-3.schema.ts +60 -0
- package/src/blocks/event/event-details.schema.ts +30 -35
- package/src/blocks/event/event-details.tsx +74 -79
- package/src/blocks/event/event-listing-2.schema.ts +85 -26
- package/src/blocks/event/event-listing-2.tsx +76 -52
- package/src/blocks/event/event-listing-3.schema.ts +58 -42
- package/src/blocks/event/event-listing-3.tsx +4 -9
- package/src/blocks/event/event-listing-4.schema.ts +3528 -0
- package/src/blocks/event/event-listing-4.tsx +97 -0
- package/src/blocks/event/event-listing.schema.ts +81 -86
- package/src/blocks/event/event-listing.tsx +1 -3
- package/src/blocks/faq/faq-1.schema.ts +13 -10
- package/src/blocks/faq/faq-2.schema.ts +12 -10
- package/src/blocks/features/features-1/variants/default.ts +12 -3
- package/src/blocks/features/features-2.schema.ts +192 -59
- package/src/blocks/features/features-3.schema.ts +11 -25
- package/src/blocks/features/features-4.schema.ts +20 -35
- package/src/blocks/features/features-5.schema.ts +18 -37
- package/src/blocks/footer/footer-1.schema.ts +28 -5
- package/src/blocks/footer/footer-2.schema.ts +18 -3
- package/src/blocks/footer/footer-3.schema.ts +85 -160
- package/src/blocks/footer/footer-3.tsx +1 -2
- package/src/blocks/footer/footer-4.schema.ts +10 -5
- package/src/blocks/footer/footer-4.tsx +1 -1
- package/src/blocks/footer/footer-5.schema.ts +10 -0
- package/src/blocks/footer/footer-5.tsx +11 -3
- package/src/blocks/footer/footer-6.schema.ts +730 -0
- package/src/blocks/footer/footer-6.tsx +100 -0
- package/src/blocks/hero/hero-1.schema.ts +165 -185
- package/src/blocks/hero/hero-10.schema.ts +175 -0
- package/src/blocks/hero/hero-10.tsx +35 -0
- package/src/blocks/hero/hero-2.schema.ts +60 -104
- package/src/blocks/hero/hero-2.tsx +11 -3
- package/src/blocks/hero/hero-3.schema.ts +68 -64
- package/src/blocks/hero/hero-4.schema.ts +148 -48
- package/src/blocks/hero/hero-5.schema.ts +29 -23
- package/src/blocks/hero/hero-6.schema.ts +28 -66
- package/src/blocks/hero/hero-7.schema.ts +34 -37
- package/src/blocks/hero/hero-8.schema.ts +5 -1
- package/src/blocks/index.ts +11 -0
- package/src/blocks/logos/logos-1.schema.ts +10 -4
- package/src/blocks/navbar/navbar-1.schema.ts +3 -5
- package/src/blocks/navbar/navbar-1.tsx +5 -19
- package/src/blocks/navbar/navbar-2.schema.ts +2 -4
- package/src/blocks/navbar/navbar-2.tsx +4 -18
- package/src/blocks/navbar/navbar-3.schema.ts +6834 -0
- package/src/blocks/navbar/navbar-3.tsx +551 -0
- package/src/blocks/pricing/pricing-1.schema.ts +23 -37
- package/src/blocks/products/products-listing-1.schema.ts +73 -76
- package/src/blocks/profile/profile-1.schema.ts +399 -0
- package/src/blocks/profile/profile-1.tsx +64 -0
- package/src/blocks/stats/stats-1.schema.ts +34 -3
- package/src/blocks/stats/variants/default.ts +0 -1
- package/src/blocks/stats/variants/hero.ts +2 -13
- package/src/blocks/team/team-1.schema.ts +50 -22
- package/src/blocks/team/team-1.tsx +9 -3
- package/src/blocks/team/team-2.schema.ts +96 -167
- package/src/blocks/team/team-3.schema.ts +32 -49
- package/src/blocks/team/team-4.schema.ts +551 -0
- package/src/blocks/team/team-4.tsx +59 -0
- package/src/blocks/termsAndPrivacy/terms-and-conditions-1.schema.ts +10 -20
- package/src/blocks/testimonial/testimonial-1.schema.ts +14 -8
- package/src/blocks/testimonial/testimonial-2.schema.ts +2 -2
- package/src/blocks/testimonial/testimonial-3.schema.ts +12 -18
- package/src/blocks/testimonial/testimonial-4.schema.ts +131 -126
- package/src/blocks/testimonial/testimonial-5/variants/default.ts +510 -0
- package/src/blocks/testimonial/testimonial-5/variants/index.ts +4 -0
- package/src/blocks/testimonial/testimonial-5/variants/testimonialWithLogo.ts +887 -0
- package/src/blocks/testimonial/testimonial-5/variants/testimonialWithRatings.ts +923 -0
- package/src/blocks/testimonial/testimonial-5.schema.ts +62 -246
- package/src/blocks/testimonial/testimonial-5.tsx +32 -8
- package/src/blocks/testimonial/testimonial-6.schema.ts +986 -23
- package/src/blocks/testimonial/testimonial-6.tsx +107 -57
- package/src/schemas/blocks.ts +22 -0
- package/src/schemas/categories.ts +6 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type ILevoBlockBaseProps,
|
|
3
|
+
Box,
|
|
4
|
+
Button,
|
|
5
|
+
Container,
|
|
6
|
+
Heading,
|
|
7
|
+
Icon,
|
|
8
|
+
Media,
|
|
9
|
+
Section,
|
|
10
|
+
Typography,
|
|
11
|
+
useContentEngine,
|
|
12
|
+
} from "@levo-so/studio";
|
|
13
|
+
import dayjs from "dayjs";
|
|
14
|
+
|
|
15
|
+
import type { IBlogListing3Content } from "./blog-listing-3.schema";
|
|
16
|
+
|
|
17
|
+
const BlogListing3: React.FC<
|
|
18
|
+
ILevoBlockBaseProps<IBlogListing3Content>
|
|
19
|
+
> = ({}) => {
|
|
20
|
+
const { data, query, setQuery, meta } = useContentEngine("blogs");
|
|
21
|
+
|
|
22
|
+
const handleNext = () => setQuery({ page: (query?.page || 0) + 1 });
|
|
23
|
+
const handlePrevious = () => setQuery({ page: (query?.page || 0) - 1 });
|
|
24
|
+
|
|
25
|
+
return (
|
|
26
|
+
<Section elementKey="layout">
|
|
27
|
+
<Container elementKey="container">
|
|
28
|
+
<Box elementKey="header-wrapper">
|
|
29
|
+
<Box elementKey="title-wrapper">
|
|
30
|
+
<Icon elementKey="header-icon" />
|
|
31
|
+
<Heading elementKey="header" />
|
|
32
|
+
</Box>
|
|
33
|
+
<Button elementKey="header-cta" />
|
|
34
|
+
</Box>
|
|
35
|
+
<Box elementKey="blogs_levoGroup" data-levo_group>
|
|
36
|
+
{(data || [])?.map((item: any, index: number) => (
|
|
37
|
+
<Box
|
|
38
|
+
key={`blogs.${index}`}
|
|
39
|
+
data-levo_group_item
|
|
40
|
+
elementKey={`blogs.${index}.blog`}
|
|
41
|
+
>
|
|
42
|
+
<Media elementKey={`blogs.${index}.media`} alt="Blog Media" />
|
|
43
|
+
<Box elementKey={`blogs.${index}.blog-info-wrapper`}>
|
|
44
|
+
<Box elementKey={`blogs.${index}.blog-content`}>
|
|
45
|
+
<Box elementKey={`blogs.${index}.blog-header`}>
|
|
46
|
+
<Icon elementKey={`blogs.${index}.header-icon`} />
|
|
47
|
+
<Typography elementKey={`blogs.${index}.blog-type`}>
|
|
48
|
+
{data?.[index]?.["publish-date"] &&
|
|
49
|
+
dayjs(data?.[index]?.["publish-date"]).isValid()
|
|
50
|
+
? dayjs(data?.[index]?.["publish-date"]).format(
|
|
51
|
+
"DD MMM, YYYY",
|
|
52
|
+
)
|
|
53
|
+
: " "}
|
|
54
|
+
</Typography>
|
|
55
|
+
</Box>
|
|
56
|
+
<Heading elementKey={`blogs.${index}.title`} />
|
|
57
|
+
<Typography elementKey={`blogs.${index}.description`} />
|
|
58
|
+
</Box>
|
|
59
|
+
<Button elementKey={`blogs.${index}.cta`} />
|
|
60
|
+
</Box>
|
|
61
|
+
</Box>
|
|
62
|
+
))}
|
|
63
|
+
</Box>
|
|
64
|
+
<Box elementKey="pagination-wrapper">
|
|
65
|
+
<Button
|
|
66
|
+
elementKey="pagination-left"
|
|
67
|
+
disabled={query?.page === 1}
|
|
68
|
+
onClick={handlePrevious}
|
|
69
|
+
/>
|
|
70
|
+
<Typography elementKey="pagination-text">
|
|
71
|
+
{`${query?.page || 0}/${meta?.pages || 0}`}
|
|
72
|
+
</Typography>
|
|
73
|
+
<Button
|
|
74
|
+
elementKey="pagination-right"
|
|
75
|
+
onClick={handleNext}
|
|
76
|
+
disabled={query?.page === meta?.pages}
|
|
77
|
+
/>
|
|
78
|
+
</Box>
|
|
79
|
+
</Container>
|
|
80
|
+
</Section>
|
|
81
|
+
);
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
export default BlogListing3;
|
|
@@ -288,7 +288,7 @@ export const BlogPost1: IBlock = {
|
|
|
288
288
|
},
|
|
289
289
|
"tag-container": {
|
|
290
290
|
width: "fit-content",
|
|
291
|
-
"border-radius": "
|
|
291
|
+
"border-radius": "base",
|
|
292
292
|
border: "1px solid",
|
|
293
293
|
"border-color": "var(--color-border)",
|
|
294
294
|
"background-color": "#E9E9EB",
|
|
@@ -309,11 +309,7 @@ export const BlogPost1: IBlock = {
|
|
|
309
309
|
},
|
|
310
310
|
title: {
|
|
311
311
|
"text-align": "center",
|
|
312
|
-
|
|
313
|
-
"font-weight": "bold",
|
|
314
|
-
mobile: {
|
|
315
|
-
"font-size": "3xl",
|
|
316
|
-
},
|
|
312
|
+
color: "text-1",
|
|
317
313
|
},
|
|
318
314
|
"meta-info": {
|
|
319
315
|
display: "flex",
|
|
@@ -338,8 +334,6 @@ export const BlogPost1: IBlock = {
|
|
|
338
334
|
"border-radius": "100%",
|
|
339
335
|
},
|
|
340
336
|
"author-name": {
|
|
341
|
-
"font-size": "sm",
|
|
342
|
-
"font-weight": "normal",
|
|
343
337
|
color: "var(--color-text-2)",
|
|
344
338
|
},
|
|
345
339
|
"publish-date": {
|
|
@@ -386,7 +380,21 @@ export const BlogPost1: IBlock = {
|
|
|
386
380
|
},
|
|
387
381
|
},
|
|
388
382
|
content: DEFAULT_CONTENT,
|
|
389
|
-
config: {
|
|
383
|
+
config: {
|
|
384
|
+
title: {
|
|
385
|
+
heading: {
|
|
386
|
+
level: 2,
|
|
387
|
+
},
|
|
388
|
+
selectedVariants: {
|
|
389
|
+
Heading_Level: "H2",
|
|
390
|
+
},
|
|
391
|
+
},
|
|
392
|
+
"author-name": {
|
|
393
|
+
selectedVariants: {
|
|
394
|
+
Heading_Level: "H6",
|
|
395
|
+
},
|
|
396
|
+
},
|
|
397
|
+
},
|
|
390
398
|
},
|
|
391
399
|
],
|
|
392
400
|
};
|
|
@@ -506,14 +506,12 @@ export const BlogPost2: IBlock = {
|
|
|
506
506
|
"border-radius": "lg",
|
|
507
507
|
border: "1px solid",
|
|
508
508
|
"border-color": "var(--color-border)",
|
|
509
|
-
|
|
509
|
+
|
|
510
510
|
display: "flex",
|
|
511
511
|
"flex-direction": "column",
|
|
512
512
|
"row-gap": "base",
|
|
513
513
|
},
|
|
514
514
|
heading: {
|
|
515
|
-
"font-size": "xl",
|
|
516
|
-
"font-weight": "bold",
|
|
517
515
|
color: "var(--color-text-1)",
|
|
518
516
|
"margin-bottom": "base",
|
|
519
517
|
},
|
|
@@ -528,8 +526,6 @@ export const BlogPost2: IBlock = {
|
|
|
528
526
|
"margin-bottom": "sm",
|
|
529
527
|
},
|
|
530
528
|
title: {
|
|
531
|
-
"font-size": "lg",
|
|
532
|
-
"font-weight": "semibold",
|
|
533
529
|
"margin-bottom": "xs",
|
|
534
530
|
color: "var(--color-text-1)",
|
|
535
531
|
},
|
|
@@ -544,8 +540,6 @@ export const BlogPost2: IBlock = {
|
|
|
544
540
|
"margin-bottom": "sm",
|
|
545
541
|
},
|
|
546
542
|
title: {
|
|
547
|
-
"font-size": "lg",
|
|
548
|
-
"font-weight": "semibold",
|
|
549
543
|
"margin-bottom": "xs",
|
|
550
544
|
color: "var(--color-text-1)",
|
|
551
545
|
},
|
|
@@ -556,20 +550,6 @@ export const BlogPost2: IBlock = {
|
|
|
556
550
|
},
|
|
557
551
|
},
|
|
558
552
|
],
|
|
559
|
-
button: {
|
|
560
|
-
"padding-top": "xs",
|
|
561
|
-
"padding-bottom": "xs",
|
|
562
|
-
"padding-left": "base",
|
|
563
|
-
"padding-right": "base",
|
|
564
|
-
"background-color": "var(--color-background-1)",
|
|
565
|
-
"border-radius": "base",
|
|
566
|
-
border: "1px solid",
|
|
567
|
-
"border-color": "var(--color-border)",
|
|
568
|
-
"font-size": "sm",
|
|
569
|
-
"font-weight": "medium",
|
|
570
|
-
color: "var(--color-text-1)",
|
|
571
|
-
"margin-top": "auto",
|
|
572
|
-
},
|
|
573
553
|
},
|
|
574
554
|
{
|
|
575
555
|
card: {
|
|
@@ -580,7 +560,7 @@ export const BlogPost2: IBlock = {
|
|
|
580
560
|
"border-radius": "lg",
|
|
581
561
|
border: "1px solid",
|
|
582
562
|
"border-color": "var(--color-border)",
|
|
583
|
-
|
|
563
|
+
|
|
584
564
|
display: "flex",
|
|
585
565
|
"flex-direction": "column",
|
|
586
566
|
"row-gap": "base",
|
|
@@ -601,8 +581,6 @@ export const BlogPost2: IBlock = {
|
|
|
601
581
|
"margin-bottom": "sm",
|
|
602
582
|
},
|
|
603
583
|
title: {
|
|
604
|
-
"font-size": "lg",
|
|
605
|
-
"font-weight": "semibold",
|
|
606
584
|
"margin-bottom": "xs",
|
|
607
585
|
color: "var(--color-text-1)",
|
|
608
586
|
},
|
|
@@ -613,20 +591,6 @@ export const BlogPost2: IBlock = {
|
|
|
613
591
|
},
|
|
614
592
|
},
|
|
615
593
|
],
|
|
616
|
-
button: {
|
|
617
|
-
"padding-top": "xs",
|
|
618
|
-
"padding-bottom": "xs",
|
|
619
|
-
"padding-left": "base",
|
|
620
|
-
"padding-right": "base",
|
|
621
|
-
"background-color": "var(--color-background-1)",
|
|
622
|
-
"border-radius": "base",
|
|
623
|
-
border: "1px solid",
|
|
624
|
-
"border-color": "var(--color-border)",
|
|
625
|
-
"font-size": "sm",
|
|
626
|
-
"font-weight": "medium",
|
|
627
|
-
color: "var(--color-text-1)",
|
|
628
|
-
"margin-top": "auto",
|
|
629
|
-
},
|
|
630
594
|
},
|
|
631
595
|
{
|
|
632
596
|
card: {
|
|
@@ -637,7 +601,7 @@ export const BlogPost2: IBlock = {
|
|
|
637
601
|
"border-radius": "lg",
|
|
638
602
|
border: "1px solid",
|
|
639
603
|
"border-color": "var(--color-border)",
|
|
640
|
-
|
|
604
|
+
|
|
641
605
|
display: "flex",
|
|
642
606
|
"flex-direction": "column",
|
|
643
607
|
"row-gap": "base",
|
|
@@ -658,8 +622,6 @@ export const BlogPost2: IBlock = {
|
|
|
658
622
|
"margin-bottom": "sm",
|
|
659
623
|
},
|
|
660
624
|
title: {
|
|
661
|
-
"font-size": "lg",
|
|
662
|
-
"font-weight": "semibold",
|
|
663
625
|
"margin-bottom": "xs",
|
|
664
626
|
color: "var(--color-text-1)",
|
|
665
627
|
},
|
|
@@ -670,20 +632,6 @@ export const BlogPost2: IBlock = {
|
|
|
670
632
|
},
|
|
671
633
|
},
|
|
672
634
|
],
|
|
673
|
-
button: {
|
|
674
|
-
"padding-top": "xs",
|
|
675
|
-
"padding-bottom": "xs",
|
|
676
|
-
"padding-left": "base",
|
|
677
|
-
"padding-right": "base",
|
|
678
|
-
"background-color": "var(--color-background-1)",
|
|
679
|
-
"border-radius": "base",
|
|
680
|
-
border: "1px solid",
|
|
681
|
-
"border-color": "var(--color-border)",
|
|
682
|
-
"font-size": "sm",
|
|
683
|
-
"font-weight": "medium",
|
|
684
|
-
color: "var(--color-text-1)",
|
|
685
|
-
"margin-top": "auto",
|
|
686
|
-
},
|
|
687
635
|
},
|
|
688
636
|
],
|
|
689
637
|
|
|
@@ -828,7 +776,16 @@ export const BlogPost2: IBlock = {
|
|
|
828
776
|
},
|
|
829
777
|
},
|
|
830
778
|
content: DEFAULT_CONTENT,
|
|
831
|
-
config: {
|
|
779
|
+
config: {
|
|
780
|
+
title: {
|
|
781
|
+
heading: {
|
|
782
|
+
level: 2,
|
|
783
|
+
},
|
|
784
|
+
selectedVariants: {
|
|
785
|
+
Heading_Level: "H2",
|
|
786
|
+
},
|
|
787
|
+
},
|
|
788
|
+
},
|
|
832
789
|
},
|
|
833
790
|
],
|
|
834
791
|
};
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
import type { IBlock } from "@levo-so/studio";
|
|
2
|
+
|
|
3
|
+
const DEFAULT_CONTENT = {
|
|
4
|
+
layout: null,
|
|
5
|
+
container: null,
|
|
6
|
+
main_container: null,
|
|
7
|
+
left_container: null,
|
|
8
|
+
image: null,
|
|
9
|
+
social_icons: null,
|
|
10
|
+
social_icon_1: null,
|
|
11
|
+
social_icon_2: null,
|
|
12
|
+
social_icon_3: null,
|
|
13
|
+
ctas: [],
|
|
14
|
+
right_container: null,
|
|
15
|
+
experience_container: null,
|
|
16
|
+
experience_title: "15 Years of Experience",
|
|
17
|
+
experience_description:
|
|
18
|
+
"Leading digital transformation initiatives for Fortune 500 companies worldwide",
|
|
19
|
+
expertise_title: "Technical Expertise",
|
|
20
|
+
expertise_description:
|
|
21
|
+
"Specializing in cloud architecture, AI integration, and scalable web solutions",
|
|
22
|
+
content_container: null,
|
|
23
|
+
content_description:
|
|
24
|
+
"Our team of expert developers and designers work collaboratively to deliver innovative solutions that drive business growth. We combine cutting-edge technology with industry best practices to create digital experiences that engage and inspire users.",
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export type IBlogPost3Content = typeof DEFAULT_CONTENT;
|
|
28
|
+
|
|
29
|
+
export const BlogPost3: IBlock = {
|
|
30
|
+
category_id: "blogs",
|
|
31
|
+
title: "Blog Post 3",
|
|
32
|
+
key: "blog-post-3",
|
|
33
|
+
version: "v1",
|
|
34
|
+
prompt_description:
|
|
35
|
+
"A blog post layout with left-right container featuring image, social icons, and experience content",
|
|
36
|
+
content_schema: [
|
|
37
|
+
{
|
|
38
|
+
key: "layout",
|
|
39
|
+
label: "Layout",
|
|
40
|
+
field_interface: "LayoutWidget",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
key: "container",
|
|
44
|
+
label: "Container",
|
|
45
|
+
field_interface: "ContainerWidget",
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
key: "main_container",
|
|
49
|
+
label: "Main Container",
|
|
50
|
+
field_interface: "BoxWidget",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
key: "left_container",
|
|
54
|
+
label: "Left Container",
|
|
55
|
+
field_interface: "BoxWidget",
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
key: "image",
|
|
59
|
+
label: "Image",
|
|
60
|
+
field_interface: "ImageWidget",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
key: "social_icons",
|
|
64
|
+
label: "Social Icons Container",
|
|
65
|
+
field_interface: "BoxWidget",
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
key: "social_icon_1",
|
|
69
|
+
label: "Social Icon 1",
|
|
70
|
+
field_interface: "IconWidget",
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
key: "social_icon_2",
|
|
74
|
+
label: "Social Icon 2",
|
|
75
|
+
field_interface: "IconWidget",
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
key: "social_icon_3",
|
|
79
|
+
label: "Social Icon 3",
|
|
80
|
+
field_interface: "IconWidget",
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
key: "ctas",
|
|
84
|
+
label: "Call to Action",
|
|
85
|
+
kind: "group",
|
|
86
|
+
field_interface: "BoxWidget",
|
|
87
|
+
fields: [
|
|
88
|
+
{
|
|
89
|
+
key: "button",
|
|
90
|
+
label: "Button",
|
|
91
|
+
field_interface: "ButtonWidget",
|
|
92
|
+
},
|
|
93
|
+
],
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
key: "right_container",
|
|
97
|
+
label: "Right Container",
|
|
98
|
+
field_interface: "BoxWidget",
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
key: "main_text_container",
|
|
102
|
+
label: "Main Text Container",
|
|
103
|
+
field_interface: "BoxWidget",
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
key: "name",
|
|
107
|
+
label: "Name",
|
|
108
|
+
field_interface: "TypographyWidget",
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
key: "experience_wrapper",
|
|
112
|
+
label: "Experience Wrapper",
|
|
113
|
+
field_interface: "BoxWidget",
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
key: "expertise_wrapper",
|
|
117
|
+
label: "Expertise Wrapper",
|
|
118
|
+
field_interface: "BoxWidget",
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
key: "experience_title",
|
|
122
|
+
label: "Experience Title",
|
|
123
|
+
field_interface: "TypographyWidget",
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
key: "experience_description",
|
|
127
|
+
label: "Experience Description",
|
|
128
|
+
field_interface: "TypographyWidget",
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
key: "expertise_title",
|
|
132
|
+
label: "Expertise Title",
|
|
133
|
+
field_interface: "TypographyWidget",
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
key: "expertise_description",
|
|
137
|
+
label: "Expertise Description",
|
|
138
|
+
field_interface: "TypographyWidget",
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
key: "content_container",
|
|
142
|
+
label: "Content Container",
|
|
143
|
+
field_interface: "BoxWidget",
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
key: "content_description",
|
|
147
|
+
label: "Content Description",
|
|
148
|
+
field_interface: "TypographyWidget",
|
|
149
|
+
},
|
|
150
|
+
],
|
|
151
|
+
layouts: [
|
|
152
|
+
{
|
|
153
|
+
key: "default",
|
|
154
|
+
title: "Default",
|
|
155
|
+
styles: {
|
|
156
|
+
layout: {
|
|
157
|
+
"padding-top": "48px",
|
|
158
|
+
"padding-bottom": "48px",
|
|
159
|
+
"padding-left": "48px",
|
|
160
|
+
"padding-right": "48px",
|
|
161
|
+
},
|
|
162
|
+
container: {
|
|
163
|
+
"max-width": "1280px",
|
|
164
|
+
"margin-left": "auto",
|
|
165
|
+
"margin-right": "auto",
|
|
166
|
+
},
|
|
167
|
+
main_container: {
|
|
168
|
+
display: "flex",
|
|
169
|
+
"flex-direction": "row",
|
|
170
|
+
"align-items": "flex-start",
|
|
171
|
+
"column-gap": "48px",
|
|
172
|
+
tablet: {
|
|
173
|
+
"flex-direction": "column",
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
left_container: {
|
|
177
|
+
display: "flex",
|
|
178
|
+
"flex-direction": "column",
|
|
179
|
+
"align-items": "center",
|
|
180
|
+
flex: "1",
|
|
181
|
+
"max-width": "400px",
|
|
182
|
+
tablet: {
|
|
183
|
+
"max-width": "100%",
|
|
184
|
+
},
|
|
185
|
+
},
|
|
186
|
+
image: {
|
|
187
|
+
"border-radius": "12px",
|
|
188
|
+
"margin-bottom": "24px",
|
|
189
|
+
width: "100%",
|
|
190
|
+
height: "300px",
|
|
191
|
+
"object-fit": "cover",
|
|
192
|
+
},
|
|
193
|
+
social_icons: {
|
|
194
|
+
display: "flex",
|
|
195
|
+
"flex-direction": "row",
|
|
196
|
+
"column-gap": "16px",
|
|
197
|
+
"align-items": "center",
|
|
198
|
+
"justify-content": "center",
|
|
199
|
+
},
|
|
200
|
+
social_icon_1: {
|
|
201
|
+
"background-color": "background-1",
|
|
202
|
+
color: "text-1",
|
|
203
|
+
"padding-top": "12px",
|
|
204
|
+
"padding-bottom": "12px",
|
|
205
|
+
"padding-left": "12px",
|
|
206
|
+
"padding-right": "12px",
|
|
207
|
+
"border-radius": "50%",
|
|
208
|
+
"border-color": "border",
|
|
209
|
+
"border-width": "2px",
|
|
210
|
+
},
|
|
211
|
+
social_icon_2: {
|
|
212
|
+
"background-color": "background-1",
|
|
213
|
+
color: "text-1",
|
|
214
|
+
"padding-top": "12px",
|
|
215
|
+
"padding-bottom": "12px",
|
|
216
|
+
"padding-left": "12px",
|
|
217
|
+
"padding-right": "12px",
|
|
218
|
+
"border-radius": "50%",
|
|
219
|
+
"border-color": "border",
|
|
220
|
+
"border-width": "2px",
|
|
221
|
+
},
|
|
222
|
+
social_icon_3: {
|
|
223
|
+
"background-color": "background-1",
|
|
224
|
+
color: "text-1",
|
|
225
|
+
"padding-top": "12px",
|
|
226
|
+
"padding-bottom": "12px",
|
|
227
|
+
"padding-left": "12px",
|
|
228
|
+
"padding-right": "12px",
|
|
229
|
+
"border-radius": "50%",
|
|
230
|
+
"border-color": "border",
|
|
231
|
+
"border-width": "2px",
|
|
232
|
+
},
|
|
233
|
+
right_container: {
|
|
234
|
+
display: "flex",
|
|
235
|
+
"flex-direction": "column",
|
|
236
|
+
"align-items": "flex-start",
|
|
237
|
+
flex: "2",
|
|
238
|
+
"row-gap": "32px",
|
|
239
|
+
},
|
|
240
|
+
experience_container: {
|
|
241
|
+
display: "flex",
|
|
242
|
+
"flex-direction": "column",
|
|
243
|
+
"align-items": "flex-start",
|
|
244
|
+
"row-gap": "16px",
|
|
245
|
+
},
|
|
246
|
+
experience_title: {
|
|
247
|
+
"font-size": "24px",
|
|
248
|
+
"font-weight": "700",
|
|
249
|
+
color: "text-1",
|
|
250
|
+
"margin-bottom": "8px",
|
|
251
|
+
},
|
|
252
|
+
experience_description: {
|
|
253
|
+
"font-size": "16px",
|
|
254
|
+
color: "text-2",
|
|
255
|
+
"line-height": "1.6",
|
|
256
|
+
"margin-bottom": "16px",
|
|
257
|
+
},
|
|
258
|
+
expertise_title: {
|
|
259
|
+
"font-size": "20px",
|
|
260
|
+
"font-weight": "600",
|
|
261
|
+
color: "text-1",
|
|
262
|
+
"margin-bottom": "8px",
|
|
263
|
+
},
|
|
264
|
+
expertise_description: {
|
|
265
|
+
"font-size": "16px",
|
|
266
|
+
color: "text-2",
|
|
267
|
+
"line-height": "1.6",
|
|
268
|
+
},
|
|
269
|
+
content_container: {
|
|
270
|
+
display: "flex",
|
|
271
|
+
"flex-direction": "column",
|
|
272
|
+
"align-items": "flex-start",
|
|
273
|
+
},
|
|
274
|
+
content_description: {
|
|
275
|
+
"font-size": "16px",
|
|
276
|
+
color: "text-2",
|
|
277
|
+
"line-height": "1.6",
|
|
278
|
+
},
|
|
279
|
+
},
|
|
280
|
+
content: DEFAULT_CONTENT,
|
|
281
|
+
config: {},
|
|
282
|
+
},
|
|
283
|
+
],
|
|
284
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Box,
|
|
3
|
+
Button,
|
|
4
|
+
Container,
|
|
5
|
+
Icon,
|
|
6
|
+
type ILevoBlockBaseProps,
|
|
7
|
+
Image,
|
|
8
|
+
Section,
|
|
9
|
+
Typography,
|
|
10
|
+
} from "@levo-so/studio";
|
|
11
|
+
|
|
12
|
+
import type { IBlogPost3Content } from "./blog-post-3.schema";
|
|
13
|
+
|
|
14
|
+
const BlogPost3: React.FC<ILevoBlockBaseProps<IBlogPost3Content>> = ({
|
|
15
|
+
content,
|
|
16
|
+
}) => (
|
|
17
|
+
<Section elementKey="layout">
|
|
18
|
+
<Container elementKey="container">
|
|
19
|
+
<Box elementKey="main_container">
|
|
20
|
+
<Box elementKey="left_container">
|
|
21
|
+
<Image elementKey="image" alt="Blog post image" />
|
|
22
|
+
<Box elementKey="social_icons">
|
|
23
|
+
<Icon elementKey="social_icon_1" />
|
|
24
|
+
<Icon elementKey="social_icon_2" />
|
|
25
|
+
<Icon elementKey="social_icon_3" />
|
|
26
|
+
</Box>
|
|
27
|
+
<Box elementKey="ctas_levoGroup" data-levo_group>
|
|
28
|
+
{(content?.ctas || [])?.map((_, index) => (
|
|
29
|
+
<Button
|
|
30
|
+
elementKey={`ctas.${index}.button`}
|
|
31
|
+
key={`blog-post-3-cta-${index}`}
|
|
32
|
+
data-levo_group_item
|
|
33
|
+
/>
|
|
34
|
+
))}
|
|
35
|
+
</Box>
|
|
36
|
+
</Box>
|
|
37
|
+
<Box elementKey="right_container">
|
|
38
|
+
<Typography elementKey="name" />
|
|
39
|
+
<Box elementKey="main_text_container">
|
|
40
|
+
<Box elementKey="experience_wrapper">
|
|
41
|
+
<Typography elementKey="experience_title" />
|
|
42
|
+
<Typography elementKey="experience_description" />
|
|
43
|
+
</Box>
|
|
44
|
+
<Box elementKey="expertise_wrapper">
|
|
45
|
+
<Typography elementKey="expertise_title" />
|
|
46
|
+
<Typography elementKey="expertise_description" />
|
|
47
|
+
</Box>
|
|
48
|
+
</Box>
|
|
49
|
+
<Box elementKey="content_container">
|
|
50
|
+
<Typography elementKey="content_description" />
|
|
51
|
+
</Box>
|
|
52
|
+
</Box>
|
|
53
|
+
</Box>
|
|
54
|
+
</Container>
|
|
55
|
+
</Section>
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
export default BlogPost3;
|