Confetti burst

Installation

No MCP yet? Connect your agent.

Integration

The external demo shows this helper in the upstream verify-1 block, which imports it. It is a contextual example, not a standalone helper playground.

The reusable source is written to @components/motion/confetti.tsx.

@components/motion/confetti.tsx declares a client boundary for state, measurement, or browser interaction.

The canvas is pointer-transparent and hidden from assistive technology. Reduced-motion users receive no particles, so success must also be expressed in text.

Use the imperative ConfettiHandle to stack bursts, or toggle the declarative fire prop from false to true for a new burst.