@contractspec/bundle.marketing 1.12.0 → 1.13.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 +29 -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,48 +1,100 @@
1
- import { IconGridSection } from "./IconGridSection.js";
2
- import { CheckCircle, Code, Unlock, Zap } from "lucide-react";
3
- import { jsx } from "react/jsx-runtime";
4
- import "react";
1
+ // @bun
2
+ var __require = import.meta.require;
3
+
4
+ // src/components/marketing/sections/IconGridSection.tsx
5
+ import { cva } from "class-variance-authority";
6
+ import {
7
+ MarketingCardsSection,
8
+ MarketingIconCard
9
+ } from "@contractspec/lib.design-system";
10
+ import { Muted } from "@contractspec/lib.ui-kit-web/ui/typography";
11
+ import { jsxDEV } from "react/jsx-dev-runtime";
12
+ var itemVariants = cva("", {
13
+ variants: {
14
+ iconRole: {
15
+ iconFirst: "",
16
+ listing: "items-start",
17
+ support: "items-start"
18
+ }
19
+ },
20
+ defaultVariants: { iconRole: "iconFirst" }
21
+ });
22
+ function IconGridSection({
23
+ eyebrow,
24
+ title,
25
+ subtitle,
26
+ items,
27
+ tone = "default",
28
+ padding,
29
+ columns = 3,
30
+ iconRole = "iconFirst"
31
+ }) {
32
+ return /* @__PURE__ */ jsxDEV(MarketingCardsSection, {
33
+ tone,
34
+ padding,
35
+ eyebrow: eyebrow ? /* @__PURE__ */ jsxDEV(Muted, {
36
+ className: "text-xs font-semibold tracking-[0.2em] uppercase",
37
+ children: eyebrow
38
+ }, undefined, false, undefined, this) : null,
39
+ title,
40
+ subtitle: subtitle ? /* @__PURE__ */ jsxDEV(Muted, {
41
+ className: "text-lg",
42
+ children: subtitle
43
+ }, undefined, false, undefined, this) : null,
44
+ columns,
45
+ children: items.map((card) => /* @__PURE__ */ jsxDEV(MarketingIconCard, {
46
+ icon: card.icon,
47
+ title: card.title,
48
+ description: card.description,
49
+ tone: card.tone,
50
+ iconClassName: card.iconClassName,
51
+ variant: iconRole === "listing" ? "listing" : iconRole === "support" ? "support" : "iconFirst",
52
+ className: itemVariants({ iconRole })
53
+ }, card.title, false, undefined, this))
54
+ }, undefined, false, undefined, this);
55
+ }
5
56
 
