@salesmind-ai/design-system 0.5.0 → 0.7.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/README.md +2 -0
- package/dist/Anton-Regular-MLEXVTB2.woff2 +0 -0
- package/dist/admin/index.cjs +5 -61
- package/dist/admin/index.css +0 -3918
- package/dist/admin/index.css.map +1 -1
- package/dist/admin/index.d.cts +1 -422
- package/dist/admin/index.d.ts +1 -422
- package/dist/admin/index.js +1 -5
- package/dist/blog/index.cjs +13 -34
- package/dist/blog/index.css +0 -579
- package/dist/blog/index.css.map +1 -1
- package/dist/blog/index.d.cts +1 -54
- package/dist/blog/index.d.ts +1 -54
- package/dist/blog/index.js +5 -6
- package/dist/charts/index.cjs +0 -46
- package/dist/charts/index.d.cts +1 -452
- package/dist/charts/index.d.ts +1 -452
- package/dist/charts/index.js +1 -3
- package/dist/{chunk-HDVAMYSG.js → chunk-27Y5ESMM.js} +7 -2
- package/dist/chunk-27Y5ESMM.js.map +1 -0
- package/dist/{chunk-YTYDQBVY.cjs → chunk-2VVRZBUR.cjs} +4 -4
- package/dist/{chunk-GQELL2MF.cjs → chunk-3NS6X2R4.cjs} +20 -203
- package/dist/chunk-3NS6X2R4.cjs.map +1 -0
- package/dist/{chunk-XEX2AEZK.cjs → chunk-65DTHLVX.cjs} +66 -186
- package/dist/chunk-65DTHLVX.cjs.map +1 -0
- package/dist/{chunk-QALDZ7WQ.js → chunk-6BUS7RMS.js} +21 -198
- package/dist/chunk-6BUS7RMS.js.map +1 -0
- package/dist/{chunk-BJZ2DKS5.cjs → chunk-6QIQCUYC.cjs} +11 -10
- package/dist/chunk-6QIQCUYC.cjs.map +1 -0
- package/dist/{chunk-H2Y6BSTL.cjs → chunk-7EUR3AKV.cjs} +1 -1
- package/dist/chunk-7EUR3AKV.cjs.map +1 -0
- package/dist/{chunk-VFJZQQZU.js → chunk-AMNY5TS3.js} +11 -10
- package/dist/chunk-AMNY5TS3.js.map +1 -0
- package/dist/{chunk-YJ6C3EKW.js → chunk-CLXLQCNQ.js} +52 -168
- package/dist/chunk-CLXLQCNQ.js.map +1 -0
- package/dist/{chunk-H2KQ3WSH.cjs → chunk-CVLD5RQK.cjs} +12 -14
- package/dist/chunk-CVLD5RQK.cjs.map +1 -0
- package/dist/chunk-EPD4ZEPY.cjs +344 -0
- package/dist/chunk-EPD4ZEPY.cjs.map +1 -0
- package/dist/chunk-FXYOSA4E.cjs +118 -0
- package/dist/chunk-FXYOSA4E.cjs.map +1 -0
- package/dist/{chunk-ECXBTUH6.cjs → chunk-GPHQGLR5.cjs} +27 -204
- package/dist/chunk-GPHQGLR5.cjs.map +1 -0
- package/dist/{chunk-Y26OHHMX.js → chunk-HHQ6J7B6.js} +513 -888
- package/dist/chunk-HHQ6J7B6.js.map +1 -0
- package/dist/chunk-JPUJWI7F.cjs +73 -0
- package/dist/chunk-JPUJWI7F.cjs.map +1 -0
- package/dist/{chunk-6UNG76Y2.js → chunk-K526GN7P.js} +2 -2
- package/dist/{chunk-SICKWUWB.js → chunk-KJHPOB3J.js} +1 -1
- package/dist/chunk-KJHPOB3J.js.map +1 -0
- package/dist/chunk-KXVFFEGD.js +60 -0
- package/dist/chunk-KXVFFEGD.js.map +1 -0
- package/dist/chunk-LQB7QLD3.js +288 -0
- package/dist/chunk-LQB7QLD3.js.map +1 -0
- package/dist/chunk-LUD52ZJF.cjs +726 -0
- package/dist/chunk-LUD52ZJF.cjs.map +1 -0
- package/dist/{chunk-7UZ5DETZ.js → chunk-MBAG654R.js} +4 -216
- package/dist/chunk-MBAG654R.js.map +1 -0
- package/dist/chunk-OMP6FAZ6.cjs +183 -0
- package/dist/chunk-OMP6FAZ6.cjs.map +1 -0
- package/dist/{chunk-WYH4TKS5.js → chunk-PBYRTNQ5.js} +6 -8
- package/dist/chunk-PBYRTNQ5.js.map +1 -0
- package/dist/chunk-PYREXCZK.js +679 -0
- package/dist/chunk-PYREXCZK.js.map +1 -0
- package/dist/{chunk-6D22TFLA.cjs → chunk-R3ZECV5P.cjs} +9 -4
- package/dist/chunk-R3ZECV5P.cjs.map +1 -0
- package/dist/{chunk-P5BOFE5A.js → chunk-RSLA2FJN.js} +28 -183
- package/dist/chunk-RSLA2FJN.js.map +1 -0
- package/dist/chunk-S46SKHMD.js +173 -0
- package/dist/chunk-S46SKHMD.js.map +1 -0
- package/dist/chunk-SFXTB7JL.js +190 -0
- package/dist/chunk-SFXTB7JL.js.map +1 -0
- package/dist/chunk-SGYXYMKZ.cjs +214 -0
- package/dist/chunk-SGYXYMKZ.cjs.map +1 -0
- package/dist/chunk-UGKYP6F3.cjs +296 -0
- package/dist/chunk-UGKYP6F3.cjs.map +1 -0
- package/dist/chunk-WB6XDNU7.js +115 -0
- package/dist/chunk-WB6XDNU7.js.map +1 -0
- package/dist/{chunk-LTPTW2US.cjs → chunk-WE4QIIVN.cjs} +592 -974
- package/dist/chunk-WE4QIIVN.cjs.map +1 -0
- package/dist/core/index.cjs +144 -626
- package/dist/core/index.css +178 -3567
- package/dist/core/index.css.map +1 -1
- package/dist/core/index.d.cts +940 -902
- package/dist/core/index.d.ts +940 -902
- package/dist/core/index.js +6 -12
- package/dist/i18n/index.cjs +54 -49
- package/dist/i18n/index.d.cts +46 -11
- package/dist/i18n/index.d.ts +46 -11
- package/dist/i18n/index.js +2 -1
- package/dist/index-BJ8rBqrO.d.cts +1100 -0
- package/dist/index-BxMqCbqE.d.ts +1100 -0
- package/dist/index.cjs +507 -1001
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +6057 -16713
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +306 -21
- package/dist/index.d.ts +306 -21
- package/dist/index.js +274 -39
- package/dist/index.js.map +1 -1
- package/dist/marketing/index.cjs +33 -76
- package/dist/marketing/index.css +1896 -3234
- package/dist/marketing/index.css.map +1 -1
- package/dist/marketing/index.d.cts +3 -1351
- package/dist/marketing/index.d.ts +3 -1351
- package/dist/marketing/index.js +5 -8
- package/dist/motion/index.cjs +3 -20
- package/dist/motion/index.css +0 -580
- package/dist/motion/index.css.map +1 -1
- package/dist/motion/index.d.cts +1 -37
- package/dist/motion/index.d.ts +1 -37
- package/dist/motion/index.js +1 -2
- package/dist/nav/index.cjs +10 -35
- package/dist/nav/index.css +28 -580
- package/dist/nav/index.css.map +1 -1
- package/dist/nav/index.d.cts +2 -60
- package/dist/nav/index.d.ts +2 -60
- package/dist/nav/index.js +1 -2
- package/dist/report/index.cjs +1166 -175
- package/dist/report/index.cjs.map +1 -1
- package/dist/report/index.d.cts +208 -5
- package/dist/report/index.d.ts +208 -5
- package/dist/report/index.js +1141 -3
- package/dist/report/index.js.map +1 -1
- package/dist/sections/index.cjs +8 -10
- package/dist/sections/index.cjs.map +1 -1
- package/dist/sections/index.css +0 -206
- package/dist/sections/index.css.map +1 -1
- package/dist/sections/index.js +2 -4
- package/dist/sections/index.js.map +1 -1
- package/dist/social-media/index.cjs +4 -0
- package/dist/social-media/index.cjs.map +1 -0
- package/dist/social-media/index.d.cts +2 -0
- package/dist/social-media/index.d.ts +2 -0
- package/dist/social-media/index.js +3 -0
- package/dist/social-media/index.js.map +1 -0
- package/dist/social-proof/index.cjs +4 -36
- package/dist/social-proof/index.css +3 -1106
- package/dist/social-proof/index.css.map +1 -1
- package/dist/social-proof/index.d.cts +26 -171
- package/dist/social-proof/index.d.ts +26 -171
- package/dist/social-proof/index.js +1 -5
- package/dist/styles/styles.css +657 -2990
- package/dist/theme/index.cjs +12 -16
- package/dist/theme/index.css +1 -245
- package/dist/theme/index.css.map +1 -1
- package/dist/theme/index.d.cts +4 -1
- package/dist/theme/index.d.ts +4 -1
- package/dist/theme/index.js +2 -2
- package/dist/web/client/index.cjs +10 -10
- package/dist/web/client/index.css +118 -0
- package/dist/web/client/index.css.map +1 -1
- package/dist/web/client/index.js +2 -2
- package/dist/web/index.cjs +10 -10
- package/dist/web/index.css +118 -0
- package/dist/web/index.css.map +1 -1
- package/dist/web/index.js +2 -2
- package/package.json +10 -4
- package/dist/AppearancePanel-UT57J69V.d.cts +0 -51
- package/dist/AppearancePanel-UT57J69V.d.ts +0 -51
- package/dist/ExportMenu-A2TLFiVv.d.cts +0 -311
- package/dist/ExportMenu-C8qck5AT.d.ts +0 -311
- package/dist/Select-BdZmK0Lt.d.cts +0 -66
- package/dist/Select-BdZmK0Lt.d.ts +0 -66
- package/dist/chart-types-BGVVO-zl.d.cts +0 -208
- package/dist/chart-types-BGVVO-zl.d.ts +0 -208
- package/dist/charts/index.css +0 -1167
- package/dist/charts/index.css.map +0 -1
- package/dist/chunk-3BAQDW3V.cjs +0 -1207
- package/dist/chunk-3BAQDW3V.cjs.map +0 -1
- package/dist/chunk-3NKRFUAR.js +0 -37
- package/dist/chunk-3NKRFUAR.js.map +0 -1
- package/dist/chunk-3TGSIILM.cjs +0 -201
- package/dist/chunk-3TGSIILM.cjs.map +0 -1
- package/dist/chunk-4GM5BGBN.cjs +0 -801
- package/dist/chunk-4GM5BGBN.cjs.map +0 -1
- package/dist/chunk-5LA3T22E.cjs +0 -562
- package/dist/chunk-5LA3T22E.cjs.map +0 -1
- package/dist/chunk-5SN66B2X.js +0 -2542
- package/dist/chunk-5SN66B2X.js.map +0 -1
- package/dist/chunk-6D22TFLA.cjs.map +0 -1
- package/dist/chunk-6H4DSTXR.js +0 -786
- package/dist/chunk-6H4DSTXR.js.map +0 -1
- package/dist/chunk-6HKQ5ILL.cjs +0 -1624
- package/dist/chunk-6HKQ5ILL.cjs.map +0 -1
- package/dist/chunk-7PX2AZ6Y.js +0 -39
- package/dist/chunk-7PX2AZ6Y.js.map +0 -1
- package/dist/chunk-7UZ5DETZ.js.map +0 -1
- package/dist/chunk-B6AVAX4F.js +0 -1415
- package/dist/chunk-B6AVAX4F.js.map +0 -1
- package/dist/chunk-BJZ2DKS5.cjs.map +0 -1
- package/dist/chunk-BUTQSDQH.js +0 -200
- package/dist/chunk-BUTQSDQH.js.map +0 -1
- package/dist/chunk-C2BCDNAV.js +0 -24
- package/dist/chunk-C2BCDNAV.js.map +0 -1
- package/dist/chunk-CJ2MKVAF.cjs +0 -46
- package/dist/chunk-CJ2MKVAF.cjs.map +0 -1
- package/dist/chunk-E7D6EKJ4.cjs +0 -44
- package/dist/chunk-E7D6EKJ4.cjs.map +0 -1
- package/dist/chunk-ECXBTUH6.cjs.map +0 -1
- package/dist/chunk-FAFAP4L5.js +0 -183
- package/dist/chunk-FAFAP4L5.js.map +0 -1
- package/dist/chunk-G2XGBO5V.cjs +0 -2565
- package/dist/chunk-G2XGBO5V.cjs.map +0 -1
- package/dist/chunk-GQELL2MF.cjs.map +0 -1
- package/dist/chunk-H2KQ3WSH.cjs.map +0 -1
- package/dist/chunk-H2Y6BSTL.cjs.map +0 -1
- package/dist/chunk-HCZW5AJN.cjs +0 -234
- package/dist/chunk-HCZW5AJN.cjs.map +0 -1
- package/dist/chunk-HDVAMYSG.js.map +0 -1
- package/dist/chunk-HN4PHABT.js +0 -126
- package/dist/chunk-HN4PHABT.js.map +0 -1
- package/dist/chunk-LTPTW2US.cjs.map +0 -1
- package/dist/chunk-MDB2WCRQ.cjs +0 -137
- package/dist/chunk-MDB2WCRQ.cjs.map +0 -1
- package/dist/chunk-MQRB634A.cjs +0 -34
- package/dist/chunk-MQRB634A.cjs.map +0 -1
- package/dist/chunk-NN3TUHIH.js +0 -28
- package/dist/chunk-NN3TUHIH.js.map +0 -1
- package/dist/chunk-OWS2KAXZ.js +0 -701
- package/dist/chunk-OWS2KAXZ.js.map +0 -1
- package/dist/chunk-P5BOFE5A.js.map +0 -1
- package/dist/chunk-PUPSK3DI.cjs +0 -216
- package/dist/chunk-PUPSK3DI.cjs.map +0 -1
- package/dist/chunk-Q2MFGYTE.cjs +0 -1449
- package/dist/chunk-Q2MFGYTE.cjs.map +0 -1
- package/dist/chunk-Q75DBVDY.cjs +0 -68
- package/dist/chunk-Q75DBVDY.cjs.map +0 -1
- package/dist/chunk-QALDZ7WQ.js.map +0 -1
- package/dist/chunk-QWE2RNCS.js +0 -1195
- package/dist/chunk-QWE2RNCS.js.map +0 -1
- package/dist/chunk-RQUFZAZ7.js +0 -1608
- package/dist/chunk-RQUFZAZ7.js.map +0 -1
- package/dist/chunk-SICKWUWB.js.map +0 -1
- package/dist/chunk-TCFC7XTB.js +0 -212
- package/dist/chunk-TCFC7XTB.js.map +0 -1
- package/dist/chunk-UTVXGAQP.cjs +0 -2437
- package/dist/chunk-UTVXGAQP.cjs.map +0 -1
- package/dist/chunk-UVEMY3FQ.cjs +0 -717
- package/dist/chunk-UVEMY3FQ.cjs.map +0 -1
- package/dist/chunk-VFJZQQZU.js.map +0 -1
- package/dist/chunk-WH7PYHZY.cjs +0 -35
- package/dist/chunk-WH7PYHZY.cjs.map +0 -1
- package/dist/chunk-WYH4TKS5.js.map +0 -1
- package/dist/chunk-XEX2AEZK.cjs.map +0 -1
- package/dist/chunk-XPTVHPCN.js +0 -2320
- package/dist/chunk-XPTVHPCN.js.map +0 -1
- package/dist/chunk-XWPDRMZG.js +0 -62
- package/dist/chunk-XWPDRMZG.js.map +0 -1
- package/dist/chunk-Y26OHHMX.js.map +0 -1
- package/dist/chunk-YJ6C3EKW.js.map +0 -1
- package/dist/motion-C651Ry6d.d.cts +0 -832
- package/dist/motion-C651Ry6d.d.ts +0 -832
- package/dist/report/index.css +0 -1239
- package/dist/report/index.css.map +0 -1
- /package/dist/{chunk-6UNG76Y2.js.map → chunk-2VVRZBUR.cjs.map} +0 -0
- /package/dist/{chunk-YTYDQBVY.cjs.map → chunk-K526GN7P.js.map} +0 -0
|
@@ -1,1351 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
interface AnnouncementBarProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
5
|
-
/** The badge text, e.g., "New Feature" or "Update" */
|
|
6
|
-
badge?: React__default.ReactNode;
|
|
7
|
-
/** The main message text */
|
|
8
|
-
message: React__default.ReactNode;
|
|
9
|
-
/** The link destination. If provided, the entire bar becomes clickable */
|
|
10
|
-
href?: string;
|
|
11
|
-
/** The visual variant */
|
|
12
|
-
variant?: 'brand' | 'success' | 'warning' | 'info' | 'dark' | 'glass';
|
|
13
|
-
/** Whether the bar can be dismissed */
|
|
14
|
-
dismissible?: boolean;
|
|
15
|
-
/** Callback when dismissed */
|
|
16
|
-
onDismiss?: () => void;
|
|
17
|
-
/** Whether to show the right arrow */
|
|
18
|
-
showArrow?: boolean;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Top-level announcement banner used to draw attention to new features,
|
|
22
|
-
* webinars, or important updates.
|
|
23
|
-
*/
|
|
24
|
-
declare const AnnouncementBar: React__default.ForwardRefExoticComponent<AnnouncementBarProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
25
|
-
|
|
26
|
-
interface StickyActionBarProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
27
|
-
/** The main message or value prop to display */
|
|
28
|
-
message: React__default.ReactNode;
|
|
29
|
-
/** Primary call to action button */
|
|
30
|
-
primaryAction: React__default.ReactNode;
|
|
31
|
-
/** Optional secondary action */
|
|
32
|
-
secondaryAction?: React__default.ReactNode;
|
|
33
|
-
/** Threshold in pixels before showing the bar (default: 300) */
|
|
34
|
-
showThreshold?: number;
|
|
35
|
-
/** Position variant */
|
|
36
|
-
position?: 'top' | 'bottom';
|
|
37
|
-
/** Visual theme */
|
|
38
|
-
variant?: 'glass' | 'solid' | 'brand';
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* A floating action bar that appears after scrolling past a threshold,
|
|
42
|
-
* keeping primary CTAs accessible on long pages.
|
|
43
|
-
*/
|
|
44
|
-
declare const StickyActionBar: React__default.ForwardRefExoticComponent<StickyActionBarProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
45
|
-
|
|
46
|
-
interface PricingToggleProps extends Omit<React__default.HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
47
|
-
/** Current billing period */
|
|
48
|
-
value: 'monthly' | 'annual';
|
|
49
|
-
/** Change handler */
|
|
50
|
-
onChange: (period: 'monthly' | 'annual') => void;
|
|
51
|
-
/** Monthly label (default: "Monthly") */
|
|
52
|
-
monthlyLabel?: string;
|
|
53
|
-
/** Annual label (default: "Annual") */
|
|
54
|
-
annualLabel?: string;
|
|
55
|
-
/** Savings badge text (e.g., "Save 20%") */
|
|
56
|
-
savingsBadge?: string;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Billing period toggle for pricing sections.
|
|
60
|
-
*
|
|
61
|
-
* @example
|
|
62
|
-
* ```tsx
|
|
63
|
-
* const [period, setPeriod] = useState<'monthly' | 'annual'>('annual');
|
|
64
|
-
*
|
|
65
|
-
* <PricingToggle
|
|
66
|
-
* value={period}
|
|
67
|
-
* onChange={setPeriod}
|
|
68
|
-
* savingsBadge="Save 20%"
|
|
69
|
-
* />
|
|
70
|
-
* ```
|
|
71
|
-
*/
|
|
72
|
-
declare const PricingToggle: React__default.ForwardRefExoticComponent<PricingToggleProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
73
|
-
|
|
74
|
-
interface BookingEmbedProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
75
|
-
/** The Go High Level widget URL or other booking URL */
|
|
76
|
-
url: string;
|
|
77
|
-
/** Aspect ratio of the embed container (default: 16/9) */
|
|
78
|
-
aspectRatio?: string;
|
|
79
|
-
/** Title for the iframe accessibility */
|
|
80
|
-
title?: string;
|
|
81
|
-
/** Whether to lazy load the iframe */
|
|
82
|
-
lazyLoad?: boolean;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* A responsive container for embedding booking widgets (like Go High Level or Calendly).
|
|
86
|
-
* Includes loading states and analytics tracking.
|
|
87
|
-
*/
|
|
88
|
-
declare const BookingEmbed: React__default.ForwardRefExoticComponent<BookingEmbedProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
89
|
-
|
|
90
|
-
interface AgitationPoint {
|
|
91
|
-
/** The problem state (old way) */
|
|
92
|
-
problem: React__default.ReactNode;
|
|
93
|
-
/** The solution state (new way) */
|
|
94
|
-
solution: React__default.ReactNode;
|
|
95
|
-
}
|
|
96
|
-
interface ProblemAgitationProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
97
|
-
/** Section title */
|
|
98
|
-
title: string;
|
|
99
|
-
/** Section description */
|
|
100
|
-
description?: React__default.ReactNode;
|
|
101
|
-
/** The points to compare */
|
|
102
|
-
points: AgitationPoint[];
|
|
103
|
-
/** Label for the old way column */
|
|
104
|
-
oldWayLabel?: string;
|
|
105
|
-
/** Label for the new way column */
|
|
106
|
-
newWayLabel?: string;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* A "Before & After" or "Old Way vs New Way" comparison block,
|
|
110
|
-
* frequently used in marketing to agitate a problem before presenting
|
|
111
|
-
* the product as the solution.
|
|
112
|
-
*/
|
|
113
|
-
declare const ProblemAgitation: React__default.ForwardRefExoticComponent<ProblemAgitationProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
114
|
-
|
|
115
|
-
interface TimelineStep {
|
|
116
|
-
/** The step number or icon */
|
|
117
|
-
indicator: React__default.ReactNode;
|
|
118
|
-
/** Step title */
|
|
119
|
-
title: React__default.ReactNode;
|
|
120
|
-
/** Step description */
|
|
121
|
-
description: React__default.ReactNode;
|
|
122
|
-
}
|
|
123
|
-
interface ProcessTimelineProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
124
|
-
/** The steps to display in the timeline */
|
|
125
|
-
steps: TimelineStep[];
|
|
126
|
-
/** Whether to animate the line drawing on scroll */
|
|
127
|
-
animated?: boolean;
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* A vertical timeline component used to explain "How it works" or
|
|
131
|
-
* onboarding processes.
|
|
132
|
-
*/
|
|
133
|
-
declare const ProcessTimeline: React__default.ForwardRefExoticComponent<ProcessTimelineProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
134
|
-
|
|
135
|
-
interface PricingFeature {
|
|
136
|
-
/** Feature label text */
|
|
137
|
-
text: string;
|
|
138
|
-
/** Whether this feature is included in the tier */
|
|
139
|
-
included?: boolean;
|
|
140
|
-
/** Optional tooltip or emphasis text */
|
|
141
|
-
detail?: string;
|
|
142
|
-
}
|
|
143
|
-
interface PricingCardProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
144
|
-
/** Tier label (e.g. "Operator Mode", "Founder Mode") */
|
|
145
|
-
tier: string;
|
|
146
|
-
/** Short tagline under the tier name */
|
|
147
|
-
tagline?: string;
|
|
148
|
-
/** Price display string (e.g. "$1,499", "$999") */
|
|
149
|
-
price: string;
|
|
150
|
-
/** Price suffix (e.g. "/month", "one-time") */
|
|
151
|
-
priceSuffix?: string;
|
|
152
|
-
/** Previous/anchor price for strikethrough display */
|
|
153
|
-
anchorPrice?: string;
|
|
154
|
-
/** Badge text (e.g. "Most Popular", "Best Value") */
|
|
155
|
-
badge?: string;
|
|
156
|
-
/** Whether this card is visually highlighted as the recommended option */
|
|
157
|
-
highlighted?: boolean;
|
|
158
|
-
/** List of features included in this tier */
|
|
159
|
-
features?: PricingFeature[];
|
|
160
|
-
/** Primary CTA button content */
|
|
161
|
-
cta?: React__default.ReactNode;
|
|
162
|
-
/** Optional secondary action below CTA */
|
|
163
|
-
secondaryCta?: React__default.ReactNode;
|
|
164
|
-
/** Footer note text (e.g. "3-month minimum") */
|
|
165
|
-
footerNote?: string;
|
|
166
|
-
}
|
|
167
|
-
declare const PricingCard: React__default.ForwardRefExoticComponent<PricingCardProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
168
|
-
|
|
169
|
-
interface PricingSectionProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
170
|
-
/** The headline/title of the pricing section */
|
|
171
|
-
title: string;
|
|
172
|
-
/** Optional subtitle or description */
|
|
173
|
-
description?: React__default.ReactNode;
|
|
174
|
-
/** Pricing plans to display */
|
|
175
|
-
plans: PricingCardProps[];
|
|
176
|
-
/** Optional toggle control for billing periods (e.g. Monthly/Yearly) */
|
|
177
|
-
toggle?: React__default.ReactNode;
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* Standardized pricing section layout that renders a grid of PricingCards.
|
|
181
|
-
* Handles responsive wrapping and visual hierarchy automatically.
|
|
182
|
-
*/
|
|
183
|
-
declare const PricingSection: React__default.ForwardRefExoticComponent<PricingSectionProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
184
|
-
|
|
185
|
-
interface LeadCaptureFormProps extends React__default.FormHTMLAttributes<HTMLFormElement> {
|
|
186
|
-
/** Text on the submit button */
|
|
187
|
-
buttonText?: string;
|
|
188
|
-
/** Label for the email input */
|
|
189
|
-
emailLabel?: string;
|
|
190
|
-
/** Placeholder for the email input */
|
|
191
|
-
emailPlaceholder?: string;
|
|
192
|
-
/** Optional subtext below the form (e.g. "We respect your privacy") */
|
|
193
|
-
disclaimer?: React__default.ReactNode;
|
|
194
|
-
/** Function called when form is successfully submitted */
|
|
195
|
-
onSubmitSuccess?: (email: string) => void | Promise<void>;
|
|
196
|
-
/** Direction variant */
|
|
197
|
-
layout?: 'horizontal' | 'vertical';
|
|
198
|
-
/** Current loading state */
|
|
199
|
-
isLoading?: boolean;
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* A highly optimized email capture form for newsletters, waitlists,
|
|
203
|
-
* and lead magnets.
|
|
204
|
-
*/
|
|
205
|
-
declare const LeadCaptureForm: React__default.ForwardRefExoticComponent<LeadCaptureFormProps & React__default.RefAttributes<HTMLFormElement>>;
|
|
206
|
-
|
|
207
|
-
/** A single metric shown on the card */
|
|
208
|
-
interface CaseStudyMetric {
|
|
209
|
-
/** Metric value (e.g., "312%") */
|
|
210
|
-
value: string;
|
|
211
|
-
/** Metric label (e.g., "increase in meetings") */
|
|
212
|
-
label: string;
|
|
213
|
-
/** Value prefix (e.g., "+") */
|
|
214
|
-
prefix?: string;
|
|
215
|
-
/** Value suffix (e.g., "%") */
|
|
216
|
-
suffix?: string;
|
|
217
|
-
}
|
|
218
|
-
interface CaseStudyCardProps extends React__default.HTMLAttributes<HTMLElement> {
|
|
219
|
-
/** Company name */
|
|
220
|
-
company: string;
|
|
221
|
-
/** Company logo */
|
|
222
|
-
logo?: React__default.ReactNode;
|
|
223
|
-
/** Industry tag */
|
|
224
|
-
industry?: string;
|
|
225
|
-
/** One-line outcome summary */
|
|
226
|
-
headline: string;
|
|
227
|
-
/** Key metrics achieved */
|
|
228
|
-
metrics?: CaseStudyMetric[];
|
|
229
|
-
/** Link to full case study */
|
|
230
|
-
href: string;
|
|
231
|
-
/** Optional cover image */
|
|
232
|
-
coverImage?: string;
|
|
233
|
-
/** Optional quote excerpt */
|
|
234
|
-
quote?: string;
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* Case study preview card with company info and key metrics.
|
|
238
|
-
*
|
|
239
|
-
* @example
|
|
240
|
-
* ```tsx
|
|
241
|
-
* <CaseStudyCard
|
|
242
|
-
* company="Acme Corp"
|
|
243
|
-
* industry="SaaS"
|
|
244
|
-
* headline="312% increase in qualified meetings in 90 days"
|
|
245
|
-
* metrics={[
|
|
246
|
-
* { value: '312', suffix: '%', label: 'More meetings' },
|
|
247
|
-
* { value: '45', suffix: '%', label: 'Lower cost per lead' },
|
|
248
|
-
* ]}
|
|
249
|
-
* href="/case-studies/acme-corp"
|
|
250
|
-
* />
|
|
251
|
-
* ```
|
|
252
|
-
*/
|
|
253
|
-
declare const CaseStudyCard: React__default.ForwardRefExoticComponent<CaseStudyCardProps & React__default.RefAttributes<HTMLElement>>;
|
|
254
|
-
|
|
255
|
-
interface VideoEmbedProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
256
|
-
/** Video source URL (YouTube, Vimeo, Loom, or direct) */
|
|
257
|
-
src: string;
|
|
258
|
-
/** Poster image shown before play */
|
|
259
|
-
poster?: string;
|
|
260
|
-
/** Video title for accessibility */
|
|
261
|
-
title: string;
|
|
262
|
-
/** Aspect ratio */
|
|
263
|
-
aspectRatio?: '16/9' | '4/3' | '1/1';
|
|
264
|
-
/** Auto-play when visible (muted, respects prefers-reduced-motion) */
|
|
265
|
-
autoPlay?: boolean;
|
|
266
|
-
/** Wrap embed inside a BrowserFrame */
|
|
267
|
-
withFrame?: boolean;
|
|
268
|
-
/** Analytics event on play */
|
|
269
|
-
onPlay?: () => void;
|
|
270
|
-
}
|
|
271
|
-
/**
|
|
272
|
-
* Responsive video embed with poster + play button overlay.
|
|
273
|
-
* Supports autoPlay via IntersectionObserver (muted, reduced-motion aware)
|
|
274
|
-
* and optional BrowserFrame wrapping for product screenshots.
|
|
275
|
-
*
|
|
276
|
-
* @example
|
|
277
|
-
* ```tsx
|
|
278
|
-
* <VideoEmbed
|
|
279
|
-
* src="https://www.youtube.com/watch?v=dQw4w9WgXcQ"
|
|
280
|
-
* poster="/thumbnails/demo.jpg"
|
|
281
|
-
* title="Product demo video"
|
|
282
|
-
* />
|
|
283
|
-
*
|
|
284
|
-
* <VideoEmbed
|
|
285
|
-
* src="https://www.youtube.com/watch?v=dQw4w9WgXcQ"
|
|
286
|
-
* title="Product demo"
|
|
287
|
-
* autoPlay
|
|
288
|
-
* withFrame
|
|
289
|
-
* />
|
|
290
|
-
* ```
|
|
291
|
-
*/
|
|
292
|
-
declare const VideoEmbed: React__default.ForwardRefExoticComponent<VideoEmbedProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
293
|
-
|
|
294
|
-
interface ExitIntentOverlayProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
295
|
-
/** Content to display in overlay */
|
|
296
|
-
children: React__default.ReactNode;
|
|
297
|
-
/** Whether exit intent detection is active (default: true) */
|
|
298
|
-
enabled?: boolean;
|
|
299
|
-
/** Delay before activation in ms (prevents trigger on initial load) */
|
|
300
|
-
activationDelay?: number;
|
|
301
|
-
/** Pages where overlay should NOT show */
|
|
302
|
-
excludePaths?: string[];
|
|
303
|
-
/** Storage key for suppression after dismiss/convert */
|
|
304
|
-
storageKey?: string;
|
|
305
|
-
/** Suppression duration after dismiss in ms (default: 7 days) */
|
|
306
|
-
suppressionDuration?: number;
|
|
307
|
-
/** Callback on show */
|
|
308
|
-
onShow?: () => void;
|
|
309
|
-
/** Callback on dismiss */
|
|
310
|
-
onDismiss?: () => void;
|
|
311
|
-
}
|
|
312
|
-
/**
|
|
313
|
-
* Exit-intent triggered overlay.
|
|
314
|
-
*
|
|
315
|
-
* @example
|
|
316
|
-
* ```tsx
|
|
317
|
-
* <ExitIntentOverlay storageKey="exit-homepage">
|
|
318
|
-
* <LeadCaptureForm
|
|
319
|
-
* variant="card"
|
|
320
|
-
* title="Before you go..."
|
|
321
|
-
* description="Get our AI prospecting playbook — free."
|
|
322
|
-
* submitLabel="Send Me the Playbook"
|
|
323
|
-
* onSubmit={handleSubmit}
|
|
324
|
-
* />
|
|
325
|
-
* </ExitIntentOverlay>
|
|
326
|
-
* ```
|
|
327
|
-
*/
|
|
328
|
-
declare const ExitIntentOverlay: React__default.ForwardRefExoticComponent<ExitIntentOverlayProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
329
|
-
|
|
330
|
-
/** Item in the before or after column */
|
|
331
|
-
interface BeforeAfterItem {
|
|
332
|
-
/** Item text */
|
|
333
|
-
text: string;
|
|
334
|
-
/** Sentiment affects visual treatment */
|
|
335
|
-
sentiment?: 'negative' | 'positive' | 'neutral';
|
|
336
|
-
}
|
|
337
|
-
/** One side of the comparison */
|
|
338
|
-
interface BeforeAfterSide {
|
|
339
|
-
/** Column label (e.g., "Before SalesMind", "After SalesMind") */
|
|
340
|
-
label: string;
|
|
341
|
-
/** List of items */
|
|
342
|
-
items: BeforeAfterItem[];
|
|
343
|
-
/** Optional media */
|
|
344
|
-
media?: React__default.ReactNode;
|
|
345
|
-
}
|
|
346
|
-
interface BeforeAfterBlockProps extends Omit<SectionShellProps, 'title'> {
|
|
347
|
-
/** Section eyebrow */
|
|
348
|
-
eyebrow?: React__default.ReactNode;
|
|
349
|
-
/** Section title */
|
|
350
|
-
title?: React__default.ReactNode;
|
|
351
|
-
/** Before state */
|
|
352
|
-
before: BeforeAfterSide;
|
|
353
|
-
/** After state */
|
|
354
|
-
after: BeforeAfterSide;
|
|
355
|
-
/** Layout variant */
|
|
356
|
-
variant?: 'split' | 'slider' | 'stacked';
|
|
357
|
-
}
|
|
358
|
-
/**
|
|
359
|
-
* Transformation visualization: before vs. after comparison.
|
|
360
|
-
*
|
|
361
|
-
* @example
|
|
362
|
-
* ```tsx
|
|
363
|
-
* <BeforeAfterBlock
|
|
364
|
-
* title="The SalesMind Transformation"
|
|
365
|
-
* before={{
|
|
366
|
-
* label: 'Without SalesMind',
|
|
367
|
-
* items: [
|
|
368
|
-
* { text: 'Manual prospecting 40hrs/week', sentiment: 'negative' },
|
|
369
|
-
* { text: 'Unpredictable pipeline', sentiment: 'negative' },
|
|
370
|
-
* ],
|
|
371
|
-
* }}
|
|
372
|
-
* after={{
|
|
373
|
-
* label: 'With SalesMind',
|
|
374
|
-
* items: [
|
|
375
|
-
* { text: 'AI handles outreach 24/7', sentiment: 'positive' },
|
|
376
|
-
* { text: 'Predictable qualified meetings', sentiment: 'positive' },
|
|
377
|
-
* ],
|
|
378
|
-
* }}
|
|
379
|
-
* variant="split"
|
|
380
|
-
* />
|
|
381
|
-
* ```
|
|
382
|
-
*/
|
|
383
|
-
declare const BeforeAfterBlock: React__default.ForwardRefExoticComponent<BeforeAfterBlockProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
384
|
-
|
|
385
|
-
/** A single comparison dimension */
|
|
386
|
-
interface CompetitorDiffItem {
|
|
387
|
-
/** The dimension being compared (e.g., "Approach") */
|
|
388
|
-
dimension: string;
|
|
389
|
-
/** How the competitor/category handles it */
|
|
390
|
-
them: string;
|
|
391
|
-
/** How we handle it */
|
|
392
|
-
us: string;
|
|
393
|
-
}
|
|
394
|
-
interface CompetitorDiffProps extends Omit<SectionShellProps, 'title'> {
|
|
395
|
-
/** Section eyebrow */
|
|
396
|
-
eyebrow?: React__default.ReactNode;
|
|
397
|
-
/** Section title */
|
|
398
|
-
title: React__default.ReactNode;
|
|
399
|
-
/** Section subtitle */
|
|
400
|
-
subtitle?: React__default.ReactNode;
|
|
401
|
-
/** Comparison items */
|
|
402
|
-
items: CompetitorDiffItem[];
|
|
403
|
-
/** Competitor/category label (e.g., "Traditional SDR tools") */
|
|
404
|
-
competitorLabel?: string;
|
|
405
|
-
/** Our label (e.g., "SalesMind AI") */
|
|
406
|
-
ourLabel?: string;
|
|
407
|
-
/** Layout variant */
|
|
408
|
-
variant?: 'table' | 'cards' | 'narrative';
|
|
409
|
-
/** Optional CTA */
|
|
410
|
-
cta?: {
|
|
411
|
-
label: string;
|
|
412
|
-
href: string;
|
|
413
|
-
};
|
|
414
|
-
}
|
|
415
|
-
/**
|
|
416
|
-
* Competitive differentiation block.
|
|
417
|
-
*
|
|
418
|
-
* @example
|
|
419
|
-
* ```tsx
|
|
420
|
-
* <CompetitorDiff
|
|
421
|
-
* eyebrow="Why SalesMind"
|
|
422
|
-
* title="Not Another LinkedIn Tool"
|
|
423
|
-
* items={[
|
|
424
|
-
* { dimension: 'Approach', them: 'Spray-and-pray sequences', us: 'AI-personalized at scale' },
|
|
425
|
-
* { dimension: 'Setup', them: 'Weeks of configuration', us: 'Live in 48 hours' },
|
|
426
|
-
* ]}
|
|
427
|
-
* variant="table"
|
|
428
|
-
* />
|
|
429
|
-
* ```
|
|
430
|
-
*/
|
|
431
|
-
declare const CompetitorDiff: React__default.ForwardRefExoticComponent<CompetitorDiffProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
432
|
-
|
|
433
|
-
/** Content for a single stakeholder tab */
|
|
434
|
-
interface StakeholderContent {
|
|
435
|
-
/** Tab headline */
|
|
436
|
-
headline: string;
|
|
437
|
-
/** Tab description */
|
|
438
|
-
description: string;
|
|
439
|
-
/** Feature list */
|
|
440
|
-
features?: Array<{
|
|
441
|
-
title: string;
|
|
442
|
-
description: string;
|
|
443
|
-
icon?: React__default.ReactNode;
|
|
444
|
-
}>;
|
|
445
|
-
/** Testimonial (render as ReactNode for flexibility) */
|
|
446
|
-
testimonial?: React__default.ReactNode;
|
|
447
|
-
/** CTA */
|
|
448
|
-
cta: {
|
|
449
|
-
label: string;
|
|
450
|
-
href: string;
|
|
451
|
-
};
|
|
452
|
-
}
|
|
453
|
-
/** A single stakeholder definition */
|
|
454
|
-
interface StakeholderDefinition {
|
|
455
|
-
/** Tab label */
|
|
456
|
-
label: string;
|
|
457
|
-
/** Tab icon */
|
|
458
|
-
icon?: React__default.ReactNode;
|
|
459
|
-
/** Content for this stakeholder */
|
|
460
|
-
content: StakeholderContent;
|
|
461
|
-
}
|
|
462
|
-
interface StakeholderTabsProps extends Omit<SectionShellProps, 'title'> {
|
|
463
|
-
/** Section eyebrow */
|
|
464
|
-
eyebrow?: React__default.ReactNode;
|
|
465
|
-
/** Section title */
|
|
466
|
-
title?: React__default.ReactNode;
|
|
467
|
-
/** Stakeholder definitions */
|
|
468
|
-
stakeholders: StakeholderDefinition[];
|
|
469
|
-
/** Default active tab index */
|
|
470
|
-
defaultIndex?: number;
|
|
471
|
-
}
|
|
472
|
-
/**
|
|
473
|
-
* Persona-specific content switcher using DS Tabs.
|
|
474
|
-
*
|
|
475
|
-
* @example
|
|
476
|
-
* ```tsx
|
|
477
|
-
* <StakeholderTabs
|
|
478
|
-
* eyebrow="Built For You"
|
|
479
|
-
* title="Whether You Run Outreach or We Do"
|
|
480
|
-
* stakeholders={[
|
|
481
|
-
* {
|
|
482
|
-
* label: 'Founders',
|
|
483
|
-
* content: { headline: '...', description: '...', cta: { label: 'Book Strategy Call', href: '/demo' } },
|
|
484
|
-
* },
|
|
485
|
-
* {
|
|
486
|
-
* label: 'Sales Leaders',
|
|
487
|
-
* content: { headline: '...', description: '...', cta: { label: 'Book Demo', href: '/demo' } },
|
|
488
|
-
* },
|
|
489
|
-
* ]}
|
|
490
|
-
* />
|
|
491
|
-
* ```
|
|
492
|
-
*/
|
|
493
|
-
declare const StakeholderTabs: React__default.ForwardRefExoticComponent<StakeholderTabsProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
494
|
-
|
|
495
|
-
/** A single integration entry */
|
|
496
|
-
interface IntegrationEntry {
|
|
497
|
-
/** Integration name */
|
|
498
|
-
name: string;
|
|
499
|
-
/** Logo (React element or img) */
|
|
500
|
-
logo: React__default.ReactNode;
|
|
501
|
-
/** Short description */
|
|
502
|
-
description?: string;
|
|
503
|
-
/** Category for filtering */
|
|
504
|
-
category: string;
|
|
505
|
-
/** Link to docs/details */
|
|
506
|
-
href?: string;
|
|
507
|
-
/** Optional badge (e.g., "New", "Popular") */
|
|
508
|
-
badge?: string;
|
|
509
|
-
}
|
|
510
|
-
interface IntegrationShowcaseProps extends Omit<SectionShellProps, 'title'> {
|
|
511
|
-
/** Section eyebrow */
|
|
512
|
-
eyebrow?: React__default.ReactNode;
|
|
513
|
-
/** Section title */
|
|
514
|
-
title: React__default.ReactNode;
|
|
515
|
-
/** Section subtitle */
|
|
516
|
-
subtitle?: React__default.ReactNode;
|
|
517
|
-
/** Integration entries */
|
|
518
|
-
integrations: IntegrationEntry[];
|
|
519
|
-
/** Category labels for filtering */
|
|
520
|
-
categories?: string[];
|
|
521
|
-
/** Layout variant */
|
|
522
|
-
variant?: 'grid' | 'list' | 'compact';
|
|
523
|
-
/** Enable category filtering (default: true if categories provided) */
|
|
524
|
-
filterable?: boolean;
|
|
525
|
-
}
|
|
526
|
-
/**
|
|
527
|
-
* Integration grid with category filtering.
|
|
528
|
-
*
|
|
529
|
-
* @example
|
|
530
|
-
* ```tsx
|
|
531
|
-
* <IntegrationShowcase
|
|
532
|
-
* eyebrow="Integrations"
|
|
533
|
-
* title="Works With Your Stack"
|
|
534
|
-
* integrations={[
|
|
535
|
-
* { name: 'Salesforce', logo: <SalesforceLogo />, category: 'CRM' },
|
|
536
|
-
* { name: 'HubSpot', logo: <HubSpotLogo />, category: 'CRM' },
|
|
537
|
-
* { name: 'Slack', logo: <SlackLogo />, category: 'Communication' },
|
|
538
|
-
* ]}
|
|
539
|
-
* categories={['All', 'CRM', 'Communication']}
|
|
540
|
-
* filterable
|
|
541
|
-
* />
|
|
542
|
-
* ```
|
|
543
|
-
*/
|
|
544
|
-
declare const IntegrationShowcase: React__default.ForwardRefExoticComponent<IntegrationShowcaseProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
545
|
-
|
|
546
|
-
/** A certification or compliance badge */
|
|
547
|
-
interface SecurityCertification {
|
|
548
|
-
/** Certification name (e.g., "SOC 2 Type II") */
|
|
549
|
-
name: string;
|
|
550
|
-
/** Icon or badge image */
|
|
551
|
-
icon: React__default.ReactNode;
|
|
552
|
-
/** Description (shown in detailed variant) */
|
|
553
|
-
description?: string;
|
|
554
|
-
/** Link to details/documentation */
|
|
555
|
-
href?: string;
|
|
556
|
-
}
|
|
557
|
-
interface SecurityBlockProps extends Omit<SectionShellProps, 'title'> {
|
|
558
|
-
/** Section eyebrow */
|
|
559
|
-
eyebrow?: React__default.ReactNode;
|
|
560
|
-
/** Section title */
|
|
561
|
-
title: React__default.ReactNode;
|
|
562
|
-
/** Section subtitle */
|
|
563
|
-
subtitle?: React__default.ReactNode;
|
|
564
|
-
/** Certifications/badges */
|
|
565
|
-
certifications?: SecurityCertification[];
|
|
566
|
-
/** Security feature descriptions */
|
|
567
|
-
features?: Array<{
|
|
568
|
-
title: string;
|
|
569
|
-
description: string;
|
|
570
|
-
icon?: React__default.ReactNode;
|
|
571
|
-
}>;
|
|
572
|
-
/** Layout variant */
|
|
573
|
-
variant?: 'badges' | 'detailed' | 'compact';
|
|
574
|
-
}
|
|
575
|
-
/**
|
|
576
|
-
* Security and compliance trust display.
|
|
577
|
-
*
|
|
578
|
-
* @example
|
|
579
|
-
* ```tsx
|
|
580
|
-
* <SecurityBlock
|
|
581
|
-
* eyebrow="Enterprise Security"
|
|
582
|
-
* title="Your Data, Our Priority"
|
|
583
|
-
* certifications={[
|
|
584
|
-
* { name: 'SOC 2 Type II', icon: <ShieldIcon />, description: 'Annual audit...' },
|
|
585
|
-
* { name: 'GDPR Compliant', icon: <EUIcon /> },
|
|
586
|
-
* ]}
|
|
587
|
-
* features={[
|
|
588
|
-
* { title: 'End-to-end encryption', description: '256-bit AES at rest, TLS 1.3 in transit' },
|
|
589
|
-
* ]}
|
|
590
|
-
* variant="detailed"
|
|
591
|
-
* />
|
|
592
|
-
* ```
|
|
593
|
-
*/
|
|
594
|
-
declare const SecurityBlock: React__default.ForwardRefExoticComponent<SecurityBlockProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
595
|
-
|
|
596
|
-
interface CaseStudySectionProps extends Omit<SectionShellProps, 'title'> {
|
|
597
|
-
/** Section eyebrow */
|
|
598
|
-
eyebrow?: React__default.ReactNode;
|
|
599
|
-
/** Section title */
|
|
600
|
-
title: React__default.ReactNode;
|
|
601
|
-
/** Section subtitle */
|
|
602
|
-
subtitle?: React__default.ReactNode;
|
|
603
|
-
/** Case study items */
|
|
604
|
-
caseStudies: CaseStudyCardProps[];
|
|
605
|
-
/** Enable industry filtering */
|
|
606
|
-
filterable?: boolean;
|
|
607
|
-
/** Filter labels (derived from caseStudies.industry if not provided) */
|
|
608
|
-
filters?: string[];
|
|
609
|
-
/** Max visible items */
|
|
610
|
-
maxVisible?: number;
|
|
611
|
-
/** "See all" link */
|
|
612
|
-
seeAllHref?: string;
|
|
613
|
-
}
|
|
614
|
-
/**
|
|
615
|
-
* Case study showcase section with optional filtering.
|
|
616
|
-
*
|
|
617
|
-
* @example
|
|
618
|
-
* ```tsx
|
|
619
|
-
* <CaseStudySection
|
|
620
|
-
* eyebrow="Customer Stories"
|
|
621
|
-
* title="How Teams Win With SalesMind"
|
|
622
|
-
* caseStudies={caseStudies}
|
|
623
|
-
* filterable
|
|
624
|
-
* seeAllHref="/case-studies"
|
|
625
|
-
* />
|
|
626
|
-
* ```
|
|
627
|
-
*/
|
|
628
|
-
declare const CaseStudySection: React__default.ForwardRefExoticComponent<CaseStudySectionProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
629
|
-
|
|
630
|
-
/** Attribution for the manifesto */
|
|
631
|
-
interface ManifestoAttribution {
|
|
632
|
-
/** Name */
|
|
633
|
-
name: string;
|
|
634
|
-
/** Role */
|
|
635
|
-
role: string;
|
|
636
|
-
/** Avatar URL */
|
|
637
|
-
avatar?: string;
|
|
638
|
-
}
|
|
639
|
-
interface ManifestoBlockProps extends Omit<SectionShellProps, 'children'> {
|
|
640
|
-
/** The manifesto statement (plain text or ReactNode) */
|
|
641
|
-
statement: React__default.ReactNode;
|
|
642
|
-
/** Attribution (e.g., founder) */
|
|
643
|
-
attribution?: ManifestoAttribution;
|
|
644
|
-
/** Visual variant */
|
|
645
|
-
variant?: 'centered' | 'editorial' | 'quote';
|
|
646
|
-
}
|
|
647
|
-
/**
|
|
648
|
-
* Bold brand philosophy statement.
|
|
649
|
-
*
|
|
650
|
-
* @example
|
|
651
|
-
* ```tsx
|
|
652
|
-
* <ManifestoBlock
|
|
653
|
-
* statement="We believe pipeline shouldn't be a prayer. It should be infrastructure."
|
|
654
|
-
* attribution={{ name: 'Julien', role: 'Founder & CEO' }}
|
|
655
|
-
* variant="quote"
|
|
656
|
-
* padding="lg"
|
|
657
|
-
* />
|
|
658
|
-
* ```
|
|
659
|
-
*/
|
|
660
|
-
declare const ManifestoBlock: React__default.ForwardRefExoticComponent<ManifestoBlockProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
661
|
-
|
|
662
|
-
/** Status of a compliance certification */
|
|
663
|
-
type ComplianceStatus = 'certified' | 'in-progress' | 'planned';
|
|
664
|
-
/** A single compliance item */
|
|
665
|
-
interface ComplianceItem {
|
|
666
|
-
/** Certification name */
|
|
667
|
-
name: string;
|
|
668
|
-
/** Current status */
|
|
669
|
-
status: ComplianceStatus;
|
|
670
|
-
/** Icon */
|
|
671
|
-
icon?: React__default.ReactNode;
|
|
672
|
-
/** Description */
|
|
673
|
-
description?: string;
|
|
674
|
-
/** Link to documentation or certificate */
|
|
675
|
-
documentHref?: string;
|
|
676
|
-
}
|
|
677
|
-
interface ComplianceGridProps extends Omit<SectionShellProps, 'title'> {
|
|
678
|
-
/** Section eyebrow */
|
|
679
|
-
eyebrow?: React__default.ReactNode;
|
|
680
|
-
/** Section title */
|
|
681
|
-
title: React__default.ReactNode;
|
|
682
|
-
/** Section subtitle */
|
|
683
|
-
subtitle?: React__default.ReactNode;
|
|
684
|
-
/** Compliance items */
|
|
685
|
-
items: ComplianceItem[];
|
|
686
|
-
}
|
|
687
|
-
/**
|
|
688
|
-
* Compliance certifications grid with status badges.
|
|
689
|
-
*
|
|
690
|
-
* @example
|
|
691
|
-
* ```tsx
|
|
692
|
-
* <ComplianceGrid
|
|
693
|
-
* eyebrow="Compliance"
|
|
694
|
-
* title="Enterprise-Grade Security"
|
|
695
|
-
* items={[
|
|
696
|
-
* { name: 'SOC 2 Type II', status: 'certified', icon: <ShieldIcon /> },
|
|
697
|
-
* { name: 'ISO 27001', status: 'in-progress', icon: <LockIcon /> },
|
|
698
|
-
* { name: 'HIPAA', status: 'planned', icon: <HospitalIcon /> },
|
|
699
|
-
* ]}
|
|
700
|
-
* />
|
|
701
|
-
* ```
|
|
702
|
-
*/
|
|
703
|
-
declare const ComplianceGrid: React__default.ForwardRefExoticComponent<ComplianceGridProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
704
|
-
|
|
705
|
-
/** Node type determines visual treatment */
|
|
706
|
-
type ArchitectureNodeType = 'source' | 'process' | 'destination' | 'integration';
|
|
707
|
-
/** A node in the architecture diagram */
|
|
708
|
-
interface ArchitectureNode {
|
|
709
|
-
/** Unique identifier */
|
|
710
|
-
id: string;
|
|
711
|
-
/** Display label */
|
|
712
|
-
label: string;
|
|
713
|
-
/** Optional icon */
|
|
714
|
-
icon?: React__default.ReactNode;
|
|
715
|
-
/** Node type affects styling */
|
|
716
|
-
type: ArchitectureNodeType;
|
|
717
|
-
/** Tooltip description */
|
|
718
|
-
description?: string;
|
|
719
|
-
}
|
|
720
|
-
/** A connection between two nodes */
|
|
721
|
-
interface ArchitectureConnection {
|
|
722
|
-
/** Source node ID */
|
|
723
|
-
from: string;
|
|
724
|
-
/** Destination node ID */
|
|
725
|
-
to: string;
|
|
726
|
-
/** Connection label */
|
|
727
|
-
label?: string;
|
|
728
|
-
/** Show animated dashes */
|
|
729
|
-
animated?: boolean;
|
|
730
|
-
}
|
|
731
|
-
interface ArchitectureDiagramProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
732
|
-
/** Nodes in the diagram */
|
|
733
|
-
nodes: ArchitectureNode[];
|
|
734
|
-
/** Connections between nodes */
|
|
735
|
-
connections: ArchitectureConnection[];
|
|
736
|
-
/** Flow direction */
|
|
737
|
-
direction?: 'horizontal' | 'vertical';
|
|
738
|
-
}
|
|
739
|
-
/**
|
|
740
|
-
* System architecture visualization with nodes and connections.
|
|
741
|
-
*
|
|
742
|
-
* @example
|
|
743
|
-
* ```tsx
|
|
744
|
-
* <ArchitectureDiagram
|
|
745
|
-
* nodes={[
|
|
746
|
-
* { id: 'linkedin', label: 'LinkedIn', type: 'source' },
|
|
747
|
-
* { id: 'ai', label: 'SalesMind AI', type: 'process' },
|
|
748
|
-
* { id: 'crm', label: 'CRM', type: 'destination' },
|
|
749
|
-
* ]}
|
|
750
|
-
* connections={[
|
|
751
|
-
* { from: 'linkedin', to: 'ai', animated: true },
|
|
752
|
-
* { from: 'ai', to: 'crm', animated: true },
|
|
753
|
-
* ]}
|
|
754
|
-
* direction="horizontal"
|
|
755
|
-
* />
|
|
756
|
-
* ```
|
|
757
|
-
*/
|
|
758
|
-
declare const ArchitectureDiagram: React__default.ForwardRefExoticComponent<ArchitectureDiagramProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
759
|
-
|
|
760
|
-
interface SegmentSwitchProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
761
|
-
/** Active segment key */
|
|
762
|
-
segment?: string;
|
|
763
|
-
/** Map of segment keys to content */
|
|
764
|
-
segments: Record<string, React__default.ReactNode>;
|
|
765
|
-
/** Fallback content when no segment matches */
|
|
766
|
-
fallback?: React__default.ReactNode;
|
|
767
|
-
/** Segment source for auto-detection */
|
|
768
|
-
source?: 'utm' | 'cookie' | 'manual';
|
|
769
|
-
/** UTM parameter name (default: "utm_segment") */
|
|
770
|
-
utmParam?: string;
|
|
771
|
-
/** Cookie name (default: "ds_segment") */
|
|
772
|
-
cookieName?: string;
|
|
773
|
-
}
|
|
774
|
-
/**
|
|
775
|
-
* Segment-based content renderer.
|
|
776
|
-
*
|
|
777
|
-
* @example
|
|
778
|
-
* ```tsx
|
|
779
|
-
* <SegmentSwitch
|
|
780
|
-
* segment="founder"
|
|
781
|
-
* segments={{
|
|
782
|
-
* founder: <FounderContent />,
|
|
783
|
-
* operator: <OperatorContent />,
|
|
784
|
-
* }}
|
|
785
|
-
* fallback={<DefaultContent />}
|
|
786
|
-
* />
|
|
787
|
-
* ```
|
|
788
|
-
*/
|
|
789
|
-
declare const SegmentSwitch: React__default.ForwardRefExoticComponent<SegmentSwitchProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
790
|
-
|
|
791
|
-
/** What triggers a stage change */
|
|
792
|
-
type IntentTriggerType = 'scroll' | 'time' | 'pages';
|
|
793
|
-
/** A single CTA stage */
|
|
794
|
-
interface IntentStage {
|
|
795
|
-
/** What triggers this stage */
|
|
796
|
-
trigger: {
|
|
797
|
-
type: IntentTriggerType;
|
|
798
|
-
threshold: number;
|
|
799
|
-
};
|
|
800
|
-
/** CTA label */
|
|
801
|
-
label: string;
|
|
802
|
-
/** CTA link */
|
|
803
|
-
href: string;
|
|
804
|
-
/** Button variant (escalates with intent) */
|
|
805
|
-
variant?: 'outline' | 'primary';
|
|
806
|
-
}
|
|
807
|
-
interface IntentCTAProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
808
|
-
/** CTA stages ordered by escalation */
|
|
809
|
-
stages: IntentStage[];
|
|
810
|
-
/** Default CTA (shown before any stage triggers) */
|
|
811
|
-
defaultCta: {
|
|
812
|
-
label: string;
|
|
813
|
-
href: string;
|
|
814
|
-
variant?: 'outline' | 'primary';
|
|
815
|
-
};
|
|
816
|
-
/** External page count for 'pages' trigger type (tracked by consuming app) */
|
|
817
|
-
pageCount?: number;
|
|
818
|
-
}
|
|
819
|
-
/**
|
|
820
|
-
* Adaptive CTA that escalates with demonstrated visitor intent.
|
|
821
|
-
*
|
|
822
|
-
* @example
|
|
823
|
-
* ```tsx
|
|
824
|
-
* <IntentCTA
|
|
825
|
-
* defaultCta={{ label: 'Learn More', href: '/about', variant: 'outline' }}
|
|
826
|
-
* stages={[
|
|
827
|
-
* { trigger: { type: 'scroll', threshold: 50 }, label: 'See Pricing', href: '/pricing', variant: 'outline' },
|
|
828
|
-
* { trigger: { type: 'time', threshold: 30 }, label: 'Book a Demo', href: '/demo', variant: 'primary' },
|
|
829
|
-
* { trigger: { type: 'scroll', threshold: 80 }, label: 'Start Free Trial', href: '/signup', variant: 'primary' },
|
|
830
|
-
* ]}
|
|
831
|
-
* />
|
|
832
|
-
* ```
|
|
833
|
-
*/
|
|
834
|
-
declare const IntentCTA: React__default.ForwardRefExoticComponent<IntentCTAProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
835
|
-
|
|
836
|
-
/** Sentiment determines visual treatment */
|
|
837
|
-
type EraSentiment = 'past' | 'present' | 'future';
|
|
838
|
-
/** A single era in the evolution */
|
|
839
|
-
interface EvolutionEra {
|
|
840
|
-
/** Era label (e.g., "Manual SDRs") */
|
|
841
|
-
label: string;
|
|
842
|
-
/** Time period (e.g., "2010-2018") */
|
|
843
|
-
period: string;
|
|
844
|
-
/** Era description */
|
|
845
|
-
description: string;
|
|
846
|
-
/** Characteristics of this era */
|
|
847
|
-
traits: string[];
|
|
848
|
-
/** Whether this is the current/highlighted era */
|
|
849
|
-
current?: boolean;
|
|
850
|
-
/** Icon or illustration */
|
|
851
|
-
icon?: React__default.ReactNode;
|
|
852
|
-
/** Visual sentiment — past eras fade, future glows */
|
|
853
|
-
sentiment: EraSentiment;
|
|
854
|
-
}
|
|
855
|
-
interface EvolutionTimelineProps extends Omit<SectionShellProps, 'title'> {
|
|
856
|
-
/** Section eyebrow */
|
|
857
|
-
eyebrow?: React__default.ReactNode;
|
|
858
|
-
/** Section title */
|
|
859
|
-
title: React__default.ReactNode;
|
|
860
|
-
/** Section subtitle */
|
|
861
|
-
subtitle?: React__default.ReactNode;
|
|
862
|
-
/** Evolution eras */
|
|
863
|
-
eras: EvolutionEra[];
|
|
864
|
-
/** "You are here" indicator (index) */
|
|
865
|
-
youAreHere?: number;
|
|
866
|
-
/** CTA after timeline */
|
|
867
|
-
cta?: {
|
|
868
|
-
label: string;
|
|
869
|
-
href: string;
|
|
870
|
-
};
|
|
871
|
-
}
|
|
872
|
-
/**
|
|
873
|
-
* Category evolution timeline — positions SalesMind as the inevitable next phase.
|
|
874
|
-
*
|
|
875
|
-
* @example
|
|
876
|
-
* ```tsx
|
|
877
|
-
* <EvolutionTimeline
|
|
878
|
-
* eyebrow="The Evolution"
|
|
879
|
-
* title="From Tools to Infrastructure"
|
|
880
|
-
* eras={[
|
|
881
|
-
* { label: 'Manual SDRs', period: '2010-2018', description: '...', traits: [...], sentiment: 'past' },
|
|
882
|
-
* { label: 'Automation Tools', period: '2018-2024', description: '...', traits: [...], sentiment: 'present', current: true },
|
|
883
|
-
* { label: 'Pipeline Infrastructure', period: '2024+', description: '...', traits: [...], sentiment: 'future' },
|
|
884
|
-
* ]}
|
|
885
|
-
* youAreHere={1}
|
|
886
|
-
* />
|
|
887
|
-
* ```
|
|
888
|
-
*/
|
|
889
|
-
declare const EvolutionTimeline: React__default.ForwardRefExoticComponent<EvolutionTimelineProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
890
|
-
|
|
891
|
-
/** A single ecosystem layer */
|
|
892
|
-
interface EcosystemLayer {
|
|
893
|
-
/** Layer name */
|
|
894
|
-
name: string;
|
|
895
|
-
/** Short description */
|
|
896
|
-
description: string;
|
|
897
|
-
/** Key capabilities */
|
|
898
|
-
capabilities: string[];
|
|
899
|
-
/** Icon */
|
|
900
|
-
icon?: React__default.ReactNode;
|
|
901
|
-
}
|
|
902
|
-
/** A connection between layers */
|
|
903
|
-
interface EcosystemConnection {
|
|
904
|
-
/** From layer index */
|
|
905
|
-
from: number;
|
|
906
|
-
/** To layer index */
|
|
907
|
-
to: number;
|
|
908
|
-
/** What flows between layers */
|
|
909
|
-
label: string;
|
|
910
|
-
}
|
|
911
|
-
interface EcosystemDiagramProps extends Omit<SectionShellProps, 'title'> {
|
|
912
|
-
/** Section eyebrow */
|
|
913
|
-
eyebrow?: React__default.ReactNode;
|
|
914
|
-
/** Section title */
|
|
915
|
-
title: React__default.ReactNode;
|
|
916
|
-
/** Section subtitle */
|
|
917
|
-
subtitle?: React__default.ReactNode;
|
|
918
|
-
/** Ecosystem layers (typically 3) */
|
|
919
|
-
layers: EcosystemLayer[];
|
|
920
|
-
/** Connections between layers (flywheel arrows) */
|
|
921
|
-
connections: EcosystemConnection[];
|
|
922
|
-
/** Layout variant */
|
|
923
|
-
variant?: 'flywheel' | 'pyramid' | 'concentric';
|
|
924
|
-
/** Center label (e.g., "Predictable Pipeline") */
|
|
925
|
-
centerLabel?: string;
|
|
926
|
-
}
|
|
927
|
-
/**
|
|
928
|
-
* Ecosystem flywheel / pyramid / concentric diagram.
|
|
929
|
-
*
|
|
930
|
-
* @example
|
|
931
|
-
* ```tsx
|
|
932
|
-
* <EcosystemDiagram
|
|
933
|
-
* title="The SalesMind Ecosystem"
|
|
934
|
-
* layers={[
|
|
935
|
-
* { name: 'AI Software', description: '...', capabilities: ['...'] },
|
|
936
|
-
* { name: 'Compound Intelligence', description: '...', capabilities: ['...'] },
|
|
937
|
-
* { name: 'Expert Operations', description: '...', capabilities: ['...'] },
|
|
938
|
-
* ]}
|
|
939
|
-
* connections={[
|
|
940
|
-
* { from: 0, to: 1, label: 'Interaction data' },
|
|
941
|
-
* { from: 1, to: 2, label: 'AI insights' },
|
|
942
|
-
* { from: 2, to: 0, label: 'Human refinements' },
|
|
943
|
-
* ]}
|
|
944
|
-
* centerLabel="Predictable Pipeline"
|
|
945
|
-
* variant="flywheel"
|
|
946
|
-
* />
|
|
947
|
-
* ```
|
|
948
|
-
*/
|
|
949
|
-
declare const EcosystemDiagram: React__default.ForwardRefExoticComponent<EcosystemDiagramProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
950
|
-
|
|
951
|
-
/** Calculator input definition */
|
|
952
|
-
interface ValueAnchorInput {
|
|
953
|
-
/** Input name (form key) */
|
|
954
|
-
name: string;
|
|
955
|
-
/** Display label */
|
|
956
|
-
label: string;
|
|
957
|
-
/** Input type */
|
|
958
|
-
type: 'number' | 'slider';
|
|
959
|
-
/** Default value */
|
|
960
|
-
defaultValue: number;
|
|
961
|
-
/** Min for slider */
|
|
962
|
-
min?: number;
|
|
963
|
-
/** Max for slider */
|
|
964
|
-
max?: number;
|
|
965
|
-
/** Step for slider */
|
|
966
|
-
step?: number;
|
|
967
|
-
/** Display prefix (e.g., "$") */
|
|
968
|
-
prefix?: string;
|
|
969
|
-
/** Display suffix (e.g., "%") */
|
|
970
|
-
suffix?: string;
|
|
971
|
-
}
|
|
972
|
-
/** Calculator output */
|
|
973
|
-
interface ValueAnchorOutput {
|
|
974
|
-
/** Primary metric (large display) */
|
|
975
|
-
primaryMetric: {
|
|
976
|
-
value: number;
|
|
977
|
-
label: string;
|
|
978
|
-
prefix?: string;
|
|
979
|
-
suffix?: string;
|
|
980
|
-
};
|
|
981
|
-
/** Supporting metrics */
|
|
982
|
-
secondaryMetrics: Array<{
|
|
983
|
-
value: number;
|
|
984
|
-
label: string;
|
|
985
|
-
prefix?: string;
|
|
986
|
-
suffix?: string;
|
|
987
|
-
}>;
|
|
988
|
-
/** Optional cost comparison */
|
|
989
|
-
costComparison?: {
|
|
990
|
-
without: {
|
|
991
|
-
value: number;
|
|
992
|
-
label: string;
|
|
993
|
-
};
|
|
994
|
-
with: {
|
|
995
|
-
value: number;
|
|
996
|
-
label: string;
|
|
997
|
-
};
|
|
998
|
-
savings: {
|
|
999
|
-
value: number;
|
|
1000
|
-
label: string;
|
|
1001
|
-
};
|
|
1002
|
-
};
|
|
1003
|
-
}
|
|
1004
|
-
interface ValueAnchorProps extends Omit<SectionShellProps, 'title'> {
|
|
1005
|
-
/** Section eyebrow */
|
|
1006
|
-
eyebrow?: React__default.ReactNode;
|
|
1007
|
-
/** Section title */
|
|
1008
|
-
title: React__default.ReactNode;
|
|
1009
|
-
/** Section subtitle */
|
|
1010
|
-
subtitle?: React__default.ReactNode;
|
|
1011
|
-
/** Calculator inputs */
|
|
1012
|
-
inputs: ValueAnchorInput[];
|
|
1013
|
-
/** Calculation function */
|
|
1014
|
-
calculate: (values: Record<string, number>) => ValueAnchorOutput;
|
|
1015
|
-
/** CTA shown after calculation */
|
|
1016
|
-
cta?: {
|
|
1017
|
-
label: string;
|
|
1018
|
-
href: string;
|
|
1019
|
-
};
|
|
1020
|
-
}
|
|
1021
|
-
/**
|
|
1022
|
-
* Pipeline value calculator — anchors on outcome value before showing cost.
|
|
1023
|
-
*
|
|
1024
|
-
* @example
|
|
1025
|
-
* ```tsx
|
|
1026
|
-
* <ValueAnchor
|
|
1027
|
-
* title="See Your Pipeline Potential"
|
|
1028
|
-
* inputs={[
|
|
1029
|
-
* { name: 'meetings', label: 'Monthly meetings', type: 'slider', defaultValue: 10, min: 5, max: 50 },
|
|
1030
|
-
* { name: 'dealSize', label: 'Avg deal size', type: 'number', defaultValue: 5000, prefix: '$' },
|
|
1031
|
-
* ]}
|
|
1032
|
-
* calculate={(v) => ({
|
|
1033
|
-
* primaryMetric: { value: v.meetings * 12 * v.dealSize * 0.2, label: 'Annual Pipeline Value', prefix: '$' },
|
|
1034
|
-
* secondaryMetrics: [...],
|
|
1035
|
-
* })}
|
|
1036
|
-
* />
|
|
1037
|
-
* ```
|
|
1038
|
-
*/
|
|
1039
|
-
declare const ValueAnchor: React__default.ForwardRefExoticComponent<ValueAnchorProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1040
|
-
|
|
1041
|
-
/** Status of a trust signal item */
|
|
1042
|
-
type EnterpriseSignalStatus = 'active' | 'in-progress' | 'planned';
|
|
1043
|
-
/** A single trust signal item */
|
|
1044
|
-
interface EnterpriseSignalItem {
|
|
1045
|
-
/** Signal name (e.g., "SOC 2 Type II") */
|
|
1046
|
-
name: string;
|
|
1047
|
-
/** Status */
|
|
1048
|
-
status: EnterpriseSignalStatus;
|
|
1049
|
-
/** Detail text */
|
|
1050
|
-
detail?: string;
|
|
1051
|
-
/** Link to documentation */
|
|
1052
|
-
href?: string;
|
|
1053
|
-
}
|
|
1054
|
-
/** A category of trust signals */
|
|
1055
|
-
interface EnterpriseSignalCategory {
|
|
1056
|
-
/** Category name (e.g., "Security") */
|
|
1057
|
-
name: string;
|
|
1058
|
-
/** Category icon */
|
|
1059
|
-
icon?: React__default.ReactNode;
|
|
1060
|
-
/** Items in this category */
|
|
1061
|
-
items: EnterpriseSignalItem[];
|
|
1062
|
-
}
|
|
1063
|
-
/** SLA commitment */
|
|
1064
|
-
interface EnterpriseSLA {
|
|
1065
|
-
/** Metric name */
|
|
1066
|
-
metric: string;
|
|
1067
|
-
/** SLA commitment */
|
|
1068
|
-
commitment: string;
|
|
1069
|
-
/** Current actual value */
|
|
1070
|
-
current?: string;
|
|
1071
|
-
}
|
|
1072
|
-
interface EnterpriseSignalingProps extends Omit<SectionShellProps, 'title'> {
|
|
1073
|
-
/** Section eyebrow */
|
|
1074
|
-
eyebrow?: React__default.ReactNode;
|
|
1075
|
-
/** Section title */
|
|
1076
|
-
title: React__default.ReactNode;
|
|
1077
|
-
/** Section subtitle */
|
|
1078
|
-
subtitle?: React__default.ReactNode;
|
|
1079
|
-
/** Trust signal categories */
|
|
1080
|
-
categories: EnterpriseSignalCategory[];
|
|
1081
|
-
/** SLA commitments */
|
|
1082
|
-
sla?: EnterpriseSLA[];
|
|
1083
|
-
/** Layout variant */
|
|
1084
|
-
variant?: 'full' | 'compact' | 'strip';
|
|
1085
|
-
}
|
|
1086
|
-
/**
|
|
1087
|
-
* Enterprise trust and procurement enablement block.
|
|
1088
|
-
*
|
|
1089
|
-
* @example
|
|
1090
|
-
* ```tsx
|
|
1091
|
-
* <EnterpriseSignaling
|
|
1092
|
-
* title="Enterprise-Ready"
|
|
1093
|
-
* categories={[
|
|
1094
|
-
* { name: 'Security', items: [{ name: 'GDPR', status: 'active' }] },
|
|
1095
|
-
* ]}
|
|
1096
|
-
* sla={[{ metric: 'Uptime', commitment: '99.9%', current: '99.97%' }]}
|
|
1097
|
-
* variant="full"
|
|
1098
|
-
* />
|
|
1099
|
-
* ```
|
|
1100
|
-
*/
|
|
1101
|
-
declare const EnterpriseSignaling: React__default.ForwardRefExoticComponent<EnterpriseSignalingProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1102
|
-
|
|
1103
|
-
/** A compound intelligence metric */
|
|
1104
|
-
interface IntelligenceMetric {
|
|
1105
|
-
/** Target value */
|
|
1106
|
-
value: number;
|
|
1107
|
-
/** Label below the number */
|
|
1108
|
-
label: string;
|
|
1109
|
-
/** Value prefix */
|
|
1110
|
-
prefix?: string;
|
|
1111
|
-
/** Value suffix */
|
|
1112
|
-
suffix?: string;
|
|
1113
|
-
/** Growth indicator text */
|
|
1114
|
-
growth?: string;
|
|
1115
|
-
}
|
|
1116
|
-
/** A compound intelligence capability */
|
|
1117
|
-
interface IntelligenceCapability {
|
|
1118
|
-
/** Capability title */
|
|
1119
|
-
title: string;
|
|
1120
|
-
/** Description */
|
|
1121
|
-
description: string;
|
|
1122
|
-
/** Icon */
|
|
1123
|
-
icon?: React__default.ReactNode;
|
|
1124
|
-
/** Compounding example */
|
|
1125
|
-
compoundingExample?: {
|
|
1126
|
-
before: string;
|
|
1127
|
-
after: string;
|
|
1128
|
-
timeframe: string;
|
|
1129
|
-
};
|
|
1130
|
-
}
|
|
1131
|
-
interface IntelligenceBlockProps extends Omit<SectionShellProps, 'title'> {
|
|
1132
|
-
/** Section eyebrow */
|
|
1133
|
-
eyebrow?: React__default.ReactNode;
|
|
1134
|
-
/** Section title */
|
|
1135
|
-
title: React__default.ReactNode;
|
|
1136
|
-
/** Section subtitle */
|
|
1137
|
-
subtitle?: React__default.ReactNode;
|
|
1138
|
-
/** Intelligence metrics */
|
|
1139
|
-
metrics: IntelligenceMetric[];
|
|
1140
|
-
/** Intelligence capabilities */
|
|
1141
|
-
capabilities: IntelligenceCapability[];
|
|
1142
|
-
/** Visual variant */
|
|
1143
|
-
variant?: 'metrics-first' | 'capabilities-first' | 'timeline';
|
|
1144
|
-
}
|
|
1145
|
-
/**
|
|
1146
|
-
* Data compound effect visualization.
|
|
1147
|
-
*
|
|
1148
|
-
* @example
|
|
1149
|
-
* ```tsx
|
|
1150
|
-
* <IntelligenceBlock
|
|
1151
|
-
* title="Intelligence That Compounds"
|
|
1152
|
-
* metrics={[
|
|
1153
|
-
* { value: 2000000, suffix: '+', label: 'Prospect Interactions' },
|
|
1154
|
-
* ]}
|
|
1155
|
-
* capabilities={[
|
|
1156
|
-
* { title: 'Message Optimization', description: '...',
|
|
1157
|
-
* compoundingExample: { before: 'Generic templates', after: 'Persona-specific scripts', timeframe: '6 months' } },
|
|
1158
|
-
* ]}
|
|
1159
|
-
* />
|
|
1160
|
-
* ```
|
|
1161
|
-
*/
|
|
1162
|
-
declare const IntelligenceBlock: React__default.ForwardRefExoticComponent<IntelligenceBlockProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1163
|
-
|
|
1164
|
-
/** Calculator input */
|
|
1165
|
-
interface PartnerCalcInput {
|
|
1166
|
-
/** Input name */
|
|
1167
|
-
name: string;
|
|
1168
|
-
/** Display label */
|
|
1169
|
-
label: string;
|
|
1170
|
-
/** Input type */
|
|
1171
|
-
type: 'number' | 'slider';
|
|
1172
|
-
/** Default value */
|
|
1173
|
-
defaultValue: number;
|
|
1174
|
-
/** Min value */
|
|
1175
|
-
min?: number;
|
|
1176
|
-
/** Max value */
|
|
1177
|
-
max?: number;
|
|
1178
|
-
/** Display prefix */
|
|
1179
|
-
prefix?: string;
|
|
1180
|
-
/** Display suffix */
|
|
1181
|
-
suffix?: string;
|
|
1182
|
-
}
|
|
1183
|
-
/** Calculator output */
|
|
1184
|
-
interface PartnerCalcOutput {
|
|
1185
|
-
monthlyRevenue: number;
|
|
1186
|
-
monthlyCost: number;
|
|
1187
|
-
monthlyMargin: number;
|
|
1188
|
-
marginPercentage: number;
|
|
1189
|
-
annualRevenue: number;
|
|
1190
|
-
}
|
|
1191
|
-
/** Partner benefit */
|
|
1192
|
-
interface PartnerBenefit {
|
|
1193
|
-
title: string;
|
|
1194
|
-
description: string;
|
|
1195
|
-
icon?: React__default.ReactNode;
|
|
1196
|
-
}
|
|
1197
|
-
/** Build-vs-buy differentiator */
|
|
1198
|
-
interface PartnerDifferentiator {
|
|
1199
|
-
dimension: string;
|
|
1200
|
-
buildInHouse: string;
|
|
1201
|
-
withPartner: string;
|
|
1202
|
-
}
|
|
1203
|
-
interface PartnerValuePropProps extends Omit<SectionShellProps, 'title'> {
|
|
1204
|
-
/** Section eyebrow */
|
|
1205
|
-
eyebrow?: React__default.ReactNode;
|
|
1206
|
-
/** Section title */
|
|
1207
|
-
title: React__default.ReactNode;
|
|
1208
|
-
/** Section subtitle */
|
|
1209
|
-
subtitle?: React__default.ReactNode;
|
|
1210
|
-
/** Calculator configuration */
|
|
1211
|
-
calculator?: {
|
|
1212
|
-
inputs: PartnerCalcInput[];
|
|
1213
|
-
calculate: (values: Record<string, number>) => PartnerCalcOutput;
|
|
1214
|
-
};
|
|
1215
|
-
/** Partner benefits */
|
|
1216
|
-
benefits: PartnerBenefit[];
|
|
1217
|
-
/** Build-vs-buy comparison */
|
|
1218
|
-
differentiators?: PartnerDifferentiator[];
|
|
1219
|
-
/** Comparison section title */
|
|
1220
|
-
differentiatorTitle?: string;
|
|
1221
|
-
/** Column header for the "build" option */
|
|
1222
|
-
differentiatorBuildLabel?: string;
|
|
1223
|
-
/** Column header for the partner/white-label option */
|
|
1224
|
-
differentiatorPartnerLabel?: string;
|
|
1225
|
-
/** CTA */
|
|
1226
|
-
cta: {
|
|
1227
|
-
label: string;
|
|
1228
|
-
href: string;
|
|
1229
|
-
};
|
|
1230
|
-
}
|
|
1231
|
-
/**
|
|
1232
|
-
* White-label partner economics and value proposition.
|
|
1233
|
-
*
|
|
1234
|
-
* @example
|
|
1235
|
-
* ```tsx
|
|
1236
|
-
* <PartnerValueProp
|
|
1237
|
-
* title="Partner With SalesMind"
|
|
1238
|
-
* benefits={[{ title: 'White-Label', description: 'Your brand, our tech.' }]}
|
|
1239
|
-
* cta={{ label: 'Apply Now', href: '/partners/apply' }}
|
|
1240
|
-
* />
|
|
1241
|
-
* ```
|
|
1242
|
-
*/
|
|
1243
|
-
declare const PartnerValueProp: React__default.ForwardRefExoticComponent<PartnerValuePropProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1244
|
-
|
|
1245
|
-
interface ComparisonColumn {
|
|
1246
|
-
/** Column heading (e.g. "Hiring SDRs", "SalesMind") */
|
|
1247
|
-
label: string;
|
|
1248
|
-
/** Whether this column is highlighted as the recommended option */
|
|
1249
|
-
highlighted?: boolean;
|
|
1250
|
-
/** Optional badge above the column header */
|
|
1251
|
-
badge?: string;
|
|
1252
|
-
}
|
|
1253
|
-
interface ComparisonRow {
|
|
1254
|
-
/** Row label (the thing being compared) */
|
|
1255
|
-
label: string;
|
|
1256
|
-
/** Values for each column, in the same order as columns */
|
|
1257
|
-
values: (string | React__default.ReactNode)[];
|
|
1258
|
-
/** Optional category divider — if true, renders as a category header */
|
|
1259
|
-
isCategory?: boolean;
|
|
1260
|
-
}
|
|
1261
|
-
interface ComparisonTableProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
1262
|
-
/** Column definitions */
|
|
1263
|
-
columns: ComparisonColumn[];
|
|
1264
|
-
/** Row data */
|
|
1265
|
-
rows: ComparisonRow[];
|
|
1266
|
-
/** Optional table caption for accessibility */
|
|
1267
|
-
caption?: string;
|
|
1268
|
-
}
|
|
1269
|
-
declare const ComparisonTable: React__default.ForwardRefExoticComponent<ComparisonTableProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1270
|
-
|
|
1271
|
-
interface GuaranteeHighlightProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
1272
|
-
/** The guarantee statement (e.g. "10+ qualified meetings per month") */
|
|
1273
|
-
guarantee: string;
|
|
1274
|
-
/** Supporting detail or condition text */
|
|
1275
|
-
detail?: string;
|
|
1276
|
-
/** Optional fine print (e.g. "Guarantee activates after onboarding alignment") */
|
|
1277
|
-
finePrint?: string;
|
|
1278
|
-
/** Visual variant */
|
|
1279
|
-
variant?: 'default' | 'brand' | 'minimal';
|
|
1280
|
-
/** Optional icon — pass a React node (e.g. an SVG) */
|
|
1281
|
-
icon?: React__default.ReactNode;
|
|
1282
|
-
}
|
|
1283
|
-
declare const GuaranteeHighlight: React__default.ForwardRefExoticComponent<GuaranteeHighlightProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1284
|
-
|
|
1285
|
-
interface ROIComparisonItem {
|
|
1286
|
-
/** Label (e.g. "Hiring 3 SDRs") */
|
|
1287
|
-
label: string;
|
|
1288
|
-
/** Monthly cost string */
|
|
1289
|
-
monthlyCost: string;
|
|
1290
|
-
/** Annual cost string */
|
|
1291
|
-
annualCost: string;
|
|
1292
|
-
/** Whether this item is the "winner" (highlighted) */
|
|
1293
|
-
isRecommended?: boolean;
|
|
1294
|
-
/** Additional context text */
|
|
1295
|
-
context?: string;
|
|
1296
|
-
}
|
|
1297
|
-
interface ROICalculatorProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
1298
|
-
/** Section eyebrow text */
|
|
1299
|
-
eyebrow?: string;
|
|
1300
|
-
/** Section title */
|
|
1301
|
-
title?: string;
|
|
1302
|
-
/** Comparison items to display */
|
|
1303
|
-
items: ROIComparisonItem[];
|
|
1304
|
-
/** Optional summary text below the comparison */
|
|
1305
|
-
summary?: React__default.ReactNode;
|
|
1306
|
-
/** Optional savings callout (e.g. "Save $120,000/year") */
|
|
1307
|
-
savingsCallout?: string;
|
|
1308
|
-
}
|
|
1309
|
-
declare const ROICalculator: React__default.ForwardRefExoticComponent<ROICalculatorProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1310
|
-
|
|
1311
|
-
interface ICPFilterItem {
|
|
1312
|
-
/** Description text */
|
|
1313
|
-
text: string;
|
|
1314
|
-
}
|
|
1315
|
-
interface ICPFilterProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
1316
|
-
/** Items describing who this IS for */
|
|
1317
|
-
qualifiedItems: ICPFilterItem[];
|
|
1318
|
-
/** Items describing who this is NOT for */
|
|
1319
|
-
disqualifiedItems: ICPFilterItem[];
|
|
1320
|
-
/** Heading for the qualified column */
|
|
1321
|
-
qualifiedHeading?: string;
|
|
1322
|
-
/** Heading for the disqualified column */
|
|
1323
|
-
disqualifiedHeading?: string;
|
|
1324
|
-
/** Layout variant */
|
|
1325
|
-
variant?: 'columns' | 'stacked';
|
|
1326
|
-
}
|
|
1327
|
-
declare const ICPFilter: React__default.ForwardRefExoticComponent<ICPFilterProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1328
|
-
|
|
1329
|
-
interface ObjectionItem {
|
|
1330
|
-
/** The objection/question (e.g. "Is this just LinkedIn automation?") */
|
|
1331
|
-
question: string;
|
|
1332
|
-
/** The strategic answer/reframe */
|
|
1333
|
-
answer: string;
|
|
1334
|
-
/** Optional tag/category (e.g. "Safety", "Quality", "Process") */
|
|
1335
|
-
tag?: string;
|
|
1336
|
-
}
|
|
1337
|
-
interface ObjectionFAQProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
1338
|
-
/** List of objection items */
|
|
1339
|
-
items: ObjectionItem[];
|
|
1340
|
-
/** Section title */
|
|
1341
|
-
title?: string;
|
|
1342
|
-
/** Section subtitle */
|
|
1343
|
-
subtitle?: string;
|
|
1344
|
-
/** Whether multiple items can be open simultaneously */
|
|
1345
|
-
allowMultiple?: boolean;
|
|
1346
|
-
/** Initial open item index */
|
|
1347
|
-
defaultOpenIndex?: number;
|
|
1348
|
-
}
|
|
1349
|
-
declare const ObjectionFAQ: React__default.ForwardRefExoticComponent<ObjectionFAQProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1350
|
-
|
|
1351
|
-
export { type AgitationPoint, AnnouncementBar, type AnnouncementBarProps, type ArchitectureConnection, ArchitectureDiagram, type ArchitectureDiagramProps, type ArchitectureNode, type ArchitectureNodeType, BeforeAfterBlock, type BeforeAfterBlockProps, type BeforeAfterItem, type BeforeAfterSide, BookingEmbed, type BookingEmbedProps, CaseStudyCard, type CaseStudyCardProps, type CaseStudyMetric, CaseStudySection, type CaseStudySectionProps, type ComparisonColumn, type ComparisonRow, ComparisonTable, type ComparisonTableProps, CompetitorDiff, type CompetitorDiffItem, type CompetitorDiffProps, ComplianceGrid, type ComplianceGridProps, type ComplianceItem, type ComplianceStatus, type EcosystemConnection, EcosystemDiagram, type EcosystemDiagramProps, type EcosystemLayer, type EnterpriseSLA, type EnterpriseSignalCategory, type EnterpriseSignalItem, type EnterpriseSignalStatus, EnterpriseSignaling, type EnterpriseSignalingProps, type EraSentiment, type EvolutionEra, EvolutionTimeline, type EvolutionTimelineProps, ExitIntentOverlay, type ExitIntentOverlayProps, GuaranteeHighlight, type GuaranteeHighlightProps, ICPFilter, type ICPFilterItem, type ICPFilterProps, type IntegrationEntry, IntegrationShowcase, type IntegrationShowcaseProps, IntelligenceBlock, type IntelligenceBlockProps, type IntelligenceCapability, type IntelligenceMetric, IntentCTA, type IntentCTAProps, type IntentStage, type IntentTriggerType, LeadCaptureForm, type LeadCaptureFormProps, type ManifestoAttribution, ManifestoBlock, type ManifestoBlockProps, ObjectionFAQ, type ObjectionFAQProps, type ObjectionItem, type PartnerBenefit, type PartnerCalcInput, type PartnerCalcOutput, type PartnerDifferentiator, PartnerValueProp, type PartnerValuePropProps, PricingCard, type PricingCardProps, type PricingFeature, PricingSection, type PricingSectionProps, PricingToggle, type PricingToggleProps, ProblemAgitation, type ProblemAgitationProps, ProcessTimeline, type ProcessTimelineProps, ROICalculator, type ROICalculatorProps, type ROIComparisonItem, SecurityBlock, type SecurityBlockProps, type SecurityCertification, SegmentSwitch, type SegmentSwitchProps, type StakeholderContent, type StakeholderDefinition, StakeholderTabs, type StakeholderTabsProps, StickyActionBar, type StickyActionBarProps, type TimelineStep, ValueAnchor, type ValueAnchorInput, type ValueAnchorOutput, type ValueAnchorProps, VideoEmbed, type VideoEmbedProps };
|
|
1
|
+
export { A as AgitationPoint, a as ArchitectureConnection, b as ArchitectureDiagram, c as ArchitectureDiagramProps, d as ArchitectureNode, e as ArchitectureNodeType, f as AuroraVoid, g as AuroraVoidIntensity, h as AuroraVoidProps, B as BeforeAfterBlock, i as BeforeAfterBlockProps, j as BeforeAfterItem, k as BeforeAfterSide, l as BookingEmbed, m as BookingEmbedProps, C as CaseStudyCard, n as CaseStudyCardProps, o as CaseStudyMetric, p as ComparisonColumn, q as ComparisonRow, r as ComparisonTable, s as ComparisonTableProps, t as CompetitorDiff, u as CompetitorDiffItem, v as CompetitorDiffProps, w as ComplianceGrid, x as ComplianceGridProps, y as ComplianceItem, z as ComplianceStatus, E as EcosystemConnection, D as EcosystemDiagram, F as EcosystemDiagramProps, G as EcosystemLayer, H as EnterpriseSLA, I as EnterpriseSignalCategory, J as EnterpriseSignalItem, K as EnterpriseSignalStatus, L as EnterpriseSignaling, M as EnterpriseSignalingProps, N as EraSentiment, O as EvolutionEra, P as EvolutionTimeline, Q as EvolutionTimelineProps, R as GuaranteeHighlight, S as GuaranteeHighlightProps, T as HeroComposition, U as HeroCompositionProps, V as ICPFilter, W as ICPFilterItem, X as ICPFilterProps, Y as IntelligenceBlock, Z as IntelligenceBlockProps, _ as IntelligenceCapability, $ as IntelligenceMetric, a0 as IntentCTA, a1 as IntentCTAProps, a2 as IntentStage, a3 as IntentTriggerType, a8 as ObjectionFAQ, a9 as ObjectionFAQProps, aa as ObjectionItem, ab as PartnerBenefit, ac as PartnerCalcInput, ad as PartnerCalcOutput, ae as PartnerDifferentiator, af as PartnerValueProp, ag as PartnerValuePropProps, ah as PricingCard, ai as PricingCardProps, aj as PricingFeature, ak as ProblemAgitation, al as ProblemAgitationProps, am as ROICalculator, an as ROICalculatorProps, ao as ROIComparisonItem, ap as SegmentSwitch, aq as SegmentSwitchProps, ar as StickyActionBar, as as StickyActionBarProps, at as ValueAnchor, au as ValueAnchorInput, av as ValueAnchorOutput, aw as ValueAnchorProps } from '../index-BxMqCbqE.js';
|
|
2
|
+
import 'react';
|
|
3
|
+
import '../SectionShell-CrgrzWK6.js';
|