{"version":3,"file":"js/application-d0516adf70800185b8b2.js","mappings":"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","sources":["webpack://vpihamburg/./app/javascript/channels/ sync _channel\\.js$","webpack://vpihamburg/./app/javascript/channels/index.js","webpack://vpihamburg/./app/javascript/din_order_form.js","webpack://vpihamburg/./app/javascript/disclosure-widget.js","webpack://vpihamburg/./app/javascript/login-panel.js","webpack://vpihamburg/./app/javascript/navigation.js","webpack://vpihamburg/./app/javascript/scrollbar-width.js","webpack://vpihamburg/./app/javascript/async-items-fetcher.js","webpack://vpihamburg/./app/javascript/aria-accordion.js","webpack://vpihamburg/./app/javascript/aria-tabs.js","webpack://vpihamburg/./app/javascript/aria-tables.js","webpack://vpihamburg/./app/javascript/aria-slider.js","webpack://vpihamburg/./app/javascript/guideline_order_form_download.js","webpack://vpihamburg/./app/javascript/event_registration_submit.js","webpack://vpihamburg/./app/javascript/packs/application.js"],"sourcesContent":["function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = 5763760;\nmodule.exports = webpackEmptyContext;","// Load all the channels within this directory and all subdirectories.\n// Channel files must be named *_channel.js.\n\nconst channels = require.context('.', true, /_channel\\.js$/)\nchannels.keys().forEach(channels)\n","\"use strict\";\n\nvar DinOrderForm = {\n start: function() {\n this.form = document.getElementById(\"din_order_form\")\n if (this.form == undefined) {\n return\n }\n\n let _this = this;\n\n // this.handleBillingAddress()\n\n this.fee_container = document.getElementById(\"DinOrderFee\");\n this.terms_of_service = document.getElementById(\"ToSCheckbox\");\n this.license = document.getElementById(\"LicenseSelect\");\n this.sponsor = document.getElementById(\"SponsorCheckbox\");\n this.btn = document.getElementById(\"DinOrderSubmit\");\n this.fees = JSON.parse(this.fee_container.dataset.fees);\n\n if (this.fee_container != undefined) {\n this.terms_of_service.addEventListener('change', function() { _this.updateForm(_this) }, false );\n this.license.addEventListener('change', function() { _this.updateForm(_this) }, false );\n this.sponsor.addEventListener('change', function() { _this.updateForm(_this) }, false );\n }\n },\n\n handleBillingAddress: function() {\n const _this = this\n const hasBillingAddressLabel = this.form.querySelector(\"#has_billing_address_label\")\n\n hasBillingAddressLabel.addEventListener(\"click\", function() {\n _this.showHideBillingAddressFields()\n })\n\n this.showHideBillingAddressFields()\n },\n\n showHideBillingAddressFields: function() {\n const hasBillingAddressCheckbox = this.form.querySelector(\"#din_order_has_billing_address\")\n const billingAddressContainer = this.form.querySelector(\"#billing_address\")\n const billingAddressFields = billingAddressContainer.querySelectorAll(\"input, select\")\n\n if(hasBillingAddressCheckbox.checked) {\n billingAddressContainer.removeAttribute(\"hidden\")\n billingAddressFields.forEach(el => el.removeAttribute(\"disabled\"))\n } else {\n billingAddressContainer.setAttribute(\"hidden\", \"\")\n billingAddressFields.forEach(el => el.setAttribute(\"disabled\", \"\"))\n }\n },\n\n updateForm: function updateForm(_this) {\n _this.updatePrice();\n _this.handleBtnState();\n },\n\n updatePrice: function updatePrice() {\n var license = this.license.value;\n\n if(this.fees[license] == undefined) {\n this.fee_container.innerHTML = '';\n return;\n }\n\n var price = this.fees[license]['price'];\n var formatted_price = new Intl.NumberFormat('de-DE', {style: 'currency', currency: 'EUR' }).format(price);\n\n var html = '
' + formatted_price + '
';\n\n var discount = 0.00;\n\n if (this.sponsor.checked) {\n discount = this.fees[license]['discount'];\n }\n\n var formatted_discount = new Intl.NumberFormat('de-DE', {style: 'currency', currency: 'EUR' }).format(discount*-1);\n var formatted_total = new Intl.NumberFormat('de-DE', {style: 'currency', currency: 'EUR' }).format(price - discount);\n\n html = html + '
' + formatted_discount + '
' + formatted_total + '
';\n this.fee_container.innerHTML = html;\n },\n\n handleBtnState: function handleBtnState() {\n let tos_accepted = this.terms_of_service.checked;\n let product_chosen = this.fees[this.license.value] != undefined;\n\n if(product_chosen && tos_accepted) {\n this.btn.disabled = false;\n }\n else {\n this.btn.disabled = true;\n }\n }\n}\n\ndocument.addEventListener(\"turbolinks:load\", function() {\n DinOrderForm.start()\n})\n","\"use strict\";\n\nvar DisclosureWidget = {\n start: function start() {\n var dw_toggles = document.querySelectorAll('[data-toggle]');\n var dws = [];\n\n for (var i = 0; i < dw_toggles.length; i++) {\n dws[i] = new disclosureWidget(dw_toggles[i]);\n }\n }\n}\n\nexport default DisclosureWidget;\n\n\n/*\n * Collapsible panels\n */\n\nvar disclosureWidget = function disclosureWidget(el) {\n this.toggle = el;\n this.panel = this.getNextSibling(el, '[data-panel]');\n this.init();\n};\n\ndisclosureWidget.prototype.init = function () {\n var self = this;\n var ariaState = this.toggle.getAttribute(\"aria-expanded\");\n var startState = this.toggle.getAttribute(\"data-start-state\");\n var mobileOnly = this.toggle.getAttribute('data-mobile-only');\n\n if (mobileOnly) {\n var handleViewportChange = function handleViewportChange(e) {\n if (e.matches) {\n self.toggle.removeAttribute('hidden');\n\n if (startState === \"open\") {\n self.toggle.setAttribute(\"aria-expanded\", \"true\");\n self.openPanel();\n } else {\n self.toggle.setAttribute(\"aria-expanded\", \"false\");\n self.closePanel();\n }\n } else {\n self.toggle.setAttribute('hidden', '');\n self.toggle.setAttribute(\"aria-expanded\", \"true\");\n self.openPanel();\n }\n };\n\n var mediaQuery = window.matchMedia('(max-width: 880px)');\n mediaQuery.addListener(handleViewportChange);\n handleViewportChange(mediaQuery);\n } else {\n if (ariaState === null) {\n if (startState === \"open\") this.toggle.setAttribute(\"aria-expanded\", \"open\");else this.toggle.setAttribute(\"aria-expanded\", \"false\");\n }\n\n if (startState === \"open\") this.toggle.setAttribute(\"aria-expanded\", \"true\");else {\n this.toggle.setAttribute(\"aria-expanded\", \"false\");\n this.closePanel();\n }\n }\n\n this.toggle.addEventListener(\"click\", function () {\n var currentState = self.toggle.getAttribute(\"aria-expanded\"),\n newState = currentState === \"true\" ? \"false\" : \"true\";\n self.toggle.setAttribute(\"aria-expanded\", newState);\n\n if (newState === 'true') {\n self.openPanel(); // window.addEventListener('resize', this.updatePanelHeight.bind(this));\n } else {\n self.closePanel();\n self.toggle.focus();\n }\n });\n};\n\ndisclosureWidget.prototype.getNextSibling = function (elem, selector) {\n var sibling = elem.nextElementSibling;\n\n while (sibling) {\n if (sibling.matches(selector)) return sibling;\n sibling = sibling.nextElementSibling;\n }\n};\n\ndisclosureWidget.prototype.closePanel = function () {\n this.panel.setAttribute('hidden', '');\n this.toggle.setAttribute(\"aria-expanded\", 'false');\n open = false;\n};\n\ndisclosureWidget.prototype.openPanel = function () {\n open = true;\n this.panel.removeAttribute('hidden');\n};\n","\"use strict\";\n\nvar LoginPanel = {\n start: function start() {\n var dw_toggle = document.getElementById(\"js-login-toggle\") || null;\n var dw_panel = document.getElementById(\"js-login-panel\") || null;\n var login = document.getElementById('login') || null;\n\n if (login !== null) {\n var toggleLoginPanel = function toggleLoginPanel() {\n var currentState = dw_toggle.getAttribute(\"aria-expanded\"),\n newState = currentState === \"true\" ? \"false\" : \"true\";\n dw_toggle.setAttribute(\"aria-expanded\", newState);\n\n if (newState === 'true') {\n openPanel();\n } else {\n closePanel();\n dw_toggle.focus();\n }\n };\n\n var closePanel = function closePanel() {\n dw_panel.style.height = '0';\n dw_panel.style.visibility = 'hidden';\n dw_toggle.setAttribute(\"aria-expanded\", 'false');\n };\n\n var openPanel = function openPanel() {\n dw_panel.style.visibility = 'visible';\n dw_panel.style.height = panelHeight;\n };\n\n var panelHeight = dw_panel.offsetHeight + 'px';\n var ariaState = dw_toggle.getAttribute(\"aria-expanded\");\n\n if (ariaState === null) {\n dw_toggle.setAttribute(\"aria-expanded\", \"false\");\n closePanel();\n }\n\n dw_toggle.addEventListener(\"click\", toggleLoginPanel, false);\n login.addEventListener('keydown', function (e) {\n var keyCode = e.keyCode || e.which;\n var escKey = 27;\n var tabKey = 9;\n\n switch (keyCode) {\n case escKey:\n closePanel();\n break;\n\n default:\n break;\n }\n }, false); // close login panel when the user clicks outside of it\n\n var handleClosure = function handleClosure(event) {\n return !login.contains(event.target) && closePanel();\n }; // window.addEventListener('click', handleClosure);\n\n\n window.addEventListener('focusin', handleClosure);\n }\n }\n}\n\nexport default LoginPanel;\n","\"use strict\";\n\nvar util = {\n keyCodes: {\n UP: 38,\n DOWN: 40,\n LEFT: 37,\n RIGHT: 39,\n HOME: 36,\n END: 35,\n ENTER: 13,\n SPACE: 32,\n DELETE: 46,\n TAB: 9,\n ESC: 27\n }\n};\n\nvar getClosest = function getClosest(elem, selector) {\n for (; elem && elem !== document; elem = elem.parentNode) {\n if (elem.matches(selector)) return elem;\n }\n\n return null;\n};\n\nvar DropdownNav = function DropdownNav(el) {\n this.root = el;\n this.toggles = [];\n this.panels = [];\n this.openIndex = null;\n this.useArrowKeys = false;\n this.levelOneToggles = Array.from(el.querySelectorAll('.site-nav > li > a[role=\"button\"]')); // for the mobile functionality\n\n this.nav_toggle = document.getElementById(\"nav-toggle\");\n this.nav_closeBtn = document.getElementById(\"nav-closeBtn\");\n this.activeClass = 'nav-open';\n this.main = document.getElementById('main');\n this.footer = document.getElementById('main-footer');\n this.header = document.getElementById('main-header');\n this.siblings = document.querySelectorAll('header > .content-container > *:not(nav)');\n this.navContent = document.getElementById('nav-wrapper');\n this.mobile;\n var self = this;\n this.init();\n this.initMobileNav();\n var timeout = false,\n delay = 250;\n window.addEventListener('resize', function () {\n // console.log('resizing viewport');\n clearTimeout(timeout);\n timeout = setTimeout(this.handleViewportWidthChange, delay);\n });\n this.handleViewportWidthChange();\n};\n\nDropdownNav.prototype.init = function () {\n var _this = this;\n\n var self = this;\n var toggles = this.root.querySelectorAll('a[role=\"button\"]');\n toggles.forEach(function (toggle, i) {\n var panel = toggle.parentNode.querySelector('ul');\n\n if (panel) {\n _this.toggles.push(toggle);\n\n _this.panels.push(panel);\n\n toggle.setAttribute('aria-expanded', 'false');\n panel.addEventListener('keydown', function (e) {\n var index = self.panels.indexOf(this);\n self.handlePanelKeydown(e, index);\n });\n toggle.addEventListener('click', _this.handleToggleClick.bind(_this));\n toggle.addEventListener('keydown', _this.handleToggleKeydown.bind(_this));\n }\n });\n\n var handleClosure = function handleClosure(event) {\n return !_this.root.contains(event.target) && _this.handleNavBlur();\n };\n\n window.addEventListener('click', handleClosure);\n window.addEventListener('focusin', handleClosure);\n};\n\nDropdownNav.prototype.updatePathToCurrent = function () {\n var _this2 = this;\n\n var self = this;\n var currentLink = this.root.querySelector('[aria-current=\"page\"]');\n\n if (currentLink) {\n var parent = getClosest(currentLink, '.site-nav__item');\n var togglesInsideParent = parent.querySelectorAll('a[role=\"button\"]');\n togglesInsideParent.forEach(function (toggle, index) {\n if (self.mobile) self.expandToggle(index);else {\n self.expandToggle(index);\n if (self.isLevelOneToggle(toggle)) _this2.collapseToggle(index);\n }\n });\n }\n};\n\nDropdownNav.prototype.initMobileNav = function () {\n var self = this;\n self.nav_closeBtn.removeAttribute('hidden');\n self.nav_toggle.removeAttribute('hidden');\n self.nav_closeBtn.addEventListener('click', function () {\n self.hideNav();\n self.nav_toggle.focus();\n }, false);\n self.nav_toggle.addEventListener(\"click\", this.showNav.bind(this), false);\n\n if (self.mobile) {\n self.hideNav(); // initially closed on mobile\n\n self.navContent.setAttribute('aria-hidden', 'true'); // prevent focus from going into the nav when it's off canvas\n\n self.navContent.setAttribute('inert', '');\n }\n};\n\nDropdownNav.prototype.handleViewportWidthChange = function () {\n var self = this;\n var mediaQuery = window.matchMedia('(max-width: 880px)');\n\n function handleViewportChange(e) {\n if (e.matches) {\n // console.log('matches mobile');\n self.mobile = true;\n self.initMobileNav();\n self.updatePathToCurrent();\n } else {\n // console.log('matches desktop');\n self.mobile = false;\n self.showNav();\n self.updatePathToCurrent();\n }\n }\n\n mediaQuery.addEventListener('change', handleViewportChange);\n handleViewportChange(mediaQuery);\n};\n\nDropdownNav.prototype.hideNav = function () {\n var self = this;\n self.root.classList.add('closed');\n self.nav_toggle.setAttribute(\"aria-expanded\", 'false');\n setTimeout(function () {\n self.navContent.style.visibility = \"hidden\";\n }, 400);\n self.navContent.setAttribute('inert', '');\n self.navContent.setAttribute('aria-hidden', 'true');\n document.body.classList.remove(self.activeClass);\n self.removeOuterContentInert();\n};\n\nDropdownNav.prototype.showNav = function () {\n var self = this;\n self.nav_toggle.setAttribute(\"aria-expanded\", 'true');\n self.navContent.style.visibility = \"visible\";\n self.slideNavOut();\n self.navContent.removeAttribute('inert');\n self.navContent.setAttribute('aria-hidden', 'false');\n\n if (self.mobile) {\n document.body.classList.add(self.activeClass);\n self.makeOuterContentInert();\n self.trapFocus(self.root);\n }\n};\n\nDropdownNav.prototype.makeOuterContentInert = function () {\n var self = this;\n\n if (self.main) {\n self.main.setAttribute('inert', '');\n self.main.setAttribute('aria-hidden', 'true');\n }\n\n if (self.footer) {\n self.footer.setAttribute('inert', '');\n self.footer.setAttribute('aria-hidden', 'true');\n }\n\n for (var i = 0; i < self.siblings.length; i++) {\n self.siblings[i].setAttribute('inert', 'true');\n self.siblings[i].setAttribute('aria-hidden', 'true');\n }\n};\n\nDropdownNav.prototype.removeOuterContentInert = function () {\n var self = this;\n\n if (self.main) {\n self.main.removeAttribute('inert');\n self.main.removeAttribute('aria-hidden');\n }\n\n if (self.footer) {\n self.footer.removeAttribute('inert');\n self.footer.removeAttribute('aria-hidden');\n }\n\n for (var i = 0; i < self.siblings.length; i++) {\n self.siblings[i].removeAttribute('inert');\n self.siblings[i].removeAttribute('aria-hidden');\n }\n};\n\nDropdownNav.prototype.slideNavOut = function () {\n var self = this;\n self.root.classList.remove('closed');\n self.root.focus();\n};\n\nDropdownNav.prototype.handlePanelKeydown = function (e, index) {\n e.stopPropagation();\n var keyCode = e.keyCode || e.which,\n self = this;\n\n switch (keyCode) {\n case util.keyCodes.ESC:\n self.closePanel(index);\n break;\n }\n};\n\nDropdownNav.prototype.trapFocus = function (element) {\n var firstClass = 'js-first-focus';\n var lastClass = 'js-last-focus';\n var self = this;\n var tabFocusElements = 'button:not([hidden]):not([disabled]), [href]:not([hidden]), input:not([hidden]):not([type=\"hidden\"]):not([disabled]), select:not([hidden]):not([disabled]), textarea:not([hidden]):not([disabled]), [tabindex=\"0\"]:not([hidden]):not([disabled]), summary:not([hidden]), [contenteditable]:not([hidden]), audio[controls]:not([hidden]), video[controls]:not([hidden])';\n var focusable = element.querySelectorAll(tabFocusElements); // the first focusable element is the toggle button, but with the nav open, we don't want that one to be focused\n\n self.nav_closeBtn.classList.add(firstClass);\n focusable[focusable.length - 1].classList.add(lastClass);\n element.addEventListener('keydown', function (e) {\n var keyCode = e.keyCode || e.which;\n var escKey = 27;\n var tabKey = 9;\n\n if (document.body.classList.contains(self.activeClass)) {\n switch (keyCode) {\n case escKey:\n self.hideNav();\n break;\n\n default:\n break;\n }\n\n if (document.body.classList.contains(self.activeClass)) {\n var firstFocus = element.querySelector('.' + firstClass);\n var lastFocus = element.querySelector('.' + lastClass);\n }\n\n if (document.activeElement.classList.contains(lastClass)) {\n if (keyCode === tabKey && !e.shiftKey) {\n e.preventDefault();\n firstFocus.focus();\n }\n }\n\n if (document.activeElement.classList.contains(firstClass)) {\n if (keyCode === tabKey && e.shiftKey) {\n e.preventDefault();\n lastFocus.focus();\n }\n }\n }\n });\n};\n\nDropdownNav.prototype.handleNavBlur = function (e) {\n this.toggles.forEach(function (toggle, i) {\n toggle.setAttribute('aria-expanded', 'false');\n });\n};\n\nDropdownNav.prototype.closePanel = function (index) {\n var self = this;\n self.collapseToggle(index);\n self.toggles[index].focus();\n};\n\nDropdownNav.prototype.isLevelOneToggle = function (toggle) {\n return this.levelOneToggles.includes(toggle);\n};\n\nDropdownNav.prototype.handleToggleClick = function (e) {\n e.preventDefault();\n var self = this;\n var toggle = e.target;\n self.handleToggle(toggle);\n};\n\nDropdownNav.prototype.handleToggle = function (toggle) {\n var self = this;\n var currentIndex = self.toggles.indexOf(toggle);\n var currentState = toggle.getAttribute(\"aria-expanded\"),\n newState = currentState === \"true\" ? \"false\" : \"true\";\n\n if (newState === 'true') {\n self.expandToggle(currentIndex);\n } else {\n self.collapseToggle(currentIndex);\n }\n};\n\nDropdownNav.prototype.handleToggleKeydown = function (e) {\n var keyCode = e.keyCode || e.which,\n toggle = e.target,\n self = this;\n\n switch (keyCode) {\n case util.keyCodes.ENTER:\n case util.keyCodes.SPACE:\n e.preventDefault();\n self.handleToggle(toggle);\n break;\n }\n};\n\nDropdownNav.prototype.collapseToggle = function (i) {\n var self = this,\n toggle = self.toggles[i];\n var hasCurrent = toggle.parentNode.querySelector('[aria-current=\"page\"]');\n toggle.setAttribute(\"aria-expanded\", 'false');\n\n if (self.isLevelOneToggle(toggle)) {\n self.closeSublevelPanels(toggle);\n }\n};\n\nDropdownNav.prototype.closeSublevelPanels = function (toggle) {\n var self = this,\n nextul = toggle.nextElementSibling,\n subLevelToggles = nextul.querySelectorAll('[role=\"button\"][aria-expanded=\"true\"]');\n var hasCurrent = toggle.parentNode.querySelector('[aria-current=\"page\"]'); // if it does not contain the currently active link, close all submenus\n\n if (hasCurrent === null) {\n Array.from(subLevelToggles).forEach(function (sub, i) {\n sub.setAttribute(\"aria-expanded\", 'false');\n var toggleIndex = self.toggles.indexOf(sub);\n });\n } else {\n return;\n }\n};\n\nDropdownNav.prototype.expandToggle = function (i) {\n var toggle = this.toggles[i],\n self = this;\n toggle.setAttribute(\"aria-expanded\", 'true');\n\n if (!self.mobile) {\n if (self.isLevelOneToggle(toggle)) {\n self.closeOtherToggles(toggle);\n }\n }\n};\n\nDropdownNav.prototype.closeOtherToggles = function (toggle) {\n var self = this,\n currentIndex = self.toggles.indexOf(toggle);\n self.toggles.forEach(function (toggle, index) {\n var hasCurrent = toggle.parentNode.querySelector('[aria-current=\"page\"]'); // if it's a level one toggle & doesn't contain the currently active page\n\n if (index !== currentIndex && self.isLevelOneToggle(toggle) && hasCurrent === null) {\n self.collapseToggle(index); // collapse all subpanels\n\n self.closeSublevelPanels(toggle);\n } // if it does contain the currently active page, we wanna keep the subpanels open to make the current page visible\n else if (index !== currentIndex && self.isLevelOneToggle(toggle) && hasCurrent !== null) {\n self.collapseToggle(index); // but don't collapse subpanels\n }\n });\n};\n\nvar Navigation = {\n start: function start() {\n let nav = document.querySelector('.main-nav');\n if (nav) nav = new DropdownNav(nav);\n }\n}\n\nexport default Navigation;\n","/************************************************************************************************\n *\n * This function calculates the width of the browser scrollbar,\n * and then stores this value in the CSS variable --scrollbar\n * source: https://codepen.io/Mamboleoo/post/scrollbars-and-css-custom-properties#my-solution-5\n *\n *************************************************************************************************/\n\nvar ScrollbarWidth = {\n get: function get() {\n // Create a temporary div container and append it into the body\n var container = document.createElement('div'); // Append the container in the body\n\n document.body.appendChild(container); // Force scrollbar on the container\n\n container.style.overflow = 'scroll'; // Add ad fake div inside the container\n\n var inner = document.createElement('div');\n container.appendChild(inner); // Calculate the width based on the container width minus its child width\n\n var width = container.offsetWidth - inner.offsetWidth; // Remove the container from the body\n\n document.body.removeChild(container);\n return width;\n },\n start: function start() {\n var scrollbarWidth = this.get(); // Set a custom property with the value we calculated\n document.documentElement.style.setProperty('--scrollbar', \"\".concat(scrollbarWidth, \"px\"));\n }\n}\n\nexport default ScrollbarWidth;\n","\"use strict\";\n\nvar AsyncItemsFetcher = {\n start: function start() {\n var els = document.querySelectorAll(\"[data-async-items]\");\n var fetcher = this;\n\n els.forEach(function (el) {\n fetcher.init(el);\n });\n },\n init: function init(el) {\n var url = el.getAttribute(\"data-url\");\n var limit = el.getAttribute(\"data-limit\") || 2;\n var tags = el.getAttribute(\"data-tags\");\n\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url+\"?tags=\"+tags+\"&limit=\"+limit);\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n\n xhr.onload = function () {\n // in case our backend responds with status 404\n // we want to hide our container element\n if(xhr.status == 404) {\n el.hidden = true;\n } else {\n el.innerHTML = xhr.response;\n }\n };\n\n xhr.onerror = function () {\n console.error('Error while fetching items from ' + url + '. Response code ' + xhr.status);\n };\n\n xhr.send();\n }\n}\n\nexport default AsyncItemsFetcher;\n","\"use strict\";\n\nvar ARIAaccordion = {\n util: {\n keyCodes: {\n UP: 38,\n DOWN: 40,\n LEFT: 37,\n RIGHT: 39,\n HOME: 36,\n END: 35,\n ENTER: 13,\n SPACE: 32,\n DELETE: 46,\n TAB: 9\n },\n generateID: function generateID(base) {\n return base + Math.floor(Math.random() * 999);\n },\n getClosest: function getClosest(elem, selector) {\n for (; elem && elem !== document; elem = elem.parentNode) {\n if (elem.matches(selector)) return elem;\n }\n return null;\n }\n },\n init: function init(el, options) {\n var default_options = {\n showOneAnswerAtATime: false,\n allCollapsed: true,\n withControls: true,\n icon: \"\"\n };\n /**\n * ARIA Accordion\n * Creates a tab list to toggle the visibility of\n * different subsections of a document.\n *\n * Author: Sara Soueidan\n * Version: 0.2.0\n */\n\n var _options = Object.assign(default_options, options);\n\n var accordionHeadings = el.querySelectorAll(\"[data-accordion-toggle]\");\n var accordionPanels = el.querySelectorAll(\"[data-accordion-panel]\");\n var controlsWrapper;\n var expandButton;\n var collapseButton;\n var util = this.util;\n var accID = util.generateID(\"c-accordion-\");\n\n var createControls = function createControls() {\n controlsWrapper = document.createElement(\"div\");\n controlsWrapper.setAttribute(\"data-accordion-controls\", \"\");\n el.prepend(controlsWrapper);\n expandButton = document.createElement(\"button\");\n expandButton.setAttribute(\"data-accordion-control\", \"expand\");\n expandButton.setAttribute(\"aria-label\", \"Expand all panels\");\n expandButton.innerText = \"Expand All\";\n controlsWrapper.appendChild(expandButton);\n collapseButton = document.createElement(\"button\");\n collapseButton.setAttribute(\"data-accordion-control\", \"collapse\");\n collapseButton.setAttribute(\"aria-label\", \"Collapse all panels\");\n collapseButton.innerText = \"collapse All\";\n controlsWrapper.appendChild(collapseButton); // if we start out with an accordion whose panels are collapsed (as opposed to open)\n // disable the Collapse All button\n\n if (_options.allCollapsed) disableCollapseButton();\n setupAccordionControls();\n };\n\n var setupAccordionControls = function setupAccordionControls() {\n expandButton.addEventListener(\"click\", function () {\n // expand them all\n Array.from(accordionHeadings).forEach(function (item, index) {\n item.querySelector(\"button\").setAttribute(\"aria-expanded\", \"true\");\n });\n Array.from(accordionPanels).forEach(function (item, index) {\n item.setAttribute(\"aria-hidden\", \"false\");\n });\n disableExpandButton();\n enableCollapseButton();\n });\n collapseButton.addEventListener(\"click\", function () {\n Array.from(accordionHeadings).forEach(function (item, index) {\n item.querySelector(\"button\").setAttribute(\"aria-expanded\", \"false\");\n });\n Array.from(accordionPanels).forEach(function (item, index) {\n item.setAttribute(\"aria-hidden\", \"true\");\n });\n disableCollapseButton();\n enableExpandButton();\n });\n };\n\n var setupAccordionHeadings = function setupAccordionHeadings(accordionHeadings) {\n Array.from(accordionHeadings).forEach(function (item, index) {\n var $this = item;\n var text = $this.innerHTML;\n var toggleButton = document.createElement(\"button\");\n toggleButton.setAttribute(\"aria-expanded\", \"false\");\n toggleButton.setAttribute(\"data-accordion-toggle\", \"\");\n toggleButton.setAttribute(\"id\", accID + \"__heading-\" + index);\n toggleButton.setAttribute(\"aria-controls\", accID + \"__panel-\" + index);\n toggleButton.innerHTML = text;\n\n $this.innerHTML = \"\";\n $this.appendChild(toggleButton);\n toggleButton.innerHTML += _options.icon;\n toggleButton.addEventListener(\"click\", function (e) {\n togglePanel(toggleButton);\n });\n });\n };\n\n var setupAccordionPanels = function setupAccordionPanels(accordionPanels) {\n Array.from(accordionPanels).forEach(function (item, index) {\n var $this = item;\n $this.setAttribute(\"id\", accID + \"__panel-\" + index);\n $this.setAttribute(\"aria-labelledby\", accID + \"__heading-\" + index);\n $this.setAttribute(\"aria-hidden\", \"true\");\n });\n };\n\n var togglePanel = function togglePanel(toggleButton) {\n var thepanel = toggleButton.parentNode.nextElementSibling;\n\n if (el.classList.contains('emg-downloads__content')) {\n var parent = util.getClosest(toggleButton, '.emg-downloads__item');\n var thepanel = parent.querySelector('[data-accordion-panel]');\n }\n\n if (toggleButton.getAttribute(\"aria-expanded\") == \"true\") {\n toggleButton.setAttribute(\"aria-expanded\", \"false\");\n thepanel.setAttribute(\"aria-hidden\", \"true\");\n checkToggleCollapseButtonState();\n checkToggleExpandButtonState();\n } else {\n if (_options.showOneAnswerAtATime) {\n // Hide all answers\n Array.from(accordionPanels).forEach(function (panel) {\n panel.setAttribute(\"aria-hidden\", \"true\");\n });\n Array.from(accordionHeadings).forEach(function (heading) {\n heading.querySelector(\"button\").setAttribute(\"aria-expanded\", \"false\");\n });\n checkToggleCollapseButtonState();\n checkToggleExpandButtonState();\n } // Show answer\n\n\n toggleButton.setAttribute(\"aria-expanded\", \"true\");\n thepanel.setAttribute(\"aria-hidden\", \"false\");\n checkToggleCollapseButtonState();\n checkToggleExpandButtonState();\n }\n };\n\n var enableCollapseButton = function enableCollapseButton() {\n if (collapseButton) collapseButton.removeAttribute(\"disabled\");\n };\n\n var disableCollapseButton = function disableCollapseButton() {\n if (collapseButton) collapseButton.setAttribute(\"disabled\", \"disabled\");\n };\n\n var enableExpandButton = function enableExpandButton() {\n if (expandButton) expandButton.removeAttribute(\"disabled\");\n };\n\n var disableExpandButton = function disableExpandButton() {\n if (expandButton) expandButton.setAttribute(\"disabled\", \"disabled\");\n };\n\n var checkToggleExpandButtonState = function checkToggleExpandButtonState() {\n var closedPanels = el.querySelectorAll('button[aria-expanded=\"false\"]');\n\n if (!closedPanels.length) {\n disableExpandButton();\n } else {\n enableExpandButton();\n }\n };\n\n var checkToggleCollapseButtonState = function checkToggleCollapseButtonState() {\n var openPanels = el.querySelectorAll('button[aria-expanded=\"true\"]');\n\n if (openPanels.length === 0) {\n disableCollapseButton();\n } else {\n enableCollapseButton();\n }\n };\n\n // if you have any functionality in CSS that needs JS to be activated\n // this class added to the accordion container works as a JS hook to announce JS is enabled\n // in the CSS, we have a part that adds borders and paddings to the headings, buttons and panels\n // these borders and padding are only needed if the content turns into an accordion\n el.classList.add(\"js-accordion\");\n setupAccordionHeadings(accordionHeadings);\n setupAccordionPanels(accordionPanels);\n\n if (_options.withControls) {\n createControls();\n }\n },\n start: function start() {\n var els = document.querySelectorAll(\"[data-accordion]\");\n for (var i = 0; i < els.length; i++) {\n this.init(els[i], {\n withControls: false\n });\n }\n }\n}\n\nexport default ARIAaccordion;\n","\"use strict\";\n\nvar ARIAtabs = {\n util: {\n keyCodes: {\n UP: 38,\n DOWN: 40,\n LEFT: 37,\n RIGHT: 39,\n HOME: 36,\n END: 35,\n ENTER: 13,\n SPACE: 32,\n DELETE: 46,\n TAB: 9\n },\n generateID: function generateID(base) {\n return base + Math.floor(Math.random() * 999);\n },\n getUrlHash: function getUrlHash() {\n return window.location.hash.replace('#', '');\n },\n\n /**\n * Use history.replaceState so clicking through Tabs\n * does not create dozens of new history entries.\n * Browser back should navigate to the previous page\n * regardless of how many Tabs were activated.\n *\n * @param {string} hash\n */\n setUrlHash: function setUrlHash(hash) {\n if (history.replaceState) {\n history.replaceState(null, '', '#' + hash);\n } else {\n location.hash = hash;\n }\n }\n },\n init: function init(el, options) {\n var default_options = {\n manual: true,\n open: 0,\n icon: \"\"\n };\n\n var util = this.util;\n\n var _options = Object.assign(default_options, options);\n\n var tablist = el.querySelector(\"[data-tablist]\");\n var tabs = Array.from(el.querySelectorAll(\"[data-tab]\"));\n var tabpanels = Array.from(el.querySelectorAll(\"[data-tabpanel]\"));\n var tabsID = util.generateID('ps__tabs-'); // var orientation = el.getAttribute('data-tabs-orientation');\n\n var currentIndex = _options.open;\n var selectedTab = currentIndex;\n var manual = _options.manual; // panel titles will become accordion headings/toggles on mobile\n\n var accordionHeadings = Array.from(el.querySelectorAll(\".c-tabs__tabpanel__title\")); // panel content wrappers will become accordion panels on mobile\n\n var accordionPanels = Array.from(el.querySelectorAll(\".c-tabs__tabpanel__content\"));\n var tabbed = true,\n // indicates if the component is in tabs state (vs. accordion state)\n mobile = false; // viewport size\n\n var timeout = false;\n var delay = 250;\n\n el.setAttribute('id', tabsID);\n\n var handleViewportWidthChange = function handleViewportWidthChange() {\n var mediaQuery = window.matchMedia('(max-width: 880px)');\n\n function handleViewportChange(e) {\n if (e.matches) {\n mobile = true;\n initAccordion();\n console.log('making it an accordion');\n } else {\n mobile = false;\n initTabs();\n console.log('making it tabs');\n }\n }\n\n mediaQuery.addEventListener('change', handleViewportChange);\n handleViewportChange(mediaQuery);\n };\n\n var initTabs = function initTabs() {\n if (tabbed === false) {\n undoAccordion();\n tabbed = true;\n }\n\n el.classList.add('js-tabs');\n el.classList.remove('js-accordion');\n tablist.removeAttribute('hidden');\n setupTabList();\n setupTabs();\n setupTabPanels();\n };\n\n var initAccordion = function initAccordion() {\n if (tabbed === true) {\n undoTabs();\n tabbed = false;\n }\n\n el.classList.add('js-accordion');\n setupAccordionHeadings(accordionHeadings);\n setupAccordionPanels(accordionPanels);\n };\n\n var undoAccordion = function undoAccordion() {\n Array.from(accordionHeadings).forEach(function (item, index) {\n var $this = item;\n var headingButton = $this.querySelector(\"button\");\n var text = headingButton.innerText;\n headingButton.remove();\n $this.innerText = text;\n });\n Array.from(accordionPanels).forEach(function (item, index) {\n var $this = item;\n $this.classList.remove('c-tabs__accordion-panel');\n $this.removeAttribute(\"id\");\n $this.removeAttribute(\"aria-labelledby\");\n $this.removeAttribute(\"aria-hidden\");\n });\n };\n\n var setupAccordionHeadings = function setupAccordionHeadings() {\n Array.from(accordionHeadings).forEach(function (item, index) {\n var $this = item;\n var text = $this.innerText;\n var headingButton = document.createElement(\"button\");\n headingButton.setAttribute(\"type\", \"button\");\n headingButton.setAttribute(\"aria-expanded\", \"false\");\n headingButton.setAttribute(\"data-accordion-toggle\", \"\");\n headingButton.setAttribute(\"id\", tabsID + \"__heading-\" + index);\n headingButton.setAttribute(\"aria-controls\", tabsID + \"__panel-\" + index);\n headingButton.innerText = text;\n $this.innerHTML = \"\";\n $this.appendChild(headingButton);\n headingButton.innerHTML += _options.icon;\n headingButton.addEventListener(\"click\", function (e) {\n togglePanel(headingButton);\n });\n headingButton.addEventListener(\"focus\", function (e) {\n currentIndex = index;\n });\n });\n };\n\n var setupAccordionPanels = function setupAccordionPanels(accordionPanels) {\n Array.from(accordionPanels).forEach(function (item, index) {\n var $this = item;\n $this.classList.add('c-tabs__accordion-panel');\n $this.setAttribute(\"id\", tabsID + \"__panel-\" + index);\n $this.setAttribute(\"aria-labelledby\", tabsID + \"__heading-\" + index);\n $this.setAttribute(\"aria-hidden\", \"true\");\n });\n };\n\n var togglePanel = function togglePanel(toggleButton) {\n var thepanel = toggleButton.parentNode.nextElementSibling;\n\n if (toggleButton.getAttribute(\"aria-expanded\") == \"true\") {\n toggleButton.setAttribute(\"aria-expanded\", \"false\");\n thepanel.setAttribute(\"aria-hidden\", \"true\");\n } else {\n toggleButton.setAttribute(\"aria-expanded\", \"true\");\n thepanel.setAttribute(\"aria-hidden\", \"false\");\n }\n };\n\n var undoTabs = function undoTabs() {\n el.classList.remove('js-tabs');\n tablist.setAttribute('hidden', '');\n tablist.removeAttribute(\"role\");\n tabpanels.forEach(function (tabpanel, index) {\n tabpanel.removeAttribute('role');\n tabpanel.removeAttribute('aria-labelledby');\n tabpanel.removeAttribute('hidden');\n tabpanel.removeEventListener('keydown', function (e) {\n panelKeyboardRespond(e);\n }, false);\n tabpanel.removeEventListener(\"blur\", function () {// tabpanel.setAttribute('tabindex', '-1');\n }, false);\n });\n };\n\n var setupTabList = function setupTabList() {\n tablist.setAttribute(\"role\", \"tablist\");\n var listItems = tablist.querySelectorAll('li');\n listItems.forEach(function (item) {\n item.setAttribute('role', 'presentation');\n }); // if (orientation == 'vertical') tablist.setAttribute(\"aria-orientation\", \"vertical\");\n };\n\n var setupTabs = function setupTabs() {\n tabs.forEach(function (tab, index) {\n tab.setAttribute('role', 'tab'); // each tab needs an ID that will be used to label its corresponding panel\n\n tab.setAttribute('id', tabsID + '__tab-' + index);\n tab.setAttribute('data-controls', tabpanels[index].getAttribute('id')); // first tab is initially active\n\n if (index === currentIndex) {\n selectTab(tab); // updateUrlHash();\n }\n\n if (tab.getAttribute('data-controls') === util.getUrlHash()) {\n currentIndex = index;\n selectedTab = index;\n selectTab(tab);\n }\n\n tab.addEventListener('click', function (e) {\n e.preventDefault();\n currentIndex = index;\n selectedTab = index;\n focusCurrentTab();\n selectTab(tab);\n updateUrlHash();\n }, false);\n tab.addEventListener('keydown', function (e) {\n tabKeyboardRespond(e, tab);\n }, false); // if(index == currentIndex) {\n // tab.focus();\n // }\n });\n };\n\n var focusCurrentTab = function focusCurrentTab() {\n tabs[currentIndex].focus();\n };\n\n var updateUrlHash = function updateUrlHash() {\n var active = tabs[selectedTab];\n util.setUrlHash(active.getAttribute('data-controls'));\n };\n\n var selectTab = function selectTab(tab) {\n // unactivate all other tabs\n tabs.forEach(function (tab) {\n tab.setAttribute('aria-selected', 'false');\n tab.setAttribute('tabindex', '-1');\n }); //activate current tab\n\n tab.setAttribute('aria-selected', 'true');\n tab.setAttribute('tabindex', '0'); // activate corresponding panel\n\n showTabpanel(tab);\n };\n\n var setupTabPanels = function setupTabPanels() {\n tabpanels.forEach(function (tabpanel, index) {\n tabpanel.setAttribute('role', 'tabpanel'); // tabpanel.setAttribute('tabindex', '-1');\n\n tabpanel.setAttribute('hidden', '');\n\n if (index == currentIndex) {\n tabpanel.removeAttribute('hidden');\n }\n\n tabpanel.addEventListener('keydown', function (e) {\n panelKeyboardRespond(e);\n }, false);\n tabpanel.addEventListener(\"blur\", function () {\n tabpanel.setAttribute('tabindex', '-1');\n }, false);\n });\n };\n\n var panelKeyboardRespond = function panelKeyboardRespond(e) {\n var keyCode = e.keyCode || e.which;\n\n switch (keyCode) {\n case util.keyCodes.TAB:\n tabpanels[currentIndex].setAttribute('tabindex', '-1');\n break;\n\n default:\n break;\n }\n };\n\n var showTabpanel = function showTabpanel(tab) {\n tabpanels.forEach(function (tabpanel, index) {\n tabpanel.setAttribute('hidden', ''); // tabpanel.removeAttribute('tabindex');\n\n if (index == currentIndex) {\n tabpanel.removeAttribute('hidden');\n tabpanel.setAttribute('aria-labelledby', tabs[currentIndex].getAttribute('id'));\n tabpanel.setAttribute('tabindex', '0');\n }\n });\n };\n\n var incrementcurrentIndex = function incrementcurrentIndex() {\n if (currentIndex < tabs.length - 1) {\n return ++currentIndex;\n } else {\n currentIndex = 0;\n return currentIndex;\n }\n };\n\n var decrementcurrentIndex = function decrementcurrentIndex() {\n if (currentIndex > 0) {\n return --currentIndex;\n } else {\n currentIndex = tabs.length - 1;\n return currentIndex;\n }\n };\n\n var tabKeyboardRespond = function tabKeyboardRespond(e, tab) {\n var firstTab = tabs[0];\n var lastTab = tabs[tabs.length - 1];\n var keyCode = e.keyCode || e.which;\n\n switch (keyCode) {\n case util.keyCodes.UP:\n case util.keyCodes.LEFT:\n e.preventDefault();\n decrementcurrentIndex();\n focusCurrentTab();\n\n if (!manual) {\n selectedTab = currentIndex;\n selectTab(tabs[selectedTab]);\n updateUrlHash();\n }\n\n break;\n\n case util.keyCodes.DOWN:\n case util.keyCodes.RIGHT:\n e.preventDefault();\n incrementcurrentIndex();\n focusCurrentTab();\n\n if (!manual) {\n selectedTab = currentIndex;\n selectTab(tabs[selectedTab]);\n updateUrlHash();\n }\n\n break;\n\n case util.keyCodes.ENTER:\n case util.keyCodes.SPACE:\n e.preventDefault();\n selectedTab = currentIndex;\n selectTab(tabs[selectedTab]);\n updateUrlHash();\n break;\n\n case util.keyCodes.TAB:\n tabpanels[selectedTab].setAttribute('tabindex', '0');\n currentIndex = selectedTab;\n break;\n\n case util.keyCodes.HOME:\n e.preventDefault();\n firstTab.focus();\n updateUrlHash();\n break;\n\n case util.keyCodes.END:\n e.preventDefault();\n lastTab.focus();\n updateUrlHash();\n break;\n }\n };\n\n window.addEventListener('resize', function () {\n clearTimeout(timeout);\n timeout = setTimeout(handleViewportWidthChange, delay);\n });\n\n handleViewportWidthChange();\n },\n start: function start() {\n var els = document.querySelectorAll(\"[data-tabs]\");\n for (var i = 0; i < els.length; i++) {\n this.init(els[i], {\n manual: true\n }); // if manual is set to false, the tabs open on focus without needing an ENTER or SPACE press\n }\n }\n}\n\nexport default ARIAtabs;\n","// https://adrianroselli.com/2018/02/tables-css-display-properties-and-aria.html\n// https://adrianroselli.com/2018/05/functions-to-add-aria-to-tables-and-lists.html\n\nvar ARIAtables = {\n responsiveCellHeaders: function responsiveCellHeaders(table) {\n try {\n var THarray = [];\n var ths = table.getElementsByTagName(\"th\");\n\n for (var i = 0; i < ths.length; i++) {\n var headingText = ths[i].innerHTML;\n THarray.push(headingText);\n }\n\n var styleElm = document.createElement(\"style\"),\n styleSheet;\n document.head.appendChild(styleElm);\n styleSheet = styleElm.sheet;\n\n for (var i = 0; i < THarray.length; i++) {\n styleSheet.insertRule(\"#\" + elmID + \" td:nth-child(\" + (i + 1) + ')::before {content:\"' + THarray[i] + ': \";}', styleSheet.cssRules.length);\n }\n } catch (e) {\n console.log(\"ResponsiveCellHeaders(): \" + e);\n }\n },\n start: function start() {\n try {\n var allTables = document.querySelectorAll('table');\n\n for (var i = 0; i < allTables.length; i++) {\n allTables[i].setAttribute('role', 'table');\n this.responsiveCellHeaders(allTables[i]);\n }\n\n var allRowGroups = document.querySelectorAll('thead, tbody, tfoot');\n\n for (var i = 0; i < allRowGroups.length; i++) {\n allRowGroups[i].setAttribute('role', 'rowgroup');\n }\n\n var allRows = document.querySelectorAll('tr');\n\n for (var i = 0; i < allRows.length; i++) {\n allRows[i].setAttribute('role', 'row');\n }\n\n var allCells = document.querySelectorAll('td');\n\n for (var i = 0; i < allCells.length; i++) {\n allCells[i].setAttribute('role', 'cell');\n }\n\n var allHeaders = document.querySelectorAll('th');\n\n for (var i = 0; i < allHeaders.length; i++) {\n allHeaders[i].setAttribute('role', 'columnheader');\n } // this accounts for scoped row headers\n\n\n var allRowHeaders = document.querySelectorAll('th[scope=row]');\n\n for (var i = 0; i < allRowHeaders.length; i++) {\n allRowHeaders[i].setAttribute('role', 'rowheader');\n } // caption role not needed as it is not a real role and\n // browsers do not dump their own role with display block\n\n } catch (e) {\n console.log(\"AddTableARIA(): \" + e);\n }\n }\n}\n\nexport default ARIAtables;\n","\"use strict\";\n\nvar ARIAslider = {\n util: {\n keyCodes: {\n UP: 38,\n DOWN: 40,\n LEFT: 37,\n RIGHT: 39,\n HOME: 36,\n END: 35,\n ENTER: 13,\n SPACE: 32,\n DELETE: 46,\n TAB: 9\n },\n generateID: function generateID(base) {\n return base + Math.floor(Math.random() * 999);\n }\n },\n start: function start() {\n var els = document.querySelectorAll(\"[data-slider]\");\n for (var i = 0; i < els.length; i++) {\n var nslider = this.init(els[i]); // if manual is set to false, the slider open on focus without needing an ENTER or SPACE press\n }\n },\n init: function init(el, options) {\n var defaultOptions = {\n manual: false,\n loop: false,\n withDotNav: true\n };\n var _options = Object.assign(defaultOptions, options);\n\n var util = this.util;\n var slidesContainer = el.querySelector(\"[data-slides]\");\n var slidesWrapper = el.querySelector(\"[data-slides-wrapper]\");\n var slides = Array.from(el.querySelectorAll(\"[data-slide]\"));\n var paddleNav = el.querySelector(\"[data-slider-paddleNav]\");\n var prevButton = paddleNav.querySelector('[data-prev]');\n var nextButton = paddleNav.querySelector('[data-next]');\n var sliderID = util.generateID('c-slider-');\n var currentIndex = 0;\n var selectedDot = 0;\n var tempDot = 0;\n var manual = _options.manual;\n var loop = _options.loop;\n var withDotNav = _options.withDotNav;\n var dots = [];\n\n el.setAttribute('id', sliderID);\n el.classList.add('js-slider');\n el.setAttribute('role', 'group'); // or region\n\n el.setAttribute('aria-roledescription', 'Slider');\n el.setAttribute('aria-label', el.getAttribute('data-aria-label')); // show Next and Prev Buttons\n\n paddleNav.removeAttribute('hidden');\n setupPaddleNav();\n if (withDotNav) setupDotNav();\n setupSlides();\n setupSRHelper();\n enableTouchSwipes();\n\n var enableTouchSwipes = function enableTouchSwipes() {\n var mc = new Hammer(slidesWrapper, {\n threshold: 500\n }); // listen to events...\n\n mc.on(\"swipeleft\", function (e) {\n paddleForward();\n });\n mc.on(\"swiperight\", function (e) {\n paddleBack();\n });\n };\n\n var setupSRHelper = function setupSRHelper() {\n var helper = document.createElement('span');\n helper.setAttribute('aria-live', 'polite');\n helper.setAttribute('id', sliderID + '__SRHelper');\n helper.classList.add('visually-hidden');\n helper.classList.add('c-slider__SRHelper');\n el.prepend(helper);\n updateHelper();\n };\n\n var updateHelper = function updateHelper() {\n var showing = slides[currentIndex].getAttribute('data-slide-label');\n var showingNb = currentIndex + 1;\n var helper = el.querySelector('.c-slider__SRHelper');\n helper.innerHTML = 'Showing ' + showing + ', slide ' + showingNb + ' of ' + slides.length;\n };\n\n var setupPaddleNav = function setupPaddleNav() {\n prevButton.addEventListener('keydown', function (e) {\n paddleKeyboardRespond(e);\n updateHelper();\n }, false);\n nextButton.addEventListener('keydown', function (e) {\n paddleKeyboardRespond(e);\n updateHelper();\n }, false);\n prevButton.addEventListener('click', function (e) {\n console.log('clicked prev');\n paddleBack(e);\n updateHelper();\n });\n nextButton.addEventListener('click', function (e) {\n console.log('clicked next');\n paddleForward(e);\n updateHelper();\n });\n handlePaddleButtonsState();\n };\n\n var handlePaddleButtonsState = function handlePaddleButtonsState() {\n if (!loop && currentIndex == slides.length - 1) {\n nextButton.setAttribute('aria-disabled', 'true');\n nextButton.setAttribute('tabindex', '-1');\n } else if (!loop && currentIndex < slides.length - 1) {\n nextButton.removeAttribute('aria-disabled');\n nextButton.removeAttribute('tabindex');\n }\n\n if (!loop && currentIndex == 0) {\n prevButton.setAttribute('aria-disabled', 'true');\n prevButton.setAttribute('tabindex', '-1');\n } else if (!loop && currentIndex > 0) {\n prevButton.removeAttribute('aria-disabled');\n prevButton.removeAttribute('tabindex');\n }\n };\n\n var setupDotNav = function setupDotNav() {\n var dotNavList = document.createElement('div');\n dotNavList.setAttribute('data-slider-dotNav', '');\n dotNavList.setAttribute('role', 'tablist');\n dotNavList.setAttribute('class', 'c-slider__dotNav'); // create dots\n\n var nb = slides.length;\n\n for (var i = 0; i < nb; i++) {\n var dot = document.createElement('button');\n dot.setAttribute('role', 'tab');\n dot.setAttribute('id', sliderID + '__dot-' + i);\n dot.setAttribute('class', 'c-slider__dotNav__dot');\n dot.setAttribute('data-slider-dot', ''); // to be used in the CSS as a hook if needed; not used elsewhere.\n\n dot.setAttribute('data-controls', slides[i].getAttribute('id'));\n var dotLabel = document.createElement('span');\n dotLabel.textContent = slides[i].getAttribute('data-slide-label');\n dotLabel.classList.add('dot-label'); // append dot to dotNavList\n\n dotNavList.appendChild(dot);\n dot.appendChild(dotLabel);\n dots.push(dot);\n }\n\n dots.forEach(function (dot, index) {\n if (index === currentIndex) {\n selectDot();\n }\n\n dot.addEventListener('click', function (e) {\n e.preventDefault();\n e.preventDefault();\n selectedDot = index;\n currentIndex = selectedDot;\n focusCurrentDot();\n selectDot();\n handlePaddleButtonsState();\n updateHelper();\n }, false);\n dot.addEventListener('keydown', function (e) {\n dotKeyboardRespond(e, dot);\n updateHelper();\n }, false);\n }); // append dotNavList to slider\n\n el.appendChild(dotNavList);\n };\n\n var selectDot = function selectDot() {\n // unactivate all other dots\n dots.forEach(function (dot) {\n dot.setAttribute('aria-selected', 'false');\n dot.setAttribute('tabindex', '-1');\n }); //activate current tab\n\n dots[selectedDot].setAttribute('aria-selected', 'true');\n dots[selectedDot].setAttribute('tabindex', '0'); // activate corresponding panel\n\n activateCurrentSlide();\n };\n\n var setupSlides = function setupSlides() {\n slides.forEach(function (slide, index) {\n if (_options.withDotNav) {\n slide.setAttribute('role', 'tabpanel');\n slide.setAttribute('aria-labelledby', dots[index].getAttribute('id'));\n } else {\n slide.setAttribute('role', 'group');\n slide.setAttribute('aria-roledescription', 'Slide');\n }\n\n slide.setAttribute('tabindex', '-1');\n slide.setAttribute('data-hidden', 'true');\n slide.addEventListener('keydown', function (e) {// slideKeyboardRespond(e);\n }, false);\n slide.addEventListener(\"blur\", function () {\n slide.setAttribute('tabindex', '-1');\n }, false);\n });\n activateCurrentSlide();\n };\n\n var slideKeyboardRespond = function slideKeyboardRespond(e) {\n var keyCode = e.keyCode || e.which;\n\n switch (keyCode) {\n case util.keyCodes.TAB:\n slides[currentIndex].setAttribute('tabindex', '-1');\n break;\n\n default:\n break;\n }\n };\n\n var activateCurrentSlide = function activateCurrentSlide() {\n slides.forEach(function (slide, index) {\n slide.setAttribute('data-hidden', 'true');\n slide.removeAttribute('tabindex');\n });\n slides[currentIndex].setAttribute('data-hidden', 'false'); // if (withDotNav) slides[currentIndex].setAttribute('aria-labelledby', dots[currentIndex].getAttribute('id'));\n\n slides[currentIndex].setAttribute('tabindex', '0');\n slideToCurrentSlide(currentIndex);\n };\n\n var slideToCurrentSlide = function slideToCurrentSlide() {\n var translateValue = currentIndex * -100;\n slidesWrapper.style.transform = 'translateX(' + translateValue + '%)';\n };\n\n var incrementcurrentIndex = function incrementcurrentIndex() {\n if (currentIndex < slides.length - 1) {\n return ++currentIndex;\n } else {\n if (loop) {\n currentIndex = 0;\n return currentIndex;\n } else return;\n }\n };\n\n var decrementcurrentIndex = function decrementcurrentIndex() {\n if (currentIndex > 0) {\n return --currentIndex;\n } else {\n if (loop) {\n currentIndex = slides.length - 1;\n return currentIndex;\n } else return;\n }\n };\n\n var paddleBack = function paddleBack(e) {\n decrementcurrentIndex();\n activateCurrentSlide();\n handlePaddleButtonsState();\n selectedDot = currentIndex;\n tempDot = selectedDot;\n if (withDotNav) selectDot();\n };\n\n var paddleForward = function paddleForward(e) {\n incrementcurrentIndex();\n activateCurrentSlide();\n handlePaddleButtonsState();\n selectedDot = currentIndex;\n tempDot = selectedDot;\n if (withDotNav) selectDot();\n };\n\n var incrementTempDot = function incrementTempDot() {\n if (tempDot < dots.length - 1) {\n return ++tempDot;\n } else {\n if (loop) {\n tempDot = 0;\n return tempDot;\n } else return;\n }\n };\n\n var decrementTempDot = function decrementTempDot() {\n if (tempDot > 0) {\n return --tempDot;\n } else {\n if (loop) {\n tempDot = slides.length - 1;\n return tempDot;\n } else {\n return;\n }\n }\n };\n\n var focusCurrentDot = function focusCurrentDot() {\n dots[tempDot].focus();\n };\n\n var moveBack = function moveBack(e) {\n e.preventDefault();\n decrementTempDot();\n focusCurrentDot();\n\n if (!manual) {\n selectedDot = tempDot;\n currentIndex = selectedDot;\n selectDot();\n activateCurrentSlide();\n handlePaddleButtonsState();\n }\n };\n\n var moveForward = function moveForward(e) {\n e.preventDefault();\n incrementTempDot();\n focusCurrentDot();\n\n if (!manual) {\n selectedDot = tempDot;\n currentIndex = selectedDot;\n selectDot();\n activateCurrentSlide();\n handlePaddleButtonsState();\n }\n };\n\n var dotKeyboardRespond = function dotKeyboardRespond(e, dot) {\n var firstDot = dots[0];\n var lastDot = dots[dots.length - 1];\n var keyCode = e.keyCode || e.which;\n\n switch (keyCode) {\n case util.keyCodes.UP:\n case util.keyCodes.LEFT:\n moveBack(e);\n break;\n\n case util.keyCodes.DOWN:\n case util.keyCodes.RIGHT:\n moveForward(e);\n break;\n\n case util.keyCodes.ENTER:\n case util.keyCodes.SPACE:\n e.preventDefault();\n selectedDot = tempDot;\n currentIndex = selectedDot;\n handlePaddleButtonsState();\n selectDot();\n break;\n\n case util.keyCodes.TAB:\n slides[selectedDot].setAttribute('tabindex', '0');\n selectedDot = tempDot;\n currentIndex = selectedDot;\n break;\n\n case util.keyCodes.HOME:\n e.preventDefault();\n firstTab.focus();\n break;\n\n case util.keyCodes.END:\n e.preventDefault();\n lastTab.focus();\n break;\n }\n };\n\n var paddleKeyboardRespond = function paddleKeyboardRespond(e) {\n var keyCode = e.keyCode || e.which;\n\n switch (keyCode) {\n case util.keyCodes.LEFT:\n prevButton.focus();\n paddleBack(e);\n break;\n\n case util.keyCodes.RIGHT:\n nextButton.focus();\n paddleForward(e);\n break;\n\n case util.keyCodes.ENTER:\n case util.keyCodes.SPACE:\n selectedDot = currentIndex;\n selectDot();\n break;\n\n case util.keyCodes.TAB:\n slides[selectedDot].setAttribute('tabindex', '0');\n currentIndex = selectedDot;\n break;\n }\n };\n }\n}\n\nexport default ARIAslider;\n","\"use strict\";\n\nvar GuidelineOrderFormDownload = {\n start: function start() {\n const form = document.getElementById(\"guideline_order_forms\");\n if (form != undefined) {\n form.addEventListener('submit', this.updateAction);\n }\n },\n\n updateAction: function updateAction(event) {\n const form = event.target;\n const download_path = form.getElementsByTagName(\"select\")[0].value;\n form.action = download_path;\n }\n}\nexport default GuidelineOrderFormDownload;\n","\"use strict\";\n\nimport Rails from '@rails/ujs';\n\nvar EventRegistrationSubmit = {\n start: function start() {\n const form = document.getElementById(\"new_event_registration\");\n\n if (form) {\n const submitBtn = document.getElementById(\"event_registration_submit\");\n\n submitBtn.addEventListener(\"click\", function() {\n if(form.reportValidity()) {\n submitBtn.disabled = true;\n submitBtn.innerText = \"Ihre Registrierung wird verarbeitet\";\n }\n\n if (form.requestSubmit) {\n form.requestSubmit();\n } else {\n Rails.fire(submitBtn.form, \"submit\");\n }\n });\n }\n }\n}\nexport default EventRegistrationSubmit;\n","// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\n\n// Rails related\nimport Rails from \"@rails/ujs\"\nimport Turbolinks from \"turbolinks\"\nimport \"channels\"\n\nRails.start()\nTurbolinks.start()\n\nimport '@fortawesome/fontawesome-pro/js/all';\n\n\n// Polyfills\nimport \"inert-polyfill\"\nimport 'element-matches-polyfill'\nimport 'dwnld-attr-polyfill'\nimport 'parent-node-prepend-polyfill'\nimport 'matchmedia-polyfill'\nimport ObjectAssign from 'es6-object-assign'\n\nObjectAssign.polyfill();\n\n// Website specific\nimport DisclosureWidget from \"disclosure-widget\"\nimport LoginPanel from \"login-panel\"\nimport Navigation from \"navigation\"\nimport ScrollbarWidth from \"scrollbar-width\"\nimport AsyncItemsFetcher from \"async-items-fetcher\"\nimport ARIAaccordion from 'aria-accordion'\nimport ARIAtabs from \"aria-tabs\"\nimport ARIAtables from \"aria-tables\"\nimport ARIAslider from \"aria-slider\"\nimport GuidelineOrderFormDownload from \"guideline_order_form_download\"\nimport EventRegistrationSubmit from \"event_registration_submit\"\nimport \"din_order_form\"\n\nimport \"@oddcamp/cocoon-vanilla-js\"\nimport HesGallery from \"hes-gallery\"\n\ndocument.addEventListener(\"turbolinks:load\", function() {\n HesGallery.init()\n EventRegistrationSubmit.start()\n GuidelineOrderFormDownload.start()\n DisclosureWidget.start()\n LoginPanel.start()\n Navigation.start()\n AsyncItemsFetcher.start()\n ARIAtabs.start()\n ARIAaccordion.start()\n ARIAtables.start()\n ARIAslider.start()\n ScrollbarWidth.start()\n});\n"],"names":["webpackEmptyContext","req","e","Error","code","keys","resolve","id","module","exports","channels","require","forEach","DinOrderForm","start","this","form","document","getElementById","undefined","_this","fee_container","terms_of_service","license","sponsor","btn","fees","JSON","parse","dataset","addEventListener","updateForm","handleBillingAddress","querySelector","showHideBillingAddressFields","hasBillingAddressCheckbox","billingAddressContainer","billingAddressFields","querySelectorAll","checked","removeAttribute","el","setAttribute","updatePrice","handleBtnState","value","price","html","Intl","NumberFormat","style","currency","format","discount","innerHTML","tos_accepted","product_chosen","disabled","dw_toggles","dws","i","length","disclosureWidget","toggle","panel","getNextSibling","init","prototype","self","ariaState","getAttribute","startState","handleViewportChange","matches","openPanel","closePanel","mediaQuery","window","matchMedia","addListener","newState","focus","elem","selector","sibling","nextElementSibling","open","dw_toggle","dw_panel","login","height","visibility","panelHeight","offsetHeight","keyCode","which","event","contains","target","util","UP","DOWN","LEFT","RIGHT","HOME","END","ENTER","SPACE","DELETE","TAB","ESC","DropdownNav","root","toggles","panels","openIndex","useArrowKeys","levelOneToggles","Array","from","nav_toggle","nav_closeBtn","activeClass","main","footer","header","siblings","navContent","mobile","initMobileNav","timeout","clearTimeout","setTimeout","handleViewportWidthChange","parentNode","push","index","indexOf","handlePanelKeydown","handleToggleClick","bind","handleToggleKeydown","handleClosure","handleNavBlur","updatePathToCurrent","_this2","currentLink","getClosest","expandToggle","isLevelOneToggle","collapseToggle","hideNav","showNav","classList","add","body","remove","removeOuterContentInert","slideNavOut","makeOuterContentInert","trapFocus","stopPropagation","element","firstClass","lastClass","focusable","firstFocus","lastFocus","activeElement","shiftKey","preventDefault","includes","handleToggle","currentIndex","closeSublevelPanels","subLevelToggles","sub","closeOtherToggles","hasCurrent","nav","get","container","createElement","appendChild","overflow","inner","width","offsetWidth","removeChild","scrollbarWidth","documentElement","setProperty","concat","els","fetcher","url","limit","tags","xhr","XMLHttpRequest","setRequestHeader","onload","status","hidden","response","onerror","console","error","send","ARIAaccordion","keyCodes","generateID","base","Math","floor","random","options","controlsWrapper","expandButton","collapseButton","_options","Object","assign","showOneAnswerAtATime","allCollapsed","withControls","icon","accordionHeadings","accordionPanels","accID","setupAccordionControls","item","disableExpandButton","enableCollapseButton","disableCollapseButton","enableExpandButton","togglePanel","toggleButton","thepanel","checkToggleCollapseButtonState","checkToggleExpandButtonState","heading","$this","text","setupAccordionHeadings","setupAccordionPanels","prepend","innerText","ARIAtabs","getUrlHash","location","hash","replace","setUrlHash","history","replaceState","manual","tablist","tabs","tabpanels","tabsID","selectedTab","tabbed","initAccordion","log","initTabs","undoAccordion","setupTabList","setupTabs","setupTabPanels","undoTabs","headingButton","tabpanel","removeEventListener","panelKeyboardRespond","tab","selectTab","focusCurrentTab","updateUrlHash","tabKeyboardRespond","active","showTabpanel","firstTab","lastTab","responsiveCellHeaders","table","THarray","ths","getElementsByTagName","headingText","styleSheet","styleElm","head","sheet","insertRule","elmID","cssRules","allTables","allRowGroups","allRows","allCells","allHeaders","allRowHeaders","ARIAslider","loop","withDotNav","slidesWrapper","slides","paddleNav","prevButton","nextButton","sliderID","selectedDot","tempDot","dots","setupPaddleNav","setupDotNav","setupSlides","setupSRHelper","enableTouchSwipes","mc","Hammer","threshold","on","paddleForward","paddleBack","helper","updateHelper","showing","showingNb","paddleKeyboardRespond","handlePaddleButtonsState","dotNavList","nb","dot","dotLabel","textContent","selectDot","focusCurrentDot","dotKeyboardRespond","activateCurrentSlide","slide","slideToCurrentSlide","translateValue","transform","moveBack","moveForward","updateAction","download_path","action","submitBtn","reportValidity","requestSubmit","Rails","fire","Turbolinks","ObjectAssign","HesGallery","EventRegistrationSubmit","GuidelineOrderFormDownload","DisclosureWidget","LoginPanel","Navigation","AsyncItemsFetcher","ARIAtables","ScrollbarWidth"],"sourceRoot":""}