araga-dev/filament-invertible-fields

Invertible (include/except) fields and table filters for Filament 4 (MultiSelect & TextInput).

Installs: 3

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/araga-dev/filament-invertible-fields

v0.0.1 2025-08-21 22:48 UTC

This package is auto-updated.

Last update: 2025-10-21 23:47:22 UTC


README

Fields and Table Filters for Filament 4 that let users switch between Include (Only) and Exclude (Except) modes with a single toggle.

Included:

  • InvertibleMultiSelect + InvertibleMultiSelectFilter

  • InvertibleTextInput + InvertibleTextInputFilter (comma-separated by default)

  • Package: araga-dev/filament-invertible-fields

  • Namespace: Araga\FilamentInvertibleFields

  • View namespace: filament-invertible-fields::

  • Translations: resources/lang/en, resources/lang/pt_BR

Installation

composer require araga-dev/filament-invertible-fields

(Laravel will auto-discover the service provider.)

Optional:

php artisan vendor:publish --tag="filament-invertible-fields-views"
php artisan vendor:publish --tag="filament-invertible-fields-translations"

Usage

MultiSelect Filter

use Araga\FilamentInvertibleFields\Tables\Filters\InvertibleMultiSelectFilter;

InvertibleMultiSelectFilter::make('status')
    ->label(__('filament-invertible-fields::messages.status'))
    ->column('status')
    ->options([
        'draft' => 'Draft',
        'published' => 'Published',
        'archived' => 'Archived',
    ]);

MultiSelect Field

use Araga\FilamentInvertibleFields\Forms\Components\InvertibleMultiSelect;

InvertibleMultiSelect::make('values')
    ->options([ '1' => 'One', '2' => 'Two' ]);

Text Filter (comma-separated list by default)

use Araga\FilamentInvertibleFields\Tables\Filters\InvertibleTextInputFilter;

InvertibleTextInputFilter::make('sku')
    ->label(__('filament-invertible-fields::messages.sku'))
    ->column('sku')
    ->listSeparator(','); // "123, 456, 789"

Text Field

use Araga\FilamentInvertibleFields\Forms\Components\InvertibleTextInput;

InvertibleTextInput::make('values')
    ->listSeparator(','); // optional

i18n

  • English and Brazilian Portuguese included.
  • You can publish and edit the translation files with the command above.

License

MIT