{"version":3,"file":"slider.cjs","sources":["../../../../../../packages/vue-components/vc-slick/src/slider.tsx"],"sourcesContent":["// eslint-disable-next-line ts/ban-ts-comment\n// @ts-nocheck\nimport { BaseMixin, cloneElement, getSlot, json2mq } from '@antdv/utils';\n\nimport { defineComponent } from 'vue';\nimport defaultProps from './default-props.js';\nimport InnerSlider from './inner-slider';\nimport { canUseDOM } from './utils/innerSliderUtils.js';\n\nexport default defineComponent({\n  name: 'Slider',\n  mixins: [BaseMixin],\n  inheritAttrs: false,\n  props: defaultProps,\n  data() {\n    this._responsiveMediaHandlers = [];\n    return {\n      breakpoint: null,\n    };\n  },\n  // handles responsive breakpoints\n  mounted() {\n    if (this.responsive) {\n      const breakpoints = this.responsive.map(breakpt => breakpt.breakpoint);\n      // sort them in increasing order of their numerical value\n      breakpoints.sort((x, y) => x - y);\n\n      breakpoints.forEach((breakpoint, index) => {\n        // media query for each breakpoint\n        let bQuery;\n        if (index === 0) {\n          bQuery = json2mq({ minWidth: 0, maxWidth: breakpoint });\n        } else {\n          bQuery = json2mq({\n            minWidth: breakpoints[index - 1] + 1,\n            maxWidth: breakpoint,\n          });\n        }\n        // when not using server side rendering\n        canUseDOM()\n          && this.media(bQuery, () => {\n            this.setState({ breakpoint });\n          });\n      });\n\n      // Register media query for full screen. Need to support resize from small to large\n      // convert javascript object to media query string\n      const query = json2mq({ minWidth: breakpoints.slice(-1)[0] });\n\n      canUseDOM()\n        && this.media(query, () => {\n          this.setState({ breakpoint: null });\n        });\n    }\n  },\n  beforeUnmount() {\n    this._responsiveMediaHandlers.forEach((obj) => {\n      obj.mql.removeListener(obj.listener);\n    });\n  },\n  methods: {\n    innerSliderRefHandler(ref) {\n      this.innerSlider = ref;\n    },\n    media(query, handler) {\n      // javascript handler for  css media query\n      const mql = window.matchMedia(query);\n      const listener = ({ matches }) => {\n        if (matches)\n          handler();\n      };\n      mql.addListener(listener);\n      listener(mql);\n      this._responsiveMediaHandlers.push({ mql, query, listener });\n    },\n    slickPrev() {\n      this.innerSlider?.slickPrev();\n    },\n    slickNext() {\n      this.innerSlider?.slickNext();\n    },\n    slickGoTo(slide, dontAnimate = false) {\n      this.innerSlider?.slickGoTo(slide, dontAnimate);\n    },\n    slickPause() {\n      this.innerSlider?.pause('paused');\n    },\n    slickPlay() {\n      this.innerSlider?.handleAutoPlay('play');\n    },\n  },\n\n  render() {\n    let settings;\n    let newProps;\n    if (this.breakpoint) {\n      newProps = this.responsive.filter(resp => resp.breakpoint === this.breakpoint);\n      settings\n        = newProps[0].settings === 'unslick'\n          ? 'unslick'\n          : { ...this.$props, ...newProps[0].settings };\n    } else {\n      settings = { ...this.$props };\n    }\n\n    // force scrolling by one if centerMode is on\n    if (settings.centerMode) {\n      if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== 'production') {\n        console.warn(\n          `slidesToScroll should be equal to 1 in centerMode, you are using ${settings.slidesToScroll}`,\n        );\n      }\n      settings.slidesToScroll = 1;\n    }\n    // force showing one slide and scrolling by one if the fade mode is on\n    if (settings.fade) {\n      if (settings.slidesToShow > 1 && process.env.NODE_ENV !== 'production') {\n        console.warn(\n          `slidesToShow should be equal to 1 when fade is true, you're using ${settings.slidesToShow}`,\n        );\n      }\n      if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== 'production') {\n        console.warn(\n          `slidesToScroll should be equal to 1 when fade is true, you're using ${settings.slidesToScroll}`,\n        );\n      }\n      settings.slidesToShow = 1;\n      settings.slidesToScroll = 1;\n    }\n\n    // makes sure that children is an array, even when there is only 1 child\n    let children = getSlot(this) || [];\n\n    // Children may contain false or null, so we should filter them\n    // children may also contain string filled with spaces (in certain cases where we use jsx strings)\n    children = children.filter((child) => {\n      if (typeof child === 'string')\n        return !!child.trim();\n\n      return !!child;\n    });\n\n    // rows and slidesPerRow logic is handled here\n    if (settings.variableWidth && (settings.rows > 1 || settings.slidesPerRow > 1)) {\n      console.warn(`variableWidth is not supported in case of rows > 1 or slidesPerRow > 1`);\n      settings.variableWidth = false;\n    }\n    const newChildren = [];\n    let currentWidth = null;\n    for (let i = 0; i < children.length; i += settings.rows * settings.slidesPerRow) {\n      const newSlide = [];\n      for (let j = i; j < i + settings.rows * settings.slidesPerRow; j += settings.slidesPerRow) {\n        const row = [];\n        for (let k = j; k < j + settings.slidesPerRow; k += 1) {\n          if (settings.variableWidth && children[k].props?.style)\n            currentWidth = children[k].props.style.width;\n\n          if (k >= children.length) break;\n          row.push(\n            cloneElement(children[k], {\n              key: 100 * i + 10 * j + k,\n              tabindex: -1,\n              style: {\n                width: `${100 / settings.slidesPerRow}%`,\n                display: 'inline-block',\n              },\n            }),\n          );\n        }\n        newSlide.push(<div key={10 * i + j}>{row}</div>);\n      }\n      if (settings.variableWidth) {\n        newChildren.push(\n          <div key={i} style={{ width: currentWidth }}>\n            {newSlide}\n          </div>,\n        );\n      } else {\n        newChildren.push(<div key={i}>{newSlide}</div>);\n      }\n    }\n\n    if (settings === 'unslick') {\n      const className = `regular slider ${this.className || ''}`;\n      return <div class={className}>{children}</div>;\n    } else if (newChildren.length <= settings.slidesToShow) {\n      settings.unslick = true;\n    }\n    const sliderProps = {\n      ...this.$attrs,\n      ...settings,\n      // fix: https://github.com/vueComponent/ant-design-vue/issues/7461\n      slidesToShow: Math.min(settings.slidesToShow, children.length),\n      children: newChildren,\n      ref: this.innerSliderRefHandler,\n    };\n    return <InnerSlider {...sliderProps} v-slots={this.$slots} __propsSymbol__={[]} />;\n  },\n});\n"],"names":["defineComponent","name","mixins","BaseMixin","inheritAttrs","props","defaultProps","data","_responsiveMediaHandlers","breakpoint","mounted","responsive","breakpoints","map","breakpt","sort","x","y","forEach","index","bQuery","json2mq","minWidth","maxWidth","canUseDOM","media","setState","query","slice","beforeUnmount","obj","mql","removeListener","listener","methods","innerSliderRefHandler","ref","innerSlider","handler","window","matchMedia","matches","addListener","push","slickPrev","slickNext","slickGoTo","slide","dontAnimate","slickPause","pause","slickPlay","handleAutoPlay","render","settings","newProps","filter","resp","$props","centerMode","slidesToScroll","process","env","NODE_ENV","console","warn","fade","slidesToShow","children","getSlot","child","trim","variableWidth","rows","slidesPerRow","newChildren","currentWidth","i","length","newSlide","j","row","k","style","width","cloneElement","key","tabindex","display","_createVNode","className","unslick","sliderProps","$attrs","Math","min","InnerSlider","$slots"],"mappings":"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"}