Measured entry
neobrutalism-alert-dialog
A client-side React alert dialog shipped as a shadcn registry component. It wraps Radix Alert Dialog primitives, composes actions from the registry's button component, and relies on a local cn helper plus Tailwind utilities, theme tokens, and state-based animation classes for its neobrutalist presentation.



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 | 40.7 KB (106.1 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 33.29s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/components/ui/alert-dialog.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A solid choice for confirmations in an existing neobrutalist shadcn codebase, with clean Radix semantics and no observed runtime or accessibility issues. It needs a shadcn-style setup and will not work as a bare drop-in because its local utility and button imports must exist.
Use it if
- You need a confirmation dialog for destructive or consequential actions.
- Your app already uses shadcn conventions and Radix primitives.
- You want a neobrutalist modal that can be customized as source code.
Skip it if
- You need a general-purpose modal for forms or noncritical content.
- Your project does not use Tailwind or shadcn-style aliases and utilities.
- You want a dependency-free dialog or already standardize on another overlay system.
Install
| Declared dependencies | @radix-ui/react-alert-dialog, @radix-ui/react-slot |
|---|---|
| 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 Alert Dialog and Slot packages, configure the React client boundary and path aliases, provide a cn class-merging helper and compatible button component, and define the Tailwind theme tokens and animation utilities referenced by the classes.
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 dialog pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- shadcn-dialogunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 26.7KB
- Bare
- fail
- Prov
- NO
- 8bitcn-dialogueskeuomorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 34.2KB
- Bare
- fail
- Prov
- NO
- neobrutalism-dialogbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 40.5KB
- Bare
- fail
- Prov
- NO
- neobrutalism-ndialogbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 40.5KB
- Bare
- fail
- Prov
- NO
- shadcn-alert-dialogunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 41.5KB
- Bare
- fail
- Prov
- NO
- hextaui-dialogminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 43.7KB
- Bare
- fail
- Prov
- NO