@levo-so/blocks 0.1.101 → 0.1.103

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 (177) hide show
  1. package/package.json +24 -23
  2. package/src/blocks/about-us/about-us-1.schema.ts +302 -295
  3. package/src/blocks/about-us/about-us-2.schema.ts +225 -220
  4. package/src/blocks/blogs/blog-author-1.schema.ts +719 -0
  5. package/src/blocks/blogs/blog-author-1.tsx +121 -0
  6. package/src/blocks/blogs/blog-listing-1.tsx +111 -33
  7. package/src/blocks/blogs/blog-listing-2.schema.ts +15 -33
  8. package/src/blocks/blogs/blog-listing-2.tsx +118 -33
  9. package/src/blocks/blogs/blog-listing-3.schema.ts +10 -22
  10. package/src/blocks/blogs/blog-listing-3.tsx +118 -33
  11. package/src/blocks/blogs/blog-post-1.schema.ts +766 -16
  12. package/src/blocks/blogs/blog-post-1.tsx +272 -39
  13. package/src/blocks/calendar/calendar-1.schema.ts +641 -192
  14. package/src/blocks/calendar/calendar-1.tsx +1 -0
  15. package/src/blocks/cards/cards-10.schema.ts +557 -544
  16. package/src/blocks/cards/cards-11.schema.ts +525 -419
  17. package/src/blocks/cards/cards-12.schema.ts +538 -147
  18. package/src/blocks/cards/cards-13.schema.ts +482 -312
  19. package/src/blocks/cards/cards-14.schema.ts +423 -196
  20. package/src/blocks/cards/cards-15.schema.ts +309 -143
  21. package/src/blocks/cards/cards-16.schema.ts +1277 -175
  22. package/src/blocks/cards/cards-17.schema.ts +2908 -1303
  23. package/src/blocks/cards/cards-18.schema.ts +1404 -217
  24. package/src/blocks/cards/cards-19.schema.ts +1105 -1084
  25. package/src/blocks/cards/cards-19.tsx +4 -5
  26. package/src/blocks/cards/cards-2.schema.ts +513 -42
  27. package/src/blocks/cards/cards-20.schema.ts +790 -212
  28. package/src/blocks/cards/cards-21.schema.ts +1215 -229
  29. package/src/blocks/cards/cards-21.tsx +51 -6
  30. package/src/blocks/cards/cards-22.schema.ts +1252 -2809
  31. package/src/blocks/cards/cards-22.tsx +6 -7
  32. package/src/blocks/cards/cards-23.schema.ts +571 -109
  33. package/src/blocks/cards/cards-3.schema.ts +355 -116
  34. package/src/blocks/cards/cards-4.schema.ts +805 -321
  35. package/src/blocks/cards/cards-5.schema.ts +216 -64
  36. package/src/blocks/cards/cards-6.schema.ts +568 -1330
  37. package/src/blocks/cards/cards-7.schema.ts +1181 -1378
  38. package/src/blocks/cards/cards-8.schema.ts +585 -221
  39. package/src/blocks/cards/cards-9.schema.ts +763 -382
  40. package/src/blocks/carousel/carousel-1.schema.ts +257 -502
  41. package/src/blocks/carousel/carousel-1.tsx +2 -2
  42. package/src/blocks/carousel/carousel-2.schema.ts +771 -761
  43. package/src/blocks/community/community-1.schema.ts +8 -23
  44. package/src/blocks/community/community-1.tsx +3 -3
  45. package/src/blocks/community/community-post-1.tsx +4 -4
  46. package/src/blocks/contact-us/contact-us-1.schema.ts +360 -14
  47. package/src/blocks/contact-us/contact-us-2.schema.ts +441 -325
  48. package/src/blocks/content/content-1.schema.ts +800 -381
  49. package/src/blocks/content/content-10.schema.ts +763 -20
  50. package/src/blocks/content/content-2.schema.ts +426 -52
  51. package/src/blocks/content/content-3.schema.ts +631 -432
  52. package/src/blocks/content/content-4.schema.ts +378 -123
  53. package/src/blocks/content/content-5.schema.ts +1152 -682
  54. package/src/blocks/content/content-6.schema.ts +679 -707
  55. package/src/blocks/content/content-7.schema.ts +694 -291
  56. package/src/blocks/content/content-8.schema.ts +247 -7
  57. package/src/blocks/content/content-9.schema.ts +855 -116
  58. package/src/blocks/cta/cta-1.schema.ts +294 -62
  59. package/src/blocks/cta/cta-2.schema.ts +302 -66
  60. package/src/blocks/cta/cta-2.tsx +1 -2
  61. package/src/blocks/cta/cta-3.schema.ts +312 -62
  62. package/src/blocks/ecommerce/ecommerce-1.schema.ts +477 -0
  63. package/src/blocks/ecommerce/ecommerce-1.tsx +243 -0
  64. package/src/blocks/ecommerce/ecommerce-2.schema.ts +268 -0
  65. package/src/blocks/ecommerce/ecommerce-2.tsx +238 -0
  66. package/src/blocks/ecommerce/ecommerce-3.schema.ts +56 -0
  67. package/src/blocks/ecommerce/ecommerce-3.tsx +72 -0
  68. package/src/blocks/ecommerce/ecommerce-4.schema.ts +461 -0
  69. package/src/blocks/ecommerce/ecommerce-4.tsx +249 -0
  70. package/src/blocks/ecommerce/ecommerce-5.schema.ts +230 -0
  71. package/src/blocks/ecommerce/ecommerce-5.tsx +146 -0
  72. package/src/blocks/embed/embed-1.schema.ts +181 -0
  73. package/src/blocks/event/event-listing-2.schema.ts +5 -11
  74. package/src/blocks/event/event-listing-3.schema.ts +5 -11
  75. package/src/blocks/event/event-listing-4.schema.ts +5 -11
  76. package/src/blocks/event/event-listing.schema.ts +5 -11
  77. package/src/blocks/faq/faq-1.schema.ts +439 -260
  78. package/src/blocks/faq/faq-2.schema.ts +444 -266
  79. package/src/blocks/faq/faq-3.schema.ts +1420 -224
  80. package/src/blocks/features/features-1/features-1.schema.ts +21 -21
  81. package/src/blocks/features/features-1/variants/default.ts +120 -138
  82. package/src/blocks/features/features-1/variants/index.ts +2 -2
  83. package/src/blocks/features/features-1/variants/minimal-list.ts +139 -0
  84. package/src/blocks/features/features-1/variants/stylized-cards-v1.ts +69 -385
  85. package/src/blocks/features/features-1/variants/stylized-cards-v2.ts +74 -408
  86. package/src/blocks/features/features-2.schema.ts +368 -286
  87. package/src/blocks/features/features-3.schema.ts +557 -280
  88. package/src/blocks/features/features-4.schema.ts +940 -432
  89. package/src/blocks/features/features-5.schema.ts +566 -407
  90. package/src/blocks/features/features-6.schema.ts +557 -523
  91. package/src/blocks/filter-listing/filter-listing-1.schema.ts +922 -270
  92. package/src/blocks/floating-buttons/floating-button-1.schema.ts +123 -0
  93. package/src/blocks/footer/footer-1.schema.ts +383 -401
  94. package/src/blocks/footer/footer-2.schema.ts +337 -878
  95. package/src/blocks/footer/footer-3.schema.ts +445 -381
  96. package/src/blocks/footer/footer-4.schema.ts +610 -439
  97. package/src/blocks/footer/footer-5.schema.ts +367 -321
  98. package/src/blocks/footer/footer-6.schema.ts +610 -357
  99. package/src/blocks/form/form-1.schema.ts +237 -0
  100. package/src/blocks/hero/hero-1.schema.ts +251 -221
  101. package/src/blocks/hero/hero-10.schema.ts +23 -14
  102. package/src/blocks/hero/hero-11.schema.ts +728 -601
  103. package/src/blocks/hero/hero-12.schema.ts +524 -334
  104. package/src/blocks/hero/hero-13.schema.ts +83 -95
  105. package/src/blocks/hero/hero-2.schema.ts +277 -68
  106. package/src/blocks/hero/hero-3.schema.ts +371 -235
  107. package/src/blocks/hero/hero-3.tsx +1 -1
  108. package/src/blocks/hero/hero-4.schema.ts +605 -338
  109. package/src/blocks/hero/hero-5.schema.ts +545 -61
  110. package/src/blocks/hero/hero-6.schema.ts +446 -257
  111. package/src/blocks/hero/hero-6.tsx +1 -1
  112. package/src/blocks/hero/hero-7.schema.ts +1299 -131
  113. package/src/blocks/hero/hero-7.tsx +43 -23
  114. package/src/blocks/hero/hero-8.schema.ts +736 -236
  115. package/src/blocks/hero/hero-9.schema.ts +908 -58
  116. package/src/blocks/index.ts +14 -2
  117. package/src/blocks/jobs/jobs-1.schema.ts +741 -219
  118. package/src/blocks/logos/logos-1.schema.ts +317 -321
  119. package/src/blocks/logos/logos-1.tsx +32 -19
  120. package/src/blocks/logos/logos-2.schema.ts +223 -0
  121. package/src/blocks/logos/logos-2.tsx +55 -0
  122. package/src/blocks/navbar/navbar-1.schema.ts +319 -186
  123. package/src/blocks/navbar/navbar-3.schema.ts +618 -570
  124. package/src/blocks/navbar/navbar-3.tsx +3 -2
  125. package/src/blocks/navbar/navbar-4.schema.ts +731 -1234
  126. package/src/blocks/navbar/navbar-4.tsx +1 -6
  127. package/src/blocks/polling/polling-1.schema.ts +161 -0
  128. package/src/blocks/pricing/pricing-1.schema.ts +549 -626
  129. package/src/blocks/products/products-listing-1.schema.ts +363 -249
  130. package/src/blocks/products/products-listing-2.schema.ts +515 -257
  131. package/src/blocks/products/products-listing-3.schema.ts +790 -839
  132. package/src/blocks/products/products-listing-3.tsx +86 -84
  133. package/src/blocks/profile/profile-1.schema.ts +168 -187
  134. package/src/blocks/profile/profile-2.schema.ts +150 -122
  135. package/src/blocks/profile/profile-3.schema.ts +307 -256
  136. package/src/blocks/profile/profile-4.schema.ts +372 -504
  137. package/src/blocks/profile/profile-5.schema.ts +186 -79
  138. package/src/blocks/services/service-1.schema.ts +700 -631
  139. package/src/blocks/services/service-2.schema.ts +559 -82
  140. package/src/blocks/services/service-2.tsx +5 -6
  141. package/src/blocks/services/service-3.schema.ts +592 -207
  142. package/src/blocks/services/service-3.tsx +10 -2
  143. package/src/blocks/stats/stats-1.schema.ts +347 -257
  144. package/src/blocks/stats/stats-2.schema.ts +14 -2
  145. package/src/blocks/stats/variants/default.ts +14 -37
  146. package/src/blocks/stats/variants/extra.ts +232 -0
  147. package/src/blocks/stats/variants/hero.ts +1 -30
  148. package/src/blocks/stats/variants/index.ts +13 -1
  149. package/src/blocks/tabs/tab-1.schema.ts +1361 -214
  150. package/src/blocks/tabs/tab-2.schema.ts +984 -390
  151. package/src/blocks/tabs/tab-3.schema.ts +961 -95
  152. package/src/blocks/team/team-1.schema.ts +681 -564
  153. package/src/blocks/team/team-2.schema.ts +589 -935
  154. package/src/blocks/team/team-3.schema.ts +375 -284
  155. package/src/blocks/team/team-4.schema.ts +569 -355
  156. package/src/blocks/team/team-5.schema.ts +307 -111
  157. package/src/blocks/testimonial/testimonial-1.schema.ts +605 -706
  158. package/src/blocks/testimonial/testimonial-2.schema.ts +825 -1099
  159. package/src/blocks/testimonial/testimonial-3.schema.ts +580 -235
  160. package/src/blocks/testimonial/testimonial-4.schema.ts +1326 -1779
  161. package/src/blocks/testimonial/testimonial-5/variants/default.ts +179 -328
  162. package/src/blocks/testimonial/testimonial-5/variants/index.ts +9 -1
  163. package/src/blocks/testimonial/testimonial-5/variants/testimonialCentered.ts +194 -0
  164. package/src/blocks/testimonial/testimonial-5/variants/testimonialCompact.ts +188 -0
  165. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithLogo.ts +275 -396
  166. package/src/blocks/testimonial/testimonial-5/variants/testimonialWithRatings.ts +254 -602
  167. package/src/blocks/testimonial/testimonial-5.schema.ts +6 -2
  168. package/src/blocks/testimonial/testimonial-6.schema.ts +962 -1234
  169. package/src/blocks/testimonial/testimonial-7.schema.ts +515 -233
  170. package/src/blocks/timeline/timeline-1.schema.ts +382 -140
  171. package/src/blocks/users/edit-profile.schema.ts +2 -8
  172. package/src/blocks/users/edit-profile.tsx +2 -3
  173. package/src/schemas/blocks.ts +14 -2
  174. package/src/schemas/categories.ts +6 -0
  175. package/src/blocks/features/features-1/variants/stylized-cards-v3.ts +0 -268
  176. package/src/blocks/navbar/navbar-2.schema.ts +0 -1134
  177. package/src/blocks/navbar/navbar-2.tsx +0 -381
