Live preview from the library's source
Install
From Magic UI
npx shadcn@latest add @magicui/scroll-progressFrom this collection
npx shadcn@latest add https://allcomps.vercel.app/r/magicui--scroll-progress.jsonCode
"use client"
import { motion, useScroll, type MotionProps } from "motion/react"
import { cn } from "@/lib/utils"
interface ScrollProgressProps extends Omit<
React.HTMLAttributes<HTMLElement>,
keyof MotionProps
> {
ref?: React.Ref<HTMLDivElement>
}
export function ScrollProgress({
className,
ref,
...props
}: ScrollProgressProps) {
const { scrollYProgress } = useScroll()
return (
<motion.div
ref={ref}
className={cn(
"fixed inset-x-0 top-0 z-50 h-px origin-left bg-linear-to-r from-[#A97CF8] via-[#F38CB8] to-[#FDCC92]",
className
)}
style={{
scaleX: scrollYProgress,
}}
{...props}
/>
)
}
Other scroll animations
The same kind of component from the other libraries in the collection.