Measured entry
ruixen-staggered-faq-section
faqunclassifiedmotion on file
A client-side FAQ section shipped as a shadcn registry item with a companion blurred stagger text component. It renders a responsive Tailwind layout around a shadcn Accordion, animates each answer character with Motion, and expects Next.js Link, the cn utility, Radix-backed accordion primitives, and theme token classes.



Measured
Every value below was written by the harness on the run that produced the frames above. None of it is derived from the prose.
| Build | OK |
|---|---|
| Mount | OK |
| Console errors | 0 |
| Uncaught page errors | 0 |
| Horizontal overflow | clean at 375, 768, 1440 |
| Axe critical | 0 |
| Axe serious | 0 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 98.2 KB (163.7 KB build, 65.5 KB baseline) |
| Bare mode | FAIL |
| Provider required | NO |
| Demo used | written from the component source API |
What the harness recorded
BARE BUILD
✗ Build failed in 1m 13s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/components/ruixen/staggered-faq-section.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A polished, responsive FAQ for teams already in the intended stack, with clean harness behavior and no detected accessibility violations. It needs a shadcn-style setup: the bare project cannot resolve the expected cn utility. The character-by-character answer effect is distinctive but heavier than a routine disclosure.
Use it if
- You want an FAQ with a persistent heading column and expandable answers on wider layouts.
- Your app already uses Next.js, Tailwind theme tokens, and shadcn-style component aliases.
- The per-character reveal supports the tone of short, infrequently opened answers.
Skip it if
- You need framework-neutral React because the support link imports Next.js Link directly.
- You want a lightweight static disclosure without a per-character animation dependency.
- Your answers are long or frequently toggled, where animating every character may feel busy.
- Your design system does not expose shadcn Accordion primitives or the cn utility.
Install
| Declared dependencies | motion, radix-ui, clsx, tailwind-merge |
|---|---|
| Missing on install | none |
| Bare install | fails once the shadcn-style helpers are removed, so it needs that setup |
| Provider | no provider required in the harness |
In a non-shadcn project, add Tailwind with the expected foreground, muted, primary, and border theme tokens; provide the cn helper using clsx and tailwind-merge; install a Radix-backed Accordion matching the imported API; add Motion; and either use Next.js or replace Link with your router's link component. Preserve the client-component boundary.
Source and credit
This page is a review, not a copy. The component source lives with its author and this site does not republish it. Read the license before you use anything.
Author repository
github.com/ruixenui/ruixen.comAlternatives
Other published entries for the faq pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- hyperui-faq-1editorial
- Renders
- YES
- A11y
- 0
- Gzip
- 17.6KB
- Bare
- pass
- Prov
- NO
- hyperui-faq-2editorial
- Renders
- YES
- A11y
- 0
- Gzip
- 17.6KB
- Bare
- pass
- Prov
- NO
- hyperui-faq-3editorial
- Renders
- YES
- A11y
- 0
- Gzip
- 17.7KB
- Bare
- pass
- Prov
- NO
- meraki-faq-collapseminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 17.9KB
- Bare
- pass
- Prov
- NO
- meraki-faq-centeredminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 18.0KB
- Bare
- pass
- Prov
- NO
- meraki-faq-gridminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 18.0KB
- Bare
- pass
- Prov
- NO