@levo-so/blocks 0.1.54 → 0.1.58
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.
- package/package.json +2 -2
- package/src/blocks/about-us/about-us-1.schema.ts +14 -0
- package/src/blocks/about-us/about-us-1.tsx +4 -2
- package/src/blocks/about-us/about-us-2.schema.ts +48 -0
- package/src/blocks/about-us/about-us-2.tsx +6 -0
- package/src/blocks/blogs/blog-listing-1.schema.ts +10 -0
- package/src/blocks/blogs/blog-listing-2.schema.ts +42 -162
- package/src/blocks/blogs/blog-listing-2.tsx +7 -0
- package/src/blocks/blogs/blog-listing-3.schema.ts +9 -0
- package/src/blocks/blogs/blog-post-1.schema.ts +7 -1
- package/src/blocks/blogs/blog-post-1.tsx +1 -1
- package/src/blocks/blogs/blog-post-2.schema.ts +464 -28
- package/src/blocks/blogs/blog-post-2.tsx +6 -13
- package/src/blocks/blogs/blog-post-3.schema.ts +42 -0
- package/src/blocks/blogs/blog-post-3.tsx +4 -1
- package/src/blocks/calendar/calendar-1.schema.ts +537 -0
- package/src/blocks/calendar/calendar-1.tsx +145 -0
- package/src/blocks/cards/cards-10.schema.ts +52 -4
- package/src/blocks/cards/cards-10.tsx +13 -1
- package/src/blocks/cards/cards-14.schema.ts +532 -0
- package/src/blocks/cards/cards-14.tsx +54 -0
- package/src/blocks/cards/cards-15.schema.ts +277 -0
- package/src/blocks/cards/cards-15.tsx +40 -0
- package/src/blocks/cards/cards-6.schema.ts +46 -0
- package/src/blocks/cards/cards-6.tsx +27 -1
- package/src/blocks/cards/cards-7.tsx +2 -0
- package/src/blocks/carousel/carousel-2.schema.ts +1128 -0
- package/src/blocks/carousel/carousel-2.tsx +159 -0
- package/src/blocks/content/content-5.schema.ts +112 -6
- package/src/blocks/content/content-5.tsx +19 -3
- package/src/blocks/content/content-6.schema.ts +16 -3
- package/src/blocks/content/content-6.tsx +1 -0
- package/src/blocks/content/content-8.schema.ts +125 -0
- package/src/blocks/content/content-8.tsx +27 -0
- package/src/blocks/content/content-9.schema.ts +2729 -0
- package/src/blocks/content/content-9.tsx +91 -0
- package/src/blocks/cta/cta-2.schema.ts +46 -4
- package/src/blocks/cta/cta-2.tsx +9 -1
- package/src/blocks/embed/embed-1.schema.ts +100 -0
- package/src/blocks/event/ClientOnly.tsx +27 -0
- package/src/blocks/event/event-details.tsx +10 -3
- package/src/blocks/event/event-listing-3.tsx +9 -2
- package/src/blocks/event/event-listing-4.tsx +11 -2
- package/src/blocks/event/event-listing.tsx +11 -4
- package/src/blocks/faq/faq-1.schema.ts +58 -1
- package/src/blocks/faq/faq-1.tsx +18 -1
- package/src/blocks/faq/faq-2.tsx +2 -1
- package/src/blocks/faq/faq-3.schema.ts +6 -1
- package/src/blocks/faq/faq-3.tsx +1 -0
- package/src/blocks/features/features-1/features-1.schema.ts +2 -0
- package/src/blocks/features/features-1/variants/index.ts +2 -0
- package/src/blocks/features/features-1/variants/stylized-cards-v3.ts +451 -0
- package/src/blocks/features/features-4.schema.ts +358 -20
- package/src/blocks/features/features-4.tsx +3 -1
- package/src/blocks/features/features-6.tsx +2 -0
- package/src/blocks/filter-listing/filter-listing-1.schema.ts +614 -0
- package/src/blocks/filter-listing/filter-listing-1.tsx +128 -0
- package/src/blocks/footer/footer-6.schema.ts +2 -2
- package/src/blocks/hero/hero-11.schema.ts +849 -0
- package/src/blocks/hero/hero-11.tsx +59 -0
- package/src/blocks/hero/hero-12.schema.ts +712 -0
- package/src/blocks/hero/hero-12.tsx +76 -0
- package/src/blocks/hero/hero-13.schema.ts +238 -0
- package/src/blocks/hero/hero-13.tsx +31 -0
- package/src/blocks/hero/hero-4.tsx +2 -0
- package/src/blocks/hero/hero-5.tsx +2 -0
- package/src/blocks/hero/hero-7.tsx +2 -1
- package/src/blocks/hero/hero-8.tsx +2 -0
- package/src/blocks/hero/hero-9.schema.ts +5 -0
- package/src/blocks/hero/hero-9.tsx +2 -0
- package/src/blocks/index.ts +27 -0
- package/src/blocks/navbar/navbar-1.schema.ts +6 -6
- package/src/blocks/navbar/navbar-1.tsx +6 -7
- package/src/blocks/navbar/navbar-2.schema.ts +9 -9
- package/src/blocks/navbar/navbar-2.tsx +7 -8
- package/src/blocks/navbar/navbar-3.schema.ts +9 -9
- package/src/blocks/navbar/navbar-3.tsx +139 -114
- package/src/blocks/polling/polling-1.schema.ts +134 -0
- package/src/blocks/polling/polling-1.tsx +466 -0
- package/src/blocks/products/products-listing-2.schema.ts +596 -0
- package/src/blocks/products/products-listing-2.tsx +56 -0
- package/src/blocks/products/products-listing-3.schema.ts +818 -0
- package/src/blocks/products/products-listing-3.tsx +125 -0
- package/src/blocks/profile/profile-2.schema.ts +505 -0
- package/src/blocks/profile/profile-2.tsx +64 -0
- package/src/blocks/profile/profile-3.schema.ts +867 -0
- package/src/blocks/profile/profile-3.tsx +98 -0
- package/src/blocks/services/service-1.schema.ts +1743 -0
- package/src/blocks/services/service-1.tsx +139 -0
- package/src/blocks/services/service-2.schema.ts +433 -0
- package/src/blocks/services/service-2.tsx +98 -0
- package/src/blocks/services/service-3.schema.ts +631 -0
- package/src/blocks/services/service-3.tsx +135 -0
- package/src/blocks/tabs/tab-1.schema.ts +831 -0
- package/src/blocks/tabs/tab-1.tsx +126 -0
- package/src/blocks/tabs/tab-2.schema.ts +767 -0
- package/src/blocks/tabs/tab-2.tsx +60 -0
- package/src/blocks/team/team-3.schema.ts +5 -1
- package/src/blocks/team/team-3.tsx +7 -0
- package/src/blocks/team/team-4.schema.ts +17 -13
- package/src/blocks/team/team-4.tsx +4 -1
- package/src/blocks/team/team-5.schema.ts +369 -0
- package/src/blocks/team/team-5.tsx +38 -0
- package/src/blocks/testimonial/testimonial-1.tsx +0 -1
- package/src/blocks/testimonial/testimonial-2.tsx +2 -1
- package/src/blocks/testimonial/testimonial-3.tsx +2 -0
- package/src/blocks/testimonial/testimonial-4.tsx +2 -1
- package/src/blocks/testimonial/testimonial-5.tsx +2 -0
- package/src/blocks/testimonial/testimonial-6.tsx +2 -1
- package/src/blocks/testimonial/testimonial-7.schema.ts +438 -0
- package/src/blocks/testimonial/testimonial-7.tsx +125 -0
- package/src/blocks/timeline/timeline-1.schema.ts +741 -0
- package/src/blocks/timeline/timeline-1.tsx +52 -0
- package/src/blocks/users/edit-profile.schema.ts +294 -0
- package/src/blocks/users/edit-profile.tsx +184 -0
- package/src/schemas/blocks.ts +64 -12
- package/src/schemas/categories.ts +36 -0
|
@@ -11,32 +11,6 @@ const DUMMY_ICON = {
|
|
|
11
11
|
},
|
|
12
12
|
};
|
|
13
13
|
|
|
14
|
-
const MEDIA = {
|
|
15
|
-
placeholder: {
|
|
16
|
-
id: "7141014160938075687",
|
|
17
|
-
location: "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH.png",
|
|
18
|
-
kind: "image",
|
|
19
|
-
mimetype: "image/png",
|
|
20
|
-
srcset: {
|
|
21
|
-
"1080w":
|
|
22
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp",
|
|
23
|
-
"1200w":
|
|
24
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp",
|
|
25
|
-
"1920w":
|
|
26
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp",
|
|
27
|
-
"320w":
|
|
28
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp",
|
|
29
|
-
"640w":
|
|
30
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp",
|
|
31
|
-
"750w":
|
|
32
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp",
|
|
33
|
-
"828w":
|
|
34
|
-
"https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp",
|
|
35
|
-
path: "https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-640w.webp 640w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1080w.webp 1080w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1200w.webp 1200w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-1920w.webp 1920w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-320w.webp 320w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-750w.webp 750w, https://space.levo.so/WLZ1TXTD/defaultblue-tryFJ012mgyH-828w.webp 828w",
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
|
|
40
14
|
const DEFAULT_CONTENT = {
|
|
41
15
|
layout: null,
|
|
42
16
|
container: null,
|
|
@@ -131,6 +105,74 @@ const DEFAULT_CONTENT = {
|
|
|
131
105
|
"Corporate law governs the formation, operation, and dissolution of corporations. Understanding these fundamentals is crucial for business leaders, entrepreneurs, and legal professionals. This comprehensive guide explores the key principles, regulatory frameworks, and practical applications that shape modern corporate governance.",
|
|
132
106
|
};
|
|
133
107
|
|
|
108
|
+
const DEFAULT_CONTENT_V1 = {
|
|
109
|
+
layout: null,
|
|
110
|
+
container: null,
|
|
111
|
+
"main-content": null,
|
|
112
|
+
sidebar: null,
|
|
113
|
+
"sidebar-cards": [
|
|
114
|
+
{
|
|
115
|
+
card: null,
|
|
116
|
+
heading: "",
|
|
117
|
+
content: [
|
|
118
|
+
{
|
|
119
|
+
title: "Job Type",
|
|
120
|
+
description: "<p>Full-time</p>",
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
title: "<p>Experience</p>",
|
|
124
|
+
description: "<p>20+ years</p>",
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
title: "<p>Mode of Work</p>",
|
|
128
|
+
description:
|
|
129
|
+
"<p>Flexible (On-site/Remote/Hybrid with travel capability)</p>",
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
title: "<p>Schedule</p>",
|
|
133
|
+
description: "<p>9 am to 6.30 pm PHT</p>",
|
|
134
|
+
},
|
|
135
|
+
],
|
|
136
|
+
button: "",
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
"social-section": null,
|
|
140
|
+
"social-title": "",
|
|
141
|
+
"social-icons": [],
|
|
142
|
+
"blog-content": null,
|
|
143
|
+
"content-meta": null,
|
|
144
|
+
"content-icons": [],
|
|
145
|
+
"meta-info": null,
|
|
146
|
+
"date-wrapper": null,
|
|
147
|
+
"calendar-icon": {
|
|
148
|
+
kind: "icon",
|
|
149
|
+
data: {
|
|
150
|
+
id: "archive-minus",
|
|
151
|
+
label: "Archive Minus",
|
|
152
|
+
tags: ["archive", "custom", "directional", "minus"],
|
|
153
|
+
svgCode:
|
|
154
|
+
'<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M14.5 11.4H9.5C9.09 11.4 8.75 11.06 8.75 10.65C8.75 10.24 9.09 9.90002 9.5 9.90002H14.5C14.91 9.90002 15.25 10.24 15.25 10.65C15.25 11.06 14.91 11.4 14.5 11.4Z" fill="var(--color-icon-primary)"/>\n<path d="M4.92957 22.75C4.50957 22.75 4.11957 22.65 3.76957 22.45C2.99957 22 2.55957 21.09 2.55957 19.96V5.86C2.55957 3.32 4.62957 1.25 7.16957 1.25H16.8196C19.3596 1.25 21.4296 3.32 21.4296 5.86V19.95C21.4296 21.08 20.9896 21.99 20.2196 22.44C19.4496 22.89 18.4396 22.84 17.4496 22.29L12.5696 19.58C12.2796 19.42 11.7096 19.42 11.4196 19.58L6.53957 22.29C5.99957 22.59 5.44957 22.75 4.92957 22.75ZM7.17957 2.75C5.46957 2.75 4.06957 4.15 4.06957 5.86V19.95C4.06957 20.54 4.23957 20.98 4.53957 21.15C4.83957 21.33 5.30957 21.27 5.81957 20.98L10.6996 18.27C11.4396 17.86 12.5596 17.86 13.2996 18.27L18.1796 20.98C18.6896 21.27 19.1596 21.33 19.4596 21.15C19.7596 20.97 19.9296 20.53 19.9296 19.95V5.86C19.9296 4.15 18.5296 2.75 16.8196 2.75H7.17957Z" fill="var(--color-icon-primary)"/>\n</svg>',
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
"publish-date": "2025-01-16T10:23:31.297Z",
|
|
158
|
+
"time-wrapper": null,
|
|
159
|
+
"time-icon": {
|
|
160
|
+
kind: "icon",
|
|
161
|
+
data: {
|
|
162
|
+
id: "archive-minus",
|
|
163
|
+
label: "Archive Minus",
|
|
164
|
+
tags: ["archive", "custom", "directional", "minus"],
|
|
165
|
+
svgCode:
|
|
166
|
+
'<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M14.5 11.4H9.5C9.09 11.4 8.75 11.06 8.75 10.65C8.75 10.24 9.09 9.90002 9.5 9.90002H14.5C14.91 9.90002 15.25 10.24 15.25 10.65C15.25 11.06 14.91 11.4 14.5 11.4Z" fill="var(--color-icon-primary)"/>\n<path d="M4.92957 22.75C4.50957 22.75 4.11957 22.65 3.76957 22.45C2.99957 22 2.55957 21.09 2.55957 19.96V5.86C2.55957 3.32 4.62957 1.25 7.16957 1.25H16.8196C19.3596 1.25 21.4296 3.32 21.4296 5.86V19.95C21.4296 21.08 20.9896 21.99 20.2196 22.44C19.4496 22.89 18.4396 22.84 17.4496 22.29L12.5696 19.58C12.2796 19.42 11.7096 19.42 11.4196 19.58L6.53957 22.29C5.99957 22.59 5.44957 22.75 4.92957 22.75ZM7.17957 2.75C5.46957 2.75 4.06957 4.15 4.06957 5.86V19.95C4.06957 20.54 4.23957 20.98 4.53957 21.15C4.83957 21.33 5.30957 21.27 5.81957 20.98L10.6996 18.27C11.4396 17.86 12.5596 17.86 13.2996 18.27L18.1796 20.98C18.6896 21.27 19.1596 21.33 19.4596 21.15C19.7596 20.97 19.9296 20.53 19.9296 19.95V5.86C19.9296 4.15 18.5296 2.75 16.8196 2.75H7.17957Z" fill="var(--color-icon-primary)"/>\n</svg>',
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
"reading-time": "12 Minutes",
|
|
170
|
+
"content-section": null,
|
|
171
|
+
content:
|
|
172
|
+
'<p>Career services teams in e-learning companies encounter numerous hurdles that hinder their learners\' placement rates. Despite providing excellent training, many learners struggle to secure positions. This dilemma not only affects learner satisfaction but also impacts referrals and increases customer acquisition costs, which now consume 30% of their revenue. This situation poses a significant threat to the company\'s growth and sustainability, making it imperative to find a solution.</p><p><strong>How do you get your learners placed?</strong></p><p>After conversing with over 400 e-learning founders and placement managers, we\'ve realized a significant reason why their learners struggle to secure placements: they simply aren\'t applying to a sufficient number of job opportunities. On average, learners are only applying to about 20 positions, whereas they should ideally target 200 or more applications.</p><p>We understand that aiming for over 200 applications might seem daunting, but in today\'s job market, with a surplus of applicants and a scarcity of job openings, it\'s a necessity for increasing their chances of success.</p><p><strong>Why is it important to apply to so many jobs?( 200+)</strong></p><p>Applying to over 200 jobs is crucial because the job market is highly competitive. Each major job board receives over 1000 applicants for every fresh job opening. Typically, recruiters only screen around 50 candidates and hire just one. Even in cases of bulk hiring, the ratio of applicants to hire remains low, between 2 and 5%. Simply put, securing a job is a numbers game. The more positions you apply for, the higher your chances of success.</p><p>For instance, if a learner applies to 200 jobs, they\'re likely to be screened for around 30% of them, or approximately 60 jobs. From these, they may receive interview calls for about 30 jobs. Although initial rejections are common due to nerves and a lack of interview experience, candidates improve with practice. After around 10 interviews, they become more comfortable and perform better, eventually receiving job offers from at least 2 of them. Therefore, applying to over 200 jobs significantly increases the probability of receiving interview calls and job offers.</p><p><strong>How can learners apply to 200+ jobs?</strong></p><p>Learners can apply to over 200 jobs through two primary methods:</p><ol><li><p>Outreach by the Placement Team: This involves the placement team sourcing job opportunities and recommending them to learners.</p></li></ol><ol start="2"><li><p>Independent Applications for Market Jobs: Learners can directly apply to job openings available in the market without relying solely on the placement team.</p></li></ol><p>However, it\'s notable that many Indian Ed-tech Placement teams predominantly focus on the jobs sourced by the company. This is often because learners insist on it, given they\'ve invested in the training. However, this approach is counterproductive for learners as it limits their job prospects.</p><p>This trend is unique to India and needs to change. Learners must be encouraged to explore and apply to a broader range of job opportunities independently to enhance their chances of securing employment.</p><p><strong>Global Sights</strong></p><p>Based on insights gathered from conversations with over 120 international e-learning founders and placement managers and 400+ in India, a significant contrast in the approach to job seeking among learners is apparent:</p><p>Globally, Approximately 80% of learners in the e-learning sector secure jobs independently, while only 20% find employment through employers or jobs sourced by e-learning companies. This indicates a strong reliance on individual efforts in the global context.</p><p>India: The trend is reversed, with approximately 80% of placements facilitated by e-learning companies and only 20% through independent learner’s applications. This disproportionate reliance on e-learning efforts in India is not sustainable and calls for a shift towards a more balanced approach.</p><p><strong>Why is over-reliance on e-learning-sourced jobs not a good idea?</strong></p><p>Relying heavily on e-learning-sourced jobs, averaging around 150 per month, is not ideal. However, during the same period, there could be 5000–10,000+ jobs available in the open market. By solely depending on e-learning-sourced opportunities, learners miss out on approximately 90% of the job openings, limiting their prospects significantly.</p><p>Ed-tech companies often struggle to secure enough job opportunities due to manual job sourcing methods. Placement teams spend extensive time screening hundreds of jobs across various job boards, investing 5 to 6 hours daily in this process. Despite their efforts, the response rate from recruiters remains low, with only around 5% responding to outreach attempts. At such low response rate, they will need an army of placement officers to source 500+ jobs for 100 learners every batch. (How to increase response rate from employers in our next article)</p><p>Additionally, the manual approach leads to a narrow focus on just 5 to 7 mainstream job portals, neglecting approximately 40 other potential platforms. As a result, they miss out on roughly 90% of available job opportunities</p><p><strong>So how do e-learning companies enable their learners to apply to 200 + jobs?</strong></p><p>To enable their learners to apply to over 200 jobs, E-learning companies can implement the following solutions:</p><ol><li><p>Encourage Applying to Market Jobs: Counsel learners on the importance of applying to industry jobs independently. Set this expectation at enrollment to ensure they understand the benefits.</p></li></ol><ol start="2"><li><p>Provide Job Application Training: Offer comprehensive training on job application techniques, including customizing resumes, highlighting strengths, and navigating Applicant Tracking Systems (ATS) biases.</p></li></ol><ol start="3"><li><p>Offer Tools: Equip learners with tools to streamline their job search, such as Chrome extensions for auto-filling application forms, AI-powered resume and LinkedIn reviewers, and an automated job tracker. To boast makes it easier for them to apply for and track jobs.</p></li></ol><ol start="4"><li><p>Adopt Automated Job Sourcing Tools: Implement automated tools like AI Job Importer bots to broaden job opportunities beyond mainstream portals. This saves significant time, reducing the daily 6-hour job sourcing task to just 20–25 minutes, resulting in a 95% time- savings.</p></li></ol><ol start="5"><li><p>Gamify application: Gamify job applications with streaks, leaderboards, and challenges. Reward learners with extra credits for tasks like updating resumes and networking. Use virtual rewards and progress tracking to keep them engaged and motivated.</p></li></ol><p><strong>Conclusion:</strong></p><p>By automating repetitive tasks and leveraging smart job sourcing techniques, placement teams can focus on higher-impact activities, such as providing personalized support to candidates and building stronger employer relationships, ultimately leading to better placement outcomes.</p>',
|
|
173
|
+
content_title: "<p>Job Description</p>",
|
|
174
|
+
};
|
|
175
|
+
|
|
134
176
|
export type IBlogPost2Content = typeof DEFAULT_CONTENT;
|
|
135
177
|
|
|
136
178
|
export const BlogPost2: IBlock = {
|
|
@@ -201,6 +243,7 @@ export const BlogPost2: IBlock = {
|
|
|
201
243
|
hint: {
|
|
202
244
|
prompt_description:
|
|
203
245
|
"Main heading for the card section. Should be descriptive and concise.",
|
|
246
|
+
usecase: "title",
|
|
204
247
|
min_characters: 8,
|
|
205
248
|
max_characters: 40,
|
|
206
249
|
},
|
|
@@ -223,10 +266,11 @@ export const BlogPost2: IBlock = {
|
|
|
223
266
|
{
|
|
224
267
|
key: "title",
|
|
225
268
|
label: "Title",
|
|
226
|
-
field_interface: "
|
|
269
|
+
field_interface: "TypographyWidget",
|
|
227
270
|
hint: {
|
|
228
271
|
prompt_description:
|
|
229
272
|
"Content title describing the service or feature. Keep it concise and impactful.",
|
|
273
|
+
usecase: "title",
|
|
230
274
|
min_characters: 10,
|
|
231
275
|
max_characters: 40,
|
|
232
276
|
},
|
|
@@ -238,6 +282,7 @@ export const BlogPost2: IBlock = {
|
|
|
238
282
|
hint: {
|
|
239
283
|
prompt_description:
|
|
240
284
|
"Brief description explaining the service or feature benefits.",
|
|
285
|
+
usecase: "description",
|
|
241
286
|
min_characters: 40,
|
|
242
287
|
max_characters: 120,
|
|
243
288
|
},
|
|
@@ -251,6 +296,7 @@ export const BlogPost2: IBlock = {
|
|
|
251
296
|
hint: {
|
|
252
297
|
prompt_description:
|
|
253
298
|
"Call-to-action button for the card. Use action-oriented text.",
|
|
299
|
+
usecase: "button",
|
|
254
300
|
min_characters: 5,
|
|
255
301
|
max_characters: 20,
|
|
256
302
|
},
|
|
@@ -271,10 +317,11 @@ export const BlogPost2: IBlock = {
|
|
|
271
317
|
{
|
|
272
318
|
key: "social-title",
|
|
273
319
|
label: "Social Title",
|
|
274
|
-
field_interface: "
|
|
320
|
+
field_interface: "TypographyWidget",
|
|
275
321
|
hint: {
|
|
276
322
|
prompt_description:
|
|
277
323
|
"Title for the social media section. Keep it short and engaging.",
|
|
324
|
+
usecase: "title",
|
|
278
325
|
min_characters: 5,
|
|
279
326
|
max_characters: 20,
|
|
280
327
|
},
|
|
@@ -358,6 +405,7 @@ export const BlogPost2: IBlock = {
|
|
|
358
405
|
hint: {
|
|
359
406
|
prompt_description:
|
|
360
407
|
"Brief description of the content feature or highlight.",
|
|
408
|
+
usecase: "label",
|
|
361
409
|
min_characters: 8,
|
|
362
410
|
max_characters: 30,
|
|
363
411
|
},
|
|
@@ -395,6 +443,7 @@ export const BlogPost2: IBlock = {
|
|
|
395
443
|
field_interface: "TypographyWidget",
|
|
396
444
|
hint: {
|
|
397
445
|
prompt_description: "Publication date of the blog post.",
|
|
446
|
+
usecase: "date",
|
|
398
447
|
min_characters: 8,
|
|
399
448
|
max_characters: 20,
|
|
400
449
|
},
|
|
@@ -421,6 +470,7 @@ export const BlogPost2: IBlock = {
|
|
|
421
470
|
field_interface: "TypographyWidget",
|
|
422
471
|
hint: {
|
|
423
472
|
prompt_description: "Estimated reading time for the blog post.",
|
|
473
|
+
usecase: "reading_time",
|
|
424
474
|
min_characters: 5,
|
|
425
475
|
max_characters: 15,
|
|
426
476
|
},
|
|
@@ -435,6 +485,11 @@ export const BlogPost2: IBlock = {
|
|
|
435
485
|
prompt_description: "Main blog content container. No content needed.",
|
|
436
486
|
},
|
|
437
487
|
},
|
|
488
|
+
{
|
|
489
|
+
key: "content_title",
|
|
490
|
+
label: "Content title",
|
|
491
|
+
field_interface: "TypographyWidget",
|
|
492
|
+
},
|
|
438
493
|
{
|
|
439
494
|
key: "content",
|
|
440
495
|
label: "Content",
|
|
@@ -442,10 +497,16 @@ export const BlogPost2: IBlock = {
|
|
|
442
497
|
hint: {
|
|
443
498
|
prompt_description:
|
|
444
499
|
"Full blog article content. Should be comprehensive and informative.",
|
|
500
|
+
usecase: "description",
|
|
445
501
|
min_characters: 200,
|
|
446
502
|
max_characters: 8000,
|
|
447
503
|
},
|
|
448
504
|
},
|
|
505
|
+
{
|
|
506
|
+
key: "contact_form",
|
|
507
|
+
label: "Contact Form",
|
|
508
|
+
field_interface: "FormWidget",
|
|
509
|
+
},
|
|
449
510
|
],
|
|
450
511
|
layouts: [
|
|
451
512
|
{
|
|
@@ -787,5 +848,380 @@ export const BlogPost2: IBlock = {
|
|
|
787
848
|
},
|
|
788
849
|
},
|
|
789
850
|
},
|
|
851
|
+
{
|
|
852
|
+
key: "variant-1",
|
|
853
|
+
title: "Variant 1",
|
|
854
|
+
styles: {
|
|
855
|
+
layout: {
|
|
856
|
+
width: "100%",
|
|
857
|
+
"padding-top": "8xl",
|
|
858
|
+
"padding-bottom": "8xl",
|
|
859
|
+
"padding-left": "6xl",
|
|
860
|
+
"padding-right": "6xl",
|
|
861
|
+
mobile: {
|
|
862
|
+
"padding-top": "5xl",
|
|
863
|
+
"padding-bottom": "5xl",
|
|
864
|
+
"padding-left": "2xl",
|
|
865
|
+
"padding-right": "2xl",
|
|
866
|
+
},
|
|
867
|
+
},
|
|
868
|
+
container: {
|
|
869
|
+
width: "100%",
|
|
870
|
+
"max-width": "1280px",
|
|
871
|
+
"margin-left": "auto",
|
|
872
|
+
"margin-right": "auto",
|
|
873
|
+
},
|
|
874
|
+
"main-content": {
|
|
875
|
+
display: "flex",
|
|
876
|
+
"column-gap": "4xl",
|
|
877
|
+
"row-gap": "4xl",
|
|
878
|
+
mobile: {
|
|
879
|
+
"flex-direction": "column",
|
|
880
|
+
},
|
|
881
|
+
},
|
|
882
|
+
sidebar: {
|
|
883
|
+
width: "20%",
|
|
884
|
+
"flex-shrink": "0",
|
|
885
|
+
display: "flex",
|
|
886
|
+
"flex-direction": "column",
|
|
887
|
+
"row-gap": "3xl",
|
|
888
|
+
mobile: {
|
|
889
|
+
width: "100%",
|
|
890
|
+
},
|
|
891
|
+
"border-right": "1px solid",
|
|
892
|
+
"border-color": "text-3",
|
|
893
|
+
},
|
|
894
|
+
"sidebar-cards_levoGroup": {
|
|
895
|
+
display: "flex",
|
|
896
|
+
"flex-direction": "column",
|
|
897
|
+
"row-gap": "2xl",
|
|
898
|
+
},
|
|
899
|
+
"sidebar-cards": [
|
|
900
|
+
{
|
|
901
|
+
card: {},
|
|
902
|
+
heading: {
|
|
903
|
+
color: "var(--color-text-1)",
|
|
904
|
+
"margin-bottom": "base",
|
|
905
|
+
display: "none",
|
|
906
|
+
},
|
|
907
|
+
content_levoGroup: {
|
|
908
|
+
display: "flex",
|
|
909
|
+
"flex-direction": "column",
|
|
910
|
+
"border-style": "none",
|
|
911
|
+
"border-width": "0px",
|
|
912
|
+
},
|
|
913
|
+
content: [
|
|
914
|
+
{
|
|
915
|
+
"content-item": {
|
|
916
|
+
"margin-bottom": "sm",
|
|
917
|
+
},
|
|
918
|
+
title: {
|
|
919
|
+
"margin-bottom": "xs",
|
|
920
|
+
color: "var(--color-text-1)",
|
|
921
|
+
"font-weight": 700,
|
|
922
|
+
},
|
|
923
|
+
description: {
|
|
924
|
+
"font-size": "sm",
|
|
925
|
+
color: "var(--color-text-2)",
|
|
926
|
+
"line-height": "1.5",
|
|
927
|
+
},
|
|
928
|
+
},
|
|
929
|
+
{
|
|
930
|
+
"content-item": {
|
|
931
|
+
"margin-bottom": "sm",
|
|
932
|
+
},
|
|
933
|
+
title: {
|
|
934
|
+
"margin-bottom": "xs",
|
|
935
|
+
color: "var(--color-text-1)",
|
|
936
|
+
"font-weight": 700,
|
|
937
|
+
},
|
|
938
|
+
description: {
|
|
939
|
+
"font-size": "sm",
|
|
940
|
+
color: "var(--color-text-2)",
|
|
941
|
+
"line-height": "1.5",
|
|
942
|
+
},
|
|
943
|
+
},
|
|
944
|
+
{
|
|
945
|
+
"content-item": {
|
|
946
|
+
"margin-bottom": "sm",
|
|
947
|
+
},
|
|
948
|
+
title: {
|
|
949
|
+
"margin-bottom": "xs",
|
|
950
|
+
color: "var(--color-text-1)",
|
|
951
|
+
"font-weight": 700,
|
|
952
|
+
},
|
|
953
|
+
description: {
|
|
954
|
+
"font-size": "sm",
|
|
955
|
+
color: "var(--color-text-2)",
|
|
956
|
+
"line-height": "1.5",
|
|
957
|
+
},
|
|
958
|
+
},
|
|
959
|
+
{
|
|
960
|
+
"content-item": {
|
|
961
|
+
"margin-bottom": "sm",
|
|
962
|
+
},
|
|
963
|
+
title: {
|
|
964
|
+
"margin-bottom": "xs",
|
|
965
|
+
color: "var(--color-text-1)",
|
|
966
|
+
"font-weight": 700,
|
|
967
|
+
},
|
|
968
|
+
description: {
|
|
969
|
+
"font-size": "sm",
|
|
970
|
+
color: "var(--color-text-2)",
|
|
971
|
+
"line-height": "1.5",
|
|
972
|
+
},
|
|
973
|
+
},
|
|
974
|
+
{
|
|
975
|
+
"content-item": {
|
|
976
|
+
"margin-bottom": "sm",
|
|
977
|
+
},
|
|
978
|
+
title: {
|
|
979
|
+
"margin-bottom": "xs",
|
|
980
|
+
color: "var(--color-text-1)",
|
|
981
|
+
},
|
|
982
|
+
description: {
|
|
983
|
+
"font-size": "sm",
|
|
984
|
+
color: "var(--color-text-2)",
|
|
985
|
+
"line-height": "1.5",
|
|
986
|
+
},
|
|
987
|
+
},
|
|
988
|
+
],
|
|
989
|
+
},
|
|
990
|
+
{
|
|
991
|
+
card: {
|
|
992
|
+
"padding-top": "xl",
|
|
993
|
+
"padding-bottom": "xl",
|
|
994
|
+
"padding-left": "lg",
|
|
995
|
+
"padding-right": "lg",
|
|
996
|
+
"border-radius": "lg",
|
|
997
|
+
border: "1px solid",
|
|
998
|
+
"border-color": "var(--color-border)",
|
|
999
|
+
display: "none",
|
|
1000
|
+
"flex-direction": "column",
|
|
1001
|
+
"row-gap": "base",
|
|
1002
|
+
},
|
|
1003
|
+
image: {
|
|
1004
|
+
width: "48px",
|
|
1005
|
+
height: "48px",
|
|
1006
|
+
"border-radius": "base",
|
|
1007
|
+
},
|
|
1008
|
+
content_levoGroup: {
|
|
1009
|
+
display: "flex",
|
|
1010
|
+
"flex-direction": "column",
|
|
1011
|
+
"row-gap": "base",
|
|
1012
|
+
},
|
|
1013
|
+
content: [
|
|
1014
|
+
{
|
|
1015
|
+
"content-item": {
|
|
1016
|
+
"margin-bottom": "sm",
|
|
1017
|
+
},
|
|
1018
|
+
title: {
|
|
1019
|
+
"margin-bottom": "xs",
|
|
1020
|
+
color: "var(--color-text-1)",
|
|
1021
|
+
},
|
|
1022
|
+
description: {
|
|
1023
|
+
"font-size": "sm",
|
|
1024
|
+
color: "var(--color-text-2)",
|
|
1025
|
+
"line-height": "1.5",
|
|
1026
|
+
},
|
|
1027
|
+
},
|
|
1028
|
+
],
|
|
1029
|
+
},
|
|
1030
|
+
{
|
|
1031
|
+
card: {
|
|
1032
|
+
"padding-top": "xl",
|
|
1033
|
+
"padding-bottom": "xl",
|
|
1034
|
+
"padding-left": "lg",
|
|
1035
|
+
"padding-right": "lg",
|
|
1036
|
+
"border-radius": "lg",
|
|
1037
|
+
border: "1px solid",
|
|
1038
|
+
"border-color": "var(--color-border)",
|
|
1039
|
+
display: "none",
|
|
1040
|
+
"flex-direction": "column",
|
|
1041
|
+
"row-gap": "base",
|
|
1042
|
+
},
|
|
1043
|
+
image: {
|
|
1044
|
+
width: "48px",
|
|
1045
|
+
height: "48px",
|
|
1046
|
+
"border-radius": "base",
|
|
1047
|
+
},
|
|
1048
|
+
content_levoGroup: {
|
|
1049
|
+
display: "flex",
|
|
1050
|
+
"flex-direction": "column",
|
|
1051
|
+
"row-gap": "base",
|
|
1052
|
+
},
|
|
1053
|
+
content: [
|
|
1054
|
+
{
|
|
1055
|
+
"content-item": {
|
|
1056
|
+
"margin-bottom": "sm",
|
|
1057
|
+
},
|
|
1058
|
+
title: {
|
|
1059
|
+
"margin-bottom": "xs",
|
|
1060
|
+
color: "var(--color-text-1)",
|
|
1061
|
+
},
|
|
1062
|
+
description: {
|
|
1063
|
+
"font-size": "sm",
|
|
1064
|
+
color: "var(--color-text-2)",
|
|
1065
|
+
"line-height": "1.5",
|
|
1066
|
+
},
|
|
1067
|
+
},
|
|
1068
|
+
],
|
|
1069
|
+
},
|
|
1070
|
+
],
|
|
1071
|
+
"social-section": {
|
|
1072
|
+
display: "none",
|
|
1073
|
+
},
|
|
1074
|
+
"social-title": {
|
|
1075
|
+
"font-size": "lg",
|
|
1076
|
+
"font-weight": "semibold",
|
|
1077
|
+
"margin-bottom": "lg",
|
|
1078
|
+
color: "var(--color-text-1)",
|
|
1079
|
+
},
|
|
1080
|
+
"social-icons_levoGroup": {
|
|
1081
|
+
display: "flex",
|
|
1082
|
+
"column-gap": "base",
|
|
1083
|
+
},
|
|
1084
|
+
"social-icons": [
|
|
1085
|
+
{
|
|
1086
|
+
icon: {
|
|
1087
|
+
width: "32px",
|
|
1088
|
+
height: "32px",
|
|
1089
|
+
},
|
|
1090
|
+
},
|
|
1091
|
+
{
|
|
1092
|
+
icon: {
|
|
1093
|
+
width: "32px",
|
|
1094
|
+
height: "32px",
|
|
1095
|
+
},
|
|
1096
|
+
},
|
|
1097
|
+
{
|
|
1098
|
+
icon: {
|
|
1099
|
+
width: "32px",
|
|
1100
|
+
height: "32px",
|
|
1101
|
+
},
|
|
1102
|
+
},
|
|
1103
|
+
],
|
|
1104
|
+
"blog-content": {
|
|
1105
|
+
"flex-grow": "1",
|
|
1106
|
+
display: "block",
|
|
1107
|
+
"flex-direction": "column",
|
|
1108
|
+
"row-gap": "3xl",
|
|
1109
|
+
width: "50%",
|
|
1110
|
+
},
|
|
1111
|
+
"content-meta": {
|
|
1112
|
+
display: "none",
|
|
1113
|
+
"flex-direction": "column",
|
|
1114
|
+
"row-gap": "lg",
|
|
1115
|
+
"padding-top": "xl",
|
|
1116
|
+
"padding-bottom": "xl",
|
|
1117
|
+
"border-top": "1px solid",
|
|
1118
|
+
"border-bottom": "1px solid",
|
|
1119
|
+
"border-color": "var(--color-border)",
|
|
1120
|
+
},
|
|
1121
|
+
"content-icons_levoGroup": {
|
|
1122
|
+
display: "flex",
|
|
1123
|
+
"column-gap": "2xl",
|
|
1124
|
+
"row-gap": "lg",
|
|
1125
|
+
"flex-wrap": "wrap",
|
|
1126
|
+
},
|
|
1127
|
+
"content-icons": [
|
|
1128
|
+
{
|
|
1129
|
+
"icon-wrapper": {
|
|
1130
|
+
display: "flex",
|
|
1131
|
+
"align-items": "center",
|
|
1132
|
+
"column-gap": "xs",
|
|
1133
|
+
},
|
|
1134
|
+
icon: {
|
|
1135
|
+
width: "24px",
|
|
1136
|
+
height: "24px",
|
|
1137
|
+
},
|
|
1138
|
+
description: {
|
|
1139
|
+
"font-size": "sm",
|
|
1140
|
+
"font-weight": "medium",
|
|
1141
|
+
color: "var(--color-text-1)",
|
|
1142
|
+
},
|
|
1143
|
+
},
|
|
1144
|
+
{
|
|
1145
|
+
"icon-wrapper": {
|
|
1146
|
+
display: "flex",
|
|
1147
|
+
"align-items": "center",
|
|
1148
|
+
"column-gap": "xs",
|
|
1149
|
+
},
|
|
1150
|
+
icon: {
|
|
1151
|
+
width: "24px",
|
|
1152
|
+
height: "24px",
|
|
1153
|
+
},
|
|
1154
|
+
description: {
|
|
1155
|
+
"font-size": "sm",
|
|
1156
|
+
"font-weight": "medium",
|
|
1157
|
+
color: "var(--color-text-1)",
|
|
1158
|
+
},
|
|
1159
|
+
},
|
|
1160
|
+
],
|
|
1161
|
+
"meta-info": {
|
|
1162
|
+
display: "flex",
|
|
1163
|
+
"column-gap": "2xl",
|
|
1164
|
+
"row-gap": "lg",
|
|
1165
|
+
"flex-wrap": "wrap",
|
|
1166
|
+
},
|
|
1167
|
+
"date-wrapper": {
|
|
1168
|
+
display: "flex",
|
|
1169
|
+
"align-items": "center",
|
|
1170
|
+
"column-gap": "xs",
|
|
1171
|
+
},
|
|
1172
|
+
"calendar-icon": {
|
|
1173
|
+
width: "20px",
|
|
1174
|
+
height: "20px",
|
|
1175
|
+
},
|
|
1176
|
+
"publish-date": {
|
|
1177
|
+
"font-size": "sm",
|
|
1178
|
+
color: "var(--color-text-2)",
|
|
1179
|
+
},
|
|
1180
|
+
"time-wrapper": {
|
|
1181
|
+
display: "flex",
|
|
1182
|
+
"align-items": "center",
|
|
1183
|
+
"column-gap": "xs",
|
|
1184
|
+
},
|
|
1185
|
+
"time-icon": {
|
|
1186
|
+
width: "20px",
|
|
1187
|
+
height: "20px",
|
|
1188
|
+
},
|
|
1189
|
+
"reading-time": {
|
|
1190
|
+
"font-size": "sm",
|
|
1191
|
+
color: "var(--color-text-2)",
|
|
1192
|
+
},
|
|
1193
|
+
"content-section": {
|
|
1194
|
+
display: "flex",
|
|
1195
|
+
"flex-direction": "column",
|
|
1196
|
+
},
|
|
1197
|
+
content: {
|
|
1198
|
+
"font-size": "base",
|
|
1199
|
+
"line-height": "1.7",
|
|
1200
|
+
color: "var(--color-text-1)",
|
|
1201
|
+
},
|
|
1202
|
+
content_title: {
|
|
1203
|
+
color: "text-1",
|
|
1204
|
+
"font-size": "3xl",
|
|
1205
|
+
"font-weight": 700,
|
|
1206
|
+
"margin-bottom": "5xl",
|
|
1207
|
+
},
|
|
1208
|
+
contact_form: {
|
|
1209
|
+
width: "30%",
|
|
1210
|
+
"background-color": "background-3",
|
|
1211
|
+
height: "fit-content",
|
|
1212
|
+
},
|
|
1213
|
+
},
|
|
1214
|
+
content: DEFAULT_CONTENT_V1,
|
|
1215
|
+
config: {
|
|
1216
|
+
title: {
|
|
1217
|
+
heading: {
|
|
1218
|
+
level: 2,
|
|
1219
|
+
},
|
|
1220
|
+
selectedVariants: {
|
|
1221
|
+
Heading_Level: "H2",
|
|
1222
|
+
},
|
|
1223
|
+
},
|
|
1224
|
+
},
|
|
1225
|
+
},
|
|
790
1226
|
],
|
|
791
1227
|
};
|
|
@@ -3,17 +3,15 @@ import {
|
|
|
3
3
|
Box,
|
|
4
4
|
Button,
|
|
5
5
|
Container,
|
|
6
|
+
Form,
|
|
6
7
|
Heading,
|
|
7
8
|
Icon,
|
|
8
|
-
Image,
|
|
9
9
|
Section,
|
|
10
10
|
Typography,
|
|
11
11
|
} from "@levo-so/studio";
|
|
12
12
|
import dayjs from "dayjs";
|
|
13
13
|
import type React from "react";
|
|
14
|
-
|
|
15
14
|
import type { IBlogPost2Content } from "./blog-post-2.schema";
|
|
16
|
-
|
|
17
15
|
const BlogPost2: React.FC<ILevoBlockBaseProps<IBlogPost2Content>> = ({
|
|
18
16
|
content,
|
|
19
17
|
}) => (
|
|
@@ -32,7 +30,6 @@ const BlogPost2: React.FC<ILevoBlockBaseProps<IBlogPost2Content>> = ({
|
|
|
32
30
|
elementKey={`sidebar-cards.${index}.card`}
|
|
33
31
|
>
|
|
34
32
|
<Heading elementKey={`sidebar-cards.${index}.heading`} />
|
|
35
|
-
|
|
36
33
|
{/* Repeatable Titles and Descriptions */}
|
|
37
34
|
<Box
|
|
38
35
|
elementKey={`sidebar-cards.${index}.content_levoGroup`}
|
|
@@ -46,7 +43,7 @@ const BlogPost2: React.FC<ILevoBlockBaseProps<IBlogPost2Content>> = ({
|
|
|
46
43
|
data-levo_group_item
|
|
47
44
|
elementKey={`sidebar-cards.${index}.content.${contentIndex}.content-item`}
|
|
48
45
|
>
|
|
49
|
-
<
|
|
46
|
+
<Typography
|
|
50
47
|
elementKey={`sidebar-cards.${index}.content.${contentIndex}.title`}
|
|
51
48
|
/>
|
|
52
49
|
<Typography
|
|
@@ -55,16 +52,14 @@ const BlogPost2: React.FC<ILevoBlockBaseProps<IBlogPost2Content>> = ({
|
|
|
55
52
|
</Box>
|
|
56
53
|
))}
|
|
57
54
|
</Box>
|
|
58
|
-
|
|
59
55
|
<Button elementKey={`sidebar-cards.${index}.button`} />
|
|
60
56
|
</Box>
|
|
61
57
|
),
|
|
62
58
|
)}
|
|
63
59
|
</Box>
|
|
64
|
-
|
|
65
60
|
{/* Social Media Icons */}
|
|
66
61
|
<Box elementKey="social-section">
|
|
67
|
-
<
|
|
62
|
+
<Typography elementKey="social-title" />
|
|
68
63
|
<Box elementKey="social-icons_levoGroup" data-levo_group>
|
|
69
64
|
{(content?.["social-icons"] ?? []).map(
|
|
70
65
|
(_: unknown, index: number) => (
|
|
@@ -78,7 +73,6 @@ const BlogPost2: React.FC<ILevoBlockBaseProps<IBlogPost2Content>> = ({
|
|
|
78
73
|
</Box>
|
|
79
74
|
</Box>
|
|
80
75
|
</Box>
|
|
81
|
-
|
|
82
76
|
{/* Main Blog Content */}
|
|
83
77
|
<Box elementKey="blog-content">
|
|
84
78
|
{/* Top Content Icons */}
|
|
@@ -99,7 +93,6 @@ const BlogPost2: React.FC<ILevoBlockBaseProps<IBlogPost2Content>> = ({
|
|
|
99
93
|
),
|
|
100
94
|
)}
|
|
101
95
|
</Box>
|
|
102
|
-
|
|
103
96
|
{/* Calendar and Time (fixed icons) */}
|
|
104
97
|
<Box elementKey="meta-info">
|
|
105
98
|
<Box elementKey="date-wrapper">
|
|
@@ -117,15 +110,15 @@ const BlogPost2: React.FC<ILevoBlockBaseProps<IBlogPost2Content>> = ({
|
|
|
117
110
|
</Box>
|
|
118
111
|
</Box>
|
|
119
112
|
</Box>
|
|
120
|
-
|
|
121
113
|
{/* Blog Content */}
|
|
122
114
|
<Box elementKey="content-section">
|
|
123
|
-
<Typography elementKey="
|
|
115
|
+
<Typography elementKey="content_title" />
|
|
116
|
+
<Typography elementKey="content" className="LevoProseMirror" />
|
|
124
117
|
</Box>
|
|
125
118
|
</Box>
|
|
119
|
+
<Form elementKey="contact_form" />
|
|
126
120
|
</Box>
|
|
127
121
|
</Container>
|
|
128
122
|
</Section>
|
|
129
123
|
);
|
|
130
|
-
|
|
131
124
|
export default BlogPost2;
|