123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- "use strict";
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.Dots = void 0;
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
- var _isNativeReflectConstruct2 = _interopRequireDefault(require("@babel/runtime/helpers/isNativeReflectConstruct"));
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
- var _react = _interopRequireDefault(require("react"));
- var _classnames = _interopRequireDefault(require("classnames"));
- var _innerSliderUtils = require("./utils/innerSliderUtils");
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, (0, _isNativeReflectConstruct2["default"])() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
- var getDotCount = function getDotCount(spec) {
- var dots;
- if (spec.infinite) {
- dots = Math.ceil(spec.slideCount / spec.slidesToScroll);
- } else {
- dots = Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) + 1;
- }
- return dots;
- };
- var Dots = exports.Dots = /*#__PURE__*/function (_React$PureComponent) {
- function Dots() {
- (0, _classCallCheck2["default"])(this, Dots);
- return _callSuper(this, Dots, arguments);
- }
- (0, _inherits2["default"])(Dots, _React$PureComponent);
- return (0, _createClass2["default"])(Dots, [{
- key: "clickHandler",
- value: function clickHandler(options, e) {
- // In Autoplay the focus stays on clicked button even after transition
- // to next slide. That only goes away by click somewhere outside
- e.preventDefault();
- this.props.clickHandler(options);
- }
- }, {
- key: "render",
- value: function render() {
- var _this$props = this.props,
- onMouseEnter = _this$props.onMouseEnter,
- onMouseOver = _this$props.onMouseOver,
- onMouseLeave = _this$props.onMouseLeave,
- infinite = _this$props.infinite,
- slidesToScroll = _this$props.slidesToScroll,
- slidesToShow = _this$props.slidesToShow,
- slideCount = _this$props.slideCount,
- currentSlide = _this$props.currentSlide;
- var dotCount = getDotCount({
- slideCount: slideCount,
- slidesToScroll: slidesToScroll,
- slidesToShow: slidesToShow,
- infinite: infinite
- });
- var mouseEvents = {
- onMouseEnter: onMouseEnter,
- onMouseOver: onMouseOver,
- onMouseLeave: onMouseLeave
- };
- var dots = [];
- for (var i = 0; i < dotCount; i++) {
- var _rightBound = (i + 1) * slidesToScroll - 1;
- var rightBound = infinite ? _rightBound : (0, _innerSliderUtils.clamp)(_rightBound, 0, slideCount - 1);
- var _leftBound = rightBound - (slidesToScroll - 1);
- var leftBound = infinite ? _leftBound : (0, _innerSliderUtils.clamp)(_leftBound, 0, slideCount - 1);
- var className = (0, _classnames["default"])({
- "slick-active": infinite ? currentSlide >= leftBound && currentSlide <= rightBound : currentSlide === leftBound
- });
- var dotOptions = {
- message: "dots",
- index: i,
- slidesToScroll: slidesToScroll,
- currentSlide: currentSlide
- };
- var onClick = this.clickHandler.bind(this, dotOptions);
- dots = dots.concat( /*#__PURE__*/_react["default"].createElement("li", {
- key: i,
- className: className
- }, /*#__PURE__*/_react["default"].cloneElement(this.props.customPaging(i), {
- onClick: onClick
- })));
- }
- return /*#__PURE__*/_react["default"].cloneElement(this.props.appendDots(dots), (0, _objectSpread2["default"])({
- className: this.props.dotsClass
- }, mouseEvents));
- }
- }]);
- }(_react["default"].PureComponent);
|