'Operasional', self::UNDER_CONSTRUCTION => 'Dalam Konstruksi', self::TERMINATED => 'Dihentikan', }; } public function color(): string { return match ($this) { self::OPERATIONAL => 'emerald', self::UNDER_CONSTRUCTION => 'yellow', self::TERMINATED => 'red', }; } public function icon(): string { return match ($this) { self::OPERATIONAL => 'check-circle', self::UNDER_CONSTRUCTION => 'wrench-screwdriver', self::TERMINATED => 'x-circle', }; } public static function values(): array { return array_map(fn ($case) => $case->value, self::cases()); } public static function comment(): string { return implode(', ', array_map(fn ($case) => "{$case->value}: {$case->label()}", self::cases())); } }