{"version":3,"file":"./modules/Squarelovin.xxxxxxxx.js","mappings":"oIAAA,MAAMA,EAAiB,8BAER,MAAMC,EACjB,YAAOC,CAAMC,EAAmBH,GAC5BI,MAAMC,KAAKC,SAASC,iBAAiBJ,IAAWK,QAAQC,IAAuBA,EAAKC,QAAQC,oBAAmBC,SAASC,IACpH,IAAIZ,EAAYY,GAChBA,EAAQH,QAAQC,kBAAoB,MAAM,GAElD,CAEA,WAAAG,CAAmBD,GAAA,KAAAA,QAAAA,EACfE,KAAKC,MACT,CAEQ,IAAAA,GACJ,IAAIC,EAAW,IAAIC,sBAAsBC,IACrCA,EAAQP,SAAQQ,IACPA,EAAMC,iBAEXN,KAAKO,wBACLL,EAASM,aAAY,GACvB,IAGNN,EAASO,QAAQT,KAAKF,QAC1B,CAEO,eAAAY,GACH,IAAIC,GAAa,EAEjB,IACIC,OAAOC,MAAM,iBACbF,GAAa,CACjB,CAAE,MAAOG,GACLC,QAAQC,MAAM,kCAClB,CAEA,OAAOL,CACX,CAEQ,qBAAAJ,GAEDP,KAAKU,mBACJV,KAAKiB,kBAELL,OAAOC,MAAM,mBAAmB,CAAC,gBAAgB,KAC7Cb,KAAKiB,iBAAiB,GACxB,GAAO,OAGTjB,KAAKkB,gCAEb,CAEQ,eAAAD,IACwB1B,SAAS4B,eAAe,oBAExBnB,KAAKoB,uBAC7BpB,KAAKkB,gCAEb,CAEQ,mBAAAE,G,QACJ,SAAiD,QAA1C,EAA0B,QAA1B,EAAAR,OAAOC,MAAM,qBAAa,eAAEQ,sBAAc,eAAEC,MACvD,CAEQ,8BAAAJ,GACJ,MAAMK,EAAgBvB,KAAKwB,sBAC3BjC,SAASkC,KAAKC,YAAYH,EAC9B,CAEQ,mBAAAC,GACJ,MAAMD,EAAgBhC,SAASoC,cAAc,UAQ7C,OAPAJ,EAAcK,GAAK,wBACnBL,EAAcM,UAAY,qHACyB7B,KAAKF,QAAQgC,aAAa,sSAKtEP,CACX,EAgBArC,EAAYC,MAAMF,E,gDC/FtB,Q,SAA0B,O","sources":["webpack:///./modules/Squarelovin/Squarelovin.ts","webpack:///./modules/Squarelovin/index.ts"],"sourcesContent":["const moduleSelector = '[data-module=\"Squarelovin\"]';\r\n\r\nexport default class Squarelovin {\r\n static setup(selector: string = moduleSelector): void {\r\n Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n new Squarelovin(element);\r\n element.dataset.moduleInitialized = 'true';\r\n });\r\n }\r\n\r\n constructor(public element: HTMLElement) {\r\n this.init();\r\n }\r\n\r\n private init() {\r\n let observer = new IntersectionObserver((entries) => {\r\n entries.forEach(entry => {\r\n if (!entry.isIntersecting) return;\r\n\r\n this.initSquarelovinScript();\r\n observer.disconnect();\r\n });\r\n });\r\n\r\n observer.observe(this.element);\r\n }\r\n\r\n private checkConsentApi(): boolean {\r\n let consentApi = false;\r\n\r\n try {\r\n window.__cmp('consentStatus');\r\n consentApi = true;\r\n } catch (error) {\r\n console.debug(\"ConsentManagerApi is Not Loaded\");\r\n }\r\n\r\n return consentApi;\r\n }\r\n\r\n private initSquarelovinScript() {\r\n \r\n if(this.checkConsentApi()) { \r\n this.loadSquareLovin();\r\n\r\n window.__cmp(\"addEventListener\",[\"vendorconsent\",()=> {\r\n this.loadSquareLovin();\r\n },false],null);\r\n\r\n } else {\r\n this.createSquarelovinScriptElement();\r\n }\r\n }\r\n\r\n private loadSquareLovin() {\r\n const isSquarelovinLoaded = document.getElementById(\"squarelovingSDK\");\r\n\r\n if (!isSquarelovinLoaded && this.getCmpVendorConsent()) {\r\n this.createSquarelovinScriptElement();\r\n }\r\n }\r\n\r\n private getCmpVendorConsent(): boolean {\r\n return window.__cmp('getCMPData')?.vendorConsents?.c8284 ? true : false;\r\n }\r\n\r\n private createSquarelovinScriptElement() {\r\n const scriptElement = this.createScriptElement()\r\n document.body.appendChild(scriptElement);\r\n }\r\n\r\n private createScriptElement() {\r\n const scriptElement = document.createElement(\"script\");\r\n scriptElement.id = \"nx-squarelovin-script\";\r\n scriptElement.innerHTML = `const scriptElement = document.createElement(\"script\");\r\n scriptElement.src = \"${this.element.getAttribute(\"data-squarelovin-script-url\")}\";\r\n scriptElement.type = \"module\";\r\n scriptElement.id = \"squarelovingSDK\"\r\n document.body.appendChild(scriptElement);\r\n `;\r\n return scriptElement;\r\n }\r\n}\r\n\r\n// Hot Module Replacement\r\nif (module.hot) {\r\n let nodesCache: HMRNodes[] = Array.from(document.querySelectorAll(moduleSelector)).map((element: Node) => ({ nodeToReplace: element, nodeOrigin: element.cloneNode(true) }));\r\n\r\n Squarelovin.setup(moduleSelector);\r\n\r\n module.hot.accept(() => {\r\n Squarelovin.setup(moduleSelector);\r\n });\r\n module.hot.dispose(() => {\r\n nodesCache.forEach(({ nodeToReplace, nodeOrigin }) => { nodeToReplace = nodeToReplace.parentElement.replaceChild(nodeOrigin.cloneNode(true), nodeToReplace) });\r\n });\r\n} else {\r\n Squarelovin.setup(moduleSelector);\r\n}\r\n","import Squarelovin from \"./Squarelovin\";\r\n\r\nexport default Squarelovin;"],"names":["moduleSelector","Squarelovin","setup","selector","Array","from","document","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","element","constructor","this","init","observer","IntersectionObserver","entries","entry","isIntersecting","initSquarelovinScript","disconnect","observe","checkConsentApi","consentApi","window","__cmp","error","console","debug","loadSquareLovin","createSquarelovinScriptElement","getElementById","getCmpVendorConsent","vendorConsents","c8284","scriptElement","createScriptElement","body","appendChild","createElement","id","innerHTML","getAttribute"],"sourceRoot":""}