\"))\r\n return \"\";\r\n\r\n let dateTitle = this.calendar.getDateString();\r\n this.calendar.history.unshift(dateTitle);\r\n\r\n let container = document.createElement(\"UL\");\r\n container.className = \"cjslib-list cjslib-list-history\"\r\n\r\n let title = document.createElement(\"LI\");\r\n title.appendChild(document.createTextNode(dateTitle));\r\n title.className = \"cjslib-list-history-title cjslib-date\";\r\n title.style.backgroundColor = this.calendar.colors[1];\r\n title.style.color = this.calendar.colors[3];\r\n\r\n container.appendChild(title);\r\n\r\n container.innerHTML += content;\r\n\r\n return container.outerHTML;\r\n};\r\n\r\nOrganizer.prototype.clearHistory = function () {\r\n this.calendar.history = [];\r\n document.getElementById(this.id + \"-history\").innerHTML = \"\";\r\n}\r\n\r\nOrganizer.prototype.setupBlock = function (blockId, organizerInstance, callback) {\r\n const calendarInstance = organizerInstance.calendar;\r\n\r\n document.getElementById(calendarInstance.id + \"-day-\" + blockId).onclick = function (clickEvent) {\r\n if (document.getElementById(calendarInstance.id + \"-day-num-\" + blockId).innerHTML.length > 0) {\r\n if (document.getElementById(calendarInstance.id + \"-day-radio-\" + blockId).checked)\r\n return;\r\n\r\n var longPressed = \"\" + document.getElementById(calendarInstance.id + \"-day-num-\" + blockId).dataset.longpressed;\r\n document.getElementById(calendarInstance.id + \"-day-num-\" + blockId).dataset.longpressed = false;\r\n\r\n if (longPressed != \"true\") {\r\n const dayNumBlock = document.getElementById(calendarInstance.id + \"-day-num-\" + blockId);\r\n const dayBlock = document.getElementById(calendarInstance.id + \"-day-\" + blockId);\r\n const eventList = organizerInstance.changeDateTo(dayNumBlock.innerHTML, blockId);\r\n console.log('sasd')\r\n console.log(eventList)\r\n\r\n callback(clickEvent, eventList, dayBlock, calendarInstance);\r\n }\r\n }\r\n };\r\n};\r\n\r\nOrganizer.prototype.showEvents = function (data) {\r\n data = data || this.data;\r\n const date = this.calendar.date;\r\n\r\n return data[date.getFullYear()][date.getMonth() + 1][date.getDate()]\r\n};\r\n\r\nOrganizer.prototype.showHistory = function (data) {\r\n data = data || this.data;\r\n var date = this.calendar.date;\r\n\r\n var content = this.remember(date, document.getElementById(this.id + \"-list\").innerHTML);\r\n var history = document.getElementById(this.id + \"-history\").innerHTML;\r\n\r\n document.getElementById(this.id + \"-history\").innerHTML = content + history;\r\n};\r\n\r\nOrganizer.prototype.showPlaceholder = function (data) {\r\n var container = document.createElement(\"DIV\");\r\n container.className = \"cjslib-list-placeholder\";\r\n\r\n container.innerHTML = this.calendar.placeholder;\r\n\r\n return container.outerHTML;\r\n};\r\n\r\nOrganizer.prototype.indicateEvents = function (data) {\r\n data = data || this.data;\r\n var date = this.calendar.date;\r\n console.log(data)\r\n\r\n if (this.calendar.indicator) {\r\n var allDays = document.getElementsByClassName(this.calendar.id + \" cjslib-day cjslib-day-listed\");\r\n\r\n for (var i = 0; i < allDays.length; i++) {\r\n allDays[i].children[1].innerHTML = \"\";\r\n }\r\n\r\n try {\r\n var month = data[date.getFullYear()][date.getMonth() + 1];\r\n \r\n for (var key in month) {\r\n console.log(key)\r\n console.log(month)\r\n if (month[key]['booked'].length > 0){\r\n allDays[key - 1].children[1].innerHTML = (month[key]['booked'].length > 9) ? \"9+\" : month[key]['booked'].length;\r\n }\r\n \r\n \r\n }\r\n } catch (e) {}\r\n }\r\n\r\n this.update();\r\n};\r\n\r\nOrganizer.prototype.onMonthChange = function (callback) {\r\n callback();\r\n};\r\n\r\nOrganizer.prototype.setOnClickListener = function (theCase, backCallback, nextCallback) {\r\n var calendarId = this.calendar.id;\r\n var organizerId = this.id;\r\n\r\n backCallback = backCallback || function () {};\r\n nextCallback = nextCallback || function () {};\r\n\r\n var organizerInstance = this;\r\n\r\n switch (theCase) {\r\n case \"days-blocks\":\r\n for (var i = 1; i <= 42; i++) {\r\n organizerInstance.setupBlock(i, organizerInstance, backCallback);\r\n }\r\n break;\r\n case \"day-slider\":\r\n document.getElementById(organizerId + \"-day-back\").onclick = function () {\r\n organizerInstance.back('day');\r\n backCallback();\r\n };\r\n document.getElementById(organizerId + \"-day-next\").onclick = function () {\r\n organizerInstance.next('day');\r\n nextCallback();\r\n };\r\n break;\r\n case \"month-slider\":\r\n document.getElementById(calendarId + \"-month-back\").onclick = function () {\r\n organizerInstance.back('month');\r\n backCallback();\r\n };\r\n document.getElementById(calendarId + \"-month-next\").onclick = function () {\r\n organizerInstance.next('month');\r\n nextCallback();\r\n };\r\n break;\r\n case \"year-slider\":\r\n document.getElementById(calendarId + \"-year-back\").onclick = function () {\r\n organizerInstance.back('year');\r\n backCallback();\r\n };\r\n document.getElementById(calendarId + \"-year-next\").onclick = function () {\r\n organizerInstance.next('year');\r\n nextCallback();\r\n };\r\n break;\r\n }\r\n};\r\n\r\nOrganizer.prototype.setupLongClickBlock = function (blockId, organizerInstance, callback) {\r\n var calendarInstance = organizerInstance.calendar;\r\n\r\n var mouseDownEvent = function () {\r\n document.getElementById(calendarInstance.id + \"-day-num-\" + blockId).dataset.longpressed = \"-\";\r\n\r\n window.setTimeout(function () {\r\n if (document.getElementById(calendarInstance.id + \"-day-num-\" + blockId).innerHTML.length > 0) {\r\n if (document.getElementById(calendarInstance.id + \"-day-num-\" + blockId).dataset.longpressed == \"false\")\r\n return;\r\n else document.getElementById(calendarInstance.id + \"-day-num-\" + blockId).dataset.longpressed = true;\r\n\r\n if (document.getElementById(calendarInstance.id + \"-day-radio-\" + blockId).checked)\r\n return;\r\n\r\n organizerInstance.addDate(document.getElementById(calendarInstance.id + \"-day-num-\" + blockId).innerHTML, blockId);\r\n \r\n callback();\r\n }\r\n }, 1000);\r\n };\r\n\r\n document.getElementById(calendarInstance.id + \"-day-\" + blockId).onmousedown = mouseDownEvent;\r\n document.getElementById(calendarInstance.id + \"-day-\" + blockId).ontouchstart = mouseDownEvent;\r\n};\r\n\r\nOrganizer.prototype.setOnLongClickListener = function (theCase, backCallback, nextCallback) {\r\n var calendarId = this.calendar.id;\r\n var organizerId = this.id;\r\n\r\n backCallback = backCallback || function () {};\r\n nextCallback = nextCallback || function () {};\r\n\r\n var organizerInstance = this;\r\n\r\n switch (theCase) {\r\n case \"days-blocks\":\r\n for (var i = 1; i <= 42; i++) {\r\n organizerInstance.setupLongClickBlock(i, organizerInstance, backCallback);\r\n }\r\n break;\r\n }\r\n}\r\n\r\n\r\nexport {Calendar, Organizer};","class Notification{\n setup(){\n const containers = document.getElementsByClassName('c-notification__container');\n\n if(containers && containers.length > 0){\n containers.forEach(container => {\n const direction = container.getAttribute('direction');\n const directionClass = `c-notification__container--${ direction}`;\n container.classList.add(directionClass);\n this.setOnClickClose(container);\n });\n }\n \n }\n\n removeFirst(target){\n const notifications = target.querySelectorAll('.c-notification');\n const maxAmount = target.getAttribute('maxamount');\n if(notifications.length > maxAmount){\n notifications[0].outerHTML = '';\n } \n }\n\n setOnClickClose(targetNode){\n let count = 0;\n const observerOptions = {\n childList: true\n }\n const observer = new MutationObserver((event)=>{\n count++;\n this.removeFirst(targetNode);\n event.forEach((record)=>{\n record.addedNodes.forEach((node) =>{\n if(node.classList.contains('c-notification')){\n this.setAutoHideDuration(node);\n node.addEventListener('click', ()=>{\n node.classList.add(`c-notification--dying--${ count}`)\n node.outerHTML = '';\n })\n }\n })\n })\n \n });\n observer.observe(targetNode, observerOptions);\n }\n\n setAutoHideDuration(notification){\n const autoHideDuration = notification.getAttribute('autoHideDuration');\n setTimeout(function(){ notification.outerHTML = \"\"; }, autoHideDuration);\n }\n}\n\nexport default Notification;","export default class DynamicSidebar {\n constructor() {\n this.dynamicSidebars = document.querySelectorAll('.c-sidebar[endpoint-children]');\n\n if(this.dynamicSidebars) {\n this.endpoints = {};\n this.pageId = document.getElementsByTagName('body')[0].getAttribute('data-js-page-id');\n }\n }\n\n /**\n * Finds all sidebars and applies appropriate classes and attributes on load\n * @return {void}\n */\n applySidebar() {\n if(this.dynamicSidebars) {\n this.dynamicSidebars.forEach((sidebar) => {\n\n this.endpoints.children = sidebar.getAttribute('endpoint-children');\n this.addTriggers(sidebar.querySelectorAll('.c-sidebar__toggle')); \n\n sidebar.querySelectorAll('.c-sidebar__subcontainer').forEach((subContainer) => {\n if(subContainer.childElementCount === 0) {\n subContainer.parentElement.removeChild(subContainer);\n }\n });\n });\n }\n }\n\n getChildren(parentId) { \n return fetch(`${this.endpoints.children }?pageId=${ parentId}`)\n .then((response) => {\n return response.json();\n })\n .then((data) => {\n return data;\n });\n }\n \n appendChildren(parentID) {\n return this.getChildren(parentID).then((children) => {\n \n const subContainer = document.createElement('div');\n subContainer.setAttribute('subContainerID', parentID);\n subContainer.classList.add('c-sidebar__subcontainer');\n \n children.forEach( (child) => {\n const childItem = document.createElement('div');\n childItem.classList.add('c-sidebar__item');\n const link = document.createElement('a');\n link.href = child.href;\n link.classList.add('c-sidebar__link');\n link.text = child.label;\n link.setAttribute('item-active', 'false');\n link.id = `${child.id}`;\n \n childItem.appendChild(link);\n\n if(child.children) {\n \n const bar = document.createElement('div');\n bar.classList.add('bar');\n\n const toggle = document.createElement('div');\n toggle.classList.add('c-sidebar__toggle');\n toggle.appendChild(bar);\n toggle.appendChild(bar.cloneNode(true));\n toggle.setAttribute('aria-label', child.id);\n\n childItem.appendChild(toggle); \n }\n \n subContainer.appendChild(childItem);\n\n });\n \n subContainer.classList.add('c-sidebar__item--is-expanded');\n \n return subContainer;\n });\n }\n \n /**\n * Adds listeners to buttons\n * @param {Object} sb The sidebar\n */\n addTriggers(toggleTriggers) {\n toggleTriggers.forEach((trigger) => {\n const parentId = trigger.getAttribute('aria-label');\n const parent = trigger.parentElement;\n\n trigger.addEventListener('click', () => {\n\n const ariaPressed = (trigger.getAttribute('aria-pressed') === 'true') ? 'false' : 'true';\n trigger.setAttribute('aria-pressed', ariaPressed);\n \n if (!trigger.getAttribute('aria-loaded')) {\n trigger.setAttribute('aria-loaded', 'true');\n this.appendChildren(parentId).then((child) => {\n parent.appendChild(child);\n \n const parentSubcontainer = parent.querySelector('.c-sidebar__subcontainer');\n\n this.addTriggers(parentSubcontainer.querySelectorAll('.c-sidebar__toggle'));\n });\n }\n\n const parentSubcontainer = parent.querySelector('.c-sidebar__subcontainer');\n\n if(parentSubcontainer) {\n parentSubcontainer.classList.toggle('c-sidebar__item--is-expanded');\n }\n\n });\n \n });\n }\n}","export default class Navbar{\n constructor() {\n \n this.dynamicNavBar = document.querySelector('.c-navbar[js-is-dynamic]');\n\n if(this.dynamicNavBar){\n this.pageID = this.dynamicNavBar.getAttribute('data-page-id');\n this.pageParentID = this.dynamicNavBar.getAttribute('data-page-parent-id');\n \n this.navbarExpandedGrid = this.dynamicNavBar.querySelector('.c-navbar__expanded_grid');\n this.navBarGridItems = this.navbarExpandedGrid.querySelectorAll('a');\n this.navbarExpandedMain = this.dynamicNavBar.querySelector('.c-navbar__expanded_main');\n this.childItemsUrl = this.dynamicNavBar.getAttribute('js-child-items-url');\n \n this.cleanUpNavBarContent();\n this.populateNavBarContent();\n this.setupPrevButton();\n }\n \n }\n\n cleanUpNavBarContent() {\n this.navbarExpandedGrid.innerHTML = ' ';\n }\n\n getPageData(id) {\n\n return fetch(`${this.childItemsUrl}?pageID=${id}`)\n .then((response) => {\n return response.json();\n })\n .then((data) => {\n return data;\n });\n }\n\n populateNavBarContent() {\n this.getPageData(this.pageID).then((currentPageItems) => {\n \n currentPageItems.items.forEach((item) => {\n const anchorElement = this.constructor.createAnchorElement(item);\n\n this.navbarExpandedGrid.innerHTML += anchorElement;\n this.navbarExpandedMain.querySelector('h2').innerText = currentPageItems.title;\n });\n });\n \n }\n\n setupPrevButton() {\n this.getPageData(this.pageParentID).then((previousPage) => {\n const previousButton = this.navbarExpandedMain.querySelector('a');\n\n previousButton.href = previousPage.href;\n previousButton.querySelector('.c-button__label-text--reverse').innerText = previousPage.title;\n });\n }\n\n static createAnchorElement(item) {\n return `\n
\n \n \n ${item.label}\n
\n \n \n ${item.preview ? item.preview : 'No Preview Available'}\n
\n \n `;\n }\n}","export default class ResizeByChildren {\n constructor() {\n this.RESIZE = 'js-resize-by-children';\n // Get containers\n const resizeContainer = document.querySelectorAll(`[${this.RESIZE}]`);\n \n if(resizeContainer) {\n\n resizeContainer.forEach(item => {\n\n // Enable calculations\n item.classList.add('u-display--block'); \n // Declare\n const currentChilds = item.querySelectorAll('li > a'); \n const widthStack = []; \n \n // Get all widts as array\n currentChilds.forEach(child => {\n widthStack.push(child.getBoundingClientRect().width);\n }); \n \n\n // Get largest\n const maxSize = Math.round(Math.max.apply(null, widthStack)); \n\n if(item.getBoundingClientRect().width > maxSize) {\n item.setAttribute('style', 'width:' + maxSize + 'px !important;');\n item.dispatchEvent(new Event('resizeByChildren'));\n }\n\n // Disable calculations\n item.classList.remove('u-display--block'); \n \n // Add class as calc\n item.classList.add(item.classList[0] + '--calculated'); \n\n });\n }\n }\n}","export default class KeepInViewPort {\n constructor() {\n this.VIEWPORTRESIZE = 'js-keep-in-viewport-after-resize';\n this.VIEWPORT = 'js-keep-in-viewport';\n\n // Get containers.\n const ViewPortResizeContainer = document.querySelectorAll(`[${this.VIEWPORTRESIZE}]`);\n \n if(ViewPortResizeContainer) {\n ViewPortResizeContainer.forEach(item => {\n item.addEventListener('resizeByChildren', KeepInViewPort.resizeEvent);\n });\n }\n\n // Get containers.\n const ViewPortContainer = document.querySelectorAll(`[${this.VIEWPORT}]`);\n\n if(ViewPortContainer) {\n ViewPortContainer.forEach(item => {\n KeepInViewPort.moveInsideViewPort(item, 8);\n });\n }\n }\n\n /**\n * Keep the actual viewport function cleaned from event objects.\n * @param {object} event \n * @return void\n */\n static resizeEvent(event) {\n KeepInViewPort.moveInsideViewPort(event.target, 8);\n }\n\n /**\n * Move element inside viewport.\n * @param {object} element \n * @param {integer} margin\n * @return void\n */\n static moveInsideViewPort(element, margin) {\n // Enable calculations.\n element.classList.add('u-display--block');\n\n // Compare window width with right most position.\n const viewPortRightDistance = window.innerWidth - element.getBoundingClientRect().right;\n if (viewPortRightDistance < 0) {\n element.setAttribute('style', `${element.getAttribute('style')} left: ${viewPortRightDistance - margin}px;`);\n }\n\n // Disable calculations.\n element.classList.remove('u-display--block'); \n }\n}","/**\n * HANDLE STICKY KEYS\n * This function makes it easier to fill in forms \n * by not allowing multiple keystrokes of the same \n * character in specified amount of time.\n */\n\n class StickyKeys {\n\n constructor() {\n\n this.keyPressed = false;\n this.timeStamp = false;\n\n const inputTypes = [\n 'input[type=\"checkbox\"]',\n 'input[type=\"email\"]',\n 'input[type=\"text\"]',\n 'input[type=\"date\"]',\n 'input[type=\"search\"]',\n 'input[type=\"datetime-local\"]',\n 'input[type=\"month\"]',\n 'input[type=\"number\"]'\n ];\n\n this.subscribeInput(\n [\n ...document.querySelectorAll(\n inputTypes.join(\", \")\n )\n ]\n ); \n\n }\n\n subscribeInput(targetElements) {\n let arr = []; \n targetElements.forEach(input => {\n input.addEventListener('keydown', (event) => {\n if (\n event.code !== 'Backspace' &&\n !event.shiftKey &&\n !event.ctrlKey &&\n !event.altKey &&\n !event.metaKey\n ) {\n \n if (event.repeat) {\n this.handleInput(event, 2000);\n }\n\n if (!event.repeat && arr.pop() === event.key) {\n this.handleInput(event, 500);\n }\n\n }\n arr.push(event.key);\n });\n });\n }\n\n handleInput(event, delay) {\n if (!this.timeStamp) {\n this.timeStamp = event.timeStamp - 600;\n }\n\n if (event.timeStamp >= this.timeStamp + delay) {\n this.timeStamp = event.timeStamp;\n } else {\n event.preventDefault();\n }\n }\n}\n\nexport default StickyKeys;","import VideoControls from './helpers/video';\nclass Hero {\n constructor() {\n this.heroVideos = document.querySelectorAll('.c-hero--video');\n\n this.heroVideos.length && this.handleVideoPause();\n\n }\n\n handleVideoPause() {\n this.heroVideos.forEach(heroVideo => {\n const video = new VideoControls(heroVideo);\n });\n }\n}\n\nexport default Hero;","class Tooltip {\n constructor() {\n this.setListener();\n }\n\n setListener() {\n const tooltips = document.querySelectorAll('.c-tooltip');\n if(tooltips.length > 0) {\n tooltips.forEach(tooltip => {\n const container = tooltip.querySelector('.c-tooltip__container');\n const tooltipLabel = tooltip.querySelector('.c-tooltip__wrapper');\n \n ['mouseleave', 'focusout'].forEach(key => {\n tooltipLabel.addEventListener(key, () => {\n this.handleLeave(tooltip, container);\n })\n });\n \n ['mouseenter', 'focusin'].forEach(key => {\n tooltipLabel.addEventListener(key, () => {\n this.handleHover(tooltip, container, tooltipLabel);\n })\n });\n });\n }\n }\n\n handleLeave(tooltip, container) {\n this.handleClasses(tooltip, ['is-visible'], 'is-hidden');\n container.setAttribute('aria-hidden', 'true');\n }\n\n handleHover(tooltip, container, tooltipLabel) {\n const originalDirection = tooltip.getAttribute('original-placement');\n let tooltipWidth = parseInt(getComputedStyle(container).getPropertyValue('max-width'), 10);\n let position = tooltipLabel.getBoundingClientRect();\n\n if (!tooltip.classList.contains(originalDirection) ||\n tooltip.classList.contains('c-tooltip--overflow-left') ||\n tooltip.classList.contains('c-tooltip--overflow-right')) {\n this.resetDirection(tooltip, originalDirection);\n }\n\n\n if (position.right + (tooltipWidth / (tooltip.classList.contains('c-tooltip--bottom') || tooltip.classList.contains('c-tooltip--top') ? 2 : 1)) > document.documentElement.clientWidth) {\n this.overflowRight(tooltip);\n }\n\n if (position.left - (tooltipWidth / (tooltip.classList.contains('c-tooltip--bottom') || tooltip.classList.contains('c-tooltip--top') ? 2 : 1)) < 0) {\n this.overflowLeft(tooltip);\n }\n\n this.handleClasses(tooltip, ['is-hidden'], 'is-visible');\n container.setAttribute('aria-hidden', 'false');\n }\n\n overflowRight(tooltip) {\n if (tooltip.classList.contains('c-tooltip--right')) {\n this.handleClasses(tooltip, ['c-tooltip--right'], 'c-tooltip--left');\n } else {\n this.handleClasses(tooltip, ['c-tooltip--overflow-left'], 'c-tooltip--overflow-right');\n }\n }\n\n overflowLeft(tooltip) {\n if (tooltip.classList.contains('c-tooltip--left')) {\n this.handleClasses(tooltip, ['c-tooltip--left'], 'c-tooltip--right');\n } else {\n this.handleClasses(tooltip, ['c-tooltip--overflow-right'], 'c-tooltip--overflow-left');\n }\n }\n\n resetDirection(tooltip, originalDirection) {\n this.handleClasses(tooltip, ['c-tooltip--left', 'c-tooltip--right', 'c-tooltip--overflow-left', 'c-tooltip--overflow-right'], originalDirection);\n }\n\n handleClasses(element, removeClasses, addClass = false) {\n removeClasses.forEach(className => {\n element.classList.remove(className);\n });\n\n addClass && element.classList.add(addClass);\n\n }\n}\nexport default Tooltip;","const scrollContainer = document.querySelector('#scroll-spy');\nlet sectionElementPositions = [];\nlet headerHeight = 0;\n\nconst handleAnchorMenu = () => {\n const scrollItems = scrollContainer ? scrollContainer.querySelectorAll('.c-anchormenu__item') : [];\n if(!scrollContainer || scrollItems.length <= 0) {\n return;\n }\n\n const menuElements = [...scrollItems].filter((item) => \n document.querySelector(item.getAttribute('href')) ? item : item.remove());\n\n const sectionElements = [...scrollItems].map((item) => \n document.querySelector(item.getAttribute('href'))).filter(element => element); \n\n sectionElements.length > 0 && setListeners(menuElements, sectionElements);\n}\n\nconst setListeners = (menuElements, sectionElements) => {\n if (sectionElements.length > 0) {\n window.addEventListener('resize', debounce(elementPositions, 300, sectionElements));\n\n let currentScroll = 0;\n window.addEventListener('scroll', () => {\n let scrollTop = window.scrollY;\n if(Math.abs(currentScroll - scrollTop > 10 || currentScroll - scrollTop < -10)) {\n handleScroll(menuElements);\n currentScroll = scrollTop;\n }\n });\n\n }\n}\n\nconst debounce = (func, delay, sectionElements) => {\n let timer;\n\n func(sectionElements);\n\n return () => {\n timer ? clearTimeout(timer) : (() => {})();\n timer = setTimeout(() => {\n func(sectionElements);\n }, delay);\n }\n}\n\nconst elementPositions = (sectionElements) => {\n const header = document.querySelector('#site-header');\n if (header && header.classList.contains('c-header--sticky')) {\n headerHeight = header.offsetHeight;\n scrollContainer.style.top = header.offsetHeight + 'px';\n }\n const arr = sectionElements.map(function (sectionElement) {\n return ({\"position\": window.scrollY + sectionElement.getBoundingClientRect().top, \"height\": sectionElement.getBoundingClientRect().height});\n });\n sectionElementPositions = arr;\n}\n\nconst handleScroll = (menuElements) => {\n let i = 0;\n sectionElementPositions.forEach(item => {\n if(window.scrollY > (item.position - (headerHeight + 120)) && ((item.position + item.height) - (headerHeight + 120)) > window.scrollY) {\n menuElements[i].classList.add('is-active');\n } else {\n menuElements[i].classList.remove('is-active');\n } \n i++;\n });\n}\nexport default () => { handleAnchorMenu() };","class TestimonialCarousel {\n constructor (carousel) {\n this.CAROUSEL = carousel;\n this.ITEMS = carousel.querySelectorAll('.c-testimonial');\n this.IS_LARGE_SCREEN = this.isLargeScreen();\n\n this.init(this.ITEMS);\n this.windowResize();\n this.addButtonListeners();\n }\n\n // eslint-disable-next-line class-methods-use-this\n init() {\n // If desktop show two first card, else just one\n const keys = Array.from(this.ITEMS.keys());\n const show = this.IS_LARGE_SCREEN ? keys.slice(0,2) : keys.slice(0,1);\n const hide = this.IS_LARGE_SCREEN ? keys.slice(2) : keys.slice(1);\n const buttons = this.CAROUSEL.parentElement.querySelectorAll('.c-testimonials__button');\n\n if (hide.length === 0) {\n buttons.forEach((button) => {\n button.classList.add('u-display--none');\n });\n } else {\n buttons.forEach((button) => {\n button.classList.remove('u-display--none');\n });\n }\n\n this.CAROUSEL.setAttribute('js-testimonials-iteration', 0);\n\n this.toggleVisible(show);\n this.toggleHidden(hide);\n }\n\n addButtonListeners() {\n const backButton = this.CAROUSEL.parentElement.querySelector('[js-testimonials__back]');\n const forwardButton = this.CAROUSEL.parentElement.querySelector('[js-testimonials__forward]');\n\n backButton.addEventListener('click', () => {\n const current = parseInt(this.CAROUSEL.getAttribute('js-testimonials-iteration'), 10);\n const amount = Math.ceil(this.IS_LARGE_SCREEN ? this.ITEMS.length /2 : this.ITEMS.length); // Desktop has half the slides\n const next = current === 0 ? amount -1 : current -1;\n\n this.CAROUSEL.setAttribute('js-testimonials-iteration', next);\n this.updateCarousel(current)\n })\n\n forwardButton.addEventListener('click', () => {\n const current = parseInt(this.CAROUSEL.getAttribute('js-testimonials-iteration'), 10);\n const amount = Math.ceil(this.IS_LARGE_SCREEN ? this.ITEMS.length /2 : this.ITEMS.length); // Desktop has half amount of slides as it shows two slides at a time\n const next = current === amount -1 ? 0 : current +1;\n\n this.CAROUSEL.setAttribute('js-testimonials-iteration', next);\n this.updateCarousel(current)\n })\n }\n\n updateCarousel(currentIndex) {\n const nextInt = parseInt(this.CAROUSEL.getAttribute('js-testimonials-iteration'), 10);\n\n if(!this.IS_LARGE_SCREEN) {\n this.toggleVisible([nextInt]);\n this.toggleHidden([currentIndex]);\n } else {\n const sibling = nextInt * 2;\n const currentSibling = currentIndex * 2;\n\n this.toggleVisible([nextInt *2, sibling +1]);\n this.toggleHidden([currentIndex *2, currentSibling +1]);\n }\n }\n\n toggleVisible(list) {\n list.forEach((i) => {\n if(this.ITEMS[i] !== undefined) {\n this.ITEMS[i].classList.add('c-testimonial--is-visible');\n this.ITEMS[i].classList.remove('c-testimonial--is-hidden');\n }\n })\n }\n\n toggleHidden(list) {\n list.forEach((i) => {\n if(this.ITEMS[i] !== undefined) {\n this.ITEMS[i].classList.add('c-testimonial--is-hidden');\n this.ITEMS[i].classList.remove('c-testimonial--is-visible');\n }\n })\n }\n\n windowResize() {\n window.addEventListener('resize', (e) => {\n if(this.isLargeScreen() !== this.IS_LARGE_SCREEN) {\n this.IS_LARGE_SCREEN = this.isLargeScreen();\n this.init(this.ITEMS)\n }\n });\n }\n\n // eslint-disable-next-line class-methods-use-this\n isLargeScreen() {\n const body = document.querySelector('body');\n const width = window.innerWidth / parseFloat(getComputedStyle(body)['font-size']);\n \n return width >= 78; // 78em is the breakpoint for large screen\n }\n}\n\nexport function initializeTestimonials() {\n const testimonialCarousels = document.querySelectorAll('[js-testimonials--is-carousel]');\n [...testimonialCarousels].forEach((testimonial) => {\n new TestimonialCarousel(testimonial);\n });\n}\n\nexport default TestimonialCarousel;\n","import { bgMagentaBright } from \"chalk\";\n\nclass Segment {\n constructor(segment) {\n this.SEGMENT = segment;\n\n this.videoInteractions();\n }\n\n videoInteractions() {\n const btn = this.SEGMENT.querySelector('[js-segment__video--plaus]');\n if(btn) {\n btn.addEventListener('click', () => {\n if (this.getVideoState() === 'playing' || !this.getVideoState()) {\n this.pauseVideo();\n } else {\n this.playVideo();\n }\n })\n }\n }\n\n getVideoState() {\n return this.SEGMENT.getAttribute('js-segment__video--plaus');\n }\n\n pauseVideo() {\n this.SEGMENT.setAttribute('js-segment__video--plaus', 'paused');\n this.SEGMENT.querySelector('video').pause();\n }\n\n playVideo() {\n this.SEGMENT.setAttribute('js-segment__video--plaus', 'playing');\n this.SEGMENT.querySelector('video').play();\n }\n}\n\nexport function initializeSegments() {\n const segments = document.querySelectorAll('.c-segment');\n\n [...segments].forEach((segment) => {\n new Segment(segment);\n });\n}\n\nexport default Segment;","class Table{\n constructor(table){\n this.table = table\n this.list = table.querySelectorAll('[js-table-filter-item]');\n this.isPagination = table.hasAttribute('js-table-pagination')\n this.isFilterable = table.hasAttribute('js-table-filter')\n this.isSortable = table.hasAttribute('js-table-sort')\n this.isMultidimensional = table.classList.contains('c-table--multidimensional'); \n this.link = null\n this.rowHref = 'js-row-href';\n this.hasSumRow = this.table.hasAttribute('table-sum');\n this.tableInner = table.querySelector('.c-table__inner');\n this.tableTable = table.querySelector('.c-table__table');\n\n\n\n this.tableRefresh();\n\n if (this.isPagination) this.paginationButtons()\n\n if (this.isFilterable) this.filterInput();\n\n if (this.isSortable) this.sortAddButtons();\n\n if (this.isMultidimensional) this.addCollapsibleEvent();\n\n this.updateOnScrollFunc = this.updateOnScroll.bind(this);\n \n const resizeObserver = new ResizeObserver(entries => {\n \n const tableInner = table.querySelector('.c-table__inner');\n const tableInnerWidth = tableInner.offsetWidth;\n const tableLineWidth = tableInner.querySelector('.c-table__line').offsetWidth;\n const tableScrollIndicator = table.querySelector('.c-table__scroll-indicator');\n const tableScrollIndicatorWrapper = table.querySelector('.c-table__scroll-indicator-wrapper');\n const tableScrollIndicatorWidth = `${(tableInnerWidth / tableLineWidth) * 100}%`;\n\n if(tableScrollIndicatorWidth !== '100%') {\n tableScrollIndicator.classList.remove('u-display--none');\n tableScrollIndicatorWrapper.classList.remove('u-display--none');\n } else {\n tableScrollIndicator.classList.add('u-display--none');\n tableScrollIndicatorWrapper.classList.add('u-display--none');\n }\n tableScrollIndicator.style.width = tableScrollIndicatorWidth;\n\n this.tableInner.addEventListener('scroll', this.updateOnScrollFunc, false)\n });\n\n resizeObserver.observe(table);\n\n this.indicatorContainer = this.table.querySelector('.c-table__scroll-indicator-wrapper');\n this.indicatorInput = this.table.querySelector('.c-table__scroll-indicator');\n this.indicatorInputLeft = this.indicatorInput.offsetLeft;\n this.initialCursorPosition = 0;\n this.indicatorInput.style.marginLeft = \"0px\";\n\n this.slider()\n\n this.handleMouseMoveFunc = this.handleMouseMove.bind(this);\n }\n\n addCollapsibleEvent() {\n const collapseButton = this.table.querySelector('.c-table__collapse-button');\n collapseButton.addEventListener('click', () => {\n this.table.classList.toggle('is-collapsed');\n });\n }\n\n tableRefresh() {\n // eslint-disable-next-line prefer-destructuring\n let list = Array.from(this.list);\n \n if (this.isFilterable) {\n list = this.filterList(list, this.filterValue());\n }\n\n if (this.isSortable) {\n list = this.sortList(list)\n }\n\n if (this.isPagination) {\n list = this.paginateList(list)\n }\n\n this.renderTable(list);\n \n if (this.isPagination) {\n this.paginatePages();\n this.paginationLinks();\n this.paginateLinkListeners();\n }\n }\n\n renderTable(list = null) {\n const body = this.table.querySelector('tbody');\n body.innerHTML = \"\";\n\n list.forEach(element => {\n if(element.index) {\n body.appendChild(element.index)\n } else {\n body.appendChild(element)\n }\n });\n }\n\n paginatePages() {\n const items = this.isFilterable ? \n this.filterList(this.list, this.filterValue()).length :\n this.list.length;\n\n return Math.ceil(items / this.paginationRows());\n }\n\n paginationLinks() {\n if(!this.link) {\n this.link = this.table.querySelector('[js-table-pagination--link]');\n }\n \n const body = this.table.querySelector('[js-table-pagination--links]');\n body.closest('[js-table-pagination]').classList.remove('u-display--none')\n body.innerHTML = \"\";\n\n if(this.paginatePages() > 1) {\n // eslint-disable-next-line no-plusplus\n for (let index = 0; index < this.paginatePages(); index++) {\n const elm = this.link.cloneNode(true);\n elm.innerHTML = index +1;\n elm.classList.remove('c-button__outlined--primary');\n elm.setAttribute('js-table-pagination--link', index +1);\n\n if((index +1) === this.paginationCurrent() ){\n elm.classList.add('c-button__outlined--primary');\n }\n\n body.appendChild(elm);\n }\n } else {\n body.closest('[js-table-pagination]').classList.add('u-display--none')\n }\n }\n\n paginateLinkListeners() {\n const btns = this.table.querySelectorAll('[js-table-pagination--link]')\n\n btns.forEach(btn => {\n btn.addEventListener('click', () => {\n this.paginateSetCurrent(btn.getAttribute('js-table-pagination--link'));\n this.tableRefresh();\n })\n });\n }\n\n // eslint-disable-next-line class-methods-use-this\n paginateList(list) {\n const first = (this.paginationCurrent() - 1) * this.paginationRows();\n const last = this.paginationCurrent() * this.paginationRows();\n\n return Array.from(list).slice(first, last);\n }\n\n // Add event listener filter\n filterInput() {\n const input = this.table.querySelector('[js-table-filter-input]');\n \n input.addEventListener('input', (e) => {\n if (this.isPagination) this.paginateSetCurrent();\n this.tableRefresh();\n })\n }\n\n // eslint-disable-next-line class-methods-use-this\n filterList(list, query) {\n const newList = [];\n const lastIndex = list.length - 1;\n const lastRow = list[lastIndex];\n\n list.forEach(element => {\n let data = \"\";\n\n element.querySelectorAll('[js-table-filter-data]').forEach(item => {\n data += item.innerHTML.toLowerCase();\n })\n\n if (data.includes(query.toLowerCase())) {\n newList.push(element);\n }\n });\n\n if(this.hasSumRow) { \n newList[lastIndex] = lastRow;\n }\n\n return newList;\n }\n\n // eslint-disable-next-line class-methods-use-this\n compare(a, b) {\n return a.data.toLowerCase().localeCompare(b.data.toLowerCase(), 'en', {numeric: true});\n }\n\n sortList(list) {\n const sortOrder = this.table.getAttribute('js-table-sort--order');\n let sumRow = '';\n\n if (!sortOrder) {\n return list;\n }\n \n if(this.hasSumRow) {\n sumRow = list.pop();\n }\n\n const sortData = []\n const sortDictator = this.table.getAttribute('js-table-sort--dictator');\n\n list.forEach(element => {\n sortData.push(element.querySelector(`[js-table-sort-data=\"${sortDictator}\"]`))\n });\n\n const comparableData = [...sortData].map((data) => {\n return { data: data.innerText.trim(), index: data.closest(`[js-table-sort--sortable]`) }\n });\n\n comparableData.sort(this.compare);\n \n if (sortOrder === 'desc') {\n\n if(this.hasSumRow) {\n comparableData.unshift({index: sumRow});\n }\n\n return comparableData.reverse(this.compare);\n }\n\n if(this.hasSumRow) {\n comparableData.push({index: sumRow});\n }\n\n return comparableData;\n }\n\n paginationButtons() {\n const buttons = this.table.querySelectorAll('[js-table-pagination-btn]');\n this.paginateSetCurrent();\n\n buttons.forEach(btn => {\n btn.addEventListener('click', () => {\n const type = btn.getAttribute('js-table-pagination-btn');\n\n this.paginateSetCurrent(type === 'next' ?\n this.paginationCurrent() +1 :\n this.paginationCurrent() -1\n );\n \n this.tableRefresh();\n })\n });\n }\n\n paginateSetCurrent(current = 1) {\n this.table.setAttribute('js-table-pagination--current', current);\n\n current = parseInt(current, 10);\n \n if (current === this.paginatePages()) {\n this.table.querySelector('[js-table-pagination-btn=\"next\"]').setAttribute('disabled', true);\n this.table.querySelector('[js-table-pagination-btn=\"prev\"]').removeAttribute('disabled');\n } else if (current === 1) {\n this.table.querySelector('[js-table-pagination-btn=\"prev\"]').setAttribute('disabled', true);\n this.table.querySelector('[js-table-pagination-btn=\"next\"]').removeAttribute('disabled');\n } else {\n this.table.querySelector('[js-table-pagination-btn=\"next\"]').removeAttribute('disabled');\n this.table.querySelector('[js-table-pagination-btn=\"prev\"]').removeAttribute('disabled');\n }\n }\n\n sortAddButtons() {\n const sortButtons = this.table.querySelectorAll(`[js-table-sort--btn]`);\n \n for (let i = 0; i < sortButtons.length; i++ ) {\n\n if (!sortButtons[i].hasAttribute('js-table-sort--order')){\n sortButtons[i].setAttribute('js-table-sort--order', 'asc')\n }\n \n if(this.isSortable && this.isMultidimensional && i === 0) {\n sortButtons[i].removeAttribute('js-table-sort--order');\n continue;\n }\n\n sortButtons[i].addEventListener('click', (e) => {\n if (this.isPagination) this.paginateSetCurrent();\n\n const sortOrder = this.table.getAttribute('js-table-sort--order');\n const newOrder = sortOrder === 'asc' ? 'desc' : 'asc';\n this.table.setAttribute('js-table-sort--order', newOrder);\n\n const buttonId = e.target.closest('[js-table-sort--btn]')\n const dataId = buttonId.getAttribute('js-table-sort--btn');\n this.table.setAttribute('js-table-sort--dictator', dataId)\n this.tableRefresh();\n });\n };\n }\n\n filterValue() {\n return this.table.querySelector('[js-table-filter-input]').value;\n }\n\n paginationCurrent() {\n return parseInt(this.table.getAttribute('js-table-pagination--current'), 10)\n }\n\n paginationRows() {\n return this.table.getAttribute('js-table-pagination')\n }\n\n slider() {\n this.indicatorInput.addEventListener(\"mousedown\", (e) => {\n e.preventDefault();\n this.initialCursorPosition = e.clientX;\n this.tableInner.removeEventListener('scroll', this.updateOnScrollFunc, false)\n\n\n window.addEventListener('mousemove', this.handleMouseMoveFunc, false);\n\n window.addEventListener(\"mouseup\", (ev) => {\n ev.preventDefault();\n this.tableInner.addEventListener('scroll', this.updateOnScrollFunc, false)\n window.removeEventListener('mousemove', this.handleMouseMoveFunc, false);\n })\n })\n }\n\n updateOnScroll() {\n const scrolledPixels = this.tableInner.scrollLeft;\n const tableLineWidth = this.tableInner.querySelector('.c-table__line').offsetWidth;\n\n this.indicatorInput.style.marginLeft = `${(scrolledPixels / tableLineWidth) * 100}%`;\n }\n\n handleMouseMove(event) {\n event.preventDefault();\n const scrollMax = this.indicatorContainer.offsetWidth - this.indicatorInput.offsetWidth;\n const inner = this.table.querySelector('.c-table__inner');\n const mouseMovedAmount = (event.clientX - this.initialCursorPosition);\n const scrolledAmount = this.indicatorInput.getBoundingClientRect().left - this.indicatorContainer.getBoundingClientRect().left;\n\n if(scrolledAmount <= 0 && !((scrolledAmount + mouseMovedAmount) > 0)) {\n this.indicatorInput.style.marginLeft = \"0px\"; // Move scroll indicator\n this.initialCursorPosition = event.clientX; // Reset cursor position\n inner.scrollLeft = 0; // Set scroll\n }\n else if(scrolledAmount >= scrollMax && !((scrolledAmount + mouseMovedAmount) <= scrollMax)) {\n this.indicatorInput.style.marginLeft = `${scrollMax}px`;\n }\n else {\n const amountOfOverflow = this.tableTable.offsetWidth - inner.offsetWidth; // The amount of overflow the table has\n const indicatorPosition = parseInt(this.indicatorInput.style.marginLeft, 10)\n\n this.indicatorInput.style.marginLeft = `${indicatorPosition + mouseMovedAmount}px`; // Move scroll indicator\n this.initialCursorPosition = event.clientX; // Reset cursor position\n inner.scrollLeft = amountOfOverflow * (scrolledAmount / scrollMax); // Set scroll\n }\n }\n}\n\nexport function initializeTable() {\n const tables = document.querySelectorAll('.c-table');\n \n [...tables].forEach(table => {\n new Table(table);\n });\n}\n\nexport default Table;","let acceptedSuppliers = JSON.parse(localStorage.getItem('acceptedSuppliers')) ?? [];\n\n/* Undefined check */\nconst hasSuppressedContent = (modifier) => {\n let suppressedContentExists = document.querySelectorAll('.js-suppressed-content' + (modifier ? modifier : '')).length > 0;\n return suppressedContentExists;\n}\n\n/* Returns url */\nconst url = (contentWrapper) => { \n if(contentWrapper.hasAttribute('data-src')) {\n let json = JSON.parse(contentWrapper.getAttribute('data-src'));\n let url = [];\n json.forEach(host => {\n url.push(new URL(host));\n });\n\n return url;\n } \n /* modifiers */\n}\n\nconst handleReveal = (contentWrapper) => {\n let needsAcceptance = [];\n const contentUrl = url(contentWrapper);\n contentUrl.forEach(supplier => {\n if(acceptedSuppliers.includes(supplier.host)) {\n needsAcceptance.push(true);\n } else {\n needsAcceptance.push(false);\n }\n });\n\n if(!needsAcceptance.includes(false)) {\n revealContent(contentWrapper);\n }\n}\n\n/* Sets local storage */\nconst setLocalStorage = (contentWrapper) => {\n const contentUrl = url(contentWrapper);\n if (contentUrl) {\n contentUrl.forEach(supplier => {\n if (!acceptedSuppliers.includes(supplier.host) && supplier.host !== \"https\" && contentUrl.host !== \"http\") {\n acceptedSuppliers.push(supplier.host);\n }\n localStorage.setItem('acceptedSuppliers', JSON.stringify(acceptedSuppliers));\n })\n }\n}\n\n/* Reveal function */\nconst revealContent = (contentWrapper) => {\n const template = contentWrapper.querySelector('template');\n const suppressedContentWrapper = contentWrapper.querySelector('.c-acceptance__content');\n const clone = template.content.cloneNode(true);\n suppressedContentWrapper.appendChild(clone);\n contentWrapper.classList.remove('u-level-1');\n contentWrapper.classList.remove('js-suppressed-content');\n contentWrapper.querySelector('.js-suppressed-content-prompt').classList.add('u-display--none');\n}\n\n/* Loops through an reveal every URL-host matching local storage */\nconst revealContentLoop = () => {\n hasSuppressedContent() && [...document.querySelectorAll('.js-suppressed-content')]\n .forEach(contentWrapper => {\n if (contentWrapper.classList.contains('js-suppressed-content--none')) {\n handleReveal(contentWrapper);\n }\n }); \n}\n\nconst handleEvents = (contentWrapper) => {\n /* Sets local storage */\n setLocalStorage(contentWrapper);\n\n /* Modifiers (else equals \"no modifier\") */\n if (contentWrapper.classList.contains('js-suppressed-content--video')) {\n revealContent(contentWrapper);\n } else {\n revealContentLoop();\n }\n}\n\n/* Adds click events for all suppressed content */\nconst setEvents = () => {\n hasSuppressedContent() && [...document.querySelectorAll('.js-suppressed-content')].forEach(contentWrapper => {\n contentWrapper.querySelector('.js-suppressed-content-description').style.display = \"block\";\n const buttonEl = contentWrapper.querySelector('[js-suppressed-content-accept]');\n buttonEl.addEventListener('click', () => {\n handleEvents(contentWrapper);\n }); \n });\n}\n\n// Initialize already accepted\nexport function initializeIframeAcceptance() {\n if (acceptedSuppliers.length > 0 && hasSuppressedContent() ) {\n [...document.querySelectorAll('.js-suppressed-content')].forEach(contentWrapper => {\n if(contentWrapper.classList.contains('js-suppressed-content--none')) {\n handleReveal(contentWrapper);\n }\n })\n }\n \n hasSuppressedContent() && setEvents();\n};\n\n","import './dropdown';\nimport expandSection from './expand-section';\nimport setScrollbarCSS from './stretch';\nimport Filter from './filter';\nimport Sort from './sort';\nimport ToggleClasses from './toggle';\nimport Menu from './menu';\nimport Steppers from './steppers';\nimport SplitButton from './splitButton';\nimport {initializeForms} from './fields';\nimport {initializeSlider} from './slider';\nimport EventCalendar from './calendar';\nimport Tiles from './tile';\nimport Notification from './notification';\nimport NotificationDoc from './notificationDoc';\nimport Sidebar from './sidebar';\nimport DynamicSidebar from './dynamicSidebar';\nimport Navbar from './navbar';\nimport {initializePagination} from './pagination';\nimport ResizeByChildren from './resizeByChildren';\nimport KeepInViewPort from './keepInViewPort';\nimport ButtonToggleContent from './ButtonToggleContent';\nimport StickyKeys from './stickyKeys';\nimport Hero from './hero';\nimport Tooltip from './tooltip';\nimport {initializeMenus} from './nav';\nimport AnchorMenu from './anchorMenu';\nimport QuickLinksHeader from './quickLinksHeader';\nimport './helpers/swipe';\nimport {moveElements} from './helpers/moveElements';\nimport {moveElement} from './helpers/moveElement';\nimport {initializeClickAways} from './ClickAway';\nimport {AriaPressedToggler} from './AriaPressedToggler';\nimport {SimulateClick} from './SimulateClick';\nimport {SelectComponentObserver} from './select/SelectComponentObserver'; \nimport {initializeOpenStreetMaps} from './openStreetMap';\nimport {setupCopy} from './copy';\nimport {initializeCompressed} from './compressed';\nimport {DeviceDetect} from './deviceDetect';\nimport {initializeGoogleTranslate} from './googleTranslate';\nimport {initializeResizeMediaQuery} from './resizeMediaQuery';\nimport {initializeDrawerAccessibility} from './drawerAccessibility';\nimport {initializeTestimonials} from './testimonials';\nimport {initializeSegments} from './segment';\nimport {initializeTable} from './table';\nimport {initializeModal} from './modal';\nimport {initializeIframeAcceptance} from './iframeAcceptance';\n\n// Instances\nconst DeviceDetectInstance = new DeviceDetect(); \nconst SortInstance = new Sort();\nconst SplitButtonInstance = new SplitButton();\nconst EventCalendarInstance = new EventCalendar();\nconst TilesInstance = new Tiles();\nconst NotificationDocInstance = new NotificationDoc();\nconst SidebarInstance = new Sidebar();\nconst SteppersInstance = new Steppers();\n\ndocument.addEventListener('DOMContentLoaded', () => {\n // Instances\n const ButtonToggleContentInstance = new ButtonToggleContent();\n const SimulateClickInstance = new SimulateClick();\n const StickyKeysInstance = new StickyKeys();\n const HeroInstance = new Hero();\n const TooltipInstance = new Tooltip();\n const KeepInViewPortInstance = new KeepInViewPort();\n const ResizeByChildrenInstance = new ResizeByChildren();\n const AriaPressedTogglerInstance = new AriaPressedToggler();\n const QuickLinksHeaderInstance = new QuickLinksHeader();\n const NavbarInstance = new Navbar();\n const selectComponentObserverInstance = new SelectComponentObserver();\n const ToggleClassesInstance = new ToggleClasses();\n const NotificationInstance = new Notification();\n const DynamicSidebarInstance = new DynamicSidebar();\n const filter = new Filter();\n const MenuInstance = new Menu();\n\n selectComponentObserverInstance.observe();\n ToggleClassesInstance.applyToggle();\n NotificationInstance.setup();\n SortInstance.applySort();\n SplitButtonInstance.syncSplitButton();\n EventCalendarInstance.initiateCalendar();\n TilesInstance.initTiles();\n NotificationDocInstance.addListener();\n SidebarInstance.applySidebar();\n DynamicSidebarInstance.applySidebar();\n SteppersInstance.enableStepper();\n\n // Functions\n initializeResizeMediaQuery();\n initializeOpenStreetMaps();\n initializeDrawerAccessibility();\n initializeForms();\n initializePagination();\n initializeMenus();\n initializeSlider();\n initializeCompressed();\n initializeGoogleTranslate();\n initializeTestimonials();\n initializeSegments();\n initializeTable();\n initializeModal();\n initializeIframeAcceptance();\n expandSection();\n setupCopy();\n setScrollbarCSS();\n AnchorMenu();\n\n // Utility functions\n moveElements(moveElement);\n initializeClickAways();\n});","\nclass Sort {\n\n constructor() {\n this.CONTAINER = 'js-sort-container';\n this.BUTTON = 'js-sort-button';\n this.SORTABLE = 'js-sort-sortable';\n this.ORDER = 'js-sort-order';\n this.DATA = 'js-sort-data';\n this.DATACONTAINER = 'js-sort-data-container';\n this.INITIAL = 'js-sort-initial';\n }\n\n compare(a, b) {\n return a.data.toLowerCase().localeCompare(b.data.toLowerCase());\n }\n\n appendSortable(container, dataId, initialSort = false) {\n let sorted = [];\n let sortOrder = container.getAttribute(this.ORDER);\n let sortData = container.querySelectorAll(`[${this.DATA}=\"${dataId}\"]`);\n let comparableData = [...sortData].map((data) => {\n return { data: data.innerText, index: data.closest(`[${this.SORTABLE}]`) }\n });\n \n if (sortOrder === 'asc' || (initialSort && initialSort === 'asc')) {\n sorted = comparableData.sort(this.compare);\n container.setAttribute(this.ORDER, \"desc\");\n } else if(initialSort && initialSort === 'desc') {\n comparableData.sort(this.compare);\n sorted = comparableData.reverse(this.compare);\n container.setAttribute(this.ORDER, 'asc');\n } else {\n sorted = comparableData.reverse(this.compare);\n container.setAttribute(this.ORDER, \"asc\");\n }\n\n sorted.forEach(sort => {\n sort.index.closest(`[${this.DATACONTAINER}]`).appendChild(sort.index);\n });\n }\n\n applySort() {\n const sortContainers = document.querySelectorAll(`[${this.CONTAINER}]`);\n\n sortContainers.forEach(container => {\n const sortButtons = container.querySelectorAll(`[${this.BUTTON}]`);\n sortButtons.forEach((button) => {\n\n let dataId = button.getAttribute(this.BUTTON);\n let initialSort = container.getAttribute(this.INITIAL)\n\n if(initialSort){\n container.setAttribute(this.ORDER, initialSort)\n this.appendSortable(container, dataId, initialSort);\n }\n button.addEventListener('click', (event) => {\n this.appendSortable(container, dataId);\n });\n });\n });\n }\n\n}\n\nexport default Sort;","import {Calendar, Organizer} from './calendar-javascript-lib';\n\nclass EventCalendar{\n\n constructor(){\n this.timeslots = [];\n }\n\n initiateCalendar(){\n\n const calendar = document.querySelector('.c-calendar');\n if(calendar){\n const eventsUrl = calendar.getAttribute('eventsUrl');\n const bookingUrl = calendar.getAttribute('bookingUrl');\n const size = calendar.getAttribute('size');\n const weekStart = calendar.getAttribute('weekStart'); \n\n this.getEvents(eventsUrl).then(data => this.setup(data, weekStart, size, calendar, bookingUrl));\n }\n \n }\n\n getEvents(eventsUrl){ \n return fetch(eventsUrl)\n .then(response => response.json())\n .then(data => {\n return data;\n });\n }\n\n postEvents(bookingUrl){\n fetch(bookingUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(this.timeslots)\n })\n }\n\n setButtonListener(calendarElement, bookingUrl){\n const button = calendarElement.getElementsByClassName('postEventButton');\n button[0].addEventListener('click',() =>{\n this.postEvents(bookingUrl)\n })\n }\n\n // TODO: modify lib to return timestamps directly instead of strings...\n setTimeslotListener(checkbox, date, timeslot){\n checkbox.addEventListener('change', (event) => {\n const timeslotParts = timeslot.split(' - ')\n const from = timeslotParts[0].split(':')[0];\n const to = timeslotParts[1].split(':')[0];\n const temp = {\n from: date.setHours(parseInt(from), 0, 0, 0),\n to: date.setHours(parseInt(to), 0, 0, 0)\n }\n \n if(checkbox.checked){\n this.timeslots.push(temp)\n }else if(!checkbox.checked) {\n //remove timestamp if checked and then unchecked\n for(let i = 0; i < this.timeslots.length; i++){\n if(JSON.stringify(this.timeslots[i]) === JSON.stringify(temp)){\n this.timeslots.splice(i, 1)\n }\n }\n }\n });\n }\n\n //TODO: Research the possibility to make the elment a bit less complex.\n createListElement(events, date, availableEvents){\n let listItem = document.createElement(\"LI\");\n \n for(let i = 0; i < events.length; i++){\n const timeslot = events[i].startTime + ' - ' + events[i].endTime;\n listItem.id = this.id + \"-list-item-\" + i;\n \n let division = document.createElement(\"DIV\");\n \n let checkbox = document.createElement('INPUT');\n checkbox.setAttribute('type', 'checkbox');\n this.setTimeslotListener(checkbox, date, timeslot);\n\n let span = document.createElement(\"SPAN\");\n span.id = this.id + \"-list-item-\" + i + \"-time\";\n span.class = this.id + \" time\";\n span.appendChild(document.createTextNode(events[i].startTime + ' - ' + events[i].endTime));\n\n division.appendChild(span);\n \n let paragraph = document.createElement(\"P\");\n paragraph.id = this.id + \"-list-item-\" + i + \"-text\";\n paragraph.appendChild(document.createTextNode(events[i].text));\n \n if(availableEvents) paragraph.appendChild(checkbox);\n\n listItem.appendChild(division);\n listItem.appendChild(paragraph);\n }\n \n return listItem\n\n }\n\n setup (data, weekStart, size, calendarElement, postUrl){\n let calendar = new Calendar(\"calendarContainer\",\n\t\t\t\tsize,\n\t\t\t\t[\n\t\t\t\t\tweekStart,\n\t\t\t\t\t3\n ], \n [],\n\t\t\t\t{\n\t\t\t\t\tindicator: true,\n\t\t\t\t\tindicator_type: 1,\n\t\t\t\t\tindicator_pos: \"bottom\"\n\t\t\t\t}\n\t\t\t);\n\t\t\t\n\t\t\tlet organizer = new Organizer(\"organizerContainer\",\n\t\t\t\tcalendar,\n\t\t\t\tdata\n );\n \n this.setButtonListener(calendarElement, postUrl);\n organizer.setOnClickListener('days-blocks',\n (clickEvent, eventsList, element, calendarInstance) => {\n const modalId = clickEvent.target.getAttribute('data-open'); \n\n let modal = document.getElementById(modalId)\n const isVisible = \"c-modal__bg--is-visible\";\n\n modal.classList.add(isVisible);\n const list = calendarElement.querySelector('.c-calendar__event-list');\n let bookedEvents = list.querySelector('.booked__list');\n let availableEvents = list.querySelector('.available__list');\n let listHeader = bookedEvents.closest('.c-modal').querySelector('header').querySelector('h2')\n\n listHeader.innerHTML = '';\n availableEvents.innerHTML = '';\n bookedEvents.innerHTML = '';\n\n listHeader.innerHTML = calendarInstance.date.getDate() + '/' + calendarInstance.date.getMonth() + 1 + '/' + calendarInstance.date.getFullYear();\n\n if(eventsList.booked)\n bookedEvents.appendChild(this.createListElement(eventsList.booked, calendarInstance.date, false));\n if(eventsList.available)\n availableEvents.appendChild(this.createListElement(eventsList.available, calendarInstance.date, true));\n\n\n }\n );\n }\n}\n\nexport default EventCalendar;","import Masonry from 'masonry-layout';\n\nexport default class Tiles {\n constructor() {\n this.itemSelector = '.c-tile__item';\n this.tileSizer = '.c-tile__sizer';\n this.containerSelector = '.c-tile__container';\n }\n\n initTiles () {\n if (document.querySelectorAll('.c-tile__container').length > 0) {\n const msnry = new Masonry( this.containerSelector, {\n columnWidth: this.tileSizer,\n itemSelector: this.itemSelector\n });\n }\n }\n}","class NotificationDoc{\n addListener(){\n \n const notificationButton = document.getElementsByClassName(\"notification__button\")[0];\n const notification = document.getElementsByClassName(\"c-notification\")[0];\n\n if(notification)\n {\n const direction = notification.getAttribute('direction');\n let container = document.createElement('DIV');\n container.classList.add('c-notification__container');\n container.classList.add('c-notification__container--' + direction);\n container.setAttribute('maxAmount', 3)\n document.body.appendChild(container);\n\n notificationButton.addEventListener('click', ()=>{\n let notificationCopy = notification.cloneNode(true);\n notificationCopy.classList.remove('u-display--none');\n \n container.appendChild(notificationCopy);\n })\n }\n \n \n }\n}\n\nexport default NotificationDoc;","export default class Sidebar {\n constructor() {\n this.ATTR = \"js-sidebar\";\n this.EXPAND = \"c-sidebar__item--is-expanded\";\n this.EXPANDABLE = \"c-sidebar__subcontainer\";\n this.ACTIVE = \"item-active\";\n this.TRIGGER = \"js-sidebar-trigger\";\n this.SUBCONTAINER = \"c-sidebar__subcontainer\";\n this.TOGGLE = \"c-sidebar__toggle\";\n this.TOGGLE_TRIGGER = \"js-toggle-trigger\";\n this.TOGGLE_ITEM = \"js-toggle-item\";\n this.ITEM = \"c-sidebar__item\";\n this.COLLAPSED = \"c-sidebar--collapsed\"\n }\n\n /**\n * Finds all sidebars and applies appropriate classes and attributes on load\n * @return {void}\n */\n applySidebar() {\n const sb = document.querySelector(`[${this.ATTR}]`);\n\n if (sb) {\n const activeItems = sb.querySelectorAll(`[${this.ACTIVE}=\"true\"]`);\n\n if (activeItems.length > 0) {\n activeItems.forEach(item => {\n this.expandItem(item, sb);\n });\n }\n\n this.addTriggers(sb);\n }\n }\n\n /**\n * Adds listeners to buttons\n * @param {Object} sb The sidebar\n */\n addTriggers(sb) {\n const sbTriggers = document.querySelectorAll(`[${this.TRIGGER}]`);\n\n sbTriggers.forEach(btn => {\n btn.addEventListener('click', e => {\n sb.classList.toggle(`${this.COLLAPSED}`);\n });\n });\n }\n\n /**\n * Expand current item\n * @param {Object} item The current item to expand\n */\n expandItem(item, sb) {\n if (item.closest(`.${this.SUBCONTAINER}`)) {\n const id = this.getToggleId(item)\n \n const toggle = sb.querySelector(`[${this.TOGGLE_TRIGGER}=\"${id}\"]`)\n\n toggle.setAttribute('aria-pressed', true);\n\n this.addExpandClass(item);\n this.expandItem(toggle, sb)\n }\n }\n}"],"names":["constructor","this","image","container","imgAttr","imgCss","initImage","imageData","elementContainer","attrList","classList","document","createElement","appendImage","setAttr","src","key","value","Object","entries","setAttribute","setCSSClasses","length","cssClass","add","appendChild","imageDataSet","modalImg","modalId","isVisible","StepperInstance","Image","modalImage","img","querySelectorAll","push","getAttribute","imageStep","imageCaption","getElementById","querySelector","innerHTML","createImg","enableGallery","self","nextTrigger","prevTrigger","nxt","addEventListener","cycleImage","prev","e","nav","currentIndex","parseInt","nextIndex","containerId","imgSrc","containerModalContent","Element","prototype","remove","parentNode","removeChild","enableStepper","insertAdjacentHTML","evt","firstTouch","touches","originalEvent","getTouches","xDown","clientX","yDown","clientY","xUp","yUp","xDiff","yDiff","Math","abs","target","dispatchEvent","swipeLeft","swipeRight","swipeUp","swipeDown","CustomEvent","bubbles","VideoControls","videoElement","PLAYER","videoInteractions","btn","getVideoState","playVideo","pauseVideo","pause","play","dataSteps","stepperLength","stepperType","generate","setTimeout","dots","childElementCount","int","removeDot","contains","activeStep","PROJECT_CODE","DATA_ATTRIBUTE","DEFAULT_EVENT_PRIORITY","empty","array","isObject","subject","isNull","isArray","Array","isString","isUndefined","isHTMLElement","HTMLElement","toArray","forEach","values","iteratee","includes","indexOf","items","arrayProto","slice","arrayLike","start","end","call","toggleClass","elm","classes","name","addClass","split","append","parent","children","bind","before","nodes","ref","node","insertBefore","matches","selector","filter","child","firstElementChild","forOwn","object","right","keys","reverse","i","assign","arguments","source","merge","removeAttribute","attrs","attr","value2","String","create","tag","style","prop","getComputedStyle","style2","display","display2","hasClass","className","rect","getBoundingClientRect","parseHtml","html","DOMParser","parseFromString","body","prevent","stopPropagation","preventDefault","stopImmediatePropagation","query","queryAll","removeClass","unit","assert","condition","message","Error","nextTick","callback","noop","raf","func","requestAnimationFrame","min","max","floor","ceil","between","number","minOrMax","maxOrMin","exclusive","minimum","maximum","clamp","x","y","sign","camelToKebab","string","replace","toLowerCase","format","replacements","replacement","pad","ids","uniqueId","prefix","EventBus","handlers","off","events","forEachEvent","event","namespace","eventHandlers","handler","_key","_namespace","join","eventNS","fragments","on","priority","_event","_callback","_priority","sort","handler1","handler2","offBy","emit","apply","destroy","EVENT_MOUNTED","EVENT_READY","EVENT_MOVE","EVENT_MOVED","EVENT_SHIFTED","EVENT_CLICK","EVENT_ACTIVE","EVENT_INACTIVE","EVENT_VISIBLE","EVENT_HIDDEN","EVENT_SLIDE_KEYDOWN","EVENT_REFRESH","EVENT_UPDATED","EVENT_RESIZE","EVENT_RESIZED","EVENT_REPOSITIONED","EVENT_DRAG","EVENT_DRAGGING","EVENT_DRAGGED","EVENT_SCROLL","EVENT_SCROLLED","EVENT_DESTROY","EVENT_ARROWS_MOUNTED","EVENT_ARROWS_UPDATED","EVENT_PAGINATION_MOUNTED","EVENT_PAGINATION_UPDATED","EVENT_NAVIGATION_MOUNTED","EVENT_AUTOPLAY_PLAY","EVENT_AUTOPLAY_PLAYING","EVENT_AUTOPLAY_PAUSE","EVENT_LAZYLOAD_LOADED","EventInterface","Splide2","listeners","unbind","targets","event2","listener","removeEventListener","data","options","RequestInterval","interval","onInterval","onUpdate","limit","now","Date","startTime","id","rate","paused","count","update","elapsed","cancel","cancelAnimationFrame","resume","rewind","set","time","isPaused","State","initialState","state","is","states","Throttle","duration","TTB","ORIENTATION_MAP","marginRight","autoWidth","fixedWidth","paddingLeft","paddingRight","width","left","X","Y","ArrowLeft","ArrowRight","Direction","Components2","resolve","axisOnly","direction","orient","CLASS_ROOT","CLASS_SLIDER","CLASS_TRACK","CLASS_LIST","CLASS_SLIDE","CLASS_CLONE","CLASS_CONTAINER","CLASS_ARROWS","CLASS_ARROW","CLASS_ARROW_PREV","CLASS_ARROW_NEXT","CLASS_PAGINATION","CLASS_PAGINATION_PAGE","CLASS_PROGRESS","CLASS_PROGRESS_BAR","CLASS_AUTOPLAY","CLASS_PLAY","CLASS_PAUSE","CLASS_SPINNER","CLASS_INITIALIZED","CLASS_ACTIVE","CLASS_PREV","CLASS_NEXT","CLASS_VISIBLE","CLASS_LOADING","STATUS_CLASSES","CLASSES","slide","clone","arrows","arrow","next","pagination","page","spinner","ROLE","ARIA_CONTROLS","ARIA_CURRENT","ARIA_LABEL","ARIA_HIDDEN","TAB_INDEX","ARIA_ORIENTATION","ALL_ATTRIBUTES","SLIDE","LOOP","FADE","XML_NAME_SPACE","PATH","INTERVAL_DATA_ATTRIBUTE","SCROLL_LISTENER_OPTIONS","passive","capture","POINTER_MOVE_EVENTS","POINTER_UP_EVENTS","IE_ARROW_KEYS","KEYBOARD_EVENT","SRC_DATA_ATTRIBUTE","SRCSET_DATA_ATTRIBUTE","IMAGE_SELECTOR","TRIGGER_KEYS","ComponentConstructors","freeze","__proto__","Options","throttledObserve","observe","initialOptions","points","currPoint","completely","item","predicate","item2","point","newOptions","breakpoints","mount","onMatch","setup","JSON","parse","root","isMin","mediaQuery","n","m","map","matchMedia","Elements","elements","slides","slider","track","list","autoplay","find","bar","collect","identify","getClasses","refresh","type","drag","isNavigation","Slides","Slides2","init","index","register","forEach$1","Slide2","slideIndex","destroyEvents","Components","updateOnMove","styles","isClone","focusableNodes","destroyed","initNavigation","idx","label","i18n","slideX","controls","splides","splide","updateActivity","isActive","onMove","currIndex","visible","hidden","slideFocus","updateVisibility","trackRect","slideRect","active","curr","cloneStatus","useContainer","isWithin","from","distance","diff","Slide$1","get","excludeClones","matcher","Slide1","getIn","Controller","toIndex","hasFocus","perPage","getAt","images","observeImages","getLength","isEnough","Layout","vertical","rootRect","cssPadding","resize","newRect","height","cssHeight","cssTrackHeight","gap","cssSlideSize","fixedHeight","autoHeight","padding","heightRatio","totalSize","withoutGap","Slide","getGap","parseFloat","window","listSize","slideSize","sliderSize","getPadding","Clones","clones","cloneCount","computeCloneCount","isHead","cloneNode","cloneDeep","clones2","fixedSize","div","measure","flickMaxPages","Move","Transition","reposition","isBusy","Scroll","jump","translate","toPosition","position","preventLoop","destination","getPosition","exceededMin","exceededLimit","exceededMax","shift","loop","transform","backwards","excess","getLimit","size","trimming","focus","offset","trimSpace","trim","getEnd","waitForTransition","move","dest","go","minDistance","Infinity","isLoop","isSlide","slideCount","perMove","prevIndex","scroll","useIndex","snap","toDest","setIndex","getNext","getAdjacent","getPrev","computeDestIndex","incremental","toPage","closest","control","allowSameIndex","indicator","match","useScroll","speed","getIndex","Arrows","created","wrapper","createArrow","listen","prev2","arrowPath","prevLabel","last","nextLabel","first","disabled","Autoplay","hovered","focused","initButton","forPause","button","resetProgress","manual","autoToggle","updateInterval","pauseOnHover","pauseOnFocus","Cover","cover","toggle","scrollCallback","onScrolled","clear","suppressConstraint","friction","t","easingFunc","pow","easing","Drag","basePosition","baseEvent","prevBaseEvent","lastEvent","isFree","dragging","clickPrevented","hasExceeded","disable","onPointerDown","noDrag","isTouch","isTouchEvent","isDraggable","onPointerMove","onPointerUp","save","cancelable","coordOf","constrain","expired","timeOf","exceeded","dragMinThreshold","thresholds","mouse","touch","isSliderDirection","velocity","base","diffCoord","diffTime","isFlick","computeVelocity","flickPower","computeDestination","onClick","orthogonal","timeStamp","TouchEvent","isDragging","Keyboard","keyboard","onKeydown","_disabled","onUpdated","normalizedKey","LazyLoad","isSequential","lazyLoad","_Slide","_img","srcset","parentElement","_spinner","loadNext","preloadPages","load","error","onLoad","Pagination","li","class","text","pageX","createPagination","preventScroll","Sync","isParent","instance","navigate","remount","Wheel","onWheel","deltaY","releaseWheel","shouldPrevent","wheel","DEFAULTS","Fade","done","endCallback","transition","rewindSpeed","getSpeed","_Splide","_options","_Extensions","defaults","Extensions","_Components","_Transition","Component","component","sync","Splide","STATES","CREATED","MOUNTED","IDLE","MOVING","DESTROYED","RENDERER_DEFAULT_CONFIG","listTag","slideTag","Style","rule","breakpoint","selectors","build","css","default","buildSelectors","SplideRenderer","contents","config","clean","parseBreakpoints","initSlides","registerRootStyles","registerTrackStyles","registerSlideStyles","registerListStyles","content","buildStyles","generateClones","Style2","buildTranslate","cssSlideHeight","cssAspectRatio","cssSlideWidth","cssOffsetClones","cssOffsetGaps","isCenter","buildCssValue","cssOffsetCenter","Boolean","getCloneCount","isFixedWidth","unit2","parseCssValue","gapOffset","gaps","isVertical","buildClasses","buildAttrs","renderSlides","background","unshift","options2","renderArrows","renderArrow","ariaLabel","rootClass","beforeTrack","afterTrack","beforeSlider","afterSlider","colorConvert","wrapAnsi16","fn","wrapAnsi256","code","wrapAnsi16m","rgb","defineProperty","module","enumerable","codes","Map","modifier","reset","bold","dim","italic","underline","inverse","strikethrough","color","black","red","green","yellow","blue","magenta","cyan","white","gray","redBright","greenBright","yellowBright","blueBright","magentaBright","cyanBright","whiteBright","bgColor","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bgBlackBright","bgRedBright","bgGreenBright","bgYellowBright","bgBlueBright","bgMagentaBright","bgCyanBright","bgWhiteBright","grey","groupName","group","styleName","open","close","ansi2ansi","rgb2rgb","r","g","b","ansi","ansi256","ansi16m","suite","ansi16","escapeStringRegexp","ansiStyles","stdoutColor","template","isSimpleWindowsTerm","process","platform","env","TERM","startsWith","levelMapping","skipModels","Set","applyOptions","obj","scLevel","level","undefined","enabled","Chalk","chalk","args","chalkTag","concat","setPrototypeOf","closeRe","RegExp","_styles","_empty","model","has","toUpperCase","proto","defineProperties","builder","applyStyle","hasGrey","argsLen","str","a","originalDim","strings","parts","raw","exports","supportsColor","TEMPLATE_REGEX","STYLE_REGEX","STRING_REGEX","ESCAPE_REGEX","ESCAPES","unescape","c","fromCharCode","parseArguments","results","chunks","chunk","isNaN","escape","chr","Number","parseStyle","lastIndex","exec","buildStyle","layer","current","tmp","escapeChar","pop","errMsg","cssKeywords","reverseKeywords","hasOwnProperty","convert","channels","labels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","hcg","apple","h","l","delta","rdif","gdif","bdif","s","v","diffc","k","reversed","currentClosestKeyword","currentClosestDistance","z","t1","t2","t3","val","smin","lmin","hi","f","p","q","sl","vmin","wh","bl","ratio","y2","x2","z2","atan2","PI","sqrt","hr","cos","sin","round","mult","rem","toString","substring","colorString","char","integer","hue","chroma","mg","pure","w","conversions","route","fromModel","routes","toModel","wrappedFn","result","len","conversion","wrapRounded","wrapRaw","link","to","wrapConversion","graph","path","cur","models","buildGraph","queue","adjacents","adjacent","deriveBFS","factory","matchesMethod","ElemProto","matchesSelector","prefixes","method","elem","matchOperatorsRe","TypeError","EvEmitter","eventName","_events","once","onceEvents","_onceEvents","splice","emitEvent","onceListeners","allOff","utils","num","arraySlice","makeArray","removeFrom","ary","getParent","getQueryElement","handleEvent","filterFindElements","elems","ffElems","childElems","debounceMethod","_class","methodName","threshold","timeoutName","timeout","clearTimeout","_this","docReady","readyState","toDashed","$1","$2","console","htmlInit","WidgetClass","dashedNamespace","dataAttr","dataAttrElems","jsDashElems","dataOptionsAttr","jQuery","getStyleSize","logError","measurements","measurementsLength","getStyle","isBoxSizeOuter","isSetup","getSize","borderStyle","borderWidth","boxSizing","documentElement","nodeType","innerWidth","innerHeight","outerWidth","outerHeight","getZeroSize","offsetWidth","offsetHeight","isBorderBox","measurement","paddingWidth","paddingHeight","paddingTop","paddingBottom","marginWidth","marginLeft","marginHeight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderHeight","borderTopWidth","borderBottomWidth","isBorderBoxSizeOuter","styleWidth","styleHeight","MarkerClusterGroup","L","FeatureGroup","extend","maxClusterRadius","iconCreateFunction","clusterPane","Marker","pane","spiderfyOnEveryZoom","spiderfyOnMaxZoom","showCoverageOnHover","zoomToBoundsOnClick","singleMarkerMode","disableClusteringAtZoom","removeOutsideVisibleBounds","animate","animateAddingMarkers","spiderfyShapePositions","spiderfyDistanceMultiplier","spiderLegPolylineOptions","weight","opacity","chunkedLoading","chunkInterval","chunkDelay","chunkProgress","polygonOptions","initialize","Util","setOptions","_defaultIconCreateFunction","_featureGroup","featureGroup","addEventParent","_nonPointGroup","_inZoomAnimation","_needsClustering","_needsRemoving","_currentShownBounds","_queue","_childMarkerEventHandlers","_childMarkerDragStart","_childMarkerMoved","_childMarkerDragEnd","DomUtil","TRANSITION","_withAnimation","_noAnimation","_markerCluster","MarkerCluster","MarkerClusterNonAnimated","addLayer","LayerGroup","addLayers","getLatLng","fire","_map","hasLayer","_unspiderfy","_addLayer","_maxZoom","_topClusterLevel","_recalculateBounds","_refreshClustersIcons","visibleLayer","currentZoom","_zoom","__parent","_animationAddLayer","_animationAddLayerNonAnimated","removeLayer","removeLayers","_unspiderfyLayer","_removeLayer","clusterShow","_arraySplice","latlng","_latlng","layersArray","skipLayerAddEvent","fg","npg","chunked","originalArray","started","getTime","_extractNonGroupLayers","getChildCount","markers","getAllChildMarkers","otherMarker","_recursivelyAddChildrenToMap","needsClustering","layersArray2","l2","clearLayers","_gridClusters","_gridUnclustered","_noanimationUnspiderfy","eachLayer","marker","_generateInitialClusters","getBounds","bounds","LatLngBounds","_bounds","context","thisNeedsRemoving","j","needsRemoving","getLayers","layers","getLayer","stamp","anArray","_group","zoomToShowLayer","showMarker","_icon","spiderfy","panTo","zoomToBounds","onAdd","isFinite","getMaxZoom","addTo","_maxLat","crs","projection","MAX_LATITUDE","newlatlng","_getExpandedVisibleBounds","_zoomEnd","_moveEnd","_spiderfierOnAdd","_bindEvents","onRemove","_unbindEvents","_mapPane","_spiderfierOnRemove","_hideCoverage","getVisibleParent","vMarker","_removeFromGridUnclustered","gridUnclustered","minZoom","getMinZoom","removeObject","project","__dragStart","_ignoreMove","isPopupOpen","_popup","isOpen","_moveChild","oldLatLng","openPopup","dragStart","removeFromDistanceGrid","dontUpdateMap","gridClusters","cluster","_markers","_childCount","_boundsNeedUpdate","_cLatLng","addObject","_childClusters","_iconNeedsUpdate","_isOrIsParent","el","oel","propagate","relatedTarget","listens","childCount","DivIcon","iconSize","Point","_zoomOrSpiderfy","_showCoverage","bottomCluster","keyCode","_container","_shownPolygon","_spiderfied","Polygon","getConvexHull","_mergeSplitClusters","newBounds","_recursivelyRemoveChildrenFromMap","maxZoom","radius","radiusFn","zoom","DistanceGrid","markerPoint","_overrideMarkerIcon","getNearObject","_addChild","newCluster","lastParent","_updateIcon","_enqueue","_queueTimeout","_processQueue","mapZoom","intersects","_animationStart","_animationZoomIn","_animationZoomOut","Browser","mobile","_checkBoundsMaxLat","_mapBoundsInfinite","maxLat","getNorth","_northEast","lat","getSouth","_southWest","_addToMap","output","icon","include","LatLng","previousZoomLevel","newZoomLevel","_recursively","startPos","_isSingleParent","clusterHide","_forceLayout","_recursivelyBecomeVisible","_recursivelyRestoreChildPositions","_animationEnd","_animationZoomOutSingle","me","_setPos","latLngToLayerPoint","_recursivelyAnimateChildrenInAndAddSelfToMap","setLatLng","falseFn","markerClusterGroup","Icon","storageArray","ignoreDraggedMarker","fitBoundsOptions","childClusters","boundsZoom","getBoundsZoom","getZoom","newClusters","setView","fitBounds","setIcon","createIcon","_iconObj","createShadow","new1","isNotificationFromChild","_setClusterCenter","_resetBounds","lng","childLatLng","latSum","lngSum","totalCount","_wLatLng","_backupLatlng","_recursivelyAnimateChildrenIn","center","cm","mapMinZoom","zoomLevel","nm","_restorePosition","previousBounds","exceptBounds","boundsToApplyTo","zoomLevelToStart","zoomLevelToStop","runAtEveryLevel","runAtBottomLevel","backup","setOpacity","cellSize","_cellSize","_sqCellSize","_grid","_objectPoint","_getCoord","grid","row","cell","updateObject","eachObject","dist","objectPoint","closestDistSq","_sqDist","coord","p2","dx","dy","QuickHull","getDistant","cpt","vY","findMostDistantPointFromBaseLine","baseLine","latLngs","pt","d","maxD","maxPt","newPoints","maxPoint","buildConvexHull","convexHullBaseLines","minLat","maxLng","minLng","maxLatPt","minLatPt","maxLngPt","minLngPt","minPt","childMarkers","_2PI","_circleFootSeparation","_circleStartAngle","_spiralFootSeparation","_spiralLengthStart","_spiralLengthFactor","_circleSpiralSwitchover","positions","_generatePointsSpiral","_generatePointsCircle","_animationSpiderfy","unspiderfy","zoomDetails","_animationUnspiderfy","centerPt","angle","legLength","angleStep","res","_round","separation","lengthFactor","_preSpiderfyLatlng","setZIndexOffset","_spiderLeg","leg","newPos","legOptions","layerPointToLatLng","Polyline","legPath","thisLayerLatLng","thisLayerPos","svg","Path","SVG","finalLegOpacity","_path","getTotalLength","strokeDasharray","strokeDashoffset","setStyle","nonAnimatable","_latLngToNewLayerPoint","closePopup","stillThereChildCount","_unspiderfyWrapper","zoomAnimation","_unspiderfyZoomStart","getRenderer","_unspiderfyZoomAnim","refreshClusters","_layers","_flagParentsIconsNeedUpdate","_refreshSingleMarkerModeMarkers","refreshIconOptions","directlyRefreshClusters","create$2","F","lastId","_leaflet_id","throttle","lock","wrapperFn","later","wrapNum","range","includeMax","formatNum","precision","splitWords","getParamString","existingUrl","uppercase","params","encodeURIComponent","templateRe","emptyImageUrl","getPrefixed","lastTime","timeoutDefer","timeToCall","requestFn","cancelFn","requestAnimFrame","immediate","cancelAnimFrame","Class","props","NewClass","callInitHooks","parentProto","__super__","statics","Mixin","Events","warn","stack","checkDeprecatedMixinEvents","_initHooks","_initHooksCalled","parentOptions","mergeOptions","addInitHook","types","_on","_off","removeAll","_once","_listens","newListener","ctx","_firingCount","sourceTarget","_propagateEvent","_fn","_eventParents","removeEventParent","propagatedFrom","clearAllEventListeners","addOneTimeEventListener","fireEvent","hasEventListeners","Evented","trunc","toPoint","Bounds","toBounds","corner1","corner2","latlngs","toLatLngBounds","alt","toLatLng","lon","_add","subtract","_subtract","divideBy","_divideBy","multiplyBy","_multiplyBy","scaleBy","unscaleBy","_floor","_ceil","_trunc","distanceTo","equals","min2","max2","getCenter","getBottomLeft","getTopRight","getTopLeft","getBottomRight","xIntersects","yIntersects","overlaps","xOverlaps","yOverlaps","isValid","bufferRatio","heightBuffer","widthBuffer","sw2","ne2","sw","ne","getSouthWest","getNorthEast","getNorthWest","getWest","getSouthEast","getEast","latIntersects","lngIntersects","latOverlaps","lngOverlaps","toBBoxString","maxMargin","other","Earth","wrap","wrapLatLng","sizeInMeters","latAccuracy","lngAccuracy","CRS","latLngToPoint","projectedPoint","scale","transformation","_transform","pointToLatLng","untransformedPoint","untransform","unproject","log","LN2","getProjectedBounds","infinite","wrapLng","wrapLat","wrapLatLngBounds","newCenter","latShift","lngShift","R","latlng1","latlng2","rad","lat1","lat2","sinDLat","sinDLon","earthRadius","SphericalMercator","atan","exp","Transformation","_a","_b","_c","_d","toTransformation","EPSG3857","EPSG900913","svgCreate","createElementNS","pointsToPath","rings","closed","len2","ie","ielt9","edge","navigator","webkit","userAgentContains","android","android23","webkitVer","userAgent","androidStock","opera","chrome","gecko","safari","phantom","opera12","win","ie3d","webkit3d","WebKitCSSMatrix","gecko3d","any3d","L_DISABLE_3D","orientation","mobileWebkit","mobileWebkit3d","msPointer","PointerEvent","MSPointerEvent","pointer","touchNative","L_NO_TOUCH","mobileOpera","mobileGecko","retina","devicePixelRatio","screen","deviceXDPI","logicalXDPI","passiveEvents","supportsPassiveOption","opts","canvas$1","getContext","svg$1","createSVGRect","inlineSvg","firstChild","namespaceURI","vml","shape","behavior","adj","canvas","mac","linux","POINTER_DOWN","POINTER_MOVE","POINTER_UP","POINTER_CANCEL","pEvent","touchstart","touchmove","touchend","touchcancel","handle","MSPOINTER_TYPE_TOUCH","pointerType","_handlePointer","_pointers","_pointerDocListener","addPointerListener","_globalPointerDown","_globalPointerMove","_globalPointerUp","pointerId","MSPOINTER_TYPE_MOUSE","changedTouches","delay","disableTextSelection","enableTextSelection","_userSelect","_outlineElement","_outlineStyle","TRANSFORM","testProp","TRANSITION_END","currentStyle","defaultView","create$1","tagName","toFront","lastChild","toBack","getClass","test","setClass","baseVal","correspondingElement","filterName","filters","Enabled","Opacity","_setOpacityIE","setTransform","pos","setPosition","_leaflet_pos","top","userSelectProperty","disableImageDrag","enableImageDrag","preventOutline","element","tabIndex","restoreOutline","outlineStyle","getSizedParentNode","getScale","boundingClientRect","addOne","eventsKey","batchRemove","removeOne","filterFn","mouseSubst","mouseenter","mouseleave","originalHandler","detail","simDblclick","sourceCapabilities","firesTouchEvents","getPropagationPath","some","HTMLLabelElement","attributes","for","HTMLInputElement","HTMLSelectElement","newEvent","isTrusted","_simulated","makeDblclick","dblclick","addDoubleTapListener","isExternalTarget","attachEvent","removePointerListener","removeDoubleTapListener","detachEvent","_stopped","cancelBubble","disableScrollPropagation","disableClickPropagation","returnValue","stop","ev","composedPath","getMousePosition","clientLeft","clientTop","wheelPxFactor","getWheelDelta","wheelDeltaY","deltaMode","deltaX","deltaZ","wheelDelta","related","err","DomEvent","addListener","removeListener","PosAnimation","run","easeLinearity","_el","_inProgress","_duration","_easeOutPower","_startPos","_offset","_startTime","_animate","_step","_complete","_animId","_runFrame","_easeOut","progress","maxBounds","renderer","zoomAnimationThreshold","fadeAnimation","markerZoomAnimation","transform3DLimit","zoomSnap","zoomDelta","trackResize","_handlers","_zoomBoundLayers","_sizeChanged","_initContainer","_initLayout","_onResize","_initEvents","setMaxBounds","_limitZoom","_zoomAnimated","_createAnimProxy","_proxy","_catchTransitionEnd","_addLayers","_limitCenter","_stop","_loaded","pan","_tryAnimatedZoom","_tryAnimatedPan","_sizeTimer","_resetView","noMoveStart","setZoom","zoomIn","zoomOut","setZoomAround","getZoomScale","viewHalf","centerOffset","latLngToContainerPoint","containerPointToLatLng","_getBoundsCenterZoom","paddingTL","paddingTopLeft","paddingBR","paddingBottomRight","paddingOffset","swPoint","nePoint","fitWorld","panBy","_panAnim","_onPanTransitionStep","_onPanTransitionEnd","_getMapPanePos","_rawPanBy","flyTo","targetCenter","targetZoom","startZoom","w0","w1","u1","rho","rho2","sq","sinh","cosh","r0","u","S","_moveStart","frame","easeOut","_flyToFrame","_move","getScaleZoom","flyToBounds","_panInsideMaxBounds","setMinZoom","oldZoom","setMaxZoom","panInsideBounds","_enforcingBounds","panInside","pixelCenter","pixelPoint","pixelBounds","getPixelBounds","paddedBounds","paddedSize","invalidateSize","oldSize","_lastCenter","newSize","oldCenter","debounceMoveend","locate","_locateOptions","watch","_handleGeolocationError","onResponse","_handleGeolocationResponse","onError","_locationWatchId","geolocation","watchPosition","getCurrentPosition","stopLocate","clearWatch","coords","latitude","longitude","accuracy","timestamp","addHandler","HandlerClass","enable","_containerId","_clearControlPos","_resizeRequest","_clearHandlers","_panes","_renderer","createPane","_checkIfLoaded","_moved","_getCenterLayerPoint","_layersMinZoom","_layersMaxZoom","inside","nw","se","boundsSize","scalex","scaley","_size","clientWidth","clientHeight","topLeftPoint","_getTopLeftPoint","getPixelOrigin","_pixelOrigin","getPixelWorldBounds","getPane","getPanes","getContainer","toZoom","fromZoom","containerPointToLayerPoint","layerPointToContainerPoint","layerPoint","mouseEventToContainerPoint","mouseEventToLayerPoint","mouseEventToLatLng","_onScroll","_fadeAnimated","_initPanes","_initControlPos","panes","_paneRenderers","markerPane","shadowPane","loading","zoomChanged","supressEvent","_getNewPixelOrigin","pinch","_getZoomSpan","_targets","onOff","_handleDOMEvent","_onMoveEnd","scrollTop","scrollLeft","_findEventTargets","isHover","srcElement","_draggableMoved","_isClickDisabled","_fireDOMEvent","_mouseEvents","canvasTargets","synth","filtered","isMarker","_radius","containerPoint","bubblingMouseEvents","moved","boxZoom","whenReady","topLeft","_latLngBoundsToNewLayerBounds","latLngBounds","_getCenterOffset","centerPoint","viewBounds","_getBoundsOffset","_limitOffset","pxBounds","projectedMaxBounds","minOffset","maxOffset","_rebound","proxy","mapPane","_animatingZoom","_onZoomTransitionEnd","_animMoveEnd","_destroyAnimProxy","propertyName","_nothingToAnimate","getElementsByClassName","_animateZoom","startAnim","noUpdate","_animateToCenter","_animateToZoom","_tempFireZoomEvent","Control","removeControl","addControl","corner","_controlCorners","_refocusOnMap","screenX","screenY","corners","_controlContainer","createCorner","vSide","hSide","Layers","collapsed","autoZIndex","hideSingleBase","sortLayers","sortFunction","layerA","layerB","nameA","nameB","baseLayers","overlays","_layerControlInputs","_lastZIndex","_handlingClick","_preventClick","_update","_checkDisabledLayers","_onLayerChange","_expandIfNotCollapsed","addBaseLayer","addOverlay","_getLayer","expand","_section","acceptableHeight","offsetTop","collapse","section","_expandSafely","_layersLink","href","title","keydown","click","_baseLayersList","_separator","_overlaysList","overlay","setZIndex","baseLayersPresent","overlaysPresent","baseLayersCount","_addItem","_createRadioElement","checked","radioHtml","radioFragment","input","defaultChecked","layerId","_onInputClick","holder","inputs","addedLayers","removedLayers","that","Zoom","zoomInText","zoomInTitle","zoomOutText","zoomOutTitle","zoomName","_zoomInButton","_createButton","_zoomIn","_zoomOutButton","_zoomOut","_updateDisabled","shiftKey","zoomControl","Scale","maxWidth","metric","imperial","_addScales","updateWhenIdle","_mScale","_iScale","maxMeters","_updateScales","_updateMetric","_updateImperial","meters","_getRoundNum","_updateScale","maxMiles","miles","feet","maxFeet","pow10","Attribution","ukrainianFlag","_attributions","attributionControl","getAttribution","addAttribution","_addAttribution","removeAttribution","setPrefix","attribs","prefixAndAttribs","attribution","Handler","_enabled","addHooks","removeHooks","START","Draggable","clickTolerance","dragStartTarget","_element","_dragStartTarget","_preventOutline","_onDown","_dragging","finishDrag","which","_moving","sizedParent","_startPoint","_parentScale","mouseevent","_onMove","_onUp","_lastTarget","SVGElementInstance","correspondingUseElement","_newPos","_lastEvent","_updatePosition","noInertia","fireDragend","clipPolygon","clippedPoints","edges","_code","_getBitCode","_getEdgeIntersection","polygonCenter","p1","area","isFlat","centroidLatLng","centroid","latlngCenter","_lastCode","PolyUtil","simplify","tolerance","sqTolerance","Uint8Array","_simplifyDPStep","_simplifyDP","reducedPoints","_reducePoints","pointToSegmentDistance","_sqClosestPointOnSegment","sqDist","maxSqDist","clipSegment","useLastCode","codeOut","newCode","codeA","codeB","dot","_flat","polylineCenter","halfDist","segDist","LineUtil","closestPointOnSegment","LonLat","Mercator","R_MINOR","con","ts","tan","phi","dphi","EPSG3395","EPSG4326","Simple","Layer","_mapToAdd","addInteractiveTarget","targetEl","removeInteractiveTarget","_layerAdd","getEvents","beforeAdd","_addZoomLimit","_updateZoomLevels","_removeZoomLimit","oldZoomSpan","getLayerId","invoke","zIndex","bringToFront","bringToBack","popupAnchor","tooltipAnchor","crossOrigin","oldIcon","_createIcon","_getIconUrl","_createImg","_setIconStyles","sizeOption","anchor","shadowAnchor","iconAnchor","IconDefault","iconUrl","iconRetinaUrl","shadowUrl","shadowSize","imagePath","_detectIconPath","_stripUrl","strip","re","MarkerDrag","_marker","_draggable","dragstart","_onDragStart","predrag","_onPreDrag","_onDrag","dragend","_onDragEnd","_adjustPan","autoPanSpeed","autoPanPadding","iconPos","origin","panBounds","movement","_panRequest","_oldLatLng","autoPan","shadow","_shadow","interactive","zIndexOffset","riseOnHover","riseOffset","autoPanOnFocus","draggable","_initIcon","_removeIcon","_removeShadow","viewreset","getIcon","bindPopup","getElement","classToAdd","addIcon","mouseover","_bringToFront","mouseout","_resetZIndex","_panOnFocus","newShadow","addShadow","_updateOpacity","_initInteraction","_zIndex","_updateZIndex","opt","iconOpts","_getPopupAnchor","_getTooltipAnchor","stroke","lineCap","lineJoin","dashArray","dashOffset","fill","fillColor","fillOpacity","fillRule","_initPath","_reset","_addPath","_removePath","redraw","_updatePath","_updateStyle","_updateBounds","_bringToBack","_project","_clickTolerance","CircleMarker","setRadius","getRadius","_point","r2","_radiusY","_pxBounds","_updateCircle","_containsPoint","Circle","legacyOptions","_mRadius","half","latR","bottom","lngR","acos","smoothFactor","noClip","_setLatLngs","getLatLngs","_latlngs","setLatLngs","isEmpty","closestLayerPoint","minPoint","jLen","_parts","_defaultShape","addLatLng","_convertLatLngs","flat","_rings","_projectLatlngs","_rawPxBounds","projectedBounds","ring","_clipPoints","segment","_simplifyPoints","_updatePoly","part","clipped","GeoJSON","geojson","addData","feature","features","geometries","geometry","coordinates","geometryToLayer","asFeature","defaultOptions","resetStyle","onEachFeature","_setLayerStyle","pointToLayer","_coordsToLatLng","coordsToLatLng","_pointToLayer","coordsToLatLngs","geoLayer","properties","featureLayer","pointToLayerFn","markersInheritOptions","levelsDeep","latLngToCoords","latLngsToCoords","getFeature","newGeometry","PointToGeoJSON","toGeoJSON","geoJSON","multi","holes","toMultiPoint","isGeometryCollection","jsons","json","geoJson","ImageOverlay","errorOverlayUrl","url","_url","_image","_initImage","styleOpts","setUrl","setBounds","zoomanim","wasElementSupplied","onselectstart","onmousemove","onload","onerror","_overlayOnError","errorUrl","VideoOverlay","keepAspectRatio","muted","playsInline","vid","onloadeddata","sourceElements","getElementsByTagName","sources","SVGOverlay","DivOverlay","_source","_content","openOn","_prepareOpen","_removeTimeout","getContent","setContent","visibility","_updateContent","_updateLayout","_contentNode","hasChildNodes","_getAnchor","_containerBottom","_containerLeft","_containerWidth","_initOverlay","OverlayClass","old","Popup","minWidth","maxHeight","autoPanPaddingTopLeft","autoPanPaddingBottomRight","keepInView","closeButton","autoClose","closeOnEscapeKey","popup","closeOnClick","closePopupOnClick","preclick","moveend","_wrapper","_tipContainer","_tip","_closeButton","whiteSpace","scrolledClass","_autopanning","containerHeight","containerWidth","layerPos","containerPos","_popupHandlersAdded","_openPopup","keypress","_onKeyPress","_movePopup","unbindPopup","togglePopup","setPopupContent","getPopup","Tooltip","permanent","sticky","tooltip","_setPosition","subX","subY","tooltipPoint","tooltipWidth","tooltipHeight","openTooltip","closeTooltip","bindTooltip","_tooltip","isTooltipOpen","unbindTooltip","_initTooltipInteractions","_tooltipHandlersAdded","_moveTooltip","_openTooltip","_addFocusListeners","mousemove","_setAriaDescribedByOnLayer","toggleTooltip","setTooltipContent","getTooltip","_addFocusListenersOnLayer","moving","_openOnceFlag","bgPos","backgroundPosition","Default","GridLayer","tileSize","updateWhenZooming","maxNativeZoom","minNativeZoom","noWrap","keepBuffer","_levels","_tiles","_removeAllTiles","_tileZoom","_setAutoZIndex","isLoading","_loading","tileZoom","_clampZoom","_updateLevels","viewprereset","_invalidateAll","createTile","getTileSize","compare","edgeZIndex","nextFrame","willPrune","tile","loaded","fade","_onOpaqueTile","_noPrune","_pruneTiles","_fadeFrame","_onUpdateLevel","_removeTilesAtZoom","_onRemoveLevel","_setZoomTransform","_onCreateLevel","_level","retain","_retainParent","_retainChildren","_removeTile","coords2","_tileCoordsToKey","animating","_setView","noPrune","tileZoomChanged","_abortLoading","_resetGrid","_setZoomTransforms","_tileSize","_globalTileRange","_pxBoundsToTileRange","_wrapX","_wrapY","_getTiledPixelBounds","halfSize","tileRange","tileCenter","margin","noPruneRange","_isValidTile","fragment","createDocumentFragment","_addTile","tileBounds","_tileCoordsToBounds","_keyToBounds","_keyToTileCoords","_tileCoordsToNwSe","nwPoint","sePoint","bp","_initTile","tilePos","_getTilePos","_wrapCoords","_tileReady","_noTilesToLoad","newCoords","TileLayer","subdomains","errorTileUrl","zoomOffset","tms","zoomReverse","detectRetina","referrerPolicy","_onTileRemove","noRedraw","_tileOnLoad","_tileOnError","getTileUrl","_getSubdomain","_getZoomForUrl","invertedY","tilePoint","complete","tileLayer","TileLayerWMS","defaultWmsParams","service","request","transparent","version","wmsParams","realRetina","_crs","_wmsVersion","projectionKey","bbox","setParams","WMS","wms","Renderer","_updatePaths","_destroyContainer","_onZoom","zoomend","_onZoomEnd","_onAnimZoom","_updateTransform","currentCenterPoint","_center","topLeftOffset","Canvas","_onViewPreReset","_postponeUpdatePaths","_draw","_onMouseMove","_onClick","_handleMouseOut","_ctx","_redrawRequest","_redrawBounds","_redraw","_updateDashArray","order","_order","_drawLast","_drawFirst","_requestRedraw","_extendRedrawBounds","dashValue","_dashArray","_clear","clearRect","restore","beginPath","clip","_drawing","closePath","_fillStroke","arc","globalAlpha","fillStyle","setLineDash","lineWidth","strokeStyle","clickedLayer","_fireEvent","_handleMouseHover","_hoveredLayer","_mouseHoverThrottled","candidateHoveredLayer","vmlCreate","namespaces","vmlMixin","coordsize","_stroke","_fill","stroked","filled","dashStyle","endcap","joinstyle","_setPath","_rootGroup","_svgSize","_getPaneRenderer","_createRenderer","preferCanvas","Rectangle","_boundsToLatLngs","BoxZoom","_pane","overlayPane","_resetStateTimeout","_destroy","_onMouseDown","_resetState","_clearDeferredResetState","contextmenu","mouseup","_onMouseUp","_onKeyDown","_box","_finish","boxZoomBounds","doubleClickZoom","DoubleClickZoom","_onDoubleClick","inertia","inertiaDeceleration","inertiaMaxSpeed","worldCopyJump","maxBoundsViscosity","_onPreDragLimit","_onPreDragWrap","_positions","_times","_offsetLimit","_viscosity","_lastTime","_lastPos","_absPos","_prunePositions","pxCenter","pxWorldCenter","_initialWorldOffset","_worldWidth","_viscousLimit","worldWidth","halfWidth","newX1","newX2","newX","ease","speedVector","limitedSpeed","limitedSpeedVector","decelerationDuration","keyboardPanDelta","keyCodes","down","up","_setPanDelta","_setZoomDelta","_onFocus","blur","_onBlur","mousedown","_addHooks","_removeHooks","_focused","docEl","scrollTo","panDelta","_panKeys","_zoomKeys","altKey","ctrlKey","metaKey","newLatLng","scrollWheelZoom","wheelDebounceTime","wheelPxPerZoomLevel","ScrollWheelZoom","_onWheelScroll","_delta","debounce","_lastMousePos","_timer","_performZoom","d2","d3","d4","tapHold","tapTolerance","TapHold","_holdTimeout","_cancel","_isTapValid","_cancelClickPrevent","_simulateEvent","cancelClickPrevent","simulatedEvent","MouseEvent","view","touchZoom","bounceAtZoomLimits","TouchZoom","_onTouchStart","_zooming","_centerPoint","_startLatLng","_pinchStartLatLng","_startDist","_startZoom","_onTouchMove","_onTouchEnd","_animRequest","moveFn","Projection","circle","circleMarker","divIcon","gridLayer","imageOverlay","latLng","layerGroup","polygon","polyline","rectangle","svgOverlay","videoOverlay","video","oldL","noConflict","Outlayer","Masonry","compatOptions","fitWidth","_resetLayout","_getMeasurement","measureColumns","colYs","cols","maxY","horizontalColIndex","getContainerWidth","columnWidth","firstItem","firstItemElem","gutter","_getOption","_getItemLayoutPosition","remainder","colSpan","colPosition","horizontalOrder","col","setHeight","setMax","_getTopColPosition","colGroup","_getTopColGroup","minimumY","groupCount","_getColGroupY","groupColYs","_getHorizontalColPosition","hasSize","_manageStamp","stampSize","_getElementOffset","firstX","lastX","firstCol","lastCol","stampMaxY","_getContainerSize","_getContainerFitWidth","unusedCols","needsResizeLayout","previousWidth","docElemStyle","transitionProperty","transformProperty","transitionEndEvent","WebkitTransition","vendorProperties","transitionDuration","transitionDelay","Item","layout","_create","_transn","ingProperties","onEnd","elemStyle","isOriginLeft","isOriginTop","xValue","yValue","layoutSize","layoutPosition","xPadding","xProperty","xResetProperty","getXValue","yPadding","yProperty","yResetProperty","getYValue","isHorizontal","percentPosition","_transitionTo","curX","curY","didNotMove","isTransitioning","transX","transY","transitionStyle","getTranslate","onTransitionEnd","isCleaning","goTo","moveTo","_nonTransition","_removeStyles","_transition","enableTransition","transitionProps","staggerDelay","onwebkitTransitionEnd","ontransitionend","onotransitionend","dashedVendorProperties","isEmptyObj","disableTransition","removeTransitionStyles","cleanStyle","cleanTransitionStyle","stagger","removeElem","hide","reveal","isHidden","getHideRevealTransitionEndProperty","onRevealTransitionEnd","hiddenStyle","visibleStyle","styleProperty","optionStyle","onHideTransitionEnd","GUID","instances","queryElement","$element","option","outlayerGUID","containerStyle","initLayout","originLeft","originTop","resizeContainer","subclass","Parent","SubClass","oldOption","horizontal","layoutInstant","reloadItems","stamps","bindResize","_itemize","itemElems","_filterFindItemElements","itemSelector","getItemElements","_manageStamps","isInstant","_isLayoutInited","layoutItems","_init","_getItemsForLayout","_layoutItems","_postLayout","isIgnored","_emitCompleteOnItems","isLayoutInstant","_processLayoutQueue","updateStagger","_positionItem","msUnits","getMilliseconds","_setContainerMeasure","isWidth","elemSize","onComplete","doneCount","tick","emitArgs","$event","Event","trigger","ignore","getItem","unignore","_find","unstamp","_getBoundingRect","boundingRect","_boundingRect","thisRect","isResizeBound","unbindResize","onresize","addItems","appended","prepended","previousItems","revealItemElements","getItems","hideItemElements","removeItems","removeData","bridget","ms","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","runClearTimeout","browser","argv","versions","removeAllListeners","prependListener","prependOnceListener","binding","cwd","chdir","dir","umask","stdout","stderr","initElements","applyOnClickEvent","toggleAriaPressed","newState","MutationObserver","mutations","mutation","addedNodes","childList","subtree","attributeFilter","handleToggleClick","labelAttrVal","hasAttribute","labelAttr","iconAttrVal","iconAttr","labelEl","currentLabel","iconEl","currentIcon","toggles","setupMutationObserver","mutationsList","reduce","acc","ClickAway","classesToRemove","setClassesToRemove","handleClick","handleKeydown","removeClasses","coordinatesAreOutsideBounds","targetIsOnOrWithinElement","classesString","attributeName","simulateClickAttr","triggers","targetElement","observerOptions","Compressed","compressedAmount","siblingElements","sibling","cursor","clickListener","toggleSiblingElements","isCompressed","Copy","copy","permissions","then","clipboard","writeText","catch","success","successNotice","errorNotice","notice","nextSibling","textContent","span","innerText","device","getDeviceType","deviceClass","DrawerAccessibility","drawer","firstMenuItem","getFirstMenuItem","lastItem","getLastItem","setupAccessibilityListeners","drawerItems","toggleDropdowns","dropdowns","toggleDropdownElements","dropdown","GoogleTranslate","originalLink","runCondition","htmlElement","moveToSelector","moveToAttributeName","canMoveTo","moveElement","__importDefault","mod","__esModule","initializeModal","gallery_1","Modal","openTrigger","closeTrigger","dialogs","galleryInstance","enableModals","modal","nodeName","showModal","lockScroll","dialog","unlockScroll","handleClickOutside","dialogElement","clickIsOutsideElement","observer","Nav","menu","targetItemSelector","selectorArray","setListeners","closeSiblings","toggleChildren","clickItem","getSiblings","closeChildren","openChildren","siblings","Node","ELEMENT_NODE","__createBinding","o","k2","desc","getOwnPropertyDescriptor","writable","configurable","__setModuleDefault","__importStar","initializeOpenStreetMaps","leaflet_1","showPost_1","zoomMarkerClick_1","zoomMarkerScroll_1","addMarkers_1","sidebar_1","osmHelpers_1","OpenStreetMap","setMapView","startPositionAttr","startPosition","tiles","getTilesStyle","initializeFeatures","addKeyboardEventListeners","markerElementObjects","getMarkerElementObjects","zoomToMarkerOnLoad","getCoordinatesFromURLSearchParams","zoomToMarker","getMarkersFromLayers","currentMarker","attributions","mapContainer","addedNode","locations","addMarkersToMap","allLocations","location","customIcon","createMarker","createTooltipFromTemplate","_e","_f","pushCoordinatesToBrowserHistory","backgroundColor","getPrimaryColor","replaceAll","figure","directions","excerpt","getPropertyValue","sidebar","getMarkerDataFromElement","getElementJSONLocation","locationAttr","hasMoreThanOnePin","searchParams","URLSearchParams","search","pathname","history","pushState","delete","replaceState","queryParams","pagination_1","clusters","paginationInstance","paginationTarget","instanceId","dataset","getInstance","handleCoordinatesFromURLSearchParams","handleBackButton","paginationContainer","keyboardEvent","clickEl","collectionItem","paginateSetCurrent","tableRefresh","paginationItem","backButton","moduleArea","scrollToTop","topPos","pageYOffset","getStickyHeaderWithMostHeight","header","headerRect","scrollIntoView","block","baseClass","expandSidebar","observeSizeClasses","oldValue","previousClasses","currentClasses","removedClasses","attributeOldValue","zoomListener","pair","filteredArray","observerIntersection","IntersectionObserver","entry","intersectionRatio","currentDate","initializePagination","maxPages","indexLinks","listContainer","prevBtn","nextBtn","getAttributes","randomize","random","setupSortListener","paginationCurrent","setCurrentPageFromURL","setPageNumberAttribute","paginationButtons","handlePopstate","sortElement","lists","createSortedArrays","manuallyDispatchedEvent","selectedValue","alphabetical","setSortedURLParam","setSortElementValueFromURL","titleA","titleB","localeCompare","pageNumber","keepDOM","paginateList","renderTable","paginatePages","paginationLinks","paginateLinkListeners","numberOfPages","navigation","pagesToShow","numPages","currentPage","setFocus","offsetPosition","setPageURLParam","paginationSorting","urlSearchParams","updatedUrl","pageNum","stickyQuickLinks","setClasses","ResizeMediaQuery","prefixName","defaultBreakpoints","xs","sm","md","lg","xl","resizeClass","resizeObserver","ResizeObserver","handleResize","contentRect","SelectElementSelector","Select","selectElement","getSelectElement","dropdownElement","getDropdownElement","actionOverlayElement","getActionOverlayElement","dropdownOptionElements","getDropdownOptionElements","dropDownElement","selectDropdownElementAttribute","clearButton","selectClearAttribute","expandLessIcon","expandLessIconCssClass","expandMoreIcon","expandMoreIconCssClass","placeholderText","placeholderAttribute","optionTemplate","setupEventListeners","setupOptionsObserver","disableMultiSelectOptionsWhenMaxSelectionsReached","updatePlaceholderText","updateClearButtonVisibilityState","closeSingleSelectDropdown","openDropdownOnSpacebar","setSingleSelectValue","updateDropdownAriaStateOnTopElementClassListChange","updateExpandIconsAriaStateOnTopElementClassListChange","runFunctionsRequiredForInitialization","isMultiSelect","selectOptionOnElementClick","optionElement","newValue","selectDropdownOptionElementAttribute","setMultiSelectValue","selectOptionOnDropdownOptionElementKeyDown","updateSelectedItemsListeners","updateVisualRepresentation","setIsEmptyState","setupClassListChangeEventDispatcher","limitReached","maxSelectionsReached","selected","optionListElementSelector","optionListElement","optionElements","updatedVisualOptionsList","visualOptionsList","getVisualOptionsList","selectedValues","getSelectedValues","deSelectOption","selectOption","activeOptionCssClass","maxSelections","getMaxSelections","maxSelectionsAttribute","getOptionElementByValue","dispatchSelectChangeEvent","emptySelectCssClass","resetDropdownElement","HTMLOptionElement","addNewOptionsToList","optionTemplateClone","dropdownOptionElement","jsDropdownOption","optionLabelElement","getUpdatedVisualOptionsList","selectedOptions","selectElementAttribute","actionOverlayElementAttribute","Select_1","selectComponentElementAttribute","initializeSlider","splide_1","video_1","SLIDER_ITEM","IS_PAUSED","Slider","sliderElement","autoslideToggleButton","autoPlay","ariaLabels","sliderAttributes","hasCustomButtons","buttonContainer","sliderType","autoslideToggle","addVideoControls","handleObserver","disconnect","videos","sliders","viewportWidth","scrollbar","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","Symbol","toStringTag","nmd","paths","CONTAINER","BUTTON","EXPANDED","HIDDEN","setMarginVariable","setProperty","expanded","safeExpanded","buttons","timer","isTab","toggleButton","handleAnchor","DATA","Filter","enableSearch","dataItems","dataString","searchId","inputId","toLocaleLowerCase","ToggleClasses","TRIGGER","ITEM","CLASS","GROUP","TRIGGER_DEPRECATED","ITEM_DEPRECATED","CLASS_DEPRECATED","GROUP_DEPRECATED","observeTriggers","togglePressedTrigger","pressedTriggerId","groupId","pressedTrigger","PRESSED","toggleIdleGroupMembers","idleTrigger","removeClassFromTriggeredItem","ariaPressed","idle","applyToggle","newTriggers","record","triggerId","Menu","DART","TARGET","EXPANDID","getSubitem","getNavbar","addTriggers","targetId","toggleAttribute","findItems","fetchJSONFile","httpRequest","XMLHttpRequest","onreadystatechange","status","responseText","send","appendItems","buildDOM","uniqID","substr","newLink","newEl","newSpan","createTextNode","newTgl","newBtn","newLbl","newIcon","newSubItem","form","fileInputOnChange","dataTransfer","DataTransfer","filesMax","countFilesUploaded","setupImageDrop","setupImageReset","currentFile","files","maxFileSize","validateFilesPromises","file","validateFile","Promise","all","theFile","setCustomValidity","reportValidity","finally","uploadedFiles","getAsFile","fileNameContainer","hasImagePreview","hiddenInput","createHiddenInput","imagePreviewId","imagePreviewElement","imgElement","previewLabel","objectUrl","URL","createObjectURL","backgroundImage","returnFileSize","fileSize","clickedEl","currentListItem","validateFileinputs","hasFile","fileupload","validation","formInput","imagePreviewArea","dropEffect","toFixed","visibileInput","numberOfInputs","reject","checkFileSize","checkImageDimensions","getImageDimensions","dimensions","checkboxGroups","setListener","checkboxGroup","checkboxes","validationElement","checkbox","validateCheckboxes","hasChecked","collapseSections","collapseButton","nextElementSibling","validatePolicy","groups","conditionalElements","condtionalTargets","handleRequired","conditions","show","arr","Fields","setupFormValidate","formEmpty","checkEmpty","getFieldWrapper","setValidationListeners","checkFormRequirements","checkboxHandler","policyHandler","fileinputHandler","keyup","focusout","submit","validateInput","submitCheck","valueLength","checkValidity","handleValid","handleInvalid","handleNotFilled","classToggle","fieldWrapper","submitButton","containsInvalid","emptyForm","attatchedFiles","checkInputs","formbuilder","sending","Calendar","labelSettings","colors","initday","indicator_type","indicator_pos","listPlaceholder","placeholder","outerHTML","months","days","defaultLabels","date","today","draw","setOnClickListener","Organizer","calendar","organizerInstance","onMonthChange","indicateEvents","setOnLongClickListener","back","previousLastDay","getMonth","getFullYear","getDate","changeDateTo","setMonth","setFullYear","soonLastDay","theDay","theBlock","setDate","calendarInstance","getDateString","backSvg","nextSvg","theCalendar","theContainers","theNames","backSlider","nextSlider","theText","theLabel","theRows","theDays","theRadios","htmlFor","theIndicator","firstDay","getDay","lastDay","firstDayLabel","firstDayLabelPos","setupBlock","blockId","onclick","theCase","backCallback","nextCallback","calendarId","clearHistory","addDate","showHistory","changedMonth","theOrganizer","theDate","theList","theHistory","showEvents","updateData","listItem","endTime","division","paragraph","remember","dateTitle","clickEvent","longPressed","longpressed","dayNumBlock","dayBlock","eventList","showPlaceholder","allDays","month","organizerId","setupLongClickBlock","mouseDownEvent","onmousedown","ontouchstart","containers","directionClass","setOnClickClose","removeFirst","notifications","maxAmount","targetNode","setAutoHideDuration","notification","autoHideDuration","DynamicSidebar","dynamicSidebars","endpoints","pageId","applySidebar","subContainer","getChildren","parentId","fetch","response","appendChildren","parentID","childItem","toggleTriggers","parentSubcontainer","Navbar","dynamicNavBar","pageID","pageParentID","navbarExpandedGrid","navBarGridItems","navbarExpandedMain","childItemsUrl","cleanUpNavBarContent","populateNavBarContent","setupPrevButton","getPageData","currentPageItems","anchorElement","createAnchorElement","previousPage","previousButton","preview","ResizeByChildren","RESIZE","currentChilds","widthStack","maxSize","KeepInViewPort","VIEWPORTRESIZE","VIEWPORT","ViewPortResizeContainer","resizeEvent","ViewPortContainer","moveInsideViewPort","viewPortRightDistance","keyPressed","subscribeInput","targetElements","repeat","handleInput","heroVideos","handleVideoPause","heroVideo","tooltips","tooltipLabel","handleLeave","handleHover","handleClasses","originalDirection","resetDirection","overflowRight","overflowLeft","scrollContainer","sectionElementPositions","headerHeight","sectionElements","elementPositions","sectionElement","scrollY","handleScroll","menuElements","scrollItems","currentScroll","handleAnchorMenu","TestimonialCarousel","carousel","CAROUSEL","ITEMS","IS_LARGE_SCREEN","isLargeScreen","windowResize","addButtonListeners","toggleVisible","toggleHidden","forwardButton","amount","updateCarousel","nextInt","currentSibling","Segment","SEGMENT","Table","table","isPagination","isFilterable","isSortable","isMultidimensional","rowHref","hasSumRow","tableInner","tableTable","filterInput","sortAddButtons","addCollapsibleEvent","updateOnScrollFunc","updateOnScroll","tableInnerWidth","tableLineWidth","tableScrollIndicator","tableScrollIndicatorWrapper","tableScrollIndicatorWidth","indicatorContainer","indicatorInput","indicatorInputLeft","offsetLeft","initialCursorPosition","handleMouseMoveFunc","handleMouseMove","filterList","filterValue","sortList","paginationRows","newList","lastRow","numeric","sortOrder","sumRow","sortData","sortDictator","comparableData","sortButtons","newOrder","dataId","scrolledPixels","scrollMax","inner","mouseMovedAmount","scrolledAmount","amountOfOverflow","indicatorPosition","acceptedSuppliers","localStorage","hasSuppressedContent","contentWrapper","host","handleReveal","needsAcceptance","supplier","revealContent","suppressedContentWrapper","initializeIframeAcceptance","contentUrl","setItem","stringify","setLocalStorage","handleEvents","SortInstance","SORTABLE","ORDER","DATACONTAINER","INITIAL","appendSortable","initialSort","sorted","applySort","SplitButtonInstance","SPLIT","DROPDOWNLISTVISIBLE","syncSplitButton","splitButton","actionButton","listItems","EventCalendarInstance","timeslots","initiateCalendar","eventsUrl","bookingUrl","weekStart","postEvents","headers","setButtonListener","calendarElement","setTimeslotListener","timeslot","timeslotParts","temp","setHours","createListElement","availableEvents","postUrl","organizer","eventsList","bookedEvents","listHeader","booked","available","TilesInstance","tileSizer","containerSelector","initTiles","NotificationDocInstance","notificationButton","notificationCopy","SidebarInstance","ATTR","EXPAND","EXPANDABLE","ACTIVE","SUBCONTAINER","TOGGLE","TOGGLE_TRIGGER","TOGGLE_ITEM","COLLAPSED","sb","activeItems","expandItem","getToggleId","addExpandClass","SteppersInstance","ButtonToggleContent","SimulateClick","AriaPressedToggler","selectComponentObserverInstance","SelectComponentObserver","ToggleClassesInstance","NotificationInstance","DynamicSidebarInstance","testimonial","moveElements"],"sourceRoot":""}