edrisaturay/filament-utilities

Reusable functions, fields, filters and columns for Filament.

Installs: 2

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/edrisaturay/filament-utilities

dev-main 2026-01-28 18:05 UTC

This package is auto-updated.

Last update: 2026-01-28 18:06:08 UTC


README

Latest Version on Packagist Total Downloads GitHub

A collection of reusable components, traits, and helper functions for Filament v5 applications. This package ensures UI consistency and reduces boilerplate across multiple panels.

Features

Reusable Fields (Fields/ReusableFields.php)

Standardized form fields with pre-configured validation and constraints:

  • ReusableFields::name(): Standardized name input.
  • ReusableFields::email(): Standardized email input with validation.

Reusable Columns (Columns/ReusableColumns.php)

Standardized table columns for consistent data display:

  • ReusableColumns::createdAt(): Standardized created_at column with date-time formatting and toggleable visibility.
  • ReusableColumns::updatedAt(): Standardized updated_at column.

Traits & Concerns

  • CanAccessPanel: An abstract trait that enforces the implementation of canAccessPanel(Panel $panel): bool on models (typically the User model), facilitating standardized access control.

Installation

Add the package to your composer.json (usually handled via the root project in this starter kit):

composer require edrisaturay/filament-utilities

The service provider is automatically registered via Laravel's package discovery.

Usage Examples

Using Reusable Fields in a Form

use EdrisaTuray\FilamentUtilities\Fields\ReusableFields;

public static function form(Form $form): Form
{
    return $form
        ->schema([
            ReusableFields::name(),
            ReusableFields::email(),
            // ...
        ]);
}

Using Reusable Columns in a Table

use EdrisaTuray\FilamentUtilities\Columns\ReusableColumns;

public static function table(Table $table): Table
{
    return $table
        ->columns([
            // ...
            ReusableColumns::createdAt(),
            ReusableColumns::updatedAt(),
        ]);
}

Implementing Panel Access

use EdrisaTuray\FilamentUtilities\Concerns\CanAccessPanel;

class User extends Authenticatable
{
    use CanAccessPanel;

    public function canAccessPanel(Panel $panel): bool
    {
        return true; // Your custom logic
    }
}

License

The MIT License (MIT).