charrafimed/global-search-modal
Add a polished global search modal to your Filament panel. Search resources and pages instantly with a keyboard shortcut, customizable results, and a fast command-palette experience that feels native to Laravel and Filament.
Architecture fit. The package is a presentation-layer plugin for Filament panels: it swaps the default global-search slide-over for a command-palette-style modal (typically triggered by a keyboard shortcut). It introduces no models, migrations, queues, or external services, so it sits entirely at the edge of the architecture. That is the ideal shape for a third-party dependency — the blast radius of a failure is a UI regression, not data loss or an outage. Fit is strong only if the product already runs Filament panels; against a hand-rolled Laravel/Blade admin, there is no integration point and the package is irrelevant.
Integration feasibility. Mechanically trivial: composer require, then register the plugin in the relevant PanelProvider. The real feasibility question is not installation but contract stability. Filament's global search is a Livewire component with internal events and view hooks; plugins that decorate it depend on internals that Filament does not guarantee across minor releases. Confirm which hooks the package actually uses — PanelsRenderHook and published views are reasonably stable, direct Livewire component overrides are not — and whether it targets Filament v3, v4, or both. The package metadata is thin (repository unknown, low composite score), so treat the "last release 2026-09-14" date and absent repo link as unverified until confirmed on Packagist.
Technical risk.
canGloballySearch(), canViewAny() authorization, tenant scoping, and result-limit throttling. If the plugin re-implements the search pipeline rather than wrapping it, it can silently leak cross-tenant results — the single most serious risk here.aria-modal, ESC handling, and screen-reader announcements that Filament's native component provides. This is a compliance issue in public-sector or enterprise contexts.Key questions.
Stack fit. Valid for Laravel 10/11+ on PHP 8.1+ running Filament v3/v4 panels. Confirm the Composer constraints resolve against the pinned Filament version in composer.lock before anything else — a constraint mismatch ends the evaluation cheaply.
Migration path. Effectively a configuration toggle, which makes this a low-ceremony adoption. Register the plugin in the panel provider behind an environment or config flag so the modal can be disabled per environment without a redeploy. No data migration, no backfill, no dual-write. Rollback is a one-line removal plus composer remove; keep that path tested.
Compatibility. Three surfaces to verify: (a) Filament version pin; (b) coexistence with any custom global search results, custom GlobalSearchProviders, or existing Cmd+K/Ctrl+K bindings in the app's JS; (c) the asset pipeline — if the panel uses a custom Vite theme, confirm the plugin's views/JS don't collide with the compiled bundle, and that php artisan filament:assets publishes cleanly.
Sequencing.
Maintenance. No runtime infrastructure, no scheduled jobs, no storage. Maintenance cost is concentrated in upgrade windows: budget a compatibility check on every Filament minor and a real integration task on every Filament major. Assign an owner; do not let this become an orphaned dependency. Because the maintainer base is one person and the project is small, assume you may need to fork and vendor the package — verify the license permits that before adopting, and confirm the code is small enough (likely a handful of Blade/Livewire files) that forking is a day's work, not a week's.
Support. The user-visible change is a new search interaction, which generates "where did search go?" tickets unless the affordance (search field in the topbar plus the shortcut hint) is preserved and discoverable. Pre-empt with a short release note and a one-line pointer in internal docs.
Scaling. Client-side and roughly constant-cost; it adds no server load beyond the search queries already issued. The scaling risk is indirect — if the modal encourages heavier type-ahead use, query volume against large searchable tables rises. Confirm debounce and per-resource result caps, and watch slow-query logs for the first month.
Failure modes.
Ramp-up. Low. A developer already fluent in Filament needs roughly half a day to install, verify behaviour parity, and run the authorization and accessibility checks; add a day if a custom theme build is involved. No new mental model is required — the package changes appearance, not architecture — so onboarding cost is essentially the cost of reading its README once.
How can I help you explore Laravel packages today?