- What is awcodes/shout used for in a Laravel Filament app?
- Shout is a presentational Filament schema component that renders an inline contextual notice, alert, or callout inside a form or infolist. It is effectively a fancy Placeholder: you add Shout::make('id')->content('...') to a schema and it displays a message. It has no models, migrations, routes, or service provider configuration, so it does not touch your application's backend logic.
- How do I install awcodes/shout?
- Run composer require awcodes/shout, then add the package views to your theme CSS with the line @source '../../../../vendor/awcodes/shout/resources/**/*.blade.php';. If you use Filament Panels without a custom theme, create one first following the Filament styling docs, otherwise the component renders unstyled. There is no plugin registration, config publishing, or artisan step, and uninstalling means removing the Composer line and the CSS directive.
- Which Filament versions does Shout support?
- Shout releases are locked to Filament majors: 1.x targets Filament 2, 2.x targets Filament 3, 3.x targets Filament 4, and 4.x supports Filament 4 and 5. Because of that mapping, a Filament upgrade is blocked until a matching Shout release exists, so plan upgrades around the package's release calendar. Check the compatibility table in the repository before bumping either dependency.
- Do I need a custom Filament theme to use Shout?
- Yes, in practice you do. Shout ships Blade views with Tailwind classes that must be scanned by your own theme build, so the README instructs you to set up a custom Filament theme and add the @source directive pointing at the package's Blade files. Without that, the notice renders without its colors, borders, and layout. If your team has never built a Filament theme, budget a little time for that one-off setup.
- Why is my Shout notice rendering unstyled or without colors?
- The most common cause is a missing or incorrect @source directive in your theme CSS, which means Tailwind never compiles the package's utility classes. Confirm the relative path from your CSS file to vendor/awcodes/shout/resources/**/*.blade.php is correct, then rebuild your assets. Also verify you are on the Shout major that matches your Filament version, since the markup differs between releases.
- How do I customize the content, color, icon, and icon size of a Shout notice?
- Chain the fluent methods on the component: content() for the message, color() with a Filament color such as Color::Lime or Color::hex('#badA55'), icon() with a Heroicon name, iconSize() with sm, md, lg, or xl, plus heading() and actions() for a titled notice with embedded action buttons. Everything is configured per call site in the schema. Icons can also be disabled entirely, which is handy for compact layouts.
- How is Shout different from Filament's built-in Placeholder component?
- Shout extends the Placeholder idea rather than replacing it, adding color, icon and icon size, a heading, and embedded Action objects. That delta is the entire value of the package, so if you only need static helper text, the core Placeholder component is enough. Choose Shout when you want visually distinct notices such as success, warning, or danger callouts inside the schema.
- Can I use Shout in an infolist as well as a form schema?
- Yes, Shout registers as both a form component and an infolist component, so the same Shout::make() API works in either schema. That makes it useful for adding explanatory notes to read-only detail pages as well as to edit forms. It only applies to Filament schemas, not to arbitrary Blade views or Livewire components outside Filament.
- What changed in Shout v4.1.1 that could affect my UI?
- Version 4.1.1 changed how notices look in dark mode, replacing the light palette with a tinted dark background, translucent colored border, and light text, so any approved mockups or visual regression baselines should be re-reviewed even though it is a patch release. It also made the shout::icon.info, success, warning, and danger aliases actually work, so icons may appear differently if you had registered aliases before. The release additionally introduces a dependency on awcodes/focus, so confirm whether it lands in require and register it as a transitive dependency.
- What are the maintenance and upgrade risks of depending on awcodes/shout?
- The main risks are the strict major-for-major coupling to Filament and a single maintainer with a modest dependent count, meaning limited third-party validation of edge cases. Dark-mode styling has changed in patch releases, so pin versions, review changelogs, and re-check screenshots after upgrades rather than trusting semver alone. On the positive side, the package is small, purely presentational, and easy to remove, which keeps a pilot cheap, and the repository shows Dependabot, shared CI, and pinned workflow SHAs.