@contractspec/bundle.marketing 1.12.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.
- package/.turbo/turbo-build$colon$types.log +1 -0
- package/.turbo/turbo-build.log +175 -0
- package/.turbo/turbo-lint.log +3 -0
- package/AGENTS.md +36 -0
- package/CHANGELOG.md +416 -0
- package/README.md +57 -0
- package/dist/components/marketing/ChangelogPage.d.ts +21 -0
- package/dist/components/marketing/ChangelogPage.d.ts.map +1 -0
- package/dist/components/marketing/ChangelogPage.js +65 -0
- package/dist/components/marketing/ChangelogPage.js.map +1 -0
- package/dist/components/marketing/CofounderPage.d.ts +7 -0
- package/dist/components/marketing/CofounderPage.d.ts.map +1 -0
- package/dist/components/marketing/CofounderPage.js +468 -0
- package/dist/components/marketing/CofounderPage.js.map +1 -0
- package/dist/components/marketing/ContactClient.d.ts +7 -0
- package/dist/components/marketing/ContactClient.d.ts.map +1 -0
- package/dist/components/marketing/ContactClient.js +158 -0
- package/dist/components/marketing/ContactClient.js.map +1 -0
- package/dist/components/marketing/ContributePage.d.ts +9 -0
- package/dist/components/marketing/ContributePage.d.ts.map +1 -0
- package/dist/components/marketing/ContributePage.js +362 -0
- package/dist/components/marketing/ContributePage.js.map +1 -0
- package/dist/components/marketing/DesignPartnerPage.d.ts +9 -0
- package/dist/components/marketing/DesignPartnerPage.d.ts.map +1 -0
- package/dist/components/marketing/DesignPartnerPage.js +215 -0
- package/dist/components/marketing/DesignPartnerPage.js.map +1 -0
- package/dist/components/marketing/LandingPage.d.ts +7 -0
- package/dist/components/marketing/LandingPage.d.ts.map +1 -0
- package/dist/components/marketing/LandingPage.js +38 -0
- package/dist/components/marketing/LandingPage.js.map +1 -0
- package/dist/components/marketing/PricingClient.d.ts +7 -0
- package/dist/components/marketing/PricingClient.d.ts.map +1 -0
- package/dist/components/marketing/PricingClient.js +521 -0
- package/dist/components/marketing/PricingClient.js.map +1 -0
- package/dist/components/marketing/ProductClientPage.d.ts +7 -0
- package/dist/components/marketing/ProductClientPage.d.ts.map +1 -0
- package/dist/components/marketing/ProductClientPage.js +460 -0
- package/dist/components/marketing/ProductClientPage.js.map +1 -0
- package/dist/components/marketing/index.d.ts +11 -0
- package/dist/components/marketing/index.js +12 -0
- package/dist/components/marketing/pricing-thinking-modal.d.ts +16 -0
- package/dist/components/marketing/pricing-thinking-modal.d.ts.map +1 -0
- package/dist/components/marketing/pricing-thinking-modal.js +202 -0
- package/dist/components/marketing/pricing-thinking-modal.js.map +1 -0
- package/dist/components/marketing/sections/AudienceSection.d.ts +7 -0
- package/dist/components/marketing/sections/AudienceSection.d.ts.map +1 -0
- package/dist/components/marketing/sections/AudienceSection.js +68 -0
- package/dist/components/marketing/sections/AudienceSection.js.map +1 -0
- package/dist/components/marketing/sections/CorePositioningSection.d.ts +7 -0
- package/dist/components/marketing/sections/CorePositioningSection.d.ts.map +1 -0
- package/dist/components/marketing/sections/CorePositioningSection.js +59 -0
- package/dist/components/marketing/sections/CorePositioningSection.js.map +1 -0
- package/dist/components/marketing/sections/CtaSection.d.ts +7 -0
- package/dist/components/marketing/sections/CtaSection.d.ts.map +1 -0
- package/dist/components/marketing/sections/CtaSection.js +54 -0
- package/dist/components/marketing/sections/CtaSection.js.map +1 -0
- package/dist/components/marketing/sections/DevelopersSection.d.ts +7 -0
- package/dist/components/marketing/sections/DevelopersSection.d.ts.map +1 -0
- package/dist/components/marketing/sections/DevelopersSection.js +45 -0
- package/dist/components/marketing/sections/DevelopersSection.js.map +1 -0
- package/dist/components/marketing/sections/FearsSection.d.ts +7 -0
- package/dist/components/marketing/sections/FearsSection.d.ts.map +1 -0
- package/dist/components/marketing/sections/FearsSection.js +48 -0
- package/dist/components/marketing/sections/FearsSection.js.map +1 -0
- package/dist/components/marketing/sections/HeroMarketingSection.d.ts +7 -0
- package/dist/components/marketing/sections/HeroMarketingSection.d.ts.map +1 -0
- package/dist/components/marketing/sections/HeroMarketingSection.js +77 -0
- package/dist/components/marketing/sections/HeroMarketingSection.js.map +1 -0
- package/dist/components/marketing/sections/IconGridSection.d.ts +45 -0
- package/dist/components/marketing/sections/IconGridSection.d.ts.map +1 -0
- package/dist/components/marketing/sections/IconGridSection.js +44 -0
- package/dist/components/marketing/sections/IconGridSection.js.map +1 -0
- package/dist/components/marketing/sections/OutputsSection.d.ts +7 -0
- package/dist/components/marketing/sections/OutputsSection.d.ts.map +1 -0
- package/dist/components/marketing/sections/OutputsSection.js +59 -0
- package/dist/components/marketing/sections/OutputsSection.js.map +1 -0
- package/dist/components/marketing/sections/ProblemSection.d.ts +7 -0
- package/dist/components/marketing/sections/ProblemSection.d.ts.map +1 -0
- package/dist/components/marketing/sections/ProblemSection.js +46 -0
- package/dist/components/marketing/sections/ProblemSection.js.map +1 -0
- package/dist/components/marketing/sections/SolutionSection.d.ts +7 -0
- package/dist/components/marketing/sections/SolutionSection.d.ts.map +1 -0
- package/dist/components/marketing/sections/SolutionSection.js +46 -0
- package/dist/components/marketing/sections/SolutionSection.js.map +1 -0
- package/dist/components/marketing/sections/StepsSection.d.ts +7 -0
- package/dist/components/marketing/sections/StepsSection.d.ts.map +1 -0
- package/dist/components/marketing/sections/StepsSection.js +52 -0
- package/dist/components/marketing/sections/StepsSection.js.map +1 -0
- package/dist/components/marketing/waitlist-section.d.ts +15 -0
- package/dist/components/marketing/waitlist-section.d.ts.map +1 -0
- package/dist/components/marketing/waitlist-section.js +578 -0
- package/dist/components/marketing/waitlist-section.js.map +1 -0
- package/dist/components/templates/TemplatesClientPage.d.ts +7 -0
- package/dist/components/templates/TemplatesClientPage.d.ts.map +1 -0
- package/dist/components/templates/TemplatesClientPage.js +625 -0
- package/dist/components/templates/TemplatesClientPage.js.map +1 -0
- package/dist/components/templates/TemplatesPage.d.ts +7 -0
- package/dist/components/templates/TemplatesPage.d.ts.map +1 -0
- package/dist/components/templates/TemplatesPage.js +125 -0
- package/dist/components/templates/TemplatesPage.js.map +1 -0
- package/dist/components/templates/TemplatesPreviewModal.d.ts +15 -0
- package/dist/components/templates/TemplatesPreviewModal.d.ts.map +1 -0
- package/dist/components/templates/TemplatesPreviewModal.js +137 -0
- package/dist/components/templates/TemplatesPreviewModal.js.map +1 -0
- package/dist/components/templates/index.d.ts +4 -0
- package/dist/components/templates/index.js +5 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.js +28 -0
- package/dist/libs/email/client.d.ts +15 -0
- package/dist/libs/email/client.d.ts.map +1 -0
- package/dist/libs/email/client.js +113 -0
- package/dist/libs/email/client.js.map +1 -0
- package/dist/libs/email/contact.d.ts +7 -0
- package/dist/libs/email/contact.d.ts.map +1 -0
- package/dist/libs/email/contact.js +71 -0
- package/dist/libs/email/contact.js.map +1 -0
- package/dist/libs/email/newsletter.d.ts +7 -0
- package/dist/libs/email/newsletter.d.ts.map +1 -0
- package/dist/libs/email/newsletter.js +95 -0
- package/dist/libs/email/newsletter.js.map +1 -0
- package/dist/libs/email/types.d.ts +53 -0
- package/dist/libs/email/types.d.ts.map +1 -0
- package/dist/libs/email/types.js +1 -0
- package/dist/libs/email/utils.d.ts +6 -0
- package/dist/libs/email/utils.d.ts.map +1 -0
- package/dist/libs/email/utils.js +7 -0
- package/dist/libs/email/utils.js.map +1 -0
- package/dist/libs/email/waitlist-application.d.ts +7 -0
- package/dist/libs/email/waitlist-application.d.ts.map +1 -0
- package/dist/libs/email/waitlist-application.js +170 -0
- package/dist/libs/email/waitlist-application.js.map +1 -0
- package/dist/libs/email/waitlist.d.ts +7 -0
- package/dist/libs/email/waitlist.d.ts.map +1 -0
- package/dist/libs/email/waitlist.js +105 -0
- package/dist/libs/email/waitlist.js.map +1 -0
- package/dist/libs/pricing-examples.d.ts +22 -0
- package/dist/libs/pricing-examples.d.ts.map +1 -0
- package/dist/libs/pricing-examples.js +21 -0
- package/dist/libs/pricing-examples.js.map +1 -0
- package/dist/registry/engine.d.ts +17 -0
- package/dist/registry/engine.d.ts.map +1 -0
- package/dist/registry/engine.js +24 -0
- package/dist/registry/engine.js.map +1 -0
- package/dist/registry/factory.d.ts +64 -0
- package/dist/registry/factory.d.ts.map +1 -0
- package/dist/registry/factory.js +61 -0
- package/dist/registry/factory.js.map +1 -0
- package/dist/registry/index.d.ts +8 -0
- package/dist/registry/index.js +8 -0
- package/dist/registry/registry-docs.d.ts +15 -0
- package/dist/registry/registry-docs.d.ts.map +1 -0
- package/dist/registry/registry-docs.js +305 -0
- package/dist/registry/registry-docs.js.map +1 -0
- package/dist/registry/registry-landing.d.ts +19 -0
- package/dist/registry/registry-landing.d.ts.map +1 -0
- package/dist/registry/registry-landing.js +95 -0
- package/dist/registry/registry-landing.js.map +1 -0
- package/dist/registry/registry.d.ts +30 -0
- package/dist/registry/registry.d.ts.map +1 -0
- package/dist/registry/registry.js +61 -0
- package/dist/registry/registry.js.map +1 -0
- package/dist/registry/types.d.ts +19 -0
- package/dist/registry/types.d.ts.map +1 -0
- package/dist/registry/types.js +0 -0
- package/dist/registry/utils.d.ts +31 -0
- package/dist/registry/utils.d.ts.map +1 -0
- package/dist/registry/utils.js +54 -0
- package/dist/registry/utils.js.map +1 -0
- package/package.json +151 -0
- package/src/components/marketing/ChangelogPage.tsx +110 -0
- package/src/components/marketing/CofounderPage.tsx +409 -0
- package/src/components/marketing/ContactClient.tsx +174 -0
- package/src/components/marketing/ContributePage.tsx +319 -0
- package/src/components/marketing/DesignPartnerPage.tsx +181 -0
- package/src/components/marketing/LandingPage.tsx +30 -0
- package/src/components/marketing/PricingClient.tsx +446 -0
- package/src/components/marketing/ProductClientPage.tsx +391 -0
- package/src/components/marketing/index.ts +10 -0
- package/src/components/marketing/pricing-thinking-modal.tsx +224 -0
- package/src/components/marketing/sections/AudienceSection.tsx +66 -0
- package/src/components/marketing/sections/CorePositioningSection.tsx +44 -0
- package/src/components/marketing/sections/CtaSection.tsx +57 -0
- package/src/components/marketing/sections/DevelopersSection.tsx +38 -0
- package/src/components/marketing/sections/FearsSection.tsx +45 -0
- package/src/components/marketing/sections/HeroMarketingSection.tsx +73 -0
- package/src/components/marketing/sections/IconGridSection.tsx +91 -0
- package/src/components/marketing/sections/OutputsSection.tsx +59 -0
- package/src/components/marketing/sections/ProblemSection.tsx +47 -0
- package/src/components/marketing/sections/SolutionSection.tsx +47 -0
- package/src/components/marketing/sections/StepsSection.tsx +55 -0
- package/src/components/marketing/waitlist-section.tsx +606 -0
- package/src/components/templates/TemplatesClientPage.tsx +711 -0
- package/src/components/templates/TemplatesPage.tsx +129 -0
- package/src/components/templates/TemplatesPreviewModal.tsx +260 -0
- package/src/components/templates/index.ts +3 -0
- package/src/index.ts +15 -0
- package/src/libs/email/client.test.ts +107 -0
- package/src/libs/email/client.ts +146 -0
- package/src/libs/email/contact.ts +80 -0
- package/src/libs/email/newsletter.ts +108 -0
- package/src/libs/email/types.ts +59 -0
- package/src/libs/email/utils.ts +8 -0
- package/src/libs/email/waitlist-application.ts +192 -0
- package/src/libs/email/waitlist.ts +118 -0
- package/src/libs/pricing-examples.ts +19 -0
- package/src/registry/engine.ts +38 -0
- package/src/registry/factory.ts +110 -0
- package/src/registry/index.ts +7 -0
- package/src/registry/registry-docs.ts +843 -0
- package/src/registry/registry-landing.ts +118 -0
- package/src/registry/registry.ts +85 -0
- package/src/registry/types.ts +17 -0
- package/src/registry/utils.ts +99 -0
- package/tsconfig.json +13 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/tsdown.config.js +10 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type Owner,
|
|
3
|
+
OwnersEnum,
|
|
4
|
+
type Stability,
|
|
5
|
+
StabilityEnum,
|
|
6
|
+
type Tag,
|
|
7
|
+
TagsEnum,
|
|
8
|
+
} from '@contractspec/lib.contracts/ownership';
|
|
9
|
+
import type {
|
|
10
|
+
PresentationSourceComponentReact,
|
|
11
|
+
PresentationSpec,
|
|
12
|
+
PresentationTarget,
|
|
13
|
+
} from '@contractspec/lib.contracts/presentations';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Options for creating a React component presentation.
|
|
17
|
+
*/
|
|
18
|
+
export interface CreateComponentPresentationOptions {
|
|
19
|
+
/** Fully-qualified spec key (e.g., "web-landing.home") */
|
|
20
|
+
key: string;
|
|
21
|
+
/** Component key resolved by host componentMap */
|
|
22
|
+
componentKey: string;
|
|
23
|
+
/** Short human-friendly summary */
|
|
24
|
+
description: string;
|
|
25
|
+
/** Business goal: why this exists */
|
|
26
|
+
goal: string;
|
|
27
|
+
/** Background, constraints, scope edges */
|
|
28
|
+
context: string;
|
|
29
|
+
/** Breaking changes => bump version @default '1.0.0' */
|
|
30
|
+
version?: string;
|
|
31
|
+
/** Lifecycle marker @default StabilityEnum.Stable */
|
|
32
|
+
stability?: Stability;
|
|
33
|
+
/** Owners for CODEOWNERS / on-call @default [OwnersEnum.PlatformCore] */
|
|
34
|
+
owners?: Owner[];
|
|
35
|
+
/** Search tags, grouping, docs navigation @default [] */
|
|
36
|
+
tags?: Tag[];
|
|
37
|
+
/** Render targets @default ['react', 'markdown'] */
|
|
38
|
+
targets?: PresentationTarget[];
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Creates a PresentationSpec for a React component with all required metadata.
|
|
43
|
+
*
|
|
44
|
+
* @param opts - Configuration options for the presentation
|
|
45
|
+
* @returns A fully-typed PresentationSpec
|
|
46
|
+
*/
|
|
47
|
+
export function createComponentPresentation(
|
|
48
|
+
opts: CreateComponentPresentationOptions
|
|
49
|
+
): PresentationSpec {
|
|
50
|
+
const source: PresentationSourceComponentReact = {
|
|
51
|
+
type: 'component',
|
|
52
|
+
framework: 'react',
|
|
53
|
+
componentKey: opts.componentKey,
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
return {
|
|
57
|
+
meta: {
|
|
58
|
+
key: opts.key,
|
|
59
|
+
version: opts.version ?? '1.0.0',
|
|
60
|
+
description: opts.description,
|
|
61
|
+
goal: opts.goal,
|
|
62
|
+
context: opts.context,
|
|
63
|
+
stability: opts.stability ?? StabilityEnum.Stable,
|
|
64
|
+
owners: opts.owners ?? [OwnersEnum.PlatformCore],
|
|
65
|
+
tags: opts.tags ?? [],
|
|
66
|
+
},
|
|
67
|
+
source,
|
|
68
|
+
targets: opts.targets ?? ['react', 'markdown'],
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Helper to derive tags from a URL path.
|
|
74
|
+
* Example: "/docs/libraries/ai-agent" -> ["docs", "libraries", "ai-agent"]
|
|
75
|
+
*/
|
|
76
|
+
export function tagsFromPath(path: string): Tag[] {
|
|
77
|
+
return path
|
|
78
|
+
.split('/')
|
|
79
|
+
.filter((segment) => segment.length > 0)
|
|
80
|
+
.map((segment) => segment as Tag);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Default goal for documentation pages.
|
|
85
|
+
*/
|
|
86
|
+
export const DOCS_GOAL =
|
|
87
|
+
'Educate developers on ContractSpec usage and concepts';
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Default context for documentation pages.
|
|
91
|
+
*/
|
|
92
|
+
export const DOCS_CONTEXT =
|
|
93
|
+
'Part of the ContractSpec documentation site, rendered on contractspec.io';
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Default goal for marketing/landing pages.
|
|
97
|
+
*/
|
|
98
|
+
export const MARKETING_GOAL =
|
|
99
|
+
'Convert visitors into ContractSpec users and customers';
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Default context for marketing pages.
|
|
103
|
+
*/
|
|
104
|
+
export const MARKETING_CONTEXT =
|
|
105
|
+
'Marketing content on contractspec.io, designed for conversion';
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Default tags for documentation pages.
|
|
109
|
+
*/
|
|
110
|
+
export const DOCS_TAGS: Tag[] = [TagsEnum.Docs];
|