Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Fluid Actions

Fluid Actions Laravel Package

akunbeben/fluid-actions

Fluid Actions is a UX toolkit for Filament Actions, offering inline confirmation, hold-to-confirm gestures, and ActionGroup support with per-action timeouts and smart fallbacks to Filament's default behavior.

View on GitHub
Deep Wiki
Context7

Inline confirmation for Filament Actions

Frequently asked questions about Fluid Actions
How do I install Fluid Actions in a Laravel Filament panel?
Install it with composer require akunbeben/fluid-actions, then register FluidActionsPlugin::make() on your Filament panel using the standard $panel->plugin() method. Registration is the only global setup step, and each interaction is opt-in per action. Existing actions keep Filament's default behavior until you explicitly call inlineConfirmation() or holdToConfirm().
Does inlineConfirmation() automatically call requiresConfirmation()?
No. The documentation explicitly says inlineConfirmation() does not call requiresConfirmation() for you, so you must use both methods together. The inline confirmation button uses Filament's modal submit action label, which you can customize with modalSubmitActionLabel(). The timeout is in milliseconds and defaults to 3000.
Do I need requiresConfirmation() to use holdToConfirm()?
No. Unlike inline confirmation, holdToConfirm() does not require requiresConfirmation(). By default the user must hold the action for 1500 milliseconds, and you can change that with holdToConfirm(duration: 3000). This makes it suitable for deliberate destructive gestures without opening a Filament confirmation modal.
Which Filament versions does Fluid Actions support?
The provided documentation does not state supported Filament majors, so check the package's composer.json constraint and any CI matrix before adopting it. Because it hooks Filament Action views and Alpine components, it is tightly coupled to Filament internals and should be expected to break at major upgrades. Pin your Filament version and confirm the package constraint matches your current major rather than assuming forward compatibility.
Is hold-to-confirm accessible for keyboard and screen reader users?
Press-and-hold is inherently difficult for keyboard-only users and people with motor impairments. Before using it on destructive actions, verify that the package ships a keyboard-accessible equivalent, proper ARIA semantics, and a documented reduced-motion or accessibility posture. Treat hold-to-confirm as needing an internal accessibility gate rather than dropping it onto critical workflows by default.
What happens if Fluid Actions is not configured for an action or breaks after an upgrade?
Fluid Actions uses a smart fallback: actions that are not configured keep Filament's stock behavior, so a failed interaction should degrade UX rather than break a workflow. The downside is that this fallback is silent and unobservable, meaning you may not be alerted when a custom interaction quietly stops rendering after a Filament upgrade. Add visual regression or interaction tests around any action where the custom pattern matters.
Can inline confirmation and hold-to-confirm work inside ActionGroups and dropdown menus?
Yes, ActionGroup support is listed as an available interaction, and the package says it works inside dropdown menus and grouped actions. Per-action configuration also covers dropdown behavior. You should still test modals, nested action groups, and relation managers explicitly, since those are high-defect surfaces for plugins that customize action rendering.
How do I customize the inline confirmation timeout and hold duration per action?
For inline confirmation, call inlineConfirmation(timeout: 3000) after requiresConfirmation(); the value is in milliseconds and defaults to 3000. For hold-to-confirm, call holdToConfirm(duration: 3000); the default hold duration is 1500 milliseconds. The package also advertises per-action configuration for timeout, hold duration, and dropdown behavior. Consider sourcing these values from config or policy rather than hardcoding them at each call site.
Is Fluid Actions production-ready, and what alternatives should I consider?
Treat it as a time-boxed, reversible trial rather than a proven production dependency. It has a single maintainer, around 12 stars, zero dependents, and no external production validation, so supply-chain and maintenance risk dominate. The native Filament confirmation modal and custom Livewire or Alpine interactions are lower-risk alternatives, while Fluid Actions is best scoped to internal or staff admin surfaces. Its additive, per-action design means you can remove it without touching domain code.
How do I remove Fluid Actions or roll back if I change my mind?
Rollback is straightforward because adoption is strictly additive. Delete the FluidActionsPlugin::make() registration line from your panel and remove the Composer dependency; actions will continue to use Filament's default confirmation behavior. There is no schema, migration, model, or service-layer footprint to clean up. This reversibility is the main reason it can clear a trial bar even at its current maturity level.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log
hsluv/hsluv
seampact/codegen