{"version":3,"sources":["assets/icons/icon-alert-alert.svg","assets/icons/icon-alert-error.svg","assets/icons/icon-alert-info.svg","assets/icons/icon-alert-success.svg","components/ToastContainer/Toast/styles.js","components/ToastContainer/Toast/index.jsx","components/ToastContainer/styles.js","components/ToastContainer/index.jsx","hooks/toast.jsx","hooks/index.jsx","styles/theme.js","assets/icons/icon-input-success.svg","assets/icons/icon-input-error.svg","components/Form/styles.js","components/TextField/styles.js","components/TextField/index.jsx","api/auth/auth.js","api/defaultoption.js","api/clientes.js","components/Loader/styles.js","components/Loader/index.jsx","components/Header/styles.js","components/Button/styles.js","components/PreRegisterForm/styles.js","styles/titles.js","components/FormPF/fieldValidator.js","components/PreRegisterForm/index.jsx","api/cadastro.js","components/Tooltip/styles.js","styles/radio.js","components/FormPF/Steps/styles.js","components/FormPF/Steps/Step1.jsx","components/FormPF/masks.js","components/FormPF/styles.js","components/FormPF/Steps/Step2.jsx","components/Tooltip/left.jsx","components/FormPJ/fieldValidator.js","components/FormPF/Steps/Step3.jsx","styles/accordion.js","components/AccordionItem/index.jsx","components/AccordionButton/styles.js","components/AccordionButton/index.jsx","components/FormPF/index.jsx","components/FormPJ/Steps/styles.js","components/FormPJ/Steps/Step1.jsx","contexts/UserContext.tsx","components/FormPJ/Steps/Step2.jsx","components/FormPJ/masks.js","assets/icons/icon-arrow-down.svg","components/Select/styles.js","components/Select/index.jsx","components/FormPJ/Steps/Step3.jsx","components/FormPJ/styles.js","api/cadastro.ts","components/FormPJ/index.jsx","templates/cadastro/index.jsx","components/Header/index.tsx","api/traceLog.js","utils/traceLogAcessos.js","hooks/useQuery.jsx","pages/Home/index.jsx","components/CadastroCard/styles.js","components/CadastroCard/index.jsx","pages/End/index.jsx","store/ducks/facebook.js","pages/Auth/index.jsx","assets/icons/icon-search.svg","assets/icons/icon-menu.svg","assets/icons/icon-profile.svg","assets/icons/icon-whishlist.svg","assets/icons/icon-assinatura.svg","assets/icons/icon-contratos.svg","assets/icons/icon-local.svg","assets/icons/icon-info.svg","assets/icons/icon-footer-facebook.svg","assets/icons/icon-footer-twitter.svg","assets/icons/icon-footer-instagram.svg","assets/icons/icon-footer-linkedin.svg","assets/icons/icon-footer-youtube.svg","assets/icons/icon-cart.svg","assets/icons/icon-check.svg","assets/icons/icon-close.svg","assets/icons/icon-eye.svg","assets/icons/invisible.svg","assets/icons/icon-arrow-button-right.svg","assets/icons/icon-arrow-button-left.svg","styles/scroll.js","styles/icons.js","styles/global.js","styles/checkbox.js","App.jsx","reportWebVitals.js","store/ducks/rootReducer.js","store/index.js","index.js"],"names":["toastTypeVariations","info","css","success","error","warning","Container","styled","animated","div","props","type","hasDescription","icons","src","IconAlertInfo","style","width","marginRight","height","alt","IconAlertError","IconAlertSuccess","IconAlert","Toast","message","removeToast","useToast","removeTime","timer","useEffect","setTimeout","id","clearTimeout","Number","description","title","onClick","size","ToastContainer","messages","messagesWithTransitions","useTransition","from","right","opacity","enter","leave","slice","map","item","key","msgArray","ToastContext","createContext","ToastProvider","children","useState","setMessages","addToast","useCallback","v4","Provider","value","context","useContext","Error","AppProvider","theme","grid","container","gutter","border","radius","font","family","thin","extraLight","light","normal","medium","semiBold","bold","extraBold","black","sizes","xsmall","small","large","xlarge","xxlarge","huge","colors","primary","cart","grey","mediumGrey","alert","white","backgroundSuccess","backgroundError","backgroundInfo","backgroundAlert","spacings","xxsmall","layers","base","menu","overlay","modal","alwaysOnTop","transition","default","fast","media","ipad","cel","FormGroup","FormGroupIcon","input","IconInputSuccess","IconInputError","InputWrapper","Input","Label","label","p","wrapperModifiers","Wrapper","disabled","required","TextField","name","labelFor","initialValue","maxlength","onInput","pattern","reference","setValue","htmlFor","ref","maxLength","onChange","e","newValue","currentTarget","TOKEN_KEY","defaultOptions","headers","window","localStorage","getItem","clientes","email","fetch","process","method","getLoggedUser","params","getLoggedCompany","getInscricaoEstadual","inscricaoEstadual","uf","post","cargos","departamentos","atividades","funcionarios","validarDocumento","documento","loader","keyframes","loaderDot","loaderDotBefore","Background","LoaderContainer","LoaderDot","Loader","header","onlyLogo","Logo","img","NavLinks","Button","ButtonPrimary","ButtonBlock","ButtonBack","ButtonIcon","section","HeaderStyles","RegisterWrapper","PageContent","WrapperSmall","RegisterCard","Title","h2","PageTitle","RegisterColumns","RegisterColumn","AdvanceButton","button","cpfRepetido","a","res","json","body","setItem","preCadastro","undefined","existe","cpfRepetidoVal","emailVal","test","String","toLowerCase","emailConfVal","confEmail","length","match","passVal","passConfVal","pass","passConf","password","validatePassword","fieldName","confirmPassword","passwordValidation","uppercase","lowercase","specialChar","number","matchConfirmation","validarCPF","cpf","replace","sum","i","parseInt","charAt","digit1","digit2","cpfVal","extraError","birthVal","dateRegex","split","day","month","year","now","Date","currentYear","getFullYear","currentMonth","getMonth","daysInMonth","getDate","validDDDs","cellVal","sanitizedValue","ddd","substring","includes","fixPhoneVal","nameVal","arr","preNameVal","fieldVal","val","fieldValComp","k","cepVal","invalid","ufVal","sizeVal","PreRegisterForm","setType","setEmail","setSelectedType","selectedType","load","setLoad","inputRef0","useRef","handleSelectType","handleConfirm","preventDefault","valid","status","current","focus","action","onSubmit","className","onKeyDown","keyCode","handleKeypress","placeholder","target","checked","location","href","cursor","cadastro","cadastroClientePF","JSON","stringify","preCadastroClientePF","cadastroClientePJ","preCadastroClientePJ","getCEP","CEP","LabelTooltip","TooltipBox","WrapperL","RadioStylesOrigem","TermsWrapper","ErrorList","ul","TitleErrorList","h3","li","isValid","isPasswordEmpty","CaptchaContainer","RadioGroup","RegisterStep1","formValues","handleKeyDown","handleChangeStep","emailConfirm","passwordConfirm","passView","setPassView","passConfView","setPassConfView","isBackButtonClicked","setBackbuttonPress","history","pushState","pathname","addEventListener","onBackButtonEvent","removeEventListener","isNewPasswordEmpty","setNewPasswordEmpty","isNewPasswordValid","setNewPasswordValid","setPasswordValidation","isPasswordValid","handleChange","padding","trimStart","onBlur","trimEnd","errorTrigger","noMask","cellMask","fixPhoneMask","dddString","substr","phoneString","dateString","date","cepMask","nameMask","WrapperMedium","NaoSei","ContainerEndereco","RegisterStep2","cep","logradouro","numero","complemento","bairro","cidade","invalidCEP","isCepUnico","setIsCepUnico","document","activeElement","setActiveElement","onFocus","event","listenersReady","useActiveElement","checkCEPUnico","lastDigits","endereco","tipoLogradouro","clearCEP","mask","open","Tooltip","icon","TooltipBody","cnpjRepetido","setReceitaFederalEnabled","validacaoExternaDadosClientePJ","cnpjRepetidoVal","validateReceitaError","field","validarCNPJ","cnpj","calcularDigito","tamanho","soma","pos","numeros","digitos","cnpjVal","contatoVal","razaoVal","comercialPhoneVal","inscEstVal","validateInscEstadual","cepUF","then","text","data","selectValOrigem","RegisterStep3","onCaptchaChange","likelyName","dateOfBirth","cellphone","phone","emails","acceptTerms","whatsApp","cpfCadastrado","idComoConheceu","cpfTrigger","setCpfTrigger","options","setOptions","getComoConheceu","response","filteredOptions","filter","fetchOptions","option","nome","sucess","transform","transformOrigin","sitekey","rel","AccordionMenu","AccordionItens","AccordionItemStyle","AccordionIcon","AccordionItemTitle","AccordionItem","isActive","step1Success","step2Success","titleRef","scrollIntoView","behavior","block","getIcon","BackButton","FormFooterContent","AccordionButton","trigger","handleSubmit","handleButtonClick","forwards","handleSubmitClick","FormPF","dados","useSelector","store","facebook","router","useHistory","setTrigger","setCurrent","genre","1","2","3","setFormvalues","expired","captcha","setCaptcha","titleRefs","prev","handleAccordionClick","newActiveAccordion","msg","console","log","formBody","dataNascimento","senha","token","guidJwt","apelido","receberNovidades","receberWhatsApp","rg","rgOrgaoEmissor","telefoneResidencialDDD","telefoneResidencialNumero","telefoneCelularNumero","telefoneCelularDDD","telefoneComercialDDD","telefoneComercialNumero","telefoneComercialRamal","padrao","tipoEndereco","pontoReferencia","clienteSocialMediaModel","userId","facebookId","providerKey","loginProvider","parse","push","errors","Messages","setStep1Success","setStep2Success","contato","blur","LabelInfo","confirmaEmailContato","confirmaSenha","pf","pj","sexo","idCargo","idDepartamento","razaoSocial","nomeFantasia","inscricaoMunicipal","dataAbertura","idAtividade","idSubAtividade","numeroFuncionariosAdministrativos","numeroFuncionariosTotal","UserContext","UserContextProvider","userType","setUserType","userName","setUserName","userEmail","setUserEmail","validacaoExternaPJ","setValidacaoExternaPJ","userPF","setUserPF","userPJ","setUserPJ","step","setStep","getUserData","createUser","receitaFederalError","setValidInscEst","cnpjCadastrado","cnpjTrigger","setCnpjTrigger","showToaster","isInscEstValid","setIsInscEstValid","isUfAutoFilled","setIsUfAutoFilled","setIsUfValid","validate","result","isento","setListenersReady","handleBlurInscEstadual","handleChangeUF","ufValue","display","justifyContent","readOnly","marginTop","SelectWrapper","Select","select","IconArrowDown","Option","multiple","setCargos","setDepartamentos","apiCall","handleSelectChange","selectedValue","cargoId","cargo","departamentoId","departamento","aceiteTermos","validarReceitaFederal","axios","catch","FormPJ","validInscEst","setReceitaFederalError","receberEmailMarketing","emailLogin","4","handleReceitaFederalErrorChange","validatePJData","filterMessage","idEtapa","cepFaturamento","numeroEndereco","salvar","values","RegisterTemplate","setName","Header","role","traceLog","logAcessos","logAcessosPosCadastro","postLogAcessos","ip","currentUrl","previousUrl","utmSource","utmMedium","utmCampaign","url","httpReferer","adWords","idLojaVirtual","EmailCliente","getLocalStorageLog","currentPath","origin","clientip","redirectUrl","useQuery","search","useLocation","useMemo","URLSearchParams","Cadastro","Page","Tittle","IconWrapper","Description","Footer","CadastroCard","End","state","saveNewUserLog","Types","INITIAL_STATE","facebookid","Auth","dispatch","useDispatch","useQueryParam","StringParam","waitGroup","setWaitGroup","query","payload","get","removeItem","getQueryParamsToTracelog","Scroll","IconArrowBtnRight","GlobalStyles","createGlobalStyle","removeBg","RadioStyles","IconSearch","IconMenu","IconProfile","IconWishlist","IconAssinatura","IconContratos","IconLocal","IconInfo","IconFooterFacebook","IconFooterTwitter","IconFooterInstagram","IconFooterLinkedin","IconFooterYoutube","IconCart","IconCheck","IconClose","IconEye","IconEyeCut","IconArrowBtnLeft","IconStyles","CheckBoxStyles","IconArrowButtonLeft","App","TagManager","initialize","gtmId","script","createElement","async","appendChild","exact","path","component","Home","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","combineReducers","createStore","rootreducer","ReactDOM","render","StrictMode","ReactRouterRoute","Route","getElementById"],"mappings":"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","file":"static/js/main.dd81f629.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/icon-alert-alert.d0728114.svg\";","export default __webpack_public_path__ + \"static/media/icon-alert-error.b20571c2.svg\";","export default __webpack_public_path__ + \"static/media/icon-alert-info.5a546e72.svg\";","export default __webpack_public_path__ + \"static/media/icon-alert-success.c9097775.svg\";","import styled, { css } from 'styled-components'\nimport { animated } from 'react-spring'\n\n\nconst toastTypeVariations = {\n  info: css`\n    background: #f1f8ff;\n    color: #1877f2;\n  `,\n  success: css`\n    background: #e5f7e7;\n    color: #27ae60;\n  `,\n  error: css`\n    background: #feeaea;\n    color: #d22630;\n  `,\n  warning: css`\n    background: #fff3e7;\n    color: #ff9017;\n  `\n}\nexport const Container = styled(animated.div)`\n  position: relative;\n  padding: 20px 30px 16px 20px;\n  border-radius: 5px;\n  display: flex;\n  & + div {\n    margin-top: 8px;\n  }\n  ${(props) => toastTypeVariations[props.type || 'info']}\n  > svg {\n    margin: 4px 30px 0 10px;\n  }\n  div {\n    flex: 1;\n    p {\n      margin-top: 4px;\n      font-size: 14px;\n      opacity: 0.8;\n      line-height: 20px;\n    }\n  }\n  button {\n    position: absolute;\n    right: 30px;\n    top: 24px;\n    border: 0;\n    background: transparent;\n    color: inherit;\n    cursor: pointer;\n  }\n  ${(props) =>\n    !props.hasDescription &&\n    css`\n      align-items: center;\n      svg {\n        margin-top: 0;\n      }\n    `}\n`\n","import React, { useEffect } from 'react'\r\nimport { HiX } from 'react-icons/hi'\r\n\r\nimport IconAlert from '../../../assets/icons/icon-alert-alert.svg'\r\nimport IconAlertError from '../../../assets/icons/icon-alert-error.svg'\r\nimport IconAlertInfo from '../../../assets/icons/icon-alert-info.svg'\r\nimport IconAlertSuccess from '../../../assets/icons/icon-alert-success.svg'\r\n\r\nimport { useToast } from '../../../hooks/toast'\r\n\r\nimport { Container } from './styles'\r\n\r\nconst icons = {\r\n  info: (\r\n    <img\r\n      src={IconAlertInfo}\r\n      style={{ width: 30, marginRight: 12, height: 30 }}\r\n      alt=\"\"\r\n    />\r\n  ),\r\n  error: (\r\n    <img\r\n      src={IconAlertError}\r\n      style={{ width: 30, marginRight: 12, height: 30 }}\r\n      alt=\"\"\r\n    />\r\n  ),\r\n  success: (\r\n    <img\r\n      src={IconAlertSuccess}\r\n      style={{ width: 30, marginRight: 12, height: 30 }}\r\n      alt=\"\"\r\n    />\r\n  ),\r\n  warning: (\r\n    <img\r\n      src={IconAlert}\r\n      style={{ width: 30, marginRight: 12, height: 30 }}\r\n      alt=\"\"\r\n    />\r\n  )\r\n}\r\n\r\nconst Toast = ({ message, style }) => {\r\n  const { removeToast } = useToast()\r\n\r\n  let removeTime = message.timer || 4000\r\n\r\n  useEffect(() => {\r\n    const timer = setTimeout(() => {\r\n      removeToast(message.id)\r\n    }, removeTime)\r\n\r\n    return () => {\r\n      clearTimeout(timer)\r\n    }\r\n  }, [removeToast, message.id, removeTime])\r\n\r\n  return (\r\n    <Container\r\n      type={message.type}\r\n      hasDescription={Number(!!message.description)}\r\n      style={style}\r\n    >\r\n      {icons[message.type || 'info']}\r\n      <div>\r\n        <strong>{message.title}</strong>\r\n        {message.description && <p>{message.description}</p>}\r\n      </div>\r\n\r\n      <button onClick={() => removeToast(message.id)} type=\"button\">\r\n        <HiX size={24} />\r\n      </button>\r\n    </Container>\r\n  )\r\n}\r\n\r\nexport default Toast\r\n","import styled from 'styled-components'\r\n\r\nexport const Container = styled.div`\r\n  max-width: 100vw;\r\n  width: 100%;\r\n  position: fixed;\r\n  right: 0;\r\n  bottom: 0;\r\n  overflow: hidden;\r\n  z-index: 1001;\r\n`\r\n","import React from 'react'\r\nimport { useTransition } from 'react-spring'\r\n\r\nimport Toast from './Toast'\r\nimport { Container } from './styles'\r\n\r\nconst ToastContainer = ({ messages }) => {\r\n  const messagesWithTransitions = useTransition(\r\n    messages,\r\n    (message) => message.id,\r\n    {\r\n      from: { right: '-120%', opacity: 0 },\r\n      enter: { right: '0%', opacity: 1 },\r\n      leave: { right: '-120%', opacity: 0 }\r\n    }\r\n  )\r\n\r\n  return (\r\n    <Container>\r\n      {messagesWithTransitions.slice(-1).map(({ item, key, props }) => (\r\n        <Toast key={key} style={props} message={item} msgArray={messages} />\r\n      ))}\r\n    </Container>\r\n  )\r\n}\r\n\r\nexport default ToastContainer\r\n","import React, { createContext, useContext, useCallback, useState } from 'react'\r\nimport { v4 } from 'uuid'\r\n\r\nimport ToastContainer from '../components/ToastContainer/index'\r\n\r\nconst ToastContext = createContext({})\r\n\r\nconst ToastProvider = ({ children }) => {\r\n  const [messages, setMessages] = useState([])\r\n\r\n  const addToast = useCallback(({ type, title, description, timer }) => {\r\n    const id = v4()\r\n\r\n    const toast = {\r\n      id,\r\n      type,\r\n      title,\r\n      description,\r\n      timer\r\n    }\r\n\r\n    // setMessages((state) => [...state, toast])\r\n    setMessages(toast)\r\n  }, [])\r\n\r\n  const removeToast = useCallback((id) => {\r\n    // setMessages((state) => state.filter((message) => message.id !== id))\r\n    setMessages(messages)\r\n  }, [])\r\n\r\n  return (\r\n    <ToastContext.Provider value={{ addToast, removeToast }}>\r\n      {children}\r\n      <ToastContainer messages={messages} />\r\n    </ToastContext.Provider>\r\n  )\r\n}\r\n\r\nfunction useToast() {\r\n  const context = useContext(ToastContext)\r\n\r\n  if (!context) {\r\n    throw new Error('useToast must be used within a ToastProvider')\r\n  }\r\n\r\n  return context\r\n}\r\n\r\nexport { ToastProvider, useToast }\r\n","import React from 'react'\r\n\r\nimport { ToastProvider } from './toast'\r\n\r\nconst AppProvider = ({ children }) => (\r\n  <ToastProvider>{children}</ToastProvider>\r\n)\r\n\r\nexport default AppProvider\r\n","export const theme = {\r\n  grid: {\r\n    container: '130rem',\r\n    gutter: '3.2rem'\r\n  },\r\n  border: {\r\n    radius: '0.4rem'\r\n  },\r\n  font: {\r\n    family:\r\n      \"Montserrat, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif\",\r\n    thin: 100,\r\n    extraLight: 200,\r\n    light: 300,\r\n    normal: 400,\r\n    medium: 500,\r\n    semiBold: 600,\r\n    bold: 700,\r\n    extraBold: 800,\r\n    black: 900,\r\n    sizes: {\r\n      xsmall: '1.2rem',\r\n      small: '1.4rem',\r\n      medium: '1.6rem',\r\n      large: '1.8rem',\r\n      xlarge: '2.0rem',\r\n      xxlarge: '2.8rem',\r\n      huge: '5.2rem'\r\n    }\r\n  },\r\n  colors: {\r\n    primary: '#D22630',\r\n    cart: '#27AE60',\r\n    grey: '#F2F2F2',\r\n    mediumGrey: '#4A4A4A',\r\n    success: ' #5CC187',\r\n    error: '#D22630',\r\n    info: '#1877F2',\r\n    alert: '#FF9017',\r\n    white: '#FFFFFF',\r\n    black: '#222222',\r\n    backgroundSuccess: '#E5F7E7',\r\n    backgroundError: '#FEEAEA',\r\n    backgroundInfo: '#F1F8FF',\r\n    backgroundAlert: '#FFF3E7'\r\n  },\r\n  spacings: {\r\n    xxsmall: '0.8rem',\r\n    xsmall: '1.6rem',\r\n    small: '2.4rem',\r\n    medium: '3.2rem',\r\n    large: '4.0rem',\r\n    xlarge: '4.8rem',\r\n    xxlarge: '5.6rem'\r\n  },\r\n  layers: {\r\n    base: 10,\r\n    menu: 20,\r\n    overlay: 30,\r\n    modal: 40,\r\n    alwaysOnTop: 50\r\n  },\r\n  transition: {\r\n    default: '0.3s ease-in-out',\r\n    fast: '0.1s ease-in-out'\r\n  },\r\n  media: {\r\n    ipad: '1170px',\r\n    cel: '600px'\r\n  }\r\n}\r\n","export default __webpack_public_path__ + \"static/media/icon-input-success.ba718699.svg\";","export default __webpack_public_path__ + \"static/media/icon-input-error.580ee1b3.svg\";","import styled, { css } from 'styled-components'\nimport IconInputSuccess from '../../assets/icons/icon-input-success.svg'\nimport IconInputError from '../../assets/icons/icon-input-error.svg'\n\nexport const FormGroup = styled.div`\n  ${({ theme }) => css`\n    margin-bottom: 20px;\n    position: relative;\n\n    label {\n      font-size: 16px;\n      font-weight: 500;\n      color: #626161;\n      display: block;\n      letter-spacing: -1px;\n      margin-bottom: 5px;\n    }\n\n    small {\n      display: block;\n      margin-bottom: 5px;\n    }\n\n    @media (max-width: ${theme.media.ipad}) {\n      &.last-element {\n        margin-bottom: 132px;\n      }\n    }\n\n    @media (max-width: ${theme.media.cel}) {\n      &.last-element {\n        margin-bottom: 180px;\n      }\n    }\n\n    &.required {\n      label {\n        &:after {\n          content: '*';\n          color: ${theme.colors.primary};\n          display: inline-block;\n          margin-left: 1px;\n        }\n      }\n    }\n  `}\n`\n\nexport const FormGroupIcon = styled(FormGroup)`\n  ${({ theme }) => css`\n    position: relative;\n\n    .icon {\n      position: absolute;\n      right: 35px;\n      top: 15px;\n      cursor: pointer;\n      transition: all 400ms;\n\n      &:hover {\n        background-color: ${theme.colors.primary};\n      }\n    }\n\n    .icon-eye {\n      top: 18px;\n    }\n  `}\n`\n\nexport const FormGroupPlaceholder = css`\n  position: relative;\n\n  .form-input {\n    padding-left: 60px;\n  }\n`\n\nexport const FormInput = styled.input`\n  ${({ theme }) => css`\n    border: 2px solid #616161;\n    border-radius: 6px;\n    padding: 15px 15px;\n    width: 100%;\n    transition: all 400ms;\n\n    &::placeholder {\n      font-family: 'Montserrat', sans-serif;\n      font-weight: 400;\n      color: #afaeae;\n    }\n\n    &:focus {\n      border-color: ${theme.colors.primary};\n    }\n\n    // Feedbacks.\n    &.input-success {\n      background: ${theme.colors.backgroundSuccess} url(${IconInputSuccess})\n        right 10px center no-repeat !important;\n      border-color: ${theme.colors.success};\n    }\n\n    &.input-error {\n      background: ${theme.colors.backgroundError} url(${IconInputError}) right\n        10px center no-repeat !important;\n      border-color: ${theme.colors.error};\n    }\n  `}\n`\n\nexport const FormTextPlaceholder = css`\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  left: 15px;\n`\n","import styled, { css } from 'styled-components'\nimport IconInputError from '../../assets/icons/icon-input-error.svg'\nimport IconInputSuccess from '../../assets/icons/icon-input-success.svg'\n\nexport const InputWrapper = styled.div``\n\nexport const Input = styled.input`\n  ${({ theme }) => css`\n    border: 1px solid #626161;\n    border-radius: 6px;\n    padding: 15px 15px;\n    width: 100%;\n    transition: all 400ms;\n\n    @media (max-width: ${theme.media.ipad}) {\n      padding-right: 32px;\n    }\n\n    &::-ms-reveal {\n      display: none;\n    }\n\n    &::placeholder {\n      font-family: 'Montserrat', sans-serif;\n      font-weight: 400;\n      color: #afaeae;\n    }\n\n    &:focus {\n      border-color: ${theme.colors.primary};\n    }\n  `}\n`\n\nexport const Label = styled.label`\n  cursor: pointer;\n  font-size: 16px;\n  font-weight: 500;\n  color: #616161;\n  display: block;\n  letter-spacing: -1px;\n  margin-bottom: 5px;\n`\n\nexport const Error = styled.p`\n  ${({ theme }) => css`\n    color: ${theme.colors.error};\n    font-style: italic;\n    margin-top: 5px;\n    display: block;\n    font-size: 12px;\n  `}\n`\n\nconst wrapperModifiers = {\n  disabled: (theme) => css`\n    ${Label} {\n      cursor: not-allowed;\n      color: #4a4a4a;\n    }\n\n    ${Input} {\n      cursor: not-allowed;\n      background: ${theme.colors.grey};\n    }\n  `,\n\n  error: (theme) => css`\n    ${InputWrapper} {\n      border-color: ${theme.colors.error};\n    }\n\n    ${Input} {\n      background: ${theme.colors.backgroundError} url(${IconInputError}) right\n        10px center no-repeat !important;\n      border-color: ${theme.colors.error};\n    }\n  `,\n\n  success: (theme) => css`\n    ${Input} {\n      background: ${theme.colors.backgroundSuccess} url(${IconInputSuccess})\n        right 10px center no-repeat !important;\n      border-color: ${theme.colors.success};\n    }\n  `,\n  required: (theme) => css`\n    ${Label} {\n      &:after {\n        content: '*';\n        color: ${theme.colors.primary};\n        display: inline-block;\n        margin-left: 4px;\n      }\n    }\n  `\n}\n\nexport const Wrapper = styled.div`\n  ${({ theme, disabled, error, success, required }) => css`\n    ${disabled && wrapperModifiers.disabled(theme)};\n    ${error && wrapperModifiers.error(theme)}\n    ${success && wrapperModifiers.success(theme)}\n    ${required && wrapperModifiers.required(theme)}\n\n    margin-bottom: 20px;\n    position: relative;\n    height: 67px;\n\n    small {\n      display: block;\n      margin-bottom: 5px;\n    }\n  `}\n`\n","import { useState } from 'react'\n\nimport * as S from './styles'\n\nconst TextField = ({\n  name,\n  label,\n  labelFor = '',\n  initialValue = '',\n  maxlength = 50,\n  onInput,\n  required = false,\n  disabled = false,\n  success = false,\n  error,\n  type = 'text',\n  pattern,\n  reference,\n  ...props\n}) => {\n  const [value, setValue] = useState(initialValue)\n\n  const onChange = (e) => {\n    const newValue = e.currentTarget.value\n    setValue(newValue)\n\n    !!onInput && onInput(newValue)\n  }\n\n  return (\n    <S.Wrapper\n      disabled={disabled}\n      error={!!error}\n      success={success}\n      required={required}\n    >\n      {!!label && <S.Label htmlFor={labelFor}>{label}</S.Label>}\n      <S.InputWrapper>\n        <S.Input\n          ref={reference}\n          maxLength={maxlength}\n          type={type}\n          disabled={disabled}\n          onChange={onChange}\n          value={value}\n          name={name}\n          pattern={pattern}\n          {...props}\n        />\n      </S.InputWrapper>\n      {!!error && <S.Error>{error}</S.Error>}\n    </S.Wrapper>\n  )\n}\n\nexport default TextField\n","export const TOKEN_KEY = 'authtoken'\r\nexport const isAuthenticated = () =>\r\n  typeof window !== 'undefined'\r\n    ? localStorage.getItem(TOKEN_KEY) !== null\r\n    : false\r\nexport const getToken = () =>\r\n  typeof window !== 'undefined' ? localStorage.getItem(TOKEN_KEY) : ''\r\nexport const login = (token) => {\r\n  localStorage.setItem(TOKEN_KEY, token)\r\n}\r\nexport const logout = () => {\r\n  localStorage.removeItem(TOKEN_KEY)\r\n}\r\n","import * as auth from './auth/auth'\r\n\r\nconst defaultOptions = {\r\n  headers: {\r\n    'Authorization': 'Bearer ' + auth.getToken(),\r\n    'Content-Type': 'application/problem+json; charset=utf-8',\r\n    'Access-Control-Allow-Origin': '*'\r\n  }\r\n}\r\n\r\nexport default defaultOptions\r\n","import defaultOptions from './defaultoption'\r\n\r\nconst clientes = {\r\n  async email(email) {\r\n    return await fetch(\r\n      `${process.env.REACT_APP_API_ENDPOINT}clientes/clientes/validar-email?email=${email}`,\r\n      { method: 'get', headers: { 'Content-Type': 'application/json' } }\r\n    )\r\n  },\r\n  async getLoggedUser(params) {\r\n    return await fetch(\r\n      process.env.REACT_APP_API_ENDPOINT + 'clientes/clientes/pessoas-fisicas',\r\n      params\r\n    )\r\n  },\r\n  async getLoggedCompany(params) {\r\n    return await fetch(\r\n      process.env.REACT_APP_API_ENDPOINT +\r\n        'clientes/clientes-pessoas-juridicas',\r\n      params\r\n    )\r\n  },\r\n  async getInscricaoEstadual(inscricaoEstadual, uf) {\r\n    return await fetch(\r\n      `${process.env.REACT_APP_API_CLIENTES}clientes/pessoas-juridicas/inscricao-estadual/${inscricaoEstadual}/${uf}`,\r\n      {\r\n        method: 'GET',\r\n        headers: defaultOptions.headers\r\n      }\r\n    )\r\n  },\r\n  async post(params) {\r\n    return await fetch(\r\n      process.env.REACT_APP_API_ENDPOINT + 'clientes/clientes/pessoas-fisicas',\r\n      params\r\n    )\r\n  },\r\n  async cargos(params) {\r\n    return await fetch(\r\n      process.env.REACT_APP_API_ENDPOINT + 'clientes/cargos',\r\n      params\r\n    )\r\n  },\r\n  async departamentos(params) {\r\n    return await fetch(\r\n      process.env.REACT_APP_API_ENDPOINT + 'clientes/departamentos',\r\n      params\r\n    )\r\n  },\r\n  async atividades(params) {\r\n    return await fetch(\r\n      process.env.REACT_APP_API_CLIENTES + 'atividades',\r\n      params\r\n    )\r\n  },\r\n  async funcionarios(params) {\r\n    return await fetch(\r\n      process.env.REACT_APP_API_CLIENTES + 'funcionarios',\r\n      params\r\n    )\r\n  },\r\n\r\n  async validarDocumento(documento) {\r\n    return await fetch(\r\n      `${process.env.REACT_APP_API_CLIENTES}clientes/validar-documento?documento=${documento}`,\r\n      {\r\n        method: 'GET',\r\n        headers: { 'Content-Type': 'application/json' }\r\n      }\r\n    )\r\n  }\r\n}\r\n\r\nexport default clientes\r\n","import styled, {keyframes} from 'styled-components'\r\n\r\nconst loader = keyframes`\r\n  100% {\r\n    transform: rotate(360deg);\r\n  }\r\n`\r\n\r\nconst loaderDot = keyframes`\r\n  80%, 100% {\r\n    transform: rotate(360deg);\r\n  }\r\n`\r\n\r\nconst loaderDotBefore = keyframes`\r\n    50% {\r\n      transform: scale(0.4);\r\n    }\r\n    100%, 0% {\r\n      transform: scale(1.0);\r\n    }\r\n`\r\nexport const Background = styled.div`\r\n  width: 100%;\r\n  height: 100%;\r\n  background: rgba(0, 0, 0, 0.1);\r\n  transition: background 0.2s;\r\n  position: fixed;\r\n  top: 0;\r\n  left: 0;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  z-index: 1000;\r\n`\r\n\r\nexport const LoaderContainer = styled.div`\r\n  width: 60px;\r\n  height: 60px;\r\n  position: relative;\r\n  margin: 0 auto;\r\n  z-index: 1001;\r\n  animation: ${loader} 2.5s infinite linear both;\r\n`\r\n\r\nexport const LoaderDot = styled.div`\r\n  width: 100%;\r\n  height: 100%;\r\n  position: absolute;\r\n  left: 0;\r\n  top: 0;\r\n  animation: ${loaderDot} 2.0s infinite ease-in-out both;\r\n\r\n  &:before {\r\n    content: '';\r\n    display: block;\r\n    width: 25%;\r\n    height: 25%;\r\n    background-color: #d22630;\r\n    border-radius: 100%;\r\n    animation: ${loaderDotBefore} 2.0s infinite ease-in-out both;\r\n  }\r\n\r\n  &:nth-child(1) {\r\n    animation-delay: -1.1s;\r\n  }\r\n\r\n  &:nth-child(2) {\r\n      animation-delay: -1.0s;\r\n  }\r\n\r\n  &:nth-child(3) {\r\n      animation-delay: -0.9s;\r\n  }\r\n\r\n  &:nth-child(4) {\r\n      animation-delay: -0.8s;\r\n  }\r\n\r\n  &:nth-child(5) {\r\n      animation-delay: -0.7s;\r\n  }\r\n\r\n  &:nth-child(6) {\r\n      animation-delay: -0.6s;\r\n  }\r\n\r\n  &:nth-child(1):before {\r\n      animation-delay: -1.1s;\r\n  }\r\n\r\n  &:nth-child(2):before {\r\n      animation-delay: -1.0s;\r\n  }\r\n\r\n  &:nth-child(3):before {\r\n      animation-delay: -0.9s;\r\n  }\r\n\r\n  &:nth-child(4):before {\r\n      animation-delay: -0.8s;\r\n  }\r\n\r\n  &:nth-child(5):before {\r\n      animation-delay: -0.7s;\r\n  }\r\n\r\n  &:nth-child(6):before {\r\n      animation-delay: -0.6s;\r\n  }\r\n`\r\n\r\n","import * as S from './styles'\r\n\r\nconst Loader = (props) => {\r\n  return (\r\n    <S.Background>\r\n      <S.LoaderContainer {...props}>\r\n        <S.LoaderDot></S.LoaderDot>\r\n        <S.LoaderDot></S.LoaderDot>\r\n        <S.LoaderDot></S.LoaderDot>\r\n        <S.LoaderDot></S.LoaderDot>\r\n        <S.LoaderDot></S.LoaderDot>\r\n        <S.LoaderDot></S.LoaderDot>\r\n      </S.LoaderContainer>\r\n    </S.Background>\r\n  )\r\n}\r\n\r\nexport default Loader\r\n","import styled, { css } from 'styled-components'\n\nexport const Wrapper = styled.header`\n  ${({ theme, onlyLogo }) => css`\n    background: #fff;\n    padding: 20px 0;\n    position: relative;\n\n    ${onlyLogo &&\n    css`\n      border-bottom: 1px solid #eeeeee;\n    `}\n\n    @media (max-width: ${theme.media.ipad}) {\n      padding: 13px;\n    }\n  `}\n`\n\nexport const Header = styled.div`\n  background-color: white;\n  border-bottom: 1px solid #ccc;\n`\n\nexport const Container = styled.div`\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 10px 20px;\n  margin: 0px 50px;\n  @media (max-width: 600px) {\n    flex-direction: column;\n    align-items: center;\n    margin: 0px 10px;\n    padding: 0px;\n  }\n`\n\nexport const Logo = styled.img`\n  width: 125px;\n  @media (max-width: 600px) {\n    width: 95px;\n  }\n`\n\nexport const NavLinks = styled.div`\n  a {\n    color: #4a4a4a;\n    text-decoration: none;\n    margin-left: 20px;\n    font-size: 1.4rem;\n    font-weight: 400;\n    @media (max-width: 600px) {\n      font-size: 1.1rem;\n      font-weight: 500;\n    }\n  }\n  a:hover {\n    color: #d22630;\n    cursor: pointer;\n    font-weight: 600;\n  }\n`\n","import { css } from 'styled-components'\r\n\r\nexport const Button = (theme) => css`\r\n  border-radius: 5px;\r\n  border: 2px solid transparent;\r\n  font-family: 'Montserrat', sans-serif;\r\n  font-weight: 500;\r\n  font-size: 16px;\r\n  padding: 15px 30px;\r\n  text-align: center;\r\n  transition: all 400ms;\r\n\r\n  & + .button {\r\n    margin-left: 15px;\r\n  }\r\n\r\n  @media (max-width: ${theme.media.ipad}) {\r\n    font-size: 14px;\r\n  }\r\n`\r\n\r\nexport const ButtonPrimary = (theme) => css`\r\n  background: ${theme.colors.primary};\r\n  color: #ffffff;\r\n\r\n  &:hover {\r\n    background: darken(${theme.colors.primary}, 10%);\r\n  }\r\n`\r\n\r\nexport const ButtonBlock = css`\r\n  display: block;\r\n  width: 100%;\r\n`\r\n\r\nexport const ButtonOutline = (theme) => css`\r\n  background: transparent;\r\n  border: 2px solid ${theme.colors.primary};\r\n  color: ${theme.colors.primary};\r\n\r\n  &:hover {\r\n    border-color: #4a4a4a;\r\n    color: #4a4a4a;\r\n  }\r\n`\r\n\r\nexport const ButtonBack = (theme) => css`\r\n  background: #ffffff;\r\n  border: 2px solid ${theme.colors.primary};\r\n  color: ${theme.colors.primary};\r\n\r\n  &:hover {\r\n    border-color: #4a4a4a;\r\n    color: #4a4a4a;\r\n  }\r\n`\r\n\r\nexport const ButtonIcon = css`\r\n  padding: 15px 40px;\r\n  vertical-align: middle;\r\n\r\n  i {\r\n    display: inline-block;\r\n\r\n    &.icon-arrow-button-right {\r\n      margin-left: 10px;\r\n    }\r\n\r\n    &.icon-arrow-button-left {\r\n      margin-right: 10px;\r\n    }\r\n  }\r\n`\r\n","import styled, { css } from 'styled-components'\n\nimport * as HeaderStyles from '../../components/Header/styles'\nimport { PageTitle } from '../../styles/titles'\nimport {\n  Button,\n  ButtonBlock,\n  ButtonPrimary\n} from '../../components/Button/styles'\n\nexport const Wrapper = styled.section`\n  ${({ theme }) => css`\n    margin: 0px 0px 20px 0px;\n    width: 100%;\n    height: 100vh;\n\n    ${HeaderStyles.Wrapper} {\n      border-bottom: 1px solid #eeeeee;\n    }\n\n    .form-input,\n    .form-select {\n      background-color: #ffffff;\n    }\n\n    @media (max-width: ${theme.media.ipad}) {\n      display: block;\n      padding: 13px 0;\n      margin: 0;\n      padding-bottom: 130px;\n\n      .header-logotipo {\n        img {\n          margin-left: 0;\n        }\n      }\n    }\n  `}\n`\n\nexport const RegisterWrapper = styled.div`\n  ${({ theme }) => css`\n    margin: 100px 0;\n\n    @media (max-width: ${theme.media.ipad}) {\n      margin: 0;\n      padding-bottom: 130px;\n    }\n  `}\n`\n\nexport const PageContent = styled.div`\n  margin: 60px 0;\n`\n\nexport const WrapperSmall = styled.div`\n  ${({ theme }) => css`\n    margin: auto;\n    max-width: 600px;\n    position: relative;\n    width: 100%;\n\n    @media (max-width: ${theme.media.ipad}) {\n      max-width: 90%;\n    }\n  `}\n`\n\nexport const RegisterCard = styled.div`\n  ${({ theme }) => css`\n    background: #ffffff;\n    padding: 40px 80px;\n    border: 1px solid #eeeeee;\n    border-radius: 10px;\n    box-shadow: 4px 3px 7px 2px rgba(0, 0, 0, 0.05);\n\n    @media (max-width: ${theme.media.ipad}) {\n      background: transparent;\n      box-shadow: none;\n      border: 0;\n      padding: 0;\n    }\n  `}\n`\n\nexport const Title = styled.h2`\n  ${({ theme }) => css`\n    ${PageTitle(theme)}\n  `}\n`\n\nexport const RegisterColumns = styled.div`\n  display: flex;\n  justify-content: center;\n  gap: 16px;\n  margin-top: -16px;\n`\n\nexport const RegisterColumn = styled.div`\n  /* width: 50%; */\n`\n\nexport const AdvanceButton = styled.button`\n  ${({ theme, disabled }) => css`\n    cursor: pointer;\n    ${Button(theme)}\n    ${ButtonPrimary(theme)}\n    ${ButtonBlock}\n\n    ${disabled &&\n    css`\n      background: ${theme.colors.grey};\n    `}\n  `}\n`\n","import { css } from 'styled-components'\r\n\r\nexport const PageTitle = (theme) => css`\r\n  font-size: 24px;\r\n  font-weight: 500;\r\n  color: ${theme.colors.primary};\r\n  margin-bottom: 20px;\r\n  text-align: center;\r\n\r\n  @media (max-width: ${theme.media.ipad}) {\r\n    font-size: 22px;\r\n    text-align: left;\r\n  }\r\n`\r\n","import clientes from '../../api/clientes'\n\nexport const cpfRepetido = async (documento) => {\n  const res = await clientes.validarDocumento(documento)\n  const body = await res.json()\n  localStorage.setItem('preCadastro', 'false')\n  if (!!body.preCadastro) {\n    localStorage.setItem('preCadastro', 'true')\n    return undefined\n  }\n  if (!!body.existe) {\n    return 'CPF já cadastrado'\n  }\n  return undefined\n}\n\nexport const cpfRepetidoVal = (value) => {\n  return value\n}\n\nexport const emailVal = (value) => {\n  const re =\n    /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n  return re.test(String(value).toLowerCase())\n    ? undefined\n    : 'Digite um e-mail válido'\n}\n\nexport const emailConfVal = (email, confEmail = '') => {\n  if (confEmail?.length < 1) return 'Preencher campo obrigatório'\n  if (email?.match(/@/gi)?.length !== 1) return 'Os e-mails devem ser iguais'\n  return email !== confEmail ? 'Os e-mails devem ser iguais' : undefined\n}\n\nexport const passVal = (value) => {\n  return value?.length < 8 ? 'Senha deve ter mais de 8 digitos' : undefined\n}\n\nexport const passValid = (password, passwordConf) => {\n  const uppercaseRegex = /[A-Z]/\n  const lowercaseRegex = /[a-z]/\n  const specialCharRegex = /[!@#$%^*&]/\n  const numberRegex = /\\d/\n  if (password !== passwordConf) {\n    return false\n  }\n  if (password.length < 8) {\n    return false\n  }\n  if (!uppercaseRegex.test(password)) {\n    return false\n  }\n  if (!lowercaseRegex.test(password)) {\n    return false\n  }\n  if (!specialCharRegex.test(password)) {\n    return false\n  }\n  if (!numberRegex.test(password)) {\n    return false\n  }\n  return true\n}\n\nexport const passConfVal = (pass, passConf) => {\n  if (pass) {\n    const valido = passValid(pass, passConf)\n    return !valido ? 'Campos preenchidos incorretamente' : undefined\n  }\n}\n\nexport const validatePassword = (password, fieldName, confirmPassword) => {\n  const uppercaseRegex = /[A-Z]/\n  const lowercaseRegex = /[a-z]/\n  const specialCharRegex = /[(!@#$%^*&)]/\n  const numberRegex = /\\d/\n\n  const passwordValidation = {\n    uppercase: false,\n    lowercase: false,\n    specialChar: false,\n    number: false,\n    length: false,\n    matchConfirmation: false\n  }\n\n  if (fieldName === 'password' && password !== undefined) {\n    passwordValidation.uppercase = uppercaseRegex.test(password)\n    passwordValidation.lowercase = lowercaseRegex.test(password)\n    passwordValidation.specialChar = specialCharRegex.test(password)\n    passwordValidation.number = numberRegex.test(password)\n    passwordValidation.length = password.length >= 8\n    passwordValidation.matchConfirmation = password === confirmPassword\n  }\n\n  if (fieldName === 'confirmPassword') {\n    passwordValidation.matchConfirmation = password === confirmPassword\n  }\n\n  return passwordValidation\n}\n\nexport const validarCPF = (cpf) => {\n  cpf = cpf.replace(/[^\\d]/g, '')\n\n  if (cpf.length !== 11 || /^(\\d)\\1{10}$/.test(cpf)) {\n    return false\n  }\n\n  let sum = 0\n  for (let i = 0; i < 9; i++) {\n    sum += parseInt(cpf.charAt(i)) * (10 - i)\n  }\n  let digit1 = 11 - (sum % 11)\n  if (digit1 === 10 || digit1 === 11) {\n    digit1 = 0\n  }\n  if (digit1 !== parseInt(cpf.charAt(9))) {\n    return false\n  }\n\n  sum = 0\n  for (let i = 0; i < 10; i++) {\n    sum += parseInt(cpf.charAt(i)) * (11 - i)\n  }\n  let digit2 = 11 - (sum % 11)\n  if (digit2 === 10 || digit2 === 11) {\n    digit2 = 0\n  }\n  if (digit2 !== parseInt(cpf.charAt(10))) {\n    return false\n  }\n\n  return true\n}\n\nexport const cpfVal = (value = '', extraError = undefined) => {\n  if (value?.length < 1) return 'Preencher campo obrigatório'\n  if (value?.length < 14) return 'CPF deve ser composto de 11 dígitos'\n  if (!validarCPF(value)) return 'CPF inválido'\n  if (extraError !== undefined) return extraError\n  return undefined\n}\n\nexport const birthVal = (value = '') => {\n  if (!value) return 'Preencher campo obrigatório'\n\n  const dateRegex = /^\\d{2}\\/\\d{2}\\/\\d{4}$/\n  if (!dateRegex.test(value)) return 'Formato de data inválido'\n\n  const [day, month, year] = value.split('/').map(Number)\n\n  const now = new Date()\n  const currentYear = now.getFullYear()\n  const currentMonth = now.getMonth() + 1\n\n  if (year > currentYear) return 'Favor preencher com ano válido'\n  if (year === currentYear && month > currentMonth)\n    return 'Favor preencher com data válida'\n\n  if (year < 1900 || year > currentYear - 10)\n    return 'Ano de nascimento inválido'\n  if (month < 1 || month > 12) return 'O mês deve estar entre 01 e 12'\n  if (day < 1 || day > 31) return 'O dia deve estar entre 01 e 31'\n\n  const daysInMonth = new Date(year, month, 0).getDate()\n  if (day > daysInMonth) return 'Número de dias inválido para o mês escolhido'\n\n  return undefined\n}\n\nexport const validDDDs = [\n  11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 28, 31, 32, 33, 34, 35,\n  37, 38, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 53, 54, 55, 61, 62, 64, 65,\n  66, 67, 68, 69, 71, 73, 74, 75, 77, 79, 81, 82, 83, 84, 85, 86, 87, 88, 89,\n  91, 92, 93, 94, 95, 96, 97, 98, 99\n]\n\nexport const cellVal = (value) => {\n  if (!value || value.length < 1) return 'Preencher campo obrigatório'\n\n  const sanitizedValue = value.replace(/[^\\d]/g, '')\n\n  const repeatedDigitRegex = /^(.)\\1{10}$/\n  if (repeatedDigitRegex.test(sanitizedValue)) {\n    return 'Número de celular inválido'\n  }\n\n  if (sanitizedValue.length < 11) {\n    return 'Número de celular incompleto'\n  }\n\n  const ddd = parseInt(sanitizedValue.substring(0, 2), 10)\n  if (!validDDDs.includes(ddd)) {\n    return 'DDD inválido'\n  }\n\n  return undefined\n}\n\nexport const fixPhoneVal = (value) => {\n  if (!value) return undefined\n\n  const sanitizedValue = value.replace(/[^\\d]/g, '')\n\n  if (sanitizedValue.length < 10) {\n    return 'Número de telefone incompleto'\n  }\n\n  const repeatedDigitRegex = /^(.)\\1{9}$/\n  if (repeatedDigitRegex.test(sanitizedValue)) {\n    return 'Número de telefone inválido'\n  }\n\n  const ddd = parseInt(sanitizedValue.substring(0, 2), 10)\n  if (!validDDDs.includes(ddd)) {\n    return 'DDD inválido'\n  }\n\n  return undefined\n}\n\nexport const nameVal = (value = '') => {\n  if (value?.length < 3) return 'Preencher campo obrigatório'\n  let arr = value?.split(/\\s/)\n  if (arr.length < 2) return 'Preencher nome completo'\n  if (arr[1].length < 2) return 'Preencher nome completo'\n  return undefined\n}\n\nexport const preNameVal = (value = '') => (value?.length <= 0 ? '' : undefined)\n\nexport const fieldVal = (arr, val) => {\n  let message = ''\n  for (let i = 0; i < arr.length; i++) {\n    if (val[i](arr[i])) message += val[i](arr[i]) + '. '\n  }\n  return message\n}\n\nexport const fieldValComp = (arr, val) => {\n  let message = ''\n  for (let i = 0, k = 0; i < val.length; i++, k += 2) {\n    if (val[i](arr[k], arr[k + 1])) message += val[i](arr[k], arr[k + 1]) + '. '\n  }\n  return message\n}\n\nexport const cepVal = (val, invalid = false) => {\n  if (invalid) return 'CEP inválido'\n  return val?.length !== 9 ? 'Preencher com CEP válido' : undefined\n}\n\nexport const ufVal = (val) => {\n  const res = val?.replace(/[^a-zA-Z]/g, '').toLowerCase()\n\n  if (\n    (res === 'ro' ||\n      res === 'ac' ||\n      res === 'am' ||\n      res === 'rr' ||\n      res === 'pa' ||\n      res === 'ap' ||\n      res === 'to' ||\n      res === 'ma' ||\n      res === 'pi' ||\n      res === 'ce' ||\n      res === 'rn' ||\n      res === 'pb' ||\n      res === 'pe' ||\n      res === 'al' ||\n      res === 'se' ||\n      res === 'ba' ||\n      res === 'mg' ||\n      res === 'es' ||\n      res === 'rj' ||\n      res === 'sp' ||\n      res === 'pr' ||\n      res === 'sc' ||\n      res === 'rs' ||\n      res === 'ms' ||\n      res === 'mt' ||\n      res === 'go' ||\n      res === 'df') &&\n    res.length === 2\n  )\n    return undefined\n  return 'UF inválida'\n}\nexport const sizeVal = (val = '', size = 1) =>\n  val?.length < size ? 'Preencher campo obrigatório' : undefined\n\nexport const logradouroVal = (val) => {\n  let arr = val?.split(/\\s/) || []\n  if (arr?.length < 2) return 'Preencher logradouro'\n  if (arr[1].length < 2 || arr[0].length < 2) return 'Preencher logradouro'\n  return undefined\n}\n\nexport const sexVal = (val) => (val === '' ? 'Selecionar sexo' : undefined)\n","/* eslint-disable jsx-a11y/anchor-is-valid */\nimport { useEffect, useState, useRef } from 'react'\nimport { FormGroup } from '../../components/Form/styles'\nimport TextField from '../../components/TextField'\nimport { useToast } from '../../hooks/toast'\nimport clientes from '../../api/clientes'\nimport Loader from '../Loader'\n\nimport * as S from './styles'\nimport { emailVal } from '../FormPF/fieldValidator'\n\nconst PreRegisterForm = ({\n  type,\n  setType,\n  email,\n  setEmail,\n  setSelectedType,\n  selectedType\n}) => {\n  // const [selectedType, setSelectedType] = useState('pf')\n  const [load, setLoad] = useState(false)\n\n  const { addToast } = useToast()\n  const inputRef0 = useRef()\n\n  const handleSelectType = (e) => {\n    const newValue = e.currentTarget.value\n    setSelectedType(newValue)\n  }\n\n  const handleChangeEmail = (e) => {\n    const newValue = e.target.value\n    setEmail(newValue.toLowerCase())\n  }\n\n  const handleConfirm = async (e) => {\n    e.preventDefault()\n    setLoad(true)\n\n    let msg = emailVal(email)\n\n    if (msg !== undefined) {\n      setLoad(false)\n      return addToast({\n        type: 'error',\n        title: 'E-mail inválido'\n      })\n    }\n\n    let valid\n    try {\n      valid = await clientes.email(email)\n    } catch (e) {}\n    if (valid?.status === 400) {\n      setLoad(false)\n      return addToast({\n        type: 'error',\n        title: 'E-mail já cadastrado'\n      })\n    }\n\n    setLoad(false)\n    return setType(selectedType)\n  }\n\n  useEffect(() => {\n    !!inputRef0.current && inputRef0.current.focus()\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [])\n\n  const handleKeypress = (e) => {\n    if (e.keyCode === 13) {\n      e.preventDefault()\n      handleConfirm(e)\n    }\n  }\n\n  if (type) return null\n\n  return (\n    <>\n      {load && <Loader />}\n      <S.RegisterWrapper>\n        <S.PageContent>\n          <S.WrapperSmall>\n            <S.RegisterCard>\n              <S.Title>Cadastre-se</S.Title>\n              <form\n                action=\"\"\n                id=\"form-cadastro\"\n                onSubmit={(e) => {\n                  if (!!email) handleConfirm(e)\n                }}\n              >\n                <FormGroup className=\"form-group\">\n                  <label htmlFor=\"email\">E-mail</label>\n                  <TextField\n                    onKeyDown={(e) => {\n                      handleKeypress(e)\n                    }}\n                    reference={inputRef0}\n                    maxlength={80}\n                    name=\"email\"\n                    value={email}\n                    type=\"email\"\n                    placeholder=\"Digite seu e-mail\"\n                    onChange={handleChangeEmail}\n                  />\n                </FormGroup>\n                <S.RegisterColumns className=\"cadastro-columns\">\n                  <S.RegisterColumn className=\"cadastro-column\">\n                    <FormGroup className=\"form-group\">\n                      <input\n                        type=\"radio\"\n                        name=\"tipopessoa\"\n                        id=\"cadastropf\"\n                        value=\"pf\"\n                        checked={selectedType === 'pf' && true}\n                        onChange={handleSelectType}\n                      />\n                      <label htmlFor=\"cadastropf\">Pessoa Física</label>\n                    </FormGroup>\n                  </S.RegisterColumn>\n                  <S.RegisterColumn className=\"cadastro-column\">\n                    <FormGroup className=\"form-group\">\n                      <input\n                        type=\"radio\"\n                        name=\"tipopessoa\"\n                        id=\"cadastropj\"\n                        checked={selectedType === 'pj' && true}\n                        value=\"pj\"\n                        onChange={handleSelectType}\n                      />\n                      <label htmlFor=\"cadastropj\">Pessoa Juridica</label>\n                    </FormGroup>\n                  </S.RegisterColumn>\n                </S.RegisterColumns>\n                <FormGroup className=\"form-group\">\n                  <S.AdvanceButton\n                    disabled={!selectedType || !email}\n                    type=\"submit\"\n                    // onClick={() => {\n                    //   if (!!email) handleConfirm()\n                    // }}\n                  >\n                    Avançar\n                  </S.AdvanceButton>\n                </FormGroup>\n              </form>\n              <p className=\"text-center\">\n                Já possui cadastro?{' '}\n                <strong\n                  onClick={() =>\n                    (window.location.href = `${process.env.REACT_APP_URL_MAIN}/checkout/login`)\n                  }\n                  className=\"link text-color-primary\"\n                  style={{ cursor: 'pointer' }}\n                >\n                  Acesse\n                </strong>\n              </p>\n            </S.RegisterCard>\n          </S.WrapperSmall>\n        </S.PageContent>\n      </S.RegisterWrapper>\n    </>\n  )\n}\n\nexport default PreRegisterForm\n","const cadastro = {\r\n  async cadastroClientePF(body) {\r\n    return await fetch(\r\n      `${process.env.REACT_APP_API_CLIENTES}clientes/pessoas-fisicas`,\r\n      {\r\n        method: 'post',\r\n        headers: { 'Content-Type': 'application/json' },\r\n        body: JSON.stringify(body)\r\n      }\r\n    )\r\n  },\r\n  async preCadastroClientePF(body) {\r\n    return await fetch(\r\n      `${process.env.REACT_APP_API_CLIENTES}clientes/pessoas-fisicasV2`,\r\n      {\r\n        method: 'put',\r\n        headers: { 'Content-Type': 'application/json' },\r\n        body: JSON.stringify(body)\r\n      }\r\n    )\r\n  },\r\n  async cadastroClientePJ(body) {\r\n    return await fetch(\r\n      `${process.env.REACT_APP_API_CLIENTES}clientes/pessoas-juridicas`,\r\n      {\r\n        method: 'post',\r\n        headers: { 'Content-Type': 'application/json' },\r\n        body: JSON.stringify(body)\r\n      }\r\n    )\r\n  },\r\n  async preCadastroClientePJ(body) {\r\n    return await fetch(\r\n      `${process.env.REACT_APP_API_CLIENTES}clientes/pessoas-juridicasV2`,\r\n      {\r\n        method: 'put',\r\n        headers: { 'Content-Type': 'application/json' },\r\n        body: JSON.stringify(body)\r\n      }\r\n    )\r\n  },\r\n  async getCEP(CEP) {\r\n    return await fetch(`${process.env.REACT_APP_API_CEPS}${CEP}`)\r\n  }\r\n}\r\n\r\nexport default cadastro\r\n","import styled, { css } from 'styled-components'\r\n\r\nexport const LabelTooltip = styled.label`\r\n  right: initial;\r\n  margin-left: 10px;\r\n  top: -10px;\r\n`\r\n\r\nexport const TooltipBox = styled.div`\r\n  ${({ theme }) => css`\r\n    display: none;\r\n    position: absolute;\r\n    background: #ffffff;\r\n    border: 1px solid #afaeae;\r\n    padding: 10px 15px;\r\n    font-size: 13px;\r\n    line-height: 15px;\r\n    min-width: 250px;\r\n    max-width: 300px;\r\n    left: 30px;\r\n    top: -15px;\r\n    border-radius: 5px;\r\n\r\n    @media (max-width: ${theme.media.ipad}) {\r\n      right: 0;\r\n      left: initial;\r\n    }\r\n\r\n    @media (max-width: ${theme.media.cel}) {\r\n      right: 0;\r\n      left: initial;\r\n    }\r\n  `}\r\n`\r\n\r\nexport const Wrapper = styled.div`\r\n  display: inline-block;\r\n  right: 20px;\r\n  position: absolute;\r\n  z-index: 99;\r\n  top: 10px;\r\n  transition: all 400ms;\r\n\r\n  i {\r\n    background: 1px solid red;\r\n    cursor: pointer;\r\n    width: 20px;\r\n    height: 20px;\r\n    bottom: -10px;\r\n    position: absolute;\r\n  }\r\n\r\n  &:hover {\r\n    ${TooltipBox} {\r\n      display: block;\r\n    }\r\n  }\r\n\r\n  // Label Tooltip\r\n  ${LabelTooltip} & {\r\n    right: initial;\r\n    margin-left: 10px;\r\n    top: 30px;\r\n  }\r\n`\r\n\r\nexport const WrapperL = styled.div`\r\n  display: inline-block;\r\n  left: 280px;\r\n  position: absolute;\r\n  z-index: 99;\r\n  top: 10px;\r\n  transition: all 400ms;\r\n\r\n  i {\r\n    background: 1px solid red;\r\n    cursor: pointer;\r\n    width: 20px;\r\n    height: 20px;\r\n    bottom: -10px;\r\n    position: absolute;\r\n  }\r\n\r\n  &:hover {\r\n    ${TooltipBox} {\r\n      display: block;\r\n    }\r\n  }\r\n\r\n  // Label Tooltip\r\n  ${LabelTooltip} & {\r\n    right: initial;\r\n    margin-left: 10px;\r\n    top: 30px;\r\n  }\r\n`","import { css } from 'styled-components'\n\nexport const RadioStyles = (theme) => css`\n  [type='radio']:not(:checked),\n  [type='radio']:checked {\n    left: -9999px;\n    position: absolute;\n  }\n\n  [type='radio']:not(:checked) + label,\n  [type='radio']:checked + label {\n    cursor: pointer;\n    display: inline-block;\n    font-size: 14px;\n    padding-top: 5px;\n    font-weight: 400 !important;\n    padding-left: 27px;\n    position: relative;\n  }\n\n  [type='radio']:not(:checked) + label:before,\n  [type='radio']:checked + label:before {\n    background: transparent;\n    border: 1px solid #afaeae;\n    border-radius: 50%;\n    content: '';\n    height: 18px;\n    left: 0;\n    position: absolute;\n    top: 2px;\n    transition: border-color 0.5s ease;\n    vertical-align: middle;\n    width: 18px;\n  }\n\n  [type='radio']:checked + label:before {\n    border: 3px solid ${theme.colors.primary};\n  }\n\n  // checked\n  [type='radio']:not(:checked) + label:after,\n  [type='radio']:checked + label:after {\n    border-color: #fff;\n    border-style: solid;\n    border-width: 0 2px 2px 0;\n    content: '';\n    height: 9px;\n    left: 8px;\n    opacity: 0;\n    position: absolute;\n    top: 10px;\n    transform: translate(-50%, -65%) rotate(45deg);\n    transition: opacity 0.5s ease, visibility 0.5s ease;\n    width: 4px;\n  }\n\n  [type='radio']:not(:checked) + label:after {\n    opacity: 0;\n  }\n\n  [type='radio']:checked + label:after {\n    opacity: 1;\n  }\n\n  // disabled radio\n  [type='radio']:disabled:not(:checked) + label:before,\n  [type='radio']:disabled:checked + label:before {\n    border-color: #cccccc;\n    background: #f6f6f6;\n  }\n\n  [type='radio']:disabled:checked + label:after {\n    color: #999;\n  }\n`\nexport const RadioStylesOrigem = (theme) => css`\n  /* Ocultar o botão de rádio real */\n  [type='radio']:not(:checked),\n  [type='radio']:checked {\n    left: -9999px;\n    position: absolute;\n  }\n\n  /* Estilizar o label que representa o botão de rádio */\n  [type='radio']:not(:checked) + label,\n  [type='radio']:checked + label {\n    cursor: pointer;\n    display: inline-block;\n    font-size: 14px;\n    padding-top: 5px;\n    font-weight: 400 !important;\n    padding-left: 27px;\n    position: relative;\n  }\n\n  /* Círculo do botão de rádio */\n  [type='radio']:not(:checked) + label::before,\n  [type='radio']:checked + label::before {\n    content: '';\n    background: transparent;\n    border: 1px solid ${theme.colors.error};\n    border-radius: 50%;\n    height: 18px;\n    width: 18px;\n    position: absolute;\n    left: 0;\n    top: 2px;\n    transition: background 0.3s ease, border-color 0.3s ease;\n  }\n\n  /* Quando o botão de rádio está selecionado, círculo preenchido */\n  [type='radio']:checked + label::before {\n    background: ${theme.colors.error}; /* Interior do círculo */\n    border-color: ${theme.colors.error}; /* Borda */\n  }\n\n  /* Estilo do \"tick\" */\n  [type='radio']:not(:checked) + label::after,\n  [type='radio']:checked + label::after {\n    content: '';\n    position: absolute;\n    top: 50%; /* Posicionar ao centro verticalmente */\n    left: 8px; /* Posicionar ao centro horizontalmente */\n    width: 5px; /* Largura do tick */\n    height: 10px; /* Altura do tick */\n    border: solid white;\n    border-width: 0 2px 2px 0;\n    transform: translate(-50%, -50%) rotate(45deg); /* Centraliza o tick e aplica a rotação */\n    opacity: 0; /* Oculta o tick inicialmente */\n    transition: opacity 0.3s ease;\n  }\n\n  /* Mostrar o tick quando o rádio está selecionado */\n  [type='radio']:checked + label::after {\n    opacity: 1;\n  }\n\n  /* Estilo para rádio desabilitado */\n  [type='radio']:disabled + label::before {\n    border-color: #cccccc;\n    background: #f6f6f6;\n  }\n\n  [type='radio']:disabled:checked + label::after {\n    color: #999;\n  }\n`\n","import styled, { css } from 'styled-components'\n\nimport { FormGroup } from '../../../components/Form/styles'\nimport { Wrapper } from '../../../components/Tooltip/styles'\nimport { RadioStyles, RadioStylesOrigem } from '../../../styles/radio'\n\nexport const TermsWrapper = styled.div`\n  ${({ theme }) => css`\n    @media (max-width: ${theme.media.ipad}) {\n      &.last-element {\n        margin-bottom: 180px;\n      }\n    }\n\n    @media (max-width: ${theme.media.cel}) {\n      &.last-element {\n        margin-bottom: 180px;\n      }\n    }\n  `}\n\n  ${FormGroup} {\n    margin-bottom: 10px;\n    display: flex;\n    align-items: center;\n\n    label {\n      margin-bottom: 0;\n      margin-left: 10px;\n    }\n\n    a {\n      font-weight: 600;\n    }\n\n    ${Wrapper} {\n      top: 10px;\n    }\n  }\n`\n\nexport const ErrorList = styled.ul`\n  font-size: 14px;\n  margin: 0px 0px 10px 10px;\n\n  ${({ theme }) => css`\n    @media (max-width: ${theme.media.ipad}) {\n      margin-top: -120px;\n    }\n\n    @media (max-width: ${theme.media.cel}) {\n      margin-top: -180px;\n      font-size: 12px;\n    }\n  `};\n`\nexport const TitleErrorList = styled.h3`\n  color: #3d3d3d;\n  font-size: 15px;\n  font-weight: 500;\n  margin: 10px 0px;\n`\n\nexport const Error = styled.li`\n  ${({ theme, isValid, isPasswordEmpty }) => css`\n    color: ${isPasswordEmpty ? '#616161' : isValid ? '#5CC187' : '#D22630'};\n    display: flex;\n    font-weight: 400;\n    align-items: center;\n    margin: 10px 0;\n\n    &::before {\n      content: '${isPasswordEmpty ? '\\u25cf' : isValid ? '\\u2714' : '\\u25cf'}';\n      font-size: 14px;\n      padding-right: 10px;\n      height: 16px;\n\n      color: ${isPasswordEmpty ? '#D22630' : isValid ? '#5CC187' : '#D22630'};\n      display: inline-block;\n    }\n  `}\n`\n\nexport const CaptchaContainer = styled.div`\n  margin-bottom: 16px;\n  margin-left: 10px;\n`\nexport const RadioGroup = styled.div`\n  ${(props) => RadioStylesOrigem(props.theme)}\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 1px 30px;\n  width: 100%;\n  justify-content: stretch;\n\n  .radio-option {\n    display: flex;\n    gap: 5px;\n  }\n\n  input[type='radio'] {\n    margin: 0;\n    cursor: pointer;\n  }\n\n  label {\n    vertical-align: middle;\n    line-height: 1;\n  }\n\n  @media (max-width: 1024px) {\n    grid-template-columns: repeat(2, 1fr);\n  }\n\n  @media (max-width: 768px) {\n    grid-template-columns: repeat(1, 1fr);\n  }\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n  }\n`\n\nexport const OtherInput = styled.input`\n  border: none;\n  border-bottom: 2px solid #d22630;\n  outline: none;\n  padding: 5px 0;\n  width: 90%;\n\n  &::placeholder {\n    font-family: 'Montserrat';\n    color: #aaaaaa;\n    font-size: 14px;\n    transform: translateY(3px);\n  }\n\n  &:focus {\n    border-bottom-color: darkred;\n  }\n`\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport { FormGroup, FormGroupIcon } from '../../../components/Form/styles'\nimport { emailConfVal, emailVal, validatePassword } from '../fieldValidator'\nimport TextField from '../../../components/TextField'\nimport { useState, useEffect } from 'react'\nimport * as S from './styles'\n\nconst RegisterStep1 = ({\n  formValues,\n  onChange,\n  handleKeyDown,\n  handleChangeStep\n}) => {\n  const { email, emailConfirm, password, passwordConfirm } = formValues\n  const [passView, setPassView] = useState(true)\n  const [passConfView, setPassConfView] = useState(true)\n  const [isBackButtonClicked, setBackbuttonPress] = useState(false)\n\n  useEffect(() => {\n    window.history.pushState(null, null, window.location.pathname)\n    window.addEventListener('popstate', onBackButtonEvent)\n\n    return () => {\n      window.removeEventListener('popstate', onBackButtonEvent)\n    }\n  }, [])\n\n  const [isNewPasswordEmpty, setNewPasswordEmpty] = useState(true)\n  const [isNewPasswordValid, setNewPasswordValid] = useState(false)\n\n  const [passwordValidation, setPasswordValidation] = useState({\n    uppercase: false,\n    lowercase: false,\n    specialChar: false,\n    number: false,\n    length: false,\n    matchConfirmation: false\n  })\n\n  useEffect(() => {\n    const isPasswordValid =\n      passwordValidation.uppercase &&\n      passwordValidation.lowercase &&\n      passwordValidation.specialChar &&\n      passwordValidation.number &&\n      passwordValidation.length &&\n      !isNewPasswordEmpty\n    setNewPasswordValid(isPasswordValid)\n\n    if (password !== '' || passwordConfirm !== '') {\n      setPasswordValidation(\n        validatePassword(password, 'password', passwordConfirm)\n      )\n    }\n\n    if (password === '') {\n      setNewPasswordEmpty(true)\n    }\n  }, [password, passwordConfirm, passwordValidation.matchConfirmation])\n\n  const handleChange = (e) => {\n    const { name, value } = e.target\n\n    if (name === 'password') {\n      setNewPasswordEmpty(value === '')\n      setPasswordValidation(\n        validatePassword(value, 'password', passwordConfirm)\n      )\n    }\n  }\n\n  const onBackButtonEvent = (e) => {\n    e.preventDefault()\n    if (!isBackButtonClicked) {\n      setBackbuttonPress(true)\n      handleChangeStep(false)\n    } else {\n      window.history.pushState(null, null, window.location.pathname)\n      setBackbuttonPress(false)\n    }\n  }\n\n  return (\n    <div className=\"col-group\">\n      <div className=\"col-12\" style={{ padding: '0px' }}>\n        <div className=\"col-6\">\n          <FormGroup className=\"required\">\n            <label htmlFor=\"email\">E-mail</label>\n            <TextField\n              maxlength={80}\n              name=\"email\"\n              value={email}\n              placeholder=\"Digite seu e-mail\"\n              onKeyDown={(e) => {\n                handleKeyDown(e)\n              }}\n              error={emailVal(email)}\n              success={!emailVal(email)}\n            />\n          </FormGroup>\n        </div>\n        <div className=\"col-6\">\n          <FormGroup className=\"required\">\n            <label htmlFor=\"email\">Confirme seu e-mail</label>\n            <TextField\n              maxlength={80}\n              name=\"emailConfirm\"\n              value={emailConfirm}\n              placeholder=\"Confirme seu e-mail\"\n              onKeyDown={(e) => {\n                handleKeyDown(e)\n              }}\n              onChange={(e) =>\n                onChange(\n                  e.target.value.trimStart().toLowerCase(),\n                  'emailConfirm'\n                )\n              }\n              onBlur={(e) => {\n                onChange(\n                  e.target.value.trimEnd().replace(/  +/g, ' '),\n                  'emailConfirm'\n                )\n              }}\n              error={\n                formValues.errorTrigger[1] && emailConfVal(email, emailConfirm)\n              }\n              success={!emailConfVal(email, emailConfirm)}\n            />\n          </FormGroup>\n        </div>\n      </div>\n      <div className=\"col-12\" style={{ padding: '0px' }}>\n        <div className=\"col-6\">\n          <FormGroup className=\"form-group required\">\n            <label htmlFor=\"email\">Senha</label>\n            <FormGroupIcon className=\"form-group-icon\">\n              <TextField\n                maxlength={80}\n                name=\"password\"\n                type={passView ? 'password' : 'text'}\n                value={password}\n                placeholder=\"Digite sua senha\"\n                success={isNewPasswordValid}\n                error={!isNewPasswordValid && formValues.errorTrigger[1]}\n                onChange={(e) => {\n                  handleChange(e)\n                  onChange(e.target.value.trimStart(), 'password')\n                }}\n                onKeyDown={(e) => {\n                  handleKeyDown(e)\n                }}\n              />\n              <span\n                className={!passView ? 'icon icon-eye' : 'icon icon-eye-cut'}\n                onClick={() => setPassView(!passView)}\n              ></span>\n            </FormGroupIcon>\n          </FormGroup>\n        </div>\n        <div className=\"col-6\">\n          <FormGroup className=\"form-group required last-element\">\n            <label htmlFor=\"email\">Confirme sua senha</label>\n            <FormGroupIcon className=\"form-group-icon\">\n              <TextField\n                maxlength={80}\n                name=\"passwordConfirm\"\n                type={passConfView ? 'password' : 'text'}\n                value={passwordConfirm}\n                placeholder=\"Confirme sua senha\"\n                success={passwordValidation.matchConfirmation}\n                error={\n                  !passwordValidation.matchConfirmation &&\n                  formValues.errorTrigger[1]\n                }\n                onChange={(e) => {\n                  handleChange(e)\n                  onChange(e.target.value.trimStart(), 'passwordConfirm')\n                }}\n                onKeyDown={(e) => {\n                  handleKeyDown(e)\n                }}\n              />\n              <span\n                className={\n                  !passConfView ? 'icon icon-eye' : 'icon icon-eye-cut'\n                }\n                onClick={() => setPassConfView(!passConfView)}\n              ></span>\n            </FormGroupIcon>\n          </FormGroup>\n        </div>\n      </div>\n      <div className=\"col-12\">\n        <S.ErrorList>\n          <S.TitleErrorList>\n            Senha deve conter os seguintes parâmetros\n          </S.TitleErrorList>\n          <S.Error\n            isValid={passwordValidation.length}\n            isPasswordEmpty={isNewPasswordEmpty}\n          >\n            Ter no mínimo 8 caracteres\n          </S.Error>\n          <S.Error\n            isValid={passwordValidation.uppercase}\n            isPasswordEmpty={isNewPasswordEmpty}\n          >\n            Uma letra maiúscula\n          </S.Error>\n          <S.Error\n            isValid={passwordValidation.lowercase}\n            isPasswordEmpty={isNewPasswordEmpty}\n          >\n            Uma letra minúscula\n          </S.Error>\n          <S.Error\n            isValid={passwordValidation.number}\n            isPasswordEmpty={isNewPasswordEmpty}\n          >\n            Um número\n          </S.Error>\n          <S.Error\n            isValid={passwordValidation.specialChar}\n            isPasswordEmpty={isNewPasswordEmpty}\n          >\n            Um caractere especial {'(!@#$%^*&)'}\n          </S.Error>\n          <S.Error\n            isValid={passwordValidation.matchConfirmation}\n            isPasswordEmpty={isNewPasswordEmpty}\n          >\n            A senha e a confirmação devem ser iguais\n          </S.Error>\n        </S.ErrorList>\n      </div>\n    </div>\n  )\n}\n\nexport default RegisterStep1\n","export const noMask = (value) => value.replace(/\\D/g, '')\n\nexport const cpfMask = (value) =>\n  value\n    .replace(/\\D/g, '')\n    .replace(/(\\d{3})(\\d)/, '$1.$2')\n    .replace(/(\\d{3})(\\d)/, '$1.$2')\n    .replace(/(\\d{3})(\\d{1,2})/, '$1-$2')\n    .replace(/(-\\d{2})\\d+?$/, '$1')\n\nexport const dateMask = (value) => {\n  return value\n    .replace(/\\D/g, '')\n    .replace(/(\\d{2})(\\d)/, '$1/$2')\n    .replace(/(\\d{2})(\\d)/, '$1/$2')\n    .replace(/(\\d{2}\\/\\d{2}\\/\\d{4})\\d+?$/, '$1')\n}\n\nexport const cellMask = (value) => {\n  if (typeof value === 'string')\n    return value\n      .replace(/\\D/g, '')\n      .replace(/(\\d{2})(\\d)/, '($1) $2')\n      .replace(/(\\d{5})(\\d)/, '$1-$2')\n      .replace(/(\\(\\d{2}\\)\\s\\d{5}-\\d{4})\\d+?$/, '$1')\n  return ''\n}\n\nexport const fixPhoneMask = (value) => {\n  if (typeof value === 'string')\n    return value\n      .replace(/\\D/g, '')\n      .replace(/(\\d{2})(\\d)/, '($1) $2')\n      .replace(/(\\d{4})(\\d)/, '$1-$2')\n      .replace(/(\\(\\d{2}\\)\\s\\d{4}-\\d{4})\\d+?$/, '$1')\n  return ''\n}\n\nexport const dddString = (value) => noMask(value || '').substr(0, 2)\n\nexport const phoneString = (value) => noMask(value || '').substr(2)\n\nexport const dateString = (value) => {\n  const date = value?.split('/') || ['01', '01', '2000']\n  return `${date[2]}-${date[1]}-${date[0]}T20:29:13.070Z`\n}\n\nexport const dateFromString = (value) => {\n  const date = value?.slice(0, 10).split('-') || ['01', '01', '2000']\n  return `${date[2]}/${date[1]}/${date[0]}`\n}\n\nexport const cepMask = (value) =>\n  value\n    .replace(/\\D/g, '')\n    .replace(/(\\d{5})(\\d)/, '$1-$2')\n    .replace(/^([\\d]{5}-[\\d]{3})\\d+?$/, '$1')\n\nexport const addressNumber = (value) => {\n  return value.replace(/\\D/g, '')\n}\n\nexport const preNameMask = (value) => {\n  return value.replace(/[^A-Za-z0-9áàâãéèêíïóôõöúçñÁÀÂÃÉÈÍÏÓÔÕÖÚÇÑ\\s]+/g, '')\n}\n\nexport const nameMask = (value) => {\n  return value.replace(/[^A-Za-záàâãéèêíïóôõöúçñÁÀÂÃÉÈÍÏÓÔÕÖÚÇÑ\\s]+/g, '')\n}\n\n","import styled, { css } from 'styled-components'\n\nimport {\n  Button,\n  ButtonBack,\n  ButtonIcon,\n  ButtonPrimary\n} from '../../components/Button/styles'\n\nexport const WrapperMedium = styled.div`\n  ${({ theme }) => css`\n    margin: auto;\n    max-width: 1000px;\n    position: relative;\n    width: 100%;\n\n    @media (max-width: ${theme.media.ipad}) {\n      max-width: 90%;\n    }\n  `}\n`\n\nexport const FormFooter = styled.div`\n  min-height: 100px;\n  ${({ theme }) => css`\n    @media (max-width: ${theme.media.ipad}) {\n      position: fixed;\n      bottom: 0;\n      width: 100%;\n      background: #fbfbfb;\n      padding: 20px 0;\n      z-index: 999;\n    }\n  `}\n`\n\nexport const AdvanceButton = styled.button`\n  ${({ theme }) => css`\n    cursor: pointer;\n    ${Button(theme)}\n    ${ButtonPrimary(theme)}\n    ${ButtonIcon}\n    margin-left: 15px;\n  `}\n`\n\nexport const BackButton = styled.button`\n  ${({ theme }) => css`\n    cursor: pointer;\n    ${Button(theme)}\n    ${ButtonBack(theme)}\n      ${ButtonIcon}\n  `}\n`\n\nexport const FormFooterContent = styled.div`\n  ${({ theme }) => css`\n    display: flex;\n    justify-content: flex-end;\n    margin-top: 30px;\n    margin-bottom: 30px;\n\n    @media (max-width: ${theme.media.cel}) {\n      flex-direction: column-reverse;\n      margin-top: 0;\n\n      ${AdvanceButton} {\n        display: block;\n        margin: 0 0 10px 0 !important;\n        width: 100%;\n      }\n    }\n  `}\n`\nexport const NaoSei = styled.div`\n  position: absolute;\n  right: 0;\n  top: 0;\n  font-size: 12px;\n  text-decoration: underline;\n  cursor: pointer;\n  &:hover {\n    outline: none;\n  }\n`\nexport const ContainerEndereco = styled.div``\nexport const CaptchaContainer = styled.div`\n  margin-bottom: 2px;\n  margin-left: 10px;\n`\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport { FormGroup } from '../../Form/styles'\nimport TextField from '../../TextField'\nimport { useEffect, useState } from 'react'\nimport * as mask from '../masks'\nimport * as val from '../fieldValidator'\nimport * as S from '../styles'\nimport cadastro from '../../../api/cadastro'\nimport Loader from '../../Loader'\n\nconst RegisterStep2 = ({\n  formValues,\n  onChange,\n  handleChangeStep,\n  handleKeyDown\n}) => {\n  const {\n    cep,\n    logradouro,\n    numero,\n    complemento,\n    bairro,\n    cidade,\n    uf,\n    invalidCEP\n  } = formValues\n\n  const [load, setLoad] = useState(false)\n  const [isCepUnico, setIsCepUnico] = useState(false)\n  const [isBackButtonClicked, setBackbuttonPress] = useState(false)\n\n  const useActiveElement = () => {\n    useState(false) /** Useful when working with autoFocus */\n    const [activeElement, setActiveElement] = useState(document.activeElement)\n\n    useEffect(() => {\n      const onFocus = (event) => setActiveElement(event.target)\n      const onBlur = (event) => setActiveElement(null)\n\n      window.addEventListener('focus', onFocus, true)\n      window.addEventListener('blur', onBlur, true)\n\n      return () => {\n        window.removeEventListener('focus', onFocus)\n        window.removeEventListener('blur', onBlur)\n      }\n    }, [])\n\n    return {\n      activeElement,\n      listenersReady\n    }\n  }\n\n  const { activeElement, listenersReady } = useActiveElement()\n\n  const checkCEPUnico = (cep) => {\n    const lastDigits = cep.substr(-3)\n\n    if (lastDigits === '000') {\n      setIsCepUnico(true)\n    } else {\n      setIsCepUnico(false)\n    }\n  }\n\n  const getCEP = async (CEP, onChange) => {\n    setLoad(true)\n    let endereco = await cadastro.getCEP(CEP)\n    if (endereco.status === 200) {\n      onChange(false, 'invalidCEP')\n      endereco = await endereco.json()\n\n      onChange(endereco.bairro, 'bairro')\n      onChange(endereco.cidade, 'cidade')\n      onChange(endereco.endereco === '' ? '' : endereco.endereco, 'logradouro')\n      onChange(endereco.tipoLogradouro, 'tipoLogradouro')\n      onChange(endereco.uf, 'uf')\n    } else if (endereco.status === 204) {\n      onChange(true, 'invalidCEP')\n    }\n    setLoad(false)\n  }\n\n  const clearCEP = async (onChange) => {\n    onChange('', 'bairro')\n    onChange('', 'cidade')\n    onChange('', 'logradouro')\n    onChange('', 'tipoLogradouro')\n    onChange('', 'uf')\n  }\n\n  useEffect(() => {\n    if (!!cep) {\n      // console.log('verificar', cep)\n      checkCEPUnico(cep)\n    }\n  }, [])\n\n  useEffect(() => {\n    if (activeElement.name === 'CEP') {\n      if (cep?.length === 9 && cep?.substr(-3) === '000') {\n        checkCEPUnico(cep)\n        getCEP(mask.noMask(cep), onChange)\n      } else if (cep?.length === 9) {\n        getCEP(mask.noMask(cep), onChange)\n      } else {\n        clearCEP(onChange)\n      }\n    }\n  }, [cep])\n\n  useEffect(() => {\n    window.history.pushState(null, null, window.location.pathname)\n    window.addEventListener('popstate', onBackButtonEvent)\n\n    return () => {\n      window.removeEventListener('popstate', onBackButtonEvent)\n    }\n\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [])\n\n  const onBackButtonEvent = (e) => {\n    e.preventDefault()\n    if (!isBackButtonClicked) {\n      setBackbuttonPress(true)\n      handleChangeStep(false)\n    } else {\n      window.history.pushState(null, null, window.location.pathname)\n      setBackbuttonPress(false)\n    }\n  }\n\n  return (\n    <>\n      {load && <Loader />}\n      <S.ContainerEndereco>\n        <div className=\"col-group\">\n          <div className=\"col-12\" style={{ padding: '0px' }}>\n            <div className=\"col-4\">\n              <FormGroup\n                className=\"required\"\n                onBlur={() => {\n                  if (cep?.length === 9) {\n                    getCEP(mask.noMask(cep), onChange)\n                    checkCEPUnico(cep)\n                  } else {\n                    clearCEP(onChange)\n                  }\n                }}\n              >\n                <label htmlFor=\"CEP\">CEP</label>\n                <TextField\n                  error={\n                    formValues.errorTrigger[2] && val.cepVal(cep, invalidCEP)\n                  }\n                  maxlength={9}\n                  name=\"CEP\"\n                  value={cep}\n                  placeholder=\"Digite seu CEP\"\n                  // id=\"cep\"\n                  onChange={(e) =>\n                    onChange(mask.cepMask(e.target.value), 'cep')\n                  }\n                  success={!val.cepVal(cep, invalidCEP)}\n                />\n                <S.NaoSei\n                  onClick={() =>\n                    window.open(\n                      'https://buscacepinter.correios.com.br/app/localidade_logradouro/index.php'\n                    )\n                  }\n                >\n                  Não sei meu CEP\n                </S.NaoSei>\n              </FormGroup>\n            </div>\n            <div className=\"col-8\">\n              <FormGroup className=\"required\">\n                <label htmlFor=\"Logradouro\">Logradouro</label>\n                <TextField\n                  maxlength={40}\n                  name=\"logradouro\"\n                  value={logradouro}\n                  placeholder=\"Digite seu Logradouro\"\n                  onKeyDown={(e) => {\n                    handleKeyDown(e)\n                  }}\n                  onChange={(e) => {\n                    if (isCepUnico) {\n                      onChange(e.target.value.trimStart(), 'logradouro')\n                    }\n                  }}\n                  onBlur={(e) => {\n                    onChange(\n                      e.target.value.trimEnd().replace(/  +/g, ' '),\n                      'logradouro'\n                    )\n                  }}\n                  error={formValues.errorTrigger[2] && val.sizeVal(logradouro)}\n                  success={logradouro?.length > 0 && !val.sizeVal(logradouro)}\n                />\n              </FormGroup>\n            </div>\n          </div>\n          <div className=\"col-12\" style={{ padding: '0px' }}>\n            <div className=\"col-3\">\n              <FormGroup className=\"required\">\n                <label htmlFor=\"Numero\">Número</label>\n                <TextField\n                  maxlength={8}\n                  name=\"numero\"\n                  value={numero}\n                  placeholder=\"Numero\"\n                  onKeyDown={(e) => {\n                    handleKeyDown(e)\n                  }}\n                  onChange={(e) =>\n                    onChange(mask.noMask(e.target.value), 'numero')\n                  }\n                  error={formValues.errorTrigger[2] && val.sizeVal(numero)}\n                  success={numero?.length > 0 && !val.sizeVal(numero)}\n                />\n              </FormGroup>\n            </div>\n            <div className=\"col-5\">\n              <FormGroup>\n                <label htmlFor=\"Numero\">Complemento</label>\n                <TextField\n                  maxlength={40}\n                  name=\"complemento\"\n                  value={complemento}\n                  placeholder=\"Complemento\"\n                  onKeyDown={(e) => {\n                    handleKeyDown(e)\n                  }}\n                  onChange={(e) =>\n                    onChange(e.target.value.trimStart(), 'complemento')\n                  }\n                  onBlur={(e) => {\n                    onChange(\n                      e.target.value.trimEnd().replace(/  +/g, ' '),\n                      'complemento'\n                    )\n                  }}\n                  success={complemento?.length > 0 && !val.sizeVal(complemento)}\n                />\n              </FormGroup>\n            </div>\n            <div className=\"col-4\">\n              <FormGroup className=\"required\">\n                <label htmlFor=\"Bairro\">Bairro</label>\n                <TextField\n                  maxlength={40}\n                  name=\"bairro\"\n                  value={bairro}\n                  placeholder=\"Bairro\"\n                  onKeyDown={(e) => {\n                    handleKeyDown(e)\n                  }}\n                  onChange={(e) => {\n                    if (isCepUnico) {\n                      onChange(e.target.value.trimStart(), 'bairro')\n                    }\n                  }}\n                  onBlur={(e) => {\n                    onChange(\n                      e.target.value.trimEnd().replace(/  +/g, ' '),\n                      'bairro'\n                    )\n                  }}\n                  // onChange={(e) => onChange(e.target.value, 'bairro')}\n                  error={formValues.errorTrigger[2] && val.sizeVal(bairro)}\n                  success={bairro?.length > 0 && !val.sizeVal(bairro)}\n                />\n              </FormGroup>\n            </div>\n          </div>\n\n          <div className=\"col-12\" style={{ padding: '0px' }}>\n            <div className=\"col-9\">\n              <FormGroup className=\"required\">\n                <label htmlFor=\"Cidade\">Cidade</label>\n                <TextField\n                  maxlength={40}\n                  name=\"cidade\"\n                  value={cidade}\n                  placeholder=\"Cidade\"\n                  onKeyDown={(e) => {\n                    handleKeyDown(e)\n                  }}\n                  // onChange={(e) => onChange(e.target.value, 'cidade')}\n                  success={cidade?.length > 0 && !val.sizeVal(cidade)}\n                  error={formValues.errorTrigger[2] && val.sizeVal(cidade)}\n                />\n              </FormGroup>\n            </div>\n            <div className=\"col-3\">\n              <FormGroup className=\"required\">\n                <label htmlFor=\"UF\">UF</label>\n                <TextField\n                  maxlength={2}\n                  name=\"UF\"\n                  value={uf}\n                  placeholder=\"UF\"\n                  onKeyDown={(e) => {\n                    handleKeyDown(e)\n                  }}\n                  // onChange={(e) => onChange(e.target.value, 'uf')}\n                  success={!val.ufVal(uf)}\n                  error={formValues.errorTrigger[2] && val.ufVal(uf)}\n                />\n              </FormGroup>\n            </div>\n          </div>\n        </div>\n      </S.ContainerEndereco>\n    </>\n  )\n}\n\nexport default RegisterStep2\n","import * as S from './styles'\r\n\r\n\r\nconst Tooltip = ({ icon, label, message }) => {\r\n  const TooltipBody = () => (\r\n    <S.WrapperL>\r\n      {!!icon && icon}\r\n      <S.TooltipBox>{message}</S.TooltipBox>\r\n    </S.WrapperL>\r\n  )\r\n\r\n  if (label) {\r\n    return (\r\n      <S.LabelTooltip htmlFor=\"whatsapp\">\r\n        {label}\r\n        <TooltipBody />\r\n      </S.LabelTooltip>\r\n    )\r\n  }\r\n\r\n  return <TooltipBody />\r\n}\r\n\r\nexport default Tooltip\r\n","import clientes from '../../api/clientes'\nimport { validDDDs } from '../FormPF/fieldValidator'\n\nexport const cnpjRepetido = async (documento, setReceitaFederalEnabled) => {\n  const res = await clientes.validarDocumento(documento)\n  const body = await res.json()\n\n  setReceitaFederalEnabled(body.validacaoExternaDadosClientePJ)\n  localStorage.setItem('preCadastro', 'false')\n\n  if (!!body.preCadastro) {\n    localStorage.setItem('preCadastro', 'true')\n    return undefined\n  }\n  if (!!body.existe) {\n    return 'CNPJ já cadastrado'\n  }\n\n  return undefined\n}\n\nexport const cnpjRepetidoVal = (value) => {\n  return value\n}\n\nexport const validatePassword = (password, fieldName, confirmPassword) => {\n  const uppercaseRegex = /[A-Z]/\n  const lowercaseRegex = /[a-z]/\n  const specialCharRegex = /[(!@#$%^*&)]/\n  const numberRegex = /\\d/\n\n  const passwordValidation = {\n    uppercase: false,\n    lowercase: false,\n    specialChar: false,\n    number: false,\n    length: false,\n    matchConfirmation: false\n  }\n\n  if (fieldName === 'senha' && password !== undefined) {\n    passwordValidation.uppercase = uppercaseRegex.test(password)\n    passwordValidation.lowercase = lowercaseRegex.test(password)\n    passwordValidation.specialChar = specialCharRegex.test(password)\n    passwordValidation.number = numberRegex.test(password)\n    passwordValidation.length = password.length >= 8\n    passwordValidation.matchConfirmation = password === confirmPassword\n  }\n\n  if (fieldName === 'confirmaSenha') {\n    passwordValidation.matchConfirmation = password === confirmPassword\n  }\n  return passwordValidation\n}\n\nexport function validateReceitaError(error, field, message) {\n  // console.log({ field, message })\n  // if (field === 'Inscrição Estadual' && error) return `${message}`\n\n  // if (error) return `${field} não condiz com Receita Federal`\n  if (error) return `${message}`\n}\nfunction validarCNPJ(cnpj) {\n  // Remove caracteres não numéricos\n  cnpj = cnpj.replace(/[^\\d]+/g, '')\n\n  // Verifica se o CNPJ tem 14 dígitos\n  if (!cnpj || cnpj.length !== 14) return false\n\n  // Verifica se todos os dígitos são iguais\n  if (/^(\\d)\\1{13}$/.test(cnpj)) return false\n\n  // Função auxiliar para cálculo dos dígitos verificadores\n  const calcularDigito = (cnpj, tamanho) => {\n    let soma = 0\n    let pos = tamanho - 7\n    for (let i = tamanho; i >= 1; i--) {\n      soma += cnpj.charAt(tamanho - i) * pos--\n      if (pos < 2) pos = 9\n    }\n    return soma % 11 < 2 ? 0 : 11 - (soma % 11)\n  }\n\n  // Valida o primeiro dígito verificador\n  const tamanho = 12\n  const numeros = cnpj.substring(0, tamanho)\n  const digitos = cnpj.substring(tamanho)\n  const digito1 = calcularDigito(numeros, tamanho)\n  if (digito1 !== parseInt(digitos.charAt(0), 10)) return false\n\n  // Valida o segundo dígito verificador\n  const digito2 = calcularDigito(cnpj.substring(0, tamanho + 1), tamanho + 1)\n  if (digito2 !== parseInt(digitos.charAt(1), 10)) return false\n\n  return true\n}\n\nexport const cnpjVal = (value = '', extraError = undefined) => {\n  if (value?.length < 1) return 'Preencher campo obrigatório'\n  if (value?.length < 18) return 'CNPJ deve ser composto de 14 dígitos'\n  if (!validarCNPJ(value)) return 'CNPJ inválido'\n  if (extraError !== undefined) return extraError\n  return undefined\n}\n\nexport const contatoVal = (value = '') =>\n  value?.length < 1 ? 'Preencher campo obrigatório' : undefined\n\nexport const razaoVal = (value = '') => {\n  if (value?.length < 1) return 'Preencher campo obrigatório'\n\n  return value?.length < 3 ? 'Mínimo de 3 caracteres' : undefined\n}\n\nexport const nomeFanVal = (value = '') => {\n  if (value?.length < 1) return 'Preencher campo obrigatório'\n\n  return value?.length < 3 ? 'Mínimo de 3 caracteres' : undefined\n}\nexport const cellVal = (value) => {\n  if (!value || value?.length < 1) return 'Preencher campo obrigatório'\n\n  const sanitizedValue = value.replace(/[^\\d]/g, '')\n\n  // Regex para verificar se o número é composto por todos os dígitos iguais\n  const repeatedDigitRegex = /^(.)\\1{10}$/\n  if (repeatedDigitRegex.test(sanitizedValue)) {\n    return 'Número de celular inválido'\n  }\n\n  // Verifica se o comprimento do número é válido\n  if (sanitizedValue.length < 11) {\n    return 'Número de celular incompleto'\n  }\n\n  // Verificação do DDD válido\n\n  const ddd = parseInt(sanitizedValue.substring(0, 2), 10)\n  if (!validDDDs.includes(ddd)) {\n    return 'DDD inválido'\n  }\n\n  return undefined\n}\n\nexport const comercialPhoneVal = (value) => {\n  if (!value || value?.length < 1) return 'Preencher campo obrigatório'\n  const sanitizedValue = value.replace(/[^\\d]/g, '')\n\n  // Verifica se o comprimento do número é válido (deve ser 10 dígitos)\n  if (sanitizedValue.length < 10) {\n    return 'Número de telefone incompleto'\n  }\n\n  // Regex para verificar se o número é composto por todos os dígitos iguais\n  const repeatedDigitRegex = /^(.)\\1{9}$/\n  if (repeatedDigitRegex.test(sanitizedValue)) {\n    return 'Número de telefone inválido'\n  }\n\n  const ddd = parseInt(sanitizedValue.substring(0, 2), 10)\n  if (!validDDDs.includes(ddd)) {\n    return 'DDD inválido'\n  }\n\n  return undefined\n}\n\nexport const inscEstVal = (value = '', valid, uf) => {\n  if (value?.length < 1) return 'Preencher campo obrigatório'\n  if (value === 'ISENTO') return undefined\n\n  if (valid === false) return `Inválida para estado de ${uf}`\n\n  return value?.length < 8\n    ? 'Inscrição estadual possui no mínimo 8 digitos'\n    : undefined\n}\nexport const validateInscEstadual = async (inscricaoEstadual, cepUF) => {\n  const data = await clientes\n    .getInscricaoEstadual(inscricaoEstadual, cepUF)\n    .then((res) => res.text())\n\n  if (data.length === 0 && inscricaoEstadual?.length >= 8) {\n    return { valid: true, message: '' }\n  } else {\n    return { valid: false, message: data }\n  }\n}\n\nexport const inscMunVal = (value = '') =>\n  value?.length < 1 ? 'Preencher Inscrição Municipal' : undefined\n\nexport const openVal = (value = '') => {\n  if (value?.length < 1) return 'Preencher campo obrigatório'\n  const now = new Date()\n  const nowYear = now.getFullYear()\n  const nowMonth = now.getMonth() + 1\n  const nowDay = now.getDate()\n  const dates = value?.split('/') || []\n  const day = +dates[0]\n  const month = +dates[1]\n  const year = +dates[2]\n\n  if (\n    year > nowYear ||\n    (year === nowYear && nowMonth < month) ||\n    (year === nowYear && month === nowMonth && day > nowDay)\n  )\n    return 'Favor preencher com data válida'\n\n  if ((value?.length || 0) < 10) return 'Data de abertura obrigatória'\n  if (day < 1 || day > 31) return 'O dia de abertura deve ser entre 01 e 31'\n  if (month < 1 || month > 12) return 'O mês de abertura deve ser entre 01 e 12'\n  if (year < 1700) return 'Favor preencher com ano válido'\n\n  if (\n    month === 2 &&\n    ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0)\n  ) {\n    if (day > 29) return 'Favor preencher data válida'\n  } else if (month === 2) {\n    if (day > 28) return 'Favor preencher data válida'\n  } else if ([4, 6, 9, 11].includes(month) && day > 30) {\n    return 'Favor preencher data válida'\n  } else if (day > 31) {\n    return 'Favor preencher data válida'\n  }\n\n  return undefined\n}\n\nexport const selectVal = (value = -1) => {\n  if (value === -1 || value === '-1') return 'Selecionar campo obrigatório'\n  return undefined\n}\n\nexport const selectValOrigem = (value) => {\n  if (value < 1) return 'Escolha uma opção'\n\n  return undefined\n}\n\nexport const admVal = (value = -1, value2 = -1) => {\n  if (+value === -1) return 'Selecionar campo obrigatório'\n  // if (+value > +value2)\n  //   return 'Numero de funcionarios ADM maior que o número total de funcionários'\n  return undefined\n}\n\nexport const strAdmVal = (value = -1, value2 = -1) => {\n  if (+value === -1) return 'Selecionar campo obrigatório'\n  // if (value > value2)\n  //   return 'Numero de funcionarios ADM maior que o número total de funcionários'\n  return ''\n}\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport { FormGroup } from '../../Form/styles'\nimport { useEffect, useState } from 'react'\nimport ReCAPTCHA from 'react-google-recaptcha'\nimport TextField from '../../TextField'\nimport Tooltip from '../../../components/Tooltip/left'\nimport * as val from '../fieldValidator'\nimport {\n  cpfMask,\n  dateMask,\n  cellMask,\n  fixPhoneMask,\n  nameMask,\n  preNameMask\n} from '../masks'\nimport {\n  birthVal,\n  cellVal,\n  cpfVal,\n  cpfRepetido,\n  fixPhoneVal,\n  nameVal\n} from '../fieldValidator'\nimport * as S from './styles'\nimport { selectValOrigem } from '../../FormPJ/fieldValidator'\n\nconst RegisterStep3 = ({\n  formValues,\n  onChange,\n  handleChangeStep,\n  handleKeyDown,\n  onCaptchaChange\n}) => {\n  const {\n    name,\n    likelyName,\n    cpf,\n    dateOfBirth,\n    cellphone,\n    phone,\n    emails,\n    whatsApp,\n    acceptTerms,\n    cpfCadastrado,\n    idComoConheceu\n  } = formValues\n\n  const [cpfTrigger, setCpfTrigger] = useState(true)\n  const [isBackButtonClicked, setBackbuttonPress] = useState(false)\n  const [options, setOptions] = useState([])\n\n  const getComoConheceu = async () => {\n    return await fetch(\n      `${process.env.REACT_APP_API_CLIENTES}clientes/como-conheceu`,\n      {\n        method: 'GET',\n        headers: { 'Content-Type': 'application/json' }\n      }\n    ).then((response) => {\n      return response.json()\n    })\n  }\n\n  useEffect(() => {\n    if (cpf.length === 14 && cpfTrigger) {\n      cpfRepetido(cpf).then((res) => onChange(res, 'cpfCadastrado'))\n      setCpfTrigger(false)\n    } else if (cpf.length < 14 && !cpfTrigger) {\n      setCpfTrigger(true)\n    }\n  }, [cpf])\n\n  useEffect(() => {\n    const fetchOptions = async () => {\n      const data = await getComoConheceu()\n      const filteredOptions = data.filter((item) => item.status)\n      setOptions(filteredOptions)\n    }\n\n    fetchOptions()\n  }, [])\n\n  useEffect(() => {\n    window.history.pushState(null, null, window.location.pathname)\n    window.addEventListener('popstate', onBackButtonEvent)\n\n    return () => {\n      window.removeEventListener('popstate', onBackButtonEvent)\n    }\n  }, [])\n\n  const onBackButtonEvent = (e) => {\n    e.preventDefault()\n    if (!isBackButtonClicked) {\n      setBackbuttonPress(true)\n      handleChangeStep(false)\n    } else {\n      window.history.pushState(null, null, window.location.pathname)\n      setBackbuttonPress(false)\n    }\n  }\n\n  return (\n    <div className=\"col-group\">\n      <div className=\"col-12\" style={{ padding: '0px' }}>\n        <div className=\"col-8\">\n          <FormGroup className=\"form-group required\">\n            <label htmlFor=\"\">Nome Completo</label>\n            <TextField\n              maxlength={50}\n              name=\"name\"\n              value={name}\n              placeholder=\"Digite seu nome\"\n              onKeyDown={(e) => {\n                handleKeyDown(e)\n              }}\n              onChange={(e) =>\n                onChange(nameMask(e.target.value.trimStart()), 'name')\n              }\n              onBlur={(e) => {\n                onChange(e.target.value.trimEnd().replace(/  +/g, ' '), 'name')\n              }}\n              error={nameVal(name)}\n              success={name?.length > 0 && !nameVal(name)}\n            />\n          </FormGroup>\n        </div>\n        <div className=\"col-4\">\n          <FormGroup>\n            <label htmlFor=\"\">Como deseja ser chamado(a)?</label>\n            <TextField\n              maxlength={20}\n              name=\"likelyName\"\n              value={likelyName}\n              placeholder=\"\"\n              onKeyDown={(e) => {\n                handleKeyDown(e)\n              }}\n              onChange={(e) =>\n                onChange(preNameMask(e.target.value.trimStart()), 'likelyName')\n              }\n              onBlur={(e) => {\n                onChange(\n                  e.target.value.trimEnd().replace(/  +/g, ' '),\n                  'likelyName'\n                )\n              }}\n              success={likelyName?.length > 0 && !val.sizeVal(likelyName)}\n            />\n          </FormGroup>\n        </div>\n      </div>\n\n      <div className=\"col-12\" style={{ padding: '0px' }}>\n        <div className=\"col-3\">\n          <FormGroup className=\"form-group required\">\n            <label htmlFor=\"\">CPF</label>\n            <TextField\n              maxlength={15}\n              name=\"cpf\"\n              value={cpf}\n              placeholder=\"xxx.xxx.xxx-xx\"\n              onKeyDown={(e) => {\n                handleKeyDown(e)\n              }}\n              onChange={(e) => onChange(cpfMask(e.target.value), 'cpf')}\n              error={cpfVal(cpf, cpfCadastrado)}\n              success={!!!cpfVal(cpf, cpfCadastrado)}\n            />\n          </FormGroup>\n        </div>\n        <div className=\"col-3\">\n          <FormGroup className=\"form-group required\">\n            <label htmlFor=\"\">Data de nascimento</label>\n            <TextField\n              maxlength={10}\n              name=\"dateOfBirth\"\n              value={dateOfBirth}\n              placeholder=\"dd/mm/aaaa\"\n              onKeyDown={(e) => {\n                handleKeyDown(e)\n              }}\n              onChange={(e) =>\n                onChange(dateMask(e.target.value), 'dateOfBirth')\n              }\n              error={birthVal(dateOfBirth)}\n              success={!birthVal(dateOfBirth)}\n            />\n          </FormGroup>\n        </div>\n\n        <div className=\"col-3\">\n          <FormGroup className=\"form-group required\">\n            <label htmlFor=\"\">Tel. Celular</label>\n            <TextField\n              maxlength={20}\n              name=\"cellphone\"\n              value={cellphone}\n              placeholder=\"(xx) xxxxx-xxxx\"\n              onKeyDown={(e) => {\n                handleKeyDown(e)\n              }}\n              onChange={(e) => onChange(cellMask(e.target.value), 'cellphone')}\n              error={cellVal(cellphone)}\n              success={!cellVal(cellphone)}\n            />\n          </FormGroup>\n        </div>\n        <div className=\"col-3\">\n          <FormGroup className=\"form-group\">\n            <label htmlFor=\"\">Tel. Residencial</label>\n            <TextField\n              maxlength={20}\n              name=\"phone\"\n              value={phone}\n              placeholder=\"(xx) xxxx-xxxx\"\n              onKeyDown={(e) => {\n                handleKeyDown(e)\n              }}\n              onChange={(e) => onChange(fixPhoneMask(e.target.value), 'phone')}\n              error={phone.length > 0 && fixPhoneVal(phone)}\n              success={phone.length > 0 && !fixPhoneVal(phone)}\n            />\n          </FormGroup>\n        </div>\n      </div>\n\n      <div className=\"col-12\" style={{ padding: '0 0 0 10px' }}>\n        <FormGroup className=\"form-group required\">\n          <label>Como conheceu o Gimba?</label>\n          <S.RadioGroup>\n            {options.map((option) => (\n              <div key={option.id} className=\"radio-option\">\n                <input\n                  type=\"radio\"\n                  id={option.nome}\n                  name=\"idComoConheceu\"\n                  value={option.id}\n                  checked={formValues.idComoConheceu === option.id}\n                  onChange={(e) =>\n                    onChange(parseInt(e.target.value, 10), 'idComoConheceu')\n                  }\n                  error={!selectValOrigem(idComoConheceu)}\n                  sucess={selectValOrigem(idComoConheceu)}\n                />\n                <label htmlFor={option.nome}>{option.nome}</label>\n              </div>\n            ))}\n          </S.RadioGroup>\n        </FormGroup>\n      </div>\n\n      <div className=\"col-12\" style={{ padding: '0px' }}>\n        <S.CaptchaContainer\n          style={{ transform: 'scale(0.95)', transformOrigin: '0 0' }}\n        >\n          <ReCAPTCHA\n            sitekey={process.env.REACT_APP_CAPTCHA_SITEKEY}\n            onChange={onCaptchaChange}\n          />\n        </S.CaptchaContainer>\n      </div>\n\n      <div className=\"col-12\" style={{ padding: '0 10px 0 0' }}>\n        <S.TermsWrapper className=\"cadastro-aceite-termos\">\n          <FormGroup className=\"form-group\">\n            <input\n              checked={formValues.whatsApp}\n              type=\"checkbox\"\n              id=\"whatsApp\"\n              onChange={(e) => onChange(!formValues.whatsApp, 'whatsApp')}\n            />\n            <label htmlFor=\"whatsApp\">\n              <div style={{ width: '255px' }}>\n                <p>Receber comunicação via Whatsapp </p>\n              </div>\n            </label>\n            <Tooltip\n              icon={<i className=\"icon icon-info\"></i>}\n              message=\"Você receberá uma mensagem a cada atualização de pedido, ofertas promocionais do Gimba e parceiros.\"\n            />\n          </FormGroup>\n          <FormGroup className=\"form-group\">\n            <input\n              checked={formValues.emails}\n              type=\"checkbox\"\n              id=\"email\"\n              name=\"emails\"\n              onClick={() => onChange(!emails, 'emails')}\n            />\n            <label htmlFor=\"email\">\n              Receber e-mails promocionais e de parceiros\n            </label>\n          </FormGroup>\n          <FormGroup className=\"form-group\">\n            <input\n              checked={formValues.acceptTerms}\n              type=\"checkbox\"\n              id=\"termo\"\n              name=\"acceptTerms\"\n              onClick={() => onChange(!acceptTerms, 'acceptTerms')}\n            />\n            <label htmlFor=\"termo\">\n              Aceito os Termos e condições e autorizo o uso de meus dados de\n              acordo com a{' '}\n              <a\n                href={`${process.env.REACT_APP_URL_MAIN}/institucional/seguranca-privacidade`}\n                target=\"_blank\"\n                rel=\"noreferrer\"\n              >\n                Declaração de Privacidade\n              </a>\n            </label>\n          </FormGroup>\n        </S.TermsWrapper>\n      </div>\n    </div>\n  )\n}\n\nexport default RegisterStep3\n","import styled from 'styled-components'\nimport { theme } from './theme'\n\nexport const AccordionMenu = styled.div`\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 50px 30px;\n  border-radius: 15px;\n`\n\nexport const AccordionItens = styled.div`\n  display: flex;\n  flex-direction: column;\n  padding-top: 20px;\n  gap: 15px;\n`\nexport const AccordionItemStyle = styled.div`\n  display: flex;\n  flex-direction: column;\n  padding: 25px;\n  border-radius: 15px;\n  background-color: ${theme.colors.white};\n  transition: 0.25s background-color;\n  cursor: pointer;\n\n  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;\n\n  .accordion-content {\n    max-height: 0;\n    overflow: hidden;\n    margin: 0;\n    transition: 0.5s max-height, 0.5s margin;\n  }\n\n  .accordion-content.active {\n    max-height: fit-content;\n    margin: 30px 0 0 0;\n  }\n`\nexport const AccordionIcon = styled.div`\n  display: flex;\n  justify-content: center;\n  align-items: center;\n\n  .icon {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    margin: 10px;\n    width: 38px;\n    height: 38px;\n    background-color: ${theme.colors.primary};\n    border-radius: 50%;\n  }\n\n  svg {\n    color: ${theme.colors.white};\n    height: 25px;\n    width: 25px;\n  }\n\n  p {\n    font-size: 20px;\n  }\n`\n\nexport const AccordionItemTitle = styled.div`\n  display: flex;\n  justify-content: space-between;\n  align-items: center; /* Centraliza verticalmente os itens */\n  color: ${theme.colors.primary};\n  font-size: 20.74px;\n  font-weight: 400;\n\n  .success-indicator {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    background-color: ${theme.colors.success};\n    color: ${theme.colors.white};\n    border-radius: 50%;\n    width: 40px;\n    height: 40px;\n    font-size: 30px;\n  }\n\n  .success-indicator::before {\n    content: '✔';\n    font-size: 30px;\n    line-height: 1;\n  }\n`\n","import React, { useEffect, useRef } from 'react'\nimport {\n  AccordionIcon,\n  AccordionItemStyle,\n  AccordionItemTitle\n} from '../../styles/accordion'\nimport { FaUser } from 'react-icons/fa'\nimport { FaBuilding } from 'react-icons/fa'\nimport { GiHouse } from 'react-icons/gi'\nimport { FaPhoneAlt } from 'react-icons/fa'\n\nconst AccordionItem = ({\n  title,\n  children,\n  current,\n  isActive,\n  step1Success,\n  step2Success,\n  onClick,\n  type\n}) => {\n  const titleRef = useRef(null)\n\n  useEffect(() => {\n    if (isActive && titleRef.current) {\n      titleRef.current.scrollIntoView({ behavior: 'smooth', block: 'start' })\n    }\n  }, [isActive])\n\n  const getIcon = (current, type) => {\n    if (current === 1) return <FaUser />\n    if (current === 2 && type === 'pf') return <GiHouse />\n    if (current === 2 && type === 'pj') return <FaBuilding />\n    if (current === 3) return <FaPhoneAlt />\n\n    return null\n  }\n\n  return (\n    <AccordionItemStyle onClick={onClick} ref={titleRef}>\n      <AccordionItemTitle>\n        <AccordionIcon>\n          <div className=\"icon\">{getIcon(current, type)}</div>\n          <p>{title}</p>\n        </AccordionIcon>\n        {step1Success && !isActive ? <p className=\"success-indicator\"></p> : ''}\n        {step2Success && !isActive ? <p className=\"success-indicator\"></p> : ''}\n      </AccordionItemTitle>\n      <div className={`accordion-content ${isActive ? 'active' : ''}`}>\n        {children}\n      </div>\n    </AccordionItemStyle>\n  )\n}\n\nexport default AccordionItem\n","import styled, { css } from 'styled-components'\n\nimport {\n  Button,\n  ButtonBack,\n  ButtonIcon,\n  ButtonPrimary\n} from '../../components/Button/styles'\n\nexport const WrapperMedium = styled.div`\n  ${({ theme }) => css`\n    margin: auto;\n    max-width: 1000px;\n    position: relative;\n    width: 100%;\n\n    @media (max-width: ${theme.media.ipad}) {\n      max-width: 90%;\n    }\n  `}\n`\n\nexport const FormFooter = styled.div`\n  min-height: 100px;\n  ${({ theme }) => css`\n    @media (max-width: ${theme.media.ipad}) {\n      position: fixed;\n      bottom: 0;\n      width: 100%;\n      background: #fbfbfb;\n      padding: 20px 0;\n      z-index: 999;\n    }\n  `}\n`\n\nexport const AdvanceButton = styled.button`\n  ${({ theme }) => css`\n    cursor: pointer;\n    ${Button(theme)}\n    ${ButtonPrimary(theme)}\n    ${ButtonIcon}\n    margin-left: 15px;\n  `}\n`\n\nexport const BackButton = styled.button`\n  ${({ theme }) => css`\n    cursor: pointer;\n    ${Button(theme)}\n    ${ButtonBack(theme)}\n      ${ButtonIcon}\n  `}\n`\n\nexport const FormFooterContent = styled.div`\n  ${({ theme }) => css`\n    display: flex;\n    justify-content: flex-end;\n    margin-top: 30px;\n    margin-bottom: 30px;\n\n    @media (max-width: ${theme.media.cel}) {\n      flex-direction: column-reverse;\n      margin-top: 0;\n\n      ${AdvanceButton} {\n        display: block;\n        margin: 0 0 10px 0 !important;\n        width: 100%;\n      }\n    }\n  `}\n`\n","import * as S from './styles'\n\nconst AccordionButton = ({\n  current,\n  handleChangeStep,\n  trigger,\n  handleSubmit\n}) => {\n  const handleButtonClick = async (forwards) => {\n    const success = await handleChangeStep(forwards)\n    if (!success) return\n  }\n\n  const handleSubmitClick = async () => {\n    await handleSubmit()\n  }\n\n  return (\n    <S.FormFooterContent>\n      {current !== 1 && (\n        <S.BackButton onClick={() => handleButtonClick(false)}>\n          <i className=\"icon icon-arrow-button-left\"></i> Voltar\n        </S.BackButton>\n      )}\n\n      {current === 3 ? (\n        <S.AdvanceButton onClick={handleSubmitClick}>\n          {trigger ? <div>Finalizar Cadastro</div> : <div>...Cadastrando</div>}\n        </S.AdvanceButton>\n      ) : (\n        <S.AdvanceButton onClick={() => handleButtonClick(true)}>\n          <div>\n            Continuar <i className=\"icon icon-arrow-button-right\"></i>\n          </div>\n        </S.AdvanceButton>\n      )}\n    </S.FormFooterContent>\n  )\n}\n\nexport default AccordionButton\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState, useRef } from 'react'\nimport { useHistory } from 'react-router-dom'\nimport cadastro from '../../api/cadastro'\nimport { RegisterStep1, RegisterStep2, RegisterStep3 } from './Steps'\nimport { useSelector } from 'react-redux'\nimport clientes from '../../api/clientes'\nimport Loader from '../Loader'\nimport { useToast } from '../../hooks/toast'\nimport { Wrapper } from '../PreRegisterForm/styles'\nimport * as S from './styles'\nimport {\n  cellVal,\n  cpfVal,\n  emailConfVal,\n  emailVal,\n  fixPhoneVal,\n  nameVal,\n  preNameVal,\n  fieldVal,\n  passVal,\n  passConfVal,\n  fieldValComp,\n  cepVal,\n  sizeVal,\n  ufVal,\n  cpfRepetidoVal,\n  birthVal\n} from './fieldValidator'\nimport {\n  dateString,\n  dddString,\n  phoneString,\n  noMask\n} from '../../components/FormPF/masks'\nimport { selectValOrigem } from '../../components/FormPJ/fieldValidator'\nimport AccordionItem from '../AccordionItem'\nimport AccordionButton from '../AccordionButton'\nimport { AccordionItens, AccordionMenu } from '../../styles/accordion'\n\nconst FormPF = ({ type, email, setType, name, setSelectedType }) => {\n  const dados = useSelector((store) => store.facebook.dados)\n  let { addToast } = useToast()\n  let router = useHistory()\n  const [trigger, setTrigger] = useState(true)\n  const [current, setCurrent] = useState(1)\n  const [load, setLoad] = useState(false)\n  const [formValues, setFormvalues] = useState({\n    email: '',\n    emailConfirm: '',\n    password: '',\n    passwordConfirm: '',\n    name: '',\n    likelyName: '',\n    cpf: '',\n    dateOfBirth: '',\n    genre: '',\n    cellphone: '',\n    phone: '',\n    whatsApp: false,\n    emails: false,\n    acceptTerms: false,\n    errorTrigger: { 1: false, 2: false, 3: false },\n    cpfCadastrado: undefined,\n    idComoConheceu: 0\n  })\n  const [captcha, setCaptcha] = useState({\n    value: '',\n    expired: false\n  })\n\n  const titleRefs = useRef([useRef(null), useRef(null), useRef(null)])\n\n  const handleChange = (value, field) => {\n    setFormvalues((prev) => ({\n      ...prev,\n      [field]: value\n    }))\n  }\n\n  const handleAccordionClick = async (newActiveAccordion) => {\n    if (newActiveAccordion !== current) {\n      // Lógica para verificar se os passos anteriores foram completados com sucesso\n      if (newActiveAccordion === 2 && !step1Success) {\n        addToast({\n          type: 'error',\n          title: 'Erro',\n          description: 'Preencher passo anterior corretamente'\n        })\n        return\n      }\n      if (newActiveAccordion === 3 && (!step1Success || !step2Success)) {\n        addToast({\n          type: 'error',\n          title: 'Erro',\n          description: 'Preencher passos anteriores corretamente'\n        })\n        return\n      }\n      const success = await handleChangeStep(true)\n      if (success) {\n        setCurrent(newActiveAccordion)\n      }\n    }\n  }\n  const onCaptchaChange = (value) => {\n    if (value === null) {\n      setCaptcha({\n        value: value,\n        expired: true\n      })\n    } else {\n      setCaptcha({ value: value, expired: false })\n    }\n  }\n\n  useEffect(() => {\n    const { nome } = dados\n    if (nome.length > 0) handleChange(nome, 'name')\n    setSelectedType('pf')\n  }, [])\n\n  useEffect(() => {\n    if (email)\n      setFormvalues((prev) => ({\n        ...prev,\n        email\n      }))\n    if (name)\n      setFormvalues((prev) => ({\n        ...prev,\n        name\n      }))\n  }, [email, name])\n\n  const handleSubmit = async () => {\n    setLoad(true) // Ativa o loader\n    const {\n      emailConfirm,\n      likelyName,\n      cpf,\n      dateOfBirth,\n      cellphone,\n      phone,\n      password,\n      passwordConfirm,\n      emails,\n      whatsApp,\n      acceptTerms,\n      cpfCadastrado,\n      idComoConheceu\n    } = formValues\n    const msg =\n      fieldVal(\n        [\n          formValues.email,\n          likelyName,\n          cpf,\n          dateOfBirth,\n          cellphone,\n          password,\n          phone,\n          formValues.name,\n          cpfCadastrado,\n          idComoConheceu\n        ],\n        [\n          emailVal,\n          preNameVal,\n          cpfVal,\n          birthVal,\n          cellVal,\n          passVal,\n          fixPhoneVal,\n          nameVal,\n          cpfRepetidoVal,\n          selectValOrigem\n        ]\n      ) +\n      fieldValComp(\n        [formValues.email, emailConfirm, password, passwordConfirm],\n        [emailConfVal, passConfVal]\n      )\n    if (msg.length > 1 && !msg.includes('Escolha uma opção')) {\n      setLoad(false)\n      return addToast({\n        type: 'error',\n        title: 'Preencher campos obrigatórios',\n        description: ''\n      })\n    } else if (msg.includes('Escolha uma opção')) {\n      setLoad(false) // Desativa o loader\n      console.log(msg)\n      return addToast({\n        type: 'error',\n        title: 'Escolha uma opção',\n        description: 'Como conheceu o gimba?'\n      })\n    } else if (!acceptTerms) {\n      setLoad(false) // Desativa o loader\n      return addToast({\n        type: 'error',\n        title: 'Termos e condições não aceito',\n        description: 'Aceitar os Termos e condições'\n      })\n    } else if (captcha.value === '') {\n      setLoad(false) // Desativa o loader\n      addToast({\n        type: 'error',\n        title: 'Por favor, complete a verificação \"Não sou um Robô\"'\n      })\n    } else if (captcha.expired === true) {\n      setLoad(false) // Desativa o loader\n      addToast({\n        type: 'error',\n        title:\n          'Verificação expirada. Por favor, marque novamente a caixa de seleção'\n      })\n    } else {\n      try {\n        const formBody = {\n          cpf: cpf,\n          nome: formValues.name,\n          dataNascimento: dateString(dateOfBirth),\n          senha: password,\n          token: '4a0c45d784324c03acf4f8236180e849',\n          guidJwt: captcha.value,\n          apelido: likelyName,\n          receberNovidades: emails,\n          receberWhatsApp: whatsApp,\n          email: formValues.email,\n          rg: '',\n          rgOrgaoEmissor: '',\n          telefoneResidencialDDD: dddString(phone),\n          telefoneResidencialNumero: phoneString(phone),\n          telefoneCelularNumero: phoneString(cellphone),\n          telefoneCelularDDD: dddString(cellphone),\n          telefoneComercialDDD: '',\n          telefoneComercialNumero: '',\n          telefoneComercialRamal: '',\n          idComoConheceu: formValues.idComoConheceu,\n          endereco: {\n            id: 0,\n            padrao: true,\n            tipoEndereco: 'C',\n            tipoLogradouro: formValues.tipoLogradouro,\n            apelido: 'Cobrança',\n            logradouro: formValues.logradouro,\n            pontoReferencia: formValues.pontoReferencia,\n            numero: formValues.numero,\n            complemento: formValues.complemento,\n            bairro: formValues.bairro,\n            cidade: formValues.cidade,\n            uf: formValues.uf,\n            cep: noMask(formValues.cep)\n          },\n          clienteSocialMediaModel: {\n            userId: dados.facebookId,\n            providerKey: '',\n            loginProvider: '',\n            email: formValues.email,\n            nome: formValues.name\n          }\n        }\n\n        setTrigger(false)\n\n        let res\n\n        if (JSON.parse(localStorage.getItem('preCadastro'))) {\n          res = await cadastro.preCadastroClientePF(formBody)\n        } else {\n          res = await cadastro.cadastroClientePF(formBody)\n        }\n        const { status } = res\n\n        if (status >= 200 && status < 300) {\n          setLoad(false) // Desativa o loader\n          return router.push('/cadastro-sucesso', {\n            email: formBody.email\n          })\n        } else {\n          setTrigger(true)\n          setLoad(false) // Desativa o loader\n          return addToast({\n            type: 'Erro',\n            title: 'error',\n            description:\n              res.errors.Messages[0] ||\n              'Ocorreu um problema, tente mais tarde novamente'\n          })\n        }\n      } catch (e) {\n        setLoad(false) // Desativa o loader em caso de erro\n        addToast({\n          type: 'error',\n          title: 'Erro no cadastro',\n          description:\n            'Ocorreu um problema durante o cadastro. Tente novamente mais tarde.'\n        })\n      }\n    }\n  }\n  const [step1Success, setStep1Success] = useState(false)\n  const [step2Success, setStep2Success] = useState(false)\n\n  const handleChangeStep = async (forwards) => {\n    if (current === 3 && forwards) {\n      handleChange({ 1: true, 2: true, 3: true }, 'errorTrigger')\n      const msg = fieldVal(\n        [\n          formValues.name,\n          formValues.cpf,\n          formValues.dateOfBirth,\n          formValues.contato,\n          formValues.idComoConheceu\n        ],\n        [nameVal, cpfVal, birthVal, cellVal, selectValOrigem]\n      )\n\n      if (msg.length > 1) {\n        addToast({\n          type: 'error',\n          title: 'Preencha os campos corretamente',\n          description: ''\n        })\n        return false\n      }\n\n      return true\n    } else if (current === 1 && !forwards) {\n      setType(undefined)\n      return true\n    } else if (current === 1 && !forwards) {\n      setType(undefined)\n      return true\n    } else if (current === 1 && forwards) {\n      handleChange({ 1: true, 2: false, 3: false }, 'errorTrigger')\n      const msg =\n        fieldVal([formValues.email, formValues.password], [emailVal, passVal]) +\n        fieldValComp(\n          [\n            formValues.email,\n            formValues.emailConfirm,\n            formValues.password,\n            formValues.passwordConfirm\n          ],\n          [emailConfVal, passConfVal]\n        )\n      if (msg.length > 1) {\n        addToast({\n          type: 'error',\n          title: 'Preencher campos corretamente'\n        })\n        return false\n      }\n      if (JSON.parse(localStorage.getItem('preCadastro'))) {\n        setLoad(true)\n        let valid\n        try {\n          valid = await clientes.email(formValues.email)\n        } catch (e) {}\n        if (valid?.status === 200) {\n          setLoad(false)\n          addToast({\n            type: 'error',\n            title: 'E-mail já cadastrado'\n          })\n          return false\n        }\n        setLoad(false)\n      }\n      setStep1Success(true)\n      setCurrent(current + 1)\n      return true\n    } else if (current === 2 && forwards) {\n      handleChange({ 1: true, 2: true, 3: false }, 'errorTrigger')\n      const msg = fieldVal(\n        [\n          formValues.logradouro,\n          formValues.numero || '',\n          formValues.bairro || '',\n          formValues.cidade || '',\n          formValues.uf,\n          formValues.cep || ''\n        ],\n        [sizeVal, sizeVal, sizeVal, sizeVal, ufVal, cepVal]\n      )\n      if (msg.length > 1) {\n        addToast({\n          type: 'error',\n          title: 'Preencher campos obrigatórios'\n        })\n        return false\n      }\n      setCurrent(current + 1)\n      setStep2Success(true)\n      return true\n    } else if (forwards) {\n      setCurrent(current + 1)\n      return true\n    } else if (!forwards) {\n      setCurrent(current - 1)\n      return true\n    }\n  }\n\n  const handleKeyDown = (e) => {\n    if (e.keyCode === 13) {\n      e.preventDefault()\n      e.target.blur()\n      handleChangeStep(true)\n    }\n  }\n\n  if (type !== 'pf') return null\n\n  return (\n    <>\n      {load && <Loader />}\n      <Wrapper>\n        <S.WrapperMedium>\n          <AccordionMenu>\n            <AccordionItens>\n              <AccordionItem\n                title=\"Dados de Acesso\"\n                current={1}\n                isActive={current === 1}\n                step1Success={step1Success}\n                onClick={() => handleAccordionClick(1)}\n                type={type}\n                ref={titleRefs.current[0]}\n              >\n                <RegisterStep1\n                  formValues={formValues}\n                  onChange={handleChange}\n                  handleKeyDown={handleKeyDown}\n                  handleChangeStep={handleChangeStep}\n                />\n                <AccordionButton\n                  current={current}\n                  handleChangeStep={handleChangeStep}\n                  trigger={trigger}\n                  handleSubmit={handleSubmit}\n                />\n              </AccordionItem>\n              <AccordionItem\n                title=\"Endereço\"\n                current={2}\n                isActive={current === 2}\n                step2Success={step2Success}\n                onClick={() => handleAccordionClick(2)}\n                type={type}\n                ref={titleRefs.current[1]}\n              >\n                <RegisterStep2\n                  formValues={formValues}\n                  current={current}\n                  onChange={handleChange}\n                  handleKeyDown={handleKeyDown}\n                  handleChangeStep={handleChangeStep}\n                />\n                <AccordionButton\n                  current={current}\n                  handleChangeStep={handleChangeStep}\n                  trigger={trigger}\n                  handleSubmit={handleSubmit}\n                />\n              </AccordionItem>\n              <AccordionItem\n                title=\"Dados de Contato\"\n                current={3}\n                isActive={current === 3}\n                onClick={() => handleAccordionClick(3)}\n                type={type}\n                ref={titleRefs.current[2]}\n              >\n                <RegisterStep3\n                  formValues={formValues}\n                  onChange={handleChange}\n                  handleKeyDown={handleKeyDown}\n                  handleChangeStep={handleChangeStep}\n                  onCaptchaChange={onCaptchaChange}\n                />\n                <AccordionButton\n                  current={current}\n                  handleChangeStep={handleChangeStep}\n                  trigger={trigger}\n                  handleSubmit={handleSubmit}\n                />\n              </AccordionItem>\n            </AccordionItens>\n          </AccordionMenu>\n        </S.WrapperMedium>\n      </Wrapper>\n    </>\n  )\n}\n\nexport default FormPF\n","import styled, { css } from 'styled-components'\n\nimport { FormGroup } from '../../../components/Form/styles'\nimport { Wrapper } from '../../../components/Tooltip/styles'\nimport { RadioStyles, RadioStylesOrigem } from '../../../styles/radio'\n\nexport const TermsWrapper = styled.div`\n  margin-top: 10px;\n\n  ${({ theme }) => css`\n    @media (max-width: ${theme.media.ipad}) {\n      &.last-element {\n        margin-bottom: 180px;\n      }\n    }\n\n    @media (max-width: ${theme.media.cel}) {\n      &.last-element {\n        margin-bottom: 180px;\n      }\n    }\n  `}\n\n  ${FormGroup} {\n    margin-bottom: 10px;\n    display: flex;\n    align-items: center;\n\n    label {\n      margin-bottom: 0;\n      margin-left: 10px;\n    }\n\n    a {\n      font-weight: 600;\n    }\n\n    ${Wrapper} {\n      top: 10px;\n    }\n  }\n`\nexport const LabelInfo = styled.div`\n  font-weight: 500;\n  font-size: 16px;\n  margin-left: 10px;\n  @media (max-width: 720px) {\n    text-align: center;\n    font-size: 14px;\n    margin-left: 0px;\n  }\n`\nexport const ErrorList = styled.ul`\n  font-size: 14px;\n  margin: 0px 0px 10px 10px;\n\n  ${({ theme }) => css`\n    @media (max-width: ${theme.media.ipad}) {\n      margin-top: -120px;\n    }\n\n    @media (max-width: ${theme.media.cel}) {\n      margin-top: -180px;\n      font-size: 12px;\n    }\n  `};\n`\nexport const TitleErrorList = styled.h3`\n  color: #3d3d3d;\n  font-size: 15px;\n  font-weight: 500;\n  margin: 10px 0px;\n`\n\nexport const Error = styled.li`\n  ${({ theme, isValid, isPasswordEmpty }) => css`\n    color: ${isPasswordEmpty ? '#616161' : isValid ? '#5CC187' : '#D22630'};\n    display: flex;\n    font-weight: 400;\n    align-items: center;\n    margin: 10px 0;\n\n    &::before {\n      content: '${isPasswordEmpty ? '\\u25cf' : isValid ? '\\u2714' : '\\u25cf'}';\n      font-size: 14px;\n      padding-right: 10px;\n      height: 16px;\n      width: 20px;\n      color: ${isPasswordEmpty ? '#D22630' : isValid ? '#5CC187' : '#D22630'};\n      display: inline-block;\n    }\n  `}\n`\n\nexport const CaptchaContainer = styled.div`\n  margin-bottom: 16px;\n`\nexport const RadioGroup = styled.div`\n  ${(props) => RadioStylesOrigem(props.theme)}\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 1px 30px;\n  width: 100%;\n  justify-content: stretch;\n\n  .radio-option {\n    display: flex;\n    gap: 5px;\n  }\n\n  input[type='radio'] {\n    margin: 0;\n    cursor: pointer;\n  }\n\n  label {\n    vertical-align: middle;\n    line-height: 1;\n  }\n\n  @media (max-width: 1024px) {\n    grid-template-columns: repeat(2, 1fr);\n  }\n\n  @media (max-width: 768px) {\n    grid-template-columns: repeat(1, 1fr);\n  }\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n  }\n`\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport { FormGroup, FormGroupIcon } from '../../../components/Form/styles'\nimport {\n  emailConfVal,\n  emailVal\n} from '../../../components/FormPF/fieldValidator'\nimport TextField from '../../../components/TextField'\nimport { useState, useEffect } from 'react'\nimport * as S from './styles'\nimport { validatePassword } from '../fieldValidator'\n\nconst RegisterStep1 = ({\n  formValues,\n  onChange,\n  handleKeyDown,\n  handleChangeStep\n}) => {\n  const { email, confirmaEmailContato, senha, confirmaSenha } = formValues\n  const [passView, setPassView] = useState(true)\n  const [passConfView, setPassConfView] = useState(true)\n  const [isBackButtonClicked, setBackbuttonPress] = useState(false)\n\n  useEffect(() => {\n    window.history.pushState(null, null, window.location.pathname)\n    window.addEventListener('popstate', onBackButtonEvent)\n\n    return () => {\n      window.removeEventListener('popstate', onBackButtonEvent)\n    }\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [])\n\n  const [isNewPasswordEmpty, setNewPasswordEmpty] = useState(true)\n  const [isNewPasswordValid, setNewPasswordValid] = useState(false)\n\n  const [passwordValidation, setPasswordValidation] = useState({\n    uppercase: false,\n    lowercase: false,\n    specialChar: false,\n    number: false,\n    length: false,\n    matchConfirmation: false\n  })\n\n  useEffect(() => {\n    const isPasswordValid =\n      passwordValidation.uppercase &&\n      passwordValidation.lowercase &&\n      passwordValidation.specialChar &&\n      passwordValidation.number &&\n      passwordValidation.length &&\n      !isNewPasswordEmpty\n    setNewPasswordValid(isPasswordValid)\n\n    if (senha !== '' || confirmaSenha !== '') {\n      setPasswordValidation(validatePassword(senha, 'senha', confirmaSenha))\n    }\n\n    if (senha === '') {\n      setNewPasswordEmpty(true)\n    }\n  }, [senha, confirmaSenha, passwordValidation.matchConfirmation])\n\n  const handleChange = (e) => {\n    const { name, value } = e.target\n\n    if (name === 'senha') {\n      setNewPasswordEmpty(value === '')\n      setPasswordValidation(validatePassword(value, 'senha', confirmaSenha))\n    }\n  }\n\n  const onBackButtonEvent = (e) => {\n    e.preventDefault()\n    if (!isBackButtonClicked) {\n      setBackbuttonPress(true)\n      handleChangeStep(false)\n    } else {\n      window.history.pushState(null, null, window.location.pathname)\n      setBackbuttonPress(false)\n    }\n  }\n\n  return (\n    <div className=\"col-group\">\n      <div className=\"col-12\" style={{ padding: '0px' }}>\n        <div className=\"col-6\">\n          <FormGroup className=\"required\">\n            <label htmlFor=\"emailContato\">E-mail</label>\n            <TextField\n              maxlength={80}\n              name=\"emailContato\"\n              value={email}\n              placeholder=\"Digite seu e-mail\"\n              onKeyDown={(e) => {\n                handleKeyDown(e)\n              }}\n              // onChange={(e) =>\n              //   !!JSON.parse(localStorage.getItem('preCadastro')) &&\n              //   onChange(e.target.value.trimStart().toLowerCase(), 'email')\n              // }\n              error={email.length > 2 && emailVal(email)}\n              success={!emailVal(email)}\n            />\n          </FormGroup>\n        </div>\n        <div className=\"col-6\">\n          <FormGroup className=\"required\">\n            <label htmlFor=\"confirmaEmailContato\">Confirme seu e-mail</label>\n            <TextField\n              maxlength={80}\n              name=\"confirmaEmailContato\"\n              value={confirmaEmailContato}\n              type=\"email\"\n              placeholder=\"Confirme seu e-mail\"\n              onKeyDown={(e) => {\n                handleKeyDown(e)\n              }}\n              onChange={(e) =>\n                onChange(\n                  e.target.value.trimStart().toLowerCase(),\n                  'confirmaEmailContato'\n                )\n              }\n              onBlur={(e) => {\n                onChange(\n                  e.target.value.trimEnd().replace(/  +/g, ' '),\n                  'confirmaEmailContato'\n                )\n              }}\n              error={\n                formValues.errorTrigger[1] &&\n                emailConfVal(email, confirmaEmailContato)\n              }\n              success={!emailConfVal(email, confirmaEmailContato)}\n            />\n          </FormGroup>\n        </div>\n      </div>\n      <div className=\"col-12\" style={{ padding: '0px' }}>\n        <div className=\"col-6\">\n          <FormGroup className=\"form-group required\">\n            <label htmlFor=\"email\">Senha</label>\n            <FormGroupIcon className=\"form-group-icon\">\n              <TextField\n                maxlength={80}\n                name=\"senha\"\n                type={passView ? 'password' : 'text'}\n                value={senha}\n                placeholder=\"Digite sua senha\"\n                success={isNewPasswordValid}\n                error={formValues.errorTrigger[1] && !isNewPasswordValid}\n                onChange={(e) => {\n                  handleChange(e)\n                  onChange(e.target.value.trimStart(), 'senha')\n                }}\n                onKeyDown={(e) => {\n                  handleKeyDown(e)\n                }}\n              />\n              <span\n                className={!passView ? 'icon icon-eye' : 'icon icon-eye-cut'}\n                onClick={() => setPassView(!passView)}\n              ></span>\n            </FormGroupIcon>\n          </FormGroup>\n        </div>\n\n        <div className=\"col-6\">\n          <FormGroup className=\"form-group required last-element\">\n            <label htmlFor=\"email\">Confirme sua senha</label>\n            <FormGroupIcon className=\"form-group-icon\">\n              <TextField\n                maxlength={80}\n                name=\"confirmaSenha\"\n                type={passConfView ? 'password' : 'text'}\n                value={confirmaSenha}\n                placeholder=\"Confirme sua senha\"\n                success={passwordValidation.matchConfirmation}\n                error={\n                  formValues.errorTrigger[1] &&\n                  !passwordValidation.matchConfirmation\n                }\n                onChange={(e) => {\n                  handleChange(e)\n                  onChange(e.target.value.trimStart(), 'confirmaSenha')\n                }}\n                onKeyDown={(e) => {\n                  handleKeyDown(e)\n                }}\n              />\n              <span\n                className={\n                  !passConfView ? 'icon icon-eye' : 'icon icon-eye-cut'\n                }\n                onClick={() => setPassConfView(!passConfView)}\n              ></span>\n              <div></div>\n            </FormGroupIcon>\n          </FormGroup>\n        </div>\n      </div>\n      <div className=\"col-12\">\n        <S.ErrorList>\n          <S.TitleErrorList>\n            Senha deve conter os seguintes parâmetros\n          </S.TitleErrorList>\n          <S.Error\n            isValid={passwordValidation.length}\n            isPasswordEmpty={isNewPasswordEmpty}\n          >\n            Ter no mínimo 8 caracteres\n          </S.Error>\n          <S.Error\n            isValid={passwordValidation.uppercase}\n            isPasswordEmpty={isNewPasswordEmpty}\n          >\n            Uma letra maiúscula\n          </S.Error>\n          <S.Error\n            isValid={passwordValidation.lowercase}\n            isPasswordEmpty={isNewPasswordEmpty}\n          >\n            Uma letra minúscula\n          </S.Error>\n          <S.Error\n            isValid={passwordValidation.number}\n            isPasswordEmpty={isNewPasswordEmpty}\n          >\n            Um número\n          </S.Error>\n          <S.Error\n            isValid={passwordValidation.specialChar}\n            isPasswordEmpty={isNewPasswordEmpty}\n          >\n            Um caractere especial {'(!@#$%^*&)'}\n          </S.Error>\n          <S.Error\n            isValid={passwordValidation.matchConfirmation}\n            isPasswordEmpty={isNewPasswordEmpty}\n          >\n            A senha e a confirmação devem ser iguais\n          </S.Error>\n        </S.ErrorList>\n      </div>\n    </div>\n  )\n}\n\nexport default RegisterStep1\n","import { createContext, useState, ReactNode } from 'react'\r\nimport { UserPFProps, UserPJProps } from '../types/user'\r\n\r\ntype UserContextProps = {\r\n  children: ReactNode\r\n}\r\n\r\ntype StepProps = {\r\n  pf: number\r\n  pj: number\r\n}\r\n\r\ntype UserContextType = {\r\n  userType: string\r\n  setUserType: (newState: string) => void\r\n  userPF: UserPFProps\r\n  setUserPF: (newState: UserPFProps) => void\r\n  userPJ: UserPJProps\r\n  setUserPJ: (newState: UserPJProps) => void\r\n  getUserData: (type: string) => void\r\n  createUser: (data: string) => void\r\n  userName: string\r\n  setUserName: (name: string) => void\r\n  userEmail: string\r\n  setUserEmail: (email: string) => void\r\n  step: StepProps\r\n  setStep: (step: StepProps | Object) => void\r\n  validacaoExternaPJ: boolean\r\n  setValidacaoExternaPJ: (validacaoExternaDadosClientePJ: boolean) => void\r\n}\r\n\r\nconst initialValue = {\r\n  type: '',\r\n  step: {\r\n    pf: 0,\r\n    pj: 0\r\n  },\r\n  userPF: {\r\n    cpf: '',\r\n    nome: '',\r\n    dataNascimento: '',\r\n    sexo: '',\r\n    senha: '',\r\n    token: '4a0c45d784324c03acf4f8236180e849',\r\n    guidJwt: '',\r\n    apelido: '',\r\n    receberNovidades: '',\r\n    receberWhatsApp: '',\r\n    email: '',\r\n    rg: '',\r\n    rgOrgaoEmissor: '',\r\n    telefoneResidencialDDD: '',\r\n    telefoneResidencialNumero: '',\r\n    telefoneCelularNumero: '',\r\n    telefoneCelularDDD: '',\r\n    telefoneComercialDDD: '',\r\n    telefoneComercialNumero: '',\r\n    telefoneComercialRamal: '',\r\n    endereco: {\r\n      id: 0,\r\n      padrao: true,\r\n      tipoEndereco: 'C',\r\n      apelido: '',\r\n      tipoLogradouro: '',\r\n      logradouro: '',\r\n      pontoReferencia: '',\r\n      numero: '',\r\n      complemento: '',\r\n      bairro: '',\r\n      cidade: '',\r\n      uf: '',\r\n      cep: ''\r\n    },\r\n    clienteSocialMediaModel: {\r\n      userId: '',\r\n      providerKey: '',\r\n      loginProvider: '',\r\n      email: '',\r\n      nome: ''\r\n    }\r\n  },\r\n  userPJ: {\r\n    idCargo: '',\r\n    idDepartamento: '',\r\n    senha: '',\r\n    token: '',\r\n    guidJwt: '',\r\n    receberNovidades: '',\r\n    receberWhatsApp: '',\r\n    email: '',\r\n    razaoSocial: '',\r\n    nomeFantasia: '',\r\n    cnpj: '',\r\n    inscricaoEstadual: '',\r\n    inscricaoMunicipal: '',\r\n    dataAbertura: '',\r\n    idAtividade: '',\r\n    idSubAtividade: '',\r\n    telefoneComercialDDD: '',\r\n    telefoneComercialNumero: '',\r\n    telefoneComercialRamal: '',\r\n    contato: '',\r\n    numeroFuncionariosAdministrativos: '',\r\n    numeroFuncionariosTotal: '',\r\n    telefoneCelularDDD: '',\r\n    telefoneCelularNumero: '',\r\n    endereco: {\r\n      id: 0,\r\n      padrao: true,\r\n      tipoEndereco: 'C',\r\n      apelido: '',\r\n      tipoLogradouro: '',\r\n      logradouro: '',\r\n      pontoReferencia: '',\r\n      numero: '',\r\n      complemento: '',\r\n      bairro: '',\r\n      cidade: '',\r\n      uf: '',\r\n      cep: ''\r\n    },\r\n    clienteSocialMediaModel: {\r\n      userId: '',\r\n      providerKey: '',\r\n      loginProvider: '',\r\n      email: '',\r\n      nome: ''\r\n    }\r\n  }\r\n}\r\n\r\nexport const UserContext = createContext<UserContextType>({} as UserContextType)\r\n\r\nexport const UserContextProvider = ({ children }: UserContextProps) => {\r\n  const [userType, setUserType] = useState('')\r\n  const [userName, setUserName] = useState('')\r\n  const [userEmail, setUserEmail] = useState('')\r\n  const [validacaoExternaPJ, setValidacaoExternaPJ] = useState(false)\r\n  const [userPF, setUserPF] = useState<UserPFProps>(initialValue.userPF)\r\n  const [userPJ, setUserPJ] = useState<UserPJProps>(initialValue.userPJ)\r\n  const [step, setStep] = useState<StepProps>(initialValue.step)\r\n\r\n  const getUserData = async (type: string) => {\r\n    // const response = await fetch()\r\n\r\n    // console.log('New', type)\r\n    console.log(userPF, userPJ)\r\n  }\r\n\r\n  const createUser = async (data: string) => {\r\n    // const response = await fetch()\r\n\r\n    // console.log('New', type)\r\n    console.log(userPF, userPJ)\r\n  }\r\n\r\n  return (\r\n    <UserContext.Provider\r\n      value={{\r\n        userType,\r\n        setUserType,\r\n        userPF,\r\n        setUserPF,\r\n        userPJ,\r\n        setUserPJ,\r\n        getUserData,\r\n        createUser,\r\n        userName,\r\n        setUserName,\r\n        userEmail,\r\n        setUserEmail,\r\n        step,\r\n        setStep,\r\n        validacaoExternaPJ,\r\n        setValidacaoExternaPJ\r\n      }}\r\n    >\r\n      {children}\r\n    </UserContext.Provider>\r\n  )\r\n}\r\n","import { useState, useEffect, useContext } from 'react'\nimport { FormGroup } from '../../Form/styles'\nimport TextField from '../../TextField'\nimport clientes from '../../../api/clientes'\nimport defaultOptions from '../../../api/defaultoption'\nimport {\n  cnpjVal,\n  inscEstVal,\n  razaoVal,\n  cnpjRepetido,\n  validateReceitaError,\n  validateInscEstadual\n} from '../fieldValidator'\nimport { cnpjMask, inscrEstMask } from '../masks'\nimport { UserContext } from '../../../contexts/UserContext'\nimport * as mask from '../../FormPF/masks'\nimport { cepVal, sizeVal, ufVal } from '../../FormPF/fieldValidator'\nimport * as S from '../../FormPF/styles'\nimport cadastro from '../../../api/cadastro'\nimport Loader from '../../Loader'\nimport { LabelInfo } from './styles'\n\nconst RegisterStep2 = ({\n  formValues,\n  receitaFederalError,\n  onChange,\n  handleKeyDown,\n  handleChangeStep,\n  setValidInscEst\n}) => {\n  const {\n    razaoSocial,\n    cnpj,\n    inscricaoEstadual,\n    cnpjCadastrado,\n    cep,\n    logradouro,\n    numero,\n    complemento,\n    bairro,\n    cidade,\n    uf,\n\n    invalidCEP\n  } = formValues\n\n  const [cnpjTrigger, setCnpjTrigger] = useState(true)\n  const [isBackButtonClicked, setBackbuttonPress] = useState(false)\n  const { setValidacaoExternaPJ } = useContext(UserContext)\n\n  const [isInscEstValid, setIsInscEstValid] = useState({\n    valid: false,\n    message: '',\n    showToaster: false\n  })\n\n  const [load, setLoad] = useState(false)\n  const [isCepUnico, setIsCepUnico] = useState(false)\n\n  const [isUfAutoFilled, setIsUfAutoFilled] = useState(false)\n  const [isUfValid, setIsUfValid] = useState(true) // Estado para controlar a validade da UF\n\n  useEffect(() => {\n    if (cnpj.length === 18 && cnpjTrigger) {\n      cnpjRepetido(cnpj, setValidacaoExternaPJ).then((res) => {\n        onChange(res, 'cnpjCadastrado')\n      })\n      setCnpjTrigger(false)\n    } else if (cnpj.length < 18 && !cnpjTrigger) {\n      setCnpjTrigger(true)\n    }\n  }, [cnpj])\n\n  useEffect(() => {\n    const validate = async () => {\n      const result = await validateInscEstadual(inscricaoEstadual, uf)\n      setIsInscEstValid({\n        valid: result.valid,\n        message: result.message,\n        showToaster: true\n      })\n      setValidInscEst(result.valid)\n    }\n\n    if (\n      inscricaoEstadual !== 'ISENTO' &&\n      inscricaoEstadual?.length >= 8 &&\n      uf\n    ) {\n      validate()\n    }\n  }, [inscricaoEstadual, uf])\n\n  useEffect(() => {\n    if (!!formValues.isento) onChange('ISENTO', 'inscricaoEstadual')\n  }, [formValues.isento])\n\n  const useActiveElement = () => {\n    const [listenersReady, setListenersReady] = useState(false)\n    const [activeElement, setActiveElement] = useState(document.activeElement)\n\n    useEffect(() => {\n      const onFocus = (event) => setActiveElement(event.target)\n      const onBlur = (event) => setActiveElement(null)\n\n      window.addEventListener('focus', onFocus, true)\n      window.addEventListener('blur', onBlur, true)\n\n      setListenersReady(true)\n\n      return () => {\n        window.removeEventListener('focus', onFocus)\n        window.removeEventListener('blur', onBlur)\n      }\n    }, [])\n\n    return {\n      activeElement,\n      listenersReady\n    }\n  }\n  const { activeElement, listenersReady } = useActiveElement()\n\n  const checkCEPUnico = (cep) => {\n    const lastDigits = cep.substr(-3)\n\n    if (lastDigits === '000') {\n      setIsCepUnico(true)\n    } else {\n      setIsCepUnico(false)\n    }\n  }\n\n  const getCEP = async (CEP, onChange) => {\n    setLoad(true)\n    let endereco = await cadastro.getCEP(CEP)\n    if (endereco.status === 200) {\n      onChange(false, 'invalidCEP')\n      endereco = await endereco.json()\n      onChange(endereco.bairro, 'bairro')\n      onChange(endereco.cidade, 'cidade')\n      onChange(endereco.endereco === '' ? '' : endereco.endereco, 'logradouro')\n      onChange(endereco.tipoLogradouro, 'tipoLogradouro')\n      onChange(endereco.uf, 'uf')\n      setIsUfAutoFilled(true)\n    } else if (endereco.status === 204) {\n      onChange(true, 'invalidCEP')\n    }\n    setLoad(false)\n  }\n\n  const clearCEP = async (onChange) => {\n    onChange('', 'bairro')\n    onChange('', 'cidade')\n    onChange('', 'logradouro')\n    onChange('', 'tipoLogradouro')\n    onChange('', 'uf')\n    setIsUfAutoFilled(false)\n  }\n\n  useEffect(() => {\n    if (!!cep) {\n      checkCEPUnico(cep)\n    }\n  }, [])\n\n  useEffect(() => {\n    if (activeElement.name === 'CEP') {\n      if (cep?.length === 9 && cep?.substr(-3) === '000') {\n        checkCEPUnico(cep)\n        getCEP(mask.noMask(cep), onChange)\n      } else if (cep?.length === 9) {\n        getCEP(mask.noMask(cep), onChange)\n      } else {\n        clearCEP(onChange)\n      }\n    }\n  }, [cep])\n\n  useEffect(() => {\n    window.history.pushState(null, null, window.location.pathname)\n    window.addEventListener('popstate', onBackButtonEvent)\n\n    return () => {\n      window.removeEventListener('popstate', onBackButtonEvent)\n    }\n  }, [])\n\n  const handleBlurInscEstadual = async (e) => {\n    if (uf) {\n      onChange(e.target.value.trimEnd(), 'inscricaoEstadual')\n      const result = await validateInscEstadual(e.target.value, uf)\n      setIsInscEstValid({\n        valid: result.valid,\n        message: result.message,\n        showToaster: true\n      })\n      setValidInscEst(result.valid)\n    }\n  }\n\n  const handleChangeUF = async (e) => {\n    const ufValue = e.target.value\n    onChange(ufValue, 'uf')\n\n    const isValid = ufVal(ufValue)\n    if (isValid !== undefined) {\n      setIsUfValid(isValid)\n    }\n    if (inscricaoEstadual !== 'ISENTO' && inscricaoEstadual?.length >= 8) {\n      const result = await validateInscEstadual(inscricaoEstadual, ufValue)\n      setIsInscEstValid({\n        valid: result.valid,\n        message: result.message,\n        showToaster: true\n      })\n      setValidInscEst(result.valid)\n    }\n  }\n\n  const onBackButtonEvent = (e) => {\n    e.preventDefault()\n    if (!isBackButtonClicked) {\n      setBackbuttonPress(true)\n      handleChangeStep(false)\n    } else {\n      window.history.pushState(null, null, window.location.pathname)\n      setBackbuttonPress(false)\n    }\n  }\n\n  return (\n    <>\n      {load && <Loader />}\n      <div className=\"col-group\">\n        <div className=\"col-12\">\n          <FormGroup className=\"form-group required\">\n            <label htmlFor=\"\">Razão Social</label>\n            <TextField\n              maxlength={45}\n              name=\"razaoSocial\"\n              value={razaoSocial}\n              placeholder=\"Digite a razão social\"\n              onKeyDown={(e) => {\n                handleKeyDown(e)\n              }}\n              onChange={(e) =>\n                onChange(e.target.value.trimStart(), 'razaoSocial')\n              }\n              onBlur={(e) => {\n                onChange(\n                  e.target.value.trimEnd().replace(/  +/g, ' '),\n                  'razaoSocial'\n                )\n              }}\n              error={\n                (formValues.errorTrigger[2] && razaoVal(razaoSocial)) ||\n                validateReceitaError(\n                  receitaFederalError.razaoSocial.status,\n                  'Razão Social',\n                  receitaFederalError.razaoSocial.message\n                )\n              }\n              success={\n                !razaoVal(razaoSocial) &&\n                !receitaFederalError.razaoSocial.status\n              }\n            />\n          </FormGroup>\n        </div>\n        <div className=\"col-12\" style={{ padding: '0px' }}>\n          <div className=\"col-6\">\n            <FormGroup className=\"form-group required\">\n              <label htmlFor=\"\">CNPJ</label>\n              <TextField\n                maxlength={30}\n                name=\"cnpj\"\n                value={cnpj}\n                placeholder=\"Digite o cnpj\"\n                onKeyDown={(e) => {\n                  handleKeyDown(e)\n                }}\n                onChange={(e) => {\n                  onChange(cnpjMask(e.target.value), 'cnpj')\n                }}\n                error={\n                  (formValues.errorTrigger[2] &&\n                    cnpjVal(cnpj, cnpjCadastrado)) ||\n                  validateReceitaError(\n                    receitaFederalError.cnpj.status,\n                    'CNPJ',\n                    receitaFederalError.cnpj.message\n                  )\n                }\n                success={\n                  !cnpjVal(cnpj, cnpjCadastrado) &&\n                  !receitaFederalError.cnpj.status\n                }\n              />\n            </FormGroup>\n          </div>\n          <div className=\"col-6\">\n            <FormGroup className=\"form-group required\">\n              <div\n                style={{\n                  display: 'flex',\n                  justifyContent: 'space-between',\n                  height: '24px'\n                }}\n              >\n                <label htmlFor=\"\">Inscrição Estadual</label>\n                <FormGroup className=\"form-group\">\n                  <input\n                    checked={formValues.isento}\n                    type=\"checkbox\"\n                    id=\"isento\"\n                    onChange={(e) => {\n                      onChange('', 'inscricaoEstadual')\n                      return onChange(!formValues.isento, 'isento')\n                    }}\n                  />\n                  <label htmlFor=\"isento\" style={{ marginRight: '1px' }}>\n                    <p>Isento </p>\n                  </label>\n                </FormGroup>\n              </div>\n              <TextField\n                maxlength={15}\n                name=\"inscricaoEstadual\"\n                value={inscricaoEstadual}\n                placeholder=\"Digite a Inscrição Estadual\"\n                onKeyDown={(e) => {\n                  handleKeyDown(e)\n                }}\n                onChange={(e) =>\n                  !formValues.isento &&\n                  onChange(inscrEstMask(e.target.value), 'inscricaoEstadual')\n                }\n                onBlur={handleBlurInscEstadual}\n                error={\n                  (activeElement?.name !== 'inscricaoEstadual' &&\n                    formValues.errorTrigger[2] &&\n                    formValues.uf !== '' &&\n                    inscEstVal(\n                      inscricaoEstadual,\n                      isInscEstValid.valid,\n                      formValues.uf\n                    )) ||\n                  validateReceitaError(\n                    receitaFederalError.inscricaoEstadual.status,\n                    'Inscrição Estadual',\n                    receitaFederalError.inscricaoEstadual.message\n                  )\n                }\n                success={\n                  activeElement?.name !== 'inscricaoEstadual' &&\n                  (formValues.isento ||\n                    (!inscEstVal(\n                      inscricaoEstadual,\n                      isInscEstValid.valid,\n                      formValues.uf\n                    ) &&\n                      !receitaFederalError.inscricaoEstadual.status))\n                }\n              />\n            </FormGroup>\n          </div>\n        </div>{' '}\n        <div className=\"col-12\" style={{ padding: '0px' }}>\n          <div className=\"col-4\">\n            <FormGroup\n              className=\"required\"\n              onBlur={() => {\n                if (cep?.length === 9) {\n                  getCEP(mask.noMask(cep), onChange)\n                  checkCEPUnico(cep)\n                } else {\n                  clearCEP(onChange)\n                }\n              }}\n            >\n              <label htmlFor=\"CEP\">CEP</label>\n              <TextField\n                maxlength={9}\n                name=\"CEP\"\n                value={cep}\n                placeholder=\"Digite seu CEP\"\n                onKeyDown={(e) => {\n                  handleKeyDown(e)\n                }}\n                onChange={(e) => onChange(mask.cepMask(e.target.value), 'cep')}\n                error={\n                  (formValues.errorTrigger[2] && cepVal(cep, invalidCEP)) ||\n                  validateReceitaError(\n                    receitaFederalError.cep.status,\n                    'CEP',\n                    receitaFederalError.cep.message\n                  )\n                }\n                success={\n                  !cepVal(cep, invalidCEP) && !receitaFederalError.cep.status\n                }\n              />\n              <S.NaoSei\n                onClick={() =>\n                  window.open(\n                    'https://buscacepinter.correios.com.br/app/localidade_logradouro/index.php'\n                  )\n                }\n              >\n                Não sei meu CEP\n              </S.NaoSei>\n            </FormGroup>\n          </div>\n\n          <div className=\"col-8\">\n            <FormGroup className=\"required\">\n              <label htmlFor=\"Logradouro\">Logradouro</label>\n              <TextField\n                maxlength={40}\n                name=\"logradouro\"\n                value={logradouro}\n                placeholder=\"Digite seu Logradouro\"\n                onKeyDown={(e) => {\n                  handleKeyDown(e)\n                }}\n                onChange={(e) => {\n                  if (isCepUnico) {\n                    onChange(e.target.value.trimStart(), 'logradouro')\n                  }\n                }}\n                onBlur={(e) => {\n                  onChange(\n                    e.target.value.trimEnd().replace(/  +/g, ' '),\n                    'logradouro'\n                  )\n                }}\n                error={formValues.errorTrigger[2] && sizeVal(logradouro)}\n                success={logradouro?.length > 0 && !sizeVal(logradouro)}\n              />\n            </FormGroup>\n          </div>\n        </div>{' '}\n        <div className=\"col-12\" style={{ padding: '0px' }}>\n          <div className=\"col-4\">\n            <FormGroup className=\"required\">\n              <label htmlFor=\"Numero\">Número</label>\n              <TextField\n                maxlength={8}\n                name=\"numero\"\n                value={numero}\n                placeholder=\"Numero\"\n                onKeyDown={(e) => {\n                  handleKeyDown(e)\n                }}\n                onChange={(e) => onChange(e.target.value, 'numero')}\n                error={\n                  (formValues.errorTrigger[2] && sizeVal(numero)) ||\n                  validateReceitaError(\n                    receitaFederalError.numero.status,\n                    'Número',\n                    receitaFederalError.numero.message\n                  )\n                }\n                success={\n                  numero?.length > 0 &&\n                  !sizeVal(numero) &&\n                  !receitaFederalError.numero.status\n                }\n              />\n            </FormGroup>\n          </div>\n          <div className=\"col-4\">\n            <FormGroup>\n              <label htmlFor=\"Numero\">Complemento</label>\n              <TextField\n                maxlength={40}\n                name=\"complemento\"\n                value={complemento}\n                placeholder=\"Complemento\"\n                onKeyDown={(e) => {\n                  handleKeyDown(e)\n                }}\n                onChange={(e) =>\n                  onChange(e.target.value.trimStart(), 'complemento')\n                }\n                onBlur={(e) => {\n                  onChange(\n                    e.target.value.trimEnd().replace(/  +/g, ' '),\n                    'complemento'\n                  )\n                }}\n                success={complemento?.length > 0 && !sizeVal(complemento)}\n              />\n            </FormGroup>\n          </div>\n          <div className=\"col-4\">\n            <FormGroup className=\"required\">\n              <label htmlFor=\"Bairro\">Bairro</label>\n              <TextField\n                maxlength={40}\n                name=\"bairro\"\n                value={bairro}\n                placeholder=\"Bairro\"\n                onKeyDown={(e) => {\n                  handleKeyDown(e)\n                }}\n                onChange={(e) => {\n                  if (isCepUnico) {\n                    onChange(e.target.value.trimStart(), 'bairro')\n                  }\n                }}\n                onBlur={(e) => {\n                  onChange(\n                    e.target.value.trimEnd().replace(/  +/g, ' '),\n                    'bairro'\n                  )\n                }}\n                error={formValues.errorTrigger[2] && sizeVal(bairro)}\n                success={bairro?.length > 0 && !sizeVal(bairro)}\n              />\n            </FormGroup>\n          </div>\n        </div>{' '}\n        <div className=\"col-12\" style={{ padding: '0px' }}>\n          <div className=\"col-9\">\n            <FormGroup className=\"required\">\n              <label htmlFor=\"Cidade\">Cidade</label>\n              <TextField\n                maxlength={40}\n                name=\"cidade\"\n                value={cidade}\n                placeholder=\"Cidade\"\n                onKeyDown={(e) => {\n                  handleKeyDown(e)\n                }}\n                success={cidade?.length > 0 && !sizeVal(cidade)}\n                error={formValues.errorTrigger[2] && sizeVal(cidade)}\n              />\n            </FormGroup>\n          </div>\n          <div className=\"col-3\">\n            <FormGroup className=\"required\">\n              <label htmlFor=\"UF\">UF</label>\n              <TextField\n                maxlength={2}\n                name=\"UF\"\n                value={uf}\n                placeholder=\"UF\"\n                readOnly={isUfAutoFilled} // Defina o campo como readonly se for preenchido automaticamente\n                onKeyDown={(e) => {\n                  handleKeyDown(e)\n                }}\n                onChange={handleChangeUF}\n                success={!ufVal(uf)} // Verifica se a UF é válida e tem 2 caracteres\n                error={formValues.errorTrigger[2] && ufVal(uf)}\n              />\n            </FormGroup>\n          </div>\n        </div>\n        <div className=\"col-12\" style={{ padding: '0px' }}>\n          <FormGroup className=\"form-group\" style={{ marginTop: '-12px' }}>\n            <LabelInfo>\n              * O endereço de faturamento deve ser o mesmo cadastrado na Receita\n              Federal.\n            </LabelInfo>\n          </FormGroup>\n        </div>\n      </div>\n    </>\n  )\n}\n\nexport default RegisterStep2\n","export const noMask = (value) => value.replace(/\\D/g, '')\n\nexport const cnpjMask = (value) =>\n  value\n    .replace(/\\D/g, '')\n    .replace(/(\\d{2})(\\d)/, '$1.$2')\n    .replace(/(\\d{3})(\\d)/, '$1.$2')\n    .replace(/(\\d{3})(\\d)/, '$1/$2')\n    .replace(/(\\d{4})(\\d)/, '$1-$2')\n    .replace(/(-\\d{2})\\d+?$/, '$1')\n\nexport const inscrEstMask = (value) => value.replace(/\\D/g, '')\n//\n","export default __webpack_public_path__ + \"static/media/icon-arrow-down.987febc0.svg\";","import styled, { css } from 'styled-components'\r\nimport IconArrowDown from '../../assets/icons/icon-arrow-down.svg'\r\nimport IconInputError from '../../assets/icons/icon-input-error.svg'\r\nimport IconInputSuccess from '../../assets/icons/icon-input-success.svg'\r\n\r\n\r\nexport const SelectWrapper = styled.div``\r\n\r\n\r\n\r\nexport const Select = styled.select`\r\n  background: url(${IconArrowDown}) no-repeat;\r\n  background-position: right 10px center;\r\n  border: 1px solid #afaeae;\r\n  border-radius: 6px;\r\n  font-family: 'Montserrat', sans-serif;\r\n  padding: 15px 15px;\r\n  color: #afaeae;\r\n  width: 100%;\r\n  transition: all 400ms;\r\n  appearance: none;\r\n`\r\n\r\nexport const Option = styled.option`\r\n  font-family: 'Montserrat', sans-serif;\r\n  color: #000000;\r\n`\r\n\r\nexport const Label = styled.label`\r\n  cursor: pointer;\r\n  font-size: 15px;\r\n  font-weight: 600;\r\n  color: #4a4a4a;\r\n  display: block;\r\n  letter-spacing: -1px;\r\n  margin-bottom: 5px;\r\n`\r\n\r\nexport const Error = styled.p`\r\n  ${({ theme }) => css`\r\n    color: ${theme.colors.error};\r\n    font-style: italic;\r\n    margin-top: 5px;\r\n    display: block;\r\n    font-size: 13px;\r\n  `}\r\n`\r\n\r\nconst wrapperModifiers = {\r\n  disabled: (theme) => css`\r\n    ${Label} {\r\n      cursor: not-allowed;\r\n      color: #4a4a4a;\r\n    }\r\n\r\n    ${Select} {\r\n      cursor: not-allowed;\r\n      background: ${theme.colors.grey};\r\n    }\r\n  `,\r\n\r\n  error: (theme) => css`\r\n    ${SelectWrapper} {\r\n      border-color: ${theme.colors.error};\r\n    }\r\n\r\n    ${Select} {\r\n      background: ${theme.colors.backgroundError}\r\n        url(${IconInputError}) right 10px center no-repeat !important;\r\n      border-color: ${theme.colors.error};\r\n    }\r\n  `,\r\n\r\n  success: (theme) => css`\r\n    ${Select} {\r\n      background: ${theme.colors.backgroundSuccess}\r\n        url(${IconInputSuccess}) right 10px center no-repeat !important;\r\n      border-color: ${theme.colors.success};\r\n    }\r\n  `,\r\n  required: (theme) => css`\r\n    ${Label} {\r\n      &:after {\r\n        content: '*';\r\n        color: ${theme.colors.primary};\r\n        display: inline-block;\r\n        margin-left: 4px;\r\n      }\r\n    }\r\n  `\r\n}\r\n\r\nexport const Wrapper = styled.div`\r\n  ${({ theme, disabled, error, success, required }) => css`\r\n    ${disabled && wrapperModifiers.disabled(theme)};\r\n    ${error && wrapperModifiers.error(theme)}\r\n    ${success && wrapperModifiers.success(theme)}\r\n    ${required && wrapperModifiers.required(theme)}\r\n\r\n    margin-bottom: 20px;\r\n    position: relative;\r\n    height: 83px;\r\n\r\n    small {\r\n      display: block;\r\n      margin-bottom: 5px;\r\n    }\r\n  `}\r\n`\r\n","import { useState } from 'react'\r\n\r\nimport * as S from './styles'\r\n\r\n\r\n\r\nconst Option = ({ value, label }) => (\r\n  <S.Option value={value}>{label}</S.Option>\r\n)\r\n\r\nconst Select = ({\r\n  label,\r\n  labelFor = '',\r\n  initialValue = '',\r\n  onInput,\r\n  required = false,\r\n  disabled = false,\r\n  success = false,\r\n  error,\r\n  multiple = false,\r\n  options = [],\r\n  ...props\r\n}) => {\r\n  const [value, setValue] = useState(initialValue)\r\n\r\n  const onChange = (e) => {\r\n    const newValue = e.currentTarget.value\r\n    setValue(newValue)\r\n\r\n    !!onInput && onInput(newValue)\r\n  }\r\n\r\n  return (\r\n    <S.Wrapper\r\n      disabled={disabled}\r\n      error={!!error}\r\n      success={success}\r\n      required={required}\r\n    >\r\n      {!!label && <S.Label htmlFor={labelFor}>{label}</S.Label>}\r\n      <S.SelectWrapper>\r\n        <S.Select\r\n          disabled={disabled}\r\n          onChange={onChange}\r\n          multiple={multiple}\r\n          value={value}\r\n          name={labelFor}\r\n          id={labelFor}\r\n          {...props}\r\n        >\r\n          {options.map(({ label, value }) => (\r\n            <Option key={value} label={label} value={value} />\r\n          ))}\r\n        </S.Select>\r\n      </S.SelectWrapper>\r\n      {!!error && <S.Error>{error}</S.Error>}\r\n    </S.Wrapper>\r\n  )\r\n}\r\n\r\nexport default Select\r\n","/* eslint-disable react-hooks/exhaustive-deps */\n\nimport { useEffect, useState } from 'react'\nimport { FormGroup } from '../../Form/styles'\nimport Select from '../../Select'\nimport TextField from '../../TextField'\nimport {\n  contatoVal,\n  cellVal,\n  comercialPhoneVal,\n  selectValOrigem\n} from '../fieldValidator'\nimport { nameMask, cellMask, fixPhoneMask } from '../../FormPF/masks'\nimport clientes from '../../../api/clientes'\nimport defaultOptions from '../../../api/defaultoption'\nimport Tooltip from '../../Tooltip/left'\nimport ReCAPTCHA from 'react-google-recaptcha'\nimport { CaptchaContainer } from '../../FormPF/styles'\nimport * as S from './styles'\n\nconst RegisterStep3 = ({\n  formValues,\n  onChange,\n  handleKeyDown,\n  handleChangeStep,\n  onCaptchaChange\n}) => {\n  const {\n    idCargo,\n    idDepartamento,\n    contato,\n    telefoneCelularNumero,\n    telefoneComercialNumero,\n    idComoConheceu\n  } = formValues\n\n  const [cargos, setCargos] = useState([])\n  const [departamentos, setDepartamentos] = useState([])\n  const [isBackButtonClicked, setBackbuttonPress] = useState(false)\n  const [options, setOptions] = useState([])\n\n  const getComoConheceu = async () => {\n    return await fetch(\n      `${process.env.REACT_APP_API_CLIENTES}clientes/como-conheceu`,\n      {\n        method: 'GET',\n        headers: { 'Content-Type': 'application/json' }\n      }\n    ).then((response) => {\n      return response.json()\n    })\n  }\n\n  const apiCall = async () => {\n    let cargos = await clientes.cargos({\n      method: 'GET',\n      headers: defaultOptions.headers\n    })\n\n    cargos = await cargos.json()\n    setCargos(cargos)\n\n    let departamentos = await clientes.departamentos({\n      method: 'GET',\n      headers: defaultOptions.headers\n    })\n    departamentos = await departamentos.json()\n    setDepartamentos(departamentos)\n  }\n  useEffect(() => {\n    apiCall()\n  }, [])\n\n  useEffect(() => {\n    const fetchOptions = async () => {\n      const data = await getComoConheceu()\n      const filteredOptions = data.filter((item) => item.status)\n      setOptions(filteredOptions)\n    }\n\n    fetchOptions()\n  }, [])\n\n  useEffect(() => {\n    window.history.pushState(null, null, window.location.pathname)\n    window.addEventListener('popstate', onBackButtonEvent)\n\n    return () => {\n      window.removeEventListener('popstate', onBackButtonEvent)\n    }\n  }, [])\n\n  const onBackButtonEvent = (e) => {\n    e.preventDefault()\n    if (!isBackButtonClicked) {\n      setBackbuttonPress(true)\n      handleChangeStep(false)\n    } else {\n      window.history.pushState(null, null, window.location.pathname)\n      setBackbuttonPress(false)\n    }\n  }\n\n  const handleSelectChange = (e, field) => {\n    const selectedValue = parseInt(e.currentTarget.value, 10)\n    onChange(selectedValue, field)\n  }\n\n  return (\n    <div className=\"col-group\">\n      <div className=\"col-12\">\n        <FormGroup className=\"form-group required\">\n          <label htmlFor=\"\">Nome</label>\n          <TextField\n            name=\"contato\"\n            maxlength={30}\n            value={contato}\n            placeholder=\"Digite seu nome\"\n            onKeyDown={handleKeyDown}\n            onChange={(e) =>\n              onChange(nameMask(e.target.value.trimStart()), 'contato')\n            }\n            error={contatoVal(contato)}\n            success={!contatoVal(contato)}\n          />\n        </FormGroup>\n      </div>\n      <div className=\"col-12\" style={{ padding: '0px' }}>\n        <div className=\"col-6\">\n          <FormGroup className=\"form-group\">\n            <Select\n              success={idCargo !== -1 && idCargo !== null}\n              options={[\n                { value: -1, label: '-- Selecione --' },\n                ...cargos.map((item) => ({\n                  value: item.cargoId,\n                  label: item.cargo\n                }))\n              ]}\n              label=\"Cargo\"\n              labelFor=\"Cargo\"\n              value={idCargo}\n              onChange={(e) => handleSelectChange(e, 'idCargo')}\n            />\n          </FormGroup>\n        </div>\n\n        <div className=\"col-6\">\n          <FormGroup className=\"form-group\">\n            <Select\n              success={idDepartamento !== -1 && idDepartamento !== null}\n              options={[\n                { value: -1, label: '-- Selecione --' },\n                ...departamentos.map((item) => ({\n                  value: item.departamentoId,\n                  label: item.departamento\n                }))\n              ]}\n              label=\"Departamento\"\n              labelFor=\"Departamento\"\n              value={idDepartamento}\n              onChange={(e) => handleSelectChange(e, 'idDepartamento')}\n            />\n          </FormGroup>\n        </div>\n      </div>\n\n      <div className=\"col-12\" style={{ padding: '0px' }}>\n        <div className=\"col-6\">\n          <FormGroup className=\"form-group required\">\n            <label htmlFor=\"\">Tel. Celular</label>\n            <TextField\n              name=\"telefoneCelularNumero\"\n              value={telefoneCelularNumero}\n              placeholder=\"(xx) xxxxx-xxxx\"\n              onKeyDown={(e) => {\n                handleKeyDown(e)\n              }}\n              onChange={(e) =>\n                onChange(cellMask(e.target.value), 'telefoneCelularNumero')\n              }\n              error={cellVal(telefoneCelularNumero)}\n              success={!cellVal(telefoneCelularNumero)}\n            />\n          </FormGroup>\n        </div>\n        <div className=\"col-6\">\n          <FormGroup className=\"form-group required\">\n            <label htmlFor=\"\">Tel. Comercial</label>\n            <TextField\n              name=\"telefoneComercialNumero\"\n              value={telefoneComercialNumero}\n              placeholder=\"(xx) xxxxx-xxxx\"\n              onKeyDown={(e) => {\n                handleKeyDown(e)\n              }}\n              onChange={(e) =>\n                onChange(\n                  fixPhoneMask(e.target.value),\n                  'telefoneComercialNumero'\n                )\n              }\n              error={comercialPhoneVal(telefoneComercialNumero)}\n              success={\n                telefoneCelularNumero.length > 0 &&\n                !comercialPhoneVal(telefoneComercialNumero)\n              }\n            />\n          </FormGroup>\n        </div>\n      </div>\n\n      <div className=\"col-12\" style={{ padding: '0 0 0 10px' }}>\n        <FormGroup className=\"form-group required\">\n          <label>Como conheceu o Gimba?</label>\n          <S.RadioGroup>\n            {options.map((option) => (\n              <div key={option.id} className=\"radio-option\">\n                <input\n                  type=\"radio\"\n                  id={option.nome}\n                  name=\"idComoConheceu\"\n                  value={option.id}\n                  checked={formValues.idComoConheceu === option.id}\n                  onChange={(e) =>\n                    onChange(parseInt(e.target.value, 10), 'idComoConheceu')\n                  }\n                  error={!selectValOrigem(idComoConheceu)}\n                  sucess={selectValOrigem(idComoConheceu)}\n                />\n                <label htmlFor={option.nome}>{option.nome}</label>\n              </div>\n            ))}\n          </S.RadioGroup>\n        </FormGroup>\n      </div>\n\n      <div className=\"col-12\" style={{ padding: '0px' }}>\n        <CaptchaContainer\n          style={{ transform: 'scale(0.95)', transformOrigin: '0 0' }}\n        >\n          <ReCAPTCHA\n            sitekey={process.env.REACT_APP_CAPTCHA_SITEKEY}\n            onChange={onCaptchaChange}\n          ></ReCAPTCHA>\n        </CaptchaContainer>\n      </div>\n\n      <div className=\"col-12\" style={{ padding: '0px' }}>\n        <S.TermsWrapper className=\"cadastro-aceite-termos\">\n          <FormGroup className=\"form-group\">\n            <input\n              checked={formValues.receberWhatsApp}\n              type=\"checkbox\"\n              id=\"receberWhatsApp\"\n              onChange={(e) =>\n                onChange(!formValues.receberWhatsApp, 'receberWhatsApp')\n              }\n            />\n            <label htmlFor=\"receberWhatsApp\">\n              <div style={{ width: '255px' }}>\n                <p>Receber comunicação via Whatsapp </p>\n              </div>\n            </label>\n            <Tooltip\n              icon={<i className=\"icon icon-info\"></i>}\n              message=\"Você receberá uma mensagem a cada atualização de pedido, ofertas promocionais do Gimba e parceiros.\"\n            />\n          </FormGroup>\n\n          <FormGroup className=\"form-group\">\n            <input\n              checked={formValues.receberNovidades}\n              type=\"checkbox\"\n              id=\"receberNovidades\"\n              onChange={(e) =>\n                onChange(!formValues.receberNovidades, 'receberNovidades')\n              }\n            />\n            <label htmlFor=\"receberNovidades\">\n              Receber e-mails promocionais e de parceiros\n            </label>\n          </FormGroup>\n          <FormGroup className=\"form-group\">\n            <input\n              checked={formValues.aceiteTermos}\n              type=\"checkbox\"\n              onChange={(e) =>\n                onChange(!formValues.aceiteTermos, 'aceiteTermos')\n              }\n              id=\"aceiteTermos\"\n            />\n            <label htmlFor=\"aceiteTermos\">\n              Aceito os Termos e condições e autorizo o uso de meus dados de\n              acordo com a{' '}\n              <a\n                href={`${process.env.REACT_APP_URL_MAIN}/institucional/seguranca-privacidade`}\n                target=\"_blank\"\n                rel=\"noreferrer\"\n              >\n                Declaração de Privacidade\n              </a>\n            </label>\n          </FormGroup>\n        </S.TermsWrapper>\n      </div>\n    </div>\n  )\n}\n\nexport default RegisterStep3\n","import styled, { css } from 'styled-components'\n\nimport {\n  Button,\n  ButtonBack,\n  ButtonIcon,\n  ButtonPrimary\n} from '../../components/Button/styles'\n\nexport const WrapperMedium = styled.div`\n  ${({ theme }) => css`\n    margin: auto;\n    max-width: 1000px;\n    position: relative;\n    width: 100%;\n\n    @media (max-width: ${theme.media.ipad}) {\n      max-width: 90%;\n    }\n  `}\n`\n\nexport const FormFooter = styled.div`\n  min-height: 100px;\n  ${({ theme }) => css`\n    @media (max-width: ${theme.media.ipad}) {\n      position: fixed;\n      bottom: 0;\n      width: 100%;\n      background: #fbfbfb;\n      /* padding: 20px 0; */\n      z-index: 999;\n    }\n  `}\n`\n\nexport const AdvanceButton = styled.button`\n  ${({ theme, disabled }) => css`\n    cursor: pointer;\n    ${Button(theme)}\n    ${ButtonPrimary(theme)}\n    ${ButtonIcon}\n    margin-left: 15px;\n    ${disabled &&\n    css`\n      background: ${theme.colors.grey};\n    `}\n  `}\n`\n\nexport const BackButton = styled.button`\n  ${({ theme }) => css`\n    cursor: pointer;\n    ${Button(theme)}\n    ${ButtonBack(theme)}\n      ${ButtonIcon}\n  `}\n`\n\nexport const FormFooterContent = styled.div`\n  ${({ theme }) => css`\n    display: flex;\n    justify-content: flex-end;\n    margin-top: 30px;\n    margin-bottom: 30px;\n\n    @media (max-width: ${theme.media.cel}) {\n      flex-direction: column-reverse;\n      margin-top: 0;\n\n      ${AdvanceButton} {\n        display: block;\n        margin: 0 0 10px 0 !important;\n        width: 100%;\n      }\n    }\n  `}\n`\n","import axios from 'axios'\r\n\r\ninterface ReceitaFederalProps {\r\n  idEtapa: 0\r\n  razaoSocial: string\r\n  nomeFantasia: string\r\n  inscricaoMunicipal: string\r\n  inscricaoEstadual: string\r\n  cepFaturamento: string\r\n  numeroEndereco: string\r\n  cnpj: string\r\n  uf: string\r\n}\r\n\r\nconst cadastro = {\r\n  async cadastroClientePF(body) {\r\n    return await fetch(\r\n      `${process.env.REACT_APP_API_CLIENTES}clientes/pessoas-fisicas`,\r\n      {\r\n        method: 'post',\r\n        headers: { 'Content-Type': 'application/json' },\r\n        body: JSON.stringify(body)\r\n      }\r\n    )\r\n  },\r\n  async preCadastroClientePF(body) {\r\n    return await fetch(\r\n      `${process.env.REACT_APP_API_CLIENTES}clientes/pessoas-fisicasV2`,\r\n      {\r\n        method: 'put',\r\n        headers: { 'Content-Type': 'application/json' },\r\n        body: JSON.stringify(body)\r\n      }\r\n    )\r\n  },\r\n  async cadastroClientePJ(body) {\r\n    return await fetch(\r\n      `${process.env.REACT_APP_API_CLIENTES}clientes/pessoas-juridicas`,\r\n      {\r\n        method: 'post',\r\n        headers: { 'Content-Type': 'application/json' },\r\n        body: JSON.stringify(body)\r\n      }\r\n    )\r\n  },\r\n  async preCadastroClientePJ(body) {\r\n    return await fetch(\r\n      `${process.env.REACT_APP_API_CLIENTES}clientes/pessoas-juridicasV2`,\r\n      {\r\n        method: 'put',\r\n        headers: { 'Content-Type': 'application/json' },\r\n        body: JSON.stringify(body)\r\n      }\r\n    )\r\n  },\r\n  async getCEP(CEP) {\r\n    return await fetch(`${process.env.REACT_APP_API_CEPS}${CEP}`)\r\n  },\r\n\r\n  async validarReceitaFederal(body: ReceitaFederalProps) {\r\n    // return await fetch(\r\n    //   `${process.env.REACT_APP_API_CLIENTES}clientes/cnpj-receita-federal`,\r\n    //   {\r\n    //     method: 'post',\r\n    //     headers: { 'Content-Type': 'application/json' },\r\n    //     body: JSON.stringify(body)\r\n    //   }\r\n    // )\r\n\r\n    return axios\r\n      .post(\r\n        `${process.env.REACT_APP_API_CLIENTES}clientes/cnpj-receita-federal`,\r\n        body\r\n      )\r\n      .catch((error) => {\r\n        return error.response\r\n      })\r\n  }\r\n}\r\n\r\nexport default cadastro\r\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport { useContext, useEffect, useState } from 'react'\nimport { useToast } from '../../hooks/toast'\nimport { useHistory } from 'react-router-dom'\nimport { useSelector } from 'react-redux'\nimport clientes from '../../api/clientes'\nimport Loader from '../Loader'\n\nimport { RegisterStep1, RegisterStep2, RegisterStep3 } from './Steps'\nimport { Wrapper } from '../PreRegisterForm/styles'\nimport * as S from './styles'\nimport { dddString, phoneString, noMask } from '../../components/FormPF/masks'\nimport {\n  emailConfVal,\n  emailVal,\n  fieldVal,\n  fieldValComp,\n  passConfVal,\n  passVal,\n  sizeVal,\n  ufVal,\n  cepVal\n} from '../../components/FormPF/fieldValidator'\nimport {\n  cnpjVal,\n  comercialPhoneVal,\n  contatoVal,\n  cellVal,\n  razaoVal,\n  inscEstVal,\n  cnpjRepetidoVal,\n  validateInscEstadual,\n  selectValOrigem\n} from './fieldValidator'\nimport cadastro from '../../api/cadastro.ts'\nimport { UserContext } from '../../contexts/UserContext'\nimport AccordionItem from '../AccordionItem'\nimport AccordionButton from '../AccordionButton'\nimport { AccordionItens, AccordionMenu } from '../../styles/accordion'\n\nconst FormPJ = ({ props, type, email, setType, name, setSelectedType }) => {\n  const dados = useSelector((store) => store.facebook.dados)\n  let { addToast } = useToast()\n  let router = useHistory()\n  const [trigger, setTrigger] = useState(true)\n  const [current, setCurrent] = useState(1)\n  const [load, setLoad] = useState(false)\n  const { validacaoExternaPJ } = useContext(UserContext)\n  const [validInscEst, setValidInscEst] = useState(false)\n  const [receitaFederalError, setReceitaFederalError] = useState({\n    cep: { status: false, message: '' },\n    numero: { status: false, message: '' },\n    uf: { status: false, message: '' },\n    cnpj: { status: false, message: '' },\n    inscricaoEstadual: { status: false, message: '' },\n    razaoSocial: { status: false, message: '' }\n  })\n\n  const [formValues, setFormvalues] = useState({\n    idCargo: -1,\n    idDepartamento: -1,\n    email: '',\n    confirmaEmailContato: '',\n    senha: '',\n    confirmaSenha: '',\n    receberNovidades: false,\n    receberEmailMarketing: false,\n    receberWhatsApp: false,\n    emailLogin: '',\n    razaoSocial: '',\n    cnpj: '',\n    inscricaoEstadual: '',\n    telefoneComercialDDD: '',\n    telefoneComercialNumero: '',\n    contato: '',\n    telefoneCelularDDD: '',\n    telefoneCelularNumero: '',\n    tipoEndereco: '',\n    tipoLogradouro: '',\n    logradouro: '',\n    numero: '',\n    complemento: '',\n    bairro: '',\n    cidade: '',\n    uf: '',\n    cep: '',\n    pontoReferencia: '',\n    invalidCEP: false,\n    errorTrigger: { 1: false, 2: false, 3: false, 4: false },\n    cnpjCadastrado: undefined,\n    idComoConheceu: 0\n  })\n\n  const [captcha, setCaptcha] = useState({\n    value: '',\n    expired: false\n  })\n\n  const handleChange = (value, field) => {\n    setFormvalues((prev) => ({\n      ...prev,\n      [field]: value\n    }))\n\n    if (typeof value === 'string') {\n      setReceitaFederalError({\n        cep: { status: false, message: '' },\n        numero: { status: false, message: '' },\n        uf: { status: false, message: '' },\n        cnpj: { status: false, message: '' },\n        inscricaoEstadual: { status: false, message: '' },\n        inscricaoMunicipal: { status: false, message: '' },\n        nomeFantasia: { status: false, message: '' },\n        razaoSocial: { status: false, message: '' }\n      })\n    }\n  }\n\n  const handleReceitaFederalErrorChange = (value, field, message) => {\n    setReceitaFederalError((prev) => ({\n      ...prev,\n      [field]: { status: value, message: message }\n    }))\n  }\n\n  const handleAccordionClick = async (newActiveAccordion) => {\n    if (newActiveAccordion !== current) {\n      // Lógica para verificar se os passos anteriores foram completados com sucesso\n      if (newActiveAccordion === 2 && !step1Success) {\n        addToast({\n          type: 'error',\n          title: 'Erro',\n          description: 'Preencher passo anterior corretamente'\n        })\n        return\n      }\n      if (newActiveAccordion === 3 && (!step1Success || !step2Success)) {\n        addToast({\n          type: 'error',\n          title: 'Erro',\n          description: 'Preencher passos anteriores corretamente'\n        })\n        return\n      }\n      const success = await handleChangeStep(true)\n      if (success) {\n        setCurrent(newActiveAccordion)\n      }\n    }\n  }\n\n  const onCaptchaChange = (value) => {\n    if (value === null) {\n      setCaptcha({\n        value: value,\n        expired: true\n      })\n    } else {\n      setCaptcha({ value: value, expired: false })\n    }\n  }\n  //\n  useEffect(() => {\n    const { nome } = dados\n    if (nome.length > 0) handleChange(nome, 'contato')\n  }, [])\n\n  useEffect(() => {\n    setSelectedType('pj')\n  }, [])\n\n  useEffect(() => {\n    if (email)\n      setFormvalues((prev) => ({\n        ...prev,\n        email\n      }))\n  }, [email])\n\n  async function validatePJData(body) {\n    try {\n      const response = await cadastro.validarReceitaFederal({\n        idEtapa: 1,\n        cepFaturamento: body.endereco.cep,\n        cnpj: body.cnpj,\n        inscricaoEstadual: body.inscricaoEstadual,\n        numeroEndereco: body.endereco.numero,\n        razaoSocial: body.razaoSocial,\n        uf: body.endereco.uf\n      })\n\n      if (response.status === 200) {\n        return 'valid'\n      }\n\n      function filterMessage(message) {\n        if (message.includes('Razão Social')) {\n          return 'razao_social'\n        } else if (message.includes('Inscrição Estadual')) {\n          return 'inscricao_estadual'\n        } else if (message.includes('CNPJ nao encontrado na Receita Federal')) {\n          return 'cnpj'\n        } else if (message.includes('CEP de Faturamento')) {\n          return 'cep'\n        } else if (message.includes('Número do Endereco')) {\n          return 'numero'\n        } else if (\n          message.includes(\n            'CNPJ da consulta não cadastrado como contribuinte na UF'\n          )\n        ) {\n          return 'inscricao_estadual'\n        }\n      }\n\n      if (response.status === 400) {\n        addToast({\n          type: 'error',\n          title: response.data,\n          description: '',\n          timer: 8000\n        })\n\n        switch (filterMessage(response.data)) {\n          case 'razao_social':\n            handleReceitaFederalErrorChange(true, 'razaoSocial', response.data)\n            break\n\n          case 'cnpj':\n            handleReceitaFederalErrorChange(true, 'cnpj', response.data)\n            break\n\n          case 'inscricao_estadual':\n            handleReceitaFederalErrorChange(\n              true,\n              'inscricaoEstadual',\n              response.data\n            )\n            break\n\n          case 'cep':\n            handleReceitaFederalErrorChange(true, 'cep', response.data)\n            handleChangeStep()\n            break\n\n          case 'numero':\n            handleReceitaFederalErrorChange(true, 'numero', response.data)\n            handleChangeStep()\n            break\n\n          case 'uf':\n            handleReceitaFederalErrorChange(true, 'uf', response.data)\n            break\n\n          default:\n            break\n        }\n      }\n    } catch (error) {\n      addToast({\n        type: 'error',\n        title: 'Ocorreu um erro ao realizar cadastro',\n        description: 'API da Receita Federal sem resposta'\n      })\n    }\n  }\n  async function createUser(body) {\n    let res\n    if (JSON.parse(localStorage.getItem('preCadastro'))) {\n      res = await cadastro.preCadastroClientePJ(body)\n    } else {\n      res = await cadastro.cadastroClientePJ(body)\n    }\n\n    if (res.status >= 200 && res.status < 300) {\n      setLoad(false)\n      return router.push('/cadastro-sucesso', {\n        email: body.email\n      })\n    } else {\n      setTrigger(true)\n      setLoad(false)\n      return addToast({\n        type: 'error',\n        title:\n          res?.errors?.Messages[0] ||\n          'Ocorreu um problema, tente mais tarde novamente'\n      })\n    }\n  }\n\n  const salvar = async (values) => {\n    setLoad(true) // Ativa o loader\n    const msg =\n      fieldVal(\n        [\n          values.cnpjCadastrado,\n          values.email,\n          values.contato,\n          values.razaoSocial,\n          values.cnpj,\n          values.telefoneCelularNumero,\n          values.telefoneComercialNumero,\n          values.inscricaoEstadual,\n          values.idComoConheceu\n        ],\n        [\n          cnpjRepetidoVal,\n          emailVal,\n          contatoVal,\n          razaoVal,\n          cnpjVal,\n          cellVal,\n          comercialPhoneVal,\n          inscEstVal,\n          selectValOrigem\n        ]\n      ) +\n      fieldValComp(\n        [\n          values.email,\n          values.confirmaEmailContato,\n          values.senha,\n          values.confirmaSenha\n        ],\n        [emailConfVal, passConfVal]\n      )\n    if (msg.length > 1 && !msg.includes('Escolha uma opção')) {\n      setLoad(false)\n      return addToast({\n        type: 'error',\n        title: 'Preencher campos obrigatórios',\n        description: ''\n      })\n    } else if (msg.includes('Escolha uma opção')) {\n      setLoad(false) // Desativa o loader\n      console.log(msg)\n      return addToast({\n        type: 'error',\n        title: 'Escolha uma opção',\n        description: 'Como conheceu o gimba?'\n      })\n    } else if (!values.aceiteTermos) {\n      setLoad(false)\n      return addToast({\n        type: 'error',\n        title: 'Termos e condições não aceito',\n        description: 'Aceitar os Termos e condições'\n      })\n    } else if (values.inscricaoEstadual !== 'ISENTO' && !validInscEst) {\n      setLoad(false)\n      return addToast({\n        type: 'error',\n        title: `Inscrição Estadual Inválida para o estado de ${formValues.uf}`\n      })\n    } else if (captcha.value === '') {\n      setLoad(false)\n      addToast({\n        type: 'error',\n        title: 'Por favor, complete a verificação \"Não sou um Robô\"'\n      })\n    } else if (captcha.expired === true) {\n      setLoad(false)\n      addToast({\n        type: 'error',\n        title:\n          'Verificação expirada. Por favor, marque novamente a caixa de seleção'\n      })\n    } else {\n      const body = {\n        idCargo: values.idCargo === -1 ? 0 : Number(values.idCargo),\n        idDepartamento:\n          values.idDepartamento === -1 ? 0 : Number(values.idDepartamento),\n        senha: values.senha,\n        token: '4a0c45d784324c03acf4f8236180e849',\n        guidJwt: captcha.value,\n        receberNovidades: values.receberNovidades,\n        receberWhatsApp: values.receberWhatsApp,\n        email: values.email,\n        razaoSocial: values.razaoSocial,\n        cnpj: values.cnpj.replace(/[^0-9\\s]/gi, ''),\n        inscricaoEstadual: values.inscricaoEstadual,\n        telefoneComercialDDD: dddString(values.telefoneComercialNumero),\n        telefoneComercialNumero: phoneString(values.telefoneComercialNumero),\n        contato: values.contato,\n        telefoneCelularDDD: dddString(values.telefoneCelularNumero),\n        telefoneCelularNumero: phoneString(values.telefoneCelularNumero),\n        idComoConheceu: values.idComoConheceu,\n        endereco: {\n          id: 0,\n          padrao: true,\n          tipoEndereco: 'C',\n          tipoLogradouro: formValues.tipoLogradouro,\n          apelido: 'Cobrança',\n          logradouro: formValues.logradouro,\n          pontoReferencia: formValues.pontoReferencia,\n          numero: formValues.numero,\n          complemento: formValues.complemento,\n          bairro: formValues.bairro,\n          cidade: formValues.cidade,\n          uf: formValues.uf,\n          cep: noMask(formValues.cep)\n        },\n        clienteSocialMediaModel: {\n          userId: dados.facebookId,\n          providerKey: '',\n          loginProvider: '',\n          email: values.email,\n          nome: values.email\n        }\n      }\n\n      try {\n        setTrigger(false)\n\n        if (validacaoExternaPJ === true) {\n          const receitaFederalInfo = await validatePJData(body)\n          if (receitaFederalInfo === 'valid') {\n            await createUser(body)\n            setLoad(false)\n          } else {\n            setLoad(false)\n          }\n        } else {\n          await createUser(body)\n        }\n\n        setTrigger(true)\n      } catch (e) {\n        setLoad(false)\n        addToast({\n          type: 'error',\n          title: 'Erro no cadastro',\n          description:\n            'Ocorreu um problema durante o cadastro. Tente novamente mais tarde.'\n        })\n      }\n    }\n  }\n\n  const [step1Success, setStep1Success] = useState(false)\n  const [step2Success, setStep2Success] = useState(false)\n\n  const handleChangeStep = async (forwards) => {\n    if (current === 3 && forwards) {\n      handleChange({ 1: true, 2: true, 3: true }, 'errorTrigger')\n      const msg = fieldVal(\n        [\n          formValues.telefoneCelularNumero,\n          formValues.telefoneComercialNumero,\n          formValues.contato,\n          formValues.idComoConheceu\n        ],\n        [cellVal, comercialPhoneVal, contatoVal, selectValOrigem]\n      )\n\n      if (msg.length > 1) {\n        addToast({\n          type: 'error',\n          title: 'Preencha os campos corretamente',\n          description: ''\n        })\n        return false\n      }\n\n      return true\n    } else if (current === 1 && !forwards) {\n      setType(undefined)\n      return true\n    } else if (current === 1 && forwards) {\n      handleChange({ 1: true, 2: false, 3: false }, 'errorTrigger')\n      const msg =\n        fieldVal([formValues.email, formValues.senha], [emailVal, passVal]) +\n        fieldValComp(\n          [\n            formValues.email,\n            formValues.confirmaEmailContato,\n            formValues.senha,\n            formValues.confirmaSenha\n          ],\n          [emailConfVal, passConfVal]\n        )\n      if (msg.length > 1) {\n        addToast({\n          type: 'error',\n          title: 'Preencha os campos corretamente',\n          description: ''\n        })\n        return false\n      }\n      if (JSON.parse(localStorage.getItem('preCadastro'))) {\n        setLoad(true)\n        let valid\n        try {\n          valid = await clientes.email(formValues.email)\n        } catch (e) {}\n        if (valid?.status === 200) {\n          setLoad(false)\n          addToast({\n            type: 'error',\n            title: 'E-mail já cadastrado'\n          })\n          return false\n        }\n        setLoad(false)\n      }\n      setStep1Success(true)\n      setCurrent(current + 1)\n      return true\n    } else if (current === 2 && forwards) {\n      handleChange({ 1: true, 2: true, 3: false }, 'errorTrigger')\n      const msg = fieldVal(\n        [\n          formValues.razaoSocial,\n          formValues.cnpj,\n          formValues.inscricaoEstadual,\n          formValues.logradouro,\n          formValues.numero || '',\n          formValues.bairro || '',\n          formValues.cidade || '',\n          formValues.uf,\n          formValues.cep || ''\n        ],\n        [\n          razaoVal,\n          cnpjVal,\n          inscEstVal,\n          sizeVal,\n          sizeVal,\n          sizeVal,\n          sizeVal,\n          ufVal,\n          cepVal\n        ]\n      )\n      if (\n        formValues.inscricaoEstadual !== 'ISENTO' &&\n        formValues.inscricaoEstadual?.length >= 8 &&\n        formValues.uf\n      ) {\n        const result = await validateInscEstadual(\n          formValues.inscricaoEstadual,\n          formValues.uf\n        )\n        if (!result.valid) {\n          addToast({\n            type: 'error',\n            title: 'Inscrição Estadual inválida para o estado selecionado'\n          })\n          return false\n        }\n      }\n      console.log(msg)\n      if (msg.length > 1) {\n        addToast({\n          type: 'error',\n          title: 'Preencher campos obrigatórios'\n        })\n        return false\n      }\n\n      setStep2Success(true)\n      setCurrent(current + 1)\n      return true\n    } else if (forwards) {\n      setCurrent(current + 1)\n      return true\n    } else if (!forwards) {\n      setCurrent(current - 1)\n      return true\n    }\n  }\n\n  const handleKeyDown = (e) => {\n    if (e.keyCode === 13) {\n      e.preventDefault()\n      e.target.blur()\n      handleChangeStep(true)\n    }\n  }\n\n  if (type !== 'pj') return null\n\n  return (\n    <>\n      {load && <Loader />}\n      <Wrapper>\n        <S.WrapperMedium>\n          <AccordionMenu>\n            <AccordionItens>\n              <AccordionItem\n                title=\"Dados de Acesso\"\n                current={1}\n                isActive={current === 1}\n                step1Success={step1Success}\n                onClick={() => handleAccordionClick(1)}\n                type={type}\n              >\n                <RegisterStep1\n                  formValues={formValues}\n                  onChange={handleChange}\n                  handleKeyDown={handleKeyDown}\n                  handleChangeStep={handleChangeStep}\n                />\n                <AccordionButton\n                  current={current}\n                  handleChangeStep={handleChangeStep}\n                  trigger={trigger}\n                />\n              </AccordionItem>\n              <AccordionItem\n                title=\"Dados de Faturamento\"\n                current={2}\n                isActive={current === 2}\n                step2Success={step2Success}\n                onClick={() => handleAccordionClick(2)}\n                type={type}\n              >\n                <RegisterStep2\n                  props={props}\n                  formValues={formValues}\n                  receitaFederalError={receitaFederalError}\n                  onChange={handleChange}\n                  handleKeyDown={handleKeyDown}\n                  handleChangeStep={handleChangeStep}\n                  setValidInscEst={setValidInscEst}\n                />\n                <AccordionButton\n                  current={current}\n                  handleChangeStep={handleChangeStep}\n                  trigger={trigger}\n                />\n              </AccordionItem>\n              <AccordionItem\n                title=\"Dados de Contato\"\n                current={3}\n                isActive={current === 3}\n                onClick={() => handleAccordionClick(3)}\n                type={type}\n              >\n                <RegisterStep3\n                  formValues={formValues}\n                  onChange={handleChange}\n                  handleKeyDown={handleKeyDown}\n                  handleChangeStep={handleChangeStep}\n                  onCaptchaChange={onCaptchaChange}\n                />\n                <AccordionButton\n                  current={current}\n                  handleChangeStep={handleChangeStep}\n                  trigger={trigger}\n                  handleSubmit={() => salvar(formValues)}\n                />\n              </AccordionItem>\n            </AccordionItens>\n          </AccordionMenu>\n        </S.WrapperMedium>\n      </Wrapper>\n    </>\n  )\n}\n\nexport default FormPJ\n","import { useEffect, useState } from 'react'\r\nimport { useSelector } from 'react-redux'\r\nimport PreRegisterForm from '../../components/PreRegisterForm'\r\nimport FormPF from '../../components/FormPF'\r\nimport FormPJ from '../../components/FormPJ'\r\n// import { useToast } from '../../hooks/toast'\r\n// import clientes from '../../api/clientes'\r\n\r\n// import * as S from './styles'\r\n\r\nconst RegisterTemplate = () => {\r\n  const dados = useSelector((store) => store.facebook.dados)\r\n\r\n  const [type, setType] = useState(undefined)\r\n  const [selectedType, setSelectedType] = useState('pf')\r\n  const [email, setEmail] = useState('')\r\n  const [name, setName] = useState('')\r\n\r\n  useEffect(() => {\r\n    const { email } = dados\r\n    if (email.length > 0) setEmail(email)\r\n    // eslint-disable-next-line react-hooks/exhaustive-deps\r\n  }, [])\r\n\r\n  return (\r\n    <>\r\n      {type === undefined && (\r\n        <PreRegisterForm\r\n          type={type}\r\n          setType={setType}\r\n          email={email}\r\n          setEmail={setEmail}\r\n          name={name}\r\n          setName={setName}\r\n          setSelectedType={setSelectedType}\r\n          selectedType={selectedType}\r\n        />\r\n      )}\r\n      {type && type === 'pf' && (\r\n        <FormPF\r\n          setType={setType}\r\n          setSelectedType={setSelectedType}\r\n          type={type}\r\n          email={email}\r\n          name={name}\r\n        />\r\n      )}\r\n      {type && type === 'pj' && (\r\n        <FormPJ\r\n          setType={setType}\r\n          setSelectedType={setSelectedType}\r\n          type={type}\r\n          email={email}\r\n          name={name}\r\n        />\r\n      )}\r\n    </>\r\n  )\r\n}\r\n\r\nexport default RegisterTemplate\r\n","import * as S from './styles'\n\nconst Header = () => {\n  return (\n    <S.Wrapper>\n      <S.Container>\n        <a href={process.env.REACT_APP_URL_MAIN}>\n          <S.Logo\n            src={process.env.REACT_APP_URL_LOGO}\n            alt=\"Gimba\"\n            role=\"image\"\n          />\n        </a>{' '}\n        <S.NavLinks>\n          <a href=\"https://www.gimba.com.br/Boleto/Lista\">2ª Via do Boleto</a>\n          <a href=\"https://www.gimba.com.br/\">Voltar para o Site</a>\n        </S.NavLinks>\n      </S.Container>\n    </S.Wrapper>\n  )\n}\n\nexport default Header\n","const traceLog = {\r\n  async logAcessos(body) {\r\n    return await fetch(\r\n      `${process.env.REACT_APP_API_ENDPOINT}trace-log/LogAcessos`,\r\n      {\r\n        method: 'POST',\r\n        headers: { 'Content-Type': 'application/json' },\r\n        body: JSON.stringify(body)\r\n      }\r\n    )\r\n  },\r\n  async logAcessosPosCadastro(body) {\r\n    return await fetch(\r\n      `${process.env.REACT_APP_API_CHECKOUT}api/Pedido/SalvarDadosRastreamento`,\r\n      {\r\n        method: 'POST',\r\n        headers: {\r\n          // Authorization: `Bearer ${token()}`,\r\n          'Content-Type': 'application/json'\r\n        },\r\n        body: JSON.stringify(body)\r\n      }\r\n    )\r\n  }\r\n}\r\n\r\nexport default traceLog\r\n","import axios from 'axios'\r\nimport traceLog from '../api/traceLog'\r\n\r\nexport const traceLogAcessos = async (path) => {\r\n  // const { data } = await axios.get('https://www.myexternalip.com/json')\r\n  // postLogAcessos(data.ip, window.location.href, path)\r\n}\r\n\r\nexport const getQueryParamsToTracelog = (query) => {\r\n  const currentUrl = window.location.origin + window.location.pathname\r\n  const clientip = query.get('clientip')\r\n  const utmSource = query.get('u_src')\r\n  const utmMedium = query.get('u_med')\r\n  const utmCampaign = query.get('u_camp')\r\n  const redirectUrl = query.get('redirectUrl')\r\n\r\n  localStorage.removeItem('u_src')\r\n  // localStorage.removeItem('clientip')\r\n  localStorage.removeItem('u_med')\r\n  localStorage.removeItem('u_camp')\r\n\r\n  if (clientip !== null) {\r\n    localStorage.setItem('clientip', clientip)\r\n\r\n    // localStorage.getItem('clientip')\r\n  } else {\r\n    if (localStorage.getItem('clientip') === '') {\r\n      localStorage.setItem('clientip', '')\r\n    }\r\n  }\r\n\r\n  utmSource !== null && localStorage.setItem('u_src', utmSource)\r\n  utmMedium !== null && localStorage.setItem('u_med', utmMedium)\r\n  utmCampaign !== null && localStorage.setItem('u_camp', utmCampaign)\r\n\r\n  // console.log({ utmSource, utmCampaign, utmMedium })\r\n  localStorage.setItem('redirectUrl', redirectUrl)\r\n\r\n  // postLogAcessos(clientip, currentUrl, redirectUrl, utmSource, utmMedium, utmCampaign)\r\n}\r\n\r\nexport const postLogAcessos = async (\r\n  ip,\r\n  currentUrl,\r\n  previousUrl,\r\n  utmSource,\r\n  utmMedium,\r\n  utmCampaign,\r\n  email\r\n) => {\r\n  const body = {\r\n    ip: ip === null ? '' : ip,\r\n    utmSource: utmSource,\r\n    utmMedium: utmMedium,\r\n    utmCampaign: utmCampaign,\r\n    url: currentUrl,\r\n    httpReferer: previousUrl,\r\n    // idLojaEspecial: 0,\r\n    adWords: 0,\r\n    idLojaVirtual: 1,\r\n    EmailCliente: email\r\n  }\r\n\r\n  // console.log('POST', body)\r\n\r\n  let res = await traceLog.logAcessos(body)\r\n  res = await res.json()\r\n  return res\r\n}\r\n\r\nexport const postLogAcessosPosCadastro = async (\r\n  currentUrl,\r\n  previousUrl,\r\n  email\r\n) => {\r\n  const body = {\r\n    Url: currentUrl,\r\n    HttpReferer: previousUrl,\r\n    EmailCliente: email\r\n  }\r\n\r\n  // console.log('POST', body)\r\n\r\n  let res = await traceLog.logAcessosPosCadastro(body)\r\n  res = await res.json()\r\n  return res\r\n}\r\n\r\nexport const getLocalStorageLog = async (currentPath, email) => {\r\n  const previousUrl = window.location.origin\r\n  const clientip = localStorage.getItem('clientip')\r\n  const utmSource = localStorage.getItem('u_src')\r\n  const utmMedium = localStorage.getItem('u_med')\r\n  const utmCampaign = localStorage.getItem('u_camp')\r\n  let redirectUrl = localStorage.getItem('redirectUrl')\r\n\r\n  if (redirectUrl !== undefined && redirectUrl !== null) {\r\n    redirectUrl = window.location.origin + window.location.pathname\r\n  }\r\n  try {\r\n    await postLogAcessos(\r\n      clientip,\r\n      redirectUrl,\r\n      previousUrl,\r\n      utmSource,\r\n      utmMedium,\r\n      utmCampaign,\r\n      email\r\n    )\r\n  } catch (e) {}\r\n}\r\n","import React, { useMemo } from 'react'\r\nimport { useLocation } from 'react-router-dom'\r\n\r\nconst useQuery = () => {\r\n  const { search } = useLocation()\r\n\r\n  return useMemo(() => new URLSearchParams(search), [search])\r\n}\r\n\r\nexport { useQuery }","import RegisterTemplate from '../../templates/cadastro'\r\nimport Header from '../../components/Header'\r\nimport { useLocation } from 'react-router-dom'\r\nimport { useEffect } from 'react'\r\nimport {\r\n  getLocalStorageLog,\r\n  getQueryParamsToTracelog\r\n} from '../../utils/traceLogAcessos'\r\nimport { useQuery } from '../../hooks/useQuery'\r\n\r\nfunction Cadastro() {\r\n  const location = useLocation()\r\n  const query = useQuery()\r\n\r\n  useEffect(() => {\r\n    getLocalStorageLog(location.pathname)\r\n    // getQueryParamsToTracelog(query)\r\n    // eslint-disable-next-line react-hooks/exhaustive-deps\r\n  }, [])\r\n\r\n  return (\r\n    <>\r\n      <Header onlyLogo></Header>\r\n      <RegisterTemplate />\r\n    </>\r\n  )\r\n}\r\n\r\nexport default Cadastro\r\n","import styled from 'styled-components'\n\nexport const Page = styled.div`\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  margin: 60px;\n`\n\nexport const Wrapper = styled.div`\n  background: #ffffff;\n  padding: 40px 80px;\n  border: 1px solid #eeeeee;\n  border-radius: 10px;\n  -webkit-box-shadow: 4px 3px 7px 2px rgb(0 0 0 / 5%);\n  box-shadow: 4px 3px 7px 2px rgb(0 0 0 / 5%);\n  width: 500px;\n\n  @media screen and (max-width: 1170px) {\n    background: transparent;\n    -webkit-box-shadow: none;\n    box-shadow: none;\n    border: 0;\n    padding: 0;\n    width: 90%;\n  }\n`\n\nexport const Tittle = styled.h2`\n  font-size: 28px;\n  font-weight: 600;\n  color: #d22630;\n  margin-top: 10px;\n  margin-bottom: 30px;\n  text-align: center;\n  @media screen and (max-width: 1170px) {\n    font-size: 20px;\n    text-align: center;\n  }\n`\n\nexport const IconWrapper = styled.div`\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  flex-direction: column; /* Adiciona flex-direction para garantir que os ícones fiquem centralizados verticalmente */\n\n  .icon {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    margin: 5px;\n    width: 120px;\n    height: 120px;\n    color: #5cc187;\n  }\n\n  svg {\n    animation: bounce-in 2s ease forwards;\n  }\n\n  @keyframes bounce-in {\n    0% {\n      opacity: 0;\n      transform: scale(0.3);\n    }\n    50% {\n      opacity: 1;\n      transform: scale(1.05);\n    }\n    70% {\n      transform: scale(0.9);\n    }\n    100% {\n      transform: scale(1);\n    }\n  }\n\n  @media screen and (max-width: 720px) {\n    .icon {\n      width: 80px;\n      height: 80px;\n    }\n  }\n`\n\nexport const Description = styled.p`\n  text-align: center;\n  font-size: 15px;\n  line-height: 20px;\n`\n\nexport const Footer = styled.div`\n  margin-top: 20px;\n  display: flex;\n  justify-content: center;\n`\n\nexport const Button = styled.div`\n  background: #d22630;\n  color: #ffffff;\n  display: block;\n  width: 183px;\n  border-radius: 5px;\n  border: 2px solid transparent;\n  font-family: 'Montserrat', sans-serif;\n  font-weight: 500;\n  font-size: 16px;\n  padding: 15px 30px;\n  text-align: center;\n  transition: all 400ms;\n  cursor: pointer;\n  &:hover {\n    background: #a71e26;\n  }\n`\n","import * as S from './styles'\nimport { FiCheckSquare } from 'react-icons/fi'\n\nconst CadastroCard = () => {\n  return (\n    <S.Page>\n      <S.Wrapper>\n        <S.IconWrapper>\n          <FiCheckSquare className=\"icon\" />\n        </S.IconWrapper>\n        <S.Tittle>Seu cadastro foi concluído com sucesso</S.Tittle>\n        <S.Description></S.Description>\n        <S.Footer>\n          <S.Button\n            onClick={() =>\n              (window.location.href = `${process.env.REACT_APP_URL_MAIN}`)\n            }\n          >\n            Ok\n          </S.Button>\n        </S.Footer>\n      </S.Wrapper>\n    </S.Page>\n  )\n}\n\nexport default CadastroCard\n","import { useEffect } from 'react'\r\nimport { useLocation } from 'react-router-dom'\r\nimport CadastroCard from '../../components/CadastroCard'\r\nimport Header from '../../components/Header'\r\nimport { getLocalStorageLog } from '../../utils/traceLogAcessos'\r\n\r\nfunction End() {\r\n  const { state, pathname } = useLocation()\r\n\r\n  async function saveNewUserLog() {\r\n    await getLocalStorageLog(pathname, state?.email)\r\n    setTimeout(\r\n      () =>\r\n        (window.location.href = `${process.env.REACT_APP_URL_MAIN}/Checkout/Login/`),\r\n      2000\r\n    )\r\n  }\r\n\r\n  useEffect(() => {\r\n    saveNewUserLog()\r\n  }, [])\r\n\r\n  return (\r\n    <>\r\n      <Header onlyLogo></Header>\r\n      <CadastroCard />\r\n    </>\r\n  )\r\n}\r\n\r\nexport default End\r\n","//Keys\r\nexport const Types = {\r\n  SETDADOS: '@setDados'\r\n}\r\n\r\n//Reducer\r\nconst INITIAL_STATE = {\r\n  dados: {\r\n    email: '',\r\n    nome: '',\r\n    facebookid: ''\r\n  }\r\n}\r\n\r\nexport default function reducer(state = INITIAL_STATE, { type, payload }) {\r\n  switch (type) {\r\n    case Types.SETDADOS:\r\n      return { ...state, dados: payload }\r\n    default:\r\n      return state\r\n  }\r\n}\r\n\r\n//Actions\r\nexport const setDados = (payload) => {\r\n  return { type: Types.SETDADOS, payload: payload }\r\n}\r\n","/* eslint-disable react-hooks/exhaustive-deps */\r\nimport { useQueryParam, StringParam } from 'use-query-params'\r\nimport Loader from '../../components/Loader'\r\nimport { useHistory } from 'react-router'\r\nimport { useEffect, useState } from 'react'\r\nimport { useDispatch } from 'react-redux'\r\nimport { setDados } from '../../store/ducks/facebook'\r\nimport { getQueryParamsToTracelog } from '../../utils/traceLogAcessos'\r\nimport { useQuery } from '../../hooks/useQuery'\r\n\r\nfunction Auth() {\r\n  const dispatch = useDispatch()\r\n\r\n  const router = useHistory()\r\n\r\n  const [email] = useQueryParam('email', StringParam)\r\n  const [nome] = useQueryParam('nome', StringParam)\r\n  const [facebookid] = useQueryParam('facebookid', StringParam)\r\n\r\n  const [waitGroup, setWaitGroup] = useState(0)\r\n\r\n  const query = useQuery()\r\n\r\n  useEffect(() => {\r\n    if (waitGroup === 0) {\r\n      dispatch(\r\n        setDados({\r\n          email: email || '',\r\n          nome: nome || '',\r\n          facebookid: facebookid || ''\r\n        })\r\n      )\r\n      getQueryParamsToTracelog(query)\r\n      setWaitGroup(1)\r\n    }\r\n    if (waitGroup === 1) {\r\n      router.push('/cadastro')\r\n    }\r\n  }, [waitGroup])\r\n\r\n  return (\r\n    <>\r\n      <Loader />\r\n    </>\r\n  )\r\n}\r\n\r\nexport default Auth\r\n","export default __webpack_public_path__ + \"static/media/icon-search.3acf1ded.svg\";","export default __webpack_public_path__ + \"static/media/icon-menu.2969e51f.svg\";","export default __webpack_public_path__ + \"static/media/icon-profile.3a7ec974.svg\";","export default __webpack_public_path__ + \"static/media/icon-whishlist.445e802b.svg\";","export default __webpack_public_path__ + \"static/media/icon-assinatura.2ac21fea.svg\";","export default __webpack_public_path__ + \"static/media/icon-contratos.8dda5d23.svg\";","export default __webpack_public_path__ + \"static/media/icon-local.43030f86.svg\";","export default __webpack_public_path__ + \"static/media/icon-info.b0b89a5d.svg\";","export default __webpack_public_path__ + \"static/media/icon-footer-facebook.e6b6bd42.svg\";","export default __webpack_public_path__ + \"static/media/icon-footer-twitter.8e7b3ef7.svg\";","export default __webpack_public_path__ + \"static/media/icon-footer-instagram.766ec0d1.svg\";","export default __webpack_public_path__ + \"static/media/icon-footer-linkedin.b5db2fbc.svg\";","export default __webpack_public_path__ + \"static/media/icon-footer-youtube.cd97da45.svg\";","export default __webpack_public_path__ + \"static/media/icon-cart.a13c134f.svg\";","export default __webpack_public_path__ + \"static/media/icon-check.bab3acea.svg\";","export default __webpack_public_path__ + \"static/media/icon-close.0e1b64f3.svg\";","export default __webpack_public_path__ + \"static/media/icon-eye.52999197.svg\";","export default __webpack_public_path__ + \"static/media/invisible.e402b65a.svg\";","export default __webpack_public_path__ + \"static/media/icon-arrow-button-right.551943ad.svg\";","export default __webpack_public_path__ + \"static/media/icon-arrow-button-left.e842f2b2.svg\";","import { css } from 'styled-components'\r\n\r\nexport const Scroll = css`\r\n  * {\r\n    &::-webkit-scrollbar {\r\n      border-radius: 5px;\r\n      background: #eeeeee;\r\n      height: 10px;\r\n      width: 10px;\r\n    }\r\n\r\n    &::-webkit-scrollbar-track {\r\n      border-radius: 5px;\r\n    }\r\n\r\n    &::-webkit-scrollbar-thumb {\r\n      border-radius: 5px;\r\n      background: #afaeae;\r\n    }\r\n  }\r\n`\r\n","import { css } from 'styled-components'\r\n\r\nimport IconSearch from '../assets/icons/icon-search.svg'\r\nimport IconMenu from '../assets/icons/icon-menu.svg'\r\nimport IconProfile from '../assets/icons/icon-profile.svg'\r\nimport IconWishlist from '../assets/icons/icon-whishlist.svg'\r\nimport IconArrowDown from '../assets/icons/icon-arrow-down.svg'\r\nimport IconAssinatura from '../assets/icons/icon-assinatura.svg'\r\nimport IconContratos from '../assets/icons/icon-contratos.svg'\r\nimport IconLocal from '../assets/icons/icon-local.svg'\r\nimport IconInfo from '../assets/icons/icon-info.svg'\r\nimport IconFooterFacebook from '../assets/icons/icon-footer-facebook.svg'\r\nimport IconFooterTwitter from '../assets/icons/icon-footer-twitter.svg'\r\nimport IconFooterInstagram from '../assets/icons/icon-footer-instagram.svg'\r\nimport IconFooterLinkedin from '../assets/icons/icon-footer-linkedin.svg'\r\nimport IconFooterYoutube from '../assets/icons/icon-footer-youtube.svg'\r\nimport IconCart from '../assets/icons/icon-cart.svg'\r\nimport IconCheck from '../assets/icons/icon-check.svg'\r\nimport IconClose from '../assets/icons/icon-close.svg'\r\nimport IconEye from '../assets/icons/icon-eye.svg'\r\nimport IconEyeCut from '../assets/icons/invisible.svg'\r\nimport IconArrowBtnRight from '../assets/icons/icon-arrow-button-right.svg'\r\nimport IconArrowBtnLeft from '../assets/icons/icon-arrow-button-left.svg'\r\n\r\nexport const IconStyles = (theme) => css`\r\n  // Icons.\r\n  .icon {\r\n    background-size: contain;\r\n    background-repeat: no-repeat;\r\n    background-position: center;\r\n    display: inline-block;\r\n    width: 30px;\r\n    height: 30px;\r\n  }\r\n\r\n  // Search.\r\n  .icon-search {\r\n    background-image: url(${IconSearch});\r\n  }\r\n\r\n  // Search.\r\n  .icon-menu {\r\n    background-image: url(${IconMenu});\r\n  }\r\n\r\n  // Profile.\r\n  .icon-profile {\r\n    background-image: url(${IconProfile});\r\n  }\r\n\r\n  // Whishlist.\r\n  .icon-whishlist {\r\n    background-image: url(${IconWishlist});\r\n  }\r\n\r\n  // Arrow Down.\r\n  .icon-arrow-down {\r\n    background-image: url(${IconArrowDown});\r\n    width: 12px;\r\n    height: 8px;\r\n    margin-left: 3px;\r\n  }\r\n\r\n  // Assinatura.\r\n  .icon-assinatura {\r\n    background-image: url(${IconAssinatura});\r\n  }\r\n\r\n  // Contratos.\r\n  .icon-contratos {\r\n    background-image: url(${IconContratos});\r\n  }\r\n\r\n  // Local.\r\n  .icon-local {\r\n    background-image: url(${IconLocal});\r\n  }\r\n\r\n  // Footer Youtube.\r\n  .icon-info {\r\n    background-image: url(${IconInfo});\r\n  }\r\n\r\n  // Footer Facebook.\r\n  .icon-footer-facebook {\r\n    background-image: url(${IconFooterFacebook});\r\n  }\r\n\r\n  // Footer Twitter.\r\n  .icon-footer-twitter {\r\n    background-image: url(${IconFooterTwitter});\r\n  }\r\n\r\n  // Footer Instagram.\r\n  .icon-footer-instagram {\r\n    background-image: url(${IconFooterInstagram});\r\n  }\r\n\r\n  // Footer Linkedin.\r\n  .icon-footer-linkedin {\r\n    background-image: url(${IconFooterLinkedin});\r\n  }\r\n\r\n  // Footer Youtube.\r\n  .icon-footer-youtube {\r\n    background-image: url(${IconFooterYoutube});\r\n  }\r\n\r\n  // *** Mask.\r\n\r\n  // Cart.\r\n  .icon-cart {\r\n    mask-image: url(${IconCart});\r\n    mask-size: contain;\r\n    mask-repeat: no-repeat;\r\n  }\r\n\r\n  // Check.\r\n  .icon-check {\r\n    mask-image: url(${IconCheck});\r\n    mask-size: contain;\r\n    mask-repeat: no-repeat;\r\n  }\r\n\r\n  // Close.\r\n  .icon-close {\r\n    mask-image: url(${IconClose});\r\n    mask-size: contain;\r\n    mask-repeat: no-repeat;\r\n    width: 20px;\r\n    height: 20px;\r\n    background-color: #707070;\r\n  }\r\n\r\n  // Eye.\r\n  .icon-eye {\r\n    mask-image: url(${IconEye});\r\n    mask-size: contain;\r\n    mask-repeat: no-repeat;\r\n    width: 20px;\r\n    height: 20px;\r\n    background-color: #707070;\r\n  }\r\n\r\n  .icon-eye-cut {\r\n    mask-image: url(${IconEyeCut});\r\n    mask-size: contain;\r\n    mask-repeat: no-repeat;\r\n    width: 20px;\r\n    height: 20px;\r\n    background-color: #707070;\r\n  }\r\n\r\n  // Arrow Button Right.\r\n  .icon-arrow-button-right {\r\n    mask-image: url(${IconArrowBtnRight});\r\n    mask-size: contain;\r\n    mask-repeat: no-repeat;\r\n    width: 20px;\r\n    height: 10px;\r\n    background-color: #ffffff;\r\n  }\r\n\r\n  // Arrow Button Left.\r\n  .icon-arrow-button-left {\r\n    mask-image: url(${IconArrowBtnLeft});\r\n    mask-size: contain;\r\n    mask-repeat: no-repeat;\r\n    width: 20px;\r\n    height: 10px;\r\n    background-color: ${theme.colors.primary};\r\n  }\r\n`\r\n// Arrow Button Right.\r\nexport const IconArrowButtonRight = css`\r\n  mask-image: url(${IconArrowBtnRight});\r\n  mask-size: contain;\r\n  mask-repeat: no-repeat;\r\n  width: 20px;\r\n  height: 10px;\r\n  background-color: #ffffff;\r\n`\r\n\r\n// Arrow Button Left.\r\nexport const IconArrowButtonLeft = (theme) => css`\r\n  mask-image: url(${IconArrowBtnLeft});\r\n  mask-size: contain;\r\n  mask-repeat: no-repeat;\r\n  width: 20px;\r\n  height: 10px;\r\n  background-color: ${theme.colors.primary};\r\n`\r\n","import { createGlobalStyle, css } from 'styled-components'\r\nimport { CheckBoxStyles } from './checkbox'\r\nimport { IconStyles } from './icons'\r\nimport { RadioStyles } from './radio'\r\n\r\nimport { Scroll } from './scroll'\r\n\r\nimport IconArrowButtonLeft from '../assets/icons/icon-arrow-button-left.svg'\r\n\r\nconst GlobalStyles = createGlobalStyle`\r\n  @font-face {\r\n    font-family: 'Montserrat';\r\n    font-style: normal;\r\n    font-weight: 100;\r\n    font-display: swap;\r\n    src: local(''),\r\n        url('/fonts/montserrat-v15-latin-100.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */\r\n  }\r\n  @font-face {\r\n    font-family: 'Montserrat';\r\n    font-style: normal;\r\n    font-weight: 200;\r\n    font-display: swap;\r\n    src: local(''),\r\n        url('/fonts/montserrat-v15-latin-200.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */\r\n  }\r\n  @font-face {\r\n    font-family: 'Montserrat';\r\n    font-style: normal;\r\n    font-weight: 300;\r\n    font-display: swap;\r\n    src: local(''),\r\n        url('/fonts/montserrat-v15-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */\r\n  }\r\n  @font-face {\r\n    font-family: 'Montserrat';\r\n    font-style: normal;\r\n    font-weight: 400;\r\n    font-display: swap;\r\n    src: local(''),\r\n        url('/fonts/montserrat-v15-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */\r\n  }\r\n  @font-face {\r\n    font-family: 'Montserrat';\r\n    font-style: normal;\r\n    font-weight: 500;\r\n    font-display: swap;\r\n    src: local(''),\r\n        url('/fonts/montserrat-v15-latin-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */\r\n  }\r\n  @font-face {\r\n    font-family: 'Montserrat';\r\n    font-style: normal;\r\n    font-weight: 600;\r\n    font-display: swap;\r\n    src: local(''),\r\n        url('/fonts/montserrat-v15-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */\r\n  }\r\n  @font-face {\r\n    font-family: 'Montserrat';\r\n    font-style: normal;\r\n    font-weight: 700;\r\n    font-display: swap;\r\n    src: local(''),\r\n        url('/fonts/montserrat-v15-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */\r\n  }\r\n  @font-face {\r\n    font-family: 'Montserrat';\r\n    font-style: normal;\r\n    font-weight: 800;\r\n    font-display: swap;\r\n    src: local(''),\r\n        url('/fonts/montserrat-v15-latin-800.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */\r\n  }\r\n  @font-face {\r\n    font-family: 'Montserrat';\r\n    font-style: normal;\r\n    font-weight: 900;\r\n    font-display: swap;\r\n    src: local(''),\r\n        url('/fonts/montserrat-v15-latin-900.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */\r\n  }\r\n\r\n  * {\r\n    margin: 0;\r\n    padding: 0;\r\n    box-sizing: border-box;\r\n    -webkit-font-smoothing: antialiased;\r\n    -moz-osx-font-smoothing: grayscale;\r\n\r\n    &::before,\r\n    &::after {\r\n      box-sizing: inherit;\r\n    }\r\n  }\r\n\r\n  *, *:focus, *:hover {\r\n    outline: none;\r\n  }\r\n\r\n  html,\r\n  body,\r\n  div,\r\n  span,\r\n  object,\r\n  iframe,\r\n  h1,\r\n  h2,\r\n  h3,\r\n  h4,\r\n  h5,\r\n  h6,\r\n  p,\r\n  blockquote,\r\n  pre,\r\n  abbr,\r\n  address,\r\n  cite,\r\n  code,\r\n  del,\r\n  dfn,\r\n  em,\r\n  img,\r\n  ins,\r\n  kbd,\r\n  q,\r\n  samp,\r\n  small,\r\n  strong,\r\n  sub,\r\n  sup,\r\n  var,\r\n  b,\r\n  i,\r\n  dl,\r\n  dt,\r\n  dd,\r\n  ol,\r\n  ul,\r\n  li,\r\n  fieldset,\r\n  form,\r\n  label,\r\n  legend,\r\n  table,\r\n  caption,\r\n  tbody,\r\n  tfoot,\r\n  thead,\r\n  tr,\r\n  th,\r\n  td,\r\n  article,\r\n  aside,\r\n  canvas,\r\n  details,\r\n  figcaption,\r\n  figure,\r\n  footer,\r\n  header,\r\n  hgroup,\r\n  menu,\r\n  nav,\r\n  section,\r\n  summary,\r\n  time,\r\n  mark,\r\n  audio,\r\n  video {\r\n      margin: 0;\r\n      padding: 0;\r\n      border: 0;\r\n      outline: 0;\r\n      font-size: 100%;\r\n      vertical-align: baseline;\r\n      background: transparent;\r\n  }\r\n\r\n  a {\r\n    text-decoration: none;\r\n    color: currentColor;\r\n\r\n    &:focus {\r\n        outline: none;\r\n    }\r\n  }\r\n\r\n  .text-center{\r\n    text-align: center;\r\n  }\r\n\r\n  .text-right{\r\n      text-align: right;\r\n  }\r\n\r\n  ${({ theme, removeBg }) => css`\r\n    ${Scroll}\r\n    ${RadioStyles(theme)}\r\n    ${IconStyles(theme)}\r\n    ${CheckBoxStyles(theme)}\r\n\r\n    .text-color-primary {\r\n      color: ${theme.colors.primary};\r\n    }\r\n\r\n    html {\r\n      font-size: 62.5%;\r\n    }\r\n\r\n    body {\r\n      font-family: 'Montserrat', sans-serif;\r\n      font-size: ${theme.font.sizes.medium};\r\n      color: ${theme.colors.mediumGrey};\r\n\r\n      ${!removeBg &&\r\n      css`\r\n        background-color: #fbfbfb;\r\n      `}\r\n\r\n      .text-center {\r\n        text-align: center;\r\n      }\r\n\r\n      .link {\r\n        text-decoration: underline;\r\n        font-size: 14px;\r\n        transition: all 400ms;\r\n\r\n        &:hover {\r\n          opacity: 0.6;\r\n        }\r\n      }\r\n    }\r\n\r\n    .col-group {\r\n      margin-left: -10px;\r\n      margin-right: -10px;\r\n    }\r\n\r\n    .col-group:before,\r\n    .col-group:after {\r\n      content: ' ';\r\n      display: table;\r\n    }\r\n\r\n    .col-group:after {\r\n      clear: both;\r\n    }\r\n\r\n    .IconArrowButtonLeft {\r\n      mask-image: url(${IconArrowButtonLeft});\r\n      mask-size: contain;\r\n      mask-repeat: no-repeat;\r\n      width: 20px;\r\n      height: 10px;\r\n      background-color: ${theme.colors.primary};\r\n    }\r\n\r\n    .col-1,\r\n    .col-2,\r\n    .col-3,\r\n    .col-4,\r\n    .col-5,\r\n    .col-6,\r\n    .col-7,\r\n    .col-8,\r\n    .col-9,\r\n    .col-10,\r\n    .col-11,\r\n    .col-12 {\r\n      min-height: 1px;\r\n      padding-left: 10px;\r\n      padding-right: 10px;\r\n      position: relative;\r\n    }\r\n\r\n    @media (min-width: ${theme.media.ipad}) {\r\n      .col-1,\r\n      .col-2,\r\n      .col-3,\r\n      .col-4,\r\n      .col-5,\r\n      .col-6,\r\n      .col-7,\r\n      .col-8,\r\n      .col-9,\r\n      .col-10,\r\n      .col-11,\r\n      .col-12 {\r\n        float: left;\r\n      }\r\n      .col-12 {\r\n        width: 100%;\r\n      }\r\n      .col-11 {\r\n        width: 91.66666667%;\r\n      }\r\n      .col-10 {\r\n        width: 83.33333333%;\r\n      }\r\n      .col-9 {\r\n        width: 75%;\r\n      }\r\n      .col-8 {\r\n        width: 66.66666667%;\r\n      }\r\n      .col-7 {\r\n        width: 58.33333333%;\r\n      }\r\n      .col-6 {\r\n        width: 50%;\r\n      }\r\n      .col-5 {\r\n        width: 41.66666667%;\r\n      }\r\n      .col-4 {\r\n        width: 33.33333333%;\r\n      }\r\n      .col-3 {\r\n        width: 25%;\r\n      }\r\n      .col-2 {\r\n        width: 16.66666667%;\r\n      }\r\n      .col-1 {\r\n        width: 8.33333333%;\r\n      }\r\n    }\r\n  `}\r\n`\r\n\r\nexport default GlobalStyles\r\n","import { css} from 'styled-components'\r\n\r\nexport const CheckBoxStyles = (theme) => css`\r\n  [type='checkbox']:not(:checked),\r\n  [type='checkbox']:checked {\r\n    left: -9999px;\r\n    position: absolute;\r\n  }\r\n\r\n  [type='checkbox']:not(:checked) + label,\r\n  [type='checkbox']:checked + label {\r\n    cursor: pointer;\r\n    display: inline-block;\r\n    font-size: 14px;\r\n    font-weight: 400;\r\n    line-height: 20px;\r\n    padding-left: 23px;\r\n    position: relative;\r\n  }\r\n\r\n  [type='checkbox']:not(:checked) + label:before,\r\n  [type='checkbox']:checked + label:before {\r\n    background: transparent;\r\n    border: 1px solid ${theme.colors.primary};\r\n    border-radius: 4px;\r\n    content: '';\r\n    height: 15px;\r\n    left: 0;\r\n    position: absolute;\r\n    top: 2px;\r\n    transition: border-color 0.5s ease;\r\n    vertical-align: middle;\r\n    width: 15px;\r\n  }\r\n\r\n  [type='checkbox']:checked + label:before {\r\n    background: ${theme.colors.primary};\r\n  }\r\n\r\n  // checked\r\n  [type='checkbox']:not(:checked) + label:after,\r\n  [type='checkbox']:checked + label:after {\r\n    border-color: #fff;\r\n    border-style: solid;\r\n    border-width: 0 2px 2px 0;\r\n    content: '';\r\n    height: 9px;\r\n    left: 8px;\r\n    opacity: 0;\r\n    position: absolute;\r\n    top: 10px;\r\n    transform: translate(-50%, -65%) rotate(45deg);\r\n    transition: opacity 0.5s ease, visibility 0.5s ease;\r\n    width: 4px;\r\n  }\r\n\r\n  [type='checkbox']:not(:checked) + label:after {\r\n    opacity: 0;\r\n  }\r\n\r\n  [type='checkbox']:checked + label:after {\r\n    opacity: 1;\r\n  }\r\n\r\n  // disabled checkbox\r\n  [type='checkbox']:disabled:not(:checked) + label:before,\r\n  [type='checkbox']:disabled:checked + label:before {\r\n    border-color: #cccccc;\r\n    background: #f6f6f6;\r\n  }\r\n\r\n  [type='checkbox']:disabled:checked + label:after,\r\n  [type='checkbox']:disabled + label:after {\r\n    border-color: #c1c1c1;\r\n  }\r\n`\r\n","import { Route, Switch } from 'react-router-dom'\r\nimport './Global.css'\r\nimport AppProvider from './hooks'\r\nimport { ThemeProvider } from 'styled-components'\r\nimport { theme } from './styles/theme'\r\nimport Home from './pages/Home'\r\nimport End from './pages/End'\r\nimport Auth from './pages/Auth'\r\nimport GlobalStyles from './styles/global'\r\nimport TagManager from 'react-gtm-module'\r\nimport { useEffect } from 'react'\r\n// import HomeNew from './pages/HomeNew'\r\n\r\nfunction App() {\r\n  useEffect(() => {\r\n    TagManager.initialize({\r\n      gtmId: 'GTM-5QKH8R'\r\n    })\r\n  }, []);\r\n\r\n  useEffect(()=>{\r\n    const script= document.createElement('script');\r\n    script.type = 'text/javascript';\r\n    //script.src = 'https://d335luupugsy2.cloudfront.net/js/loader-scripts/235689785-loader.js' \r\n    script.src = 'https://d335luupugsy2.cloudfront.net/js/loader-scripts/894f245f-4ddd-4381-9b88-dd81cbb560bd-loader.js'\r\n    script.async = true;\r\n    document.body.appendChild(script);\r\n  },[])\r\n\r\n  return (\r\n    <AppProvider>\r\n      <ThemeProvider theme={theme}>\r\n        <Switch>\r\n          <Route exact path=\"/\" component={Auth} />\r\n          <Route exact path=\"/cadastro\" component={Home} />\r\n          {/* <Route exact path=\"/cadastroNovo\" component={HomeNew} /> */}\r\n          <Route exact path=\"/cadastro-sucesso\" component={End} />\r\n        </Switch>\r\n        <GlobalStyles></GlobalStyles>\r\n      </ThemeProvider>\r\n    </AppProvider>\r\n  )\r\n}\r\n\r\nexport default App\r\n","const reportWebVitals = onPerfEntry => {\r\n  if (onPerfEntry && onPerfEntry instanceof Function) {\r\n    import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n      getCLS(onPerfEntry);\r\n      getFID(onPerfEntry);\r\n      getFCP(onPerfEntry);\r\n      getLCP(onPerfEntry);\r\n      getTTFB(onPerfEntry);\r\n    });\r\n  }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import { combineReducers } from 'redux'\r\nimport facebook from './facebook'\r\n\r\nexport default combineReducers({ facebook })\r\n","import { createStore } from 'redux'\r\nimport rootreducer from './ducks/rootReducer'\r\n\r\nconst store = createStore(rootreducer)\r\n\r\nexport default store","import 'react-app-polyfill/ie11'\r\nimport 'react-app-polyfill/stable'\r\n\r\nimport React from 'react'\r\nimport ReactDOM from 'react-dom'\r\nimport { BrowserRouter, Route } from 'react-router-dom'\r\nimport { QueryParamProvider } from 'use-query-params'\r\nimport App from './App'\r\nimport reportWebVitals from './reportWebVitals'\r\nimport { Provider } from 'react-redux'\r\nimport store from './store'\r\nimport { UserContextProvider } from './contexts/UserContext'\r\n\r\nReactDOM.render(\r\n  <React.StrictMode>\r\n    <Provider store={store}>\r\n      <UserContextProvider>\r\n        <BrowserRouter>\r\n          <QueryParamProvider ReactRouterRoute={Route}>\r\n            <App />\r\n          </QueryParamProvider>\r\n        </BrowserRouter>\r\n      </UserContextProvider>\r\n    </Provider>\r\n  </React.StrictMode>,\r\n  document.getElementById('root')\r\n)\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals()\r\n"],"sourceRoot":""}