@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.
Files changed (115) hide show
  1. package/package.json +2 -2
  2. package/src/blocks/about-us/about-us-1.schema.ts +26 -12
  3. package/src/blocks/about-us/about-us-2.schema.ts +269 -0
  4. package/src/blocks/about-us/about-us-2.tsx +47 -0
  5. package/src/blocks/blogs/blog-listing-1.schema.ts +64 -10
  6. package/src/blocks/blogs/blog-listing-1.tsx +79 -56
  7. package/src/blocks/blogs/blog-listing-2.schema.ts +3141 -31
  8. package/src/blocks/blogs/blog-listing-2.tsx +16 -11
  9. package/src/blocks/blogs/blog-listing-3.schema.ts +2476 -0
  10. package/src/blocks/blogs/blog-listing-3.tsx +84 -0
  11. package/src/blocks/blogs/blog-post-1.schema.ts +17 -9
  12. package/src/blocks/blogs/blog-post-2.schema.ts +13 -56
  13. package/src/blocks/blogs/blog-post-3.schema.ts +284 -0
  14. package/src/blocks/blogs/blog-post-3.tsx +58 -0
  15. package/src/blocks/cards/cards-10.schema.ts +579 -0
  16. package/src/blocks/cards/cards-10.tsx +2 -0
  17. package/src/blocks/cards/cards-11.schema.ts +514 -36
  18. package/src/blocks/cards/cards-13.schema.ts +615 -0
  19. package/src/blocks/cards/cards-13.tsx +67 -0
  20. package/src/blocks/cards/cards-2.schema.ts +14 -17
  21. package/src/blocks/cards/cards-3.schema.ts +15 -25
  22. package/src/blocks/cards/cards-4.schema.ts +22 -44
  23. package/src/blocks/cards/cards-4.tsx +39 -39
  24. package/src/blocks/cards/cards-5.schema.ts +15 -34
  25. package/src/blocks/cards/cards-6.schema.ts +1500 -0
  26. package/src/blocks/cards/cards-6.tsx +11 -7
  27. package/src/blocks/cards/cards-7.schema.ts +1772 -27
  28. package/src/blocks/cards/cards-7.tsx +32 -0
  29. package/src/blocks/cards/cards-8.schema.ts +9 -9
  30. package/src/blocks/contact-us/contact-us-1.schema.ts +13 -6
  31. package/src/blocks/contact-us/contact-us-2.schema.ts +43 -43
  32. package/src/blocks/content/content-1.schema.ts +45 -67
  33. package/src/blocks/content/content-2.schema.ts +14 -11
  34. package/src/blocks/content/content-3.schema.ts +17 -115
  35. package/src/blocks/content/content-3.tsx +1 -0
  36. package/src/blocks/content/content-5.tsx +1 -0
  37. package/src/blocks/content/content-6.tsx +1 -0
  38. package/src/blocks/content/content-7.schema.ts +723 -0
  39. package/src/blocks/content/content-7.tsx +53 -0
  40. package/src/blocks/cta/cta-1.schema.ts +18 -26
  41. package/src/blocks/cta/cta-3.schema.ts +60 -0
  42. package/src/blocks/event/event-details.schema.ts +30 -35
  43. package/src/blocks/event/event-details.tsx +74 -79
  44. package/src/blocks/event/event-listing-2.schema.ts +85 -26
  45. package/src/blocks/event/event-listing-2.tsx +76 -52
  46. package/src/blocks/event/event-listing-3.schema.ts +58 -42
  47. package/src/blocks/event/event-listing-3.tsx +4 -9
  48. package/src/blocks/event/event-listing-4.schema.ts +3528 -0
  49. package/src/blocks/event/event-listing-4.tsx +97 -0
  50. package/src/blocks/event/event-listing.schema.ts +81 -86
  51. package/src/blocks/event/event-listing.tsx +1 -3
  52. package/src/blocks/faq/faq-1.schema.ts +13 -10
  53. package/src/blocks/faq/faq-2.schema.ts +12 -10
  54. package/src/blocks/features/features-1/variants/default.ts +12 -3
  55. package/src/blocks/features/features-2.schema.ts +192 -59
  56. package/src/blocks/features/features-3.schema.ts +11 -25
  57. package/src/blocks/features/features-4.schema.ts +20 -35
  58. package/src/blocks/features/features-5.schema.ts +18 -37
  59. package/src/blocks/footer/footer-1.schema.ts +28 -5
  60. package/src/blocks/footer/footer-2.schema.ts +18 -3
  61. package/src/blocks/footer/footer-3.schema.ts +85 -160
  62. package/src/blocks/footer/footer-3.tsx +1 -2
  63. package/src/blocks/footer/footer-4.schema.ts +10 -5
  64. package/src/blocks/footer/footer-4.tsx +1 -1
  65. package/src/blocks/footer/footer-5.schema.ts +10 -0
  66. package/src/blocks/footer/footer-5.tsx +11 -3
  67. package/src/blocks/footer/footer-6.schema.ts +730 -0
  68. package/src/blocks/footer/footer-6.tsx +100 -0
  69. package/src/blocks/hero/hero-1.schema.ts +165 -185
  70. package/src/blocks/hero/hero-10.schema.ts +175 -0
  71. package/src/blocks/hero/hero-10.tsx +35 -0
  72. package/src/blocks/hero/hero-2.schema.ts +60 -104
  73. package/src/blocks/hero/hero-2.tsx +11 -3
  74. package/src/blocks/hero/hero-3.schema.ts +68 -64
  75. package/src/blocks/hero/hero-4.schema.ts +148 -48
  76. package/src/blocks/hero/hero-5.schema.ts +29 -23
  77. package/src/blocks/hero/hero-6.schema.ts +28 -66
  78. package/src/blocks/hero/hero-7.schema.ts +34 -37
  79. package/src/blocks/hero/hero-8.schema.ts +5 -1
  80. package/src/blocks/index.ts +11 -0
  81. package/src/blocks/logos/logos-1.schema.ts +10 -4
  82. package/src/blocks/navbar/navbar-1.schema.ts +3 -5
  83. package/src/blocks/navbar/navbar-1.tsx +5 -19
  84. package/src/blocks/navbar/navbar-2.schema.ts +2 -4
  85. package/src/blocks/navbar/navbar-2.tsx +4 -18
  86. package/src/blocks/navbar/navbar-3.schema.ts +6834 -0
  87. package/src/blocks/navbar/navbar-3.tsx +551 -0
  88. package/src/blocks/pricing/pricing-1.schema.ts +23 -37
  89. package/src/blocks/products/products-listing-1.schema.ts +73 -76
  90. package/src/blocks/profile/profile-1.schema.ts +399 -0
  91. package/src/blocks/profile/profile-1.tsx +64 -0
  92. package/src/blocks/stats/stats-1.schema.ts +34 -3
  93. package/src/blocks/stats/variants/default.ts +0 -1
  94. package/src/blocks/stats/variants/hero.ts +2 -13
  95. package/src/blocks/team/team-1.schema.ts +50 -22
  96. package/src/blocks/team/team-1.tsx +9 -3
  97. package/src/blocks/team/team-2.schema.ts +96 -167
  98. package/src/blocks/team/team-3.schema.ts +32 -49
  99. package/src/blocks/team/team-4.schema.ts +551 -0
  100. package/src/blocks/team/team-4.tsx +59 -0
  101. package/src/blocks/termsAndPrivacy/terms-and-conditions-1.schema.ts +10 -20
  102. package/src/blocks/testimonial/testimonial-1.schema.ts +14 -8
  103. package/src/blocks/testimonial/testimonial-2.schema.ts +2 -2
  104. package/src/blocks/testimonial/testimonial-3.schema.ts +12 -18
  105. package/src/blocks/testimonial/testimonial-4.schema.ts +131 -126
  106. package/src/blocks/testimonial/testimonial-5/variants/default.ts +510 -0
  107. package/src/blocks/testimonial/testimonial-5/variants/index.ts +4 -0
  108. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithLogo.ts +887 -0
  109. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithRatings.ts +923 -0
  110. package/src/blocks/testimonial/testimonial-5.schema.ts +62 -246
  111. package/src/blocks/testimonial/testimonial-5.tsx +32 -8
  112. package/src/blocks/testimonial/testimonial-6.schema.ts +986 -23
  113. package/src/blocks/testimonial/testimonial-6.tsx +107 -57
  114. package/src/schemas/blocks.ts +22 -0
  115. package/src/schemas/categories.ts +6 -0
