alexsyvolap/filament-confetti

A fluent, zero-config confetti integration for Filament PHP. Add cinematic particle effects to your admin panel
1,451 7
Install
composer require alexsyvolap/filament-confetti
Latest Version:1.0.2
PHP:^8.1
License:MIT
Last Updated:May 22, 2026
Links: GitHub  ·  Packagist
Maintainer: alexsyvolap

Filament Confetti 🎉

A fluent, elegant, and zero-config Confetti integration for Filament PHP. Powered by the amazing canvas-confetti library, this package brings cinematic, hardware-accelerated particle effects to your Filament admin panel with a beautiful PHP Builder API.

PHP 8.1+ License MIT

Installation

composer require alexsyvolap/filament-confetti

Getting Started

1. Register the Plugin

use AlexSyvolap\FilamentConfetti\FilamentConfettiPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        ->plugin(FilamentConfettiPlugin::make());
}

Usage

The package provides a highly fluent, chaining API. You can trigger confetti from anywhere in your Filament app (Pages, Actions, Controllers, Livewire components).

Basic Usage

Just fire the default confetti explosion from the center of the screen

use AlexSyvolap\FilamentConfetti\Confetti;

Confetti::shoot();

Defaul Confetti

Positioning

You can shoot confetti from various screen positions

Confetti::left()->shoot();
Confetti::topRight()->shoot();
Confetti::bottom()->shoot();

Available positions: center(), top(), bottom(), left(), right(), topLeft(), topRight(), bottomLeft(), bottomRight().

Epic Presets 🚀

We ported the most popular cinematic effects so you can use them in one line of code:

Realistic Confetti

// Realistic 3D explosion with 5 physical waves
Confetti::realistic()->shoot();

Realistic Confetti

Show

// 15 seconds of falling snow
Confetti::snow()->shoot();

Show

Fireworks

// 15 seconds of random fireworks in the sky
Confetti::fireworks()->shoot();

Fireworks

Emoji

// Raining Emoji explosion!
Confetti::emoji('💸')->shoot();

Emoji

School Pride

// School Pride (fires from both bottom corners)
Confetti::colors(['#0057B7', '#FFDD00'])->schoolPride()->shoot();

School Pride

Multi-Shots (Crossfire)

You can chain multiple cannons together using the ->then() method:

Confetti::left()->count(150)
    ->then()
    ->right()->count(150)
    ->shoot();

Crossfire

Advanced Customization

You have 100% control over the physics engine. Customize shapes, gravity, colors, and more:

Confetti::center()
    ->count(300)
    ->spread(120)
    ->shapes(['star', 'circle'])
    ->colors(['#ff0000', '#00ff00', '#0000ff'])
    ->startVelocity(100)
    ->decay(0.8) // High friction (stops quickly in the air)
    ->gravity(0.5)
    ->flat(true) // 2D flat paper effect
    ->shoot();

Advanced Customization

Complex Animations (Loops)

Want to build your own custom timeline of explosions? Use Confetti::make() to retain the instance inside loops:

$confetti = Confetti::make();

for ($delay = 0; $delay < 3000; $delay += 500) {
    $confetti->center()->count(50)->delay($delay)->then();
}

$confetti->shoot();

Loops

Testing

composer test

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

Related Packages

hammadzafar05/mobile-bottom-nav

A thumb-friendly mobile bottom navigation bar for Filament panels. It programmat...

20,229 18
watheqalshowaiter/filament-sticky-table-header

A Filament plugin that makes table headers stick when scrolling down for better...

62,819 36
harvirsidhu/filament-cards

A Filament-native cards plugin for organizing pages and resources into a card-ba...

8,355 12