@contractspec/bundle.marketing 3.7.6 → 3.7.7
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/.turbo/turbo-build.log +84 -84
- package/AGENTS.md +29 -21
- package/README.md +36 -49
- package/dist/browser/components/marketing/ChangelogPage.js +8 -8
- package/dist/browser/components/marketing/CofounderPage.js +167 -523
- package/dist/browser/components/marketing/ContactClient.js +200 -207
- package/dist/browser/components/marketing/ContributePage.js +211 -463
- package/dist/browser/components/marketing/DesignPartnerPage.js +165 -218
- package/dist/browser/components/marketing/LandingPage.js +464 -568
- package/dist/browser/components/marketing/PricingClient.js +213 -839
- package/dist/browser/components/marketing/ProductClientPage.js +265 -463
- package/dist/browser/components/marketing/index.js +2007 -3338
- package/dist/browser/components/marketing/pricing-thinking-modal.js +12 -12
- package/dist/browser/components/marketing/sections/AudienceSection.js +2 -2
- package/dist/browser/components/marketing/sections/CorePositioningSection.js +2 -2
- package/dist/browser/components/marketing/sections/CtaSection.js +3 -3
- package/dist/browser/components/marketing/sections/FearsSection.js +3 -3
- package/dist/browser/components/marketing/sections/HeroMarketingSection.js +6 -6
- package/dist/browser/components/marketing/sections/IconGridSection.js +2 -2
- package/dist/browser/components/marketing/sections/OutputsSection.js +2 -2
- package/dist/browser/components/marketing/sections/ProblemSection.js +2 -2
- package/dist/browser/components/marketing/sections/SolutionSection.js +2 -2
- package/dist/browser/components/marketing/sections/StepsSection.js +4 -4
- package/dist/browser/components/marketing/studio-signup-section.js +25 -41
- package/dist/browser/components/templates/TemplatesClientPage.js +2324 -3578
- package/dist/browser/components/templates/TemplatesPage.js +1 -1
- package/dist/browser/components/templates/TemplatesPreviewModal.js +3 -3
- package/dist/browser/components/templates/index.js +2361 -3615
- package/dist/browser/index.js +2363 -3617
- package/dist/browser/libs/email/client.js +1 -1
- package/dist/browser/libs/email/contact.js +1 -1
- package/dist/browser/libs/email/newsletter.js +1 -1
- package/dist/browser/libs/email/waitlist-application.js +1 -1
- package/dist/browser/libs/email/waitlist.js +1 -1
- package/dist/browser/registry/engine.js +2003 -3334
- package/dist/browser/registry/index.js +2003 -3334
- package/dist/browser/registry/registry-docs.js +2 -2
- package/dist/browser/registry/registry-landing.js +2007 -3338
- package/dist/browser/registry/registry.js +2003 -3334
- package/dist/browser/registry/utils.js +2003 -3334
- package/dist/components/marketing/ChangelogPage.js +8 -8
- package/dist/components/marketing/CofounderPage.js +167 -523
- package/dist/components/marketing/ContactClient.js +200 -207
- package/dist/components/marketing/ContributePage.d.ts +0 -2
- package/dist/components/marketing/ContributePage.js +211 -463
- package/dist/components/marketing/DesignPartnerPage.js +165 -218
- package/dist/components/marketing/LandingPage.js +464 -568
- package/dist/components/marketing/PricingClient.js +213 -839
- package/dist/components/marketing/ProductClientPage.js +265 -463
- package/dist/components/marketing/index.d.ts +5 -5
- package/dist/components/marketing/index.js +2007 -3338
- package/dist/components/marketing/pricing-thinking-modal.js +12 -12
- package/dist/components/marketing/sections/AudienceSection.js +2 -2
- package/dist/components/marketing/sections/CorePositioningSection.js +2 -2
- package/dist/components/marketing/sections/CtaSection.js +3 -3
- package/dist/components/marketing/sections/FearsSection.js +3 -3
- package/dist/components/marketing/sections/HeroMarketingSection.js +6 -6
- package/dist/components/marketing/sections/IconGridSection.d.ts +3 -3
- package/dist/components/marketing/sections/IconGridSection.js +2 -2
- package/dist/components/marketing/sections/OutputsSection.js +2 -2
- package/dist/components/marketing/sections/ProblemSection.js +2 -2
- package/dist/components/marketing/sections/SolutionSection.js +2 -2
- package/dist/components/marketing/sections/StepsSection.js +4 -4
- package/dist/components/marketing/studio-signup-section.js +25 -41
- package/dist/components/templates/TemplatesClientPage.js +2324 -3578
- package/dist/components/templates/TemplatesPage.js +1 -1
- package/dist/components/templates/TemplatesPreviewModal.js +3 -3
- package/dist/components/templates/index.js +2361 -3615
- package/dist/index.js +2363 -3617
- package/dist/libs/email/client.js +1 -1
- package/dist/libs/email/contact.js +1 -1
- package/dist/libs/email/newsletter.js +1 -1
- package/dist/libs/email/waitlist-application.js +1 -1
- package/dist/libs/email/waitlist.js +1 -1
- package/dist/node/components/marketing/ChangelogPage.js +8 -8
- package/dist/node/components/marketing/CofounderPage.js +167 -523
- package/dist/node/components/marketing/ContactClient.js +200 -207
- package/dist/node/components/marketing/ContributePage.js +211 -463
- package/dist/node/components/marketing/DesignPartnerPage.js +165 -218
- package/dist/node/components/marketing/LandingPage.js +464 -568
- package/dist/node/components/marketing/PricingClient.js +213 -839
- package/dist/node/components/marketing/ProductClientPage.js +265 -463
- package/dist/node/components/marketing/index.js +2007 -3338
- package/dist/node/components/marketing/pricing-thinking-modal.js +12 -12
- package/dist/node/components/marketing/sections/AudienceSection.js +2 -2
- package/dist/node/components/marketing/sections/CorePositioningSection.js +2 -2
- package/dist/node/components/marketing/sections/CtaSection.js +3 -3
- package/dist/node/components/marketing/sections/FearsSection.js +3 -3
- package/dist/node/components/marketing/sections/HeroMarketingSection.js +6 -6
- package/dist/node/components/marketing/sections/IconGridSection.js +2 -2
- package/dist/node/components/marketing/sections/OutputsSection.js +2 -2
- package/dist/node/components/marketing/sections/ProblemSection.js +2 -2
- package/dist/node/components/marketing/sections/SolutionSection.js +2 -2
- package/dist/node/components/marketing/sections/StepsSection.js +4 -4
- package/dist/node/components/marketing/studio-signup-section.js +25 -41
- package/dist/node/components/templates/TemplatesClientPage.js +2324 -3578
- package/dist/node/components/templates/TemplatesPage.js +1 -1
- package/dist/node/components/templates/TemplatesPreviewModal.js +3 -3
- package/dist/node/components/templates/index.js +2361 -3615
- package/dist/node/index.js +2363 -3617
- package/dist/node/libs/email/client.js +1 -1
- package/dist/node/libs/email/contact.js +1 -1
- package/dist/node/libs/email/newsletter.js +1 -1
- package/dist/node/libs/email/waitlist-application.js +1 -1
- package/dist/node/libs/email/waitlist.js +1 -1
- package/dist/node/registry/engine.js +2003 -3334
- package/dist/node/registry/index.js +2003 -3334
- package/dist/node/registry/registry-docs.js +2 -2
- package/dist/node/registry/registry-landing.js +2007 -3338
- package/dist/node/registry/registry.js +2003 -3334
- package/dist/node/registry/utils.js +2003 -3334
- package/dist/registry/engine.js +2003 -3334
- package/dist/registry/index.js +2003 -3334
- package/dist/registry/registry-docs.js +2 -2
- package/dist/registry/registry-landing.js +2007 -3338
- package/dist/registry/registry.js +2003 -3334
- package/dist/registry/utils.js +2003 -3334
- package/package.json +22 -22
- package/src/bundles/MarketingBundle.ts +273 -273
- package/src/components/marketing/ChangelogPage.tsx +72 -100
- package/src/components/marketing/CofounderPage.tsx +120 -384
- package/src/components/marketing/ContactClient.tsx +164 -154
- package/src/components/marketing/ContributePage.tsx +139 -313
- package/src/components/marketing/DesignPartnerPage.tsx +133 -171
- package/src/components/marketing/LandingPage.tsx +353 -25
- package/src/components/marketing/PricingClient.tsx +192 -437
- package/src/components/marketing/ProductClientPage.tsx +255 -377
- package/src/components/marketing/index.ts +5 -5
- package/src/components/marketing/pricing-thinking-modal.tsx +197 -197
- package/src/components/marketing/sections/AudienceSection.tsx +55 -56
- package/src/components/marketing/sections/CorePositioningSection.tsx +37 -37
- package/src/components/marketing/sections/CtaSection.tsx +49 -50
- package/src/components/marketing/sections/DevelopersSection.tsx +26 -27
- package/src/components/marketing/sections/FearsSection.tsx +36 -37
- package/src/components/marketing/sections/HeroMarketingSection.tsx +59 -59
- package/src/components/marketing/sections/IconGridSection.tsx +71 -71
- package/src/components/marketing/sections/OutputsSection.tsx +51 -52
- package/src/components/marketing/sections/ProblemSection.tsx +39 -40
- package/src/components/marketing/sections/SolutionSection.tsx +39 -40
- package/src/components/marketing/sections/StepsSection.tsx +47 -48
- package/src/components/marketing/studio-signup-section.tsx +39 -41
- package/src/components/templates/TemplatesClientPage.tsx +727 -685
- package/src/components/templates/TemplatesPage.tsx +110 -110
- package/src/components/templates/TemplatesPreviewModal.tsx +197 -198
- package/src/index.ts +4 -4
- package/src/libs/email/client.test.ts +81 -81
- package/src/libs/email/client.ts +111 -111
- package/src/libs/email/contact.ts +35 -35
- package/src/libs/email/newsletter.ts +46 -46
- package/src/libs/email/types.ts +29 -29
- package/src/libs/email/utils.ts +5 -5
- package/src/libs/email/waitlist-application.ts +72 -72
- package/src/libs/email/waitlist.ts +46 -46
- package/src/libs/pricing-examples.ts +12 -12
- package/src/registry/engine.ts +16 -16
- package/src/registry/factory.ts +57 -57
- package/src/registry/registry-docs.ts +656 -666
- package/src/registry/registry-landing.ts +94 -95
- package/src/registry/registry.ts +36 -37
- package/src/registry/types.ts +2 -2
- package/src/registry/utils.ts +56 -56
- package/tsconfig.json +11 -11
- package/tsdown.config.js +5 -5
|
@@ -7,8 +7,8 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
7
7
|
});
|
|
8
8
|
|
|
9
9
|
// src/libs/email/client.ts
|
|
10
|
-
import { createClient, Temv1alpha1 } from "@scaleway/sdk";
|
|
11
10
|
import { Logger } from "@contractspec/lib.logger";
|
|
11
|
+
import { createClient, Temv1alpha1 } from "@scaleway/sdk";
|
|
12
12
|
var DEFAULT_FROM = {
|
|
13
13
|
email: "noreply@transactional.contractspec.io",
|
|
14
14
|
name: "ContractSpec"
|
|
@@ -187,9 +187,8 @@ Submitted via ContractSpec contact form
|
|
|
187
187
|
};
|
|
188
188
|
|
|
189
189
|
// src/components/marketing/studio-signup-section.tsx
|
|
190
|
+
import { ArrowRight, Sparkles } from "lucide-react";
|
|
190
191
|
import Link from "next/link";
|
|
191
|
-
import { ArrowRight, Rocket } from "lucide-react";
|
|
192
|
-
import { Button } from "@contractspec/lib.design-system";
|
|
193
192
|
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
194
193
|
"use client";
|
|
195
194
|
var studioUrl = "https://www.contractspec.studio";
|
|
@@ -200,62 +199,47 @@ function StudioSignupSection({
|
|
|
200
199
|
const isCompact = variant === "compact";
|
|
201
200
|
return /* @__PURE__ */ jsxDEV("div", {
|
|
202
201
|
id: "studio-signup",
|
|
203
|
-
className: isCompact ? "space-y-
|
|
202
|
+
className: `${isCompact ? "space-y-5 rounded-[28px] border border-border bg-card p-6" : "editorial-panel space-y-6"}`,
|
|
204
203
|
children: [
|
|
205
204
|
/* @__PURE__ */ jsxDEV("div", {
|
|
206
205
|
className: "space-y-4",
|
|
207
206
|
children: [
|
|
208
207
|
/* @__PURE__ */ jsxDEV("div", {
|
|
209
|
-
className: "
|
|
208
|
+
className: "badge",
|
|
210
209
|
children: [
|
|
211
|
-
/* @__PURE__ */ jsxDEV(
|
|
212
|
-
size: 14
|
|
213
|
-
className: "text-violet-300"
|
|
210
|
+
/* @__PURE__ */ jsxDEV(Sparkles, {
|
|
211
|
+
size: 14
|
|
214
212
|
}, undefined, false, undefined, this),
|
|
215
|
-
|
|
216
|
-
className: "text-sm font-medium text-violet-300",
|
|
217
|
-
children: "ContractSpec Studio"
|
|
218
|
-
}, undefined, false, undefined, this)
|
|
213
|
+
"Studio on top"
|
|
219
214
|
]
|
|
220
215
|
}, undefined, true, undefined, this),
|
|
221
216
|
/* @__PURE__ */ jsxDEV("h2", {
|
|
222
|
-
className: isCompact ? "text-
|
|
223
|
-
children: "
|
|
224
|
-
}, undefined, false, undefined, this),
|
|
225
|
-
/* @__PURE__ */ jsxDEV("p", {
|
|
226
|
-
className: "text-muted-foreground text-sm",
|
|
227
|
-
children: "The AI-powered product decision engine that turns product signals into spec-first deliverables."
|
|
217
|
+
className: isCompact ? "font-serif text-3xl tracking-[-0.04em]" : "font-serif text-4xl tracking-[-0.04em]",
|
|
218
|
+
children: "See the operating layer built on top of the open system."
|
|
228
219
|
}, undefined, false, undefined, this),
|
|
229
220
|
/* @__PURE__ */ jsxDEV("p", {
|
|
230
|
-
className: "text-muted-foreground text-
|
|
231
|
-
children: "
|
|
221
|
+
className: "text-muted-foreground text-sm leading-7",
|
|
222
|
+
children: "Studio packages the workflow for evidence, drafting, review, export, and follow-up. It should feel like the best product built on top of ContractSpec, not a different story."
|
|
232
223
|
}, undefined, false, undefined, this)
|
|
233
224
|
]
|
|
234
225
|
}, undefined, true, undefined, this),
|
|
235
226
|
/* @__PURE__ */ jsxDEV("div", {
|
|
236
|
-
className: "
|
|
227
|
+
className: "grid gap-3 sm:grid-cols-2",
|
|
237
228
|
children: [
|
|
238
|
-
/* @__PURE__ */ jsxDEV(
|
|
239
|
-
|
|
240
|
-
className: "
|
|
241
|
-
children:
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
"
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
asChild: true,
|
|
253
|
-
variant: "outline",
|
|
254
|
-
className: "w-full sm:w-auto",
|
|
255
|
-
children: /* @__PURE__ */ jsxDEV(Link, {
|
|
256
|
-
href: studioDocsUrl,
|
|
257
|
-
children: "Read Studio Docs"
|
|
258
|
-
}, undefined, false, undefined, this)
|
|
229
|
+
/* @__PURE__ */ jsxDEV(Link, {
|
|
230
|
+
href: studioUrl,
|
|
231
|
+
className: "btn-primary",
|
|
232
|
+
children: [
|
|
233
|
+
"Explore Studio ",
|
|
234
|
+
/* @__PURE__ */ jsxDEV(ArrowRight, {
|
|
235
|
+
className: "ml-2 h-4 w-4"
|
|
236
|
+
}, undefined, false, undefined, this)
|
|
237
|
+
]
|
|
238
|
+
}, undefined, true, undefined, this),
|
|
239
|
+
/* @__PURE__ */ jsxDEV(Link, {
|
|
240
|
+
href: studioDocsUrl,
|
|
241
|
+
className: "btn-ghost",
|
|
242
|
+
children: "Read Studio docs"
|
|
259
243
|
}, undefined, false, undefined, this)
|
|
260
244
|
]
|
|
261
245
|
}, undefined, true, undefined, this)
|
|
@@ -264,26 +248,19 @@ function StudioSignupSection({
|
|
|
264
248
|
}
|
|
265
249
|
|
|
266
250
|
// src/components/marketing/ContactClient.tsx
|
|
267
|
-
import { useActionState } from "react";
|
|
268
|
-
import {
|
|
269
|
-
Calendar,
|
|
270
|
-
MessageSquare,
|
|
271
|
-
CheckCircle,
|
|
272
|
-
AlertCircle
|
|
273
|
-
} from "lucide-react";
|
|
274
251
|
import {
|
|
275
252
|
ActionForm,
|
|
276
|
-
Button
|
|
253
|
+
Button,
|
|
277
254
|
Input,
|
|
278
255
|
Textarea
|
|
279
256
|
} from "@contractspec/lib.design-system";
|
|
280
|
-
import { VStack, HStack } from "@contractspec/lib.ui-kit-web/ui/stack";
|
|
281
257
|
import {
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
} from "
|
|
258
|
+
AlertCircle,
|
|
259
|
+
Calendar,
|
|
260
|
+
CheckCircle,
|
|
261
|
+
MessageSquare
|
|
262
|
+
} from "lucide-react";
|
|
263
|
+
import { useActionState } from "react";
|
|
287
264
|
import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
|
|
288
265
|
"use client";
|
|
289
266
|
function ContactClient() {
|
|
@@ -292,183 +269,199 @@ function ContactClient() {
|
|
|
292
269
|
if (result.success) {
|
|
293
270
|
return {
|
|
294
271
|
success: true,
|
|
295
|
-
text: "Message sent successfully
|
|
296
|
-
};
|
|
297
|
-
} else {
|
|
298
|
-
return {
|
|
299
|
-
success: false,
|
|
300
|
-
text: result.text || "Failed to send message. Please try again."
|
|
272
|
+
text: "Message sent successfully. We'll get back to you soon."
|
|
301
273
|
};
|
|
302
274
|
}
|
|
275
|
+
return {
|
|
276
|
+
success: false,
|
|
277
|
+
text: result.text || "Failed to send message. Please try again."
|
|
278
|
+
};
|
|
303
279
|
};
|
|
304
280
|
const [contactResult, contactAction, contactPending] = useActionState(handleContactSubmit, null);
|
|
305
|
-
return /* @__PURE__ */ jsxDEV2("
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
className: "gap-4 text-center",
|
|
281
|
+
return /* @__PURE__ */ jsxDEV2("main", {
|
|
282
|
+
children: [
|
|
283
|
+
/* @__PURE__ */ jsxDEV2("section", {
|
|
284
|
+
className: "section-padding hero-gradient border-border/70 border-b",
|
|
285
|
+
children: /* @__PURE__ */ jsxDEV2("div", {
|
|
286
|
+
className: "editorial-shell grid gap-8 lg:grid-cols-[1.05fr_0.95fr]",
|
|
312
287
|
children: [
|
|
313
|
-
/* @__PURE__ */ jsxDEV2(
|
|
314
|
-
className: "
|
|
315
|
-
children:
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
288
|
+
/* @__PURE__ */ jsxDEV2("div", {
|
|
289
|
+
className: "space-y-5",
|
|
290
|
+
children: [
|
|
291
|
+
/* @__PURE__ */ jsxDEV2("p", {
|
|
292
|
+
className: "editorial-kicker",
|
|
293
|
+
children: "Contact"
|
|
294
|
+
}, undefined, false, undefined, this),
|
|
295
|
+
/* @__PURE__ */ jsxDEV2("h1", {
|
|
296
|
+
className: "editorial-title max-w-4xl",
|
|
297
|
+
children: "Talk to the team behind the open system and the Studio product."
|
|
298
|
+
}, undefined, false, undefined, this),
|
|
299
|
+
/* @__PURE__ */ jsxDEV2("p", {
|
|
300
|
+
className: "editorial-subtitle",
|
|
301
|
+
children: "Reach out when you are evaluating the OSS foundation, deciding whether Studio fits your workflow, or want a direct conversation about adoption."
|
|
302
|
+
}, undefined, false, undefined, this)
|
|
303
|
+
]
|
|
304
|
+
}, undefined, true, undefined, this),
|
|
305
|
+
/* @__PURE__ */ jsxDEV2(StudioSignupSection, {
|
|
306
|
+
variant: "compact"
|
|
320
307
|
}, undefined, false, undefined, this)
|
|
321
308
|
]
|
|
322
|
-
}, undefined, true, undefined, this)
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
309
|
+
}, undefined, true, undefined, this)
|
|
310
|
+
}, undefined, false, undefined, this),
|
|
311
|
+
/* @__PURE__ */ jsxDEV2("section", {
|
|
312
|
+
className: "editorial-section",
|
|
313
|
+
children: /* @__PURE__ */ jsxDEV2("div", {
|
|
314
|
+
className: "editorial-shell grid gap-8 lg:grid-cols-2",
|
|
327
315
|
children: [
|
|
328
|
-
/* @__PURE__ */ jsxDEV2(
|
|
329
|
-
className: "
|
|
316
|
+
/* @__PURE__ */ jsxDEV2("div", {
|
|
317
|
+
className: "editorial-panel space-y-6",
|
|
318
|
+
id: "call",
|
|
330
319
|
children: [
|
|
331
|
-
/* @__PURE__ */ jsxDEV2(
|
|
332
|
-
className: "
|
|
333
|
-
size: 24
|
|
334
|
-
}, undefined, false, undefined, this),
|
|
335
|
-
/* @__PURE__ */ jsxDEV2(VStack, {
|
|
336
|
-
className: "items-start gap-1",
|
|
320
|
+
/* @__PURE__ */ jsxDEV2("div", {
|
|
321
|
+
className: "space-y-3",
|
|
337
322
|
children: [
|
|
338
|
-
/* @__PURE__ */ jsxDEV2(
|
|
339
|
-
className: "
|
|
340
|
-
children:
|
|
323
|
+
/* @__PURE__ */ jsxDEV2("div", {
|
|
324
|
+
className: "badge",
|
|
325
|
+
children: [
|
|
326
|
+
/* @__PURE__ */ jsxDEV2(Calendar, {
|
|
327
|
+
size: 14
|
|
328
|
+
}, undefined, false, undefined, this),
|
|
329
|
+
"Book a conversation"
|
|
330
|
+
]
|
|
331
|
+
}, undefined, true, undefined, this),
|
|
332
|
+
/* @__PURE__ */ jsxDEV2("h2", {
|
|
333
|
+
className: "font-serif text-4xl tracking-[-0.04em]",
|
|
334
|
+
children: "Walk through your current system with us."
|
|
341
335
|
}, undefined, false, undefined, this),
|
|
342
|
-
/* @__PURE__ */ jsxDEV2(
|
|
343
|
-
className: "text-sm",
|
|
344
|
-
children: "
|
|
336
|
+
/* @__PURE__ */ jsxDEV2("p", {
|
|
337
|
+
className: "text-muted-foreground text-sm leading-7",
|
|
338
|
+
children: "Use the call when you want a direct conversation about fit, adoption order, or the right entry point between OSS and Studio."
|
|
345
339
|
}, undefined, false, undefined, this)
|
|
346
340
|
]
|
|
347
|
-
}, undefined, true, undefined, this)
|
|
341
|
+
}, undefined, true, undefined, this),
|
|
342
|
+
/* @__PURE__ */ jsxDEV2("div", {
|
|
343
|
+
className: "overflow-hidden rounded-[28px] border border-border",
|
|
344
|
+
children: /* @__PURE__ */ jsxDEV2("object", {
|
|
345
|
+
data: "https://meet.reclaimai.com/e/f863cb29-caac-44b6-972b-1407dd9545a3",
|
|
346
|
+
width: "100%",
|
|
347
|
+
height: "700px",
|
|
348
|
+
style: { outline: "none" },
|
|
349
|
+
"aria-label": "Calendar booking widget"
|
|
350
|
+
}, undefined, false, undefined, this)
|
|
351
|
+
}, undefined, false, undefined, this)
|
|
348
352
|
]
|
|
349
353
|
}, undefined, true, undefined, this),
|
|
350
354
|
/* @__PURE__ */ jsxDEV2("div", {
|
|
351
|
-
className: "
|
|
352
|
-
|
|
353
|
-
data: "https://meet.reclaimai.com/e/f863cb29-caac-44b6-972b-1407dd9545a3",
|
|
354
|
-
width: "100%",
|
|
355
|
-
height: "700px",
|
|
356
|
-
style: { outline: "none" },
|
|
357
|
-
"aria-label": "Calendar booking widget"
|
|
358
|
-
}, undefined, false, undefined, this)
|
|
359
|
-
}, undefined, false, undefined, this)
|
|
360
|
-
]
|
|
361
|
-
}, undefined, true, undefined, this),
|
|
362
|
-
/* @__PURE__ */ jsxDEV2(VStack, {
|
|
363
|
-
className: "card-subtle gap-6 p-8",
|
|
364
|
-
id: "message",
|
|
365
|
-
children: [
|
|
366
|
-
/* @__PURE__ */ jsxDEV2(HStack, {
|
|
367
|
-
className: "items-center gap-3",
|
|
355
|
+
className: "editorial-panel space-y-6",
|
|
356
|
+
id: "message",
|
|
368
357
|
children: [
|
|
369
|
-
/* @__PURE__ */ jsxDEV2(
|
|
370
|
-
className: "
|
|
371
|
-
size: 24
|
|
372
|
-
}, undefined, false, undefined, this),
|
|
373
|
-
/* @__PURE__ */ jsxDEV2(VStack, {
|
|
374
|
-
className: "items-start gap-1",
|
|
358
|
+
/* @__PURE__ */ jsxDEV2("div", {
|
|
359
|
+
className: "space-y-3",
|
|
375
360
|
children: [
|
|
376
|
-
/* @__PURE__ */ jsxDEV2(
|
|
377
|
-
className: "
|
|
378
|
-
children:
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
361
|
+
/* @__PURE__ */ jsxDEV2("div", {
|
|
362
|
+
className: "badge",
|
|
363
|
+
children: [
|
|
364
|
+
/* @__PURE__ */ jsxDEV2(MessageSquare, {
|
|
365
|
+
size: 14
|
|
366
|
+
}, undefined, false, undefined, this),
|
|
367
|
+
"Send a message"
|
|
368
|
+
]
|
|
369
|
+
}, undefined, true, undefined, this),
|
|
370
|
+
/* @__PURE__ */ jsxDEV2("h2", {
|
|
371
|
+
className: "font-serif text-4xl tracking-[-0.04em]",
|
|
372
|
+
children: "Share context, questions, or a project we should understand."
|
|
383
373
|
}, undefined, false, undefined, this)
|
|
384
374
|
]
|
|
385
|
-
}, undefined, true, undefined, this)
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
children: /* @__PURE__ */ jsxDEV2(VStack, {
|
|
391
|
-
className: "gap-4",
|
|
392
|
-
children: [
|
|
393
|
-
/* @__PURE__ */ jsxDEV2(VStack, {
|
|
394
|
-
className: "gap-2",
|
|
395
|
-
children: [
|
|
396
|
-
/* @__PURE__ */ jsxDEV2(Small, {
|
|
397
|
-
className: "text-sm font-medium",
|
|
398
|
-
children: "Name"
|
|
399
|
-
}, undefined, false, undefined, this),
|
|
400
|
-
/* @__PURE__ */ jsxDEV2(Input, {
|
|
401
|
-
id: "contact-name",
|
|
402
|
-
name: "name",
|
|
403
|
-
type: "text",
|
|
404
|
-
placeholder: "Your name",
|
|
405
|
-
disabled: contactPending || contactResult?.success,
|
|
406
|
-
required: true
|
|
407
|
-
}, undefined, false, undefined, this)
|
|
408
|
-
]
|
|
409
|
-
}, undefined, true, undefined, this),
|
|
410
|
-
/* @__PURE__ */ jsxDEV2(VStack, {
|
|
411
|
-
className: "gap-2",
|
|
375
|
+
}, undefined, true, undefined, this),
|
|
376
|
+
/* @__PURE__ */ jsxDEV2(ActionForm, {
|
|
377
|
+
action: contactAction,
|
|
378
|
+
children: /* @__PURE__ */ jsxDEV2("div", {
|
|
379
|
+
className: "space-y-4",
|
|
412
380
|
children: [
|
|
413
|
-
/* @__PURE__ */ jsxDEV2(
|
|
414
|
-
className: "
|
|
415
|
-
children:
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
381
|
+
/* @__PURE__ */ jsxDEV2("div", {
|
|
382
|
+
className: "space-y-2",
|
|
383
|
+
children: [
|
|
384
|
+
/* @__PURE__ */ jsxDEV2("label", {
|
|
385
|
+
htmlFor: "contact-name",
|
|
386
|
+
className: "font-medium text-sm",
|
|
387
|
+
children: "Name"
|
|
388
|
+
}, undefined, false, undefined, this),
|
|
389
|
+
/* @__PURE__ */ jsxDEV2(Input, {
|
|
390
|
+
id: "contact-name",
|
|
391
|
+
name: "name",
|
|
392
|
+
type: "text",
|
|
393
|
+
placeholder: "Your name",
|
|
394
|
+
disabled: contactPending || contactResult?.success,
|
|
395
|
+
required: true
|
|
396
|
+
}, undefined, false, undefined, this)
|
|
397
|
+
]
|
|
398
|
+
}, undefined, true, undefined, this),
|
|
399
|
+
/* @__PURE__ */ jsxDEV2("div", {
|
|
400
|
+
className: "space-y-2",
|
|
401
|
+
children: [
|
|
402
|
+
/* @__PURE__ */ jsxDEV2("label", {
|
|
403
|
+
htmlFor: "contact-email",
|
|
404
|
+
className: "font-medium text-sm",
|
|
405
|
+
children: "Email"
|
|
406
|
+
}, undefined, false, undefined, this),
|
|
407
|
+
/* @__PURE__ */ jsxDEV2(Input, {
|
|
408
|
+
id: "contact-email",
|
|
409
|
+
name: "email",
|
|
410
|
+
type: "email",
|
|
411
|
+
keyboard: { kind: "email" },
|
|
412
|
+
placeholder: "you@company.com",
|
|
413
|
+
disabled: contactPending || contactResult?.success,
|
|
414
|
+
required: true
|
|
415
|
+
}, undefined, false, undefined, this)
|
|
416
|
+
]
|
|
417
|
+
}, undefined, true, undefined, this),
|
|
418
|
+
/* @__PURE__ */ jsxDEV2("div", {
|
|
419
|
+
className: "space-y-2",
|
|
420
|
+
children: [
|
|
421
|
+
/* @__PURE__ */ jsxDEV2("label", {
|
|
422
|
+
htmlFor: "contact-message",
|
|
423
|
+
className: "font-medium text-sm",
|
|
424
|
+
children: "Message"
|
|
425
|
+
}, undefined, false, undefined, this),
|
|
426
|
+
/* @__PURE__ */ jsxDEV2(Textarea, {
|
|
427
|
+
id: "contact-message",
|
|
428
|
+
name: "message",
|
|
429
|
+
placeholder: "What are you trying to stabilize, and where is the current system breaking down?",
|
|
430
|
+
disabled: contactPending || contactResult?.success,
|
|
431
|
+
rows: 7,
|
|
432
|
+
required: true
|
|
433
|
+
}, undefined, false, undefined, this)
|
|
434
|
+
]
|
|
435
|
+
}, undefined, true, undefined, this),
|
|
436
|
+
contactResult && !contactPending ? /* @__PURE__ */ jsxDEV2("div", {
|
|
437
|
+
className: `flex items-center gap-2 rounded-2xl border px-4 py-3 text-sm ${contactResult.success ? "border-green-600/20 bg-green-600/10 text-green-700" : "border-red-600/20 bg-red-600/10 text-red-700"}`,
|
|
438
|
+
children: [
|
|
439
|
+
contactResult.success ? /* @__PURE__ */ jsxDEV2(CheckCircle, {
|
|
440
|
+
size: 16
|
|
441
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsxDEV2(AlertCircle, {
|
|
442
|
+
size: 16
|
|
443
|
+
}, undefined, false, undefined, this),
|
|
444
|
+
/* @__PURE__ */ jsxDEV2("span", {
|
|
445
|
+
children: contactResult.text
|
|
446
|
+
}, undefined, false, undefined, this)
|
|
447
|
+
]
|
|
448
|
+
}, undefined, true, undefined, this) : null,
|
|
449
|
+
/* @__PURE__ */ jsxDEV2(Button, {
|
|
450
|
+
type: "submit",
|
|
423
451
|
disabled: contactPending || contactResult?.success,
|
|
424
|
-
|
|
452
|
+
className: "w-full",
|
|
453
|
+
children: contactPending ? "Sending..." : "Send message"
|
|
425
454
|
}, undefined, false, undefined, this)
|
|
426
455
|
]
|
|
427
|
-
}, undefined, true, undefined, this)
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
/* @__PURE__ */ jsxDEV2(Small, {
|
|
432
|
-
className: "text-sm font-medium",
|
|
433
|
-
children: "Message"
|
|
434
|
-
}, undefined, false, undefined, this),
|
|
435
|
-
/* @__PURE__ */ jsxDEV2(Textarea, {
|
|
436
|
-
id: "contact-message",
|
|
437
|
-
name: "message",
|
|
438
|
-
placeholder: "Tell us what's on your mind...",
|
|
439
|
-
disabled: contactPending || contactResult?.success,
|
|
440
|
-
rows: 6,
|
|
441
|
-
required: true
|
|
442
|
-
}, undefined, false, undefined, this)
|
|
443
|
-
]
|
|
444
|
-
}, undefined, true, undefined, this),
|
|
445
|
-
contactResult && !contactPending && /* @__PURE__ */ jsxDEV2(HStack, {
|
|
446
|
-
className: `items-center gap-2 rounded-lg p-3 text-sm ${contactResult.success ? "border border-green-500/20 bg-green-500/10 text-green-400" : "border border-red-500/20 bg-red-500/10 text-red-400"}`,
|
|
447
|
-
children: [
|
|
448
|
-
contactResult.success ? /* @__PURE__ */ jsxDEV2(CheckCircle, {
|
|
449
|
-
size: 16
|
|
450
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */ jsxDEV2(AlertCircle, {
|
|
451
|
-
size: 16
|
|
452
|
-
}, undefined, false, undefined, this),
|
|
453
|
-
/* @__PURE__ */ jsxDEV2(Small, {
|
|
454
|
-
children: contactResult.text
|
|
455
|
-
}, undefined, false, undefined, this)
|
|
456
|
-
]
|
|
457
|
-
}, undefined, true, undefined, this),
|
|
458
|
-
/* @__PURE__ */ jsxDEV2(Button2, {
|
|
459
|
-
type: "submit",
|
|
460
|
-
disabled: contactPending || contactResult?.success,
|
|
461
|
-
className: "w-full",
|
|
462
|
-
children: contactPending ? "Sending..." : "Send message"
|
|
463
|
-
}, undefined, false, undefined, this)
|
|
464
|
-
]
|
|
465
|
-
}, undefined, true, undefined, this)
|
|
466
|
-
}, undefined, false, undefined, this)
|
|
456
|
+
}, undefined, true, undefined, this)
|
|
457
|
+
}, undefined, false, undefined, this)
|
|
458
|
+
]
|
|
459
|
+
}, undefined, true, undefined, this)
|
|
467
460
|
]
|
|
468
461
|
}, undefined, true, undefined, this)
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
}, undefined,
|
|
462
|
+
}, undefined, false, undefined, this)
|
|
463
|
+
]
|
|
464
|
+
}, undefined, true, undefined, this);
|
|
472
465
|
}
|
|
473
466
|
export {
|
|
474
467
|
ContactClient
|