diff --git a/src/Column.php b/src/Column.php index 2b2b82c3..720b9aa6 100644 --- a/src/Column.php +++ b/src/Column.php @@ -55,6 +55,25 @@ public static function make(?string $name = null): static return $static; } + public static function enum(BackedEnum $enum): static + { + $column = static::make($enum->value); + + if ($enum instanceof \Filament\Support\Contracts\HasLabel) { + $column->label($enum->getLabel()); + } + + if ($enum instanceof \Filament\Support\Contracts\HasColor) { + $column->color($enum->getColor()); + } + + if ($enum instanceof \Filament\Support\Contracts\HasIcon) { + $column->icon($enum->getIcon()); + } + + return $column; + } + public static function getDefaultName(): ?string { return null;