@opensite/ui 1.3.2 → 1.3.4
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/footer-accordion-social.cjs +1344 -0
- package/dist/footer-accordion-social.d.cts +154 -0
- package/dist/footer-accordion-social.d.ts +154 -0
- package/dist/footer-accordion-social.js +1322 -0
- package/dist/footer-info-cards-accordion.cjs +1427 -0
- package/dist/footer-info-cards-accordion.d.cts +278 -0
- package/dist/footer-info-cards-accordion.d.ts +278 -0
- package/dist/footer-info-cards-accordion.js +1404 -0
- package/dist/footer-newsletter-contact.cjs +1281 -0
- package/dist/footer-newsletter-contact.d.cts +163 -0
- package/dist/footer-newsletter-contact.d.ts +163 -0
- package/dist/footer-newsletter-contact.js +1259 -0
- package/dist/footer-split-image-accordion.cjs +1395 -0
- package/dist/footer-split-image-accordion.d.cts +236 -0
- package/dist/footer-split-image-accordion.d.ts +236 -0
- package/dist/footer-split-image-accordion.js +1372 -0
- package/dist/list-achievements-showcase.cjs +1141 -0
- package/dist/list-achievements-showcase.d.cts +131 -0
- package/dist/list-achievements-showcase.d.ts +131 -0
- package/dist/list-achievements-showcase.js +1119 -0
- package/dist/list-career-timeline.cjs +531 -0
- package/dist/list-career-timeline.d.cts +153 -0
- package/dist/list-career-timeline.d.ts +153 -0
- package/dist/list-career-timeline.js +509 -0
- package/dist/list-feature-comparison.cjs +1211 -0
- package/dist/list-feature-comparison.d.cts +189 -0
- package/dist/list-feature-comparison.d.ts +189 -0
- package/dist/list-feature-comparison.js +1190 -0
- package/dist/list-metrics-dashboard.cjs +1402 -0
- package/dist/list-metrics-dashboard.d.cts +191 -0
- package/dist/list-metrics-dashboard.d.ts +191 -0
- package/dist/list-metrics-dashboard.js +1379 -0
- package/dist/list-service-category-table.cjs +762 -0
- package/dist/list-service-category-table.d.cts +135 -0
- package/dist/list-service-category-table.d.ts +135 -0
- package/dist/list-service-category-table.js +741 -0
- package/dist/offer-modal-membership-image.cjs +1361 -0
- package/dist/offer-modal-membership-image.d.cts +194 -0
- package/dist/offer-modal-membership-image.d.ts +194 -0
- package/dist/offer-modal-membership-image.js +1339 -0
- package/dist/offer-modal-newsletter-discount.cjs +1296 -0
- package/dist/offer-modal-newsletter-discount.d.cts +164 -0
- package/dist/offer-modal-newsletter-discount.d.ts +164 -0
- package/dist/offer-modal-newsletter-discount.js +1274 -0
- package/dist/offer-modal-sheet-newsletter.cjs +1360 -0
- package/dist/offer-modal-sheet-newsletter.d.cts +221 -0
- package/dist/offer-modal-sheet-newsletter.d.ts +221 -0
- package/dist/offer-modal-sheet-newsletter.js +1337 -0
- package/dist/pricing-addons-cards.cjs +1143 -0
- package/dist/pricing-addons-cards.d.cts +203 -0
- package/dist/pricing-addons-cards.d.ts +203 -0
- package/dist/pricing-addons-cards.js +1122 -0
- package/dist/pricing-addons-featured.cjs +1224 -0
- package/dist/pricing-addons-featured.d.cts +271 -0
- package/dist/pricing-addons-featured.d.ts +271 -0
- package/dist/pricing-addons-featured.js +1203 -0
- package/dist/pricing-collapsible-plans.cjs +1315 -0
- package/dist/pricing-collapsible-plans.d.cts +258 -0
- package/dist/pricing-collapsible-plans.d.ts +258 -0
- package/dist/pricing-collapsible-plans.js +1294 -0
- package/dist/pricing-columns-toggle.cjs +1234 -0
- package/dist/pricing-columns-toggle.d.cts +251 -0
- package/dist/pricing-columns-toggle.d.ts +251 -0
- package/dist/pricing-columns-toggle.js +1212 -0
- package/dist/pricing-comparison-headers.cjs +1235 -0
- package/dist/pricing-comparison-headers.d.cts +245 -0
- package/dist/pricing-comparison-headers.d.ts +245 -0
- package/dist/pricing-comparison-headers.js +1213 -0
- package/dist/pricing-comparison-table.cjs +1374 -0
- package/dist/pricing-comparison-table.d.cts +280 -0
- package/dist/pricing-comparison-table.d.ts +280 -0
- package/dist/pricing-comparison-table.js +1352 -0
- package/dist/pricing-discount-card.cjs +1217 -0
- package/dist/pricing-discount-card.d.cts +195 -0
- package/dist/pricing-discount-card.d.ts +195 -0
- package/dist/pricing-discount-card.js +1195 -0
- package/dist/pricing-enterprise-contact.cjs +1094 -0
- package/dist/pricing-enterprise-contact.d.cts +170 -0
- package/dist/pricing-enterprise-contact.d.ts +170 -0
- package/dist/pricing-enterprise-contact.js +1073 -0
- package/dist/pricing-feature-matrix.cjs +1197 -0
- package/dist/pricing-feature-matrix.d.cts +56 -0
- package/dist/pricing-feature-matrix.d.ts +56 -0
- package/dist/pricing-feature-matrix.js +1174 -0
- package/dist/pricing-four-tier-toggle.cjs +1320 -0
- package/dist/pricing-four-tier-toggle.d.cts +266 -0
- package/dist/pricing-four-tier-toggle.d.ts +266 -0
- package/dist/pricing-four-tier-toggle.js +1297 -0
- package/dist/pricing-full-comparison.cjs +1301 -0
- package/dist/pricing-full-comparison.d.cts +265 -0
- package/dist/pricing-full-comparison.d.ts +265 -0
- package/dist/pricing-full-comparison.js +1279 -0
- package/dist/pricing-gradient-cards.cjs +1248 -0
- package/dist/pricing-gradient-cards.d.cts +258 -0
- package/dist/pricing-gradient-cards.d.ts +258 -0
- package/dist/pricing-gradient-cards.js +1226 -0
- package/dist/pricing-icon-headers.cjs +1163 -0
- package/dist/pricing-icon-headers.d.cts +218 -0
- package/dist/pricing-icon-headers.d.ts +218 -0
- package/dist/pricing-icon-headers.js +1142 -0
- package/dist/pricing-minimal-cards.cjs +1146 -0
- package/dist/pricing-minimal-cards.d.cts +210 -0
- package/dist/pricing-minimal-cards.d.ts +210 -0
- package/dist/pricing-minimal-cards.js +1125 -0
- package/dist/pricing-packages-radio.cjs +1203 -0
- package/dist/pricing-packages-radio.d.cts +243 -0
- package/dist/pricing-packages-radio.d.ts +243 -0
- package/dist/pricing-packages-radio.js +1182 -0
- package/dist/pricing-popular-highlight.cjs +1293 -0
- package/dist/pricing-popular-highlight.d.cts +255 -0
- package/dist/pricing-popular-highlight.d.ts +255 -0
- package/dist/pricing-popular-highlight.js +1271 -0
- package/dist/pricing-radio-toggle.cjs +1277 -0
- package/dist/pricing-radio-toggle.d.cts +251 -0
- package/dist/pricing-radio-toggle.d.ts +251 -0
- package/dist/pricing-radio-toggle.js +1255 -0
- package/dist/pricing-responsive-table.cjs +1229 -0
- package/dist/pricing-responsive-table.d.cts +55 -0
- package/dist/pricing-responsive-table.d.ts +55 -0
- package/dist/pricing-responsive-table.js +1206 -0
- package/dist/pricing-services-cards.cjs +1209 -0
- package/dist/pricing-services-cards.d.cts +230 -0
- package/dist/pricing-services-cards.d.ts +230 -0
- package/dist/pricing-services-cards.js +1188 -0
- package/dist/pricing-simple-card.cjs +1102 -0
- package/dist/pricing-simple-card.d.cts +174 -0
- package/dist/pricing-simple-card.d.ts +174 -0
- package/dist/pricing-simple-card.js +1081 -0
- package/dist/pricing-single-card.cjs +1174 -0
- package/dist/pricing-single-card.d.cts +201 -0
- package/dist/pricing-single-card.d.ts +201 -0
- package/dist/pricing-single-card.js +1152 -0
- package/dist/pricing-split-layout.cjs +1001 -0
- package/dist/pricing-split-layout.d.cts +44 -0
- package/dist/pricing-split-layout.d.ts +44 -0
- package/dist/pricing-split-layout.js +980 -0
- package/dist/pricing-spotlight-card.cjs +1157 -0
- package/dist/pricing-spotlight-card.d.cts +201 -0
- package/dist/pricing-spotlight-card.d.ts +201 -0
- package/dist/pricing-spotlight-card.js +1136 -0
- package/dist/pricing-switch-cards.cjs +1274 -0
- package/dist/pricing-switch-cards.d.cts +254 -0
- package/dist/pricing-switch-cards.d.ts +254 -0
- package/dist/pricing-switch-cards.js +1252 -0
- package/dist/pricing-tabs-toggle.cjs +1314 -0
- package/dist/pricing-tabs-toggle.d.cts +274 -0
- package/dist/pricing-tabs-toggle.d.ts +274 -0
- package/dist/pricing-tabs-toggle.js +1291 -0
- package/dist/pricing-tier-grid.cjs +1190 -0
- package/dist/pricing-tier-grid.d.cts +224 -0
- package/dist/pricing-tier-grid.d.ts +224 -0
- package/dist/pricing-tier-grid.js +1169 -0
- package/dist/pricing-toggle-cards.cjs +1330 -0
- package/dist/pricing-toggle-cards.d.cts +267 -0
- package/dist/pricing-toggle-cards.d.ts +267 -0
- package/dist/pricing-toggle-cards.js +1307 -0
- package/dist/pricing-toggle-period.cjs +1251 -0
- package/dist/pricing-toggle-period.d.cts +265 -0
- package/dist/pricing-toggle-period.d.ts +265 -0
- package/dist/pricing-toggle-period.js +1230 -0
- package/dist/pricing-two-column-basic.cjs +1243 -0
- package/dist/pricing-two-column-basic.d.cts +244 -0
- package/dist/pricing-two-column-basic.d.ts +244 -0
- package/dist/pricing-two-column-basic.js +1222 -0
- package/dist/registry.cjs +109 -85
- package/dist/registry.js +931 -907
- package/package.json +1 -1
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { f as SectionBackground, g as SectionSpacing, t as PatternName } from './community-initiatives-Bz_A5vLU.cjs';
|
|
3
|
+
import { A as ActionConfig } from './blocks-Cohq4eio.cjs';
|
|
4
|
+
import 'react/jsx-runtime';
|
|
5
|
+
import 'class-variance-authority';
|
|
6
|
+
import './button-variants-lRElsmTc.cjs';
|
|
7
|
+
import 'class-variance-authority/types';
|
|
8
|
+
|
|
9
|
+
interface PricingComparisonTableFeature {
|
|
10
|
+
/**
|
|
11
|
+
* Feature label
|
|
12
|
+
*/
|
|
13
|
+
name?: React.ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* Values per plan id
|
|
16
|
+
*/
|
|
17
|
+
values?: Record<string, boolean | React.ReactNode>;
|
|
18
|
+
/**
|
|
19
|
+
* Additional CSS classes for the row
|
|
20
|
+
*/
|
|
21
|
+
className?: string;
|
|
22
|
+
}
|
|
23
|
+
interface PricingComparisonTablePlanFeature {
|
|
24
|
+
/**
|
|
25
|
+
* Feature text
|
|
26
|
+
*/
|
|
27
|
+
text?: React.ReactNode;
|
|
28
|
+
/**
|
|
29
|
+
* Optional icon element
|
|
30
|
+
*/
|
|
31
|
+
icon?: React.ReactNode;
|
|
32
|
+
/**
|
|
33
|
+
* Optional icon name for DynamicIcon
|
|
34
|
+
*/
|
|
35
|
+
iconName?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Additional CSS classes for the feature item
|
|
38
|
+
*/
|
|
39
|
+
className?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Additional CSS classes for the icon
|
|
42
|
+
*/
|
|
43
|
+
iconClassName?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Additional CSS classes for the text
|
|
46
|
+
*/
|
|
47
|
+
textClassName?: string;
|
|
48
|
+
}
|
|
49
|
+
interface PricingComparisonTablePlan {
|
|
50
|
+
/**
|
|
51
|
+
* Unique plan id
|
|
52
|
+
*/
|
|
53
|
+
id?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Plan name
|
|
56
|
+
*/
|
|
57
|
+
name?: React.ReactNode;
|
|
58
|
+
/**
|
|
59
|
+
* Plan price
|
|
60
|
+
*/
|
|
61
|
+
price?: React.ReactNode;
|
|
62
|
+
/**
|
|
63
|
+
* Plan description
|
|
64
|
+
*/
|
|
65
|
+
description?: React.ReactNode;
|
|
66
|
+
/**
|
|
67
|
+
* Plan feature list
|
|
68
|
+
*/
|
|
69
|
+
features?: PricingComparisonTablePlanFeature[];
|
|
70
|
+
/**
|
|
71
|
+
* Custom slot for rendering features (overrides features array)
|
|
72
|
+
*/
|
|
73
|
+
featuresSlot?: React.ReactNode;
|
|
74
|
+
/**
|
|
75
|
+
* Action configuration
|
|
76
|
+
*/
|
|
77
|
+
action?: ActionConfig;
|
|
78
|
+
/**
|
|
79
|
+
* Custom slot for rendering action (overrides action)
|
|
80
|
+
*/
|
|
81
|
+
actionSlot?: React.ReactNode;
|
|
82
|
+
/**
|
|
83
|
+
* Highlight this plan
|
|
84
|
+
*/
|
|
85
|
+
isHighlighted?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Additional CSS classes for the card
|
|
88
|
+
*/
|
|
89
|
+
className?: string;
|
|
90
|
+
}
|
|
91
|
+
interface PricingComparisonTableProps {
|
|
92
|
+
/**
|
|
93
|
+
* Section title
|
|
94
|
+
*/
|
|
95
|
+
title?: React.ReactNode;
|
|
96
|
+
/**
|
|
97
|
+
* Section subtitle
|
|
98
|
+
*/
|
|
99
|
+
subtitle?: React.ReactNode;
|
|
100
|
+
/**
|
|
101
|
+
* Plans to compare
|
|
102
|
+
*/
|
|
103
|
+
plans?: PricingComparisonTablePlan[];
|
|
104
|
+
/**
|
|
105
|
+
* Custom slot for rendering plans (overrides plans array)
|
|
106
|
+
*/
|
|
107
|
+
plansSlot?: React.ReactNode;
|
|
108
|
+
/**
|
|
109
|
+
* Comparison rows
|
|
110
|
+
*/
|
|
111
|
+
comparisonFeatures?: PricingComparisonTableFeature[];
|
|
112
|
+
/**
|
|
113
|
+
* Custom slot for rendering comparison table (overrides comparisonFeatures)
|
|
114
|
+
*/
|
|
115
|
+
comparisonSlot?: React.ReactNode;
|
|
116
|
+
/**
|
|
117
|
+
* Comparison table heading
|
|
118
|
+
*/
|
|
119
|
+
comparisonHeading?: React.ReactNode;
|
|
120
|
+
/**
|
|
121
|
+
* Feature column label
|
|
122
|
+
*/
|
|
123
|
+
featureColumnLabel?: React.ReactNode;
|
|
124
|
+
/**
|
|
125
|
+
* Default icon for feature items
|
|
126
|
+
*/
|
|
127
|
+
featureIcon?: React.ReactNode;
|
|
128
|
+
/**
|
|
129
|
+
* Default icon name for feature items
|
|
130
|
+
*/
|
|
131
|
+
featureIconName?: string;
|
|
132
|
+
/**
|
|
133
|
+
* Icon for available features in comparison table
|
|
134
|
+
*/
|
|
135
|
+
availableIcon?: React.ReactNode;
|
|
136
|
+
/**
|
|
137
|
+
* Icon for unavailable features in comparison table
|
|
138
|
+
*/
|
|
139
|
+
unavailableIcon?: React.ReactNode;
|
|
140
|
+
/**
|
|
141
|
+
* Icon name for available features
|
|
142
|
+
*/
|
|
143
|
+
availableIconName?: string;
|
|
144
|
+
/**
|
|
145
|
+
* Icon name for unavailable features
|
|
146
|
+
*/
|
|
147
|
+
unavailableIconName?: string;
|
|
148
|
+
/**
|
|
149
|
+
* Background style for the section
|
|
150
|
+
*/
|
|
151
|
+
background?: SectionBackground;
|
|
152
|
+
/**
|
|
153
|
+
* Vertical spacing for the section
|
|
154
|
+
*/
|
|
155
|
+
spacing?: SectionSpacing;
|
|
156
|
+
/**
|
|
157
|
+
* Optional background pattern name or URL
|
|
158
|
+
*/
|
|
159
|
+
pattern?: PatternName | undefined;
|
|
160
|
+
/**
|
|
161
|
+
* Pattern overlay opacity (0-1)
|
|
162
|
+
*/
|
|
163
|
+
patternOpacity?: number;
|
|
164
|
+
/**
|
|
165
|
+
* Additional CSS classes for the pattern overlay
|
|
166
|
+
*/
|
|
167
|
+
patternClassName?: string;
|
|
168
|
+
/**
|
|
169
|
+
* Additional CSS classes for the section
|
|
170
|
+
*/
|
|
171
|
+
className?: string;
|
|
172
|
+
/**
|
|
173
|
+
* Additional CSS classes for the container
|
|
174
|
+
*/
|
|
175
|
+
containerClassName?: string;
|
|
176
|
+
/**
|
|
177
|
+
* Additional CSS classes for the header
|
|
178
|
+
*/
|
|
179
|
+
headerClassName?: string;
|
|
180
|
+
/**
|
|
181
|
+
* Additional CSS classes for the title
|
|
182
|
+
*/
|
|
183
|
+
titleClassName?: string;
|
|
184
|
+
/**
|
|
185
|
+
* Additional CSS classes for the subtitle
|
|
186
|
+
*/
|
|
187
|
+
subtitleClassName?: string;
|
|
188
|
+
/**
|
|
189
|
+
* Additional CSS classes for the plans grid
|
|
190
|
+
*/
|
|
191
|
+
plansGridClassName?: string;
|
|
192
|
+
/**
|
|
193
|
+
* Additional CSS classes for plan cards
|
|
194
|
+
*/
|
|
195
|
+
cardClassName?: string;
|
|
196
|
+
/**
|
|
197
|
+
* Additional CSS classes for highlighted cards
|
|
198
|
+
*/
|
|
199
|
+
highlightedCardClassName?: string;
|
|
200
|
+
/**
|
|
201
|
+
* Additional CSS classes for card title
|
|
202
|
+
*/
|
|
203
|
+
cardTitleClassName?: string;
|
|
204
|
+
/**
|
|
205
|
+
* Additional CSS classes for card description
|
|
206
|
+
*/
|
|
207
|
+
cardDescriptionClassName?: string;
|
|
208
|
+
/**
|
|
209
|
+
* Additional CSS classes for price
|
|
210
|
+
*/
|
|
211
|
+
priceClassName?: string;
|
|
212
|
+
/**
|
|
213
|
+
* Additional CSS classes for features list
|
|
214
|
+
*/
|
|
215
|
+
featuresClassName?: string;
|
|
216
|
+
/**
|
|
217
|
+
* Additional CSS classes for feature items
|
|
218
|
+
*/
|
|
219
|
+
featureItemClassName?: string;
|
|
220
|
+
/**
|
|
221
|
+
* Additional CSS classes for feature icon
|
|
222
|
+
*/
|
|
223
|
+
featureIconClassName?: string;
|
|
224
|
+
/**
|
|
225
|
+
* Additional CSS classes for feature text
|
|
226
|
+
*/
|
|
227
|
+
featureTextClassName?: string;
|
|
228
|
+
/**
|
|
229
|
+
* Additional CSS classes for action
|
|
230
|
+
*/
|
|
231
|
+
actionClassName?: string;
|
|
232
|
+
/**
|
|
233
|
+
* Additional CSS classes for separator
|
|
234
|
+
*/
|
|
235
|
+
separatorClassName?: string;
|
|
236
|
+
/**
|
|
237
|
+
* Additional CSS classes for comparison heading
|
|
238
|
+
*/
|
|
239
|
+
comparisonHeadingClassName?: string;
|
|
240
|
+
/**
|
|
241
|
+
* Additional CSS classes for table
|
|
242
|
+
*/
|
|
243
|
+
tableClassName?: string;
|
|
244
|
+
/**
|
|
245
|
+
* Additional CSS classes for table head
|
|
246
|
+
*/
|
|
247
|
+
tableHeadClassName?: string;
|
|
248
|
+
/**
|
|
249
|
+
* Additional CSS classes for table rows
|
|
250
|
+
*/
|
|
251
|
+
tableRowClassName?: string;
|
|
252
|
+
/**
|
|
253
|
+
* Additional CSS classes for table cells
|
|
254
|
+
*/
|
|
255
|
+
tableCellClassName?: string;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* PricingComparisonTable displays two pricing plans side-by-side with a detailed feature comparison table.
|
|
259
|
+
* Each plan card includes features, pricing, and CTA button, followed by a comprehensive comparison matrix.
|
|
260
|
+
* Uses check/minus icons to indicate feature availability across plans.
|
|
261
|
+
*
|
|
262
|
+
* Ideal for businesses with two main tiers (Pro/Enterprise) that want to highlight feature differences.
|
|
263
|
+
*
|
|
264
|
+
* @example
|
|
265
|
+
* ```tsx
|
|
266
|
+
* <PricingComparisonTable
|
|
267
|
+
* title="Compare Plans"
|
|
268
|
+
* plans={[
|
|
269
|
+
* { id: "pro", name: "Pro", price: "$49", features: [{ text: "Feature 1" }], action: { label: "Get Started" } },
|
|
270
|
+
* { id: "enterprise", name: "Enterprise", price: "Custom", features: [{ text: "Feature 1" }], action: { label: "Contact Sales" } }
|
|
271
|
+
* ]}
|
|
272
|
+
* comparisonFeatures={[
|
|
273
|
+
* { name: "API access", values: { pro: true, enterprise: true } }
|
|
274
|
+
* ]}
|
|
275
|
+
* />
|
|
276
|
+
* ```
|
|
277
|
+
*/
|
|
278
|
+
declare function PricingComparisonTable({ title, subtitle, plans, plansSlot, comparisonFeatures, comparisonSlot, comparisonHeading, featureColumnLabel, featureIcon, featureIconName, availableIcon, unavailableIcon, availableIconName, unavailableIconName, background, spacing, pattern, patternOpacity, patternClassName, className, containerClassName, headerClassName, titleClassName, subtitleClassName, plansGridClassName, cardClassName, highlightedCardClassName, cardTitleClassName, cardDescriptionClassName, priceClassName, featuresClassName, featureItemClassName, featureIconClassName, featureTextClassName, actionClassName, separatorClassName, comparisonHeadingClassName, tableClassName, tableHeadClassName, tableRowClassName, tableCellClassName, }: PricingComparisonTableProps): React.JSX.Element;
|
|
279
|
+
|
|
280
|
+
export { PricingComparisonTable, type PricingComparisonTableProps };
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { f as SectionBackground, g as SectionSpacing, t as PatternName } from './community-initiatives-Bi_ClKrO.js';
|
|
3
|
+
import { A as ActionConfig } from './blocks-k17uluAz.js';
|
|
4
|
+
import 'react/jsx-runtime';
|
|
5
|
+
import 'class-variance-authority';
|
|
6
|
+
import './button-variants-lRElsmTc.js';
|
|
7
|
+
import 'class-variance-authority/types';
|
|
8
|
+
|
|
9
|
+
interface PricingComparisonTableFeature {
|
|
10
|
+
/**
|
|
11
|
+
* Feature label
|
|
12
|
+
*/
|
|
13
|
+
name?: React.ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* Values per plan id
|
|
16
|
+
*/
|
|
17
|
+
values?: Record<string, boolean | React.ReactNode>;
|
|
18
|
+
/**
|
|
19
|
+
* Additional CSS classes for the row
|
|
20
|
+
*/
|
|
21
|
+
className?: string;
|
|
22
|
+
}
|
|
23
|
+
interface PricingComparisonTablePlanFeature {
|
|
24
|
+
/**
|
|
25
|
+
* Feature text
|
|
26
|
+
*/
|
|
27
|
+
text?: React.ReactNode;
|
|
28
|
+
/**
|
|
29
|
+
* Optional icon element
|
|
30
|
+
*/
|
|
31
|
+
icon?: React.ReactNode;
|
|
32
|
+
/**
|
|
33
|
+
* Optional icon name for DynamicIcon
|
|
34
|
+
*/
|
|
35
|
+
iconName?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Additional CSS classes for the feature item
|
|
38
|
+
*/
|
|
39
|
+
className?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Additional CSS classes for the icon
|
|
42
|
+
*/
|
|
43
|
+
iconClassName?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Additional CSS classes for the text
|
|
46
|
+
*/
|
|
47
|
+
textClassName?: string;
|
|
48
|
+
}
|
|
49
|
+
interface PricingComparisonTablePlan {
|
|
50
|
+
/**
|
|
51
|
+
* Unique plan id
|
|
52
|
+
*/
|
|
53
|
+
id?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Plan name
|
|
56
|
+
*/
|
|
57
|
+
name?: React.ReactNode;
|
|
58
|
+
/**
|
|
59
|
+
* Plan price
|
|
60
|
+
*/
|
|
61
|
+
price?: React.ReactNode;
|
|
62
|
+
/**
|
|
63
|
+
* Plan description
|
|
64
|
+
*/
|
|
65
|
+
description?: React.ReactNode;
|
|
66
|
+
/**
|
|
67
|
+
* Plan feature list
|
|
68
|
+
*/
|
|
69
|
+
features?: PricingComparisonTablePlanFeature[];
|
|
70
|
+
/**
|
|
71
|
+
* Custom slot for rendering features (overrides features array)
|
|
72
|
+
*/
|
|
73
|
+
featuresSlot?: React.ReactNode;
|
|
74
|
+
/**
|
|
75
|
+
* Action configuration
|
|
76
|
+
*/
|
|
77
|
+
action?: ActionConfig;
|
|
78
|
+
/**
|
|
79
|
+
* Custom slot for rendering action (overrides action)
|
|
80
|
+
*/
|
|
81
|
+
actionSlot?: React.ReactNode;
|
|
82
|
+
/**
|
|
83
|
+
* Highlight this plan
|
|
84
|
+
*/
|
|
85
|
+
isHighlighted?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Additional CSS classes for the card
|
|
88
|
+
*/
|
|
89
|
+
className?: string;
|
|
90
|
+
}
|
|
91
|
+
interface PricingComparisonTableProps {
|
|
92
|
+
/**
|
|
93
|
+
* Section title
|
|
94
|
+
*/
|
|
95
|
+
title?: React.ReactNode;
|
|
96
|
+
/**
|
|
97
|
+
* Section subtitle
|
|
98
|
+
*/
|
|
99
|
+
subtitle?: React.ReactNode;
|
|
100
|
+
/**
|
|
101
|
+
* Plans to compare
|
|
102
|
+
*/
|
|
103
|
+
plans?: PricingComparisonTablePlan[];
|
|
104
|
+
/**
|
|
105
|
+
* Custom slot for rendering plans (overrides plans array)
|
|
106
|
+
*/
|
|
107
|
+
plansSlot?: React.ReactNode;
|
|
108
|
+
/**
|
|
109
|
+
* Comparison rows
|
|
110
|
+
*/
|
|
111
|
+
comparisonFeatures?: PricingComparisonTableFeature[];
|
|
112
|
+
/**
|
|
113
|
+
* Custom slot for rendering comparison table (overrides comparisonFeatures)
|
|
114
|
+
*/
|
|
115
|
+
comparisonSlot?: React.ReactNode;
|
|
116
|
+
/**
|
|
117
|
+
* Comparison table heading
|
|
118
|
+
*/
|
|
119
|
+
comparisonHeading?: React.ReactNode;
|
|
120
|
+
/**
|
|
121
|
+
* Feature column label
|
|
122
|
+
*/
|
|
123
|
+
featureColumnLabel?: React.ReactNode;
|
|
124
|
+
/**
|
|
125
|
+
* Default icon for feature items
|
|
126
|
+
*/
|
|
127
|
+
featureIcon?: React.ReactNode;
|
|
128
|
+
/**
|
|
129
|
+
* Default icon name for feature items
|
|
130
|
+
*/
|
|
131
|
+
featureIconName?: string;
|
|
132
|
+
/**
|
|
133
|
+
* Icon for available features in comparison table
|
|
134
|
+
*/
|
|
135
|
+
availableIcon?: React.ReactNode;
|
|
136
|
+
/**
|
|
137
|
+
* Icon for unavailable features in comparison table
|
|
138
|
+
*/
|
|
139
|
+
unavailableIcon?: React.ReactNode;
|
|
140
|
+
/**
|
|
141
|
+
* Icon name for available features
|
|
142
|
+
*/
|
|
143
|
+
availableIconName?: string;
|
|
144
|
+
/**
|
|
145
|
+
* Icon name for unavailable features
|
|
146
|
+
*/
|
|
147
|
+
unavailableIconName?: string;
|
|
148
|
+
/**
|
|
149
|
+
* Background style for the section
|
|
150
|
+
*/
|
|
151
|
+
background?: SectionBackground;
|
|
152
|
+
/**
|
|
153
|
+
* Vertical spacing for the section
|
|
154
|
+
*/
|
|
155
|
+
spacing?: SectionSpacing;
|
|
156
|
+
/**
|
|
157
|
+
* Optional background pattern name or URL
|
|
158
|
+
*/
|
|
159
|
+
pattern?: PatternName | undefined;
|
|
160
|
+
/**
|
|
161
|
+
* Pattern overlay opacity (0-1)
|
|
162
|
+
*/
|
|
163
|
+
patternOpacity?: number;
|
|
164
|
+
/**
|
|
165
|
+
* Additional CSS classes for the pattern overlay
|
|
166
|
+
*/
|
|
167
|
+
patternClassName?: string;
|
|
168
|
+
/**
|
|
169
|
+
* Additional CSS classes for the section
|
|
170
|
+
*/
|
|
171
|
+
className?: string;
|
|
172
|
+
/**
|
|
173
|
+
* Additional CSS classes for the container
|
|
174
|
+
*/
|
|
175
|
+
containerClassName?: string;
|
|
176
|
+
/**
|
|
177
|
+
* Additional CSS classes for the header
|
|
178
|
+
*/
|
|
179
|
+
headerClassName?: string;
|
|
180
|
+
/**
|
|
181
|
+
* Additional CSS classes for the title
|
|
182
|
+
*/
|
|
183
|
+
titleClassName?: string;
|
|
184
|
+
/**
|
|
185
|
+
* Additional CSS classes for the subtitle
|
|
186
|
+
*/
|
|
187
|
+
subtitleClassName?: string;
|
|
188
|
+
/**
|
|
189
|
+
* Additional CSS classes for the plans grid
|
|
190
|
+
*/
|
|
191
|
+
plansGridClassName?: string;
|
|
192
|
+
/**
|
|
193
|
+
* Additional CSS classes for plan cards
|
|
194
|
+
*/
|
|
195
|
+
cardClassName?: string;
|
|
196
|
+
/**
|
|
197
|
+
* Additional CSS classes for highlighted cards
|
|
198
|
+
*/
|
|
199
|
+
highlightedCardClassName?: string;
|
|
200
|
+
/**
|
|
201
|
+
* Additional CSS classes for card title
|
|
202
|
+
*/
|
|
203
|
+
cardTitleClassName?: string;
|
|
204
|
+
/**
|
|
205
|
+
* Additional CSS classes for card description
|
|
206
|
+
*/
|
|
207
|
+
cardDescriptionClassName?: string;
|
|
208
|
+
/**
|
|
209
|
+
* Additional CSS classes for price
|
|
210
|
+
*/
|
|
211
|
+
priceClassName?: string;
|
|
212
|
+
/**
|
|
213
|
+
* Additional CSS classes for features list
|
|
214
|
+
*/
|
|
215
|
+
featuresClassName?: string;
|
|
216
|
+
/**
|
|
217
|
+
* Additional CSS classes for feature items
|
|
218
|
+
*/
|
|
219
|
+
featureItemClassName?: string;
|
|
220
|
+
/**
|
|
221
|
+
* Additional CSS classes for feature icon
|
|
222
|
+
*/
|
|
223
|
+
featureIconClassName?: string;
|
|
224
|
+
/**
|
|
225
|
+
* Additional CSS classes for feature text
|
|
226
|
+
*/
|
|
227
|
+
featureTextClassName?: string;
|
|
228
|
+
/**
|
|
229
|
+
* Additional CSS classes for action
|
|
230
|
+
*/
|
|
231
|
+
actionClassName?: string;
|
|
232
|
+
/**
|
|
233
|
+
* Additional CSS classes for separator
|
|
234
|
+
*/
|
|
235
|
+
separatorClassName?: string;
|
|
236
|
+
/**
|
|
237
|
+
* Additional CSS classes for comparison heading
|
|
238
|
+
*/
|
|
239
|
+
comparisonHeadingClassName?: string;
|
|
240
|
+
/**
|
|
241
|
+
* Additional CSS classes for table
|
|
242
|
+
*/
|
|
243
|
+
tableClassName?: string;
|
|
244
|
+
/**
|
|
245
|
+
* Additional CSS classes for table head
|
|
246
|
+
*/
|
|
247
|
+
tableHeadClassName?: string;
|
|
248
|
+
/**
|
|
249
|
+
* Additional CSS classes for table rows
|
|
250
|
+
*/
|
|
251
|
+
tableRowClassName?: string;
|
|
252
|
+
/**
|
|
253
|
+
* Additional CSS classes for table cells
|
|
254
|
+
*/
|
|
255
|
+
tableCellClassName?: string;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* PricingComparisonTable displays two pricing plans side-by-side with a detailed feature comparison table.
|
|
259
|
+
* Each plan card includes features, pricing, and CTA button, followed by a comprehensive comparison matrix.
|
|
260
|
+
* Uses check/minus icons to indicate feature availability across plans.
|
|
261
|
+
*
|
|
262
|
+
* Ideal for businesses with two main tiers (Pro/Enterprise) that want to highlight feature differences.
|
|
263
|
+
*
|
|
264
|
+
* @example
|
|
265
|
+
* ```tsx
|
|
266
|
+
* <PricingComparisonTable
|
|
267
|
+
* title="Compare Plans"
|
|
268
|
+
* plans={[
|
|
269
|
+
* { id: "pro", name: "Pro", price: "$49", features: [{ text: "Feature 1" }], action: { label: "Get Started" } },
|
|
270
|
+
* { id: "enterprise", name: "Enterprise", price: "Custom", features: [{ text: "Feature 1" }], action: { label: "Contact Sales" } }
|
|
271
|
+
* ]}
|
|
272
|
+
* comparisonFeatures={[
|
|
273
|
+
* { name: "API access", values: { pro: true, enterprise: true } }
|
|
274
|
+
* ]}
|
|
275
|
+
* />
|
|
276
|
+
* ```
|
|
277
|
+
*/
|
|
278
|
+
declare function PricingComparisonTable({ title, subtitle, plans, plansSlot, comparisonFeatures, comparisonSlot, comparisonHeading, featureColumnLabel, featureIcon, featureIconName, availableIcon, unavailableIcon, availableIconName, unavailableIconName, background, spacing, pattern, patternOpacity, patternClassName, className, containerClassName, headerClassName, titleClassName, subtitleClassName, plansGridClassName, cardClassName, highlightedCardClassName, cardTitleClassName, cardDescriptionClassName, priceClassName, featuresClassName, featureItemClassName, featureIconClassName, featureTextClassName, actionClassName, separatorClassName, comparisonHeadingClassName, tableClassName, tableHeadClassName, tableRowClassName, tableCellClassName, }: PricingComparisonTableProps): React.JSX.Element;
|
|
279
|
+
|
|
280
|
+
export { PricingComparisonTable, type PricingComparisonTableProps };
|