@@ -1,108 +1,273 @@
1
1
  import type { IBlock } from "@levo-so/studio";
2
2
 
3
+ const ICON_ARROW_RIGHT = {
4
+ kind: "icon",
5
+ data: {
6
+ id: "arrow-right",
7
+ label: "Arrow Right",
8
+ svgCode:
9
+ '<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M15 22.75H9C3.57 22.75 1.25 20.43 1.25 15V9C1.25 3.57 3.57 1.25 9 1.25H15C20.43 1.25 22.75 3.57 22.75 9V15C22.75 20.43 20.43 22.75 15 22.75ZM9 2.75C4.39 2.75 2.75 4.39 2.75 9V15C2.75 19.61 4.39 21.25 9 21.25H15C19.61 21.25 21.25 19.61 21.25 15V9C21.25 4.39 19.61 2.75 15 2.75H9Z" fill="var(--color-icon-primary)"/>\n<path d="M10.7397 16.28C10.5497 16.28 10.3597 16.21 10.2097 16.06C9.91969 15.77 9.91969 15.29 10.2097 15L13.2097 12L10.2097 8.99997C9.91969 8.70997 9.91969 8.22997 10.2097 7.93997C10.4997 7.64997 10.9797 7.64997 11.2697 7.93997L14.7997 11.47C15.0897 11.76 15.0897 12.24 14.7997 12.53L11.2697 16.06C11.1197 16.21 10.9297 16.28 10.7397 16.28Z" fill="var(--color-icon-primary)"/>\n</svg>',
10
+ },
11
+ };
12
+
3
13
  const DEFAULT_CONTENT = {
4
14
  layout: null,
5
15
  container: null,
6
16
  header_section: null,
7
- main_title: "Career Opportunity",
8
- description: "Career Opportunity Career Opportunity Career Opportunity Career Opportunity ",
17
+ title_container: null,
18
+ main_title: "Built for the way teams ship today",
19
+ description:
20
+ "From async standups to shared rituals — the workspace your team adopts in a week and refuses to leave.",
9
21
  header_buttons_levoGroup: null,
10
22
  header_buttons: [
11
23
  {
12
- header_button: "View All",
24
+ header_button: "Browse all features",
13
25
  },
14
26
  {
15
- header_button: "Apply Now",
27
+ header_button: "Book a demo",
16
28
  },
17
29
  ],
18
30
  grid: [
19
31
  {
20
32
  card: null,
21
33
  content_wrapper: null,
22
- title: "Marketing Executive",
23
- details: "Full Time• Expert • Onsite 98 street Chicago USA salary $2000-$3000 Monthly",
34
+ title: "Real-time collaboration",
35
+ details:
36
+ "Multiplayer editing, presence cursors, and inline comments — your team thinks together without ever sharing a screen.",
24
37
  ctas: [
25
38
  {
26
- button: "Apply Now",
39
+ button: "Start free",
27
40
  },
28
41
  {
29
- button: "Learn More",
42
+ button: "See how it works",
30
43
  },
31
44
  ],
32
45
  },
33
46
  {
34
47
  card: null,
35
48
  content_wrapper: null,
36
- title: "Product Designer",
37
- details: "Full Time• Expert • Onsite 98 street Chicago USA salary $2000-$3000 Monthly",
49
+ title: "Workflow automation",
50
+ details:
51
+ "Trigger handoffs the moment a status changes — Zapier-grade automations live next to every task, no extra tab.",
38
52
  ctas: [
39
53
  {
40
- button: "Apply Now",
54
+ button: "Try a recipe",
41
55
  },
42
56
  {
43
- button: "Learn More",
57
+ button: "View library",
44
58
  },
45
59
  ],
46
60
  },
47
61
  {
48
62
  card: null,
49
63
  content_wrapper: null,
50
- title: "Web Designer",
51
- details: "Full Time• Expert • Onsite 98 street Chicago USA salary $2000-$3000 Monthly",
64
+ title: "Unified inbox",
65
+ details:
66
+ "Slack threads, GitHub PRs, and Linear updates roll into one queue so nothing slips between standups.",
52
67
  ctas: [
53
68
  {
54
- button: "Apply Now",
69
+ button: "Connect tools",
55
70
  },
56
71
  {
57
- button: "Learn More",
72
+ button: "See integrations",
58
73
  },
59
74
  ],
60
75
  },
61
76
  {
62
77
  card: null,
63
78
  content_wrapper: null,
64
- title: "Software Developer",
65
- details: "Full Time• Expert • Onsite 98 street Chicago USA salary $2000-$3000 Monthly",
79
+ title: "Insights that matter",
80
+ details:
81
+ "Cycle time, burndown, and team load dashboards refresh hourly — answer 'are we on track' without pinging anyone.",
66
82
  ctas: [
67
83
  {
68
- button: "Apply Now",
84
+ button: "View dashboards",
69
85
  },
70
86
  {
71
- button: "Learn More",
87
+ button: "Read the docs",
72
88
  },
73
89
  ],
74
90
  },
75
91
  ],
76
- header_button_rightIcon: {
77
- kind: "custom",
78
- data: {
79
- id: "UpLVWyg9E9QC",
80
- location: "https://static.levostg.online/W6OEVMW8/image-sR8IjbcW18vs.png",
81
- mimetype: "image/png",
82
- kind: "image",
83
- srcset: {
84
- "1080w": "https://static.levostg.online/W6OEVMW8/image-sR8IjbcW18vs-1080w.webp",
85
- "1200w": "https://static.levostg.online/W6OEVMW8/image-sR8IjbcW18vs-1200w.webp",
86
- "1920w": "https://static.levostg.online/W6OEVMW8/image-sR8IjbcW18vs-1920w.webp",
87
- "320w": "https://static.levostg.online/W6OEVMW8/image-sR8IjbcW18vs-320w.webp",
88
- "640w": "https://static.levostg.online/W6OEVMW8/image-sR8IjbcW18vs-640w.webp",
89
- "750w": "https://static.levostg.online/W6OEVMW8/image-sR8IjbcW18vs-750w.webp",
90
- "828w": "https://static.levostg.online/W6OEVMW8/image-sR8IjbcW18vs-828w.webp",
91
- path: "https://static.levostg.online/W6OEVMW8/image-sR8IjbcW18vs-320w.webp 320w, https://static.levostg.online/W6OEVMW8/image-sR8IjbcW18vs-750w.webp 750w, https://static.levostg.online/W6OEVMW8/image-sR8IjbcW18vs-640w.webp 640w, https://static.levostg.online/W6OEVMW8/image-sR8IjbcW18vs-1200w.webp 1200w, https://static.levostg.online/W6OEVMW8/image-sR8IjbcW18vs-1920w.webp 1920w, https://static.levostg.online/W6OEVMW8/image-sR8IjbcW18vs-828w.webp 828w, https://static.levostg.online/W6OEVMW8/image-sR8IjbcW18vs-1080w.webp 1080w",
92
- },
92
+ header_button_rightIcon: ICON_ARROW_RIGHT,
93
+ };
94
+
95
+ // Tighter copy for 4-col layout; titles 2-3 words, descriptions ~14 words.
96
+ const COMPACT_CONTENT = {
97
+ layout: null,
98
+ container: null,
99
+ header_section: null,
100
+ title_container: null,
101
+ main_title: "Built for the way teams ship today",
102
+ description:
103
+ "Four pillars that quietly compound across every sprint — collaboration, automation, signal, and insight in one workspace.",
104
+ header_buttons_levoGroup: null,
105
+ header_buttons: [
106
+ {
107
+ header_button: "Browse all features",
93
108
  },
94
- },
109
+ {
110
+ header_button: "Book a demo",
111
+ },
112
+ ],
113
+ grid: [
114
+ {
115
+ card: null,
116
+ content_wrapper: null,
117
+ title: "Real-time collaboration",
118
+ details:
119
+ "Multiplayer editing, presence, and inline comments — think together without ever sharing a screen.",
120
+ ctas: [
121
+ {
122
+ button: "Start free",
123
+ },
124
+ {
125
+ button: "See how",
126
+ },
127
+ ],
128
+ },
129
+ {
130
+ card: null,
131
+ content_wrapper: null,
132
+ title: "Workflow automation",
133
+ details:
134
+ "Trigger handoffs the second a status changes — Zapier-grade recipes next to every task.",
135
+ ctas: [
136
+ {
137
+ button: "Try recipes",
138
+ },
139
+ {
140
+ button: "View library",
141
+ },
142
+ ],
143
+ },
144
+ {
145
+ card: null,
146
+ content_wrapper: null,
147
+ title: "Unified inbox",
148
+ details:
149
+ "Slack threads, GitHub PRs, and Linear updates roll into one queue you actually clear.",
150
+ ctas: [
151
+ {
152
+ button: "Connect tools",
153
+ },
154
+ {
155
+ button: "Integrations",
156
+ },
157
+ ],
158
+ },
159
+ {
160
+ card: null,
161
+ content_wrapper: null,
162
+ title: "Insights that matter",
163
+ details:
164
+ "Cycle time, burndown, and team load — answer 'are we on track' without pinging anyone.",
165
+ ctas: [
166
+ {
167
+ button: "View boards",
168
+ },
169
+ {
170
+ button: "Read docs",
171
+ },
172
+ ],
173
+ },
174
+ ],
175
+ header_button_rightIcon: ICON_ARROW_RIGHT,
95
176
  };
96
177
 
97
178
  export type ICards4Content = typeof DEFAULT_CONTENT;
98
179
 
180
+ // Shared style fragments to keep layouts in sync.
181
+ const HEADER_SECTION_SPLIT = {
182
+ display: "flex",
183
+ "flex-direction": "row",
184
+ "justify-content": "space-between",
185
+ "align-items": "flex-end",
186
+ "column-gap": "2xl",
187
+ "margin-bottom": "3xl",
188
+ tablet: {
189
+ "flex-direction": "column",
190
+ "align-items": "flex-start",
191
+ "row-gap": "lg",
192
+ },
193
+ mobile: {
194
+ "flex-direction": "column",
195
+ "align-items": "flex-start",
196
+ "row-gap": "lg",
197
+ },
198
+ };
199
+
200
+ const TITLE_CONTAINER_COLUMN = {
201
+ display: "flex",
202
+ "flex-direction": "column",
203
+ "row-gap": "sm",
204
+ "max-width": "640px",
205
+ };
206
+
207
+ const HEADER_BUTTONS_GROUP = {
208
+ display: "flex",
209
+ "flex-direction": "row",
210
+ "column-gap": "sm",
211
+ "row-gap": "sm",
212
+ "flex-wrap": "wrap",
213
+ "align-items": "center",
214
+ };
215
+
216
+ const CARD_BASE = {
217
+ display: "flex",
218
+ "flex-direction": "column",
219
+ height: "100%",
220
+ "background-color": "white",
221
+ "padding-top": "3xl",
222
+ "padding-bottom": "3xl",
223
+ "padding-left": "3xl",
224
+ "padding-right": "3xl",
225
+ "border-radius": "lg",
226
+ "row-gap": "lg",
227
+ "box-shadow":
228
+ "0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px rgba(15, 23, 42, 0.06)",
229
+ border: "1px solid",
230
+ "border-color": "border",
231
+ mobile: {
232
+ "padding-top": "xl",
233
+ "padding-left": "xl",
234
+ "padding-right": "xl",
235
+ "padding-bottom": "xl",
236
+ },
237
+ tablet: {
238
+ "padding-top": "2xl",
239
+ "padding-right": "2xl",
240
+ "padding-left": "2xl",
241
+ "padding-bottom": "2xl",
242
+ },
243
+ };
244
+
245
+ const CARD_CTAS_GROUP = {
246
+ display: "flex",
247
+ "flex-direction": "row",
248
+ "column-gap": "sm",
249
+ "margin-top": "auto",
250
+ "align-items": "center",
251
+ mobile: {
252
+ "flex-direction": "column",
253
+ "align-items": "stretch",
254
+ "row-gap": "xs",
255
+ },
256
+ };
257
+
258
+ const CONTENT_WRAPPER = {
259
+ display: "flex",
260
+ "flex-direction": "column",
261
+ "row-gap": "sm",
262
+ };
263
+
99
264
  export const Cards4: IBlock = {
100
265
  category_id: "cards",
101
266
  title: "Cards 4",
102
267
  key: "cards-4",
103
268
  version: "v1",
104
269
  prompt_description:
105
- "Career opportunities section with header title and 'View All' button, featuring job cards in a grid layout. Each card displays job title, details, and action buttons.",
270
+ "Feature-card section for SaaS pages: header with title, description, and dual CTAs, plus a grid of benefit cards each carrying a title, description, and two action buttons.",
106
271
  content_schema: [
107
272
  {
108
273
  key: "layout",
@@ -110,7 +275,7 @@ export const Cards4: IBlock = {
110
275
  field_interface: "LayoutWidget",
111
276
  hint: {
112
277
  prompt_description:
113
- "Overall section layout for the career opportunities block. Controls spacing, background, and structure.",
278
+ "Outer section wrapper controlling background, vertical rhythm, and overall structure.",
114
279
  },
115
280
  },
116
281
  {
@@ -118,7 +283,8 @@ export const Cards4: IBlock = {
118
283
  label: "Container",
119
284
  field_interface: "ContainerWidget",
120
285
  hint: {
121
- prompt_description: "Main container for centering and constraining the content width.",
286
+ prompt_description:
287
+ "Centers the section content and constrains it to the page max width.",
122
288
  },
123
289
  },
124
290
  {
@@ -127,13 +293,17 @@ export const Cards4: IBlock = {
127
293
  field_interface: "BoxWidget",
128
294
  hint: {
129
295
  prompt_description:
130
- "Header area containing the main title and view all button, positioned horizontally.",
296
+ "Header row holding the title block and the trailing CTA group.",
131
297
  },
132
298
  },
133
299
  {
134
300
  key: "title_container",
135
301
  label: "Title Container",
136
302
  field_interface: "BoxWidget",
303
+ hint: {
304
+ prompt_description:
305
+ "Stack for the heading and supporting description on the header's left side.",
306
+ },
137
307
  },
138
308
  {
139
309
  key: "main_title",
@@ -141,15 +311,21 @@ export const Cards4: IBlock = {
141
311
  field_interface: "HeadingWidget",
142
312
  hint: {
143
313
  prompt_description:
144
- "Main section heading that describes the career opportunities section. Should be engaging and professional.",
314
+ "Section heading. Should state the value the cards collectively deliver.",
145
315
  min_characters: 10,
146
- max_characters: 40,
316
+ max_characters: 60,
147
317
  },
148
318
  },
149
319
  {
150
320
  key: "description",
151
- label: "Descripton",
321
+ label: "Description",
152
322
  field_interface: "TypographyWidget",
323
+ hint: {
324
+ prompt_description:
325
+ "One-line description that frames the cards and earns the click on the header CTAs.",
326
+ min_characters: 40,
327
+ max_characters: 180,
328
+ },
153
329
  },
154
330
  {
155
331
  key: "header_buttons",
@@ -163,9 +339,9 @@ export const Cards4: IBlock = {
163
339
  field_interface: "ButtonWidget",
164
340
  hint: {
165
341
  prompt_description:
166
- "Secondary action button for viewing all career opportunities. Should encourage exploration.",
342
+ "Header CTA first one is the primary path (e.g. browse), second is conversion (e.g. demo).",
167
343
  min_characters: 6,
168
- max_characters: 20,
344
+ max_characters: 24,
169
345
  },
170
346
  },
171
347
  ],
@@ -182,7 +358,7 @@ export const Cards4: IBlock = {
182
358
  field_interface: "BoxWidget",
183
359
  hint: {
184
360
  prompt_description:
185
- "Individual job card container for styling and layout. No direct content.",
361
+ "Single card container. Layout-only; no direct content rendered here.",
186
362
  },
187
363
  },
188
364
  {
@@ -191,7 +367,7 @@ export const Cards4: IBlock = {
191
367
  field_interface: "BoxWidget",
192
368
  hint: {
193
369
  prompt_description:
194
- "Wrapper for job title and details within each card. Used for spacing and alignment.",
370
+ "Wraps the card title and description so they share a common stacking rhythm.",
195
371
  },
196
372
  },
197
373
  {
@@ -200,9 +376,9 @@ export const Cards4: IBlock = {
200
376
  field_interface: "HeadingWidget",
201
377
  hint: {
202
378
  prompt_description:
203
- "Job position title that's clear, professional, and attractive to potential candidates.",
204
- min_characters: 10,
205
- max_characters: 30,
379
+ "Two- to three-word benefit title. Keep parallel structure across cards.",
380
+ min_characters: 6,
381
+ max_characters: 32,
206
382
  },
207
383
  },
208
384
  {
@@ -211,9 +387,9 @@ export const Cards4: IBlock = {
211
387
  field_interface: "TypographyWidget",
212
388
  hint: {
213
389
  prompt_description:
214
- "Detailed job information including employment type, experience level, location, and salary range. Should be comprehensive yet concise.",
390
+ "One-sentence description with a concrete mechanism keep length similar across cards so buttons align.",
215
391
  min_characters: 40,
216
- max_characters: 120,
392
+ max_characters: 160,
217
393
  },
218
394
  },
219
395
  {
@@ -228,15 +404,15 @@ export const Cards4: IBlock = {
228
404
  field_interface: "ButtonWidget",
229
405
  hint: {
230
406
  prompt_description:
231
- "Action button for job application or learning more. Should be clear and action-oriented.",
232
- min_characters: 6,
407
+ "Card CTA first is primary action, second is supporting/learn-more path.",
408
+ min_characters: 4,
233
409
  max_characters: 20,
234
410
  },
235
411
  },
236
412
  ],
237
413
  hint: {
238
414
  prompt_description:
239
- "Group of action buttons for each job card, typically including Apply and Learn More options.",
415
+ "Two buttons per card: one conversion CTA, one supporting CTA.",
240
416
  min_items: 2,
241
417
  max_items: 2,
242
418
  },
@@ -244,7 +420,7 @@ export const Cards4: IBlock = {
244
420
  ],
245
421
  hint: {
246
422
  prompt_description:
247
- "Collection of job opportunity cards featuring different positions with titles, details, and action buttons.",
423
+ "Grid of benefit cards, each with title, description and dual CTAs.",
248
424
  min_items: 2,
249
425
  max_items: 6,
250
426
  },
@@ -257,38 +433,18 @@ export const Cards4: IBlock = {
257
433
  styles: {
258
434
  layout: {},
259
435
  container: {},
260
- header_section: {
261
- display: "flex",
262
- "justify-content": "space-between",
263
- "align-items": "center",
264
- "margin-bottom": "4xl",
265
- mobile: {
266
- "flex-direction": "column",
267
- "align-items": "center",
268
- "row-gap": "lg",
269
- filter: "drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2))",
270
- "justify-content": "center",
271
- },
272
- filter: "drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2))",
273
- },
436
+ header_section: HEADER_SECTION_SPLIT,
437
+ title_container: TITLE_CONTAINER_COLUMN,
274
438
  main_title: {},
275
- header_buttons_levoGroup: {
276
- display: "flex",
277
- "flex-direction": "row",
278
- "column-gap": "sm",
279
- "row-gap": "sm",
280
- "flex-wrap": "wrap",
281
- "align-items": "center",
439
+ description: {
440
+ color: "muted-foreground",
282
441
  },
283
- header_buttons: [
284
- {
285
- header_button: {},
286
- },
287
- {
288
- header_button: {},
289
- },
290
- ],
291
- cards_levoGroup: {
442
+ header_buttons_levoGroup: HEADER_BUTTONS_GROUP,
443
+ header_buttons_levoGroupItem: {
444
+ header_button: {},
445
+ },
446
+ header_buttons: [{}, {}],
447
+ grid_levoGroup: {
292
448
  display: "grid",
293
449
  "grid-template-columns": "repeat(2, minmax(0, 1fr))",
294
450
  "row-gap": "xl",
@@ -303,238 +459,433 @@ export const Cards4: IBlock = {
303
459
  "row-gap": "base",
304
460
  },
305
461
  },
462
+ grid_levoGroupItem: {
463
+ title: {},
464
+ card: CARD_BASE,
465
+ details: {
466
+ color: "muted-foreground",
467
+ },
468
+ ctas_levoGroup: CARD_CTAS_GROUP,
469
+ content_wrapper: CONTENT_WRAPPER,
470
+ ctas_levoGroupItem: {
471
+ button: {},
472
+ },
473
+ ctas: [{}, {}],
474
+ },
475
+ grid: [{}, {}, {}, {}],
476
+ header_button_rightIcon: {
477
+ width: "16px",
478
+ height: "16px",
479
+ },
480
+ },
481
+ content: DEFAULT_CONTENT,
482
+ config: {
483
+ main_title: {
484
+ heading: { level: 2 },
485
+ selectedVariants: { Heading_Level: "H2" },
486
+ },
487
+ "cards.0.ctas.0.button": {
488
+ selectedVariants: { Button_Variants: "Primary" },
489
+ },
490
+ "cards.0.ctas.1.button": {
491
+ selectedVariants: { Button_Variants: "Link" },
492
+ },
493
+ "cards.1.ctas.0.button": {
494
+ selectedVariants: { Button_Variants: "Primary" },
495
+ },
496
+ "cards.1.ctas.1.button": {
497
+ selectedVariants: { Button_Variants: "Link" },
498
+ },
499
+ "cards.2.ctas.0.button": {
500
+ selectedVariants: { Button_Variants: "Primary" },
501
+ },
502
+ "cards.2.ctas.1.button": {
503
+ selectedVariants: { Button_Variants: "Link" },
504
+ },
505
+ "cards.3.ctas.0.button": {
506
+ selectedVariants: { Button_Variants: "Primary" },
507
+ },
508
+ "cards.3.ctas.1.button": {
509
+ selectedVariants: { Button_Variants: "Link" },
510
+ },
511
+ header_buttons: [
512
+ {
513
+ header_button: {
514
+ selectedVariants: { Button_Variants: "Link" },
515
+ button_icons: { right: { enabled: true } },
516
+ },
517
+ },
518
+ {
519
+ header_button: {
520
+ selectedVariants: { Button_Variants: "Primary" },
521
+ },
522
+ },
523
+ ],
306
524
  grid: [
307
525
  {
308
- title: {},
309
- card: {
310
- filter: "drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2))",
311
- display: "block",
312
- "background-color": "white",
313
- "padding-top": "4xl",
314
- "padding-bottom": "4xl",
315
- "padding-left": "4xl",
316
- "padding-right": "4xl",
317
- "border-radius": "base",
318
- mobile: {
319
- filter: "drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2))",
320
- "padding-top": "xl",
321
- "padding-left": "xl",
322
- "padding-right": "xl",
323
- "padding-bottom": "xl",
324
- },
325
- tablet: {
326
- filter: "drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2))",
327
- "padding-top": "xl",
328
- "padding-right": "xl",
329
- "padding-left": "xl",
330
- "padding-bottom": "xl",
331
- },
526
+ title: { selectedVariants: { Heading_Level: "H4" } },
527
+ card: { selectedVariants: {} },
528
+ details: { selectedVariants: {} },
529
+ ctas: [
530
+ { button: { selectedVariants: { Button_Variants: "Primary" } } },
531
+ { button: { selectedVariants: { Button_Variants: "Link" } } },
532
+ ],
533
+ },
534
+ {
535
+ card: { selectedVariants: {} },
536
+ title: { selectedVariants: { Heading_Level: "H4" } },
537
+ details: { selectedVariants: {} },
538
+ ctas: [
539
+ { button: { selectedVariants: { Button_Variants: "Primary" } } },
540
+ { button: { selectedVariants: { Button_Variants: "Link" } } },
541
+ ],
542
+ },
543
+ {
544
+ card: { selectedVariants: {} },
545
+ title: { selectedVariants: { Heading_Level: "H4" } },
546
+ details: { selectedVariants: {} },
547
+ ctas: [
548
+ { button: { selectedVariants: { Button_Variants: "Primary" } } },
549
+ { button: { selectedVariants: { Button_Variants: "Link" } } },
550
+ ],
551
+ },
552
+ {
553
+ card: { selectedVariants: {} },
554
+ title: { selectedVariants: { Heading_Level: "H4" } },
555
+ details: { selectedVariants: {} },
556
+ ctas: [
557
+ { button: { selectedVariants: { Button_Variants: "Primary" } } },
558
+ { button: { selectedVariants: { Button_Variants: "Link" } } },
559
+ ],
560
+ },
561
+ ],
562
+ },
563
+ },
564
+ {
565
+ title: "List View",
566
+ key: "list_view",
567
+ styles: {
568
+ layout: {},
569
+ container: {},
570
+ header_section: HEADER_SECTION_SPLIT,
571
+ title_container: TITLE_CONTAINER_COLUMN,
572
+ main_title: {},
573
+ description: {
574
+ color: "muted-foreground",
575
+ },
576
+ header_buttons_levoGroup: HEADER_BUTTONS_GROUP,
577
+ header_buttons_levoGroupItem: {
578
+ header_button: {},
579
+ },
580
+ header_buttons: [{}, {}],
581
+ grid_levoGroup: {
582
+ display: "flex",
583
+ "flex-direction": "column",
584
+ "row-gap": "lg",
585
+ },
586
+ grid_levoGroupItem: {
587
+ title: {},
588
+ card: {
589
+ display: "flex",
590
+ "flex-direction": "row",
591
+ "align-items": "center",
592
+ "justify-content": "space-between",
593
+ "column-gap": "2xl",
594
+ "background-color": "white",
595
+ "padding-top": "2xl",
596
+ "padding-bottom": "2xl",
597
+ "padding-left": "3xl",
598
+ "padding-right": "3xl",
599
+ "border-radius": "lg",
600
+ border: "1px solid",
601
+ "border-color": "border",
602
+ "box-shadow":
603
+ "0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px rgba(15, 23, 42, 0.06)",
604
+ mobile: {
605
+ "flex-direction": "column",
606
+ "align-items": "flex-start",
607
+ "row-gap": "lg",
608
+ "padding-top": "xl",
609
+ "padding-left": "xl",
610
+ "padding-right": "xl",
611
+ "padding-bottom": "xl",
612
+ },
613
+ tablet: {
614
+ "padding-top": "xl",
615
+ "padding-right": "xl",
616
+ "padding-left": "xl",
617
+ "padding-bottom": "xl",
332
618
  },
333
- details: {},
334
- ctas_levoGroup: {
335
- display: "flex",
619
+ },
620
+ details: {
621
+ color: "muted-foreground",
622
+ },
623
+ ctas_levoGroup: {
624
+ display: "flex",
625
+ "column-gap": "sm",
626
+ "align-items": "center",
627
+ "flex-shrink": "0",
628
+ mobile: {
629
+ "flex-direction": "row",
630
+ "row-gap": "xs",
336
631
  "column-gap": "xs",
337
- "margin-top": "lg",
338
- mobile: {
339
- "flex-direction": "column",
340
- "row-gap": "xs",
341
- },
342
- tablet: {
343
- "flex-direction": "column",
344
- "row-gap": "xs",
345
- },
632
+ "flex-wrap": "wrap",
346
633
  },
347
- content_wrapper: {
348
- display: "flex",
349
- "flex-direction": "column",
350
- "row-gap": "sm",
634
+ },
635
+ content_wrapper: {
636
+ display: "flex",
637
+ "flex-direction": "column",
638
+ "row-gap": "xs",
639
+ flex: "1",
640
+ },
641
+ ctas_levoGroupItem: {
642
+ button: {},
643
+ },
644
+ ctas: [{}, {}],
645
+ },
646
+ grid: [{}, {}, {}, {}],
647
+ header_button_rightIcon: {
648
+ width: "16px",
649
+ height: "16px",
650
+ },
651
+ },
652
+ content: DEFAULT_CONTENT,
653
+ config: {
654
+ main_title: {
655
+ heading: { level: 2 },
656
+ selectedVariants: { Heading_Level: "H2" },
657
+ },
658
+ header_buttons: [
659
+ {
660
+ header_button: {
661
+ selectedVariants: { Button_Variants: "Link" },
662
+ button_icons: { right: { enabled: true } },
663
+ },
664
+ },
665
+ {
666
+ header_button: {
667
+ selectedVariants: { Button_Variants: "Primary" },
351
668
  },
669
+ },
670
+ ],
671
+ grid: Array(4)
672
+ .fill(0)
673
+ .map(() => ({
674
+ card: { selectedVariants: {} },
675
+ title: { selectedVariants: { Heading_Level: "H4" } },
676
+ details: { selectedVariants: {} },
352
677
  ctas: [
353
678
  {
354
- button: {},
679
+ button: {
680
+ selectedVariants: { Button_Variants: "Primary" },
681
+ },
355
682
  },
356
683
  {
357
- button: {},
684
+ button: {
685
+ selectedVariants: { Button_Variants: "Link" },
686
+ },
358
687
  },
359
688
  ],
689
+ })),
690
+ },
691
+ },
692
+ {
693
+ title: "Centered Header",
694
+ key: "centered_header",
695
+ styles: {
696
+ layout: {},
697
+ container: {},
698
+ header_section: {
699
+ display: "flex",
700
+ "flex-direction": "column",
701
+ "justify-content": "center",
702
+ "align-items": "center",
703
+ "text-align": "center",
704
+ "margin-bottom": "3xl",
705
+ "row-gap": "lg",
706
+ },
707
+ title_container: {
708
+ display: "flex",
709
+ "flex-direction": "column",
710
+ "row-gap": "sm",
711
+ "align-items": "center",
712
+ "text-align": "center",
713
+ "max-width": "720px",
714
+ },
715
+ main_title: {
716
+ "text-align": "center",
717
+ },
718
+ description: {
719
+ "text-align": "center",
720
+ color: "muted-foreground",
721
+ },
722
+ header_buttons_levoGroup: {
723
+ display: "flex",
724
+ "flex-direction": "row",
725
+ "column-gap": "sm",
726
+ "row-gap": "sm",
727
+ "flex-wrap": "wrap",
728
+ "align-items": "center",
729
+ "justify-content": "center",
730
+ },
731
+ header_buttons_levoGroupItem: {
732
+ header_button: {},
733
+ },
734
+ header_buttons: [{}, {}],
735
+ grid_levoGroup: {
736
+ display: "grid",
737
+ "grid-template-columns": "repeat(3, minmax(0, 1fr))",
738
+ "row-gap": "xl",
739
+ "column-gap": "xl",
740
+ tablet: {
741
+ "grid-template-columns": "repeat(2, minmax(0, 1fr))",
360
742
  },
361
- {
362
- title: {},
363
- card: {
364
- filter: "drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2))",
365
- display: "block",
366
- "background-color": "white",
367
- "padding-top": "4xl",
368
- "padding-bottom": "4xl",
369
- "padding-left": "4xl",
370
- "padding-right": "4xl",
371
- "border-radius": "base",
372
- mobile: {
373
- filter: "drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2))",
374
- "padding-top": "xl",
375
- "padding-left": "xl",
376
- "padding-right": "xl",
377
- "padding-bottom": "xl",
378
- },
379
- tablet: {
380
- filter: "drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2))",
381
- "padding-top": "xl",
382
- "padding-right": "xl",
383
- "padding-left": "xl",
384
- "padding-bottom": "xl",
385
- },
743
+ mobile: {
744
+ "grid-template-columns": "repeat(1, minmax(0, 1fr))",
745
+ },
746
+ },
747
+ grid_levoGroupItem: {
748
+ title: {
749
+ "text-align": "center",
750
+ },
751
+ card: {
752
+ display: "flex",
753
+ "flex-direction": "column",
754
+ height: "100%",
755
+ "background-color": "white",
756
+ "padding-top": "3xl",
757
+ "padding-bottom": "3xl",
758
+ "padding-left": "3xl",
759
+ "padding-right": "3xl",
760
+ "border-radius": "lg",
761
+ "row-gap": "lg",
762
+ "box-shadow":
763
+ "0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px rgba(15, 23, 42, 0.06)",
764
+ border: "1px solid",
765
+ "border-color": "border",
766
+ mobile: {
767
+ "padding-top": "xl",
768
+ "padding-left": "xl",
769
+ "padding-right": "xl",
770
+ "padding-bottom": "xl",
386
771
  },
387
- details: {},
388
- ctas_levoGroup: {
389
- display: "flex",
390
- "column-gap": "xs",
391
- "margin-top": "lg",
392
- mobile: {
393
- "flex-direction": "column",
394
- "row-gap": "xs",
395
- },
396
- tablet: {
397
- "flex-direction": "column",
398
- "row-gap": "xs",
399
- },
772
+ tablet: {
773
+ "padding-top": "2xl",
774
+ "padding-right": "2xl",
775
+ "padding-left": "2xl",
776
+ "padding-bottom": "2xl",
400
777
  },
401
- content_wrapper: {
402
- display: "flex",
778
+ "align-items": "center",
779
+ "text-align": "center",
780
+ },
781
+ details: {
782
+ "text-align": "center",
783
+ color: "muted-foreground",
784
+ },
785
+ ctas_levoGroup: {
786
+ display: "flex",
787
+ "flex-direction": "row",
788
+ "column-gap": "sm",
789
+ "margin-top": "auto",
790
+ "align-items": "center",
791
+ mobile: {
403
792
  "flex-direction": "column",
404
- "row-gap": "sm",
793
+ "align-items": "stretch",
794
+ "row-gap": "xs",
405
795
  },
796
+ "justify-content": "center",
797
+ },
798
+ content_wrapper: {
799
+ display: "flex",
800
+ "flex-direction": "column",
801
+ "row-gap": "sm",
802
+ "align-items": "center",
803
+ },
804
+ ctas_levoGroupItem: {
805
+ button: {},
806
+ },
807
+ ctas: [{}, {}],
808
+ },
809
+ grid: [{}, {}, {}],
810
+ header_button_rightIcon: {
811
+ width: "16px",
812
+ height: "16px",
813
+ },
814
+ },
815
+ content: {
816
+ layout: null,
817
+ container: null,
818
+ header_section: null,
819
+ title_container: null,
820
+ main_title: "Built for the way teams ship today",
821
+ description:
822
+ "From async standups to shared rituals — the workspace your team adopts in a week and refuses to leave.",
823
+ header_buttons_levoGroup: null,
824
+ header_buttons: [
825
+ {
826
+ header_button: "Browse all features",
827
+ },
828
+ {
829
+ header_button: "Book a demo",
830
+ },
831
+ ],
832
+ grid: [
833
+ {
834
+ card: null,
835
+ content_wrapper: null,
836
+ title: "Real-time collaboration",
837
+ details:
838
+ "Multiplayer editing, presence cursors, and inline comments — your team thinks together without ever sharing a screen.",
406
839
  ctas: [
407
840
  {
408
- button: {},
841
+ button: "Start free",
409
842
  },
410
843
  {
411
- button: {},
844
+ button: "See how it works",
412
845
  },
413
846
  ],
414
847
  },
415
848
  {
416
- title: {},
417
- card: {
418
- filter: "drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2))",
419
- display: "block",
420
- "background-color": "white",
421
- "padding-top": "4xl",
422
- "padding-bottom": "4xl",
423
- "padding-left": "4xl",
424
- "padding-right": "4xl",
425
- "border-radius": "base",
426
- mobile: {
427
- filter: "drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2))",
428
- "padding-top": "xl",
429
- "padding-left": "xl",
430
- "padding-right": "xl",
431
- "padding-bottom": "xl",
432
- },
433
- tablet: {
434
- filter: "drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2))",
435
- "padding-top": "xl",
436
- "padding-right": "xl",
437
- "padding-left": "xl",
438
- "padding-bottom": "xl",
439
- },
440
- },
441
- details: {},
442
- ctas_levoGroup: {
443
- display: "flex",
444
- "column-gap": "xs",
445
- "margin-top": "lg",
446
- mobile: {
447
- "flex-direction": "column",
448
- "row-gap": "xs",
449
- },
450
- tablet: {
451
- "flex-direction": "column",
452
- "row-gap": "xs",
453
- },
454
- },
455
- content_wrapper: {
456
- display: "flex",
457
- "flex-direction": "column",
458
- "row-gap": "sm",
459
- },
849
+ card: null,
850
+ content_wrapper: null,
851
+ title: "Workflow automation",
852
+ details:
853
+ "Trigger handoffs the moment a status changes — Zapier-grade automations live next to every task, no extra tab.",
460
854
  ctas: [
461
855
  {
462
- button: {},
856
+ button: "Try a recipe",
463
857
  },
464
858
  {
465
- button: {},
859
+ button: "View library",
466
860
  },
467
861
  ],
468
862
  },
469
863
  {
470
- title: {},
471
- card: {
472
- filter: "drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2))",
473
- display: "block",
474
- "background-color": "white",
475
- "padding-top": "4xl",
476
- "padding-bottom": "4xl",
477
- "padding-left": "4xl",
478
- "padding-right": "4xl",
479
- "border-radius": "base",
480
- mobile: {
481
- filter: "drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2))",
482
- "padding-top": "xl",
483
- "padding-left": "xl",
484
- "padding-right": "xl",
485
- "padding-bottom": "xl",
486
- },
487
- tablet: {
488
- filter: "drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2))",
489
- "padding-top": "xl",
490
- "padding-right": "xl",
491
- "padding-left": "xl",
492
- "padding-bottom": "xl",
493
- },
494
- },
495
- details: {},
496
- ctas_levoGroup: {
497
- display: "flex",
498
- "column-gap": "xs",
499
- "margin-top": "lg",
500
- mobile: {
501
- "flex-direction": "column",
502
- "row-gap": "xs",
503
- },
504
- tablet: {
505
- "flex-direction": "column",
506
- "row-gap": "xs",
507
- },
508
- },
509
- content_wrapper: {
510
- display: "flex",
511
- "flex-direction": "column",
512
- "row-gap": "sm",
513
- },
864
+ card: null,
865
+ content_wrapper: null,
866
+ title: "Unified inbox",
867
+ details:
868
+ "Slack threads, GitHub PRs, and Linear updates roll into one queue so nothing slips between standups.",
514
869
  ctas: [
515
870
  {
516
- button: {},
871
+ button: "Connect tools",
517
872
  },
518
873
  {
519
- button: {},
874
+ button: "See integrations",
520
875
  },
521
876
  ],
522
877
  },
523
878
  ],
524
879
  header_button_rightIcon: {
525
- width: "18px",
526
- },
527
- grid_levoGroup: {
528
- display: "grid",
529
- "grid-template-columns": "repeat(2, minmax(0, 1fr))",
530
- "row-gap": "xl",
531
- "column-gap": "xl",
532
- mobile: {
533
- "grid-template-columns": "repeat(1, minmax(0, 1fr))",
880
+ kind: "icon",
881
+ data: {
882
+ id: "arrow-right",
883
+ label: "Arrow Right",
884
+ svgCode:
885
+ '<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M15 22.75H9C3.57 22.75 1.25 20.43 1.25 15V9C1.25 3.57 3.57 1.25 9 1.25H15C20.43 1.25 22.75 3.57 22.75 9V15C22.75 20.43 20.43 22.75 15 22.75ZM9 2.75C4.39 2.75 2.75 4.39 2.75 9V15C2.75 19.61 4.39 21.25 9 21.25H15C19.61 21.25 21.25 19.61 21.25 15V9C21.25 4.39 19.61 2.75 15 2.75H9Z" fill="var(--color-icon-primary)"/>\n<path d="M10.7397 16.28C10.5497 16.28 10.3597 16.21 10.2097 16.06C9.91969 15.77 9.91969 15.29 10.2097 15L13.2097 12L10.2097 8.99997C9.91969 8.70997 9.91969 8.22997 10.2097 7.93997C10.4997 7.64997 10.9797 7.64997 11.2697 7.93997L14.7997 11.47C15.0897 11.76 15.0897 12.24 14.7997 12.53L11.2697 16.06C11.1197 16.21 10.9297 16.28 10.7397 16.28Z" fill="var(--color-icon-primary)"/>\n</svg>',
534
886
  },
535
887
  },
536
888
  },
537
- content: DEFAULT_CONTENT,
538
889
  config: {
539
890
  main_title: {
540
891
  heading: {
@@ -544,46 +895,6 @@ export const Cards4: IBlock = {
544
895
  Heading_Level: "H2",
545
896
  },
546
897
  },
547
- "cards.0.ctas.0.button": {
548
- selectedVariants: {
549
- Button_Variants: "Primary",
550
- },
551
- },
552
- "cards.0.ctas.1.button": {
553
- selectedVariants: {
554
- Button_Variants: "Secondary",
555
- },
556
- },
557
- "cards.1.ctas.0.button": {
558
- selectedVariants: {
559
- Button_Variants: "Primary",
560
- },
561
- },
562
- "cards.1.ctas.1.button": {
563
- selectedVariants: {
564
- Button_Variants: "Secondary",
565
- },
566
- },
567
- "cards.2.ctas.0.button": {
568
- selectedVariants: {
569
- Button_Variants: "Primary",
570
- },
571
- },
572
- "cards.2.ctas.1.button": {
573
- selectedVariants: {
574
- Button_Variants: "Secondary",
575
- },
576
- },
577
- "cards.3.ctas.0.button": {
578
- selectedVariants: {
579
- Button_Variants: "Primary",
580
- },
581
- },
582
- "cards.3.ctas.1.button": {
583
- selectedVariants: {
584
- Button_Variants: "Secondary",
585
- },
586
- },
587
898
  header_buttons: [
588
899
  {
589
900
  header_button: {
@@ -599,32 +910,38 @@ export const Cards4: IBlock = {
599
910
  },
600
911
  {
601
912
  header_button: {
602
- selectedVariants: {},
913
+ selectedVariants: {
914
+ Button_Variants: "Primary",
915
+ },
603
916
  },
604
917
  },
605
918
  ],
606
919
  grid: [
607
920
  {
921
+ card: {
922
+ selectedVariants: {},
923
+ },
608
924
  title: {
609
925
  selectedVariants: {
610
926
  Heading_Level: "H4",
611
927
  },
612
928
  },
613
- card: {
614
- selectedVariants: {},
615
- },
616
929
  details: {
617
930
  selectedVariants: {},
618
931
  },
619
932
  ctas: [
620
933
  {
621
934
  button: {
622
- selectedVariants: {},
935
+ selectedVariants: {
936
+ Button_Variants: "Primary",
937
+ },
623
938
  },
624
939
  },
625
940
  {
626
941
  button: {
627
- selectedVariants: {},
942
+ selectedVariants: {
943
+ Button_Variants: "Link",
944
+ },
628
945
  },
629
946
  },
630
947
  ],
@@ -641,6 +958,22 @@ export const Cards4: IBlock = {
641
958
  details: {
642
959
  selectedVariants: {},
643
960
  },
961
+ ctas: [
962
+ {
963
+ button: {
964
+ selectedVariants: {
965
+ Button_Variants: "Primary",
966
+ },
967
+ },
968
+ },
969
+ {
970
+ button: {
971
+ selectedVariants: {
972
+ Button_Variants: "Link",
973
+ },
974
+ },
975
+ },
976
+ ],
644
977
  },
645
978
  {
646
979
  card: {
@@ -654,6 +987,22 @@ export const Cards4: IBlock = {
654
987
  details: {
655
988
  selectedVariants: {},
656
989
  },
990
+ ctas: [
991
+ {
992
+ button: {
993
+ selectedVariants: {
994
+ Button_Variants: "Primary",
995
+ },
996
+ },
997
+ },
998
+ {
999
+ button: {
1000
+ selectedVariants: {
1001
+ Button_Variants: "Link",
1002
+ },
1003
+ },
1004
+ },
1005
+ ],
657
1006
  },
658
1007
  {
659
1008
  card: {
@@ -667,8 +1016,143 @@ export const Cards4: IBlock = {
667
1016
  details: {
668
1017
  selectedVariants: {},
669
1018
  },
1019
+ ctas: [
1020
+ {
1021
+ button: {
1022
+ selectedVariants: {
1023
+ Button_Variants: "Primary",
1024
+ },
1025
+ },
1026
+ },
1027
+ {
1028
+ button: {
1029
+ selectedVariants: {
1030
+ Button_Variants: "Link",
1031
+ },
1032
+ },
1033
+ },
1034
+ ],
1035
+ },
1036
+ ],
1037
+ },
1038
+ },
1039
+ {
1040
+ title: "Compact Cards",
1041
+ key: "compact_cards",
1042
+ styles: {
1043
+ layout: {},
1044
+ container: {},
1045
+ header_section: HEADER_SECTION_SPLIT,
1046
+ title_container: TITLE_CONTAINER_COLUMN,
1047
+ main_title: {},
1048
+ description: {
1049
+ color: "muted-foreground",
1050
+ },
1051
+ header_buttons_levoGroup: HEADER_BUTTONS_GROUP,
1052
+ header_buttons_levoGroupItem: {
1053
+ header_button: {},
1054
+ },
1055
+ header_buttons: [{}, {}],
1056
+ grid_levoGroup: {
1057
+ display: "grid",
1058
+ "grid-template-columns": "repeat(4, minmax(0, 1fr))",
1059
+ "row-gap": "lg",
1060
+ "column-gap": "lg",
1061
+ tablet: {
1062
+ "grid-template-columns": "repeat(2, minmax(0, 1fr))",
1063
+ },
1064
+ mobile: {
1065
+ "grid-template-columns": "repeat(1, minmax(0, 1fr))",
1066
+ },
1067
+ },
1068
+ grid_levoGroupItem: {
1069
+ title: {},
1070
+ card: {
1071
+ display: "flex",
1072
+ "flex-direction": "column",
1073
+ height: "100%",
1074
+ "background-color": "white",
1075
+ "padding-top": "2xl",
1076
+ "padding-bottom": "2xl",
1077
+ "padding-left": "2xl",
1078
+ "padding-right": "2xl",
1079
+ "border-radius": "lg",
1080
+ "row-gap": "base",
1081
+ border: "1px solid",
1082
+ "border-color": "border",
1083
+ "box-shadow":
1084
+ "0 1px 2px rgba(15, 23, 42, 0.04), 0 6px 18px rgba(15, 23, 42, 0.05)",
1085
+ mobile: {
1086
+ "padding-top": "lg",
1087
+ "padding-left": "lg",
1088
+ "padding-right": "lg",
1089
+ "padding-bottom": "lg",
1090
+ },
1091
+ },
1092
+ details: {
1093
+ color: "muted-foreground",
1094
+ },
1095
+ ctas_levoGroup: {
1096
+ display: "flex",
1097
+ "flex-direction": "column",
1098
+ "row-gap": "xs",
1099
+ "margin-top": "auto",
1100
+ "align-items": "stretch",
1101
+ },
1102
+ content_wrapper: {
1103
+ display: "flex",
1104
+ "flex-direction": "column",
1105
+ "row-gap": "xs",
1106
+ },
1107
+ ctas_levoGroupItem: {
1108
+ button: {},
1109
+ },
1110
+ ctas: [{}, {}],
1111
+ },
1112
+ grid: [{}, {}, {}, {}],
1113
+ header_button_rightIcon: {
1114
+ width: "16px",
1115
+ height: "16px",
1116
+ },
1117
+ },
1118
+ content: COMPACT_CONTENT,
1119
+ config: {
1120
+ main_title: {
1121
+ heading: { level: 2 },
1122
+ selectedVariants: { Heading_Level: "H2" },
1123
+ },
1124
+ header_buttons: [
1125
+ {
1126
+ header_button: {
1127
+ selectedVariants: { Button_Variants: "Link" },
1128
+ button_icons: { right: { enabled: true } },
1129
+ },
1130
+ },
1131
+ {
1132
+ header_button: {
1133
+ selectedVariants: { Button_Variants: "Primary" },
1134
+ },
670
1135
  },
671
1136
  ],
1137
+ grid: Array(4)
1138
+ .fill(0)
1139
+ .map(() => ({
1140
+ card: { selectedVariants: {} },
1141
+ title: { selectedVariants: { Heading_Level: "H4" } },
1142
+ details: { selectedVariants: {} },
1143
+ ctas: [
1144
+ {
1145
+ button: {
1146
+ selectedVariants: { Button_Variants: "Primary" },
1147
+ },
1148
+ },
1149
+ {
1150
+ button: {
1151
+ selectedVariants: { Button_Variants: "Link" },
1152
+ },
1153
+ },
1154
+ ],
1155
+ })),
672
1156
  },
673
1157
  },
674
1158
  ],