@levo-so/blocks 0.1.60 → 0.1.61

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 (230) hide show
  1. package/package.json +13 -14
  2. package/src/blocks/about-us/about-us-1.schema.ts +15 -30
  3. package/src/blocks/about-us/about-us-1.tsx +2 -4
  4. package/src/blocks/about-us/about-us-2.schema.ts +24 -48
  5. package/src/blocks/about-us/about-us-2.tsx +7 -13
  6. package/src/blocks/blogs/blog-listing-1.schema.ts +7 -14
  7. package/src/blocks/blogs/blog-listing-1.tsx +10 -21
  8. package/src/blocks/blogs/blog-listing-2.schema.ts +17 -34
  9. package/src/blocks/blogs/blog-listing-2.tsx +4 -12
  10. package/src/blocks/blogs/blog-listing-3.schema.ts +32 -64
  11. package/src/blocks/blogs/blog-listing-3.tsx +4 -12
  12. package/src/blocks/blogs/blog-post-1.schema.ts +9 -18
  13. package/src/blocks/blogs/blog-post-1.tsx +3 -14
  14. package/src/blocks/calendar/calendar-1.schema.ts +95 -6
  15. package/src/blocks/calendar/calendar-1.tsx +33 -29
  16. package/src/blocks/cards/cards-10.schema.ts +62 -124
  17. package/src/blocks/cards/cards-10.tsx +9 -14
  18. package/src/blocks/cards/cards-11.schema.ts +69 -138
  19. package/src/blocks/cards/cards-11.tsx +5 -11
  20. package/src/blocks/cards/cards-12.schema.ts +7 -14
  21. package/src/blocks/cards/cards-12.tsx +4 -10
  22. package/src/blocks/cards/cards-13.schema.ts +40 -80
  23. package/src/blocks/cards/cards-13.tsx +4 -6
  24. package/src/blocks/cards/cards-14.schema.ts +7 -14
  25. package/src/blocks/cards/cards-14.tsx +5 -11
  26. package/src/blocks/cards/cards-15.schema.ts +7 -14
  27. package/src/blocks/cards/cards-15.tsx +2 -4
  28. package/src/blocks/cards/cards-2.schema.ts +7 -14
  29. package/src/blocks/cards/cards-2.tsx +2 -15
  30. package/src/blocks/cards/cards-3.schema.ts +7 -14
  31. package/src/blocks/cards/cards-3.tsx +7 -13
  32. package/src/blocks/cards/cards-4.schema.ts +13 -26
  33. package/src/blocks/cards/cards-4.tsx +9 -15
  34. package/src/blocks/cards/cards-5.schema.ts +17 -34
  35. package/src/blocks/cards/cards-5.tsx +1 -9
  36. package/src/blocks/cards/cards-6.schema.ts +52 -104
  37. package/src/blocks/cards/cards-6.tsx +12 -20
  38. package/src/blocks/cards/cards-7.schema.ts +48 -96
  39. package/src/blocks/cards/cards-7.tsx +8 -27
  40. package/src/blocks/cards/cards-8.schema.ts +9 -20
  41. package/src/blocks/cards/cards-8.tsx +5 -11
  42. package/src/blocks/cards/cards-9.schema.ts +41 -82
  43. package/src/blocks/cards/cards-9.tsx +14 -22
  44. package/src/blocks/carousel/carousel-1.schema.ts +64 -128
  45. package/src/blocks/carousel/carousel-1.tsx +6 -8
  46. package/src/blocks/carousel/carousel-2.schema.ts +26 -52
  47. package/src/blocks/carousel/carousel-2.tsx +11 -23
  48. package/src/blocks/community/community-1.schema.ts +78 -32
  49. package/src/blocks/community/community-1.tsx +417 -550
  50. package/src/blocks/community/community-post-1.schema.ts +21 -30
  51. package/src/blocks/community/community-post-1.tsx +334 -84
  52. package/src/blocks/contact-us/contact-us-1.schema.ts +8 -16
  53. package/src/blocks/contact-us/contact-us-1.tsx +2 -12
  54. package/src/blocks/contact-us/contact-us-2.tsx +20 -31
  55. package/src/blocks/content/content-1.schema.ts +21 -42
  56. package/src/blocks/content/content-1.tsx +10 -17
  57. package/src/blocks/content/content-2.schema.ts +29 -58
  58. package/src/blocks/content/content-2.tsx +4 -4
  59. package/src/blocks/content/content-3.tsx +13 -29
  60. package/src/blocks/content/content-4.schema.ts +23 -46
  61. package/src/blocks/content/content-4.tsx +8 -17
  62. package/src/blocks/content/content-5.schema.ts +29 -24
  63. package/src/blocks/content/content-5.tsx +13 -27
  64. package/src/blocks/content/content-6.schema.ts +46 -94
  65. package/src/blocks/content/content-6.tsx +14 -31
  66. package/src/blocks/content/content-7.schema.ts +35 -72
  67. package/src/blocks/content/content-7.tsx +15 -31
  68. package/src/blocks/content/content-8.schema.ts +1 -6
  69. package/src/blocks/content/content-8.tsx +3 -3
  70. package/src/blocks/content/content-9.tsx +26 -41
  71. package/src/blocks/cta/cta-1.schema.ts +10 -20
  72. package/src/blocks/cta/cta-2.schema.ts +14 -28
  73. package/src/blocks/cta/cta-2.tsx +2 -6
  74. package/src/blocks/cta/cta-3.schema.ts +24 -50
  75. package/src/blocks/cta/cta-3.tsx +2 -6
  76. package/src/blocks/embed/embed-1.tsx +1 -9
  77. package/src/blocks/event/ClientOnly.tsx +1 -4
  78. package/src/blocks/event/event-details.schema.ts +16 -32
  79. package/src/blocks/event/event-details.tsx +8 -23
  80. package/src/blocks/event/event-listing-2.schema.ts +19 -38
  81. package/src/blocks/event/event-listing-2.tsx +12 -23
  82. package/src/blocks/event/event-listing-3.schema.ts +10 -20
  83. package/src/blocks/event/event-listing-3.tsx +9 -15
  84. package/src/blocks/event/event-listing-4.schema.ts +40 -80
  85. package/src/blocks/event/event-listing-4.tsx +5 -13
  86. package/src/blocks/event/event-listing.schema.ts +12 -24
  87. package/src/blocks/event/event-listing.tsx +9 -15
  88. package/src/blocks/faq/faq-1.schema.ts +8 -16
  89. package/src/blocks/faq/faq-1.tsx +19 -30
  90. package/src/blocks/faq/faq-2.schema.ts +8 -16
  91. package/src/blocks/faq/faq-2.tsx +11 -10
  92. package/src/blocks/faq/faq-3.schema.ts +9 -18
  93. package/src/blocks/faq/faq-3.tsx +11 -19
  94. package/src/blocks/features/features-1/features-1.tsx +2 -4
  95. package/src/blocks/features/features-1/variants/default.ts +4 -8
  96. package/src/blocks/features/features-1/variants/index.ts +1 -1
  97. package/src/blocks/features/features-2.schema.ts +32 -64
  98. package/src/blocks/features/features-2.tsx +8 -10
  99. package/src/blocks/features/features-3.schema.ts +32 -64
  100. package/src/blocks/features/features-3.tsx +7 -16
  101. package/src/blocks/features/features-4.schema.ts +16 -32
  102. package/src/blocks/features/features-4.tsx +3 -7
  103. package/src/blocks/features/features-5.schema.ts +1 -2
  104. package/src/blocks/features/features-5.tsx +6 -17
  105. package/src/blocks/features/features-6.schema.ts +32 -64
  106. package/src/blocks/features/features-6.tsx +16 -36
  107. package/src/blocks/filter-listing/filter-listing-1.tsx +12 -36
  108. package/src/blocks/floating-buttons/floating-button-1.schema.ts +5 -10
  109. package/src/blocks/floating-buttons/floating-button-1.tsx +3 -9
  110. package/src/blocks/footer/footer-1.schema.ts +8 -16
  111. package/src/blocks/footer/footer-1.tsx +15 -30
  112. package/src/blocks/footer/footer-2.schema.ts +8 -16
  113. package/src/blocks/footer/footer-2.tsx +17 -28
  114. package/src/blocks/footer/footer-3.schema.ts +1 -2
  115. package/src/blocks/footer/footer-3.tsx +9 -25
  116. package/src/blocks/footer/footer-4.schema.ts +8 -16
  117. package/src/blocks/footer/footer-4.tsx +35 -54
  118. package/src/blocks/footer/footer-5.schema.ts +10 -24
  119. package/src/blocks/footer/footer-5.tsx +14 -29
  120. package/src/blocks/footer/footer-6.schema.ts +10 -25
  121. package/src/blocks/footer/footer-6.tsx +29 -44
  122. package/src/blocks/form/form-1.schema.ts +144 -0
  123. package/src/blocks/form/form-1.tsx +33 -0
  124. package/src/blocks/hero/hero-1.schema.ts +45 -90
  125. package/src/blocks/hero/hero-1.tsx +4 -4
  126. package/src/blocks/hero/hero-10.schema.ts +1 -2
  127. package/src/blocks/hero/hero-10.tsx +4 -4
  128. package/src/blocks/hero/hero-11.schema.ts +18 -14
  129. package/src/blocks/hero/hero-11.tsx +4 -9
  130. package/src/blocks/hero/hero-12.schema.ts +18 -36
  131. package/src/blocks/hero/hero-12.tsx +3 -6
  132. package/src/blocks/hero/hero-13.schema.ts +8 -16
  133. package/src/blocks/hero/hero-13.tsx +1 -1
  134. package/src/blocks/hero/hero-2.schema.ts +3 -6
  135. package/src/blocks/hero/hero-2.tsx +3 -21
  136. package/src/blocks/hero/hero-3.schema.ts +28 -56
  137. package/src/blocks/hero/hero-3.tsx +6 -15
  138. package/src/blocks/hero/hero-4.schema.ts +22 -44
  139. package/src/blocks/hero/hero-4.tsx +16 -27
  140. package/src/blocks/hero/hero-5.schema.ts +21 -42
  141. package/src/blocks/hero/hero-5.tsx +15 -18
  142. package/src/blocks/hero/hero-6.schema.ts +35 -70
  143. package/src/blocks/hero/hero-6.tsx +6 -6
  144. package/src/blocks/hero/hero-7.schema.ts +24 -48
  145. package/src/blocks/hero/hero-7.tsx +2 -3
  146. package/src/blocks/hero/hero-8.schema.ts +24 -50
  147. package/src/blocks/hero/hero-8.tsx +5 -19
  148. package/src/blocks/hero/hero-9.schema.ts +8 -16
  149. package/src/blocks/hero/hero-9.tsx +3 -3
  150. package/src/blocks/index.ts +8 -11
  151. package/src/blocks/jobs/jobs-1.schema.ts +990 -0
  152. package/src/blocks/jobs/jobs-1.tsx +145 -0
  153. package/src/blocks/logos/logos-1.schema.ts +53 -113
  154. package/src/blocks/logos/logos-1.tsx +7 -7
  155. package/src/blocks/navbar/navbar-1.schema.ts +15 -28
  156. package/src/blocks/navbar/navbar-1.tsx +24 -60
  157. package/src/blocks/navbar/navbar-2.schema.ts +14 -28
  158. package/src/blocks/navbar/navbar-2.tsx +26 -56
  159. package/src/blocks/navbar/navbar-3.schema.ts +11 -22
  160. package/src/blocks/navbar/navbar-3.tsx +33 -82
  161. package/src/blocks/navbar/navbar-4.schema.ts +14343 -0
  162. package/src/blocks/navbar/navbar-4.tsx +546 -0
  163. package/src/blocks/polling/polling-1.schema.ts +1 -2
  164. package/src/blocks/polling/polling-1.tsx +24 -39
  165. package/src/blocks/pricing/pricing-1.schema.ts +13 -26
  166. package/src/blocks/pricing/pricing-1.tsx +20 -44
  167. package/src/blocks/products/products-listing-1.schema.ts +32 -64
  168. package/src/blocks/products/products-listing-1.tsx +6 -12
  169. package/src/blocks/products/products-listing-2.schema.ts +26 -54
  170. package/src/blocks/products/products-listing-2.tsx +8 -17
  171. package/src/blocks/products/products-listing-3.schema.ts +25 -52
  172. package/src/blocks/products/products-listing-3.tsx +87 -93
  173. package/src/blocks/profile/profile-1.schema.ts +7 -14
  174. package/src/blocks/profile/profile-1.tsx +2 -8
  175. package/src/blocks/profile/profile-2.schema.ts +9 -18
  176. package/src/blocks/profile/profile-2.tsx +4 -6
  177. package/src/blocks/profile/profile-3.schema.ts +21 -42
  178. package/src/blocks/profile/profile-3.tsx +18 -40
  179. package/src/blocks/{blogs/blog-post-2.schema.ts → profile/profile-4.schema.ts} +75 -97
  180. package/src/blocks/{blogs/blog-post-2.tsx → profile/profile-4.tsx} +32 -61
  181. package/src/blocks/{blogs/blog-post-3.schema.ts → profile/profile-5.schema.ts} +6 -6
  182. package/src/blocks/{blogs/blog-post-3.tsx → profile/profile-5.tsx} +6 -11
  183. package/src/blocks/services/service-1.schema.ts +20 -40
  184. package/src/blocks/services/service-1.tsx +45 -71
  185. package/src/blocks/services/service-2.schema.ts +8 -16
  186. package/src/blocks/services/service-2.tsx +4 -6
  187. package/src/blocks/services/service-3.schema.ts +12 -24
  188. package/src/blocks/services/service-3.tsx +4 -6
  189. package/src/blocks/stats/stats-1.tsx +3 -14
  190. package/src/blocks/stats/stats-2.tsx +3 -14
  191. package/src/blocks/stats/variants/index.ts +1 -1
  192. package/src/blocks/tabs/tab-1.schema.ts +4 -8
  193. package/src/blocks/tabs/tab-1.tsx +47 -64
  194. package/src/blocks/tabs/tab-2.schema.ts +13 -26
  195. package/src/blocks/tabs/tab-2.tsx +14 -15
  196. package/src/blocks/team/team-1.schema.ts +28 -56
  197. package/src/blocks/team/team-1.tsx +7 -21
  198. package/src/blocks/team/team-2.schema.ts +104 -208
  199. package/src/blocks/team/team-2.tsx +15 -33
  200. package/src/blocks/team/team-3.schema.ts +24 -48
  201. package/src/blocks/team/team-3.tsx +8 -14
  202. package/src/blocks/team/team-4.schema.ts +25 -50
  203. package/src/blocks/team/team-4.tsx +15 -24
  204. package/src/blocks/team/team-5.schema.ts +14 -28
  205. package/src/blocks/team/team-5.tsx +1 -1
  206. package/src/blocks/termsAndPrivacy/terms-and-conditions-1.tsx +3 -5
  207. package/src/blocks/testimonial/testimonial-1.schema.ts +1 -2
  208. package/src/blocks/testimonial/testimonial-1.tsx +10 -19
  209. package/src/blocks/testimonial/testimonial-2.schema.ts +16 -32
  210. package/src/blocks/testimonial/testimonial-2.tsx +17 -36
  211. package/src/blocks/testimonial/testimonial-3.schema.ts +8 -16
  212. package/src/blocks/testimonial/testimonial-3.tsx +13 -26
  213. package/src/blocks/testimonial/testimonial-4.schema.ts +94 -188
  214. package/src/blocks/testimonial/testimonial-4.tsx +12 -33
  215. package/src/blocks/testimonial/testimonial-5/variants/default.ts +24 -48
  216. package/src/blocks/testimonial/testimonial-5/variants/index.ts +1 -1
  217. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithLogo.ts +4 -8
  218. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithRatings.ts +24 -48
  219. package/src/blocks/testimonial/testimonial-5.schema.ts +2 -6
  220. package/src/blocks/testimonial/testimonial-5.tsx +15 -25
  221. package/src/blocks/testimonial/testimonial-6.schema.ts +26 -52
  222. package/src/blocks/testimonial/testimonial-6.tsx +9 -25
  223. package/src/blocks/testimonial/testimonial-7.tsx +15 -26
  224. package/src/blocks/timeline/timeline-1.schema.ts +34 -68
  225. package/src/blocks/timeline/timeline-1.tsx +2 -6
  226. package/src/blocks/users/edit-profile.tsx +10 -22
  227. package/src/constants/index.ts +3 -6
  228. package/src/index.ts +1 -1
  229. package/src/schemas/blocks.ts +14 -8
  230. package/src/schemas/categories.ts +14 -2
