(()=>{var e={385:e=>{"use strict";e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),t.hash&&(e+=t.hash),t.maybeNeedQuotes&&/[\t\n\f\r "'=<>`]/.test(e)?'"'.concat(e,'"'):e):e}},834:e=>{function t(e){let t=i(e);localStorage.setItem(`npsSkip.${t}`,(new Date).getTime()+864e5)}function n(e,t){let n="btn-clicked-";n+=t<=6?"red":t<=8?"yellow":"green";for(const t of e.parentNode.children)t.classList.remove("btn-clicked-red","btn-clicked-yellow","btn-clicked-green");e.classList.add(n)}function s(e){if(document.getElementById("final-modal").classList.remove("hidden"),document.getElementById("btn-back").classList.add("hidden"),document.getElementById("modal-footer").classList.add("hidden"),document.getElementById("ambevtech-nps-score").classList.add("hidden"),document.getElementById("ambevtech-nps-classification").classList.add("hidden"),e){a(nps.request.token);let e=document.getElementById("successMessage");e&&e.classList.remove("hidden"),document.getElementById("success-img").classList.remove("hidden")}else document.getElementById("failMessage").classList.remove("hidden"),document.getElementById("failDetail").classList.remove("hidden"),document.getElementById("fail-img").classList.remove("hidden")}function o(e){e?(document.getElementById("btn-back").classList.remove("hidden"),document.getElementById("ambevtech-nps-score").classList.add("hidden"),document.getElementById("ambevtech-nps-classification").classList.remove("hidden"),document.getElementById("btnSend").removeAttribute("disabled"),nps.classification&&""!=nps.classification||document.getElementById("btnSend").setAttribute("disabled","disabled")):(document.getElementById("btn-back").classList.add("hidden"),document.getElementById("ambevtech-nps-classification").classList.add("hidden"),document.getElementById("btnSend").removeAttribute("disabled"))}function a(e){let t=i(e);localStorage.setItem(`npsClose.${t}`,"true")}function i(e){let t=e?e.split(".")[1]:nps.request.token.split(".")[1],n=JSON.parse(atob(t));return n.oid??n.sub}e.exports={removeDialog:function(e){e&&t(nps.request.token),document.getElementById("ambevtech-nps").remove()},changeCheckButtonList:n,changeValue:function(e,t){nps.value=t,n(e,t),o(t<=6)},changeClassification:function(e,t){n(e),nps.classification=t,document.getElementById("btnSend").removeAttribute("disabled")},sendNps:async function(){let e=document.getElementById("placeholder").value,t={group:nps.request.group,score:nps.value,comments:e};""!==nps.classification&&(t.category=nps.classification);const n=await fetch(`${nps.config.host}/surveys/${nps.config.system}/responses`,{headers:{Authorization:`Bearer ${nps.request.token}`,"Content-Type":"application/json"},body:JSON.stringify(t),method:"POST"});await n.ok?s(!0):(s(!1),console.error("Error to send NPS",n.status))},statusSurvey:async function(){const e=`${nps.config.host}/surveys?systemId=${nps.config.system}`;return(await fetch(e,{headers:{Authorization:`Bearer ${nps.request.token}`}})).status},tokenExpired:function(e){let t=e?e.split(".")[1]:nps.request.token.split(".")[1];return JSON.parse(atob(t)).exp>=(new Date).getTime()},skipSurvey:function(e){let t=i(e),n=localStorage.getItem(`npsSkip.${t}`),s=JSON.parse(localStorage.getItem(`npsClose.${t}`)),o=(new Date).getTime();return n&&o<=n?(console.warn(`Skip the NPS because ignored for the user or there's no available survey, next request [${new Date(Number(n)).toLocaleString()}]`),!0):!!s&&(console.warn("Skip the NPS because user already answered"),!0)},backToScore:function(){document.getElementById("btn-back").classList.add("hidden"),document.getElementById("ambevtech-nps-score").classList.remove("hidden"),document.getElementById("ambevtech-nps-classification").classList.add("hidden")},getUserIdentifier:i,setNewDateToShowNps:t,showClassification:o,showFinalModalWithSuccess:s,hasToken:function(e){return!!e.hasOwnProperty(nps.config.auth)&&!(null===e[nps.config.auth]||"undefined"===e[nps.config.auth])},passGroupToRequest:function(e){!e||(nps.request.group=e,nps.request.group)},getPropertyValueFromToken:function(e,t){let n=e.split(".")[1],s=JSON.parse(atob(n));return nps.request.token=s[t],nps.request.token},closeNPSforUser:a}},353:e=>{e.exports={translations_en:{question:"On a scale of 0 to 10, how likely are you to recommend this system to a friend or colleague",questionSubtitle:"Consider 0 (zero) as very unlikely and 10 as extremely likely",thanksFeedback:"We appreciate your feedback!",feedback:"How can we improve? Use the buttons or the comments field below to deepen your evaluation.",btnsAnswerLater:"Ask me later",btnSend:"Send",connection:"Connection / Internet",break:"Product Access",slowness:"Slowness / Crash",interface:"Interface / Appearance",bug:"Bugs",others:"Others",placeholder:"Please, if you wish, detail the reason",successMessage:"Thank you for your participation",failMessage:"An error occurred while submitting your review",failDetail:"Please, try again later"}}},886:e=>{e.exports={translations_es:{question:"En una escala de 0 a 10, ¿Cuál es la probabilidad de recomendar este sistema a un amigo o colega?",questionSubtitle:"Considere 0 (cero) como muy improbable y 10 como extremadamente probable",thanksFeedback:"¡Agradecemos sus comentarios!",feedback:"¿Cómo podemos mejorar? Utilice los botones o el campo de comentarios a continuación para profundizar su evaluación.",btnsAnswerLater:"Responder más tarde",btnSend:"Enviar",connection:"Conexión / Internet",break:"Acceso al producto",slowness:"Lentitud / Bloqueos",interface:"Interface / apariencia",bug:"Bugs",others:"Otros",placeholder:"Por favor, si lo desea, detalle el motivo.",successMessage:"¡Gracias por su participación!",failMessage:"Se produjo un error al enviar su reseña.",failDetail:"Por favor, inténtelo de nuevo más tarde"}}},926:e=>{e.exports={translations_pt:{question:"De 0 a 10, o quanto você recomendaria esse sistema para um amigo ou colega?",questionSubtitle:"Sendo zero não recomendaria e 10 recomendaria totalmente",thanksFeedback:"Agradecemos seu feedback!",feedback:"Como podemos melhorar? Utilize os botões abaixo e/ou o campo de comentários para aprofundar sua avaliação",btnsAnswerLater:"Responder depois",btnSend:"Enviar",connection:"Conexão / Internet",break:"Acesso ao produto",slowness:"Lentidão / Trava",interface:"Interface / Aparência",bug:"Bug / Erros",others:"Outros",placeholder:"Caso queira, detalhe o motivo",successMessage:"Agradecemos sua participação!",failMessage:"Ocorreu um erro ao enviar a sua avaliação.",failDetail:"Por favor, tente novamente mais tarde."}}},104:e=>{e.exports={translations_zh:{question:"以 0-10 分表示，您有多大可能向朋友或同事推荐该系统",questionSubtitle:"0代表很不喜欢，10 代表很喜欢",thanksFeedback:"非常感谢您的反馈！",feedback:"我们该如何改进？使用下面的按钮或填写备注来深化您的评估.",btnsAnswerLater:"稍后问我",btnSend:"发送",connection:"连接/网络",break:"产品访问Product Access",slowness:"缓慢/奔溃",interface:"接口/外观",bug:"故障",others:"其他",placeholder:"请详细说明原因",successMessage:"感谢您的参与",failMessage:"提交评论时发生错误",failDetail:"请稍后重试"}}},335:(e,t,n)=>{"use strict";e.exports=n.p+"7dc588d2b9ad3a31af6b.css"},615:(e,t,n)=>{"use strict";e.exports=n.p+"4f97a0cc97a5118c2abf.js"},324:(e,t,n)=>{"use strict";e.exports=n.p+"31f9277c6a0908ce8c61.png"},542:(e,t,n)=>{"use strict";e.exports=n.p+"baf4b246883e474121c6.png"},97:(e,t,n)=>{"use strict";e.exports=n.p+"8315b6b8ebf705955cfb.png"},317:(e,t,n)=>{"use strict";e.exports=n.p+"5f756972a1f467395973.png"},508:(e,t,n)=>{"use strict";e.exports=n.p+"57cfa7cd966063efd781.png"}},t={};function n(s){var o=t[s];if(void 0!==o)return o.exports;var a=t[s]={exports:{}};return e[s](a,a.exports,n),a.exports}n.m=e,n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var t=n.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var s=t.getElementsByTagName("script");if(s.length)for(var o=s.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=s[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),n.b=document.baseURI||self.location.href,(()=>{"use strict";var e=n(385),t=n.n(e),s=new URL(n(335),n.b),o=new URL(n(542),n.b),a=new URL(n(324),n.b),i=new URL(n(97),n.b),r=new URL(n(508),n.b),c=new URL(n(317),n.b),l=new URL(n(615),n.b);const d='<div id="ambevtech-nps"> <link rel="stylesheet" href="'+t()(s)+'"> <div style="z-index:1055" aria-hidden="true" class="modal-backdrop fade show"></div> <div tabindex="-1" aria-modal="true" class="d-block modal fade show"> <div class="modal-dialog modal-dialog-centered modal-lg"> <div class="modal-content"> <div class="modal-header"> <button id="btn-back" class="btn-back hidden" onclick="nps.backToScore()"> <img src="'+t()(o)+'" alt="Back" width="20" height="20"> </button> <label class="form-title hidden" id="thanksFeedback">Agradecemos seu feedback!</label> <img id="ambevtech-img" src="'+t()(a)+'" style="width:150px;height:25px" class="ambevtech-img" alt="Logo Ambevtech"> <button id="btn-close" type="button" aria-label="Close" class="btn-close" onclick="nps.removeDialog()"> <img src="'+t()(i)+'" alt="Close" width="15" height="15"> </button> </div> <div class="modal-body"> <div id="ambevtech-nps-score" class="nps-score"> <label data-i18n class="modal-question" id="question">De 0 a 10, o quanto você recomendaria esse sistema para um amigo ou colega?</label> <label data-i18n class="form-label" id="questionSubtitle">Sendo zero não recomendaria e 10 recomendaria totalmente</label> <div class="col score"> <button type="button" onclick="nps.changeValue(this,0)" class="btnbox me-2 btn-outline-secondary red"> 0 </button> <button type="button" onclick="nps.changeValue(this,1)" class="btnbox me-2 btn-outline-secondary red"> 1 </button> <button type="button" onclick="nps.changeValue(this,2)" class="btnbox me-2 btn-outline-secondary red"> 2 </button> <button type="button" onclick="nps.changeValue(this,3)" class="btnbox me-2 btn-outline-secondary red"> 3 </button> <button type="button" onclick="nps.changeValue(this,4)" class="btnbox me-2 btn-outline-secondary red"> 4 </button> <button type="button" onclick="nps.changeValue(this,5)" class="btnbox me-2 btn-outline-secondary red"> 5 </button> <button type="button" onclick="nps.changeValue(this,6)" class="btnbox me-2 btn-outline-secondary red"> 6 </button> <button type="button" onclick="nps.changeValue(this,7)" class="btnbox me-2 btn-outline-secondary yellow"> 7 </button> <button type="button" onclick="nps.changeValue(this,8)" class="btnbox me-2 btn-outline-secondary yellow"> 8 </button> <button type="button" onclick="nps.changeValue(this,9)" class="btnbox me-2 btn-outline-secondary green"> 9 </button> <button type="button" onclick="nps.changeValue(this,10)" class="btnbox me-2 btn-outline-secondary green"> 10 </button> </div> </div> <br> <div id="ambevtech-nps-classification" class="row hidden"> <label data-i18n class="feedback-label" id="feedback">Como podemos melhorar? Utilize os botões abaixo e/ou o campo de comentários para aprofundar sua avaliação</label> <div class="text-center" style="margin-top:48px;margin-bottom:0"> <button data-i18n type="button" onclick=\'nps.changeClassification(this,"CRASH")\' class="btn me-2 btn-outline-secondary" id="break">Acesso ao produto</button> <button data-i18n type="button" onclick=\'nps.changeClassification(this,"CONECTIVITY")\' class="btn me-2 btn-outline-secondary" id="connection">Conexão/Internet</button> <button data-i18n type="button" onclick=\'nps.changeClassification(this,"SLOWNESS")\' class="btn me-2 btn-outline-secondary" id="slowness">Lentidão/Trava</button> <button data-i18n type="button" onclick=\'nps.changeClassification(this,"INTERFACE")\' class="btn me-2 btn-outline-secondary" id="interface">Interface/Aparência</button> <button data-i18n type="button" onclick=\'nps.changeClassification(this,"BUGS")\' class="btn me-2 btn-outline-secondary" id="bug">Bugs/Erros</button> <button data-i18n type="button" onclick=\'nps.changeClassification(this,"OTHER")\' class="btn me-2 btn-outline-secondary" id="others">Outros</button> </div> <textarea data-i18n type="text" id="placeholder" name="comments" rows="4" class="form-control" placeholder="Caso queira, detalhe o motivo"></textarea> </div> <div id="final-modal" class="final-modal hidden"> <img id="success-img" style="width:70px;margin-bottom:30px;margin-top:-50px" src="'+t()(r)+'" class="success-img hidden" alt="Ícone Check Circle"> <img id="fail-img" style="width:70px;margin-bottom:30px;margin-top:-50px" src="'+t()(c)+'" class="fail-img hidden" alt="Ícone Check Circle"> <label data-i18n id="successMessage" class="success-message hidden">Agradecemos sua participação!</label> <label data-i18n id="failMessage" class="fail-message hidden">Ocorreu um erro ao enviar a sua avaliação.</label> <label data-i18n id="failDetail" class="fail-detail-message hidden" style="margin-top:10px">Por favor, tente novamente mais tarde.</label> </div> </div> <div id="modal-footer" class="modal-footer"> <button data-i18n type="button" onclick="nps.removeDialog(!0)" class="btn btn-secondary" id="btnsAnswerLater">Responder depois</button> <button data-i18n type="button" id="btnSend" onclick="nps.sendNps()" class="btn btn-primary" disabled="disabled">Enviar</button> </div> </div> </div> </div> <script src="'+t()(l)+'" type="module"><\/script> </div>';var u=n(834),b=n(353),p=n(926),m=n(886),g=n(104);let h=b.translations_en;window.nps={value:0,classification:"",config:{host:document.currentScript.getAttribute("host"),system:document.currentScript.getAttribute("system"),auth:document.currentScript.getAttribute("auth"),property:document.currentScript.getAttribute("property"),group:document.currentScript.getAttribute("group"),storage:document.currentScript.getAttribute("storage")},request:{token:null,group:null},changeCheckButtonList:u.changeCheckButtonList,changeValue:u.changeValue,changeClassification:u.changeClassification,removeDialog:u.removeDialog,backToScore:u.backToScore,sendNps:u.sendNps};let f=5,y=!1;let v=setInterval((function(){let e="local"===nps.config.storage.toLowerCase()?parent.localStorage:parent.sessionStorage;if(!(0,u.hasToken)(e))return;let t=new RegExp(`^${nps.config.auth}$`,"i"),n=e[Object.keys(e).find((e=>t.test(e)))];if(n){if(nps.config.property?(0,u.getPropertyValueFromToken)(n,nps.config.property):nps.request.token=n,!nps.request.token||(0,u.tokenExpired)())return;if(!document.getElementById("ambevtech-nps")&&!y&&!(0,u.skipSurvey)(nps.request.token)){y=!0;let e=setInterval((async function(){switch(await(0,u.statusSurvey)()){case 200:return function(e){if(!document.getElementById("ambevtech-nps")){let t=document.createElement("div");t.innerHTML=e,document.body.appendChild(t),function(){const e=document.getElementsByTagName("*");let t=0;for(const n of e){const e=window.getComputedStyle(n).zIndex;"auto"!==e&&e>t&&(t=parseInt(e))}document.getElementById("ambevtech-nps").style.zIndex=t+1e3}()}}(d),function(e){switch(console.log("Browser language",e),!0){case e.startsWith("pt"):h=p.translations_pt;break;case e.startsWith("es"):h=m.translations_es;break;case e.startsWith("zh"):h=g.translations_zh;break;default:h=b.translations_en}}(navigator.language),document.querySelectorAll("[data-i18n]").forEach((e=>(e=>{const t=e.id;e.innerText=h[t]||t,"placeholder"==e.id&&(e.innerText="",e.placeholder=h[t]||t)})(e))),void clearInterval(e);case 204:return console.warn("Dont have survey for the NPS for this user/system, retry get survey in next day"),clearInterval(e),void(0,u.setNewDateToShowNps)(n);default:f--,f<=0&&(console.warn("Max retries for get survey NPS, skipped for retry next day"),clearInterval(e),(0,u.setNewDateToShowNps)(n))}}),1500)}(0,u.passGroupToRequest)(nps.config.group),clearInterval(v)}}),2e3)})()})();