@levo-so/blocks 0.1.59 → 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 (245) hide show
  1. package/package.json +6 -6
  2. package/src/blocks/about-us/about-us-1.schema.ts +60 -58
  3. package/src/blocks/about-us/about-us-1.tsx +2 -4
  4. package/src/blocks/about-us/about-us-2.schema.ts +165 -42
  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 +27 -36
  8. package/src/blocks/blogs/blog-listing-2.schema.ts +17 -34
  9. package/src/blocks/blogs/blog-listing-2.tsx +21 -27
  10. package/src/blocks/blogs/blog-listing-3.schema.ts +32 -64
  11. package/src/blocks/blogs/blog-listing-3.tsx +21 -27
  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 +351 -180
  15. package/src/blocks/calendar/calendar-1.tsx +60 -25
  16. package/src/blocks/cards/cards-10.schema.ts +278 -331
  17. package/src/blocks/cards/cards-10.tsx +18 -15
  18. package/src/blocks/cards/cards-11.schema.ts +178 -356
  19. package/src/blocks/cards/cards-11.tsx +5 -11
  20. package/src/blocks/cards/cards-12.schema.ts +110 -196
  21. package/src/blocks/cards/cards-12.tsx +4 -10
  22. package/src/blocks/cards/cards-13.schema.ts +131 -120
  23. package/src/blocks/cards/cards-13.tsx +4 -6
  24. package/src/blocks/cards/cards-14.schema.ts +51 -154
  25. package/src/blocks/cards/cards-14.tsx +5 -11
  26. package/src/blocks/cards/cards-15.schema.ts +48 -32
  27. package/src/blocks/cards/cards-15.tsx +15 -6
  28. package/src/blocks/cards/cards-2.schema.ts +76 -88
  29. package/src/blocks/cards/cards-2.tsx +12 -17
  30. package/src/blocks/cards/cards-3.schema.ts +68 -70
  31. package/src/blocks/cards/cards-3.tsx +7 -13
  32. package/src/blocks/cards/cards-4.schema.ts +160 -115
  33. package/src/blocks/cards/cards-4.tsx +22 -17
  34. package/src/blocks/cards/cards-5.schema.ts +76 -70
  35. package/src/blocks/cards/cards-5.tsx +10 -10
  36. package/src/blocks/cards/cards-6.schema.ts +755 -985
  37. package/src/blocks/cards/cards-6.tsx +17 -9
  38. package/src/blocks/cards/cards-7.schema.ts +754 -2250
  39. package/src/blocks/cards/cards-7.tsx +18 -24
  40. package/src/blocks/cards/cards-8.schema.ts +171 -363
  41. package/src/blocks/cards/cards-8.tsx +15 -8
  42. package/src/blocks/cards/cards-9.schema.ts +283 -329
  43. package/src/blocks/cards/cards-9.tsx +28 -12
  44. package/src/blocks/carousel/carousel-1.schema.ts +418 -49
  45. package/src/blocks/carousel/carousel-1.tsx +8 -8
  46. package/src/blocks/carousel/carousel-2.schema.ts +153 -127
  47. package/src/blocks/carousel/carousel-2.tsx +16 -20
  48. package/src/blocks/community/community-1.schema.ts +612 -0
  49. package/src/blocks/community/community-1.tsx +557 -0
  50. package/src/blocks/community/community-post-1.schema.ts +408 -0
  51. package/src/blocks/community/community-post-1.tsx +405 -0
  52. package/src/blocks/contact-us/contact-us-1.schema.ts +25 -43
  53. package/src/blocks/contact-us/contact-us-1.tsx +2 -12
  54. package/src/blocks/contact-us/contact-us-2.schema.ts +39 -17
  55. package/src/blocks/contact-us/contact-us-2.tsx +21 -32
  56. package/src/blocks/content/content-1.schema.ts +163 -234
  57. package/src/blocks/content/content-1.tsx +46 -43
  58. package/src/blocks/content/content-2.schema.ts +117 -35
  59. package/src/blocks/content/content-2.tsx +19 -7
  60. package/src/blocks/content/content-3.schema.ts +215 -205
  61. package/src/blocks/content/content-3.tsx +14 -18
  62. package/src/blocks/content/content-4.schema.ts +105 -89
  63. package/src/blocks/content/content-4.tsx +10 -18
  64. package/src/blocks/content/content-5.schema.ts +301 -278
  65. package/src/blocks/content/content-5.tsx +23 -16
  66. package/src/blocks/content/content-6.schema.ts +432 -250
  67. package/src/blocks/content/content-6.tsx +24 -19
  68. package/src/blocks/content/content-7.schema.ts +200 -197
  69. package/src/blocks/content/content-7.tsx +29 -21
  70. package/src/blocks/content/content-8.schema.ts +28 -23
  71. package/src/blocks/content/content-8.tsx +3 -3
  72. package/src/blocks/content/content-9.schema.ts +64 -2208
  73. package/src/blocks/content/content-9.tsx +31 -43
  74. package/src/blocks/cta/cta-1.schema.ts +23 -128
  75. package/src/blocks/cta/cta-2.schema.ts +46 -69
  76. package/src/blocks/cta/cta-2.tsx +2 -6
  77. package/src/blocks/cta/cta-3.schema.ts +77 -72
  78. package/src/blocks/cta/cta-3.tsx +2 -6
  79. package/src/blocks/embed/embed-1.schema.ts +30 -52
  80. package/src/blocks/embed/embed-1.tsx +1 -9
  81. package/src/blocks/event/ClientOnly.tsx +1 -4
  82. package/src/blocks/event/event-details.schema.ts +23 -32
  83. package/src/blocks/event/event-details.tsx +9 -23
  84. package/src/blocks/event/event-listing-2.schema.ts +19 -38
  85. package/src/blocks/event/event-listing-2.tsx +29 -38
  86. package/src/blocks/event/event-listing-3.schema.ts +10 -20
  87. package/src/blocks/event/event-listing-3.tsx +26 -30
  88. package/src/blocks/event/event-listing-4.schema.ts +40 -80
  89. package/src/blocks/event/event-listing-4.tsx +22 -28
  90. package/src/blocks/event/event-listing.schema.ts +12 -24
  91. package/src/blocks/event/event-listing.tsx +26 -30
  92. package/src/blocks/faq/faq-1.schema.ts +150 -112
  93. package/src/blocks/faq/faq-1.tsx +31 -33
  94. package/src/blocks/faq/faq-2.schema.ts +132 -77
  95. package/src/blocks/faq/faq-2.tsx +21 -11
  96. package/src/blocks/faq/faq-3.schema.ts +178 -107
  97. package/src/blocks/faq/faq-3.tsx +30 -22
  98. package/src/blocks/features/features-1/features-1.schema.ts +11 -3
  99. package/src/blocks/features/features-1/features-1.tsx +12 -5
  100. package/src/blocks/features/features-1/variants/default.ts +176 -62
  101. package/src/blocks/features/features-1/variants/index.ts +1 -1
  102. package/src/blocks/features/features-1/variants/stylized-cards-v1.ts +392 -54
  103. package/src/blocks/features/features-1/variants/stylized-cards-v2.ts +119 -103
  104. package/src/blocks/features/features-1/variants/stylized-cards-v3.ts +16 -199
  105. package/src/blocks/features/features-2.schema.ts +149 -48
  106. package/src/blocks/features/features-2.tsx +18 -12
  107. package/src/blocks/features/features-3.schema.ts +255 -68
  108. package/src/blocks/features/features-3.tsx +25 -15
  109. package/src/blocks/features/features-4.schema.ts +367 -188
  110. package/src/blocks/features/features-4.tsx +12 -8
  111. package/src/blocks/features/features-5.schema.ts +195 -200
  112. package/src/blocks/features/features-5.tsx +14 -14
  113. package/src/blocks/features/features-6.schema.ts +230 -215
  114. package/src/blocks/features/features-6.tsx +28 -34
  115. package/src/blocks/filter-listing/filter-listing-1.tsx +12 -36
  116. package/src/blocks/floating-buttons/floating-button-1.schema.ts +100 -0
  117. package/src/blocks/floating-buttons/floating-button-1.tsx +14 -0
  118. package/src/blocks/footer/footer-1.schema.ts +110 -48
  119. package/src/blocks/footer/footer-1.tsx +17 -31
  120. package/src/blocks/footer/footer-2.schema.ts +230 -34
  121. package/src/blocks/footer/footer-2.tsx +19 -29
  122. package/src/blocks/footer/footer-3.schema.ts +335 -59
  123. package/src/blocks/footer/footer-3.tsx +11 -26
  124. package/src/blocks/footer/footer-4.schema.ts +139 -76
  125. package/src/blocks/footer/footer-4.tsx +37 -55
  126. package/src/blocks/footer/footer-5.schema.ts +138 -60
  127. package/src/blocks/footer/footer-5.tsx +16 -30
  128. package/src/blocks/footer/footer-6.schema.ts +62 -149
  129. package/src/blocks/footer/footer-6.tsx +30 -44
  130. package/src/blocks/form/form-1.schema.ts +144 -0
  131. package/src/blocks/form/form-1.tsx +33 -0
  132. package/src/blocks/hero/hero-1.schema.ts +153 -101
  133. package/src/blocks/hero/hero-1.tsx +4 -4
  134. package/src/blocks/hero/hero-10.schema.ts +9 -31
  135. package/src/blocks/hero/hero-10.tsx +4 -4
  136. package/src/blocks/hero/hero-11.schema.ts +196 -89
  137. package/src/blocks/hero/hero-11.tsx +5 -10
  138. package/src/blocks/hero/hero-12.schema.ts +111 -192
  139. package/src/blocks/hero/hero-12.tsx +4 -7
  140. package/src/blocks/hero/hero-13.schema.ts +36 -30
  141. package/src/blocks/hero/hero-13.tsx +1 -1
  142. package/src/blocks/hero/hero-2.schema.ts +30 -58
  143. package/src/blocks/hero/hero-2.tsx +3 -21
  144. package/src/blocks/hero/hero-3.schema.ts +70 -90
  145. package/src/blocks/hero/hero-3.tsx +6 -15
  146. package/src/blocks/hero/hero-4.schema.ts +246 -73
  147. package/src/blocks/hero/hero-4.tsx +22 -16
  148. package/src/blocks/hero/hero-5.schema.ts +104 -47
  149. package/src/blocks/hero/hero-5.tsx +21 -12
  150. package/src/blocks/hero/hero-6.schema.ts +127 -258
  151. package/src/blocks/hero/hero-6.tsx +6 -6
  152. package/src/blocks/hero/hero-7.schema.ts +90 -43
  153. package/src/blocks/hero/hero-7.tsx +6 -4
  154. package/src/blocks/hero/hero-8.schema.ts +342 -138
  155. package/src/blocks/hero/hero-8.tsx +23 -13
  156. package/src/blocks/hero/hero-9.schema.ts +111 -86
  157. package/src/blocks/hero/hero-9.tsx +12 -4
  158. package/src/blocks/index.ts +12 -8
  159. package/src/blocks/jobs/jobs-1.schema.ts +990 -0
  160. package/src/blocks/jobs/jobs-1.tsx +145 -0
  161. package/src/blocks/logos/logos-1.schema.ts +370 -36
  162. package/src/blocks/logos/logos-1.tsx +7 -7
  163. package/src/blocks/navbar/navbar-1.schema.ts +15 -28
  164. package/src/blocks/navbar/navbar-1.tsx +24 -60
  165. package/src/blocks/navbar/navbar-2.schema.ts +14 -28
  166. package/src/blocks/navbar/navbar-2.tsx +26 -56
  167. package/src/blocks/navbar/navbar-3.schema.ts +11 -22
  168. package/src/blocks/navbar/navbar-3.tsx +33 -82
  169. package/src/blocks/navbar/navbar-4.schema.ts +14343 -0
  170. package/src/blocks/navbar/navbar-4.tsx +546 -0
  171. package/src/blocks/polling/polling-1.schema.ts +2 -21
  172. package/src/blocks/polling/polling-1.tsx +24 -39
  173. package/src/blocks/pricing/pricing-1.schema.ts +307 -290
  174. package/src/blocks/pricing/pricing-1.tsx +32 -42
  175. package/src/blocks/products/products-listing-1.schema.ts +115 -36
  176. package/src/blocks/products/products-listing-1.tsx +15 -13
  177. package/src/blocks/products/products-listing-2.schema.ts +178 -220
  178. package/src/blocks/products/products-listing-2.tsx +29 -16
  179. package/src/blocks/products/products-listing-3.schema.ts +412 -154
  180. package/src/blocks/products/products-listing-3.tsx +102 -73
  181. package/src/blocks/profile/profile-1.schema.ts +60 -49
  182. package/src/blocks/profile/profile-1.tsx +5 -10
  183. package/src/blocks/profile/profile-2.schema.ts +71 -92
  184. package/src/blocks/profile/profile-2.tsx +6 -7
  185. package/src/blocks/profile/profile-3.schema.ts +141 -529
  186. package/src/blocks/profile/profile-3.tsx +19 -41
  187. package/src/blocks/{blogs/blog-post-2.schema.ts → profile/profile-4.schema.ts} +75 -97
  188. package/src/blocks/{blogs/blog-post-2.tsx → profile/profile-4.tsx} +32 -61
  189. package/src/blocks/{blogs/blog-post-3.schema.ts → profile/profile-5.schema.ts} +6 -6
  190. package/src/blocks/{blogs/blog-post-3.tsx → profile/profile-5.tsx} +6 -11
  191. package/src/blocks/services/service-1.schema.ts +210 -830
  192. package/src/blocks/services/service-1.tsx +46 -59
  193. package/src/blocks/services/service-2.schema.ts +92 -80
  194. package/src/blocks/services/service-2.tsx +13 -7
  195. package/src/blocks/services/service-3.schema.ts +74 -86
  196. package/src/blocks/services/service-3.tsx +44 -45
  197. package/src/blocks/stats/stats-1.schema.ts +225 -21
  198. package/src/blocks/stats/stats-1.tsx +7 -14
  199. package/src/blocks/stats/stats-2.schema.ts +13 -5
  200. package/src/blocks/stats/stats-2.tsx +12 -15
  201. package/src/blocks/stats/variants/default.ts +59 -41
  202. package/src/blocks/stats/variants/hero.ts +64 -31
  203. package/src/blocks/stats/variants/index.ts +1 -1
  204. package/src/blocks/tabs/tab-1.schema.ts +103 -409
  205. package/src/blocks/tabs/tab-1.tsx +47 -53
  206. package/src/blocks/tabs/tab-2.schema.ts +207 -290
  207. package/src/blocks/tabs/tab-2.tsx +20 -9
  208. package/src/blocks/team/team-1.schema.ts +593 -76
  209. package/src/blocks/team/team-1.tsx +16 -22
  210. package/src/blocks/team/team-2.schema.ts +621 -1453
  211. package/src/blocks/team/team-2.tsx +19 -34
  212. package/src/blocks/team/team-3.schema.ts +127 -78
  213. package/src/blocks/team/team-3.tsx +9 -14
  214. package/src/blocks/team/team-4.schema.ts +197 -63
  215. package/src/blocks/team/team-4.tsx +25 -26
  216. package/src/blocks/team/team-5.schema.ts +65 -54
  217. package/src/blocks/team/team-5.tsx +13 -4
  218. package/src/blocks/termsAndPrivacy/terms-and-conditions-1.schema.ts +9 -26
  219. package/src/blocks/termsAndPrivacy/terms-and-conditions-1.tsx +4 -6
  220. package/src/blocks/testimonial/testimonial-1.schema.ts +713 -65
  221. package/src/blocks/testimonial/testimonial-1.tsx +12 -23
  222. package/src/blocks/testimonial/testimonial-2.schema.ts +1316 -354
  223. package/src/blocks/testimonial/testimonial-2.tsx +21 -37
  224. package/src/blocks/testimonial/testimonial-3.schema.ts +210 -74
  225. package/src/blocks/testimonial/testimonial-3.tsx +17 -27
  226. package/src/blocks/testimonial/testimonial-4.schema.ts +353 -1049
  227. package/src/blocks/testimonial/testimonial-4.tsx +16 -34
  228. package/src/blocks/testimonial/testimonial-5/variants/default.ts +155 -171
  229. package/src/blocks/testimonial/testimonial-5/variants/index.ts +1 -1
  230. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithLogo.ts +201 -501
  231. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithRatings.ts +166 -316
  232. package/src/blocks/testimonial/testimonial-5.schema.ts +2 -6
  233. package/src/blocks/testimonial/testimonial-5.tsx +15 -25
  234. package/src/blocks/testimonial/testimonial-6.schema.ts +226 -315
  235. package/src/blocks/testimonial/testimonial-6.tsx +9 -25
  236. package/src/blocks/testimonial/testimonial-7.schema.ts +74 -45
  237. package/src/blocks/testimonial/testimonial-7.tsx +16 -27
  238. package/src/blocks/timeline/timeline-1.schema.ts +166 -153
  239. package/src/blocks/timeline/timeline-1.tsx +6 -7
  240. package/src/blocks/users/edit-profile.schema.ts +56 -44
  241. package/src/blocks/users/edit-profile.tsx +23 -28
  242. package/src/constants/index.ts +16 -0
  243. package/src/index.ts +1 -1
  244. package/src/schemas/blocks.ts +17 -5
  245. package/src/schemas/categories.ts +26 -2
