value; } public function getColor(): string|array|null { return match ($this) { self::DRAFT => 'gray', self::APPROVED => 'success', self::PRODUCTION => 'primary', self::SHIPPED => 'warning', self::INVOICED => 'invoiced', }; } public function getIcon(): ?string { return match ($this) { self::DRAFT => IconEnum::DRAFT->value, self::APPROVED => IconEnum::APPROVED->value, self::PRODUCTION => IconEnum::PRODUCTION->value, self::SHIPPED => IconEnum::SHIPPED->value, self::INVOICED => IconEnum::INVOICED->value, }; } }