shkubu18/filament-widget-tabs
Filament Widget Tabs lets you organize dashboard widgets into tabbed groups inside Filament admin panels. Add tabs to any widget area, keep dashboards tidy, and switch between widget sets instantly with a simple, lightweight API.
config/ for the default theme mappings and the list of supported theme names.Theme enum (or equivalent) shipped in the package is the source of truth for available themes (Success, Danger, Info, Warning, Secondary). Read the enum cases and the trait/class that exposes ->success(), ->theme(), ->gradient(), and ->customThemeClasses() before writing markup.// Shorthand — uses the built-in Success (green) theme
$component->success();
// Generic form — pass the enum
$component->theme(Theme::Danger);
// Add a gradient on top of the chosen theme
$component->theme(Theme::Info)->gradient();
->success(), ->danger(), ->info(), ->warning(), ->secondary() are the least error-prone path. Reach for ->theme(Theme::X) when the theme is being passed around as a variable or stored in config.->theme() accepts the enum, cast model/status columns to the enum rather than juggling raw strings. This keeps validation at the boundary and makes invalid themes a type error instead of a silent styling no-op.->gradient() as a modifier applied after the base theme, not a replacement for it. Compose theme + gradient consistently across your app so a "success" element always reads as the same green whether or not it has a gradient.->customThemeClasses() for brand tokens. Map your design-system classes (e.g. brand primary, hover states) onto the package's theme slot rather than editing vendor CSS. Keep these mappings in one place — a config file or a dedicated theme provider — so restyling is a single edit.statusTheme($status)) that returns the configured/flavored theme. Consumers then call one method instead of repeating enum logic.safelist in tailwind.config.js, or include the package's source path in content.->customThemeClasses() and ->gradient() both emit classes onto the same element. CSS ordering, not call order, decides the winner. If a custom class isn't taking effect, inspect the rendered class attribute and check for conflicting utilities rather than assuming the method was ignored.->gradient() is intended to override background colors or layer on top. Test with each of the five themes — a gradient tuned for Success may look wrong on Secondary.Theme cases anywhere (e.g. a match), add a default arm so an unexpected case doesn't throw after a package upgrade.dd() inside your wrapper helper) before chasing config — most theming issues are "class not in the bundle" or "two utilities fighting", not a package bug.How can I help you explore Laravel packages today?