@contractspec/bundle.marketing 1.12.0 → 1.14.0

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 (262) hide show
  1. package/.turbo/turbo-build.log +146 -175
  2. package/.turbo/turbo-prebuild.log +1 -0
  3. package/CHANGELOG.md +57 -0
  4. package/dist/browser/components/marketing/ChangelogPage.js +92 -0
  5. package/dist/browser/components/marketing/CofounderPage.js +581 -0
  6. package/dist/browser/components/marketing/ContactClient.js +1379 -0
  7. package/dist/browser/components/marketing/ContributePage.js +487 -0
  8. package/dist/browser/components/marketing/DesignPartnerPage.js +272 -0
  9. package/dist/browser/components/marketing/LandingPage.js +629 -0
  10. package/dist/browser/components/marketing/PricingClient.js +1972 -0
  11. package/dist/browser/components/marketing/ProductClientPage.js +563 -0
  12. package/dist/browser/components/marketing/index.js +4818 -0
  13. package/dist/browser/components/marketing/pricing-thinking-modal.js +258 -0
  14. package/dist/browser/components/marketing/sections/AudienceSection.js +90 -0
  15. package/dist/browser/components/marketing/sections/CorePositioningSection.js +72 -0
  16. package/dist/browser/components/marketing/sections/CtaSection.js +67 -0
  17. package/dist/browser/components/marketing/sections/DevelopersSection.js +50 -0
  18. package/dist/browser/components/marketing/sections/FearsSection.js +105 -0
  19. package/dist/browser/components/marketing/sections/HeroMarketingSection.js +93 -0
  20. package/dist/browser/components/marketing/sections/IconGridSection.js +63 -0
  21. package/dist/browser/components/marketing/sections/OutputsSection.js +116 -0
  22. package/dist/browser/components/marketing/sections/ProblemSection.js +103 -0
  23. package/dist/browser/components/marketing/sections/SolutionSection.js +103 -0
  24. package/dist/browser/components/marketing/sections/StepsSection.js +109 -0
  25. package/dist/browser/components/marketing/waitlist-section.js +1104 -0
  26. package/dist/browser/components/templates/TemplatesClientPage.js +5662 -0
  27. package/dist/browser/components/templates/TemplatesPage.js +177 -0
  28. package/dist/browser/components/templates/TemplatesPreviewModal.js +124 -0
  29. package/dist/browser/components/templates/index.js +5831 -0
  30. package/dist/browser/index.js +6485 -0
  31. package/dist/browser/libs/email/client.js +122 -0
  32. package/dist/browser/libs/email/contact.js +190 -0
  33. package/dist/browser/libs/email/newsletter.js +215 -0
  34. package/dist/browser/libs/email/types.js +2 -0
  35. package/dist/browser/libs/email/utils.js +16 -0
  36. package/dist/browser/libs/email/waitlist-application.js +295 -0
  37. package/dist/browser/libs/email/waitlist.js +225 -0
  38. package/dist/browser/libs/pricing-examples.js +26 -0
  39. package/dist/browser/registry/engine.js +5293 -0
  40. package/dist/browser/registry/factory.js +52 -0
  41. package/dist/browser/registry/index.js +5358 -0
  42. package/dist/browser/registry/registry-docs.js +343 -0
  43. package/dist/browser/registry/registry-landing.js +4937 -0
  44. package/dist/browser/registry/registry.js +5279 -0
  45. package/dist/browser/registry/types.js +0 -0
  46. package/dist/browser/registry/utils.js +5340 -0
  47. package/dist/components/marketing/ChangelogPage.d.ts +11 -17
  48. package/dist/components/marketing/ChangelogPage.d.ts.map +1 -1
  49. package/dist/components/marketing/ChangelogPage.js +84 -62
  50. package/dist/components/marketing/CofounderPage.d.ts +1 -6
  51. package/dist/components/marketing/CofounderPage.d.ts.map +1 -1
  52. package/dist/components/marketing/CofounderPage.js +544 -436
  53. package/dist/components/marketing/ContactClient.d.ts +1 -6
  54. package/dist/components/marketing/ContactClient.d.ts.map +1 -1
  55. package/dist/components/marketing/ContactClient.js +1371 -155
  56. package/dist/components/marketing/ContributePage.d.ts +3 -8
  57. package/dist/components/marketing/ContributePage.d.ts.map +1 -1
  58. package/dist/components/marketing/ContributePage.js +478 -358
  59. package/dist/components/marketing/DesignPartnerPage.d.ts +3 -8
  60. package/dist/components/marketing/DesignPartnerPage.d.ts.map +1 -1
  61. package/dist/components/marketing/DesignPartnerPage.js +263 -211
  62. package/dist/components/marketing/LandingPage.d.ts +1 -6
  63. package/dist/components/marketing/LandingPage.d.ts.map +1 -1
  64. package/dist/components/marketing/LandingPage.js +623 -37
  65. package/dist/components/marketing/PricingClient.d.ts +1 -6
  66. package/dist/components/marketing/PricingClient.d.ts.map +1 -1
  67. package/dist/components/marketing/PricingClient.js +1962 -516
  68. package/dist/components/marketing/ProductClientPage.d.ts +1 -6
  69. package/dist/components/marketing/ProductClientPage.d.ts.map +1 -1
  70. package/dist/components/marketing/ProductClientPage.js +556 -458
  71. package/dist/components/marketing/index.d.ts +11 -11
  72. package/dist/components/marketing/index.d.ts.map +1 -0
  73. package/dist/components/marketing/index.js +4813 -12
  74. package/dist/components/marketing/pricing-thinking-modal.d.ts +5 -13
  75. package/dist/components/marketing/pricing-thinking-modal.d.ts.map +1 -1
  76. package/dist/components/marketing/pricing-thinking-modal.js +248 -197
  77. package/dist/components/marketing/sections/AudienceSection.d.ts +1 -6
  78. package/dist/components/marketing/sections/AudienceSection.d.ts.map +1 -1
  79. package/dist/components/marketing/sections/AudienceSection.js +80 -63
  80. package/dist/components/marketing/sections/CorePositioningSection.d.ts +1 -6
  81. package/dist/components/marketing/sections/CorePositioningSection.d.ts.map +1 -1
  82. package/dist/components/marketing/sections/CorePositioningSection.js +62 -54
  83. package/dist/components/marketing/sections/CtaSection.d.ts +1 -6
  84. package/dist/components/marketing/sections/CtaSection.d.ts.map +1 -1
  85. package/dist/components/marketing/sections/CtaSection.js +58 -50
  86. package/dist/components/marketing/sections/DevelopersSection.d.ts +1 -6
  87. package/dist/components/marketing/sections/DevelopersSection.d.ts.map +1 -1
  88. package/dist/components/marketing/sections/DevelopersSection.js +40 -40
  89. package/dist/components/marketing/sections/FearsSection.d.ts +1 -6
  90. package/dist/components/marketing/sections/FearsSection.d.ts.map +1 -1
  91. package/dist/components/marketing/sections/FearsSection.js +96 -44
  92. package/dist/components/marketing/sections/HeroMarketingSection.d.ts +1 -6
  93. package/dist/components/marketing/sections/HeroMarketingSection.d.ts.map +1 -1
  94. package/dist/components/marketing/sections/HeroMarketingSection.js +82 -71
  95. package/dist/components/marketing/sections/IconGridSection.d.ts +25 -39
  96. package/dist/components/marketing/sections/IconGridSection.d.ts.map +1 -1
  97. package/dist/components/marketing/sections/IconGridSection.js +55 -41
  98. package/dist/components/marketing/sections/OutputsSection.d.ts +1 -6
  99. package/dist/components/marketing/sections/OutputsSection.d.ts.map +1 -1
  100. package/dist/components/marketing/sections/OutputsSection.js +107 -55
  101. package/dist/components/marketing/sections/ProblemSection.d.ts +1 -6
  102. package/dist/components/marketing/sections/ProblemSection.d.ts.map +1 -1
  103. package/dist/components/marketing/sections/ProblemSection.js +94 -42
  104. package/dist/components/marketing/sections/SolutionSection.d.ts +1 -6
  105. package/dist/components/marketing/sections/SolutionSection.d.ts.map +1 -1
  106. package/dist/components/marketing/sections/SolutionSection.js +94 -42
  107. package/dist/components/marketing/sections/StepsSection.d.ts +1 -6
  108. package/dist/components/marketing/sections/StepsSection.d.ts.map +1 -1
  109. package/dist/components/marketing/sections/StepsSection.js +100 -48
  110. package/dist/components/marketing/waitlist-section.d.ts +5 -12
  111. package/dist/components/marketing/waitlist-section.d.ts.map +1 -1
  112. package/dist/components/marketing/waitlist-section.js +1089 -568
  113. package/dist/components/templates/TemplatesClientPage.d.ts +1 -6
  114. package/dist/components/templates/TemplatesClientPage.d.ts.map +1 -1
  115. package/dist/components/templates/TemplatesClientPage.js +5649 -617
  116. package/dist/components/templates/TemplatesPage.d.ts +1 -6
  117. package/dist/components/templates/TemplatesPage.d.ts.map +1 -1
  118. package/dist/components/templates/TemplatesPage.js +163 -116
  119. package/dist/components/templates/TemplatesPreviewModal.d.ts +5 -12
  120. package/dist/components/templates/TemplatesPreviewModal.d.ts.map +1 -1
  121. package/dist/components/templates/TemplatesPreviewModal.js +113 -131
  122. package/dist/components/templates/index.d.ts +4 -4
  123. package/dist/components/templates/index.d.ts.map +1 -0
  124. package/dist/components/templates/index.js +5825 -4
  125. package/dist/index.d.ts +9 -29
  126. package/dist/index.d.ts.map +1 -0
  127. package/dist/index.js +6480 -28
  128. package/dist/libs/email/client.d.ts +9 -12
  129. package/dist/libs/email/client.d.ts.map +1 -1
  130. package/dist/libs/email/client.js +109 -105
  131. package/dist/libs/email/client.test.d.ts +2 -0
  132. package/dist/libs/email/client.test.d.ts.map +1 -0
  133. package/dist/libs/email/contact.d.ts +2 -6
  134. package/dist/libs/email/contact.d.ts.map +1 -1
  135. package/dist/libs/email/contact.js +155 -41
  136. package/dist/libs/email/newsletter.d.ts +2 -6
  137. package/dist/libs/email/newsletter.d.ts.map +1 -1
  138. package/dist/libs/email/newsletter.js +169 -54
  139. package/dist/libs/email/types.d.ts +48 -52
  140. package/dist/libs/email/types.d.ts.map +1 -1
  141. package/dist/libs/email/types.js +3 -1
  142. package/dist/libs/email/utils.d.ts +2 -5
  143. package/dist/libs/email/utils.d.ts.map +1 -1
  144. package/dist/libs/email/utils.js +10 -6
  145. package/dist/libs/email/waitlist-application.d.ts +2 -6
  146. package/dist/libs/email/waitlist-application.d.ts.map +1 -1
  147. package/dist/libs/email/waitlist-application.js +191 -71
  148. package/dist/libs/email/waitlist.d.ts +2 -6
  149. package/dist/libs/email/waitlist.d.ts.map +1 -1
  150. package/dist/libs/email/waitlist.js +171 -56
  151. package/dist/libs/pricing-examples.d.ts +13 -16
  152. package/dist/libs/pricing-examples.d.ts.map +1 -1
  153. package/dist/libs/pricing-examples.js +20 -20
  154. package/dist/node/components/marketing/ChangelogPage.js +87 -0
  155. package/dist/node/components/marketing/CofounderPage.js +576 -0
  156. package/dist/node/components/marketing/ContactClient.js +1374 -0
  157. package/dist/node/components/marketing/ContributePage.js +482 -0
  158. package/dist/node/components/marketing/DesignPartnerPage.js +267 -0
  159. package/dist/node/components/marketing/LandingPage.js +624 -0
  160. package/dist/node/components/marketing/PricingClient.js +1967 -0
  161. package/dist/node/components/marketing/ProductClientPage.js +558 -0
  162. package/dist/node/components/marketing/index.js +4813 -0
  163. package/dist/node/components/marketing/pricing-thinking-modal.js +253 -0
  164. package/dist/node/components/marketing/sections/AudienceSection.js +85 -0
  165. package/dist/node/components/marketing/sections/CorePositioningSection.js +67 -0
  166. package/dist/node/components/marketing/sections/CtaSection.js +62 -0
  167. package/dist/node/components/marketing/sections/DevelopersSection.js +45 -0
  168. package/dist/node/components/marketing/sections/FearsSection.js +100 -0
  169. package/dist/node/components/marketing/sections/HeroMarketingSection.js +88 -0
  170. package/dist/node/components/marketing/sections/IconGridSection.js +58 -0
  171. package/dist/node/components/marketing/sections/OutputsSection.js +111 -0
  172. package/dist/node/components/marketing/sections/ProblemSection.js +98 -0
  173. package/dist/node/components/marketing/sections/SolutionSection.js +98 -0
  174. package/dist/node/components/marketing/sections/StepsSection.js +104 -0
  175. package/dist/node/components/marketing/waitlist-section.js +1099 -0
  176. package/dist/node/components/templates/TemplatesClientPage.js +5657 -0
  177. package/dist/node/components/templates/TemplatesPage.js +172 -0
  178. package/dist/node/components/templates/TemplatesPreviewModal.js +119 -0
  179. package/dist/node/components/templates/index.js +5826 -0
  180. package/dist/node/index.js +6480 -0
  181. package/dist/node/libs/email/client.js +117 -0
  182. package/dist/node/libs/email/contact.js +185 -0
  183. package/dist/node/libs/email/newsletter.js +210 -0
  184. package/dist/node/libs/email/types.js +2 -0
  185. package/dist/node/libs/email/utils.js +11 -0
  186. package/dist/node/libs/email/waitlist-application.js +290 -0
  187. package/dist/node/libs/email/waitlist.js +220 -0
  188. package/dist/node/libs/pricing-examples.js +21 -0
  189. package/dist/node/registry/engine.js +5288 -0
  190. package/dist/node/registry/factory.js +47 -0
  191. package/dist/node/registry/index.js +5353 -0
  192. package/dist/node/registry/registry-docs.js +338 -0
  193. package/dist/node/registry/registry-landing.js +4932 -0
  194. package/dist/node/registry/registry.js +5274 -0
  195. package/dist/node/registry/types.js +0 -0
  196. package/dist/node/registry/utils.js +5335 -0
  197. package/dist/registry/engine.d.ts +4 -8
  198. package/dist/registry/engine.d.ts.map +1 -1
  199. package/dist/registry/engine.js +5287 -23
  200. package/dist/registry/factory.d.ts +30 -34
  201. package/dist/registry/factory.d.ts.map +1 -1
  202. package/dist/registry/factory.js +42 -56
  203. package/dist/registry/index.d.ts +8 -8
  204. package/dist/registry/index.d.ts.map +1 -0
  205. package/dist/registry/index.js +5353 -8
  206. package/dist/registry/registry-docs.d.ts +4 -8
  207. package/dist/registry/registry-docs.d.ts.map +1 -1
  208. package/dist/registry/registry-docs.js +242 -209
  209. package/dist/registry/registry-landing.d.ts +5 -9
  210. package/dist/registry/registry-landing.d.ts.map +1 -1
  211. package/dist/registry/registry-landing.js +4930 -93
  212. package/dist/registry/registry.d.ts +7 -11
  213. package/dist/registry/registry.d.ts.map +1 -1
  214. package/dist/registry/registry.js +5262 -49
  215. package/dist/registry/types.d.ts +6 -10
  216. package/dist/registry/types.d.ts.map +1 -1
  217. package/dist/registry/types.js +1 -0
  218. package/dist/registry/utils.d.ts +10 -14
  219. package/dist/registry/utils.d.ts.map +1 -1
  220. package/dist/registry/utils.js +5330 -49
  221. package/package.json +355 -73
  222. package/tsdown.config.js +1 -2
  223. package/.turbo/turbo-build$colon$types.log +0 -1
  224. package/.turbo/turbo-lint.log +0 -3
  225. package/dist/components/marketing/ChangelogPage.js.map +0 -1
  226. package/dist/components/marketing/CofounderPage.js.map +0 -1
  227. package/dist/components/marketing/ContactClient.js.map +0 -1
  228. package/dist/components/marketing/ContributePage.js.map +0 -1
  229. package/dist/components/marketing/DesignPartnerPage.js.map +0 -1
  230. package/dist/components/marketing/LandingPage.js.map +0 -1
  231. package/dist/components/marketing/PricingClient.js.map +0 -1
  232. package/dist/components/marketing/ProductClientPage.js.map +0 -1
  233. package/dist/components/marketing/pricing-thinking-modal.js.map +0 -1
  234. package/dist/components/marketing/sections/AudienceSection.js.map +0 -1
  235. package/dist/components/marketing/sections/CorePositioningSection.js.map +0 -1
  236. package/dist/components/marketing/sections/CtaSection.js.map +0 -1
  237. package/dist/components/marketing/sections/DevelopersSection.js.map +0 -1
  238. package/dist/components/marketing/sections/FearsSection.js.map +0 -1
  239. package/dist/components/marketing/sections/HeroMarketingSection.js.map +0 -1
  240. package/dist/components/marketing/sections/IconGridSection.js.map +0 -1
  241. package/dist/components/marketing/sections/OutputsSection.js.map +0 -1
  242. package/dist/components/marketing/sections/ProblemSection.js.map +0 -1
  243. package/dist/components/marketing/sections/SolutionSection.js.map +0 -1
  244. package/dist/components/marketing/sections/StepsSection.js.map +0 -1
  245. package/dist/components/marketing/waitlist-section.js.map +0 -1
  246. package/dist/components/templates/TemplatesClientPage.js.map +0 -1
  247. package/dist/components/templates/TemplatesPage.js.map +0 -1
  248. package/dist/components/templates/TemplatesPreviewModal.js.map +0 -1
  249. package/dist/libs/email/client.js.map +0 -1
  250. package/dist/libs/email/contact.js.map +0 -1
  251. package/dist/libs/email/newsletter.js.map +0 -1
  252. package/dist/libs/email/utils.js.map +0 -1
  253. package/dist/libs/email/waitlist-application.js.map +0 -1
  254. package/dist/libs/email/waitlist.js.map +0 -1
  255. package/dist/libs/pricing-examples.js.map +0 -1
  256. package/dist/registry/engine.js.map +0 -1
  257. package/dist/registry/factory.js.map +0 -1
  258. package/dist/registry/registry-docs.js.map +0 -1
  259. package/dist/registry/registry-landing.js.map +0 -1
  260. package/dist/registry/registry.js.map +0 -1
  261. package/dist/registry/utils.js.map +0 -1
  262. package/tsconfig.tsbuildinfo +0 -1
