Measured entry
ruixen-product-card-hero
pricingunclassifiedmotion on file
An animated React product hero with an account-menu mockup, scrolling price tickers, configurable copy and CTA, and a feature grid. It ships as a shadcn registry component and uses Motion, Lucide icons, Tailwind utilities, theme color tokens, and the shared cn helper.



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 | 70.0 KB (135.4 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 34.13s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/product-card-hero.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A polished, adaptable landing-page composition that behaves responsively, but it needs a shadcn-style setup and is not ready to ship unchanged because its muted text fails contrast checks. Best for teams willing to retune colors and accept the animation cost.
Use it if
- You need a product or developer-tool landing hero with a restrained account-menu visual.
- Your app already uses shadcn conventions, Tailwind theme tokens, and client-rendered Motion animations.
- You want configurable headline, CTA, and feature copy without changing the composition.
Skip it if
- You need a functional pricing card, plan comparison, or checkout interaction.
- Your accessibility bar requires the supplied muted text colors to pass contrast checks without revision.
- You want to avoid adding a relatively costly animation dependency for a mostly decorative effect.
- Your design system does not use Tailwind or shadcn-style aliases and utilities.
Install
| Declared dependencies | motion |
|---|---|
| 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 Motion and Lucide React, provide a cn class-merging helper, configure the @ alias, enable the referenced Tailwind utilities, and define the foreground, muted, card, and background theme tokens. Keep the component on the client side.
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
- ruixen-pricing-plansunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 60.6KB
- Bare
- pass
- Prov
- NO
- tripled-glassmorphism-pricing-block-shadcnuiglassmorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 30.4KB
- Bare
- fail
- Prov
- NO