PHPackages                             laravilt/actions - 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. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. laravilt/actions

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

laravilt/actions
================

Complete action system with modal support, authorization, and Inertia.js integration. Build interactive UI components with buttons, links, and icon buttons. Includes confirmation modals, custom forms, and secure token-based execution.

1.0.6(6mo ago)0686↓89.4%1[4 PRs](https://github.com/laravilt/actions/pulls)4MITHTMLPHP ^8.3|^8.4CI passing

Since Dec 11Pushed 1w agoCompare

[ Source](https://github.com/laravilt/actions)[ Packagist](https://packagist.org/packages/laravilt/actions)[ GitHub Sponsors](https://github.com/fadymondy)[ RSS](/packages/laravilt-actions/feed)WikiDiscussions master Synced yesterday

READMEChangelog (7)Dependencies (17)Versions (12)Used By (4)

[![Actions](https://raw.githubusercontent.com/laravilt/actions/master/arts/screenshot.jpg)](https://raw.githubusercontent.com/laravilt/actions/master/arts/screenshot.jpg)

Laravilt Actions
================

[](#laravilt-actions)

[![Latest Stable Version](https://camo.githubusercontent.com/b67fd82774710e37f3efd7aefdfff6b26f1428cb9d87a00ead4f47f6c2ac8cb0/68747470733a2f2f706f7365722e707567782e6f72672f6c61726176696c742f616374696f6e732f76657273696f6e2e737667)](https://packagist.org/packages/laravilt/actions)[![License](https://camo.githubusercontent.com/af85d3292bfd89ed7fb21e9650f86cea2aa9fc54fdb34b67088d014c077545a1/68747470733a2f2f706f7365722e707567782e6f72672f6c61726176696c742f616374696f6e732f6c6963656e73652e737667)](https://packagist.org/packages/laravilt/actions)[![Downloads](https://camo.githubusercontent.com/f047dcbfb7a71853273f307980c9ca7aab47e48c360f065258cef6b175754eb6/68747470733a2f2f706f7365722e707567782e6f72672f6c61726176696c742f616374696f6e732f642f746f74616c2e737667)](https://packagist.org/packages/laravilt/actions)[![Dependabot Updates](https://github.com/laravilt/actions/actions/workflows/dependabot/dependabot-updates/badge.svg)](https://github.com/laravilt/actions/actions/workflows/dependabot/dependabot-updates)[![PHP Code Styling](https://github.com/laravilt/actions/actions/workflows/fix-php-code-styling.yml/badge.svg)](https://github.com/laravilt/actions/actions/workflows/fix-php-code-styling.yml)[![Tests](https://github.com/laravilt/actions/actions/workflows/tests.yml/badge.svg)](https://github.com/laravilt/actions/actions/workflows/tests.yml)

Complete action system with modal support, authorization, and Inertia.js integration for Laravilt. Build interactive UI components with buttons, links, and icon buttons. Includes confirmation modals, custom forms, password protection, and secure token-based execution.

Features
--------

[](#features)

- 🎨 **Multiple Variants** - Button, link, and icon button styles
- 🔒 **Authorization** - Closure-based authorization with record-level checks
- 📊 **Modal Support** - Confirmation modals, custom forms, slide-overs
- 🎯 **Flexible Configuration** - Colors, icons, sizes, tooltips
- 🔗 **URL Handling** - External URLs, internal actions, new tab support
- ⚡ **Inertia Integration** - Seamless Vue 3 integration
- 📤 **Export/Import** - Excel/CSV export and import with Laravel Excel
- 🔄 **Soft Delete Support** - Built-in restore and force delete actions

Action Types
------------

[](#action-types)

TypeDescription`Action`Standard action button`BulkAction`Action for multiple selected records`ViewAction`Navigate to view page`EditAction`Navigate to edit page`DeleteAction`Soft delete record`CreateAction`Navigate to create page`ReplicateAction`Duplicate a record`RestoreAction`Restore soft-deleted record`ForceDeleteAction`Permanently delete record`ExportAction`Export data to Excel/CSV`ImportAction`Import data from Excel/CSV`DeleteBulkAction`Bulk soft delete`RestoreBulkAction`Bulk restore`ForceDeleteBulkAction`Bulk permanent deleteColors
------

[](#colors)

```
->color('primary')  // Blue
->color('secondary') // Gray
->color('success')   // Green
->color('danger')    // Red
->color('warning')   // Yellow
->color('info')      // Light blue
```

Modal Types
-----------

[](#modal-types)

```
// Confirmation modal
->requiresConfirmation()
->modalHeading('Delete User')
->modalDescription('Are you sure?')

// Form modal
->schema([
    TextInput::make('reason')->required(),
])

// Slide-over
->slideOver()
```

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

[](#installation)

```
composer require laravilt/actions
```

The package will automatically register its service provider.

Quick Start
-----------

[](#quick-start)

```
use Laravilt\Actions\Action;

$action = Action::make('delete')
    ->label('Delete')
    ->icon('trash-2')
    ->color('danger')
    ->requiresConfirmation()
    ->modalHeading('Delete User')
    ->modalDescription('Are you sure?')
    ->action(function ($record) {
        $record->delete();
    });
```

Export &amp; Import
-------------------

[](#export--import)

```
use Laravilt\Actions\ExportAction;
use Laravilt\Actions\ImportAction;

// Export with custom exporter class
ExportAction::make()
    ->exporter(UserExporter::class)
    ->fileName('users.xlsx');

// Import with custom importer class
ImportAction::make()
    ->importer(UserImporter::class);
```

Soft Delete Actions
-------------------

[](#soft-delete-actions)

```
use Laravilt\Actions\DeleteAction;
use Laravilt\Actions\RestoreAction;
use Laravilt\Actions\ForceDeleteAction;

// Auto-hidden for trashed records
DeleteAction::make();

// Auto-visible only for trashed records
RestoreAction::make();
ForceDeleteAction::make();
```

Replicate Action
----------------

[](#replicate-action)

```
use Laravilt\Actions\ReplicateAction;

ReplicateAction::make()
    ->excludeAttributes(['slug', 'published_at'])
    ->beforeReplicaSaved(fn ($replica) => $replica->name .= ' (Copy)')
    ->afterReplicaSaved(fn ($replica) => /* post-save logic */);
```

Generator Commands
------------------

[](#generator-commands)

```
# Generate an action class
php artisan make:action ExportUserAction

# Generate an exporter class for ExportAction
php artisan laravilt:exporter UserExporter
php artisan laravilt:exporter CustomerExporter --model=Customer

# Generate an importer class for ImportAction
php artisan laravilt:importer UserImporter
php artisan laravilt:importer CustomerImporter --model=Customer
```

Documentation
-------------

[](#documentation)

- **[Complete Documentation](docs/index.md)** - Full feature guide, API reference, and examples
- **[MCP Server Guide](docs/mcp-server.md)** - AI agent integration

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

[](#configuration)

Publish the config file:

```
php artisan vendor:publish --tag="laravilt-actions-config"
```

Assets
------

[](#assets)

Publish the plugin assets:

```
php artisan vendor:publish --tag="laravilt-actions-assets"
```

Testing
-------

[](#testing)

```
composer test
```

Code Style
----------

[](#code-style)

```
composer format
```

Static Analysis
---------------

[](#static-analysis)

```
composer analyse
```

License
-------

[](#license)

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

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance84

Actively maintained with recent releases

Popularity17

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 88.7% 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 ~1 days

Total

7

Last Release

193d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2147eb2fca7ab5f0124d0fafd88ba2d2a5dfa3a0036fb8872d1084b7cba29366?d=identicon)[fadymondy](/maintainers/fadymondy)

---

Top Contributors

[![fadymondy](https://avatars.githubusercontent.com/u/11937812?v=4)](https://github.com/fadymondy "fadymondy (63 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (6 commits)")[![actions-user](https://avatars.githubusercontent.com/u/65916846?v=4)](https://github.com/actions-user "actions-user (1 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (1 commits)")

---

Tags

laravelauthorizationinertiabuttonsactionsmodalsvuelaravilt

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/laravilt-actions/health.svg)

```
[![Health](https://phpackages.com/badges/laravilt-actions/health.svg)](https://phpackages.com/packages/laravilt-actions)
```

###  Alternatives

[spatie/laravel-permission

Permission handling for Laravel 12 and up

12.9k102.4M1.4k](/packages/spatie-laravel-permission)[spatie/laravel-passkeys

Use passkeys in your Laravel app

471890.7k38](/packages/spatie-laravel-passkeys)[stephenjude/filament-two-factor-authentication

Filament Two Factor Authentication: Google 2FA + Passkey Authentication

84215.9k9](/packages/stephenjude-filament-two-factor-authentication)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.6k](/packages/rawilk-profile-filament-plugin)[marcelweidum/filament-passkeys

Use passkeys in your filamentphp app

6649.5k1](/packages/marcelweidum-filament-passkeys)[erag/laravel-lang-sync-inertia

A powerful Laravel package for syncing and managing language translations across backend and Inertia.js (Vue/React/Svelte) frontends, offering effortless localization, auto-sync features, and smooth multi-language support for modern Laravel applications.

4925.3k](/packages/erag-laravel-lang-sync-inertia)

PHPackages © 2026

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