{"version":3,"file":"script.js","mappings":"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","sources":["webpack://hy42/./src/js/components/google-analytics.js","webpack://hy42/./src/js/components/matomo.js","webpack://hy42/webpack/bootstrap","webpack://hy42/webpack/runtime/compat get default export","webpack://hy42/webpack/runtime/define property getters","webpack://hy42/webpack/runtime/hasOwnProperty shorthand","webpack://hy42/webpack/runtime/make namespace object","webpack://hy42/./src/js/script.js"],"sourcesContent":["// Analytics Opt-Out Button\n(function(a) {\n a && (a.style.cursor = \"pointer\", a.onclick = gaOptOut);\n})(document.querySelector(\"a[href='#gaOptOut']\"))\n\n\n// Analytics Event Helfer\nconst eventOptions = function(category, label) {\n return {\n 'event_category': category || 'engagement',\n 'event_label': label || location.pathname,\n }\n};\n\nconst gaFormTracking = function(event) {\n if ('undefined' === typeof gtag) return null;\n var action = event.type.replace('wpcf7', 'form_');\n gtag && gtag('event', action, eventOptions());\n};\n\n// Tracking für Contact Form 7\njQuery('.wpcf7-form').on('wpcf7invalid wpcf7spam wpcf7mailsent wpcf7mailfailed wpcf7submit', gaFormTracking);\n","\n/**\n * Tracking-Konfiguration\n */\nlet matomoTracking = {\n lastScrollY: window.pageYOffset,\n onScrollID: 0,\n throttledOnScrollID: null,\n scrollMarks: [0.1, 0.25, 0.5, 0.75, 0.9, 1],\n sendOnLeave: [],\n};\n\nwindow.maxScrollPercentage = 0;\n\n/**\n * _paq global function\n * @param {object} args\n * @return {void}\n */\nfunction paq(args) {\n const _paq = window._paq = window._paq || [];\n _paq.push(...args);\n}\n\n\n/**\n * Add script to head\n * @param {String} src\n * @return {void}\n */\nfunction getScript(src) {\n const script = document.createElement('script');\n script.src = src;\n script.async = true;\n document.head.appendChild(script);\n}\n\n\n/**\n * Page Leaving Callback\n * @return {void}\n */\nfunction trackEvent(category, action, name, value, dimensions) {\n const data = ['trackEvent'];\n\n for (let a = 0; a < arguments.length; a++) {\n const argument = arguments[a];\n if (Array.isArray(argument)) data.push(...argument);\n else if (typeof argument !== 'undefined') data.push(argument);\n }\n\n // window._paq.push(data);\n paq(data);\n}\n\n\nconst trackOnPageLeave = function trackOnPageLeave(data, overwrite) {\n const _sendOnLeave = matomoTracking.sendOnLeave;\n let index = _sendOnLeave.length;\n\n if (!!overwrite) index = _sendOnLeave.findIndex(x => x[1] === data[0]);\n if (index < 0) index = _sendOnLeave.length;\n\n _sendOnLeave[index] = ['Seite verlassen', ...data];\n}\n\n\n/**\n * Page Leaving Callback\n * @return {void}\n */\nconst onPageLeave = function onPageLeave() {\n let _toSend = matomoTracking.sendOnLeave;\n if (document.visibilityState === 'hidden' && _toSend.length) {\n while (_toSend.length > 0) {\n trackEvent(_toSend.shift());\n }\n }\n}\n\n\n/**\n * Scroll Callback\n * @return {void}\n */\nconst throttledOnScroll = function throttledOnScroll() {\n const scrollY = window.pageYOffset;\n clearTimeout(matomoTracking.throttledOnScrollID);\n if (window.isScrolling && scrollY === matomoTracking.lastScrollY) {\n window.isScrolling = false;\n checkScrollPosition();\n } else if (scrollY !== matomoTracking.lastScrollY) {\n window.isScrolling = true;\n matomoTracking.lastScrollY = scrollY;\n }\n\n matomoTracking.onScrollID = 0;\n matomoTracking.throttledOnScrollID = setTimeout(throttledOnScroll, 100);\n}\n\n\n/**\n * Scroll Listener\n * @return {void}\n */\nconst onScroll = function onScroll() {\n if (matomoTracking.onScrollID <= 0) matomoTracking.onScrollID = window.requestAnimationFrame(throttledOnScroll);\n}\n\n\n/**\n * Record max scroll depth\n * @return {void}\n */\nconst checkScrollPosition = function checkScrollPosition() {\n let marks = matomoTracking.scrollMarks;\n let mark = window.maxScrollPercentage;\n const percent = window.scrollY / window.scrollMaxY;\n\n while (mark <= percent && marks[0] <= percent) {\n mark = marks.shift();\n }\n\n if (window.maxScrollPercentage < mark) {\n window.maxScrollPercentage = mark;\n trackOnPageLeave(['Scrolltiefe', `${mark * 100} %`, mark], true);\n }\n\n // Event Listener entfernen, wenn 100% erreicht sind\n if (marks.length === 0) {\n window.removeEventListener('scroll', onScroll, {passive: true});\n }\n}\n\n\n// Tracking für Contact Form 7\nconst trackContactForm7 = function trackContactForm7(event) {\n let eventName = event.type.replace('wpcf7', 'form_');\n let actionName = event.target.getAttribute('action');\n\n if (event.target.querySelector('#tracking_name')) actionName = event.target.querySelector('#tracking_name').value;\n\n trackEvent(['Formulare', actionName, eventName, 1]);\n};\n\n\n// EventListener starten\njQuery('.wpcf7-form').on('wpcf7invalid wpcf7spam wpcf7mailsent wpcf7mailfailed wpcf7submit', trackContactForm7);\nwindow.addEventListener('scroll', onScroll, {passive: true});\nwindow.addEventListener('visibilitychange', onPageLeave);\n\nthrottledOnScroll();\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","\n// Google Analytics Tracking Code\nimport './components/google-analytics';\n\n// Matomo Tracking Code\nimport './components/matomo';\n\n// Videos in Lightbox anzeigen\n// import './video-lightbox';\n"],"names":["a","style","cursor","onclick","gaOptOut","document","querySelector","eventOptions","category","label","location","pathname","gaFormTracking","event","gtag","action","type","replace","jQuery","on","matomoTracking","lastScrollY","window","pageYOffset","onScrollID","throttledOnScrollID","scrollMarks","sendOnLeave","maxScrollPercentage","paq","args","_paq","push","getScript","src","script","createElement","async","head","appendChild","trackEvent","name","value","dimensions","data","arguments","length","argument","Array","isArray","trackOnPageLeave","overwrite","_sendOnLeave","index","findIndex","x","onPageLeave","_toSend","visibilityState","shift","throttledOnScroll","scrollY","clearTimeout","isScrolling","checkScrollPosition","setTimeout","onScroll","requestAnimationFrame","marks","mark","percent","scrollMaxY","removeEventListener","passive","trackContactForm7","eventName","actionName","target","getAttribute","addEventListener"],"sourceRoot":""}