Measured entry
ruixen-pricing-plans
pricingunclassifiedmotion on file
A client-side React pricing section delivered as a shadcn registry item. It renders hardcoded plan cards, a local monthly or yearly toggle, animated entrances, feature lists, and native CTA buttons. The source uses Motion and Lucide, declares registry card and button entries without importing them, and relies on Tailwind theme tokens.



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 | 60.6 KB (126.0 KB build, 65.4 KB baseline) |
| Bare mode | OK |
| Provider required | NO |
| Demo used | written from the component source API |
Verdict
A sound starter for a conventional pricing page: it builds and mounts cleanly, adapts across the tested layouts, and passes the automated accessibility scan. Use it when quick visual scaffolding matters, but expect to replace the hardcoded business data, wire every CTA, and justify the animation dependency.
Use it if
- You need a three-tier pricing section that can be adapted by replacing local plan copy and prices.
- Your page already uses Tailwind theme tokens and can absorb Motion and Lucide dependencies.
- You want a billing-period toggle whose state and display behavior stay inside the component.
Skip it if
- Your plans come from a CMS or billing API and you do not want to refactor hardcoded arrays.
- You need checkout, contact, or proposal actions to work immediately because the CTA buttons have no handlers or links.
- You are minimizing client JavaScript and do not want Motion solely for card entrance effects.
- You need the yearly price to be derived from monthly pricing or savings rules rather than supplied as fixed copy.
Install
| Declared dependencies | motion, lucide-react, radix-ui |
|---|---|
| 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 React project, install Motion, Lucide React, and the declared Radix package. Configure Tailwind with the background, foreground, muted, and primary theme tokens used by the classes, support dark-mode variants if needed, and keep the file in a client-capable boundary. No context provider 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
github.com/ruixenui/ruixen.comAlternatives
Other published entries for the pricing pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- hyperui-pricing-1unclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 3.8KB
- Bare
- pass
- Prov
- NO
- hyperui-pricing-2editorial
- Renders
- YES
- A11y
- 0
- Gzip
- 18.2KB
- Bare
- pass
- Prov
- NO
- meraki-pricing-side-by-sideminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 18.8KB
- Bare
- pass
- Prov
- NO
- efferd-pricing-2glassmorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 29.8KB
- Bare
- pass
- Prov
- NO
- tripled-glassmorphism-pricing-block-shadcnuiglassmorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 30.4KB
- Bare
- fail
- Prov
- NO
- ruixen-pricing-comparisonunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 31.3KB
- Bare
- fail
- Prov
- NO