{"version":3,"sources":["webpack:///./src/js/modules/header.js"],"names":["Module","Component","setupDefaults","this","dom","$el","el","$hamburger","_$","$searchPanelTrigger","$panelOverlay","$panel","$closePanelButton","$inMenuPrimaryNavButton","_$$","$backButton","$inMenuClosePanelButton","$inMenuNav","$primaryNavLinks","$myAccountTrigger","$myAccountTriggerWrapper","$myAccountPanel","$linkAndFeatured","$emailForm","$emailField","$hiddenEmailField","$emailText","$emailChange","$organizationSubmit","$dropdownMenuTriggers","$dropownMyAccountTrigger","$designElements","$organizations","baseHeaderActivatedClass","bodyPanelOpenedClass","menuPanelOpenedClass","inMenuPanelOpenedClass","currentDesignElementClass","closePanelevent","CustomEvent","initiateFocusTrap","addListeners","_on","openHeaderPanel","bind","onPanelOverlayClick","onSearchPanelTriggerClick","onClosePanelButtonClick","closeHeaerPanel","onInMenuButtonClick","onBackButtonClick","onPrimaryNavLinkMouseDown","onPrimaryNavMouseUp","onPrimaryNavKeyDown","onPrimaryNavKeyUp","onMyAccountTriggerClick","updateCtaText","handleEmailFormSubmit","handleDropdownMenuTriggerClick","handleDropdownMyAccountTriggerClick","onEmailChange","updateDesignElement","handleRegister","document","onClickOutsidePanel","autoClickMyAccountTriggerIfNeeded","classList","add","event","dispatchEvent","setAttribute","e","target","contains","remove","activateInMenuPanel","dataset","id","panelFocusTrap","activate","keyCode","KEYS","END","focusPrimaryNavOnKeyPress","length","HOME","preventDefault","don","DOWN","ENTER","LEFT","RIGHT","UP","detail","pageX","documentElement","clientWidth","closest","onPauseHeaderPanelFocusTrap","pause","onContinueHeaderPanelFocusTrap","unpause","resetForm","focusTrap","onDeactivate","allowOutsideClick","initialFocus","KEYS_DIRECTION","index","parseInt","focusPrimaryNavItem","left","right","item","blurPrimaryNavItems","removeAttribute","focus","forEach","link","body","deactivate","unbindPanelOutsideClick","hiddenClass","trigger","getElementById","panel","getAttribute","identifier","originalBtn","clone","text","textContent","href","orgs","isSingle","Organizations","placeholderValue","placeholder","value","innerHTML","map","org","label","join","disabled","$parent","currentTarget","parentNode","toggle","clickOutside","current","find","navId","reset","URL","location","searchParams","get","click"],"mappings":"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","file":"72.16a968.js","sourcesContent":["import { Component } from '@verndale/core';\nimport * as focusTrap from 'focus-trap';\nimport clickOutside from 'click-outside';\nimport { KEYS, KEYS_DIRECTION } from '../constants';\n\nclass Module extends Component {\n  setupDefaults() {\n    this.dom = {\n      $el: this.el,\n      $hamburger: this.el._$('.header__hamburger'),\n      $searchPanelTrigger: this.el._$('.header__search-panel-trigger'),\n      $panelOverlay: this.el._$('.header__panel-outer'),\n      $panel: this.el._$('.header__panel'),\n      $closePanelButton: this.el._$('.header__close-panel-trigger'),\n      $inMenuPrimaryNavButton: this.el._$$('.in-menu-primary-nav__trigger'),\n      $backButton: this.el._$$('.header-menu__back'),\n      $inMenuClosePanelButton: this.el._$('.header__panel-close-trigger'),\n      $inMenuNav: this.el._$('.header__panel'),\n      $primaryNavLinks: this.el._$$('.primary-nav__link'),\n      $myAccountTrigger: this.el._$('.header-panel__my-account-trigger'),\n      $myAccountTriggerWrapper: this.el._$(\n        '.header-panel__my-account-trigger-wrapper'\n      ),\n      $myAccountPanel: this.el._$('.my-account'),\n      $linkAndFeatured: this.el._$$('.link-and-featured'),\n      $emailForm: this.el._$('.my-account__email-form'),\n      $emailField: this.el._$('[type=\"email\"]'),\n      $hiddenEmailField: this.el._$('.my-account__hidden-email'),\n      $emailText: this.el._$('.my-account__email-text'),\n      $emailChange: this.el._$('.my-account__email-change'),\n      $organizationSubmit: this.el._$(\n        '.my-account__organisation-form [type=submit]'\n      ),\n      $dropdownMenuTriggers: this.el._$$('.header-dropdown-menu__trigger'),\n      $dropownMyAccountTrigger: this.el._$(\n        '.header-dropdown-menu__my-account-trigger'\n      ),\n      $designElements: this.el._$$('.header-panel__design-element-wrapper'),\n      $organizations: () => this.el._$('.my-account__organizations select')\n    };\n    this.baseHeaderActivatedClass = 'header--base-search-activated';\n    this.bodyPanelOpenedClass = 'header-panel-opened';\n    this.menuPanelOpenedClass = 'header--panel-opened';\n    this.inMenuPanelOpenedClass = 'header--in-menu-panel-opened';\n    this.currentDesignElementClass =\n      'header-panel__design-element-wrapper--current';\n    this.closePanelevent = new CustomEvent('close');\n\n    this.initiateFocusTrap();\n  }\n\n  addListeners() {\n    this.dom.$hamburger._on('click', this.openHeaderPanel.bind(this));\n    this.dom.$panelOverlay._on('click', this.onPanelOverlayClick.bind(this));\n    this.dom.$searchPanelTrigger._on(\n      'click',\n      this.onSearchPanelTriggerClick.bind(this)\n    );\n    this.dom.$closePanelButton._on(\n      'click',\n      this.onClosePanelButtonClick.bind(this)\n    );\n    this.dom.$inMenuClosePanelButton._on(\n      'click',\n      this.closeHeaerPanel.bind(this)\n    );\n    this.dom.$inMenuPrimaryNavButton._on(\n      'click',\n      this.onInMenuButtonClick.bind(this)\n    );\n    this.dom.$backButton._on('click', this.onBackButtonClick.bind(this));\n    this.dom.$primaryNavLinks._on(\n      'mousedown',\n      this.onPrimaryNavLinkMouseDown.bind(this)\n    );\n    this.dom.$primaryNavLinks._on(\n      'mouseup',\n      this.onPrimaryNavMouseUp.bind(this)\n    );\n    this.dom.$primaryNavLinks._on(\n      'keydown',\n      this.onPrimaryNavKeyDown.bind(this)\n    );\n    this.dom.$primaryNavLinks._on('keyup', this.onPrimaryNavKeyUp.bind(this));\n    this.dom.$myAccountTrigger._on(\n      'click',\n      this.onMyAccountTriggerClick.bind(this)\n    );\n    this.dom.$linkAndFeatured._on('tabchange', this.updateCtaText.bind(this));\n    this.dom.$emailForm._on(\n      'successfullysubmitted',\n      this.handleEmailFormSubmit.bind(this)\n    );\n    this.dom.$dropdownMenuTriggers._on(\n      'click',\n      this.handleDropdownMenuTriggerClick.bind(this)\n    );\n    this.dom.$dropownMyAccountTrigger?._on?.(\n      'click',\n      this.handleDropdownMyAccountTriggerClick.bind(this)\n    );\n    this.dom.$emailChange._on('click', this.onEmailChange.bind(this));\n    this.dom.$panel._on('tabchange', this.updateDesignElement.bind(this));\n    this.el._on('register', this.handleRegister.bind(this));\n    document._on('mousedown', this.onClickOutsidePanel.bind(this));\n\n    this.autoClickMyAccountTriggerIfNeeded();\n  }\n\n  onInMenuButtonClick() {\n    this.dom.$el.classList.add(this.inMenuPanelOpenedClass);\n    const event = new CustomEvent('reset');\n    this.dom.$myAccountTriggerWrapper.dispatchEvent(event);\n    this.dom.$myAccountPanel.setAttribute('aria-hidden', 'true');\n  }\n\n  onPanelOverlayClick(e) {\n    if (e.target.classList.contains('header__panel-outer')) {\n      this.closeHeaerPanel();\n    }\n  }\n\n  onClosePanelButtonClick() {\n    this.closeHeaerPanel();\n    this.dom.$el.classList.remove(this.inMenuPanelOpenedClass);\n  }\n\n  onBackButtonClick() {\n    this.dom.$el.classList.remove(this.inMenuPanelOpenedClass);\n  }\n\n  onPrimaryNavLinkMouseDown(e) {\n    this.openHeaderPanel();\n    this.dom.$el.classList.remove(this.baseHeaderActivatedClass);\n    this.activateInMenuPanel(e.target.dataset.id);\n    this.panelFocusTrap.activate();\n  }\n\n  onPrimaryNavMouseUp() {\n    this.panelFocusTrap.activate();\n  }\n\n  onPrimaryNavKeyDown(e) {\n    switch (e.keyCode) {\n    case KEYS.END:\n      this.focusPrimaryNavOnKeyPress(\n        this.dom.$primaryNavLinks[this.dom.$primaryNavLinks.length - 1]\n      );\n      break;\n    case KEYS.HOME:\n      e.preventDefault();\n      this.focusPrimaryNavOnKeyPress(this.don.$primaryNavLinks[0]);\n      break;\n    case KEYS.DOWN:\n    case KEYS.ENTER:\n      e.preventDefault();\n      this.openHeaderPanel();\n      this.activateInMenuPanel(e.target.dataset.id);\n      this.panelFocusTrap.activate();\n      break;\n    }\n  }\n\n  onPrimaryNavKeyUp(e) {\n    switch (e.keyCode) {\n    case KEYS.LEFT:\n    case KEYS.RIGHT:\n      this.focusPrimaryNavOnKeyPress(e);\n      break;\n    case KEYS.UP:\n    case KEYS.DOWN:\n    case KEYS.ENTER:\n      this.focusPrimaryNavOnKeyPress(e);\n      break;\n    }\n  }\n\n  onMyAccountTriggerClick(e) {\n    this.dom.$el.classList.add(this.inMenuPanelOpenedClass);\n    const event = new CustomEvent('reset');\n    this.dom.$panel.dispatchEvent(event);\n    this.updateDesignElement({ detail: { id: 'account' } });\n  }\n\n  onClickOutsidePanel(e) {\n    if (e.pageX <= document.documentElement.clientWidth) return;\n    if (e.target.classList.contains('header__hamburger')) return;\n    if (e.target.classList.contains('header__panel')) return;\n    if (e.target.classList.contains('header-search__reset')) return;\n    if (e.target.closest('.header__panel')) return;\n    if (e.target.closest('.primary-nav')) return;\n    this.closeHeaerPanel();\n  }\n\n  onPauseHeaderPanelFocusTrap() {\n    this.panelFocusTrap.pause();\n  }\n\n  onContinueHeaderPanelFocusTrap() {\n    this.panelFocusTrap.unpause();\n  }\n\n  onSearchPanelTriggerClick() {\n    this.openHeaderPanel();\n    this.dom.$el.classList.add(this.baseHeaderActivatedClass);\n    this.panelFocusTrap.activate();\n  }\n\n  onEmailChange() {\n    this.resetForm();\n  }\n\n  initiateFocusTrap() {\n    this.panelFocusTrap = focusTrap.createFocusTrap(this.dom.$panel, {\n      onDeactivate: this.closeHeaerPanel.bind(this),\n      allowOutsideClick: true,\n      initialFocus: () => {\n        if (this.dom.$el.classList.contains(this.baseHeaderActivatedClass)) {\n          return this.dom.$el._$('.header-search__input');\n        }\n        return (\n          this.dom.$el._$(\n            '.header-menu:not([aria-hidden]) .header-menu__link'\n          ) ||\n          this.dom.$el._$(\n            '.header-menu:not([aria-hidden]) .my-account__callout-cta'\n          ) ||\n          this.dom.$el._$('.header__panel-close-trigger')\n        );\n      }\n    });\n  }\n\n  focusPrimaryNavOnKeyPress(e) {\n    if (!KEYS_DIRECTION[e.keyCode]) return;\n    if (typeof e.target.dataset.index === 'undefined') return;\n    const index = parseInt(e.target.dataset.index, 10);\n\n    if (this.dom.$primaryNavLinks[index + KEYS_DIRECTION[e.keyCode]]) {\n      this.focusPrimaryNavItem(\n        this.dom.$primaryNavLinks[index + KEYS_DIRECTION[e.keyCode]]\n      );\n      return;\n    }\n\n    if (e.keyCode === KEYS.left) {\n      this.focusPrimaryNavItem(\n        this.dom.$primaryNavLinks[this.dom.$primaryNavLinks.length - 1]\n      );\n    } else if (e.keyCode === KEYS.right) {\n      this.focusPrimaryNavItem(this.dom.$primaryNavLinks[0]);\n    }\n  }\n\n  focusPrimaryNavItem(item) {\n    this.blurPrimaryNavItems();\n    item.removeAttribute('tabindex');\n\n    item.focus();\n  }\n\n  blurPrimaryNavItems() {\n    this.dom.$primaryNavLinks.forEach(link => {\n      link.setAttribute('tabindex', '-1');\n    });\n  }\n\n  openHeaderPanel() {\n    document.body.classList.add(this.bodyPanelOpenedClass);\n    this.dom.$el.classList.add(this.menuPanelOpenedClass);\n  }\n\n  closeHeaerPanel() {\n    this.panelFocusTrap.deactivate();\n    document.body.classList.remove(this.bodyPanelOpenedClass);\n    this.dom.$el.classList.remove(this.menuPanelOpenedClass);\n    this.unbindPanelOutsideClick?.();\n    this.dom.$el.dispatchEvent(this.closePanelevent);\n    const event = new CustomEvent('reset');\n    this.dom.$myAccountTriggerWrapper.dispatchEvent(event);\n  }\n\n  activateInMenuPanel(id) {\n    const event = new CustomEvent('activatetab', { detail: { id } });\n    this.dom.$inMenuNav.dispatchEvent(event);\n  }\n\n  updateCtaText(e) {\n    const hiddenClass = 'link-and-featured-link-items__cta--hidden';\n    const trigger = document.getElementById(e.detail.id);\n    const panel = document.getElementById(\n      trigger.getAttribute('aria-controls')\n    );\n    const identifier = panel.dataset.identifier;\n    const originalBtn = panel._$('.link-and-featured-link-items__cta');\n    const clone = _$(`.link-and-featured[data-identifier=${identifier}]`)\n      ._$('.link-and-featured__tabs-cta-wrapper')\n      ._$('.link-and-featured-link-items__cta');\n\n    if (!originalBtn) {\n      clone.classList.add(hiddenClass);\n      return;\n    }\n\n    const text = originalBtn.textContent;\n    clone.classList.remove(hiddenClass);\n    clone.textContent = text;\n    clone.href = originalBtn.href;\n  }\n\n  handleEmailFormSubmit(e) {\n    const orgs = this.dom.$organizations();\n    const isSingle = e.detail?.Organizations.length === 1;\n    const placeholderValue = orgs.getAttribute('placeholder');\n    const placeholder = `<option value=\"\">${\n      placeholderValue ? placeholderValue : ''\n    }</option>`;\n    const renderOption = org =>\n      `<option value=${org.value}>${org.label}</option>`;\n\n    this.dom.$emailText.textContent = this.dom.$emailField.value;\n    orgs.innerHTML = `\n      ${isSingle ? '' : placeholder}\n      ${e.detail?.Organizations?.map?.(renderOption).join()}\n    `;\n\n    this.dom.$hiddenEmailField.value = this.dom.$emailField.value;\n\n    if (isSingle) {\n      orgs.disabled = true;\n      orgs.closest('.form-select').classList.add('form-select--disabled');\n      orgs.value = e.detail.Organizations[0].value;\n      this.dom.$organizationSubmit.disabled = false;\n      this.dom.$organizationSubmit.classList.remove('btn--disabled');\n    } else {\n      orgs.disabled = false;\n      orgs.closest('.form-select').classList.remove('form-select--disabled');\n      this.dom.$organizationSubmit.disabled = true;\n      this.dom.$organizationSubmit.classList.add('btn--disabled');\n    }\n\n    const event = new CustomEvent('update');\n    orgs.dispatchEvent(event);\n  }\n\n  handleDropdownMenuTriggerClick(e) {\n    const $parent = e.currentTarget.parentNode;\n    $parent.classList.toggle('header-dropdown-menu--expanded');\n    if ($parent.classList.contains('header-dropdown-menu--expanded')) {\n      clickOutside($parent, () => {\n        $parent.classList.remove('header-dropdown-menu--expanded');\n      });\n    }\n  }\n\n  handleDropdownMyAccountTriggerClick(e) {\n    this.onPrimaryNavLinkMouseDown(e);\n    this.updateDesignElement({ detail: { id: 'account' } });\n  }\n\n  handleRegister() {\n    this.openHeaderPanel();\n    this.activateInMenuPanel('my-account-tab');\n    this.dom.$el.classList.add(this.inMenuPanelOpenedClass);\n    this.panelFocusTrap.activate();\n  }\n\n  updateDesignElement(e) {\n    const { id } = e.detail;\n    const current = this.dom.$designElements.find(\n      el => el.dataset.navId === id\n    );\n    this.dom.$designElements.forEach(el =>\n      el.classList.remove(this.currentDesignElementClass)\n    );\n    current?.classList?.add?.(this.currentDesignElementClass);\n  }\n\n  resetForm() {\n    this.dom.$emailForm.reset();\n    this.dom.$emailForm.classList.remove('form--success');\n    this.dom.$emailField.focus();\n  }\n\n  autoClickMyAccountTriggerIfNeeded() {\n    const params = new URL(document.location).searchParams;\n\n    if (typeof (params.get('register')) === 'string')\n      this.dom.$dropownMyAccountTrigger?.click?.();\n  }\n}\n\nexport default Module;\n"],"sourceRoot":""}