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

Filament Spotlight Laravel Package

takashato/filament-spotlight

A Filament plugin that adds a Spotlight-style command palette to your admin panel, letting users quickly search records and jump between resources, pages, and actions from a single keyboard-driven overlay.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy on admin UX polish. A command palette is a recurring "nice-to-have" that tends to get deferred indefinitely because it is pure UX surface area with no revenue line. This package collapses the decision into a config + composer require, so the question shifts from "do we have a sprint for this?" to "is keyboard-first navigation worth a dependency?"
  • Navigating the admin faster than the UI can be rebuilt. FilamentResourceSource (global search plus Tab-activated per-row actions) and NavigationSource mean most day-to-day admin work — find record, act on record — becomes reachable without touching the mouse. That is a support-ticket-reduction and internal-tooling-efficiency bet, not a feature bet.
  • Accessibility roadmap. Shipping WCAG 2.1 AA combobox semantics, dark mode, RTL, and a mobile bottom-sheet with a labeled close button is a concrete, demonstrable compliance artifact. Useful if you have procurement questionnaires, public-sector tenders, or an internal a11y mandate where "we're working on it" is no longer sufficient.
  • Extensibility as a product surface. The SpotlightSource contract plus the Handler factory (url, event, modal, callback) lets your team expose domain-specific commands — "create invoice for this customer", "open runbook" — without forking the package. That makes it a platform primitive rather than a cosmetic add-on, and it is the part most likely to justify the dependency long term.
  • Scoping the personalization question. Per-user recents with LRU eviction and permission re-validation means you can decide whether command history is a product feature worth persisting (new migration, new table) or noise. The permission re-validation on recents is the detail that makes this safe to enable in multi-tenant or role-churning environments.
  • Localization reach. en and vi out of the box tells you the maintainer's own context; treat additional locales as your work item, and factor that into the effort estimate if your admin is not English-first.

When to Consider This Package

Adopt when most of these hold:

  • You are on Filament v5 and are not planning to migrate off it. This is a hard gate — the plugin is panel-version-coupled.
  • Your admin has enough surface area that navigation is a measurable cost (many resources, deep nav trees, frequent record lookup).
  • You have an accessibility obligation you can actually point at, and a keyboard-first power-user cohort who will notice and use Cmd/Ctrl+K.
  • You can accept a pre-1.0 dependency. v0.1.0 means the SpotlightSource contract, the Handler factory signatures, and the config schema are all fair game to change. Pin to ^0.1 and budget for reading changelogs on every bump.
  • You are willing to own the migration and the spotlight_recents table, and to decide a retention policy for per-user history.
  • You have reviewed the handler surface. The same-origin and scalar payload validation is a good sign, but any callback/event handler reachable from a palette is a code path worth a security read — especially if untrusted users share a panel.

Look elsewhere or build in-house when:

  • You are on Filament v4 or earlier, or on a non-Filament admin.
  • You need a stable, semver-respecting API with a published support window — v0.1.0 does not offer that, and a single-maintainer package is a bus-factor consideration for anything business-critical.
  • The palette would be the only reason you are on Filament v5; do not let a UX nicety drive your framework version.
  • Your admin is heavily localized beyond en/vi and you cannot absorb the translation work.
  • You need guaranteed long-term maintenance, an SLA, or a security-response commitment — none of which a first public release can provide.

How to Pitch It (Stakeholders)

For executives: This is a small, low-cost add-on that makes our admin dramatically faster to navigate for day-to-day staff, and it ships with documented WCAG 2.1 AA accessibility conformance plus dark mode, RTL, and mobile layouts — useful evidence if accessibility ever appears on a customer or tender questionnaire. The trade-off is honest: it is a first public release (v0.1.0) from a single maintainer, so we treat it as an experiment, pin the version, and keep the integration thin enough to remove in a day if needed. Recommend a time-boxed pilot on an internal panel before any wider rollout.

For engineering: Install is composer require takashato/filament-spotlight:^0.1, register SpotlightPlugin on the panel, publish config/spotlight.php and the spotlight_recents migration. Built-in FilamentResourceSource and NavigationSource give us Cmd/Ctrl+K search and Tab-activated row actions without custom code; anything beyond that we implement against the SpotlightSource contract and return Result DTOs. Two things to scope in review: (1) the Handler factory is our main attack surface — confirm same-origin and scalar validation covers our intended url/event/modal/callback usage before we expose it broadly; (2) per-user recents persist to a new table, so decide retention and confirm the permission re-validation behaves correctly under our role model. Assume breaking changes on any 0.x bump — review the changelog before upgrading and keep our custom sources isolated behind our own adapter so a contract change is a contained fix, not a refactor.

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.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels