@levo-so/blocks 0.1.75 → 0.1.77

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 (58) hide show
  1. package/package.json +4 -4
  2. package/src/blocks/about-us/about-us-1.schema.ts +0 -3
  3. package/src/blocks/blogs/ClientOnly.tsx +24 -0
  4. package/src/blocks/blogs/blog-listing-1.schema.ts +750 -111
  5. package/src/blocks/blogs/blog-listing-1.tsx +123 -41
  6. package/src/blocks/blogs/blog-listing-2.schema.ts +1127 -2640
  7. package/src/blocks/blogs/blog-listing-2.tsx +110 -23
  8. package/src/blocks/blogs/blog-listing-3.schema.ts +713 -2010
  9. package/src/blocks/blogs/blog-listing-3.tsx +118 -20
  10. package/src/blocks/blogs/blog-post-1.schema.ts +262 -32
  11. package/src/blocks/blogs/blog-post-1.tsx +217 -28
  12. package/src/blocks/cards/cards-16.schema.ts +947 -0
  13. package/src/blocks/cards/cards-16.tsx +106 -0
  14. package/src/blocks/cards/cards-17.schema.ts +1945 -0
  15. package/src/blocks/cards/cards-17.tsx +112 -0
  16. package/src/blocks/cards/cards-18.schema.ts +1040 -0
  17. package/src/blocks/cards/cards-18.tsx +102 -0
  18. package/src/blocks/cards/cards-2.schema.ts +2 -2
  19. package/src/blocks/cards/cards-3.schema.ts +3 -16
  20. package/src/blocks/cards/cards-4.schema.ts +3 -28
  21. package/src/blocks/cards/cards-7.schema.ts +4 -7
  22. package/src/blocks/cards/cards-8.schema.ts +1 -10
  23. package/src/blocks/carousel/carousel-2.schema.ts +1 -2
  24. package/src/blocks/content/content-10.schema.ts +450 -0
  25. package/src/blocks/content/content-10.tsx +43 -0
  26. package/src/blocks/content/content-3.schema.ts +22 -28
  27. package/src/blocks/content/content-5.schema.ts +0 -4
  28. package/src/blocks/cta/cta-1.schema.ts +0 -3
  29. package/src/blocks/event/event-details.schema.ts +41 -175
  30. package/src/blocks/event/event-details.tsx +45 -50
  31. package/src/blocks/event/event-listing-2.schema.ts +437 -202
  32. package/src/blocks/event/event-listing-2.tsx +86 -22
  33. package/src/blocks/event/event-listing-3.schema.ts +232 -196
  34. package/src/blocks/event/event-listing-3.tsx +62 -29
  35. package/src/blocks/event/event-listing-4.schema.ts +314 -2824
  36. package/src/blocks/event/event-listing-4.tsx +68 -32
  37. package/src/blocks/event/event-listing.schema.ts +176 -1032
  38. package/src/blocks/event/event-listing.tsx +59 -25
  39. package/src/blocks/features/features-1/variants/stylized-cards-v2.ts +0 -1
  40. package/src/blocks/features/features-4.schema.ts +4 -14
  41. package/src/blocks/features/features-5.schema.ts +30 -51
  42. package/src/blocks/features/features-6.schema.ts +0 -1
  43. package/src/blocks/filter-listing/filter-listing-1.schema.ts +1 -3
  44. package/src/blocks/footer/footer-3.schema.ts +6 -14
  45. package/src/blocks/hero/hero-11.schema.ts +25 -54
  46. package/src/blocks/hero/hero-5.schema.ts +2 -6
  47. package/src/blocks/hero/hero-6.schema.ts +1 -10
  48. package/src/blocks/index.ts +4 -0
  49. package/src/blocks/logos/logos-1.schema.ts +0 -30
  50. package/src/blocks/pricing/pricing-1.schema.ts +0 -3
  51. package/src/blocks/stats/variants/default.ts +4 -5
  52. package/src/blocks/team/team-2.schema.ts +57 -154
  53. package/src/blocks/team/team-3.schema.ts +14 -31
  54. package/src/blocks/testimonial/testimonial-4.schema.ts +67 -152
  55. package/src/blocks/testimonial/testimonial-5/variants/default.ts +0 -1
  56. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithLogo.ts +0 -1
  57. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithRatings.ts +0 -1
  58. package/src/schemas/blocks.ts +8 -0
