@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
|
@@ -26,23 +26,24 @@ const DEFAULT_CONTENT = {
|
|
|
26
26
|
id: "w9fEtJuVtBFgU",
|
|
27
27
|
filename: "image.png",
|
|
28
28
|
kind: "image",
|
|
29
|
-
location:
|
|
29
|
+
location:
|
|
30
|
+
"https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm.png",
|
|
30
31
|
srcset: {
|
|
31
32
|
"1080w":
|
|
32
|
-
"https://
|
|
33
|
+
"https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-1080w.webp",
|
|
33
34
|
"1200w":
|
|
34
|
-
"https://
|
|
35
|
+
"https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-1200w.webp",
|
|
35
36
|
"1920w":
|
|
36
|
-
"https://
|
|
37
|
+
"https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-1920w.webp",
|
|
37
38
|
"320w":
|
|
38
|
-
"https://
|
|
39
|
+
"https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-320w.webp",
|
|
39
40
|
"640w":
|
|
40
|
-
"https://
|
|
41
|
+
"https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-640w.webp",
|
|
41
42
|
"750w":
|
|
42
|
-
"https://
|
|
43
|
+
"https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-750w.webp",
|
|
43
44
|
"828w":
|
|
44
|
-
"https://
|
|
45
|
-
path: "https://
|
|
45
|
+
"https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-828w.webp",
|
|
46
|
+
path: "https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-750w.webp 750w, https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-828w.webp 828w, https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-1080w.webp 1080w, https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-1200w.webp 1200w, https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-1920w.webp 1920w, https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-320w.webp 320w, https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-640w.webp 640w",
|
|
46
47
|
},
|
|
47
48
|
mimetype: "image/png",
|
|
48
49
|
},
|
|
@@ -117,6 +118,10 @@ const DEFAULT_CONTENT = {
|
|
|
117
118
|
],
|
|
118
119
|
},
|
|
119
120
|
],
|
|
121
|
+
paginationWrapper: null,
|
|
122
|
+
paginationLeftButton: "Previous",
|
|
123
|
+
paginationText: "",
|
|
124
|
+
paginationRightButton: "Next",
|
|
120
125
|
};
|
|
121
126
|
|
|
122
127
|
export type IEventListing2Content = typeof DEFAULT_CONTENT;
|
|
@@ -298,6 +303,59 @@ export const EventListing2: IBlock = {
|
|
|
298
303
|
max_items: 6,
|
|
299
304
|
},
|
|
300
305
|
},
|
|
306
|
+
{
|
|
307
|
+
key: "paginationWrapper",
|
|
308
|
+
label: "Pagination Wrapper",
|
|
309
|
+
field_interface: "BoxWidget",
|
|
310
|
+
hint: {
|
|
311
|
+
prompt_description:
|
|
312
|
+
"Container holding pagination controls (buttons and info) at the bottom of the event grid. Provides structure and alignment for pagination elements. No content generation required.",
|
|
313
|
+
},
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
key: "paginationLeftButton",
|
|
317
|
+
label: "Pagination Left Button",
|
|
318
|
+
field_interface: "ButtonWidget",
|
|
319
|
+
hint: {
|
|
320
|
+
prompt_description:
|
|
321
|
+
"Button for navigating to the previous page of events. Label should be clear and descriptive, such as 'Previous'.",
|
|
322
|
+
min_characters: 4,
|
|
323
|
+
max_characters: 12,
|
|
324
|
+
},
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
key: "paginationInfo",
|
|
328
|
+
label: "Pagination Info",
|
|
329
|
+
field_interface: "TypographyWidget",
|
|
330
|
+
hint: {
|
|
331
|
+
prompt_description:
|
|
332
|
+
"Displays the current events page and total pages, e.g., '1/10'. Keep format concise and clear.",
|
|
333
|
+
min_characters: 3,
|
|
334
|
+
max_characters: 8,
|
|
335
|
+
},
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
key: "paginationText",
|
|
339
|
+
label: "Pagination Text",
|
|
340
|
+
field_interface: "TypographyWidget",
|
|
341
|
+
hint: {
|
|
342
|
+
prompt_description:
|
|
343
|
+
"Displays the current events page and total pages, e.g., '1/10'. Keep format concise and clear.",
|
|
344
|
+
min_characters: 3,
|
|
345
|
+
max_characters: 8,
|
|
346
|
+
},
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
key: "paginationRightButton",
|
|
350
|
+
label: "Pagination Right Button",
|
|
351
|
+
field_interface: "ButtonWidget",
|
|
352
|
+
hint: {
|
|
353
|
+
prompt_description:
|
|
354
|
+
"Button for navigating to the next page of events. Label should be clear and descriptive, such as 'Next'.",
|
|
355
|
+
min_characters: 4,
|
|
356
|
+
max_characters: 12,
|
|
357
|
+
},
|
|
358
|
+
},
|
|
301
359
|
],
|
|
302
360
|
layouts: [
|
|
303
361
|
{
|
|
@@ -346,12 +404,7 @@ export const EventListing2: IBlock = {
|
|
|
346
404
|
},
|
|
347
405
|
},
|
|
348
406
|
title: {
|
|
349
|
-
"font-size": "4xl",
|
|
350
|
-
"font-weight": "700",
|
|
351
407
|
color: "text-1",
|
|
352
|
-
mobile: {
|
|
353
|
-
"font-size": "3xl",
|
|
354
|
-
},
|
|
355
408
|
},
|
|
356
409
|
description: {
|
|
357
410
|
"font-size": "lg",
|
|
@@ -359,17 +412,7 @@ export const EventListing2: IBlock = {
|
|
|
359
412
|
"max-width": "600px",
|
|
360
413
|
"line-height": "1.6",
|
|
361
414
|
},
|
|
362
|
-
|
|
363
|
-
"background-color": "background-1",
|
|
364
|
-
color: "text-1",
|
|
365
|
-
"padding-top": "base",
|
|
366
|
-
"padding-bottom": "base",
|
|
367
|
-
"padding-left": "xl",
|
|
368
|
-
"padding-right": "xl",
|
|
369
|
-
"border-radius": "lg",
|
|
370
|
-
"font-weight": "500",
|
|
371
|
-
"border-color": "border",
|
|
372
|
-
},
|
|
415
|
+
|
|
373
416
|
events_levoGroup: {
|
|
374
417
|
display: "grid",
|
|
375
418
|
"grid-template-columns": "repeat(2, minmax(0, 1fr))",
|
|
@@ -383,6 +426,13 @@ export const EventListing2: IBlock = {
|
|
|
383
426
|
},
|
|
384
427
|
filter: "none",
|
|
385
428
|
},
|
|
429
|
+
paginationWrapper: {
|
|
430
|
+
width: "100%",
|
|
431
|
+
display: "flex",
|
|
432
|
+
"justify-content": "center",
|
|
433
|
+
"column-gap": "lg",
|
|
434
|
+
"align-items": "center",
|
|
435
|
+
},
|
|
386
436
|
events: Array(2)
|
|
387
437
|
?.fill(0)
|
|
388
438
|
.map((v) => {
|
|
@@ -490,7 +540,16 @@ export const EventListing2: IBlock = {
|
|
|
490
540
|
}),
|
|
491
541
|
},
|
|
492
542
|
content: DEFAULT_CONTENT,
|
|
493
|
-
config: {
|
|
543
|
+
config: {
|
|
544
|
+
title: {
|
|
545
|
+
selectedVariants: {
|
|
546
|
+
Heading_Level: "H2",
|
|
547
|
+
},
|
|
548
|
+
heading: {
|
|
549
|
+
level: 2,
|
|
550
|
+
},
|
|
551
|
+
},
|
|
552
|
+
},
|
|
494
553
|
},
|
|
495
554
|
],
|
|
496
555
|
};
|
|
@@ -1,70 +1,94 @@
|
|
|
1
1
|
import type { ILevoBlockBaseProps } from "@levo-so/studio";
|
|
2
2
|
import {
|
|
3
|
-
|
|
3
|
+
Box,
|
|
4
|
+
Button,
|
|
4
5
|
Container,
|
|
5
|
-
Typography,
|
|
6
6
|
Heading,
|
|
7
|
-
Box,
|
|
8
7
|
Icon,
|
|
9
8
|
Image,
|
|
10
|
-
|
|
9
|
+
Section,
|
|
10
|
+
Typography,
|
|
11
|
+
useContentEngine,
|
|
11
12
|
} from "@levo-so/studio";
|
|
12
13
|
|
|
13
14
|
import type { IEventListing2Content } from "./event-listing-2.schema";
|
|
14
15
|
|
|
15
|
-
const EventListing2: React.FC<
|
|
16
|
-
|
|
17
|
-
}) =>
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
const EventListing2: React.FC<
|
|
17
|
+
ILevoBlockBaseProps<IEventListing2Content>
|
|
18
|
+
> = ({}) => {
|
|
19
|
+
const { data, query, setQuery, meta } = useContentEngine("events");
|
|
20
|
+
|
|
21
|
+
const handleNext = () => setQuery({ page: (query?.page || 0) + 1 });
|
|
22
|
+
const handlePrevious = () => setQuery({ page: (query?.page || 0) - 1 });
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<Section elementKey="layout">
|
|
26
|
+
<Container elementKey="container">
|
|
27
|
+
<Box elementKey="header-section">
|
|
28
|
+
<Box elementKey="header-content">
|
|
29
|
+
<Heading elementKey="title" />
|
|
30
|
+
<Typography elementKey="description" />
|
|
31
|
+
</Box>
|
|
32
|
+
<Button elementKey="cta-button" />
|
|
24
33
|
</Box>
|
|
25
|
-
<Button elementKey="cta-button" />
|
|
26
|
-
</Box>
|
|
27
34
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
<Box elementKey="events_levoGroup" data-levo_group>
|
|
36
|
+
{(data ?? []).map((_: any, index: number) => (
|
|
37
|
+
<Box
|
|
38
|
+
key={`event-${index}`}
|
|
39
|
+
data-levo_group_item
|
|
40
|
+
elementKey={`events.${index}.eventWrapper`}
|
|
41
|
+
>
|
|
42
|
+
<Image elementKey={`events.${index}.image`} alt="Event image" />
|
|
36
43
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
44
|
+
<Box elementKey={`events.${index}.content-wrapper`}>
|
|
45
|
+
<Heading elementKey={`events.${index}.title`} />
|
|
46
|
+
<Typography elementKey={`events.${index}.description`} />
|
|
40
47
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
48
|
+
<Box
|
|
49
|
+
elementKey={`events.${index}.details_levoGroup`}
|
|
50
|
+
data-levo_group
|
|
51
|
+
>
|
|
52
|
+
{(data?.[index]?.details ?? []).map(
|
|
53
|
+
(_: any, detailIndex: number) => (
|
|
54
|
+
<Box
|
|
55
|
+
key={`detail-${detailIndex}`}
|
|
56
|
+
data-levo_group_item
|
|
57
|
+
elementKey={`events.${index}.details.${detailIndex}.detailWrapper`}
|
|
58
|
+
>
|
|
59
|
+
<Icon
|
|
60
|
+
elementKey={`events.${index}.details.${detailIndex}.icon`}
|
|
61
|
+
/>
|
|
62
|
+
<Typography
|
|
63
|
+
elementKey={`events.${index}.details.${detailIndex}.text`}
|
|
64
|
+
/>
|
|
65
|
+
</Box>
|
|
66
|
+
),
|
|
67
|
+
)}
|
|
68
|
+
</Box>
|
|
61
69
|
</Box>
|
|
62
70
|
</Box>
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
71
|
+
))}
|
|
72
|
+
</Box>
|
|
73
|
+
<Box elementKey="paginationWrapper">
|
|
74
|
+
<Button
|
|
75
|
+
elementKey="paginationLeftButton"
|
|
76
|
+
disabled={query?.page === 1}
|
|
77
|
+
onClick={handlePrevious}
|
|
78
|
+
/>
|
|
79
|
+
|
|
80
|
+
<Typography elementKey="paginationText">
|
|
81
|
+
{`${query?.page || 0}/${meta?.pages || 0}`}
|
|
82
|
+
</Typography>
|
|
83
|
+
<Button
|
|
84
|
+
elementKey="paginationRightButton"
|
|
85
|
+
onClick={handleNext}
|
|
86
|
+
disabled={query?.page === meta?.pages}
|
|
87
|
+
/>
|
|
88
|
+
</Box>
|
|
89
|
+
</Container>
|
|
90
|
+
</Section>
|
|
91
|
+
);
|
|
92
|
+
};
|
|
69
93
|
|
|
70
94
|
export default EventListing2;
|
|
@@ -34,20 +34,6 @@ const DUMMY_ICON = {
|
|
|
34
34
|
},
|
|
35
35
|
};
|
|
36
36
|
|
|
37
|
-
const ARROW_LEFT_IMAGE = {
|
|
38
|
-
id: "9GFRzqRPswl8h",
|
|
39
|
-
kind: "image",
|
|
40
|
-
location: "https://static.levocdn.com/WLZ1TXTD/arrow-left-PzNnrMeYWUyNg.svg",
|
|
41
|
-
srcset: {},
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
const ARROW_RIGHT_IMAGE = {
|
|
45
|
-
id: "9GFRzqRPswl8h",
|
|
46
|
-
kind: "image",
|
|
47
|
-
location: "https://static.levocdn.com/WLZ1TXTD/arrow-right-tryvMJ0Z2DosG.svg",
|
|
48
|
-
srcset: {},
|
|
49
|
-
};
|
|
50
|
-
|
|
51
37
|
const DEFAULT_CONTENT = {
|
|
52
38
|
layout: null,
|
|
53
39
|
container: null,
|
|
@@ -114,11 +100,9 @@ const DEFAULT_CONTENT = {
|
|
|
114
100
|
},
|
|
115
101
|
],
|
|
116
102
|
paginationWrapper: null,
|
|
117
|
-
paginationLeftButton: "",
|
|
118
|
-
paginationLeftIcon: ARROW_LEFT_IMAGE,
|
|
103
|
+
paginationLeftButton: "Previous",
|
|
119
104
|
paginationText: "",
|
|
120
|
-
paginationRightButton: "",
|
|
121
|
-
paginationRightIcon: ARROW_RIGHT_IMAGE,
|
|
105
|
+
paginationRightButton: "Next",
|
|
122
106
|
};
|
|
123
107
|
|
|
124
108
|
export type IEventListing3 = typeof DEFAULT_CONTENT;
|
|
@@ -328,31 +312,54 @@ export const EventListing3: IBlock = {
|
|
|
328
312
|
key: "paginationWrapper",
|
|
329
313
|
label: "Pagination Wrapper",
|
|
330
314
|
field_interface: "BoxWidget",
|
|
315
|
+
hint: {
|
|
316
|
+
prompt_description:
|
|
317
|
+
"Container holding pagination controls (buttons and info) at the bottom of the event grid. Provides structure and alignment for pagination elements. No content generation required.",
|
|
318
|
+
},
|
|
331
319
|
},
|
|
332
320
|
{
|
|
333
321
|
key: "paginationLeftButton",
|
|
334
|
-
label: "
|
|
322
|
+
label: "Pagination Left Button",
|
|
335
323
|
field_interface: "ButtonWidget",
|
|
324
|
+
hint: {
|
|
325
|
+
prompt_description:
|
|
326
|
+
"Button for navigating to the previous page of events. Label should be clear and descriptive, such as 'Previous'.",
|
|
327
|
+
min_characters: 4,
|
|
328
|
+
max_characters: 12,
|
|
329
|
+
},
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
key: "paginationInfo",
|
|
333
|
+
label: "Pagination Info",
|
|
334
|
+
field_interface: "TypographyWidget",
|
|
335
|
+
hint: {
|
|
336
|
+
prompt_description:
|
|
337
|
+
"Displays the current events page and total pages, e.g., '1/10'. Keep format concise and clear.",
|
|
338
|
+
min_characters: 3,
|
|
339
|
+
max_characters: 8,
|
|
340
|
+
},
|
|
336
341
|
},
|
|
337
342
|
{
|
|
338
343
|
key: "paginationText",
|
|
339
344
|
label: "Pagination Text",
|
|
340
345
|
field_interface: "TypographyWidget",
|
|
346
|
+
hint: {
|
|
347
|
+
prompt_description:
|
|
348
|
+
"Displays the current events page and total pages, e.g., '1/10'. Keep format concise and clear.",
|
|
349
|
+
min_characters: 3,
|
|
350
|
+
max_characters: 8,
|
|
351
|
+
},
|
|
341
352
|
},
|
|
342
353
|
{
|
|
343
354
|
key: "paginationRightButton",
|
|
344
|
-
label: "
|
|
355
|
+
label: "Pagination Right Button",
|
|
345
356
|
field_interface: "ButtonWidget",
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
{
|
|
353
|
-
key: "paginationRightIcon",
|
|
354
|
-
label: "Next Icon",
|
|
355
|
-
field_interface: "ImageWidget",
|
|
357
|
+
hint: {
|
|
358
|
+
prompt_description:
|
|
359
|
+
"Button for navigating to the next page of events. Label should be clear and descriptive, such as 'Next'.",
|
|
360
|
+
min_characters: 4,
|
|
361
|
+
max_characters: 12,
|
|
362
|
+
},
|
|
356
363
|
},
|
|
357
364
|
],
|
|
358
365
|
layouts: [
|
|
@@ -399,19 +406,13 @@ export const EventListing3: IBlock = {
|
|
|
399
406
|
},
|
|
400
407
|
},
|
|
401
408
|
title: {
|
|
402
|
-
|
|
403
|
-
"font-weight": 600,
|
|
404
|
-
color: "var(--color-text-1)",
|
|
409
|
+
color: "text-1",
|
|
405
410
|
margin: "0",
|
|
406
|
-
mobile: {
|
|
407
|
-
"font-size": "3xl",
|
|
408
|
-
},
|
|
409
411
|
},
|
|
410
412
|
"cta-button": {
|
|
411
413
|
"background-color": "transparent",
|
|
412
|
-
color: "
|
|
413
|
-
|
|
414
|
-
"font-weight": 500,
|
|
414
|
+
color: "color-brand",
|
|
415
|
+
|
|
415
416
|
"text-decoration": "none",
|
|
416
417
|
border: "none",
|
|
417
418
|
cursor: "pointer",
|
|
@@ -437,6 +438,7 @@ export const EventListing3: IBlock = {
|
|
|
437
438
|
},
|
|
438
439
|
filter: "none",
|
|
439
440
|
},
|
|
441
|
+
|
|
440
442
|
events: Array(3)
|
|
441
443
|
.fill(0)
|
|
442
444
|
?.map((v) => {
|
|
@@ -576,8 +578,7 @@ export const EventListing3: IBlock = {
|
|
|
576
578
|
cursor: "pointer",
|
|
577
579
|
},
|
|
578
580
|
paginationText: {
|
|
579
|
-
|
|
580
|
-
color: "var(--color-text-1)",
|
|
581
|
+
color: "text-1",
|
|
581
582
|
},
|
|
582
583
|
paginationRightButton: {
|
|
583
584
|
"background-color": "transparent",
|
|
@@ -599,7 +600,22 @@ export const EventListing3: IBlock = {
|
|
|
599
600
|
},
|
|
600
601
|
},
|
|
601
602
|
content: DEFAULT_CONTENT,
|
|
602
|
-
config: {
|
|
603
|
+
config: {
|
|
604
|
+
title: {
|
|
605
|
+
selectedVariants: {
|
|
606
|
+
Heading_Level: "H2",
|
|
607
|
+
},
|
|
608
|
+
heading: {
|
|
609
|
+
level: 2,
|
|
610
|
+
},
|
|
611
|
+
},
|
|
612
|
+
|
|
613
|
+
"cta-button": {
|
|
614
|
+
selectedVariants: {
|
|
615
|
+
Button_Variants: "Secondary",
|
|
616
|
+
},
|
|
617
|
+
},
|
|
618
|
+
},
|
|
603
619
|
},
|
|
604
620
|
],
|
|
605
621
|
};
|
|
@@ -71,21 +71,16 @@ const EventListing3: React.FC<ILevoBlockBaseProps<IEventListing3>> = () => {
|
|
|
71
71
|
elementKey="paginationLeftButton"
|
|
72
72
|
disabled={query?.page === 1}
|
|
73
73
|
onClick={handlePrevious}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
</Button>
|
|
74
|
+
/>
|
|
75
|
+
|
|
77
76
|
<Typography elementKey="paginationText">
|
|
78
|
-
{query?.page}
|
|
79
|
-
{"/"}
|
|
80
|
-
{meta?.pages}
|
|
77
|
+
{`${query?.page || 0}/${meta?.pages || 0}`}
|
|
81
78
|
</Typography>
|
|
82
79
|
<Button
|
|
83
80
|
elementKey="paginationRightButton"
|
|
84
81
|
onClick={handleNext}
|
|
85
82
|
disabled={query?.page === meta?.pages}
|
|
86
|
-
|
|
87
|
-
<Icon elementKey="paginationRightIcon" />
|
|
88
|
-
</Button>
|
|
83
|
+
/>
|
|
89
84
|
</Box>
|
|
90
85
|
</Container>
|
|
91
86
|
</Section>
|