Measured entry
tripled-native-tabs-shadcnui
tabsminimal-flatmotion on file
A client-side React tabs wrapper that renders data-driven labels and panels over shadcn Tabs, with Framer Motion animating the active pill and panel transitions. It ships as registry source and expects Tailwind theme classes, the shadcn utility helper, and the Radix-backed tabs primitive.



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 | 80.3 KB (145.8 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 1.07s error during build: [vite]: Rollup failed to resolve import "class-variance-authority" from "<sandbox>re-830f8e89466a/src/components/ui/tabs.tsx".
Verdict
A solid fit for an existing shadcn app: it built, mounted, stayed within its viewports, and exposed no automated accessibility findings. It carries a notable animation dependency and needs a shadcn-style setup, so it is not a drop-in choice for a bare React project.
Use it if
- Your app already uses shadcn Tabs and you want an animated pill indicator without designing the interaction yourself.
- You need tabs generated from a compact array of labels and React content.
- You want motion that respects the user's reduced-motion preference.
Skip it if
- Your project does not use Tailwind theme tokens or shadcn component conventions.
- You want to avoid Framer Motion for a small navigation control.
- Your tab labels may need horizontal scrolling or a compact mobile treatment beyond equal-width triggers.
- You need an uncontrolled tabs API or external control of the active value.
Install
| Declared dependencies | framer-motion, react, 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 theme tokens, configure the at-sign path alias, provide the cn helper with clsx and tailwind-merge, install the Radix-backed shadcn Tabs primitive and class-variance-authority, and add Framer Motion. Keep it in a client-rendered 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/moumen-soliman/uitripledAlternatives
Other published entries for the tabs pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- tripled-native-tabs-carbonminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 69.9KB
- Bare
- pass
- Prov
- NO
- shadcn-tabsunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 22.4KB
- Bare
- fail
- Prov
- NO
- neobrutalism-paginationbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 28.0KB
- Bare
- fail
- Prov
- NO
- shadcn-paginationunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 28.1KB
- Bare
- fail
- Prov
- NO
- originui-comp-109minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 35.1KB
- Bare
- fail
- Prov
- NO
- originui-comp-110minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 35.1KB
- Bare
- fail
- Prov
- NO