New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

jeffersongoncalves/filament-sensible-defaults

A Filament plugin that applies a curated set of sensible, opinionated UI defaults across your panels (actions, forms, selects, date-time pickers, tables, pages and display formats) with config-driven, per-block opt-outs.
5,691 2
Install
composer require jeffersongoncalves/filament-sensible-defaults
Latest Version:3.1.0
PHP:^8.3
Laravel:11 · 12 · 13
License:MIT
Last Updated:Oct 25, 2026
Links: GitHub  ·  Packagist
Maintainer: jeffersongoncalves

Filament Sensible Defaults

Filament Sensible Defaults

Buy Me A Coffee

Latest Version on Packagist GitHub Code Style Action Status Tests Total Downloads License

A Filament plugin that applies a curated set of sensible, opinionated UI defaults across your panels — actions, forms, selects, date-time pickers, tables, pages and display formats — so every Resource, Page and Widget inherits consistent behaviour without repeating configuration. Every block is config-driven and can be opted out of individually.

Compatibility

Branch Filament
1.x ^3.0
2.x ^4.0
3.x ^5.0

Installation

You can install the package via composer:

composer require jeffersongoncalves/filament-sensible-defaults:^3.0

Optionally publish the config file:

php artisan vendor:publish --tag=filament-sensible-defaults-config

Usage

By default the plugin auto-registers and applies every enabled block of defaults globally — no panel wiring required. Just install it and your panels inherit the defaults.

If you prefer explicit, per-panel control, set auto_register to false in config/sensible-defaults.php and register the plugin on your PanelProvider:

use JeffersonGoncalves\Filament\SensibleDefaults\FilamentSensibleDefaultsPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugin(
            FilamentSensibleDefaultsPlugin::make()
                ->selectDefaults(false)   // opt a block out fluently
                ->datetimeDefaults()      // or keep one explicitly on
        );
}

What it sets

Block Default behaviour
translate_labels translateLabel() on every Field, Infolist Entry and Table Column
action_defaults Action modalWidth(Medium) + closeModalByClickingAway(false); Create/Edit/Delete/View Heroicons + hiddenLabel(); ActionGroup ellipsis icon
select_defaults Select → native(false), auto searchable()/preload() for relationships, selectablePlaceholder() when not required
datetime_defaults DateTimePicker → seconds(false) + maxDate('9999-12-31T23:59')
fileupload_defaults FileUpload → moveFiles()
repeater_defaults Repeater / Builder delete actions require confirmation
form_defaults ToggleButtons inline + grouped, TextInput minValue(0), Textarea rows(4)
page_defaults Validation errors rendered as a danger Notification; non-sticky form actions
table_defaults filtersFormWidth('md'), pagination options [5, 10, 25, 50], lazy-loaded image columns, non-native select filters
format_defaults Schema & Table currency / date / datetime / time display formats (see formats in the config)

Configuration

Each block is a boolean toggle and the display formats are fully customisable in config/sensible-defaults.php:

return [
    'auto_register' => true,

    'translate_labels' => true,
    'action_defaults' => true,
    'select_defaults' => true,
    'datetime_defaults' => true,
    'fileupload_defaults' => true,
    'repeater_defaults' => true,
    'form_defaults' => true,
    'page_defaults' => true,
    'table_defaults' => true,
    'format_defaults' => true,

    'formats' => [
        'currency' => 'brl',
        'date_display_format' => 'M j, Y',
        'iso_date_display_format' => 'L',
        'datetime_display_format' => 'M j, Y H:i:s',
        'iso_datetime_display_format' => 'LLL',
        'number_locale' => null,
        'time_display_format' => 'H:i:s',
        'iso_time_display_format' => 'LT',
    ],
];

Fine-grained control

Blocks that bundle more than one class also expose a matching sub-array so you can disable a single item without losing the rest of the block. The block switch is a master gate: turning it off disables every sub-item regardless of their own setting.

return [
    // ...

    'actions' => [
        'action_group' => true,
        'action' => true,
        'create_action' => true,
        'edit_action' => true,
        'delete_action' => false, // opt DeleteAction out, keep everything else in action_defaults
        'view_action' => true,
    ],

    'select' => [
        'native' => true,
        'selectable_placeholder' => true,
        'searchable' => true,
        'preload' => true,
    ],

    'datetime' => [
        'seconds' => true,
        'max_date' => true,
    ],

    'repeater' => [
        'repeater' => true,
        'builder' => true,
    ],

    'form' => [
        'toggle_buttons' => true,
        'text_input' => true,
        'textarea' => true,
    ],

    'page' => [
        'validation_notification' => true,
        'sticky_form_actions' => true,
    ],

    'table' => [
        'table' => true,
        'image_column' => true,
        'select_filter' => true,
    ],
];

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

Related Packages

jeffersongoncalves/filament-logo

A simple yet effective Filament plugin that automatically adds the Filament logo...

18,307 5
jeffersongoncalves/filament-qrcode-field

A Laravel Filament package that provides QR Code field functionality for your we...

11,622 20
jeffersongoncalves/filament-cep-field

The Filament CEP Field is a custom input component designed specifically for Bra...

5,468 8
jeffersongoncalves/filament-topbar

A simple yet effective Filament plugin that automatically adds a customized topb...

4,489 20
jeffersongoncalves/filament-one-time-operations

This is a Laravel Filament package that provides a One Time Operations functiona...

4,293 2

Version History

Version Released PHP License
3.1.0 ^8.3 MIT
3.0.1 ^8.3 MIT
3.0.0 ^8.3 MIT
2.1.0 ^8.2|^8.3|^8.4 MIT
2.0.1 ^8.2|^8.3|^8.4 MIT