@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
@@ -100,6 +100,36 @@ const DEFAULT_CONTENT = {
100
100
 
101
101
  export type IFooter3Content = typeof DEFAULT_CONTENT;
102
102
 
103
+ const DEFAULT_LAYOUT_LINKS_STYLE = {
104
+ category: {
105
+ "font-weight": "600",
106
+ color: "text-1",
107
+ "margin-bottom": "xs",
108
+ },
109
+ links_levoGroup: {
110
+ display: "flex",
111
+ "flex-direction": "column",
112
+ "row-gap": "xs",
113
+ },
114
+ links: Array(6)
115
+ .fill(0)
116
+ .map(() => {
117
+ return {
118
+ text: {
119
+ mobile: {
120
+ "font-size": "sm",
121
+ },
122
+ },
123
+ };
124
+ }),
125
+ };
126
+
127
+ const DEFAULT_LAYOUT_LINKS_STYLES = Array(3)
128
+ .fill(0)
129
+ .map(() => {
130
+ return DEFAULT_LAYOUT_LINKS_STYLE;
131
+ });
132
+
103
133
  export const Footer3: IBlock = {
104
134
  category_id: "footer",
105
135
  title: "Footer 3",
@@ -208,27 +238,35 @@ export const Footer3: IBlock = {
208
238
  title: "Default",
209
239
  key: "default",
210
240
  content: DEFAULT_CONTENT,
211
- config: {},
241
+ config: {
242
+ links: Array(4)
243
+ .fill(0)
244
+ .map(() => ({
245
+ category: {
246
+ selectedVariants: {
247
+ Typography_Variants: "Large",
248
+ },
249
+ },
250
+ links: Array(6)
251
+ .fill(0)
252
+ .map(() => {
253
+ return {
254
+ text: {
255
+ selectedVariants: {
256
+ Typography_Variants: "Body",
257
+ },
258
+ },
259
+ };
260
+ }),
261
+ })),
262
+ },
212
263
  styles: {
213
- layout: {
214
- "background-color": "background-1",
215
- "padding-top": "3xl",
216
- "padding-bottom": "none",
217
- },
218
264
  container: {
219
- "max-width": "1280px",
220
- "margin-left": "auto",
221
- "margin-right": "auto",
222
- "padding-left": "xl",
223
- "padding-right": "xl",
224
- filter: "none",
225
- "padding-bottom": "none",
265
+ "padding-top": "10xl",
266
+ "padding-bottom": "10xl",
226
267
  mobile: {
227
- filter: "none",
228
- },
229
- tablet: {
230
- filter: "none",
231
- display: "block",
268
+ "padding-top": "5xl",
269
+ "padding-bottom": "5xl",
232
270
  },
233
271
  },
234
272
  mainFooterWrapper: {
@@ -276,149 +314,37 @@ export const Footer3: IBlock = {
276
314
  width: "100%",
277
315
  },
278
316
  links: [
317
+ ...DEFAULT_LAYOUT_LINKS_STYLES,
279
318
  {
280
- category: {
281
- "font-size": "base",
282
- "font-weight": "600",
283
- color: "text-1",
284
- "margin-bottom": "xs",
285
- filter: "none",
286
- tablet: {
287
- filter: "none",
288
- },
289
- },
290
- links_levoGroup: {
291
- display: "flex",
292
- "flex-direction": "column",
293
- "row-gap": "xs",
294
- filter: "none",
295
- },
296
- links: [
297
- {
298
- text: {
299
- "font-size": "sm",
300
- color: "text-2",
301
- "line-height": "1.5",
302
- filter: "none",
303
- },
304
- },
305
- ],
306
- },
307
- {
308
- category: {
309
- "font-size": "base",
310
- "font-weight": "600",
311
- color: "text-1",
312
- "margin-bottom": "xs",
313
- filter: "none",
314
- },
315
- links_levoGroup: {
316
- display: "flex",
317
- "flex-direction": "column",
318
- "row-gap": "xs",
319
- filter: "none",
320
- },
321
- links: [
322
- {
323
- text: {
324
- "font-size": "sm",
325
- color: "text-2",
326
- "line-height": "1.5",
327
- filter: "none",
328
- },
329
- },
330
- ],
331
- },
332
- {
333
- category: {
334
- "font-size": "base",
335
- "font-weight": "600",
336
- color: "text-1",
337
- "margin-bottom": "xs",
338
- filter: "none",
339
- },
340
- links_levoGroup: {
341
- display: "flex",
342
- "flex-direction": "column",
343
- "row-gap": "xs",
344
- filter: "none",
345
- },
346
- links: [
347
- {
348
- text: {
349
- "font-size": "sm",
350
- color: "text-2",
351
- "line-height": "1.5",
352
- filter: "none",
353
- },
354
- },
355
- ],
356
- },
357
- {
358
- category: {
359
- "font-size": "base",
360
- "font-weight": "600",
361
- color: "text-1",
362
- "margin-bottom": "xs",
363
- filter: "none",
364
- },
365
- links_levoGroup: {
366
- display: "flex",
367
- "flex-direction": "column",
368
- "row-gap": "md",
369
- filter: "none",
370
- },
371
- links: [
372
- {
373
- contactWrapper: {
374
- display: "flex",
375
- "align-items": "center",
376
- "column-gap": "xs",
377
- filter: "none",
378
- },
379
- icon: {
380
- "object-fit": "contain",
381
- "flex-shrink": "0",
382
- filter: "none",
383
- width: "20px",
384
- height: "20px",
385
- },
386
- text: {
387
- "font-size": "sm",
388
- color: "text-2",
389
- "line-height": "1.5",
390
- filter: "none",
391
- },
392
- },
393
- {
394
- contactWrapper: {
395
- filter: "none",
396
- display: "flex",
397
- "column-gap": "xs",
398
- "align-items": "center",
399
- },
400
- icon: {
401
- filter: "none",
402
- },
403
- },
404
- {
405
- contactWrapper: {
406
- filter: "none",
407
- mobile: {
319
+ category: DEFAULT_LAYOUT_LINKS_STYLE.category,
320
+ links_levoGroup: DEFAULT_LAYOUT_LINKS_STYLE.links_levoGroup,
321
+ links: Array(3)
322
+ .fill(0)
323
+ .map((_, index) => {
324
+ return {
325
+ contactWrapper: {
326
+ display: "flex",
327
+ "align-items": "center",
328
+ "column-gap": "xs",
329
+ ...(index === 2
330
+ ? { "flex-shrink": "0", width: "100%" }
331
+ : {}),
332
+ },
333
+ icon: {
334
+ "object-fit": "contain",
335
+ "flex-shrink": "0",
408
336
  filter: "none",
337
+ width: "20px",
338
+ height: "20px",
409
339
  },
410
- display: "flex",
411
- "flex-shrink": "0",
412
- "column-gap": "xs",
413
- width: "100%",
414
- "align-items": "center",
415
- },
416
- text: {
417
- filter: "none",
418
- "max-width": "250px",
419
- },
420
- },
421
- ],
340
+ text: {
341
+ mobile: {
342
+ "font-size": "sm",
343
+ },
344
+ ...(index === 2 ? { "max-width": "250px" } : {}),
345
+ },
346
+ };
347
+ }),
422
348
  },
423
349
  ],
424
350
  bottomSection: {
@@ -444,7 +370,6 @@ export const Footer3: IBlock = {
444
370
  },
445
371
  },
446
372
  copyright: {
447
- "font-size": "sm",
448
373
  color: "text-2",
449
374
  },
450
375
  bottomLinks_levoGroup: {
@@ -464,7 +389,6 @@ export const Footer3: IBlock = {
464
389
  },
465
390
  },
466
391
  "bottomLinks.$.text": {
467
- "font-size": "sm",
468
392
  color: "text-2",
469
393
  },
470
394
  "bottomLinks.$.separator": {
@@ -480,6 +404,7 @@ export const Footer3: IBlock = {
480
404
  },
481
405
  "socialIcons.$.icon": {
482
406
  "object-fit": "contain",
407
+ "border-radius": "base",
483
408
  },
484
409
  },
485
410
  },
@@ -1,13 +1,12 @@
1
- import React from "react";
2
1
  import {
3
2
  Box,
4
3
  Container,
5
4
  Icon,
6
- Image,
7
5
  Section,
8
6
  Typography,
9
7
  type ILevoBlockBaseProps,
10
8
  } from "@levo-so/studio";
9
+ import React from "react";
11
10
 
12
11
  import { type IFooter3Content } from "./footer-3.schema";
13
12
 
@@ -311,7 +311,9 @@ export const Footer4: IBlock = {
311
311
  footerBottomRightArea: [
312
312
  {
313
313
  link: {},
314
- cta: {},
314
+ cta: {
315
+ color: "text-2",
316
+ },
315
317
  separator: {
316
318
  width: "1px",
317
319
  height: "1rem",
@@ -322,7 +324,9 @@ export const Footer4: IBlock = {
322
324
  },
323
325
  {
324
326
  link: {},
325
- cta: {},
327
+ cta: {
328
+ color: "text-2",
329
+ },
326
330
  separator: {
327
331
  width: "1px",
328
332
  height: "1rem",
@@ -439,7 +443,7 @@ export const Footer4: IBlock = {
439
443
  {
440
444
  category: {
441
445
  "margin-bottom": "sm",
442
- "font-weight": 600,
446
+ color: "text-1",
443
447
  },
444
448
  links_levoGroup: {
445
449
  display: "flex",
@@ -507,7 +511,7 @@ export const Footer4: IBlock = {
507
511
  {
508
512
  category: {
509
513
  "margin-bottom": "sm",
510
- "font-weight": 600,
514
+ color: "text-1",
511
515
  },
512
516
  links_levoGroup: {
513
517
  display: "flex",
@@ -586,7 +590,7 @@ export const Footer4: IBlock = {
586
590
  {
587
591
  category: {
588
592
  "margin-bottom": "sm",
589
- "font-weight": 600,
593
+ color: "text-1",
590
594
  },
591
595
  links_levoGroup: {
592
596
  display: "flex",
@@ -632,6 +636,7 @@ export const Footer4: IBlock = {
632
636
  ],
633
637
  logo: {
634
638
  width: "80px",
639
+ "border-radius": "base",
635
640
  tablet: {
636
641
  width: "60px",
637
642
  },
@@ -50,7 +50,7 @@ const Footer4: React.FC<ILevoBlockBaseProps<IFooter4Content>> = ({
50
50
  {(content?.links?.[index]?.links ?? [])?.map(
51
51
  (_: any, subIndex: number) => (
52
52
  <Box
53
- elementKey={`links.${index}.links.${subIndex}.iconCtaWrapper`}
53
+ elementKey={`links.${index}.links.${subIndex}.iconWrapper`}
54
54
  key={`footer-4-links-${index}-${subIndex}`}
55
55
  data-levo_group_item
56
56
  >
@@ -168,6 +168,16 @@ export const Footer5: IBlock = {
168
168
  field_interface: "BoxWidget",
169
169
  kind: "group",
170
170
  fields: [
171
+ {
172
+ key: "iconWrapper",
173
+ label: "Icon Wrapper",
174
+ field_interface: "BoxWidget",
175
+ },
176
+ {
177
+ key: "icon",
178
+ label: "Icon",
179
+ field_interface: "IconWidget",
180
+ },
171
181
  {
172
182
  key: "text",
173
183
  label: "Text",
@@ -37,11 +37,19 @@ const Footer5: React.FC<ILevoBlockBaseProps<IFooter5Content>> = ({
37
37
  data-levo_group
38
38
  >
39
39
  {(content?.links?.[index]?.links ?? []).map((_, subIndex) => (
40
- <Typography
41
- elementKey={`links.${index}.links.${subIndex}.text`}
40
+ <Box
41
+ elementKey={`links.${index}.links.${subIndex}.iconWrapper`}
42
42
  key={`footer-5-links-${index}-${subIndex}`}
43
43
  data-levo_group_item
44
- />
44
+ >
45
+ <Icon
46
+ elementKey={`links.${index}.links.${subIndex}.icon`}
47
+ />
48
+ <Typography
49
+ elementKey={`links.${index}.links.${subIndex}.text`}
50
+ key={`footer-4-links-${index}-${subIndex}`}
51
+ />
52
+ </Box>
45
53
  ))}
46
54
  </Box>
47
55
  </Box>