PHPackages                             yousefaman/filament-modal-repeater - 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. [Admin Panels](/categories/admin)
4. /
5. yousefaman/filament-modal-repeater

ActiveLibrary[Admin Panels](/categories/admin)

yousefaman/filament-modal-repeater
==================================

A Filament form component that displays repeater items in a table with modal-based editing.

v1.1.1(1mo ago)175.6k↑14.4%2MITPHPPHP ^8.2

Since Apr 13Pushed 1mo agoCompare

[ Source](https://github.com/yousef-aman/filament-modal-repeater)[ Packagist](https://packagist.org/packages/yousefaman/filament-modal-repeater)[ RSS](/packages/yousefaman-filament-modal-repeater/feed)WikiDiscussions main Synced 3w ago

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

Filament Modal Repeater
=======================

[](#filament-modal-repeater)

[![Latest Version on Packagist](https://camo.githubusercontent.com/3a5d81bdc89be5806e0cf4ad942600c1f2bbbb6c99cf26399a97205c234fc9dc/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f796f75736566616d616e2f66696c616d656e742d6d6f64616c2d72657065617465722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/yousefaman/filament-modal-repeater)[![Total Downloads](https://camo.githubusercontent.com/dba76e0f2c3c4138c530001700d28170a68adb509447188a5097142bb804425d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f796f75736566616d616e2f66696c616d656e742d6d6f64616c2d72657065617465722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/yousefaman/filament-modal-repeater)

A Filament form component that displays repeater items in a compact table with modal-based editing. Perfect for forms with many fields where inline editing becomes cluttered.

 [![Filament Modal Repeater Demo](art/demo.jpeg)](art/demo.jpeg)

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

[](#requirements)

- PHP 8.2+
- Filament v4 or v5

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

[](#installation)

You can install the package via composer:

```
composer require yousefaman/filament-modal-repeater
```

Then run the install command:

```
php artisan modal-repeater:install
```

Setup
-----

[](#setup)

Register the plugin in your panel provider (optional but recommended):

```
use YousefAman\ModalRepeater\ModalRepeaterPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugin(ModalRepeaterPlugin::make());
}
```

Usage
-----

[](#usage)

```
use YousefAman\ModalRepeater\ModalRepeater;
use YousefAman\ModalRepeater\Column;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\Toggle;

ModalRepeater::make('items')
    ->tableColumns([
        Column::make('name')->label('Name'),
        Column::make('price')->money('USD'),
        Column::make('active')->boolean(),
    ])
    ->schema([
        TextInput::make('name')->required(),
        TextInput::make('price')->numeric()->required(),
        Toggle::make('active'),
    ])
```

Items are listed in a table. Clicking a row or the edit button opens a modal with the full form schema. Adding a new item also opens the same modal.

Column Types
------------

[](#column-types)

Columns define how each field is displayed in the summary table.

```
// Custom label
Column::make('name')->label('Product Name'),

// Boolean — renders a checkmark/cross icon
Column::make('active')->boolean(),

// Badge — renders a colored badge using the value
Column::make('status')->badge('success'),

// Money — formats the value as a currency amount
Column::make('price')->money('USD'),

// Custom formatter
Column::make('created_at')->formatUsing(fn ($value) => $value->diffForHumans()),

// Fixed column width
Column::make('name')->width('200px'),
```

Modal Configuration
-------------------

[](#modal-configuration)

Control the modal layout independently from the table:

```
ModalRepeater::make('items')
    ->modalColumns(3)     // Number of columns in the modal form grid
    ->modalWidth('4xl')   // Tailwind modal max-width (e.g. 'sm', 'lg', '4xl', '7xl')
```

Relationships
-------------

[](#relationships)

Use `relationship()` to bind the repeater to an Eloquent relationship. Filament handles loading, saving, and deleting related records automatically.

```
ModalRepeater::make('addresses')
    ->relationship('addresses')
    ->tableColumns([
        Column::make('street')->label('Street'),
        Column::make('city')->label('City'),
        Column::make('postcode')->label('Postcode'),
    ])
    ->schema([
        TextInput::make('street')->required(),
        TextInput::make('city')->required(),
        TextInput::make('postcode'),
    ])
```

Customizing Actions
-------------------

[](#customizing-actions)

The component inherits Filament's standard repeater action API.

```
ModalRepeater::make('items')
    // Change the label on the "Add" button
    ->addActionLabel('Add Item')

    // Customize the edit action
    ->editAction(
        fn (Action $action) => $action->label('Edit')->icon('heroicon-o-pencil')
    )

    // Append additional per-row actions
    ->extraItemActions([
        Action::make('duplicate')->action(fn ($arguments) => ...),
    ])

    // Text shown when the list is empty
    ->emptyLabel('No items added yet.')

    // Allow rows to be reordered via drag-and-drop
    ->reorderable()

    // Allow rows to be cloned
    ->cloneable()

    // Prevent deletion
    ->deletable(false)
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](https://github.com/yousef-aman/filament-modal-repeater/blob/main/CHANGELOG.md) for more information on what has changed recently.

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

[](#contributing)

Please see [CONTRIBUTING](https://github.com/yousef-aman/filament-modal-repeater/blob/main/CONTRIBUTING.md) for details.

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

[](#security-vulnerabilities)

If you discover a security vulnerability, please report it via [GitHub Issues](https://github.com/yousef-aman/filament-modal-repeater/issues). All security vulnerabilities will be promptly addressed.

Credits
-------

[](#credits)

- [Yousef Aman](https://github.com/yousef-aman)
- [All Contributors](https://github.com/yousef-aman/filament-modal-repeater/graphs/contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](https://github.com/yousef-aman/filament-modal-repeater/blob/main/LICENSE.md) for more information.

###  Health Score

49

—

FairBetter than 94% of packages

Maintenance89

Actively maintained with recent releases

Popularity34

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

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

Every ~25 days

Total

3

Last Release

53d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/59014877?v=4)[Yousef Aman](/maintainers/yousef-aman)[@yousef-aman](https://github.com/yousef-aman)

---

Top Contributors

[![yousef-aman](https://avatars.githubusercontent.com/u/59014877?v=4)](https://github.com/yousef-aman "yousef-aman (11 commits)")

---

Tags

laravelformmodaltablefilamentRepeater

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/yousefaman-filament-modal-repeater/health.svg)

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

###  Alternatives

[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.8k](/packages/rawilk-profile-filament-plugin)[backstage/mails

View logged mails and events in a beautiful Filament UI.

16121.5k](/packages/backstage-mails)[stephenjude/filament-jetstream

A Laravel starter kit built with Filament inspired by Jetstream.

17760.2k3](/packages/stephenjude-filament-jetstream)[stephenjude/filament-two-factor-authentication

Filament Two Factor Authentication: Google 2FA + Passkey Authentication

84215.9k9](/packages/stephenjude-filament-two-factor-authentication)[marcelweidum/filament-passkeys

Use passkeys in your filamentphp app

6649.5k2](/packages/marcelweidum-filament-passkeys)[mradder/filament-logger

Audit logging, activity tracking, exports, alerts, and dashboards for Filament admin panels.

2318.8k](/packages/mradder-filament-logger)

PHPackages © 2026

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