@olwiba/ui 0.2.2 → 0.2.3
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/index.d.ts +5 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/marketing/PricingSection.tsx +9 -3
package/dist/index.d.ts
CHANGED
|
@@ -672,10 +672,14 @@ interface PricingSectionProps {
|
|
|
672
672
|
footnote?: string;
|
|
673
673
|
mode?: 'subscription' | 'one-time';
|
|
674
674
|
foundingDeadline?: string;
|
|
675
|
+
/** Symbol prepended to the computed price. Ignored by plans with `priceDisplay`. */
|
|
676
|
+
currency?: string;
|
|
677
|
+
/** Badge label for `highlighted` plans with no active `foundingDeadline` countdown. Pass '' to show no badge. */
|
|
678
|
+
highlightedBadgeLabel?: string;
|
|
675
679
|
/** Rendered below each plan's CTA button (e.g. a "Get notified" link). */
|
|
676
680
|
renderPlanFooter?: (plan: PricingPlan) => React.ReactNode;
|
|
677
681
|
}
|
|
678
|
-
declare function PricingSection({ title, description, badge, plans, saveBadge, isAuthenticated, renderLink, footnote, mode, foundingDeadline, renderPlanFooter, }: PricingSectionProps): react_jsx_runtime.JSX.Element;
|
|
682
|
+
declare function PricingSection({ title, description, badge, plans, saveBadge, isAuthenticated, renderLink, footnote, mode, foundingDeadline, currency, highlightedBadgeLabel, renderPlanFooter, }: PricingSectionProps): react_jsx_runtime.JSX.Element;
|
|
679
683
|
|
|
680
684
|
interface TestimonialsSectionProps {
|
|
681
685
|
title?: string;
|
package/dist/index.js
CHANGED
|
@@ -2134,6 +2134,8 @@ function PricingSection({
|
|
|
2134
2134
|
footnote,
|
|
2135
2135
|
mode = "subscription",
|
|
2136
2136
|
foundingDeadline,
|
|
2137
|
+
currency = "$",
|
|
2138
|
+
highlightedBadgeLabel = "Founding member",
|
|
2137
2139
|
renderPlanFooter
|
|
2138
2140
|
}) {
|
|
2139
2141
|
const [annual, setAnnual] = React32.useState(false);
|
|
@@ -2184,9 +2186,9 @@ function PricingSection({
|
|
|
2184
2186
|
] }),
|
|
2185
2187
|
/* @__PURE__ */ jsx(StaggerChildren, { className: "mt-10 grid gap-4 lg:grid-cols-3", children: plans.map((plan) => {
|
|
2186
2188
|
const rawPrice = isOneTime ? plan.monthly : annual ? plan.annual : plan.monthly;
|
|
2187
|
-
const price = plan.priceDisplay ??
|
|
2189
|
+
const price = plan.priceDisplay ?? `${currency}${rawPrice}`;
|
|
2188
2190
|
const period = plan.periodDisplay ?? (isOneTime ? "one-time" : rawPrice > 0 ? "/mo" : "");
|
|
2189
|
-
const badge2 = plan.highlighted && foundingDeadline ? /* @__PURE__ */ jsx("span", { className: "inline-flex items-center rounded-full border bg-secondary px-2.5 py-0.5 text-xs font-semibold text-secondary-foreground", children: /* @__PURE__ */ jsx(CountdownTimer, { deadline: foundingDeadline, compact: true }) }) : plan.highlighted ?
|
|
2191
|
+
const badge2 = plan.highlighted && foundingDeadline ? /* @__PURE__ */ jsx("span", { className: "inline-flex items-center rounded-full border bg-secondary px-2.5 py-0.5 text-xs font-semibold text-secondary-foreground", children: /* @__PURE__ */ jsx(CountdownTimer, { deadline: foundingDeadline, compact: true }) }) : plan.highlighted && highlightedBadgeLabel ? highlightedBadgeLabel : void 0;
|
|
2190
2192
|
return /* @__PURE__ */ jsx(
|
|
2191
2193
|
PricingCard,
|
|
2192
2194
|
{
|