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.
Parallax Sections
atlas-ui/parallax-sectionsRemovedComponent
A simple Parallax effect using Motion.
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/parallax-sections.jsonSource
1"use client";23import { useRef } from "react";45import { MotionValue, motion, useScroll, useTransform } from "motion/react";67interface SectionProps {8 scrollYProgress: MotionValue;9}10export const ParallaxSections = () => {11 const container = useRef(null);12 const { scrollYProgress } = useScroll({13 target: container,14 offset: ["start start", "end end"],15 });1617 return (18 <div ref={container} className="relative h-[200vh] w-full">19 {/* Change the height of the container according to number of Sections */}20 <Section1 scrollYProgress={scrollYProgress} />21 <Section2 scrollYProgress={scrollYProgress} />22 </div>23 );24};2526const Section1 = ({ scrollYProgress }: SectionProps) => {27 const scale = useTransform(scrollYProgress, [0, 1], [1, 0.8]);28 const rotate = useTransform(scrollYProgress, [0, 1], [0, -5]);2930 return (31 <motion.section32 style={{ scale, rotate }}33 className="sticky top-0 flex h-screen items-center justify-center bg-neutral-700"34 >35 <h1 className="text-5xl font-bold">This section is Cool.</h1>36 </motion.section>37 );38};3940const Section2 = ({ scrollYProgress }: SectionProps) => {41 const scale = useTransform(scrollYProgress, [0, 1], [0.8, 1]);42 const rotate = useTransform(scrollYProgress, [0, 1], [-5, 0]); // You can change the rotation if you want to add more sections below to make it look more cooler ;)4344 return (45 <motion.section46 style={{ scale, rotate }}47 className="relative flex h-screen items-center justify-center bg-red-500"48 >49 <h1 className="text-5xl font-bold">This is Cooler!</h1>50 </motion.section>51 );52};
What it pulls in
npm packages
