@mdxui/named 6.0.0 → 6.1.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/dist/schemas/index.d.ts +50 -0
- package/dist/schemas/index.js +235 -0
- package/dist/schemas/index.js.map +1 -0
- package/package.json +18 -11
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { AnimationConfig, CTAButton, CTAProps, ContactProps, FAQItem, FAQProps, FeatureItem, Feature, FeaturesProps, FooterProps, FormField, HeroProps, IntegrationNode, IntegrationProps, NavLink, NavigationProps, PricingProps, PricingTiersProps, PricingFeature, PricingTierFeature, PricingTier, ProblemProps, QuickLink, SocialLink, WorkflowItem } from '../components/index.js';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
4
|
+
import 'react-icons';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Pure-Zod schemas for @mdxui/named section components.
|
|
8
|
+
*
|
|
9
|
+
* This subpath has NO React, no @mdxui/primitives, and no next/* imports —
|
|
10
|
+
* consumers (e.g. dot-do/named-agents) can validate prop data at runtime
|
|
11
|
+
* without pulling Radix, React, or the rest of the UI tree into their build.
|
|
12
|
+
*
|
|
13
|
+
* Each `XxxPropsSchema` is annotated as `z.ZodType<XxxProps>` and cast back
|
|
14
|
+
* (annotate-and-cast pattern) so any future drift between the TS interface
|
|
15
|
+
* and the Zod schema is caught at typecheck — without triggering the
|
|
16
|
+
* variance issues that `satisfies` raises on function / ReactNode fields.
|
|
17
|
+
*
|
|
18
|
+
* Authoring reference: `packages/mdxui/src/zod.ts`.
|
|
19
|
+
* Function / ReactNode handling reference: `packages/mdxui/src/ui/shell/shell.ts`.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
declare const HeroPropsSchema: z.ZodType<HeroProps>;
|
|
23
|
+
declare const FAQItemSchema: z.ZodType<FAQItem>;
|
|
24
|
+
declare const FAQPropsSchema: z.ZodType<FAQProps>;
|
|
25
|
+
declare const FeatureItemSchema: z.ZodType<FeatureItem>;
|
|
26
|
+
declare const FeatureSchema: z.ZodType<Feature>;
|
|
27
|
+
declare const FeaturesPropsSchema: z.ZodType<FeaturesProps>;
|
|
28
|
+
declare const PricingFeatureSchema: z.ZodType<PricingFeature>;
|
|
29
|
+
declare const PricingPropsSchema: z.ZodType<PricingProps>;
|
|
30
|
+
declare const PricingTierFeatureSchema: z.ZodType<PricingTierFeature>;
|
|
31
|
+
declare const PricingTierSchema: z.ZodType<PricingTier>;
|
|
32
|
+
declare const PricingTiersPropsSchema: z.ZodType<PricingTiersProps>;
|
|
33
|
+
declare const Pricing1PropsSchema: z.ZodType<PricingProps, unknown, z.core.$ZodTypeInternals<PricingProps, unknown>>;
|
|
34
|
+
declare const Pricing2PropsSchema: z.ZodType<PricingTiersProps, unknown, z.core.$ZodTypeInternals<PricingTiersProps, unknown>>;
|
|
35
|
+
declare const CTAButtonSchema: z.ZodType<CTAButton>;
|
|
36
|
+
declare const CTAPropsSchema: z.ZodType<CTAProps>;
|
|
37
|
+
declare const FormFieldSchema: z.ZodType<FormField>;
|
|
38
|
+
declare const ContactPropsSchema: z.ZodType<ContactProps>;
|
|
39
|
+
declare const WorkflowItemSchema: z.ZodType<WorkflowItem>;
|
|
40
|
+
declare const ProblemPropsSchema: z.ZodType<ProblemProps>;
|
|
41
|
+
declare const IntegrationNodeSchema: z.ZodType<IntegrationNode>;
|
|
42
|
+
declare const AnimationConfigSchema: z.ZodType<AnimationConfig>;
|
|
43
|
+
declare const IntegrationPropsSchema: z.ZodType<IntegrationProps>;
|
|
44
|
+
declare const NavLinkSchema: z.ZodType<NavLink>;
|
|
45
|
+
declare const NavigationPropsSchema: z.ZodType<NavigationProps>;
|
|
46
|
+
declare const SocialLinkSchema: z.ZodType<SocialLink>;
|
|
47
|
+
declare const QuickLinkSchema: z.ZodType<QuickLink>;
|
|
48
|
+
declare const FooterPropsSchema: z.ZodType<FooterProps>;
|
|
49
|
+
|
|
50
|
+
export { AnimationConfig, AnimationConfigSchema, CTAButton, CTAButtonSchema, CTAProps, CTAPropsSchema, ContactProps, ContactPropsSchema, FAQItem, FAQItemSchema, FAQProps, FAQPropsSchema, Feature, FeatureItem, FeatureItemSchema, FeatureSchema, FeaturesProps, FeaturesPropsSchema, FooterProps, FooterPropsSchema, FormField, FormFieldSchema, HeroProps, HeroPropsSchema, IntegrationNode, IntegrationNodeSchema, IntegrationProps, IntegrationPropsSchema, NavLink, NavLinkSchema, NavigationProps, NavigationPropsSchema, Pricing1PropsSchema, Pricing2PropsSchema, PricingFeature, PricingFeatureSchema, PricingProps, PricingPropsSchema, PricingTier, PricingTierFeature, PricingTierFeatureSchema, PricingTierSchema, PricingTiersProps, PricingTiersPropsSchema, ProblemProps, ProblemPropsSchema, QuickLink, QuickLinkSchema, SocialLink, SocialLinkSchema, WorkflowItem, WorkflowItemSchema };
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
// src/schemas/index.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
var HeroPropsSchema = z.object({
|
|
4
|
+
badgeEmoji: z.string().optional(),
|
|
5
|
+
badgeText: z.string().optional(),
|
|
6
|
+
badgeHref: z.string().optional(),
|
|
7
|
+
heading: z.string().optional(),
|
|
8
|
+
description: z.string().optional(),
|
|
9
|
+
ctaText: z.string().optional(),
|
|
10
|
+
ctaHref: z.string().optional(),
|
|
11
|
+
ctaVariant: z.enum(["default", "secondary", "outline", "ghost"]).optional(),
|
|
12
|
+
rightImageSrc: z.string().optional(),
|
|
13
|
+
rightImageAlt: z.string().optional(),
|
|
14
|
+
rightImageSizes: z.string().optional(),
|
|
15
|
+
showIconOverlay: z.boolean().optional(),
|
|
16
|
+
marqueeTitle: z.string().optional(),
|
|
17
|
+
marqueeImages: z.array(z.string()).optional(),
|
|
18
|
+
className: z.string().optional()
|
|
19
|
+
}).describe("Hero section props");
|
|
20
|
+
var FAQItemSchema = z.object({
|
|
21
|
+
question: z.string(),
|
|
22
|
+
answer: z.string()
|
|
23
|
+
}).describe("FAQ item");
|
|
24
|
+
var FAQPropsSchema = z.object({
|
|
25
|
+
heading: z.string().optional(),
|
|
26
|
+
faqs: z.array(FAQItemSchema).optional(),
|
|
27
|
+
backgroundColor: z.string().optional(),
|
|
28
|
+
className: z.string().optional()
|
|
29
|
+
}).describe("FAQ section props");
|
|
30
|
+
var FeatureItemSchema = z.object({
|
|
31
|
+
text: z.string()
|
|
32
|
+
}).describe("Feature item (bullet)");
|
|
33
|
+
var FeatureSchema = z.object({
|
|
34
|
+
title: z.string(),
|
|
35
|
+
description: z.string(),
|
|
36
|
+
items: z.array(FeatureItemSchema),
|
|
37
|
+
code: z.string(),
|
|
38
|
+
badge: z.string()
|
|
39
|
+
}).describe("Feature card");
|
|
40
|
+
var FeaturesPropsSchema = z.object({
|
|
41
|
+
heading: z.string().optional(),
|
|
42
|
+
description: z.string().optional(),
|
|
43
|
+
features: z.array(FeatureSchema).optional(),
|
|
44
|
+
className: z.string().optional()
|
|
45
|
+
}).describe("Features section props");
|
|
46
|
+
var PricingFeatureSchema = z.object({
|
|
47
|
+
text: z.string()
|
|
48
|
+
}).describe("Pricing feature bullet");
|
|
49
|
+
var PricingPropsSchema = z.object({
|
|
50
|
+
heading: z.string().optional(),
|
|
51
|
+
subheading: z.string().optional(),
|
|
52
|
+
price: z.string().optional(),
|
|
53
|
+
priceUnit: z.string().optional(),
|
|
54
|
+
trialText: z.string().optional(),
|
|
55
|
+
ctaText: z.string().optional(),
|
|
56
|
+
ctaHref: z.string().optional(),
|
|
57
|
+
featuresHeading: z.string().optional(),
|
|
58
|
+
features: z.array(PricingFeatureSchema).optional(),
|
|
59
|
+
backgroundColor: z.string().optional(),
|
|
60
|
+
securityNote: z.string().optional(),
|
|
61
|
+
className: z.string().optional()
|
|
62
|
+
}).describe("Single-tier pricing section props");
|
|
63
|
+
var PricingTierFeatureSchema = z.object({
|
|
64
|
+
text: z.string()
|
|
65
|
+
}).describe("Pricing tier feature bullet");
|
|
66
|
+
var PricingTierSchema = z.object({
|
|
67
|
+
title: z.string(),
|
|
68
|
+
description: z.string(),
|
|
69
|
+
price: z.string(),
|
|
70
|
+
priceUnit: z.string(),
|
|
71
|
+
ctaText: z.string(),
|
|
72
|
+
ctaVariant: z.enum(["primary", "secondary"]).optional(),
|
|
73
|
+
ctaHref: z.string().optional(),
|
|
74
|
+
features: z.array(PricingTierFeatureSchema),
|
|
75
|
+
image: z.string().optional(),
|
|
76
|
+
imageAlt: z.string().optional(),
|
|
77
|
+
featured: z.boolean().optional()
|
|
78
|
+
}).describe("Pricing tier card");
|
|
79
|
+
var PricingTiersPropsSchema = z.object({
|
|
80
|
+
heading: z.string().optional(),
|
|
81
|
+
subheading: z.string().optional(),
|
|
82
|
+
tiers: z.array(PricingTierSchema).optional(),
|
|
83
|
+
backgroundColor: z.string().optional(),
|
|
84
|
+
securityNote: z.string().optional(),
|
|
85
|
+
className: z.string().optional()
|
|
86
|
+
}).describe("Multi-tier pricing section props");
|
|
87
|
+
var Pricing1PropsSchema = PricingPropsSchema;
|
|
88
|
+
var Pricing2PropsSchema = PricingTiersPropsSchema;
|
|
89
|
+
var CTAButtonSchema = z.object({
|
|
90
|
+
text: z.string(),
|
|
91
|
+
href: z.string(),
|
|
92
|
+
variant: z.enum(["primary", "secondary"]).optional(),
|
|
93
|
+
showArrow: z.boolean().optional()
|
|
94
|
+
}).describe("CTA button");
|
|
95
|
+
var CTAPropsSchema = z.object({
|
|
96
|
+
heading: z.string().optional(),
|
|
97
|
+
subheading: z.string().optional(),
|
|
98
|
+
buttons: z.array(CTAButtonSchema).optional(),
|
|
99
|
+
backgroundColor: z.enum(["light", "blue", "green", "purple", "orange"]).optional(),
|
|
100
|
+
className: z.string().optional()
|
|
101
|
+
}).describe("CTA section props");
|
|
102
|
+
var FormFieldSchema = z.object({
|
|
103
|
+
id: z.string(),
|
|
104
|
+
label: z.string(),
|
|
105
|
+
type: z.enum(["text", "email", "tel", "textarea"]),
|
|
106
|
+
placeholder: z.string().optional(),
|
|
107
|
+
required: z.boolean().optional()
|
|
108
|
+
}).describe("Contact form field");
|
|
109
|
+
var ContactPropsSchema = z.object({
|
|
110
|
+
heading: z.string().optional(),
|
|
111
|
+
subheading: z.string().optional(),
|
|
112
|
+
fields: z.array(FormFieldSchema).optional(),
|
|
113
|
+
submitButtonText: z.string().optional(),
|
|
114
|
+
successMessage: z.string().optional(),
|
|
115
|
+
errorMessage: z.string().optional(),
|
|
116
|
+
// Non-translating: function fields are accepted but not deeply validated.
|
|
117
|
+
onSubmit: z.function().optional(),
|
|
118
|
+
backgroundColor: z.string().optional(),
|
|
119
|
+
className: z.string().optional()
|
|
120
|
+
}).describe("Contact section props");
|
|
121
|
+
var WorkflowItemSchema = z.object({
|
|
122
|
+
// Non-translating: react-icons IconType is a function — round-trip via z.custom.
|
|
123
|
+
icon: z.custom((v) => typeof v === "function"),
|
|
124
|
+
label: z.string()
|
|
125
|
+
}).describe("Workflow chip");
|
|
126
|
+
var ProblemPropsSchema = z.object({
|
|
127
|
+
heading: z.string().optional(),
|
|
128
|
+
headingHighlight: z.string().optional(),
|
|
129
|
+
workflows: z.array(WorkflowItemSchema).optional(),
|
|
130
|
+
subheading: z.string().optional(),
|
|
131
|
+
subheadingHighlight: z.string().optional(),
|
|
132
|
+
highlightColor: z.string().optional(),
|
|
133
|
+
marqueeDuration: z.string().optional(),
|
|
134
|
+
marqueeGap: z.string().optional(),
|
|
135
|
+
backgroundColor: z.string().optional(),
|
|
136
|
+
className: z.string().optional()
|
|
137
|
+
}).describe("Problem section props");
|
|
138
|
+
var IntegrationNodeSchema = z.object({
|
|
139
|
+
type: z.enum(["image", "icon", "component"]),
|
|
140
|
+
// Non-translating: string | React.ReactNode — accept anything, runtime user decides.
|
|
141
|
+
content: z.union([z.string(), z.any()]),
|
|
142
|
+
alt: z.string().optional(),
|
|
143
|
+
className: z.string().optional()
|
|
144
|
+
}).describe("Integration node (left/right of the beam)");
|
|
145
|
+
var AnimationConfigSchema = z.object({
|
|
146
|
+
startYOffset: z.number().optional(),
|
|
147
|
+
endYOffset: z.number().optional(),
|
|
148
|
+
curvature: z.number().optional(),
|
|
149
|
+
duration: z.number().optional(),
|
|
150
|
+
reverse: z.boolean().optional()
|
|
151
|
+
}).describe("AnimatedBeam configuration");
|
|
152
|
+
var IntegrationPropsSchema = z.object({
|
|
153
|
+
title: z.string().optional(),
|
|
154
|
+
description: z.string().optional(),
|
|
155
|
+
buttonText: z.string().optional(),
|
|
156
|
+
buttonHref: z.string().optional(),
|
|
157
|
+
leftNode: IntegrationNodeSchema,
|
|
158
|
+
rightNode: IntegrationNodeSchema,
|
|
159
|
+
beamAnimations: z.array(AnimationConfigSchema).optional(),
|
|
160
|
+
gridPatternWidth: z.number().optional(),
|
|
161
|
+
gridPatternHeight: z.number().optional(),
|
|
162
|
+
maxWidth: z.enum(["sm", "md", "lg", "xl", "2xl", "3xl", "4xl", "5xl", "6xl", "7xl"]).optional(),
|
|
163
|
+
className: z.string().optional(),
|
|
164
|
+
contentOrder: z.enum(["left", "right"]).optional()
|
|
165
|
+
}).describe("Integration section props");
|
|
166
|
+
var NavLinkSchema = z.object({
|
|
167
|
+
label: z.string(),
|
|
168
|
+
href: z.string()
|
|
169
|
+
}).describe("Nav link");
|
|
170
|
+
var NavigationPropsSchema = z.object({
|
|
171
|
+
// Non-translating: string | React.ReactNode.
|
|
172
|
+
logo: z.union([z.string(), z.any()]).optional(),
|
|
173
|
+
logoHref: z.string().optional(),
|
|
174
|
+
links: z.array(NavLinkSchema).optional(),
|
|
175
|
+
ctaText: z.string().optional(),
|
|
176
|
+
ctaHref: z.string().optional(),
|
|
177
|
+
ctaVariant: z.enum(["default", "secondary", "outline", "ghost", "link", "destructive"]).optional(),
|
|
178
|
+
className: z.string().optional(),
|
|
179
|
+
maxWidth: z.enum(["sm", "md", "lg", "xl", "2xl", "3xl", "4xl", "5xl", "6xl", "7xl", "full"]).optional(),
|
|
180
|
+
sticky: z.boolean().optional(),
|
|
181
|
+
showScrollEffect: z.boolean().optional()
|
|
182
|
+
}).describe("Navigation section props");
|
|
183
|
+
var SocialLinkSchema = z.object({
|
|
184
|
+
href: z.string(),
|
|
185
|
+
// Non-translating: react-icons IconType is a function — round-trip via z.custom.
|
|
186
|
+
icon: z.custom((v) => typeof v === "function"),
|
|
187
|
+
label: z.string()
|
|
188
|
+
}).describe("Social link");
|
|
189
|
+
var QuickLinkSchema = z.object({
|
|
190
|
+
href: z.string(),
|
|
191
|
+
label: z.string()
|
|
192
|
+
}).describe("Footer quick link");
|
|
193
|
+
var FooterPropsSchema = z.object({
|
|
194
|
+
logo: z.string().optional(),
|
|
195
|
+
description: z.string().optional(),
|
|
196
|
+
socialLinks: z.array(SocialLinkSchema).optional(),
|
|
197
|
+
quickLinks: z.array(QuickLinkSchema).optional(),
|
|
198
|
+
contactTitle: z.string().optional(),
|
|
199
|
+
emailPlaceholder: z.string().optional(),
|
|
200
|
+
// Non-translating: function field.
|
|
201
|
+
onEmailSubmit: z.function().optional(),
|
|
202
|
+
copyrightText: z.string().optional(),
|
|
203
|
+
showThemeToggle: z.boolean().optional(),
|
|
204
|
+
className: z.string().optional()
|
|
205
|
+
}).describe("Footer section props");
|
|
206
|
+
export {
|
|
207
|
+
AnimationConfigSchema,
|
|
208
|
+
CTAButtonSchema,
|
|
209
|
+
CTAPropsSchema,
|
|
210
|
+
ContactPropsSchema,
|
|
211
|
+
FAQItemSchema,
|
|
212
|
+
FAQPropsSchema,
|
|
213
|
+
FeatureItemSchema,
|
|
214
|
+
FeatureSchema,
|
|
215
|
+
FeaturesPropsSchema,
|
|
216
|
+
FooterPropsSchema,
|
|
217
|
+
FormFieldSchema,
|
|
218
|
+
HeroPropsSchema,
|
|
219
|
+
IntegrationNodeSchema,
|
|
220
|
+
IntegrationPropsSchema,
|
|
221
|
+
NavLinkSchema,
|
|
222
|
+
NavigationPropsSchema,
|
|
223
|
+
Pricing1PropsSchema,
|
|
224
|
+
Pricing2PropsSchema,
|
|
225
|
+
PricingFeatureSchema,
|
|
226
|
+
PricingPropsSchema,
|
|
227
|
+
PricingTierFeatureSchema,
|
|
228
|
+
PricingTierSchema,
|
|
229
|
+
PricingTiersPropsSchema,
|
|
230
|
+
ProblemPropsSchema,
|
|
231
|
+
QuickLinkSchema,
|
|
232
|
+
SocialLinkSchema,
|
|
233
|
+
WorkflowItemSchema
|
|
234
|
+
};
|
|
235
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schemas/index.ts"],"sourcesContent":["/**\n * Pure-Zod schemas for @mdxui/named section components.\n *\n * This subpath has NO React, no @mdxui/primitives, and no next/* imports —\n * consumers (e.g. dot-do/named-agents) can validate prop data at runtime\n * without pulling Radix, React, or the rest of the UI tree into their build.\n *\n * Each `XxxPropsSchema` is annotated as `z.ZodType<XxxProps>` and cast back\n * (annotate-and-cast pattern) so any future drift between the TS interface\n * and the Zod schema is caught at typecheck — without triggering the\n * variance issues that `satisfies` raises on function / ReactNode fields.\n *\n * Authoring reference: `packages/mdxui/src/zod.ts`.\n * Function / ReactNode handling reference: `packages/mdxui/src/ui/shell/shell.ts`.\n */\nimport { z } from 'zod'\nimport type { IconType } from 'react-icons'\n\n// Re-export the existing interfaces type-only — type-only erases at build,\n// so this entry stays runtime-clean (only `zod` survives in the JS output).\nexport type { HeroProps } from '../components/hero/hero'\nexport type { FAQItem, FAQProps } from '../components/faq/faq'\nexport type { FeatureItem, Feature, FeaturesProps } from '../components/features/features'\nexport type { PricingFeature, PricingProps } from '../components/pricing/pricing'\nexport type { PricingTierFeature, PricingTier, PricingTiersProps } from '../components/pricing/pricing-tiers'\nexport type { CTAButton, CTAProps } from '../components/cta/cta'\nexport type { FormField, ContactProps } from '../components/contact/contact'\nexport type { WorkflowItem, ProblemProps } from '../components/problem/problem'\nexport type { IntegrationNode, AnimationConfig, IntegrationProps } from '../components/integration/integration'\nexport type { NavLink, NavigationProps } from '../components/navigation/navigation'\nexport type { SocialLink, QuickLink, FooterProps } from '../components/footer/footer'\n\n// Import types for the annotate-and-cast assertions below.\nimport type { HeroProps } from '../components/hero/hero'\nimport type { FAQItem, FAQProps } from '../components/faq/faq'\nimport type { FeatureItem, Feature, FeaturesProps } from '../components/features/features'\nimport type { PricingFeature, PricingProps } from '../components/pricing/pricing'\nimport type { PricingTierFeature, PricingTier, PricingTiersProps } from '../components/pricing/pricing-tiers'\nimport type { CTAButton, CTAProps } from '../components/cta/cta'\nimport type { FormField, ContactProps } from '../components/contact/contact'\nimport type { WorkflowItem, ProblemProps } from '../components/problem/problem'\nimport type { IntegrationNode, AnimationConfig, IntegrationProps } from '../components/integration/integration'\nimport type { NavLink, NavigationProps } from '../components/navigation/navigation'\nimport type { SocialLink, QuickLink, FooterProps } from '../components/footer/footer'\n\n// =============================================================================\n// Hero\n// =============================================================================\n\nexport const HeroPropsSchema: z.ZodType<HeroProps> = z.object({\n badgeEmoji: z.string().optional(),\n badgeText: z.string().optional(),\n badgeHref: z.string().optional(),\n heading: z.string().optional(),\n description: z.string().optional(),\n ctaText: z.string().optional(),\n ctaHref: z.string().optional(),\n ctaVariant: z.enum(['default', 'secondary', 'outline', 'ghost']).optional(),\n rightImageSrc: z.string().optional(),\n rightImageAlt: z.string().optional(),\n rightImageSizes: z.string().optional(),\n showIconOverlay: z.boolean().optional(),\n marqueeTitle: z.string().optional(),\n marqueeImages: z.array(z.string()).optional(),\n className: z.string().optional(),\n}).describe('Hero section props') as z.ZodType<HeroProps>\n\n// =============================================================================\n// FAQ\n// =============================================================================\n\nexport const FAQItemSchema: z.ZodType<FAQItem> = z.object({\n question: z.string(),\n answer: z.string(),\n}).describe('FAQ item') as z.ZodType<FAQItem>\n\nexport const FAQPropsSchema: z.ZodType<FAQProps> = z.object({\n heading: z.string().optional(),\n faqs: z.array(FAQItemSchema).optional(),\n backgroundColor: z.string().optional(),\n className: z.string().optional(),\n}).describe('FAQ section props') as z.ZodType<FAQProps>\n\n// =============================================================================\n// Features\n// =============================================================================\n\nexport const FeatureItemSchema: z.ZodType<FeatureItem> = z.object({\n text: z.string(),\n}).describe('Feature item (bullet)') as z.ZodType<FeatureItem>\n\nexport const FeatureSchema: z.ZodType<Feature> = z.object({\n title: z.string(),\n description: z.string(),\n items: z.array(FeatureItemSchema),\n code: z.string(),\n badge: z.string(),\n}).describe('Feature card') as z.ZodType<Feature>\n\nexport const FeaturesPropsSchema: z.ZodType<FeaturesProps> = z.object({\n heading: z.string().optional(),\n description: z.string().optional(),\n features: z.array(FeatureSchema).optional(),\n className: z.string().optional(),\n}).describe('Features section props') as z.ZodType<FeaturesProps>\n\n// =============================================================================\n// Pricing (single-tier)\n// =============================================================================\n\nexport const PricingFeatureSchema: z.ZodType<PricingFeature> = z.object({\n text: z.string(),\n}).describe('Pricing feature bullet') as z.ZodType<PricingFeature>\n\nexport const PricingPropsSchema: z.ZodType<PricingProps> = z.object({\n heading: z.string().optional(),\n subheading: z.string().optional(),\n price: z.string().optional(),\n priceUnit: z.string().optional(),\n trialText: z.string().optional(),\n ctaText: z.string().optional(),\n ctaHref: z.string().optional(),\n featuresHeading: z.string().optional(),\n features: z.array(PricingFeatureSchema).optional(),\n backgroundColor: z.string().optional(),\n securityNote: z.string().optional(),\n className: z.string().optional(),\n}).describe('Single-tier pricing section props') as z.ZodType<PricingProps>\n\n// =============================================================================\n// PricingTiers (multi-tier)\n// =============================================================================\n\nexport const PricingTierFeatureSchema: z.ZodType<PricingTierFeature> = z.object({\n text: z.string(),\n}).describe('Pricing tier feature bullet') as z.ZodType<PricingTierFeature>\n\nexport const PricingTierSchema: z.ZodType<PricingTier> = z.object({\n title: z.string(),\n description: z.string(),\n price: z.string(),\n priceUnit: z.string(),\n ctaText: z.string(),\n ctaVariant: z.enum(['primary', 'secondary']).optional(),\n ctaHref: z.string().optional(),\n features: z.array(PricingTierFeatureSchema),\n image: z.string().optional(),\n imageAlt: z.string().optional(),\n featured: z.boolean().optional(),\n}).describe('Pricing tier card') as z.ZodType<PricingTier>\n\nexport const PricingTiersPropsSchema: z.ZodType<PricingTiersProps> = z.object({\n heading: z.string().optional(),\n subheading: z.string().optional(),\n tiers: z.array(PricingTierSchema).optional(),\n backgroundColor: z.string().optional(),\n securityNote: z.string().optional(),\n className: z.string().optional(),\n}).describe('Multi-tier pricing section props') as z.ZodType<PricingTiersProps>\n\n// Backwards-friendly aliases matching the issue's vocabulary.\nexport const Pricing1PropsSchema = PricingPropsSchema\nexport const Pricing2PropsSchema = PricingTiersPropsSchema\n\n// =============================================================================\n// CTA\n// =============================================================================\n\nexport const CTAButtonSchema: z.ZodType<CTAButton> = z.object({\n text: z.string(),\n href: z.string(),\n variant: z.enum(['primary', 'secondary']).optional(),\n showArrow: z.boolean().optional(),\n}).describe('CTA button') as z.ZodType<CTAButton>\n\nexport const CTAPropsSchema: z.ZodType<CTAProps> = z.object({\n heading: z.string().optional(),\n subheading: z.string().optional(),\n buttons: z.array(CTAButtonSchema).optional(),\n backgroundColor: z.enum(['light', 'blue', 'green', 'purple', 'orange']).optional(),\n className: z.string().optional(),\n}).describe('CTA section props') as z.ZodType<CTAProps>\n\n// =============================================================================\n// Contact\n// =============================================================================\n\nexport const FormFieldSchema: z.ZodType<FormField> = z.object({\n id: z.string(),\n label: z.string(),\n type: z.enum(['text', 'email', 'tel', 'textarea']),\n placeholder: z.string().optional(),\n required: z.boolean().optional(),\n}).describe('Contact form field') as z.ZodType<FormField>\n\nexport const ContactPropsSchema: z.ZodType<ContactProps> = z.object({\n heading: z.string().optional(),\n subheading: z.string().optional(),\n fields: z.array(FormFieldSchema).optional(),\n submitButtonText: z.string().optional(),\n successMessage: z.string().optional(),\n errorMessage: z.string().optional(),\n // Non-translating: function fields are accepted but not deeply validated.\n onSubmit: z.function().optional(),\n backgroundColor: z.string().optional(),\n className: z.string().optional(),\n}).describe('Contact section props') as z.ZodType<ContactProps>\n\n// =============================================================================\n// Problem\n// =============================================================================\n\nexport const WorkflowItemSchema: z.ZodType<WorkflowItem> = z.object({\n // Non-translating: react-icons IconType is a function — round-trip via z.custom.\n icon: z.custom<IconType>((v) => typeof v === 'function'),\n label: z.string(),\n}).describe('Workflow chip') as z.ZodType<WorkflowItem>\n\nexport const ProblemPropsSchema: z.ZodType<ProblemProps> = z.object({\n heading: z.string().optional(),\n headingHighlight: z.string().optional(),\n workflows: z.array(WorkflowItemSchema).optional(),\n subheading: z.string().optional(),\n subheadingHighlight: z.string().optional(),\n highlightColor: z.string().optional(),\n marqueeDuration: z.string().optional(),\n marqueeGap: z.string().optional(),\n backgroundColor: z.string().optional(),\n className: z.string().optional(),\n}).describe('Problem section props') as z.ZodType<ProblemProps>\n\n// =============================================================================\n// Integration\n// =============================================================================\n\nexport const IntegrationNodeSchema: z.ZodType<IntegrationNode> = z.object({\n type: z.enum(['image', 'icon', 'component']),\n // Non-translating: string | React.ReactNode — accept anything, runtime user decides.\n content: z.union([z.string(), z.any()]),\n alt: z.string().optional(),\n className: z.string().optional(),\n}).describe('Integration node (left/right of the beam)') as z.ZodType<IntegrationNode>\n\nexport const AnimationConfigSchema: z.ZodType<AnimationConfig> = z.object({\n startYOffset: z.number().optional(),\n endYOffset: z.number().optional(),\n curvature: z.number().optional(),\n duration: z.number().optional(),\n reverse: z.boolean().optional(),\n}).describe('AnimatedBeam configuration') as z.ZodType<AnimationConfig>\n\nexport const IntegrationPropsSchema: z.ZodType<IntegrationProps> = z.object({\n title: z.string().optional(),\n description: z.string().optional(),\n buttonText: z.string().optional(),\n buttonHref: z.string().optional(),\n leftNode: IntegrationNodeSchema,\n rightNode: IntegrationNodeSchema,\n beamAnimations: z.array(AnimationConfigSchema).optional(),\n gridPatternWidth: z.number().optional(),\n gridPatternHeight: z.number().optional(),\n maxWidth: z.enum(['sm', 'md', 'lg', 'xl', '2xl', '3xl', '4xl', '5xl', '6xl', '7xl']).optional(),\n className: z.string().optional(),\n contentOrder: z.enum(['left', 'right']).optional(),\n}).describe('Integration section props') as z.ZodType<IntegrationProps>\n\n// =============================================================================\n// Navigation\n// =============================================================================\n\nexport const NavLinkSchema: z.ZodType<NavLink> = z.object({\n label: z.string(),\n href: z.string(),\n}).describe('Nav link') as z.ZodType<NavLink>\n\nexport const NavigationPropsSchema: z.ZodType<NavigationProps> = z.object({\n // Non-translating: string | React.ReactNode.\n logo: z.union([z.string(), z.any()]).optional(),\n logoHref: z.string().optional(),\n links: z.array(NavLinkSchema).optional(),\n ctaText: z.string().optional(),\n ctaHref: z.string().optional(),\n ctaVariant: z.enum(['default', 'secondary', 'outline', 'ghost', 'link', 'destructive']).optional(),\n className: z.string().optional(),\n maxWidth: z.enum(['sm', 'md', 'lg', 'xl', '2xl', '3xl', '4xl', '5xl', '6xl', '7xl', 'full']).optional(),\n sticky: z.boolean().optional(),\n showScrollEffect: z.boolean().optional(),\n}).describe('Navigation section props') as z.ZodType<NavigationProps>\n\n// =============================================================================\n// Footer\n// =============================================================================\n\nexport const SocialLinkSchema: z.ZodType<SocialLink> = z.object({\n href: z.string(),\n // Non-translating: react-icons IconType is a function — round-trip via z.custom.\n icon: z.custom<IconType>((v) => typeof v === 'function'),\n label: z.string(),\n}).describe('Social link') as z.ZodType<SocialLink>\n\nexport const QuickLinkSchema: z.ZodType<QuickLink> = z.object({\n href: z.string(),\n label: z.string(),\n}).describe('Footer quick link') as z.ZodType<QuickLink>\n\nexport const FooterPropsSchema: z.ZodType<FooterProps> = z.object({\n logo: z.string().optional(),\n description: z.string().optional(),\n socialLinks: z.array(SocialLinkSchema).optional(),\n quickLinks: z.array(QuickLinkSchema).optional(),\n contactTitle: z.string().optional(),\n emailPlaceholder: z.string().optional(),\n // Non-translating: function field.\n onEmailSubmit: z.function().optional(),\n copyrightText: z.string().optional(),\n showThemeToggle: z.boolean().optional(),\n className: z.string().optional(),\n}).describe('Footer section props') as z.ZodType<FooterProps>\n"],"mappings":";AAeA,SAAS,SAAS;AAkCX,IAAM,kBAAwC,EAAE,OAAO;AAAA,EAC5D,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,YAAY,EAAE,KAAK,CAAC,WAAW,aAAa,WAAW,OAAO,CAAC,EAAE,SAAS;AAAA,EAC1E,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,EACnC,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,EACnC,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,iBAAiB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACtC,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,EAClC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EAC5C,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC,EAAE,SAAS,oBAAoB;AAMzB,IAAM,gBAAoC,EAAE,OAAO;AAAA,EACxD,UAAU,EAAE,OAAO;AAAA,EACnB,QAAQ,EAAE,OAAO;AACnB,CAAC,EAAE,SAAS,UAAU;AAEf,IAAM,iBAAsC,EAAE,OAAO;AAAA,EAC1D,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,MAAM,EAAE,MAAM,aAAa,EAAE,SAAS;AAAA,EACtC,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC,EAAE,SAAS,mBAAmB;AAMxB,IAAM,oBAA4C,EAAE,OAAO;AAAA,EAChE,MAAM,EAAE,OAAO;AACjB,CAAC,EAAE,SAAS,uBAAuB;AAE5B,IAAM,gBAAoC,EAAE,OAAO;AAAA,EACxD,OAAO,EAAE,OAAO;AAAA,EAChB,aAAa,EAAE,OAAO;AAAA,EACtB,OAAO,EAAE,MAAM,iBAAiB;AAAA,EAChC,MAAM,EAAE,OAAO;AAAA,EACf,OAAO,EAAE,OAAO;AAClB,CAAC,EAAE,SAAS,cAAc;AAEnB,IAAM,sBAAgD,EAAE,OAAO;AAAA,EACpE,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,UAAU,EAAE,MAAM,aAAa,EAAE,SAAS;AAAA,EAC1C,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC,EAAE,SAAS,wBAAwB;AAM7B,IAAM,uBAAkD,EAAE,OAAO;AAAA,EACtE,MAAM,EAAE,OAAO;AACjB,CAAC,EAAE,SAAS,wBAAwB;AAE7B,IAAM,qBAA8C,EAAE,OAAO;AAAA,EAClE,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,UAAU,EAAE,MAAM,oBAAoB,EAAE,SAAS;AAAA,EACjD,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,EAClC,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC,EAAE,SAAS,mCAAmC;AAMxC,IAAM,2BAA0D,EAAE,OAAO;AAAA,EAC9E,MAAM,EAAE,OAAO;AACjB,CAAC,EAAE,SAAS,6BAA6B;AAElC,IAAM,oBAA4C,EAAE,OAAO;AAAA,EAChE,OAAO,EAAE,OAAO;AAAA,EAChB,aAAa,EAAE,OAAO;AAAA,EACtB,OAAO,EAAE,OAAO;AAAA,EAChB,WAAW,EAAE,OAAO;AAAA,EACpB,SAAS,EAAE,OAAO;AAAA,EAClB,YAAY,EAAE,KAAK,CAAC,WAAW,WAAW,CAAC,EAAE,SAAS;AAAA,EACtD,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,UAAU,EAAE,MAAM,wBAAwB;AAAA,EAC1C,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,UAAU,EAAE,QAAQ,EAAE,SAAS;AACjC,CAAC,EAAE,SAAS,mBAAmB;AAExB,IAAM,0BAAwD,EAAE,OAAO;AAAA,EAC5E,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,OAAO,EAAE,MAAM,iBAAiB,EAAE,SAAS;AAAA,EAC3C,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,EAClC,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC,EAAE,SAAS,kCAAkC;AAGvC,IAAM,sBAAsB;AAC5B,IAAM,sBAAsB;AAM5B,IAAM,kBAAwC,EAAE,OAAO;AAAA,EAC5D,MAAM,EAAE,OAAO;AAAA,EACf,MAAM,EAAE,OAAO;AAAA,EACf,SAAS,EAAE,KAAK,CAAC,WAAW,WAAW,CAAC,EAAE,SAAS;AAAA,EACnD,WAAW,EAAE,QAAQ,EAAE,SAAS;AAClC,CAAC,EAAE,SAAS,YAAY;AAEjB,IAAM,iBAAsC,EAAE,OAAO;AAAA,EAC1D,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,SAAS,EAAE,MAAM,eAAe,EAAE,SAAS;AAAA,EAC3C,iBAAiB,EAAE,KAAK,CAAC,SAAS,QAAQ,SAAS,UAAU,QAAQ,CAAC,EAAE,SAAS;AAAA,EACjF,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC,EAAE,SAAS,mBAAmB;AAMxB,IAAM,kBAAwC,EAAE,OAAO;AAAA,EAC5D,IAAI,EAAE,OAAO;AAAA,EACb,OAAO,EAAE,OAAO;AAAA,EAChB,MAAM,EAAE,KAAK,CAAC,QAAQ,SAAS,OAAO,UAAU,CAAC;AAAA,EACjD,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,UAAU,EAAE,QAAQ,EAAE,SAAS;AACjC,CAAC,EAAE,SAAS,oBAAoB;AAEzB,IAAM,qBAA8C,EAAE,OAAO;AAAA,EAClE,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,QAAQ,EAAE,MAAM,eAAe,EAAE,SAAS;AAAA,EAC1C,kBAAkB,EAAE,OAAO,EAAE,SAAS;AAAA,EACtC,gBAAgB,EAAE,OAAO,EAAE,SAAS;AAAA,EACpC,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA;AAAA,EAElC,UAAU,EAAE,SAAS,EAAE,SAAS;AAAA,EAChC,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC,EAAE,SAAS,uBAAuB;AAM5B,IAAM,qBAA8C,EAAE,OAAO;AAAA;AAAA,EAElE,MAAM,EAAE,OAAiB,CAAC,MAAM,OAAO,MAAM,UAAU;AAAA,EACvD,OAAO,EAAE,OAAO;AAClB,CAAC,EAAE,SAAS,eAAe;AAEpB,IAAM,qBAA8C,EAAE,OAAO;AAAA,EAClE,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,kBAAkB,EAAE,OAAO,EAAE,SAAS;AAAA,EACtC,WAAW,EAAE,MAAM,kBAAkB,EAAE,SAAS;AAAA,EAChD,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,qBAAqB,EAAE,OAAO,EAAE,SAAS;AAAA,EACzC,gBAAgB,EAAE,OAAO,EAAE,SAAS;AAAA,EACpC,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC,EAAE,SAAS,uBAAuB;AAM5B,IAAM,wBAAoD,EAAE,OAAO;AAAA,EACxE,MAAM,EAAE,KAAK,CAAC,SAAS,QAAQ,WAAW,CAAC;AAAA;AAAA,EAE3C,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC;AAAA,EACtC,KAAK,EAAE,OAAO,EAAE,SAAS;AAAA,EACzB,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC,EAAE,SAAS,2CAA2C;AAEhD,IAAM,wBAAoD,EAAE,OAAO;AAAA,EACxE,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,EAClC,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,SAAS,EAAE,QAAQ,EAAE,SAAS;AAChC,CAAC,EAAE,SAAS,4BAA4B;AAEjC,IAAM,yBAAsD,EAAE,OAAO;AAAA,EAC1E,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,UAAU;AAAA,EACV,WAAW;AAAA,EACX,gBAAgB,EAAE,MAAM,qBAAqB,EAAE,SAAS;AAAA,EACxD,kBAAkB,EAAE,OAAO,EAAE,SAAS;AAAA,EACtC,mBAAmB,EAAE,OAAO,EAAE,SAAS;AAAA,EACvC,UAAU,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK,CAAC,EAAE,SAAS;AAAA,EAC9F,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,cAAc,EAAE,KAAK,CAAC,QAAQ,OAAO,CAAC,EAAE,SAAS;AACnD,CAAC,EAAE,SAAS,2BAA2B;AAMhC,IAAM,gBAAoC,EAAE,OAAO;AAAA,EACxD,OAAO,EAAE,OAAO;AAAA,EAChB,MAAM,EAAE,OAAO;AACjB,CAAC,EAAE,SAAS,UAAU;AAEf,IAAM,wBAAoD,EAAE,OAAO;AAAA;AAAA,EAExE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS;AAAA,EAC9C,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,OAAO,EAAE,MAAM,aAAa,EAAE,SAAS;AAAA,EACvC,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,YAAY,EAAE,KAAK,CAAC,WAAW,aAAa,WAAW,SAAS,QAAQ,aAAa,CAAC,EAAE,SAAS;AAAA,EACjG,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,UAAU,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,CAAC,EAAE,SAAS;AAAA,EACtG,QAAQ,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC7B,kBAAkB,EAAE,QAAQ,EAAE,SAAS;AACzC,CAAC,EAAE,SAAS,0BAA0B;AAM/B,IAAM,mBAA0C,EAAE,OAAO;AAAA,EAC9D,MAAM,EAAE,OAAO;AAAA;AAAA,EAEf,MAAM,EAAE,OAAiB,CAAC,MAAM,OAAO,MAAM,UAAU;AAAA,EACvD,OAAO,EAAE,OAAO;AAClB,CAAC,EAAE,SAAS,aAAa;AAElB,IAAM,kBAAwC,EAAE,OAAO;AAAA,EAC5D,MAAM,EAAE,OAAO;AAAA,EACf,OAAO,EAAE,OAAO;AAClB,CAAC,EAAE,SAAS,mBAAmB;AAExB,IAAM,oBAA4C,EAAE,OAAO;AAAA,EAChE,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,aAAa,EAAE,MAAM,gBAAgB,EAAE,SAAS;AAAA,EAChD,YAAY,EAAE,MAAM,eAAe,EAAE,SAAS;AAAA,EAC9C,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,EAClC,kBAAkB,EAAE,OAAO,EAAE,SAAS;AAAA;AAAA,EAEtC,eAAe,EAAE,SAAS,EAAE,SAAS;AAAA,EACrC,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,EACnC,iBAAiB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACtC,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC,EAAE,SAAS,sBAAsB;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mdxui/named",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.1.0",
|
|
4
4
|
"description": "Named Agents site template - landing page components for AI product sites",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -40,26 +40,38 @@
|
|
|
40
40
|
"./shared": {
|
|
41
41
|
"types": "./dist/shared/index.d.ts",
|
|
42
42
|
"import": "./dist/shared/index.js"
|
|
43
|
+
},
|
|
44
|
+
"./schemas": {
|
|
45
|
+
"types": "./dist/schemas/index.d.ts",
|
|
46
|
+
"import": "./dist/schemas/index.js"
|
|
43
47
|
}
|
|
44
48
|
},
|
|
45
49
|
"files": [
|
|
46
50
|
"dist",
|
|
47
51
|
"README.md"
|
|
48
52
|
],
|
|
53
|
+
"scripts": {
|
|
54
|
+
"build": "tsup",
|
|
55
|
+
"postbuild": "node -e \"const fs=require('fs');const s=fs.readFileSync('dist/schemas/index.js','utf8');if(/@mdxui\\/primitives|from ['\\\"]react['\\\"]|from ['\\\"]react-dom['\\\"]|from ['\\\"]next['\\\"]|from ['\\\"]next\\//.test(s)){console.error('schemas entry leaked a runtime import');process.exit(1)}\"",
|
|
56
|
+
"typecheck": "tsc --noEmit",
|
|
57
|
+
"clean": "rm -rf dist .turbo node_modules",
|
|
58
|
+
"prepublishOnly": "pnpm build"
|
|
59
|
+
},
|
|
49
60
|
"devDependencies": {
|
|
61
|
+
"@mdxui/primitives": "^6.0.0",
|
|
62
|
+
"@mdxui/typescript-config": "6.0.0",
|
|
50
63
|
"@types/react": "^19.2.7",
|
|
51
64
|
"@types/react-dom": "^19.2.3",
|
|
52
65
|
"tsup": "^8.0.0",
|
|
53
|
-
"typescript": "5.9.3"
|
|
54
|
-
"@mdxui/primitives": "^6.0.0",
|
|
55
|
-
"@mdxui/typescript-config": "6.0.0"
|
|
66
|
+
"typescript": "5.9.3"
|
|
56
67
|
},
|
|
57
68
|
"dependencies": {
|
|
58
69
|
"clsx": "^2.1.1",
|
|
59
70
|
"lucide-react": "^0.561.0",
|
|
60
71
|
"motion": "^12.23.26",
|
|
61
72
|
"react-icons": "^5.5.0",
|
|
62
|
-
"tailwind-merge": "^3.3.1"
|
|
73
|
+
"tailwind-merge": "^3.3.1",
|
|
74
|
+
"zod": "^4.3.5"
|
|
63
75
|
},
|
|
64
76
|
"peerDependencies": {
|
|
65
77
|
"@mdxui/primitives": ">=0.0.0",
|
|
@@ -76,10 +88,5 @@
|
|
|
76
88
|
},
|
|
77
89
|
"publishConfig": {
|
|
78
90
|
"access": "public"
|
|
79
|
-
},
|
|
80
|
-
"scripts": {
|
|
81
|
-
"build": "tsup",
|
|
82
|
-
"typecheck": "tsc --noEmit",
|
|
83
|
-
"clean": "rm -rf dist .turbo node_modules"
|
|
84
91
|
}
|
|
85
|
-
}
|
|
92
|
+
}
|