This component no longer exists. It was in atlas-ui’s manifest when we first indexed it and is not there now — the registry served its inventory on 2026-08-13 and this item was not on it. The install command below will fail. It is kept here because a tutorial somewhere still tells people to run it.
Blend Mouse Trailer
atlas-ui/blend-mouse-trailerRemovedComponent
A simple Lazy Mouse Trailer which blends with the content on hover.
Live preview
live · rendered by the registry
Rendered by atlas-ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://atlasui.dev/r/blend-mouse-trailer.jsonSource
1"use client";23import { useEffect, useMemo, useState } from "react";45import { motion, useMotionValue, useSpring } from "motion/react";67export const BlendMouseTrailer = ({ isHovered }: { isHovered: boolean }) => {8 const [isVisible, setIsVisible] = useState(false);910 const mouse = {11 x: useMotionValue(0),12 y: useMotionValue(0),13 };1415 const smoothOptions = {16 damping: 20,17 stiffness: 300,18 mass: 0.5,19 };2021 const smoothMouse = {22 x: useSpring(mouse.x, smoothOptions),23 y: useSpring(mouse.y, smoothOptions),24 };2526 const size = useMemo(() => (isHovered ? 300 : 30), [isHovered]);2728 const mouseMove = (e: MouseEvent) => {29 const { clientX, clientY } = e;3031 mouse.x.set(clientX - size / 2);32 mouse.y.set(clientY - size / 2);33 setIsVisible(true);34 };3536 useEffect(() => {37 window.addEventListener("mousemove", mouseMove);3839 return () => {40 window.removeEventListener("mousemove", mouseMove);41 };42 }, [size]);4344 return (45 <motion.div46 className={`${47 isVisible ? "hidden md:block" : "hidden"48 } pointer-events-none fixed top-0 left-0 rounded-full bg-sky-300 mix-blend-difference`}49 style={{50 left: smoothMouse.x,51 top: smoothMouse.y,52 height: size,53 width: size,54 filter: `blur(${isHovered ? 30 : 0}px)`,55 transition:56 "height 0.3s ease-out, width 0.3s ease-out, filter 0.3s ease-out",57 }}58 />59 );60};
What it pulls in
npm packages
