{"version":3,"file":"inner-slider.cjs","sources":["../../../../../../packages/vue-components/vc-slick/src/inner-slider.tsx"],"sourcesContent":["// eslint-disable-next-line ts/ban-ts-comment\n// @ts-nocheck\nimport { BaseMixin, classNames, supportsPassive } from '@antdv/utils';\n\nimport { debounce } from 'lodash-es';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { NextArrow, PrevArrow } from './arrows';\nimport defaultProps from './default-props.js';\nimport Dots from './dots';\nimport initialState from './initial-state.js';\nimport Track from './track';\nimport {\n  canGoNext,\n  changeSlide,\n  extractObject,\n  getHeight,\n  getOnDemandLazySlides,\n  getPostClones,\n  getPreClones,\n  getTrackCSS,\n  getTrackLeft,\n  initializedState,\n  keyHandler,\n  slideHandler,\n  swipeEnd,\n  swipeMove,\n  swipeStart,\n} from './utils/innerSliderUtils.js';\n\nfunction noop() {}\n\nexport default {\n  name: 'InnerSlider',\n  mixins: [BaseMixin],\n  inheritAttrs: false,\n  props: {\n    ...defaultProps,\n  },\n  data() {\n    this.preProps = { ...this.$props };\n    this.list = null;\n    this.track = null;\n    this.callbackTimers = [];\n    this.clickable = true;\n    this.debouncedResize = null;\n    const ssrState = this.ssrInit();\n    return {\n      ...initialState,\n      currentSlide: this.initialSlide,\n      slideCount: this.children.length,\n      ...ssrState,\n    };\n  },\n  watch: {\n    autoplay(newValue, oldValue) {\n      if (!oldValue && newValue)\n        this.handleAutoPlay('playing');\n      else if (newValue)\n        this.handleAutoPlay('update');\n      else\n        this.pause('paused');\n    },\n    __propsSymbol__() {\n      const nextProps = this.$props;\n      const spec = {\n        listRef: this.list,\n        trackRef: this.track,\n        ...nextProps,\n        ...this.$data,\n      };\n      let setTrackStyle = false;\n      for (const key of Object.keys(this.preProps)) {\n        if (!nextProps.hasOwnProperty(key)) {\n          setTrackStyle = true;\n          break;\n        }\n        if (\n          typeof nextProps[key] === 'object'\n          || typeof nextProps[key] === 'function'\n          || typeof nextProps[key] === 'symbol'\n        ) {\n          continue;\n        }\n\n        if (nextProps[key] !== this.preProps[key]) {\n          setTrackStyle = true;\n          break;\n        }\n      }\n      this.updateState(spec, setTrackStyle, () => {\n        if (this.currentSlide >= nextProps.children.length) {\n          this.changeSlide({\n            message: 'index',\n            index: nextProps.children.length - nextProps.slidesToShow,\n            currentSlide: this.currentSlide,\n          });\n        }\n        if (!this.preProps.autoplay && nextProps.autoplay)\n          this.handleAutoPlay('playing');\n        else if (nextProps.autoplay)\n          this.handleAutoPlay('update');\n        else\n          this.pause('paused');\n      });\n      this.preProps = { ...nextProps };\n    },\n  },\n  mounted() {\n    this.__emit('init');\n    if (this.lazyLoad) {\n      const slidesToLoad = getOnDemandLazySlides({\n        ...this.$props,\n        ...this.$data,\n      });\n      if (slidesToLoad.length > 0) {\n        this.setState(prevState => ({\n          lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad),\n        }));\n        this.__emit('lazyLoad', slidesToLoad);\n      }\n    }\n    this.$nextTick(() => {\n      const spec = {\n        listRef: this.list,\n        trackRef: this.track,\n        children: this.children,\n        ...this.$props,\n      };\n      this.updateState(spec, true, () => {\n        this.adaptHeight();\n        this.autoplay && this.handleAutoPlay('playing');\n      });\n      if (this.lazyLoad === 'progressive')\n        this.lazyLoadTimer = setInterval(this.progressiveLazyLoad, 1000);\n\n      this.ro = new ResizeObserver(() => {\n        if (this.animating) {\n          this.onWindowResized(false); // don't set trackStyle hence don't break animation\n          this.callbackTimers.push(setTimeout(() => this.onWindowResized(), this.speed));\n        } else {\n          this.onWindowResized();\n        }\n      });\n      this.ro.observe(this.list);\n      document.querySelectorAll\n        && Array.prototype.forEach.call(document.querySelectorAll('.slick-slide'), (slide) => {\n          slide.onfocus = this.$props.pauseOnFocus ? this.onSlideFocus : null;\n          slide.onblur = this.$props.pauseOnFocus ? this.onSlideBlur : null;\n        });\n      if (window.addEventListener)\n        window.addEventListener('resize', this.onWindowResized);\n      else\n        window.attachEvent('onresize', this.onWindowResized);\n    });\n  },\n  beforeUnmount() {\n    if (this.animationEndCallback)\n      clearTimeout(this.animationEndCallback);\n\n    if (this.lazyLoadTimer)\n      clearInterval(this.lazyLoadTimer);\n\n    if (this.callbackTimers.length) {\n      this.callbackTimers.forEach(timer => clearTimeout(timer));\n      this.callbackTimers = [];\n    }\n    if (window.addEventListener)\n      window.removeEventListener('resize', this.onWindowResized);\n    else\n      window.detachEvent('onresize', this.onWindowResized);\n\n    if (this.autoplayTimer)\n      clearInterval(this.autoplayTimer);\n\n    this.ro?.disconnect();\n  },\n  updated() {\n    this.checkImagesLoad();\n    this.__emit('reInit');\n    if (this.lazyLoad) {\n      const slidesToLoad = getOnDemandLazySlides({\n        ...this.$props,\n        ...this.$data,\n      });\n      if (slidesToLoad.length > 0) {\n        this.setState(prevState => ({\n          lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad),\n        }));\n        this.__emit('lazyLoad');\n      }\n    }\n    // if (this.props.onLazyLoad) {\n    //   this.props.onLazyLoad([leftMostSlide])\n    // }\n    this.adaptHeight();\n  },\n  methods: {\n    listRefHandler(ref) {\n      this.list = ref;\n    },\n    trackRefHandler(ref) {\n      this.track = ref;\n    },\n    adaptHeight() {\n      if (this.adaptiveHeight && this.list) {\n        const elem = this.list.querySelector(`[data-index=\"${this.currentSlide}\"]`);\n        this.list.style.height = `${getHeight(elem)}px`;\n      }\n    },\n    onWindowResized(setTrackStyle) {\n      if (this.debouncedResize) this.debouncedResize.cancel();\n      this.debouncedResize = debounce(() => this.resizeWindow(setTrackStyle), 50);\n      this.debouncedResize();\n    },\n    resizeWindow(setTrackStyle = true) {\n      const isTrackMounted = Boolean(this.track);\n      if (!isTrackMounted) return;\n      const spec = {\n        listRef: this.list,\n        trackRef: this.track,\n        children: this.children,\n        ...this.$props,\n        ...this.$data,\n      };\n      this.updateState(spec, setTrackStyle, () => {\n        if (this.autoplay)\n          this.handleAutoPlay('update');\n        else\n          this.pause('paused');\n      });\n      // animating state should be cleared while resizing, otherwise autoplay stops working\n      this.setState({\n        animating: false,\n      });\n      clearTimeout(this.animationEndCallback);\n      delete this.animationEndCallback;\n    },\n    updateState(spec, setTrackStyle, callback) {\n      const updatedState = initializedState(spec);\n      spec = { ...spec, ...updatedState, slideIndex: updatedState.currentSlide };\n      const targetLeft = getTrackLeft(spec);\n      spec = { ...spec, left: targetLeft };\n      const trackStyle = getTrackCSS(spec);\n      if (setTrackStyle || this.children.length !== spec.children.length)\n        updatedState.trackStyle = trackStyle;\n\n      this.setState(updatedState, callback);\n    },\n    ssrInit() {\n      const children = this.children;\n      if (this.variableWidth) {\n        let trackWidth = 0;\n        let trackLeft = 0;\n        const childrenWidths = [];\n        const preClones = getPreClones({\n          ...this.$props,\n          ...this.$data,\n          slideCount: children.length,\n        });\n        const postClones = getPostClones({\n          ...this.$props,\n          ...this.$data,\n          slideCount: children.length,\n        });\n        children.forEach((child) => {\n          const childWidth = child.props.style?.width?.split('px')[0] || 0;\n          childrenWidths.push(childWidth);\n          trackWidth += childWidth;\n        });\n        for (let i = 0; i < preClones; i++) {\n          trackLeft += childrenWidths[childrenWidths.length - 1 - i];\n          trackWidth += childrenWidths[childrenWidths.length - 1 - i];\n        }\n        for (let i = 0; i < postClones; i++)\n          trackWidth += childrenWidths[i];\n\n        for (let i = 0; i < this.currentSlide; i++)\n          trackLeft += childrenWidths[i];\n\n        const trackStyle = {\n          width: `${trackWidth}px`,\n          left: `${-trackLeft}px`,\n        };\n        if (this.centerMode) {\n          const currentWidth = `${childrenWidths[this.currentSlide]}px`;\n          trackStyle.left = `calc(${trackStyle.left} + (100% - ${currentWidth}) / 2 ) `;\n        }\n        return {\n          trackStyle,\n        };\n      }\n      const childrenCount = children.length;\n      const spec = { ...this.$props, ...this.$data, slideCount: childrenCount };\n      const slideCount = getPreClones(spec) + getPostClones(spec) + childrenCount;\n      const trackWidth = (100 / this.slidesToShow) * slideCount;\n      const slideWidth = 100 / slideCount;\n      let trackLeft = (-slideWidth * (getPreClones(spec) + this.currentSlide) * trackWidth) / 100;\n      if (this.centerMode)\n        trackLeft += (100 - (slideWidth * trackWidth) / 100) / 2;\n\n      const trackStyle = {\n        width: `${trackWidth}%`,\n        left: `${trackLeft}%`,\n      };\n      return {\n        slideWidth: `${slideWidth}%`,\n        trackStyle,\n      };\n    },\n    checkImagesLoad() {\n      const images\n        = (this.list\n          && this.list.querySelectorAll\n          && this.list.querySelectorAll('.slick-slide img'))\n        || [];\n      const imagesCount = images.length;\n      let loadedCount = 0;\n      Array.prototype.forEach.call(images, (image) => {\n        const handler = () => ++loadedCount && loadedCount >= imagesCount && this.onWindowResized();\n        if (!image.onclick) {\n          image.onclick = () => image.parentNode.focus();\n        } else {\n          const prevClickHandler = image.onclick;\n          image.onclick = () => {\n            prevClickHandler();\n            image.parentNode.focus();\n          };\n        }\n        if (!image.onload) {\n          if (this.$props.lazyLoad) {\n            image.onload = () => {\n              this.adaptHeight();\n              this.callbackTimers.push(setTimeout(this.onWindowResized, this.speed));\n            };\n          } else {\n            image.onload = handler;\n            image.onerror = () => {\n              handler();\n              this.__emit('lazyLoadError');\n            };\n          }\n        }\n      });\n    },\n    progressiveLazyLoad() {\n      const slidesToLoad = [];\n      const spec = { ...this.$props, ...this.$data };\n      for (let index = this.currentSlide; index < this.slideCount + getPostClones(spec); index++) {\n        if (!this.lazyLoadedList.includes(index)) {\n          slidesToLoad.push(index);\n          break;\n        }\n      }\n      for (let index = this.currentSlide - 1; index >= -getPreClones(spec); index--) {\n        if (!this.lazyLoadedList.includes(index)) {\n          slidesToLoad.push(index);\n          break;\n        }\n      }\n      if (slidesToLoad.length > 0) {\n        this.setState(state => ({\n          lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad),\n        }));\n        this.__emit('lazyLoad', slidesToLoad);\n      } else {\n        if (this.lazyLoadTimer) {\n          clearInterval(this.lazyLoadTimer);\n          delete this.lazyLoadTimer;\n        }\n      }\n    },\n    slideHandler(index, dontAnimate = false) {\n      const { asNavFor, beforeChange, speed, afterChange } = this.$props;\n      const { state, nextState } = slideHandler({\n        index,\n        ...this.$props,\n        ...this.$data,\n        trackRef: this.track,\n        useCSS: this.useCSS && !dontAnimate,\n      });\n      if (!state) return;\n      beforeChange && beforeChange(this.currentSlide, state.currentSlide);\n      const slidesToLoad = state.lazyLoadedList.filter(\n        value => !this.lazyLoadedList.includes(value),\n      );\n      if (this.$attrs.onLazyLoad && slidesToLoad.length > 0)\n        this.__emit('lazyLoad', slidesToLoad);\n\n      if (!this.$props.waitForAnimate && this.animationEndCallback) {\n        clearTimeout(this.animationEndCallback);\n        afterChange && afterChange(this.currentSlide);\n        delete this.animationEndCallback;\n      }\n      this.setState(state, () => {\n        if (asNavFor && this.asNavForIndex !== index) {\n          this.asNavForIndex = index;\n          asNavFor.innerSlider.slideHandler(index);\n        }\n        if (!nextState) return;\n        this.animationEndCallback = setTimeout(() => {\n          const { animating, ...firstBatch } = nextState;\n          this.setState(firstBatch, () => {\n            this.callbackTimers.push(setTimeout(() => this.setState({ animating }), 10));\n            afterChange && afterChange(state.currentSlide);\n            delete this.animationEndCallback;\n          });\n        }, speed);\n      });\n    },\n    changeSlide(options, dontAnimate = false) {\n      const spec = { ...this.$props, ...this.$data };\n      const targetSlide = changeSlide(spec, options);\n      if (targetSlide !== 0 && !targetSlide) return;\n      if (dontAnimate === true)\n        this.slideHandler(targetSlide, dontAnimate);\n      else\n        this.slideHandler(targetSlide);\n\n      this.$props.autoplay && this.handleAutoPlay('update');\n      if (this.$props.focusOnSelect) {\n        const nodes = this.list.querySelectorAll('.slick-current');\n        nodes[0] && nodes[0].focus();\n      }\n    },\n    clickHandler(e) {\n      if (this.clickable === false) {\n        e.stopPropagation();\n        e.preventDefault();\n      }\n      this.clickable = true;\n    },\n    keyHandler(e) {\n      const dir = keyHandler(e, this.accessibility, this.rtl);\n      dir !== '' && this.changeSlide({ message: dir });\n    },\n    selectHandler(options) {\n      this.changeSlide(options);\n    },\n    disableBodyScroll() {\n      const preventDefault = (e) => {\n        e = e || window.event;\n        if (e.preventDefault) e.preventDefault();\n        e.returnValue = false;\n      };\n      window.ontouchmove = preventDefault;\n    },\n    enableBodyScroll() {\n      window.ontouchmove = null;\n    },\n    swipeStart(e) {\n      if (this.verticalSwiping)\n        this.disableBodyScroll();\n\n      const state = swipeStart(e, this.swipe, this.draggable);\n      state !== '' && this.setState(state);\n    },\n    swipeMove(e) {\n      const state = swipeMove(e, {\n        ...this.$props,\n        ...this.$data,\n        trackRef: this.track,\n        listRef: this.list,\n        slideIndex: this.currentSlide,\n      });\n      if (!state) return;\n      if (state.swiping)\n        this.clickable = false;\n\n      this.setState(state);\n    },\n    swipeEnd(e) {\n      const state = swipeEnd(e, {\n        ...this.$props,\n        ...this.$data,\n        trackRef: this.track,\n        listRef: this.list,\n        slideIndex: this.currentSlide,\n      });\n      if (!state) return;\n      const triggerSlideHandler = state.triggerSlideHandler;\n      delete state.triggerSlideHandler;\n      this.setState(state);\n      if (triggerSlideHandler === undefined) return;\n      this.slideHandler(triggerSlideHandler);\n      if (this.$props.verticalSwiping)\n        this.enableBodyScroll();\n    },\n    touchEnd(e) {\n      this.swipeEnd(e);\n      this.clickable = true;\n    },\n    slickPrev() {\n      // this and fellow methods are wrapped in setTimeout\n      // to make sure initialize setState has happened before\n      // any of such methods are called\n      this.callbackTimers.push(setTimeout(() => this.changeSlide({ message: 'previous' }), 0));\n    },\n    slickNext() {\n      this.callbackTimers.push(setTimeout(() => this.changeSlide({ message: 'next' }), 0));\n    },\n    slickGoTo(slide, dontAnimate = false) {\n      slide = Number(slide);\n      if (Number.isNaN(slide)) return '';\n      this.callbackTimers.push(\n        setTimeout(\n          () =>\n            this.changeSlide(\n              {\n                message: 'index',\n                index: slide,\n                currentSlide: this.currentSlide,\n              },\n              dontAnimate,\n            ),\n          0,\n        ),\n      );\n    },\n    play() {\n      let nextIndex;\n      if (this.rtl) {\n        nextIndex = this.currentSlide - this.slidesToScroll;\n      } else {\n        if (canGoNext({ ...this.$props, ...this.$data }))\n          nextIndex = this.currentSlide + this.slidesToScroll;\n        else\n          return false;\n      }\n\n      this.slideHandler(nextIndex);\n    },\n    handleAutoPlay(playType) {\n      if (this.autoplayTimer)\n        clearInterval(this.autoplayTimer);\n\n      const autoplaying = this.autoplaying;\n      if (playType === 'update') {\n        if (autoplaying === 'hovered' || autoplaying === 'focused' || autoplaying === 'paused')\n          return;\n      } else if (playType === 'leave') {\n        if (autoplaying === 'paused' || autoplaying === 'focused')\n          return;\n      } else if (playType === 'blur') {\n        if (autoplaying === 'paused' || autoplaying === 'hovered')\n          return;\n      }\n      this.autoplayTimer = setInterval(this.play, this.autoplaySpeed + 50);\n      this.setState({ autoplaying: 'playing' });\n    },\n    pause(pauseType) {\n      if (this.autoplayTimer) {\n        clearInterval(this.autoplayTimer);\n        this.autoplayTimer = null;\n      }\n      const autoplaying = this.autoplaying;\n      if (pauseType === 'paused') {\n        this.setState({ autoplaying: 'paused' });\n      } else if (pauseType === 'focused') {\n        if (autoplaying === 'hovered' || autoplaying === 'playing')\n          this.setState({ autoplaying: 'focused' });\n      } else {\n        // pauseType  is 'hovered'\n        if (autoplaying === 'playing')\n          this.setState({ autoplaying: 'hovered' });\n      }\n    },\n    onDotsOver() {\n      this.autoplay && this.pause('hovered');\n    },\n    onDotsLeave() {\n      this.autoplay && this.autoplaying === 'hovered' && this.handleAutoPlay('leave');\n    },\n    onTrackOver() {\n      this.autoplay && this.pause('hovered');\n    },\n    onTrackLeave() {\n      this.autoplay && this.autoplaying === 'hovered' && this.handleAutoPlay('leave');\n    },\n    onSlideFocus() {\n      this.autoplay && this.pause('focused');\n    },\n    onSlideBlur() {\n      this.autoplay && this.autoplaying === 'focused' && this.handleAutoPlay('blur');\n    },\n    customPaging({ i }) {\n      return <button>{i + 1}</button>;\n    },\n    appendDots({ dots }) {\n      return <ul style={{ display: 'block' }}>{dots}</ul>;\n    },\n  },\n  render() {\n    const className = classNames('slick-slider', this.$attrs.class, {\n      'slick-vertical': this.vertical,\n      'slick-initialized': true,\n    });\n    const spec = { ...this.$props, ...this.$data };\n    let trackProps = extractObject(spec, [\n      'fade',\n      'cssEase',\n      'speed',\n      'infinite',\n      'centerMode',\n      'focusOnSelect',\n      'currentSlide',\n      'lazyLoad',\n      'lazyLoadedList',\n      'rtl',\n      'slideWidth',\n      'slideHeight',\n      'listHeight',\n      'vertical',\n      'slidesToShow',\n      'slidesToScroll',\n      'slideCount',\n      'trackStyle',\n      'variableWidth',\n      'unslick',\n      'centerPadding',\n      'targetSlide',\n      'useCSS',\n    ]);\n    const { pauseOnHover } = this.$props;\n    trackProps = {\n      ...trackProps,\n      focusOnSelect: this.focusOnSelect && this.clickable ? this.selectHandler : null,\n      ref: this.trackRefHandler,\n      onMouseleave: pauseOnHover ? this.onTrackLeave : noop,\n      onMouseover: pauseOnHover ? this.onTrackOver : noop,\n    };\n\n    let dots;\n    if (this.dots === true && this.slideCount >= this.slidesToShow) {\n      let dotProps = extractObject(spec, [\n        'dotsClass',\n        'slideCount',\n        'slidesToShow',\n        'currentSlide',\n        'slidesToScroll',\n        'clickHandler',\n        'children',\n        'infinite',\n        'appendDots',\n      ]);\n      dotProps.customPaging = this.customPaging;\n      dotProps.appendDots = this.appendDots;\n      const { customPaging, appendDots } = this.$slots;\n      if (customPaging)\n        dotProps.customPaging = customPaging;\n\n      if (appendDots)\n        dotProps.appendDots = appendDots;\n\n      const { pauseOnDotsHover } = this.$props;\n      dotProps = {\n        ...dotProps,\n        clickHandler: this.changeSlide,\n        onMouseover: pauseOnDotsHover ? this.onDotsOver : noop,\n        onMouseleave: pauseOnDotsHover ? this.onDotsLeave : noop,\n      };\n      dots = <Dots {...dotProps} />;\n    }\n\n    let prevArrow, nextArrow;\n    const arrowProps = extractObject(spec, [\n      'infinite',\n      'centerMode',\n      'currentSlide',\n      'slideCount',\n      'slidesToShow',\n    ]);\n    arrowProps.clickHandler = this.changeSlide;\n    const { prevArrow: prevArrowCustom, nextArrow: nextArrowCustom } = this.$slots;\n    if (prevArrowCustom)\n      arrowProps.prevArrow = prevArrowCustom;\n\n    if (nextArrowCustom)\n      arrowProps.nextArrow = nextArrowCustom;\n\n    if (this.arrows) {\n      prevArrow = <PrevArrow {...arrowProps} />;\n      nextArrow = <NextArrow {...arrowProps} />;\n    }\n    let verticalHeightStyle = null;\n\n    if (this.vertical) {\n      verticalHeightStyle = {\n        height: typeof this.listHeight === 'number' ? `${this.listHeight}px` : this.listHeight,\n      };\n    }\n\n    let centerPaddingStyle = null;\n\n    if (this.vertical === false) {\n      if (this.centerMode === true) {\n        centerPaddingStyle = {\n          padding: `0px ${this.centerPadding}`,\n        };\n      }\n    } else {\n      if (this.centerMode === true) {\n        centerPaddingStyle = {\n          padding: `${this.centerPadding} 0px`,\n        };\n      }\n    }\n\n    const listStyle = { ...verticalHeightStyle, ...centerPaddingStyle };\n    const touchMove = this.touchMove;\n    let listProps = {\n      ref: this.listRefHandler,\n      class: 'slick-list',\n      style: listStyle,\n      onClick: this.clickHandler,\n      onMousedown: touchMove ? this.swipeStart : noop,\n      onMousemove: this.dragging && touchMove ? this.swipeMove : noop,\n      onMouseup: touchMove ? this.swipeEnd : noop,\n      onMouseleave: this.dragging && touchMove ? this.swipeEnd : noop,\n      [supportsPassive ? 'onTouchstartPassive' : 'onTouchstart']: touchMove\n        ? this.swipeStart\n        : noop,\n      [supportsPassive ? 'onTouchmovePassive' : 'onTouchmove']:\n        this.dragging && touchMove ? this.swipeMove : noop,\n      onTouchend: touchMove ? this.touchEnd : noop,\n      onTouchcancel: this.dragging && touchMove ? this.swipeEnd : noop,\n      onKeydown: this.accessibility ? this.keyHandler : noop,\n    };\n\n    let innerSliderProps = {\n      class: className,\n      dir: 'ltr',\n      style: this.$attrs.style,\n    };\n\n    if (this.unslick) {\n      listProps = {\n        class: 'slick-list',\n        ref: this.listRefHandler,\n      };\n      innerSliderProps = { class: className };\n    }\n    return (\n      <div {...innerSliderProps}>\n        {!this.unslick ? prevArrow : ''}\n        <div {...listProps}>\n          <Track {...trackProps}>{this.children}</Track>\n        </div>\n        {!this.unslick ? nextArrow : ''}\n        {!this.unslick ? dots : ''}\n      </div>\n    );\n  },\n};\n"],"names":["noop","name","mixins","BaseMixin","inheritAttrs","props","defaultProps","data","preProps","$props","list","track","callbackTimers","clickable","debouncedResize","ssrState","ssrInit","initialState","currentSlide","initialSlide","slideCount","children","length","watch","autoplay","newValue","oldValue","handleAutoPlay","pause","__propsSymbol__","nextProps","spec","listRef","trackRef","$data","setTrackStyle","key","Object","keys","hasOwnProperty","updateState","changeSlide","message","index","slidesToShow","mounted","__emit","lazyLoad","slidesToLoad","getOnDemandLazySlides","setState","prevState","lazyLoadedList","concat","$nextTick","adaptHeight","lazyLoadTimer","setInterval","progressiveLazyLoad","ro","ResizeObserver","animating","onWindowResized","push","setTimeout","speed","observe","document","querySelectorAll","Array","prototype","forEach","call","slide","onfocus","pauseOnFocus","onSlideFocus","onblur","onSlideBlur","window","addEventListener","attachEvent","beforeUnmount","animationEndCallback","clearTimeout","clearInterval","timer","removeEventListener","detachEvent","autoplayTimer","disconnect","updated","checkImagesLoad","methods","listRefHandler","ref","trackRefHandler","adaptiveHeight","elem","querySelector","style","height","getHeight","cancel","debounce","resizeWindow","isTrackMounted","Boolean","callback","updatedState","initializedState","slideIndex","targetLeft","getTrackLeft","left","trackStyle","getTrackCSS","variableWidth","trackWidth","trackLeft","childrenWidths","preClones","getPreClones","postClones","getPostClones","child","childWidth","width","split","i","centerMode","currentWidth","childrenCount","slideWidth","images","imagesCount","loadedCount","image","handler","onclick","parentNode","focus","prevClickHandler","onload","onerror","includes","state","slideHandler","dontAnimate","asNavFor","beforeChange","afterChange","nextState","useCSS","filter","value","$attrs","onLazyLoad","waitForAnimate","asNavForIndex","innerSlider","firstBatch","options","targetSlide","focusOnSelect","nodes","clickHandler","e","stopPropagation","preventDefault","keyHandler","dir","accessibility","rtl","selectHandler","disableBodyScroll","event","returnValue","ontouchmove","enableBodyScroll","swipeStart","verticalSwiping","swipe","draggable","swipeMove","swiping","swipeEnd","triggerSlideHandler","undefined","touchEnd","slickPrev","slickNext","slickGoTo","Number","isNaN","play","nextIndex","slidesToScroll","canGoNext","playType","autoplaying","autoplaySpeed","pauseType","onDotsOver","onDotsLeave","onTrackOver","onTrackLeave","customPaging","_createVNode","appendDots","dots","display","render","className","classNames","class","vertical","trackProps","extractObject","pauseOnHover","onMouseleave","onMouseover","dotProps","$slots","pauseOnDotsHover","Dots","prevArrow","nextArrow","arrowProps","prevArrowCustom","nextArrowCustom","arrows","PrevArrow","NextArrow","verticalHeightStyle","listHeight","centerPaddingStyle","padding","centerPadding","listStyle","touchMove","listProps","onClick","onMousedown","onMousemove","dragging","onMouseup","supportsPassive","onTouchend","onTouchcancel","onKeydown","innerSliderProps","unslick","Track","default"],"mappings":"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"}