{"version":3,"file":"dots.cjs","sources":["../../../../../../packages/vue-components/vc-slick/src/dots.tsx"],"sourcesContent":["import { classNames, cloneElement } from '@antdv/utils';\nimport { clamp } from './utils/innerSliderUtils';\n\nconst getDotCount = function (spec) {\n  let dots;\n\n  if (spec.infinite)\n    dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n  else\n    dots = Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) + 1;\n\n  return dots;\n};\n\nfunction Dots(_, { attrs }) {\n  const {\n    slideCount,\n    slidesToScroll,\n    slidesToShow,\n    infinite,\n    currentSlide,\n    appendDots,\n    customPaging,\n    clickHandler,\n    dotsClass,\n    onMouseenter,\n    onMouseover,\n    onMouseleave,\n  } = attrs;\n  const dotCount = getDotCount({\n    slideCount,\n    slidesToScroll,\n    slidesToShow,\n    infinite,\n  });\n\n  // Apply join & split to Array to pre-fill it for IE8\n  //\n  // Credit: http://stackoverflow.com/a/13735425/1849458\n  const mouseEvents = { onMouseenter, onMouseover, onMouseleave };\n  let dots = [];\n  for (let i = 0; i < dotCount; i++) {\n    const _rightBound = (i + 1) * slidesToScroll - 1;\n    const rightBound = infinite ? _rightBound : clamp(_rightBound, 0, slideCount - 1);\n    const _leftBound = rightBound - (slidesToScroll - 1);\n    const leftBound = infinite ? _leftBound : clamp(_leftBound, 0, slideCount - 1);\n\n    const className = classNames({\n      'slick-active': infinite\n        ? currentSlide >= leftBound && currentSlide <= rightBound\n        : currentSlide === leftBound,\n    });\n\n    const dotOptions = {\n      message: 'dots',\n      index: i,\n      slidesToScroll,\n      currentSlide,\n    };\n\n    function onClick(e) {\n      // In Autoplay the focus stays on clicked button even after transition\n      // to next slide. That only goes away by click somewhere outside\n      if (e)\n        e.preventDefault();\n\n      clickHandler(dotOptions);\n    }\n    dots = dots.concat(\n      <li key={i} class={className}>\n        {cloneElement(customPaging({ i }), { onClick })}\n      </li>,\n    );\n  }\n\n  return cloneElement(appendDots({ dots }), {\n    class: dotsClass,\n    ...mouseEvents,\n  });\n}\n\nDots.inheritAttrs = false;\n\nexport default Dots;\n"],"names":["getDotCount","spec","dots","infinite","Math","ceil","slideCount","slidesToScroll","slidesToShow","Dots","_","attrs","currentSlide","appendDots","customPaging","clickHandler","dotsClass","onMouseenter","onMouseover","onMouseleave","dotCount","mouseEvents","i","onClick","e","preventDefault","dotOptions","_rightBound","rightBound","clamp","_leftBound","leftBound","className","classNames","message","index","concat","_createVNode","cloneElement","class","inheritAttrs"],"mappings":"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"}