{"version":3,"sources":["webpack:///./modules/CookieSettingsCheckbox.ts"],"names":["__webpack_require__","r","__webpack_exports__","CookieSettingsCheckbox","element","_this","this","mainCheckBoxes","Array","from","querySelectorAll","forEach","el","mainCheckBox","selectAllCheckbox","inputs","document","input","onCheckboxChanged","checkboxList","initEventHandlers","setup","selector","filter","node","dataset","moduleInitialized","prototype","addEventListener","e","selectAllHandler","checkbox","onCheckboxClick","selectAllItem","target","targetAttr","getAttribute","checked","evt","createEvent","initEvent","dispatchEvent","fireEvent","checkboxInput","dependsOnAttr","selectedCheckbox","hasUnchecked","some","selectorParent","closest","activatedText","querySelector","deactivatedText","innerHTML","state","item","parentElement"],"mappings":"2FAAAA,EAAAC,EAAAC,GAAA,IAEAC,EAAA,WAgBI,SAAAA,EAAmBC,GAAnB,IAAAC,EAAAC,KAAmBA,KAAAF,UACfE,KAAKC,eAAiBC,MAAMC,KAAKH,KAAKF,QAAQM,iBAAiB,8BAC/DJ,KAAKC,eAAeI,QAAQ,SAAAC,GACxBP,EAAKQ,aAAeD,IAGxBN,KAAKQ,kBAAoBN,MAAMC,KAAKH,KAAKF,QAAQM,iBAAiB,iFAElEJ,KAAKS,OAASP,MAAMC,KAAKO,SAASN,iBAAiB,mDAEnDJ,KAAKS,OAAOJ,QAAQ,SAAAC,GAChBP,EAAKY,MAAQL,EACbP,EAAKa,kBAAkBb,EAAKY,MAAOZ,EAAKD,WAG5CE,KAAKa,aAAeX,MAAMC,KAAKO,SAASN,iBAAiB,wLAEzDJ,KAAKc,oBAkFb,OA1GWjB,EAAAkB,MAAP,SAAaC,QAAA,IAAAA,MAXM,0CAYfd,MAAMC,KAAKO,SAASN,iBAAiBY,IAAWC,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,oBAAmBf,QAAQ,SAACP,GACpH,IAAID,EAAuBC,GAC3BA,EAAQqB,QAAQC,kBAAoB,UAyB5CvB,EAAAwB,UAAAP,kBAAA,eAAAf,EAAAC,KACIA,KAAKQ,kBAAkBH,QAAQ,SAAAC,GAAM,OAAAA,EAAGgB,iBAAiB,QAAS,SAACC,GAAM,OAAAxB,EAAKyB,iBAAiBD,OAE/FvB,KAAKa,aAAaR,QAAQ,SAACoB,GAA+B,OAAAA,EAASH,iBAAiB,QAAS,SAACC,GAAM,OAAAxB,EAAK2B,gBAAgBH,QAG7H1B,EAAAwB,UAAAG,iBAAA,SAAiBD,GAAjB,IAAAxB,EAAAC,KACQ2B,EAAgBJ,EAAEK,OAClBC,EAAaF,EAAcG,aAAa,oBAC5C9B,KAAKa,aAAaR,QAAQ,SAACoB,GASvB,GAPIA,EAASK,aAAa,oBAAsBD,IAE5CJ,EAASM,QAAUJ,EAAcI,QACjChC,EAAKa,kBAAkBa,EAAU1B,EAAKD,UAItC,gBAAiBY,SAAU,CAC3B,IAAIsB,EAAMtB,SAASuB,YAAY,cAC/BD,EAAIE,UAAU,UAAU,GAAO,GAC/BT,EAASU,cAAcH,QAEvBP,EAASW,UAAU,cAI3BpC,KAAKY,kBAAkBe,EAAe3B,KAAKF,UAG/CD,EAAAwB,UAAAK,gBAAA,SAAgBH,GACZ,IAAIc,EAAgBd,EAAEK,OAClBU,EAAgBD,EAAcP,aAAa,mBAC3CS,EAAmB7B,SAASN,iBAAiB,yBAAyBkC,EAAa,KACnFE,EAAetC,MAAMC,KAAKoC,GAAkBE,KAAK,SAAC9B,GAAe,OAAiB,GAAjBA,EAAMoB,UACvEW,EAAiB1C,KAAKO,aAAaoC,QAAQ,aAC3CC,EAAgBF,EAAeG,cAAc,mBAAmBf,aAAa,uBAC7EgB,EAAkBJ,EAAeG,cAAc,mBAAmBf,aAAa,yBAEnF,GAAKU,GAAgBxC,KAAKO,aAAauB,aAAa,qBAAuBQ,GAYpE,GAA6B,GAAzBD,EAAcN,SAAoB/B,KAAKO,aAAauB,aAAa,qBAAuBQ,EAAe,CAK1G,IAAIN,EADR,GAHAU,EAAeG,cAAc,mBAAmBE,UAAYD,EAE5D9C,KAAKO,aAAawB,SAAU,EACxB,gBAAiBrB,UACbsB,EAAMtB,SAASuB,YAAY,eAC3BC,UAAU,UAAU,GAAO,GAC/BlC,KAAKO,aAAa4B,cAAcH,QAEhChC,KAAKO,aAAa6B,UAAU,kBApBhCM,EAAeG,cAAc,mBAAmBE,UAAYH,EAE5D5C,KAAKO,aAAawB,SAAU,EACxB,gBAAiBrB,WACbsB,EAAMtB,SAASuB,YAAY,eAC3BC,UAAU,UAAU,GAAO,GAC/BlC,KAAKO,aAAa4B,cAAcH,IAEhChC,KAAKO,aAAa6B,UAAU,YAepCpC,KAAKY,kBAAkByB,EAAerC,KAAKF,UAG/CD,EAAAwB,UAAAT,kBAAA,SAAkBa,EAAUuB,GACxB,IAMYC,EANRP,EAA8BjB,EAASyB,cACvCR,EAAeG,cAAc,0BAA4BH,EAAeG,cAAc,6BAC9D,GAApBpB,EAASM,SACLkB,EAAoBP,EAAeG,cAAc,oBAChDE,UAAYE,EAAKnB,aAAa,wBAE/BmB,EAAoBP,EAAeG,cAAc,oBAChDE,UAAYE,EAAKnB,aAAa,2BAInDjC,EAnHA,eAoHA,IAAIA,EAAuBkB","file":"./modules/CookieSettingsCheckbox.303e0a88.js","sourcesContent":["const moduleSelector = '[data-module=\"CookieSettingsCheckbox\"]';\r\n\r\nexport default class CookieSettingsCheckbox {\r\n selectAllCheckbox;\r\n mainCheckBoxes;\r\n checkboxList;\r\n mainCheckBox;\r\n inputs;\r\n input;\r\n\r\n\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 CookieSettingsCheckbox(element);\r\n element.dataset.moduleInitialized = 'true';\r\n });\r\n }\r\n\r\n constructor(public element: HTMLElement) {\r\n this.mainCheckBoxes = Array.from(this.element.querySelectorAll('.bdf-cookie-policy-toggle'));\r\n this.mainCheckBoxes.forEach(el => {\r\n this.mainCheckBox = el;\r\n });\r\n\r\n this.selectAllCheckbox = Array.from(this.element.querySelectorAll('.third-party-cookies .checkbox:not(.alwaysChecked) .bdf-cookie-policy-toggle'));\r\n\r\n this.inputs = Array.from(document.querySelectorAll('.third-party-cookies .bdf-cookie-policy-toggle'));\r\n\r\n this.inputs.forEach(el => {\r\n this.input = el;\r\n this.onCheckboxChanged(this.input, this.element)\r\n });\r\n\r\n this.checkboxList = Array.from(document.querySelectorAll(\".third-party-cookies[data-module=''] .checkbox:not(.alwaysChecked) input[type=checkbox], .third-party-cookies:not([data-module]) .checkbox:not(.alwaysChecked) input[type=checkbox]\"));\r\n\r\n this.initEventHandlers();\r\n }\r\n\r\n\r\n initEventHandlers() {\r\n this.selectAllCheckbox.forEach(el => el.addEventListener('click', (e) => this.selectAllHandler(e)))\r\n\r\n this.checkboxList.forEach((checkbox: HTMLInputElement) => checkbox.addEventListener('click', (e) => this.onCheckboxClick(e)))\r\n }\r\n\r\n selectAllHandler(e: Event) {\r\n let selectAllItem = e.target as HTMLInputElement;\r\n let targetAttr = selectAllItem.getAttribute('data-cookie-name');\r\n this.checkboxList.forEach((checkbox) => {\r\n\r\n if (checkbox.getAttribute('data-depends-on') == targetAttr) {\r\n\r\n checkbox.checked = selectAllItem.checked;\r\n this.onCheckboxChanged(checkbox, this.element);\r\n\r\n }\r\n\r\n if (\"createEvent\" in document) {\r\n var evt = document.createEvent(\"HTMLEvents\");\r\n evt.initEvent(\"change\", false, true);\r\n checkbox.dispatchEvent(evt);\r\n } else {\r\n checkbox.fireEvent(\"onchange\");\r\n }\r\n\r\n });\r\n this.onCheckboxChanged(selectAllItem, this.element);\r\n }\r\n\r\n onCheckboxClick(e: Event) {\r\n let checkboxInput = e.target as HTMLInputElement;\r\n let dependsOnAttr = checkboxInput.getAttribute('data-depends-on');\r\n let selectedCheckbox = document.querySelectorAll(`input[data-depends-on=${dependsOnAttr}]`);\r\n let hasUnchecked = Array.from(selectedCheckbox).some((input: any) => input.checked == false);\r\n let selectorParent = this.mainCheckBox.closest('.checkbox');\r\n let activatedText = selectorParent.querySelector('.checkmark-text').getAttribute('data-activated-text');\r\n let deactivatedText = selectorParent.querySelector('.checkmark-text').getAttribute('data-deactivated-text');\r\n\r\n if (!hasUnchecked && this.mainCheckBox.getAttribute('data-cookie-name') == dependsOnAttr) {\r\n selectorParent.querySelector('.checkmark-text').innerHTML = activatedText;\r\n\r\n this.mainCheckBox.checked = true;\r\n if (\"createEvent\" in document) {\r\n var evt = document.createEvent(\"HTMLEvents\");\r\n evt.initEvent(\"change\", false, true);\r\n this.mainCheckBox.dispatchEvent(evt);\r\n } else {\r\n this.mainCheckBox.fireEvent(\"onchange\");\r\n }\r\n\r\n } else if (checkboxInput.checked == false && this.mainCheckBox.getAttribute('data-cookie-name') == dependsOnAttr) {\r\n selectorParent.querySelector('.checkmark-text').innerHTML = deactivatedText;\r\n\r\n this.mainCheckBox.checked = false;\r\n if (\"createEvent\" in document) {\r\n var evt = document.createEvent(\"HTMLEvents\");\r\n evt.initEvent(\"change\", false, true);\r\n this.mainCheckBox.dispatchEvent(evt);\r\n } else {\r\n this.mainCheckBox.fireEvent(\"onchange\");\r\n }\r\n }\r\n this.onCheckboxChanged(checkboxInput, this.element);\r\n }\r\n\r\n onCheckboxChanged(checkbox, state) {\r\n var selectorParent = checkbox.parentElement;\r\n if (selectorParent.querySelector('[data-activated-text]') && selectorParent.querySelector('[data-deactivated-text]')) {\r\n if (checkbox.checked == true) {\r\n var item = selectorParent.querySelector('.checkmark-text')\r\n item.innerHTML = item.getAttribute('data-activated-text');\r\n } else {\r\n var item = selectorParent.querySelector('.checkmark-text')\r\n item.innerHTML = item.getAttribute('data-deactivated-text');\r\n }\r\n }\r\n }\r\n}\r\nnew CookieSettingsCheckbox.setup();"],"sourceRoot":""}