Measured entry
tripled-faq-accordion-block-shadcnui
faqminimal-flatmotion on file
A client-side FAQ section with an animated, single-open-item accordion and a support callout. It ships as a shadcn registry block with its sample content inline, and depends on React, Framer Motion, Lucide icons, Tailwind theme tokens, and shadcn Badge, Button, and Card primitives.



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 | 73.1 KB (138.5 KB build, 65.4 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 4s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/components/ui/button.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A polished, working block for teams already committed to the same UI stack, but heavier and less reusable than a basic FAQ needs to be. It needs a shadcn-style setup; the bare project fails because the copied Button expects the shared utility module.
Use it if
- Your product needs a ready-made FAQ section with one answer visible at a time and a support callout below it.
- Your app already uses shadcn primitives, Tailwind theme tokens, Lucide icons, and Framer Motion.
- You are comfortable replacing inline sample questions and wiring the callout buttons yourself.
Skip it if
- Your FAQ content must come from a CMS or localization files without refactoring the component API.
- You need disclosure controls that expose expanded state and panel relationships to assistive technology out of the box.
- You are minimizing client-side JavaScript for a simple content section or do not otherwise use Framer Motion.
- Your motion policy requires reduced-motion behavior without additional implementation.
Install
| Declared dependencies | framer-motion, react, radix-ui |
|---|---|
| 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 and the expected theme variables, configure the at-sign import alias, provide the shared class-name utility module, and install or recreate the Badge, Button, and Card primitives. Also add React, Framer Motion, Lucide React, and any Radix packages used by those primitives.
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/moumen-soliman/uitripledAlternatives
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