{"version":3,"file":"assets/js/619.582bfa6e694ac9dd75e4.js","mappings":"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","sources":["webpack://ssen-distribution/./src/templates/02-components/subcomponents/header/_nav/mando-ui.nav-submenu.js","webpack://ssen-distribution/./src/templates/02-components/subcomponents/header/_nav/mando-ui.nav.js","webpack://ssen-distribution/./src/templates/02-components/subcomponents/header/_searchbar/mando-ui.searchbar.js"],"sourcesContent":["class navSubmenu {\r\n  constructor(settings) {\r\n    this.container = settings.container;\r\n    this.expandedDesktop = settings.expandedDesktop;\r\n    this.expandedMobile = settings.expandedMobile;\r\n    this.expanded = false;\r\n    this.mediaQuery = settings.mediaQuery;\r\n    this.toggleEvent = null;\r\n    this.trigger = settings.trigger;\r\n  }\r\n  bindEvents() {\r\n    this.trigger.addEventListener('click', this.toggleVisibility.bind(this));\r\n    this.mediaQuery.addEventListener('change', this.resetState.bind(this, true));\r\n  }\r\n  resetState(dispatch) {\r\n    this.setExpandedDefault();\r\n    this.setState(dispatch);\r\n  }\r\n  setExpandedDefault() {\r\n    this.expanded = this.mediaQuery.matches ? this.expandedDesktop : this.expandedMobile;\r\n  }\r\n  setState(dispatch = true) {\r\n    this.trigger.setAttribute('aria-expanded', this.expanded);\r\n    this.container.hidden = !this.expanded;\r\n    if (dispatch === true) {\r\n      this.trigger.dispatchEvent(this.toggleEvent);\r\n    }\r\n  }\r\n  toggleVisibility() {\r\n    this.expanded = !this.expanded;\r\n    this.setState();\r\n  }\r\n  init() {\r\n    this.toggleEvent = new CustomEvent('toggle', {\r\n      detail: this,\r\n    });\r\n    this.setExpandedDefault();\r\n    this.setState();\r\n    this.bindEvents();\r\n  }\r\n}\r\n\r\nexport default navSubmenu;\r\n","import navSubmenu from './mando-ui.nav-submenu';\r\nimport { closeSearch } from '../_searchbar/mando-ui.searchbar';\r\n\r\nconst header = document.querySelector('.js-header');\r\nconst mediaQuery = window.matchMedia('(min-width: 61.25em)');\r\nconst navigation = document.querySelector('.js-nav');\r\nconst submenus = [];\r\n\r\nlet activeNav = false;\r\nlet mobile = null;\r\n\r\nfunction catchClicks(event) {\r\n  if (activeNav === true && containsCssClass(event.target.classList)) {\r\n    closeMenus(true);\r\n  }\r\n}\r\n\r\nfunction closeMenus(reset, id = '') {\r\n  submenus.forEach((submenu) => {\r\n    if (submenu.expanded === true && submenu.container.id !== id) {\r\n      submenu.resetState(reset);\r\n    }\r\n  });\r\n}\r\n\r\nfunction containsCssClass(classList) {\r\n  return classList.contains('c-header') || classList.contains('js-search-toggle');\r\n}\r\n\r\nfunction instantiateMobileMenu(hasEventListener) {\r\n  if (mediaQuery.matches === false && mobile === null) {\r\n    mobile = new navSubmenu({\r\n      container: navigation,\r\n      expandedDesktop: true,\r\n      expandedMobile: false,\r\n      mediaQuery,\r\n      trigger: document.querySelector('.js-nav-toggle'),\r\n    });\r\n    mobile.init();\r\n    if (hasEventListener === true) {\r\n      mediaQuery.removeEventListener('change', instantiateMobileMenu.bind(this, true));\r\n    }\r\n  }\r\n}\r\n\r\nfunction instantiateSubmenus() {\r\n  const submenuNodes = [...navigation.getElementsByClassName('js-nav__submenu')];\r\n  if (submenuNodes.length > 0) {\r\n    submenuNodes.forEach((node) => {\r\n      const submenu = new navSubmenu({\r\n        container: node.querySelector('.js-nav__submenu-inner'),\r\n        expandedDesktop: false,\r\n        expandedMobile: false,\r\n        mediaQuery,\r\n        trigger: node.querySelector('.js-nav__trigger'),\r\n      });\r\n      submenu.init();\r\n      submenu.trigger.addEventListener('toggle', submenuHandler);\r\n      submenus.push(submenu);\r\n    });\r\n  }\r\n}\r\n\r\nfunction submenuHandler(event) {\r\n  activeNav = event.detail.expanded;\r\n  header.classList.toggle('is-active', activeNav);\r\n  closeMenus(false, event.detail.container.id);\r\n\r\n  if (header.classList.contains('is-active')) closeSearch();\r\n}\r\n\r\nfunction init() {\r\n  if (!navigation) {\r\n    return;\r\n  }\r\n\r\n  instantiateSubmenus();\r\n\r\n  navigation.classList.add('is-active');\r\n\r\n  if (mediaQuery.matches === true) {\r\n    mediaQuery.addEventListener('change', instantiateMobileMenu.bind(this, true));\r\n  } else {\r\n    instantiateMobileMenu();\r\n  }\r\n\r\n  document.addEventListener('click', catchClicks, false);\r\n}\r\n\r\nexport default init;\r\n","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":["constructor","settings","this","container","expandedDesktop","expandedMobile","expanded","mediaQuery","toggleEvent","trigger","bindEvents","addEventListener","toggleVisibility","bind","resetState","dispatch","setExpandedDefault","setState","matches","setAttribute","hidden","dispatchEvent","init","CustomEvent","detail","header","document","querySelector","window","matchMedia","navigation","submenus","activeNav","mobile","catchClicks","event","classList","target","contains","closeMenus","reset","id","forEach","submenu","instantiateMobileMenu","hasEventListener","navSubmenu","removeEventListener","submenuHandler","toggle","closeSearch","submenuNodes","getElementsByClassName","length","node","push","instantiateSubmenus","add","elements","toggles","body","querySelectorAll","close","form","searchbar","searchInput","searchError","megaNavLink","megaNavInner","currentPageLink","classes","active","currentWindowSize","desktopWidth","el","remove","validateSearchForm","e","searchTerm","value","trim","preventDefault","innerHTML","hideError","buttonState","getAttribute","closeSearchBtn","hideCurrentClass","item","setTimeout","focus","windowResize","innerWidth","removeAttribute"],"sourceRoot":""}