diff --git a/src/components/sections/pricing/PricingCardFive.tsx b/src/components/sections/pricing/PricingCardFive.tsx
index 0e79a7d..ad1ef66 100644
--- a/src/components/sections/pricing/PricingCardFive.tsx
+++ b/src/components/sections/pricing/PricingCardFive.tsx
@@ -1,231 +1,51 @@
"use client";
-import { Check } from "lucide-react";
+import React from "react";
import CardList from "@/components/cardStack/CardList";
-import Tag from "@/components/shared/Tag";
-import Button from "@/components/button/Button";
-import { getButtonProps } from "@/lib/buttonUtils";
-import { cls, shouldUseInvertedText } from "@/lib/utils";
-import { useTheme } from "@/providers/themeProvider/ThemeProvider";
-import type { LucideIcon } from "lucide-react";
-import type { ButtonConfig, ButtonAnimationType, CardAnimationType, TitleSegment } from "@/components/cardStack/types";
-import type { TextboxLayout, InvertedBackground } from "@/providers/themeProvider/config/constants";
-
-type PricingPlan = {
- id: string;
- tag: string;
- tagIcon?: LucideIcon;
- price: string;
- period: string;
- description: string;
- button: ButtonConfig;
- featuresTitle: string;
- features: string[];
-};
interface PricingCardFiveProps {
- plans: PricingPlan[];
- animationType: CardAnimationType;
- title: string;
- titleSegments?: TitleSegment[];
- description: string;
- tag?: string;
- tagIcon?: LucideIcon;
- tagAnimation?: ButtonAnimationType;
- buttons?: ButtonConfig[];
- buttonAnimation?: ButtonAnimationType;
- textboxLayout: TextboxLayout;
- useInvertedBackground: InvertedBackground;
- ariaLabel?: string;
- className?: string;
- containerClassName?: string;
- cardClassName?: string;
- textBoxTitleClassName?: string;
- textBoxDescriptionClassName?: string;
- textBoxClassName?: string;
- textBoxTagClassName?: string;
- textBoxButtonContainerClassName?: string;
- textBoxButtonClassName?: string;
- textBoxButtonTextClassName?: string;
- titleImageWrapperClassName?: string;
- titleImageClassName?: string;
- cardContentClassName?: string;
- planTagClassName?: string;
- planPriceClassName?: string;
- planPeriodClassName?: string;
- planDescriptionClassName?: string;
- planButtonClassName?: string;
- planButtonTextClassName?: string;
- featuresTitleClassName?: string;
- featuresListClassName?: string;
- featureItemClassName?: string;
- featureIconClassName?: string;
- featureTextClassName?: string;
+ plans?: any[];
+ title?: string;
+ description?: string;
+ animationType?: string;
+ useInvertedBackground?: boolean;
+ textboxLayout?: string;
+ tag?: string;
+ tagIcon?: any;
+ tagAnimation?: string;
+ buttons?: any[];
+ buttonAnimation?: string;
+ titleSegments?: any[];
+ ariaLabel?: string;
+ className?: string;
+ containerClassName?: string;
+ cardClassName?: string;
+ textBoxTitleClassName?: string;
+ textBoxDescriptionClassName?: string;
+ textBoxClassName?: string;
+ textBoxTagClassName?: string;
+ textBoxButtonContainerClassName?: string;
+ textBoxButtonClassName?: string;
+ textBoxButtonTextClassName?: string;
+ titleImageWrapperClassName?: string;
+ titleImageClassName?: string;
}
-const PricingCardFive = ({
- plans,
- animationType,
- title,
- titleSegments,
- description,
- tag,
- tagIcon,
- tagAnimation,
- buttons,
- buttonAnimation,
- textboxLayout,
- useInvertedBackground,
- ariaLabel = "Pricing section",
- className = "",
- containerClassName = "",
- cardClassName = "",
- textBoxTitleClassName = "",
- textBoxDescriptionClassName = "",
- textBoxClassName = "",
- textBoxTagClassName = "",
- textBoxButtonContainerClassName = "",
- textBoxButtonClassName = "",
- textBoxButtonTextClassName = "",
- titleImageWrapperClassName = "",
- titleImageClassName = "",
- cardContentClassName = "",
- planTagClassName = "",
- planPriceClassName = "",
- planPeriodClassName = "",
- planDescriptionClassName = "",
- planButtonClassName = "",
- planButtonTextClassName = "",
- featuresTitleClassName = "",
- featuresListClassName = "",
- featureItemClassName = "",
- featureIconClassName = "",
- featureTextClassName = "",
-}: PricingCardFiveProps) => {
- const theme = useTheme();
- const shouldUseLightText = shouldUseInvertedText(useInvertedBackground, theme.cardStyle);
+export default function PricingCardFive({
+ plans = [],
+ title = "Pricing", description = "Our pricing plans", animationType = "slide-up", useInvertedBackground = false,
+ textboxLayout = "default"}: PricingCardFiveProps) {
+ const items = plans.map((plan) => ({
+ id: plan.id,
+ label: plan.badge,
+ detail: plan.price,
+ }));
- const getButtonConfigProps = () => {
- if (theme.defaultButtonVariant === "hover-bubble") {
- return { bgClassName: "w-full" };
- }
- if (theme.defaultButtonVariant === "icon-arrow") {
- return { className: "justify-between" };
- }
- return {};
- };
-
- return (
-
- {plan.description}
-
- {plan.featuresTitle}
-
-
- {plan.features.map((feature, index) => (
-
-
{description}
+