@@ -0,0 +1,53 @@
1
+ import {
2
+ Box,
3
+ Button,
4
+ Container,
5
+ Heading,
6
+ Image,
7
+ Section,
8
+ Typography,
9
+ type ILevoBlockBaseProps,
10
+ } from "@levo-so/studio";
11
+ import React from "react";
12
+
13
+ import { type IContent7Content } from "./content-7.schema";
14
+
15
+ const Content7: React.FC<ILevoBlockBaseProps<IContent7Content>> = ({
16
+ content,
17
+ }) => (
18
+ <Section elementKey="layout">
19
+ <Container elementKey="container">
20
+ <Box elementKey="header_wrapper">
21
+ <Heading elementKey="title" />
22
+ <Button elementKey="view_all_cta" />
23
+ </Box>
24
+ <Box elementKey="services_levoGroup" data-levo_group>
25
+ {(content.services ?? []).map((_: any, index: number) => (
26
+ <Box
27
+ key={index}
28
+ data-levo_group_item
29
+ elementKey={`services.${index}.service_item`}
30
+ >
31
+ <Box elementKey={`services.${index}.left_container`}>
32
+ <Heading elementKey={`services.${index}.service_title`} />
33
+ </Box>
34
+ <Box elementKey={`services.${index}.right_container`}>
35
+ <Image
36
+ elementKey={`services.${index}.service_image`}
37
+ alt="Service image"
38
+ />
39
+ <Box elementKey={`services.${index}.content_wrapper`}>
40
+ <Typography
41
+ elementKey={`services.${index}.service_description`}
42
+ />
43
+ <Button elementKey={`services.${index}.cta`} />
44
+ </Box>
45
+ </Box>
46
+ </Box>
47
+ ))}
48
+ </Box>
49
+ </Container>
50
+ </Section>
51
+ );
52
+
53
+ export default Content7;
@@ -25,23 +25,23 @@ const DEFAULT_CONTENT = {
25
25
  id: "lDiFGcHOy3Il",
26
26
  filename: "image.png",
27
27
  kind: "image",
28
- location: "https://space.levo.in.net/W6OEVMW8/image-rSCelHPGNUnO.png",
28
+ location: "https://static.levostg.online/W6OEVMW8/image-rSCelHPGNUnO.png",
29
29
  srcset: {
30
30
  "1080w":
31
- "https://space.levo.in.net/W6OEVMW8/image-rSCelHPGNUnO-1080w.webp",
31
+ "https://static.levostg.online/W6OEVMW8/image-rSCelHPGNUnO-1080w.webp",
32
32
  "1200w":
33
- "https://space.levo.in.net/W6OEVMW8/image-rSCelHPGNUnO-1200w.webp",
33
+ "https://static.levostg.online/W6OEVMW8/image-rSCelHPGNUnO-1200w.webp",
34
34
  "1920w":
35
- "https://space.levo.in.net/W6OEVMW8/image-rSCelHPGNUnO-1920w.webp",
35
+ "https://static.levostg.online/W6OEVMW8/image-rSCelHPGNUnO-1920w.webp",
36
36
  "320w":
37
- "https://space.levo.in.net/W6OEVMW8/image-rSCelHPGNUnO-320w.webp",
37
+ "https://static.levostg.online/W6OEVMW8/image-rSCelHPGNUnO-320w.webp",
38
38
  "640w":
39
- "https://space.levo.in.net/W6OEVMW8/image-rSCelHPGNUnO-640w.webp",
39
+ "https://static.levostg.online/W6OEVMW8/image-rSCelHPGNUnO-640w.webp",
40
40
  "750w":
41
- "https://space.levo.in.net/W6OEVMW8/image-rSCelHPGNUnO-750w.webp",
41
+ "https://static.levostg.online/W6OEVMW8/image-rSCelHPGNUnO-750w.webp",
42
42
  "828w":
43
- "https://space.levo.in.net/W6OEVMW8/image-rSCelHPGNUnO-828w.webp",
44
- path: "https://space.levo.in.net/W6OEVMW8/image-rSCelHPGNUnO-320w.webp 320w, https://space.levo.in.net/W6OEVMW8/image-rSCelHPGNUnO-1080w.webp 1080w, https://space.levo.in.net/W6OEVMW8/image-rSCelHPGNUnO-828w.webp 828w, https://space.levo.in.net/W6OEVMW8/image-rSCelHPGNUnO-640w.webp 640w, https://space.levo.in.net/W6OEVMW8/image-rSCelHPGNUnO-1200w.webp 1200w, https://space.levo.in.net/W6OEVMW8/image-rSCelHPGNUnO-750w.webp 750w, https://space.levo.in.net/W6OEVMW8/image-rSCelHPGNUnO-1920w.webp 1920w",
43
+ "https://static.levostg.online/W6OEVMW8/image-rSCelHPGNUnO-828w.webp",
44
+ path: "https://static.levostg.online/W6OEVMW8/image-rSCelHPGNUnO-320w.webp 320w, https://static.levostg.online/W6OEVMW8/image-rSCelHPGNUnO-1080w.webp 1080w, https://static.levostg.online/W6OEVMW8/image-rSCelHPGNUnO-828w.webp 828w, https://static.levostg.online/W6OEVMW8/image-rSCelHPGNUnO-640w.webp 640w, https://static.levostg.online/W6OEVMW8/image-rSCelHPGNUnO-1200w.webp 1200w, https://static.levostg.online/W6OEVMW8/image-rSCelHPGNUnO-750w.webp 750w, https://static.levostg.online/W6OEVMW8/image-rSCelHPGNUnO-1920w.webp 1920w",
45
45
  },
46
46
  mimetype: "image/png",
47
47
  },
