chaim-chv/filament-enum-plural-label

Plural label contract for PHP enums used with Laravel and Filament

Maintainers

Package info

github.com/chaim-chv/filament-enum-plural-label

pkg:composer/chaim-chv/filament-enum-plural-label

Statistics

Installs: 16

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

v1.0.1 2026-01-14 03:13 UTC

This package is auto-updated.

Last update: 2026-03-14 03:38:52 UTC


README

A small Laravel + Filament helper library that allows PHP enums to expose a plural label for use in Filament resources, navigation, and tables.

This package provides a single contract. It does not register hooks, override Filament behavior, or add magic.

Compatibility

  • PHP 8.1+
  • Laravel 10+
  • Filament v3+

Installation

composer require chaim-chv/filament-enum-plural-label

Usage

Define an enum that implements the contract:

use FilamentEnumPluralLabel\Contracts\HasPluralLabel;

enum UserRole: string implements HasPluralLabel
{
    case Admin = 'admin';
    case Editor = 'editor';
    case Viewer = 'viewer';

    public function getPluralLabel(): string
    {
        return match ($this) {
            self::Admin => 'Administrators',
            self::Editor => 'Editors',
            self::Viewer => 'Viewers',
        };
    }
}

Filament example

public static function getPluralModelLabel(): string
{
    $role = UserRole::tryFrom(request('role'));

    if ($role instanceof HasPluralLabel) {
        return $role->getPluralLabel();
    }

    return 'Users';
}

@chaim-chv © 2026