DyeCursor creates a visual cursor trail by spawning small colored circles at the mouse position as you move around the page. Each circle expands and fades over 800 milliseconds using Framer Motion’sDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/artisan-developer/llms.txt
Use this file to discover all available pages before exploring further.
animate and exit props, giving the impression of ink drops dissolving into the page. The component mounts as a fixed overlay and is entirely transparent to pointer events, so it never interferes with clicking, hovering, or selecting content.
Color palette
The drop colors cycle through an eight-color array that spans the full visible spectrum in a tie-dye spirit:Drop behavior
Each dye drop is a circularmotion.div with the following characteristics:
| Property | Value |
|---|---|
| Size | 20 × 20 px |
| Shape | border-radius: 50% |
| Blend mode | mix-blend-mode: multiply |
| Entry opacity | 0.8 |
| Exit opacity | 0 |
| Entry scale | 1 |
| Exit scale | 3 |
| Entry blur | 2px |
| Exit blur | 8px |
| Animation duration | 0.8s |
| Easing | easeOut |
AnimatePresence plays its exit animation as it leaves.
Overlay settings
The component renders a single wrapperdiv that covers the entire viewport:
| CSS property | Value |
|---|---|
position | fixed |
inset | 0 |
z-index | 100 |
pointer-events | none |
overflow | hidden |
AnimatePresence block so that exit animations play out even after each drop is removed from the React state array.
DyeCursor is purely decorative. Because the overlay uses
pointer-events: none, it never intercepts clicks, hovers, drag events, or focus changes on the underlying page content. Accessibility is unaffected.