@@ -178,14 +178,13 @@ export const Content3: IBlock = {
178
178
  "margin-bottom": "48px",
179
179
  tablet: {
180
180
  "margin-bottom": "32px",
181
- filter: "none",
181
+
182
182
  "flex-direction": "column",
183
183
  },
184
184
  mobile: {
185
185
  "margin-bottom": "24px",
186
- filter: "none",
187
186
  },
188
- filter: "none",
187
+
189
188
  display: "flex",
190
189
  "justify-content": "space-between",
191
190
  "align-items": "center",
@@ -244,7 +243,7 @@ export const Content3: IBlock = {
244
243
  color: "text-1",
245
244
  mobile: {
246
245
  "font-size": "sm",
247
- filter: "none",
246
+
248
247
  width: "fit-content",
249
248
  },
250
249
  },
@@ -253,7 +252,7 @@ export const Content3: IBlock = {
253
252
  display: "flex",
254
253
  "flex-direction": "row",
255
254
  "row-gap": "12px",
256
- filter: "none",
255
+
257
256
  "justify-content": "space-between",
258
257
  "align-items": "center",
259
258
  },
@@ -276,7 +275,7 @@ export const Content3: IBlock = {
276
275
  mobile: {
277
276
  "font-size": "14px",
278
277
  },
279
- filter: "none",
278
+
280
279
  display: "none",
281
280
  },
282
281
  ctas_levoGroup: {
@@ -289,7 +288,7 @@ export const Content3: IBlock = {
289
288
  },
290
289
  mobile: {
291
290
  "font-size": "12px",
292
- filter: "none",
291
+
293
292
  "flex-direction": "column",
294
293
  },
295
294
  },
@@ -298,7 +297,6 @@ export const Content3: IBlock = {
298
297
  width: "100%",
299
298
  height: "1px",
300
299
  "background-color": "var(--color-border)",
301
- filter: "none",
302
300
  },
303
301
  },
304
302
  {
@@ -337,7 +335,7 @@ export const Content3: IBlock = {
337
335
  color: "text-1",
338
336
  mobile: {
339
337
  "font-size": "sm",
340
- filter: "none",
338
+
341
339
  width: "fit-content",
342
340
  },
343
341
  },
@@ -346,7 +344,7 @@ export const Content3: IBlock = {
346
344
  display: "flex",
347
345
  "flex-direction": "row",
348
346
  "row-gap": "12px",
349
- filter: "none",
347
+
350
348
  "justify-content": "space-between",
351
349
  "align-items": "center",
352
350
  },
@@ -369,7 +367,7 @@ export const Content3: IBlock = {
369
367
  mobile: {
370
368
  "font-size": "14px",
371
369
  },
372
- filter: "none",
370
+
373
371
  display: "none",
374
372
  },
375
373
  ctas_levoGroup: {
@@ -382,7 +380,7 @@ export const Content3: IBlock = {
382
380
  },
383
381
  mobile: {
384
382
  "font-size": "12px",
385
- filter: "none",
383
+
386
384
  "flex-direction": "column",
387
385
  },
388
386
  },
@@ -391,7 +389,6 @@ export const Content3: IBlock = {
391
389
  width: "100%",
392
390
  height: "1px",
393
391
  "background-color": "var(--color-border)",
394
- filter: "none",
395
392
  },
396
393
  },
