Staaarter

Spotlight Focus

A FAQ grid where clicking a card brings its answer into focus: the selected card gains full opacity, a primary ring, and a slight scale-up, while every other card dims to 40% opacity. Clicking the focused card again clears the spotlight.

By Staaarter Team
FAQ
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its badge dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/spotlight-focus.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/faq/faq63.tsx instead.

Usage

The file also exports faq63Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.

import { Faq63, faq63Demo } from "@/components/blocks/faq/faq63";

export default function Page() {
  return <Faq63 {...faq63Demo} />;
}

Props

PropTypeDefaultDescription
badgestringnoneSmall label shown above the heading.
headingstringnoneSection heading.
descriptionstringnoneSupporting copy under the heading.
faqsFaqItem[]noneList of question/answer cards.
classNamestringnoneExtra classes for the outer section element.

Types

interface FaqItem {
  question: string;
  answer: string;
}

Behavior notes

  • Real client state: clicking a card sets it as the focused index, which drives the ring/scale/opacity styling and reveals that card's answer; clicking it again clears the focus.
  • The dimming of unfocused cards and the ring/scale highlight on the focused card are CSS transitions (opacity, transform, ring) with no pointer-tracking or animation library involved.