import { useFormikContext } from "formik"; import React from "react"; import cep, { CEP } from "cep-promise"; import InputMask from "react-input-mask"; import styles from "./M3Field.css"; import { FormFields } from "../B2bForm"; import { FieldProps } from "./M3Field"; let cepConsult = 0; export const M3CepField: StorefrontFunctionComponent = ( { type, name, label }: FieldProps) => { const { values, touched, handleChange, handleBlur, errors, setFieldValue } = useFormikContext(); const handleCepChange = (e: React.FormEvent) => { const { value } = e.currentTarget; const cleanCep = value.replace("-", "").replace("_", "").trim(); if (cleanCep.length === 8 && cepConsult <= 2) { cep(cleanCep).then((data: CEP) => { setFieldValue("city", data.city); setFieldValue("street", data.street); setFieldValue("state", data.state); setFieldValue("neighborhood", data.neighborhood); }); cepConsult++; } handleChange(e); }; return
{errors[name] && touched[name] && errors[name]}
; };