@@ -143,7 +143,6 @@ export const Cta1: IBlock = {
143
143
  "padding-bottom": "6xl",
144
144
  "padding-left": "xl",
145
145
  "padding-right": "xl",
146
- "background-color": "background-1",
147
146
  tablet: {
148
147
  "padding-top": "4xl",
149
148
  "padding-bottom": "4xl",
@@ -182,20 +181,15 @@ export const Cta1: IBlock = {
182
181
  "justify-content": "space-between",
183
182
  },
184
183
  title: {
185
- "font-size": "5xl",
186
- "font-weight": "700",
187
184
  color: "text-1",
188
- "line-height": "1.2",
189
185
  "margin-bottom": "2xl",
190
186
  tablet: {
191
- "font-size": "4xl",
192
187
  filter: "none",
193
188
  "text-align": "center",
194
189
  "margin-bottom": "xl",
195
190
  "max-width": "100%",
196
191
  },
197
192
  mobile: {
198
- "font-size": "2xl",
199
193
  filter: "none",
200
194
  "text-align": "center",
201
195
  "margin-bottom": "lg",
@@ -237,9 +231,6 @@ export const Cta1: IBlock = {
237
231
  "padding-bottom": "xs",
238
232
  "padding-left": "2xl",
239
233
  "padding-right": "2xl",
240
- "border-radius": "lg",
241
- "font-size": "base",
242
- "font-weight": 600,
243
234
  display: "flex",
244
235
  "align-items": "center",
245
236
  "column-gap": "xs",
@@ -252,7 +243,6 @@ export const Cta1: IBlock = {
252
243
  "padding-left": "xl",
253
244
  "padding-right": "xl",
254
245
  filter: "none",
255
- "border-radius": "base",
256
246
  "min-width": "100%",
257
247
  width: "auto",
258
248
  "border-style": "none",
@@ -263,7 +253,6 @@ export const Cta1: IBlock = {
263
253
  "padding-bottom": "xs",
264
254
  "padding-left": "xl",
265
255
  "padding-right": "xl",
266
- "font-size": "sm",
267
256
  filter: "none",
268
257
  width: "100%",
269
258
  "min-width": "100%",
@@ -286,9 +275,6 @@ export const Cta1: IBlock = {
286
275
  "padding-bottom": "xs",
287
276
  "padding-left": "2xl",
288
277
  "padding-right": "2xl",
289
- "border-radius": "lg",
290
- "font-size": "base",
291
- "font-weight": 600,
292
278
  "min-width": "100%",
293
279
  tablet: {
294
280
  filter: "none",
@@ -307,7 +293,6 @@ export const Cta1: IBlock = {
307
293
  "padding-bottom": "xs",
308
294
  "padding-left": "xl",
309
295
  "padding-right": "xl",
310
- "font-size": "sm",
311
296
  "min-width": "100%",
312
297
  },
313
298
  width: "100%",
@@ -332,14 +317,21 @@ export const Cta1: IBlock = {
332
317
  },
333
318
  description: {
334
319
  filter: "none",
335
- "font-weight": 500,
336
- "font-size": "xl",
320
+ color: "text-2",
337
321
  "text-align": "left",
338
322
  "max-width": "500px",
339
323
  },
340
324
  },
341
325
  content: DEFAULT_CONTENT,
342
326
  config: {
327
+ title: {
328
+ heading: {
329
+ level: 2,
330
+ },
331
+ selectedVariants: {
332
+ Heading_Level: "H2",
333
+ },
334
+ },
343
335
  "ctas.0.button": {
344
336
  selectedVariants: {
345
337
  Button_Variants: "Primary",
@@ -62,6 +62,15 @@ const DEFAULT_CONTENT = {
62
62
  ],
63
63
  };
64
64
 
65
+ const DEFAULT_CONTENT_2 = {
66
+ layout: null,
67
+ container: null,
68
+ left_content: null,
69
+ title: "Ready to Give Them Care They Deserve?",
70
+ description: "Join us in making a difference in the lives of those in need.",
71
+ cta_wrapper: null,
72
+ ctas: [{ button: "Contact Us" }],
73
+ };
65
74
  export type ICta3Content = typeof DEFAULT_CONTENT;
66
75
 
67
76
  export const Cta3: IBlock = {
@@ -152,5 +161,56 @@ export const Cta3: IBlock = {
152
161
  content: DEFAULT_CONTENT,
153
162
  config: {},
154
163
  },
164
+ {
165
+ key: "cta-wth-bg-img ",
166
+ title: "CTA with Background Image",
167
+ styles: {
168
+ layout: {
169
+ "padding-top": "3xl",
170
+ "padding-bottom": "3xl",
171
+ "background-image":
172
+ 'url("https://static.levostg.online/W6OEVMW8/defaultblue-tryFJ012mgyH-1920w-pKkeQlte7lkYh.webp")',
173
+ "background-position": "50% 50%",
174
+ "background-size": "cover",
175
+ },
176
+ container: {
177
+ display: "grid",
178
+ "grid-template-columns": "1fr 1fr",
179
+ "column-gap": "xl",
180
+ "align-items": "center",
181
+ },
182
+ left_content: {
183
+ display: "flex",
184
+ "flex-direction": "column",
185
+ "row-gap": "lg",
186
+ },
187
+ title: {
188
+ "font-size": "3xl",
189
+ "font-weight": "700",
190
+ color: "text-1",
191
+ },
192
+ cta_wrapper: {
193
+ display: "flex",
194
+ "flex-direction": "row",
195
+ "column-gap": "base",
196
+ },
197
+ images_levoGroup: {
198
+ display: "grid",
199
+ "grid-template-columns": "1fr 1fr",
200
+ "column-gap": "base",
201
+ },
202
+ "images.$.image": {
203
+ "border-radius": "base",
204
+ "object-fit": "cover",
205
+ height: "300px",
206
+ width: "300px",
207
+ },
208
+ description: {
209
+ display: "none",
210
+ },
211
+ },
212
+ content: DEFAULT_CONTENT_2,
213
+ config: {},
214
+ },
155
215
  ],
156
216
  };
@@ -194,6 +194,11 @@ export const EventDetails: IBlock = {
194
194
  prompt_description: "Event start date in readable format.",
195
195
  },
196
196
  },
197
+ {
198
+ key: "id",
199
+ label: "Event ID",
200
+ field_interface: "TypographyWidget",
201
+ },
197
202
  {
198
203
  key: "end-date-wrapper",
199
204
  label: "End Date Wrapper",
@@ -505,14 +510,15 @@ export const EventDetails: IBlock = {
505
510
  "hero-card": {
506
511
  display: "flex",
507
512
  "flex-direction": "column",
508
- "border-radius": "16px",
509
- "box-shadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1)",
513
+ "border-radius": "base",
514
+ "box-shadow": "default",
510
515
  overflow: "hidden",
511
516
  },
512
517
  "hero-image": {
513
518
  width: "100%",
514
519
  height: "400px",
515
520
  "object-fit": "cover",
521
+ "border-radius": "base",
516
522
  mobile: {
517
523
  height: "250px",
518
524
  },
@@ -524,13 +530,8 @@ export const EventDetails: IBlock = {
524
530
  "padding-right": "lg",
525
531
  },
526
532
  title: {
527
- "font-size": "2xl",
528
- "font-weight": "700",
529
533
  color: "text-1",
530
534
  "margin-bottom": "base",
531
- mobile: {
532
- "font-size": "xl",
533
- },
534
535
  },
535
536
  "event-info": {
536
537
  display: "flex",
@@ -548,12 +549,10 @@ export const EventDetails: IBlock = {
548
549
  height: "16px",
549
550
  },
550
551
  "start-date": {
551
- "font-size": "sm",
552
552
  color: "text-2",
553
553
  "text-transform": "capitalize",
554
554
  },
555
555
  starts_at: {
556
- "font-size": "sm",
557
556
  color: "text-2",
558
557
  "text-transform": "capitalize",
559
558
  },
@@ -567,12 +566,10 @@ export const EventDetails: IBlock = {
567
566
  height: "16px",
568
567
  },
569
568
  "end-date": {
570
- "font-size": "sm",
571
569
  color: "text-2",
572
570
  "text-transform": "capitalize",
573
571
  },
574
572
  ends_at: {
575
- "font-size": "sm",
576
573
  color: "text-2",
577
574
  "text-transform": "capitalize",
578
575
  },
@@ -586,7 +583,6 @@ export const EventDetails: IBlock = {
586
583
  height: "16px",
587
584
  },
588
585
  "time-range": {
589
- "font-size": "sm",
590
586
  color: "text-2",
591
587
  },
592
588
  "kind-wrapper": {
@@ -599,7 +595,6 @@ export const EventDetails: IBlock = {
599
595
  height: "16px",
600
596
  },
601
597
  kind: {
602
- "font-size": "sm",
603
598
  color: "text-2",
604
599
  "text-transform": "capitalize",
605
600
  },
@@ -613,7 +608,6 @@ export const EventDetails: IBlock = {
613
608
  height: "16px",
614
609
  },
615
610
  timing: {
616
- "font-size": "sm",
617
611
  color: "text-2",
618
612
  "text-transform": "capitalize",
619
613
  },
@@ -630,8 +624,8 @@ export const EventDetails: IBlock = {
630
624
  display: "flex",
631
625
  "flex-direction": "column",
632
626
  "row-gap": "xl",
633
- "border-radius": "16px",
634
- "box-shadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1)",
627
+ "border-radius": "base",
628
+ "box-shadow": "default",
635
629
  "padding-top": "lg",
636
630
  "padding-bottom": "lg",
637
631
  "padding-left": "lg",
@@ -647,20 +641,15 @@ export const EventDetails: IBlock = {
647
641
  "padding-bottom": "base",
648
642
  "padding-left": "xl",
649
643
  "padding-right": "xl",
650
- "border-radius": "8px",
651
- "font-weight": "600",
652
644
  "align-self": "flex-start",
653
645
  },
654
646
  "registration-ended": {
655
- "font-size": "base",
656
647
  color: "text-2",
657
648
  "padding-top": "base",
658
649
  "padding-bottom": "base",
659
650
  },
660
651
  description: {
661
- "font-size": "base",
662
652
  color: "text-2",
663
- "line-height": "1.6",
664
653
  },
665
654
  "contact-sidebar": {
666
655
  "flex-basis": "33.33%",
@@ -669,16 +658,14 @@ export const EventDetails: IBlock = {
669
658
  },
670
659
  },
671
660
  "contact-card": {
672
- "border-radius": "16px",
673
- "box-shadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1)",
661
+ "border-radius": "base",
662
+ "box-shadow": "default",
674
663
  "padding-top": "lg",
675
664
  "padding-bottom": "lg",
676
665
  "padding-left": "lg",
677
666
  "padding-right": "lg",
678
667
  },
679
668
  "contact-title": {
680
- "font-size": "xl",
681
- "font-weight": "700",
682
669
  color: "text-1",
683
670
  "margin-bottom": "base",
684
671
  },
@@ -693,12 +680,9 @@ export const EventDetails: IBlock = {
693
680
  "row-gap": "xs",
694
681
  },
695
682
  "name-label": {
696
- "font-size": "base",
697
683
  color: "text-2",
698
684
  },
699
685
  "name-value": {
700
- "font-size": "base",
701
- "font-weight": "500",
702
686
  color: "text-1",
703
687
  },
704
688
  "email-field": {
@@ -707,12 +691,9 @@ export const EventDetails: IBlock = {
707
691
  "row-gap": "xs",
708
692
  },
709
693
  "email-label": {
710
- "font-size": "base",
711
694
  color: "text-2",
712
695
  },
713
696
  "email-value": {
714
- "font-size": "base",
715
- "font-weight": "500",
716
697
  color: "text-1",
717
698
  },
718
699
  "phone-field": {
@@ -721,17 +702,31 @@ export const EventDetails: IBlock = {
721
702
  "row-gap": "xs",
722
703
  },
723
704
  "phone-label": {
724
- "font-size": "base",
725
705
  color: "text-2",
726
706
  },
727
707
  "phone-value": {
728
- "font-size": "base",
729
- "font-weight": "500",
730
708
  color: "text-1",
731
709
  },
732
710
  },
733
711
  content: DEFAULT_CONTENT,
734
- config: {},
712
+ config: {
713
+ title: {
714
+ selectedVariants: {
715
+ Heading_Level: "H2",
716
+ },
717
+ heading: {
718
+ level: 2,
719
+ },
720
+ },
721
+ "contact-title": {
722
+ selectedVariants: {
723
+ Heading_Level: "H4",
724
+ },
725
+ heading: {
726
+ level: 2,
727
+ },
728
+ },
729
+ },
735
730
  },
736
731
  ],
737
732
  };
@@ -1,13 +1,13 @@
1
1
  import type { ILevoBlockBaseProps } from "@levo-so/studio";
2
2
  import {
3
3
  Box,
4
- Button,
5
4
  Container,
6
5
  Heading,
7
6
  Icon,
8
7
  Image,
9
8
  Section,
10
9
  Typography,
10
+ RegisterModal,
11
11
  } from "@levo-so/studio";
12
12
  import dayjs from "dayjs";
13
13
 
@@ -15,93 +15,88 @@ import type { IEventDetailsContent } from "./event-details.schema";
15
15
 
16
16
  const EventDetails: React.FC<ILevoBlockBaseProps<IEventDetailsContent>> = ({
17
17
  content,
18
- }) => {
19
- return (
20
- <Section elementKey="layout">
21
- <Container elementKey="container">
22
- <Box elementKey="main-wrapper">
23
- <Box elementKey="hero-card">
24
- <Image
25
- elementKey="hero-image"
26
- alt="Event cover image"
27
- width={800}
28
- height={400}
29
- />
30
- <Box elementKey="hero-content">
31
- <Heading elementKey="title" />
32
- <Box elementKey="event-info">
33
- <Box elementKey="start-date-wrapper">
34
- <Icon elementKey="date-icon" />
35
- <Typography elementKey="starts_at">
36
- {dayjs(content?.starts_at).format("MMM D, YYYY")}
37
- </Typography>
38
- </Box>
39
- <Box elementKey="end-date-wrapper">
40
- <Icon elementKey="end-date-icon" />
41
- <Typography elementKey="ends_at">
42
- {dayjs(content?.ends_at).format("MMM D, YYYY")}
43
- </Typography>
44
- </Box>
45
- <Box elementKey="time-wrapper">
46
- <Icon elementKey="time-icon" />
47
- <Typography elementKey="time-range">
48
- {`${dayjs(content?.starts_at).format("hh:mm A")} - ${dayjs(content?.ends_at).format("hh:mm A")}`}
49
- </Typography>
50
- </Box>
51
- <Box elementKey="kind-wrapper">
52
- <Icon elementKey="kind-icon" />
53
- <Typography elementKey="kind">
54
- {content?.kind?.replace(/_/g, " ")}
55
- </Typography>
56
- </Box>
57
- <Box elementKey="timing-wrapper">
58
- <Icon elementKey="timing-icon" />
59
- <Typography elementKey="timing">
60
- {content?.timing?.replace(/_/g, " ")}
61
- </Typography>
62
- </Box>
18
+ }) => (
19
+ <Section elementKey="layout">
20
+ <Container elementKey="container">
21
+ <Box elementKey="main-wrapper">
22
+ <Box elementKey="hero-card">
23
+ <Image
24
+ elementKey="hero-image"
25
+ alt="Event cover image"
26
+ width={800}
27
+ height={400}
28
+ />
29
+ <Box elementKey="hero-content">
30
+ <Heading elementKey="title" />
31
+ <Box elementKey="event-info">
32
+ <Box elementKey="start-date-wrapper">
33
+ <Icon elementKey="date-icon" />
34
+ <Typography elementKey="starts_at">
35
+ {dayjs(content?.starts_at).format("MMM D, YYYY")}
36
+ </Typography>
37
+ </Box>
38
+ <Box elementKey="end-date-wrapper">
39
+ <Icon elementKey="end-date-icon" />
40
+ <Typography elementKey="ends_at">
41
+ {dayjs(content?.ends_at).format("MMM D, YYYY")}
42
+ </Typography>
43
+ </Box>
44
+ <Box elementKey="time-wrapper">
45
+ <Icon elementKey="time-icon" />
46
+ <Typography elementKey="time-range">
47
+ {`${dayjs(content?.starts_at).format("hh:mm A")} - ${dayjs(content?.ends_at).format("hh:mm A")}`}
48
+ </Typography>
49
+ </Box>
50
+ <Box elementKey="kind-wrapper">
51
+ <Icon elementKey="kind-icon" />
52
+ <Typography elementKey="kind">
53
+ {content?.kind?.replace(/_/g, " ")}
54
+ </Typography>
55
+ </Box>
56
+ <Box elementKey="timing-wrapper">
57
+ <Icon elementKey="timing-icon" />
58
+ <Typography elementKey="timing">
59
+ {content?.timing?.replace(/_/g, " ")}
60
+ </Typography>
63
61
  </Box>
64
62
  </Box>
65
63
  </Box>
64
+ </Box>
66
65
 
67
- <Box elementKey="content-section">
68
- <Box elementKey="main-content">
69
- {(
70
- content?.ends_at
71
- ? new Date(content?.ends_at) > new Date()
72
- : true
73
- ) ? (
74
- <Button elementKey="register-button" />
75
- ) : (
76
- <Typography elementKey="registration-ended" />
77
- )}
78
- <Typography elementKey="description" />
79
- </Box>
66
+ <Box elementKey="content-section">
67
+ <Box elementKey="main-content">
68
+ {content?.id ? (
69
+ <RegisterModal
70
+ eventID={content?.id as string}
71
+ title={content?.title}
72
+ />
73
+ ) : null}
74
+ <Typography elementKey="description" />
75
+ </Box>
80
76
 
81
- <Box elementKey="contact-sidebar">
82
- <Box elementKey="contact-card">
83
- <Heading elementKey="contact-title" />
84
- <Box elementKey="contact-details">
85
- <Box elementKey="name-field">
86
- <Typography elementKey="name-label" />
87
- <Typography elementKey="name-value" />
88
- </Box>
89
- <Box elementKey="email-field">
90
- <Typography elementKey="email-label" />
91
- <Typography elementKey="email-value" />
92
- </Box>
93
- <Box elementKey="phone-field">
94
- <Typography elementKey="phone-label" />
95
- <Typography elementKey="phone-value" />
96
- </Box>
77
+ <Box elementKey="contact-sidebar">
78
+ <Box elementKey="contact-card">
79
+ <Heading elementKey="contact-title" />
80
+ <Box elementKey="contact-details">
81
+ <Box elementKey="name-field">
82
+ <Typography elementKey="name-label" />
83
+ <Typography elementKey="name-value" />
84
+ </Box>
85
+ <Box elementKey="email-field">
86
+ <Typography elementKey="email-label" />
87
+ <Typography elementKey="email-value" />
88
+ </Box>
89
+ <Box elementKey="phone-field">
90
+ <Typography elementKey="phone-label" />
91
+ <Typography elementKey="phone-value" />
97
92
  </Box>
98
93
  </Box>
99
94
  </Box>
100
95
  </Box>
101
96
  </Box>
102
- </Container>
103
- </Section>
104
- );
105
- };
97
+ </Box>
98
+ </Container>
99
+ </Section>
100
+ );
106
101
 
107
102
  export default EventDetails;