awcodes/shout
Shout is a simple inline contextual notice component for Filament forms and infolists, essentially a styled placeholder for alerts and messages. Customize its content, color, icon, and icon size. Supports Filament 4.x and 5.x.
schema() with no model, migration, or route changes, "add guidance copy to the billing form" becomes a same-sprint task rather than a plumbing project. That lets you scope self-serve education work without negotiating for backend capacity.actions() accepts real Filament Action objects, so a notice can carry a link to an upgrade page, a docs page, or a settings screen. This unlocks upgrade/deprecation campaigns that live inside the existing admin IA instead of requiring a new banner system, modal, or notification framework.color(), icon(), and heading conventions let you codify a semantic palette (info/success/warning/danger) as a team standard rather than leaving each developer to pick their own alert styling. That's a design-governance decision you can actually enforce cheaply.Adopt when:
@source line pointing at the vendor Blade views. If you have no custom theme and no appetite to create one, this is a real, non-trivial adoption tax — budget for it explicitly rather than treating it as composer require.Action objects.Look elsewhere when:
Risk read for the record: 72 stars and zero dependents means you are close to the only consumer in the wild. Bus factor is one (Adam Weston, who is a credible and prolific Filament contributor, which is the mitigating factor). Last release is recent, docs are real, and the changelog shows active maintenance including a substantive accessibility/contrast fix in 4.1.1 — that's a better signal than the star count. Critically, blast radius is minimal: this is one PHP class and one Blade view with no persistence and no service bindings, so removal is a find-and-replace, not a migration. Low adoption risk precisely because failure is cheap and reversible.
To executives: This is a five-minute integration, MIT-licensed, that lets us put the right sentence in front of a user at the exact moment they're about to make a decision — a warning before a destructive action, a disclosure where the data is entered, a link to upgrade where limits are hit. It removes a recurring dependency on engineering for in-product copy and has a trivial exit cost: if we drop it, one developer removes a handful of one-line references. The downside is bounded; the upside is fewer support tickets and better-informed users at the point of action.
To engineering: It's a presentational Filament schema component — no model, no migration, no route, no container binding, no queue surface. One class, one Blade view. It composes heading(), content(), color(), icon()/iconSize()/icon(false), and actions() with standard Filament Action objects, and it tracks Filament 4 and 5 on a single release line. The one real cost is the setup: a custom Filament theme plus an @source directive for the vendor views. Flag that as a task, not an afterthought. Because there are zero public dependents, we should treat upgrades as something we smoke-test ourselves rather than assume the ecosystem has shaken out.
To design: It gives us a semantic notice primitive with a consistent color and icon vocabulary and sensible dark-mode treatment as of 4.1.1, rather than another bespoke alert. The trade-off is that visual differentiation beyond color, icon, and heading means forking the Blade view — so if we want a distinctive notice style, we should decide that up front and accept we're then maintaining a fork.
How can I help you explore Laravel packages today?