Measured entry
neobrutalism-ninput
A thin React and TypeScript wrapper around the native input, shipped as shadcn registry source rather than a packaged widget. It uses a shared class-merging helper backed by clsx and tailwind-merge, and its neobrutalist appearance assumes Tailwind plus project theme tokens for colors, borders, radius, and typography.



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 | 1 |
| Axe serious | 0 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 29.5 KB (95.0 KB build, 65.5 KB baseline) |
| Bare mode | OK |
| Provider required | NO |
| Demo used | written from the component source API |
Verdict
A sound low-level input for an existing neobrutalist design system, but not a complete form field. The tested demo leaves an input unlabeled, so teams must add an associated label at every use site before treating it as accessible.
Use it if
- You want a native input primitive with a bold bordered neobrutalist treatment.
- Your form layer already supplies labels, validation messaging, and field composition.
- Your Tailwind theme already exposes the custom color, radius, and font tokens used by the component.
Skip it if
- You need a complete accessible field that creates and associates its own label.
- Your project does not use Tailwind or cannot adopt the component's custom theme tokens.
- You want behavior beyond a native input, such as masking, clear controls, or built-in validation UI.
Install
| Declared dependencies | 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 React, Tailwind, clsx, and tailwind-merge; provide the cn class-merging helper or replace it; configure the referenced theme tokens; and rewrite the alias import if your resolver does not support it. Add labels in the surrounding form markup.
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 input pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- clay-inputclaymorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 17.9KB
- Bare
- pass
- Prov
- NO
- neu-search-inputneumorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 18.1KB
- Bare
- pass
- Prov
- NO
- clay-search-inputclaymorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 18.3KB
- Bare
- pass
- Prov
- NO
- originui-comp-33minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 20.7KB
- Bare
- pass
- Prov
- NO
- hextaui-labelminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 31.3KB
- Bare
- pass
- Prov
- NO
- ruixen-circular-stepper-inputliquid-glass
- Renders
- YES
- A11y
- 0
- Gzip
- 61.1KB
- Bare
- pass
- Prov
- NO