This component no longer exists. It was in shadcn/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.
Animated List
zenithui-chandubobbili/animated-listRemovedComponent
A list that animates each item in sequence with a delay. Used to showcase notifications or events on your landing page.
Install it
npx shadcn@latest add https://zenithui.chandubobbili.dev/r/animated-list.jsonSource
1"use client"23import React, {4 type ComponentPropsWithoutRef,5 useEffect,6 useMemo,7 useState,8} from "react"9import { AnimatePresence, motion, type MotionProps } from "motion/react"1011import { cn } from "@/lib/utils"1213export function AnimatedListItem({ children }: { children: React.ReactNode }) {14 const animations: MotionProps = {15 initial: { scale: 0, opacity: 0 },16 animate: { scale: 1, opacity: 1, originY: 0 },17 exit: { scale: 0, opacity: 0 },18 transition: { type: "spring", stiffness: 350, damping: 40 },19 }2021 return (22 <motion.div23 {...animations}24 layout25 className="mx-auto w-full"26 >27 {children}28 </motion.div>29 )30}3132export interface AnimatedListProps extends ComponentPropsWithoutRef<"div"> {33 children: React.ReactNode34 delay?: number35}3637export const AnimatedList = React.memo(38 ({ children, className, delay = 1000, ...props }: AnimatedListProps) => {39 const [index, setIndex] = useState(0)40 const childrenArray = useMemo(41 () => React.Children.toArray(children),42 [children],43 )4445 useEffect(() => {46 if (index < childrenArray.length - 1) {47 const timeout = setTimeout(() => {48 setIndex((prevIndex) => (prevIndex + 1) % childrenArray.length)49 }, delay)5051 return () => clearTimeout(timeout)52 }53 }, [index, delay, childrenArray.length])5455 const itemsToShow = useMemo(() => {56 const result = childrenArray.slice(0, index + 1).reverse()57 return result58 }, [index, childrenArray])5960 return (61 <div62 className={cn("flex flex-col items-center gap-4", className)}63 {...props}64 >65 <AnimatePresence>66 {itemsToShow.map((item) => (67 <AnimatedListItem key={(item as React.ReactElement).key}>68 {item}69 </AnimatedListItem>70 ))}71 </AnimatePresence>72 </div>73 )74 },75)7677AnimatedList.displayName = "AnimatedList"
What it pulls in
npm packages
