Measured entry
originui-comp-48
A client-side credit-card expiry input that wires React Payment Inputs into Origin UI's registry-provided Input and Label primitives. It ships as a shadcn registry component and relies on the payment-input helper, the UI primitives, their styling utilities, and the project's utility-class theme.



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 | 43.8 KB (109.2 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 39.15s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/components/ui/label.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A practical, narrow adapter for teams already using Origin UI or shadcn conventions. It builds and mounts in the prepared harness, but the bare project fails because the shared utility module is absent, so it needs a shadcn-style setup rather than working as a standalone paste-in.
Use it if
- You need a focused expiry-date field with formatting behavior supplied by React Payment Inputs.
- Your checkout already uses shadcn-compatible Input and Label primitives and utility-class styling.
- You want an expiry field that can drop into a larger card form without adopting a complete checkout kit.
Skip it if
- You need a complete card form with card number, security code, validation messages, and submission handling included.
- Your project already standardizes on another payment-field library or processor-hosted card elements.
- You want to avoid adding a payment-input dependency for one narrowly scoped field.
- Your design system does not use shadcn-style primitives, path aliases, or utility-class theme tokens.
Install
| Declared dependencies | react-payment-inputs, radix-ui |
|---|---|
| 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 React Payment Inputs and its type definitions, provide compatible Input and Label components, add the shared class-name utility expected by the Label primitive, configure the import alias, and supply the utility classes and theme tokens used by the 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/origin-space/originuiAlternatives
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