{"version":3,"sources":["webpack:///./src/js/modules/legacy/sectionSnapshot.js"],"names":["Module","this","account","jspass","navisBaseUrl","dom","phone","el","querySelector","dataset","useNavis","toLowerCase","updateElementWithNavisNumber","defaultPhone","defaultNavisNumber","loadScript","error","innerHTML","navisPrepend","window","ProcessNavisNCKeyword","updateElement","callback","url","getNavisUrlFor","script","document","createElement","type","readyState","onreadystatechange","onload","onerror","Error","src","getElementsByTagName","appendChild","replace","navisTfnRaw","NavisConvertTagToPhoneNumberBasic","ReadNavisTagCookie","navisTfnDisp","FormatPhone","navisTfnHref","href","title","Component"],"mappings":"olDAEMA,E,sWACJ,WAAgB,MACdC,KAAKC,QAAU,MACfD,KAAKE,OAAS,uBACdF,KAAKG,aACH,6GAEFH,KAAKI,IAAM,CACTC,MAAOL,KAAKM,GAAGC,cAAc,6BAI7BP,KAAKI,IAAIC,OAC0C,UAAnD,UAAAL,KAAKI,IAAIC,MAAMG,QAAQC,gBAAvB,eAAiCC,gBAEjCV,KAAKW,iC,0CAIT,WAA+B,WACvBC,EAAeZ,KAAKI,IAAIC,MAAMG,QAAQK,mBAEvCD,GAELZ,KAAKc,WAAWF,GAAc,SAAAG,GACxBA,EACF,EAAKX,IAAIC,MAAMW,UAAY,EAAKZ,IAAIC,MAAMG,QAAQS,aAAvB,UACpB,EAAKb,IAAIC,MAAMG,QAAQS,aADH,YACmBL,GAC1CA,GAKNM,OAAOC,wBACP,EAAKC,sB,wBAIT,SAAWR,EAAcS,GACvB,IAAMC,EAAMtB,KAAKuB,eAAeX,GAC1BY,EAASC,SAASC,cAAc,UACtCF,EAAOG,KAAO,kBAEVH,EAAOI,WAETJ,EAAOK,mBAAqB,WAEF,WAAtBL,EAAOI,YACe,aAAtBJ,EAAOI,aAEPJ,EAAOK,mBAAqB,KAC5BR,OAIJG,EAAOM,OAAS,kBAAMT,KACtBG,EAAOO,QAAU,kBAAMV,EAAS,IAAIW,MAAM,kCAG5CR,EAAOS,IAAMX,EACbG,SAASS,qBAAqB,QAAQ,GAAGC,YAAYX,K,4BAGvD,SAAeZ,GACb,IAAIU,EAAMtB,KAAKG,aAAaiC,QAAQ,eAAgBpC,KAAKC,SAIzD,OAFAqB,GADAA,EAAMA,EAAIc,QAAQ,cAAepC,KAAKE,SAC5BkC,QAAQ,YAAaxB,K,2BAKjC,WAEE,IAAMyB,EAAcnB,OAAOoB,kCACzBpB,OAAOqB,sBAGHC,EAAetB,OAAOuB,YAAYJ,EAAa,gBAC/CK,EAAexB,OAAOuB,YAAYJ,EAAa,gBAErDrC,KAAKI,IAAIC,MAAMsC,KAAf,iBAAgCD,GAChC1C,KAAKI,IAAIC,MAAMW,UAAYhB,KAAKI,IAAIC,MAAMG,QAAQS,aAAvB,UACpBjB,KAAKI,IAAIC,MAAMG,QAAQS,aADH,YACmBuB,GAC1CA,EACJxC,KAAKI,IAAIC,MAAMuC,MAAQJ,O,8BApFNK,aAwFN9C","file":"73.46122eae8844d61f73ee.js","sourcesContent":["import { Component } from '@verndale/core';\n\nclass Module extends Component {\n  setupDefaults() {\n    this.account = 15705;\n    this.jspass = 'ca8h5wkaotnr98zc4y7s';\n    this.navisBaseUrl =\n      'https://twi.revinate.com/JavascriptPhoneNumber/js.aspx?account={{account}}&jspass={{jspass}}&dflt={{dflt}}';\n\n    this.dom = {\n      phone: this.el.querySelector('.section-snapshot__phone')\n    };\n\n    if (\n      this.dom.phone &&\n      this.dom.phone.dataset.useNavis?.toLowerCase() === 'true'\n    ) {\n      this.updateElementWithNavisNumber();\n    }\n  }\n\n  updateElementWithNavisNumber() {\n    const defaultPhone = this.dom.phone.dataset.defaultNavisNumber;\n\n    if (!defaultPhone) return;\n\n    this.loadScript(defaultPhone, error => {\n      if (error) {\n        this.dom.phone.innerHTML = this.dom.phone.dataset.navisPrepend\n          ? `${this.dom.phone.dataset.navisPrepend} ${defaultPhone}`\n          : defaultPhone;\n\n        return;\n      }\n\n      window.ProcessNavisNCKeyword();\n      this.updateElement();\n    });\n  }\n\n  loadScript(defaultPhone, callback) {\n    const url = this.getNavisUrlFor(defaultPhone);\n    const script = document.createElement('script');\n    script.type = 'text/javascript';\n\n    if (script.readyState) {\n      //IE\n      script.onreadystatechange = () => {\n        if (\n          script.readyState === 'loaded' ||\n          script.readyState === 'complete'\n        ) {\n          script.onreadystatechange = null;\n          callback();\n        }\n      };\n    } else {\n      script.onload = () => callback();\n      script.onerror = () => callback(new Error('failed to load Navis script'));\n    }\n\n    script.src = url;\n    document.getElementsByTagName('head')[0].appendChild(script);\n  }\n\n  getNavisUrlFor(defaultPhone) {\n    let url = this.navisBaseUrl.replace(/{{account}}/g, this.account);\n    url = url.replace(/{{jspass}}/g, this.jspass);\n    url = url.replace(/{{dflt}}/g, defaultPhone);\n\n    return url;\n  }\n\n  updateElement() {\n    // modified logic from #5: https://twi.revinate.com/wisdom_external/Dynamic_telephone_number_coding.pdf\n    const navisTfnRaw = window.NavisConvertTagToPhoneNumberBasic(\n      window.ReadNavisTagCookie()\n    );\n\n    const navisTfnDisp = window.FormatPhone(navisTfnRaw, '###-###-####');\n    const navisTfnHref = window.FormatPhone(navisTfnRaw, '###-###-####');\n\n    this.dom.phone.href = `tel:+1-${navisTfnHref}`;\n    this.dom.phone.innerHTML = this.dom.phone.dataset.navisPrepend\n      ? `${this.dom.phone.dataset.navisPrepend} ${navisTfnDisp}`\n      : navisTfnDisp;\n    this.dom.phone.title = navisTfnDisp;\n  }\n}\n\nexport default Module;\n"],"sourceRoot":""}