@@ -1,38 +1,624 @@
1
- 'use client';
2
-
3
- import { HeroMarketingSection } from "./sections/HeroMarketingSection.js";
4
- import { ProblemSection } from "./sections/ProblemSection.js";
5
- import { SolutionSection } from "./sections/SolutionSection.js";
6
- import { FearsSection } from "./sections/FearsSection.js";
7
- import { CorePositioningSection } from "./sections/CorePositioningSection.js";
8
- import { AudienceSection } from "./sections/AudienceSection.js";
9
- import { OutputsSection } from "./sections/OutputsSection.js";
10
- import { StepsSection } from "./sections/StepsSection.js";
11
- import { DevelopersSection } from "./sections/DevelopersSection.js";
12
- import { CtaSection } from "./sections/CtaSection.js";
13
- import { VStack } from "@contractspec/lib.ui-kit-web/ui/stack";
14
- import { jsx, jsxs } from "react/jsx-runtime";
15
-
16
- //#region src/components/marketing/LandingPage.tsx
1
+ // @bun
2
+ var __require = import.meta.require;
3
+
4
+ // src/components/marketing/sections/HeroMarketingSection.tsx
5
+ import { ButtonLink, MarketingSection } from "@contractspec/lib.design-system";
6
+ import {
7
+ analyticsEventNames,
8
+ captureAnalyticsEvent
9
+ } from "@contractspec/bundle.library/libs/posthog/client";
10
+ import { Box, HStack, VStack } from "@contractspec/lib.ui-kit-web/ui/stack";
11
+ import { H1, Lead, Small } from "@contractspec/lib.ui-kit-web/ui/typography";
12
+ import { ChevronRight } from "lucide-react";
13
+ import { jsxDEV } from "react/jsx-dev-runtime";
14
+ "use client";
15
+ var heroChips = ["Multi-Surface Sync", "No Lock-in", "Standard Tech"];
16
+ function HeroMarketingSection() {
17
+ return /* @__PURE__ */ jsxDEV(MarketingSection, {
18
+ tone: "gradient",
19
+ padding: "spacious",
20
+ align: "center",
21
+ children: /* @__PURE__ */ jsxDEV(VStack, {
22
+ gap: "lg",
23
+ align: "center",
24
+ className: "text-center",
25
+ children: [
26
+ /* @__PURE__ */ jsxDEV(Box, {
27
+ as: "div",
28
+ role: "presentation",
29
+ className: "bg-muted text-muted-foreground inline-flex items-center rounded-full px-3 py-1 text-xs font-medium tracking-wider uppercase",
30
+ children: "Open Source Core"
31
+ }, undefined, false, undefined, this),
32
+ /* @__PURE__ */ jsxDEV(H1, {
33
+ className: "text-4xl leading-tight font-bold text-balance md:text-5xl",
34
+ children: "Stabilize your AI-generated code"
35
+ }, undefined, false, undefined, this),
36
+ /* @__PURE__ */ jsxDEV(Lead, {
37
+ className: "text-muted-foreground text-lg text-balance md:text-xl",
38
+ children: "ContractSpec is the compiler that keeps AI-written software coherent, safe, and regenerable. You keep your app. You own the code. One module at a time."
39
+ }, undefined, false, undefined, this),
40
+ /* @__PURE__ */ jsxDEV(HStack, {
41
+ gap: "md",
42
+ justify: "center",
43
+ wrap: "wrap",
44
+ children: [
45
+ /* @__PURE__ */ jsxDEV(ButtonLink, {
46
+ href: "/install",
47
+ onClick: () => captureAnalyticsEvent(analyticsEventNames.CTA_INSTALL_CLICK, {
48
+ surface: "hero"
49
+ }),
50
+ children: [
51
+ "Install OSS ",
52
+ /* @__PURE__ */ jsxDEV(ChevronRight, {
53
+ size: 16
54
+ }, undefined, false, undefined, this)
55
+ ]
56
+ }, undefined, true, undefined, this),
57
+ /* @__PURE__ */ jsxDEV(ButtonLink, {
58
+ variant: "ghost",
59
+ href: "/contact#waitlist",
60
+ onClick: () => captureAnalyticsEvent(analyticsEventNames.CTA_STUDIO_CLICK, {
61
+ surface: "hero"
62
+ }),
63
+ children: "Join Studio Waitlist"
64
+ }, undefined, false, undefined, this)
65
+ ]
66
+ }, undefined, true, undefined, this),
67
+ /* @__PURE__ */ jsxDEV(HStack, {
68
+ gap: "sm",
69
+ justify: "center",
70
+ wrap: "wrap",
71
+ className: "pt-2",
72
+ children: heroChips.map((chip) => /* @__PURE__ */ jsxDEV(Box, {
73
+ as: "div",
74
+ role: "presentation",
75
+ className: "border-border text-foreground inline-flex items-center rounded-full border px-3 py-1 text-sm",
76
+ children: /* @__PURE__ */ jsxDEV(Small, {
77
+ className: "font-medium",
78
+ children: chip
79
+ }, undefined, false, undefined, this)
80
+ }, chip, false, undefined, this))
81
+ }, undefined, false, undefined, this)
82
+ ]
83
+ }, undefined, true, undefined, this)
84
+ }, undefined, false, undefined, this);
85
+ }
86
+
87
+ // src/components/marketing/sections/IconGridSection.tsx
88
+ import { cva } from "class-variance-authority";
89
+ import {
90
+ MarketingCardsSection,
91
+ MarketingIconCard
92
+ } from "@contractspec/lib.design-system";
93
+ import { Muted } from "@contractspec/lib.ui-kit-web/ui/typography";
94
+ import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
95
+ var itemVariants = cva("", {
96
+ variants: {
97
+ iconRole: {
98
+ iconFirst: "",
99
+ listing: "items-start",
100
+ support: "items-start"
101
+ }
102
+ },
103
+ defaultVariants: { iconRole: "iconFirst" }
104
+ });
105
+ function IconGridSection({
106
+ eyebrow,
107
+ title,
108
+ subtitle,
109
+ items,
110
+ tone = "default",
111
+ padding,
112
+ columns = 3,
113
+ iconRole = "iconFirst"
114
+ }) {
115
+ return /* @__PURE__ */ jsxDEV2(MarketingCardsSection, {
116
+ tone,
117
+ padding,
118
+ eyebrow: eyebrow ? /* @__PURE__ */ jsxDEV2(Muted, {
119
+ className: "text-xs font-semibold tracking-[0.2em] uppercase",
120
+ children: eyebrow
121
+ }, undefined, false, undefined, this) : null,
122
+ title,
123
+ subtitle: subtitle ? /* @__PURE__ */ jsxDEV2(Muted, {
124
+ className: "text-lg",
125
+ children: subtitle
126
+ }, undefined, false, undefined, this) : null,
127
+ columns,
128
+ children: items.map((card) => /* @__PURE__ */ jsxDEV2(MarketingIconCard, {
129
+ icon: card.icon,
130
+ title: card.title,
131
+ description: card.description,
132
+ tone: card.tone,
133
+ iconClassName: card.iconClassName,
134
+ variant: iconRole === "listing" ? "listing" : iconRole === "support" ? "support" : "iconFirst",
135
+ className: itemVariants({ iconRole })
136
+ }, card.title, false, undefined, this))
137
+ }, undefined, false, undefined, this);
138
+ }
139
+
140
+ // src/components/marketing/sections/ProblemSection.tsx
141
+ import { AlertTriangle, Layers, RefreshCw, XCircle } from "lucide-react";
142
+ import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
143
+ var problemItems = [
144
+ {
145
+ icon: AlertTriangle,
146
+ title: "Can't enforce invariants",
147
+ description: "AI-generated code drifts from business rules over time. No source of truth means no safety.",
148
+ iconClassName: "text-red-400"
149
+ },
150
+ {
151
+ icon: Layers,
152
+ title: "Multi-surface chaos",
153
+ description: "API, DB, UI, and events get out of sync. One change breaks three surfaces.",
154
+ iconClassName: "text-orange-400"
155
+ },
156
+ {
157
+ icon: RefreshCw,
158
+ title: "Hallucinated refactors",
159
+ description: 'AI "improvements" introduce subtle bugs and break contracts you didn\u2019t know existed.',
160
+ iconClassName: "text-amber-400"
161
+ },
162
+ {
163
+ icon: XCircle,
164
+ title: "Unmaintainable spaghetti",
165
+ description: "Teams ship fast initially, then spend months untangling AI-generated chaos.",
166
+ iconClassName: "text-red-400"
167
+ }
168
+ ];
169
+ function ProblemSection() {
170
+ return /* @__PURE__ */ jsxDEV3(IconGridSection, {
171
+ tone: "muted",
172
+ columns: 4,
173
+ eyebrow: "The Problem",
174
+ title: "AI agents write code fast. Then the chaos begins.",
175
+ subtitle: 'In 2025, "vibe coding" and AI agents generate enormous amounts of code. But they have critical limitations that destroy long-term maintainability.',
176
+ items: problemItems
177
+ }, undefined, false, undefined, this);
178
+ }
179
+
180
+ // src/components/marketing/sections/SolutionSection.tsx
181
+ import { FileCode, Layers as Layers2, RefreshCw as RefreshCw2, Shield } from "lucide-react";
182
+ import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
183
+ var solutionItems = [
184
+ {
185
+ icon: FileCode,
186
+ title: "Canonical Source of Truth",
187
+ description: "Contracts define what the system should do, not just what it does. AI agents read specs, not implementations.",
188
+ iconClassName: "text-emerald-400"
189
+ },
190
+ {
191
+ icon: Layers2,
192
+ title: "Multi-Surface Consistency",
193
+ description: "One spec generates API, DB, UI, events, and MCP tools. All surfaces stay in sync because they share the same source.",
194
+ iconClassName: "text-blue-400"
195
+ },
196
+ {
197
+ icon: RefreshCw2,
198
+ title: "Safe Regeneration",
199
+ description: "Regenerate code anytime without fear. Specs enforce invariants. Breaking changes caught at compile time.",
200
+ iconClassName: "text-violet-400"
201
+ },
202
+ {
203
+ icon: Shield,
204
+ title: "AI Governance",
205
+ description: "Constrain what AI agents can change. Enforce contracts they must respect. Flag violations automatically.",
206
+ iconClassName: "text-pink-400"
207
+ }
208
+ ];
209
+ function SolutionSection() {
210
+ return /* @__PURE__ */ jsxDEV4(IconGridSection, {
211
+ tone: "default",
212
+ columns: 4,
213
+ eyebrow: "The Solution",
214
+ title: "ContractSpec: The safety layer for AI-coded systems",
215
+ subtitle: "Define contracts once. Generate consistent code across all surfaces. Regenerate safely anytime. No lock-in.",
216
+ items: solutionItems
217
+ }, undefined, false, undefined, this);
218
+ }
219
+
220
+ // src/components/marketing/sections/FearsSection.tsx
221
+ import { CheckCircle, Code, Unlock, Zap } from "lucide-react";
222
+ import { jsxDEV as jsxDEV5 } from "react/jsx-dev-runtime";
223
+ var fears = [
224
+ {
225
+ title: '"I already have an app"',
226
+ body: "ContractSpec works with existing codebases. You don't start over \u2014 you stabilize incrementally, one module at a time. Start with one API endpoint, one data model, one contract.",
227
+ icon: CheckCircle
228
+ },
229
+ {
230
+ title: '"Vendor lock-in / losing ownership"',
231
+ body: "You own the generated code. It's standard TypeScript, standard SQL, standard GraphQL. ContractSpec is a compiler \u2014 like TypeScript itself. You can eject anytime.",
232
+ icon: Unlock
233
+ },
234
+ {
235
+ title: '"Adoption cost / learning curve"',
236
+ body: "Specs are just TypeScript. If you can write z.object({ name: z.string() }), you can write a ContractSpec. No new language, no magic DSL, no YAML.",
237
+ icon: Code
238
+ },
239
+ {
240
+ title: '"Forced migrations / magical runtime"',
241
+ body: "ContractSpec generates plain code you can read, debug, and modify. There's no proprietary runtime. Migrations are explicit, reversible, and in your control.",
242
+ icon: Zap
243
+ }
244
+ ];
245
+ function FearsSection() {
246
+ return /* @__PURE__ */ jsxDEV5(IconGridSection, {
247
+ tone: "muted",
248
+ columns: 2,
249
+ eyebrow: "We Get It",
250
+ title: "Your fears, addressed",
251
+ subtitle: "We know what you're thinking. Here's why those concerns don't apply to ContractSpec.",
252
+ iconRole: "support",
253
+ items: fears.map((item) => ({
254
+ icon: item.icon,
255
+ title: item.title,
256
+ description: item.body,
257
+ iconClassName: "text-violet-400"
258
+ }))
259
+ }, undefined, false, undefined, this);
260
+ }
261
+
262
+ // src/components/marketing/sections/CorePositioningSection.tsx
263
+ import { MarketingSection as MarketingSection2, ButtonLink as ButtonLink2 } from "@contractspec/lib.design-system";
264
+ import { VStack as VStack2 } from "@contractspec/lib.ui-kit-web/ui/stack";
265
+ import { H2, Lead as Lead2, Small as Small2 } from "@contractspec/lib.ui-kit-web/ui/typography";
266
+ import { ChevronRight as ChevronRight2 } from "lucide-react";
267
+ import { jsxDEV as jsxDEV6 } from "react/jsx-dev-runtime";
268
+ function CorePositioningSection() {
269
+ return /* @__PURE__ */ jsxDEV6(MarketingSection2, {
270
+ tone: "gradient",
271
+ padding: "comfortable",
272
+ align: "center",
273
+ maxWidth: "lg",
274
+ children: /* @__PURE__ */ jsxDEV6(VStack2, {
275
+ gap: "md",
276
+ align: "center",
277
+ children: [
278
+ /* @__PURE__ */ jsxDEV6(H2, {
279
+ className: "text-center text-3xl font-bold md:text-4xl",
280
+ children: [
281
+ "You keep your app.",
282
+ /* @__PURE__ */ jsxDEV6("br", {}, undefined, false, undefined, this),
283
+ "We stabilize it, one module at a time."
284
+ ]
285
+ }, undefined, true, undefined, this),
286
+ /* @__PURE__ */ jsxDEV6(Lead2, {
287
+ className: "text-center",
288
+ children: [
289
+ "You own the code. It's standard tech.",
290
+ /* @__PURE__ */ jsxDEV6("br", {}, undefined, false, undefined, this),
291
+ /* @__PURE__ */ jsxDEV6(Small2, {
292
+ className: "font-semibold text-violet-400",
293
+ children: "We're the compiler, not the prison."
294
+ }, undefined, false, undefined, this)
295
+ ]
296
+ }, undefined, true, undefined, this),
297
+ /* @__PURE__ */ jsxDEV6(VStack2, {
298
+ as: "div",
299
+ gap: "sm",
300
+ align: "center",
301
+ className: "pt-2 sm:flex sm:flex-row sm:flex-wrap sm:items-center sm:justify-center",
302
+ children: [
303
+ /* @__PURE__ */ jsxDEV6(ButtonLink2, {
304
+ href: "/pricing#waitlist",
305
+ children: [
306
+ "Join waitlist ",
307
+ /* @__PURE__ */ jsxDEV6(ChevronRight2, {
308
+ size: 16
309
+ }, undefined, false, undefined, this)
310
+ ]
311
+ }, undefined, true, undefined, this),
312
+ /* @__PURE__ */ jsxDEV6(ButtonLink2, {
313
+ variant: "ghost",
314
+ href: "/contact",
315
+ children: "Book a call"
316
+ }, undefined, false, undefined, this)
317
+ ]
318
+ }, undefined, true, undefined, this)
319
+ ]
320
+ }, undefined, true, undefined, this)
321
+ }, undefined, false, undefined, this);
322
+ }
323
+
324
+ // src/components/marketing/sections/AudienceSection.tsx
325
+ import {
326
+ MarketingCard,
327
+ MarketingCardContent,
328
+ MarketingCardHeader,
329
+ MarketingCardTitle,
330
+ MarketingCardsSection as MarketingCardsSection2
331
+ } from "@contractspec/lib.design-system";
332
+ import { VStack as VStack3 } from "@contractspec/lib.ui-kit-web/ui/stack";
333
+ import { Muted as Muted2, Small as Small3 } from "@contractspec/lib.ui-kit-web/ui/typography";
334
+ import { jsxDEV as jsxDEV7 } from "react/jsx-dev-runtime";
335
+ var audiences = [
336
+ {
337
+ tier: "Tier 1: Priority",
338
+ title: "AI-Native Startups & Technical Founders",
339
+ body: "Solo founders or small teams using Cursor, Copilot, Claude, or AI agents heavily. Messy AI-generated backends and frontends, inconsistent APIs, code that is hard to refactor.",
340
+ need: "Need: A way to stabilize AI-generated code without rewriting it."
341
+ },
342
+ {
343
+ tier: "Tier 1: Priority",
344
+ title: "Small Teams with AI-Generated Chaos",
345
+ body: "2-10 person teams that shipped fast with AI and now have tech debt. Multiple surfaces out of sync, no source of truth, afraid to touch AI-generated code.",
346
+ need: "Need: Incremental stabilization, safe regeneration, contracts as guardrails."
347
+ },
348
+ {
349
+ tier: "Tier 2: Growth",
350
+ title: "AI Dev Agencies",
351
+ body: "Agencies building many projects for clients using AI-assisted development. Repeating the same patterns, inconsistent quality across projects, handoff nightmares.",
352
+ need: "Need: Reusable templates, consistent contracts, professional handoff artifacts."
353
+ },
354
+ {
355
+ tier: "Tier 2: Growth",
356
+ title: "Scaleups with Compliance Needs",
357
+ body: "Growing companies that need audit trails, API governance, or regulatory compliance. AI-generated code doesn't meet compliance requirements.",
358
+ need: "Need: Governance layer, change tracking, contract enforcement."
359
+ }
360
+ ];
361
+ function AudienceSection() {
362
+ return /* @__PURE__ */ jsxDEV7(MarketingCardsSection2, {
363
+ tone: "default",
364
+ columns: 2,
365
+ eyebrow: "Who It's For",
366
+ title: "Built for teams drowning in AI-generated code",
367
+ maxWidth: "xl",
368
+ children: audiences.map((item) => /* @__PURE__ */ jsxDEV7(MarketingCard, {
369
+ tone: "muted",
370
+ children: [
371
+ /* @__PURE__ */ jsxDEV7(MarketingCardHeader, {
372
+ className: "space-y-2",
373
+ children: [
374
+ /* @__PURE__ */ jsxDEV7(Small3, {
375
+ className: "font-semibold text-blue-400",
376
+ children: item.tier
377
+ }, undefined, false, undefined, this),
378
+ /* @__PURE__ */ jsxDEV7(MarketingCardTitle, {
379
+ className: "text-xl",
380
+ children: item.title
381
+ }, undefined, false, undefined, this)
382
+ ]
383
+ }, undefined, true, undefined, this),
384
+ /* @__PURE__ */ jsxDEV7(MarketingCardContent, {
385
+ children: /* @__PURE__ */ jsxDEV7(VStack3, {
386
+ gap: "sm",
387
+ children: [
388
+ /* @__PURE__ */ jsxDEV7(Muted2, {
389
+ className: "text-sm leading-relaxed",
390
+ children: item.body
391
+ }, undefined, false, undefined, this),
392
+ /* @__PURE__ */ jsxDEV7(Small3, {
393
+ className: "font-medium text-violet-400",
394
+ children: item.need
395
+ }, undefined, false, undefined, this)
396
+ ]
397
+ }, undefined, true, undefined, this)
398
+ }, undefined, false, undefined, this)
399
+ ]
400
+ }, item.title, true, undefined, this))
401
+ }, undefined, false, undefined, this);
402
+ }
403
+
404
+ // src/components/marketing/sections/OutputsSection.tsx
405
+ import { jsxDEV as jsxDEV8 } from "react/jsx-dev-runtime";
406
+ var outputs = [
407
+ {
408
+ title: "REST API",
409
+ description: "Type-safe endpoints with validation. Standard Express/Hono/Elysia handlers.",
410
+ icon: "\uD83D\uDD0C"
411
+ },
412
+ {
413
+ title: "GraphQL Schema",
414
+ description: "Automatically generated resolvers. Standard Pothos/Apollo output.",
415
+ icon: "\uD83D\uDCCA"
416
+ },
417
+ {
418
+ title: "Database Schema",
419
+ description: "Prisma migrations and types. Standard SQL underneath.",
420
+ icon: "\uD83D\uDDC4\uFE0F"
421
+ },
422
+ {
423
+ title: "MCP Tools",
424
+ description: "AI agent tool definitions. Works with Claude, GPT, and any MCP client.",
425
+ icon: "\uD83E\uDD16"
426
+ },
427
+ {
428
+ title: "Client SDKs",
429
+ description: "Type-safe API clients. Standard fetch/axios underneath.",
430
+ icon: "\uD83D\uDCE6"
431
+ },
432
+ {
433
+ title: "UI Components",
434
+ description: "React forms and views from specs. Standard JSX output.",
435
+ icon: "\uD83C\uDFA8"
436
+ }
437
+ ];
438
+ function OutputsSection() {
439
+ return /* @__PURE__ */ jsxDEV8(IconGridSection, {
440
+ tone: "muted",
441
+ columns: 3,
442
+ title: "What ContractSpec generates",
443
+ subtitle: "One contract, multiple outputs. All in sync. All standard tech.",
444
+ iconRole: "iconFirst",
445
+ items: outputs.map((item) => ({
446
+ icon: () => /* @__PURE__ */ jsxDEV8("span", {
447
+ "aria-hidden": true,
448
+ className: "text-3xl",
449
+ children: item.icon
450
+ }, undefined, false, undefined, this),
451
+ title: item.title,
452
+ description: item.description
453
+ }))
454
+ }, undefined, false, undefined, this);
455
+ }
456
+
457
+ // src/components/marketing/sections/StepsSection.tsx
458
+ import { jsxDEV as jsxDEV9 } from "react/jsx-dev-runtime";
459
+ var steps = [
460
+ {
461
+ step: 1,
462
+ title: "Pick one module",
463
+ description: "Start with one API endpoint, one entity, one surface. No big-bang migration."
464
+ },
465
+ {
466
+ step: 2,
467
+ title: "Define the contract",
468
+ description: "Write a spec in TypeScript. Just types and Zod schemas you already know."
469
+ },
470
+ {
471
+ step: 3,
472
+ title: "Generate & compare",
473
+ description: "See what ContractSpec generates. Compare to your existing code. Keep what works."
474
+ },
475
+ {
476
+ step: 4,
477
+ title: "Expand gradually",
478
+ description: "Add more contracts as you see value. No pressure. No lock-in. Your pace."
479
+ }
480
+ ];
481
+ function StepsSection() {
482
+ return /* @__PURE__ */ jsxDEV9(IconGridSection, {
483
+ tone: "default",
484
+ columns: 4,
485
+ title: "How incremental adoption works",
486
+ padding: "comfortable",
487
+ iconRole: "listing",
488
+ items: steps.map((item) => ({
489
+ icon: ({ className }) => /* @__PURE__ */ jsxDEV9("div", {
490
+ className: `bg-primary/15 flex h-10 w-10 items-center justify-center rounded-lg ${className ?? ""}`,
491
+ children: /* @__PURE__ */ jsxDEV9("span", {
492
+ className: "text-primary text-sm font-semibold",
493
+ children: item.step
494
+ }, undefined, false, undefined, this)
495
+ }, undefined, false, undefined, this),
496
+ title: item.title,
497
+ description: item.description,
498
+ tone: "muted"
499
+ }))
500
+ }, undefined, false, undefined, this);
501
+ }
502
+
503
+ // src/components/marketing/sections/DevelopersSection.tsx
504
+ import {
505
+ ButtonLink as ButtonLink3,
506
+ MarketingComparisonSection
507
+ } from "@contractspec/lib.design-system";
508
+ import { jsxDEV as jsxDEV10 } from "react/jsx-dev-runtime";
509
+ var standardTech = [
510
+ "TypeScript & Zod \u2014 schemas you already know",
511
+ "Prisma \u2014 standard database access",
512
+ "GraphQL or REST \u2014 your choice",
513
+ "React or any UI framework",
514
+ "Bun, Node, Deno \u2014 all supported"
515
+ ];
516
+ var noMagic = [
517
+ "Generated code is readable & modifiable",
518
+ "No proprietary runtime dependencies",
519
+ "Eject anytime, keep everything",
520
+ "Works with your existing CI/CD",
521
+ "Open spec format"
522
+ ];
523
+ function DevelopersSection() {
524
+ return /* @__PURE__ */ jsxDEV10(MarketingComparisonSection, {
525
+ tone: "muted",
526
+ title: "Built for developers",
527
+ padding: "comfortable",
528
+ left: { title: "Standard Tech Stack", items: standardTech },
529
+ right: { title: "No Magic, No Lock-in", items: noMagic },
530
+ subtitle: /* @__PURE__ */ jsxDEV10(ButtonLink3, {
531
+ href: "/docs",
532
+ children: [
533
+ "Read the docs ",
534
+ /* @__PURE__ */ jsxDEV10("span", {
535
+ "aria-hidden": true,
536
+ children: "\u2192"
537
+ }, undefined, false, undefined, this)
538
+ ]
539
+ }, undefined, true, undefined, this)
540
+ }, undefined, false, undefined, this);
541
+ }
542
+
543
+ // src/components/marketing/sections/CtaSection.tsx
544
+ import { MarketingSection as MarketingSection3, ButtonLink as ButtonLink4 } from "@contractspec/lib.design-system";
545
+ import {
546
+ analyticsEventNames as analyticsEventNames2,
547
+ captureAnalyticsEvent as captureAnalyticsEvent2
548
+ } from "@contractspec/bundle.library/libs/posthog/client";
549
+ import { VStack as VStack4 } from "@contractspec/lib.ui-kit-web/ui/stack";
550
+ import { H2 as H22, Lead as Lead3 } from "@contractspec/lib.ui-kit-web/ui/typography";
551
+ import { jsxDEV as jsxDEV11 } from "react/jsx-dev-runtime";
552
+ function CtaSection() {
553
+ return /* @__PURE__ */ jsxDEV11(MarketingSection3, {
554
+ tone: "gradient",
555
+ padding: "comfortable",
556
+ align: "center",
557
+ maxWidth: "lg",
558
+ children: /* @__PURE__ */ jsxDEV11(VStack4, {
559
+ gap: "md",
560
+ align: "center",
561
+ className: "text-center",
562
+ children: [
563
+ /* @__PURE__ */ jsxDEV11(H22, {
564
+ className: "text-4xl font-bold md:text-5xl",
565
+ children: "Ready to stabilize your codebase?"
566
+ }, undefined, false, undefined, this),
567
+ /* @__PURE__ */ jsxDEV11(Lead3, {
568
+ className: "text-muted-foreground text-lg",
569
+ children: "Start with one module. See the difference. Expand at your own pace."
570
+ }, undefined, false, undefined, this),
571
+ /* @__PURE__ */ jsxDEV11(VStack4, {
572
+ as: "div",
573
+ gap: "sm",
574
+ align: "center",
575
+ className: "pt-2 sm:flex sm:flex-row sm:flex-wrap sm:items-center sm:justify-center",
576
+ children: [
577
+ /* @__PURE__ */ jsxDEV11(ButtonLink4, {
578
+ href: "/pricing#waitlist",
579
+ onClick: () => captureAnalyticsEvent2(analyticsEventNames2.CTA_STUDIO_CLICK, {
580
+ surface: "cta-section"
581
+ }),
582
+ children: "Join waitlist"
583
+ }, undefined, false, undefined, this),
584
+ /* @__PURE__ */ jsxDEV11(ButtonLink4, {
585
+ variant: "ghost",
586
+ href: "/contact",
587
+ onClick: () => captureAnalyticsEvent2(analyticsEventNames2.CTA_STUDIO_CLICK, {
588
+ surface: "cta-section",
589
+ variant: "contact"
590
+ }),
591
+ children: "Book a call"
592
+ }, undefined, false, undefined, this)
593
+ ]
594
+ }, undefined, true, undefined, this)
595
+ ]
596
+ }, undefined, true, undefined, this)
597
+ }, undefined, false, undefined, this);
598
+ }
599
+
600
+ // src/components/marketing/LandingPage.tsx
601
+ import { VStack as VStack5 } from "@contractspec/lib.ui-kit-web/ui/stack";
602
+ import { jsxDEV as jsxDEV12 } from "react/jsx-dev-runtime";
603
+ "use client";
17
604
  function LandingPage() {
18
- return /* @__PURE__ */ jsxs(VStack, {
19
- as: "main",
20
- gap: "none",
21
- children: [
22
- /* @__PURE__ */ jsx(HeroMarketingSection, {}),
23
- /* @__PURE__ */ jsx(ProblemSection, {}),
24
- /* @__PURE__ */ jsx(SolutionSection, {}),
25
- /* @__PURE__ */ jsx(FearsSection, {}),
26
- /* @__PURE__ */ jsx(CorePositioningSection, {}),
27
- /* @__PURE__ */ jsx(AudienceSection, {}),
28
- /* @__PURE__ */ jsx(OutputsSection, {}),
29
- /* @__PURE__ */ jsx(StepsSection, {}),
30
- /* @__PURE__ */ jsx(DevelopersSection, {}),
31
- /* @__PURE__ */ jsx(CtaSection, {})
32
- ]
33
- });
34
- }
35
-
36
- //#endregion
37
- export { LandingPage };
38
- //# sourceMappingURL=LandingPage.js.map
605
+ return /* @__PURE__ */ jsxDEV12(VStack5, {
606
+ as: "main",
607
+ gap: "none",
608
+ children: [
609
+ /* @__PURE__ */ jsxDEV12(HeroMarketingSection, {}, undefined, false, undefined, this),
610
+ /* @__PURE__ */ jsxDEV12(ProblemSection, {}, undefined, false, undefined, this),
611
+ /* @__PURE__ */ jsxDEV12(SolutionSection, {}, undefined, false, undefined, this),
612
+ /* @__PURE__ */ jsxDEV12(FearsSection, {}, undefined, false, undefined, this),
613
+ /* @__PURE__ */ jsxDEV12(CorePositioningSection, {}, undefined, false, undefined, this),
614
+ /* @__PURE__ */ jsxDEV12(AudienceSection, {}, undefined, false, undefined, this),
615
+ /* @__PURE__ */ jsxDEV12(OutputsSection, {}, undefined, false, undefined, this),
616
+ /* @__PURE__ */ jsxDEV12(StepsSection, {}, undefined, false, undefined, this),
617
+ /* @__PURE__ */ jsxDEV12(DevelopersSection, {}, undefined, false, undefined, this),
618
+ /* @__PURE__ */ jsxDEV12(CtaSection, {}, undefined, false, undefined, this)
619
+ ]
620
+ }, undefined, true, undefined, this);
621
+ }
622
+ export {
623
+ LandingPage
624
+ };
@@ -1,7 +1,2 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
-
3
- //#region src/components/marketing/PricingClient.d.ts
4
- declare function PricingClient(): react_jsx_runtime0.JSX.Element;
5
- //#endregion
6
- export { PricingClient };
1
+ export declare function PricingClient(): import("react/jsx-runtime").JSX.Element;
7
2
  //# sourceMappingURL=PricingClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PricingClient.d.ts","names":[],"sources":["../../../src/components/marketing/PricingClient.tsx"],"mappings":";;;iBAqCgB,aAAA,CAAA,GAAa,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"PricingClient.d.ts","sourceRoot":"","sources":["../../../src/components/marketing/PricingClient.tsx"],"names":[],"mappings":"AAqCA,wBAAgB,aAAa,4CAwZ5B"}