Measured entry

clay-input

inputclaymorphismfirst party

A compact React text input with a claymorphism treatment, built from a native input wrapped by its label and optional hint. It ships as a single JSX component, accepts standard input props, and relies on Tailwind utility classes including arbitrary colors, radii, shadows, and focus styles. It has no package or provider dependency.

Specimen
Harness screenshot of clay-input at 375 pixels wide
Harness screenshot at 375 pixels wide. No horizontal overflow recorded.
Harness screenshot of clay-input at 768 pixels wide
Harness screenshot at 768 pixels wide. No horizontal overflow recorded.
Harness screenshot of clay-input at 1440 pixels wide
Harness screenshot at 1440 pixels wide. No horizontal overflow recorded.

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.

Harness measurements recorded for clay-input
BuildOK
MountOK
Console errors0
Uncaught page errors0
Horizontal overflowclean at 375, 768, 1440
Axe critical0
Axe serious0
Axe moderate0
Axe minor0
Gzip marginal17.9 KB (83.3 KB build, 65.4 KB baseline)
Bare modeOK
Provider requiredNO
Demo usedwritten from the component source API

Verdict

A sound, self-contained choice for a playful form with a fixed visual direction. Its native labeling and pass-through input props make it practical, but richer field states and direct input style overrides will require a small refactor.

Use it if

  • You need a labeled text field with optional helper copy for a playful pastel interface.
  • Your React project already compiles Tailwind utility classes used directly in JSX.
  • You want a native input that can receive normal attributes such as required, disabled, name, and value.

Skip it if

  • Your product uses a restrained, flat, or enterprise visual system where the clay treatment would feel out of place.
  • You need validation messages, error styling, prefixes, suffixes, or other field states built into the component.
  • You need callers to style the input itself through className, since that prop is applied to the outer label.

Install

Installation record for clay-input
Declared dependenciesnone declared
Missing on installnone
Bare installbuilds and mounts without the shadcn-style helpers
Providerno provider required in the harness

First-party component from the sir-originals set. In a non-shadcn React project, add Tailwind and ensure it scans this component for utility classes, including arbitrary values. Copy the JSX file into the project; no provider, utility helper, or extra package is required.

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

mrkeyoor/sir-originals
License
MIT
Record published
2026-08-13

Alternatives

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.