6
- //#region src/components/marketing/sections/FearsSection.tsx
7
- const fears = [
8
- {
9
- title: "\"I already have an app\"",
10
- body: "ContractSpec works with existing codebases. You don't start over — you stabilize incrementally, one module at a time. Start with one API endpoint, one data model, one contract.",
11
- icon: CheckCircle
12
- },
13
- {
14
- title: "\"Vendor lock-in / losing ownership\"",
15
- body: "You own the generated code. It's standard TypeScript, standard SQL, standard GraphQL. ContractSpec is a compiler — like TypeScript itself. You can eject anytime.",
16
- icon: Unlock
17
- },
18
- {
19
- title: "\"Adoption cost / learning curve\"",
20
- 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.",
21
- icon: Code
22
- },
23
- {
24
- title: "\"Forced migrations / magical runtime\"",
25
- body: "ContractSpec generates plain code you can read, debug, and modify. There's no proprietary runtime. Migrations are explicit, reversible, and in your control.",
26
- icon: Zap
27
- }
57
+ // src/components/marketing/sections/FearsSection.tsx
58
+ import { CheckCircle, Code, Unlock, Zap } from "lucide-react";
59
+ import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
60
+ var fears = [
61
+ {
62
+ title: '"I already have an app"',
63
+ 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.",
64
+ icon: CheckCircle
65
+ },
66
+ {
67
+ title: '"Vendor lock-in / losing ownership"',
68
+ 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.",
69
+ icon: Unlock
70
+ },
71
+ {
72
+ title: '"Adoption cost / learning curve"',
73
+ 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.",
74
+ icon: Code
75
+ },
76
+ {
77
+ title: '"Forced migrations / magical runtime"',
78
+ body: "ContractSpec generates plain code you can read, debug, and modify. There's no proprietary runtime. Migrations are explicit, reversible, and in your control.",
79
+ icon: Zap
80
+ }
28
81
  ];
29
82
  function FearsSection() {
30
- return /* @__PURE__ */ jsx(IconGridSection, {
31
- tone: "muted",
32
- columns: 2,
33
- eyebrow: "We Get It",
34
- title: "Your fears, addressed",
35
- subtitle: "We know what you're thinking. Here's why those concerns don't apply to ContractSpec.",
36
- iconRole: "support",
37
- items: fears.map((item) => ({
38
- icon: item.icon,
39
- title: item.title,
40
- description: item.body,
41
- iconClassName: "text-violet-400"
42
- }))
43
- });
83
+ return /* @__PURE__ */ jsxDEV2(IconGridSection, {
84
+ tone: "muted",
85
+ columns: 2,
86
+ eyebrow: "We Get It",
87
+ title: "Your fears, addressed",
88
+ subtitle: "We know what you're thinking. Here's why those concerns don't apply to ContractSpec.",
89
+ iconRole: "support",
90
+ items: fears.map((item) => ({
91
+ icon: item.icon,
92
+ title: item.title,
93
+ description: item.body,
94
+ iconClassName: "text-violet-400"
95
+ }))
96
+ }, undefined, false, undefined, this);
44
97
  }
45
-
46
- //#endregion
47
- export { FearsSection };
48
- //# sourceMappingURL=FearsSection.js.map
98
+ export {
99
+ FearsSection
100
+ };
@@ -1,7 +1,2 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
-
3
- //#region src/components/marketing/sections/HeroMarketingSection.d.ts
4
- declare function HeroMarketingSection(): react_jsx_runtime0.JSX.Element;
5
- //#endregion
6
- export { HeroMarketingSection };
1
+ export declare function HeroMarketingSection(): import("react/jsx-runtime").JSX.Element;
7
2
  //# sourceMappingURL=HeroMarketingSection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeroMarketingSection.d.ts","names":[],"sources":["../../../../src/components/marketing/sections/HeroMarketingSection.tsx"],"mappings":";;;iBAagB,oBAAA,CAAA,GAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"HeroMarketingSection.d.ts","sourceRoot":"","sources":["../../../../src/components/marketing/sections/HeroMarketingSection.tsx"],"names":[],"mappings":"AAaA,wBAAgB,oBAAoB,4CA2DnC"}
@@ -1,77 +1,88 @@
1
- 'use client';
1
+ // @bun
2
+ var __require = import.meta.require;
2
3
 
3
- import { Box, HStack, VStack } from "@contractspec/lib.ui-kit-web/ui/stack";
4
+ // src/components/marketing/sections/HeroMarketingSection.tsx
4
5
  import { ButtonLink, MarketingSection } from "@contractspec/lib.design-system";
5
- import { analyticsEventNames, captureAnalyticsEvent } from "@contractspec/bundle.library/libs/posthog/client";
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";
6
11
  import { H1, Lead, Small } from "@contractspec/lib.ui-kit-web/ui/typography";
7
12
  import { ChevronRight } from "lucide-react";
8
- import { jsx, jsxs } from "react/jsx-runtime";
9
-
10
- //#region src/components/marketing/sections/HeroMarketingSection.tsx
11
- const heroChips = [
12
- "Multi-Surface Sync",
13
- "No Lock-in",
14
- "Standard Tech"
15
- ];
13
+ import { jsxDEV } from "react/jsx-dev-runtime";
14
+ "use client";
15
+ var heroChips = ["Multi-Surface Sync", "No Lock-in", "Standard Tech"];
16
16
  function HeroMarketingSection() {
17
- return /* @__PURE__ */ jsx(MarketingSection, {
18
- tone: "gradient",
19
- padding: "spacious",
20
- align: "center",
21
- children: /* @__PURE__ */ jsxs(VStack, {
22
- gap: "lg",
23
- align: "center",
24
- className: "text-center",
25
- children: [
26
- /* @__PURE__ */ jsx(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
- }),
32
- /* @__PURE__ */ jsx(H1, {
33
- className: "text-4xl leading-tight font-bold text-balance md:text-5xl",
34
- children: "Stabilize your AI-generated code"
35
- }),
36
- /* @__PURE__ */ jsx(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
- }),
40
- /* @__PURE__ */ jsxs(HStack, {
41
- gap: "md",
42
- justify: "center",
43
- wrap: "wrap",
44
- children: [/* @__PURE__ */ jsxs(ButtonLink, {
45
- href: "/install",
46
- onClick: () => captureAnalyticsEvent(analyticsEventNames.CTA_INSTALL_CLICK, { surface: "hero" }),
47
- children: ["Install OSS ", /* @__PURE__ */ jsx(ChevronRight, { size: 16 })]
48
- }), /* @__PURE__ */ jsx(ButtonLink, {
49
- variant: "ghost",
50
- href: "/contact#waitlist",
51
- onClick: () => captureAnalyticsEvent(analyticsEventNames.CTA_STUDIO_CLICK, { surface: "hero" }),
52
- children: "Join Studio Waitlist"
53
- })]
54
- }),
55
- /* @__PURE__ */ jsx(HStack, {
56
- gap: "sm",
57
- justify: "center",
58
- wrap: "wrap",
59
- className: "pt-2",
60
- children: heroChips.map((chip) => /* @__PURE__ */ jsx(Box, {
61
- as: "div",
62
- role: "presentation",
63
- className: "border-border text-foreground inline-flex items-center rounded-full border px-3 py-1 text-sm",
64
- children: /* @__PURE__ */ jsx(Small, {
65
- className: "font-medium",
66
- children: chip
67
- })
68
- }, chip))
69
- })
70
- ]
71
- })
72
- });
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);
73
85
  }
