{"version":3,"sources":["webpack:///./src/js/modules/tabbedCarousel.js","webpack:///./node_modules/swiper/esm/components/navigation/navigation.js","webpack:///./node_modules/swiper/esm/components/scrollbar/scrollbar.js"],"names":["Swiper","use","Navigation","Scrollbar","TabbedCarousel","this","isExpEditor","el","dataset","dom","sliders","querySelectorAll","cards","sliderWrapper","querySelector","tabsButtons","tabsContainer","currentTab","initializeTabs","forEach","slider","scroll","nextBtn","prevBtn","classList","contains","initSlider","length","renderTabs","add","setAttribute","card","addEventListener","onHoverCard","onLeaveCard","window","hideControls","tabs","tab","index","e","handleTabsClick","handleTabsKeydown","slidesPerView","spaceBetween","scrollbar","draggable","navigation","nextEl","prevEl","breakpoints","tablet","tabletLandscape","laptop","desktop","wide","fullHd","controls","display","style","innerWidth","changeControlsDisplay","target","remove","tabIndex","tabsContent","currentTabContent","tabContent","changeSelectedTab","keyMapper","ArrowLeft","ArrowRight","key","nextTabIndex","lastTabIndex","innerHTML","filter","hasCards","closest","map","tabId","getAttribute","tabContentId","tabLabel","join","Component","_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","preventDefault","slidePrev","onNextClick","slideNext","init","createElements","uniqueNavElements","find","on","addClass","destroy","_swiper$navigation2","off","removeClass","name","hideOnClick","hiddenClass","create","swiper","toEdge","fromEdge","_swiper$navigation3","click","_swiper$navigation4","targetEl","is","pagination","clickable","isHidden","hasClass","emit","toggleClass","setTranslate","rtl","rtlTranslate","progress","dragSize","trackSize","$dragEl","newSize","newPos","isHorizontal","transform","width","height","hide","clearTimeout","timeout","opacity","setTimeout","transition","setTransition","duration","updateSize","offsetWidth","offsetHeight","divider","size","virtualSize","moveDivider","parseInt","getPointerPosition","type","targetTouches","clientX","clientY","setDragPosition","positionRatio","dragStartPos","offset","Math","max","min","position","minTranslate","maxTranslate","updateProgress","updateActiveIndex","updateSlidesClasses","onDragStart","$wrapperEl","isTouched","getBoundingClientRect","stopPropagation","dragTimeout","css","cssMode","onDragMove","returnValue","onDragEnd","snapOnRelease","slideToClosest","enableDraggable","document","touchEventsTouch","touchEventsDesktop","support","activeListener","passiveListener","passiveListeners","passive","capture","touch","start","move","end","disableDraggable","removeEventListener","$swiperEl","dragClass","append","dragEl","resize","observerUpdate"],"mappings":"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","file":"37.78e41a490b791754092d.js","sourcesContent":["import { Component } from '@verndale/core';\nimport Swiper, { Navigation, Scrollbar } from 'swiper';\nimport { breakpoints } from '../helpers/constants';\n\nSwiper.use([Navigation, Scrollbar]);\n\nclass TabbedCarousel extends Component {\n  setupDefaults() {\n    this.isExpEditor = this.el.dataset.isExpEditor === 'true';\n    this.dom = {\n      sliders: [...this.el.querySelectorAll('.tabbed-carousel__tab-content')],\n      cards: this.el.querySelectorAll('.cta-description-card'),\n      sliderWrapper: this.el.querySelector('.swiper-wrapper'),\n      tabsButtons: this.el.querySelectorAll('.tabbed-carousel__tabs-info'),\n      tabsContainer: this.el.querySelector('.tabbed-carousel__tabs')\n    };\n    this.currentTab = 0;\n    this.initializeTabs();\n    //initializing active slider on load\n    this.dom.sliders.forEach(slider => {\n      const scroll = slider.querySelector('.swiper-scrollbar');\n      const nextBtn = slider.querySelector('.swiper-button-next');\n      const prevBtn = slider.querySelector('.swiper-button-prev');\n\n      if (slider.classList.contains('active')) {\n        this.initSlider(slider, nextBtn, prevBtn, scroll);\n      }\n    });\n  }\n\n  initializeTabs() {\n    if (this.dom.sliders.length > 0) {\n      this.renderTabs();\n      this.dom.sliders[0].classList.add('active');\n      this.dom.sliders[0].setAttribute('tabindex', 0);\n      this.el.classList.add('initialized');\n    }\n  }\n\n  addListeners() {\n    const { cards } = this.dom;\n    cards.forEach(card =>\n      card.addEventListener('mouseover', ::this.onHoverCard)\n    );\n    cards.forEach(card =>\n      card.addEventListener('mouseleave', ::this.onLeaveCard)\n    );\n    window.addEventListener('resize',  () => {\n      this.dom.sliders.forEach(slider => this.hideControls(slider))\n    })\n    this.dom.tabs.forEach((tab, index) => {\n      // Click event on tab\n      tab.addEventListener('click', e => this.handleTabsClick(e, index));\n      // Keydown event on tab\n      tab.addEventListener('keydown', e => this.handleTabsKeydown(e));\n    })\n  }\n\n  initSlider(slider, nextBtn, prevBtn, scroll) {\n    const sliderOptions = new Swiper(slider, {\n      slidesPerView: 1.3,\n      spaceBetween: 22,\n      scrollbar: {\n        el: scroll,\n        draggable: true\n      },\n      navigation: {\n        nextEl: nextBtn,\n        prevEl: prevBtn\n      },\n      breakpoints: {\n        [breakpoints.tablet]: {\n          slidesPerView: 3.3,\n          spaceBetween: 20\n        },\n        [breakpoints.tabletLandscape]: {\n          slidesPerView: 4.3,\n          spaceBetween: 24\n        },\n        [breakpoints.laptop]: {\n          slidesPerView: 4,\n          spaceBetween: 32\n        },\n        [breakpoints.desktop]: {\n          slidesPerView: 4,\n          spaceBetween: 40\n        },\n        [breakpoints.wide]: {\n          slidesPerView: 4,\n          spaceBetween: 48\n        },\n        [breakpoints.fullHd]: {\n          slidesPerView: 4,\n          spaceBetween: 68\n        }\n      }\n    });\n    this.hideControls(slider);\n  }\n\n  changeControlsDisplay(controls, display) {\n    controls.style.display = display;\n  }\n\n  hideControls(slider) {\n    const controls = slider.querySelector('.controls-btns');\n    const cards = slider.querySelectorAll('.swiper-slide');\n\n    if (window.innerWidth >= breakpoints.laptop && cards.length <= 4) {\n      return this.changeControlsDisplay(controls, 'none')\n    } else if (window.innerWidth >= breakpoints.tablet && cards.length <= 3) {\n      return this.changeControlsDisplay(controls, 'none')\n    } else if (window.innerWidth < breakpoints.tablet && cards.length < 2) {\n      return this.changeControlsDisplay(controls, 'none')\n    }\n    return this.changeControlsDisplay(controls, 'flex');\n  }\n\n  onHoverCard(e) {\n    const { cards } = this.dom;\n    cards.forEach(\n      card => !card.contains(e.target) && card.classList.add('light-opacity')\n    );\n  }\n\n  onLeaveCard(e) {\n    const { cards } = this.dom;\n    cards.forEach(\n      card => !card.contains(e.target) && card.classList.remove('light-opacity')\n    );\n  }\n\n  changeSelectedTab(tabIndex) {\n    this.currentTab = tabIndex;\n    this.hideControls(this.dom.sliders[tabIndex]);\n    const tabs = this.el.querySelectorAll(\n      '.tabbed-carousel__tabs button[role=\"tab\"]'\n    );\n    const tabsContent = this.el.querySelectorAll(\n      '.tabbed-carousel__tab-content[role=\"tabpanel\"]'\n    );\n    const currentTabContent = tabsContent[tabIndex];\n    const currentTab = tabs[tabIndex];\n\n    // Reset tabsContent styles and accessibility attributes\n    tabsContent.forEach((tabContent, index) => {\n      tabContent.setAttribute('tabindex', -1);\n      tabContent.classList.remove('active');\n    });\n    // Update currentTabContent styles and accessibility attributes\n    currentTabContent.setAttribute('tabindex', 0);\n    currentTabContent.classList.add('active');\n    // Reset tabs styles and accessibility attributes\n    tabs.forEach(tab => {\n      tab.setAttribute('aria-selected', false);\n      tab.setAttribute('tabindex', -1);\n      tab.classList.remove('active');\n    });\n    // Update currentTab styles and accessibility attributes\n    currentTab.setAttribute('aria-selected', true);\n    currentTab.setAttribute('tabindex', 0);\n    currentTab.classList.add('active');\n  }\n\n  handleTabsClick(e, index) {\n    this.changeSelectedTab(index);\n    //initializing active slider\n    this.dom.sliders.forEach(slider => {\n      if (slider.classList.contains('active')) {\n        const scroll = slider.querySelector('.swiper-scrollbar');\n        const nextBtn = slider.querySelector('.swiper-button-next');\n        const prevBtn = slider.querySelector('.swiper-button-prev');\n        this.initSlider(slider, nextBtn, prevBtn, scroll);\n      }\n    });\n  }\n\n  handleTabsKeydown(e) {\n    const keyMapper = { ArrowLeft: -1, ArrowRight: 1 };\n    const tabs = this.el.querySelectorAll(\n      '.tabbed-carousel__tabs button[role=\"tab\"]'\n    );\n    // Return if theres no action for a key\n    if (!keyMapper[e.key]) return;\n    const nextTabIndex = keyMapper[e.key];\n    const lastTabIndex = tabs.length - 1;\n    // Handle navigation from 0 index to last index\n    if (this.currentTab + nextTabIndex === -1) {\n      this.changeSelectedTab(lastTabIndex);\n      // Handle navigation from last index to 0 index\n    } else if (this.currentTab + nextTabIndex > lastTabIndex) {\n      this.changeSelectedTab(0);\n      // Handle regular navigation\n    } else {\n      this.changeSelectedTab(this.currentTab + nextTabIndex);\n    }\n    //initializing active slider\n    if (e.key) {\n      this.dom.sliders.forEach(slider => {\n        if (slider.classList.contains('active')) {\n          const scroll = slider.querySelector('.swiper-scrollbar');\n          const nextBtn = slider.querySelector('.swiper-button-next');\n          const prevBtn = slider.querySelector('.swiper-button-prev');\n\n          this.initSlider(slider, nextBtn, prevBtn, scroll);\n        }\n      });\n    }\n  }\n\n  renderTabs() {\n    // Generate tabs\n    this.dom.tabsContainer.innerHTML = this.dom.sliders\n      .filter(slider => {\n        const hasCards = slider.querySelectorAll('.swiper-slide').length > 0;\n        if (!hasCards && !this.isExpEditor) {\n          slider.closest('.tabbed-carousel__tab-content').remove();\n          this.dom.sliders = [...this.el.querySelectorAll('.tabbed-carousel__tab-content')];\n        }\n        return this.isExpEditor ? true : hasCards;\n      })\n      .map((tabContent, index) => {\n        const tabId = tabContent.getAttribute('aria-labelledby');\n        const tabContentId = tabContent.getAttribute('id');\n        const tabLabel = tabContent.dataset.tabLabel;\n        return `\n        <button\n          class='tabbed-carousel__tabs-info ${!index ? 'active' : ''}'\n          role='tab'\n          tabindex='${!index ? 0 : -1}'\n          aria-selected='${(!index)}'\n          aria-controls='${tabContentId}'\n          id='${tabId}'\n        >\n          ${tabLabel}\n        </button>\n      `;\n      }).join('');\n    // Set tabs reference\n    this.dom.tabs = [...this.el.querySelectorAll('.tabbed-carousel__tabs-info[role=\"tab\"]')];\n  }\n}\n\nexport default TabbedCarousel;\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};","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 { getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { extend, nextTick, bindModuleMethods, createElementIfNotDefined } from '../../utils/utils';\nvar Scrollbar = {\n  setTranslate: function setTranslate() {\n    var swiper = this;\n    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n    var scrollbar = swiper.scrollbar,\n        rtl = swiper.rtlTranslate,\n        progress = swiper.progress;\n    var dragSize = scrollbar.dragSize,\n        trackSize = scrollbar.trackSize,\n        $dragEl = scrollbar.$dragEl,\n        $el = scrollbar.$el;\n    var params = swiper.params.scrollbar;\n    var newSize = dragSize;\n    var newPos = (trackSize - dragSize) * progress;\n\n    if (rtl) {\n      newPos = -newPos;\n\n      if (newPos > 0) {\n        newSize = dragSize - newPos;\n        newPos = 0;\n      } else if (-newPos + dragSize > trackSize) {\n        newSize = trackSize + newPos;\n      }\n    } else if (newPos < 0) {\n      newSize = dragSize + newPos;\n      newPos = 0;\n    } else if (newPos + dragSize > trackSize) {\n      newSize = trackSize - newPos;\n    }\n\n    if (swiper.isHorizontal()) {\n      $dragEl.transform(\"translate3d(\" + newPos + \"px, 0, 0)\");\n      $dragEl[0].style.width = newSize + \"px\";\n    } else {\n      $dragEl.transform(\"translate3d(0px, \" + newPos + \"px, 0)\");\n      $dragEl[0].style.height = newSize + \"px\";\n    }\n\n    if (params.hide) {\n      clearTimeout(swiper.scrollbar.timeout);\n      $el[0].style.opacity = 1;\n      swiper.scrollbar.timeout = setTimeout(function () {\n        $el[0].style.opacity = 0;\n        $el.transition(400);\n      }, 1000);\n    }\n  },\n  setTransition: function setTransition(duration) {\n    var swiper = this;\n    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n    swiper.scrollbar.$dragEl.transition(duration);\n  },\n  updateSize: function updateSize() {\n    var swiper = this;\n    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n    var scrollbar = swiper.scrollbar;\n    var $dragEl = scrollbar.$dragEl,\n        $el = scrollbar.$el;\n    $dragEl[0].style.width = '';\n    $dragEl[0].style.height = '';\n    var trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;\n    var divider = swiper.size / swiper.virtualSize;\n    var moveDivider = divider * (trackSize / swiper.size);\n    var dragSize;\n\n    if (swiper.params.scrollbar.dragSize === 'auto') {\n      dragSize = trackSize * divider;\n    } else {\n      dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n    }\n\n    if (swiper.isHorizontal()) {\n      $dragEl[0].style.width = dragSize + \"px\";\n    } else {\n      $dragEl[0].style.height = dragSize + \"px\";\n    }\n\n    if (divider >= 1) {\n      $el[0].style.display = 'none';\n    } else {\n      $el[0].style.display = '';\n    }\n\n    if (swiper.params.scrollbar.hide) {\n      $el[0].style.opacity = 0;\n    }\n\n    extend(scrollbar, {\n      trackSize: trackSize,\n      divider: divider,\n      moveDivider: moveDivider,\n      dragSize: dragSize\n    });\n\n    if (swiper.params.watchOverflow && swiper.enabled) {\n      scrollbar.$el[swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass);\n    }\n  },\n  getPointerPosition: function getPointerPosition(e) {\n    var swiper = this;\n\n    if (swiper.isHorizontal()) {\n      return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientX : e.clientX;\n    }\n\n    return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientY : e.clientY;\n  },\n  setDragPosition: function setDragPosition(e) {\n    var swiper = this;\n    var scrollbar = swiper.scrollbar,\n        rtl = swiper.rtlTranslate;\n    var $el = scrollbar.$el,\n        dragSize = scrollbar.dragSize,\n        trackSize = scrollbar.trackSize,\n        dragStartPos = scrollbar.dragStartPos;\n    var positionRatio;\n    positionRatio = (scrollbar.getPointerPosition(e) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);\n    positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n\n    if (rtl) {\n      positionRatio = 1 - positionRatio;\n    }\n\n    var position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\n    swiper.updateProgress(position);\n    swiper.setTranslate(position);\n    swiper.updateActiveIndex();\n    swiper.updateSlidesClasses();\n  },\n  onDragStart: function onDragStart(e) {\n    var swiper = this;\n    var params = swiper.params.scrollbar;\n    var scrollbar = swiper.scrollbar,\n        $wrapperEl = swiper.$wrapperEl;\n    var $el = scrollbar.$el,\n        $dragEl = scrollbar.$dragEl;\n    swiper.scrollbar.isTouched = true;\n    swiper.scrollbar.dragStartPos = e.target === $dragEl[0] || e.target === $dragEl ? scrollbar.getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;\n    e.preventDefault();\n    e.stopPropagation();\n    $wrapperEl.transition(100);\n    $dragEl.transition(100);\n    scrollbar.setDragPosition(e);\n    clearTimeout(swiper.scrollbar.dragTimeout);\n    $el.transition(0);\n\n    if (params.hide) {\n      $el.css('opacity', 1);\n    }\n\n    if (swiper.params.cssMode) {\n      swiper.$wrapperEl.css('scroll-snap-type', 'none');\n    }\n\n    swiper.emit('scrollbarDragStart', e);\n  },\n  onDragMove: function onDragMove(e) {\n    var swiper = this;\n    var scrollbar = swiper.scrollbar,\n        $wrapperEl = swiper.$wrapperEl;\n    var $el = scrollbar.$el,\n        $dragEl = scrollbar.$dragEl;\n    if (!swiper.scrollbar.isTouched) return;\n    if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n    scrollbar.setDragPosition(e);\n    $wrapperEl.transition(0);\n    $el.transition(0);\n    $dragEl.transition(0);\n    swiper.emit('scrollbarDragMove', e);\n  },\n  onDragEnd: function onDragEnd(e) {\n    var swiper = this;\n    var params = swiper.params.scrollbar;\n    var scrollbar = swiper.scrollbar,\n        $wrapperEl = swiper.$wrapperEl;\n    var $el = scrollbar.$el;\n    if (!swiper.scrollbar.isTouched) return;\n    swiper.scrollbar.isTouched = false;\n\n    if (swiper.params.cssMode) {\n      swiper.$wrapperEl.css('scroll-snap-type', '');\n      $wrapperEl.transition('');\n    }\n\n    if (params.hide) {\n      clearTimeout(swiper.scrollbar.dragTimeout);\n      swiper.scrollbar.dragTimeout = nextTick(function () {\n        $el.css('opacity', 0);\n        $el.transition(400);\n      }, 1000);\n    }\n\n    swiper.emit('scrollbarDragEnd', e);\n\n    if (params.snapOnRelease) {\n      swiper.slideToClosest();\n    }\n  },\n  enableDraggable: function enableDraggable() {\n    var swiper = this;\n    if (!swiper.params.scrollbar.el) return;\n    var document = getDocument();\n    var scrollbar = swiper.scrollbar,\n        touchEventsTouch = swiper.touchEventsTouch,\n        touchEventsDesktop = swiper.touchEventsDesktop,\n        params = swiper.params,\n        support = swiper.support;\n    var $el = scrollbar.$el;\n    var target = $el[0];\n    var activeListener = support.passiveListener && params.passiveListeners ? {\n      passive: false,\n      capture: false\n    } : false;\n    var passiveListener = support.passiveListener && params.passiveListeners ? {\n      passive: true,\n      capture: false\n    } : false;\n    if (!target) return;\n\n    if (!support.touch) {\n      target.addEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\n      document.addEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\n      document.addEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\n    } else {\n      target.addEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);\n      target.addEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);\n      target.addEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);\n    }\n  },\n  disableDraggable: function disableDraggable() {\n    var swiper = this;\n    if (!swiper.params.scrollbar.el) return;\n    var document = getDocument();\n    var scrollbar = swiper.scrollbar,\n        touchEventsTouch = swiper.touchEventsTouch,\n        touchEventsDesktop = swiper.touchEventsDesktop,\n        params = swiper.params,\n        support = swiper.support;\n    var $el = scrollbar.$el;\n    var target = $el[0];\n    var activeListener = support.passiveListener && params.passiveListeners ? {\n      passive: false,\n      capture: false\n    } : false;\n    var passiveListener = support.passiveListener && params.passiveListeners ? {\n      passive: true,\n      capture: false\n    } : false;\n    if (!target) return;\n\n    if (!support.touch) {\n      target.removeEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\n      document.removeEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\n      document.removeEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\n    } else {\n      target.removeEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);\n      target.removeEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);\n      target.removeEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);\n    }\n  },\n  init: function init() {\n    var swiper = this;\n    var scrollbar = swiper.scrollbar,\n        $swiperEl = swiper.$el;\n    swiper.params.scrollbar = createElementIfNotDefined($swiperEl, swiper.params.scrollbar, swiper.params.createElements, {\n      el: 'swiper-scrollbar'\n    });\n    var params = swiper.params.scrollbar;\n    if (!params.el) return;\n    var $el = $(params.el);\n\n    if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) {\n      $el = $swiperEl.find(params.el);\n    }\n\n    var $dragEl = $el.find(\".\" + swiper.params.scrollbar.dragClass);\n\n    if ($dragEl.length === 0) {\n      $dragEl = $(\"<div class=\\\"\" + swiper.params.scrollbar.dragClass + \"\\\"></div>\");\n      $el.append($dragEl);\n    }\n\n    extend(scrollbar, {\n      $el: $el,\n      el: $el[0],\n      $dragEl: $dragEl,\n      dragEl: $dragEl[0]\n    });\n\n    if (params.draggable) {\n      scrollbar.enableDraggable();\n    }\n\n    if ($el) {\n      $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);\n    }\n  },\n  destroy: function destroy() {\n    var swiper = this;\n    swiper.scrollbar.disableDraggable();\n  }\n};\nexport default {\n  name: 'scrollbar',\n  params: {\n    scrollbar: {\n      el: null,\n      dragSize: 'auto',\n      hide: false,\n      draggable: false,\n      snapOnRelease: true,\n      lockClass: 'swiper-scrollbar-lock',\n      dragClass: 'swiper-scrollbar-drag'\n    }\n  },\n  create: function create() {\n    var swiper = this;\n    bindModuleMethods(swiper, {\n      scrollbar: _extends({\n        isTouched: false,\n        timeout: null,\n        dragTimeout: null\n      }, Scrollbar)\n    });\n  },\n  on: {\n    init: function init(swiper) {\n      swiper.scrollbar.init();\n      swiper.scrollbar.updateSize();\n      swiper.scrollbar.setTranslate();\n    },\n    update: function update(swiper) {\n      swiper.scrollbar.updateSize();\n    },\n    resize: function resize(swiper) {\n      swiper.scrollbar.updateSize();\n    },\n    observerUpdate: function observerUpdate(swiper) {\n      swiper.scrollbar.updateSize();\n    },\n    setTranslate: function setTranslate(swiper) {\n      swiper.scrollbar.setTranslate();\n    },\n    setTransition: function setTransition(swiper, duration) {\n      swiper.scrollbar.setTransition(duration);\n    },\n    'enable disable': function enableDisable(swiper) {\n      var $el = swiper.scrollbar.$el;\n\n      if ($el) {\n        $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);\n      }\n    },\n    destroy: function destroy(swiper) {\n      swiper.scrollbar.destroy();\n    }\n  }\n};"],"sourceRoot":""}