value}"); } public function getColor(): string { return match ($this) { self::Idea => 'gray', self::Active => 'success', self::Paused => 'warning', self::Completed => 'info', self::Archived => 'danger', }; } public function getIcon(): string { return match ($this) { self::Idea => 'heroicon-o-light-bulb', self::Active => 'heroicon-o-bolt', self::Paused => 'heroicon-o-pause-circle', self::Completed => 'heroicon-o-check-badge', self::Archived => 'heroicon-o-archive-box', }; } /** @return array */ public static function options(): array { return collect(self::cases()) ->mapWithKeys(fn (self $case) => [$case->value => $case->getLabel()]) ->all(); } }