PHPackages                             maystro/filament-popup-modal - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. maystro/filament-popup-modal

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

maystro/filament-popup-modal
============================

A comprehensive modal dialog system for FilamentPHP with progress bars, callbacks, and theme integration

v1.0.0(10mo ago)10MITPHPPHP ^8.1CI failing

Since Jun 28Pushed 10mo agoCompare

[ Source](https://github.com/maystro/filament-popup-modal)[ Packagist](https://packagist.org/packages/maystro/filament-popup-modal)[ RSS](/packages/maystro-filament-popup-modal/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (5)Versions (2)Used By (0)

بسم الله والحمد لله والصلاة والصلام على رسول الله وعلى آله وصحبه

Filament PopupModal
===================

[](#filament-popupmodal)

[![Latest Version on Packagist](https://camo.githubusercontent.com/a2d7787b7292af46944b3ba420d024d6070a7a7967a710e4418e36460853a9ab/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d61797374726f2f66696c616d656e742d706f7075702d6d6f64616c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/maystro/filament-popup-modal)[![Total Downloads](https://camo.githubusercontent.com/4bc1509368fe3b5dff0ffa624cd532ce515c08297a3409610470b78102cd5f39/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d61797374726f2f66696c616d656e742d706f7075702d6d6f64616c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/maystro/filament-popup-modal)

A comprehensive modal dialog system for FilamentPHP with real-time progress bars, callbacks, and full theme integration.

Features
--------

[](#features)

- 🎨 **Full Filament Theme Integration** - Uses native Filament components and colors
- 📊 **Real-time Progress Bars** - Smooth animations with theme-aware styling
- 🔔 **Callback Support** - Execute functions on confirm/close actions
- 🖼️ **Icon Customization** - Adjustable icon sizes (sm, md, lg) with auto-icons
- 🌙 **Dark Mode Support** - Automatically adapts to Filament's theme
- 📱 **Responsive Design** - Works perfectly on all screen sizes
- ⚡ **Performance Optimized** - Lightweight Livewire-based implementation
- 🎯 **Fluent API** - Intuitive method chaining for easy usage

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require maystro/filament-popup-modal
```

The package will automatically register itself via Laravel's package discovery.

Optionally, you can publish the config file:

```
php artisan vendor:publish --tag="popup-modal-config"
```

Optionally, you can publish the views:

```
php artisan vendor:publish --tag="popup-modal-views"
```

Usage
-----

[](#usage)

### Basic Modal

[](#basic-modal)

```
use Maystro\FilamentPopupModal\PopupModal;
use Maystro\FilamentPopupModal\Enums\Colors;

PopupModal::make()
    ->title('Success!')
    ->body('Operation completed successfully.')
    ->color(Colors::Success)
    ->show();
```

### Progress Modal

[](#progress-modal)

```
// Create progress modal
$modal = PopupModal::progressModal(
    'Processing Data',
    'Please wait while we process your data...',
    Colors::Primary
);

$modal->show();

// Update progress
$modal->updateProgress(50);
```

### Modal with Callbacks

[](#modal-with-callbacks)

```
PopupModal::make()
    ->title('Confirm Action')
    ->body('Are you sure you want to proceed?')
    ->color(Colors::Warning)
    ->confirm(true)
    ->onConfirm(function () {
        // Your action here
        Notification::make()->title('Confirmed!')->success()->send();
    })
    ->show();
```

### Icon Sizing

[](#icon-sizing)

```
PopupModal::make()
    ->title('Important Notice')
    ->body('This is an important message.')
    ->icon('heroicon-o-exclamation-triangle')
    ->iconSize('lg')  // sm, md, lg
    ->color(Colors::Warning)
    ->show();
```

### Using Helper Functions

[](#using-helper-functions)

```
// Quick popup
show_popup('Hello', 'This is a quick popup!', Colors::Info);

// Progress popup
$modal = show_progress_popup('Processing...', 'Please wait...');
update_popup_progress($modal->getData()['id'], 75);
```

### Using Facade

[](#using-facade)

Add to your `config/app.php`:

```
'aliases' => [
    // ... other aliases
    'PopupModal' => Maystro\FilamentPopupModal\Facades\PopupModal::class,
],
```

Then use:

```
PopupModal::make()->title('Hello')->show();
```

API Reference
-------------

[](#api-reference)

### Methods

[](#methods)

MethodDescriptionParameters`make(string $id = null)`Create new modal instanceOptional unique ID`title(string $title)`Set modal titleTitle text`body(string $body)`Set modal body contentBody HTML/text`color(Colors|string $color)`Set theme colorColor enum or string`icon(string $icon)`Set custom iconHeroicon name`iconSize(string $size)`Set icon size'sm', 'md', 'lg'`width(string $width)`Set modal width'xs' to '7xl'`confirm(bool $hasConfirm)`Show confirm buttonBoolean`confirmLabel(string $label)`Customize confirm buttonButton text`closeLabel(string $label)`Customize close buttonButton text`onConfirm(callable $callback)`Set confirm callbackClosure function`onClose(callable $callback)`Set close callbackClosure function`progress(int $percent)`Set progress percentage0-100`showProgress(int $percent)`Show progress barInitial percentage`hideProgress()`Hide progress bar-`updateProgress(int $percent)`Update progress real-timeNew percentage`timeout(int $ms)`Auto-close timeoutMilliseconds`show()`Display the modal-`close()`Close the modal-### Static Methods

[](#static-methods)

```
PopupModal::progressModal($title, $body, $color)  // Create progress modal
PopupModal::updateProgressById($id, $percent)     // Update any modal's progress
```

### Helper Functions

[](#helper-functions)

```
popup_modal($id)                                  // Create instance
show_popup($title, $body, $color, $icon)        // Quick popup
show_progress_popup($title, $body, $color)      // Progress popup
update_popup_progress($modalId, $percent)        // Update progress
```

Color System
------------

[](#color-system)

The package uses Filament's standardized color palette:

```
Colors::Primary    // Main brand color
Colors::Secondary  // Secondary accent
Colors::Success    // Green success states
Colors::Warning    // Orange warning states
Colors::Danger     // Red error states
Colors::Info       // Blue informational
Colors::Gray       // Neutral gray
```

Configuration
-------------

[](#configuration)

The config file allows you to customize default values:

```
return [
    'default_confirm_label' => 'Confirm',
    'default_close_label' => 'Close',

    'progress' => [
        'default_color' => 'primary',
        'update_interval' => 500,
        'completion_delay' => 1500,
    ],

    'modal' => [
        'default_width' => 'lg',
        'default_color' => 'info',
        'default_icon_size' => 'md',
        'auto_register' => true,
    ],

    'icons' => [
        'auto_assign' => true,
        'fallback_icon' => 'heroicon-o-information-circle',
    ],
];
```

Requirements
------------

[](#requirements)

- Laravel 12.x
- FilamentPHP 3.x
- Livewire 3.x
- PHP 8.1+

Testing
-------

[](#testing)

```
composer test
```

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [Maystro](https://github.com/maystro)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance54

Moderate activity, may be stable

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

317d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f8578af4e14094100b1cf9c147801700080286e579e51368ed5a1ebe83a8048a?d=identicon)[maystro](/maintainers/maystro)

---

Top Contributors

[![maystro](https://avatars.githubusercontent.com/u/968672?v=4)](https://github.com/maystro "maystro (3 commits)")

---

Tags

laraveluilivewiremodalpopupprogressfilament

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/maystro-filament-popup-modal/health.svg)

```
[![Health](https://phpackages.com/badges/maystro-filament-popup-modal/health.svg)](https://phpackages.com/packages/maystro-filament-popup-modal)
```

###  Alternatives

[livewire/flux

The official UI component library for Livewire.

9385.0M86](/packages/livewire-flux)[pboivin/filament-peek

Full-screen page preview modal for Filament

253319.6k12](/packages/pboivin-filament-peek)[bezhansalleh/filament-google-analytics

Google Analytics integration for FilamentPHP

205144.8k5](/packages/bezhansalleh-filament-google-analytics)[asosick/filament-layout-manager

Allow users to create &amp; customize their own FilamentPHP pages composed of Livewire components

5718.8k2](/packages/asosick-filament-layout-manager)[sanzgrapher/filament-draggable-modal

Make Filament modals draggable.

172.2k1](/packages/sanzgrapher-filament-draggable-modal)[tomshaw/electricgrid

A feature-rich Livewire package designed for projects that require dynamic, interactive data tables.

116.6k](/packages/tomshaw-electricgrid)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
