PHPackages                             jeffersongoncalves/filament-flux - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. jeffersongoncalves/filament-flux

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

jeffersongoncalves/filament-flux
================================

Filament v5 plugin exposing Livewire Flux UI components as native Form Fields, Table Columns, Infolist Entries and Actions.

1.12.0(1mo ago)11363↑22.2%[1 PRs](https://github.com/jeffersongoncalves/filament-flux/pulls)2MITPHPPHP ^8.2CI passing

Since May 9Pushed 1mo agoCompare

[ Source](https://github.com/jeffersongoncalves/filament-flux)[ Packagist](https://packagist.org/packages/jeffersongoncalves/filament-flux)[ Docs](https://github.com/jeffersongoncalves/filament-flux)[ Fund](https://github.com/sponsors/jeffersongoncalves)[ GitHub Sponsors](https://github.com/jeffersongoncalves)[ RSS](/packages/jeffersongoncalves-filament-flux/feed)WikiDiscussions 1.x Synced 3w ago

READMEChangelog (10)Dependencies (16)Versions (26)Used By (2)

[![Filament Flux](https://raw.githubusercontent.com/jeffersongoncalves/filament-flux/1.x/art/jeffersongoncalves-filament-flux.png)](https://raw.githubusercontent.com/jeffersongoncalves/filament-flux/1.x/art/jeffersongoncalves-filament-flux.png)

Filament Flux
=============

[](#filament-flux)

[![Latest Version on Packagist](https://camo.githubusercontent.com/d3899108e588614e137a0ae7dd9f64d5f55ede4b8d8691b1a566bd0e8fa2917b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6a6566666572736f6e676f6e63616c7665732f66696c616d656e742d666c75782e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/jeffersongoncalves/filament-flux)[![Total Downloads](https://camo.githubusercontent.com/75b572882123c52ebbac796f757da223f01b40b6b548c88c4c0834c50337178f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6a6566666572736f6e676f6e63616c7665732f66696c616d656e742d666c75782e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/jeffersongoncalves/filament-flux)[![Tests](https://camo.githubusercontent.com/cef51c5c9ce64c056a2f931b79b31add75ae806f51295e66e30bc465ccda5e7c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6a6566666572736f6e676f6e63616c7665732f66696c616d656e742d666c75782f74657374732e796d6c3f6272616e63683d312e78266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/jeffersongoncalves/filament-flux/actions/workflows/tests.yml)[![PHPStan](https://camo.githubusercontent.com/f295494987cd9e46dccd08ae11420de1c743408d6508afd169b3ac7c05435cb0/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6a6566666572736f6e676f6e63616c7665732f66696c616d656e742d666c75782f7068707374616e2e796d6c3f6272616e63683d312e78266c6162656c3d7068707374616e267374796c653d666c61742d737175617265)](https://github.com/jeffersongoncalves/filament-flux/actions/workflows/phpstan.yml)[![License](https://camo.githubusercontent.com/cc54b16a5f499b78bb9e65788f86028eba6b7c205dd1a6eec1d7e2b98a262ce8/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6a6566666572736f6e676f6e63616c7665732f66696c616d656e742d666c75782e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)

Filament v5 plugin exposing [Livewire Flux](https://fluxui.dev) UI components as native Form Fields, Table Columns, Infolist Entries, and Actions.

> **Filament v5 only.** Single `1.x` branch tracks Filament v5. No backports to v3/v4.

Compatibility
-------------

[](#compatibility)

BranchFilamentLaravelPHPLivewireFlux`1.x`^5.0^11 / ^12 / ^13^8.2^4.0^2.14Installation
------------

[](#installation)

```
composer require jeffersongoncalves/filament-flux
php artisan make:filament-theme admin
php artisan filament-flux:install --panel=admin
npm run build
```

`filament-flux:install` patches `resources/css/filament/{panel}/theme.css` idempotently:

```
@import "tailwindcss";
@import "../../../../vendor/livewire/flux/dist/flux.css";
@import "../../../../vendor/jeffersongoncalves/filament-flux/dist/filament-flux.css";
```

Tailwind v4 picks up Flux + this package's view scanning automatically.

Register the plugin
-------------------

[](#register-the-plugin)

```
use Filament\Panel;
use Jeffersongoncalves\FilamentFlux\FilamentFluxPlugin;

public function panel(Panel $panel): Panel
{
    return $panel->plugins([
        FilamentFluxPlugin::make(),
    ]);
}
```

### Plugin options

[](#plugin-options)

```
FilamentFluxPlugin::make()
    ->scopeClass('filament-flux-scope')   // wrapper class on every page; pass null to disable
    ->injectAppearance(true)              // controls @fluxAppearance in
    ->injectScripts(true);                // controls @fluxScripts before
```

The plugin also installs a JavaScript bridge between Filament's theme switcher and Flux's appearance store, so toggling theme in either system stays in sync (including cross-tab via `storage` events).

### Use Flux everywhere (auto-replace Filament Form Fields)

[](#use-flux-everywhere-auto-replace-filament-form-fields)

Existing Resources keep calling `TextInput::make()`, `Select::make()`, etc. — they receive the matching Flux subclass automatically. No code changes in your Resources.

```
FilamentFluxPlugin::make()->useEverywhere();
```

Granular opt-out per field:

```
FilamentFluxPlugin::make()->useEverywhere([
    'select' => false,    // keep Filament's  with client-side searchable, etc.
    'otp' => false,
]);
```

Available slugs (all default to `true` when `useEverywhere()` is called):

SlugFilament classFlux replacement`input``TextInput``FluxInput``textarea``Textarea``FluxTextarea``select``Select``FluxSelect``checkbox``Checkbox``FluxCheckbox``checkboxList``CheckboxList``FluxCheckboxGroup``radio``Radio``FluxRadio``toggle``Toggle``FluxSwitch``otp``OneTimeCodeInput``FluxOtpInput`Each Flux subclass extends the matching Filament native, so every method it exposes — `autocomplete()`, `mask()`, `revealable()`, `length()`, `searchable()`, `relationship()`, etc. — keeps working. Only the rendered markup changes.

### Use Flux navigation (sidebar + topbar)

[](#use-flux-navigation-sidebar--topbar)

Replace Filament's sidebar and topbar items with `` / `` and `` markup, while keeping Filament's data layer (active state, badges, child items, registered Resources/Pages/custom items) intact.

```
FilamentFluxPlugin::make()->useFluxNavigation();
```

Granular per-area opt-out:

```
FilamentFluxPlugin::make()->useFluxNavigation([
    'sidebar' => true,
    'topbar' => false,         // keep Filament's topbar items as-is
    'shell' => true,           // see "Full panel shell" below
    'themeSwitcher' => true,   // see "Theme switcher" below
]);
```

The plugin prepends per-area hint paths to the `filament-panels` view namespace; missing files fall back to the vendor copies, so upgrading Filament minors stays safe as long as the overridden views (sidebar `item`, sidebar `group`, topbar `item`, layout `index`, livewire `sidebar`) still match the prop signatures of the active Filament minor.

#### Full panel shell (`shell` toggle)

[](#full-panel-shell-shell-toggle)

Off by default — the `shell` slug rewrites the panel's outer `` shell into `` and wraps the main content in ``, including the sidebar Livewire view. Header, logo, tenant menu, global search, render hooks and footer behaviors are all preserved.

```
FilamentFluxPlugin::make()->useFluxNavigation([
    'shell' => true,
]);
```

This is the most invasive override — opt in only after you've confirmed your panel's render hooks and customizations still render correctly. The Filament version that ships with each `filament-flux` release is the one that's been verified.

#### Theme switcher (`themeSwitcher` toggle)

[](#theme-switcher-themeswitcher-toggle)

Off by default. Replaces the three-button theme switcher (`light` / `dark` / `system`) with a single `` carrying a `` of the three modes. Filament's `theme-changed` event is dispatched on selection, so the existing dark mode listener and the bridge into `flux.appearance` (Phase 1) keep working unchanged.

```
FilamentFluxPlugin::make()->useFluxNavigation([
    'themeSwitcher' => true,
]);
```

### Use Flux Blade components (`useFluxComponents()`)

[](#use-flux-blade-components-usefluxcomponents)

Replace Filament's atomic `` Blade components with ``. Each slug is opt-in.

```
FilamentFluxPlugin::make()->useFluxComponents();
// or granular:
FilamentFluxPlugin::make()->useFluxComponents([
    'badge' => true,
    'avatar' => true,
    'icon' => true,
    'link' => true,
    // omit/false → keep Filament's view
]);
```

Available slugs:

SlugFilament viewFlux replacement`badge``filament::components.badge``` (color map: primary→blue, success→lime, warning→amber, danger→red, info→cyan, gray→zinc)`avatar``filament::components.avatar````icon``filament::components.icon``` (falls back to native HTML for non-string icons)`iconButton``filament::components.icon-button``` (icon HTML wrapped as slot for non-string icons)`link``filament::components.link````breadcrumbs``filament::components.breadcrumbs``` + ```callout``filament::components.callout``` + `` (variant mapped from color)`card``filament::components.card````fieldset``filament::components.fieldset``` + ```section``filament::components.section``` with header via `` + ``; collapsible/persist preserved via Alpine`dropdown``filament::components.dropdown` + `dropdown.list` + `dropdown.list.item``` + `` + `` (Filament `placement` → flux `position`/`align`)`dropdownHeader``filament::components.dropdown.header``` with optional leading icon`modalHeading``filament::components.modal.heading``` (envelope, events and Action machinery stay on Filament)`modalDescription``filament::components.modal.description````schemaText``filament-schemas::components.text``` (badge variant still delegates to ``)`statsCard``filament-widgets::stats-overview-widget.stat``` + `` + `` + `` (chart Alpine canvas + URL anchor preserved)`notifications``filament-notifications::notifications``` envelope (Filament `alignment` + `verticalAlignment` mapped to Flux `position`); each `Notification` keeps its own Filament-styled markup inside the group`pagination``filament::components.pagination.index``` (drops Filament-only `pageOptions` per-page dropdown, `extremeLinks`, and cursor-paginator chevron special-casing — disable the slug if you rely on those)The plugin prepends per-slug hint paths to the `filament`, `filament-schemas` (for `schemaText`), `filament-widgets` (for `statsCard`) and `filament-notifications` (for `notifications`) view namespaces; missing files fall back to vendor copies. Feature complexity (delete buttons on badges, key bindings, loading indicators, deferred badges, form-tag dropdown items, `secondary`/`divided`/`aside` section variants) doesn't fully map to Flux primitives — disable a slug if you rely on the Filament-only affordances.

#### Mixed icon sets (Heroicons + Font Awesome / Tabler / Lucide / etc.)

[](#mixed-icon-sets-heroicons--font-awesome--tabler--lucide--etc)

Filament users frequently register icons from non-heroicon Blade Icons sets. The bundled `HeroiconNormalizer` detects known prefixes (`fontawesome-`, `tabler-`, `lucide-`, `phosphor-`, `mdi-`, `octicon-`, `bi-`, `feather-`, `simple-icons-`, `eos-icons-`, `bxl-`, `bxs-`, `bx-`, `gmdi-`, `css-gg-`, `fa[brs]?-`) and falls back to `\Filament\Support\generate_icon_html()` so those icons keep rendering through Blade Icons. Bare names (no prefix) and `heroicon-{o,s,m,c,mini,micro,outline,solid}-*` are routed through `` with the correct `variant`.

#### Notifications and user menu

[](#notifications-and-user-menu)

Filament's notifications system and user-menu use deep DSL surfaces that don't map cleanly onto Flux primitives. The recommended path:

- For Flux-style toasts in Custom Pages, use `Jeffersongoncalves\FilamentFlux\Components\FluxToast` to dispatch `toast-show` Livewire events. Pair with `` in your panel layout's `body.start` render hook.
- The Filament user-menu remains the most flexible affordance for tenant menus, profile links, and dynamic items. Keep it as-is.

Form Fields
-----------

[](#form-fields)

```
use Jeffersongoncalves\FilamentFlux\Forms\Components\{FluxInput, FluxTextarea, FluxSelect, FluxCheckbox, FluxCheckboxGroup, FluxRadio, FluxRadioGroup, FluxSwitch};

FluxInput::make('email')
    ->email()
    ->fluxIcon('envelope')
    ->fluxClearable()
    ->fluxCopyable()
    ->required();

FluxTextarea::make('bio')->rows(8)->resize('vertical');

FluxSelect::make('status')
    ->options(['draft' => 'Draft', 'published' => 'Published'])
    ->required();

FluxCheckbox::make('terms')->required();

FluxCheckboxGroup::make('tags')
    ->fluxVariant('cards')                // default | cards | pills | buttons
    ->options(Tag::pluck('name', 'id'));

FluxRadioGroup::make('plan')
    ->fluxVariant('segmented')            // default | segmented | cards
    ->options(['free' => 'Free', 'pro' => 'Pro']);

FluxSwitch::make('notifications')->fluxAlign('right');
```

Actions
-------

[](#actions)

```
use Jeffersongoncalves\FilamentFlux\Actions\{FluxAction, FluxDropdown};

FluxAction::make('publish')
    ->fluxVariant('primary')              // outline | filled | primary | danger | ghost | subtle
    ->fluxIcon('rocket-launch')
    ->fluxKbd('cmd+enter')
    ->fluxLoading()                       // bool or wire:target string
    ->fluxTooltip('Publish now')
    ->requiresConfirmation()              // delegates to Filament's native modal
    ->action(fn (Post $record) => $record->publish());

FluxDropdown::make([
    FluxAction::make('edit'),
    FluxAction::make('archive'),
    FluxAction::make('delete'),
])
    ->label('Actions')
    ->fluxIcon('ellipsis-horizontal');
```

> **Note on modals:** Action confirmation/forms reuse Filament's native modal system (consistent with the rest of the panel). `` is not available in Flux free; use Filament modals or roll your own with Alpine in Custom Pages.

Table Columns
-------------

[](#table-columns)

```
use Jeffersongoncalves\FilamentFlux\Tables\Columns\{FluxBadgeColumn, FluxAvatarColumn, FluxIconColumn};

FluxBadgeColumn::make('status')
    ->fluxColor([
        'draft' => 'zinc',
        'published' => 'lime',
        'archived' => 'red',
    ])
    ->fluxIcon(fn ($state) => $state === 'published' ? 'check-circle' : null)
    ->fluxBadgeVariant('pill');

FluxAvatarColumn::make('user.avatar')
    ->fluxName(fn ($state, $record) => $record->user->name)
    ->fluxColor(fn ($state, $record) => $record->user->is_admin ? 'blue' : 'zinc')
    ->fluxSize('sm')
    ->fluxBadge('green');                 // status dot

FluxIconColumn::make('priority')
    ->fluxColor(fn ($state) => $state === 'high' ? 'red' : 'zinc')
    ->fluxIconVariant('solid');
```

Infolist Entries
----------------

[](#infolist-entries)

```
use Jeffersongoncalves\FilamentFlux\Infolists\Components\{FluxBadgeEntry, FluxAvatarEntry, FluxIconEntry, FluxTextEntry};

FluxBadgeEntry::make('role')
    ->fluxColor('blue')
    ->fluxIcon('shield-check');

FluxAvatarEntry::make('avatar')
    ->fluxName(fn ($state, $record) => $record->name)
    ->fluxSize('lg');

FluxIconEntry::make('priority')
    ->fluxIconVariant('solid')
    ->fluxColor('red');

FluxTextEntry::make('description')
    ->fluxSize('lg')
    ->fluxColor('zinc');
```

Color resolver
--------------

[](#color-resolver)

`fluxColor()` accepts three forms:

```
->fluxColor('lime')                                  // fixed
->fluxColor(['draft' => 'zinc', 'done' => 'lime'])   // state map
->fluxColor(fn ($state, $record) => 'blue')          // closure
```

Valid Flux colors: `zinc`, `red`, `orange`, `amber`, `yellow`, `lime`, `green`, `emerald`, `teal`, `cyan`, `sky`, `blue`, `indigo`, `violet`, `purple`, `fuchsia`, `pink`, `rose`.

FluxIcon helper
---------------

[](#fluxicon-helper)

```
use Jeffersongoncalves\FilamentFlux\Support\FluxIcon;

// Inline rendering inside Blade or Closures.
echo FluxIcon::make('star')->fluxVariant('outline')->class('size-6');
```

OTP input
---------

[](#otp-input)

```
use Jeffersongoncalves\FilamentFlux\Forms\Components\FluxOtpInput;

FluxOtpInput::make('code')
    ->length(6)
    ->private()                  // mask the digits
    ->required();
```

Link Action / Column / Entry
----------------------------

[](#link-action--column--entry)

```
use Jeffersongoncalves\FilamentFlux\Actions\FluxLinkAction;
use Jeffersongoncalves\FilamentFlux\Tables\Columns\FluxLinkColumn;
use Jeffersongoncalves\FilamentFlux\Infolists\Components\FluxLinkEntry;

FluxLinkAction::make('docs')
    ->url('https://example.com/docs')
    ->external()
    ->fluxIcon('book-open');

FluxLinkColumn::make('homepage')
    ->href(fn ($state, $record) => $record->homepage_url)
    ->external()
    ->fluxVariant('subtle');

FluxLinkEntry::make('homepage')
    ->href(fn ($state, $record) => $record->homepage_url)
    ->external();
```

Schema components
-----------------

[](#schema-components)

Drop-in for forms and infolists.

```
use Jeffersongoncalves\FilamentFlux\Schemas\Components\{
    FluxHeading,
    FluxSubheading,
    FluxSeparator,
    FluxSpacer,
    FluxCallout,
    FluxFieldset,
    FluxCard,
    FluxSkeleton,
    FluxProgress,
};

FluxHeading::make('Account')->level('2')->size('xl');
FluxSubheading::make('Profile details')->size('sm');
FluxSeparator::make()->orientation('horizontal')->variant('subtle')->text('OR');
FluxSpacer::make();

FluxCallout::make()
    ->variant('warning')                // success | danger | warning | secondary
    ->fluxIcon('exclamation-triangle')
    ->heading('Heads up')
    ->text('Action required.');

FluxFieldset::make('Personal info')->schema([
    FluxInput::make('first_name'),
    FluxInput::make('last_name'),
]);

FluxCard::make()->schema([
    FluxInput::make('email'),
]);

FluxSkeleton::make()->class('h-10 w-full');

FluxProgress::make()->value(72)->fluxColor('lime');
```

Modal helper for Custom Pages
-----------------------------

[](#modal-helper-for-custom-pages)

```

    Confirm deletion
    This action cannot be undone.

    Delete

```

Programmatic open/close from Livewire:

```
use Jeffersongoncalves\FilamentFlux\Components\FluxModal;

$this->dispatch(...array_values(FluxModal::openEvent('confirm-delete')));
```

> Action confirmation modals reuse Filament's native modal system (`->requiresConfirmation()`). Use `` only in Custom Pages where you control the markup directly.

Toast notifications
-------------------

[](#toast-notifications)

```
use Jeffersongoncalves\FilamentFlux\Components\FluxToast;

$this->dispatch(...FluxToast::success('Saved!')->heading('Done')->dispatchArgs());
```

Breadcrumbs and pagination
--------------------------

[](#breadcrumbs-and-pagination)

```
use Jeffersongoncalves\FilamentFlux\Components\FluxBreadcrumbs;
use Jeffersongoncalves\FilamentFlux\Components\FluxPagination;

{!! FluxBreadcrumbs::make()
    ->add('Home', '/')
    ->add('Posts', '/posts', 'document-text')
    ->add('Edit') !!}

{!! FluxPagination::make($posts) !!}
```

Custom Pages — direct Blade usage
---------------------------------

[](#custom-pages--direct-blade-usage)

Components that don't have a Filament wrapper (page-level layout, not Form/Schema primitives) are still available via Flux's anonymous Blade components in any Custom Page:

``, ``, ``, ``, ``, ``, ``, ``, ``, ``, ``, ``, ``, ``, ``, ``, ``, ``, ``, ``, ``, ``, ``, ``.

Theme bridge
------------

[](#theme-bridge)

`dist/filament-flux.css` maps Filament's design tokens (`--fi-color-primary-*`, `--fi-color-gray-*`) to Flux's tokens (`--color-accent`, `--color-zinc-*`) inside `.filament-flux-scope`. Disable the wrapper to keep Flux's native zinc palette:

```
FilamentFluxPlugin::make()->scopeClass(null);
```

Troubleshooting
---------------

[](#troubleshooting)

**Components render unstyled (look like raw HTML).**Tailwind v4 isn't scanning Flux's source. Re-run `php artisan filament-flux:install --panel=admin` and `npm run build`. Confirm the two `@import` lines are present in `resources/css/filament/{panel}/theme.css`.

**Theme toggle doesn't propagate to Flux components.**The plugin injects a bridge script. If you disabled `injectAppearance(false)`, you also disabled the bridge. Re-enable it or wire your own listener for `theme-changed`.

**`auth.json` warning during install.**Only relevant for `filament-flux-pro` (sister package). Ignore for `filament-flux`.

**Validation error appears twice.**Filament's wrapper renders the error message; the Flux component renders a red border via `:invalid`. They are not duplicates — the border is visual only.

Testing
-------

[](#testing)

```
composer test
composer analyse
composer format
```

Credits
-------

[](#credits)

- [Jefferson Gonçalves](https://github.com/jeffersongoncalves)

License
-------

[](#license)

The MIT License (MIT). See [License File](LICENSE.md).

###  Health Score

49

—

FairBetter than 94% of packages

Maintenance94

Actively maintained with recent releases

Popularity23

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 93.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Recently: every ~11 days

Total

25

Last Release

31d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/411493?v=4)[Jefferson Gonçalves](/maintainers/jeffersongoncalves)[@jeffersongoncalves](https://github.com/jeffersongoncalves)

---

Top Contributors

[![jeffersongoncalves](https://avatars.githubusercontent.com/u/411493?v=4)](https://github.com/jeffersongoncalves "jeffersongoncalves (62 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (4 commits)")

---

Tags

filamentfilament-pluginfluxform-builderlaravellivewiretailwindcsslaravelfluxlivewiretailwindfilamentfilament-plugin

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/jeffersongoncalves-filament-flux/health.svg)

```
[![Health](https://phpackages.com/badges/jeffersongoncalves-filament-flux/health.svg)](https://phpackages.com/packages/jeffersongoncalves-filament-flux)
```

###  Alternatives

[ysfkaya/filament-phone-input

A phone input component for Laravel Filament

3161.3M26](/packages/ysfkaya-filament-phone-input)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.8k](/packages/rawilk-profile-filament-plugin)[bezhansalleh/filament-google-analytics

Google Analytics integration for FilamentPHP

211189.7k8](/packages/bezhansalleh-filament-google-analytics)[backstage/mails

View logged mails and events in a beautiful Filament UI.

16121.5k](/packages/backstage-mails)[stephenjude/filament-feature-flags

Filament implementation of feature flags and segmentation with Laravel Pennant.

123177.8k1](/packages/stephenjude-filament-feature-flags)[schmeits/filament-character-counter

This is a Filament character counter TextField and Textarea form field for Filament v4 and v5

34226.4k14](/packages/schmeits-filament-character-counter)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
