{"version":3,"file":"assets/js/39.e704ed4470a7df968d0e.js","mappings":"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","sources":["webpack://ssen-distribution/./src/templates/02-components/subcomponents/header/_searchbar/mando-ui.searchbar.js"],"sourcesContent":["const elements = {\r\n  toggles: document.body.querySelectorAll('.js-search-toggle'),\r\n  close: document.body.querySelector('.js-search-close'),\r\n  form: document.body.querySelector('.js-search-form'),\r\n  searchbar: document.querySelector('.js-searchbar'),\r\n  searchInput: document.querySelector('.js-searchbar-input'),\r\n  searchError: document.body.querySelector('.js-searchbar-input-error'),\r\n  megaNavLink: document.querySelectorAll('.js-meganav__button'),\r\n  megaNavInner: document.querySelectorAll('.js-meganav-inner'),\r\n  currentPageLink: document.querySelector('.js-meganav [aria-current]'),\r\n};\r\n\r\nconst classes = {\r\n  active: 'is-active',\r\n};\r\n\r\nlet currentWindowSize;\r\nconst desktopWidth = 980;\r\n\r\nexport function closeSearch() {\r\n  // Set own states\r\n  elements.close.setAttribute('aria-expanded', 'false');\r\n\r\n  // Set triggers\r\n  elements.toggles.forEach((el) => {\r\n    el.setAttribute('aria-expanded', 'false');\r\n    el.classList.remove(classes.active);\r\n  });\r\n\r\n  // Set target states\r\n  elements.searchbar.setAttribute('aria-hidden', 'true');\r\n  elements.searchbar.classList.remove(classes.active);\r\n  document.body.classList.remove(classes.active);\r\n}\r\n\r\nfunction removeMegaNavStates() {\r\n  elements.megaNavLink.forEach((item) => {\r\n    item.classList.remove(classes.active);\r\n    item.setAttribute('aria-expanded', 'false');\r\n  });\r\n\r\n  elements.megaNavInner.forEach((item) => {\r\n    item.classList.remove(classes.active);\r\n  });\r\n\r\n  setTimeout(function () {\r\n    elements.toggles[0].focus();\r\n  }, 300);\r\n}\r\n\r\nfunction validateSearchForm(e) {\r\n  // check for empty search\r\n  if (this.searchTerm.value.trim().length === 0) {\r\n    e.preventDefault();\r\n    showError();\r\n    elements.searchInput.addEventListener('input', hideError);\r\n  }\r\n}\r\n\r\nfunction showError() {\r\n  elements.searchError.innerHTML = `<span class=\"u-error-block\">Please enter a search term.</span>`;\r\n  elements.form.classList.add('has-error');\r\n}\r\n\r\nfunction hideError() {\r\n  elements.searchError.innerHTML = null;\r\n  elements.form.classList.remove('has-error');\r\n}\r\n\r\nfunction toggleVisibility(e) {\r\n  const trigger = e.target;\r\n  const buttonState = trigger.getAttribute('aria-expanded');\r\n  const closeSearchBtn = elements.searchbar.querySelector('.js-search-close');\r\n  const hideCurrentClass = 'is-current-hide';\r\n\r\n  // Toggle the aria-expanded state\r\n  if (buttonState === 'false') {\r\n    trigger.setAttribute('aria-expanded', 'true');\r\n    closeSearchBtn.setAttribute('aria-expanded', 'true');\r\n    elements.currentPageLink ? elements.currentPageLink.classList.add(hideCurrentClass) : '';\r\n    removeMegaNavStates();\r\n    elements.form.addEventListener('submit', validateSearchForm);\r\n    setTimeout(function () {\r\n      elements.searchInput.focus();\r\n    }, 300);\r\n  } else {\r\n    trigger.setAttribute('aria-expanded', 'false');\r\n    closeSearchBtn.setAttribute('aria-expanded', 'false');\r\n    elements.currentPageLink ? elements.currentPageLink.classList.remove(hideCurrentClass) : '';\r\n    elements.form.removeEventListener('submit', validateSearchForm);\r\n    setTimeout(function () {\r\n      elements.toggles[0].focus();\r\n    }, 300);\r\n  }\r\n\r\n  trigger.classList.toggle(classes.active); // Set the toggle to active\r\n  elements.searchbar.classList.toggle(classes.active); // Set the target active\r\n}\r\n\r\nfunction windowResize() {\r\n  if (currentWindowSize === window.innerWidth) {\r\n    return;\r\n  }\r\n\r\n  currentWindowSize = window.innerWidth;\r\n\r\n  if (currentWindowSize >= desktopWidth) {\r\n    elements.toggles.forEach((item) => {\r\n      item.classList.remove(classes.active);\r\n      item.setAttribute('aria-expanded', false);\r\n    });\r\n    elements.searchbar.classList.remove(classes.active);\r\n    elements.close.setAttribute('aria-expanded', false);\r\n  }\r\n}\r\n\r\nfunction init() {\r\n  if (elements.toggles.length) {\r\n    elements.toggles.forEach((el) => {\r\n      el.removeAttribute('hidden');\r\n      el.addEventListener('click', toggleVisibility);\r\n    });\r\n    window.addEventListener('resize', windowResize);\r\n  }\r\n\r\n  if (elements.close) {\r\n    elements.close.addEventListener('click', closeSearch);\r\n  }\r\n}\r\n\r\nexport default init;\r\n"],"names":["elements","toggles","document","body","querySelectorAll","close","querySelector","form","searchbar","searchInput","searchError","megaNavLink","megaNavInner","currentPageLink","classes","active","currentWindowSize","desktopWidth","closeSearch","setAttribute","forEach","el","classList","remove","validateSearchForm","e","this","searchTerm","value","trim","length","preventDefault","innerHTML","add","addEventListener","hideError","toggleVisibility","trigger","target","buttonState","getAttribute","closeSearchBtn","hideCurrentClass","item","setTimeout","focus","removeEventListener","toggle","windowResize","window","innerWidth","removeAttribute"],"sourceRoot":""}