'use client'; import React, { useState } from 'react'; import { AnimatePresence, motion } from 'framer-motion'; import { Plus } from '@phosphor-icons/react'; import { cn } from '@/lib/utils'; interface FAQItem { question: string; answer: string; } interface FAQProps extends React.HTMLAttributes { title?: string; subtitle?: string; categories: Record; faqData: Record; } export const FAQ = ({ title = "FAQs", subtitle = "Frequently Asked Questions", categories, faqData, className, ...props }: FAQProps) => { const categoryKeys = Object.keys(categories); const [selectedCategory, setSelectedCategory] = useState(categoryKeys[0]); return (
); }; const FAQHeader = ({ title, subtitle }: { title: string; subtitle: string }) => (
{subtitle}

{title}

); const FAQTabs = ({ categories, selected, setSelected }: { categories: Record; selected: string; setSelected: (key: string) => void }) => (
{Object.entries(categories).map(([key, label]) => ( ))}
); const FAQList = ({ faqData, selected }: { faqData: Record; selected: string }) => (
{Object.entries(faqData).map(([category, questions]) => { if (selected === category) { return ( {questions.map((faq, index) => ( ))} ); } return null; })}
); const FAQItemComponent = ({ question, answer }: FAQItem) => { const [isOpen, setIsOpen] = useState(false); return (

{answer}

); };