Measured entry
ruixen-banner-cookie
A client-side React cookie consent card shipped as a shadcn registry component. It renders configurable copy with Accept and Decline actions, then animates itself away before calling the supplied callback. It relies on Tailwind utilities, shadcn theme tokens, the local cn helper, and project-defined cookie entrance and exit keyframes.



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 | 27.5 KB (92.9 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 32.16s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/banner-cookie.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A tidy presentation component with clear callbacks and clean verified behavior, but not a compliance solution by itself. It needs a shadcn-style setup to build and mount, and its animation names must exist in the host theme. Choose it when consent logic already lives elsewhere.
Use it if
- You want a compact consent prompt that can sit inside your own banner or page layout.
- Your app already uses shadcn conventions, Tailwind theme tokens, and the cn utility.
- You can connect the callbacks to your consent storage and tracking controls.
Skip it if
- You need a complete consent manager with categories, policy links, persistence, and script blocking built in.
- Your project does not use Tailwind or shadcn-style theme tokens and you do not want to recreate that styling layer.
- You require motion to work without adding the referenced custom keyframes.
- You need the component to appear as a fixed site-wide banner without wrapping or positioning it yourself.
Install
| Declared dependencies | none declared |
|---|---|
| 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 the cn class-merging helper and its import alias, configure Tailwind with equivalent card, border, foreground, muted, and primary theme tokens, and define the cookie entrance and exit keyframes. Add client-side consent persistence and tracking controls around the callbacks.
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 card pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- tailark-veil-content-1minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 17.6KB
- Bare
- pass
- Prov
- NO
- tailark-veil-content-2minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 17.6KB
- Bare
- pass
- Prov
- NO
- tailark-mist-content-3minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 24.1KB
- Bare
- pass
- Prov
- NO
- neobrutalism-cardbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 29.6KB
- Bare
- pass
- Prov
- NO
- neobrutalism-ncardbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 29.6KB
- Bare
- pass
- Prov
- NO
- reui-icon-stackminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 30.1KB
- Bare
- pass
- Prov
- NO