@@ -15,23 +15,15 @@ const MEDIA = {
15
15
  id: "k5KiTxROzoNX",
16
16
  filename: "footer-5-logo.png",
17
17
  kind: "image",
18
- location:
19
- "https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4.png",
18
+ location: "https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4.png",
20
19
  srcset: {
21
- "1080w":
22
- "https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-1080w.webp",
23
- "1200w":
24
- "https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-1200w.webp",
25
- "1920w":
26
- "https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-1920w.webp",
27
- "320w":
28
- "https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-320w.webp",
29
- "640w":
30
- "https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-640w.webp",
31
- "750w":
32
- "https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-750w.webp",
33
- "828w":
34
- "https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-828w.webp",
20
+ "1080w": "https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-1080w.webp",
21
+ "1200w": "https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-1200w.webp",
22
+ "1920w": "https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-1920w.webp",
23
+ "320w": "https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-320w.webp",
24
+ "640w": "https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-640w.webp",
25
+ "750w": "https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-750w.webp",
26
+ "828w": "https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-828w.webp",
35
27
  path: "https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/footer-5-logo-PzNWMN1fGVV4-640w.webp 640w",
36
28
  },
37
29
  mimetype: "image/png",
@@ -45,19 +37,13 @@ const DEFAULT_CONTENT = {
45
37
  // logo and description
46
38
  logoTextWrapper: null,
47
39
  logo: MEDIA,
48
- logoDescription:
49
- "No more guesswork. No more excuses. Just real, proven training.",
40
+ logoDescription: "No more guesswork. No more excuses. Just real, proven training.",
50
41
 
51
42
  // middle links area
52
43
  links: [
53
44
  {
54
45
  category: "Links",
55
- links: [
56
- { text: "About" },
57
- { text: "Trainer" },
58
- { text: "Program" },
59
- { text: "Location" },
60
- ],
46
+ links: [{ text: "About" }, { text: "Trainer" }, { text: "Program" }, { text: "Location" }],
61
47
  },
62
48
  {
63
49
  category: "About us",
@@ -1,20 +1,18 @@
1
- import React from "react";
2
1
  import {
3
2
  Box,
4
3
  Container,
5
4
  Heading,
6
5
  Icon,
6
+ type ILevoBlockBaseProps,
7
7
  Image,
8
8
  Section,
9
9
  Typography,
10
- type ILevoBlockBaseProps,
11
10
  } from "@levo-so/studio";
11
+ import React from "react";
12
12
 
13
- import { type IFooter5Content } from "./footer-5.schema";
13
+ import type { IFooter5Content } from "./footer-5.schema";
14
14
 
15
- const Footer5: React.FC<ILevoBlockBaseProps<IFooter5Content>> = ({
16
- content,
17
- }) => (
15
+ const Footer5: React.FC<ILevoBlockBaseProps<IFooter5Content>> = ({ content }) => (
18
16
  <Section elementKey="layout">
19
17
  <Container elementKey="container">
20
18
  <Box elementKey="contentWrapper">
@@ -33,19 +31,14 @@ const Footer5: React.FC<ILevoBlockBaseProps<IFooter5Content>> = ({
33
31
  data-levo_group_item
34
32
  >
35
33
  <Heading elementKey={`links.${index}.category`} />
36
- <Box
37
- elementKey={`links.${index}.links_levoGroup`}
38
- data-levo_group
39
- >
34
+ <Box elementKey={`links.${index}.links_levoGroup`} data-levo_group>
40
35
  {(content?.links?.[index]?.links ?? []).map((_, subIndex) => (
41
36
  <Box
42
37
  elementKey={`links.${index}.links.${subIndex}.iconWrapper`}
43
38
  key={`footer-5-links-${index}-${subIndex}`}
44
39
  data-levo_group_item
45
40
  >
46
- <Icon
47
- elementKey={`links.${index}.links.${subIndex}.icon`}
48
- />
41
+ <Icon elementKey={`links.${index}.links.${subIndex}.icon`} />
49
42
  <Typography
50
43
  elementKey={`links.${index}.links.${subIndex}.text`}
51
44
  key={`footer-4-links-${index}-${subIndex}`}
@@ -64,22 +57,14 @@ const Footer5: React.FC<ILevoBlockBaseProps<IFooter5Content>> = ({
64
57
 
65
58
  {/* Right Area */}
66
59
  <Box elementKey="footerBottomRightArea_levoGroup" data-levo_group>
67
- {(content?.footerBottomRightArea ?? [])?.map(
68
- (_: any, index: number) => (
69
- <React.Fragment key={`footer-4-right-area-${index}`}>
70
- <Typography
71
- data-levo_group_item
72
- elementKey={`footerBottomRightArea.${index}.cta`}
73
- />
74
- {index < (content?.footerBottomRightArea?.length ?? 0) - 1 && (
75
- <Box
76
- elementKey={`footerBottomRightArea.${index}.separator`}
77
- data-levo_group_item
78
- />
79
- )}
80
- </React.Fragment>
81
- ),
82
- )}
60
+ {(content?.footerBottomRightArea ?? [])?.map((_: any, index: number) => (
61
+ <React.Fragment key={`footer-4-right-area-${index}`}>
62
+ <Typography data-levo_group_item elementKey={`footerBottomRightArea.${index}.cta`} />
63
+ {index < (content?.footerBottomRightArea?.length ?? 0) - 1 && (
64
+ <Box elementKey={`footerBottomRightArea.${index}.separator`} data-levo_group_item />
65
+ )}
66
+ </React.Fragment>
67
+ ))}
83
68
  </Box>
84
69
 
85
70
  {/* Social Icons */}
@@ -4,23 +4,15 @@ const MEDIA = {
4
4
  id: "oilvrpqtlHti",
5
5
  filename: "footer-6-logo.png",
6
6
  kind: "image",
7
- location:
8
- "https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT.png",
7
+ location: "https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT.png",
9
8
  srcset: {
10
- "1080w":
11
- "https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-1080w.webp",
12
- "1200w":
13
- "https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-1200w.webp",
14
- "1920w":
15
- "https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-1920w.webp",
16
- "320w":
17
- "https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-320w.webp",
18
- "640w":
19
- "https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-640w.webp",
20
- "750w":
21
- "https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-750w.webp",
22
- "828w":
23
- "https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-828w.webp",
9
+ "1080w": "https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-1080w.webp",
10
+ "1200w": "https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-1200w.webp",
11
+ "1920w": "https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-1920w.webp",
12
+ "320w": "https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-320w.webp",
13
+ "640w": "https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-640w.webp",
14
+ "750w": "https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-750w.webp",
15
+ "828w": "https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-828w.webp",
24
16
  path: "https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/footer-6-logo-MqnQyg87rAAT-750w.webp 750w",
25
17
  },
26
18
  mimetype: "image/png",
@@ -32,8 +24,7 @@ const DEFAULT_CONTENT = {
32
24
  contentWrapper: null,
33
25
  logoTextWrapper: null,
34
26
  logo: MEDIA,
35
- logoDescription:
36
- "<p>No more guesswork. No more excuses. Just real, proven training.</p><p></p>",
27
+ logoDescription: "<p>No more guesswork. No more excuses. Just real, proven training.</p><p></p>",
37
28
  icon_links: [
38
29
  {
39
30
  icon: {
@@ -41,13 +32,7 @@ const DEFAULT_CONTENT = {
41
32
  data: {
42
33
  id: "sms-notification",
43
34
  label: "Sms Notification",
44
- tags: [
45
- "custom",
46
- "directional",
47
- "emails-messages",
48
- "notification",
49
- "sms",
50
- ],
35
+ tags: ["custom", "directional", "emails-messages", "notification", "sms"],
51
36
  svgCode:
52
37
  '<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M17 21.25H7C3.35 21.25 1.25 19.15 1.25 15.5V8.5C1.25 4.85 3.35 2.75 7 2.75H14C14.41 2.75 14.75 3.09 14.75 3.5C14.75 3.91 14.41 4.25 14 4.25H7C4.14 4.25 2.75 5.64 2.75 8.5V15.5C2.75 18.36 4.14 19.75 7 19.75H17C19.86 19.75 21.25 18.36 21.25 15.5V10.5C21.25 10.09 21.59 9.75 22 9.75C22.41 9.75 22.75 10.09 22.75 10.5V15.5C22.75 19.15 20.65 21.25 17 21.25Z" fill="var(--color-icon-primary)"/>\n<path d="M11.9998 12.87C11.1598 12.87 10.3098 12.61 9.65978 12.08L6.52978 9.58002C6.20978 9.32002 6.14978 8.85002 6.40978 8.53002C6.66978 8.21002 7.13977 8.15003 7.45977 8.41003L10.5898 10.91C11.3498 11.52 12.6398 11.52 13.3998 10.91L14.5798 9.97002C14.8998 9.71002 15.3798 9.76002 15.6298 10.09C15.8898 10.41 15.8398 10.89 15.5098 11.14L14.3298 12.08C13.6898 12.61 12.8398 12.87 11.9998 12.87Z" fill="var(--color-icon-primary)"/>\n<path d="M19.5 8.75C17.71 8.75 16.25 7.29 16.25 5.5C16.25 3.71 17.71 2.25 19.5 2.25C21.29 2.25 22.75 3.71 22.75 5.5C22.75 7.29 21.29 8.75 19.5 8.75ZM19.5 3.75C18.54 3.75 17.75 4.54 17.75 5.5C17.75 6.46 18.54 7.25 19.5 7.25C20.46 7.25 21.25 6.46 21.25 5.5C21.25 4.54 20.46 3.75 19.5 3.75Z" fill="var(--color-icon-primary)"/>\n</svg>',
53
38
  },
@@ -1,20 +1,18 @@
1
1
  import {
2
2
  Box,
3
3
  Container,
4
+ Form,
5
+ Heading,
4
6
  Icon,
7
+ type ILevoBlockBaseProps,
5
8
  Image,
6
9
  Section,
7
10
  Typography,
8
- Form,
9
- type ILevoBlockBaseProps,
10
- Heading,
11
11
  } from "@levo-so/studio";
12
12
 
13
- import { type IFooter6Content } from "./footer-6.schema";
13
+ import type { IFooter6Content } from "./footer-6.schema";
14
14
 
15
- const Footer6: React.FC<ILevoBlockBaseProps<IFooter6Content>> = ({
16
- content,
17
- }) => (
15
+ const Footer6: React.FC<ILevoBlockBaseProps<IFooter6Content>> = ({ content }) => (
18
16
  <Section elementKey="layout">
19
17
  <Container elementKey="container">
20
18
  <Box elementKey="contentWrapper">
@@ -22,23 +20,19 @@ const Footer6: React.FC<ILevoBlockBaseProps<IFooter6Content>> = ({
22
20
  <Image elementKey="logo" height={26} width={26} alt="footer-logo" />
23
21
  <Typography elementKey="logoDescription" />
24
22
  <Box elementKey="icon_links_levoGroup" data-levo_group>
25
- {((content as any)?.icon_links ?? [])?.map(
26
- (_: any, index: number) => (
27
- <Box
28
- key={`footer-6-icon-${index}`}
29
- data-levo_group_item
30
- elementKey={`icon_links.${index}.content_wrapper`}
31
- >
32
- <Icon elementKey={`icon_links.${index}.icon`} />
33
- <Box elementKey={`icon_links.${index}.text_wrapper`}>
34
- <Typography elementKey={`icon_links.${index}.label`} />
35
- <Typography
36
- elementKey={`icon_links.${index}.description`}
37
- />
38
- </Box>
23
+ {((content as any)?.icon_links ?? [])?.map((_: any, index: number) => (
24
+ <Box
25
+ key={`footer-6-icon-${index}`}
26
+ data-levo_group_item
27
+ elementKey={`icon_links.${index}.content_wrapper`}
28
+ >
29
+ <Icon elementKey={`icon_links.${index}.icon`} />
30
+ <Box elementKey={`icon_links.${index}.text_wrapper`}>
31
+ <Typography elementKey={`icon_links.${index}.label`} />
32
+ <Typography elementKey={`icon_links.${index}.description`} />
39
33
  </Box>
40
- ),
41
- )}
34
+ </Box>
35
+ ))}
42
36
  </Box>
43
37
  </Box>
44
38
 
@@ -50,22 +44,15 @@ const Footer6: React.FC<ILevoBlockBaseProps<IFooter6Content>> = ({
50
44
  data-levo_group_item
51
45
  >
52
46
  <Heading elementKey={`links.${index}.category`} />
53
- <Box
54
- elementKey={`links.${index}.links_levoGroup`}
55
- data-levo_group
56
- >
47
+ <Box elementKey={`links.${index}.links_levoGroup`} data-levo_group>
57
48
  {(link?.links ?? [])?.map((subLink: any, subIndex: number) => (
58
49
  <Box
59
50
  elementKey={`links.${index}.links.${subIndex}.wrapper`}
60
51
  key={`footer-6-links-${index}-${subIndex}`}
61
52
  data-levo_group_item
62
53
  >
63
- <Icon
64
- elementKey={`links.${index}.links.${subIndex}.icon`}
65
- />
66
- <Typography
67
- elementKey={`links.${index}.links.${subIndex}.cta`}
68
- />
54
+ <Icon elementKey={`links.${index}.links.${subIndex}.icon`} />
55
+ <Typography elementKey={`links.${index}.links.${subIndex}.cta`} />
69
56
  </Box>
70
57
  ))}
71
58
  </Box>
@@ -76,17 +63,15 @@ const Footer6: React.FC<ILevoBlockBaseProps<IFooter6Content>> = ({
76
63
  <Form elementKey="contact_form" />
77
64
  <Typography elementKey="social_icons_title" />
78
65
  <Box data-levo_group elementKey={`social_icon_links_levoGroup`}>
79
- {(content?.social_icon_links ?? []).map(
80
- (_: unknown, linkIndex: number) => (
81
- <Box
82
- data-levo_group_item
83
- elementKey={`social_icon_links.${linkIndex}.wrapper`}
84
- key={`footer-6-social-icon-${linkIndex}`}
85
- >
86
- <Icon elementKey={`social_icon_links.${linkIndex}.icon`} />
87
- </Box>
88
- ),
89
- )}
66
+ {(content?.social_icon_links ?? []).map((_: unknown, linkIndex: number) => (
67
+ <Box
68
+ data-levo_group_item
69
+ elementKey={`social_icon_links.${linkIndex}.wrapper`}
70
+ key={`footer-6-social-icon-${linkIndex}`}
71
+ >
72
+ <Icon elementKey={`social_icon_links.${linkIndex}.icon`} />
73
+ </Box>
74
+ ))}
90
75
  </Box>
91
76
  </Box>
92
77
  </Box>
@@ -0,0 +1,144 @@
1
+ import type { IBlock } from "@levo-so/studio";
2
+
3
+ const DEFAULT_CONTENT = {
4
+ layout: null,
5
+ container: null,
6
+ title: "Survey Form",
7
+ description:
8
+ "Ready to discuss your financial ambitions? Connect with our team and let's build your future together.",
9
+ ctas: [{ cta: "Learn More" }, { cta: "Contact Us" }],
10
+ form: null,
11
+ };
12
+
13
+ export type IForm1Content = typeof DEFAULT_CONTENT;
14
+
15
+ export const Form1: IBlock = {
16
+ category_id: "form",
17
+ title: "Form 1",
18
+ key: "form-1",
19
+ version: "v1",
20
+ content_schema: [
21
+ {
22
+ key: "layout",
23
+ label: "Layout",
24
+ field_interface: "LayoutWidget",
25
+ },
26
+ {
27
+ key: "container",
28
+ label: "Container",
29
+ field_interface: "ContainerWidget",
30
+ },
31
+ {
32
+ key: "header",
33
+ label: "Layout Content Wrapper",
34
+ field_interface: "BoxWidget",
35
+ },
36
+ {
37
+ key: "text-wrapper",
38
+ label: "Text Wrapper",
39
+ field_interface: "BoxWidget",
40
+ },
41
+ {
42
+ key: "title",
43
+ label: "Title",
44
+ field_interface: "HeadingWidget",
45
+ },
46
+ {
47
+ key: "description",
48
+ label: "Description",
49
+ field_interface: "TypographyWidget",
50
+ },
51
+ {
52
+ key: "ctas",
53
+ label: "CTAs",
54
+ field_interface: "BoxWidget",
55
+ kind: "group",
56
+ fields: [
57
+ {
58
+ key: "cta",
59
+ label: "CTA",
60
+ field_interface: "ButtonWidget",
61
+ },
62
+ ],
63
+ },
64
+ {
65
+ key: "form",
66
+ label: "Form",
67
+ field_interface: "FormWidget",
68
+ },
69
+ ],
70
+ layouts: [
71
+ {
72
+ key: "default",
73
+ title: "Default",
74
+ styles: {
75
+ layout: {},
76
+ container: {},
77
+ title: {
78
+ tablet: {
79
+ "text-align": "center",
80
+ },
81
+ },
82
+ description: {
83
+ tablet: {
84
+ "text-align": "center",
85
+ },
86
+ },
87
+ ctas_levoGroup: {
88
+ display: "flex",
89
+ gap: "3xl",
90
+ "column-gap": "md",
91
+ },
92
+ form: {
93
+ "border-style": "solid",
94
+ "border-width": "1px",
95
+ "border-color": "var(--color-border)",
96
+ "border-radius": "xl",
97
+ },
98
+ header: {
99
+ display: "flex",
100
+ "align-items": "center",
101
+ "justify-content": "space-between",
102
+ "margin-bottom": "7xl",
103
+ tablet: {
104
+ "flex-direction": "column",
105
+ "row-gap": "md",
106
+ },
107
+ mobile: {
108
+ "row-gap": "base",
109
+ },
110
+ },
111
+ },
112
+ content: DEFAULT_CONTENT,
113
+ config: {
114
+ title: {
115
+ heading: {
116
+ level: 2,
117
+ },
118
+ selectedVariants: {
119
+ Heading_Level: "H4",
120
+ },
121
+ },
122
+ ctas: [
123
+ {
124
+ cta: {
125
+ selectedVariants: {},
126
+ },
127
+ },
128
+ {
129
+ cta: {
130
+ selectedVariants: {
131
+ Button_Variants: "Secondary",
132
+ },
133
+ },
134
+ },
135
+ ],
136
+ description: {
137
+ selectedVariants: {
138
+ Typography_Variants: "Small",
139
+ },
140
+ },
141
+ },
142
+ },
143
+ ],
144
+ };
@@ -0,0 +1,33 @@
1
+ import {
2
+ Box,
3
+ Button,
4
+ Container,
5
+ Form,
6
+ Heading,
7
+ type ILevoBlockBaseProps,
8
+ Section,
9
+ Typography,
10
+ } from "@levo-so/studio";
11
+
12
+ import type { IForm1Content } from "./form-1.schema";
13
+
14
+ const Form1: React.FC<ILevoBlockBaseProps<IForm1Content>> = ({ content }) => (
15
+ <Section elementKey="layout">
16
+ <Container elementKey="container">
17
+ <Box elementKey="header">
18
+ <Box elementKey="text-wrapper">
19
+ <Heading elementKey="title" />
20
+ <Typography elementKey="description" />
21
+ </Box>
22
+ <Box elementKey="ctas_levoGroup" data-levo_group>
23
+ {(content.ctas ?? []).map((_, index) => (
24
+ <Button elementKey={`ctas.${index}.cta`} key={`cta-${index}`} data-levo_group_item />
25
+ ))}
26
+ </Box>
27
+ </Box>
28
+ <Form elementKey="form" />
29
+ </Container>
30
+ </Section>
31
+ );
32
+
33
+ export default Form1;