{"version":3,"sources":["components/cookies-popup/_base/cookies-popup.js"],"names":["CookiesPopup","Component","constructor","el","setTimeout","classList","add","fineControl","querySelector","default","addEventListener","e","toggleFineControl","querySelectorAll","forEach","cookiesSwitch","toggles","form","onFormSubmitted","onConsentStored","response","EventBus","getInstance","dispatchEvent","result","$el","remove","consent","window","cookieConsent","onSubmitted","show","preventDefault","toggle","Number","parseInt","currentTarget","dataset","checked","fetch","getAttribute","catch","error","console","then","r","json","data","FormData","params","URLSearchParams","i","append","toString","url","action"],"mappings":"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","sourcesContent":["class CookiesPopup extends Component {\n\n /** @type HTMLElement */\n form;\n\n /**\n * @param {HTMLElement} el\n */\n constructor(el) {\n super(el);\n setTimeout(() => el.classList.add('is-active'), 1000);\n this.fineControl = el.querySelector('[data-fine-control]');\n this.default = el.querySelector('[data-default]');\n el.querySelector('[data-open-fine]').addEventListener('click', e => this.toggleFineControl(e, true));\n el.querySelector('[data-close-fine]').addEventListener('click', e => this.toggleFineControl(e, false));\n el.querySelectorAll('[data-control]').forEach(el => el.addEventListener('click', e => this.cookiesSwitch(e)));\n this.toggles = el.querySelectorAll('input[type=checkbox]');\n this.form = el.querySelector('form');\n this.form.addEventListener('submit', e => this.onFormSubmitted(e));\n }\n\n /**\n * @param{{consent: number, result: bool}} response\n */\n onConsentStored(response) {\n EventBus.getInstance().dispatchEvent('hideGlobalSpinner');\n if (response.result) {\n this.$el.classList.remove('is-active');\n EventBus.getInstance().dispatchEvent('cookiesConsentStored', {consent: response.consent});\n window.cookieConsent = response.consent;\n }\n }\n\n onSubmitted() {\n EventBus.getInstance().dispatchEvent('showGlobalSpinner');\n }\n\n /**\n * @param {MouseEvent} e\n * @param {Boolean} show\n */\n toggleFineControl(e, show) {\n e.preventDefault();\n this.default.classList.toggle('u-hidden', show);\n this.fineControl.classList.toggle('u-hidden', !show);\n }\n\n /**\n * @param {MouseEvent} e\n */\n cookiesSwitch(e) {\n e.preventDefault();\n const toggle = Number.parseInt(e.currentTarget.dataset.toggle);\n this.toggles.forEach(el => el.checked = toggle === 1);\n this.onSubmitted()\n fetch(e.currentTarget.getAttribute('href') + '&redirect=0').catch(error => console.error('error:', error)).then(r => r.json()).then(r => this.onConsentStored(r));\n }\n\n onFormSubmitted(e) {\n const data = new FormData(this.form);\n const params = new URLSearchParams();\n data.forEach((e, i) => params.append(i, e.toString()));\n params.append('redirect', '0');\n const url = this.form.action + \"?\" + params.toString();\n this.onSubmitted();\n fetch(url).catch(error => console.error('error:', error)).then(r => r.json()).then(r => this.onConsentStored(r));\n e.preventDefault();\n }\n\n}\n"],"file":"cookies-popup.min.js"}