1(function ($) { 2 const init = () => { 3 setupEvents(); 4 }; 5 6 const setupEvents = () => { 7 const els = document.querySelectorAll('.js-accordion-toggle'); 8 9 Array.from(els).forEach((el) => { 10 el.addEventListener('click', (e) => { 11 toggleItem(e.currentTarget); 12 }); 13 14 el.addEventListener('keypress', (e) => { 15 if (e.keyCode === 13) { 16 toggleItem(e.currentTarget); 17 } 18 }); 19 }); 20 }; 21 22 const toggleItem = (el) => { 23 const parent = el.parentNode; 24 const content = parent.querySelector('.js-accordion-content'); 25 26 if (parent === null || content === null) return false; 27 28 if (!parent.classList.contains('is-open')) { 29 parent.classList.add('is-open'); 30 el.setAttribute('aria-expanded', 'true'); 31 content.setAttribute('aria-hidden', 'false'); 32 } else { 33 parent.classList.remove('is-open'); 34 el.setAttribute('aria-expanded', 'false'); 35 content.setAttribute('aria-hidden', 'true'); 36 } 37 }; 38 39 init(); 40})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.