value; } public function getColor(): string|array|null { return match ($this) { self::UNPAID => 'danger', self::PARTIALLY_PAID => 'warning', self::PAID => 'success', self::VOID => 'gray' }; } public function getIcon(): ?string { return match ($this) { self::UNPAID => IconEnum::UNPAID->value, self::PARTIALLY_PAID => IconEnum::PARTIALLY_PAID->value, self::PAID => IconEnum::PAID->value, self::VOID => IconEnum::VOID->value, }; } }