PHPackages                             solution-forest/filament-field-group - 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. [Templating &amp; Views](/categories/templating)
4. /
5. solution-forest/filament-field-group

ActiveLibrary[Templating &amp; Views](/categories/templating)

solution-forest/filament-field-group
====================================

Filament Field Group is a powerful Laravel package that enhances Filament's form building capabilities. It allows you to easily group and organize form fields, improving the structure and readability of your forms.

3.0.0(3mo ago)291.8k42MITPHPPHP ^8.2CI passing

Since Aug 9Pushed 3mo ago2 watchersCompare

[ Source](https://github.com/solutionforest/filament-field-group)[ Packagist](https://packagist.org/packages/solution-forest/filament-field-group)[ Docs](https://github.com/solutionforest/filament-field-group)[ GitHub Sponsors](https://github.com/solutionforest)[ RSS](/packages/solution-forest-filament-field-group/feed)WikiDiscussions 3.x Synced 1mo ago

READMEChangelog (10)Dependencies (10)Versions (23)Used By (2)

About Solution Forest
---------------------

[](#about-solution-forest)

[Solution Forest](https://solutionforest.com) Web development agency based in Hong Kong. We help customers to solve their problems. We Love Open Soruces.

We have built a collection of best-in-class products:

- [VantagoAds](https://vantagoads.com): A self manage Ads Server, Simplify Your Advertising Strategy.
- [Website CMS Management](https://filamentphp.com/plugins/solution-forest-cms-website): Website CMS Management - Filament CMS Plugin
- [Filaletter](https://filaletter.solutionforest.net): Filaletter - Filament Newsletter Plugin

Filament Field Group
====================

[](#filament-field-group)

[![Latest Version on Packagist](https://camo.githubusercontent.com/921816c72bf52d0449f1a324271d7b37c0e0fbae51bf1d49140807e0c3ea7f8a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f736f6c7574696f6e2d666f726573742f66696c616d656e742d6669656c642d67726f75702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/solution-forest/filament-field-group)[![GitHub Tests Action Status](https://camo.githubusercontent.com/bc4ebb2aefc0dbcd493b6cddd1b9c2298c099c187964b2d4afe0e2dccb804983/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f736f6c7574696f6e666f726573742f66696c616d656e742d6669656c642d67726f75702f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/solutionforest/filament-field-group/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/cc5ef6cbd0d0b447121990828d3c85cd74698d2b7a736888ec24e4d8f3746149/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f736f6c7574696f6e666f726573742f66696c616d656e742d6669656c642d67726f75702f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/solutionforest/filament-field-group/actions?query=workflow%3A%22Fix+PHP+code+styling%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/aab2e6d477f4fe6ec97ac371a51e6fb9c5e46f690b61ce9bec9be9b57fa1b453/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f736f6c7574696f6e2d666f726573742f66696c616d656e742d6669656c642d67726f75702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/solution-forest/filament-field-group)

Filament Field Group is a powerful Laravel package that enhances Filament's form building capabilities. It allows you to easily group and organize form fields, improving the structure and readability of your forms. With this package, you can create collapsible sections, tabs, or custom layouts for your form fields, making complex forms more manageable and user-friendly.

Supported Filament versions
---------------------------

[](#supported-filament-versions)

Filament VersionPlugin Versionv31.x.xv42.x.xv53.x.xInstallation
------------

[](#installation)

1. You can install the package via composer:

    ```
    composer require solution-forest/filament-field-group
    ```
2. Register the plugin in your Panel provider

    ```
     use SolutionForest\FilamentFieldGroup\FilamentFieldGroupPlugin;

     class AdminPanelProvider extends PanelProvider
     {
         public function panel(Panel $panel): Panel
         {
             return $panel
                 ->plugin(FilamentFieldGroupPlugin::make());
         }
     }
    ```
3. Then execute the following commands:

    ```
    php artisan filament-field-group:install
    ```

Publish Config, View, Translation and Migration
-----------------------------------------------

[](#publish-config-view-translation-and-migration)

You can publish and run the migrations with:

```
php artisan vendor:publish --tag="filament-field-group-migrations"
php artisan migrate
```

You can publish the config file with:

```
php artisan vendor:publish --tag="filament-field-group-config"
```

Optionally, you can publish the views using

```
php artisan vendor:publish --tag="filament-field-group-views"
```

This is the contents of the published config file:

```
return [
    'enabled' => false,
    'models' => [
        'field' => \SolutionForest\FilamentFieldGroup\Models\Field::class,
        'field_group' => SolutionForest\FilamentFieldGroup\Models\FieldGroup::class,
    ],
    'table_names' => [
        'fields' => 'advanced_fields',
        'field_groups' => 'advanced_field_groups',
    ],
];
```

Usage
-----

[](#usage)

1. Add `FilamentFieldGroupPlugin` to you panel.
2. Enable the Field Group resource by setting `enabled` to `true` in the config file:

```
// config/filament-field-group.php
return [
    'enabled' => true,
    // ... other config options
];
```

Or enable the plugin on `FilamentFieldGroupPlugin`

```
use SolutionForest\FilamentFieldGroup\FilamentFieldGroupPlugin;

$panel
    ->plugin(FilamentFieldGroupPlugin::make()->enablePlugin());
```

[![Filament Field Group](https://github.com/solutionforest/filament-field-group/raw/2.x/docs-assets/images/initial-resource.png)](https://github.com/solutionforest/filament-field-group/raw/2.x/docs-assets/images/initial-resource.png)

3. Create field groups and fields, for example:

    - Navigate to the Field Group resource in your Filament admin panel.
    - Create a new field group (e.g., "User Basic Info").
    - Add fields to the group (e.g., name, email, etc.). [![Create Field Group and Field](https://github.com/solutionforest/filament-field-group/raw/2.x/docs-assets/images/add-field-1.png)](https://github.com/solutionforest/filament-field-group/raw/2.x/docs-assets/images/add-field-1.png)[![Create Field Group and Field](https://github.com/solutionforest/filament-field-group/raw/2.x/docs-assets/images/add-field-2.png)](https://github.com/solutionforest/filament-field-group/raw/2.x/docs-assets/images/add-field-2.png)[![Create Field Group and Field](https://github.com/solutionforest/filament-field-group/raw/2.x/docs-assets/images/add-field-3.png)](https://github.com/solutionforest/filament-field-group/raw/2.x/docs-assets/images/add-field-3.png)
4. Apply field groups to your form schema:

```
use SolutionForest\FilamentFieldGroup\Facades\FilamentFieldGroup;

public static function form(Form $form): Form
{
    return $form
        ->columns(1)
        ->schema([
            FilamentFieldGroup::findFieldGroup('user_basic'),
            FilamentFieldGroup::findFieldGroup('user_detail'),
        ]);
}
```

[![Apply Field Group](https://github.com/solutionforest/filament-field-group/raw/2.x/docs-assets/images/apply-field-group.png)](https://github.com/solutionforest/filament-field-group/raw/2.x/docs-assets/images/apply-field-group.png)

Available Components
--------------------

[](#available-components)

Currently, this package provides the following components:

- Text
- TextArea
- Email
- Password
- Number
- Url
- Select
- Toggle
- Radio
- File
- Image
- Color Picker
- DateTime Picker

More components can be added in the future. Feel free to submit a pull request if you have ideas for additional components!

Advanced Usage
--------------

[](#advanced-usage)

### Custom Resources

[](#custom-resources)

You can call `resources` on `FilamentFieldGroupPlugin` to add/replace original resource:

```
use SolutionForest\FilamentFieldGroup\FilamentFieldGroupPlugin;

$panel
    ->plugin(FilamentFieldGroupPlugin::make()
        ->resources([
            // your resource
        ], override: true)
    );
```

### Custom Field Types

[](#custom-field-types)

You can add your own custom field types by following these steps:

1. Create a field type class that extends `SolutionForest\FilamentFieldGroup\FieldTypes\Configs\FieldTypeBaseConfig`
2. Implement the required methods, particularly `getFormSchema()` which defines the form fields
3. Register your custom field type using one of the methods below:

```
// Option 1: On Your Filament Panel

use SolutionForest\FilamentFieldGroup\FilamentFieldGroupPlugin;

$panel
    ->plugin(FilamentFieldGroupPlugin::make()
        ->fieldTypeConfigs([
            // your field type config
        ], override: true)
    );
```

```
// Option 2: On Your AppServiceProvider

use SolutionForest\FilamentFieldGroup\Facades\FilamentFieldGroup;

public function boot(): void
{
    FilamentFieldGroup::fieldTypeConfigs([
        \Your\Custom\FieldType::class
    ], override: true);
}
```

To completely replace all default field types, set the `override` parameter to `true`.

#### Customizing Field Type Config Form

[](#customizing-field-type-config-form)

You can customize the `config` form for specific field types by adding your own custom options. This is useful when you need to extend the functionality of existing field types with additional **configuration parameters**.

```
// In AppServiceProvider.php boot() method
use SolutionForest\FilamentFieldGroup\Facades\FilamentFieldGroup;

public function boot(): void
{
    FilamentFieldGroup::configureFieldTypeConfigFormUsing(
        \SolutionForest\FilamentFieldGroup\FieldTypes\Configs\Text::class,
        function ($field, array $schema) {
            return [
                ...$schema,
                // Your additional config form fields
                Toggle::make('datalist'),
                // More custom configuration options...
            ];
        }
    );
}
```

This allows you to modify the configuration form for field types while preserving all the default options.

### Custom Models

[](#custom-models)

You can set custom models for field groups and fields in your `AppServiceProvider`:

```
// In AppServiceProvider.php boot() method
use SolutionForest\FilamentFieldGroup\Facades\FilamentFieldGroup;

public function boot(): void
{
    FilamentFieldGroup::setFieldGroupModelClass(Your\Models\FieldGroup::class);
    FilamentFieldGroup::setFieldModelClass(Your\Models\Field::class);
}
```

### Field Type Mixins

[](#field-type-mixins)

You can extend field type functionality using the `mixin` method on `FieldTypeBaseConfig`. This allows you to reuse field configuration logic across different field types:

```
use SolutionForest\FilamentFieldGroup\FieldTypes\Configs\FieldTypeBaseConfig;

class MyFieldTypeMixin
{
    public function addValidationRules()
    {
        return function (array $rules = []) {
            return array_merge($rules, ['required', 'string']);
        };
    }

    public function addHelperText()
    {
        return function () {
            return 'This is a helper text for all fields using this mixin';
        };
    }
}

// Apply the mixin to your field type
FieldTypeBaseConfig::mixin(new MyFieldTypeMixin());
```

You can also apply mixins to specific field type classes:

```
use SolutionForest\FilamentFieldGroup\FieldTypes\Configs\Text;

// Apply mixin only to Text fields
Text::mixin(new TextFieldSpecificMixin());
```

This approach helps maintain DRY code by centralizing common field configurations that can be shared across multiple field types.

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

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

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.

We welcome contributions to enhance this package. More components can potentially be added, so feel free to submit a pull request with your ideas or improvements.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [alan](https://github.com/solutionforest)
- [All Contributors](../../contributors)

License
-------

[](#license)

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

###  Health Score

51

—

FairBetter than 96% of packages

Maintenance80

Actively maintained with recent releases

Popularity32

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 82.3% 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 ~24 days

Recently: every ~41 days

Total

23

Last Release

106d ago

Major Versions

1.0.15 → 2.0.0-beta2025-08-12

1.x-dev → 2.x-dev2026-02-02

2.x-dev → 3.0.02026-02-02

PHP version history (2 changes)1.0.0PHP ^8.1

2.0.0-betaPHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/9499120912b47a170291b3b795ea0255f060d8500bd2988535e4e6faccee5c8d?d=identicon)[solutionforest](/maintainers/solutionforest)

---

Top Contributors

[![cklei-carly](https://avatars.githubusercontent.com/u/68525320?v=4)](https://github.com/cklei-carly "cklei-carly (107 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (11 commits)")[![lam0819](https://avatars.githubusercontent.com/u/68211972?v=4)](https://github.com/lam0819 "lam0819 (6 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (5 commits)")[![a21ns1g4ts](https://avatars.githubusercontent.com/u/11599205?v=4)](https://github.com/a21ns1g4ts "a21ns1g4ts (1 commits)")

---

Tags

filamentfilamentphpfilamentphp-pluginlaravellaravelsolutionforestfilament-field-group

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/solution-forest-filament-field-group/health.svg)

```
[![Health](https://phpackages.com/badges/solution-forest-filament-field-group/health.svg)](https://phpackages.com/packages/solution-forest-filament-field-group)
```

###  Alternatives

[solution-forest/filament-simplelightbox

This is my package filament-simplelightbox

6281.0k1](/packages/solution-forest-filament-simplelightbox)[statikbe/laravel-filament-flexible-content-blocks

The Laravel Filament Flexible Content Blocks package helps you to easily create content in Filament for any model, with predefined or custom blocks, and foreach block an extendable Blade view component.

17021.0k2](/packages/statikbe-laravel-filament-flexible-content-blocks)[filafly/brisk

A simple, friendly theme for Filament.

2211.9k1](/packages/filafly-brisk)[tapp/filament-form-builder

User facing form builder using Filament components

131.2k1](/packages/tapp-filament-form-builder)

PHPackages © 2026

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