397
394
  {
@@ -430,7 +427,7 @@ export const Content3: IBlock = {
430
427
  color: "text-1",
431
428
  mobile: {
432
429
  "font-size": "sm",
433
- filter: "none",
430
+
434
431
  width: "fit-content",
435
432
  },
436
433
  },
@@ -439,7 +436,7 @@ export const Content3: IBlock = {
439
436
  display: "flex",
440
437
  "flex-direction": "row",
441
438
  "row-gap": "12px",
442
- filter: "none",
439
+
443
440
  "justify-content": "space-between",
444
441
  "align-items": "center",
445
442
  },
@@ -462,7 +459,7 @@ export const Content3: IBlock = {
462
459
  mobile: {
463
460
  "font-size": "14px",
464
461
  },
465
- filter: "none",
462
+
466
463
  display: "none",
467
464
  },
468
465
  ctas_levoGroup: {
@@ -475,7 +472,7 @@ export const Content3: IBlock = {
475
472
  },
476
473
  mobile: {
477
474
  "font-size": "12px",
478
- filter: "none",
475
+
479
476
  "flex-direction": "column",
480
477
  },
481
478
  },
@@ -484,7 +481,6 @@ export const Content3: IBlock = {
484
481
  width: "100%",
485
482
  height: "1px",
486
483
  "background-color": "var(--color-border)",
487
- filter: "none",
488
484
  },
489
485
  },
490
486
  {
@@ -523,7 +519,7 @@ export const Content3: IBlock = {
523
519
  color: "text-1",
524
520
  mobile: {
525
521
  "font-size": "sm",
526
- filter: "none",
522
+
527
523
  width: "fit-content",
528
524
  },
529
525
  },
@@ -532,7 +528,7 @@ export const Content3: IBlock = {
532
528
  display: "flex",
533
529
  "flex-direction": "row",
534
530
  "row-gap": "12px",
535
- filter: "none",
531
+
536
532
  "justify-content": "space-between",
537
533
  "align-items": "center",
538
534
  },
@@ -555,7 +551,7 @@ export const Content3: IBlock = {
555
551
  mobile: {
556
552
  "font-size": "14px",
557
553
  },
558
- filter: "none",
554
+
559
555
  display: "none",
560
556
  },
561
557
  ctas_levoGroup: {
@@ -568,7 +564,7 @@ export const Content3: IBlock = {
568
564
  },
569
565
  mobile: {
570
566
  "font-size": "12px",
571
- filter: "none",
567
+
572
568
  "flex-direction": "column",
573
569
  },
574
570
  },
@@ -577,7 +573,6 @@ export const Content3: IBlock = {
577
573
  width: "100%",
578
574
  height: "1px",
579
575
  "background-color": "var(--color-border)",
580
- filter: "none",
581
576
  },
582
577
  },
583
578
  {
@@ -616,7 +611,7 @@ export const Content3: IBlock = {
616
611
  color: "text-1",
617
612
  mobile: {
618
613
  "font-size": "sm",
619
- filter: "none",
614
+
620
615
  width: "fit-content",
621
616
  },
622
617
  },
@@ -625,7 +620,7 @@ export const Content3: IBlock = {
625
620
  display: "flex",
626
621
  "flex-direction": "row",
627
622
  "row-gap": "12px",
628
- filter: "none",
623
+
629
624
  "justify-content": "space-between",
630
625
  "align-items": "center",
631
626
  },
@@ -648,7 +643,7 @@ export const Content3: IBlock = {
648
643
  mobile: {
649
644
  "font-size": "14px",
650
645
  },
651
- filter: "none",
646
+
652
647
  display: "none",
653
648
  },
654
649
  ctas_levoGroup: {
@@ -661,7 +656,7 @@ export const Content3: IBlock = {
661
656
  },
662
657
  mobile: {
663
658
  "font-size": "12px",
664
- filter: "none",
659
+
665
660
  "flex-direction": "column",
666
661
  },
667
662
  },
@@ -670,7 +665,6 @@ export const Content3: IBlock = {
670
665
  width: "100%",
671
666
  height: "1px",
672
667
  "background-color": "var(--color-border)",
673
- filter: "none",
674
668
  },
675
669
  },
