AtroUIAtroUI
  • Getting Started
  • Installation
  • MCP server
  • Coming from…
  • Collections
  • Registry
  • Theming
  • Host APIs
  • Brand kit
  • Identity kit
  • Landing kit
  • Launch workflow
  • For agents
  • Glossary
  • Compare
  • Alternatives hub
  • vs Aceternity UI
  • vs Magic UI
  • Aceternity alternative
  • Magic UI alternative
  • Tailwind Plus alternative
  • Changelog
  • Blog
  • Updates
  • ButtonCLI
  • DialogCLI
  • Alert DialogCLI
  • MenuCLI
  • Context MenuCLI
  • Navigation MenuCLI
  • MenubarCLI
  • PopoverCLI
  • TooltipCLI
  • Preview CardCLI
  • Scroll AreaCLI
  • SeparatorCLI
  • FieldCLI
  • Number FieldCLI
  • OTP FieldCLI
  • FormCLI
  • FieldsetCLI
  • InputCLI
  • TextareaCLI
  • CheckboxCLI
  • Checkbox GroupCLI
  • RadioCLI
  • SwitchCLI
  • ToggleCLI
  • Toggle GroupCLI
  • ToolbarCLI
  • AccordionCLI
  • CollapsibleCLI
  • ComboboxCLI
  • AutocompleteCLI
  • DrawerCLI
  • TabsCLI
  • ToastCLI
  • ProgressCLI
  • SliderCLI
  • MeterCLI
  • AvatarCLI
  • CardCLI
  • Form SelectCLI
  • Motion PlaygroundCLI
  • BreadcrumbsCLI
  • ProseCLI
  • Founder AvatarCLI
  • Theme ToggleCLI
  • Adaptive Theme SwitchCLI
  • Theme ProviderCLI
  • LogoCLI
  • TimelineCLI
  • Fade InCLI
  • StaggerCLI
  • Line RevealCLI
  • Word Reveal ScrollCLI
  • Text MorphCLI
  • Copy ButtonCLI
  • Label RollCLI
  • MagneticCLI
  • TiltCLI
  • SpotlightCLI
  • Animate NumberCLI
  • Transition PanelCLI
  • Scroll ProgressCLI
  • ASCII
  • DonutCLI
  • RainCLI
  • WaveCLI
  • SparkCLI
  • BarCLI
  • BootCLI
  • WordmarkCLI
  • DecodeCLI
  • Site HeaderCLI
  • Site FooterCLI
  • Bold FooterCLI
  • HeroCLI
  • PrincipleCLI
  • WorkCLI
  • CraftsCLI
  • LabCLI
  • WhoCLI
  • PricingCLI
  • Feature GridCLI
  • Logo CloudCLI
  • FAQCLI
  • Contextual CTACLI
  • Exit IntentCLI
  • Calendly EmbedCLI
  • Waitlist FormHost API
  • Newsletter FormHost API
  • JournalCLI
  • Social ShareCLI
  • ResourcesCLI
  • AR PortfolioCLI
  • Made With EmbedCLI
  • Hero ParallaxCLI
  • Hero LampCLI
  • Logo MarqueeCLI
  • Testimonials StackCLI
  • Feature BentoCLI
  • CTA BandCLI
  • Pricing TiersCLI
  • FAQ AccordionCLI
  • Stats BandCLI
  • Integration BeamCLI
  • Showcase CarouselCLI
  • Auth SplitCLI
  • SaaS StarterCLI
  • Landing KitCLI
  • OG ExamplesCLI
  • OG Live PreviewCLI
  • OG WorkspaceHost API
  • Thumbnail PreviewCLI
  • Thumbnail WorkspaceHost API
  • Project PlannerCLI
  • Scope ChatHost API
  • Launch WorkflowCLI
  • Live DashboardCLI
  • Analytics ProviderCLI
AtroUI·Home·Components·Blog·GitHub·Changelog

Primitive · CLI

Stagger

Staggered children reveal. Preview plays on mount — use Replay to watch again.

Preview

$npx shadcn@latest add @atroui/stagger
First
Second
Third

Installation

Agent blurb — install command + no npm UI rule. For agents

$npx shadcn@latest add @atroui/stagger

Source lands in your repo. Installation · Registry

Usage

Wrap a list in Stagger and each item in StaggerChild. stagger / delay are seconds. Pass preview in docs canvases. Reduced motion renders a plain div with no animation.
tsx
import { Stagger, StaggerChild } from "@/components/motion/stagger"

<Stagger>
  <StaggerChild>One</StaggerChild>
  <StaggerChild>Two</StaggerChild>
</Stagger>

{/* Docs preview (skips IntersectionObserver) */}
<Stagger preview>
  <StaggerChild>One</StaggerChild>
</Stagger>

Slower cascade

Raise stagger for a deliberate beat between children; delay holds the whole group before the first child moves. StaggerChild y controls how far each row climbs.

Hold
Then
Cascade

API reference

PropTypeDefaultDescription
staggernumber0.08Seconds between each child.
delaynumber0Seconds before the first child animates.
oncebooleantrueIf true, only animate the first time in view.
previewbooleanfalseAnimate on mount (docs stages) instead of waiting for scroll.
StaggerChild ynumber14Initial translateY per child in px.
Related
  • Button
  • Dialog
  • Alert Dialog
  • Menu

Stagger

PreviousFade InNextLine Reveal
import { Stagger, StaggerChild } from "@/components/motion/stagger"

<Stagger>
  <StaggerChild>One</StaggerChild>
  <StaggerChild>Two</StaggerChild>
</Stagger>

{/* Docs preview (skips IntersectionObserver) */}
<Stagger preview>
  <StaggerChild>One</StaggerChild>
</Stagger>