Measured entry
originui-comp-41
A client-side single-date picker with a segmented text field, calendar trigger, and popover calendar. It ships as a shadcn registry component and composes React Aria primitives with Origin UI calendar and date-field registry files, internationalized date handling, Lucide icons, Tailwind classes, theme tokens, and a shared class-name utility.



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 | 104.2 KB (169.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 9.62s 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
A solid, functional date-picker composition for teams already invested in React Aria and Origin UI conventions. It builds and mounts in the prepared harness, but the default colors need contrast remediation. Bare projects cannot drop it in directly; it needs a shadcn-style setup and its registry dependencies.
Use it if
- You need keyboard-aware date entry and calendar selection in the same control.
- Your app already uses React Aria and shadcn-style registry components.
- You want locale-aware date segments backed by internationalized date values.
Skip it if
- You need a dependency-light native date input rather than React Aria and calendar packages.
- Your project cannot provide Tailwind theme tokens, registry aliases, and the shared class-name utility.
- You require an accessibility-clean default without first correcting the measured color-contrast issue.
- You need date-range selection from this exact component rather than adapting its underlying calendar exports.
Install
| Declared dependencies | react-aria-components, @internationalized/date |
|---|---|
| Missing on install | @internationalized/date |
| 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 React Aria Components, the internationalized date package, and Lucide React. Copy the Origin UI calendar and date-field files, provide the shared class-name merge utility, translate the registry aliases, and define the Tailwind theme tokens and animation utilities used by the classes. Review muted foreground colors for accessible contrast.
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