676
670
  ],
@@ -488,7 +488,6 @@ export const Content5: IBlock = {
488
488
  width: "100%",
489
489
  height: "1px",
490
490
  "background-color": "border",
491
- filter: "none",
492
491
  },
493
492
  cta_rightIcon: {
494
493
  height: "24px",
@@ -608,7 +607,6 @@ export const Content5: IBlock = {
608
607
  width: "100%",
609
608
  height: "1px",
610
609
  "background-color": "border",
611
- filter: "none",
612
610
  },
613
611
  cta_rightIcon: {
614
612
  height: "24px",
@@ -755,7 +753,6 @@ export const Content5: IBlock = {
755
753
  width: "100%",
756
754
  height: "1px",
757
755
  "background-color": "border",
758
- filter: "none",
759
756
  },
760
757
  cta_rightIcon: {
761
758
  height: "24px",
@@ -902,7 +899,6 @@ export const Content5: IBlock = {
902
899
  width: "100%",
903
900
  height: "1px",
904
901
  "background-color": "border",
905
- filter: "none",
906
902
  },
907
903
  cta_rightIcon: {
908
904
  height: "24px",
@@ -158,18 +158,15 @@ export const Cta1: IBlock = {
158
158
  },
159
159
  },
160
160
  ctas_levoGroup: {
161
- filter: "none",
162
161
  display: "flex",
163
162
  "column-gap": "lg",
164
163
  "align-items": "center",
165
164
  mobile: {
166
- filter: "none",
167
165
  "flex-direction": "column",
168
166
  "row-gap": "2xs",
169
167
  "column-gap": "0",
170
168
  },
171
169
  tablet: {
172
- filter: "none",
173
170
  "flex-direction": "column",
174
171
  "row-gap": "xs",
175
172
  "column-gap": "0",
@@ -91,6 +91,7 @@ export const EventDetails: IBlock = {
91
91
  version: "v1",
92
92
  prompt_description:
93
93
  "Detailed event page featuring hero image, event information, registration button, event description, and contact details sidebar",
94
+ source: [{ required: true, module: "event", type: "page" }],
94
95
  content_schema: [
95
96
  {
96
97
  key: "layout",
@@ -110,15 +111,6 @@ export const EventDetails: IBlock = {
110
111
  "Contains the whole Event Details section, providing spacing and alignment. No content generation required.",
111
112
  },
112
113
  },
113
- {
114
- key: "main-wrapper",
115
- label: "Main Wrapper",
116
- field_interface: "BoxWidget",
117
- hint: {
118
- prompt_description:
119
- "Main container wrapping all event details content. No content generation required.",
120
- },
121
- },
122
114
  {
123
115
  key: "hero-card",
124
116
  label: "Hero Card",
@@ -135,6 +127,12 @@ export const EventDetails: IBlock = {
135
127
  hint: {
136
128
  prompt_description: "Main event cover image showcasing the event theme or venue.",
137
129
  },
130
+ options: {
131
+ module_field: {
132
+ module: "event",
133
+ key: "cover_image",
134
+ },
135
+ },
138
136
  },
139
137
  {
140
138
  key: "hero-content",
@@ -154,6 +152,12 @@ export const EventDetails: IBlock = {
154
152
  min_characters: 20,
155
153
  max_characters: 60,
156
154
  },
155
+ options: {
156
+ module_field: {
157
+ module: "event",
158
+ key: "title",
159
+ },
160
+ },
157
161
  },
158
162
  {
159
163
  key: "event-info",
@@ -187,6 +191,12 @@ export const EventDetails: IBlock = {
187
191
  hint: {
188
192
  prompt_description: "Event start date in readable format.",
189
193
  },
194
+ options: {
195
+ module_field: {
196
+ module: "event",
197
+ key: "starts_at",
198
+ },
199
+ },
190
200
  },
191
201
  {
192
202
  key: "id",
@@ -221,6 +231,12 @@ export const EventDetails: IBlock = {
221
231
  hint: {
222
232
  prompt_description: "Event end date in readable format.",
223
233
  },
234
+ options: {
235
+ module_field: {
236
+ module: "event",
237
+ key: "ends_at",
238
+ },
239
+ },
224
240
  },
225
241
  {
226
242
  key: "time-wrapper",
@@ -245,59 +261,11 @@ export const EventDetails: IBlock = {
245
261
  hint: {
246
262
  prompt_description: "Event time range from start to end time.",
247
263
  },
248
- },
249
- {
250
- key: "kind-wrapper",
251
- label: "Kind Wrapper",
252
- field_interface: "BoxWidget",
253
- hint: {
254
- prompt_description: "Container for event kind information. No content generation required.",
255
- },
256
- },
257
- {
258
- key: "kind-icon",
259
- label: "Kind Icon",
260
- field_interface: "IconWidget",
261
- hint: {
262
- prompt_description: "Icon representing event type/kind.",
263
- },
264
- },
265
- {
266
- key: "kind",
267
- label: "Event Kind",
268
- field_interface: "TypographyWidget",
269
- hint: {
270
- prompt_description: "Type or category of the event (e.g., Conference, Workshop).",
271
- min_characters: 5,
272
- max_characters: 20,
273
- },
274
- },
275
- {
276
- key: "timing-wrapper",
277
- label: "Timing Wrapper",
278
- field_interface: "BoxWidget",
279
- hint: {
280
- prompt_description:
281
- "Container for event timing information. No content generation required.",
282
- },
283
- },
284
- {
285
- key: "timing-icon",
286
- label: "Timing Icon",
287
- field_interface: "IconWidget",
288
- hint: {
289
- prompt_description: "Icon representing event duration/timing.",
290
- },
291
- },
292
- {
293
- key: "timing",
294
- label: "Event Timing",
295
- field_interface: "TypographyWidget",
296
- hint: {
297
- prompt_description:
298
- "Duration or timing description of the event (e.g., Full Day, Half Day).",
299
- min_characters: 5,
300
- max_characters: 20,
264
+ options: {
265
+ module_field: {
266
+ module: "event",
267
+ key: "starts_at",
268
+ },
301
269
  },
302
270
  },
303
271
  {
@@ -358,14 +326,11 @@ export const EventDetails: IBlock = {
358
326
  min_characters: 150,
359
327
  max_characters: 400,
360
328
  },
361
- },
362
- {
363
- key: "contact-sidebar",
364
- label: "Contact Sidebar",
365
- field_interface: "BoxWidget",
366
- hint: {
367
- prompt_description:
368
- "Sidebar container for contact information. No content generation required.",
329
+ options: {
330
+ module_field: {
331
+ module: "event",
332
+ key: "description",
333
+ },
369
334
  },
370
335
  },
371
336
  {
@@ -397,33 +362,6 @@ export const EventDetails: IBlock = {
397
362
  "Container for all contact detail fields. No content generation required.",
398
363
  },
399
364
  },
400
- {
401
- key: "name-field",
402
- label: "Name Field",
403
- field_interface: "BoxWidget",
404
- hint: {
405
- prompt_description:
406
- "Container for contact person name field. No content generation required.",
407
- },
408
- },
409
- {
410
- key: "name-label",
411
- label: "Name Label",
412
- field_interface: "TypographyWidget",
413
- hint: {
414
- prompt_description: "Label for contact person name, typically 'Name:'.",
415
- },
416
- },
417
- {
418
- key: "name-value",
419
- label: "Contact Name",
420
- field_interface: "TypographyWidget",
421
- hint: {
422
- prompt_description: "Name of the event contact person or organizer.",
423
- min_characters: 10,
424
- max_characters: 30,
425
- },
426
- },
427
365
  {
428
366
  key: "email-field",
429
367
  label: "Email Field",
@@ -449,31 +387,11 @@ export const EventDetails: IBlock = {
449
387
  min_characters: 15,
450
388
  max_characters: 40,
451
389
  },
452
- },
453
- {
454
- key: "phone-field",
455
- label: "Phone Field",
456
- field_interface: "BoxWidget",
457
- hint: {
458
- prompt_description: "Container for phone contact field. No content generation required.",
459
- },
460
- },
461
- {
462
- key: "phone-label",
463
- label: "Phone Label",
464
- field_interface: "TypographyWidget",
465
- hint: {
466
- prompt_description: "Label for phone contact, typically 'Phone:'.",
467
- },
468
- },
469
- {
470
- key: "phone-value",
471
- label: "Contact Phone",
472
- field_interface: "TypographyWidget",
473
- hint: {
474
- prompt_description: "Professional phone number for event inquiries and contact.",
475
- min_characters: 12,
476
- max_characters: 20,
390
+ options: {
391
+ module_field: {
392
+ module: "event",
393
+ key: "contact_email",
394
+ },
477
395
  },
478
396
  },
479
397
  ],
@@ -492,8 +410,6 @@ export const EventDetails: IBlock = {
492
410
  "max-width": "1280px",
493
411
  "margin-left": "auto",
494
412
  "margin-right": "auto",
495
- },
496
- "main-wrapper": {
497
413
  display: "flex",
498
414
  "flex-direction": "column",
499
415
  "row-gap": "xl",
@@ -576,32 +492,6 @@ export const EventDetails: IBlock = {
576
492
  "time-range": {
577
493
  color: "text-2",
578
494
  },
579
- "kind-wrapper": {
580
- display: "flex",
581
- "align-items": "center",
582
- "column-gap": "xs",
583
- },
584
- "kind-icon": {
585
- width: "16px",
586
- height: "16px",
587
- },
588
- kind: {
589
- color: "text-2",
590
- "text-transform": "capitalize",
591
- },
592
- "timing-wrapper": {
593
- display: "flex",
594
- "align-items": "center",
595
- "column-gap": "xs",
596
- },
597
- "timing-icon": {
598
- width: "16px",
599
- height: "16px",
600
- },
601
- timing: {
602
- color: "text-2",
603
- "text-transform": "capitalize",
604
- },
605
495
  "content-section": {
606
496
  display: "flex",
607
497
  "column-gap": "2xl",
@@ -642,13 +532,11 @@ export const EventDetails: IBlock = {
642
532
  description: {
643
533
  color: "text-2",
644
534
  },
645
- "contact-sidebar": {
535
+ "contact-card": {
646
536
  "flex-basis": "33.33%",
647
537
  mobile: {
648
538
  "flex-basis": "100%",
649
539
  },
650
- },
651
- "contact-card": {
652
540
  "border-radius": "base",
653
541
  "box-shadow": "default",
654
542
  "padding-top": "lg",
@@ -665,17 +553,6 @@ export const EventDetails: IBlock = {
665
553
  "flex-direction": "column",
666
554
  "row-gap": "sm",
667
555
  },
668
- "name-field": {
669
- display: "flex",
670
- "flex-direction": "column",
671
- "row-gap": "xs",
672
- },
673
- "name-label": {
674
- color: "text-2",
675
- },
676
- "name-value": {
677
- color: "text-1",
678
- },
679
556
  "email-field": {
680
557
  display: "flex",
681
558
  "flex-direction": "column",
@@ -687,17 +564,6 @@ export const EventDetails: IBlock = {
687
564
  "email-value": {
688
565
  color: "text-1",
689
566
  },
690
- "phone-field": {
691
- display: "flex",
692
- "flex-direction": "column",
693
- "row-gap": "xs",
694
- },
695
- "phone-label": {
696
- color: "text-2",
697
- },
698
- "phone-value": {
699
- color: "text-1",
700
- },
701
567
  },
702
568
  content: DEFAULT_CONTENT,
703
569
  config: {