{"version":3,"file":"js/cookies-85e95148a906f97fa41c.js","mappings":"uGAAA,MAAMA,EACJ,WAAAC,CAAYC,EAAOC,EAAOC,GACxBC,KAAKH,MAAQA,EACbG,KAAKF,MAAQA,EACbE,KAAKD,SAAWA,EAChBC,KAAKC,WAAY,CACnB,CAEA,OAAAC,GACOF,KAAKC,YACRD,KAAKG,aACLH,KAAKC,WAAY,EAErB,EAGF,MAAMG,UAAiBT,EACrB,UAAAQ,GACEH,KAAKF,OACP,EAGF,MAAMO,UAAeV,EACnB,UAAAQ,GACE,MAAMG,EAAYC,SAASC,cAAc,UACzCF,EAAUG,aAAa,MAAOT,KAAKF,OAC/BE,KAAKD,WACPO,EAAUI,OAASV,KAAKD,UAE1BQ,SAASI,KAAKC,YAAYN,EAC5B,EAGF,MAAMO,UAAoBlB,EACxB,UAAAQ,GACE,MAAMG,EAAYC,SAASC,cAAc,UACzCF,EAAUG,aAAa,MAAOT,KAAKF,OACnCQ,EAAUG,aAAa,QAAS,QAC5BT,KAAKD,WACPO,EAAUI,OAASV,KAAKD,UAE1BQ,SAASI,KAAKC,YAAYN,EAC5B,EAGF,MAAMQ,EACJ,WAAAlB,GACEI,KAAKe,aAAe,GACpBf,KAAKgB,cAAe,CACtB,CAEA,WAAAC,GACMH,EAAcI,iBAChBC,OAAOC,eAAiBpB,KAAKqB,eAAeC,KAAKtB,MAEjDA,KAAKqB,gBAET,CAEA,cAAAA,GACErB,KAAKuB,aACLvB,KAAKgB,cAAe,CACtB,CAEA,SAAAQ,CAAU3B,EAAO4B,EAAQ1B,GACvBC,KAAK0B,eAAe,IAAIrB,EAAOR,EAAO4B,EAAQ1B,GAChD,CAEA,cAAA4B,CAAe9B,EAAO4B,EAAQ1B,GAC5BC,KAAK0B,eAAe,IAAIb,EAAYhB,EAAO4B,EAAQ1B,GACrD,CAEA,WAAA6B,CAAY/B,EAAOE,GACjBC,KAAK0B,eAAe,IAAItB,EAASP,EAAOE,GAC1C,CAEA,cAAA2B,CAAeG,GACb7B,KAAKe,aAAae,KAAKD,GAEnB7B,KAAKgB,cACPF,EAAcZ,QAAQ2B,EAE1B,CAEA,UAAAN,GACEvB,KAAKe,aAAagB,SAASF,IACzBf,EAAcZ,QAAQ2B,EAAW,GAErC,CAEA,cAAO3B,CAAQ2B,GACTf,EAAckB,YAAYH,EAAYhC,QACxCgC,EAAY3B,SAEhB,CAEA,kBAAO8B,CAAYnC,GACjB,GAAIiB,EAAcI,iBAAkB,CAClC,MAAMe,EAAe,IAAIC,OAAO,KAAKpB,EAAcqB,QAAQtC,MAAUiB,EAAcsB,cAAcvC,QACjG,OAAQsB,OAAOkB,oBAAoBC,MAAML,EAC3C,CAEA,OAAO,CACT,CAEA,qBAAOf,GACL,MAAkC,qBAAnBC,OAAOoB,OACxB,CAEA,cAAOJ,CAAQtC,GACb,OAAQA,GACN,IAAK,YACL,IAAK,QACL,KAAK,EAcL,QACE,MAAO,QAbT,IAAK,cACL,IAAK,QACL,KAAK,EACH,MAAO,QACT,IAAK,aACL,IAAK,QACL,KAAK,EACH,MAAO,QACT,IAAK,YACL,IAAK,QACL,KAAK,EACH,MAAO,QAIb,CAEA,oBAAOuC,CAAcvC,GACnB,OAAQA,GACN,IAAK,YACL,IAAK,QACL,KAAK,EAcL,QACE,OAAO,EAbT,IAAK,cACL,IAAK,QACL,KAAK,EACH,OAAO,EACT,IAAK,aACL,IAAK,QACL,KAAK,EACH,OAAO,EACT,IAAK,YACL,IAAK,QACL,KAAK,EACH,OAAO,EAIb,EAGF,QC1JKsB,OAAOqB,gBACVrB,OAAOqB,cAAgB,IAAI1B,EAC3BK,OAAOqB,cAAcvB,c","sources":["webpack://churchkey/./node_modules/@generalassembly/cookie-consent/src/cookie-consent.js","webpack://churchkey/./app/javascript/cookies.js"],"sourcesContent":["class Triggerable {\n constructor(group, value, callback) {\n this.group = group\n this.value = value\n this.callback = callback\n this.triggered = false\n }\n\n trigger() {\n if (!this.triggered) {\n this.runTrigger()\n this.triggered = true\n }\n }\n}\n\nclass Callback extends Triggerable {\n runTrigger() {\n this.value()\n }\n}\n\nclass Script extends Triggerable {\n runTrigger() {\n const newScript = document.createElement('script')\n newScript.setAttribute('src', this.value)\n if (this.callback) {\n newScript.onload = this.callback\n }\n document.head.appendChild(newScript)\n }\n}\n\nclass AsyncScript extends Triggerable {\n runTrigger() {\n const newScript = document.createElement('script')\n newScript.setAttribute('src', this.value)\n newScript.setAttribute('async', 'true')\n if (this.callback) {\n newScript.onload = this.callback\n }\n document.head.appendChild(newScript)\n }\n}\n\nclass CookieConsent {\n constructor() {\n this.triggerables = []\n this.wrapperFired = false\n }\n\n initBrowser() {\n if (CookieConsent.optanonPresent()) {\n window.OptanonWrapper = this.optanonWrapper.bind(this)\n } else {\n this.optanonWrapper()\n }\n }\n\n optanonWrapper() {\n this.triggerAll()\n this.wrapperFired = true\n }\n\n addScript(group, script, callback) {\n this.addTriggerable(new Script(group, script, callback))\n }\n\n addAsyncScript(group, script, callback) {\n this.addTriggerable(new AsyncScript(group, script, callback))\n }\n\n addCallback(group, callback) {\n this.addTriggerable(new Callback(group, callback))\n }\n\n addTriggerable(triggerable) {\n this.triggerables.push(triggerable)\n\n if (this.wrapperFired) {\n CookieConsent.trigger(triggerable)\n }\n }\n\n triggerAll() {\n this.triggerables.forEach((triggerable) => {\n CookieConsent.trigger(triggerable)\n })\n }\n\n static trigger(triggerable) {\n if (CookieConsent.groupActive(triggerable.group)) {\n triggerable.trigger()\n }\n }\n\n static groupActive(group) {\n if (CookieConsent.optanonPresent()) {\n const groupMatcher = new RegExp(`,(${CookieConsent.groupId(group)}|${CookieConsent.legacyGroupId(group)}),`)\n return (window.OptanonActiveGroups.match(groupMatcher))\n }\n\n return true\n }\n\n static optanonPresent() {\n return (typeof window.Optanon !== 'undefined')\n }\n\n static groupId(group) {\n switch (group) {\n case 'necessary':\n case 'C0001':\n case 1:\n return 'C0001'\n case 'performance':\n case 'C0002':\n case 2:\n return 'C0002'\n case 'functional':\n case 'C0003':\n case 3:\n return 'C0003'\n case 'targeting':\n case 'C0004':\n case 4:\n return 'C0004'\n default:\n return 'C0001'\n }\n }\n\n static legacyGroupId(group) {\n switch (group) {\n case 'necessary':\n case 'C0001':\n case 1:\n return 1\n case 'performance':\n case 'C0002':\n case 2:\n return 2\n case 'functional':\n case 'C0003':\n case 3:\n return 3\n case 'targeting':\n case 'C0004':\n case 4:\n return 4\n default:\n return 1\n }\n }\n}\n\nexport default CookieConsent\n","import CookieConsent from '@generalassembly/cookie-consent'\n\nif (!window.cookieConsent) {\n window.cookieConsent = new CookieConsent()\n window.cookieConsent.initBrowser()\n}\n"],"names":["Triggerable","constructor","group","value","callback","this","triggered","trigger","runTrigger","Callback","Script","newScript","document","createElement","setAttribute","onload","head","appendChild","AsyncScript","CookieConsent","triggerables","wrapperFired","initBrowser","optanonPresent","window","OptanonWrapper","optanonWrapper","bind","triggerAll","addScript","script","addTriggerable","addAsyncScript","addCallback","triggerable","push","forEach","groupActive","groupMatcher","RegExp","groupId","legacyGroupId","OptanonActiveGroups","match","Optanon","cookieConsent"],"sourceRoot":""}