Measured entry
neobrutalism-popover
A client-side React popover wrapper shipped as a shadcn registry TSX file. It composes Radix Popover primitives with a portal and neobrutalist Tailwind classes, and depends on React, @radix-ui/react-popover, a local cn utility, path aliases, and matching theme and animation utilities.



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 | 49.6 KB (115.0 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 35.39s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/components/ui/popover.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A sound choice for an existing neobrutalist shadcn codebase: it builds, mounts, and keeps Radix's accessible interaction model. It is not standalone, and needs a shadcn-style setup because the bare project cannot resolve its local utility import or styling conventions.
Use it if
- You already use shadcn conventions and want a compact anchored panel for settings, filters, or contextual controls.
- You want Radix behavior with an opinionated neobrutalist surface that remains customizable through className and primitive props.
- You need a portal-based popover without adding a provider around the component tree.
Skip it if
- Your project does not use Tailwind or cannot supply the component's custom theme tokens and state animation utilities.
- You want a drop-in component for a bare React project with no alias or shared class-merging helper.
- You need an unstyled primitive or a visual language that does not match thick borders and the neobrutalist treatment.
- You are minimizing client-side UI dependencies and do not otherwise need Radix Popover.
Install
| Declared dependencies | @radix-ui/react-popover |
|---|---|
| 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 the Radix Popover package, provide a cn class-merging helper, configure the local import alias, and define the referenced Tailwind theme tokens and state animation utilities. Keep it in a client-rendered React 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/ekmas/neobrutalism-componentsAlternatives
Other published entries for the popover pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- tripled-smart-hover-card-shadcnuiminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 61.4KB
- Bare
- pass
- Prov
- NO
- hextaui-hover-cardminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 46.9KB
- Bare
- fail
- Prov
- NO
- 8bitcn-hover-cardskeuomorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 47.0KB
- Bare
- fail
- Prov
- NO
- shadcn-popoverunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 49.6KB
- Bare
- fail
- Prov
- NO
- 8bitcn-popoverskeuomorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 53.2KB
- Bare
- fail
- Prov
- NO