Measured entry
hextaui-scroll-area
scroll-effectminimal-flatmotion on file
A client-side React scroll container and optional scrollbar, distributed as a shadcn registry item. It wraps Radix Scroll Area primitives, uses Tailwind utility classes and a local cn helper backed by clsx and tailwind-merge, and relies on theme tokens for border and focus-ring colors.



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 | 1 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 36.8 KB (102.3 KB build, 65.5 KB baseline) |
| Bare mode | OK |
| Provider required | NO |
| Demo used | written from the component source API |
Verdict
A practical Radix wrapper with clean responsive behavior and no provider requirement. It builds and mounts in both prepared and bare environments, but the keyboard-inaccessible scroll region is a meaningful accessibility defect that should be fixed before production use.
Use it if
- You need a styled overflow container with custom vertical or horizontal scrollbars.
- Your React interface already uses Tailwind utilities and Radix primitives.
- You want a small source component that can be copied in and adjusted locally.
Skip it if
- Keyboard accessibility must pass without modifying the viewport, because the tested scrollable region is not keyboard focusable.
- You prefer native browser scrollbars with no Radix runtime dependency.
- Your project does not use Tailwind and you do not want to translate its utility and theme-token styling.
Install
| Declared dependencies | @radix-ui/react-scroll-area, clsx, tailwind-merge |
|---|---|
| Missing on install | none |
| Bare install | builds and mounts without the shadcn-style helpers |
| Provider | no provider required in the harness |
In a non-shadcn project, add Radix Scroll Area, clsx, and tailwind-merge; provide the cn helper; configure Tailwind; map the border and ring theme tokens; replace the path alias if needed; and make the scrollable viewport keyboard focusable.
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/preetsuthar17/HextaUIAlternatives
Other published entries for the scroll-effect pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- reui-scrollspyminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 21.5KB
- Bare
- pass
- Prov
- NO
- kibo-marqueeminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 31.3KB
- Bare
- pass
- Prov
- NO
- motion-primitives-in-viewspatial
- Renders
- YES
- A11y
- 0
- Gzip
- 58.1KB
- Bare
- pass
- Prov
- NO
- tripled-interactive-timeline-shadcnuiminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 58.7KB
- Bare
- pass
- Prov
- NO
- ruixen-container-text-scrollspatial
- Renders
- YES
- A11y
- 0
- Gzip
- 61.5KB
- Bare
- pass
- Prov
- NO
- fancy-parallax-floating3d
- Renders
- YES
- A11y
- 0
- Gzip
- 27.5KB
- Bare
- fail
- Prov
- NO