Skip to content

Faq List

Numbered accordion FAQ in a ruled list: mono index + question, a +/− glyph that swaps, answer indented under the question; left column holds the label and title.

mono-clean/section/faq-list
Open ↗

Source

"use client";

import { Accordion } from "radix-ui";
import { cn } from "@/lib/utils";

export interface FaqListProps {
  label?: string;
  title?: string;
  items?: { q: string; a: string }[];
  className?: string;
}

const DEFAULT_ITEMS = [
  { q: "Can I use my own domain?", a: "Yes. Every paid plan includes a custom domain with automatic SSL. Point your DNS and you’re live in minutes." },
  { q: "Can I upload my own fonts?", a: "Upload any WOFF2 you have a web license for. Variable axes and OpenType features are supported." },
  { q: "Is there a free plan?", a: "Personal is free forever with a frame.studio address and a small badge." },
  { q: "Can I export my site?", a: "You can export all content and images at any time. Your work stays yours." },
  { q: "Do you offer education discounts?", a: "Students and teachers get Studio for free — verify with your school email." },
];

/** Numbered accordion FAQ in a ruled list: mono index + question, a +/− glyph that swaps, answer indented under the question; left column holds the label and title. */
export function FaqList({ label = "(07) FAQ", title = "Questions", items = DEFAULT_ITEMS, className }: FaqListProps) {
  return (
    <section aria-labelledby="mc-fl-title" className={cn("da-section bg-da-bg text-da-fg", className)}>
      <div className="da-container grid gap-10 lg:grid-cols-12">
        <div className="lg:col-span-4">
          <p className="font-da-mono text-xs tracking-da-label text-da-muted-fg uppercase">{label}</p>
          <h2 id="mc-fl-title" className="mt-4 font-da-display text-[clamp(2.5rem,5vw,4rem)] leading-none font-medium tracking-da-display">
            {title}
          </h2>
        </div>
        <Accordion.Root type="single" collapsible className="border-t border-da-border-strong lg:col-span-8">
          {items.map((it, i) => (
            <Accordion.Item key={it.q} value={`q${i}`} className="border-b border-da-border">
              <Accordion.Header>
                <Accordion.Trigger className="group da-focus flex w-full items-baseline gap-5 py-6 text-left text-xl font-medium">
                  <span className="font-da-mono text-xs text-da-muted-fg">{String(i + 1).padStart(2, "0")}</span>
                  <span className="flex-1">{it.q}</span>
                  <span aria-hidden className="font-da-mono text-lg">
                    <span className="group-data-[state=open]:hidden">+</span>
                    <span className="hidden group-data-[state=open]:inline">−</span>
                  </span>
                </Accordion.Trigger>
              </Accordion.Header>
              <Accordion.Content className="pb-6 pl-10 text-da-muted-fg">{it.a}</Accordion.Content>
            </Accordion.Item>
          ))}
        </Accordion.Root>
      </div>
    </section>
  );
}

export default FaqList;

modules/mono-clean/section/faq-list/index.tsx

Props

PropTypeDefaultDescription
labelstring—Label.
titlestring—Heading.
items{ q: string; a: string }[]—Content items (see the exported types).
classNamestring—Extra classes on the root.

Other faq variants in Mono Clean

FAQ in other art directions

FAQ Accordion

Two-column FAQ: sticky title + support CTA on the left, numbered accordion cards on the right with a yellow plus that rotates into an ink cross when open. Built on Radix Accordion.

BrutalistFAQ

FAQ Categories

Help-center style FAQ: topic buttons with counts on the left (stacked on desktop, wrapped on mobile), and a ruled accordion on the right whose open question floods yellow.

BrutalistFAQ

FAQ Grid

Always-open FAQ grid: ruled cells (1/2/3 columns) with a yellow question-mark square, uppercase question and answer, closed by a full-width ink contact row. No interaction needed.

BrutalistFAQ

FAQ Search

Searchable FAQ: a huge ruled search field that presses in on focus, live result count, and native <details> cards with tags; a pink empty state points to support.

BrutalistFAQ

Faq Cards

All-open FAQ: a 3-column grid of glass cards, each with a gradient number badge, question and answer, followed by a glass contact pill with an ink button.

GlassFAQ

Faq Chat

FAQ as a chat: suggested question chips on the left; picking one adds a gradient user bubble and, after a typing indicator, a glass answer bubble in the conversation panel.

GlassFAQ

FAQ Glass

Centered FAQ with stacked frosted accordion cards; the plus button spins into a gradient cross with a slight overshoot and answers expand smoothly. Built on Radix Accordion.

GlassFAQ

Faq Search

Help-center FAQ: large glass search pill filtering a frosted Radix accordion live, with category tags, result count and highlighted matches; empty state.

GlassFAQ

Faq Grid

All answers visible at once: a three-column grid of short questions and answers under a header, followed by two support link cards (documentation, talk to us).

MinimalFAQ

Faq List

Centered single-column FAQ built on native details/summary (zero JS): hairline dividers, a plus icon that rotates into a cross when open, and a contact line underneath.

MinimalFAQ

FAQ Split

Two-column FAQ: title, description and support link on the left, hairline-divided Radix accordion on the right with a rotating chevron and a smooth height + fade expand.

MinimalFAQ

Faq Tabs

FAQ grouped by category behind an underline tab bar (Radix Tabs, with counts); the active category shows every question and answer in a two-column definition list.

MinimalFAQ

Faq Accordion

Two-column FAQ: heading + description + contact link on the left, bordered Radix accordion with plus icons rotating to × on the right.

Neo CorporateFAQ

Faq Security

Security & compliance FAQ: dark-tinted certification cards (SOC 2, ISO 27001, GDPR, PCI) with shield icons, then security questions as native <details> disclosure rows.

Neo CorporateFAQ

Faq Sidebar

Help-center style FAQ: a vertical category nav (left, becomes horizontal scroll chips on mobile) and the selected category’s questions as an open definition list.

Neo CorporateFAQ

Faq Support

Compact 2×3 grid of short Q&As followed by three bordered support channel cards (docs, chat, dedicated support).

Neo CorporateFAQ

Faq Columns

Editorial FAQ: serif title and intro in a narrow left column, questions as a two-column definition list on the right separated by warm hairlines.

Organic SoftFAQ

Faq Contact

FAQ beside a contact card: native disclosure list on the left, and a clay-tinted card with a sprouting-leaf illustration, email and chat buttons on the right.

Organic SoftFAQ

Faq Search

Searchable FAQ: rounded search field plus topic pills filter a list of questions (native details), with a friendly empty state and live result count.

Organic SoftFAQ

Faq Soft

Soft accordion: each question is its own rounded paper pill-card that turns sage when open, with a round plus that rotates into a cross; generous spacing.

Organic SoftFAQ

Faq Columns

All-visible FAQ: sticky intro with a peach “Chat with us” pill on the left, six Q&As in a 2-column grid with round lavender number badges on the right.

Soft FlatFAQ

Faq Help

Help-center FAQ: lavender panel with a friendly greeting, big white search pill and popular-search chips; matching answers show as white cards with a peach empty state.

Soft FlatFAQ

Faq Pills

Single-column FAQ of rounded white blocks on native details/summary; the open item turns lavender and its round chevron button flips and fills periwinkle.

Soft FlatFAQ

Faq Tinted

FAQ by topic: three big pastel topic buttons (emoji + label) switch the list of white Q&A cards below, which fades in on change.

Soft FlatFAQ