{"version":3,"file":"main.js","sources":["../../../src/js/utils/dom.js","../../../src/js/extensions/Toggle.js","../../../node_modules/ssr-window/ssr-window.esm.js","../../../node_modules/dom7/dom7.esm.js","../../../node_modules/swiper/shared/dom.js","../../../node_modules/swiper/shared/utils.js","../../../node_modules/swiper/shared/get-support.js","../../../node_modules/swiper/shared/get-device.js","../../../node_modules/swiper/shared/get-browser.js","../../../node_modules/swiper/core/modules/resize/resize.js","../../../node_modules/swiper/core/modules/observer/observer.js","../../../node_modules/swiper/core/events-emitter.js","../../../node_modules/swiper/core/update/updateSize.js","../../../node_modules/swiper/core/update/updateSlides.js","../../../node_modules/swiper/core/update/updateAutoHeight.js","../../../node_modules/swiper/core/update/updateSlidesOffset.js","../../../node_modules/swiper/core/update/updateSlidesProgress.js","../../../node_modules/swiper/core/update/updateProgress.js","../../../node_modules/swiper/core/update/updateSlidesClasses.js","../../../node_modules/swiper/core/update/updateActiveIndex.js","../../../node_modules/swiper/core/update/updateClickedSlide.js","../../../node_modules/swiper/core/update/index.js","../../../node_modules/swiper/core/translate/getTranslate.js","../../../node_modules/swiper/core/translate/setTranslate.js","../../../node_modules/swiper/core/translate/minTranslate.js","../../../node_modules/swiper/core/translate/maxTranslate.js","../../../node_modules/swiper/core/translate/translateTo.js","../../../node_modules/swiper/core/translate/index.js","../../../node_modules/swiper/core/transition/setTransition.js","../../../node_modules/swiper/core/transition/transitionEmit.js","../../../node_modules/swiper/core/transition/transitionStart.js","../../../node_modules/swiper/core/transition/transitionEnd.js","../../../node_modules/swiper/core/transition/index.js","../../../node_modules/swiper/core/slide/slideTo.js","../../../node_modules/swiper/core/slide/slideToLoop.js","../../../node_modules/swiper/core/slide/slideNext.js","../../../node_modules/swiper/core/slide/slidePrev.js","../../../node_modules/swiper/core/slide/slideReset.js","../../../node_modules/swiper/core/slide/slideToClosest.js","../../../node_modules/swiper/core/slide/slideToClickedSlide.js","../../../node_modules/swiper/core/slide/index.js","../../../node_modules/swiper/core/loop/loopCreate.js","../../../node_modules/swiper/core/loop/loopFix.js","../../../node_modules/swiper/core/loop/loopDestroy.js","../../../node_modules/swiper/core/loop/index.js","../../../node_modules/swiper/core/grab-cursor/setGrabCursor.js","../../../node_modules/swiper/core/grab-cursor/unsetGrabCursor.js","../../../node_modules/swiper/core/grab-cursor/index.js","../../../node_modules/swiper/core/events/onTouchStart.js","../../../node_modules/swiper/core/events/onTouchMove.js","../../../node_modules/swiper/core/events/onTouchEnd.js","../../../node_modules/swiper/core/events/onResize.js","../../../node_modules/swiper/core/events/onClick.js","../../../node_modules/swiper/core/events/onScroll.js","../../../node_modules/swiper/core/events/index.js","../../../node_modules/swiper/core/breakpoints/setBreakpoint.js","../../../node_modules/swiper/core/breakpoints/getBreakpoint.js","../../../node_modules/swiper/core/breakpoints/index.js","../../../node_modules/swiper/core/classes/addClasses.js","../../../node_modules/swiper/core/classes/removeClasses.js","../../../node_modules/swiper/core/classes/index.js","../../../node_modules/swiper/core/images/loadImage.js","../../../node_modules/swiper/core/images/preloadImages.js","../../../node_modules/swiper/core/images/index.js","../../../node_modules/swiper/core/check-overflow/index.js","../../../node_modules/swiper/core/defaults.js","../../../node_modules/swiper/core/moduleExtendParams.js","../../../node_modules/swiper/core/core.js","../../../src/components/Accordion/index.js","../../../src/components/SiteHeader/index.js","../../../src/components/Cost/index.js","../../../src/components/OpeningHours/index.js","../../../src/components/Map/index.js","../../../src/components/Countdown/index.js","../../../src/components/ContactOverview/index.js","../../../src/components/Inputs/FilterDropdown/index.js","../../../src/components/Gallery/index.js","../../../src/components/CookieRow/index.js","../../../src/components/SiteHeader/Mobile/index.js","../../../src/components/CampaignOverview/index.js","../../../src/components/NewsOverview/index.js","../../../src/components/NewsDetail/index.js","../../../src/components/SearchSportsCamps/index.js","../../../src/components/CookieBanner/index.js","../../../src/components/Search/index.js","../../../src/components/Floorplan/index.js","../../../src/components/SportRoutes/Components/RoutePlanner/index.js","../../../src/components/SportRoutes/Components/RouteYouEmbed/index.js","../../../src/components/ContactBlock/index.js","../../../src/components/POS/index.js","../../../src/components/DownloadList/index.js","../../../src/components/FilterTable/index.js","../../../src/components/Button/centraFilterButton.js","../../../src/components/CenterOverviewPage/inputs/Checkbox/index.js","../../../src/components/CenterOverviewPage/inputs/Dropdown/index.js","../../../src/components/CenterOverviewPage/inputs/Toggle/index.js","../../../src/js/modules/index.js","../../../src/js/main.js","../../../src/reportWebVitals.js","../../../node_modules/friendly-challenge/widget.js","../../../src/index.js","../../../node_modules/web-vitals/dist/web-vitals.js"],"sourcesContent":["// =============================================================================\r\n// Init\r\n// =============================================================================\r\n\r\n/**\r\n * Init\r\n * -----\r\n * Initialise multiple instance of a JS class based on the passed selector. The\r\n * element is passed to the instance with, if they are defined, parameters. If\r\n * multiple elements are found, an array of the instances is returned. If only\r\n * one is found, the one instance is returned.\r\n *\r\n * Params\r\n * -----\r\n * @param {*} selector CSS Selector to select the element in the DOM\r\n * @param {*} jsClass Class where an instance is created from\r\n * @param {*} params Object with parameters to be passed to the instance\r\n */\r\n\r\n const init = ({ selector = null, Module = null, params = {} } = {}) => {\r\n if (!selector || !Module || typeof selector !== \"string\" || typeof Module !== \"function\") {\r\n return null;\r\n }\r\n\r\n const els = document.querySelectorAll(selector);\r\n\r\n if (!els || els.length <= 0) {\r\n return null;\r\n }\r\n\r\n const instances = [...els].map((el) => {\r\n // If Module is a class, instantiate it\r\n if (Module.prototype && Module.prototype.constructor) {\r\n return new Module(el, params);\r\n }\r\n // If Module is a function, call it directly\r\n else {\r\n return Module(el, params);\r\n }\r\n });\r\n\r\n return instances.length === 1 ? instances[0] : instances;\r\n};\r\n\r\nconst initWithDelay = ({ selector = null, Module = null, params = {}, delay = 500 } = {}) => {\r\n if (!selector || !Module || typeof selector !== \"string\" || typeof Module !== \"function\") {\r\n return null;\r\n }\r\n\r\n const els = document.querySelectorAll(selector);\r\n\r\n if (!els || els.length <= 0) {\r\n return null;\r\n }\r\n\r\n const instances = [...els].map((el) => {\r\n setTimeout(() => {\r\n new Module(el, params);\r\n }, delay);\r\n });\r\n\r\n return instances.length === 1\r\n ? instances[0]\r\n : instances;\r\n};\r\n\r\n\r\n// =============================================================================\r\n// Is in view\r\n// =============================================================================\r\n\r\n/**\r\n * Info\r\n * -----\r\n * Check if an element passed to the function is in the viewport or not.\r\n *\r\n * Params\r\n * -----\r\n * @param {*} el DOM element that should be checked, whether its in view or not\r\n */\r\n\r\nconst isInView = ({ el = \"\" } = {}) => {\r\n const bounding = el.getBoundingClientRect();\r\n\r\n return (\r\n bounding.top <= window.innerHeight &&\r\n bounding.top + bounding.height > 0\r\n );\r\n};\r\n\r\n/* ========================================================================== */\r\n/* :: Get Bounding box */\r\n/* ========================================================================== */\r\n\r\n/**\r\n * Info\r\n * -----\r\n * Returns the bounding box and its properties from the passed element.\r\n *\r\n * Params\r\n * -----\r\n * @param {*} el DOM element that the bounding box is retrieved from.\r\n */\r\n\r\nconst getElBoundingBox = (el, keys = []) => {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n const bounds = el.getBoundingClientRect() || {};\r\n const result = {};\r\n\r\n if (keys.length === 0) {\r\n return bounds;\r\n }\r\n\r\n keys.forEach((k) => {\r\n if (bounds[k]) {\r\n result[k] = bounds[k];\r\n }\r\n });\r\n\r\n return keys.length === 1\r\n ? bounds[keys[0]]\r\n : result;\r\n};\r\n\r\n// =============================================================================\r\n// Exports\r\n// =============================================================================\r\nexport default {\r\n init,\r\n initWithDelay,\r\n isInView,\r\n getElBoundingBox,\r\n};\r\n","// =============================================================================\r\n// Definition\r\n// =============================================================================\r\nclass Toggle {\r\n // Constructor\r\n // -------------------------------------------------------------------------\r\n constructor({ el = \"\", toggleClass = \"\" } = {}) {\r\n this.el = el;\r\n this.toggleClass = toggleClass;\r\n\r\n this.isToggled = this.el.classList.contains(this.toggleClass);\r\n }\r\n\r\n // Handlers\r\n // -------------------------------------------------------------------------\r\n toggle(e = null) {\r\n if (e) {\r\n e.preventDefault();\r\n }\r\n\r\n this.isToggled = !this.isToggled;\r\n\r\n if (this.isToggled) {\r\n this.enable();\r\n } else {\r\n this.disable();\r\n }\r\n }\r\n\r\n isToggled() {\r\n return this.isToggled;\r\n }\r\n\r\n enable() {\r\n this.el.classList.add(this.toggleClass);\r\n\r\n this.isToggled = true;\r\n }\r\n\r\n disable() {\r\n this.el.classList.remove(this.toggleClass);\r\n\r\n this.isToggled = false;\r\n }\r\n}\r\n\r\nexport default Toggle;\r\n","/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target = {}, src = {}) {\n Object.keys(src).forEach((key) => {\n if (typeof target[key] === 'undefined')\n target[key] = src[key];\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nconst ssrDocument = {\n body: {},\n addEventListener() { },\n removeEventListener() { },\n activeElement: {\n blur() { },\n nodeName: '',\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() { },\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() { },\n getElementsByTagName() {\n return [];\n },\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\n\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState() { },\n pushState() { },\n go() { },\n back() { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() { },\n removeEventListener() { },\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n },\n };\n },\n Image() { },\n Date() { },\n screen: {},\n setTimeout() { },\n clearTimeout() { },\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n },\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { extend, getDocument, getWindow, ssrDocument, ssrWindow };\n","/**\n * Dom7 4.0.6\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2023, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: February 2, 2023\n */\nimport { getWindow, getDocument } from 'ssr-window';\n\n/* eslint-disable no-proto */\nfunction makeReactive(obj) {\n const proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get() {\n return proto;\n },\n\n set(value) {\n proto.__proto__ = value;\n }\n\n });\n}\n\nclass Dom7 extends Array {\n constructor(items) {\n if (typeof items === 'number') {\n super(items);\n } else {\n super(...(items || []));\n makeReactive(this);\n }\n }\n\n}\n\nfunction arrayFlat(arr = []) {\n const res = [];\n arr.forEach(el => {\n if (Array.isArray(el)) {\n res.push(...arrayFlat(el));\n } else {\n res.push(el);\n }\n });\n return res;\n}\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\nfunction arrayUnique(arr) {\n const uniqueArray = [];\n\n for (let i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, (match, group) => group.toUpperCase());\n}\n\n// eslint-disable-next-line\n\nfunction qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n const a = [];\n const res = context.querySelectorAll(selector);\n\n for (let i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n}\n\nfunction $(selector, context) {\n const window = getWindow();\n const document = getDocument();\n let arr = [];\n\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n\n if (!selector) {\n return new Dom7(arr);\n }\n\n if (typeof selector === 'string') {\n const html = selector.trim();\n\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n let toCreate = 'div';\n if (html.indexOf('
${locations[i].street}
\r\n${locations[i].postalcode} ${locations[i].city}
\r\n \r\n ${locations[i].mapslink}\r\n \r\n${locations[i].dictMail}
\r\n ${locations[i].email}${locations[i].dictPhone}
\r\n${locations[i].phone}