{"version":3,"file":"leave-intent.min.js","sources":["leave-intent.ts"],"sourcesContent":["window.EnableLeaveIntent = () => {\r\n\tif (typeof window.enableLeaveIntent !== \"undefined\") {\r\n\t\twindow.enableLeaveIntent = true;\r\n\t}\r\n};\r\n\r\nwindow.DisableLeaveIntent = () => {\r\n\tif (typeof window.enableLeaveIntent !== \"undefined\") {\r\n\t\twindow.enableLeaveIntent = false;\r\n\t}\r\n};\r\n\r\nnamespace eXpress.web.leaveIntentLoader {\r\n\r\n\tconst isLeaveIntentEnabled = (): boolean => {\r\n\t\treturn typeof window.enableLeaveIntent !== \"undefined\" && window.enableLeaveIntent && window.location.search.indexOf(\"embed\") < 0;\r\n\t};\r\n\r\n\tconst initLeaveIntentPopup = (enableAnyway: boolean) => {\r\n\t\t// Do nothing for the upload page\r\n\t\tif (!isLeaveIntentEnabled() && !enableAnyway)\r\n\t\t\treturn;\r\n\r\n\t\ttry {\r\n\t\t\touibounce(false, {\r\n\t\t\t\tsensitivity: 20,\r\n\t\t\t\taggressive: false,\r\n\t\t\t\tsitewide: true,\r\n\t\t\t\ttimer: 1000,\r\n\t\t\t\tdelay: 100,\r\n\t\t\t\tcallback: triggerLeaveIntentPopup,\r\n\t\t\t\tcookieExpire: 1,\r\n\t\t\t\tcanFire: isLeaveIntentEnabled\r\n\t\t\t});\r\n\t\t} catch (exc) {\r\n\t\t\t// Adblocker probably blocked ouiBounce from loading.\r\n\t\t}\r\n\t};\r\n\r\n\tconst subscribeAsync = (email: string, source: string, dialogEl: HTMLElement) => {\r\n\t\treturn $.ajax({\r\n\t\t\turl: '/api/v1/AccountService.svc/json/Subscribe',\r\n\t\t\ttype: 'POST',\r\n\t\t\tglobal: false,\r\n\t\t\tcontentType: 'application/json; charset=utf-8',\r\n\t\t\tdata: JSON.stringify(\r\n\t\t\t\t{\r\n\t\t\t\t\tapplicationId: window.dataLayerSite[0].appId,\r\n\t\t\t\t\tpointOfSaleId: window.dataLayerSite[0].posId,\r\n\t\t\t\t\tlanguage: window.dataLayerSite[0].language,\r\n\t\t\t\t\temail,\r\n\t\t\t\t\tsource,\r\n\t\t\t\t\tnewsletter: true\r\n\t\t\t\t}\r\n\t\t\t),\r\n\t\t\tdataType: 'json',\r\n\t\t}).then(() => {\r\n\t\t\t//\r\n\t\t}) as JQueryPromise;\r\n\t};\r\n\r\n\tconst triggerLeaveIntentPopup = () => {\r\n\t\tlet dialog: core.StyleguideViewPopup;\r\n\t\tcore.StyleguideViewPopup.createCoreDialogAsync(\r\n\t\t\t{\r\n\t\t\t\tdialogId: \"leave-intent-dialog\",\r\n\t\t\t\tview: \"leaveintentdialog\"\r\n\t\t\t}\r\n\t\t)\r\n\t\t\t.then($popup => {\r\n\t\t\t\tconst dialogEL = $popup[0];\r\n\t\t\t\tif (!dialogEL) return;\r\n\r\n\t\t\t\t// hide maindialog cover for non ux pages\r\n\t\t\t\tconst mainDialogCoverEl = html.querySelector(document, \"#maindialogcover\");\r\n\t\t\t\tmainDialogCoverEl && mainDialogCoverEl.classList.add('u-hide');\r\n\r\n\t\t\t\tconst subscribeComponent = html.querySelector(dialogEL, '.technical-newsletter-subscribe', true);\r\n\t\t\t\teXpress.components.main.createNewsletterSubscribe(subscribeComponent, { subscribeAsync: (email: string, appId: string, posId: string, lang: string, source?: string) => subscribeAsync(email, source || '', dialogEL) });\r\n\r\n\t\t\t\tdialog = new core.StyleguideViewPopup($popup);\r\n\t\t\t\tdialog.openAsync();\r\n\t\t\t});\r\n\t};\r\n\r\n\t/* tslint:disable:interface-name */\r\n\tinterface CookieBot {\r\n\t\treadonly consent: { marketing: boolean };\r\n\t\treadonly dialog: {\r\n\t\t\treadonly DOMid: string;\r\n\t\t};\r\n\t}\r\n\r\n\t//window.addEventListener(\"CookiebotOnDialogDisplay\", () => {\r\n\t//\tconst cookieBot = window.Cookiebot as CookieBot;\r\n\t//\tconst cookiebotDialogEl = html.querySelector(document, `#${cookieBot.dialog.DOMid}`, true);\r\n\t//\tcookiebotDialogEl.addEventListener('click', e => {\r\n\t//\t\te.stopPropagation();\r\n\t//\t});\r\n\t//});\r\n\r\n\twindow.addEventListener(\"CookiebotOnAccept\", () => {\r\n\t\tconst cookieBot = window.Cookiebot as CookieBot;\r\n\t\tif (cookieBot.consent.marketing && (typeof window.enableLeaveIntentConfigValue === \"undefined\" || window.enableLeaveIntentConfigValue)) {\r\n\t\t\tEnableLeaveIntent();\r\n\t\t\tinitLeaveIntentPopup(true);\r\n\t\t}\r\n\t});\r\n\r\n\tinitLeaveIntentPopup(false);\r\n}\r\n"],"names":["eXpress","window","EnableLeaveIntent","enableLeaveIntent","DisableLeaveIntent","web","isLeaveIntentEnabled","initLeaveIntentPopup","triggerLeaveIntentPopup","leaveIntentLoader","location","search","indexOf","enableAnyway","ouibounce","sensitivity","aggressive","sitewide","timer","delay","callback","cookieExpire","canFire","exc","core","StyleguideViewPopup","createCoreDialogAsync","dialogId","view","then","$popup","dialogEL","mainDialogCoverEl","html","querySelector","document","classList","add","subscribeComponent","components","main","createNewsletterSubscribe","subscribeAsync","email","appId","posId","lang","source","$","ajax","url","type","global","contentType","data","JSON","stringify","applicationId","dataLayerSite","pointOfSaleId","language","newsletter","dataType","openAsync","addEventListener","Cookiebot","consent","marketing","enableLeaveIntentConfigValue"],"mappings":"AAYA,IAAUA,QAZVC,OAAOC,kBAAoB,gBACc,IAA7BD,OAAOE,oBACjBF,OAAOE,mBAAoB,EAE7B,EAEAF,OAAOG,mBAAqB,gBACa,IAA7BH,OAAOE,oBACjBF,OAAOE,mBAAoB,EAE7B,EAEA,SAAUH,SAAQ,IAAAK,IAEXC,qBAIAC,qBA2CAC,yBAjDWH,IAAAL,QAAGK,MAAHL,YAkGjB,CAAA,IAlGsCS,oBAAjBJ,sBAkGrB,CAAA,GAhGMC,qBAAuB,WAC5B,YAA2C,IAA7BL,OAAOE,mBAAqCF,OAAOE,mBAAqBF,OAAOS,SAASC,OAAOC,QAAQ,SAAW,CACjI,EAEML,qBAAuB,SAACM,cAE7B,GAAKP,wBAA2BO,aAGhC,IACCC,WAAU,EAAO,CAChBC,YAAa,GACbC,YAAY,EACZC,UAAU,EACVC,MAAO,IACPC,MAAO,IACPC,SAAUZ,wBACVa,aAAc,EACdC,QAAShB,sBAEV,CAAC,MAAOiB,KAER,CACF,EAwBMf,wBAA0B,WAE/BR,QAAAwB,KAAKC,oBAAoBC,sBACxB,CACCC,SAAU,sBACVC,KAAM,sBAGNC,MAAK,SAAAC,QACL,IAAMC,SAAWD,OAAO,GACxB,GAAKC,SAAL,CAGA,IAAMC,kBAAoBhC,QAAAiC,KAAKC,cAA2BC,SAAU,oBACpEH,mBAAqBA,kBAAkBI,UAAUC,IAAI,UAErD,IAAMC,mBAAqBtC,QAAAiC,KAAKC,cAA2BH,SAAU,mCAAmC,GACxG/B,QAAQuC,WAAWC,KAAKC,0BAA0BH,mBAAoB,CAAEI,eAAgB,SAACC,MAAeC,MAAeC,MAAeC,KAAcC,QAAoB,OAvCpJ,SAACJ,MAAeI,QACtC,OAAOC,EAAEC,KAAK,CACbC,IAAK,4CACLC,KAAM,OACNC,QAAQ,EACRC,YAAa,kCACbC,KAAMC,KAAKC,UACV,CACCC,cAAexD,OAAOyD,cAAc,GAAGd,MACvCe,cAAe1D,OAAOyD,cAAc,GAAGb,MACvCe,SAAU3D,OAAOyD,cAAc,GAAGE,SAClCjB,MAAKA,MACLI,OAAMA,OACNc,YAAY,IAGdC,SAAU,SACRjC,MAAK,WAER,GACD,CAmB2Ka,CAAeC,MAAOI,QAAU,GAAa,IAE5M,IAAI/C,QAAAwB,KAAKC,oBAAoBK,QAC/BiC,WAVe,CAWvB,GACF,EAkBA9D,OAAO+D,iBAAiB,qBAAqB,WAC1B/D,OAAOgE,UACXC,QAAQC,iBAA6D,IAAxClE,OAAOmE,8BAAgDnE,OAAOmE,gCACxGlE,oBACAK,sBAAqB,GAEvB,IAEAA,sBAAqB,EACrB,CAlGD,CAAUP,UAAAA,QAkGT,CAAA"}