Measured entry
originui-comp-36
A client-side, segmented date field with a label and a small React Aria attribution link. It ships as a shadcn registry component plus a reusable date-field primitive, uses Tailwind theme classes and a local class-name helper, and depends on react-aria-components for date semantics, focus handling, and segment editing.



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 | 76.2 KB (141.6 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 5.16s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/components/ui/datefield-rac.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
The field builds, mounts, and stays contained across the tested layouts. Its segmented interaction is a sound choice, but the muted text needs a contrast fix. It also needs a shadcn-style setup, so adoption is easiest in an existing Tailwind registry project.
Use it if
- You need an accessible segmented date entry control instead of a free-form text field.
- Your app already uses shadcn conventions, Tailwind theme tokens, and React Aria Components.
- You want a reusable primitive that can also support time fields and custom segment styling.
Skip it if
- A native browser date input is sufficient and a smaller dependency footprint matters more than consistent segment behavior.
- Your project does not use Tailwind or shadcn-style aliases and you do not want to translate its utility classes and theme tokens.
- You need the supplied muted text colors to pass contrast checks without design changes.
- You need a calendar popover rather than keyboard-oriented date entry.
Install
| Declared dependencies | react-aria-components |
|---|---|
| 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, install react-aria-components, copy both the component and its date-field primitive, provide the local class-name merge helper and matching import aliases, then add or translate the Tailwind utilities and theme tokens for foreground, background, borders, focus rings, accent, muted, and destructive states. Keep it in a client-rendered 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/origin-space/originuiAlternatives
Other published entries for the calendar pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- shadcn-calendarunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 37.3KB
- Bare
- fail
- Prov
- NO
- shadcn-block-calendar-01minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 50.8KB
- Bare
- fail
- Prov
- NO
- shadcn-block-calendar-02minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 50.9KB
- Bare
- fail
- Prov
- NO
- shadcn-block-calendar-03minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 50.9KB
- Bare
- fail
- Prov
- NO
- shadcn-block-calendar-04minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 50.9KB
- Bare
- fail
- Prov
- NO
- shadcn-block-calendar-05minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 50.9KB
- Bare
- fail
- Prov
- NO