{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"pricing-1","type":"registry:block","title":"Pricing 1","description":"","dependencies":["lucide-react"],"registryDependencies":["https://www.diarmuradi.com/r/styles/base-nova/accordion.json","https://www.diarmuradi.com/r/styles/base-nova/badge.json","https://www.diarmuradi.com/r/styles/base-nova/button.json","https://www.diarmuradi.com/r/styles/base-nova/fancy-button.json","https://www.diarmuradi.com/r/styles/base-nova/separator.json"],"files":[{"path":"pricing.tsx","type":"registry:block","content":"\"use client\"\n\nimport {\n  Accordion,\n  AccordionContent,\n  AccordionItem,\n  AccordionTrigger,\n} from \"@/components/ui/accordion\"\nimport { Badge } from \"@/components/ui/badge\"\nimport { Button } from \"@/components/ui/button\"\nimport { Separator } from \"@/components/ui/separator\"\nimport { FancyButton } from \"@/components/fancy-button\"\nimport { CheckIcon, MinusIcon, PlusIcon } from 'lucide-react'\n\ntype FaqItem = {\n  value: string\n  question: string\n  answer: string\n}\n\ntype PricingPlan = {\n  label: string\n  description: string\n  price: number\n  period: string\n  features: string[]\n}\n\nconst plan: PricingPlan = {\n  label: \"Business plan\",\n  description:\n    \"Complete toolkit for growing businesses managing payments, invoicing, and financial operations.\",\n  price: 149,\n  period: \"One-time payment\",\n  features: [\n    \"Unlimited team members\",\n    \"Advanced payment processing\",\n    \"Automated invoice generation\",\n    \"Real-time financial analytics\",\n    \"Custom workflow automation\",\n    \"Dedicated account support\",\n  ],\n}\n\nexport function Pricing() {\n  const faqs: FaqItem[] = [\n    {\n      value: \"item-1\",\n      question: \"What payment methods do you accept?\",\n      answer:\n        \"We accept all major credit cards, debit cards, bank transfers, and digital wallets including Apple Pay and Google Pay. For enterprise plans, we also offer invoice-based billing.\",\n    },\n    {\n      value: \"item-2\",\n      question: \"Can I cancel my subscription anytime?\",\n      answer:\n        \"Yes, you can cancel your subscription at any time with no penalties. You'll continue to have access until the end of your billing period, and we'll provide an export of all your data.\",\n    },\n    {\n      value: \"item-3\",\n      question: \"Do you offer volume discounts?\",\n      answer:\n        \"Yes, we offer custom pricing for teams with more than 50 users. Contact our sales team to discuss volume discounts and enterprise pricing options tailored to your needs.\",\n    },\n    {\n      value: \"item-4\",\n      question: \"How does billing work for additional users?\",\n      answer:\n        \"Additional users are billed on a pro-rata basis. When you add a new team member, you'll only pay for the remaining portion of the billing cycle.\",\n    },\n    {\n      value: \"item-5\",\n      question: \"Is there a setup fee?\",\n      answer:\n        \"No setup fees or hidden costs. The price you see is what you pay. We believe in transparent, straightforward pricing with no surprises.\",\n    },\n    {\n      value: \"item-6\",\n      question: \"What happens to my data if I downgrade?\",\n      answer:\n        \"Your data remains secure and accessible. Some advanced features may be disabled on lower-tier plans, but all your core data stays intact and can be exported anytime.\",\n    },\n    {\n      value: \"item-7\",\n      question: \"Do you provide implementation support?\",\n      answer:\n        \"Yes, all Business plan customers receive dedicated onboarding support, including setup assistance, team training sessions, and ongoing technical support.\",\n    },\n  ]\n\n  return (\n    <section aria-label=\"Pricing\" className=\"mx-auto w-full max-w-5xl\">\n      <div className=\"flex flex-col items-center gap-12\">\n        <div className=\"flex flex-col items-center gap-4 text-center\">\n          <Badge variant=\"outline\">Pricing & Faq</Badge>\n          <h2 className=\"text-4xl font-bold tracking-tight text-foreground sm:text-5xl\">\n            Transparent and simple\n          </h2>\n          <p className=\"max-w-2xl text-lg text-muted-foreground\">\n            Choose the right plan for your team. Fair pricing, zero surprises.\n          </p>\n        </div>\n\n        <div className=\"grid grid-cols-1 gap-8 lg:grid-cols-2\">\n          <PricingCard plan={plan} />\n\n          <FaqSection faqs={faqs} />\n        </div>\n      </div>\n    </section>\n  )\n}\n\nfunction PricingCard({ plan }: { plan: PricingPlan }) {\n  return (\n    <div className=\"mx-auto flex h-fit w-full max-w-md flex-col gap-6 rounded-4xl bg-card p-8 shadow-elevated-lg\">\n      <div className=\"flex flex-col gap-2\">\n        <h3 className=\"text-2xl font-medium text-foreground\">{plan.label}</h3>\n        <p className=\"text-sm leading-relaxed text-muted-foreground\">\n          {plan.description}\n        </p>\n      </div>\n\n      <div className=\"flex items-baseline gap-1\">\n        <span className=\"text-6xl font-semibold tracking-tight text-foreground\">\n          ${plan.price}\n        </span>\n        <span className=\"text-xl text-muted-foreground\">{plan.period}</span>\n      </div>\n\n      <Separator className=\"bg-border/50\" />\n\n      <ul className=\"flex flex-col gap-3\">\n        {plan.features.map((feature) => (\n          <li key={feature} className=\"flex items-start gap-3\">\n            <CheckIcon  className=\"mt-0.5 size-4 shrink-0 text-primary\" />\n            <span className=\"text-sm text-muted-foreground\">{feature}</span>\n          </li>\n        ))}\n      </ul>\n\n      <FancyButton size=\"lg\" className=\"w-full\">\n        Contact us\n      </FancyButton>\n    </div>\n  )\n}\n\nfunction FaqSection({ faqs }: { faqs: FaqItem[] }) {\n  return (\n    <div className=\"flex max-w-md flex-col gap-6\">\n      <h3 className=\"text-sm text-muted-foreground\">\n        Frequently asked questions\n      </h3>\n\n      <Accordion defaultValue={[\"item-1\"]} className=\"flex flex-col gap-2\">\n        {faqs.map((item) => (\n          <AccordionItem\n            value={item.value}\n            key={item.value}\n            className=\"rounded-xl border-none bg-muted px-4\"\n          >\n            <AccordionTrigger className=\"group py-4 text-muted-foreground hover:text-foreground hover:no-underline aria-expanded:text-foreground *:data-[slot=accordion-trigger-icon]:hidden\">\n              <div className=\"flex w-full items-center justify-between gap-4\">\n                <span className=\"text-left text-sm\">{item.question}</span>\n                <div className=\"relative shrink-0 *:size-4 *:text-muted-foreground *:transition-opacity *:duration-300 *:group-hover:text-foreground\">\n                  <PlusIcon  className=\"group-aria-expanded/accordion-trigger:opacity-0\" />\n                  <MinusIcon  className=\"absolute inset-0 opacity-0 group-aria-expanded/accordion-trigger:opacity-100\" />\n                </div>\n              </div>\n            </AccordionTrigger>\n            <AccordionContent className=\"pb-4 text-sm text-muted-foreground\">\n              {item.answer}\n            </AccordionContent>\n          </AccordionItem>\n        ))}\n      </Accordion>\n    </div>\n  )\n}","target":"components/pricing.tsx"}]}