Measured entry
magicui-pointer
cursor-effectspatialmotion on file
A client-side React cursor replacement distributed as a shadcn registry component. It listens to pointer movement on its parent, hides that parent’s native cursor, and animates a fixed overlay with Motion. It also expects Tailwind utility classes and the usual shadcn `cn` helper backed by clsx and tailwind-merge.



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 | 71.8 KB (137.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 4m 24s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/pointer.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A focused, reusable effect that behaves cleanly in its intended stack and supports custom pointer content. It needs a shadcn-style setup before it will build in a bare React project, so it is a better fit for existing registry-based apps than dependency-conscious sites.
Use it if
- You want a custom cursor confined to a specific interactive panel or showcase.
- Your React app already uses Tailwind, Motion, and a shadcn-style utility layout.
- You need to swap the default pointer graphic for custom React content.
Skip it if
- Your experience is primarily touch-driven, where a hover cursor adds little value.
- Preserving the familiar native cursor is important for usability in the target interaction.
- You are avoiding Motion for a small decorative effect because dependency weight matters.
- The parent area contains precise controls where hiding the native cursor could reduce clarity.
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, clsx, tailwind-merge, and Tailwind styling. Create a compatible `cn` utility and configure the `@` source alias, or replace the aliased utility import with a local relative path.
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/magicuidesign/magicuiAlternatives
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