'Tersedia', self::OUT_OF_STOCK => 'Habis', self::DISCONTINUED => 'Tidak Digunakan', }; } public function getColor(): string|array|null { return match ($this) { self::AVAILABLE => 'success', self::OUT_OF_STOCK => 'danger', self::DISCONTINUED => 'gray', }; } public static function options(): array { return collect(self::cases()) ->mapWithKeys(fn ($case) => [$case->value => $case->getLabel()]) ->toArray(); } }