PHPackages                             mangoldsecurity/filament-settings - 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. mangoldsecurity/filament-settings

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

mangoldsecurity/filament-settings
=================================

Filament integration for the mangoldsecurity/settings package

v2.4.0(3mo ago)04MITPHPPHP ^8.2

Since Feb 11Pushed 3mo agoCompare

[ Source](https://github.com/MangoldSecurity/filament-settings)[ Packagist](https://packagist.org/packages/mangoldsecurity/filament-settings)[ Docs](https://github.com/MangoldSecurity/filament-settings)[ GitHub Sponsors](https://github.com/outer-web)[ RSS](/packages/mangoldsecurity-filament-settings/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (13)Versions (13)Used By (0)

[![Filament Settings](./docs/images/github-banner.png)](./docs/images/github-banner.png)

Filament Settings
=================

[](#filament-settings)

[![Latest Version on Packagist](https://camo.githubusercontent.com/8bfabe5d64965c89c87c470b7f01038aa20ab2e6786d02078b399d37121c200f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d616e676f6c6473656375726974792f66696c616d656e742d73657474696e67732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/mangoldsecurity/filament-settings)[![GitHub Tests Action Status](https://camo.githubusercontent.com/77feabad7b7a33e50f76b82df34ce9bf5f3e536977a0cb2b242fa74aaf065601/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d616e676f6c6473656375726974792f66696c616d656e742d73657474696e67732f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/outer-web/filament-settings/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/fabc9c975ddf89d89e69e48518fd09ae1098f3ed7afb2636dd0cf459ea343e7e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d616e676f6c6473656375726974792f66696c616d656e742d73657474696e67732f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/outer-web/filament-settings/actions?query=workflow%3A%22Fix+PHP+code+style+issues%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/3967bd875c43aad9bf93481d04aee0a2a1b77e4ee36681200a6650668f7a59e7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d616e676f6c6473656375726974792f66696c616d656e742d73657474696e67732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/mangoldsecurity/filament-settings)

This Filament plugin provides an integration for the [outerweb/settings](https://github.com/outer-web/settings) package.

Table of Contents
-----------------

[](#table-of-contents)

- [Installation](#installation)
- [Usage](#usage)
- [Changelog](#changelog)
- [License](#license)

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require mangoldsecurity/filament-settings
```

Follow the installation instructions for the [outerweb/settings](https://github.com/outer-web/settings#installation) package.

Add the plugin to your panel:

```
use MangoldSecurity\FilamentSettings\SettingsPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        ->plugins([
            // ...
            SettingsPlugin::make()
                ->pages([
                    // Add your settings pages here
                ]),
        ]);
}
```

Usage
-----

[](#usage)

### Create a Page

[](#create-a-page)

Create a settings page by extending `MangoldSecurity\FilamentSettings\Pages\Settings`:

```
namespace App\Filament\Pages;

use MangoldSecurity\FilamentSettings\Pages\Settings;

class MySettings extends Settings
{
    public function form(Schema $schema): Schema
    {
        return $schema
            ->components([
                Tabs::make()
                    ->columnSpanFull()
                    ->tabs([
                        Tab::make('General')
                            ->schema([
                                TextInput::make('general.brand_name')
                                    ->required(),
                            ]),
                        Tab::make('Seo')
                            ->schema([
                                TextInput::make('seo.title')
                                    ->required(),
                                TextInput::make('seo.description')
                                    ->required(),
                            ]),
                    ]),
            ]);
    }
}
```

### Creating multiple pages

[](#creating-multiple-pages)

You can create as many settings pages as you want.

```
use MangoldSecurity\FilamentSettings\SettingsPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        ->plugins([
            // ...
            SettingsPlugin::make()
                ->pages([
                    \App\Filament\Pages\GeneralSettings::class,
                    \App\Filament\Pages\SeoSettings::class,
                    \App\Filament\Pages\OtherSettings::class,
                ]),
        ]);
}
```

Each page just needs to extend `MangoldSecurity\FilamentSettings\Pages\Settings`. You can override the all properties like the `icon`, `navigationGroup`... just like a normal Filament page.

### Mutating settings data

[](#mutating-settings-data)

You can mutate the settings before filling the form and before saving them to the database by defining the `mutateFormDataBeforeFill` and `mutateFormDataBeforeSave` methods.

For example, if you want to store all settings under a specific tenant key:

```
    public function mutateFormDataBeforeFill(array $data): array
    {
        return collect($data)->get($this->getTenantKey(), []);
    }

    public function mutateFormDataBeforeSave(array $data): array
    {
        return collect($data)->mapWithKeys(function ($item, $key) {
            return ["{$this->getTenantKey()}.{$key}" => $item];
        })->toArray();
    }

    /**
     * A custom function for this example
     */
    private function getTenantKey(): string
    {
        return 'tenant'; // Your logic to determine the tenant
    }
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance80

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~79 days

Recently: every ~27 days

Total

10

Last Release

106d ago

Major Versions

v1.3.0 → v2.0.02025-10-08

PHP version history (3 changes)v1.0.0PHP ^8.0

v2.0.0PHP ^8.4

v2.4.0PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/f2655b60633cd1d6170430d024519c9c8029070da76242d2ecd0808571bb7fee?d=identicon)[leemangold](/maintainers/leemangold)

---

Top Contributors

[![LeeMangold](https://avatars.githubusercontent.com/u/3781384?v=4)](https://github.com/LeeMangold "LeeMangold (5 commits)")[![SimonBroekaert](https://avatars.githubusercontent.com/u/35606498?v=4)](https://github.com/SimonBroekaert "SimonBroekaert (5 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (1 commits)")

---

Tags

laravelfilament-settingsMangoldSecurity

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/mangoldsecurity-filament-settings/health.svg)

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

###  Alternatives

[guava/calendar

Adds support for vkurko/calendar to Filament PHP.

298241.0k3](/packages/guava-calendar)[outerweb/filament-settings

Filament integration for the outerweb/settings package

3690.9k4](/packages/outerweb-filament-settings)[bezhansalleh/filament-google-analytics

Google Analytics integration for FilamentPHP

205144.8k5](/packages/bezhansalleh-filament-google-analytics)[jibaymcs/filament-tour

Bring the power of DriverJs to your Filament panels and start a tour !

12247.8k](/packages/jibaymcs-filament-tour)[marcelweidum/filament-expiration-notice

Customize the livewire expiration notice

9169.0k4](/packages/marcelweidum-filament-expiration-notice)[hydrat/filament-table-layout-toggle

Filament plugin adding a toggle button to tables, allowing user to switch between Grid and Table layouts.

6292.3k1](/packages/hydrat-filament-table-layout-toggle)

PHPackages © 2026

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