Staaarter

Blur Reveal on Hover

Each FAQ row shows its question in full, with the answer underneath rendered blurred and faded by default. Hovering the row un-blurs and fully opacifies the answer with a smooth CSS transition, an interactive-feeling reveal built entirely with group/group-hover utility classes and no JavaScript.

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/blur-reveal-on-hover.json

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

Usage

The file also exports faq30Demo, 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 { Faq30, faq30Demo } from "@/components/blocks/faq/faq30";

export default function Page() {
  return <Faq30 {...faq30Demo} />;
}

Props

PropTypeDefaultDescription
badgestring"FAQ"Small label shown above the heading.
headingstring"Hover to reveal the answer"Section heading.
descriptionstring"We kept the layout clean, hover any question to see the full answer."Supporting copy under the heading.
items{ question: string; answer: string }[]noneFAQ rows.
classNamestringnoneExtra classes for the outer section element.

Behavior notes

  • The blur/reveal is pure CSS (group + group-hover:blur-none/opacity-100 with a transition), there is no event handler and no client-side state involved, so this stays a safe server component despite being visually interactive.
  • On touch devices without a hover capability, the answer remains blurred since there's no tap fallback, this block is best suited to desktop-first contexts.