abr4xas / filament-page-blocks
Block-Based Page Builder Skeleton for Filament Apps
Requires
- php: ^8.2
- filament/filament: ^3.0-stable
- illuminate/contracts: ^10.0 | ^11.0
- spatie/laravel-package-tools: ^1.16.5
Requires (Dev)
- laravel/pint: ^1.18.1
- nunomaduro/collision: ^8.4.0||^7.10.0
- orchestra/testbench: ^9.5.0||^8.22.0
- pestphp/pest: ^2.35.1
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.4
- spatie/laravel-ray: ^1.37.1
This package is auto-updated.
Last update: 2024-12-05 03:07:57 UTC
README
Filament has introduced previews and editing in modals in the Builder
component: filamentphp/filament#12629
To take advantage of the new features, you can use the simplified Filament Blocks package.
Block-Based Page Builder for Filament
This is basically a lightweight version of Z3d0X's excellent Filament Fabricator Plugin.
It only provides the blocks functionality without layouts, pages, routing, etc.
Installation
You can install this package via composer:
composer require martin-ro/filament-page-blocks
Documentation
Documentation can be viewed at: https://filamentphp.com/plugins/fabricator
Creating a Page Block
php artisan make:filament-page-block MyPageBlock
This will create the following Page Block class:
use Filament\Forms\Components\Builder\Block; use MartinRo\FilamentPageBlocks\PageBlock; class MyBlock extends PageBlock { public static function getBlockSchema(): Block { return Block::make('my-page-block') ->label('My Page Block') ->icon('heroicon-o-rectangle-stack') ->schema([ // ]); } public static function mutateData(array $data): array { return $data; } }
and its corresponding blade component view:
@props([ // ]) <div> // </div>
Using Page Blocks in your template
<x-filament-page-blocks::page-blocks :blocks="$page->blocks" />
Changelog
Please see CHANGELOG for more information on what has changed recently.
Credits
License
The MIT License (MIT). Please see License File for more information.