First Call Questions

Before you begin

Thethingspeopleaskonthefirstcall.

If your question is not here, ask it anyway. There is no such thing as a silly one before a first session.

Ask something else

About this block

First Call QuestionsPRO

A split FAQ: a sticky column with an eyebrow, a serif heading that settles in word by word, an intro and a pill action, beside a ruled accordion whose serif questions open to calm, plain answers.

Faq94: First Call Questions

A first-call FAQ: a sticky column of heading, intro and pill action beside a single-open accordion whose serif questions sit on rules of their own.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Upgrade Now

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/faq94?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/faq94?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/faq94.tsx, the shadcn accordion primitive it is built on, and the button22 sliding-marker pill and the text1 word stagger it uses.

Quick start

The installed file exports faq94Demo alongside the block: the exact props behind the preview above. Spread it to get a working FAQ section in one line.

tsx
import { Faq94, faq94Demo } from "@/components/beste/block/faq94";

export default function Page() {
  return <Faq94 {...faq94Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Faq94 } from "@/components/beste/block/faq94";

export default function Page() {
  return (
    <Faq94
      eyebrow="Before you begin"
      heading="The things people ask on the first call."
      description="If your question is not here, ask it anyway."
      button={{ label: "Ask something else", href: "/contact", tone: "outline" }}
      items={[
        {
          question: "Do I need to know what I want to talk about?",
          answer: "No. Many people arrive with a feeling rather than a topic.",
        },
        {
          question: "Can we meet online?",
          answer: "Yes. About half of our sessions happen on video.",
        },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
eyebrowstringSmall-caps line above the heading
headingstringSection heading, rendered as an h2 through Text1
descriptionstringIntro paragraph in the sticky column
buttonActionButtonPill action under the intro
itemsFaqItem[][]Questions and answers, in the order given
classNamestringExtra classes for the outer <section>
ts
type FaqItem = {
  question: string;
  answer: string;
};

type ActionButton = {
  label: string;
  href: string;
  tone?: "primary" | "light" | "dark" | "outline";
};

Behavior notes

  • The accordion is type="single" with collapsible, so one answer is open at a time and the open one can be closed again, leaving the list fully collapsed.
  • Item values are derived from the index (faq94-0, faq94-1), so nothing has to be unique in your content for the accordion to track which panel is open.
  • The trigger's chevron is styled through an [&>svg] selector rather than being passed as a prop, because the shadcn trigger renders its own icon; that is also where its size and muted colour come from.
  • hover:no-underline is set deliberately: the shadcn default underlines a hovered trigger, which fights a serif question set at this size.
  • Left column is md:sticky md:top-28 so the heading and action stay in view down a long list, and falls back to normal flow below md where a sticky column would cover the questions.
  • The whole accordion animates in as one block rather than per item, since a staggered list of collapsed rows reads as a loading state rather than as an arrival.
  • Answers are plain strings, so no markup is rendered inside them; a link in an answer needs the block extended rather than HTML passed in.

More FAQ blocks

View all FAQ
PRO

faq79

Sticky Split FAQ

A two-column FAQ with a sticky eyebrow, light heading, and support call to action on the left, and an interactive accordion of questions on the right.

PRO

faq95

Centred Accordion

The classic single-column FAQ: a centred serif heading that settles in word by word, a ruled accordion with serif questions and plain answers, and a closing line with a sliding-marker pill for the question that is not on the list.

PRO

faq86

Two Column Accordion

An FAQ split across two columns of independent accordions, so opening one answer never closes another, closing on a soft support panel with two actions.

PRO

faq70

Two-Column FAQ

FAQ accordion split into two independent columns.

PRO

faq81

Grouped FAQ Columns

FAQ split into two labelled groups, each an independent accordion of ruled questions, so a long list stays scannable by topic; closed by a response-time note beside an outline pill CTA.

PRO

faq71

Minimal FAQ

Oversized single-column FAQ accordion with generous spacing.