{"version":3,"file":"js/chunks/lasik-calculator.js?id=94d7572190544ccd","mappings":"iIAAA,IASMA,EAAY,SAACC,EAAOC,GACxB,IAAMC,EAAMF,EAAMG,aAAa,OACzBC,EAAMJ,EAAMG,aAAa,OACzBE,EAAQL,EAAMM,QAAUN,EAAME,IAAM,GAAKF,EAAMM,MAAQJ,IAAQE,EAAMF,GAC3ED,EAAMM,MAAMC,MAASR,EAAMS,YAAc,IAAMJ,EAAS,GAAK,IAC/D,EA8CA,QA5CwB,WACtB,IAAMK,EAAaC,SAASC,eAAe,oBACrCC,EAAMH,EAAWI,cAAc,QAC/BC,EAAUL,EAAWI,cAAc,YACnCE,EAAcN,EAAWI,cAAc,iBACvCG,EAAWP,EAAWI,cAAc,aACpCI,EAAeR,EAAWI,cAAc,kBACxCK,EAAUT,EAAWI,cAAc,YACnCM,EAAOV,EAAWW,iBAAiB,SACnCC,EAAQZ,EAAWI,cAAc,UAEvCJ,EAAWW,iBAAiB,uBAAuBE,SAAQ,SAACC,GAAM,IAAAC,EAC1DC,EAAIF,EAAEG,mBACNC,EAA2B,QAApBH,EAAGC,EAAEG,QAAQD,eAAO,IAAAH,EAAAA,EAAI,GACrC1B,EAAUyB,EAAGE,GACbF,EAAEM,iBAAiB,SAAS,SAACC,GAC3BL,EAAEM,UAAYJ,EAAUG,EAAGE,OAAO3B,MAClCP,EAAUyB,EAAGE,GAEb,IAAMQ,EAnCC,SAACC,GACZ,IAAQtB,EAAsDsB,EAAtDtB,IAAKE,EAAiDoB,EAAjDpB,QAASC,EAAwCmB,EAAxCnB,YAAaC,EAA2BkB,EAA3BlB,SAAUC,EAAiBiB,EAAjBjB,aAC7C,GAAIH,EAAUE,IAAa,EACzB,OAAQ,EAEV,IAAIiB,GAAQ,GAAKrB,IAASG,EAAcD,GAAaG,EAAe,IAAMD,GAC1E,OAAOJ,GAAO,GAAKqB,GAAQ,IAAMA,CACnC,CA4BmBE,CAAK,CAChBvB,IAAKwB,SAASxB,EAAIP,OAClBS,QAASsB,SAAStB,EAAQT,OAC1BU,YAAaqB,SAASrB,EAAYV,OAClCW,SAAUoB,SAASpB,EAASX,OAC5BY,aAAcmB,SAASnB,EAAaZ,UAGxB,IAAV4B,GAEFd,EAAKG,SAAQ,SAAAe,GAAE,OAAIA,EAAGC,UAAUC,IAAI,SAAS,IAC7ClB,EAAMiB,UAAUE,OAAO,YAGvBtB,EAAQa,UAAY,GAAHU,OAAMR,EAAKS,eAAe,QAAS,CAAEpC,MAAO,WAAYqC,SAAU,MAAOC,sBAAuB,IAAI,KACrHvB,EAAMiB,UAAUC,IAAI,UACpBpB,EAAKG,SAAQ,SAAAe,GAAE,OAAIA,EAAGC,UAAUE,OAAO,SAAS,IAGpD,GAEF,GAEF,C","sources":["webpack://nvision-v2/./ui/blocks/LasikCalculator/LasikCalculator.js"],"sourcesContent":["const calc = (params) => {\n const { age, glasses, glassesCost, contacts, contactsCost } = params;\n if (glasses + contacts === 0) {\n return -1;\n }\n let cost = (79 - age) * ((glassesCost * glasses) + ((contactsCost + 50) * contacts));\n return age >= 45 ? cost += 130 : cost;\n}\n\nconst moveLabel = (range, label) => {\n const min = range.getAttribute('min')\n const max = range.getAttribute('max')\n const ratio = range.value === range.min ? 0 : (range.value - min) / (max - min)\n label.style.left = ((range.offsetWidth - 50) * ratio) - 50 + \"px\";\n}\n\nconst LasikCalculator = () => {\n const calculator = document.getElementById('lasik-calculator')\n const age = calculator.querySelector('.age')\n const glasses = calculator.querySelector('.glasses')\n const glassesCost = calculator.querySelector('.glasses-cost')\n const contacts = calculator.querySelector('.contacts')\n const contactsCost = calculator.querySelector('.contacts-cost')\n const savings = calculator.querySelector('.savings')\n const info = calculator.querySelectorAll('.info')\n const error = calculator.querySelector('.error')\n\n calculator.querySelectorAll('input[type=\"range\"]').forEach((r) => {\n const v = r.nextElementSibling\n const prepend = v.dataset.prepend ?? ''\n moveLabel(r, v)\n r.addEventListener('input', (ev) => {\n v.innerHTML = prepend + ev.target.value\n moveLabel(r, v)\n\n const cost = calc({\n age: parseInt(age.value),\n glasses: parseInt(glasses.value),\n glassesCost: parseInt(glassesCost.value),\n contacts: parseInt(contacts.value),\n contactsCost: parseInt(contactsCost.value)\n })\n\n if (cost === -1) {\n //show error\n info.forEach(el => el.classList.add('hidden'))\n error.classList.remove('hidden')\n }\n else {\n savings.innerHTML = `${cost.toLocaleString('en-US', { style: 'currency', currency: 'USD', maximumFractionDigits: 0 })}*`;\n error.classList.add('hidden')\n info.forEach(el => el.classList.remove('hidden'))\n }\n\n })\n\n })\n\n}\n\nexport default LasikCalculator;\n"],"names":["moveLabel","range","label","min","getAttribute","max","ratio","value","style","left","offsetWidth","calculator","document","getElementById","age","querySelector","glasses","glassesCost","contacts","contactsCost","savings","info","querySelectorAll","error","forEach","r","_v$dataset$prepend","v","nextElementSibling","prepend","dataset","addEventListener","ev","innerHTML","target","cost","params","calc","parseInt","el","classList","add","remove","concat","toLocaleString","currency","maximumFractionDigits"],"sourceRoot":""}