Skip to content
All Taste components

Data display

Accordion

Questions or sections that open one at a time to keep a long page short.

open · closed · rotating chevron

How do I add GST to an invoice?

Add your GSTIN under Settings → Business. Every new invoice then splits tax into CGST and SGST, or IGST for customers in other states.

Can customers pay by UPI?

Yes. Each invoice carries a UPI link and QR code, and the payment is matched to the invoice automatically.

What happens when an invoice is overdue?

We send a polite reminder on the due date and again after 3 and 7 days. You can turn reminders off per customer.

import { ChevronDown } from "lucide-react";

type Item = { question: string; answer: React.ReactNode };

/** Native <details>: keyboard and screen-reader support for free. Give the
 *  items the same name to let only one stay open (supported in modern browsers). */
export function Accordion({ items, name = "faq" }: { items: Item[]; name?: string }) {
  return (
    <div className="w-full max-w-[480px] divide-y divide-border overflow-hidden rounded-lg border border-border bg-bg">
      {items.map((item, i) => (
        <details key={item.question} name={name} open={i === 0} className="group">
          <summary className="flex cursor-pointer list-none items-center justify-between gap-3 px-4 py-3.5 text-sm font-medium transition hover:bg-surface [&::-webkit-details-marker]:hidden">
            {item.question}
            <ChevronDown className="size-4 shrink-0 text-fg-subtle transition-transform group-open:rotate-180" aria-hidden />
          </summary>
          <div className="px-4 pb-4 text-[13.5px] leading-relaxed text-fg-muted">{item.answer}</div>
        </details>
      ))}
    </div>
  );
}

The code uses the Taste Tailwind preset. Make yours on the Taste page with Export my system.