This package is a collection of handy components for you to use in all your Filament projects. It provides handy components that can be used in almost any project, like sidebars, timestamps & more.
PRs are welcome, so if you've made a handy component yourself, feel free to send a pull request!
You can install the package via composer:
composer require ralphjsmit/laravel-filament-components
Currently, the following components are available:
You can use the Sidebar
component to split the form into two distinct sections, like a sidebar:
use RalphJSmit\Filament\Components\Forms\Sidebar;
Sidebar::make([
// Components for the main section here
],[
// Components for the sidebar section here
])
If you're using it in the Admin panel, you can use the Sidebar
in your form()
method:
use Filament\Forms\Components\Section;
use Filament\Forms\Components\TextInput;
use Filament\Resources\Form;
use RalphJSmit\Filament\Components\Forms\Timestamps;
use RalphJSmit\Filament\Components\Forms\Sidebar;
public static function form(Form $form): Form
{
return $form->schema([
Sidebar::make([
Section::make()
->schema([
TextInput::make('title')->label('Title'),
// ...
]),
// ...
], [
Section::make()
->schema([
...Timestamps::make(),
// ...
]),
// ...
]),
]);
}
Sidebars work very nicely with the Section component to define distinct and easily scannable sections in your interface.
Use the Timestamps
component to display a 'Created at' and 'Updated at' timestamp for your record:
use RalphJSmit\Filament\Components\Forms\Timestamps;
return $form->schema([
...Timestamps::make(),
//
]);
The Timestamps
component returns an array with the CreatedAt
and UpdatedAt
components below, so you should use array spreading like in the example to merge the components into your own array.
Use the CreatedAt
component to display the created_at
timestamp for your record:
use RalphJSmit\Filament\Components\Forms\CreatedAt;
return $form->schema([
CreatedAt::make(),
//
]);
Use the UpdatedAt
component to display the updated_at
timestamp for your record:
use RalphJSmit\Filament\Components\Forms\UpdatedAt;
return $form->schema([
UpdatedAt::make(),
//
]);
Use the DeletedAt
component to display the deleted_at
timestamp for your soft-delete record:
use RalphJSmit\Filament\Components\Forms\DeletedAt;
return $form->schema([
DeletedAt::make(),
//
]);
Use the Timestamp
component to display a custom timestamp for your record. Internally, all of the above timestamps
use this component.
use RalphJSmit\Filament\Components\Forms\Timestamp;
return $form->schema([
Timestamp::make('email_verified_at'),
//
]);
🐞 If you spot a bug, please submit a detailed issue and I'll try to fix it as soon as possible.
🔐 If you discover a vulnerability, please review our security policy.
🙌 If you want to contribute, please submit a pull request. All PRs will be fully credited. If you're unsure whether I'd accept your idea, feel free to contact me!
🙋♂️ Ralph J. Smit