akunbeben/inline-confirm
A lightweight Laravel package that replaces browser confirm dialogs with inline confirmation prompts for destructive actions. Add simple Blade integration, customize labels and styling, and keep users in context without modal windows. Ideal for delete buttons and other risky links.
Architecture fit. akunbeben/fluid-actions is a Filament UI plugin that adds inline confirmation and hold-to-confirm interaction patterns to table and form actions. It is a presentation-layer concern: it registers a plugin, a service provider, a view namespace (fluid-actions), and publishable assets (fluid-actions.css / fluid-actions.js). It does not touch persistence, queues, auth, or domain logic, so it slots in as a leaf dependency in the admin/back-office surface of a Laravel application. Fit is good for teams already standardised on Filament who want destructive-action safeguards without building bespoke confirmation modals.
Integration feasibility. Straightforward. Composer install, register FluidActionsPlugin on the relevant Filament panel, optionally publish assets and views. The v1.0.0 fixes are directly relevant to adoption quality: preserving the original explicit action view when enabling inline confirmation or hold-to-confirm, and correctly storing closeDropdown configuration. Both were configuration-fidelity bugs that would have surfaced as "my custom action view disappeared" or "the dropdown doesn't close" — the kind of defect that erodes trust in a UI package during a pilot.
Technical risk. The dominant risk in this release is not functional but nominal. v1.0.0 is entirely a rename plus two fixes: package name (akunbeben/inline-confirm → akunbeben/fluid-actions), namespace (Akunbeben\InlineConfirm → Akunbeben\FluidActions), plugin class, service provider, view namespace, and published asset filenames. Every one of those is a public identifier. Any application that has already adopted the pre-1.0 package — or any internal documentation, published views, or copied asset tags referencing inline-confirm — will break. The 1.0.0 version number signals API stability going forward but arrives bundled with a hard rename, which means the first stable release is also the most disruptive one. Secondary risk: published assets live in public/ and are typically gitignored or stale; the CSS/JS filename change will silently 404 on environments where vendor:publish --force is not re-run, producing an unstyled or non-functional confirm UI rather than a clean error.
Key questions.
akunbeben/inline-confirm, in code, in a lockfile, or in a feature branch?--force?Stack fit. Assumes Laravel + Filament. If the target panel is Filament v3/v4 and PHP 8.2+, this is a low-ceremony addition. If any admin surface is still on a non-Filament UI (Blade + Livewire, Nova, plain Bootstrap), the package is simply not applicable there — scope the rollout to Filament panels only and do not attempt to generalise it.
Migration path. Treat this as a greenfield install, not an upgrade, unless the legacy package is already present. Two paths:
akunbeben/fluid-actions:^1.0 directly. Reference FluidActionsPlugin and the fluid-actions:: view namespace from the start. No migration work.inline-confirm. Perform a hard substitution in a single dedicated PR: composer require/remove, namespace imports, plugin registration, service provider (if manually registered), view namespace references in any custom Blade, and published asset tags. Then run php artisan vendor:publish --tag=fluid-actions --force and remove the orphaned public/css/inline-confirm.* / public/js/inline-confirm.* files so stale assets cannot be served. Search the codebase for the literal string inline-confirm as the acceptance check.Compatibility. Confirm Filament major version support and AssetManager registration behaviour before committing. The closeDropdown fix implies the package participates in Filament's dropdown lifecycle; verify against the panel's configured behaviour if you rely on custom dropdown components.
Sequencing.
php artisan serve).Maintenance. Low and bounded. Small surface area, single maintainer (akunbeben). The rename at 1.0.0 is a reasonable signal that the author intends to stabilise the name before committing to semver — better to absorb it once, now, than after wider adoption. Pin to ^1.0 and review minor releases; treat any further identifier churn as a governance red flag.
Support. Community/open-source, no vendor SLA. Internal support burden is the real cost: whoever owns the admin UI must know that confirm behaviour is configured per-action via the plugin, and that a missing fluid-actions.js manifests as a silently degraded confirm rather than an error page. Document that in the runbook.
Scaling. Negligible runtime impact — client-side interaction plus a small asset bundle. No database, queue, or cache footprint. The only scaling concern is asset delivery: ensure the CSS/JS are versioned or cache-busted in the deploy pipeline, otherwise the filename change from v0.x will be masked by CDN/browser cache and produce inconsistent behaviour across users.
Failure modes.
inline-confirm.* still cached or committed; new files 404. Symptom: unstyled confirm UI, hold-to-confirm not functioning. Mitigation: --force publish plus explicit deletion of old files, and a smoke test post-deploy.Class not found on Akunbeben\InlineConfirm\.... Loud and caught at boot; low risk if searched.closeDropdown misconfiguration — was silently dropped pre-1.0.0; now honoured. Behaviour may change after upgrade in dropdown contexts, which can look like a new bug.Ramp-up. Very low for a Filament-fluent developer: an afternoon to install, publish, and convert a handful of actions; roughly a day including the legacy-rename sweep and deploy verification if migrating. Add a short internal note covering (a) the plugin registration, (b) the fluid-actions:: namespace and asset tags, and (c) the re-publish requirement on upgrade. Non-Filament developers get no value from the package and should not be asked to learn it.
How can I help you explore Laravel packages today?