PHPackages                             klisica/filament-builder-blocks - 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. klisica/filament-builder-blocks

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

klisica/filament-builder-blocks
===============================

Flexible builder blocks generator for Filament

v1.0.0(2y ago)1205[5 PRs](https://github.com/klisica/filament-builder-blocks/pulls)MITPHPPHP ^8.2CI passing

Since May 31Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/klisica/filament-builder-blocks)[ Packagist](https://packagist.org/packages/klisica/filament-builder-blocks)[ Docs](https://github.com/klisica/filament-builder-blocks)[ GitHub Sponsors](https://github.com/klisica)[ RSS](/packages/klisica-filament-builder-blocks/feed)WikiDiscussions main Synced yesterday

READMEChangelog (1)Dependencies (13)Versions (9)Used By (0)

Filament Builder Blocks
=======================

[](#filament-builder-blocks)

### 🏗️ A Simpler Web CMS Builder for Laravel Filament

[](#️-a-simpler-web-cms-builder-for-laravel-filament)

[![Latest Version on Packagist](https://camo.githubusercontent.com/86a89ed3971ede8b2fcb2e161b40533fea895dc241f8bf75df2d972b8d9473c3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6b6c69736963612f66696c616d656e742d6275696c6465722d626c6f636b732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/klisica/filament-builder-blocks)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/26fcf67e592d2c320666d1d4ca6df396b8c55bba3562983f809ea2a7a534df7f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6b6c69736963612f66696c616d656e742d6275696c6465722d626c6f636b732f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/klisica/filament-builder-blocks/actions?query=workflow%3A%22Fix+PHP+code+style+issues%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/660f369dc171280978f644a0b98dbdede1cde5653010c3dd340c5d047e141344/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6b6c69736963612f66696c616d656e742d6275696c6465722d626c6f636b732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/klisica/filament-builder-blocks)[![GitHub License](https://camo.githubusercontent.com/2bdd38596f1dbae5c9c5bbad64e0927764f597eb70f0ce5d040e289322d625fc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6b6c69736963612f66696c616d656e742d6275696c6465722d626c6f636b732e7376673f7374796c653d666c61742d737175617265)](https://github.com/klisica/filament-builder-blocks/blob/main/LICENSE)

Create, manage &amp; customize
------------------------------

[](#create-manage--customize)

By re-using Filament's [Builder Input](https://filamentphp.com/docs/3.x/forms/fields/builder) this package enables you to create **custom section blocks as PHP classes** (i.e. `DefaultHeader.php`) enabling you to use all features supported in Filament.

Each section block uses his own **blade view file** (i.e. `default-header.blade.php`) with support for dynamic data binded in PHP classes.

Another great helper functions that are ready-to-use:

- `renderSections(...)` - Returns a fully formatted HTML code for each section,
- `cleanup(...)` - Cleans unused attributes and values on store and update methods on filaments Create and Edit pages.

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

[](#installation)

1. Require the package via composer:

```
composer require klisica/filament-builder-blocks
```

2. Install it to publish the config file:

```
php artisan filament-builder-blocks:install
```

3. Open the `config/filament-builder-blocks.php` file and set the `path` value to root destination where you'll have you PHP classes (or leave it as it is).
4. Run make section command to create your first example section class with the blade view file:

```
php artisan make:section Hero
```

Default folder structure example
--------------------------------

[](#default-folder-structure-example)

Main section `Hero.php` will be displayed in builder dropdown, while child sections `ExampleHero.php` and `AdvancedHero.php` will be displayed as toggle buttons.

```
├── app
│   ├── Sections
│   │   ├── Header
│   │   │   ├── ExampleHero.php
│   │   │   ├── AdvancedHero.php
│   │   │
│   │   ├── Hero.php

```

Creating layouts for each section block component.

```
├── resources
│   ├── views
│   │   ├── sections
│   │   │   ├── example-hero.blade.php
│   │   │   ├── advanced-hero.blade.php

```

Note

To be sure that on running the `cleanup()` helper your data won't be remove use the **`content.`** prefix on `make` input methods. This is used a handler to avoid storing inputs that you still need to show for descpritive purposes (i.e. Placeholder component). Take the `ExampleHero.php` as example:

```
class ExampleHero extends AbstractSectionItemProvider
{
    public function getFieldset(): Fieldset
    {
        return Fieldset::make($this->getName())
            ->schema([
                Placeholder::make('contact_links')->columnSpanFull(),  // Will get cleared out.
                TextInput::make('content.heading'),    // Will keep on save methods.
            ]);
    }
}
```

Example for adding cleanup on some Filaments Resource Edit Page:

```
protected function mutateFormDataBeforeSave(array $data): array
{
    return (new FilamentBuilderBlocks)->cleanup($data);
}
```

Rendering components
--------------------

[](#rendering-components)

1. Build sections in controller:

```
$sections = (new FilamentBuilderBlocks)->renderSections(
    sections: $pages->content,    // Page sections stored in content column
    wrappingSections: $layout->content    // Layout sections stored in content column (includes the `yield` field),
    configs: ['page' => $page, 'layout' => $layout]    // Can be whatever you need to bind in `blade.php` files
);

return view('dynamic')->with('sections', $sections);
```

2. Display them in a `dynamic.blade.php` (or whatever you name it) file:

```
@foreach($sections as $section)
    {!! $section !!}
@endforeach
```

Changelog
---------

[](#changelog)

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

Credits
-------

[](#credits)

- [Krševan Lisica](https://github.com/klisica)
- [All Contributors](../../contributors)

License
-------

[](#license)

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

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance55

Moderate activity, may be stable

Popularity13

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 65.7% 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

Unknown

Total

1

Last Release

763d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/900b06ba651eca5142c879e075335312a25826a24821d90b3a1de816f9382ea9?d=identicon)[KLisica](/maintainers/KLisica)

---

Top Contributors

[![klisica](https://avatars.githubusercontent.com/u/43316726?v=4)](https://github.com/klisica "klisica (23 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (6 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (6 commits)")

---

Tags

cmsfilamentlaravellaravelklisicafilament-builder-blocks

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/klisica-filament-builder-blocks/health.svg)

```
[![Health](https://phpackages.com/badges/klisica-filament-builder-blocks/health.svg)](https://phpackages.com/packages/klisica-filament-builder-blocks)
```

###  Alternatives

[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.6k](/packages/rawilk-profile-filament-plugin)[stephenjude/filament-jetstream

A Laravel starter kit built with Filament inspired by Jetstream.

17760.2k3](/packages/stephenjude-filament-jetstream)[stephenjude/filament-debugger

About

104162.2k2](/packages/stephenjude-filament-debugger)[codewithdennis/filament-select-tree

The multi-level select field enables you to make single selections from a predefined list of options that are organized into multiple levels or depths.

329530.5k29](/packages/codewithdennis-filament-select-tree)[stephenjude/filament-feature-flags

Filament implementation of feature flags and segmentation with Laravel Pennant.

122177.8k1](/packages/stephenjude-filament-feature-flags)[finity-labs/fin-mail

A powerful email template manager and composer for Filament with dynamic token replacement, template versioning, and inline email sending.

284.5k1](/packages/finity-labs-fin-mail)

PHPackages © 2026

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