{"version":3,"sources":["webpack:///./src/js/modules/legacy/lodgingSearch.js","webpack:///./src/js/components/dropdown.js","webpack:///./node_modules/swiper/esm/components/navigation/navigation.js"],"names":["Swiper","use","Navigation","Module","this","dom","form","el","querySelector","inputs","querySelectorAll","pageInput","locationsDropdown","stylesDropdown","unitTypesDropdown","amenitiesDropdown","sortDropdown","resetBtn","resultImages","pagination","currentPage","parseInt","dataset","page","totalPages","Dropdown","sort","on","submit","some","input","value","style","display","forEach","carousel","initCarousel","buildPagination","addEventListener","handleReset","bind","parentNode","classList","add","e","target","remove","navigation","nextEl","prevEl","window","location","href","addPrevPage","addPages","addNextPage","paginationPrev","document","createElement","setAttribute","innerHTML","handlePaginate","paginationPrevContainer","appendChild","paginationNext","paginationNextContainer","Array","keys","pageNum","min","max","dotsEl","addPage","pageEl","pageElContainer","Component","options","search","searchTimeout","buildDropdown","handleClickOutside","handleOptionSelect","trigger","handleTriggerClick","handleTriggerKeydown","hideDropdownList","list","childNodes","item","selectItem","event","callback","Event","createEvent","initEvent","dispatchEvent","wrapper","contains","getPlaceholder","option","isDevice","getAttribute","showDropdownList","key","which","keyCode","activeItem","preventDefault","stopPropagation","nextElement","previousElementSibling","focusItem","focusLast","nextElementSibling","focusFirst","findItemToFocus","character","String","fromCharCode","trim","items","clearTimeout","find","textContent","innerText","toLowerCase","startsWith","setTimeout","element","removeAttribute","defocusItem","scrollHeight","clientHeight","scrollBottom","scrollTop","elementBottom","offsetTop","offsetHeight","firstItem","length","open","duration","close","placeholder","selectedOptionLabel","listId","uuidv4","insertBefore","label","id","map","text","join","nextSibling","parent","removeChild","destroy","setupDefaults","addListeners","_extends","Object","assign","i","arguments","source","prototype","hasOwnProperty","call","apply","toggleEl","$el","disabled","params","disabledClass","tagName","update","loop","_swiper$navigation","$nextEl","$prevEl","isBeginning","watchOverflow","enabled","isLocked","lockClass","isEnd","onPrevClick","slidePrev","onNextClick","slideNext","init","createElements","uniqueNavElements","addClass","_swiper$navigation2","off","removeClass","name","hideOnClick","hiddenClass","create","swiper","toEdge","fromEdge","_swiper$navigation3","click","_swiper$navigation4","targetEl","is","clickable","isHidden","hasClass","emit","toggleClass"],"mappings":"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","file":"33.8fb9f57c61449c8b3c27.js","sourcesContent":["import { Component } from '@verndale/core';\nimport Swiper, { Navigation } from 'swiper';\n\nSwiper.use([Navigation]);\n\nimport Dropdown from '../../components/dropdown';\n\nclass Module extends Component {\n  setupDefaults() {\n    this.dom = {\n      form: this.el.querySelector('form'),\n      inputs: this.el.querySelectorAll(\n        '.lodging-search__filter--textbox input[type=text]'\n      ),\n      pageInput: this.el.querySelector('#pageNumber'),\n      locationsDropdown: this.el.querySelector('#location'),\n      stylesDropdown: this.el.querySelector('#style'),\n      unitTypesDropdown: this.el.querySelector('#unitType'),\n      amenitiesDropdown: this.el.querySelector('#amenities'),\n      sortDropdown: this.el.querySelector('#sortBy'),\n      resetBtn: this.el.querySelector('.lodging-search__filters-reset'),\n      resultImages: this.el.querySelectorAll('.lodging-search__item-images'),\n      pagination: this.el.querySelector('.pagination ul')\n    };\n\n    this.currentPage = parseInt(this.el.dataset.page);\n    this.totalPages = parseInt(this.el.dataset.totalPages);\n\n    this.dom.locationsDropdown && new Dropdown(this.dom.locationsDropdown);\n    this.dom.stylesDropdown && new Dropdown(this.dom.stylesDropdown);\n    this.dom.unitTypesDropdown && new Dropdown(this.dom.unitTypesDropdown);\n    this.dom.amenitiesDropdown && new Dropdown(this.dom.amenitiesDropdown);\n\n    if (this.dom.sortDropdown) {\n      this.dom.sort = new Dropdown(this.dom.sortDropdown);\n      this.dom.sort.on('option', () => {\n        this.dom.form.submit();\n      });\n    }\n\n    if (\n      [...this.dom.inputs].some(input => input.value) ||\n      this.dom.locationsDropdown?.value ||\n      this.dom.stylesDropdown?.value ||\n      this.dom.unitTypesDropdown?.value ||\n      this.dom.amenitiesDropdown?.value\n    ) {\n      this.dom.resetBtn.style.display = 'block';\n    }\n\n    this.dom.resultImages.forEach(carousel => this.initCarousel(carousel));\n\n    if (this.dom.pagination) {\n      this.buildPagination();\n    }\n  }\n\n  addListeners() {\n    this.dom.resetBtn.addEventListener('click', this.handleReset.bind(this));\n\n    this.dom.inputs.forEach(input => {\n      if (input.value) {\n        input.parentNode.classList.add('active');\n      }\n\n      input.addEventListener('focus', e => {\n        e.target.parentNode.classList.add('active');\n      });\n\n      input.addEventListener('blur', e => {\n        if (!e.target.value) {\n          e.target.parentNode.classList.remove('active');\n        }\n      });\n    });\n  }\n\n  initCarousel(el) {\n    new Swiper(el, {\n      navigation: {\n        nextEl: el.querySelector('.swiper-button-next'),\n        prevEl: el.querySelector('.swiper-button-prev')\n      }\n    });\n  }\n\n  handleReset() {\n    window.location.href = window.location.href;\n  }\n\n  handlePaginate(page) {\n    this.dom.pageInput.value = page;\n    this.dom.form.submit();\n  }\n\n  buildPagination() {\n    if (this.currentPage > 1) {\n      this.addPrevPage();\n    }\n    this.addPages();\n    if (this.currentPage < this.totalPages) {\n      this.addNextPage();\n    }\n  }\n\n  addPrevPage() {\n    const paginationPrev = document.createElement('button');\n    paginationPrev.classList.add('pagination__arrow__btn');\n    paginationPrev.setAttribute('role', 'button');\n    paginationPrev.setAttribute('aria-label', 'Go to Previous Page');\n    paginationPrev.innerHTML = '<svg><title>previous</title><use xlink:href=\"#chevron-right\" /></svg>';\n    paginationPrev.addEventListener('click', () =>\n      this.handlePaginate(this.currentPage - 1)\n    );\n\n    const paginationPrevContainer = document.createElement('li');\n    paginationPrevContainer.classList.add('pagination__arrow');\n    paginationPrevContainer.classList.add('left');\n    paginationPrevContainer.appendChild(paginationPrev);\n\n    this.dom.pagination.appendChild(paginationPrevContainer);\n  }\n\n  addNextPage() {\n    const paginationNext = document.createElement('button');\n    paginationNext.classList.add('pagination__arrow__btn');\n    paginationNext.setAttribute('role', 'button');\n    paginationNext.setAttribute('aria-label', 'Go to Next Page');\n    paginationNext.innerHTML = '<svg><title>next</title><use xlink:href=\"#chevron-right\" /></svg>';\n    paginationNext.addEventListener('click', () =>\n      this.handlePaginate(this.currentPage + 1)\n    );\n\n    const paginationNextContainer = document.createElement('li');\n    paginationNextContainer.classList.add('pagination__arrow');\n    paginationNextContainer.classList.add('right');\n    paginationNextContainer.appendChild(paginationNext);\n\n    this.dom.pagination.appendChild(paginationNextContainer);\n  }\n\n  addPages() {\n    const keys = [...Array(this.totalPages).keys()];\n\n    keys.forEach(page => {\n      const pageNum = page + 1;\n      const padding = 2;\n      const maxValue = 5;\n      const min =\n        this.currentPage - padding < this.totalPages - 4\n          ? this.currentPage - padding\n          : this.totalPages - 4;\n      const max =\n        this.currentPage + padding > 5 ? this.currentPage + padding : maxValue;\n\n      if (pageNum === this.currentPage - padding && pageNum > 1) {\n        const dotsEl = document.createElement('li');\n        dotsEl.innerHTML = '...';\n        this.dom.pagination.appendChild(dotsEl);\n      }\n\n      if (pageNum === 1 || pageNum === this.totalPages) {\n        this.addPage(pageNum);\n      } else if (pageNum > min && pageNum < max) {\n        this.addPage(pageNum);\n      }\n\n      if (pageNum === max && pageNum < this.totalPages) {\n        const dotsEl = document.createElement('li');\n        dotsEl.innerHTML = '...';\n        this.dom.pagination.appendChild(dotsEl);\n      }\n    });\n  }\n\n  addPage(pageNum) {\n    const pageEl = document.createElement('button');\n    pageEl.innerHTML = pageNum;\n    pageEl.classList.add('pagination__item-btn');\n    pageEl.setAttribute('role', 'button');\n    pageEl.setAttribute('aria-label', `Goto Page ${pageNum}`);\n    pageEl.setAttribute('aria-current', this.currentPage === pageNum);\n    pageEl.addEventListener('click', () => this.handlePaginate(pageNum));\n\n    const pageElContainer = document.createElement('li');\n    pageElContainer.classList.add('pagination__item');\n    pageElContainer.appendChild(pageEl);\n\n    this.dom.pagination.appendChild(pageElContainer);\n  }\n}\n\nexport default Module;\n","import { Component } from '@verndale/core';\nimport { isDevice, open, close } from '../helpers';\nimport { v4 as uuidv4 } from 'uuid';\n\nclass Module extends Component {\n  setupDefaults() {\n    this.options = [...this.el];\n    this.style = this.el.dataset.style;\n    this.search = '';\n    this.searchTimeout = null;\n\n    this.buildDropdown();\n  }\n\n  addListeners() {\n    document.addEventListener('click', this.handleClickOutside.bind(this));\n    this.el.addEventListener('change', this.handleOptionSelect.bind(this));\n    this.dom.trigger.addEventListener(\n      'click',\n      this.handleTriggerClick.bind(this)\n    );\n    this.dom.trigger.addEventListener(\n      'keydown',\n      this.handleTriggerKeydown.bind(this)\n    );\n    this.dom.trigger.parentNode.addEventListener(\n      'blur',\n      this.hideDropdownList.bind(this)\n    );\n    this.dom.list.childNodes.forEach(item => {\n      item.addEventListener('click', () => this.selectItem(item));\n    });\n  }\n\n  on(event, callback) {\n    this.el.addEventListener(event, callback);\n  }\n\n  setValue(value) {\n    let event;\n\n    if (typeof Event === 'function') {\n      event = new Event('change');\n    } else {\n      event = document.createEvent('Event');\n      event.initEvent('change', true, true);\n    }\n\n    this.el.value = value;\n    this.el.dispatchEvent(event);\n  }\n\n  getValue() {\n    return this.el.value;\n  }\n\n  handleClickOutside(e) {\n    if (this.dom.wrapper !== e.target && !this.dom.wrapper.contains(e.target)) {\n      this.hideDropdownList();\n    }\n  }\n\n  handleOptionSelect() {\n    let event;\n\n    if (typeof Event === 'function') {\n      event = new Event('option');\n    } else {\n      event = document.createEvent('Event');\n      event.initEvent('option', true, true);\n    }\n\n    this.dom.trigger.innerHTML = this.getPlaceholder(this.el.value);\n\n    this.options.forEach(option => {\n      if (option.value === this.el.value) {\n        option.setAttribute('aria-selected', true);\n      } else {\n        option.setAttribute('aria-selected', false);\n      }\n    });\n\n    this.dom.list.childNodes.forEach(item => {\n      if (item.dataset.value === this.el.value) {\n        item.setAttribute('aria-selected', true);\n      } else {\n        item.setAttribute('aria-selected', false);\n      }\n    });\n\n    this.el.dispatchEvent(event);\n  }\n\n  handleTriggerClick() {\n    if (isDevice()) {\n      return;\n    }\n\n    if (!this.dom.trigger.getAttribute('aria-expanded')) {\n      this.showDropdownList();\n    } else {\n      this.hideDropdownList();\n    }\n  }\n\n  handleTriggerKeydown(e) {\n    if (isDevice()) return;\n\n    const key = e.which || e.keyCode;\n\n    switch (key) {\n      case 13: // ENTER\n        if (this.dom.trigger.getAttribute('aria-expanded')) {\n          if (this.activeItem) {\n            e.preventDefault();\n            e.stopPropagation();\n            this.selectItem(this.activeItem);\n          }\n        }\n        break;\n      case 38: // UP\n        e.preventDefault();\n        if (this.dom.trigger.getAttribute('aria-expanded') !== 'true') {\n          this.showDropdownList();\n        }\n\n        if (this.activeItem) {\n          const nextElement = this.activeItem.previousElementSibling;\n\n          if (nextElement) {\n            this.focusItem(nextElement);\n          } else {\n            this.focusLast();\n          }\n        } else {\n          this.focusLast();\n        }\n\n        break;\n      case 40: // DOWN\n        e.preventDefault();\n        if (this.dom.trigger.getAttribute('aria-expanded') !== 'true') {\n          this.showDropdownList();\n        }\n\n        if (this.activeItem) {\n          const nextElement = this.activeItem.nextElementSibling;\n\n          if (nextElement) {\n            this.focusItem(nextElement);\n          } else {\n            this.focusFirst();\n          }\n        } else {\n          this.focusFirst();\n        }\n\n        break;\n      case 36:\n        e.preventDefault();\n        this.focusFirst();\n        break;\n      case 35:\n        e.preventDefault();\n        this.focusLast();\n        break;\n      default:\n        this.findItemToFocus(key);\n        break;\n    }\n  }\n\n  findItemToFocus(key) {\n    const character = String.fromCharCode(key).trim();\n    const items = this.dom.list.querySelectorAll('[role=\"option\"]');\n\n    if (!character) return;\n\n    if (!this.dom.trigger.getAttribute('aria-expanded')) {\n      this.showDropdownList();\n    }\n\n    if (this.searchTimeout) {\n      clearTimeout(this.searchTimeout);\n    }\n\n    this.search += character;\n\n    [...items].find(option => {\n      const label = option.textContent || option.innerText || '';\n\n      if (label.trim().toLowerCase().startsWith(this.search.toLowerCase())) {\n        this.focusItem(option);\n        return true;\n      }\n    });\n\n    this.searchTimeout = setTimeout(() => {\n      this.search = '';\n    }, 500);\n  }\n\n  selectItem(item) {\n    this.el.value = item.dataset.value;\n    this.handleOptionSelect();\n    this.hideDropdownList();\n  }\n\n  defocusItem(element) {\n    if (!element) return;\n    element.removeAttribute('aria-selected');\n  }\n\n  focusItem(element) {\n    this.defocusItem(this.activeItem);\n    element.setAttribute('aria-selected', 'true');\n    this.activeItem = element;\n\n    if (this.dom.list.scrollHeight > this.dom.list.clientHeight) {\n      const scrollBottom = this.dom.list.clientHeight + this.dom.list.scrollTop;\n      const elementBottom = element.offsetTop + element.offsetHeight;\n      if (elementBottom > scrollBottom) {\n        this.dom.list.scrollTop = elementBottom - this.dom.list.clientHeight;\n      } else if (element.offsetTop < this.dom.list.scrollTop) {\n        this.dom.list.scrollTop = element.offsetTop;\n      }\n    }\n  }\n\n  focusFirst() {\n    const firstItem = this.dom.list.querySelector('[role=\"option\"]');\n    if (firstItem) {\n      this.focusItem(firstItem);\n    }\n  }\n\n  focusLast() {\n    const items = this.dom.list.querySelectorAll('[role=\"option\"]');\n\n    if (items.length) {\n      this.focusItem(items[items.length - 1]);\n    }\n  }\n\n  showDropdownList() {\n    this.dom.trigger.setAttribute('aria-expanded', true);\n    this.dom.wrapper.classList.add('open');\n    open({ element: this.dom.list, duration: 0.6 });\n  }\n\n  hideDropdownList() {\n    close({\n      element: this.dom.list,\n      duration: 0.6\n    });\n    this.dom.trigger.removeAttribute('aria-expanded');\n    this.dom.wrapper.classList.remove('open');\n    this.defocusItem(this.activeItem);\n    this.activeItem = null;\n  }\n\n  getPlaceholder(value) {\n    const placeholder = this.el.getAttribute('placeholder');\n    const selectedOptionLabel = this.options.find(\n      option => option.value === value\n    ).innerHTML;\n\n    if (placeholder) {\n      return `${\n        selectedOptionLabel\n          ? `<span>${placeholder}:</span>`\n          : `<span>${placeholder}</span>`\n      } ${selectedOptionLabel}<svg><use xlink:href=\"#chevron-right\" /></svg>`;\n    }\n\n    return `${selectedOptionLabel}<svg><use xlink:href=\"#chevron-right\" /></svg>`;\n  }\n\n  buildDropdown() {\n    const listId = uuidv4();\n    this.dom.wrapper = document.createElement('div');\n    this.el.setAttribute('aria-hidden', true);\n    this.el.setAttribute('tabindex', '-1');\n    this.el.parentNode.insertBefore(this.dom.wrapper, this.el);\n    this.dom.wrapper.classList.add('dropdown');\n\n    if (this.style) {\n      this.dom.wrapper.classList.add(`dropdown--${this.style}`);\n    }\n\n    if (isDevice()) {\n      this.dom.wrapper.classList.add('dropdown--native');\n    }\n    this.dom.wrapper.appendChild(this.el);\n\n    this.dom.trigger = document.createElement('button');\n    this.dom.trigger.classList.add('dropdown__trigger');\n    this.dom.trigger.setAttribute('type', 'button');\n    this.dom.trigger.setAttribute('role', 'combobox');\n    this.dom.trigger.setAttribute('aria-haspopup', 'listbox');\n    this.dom.trigger.setAttribute('aria-controls', `${listId}`);\n\n    // Get label\n    const label = document.querySelector(`label[for=\"${this.el.id}\"]`);\n\n    if (label) {\n      this.dom.trigger.setAttribute('aria-label', label.textContent);\n    }\n\n    this.dom.trigger.innerHTML = this.getPlaceholder(this.el.value);\n\n    this.dom.wrapper.appendChild(this.dom.trigger);\n\n    this.dom.list = document.createElement('ul');\n    this.dom.list.id = listId;\n    this.dom.list.classList.add('dropdown__list');\n    this.dom.list.setAttribute('role', 'listbox');\n    this.dom.list.setAttribute(\n      'aria-label',\n      this.el.getAttribute('aria-label')\n    );\n    this.dom.list.innerHTML = this.options\n      .map(\n        option =>\n          `<li class=\"dropdown__list__option\" role=\"option\" data-value=\"${\n            option.value\n          }\" aria-selected=\"${option.value === this.el.value}\">${option.text}\n            <span clasS=\"dropdown__list__option-decorator\">\n              <span></span>\n            </span>\n          </li>`\n      )\n      .join('');\n    this.el.parentNode.insertBefore(this.dom.list, this.el.nextSibling);\n    this.dom.wrapper.appendChild(this.dom.list);\n  }\n\n  destroy() {\n    const parent = this.el.parentNode;\n    parent.removeChild(this.el);\n    parent.parentNode.insertBefore(this.el, parent);\n    parent.parentNode.removeChild(parent);\n  }\n\n  update() {\n    this.destroy();\n    this.setupDefaults();\n    this.addListeners();\n  }\n}\n\nexport default Module;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods, createElementIfNotDefined } from '../../utils/utils';\nvar Navigation = {\n  toggleEl: function toggleEl($el, disabled) {\n    $el[disabled ? 'addClass' : 'removeClass'](this.params.navigation.disabledClass);\n    if ($el[0] && $el[0].tagName === 'BUTTON') $el[0].disabled = disabled;\n  },\n  update: function update() {\n    // Update Navigation Buttons\n    var swiper = this;\n    var params = swiper.params.navigation;\n    var toggleEl = swiper.navigation.toggleEl;\n    if (swiper.params.loop) return;\n    var _swiper$navigation = swiper.navigation,\n        $nextEl = _swiper$navigation.$nextEl,\n        $prevEl = _swiper$navigation.$prevEl;\n\n    if ($prevEl && $prevEl.length > 0) {\n      if (swiper.isBeginning) {\n        toggleEl($prevEl, true);\n      } else {\n        toggleEl($prevEl, false);\n      }\n\n      if (swiper.params.watchOverflow && swiper.enabled) {\n        $prevEl[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n      }\n    }\n\n    if ($nextEl && $nextEl.length > 0) {\n      if (swiper.isEnd) {\n        toggleEl($nextEl, true);\n      } else {\n        toggleEl($nextEl, false);\n      }\n\n      if (swiper.params.watchOverflow && swiper.enabled) {\n        $nextEl[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n      }\n    }\n  },\n  onPrevClick: function onPrevClick(e) {\n    var swiper = this;\n    e.preventDefault();\n    if (swiper.isBeginning && !swiper.params.loop) return;\n    swiper.slidePrev();\n  },\n  onNextClick: function onNextClick(e) {\n    var swiper = this;\n    e.preventDefault();\n    if (swiper.isEnd && !swiper.params.loop) return;\n    swiper.slideNext();\n  },\n  init: function init() {\n    var swiper = this;\n    var params = swiper.params.navigation;\n    swiper.params.navigation = createElementIfNotDefined(swiper.$el, swiper.params.navigation, swiper.params.createElements, {\n      nextEl: 'swiper-button-next',\n      prevEl: 'swiper-button-prev'\n    });\n    if (!(params.nextEl || params.prevEl)) return;\n    var $nextEl;\n    var $prevEl;\n\n    if (params.nextEl) {\n      $nextEl = $(params.nextEl);\n\n      if (swiper.params.uniqueNavElements && typeof params.nextEl === 'string' && $nextEl.length > 1 && swiper.$el.find(params.nextEl).length === 1) {\n        $nextEl = swiper.$el.find(params.nextEl);\n      }\n    }\n\n    if (params.prevEl) {\n      $prevEl = $(params.prevEl);\n\n      if (swiper.params.uniqueNavElements && typeof params.prevEl === 'string' && $prevEl.length > 1 && swiper.$el.find(params.prevEl).length === 1) {\n        $prevEl = swiper.$el.find(params.prevEl);\n      }\n    }\n\n    if ($nextEl && $nextEl.length > 0) {\n      $nextEl.on('click', swiper.navigation.onNextClick);\n    }\n\n    if ($prevEl && $prevEl.length > 0) {\n      $prevEl.on('click', swiper.navigation.onPrevClick);\n    }\n\n    extend(swiper.navigation, {\n      $nextEl: $nextEl,\n      nextEl: $nextEl && $nextEl[0],\n      $prevEl: $prevEl,\n      prevEl: $prevEl && $prevEl[0]\n    });\n\n    if (!swiper.enabled) {\n      if ($nextEl) $nextEl.addClass(params.lockClass);\n      if ($prevEl) $prevEl.addClass(params.lockClass);\n    }\n  },\n  destroy: function destroy() {\n    var swiper = this;\n    var _swiper$navigation2 = swiper.navigation,\n        $nextEl = _swiper$navigation2.$nextEl,\n        $prevEl = _swiper$navigation2.$prevEl;\n\n    if ($nextEl && $nextEl.length) {\n      $nextEl.off('click', swiper.navigation.onNextClick);\n      $nextEl.removeClass(swiper.params.navigation.disabledClass);\n    }\n\n    if ($prevEl && $prevEl.length) {\n      $prevEl.off('click', swiper.navigation.onPrevClick);\n      $prevEl.removeClass(swiper.params.navigation.disabledClass);\n    }\n  }\n};\nexport default {\n  name: 'navigation',\n  params: {\n    navigation: {\n      nextEl: null,\n      prevEl: null,\n      hideOnClick: false,\n      disabledClass: 'swiper-button-disabled',\n      hiddenClass: 'swiper-button-hidden',\n      lockClass: 'swiper-button-lock'\n    }\n  },\n  create: function create() {\n    var swiper = this;\n    bindModuleMethods(swiper, {\n      navigation: _extends({}, Navigation)\n    });\n  },\n  on: {\n    init: function init(swiper) {\n      swiper.navigation.init();\n      swiper.navigation.update();\n    },\n    toEdge: function toEdge(swiper) {\n      swiper.navigation.update();\n    },\n    fromEdge: function fromEdge(swiper) {\n      swiper.navigation.update();\n    },\n    destroy: function destroy(swiper) {\n      swiper.navigation.destroy();\n    },\n    'enable disable': function enableDisable(swiper) {\n      var _swiper$navigation3 = swiper.navigation,\n          $nextEl = _swiper$navigation3.$nextEl,\n          $prevEl = _swiper$navigation3.$prevEl;\n\n      if ($nextEl) {\n        $nextEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n      }\n\n      if ($prevEl) {\n        $prevEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n      }\n    },\n    click: function click(swiper, e) {\n      var _swiper$navigation4 = swiper.navigation,\n          $nextEl = _swiper$navigation4.$nextEl,\n          $prevEl = _swiper$navigation4.$prevEl;\n      var targetEl = e.target;\n\n      if (swiper.params.navigation.hideOnClick && !$(targetEl).is($prevEl) && !$(targetEl).is($nextEl)) {\n        if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n        var isHidden;\n\n        if ($nextEl) {\n          isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);\n        } else if ($prevEl) {\n          isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);\n        }\n\n        if (isHidden === true) {\n          swiper.emit('navigationShow');\n        } else {\n          swiper.emit('navigationHide');\n        }\n\n        if ($nextEl) {\n          $nextEl.toggleClass(swiper.params.navigation.hiddenClass);\n        }\n\n        if ($prevEl) {\n          $prevEl.toggleClass(swiper.params.navigation.hiddenClass);\n        }\n      }\n    }\n  }\n};"],"sourceRoot":""}