74
-
75
- //#endregion
76
- export { HeroMarketingSection };
77
- //# sourceMappingURL=HeroMarketingSection.js.map
86
+ export {
87
+ HeroMarketingSection
88
+ };
@@ -1,45 +1,31 @@
1
- import { MarketingCardTone, MarketingSectionPadding, MarketingSectionTone } from "@contractspec/lib.design-system";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
- import * as React$1 from "react";
4
- import { VariantProps } from "class-variance-authority";
5
- import * as class_variance_authority_types0 from "class-variance-authority/types";
6
-
7
- //#region src/components/marketing/sections/IconGridSection.d.ts
8
- type IconComponent = React$1.ComponentType<{
9
- className?: string;
10
- size?: number;
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ import { type MarketingCardTone, type MarketingSectionPadding, type MarketingSectionTone } from '@contractspec/lib.design-system';
4
+ type IconComponent = React.ComponentType<{
5
+ className?: string;
6
+ size?: number;
11
7
  }>;
12
- interface IconGridItem {
13
- icon: IconComponent;
14
- title: string;
15
- description: string;
16
- iconClassName?: string;
17
- tone?: MarketingCardTone;
8
+ export interface IconGridItem {
9
+ icon: IconComponent;
10
+ title: string;
11
+ description: string;
12
+ iconClassName?: string;
13
+ tone?: MarketingCardTone;
18
14
  }
19
15
  interface IconGridSectionProps {
20
- eyebrow?: string;
21
- title: string;
22
- subtitle?: string;
23
- items: IconGridItem[];
24
- tone?: MarketingSectionTone;
25
- padding?: MarketingSectionPadding;
26
- columns?: 2 | 3 | 4;
27
- iconRole?: IconGridSectionRole;
16
+ eyebrow?: string;
17
+ title: string;
18
+ subtitle?: string;
19
+ items: IconGridItem[];
20
+ tone?: MarketingSectionTone;
21
+ padding?: MarketingSectionPadding;
22
+ columns?: 2 | 3 | 4;
23
+ iconRole?: IconGridSectionRole;
28
24
  }
29
25
  declare const itemVariants: (props?: ({
30
- iconRole?: "iconFirst" | "listing" | "support" | null | undefined;
31
- } & class_variance_authority_types0.ClassProp) | undefined) => string;
32
- type IconGridSectionRole = VariantProps<typeof itemVariants>['iconRole'];
33
- declare function IconGridSection({
34
- eyebrow,
35
- title,
36
- subtitle,
37
- items,
38
- tone,
39
- padding,
40
- columns,
41
- iconRole
42
- }: IconGridSectionProps): react_jsx_runtime0.JSX.Element;
43
- //#endregion
44
- export { IconGridItem, IconGridSection, IconGridSectionRole };
26
+ iconRole?: "iconFirst" | "listing" | "support" | null | undefined;
27
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
28
+ export type IconGridSectionRole = VariantProps<typeof itemVariants>['iconRole'];
29
+ export declare function IconGridSection({ eyebrow, title, subtitle, items, tone, padding, columns, iconRole, }: IconGridSectionProps): import("react/jsx-runtime").JSX.Element;
30
+ export {};
45
31
  //# sourceMappingURL=IconGridSection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IconGridSection.d.ts","names":[],"sources":["../../../../src/components/marketing/sections/IconGridSection.tsx"],"mappings":";;;;;;;KAWK,aAAA,GAAgB,OAAA,CAAM,aAAA;EAAgB,SAAA;EAAoB,IAAA;AAAA;AAAA,UAE9C,YAAA;EACf,IAAA,EAAM,aAAA;EACN,KAAA;EACA,WAAA;EACA,aAAA;EACA,IAAA,GAAO,iBAAA;AAAA;AAAA,UAGC,oBAAA;EACR,OAAA;EACA,KAAA;EACA,QAAA;EACA,KAAA,EAAO,YAAA;EACP,IAAA,GAAO,oBAAA;EACP,OAAA,GAAU,uBAAA;EACV,OAAA;EACA,QAAA,GAAW,mBAAA;AAAA;AAAA,cAGP,YAAA,GAAY,KAAA;;IAShB,+BAAA,CAAA,SAAA;AAAA,KAEU,mBAAA,GAAsB,YAAA,QAAoB,YAAA;AAAA,iBAEtC,eAAA,CAAA;EACd,OAAA;EACA,KAAA;EACA,QAAA;EACA,KAAA;EACA,IAAA;EACA,OAAA;EACA,OAAA;EACA;AAAA,GACC,oBAAA,GAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"IconGridSection.d.ts","sourceRoot":"","sources":["../../../../src/components/marketing/sections/IconGridSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EAC1B,MAAM,iCAAiC,CAAC;AAGzC,KAAK,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEhF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B;AAED,UAAU,oBAAoB;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC;AAED,QAAA,MAAM,YAAY;;8EAShB,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC;AAEhF,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,IAAgB,EAChB,OAAO,EACP,OAAW,EACX,QAAsB,GACvB,EAAE,oBAAoB,2CAoCtB"}
@@ -1,44 +1,58 @@
1
- import { MarketingCardsSection, MarketingIconCard } from "@contractspec/lib.design-system";
2
- import { Muted } from "@contractspec/lib.ui-kit-web/ui/typography";
3
- import { jsx } from "react/jsx-runtime";
4
- import "react";
5
- import { cva } from "class-variance-authority";
1
+ // @bun
2
+ var __require = import.meta.require;
6
3
 
7
- //#region src/components/marketing/sections/IconGridSection.tsx
8
- const itemVariants = cva("", {
9
- variants: { iconRole: {
10
- iconFirst: "",
11
- listing: "items-start",
12
- support: "items-start"
13
- } },
14
- defaultVariants: { iconRole: "iconFirst" }
4
+ // src/components/marketing/sections/IconGridSection.tsx
5
+ import { cva } from "class-variance-authority";
6
+ import {
7
+ MarketingCardsSection,
8
+ MarketingIconCard
9
+ } from "@contractspec/lib.design-system";
10
+ import { Muted } from "@contractspec/lib.ui-kit-web/ui/typography";
11
+ import { jsxDEV } from "react/jsx-dev-runtime";
12
+ var itemVariants = cva("", {
13
+ variants: {
14
+ iconRole: {
15
+ iconFirst: "",
16
+ listing: "items-start",
17
+ support: "items-start"
18
+ }
19
+ },
20
+ defaultVariants: { iconRole: "iconFirst" }
15
21
  });
16
- function IconGridSection({ eyebrow, title, subtitle, items, tone = "default", padding, columns = 3, iconRole = "iconFirst" }) {
17
- return /* @__PURE__ */ jsx(MarketingCardsSection, {
18
- tone,
19
- padding,
20
- eyebrow: eyebrow ? /* @__PURE__ */ jsx(Muted, {
21
- className: "text-xs font-semibold tracking-[0.2em] uppercase",
22
- children: eyebrow
23
- }) : null,
24
- title,
25
- subtitle: subtitle ? /* @__PURE__ */ jsx(Muted, {
26
- className: "text-lg",
27
- children: subtitle
28
- }) : null,
29
- columns,
30
- children: items.map((card) => /* @__PURE__ */ jsx(MarketingIconCard, {
31
- icon: card.icon,
32
- title: card.title,
33
- description: card.description,
34
- tone: card.tone,
35
- iconClassName: card.iconClassName,
36
- variant: iconRole === "listing" ? "listing" : iconRole === "support" ? "support" : "iconFirst",
37
- className: itemVariants({ iconRole })
38
- }, card.title))
39
- });
22
+ function IconGridSection({
23
+ eyebrow,
24
+ title,
25
+ subtitle,
26
+ items,
27
+ tone = "default",
28
+ padding,
29
+ columns = 3,
30
+ iconRole = "iconFirst"
31
+ }) {
32
+ return /* @__PURE__ */ jsxDEV(MarketingCardsSection, {
33
+ tone,
34
+ padding,
35
+ eyebrow: eyebrow ? /* @__PURE__ */ jsxDEV(Muted, {
36
+ className: "text-xs font-semibold tracking-[0.2em] uppercase",
37
+ children: eyebrow
38
+ }, undefined, false, undefined, this) : null,
39
+ title,
40
+ subtitle: subtitle ? /* @__PURE__ */ jsxDEV(Muted, {
41
+ className: "text-lg",
42
+ children: subtitle
43
+ }, undefined, false, undefined, this) : null,
44
+ columns,
45
+ children: items.map((card) => /* @__PURE__ */ jsxDEV(MarketingIconCard, {
46
+ icon: card.icon,
47
+ title: card.title,
48
+ description: card.description,
49
+ tone: card.tone,
50
+ iconClassName: card.iconClassName,
51
+ variant: iconRole === "listing" ? "listing" : iconRole === "support" ? "support" : "iconFirst",
52
+ className: itemVariants({ iconRole })
53
+ }, card.title, false, undefined, this))
54
+ }, undefined, false, undefined, this);
40
55
  }
41
-
42
- //#endregion
43
- export { IconGridSection };
44
- //# sourceMappingURL=IconGridSection.js.map
56
+ export {
57
+ IconGridSection
58
+ };
@@ -1,7 +1,2 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
-
3
- //#region src/components/marketing/sections/OutputsSection.d.ts
4
- declare function OutputsSection(): react_jsx_runtime0.JSX.Element;
5
- //#endregion
6
- export { OutputsSection };
1
+ export declare function OutputsSection(): import("react/jsx-runtime").JSX.Element;
7
2
  //# sourceMappingURL=OutputsSection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OutputsSection.d.ts","names":[],"sources":["../../../../src/components/marketing/sections/OutputsSection.tsx"],"mappings":";;;iBAuCgB,cAAA,CAAA,GAAc,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"OutputsSection.d.ts","sourceRoot":"","sources":["../../../../src/components/marketing/sections/OutputsSection.tsx"],"names":[],"mappings":"AAuCA,wBAAgB,cAAc,4CAmB7B"}