{"version":3,"sources":["modules.sidebarNav.js"],"names":["app","sidebarNav","let","items","document","querySelectorAll","reset","util","matchMedia","breakpoint_lg","trigger","openNav","closeNav","item","querySelector","container","window","matches","classList","add","animate","display","setAttribute","dataset","closeText","slideDown","style","visibility","remove","openText","slideUp","init","forEach","addEventListener","event","preventDefault","contains"],"mappings":"AAAAA,IAAIC,WAAc,WAChB,aAEAC,IAAIC,EAAQC,SAASC,iBAAiB,oBAAoB,EA+B1D,MAOIC,EAAUC,KAACC,SAAWC,WACNC,IAAdC,EAAAA,QALJR,EAOIS,QAASC,SAAAA,GACX,IAAAH,EAAAG,EAAAC,cAAA,4BAAA,EACAC,EAAAF,EAAAC,cAAA,8BAAA,GAGJE,OAASL,WAAcD,aAASK,EAASE,QACvCP,EAEAE,GAFQM,EAAUC,EAAIJ,EAAY,CAAA,CAAA,CAIlCL,CAAAA,CAPF,EASE,GAAIU,EAPN,SASST,EAAAE,EAAAH,EAAAK,EAAAK,GARPV,EASEK,UAAgBM,IAAAA,WAAU,EAG9BX,EAAAY,aAAA,aAAAZ,EAAAa,QAAAC,SAAA,EAEAd,EAASE,aAAa,gBAAWG,CAAAA,CAAWK,EARtCA,EAWJb,KAAAkB,UAAAV,EAAA,GAAA,GAEAL,EAAQY,MAAAA,QAAa,QAErBP,EAAWW,MAAEC,WAAA,UATf,CAEA,SAWIZ,EAAUW,EAAMC,EAAaZ,EAAQK,GACvCV,EAAAQ,UAAAU,OAAA,WAAA,EAGFlB,EAAAY,aAAA,aAAAZ,EAAAa,QAAAM,QAAA,EACAnB,EAAOY,aAAA,gBAAA,CAAA,CAAA,EAENF,EACCb,KAAAuB,QAAAf,EAAA,GAAA,GATEA,EAAUW,MAAML,QAAU,OAC1BN,EAAUW,MAAMC,WAAa,SAEjC,CAGA,MAAO,CACLI,KA5EF,WAGgB,IAAd5B,EAAM6B,SAAN7B,EAEE6B,QAAMjB,SAAAA,GAENL,MAAAA,EAAQuB,EAAAA,cAA0B,4BAAW,EAC3CC,EAAMC,EAAcrB,cAAE,8BAAA,EADxBJ,EAIIC,iBAAqB,QAAEI,SAAAA,GACzBmB,EAACC,eAAM,GAEP,CAAA,IAAAzB,EAAAQ,UAAAkB,SAAA,WAAA,EACAzB,EAFEC,GAEFC,EAAAH,EAAAK,EAAA,CAAA,CAAA,CAIJ,CAAA,CACA,CAAA,EAYAZ,EAAK,EALP,CAkDA,CACF,EAAC","file":"../modules.sidebarNav.min.js","sourcesContent":["app.sidebarNav = (function () {\r\n 'use strict';\r\n\r\n let items = document.querySelectorAll('[data-sidebar-nav]');\r\n\r\n function init() {\r\n if (items.length === 0) return;\r\n\r\n items.forEach((item) => {\r\n const trigger = item.querySelector('[data-sidebar-nav-trigger]');\r\n const container = item.querySelector('[data-sidebar-nav-container]');\r\n\r\n trigger.addEventListener('click', (event) => {\r\n event.preventDefault();\r\n\r\n if (trigger.classList.contains('is-active') === false) {\r\n openNav(item, trigger, container, true);\r\n } else {\r\n closeNav(item, trigger, container, true);\r\n }\r\n });\r\n });\r\n\r\n // window.addEventListener(\r\n // 'resize',\r\n // () => {\r\n // reset();\r\n // },\r\n // { passive: true }\r\n // );\r\n\r\n reset();\r\n }\r\n\r\n const reset = util.debounce(() => {\r\n if (items.length === 0) return;\r\n\r\n items.forEach((item) => {\r\n const trigger = item.querySelector('[data-sidebar-nav-trigger]');\r\n const container = item.querySelector('[data-sidebar-nav-container]');\r\n\r\n if (window.matchMedia(breakpoint_lg).matches) {\r\n openNav(item, trigger, container, false);\r\n } else {\r\n closeNav(item, trigger, container, false);\r\n }\r\n });\r\n }, 250);\r\n\r\n function openNav(item, trigger, container, animate) {\r\n trigger.classList.add('is-active');\r\n\r\n // a11y: update aria attributes\r\n trigger.setAttribute('aria-label', trigger.dataset.closeText);\r\n trigger.setAttribute('aria-expanded', true);\r\n\r\n if (animate) {\r\n util.slideDown(container, 250);\r\n } else {\r\n container.style.display = 'block';\r\n container.style.visibility = 'visible';\r\n }\r\n }\r\n\r\n function closeNav(item, trigger, container, animate) {\r\n trigger.classList.remove('is-active');\r\n\r\n // a11y: update aria attributes\r\n trigger.setAttribute('aria-label', trigger.dataset.openText);\r\n trigger.setAttribute('aria-expanded', false);\r\n\r\n if (animate) {\r\n util.slideUp(container, 250);\r\n } else {\r\n container.style.display = 'none';\r\n container.style.visibility = 'hidden';\r\n }\r\n }\r\n\r\n // Expose public functions and variables\r\n return {\r\n init: init,\r\n };\r\n})();\r\n"]}