{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"progress-pulse","title":"Progress Pulse","description":"A compact processing rail with reduced-motion fallback.","dependencies":[],"registryDependencies":[],"files":[{"path":"registry/ward/ProgressPulse.tsx","content":"\"use client\";\nimport \"./styles/progress-pulse.css\";\nexport default function ProgressPulse({ variant = \"Loop\" }: { variant?: string }) {\n  return <div className={`ward-progress-pulse ${variant === \"Once\" ? \"is-once\" : \"\"}`} role=\"progressbar\" aria-label=\"Processing\" aria-valuetext=\"Processing\"><span /></div>;\n}\n","type":"registry:component","target":"components/ward/ProgressPulse.tsx"},{"path":"registry/ward/styles/progress-pulse.css","content":".ward-progress-pulse { width: min(100%, 300px); height: 8px; overflow: hidden; border-radius: 999px; background: var(--secondary); }\n.ward-progress-pulse span { display: block; width: 35%; height: 100%; border-radius: inherit; background: var(--primary); animation: ward-progress 1.4s cubic-bezier(.2, 0, 0, 1) infinite alternate; }\n.ward-progress-pulse.is-once span { animation-iteration-count: 1; animation-fill-mode: forwards; }\n@keyframes ward-progress { to { transform: translateX(190%); } }\n@media (prefers-reduced-motion: reduce) { .ward-progress-pulse span { animation: none; width: 70%; } }\n","type":"registry:file","target":"components/ward/styles/progress-pulse.css"}],"meta":{"variants":["Loop","Once"],"version":"1.1.0","source":null,"access":"free"},"categories":["animations"],"type":"registry:component"}