@@ -1,28 +1,57 @@
1
1
  import type { IBlock } from "@levo-so/studio";
2
2
 
3
- const DEFAULT_IMAGE = {
4
- id: "k5KVTx5M8f9M",
5
- filename: "image.png",
3
+ const MEDIA_1 = {
4
+ id: "Imv2Br3xZnrf",
5
+ filename: "product-listing-2-1.jpg",
6
6
  kind: "image",
7
- location: "https://static.levostg.online/W6OEVMW8/image-8eR70ULi9jcm.png",
7
+ location: "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f.jpg",
8
8
  srcset: {
9
- "1080w":
10
- "https://static.levostg.online/W6OEVMW8/image-8eR70ULi9jcm-1080w.webp",
11
- "1200w":
12
- "https://static.levostg.online/W6OEVMW8/image-8eR70ULi9jcm-1200w.webp",
13
- "1920w":
14
- "https://static.levostg.online/W6OEVMW8/image-8eR70ULi9jcm-1920w.webp",
15
- "320w":
16
- "https://static.levostg.online/W6OEVMW8/image-8eR70ULi9jcm-320w.webp",
17
- "640w":
18
- "https://static.levostg.online/W6OEVMW8/image-8eR70ULi9jcm-640w.webp",
19
- "750w":
20
- "https://static.levostg.online/W6OEVMW8/image-8eR70ULi9jcm-750w.webp",
21
- "828w":
22
- "https://static.levostg.online/W6OEVMW8/image-8eR70ULi9jcm-828w.webp",
23
- path: "https://static.levostg.online/W6OEVMW8/image-8eR70ULi9jcm-1920w.webp 1920w, https://static.levostg.online/W6OEVMW8/image-8eR70ULi9jcm-320w.webp 320w, https://static.levostg.online/W6OEVMW8/image-8eR70ULi9jcm-828w.webp 828w, https://static.levostg.online/W6OEVMW8/image-8eR70ULi9jcm-750w.webp 750w, https://static.levostg.online/W6OEVMW8/image-8eR70ULi9jcm-640w.webp 640w, https://static.levostg.online/W6OEVMW8/image-8eR70ULi9jcm-1080w.webp 1080w, https://static.levostg.online/W6OEVMW8/image-8eR70ULi9jcm-1200w.webp 1200w",
9
+ "1080w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-1080w.webp",
10
+ "1200w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-1200w.webp",
11
+ "1920w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-1920w.webp",
12
+ "320w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-320w.webp",
13
+ "640w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-640w.webp",
14
+ "750w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-750w.webp",
15
+ "828w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-828w.webp",
16
+ path: "https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-1-w9frJuthKQ8f-1920w.webp 1920w",
24
17
  },
25
- mimetype: "image/png",
18
+ mimetype: "image/jpeg",
19
+ };
20
+
21
+ const MEDIA_2 = {
22
+ id: "pKknltJ2E9tp",
23
+ filename: "product-listing-2-3.jpg",
24
+ kind: "image",
25
+ location: "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4.jpg",
26
+ srcset: {
27
+ "1080w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-1080w.webp",
28
+ "1200w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-1200w.webp",
29
+ "1920w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-1920w.webp",
30
+ "320w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-320w.webp",
31
+ "640w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-640w.webp",
32
+ "750w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-750w.webp",
33
+ "828w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-828w.webp",
34
+ path: "https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-1080w.webp 1080w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-3-aytUN3yzqdh4-750w.webp 750w",
35
+ },
36
+ mimetype: "image/jpeg",
37
+ };
38
+
39
+ const MEDIA_3 = {
40
+ id: "jfwkpeTXrkef",
41
+ filename: "product-listing-2-2.jpg",
42
+ kind: "image",
43
+ location: "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk.jpg",
44
+ srcset: {
45
+ "1080w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-1080w.webp",
46
+ "1200w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-1200w.webp",
47
+ "1920w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-1920w.webp",
48
+ "320w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-320w.webp",
49
+ "640w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-640w.webp",
50
+ "750w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-750w.webp",
51
+ "828w": "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-828w.webp",
52
+ path: "https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-1200w.webp 1200w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-1920w.webp 1920w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-320w.webp 320w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-640w.webp 640w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-828w.webp 828w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-750w.webp 750w, https://static.levocdn.com/WLZ1TXTD/product-listing-2-2-iPDjfZlgejpk-1080w.webp 1080w",
53
+ },
54
+ mimetype: "image/jpeg",
26
55
  };
27
56
 
28
57
  const DEFAULT_CONTENT = {
@@ -30,12 +59,14 @@ const DEFAULT_CONTENT = {
30
59
  container: null,
31
60
  header_container: null,
32
61
  title: "Our Bestsellers",
33
- header_cta: "View All Bestsellers",
62
+ description: "Our Bestsellers Our Bestsellers Our Bestsellers Our Bestsellers Our Bestsellers ",
63
+ header_ctas_levoGroup: null,
64
+ header_ctas: [{ header_cta: "View All Bestsellers" }, { header_cta: "Learn More" }],
34
65
  products_levoGroup: null,
35
66
  products: [
36
67
  {
37
68
  card: null,
38
- image: DEFAULT_IMAGE,
69
+ image: MEDIA_1,
39
70
  title_price_container: null,
40
71
  title: "Calm Daily CBD Oil",
41
72
  price: "$25",
@@ -43,7 +74,8 @@ const DEFAULT_CONTENT = {
43
74
  description: "25mg CBD per serving",
44
75
  rating_container: null,
45
76
  rating_text: "4.2",
46
- cta: "Add to Cart",
77
+ ctas_levoGroup: null,
78
+ ctas: [{ cta: "Add to Cart" }, { cta: "Learn More" }],
47
79
  rating_icon: {
48
80
  kind: "icon",
49
81
  data: {
@@ -57,7 +89,7 @@ const DEFAULT_CONTENT = {
57
89
  },
58
90
  {
59
91
  card: null,
60
- image: DEFAULT_IMAGE,
92
+ image: MEDIA_2,
61
93
  title_price_container: null,
62
94
  title: "Calm Daily CBD Oil",
63
95
  price: "$25",
@@ -65,7 +97,8 @@ const DEFAULT_CONTENT = {
65
97
  description: "25mg CBD per serving",
66
98
  rating_container: null,
67
99
  rating_text: "4.2",
68
- cta: "Add to Cart",
100
+ ctas_levoGroup: null,
101
+ ctas: [{ cta: "Add to Cart" }, { cta: "Learn More" }],
69
102
  rating_icon: {
70
103
  kind: "icon",
71
104
  data: {
@@ -79,7 +112,7 @@ const DEFAULT_CONTENT = {
79
112
  },
80
113
  {
81
114
  card: null,
82
- image: DEFAULT_IMAGE,
115
+ image: MEDIA_3,
83
116
  title_price_container: null,
84
117
  title: "Calm Daily CBD Oil",
85
118
  price: "$25",
@@ -87,7 +120,8 @@ const DEFAULT_CONTENT = {
87
120
  description: "25mg CBD per serving",
88
121
  rating_container: null,
89
122
  rating_text: "4.2",
90
- cta: "Add to Cart",
123
+ ctas_levoGroup: null,
124
+ ctas: [{ cta: "Add to Cart" }, { cta: "Learn More" }],
91
125
  rating_icon: {
92
126
  kind: "icon",
93
127
  data: {
@@ -127,15 +161,33 @@ export const ProductsListing2: IBlock = {
127
161
  label: "Header Container",
128
162
  field_interface: "BoxWidget",
129
163
  },
164
+ {
165
+ key: "header_content",
166
+ label: "Header Content",
167
+ field_interface: "BoxWidget",
168
+ },
130
169
  {
131
170
  key: "title",
132
171
  label: "Title",
133
172
  field_interface: "HeadingWidget",
134
173
  },
135
174
  {
136
- key: "header_cta",
137
- label: "Header CTA",
138
- field_interface: "ButtonWidget",
175
+ key: "description",
176
+ label: "Description",
177
+ field_interface: "TypographyWidget",
178
+ },
179
+ {
180
+ key: "header_ctas",
181
+ label: "Header CTAs",
182
+ field_interface: "BoxWidget",
183
+ kind: "group",
184
+ fields: [
185
+ {
186
+ key: "header_cta",
187
+ label: "Header CTA",
188
+ field_interface: "ButtonWidget",
189
+ },
190
+ ],
139
191
  },
140
192
  {
141
193
  key: "products",
@@ -194,9 +246,17 @@ export const ProductsListing2: IBlock = {
194
246
  field_interface: "TypographyWidget",
195
247
  },
196
248
  {
197
- key: "cta",
198
- label: "CTA Button",
199
- field_interface: "ButtonWidget",
249
+ key: "ctas",
250
+ label: "CTA Buttons",
251
+ kind: "group",
252
+ field_interface: "BoxWidget",
253
+ fields: [
254
+ {
255
+ key: "cta",
256
+ label: "CTA Button",
257
+ field_interface: "ButtonWidget",
258
+ },
259
+ ],
200
260
  },
201
261
  ],
202
262
  },
@@ -206,17 +266,8 @@ export const ProductsListing2: IBlock = {
206
266
  key: "default",
207
267
  title: "Default",
208
268
  styles: {
209
- layout: {
210
- "padding-top": "3xl",
211
- "padding-bottom": "3xl",
212
- },
213
- container: {
214
- "max-width": "1280px",
215
- "margin-left": "auto",
216
- "margin-right": "auto",
217
- "padding-left": "lg",
218
- "padding-right": "lg",
219
- },
269
+ layout: {},
270
+ container: {},
220
271
  header_container: {
221
272
  display: "flex",
222
273
  "justify-content": "space-between",
@@ -228,10 +279,14 @@ export const ProductsListing2: IBlock = {
228
279
  "row-gap": "lg",
229
280
  },
230
281
  },
231
- title: {
232
- color: "text-1",
282
+ title: {},
283
+ header_ctas_levoGroup: {
284
+ display: "flex",
285
+ "flex-direction": "row",
286
+ "align-items": "center",
287
+ gap: "sm",
233
288
  },
234
- header_cta: {},
289
+ header_ctas: Array(2).map(() => ({})),
235
290
  products_levoGroup: {
236
291
  display: "grid",
237
292
  "grid-template-columns": "repeat(3, minmax(0, 1fr))",
@@ -268,12 +323,8 @@ export const ProductsListing2: IBlock = {
268
323
  "padding-left": "none",
269
324
  "padding-right": "none",
270
325
  },
271
- title: {
272
- color: "text-1",
273
- },
274
- price: {
275
- color: "text-1",
276
- },
326
+ title: {},
327
+ price: {},
277
328
  description_container: {
278
329
  display: "flex",
279
330
  "justify-content": "space-between",
@@ -283,7 +334,6 @@ export const ProductsListing2: IBlock = {
283
334
  "padding-right": "none",
284
335
  },
285
336
  description: {
286
- color: "text-2",
287
337
  "margin-bottom": "sm",
288
338
  },
289
339
  rating_container: {
@@ -296,12 +346,16 @@ export const ProductsListing2: IBlock = {
296
346
  width: "16px",
297
347
  height: "16px",
298
348
  },
299
- rating_text: {
300
- color: "text-2",
301
- },
302
- cta: {
303
- width: "100%",
349
+ rating_text: {},
350
+ ctas_levoGroup: {
351
+ display: "flex",
352
+ "flex-direction": "column",
353
+ gap: "sm",
354
+ "margin-top": "md",
304
355
  },
356
+ ctas: Array(2)
357
+ .fill(0)
358
+ .map(() => ({ cta: {} })),
305
359
  },
306
360
  {
307
361
  card: {
@@ -326,12 +380,8 @@ export const ProductsListing2: IBlock = {
326
380
  "padding-left": "none",
327
381
  "padding-right": "none",
328
382
  },
329
- title: {
330
- color: "text-1",
331
- },
332
- price: {
333
- color: "text-1",
334
- },
383
+ title: {},
384
+ price: {},
335
385
  description_container: {
336
386
  display: "flex",
337
387
  "justify-content": "space-between",
@@ -341,7 +391,6 @@ export const ProductsListing2: IBlock = {
341
391
  "padding-right": "none",
342
392
  },
343
393
  description: {
344
- color: "text-2",
345
394
  "margin-bottom": "sm",
346
395
  },
347
396
  rating_container: {
@@ -354,12 +403,16 @@ export const ProductsListing2: IBlock = {
354
403
  width: "16px",
355
404
  height: "16px",
356
405
  },
357
- rating_text: {
358
- color: "text-2",
359
- },
360
- cta: {
361
- width: "100%",
406
+ rating_text: {},
407
+ ctas_levoGroup: {
408
+ display: "flex",
409
+ "flex-direction": "column",
410
+ gap: "sm",
411
+ "margin-top": "md",
362
412
  },
413
+ ctas: Array(2)
414
+ .fill(0)
415
+ .map(() => ({ cta: {} })),
363
416
  },
364
417
  {
365
418
  card: {
@@ -384,12 +437,8 @@ export const ProductsListing2: IBlock = {
384
437
  "padding-left": "none",
385
438
  "padding-right": "none",
386
439
  },
387
- title: {
388
- color: "text-1",
389
- },
390
- price: {
391
- color: "text-1",
392
- },
440
+ title: {},
441
+ price: {},
393
442
  description_container: {
394
443
  display: "flex",
395
444
  "justify-content": "space-between",
@@ -399,7 +448,6 @@ export const ProductsListing2: IBlock = {
399
448
  "padding-right": "none",
400
449
  },
401
450
  description: {
402
- color: "text-2",
403
451
  "margin-bottom": "sm",
404
452
  },
405
453
  rating_container: {
@@ -412,148 +460,16 @@ export const ProductsListing2: IBlock = {
412
460
  width: "16px",
413
461
  height: "16px",
414
462
  },
415
- rating_text: {
416
- color: "text-2",
417
- },
418
- cta: {
419
- width: "100%",
420
- },
421
- },
422
- {
423
- card: {
424
- "background-color": "background-1",
425
- "border-radius": "base",
426
- "box-shadow": "default",
427
- "padding-top": "none",
428
- "padding-bottom": "lg",
429
- "padding-left": "none",
430
- "padding-right": "none",
431
- "border-color": "border",
432
- "border-width": "1px",
433
- },
434
- image: {
435
- width: "100%",
436
- height: "280px",
437
- "border-radius": "base",
438
- "margin-bottom": "lg",
439
- "object-fit": "cover",
440
- },
441
- title_price_container: {
463
+ rating_text: {},
464
+ ctas_levoGroup: {
442
465
  display: "flex",
443
- "justify-content": "space-between",
444
- "align-items": "flex-start",
445
- "margin-bottom": "sm",
446
- "padding-left": "lg",
447
- "padding-right": "lg",
448
- },
449
- title: {
450
- color: "text-1",
451
- },
452
- price: {
453
- color: "text-1",
454
- },
455
- description_container: {
456
- "padding-left": "lg",
457
- "padding-right": "lg",
458
- "margin-bottom": "lg",
459
- },
460
- description: {
461
- color: "text-2",
462
- "margin-bottom": "sm",
463
- },
464
- rating_container: {
465
- display: "flex",
466
- "align-items": "center",
467
- "column-gap": "xs",
468
- },
469
- rating_icon: {
470
- color: "text-2",
471
- width: "16px",
472
- height: "16px",
473
- },
474
- rating_text: {
475
- color: "text-2",
476
- },
477
- cta: {
478
- width: "100%",
479
- "background-color": "background-1",
480
- color: "text-1",
481
- "padding-top": "sm",
482
- "padding-bottom": "sm",
483
- "border-color": "border",
484
- "border-width": "1px",
485
- "margin-left": "lg",
486
- "margin-right": "lg",
487
- "justify-content": "center",
488
- },
489
- },
490
- {
491
- card: {
492
- "background-color": "background-1",
493
- "border-radius": "base",
494
- "box-shadow": "default",
495
- "padding-top": "none",
496
- "padding-bottom": "lg",
497
- "padding-left": "none",
498
- "padding-right": "none",
499
- "border-color": "border",
500
- "border-width": "1px",
501
- },
502
- image: {
503
- width: "100%",
504
- height: "280px",
505
- "border-radius": "base",
506
- "margin-bottom": "lg",
507
- "object-fit": "cover",
508
- },
509
- title_price_container: {
510
- display: "flex",
511
- "justify-content": "space-between",
512
- "align-items": "flex-start",
513
- "margin-bottom": "sm",
514
- "padding-left": "lg",
515
- "padding-right": "lg",
516
- },
517
- title: {
518
- color: "text-1",
519
- },
520
- price: {
521
- color: "text-1",
522
- },
523
- description_container: {
524
- "padding-left": "lg",
525
- "padding-right": "lg",
526
- "margin-bottom": "lg",
527
- },
528
- description: {
529
- color: "text-2",
530
- "margin-bottom": "sm",
531
- },
532
- rating_container: {
533
- display: "flex",
534
- "align-items": "center",
535
- "column-gap": "xs",
536
- },
537
- rating_icon: {
538
- color: "text-2",
539
- width: "16px",
540
- height: "16px",
541
- },
542
- rating_text: {
543
- color: "text-2",
544
- },
545
- cta: {
546
- width: "100%",
547
- "background-color": "background-1",
548
- color: "text-1",
549
- "padding-top": "sm",
550
- "padding-bottom": "sm",
551
- "border-color": "border",
552
- "border-width": "1px",
553
- "margin-left": "lg",
554
- "margin-right": "lg",
555
- "justify-content": "center",
466
+ "flex-direction": "column",
467
+ gap: "sm",
468
+ "margin-top": "md",
556
469
  },
470
+ ctas: Array(2)
471
+ .fill(0)
472
+ .map(() => ({ cta: {} })),
557
473
  },
558
474
  ],
559
475
  },
@@ -561,10 +477,10 @@ export const ProductsListing2: IBlock = {
561
477
  config: {
562
478
  title: {
563
479
  heading: {
564
- level: "1",
480
+ level: "2",
565
481
  },
566
482
  selectedVariants: {
567
- Heading_Level: "H1",
483
+ Heading_Level: "H2",
568
484
  },
569
485
  },
570
486
  products: [
@@ -573,6 +489,20 @@ export const ProductsListing2: IBlock = {
573
489
  selectedVariants: {
574
490
  Heading_Level: "H4",
575
491
  },
492
+ heading: {
493
+ level: "4",
494
+ },
495
+ },
496
+ description: {
497
+ selectedVariants: {},
498
+ },
499
+ rating_text: {
500
+ selectedVariants: {},
501
+ },
502
+ price: {
503
+ selectedVariants: {
504
+ Typography_Variants: "Large",
505
+ },
576
506
  },
577
507
  },
578
508
  {
@@ -580,6 +510,20 @@ export const ProductsListing2: IBlock = {
580
510
  selectedVariants: {
581
511
  Heading_Level: "H4",
582
512
  },
513
+ heading: {
514
+ level: "4",
515
+ },
516
+ },
517
+ description: {
518
+ selectedVariants: {},
519
+ },
520
+ rating_text: {
521
+ selectedVariants: {},
522
+ },
523
+ price: {
524
+ selectedVariants: {
525
+ Typography_Variants: "Large",
526
+ },
583
527
  },
584
528
  },
585
529
  {
@@ -587,6 +531,20 @@ export const ProductsListing2: IBlock = {
587
531
  selectedVariants: {
588
532
  Heading_Level: "H4",
589
533
  },
534
+ heading: {
535
+ level: "4",
536
+ },
537
+ },
538
+ description: {
539
+ selectedVariants: {},
540
+ },
541
+ rating_text: {
542
+ selectedVariants: {},
543
+ },
544
+ price: {
545
+ selectedVariants: {
546
+ Typography_Variants: "Large",
547
+ },
590
548
  },
591
549
  },
592
550
  ],
@@ -1,33 +1,38 @@
1
1
  import {
2
- type ILevoBlockBaseProps,
2
+ Box,
3
3
  Button,
4
+ Container,
4
5
  Heading,
6
+ Icon,
7
+ type ILevoBlockBaseProps,
5
8
  Image,
6
- Typography,
7
- Container,
8
9
  Section,
9
- Box,
10
- Icon,
10
+ Typography,
11
11
  } from "@levo-so/studio";
12
12
 
13
13
  import type { IProductsListing2Content } from "./products-listing-2.schema";
14
14
 
15
- const ProductsListing2: React.FC<
16
- ILevoBlockBaseProps<IProductsListing2Content>
17
- > = ({ content }) => (
15
+ const ProductsListing2: React.FC<ILevoBlockBaseProps<IProductsListing2Content>> = ({ content }) => (
18
16
  <Section elementKey="layout">
19
17
  <Container elementKey="container">
20
18
  <Box elementKey="header_container">
21
- <Heading elementKey="title" />
22
- <Button elementKey="header_cta" />
19
+ <Box elementKey="header_content">
20
+ <Heading elementKey="title" />
21
+ <Typography elementKey="description" />
22
+ </Box>
23
+ <Box elementKey="header_ctas_levoGroup" data-levo_group>
24
+ {(content.header_ctas ?? []).map((_, index) => (
25
+ <Button
26
+ key={`header_ctas.${index}.header_cta`}
27
+ elementKey={`header_ctas.${index}.header_cta`}
28
+ data-levo_group_item
29
+ />
30
+ ))}
31
+ </Box>
23
32
  </Box>
24
33
  <Box data-levo_group elementKey="products_levoGroup">
25
34
  {(content.products ?? []).map((_, index) => (
26
- <Box
27
- data-levo_group_item
28
- elementKey={`products.${index}.card`}
29
- key={index}
30
- >
35
+ <Box data-levo_group_item elementKey={`products.${index}.card`} key={index}>
31
36
  <Image
32
37
  alt="product image"
33
38
  elementKey={`products.${index}.image`}
@@ -45,7 +50,15 @@ const ProductsListing2: React.FC<
45
50
  <Typography elementKey={`products.${index}.rating_text`} />
46
51
  </Box>
47
52
  </Box>
48
- <Button elementKey={`products.${index}.cta`} />
53
+ <Box elementKey={`products.${index}.ctas_levoGroup`} data-levo_group>
54
+ {(content?.products?.[index]?.ctas ?? []).map((_, ctaIndex) => (
55
+ <Button
56
+ key={`products.${index}.ctas.${ctaIndex}.cta`}
57
+ elementKey={`products.${index}.ctas.${ctaIndex}.cta`}
58
+ data-levo_group_item
59
+ />
60
+ ))}
61
+ </Box>
49
62
  </Box>
50
63
  ))}
51
64
  </Box>