Measured entry
tripled-native-magnetic-shadcnui
cursor-effectminimal-flatmotion on file
A client-side React wrapper that makes its child follow the cursor with spring motion and optional hover scaling. It ships as a shadcn registry component, uses Framer Motion, and relies on the project cn helper plus the shadcn Button module, which brings its styling utilities into resolution even for div and link output.



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.8 KB (138.3 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 810ms error during build: [vite]: Rollup failed to resolve import "class-variance-authority" from "<sandbox>re-292a8804806c/src/components/ui/button.tsx".
Verdict
A tidy desktop microinteraction with sensible tuning controls, but its narrow API and unconditional Button dependency make it less portable than the visual suggests. It needs a shadcn-style setup before it will build and mount in a bare React project.
Use it if
- You want a magnetic cursor treatment for a small set of desktop calls to action.
- Your app already has shadcn aliases, the cn helper, Button, and Framer Motion.
- You need configurable pull strength and spring behavior without building the interaction yourself.
Skip it if
- You need a lightweight effect without the Framer Motion runtime.
- Your project does not use shadcn conventions and you do not want to recreate their Button and utility stack.
- You require first-class touch, pointer, keyboard, or reduced-motion behavior from the component itself.
- You need arbitrary wrapper elements or full native element props beyond the narrow exposed API.
Install
| Declared dependencies | framer-motion, react, radix-ui, 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 React and Framer Motion, configure the at-sign path alias, provide the cn helper with clsx and tailwind-merge, and install or replace the shadcn Button module with its class-variance-authority and Radix dependencies. Tailwind utility classes must also be available, or rewritten as local styles.
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/moumen-soliman/uitripledAlternatives
Other published entries for the cursor-effect pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- tripled-liquid-cursor-shadcnuiliquid-glass
- Renders
- YES
- A11y
- 0
- Gzip
- 21.1KB
- Bare
- pass
- Prov
- NO
- kibo-cursorminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 29.9KB
- Bare
- pass
- Prov
- NO
- tripled-spotlight-section-shadcnuiminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 61.8KB
- Bare
- pass
- Prov
- NO
- tripled-native-typewriterminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 69.9KB
- Bare
- pass
- Prov
- NO
- tripled-native-typewriter-shadcnuiminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 69.9KB
- Bare
- pass
- Prov
- NO
- tripled-native-magneticminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 70.5KB
- Bare
- pass
- Prov
- NO