{"version":3,"file":"app/accordeon.js","sources":["accordeon.js"],"sourcesContent":["/*----------------------------------------------------------------------------*\\\r\n Accordeon\r\n Simple, accesible accordeon\r\n\\*----------------------------------------------------------------------------*/\r\n\r\n/**\r\n * Use strict as per:\r\n * http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/\r\n */\r\n'use strict';\r\n\r\n\r\n/**\r\n * Check if oy object exists, otherwise create it\r\n */\r\nvar oy = oy || {};\r\n\r\n\r\n/**\r\n * Jshint global references\r\n * Please define all third party plugins that you use to not break jshinting\r\n */\r\n\r\n\r\n\r\n/* Component\r\n\\*----------------------------------------------------------------------------*/\r\n\r\noy.accordeon = {\r\n init: function(){\r\n if (oy.cutsMustard) {\r\n // Your javascript\r\n this.initAccordeons(document);\r\n }\r\n },\r\n\r\n initAccordeons: function ($context) {\r\n var self = this;\r\n var $elements = $context.querySelectorAll('.js--accordeon:not(.is-initialised)');\r\n\r\n for (var i = 0; i < $elements.length; ++i) {\r\n var $element = $elements[i];\r\n self.setupAccordeon($element);\r\n }\r\n },\r\n\r\n setupAccordeon: function ($accordeon) {\r\n var self = this;\r\n if(!$accordeon.classList.contains('is-initialised')) {\r\n self.setupToggles($accordeon);\r\n $accordeon.classList.add('is-initialised');\r\n }\r\n },\r\n\r\n setupToggles: function ($accordeon) {\r\n var self = this;\r\n var $toggles = $accordeon.querySelectorAll('.js--accordeon__toggle');\r\n\r\n for (var i = 0; i < $toggles.length; ++i) {\r\n var $toggle = $toggles[i];\r\n self.initToggle($accordeon, $toggle);\r\n }\r\n },\r\n\r\n initToggle: function ($accordeon, $toggle) {\r\n var id = $toggle.getAttribute('href');\r\n var $content = $accordeon.querySelector('.js--accordeon__content' + id);\r\n var $item = $toggle.closest('.js--accordeon__item');\r\n\r\n if ($item.classList.contains('is-open')) {\r\n $content.setAttribute('aria-hidden', false);\r\n $toggle.setAttribute('aria-selected', true);\r\n } else {\r\n $content.setAttribute('aria-hidden', true);\r\n $toggle.setAttribute('aria-selected', false);\r\n }\r\n\r\n $toggle.addEventListener('click', function (event) {\r\n event.preventDefault();\r\n var $this = this;\r\n if ($item.classList.contains('is-open')) {\r\n $item.classList.remove('is-open');\r\n $content.setAttribute('aria-hidden', true);\r\n $this.setAttribute('aria-selected', false);\r\n } else {\r\n $item.classList.add('is-open');\r\n $content.setAttribute('aria-hidden', false);\r\n $this.setAttribute('aria-selected', true);\r\n }\r\n\r\n /**\r\n * If the page is embedded, update the height\r\n */\r\n window.dispatchEvent(oy.settings.embedHeightChange);\r\n });\r\n }\r\n};\r\n\r\n\r\nwindow.addEventListener('load', function () {\r\n oy.accordeon.init();\r\n}, false);"],"names":[],"mappings":"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","sourceRoot":"/source/"}