@burdenoff/website-sdk 0.0.0-dev
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/LICENSE +24 -0
- package/README.md +357 -0
- package/dist/analytics/index.d.mts +27 -0
- package/dist/analytics/index.d.ts +27 -0
- package/dist/analytics/index.js +36 -0
- package/dist/analytics/index.js.map +1 -0
- package/dist/analytics/index.mjs +34 -0
- package/dist/analytics/index.mjs.map +1 -0
- package/dist/client/index.d.mts +29 -0
- package/dist/client/index.d.ts +29 -0
- package/dist/client/index.js +261 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/index.mjs +255 -0
- package/dist/client/index.mjs.map +1 -0
- package/dist/components/contact.d.mts +144 -0
- package/dist/components/contact.d.ts +144 -0
- package/dist/components/contact.js +806 -0
- package/dist/components/contact.js.map +1 -0
- package/dist/components/contact.mjs +780 -0
- package/dist/components/contact.mjs.map +1 -0
- package/dist/components/electron-download.d.mts +32 -0
- package/dist/components/electron-download.d.ts +32 -0
- package/dist/components/electron-download.js +131 -0
- package/dist/components/electron-download.js.map +1 -0
- package/dist/components/electron-download.mjs +108 -0
- package/dist/components/electron-download.mjs.map +1 -0
- package/dist/components/launch-countdown.d.mts +15 -0
- package/dist/components/launch-countdown.d.ts +15 -0
- package/dist/components/launch-countdown.js +89 -0
- package/dist/components/launch-countdown.js.map +1 -0
- package/dist/components/launch-countdown.mjs +87 -0
- package/dist/components/launch-countdown.mjs.map +1 -0
- package/dist/components/newsletter.d.mts +155 -0
- package/dist/components/newsletter.d.ts +155 -0
- package/dist/components/newsletter.js +880 -0
- package/dist/components/newsletter.js.map +1 -0
- package/dist/components/newsletter.mjs +854 -0
- package/dist/components/newsletter.mjs.map +1 -0
- package/dist/components/partners.d.mts +88 -0
- package/dist/components/partners.d.ts +88 -0
- package/dist/components/partners.js +1169 -0
- package/dist/components/partners.js.map +1 -0
- package/dist/components/partners.mjs +1143 -0
- package/dist/components/partners.mjs.map +1 -0
- package/dist/components/pricing.d.mts +194 -0
- package/dist/components/pricing.d.ts +194 -0
- package/dist/components/pricing.js +813 -0
- package/dist/components/pricing.js.map +1 -0
- package/dist/components/pricing.mjs +791 -0
- package/dist/components/pricing.mjs.map +1 -0
- package/dist/components/problems-solved.d.mts +37 -0
- package/dist/components/problems-solved.d.ts +37 -0
- package/dist/components/problems-solved.js +157 -0
- package/dist/components/problems-solved.js.map +1 -0
- package/dist/components/problems-solved.mjs +135 -0
- package/dist/components/problems-solved.mjs.map +1 -0
- package/dist/components/resource-links.d.mts +28 -0
- package/dist/components/resource-links.d.ts +28 -0
- package/dist/components/resource-links.js +229 -0
- package/dist/components/resource-links.js.map +1 -0
- package/dist/components/resource-links.mjs +227 -0
- package/dist/components/resource-links.mjs.map +1 -0
- package/dist/components/social-links.d.mts +37 -0
- package/dist/components/social-links.d.ts +37 -0
- package/dist/components/social-links.js +268 -0
- package/dist/components/social-links.js.map +1 -0
- package/dist/components/social-links.mjs +266 -0
- package/dist/components/social-links.mjs.map +1 -0
- package/dist/components/unsubscribe.d.mts +14 -0
- package/dist/components/unsubscribe.d.ts +14 -0
- package/dist/components/unsubscribe.js +538 -0
- package/dist/components/unsubscribe.js.map +1 -0
- package/dist/components/unsubscribe.mjs +517 -0
- package/dist/components/unsubscribe.mjs.map +1 -0
- package/dist/components/waitlist.d.mts +70 -0
- package/dist/components/waitlist.d.ts +70 -0
- package/dist/components/waitlist.js +864 -0
- package/dist/components/waitlist.js.map +1 -0
- package/dist/components/waitlist.mjs +841 -0
- package/dist/components/waitlist.mjs.map +1 -0
- package/dist/components/website-switcher.d.mts +27 -0
- package/dist/components/website-switcher.d.ts +27 -0
- package/dist/components/website-switcher.js +168 -0
- package/dist/components/website-switcher.js.map +1 -0
- package/dist/components/website-switcher.mjs +146 -0
- package/dist/components/website-switcher.mjs.map +1 -0
- package/dist/content/index.d.mts +247 -0
- package/dist/content/index.d.ts +247 -0
- package/dist/content/index.js +2458 -0
- package/dist/content/index.js.map +1 -0
- package/dist/content/index.mjs +2428 -0
- package/dist/content/index.mjs.map +1 -0
- package/dist/index.d.mts +72 -0
- package/dist/index.d.ts +72 -0
- package/dist/index.js +6273 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +6204 -0
- package/dist/index.mjs.map +1 -0
- package/dist/product/index.d.mts +94 -0
- package/dist/product/index.d.ts +94 -0
- package/dist/product/index.js +282 -0
- package/dist/product/index.js.map +1 -0
- package/dist/product/index.mjs +278 -0
- package/dist/product/index.mjs.map +1 -0
- package/dist/provider-D7Rij9UM.d.mts +86 -0
- package/dist/provider-D7Rij9UM.d.ts +86 -0
- package/dist/seo/index.d.mts +64 -0
- package/dist/seo/index.d.ts +64 -0
- package/dist/seo/index.js +61 -0
- package/dist/seo/index.js.map +1 -0
- package/dist/seo/index.mjs +59 -0
- package/dist/seo/index.mjs.map +1 -0
- package/dist/utils/index.d.mts +21 -0
- package/dist/utils/index.d.ts +21 -0
- package/dist/utils/index.js +12 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/index.mjs +10 -0
- package/dist/utils/index.mjs.map +1 -0
- package/package.json +168 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Pricing Component
|
|
5
|
+
* GraphQL-powered pricing component with quota-based features and monthly/yearly toggle
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* import { PricingPage, PricingSection } from '@burdenoff/website-sdk/components/pricing'
|
|
10
|
+
*
|
|
11
|
+
* // Full page with hero
|
|
12
|
+
* <PricingPage
|
|
13
|
+
* productName="BigConsole"
|
|
14
|
+
* productId="bigconsole-123"
|
|
15
|
+
* appLoginUrl="https://app.bigconsole.com/login"
|
|
16
|
+
* contactUrl="/contact"
|
|
17
|
+
* fallbackFeatures={{
|
|
18
|
+
* basic: ['Up to 5 dashboards', '10 data sources'],
|
|
19
|
+
* professional: ['Unlimited dashboards', 'API access'],
|
|
20
|
+
* enterprise: ['Everything in Professional', 'Dedicated support']
|
|
21
|
+
* }}
|
|
22
|
+
* />
|
|
23
|
+
*
|
|
24
|
+
* // Embeddable section
|
|
25
|
+
* <PricingSection {...props} id="pricing" className="bg-muted/30" />
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
interface PlanCard {
|
|
29
|
+
id: string;
|
|
30
|
+
name: string;
|
|
31
|
+
price: number;
|
|
32
|
+
currency: string;
|
|
33
|
+
currencyPrices?: Record<string, number> | null;
|
|
34
|
+
duration: string;
|
|
35
|
+
features: Array<{
|
|
36
|
+
id: string;
|
|
37
|
+
quotaId?: string | null;
|
|
38
|
+
quota?: {
|
|
39
|
+
id: string;
|
|
40
|
+
name: string;
|
|
41
|
+
limits?: unknown;
|
|
42
|
+
} | null;
|
|
43
|
+
}>;
|
|
44
|
+
isActive: boolean;
|
|
45
|
+
productID?: string | null;
|
|
46
|
+
}
|
|
47
|
+
interface CurrencyConfig {
|
|
48
|
+
code: string;
|
|
49
|
+
symbol: string;
|
|
50
|
+
position: "prefix" | "suffix";
|
|
51
|
+
}
|
|
52
|
+
interface PlanMetadata {
|
|
53
|
+
tier: "basic" | "professional" | "enterprise";
|
|
54
|
+
displayName: string;
|
|
55
|
+
defaultDescription: string;
|
|
56
|
+
popular: boolean;
|
|
57
|
+
ctaText: string;
|
|
58
|
+
ctaType: "signup" | "contact";
|
|
59
|
+
/**
|
|
60
|
+
* Curated feature bullets for this specific plan. When provided, these win
|
|
61
|
+
* over the tier-based `fallbackFeatures` and the raw quota list — letting a
|
|
62
|
+
* consumer differentiate plans that share a tier keyword (e.g. Free vs Hobby,
|
|
63
|
+
* Pro vs Team) with concise, accurate copy.
|
|
64
|
+
*/
|
|
65
|
+
features?: string[];
|
|
66
|
+
}
|
|
67
|
+
interface PricingProps {
|
|
68
|
+
/**
|
|
69
|
+
* Product name (used in branding and SEO)
|
|
70
|
+
*/
|
|
71
|
+
productName?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Product ID for GraphQL query (falls back to WebSDKConfig.productId)
|
|
74
|
+
*/
|
|
75
|
+
productId?: string;
|
|
76
|
+
/**
|
|
77
|
+
* App login URL for signup CTA
|
|
78
|
+
*/
|
|
79
|
+
appLoginUrl: string;
|
|
80
|
+
/**
|
|
81
|
+
* Contact page URL for enterprise CTA
|
|
82
|
+
* @default '/contact'
|
|
83
|
+
*/
|
|
84
|
+
contactUrl?: string;
|
|
85
|
+
/**
|
|
86
|
+
* Supported currencies
|
|
87
|
+
*/
|
|
88
|
+
currencies?: Record<string, CurrencyConfig>;
|
|
89
|
+
/**
|
|
90
|
+
* Billing interval display text
|
|
91
|
+
*/
|
|
92
|
+
billingIntervals?: Record<string, string>;
|
|
93
|
+
/**
|
|
94
|
+
* Plan metadata (tier info, CTA text, etc.)
|
|
95
|
+
*/
|
|
96
|
+
planMetadata?: Record<string, Partial<PlanMetadata>>;
|
|
97
|
+
/**
|
|
98
|
+
* Fallback features when API doesn't provide them or is unavailable
|
|
99
|
+
*/
|
|
100
|
+
fallbackFeatures?: {
|
|
101
|
+
basic?: string[];
|
|
102
|
+
professional?: string[];
|
|
103
|
+
enterprise?: string[];
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* Enable audience tabs (Individual / Enterprise).
|
|
107
|
+
* When enabled, shows a two-level tab system.
|
|
108
|
+
* @default false
|
|
109
|
+
*/
|
|
110
|
+
showAudienceTabs?: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Enterprise plans to show when Enterprise tab is selected.
|
|
113
|
+
* Each entry defines a static plan card (not fetched from API).
|
|
114
|
+
*/
|
|
115
|
+
enterprisePlans?: Array<{
|
|
116
|
+
name: string;
|
|
117
|
+
subtitle: string;
|
|
118
|
+
price: string;
|
|
119
|
+
period: string;
|
|
120
|
+
note?: string;
|
|
121
|
+
button: string;
|
|
122
|
+
buttonLink: string;
|
|
123
|
+
popular: boolean;
|
|
124
|
+
badge?: string;
|
|
125
|
+
features: string[];
|
|
126
|
+
}>;
|
|
127
|
+
/**
|
|
128
|
+
* Enterprise section heading
|
|
129
|
+
* @default 'Enterprise Solutions'
|
|
130
|
+
*/
|
|
131
|
+
enterpriseHeading?: string;
|
|
132
|
+
/**
|
|
133
|
+
* Enterprise section subtitle
|
|
134
|
+
*/
|
|
135
|
+
enterpriseSubtitle?: string;
|
|
136
|
+
/**
|
|
137
|
+
* Hero section heading (for PricingPage)
|
|
138
|
+
* @default 'Simple, Transparent Pricing'
|
|
139
|
+
*/
|
|
140
|
+
heroHeading?: string;
|
|
141
|
+
/**
|
|
142
|
+
* Hero section subtitle (for PricingPage)
|
|
143
|
+
* @default "Choose the plan that's right for you. No hidden fees, no surprises."
|
|
144
|
+
*/
|
|
145
|
+
heroSubtitle?: string;
|
|
146
|
+
/**
|
|
147
|
+
* Section heading (for PricingSection)
|
|
148
|
+
* @default 'Pricing Plans'
|
|
149
|
+
*/
|
|
150
|
+
sectionHeading?: string;
|
|
151
|
+
/**
|
|
152
|
+
* Section subtitle (for PricingSection)
|
|
153
|
+
* @default 'Choose the perfect plan for your needs'
|
|
154
|
+
*/
|
|
155
|
+
sectionSubtitle?: string;
|
|
156
|
+
/**
|
|
157
|
+
* Custom CSS class
|
|
158
|
+
*/
|
|
159
|
+
className?: string;
|
|
160
|
+
/**
|
|
161
|
+
* Section ID for anchor links
|
|
162
|
+
*/
|
|
163
|
+
id?: string;
|
|
164
|
+
/**
|
|
165
|
+
* SEO: Page title (optional, for PricingPage)
|
|
166
|
+
*/
|
|
167
|
+
seoTitle?: string;
|
|
168
|
+
/**
|
|
169
|
+
* SEO: Page description (optional, for PricingPage)
|
|
170
|
+
*/
|
|
171
|
+
seoDescription?: string;
|
|
172
|
+
/**
|
|
173
|
+
* SEO: Keywords (optional, for PricingPage)
|
|
174
|
+
*/
|
|
175
|
+
seoKeywords?: string;
|
|
176
|
+
/**
|
|
177
|
+
* SEO: OG Image URL (optional, for PricingPage)
|
|
178
|
+
*/
|
|
179
|
+
seoImage?: string;
|
|
180
|
+
/**
|
|
181
|
+
* SEO: Canonical URL (optional, for PricingPage)
|
|
182
|
+
*/
|
|
183
|
+
seoUrl?: string;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Pricing Section Component - Embeddable
|
|
187
|
+
*/
|
|
188
|
+
declare function PricingSection(props: PricingProps): react_jsx_runtime.JSX.Element;
|
|
189
|
+
/**
|
|
190
|
+
* Pricing Page Component - Full Page with Hero
|
|
191
|
+
*/
|
|
192
|
+
declare function PricingPage(props: PricingProps): react_jsx_runtime.JSX.Element;
|
|
193
|
+
|
|
194
|
+
export { type PlanCard, PricingPage, type PricingProps, PricingSection };
|