Measured entry
ruixen-checkbox-todo
checkboxunclassifiedmotion on file
A client-side React todo checkbox shipped as a shadcn registry component. It supports controlled and uncontrolled state, disabled styling, a drawn checkmark, and an optional animated strike-through. It uses Tailwind classes, the local cn utility, and Motion for tap and state transitions.



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 | 72.0 KB (137.5 KB build, 65.5 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 940ms error during build: [vite:load-fallback] Could not load <sandbox>re-d2de11a75f8e/src/lib/utils (imported by src/cut/components/ruixen/checkbox-todo.tsx): ENOENT: no such file or directory, open '<sandbox>re-d2de11a75f8e/src/lib/utils'
Verdict
A focused, accessible task control that builds and mounts cleanly in its intended environment. It needs a shadcn-style setup because the bare project cannot resolve the local cn utility, and Motion is a meaningful dependency for such a small control.
Use it if
- You need a compact checkbox whose checked state clearly reads as a completed task.
- Your app already uses Tailwind, a shadcn-style cn helper, and Motion.
- You want either parent-controlled state or a self-managed default state.
Skip it if
- You need a general-purpose checkbox without todo-specific strike-through styling.
- You want to avoid adding an animation dependency for a small form control.
- Your design system does not use Tailwind utilities or shadcn-style path aliases.
Install
| Declared dependencies | motion, clsx, tailwind-merge |
|---|---|
| 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, Tailwind, and a cn utility backed by clsx and tailwind-merge. Either configure the at-sign path alias for the utility import or replace that import with your local path, and keep the file in a client-rendered React boundary.
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 checkbox pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- neu-checkboxneumorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 17.9KB
- Bare
- pass
- Prov
- NO
- clay-checkboxclaymorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 18.2KB
- Bare
- pass
- Prov
- NO
- shadcn-checkboxunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 18.4KB
- Bare
- fail
- Prov
- NO
- originui-comp-132minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 32.5KB
- Bare
- fail
- Prov
- NO
- originui-comp-135minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 32.5KB
- Bare
- fail
- Prov
- NO
- originui-comp-140minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 32.5KB
- Bare
- fail
- Prov
- NO