@salesmind-ai/design-system 0.2.0 → 0.3.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/AppearancePanel-UT57J69V.d.cts +51 -0
- package/dist/AppearancePanel-UT57J69V.d.ts +51 -0
- package/dist/AppearanceProvider-C36a8-eb.d.cts +45 -0
- package/dist/AppearanceProvider-C36a8-eb.d.ts +45 -0
- package/dist/Breadcrumb-RX-B_gDV.d.cts +44 -0
- package/dist/Breadcrumb-RX-B_gDV.d.ts +44 -0
- package/dist/ExportMenu-A2TLFiVv.d.cts +311 -0
- package/dist/ExportMenu-C8qck5AT.d.ts +311 -0
- package/dist/SectionShell-BfBw5q0Y.d.cts +18 -0
- package/dist/SectionShell-BfBw5q0Y.d.ts +18 -0
- package/dist/Select-BdZmK0Lt.d.cts +66 -0
- package/dist/Select-BdZmK0Lt.d.ts +66 -0
- package/dist/admin/index.cjs +2941 -0
- package/dist/admin/index.cjs.map +1 -0
- package/dist/admin/index.css +4145 -0
- package/dist/admin/index.css.map +1 -0
- package/dist/admin/index.d.cts +491 -0
- package/dist/admin/index.d.ts +491 -0
- package/dist/admin/index.js +2918 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/{audit-CiyPkxk1.d.cts → audit-BS2fn7M4.d.ts} +2 -51
- package/dist/{audit-CiyPkxk1.d.ts → audit-DwCmg32J.d.cts} +2 -51
- package/dist/blog/index.cjs +1074 -0
- package/dist/blog/index.cjs.map +1 -0
- package/dist/blog/index.css +1422 -0
- package/dist/blog/index.css.map +1 -0
- package/dist/blog/index.d.cts +233 -0
- package/dist/blog/index.d.ts +233 -0
- package/dist/blog/index.js +1056 -0
- package/dist/blog/index.js.map +1 -0
- package/dist/chart-types-BGVVO-zl.d.cts +208 -0
- package/dist/chart-types-BGVVO-zl.d.ts +208 -0
- package/dist/charts/index.cjs +2698 -0
- package/dist/charts/index.cjs.map +1 -0
- package/dist/charts/index.css +1167 -0
- package/dist/charts/index.css.map +1 -0
- package/dist/charts/index.d.cts +453 -0
- package/dist/charts/index.d.ts +453 -0
- package/dist/charts/index.js +2682 -0
- package/dist/charts/index.js.map +1 -0
- package/dist/core/index.cjs +526 -395
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.css +297 -2
- package/dist/core/index.css.map +1 -1
- package/dist/core/index.d.cts +7 -982
- package/dist/core/index.d.ts +7 -982
- package/dist/core/index.js +476 -351
- package/dist/core/index.js.map +1 -1
- package/dist/i18n/index.cjs +585 -0
- package/dist/i18n/index.cjs.map +1 -0
- package/dist/i18n/index.d.cts +855 -0
- package/dist/i18n/index.d.ts +855 -0
- package/dist/i18n/index.js +547 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.css +16 -6
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +22 -1290
- package/dist/index.d.ts +22 -1290
- package/dist/marketing/index.cjs +2144 -3023
- package/dist/marketing/index.cjs.map +1 -1
- package/dist/marketing/index.css +3729 -4824
- package/dist/marketing/index.css.map +1 -1
- package/dist/marketing/index.d.cts +1351 -4
- package/dist/marketing/index.d.ts +1351 -4
- package/dist/marketing/index.js +2190 -3054
- package/dist/marketing/index.js.map +1 -1
- package/dist/motion/index.cjs +1230 -0
- package/dist/motion/index.cjs.map +1 -0
- package/dist/motion/index.css +699 -0
- package/dist/motion/index.css.map +1 -0
- package/dist/motion/index.d.cts +68 -0
- package/dist/motion/index.d.ts +68 -0
- package/dist/motion/index.js +1218 -0
- package/dist/motion/index.js.map +1 -0
- package/dist/nav/index.cjs +1533 -0
- package/dist/nav/index.cjs.map +1 -0
- package/dist/nav/index.css +1984 -0
- package/dist/nav/index.css.map +1 -0
- package/dist/nav/index.d.cts +279 -0
- package/dist/nav/index.d.ts +279 -0
- package/dist/nav/index.js +1501 -0
- package/dist/nav/index.js.map +1 -0
- package/dist/report/index.cjs +26 -1649
- package/dist/report/index.cjs.map +1 -1
- package/dist/report/index.css +6 -968
- package/dist/report/index.css.map +1 -1
- package/dist/report/index.d.cts +4 -2
- package/dist/report/index.d.ts +4 -2
- package/dist/report/index.js +27 -1640
- package/dist/report/index.js.map +1 -1
- package/dist/sections/index.cjs +385 -0
- package/dist/sections/index.cjs.map +1 -0
- package/dist/sections/index.css +818 -0
- package/dist/sections/index.css.map +1 -0
- package/dist/sections/index.d.cts +69 -0
- package/dist/sections/index.d.ts +69 -0
- package/dist/sections/index.js +374 -0
- package/dist/sections/index.js.map +1 -0
- package/dist/social-proof/index.cjs +1254 -0
- package/dist/social-proof/index.cjs.map +1 -0
- package/dist/social-proof/index.css +1416 -0
- package/dist/social-proof/index.css.map +1 -0
- package/dist/social-proof/index.d.cts +258 -0
- package/dist/social-proof/index.d.ts +258 -0
- package/dist/social-proof/index.js +1237 -0
- package/dist/social-proof/index.js.map +1 -0
- package/dist/theme/index.cjs +573 -0
- package/dist/theme/index.cjs.map +1 -0
- package/dist/theme/index.css +464 -0
- package/dist/theme/index.css.map +1 -0
- package/dist/theme/index.d.cts +48 -0
- package/dist/theme/index.d.ts +48 -0
- package/dist/theme/index.js +558 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/types-DAlgDGzw.d.cts +52 -0
- package/dist/types-DAlgDGzw.d.ts +52 -0
- package/dist/web/index.d.cts +3 -2
- package/dist/web/index.d.ts +3 -2
- package/package.json +68 -9
- package/dist/ExportMenu-hEe5MhLq.d.cts +0 -1027
- package/dist/ExportMenu-hEe5MhLq.d.ts +0 -1027
- package/dist/index-B64suAAc.d.cts +0 -1498
- package/dist/index-B64suAAc.d.ts +0 -1498
|
@@ -1,1498 +0,0 @@
|
|
|
1
|
-
import * as React$1 from 'react';
|
|
2
|
-
import React__default, { HTMLAttributes } from 'react';
|
|
3
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
|
-
import { HTMLMotionProps } from 'framer-motion';
|
|
5
|
-
|
|
6
|
-
interface SectionHeaderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
7
|
-
title?: React__default.ReactNode;
|
|
8
|
-
subtitle?: React__default.ReactNode;
|
|
9
|
-
eyebrow?: React__default.ReactNode;
|
|
10
|
-
align?: 'left' | 'center' | 'right';
|
|
11
|
-
}
|
|
12
|
-
declare const SectionHeader: React__default.ForwardRefExoticComponent<SectionHeaderProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
13
|
-
interface SectionShellProps extends HTMLAttributes<HTMLDivElement> {
|
|
14
|
-
background?: 'default' | 'muted' | 'brand' | 'transparent';
|
|
15
|
-
padding?: 'none' | 'sm' | 'md' | 'lg';
|
|
16
|
-
containerSize?: 'sm' | 'md' | 'lg' | 'xl' | 'fluid';
|
|
17
|
-
containerFluid?: boolean;
|
|
18
|
-
}
|
|
19
|
-
declare const SectionShell: React__default.ForwardRefExoticComponent<SectionShellProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
20
|
-
|
|
21
|
-
interface HeroSectionProps extends Omit<SectionShellProps, 'title'> {
|
|
22
|
-
variant?: 'left' | 'center' | 'split';
|
|
23
|
-
title: React__default.ReactNode;
|
|
24
|
-
subtitle?: React__default.ReactNode;
|
|
25
|
-
eyebrow?: React__default.ReactNode;
|
|
26
|
-
primaryCta?: React__default.ReactNode;
|
|
27
|
-
secondaryCta?: React__default.ReactNode;
|
|
28
|
-
/** Main visual (Image, Video, or Component) */
|
|
29
|
-
media?: React__default.ReactNode;
|
|
30
|
-
/** Adds a browser-like header bar to the media container */
|
|
31
|
-
mediaBrowserFrame?: boolean;
|
|
32
|
-
/** Optional floating elements (e.g. SocialProof cards) over the media */
|
|
33
|
-
floatingElement?: React__default.ReactNode;
|
|
34
|
-
floatingPosition?: 'top-right' | 'bottom-left';
|
|
35
|
-
/** Background Visuals */
|
|
36
|
-
withGrid?: boolean;
|
|
37
|
-
withGlow?: boolean;
|
|
38
|
-
align?: 'left' | 'center';
|
|
39
|
-
}
|
|
40
|
-
declare const HeroSection: React__default.ForwardRefExoticComponent<HeroSectionProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
41
|
-
|
|
42
|
-
interface FeatureItem {
|
|
43
|
-
title: React__default.ReactNode;
|
|
44
|
-
description: React__default.ReactNode;
|
|
45
|
-
icon?: React__default.ReactNode;
|
|
46
|
-
media?: React__default.ReactNode;
|
|
47
|
-
step?: string | number;
|
|
48
|
-
cta?: React__default.ReactNode;
|
|
49
|
-
}
|
|
50
|
-
interface FeatureSectionProps extends Omit<SectionShellProps, 'title'> {
|
|
51
|
-
variant?: 'grid' | 'zigzag';
|
|
52
|
-
columns?: 2 | 3 | 4;
|
|
53
|
-
features: FeatureItem[];
|
|
54
|
-
title?: React__default.ReactNode;
|
|
55
|
-
subtitle?: React__default.ReactNode;
|
|
56
|
-
eyebrow?: React__default.ReactNode;
|
|
57
|
-
alignHeader?: 'left' | 'center' | 'right';
|
|
58
|
-
}
|
|
59
|
-
declare const FeatureSection: React__default.ForwardRefExoticComponent<FeatureSectionProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
60
|
-
|
|
61
|
-
interface CTASectionProps extends Omit<SectionShellProps, 'title'> {
|
|
62
|
-
variant?: 'center' | 'split' | 'boxed';
|
|
63
|
-
title: React__default.ReactNode;
|
|
64
|
-
description?: React__default.ReactNode;
|
|
65
|
-
primaryCta?: React__default.ReactNode;
|
|
66
|
-
secondaryCta?: React__default.ReactNode;
|
|
67
|
-
actions?: React__default.ReactNode;
|
|
68
|
-
}
|
|
69
|
-
declare const CTASection: React__default.ForwardRefExoticComponent<CTASectionProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
70
|
-
|
|
71
|
-
interface StatItem {
|
|
72
|
-
label: string;
|
|
73
|
-
value: string | number;
|
|
74
|
-
suffix?: string;
|
|
75
|
-
prefix?: string;
|
|
76
|
-
}
|
|
77
|
-
interface StatsSectionProps extends Omit<SectionShellProps, 'title'> {
|
|
78
|
-
stats: StatItem[];
|
|
79
|
-
title?: React__default.ReactNode;
|
|
80
|
-
subtitle?: React__default.ReactNode;
|
|
81
|
-
eyebrow?: React__default.ReactNode;
|
|
82
|
-
}
|
|
83
|
-
declare const StatsSection: React__default.ForwardRefExoticComponent<StatsSectionProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
84
|
-
|
|
85
|
-
interface SocialProofCarouselProps extends SectionShellProps {
|
|
86
|
-
children: React.ReactNode;
|
|
87
|
-
}
|
|
88
|
-
declare const SocialProofCarousel: React$1.ForwardRefExoticComponent<SocialProofCarouselProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
89
|
-
|
|
90
|
-
type Platform = 'trustpilot' | 'g2' | 'google' | 'chrome-web-store';
|
|
91
|
-
interface PlatformBadgeProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
92
|
-
/** Review platform */
|
|
93
|
-
platform: Platform;
|
|
94
|
-
/** Display mode */
|
|
95
|
-
variant?: 'icon-only' | 'icon-label' | 'full';
|
|
96
|
-
/** Platform rating (used in 'full' variant) */
|
|
97
|
-
rating?: number;
|
|
98
|
-
/** Number of reviews (used in 'full' variant) */
|
|
99
|
-
count?: number;
|
|
100
|
-
/** Size variant */
|
|
101
|
-
size?: 'sm' | 'md';
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Review platform badge with recognizable brand icon, optional label,
|
|
105
|
-
* and optional rating display.
|
|
106
|
-
*
|
|
107
|
-
* @example
|
|
108
|
-
* ```tsx
|
|
109
|
-
* <PlatformBadge platform="trustpilot" variant="icon-only" />
|
|
110
|
-
* <PlatformBadge platform="g2" variant="icon-label" />
|
|
111
|
-
* <PlatformBadge platform="google" variant="full" rating={4.9} count={42} />
|
|
112
|
-
* ```
|
|
113
|
-
*/
|
|
114
|
-
declare const PlatformBadge: React__default.ForwardRefExoticComponent<PlatformBadgeProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
115
|
-
|
|
116
|
-
interface Author {
|
|
117
|
-
name: string;
|
|
118
|
-
role?: string;
|
|
119
|
-
company?: string;
|
|
120
|
-
avatar?: string;
|
|
121
|
-
handle?: string;
|
|
122
|
-
}
|
|
123
|
-
interface Media {
|
|
124
|
-
src: string;
|
|
125
|
-
type: 'image' | 'video';
|
|
126
|
-
alt?: string;
|
|
127
|
-
}
|
|
128
|
-
interface CardMetric {
|
|
129
|
-
value: string;
|
|
130
|
-
label: string;
|
|
131
|
-
prefix?: string;
|
|
132
|
-
suffix?: string;
|
|
133
|
-
}
|
|
134
|
-
interface SocialProofCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'content'> {
|
|
135
|
-
/** Card visual variant — determines layout and visual identity */
|
|
136
|
-
variant?: 'simple' | 'social' | 'video' | 'case-study' | 'rating-only';
|
|
137
|
-
/** Quote or text content */
|
|
138
|
-
content?: React.ReactNode;
|
|
139
|
-
/** Author info */
|
|
140
|
-
author: Author;
|
|
141
|
-
/** Media (thumbnail image for video/case-study variants) */
|
|
142
|
-
media?: Media;
|
|
143
|
-
/** Source icon (e.g., Twitter logo) — legacy, prefer `platform` */
|
|
144
|
-
sourceIcon?: React.ReactNode;
|
|
145
|
-
/** Review platform for automatic badge display */
|
|
146
|
-
platform?: Platform;
|
|
147
|
-
/** Star rating value (0-5) */
|
|
148
|
-
starRating?: number;
|
|
149
|
-
/** Date string */
|
|
150
|
-
date?: string;
|
|
151
|
-
/** Text badges */
|
|
152
|
-
badges?: string[];
|
|
153
|
-
/** CTA text override */
|
|
154
|
-
ctaText?: string;
|
|
155
|
-
/** If set, renders as a clickable card */
|
|
156
|
-
href?: string;
|
|
157
|
-
onClick?: () => void;
|
|
158
|
-
/** Staggered entrance animation delay (ms) */
|
|
159
|
-
animationDelay?: number;
|
|
160
|
-
/** Case study: headline */
|
|
161
|
-
headline?: string;
|
|
162
|
-
/** Case study: company logo node */
|
|
163
|
-
logo?: React.ReactNode;
|
|
164
|
-
/** Case study: industry label */
|
|
165
|
-
industry?: string;
|
|
166
|
-
/** Case study: key metrics */
|
|
167
|
-
metrics?: CardMetric[];
|
|
168
|
-
}
|
|
169
|
-
declare const SocialProofCard: React$1.ForwardRefExoticComponent<SocialProofCardProps & React$1.RefAttributes<HTMLDivElement | HTMLAnchorElement>>;
|
|
170
|
-
|
|
171
|
-
interface SocialProofFeaturedProps extends Omit<SectionShellProps, 'title'> {
|
|
172
|
-
/** Quote text */
|
|
173
|
-
quote: string;
|
|
174
|
-
/** Author info */
|
|
175
|
-
author: Author;
|
|
176
|
-
/** Media element (video component, image, or VideoLightbox) */
|
|
177
|
-
media?: React.ReactNode;
|
|
178
|
-
/** Quick image src for media slot */
|
|
179
|
-
mediaSrc?: string;
|
|
180
|
-
/** Layout orientation */
|
|
181
|
-
orientation?: 'horizontal' | 'vertical';
|
|
182
|
-
/** Visual variant */
|
|
183
|
-
featuredVariant?: 'standard' | 'cinematic' | 'spotlight';
|
|
184
|
-
/** Star rating */
|
|
185
|
-
starRating?: number;
|
|
186
|
-
/** Review platform */
|
|
187
|
-
platform?: Platform;
|
|
188
|
-
/** Company logo node */
|
|
189
|
-
logo?: React.ReactNode;
|
|
190
|
-
}
|
|
191
|
-
declare const SocialProofFeatured: React$1.ForwardRefExoticComponent<SocialProofFeaturedProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
192
|
-
|
|
193
|
-
interface LogoItem {
|
|
194
|
-
id: string | number;
|
|
195
|
-
alt: string;
|
|
196
|
-
src?: string;
|
|
197
|
-
logo?: React.ReactNode;
|
|
198
|
-
href?: string;
|
|
199
|
-
badge?: string;
|
|
200
|
-
}
|
|
201
|
-
interface SocialProofLogosProps extends Omit<SectionShellProps, 'title'> {
|
|
202
|
-
title?: React.ReactNode;
|
|
203
|
-
logos: LogoItem[];
|
|
204
|
-
variant?: 'grid' | 'marquee';
|
|
205
|
-
speed?: number;
|
|
206
|
-
}
|
|
207
|
-
declare const SocialProofLogos: React$1.ForwardRefExoticComponent<SocialProofLogosProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
208
|
-
|
|
209
|
-
interface SocialProofGridProps extends Omit<SectionShellProps, 'title'> {
|
|
210
|
-
/** Number of columns at desktop breakpoint */
|
|
211
|
-
columns?: 2 | 3 | 4;
|
|
212
|
-
/** Use CSS column-based masonry instead of CSS Grid */
|
|
213
|
-
masonry?: boolean;
|
|
214
|
-
/** Enable staggered entrance animation on children */
|
|
215
|
-
staggered?: boolean;
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* Wrap each child in a grid item. Use `span={2}` data attribute or
|
|
219
|
-
* the `ds-social-grid__item--span-2` class on children to span 2 columns.
|
|
220
|
-
*
|
|
221
|
-
* @example
|
|
222
|
-
* ```tsx
|
|
223
|
-
* <SocialProofGrid columns={3} staggered>
|
|
224
|
-
* <SocialProofCard variant="simple" ... />
|
|
225
|
-
* <div className="ds-social-grid__item--span-2">
|
|
226
|
-
* <SocialProofCard variant="case-study" ... />
|
|
227
|
-
* </div>
|
|
228
|
-
* </SocialProofGrid>
|
|
229
|
-
* ```
|
|
230
|
-
*/
|
|
231
|
-
declare const SocialProofGrid: React__default.ForwardRefExoticComponent<SocialProofGridProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
232
|
-
|
|
233
|
-
interface VerticalVideoGridProps {
|
|
234
|
-
/** Array of YouTube Shorts URLs (e.g. https://www.youtube.com/shorts/xxxxx) */
|
|
235
|
-
urls: string[];
|
|
236
|
-
/** Optional class name */
|
|
237
|
-
className?: string;
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Grid component optimized for displaying vertical 9:16 videos (YouTube Shorts, TikToks, Reels)
|
|
241
|
-
*/
|
|
242
|
-
declare function VerticalVideoGrid({ urls, className }: VerticalVideoGridProps): react_jsx_runtime.JSX.Element | null;
|
|
243
|
-
|
|
244
|
-
declare const SocialProof: {
|
|
245
|
-
Card: React$1.ForwardRefExoticComponent<SocialProofCardProps & React$1.RefAttributes<HTMLDivElement | HTMLAnchorElement>>;
|
|
246
|
-
Grid: React$1.ForwardRefExoticComponent<SocialProofGridProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
247
|
-
Logos: React$1.ForwardRefExoticComponent<SocialProofLogosProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
248
|
-
Featured: React$1.ForwardRefExoticComponent<SocialProofFeaturedProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
249
|
-
Carousel: React$1.ForwardRefExoticComponent<SocialProofCarouselProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
250
|
-
VerticalGrid: typeof VerticalVideoGrid;
|
|
251
|
-
};
|
|
252
|
-
|
|
253
|
-
interface AnnouncementBarProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
254
|
-
/** The badge text, e.g., "New Feature" or "Update" */
|
|
255
|
-
badge?: React__default.ReactNode;
|
|
256
|
-
/** The main message text */
|
|
257
|
-
message: React__default.ReactNode;
|
|
258
|
-
/** The link destination. If provided, the entire bar becomes clickable */
|
|
259
|
-
href?: string;
|
|
260
|
-
/** The visual variant */
|
|
261
|
-
variant?: 'brand' | 'success' | 'warning' | 'info' | 'dark' | 'glass';
|
|
262
|
-
/** Whether the bar can be dismissed */
|
|
263
|
-
dismissible?: boolean;
|
|
264
|
-
/** Callback when dismissed */
|
|
265
|
-
onDismiss?: () => void;
|
|
266
|
-
/** Whether to show the right arrow */
|
|
267
|
-
showArrow?: boolean;
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* Top-level announcement banner used to draw attention to new features,
|
|
271
|
-
* webinars, or important updates.
|
|
272
|
-
*/
|
|
273
|
-
declare const AnnouncementBar: React__default.ForwardRefExoticComponent<AnnouncementBarProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
274
|
-
|
|
275
|
-
interface StickyActionBarProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
276
|
-
/** The main message or value prop to display */
|
|
277
|
-
message: React__default.ReactNode;
|
|
278
|
-
/** Primary call to action button */
|
|
279
|
-
primaryAction: React__default.ReactNode;
|
|
280
|
-
/** Optional secondary action */
|
|
281
|
-
secondaryAction?: React__default.ReactNode;
|
|
282
|
-
/** Threshold in pixels before showing the bar (default: 300) */
|
|
283
|
-
showThreshold?: number;
|
|
284
|
-
/** Position variant */
|
|
285
|
-
position?: 'top' | 'bottom';
|
|
286
|
-
/** Visual theme */
|
|
287
|
-
variant?: 'glass' | 'solid' | 'brand';
|
|
288
|
-
}
|
|
289
|
-
/**
|
|
290
|
-
* A floating action bar that appears after scrolling past a threshold,
|
|
291
|
-
* keeping primary CTAs accessible on long pages.
|
|
292
|
-
*/
|
|
293
|
-
declare const StickyActionBar: React__default.ForwardRefExoticComponent<StickyActionBarProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
294
|
-
|
|
295
|
-
interface PricingToggleProps extends Omit<React__default.HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
296
|
-
/** Current billing period */
|
|
297
|
-
value: 'monthly' | 'annual';
|
|
298
|
-
/** Change handler */
|
|
299
|
-
onChange: (period: 'monthly' | 'annual') => void;
|
|
300
|
-
/** Monthly label (default: "Monthly") */
|
|
301
|
-
monthlyLabel?: string;
|
|
302
|
-
/** Annual label (default: "Annual") */
|
|
303
|
-
annualLabel?: string;
|
|
304
|
-
/** Savings badge text (e.g., "Save 20%") */
|
|
305
|
-
savingsBadge?: string;
|
|
306
|
-
}
|
|
307
|
-
/**
|
|
308
|
-
* Billing period toggle for pricing sections.
|
|
309
|
-
*
|
|
310
|
-
* @example
|
|
311
|
-
* ```tsx
|
|
312
|
-
* const [period, setPeriod] = useState<'monthly' | 'annual'>('annual');
|
|
313
|
-
*
|
|
314
|
-
* <PricingToggle
|
|
315
|
-
* value={period}
|
|
316
|
-
* onChange={setPeriod}
|
|
317
|
-
* savingsBadge="Save 20%"
|
|
318
|
-
* />
|
|
319
|
-
* ```
|
|
320
|
-
*/
|
|
321
|
-
declare const PricingToggle: React__default.ForwardRefExoticComponent<PricingToggleProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
322
|
-
|
|
323
|
-
interface BookingEmbedProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
324
|
-
/** The Go High Level widget URL or other booking URL */
|
|
325
|
-
url: string;
|
|
326
|
-
/** Aspect ratio of the embed container (default: 16/9) */
|
|
327
|
-
aspectRatio?: string;
|
|
328
|
-
/** Title for the iframe accessibility */
|
|
329
|
-
title?: string;
|
|
330
|
-
/** Whether to lazy load the iframe */
|
|
331
|
-
lazyLoad?: boolean;
|
|
332
|
-
}
|
|
333
|
-
/**
|
|
334
|
-
* A responsive container for embedding booking widgets (like Go High Level or Calendly).
|
|
335
|
-
* Includes loading states and analytics tracking.
|
|
336
|
-
*/
|
|
337
|
-
declare const BookingEmbed: React__default.ForwardRefExoticComponent<BookingEmbedProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
338
|
-
|
|
339
|
-
interface AgitationPoint {
|
|
340
|
-
/** The problem state (old way) */
|
|
341
|
-
problem: React__default.ReactNode;
|
|
342
|
-
/** The solution state (new way) */
|
|
343
|
-
solution: React__default.ReactNode;
|
|
344
|
-
}
|
|
345
|
-
interface ProblemAgitationProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
346
|
-
/** Section title */
|
|
347
|
-
title: string;
|
|
348
|
-
/** Section description */
|
|
349
|
-
description?: React__default.ReactNode;
|
|
350
|
-
/** The points to compare */
|
|
351
|
-
points: AgitationPoint[];
|
|
352
|
-
/** Label for the old way column */
|
|
353
|
-
oldWayLabel?: string;
|
|
354
|
-
/** Label for the new way column */
|
|
355
|
-
newWayLabel?: string;
|
|
356
|
-
}
|
|
357
|
-
/**
|
|
358
|
-
* A "Before & After" or "Old Way vs New Way" comparison block,
|
|
359
|
-
* frequently used in marketing to agitate a problem before presenting
|
|
360
|
-
* the product as the solution.
|
|
361
|
-
*/
|
|
362
|
-
declare const ProblemAgitation: React__default.ForwardRefExoticComponent<ProblemAgitationProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
363
|
-
|
|
364
|
-
interface TimelineStep {
|
|
365
|
-
/** The step number or icon */
|
|
366
|
-
indicator: React__default.ReactNode;
|
|
367
|
-
/** Step title */
|
|
368
|
-
title: React__default.ReactNode;
|
|
369
|
-
/** Step description */
|
|
370
|
-
description: React__default.ReactNode;
|
|
371
|
-
}
|
|
372
|
-
interface ProcessTimelineProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
373
|
-
/** The steps to display in the timeline */
|
|
374
|
-
steps: TimelineStep[];
|
|
375
|
-
/** Whether to animate the line drawing on scroll */
|
|
376
|
-
animated?: boolean;
|
|
377
|
-
}
|
|
378
|
-
/**
|
|
379
|
-
* A vertical timeline component used to explain "How it works" or
|
|
380
|
-
* onboarding processes.
|
|
381
|
-
*/
|
|
382
|
-
declare const ProcessTimeline: React__default.ForwardRefExoticComponent<ProcessTimelineProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
383
|
-
|
|
384
|
-
interface PricingFeature {
|
|
385
|
-
/** Feature label text */
|
|
386
|
-
text: string;
|
|
387
|
-
/** Whether this feature is included in the tier */
|
|
388
|
-
included?: boolean;
|
|
389
|
-
/** Optional tooltip or emphasis text */
|
|
390
|
-
detail?: string;
|
|
391
|
-
}
|
|
392
|
-
interface PricingCardProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
393
|
-
/** Tier label (e.g. "Operator Mode", "Founder Mode") */
|
|
394
|
-
tier: string;
|
|
395
|
-
/** Short tagline under the tier name */
|
|
396
|
-
tagline?: string;
|
|
397
|
-
/** Price display string (e.g. "$1,499", "$999") */
|
|
398
|
-
price: string;
|
|
399
|
-
/** Price suffix (e.g. "/month", "one-time") */
|
|
400
|
-
priceSuffix?: string;
|
|
401
|
-
/** Previous/anchor price for strikethrough display */
|
|
402
|
-
anchorPrice?: string;
|
|
403
|
-
/** Badge text (e.g. "Most Popular", "Best Value") */
|
|
404
|
-
badge?: string;
|
|
405
|
-
/** Whether this card is visually highlighted as the recommended option */
|
|
406
|
-
highlighted?: boolean;
|
|
407
|
-
/** List of features included in this tier */
|
|
408
|
-
features?: PricingFeature[];
|
|
409
|
-
/** Primary CTA button content */
|
|
410
|
-
cta?: React__default.ReactNode;
|
|
411
|
-
/** Optional secondary action below CTA */
|
|
412
|
-
secondaryCta?: React__default.ReactNode;
|
|
413
|
-
/** Footer note text (e.g. "3-month minimum") */
|
|
414
|
-
footerNote?: string;
|
|
415
|
-
}
|
|
416
|
-
declare const PricingCard: React__default.ForwardRefExoticComponent<PricingCardProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
417
|
-
|
|
418
|
-
interface PricingSectionProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
419
|
-
/** The headline/title of the pricing section */
|
|
420
|
-
title: string;
|
|
421
|
-
/** Optional subtitle or description */
|
|
422
|
-
description?: React__default.ReactNode;
|
|
423
|
-
/** Pricing plans to display */
|
|
424
|
-
plans: PricingCardProps[];
|
|
425
|
-
/** Optional toggle control for billing periods (e.g. Monthly/Yearly) */
|
|
426
|
-
toggle?: React__default.ReactNode;
|
|
427
|
-
}
|
|
428
|
-
/**
|
|
429
|
-
* Standardized pricing section layout that renders a grid of PricingCards.
|
|
430
|
-
* Handles responsive wrapping and visual hierarchy automatically.
|
|
431
|
-
*/
|
|
432
|
-
declare const PricingSection: React__default.ForwardRefExoticComponent<PricingSectionProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
433
|
-
|
|
434
|
-
interface LeadCaptureFormProps extends React__default.FormHTMLAttributes<HTMLFormElement> {
|
|
435
|
-
/** Text on the submit button */
|
|
436
|
-
buttonText?: string;
|
|
437
|
-
/** Label for the email input */
|
|
438
|
-
emailLabel?: string;
|
|
439
|
-
/** Placeholder for the email input */
|
|
440
|
-
emailPlaceholder?: string;
|
|
441
|
-
/** Optional subtext below the form (e.g. "We respect your privacy") */
|
|
442
|
-
disclaimer?: React__default.ReactNode;
|
|
443
|
-
/** Function called when form is successfully submitted */
|
|
444
|
-
onSubmitSuccess?: (email: string) => void | Promise<void>;
|
|
445
|
-
/** Direction variant */
|
|
446
|
-
layout?: 'horizontal' | 'vertical';
|
|
447
|
-
/** Current loading state */
|
|
448
|
-
isLoading?: boolean;
|
|
449
|
-
}
|
|
450
|
-
/**
|
|
451
|
-
* A highly optimized email capture form for newsletters, waitlists,
|
|
452
|
-
* and lead magnets.
|
|
453
|
-
*/
|
|
454
|
-
declare const LeadCaptureForm: React__default.ForwardRefExoticComponent<LeadCaptureFormProps & React__default.RefAttributes<HTMLFormElement>>;
|
|
455
|
-
|
|
456
|
-
interface ArticleCardProps extends Omit<React__default.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> {
|
|
457
|
-
/** Target URL */
|
|
458
|
-
href: string;
|
|
459
|
-
/** Article title */
|
|
460
|
-
title: string;
|
|
461
|
-
/** Short excerpt or description */
|
|
462
|
-
excerpt: string;
|
|
463
|
-
/** Image URL for the thumbnail */
|
|
464
|
-
imageUrl?: string;
|
|
465
|
-
/** Image alt text */
|
|
466
|
-
imageAlt?: string;
|
|
467
|
-
/** Category or tag label */
|
|
468
|
-
category?: string;
|
|
469
|
-
/** Publication date */
|
|
470
|
-
date?: string;
|
|
471
|
-
/** Reading time in minutes */
|
|
472
|
-
readingTime?: number;
|
|
473
|
-
/** Author name */
|
|
474
|
-
author?: string;
|
|
475
|
-
/** Variant for different grid layouts */
|
|
476
|
-
variant?: 'vertical' | 'horizontal' | 'featured';
|
|
477
|
-
}
|
|
478
|
-
/**
|
|
479
|
-
* Standardized card for blog posts, resources, and case studies.
|
|
480
|
-
* Acts as a block-level link.
|
|
481
|
-
*/
|
|
482
|
-
declare const ArticleCard: React__default.ForwardRefExoticComponent<ArticleCardProps & React__default.RefAttributes<HTMLAnchorElement>>;
|
|
483
|
-
|
|
484
|
-
interface ArticleLayoutProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
485
|
-
/** The main content of the article */
|
|
486
|
-
children: React__default.ReactNode;
|
|
487
|
-
/** Article title */
|
|
488
|
-
title: string;
|
|
489
|
-
/** Author name */
|
|
490
|
-
author?: React__default.ReactNode;
|
|
491
|
-
/** Publish date */
|
|
492
|
-
date?: React__default.ReactNode;
|
|
493
|
-
/** Main hero image */
|
|
494
|
-
heroImage?: string;
|
|
495
|
-
/** Sidebar content (like TOC or related articles) */
|
|
496
|
-
sidebar?: React__default.ReactNode;
|
|
497
|
-
}
|
|
498
|
-
/**
|
|
499
|
-
* Standardized layout for long-form content (blog posts, resources, case studies).
|
|
500
|
-
* Handles responsive wrapping, prose width constraints, and sidebar positioning.
|
|
501
|
-
*/
|
|
502
|
-
declare const ArticleLayout: React__default.ForwardRefExoticComponent<ArticleLayoutProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
503
|
-
|
|
504
|
-
/** A single metric shown on the card */
|
|
505
|
-
interface CaseStudyMetric {
|
|
506
|
-
/** Metric value (e.g., "312%") */
|
|
507
|
-
value: string;
|
|
508
|
-
/** Metric label (e.g., "increase in meetings") */
|
|
509
|
-
label: string;
|
|
510
|
-
/** Value prefix (e.g., "+") */
|
|
511
|
-
prefix?: string;
|
|
512
|
-
/** Value suffix (e.g., "%") */
|
|
513
|
-
suffix?: string;
|
|
514
|
-
}
|
|
515
|
-
interface CaseStudyCardProps extends React__default.HTMLAttributes<HTMLElement> {
|
|
516
|
-
/** Company name */
|
|
517
|
-
company: string;
|
|
518
|
-
/** Company logo */
|
|
519
|
-
logo?: React__default.ReactNode;
|
|
520
|
-
/** Industry tag */
|
|
521
|
-
industry?: string;
|
|
522
|
-
/** One-line outcome summary */
|
|
523
|
-
headline: string;
|
|
524
|
-
/** Key metrics achieved */
|
|
525
|
-
metrics?: CaseStudyMetric[];
|
|
526
|
-
/** Link to full case study */
|
|
527
|
-
href: string;
|
|
528
|
-
/** Optional cover image */
|
|
529
|
-
coverImage?: string;
|
|
530
|
-
/** Optional quote excerpt */
|
|
531
|
-
quote?: string;
|
|
532
|
-
}
|
|
533
|
-
/**
|
|
534
|
-
* Case study preview card with company info and key metrics.
|
|
535
|
-
*
|
|
536
|
-
* @example
|
|
537
|
-
* ```tsx
|
|
538
|
-
* <CaseStudyCard
|
|
539
|
-
* company="Acme Corp"
|
|
540
|
-
* industry="SaaS"
|
|
541
|
-
* headline="312% increase in qualified meetings in 90 days"
|
|
542
|
-
* metrics={[
|
|
543
|
-
* { value: '312', suffix: '%', label: 'More meetings' },
|
|
544
|
-
* { value: '45', suffix: '%', label: 'Lower cost per lead' },
|
|
545
|
-
* ]}
|
|
546
|
-
* href="/case-studies/acme-corp"
|
|
547
|
-
* />
|
|
548
|
-
* ```
|
|
549
|
-
*/
|
|
550
|
-
declare const CaseStudyCard: React__default.ForwardRefExoticComponent<CaseStudyCardProps & React__default.RefAttributes<HTMLElement>>;
|
|
551
|
-
|
|
552
|
-
interface MetricCounterProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
553
|
-
/** The target number to count up to */
|
|
554
|
-
value: number;
|
|
555
|
-
/** Optional prefix (e.g. "$", "+") */
|
|
556
|
-
prefix?: string;
|
|
557
|
-
/** Optional suffix (e.g. "%", "M") */
|
|
558
|
-
suffix?: string;
|
|
559
|
-
/** Duration of the animation in milliseconds (default: 1500) */
|
|
560
|
-
duration?: number;
|
|
561
|
-
/** Number of decimal places to show (default: 0) */
|
|
562
|
-
decimals?: number;
|
|
563
|
-
/** A label to display below the number */
|
|
564
|
-
label?: React__default.ReactNode;
|
|
565
|
-
}
|
|
566
|
-
/**
|
|
567
|
-
* An animated counter for displaying key metrics and social proof.
|
|
568
|
-
* Uses requestAnimationFrame for smooth counting and IntersectionObserver
|
|
569
|
-
* to trigger only when visible. Respects prefers-reduced-motion.
|
|
570
|
-
*/
|
|
571
|
-
declare const MetricCounter: React__default.ForwardRefExoticComponent<MetricCounterProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
572
|
-
|
|
573
|
-
interface BrowserFrameProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
574
|
-
/** Frame type */
|
|
575
|
-
variant?: 'browser' | 'app' | 'mobile' | 'minimal';
|
|
576
|
-
/** Content to frame (image, video, or React element) */
|
|
577
|
-
children: React__default.ReactNode;
|
|
578
|
-
/** Optional URL bar text */
|
|
579
|
-
url?: string;
|
|
580
|
-
/** Show traffic light dots (default: true for browser/app) */
|
|
581
|
-
showControls?: boolean;
|
|
582
|
-
/** Optional glow effect behind frame */
|
|
583
|
-
withGlow?: boolean;
|
|
584
|
-
/** Aspect ratio */
|
|
585
|
-
aspectRatio?: '16/9' | '4/3' | '3/2' | 'auto';
|
|
586
|
-
}
|
|
587
|
-
/**
|
|
588
|
-
* Device mockup frame for product screenshots.
|
|
589
|
-
*
|
|
590
|
-
* @example
|
|
591
|
-
* ```tsx
|
|
592
|
-
* <BrowserFrame variant="browser" url="app.sales-mind.ai" withGlow>
|
|
593
|
-
* <img src="/screenshot.png" alt="SalesMind dashboard" />
|
|
594
|
-
* </BrowserFrame>
|
|
595
|
-
* ```
|
|
596
|
-
*/
|
|
597
|
-
declare const BrowserFrame: React__default.ForwardRefExoticComponent<BrowserFrameProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
598
|
-
|
|
599
|
-
interface VideoEmbedProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
600
|
-
/** Video source URL (YouTube, Vimeo, Loom, or direct) */
|
|
601
|
-
src: string;
|
|
602
|
-
/** Poster image shown before play */
|
|
603
|
-
poster?: string;
|
|
604
|
-
/** Video title for accessibility */
|
|
605
|
-
title: string;
|
|
606
|
-
/** Aspect ratio */
|
|
607
|
-
aspectRatio?: '16/9' | '4/3' | '1/1';
|
|
608
|
-
/** Auto-play when visible (muted, respects prefers-reduced-motion) */
|
|
609
|
-
autoPlay?: boolean;
|
|
610
|
-
/** Wrap embed inside a BrowserFrame */
|
|
611
|
-
withFrame?: boolean;
|
|
612
|
-
/** Analytics event on play */
|
|
613
|
-
onPlay?: () => void;
|
|
614
|
-
}
|
|
615
|
-
/**
|
|
616
|
-
* Responsive video embed with poster + play button overlay.
|
|
617
|
-
* Supports autoPlay via IntersectionObserver (muted, reduced-motion aware)
|
|
618
|
-
* and optional BrowserFrame wrapping for product screenshots.
|
|
619
|
-
*
|
|
620
|
-
* @example
|
|
621
|
-
* ```tsx
|
|
622
|
-
* <VideoEmbed
|
|
623
|
-
* src="https://www.youtube.com/watch?v=dQw4w9WgXcQ"
|
|
624
|
-
* poster="/thumbnails/demo.jpg"
|
|
625
|
-
* title="Product demo video"
|
|
626
|
-
* />
|
|
627
|
-
*
|
|
628
|
-
* <VideoEmbed
|
|
629
|
-
* src="https://www.youtube.com/watch?v=dQw4w9WgXcQ"
|
|
630
|
-
* title="Product demo"
|
|
631
|
-
* autoPlay
|
|
632
|
-
* withFrame
|
|
633
|
-
* />
|
|
634
|
-
* ```
|
|
635
|
-
*/
|
|
636
|
-
declare const VideoEmbed: React__default.ForwardRefExoticComponent<VideoEmbedProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
637
|
-
|
|
638
|
-
interface ExitIntentOverlayProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
639
|
-
/** Content to display in overlay */
|
|
640
|
-
children: React__default.ReactNode;
|
|
641
|
-
/** Whether exit intent detection is active (default: true) */
|
|
642
|
-
enabled?: boolean;
|
|
643
|
-
/** Delay before activation in ms (prevents trigger on initial load) */
|
|
644
|
-
activationDelay?: number;
|
|
645
|
-
/** Pages where overlay should NOT show */
|
|
646
|
-
excludePaths?: string[];
|
|
647
|
-
/** Storage key for suppression after dismiss/convert */
|
|
648
|
-
storageKey?: string;
|
|
649
|
-
/** Suppression duration after dismiss in ms (default: 7 days) */
|
|
650
|
-
suppressionDuration?: number;
|
|
651
|
-
/** Callback on show */
|
|
652
|
-
onShow?: () => void;
|
|
653
|
-
/** Callback on dismiss */
|
|
654
|
-
onDismiss?: () => void;
|
|
655
|
-
}
|
|
656
|
-
/**
|
|
657
|
-
* Exit-intent triggered overlay.
|
|
658
|
-
*
|
|
659
|
-
* @example
|
|
660
|
-
* ```tsx
|
|
661
|
-
* <ExitIntentOverlay storageKey="exit-homepage">
|
|
662
|
-
* <LeadCaptureForm
|
|
663
|
-
* variant="card"
|
|
664
|
-
* title="Before you go..."
|
|
665
|
-
* description="Get our AI prospecting playbook — free."
|
|
666
|
-
* submitLabel="Send Me the Playbook"
|
|
667
|
-
* onSubmit={handleSubmit}
|
|
668
|
-
* />
|
|
669
|
-
* </ExitIntentOverlay>
|
|
670
|
-
* ```
|
|
671
|
-
*/
|
|
672
|
-
declare const ExitIntentOverlay: React__default.ForwardRefExoticComponent<ExitIntentOverlayProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
673
|
-
|
|
674
|
-
/** Item in the before or after column */
|
|
675
|
-
interface BeforeAfterItem {
|
|
676
|
-
/** Item text */
|
|
677
|
-
text: string;
|
|
678
|
-
/** Sentiment affects visual treatment */
|
|
679
|
-
sentiment?: 'negative' | 'positive' | 'neutral';
|
|
680
|
-
}
|
|
681
|
-
/** One side of the comparison */
|
|
682
|
-
interface BeforeAfterSide {
|
|
683
|
-
/** Column label (e.g., "Before SalesMind", "After SalesMind") */
|
|
684
|
-
label: string;
|
|
685
|
-
/** List of items */
|
|
686
|
-
items: BeforeAfterItem[];
|
|
687
|
-
/** Optional media */
|
|
688
|
-
media?: React__default.ReactNode;
|
|
689
|
-
}
|
|
690
|
-
interface BeforeAfterBlockProps extends Omit<SectionShellProps, 'title'> {
|
|
691
|
-
/** Section eyebrow */
|
|
692
|
-
eyebrow?: React__default.ReactNode;
|
|
693
|
-
/** Section title */
|
|
694
|
-
title?: React__default.ReactNode;
|
|
695
|
-
/** Before state */
|
|
696
|
-
before: BeforeAfterSide;
|
|
697
|
-
/** After state */
|
|
698
|
-
after: BeforeAfterSide;
|
|
699
|
-
/** Layout variant */
|
|
700
|
-
variant?: 'split' | 'slider' | 'stacked';
|
|
701
|
-
}
|
|
702
|
-
/**
|
|
703
|
-
* Transformation visualization: before vs. after comparison.
|
|
704
|
-
*
|
|
705
|
-
* @example
|
|
706
|
-
* ```tsx
|
|
707
|
-
* <BeforeAfterBlock
|
|
708
|
-
* title="The SalesMind Transformation"
|
|
709
|
-
* before={{
|
|
710
|
-
* label: 'Without SalesMind',
|
|
711
|
-
* items: [
|
|
712
|
-
* { text: 'Manual prospecting 40hrs/week', sentiment: 'negative' },
|
|
713
|
-
* { text: 'Unpredictable pipeline', sentiment: 'negative' },
|
|
714
|
-
* ],
|
|
715
|
-
* }}
|
|
716
|
-
* after={{
|
|
717
|
-
* label: 'With SalesMind',
|
|
718
|
-
* items: [
|
|
719
|
-
* { text: 'AI handles outreach 24/7', sentiment: 'positive' },
|
|
720
|
-
* { text: 'Predictable qualified meetings', sentiment: 'positive' },
|
|
721
|
-
* ],
|
|
722
|
-
* }}
|
|
723
|
-
* variant="split"
|
|
724
|
-
* />
|
|
725
|
-
* ```
|
|
726
|
-
*/
|
|
727
|
-
declare const BeforeAfterBlock: React__default.ForwardRefExoticComponent<BeforeAfterBlockProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
728
|
-
|
|
729
|
-
/** A single comparison dimension */
|
|
730
|
-
interface CompetitorDiffItem {
|
|
731
|
-
/** The dimension being compared (e.g., "Approach") */
|
|
732
|
-
dimension: string;
|
|
733
|
-
/** How the competitor/category handles it */
|
|
734
|
-
them: string;
|
|
735
|
-
/** How we handle it */
|
|
736
|
-
us: string;
|
|
737
|
-
}
|
|
738
|
-
interface CompetitorDiffProps extends Omit<SectionShellProps, 'title'> {
|
|
739
|
-
/** Section eyebrow */
|
|
740
|
-
eyebrow?: React__default.ReactNode;
|
|
741
|
-
/** Section title */
|
|
742
|
-
title: React__default.ReactNode;
|
|
743
|
-
/** Section subtitle */
|
|
744
|
-
subtitle?: React__default.ReactNode;
|
|
745
|
-
/** Comparison items */
|
|
746
|
-
items: CompetitorDiffItem[];
|
|
747
|
-
/** Competitor/category label (e.g., "Traditional SDR tools") */
|
|
748
|
-
competitorLabel?: string;
|
|
749
|
-
/** Our label (e.g., "SalesMind AI") */
|
|
750
|
-
ourLabel?: string;
|
|
751
|
-
/** Layout variant */
|
|
752
|
-
variant?: 'table' | 'cards' | 'narrative';
|
|
753
|
-
/** Optional CTA */
|
|
754
|
-
cta?: {
|
|
755
|
-
label: string;
|
|
756
|
-
href: string;
|
|
757
|
-
};
|
|
758
|
-
}
|
|
759
|
-
/**
|
|
760
|
-
* Competitive differentiation block.
|
|
761
|
-
*
|
|
762
|
-
* @example
|
|
763
|
-
* ```tsx
|
|
764
|
-
* <CompetitorDiff
|
|
765
|
-
* eyebrow="Why SalesMind"
|
|
766
|
-
* title="Not Another LinkedIn Tool"
|
|
767
|
-
* items={[
|
|
768
|
-
* { dimension: 'Approach', them: 'Spray-and-pray sequences', us: 'AI-personalized at scale' },
|
|
769
|
-
* { dimension: 'Setup', them: 'Weeks of configuration', us: 'Live in 48 hours' },
|
|
770
|
-
* ]}
|
|
771
|
-
* variant="table"
|
|
772
|
-
* />
|
|
773
|
-
* ```
|
|
774
|
-
*/
|
|
775
|
-
declare const CompetitorDiff: React__default.ForwardRefExoticComponent<CompetitorDiffProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
776
|
-
|
|
777
|
-
/** Content for a single stakeholder tab */
|
|
778
|
-
interface StakeholderContent {
|
|
779
|
-
/** Tab headline */
|
|
780
|
-
headline: string;
|
|
781
|
-
/** Tab description */
|
|
782
|
-
description: string;
|
|
783
|
-
/** Feature list */
|
|
784
|
-
features?: Array<{
|
|
785
|
-
title: string;
|
|
786
|
-
description: string;
|
|
787
|
-
icon?: React__default.ReactNode;
|
|
788
|
-
}>;
|
|
789
|
-
/** Testimonial (render as ReactNode for flexibility) */
|
|
790
|
-
testimonial?: React__default.ReactNode;
|
|
791
|
-
/** CTA */
|
|
792
|
-
cta: {
|
|
793
|
-
label: string;
|
|
794
|
-
href: string;
|
|
795
|
-
};
|
|
796
|
-
}
|
|
797
|
-
/** A single stakeholder definition */
|
|
798
|
-
interface StakeholderDefinition {
|
|
799
|
-
/** Tab label */
|
|
800
|
-
label: string;
|
|
801
|
-
/** Tab icon */
|
|
802
|
-
icon?: React__default.ReactNode;
|
|
803
|
-
/** Content for this stakeholder */
|
|
804
|
-
content: StakeholderContent;
|
|
805
|
-
}
|
|
806
|
-
interface StakeholderTabsProps extends Omit<SectionShellProps, 'title'> {
|
|
807
|
-
/** Section eyebrow */
|
|
808
|
-
eyebrow?: React__default.ReactNode;
|
|
809
|
-
/** Section title */
|
|
810
|
-
title?: React__default.ReactNode;
|
|
811
|
-
/** Stakeholder definitions */
|
|
812
|
-
stakeholders: StakeholderDefinition[];
|
|
813
|
-
/** Default active tab index */
|
|
814
|
-
defaultIndex?: number;
|
|
815
|
-
}
|
|
816
|
-
/**
|
|
817
|
-
* Persona-specific content switcher using DS Tabs.
|
|
818
|
-
*
|
|
819
|
-
* @example
|
|
820
|
-
* ```tsx
|
|
821
|
-
* <StakeholderTabs
|
|
822
|
-
* eyebrow="Built For You"
|
|
823
|
-
* title="Whether You Run Outreach or We Do"
|
|
824
|
-
* stakeholders={[
|
|
825
|
-
* {
|
|
826
|
-
* label: 'Founders',
|
|
827
|
-
* content: { headline: '...', description: '...', cta: { label: 'Book Strategy Call', href: '/demo' } },
|
|
828
|
-
* },
|
|
829
|
-
* {
|
|
830
|
-
* label: 'Sales Leaders',
|
|
831
|
-
* content: { headline: '...', description: '...', cta: { label: 'Book Demo', href: '/demo' } },
|
|
832
|
-
* },
|
|
833
|
-
* ]}
|
|
834
|
-
* />
|
|
835
|
-
* ```
|
|
836
|
-
*/
|
|
837
|
-
declare const StakeholderTabs: React__default.ForwardRefExoticComponent<StakeholderTabsProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
838
|
-
|
|
839
|
-
/** A single integration entry */
|
|
840
|
-
interface IntegrationEntry {
|
|
841
|
-
/** Integration name */
|
|
842
|
-
name: string;
|
|
843
|
-
/** Logo (React element or img) */
|
|
844
|
-
logo: React__default.ReactNode;
|
|
845
|
-
/** Short description */
|
|
846
|
-
description?: string;
|
|
847
|
-
/** Category for filtering */
|
|
848
|
-
category: string;
|
|
849
|
-
/** Link to docs/details */
|
|
850
|
-
href?: string;
|
|
851
|
-
/** Optional badge (e.g., "New", "Popular") */
|
|
852
|
-
badge?: string;
|
|
853
|
-
}
|
|
854
|
-
interface IntegrationShowcaseProps extends Omit<SectionShellProps, 'title'> {
|
|
855
|
-
/** Section eyebrow */
|
|
856
|
-
eyebrow?: React__default.ReactNode;
|
|
857
|
-
/** Section title */
|
|
858
|
-
title: React__default.ReactNode;
|
|
859
|
-
/** Section subtitle */
|
|
860
|
-
subtitle?: React__default.ReactNode;
|
|
861
|
-
/** Integration entries */
|
|
862
|
-
integrations: IntegrationEntry[];
|
|
863
|
-
/** Category labels for filtering */
|
|
864
|
-
categories?: string[];
|
|
865
|
-
/** Layout variant */
|
|
866
|
-
variant?: 'grid' | 'list' | 'compact';
|
|
867
|
-
/** Enable category filtering (default: true if categories provided) */
|
|
868
|
-
filterable?: boolean;
|
|
869
|
-
}
|
|
870
|
-
/**
|
|
871
|
-
* Integration grid with category filtering.
|
|
872
|
-
*
|
|
873
|
-
* @example
|
|
874
|
-
* ```tsx
|
|
875
|
-
* <IntegrationShowcase
|
|
876
|
-
* eyebrow="Integrations"
|
|
877
|
-
* title="Works With Your Stack"
|
|
878
|
-
* integrations={[
|
|
879
|
-
* { name: 'Salesforce', logo: <SalesforceLogo />, category: 'CRM' },
|
|
880
|
-
* { name: 'HubSpot', logo: <HubSpotLogo />, category: 'CRM' },
|
|
881
|
-
* { name: 'Slack', logo: <SlackLogo />, category: 'Communication' },
|
|
882
|
-
* ]}
|
|
883
|
-
* categories={['All', 'CRM', 'Communication']}
|
|
884
|
-
* filterable
|
|
885
|
-
* />
|
|
886
|
-
* ```
|
|
887
|
-
*/
|
|
888
|
-
declare const IntegrationShowcase: React__default.ForwardRefExoticComponent<IntegrationShowcaseProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
889
|
-
|
|
890
|
-
/** A certification or compliance badge */
|
|
891
|
-
interface SecurityCertification {
|
|
892
|
-
/** Certification name (e.g., "SOC 2 Type II") */
|
|
893
|
-
name: string;
|
|
894
|
-
/** Icon or badge image */
|
|
895
|
-
icon: React__default.ReactNode;
|
|
896
|
-
/** Description (shown in detailed variant) */
|
|
897
|
-
description?: string;
|
|
898
|
-
/** Link to details/documentation */
|
|
899
|
-
href?: string;
|
|
900
|
-
}
|
|
901
|
-
interface SecurityBlockProps extends Omit<SectionShellProps, 'title'> {
|
|
902
|
-
/** Section eyebrow */
|
|
903
|
-
eyebrow?: React__default.ReactNode;
|
|
904
|
-
/** Section title */
|
|
905
|
-
title: React__default.ReactNode;
|
|
906
|
-
/** Section subtitle */
|
|
907
|
-
subtitle?: React__default.ReactNode;
|
|
908
|
-
/** Certifications/badges */
|
|
909
|
-
certifications?: SecurityCertification[];
|
|
910
|
-
/** Security feature descriptions */
|
|
911
|
-
features?: Array<{
|
|
912
|
-
title: string;
|
|
913
|
-
description: string;
|
|
914
|
-
icon?: React__default.ReactNode;
|
|
915
|
-
}>;
|
|
916
|
-
/** Layout variant */
|
|
917
|
-
variant?: 'badges' | 'detailed' | 'compact';
|
|
918
|
-
}
|
|
919
|
-
/**
|
|
920
|
-
* Security and compliance trust display.
|
|
921
|
-
*
|
|
922
|
-
* @example
|
|
923
|
-
* ```tsx
|
|
924
|
-
* <SecurityBlock
|
|
925
|
-
* eyebrow="Enterprise Security"
|
|
926
|
-
* title="Your Data, Our Priority"
|
|
927
|
-
* certifications={[
|
|
928
|
-
* { name: 'SOC 2 Type II', icon: <ShieldIcon />, description: 'Annual audit...' },
|
|
929
|
-
* { name: 'GDPR Compliant', icon: <EUIcon /> },
|
|
930
|
-
* ]}
|
|
931
|
-
* features={[
|
|
932
|
-
* { title: 'End-to-end encryption', description: '256-bit AES at rest, TLS 1.3 in transit' },
|
|
933
|
-
* ]}
|
|
934
|
-
* variant="detailed"
|
|
935
|
-
* />
|
|
936
|
-
* ```
|
|
937
|
-
*/
|
|
938
|
-
declare const SecurityBlock: React__default.ForwardRefExoticComponent<SecurityBlockProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
939
|
-
|
|
940
|
-
/** Social/external link */
|
|
941
|
-
interface AuthorLink {
|
|
942
|
-
/** Link label (e.g., "Twitter", "LinkedIn") */
|
|
943
|
-
label: string;
|
|
944
|
-
/** Link URL */
|
|
945
|
-
href: string;
|
|
946
|
-
/** Optional icon */
|
|
947
|
-
icon?: React__default.ReactNode;
|
|
948
|
-
}
|
|
949
|
-
interface AuthorBioProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
950
|
-
/** Author name */
|
|
951
|
-
name: string;
|
|
952
|
-
/** Author role or title */
|
|
953
|
-
role?: string;
|
|
954
|
-
/** Avatar image URL */
|
|
955
|
-
avatar?: string;
|
|
956
|
-
/** Biography text */
|
|
957
|
-
bio?: string;
|
|
958
|
-
/** External links */
|
|
959
|
-
links?: AuthorLink[];
|
|
960
|
-
/** Layout variant */
|
|
961
|
-
variant?: 'inline' | 'card' | 'compact' | 'longform';
|
|
962
|
-
}
|
|
963
|
-
/**
|
|
964
|
-
* Author biography card.
|
|
965
|
-
*
|
|
966
|
-
* @example
|
|
967
|
-
* ```tsx
|
|
968
|
-
* <AuthorBio
|
|
969
|
-
* name="Alex Chen"
|
|
970
|
-
* role="Head of Growth at SalesMind AI"
|
|
971
|
-
* avatar="/team/alex.jpg"
|
|
972
|
-
* bio="Alex has 10+ years of experience in B2B growth..."
|
|
973
|
-
* links={[{ label: 'LinkedIn', href: 'https://linkedin.com/in/alexchen' }]}
|
|
974
|
-
* variant="card"
|
|
975
|
-
* />
|
|
976
|
-
* ```
|
|
977
|
-
*/
|
|
978
|
-
declare const AuthorBio: React__default.ForwardRefExoticComponent<AuthorBioProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
979
|
-
|
|
980
|
-
/** A TOC item mapping to a heading */
|
|
981
|
-
interface TOCItem {
|
|
982
|
-
/** Heading element ID */
|
|
983
|
-
id: string;
|
|
984
|
-
/** Heading text */
|
|
985
|
-
title: string;
|
|
986
|
-
/** Heading level (2 = h2, 3 = h3, etc.) */
|
|
987
|
-
level: number;
|
|
988
|
-
}
|
|
989
|
-
interface TableOfContentsProps extends React__default.HTMLAttributes<HTMLElement> {
|
|
990
|
-
/** TOC items (typically extracted from article headings) */
|
|
991
|
-
items: TOCItem[];
|
|
992
|
-
/** Currently active heading ID (controlled) */
|
|
993
|
-
activeId?: string;
|
|
994
|
-
/** Position variant */
|
|
995
|
-
position?: 'sidebar' | 'inline' | 'floating';
|
|
996
|
-
/** Label text */
|
|
997
|
-
label?: string;
|
|
998
|
-
/** Callback when an item is clicked */
|
|
999
|
-
onItemClick?: (id: string) => void;
|
|
1000
|
-
}
|
|
1001
|
-
/**
|
|
1002
|
-
* Sticky table of contents with active heading tracking.
|
|
1003
|
-
*
|
|
1004
|
-
* @example
|
|
1005
|
-
* ```tsx
|
|
1006
|
-
* <TableOfContents
|
|
1007
|
-
* items={[
|
|
1008
|
-
* { id: 'intro', title: 'Introduction', level: 2 },
|
|
1009
|
-
* { id: 'setup', title: 'Getting Started', level: 2 },
|
|
1010
|
-
* { id: 'config', title: 'Configuration', level: 3 },
|
|
1011
|
-
* ]}
|
|
1012
|
-
* position="sidebar"
|
|
1013
|
-
* />
|
|
1014
|
-
* ```
|
|
1015
|
-
*/
|
|
1016
|
-
declare const TableOfContents: React__default.ForwardRefExoticComponent<TableOfContentsProps & React__default.RefAttributes<HTMLElement>>;
|
|
1017
|
-
|
|
1018
|
-
interface RelatedContentProps extends Omit<SectionShellProps, 'title'> {
|
|
1019
|
-
/** Section eyebrow */
|
|
1020
|
-
eyebrow?: React__default.ReactNode;
|
|
1021
|
-
/** Section title */
|
|
1022
|
-
title?: React__default.ReactNode;
|
|
1023
|
-
/** Related article items (uses ArticleCard props) */
|
|
1024
|
-
items: ArticleCardProps[];
|
|
1025
|
-
/** Max items to display */
|
|
1026
|
-
maxVisible?: number;
|
|
1027
|
-
}
|
|
1028
|
-
/**
|
|
1029
|
-
* Related articles section using ArticleCard grid.
|
|
1030
|
-
*
|
|
1031
|
-
* @example
|
|
1032
|
-
* ```tsx
|
|
1033
|
-
* <RelatedContent
|
|
1034
|
-
* title="Related Articles"
|
|
1035
|
-
* items={[
|
|
1036
|
-
* { title: 'AI Outreach Guide', href: '/blog/ai-outreach', ... },
|
|
1037
|
-
* { title: 'Pipeline Automation', href: '/blog/pipeline', ... },
|
|
1038
|
-
* ]}
|
|
1039
|
-
* background="muted"
|
|
1040
|
-
* />
|
|
1041
|
-
* ```
|
|
1042
|
-
*/
|
|
1043
|
-
declare const RelatedContent: React__default.ForwardRefExoticComponent<RelatedContentProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1044
|
-
|
|
1045
|
-
interface CaseStudySectionProps extends Omit<SectionShellProps, 'title'> {
|
|
1046
|
-
/** Section eyebrow */
|
|
1047
|
-
eyebrow?: React__default.ReactNode;
|
|
1048
|
-
/** Section title */
|
|
1049
|
-
title: React__default.ReactNode;
|
|
1050
|
-
/** Section subtitle */
|
|
1051
|
-
subtitle?: React__default.ReactNode;
|
|
1052
|
-
/** Case study items */
|
|
1053
|
-
caseStudies: CaseStudyCardProps[];
|
|
1054
|
-
/** Enable industry filtering */
|
|
1055
|
-
filterable?: boolean;
|
|
1056
|
-
/** Filter labels (derived from caseStudies.industry if not provided) */
|
|
1057
|
-
filters?: string[];
|
|
1058
|
-
/** Max visible items */
|
|
1059
|
-
maxVisible?: number;
|
|
1060
|
-
/** "See all" link */
|
|
1061
|
-
seeAllHref?: string;
|
|
1062
|
-
}
|
|
1063
|
-
/**
|
|
1064
|
-
* Case study showcase section with optional filtering.
|
|
1065
|
-
*
|
|
1066
|
-
* @example
|
|
1067
|
-
* ```tsx
|
|
1068
|
-
* <CaseStudySection
|
|
1069
|
-
* eyebrow="Customer Stories"
|
|
1070
|
-
* title="How Teams Win With SalesMind"
|
|
1071
|
-
* caseStudies={caseStudies}
|
|
1072
|
-
* filterable
|
|
1073
|
-
* seeAllHref="/case-studies"
|
|
1074
|
-
* />
|
|
1075
|
-
* ```
|
|
1076
|
-
*/
|
|
1077
|
-
declare const CaseStudySection: React__default.ForwardRefExoticComponent<CaseStudySectionProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1078
|
-
|
|
1079
|
-
/** Attribution for the manifesto */
|
|
1080
|
-
interface ManifestoAttribution {
|
|
1081
|
-
/** Name */
|
|
1082
|
-
name: string;
|
|
1083
|
-
/** Role */
|
|
1084
|
-
role: string;
|
|
1085
|
-
/** Avatar URL */
|
|
1086
|
-
avatar?: string;
|
|
1087
|
-
}
|
|
1088
|
-
interface ManifestoBlockProps extends Omit<SectionShellProps, 'children'> {
|
|
1089
|
-
/** The manifesto statement (plain text or ReactNode) */
|
|
1090
|
-
statement: React__default.ReactNode;
|
|
1091
|
-
/** Attribution (e.g., founder) */
|
|
1092
|
-
attribution?: ManifestoAttribution;
|
|
1093
|
-
/** Visual variant */
|
|
1094
|
-
variant?: 'centered' | 'editorial' | 'quote';
|
|
1095
|
-
}
|
|
1096
|
-
/**
|
|
1097
|
-
* Bold brand philosophy statement.
|
|
1098
|
-
*
|
|
1099
|
-
* @example
|
|
1100
|
-
* ```tsx
|
|
1101
|
-
* <ManifestoBlock
|
|
1102
|
-
* statement="We believe pipeline shouldn't be a prayer. It should be infrastructure."
|
|
1103
|
-
* attribution={{ name: 'Julien', role: 'Founder & CEO' }}
|
|
1104
|
-
* variant="quote"
|
|
1105
|
-
* padding="lg"
|
|
1106
|
-
* />
|
|
1107
|
-
* ```
|
|
1108
|
-
*/
|
|
1109
|
-
declare const ManifestoBlock: React__default.ForwardRefExoticComponent<ManifestoBlockProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1110
|
-
|
|
1111
|
-
/** Status of a compliance certification */
|
|
1112
|
-
type ComplianceStatus = 'certified' | 'in-progress' | 'planned';
|
|
1113
|
-
/** A single compliance item */
|
|
1114
|
-
interface ComplianceItem {
|
|
1115
|
-
/** Certification name */
|
|
1116
|
-
name: string;
|
|
1117
|
-
/** Current status */
|
|
1118
|
-
status: ComplianceStatus;
|
|
1119
|
-
/** Icon */
|
|
1120
|
-
icon?: React__default.ReactNode;
|
|
1121
|
-
/** Description */
|
|
1122
|
-
description?: string;
|
|
1123
|
-
/** Link to documentation or certificate */
|
|
1124
|
-
documentHref?: string;
|
|
1125
|
-
}
|
|
1126
|
-
interface ComplianceGridProps extends Omit<SectionShellProps, 'title'> {
|
|
1127
|
-
/** Section eyebrow */
|
|
1128
|
-
eyebrow?: React__default.ReactNode;
|
|
1129
|
-
/** Section title */
|
|
1130
|
-
title: React__default.ReactNode;
|
|
1131
|
-
/** Section subtitle */
|
|
1132
|
-
subtitle?: React__default.ReactNode;
|
|
1133
|
-
/** Compliance items */
|
|
1134
|
-
items: ComplianceItem[];
|
|
1135
|
-
}
|
|
1136
|
-
/**
|
|
1137
|
-
* Compliance certifications grid with status badges.
|
|
1138
|
-
*
|
|
1139
|
-
* @example
|
|
1140
|
-
* ```tsx
|
|
1141
|
-
* <ComplianceGrid
|
|
1142
|
-
* eyebrow="Compliance"
|
|
1143
|
-
* title="Enterprise-Grade Security"
|
|
1144
|
-
* items={[
|
|
1145
|
-
* { name: 'SOC 2 Type II', status: 'certified', icon: <ShieldIcon /> },
|
|
1146
|
-
* { name: 'ISO 27001', status: 'in-progress', icon: <LockIcon /> },
|
|
1147
|
-
* { name: 'HIPAA', status: 'planned', icon: <HospitalIcon /> },
|
|
1148
|
-
* ]}
|
|
1149
|
-
* />
|
|
1150
|
-
* ```
|
|
1151
|
-
*/
|
|
1152
|
-
declare const ComplianceGrid: React__default.ForwardRefExoticComponent<ComplianceGridProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1153
|
-
|
|
1154
|
-
/** Node type determines visual treatment */
|
|
1155
|
-
type ArchitectureNodeType = 'source' | 'process' | 'destination' | 'integration';
|
|
1156
|
-
/** A node in the architecture diagram */
|
|
1157
|
-
interface ArchitectureNode {
|
|
1158
|
-
/** Unique identifier */
|
|
1159
|
-
id: string;
|
|
1160
|
-
/** Display label */
|
|
1161
|
-
label: string;
|
|
1162
|
-
/** Optional icon */
|
|
1163
|
-
icon?: React__default.ReactNode;
|
|
1164
|
-
/** Node type affects styling */
|
|
1165
|
-
type: ArchitectureNodeType;
|
|
1166
|
-
/** Tooltip description */
|
|
1167
|
-
description?: string;
|
|
1168
|
-
}
|
|
1169
|
-
/** A connection between two nodes */
|
|
1170
|
-
interface ArchitectureConnection {
|
|
1171
|
-
/** Source node ID */
|
|
1172
|
-
from: string;
|
|
1173
|
-
/** Destination node ID */
|
|
1174
|
-
to: string;
|
|
1175
|
-
/** Connection label */
|
|
1176
|
-
label?: string;
|
|
1177
|
-
/** Show animated dashes */
|
|
1178
|
-
animated?: boolean;
|
|
1179
|
-
}
|
|
1180
|
-
interface ArchitectureDiagramProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
1181
|
-
/** Nodes in the diagram */
|
|
1182
|
-
nodes: ArchitectureNode[];
|
|
1183
|
-
/** Connections between nodes */
|
|
1184
|
-
connections: ArchitectureConnection[];
|
|
1185
|
-
/** Flow direction */
|
|
1186
|
-
direction?: 'horizontal' | 'vertical';
|
|
1187
|
-
}
|
|
1188
|
-
/**
|
|
1189
|
-
* System architecture visualization with nodes and connections.
|
|
1190
|
-
*
|
|
1191
|
-
* @example
|
|
1192
|
-
* ```tsx
|
|
1193
|
-
* <ArchitectureDiagram
|
|
1194
|
-
* nodes={[
|
|
1195
|
-
* { id: 'linkedin', label: 'LinkedIn', type: 'source' },
|
|
1196
|
-
* { id: 'ai', label: 'SalesMind AI', type: 'process' },
|
|
1197
|
-
* { id: 'crm', label: 'CRM', type: 'destination' },
|
|
1198
|
-
* ]}
|
|
1199
|
-
* connections={[
|
|
1200
|
-
* { from: 'linkedin', to: 'ai', animated: true },
|
|
1201
|
-
* { from: 'ai', to: 'crm', animated: true },
|
|
1202
|
-
* ]}
|
|
1203
|
-
* direction="horizontal"
|
|
1204
|
-
* />
|
|
1205
|
-
* ```
|
|
1206
|
-
*/
|
|
1207
|
-
declare const ArchitectureDiagram: React__default.ForwardRefExoticComponent<ArchitectureDiagramProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1208
|
-
|
|
1209
|
-
interface SegmentSwitchProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
1210
|
-
/** Active segment key */
|
|
1211
|
-
segment?: string;
|
|
1212
|
-
/** Map of segment keys to content */
|
|
1213
|
-
segments: Record<string, React__default.ReactNode>;
|
|
1214
|
-
/** Fallback content when no segment matches */
|
|
1215
|
-
fallback?: React__default.ReactNode;
|
|
1216
|
-
/** Segment source for auto-detection */
|
|
1217
|
-
source?: 'utm' | 'cookie' | 'manual';
|
|
1218
|
-
/** UTM parameter name (default: "utm_segment") */
|
|
1219
|
-
utmParam?: string;
|
|
1220
|
-
/** Cookie name (default: "ds_segment") */
|
|
1221
|
-
cookieName?: string;
|
|
1222
|
-
}
|
|
1223
|
-
/**
|
|
1224
|
-
* Segment-based content renderer.
|
|
1225
|
-
*
|
|
1226
|
-
* @example
|
|
1227
|
-
* ```tsx
|
|
1228
|
-
* <SegmentSwitch
|
|
1229
|
-
* segment="founder"
|
|
1230
|
-
* segments={{
|
|
1231
|
-
* founder: <FounderContent />,
|
|
1232
|
-
* operator: <OperatorContent />,
|
|
1233
|
-
* }}
|
|
1234
|
-
* fallback={<DefaultContent />}
|
|
1235
|
-
* />
|
|
1236
|
-
* ```
|
|
1237
|
-
*/
|
|
1238
|
-
declare const SegmentSwitch: React__default.ForwardRefExoticComponent<SegmentSwitchProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1239
|
-
|
|
1240
|
-
/** What triggers a stage change */
|
|
1241
|
-
type IntentTriggerType = 'scroll' | 'time' | 'pages';
|
|
1242
|
-
/** A single CTA stage */
|
|
1243
|
-
interface IntentStage {
|
|
1244
|
-
/** What triggers this stage */
|
|
1245
|
-
trigger: {
|
|
1246
|
-
type: IntentTriggerType;
|
|
1247
|
-
threshold: number;
|
|
1248
|
-
};
|
|
1249
|
-
/** CTA label */
|
|
1250
|
-
label: string;
|
|
1251
|
-
/** CTA link */
|
|
1252
|
-
href: string;
|
|
1253
|
-
/** Button variant (escalates with intent) */
|
|
1254
|
-
variant?: 'outline' | 'primary';
|
|
1255
|
-
}
|
|
1256
|
-
interface IntentCTAProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
1257
|
-
/** CTA stages ordered by escalation */
|
|
1258
|
-
stages: IntentStage[];
|
|
1259
|
-
/** Default CTA (shown before any stage triggers) */
|
|
1260
|
-
defaultCta: {
|
|
1261
|
-
label: string;
|
|
1262
|
-
href: string;
|
|
1263
|
-
variant?: 'outline' | 'primary';
|
|
1264
|
-
};
|
|
1265
|
-
/** External page count for 'pages' trigger type (tracked by consuming app) */
|
|
1266
|
-
pageCount?: number;
|
|
1267
|
-
}
|
|
1268
|
-
/**
|
|
1269
|
-
* Adaptive CTA that escalates with demonstrated visitor intent.
|
|
1270
|
-
*
|
|
1271
|
-
* @example
|
|
1272
|
-
* ```tsx
|
|
1273
|
-
* <IntentCTA
|
|
1274
|
-
* defaultCta={{ label: 'Learn More', href: '/about', variant: 'outline' }}
|
|
1275
|
-
* stages={[
|
|
1276
|
-
* { trigger: { type: 'scroll', threshold: 50 }, label: 'See Pricing', href: '/pricing', variant: 'outline' },
|
|
1277
|
-
* { trigger: { type: 'time', threshold: 30 }, label: 'Book a Demo', href: '/demo', variant: 'primary' },
|
|
1278
|
-
* { trigger: { type: 'scroll', threshold: 80 }, label: 'Start Free Trial', href: '/signup', variant: 'primary' },
|
|
1279
|
-
* ]}
|
|
1280
|
-
* />
|
|
1281
|
-
* ```
|
|
1282
|
-
*/
|
|
1283
|
-
declare const IntentCTA: React__default.ForwardRefExoticComponent<IntentCTAProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1284
|
-
|
|
1285
|
-
/** Calculator input definition */
|
|
1286
|
-
interface ValueAnchorInput {
|
|
1287
|
-
/** Input name (form key) */
|
|
1288
|
-
name: string;
|
|
1289
|
-
/** Display label */
|
|
1290
|
-
label: string;
|
|
1291
|
-
/** Input type */
|
|
1292
|
-
type: 'number' | 'slider';
|
|
1293
|
-
/** Default value */
|
|
1294
|
-
defaultValue: number;
|
|
1295
|
-
/** Min for slider */
|
|
1296
|
-
min?: number;
|
|
1297
|
-
/** Max for slider */
|
|
1298
|
-
max?: number;
|
|
1299
|
-
/** Step for slider */
|
|
1300
|
-
step?: number;
|
|
1301
|
-
/** Display prefix (e.g., "$") */
|
|
1302
|
-
prefix?: string;
|
|
1303
|
-
/** Display suffix (e.g., "%") */
|
|
1304
|
-
suffix?: string;
|
|
1305
|
-
}
|
|
1306
|
-
/** Calculator output */
|
|
1307
|
-
interface ValueAnchorOutput {
|
|
1308
|
-
/** Primary metric (large display) */
|
|
1309
|
-
primaryMetric: {
|
|
1310
|
-
value: number;
|
|
1311
|
-
label: string;
|
|
1312
|
-
prefix?: string;
|
|
1313
|
-
suffix?: string;
|
|
1314
|
-
};
|
|
1315
|
-
/** Supporting metrics */
|
|
1316
|
-
secondaryMetrics: Array<{
|
|
1317
|
-
value: number;
|
|
1318
|
-
label: string;
|
|
1319
|
-
prefix?: string;
|
|
1320
|
-
suffix?: string;
|
|
1321
|
-
}>;
|
|
1322
|
-
/** Optional cost comparison */
|
|
1323
|
-
costComparison?: {
|
|
1324
|
-
without: {
|
|
1325
|
-
value: number;
|
|
1326
|
-
label: string;
|
|
1327
|
-
};
|
|
1328
|
-
with: {
|
|
1329
|
-
value: number;
|
|
1330
|
-
label: string;
|
|
1331
|
-
};
|
|
1332
|
-
savings: {
|
|
1333
|
-
value: number;
|
|
1334
|
-
label: string;
|
|
1335
|
-
};
|
|
1336
|
-
};
|
|
1337
|
-
}
|
|
1338
|
-
interface ValueAnchorProps extends Omit<SectionShellProps, 'title'> {
|
|
1339
|
-
/** Section eyebrow */
|
|
1340
|
-
eyebrow?: React__default.ReactNode;
|
|
1341
|
-
/** Section title */
|
|
1342
|
-
title: React__default.ReactNode;
|
|
1343
|
-
/** Section subtitle */
|
|
1344
|
-
subtitle?: React__default.ReactNode;
|
|
1345
|
-
/** Calculator inputs */
|
|
1346
|
-
inputs: ValueAnchorInput[];
|
|
1347
|
-
/** Calculation function */
|
|
1348
|
-
calculate: (values: Record<string, number>) => ValueAnchorOutput;
|
|
1349
|
-
/** CTA shown after calculation */
|
|
1350
|
-
cta?: {
|
|
1351
|
-
label: string;
|
|
1352
|
-
href: string;
|
|
1353
|
-
};
|
|
1354
|
-
}
|
|
1355
|
-
/**
|
|
1356
|
-
* Pipeline value calculator — anchors on outcome value before showing cost.
|
|
1357
|
-
*
|
|
1358
|
-
* @example
|
|
1359
|
-
* ```tsx
|
|
1360
|
-
* <ValueAnchor
|
|
1361
|
-
* title="See Your Pipeline Potential"
|
|
1362
|
-
* inputs={[
|
|
1363
|
-
* { name: 'meetings', label: 'Monthly meetings', type: 'slider', defaultValue: 10, min: 5, max: 50 },
|
|
1364
|
-
* { name: 'dealSize', label: 'Avg deal size', type: 'number', defaultValue: 5000, prefix: '$' },
|
|
1365
|
-
* ]}
|
|
1366
|
-
* calculate={(v) => ({
|
|
1367
|
-
* primaryMetric: { value: v.meetings * 12 * v.dealSize * 0.2, label: 'Annual Pipeline Value', prefix: '$' },
|
|
1368
|
-
* secondaryMetrics: [...],
|
|
1369
|
-
* })}
|
|
1370
|
-
* />
|
|
1371
|
-
* ```
|
|
1372
|
-
*/
|
|
1373
|
-
declare const ValueAnchor: React__default.ForwardRefExoticComponent<ValueAnchorProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1374
|
-
|
|
1375
|
-
interface ComparisonColumn {
|
|
1376
|
-
/** Column heading (e.g. "Hiring SDRs", "SalesMind") */
|
|
1377
|
-
label: string;
|
|
1378
|
-
/** Whether this column is highlighted as the recommended option */
|
|
1379
|
-
highlighted?: boolean;
|
|
1380
|
-
/** Optional badge above the column header */
|
|
1381
|
-
badge?: string;
|
|
1382
|
-
}
|
|
1383
|
-
interface ComparisonRow {
|
|
1384
|
-
/** Row label (the thing being compared) */
|
|
1385
|
-
label: string;
|
|
1386
|
-
/** Values for each column, in the same order as columns */
|
|
1387
|
-
values: (string | React__default.ReactNode)[];
|
|
1388
|
-
/** Optional category divider — if true, renders as a category header */
|
|
1389
|
-
isCategory?: boolean;
|
|
1390
|
-
}
|
|
1391
|
-
interface ComparisonTableProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
1392
|
-
/** Column definitions */
|
|
1393
|
-
columns: ComparisonColumn[];
|
|
1394
|
-
/** Row data */
|
|
1395
|
-
rows: ComparisonRow[];
|
|
1396
|
-
/** Optional table caption for accessibility */
|
|
1397
|
-
caption?: string;
|
|
1398
|
-
}
|
|
1399
|
-
declare const ComparisonTable: React__default.ForwardRefExoticComponent<ComparisonTableProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1400
|
-
|
|
1401
|
-
interface GuaranteeHighlightProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
1402
|
-
/** The guarantee statement (e.g. "10+ qualified meetings per month") */
|
|
1403
|
-
guarantee: string;
|
|
1404
|
-
/** Supporting detail or condition text */
|
|
1405
|
-
detail?: string;
|
|
1406
|
-
/** Optional fine print (e.g. "Guarantee activates after onboarding alignment") */
|
|
1407
|
-
finePrint?: string;
|
|
1408
|
-
/** Visual variant */
|
|
1409
|
-
variant?: 'default' | 'brand' | 'minimal';
|
|
1410
|
-
/** Optional icon — pass a React node (e.g. an SVG) */
|
|
1411
|
-
icon?: React__default.ReactNode;
|
|
1412
|
-
}
|
|
1413
|
-
declare const GuaranteeHighlight: React__default.ForwardRefExoticComponent<GuaranteeHighlightProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1414
|
-
|
|
1415
|
-
interface ROIComparisonItem {
|
|
1416
|
-
/** Label (e.g. "Hiring 3 SDRs") */
|
|
1417
|
-
label: string;
|
|
1418
|
-
/** Monthly cost string */
|
|
1419
|
-
monthlyCost: string;
|
|
1420
|
-
/** Annual cost string */
|
|
1421
|
-
annualCost: string;
|
|
1422
|
-
/** Whether this item is the "winner" (highlighted) */
|
|
1423
|
-
isRecommended?: boolean;
|
|
1424
|
-
/** Additional context text */
|
|
1425
|
-
context?: string;
|
|
1426
|
-
}
|
|
1427
|
-
interface ROICalculatorProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
1428
|
-
/** Section eyebrow text */
|
|
1429
|
-
eyebrow?: string;
|
|
1430
|
-
/** Section title */
|
|
1431
|
-
title?: string;
|
|
1432
|
-
/** Comparison items to display */
|
|
1433
|
-
items: ROIComparisonItem[];
|
|
1434
|
-
/** Optional summary text below the comparison */
|
|
1435
|
-
summary?: React__default.ReactNode;
|
|
1436
|
-
/** Optional savings callout (e.g. "Save $120,000/year") */
|
|
1437
|
-
savingsCallout?: string;
|
|
1438
|
-
}
|
|
1439
|
-
declare const ROICalculator: React__default.ForwardRefExoticComponent<ROICalculatorProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1440
|
-
|
|
1441
|
-
interface ICPFilterItem {
|
|
1442
|
-
/** Description text */
|
|
1443
|
-
text: string;
|
|
1444
|
-
}
|
|
1445
|
-
interface ICPFilterProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
1446
|
-
/** Items describing who this IS for */
|
|
1447
|
-
qualifiedItems: ICPFilterItem[];
|
|
1448
|
-
/** Items describing who this is NOT for */
|
|
1449
|
-
disqualifiedItems: ICPFilterItem[];
|
|
1450
|
-
/** Heading for the qualified column */
|
|
1451
|
-
qualifiedHeading?: string;
|
|
1452
|
-
/** Heading for the disqualified column */
|
|
1453
|
-
disqualifiedHeading?: string;
|
|
1454
|
-
/** Layout variant */
|
|
1455
|
-
variant?: 'columns' | 'stacked';
|
|
1456
|
-
}
|
|
1457
|
-
declare const ICPFilter: React__default.ForwardRefExoticComponent<ICPFilterProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1458
|
-
|
|
1459
|
-
interface ObjectionItem {
|
|
1460
|
-
/** The objection/question (e.g. "Is this just LinkedIn automation?") */
|
|
1461
|
-
question: string;
|
|
1462
|
-
/** The strategic answer/reframe */
|
|
1463
|
-
answer: string;
|
|
1464
|
-
/** Optional tag/category (e.g. "Safety", "Quality", "Process") */
|
|
1465
|
-
tag?: string;
|
|
1466
|
-
}
|
|
1467
|
-
interface ObjectionFAQProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
1468
|
-
/** List of objection items */
|
|
1469
|
-
items: ObjectionItem[];
|
|
1470
|
-
/** Section title */
|
|
1471
|
-
title?: string;
|
|
1472
|
-
/** Section subtitle */
|
|
1473
|
-
subtitle?: string;
|
|
1474
|
-
/** Whether multiple items can be open simultaneously */
|
|
1475
|
-
allowMultiple?: boolean;
|
|
1476
|
-
/** Initial open item index */
|
|
1477
|
-
defaultOpenIndex?: number;
|
|
1478
|
-
}
|
|
1479
|
-
declare const ObjectionFAQ: React__default.ForwardRefExoticComponent<ObjectionFAQProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1480
|
-
|
|
1481
|
-
interface MotionContainerProps extends HTMLMotionProps<'div'> {
|
|
1482
|
-
children: React__default.ReactNode;
|
|
1483
|
-
viewportMargin?: string;
|
|
1484
|
-
once?: boolean;
|
|
1485
|
-
stagger?: boolean;
|
|
1486
|
-
delay?: number;
|
|
1487
|
-
}
|
|
1488
|
-
declare const MotionContainer: ({ children, viewportMargin, once, stagger, delay, className, ...props }: MotionContainerProps) => react_jsx_runtime.JSX.Element;
|
|
1489
|
-
|
|
1490
|
-
interface MotionTextProps extends HTMLMotionProps<'div'> {
|
|
1491
|
-
text: string;
|
|
1492
|
-
type?: 'word' | 'char';
|
|
1493
|
-
highlightWords?: string[];
|
|
1494
|
-
className?: string;
|
|
1495
|
-
}
|
|
1496
|
-
declare const MotionText: ({ text, type, highlightWords, className, ...props }: MotionTextProps) => react_jsx_runtime.JSX.Element;
|
|
1497
|
-
|
|
1498
|
-
export { ICPFilter as $, type AgitationPoint as A, BeforeAfterBlock as B, CTASection as C, type CaseStudyMetric as D, CaseStudySection as E, type CaseStudySectionProps as F, type ComparisonColumn as G, type ComparisonRow as H, ComparisonTable as I, type ComparisonTableProps as J, CompetitorDiff as K, type CompetitorDiffItem as L, type CompetitorDiffProps as M, ComplianceGrid as N, type ComplianceGridProps as O, type ComplianceItem as P, type ComplianceStatus as Q, ExitIntentOverlay as R, type SectionShellProps as S, type ExitIntentOverlayProps as T, type FeatureItem as U, FeatureSection as V, type FeatureSectionProps as W, GuaranteeHighlight as X, type GuaranteeHighlightProps as Y, HeroSection as Z, type HeroSectionProps as _, AnnouncementBar as a, type StakeholderContent as a$, type ICPFilterItem as a0, type ICPFilterProps as a1, type IntegrationEntry as a2, IntegrationShowcase as a3, type IntegrationShowcaseProps as a4, IntentCTA as a5, type IntentCTAProps as a6, type IntentStage as a7, type IntentTriggerType as a8, LeadCaptureForm as a9, type ProblemAgitationProps as aA, ProcessTimeline as aB, type ProcessTimelineProps as aC, ROICalculator as aD, type ROICalculatorProps as aE, type ROIComparisonItem as aF, RelatedContent as aG, type RelatedContentProps as aH, SectionHeader as aI, type SectionHeaderProps as aJ, SectionShell as aK, SecurityBlock as aL, type SecurityBlockProps as aM, type SecurityCertification as aN, SegmentSwitch as aO, type SegmentSwitchProps as aP, SocialProof as aQ, SocialProofCard as aR, type SocialProofCardProps as aS, SocialProofCarousel as aT, type SocialProofCarouselProps as aU, SocialProofFeatured as aV, type SocialProofFeaturedProps as aW, SocialProofGrid as aX, type SocialProofGridProps as aY, SocialProofLogos as aZ, type SocialProofLogosProps as a_, type LeadCaptureFormProps as aa, type LogoItem as ab, type ManifestoAttribution as ac, ManifestoBlock as ad, type ManifestoBlockProps as ae, type Media as af, MetricCounter as ag, type MetricCounterProps as ah, MotionContainer as ai, type MotionContainerProps as aj, MotionText as ak, type MotionTextProps as al, ObjectionFAQ as am, type ObjectionFAQProps as an, type ObjectionItem as ao, type Platform as ap, PlatformBadge as aq, type PlatformBadgeProps as ar, PricingCard as as, type PricingCardProps as at, type PricingFeature as au, PricingSection as av, type PricingSectionProps as aw, PricingToggle as ax, type PricingToggleProps as ay, ProblemAgitation as az, type AnnouncementBarProps as b, type StakeholderDefinition as b0, StakeholderTabs as b1, type StakeholderTabsProps as b2, type StatItem as b3, StatsSection as b4, type StatsSectionProps as b5, StickyActionBar as b6, type StickyActionBarProps as b7, type TOCItem as b8, TableOfContents as b9, type TableOfContentsProps as ba, type TimelineStep as bb, ValueAnchor as bc, type ValueAnchorInput as bd, type ValueAnchorOutput as be, type ValueAnchorProps as bf, VerticalVideoGrid as bg, type VerticalVideoGridProps as bh, VideoEmbed as bi, type VideoEmbedProps as bj, type ArchitectureConnection as c, ArchitectureDiagram as d, type ArchitectureDiagramProps as e, type ArchitectureNode as f, type ArchitectureNodeType as g, ArticleCard as h, type ArticleCardProps as i, ArticleLayout as j, type ArticleLayoutProps as k, type Author as l, AuthorBio as m, type AuthorBioProps as n, type AuthorLink as o, type BeforeAfterBlockProps as p, type BeforeAfterItem as q, type BeforeAfterSide as r, BookingEmbed as s, type BookingEmbedProps as t, BrowserFrame as u, type BrowserFrameProps as v, type CTASectionProps as w, type CardMetric as x, CaseStudyCard as y, type CaseStudyCardProps as z };
|