@levo-so/blocks 0.1.81 → 0.1.83

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.
@@ -0,0 +1,85 @@
1
+ import type { ILevoBlockBaseProps } from "@levo-so/studio";
2
+ import {
3
+ Box,
4
+ Button,
5
+ Container,
6
+ Heading,
7
+ Icon,
8
+ Image,
9
+ Section,
10
+ Typography,
11
+ useContentEngine,
12
+ } from "@levo-so/studio";
13
+
14
+ import type { ICards20Content } from "./cards-20.schema";
15
+
16
+ const Cards20: React.FC<ILevoBlockBaseProps<ICards20Content>> = () => {
17
+ const { data, query, setQuery, meta } = useContentEngine("events");
18
+
19
+ const handleNext = () => setQuery({ page: (query?.page || 1) + 1 });
20
+ const handlePrevious = () => setQuery({ page: (query?.page || 1) - 1 });
21
+
22
+ return (
23
+ <Section elementKey="layout">
24
+ <Container elementKey="container">
25
+ <Box elementKey="header-section">
26
+ <Box elementKey="header-content">
27
+ <Heading elementKey="title" />
28
+ <Typography elementKey="description" />
29
+ </Box>
30
+ <Button elementKey="cta-button" />
31
+ </Box>
32
+
33
+ <Box elementKey="events_levoGroup" data-levo_group>
34
+ {(data ?? []).map((_: any, index: number) => (
35
+ <Box
36
+ key={`event-${index}`}
37
+ data-levo_group_item
38
+ elementKey={`events.${index}.eventWrapper`}
39
+ >
40
+ <Image elementKey={`events.${index}.image`} alt="Event image" />
41
+
42
+ <Box elementKey={`events.${index}.content-wrapper`}>
43
+ <Heading elementKey={`events.${index}.title`} />
44
+ <Typography elementKey={`events.${index}.description`} />
45
+
46
+ <Box elementKey={`events.${index}.details_levoGroup`} data-levo_group>
47
+ {(data?.[index]?.details ?? []).map((_: any, detailIndex: number) => (
48
+ <Box
49
+ key={`detail-${detailIndex}`}
50
+ data-levo_group_item
51
+ elementKey={`events.${index}.details.${detailIndex}.detailWrapper`}
52
+ >
53
+ <Icon elementKey={`events.${index}.details.${detailIndex}.icon`} />
54
+ <Typography elementKey={`events.${index}.details.${detailIndex}.text`} />
55
+ </Box>
56
+ ))}
57
+ </Box>
58
+ </Box>
59
+ </Box>
60
+ ))}
61
+ </Box>
62
+ {(meta?.pages || 0) > 1 && (
63
+ <Box elementKey="paginationWrapper">
64
+ <Button
65
+ elementKey="paginationLeftButton"
66
+ disabled={query?.page === 1}
67
+ onClick={handlePrevious}
68
+ />
69
+
70
+ <Typography elementKey="paginationText">
71
+ {`${query?.page || 1}/${meta?.pages || 0}`}
72
+ </Typography>
73
+ <Button
74
+ elementKey="paginationRightButton"
75
+ onClick={handleNext}
76
+ disabled={query?.page === meta?.pages}
77
+ />
78
+ </Box>
79
+ )}
80
+ </Container>
81
+ </Section>
82
+ );
83
+ };
84
+
85
+ export default Cards20;
@@ -0,0 +1,611 @@
1
+ import type { IBlock } from "@levo-so/studio";
2
+
3
+ const DUMMY_IMAGE = {
4
+ id: "7141014160938075687",
5
+ location: "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH.png",
6
+ kind: "image",
7
+ mimetype: "image/png",
8
+ srcset: {
9
+ "1080w": "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp",
10
+ "1200w": "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp",
11
+ "1920w": "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp",
12
+ "320w": "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp",
13
+ "640w": "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp",
14
+ "750w": "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp",
15
+ "828w": "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp",
16
+ path: "https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp 828w",
17
+ },
18
+ };
19
+ const DUMMY_ICON = {
20
+ kind: "icon",
21
+ data: {
22
+ id: "archive-minus",
23
+ label: "Archive Minus",
24
+ tags: ["archive", "custom", "directional", "minus"],
25
+ svgCode:
26
+ '<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M14.5 11.4H9.5C9.09 11.4 8.75 11.06 8.75 10.65C8.75 10.24 9.09 9.90002 9.5 9.90002H14.5C14.91 9.90002 15.25 10.24 15.25 10.65C15.25 11.06 14.91 11.4 14.5 11.4Z" fill="var(--color-icon-primary)"/>\n<path d="M4.92957 22.75C4.50957 22.75 4.11957 22.65 3.76957 22.45C2.99957 22 2.55957 21.09 2.55957 19.96V5.86C2.55957 3.32 4.62957 1.25 7.16957 1.25H16.8196C19.3596 1.25 21.4296 3.32 21.4296 5.86V19.95C21.4296 21.08 20.9896 21.99 20.2196 22.44C19.4496 22.89 18.4396 22.84 17.4496 22.29L12.5696 19.58C12.2796 19.42 11.7096 19.42 11.4196 19.58L6.53957 22.29C5.99957 22.59 5.44957 22.75 4.92957 22.75ZM7.17957 2.75C5.46957 2.75 4.06957 4.15 4.06957 5.86V19.95C4.06957 20.54 4.23957 20.98 4.53957 21.15C4.83957 21.33 5.30957 21.27 5.81957 20.98L10.6996 18.27C11.4396 17.86 12.5596 17.86 13.2996 18.27L18.1796 20.98C18.6896 21.27 19.1596 21.33 19.4596 21.15C19.7596 20.97 19.9296 20.53 19.9296 19.95V5.86C19.9296 4.15 18.5296 2.75 16.8196 2.75H7.17957Z" fill="var(--color-icon-primary)"/>\n</svg>',
27
+ },
28
+ };
29
+
30
+ const DEFAULT_CONTENT = {
31
+ layout: null,
32
+ container: null,
33
+ "header-container": null,
34
+ title: "Upcoming Events",
35
+ "cta-button": "View All Events",
36
+ events: [
37
+ {
38
+ eventWrapper: null,
39
+ image: DUMMY_IMAGE,
40
+ "text-wrapper": null,
41
+ "text-container": null,
42
+ "caption-text": "Sponsor Event",
43
+ "date-wrapper": null,
44
+ "date-icon": DUMMY_ICON,
45
+ "publishedAt-header": "25 July, 2025",
46
+ "author-wrapper": null,
47
+ "author-image": DUMMY_ICON,
48
+ "author-info-wrapper": null,
49
+ "author-name": "Sarah Johnson",
50
+ title: "Books, Brighter Futures: A Day for Change",
51
+ description: "Over 400 children will receive new educational supplies during this Event.",
52
+ publishedAt: "25 July, 2025",
53
+ cta: "Register Now",
54
+ },
55
+ {
56
+ eventWrapper: null,
57
+ image: DUMMY_IMAGE,
58
+ "text-wrapper": null,
59
+ "text-container": null,
60
+ "caption-text": "Community Event",
61
+ "date-wrapper": null,
62
+ "date-icon": DUMMY_ICON,
63
+ "publishedAt-header": "15 August, 2025",
64
+ "author-wrapper": null,
65
+ "author-image": DUMMY_ICON,
66
+ "author-info-wrapper": null,
67
+ "author-name": "Michael Chen",
68
+ title: "Stories of Impact: Volunteers Who Inspire",
69
+ description:
70
+ "Hear from passionate volunteers about their life-changing moments while working",
71
+ publishedAt: "15 August, 2025",
72
+ cta: "Learn More",
73
+ },
74
+ {
75
+ eventWrapper: null,
76
+ image: DUMMY_IMAGE,
77
+ "text-wrapper": null,
78
+ "text-container": null,
79
+ "caption-text": "Fundraiser Event",
80
+ "date-wrapper": null,
81
+ "date-icon": DUMMY_ICON,
82
+ "publishedAt-header": "3 December, 2025",
83
+ "author-wrapper": null,
84
+ "author-image": DUMMY_ICON,
85
+ "author-info-wrapper": null,
86
+ "author-name": "Emma Davis",
87
+ title: "Voices for a Cause: Music & Giving",
88
+ description: "Experience an evening of soulful and delightful performances and storytelling.",
89
+ publishedAt: "3 December, 2025",
90
+ cta: "Get Tickets",
91
+ },
92
+ ],
93
+ paginationWrapper: null,
94
+ paginationLeftButton: "Previous",
95
+ paginationText: "",
96
+ paginationRightButton: "Next",
97
+ };
98
+
99
+ export type ICards21Content = typeof DEFAULT_CONTENT;
100
+
101
+ export const Cards21: IBlock = {
102
+ category_id: "cards",
103
+ title: "Cards 21",
104
+ key: "cards-21",
105
+ version: "v1",
106
+ prompt_description:
107
+ "Event listing with enhanced metadata including date icon, author information, and CTA buttons for each event",
108
+ content_schema: [
109
+ {
110
+ key: "layout",
111
+ label: "Layout",
112
+ field_interface: "LayoutWidget",
113
+ },
114
+ {
115
+ key: "container",
116
+ label: "Container",
117
+ field_interface: "ContainerWidget",
118
+ },
119
+ {
120
+ key: "header-container",
121
+ label: "Header Container",
122
+ field_interface: "BoxWidget",
123
+ },
124
+ {
125
+ key: "title",
126
+ label: "Title",
127
+ field_interface: "HeadingWidget",
128
+ hint: {
129
+ prompt_description:
130
+ "Block headline centered at the top of the Events section. Should clearly state the purpose of the section, such as 'Events' or a similarly concise title.",
131
+ min_characters: 5,
132
+ max_characters: 18,
133
+ },
134
+ },
135
+ {
136
+ key: "cta-button",
137
+ label: "Header CTA Button",
138
+ field_interface: "ButtonWidget",
139
+ hint: {
140
+ prompt_description:
141
+ "Call-to-action button displayed next to the main heading. Should encourage exploration, such as 'View all' or 'See more events'.",
142
+ min_characters: 6,
143
+ max_characters: 15,
144
+ },
145
+ },
146
+ {
147
+ key: "events",
148
+ label: "Events",
149
+ kind: "group",
150
+ field_interface: "BoxWidget",
151
+ hint: {
152
+ prompt_description:
153
+ "A group representing a grid of event cards. Each card highlights an upcoming or featured event with enhanced metadata. Intended for listing multiple events at a glance.",
154
+ min_items: 3,
155
+ max_items: 6,
156
+ },
157
+ fields: [
158
+ {
159
+ key: "eventWrapper",
160
+ label: "Event Wrapper",
161
+ field_interface: "BoxWidget",
162
+ },
163
+ {
164
+ key: "image",
165
+ label: "Event Image",
166
+ field_interface: "ImageWidget",
167
+ hint: {
168
+ prompt_description:
169
+ "Visual banner or cover image for the event, displayed prominently at the top of each card. Should be inviting and relevant to the event content.",
170
+ orientation: "landscape",
171
+ size: "medium",
172
+ usecase: "hero",
173
+ },
174
+ },
175
+ {
176
+ key: "text-wrapper",
177
+ label: "Text Wrapper",
178
+ field_interface: "BoxWidget",
179
+ },
180
+ {
181
+ key: "text-container",
182
+ label: "Text Container",
183
+ field_interface: "BoxWidget",
184
+ },
185
+ {
186
+ key: "date-wrapper",
187
+ label: "Date Wrapper",
188
+ field_interface: "BoxWidget",
189
+ },
190
+ {
191
+ key: "date-icon",
192
+ label: "Date Icon",
193
+ field_interface: "IconWidget",
194
+ hint: {
195
+ prompt_description:
196
+ "Small calendar or date icon displayed next to the event date. Should be simple and clearly recognizable.",
197
+ orientation: "square",
198
+ size: "icon",
199
+ usecase: "icon",
200
+ },
201
+ },
202
+ {
203
+ key: "publishedAt-header",
204
+ label: "Event Date",
205
+ field_interface: "TypographyWidget",
206
+ hint: {
207
+ prompt_description:
208
+ "Displays the date and time of the event. Format as 'Month DD, YYYY HH:MM AM/PM'. Keep it short, clear, and easily readable.",
209
+ min_characters: 16,
210
+ max_characters: 28,
211
+ },
212
+ },
213
+ {
214
+ key: "author-wrapper",
215
+ label: "Author Wrapper",
216
+ field_interface: "BoxWidget",
217
+ },
218
+ {
219
+ key: "author-image",
220
+ label: "Organizer Image",
221
+ field_interface: "IconWidget",
222
+ hint: {
223
+ prompt_description:
224
+ "Small avatar image of the event organizer or host. Should be professional and recognizable.",
225
+ orientation: "square",
226
+ size: "icon",
227
+ usecase: "avatar",
228
+ },
229
+ },
230
+ {
231
+ key: "author-info-wrapper",
232
+ label: "Author Info Wrapper",
233
+ field_interface: "BoxWidget",
234
+ },
235
+ {
236
+ key: "author-name",
237
+ label: "Organizer Name",
238
+ field_interface: "TypographyWidget",
239
+ hint: {
240
+ prompt_description:
241
+ "Name of the event organizer, host, or hosting organization. Should be credible and professional.",
242
+ min_characters: 5,
243
+ max_characters: 30,
244
+ },
245
+ },
246
+
247
+ {
248
+ key: "content-container",
249
+ label: "Content Container",
250
+ field_interface: "BoxWidget",
251
+ hint: {
252
+ prompt_description:
253
+ "A group representing a grid of event cards. Each card highlights an upcoming or featured event with enhanced metadata. Intended for listing multiple events at a glance.",
254
+ },
255
+ },
256
+ {
257
+ key: "title",
258
+ label: "Event Title",
259
+ field_interface: "TypographyWidget",
260
+ hint: {
261
+ prompt_description:
262
+ "Event card headline. Should be the name or title of the event, immediately catching the user's attention. Aim for clarity and engagement.",
263
+ min_characters: 8,
264
+ max_characters: 32,
265
+ },
266
+ },
267
+ {
268
+ key: "description",
269
+ label: "Event Description",
270
+ field_interface: "TypographyWidget",
271
+ hint: {
272
+ prompt_description:
273
+ "Short summary or description of the event, conveying value and enticing interest. Displayed in one or two lines under the event title. Keep concise yet informative.",
274
+ min_characters: 40,
275
+ max_characters: 120,
276
+ },
277
+ },
278
+ {
279
+ key: "publishedAt",
280
+ label: "Published Date",
281
+ field_interface: "TypographyWidget",
282
+ hint: {
283
+ prompt_description:
284
+ "Displays the date and time of the event. Format as 'Month DD, YYYY HH:MM AM/PM'. Keep it short, clear, and easily readable.",
285
+ min_characters: 16,
286
+ max_characters: 28,
287
+ },
288
+ },
289
+ {
290
+ key: "cta",
291
+ label: "Event CTA",
292
+ field_interface: "ButtonWidget",
293
+ hint: {
294
+ prompt_description:
295
+ "Call-to-action button for the specific event (e.g., 'Register Now', 'Learn More', 'Get Tickets'). Should be action-oriented.",
296
+ min_characters: 6,
297
+ max_characters: 15,
298
+ },
299
+ },
300
+ ],
301
+ },
302
+ {
303
+ key: "paginationWrapper",
304
+ label: "Pagination Wrapper",
305
+ field_interface: "BoxWidget",
306
+ hint: {
307
+ prompt_description:
308
+ "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.",
309
+ },
310
+ },
311
+ {
312
+ key: "paginationLeftButton",
313
+ label: "Pagination Left Button",
314
+ field_interface: "ButtonWidget",
315
+ hint: {
316
+ prompt_description:
317
+ "Button for navigating to the previous page of events. Label should be clear and descriptive, such as 'Previous'.",
318
+ min_characters: 4,
319
+ max_characters: 12,
320
+ },
321
+ },
322
+ {
323
+ key: "paginationInfo",
324
+ label: "Pagination Info",
325
+ field_interface: "TypographyWidget",
326
+ hint: {
327
+ prompt_description:
328
+ "Displays the current events page and total pages, e.g., '1/10'. Keep format concise and clear.",
329
+ min_characters: 3,
330
+ max_characters: 8,
331
+ },
332
+ },
333
+ {
334
+ key: "paginationText",
335
+ label: "Pagination Text",
336
+ field_interface: "TypographyWidget",
337
+ hint: {
338
+ prompt_description:
339
+ "Displays the current events page and total pages, e.g., '1/10'. Keep format concise and clear.",
340
+ min_characters: 3,
341
+ max_characters: 8,
342
+ },
343
+ },
344
+ {
345
+ key: "paginationRightButton",
346
+ label: "Pagination Right Button",
347
+ field_interface: "ButtonWidget",
348
+ hint: {
349
+ prompt_description:
350
+ "Button for navigating to the next page of events. Label should be clear and descriptive, such as 'Next'.",
351
+ min_characters: 4,
352
+ max_characters: 12,
353
+ },
354
+ },
355
+ ],
356
+ layouts: [
357
+ {
358
+ key: "default",
359
+ title: "Default",
360
+ styles: {
361
+ layout: {
362
+ "padding-left": "10xl",
363
+ "padding-right": "10xl",
364
+ "padding-top": "5xl",
365
+ "padding-bottom": "5xl",
366
+ tablet: {
367
+ "padding-left": "8xl",
368
+ "padding-right": "8xl",
369
+ "padding-top": "4xl",
370
+ "padding-bottom": "4xl",
371
+ },
372
+ mobile: {
373
+ "padding-left": "6xl",
374
+ "padding-right": "6xl",
375
+ "padding-top": "3xl",
376
+ "padding-bottom": "3xl",
377
+ },
378
+ filter: "none",
379
+ },
380
+ container: {
381
+ display: "flex",
382
+ "flex-direction": "column",
383
+ "align-items": "center",
384
+ "row-gap": "2xl",
385
+ filter: "none",
386
+ },
387
+ "header-container": {
388
+ display: "flex",
389
+ width: "100%",
390
+ "justify-content": "space-between",
391
+ "align-items": "center",
392
+ "margin-bottom": "3xl",
393
+ mobile: {
394
+ "flex-direction": "column",
395
+ "align-items": "flex-start",
396
+ "row-gap": "lg",
397
+ },
398
+ },
399
+ title: {
400
+ color: "text-1",
401
+ margin: "0",
402
+ },
403
+ "cta-button": {
404
+ "background-color": "transparent",
405
+ color: "color-brand",
406
+
407
+ "text-decoration": "none",
408
+ border: "none",
409
+ cursor: "pointer",
410
+ display: "flex",
411
+ "align-items": "center",
412
+ "column-gap": "xs",
413
+ },
414
+ events_levoGroup: {
415
+ display: "grid",
416
+ width: "100%",
417
+ "grid-template-columns": "repeat(3, 1fr)",
418
+ "row-gap": "5xl",
419
+ "column-gap": "5xl",
420
+ tablet: {
421
+ "grid-template-columns": "repeat(1, minmax(0, 1fr))",
422
+ filter: "none",
423
+ "column-gap": "base",
424
+ },
425
+ mobile: {
426
+ "grid-template-columns": "repeat(1, 1fr)",
427
+ "row-gap": "lg",
428
+ filter: "none",
429
+ },
430
+ filter: "none",
431
+ },
432
+
433
+ events: Array(3)
434
+ .fill(0)
435
+ ?.map((v) => {
436
+ return {
437
+ eventWrapper: {
438
+ "border-radius": "xl",
439
+ overflow: "hidden",
440
+ "box-shadow": "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
441
+ position: "relative",
442
+ },
443
+ image: {
444
+ width: "100%",
445
+ height: "200px",
446
+ "object-fit": "cover",
447
+ },
448
+ "text-wrapper": {
449
+ "padding-left": "none",
450
+ "padding-top": "none",
451
+ "padding-right": "none",
452
+ "padding-bottom": "2xl",
453
+ display: "flex",
454
+ "flex-direction": "column",
455
+ "row-gap": "lg",
456
+ filter: "none",
457
+ },
458
+ "text-container": {
459
+ display: "flex",
460
+ "justify-content": "start",
461
+ "align-items": "center",
462
+ "column-gap": "lg",
463
+ "margin-bottom": "base",
464
+ filter: "none",
465
+ "border-bottom": "1px solid",
466
+ "padding-top": "xs",
467
+ "padding-bottom": "xs",
468
+ "padding-left": "base",
469
+ "padding-right": "base",
470
+ },
471
+ "caption-text": {
472
+ color: "white",
473
+ "font-size": "xs",
474
+ "background-color": "var(--color-brand)",
475
+ "font-weight": 500,
476
+ "padding-left": "sm",
477
+ "padding-right": "sm",
478
+ "padding-top": "2xs",
479
+ "padding-bottom": "2xs",
480
+ "border-radius": "3xl",
481
+ },
482
+ "date-wrapper": {
483
+ display: "flex",
484
+ "align-items": "center",
485
+ "column-gap": "xs",
486
+ },
487
+ "date-icon": {
488
+ width: "16px",
489
+ height: "16px",
490
+ },
491
+ "publishedAt-header": {
492
+ "font-size": "sm",
493
+ color: "var(--color-text-2)",
494
+ "font-weight": 500,
495
+ },
496
+ "author-wrapper": {
497
+ display: "flex",
498
+ "align-items": "center",
499
+ "column-gap": "xs",
500
+ },
501
+ "author-image": {
502
+ height: "24px",
503
+ width: "24px",
504
+ "border-radius": "100%",
505
+ "object-fit": "cover",
506
+ },
507
+ "author-name": {
508
+ "font-size": "sm",
509
+ "font-weight": 500,
510
+ color: "var(--color-text-1)",
511
+ },
512
+ title: {
513
+ "font-weight": 600,
514
+ "font-size": "xl",
515
+ "margin-bottom": "xs",
516
+ color: "var(--color-text-1)",
517
+ filter: "none",
518
+ },
519
+ description: {
520
+ overflow: "hidden",
521
+ display: "-webkit-box",
522
+ "-webkit-box-orient": "vertical",
523
+ "-webkit-line-clamp": 3,
524
+ color: "var(--color-text-2)",
525
+ "line-height": 1.5,
526
+ "margin-bottom": "base",
527
+ filter: "none",
528
+ },
529
+ publishedAt: {
530
+ display: "none",
531
+ },
532
+ cta: {
533
+ "background-color": "var(--color-brand)",
534
+ color: "white",
535
+ "padding-top": "xs",
536
+ "padding-bottom": "xs",
537
+ "padding-left": "base",
538
+ "padding-right": "base",
539
+ "border-radius": "md",
540
+ "font-size": "sm",
541
+ "font-weight": 500,
542
+ border: "none",
543
+ cursor: "pointer",
544
+ "align-self": "flex-start",
545
+ },
546
+ "content-container": {
547
+ filter: "none",
548
+ "padding-left": "base",
549
+ "padding-right": "base",
550
+ },
551
+ };
552
+ }),
553
+ paginationWrapper: {
554
+ width: "100%",
555
+ display: "flex",
556
+ "justify-content": "center",
557
+ "column-gap": "lg",
558
+ "align-items": "center",
559
+ },
560
+ paginationLeftButton: {
561
+ "background-color": "transparent",
562
+ border: "1px solid var(--color-border)",
563
+ "border-radius": "md",
564
+ "padding-top": "xs",
565
+ "padding-bottom": "xs",
566
+ "padding-left": "base",
567
+ "padding-right": "base",
568
+ cursor: "pointer",
569
+ },
570
+ paginationText: {
571
+ color: "text-1",
572
+ },
573
+ paginationRightButton: {
574
+ "background-color": "transparent",
575
+ border: "1px solid var(--color-border)",
576
+ "border-radius": "md",
577
+ "padding-top": "xs",
578
+ "padding-bottom": "xs",
579
+ "padding-left": "base",
580
+ "padding-right": "base",
581
+ cursor: "pointer",
582
+ },
583
+ paginationLeftIcon: {
584
+ height: "16px",
585
+ width: "16px",
586
+ },
587
+ paginationRightIcon: {
588
+ height: "16px",
589
+ width: "16px",
590
+ },
591
+ },
592
+ content: DEFAULT_CONTENT,
593
+ config: {
594
+ title: {
595
+ selectedVariants: {
596
+ Heading_Level: "H2",
597
+ },
598
+ heading: {
599
+ level: 2,
600
+ },
601
+ },
602
+
603
+ "cta-button": {
604
+ selectedVariants: {
605
+ Button_Variants: "Secondary",
606
+ },
607
+ },
608
+ },
609
+ },
610
+ ],
611
+ };