{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "stagger",
  "title": "Stagger",
  "description": "Linear stagger — children rise into view in sequence with a tunable per-child step and start delay.",
  "dependencies": [
    "motion"
  ],
  "registryDependencies": [
    "https://motion.asmitsah.dev/r/provider.json"
  ],
  "files": [
    {
      "path": "components/motion/stagger.tsx",
      "content": "\"use client\";\n\nimport type { Variants } from \"motion/react\";\nimport * as m from \"motion/react-m\";\nimport type { CSSProperties, ReactNode } from \"react\";\nimport { feel, staggerItem, viewportOnce } from \"@/lib/motion\";\n\ntype StaggerProps = {\n  children: ReactNode;\n  className?: string;\n  style?: CSSProperties;\n  /** seconds between each child (LinearStagger — tunable step) */\n  staggerChildren?: number;\n  /** seconds before the first child */\n  delayChildren?: number;\n};\n\ntype StaggerItemProps = {\n  children: ReactNode;\n  className?: string;\n  style?: CSSProperties;\n};\n\n/**\n * Staggered children reveal. FLAT exports on purpose — never a compound\n * `Stagger.Item` (a bolted-on property is undefined across the RSC\n * client-reference boundary and crashes a Server Component at build).\n */\nexport function Stagger({\n  children,\n  className,\n  style,\n  staggerChildren = feel.stagger,\n  delayChildren = feel.staggerDelay,\n}: StaggerProps) {\n  // Built from props so the step is tunable; defaults reproduce staggerContainer exactly.\n  const container: Variants = {\n    initial: {},\n    animate: { transition: { staggerChildren, delayChildren } },\n  };\n  return (\n    <m.div\n      className={className}\n      style={style}\n      variants={container}\n      initial=\"initial\"\n      whileInView=\"animate\"\n      viewport={viewportOnce}\n    >\n      {children}\n    </m.div>\n  );\n}\n\nexport function StaggerItem({ children, className, style }: StaggerItemProps) {\n  return (\n    <m.div className={className} style={style} variants={staggerItem}>\n      {children}\n    </m.div>\n  );\n}\n",
      "type": "registry:component",
      "target": "@components/motion/stagger.tsx"
    }
  ],
  "type": "registry:component"
}