{
  "name": "siri-wave-default",
  "type": "registry:ui",
  "tier": "free",
  "dependencies": [
    "framer-motion"
  ],
  "registryDependencies": [
    "https://www.craftui.space/r/craftui-base.json"
  ],
  "files": [
    {
      "path": "components/craftui/loaders/siri-wave/default.tsx",
      "content": "'use client';\n\nimport { motion } from 'motion/react';\n\ninterface SiriWaveProps {\n  width?: number;\n  height?: number;\n  color?: string;\n  isAnimating?: boolean;\n  duration?: number;\n  ease?: any;\n}\n\nexport function SiriWave({\n  width = 100,\n  height = 100,\n  color = 'currentColor',\n  isAnimating = true,\n  duration = 1.2,\n  ease = 'easeInOut',\n}: SiriWaveProps) {\n  const barWidth = 6;\n  const barRx = 3;\n\n  // 5 bars: center tallest, outer shortest\n  const bars = [\n    { cx: 26, maxH: 22, delay: 0.2 },\n    { cx: 38, maxH: 32, delay: 0.1 },\n    { cx: 50, maxH: 40, delay: 0   },\n    { cx: 62, maxH: 32, delay: 0.1 },\n    { cx: 74, maxH: 22, delay: 0.2 },\n  ];\n\n  const minH = 6;\n\n  return (\n    <svg\n      width={width}\n      height={height}\n      viewBox=\"0 0 100 100\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n      aria-label=\"Loading\"\n      role=\"img\"\n    >\n      {bars.map(({ cx, maxH, delay }, i) => (\n        <motion.rect\n          key={i}\n          x={cx - barWidth / 2}\n          rx={barRx}\n          width={barWidth}\n          fill={color}\n          initial={{ height: minH, y: 50 - minH / 2 }}\n          animate={{\n            height: [minH, maxH, minH],\n            y: [50 - minH / 2, 50 - maxH / 2, 50 - minH / 2],\n          }}\n          transition={{\n            duration: duration,\n            repeat: isAnimating ? Infinity : 0,\n            delay,\n            ease: ease,\n            times: [0, 0.5, 1],\n          }}\n        />\n      ))}\n    </svg>\n  );\n}\n",
      "type": "registry:ui",
      "target": "~/components/craftui/loaders/siri-wave/default.tsx"
    }
  ],
  "meta": {
    "displayName": "Siri Wave - Siri Wave",
    "description": "Center bar tallest, outer bars shortest — all oscillate with staggered delays creating a smooth symmetric wave that pulses outward from center",
    "category": "loaders",
    "tags": [
      "apple",
      "siri",
      "wave",
      "bars",
      "audio",
      "voice",
      "organic"
    ],
    "animationType": "loop"
  }
}