diff --git a/dist/react-slick.js b/dist/react-slick.js index 84fc6ae8f..3795d41ce 100644 --- a/dist/react-slick.js +++ b/dist/react-slick.js @@ -189,7 +189,6 @@ _typeof(obj) ); } - function _extends() { _extends = Object.assign ? Object.assign.bind() @@ -206,7 +205,6 @@ }; return _extends.apply(this, arguments); } - function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { @@ -219,7 +217,6 @@ } return keys; } - function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; @@ -242,13 +239,11 @@ } return target; } - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; @@ -258,14 +253,12 @@ Object.defineProperty(target, descriptor.key, descriptor); } } - function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError( @@ -285,7 +278,6 @@ Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } - function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() @@ -295,7 +287,6 @@ }; return _setPrototypeOf(o, p); } - function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { @@ -310,7 +301,6 @@ return _possibleConstructorReturn(this, result); }; } - function _possibleConstructorReturn(self, call) { if ( call && @@ -324,7 +314,6 @@ } return _assertThisInitialized(self); } - function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError( @@ -333,7 +322,6 @@ } return self; } - function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; @@ -348,7 +336,6 @@ return false; } } - function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() @@ -357,7 +344,6 @@ }; return _getPrototypeOf(o); } - function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { @@ -376,19 +362,13 @@ Object( _utils_innerSliderUtils__WEBPACK_IMPORTED_MODULE_4__["canUseDOM"] )() && __webpack_require__(16); - var Slider = /*#__PURE__*/ (function(_React$Component) { _inherits(Slider, _React$Component); - var _super = _createSuper(Slider); - function Slider(props) { var _this; - _classCallCheck(this, Slider); - _this = _super.call(this, props); - _defineProperty( _assertThisInitialized(_this), "innerSliderRefHandler", @@ -396,7 +376,6 @@ return (_this.innerSlider = ref); } ); - _defineProperty( _assertThisInitialized(_this), "slickPrev", @@ -404,7 +383,6 @@ return _this.innerSlider.slickPrev(); } ); - _defineProperty( _assertThisInitialized(_this), "slickNext", @@ -412,7 +390,6 @@ return _this.innerSlider.slickNext(); } ); - _defineProperty( _assertThisInitialized(_this), "slickGoTo", @@ -424,7 +401,6 @@ return _this.innerSlider.slickGoTo(slide, dontAnimate); } ); - _defineProperty( _assertThisInitialized(_this), "slickPause", @@ -432,7 +408,6 @@ return _this.innerSlider.pause("paused"); } ); - _defineProperty( _assertThisInitialized(_this), "slickPlay", @@ -440,32 +415,30 @@ return _this.innerSlider.autoPlay("play"); } ); - _this.state = { breakpoint: null }; _this._responsiveMediaHandlers = []; return _this; } - _createClass(Slider, [ { key: "media", value: function media(query, handler) { // javascript handler for css media query enquire.register(query, handler); - this._responsiveMediaHandlers.push({ query: query, handler: handler }); - } // handles responsive breakpoints + } + + // handles responsive breakpoints }, { key: "componentDidMount", value: function componentDidMount() { var _this2 = this; - // performance monitoring //if (process.env.NODE_ENV !== 'production') { //const { whyDidYouUpdate } = require('why-did-you-update') @@ -476,15 +449,14 @@ breakpt ) { return breakpt.breakpoint; - }); // sort them in increasing order of their numerical value - + }); + // sort them in increasing order of their numerical value breakpoints.sort(function(x, y) { return x - y; }); breakpoints.forEach(function(breakpoint, index) { // media query for each breakpoint var bQuery; - if (index === 0) { bQuery = json2mq__WEBPACK_IMPORTED_MODULE_2___default()({ minWidth: 0, @@ -495,8 +467,8 @@ minWidth: breakpoints[index - 1] + 1, maxWidth: breakpoint }); - } // when not using server side rendering - + } + // when not using server side rendering Object( _utils_innerSliderUtils__WEBPACK_IMPORTED_MODULE_4__[ "canUseDOM" @@ -507,9 +479,10 @@ breakpoint: breakpoint }); }); - }); // Register media query for full screen. Need to support resize from small to large - // convert javascript object to media query string + }); + // Register media query for full screen. Need to support resize from small to large + // convert javascript object to media query string var query = json2mq__WEBPACK_IMPORTED_MODULE_2___default()({ minWidth: breakpoints.slice(-1)[0] }); @@ -538,10 +511,8 @@ key: "render", value: function render() { var _this3 = this; - var settings; var newProps; - if (this.state.breakpoint) { newProps = this.props.responsive.filter(function(resp) { return resp.breakpoint === _this3.state.breakpoint; @@ -569,8 +540,9 @@ ), this.props ); - } // force scrolling by one if centerMode is on + } + // force scrolling by one if centerMode is on if (settings.centerMode) { if (settings.slidesToScroll > 1 && "none" !== "production") { console.warn( @@ -579,10 +551,9 @@ ) ); } - settings.slidesToScroll = 1; - } // force showing one slide and scrolling by one if the fade mode is on - + } + // force showing one slide and scrolling by one if the fade mode is on if (settings.fade) { if (settings.slidesToShow > 1 && "none" !== "production") { console.warn( @@ -591,7 +562,6 @@ ) ); } - if (settings.slidesToScroll > 1 && "none" !== "production") { console.warn( "slidesToScroll should be equal to 1 when fade is true, you're using ".concat( @@ -599,24 +569,25 @@ ) ); } - settings.slidesToShow = 1; settings.slidesToScroll = 1; - } // makes sure that children is an array, even when there is only 1 child + } + // makes sure that children is an array, even when there is only 1 child var children = react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.toArray( this.props.children - ); // Children may contain false or null, so we should filter them - // children may also contain string filled with spaces (in certain cases where we use jsx strings) + ); + // Children may contain false or null, so we should filter them + // children may also contain string filled with spaces (in certain cases where we use jsx strings) children = children.filter(function(child) { if (typeof child === "string") { return !!child.trim(); } - return !!child; - }); // rows and slidesPerRow logic is handled here + }); + // rows and slidesPerRow logic is handled here if ( settings.variableWidth && (settings.rows > 1 || settings.slidesPerRow > 1) @@ -626,29 +597,24 @@ ); settings.variableWidth = false; } - var newChildren = []; var currentWidth = null; - for ( var i = 0; i < children.length; i += settings.rows * settings.slidesPerRow ) { var newSlide = []; - for ( var j = i; j < i + settings.rows * settings.slidesPerRow; j += settings.slidesPerRow ) { var row = []; - for (var k = j; k < j + settings.slidesPerRow; k += 1) { if (settings.variableWidth && children[k].props.style) { currentWidth = children[k].props.style.width; } - if (k >= children.length) break; row.push( /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default.a.cloneElement( @@ -667,7 +633,6 @@ ) ); } - newSlide.push( /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement( "div", @@ -678,7 +643,6 @@ ) ); } - if (settings.variableWidth) { newChildren.push( /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement( @@ -704,7 +668,6 @@ ); } } - if (settings === "unslick") { var className = "regular slider " + (this.props.className || ""); @@ -718,7 +681,6 @@ } else if (newChildren.length <= settings.slidesToShow) { settings.unslick = true; } - return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement( react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, @@ -737,7 +699,6 @@ } } ]); - return Slider; })(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); @@ -798,7 +759,6 @@ ); var _excluded = ["animating"]; - function _typeof(obj) { "@babel/helpers - typeof"; return ( @@ -818,7 +778,6 @@ _typeof(obj) ); } - function _extends() { _extends = Object.assign ? Object.assign.bind() @@ -835,7 +794,6 @@ }; return _extends.apply(this, arguments); } - function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); @@ -852,7 +810,6 @@ } return target; } - function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; @@ -865,7 +822,6 @@ } return target; } - function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { @@ -878,7 +834,6 @@ } return keys; } - function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; @@ -901,13 +856,11 @@ } return target; } - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; @@ -917,14 +870,12 @@ Object.defineProperty(target, descriptor.key, descriptor); } } - function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError( @@ -944,7 +895,6 @@ Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } - function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() @@ -954,7 +904,6 @@ }; return _setPrototypeOf(o, p); } - function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { @@ -969,7 +918,6 @@ return _possibleConstructorReturn(this, result); }; } - function _possibleConstructorReturn(self, call) { if ( call && @@ -983,7 +931,6 @@ } return _assertThisInitialized(self); } - function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError( @@ -992,7 +939,6 @@ } return self; } - function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; @@ -1007,7 +953,6 @@ return false; } } - function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() @@ -1016,7 +961,6 @@ }; return _getPrototypeOf(o); } - function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { @@ -1033,16 +977,11 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { _inherits(InnerSlider, _React$Component); - var _super = _createSuper(InnerSlider); - function InnerSlider(props) { var _this; - _classCallCheck(this, InnerSlider); - _this = _super.call(this, props); - _defineProperty( _assertThisInitialized(_this), "listRefHandler", @@ -1050,7 +989,6 @@ return (_this.list = ref); } ); - _defineProperty( _assertThisInitialized(_this), "trackRefHandler", @@ -1058,7 +996,6 @@ return (_this.track = ref); } ); - _defineProperty( _assertThisInitialized(_this), "adaptHeight", @@ -1067,7 +1004,6 @@ var elem = _this.list.querySelector( '[data-index="'.concat(_this.state.currentSlide, '"]') ); - _this.list.style.height = Object( _utils_innerSliderUtils__WEBPACK_IMPORTED_MODULE_4__[ @@ -1077,20 +1013,17 @@ } } ); - _defineProperty( _assertThisInitialized(_this), "componentDidMount", function() { _this.props.onInit && _this.props.onInit(); - if (_this.props.lazyLoad) { var slidesToLoad = Object( _utils_innerSliderUtils__WEBPACK_IMPORTED_MODULE_4__[ "getOnDemandLazySlides" ] )(_objectSpread(_objectSpread({}, _this.props), _this.state)); - if (slidesToLoad.length > 0) { _this.setState(function(prevState) { return { @@ -1099,13 +1032,11 @@ ) }; }); - if (_this.props.onLazyLoad) { _this.props.onLazyLoad(slidesToLoad); } } } - var spec = _objectSpread( { listRef: _this.list, @@ -1113,26 +1044,21 @@ }, _this.props ); - _this.updateState(spec, true, function() { _this.adaptHeight(); - _this.props.autoplay && _this.autoPlay("update"); }); - if (_this.props.lazyLoad === "progressive") { _this.lazyLoadTimer = setInterval( _this.progressiveLazyLoad, 1000 ); } - _this.ro = new resize_observer_polyfill__WEBPACK_IMPORTED_MODULE_8__[ "default" ](function() { if (_this.state.animating) { _this.onWindowResized(false); // don't set trackStyle hence don't break animation - _this.callbackTimers.push( setTimeout(function() { return _this.onWindowResized(); @@ -1142,9 +1068,7 @@ _this.onWindowResized(); } }); - _this.ro.observe(_this.list); - document.querySelectorAll && Array.prototype.forEach.call( document.querySelectorAll(".slick-slide"), @@ -1157,7 +1081,6 @@ : null; } ); - if (window.addEventListener) { window.addEventListener("resize", _this.onWindowResized); } else { @@ -1165,7 +1088,6 @@ } } ); - _defineProperty( _assertThisInitialized(_this), "componentWillUnmount", @@ -1173,48 +1095,38 @@ if (_this.animationEndCallback) { clearTimeout(_this.animationEndCallback); } - if (_this.lazyLoadTimer) { clearInterval(_this.lazyLoadTimer); } - if (_this.callbackTimers.length) { _this.callbackTimers.forEach(function(timer) { return clearTimeout(timer); }); - _this.callbackTimers = []; } - if (window.addEventListener) { window.removeEventListener("resize", _this.onWindowResized); } else { window.detachEvent("onresize", _this.onWindowResized); } - if (_this.autoplayTimer) { clearInterval(_this.autoplayTimer); } - _this.ro.disconnect(); } ); - _defineProperty( _assertThisInitialized(_this), "componentDidUpdate", function(prevProps) { _this.checkImagesLoad(); - _this.props.onReInit && _this.props.onReInit(); - if (_this.props.lazyLoad) { var slidesToLoad = Object( _utils_innerSliderUtils__WEBPACK_IMPORTED_MODULE_4__[ "getOnDemandLazySlides" ] )(_objectSpread(_objectSpread({}, _this.props), _this.state)); - if (slidesToLoad.length > 0) { _this.setState(function(prevState) { return { @@ -1223,17 +1135,15 @@ ) }; }); - if (_this.props.onLazyLoad) { _this.props.onLazyLoad(slidesToLoad); } } - } // if (this.props.onLazyLoad) { + } + // if (this.props.onLazyLoad) { // this.props.onLazyLoad([leftMostSlide]) // } - _this.adaptHeight(); - var spec = _objectSpread( _objectSpread( { @@ -1244,9 +1154,7 @@ ), _this.state ); - var setTrackStyle = _this.didPropsChange(prevProps); - setTrackStyle && _this.updateState(spec, setTrackStyle, function() { if ( @@ -1264,7 +1172,6 @@ currentSlide: _this.state.currentSlide }); } - if (_this.props.autoplay) { _this.autoPlay("update"); } else { @@ -1273,7 +1180,6 @@ }); } ); - _defineProperty( _assertThisInitialized(_this), "onWindowResized", @@ -1285,11 +1191,9 @@ }, 50 ); - _this.debouncedResize(); } ); - _defineProperty( _assertThisInitialized(_this), "resizeWindow", @@ -1298,10 +1202,9 @@ arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; - var isTrackMounted = Boolean(_this.track && _this.track.node); // prevent warning: setting state on unmounted component (server side rendering) - + var isTrackMounted = Boolean(_this.track && _this.track.node); + // prevent warning: setting state on unmounted component (server side rendering) if (!isTrackMounted) return; - var spec = _objectSpread( _objectSpread( { @@ -1312,21 +1215,18 @@ ), _this.state ); - _this.updateState(spec, setTrackStyle, function() { if (_this.props.autoplay) _this.autoPlay("update"); else _this.pause("paused"); - }); // animating state should be cleared while resizing, otherwise autoplay stops working - + }); + // animating state should be cleared while resizing, otherwise autoplay stops working _this.setState({ animating: false }); - clearTimeout(_this.animationEndCallback); delete _this.animationEndCallback; } ); - _defineProperty( _assertThisInitialized(_this), "updateState", @@ -1360,7 +1260,6 @@ "getTrackCSS" ] )(spec); - if ( setTrackStyle || react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.count( @@ -1372,11 +1271,9 @@ ) { updatedState["trackStyle"] = trackStyle; } - _this.setState(updatedState, callback); } ); - _defineProperty( _assertThisInitialized(_this), "ssrInit", @@ -1417,31 +1314,25 @@ } ) ); - _this.props.children.forEach(function(child) { childrenWidths.push(child.props.style.width); _trackWidth += child.props.style.width; }); - for (var i = 0; i < preClones; i++) { _trackLeft += childrenWidths[childrenWidths.length - 1 - i]; _trackWidth += childrenWidths[childrenWidths.length - 1 - i]; } - for (var _i = 0; _i < postClones; _i++) { _trackWidth += childrenWidths[_i]; } - for (var _i2 = 0; _i2 < _this.state.currentSlide; _i2++) { _trackLeft += childrenWidths[_i2]; } - var _trackStyle = { width: _trackWidth + "px", left: -_trackLeft + "px" }; - if (_this.props.centerMode) { var currentWidth = "".concat( childrenWidths[_this.state.currentSlide], @@ -1451,16 +1342,13 @@ .concat(_trackStyle.left, " + (100% - ") .concat(currentWidth, ") / 2 ) "); } - return { trackStyle: _trackStyle }; } - var childrenCount = react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.count( _this.props.children ); - var spec = _objectSpread( _objectSpread(_objectSpread({}, _this.props), _this.state), {}, @@ -1468,7 +1356,6 @@ slideCount: childrenCount } ); - var slideCount = Object( _utils_innerSliderUtils__WEBPACK_IMPORTED_MODULE_4__[ @@ -1493,11 +1380,9 @@ _this.state.currentSlide) * trackWidth) / 100; - if (_this.props.centerMode) { trackLeft += (100 - (slideWidth * trackWidth) / 100) / 2; } - var trackStyle = { width: trackWidth + "%", left: trackLeft + "%" @@ -1508,7 +1393,6 @@ }; } ); - _defineProperty( _assertThisInitialized(_this), "checkImagesLoad", @@ -1528,32 +1412,27 @@ _this.onWindowResized() ); }; - if (!image.onclick) { image.onclick = function() { return image.parentNode.focus(); }; } else { var prevClickHandler = image.onclick; - image.onclick = function(e) { prevClickHandler(e); image.parentNode.focus(); }; } - if (!image.onload) { if (_this.props.lazyLoad) { image.onload = function() { _this.adaptHeight(); - _this.callbackTimers.push( setTimeout(_this.onWindowResized, _this.props.speed) ); }; } else { image.onload = handler; - image.onerror = function() { handler(); _this.props.onLazyLoadError && @@ -1564,18 +1443,15 @@ }); } ); - _defineProperty( _assertThisInitialized(_this), "progressiveLazyLoad", function() { var slidesToLoad = []; - var spec = _objectSpread( _objectSpread({}, _this.props), _this.state ); - for ( var index = _this.state.currentSlide; index < @@ -1592,7 +1468,6 @@ break; } } - for ( var _index = _this.state.currentSlide - 1; _index >= @@ -1608,14 +1483,12 @@ break; } } - if (slidesToLoad.length > 0) { _this.setState(function(state) { return { lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad) }; }); - if (_this.props.onLazyLoad) { _this.props.onLazyLoad(slidesToLoad); } @@ -1627,7 +1500,6 @@ } } ); - _defineProperty( _assertThisInitialized(_this), "slideHandler", @@ -1641,10 +1513,9 @@ beforeChange = _this$props.beforeChange, onLazyLoad = _this$props.onLazyLoad, speed = _this$props.speed, - afterChange = _this$props.afterChange; // capture currentslide before state is updated - + afterChange = _this$props.afterChange; + // capture currentslide before state is updated var currentSlide = _this.state.currentSlide; - var _slideHandler = Object( _utils_innerSliderUtils__WEBPACK_IMPORTED_MODULE_4__[ "slideHandler" @@ -1669,7 +1540,6 @@ ), state = _slideHandler.state, nextState = _slideHandler.nextState; - if (!state) return; beforeChange && beforeChange(currentSlide, state.currentSlide); var slidesToLoad = state.lazyLoadedList.filter(function(value) { @@ -1678,20 +1548,17 @@ onLazyLoad && slidesToLoad.length > 0 && onLazyLoad(slidesToLoad); - if (!_this.props.waitForAnimate && _this.animationEndCallback) { clearTimeout(_this.animationEndCallback); afterChange && afterChange(currentSlide); delete _this.animationEndCallback; } - _this.setState(state, function() { // asNavForIndex check is to avoid recursive calls of slideHandler in waitForAnimate=false mode if (asNavFor && _this.asNavForIndex !== index) { _this.asNavForIndex = index; asNavFor.innerSlider.slideHandler(index); } - if (!nextState) return; _this.animationEndCallback = setTimeout(function() { var animating = nextState.animating, @@ -1699,7 +1566,6 @@ nextState, _excluded ); - _this.setState(firstBatch, function() { _this.callbackTimers.push( setTimeout(function() { @@ -1708,7 +1574,6 @@ }); }, 10) ); - afterChange && afterChange(state.currentSlide); delete _this.animationEndCallback; }); @@ -1716,7 +1581,6 @@ }); } ); - _defineProperty( _assertThisInitialized(_this), "changeSlide", @@ -1725,35 +1589,28 @@ arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - var spec = _objectSpread( _objectSpread({}, _this.props), _this.state ); - var targetSlide = Object( _utils_innerSliderUtils__WEBPACK_IMPORTED_MODULE_4__[ "changeSlide" ] )(spec, options); if (targetSlide !== 0 && !targetSlide) return; - if (dontAnimate === true) { _this.slideHandler(targetSlide, dontAnimate); } else { _this.slideHandler(targetSlide); } - _this.props.autoplay && _this.autoPlay("update"); - if (_this.props.focusOnSelect) { var nodes = _this.list.querySelectorAll(".slick-current"); - nodes[0] && nodes[0].focus(); } } ); - _defineProperty( _assertThisInitialized(_this), "clickHandler", @@ -1762,11 +1619,9 @@ e.stopPropagation(); e.preventDefault(); } - _this.clickable = true; } ); - _defineProperty( _assertThisInitialized(_this), "keyHandler", @@ -1782,7 +1637,6 @@ }); } ); - _defineProperty( _assertThisInitialized(_this), "selectHandler", @@ -1790,7 +1644,6 @@ _this.changeSlide(options); } ); - _defineProperty( _assertThisInitialized(_this), "disableBodyScroll", @@ -1800,11 +1653,9 @@ if (e.preventDefault) e.preventDefault(); e.returnValue = false; }; - window.ontouchmove = preventDefault; } ); - _defineProperty( _assertThisInitialized(_this), "enableBodyScroll", @@ -1812,7 +1663,6 @@ window.ontouchmove = null; } ); - _defineProperty( _assertThisInitialized(_this), "swipeStart", @@ -1820,7 +1670,6 @@ if (_this.props.verticalSwiping) { _this.disableBodyScroll(); } - var state = Object( _utils_innerSliderUtils__WEBPACK_IMPORTED_MODULE_4__[ "swipeStart" @@ -1829,7 +1678,6 @@ state !== "" && _this.setState(state); } ); - _defineProperty( _assertThisInitialized(_this), "swipeMove", @@ -1851,15 +1699,12 @@ ) ); if (!state) return; - if (state["swiping"]) { _this.clickable = false; } - _this.setState(state); } ); - _defineProperty(_assertThisInitialized(_this), "swipeEnd", function( e ) { @@ -1880,26 +1725,19 @@ if (!state) return; var triggerSlideHandler = state["triggerSlideHandler"]; delete state["triggerSlideHandler"]; - _this.setState(state); - if (triggerSlideHandler === undefined) return; - _this.slideHandler(triggerSlideHandler); - if (_this.props.verticalSwiping) { _this.enableBodyScroll(); } }); - _defineProperty(_assertThisInitialized(_this), "touchEnd", function( e ) { _this.swipeEnd(e); - _this.clickable = true; }); - _defineProperty( _assertThisInitialized(_this), "slickPrev", @@ -1916,7 +1754,6 @@ ); } ); - _defineProperty( _assertThisInitialized(_this), "slickNext", @@ -1930,7 +1767,6 @@ ); } ); - _defineProperty( _assertThisInitialized(_this), "slickGoTo", @@ -1941,7 +1777,6 @@ : false; slide = Number(slide); if (isNaN(slide)) return ""; - _this.callbackTimers.push( setTimeout(function() { return _this.changeSlide( @@ -1956,10 +1791,8 @@ ); } ); - _defineProperty(_assertThisInitialized(_this), "play", function() { var nextIndex; - if (_this.props.rtl) { nextIndex = _this.state.currentSlide - _this.props.slidesToScroll; @@ -1977,19 +1810,15 @@ return false; } } - _this.slideHandler(nextIndex); }); - _defineProperty(_assertThisInitialized(_this), "autoPlay", function( playType ) { if (_this.autoplayTimer) { clearInterval(_this.autoplayTimer); } - var autoplaying = _this.state.autoplaying; - if (playType === "update") { if ( autoplaying === "hovered" || @@ -2007,17 +1836,14 @@ return; } } - _this.autoplayTimer = setInterval( _this.play, _this.props.autoplaySpeed + 50 ); - _this.setState({ autoplaying: "playing" }); }); - _defineProperty(_assertThisInitialized(_this), "pause", function( pauseType ) { @@ -2025,9 +1851,7 @@ clearInterval(_this.autoplayTimer); _this.autoplayTimer = null; } - var autoplaying = _this.state.autoplaying; - if (pauseType === "paused") { _this.setState({ autoplaying: "paused" @@ -2047,7 +1871,6 @@ } } }); - _defineProperty( _assertThisInitialized(_this), "onDotsOver", @@ -2055,7 +1878,6 @@ return _this.props.autoplay && _this.pause("hovered"); } ); - _defineProperty( _assertThisInitialized(_this), "onDotsLeave", @@ -2067,7 +1889,6 @@ ); } ); - _defineProperty( _assertThisInitialized(_this), "onTrackOver", @@ -2075,7 +1896,6 @@ return _this.props.autoplay && _this.pause("hovered"); } ); - _defineProperty( _assertThisInitialized(_this), "onTrackLeave", @@ -2087,7 +1907,6 @@ ); } ); - _defineProperty( _assertThisInitialized(_this), "onSlideFocus", @@ -2095,7 +1914,6 @@ return _this.props.autoplay && _this.pause("focused"); } ); - _defineProperty( _assertThisInitialized(_this), "onSlideBlur", @@ -2107,13 +1925,11 @@ ); } ); - _defineProperty( _assertThisInitialized(_this), "render", function() { var _this$props$classes, _this$props$classes2; - var className = classnames__WEBPACK_IMPORTED_MODULE_3___default()( "slick-slider", _this.props.className, @@ -2126,12 +1942,10 @@ "slick-initialized": true } ); - var spec = _objectSpread( _objectSpread({}, _this.props), _this.state ); - var trackProps = Object( _utils_innerSliderUtils__WEBPACK_IMPORTED_MODULE_4__[ "extractObject" @@ -2178,7 +1992,6 @@ } ); var dots; - if ( _this.props.dots === true && _this.state.slideCount >= _this.props.slidesToShow @@ -2216,7 +2029,6 @@ dotProps ); } - var prevArrow, nextArrow; var arrowProps = Object( _utils_innerSliderUtils__WEBPACK_IMPORTED_MODULE_4__[ @@ -2233,7 +2045,6 @@ "classes" ]); arrowProps.clickHandler = _this.changeSlide; - if (_this.props.arrows) { prevArrow = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement( _arrows__WEBPACK_IMPORTED_MODULE_7__["PrevArrow"], @@ -2244,17 +2055,13 @@ arrowProps ); } - var verticalHeightStyle = null; - if (_this.props.vertical) { verticalHeightStyle = { height: _this.state.listHeight }; } - var centerPaddingStyle = null; - if (_this.props.vertical === false) { if (_this.props.centerMode === true) { centerPaddingStyle = { @@ -2268,12 +2075,10 @@ }; } } - var listStyle = _objectSpread( _objectSpread({}, verticalHeightStyle), centerPaddingStyle ); - var touchMove = _this.props.touchMove; var listProps = { className: classnames__WEBPACK_IMPORTED_MODULE_3___default()( @@ -2304,16 +2109,21 @@ dir: "ltr", style: _this.props.style }; - if (_this.props.unslick) { + var _this$props$classes3; listProps = { - className: "slick-list" + className: classnames__WEBPACK_IMPORTED_MODULE_3___default()( + (_this$props$classes3 = _this.props.classes) === null || + _this$props$classes3 === void 0 + ? void 0 + : _this$props$classes3.list, + "slick-list" + ) }; innerSliderProps = { className: className }; } - return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement( "div", innerSliderProps, @@ -2342,7 +2152,6 @@ ); } ); - _this.list = null; _this.track = null; _this.state = _objectSpread( @@ -2361,47 +2170,39 @@ _this.callbackTimers = []; _this.clickable = true; _this.debouncedResize = null; - var ssrState = _this.ssrInit(); - _this.state = _objectSpread( _objectSpread({}, _this.state), ssrState ); return _this; } - _createClass(InnerSlider, [ { key: "didPropsChange", value: function didPropsChange(prevProps) { var setTrackStyle = false; - for ( var _i3 = 0, _Object$keys = Object.keys(this.props); _i3 < _Object$keys.length; _i3++ ) { var key = _Object$keys[_i3]; - if (!prevProps.hasOwnProperty(key)) { setTrackStyle = true; break; } - if ( _typeof(prevProps[key]) === "object" || typeof prevProps[key] === "function" ) { continue; } - if (prevProps[key] !== this.props[key]) { setTrackStyle = true; break; } } - return ( setTrackStyle || react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.count( @@ -2414,7 +2215,6 @@ } } ]); - return InnerSlider; })(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); @@ -3221,7 +3021,6 @@ } return keys; } - function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; @@ -3244,7 +3043,6 @@ } return target; } - function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { @@ -3264,7 +3062,6 @@ } var safePreventDefault = function safePreventDefault(event) { var passiveEvents = ["onTouchStart", "onTouchMove", "onWheel"]; - if (!passiveEvents.includes(event._reactName)) { event.preventDefault(); } @@ -3273,7 +3070,6 @@ var onDemandSlides = []; var startIndex = lazyStartIndex(spec); var endIndex = lazyEndIndex(spec); - for ( var slideIndex = startIndex; slideIndex < endIndex; @@ -3283,15 +3079,14 @@ onDemandSlides.push(slideIndex); } } - return onDemandSlides; - }; // return list of slides that need to be present + }; + // return list of slides that need to be present var getRequiredLazySlides = function getRequiredLazySlides(spec) { var requiredSlides = []; var startIndex = lazyStartIndex(spec); var endIndex = lazyEndIndex(spec); - for ( var slideIndex = startIndex; slideIndex < endIndex; @@ -3299,10 +3094,10 @@ ) { requiredSlides.push(slideIndex); } - return requiredSlides; - }; // startIndex that needs to be present + }; + // startIndex that needs to be present var lazyStartIndex = function lazyStartIndex(spec) { var startIndex = spec.currentSlide - lazySlidesOnLeft(spec); if (spec.lazyLoad === "anticipated") startIndex -= 1; @@ -3325,8 +3120,9 @@ 1 + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : spec.slidesToShow; - }; // get width of an element + }; + // get width of an element var getWidth = function getWidth(elem) { return (elem && elem.offsetWidth) || 0; }; @@ -3343,22 +3139,18 @@ yDist = touchObject.startY - touchObject.curY; r = Math.atan2(yDist, xDist); swipeAngle = Math.round((r * 180) / Math.PI); - if (swipeAngle < 0) { swipeAngle = 360 - Math.abs(swipeAngle); } - if ( (swipeAngle <= 45 && swipeAngle >= 0) || (swipeAngle <= 360 && swipeAngle >= 315) ) { return "left"; } - if (swipeAngle >= 135 && swipeAngle <= 225) { return "right"; } - if (verticalSwiping === true) { if (swipeAngle >= 35 && swipeAngle <= 135) { return "up"; @@ -3366,13 +3158,12 @@ return "down"; } } - return "vertical"; - }; // whether or not we can go next + }; + // whether or not we can go next var canGoNext = function canGoNext(spec) { var canGo = true; - if (!spec.infinite) { if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) { canGo = false; @@ -3383,18 +3174,19 @@ canGo = false; } } - return canGo; - }; // given an object and a list of keys, return new object with given keys + }; + // given an object and a list of keys, return new object with given keys var extractObject = function extractObject(spec, keys) { var newObject = {}; keys.forEach(function(key) { return (newObject[key] = spec[key]); }); return newObject; - }; // get initialized state + }; + // get initialized state var initializedState = function initializedState(spec) { // spec also contains listRef, trackRef var slideCount = react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.count( @@ -3405,25 +3197,21 @@ var trackNode = spec.trackRef && spec.trackRef.node; var trackWidth = Math.ceil(getWidth(trackNode)); var slideWidth; - if (!spec.vertical) { var centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2; - if ( typeof spec.centerPadding === "string" && spec.centerPadding.slice(-1) === "%" ) { centerPaddingAdj *= listWidth / 100; } - slideWidth = Math.ceil( (listWidth - centerPaddingAdj) / spec.slidesToShow ); } else { slideWidth = listWidth; } - var slideHeight = listNode && getHeight(listNode.querySelector('[data-index="0"]')); var listHeight = slideHeight * spec.slidesToShow; @@ -3431,11 +3219,9 @@ spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide; - if (spec.rtl && spec.currentSlide === undefined) { currentSlide = slideCount - 1 - spec.initialSlide; } - var lazyLoadedList = spec.lazyLoadedList || []; var slidesToLoad = getOnDemandLazySlides( _objectSpread( @@ -3458,11 +3244,9 @@ listHeight: listHeight, lazyLoadedList: lazyLoadedList }; - if (spec.autoplaying === null && spec.autoplay) { state["autoplaying"] = "playing"; } - return state; }; var slideHandler = function slideHandler(spec) { @@ -3487,20 +3271,16 @@ var state = {}, nextState = {}; var targetSlide = infinite ? index : clamp(index, 0, slideCount - 1); - if (fade) { if (!infinite && (index < 0 || index >= slideCount)) return {}; - if (index < 0) { animationSlide = index + slideCount; } else if (index >= slideCount) { animationSlide = index - slideCount; } - if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) { lazyLoadedList = lazyLoadedList.concat(animationSlide); } - state = { animating: true, currentSlide: animationSlide, @@ -3513,7 +3293,6 @@ }; } else { finalSlide = animationSlide; - if (animationSlide < 0) { finalSlide = animationSlide + slideCount; if (!infinite) finalSlide = 0; @@ -3529,11 +3308,9 @@ if (!infinite) finalSlide = slideCount - slidesToShow; else if (slideCount % slidesToScroll !== 0) finalSlide = 0; } - if (!infinite && animationSlide + slidesToShow >= slideCount) { finalSlide = slideCount - slidesToShow; } - animationLeft = getTrackLeft( _objectSpread( _objectSpread({}, spec), @@ -3552,12 +3329,10 @@ } ) ); - if (!infinite) { if (animationLeft === finalLeft) animationSlide = finalSlide; animationLeft = finalLeft; } - if (lazyLoad) { lazyLoadedList = lazyLoadedList.concat( getOnDemandLazySlides( @@ -3571,7 +3346,6 @@ ) ); } - if (!useCSS) { state = { currentSlide: finalSlide, @@ -3620,7 +3394,6 @@ }; } } - return { state: state, nextState: nextState @@ -3639,29 +3412,24 @@ indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll; - if (options.message === "previous") { slideOffset = indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset; targetSlide = currentSlide - slideOffset; - if (lazyLoad && !infinite) { previousInt = currentSlide - slideOffset; targetSlide = previousInt === -1 ? slideCount - 1 : previousInt; } - if (!infinite) { targetSlide = previousTargetSlide - slidesToScroll; } } else if (options.message === "next") { slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset; targetSlide = currentSlide + slideOffset; - if (lazyLoad && !infinite) { targetSlide = ((currentSlide + slidesToScroll) % slideCount) + indexOffset; } - if (!infinite) { targetSlide = previousTargetSlide + slidesToScroll; } @@ -3671,7 +3439,6 @@ } else if (options.message === "children") { // Click on the slides targetSlide = options.index; - if (infinite) { var direction = siblingDirection( _objectSpread( @@ -3682,7 +3449,6 @@ } ) ); - if (targetSlide > options.currentSlide && direction === "left") { targetSlide = targetSlide - slideCount; } else if ( @@ -3695,7 +3461,6 @@ } else if (options.message === "index") { targetSlide = Number(options.index); } - return targetSlide; }; var keyHandler = function keyHandler(e, accessibility, rtl) { @@ -3755,13 +3520,11 @@ var verticalSwipeLength = Math.round( Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2)) ); - if (!verticalSwiping && !swiping && verticalSwipeLength > 10) { return { scrolling: true }; } - if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength; var positionOffset = (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1); @@ -3773,7 +3536,6 @@ verticalSwiping ); var touchSwipeLength = touchObject.swipeLength; - if (!infinite) { if ( (currentSlide === 0 && @@ -3784,19 +3546,16 @@ (swipeDirection === "left" || swipeDirection === "up")) ) { touchSwipeLength = touchObject.swipeLength * edgeFriction; - if (edgeDragged === false && onEdge) { onEdge(swipeDirection); state["edgeDragged"] = true; } } } - if (!swiped && swipeEvent) { swipeEvent(swipeDirection); state["swiped"] = true; } - if (!vertical) { if (!rtl) { swipeLeft = curLeft + touchSwipeLength * positionOffset; @@ -3808,11 +3567,9 @@ curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset; } - if (verticalSwiping) { swipeLeft = curLeft + touchSwipeLength * positionOffset; } - state = _objectSpread( _objectSpread({}, state), {}, @@ -3830,19 +3587,16 @@ ) } ); - if ( Math.abs(touchObject.curX - touchObject.startX) < Math.abs(touchObject.curY - touchObject.startY) * 0.8 ) { return state; } - if (touchObject.swipeLength > 10) { state["swiping"] = true; safePreventDefault(e); } - return state; }; var swipeEnd = function swipeEnd(e, spec) { @@ -3859,17 +3613,15 @@ targetSlide = spec.targetSlide, currentSlide = spec.currentSlide, infinite = spec.infinite; - if (!dragging) { if (swipe) safePreventDefault(e); return {}; } - var minSwipe = verticalSwiping ? listHeight / touchThreshold : listWidth / touchThreshold; - var swipeDirection = getSwipeDirection(touchObject, verticalSwiping); // reset the state of touch related state variables. - + var swipeDirection = getSwipeDirection(touchObject, verticalSwiping); + // reset the state of touch related state variables. var state = { dragging: false, edgeDragged: false, @@ -3879,25 +3631,19 @@ swipeLeft: null, touchObject: {} }; - if (scrolling) { return state; } - if (!touchObject.swipeLength) { return state; } - if (touchObject.swipeLength > minSwipe) { safePreventDefault(e); - if (onSwipe) { onSwipe(swipeDirection); } - var slideCount, newSlide; var activeSlide = infinite ? currentSlide : targetSlide; - switch (swipeDirection) { case "left": case "up": @@ -3907,7 +3653,6 @@ : newSlide; state["currentDirection"] = 0; break; - case "right": case "down": newSlide = activeSlide - getSlideCount(spec); @@ -3916,11 +3661,9 @@ : newSlide; state["currentDirection"] = 1; break; - default: slideCount = activeSlide; } - state["triggerSlideHandler"] = slideCount; } else { // Adjust the track back to it's original position. @@ -3935,7 +3678,6 @@ ) ); } - return state; }; var getNavigableIndexes = function getNavigableIndexes(spec) { @@ -3943,19 +3685,16 @@ var breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0; var counter = spec.infinite ? spec.slidesToShow * -1 : 0; var indexes = []; - while (breakpoint < max) { indexes.push(breakpoint); breakpoint = counter + spec.slidesToScroll; counter += Math.min(spec.slidesToScroll, spec.slidesToShow); } - return indexes; }; var checkNavigable = function checkNavigable(spec, index) { var navigables = getNavigableIndexes(spec); var prevNavigable = 0; - if (index > navigables[navigables.length - 1]) { index = navigables[navigables.length - 1]; } else { @@ -3964,18 +3703,15 @@ index = prevNavigable; break; } - prevNavigable = navigables[n]; } } - return index; }; var getSlideCount = function getSlideCount(spec) { var centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0; - if (spec.swipeToSlide) { var swipedSlide; var slickList = spec.listRef; @@ -4001,14 +3737,11 @@ return false; } } - return true; }); - if (!swipedSlide) { return 0; } - var currentIndex = spec.rtl === true ? spec.slideCount - spec.currentSlide @@ -4037,19 +3770,16 @@ ]); var trackWidth, trackHeight; var trackChildren = spec.slideCount + 2 * spec.slidesToShow; - if (!spec.vertical) { trackWidth = getTotalSlides(spec) * spec.slideWidth; } else { trackHeight = trackChildren * spec.slideHeight; } - var style = { opacity: 1, transition: "", WebkitTransition: "" }; - if (spec.useTransform) { var WebkitTransform = !spec.vertical ? "translate3d(" + spec.left + "px, 0px, 0px)" @@ -4076,14 +3806,14 @@ style["left"] = spec.left; } } - if (spec.fade) style = { opacity: 1 }; if (trackWidth) style.width = trackWidth; - if (trackHeight) style.height = trackHeight; // Fallback for IE8 + if (trackHeight) style.height = trackHeight; + // Fallback for IE8 if (window && !window.addEventListener && window.attachEvent) { if (!spec.vertical) { style.marginLeft = spec.left + "px"; @@ -4091,7 +3821,6 @@ style.marginTop = spec.left + "px"; } } - return style; }; var getTrackAnimateCSS = function getTrackAnimateCSS(spec) { @@ -4104,8 +3833,8 @@ "speed", "cssEase" ]); - var style = getTrackCSS(spec); // useCSS is true by default so it can be undefined - + var style = getTrackCSS(spec); + // useCSS is true by default so it can be undefined if (spec.useTransform) { style.WebkitTransition = "-webkit-transform " + spec.speed + "ms " + spec.cssEase; @@ -4117,14 +3846,12 @@ style.transition = "left " + spec.speed + "ms " + spec.cssEase; } } - return style; }; var getTrackLeft = function getTrackLeft(spec) { if (spec.unslick) { return 0; } - checkSpecKeys(spec, [ "slideIndex", "trackRef", @@ -4155,17 +3882,13 @@ var targetLeft; var targetSlide; var verticalOffset = 0; - if (fade || spec.slideCount === 1) { return 0; } - var slidesToOffset = 0; - if (infinite) { slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children - if ( slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount @@ -4173,8 +3896,8 @@ slidesToOffset = -(slideIndex > slideCount ? slidesToShow - (slideIndex - slideCount) : slideCount % slidesToScroll); - } // shift current slide to center of the frame - + } + // shift current slide to center of the frame if (centerMode) { slidesToOffset += parseInt(slidesToShow / 2); } @@ -4185,66 +3908,55 @@ ) { slidesToOffset = slidesToShow - (slideCount % slidesToScroll); } - if (centerMode) { slidesToOffset = parseInt(slidesToShow / 2); } } - slideOffset = slidesToOffset * slideWidth; verticalOffset = slidesToOffset * slideHeight; - if (!vertical) { targetLeft = slideIndex * slideWidth * -1 + slideOffset; } else { targetLeft = slideIndex * slideHeight * -1 + verticalOffset; } - if (variableWidth === true) { var targetSlideIndex; var trackElem = trackRef && trackRef.node; targetSlideIndex = slideIndex + getPreClones(spec); targetSlide = trackElem && trackElem.childNodes[targetSlideIndex]; targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0; - if (centerMode === true) { targetSlideIndex = infinite ? slideIndex + getPreClones(spec) : slideIndex; targetSlide = trackElem && trackElem.children[targetSlideIndex]; targetLeft = 0; - for (var slide = 0; slide < targetSlideIndex; slide++) { targetLeft -= trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth; } - targetLeft -= parseInt(spec.centerPadding); targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2; } } - return targetLeft; }; var getPreClones = function getPreClones(spec) { if (spec.unslick || !spec.infinite) { return 0; } - if (spec.variableWidth) { return spec.slideCount; } - return spec.slidesToShow + (spec.centerMode ? 1 : 0); }; var getPostClones = function getPostClones(spec) { if (spec.unslick || !spec.infinite) { return 0; } - return spec.slideCount; }; var getTotalSlides = function getTotalSlides(spec) { @@ -4257,13 +3969,11 @@ if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) { return "left"; } - return "right"; } else { if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) { return "right"; } - return "left"; } }; @@ -4272,7 +3982,6 @@ centerMode = _ref.centerMode, rtl = _ref.rtl, centerPadding = _ref.centerPadding; - // returns no of slides on the right of active slide if (centerMode) { var right = (slidesToShow - 1) / 2 + 1; @@ -4280,11 +3989,9 @@ if (rtl && slidesToShow % 2 === 0) right += 1; return right; } - if (rtl) { return 0; } - return slidesToShow - 1; }; var slidesOnLeft = function slidesOnLeft(_ref2) { @@ -4292,7 +3999,6 @@ centerMode = _ref2.centerMode, rtl = _ref2.rtl, centerPadding = _ref2.centerPadding; - // returns no of slides on the left of active slide if (centerMode) { var left = (slidesToShow - 1) / 2 + 1; @@ -4300,11 +4006,9 @@ if (!rtl && slidesToShow % 2 === 0) left += 1; return left; } - if (rtl) { return slidesToShow - 1; } - return 0; }; var canUseDOM = function canUseDOM() { @@ -4363,7 +4067,6 @@ _typeof(obj) ); } - function _extends() { _extends = Object.assign ? Object.assign.bind() @@ -4380,13 +4083,11 @@ }; return _extends.apply(this, arguments); } - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; @@ -4396,14 +4097,12 @@ Object.defineProperty(target, descriptor.key, descriptor); } } - function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError( @@ -4423,7 +4122,6 @@ Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } - function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() @@ -4433,7 +4131,6 @@ }; return _setPrototypeOf(o, p); } - function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { @@ -4448,7 +4145,6 @@ return _possibleConstructorReturn(this, result); }; } - function _possibleConstructorReturn(self, call) { if ( call && @@ -4462,7 +4158,6 @@ } return _assertThisInitialized(self); } - function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError( @@ -4471,7 +4166,6 @@ } return self; } - function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; @@ -4486,7 +4180,6 @@ return false; } } - function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() @@ -4495,7 +4188,6 @@ }; return _getPrototypeOf(o); } - function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { @@ -4508,7 +4200,6 @@ } return keys; } - function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; @@ -4531,7 +4222,6 @@ } return target; } - function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { @@ -4547,25 +4237,19 @@ } // given specifications/props for a slide, fetch all the classes that need to be applied to the slide - var getSlideClasses = function getSlideClasses(spec) { var _spec$classes, _spec$classes2, _ref; - var slickActive, slickCenter, slickCloned; var centerOffset, index; - if (spec.rtl) { index = spec.slideCount - 1 - spec.index; } else { index = spec.index; } - slickCloned = index < 0 || index >= spec.slideCount; - if (spec.centerMode) { centerOffset = Math.floor(spec.slidesToShow / 2); slickCenter = (index - spec.currentSlide) % spec.slideCount === 0; - if ( index > spec.currentSlide - centerOffset - 1 && index <= spec.currentSlide + centerOffset @@ -4577,9 +4261,7 @@ spec.currentSlide <= index && index < spec.currentSlide + spec.slidesToShow; } - var focusedSlide; - if (spec.targetSlide < 0) { focusedSlide = spec.targetSlide + spec.slideCount; } else if (spec.targetSlide >= spec.slideCount) { @@ -4587,7 +4269,6 @@ } else { focusedSlide = spec.targetSlide; } - var slickCurrent = index === focusedSlide; return ( (_ref = { @@ -4614,28 +4295,22 @@ _ref ); }; - var getSlideStyle = function getSlideStyle(spec) { var style = {}; - if ( spec.variableWidth === undefined || spec.variableWidth === false ) { style.width = spec.slideWidth; } - if (spec.fade) { style.position = "relative"; - if (spec.vertical) { style.top = -spec.index * parseInt(spec.slideHeight); } else { style.left = -spec.index * parseInt(spec.slideWidth); } - style.opacity = spec.currentSlide === spec.index ? 1 : 0; - if (spec.useCSS) { style.transition = "opacity " + @@ -4649,14 +4324,11 @@ spec.cssEase; } } - return style; }; - var getKey = function getKey(child, fallbackKey) { return child.key || fallbackKey; }; - var shouldOmitLazy = function shouldOmitLazy() { var omitLazyForSlides = arguments.length > 0 && arguments[0] !== undefined @@ -4665,7 +4337,6 @@ var index = arguments.length > 1 ? arguments[1] : undefined; return omitLazyForSlides.includes(index); }; - var renderSlides = function renderSlides(spec) { var key; var slides = []; @@ -4686,15 +4357,15 @@ spec.children, function(elem, index) { var _spec$classes3; - var child; var childOnClickOptions = { message: "children", index: index, slidesToScroll: spec.slidesToScroll, currentSlide: spec.currentSlide - }; // in case of lazyLoad, whether or not we want to fetch the slide + }; + // in case of lazyLoad, whether or not we want to fetch the slide if ( !spec.lazyLoad || (spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0) || @@ -4707,7 +4378,6 @@ null ); } - var childStyle = getSlideStyle( _objectSpread( _objectSpread({}, spec), @@ -4726,8 +4396,8 @@ index: index } ) - ); // push a cloned element of the desired slide - + ); + // push a cloned element of the desired slide slides.push( /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default.a.cloneElement( child, @@ -4757,18 +4427,17 @@ child.props && child.props.onClick && child.props.onClick(e); - if (spec.focusOnSelect) { spec.focusOnSelect(childOnClickOptions); } } } ) - ); // if slide needs to be precloned or postcloned + ); + // if slide needs to be precloned or postcloned if (spec.infinite && spec.fade === false) { var preCloneNo = childrenCount - index; - if ( preCloneNo <= Object( @@ -4779,13 +4448,10 @@ childrenCount !== spec.slidesToShow ) { var _spec$classes4; - key = -preCloneNo; - if (key >= startIndex) { child = elem; } - slideClasses = getSlideClasses( _objectSpread( _objectSpread({}, spec), @@ -4819,7 +4485,6 @@ child.props && child.props.onClick && child.props.onClick(e); - if (spec.focusOnSelect) { spec.focusOnSelect(childOnClickOptions); } @@ -4828,16 +4493,12 @@ ) ); } - if (childrenCount !== spec.slidesToShow) { var _spec$classes5; - key = childrenCount + index; - if (key < endIndex) { child = elem; } - slideClasses = getSlideClasses( _objectSpread( _objectSpread({}, spec), @@ -4871,7 +4532,6 @@ child.props && child.props.onClick && child.props.onClick(e); - if (spec.focusOnSelect) { spec.focusOnSelect(childOnClickOptions); } @@ -4883,24 +4543,18 @@ } } ); - if (spec.rtl) { return preCloneSlides.concat(slides, postCloneSlides).reverse(); } else { return preCloneSlides.concat(slides, postCloneSlides); } }; - var Track = /*#__PURE__*/ (function(_React$PureComponent) { _inherits(Track, _React$PureComponent); - var _super = _createSuper(Track); - function Track() { var _this; - _classCallCheck(this, Track); - for ( var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; @@ -4908,11 +4562,8 @@ ) { args[_key] = arguments[_key]; } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "node", null); - _defineProperty( _assertThisInitialized(_this), "handleRef", @@ -4920,16 +4571,13 @@ _this.node = ref; } ); - return _this; } - _createClass(Track, [ { key: "render", value: function render() { var _this$props$classes; - var slides = renderSlides(this.props); var _this$props = this.props, onMouseEnter = _this$props.onMouseEnter, @@ -4961,7 +4609,6 @@ } } ]); - return Track; })(react__WEBPACK_IMPORTED_MODULE_0___default.a.PureComponent); @@ -5013,7 +4660,6 @@ _typeof(obj) ); } - function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { @@ -5026,7 +4672,6 @@ } return keys; } - function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; @@ -5049,7 +4694,6 @@ } return target; } - function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { @@ -5063,13 +4707,11 @@ } return obj; } - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; @@ -5079,14 +4721,12 @@ Object.defineProperty(target, descriptor.key, descriptor); } } - function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError( @@ -5106,7 +4746,6 @@ Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } - function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() @@ -5116,7 +4755,6 @@ }; return _setPrototypeOf(o, p); } - function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { @@ -5131,7 +4769,6 @@ return _possibleConstructorReturn(this, result); }; } - function _possibleConstructorReturn(self, call) { if ( call && @@ -5145,7 +4782,6 @@ } return _assertThisInitialized(self); } - function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError( @@ -5154,7 +4790,6 @@ } return self; } - function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; @@ -5169,7 +4804,6 @@ return false; } } - function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() @@ -5181,7 +4815,6 @@ var getDotCount = function getDotCount(spec) { var dots; - if (spec.infinite) { dots = Math.ceil(spec.slideCount / spec.slidesToScroll); } else { @@ -5190,21 +4823,15 @@ (spec.slideCount - spec.slidesToShow) / spec.slidesToScroll ) + 1; } - return dots; }; - var Dots = /*#__PURE__*/ (function(_React$PureComponent) { _inherits(Dots, _React$PureComponent); - var _super = _createSuper(Dots); - function Dots() { _classCallCheck(this, Dots); - return _super.apply(this, arguments); } - _createClass(Dots, [ { key: "clickHandler", @@ -5240,10 +4867,8 @@ onMouseLeave: onMouseLeave }; var dots = []; - for (var i = 0; i < dotCount; i++) { var _rightBound = (i + 1) * slidesToScroll - 1; - var rightBound = infinite ? _rightBound : Object( @@ -5251,9 +4876,7 @@ "clamp" ] )(_rightBound, 0, slideCount - 1); - var _leftBound = rightBound - (slidesToScroll - 1); - var leftBound = infinite ? _leftBound : Object( @@ -5305,7 +4928,6 @@ ) ); } - return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default.a.cloneElement( this.props.appendDots(dots), _objectSpread( @@ -5323,7 +4945,6 @@ } } ]); - return Dots; })(react__WEBPACK_IMPORTED_MODULE_0___default.a.PureComponent); @@ -5382,7 +5003,6 @@ _typeof(obj) ); } - function _extends() { _extends = Object.assign ? Object.assign.bind() @@ -5399,7 +5019,6 @@ }; return _extends.apply(this, arguments); } - function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { @@ -5412,7 +5031,6 @@ } return keys; } - function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; @@ -5435,7 +5053,6 @@ } return target; } - function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { @@ -5449,13 +5066,11 @@ } return obj; } - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; @@ -5465,14 +5080,12 @@ Object.defineProperty(target, descriptor.key, descriptor); } } - function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError( @@ -5492,7 +5105,6 @@ Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } - function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() @@ -5502,7 +5114,6 @@ }; return _setPrototypeOf(o, p); } - function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { @@ -5517,7 +5128,6 @@ return _possibleConstructorReturn(this, result); }; } - function _possibleConstructorReturn(self, call) { if ( call && @@ -5531,7 +5141,6 @@ } return _assertThisInitialized(self); } - function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError( @@ -5540,7 +5149,6 @@ } return self; } - function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; @@ -5555,7 +5163,6 @@ return false; } } - function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() @@ -5567,15 +5174,11 @@ var PrevArrow = /*#__PURE__*/ (function(_React$PureComponent) { _inherits(PrevArrow, _React$PureComponent); - var _super = _createSuper(PrevArrow); - function PrevArrow() { _classCallCheck(this, PrevArrow); - return _super.apply(this, arguments); } - _createClass(PrevArrow, [ { key: "clickHandler", @@ -5583,7 +5186,6 @@ if (e) { e.preventDefault(); } - this.props.clickHandler(options, e); } }, @@ -5591,7 +5193,6 @@ key: "render", value: function render() { var _this$props$classes3, _this$props$classes4; - var prevClasses = { "slick-arrow": true, "slick-prev": true @@ -5599,14 +5200,12 @@ var prevHandler = this.clickHandler.bind(this, { message: "previous" }); - if ( !this.props.infinite && (this.props.currentSlide === 0 || this.props.slideCount <= this.props.slidesToShow) ) { var _this$props$classes, _this$props$classes2; - prevClasses["slick-disabled"] = true; prevClasses[ (_this$props$classes = this.props.classes) === null || @@ -5620,7 +5219,6 @@ ); prevHandler = null; } - var prevArrowProps = { key: "0", "data-role": "none", @@ -5645,7 +5243,6 @@ slideCount: this.props.slideCount }; var prevArrow; - if (this.props.prevArrow) { prevArrow = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default.a.cloneElement( this.props.prevArrow, @@ -5668,25 +5265,19 @@ "Previous" ); } - return prevArrow; } } ]); - return PrevArrow; })(react__WEBPACK_IMPORTED_MODULE_0___default.a.PureComponent); var NextArrow = /*#__PURE__*/ (function(_React$PureComponent2) { _inherits(NextArrow, _React$PureComponent2); - var _super2 = _createSuper(NextArrow); - function NextArrow() { _classCallCheck(this, NextArrow); - return _super2.apply(this, arguments); } - _createClass(NextArrow, [ { key: "clickHandler", @@ -5694,7 +5285,6 @@ if (e) { e.preventDefault(); } - this.props.clickHandler(options, e); } }, @@ -5702,7 +5292,6 @@ key: "render", value: function render() { var _this$props$classes7, _this$props$classes8; - var nextClasses = { "slick-arrow": true, "slick-next": true @@ -5710,7 +5299,6 @@ var nextHandler = this.clickHandler.bind(this, { message: "next" }); - if ( !Object( _utils_innerSliderUtils__WEBPACK_IMPORTED_MODULE_2__[ @@ -5719,7 +5307,6 @@ )(this.props) ) { var _this$props$classes5, _this$props$classes6; - nextClasses["slick-disabled"] = true; nextClasses[ (_this$props$classes5 = this.props.classes) === null || @@ -5733,7 +5320,6 @@ ); nextHandler = null; } - var nextArrowProps = { key: "1", "data-role": "none", @@ -5758,7 +5344,6 @@ slideCount: this.props.slideCount }; var nextArrow; - if (this.props.nextArrow) { nextArrow = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default.a.cloneElement( this.props.nextArrow, @@ -5781,12 +5366,10 @@ "Next" ); } - return nextArrow; } } ]); - return NextArrow; })(react__WEBPACK_IMPORTED_MODULE_0___default.a.PureComponent); diff --git a/dist/react-slick.js.map b/dist/react-slick.js.map index b15ea4f24..0570b5d56 100644 --- a/dist/react-slick.js.map +++ b/dist/react-slick.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://Slider/webpack/universalModuleDefinition","webpack://Slider/webpack/bootstrap","webpack://Slider/./src/index.js","webpack://Slider/./src/slider.js","webpack://Slider/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://Slider/./src/inner-slider.js","webpack://Slider/./src/initial-state.js","webpack://Slider/./node_modules/lodash.debounce/index.js","webpack://Slider/(webpack)/buildin/global.js","webpack://Slider/./node_modules/classnames/index.js","webpack://Slider/./src/utils/innerSliderUtils.js","webpack://Slider/./src/track.js","webpack://Slider/./src/dots.js","webpack://Slider/./src/arrows.js","webpack://Slider/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://Slider/./node_modules/json2mq/index.js","webpack://Slider/./node_modules/string-convert/camel2hyphen.js","webpack://Slider/./src/default-props.js","webpack://Slider/./node_modules/enquire.js/src/index.js","webpack://Slider/./node_modules/enquire.js/src/MediaQueryDispatch.js","webpack://Slider/./node_modules/enquire.js/src/MediaQuery.js","webpack://Slider/./node_modules/enquire.js/src/QueryHandler.js","webpack://Slider/./node_modules/enquire.js/src/Util.js"],"names":["Slider","enquire","canUseDOM","require","props","ref","innerSlider","slickPrev","slickNext","slide","dontAnimate","slickGoTo","pause","autoPlay","state","breakpoint","_responsiveMediaHandlers","query","handler","register","push","responsive","breakpoints","map","breakpt","sort","x","y","forEach","index","bQuery","json2mq","minWidth","maxWidth","media","setState","slice","obj","unregister","settings","newProps","filter","resp","defaultProps","centerMode","slidesToScroll","process","console","warn","fade","slidesToShow","children","React","Children","toArray","child","trim","variableWidth","rows","slidesPerRow","newChildren","currentWidth","i","length","newSlide","j","row","k","style","width","cloneElement","key","tabIndex","display","className","unslick","innerSliderRefHandler","Component","InnerSlider","list","track","adaptiveHeight","elem","querySelector","currentSlide","height","getHeight","onInit","lazyLoad","slidesToLoad","getOnDemandLazySlides","prevState","lazyLoadedList","concat","onLazyLoad","spec","listRef","trackRef","updateState","adaptHeight","autoplay","lazyLoadTimer","setInterval","progressiveLazyLoad","ro","ResizeObserver","animating","onWindowResized","callbackTimers","setTimeout","speed","observe","document","querySelectorAll","Array","prototype","call","onfocus","pauseOnFocus","onSlideFocus","onblur","onSlideBlur","window","addEventListener","attachEvent","animationEndCallback","clearTimeout","clearInterval","timer","removeEventListener","detachEvent","autoplayTimer","disconnect","prevProps","checkImagesLoad","onReInit","setTrackStyle","didPropsChange","count","changeSlide","message","debouncedResize","cancel","debounce","resizeWindow","isTrackMounted","Boolean","node","callback","updatedState","initializedState","slideIndex","targetLeft","getTrackLeft","left","trackStyle","getTrackCSS","trackWidth","trackLeft","childrenWidths","preClones","getPreClones","slideCount","postClones","getPostClones","childrenCount","slideWidth","images","imagesCount","loadedCount","image","onclick","parentNode","focus","prevClickHandler","e","onload","onerror","onLazyLoadError","indexOf","asNavFor","beforeChange","afterChange","slideHandler","useCSS","nextState","value","waitForAnimate","asNavForIndex","firstBatch","options","targetSlide","focusOnSelect","nodes","clickable","stopPropagation","preventDefault","dir","keyHandler","accessibility","rtl","event","returnValue","ontouchmove","verticalSwiping","disableBodyScroll","swipeStart","swipe","draggable","swipeMove","swipeEnd","triggerSlideHandler","undefined","enableBodyScroll","Number","isNaN","nextIndex","canGoNext","playType","autoplaying","play","autoplaySpeed","pauseType","classnames","classes","slider","vertical","trackProps","extractObject","pauseOnHover","onMouseEnter","onTrackOver","onMouseLeave","onTrackLeave","onMouseOver","selectHandler","dots","dotProps","pauseOnDotsHover","clickHandler","onDotsLeave","onDotsOver","prevArrow","nextArrow","arrowProps","arrows","verticalHeightStyle","listHeight","centerPaddingStyle","padding","centerPadding","listStyle","touchMove","listProps","onClick","onMouseDown","onMouseMove","dragging","onMouseUp","onTouchStart","onTouchMove","onTouchEnd","touchEnd","onTouchCancel","onKeyDown","innerSliderProps","listRefHandler","trackRefHandler","initialState","initialSlide","ssrState","ssrInit","Object","keys","hasOwnProperty","currentDirection","currentLeft","direction","edgeDragged","initialized","listWidth","scrolling","slideHeight","swipeLeft","swiped","swiping","touchObject","startX","startY","curX","curY","clamp","number","lowerBound","upperBound","Math","max","min","safePreventDefault","passiveEvents","includes","_reactName","onDemandSlides","startIndex","lazyStartIndex","endIndex","lazyEndIndex","getRequiredLazySlides","requiredSlides","lazySlidesOnLeft","lazySlidesOnRight","floor","parseInt","getWidth","offsetWidth","offsetHeight","getSwipeDirection","xDist","yDist","r","swipeAngle","atan2","round","PI","abs","canGo","infinite","newObject","listNode","ceil","trackNode","centerPaddingAdj","animationSlide","finalSlide","animationLeft","finalLeft","getTrackAnimateCSS","indexOffset","previousInt","slideOffset","unevenOffset","previousTargetSlide","siblingDirection","target","tagName","match","keyCode","type","touches","pageX","clientX","pageY","clientY","swipeToSlide","edgeFriction","onEdge","swipeEvent","curLeft","swipeLength","sqrt","pow","verticalSwipeLength","positionOffset","dotCount","swipeDirection","touchSwipeLength","touchThreshold","onSwipe","minSwipe","activeSlide","getSlideCount","checkNavigable","getNavigableIndexes","counter","indexes","navigables","prevNavigable","n","centerOffset","swipedSlide","slickList","slides","from","every","offsetLeft","offsetTop","currentIndex","slidesTraversed","dataset","checkSpecKeys","keysArray","reduce","error","trackHeight","trackChildren","getTotalSlides","opacity","transition","WebkitTransition","useTransform","WebkitTransform","transform","msTransform","marginLeft","marginTop","cssEase","verticalOffset","slidesToOffset","targetSlideIndex","trackElem","childNodes","slidesOnRight","slidesOnLeft","right","createElement","getSlideClasses","slickActive","slickCenter","slickCloned","focusedSlide","slickCurrent","cloned","getSlideStyle","position","top","getKey","fallbackKey","shouldOmitLazy","omitLazyForSlides","renderSlides","preCloneSlides","postCloneSlides","childOnClickOptions","childStyle","slideClass","slideClasses","outline","preCloneNo","reverse","Track","mouseEvents","handleRef","PureComponent","getDotCount","Dots","_rightBound","rightBound","_leftBound","leftBound","dot","activeDot","dotOptions","bind","customPaging","appendDots","dotsClass","PrevArrow","prevClasses","prevHandler","disabled","prevArrowProps","arrow","prev","customProps","NextArrow","nextClasses","nextHandler","nextArrowProps","next","easing"],"mappings":"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Q;EAkBnBC,MAAM,EAAE,KAlBW;EAkBJ;EACfC,OAAO,EAAE,KAnBU;EAoBnBC,WAAW,EAAE;IAAEC,MAAM,EAAE,CAAV;IAAaC,MAAM,EAAE,CAArB;IAAwBC,IAAI,EAAE,CAA9B;IAAiCC,IAAI,EAAE;EAAvC,CApBM;EAqBnBvI,UAAU,EAAE,EArBO;EAsBnBE,UAAU,EAAE,CAtBO;EAuBnBkC,WAAW,EAAE;AAvBM,CAArB;AA0Be6E,2EAAf,E;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,8CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxXA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB;AAChB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;UAAEK,OAAO,EAAE;QAAX,CARY;QASnBqL,OAAO,EAAEoN;MATU,CAArB;MAWA,IAAIH,WAAW,GAAG;QAChB3X,YAAY,EAAE,KAAKhF,KAAL,CAAWgF,YADT;QAEhB8E,UAAU,EAAE,KAAK9J,KAAL,CAAW8J;MAFP,CAAlB;MAIA,IAAIiF,SAAJ;;MAEA,IAAI,KAAK/O,KAAL,CAAW+O,SAAf,EAA0B;QACxBA,SAAS,gBAAG/L,4CAAK,CAACkB,YAAN,CAAmB,KAAKlE,KAAL,CAAW+O,SAA9B,kCACPgO,cADO,GAEPJ,WAFO,EAAZ;MAID,CALD,MAKO;QACL5N,SAAS,gBACP;UAAQ,GAAG,EAAC,GAAZ;UAAgB,IAAI,EAAC;QAArB,GAAkCgO,cAAlC,GACG,GADH,SADF;MAMD;;MAED,OAAOhO,SAAP;IACD;EAlDH;;EAAA;AAAA,EAA+B/L,4CAAK,CAACsY,aAArC,E;;;;;;;AC/DA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,EAAE;AACjB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA,iCAAiC,YAAY;AAC7C,mDAAmD,gBAAgB;AACnE;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,gCAAgC,6BAA6B,EAAE,aAAa;AAC5G,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,qDAAqD,mCAAmC,EAAE;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA,6CAA6C,gBAAgB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B,WAAW,UAAU;AACrB,aAAa;AACb;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,6CAA6C,yBAAyB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,kCAAkC,iEAAiE;AACnG;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,8CAA8C;AAC9C,CAAC;AACD;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,2CAA2C;AAC7E;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;AACA,eAAe,yBAAyB;AACxC;AACA,eAAe,eAAe;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AA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D;;;;;;;ACDA,iBAAiB,mBAAO,CAAC,EAAc;AACvC,WAAW,mBAAO,CAAC,EAAQ;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,4BAA4B;AAC3C,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,mBAAmB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACpFA,mBAAmB,mBAAO,CAAC,EAAgB;AAC3C,WAAW,mBAAO,CAAC,EAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iCAAiC;AACjC,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;;;;;;AC5FA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,YAAY;AACtB;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA","file":"react-slick.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Slider\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"Slider\"] = factory(root[\"React\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__2__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","import Slider from \"./slider\";\n\nexport default Slider;\n","\"use strict\";\n\nimport React from \"react\";\nimport { InnerSlider } from \"./inner-slider\";\nimport json2mq from \"json2mq\";\nimport defaultProps from \"./default-props\";\nimport { canUseDOM } from \"./utils/innerSliderUtils\";\nconst enquire = canUseDOM() && require(\"enquire.js\");\n\nexport default class Slider extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n breakpoint: null\n };\n this._responsiveMediaHandlers = [];\n }\n\n innerSliderRefHandler = ref => (this.innerSlider = ref);\n\n media(query, handler) {\n // javascript handler for css media query\n enquire.register(query, handler);\n this._responsiveMediaHandlers.push({ query, handler });\n }\n\n // handles responsive breakpoints\n componentDidMount() {\n // performance monitoring\n //if (process.env.NODE_ENV !== 'production') {\n //const { whyDidYouUpdate } = require('why-did-you-update')\n //whyDidYouUpdate(React)\n //}\n if (this.props.responsive) {\n let breakpoints = this.props.responsive.map(\n breakpt => breakpt.breakpoint\n );\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: 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 let query = json2mq({ minWidth: breakpoints.slice(-1)[0] });\n\n canUseDOM() &&\n this.media(query, () => {\n this.setState({ breakpoint: null });\n });\n }\n }\n\n componentWillUnmount() {\n this._responsiveMediaHandlers.forEach(function(obj) {\n enquire.unregister(obj.query, obj.handler);\n });\n }\n\n slickPrev = () => this.innerSlider.slickPrev();\n\n slickNext = () => this.innerSlider.slickNext();\n\n slickGoTo = (slide, dontAnimate = false) =>\n this.innerSlider.slickGoTo(slide, dontAnimate);\n\n slickPause = () => this.innerSlider.pause(\"paused\");\n\n slickPlay = () => this.innerSlider.autoPlay(\"play\");\n\n render() {\n var settings;\n var newProps;\n if (this.state.breakpoint) {\n newProps = this.props.responsive.filter(\n resp => resp.breakpoint === this.state.breakpoint\n );\n settings =\n newProps[0].settings === \"unslick\"\n ? \"unslick\"\n : { ...defaultProps, ...this.props, ...newProps[0].settings };\n } else {\n settings = { ...defaultProps, ...this.props };\n }\n\n // force scrolling by one if centerMode is on\n if (settings.centerMode) {\n if (\n settings.slidesToScroll > 1 &&\n process.env.NODE_ENV !== \"production\"\n ) {\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 (\n settings.slidesToScroll > 1 &&\n process.env.NODE_ENV !== \"production\"\n ) {\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 = React.Children.toArray(this.props.children);\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 (\n settings.variableWidth &&\n (settings.rows > 1 || settings.slidesPerRow > 1)\n ) {\n console.warn(\n `variableWidth is not supported in case of rows > 1 or slidesPerRow > 1`\n );\n settings.variableWidth = false;\n }\n let newChildren = [];\n let currentWidth = null;\n for (\n let i = 0;\n i < children.length;\n i += settings.rows * settings.slidesPerRow\n ) {\n let newSlide = [];\n for (\n let j = i;\n j < i + settings.rows * settings.slidesPerRow;\n j += settings.slidesPerRow\n ) {\n let 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 React.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(
{row}
);\n }\n if (settings.variableWidth) {\n newChildren.push(\n
\n {newSlide}\n
\n );\n } else {\n newChildren.push(
{newSlide}
);\n }\n }\n\n if (settings === \"unslick\") {\n const className = \"regular slider \" + (this.props.className || \"\");\n return
{children}
;\n } else if (newChildren.length <= settings.slidesToShow) {\n settings.unslick = true;\n }\n return (\n <>\n \n {newChildren}\n \n \n );\n }\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__2__;","\"use strict\";\n\nimport React from \"react\";\nimport initialState from \"./initial-state\";\nimport debounce from \"lodash.debounce\";\nimport classnames from \"classnames\";\nimport {\n getOnDemandLazySlides,\n extractObject,\n initializedState,\n getHeight,\n canGoNext,\n slideHandler,\n changeSlide,\n keyHandler,\n swipeStart,\n swipeMove,\n swipeEnd,\n getPreClones,\n getPostClones,\n getTrackLeft,\n getTrackCSS\n} from \"./utils/innerSliderUtils\";\n\nimport { Track } from \"./track\";\nimport { Dots } from \"./dots\";\nimport { PrevArrow, NextArrow } from \"./arrows\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\nexport class InnerSlider extends React.Component {\n constructor(props) {\n super(props);\n this.list = null;\n this.track = null;\n this.state = {\n ...initialState,\n currentSlide: this.props.initialSlide,\n slideCount: React.Children.count(this.props.children)\n };\n this.callbackTimers = [];\n this.clickable = true;\n this.debouncedResize = null;\n const ssrState = this.ssrInit();\n this.state = { ...this.state, ...ssrState };\n }\n listRefHandler = ref => (this.list = ref);\n trackRefHandler = ref => (this.track = ref);\n adaptHeight = () => {\n if (this.props.adaptiveHeight && this.list) {\n const elem = this.list.querySelector(\n `[data-index=\"${this.state.currentSlide}\"]`\n );\n this.list.style.height = getHeight(elem) + \"px\";\n }\n };\n componentDidMount = () => {\n this.props.onInit && this.props.onInit();\n if (this.props.lazyLoad) {\n let slidesToLoad = getOnDemandLazySlides({\n ...this.props,\n ...this.state\n });\n if (slidesToLoad.length > 0) {\n this.setState(prevState => ({\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n }));\n if (this.props.onLazyLoad) {\n this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n let spec = { listRef: this.list, trackRef: this.track, ...this.props };\n this.updateState(spec, true, () => {\n this.adaptHeight();\n this.props.autoplay && this.autoPlay(\"update\");\n });\n if (this.props.lazyLoad === \"progressive\") {\n this.lazyLoadTimer = setInterval(this.progressiveLazyLoad, 1000);\n }\n this.ro = new ResizeObserver(() => {\n if (this.state.animating) {\n this.onWindowResized(false); // don't set trackStyle hence don't break animation\n this.callbackTimers.push(\n setTimeout(() => this.onWindowResized(), this.props.speed)\n );\n } else {\n this.onWindowResized();\n }\n });\n this.ro.observe(this.list);\n document.querySelectorAll &&\n Array.prototype.forEach.call(\n document.querySelectorAll(\".slick-slide\"),\n slide => {\n slide.onfocus = this.props.pauseOnFocus ? this.onSlideFocus : null;\n slide.onblur = this.props.pauseOnFocus ? this.onSlideBlur : null;\n }\n );\n if (window.addEventListener) {\n window.addEventListener(\"resize\", this.onWindowResized);\n } else {\n window.attachEvent(\"onresize\", this.onWindowResized);\n }\n };\n componentWillUnmount = () => {\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\n didPropsChange(prevProps) {\n let setTrackStyle = false;\n for (let key of Object.keys(this.props)) {\n if (!prevProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n if (\n typeof prevProps[key] === \"object\" ||\n typeof prevProps[key] === \"function\"\n ) {\n continue;\n }\n if (prevProps[key] !== this.props[key]) {\n setTrackStyle = true;\n break;\n }\n }\n return (\n setTrackStyle ||\n React.Children.count(this.props.children) !==\n React.Children.count(prevProps.children)\n );\n }\n\n componentDidUpdate = prevProps => {\n this.checkImagesLoad();\n this.props.onReInit && this.props.onReInit();\n if (this.props.lazyLoad) {\n let slidesToLoad = getOnDemandLazySlides({\n ...this.props,\n ...this.state\n });\n if (slidesToLoad.length > 0) {\n this.setState(prevState => ({\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n }));\n if (this.props.onLazyLoad) {\n this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n // if (this.props.onLazyLoad) {\n // this.props.onLazyLoad([leftMostSlide])\n // }\n this.adaptHeight();\n let spec = {\n listRef: this.list,\n trackRef: this.track,\n ...this.props,\n ...this.state\n };\n const setTrackStyle = this.didPropsChange(prevProps);\n setTrackStyle &&\n this.updateState(spec, setTrackStyle, () => {\n if (\n this.state.currentSlide >= React.Children.count(this.props.children)\n ) {\n this.changeSlide({\n message: \"index\",\n index:\n React.Children.count(this.props.children) -\n this.props.slidesToShow,\n currentSlide: this.state.currentSlide\n });\n }\n if (this.props.autoplay) {\n this.autoPlay(\"update\");\n } else {\n this.pause(\"paused\");\n }\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 && this.track.node);\n // prevent warning: setting state on unmounted component (server side rendering)\n if (!isTrackMounted) return;\n let spec = {\n listRef: this.list,\n trackRef: this.track,\n ...this.props,\n ...this.state\n };\n this.updateState(spec, setTrackStyle, () => {\n if (this.props.autoplay) this.autoPlay(\"update\");\n else 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 let updatedState = initializedState(spec);\n spec = { ...spec, ...updatedState, slideIndex: updatedState.currentSlide };\n let targetLeft = getTrackLeft(spec);\n spec = { ...spec, left: targetLeft };\n let trackStyle = getTrackCSS(spec);\n if (\n setTrackStyle ||\n React.Children.count(this.props.children) !==\n React.Children.count(spec.children)\n ) {\n updatedState[\"trackStyle\"] = trackStyle;\n }\n this.setState(updatedState, callback);\n };\n\n ssrInit = () => {\n if (this.props.variableWidth) {\n let trackWidth = 0,\n trackLeft = 0;\n let childrenWidths = [];\n let preClones = getPreClones({\n ...this.props,\n ...this.state,\n slideCount: this.props.children.length\n });\n let postClones = getPostClones({\n ...this.props,\n ...this.state,\n slideCount: this.props.children.length\n });\n this.props.children.forEach(child => {\n childrenWidths.push(child.props.style.width);\n trackWidth += child.props.style.width;\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.state.currentSlide; i++) {\n trackLeft += childrenWidths[i];\n }\n let trackStyle = {\n width: trackWidth + \"px\",\n left: -trackLeft + \"px\"\n };\n if (this.props.centerMode) {\n let currentWidth = `${childrenWidths[this.state.currentSlide]}px`;\n trackStyle.left = `calc(${trackStyle.left} + (100% - ${currentWidth}) / 2 ) `;\n }\n return {\n trackStyle\n };\n }\n let childrenCount = React.Children.count(this.props.children);\n const spec = { ...this.props, ...this.state, slideCount: childrenCount };\n let slideCount = getPreClones(spec) + getPostClones(spec) + childrenCount;\n let trackWidth = (100 / this.props.slidesToShow) * slideCount;\n let slideWidth = 100 / slideCount;\n let trackLeft =\n (-slideWidth *\n (getPreClones(spec) + this.state.currentSlide) *\n trackWidth) /\n 100;\n if (this.props.centerMode) {\n trackLeft += (100 - (slideWidth * trackWidth) / 100) / 2;\n }\n let trackStyle = {\n width: trackWidth + \"%\",\n left: trackLeft + \"%\"\n };\n return {\n slideWidth: slideWidth + \"%\",\n trackStyle: trackStyle\n };\n };\n checkImagesLoad = () => {\n let images =\n (this.list &&\n this.list.querySelectorAll &&\n this.list.querySelectorAll(\".slick-slide img\")) ||\n [];\n let imagesCount = images.length,\n loadedCount = 0;\n Array.prototype.forEach.call(images, image => {\n const handler = () =>\n ++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 = e => {\n prevClickHandler(e);\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(\n setTimeout(this.onWindowResized, this.props.speed)\n );\n };\n } else {\n image.onload = handler;\n image.onerror = () => {\n handler();\n this.props.onLazyLoadError && this.props.onLazyLoadError();\n };\n }\n }\n });\n };\n progressiveLazyLoad = () => {\n let slidesToLoad = [];\n const spec = { ...this.props, ...this.state };\n for (\n let index = this.state.currentSlide;\n index < this.state.slideCount + getPostClones(spec);\n index++\n ) {\n if (this.state.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n for (\n let index = this.state.currentSlide - 1;\n index >= -getPreClones(spec);\n index--\n ) {\n if (this.state.lazyLoadedList.indexOf(index) < 0) {\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 if (this.props.onLazyLoad) {\n this.props.onLazyLoad(slidesToLoad);\n }\n } else {\n if (this.lazyLoadTimer) {\n clearInterval(this.lazyLoadTimer);\n delete this.lazyLoadTimer;\n }\n }\n };\n slideHandler = (index, dontAnimate = false) => {\n const {\n asNavFor,\n beforeChange,\n onLazyLoad,\n speed,\n afterChange\n } = this.props;\n // capture currentslide before state is updated\n const currentSlide = this.state.currentSlide;\n let { state, nextState } = slideHandler({\n index,\n ...this.props,\n ...this.state,\n trackRef: this.track,\n useCSS: this.props.useCSS && !dontAnimate\n });\n if (!state) return;\n beforeChange && beforeChange(currentSlide, state.currentSlide);\n let slidesToLoad = state.lazyLoadedList.filter(\n value => this.state.lazyLoadedList.indexOf(value) < 0\n );\n onLazyLoad && slidesToLoad.length > 0 && onLazyLoad(slidesToLoad);\n if (!this.props.waitForAnimate && this.animationEndCallback) {\n clearTimeout(this.animationEndCallback);\n afterChange && afterChange(currentSlide);\n delete this.animationEndCallback;\n }\n this.setState(state, () => {\n // asNavForIndex check is to avoid recursive calls of slideHandler in waitForAnimate=false mode\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(\n setTimeout(() => this.setState({ animating }), 10)\n );\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.state };\n let 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.autoPlay(\"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 let dir = keyHandler(e, this.props.accessibility, this.props.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.props.verticalSwiping) {\n this.disableBodyScroll();\n }\n let state = swipeStart(e, this.props.swipe, this.props.draggable);\n state !== \"\" && this.setState(state);\n };\n swipeMove = e => {\n let state = swipeMove(e, {\n ...this.props,\n ...this.state,\n trackRef: this.track,\n listRef: this.list,\n slideIndex: this.state.currentSlide\n });\n if (!state) return;\n if (state[\"swiping\"]) {\n this.clickable = false;\n }\n this.setState(state);\n };\n swipeEnd = e => {\n let state = swipeEnd(e, {\n ...this.props,\n ...this.state,\n trackRef: this.track,\n listRef: this.list,\n slideIndex: this.state.currentSlide\n });\n if (!state) return;\n let 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 };\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(\n setTimeout(() => this.changeSlide({ message: \"previous\" }), 0)\n );\n };\n slickNext = () => {\n this.callbackTimers.push(\n setTimeout(() => this.changeSlide({ message: \"next\" }), 0)\n );\n };\n slickGoTo = (slide, dontAnimate = false) => {\n slide = Number(slide);\n if (isNaN(slide)) return \"\";\n this.callbackTimers.push(\n setTimeout(\n () =>\n this.changeSlide(\n {\n message: \"index\",\n index: slide,\n currentSlide: this.state.currentSlide\n },\n dontAnimate\n ),\n 0\n )\n );\n };\n play = () => {\n var nextIndex;\n if (this.props.rtl) {\n nextIndex = this.state.currentSlide - this.props.slidesToScroll;\n } else {\n if (canGoNext({ ...this.props, ...this.state })) {\n nextIndex = this.state.currentSlide + this.props.slidesToScroll;\n } else {\n return false;\n }\n }\n\n this.slideHandler(nextIndex);\n };\n\n autoPlay = playType => {\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n }\n const autoplaying = this.state.autoplaying;\n if (playType === \"update\") {\n if (\n autoplaying === \"hovered\" ||\n autoplaying === \"focused\" ||\n autoplaying === \"paused\"\n ) {\n return;\n }\n } else if (playType === \"leave\") {\n if (autoplaying === \"paused\" || autoplaying === \"focused\") {\n return;\n }\n } else if (playType === \"blur\") {\n if (autoplaying === \"paused\" || autoplaying === \"hovered\") {\n return;\n }\n }\n this.autoplayTimer = setInterval(this.play, this.props.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.state.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 }\n } else {\n // pauseType is 'hovered'\n if (autoplaying === \"playing\") {\n this.setState({ autoplaying: \"hovered\" });\n }\n }\n };\n onDotsOver = () => this.props.autoplay && this.pause(\"hovered\");\n onDotsLeave = () =>\n this.props.autoplay &&\n this.state.autoplaying === \"hovered\" &&\n this.autoPlay(\"leave\");\n onTrackOver = () => this.props.autoplay && this.pause(\"hovered\");\n onTrackLeave = () =>\n this.props.autoplay &&\n this.state.autoplaying === \"hovered\" &&\n this.autoPlay(\"leave\");\n onSlideFocus = () => this.props.autoplay && this.pause(\"focused\");\n onSlideBlur = () =>\n this.props.autoplay &&\n this.state.autoplaying === \"focused\" &&\n this.autoPlay(\"blur\");\n\n render = () => {\n var className = classnames(\n \"slick-slider\",\n this.props.className,\n this.props.classes?.slider,\n {\n \"slick-vertical\": this.props.vertical,\n \"slick-initialized\": true\n }\n );\n let spec = { ...this.props, ...this.state };\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 \"omitLazyForSlides\",\n \"classes\"\n ]);\n const { pauseOnHover } = this.props;\n trackProps = {\n ...trackProps,\n onMouseEnter: pauseOnHover ? this.onTrackOver : null,\n onMouseLeave: pauseOnHover ? this.onTrackLeave : null,\n onMouseOver: pauseOnHover ? this.onTrackOver : null,\n focusOnSelect:\n this.props.focusOnSelect && this.clickable ? this.selectHandler : null\n };\n\n var dots;\n if (\n this.props.dots === true &&\n this.state.slideCount >= this.props.slidesToShow\n ) {\n let dotProps = extractObject(spec, [\n \"dotsClass\",\n \"slideCount\",\n \"slidesToShow\",\n \"currentSlide\",\n \"slidesToScroll\",\n \"clickHandler\",\n \"children\",\n \"customPaging\",\n \"infinite\",\n \"appendDots\",\n \"classes\"\n ]);\n const { pauseOnDotsHover } = this.props;\n dotProps = {\n ...dotProps,\n clickHandler: this.changeSlide,\n onMouseEnter: pauseOnDotsHover ? this.onDotsLeave : null,\n onMouseOver: pauseOnDotsHover ? this.onDotsOver : null,\n onMouseLeave: pauseOnDotsHover ? this.onDotsLeave : null\n };\n dots = ;\n }\n\n var prevArrow, nextArrow;\n let arrowProps = extractObject(spec, [\n \"infinite\",\n \"centerMode\",\n \"currentSlide\",\n \"slideCount\",\n \"slidesToShow\",\n \"prevArrow\",\n \"nextArrow\",\n \"classes\"\n ]);\n arrowProps.clickHandler = this.changeSlide;\n\n if (this.props.arrows) {\n prevArrow = ;\n nextArrow = ;\n }\n\n var verticalHeightStyle = null;\n\n if (this.props.vertical) {\n verticalHeightStyle = {\n height: this.state.listHeight\n };\n }\n\n var centerPaddingStyle = null;\n\n if (this.props.vertical === false) {\n if (this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: \"0px \" + this.props.centerPadding\n };\n }\n } else {\n if (this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: this.props.centerPadding + \" 0px\"\n };\n }\n }\n\n const listStyle = { ...verticalHeightStyle, ...centerPaddingStyle };\n const touchMove = this.props.touchMove;\n let listProps = {\n className: classnames(this.props.classes?.list, \"slick-list\"),\n style: listStyle,\n onClick: this.clickHandler,\n onMouseDown: touchMove ? this.swipeStart : null,\n onMouseMove: this.state.dragging && touchMove ? this.swipeMove : null,\n onMouseUp: touchMove ? this.swipeEnd : null,\n onMouseLeave: this.state.dragging && touchMove ? this.swipeEnd : null,\n onTouchStart: touchMove ? this.swipeStart : null,\n onTouchMove: this.state.dragging && touchMove ? this.swipeMove : null,\n onTouchEnd: touchMove ? this.touchEnd : null,\n onTouchCancel: this.state.dragging && touchMove ? this.swipeEnd : null,\n onKeyDown: this.props.accessibility ? this.keyHandler : null\n };\n\n let innerSliderProps = {\n className: className,\n dir: \"ltr\",\n style: this.props.style\n };\n\n if (this.props.unslick) {\n listProps = { className: \"slick-list\" };\n innerSliderProps = { className };\n }\n return (\n
\n {!this.props.unslick ? prevArrow : \"\"}\n
\n \n {this.props.children}\n \n
\n {!this.props.unslick ? nextArrow : \"\"}\n {!this.props.unslick ? dots : \"\"}\n
\n );\n };\n}\n","const initialState = {\n animating: false,\n autoplaying: null,\n currentDirection: 0,\n currentLeft: null,\n currentSlide: 0,\n direction: 1,\n dragging: false,\n edgeDragged: false,\n initialized: false,\n lazyLoadedList: [],\n listHeight: null,\n listWidth: null,\n scrolling: false,\n slideCount: null,\n slideHeight: null,\n slideWidth: null,\n swipeLeft: null,\n swiped: false, // used by swipeEvent. differentites between touch and swipe.\n swiping: false,\n touchObject: { startX: 0, startY: 0, curX: 0, curY: 0 },\n trackStyle: {},\n trackWidth: 0,\n targetSlide: 0\n};\n\nexport default initialState;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React from \"react\";\n\nexport function clamp(number, lowerBound, upperBound) {\n return Math.max(lowerBound, Math.min(number, upperBound));\n}\n\nexport const safePreventDefault = event => {\n const passiveEvents = [\"onTouchStart\", \"onTouchMove\", \"onWheel\"];\n if (!passiveEvents.includes(event._reactName)) {\n event.preventDefault();\n }\n};\n\nexport const getOnDemandLazySlides = spec => {\n let onDemandSlides = [];\n let startIndex = lazyStartIndex(spec);\n let endIndex = lazyEndIndex(spec);\n for (let slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n return onDemandSlides;\n};\n\n// return list of slides that need to be present\nexport const getRequiredLazySlides = spec => {\n let requiredSlides = [];\n let startIndex = lazyStartIndex(spec);\n let endIndex = lazyEndIndex(spec);\n for (let slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n return requiredSlides;\n};\n\n// startIndex that needs to be present\nexport const lazyStartIndex = spec => {\n let startIndex = spec.currentSlide - lazySlidesOnLeft(spec);\n if (spec.lazyLoad === \"anticipated\") startIndex -= 1;\n return startIndex;\n};\nexport const lazyEndIndex = spec => {\n let endIndex = spec.currentSlide + lazySlidesOnRight(spec);\n if (spec.lazyLoad === \"anticipated\") endIndex += 1;\n return endIndex;\n};\nexport const lazySlidesOnLeft = spec =>\n spec.centerMode\n ? Math.floor(spec.slidesToShow / 2) +\n (parseInt(spec.centerPadding) > 0 ? 1 : 0)\n : 0;\nexport const lazySlidesOnRight = spec =>\n spec.centerMode\n ? Math.floor((spec.slidesToShow - 1) / 2) +\n 1 +\n (parseInt(spec.centerPadding) > 0 ? 1 : 0)\n : spec.slidesToShow;\n\n// get width of an element\nexport const getWidth = elem => (elem && elem.offsetWidth) || 0;\nexport const getHeight = elem => (elem && elem.offsetHeight) || 0;\nexport const getSwipeDirection = (touchObject, verticalSwiping = false) => {\n var xDist, yDist, r, swipeAngle;\n xDist = touchObject.startX - touchObject.curX;\n yDist = touchObject.startY - touchObject.curY;\n r = Math.atan2(yDist, xDist);\n swipeAngle = Math.round((r * 180) / Math.PI);\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n if (\n (swipeAngle <= 45 && swipeAngle >= 0) ||\n (swipeAngle <= 360 && swipeAngle >= 315)\n ) {\n return \"left\";\n }\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return \"right\";\n }\n if (verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return \"up\";\n } else {\n return \"down\";\n }\n }\n\n return \"vertical\";\n};\n\n// whether or not we can go next\nexport const canGoNext = spec => {\n let canGo = true;\n if (!spec.infinite) {\n if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n canGo = false;\n } else if (\n spec.slideCount <= spec.slidesToShow ||\n spec.currentSlide >= spec.slideCount - spec.slidesToShow\n ) {\n canGo = false;\n }\n }\n return canGo;\n};\n\n// given an object and a list of keys, return new object with given keys\nexport const extractObject = (spec, keys) => {\n let newObject = {};\n keys.forEach(key => (newObject[key] = spec[key]));\n return newObject;\n};\n\n// get initialized state\nexport const initializedState = spec => {\n // spec also contains listRef, trackRef\n let slideCount = React.Children.count(spec.children);\n const listNode = spec.listRef;\n let listWidth = Math.ceil(getWidth(listNode));\n const trackNode = spec.trackRef && spec.trackRef.node;\n let trackWidth = Math.ceil(getWidth(trackNode));\n let slideWidth;\n if (!spec.vertical) {\n let centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n if (\n typeof spec.centerPadding === \"string\" &&\n spec.centerPadding.slice(-1) === \"%\"\n ) {\n centerPaddingAdj *= listWidth / 100;\n }\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n let slideHeight =\n listNode && getHeight(listNode.querySelector('[data-index=\"0\"]'));\n let listHeight = slideHeight * spec.slidesToShow;\n let currentSlide =\n spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n let lazyLoadedList = spec.lazyLoadedList || [];\n let slidesToLoad = getOnDemandLazySlides({\n ...spec,\n currentSlide,\n lazyLoadedList\n });\n lazyLoadedList = lazyLoadedList.concat(slidesToLoad);\n\n let state = {\n slideCount,\n slideWidth,\n listWidth,\n trackWidth,\n currentSlide,\n slideHeight,\n listHeight,\n lazyLoadedList\n };\n\n if (spec.autoplaying === null && spec.autoplay) {\n state[\"autoplaying\"] = \"playing\";\n }\n\n return state;\n};\n\nexport const slideHandler = spec => {\n const {\n waitForAnimate,\n animating,\n fade,\n infinite,\n index,\n slideCount,\n lazyLoad,\n currentSlide,\n centerMode,\n slidesToScroll,\n slidesToShow,\n useCSS\n } = spec;\n let { lazyLoadedList } = spec;\n if (waitForAnimate && animating) return {};\n let animationSlide = index,\n finalSlide,\n animationLeft,\n finalLeft;\n let state = {},\n nextState = {};\n const targetSlide = infinite ? index : clamp(index, 0, slideCount - 1);\n if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList = lazyLoadedList.concat(animationSlide);\n }\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList,\n targetSlide: animationSlide\n };\n nextState = { animating: false, targetSlide: animationSlide };\n } else {\n finalSlide = animationSlide;\n if (animationSlide < 0) {\n finalSlide = animationSlide + slideCount;\n if (!infinite) finalSlide = 0;\n else if (slideCount % slidesToScroll !== 0)\n finalSlide = slideCount - (slideCount % slidesToScroll);\n } else if (!canGoNext(spec) && animationSlide > currentSlide) {\n animationSlide = finalSlide = currentSlide;\n } else if (centerMode && animationSlide >= slideCount) {\n animationSlide = infinite ? slideCount : slideCount - 1;\n finalSlide = infinite ? 0 : slideCount - 1;\n } else if (animationSlide >= slideCount) {\n finalSlide = animationSlide - slideCount;\n if (!infinite) finalSlide = slideCount - slidesToShow;\n else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n }\n\n if (!infinite && animationSlide + slidesToShow >= slideCount) {\n finalSlide = slideCount - slidesToShow;\n }\n\n animationLeft = getTrackLeft({ ...spec, slideIndex: animationSlide });\n finalLeft = getTrackLeft({ ...spec, slideIndex: finalSlide });\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n if (lazyLoad) {\n lazyLoadedList = lazyLoadedList.concat(\n getOnDemandLazySlides({ ...spec, currentSlide: animationSlide })\n );\n }\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS({ ...spec, left: finalLeft }),\n lazyLoadedList,\n targetSlide\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS({ ...spec, left: animationLeft }),\n lazyLoadedList,\n targetSlide\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS({ ...spec, left: finalLeft }),\n swipeLeft: null,\n targetSlide\n };\n }\n }\n return { state, nextState };\n};\n\nexport const changeSlide = (spec, options) => {\n var indexOffset, previousInt, slideOffset, unevenOffset, targetSlide;\n const {\n slidesToScroll,\n slidesToShow,\n slideCount,\n currentSlide,\n targetSlide: previousTargetSlide,\n lazyLoad,\n infinite\n } = spec;\n unevenOffset = slideCount % slidesToScroll !== 0;\n indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n if (options.message === \"previous\") {\n slideOffset =\n indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\n if (lazyLoad && !infinite) {\n previousInt = currentSlide - slideOffset;\n targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n }\n if (!infinite) {\n targetSlide = previousTargetSlide - slidesToScroll;\n }\n } else if (options.message === \"next\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n targetSlide = currentSlide + slideOffset;\n if (lazyLoad && !infinite) {\n targetSlide =\n ((currentSlide + slidesToScroll) % slideCount) + indexOffset;\n }\n if (!infinite) {\n targetSlide = previousTargetSlide + slidesToScroll;\n }\n } else if (options.message === \"dots\") {\n // Click on dots\n targetSlide = options.index * options.slidesToScroll;\n } else if (options.message === \"children\") {\n // Click on the slides\n targetSlide = options.index;\n if (infinite) {\n let direction = siblingDirection({ ...spec, targetSlide });\n if (targetSlide > options.currentSlide && direction === \"left\") {\n targetSlide = targetSlide - slideCount;\n } else if (targetSlide < options.currentSlide && direction === \"right\") {\n targetSlide = targetSlide + slideCount;\n }\n }\n } else if (options.message === \"index\") {\n targetSlide = Number(options.index);\n }\n return targetSlide;\n};\nexport const keyHandler = (e, accessibility, rtl) => {\n if (e.target.tagName.match(\"TEXTAREA|INPUT|SELECT\") || !accessibility)\n return \"\";\n if (e.keyCode === 37) return rtl ? \"next\" : \"previous\";\n if (e.keyCode === 39) return rtl ? \"previous\" : \"next\";\n return \"\";\n};\n\nexport const swipeStart = (e, swipe, draggable) => {\n e.target.tagName === \"IMG\" && safePreventDefault(e);\n if (!swipe || (!draggable && e.type.indexOf(\"mouse\") !== -1)) return \"\";\n return {\n dragging: true,\n touchObject: {\n startX: e.touches ? e.touches[0].pageX : e.clientX,\n startY: e.touches ? e.touches[0].pageY : e.clientY,\n curX: e.touches ? e.touches[0].pageX : e.clientX,\n curY: e.touches ? e.touches[0].pageY : e.clientY\n }\n };\n};\nexport const swipeMove = (e, spec) => {\n // spec also contains, trackRef and slideIndex\n const {\n scrolling,\n animating,\n vertical,\n swipeToSlide,\n verticalSwiping,\n rtl,\n currentSlide,\n edgeFriction,\n edgeDragged,\n onEdge,\n swiped,\n swiping,\n slideCount,\n slidesToScroll,\n infinite,\n touchObject,\n swipeEvent,\n listHeight,\n listWidth\n } = spec;\n if (scrolling) return;\n if (animating) return safePreventDefault(e);\n if (vertical && swipeToSlide && verticalSwiping) safePreventDefault(e);\n let swipeLeft,\n state = {};\n let curLeft = getTrackLeft(spec);\n touchObject.curX = e.touches ? e.touches[0].pageX : e.clientX;\n touchObject.curY = e.touches ? e.touches[0].pageY : e.clientY;\n touchObject.swipeLength = Math.round(\n Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2))\n );\n let verticalSwipeLength = Math.round(\n Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2))\n );\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return { scrolling: true };\n }\n if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n let positionOffset =\n (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n if (verticalSwiping)\n positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n\n let dotCount = Math.ceil(slideCount / slidesToScroll);\n let swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n let touchSwipeLength = touchObject.swipeLength;\n if (!infinite) {\n if (\n (currentSlide === 0 &&\n (swipeDirection === \"right\" || swipeDirection === \"down\")) ||\n (currentSlide + 1 >= dotCount &&\n (swipeDirection === \"left\" || swipeDirection === \"up\")) ||\n (!canGoNext(spec) &&\n (swipeDirection === \"left\" || swipeDirection === \"up\"))\n ) {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state[\"edgeDragged\"] = true;\n }\n }\n }\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state[\"swiped\"] = true;\n }\n if (!vertical) {\n if (!rtl) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n } else {\n swipeLeft = curLeft - touchSwipeLength * positionOffset;\n }\n } else {\n swipeLeft =\n curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n }\n if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n state = {\n ...state,\n touchObject,\n swipeLeft,\n trackStyle: getTrackCSS({ ...spec, left: swipeLeft })\n };\n if (\n Math.abs(touchObject.curX - touchObject.startX) <\n Math.abs(touchObject.curY - touchObject.startY) * 0.8\n ) {\n return state;\n }\n if (touchObject.swipeLength > 10) {\n state[\"swiping\"] = true;\n safePreventDefault(e);\n }\n return state;\n};\nexport const swipeEnd = (e, spec) => {\n const {\n dragging,\n swipe,\n touchObject,\n listWidth,\n touchThreshold,\n verticalSwiping,\n listHeight,\n swipeToSlide,\n scrolling,\n onSwipe,\n targetSlide,\n currentSlide,\n infinite\n } = spec;\n if (!dragging) {\n if (swipe) safePreventDefault(e);\n return {};\n }\n let minSwipe = verticalSwiping\n ? listHeight / touchThreshold\n : listWidth / touchThreshold;\n let swipeDirection = getSwipeDirection(touchObject, verticalSwiping);\n // reset the state of touch related state variables.\n let state = {\n dragging: false,\n edgeDragged: false,\n scrolling: false,\n swiping: false,\n swiped: false,\n swipeLeft: null,\n touchObject: {}\n };\n if (scrolling) {\n return state;\n }\n if (!touchObject.swipeLength) {\n return state;\n }\n if (touchObject.swipeLength > minSwipe) {\n safePreventDefault(e);\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n let slideCount, newSlide;\n let activeSlide = infinite ? currentSlide : targetSlide;\n switch (swipeDirection) {\n case \"left\":\n case \"up\":\n newSlide = activeSlide + getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 0;\n break;\n case \"right\":\n case \"down\":\n newSlide = activeSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 1;\n break;\n default:\n slideCount = activeSlide;\n }\n state[\"triggerSlideHandler\"] = slideCount;\n } else {\n // Adjust the track back to it's original position.\n let currentLeft = getTrackLeft(spec);\n state[\"trackStyle\"] = getTrackAnimateCSS({ ...spec, left: currentLeft });\n }\n return state;\n};\nexport const getNavigableIndexes = spec => {\n let max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n let breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n let counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n let indexes = [];\n while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n return indexes;\n};\nexport const checkNavigable = (spec, index) => {\n const navigables = getNavigableIndexes(spec);\n let prevNavigable = 0;\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (let n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n prevNavigable = navigables[n];\n }\n }\n return index;\n};\nexport const getSlideCount = spec => {\n const centerOffset = spec.centerMode\n ? spec.slideWidth * Math.floor(spec.slidesToShow / 2)\n : 0;\n if (spec.swipeToSlide) {\n let swipedSlide;\n const slickList = spec.listRef;\n const slides =\n (slickList.querySelectorAll &&\n slickList.querySelectorAll(\".slick-slide\")) ||\n [];\n Array.from(slides).every(slide => {\n if (!spec.vertical) {\n if (\n slide.offsetLeft - centerOffset + getWidth(slide) / 2 >\n spec.swipeLeft * -1\n ) {\n swipedSlide = slide;\n return false;\n }\n } else {\n if (slide.offsetTop + getHeight(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n }\n\n return true;\n });\n\n if (!swipedSlide) {\n return 0;\n }\n const currentIndex =\n spec.rtl === true\n ? spec.slideCount - spec.currentSlide\n : spec.currentSlide;\n const slidesTraversed =\n Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n return slidesTraversed;\n } else {\n return spec.slidesToScroll;\n }\n};\n\nexport const checkSpecKeys = (spec, keysArray) =>\n keysArray.reduce((value, key) => value && spec.hasOwnProperty(key), true)\n ? null\n : console.error(\"Keys Missing:\", spec);\n\nexport const getTrackCSS = spec => {\n checkSpecKeys(spec, [\n \"left\",\n \"variableWidth\",\n \"slideCount\",\n \"slidesToShow\",\n \"slideWidth\"\n ]);\n let trackWidth, trackHeight;\n const trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n let style = {\n opacity: 1,\n transition: \"\",\n WebkitTransition: \"\"\n };\n if (spec.useTransform) {\n let WebkitTransform = !spec.vertical\n ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\"\n : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n let transform = !spec.vertical\n ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\"\n : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n let msTransform = !spec.vertical\n ? \"translateX(\" + spec.left + \"px)\"\n : \"translateY(\" + spec.left + \"px)\";\n style = {\n ...style,\n WebkitTransform,\n transform,\n msTransform\n };\n } else {\n if (spec.vertical) {\n style[\"top\"] = spec.left;\n } else {\n style[\"left\"] = spec.left;\n }\n }\n if (spec.fade) style = { opacity: 1 };\n if (trackWidth) style.width = trackWidth;\n if (trackHeight) style.height = trackHeight;\n\n // Fallback for IE8\n if (window && !window.addEventListener && window.attachEvent) {\n if (!spec.vertical) {\n style.marginLeft = spec.left + \"px\";\n } else {\n style.marginTop = spec.left + \"px\";\n }\n }\n\n return style;\n};\nexport const getTrackAnimateCSS = spec => {\n checkSpecKeys(spec, [\n \"left\",\n \"variableWidth\",\n \"slideCount\",\n \"slidesToShow\",\n \"slideWidth\",\n \"speed\",\n \"cssEase\"\n ]);\n let style = getTrackCSS(spec);\n // useCSS is true by default so it can be undefined\n if (spec.useTransform) {\n style.WebkitTransition =\n \"-webkit-transform \" + spec.speed + \"ms \" + spec.cssEase;\n style.transition = \"transform \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n if (spec.vertical) {\n style.transition = \"top \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n style.transition = \"left \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n return style;\n};\nexport const getTrackLeft = spec => {\n if (spec.unslick) {\n return 0;\n }\n\n checkSpecKeys(spec, [\n \"slideIndex\",\n \"trackRef\",\n \"infinite\",\n \"centerMode\",\n \"slideCount\",\n \"slidesToShow\",\n \"slidesToScroll\",\n \"slideWidth\",\n \"listWidth\",\n \"variableWidth\",\n \"slideHeight\"\n ]);\n\n const {\n slideIndex,\n trackRef,\n infinite,\n centerMode,\n slideCount,\n slidesToShow,\n slidesToScroll,\n slideWidth,\n listWidth,\n variableWidth,\n slideHeight,\n fade,\n vertical\n } = spec;\n\n var slideOffset = 0;\n var targetLeft;\n var targetSlide;\n var verticalOffset = 0;\n\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n\n let slidesToOffset = 0;\n if (infinite) {\n slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area\n // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children\n if (\n slideCount % slidesToScroll !== 0 &&\n slideIndex + slidesToScroll > slideCount\n ) {\n slidesToOffset = -(slideIndex > slideCount\n ? slidesToShow - (slideIndex - slideCount)\n : slideCount % slidesToScroll);\n }\n // shift current slide to center of the frame\n if (centerMode) {\n slidesToOffset += parseInt(slidesToShow / 2);\n }\n } else {\n if (\n slideCount % slidesToScroll !== 0 &&\n slideIndex + slidesToScroll > slideCount\n ) {\n slidesToOffset = slidesToShow - (slideCount % slidesToScroll);\n }\n if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\n }\n }\n slideOffset = slidesToOffset * slideWidth;\n verticalOffset = slidesToOffset * slideHeight;\n\n if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n\n if (variableWidth === true) {\n var targetSlideIndex;\n const trackElem = trackRef && trackRef.node;\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n if (centerMode === true) {\n targetSlideIndex = infinite\n ? slideIndex + getPreClones(spec)\n : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n for (let slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -=\n trackElem &&\n trackElem.children[slide] &&\n trackElem.children[slide].offsetWidth;\n }\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n\n return targetLeft;\n};\n\nexport const getPreClones = spec => {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\n\nexport const getPostClones = spec => {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n return spec.slideCount;\n};\n\nexport const getTotalSlides = spec =>\n spec.slideCount === 1\n ? 1\n : getPreClones(spec) + spec.slideCount + getPostClones(spec);\nexport const siblingDirection = spec => {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return \"left\";\n }\n return \"right\";\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return \"right\";\n }\n return \"left\";\n }\n};\n\nexport const slidesOnRight = ({\n slidesToShow,\n centerMode,\n rtl,\n centerPadding\n}) => {\n // returns no of slides on the right of active slide\n if (centerMode) {\n let right = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) right += 1;\n if (rtl && slidesToShow % 2 === 0) right += 1;\n return right;\n }\n if (rtl) {\n return 0;\n }\n return slidesToShow - 1;\n};\n\nexport const slidesOnLeft = ({\n slidesToShow,\n centerMode,\n rtl,\n centerPadding\n}) => {\n // returns no of slides on the left of active slide\n if (centerMode) {\n let left = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) left += 1;\n if (!rtl && slidesToShow % 2 === 0) left += 1;\n return left;\n }\n if (rtl) {\n return slidesToShow - 1;\n }\n return 0;\n};\n\nexport const canUseDOM = () =>\n !!(\n typeof window !== \"undefined\" &&\n window.document &&\n window.document.createElement\n );\n","\"use strict\";\n\nimport React from \"react\";\nimport classnames from \"classnames\";\nimport {\n lazyStartIndex,\n lazyEndIndex,\n getPreClones\n} from \"./utils/innerSliderUtils\";\n\n// given specifications/props for a slide, fetch all the classes that need to be applied to the slide\nconst getSlideClasses = spec => {\n let slickActive, slickCenter, slickCloned;\n let centerOffset, index;\n\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n slickCloned = index < 0 || index >= spec.slideCount;\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\n if (\n index > spec.currentSlide - centerOffset - 1 &&\n index <= spec.currentSlide + centerOffset\n ) {\n slickActive = true;\n }\n } else {\n slickActive =\n spec.currentSlide <= index &&\n index < spec.currentSlide + spec.slidesToShow;\n }\n\n let focusedSlide;\n if (spec.targetSlide < 0) {\n focusedSlide = spec.targetSlide + spec.slideCount;\n } else if (spec.targetSlide >= spec.slideCount) {\n focusedSlide = spec.targetSlide - spec.slideCount;\n } else {\n focusedSlide = spec.targetSlide;\n }\n let slickCurrent = index === focusedSlide;\n return {\n \"slick-slide\": true,\n \"slick-active\": slickActive,\n \"slick-center\": slickCenter,\n \"slick-cloned\": slickCloned,\n [`slick-cloned ${spec.classes?.cloned}`]:\n slickCloned && spec.classes?.cloned,\n \"slick-current\": slickCurrent // dubious in case of RTL\n };\n};\n\nconst getSlideStyle = spec => {\n let style = {};\n\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth;\n }\n\n if (spec.fade) {\n style.position = \"relative\";\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight);\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth);\n }\n style.opacity = spec.currentSlide === spec.index ? 1 : 0;\n if (spec.useCSS) {\n style.transition =\n \"opacity \" +\n spec.speed +\n \"ms \" +\n spec.cssEase +\n \", \" +\n \"visibility \" +\n spec.speed +\n \"ms \" +\n spec.cssEase;\n }\n }\n\n return style;\n};\n\nconst getKey = (child, fallbackKey) => child.key || fallbackKey;\n\nconst shouldOmitLazy = (omitLazyForSlides = [], index) =>\n omitLazyForSlides.includes(index);\n\nconst renderSlides = spec => {\n let key;\n let slides = [];\n let preCloneSlides = [];\n let postCloneSlides = [];\n let childrenCount = React.Children.count(spec.children);\n let startIndex = lazyStartIndex(spec);\n let endIndex = lazyEndIndex(spec);\n\n React.Children.forEach(spec.children, (elem, index) => {\n let child;\n let childOnClickOptions = {\n message: \"children\",\n index: index,\n slidesToScroll: spec.slidesToScroll,\n currentSlide: spec.currentSlide\n };\n\n // in case of lazyLoad, whether or not we want to fetch the slide\n if (\n !spec.lazyLoad ||\n (spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0) ||\n shouldOmitLazy(spec.omitLazyForSlides, index)\n ) {\n child = elem;\n } else {\n child =
;\n }\n let childStyle = getSlideStyle({ ...spec, index });\n let slideClass = child.props.className || \"\";\n let slideClasses = getSlideClasses({ ...spec, index });\n // push a cloned element of the desired slide\n slides.push(\n React.cloneElement(child, {\n key: \"original\" + getKey(child, index),\n \"data-index\": index,\n className: classnames(slideClasses, slideClass, spec.classes?.slide),\n tabIndex: \"-1\",\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: { outline: \"none\", ...(child.props.style || {}), ...childStyle },\n onClick: e => {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })\n );\n\n // if slide needs to be precloned or postcloned\n if (spec.infinite && spec.fade === false) {\n let preCloneNo = childrenCount - index;\n if (\n preCloneNo <= getPreClones(spec) &&\n childrenCount !== spec.slidesToShow\n ) {\n key = -preCloneNo;\n if (key >= startIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses({ ...spec, index: key });\n preCloneSlides.push(\n React.cloneElement(child, {\n key: \"precloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: classnames(\n slideClasses,\n slideClass,\n spec.classes?.slide\n ),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: { ...(child.props.style || {}), ...childStyle },\n onClick: e => {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })\n );\n }\n\n if (childrenCount !== spec.slidesToShow) {\n key = childrenCount + index;\n if (key < endIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses({ ...spec, index: key });\n postCloneSlides.push(\n React.cloneElement(child, {\n key: \"postcloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: classnames(\n slideClasses,\n slideClass,\n spec.classes?.slide\n ),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: { ...(child.props.style || {}), ...childStyle },\n onClick: e => {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })\n );\n }\n }\n });\n\n if (spec.rtl) {\n return preCloneSlides.concat(slides, postCloneSlides).reverse();\n } else {\n return preCloneSlides.concat(slides, postCloneSlides);\n }\n};\n\nexport class Track extends React.PureComponent {\n node = null;\n\n handleRef = ref => {\n this.node = ref;\n };\n\n render() {\n const slides = renderSlides(this.props);\n const { onMouseEnter, onMouseOver, onMouseLeave } = this.props;\n const mouseEvents = { onMouseEnter, onMouseOver, onMouseLeave };\n return (\n \n {slides}\n
\n );\n }\n}\n","\"use strict\";\n\nimport React from \"react\";\nimport classnames from \"classnames\";\nimport { clamp } from \"./utils/innerSliderUtils\";\n\nconst getDotCount = spec => {\n let dots;\n\n if (spec.infinite) {\n dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n } else {\n dots =\n Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) +\n 1;\n }\n\n return dots;\n};\n\nexport class Dots extends React.PureComponent {\n clickHandler(options, 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 e.preventDefault();\n this.props.clickHandler(options);\n }\n render() {\n const {\n onMouseEnter,\n onMouseOver,\n onMouseLeave,\n infinite,\n slidesToScroll,\n slidesToShow,\n slideCount,\n currentSlide,\n classes\n } = this.props;\n let dotCount = getDotCount({\n slideCount,\n slidesToScroll,\n slidesToShow,\n infinite\n });\n\n const mouseEvents = { onMouseEnter, onMouseOver, onMouseLeave };\n let dots = [];\n for (let i = 0; i < dotCount; i++) {\n let _rightBound = (i + 1) * slidesToScroll - 1;\n let rightBound = infinite\n ? _rightBound\n : clamp(_rightBound, 0, slideCount - 1);\n let _leftBound = rightBound - (slidesToScroll - 1);\n let leftBound = infinite\n ? _leftBound\n : clamp(_leftBound, 0, slideCount - 1);\n\n let className = classnames(classes?.dot, {\n [classes?.activeDot\n ? `slick-active ${classes?.activeDot}`\n : \"slick-active\"]: infinite\n ? currentSlide >= leftBound && currentSlide <= rightBound\n : currentSlide === leftBound\n });\n\n let dotOptions = {\n message: \"dots\",\n index: i,\n slidesToScroll,\n currentSlide\n };\n\n let onClick = this.clickHandler.bind(this, dotOptions);\n dots = dots.concat(\n
  • \n {React.cloneElement(this.props.customPaging(i), { onClick })}\n
  • \n );\n }\n\n return React.cloneElement(this.props.appendDots(dots), {\n className: classnames(this.props.dotsClass, classes?.dots),\n ...mouseEvents\n });\n }\n}\n","\"use strict\";\n\nimport React from \"react\";\nimport classnames from \"classnames\";\nimport { canGoNext } from \"./utils/innerSliderUtils\";\n\nexport class PrevArrow extends React.PureComponent {\n clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n this.props.clickHandler(options, e);\n }\n render() {\n let prevClasses = { \"slick-arrow\": true, \"slick-prev\": true };\n let prevHandler = this.clickHandler.bind(this, { message: \"previous\" });\n\n if (\n !this.props.infinite &&\n (this.props.currentSlide === 0 ||\n this.props.slideCount <= this.props.slidesToShow)\n ) {\n prevClasses[\"slick-disabled\"] = true;\n prevClasses[this.props.classes?.disabled] = !!this.props.classes\n ?.disabled;\n prevHandler = null;\n }\n\n let prevArrowProps = {\n key: \"0\",\n \"data-role\": \"none\",\n className: classnames(\n prevClasses,\n this.props.classes?.arrow,\n this.props.classes?.prev\n ),\n style: { display: \"block\" },\n onClick: prevHandler\n };\n let customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n let prevArrow;\n\n if (this.props.prevArrow) {\n prevArrow = React.cloneElement(this.props.prevArrow, {\n ...prevArrowProps,\n ...customProps\n });\n } else {\n prevArrow = (\n \n );\n }\n\n return prevArrow;\n }\n}\n\nexport class NextArrow extends React.PureComponent {\n clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n this.props.clickHandler(options, e);\n }\n render() {\n let nextClasses = { \"slick-arrow\": true, \"slick-next\": true };\n let nextHandler = this.clickHandler.bind(this, { message: \"next\" });\n\n if (!canGoNext(this.props)) {\n nextClasses[\"slick-disabled\"] = true;\n nextClasses[this.props.classes?.disabled] = !!this.props.classes\n ?.disabled;\n nextHandler = null;\n }\n\n let nextArrowProps = {\n key: \"1\",\n \"data-role\": \"none\",\n className: classnames(\n nextClasses,\n this.props.classes?.arrow,\n this.props.classes?.next\n ),\n style: { display: \"block\" },\n onClick: nextHandler\n };\n let customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n let nextArrow;\n\n if (this.props.nextArrow) {\n nextArrow = React.cloneElement(this.props.nextArrow, {\n ...nextArrowProps,\n ...customProps\n });\n } else {\n nextArrow = (\n \n );\n }\n\n return nextArrow;\n }\n}\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","var camel2hyphen = require('string-convert/camel2hyphen');\n\nvar isDimension = function (feature) {\n var re = /[height|width]$/;\n return re.test(feature);\n};\n\nvar obj2mq = function (obj) {\n var mq = '';\n var features = Object.keys(obj);\n features.forEach(function (feature, index) {\n var value = obj[feature];\n feature = camel2hyphen(feature);\n // Add px to dimension features\n if (isDimension(feature) && typeof value === 'number') {\n value = value + 'px';\n }\n if (value === true) {\n mq += feature;\n } else if (value === false) {\n mq += 'not ' + feature;\n } else {\n mq += '(' + feature + ': ' + value + ')';\n }\n if (index < features.length-1) {\n mq += ' and '\n }\n });\n return mq;\n};\n\nvar json2mq = function (query) {\n var mq = '';\n if (typeof query === 'string') {\n return query;\n }\n // Handling array of media queries\n if (query instanceof Array) {\n query.forEach(function (q, index) {\n mq += obj2mq(q);\n if (index < query.length-1) {\n mq += ', '\n }\n });\n return mq;\n }\n // Handling single media query\n return obj2mq(query);\n};\n\nmodule.exports = json2mq;","var camel2hyphen = function (str) {\n return str\n .replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n })\n .toLowerCase();\n};\n\nmodule.exports = camel2hyphen;","import React from \"react\";\n\nlet defaultProps = {\n accessibility: true,\n adaptiveHeight: false,\n afterChange: null,\n appendDots: dots =>
      {dots}
    ,\n arrows: true,\n autoplay: false,\n autoplaySpeed: 3000,\n beforeChange: null,\n centerMode: false,\n centerPadding: \"50px\",\n className: \"\",\n cssEase: \"ease\",\n classes: {\n arrow: null,\n prev: null,\n next: null,\n slide: null,\n disabled: null,\n track: null,\n slider: null,\n list: null,\n dot: null,\n dots: null,\n activeDot: null,\n cloned: null\n },\n customPaging: i => ,\n dots: false,\n dotsClass: \"slick-dots\",\n draggable: true,\n easing: \"linear\",\n edgeFriction: 0.35,\n fade: false,\n focusOnSelect: false,\n infinite: true,\n initialSlide: 0,\n lazyLoad: null,\n nextArrow: null,\n onEdge: null,\n onInit: null,\n onLazyLoadError: null,\n onReInit: null,\n pauseOnDotsHover: false,\n pauseOnFocus: false,\n pauseOnHover: true,\n prevArrow: null,\n responsive: null,\n rows: 1,\n rtl: false,\n slide: \"div\",\n slidesPerRow: 1,\n slidesToScroll: 1,\n slidesToShow: 1,\n speed: 500,\n swipe: true,\n swipeEvent: null,\n swipeToSlide: false,\n touchMove: true,\n touchThreshold: 5,\n useCSS: true,\n useTransform: true,\n variableWidth: false,\n vertical: false,\n waitForAnimate: true\n};\n\nexport default defaultProps;\n","var MediaQueryDispatch = require('./MediaQueryDispatch');\nmodule.exports = new MediaQueryDispatch();\n","var MediaQuery = require('./MediaQuery');\nvar Util = require('./Util');\nvar each = Util.each;\nvar isFunction = Util.isFunction;\nvar isArray = Util.isArray;\n\n/**\n * Allows for registration of query handlers.\n * Manages the query handler's state and is responsible for wiring up browser events\n *\n * @constructor\n */\nfunction MediaQueryDispatch () {\n if(!window.matchMedia) {\n throw new Error('matchMedia not present, legacy browsers require a polyfill');\n }\n\n this.queries = {};\n this.browserIsIncapable = !window.matchMedia('only all').matches;\n}\n\nMediaQueryDispatch.prototype = {\n\n constructor : MediaQueryDispatch,\n\n /**\n * Registers a handler for the given media query\n *\n * @param {string} q the media query\n * @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers\n * @param {function} options.match fired when query matched\n * @param {function} [options.unmatch] fired when a query is no longer matched\n * @param {function} [options.setup] fired when handler first triggered\n * @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched\n * @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers\n */\n register : function(q, options, shouldDegrade) {\n var queries = this.queries,\n isUnconditional = shouldDegrade && this.browserIsIncapable;\n\n if(!queries[q]) {\n queries[q] = new MediaQuery(q, isUnconditional);\n }\n\n //normalise to object in an array\n if(isFunction(options)) {\n options = { match : options };\n }\n if(!isArray(options)) {\n options = [options];\n }\n each(options, function(handler) {\n if (isFunction(handler)) {\n handler = { match : handler };\n }\n queries[q].addHandler(handler);\n });\n\n return this;\n },\n\n /**\n * unregisters a query and all it's handlers, or a specific handler for a query\n *\n * @param {string} q the media query to target\n * @param {object || function} [handler] specific handler to unregister\n */\n unregister : function(q, handler) {\n var query = this.queries[q];\n\n if(query) {\n if(handler) {\n query.removeHandler(handler);\n }\n else {\n query.clear();\n delete this.queries[q];\n }\n }\n\n return this;\n }\n};\n\nmodule.exports = MediaQueryDispatch;\n","var QueryHandler = require('./QueryHandler');\nvar each = require('./Util').each;\n\n/**\n * Represents a single media query, manages it's state and registered handlers for this query\n *\n * @constructor\n * @param {string} query the media query string\n * @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design\n */\nfunction MediaQuery(query, isUnconditional) {\n this.query = query;\n this.isUnconditional = isUnconditional;\n this.handlers = [];\n this.mql = window.matchMedia(query);\n\n var self = this;\n this.listener = function(mql) {\n // Chrome passes an MediaQueryListEvent object, while other browsers pass MediaQueryList directly\n self.mql = mql.currentTarget || mql;\n self.assess();\n };\n this.mql.addListener(this.listener);\n}\n\nMediaQuery.prototype = {\n\n constuctor : MediaQuery,\n\n /**\n * add a handler for this query, triggering if already active\n *\n * @param {object} handler\n * @param {function} handler.match callback for when query is activated\n * @param {function} [handler.unmatch] callback for when query is deactivated\n * @param {function} [handler.setup] callback for immediate execution when a query handler is registered\n * @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched?\n */\n addHandler : function(handler) {\n var qh = new QueryHandler(handler);\n this.handlers.push(qh);\n\n this.matches() && qh.on();\n },\n\n /**\n * removes the given handler from the collection, and calls it's destroy methods\n *\n * @param {object || function} handler the handler to remove\n */\n removeHandler : function(handler) {\n var handlers = this.handlers;\n each(handlers, function(h, i) {\n if(h.equals(handler)) {\n h.destroy();\n return !handlers.splice(i,1); //remove from array and exit each early\n }\n });\n },\n\n /**\n * Determine whether the media query should be considered a match\n *\n * @return {Boolean} true if media query can be considered a match, false otherwise\n */\n matches : function() {\n return this.mql.matches || this.isUnconditional;\n },\n\n /**\n * Clears all handlers and unbinds events\n */\n clear : function() {\n each(this.handlers, function(handler) {\n handler.destroy();\n });\n this.mql.removeListener(this.listener);\n this.handlers.length = 0; //clear array\n },\n\n /*\n * Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match\n */\n assess : function() {\n var action = this.matches() ? 'on' : 'off';\n\n each(this.handlers, function(handler) {\n handler[action]();\n });\n }\n};\n\nmodule.exports = MediaQuery;\n","/**\n * Delegate to handle a media query being matched and unmatched.\n *\n * @param {object} options\n * @param {function} options.match callback for when the media query is matched\n * @param {function} [options.unmatch] callback for when the media query is unmatched\n * @param {function} [options.setup] one-time callback triggered the first time a query is matched\n * @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?\n * @constructor\n */\nfunction QueryHandler(options) {\n this.options = options;\n !options.deferSetup && this.setup();\n}\n\nQueryHandler.prototype = {\n\n constructor : QueryHandler,\n\n /**\n * coordinates setup of the handler\n *\n * @function\n */\n setup : function() {\n if(this.options.setup) {\n this.options.setup();\n }\n this.initialised = true;\n },\n\n /**\n * coordinates setup and triggering of the handler\n *\n * @function\n */\n on : function() {\n !this.initialised && this.setup();\n this.options.match && this.options.match();\n },\n\n /**\n * coordinates the unmatch event for the handler\n *\n * @function\n */\n off : function() {\n this.options.unmatch && this.options.unmatch();\n },\n\n /**\n * called when a handler is to be destroyed.\n * delegates to the destroy or unmatch callbacks, depending on availability.\n *\n * @function\n */\n destroy : function() {\n this.options.destroy ? this.options.destroy() : this.off();\n },\n\n /**\n * determines equality by reference.\n * if object is supplied compare options, if function, compare match callback\n *\n * @function\n * @param {object || function} [target] the target for comparison\n */\n equals : function(target) {\n return this.options === target || this.options.match === target;\n }\n\n};\n\nmodule.exports = QueryHandler;\n","/**\n * Helper function for iterating over a collection\n *\n * @param collection\n * @param fn\n */\nfunction each(collection, fn) {\n var i = 0,\n length = collection.length,\n cont;\n\n for(i; i < length; i++) {\n cont = fn(collection[i], i);\n if(cont === false) {\n break; //allow early exit\n }\n }\n}\n\n/**\n * Helper function for determining whether target object is an array\n *\n * @param target the object under test\n * @return {Boolean} true if array, false otherwise\n */\nfunction isArray(target) {\n return Object.prototype.toString.apply(target) === '[object Array]';\n}\n\n/**\n * Helper function for determining whether target object is a function\n *\n * @param target the object under test\n * @return {Boolean} true if function, false otherwise\n */\nfunction isFunction(target) {\n return typeof target === 'function';\n}\n\nmodule.exports = {\n isFunction : isFunction,\n isArray : isArray,\n each : each\n};\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://Slider/webpack/universalModuleDefinition","webpack://Slider/webpack/bootstrap","webpack://Slider/./src/index.js","webpack://Slider/./src/slider.js","webpack://Slider/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://Slider/./src/inner-slider.js","webpack://Slider/./src/initial-state.js","webpack://Slider/./node_modules/lodash.debounce/index.js","webpack://Slider/(webpack)/buildin/global.js","webpack://Slider/./node_modules/classnames/index.js","webpack://Slider/./src/utils/innerSliderUtils.js","webpack://Slider/./src/track.js","webpack://Slider/./src/dots.js","webpack://Slider/./src/arrows.js","webpack://Slider/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://Slider/./node_modules/json2mq/index.js","webpack://Slider/./node_modules/string-convert/camel2hyphen.js","webpack://Slider/./src/default-props.js","webpack://Slider/./node_modules/enquire.js/src/index.js","webpack://Slider/./node_modules/enquire.js/src/MediaQueryDispatch.js","webpack://Slider/./node_modules/enquire.js/src/MediaQuery.js","webpack://Slider/./node_modules/enquire.js/src/QueryHandler.js","webpack://Slider/./node_modules/enquire.js/src/Util.js"],"names":["Slider","enquire","canUseDOM","require","props","ref","innerSlider","slickPrev","slickNext","slide","dontAnimate","slickGoTo","pause","autoPlay","state","breakpoint","_responsiveMediaHandlers","query","handler","register","push","responsive","breakpoints","map","breakpt","sort","x","y","forEach","index","bQuery","json2mq","minWidth","maxWidth","media","setState","slice","obj","unregister","settings","newProps","filter","resp","defaultProps","centerMode","slidesToScroll","process","console","warn","fade","slidesToShow","children","React","Children","toArray","child","trim","variableWidth","rows","slidesPerRow","newChildren","currentWidth","i","length","newSlide","j","row","k","style","width","cloneElement","key","tabIndex","display","className","unslick","innerSliderRefHandler","Component","InnerSlider","list","track","adaptiveHeight","elem","querySelector","currentSlide","height","getHeight","onInit","lazyLoad","slidesToLoad","getOnDemandLazySlides","prevState","lazyLoadedList","concat","onLazyLoad","spec","listRef","trackRef","updateState","adaptHeight","autoplay","lazyLoadTimer","setInterval","progressiveLazyLoad","ro","ResizeObserver","animating","onWindowResized","callbackTimers","setTimeout","speed","observe","document","querySelectorAll","Array","prototype","call","onfocus","pauseOnFocus","onSlideFocus","onblur","onSlideBlur","window","addEventListener","attachEvent","animationEndCallback","clearTimeout","clearInterval","timer","removeEventListener","detachEvent","autoplayTimer","disconnect","prevProps","checkImagesLoad","onReInit","setTrackStyle","didPropsChange","count","changeSlide","message","debouncedResize","cancel","debounce","resizeWindow","isTrackMounted","Boolean","node","callback","updatedState","initializedState","slideIndex","targetLeft","getTrackLeft","left","trackStyle","getTrackCSS","trackWidth","trackLeft","childrenWidths","preClones","getPreClones","slideCount","postClones","getPostClones","childrenCount","slideWidth","images","imagesCount","loadedCount","image","onclick","parentNode","focus","prevClickHandler","e","onload","onerror","onLazyLoadError","indexOf","asNavFor","beforeChange","afterChange","slideHandler","useCSS","nextState","value","waitForAnimate","asNavForIndex","firstBatch","options","targetSlide","focusOnSelect","nodes","clickable","stopPropagation","preventDefault","dir","keyHandler","accessibility","rtl","event","returnValue","ontouchmove","verticalSwiping","disableBodyScroll","swipeStart","swipe","draggable","swipeMove","swipeEnd","triggerSlideHandler","undefined","enableBodyScroll","Number","isNaN","nextIndex","canGoNext","playType","autoplaying","play","autoplaySpeed","pauseType","classnames","classes","slider","vertical","trackProps","extractObject","pauseOnHover","onMouseEnter","onTrackOver","onMouseLeave","onTrackLeave","onMouseOver","selectHandler","dots","dotProps","pauseOnDotsHover","clickHandler","onDotsLeave","onDotsOver","prevArrow","nextArrow","arrowProps","arrows","verticalHeightStyle","listHeight","centerPaddingStyle","padding","centerPadding","listStyle","touchMove","listProps","onClick","onMouseDown","onMouseMove","dragging","onMouseUp","onTouchStart","onTouchMove","onTouchEnd","touchEnd","onTouchCancel","onKeyDown","innerSliderProps","listRefHandler","trackRefHandler","initialState","initialSlide","ssrState","ssrInit","Object","keys","hasOwnProperty","currentDirection","currentLeft","direction","edgeDragged","initialized","listWidth","scrolling","slideHeight","swipeLeft","swiped","swiping","touchObject","startX","startY","curX","curY","clamp","number","lowerBound","upperBound","Math","max","min","safePreventDefault","passiveEvents","includes","_reactName","onDemandSlides","startIndex","lazyStartIndex","endIndex","lazyEndIndex","getRequiredLazySlides","requiredSlides","lazySlidesOnLeft","lazySlidesOnRight","floor","parseInt","getWidth","offsetWidth","offsetHeight","getSwipeDirection","xDist","yDist","r","swipeAngle","atan2","round","PI","abs","canGo","infinite","newObject","listNode","ceil","trackNode","centerPaddingAdj","animationSlide","finalSlide","animationLeft","finalLeft","getTrackAnimateCSS","indexOffset","previousInt","slideOffset","unevenOffset","previousTargetSlide","siblingDirection","target","tagName","match","keyCode","type","touches","pageX","clientX","pageY","clientY","swipeToSlide","edgeFriction","onEdge","swipeEvent","curLeft","swipeLength","sqrt","pow","verticalSwipeLength","positionOffset","dotCount","swipeDirection","touchSwipeLength","touchThreshold","onSwipe","minSwipe","activeSlide","getSlideCount","checkNavigable","getNavigableIndexes","counter","indexes","navigables","prevNavigable","n","centerOffset","swipedSlide","slickList","slides","from","every","offsetLeft","offsetTop","currentIndex","slidesTraversed","dataset","checkSpecKeys","keysArray","reduce","error","trackHeight","trackChildren","getTotalSlides","opacity","transition","WebkitTransition","useTransform","WebkitTransform","transform","msTransform","marginLeft","marginTop","cssEase","verticalOffset","slidesToOffset","targetSlideIndex","trackElem","childNodes","slidesOnRight","slidesOnLeft","right","createElement","getSlideClasses","slickActive","slickCenter","slickCloned","focusedSlide","slickCurrent","cloned","getSlideStyle","position","top","getKey","fallbackKey","shouldOmitLazy","omitLazyForSlides","renderSlides","preCloneSlides","postCloneSlides","childOnClickOptions","childStyle","slideClass","slideClasses","outline","preCloneNo","reverse","Track","mouseEvents","handleRef","PureComponent","getDotCount","Dots","_rightBound","rightBound","_leftBound","leftBound","dot","activeDot","dotOptions","bind","customPaging","appendDots","dotsClass","PrevArrow","prevClasses","prevHandler","disabled","prevArrowProps","arrow","prev","customProps","NextArrow","nextClasses","nextHandler","nextArrowProps","next","easing"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;AClFA;AAAA;AAA8B;AAEfA,8GAAM,E;;;;;;;ACFrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEa;AACmB;AACf;AACa;AACU;AACrD,IAAMC,OAAO,GAAGC,yEAAS,EAAE,IAAIC,mBAAO,CAAC,EAAY,CAAC;AAAC,IAEhCH,MAAM;EAAA;EAAA;EACzB,gBAAYI,KAAK,EAAE;IAAA;IAAA;IACjB,0BAAMA,KAAK;IAAE,wEAOS,UAAAC,GAAG;MAAA,OAAK,MAAKC,WAAW,GAAGD,GAAG;IAAA,CAAC;IAAA,4DAyD3C;MAAA,OAAM,MAAKC,WAAW,CAACC,SAAS,EAAE;IAAA;IAAA,4DAElC;MAAA,OAAM,MAAKD,WAAW,CAACE,SAAS,EAAE;IAAA;IAAA,4DAElC,UAACC,KAAK;MAAA,IAAEC,WAAW,uEAAG,KAAK;MAAA,OACrC,MAAKJ,WAAW,CAACK,SAAS,CAACF,KAAK,EAAEC,WAAW,CAAC;IAAA;IAAA,6DAEnC;MAAA,OAAM,MAAKJ,WAAW,CAACM,KAAK,CAAC,QAAQ,CAAC;IAAA;IAAA,4DAEvC;MAAA,OAAM,MAAKN,WAAW,CAACO,QAAQ,CAAC,MAAM,CAAC;IAAA;IAxEjD,MAAKC,KAAK,GAAG;MACXC,UAAU,EAAE;IACd,CAAC;IACD,MAAKC,wBAAwB,GAAG,EAAE;IAAC;EACrC;EAAC;IAAA;IAAA,OAID,eAAMC,KAAK,EAAEC,OAAO,EAAE;MACpB;MACAjB,OAAO,CAACkB,QAAQ,CAACF,KAAK,EAAEC,OAAO,CAAC;MAChC,IAAI,CAACF,wBAAwB,CAACI,IAAI,CAAC;QAAEH,KAAK,EAALA,KAAK;QAAEC,OAAO,EAAPA;MAAQ,CAAC,CAAC;IACxD;;IAEA;EAAA;IAAA;IAAA,OACA,6BAAoB;MAAA;MAClB;MACA;MACA;MACA;MACA;MACA,IAAI,IAAI,CAACd,KAAK,CAACiB,UAAU,EAAE;QACzB,IAAIC,WAAW,GAAG,IAAI,CAAClB,KAAK,CAACiB,UAAU,CAACE,GAAG,CACzC,UAAAC,OAAO;UAAA,OAAIA,OAAO,CAACT,UAAU;QAAA,EAC9B;QACD;QACAO,WAAW,CAACG,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC;UAAA,OAAKD,CAAC,GAAGC,CAAC;QAAA,EAAC;QAEjCL,WAAW,CAACM,OAAO,CAAC,UAACb,UAAU,EAAEc,KAAK,EAAK;UACzC;UACA,IAAIC,MAAM;UACV,IAAID,KAAK,KAAK,CAAC,EAAE;YACfC,MAAM,GAAGC,8CAAO,CAAC;cAAEC,QAAQ,EAAE,CAAC;cAAEC,QAAQ,EAAElB;YAAW,CAAC,CAAC;UACzD,CAAC,MAAM;YACLe,MAAM,GAAGC,8CAAO,CAAC;cACfC,QAAQ,EAAEV,WAAW,CAACO,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;cACpCI,QAAQ,EAAElB;YACZ,CAAC,CAAC;UACJ;UACA;UACAb,yEAAS,EAAE,IACT,MAAI,CAACgC,KAAK,CAACJ,MAAM,EAAE,YAAM;YACvB,MAAI,CAACK,QAAQ,CAAC;cAAEpB,UAAU,EAAEA;YAAW,CAAC,CAAC;UAC3C,CAAC,CAAC;QACN,CAAC,CAAC;;QAEF;QACA;QACA,IAAIE,KAAK,GAAGc,8CAAO,CAAC;UAAEC,QAAQ,EAAEV,WAAW,CAACc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAE,CAAC,CAAC;QAE3DlC,yEAAS,EAAE,IACT,IAAI,CAACgC,KAAK,CAACjB,KAAK,EAAE,YAAM;UACtB,MAAI,CAACkB,QAAQ,CAAC;YAAEpB,UAAU,EAAE;UAAK,CAAC,CAAC;QACrC,CAAC,CAAC;MACN;IACF;EAAC;IAAA;IAAA,OAED,gCAAuB;MACrB,IAAI,CAACC,wBAAwB,CAACY,OAAO,CAAC,UAASS,GAAG,EAAE;QAClDpC,OAAO,CAACqC,UAAU,CAACD,GAAG,CAACpB,KAAK,EAAEoB,GAAG,CAACnB,OAAO,CAAC;MAC5C,CAAC,CAAC;IACJ;EAAC;IAAA;IAAA,OAaD,kBAAS;MAAA;MACP,IAAIqB,QAAQ;MACZ,IAAIC,QAAQ;MACZ,IAAI,IAAI,CAAC1B,KAAK,CAACC,UAAU,EAAE;QACzByB,QAAQ,GAAG,IAAI,CAACpC,KAAK,CAACiB,UAAU,CAACoB,MAAM,CACrC,UAAAC,IAAI;UAAA,OAAIA,IAAI,CAAC3B,UAAU,KAAK,MAAI,CAACD,KAAK,CAACC,UAAU;QAAA,EAClD;QACDwB,QAAQ,GACNC,QAAQ,CAAC,CAAC,CAAC,CAACD,QAAQ,KAAK,SAAS,GAC9B,SAAS,iDACJI,sDAAY,GAAK,IAAI,CAACvC,KAAK,GAAKoC,QAAQ,CAAC,CAAC,CAAC,CAACD,QAAQ,CAAE;MACnE,CAAC,MAAM;QACLA,QAAQ,mCAAQI,sDAAY,GAAK,IAAI,CAACvC,KAAK,CAAE;MAC/C;;MAEA;MACA,IAAImC,QAAQ,CAACK,UAAU,EAAE;QACvB,IACEL,QAAQ,CAACM,cAAc,GAAG,CAAC,IAC3BC,MAAoB,KAAK,YAAY,EACrC;UACAC,OAAO,CAACC,IAAI,4EAC0DT,QAAQ,CAACM,cAAc,EAC5F;QACH;QACAN,QAAQ,CAACM,cAAc,GAAG,CAAC;MAC7B;MACA;MACA,IAAIN,QAAQ,CAACU,IAAI,EAAE;QACjB,IAAIV,QAAQ,CAACW,YAAY,GAAG,CAAC,IAAIJ,MAAoB,KAAK,YAAY,EAAE;UACtEC,OAAO,CAACC,IAAI,6EAC2DT,QAAQ,CAACW,YAAY,EAC3F;QACH;QACA,IACEX,QAAQ,CAACM,cAAc,GAAG,CAAC,IAC3BC,MAAoB,KAAK,YAAY,EACrC;UACAC,OAAO,CAACC,IAAI,+EAC6DT,QAAQ,CAACM,cAAc,EAC/F;QACH;QACAN,QAAQ,CAACW,YAAY,GAAG,CAAC;QACzBX,QAAQ,CAACM,cAAc,GAAG,CAAC;MAC7B;;MAEA;MACA,IAAIM,QAAQ,GAAGC,4CAAK,CAACC,QAAQ,CAACC,OAAO,CAAC,IAAI,CAAClD,KAAK,CAAC+C,QAAQ,CAAC;;MAE1D;MACA;MACAA,QAAQ,GAAGA,QAAQ,CAACV,MAAM,CAAC,UAAAc,KAAK,EAAI;QAClC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;UAC7B,OAAO,CAAC,CAACA,KAAK,CAACC,IAAI,EAAE;QACvB;QACA,OAAO,CAAC,CAACD,KAAK;MAChB,CAAC,CAAC;;MAEF;MACA,IACEhB,QAAQ,CAACkB,aAAa,KACrBlB,QAAQ,CAACmB,IAAI,GAAG,CAAC,IAAInB,QAAQ,CAACoB,YAAY,GAAG,CAAC,CAAC,EAChD;QACAZ,OAAO,CAACC,IAAI,0EAEX;QACDT,QAAQ,CAACkB,aAAa,GAAG,KAAK;MAChC;MACA,IAAIG,WAAW,GAAG,EAAE;MACpB,IAAIC,YAAY,GAAG,IAAI;MACvB,KACE,IAAIC,CAAC,GAAG,CAAC,EACTA,CAAC,GAAGX,QAAQ,CAACY,MAAM,EACnBD,CAAC,IAAIvB,QAAQ,CAACmB,IAAI,GAAGnB,QAAQ,CAACoB,YAAY,EAC1C;QACA,IAAIK,QAAQ,GAAG,EAAE;QACjB,KACE,IAAIC,CAAC,GAAGH,CAAC,EACTG,CAAC,GAAGH,CAAC,GAAGvB,QAAQ,CAACmB,IAAI,GAAGnB,QAAQ,CAACoB,YAAY,EAC7CM,CAAC,IAAI1B,QAAQ,CAACoB,YAAY,EAC1B;UACA,IAAIO,GAAG,GAAG,EAAE;UACZ,KAAK,IAAIC,CAAC,GAAGF,CAAC,EAAEE,CAAC,GAAGF,CAAC,GAAG1B,QAAQ,CAACoB,YAAY,EAAEQ,CAAC,IAAI,CAAC,EAAE;YACrD,IAAI5B,QAAQ,CAACkB,aAAa,IAAIN,QAAQ,CAACgB,CAAC,CAAC,CAAC/D,KAAK,CAACgE,KAAK,EAAE;cACrDP,YAAY,GAAGV,QAAQ,CAACgB,CAAC,CAAC,CAAC/D,KAAK,CAACgE,KAAK,CAACC,KAAK;YAC9C;YACA,IAAIF,CAAC,IAAIhB,QAAQ,CAACY,MAAM,EAAE;YAC1BG,GAAG,CAAC9C,IAAI,eACNgC,4CAAK,CAACkB,YAAY,CAACnB,QAAQ,CAACgB,CAAC,CAAC,EAAE;cAC9BI,GAAG,EAAE,GAAG,GAAGT,CAAC,GAAG,EAAE,GAAGG,CAAC,GAAGE,CAAC;cACzBK,QAAQ,EAAE,CAAC,CAAC;cACZJ,KAAK,EAAE;gBACLC,KAAK,YAAK,GAAG,GAAG9B,QAAQ,CAACoB,YAAY,MAAG;gBACxCc,OAAO,EAAE;cACX;YACF,CAAC,CAAC,CACH;UACH;UACAT,QAAQ,CAAC5C,IAAI,eAAC;YAAK,GAAG,EAAE,EAAE,GAAG0C,CAAC,GAAGG;UAAE,GAAEC,GAAG,CAAO,CAAC;QAClD;QACA,IAAI3B,QAAQ,CAACkB,aAAa,EAAE;UAC1BG,WAAW,CAACxC,IAAI,eACd;YAAK,GAAG,EAAE0C,CAAE;YAAC,KAAK,EAAE;cAAEO,KAAK,EAAER;YAAa;UAAE,GACzCG,QAAQ,CACL,CACP;QACH,CAAC,MAAM;UACLJ,WAAW,CAACxC,IAAI,eAAC;YAAK,GAAG,EAAE0C;UAAE,GAAEE,QAAQ,CAAO,CAAC;QACjD;MACF;MAEA,IAAIzB,QAAQ,KAAK,SAAS,EAAE;QAC1B,IAAMmC,SAAS,GAAG,iBAAiB,IAAI,IAAI,CAACtE,KAAK,CAACsE,SAAS,IAAI,EAAE,CAAC;QAClE,oBAAO;UAAK,SAAS,EAAEA;QAAU,GAAEvB,QAAQ,CAAO;MACpD,CAAC,MAAM,IAAIS,WAAW,CAACG,MAAM,IAAIxB,QAAQ,CAACW,YAAY,EAAE;QACtDX,QAAQ,CAACoC,OAAO,GAAG,IAAI;MACzB;MACA,oBACE,qIACE,2DAAC,yDAAW;QACV,KAAK,EAAE,IAAI,CAACvE,KAAK,CAACgE,KAAM;QACxB,GAAG,EAAE,IAAI,CAACQ;MAAsB,GAC5BrC,QAAQ,GAEXqB,WAAW,CACA,CACb;IAEP;EAAC;EAAA;AAAA,EA7MiCR,4CAAK,CAACyB,SAAS;;;;;;;ACTnD,gD;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEa;AACiB;AACJ;AACH;AAiBF;AAEF;AACF;AACkB;AACM;AAE/C,IAAMC,WAAW;EAAA;EAAA;EACtB,qBAAY1E,KAAK,EAAE;IAAA;IAAA;IACjB,0BAAMA,KAAK;IAAE,iEAcE,UAAAC,GAAG;MAAA,OAAK,MAAK0E,IAAI,GAAG1E,GAAG;IAAA,CAAC;IAAA,kEACvB,UAAAA,GAAG;MAAA,OAAK,MAAK2E,KAAK,GAAG3E,GAAG;IAAA,CAAC;IAAA,8DAC7B,YAAM;MAClB,IAAI,MAAKD,KAAK,CAAC6E,cAAc,IAAI,MAAKF,IAAI,EAAE;QAC1C,IAAMG,IAAI,GAAG,MAAKH,IAAI,CAACI,aAAa,yBAClB,MAAKrE,KAAK,CAACsE,YAAY,SACxC;QACD,MAAKL,IAAI,CAACX,KAAK,CAACiB,MAAM,GAAGC,yEAAS,CAACJ,IAAI,CAAC,GAAG,IAAI;MACjD;IACF,CAAC;IAAA,oEACmB,YAAM;MACxB,MAAK9E,KAAK,CAACmF,MAAM,IAAI,MAAKnF,KAAK,CAACmF,MAAM,EAAE;MACxC,IAAI,MAAKnF,KAAK,CAACoF,QAAQ,EAAE;QACvB,IAAIC,YAAY,GAAGC,qFAAqB,iCACnC,MAAKtF,KAAK,GACV,MAAKU,KAAK,EACb;QACF,IAAI2E,YAAY,CAAC1B,MAAM,GAAG,CAAC,EAAE;UAC3B,MAAK5B,QAAQ,CAAC,UAAAwD,SAAS;YAAA,OAAK;cAC1BC,cAAc,EAAED,SAAS,CAACC,cAAc,CAACC,MAAM,CAACJ,YAAY;YAC9D,CAAC;UAAA,CAAC,CAAC;UACH,IAAI,MAAKrF,KAAK,CAAC0F,UAAU,EAAE;YACzB,MAAK1F,KAAK,CAAC0F,UAAU,CAACL,YAAY,CAAC;UACrC;QACF;MACF;MACA,IAAIM,IAAI;QAAKC,OAAO,EAAE,MAAKjB,IAAI;QAAEkB,QAAQ,EAAE,MAAKjB;MAAK,GAAK,MAAK5E,KAAK,CAAE;MACtE,MAAK8F,WAAW,CAACH,IAAI,EAAE,IAAI,EAAE,YAAM;QACjC,MAAKI,WAAW,EAAE;QAClB,MAAK/F,KAAK,CAACgG,QAAQ,IAAI,MAAKvF,QAAQ,CAAC,QAAQ,CAAC;MAChD,CAAC,CAAC;MACF,IAAI,MAAKT,KAAK,CAACoF,QAAQ,KAAK,aAAa,EAAE;QACzC,MAAKa,aAAa,GAAGC,WAAW,CAAC,MAAKC,mBAAmB,EAAE,IAAI,CAAC;MAClE;MACA,MAAKC,EAAE,GAAG,IAAIC,gEAAc,CAAC,YAAM;QACjC,IAAI,MAAK3F,KAAK,CAAC4F,SAAS,EAAE;UACxB,MAAKC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;UAC7B,MAAKC,cAAc,CAACxF,IAAI,CACtByF,UAAU,CAAC;YAAA,OAAM,MAAKF,eAAe,EAAE;UAAA,GAAE,MAAKvG,KAAK,CAAC0G,KAAK,CAAC,CAC3D;QACH,CAAC,MAAM;UACL,MAAKH,eAAe,EAAE;QACxB;MACF,CAAC,CAAC;MACF,MAAKH,EAAE,CAACO,OAAO,CAAC,MAAKhC,IAAI,CAAC;MAC1BiC,QAAQ,CAACC,gBAAgB,IACvBC,KAAK,CAACC,SAAS,CAACvF,OAAO,CAACwF,IAAI,CAC1BJ,QAAQ,CAACC,gBAAgB,CAAC,cAAc,CAAC,EACzC,UAAAxG,KAAK,EAAI;QACPA,KAAK,CAAC4G,OAAO,GAAG,MAAKjH,KAAK,CAACkH,YAAY,GAAG,MAAKC,YAAY,GAAG,IAAI;QAClE9G,KAAK,CAAC+G,MAAM,GAAG,MAAKpH,KAAK,CAACkH,YAAY,GAAG,MAAKG,WAAW,GAAG,IAAI;MAClE,CAAC,CACF;MACH,IAAIC,MAAM,CAACC,gBAAgB,EAAE;QAC3BD,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAE,MAAKhB,eAAe,CAAC;MACzD,CAAC,MAAM;QACLe,MAAM,CAACE,WAAW,CAAC,UAAU,EAAE,MAAKjB,eAAe,CAAC;MACtD;IACF,CAAC;IAAA,uEACsB,YAAM;MAC3B,IAAI,MAAKkB,oBAAoB,EAAE;QAC7BC,YAAY,CAAC,MAAKD,oBAAoB,CAAC;MACzC;MACA,IAAI,MAAKxB,aAAa,EAAE;QACtB0B,aAAa,CAAC,MAAK1B,aAAa,CAAC;MACnC;MACA,IAAI,MAAKO,cAAc,CAAC7C,MAAM,EAAE;QAC9B,MAAK6C,cAAc,CAAChF,OAAO,CAAC,UAAAoG,KAAK;UAAA,OAAIF,YAAY,CAACE,KAAK,CAAC;QAAA,EAAC;QACzD,MAAKpB,cAAc,GAAG,EAAE;MAC1B;MACA,IAAIc,MAAM,CAACC,gBAAgB,EAAE;QAC3BD,MAAM,CAACO,mBAAmB,CAAC,QAAQ,EAAE,MAAKtB,eAAe,CAAC;MAC5D,CAAC,MAAM;QACLe,MAAM,CAACQ,WAAW,CAAC,UAAU,EAAE,MAAKvB,eAAe,CAAC;MACtD;MACA,IAAI,MAAKwB,aAAa,EAAE;QACtBJ,aAAa,CAAC,MAAKI,aAAa,CAAC;MACnC;MACA,MAAK3B,EAAE,CAAC4B,UAAU,EAAE;IACtB,CAAC;IAAA,qEA2BoB,UAAAC,SAAS,EAAI;MAChC,MAAKC,eAAe,EAAE;MACtB,MAAKlI,KAAK,CAACmI,QAAQ,IAAI,MAAKnI,KAAK,CAACmI,QAAQ,EAAE;MAC5C,IAAI,MAAKnI,KAAK,CAACoF,QAAQ,EAAE;QACvB,IAAIC,YAAY,GAAGC,qFAAqB,iCACnC,MAAKtF,KAAK,GACV,MAAKU,KAAK,EACb;QACF,IAAI2E,YAAY,CAAC1B,MAAM,GAAG,CAAC,EAAE;UAC3B,MAAK5B,QAAQ,CAAC,UAAAwD,SAAS;YAAA,OAAK;cAC1BC,cAAc,EAAED,SAAS,CAACC,cAAc,CAACC,MAAM,CAACJ,YAAY;YAC9D,CAAC;UAAA,CAAC,CAAC;UACH,IAAI,MAAKrF,KAAK,CAAC0F,UAAU,EAAE;YACzB,MAAK1F,KAAK,CAAC0F,UAAU,CAACL,YAAY,CAAC;UACrC;QACF;MACF;MACA;MACA;MACA;MACA,MAAKU,WAAW,EAAE;MAClB,IAAIJ,IAAI;QACNC,OAAO,EAAE,MAAKjB,IAAI;QAClBkB,QAAQ,EAAE,MAAKjB;MAAK,GACjB,MAAK5E,KAAK,GACV,MAAKU,KAAK,CACd;MACD,IAAM0H,aAAa,GAAG,MAAKC,cAAc,CAACJ,SAAS,CAAC;MACpDG,aAAa,IACX,MAAKtC,WAAW,CAACH,IAAI,EAAEyC,aAAa,EAAE,YAAM;QAC1C,IACE,MAAK1H,KAAK,CAACsE,YAAY,IAAIhC,4CAAK,CAACC,QAAQ,CAACqF,KAAK,CAAC,MAAKtI,KAAK,CAAC+C,QAAQ,CAAC,EACpE;UACA,MAAKwF,WAAW,CAAC;YACfC,OAAO,EAAE,OAAO;YAChB/G,KAAK,EACHuB,4CAAK,CAACC,QAAQ,CAACqF,KAAK,CAAC,MAAKtI,KAAK,CAAC+C,QAAQ,CAAC,GACzC,MAAK/C,KAAK,CAAC8C,YAAY;YACzBkC,YAAY,EAAE,MAAKtE,KAAK,CAACsE;UAC3B,CAAC,CAAC;QACJ;QACA,IAAI,MAAKhF,KAAK,CAACgG,QAAQ,EAAE;UACvB,MAAKvF,QAAQ,CAAC,QAAQ,CAAC;QACzB,CAAC,MAAM;UACL,MAAKD,KAAK,CAAC,QAAQ,CAAC;QACtB;MACF,CAAC,CAAC;IACN,CAAC;IAAA,kEACiB,UAAA4H,aAAa,EAAI;MACjC,IAAI,MAAKK,eAAe,EAAE,MAAKA,eAAe,CAACC,MAAM,EAAE;MACvD,MAAKD,eAAe,GAAGE,sDAAQ,CAAC;QAAA,OAAM,MAAKC,YAAY,CAACR,aAAa,CAAC;MAAA,GAAE,EAAE,CAAC;MAC3E,MAAKK,eAAe,EAAE;IACxB,CAAC;IAAA,+DACc,YAA0B;MAAA,IAAzBL,aAAa,uEAAG,IAAI;MAClC,IAAMS,cAAc,GAAGC,OAAO,CAAC,MAAKlE,KAAK,IAAI,MAAKA,KAAK,CAACmE,IAAI,CAAC;MAC7D;MACA,IAAI,CAACF,cAAc,EAAE;MACrB,IAAIlD,IAAI;QACNC,OAAO,EAAE,MAAKjB,IAAI;QAClBkB,QAAQ,EAAE,MAAKjB;MAAK,GACjB,MAAK5E,KAAK,GACV,MAAKU,KAAK,CACd;MACD,MAAKoF,WAAW,CAACH,IAAI,EAAEyC,aAAa,EAAE,YAAM;QAC1C,IAAI,MAAKpI,KAAK,CAACgG,QAAQ,EAAE,MAAKvF,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAC5C,MAAKD,KAAK,CAAC,QAAQ,CAAC;MAC3B,CAAC,CAAC;MACF;MACA,MAAKuB,QAAQ,CAAC;QACZuE,SAAS,EAAE;MACb,CAAC,CAAC;MACFoB,YAAY,CAAC,MAAKD,oBAAoB,CAAC;MACvC,OAAO,MAAKA,oBAAoB;IAClC,CAAC;IAAA,8DACa,UAAC9B,IAAI,EAAEyC,aAAa,EAAEY,QAAQ,EAAK;MAC/C,IAAIC,YAAY,GAAGC,gFAAgB,CAACvD,IAAI,CAAC;MACzCA,IAAI,iDAAQA,IAAI,GAAKsD,YAAY;QAAEE,UAAU,EAAEF,YAAY,CAACjE;MAAY,EAAE;MAC1E,IAAIoE,UAAU,GAAGC,4EAAY,CAAC1D,IAAI,CAAC;MACnCA,IAAI,mCAAQA,IAAI;QAAE2D,IAAI,EAAEF;MAAU,EAAE;MACpC,IAAIG,UAAU,GAAGC,2EAAW,CAAC7D,IAAI,CAAC;MAClC,IACEyC,aAAa,IACbpF,4CAAK,CAACC,QAAQ,CAACqF,KAAK,CAAC,MAAKtI,KAAK,CAAC+C,QAAQ,CAAC,KACvCC,4CAAK,CAACC,QAAQ,CAACqF,KAAK,CAAC3C,IAAI,CAAC5C,QAAQ,CAAC,EACrC;QACAkG,YAAY,CAAC,YAAY,CAAC,GAAGM,UAAU;MACzC;MACA,MAAKxH,QAAQ,CAACkH,YAAY,EAAED,QAAQ,CAAC;IACvC,CAAC;IAAA,0DAES,YAAM;MACd,IAAI,MAAKhJ,KAAK,CAACqD,aAAa,EAAE;QAC5B,IAAIoG,WAAU,GAAG,CAAC;UAChBC,UAAS,GAAG,CAAC;QACf,IAAIC,cAAc,GAAG,EAAE;QACvB,IAAIC,SAAS,GAAGC,4EAAY,+CACvB,MAAK7J,KAAK,GACV,MAAKU,KAAK;UACboJ,UAAU,EAAE,MAAK9J,KAAK,CAAC+C,QAAQ,CAACY;QAAM,GACtC;QACF,IAAIoG,UAAU,GAAGC,6EAAa,+CACzB,MAAKhK,KAAK,GACV,MAAKU,KAAK;UACboJ,UAAU,EAAE,MAAK9J,KAAK,CAAC+C,QAAQ,CAACY;QAAM,GACtC;QACF,MAAK3D,KAAK,CAAC+C,QAAQ,CAACvB,OAAO,CAAC,UAAA2B,KAAK,EAAI;UACnCwG,cAAc,CAAC3I,IAAI,CAACmC,KAAK,CAACnD,KAAK,CAACgE,KAAK,CAACC,KAAK,CAAC;UAC5CwF,WAAU,IAAItG,KAAK,CAACnD,KAAK,CAACgE,KAAK,CAACC,KAAK;QACvC,CAAC,CAAC;QACF,KAAK,IAAIP,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGkG,SAAS,EAAElG,CAAC,EAAE,EAAE;UAClCgG,UAAS,IAAIC,cAAc,CAACA,cAAc,CAAChG,MAAM,GAAG,CAAC,GAAGD,CAAC,CAAC;UAC1D+F,WAAU,IAAIE,cAAc,CAACA,cAAc,CAAChG,MAAM,GAAG,CAAC,GAAGD,CAAC,CAAC;QAC7D;QACA,KAAK,IAAIA,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAGqG,UAAU,EAAErG,EAAC,EAAE,EAAE;UACnC+F,WAAU,IAAIE,cAAc,CAACjG,EAAC,CAAC;QACjC;QACA,KAAK,IAAIA,GAAC,GAAG,CAAC,EAAEA,GAAC,GAAG,MAAKhD,KAAK,CAACsE,YAAY,EAAEtB,GAAC,EAAE,EAAE;UAChDgG,UAAS,IAAIC,cAAc,CAACjG,GAAC,CAAC;QAChC;QACA,IAAI6F,WAAU,GAAG;UACftF,KAAK,EAAEwF,WAAU,GAAG,IAAI;UACxBH,IAAI,EAAE,CAACI,UAAS,GAAG;QACrB,CAAC;QACD,IAAI,MAAK1J,KAAK,CAACwC,UAAU,EAAE;UACzB,IAAIiB,YAAY,aAAMkG,cAAc,CAAC,MAAKjJ,KAAK,CAACsE,YAAY,CAAC,OAAI;UACjEuE,WAAU,CAACD,IAAI,kBAAWC,WAAU,CAACD,IAAI,wBAAc7F,YAAY,aAAU;QAC/E;QACA,OAAO;UACL8F,UAAU,EAAVA;QACF,CAAC;MACH;MACA,IAAIU,aAAa,GAAGjH,4CAAK,CAACC,QAAQ,CAACqF,KAAK,CAAC,MAAKtI,KAAK,CAAC+C,QAAQ,CAAC;MAC7D,IAAM4C,IAAI,iDAAQ,MAAK3F,KAAK,GAAK,MAAKU,KAAK;QAAEoJ,UAAU,EAAEG;MAAa,EAAE;MACxE,IAAIH,UAAU,GAAGD,4EAAY,CAAClE,IAAI,CAAC,GAAGqE,6EAAa,CAACrE,IAAI,CAAC,GAAGsE,aAAa;MACzE,IAAIR,UAAU,GAAI,GAAG,GAAG,MAAKzJ,KAAK,CAAC8C,YAAY,GAAIgH,UAAU;MAC7D,IAAII,UAAU,GAAG,GAAG,GAAGJ,UAAU;MACjC,IAAIJ,SAAS,GACV,CAACQ,UAAU,IACTL,4EAAY,CAAClE,IAAI,CAAC,GAAG,MAAKjF,KAAK,CAACsE,YAAY,CAAC,GAC9CyE,UAAU,GACZ,GAAG;MACL,IAAI,MAAKzJ,KAAK,CAACwC,UAAU,EAAE;QACzBkH,SAAS,IAAI,CAAC,GAAG,GAAIQ,UAAU,GAAGT,UAAU,GAAI,GAAG,IAAI,CAAC;MAC1D;MACA,IAAIF,UAAU,GAAG;QACftF,KAAK,EAAEwF,UAAU,GAAG,GAAG;QACvBH,IAAI,EAAEI,SAAS,GAAG;MACpB,CAAC;MACD,OAAO;QACLQ,UAAU,EAAEA,UAAU,GAAG,GAAG;QAC5BX,UAAU,EAAEA;MACd,CAAC;IACH,CAAC;IAAA,kEACiB,YAAM;MACtB,IAAIY,MAAM,GACP,MAAKxF,IAAI,IACR,MAAKA,IAAI,CAACkC,gBAAgB,IAC1B,MAAKlC,IAAI,CAACkC,gBAAgB,CAAC,kBAAkB,CAAC,IAChD,EAAE;MACJ,IAAIuD,WAAW,GAAGD,MAAM,CAACxG,MAAM;QAC7B0G,WAAW,GAAG,CAAC;MACjBvD,KAAK,CAACC,SAAS,CAACvF,OAAO,CAACwF,IAAI,CAACmD,MAAM,EAAE,UAAAG,KAAK,EAAI;QAC5C,IAAMxJ,OAAO,GAAG,SAAVA,OAAO;UAAA,OACX,EAAEuJ,WAAW,IAAIA,WAAW,IAAID,WAAW,IAAI,MAAK7D,eAAe,EAAE;QAAA;QACvE,IAAI,CAAC+D,KAAK,CAACC,OAAO,EAAE;UAClBD,KAAK,CAACC,OAAO,GAAG;YAAA,OAAMD,KAAK,CAACE,UAAU,CAACC,KAAK,EAAE;UAAA;QAChD,CAAC,MAAM;UACL,IAAMC,gBAAgB,GAAGJ,KAAK,CAACC,OAAO;UACtCD,KAAK,CAACC,OAAO,GAAG,UAAAI,CAAC,EAAI;YACnBD,gBAAgB,CAACC,CAAC,CAAC;YACnBL,KAAK,CAACE,UAAU,CAACC,KAAK,EAAE;UAC1B,CAAC;QACH;QACA,IAAI,CAACH,KAAK,CAACM,MAAM,EAAE;UACjB,IAAI,MAAK5K,KAAK,CAACoF,QAAQ,EAAE;YACvBkF,KAAK,CAACM,MAAM,GAAG,YAAM;cACnB,MAAK7E,WAAW,EAAE;cAClB,MAAKS,cAAc,CAACxF,IAAI,CACtByF,UAAU,CAAC,MAAKF,eAAe,EAAE,MAAKvG,KAAK,CAAC0G,KAAK,CAAC,CACnD;YACH,CAAC;UACH,CAAC,MAAM;YACL4D,KAAK,CAACM,MAAM,GAAG9J,OAAO;YACtBwJ,KAAK,CAACO,OAAO,GAAG,YAAM;cACpB/J,OAAO,EAAE;cACT,MAAKd,KAAK,CAAC8K,eAAe,IAAI,MAAK9K,KAAK,CAAC8K,eAAe,EAAE;YAC5D,CAAC;UACH;QACF;MACF,CAAC,CAAC;IACJ,CAAC;IAAA,sEACqB,YAAM;MAC1B,IAAIzF,YAAY,GAAG,EAAE;MACrB,IAAMM,IAAI,mCAAQ,MAAK3F,KAAK,GAAK,MAAKU,KAAK,CAAE;MAC7C,KACE,IAAIe,KAAK,GAAG,MAAKf,KAAK,CAACsE,YAAY,EACnCvD,KAAK,GAAG,MAAKf,KAAK,CAACoJ,UAAU,GAAGE,6EAAa,CAACrE,IAAI,CAAC,EACnDlE,KAAK,EAAE,EACP;QACA,IAAI,MAAKf,KAAK,CAAC8E,cAAc,CAACuF,OAAO,CAACtJ,KAAK,CAAC,GAAG,CAAC,EAAE;UAChD4D,YAAY,CAACrE,IAAI,CAACS,KAAK,CAAC;UACxB;QACF;MACF;MACA,KACE,IAAIA,MAAK,GAAG,MAAKf,KAAK,CAACsE,YAAY,GAAG,CAAC,EACvCvD,MAAK,IAAI,CAACoI,4EAAY,CAAClE,IAAI,CAAC,EAC5BlE,MAAK,EAAE,EACP;QACA,IAAI,MAAKf,KAAK,CAAC8E,cAAc,CAACuF,OAAO,CAACtJ,MAAK,CAAC,GAAG,CAAC,EAAE;UAChD4D,YAAY,CAACrE,IAAI,CAACS,MAAK,CAAC;UACxB;QACF;MACF;MACA,IAAI4D,YAAY,CAAC1B,MAAM,GAAG,CAAC,EAAE;QAC3B,MAAK5B,QAAQ,CAAC,UAAArB,KAAK;UAAA,OAAK;YACtB8E,cAAc,EAAE9E,KAAK,CAAC8E,cAAc,CAACC,MAAM,CAACJ,YAAY;UAC1D,CAAC;QAAA,CAAC,CAAC;QACH,IAAI,MAAKrF,KAAK,CAAC0F,UAAU,EAAE;UACzB,MAAK1F,KAAK,CAAC0F,UAAU,CAACL,YAAY,CAAC;QACrC;MACF,CAAC,MAAM;QACL,IAAI,MAAKY,aAAa,EAAE;UACtB0B,aAAa,CAAC,MAAK1B,aAAa,CAAC;UACjC,OAAO,MAAKA,aAAa;QAC3B;MACF;IACF,CAAC;IAAA,+DACc,UAACxE,KAAK,EAA0B;MAAA,IAAxBnB,WAAW,uEAAG,KAAK;MACxC,kBAMI,MAAKN,KAAK;QALZgL,QAAQ,eAARA,QAAQ;QACRC,YAAY,eAAZA,YAAY;QACZvF,UAAU,eAAVA,UAAU;QACVgB,KAAK,eAALA,KAAK;QACLwE,WAAW,eAAXA,WAAW;MAEb;MACA,IAAMlG,YAAY,GAAG,MAAKtE,KAAK,CAACsE,YAAY;MAC5C,oBAA2BmG,4EAAY;UACrC1J,KAAK,EAALA;QAAK,GACF,MAAKzB,KAAK,GACV,MAAKU,KAAK;UACbmF,QAAQ,EAAE,MAAKjB,KAAK;UACpBwG,MAAM,EAAE,MAAKpL,KAAK,CAACoL,MAAM,IAAI,CAAC9K;QAAW,GACzC;QANII,KAAK,iBAALA,KAAK;QAAE2K,SAAS,iBAATA,SAAS;MAOtB,IAAI,CAAC3K,KAAK,EAAE;MACZuK,YAAY,IAAIA,YAAY,CAACjG,YAAY,EAAEtE,KAAK,CAACsE,YAAY,CAAC;MAC9D,IAAIK,YAAY,GAAG3E,KAAK,CAAC8E,cAAc,CAACnD,MAAM,CAC5C,UAAAiJ,KAAK;QAAA,OAAI,MAAK5K,KAAK,CAAC8E,cAAc,CAACuF,OAAO,CAACO,KAAK,CAAC,GAAG,CAAC;MAAA,EACtD;MACD5F,UAAU,IAAIL,YAAY,CAAC1B,MAAM,GAAG,CAAC,IAAI+B,UAAU,CAACL,YAAY,CAAC;MACjE,IAAI,CAAC,MAAKrF,KAAK,CAACuL,cAAc,IAAI,MAAK9D,oBAAoB,EAAE;QAC3DC,YAAY,CAAC,MAAKD,oBAAoB,CAAC;QACvCyD,WAAW,IAAIA,WAAW,CAAClG,YAAY,CAAC;QACxC,OAAO,MAAKyC,oBAAoB;MAClC;MACA,MAAK1F,QAAQ,CAACrB,KAAK,EAAE,YAAM;QACzB;QACA,IAAIsK,QAAQ,IAAI,MAAKQ,aAAa,KAAK/J,KAAK,EAAE;UAC5C,MAAK+J,aAAa,GAAG/J,KAAK;UAC1BuJ,QAAQ,CAAC9K,WAAW,CAACiL,YAAY,CAAC1J,KAAK,CAAC;QAC1C;QACA,IAAI,CAAC4J,SAAS,EAAE;QAChB,MAAK5D,oBAAoB,GAAGhB,UAAU,CAAC,YAAM;UAC3C,IAAQH,SAAS,GAAoB+E,SAAS,CAAtC/E,SAAS;YAAKmF,UAAU,4BAAKJ,SAAS;UAC9C,MAAKtJ,QAAQ,CAAC0J,UAAU,EAAE,YAAM;YAC9B,MAAKjF,cAAc,CAACxF,IAAI,CACtByF,UAAU,CAAC;cAAA,OAAM,MAAK1E,QAAQ,CAAC;gBAAEuE,SAAS,EAATA;cAAU,CAAC,CAAC;YAAA,GAAE,EAAE,CAAC,CACnD;YACD4E,WAAW,IAAIA,WAAW,CAACxK,KAAK,CAACsE,YAAY,CAAC;YAC9C,OAAO,MAAKyC,oBAAoB;UAClC,CAAC,CAAC;QACJ,CAAC,EAAEf,KAAK,CAAC;MACX,CAAC,CAAC;IACJ,CAAC;IAAA,8DACa,UAACgF,OAAO,EAA0B;MAAA,IAAxBpL,WAAW,uEAAG,KAAK;MACzC,IAAMqF,IAAI,mCAAQ,MAAK3F,KAAK,GAAK,MAAKU,KAAK,CAAE;MAC7C,IAAIiL,WAAW,GAAGpD,2EAAW,CAAC5C,IAAI,EAAE+F,OAAO,CAAC;MAC5C,IAAIC,WAAW,KAAK,CAAC,IAAI,CAACA,WAAW,EAAE;MACvC,IAAIrL,WAAW,KAAK,IAAI,EAAE;QACxB,MAAK6K,YAAY,CAACQ,WAAW,EAAErL,WAAW,CAAC;MAC7C,CAAC,MAAM;QACL,MAAK6K,YAAY,CAACQ,WAAW,CAAC;MAChC;MACA,MAAK3L,KAAK,CAACgG,QAAQ,IAAI,MAAKvF,QAAQ,CAAC,QAAQ,CAAC;MAC9C,IAAI,MAAKT,KAAK,CAAC4L,aAAa,EAAE;QAC5B,IAAMC,KAAK,GAAG,MAAKlH,IAAI,CAACkC,gBAAgB,CAAC,gBAAgB,CAAC;QAC1DgF,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,CAACpB,KAAK,EAAE;MAC9B;IACF,CAAC;IAAA,+DACc,UAAAE,CAAC,EAAI;MAClB,IAAI,MAAKmB,SAAS,KAAK,KAAK,EAAE;QAC5BnB,CAAC,CAACoB,eAAe,EAAE;QACnBpB,CAAC,CAACqB,cAAc,EAAE;MACpB;MACA,MAAKF,SAAS,GAAG,IAAI;IACvB,CAAC;IAAA,6DACY,UAAAnB,CAAC,EAAI;MAChB,IAAIsB,GAAG,GAAGC,0EAAU,CAACvB,CAAC,EAAE,MAAK3K,KAAK,CAACmM,aAAa,EAAE,MAAKnM,KAAK,CAACoM,GAAG,CAAC;MACjEH,GAAG,KAAK,EAAE,IAAI,MAAK1D,WAAW,CAAC;QAAEC,OAAO,EAAEyD;MAAI,CAAC,CAAC;IAClD,CAAC;IAAA,gEACe,UAAAP,OAAO,EAAI;MACzB,MAAKnD,WAAW,CAACmD,OAAO,CAAC;IAC3B,CAAC;IAAA,oEACmB,YAAM;MACxB,IAAMM,cAAc,GAAG,SAAjBA,cAAc,CAAGrB,CAAC,EAAI;QAC1BA,CAAC,GAAGA,CAAC,IAAIrD,MAAM,CAAC+E,KAAK;QACrB,IAAI1B,CAAC,CAACqB,cAAc,EAAErB,CAAC,CAACqB,cAAc,EAAE;QACxCrB,CAAC,CAAC2B,WAAW,GAAG,KAAK;MACvB,CAAC;MACDhF,MAAM,CAACiF,WAAW,GAAGP,cAAc;IACrC,CAAC;IAAA,mEACkB,YAAM;MACvB1E,MAAM,CAACiF,WAAW,GAAG,IAAI;IAC3B,CAAC;IAAA,6DACY,UAAA5B,CAAC,EAAI;MAChB,IAAI,MAAK3K,KAAK,CAACwM,eAAe,EAAE;QAC9B,MAAKC,iBAAiB,EAAE;MAC1B;MACA,IAAI/L,KAAK,GAAGgM,0EAAU,CAAC/B,CAAC,EAAE,MAAK3K,KAAK,CAAC2M,KAAK,EAAE,MAAK3M,KAAK,CAAC4M,SAAS,CAAC;MACjElM,KAAK,KAAK,EAAE,IAAI,MAAKqB,QAAQ,CAACrB,KAAK,CAAC;IACtC,CAAC;IAAA,4DACW,UAAAiK,CAAC,EAAI;MACf,IAAIjK,KAAK,GAAGmM,yEAAS,CAAClC,CAAC,gDAClB,MAAK3K,KAAK,GACV,MAAKU,KAAK;QACbmF,QAAQ,EAAE,MAAKjB,KAAK;QACpBgB,OAAO,EAAE,MAAKjB,IAAI;QAClBwE,UAAU,EAAE,MAAKzI,KAAK,CAACsE;MAAY,GACnC;MACF,IAAI,CAACtE,KAAK,EAAE;MACZ,IAAIA,KAAK,CAAC,SAAS,CAAC,EAAE;QACpB,MAAKoL,SAAS,GAAG,KAAK;MACxB;MACA,MAAK/J,QAAQ,CAACrB,KAAK,CAAC;IACtB,CAAC;IAAA,2DACU,UAAAiK,CAAC,EAAI;MACd,IAAIjK,KAAK,GAAGoM,wEAAQ,CAACnC,CAAC,gDACjB,MAAK3K,KAAK,GACV,MAAKU,KAAK;QACbmF,QAAQ,EAAE,MAAKjB,KAAK;QACpBgB,OAAO,EAAE,MAAKjB,IAAI;QAClBwE,UAAU,EAAE,MAAKzI,KAAK,CAACsE;MAAY,GACnC;MACF,IAAI,CAACtE,KAAK,EAAE;MACZ,IAAIqM,mBAAmB,GAAGrM,KAAK,CAAC,qBAAqB,CAAC;MACtD,OAAOA,KAAK,CAAC,qBAAqB,CAAC;MACnC,MAAKqB,QAAQ,CAACrB,KAAK,CAAC;MACpB,IAAIqM,mBAAmB,KAAKC,SAAS,EAAE;MACvC,MAAK7B,YAAY,CAAC4B,mBAAmB,CAAC;MACtC,IAAI,MAAK/M,KAAK,CAACwM,eAAe,EAAE;QAC9B,MAAKS,gBAAgB,EAAE;MACzB;IACF,CAAC;IAAA,2DACU,UAAAtC,CAAC,EAAI;MACd,MAAKmC,QAAQ,CAACnC,CAAC,CAAC;MAChB,MAAKmB,SAAS,GAAG,IAAI;IACvB,CAAC;IAAA,4DACW,YAAM;MAChB;MACA;MACA;MACA,MAAKtF,cAAc,CAACxF,IAAI,CACtByF,UAAU,CAAC;QAAA,OAAM,MAAK8B,WAAW,CAAC;UAAEC,OAAO,EAAE;QAAW,CAAC,CAAC;MAAA,GAAE,CAAC,CAAC,CAC/D;IACH,CAAC;IAAA,4DACW,YAAM;MAChB,MAAKhC,cAAc,CAACxF,IAAI,CACtByF,UAAU,CAAC;QAAA,OAAM,MAAK8B,WAAW,CAAC;UAAEC,OAAO,EAAE;QAAO,CAAC,CAAC;MAAA,GAAE,CAAC,CAAC,CAC3D;IACH,CAAC;IAAA,4DACW,UAACnI,KAAK,EAA0B;MAAA,IAAxBC,WAAW,uEAAG,KAAK;MACrCD,KAAK,GAAG6M,MAAM,CAAC7M,KAAK,CAAC;MACrB,IAAI8M,KAAK,CAAC9M,KAAK,CAAC,EAAE,OAAO,EAAE;MAC3B,MAAKmG,cAAc,CAACxF,IAAI,CACtByF,UAAU,CACR;QAAA,OACE,MAAK8B,WAAW,CACd;UACEC,OAAO,EAAE,OAAO;UAChB/G,KAAK,EAAEpB,KAAK;UACZ2E,YAAY,EAAE,MAAKtE,KAAK,CAACsE;QAC3B,CAAC,EACD1E,WAAW,CACZ;MAAA,GACH,CAAC,CACF,CACF;IACH,CAAC;IAAA,uDACM,YAAM;MACX,IAAI8M,SAAS;MACb,IAAI,MAAKpN,KAAK,CAACoM,GAAG,EAAE;QAClBgB,SAAS,GAAG,MAAK1M,KAAK,CAACsE,YAAY,GAAG,MAAKhF,KAAK,CAACyC,cAAc;MACjE,CAAC,MAAM;QACL,IAAI4K,yEAAS,iCAAM,MAAKrN,KAAK,GAAK,MAAKU,KAAK,EAAG,EAAE;UAC/C0M,SAAS,GAAG,MAAK1M,KAAK,CAACsE,YAAY,GAAG,MAAKhF,KAAK,CAACyC,cAAc;QACjE,CAAC,MAAM;UACL,OAAO,KAAK;QACd;MACF;MAEA,MAAK0I,YAAY,CAACiC,SAAS,CAAC;IAC9B,CAAC;IAAA,2DAEU,UAAAE,QAAQ,EAAI;MACrB,IAAI,MAAKvF,aAAa,EAAE;QACtBJ,aAAa,CAAC,MAAKI,aAAa,CAAC;MACnC;MACA,IAAMwF,WAAW,GAAG,MAAK7M,KAAK,CAAC6M,WAAW;MAC1C,IAAID,QAAQ,KAAK,QAAQ,EAAE;QACzB,IACEC,WAAW,KAAK,SAAS,IACzBA,WAAW,KAAK,SAAS,IACzBA,WAAW,KAAK,QAAQ,EACxB;UACA;QACF;MACF,CAAC,MAAM,IAAID,QAAQ,KAAK,OAAO,EAAE;QAC/B,IAAIC,WAAW,KAAK,QAAQ,IAAIA,WAAW,KAAK,SAAS,EAAE;UACzD;QACF;MACF,CAAC,MAAM,IAAID,QAAQ,KAAK,MAAM,EAAE;QAC9B,IAAIC,WAAW,KAAK,QAAQ,IAAIA,WAAW,KAAK,SAAS,EAAE;UACzD;QACF;MACF;MACA,MAAKxF,aAAa,GAAG7B,WAAW,CAAC,MAAKsH,IAAI,EAAE,MAAKxN,KAAK,CAACyN,aAAa,GAAG,EAAE,CAAC;MAC1E,MAAK1L,QAAQ,CAAC;QAAEwL,WAAW,EAAE;MAAU,CAAC,CAAC;IAC3C,CAAC;IAAA,wDACO,UAAAG,SAAS,EAAI;MACnB,IAAI,MAAK3F,aAAa,EAAE;QACtBJ,aAAa,CAAC,MAAKI,aAAa,CAAC;QACjC,MAAKA,aAAa,GAAG,IAAI;MAC3B;MACA,IAAMwF,WAAW,GAAG,MAAK7M,KAAK,CAAC6M,WAAW;MAC1C,IAAIG,SAAS,KAAK,QAAQ,EAAE;QAC1B,MAAK3L,QAAQ,CAAC;UAAEwL,WAAW,EAAE;QAAS,CAAC,CAAC;MAC1C,CAAC,MAAM,IAAIG,SAAS,KAAK,SAAS,EAAE;QAClC,IAAIH,WAAW,KAAK,SAAS,IAAIA,WAAW,KAAK,SAAS,EAAE;UAC1D,MAAKxL,QAAQ,CAAC;YAAEwL,WAAW,EAAE;UAAU,CAAC,CAAC;QAC3C;MACF,CAAC,MAAM;QACL;QACA,IAAIA,WAAW,KAAK,SAAS,EAAE;UAC7B,MAAKxL,QAAQ,CAAC;YAAEwL,WAAW,EAAE;UAAU,CAAC,CAAC;QAC3C;MACF;IACF,CAAC;IAAA,6DACY;MAAA,OAAM,MAAKvN,KAAK,CAACgG,QAAQ,IAAI,MAAKxF,KAAK,CAAC,SAAS,CAAC;IAAA;IAAA,8DACjD;MAAA,OACZ,MAAKR,KAAK,CAACgG,QAAQ,IACnB,MAAKtF,KAAK,CAAC6M,WAAW,KAAK,SAAS,IACpC,MAAK9M,QAAQ,CAAC,OAAO,CAAC;IAAA;IAAA,8DACV;MAAA,OAAM,MAAKT,KAAK,CAACgG,QAAQ,IAAI,MAAKxF,KAAK,CAAC,SAAS,CAAC;IAAA;IAAA,+DACjD;MAAA,OACb,MAAKR,KAAK,CAACgG,QAAQ,IACnB,MAAKtF,KAAK,CAAC6M,WAAW,KAAK,SAAS,IACpC,MAAK9M,QAAQ,CAAC,OAAO,CAAC;IAAA;IAAA,+DACT;MAAA,OAAM,MAAKT,KAAK,CAACgG,QAAQ,IAAI,MAAKxF,KAAK,CAAC,SAAS,CAAC;IAAA;IAAA,8DACnD;MAAA,OACZ,MAAKR,KAAK,CAACgG,QAAQ,IACnB,MAAKtF,KAAK,CAAC6M,WAAW,KAAK,SAAS,IACpC,MAAK9M,QAAQ,CAAC,MAAM,CAAC;IAAA;IAAA,yDAEd,YAAM;MAAA;MACb,IAAI6D,SAAS,GAAGqJ,iDAAU,CACxB,cAAc,EACd,MAAK3N,KAAK,CAACsE,SAAS,yBACpB,MAAKtE,KAAK,CAAC4N,OAAO,wDAAlB,oBAAoBC,MAAM,EAC1B;QACE,gBAAgB,EAAE,MAAK7N,KAAK,CAAC8N,QAAQ;QACrC,mBAAmB,EAAE;MACvB,CAAC,CACF;MACD,IAAInI,IAAI,mCAAQ,MAAK3F,KAAK,GAAK,MAAKU,KAAK,CAAE;MAC3C,IAAIqN,UAAU,GAAGC,6EAAa,CAACrI,IAAI,EAAE,CACnC,MAAM,EACN,SAAS,EACT,OAAO,EACP,UAAU,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,KAAK,EACL,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,SAAS,EACT,eAAe,EACf,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,SAAS,CACV,CAAC;MACF,IAAQsI,YAAY,GAAK,MAAKjO,KAAK,CAA3BiO,YAAY;MACpBF,UAAU,mCACLA,UAAU;QACbG,YAAY,EAAED,YAAY,GAAG,MAAKE,WAAW,GAAG,IAAI;QACpDC,YAAY,EAAEH,YAAY,GAAG,MAAKI,YAAY,GAAG,IAAI;QACrDC,WAAW,EAAEL,YAAY,GAAG,MAAKE,WAAW,GAAG,IAAI;QACnDvC,aAAa,EACX,MAAK5L,KAAK,CAAC4L,aAAa,IAAI,MAAKE,SAAS,GAAG,MAAKyC,aAAa,GAAG;MAAI,EACzE;MAED,IAAIC,IAAI;MACR,IACE,MAAKxO,KAAK,CAACwO,IAAI,KAAK,IAAI,IACxB,MAAK9N,KAAK,CAACoJ,UAAU,IAAI,MAAK9J,KAAK,CAAC8C,YAAY,EAChD;QACA,IAAI2L,QAAQ,GAAGT,6EAAa,CAACrI,IAAI,EAAE,CACjC,WAAW,EACX,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACZ,SAAS,CACV,CAAC;QACF,IAAQ+I,gBAAgB,GAAK,MAAK1O,KAAK,CAA/B0O,gBAAgB;QACxBD,QAAQ,mCACHA,QAAQ;UACXE,YAAY,EAAE,MAAKpG,WAAW;UAC9B2F,YAAY,EAAEQ,gBAAgB,GAAG,MAAKE,WAAW,GAAG,IAAI;UACxDN,WAAW,EAAEI,gBAAgB,GAAG,MAAKG,UAAU,GAAG,IAAI;UACtDT,YAAY,EAAEM,gBAAgB,GAAG,MAAKE,WAAW,GAAG;QAAI,EACzD;QACDJ,IAAI,gBAAG,2DAAC,0CAAI,EAAKC,QAAQ,CAAI;MAC/B;MAEA,IAAIK,SAAS,EAAEC,SAAS;MACxB,IAAIC,UAAU,GAAGhB,6EAAa,CAACrI,IAAI,EAAE,CACnC,UAAU,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,WAAW,EACX,SAAS,CACV,CAAC;MACFqJ,UAAU,CAACL,YAAY,GAAG,MAAKpG,WAAW;MAE1C,IAAI,MAAKvI,KAAK,CAACiP,MAAM,EAAE;QACrBH,SAAS,gBAAG,2DAAC,iDAAS,EAAKE,UAAU,CAAI;QACzCD,SAAS,gBAAG,2DAAC,iDAAS,EAAKC,UAAU,CAAI;MAC3C;MAEA,IAAIE,mBAAmB,GAAG,IAAI;MAE9B,IAAI,MAAKlP,KAAK,CAAC8N,QAAQ,EAAE;QACvBoB,mBAAmB,GAAG;UACpBjK,MAAM,EAAE,MAAKvE,KAAK,CAACyO;QACrB,CAAC;MACH;MAEA,IAAIC,kBAAkB,GAAG,IAAI;MAE7B,IAAI,MAAKpP,KAAK,CAAC8N,QAAQ,KAAK,KAAK,EAAE;QACjC,IAAI,MAAK9N,KAAK,CAACwC,UAAU,KAAK,IAAI,EAAE;UAClC4M,kBAAkB,GAAG;YACnBC,OAAO,EAAE,MAAM,GAAG,MAAKrP,KAAK,CAACsP;UAC/B,CAAC;QACH;MACF,CAAC,MAAM;QACL,IAAI,MAAKtP,KAAK,CAACwC,UAAU,KAAK,IAAI,EAAE;UAClC4M,kBAAkB,GAAG;YACnBC,OAAO,EAAE,MAAKrP,KAAK,CAACsP,aAAa,GAAG;UACtC,CAAC;QACH;MACF;MAEA,IAAMC,SAAS,mCAAQL,mBAAmB,GAAKE,kBAAkB,CAAE;MACnE,IAAMI,SAAS,GAAG,MAAKxP,KAAK,CAACwP,SAAS;MACtC,IAAIC,SAAS,GAAG;QACdnL,SAAS,EAAEqJ,iDAAU,yBAAC,MAAK3N,KAAK,CAAC4N,OAAO,yDAAlB,qBAAoBjJ,IAAI,EAAE,YAAY,CAAC;QAC7DX,KAAK,EAAEuL,SAAS;QAChBG,OAAO,EAAE,MAAKf,YAAY;QAC1BgB,WAAW,EAAEH,SAAS,GAAG,MAAK9C,UAAU,GAAG,IAAI;QAC/CkD,WAAW,EAAE,MAAKlP,KAAK,CAACmP,QAAQ,IAAIL,SAAS,GAAG,MAAK3C,SAAS,GAAG,IAAI;QACrEiD,SAAS,EAAEN,SAAS,GAAG,MAAK1C,QAAQ,GAAG,IAAI;QAC3CsB,YAAY,EAAE,MAAK1N,KAAK,CAACmP,QAAQ,IAAIL,SAAS,GAAG,MAAK1C,QAAQ,GAAG,IAAI;QACrEiD,YAAY,EAAEP,SAAS,GAAG,MAAK9C,UAAU,GAAG,IAAI;QAChDsD,WAAW,EAAE,MAAKtP,KAAK,CAACmP,QAAQ,IAAIL,SAAS,GAAG,MAAK3C,SAAS,GAAG,IAAI;QACrEoD,UAAU,EAAET,SAAS,GAAG,MAAKU,QAAQ,GAAG,IAAI;QAC5CC,aAAa,EAAE,MAAKzP,KAAK,CAACmP,QAAQ,IAAIL,SAAS,GAAG,MAAK1C,QAAQ,GAAG,IAAI;QACtEsD,SAAS,EAAE,MAAKpQ,KAAK,CAACmM,aAAa,GAAG,MAAKD,UAAU,GAAG;MAC1D,CAAC;MAED,IAAImE,gBAAgB,GAAG;QACrB/L,SAAS,EAAEA,SAAS;QACpB2H,GAAG,EAAE,KAAK;QACVjI,KAAK,EAAE,MAAKhE,KAAK,CAACgE;MACpB,CAAC;MAED,IAAI,MAAKhE,KAAK,CAACuE,OAAO,EAAE;QAAA;QACtBkL,SAAS,GAAG;UAAEnL,SAAS,EAAEqJ,iDAAU,yBAAC,MAAK3N,KAAK,CAAC4N,OAAO,yDAAlB,qBAAoBjJ,IAAI,EAAE,YAAY;QAAG,CAAC;QAC9E0L,gBAAgB,GAAG;UAAE/L,SAAS,EAATA;QAAU,CAAC;MAClC;MACA,oBACE,kEAAS+L,gBAAgB,EACtB,CAAC,MAAKrQ,KAAK,CAACuE,OAAO,GAAGuK,SAAS,GAAG,EAAE,eACrC;QAAK,GAAG,EAAE,MAAKwB;MAAe,GAAKb,SAAS,gBAC1C,2DAAC,4CAAK;QAAC,GAAG,EAAE,MAAKc;MAAgB,GAAKxC,UAAU,GAC7C,MAAK/N,KAAK,CAAC+C,QAAQ,CACd,CACJ,EACL,CAAC,MAAK/C,KAAK,CAACuE,OAAO,GAAGwK,SAAS,GAAG,EAAE,EACpC,CAAC,MAAK/O,KAAK,CAACuE,OAAO,GAAGiK,IAAI,GAAG,EAAE,CAC5B;IAEV,CAAC;IAruBC,MAAK7J,IAAI,GAAG,IAAI;IAChB,MAAKC,KAAK,GAAG,IAAI;IACjB,MAAKlE,KAAK,mCACL8P,sDAAY;MACfxL,YAAY,EAAE,MAAKhF,KAAK,CAACyQ,YAAY;MACrC3G,UAAU,EAAE9G,4CAAK,CAACC,QAAQ,CAACqF,KAAK,CAAC,MAAKtI,KAAK,CAAC+C,QAAQ;IAAC,EACtD;IACD,MAAKyD,cAAc,GAAG,EAAE;IACxB,MAAKsF,SAAS,GAAG,IAAI;IACrB,MAAKrD,eAAe,GAAG,IAAI;IAC3B,IAAMiI,QAAQ,GAAG,MAAKC,OAAO,EAAE;IAC/B,MAAKjQ,KAAK,mCAAQ,MAAKA,KAAK,GAAKgQ,QAAQ,CAAE;IAAC;EAC9C;EAAC;IAAA;IAAA,OAkFD,wBAAezI,SAAS,EAAE;MACxB,IAAIG,aAAa,GAAG,KAAK;MACzB,iCAAgBwI,MAAM,CAACC,IAAI,CAAC,IAAI,CAAC7Q,KAAK,CAAC,oCAAE;QAApC,IAAImE,GAAG;QACV,IAAI,CAAC8D,SAAS,CAAC6I,cAAc,CAAC3M,GAAG,CAAC,EAAE;UAClCiE,aAAa,GAAG,IAAI;UACpB;QACF;QACA,IACE,QAAOH,SAAS,CAAC9D,GAAG,CAAC,MAAK,QAAQ,IAClC,OAAO8D,SAAS,CAAC9D,GAAG,CAAC,KAAK,UAAU,EACpC;UACA;QACF;QACA,IAAI8D,SAAS,CAAC9D,GAAG,CAAC,KAAK,IAAI,CAACnE,KAAK,CAACmE,GAAG,CAAC,EAAE;UACtCiE,aAAa,GAAG,IAAI;UACpB;QACF;MACF;MACA,OACEA,aAAa,IACbpF,4CAAK,CAACC,QAAQ,CAACqF,KAAK,CAAC,IAAI,CAACtI,KAAK,CAAC+C,QAAQ,CAAC,KACvCC,4CAAK,CAACC,QAAQ,CAACqF,KAAK,CAACL,SAAS,CAAClF,QAAQ,CAAC;IAE9C;EAAC;EAAA;AAAA,EAxH8BC,4CAAK,CAACyB,SAAS,E;;;;;;;AC7BhD;AAAA,IAAM+L,YAAY,GAAG;EACnBlK,SAAS,EAAE,KAAK;EAChBiH,WAAW,EAAE,IAAI;EACjBwD,gBAAgB,EAAE,CAAC;EACnBC,WAAW,EAAE,IAAI;EACjBhM,YAAY,EAAE,CAAC;EACfiM,SAAS,EAAE,CAAC;EACZpB,QAAQ,EAAE,KAAK;EACfqB,WAAW,EAAE,KAAK;EAClBC,WAAW,EAAE,KAAK;EAClB3L,cAAc,EAAE,EAAE;EAClB2J,UAAU,EAAE,IAAI;EAChBiC,SAAS,EAAE,IAAI;EACfC,SAAS,EAAE,KAAK;EAChBvH,UAAU,EAAE,IAAI;EAChBwH,WAAW,EAAE,IAAI;EACjBpH,UAAU,EAAE,IAAI;EAChBqH,SAAS,EAAE,IAAI;EACfC,MAAM,EAAE,KAAK;EAAE;EACfC,OAAO,EAAE,KAAK;EACdC,WAAW,EAAE;IAAEC,MAAM,EAAE,CAAC;IAAEC,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAE,CAAC;IAAEC,IAAI,EAAE;EAAE,CAAC;EACvDvI,UAAU,EAAE,CAAC,CAAC;EACdE,UAAU,EAAE,CAAC;EACbkC,WAAW,EAAE;AACf,CAAC;AAEc6E,2EAAY,E;;;;;;AC1B3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,8CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxXA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB;AAChB;;AAEA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK,KAA6B;AAClC;AACA;AACA,EAAE,UAAU,IAA4E;AACxF;AACA,EAAE,iCAAqB,EAAE,mCAAE;AAC3B;AACA,GAAG;AAAA,oGAAC;AACJ,EAAE,MAAM,EAEN;AACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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D,IAAIH,WAAW,GAAG;QAChB3X,YAAY,EAAE,IAAI,CAAChF,KAAK,CAACgF,YAAY;QACrC8E,UAAU,EAAE,IAAI,CAAC9J,KAAK,CAAC8J;MACzB,CAAC;MACD,IAAIiF,SAAS;MAEb,IAAI,IAAI,CAAC/O,KAAK,CAAC+O,SAAS,EAAE;QACxBA,SAAS,gBAAG/L,4CAAK,CAACkB,YAAY,CAAC,IAAI,CAAClE,KAAK,CAAC+O,SAAS,kCAC9CgO,cAAc,GACdJ,WAAW,EACd;MACJ,CAAC,MAAM;QACL5N,SAAS,gBACP;UAAQ,GAAG,EAAC,GAAG;UAAC,IAAI,EAAC;QAAQ,GAAKgO,cAAc,GAC7C,GAAG,SAGP;MACH;MAEA,OAAOhO,SAAS;IAClB;EAAC;EAAA;AAAA,EAlD4B/L,4CAAK,CAACsY,aAAa,E;;;;;;;AC/DlD;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,EAAE;AACjB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA,iCAAiC,YAAY;AAC7C,mDAAmD,gBAAgB;AACnE;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,gCAAgC,6BAA6B,EAAE,aAAa;AAC5G,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,qDAAqD,mCAAmC,EAAE;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA,6CAA6C,gBAAgB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B,WAAW,UAAU;AACrB,aAAa;AACb;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,6CAA6C,yBAAyB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,kCAAkC,iEAAiE;AACnG;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,8CAA8C;AAC9C,CAAC;AACD;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,2CAA2C;AAC7E;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;AACA,eAAe,yBAAyB;AACxC;AACA,eAAe,eAAe;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA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AEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,4BAA4B;AAC3C,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,mBAAmB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACpFA,mBAAmB,mBAAO,CAAC,EAAgB;AAC3C,WAAW,mBAAO,CAAC,EAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iCAAiC;AACjC,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;;;;;;AC5FA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,YAAY;AACtB;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA","file":"react-slick.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Slider\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"Slider\"] = factory(root[\"React\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__2__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","import Slider from \"./slider\";\n\nexport default Slider;\n","\"use strict\";\n\nimport React from \"react\";\nimport { InnerSlider } from \"./inner-slider\";\nimport json2mq from \"json2mq\";\nimport defaultProps from \"./default-props\";\nimport { canUseDOM } from \"./utils/innerSliderUtils\";\nconst enquire = canUseDOM() && require(\"enquire.js\");\n\nexport default class Slider extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n breakpoint: null\n };\n this._responsiveMediaHandlers = [];\n }\n\n innerSliderRefHandler = ref => (this.innerSlider = ref);\n\n media(query, handler) {\n // javascript handler for css media query\n enquire.register(query, handler);\n this._responsiveMediaHandlers.push({ query, handler });\n }\n\n // handles responsive breakpoints\n componentDidMount() {\n // performance monitoring\n //if (process.env.NODE_ENV !== 'production') {\n //const { whyDidYouUpdate } = require('why-did-you-update')\n //whyDidYouUpdate(React)\n //}\n if (this.props.responsive) {\n let breakpoints = this.props.responsive.map(\n breakpt => breakpt.breakpoint\n );\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: 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 let query = json2mq({ minWidth: breakpoints.slice(-1)[0] });\n\n canUseDOM() &&\n this.media(query, () => {\n this.setState({ breakpoint: null });\n });\n }\n }\n\n componentWillUnmount() {\n this._responsiveMediaHandlers.forEach(function(obj) {\n enquire.unregister(obj.query, obj.handler);\n });\n }\n\n slickPrev = () => this.innerSlider.slickPrev();\n\n slickNext = () => this.innerSlider.slickNext();\n\n slickGoTo = (slide, dontAnimate = false) =>\n this.innerSlider.slickGoTo(slide, dontAnimate);\n\n slickPause = () => this.innerSlider.pause(\"paused\");\n\n slickPlay = () => this.innerSlider.autoPlay(\"play\");\n\n render() {\n var settings;\n var newProps;\n if (this.state.breakpoint) {\n newProps = this.props.responsive.filter(\n resp => resp.breakpoint === this.state.breakpoint\n );\n settings =\n newProps[0].settings === \"unslick\"\n ? \"unslick\"\n : { ...defaultProps, ...this.props, ...newProps[0].settings };\n } else {\n settings = { ...defaultProps, ...this.props };\n }\n\n // force scrolling by one if centerMode is on\n if (settings.centerMode) {\n if (\n settings.slidesToScroll > 1 &&\n process.env.NODE_ENV !== \"production\"\n ) {\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 (\n settings.slidesToScroll > 1 &&\n process.env.NODE_ENV !== \"production\"\n ) {\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 = React.Children.toArray(this.props.children);\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 (\n settings.variableWidth &&\n (settings.rows > 1 || settings.slidesPerRow > 1)\n ) {\n console.warn(\n `variableWidth is not supported in case of rows > 1 or slidesPerRow > 1`\n );\n settings.variableWidth = false;\n }\n let newChildren = [];\n let currentWidth = null;\n for (\n let i = 0;\n i < children.length;\n i += settings.rows * settings.slidesPerRow\n ) {\n let newSlide = [];\n for (\n let j = i;\n j < i + settings.rows * settings.slidesPerRow;\n j += settings.slidesPerRow\n ) {\n let 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 React.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(
    {row}
    );\n }\n if (settings.variableWidth) {\n newChildren.push(\n
    \n {newSlide}\n
    \n );\n } else {\n newChildren.push(
    {newSlide}
    );\n }\n }\n\n if (settings === \"unslick\") {\n const className = \"regular slider \" + (this.props.className || \"\");\n return
    {children}
    ;\n } else if (newChildren.length <= settings.slidesToShow) {\n settings.unslick = true;\n }\n return (\n <>\n \n {newChildren}\n \n \n );\n }\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__2__;","\"use strict\";\n\nimport React from \"react\";\nimport initialState from \"./initial-state\";\nimport debounce from \"lodash.debounce\";\nimport classnames from \"classnames\";\nimport {\n getOnDemandLazySlides,\n extractObject,\n initializedState,\n getHeight,\n canGoNext,\n slideHandler,\n changeSlide,\n keyHandler,\n swipeStart,\n swipeMove,\n swipeEnd,\n getPreClones,\n getPostClones,\n getTrackLeft,\n getTrackCSS\n} from \"./utils/innerSliderUtils\";\n\nimport { Track } from \"./track\";\nimport { Dots } from \"./dots\";\nimport { PrevArrow, NextArrow } from \"./arrows\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\nexport class InnerSlider extends React.Component {\n constructor(props) {\n super(props);\n this.list = null;\n this.track = null;\n this.state = {\n ...initialState,\n currentSlide: this.props.initialSlide,\n slideCount: React.Children.count(this.props.children)\n };\n this.callbackTimers = [];\n this.clickable = true;\n this.debouncedResize = null;\n const ssrState = this.ssrInit();\n this.state = { ...this.state, ...ssrState };\n }\n listRefHandler = ref => (this.list = ref);\n trackRefHandler = ref => (this.track = ref);\n adaptHeight = () => {\n if (this.props.adaptiveHeight && this.list) {\n const elem = this.list.querySelector(\n `[data-index=\"${this.state.currentSlide}\"]`\n );\n this.list.style.height = getHeight(elem) + \"px\";\n }\n };\n componentDidMount = () => {\n this.props.onInit && this.props.onInit();\n if (this.props.lazyLoad) {\n let slidesToLoad = getOnDemandLazySlides({\n ...this.props,\n ...this.state\n });\n if (slidesToLoad.length > 0) {\n this.setState(prevState => ({\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n }));\n if (this.props.onLazyLoad) {\n this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n let spec = { listRef: this.list, trackRef: this.track, ...this.props };\n this.updateState(spec, true, () => {\n this.adaptHeight();\n this.props.autoplay && this.autoPlay(\"update\");\n });\n if (this.props.lazyLoad === \"progressive\") {\n this.lazyLoadTimer = setInterval(this.progressiveLazyLoad, 1000);\n }\n this.ro = new ResizeObserver(() => {\n if (this.state.animating) {\n this.onWindowResized(false); // don't set trackStyle hence don't break animation\n this.callbackTimers.push(\n setTimeout(() => this.onWindowResized(), this.props.speed)\n );\n } else {\n this.onWindowResized();\n }\n });\n this.ro.observe(this.list);\n document.querySelectorAll &&\n Array.prototype.forEach.call(\n document.querySelectorAll(\".slick-slide\"),\n slide => {\n slide.onfocus = this.props.pauseOnFocus ? this.onSlideFocus : null;\n slide.onblur = this.props.pauseOnFocus ? this.onSlideBlur : null;\n }\n );\n if (window.addEventListener) {\n window.addEventListener(\"resize\", this.onWindowResized);\n } else {\n window.attachEvent(\"onresize\", this.onWindowResized);\n }\n };\n componentWillUnmount = () => {\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\n didPropsChange(prevProps) {\n let setTrackStyle = false;\n for (let key of Object.keys(this.props)) {\n if (!prevProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n if (\n typeof prevProps[key] === \"object\" ||\n typeof prevProps[key] === \"function\"\n ) {\n continue;\n }\n if (prevProps[key] !== this.props[key]) {\n setTrackStyle = true;\n break;\n }\n }\n return (\n setTrackStyle ||\n React.Children.count(this.props.children) !==\n React.Children.count(prevProps.children)\n );\n }\n\n componentDidUpdate = prevProps => {\n this.checkImagesLoad();\n this.props.onReInit && this.props.onReInit();\n if (this.props.lazyLoad) {\n let slidesToLoad = getOnDemandLazySlides({\n ...this.props,\n ...this.state\n });\n if (slidesToLoad.length > 0) {\n this.setState(prevState => ({\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n }));\n if (this.props.onLazyLoad) {\n this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n // if (this.props.onLazyLoad) {\n // this.props.onLazyLoad([leftMostSlide])\n // }\n this.adaptHeight();\n let spec = {\n listRef: this.list,\n trackRef: this.track,\n ...this.props,\n ...this.state\n };\n const setTrackStyle = this.didPropsChange(prevProps);\n setTrackStyle &&\n this.updateState(spec, setTrackStyle, () => {\n if (\n this.state.currentSlide >= React.Children.count(this.props.children)\n ) {\n this.changeSlide({\n message: \"index\",\n index:\n React.Children.count(this.props.children) -\n this.props.slidesToShow,\n currentSlide: this.state.currentSlide\n });\n }\n if (this.props.autoplay) {\n this.autoPlay(\"update\");\n } else {\n this.pause(\"paused\");\n }\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 && this.track.node);\n // prevent warning: setting state on unmounted component (server side rendering)\n if (!isTrackMounted) return;\n let spec = {\n listRef: this.list,\n trackRef: this.track,\n ...this.props,\n ...this.state\n };\n this.updateState(spec, setTrackStyle, () => {\n if (this.props.autoplay) this.autoPlay(\"update\");\n else 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 let updatedState = initializedState(spec);\n spec = { ...spec, ...updatedState, slideIndex: updatedState.currentSlide };\n let targetLeft = getTrackLeft(spec);\n spec = { ...spec, left: targetLeft };\n let trackStyle = getTrackCSS(spec);\n if (\n setTrackStyle ||\n React.Children.count(this.props.children) !==\n React.Children.count(spec.children)\n ) {\n updatedState[\"trackStyle\"] = trackStyle;\n }\n this.setState(updatedState, callback);\n };\n\n ssrInit = () => {\n if (this.props.variableWidth) {\n let trackWidth = 0,\n trackLeft = 0;\n let childrenWidths = [];\n let preClones = getPreClones({\n ...this.props,\n ...this.state,\n slideCount: this.props.children.length\n });\n let postClones = getPostClones({\n ...this.props,\n ...this.state,\n slideCount: this.props.children.length\n });\n this.props.children.forEach(child => {\n childrenWidths.push(child.props.style.width);\n trackWidth += child.props.style.width;\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.state.currentSlide; i++) {\n trackLeft += childrenWidths[i];\n }\n let trackStyle = {\n width: trackWidth + \"px\",\n left: -trackLeft + \"px\"\n };\n if (this.props.centerMode) {\n let currentWidth = `${childrenWidths[this.state.currentSlide]}px`;\n trackStyle.left = `calc(${trackStyle.left} + (100% - ${currentWidth}) / 2 ) `;\n }\n return {\n trackStyle\n };\n }\n let childrenCount = React.Children.count(this.props.children);\n const spec = { ...this.props, ...this.state, slideCount: childrenCount };\n let slideCount = getPreClones(spec) + getPostClones(spec) + childrenCount;\n let trackWidth = (100 / this.props.slidesToShow) * slideCount;\n let slideWidth = 100 / slideCount;\n let trackLeft =\n (-slideWidth *\n (getPreClones(spec) + this.state.currentSlide) *\n trackWidth) /\n 100;\n if (this.props.centerMode) {\n trackLeft += (100 - (slideWidth * trackWidth) / 100) / 2;\n }\n let trackStyle = {\n width: trackWidth + \"%\",\n left: trackLeft + \"%\"\n };\n return {\n slideWidth: slideWidth + \"%\",\n trackStyle: trackStyle\n };\n };\n checkImagesLoad = () => {\n let images =\n (this.list &&\n this.list.querySelectorAll &&\n this.list.querySelectorAll(\".slick-slide img\")) ||\n [];\n let imagesCount = images.length,\n loadedCount = 0;\n Array.prototype.forEach.call(images, image => {\n const handler = () =>\n ++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 = e => {\n prevClickHandler(e);\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(\n setTimeout(this.onWindowResized, this.props.speed)\n );\n };\n } else {\n image.onload = handler;\n image.onerror = () => {\n handler();\n this.props.onLazyLoadError && this.props.onLazyLoadError();\n };\n }\n }\n });\n };\n progressiveLazyLoad = () => {\n let slidesToLoad = [];\n const spec = { ...this.props, ...this.state };\n for (\n let index = this.state.currentSlide;\n index < this.state.slideCount + getPostClones(spec);\n index++\n ) {\n if (this.state.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n for (\n let index = this.state.currentSlide - 1;\n index >= -getPreClones(spec);\n index--\n ) {\n if (this.state.lazyLoadedList.indexOf(index) < 0) {\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 if (this.props.onLazyLoad) {\n this.props.onLazyLoad(slidesToLoad);\n }\n } else {\n if (this.lazyLoadTimer) {\n clearInterval(this.lazyLoadTimer);\n delete this.lazyLoadTimer;\n }\n }\n };\n slideHandler = (index, dontAnimate = false) => {\n const {\n asNavFor,\n beforeChange,\n onLazyLoad,\n speed,\n afterChange\n } = this.props;\n // capture currentslide before state is updated\n const currentSlide = this.state.currentSlide;\n let { state, nextState } = slideHandler({\n index,\n ...this.props,\n ...this.state,\n trackRef: this.track,\n useCSS: this.props.useCSS && !dontAnimate\n });\n if (!state) return;\n beforeChange && beforeChange(currentSlide, state.currentSlide);\n let slidesToLoad = state.lazyLoadedList.filter(\n value => this.state.lazyLoadedList.indexOf(value) < 0\n );\n onLazyLoad && slidesToLoad.length > 0 && onLazyLoad(slidesToLoad);\n if (!this.props.waitForAnimate && this.animationEndCallback) {\n clearTimeout(this.animationEndCallback);\n afterChange && afterChange(currentSlide);\n delete this.animationEndCallback;\n }\n this.setState(state, () => {\n // asNavForIndex check is to avoid recursive calls of slideHandler in waitForAnimate=false mode\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(\n setTimeout(() => this.setState({ animating }), 10)\n );\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.state };\n let 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.autoPlay(\"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 let dir = keyHandler(e, this.props.accessibility, this.props.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.props.verticalSwiping) {\n this.disableBodyScroll();\n }\n let state = swipeStart(e, this.props.swipe, this.props.draggable);\n state !== \"\" && this.setState(state);\n };\n swipeMove = e => {\n let state = swipeMove(e, {\n ...this.props,\n ...this.state,\n trackRef: this.track,\n listRef: this.list,\n slideIndex: this.state.currentSlide\n });\n if (!state) return;\n if (state[\"swiping\"]) {\n this.clickable = false;\n }\n this.setState(state);\n };\n swipeEnd = e => {\n let state = swipeEnd(e, {\n ...this.props,\n ...this.state,\n trackRef: this.track,\n listRef: this.list,\n slideIndex: this.state.currentSlide\n });\n if (!state) return;\n let 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 };\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(\n setTimeout(() => this.changeSlide({ message: \"previous\" }), 0)\n );\n };\n slickNext = () => {\n this.callbackTimers.push(\n setTimeout(() => this.changeSlide({ message: \"next\" }), 0)\n );\n };\n slickGoTo = (slide, dontAnimate = false) => {\n slide = Number(slide);\n if (isNaN(slide)) return \"\";\n this.callbackTimers.push(\n setTimeout(\n () =>\n this.changeSlide(\n {\n message: \"index\",\n index: slide,\n currentSlide: this.state.currentSlide\n },\n dontAnimate\n ),\n 0\n )\n );\n };\n play = () => {\n var nextIndex;\n if (this.props.rtl) {\n nextIndex = this.state.currentSlide - this.props.slidesToScroll;\n } else {\n if (canGoNext({ ...this.props, ...this.state })) {\n nextIndex = this.state.currentSlide + this.props.slidesToScroll;\n } else {\n return false;\n }\n }\n\n this.slideHandler(nextIndex);\n };\n\n autoPlay = playType => {\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n }\n const autoplaying = this.state.autoplaying;\n if (playType === \"update\") {\n if (\n autoplaying === \"hovered\" ||\n autoplaying === \"focused\" ||\n autoplaying === \"paused\"\n ) {\n return;\n }\n } else if (playType === \"leave\") {\n if (autoplaying === \"paused\" || autoplaying === \"focused\") {\n return;\n }\n } else if (playType === \"blur\") {\n if (autoplaying === \"paused\" || autoplaying === \"hovered\") {\n return;\n }\n }\n this.autoplayTimer = setInterval(this.play, this.props.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.state.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 }\n } else {\n // pauseType is 'hovered'\n if (autoplaying === \"playing\") {\n this.setState({ autoplaying: \"hovered\" });\n }\n }\n };\n onDotsOver = () => this.props.autoplay && this.pause(\"hovered\");\n onDotsLeave = () =>\n this.props.autoplay &&\n this.state.autoplaying === \"hovered\" &&\n this.autoPlay(\"leave\");\n onTrackOver = () => this.props.autoplay && this.pause(\"hovered\");\n onTrackLeave = () =>\n this.props.autoplay &&\n this.state.autoplaying === \"hovered\" &&\n this.autoPlay(\"leave\");\n onSlideFocus = () => this.props.autoplay && this.pause(\"focused\");\n onSlideBlur = () =>\n this.props.autoplay &&\n this.state.autoplaying === \"focused\" &&\n this.autoPlay(\"blur\");\n\n render = () => {\n var className = classnames(\n \"slick-slider\",\n this.props.className,\n this.props.classes?.slider,\n {\n \"slick-vertical\": this.props.vertical,\n \"slick-initialized\": true\n }\n );\n let spec = { ...this.props, ...this.state };\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 \"omitLazyForSlides\",\n \"classes\"\n ]);\n const { pauseOnHover } = this.props;\n trackProps = {\n ...trackProps,\n onMouseEnter: pauseOnHover ? this.onTrackOver : null,\n onMouseLeave: pauseOnHover ? this.onTrackLeave : null,\n onMouseOver: pauseOnHover ? this.onTrackOver : null,\n focusOnSelect:\n this.props.focusOnSelect && this.clickable ? this.selectHandler : null\n };\n\n var dots;\n if (\n this.props.dots === true &&\n this.state.slideCount >= this.props.slidesToShow\n ) {\n let dotProps = extractObject(spec, [\n \"dotsClass\",\n \"slideCount\",\n \"slidesToShow\",\n \"currentSlide\",\n \"slidesToScroll\",\n \"clickHandler\",\n \"children\",\n \"customPaging\",\n \"infinite\",\n \"appendDots\",\n \"classes\"\n ]);\n const { pauseOnDotsHover } = this.props;\n dotProps = {\n ...dotProps,\n clickHandler: this.changeSlide,\n onMouseEnter: pauseOnDotsHover ? this.onDotsLeave : null,\n onMouseOver: pauseOnDotsHover ? this.onDotsOver : null,\n onMouseLeave: pauseOnDotsHover ? this.onDotsLeave : null\n };\n dots = ;\n }\n\n var prevArrow, nextArrow;\n let arrowProps = extractObject(spec, [\n \"infinite\",\n \"centerMode\",\n \"currentSlide\",\n \"slideCount\",\n \"slidesToShow\",\n \"prevArrow\",\n \"nextArrow\",\n \"classes\"\n ]);\n arrowProps.clickHandler = this.changeSlide;\n\n if (this.props.arrows) {\n prevArrow = ;\n nextArrow = ;\n }\n\n var verticalHeightStyle = null;\n\n if (this.props.vertical) {\n verticalHeightStyle = {\n height: this.state.listHeight\n };\n }\n\n var centerPaddingStyle = null;\n\n if (this.props.vertical === false) {\n if (this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: \"0px \" + this.props.centerPadding\n };\n }\n } else {\n if (this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: this.props.centerPadding + \" 0px\"\n };\n }\n }\n\n const listStyle = { ...verticalHeightStyle, ...centerPaddingStyle };\n const touchMove = this.props.touchMove;\n let listProps = {\n className: classnames(this.props.classes?.list, \"slick-list\"),\n style: listStyle,\n onClick: this.clickHandler,\n onMouseDown: touchMove ? this.swipeStart : null,\n onMouseMove: this.state.dragging && touchMove ? this.swipeMove : null,\n onMouseUp: touchMove ? this.swipeEnd : null,\n onMouseLeave: this.state.dragging && touchMove ? this.swipeEnd : null,\n onTouchStart: touchMove ? this.swipeStart : null,\n onTouchMove: this.state.dragging && touchMove ? this.swipeMove : null,\n onTouchEnd: touchMove ? this.touchEnd : null,\n onTouchCancel: this.state.dragging && touchMove ? this.swipeEnd : null,\n onKeyDown: this.props.accessibility ? this.keyHandler : null\n };\n\n let innerSliderProps = {\n className: className,\n dir: \"ltr\",\n style: this.props.style\n };\n\n if (this.props.unslick) {\n listProps = { className: classnames(this.props.classes?.list, \"slick-list\"), };\n innerSliderProps = { className };\n }\n return (\n
    \n {!this.props.unslick ? prevArrow : \"\"}\n
    \n \n {this.props.children}\n \n
    \n {!this.props.unslick ? nextArrow : \"\"}\n {!this.props.unslick ? dots : \"\"}\n
    \n );\n };\n}\n","const initialState = {\n animating: false,\n autoplaying: null,\n currentDirection: 0,\n currentLeft: null,\n currentSlide: 0,\n direction: 1,\n dragging: false,\n edgeDragged: false,\n initialized: false,\n lazyLoadedList: [],\n listHeight: null,\n listWidth: null,\n scrolling: false,\n slideCount: null,\n slideHeight: null,\n slideWidth: null,\n swipeLeft: null,\n swiped: false, // used by swipeEvent. differentites between touch and swipe.\n swiping: false,\n touchObject: { startX: 0, startY: 0, curX: 0, curY: 0 },\n trackStyle: {},\n trackWidth: 0,\n targetSlide: 0\n};\n\nexport default initialState;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React from \"react\";\n\nexport function clamp(number, lowerBound, upperBound) {\n return Math.max(lowerBound, Math.min(number, upperBound));\n}\n\nexport const safePreventDefault = event => {\n const passiveEvents = [\"onTouchStart\", \"onTouchMove\", \"onWheel\"];\n if (!passiveEvents.includes(event._reactName)) {\n event.preventDefault();\n }\n};\n\nexport const getOnDemandLazySlides = spec => {\n let onDemandSlides = [];\n let startIndex = lazyStartIndex(spec);\n let endIndex = lazyEndIndex(spec);\n for (let slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n return onDemandSlides;\n};\n\n// return list of slides that need to be present\nexport const getRequiredLazySlides = spec => {\n let requiredSlides = [];\n let startIndex = lazyStartIndex(spec);\n let endIndex = lazyEndIndex(spec);\n for (let slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n return requiredSlides;\n};\n\n// startIndex that needs to be present\nexport const lazyStartIndex = spec => {\n let startIndex = spec.currentSlide - lazySlidesOnLeft(spec);\n if (spec.lazyLoad === \"anticipated\") startIndex -= 1;\n return startIndex;\n};\nexport const lazyEndIndex = spec => {\n let endIndex = spec.currentSlide + lazySlidesOnRight(spec);\n if (spec.lazyLoad === \"anticipated\") endIndex += 1;\n return endIndex;\n};\nexport const lazySlidesOnLeft = spec =>\n spec.centerMode\n ? Math.floor(spec.slidesToShow / 2) +\n (parseInt(spec.centerPadding) > 0 ? 1 : 0)\n : 0;\nexport const lazySlidesOnRight = spec =>\n spec.centerMode\n ? Math.floor((spec.slidesToShow - 1) / 2) +\n 1 +\n (parseInt(spec.centerPadding) > 0 ? 1 : 0)\n : spec.slidesToShow;\n\n// get width of an element\nexport const getWidth = elem => (elem && elem.offsetWidth) || 0;\nexport const getHeight = elem => (elem && elem.offsetHeight) || 0;\nexport const getSwipeDirection = (touchObject, verticalSwiping = false) => {\n var xDist, yDist, r, swipeAngle;\n xDist = touchObject.startX - touchObject.curX;\n yDist = touchObject.startY - touchObject.curY;\n r = Math.atan2(yDist, xDist);\n swipeAngle = Math.round((r * 180) / Math.PI);\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n if (\n (swipeAngle <= 45 && swipeAngle >= 0) ||\n (swipeAngle <= 360 && swipeAngle >= 315)\n ) {\n return \"left\";\n }\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return \"right\";\n }\n if (verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return \"up\";\n } else {\n return \"down\";\n }\n }\n\n return \"vertical\";\n};\n\n// whether or not we can go next\nexport const canGoNext = spec => {\n let canGo = true;\n if (!spec.infinite) {\n if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n canGo = false;\n } else if (\n spec.slideCount <= spec.slidesToShow ||\n spec.currentSlide >= spec.slideCount - spec.slidesToShow\n ) {\n canGo = false;\n }\n }\n return canGo;\n};\n\n// given an object and a list of keys, return new object with given keys\nexport const extractObject = (spec, keys) => {\n let newObject = {};\n keys.forEach(key => (newObject[key] = spec[key]));\n return newObject;\n};\n\n// get initialized state\nexport const initializedState = spec => {\n // spec also contains listRef, trackRef\n let slideCount = React.Children.count(spec.children);\n const listNode = spec.listRef;\n let listWidth = Math.ceil(getWidth(listNode));\n const trackNode = spec.trackRef && spec.trackRef.node;\n let trackWidth = Math.ceil(getWidth(trackNode));\n let slideWidth;\n if (!spec.vertical) {\n let centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n if (\n typeof spec.centerPadding === \"string\" &&\n spec.centerPadding.slice(-1) === \"%\"\n ) {\n centerPaddingAdj *= listWidth / 100;\n }\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n let slideHeight =\n listNode && getHeight(listNode.querySelector('[data-index=\"0\"]'));\n let listHeight = slideHeight * spec.slidesToShow;\n let currentSlide =\n spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n let lazyLoadedList = spec.lazyLoadedList || [];\n let slidesToLoad = getOnDemandLazySlides({\n ...spec,\n currentSlide,\n lazyLoadedList\n });\n lazyLoadedList = lazyLoadedList.concat(slidesToLoad);\n\n let state = {\n slideCount,\n slideWidth,\n listWidth,\n trackWidth,\n currentSlide,\n slideHeight,\n listHeight,\n lazyLoadedList\n };\n\n if (spec.autoplaying === null && spec.autoplay) {\n state[\"autoplaying\"] = \"playing\";\n }\n\n return state;\n};\n\nexport const slideHandler = spec => {\n const {\n waitForAnimate,\n animating,\n fade,\n infinite,\n index,\n slideCount,\n lazyLoad,\n currentSlide,\n centerMode,\n slidesToScroll,\n slidesToShow,\n useCSS\n } = spec;\n let { lazyLoadedList } = spec;\n if (waitForAnimate && animating) return {};\n let animationSlide = index,\n finalSlide,\n animationLeft,\n finalLeft;\n let state = {},\n nextState = {};\n const targetSlide = infinite ? index : clamp(index, 0, slideCount - 1);\n if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList = lazyLoadedList.concat(animationSlide);\n }\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList,\n targetSlide: animationSlide\n };\n nextState = { animating: false, targetSlide: animationSlide };\n } else {\n finalSlide = animationSlide;\n if (animationSlide < 0) {\n finalSlide = animationSlide + slideCount;\n if (!infinite) finalSlide = 0;\n else if (slideCount % slidesToScroll !== 0)\n finalSlide = slideCount - (slideCount % slidesToScroll);\n } else if (!canGoNext(spec) && animationSlide > currentSlide) {\n animationSlide = finalSlide = currentSlide;\n } else if (centerMode && animationSlide >= slideCount) {\n animationSlide = infinite ? slideCount : slideCount - 1;\n finalSlide = infinite ? 0 : slideCount - 1;\n } else if (animationSlide >= slideCount) {\n finalSlide = animationSlide - slideCount;\n if (!infinite) finalSlide = slideCount - slidesToShow;\n else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n }\n\n if (!infinite && animationSlide + slidesToShow >= slideCount) {\n finalSlide = slideCount - slidesToShow;\n }\n\n animationLeft = getTrackLeft({ ...spec, slideIndex: animationSlide });\n finalLeft = getTrackLeft({ ...spec, slideIndex: finalSlide });\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n if (lazyLoad) {\n lazyLoadedList = lazyLoadedList.concat(\n getOnDemandLazySlides({ ...spec, currentSlide: animationSlide })\n );\n }\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS({ ...spec, left: finalLeft }),\n lazyLoadedList,\n targetSlide\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS({ ...spec, left: animationLeft }),\n lazyLoadedList,\n targetSlide\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS({ ...spec, left: finalLeft }),\n swipeLeft: null,\n targetSlide\n };\n }\n }\n return { state, nextState };\n};\n\nexport const changeSlide = (spec, options) => {\n var indexOffset, previousInt, slideOffset, unevenOffset, targetSlide;\n const {\n slidesToScroll,\n slidesToShow,\n slideCount,\n currentSlide,\n targetSlide: previousTargetSlide,\n lazyLoad,\n infinite\n } = spec;\n unevenOffset = slideCount % slidesToScroll !== 0;\n indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n if (options.message === \"previous\") {\n slideOffset =\n indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\n if (lazyLoad && !infinite) {\n previousInt = currentSlide - slideOffset;\n targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n }\n if (!infinite) {\n targetSlide = previousTargetSlide - slidesToScroll;\n }\n } else if (options.message === \"next\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n targetSlide = currentSlide + slideOffset;\n if (lazyLoad && !infinite) {\n targetSlide =\n ((currentSlide + slidesToScroll) % slideCount) + indexOffset;\n }\n if (!infinite) {\n targetSlide = previousTargetSlide + slidesToScroll;\n }\n } else if (options.message === \"dots\") {\n // Click on dots\n targetSlide = options.index * options.slidesToScroll;\n } else if (options.message === \"children\") {\n // Click on the slides\n targetSlide = options.index;\n if (infinite) {\n let direction = siblingDirection({ ...spec, targetSlide });\n if (targetSlide > options.currentSlide && direction === \"left\") {\n targetSlide = targetSlide - slideCount;\n } else if (targetSlide < options.currentSlide && direction === \"right\") {\n targetSlide = targetSlide + slideCount;\n }\n }\n } else if (options.message === \"index\") {\n targetSlide = Number(options.index);\n }\n return targetSlide;\n};\nexport const keyHandler = (e, accessibility, rtl) => {\n if (e.target.tagName.match(\"TEXTAREA|INPUT|SELECT\") || !accessibility)\n return \"\";\n if (e.keyCode === 37) return rtl ? \"next\" : \"previous\";\n if (e.keyCode === 39) return rtl ? \"previous\" : \"next\";\n return \"\";\n};\n\nexport const swipeStart = (e, swipe, draggable) => {\n e.target.tagName === \"IMG\" && safePreventDefault(e);\n if (!swipe || (!draggable && e.type.indexOf(\"mouse\") !== -1)) return \"\";\n return {\n dragging: true,\n touchObject: {\n startX: e.touches ? e.touches[0].pageX : e.clientX,\n startY: e.touches ? e.touches[0].pageY : e.clientY,\n curX: e.touches ? e.touches[0].pageX : e.clientX,\n curY: e.touches ? e.touches[0].pageY : e.clientY\n }\n };\n};\nexport const swipeMove = (e, spec) => {\n // spec also contains, trackRef and slideIndex\n const {\n scrolling,\n animating,\n vertical,\n swipeToSlide,\n verticalSwiping,\n rtl,\n currentSlide,\n edgeFriction,\n edgeDragged,\n onEdge,\n swiped,\n swiping,\n slideCount,\n slidesToScroll,\n infinite,\n touchObject,\n swipeEvent,\n listHeight,\n listWidth\n } = spec;\n if (scrolling) return;\n if (animating) return safePreventDefault(e);\n if (vertical && swipeToSlide && verticalSwiping) safePreventDefault(e);\n let swipeLeft,\n state = {};\n let curLeft = getTrackLeft(spec);\n touchObject.curX = e.touches ? e.touches[0].pageX : e.clientX;\n touchObject.curY = e.touches ? e.touches[0].pageY : e.clientY;\n touchObject.swipeLength = Math.round(\n Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2))\n );\n let verticalSwipeLength = Math.round(\n Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2))\n );\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return { scrolling: true };\n }\n if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n let positionOffset =\n (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n if (verticalSwiping)\n positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n\n let dotCount = Math.ceil(slideCount / slidesToScroll);\n let swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n let touchSwipeLength = touchObject.swipeLength;\n if (!infinite) {\n if (\n (currentSlide === 0 &&\n (swipeDirection === \"right\" || swipeDirection === \"down\")) ||\n (currentSlide + 1 >= dotCount &&\n (swipeDirection === \"left\" || swipeDirection === \"up\")) ||\n (!canGoNext(spec) &&\n (swipeDirection === \"left\" || swipeDirection === \"up\"))\n ) {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state[\"edgeDragged\"] = true;\n }\n }\n }\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state[\"swiped\"] = true;\n }\n if (!vertical) {\n if (!rtl) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n } else {\n swipeLeft = curLeft - touchSwipeLength * positionOffset;\n }\n } else {\n swipeLeft =\n curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n }\n if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n state = {\n ...state,\n touchObject,\n swipeLeft,\n trackStyle: getTrackCSS({ ...spec, left: swipeLeft })\n };\n if (\n Math.abs(touchObject.curX - touchObject.startX) <\n Math.abs(touchObject.curY - touchObject.startY) * 0.8\n ) {\n return state;\n }\n if (touchObject.swipeLength > 10) {\n state[\"swiping\"] = true;\n safePreventDefault(e);\n }\n return state;\n};\nexport const swipeEnd = (e, spec) => {\n const {\n dragging,\n swipe,\n touchObject,\n listWidth,\n touchThreshold,\n verticalSwiping,\n listHeight,\n swipeToSlide,\n scrolling,\n onSwipe,\n targetSlide,\n currentSlide,\n infinite\n } = spec;\n if (!dragging) {\n if (swipe) safePreventDefault(e);\n return {};\n }\n let minSwipe = verticalSwiping\n ? listHeight / touchThreshold\n : listWidth / touchThreshold;\n let swipeDirection = getSwipeDirection(touchObject, verticalSwiping);\n // reset the state of touch related state variables.\n let state = {\n dragging: false,\n edgeDragged: false,\n scrolling: false,\n swiping: false,\n swiped: false,\n swipeLeft: null,\n touchObject: {}\n };\n if (scrolling) {\n return state;\n }\n if (!touchObject.swipeLength) {\n return state;\n }\n if (touchObject.swipeLength > minSwipe) {\n safePreventDefault(e);\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n let slideCount, newSlide;\n let activeSlide = infinite ? currentSlide : targetSlide;\n switch (swipeDirection) {\n case \"left\":\n case \"up\":\n newSlide = activeSlide + getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 0;\n break;\n case \"right\":\n case \"down\":\n newSlide = activeSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 1;\n break;\n default:\n slideCount = activeSlide;\n }\n state[\"triggerSlideHandler\"] = slideCount;\n } else {\n // Adjust the track back to it's original position.\n let currentLeft = getTrackLeft(spec);\n state[\"trackStyle\"] = getTrackAnimateCSS({ ...spec, left: currentLeft });\n }\n return state;\n};\nexport const getNavigableIndexes = spec => {\n let max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n let breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n let counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n let indexes = [];\n while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n return indexes;\n};\nexport const checkNavigable = (spec, index) => {\n const navigables = getNavigableIndexes(spec);\n let prevNavigable = 0;\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (let n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n prevNavigable = navigables[n];\n }\n }\n return index;\n};\nexport const getSlideCount = spec => {\n const centerOffset = spec.centerMode\n ? spec.slideWidth * Math.floor(spec.slidesToShow / 2)\n : 0;\n if (spec.swipeToSlide) {\n let swipedSlide;\n const slickList = spec.listRef;\n const slides =\n (slickList.querySelectorAll &&\n slickList.querySelectorAll(\".slick-slide\")) ||\n [];\n Array.from(slides).every(slide => {\n if (!spec.vertical) {\n if (\n slide.offsetLeft - centerOffset + getWidth(slide) / 2 >\n spec.swipeLeft * -1\n ) {\n swipedSlide = slide;\n return false;\n }\n } else {\n if (slide.offsetTop + getHeight(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n }\n\n return true;\n });\n\n if (!swipedSlide) {\n return 0;\n }\n const currentIndex =\n spec.rtl === true\n ? spec.slideCount - spec.currentSlide\n : spec.currentSlide;\n const slidesTraversed =\n Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n return slidesTraversed;\n } else {\n return spec.slidesToScroll;\n }\n};\n\nexport const checkSpecKeys = (spec, keysArray) =>\n keysArray.reduce((value, key) => value && spec.hasOwnProperty(key), true)\n ? null\n : console.error(\"Keys Missing:\", spec);\n\nexport const getTrackCSS = spec => {\n checkSpecKeys(spec, [\n \"left\",\n \"variableWidth\",\n \"slideCount\",\n \"slidesToShow\",\n \"slideWidth\"\n ]);\n let trackWidth, trackHeight;\n const trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n let style = {\n opacity: 1,\n transition: \"\",\n WebkitTransition: \"\"\n };\n if (spec.useTransform) {\n let WebkitTransform = !spec.vertical\n ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\"\n : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n let transform = !spec.vertical\n ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\"\n : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n let msTransform = !spec.vertical\n ? \"translateX(\" + spec.left + \"px)\"\n : \"translateY(\" + spec.left + \"px)\";\n style = {\n ...style,\n WebkitTransform,\n transform,\n msTransform\n };\n } else {\n if (spec.vertical) {\n style[\"top\"] = spec.left;\n } else {\n style[\"left\"] = spec.left;\n }\n }\n if (spec.fade) style = { opacity: 1 };\n if (trackWidth) style.width = trackWidth;\n if (trackHeight) style.height = trackHeight;\n\n // Fallback for IE8\n if (window && !window.addEventListener && window.attachEvent) {\n if (!spec.vertical) {\n style.marginLeft = spec.left + \"px\";\n } else {\n style.marginTop = spec.left + \"px\";\n }\n }\n\n return style;\n};\nexport const getTrackAnimateCSS = spec => {\n checkSpecKeys(spec, [\n \"left\",\n \"variableWidth\",\n \"slideCount\",\n \"slidesToShow\",\n \"slideWidth\",\n \"speed\",\n \"cssEase\"\n ]);\n let style = getTrackCSS(spec);\n // useCSS is true by default so it can be undefined\n if (spec.useTransform) {\n style.WebkitTransition =\n \"-webkit-transform \" + spec.speed + \"ms \" + spec.cssEase;\n style.transition = \"transform \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n if (spec.vertical) {\n style.transition = \"top \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n style.transition = \"left \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n return style;\n};\nexport const getTrackLeft = spec => {\n if (spec.unslick) {\n return 0;\n }\n\n checkSpecKeys(spec, [\n \"slideIndex\",\n \"trackRef\",\n \"infinite\",\n \"centerMode\",\n \"slideCount\",\n \"slidesToShow\",\n \"slidesToScroll\",\n \"slideWidth\",\n \"listWidth\",\n \"variableWidth\",\n \"slideHeight\"\n ]);\n\n const {\n slideIndex,\n trackRef,\n infinite,\n centerMode,\n slideCount,\n slidesToShow,\n slidesToScroll,\n slideWidth,\n listWidth,\n variableWidth,\n slideHeight,\n fade,\n vertical\n } = spec;\n\n var slideOffset = 0;\n var targetLeft;\n var targetSlide;\n var verticalOffset = 0;\n\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n\n let slidesToOffset = 0;\n if (infinite) {\n slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area\n // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children\n if (\n slideCount % slidesToScroll !== 0 &&\n slideIndex + slidesToScroll > slideCount\n ) {\n slidesToOffset = -(slideIndex > slideCount\n ? slidesToShow - (slideIndex - slideCount)\n : slideCount % slidesToScroll);\n }\n // shift current slide to center of the frame\n if (centerMode) {\n slidesToOffset += parseInt(slidesToShow / 2);\n }\n } else {\n if (\n slideCount % slidesToScroll !== 0 &&\n slideIndex + slidesToScroll > slideCount\n ) {\n slidesToOffset = slidesToShow - (slideCount % slidesToScroll);\n }\n if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\n }\n }\n slideOffset = slidesToOffset * slideWidth;\n verticalOffset = slidesToOffset * slideHeight;\n\n if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n\n if (variableWidth === true) {\n var targetSlideIndex;\n const trackElem = trackRef && trackRef.node;\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n if (centerMode === true) {\n targetSlideIndex = infinite\n ? slideIndex + getPreClones(spec)\n : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n for (let slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -=\n trackElem &&\n trackElem.children[slide] &&\n trackElem.children[slide].offsetWidth;\n }\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n\n return targetLeft;\n};\n\nexport const getPreClones = spec => {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\n\nexport const getPostClones = spec => {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n return spec.slideCount;\n};\n\nexport const getTotalSlides = spec =>\n spec.slideCount === 1\n ? 1\n : getPreClones(spec) + spec.slideCount + getPostClones(spec);\nexport const siblingDirection = spec => {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return \"left\";\n }\n return \"right\";\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return \"right\";\n }\n return \"left\";\n }\n};\n\nexport const slidesOnRight = ({\n slidesToShow,\n centerMode,\n rtl,\n centerPadding\n}) => {\n // returns no of slides on the right of active slide\n if (centerMode) {\n let right = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) right += 1;\n if (rtl && slidesToShow % 2 === 0) right += 1;\n return right;\n }\n if (rtl) {\n return 0;\n }\n return slidesToShow - 1;\n};\n\nexport const slidesOnLeft = ({\n slidesToShow,\n centerMode,\n rtl,\n centerPadding\n}) => {\n // returns no of slides on the left of active slide\n if (centerMode) {\n let left = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) left += 1;\n if (!rtl && slidesToShow % 2 === 0) left += 1;\n return left;\n }\n if (rtl) {\n return slidesToShow - 1;\n }\n return 0;\n};\n\nexport const canUseDOM = () =>\n !!(\n typeof window !== \"undefined\" &&\n window.document &&\n window.document.createElement\n );\n","\"use strict\";\n\nimport React from \"react\";\nimport classnames from \"classnames\";\nimport {\n lazyStartIndex,\n lazyEndIndex,\n getPreClones\n} from \"./utils/innerSliderUtils\";\n\n// given specifications/props for a slide, fetch all the classes that need to be applied to the slide\nconst getSlideClasses = spec => {\n let slickActive, slickCenter, slickCloned;\n let centerOffset, index;\n\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n slickCloned = index < 0 || index >= spec.slideCount;\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\n if (\n index > spec.currentSlide - centerOffset - 1 &&\n index <= spec.currentSlide + centerOffset\n ) {\n slickActive = true;\n }\n } else {\n slickActive =\n spec.currentSlide <= index &&\n index < spec.currentSlide + spec.slidesToShow;\n }\n\n let focusedSlide;\n if (spec.targetSlide < 0) {\n focusedSlide = spec.targetSlide + spec.slideCount;\n } else if (spec.targetSlide >= spec.slideCount) {\n focusedSlide = spec.targetSlide - spec.slideCount;\n } else {\n focusedSlide = spec.targetSlide;\n }\n let slickCurrent = index === focusedSlide;\n return {\n \"slick-slide\": true,\n \"slick-active\": slickActive,\n \"slick-center\": slickCenter,\n \"slick-cloned\": slickCloned,\n [`slick-cloned ${spec.classes?.cloned}`]:\n slickCloned && spec.classes?.cloned,\n \"slick-current\": slickCurrent // dubious in case of RTL\n };\n};\n\nconst getSlideStyle = spec => {\n let style = {};\n\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth;\n }\n\n if (spec.fade) {\n style.position = \"relative\";\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight);\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth);\n }\n style.opacity = spec.currentSlide === spec.index ? 1 : 0;\n if (spec.useCSS) {\n style.transition =\n \"opacity \" +\n spec.speed +\n \"ms \" +\n spec.cssEase +\n \", \" +\n \"visibility \" +\n spec.speed +\n \"ms \" +\n spec.cssEase;\n }\n }\n\n return style;\n};\n\nconst getKey = (child, fallbackKey) => child.key || fallbackKey;\n\nconst shouldOmitLazy = (omitLazyForSlides = [], index) =>\n omitLazyForSlides.includes(index);\n\nconst renderSlides = spec => {\n let key;\n let slides = [];\n let preCloneSlides = [];\n let postCloneSlides = [];\n let childrenCount = React.Children.count(spec.children);\n let startIndex = lazyStartIndex(spec);\n let endIndex = lazyEndIndex(spec);\n\n React.Children.forEach(spec.children, (elem, index) => {\n let child;\n let childOnClickOptions = {\n message: \"children\",\n index: index,\n slidesToScroll: spec.slidesToScroll,\n currentSlide: spec.currentSlide\n };\n\n // in case of lazyLoad, whether or not we want to fetch the slide\n if (\n !spec.lazyLoad ||\n (spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0) ||\n shouldOmitLazy(spec.omitLazyForSlides, index)\n ) {\n child = elem;\n } else {\n child =
    ;\n }\n let childStyle = getSlideStyle({ ...spec, index });\n let slideClass = child.props.className || \"\";\n let slideClasses = getSlideClasses({ ...spec, index });\n // push a cloned element of the desired slide\n slides.push(\n React.cloneElement(child, {\n key: \"original\" + getKey(child, index),\n \"data-index\": index,\n className: classnames(slideClasses, slideClass, spec.classes?.slide),\n tabIndex: \"-1\",\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: { outline: \"none\", ...(child.props.style || {}), ...childStyle },\n onClick: e => {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })\n );\n\n // if slide needs to be precloned or postcloned\n if (spec.infinite && spec.fade === false) {\n let preCloneNo = childrenCount - index;\n if (\n preCloneNo <= getPreClones(spec) &&\n childrenCount !== spec.slidesToShow\n ) {\n key = -preCloneNo;\n if (key >= startIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses({ ...spec, index: key });\n preCloneSlides.push(\n React.cloneElement(child, {\n key: \"precloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: classnames(\n slideClasses,\n slideClass,\n spec.classes?.slide\n ),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: { ...(child.props.style || {}), ...childStyle },\n onClick: e => {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })\n );\n }\n\n if (childrenCount !== spec.slidesToShow) {\n key = childrenCount + index;\n if (key < endIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses({ ...spec, index: key });\n postCloneSlides.push(\n React.cloneElement(child, {\n key: \"postcloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: classnames(\n slideClasses,\n slideClass,\n spec.classes?.slide\n ),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: { ...(child.props.style || {}), ...childStyle },\n onClick: e => {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })\n );\n }\n }\n });\n\n if (spec.rtl) {\n return preCloneSlides.concat(slides, postCloneSlides).reverse();\n } else {\n return preCloneSlides.concat(slides, postCloneSlides);\n }\n};\n\nexport class Track extends React.PureComponent {\n node = null;\n\n handleRef = ref => {\n this.node = ref;\n };\n\n render() {\n const slides = renderSlides(this.props);\n const { onMouseEnter, onMouseOver, onMouseLeave } = this.props;\n const mouseEvents = { onMouseEnter, onMouseOver, onMouseLeave };\n return (\n \n {slides}\n
    \n );\n }\n}\n","\"use strict\";\n\nimport React from \"react\";\nimport classnames from \"classnames\";\nimport { clamp } from \"./utils/innerSliderUtils\";\n\nconst getDotCount = spec => {\n let dots;\n\n if (spec.infinite) {\n dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n } else {\n dots =\n Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) +\n 1;\n }\n\n return dots;\n};\n\nexport class Dots extends React.PureComponent {\n clickHandler(options, 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 e.preventDefault();\n this.props.clickHandler(options);\n }\n render() {\n const {\n onMouseEnter,\n onMouseOver,\n onMouseLeave,\n infinite,\n slidesToScroll,\n slidesToShow,\n slideCount,\n currentSlide,\n classes\n } = this.props;\n let dotCount = getDotCount({\n slideCount,\n slidesToScroll,\n slidesToShow,\n infinite\n });\n\n const mouseEvents = { onMouseEnter, onMouseOver, onMouseLeave };\n let dots = [];\n for (let i = 0; i < dotCount; i++) {\n let _rightBound = (i + 1) * slidesToScroll - 1;\n let rightBound = infinite\n ? _rightBound\n : clamp(_rightBound, 0, slideCount - 1);\n let _leftBound = rightBound - (slidesToScroll - 1);\n let leftBound = infinite\n ? _leftBound\n : clamp(_leftBound, 0, slideCount - 1);\n\n let className = classnames(classes?.dot, {\n [classes?.activeDot\n ? `slick-active ${classes?.activeDot}`\n : \"slick-active\"]: infinite\n ? currentSlide >= leftBound && currentSlide <= rightBound\n : currentSlide === leftBound\n });\n\n let dotOptions = {\n message: \"dots\",\n index: i,\n slidesToScroll,\n currentSlide\n };\n\n let onClick = this.clickHandler.bind(this, dotOptions);\n dots = dots.concat(\n
  • \n {React.cloneElement(this.props.customPaging(i), { onClick })}\n
  • \n );\n }\n\n return React.cloneElement(this.props.appendDots(dots), {\n className: classnames(this.props.dotsClass, classes?.dots),\n ...mouseEvents\n });\n }\n}\n","\"use strict\";\n\nimport React from \"react\";\nimport classnames from \"classnames\";\nimport { canGoNext } from \"./utils/innerSliderUtils\";\n\nexport class PrevArrow extends React.PureComponent {\n clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n this.props.clickHandler(options, e);\n }\n render() {\n let prevClasses = { \"slick-arrow\": true, \"slick-prev\": true };\n let prevHandler = this.clickHandler.bind(this, { message: \"previous\" });\n\n if (\n !this.props.infinite &&\n (this.props.currentSlide === 0 ||\n this.props.slideCount <= this.props.slidesToShow)\n ) {\n prevClasses[\"slick-disabled\"] = true;\n prevClasses[this.props.classes?.disabled] = !!this.props.classes\n ?.disabled;\n prevHandler = null;\n }\n\n let prevArrowProps = {\n key: \"0\",\n \"data-role\": \"none\",\n className: classnames(\n prevClasses,\n this.props.classes?.arrow,\n this.props.classes?.prev\n ),\n style: { display: \"block\" },\n onClick: prevHandler\n };\n let customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n let prevArrow;\n\n if (this.props.prevArrow) {\n prevArrow = React.cloneElement(this.props.prevArrow, {\n ...prevArrowProps,\n ...customProps\n });\n } else {\n prevArrow = (\n \n );\n }\n\n return prevArrow;\n }\n}\n\nexport class NextArrow extends React.PureComponent {\n clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n this.props.clickHandler(options, e);\n }\n render() {\n let nextClasses = { \"slick-arrow\": true, \"slick-next\": true };\n let nextHandler = this.clickHandler.bind(this, { message: \"next\" });\n\n if (!canGoNext(this.props)) {\n nextClasses[\"slick-disabled\"] = true;\n nextClasses[this.props.classes?.disabled] = !!this.props.classes\n ?.disabled;\n nextHandler = null;\n }\n\n let nextArrowProps = {\n key: \"1\",\n \"data-role\": \"none\",\n className: classnames(\n nextClasses,\n this.props.classes?.arrow,\n this.props.classes?.next\n ),\n style: { display: \"block\" },\n onClick: nextHandler\n };\n let customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n let nextArrow;\n\n if (this.props.nextArrow) {\n nextArrow = React.cloneElement(this.props.nextArrow, {\n ...nextArrowProps,\n ...customProps\n });\n } else {\n nextArrow = (\n \n );\n }\n\n return nextArrow;\n }\n}\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","var camel2hyphen = require('string-convert/camel2hyphen');\n\nvar isDimension = function (feature) {\n var re = /[height|width]$/;\n return re.test(feature);\n};\n\nvar obj2mq = function (obj) {\n var mq = '';\n var features = Object.keys(obj);\n features.forEach(function (feature, index) {\n var value = obj[feature];\n feature = camel2hyphen(feature);\n // Add px to dimension features\n if (isDimension(feature) && typeof value === 'number') {\n value = value + 'px';\n }\n if (value === true) {\n mq += feature;\n } else if (value === false) {\n mq += 'not ' + feature;\n } else {\n mq += '(' + feature + ': ' + value + ')';\n }\n if (index < features.length-1) {\n mq += ' and '\n }\n });\n return mq;\n};\n\nvar json2mq = function (query) {\n var mq = '';\n if (typeof query === 'string') {\n return query;\n }\n // Handling array of media queries\n if (query instanceof Array) {\n query.forEach(function (q, index) {\n mq += obj2mq(q);\n if (index < query.length-1) {\n mq += ', '\n }\n });\n return mq;\n }\n // Handling single media query\n return obj2mq(query);\n};\n\nmodule.exports = json2mq;","var camel2hyphen = function (str) {\n return str\n .replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n })\n .toLowerCase();\n};\n\nmodule.exports = camel2hyphen;","import React from \"react\";\n\nlet defaultProps = {\n accessibility: true,\n adaptiveHeight: false,\n afterChange: null,\n appendDots: dots =>
      {dots}
    ,\n arrows: true,\n autoplay: false,\n autoplaySpeed: 3000,\n beforeChange: null,\n centerMode: false,\n centerPadding: \"50px\",\n className: \"\",\n cssEase: \"ease\",\n classes: {\n arrow: null,\n prev: null,\n next: null,\n slide: null,\n disabled: null,\n track: null,\n slider: null,\n list: null,\n dot: null,\n dots: null,\n activeDot: null,\n cloned: null\n },\n customPaging: i => ,\n dots: false,\n dotsClass: \"slick-dots\",\n draggable: true,\n easing: \"linear\",\n edgeFriction: 0.35,\n fade: false,\n focusOnSelect: false,\n infinite: true,\n initialSlide: 0,\n lazyLoad: null,\n nextArrow: null,\n onEdge: null,\n onInit: null,\n onLazyLoadError: null,\n onReInit: null,\n pauseOnDotsHover: false,\n pauseOnFocus: false,\n pauseOnHover: true,\n prevArrow: null,\n responsive: null,\n rows: 1,\n rtl: false,\n slide: \"div\",\n slidesPerRow: 1,\n slidesToScroll: 1,\n slidesToShow: 1,\n speed: 500,\n swipe: true,\n swipeEvent: null,\n swipeToSlide: false,\n touchMove: true,\n touchThreshold: 5,\n useCSS: true,\n useTransform: true,\n variableWidth: false,\n vertical: false,\n waitForAnimate: true\n};\n\nexport default defaultProps;\n","var MediaQueryDispatch = require('./MediaQueryDispatch');\nmodule.exports = new MediaQueryDispatch();\n","var MediaQuery = require('./MediaQuery');\nvar Util = require('./Util');\nvar each = Util.each;\nvar isFunction = Util.isFunction;\nvar isArray = Util.isArray;\n\n/**\n * Allows for registration of query handlers.\n * Manages the query handler's state and is responsible for wiring up browser events\n *\n * @constructor\n */\nfunction MediaQueryDispatch () {\n if(!window.matchMedia) {\n throw new Error('matchMedia not present, legacy browsers require a polyfill');\n }\n\n this.queries = {};\n this.browserIsIncapable = !window.matchMedia('only all').matches;\n}\n\nMediaQueryDispatch.prototype = {\n\n constructor : MediaQueryDispatch,\n\n /**\n * Registers a handler for the given media query\n *\n * @param {string} q the media query\n * @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers\n * @param {function} options.match fired when query matched\n * @param {function} [options.unmatch] fired when a query is no longer matched\n * @param {function} [options.setup] fired when handler first triggered\n * @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched\n * @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers\n */\n register : function(q, options, shouldDegrade) {\n var queries = this.queries,\n isUnconditional = shouldDegrade && this.browserIsIncapable;\n\n if(!queries[q]) {\n queries[q] = new MediaQuery(q, isUnconditional);\n }\n\n //normalise to object in an array\n if(isFunction(options)) {\n options = { match : options };\n }\n if(!isArray(options)) {\n options = [options];\n }\n each(options, function(handler) {\n if (isFunction(handler)) {\n handler = { match : handler };\n }\n queries[q].addHandler(handler);\n });\n\n return this;\n },\n\n /**\n * unregisters a query and all it's handlers, or a specific handler for a query\n *\n * @param {string} q the media query to target\n * @param {object || function} [handler] specific handler to unregister\n */\n unregister : function(q, handler) {\n var query = this.queries[q];\n\n if(query) {\n if(handler) {\n query.removeHandler(handler);\n }\n else {\n query.clear();\n delete this.queries[q];\n }\n }\n\n return this;\n }\n};\n\nmodule.exports = MediaQueryDispatch;\n","var QueryHandler = require('./QueryHandler');\nvar each = require('./Util').each;\n\n/**\n * Represents a single media query, manages it's state and registered handlers for this query\n *\n * @constructor\n * @param {string} query the media query string\n * @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design\n */\nfunction MediaQuery(query, isUnconditional) {\n this.query = query;\n this.isUnconditional = isUnconditional;\n this.handlers = [];\n this.mql = window.matchMedia(query);\n\n var self = this;\n this.listener = function(mql) {\n // Chrome passes an MediaQueryListEvent object, while other browsers pass MediaQueryList directly\n self.mql = mql.currentTarget || mql;\n self.assess();\n };\n this.mql.addListener(this.listener);\n}\n\nMediaQuery.prototype = {\n\n constuctor : MediaQuery,\n\n /**\n * add a handler for this query, triggering if already active\n *\n * @param {object} handler\n * @param {function} handler.match callback for when query is activated\n * @param {function} [handler.unmatch] callback for when query is deactivated\n * @param {function} [handler.setup] callback for immediate execution when a query handler is registered\n * @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched?\n */\n addHandler : function(handler) {\n var qh = new QueryHandler(handler);\n this.handlers.push(qh);\n\n this.matches() && qh.on();\n },\n\n /**\n * removes the given handler from the collection, and calls it's destroy methods\n *\n * @param {object || function} handler the handler to remove\n */\n removeHandler : function(handler) {\n var handlers = this.handlers;\n each(handlers, function(h, i) {\n if(h.equals(handler)) {\n h.destroy();\n return !handlers.splice(i,1); //remove from array and exit each early\n }\n });\n },\n\n /**\n * Determine whether the media query should be considered a match\n *\n * @return {Boolean} true if media query can be considered a match, false otherwise\n */\n matches : function() {\n return this.mql.matches || this.isUnconditional;\n },\n\n /**\n * Clears all handlers and unbinds events\n */\n clear : function() {\n each(this.handlers, function(handler) {\n handler.destroy();\n });\n this.mql.removeListener(this.listener);\n this.handlers.length = 0; //clear array\n },\n\n /*\n * Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match\n */\n assess : function() {\n var action = this.matches() ? 'on' : 'off';\n\n each(this.handlers, function(handler) {\n handler[action]();\n });\n }\n};\n\nmodule.exports = MediaQuery;\n","/**\n * Delegate to handle a media query being matched and unmatched.\n *\n * @param {object} options\n * @param {function} options.match callback for when the media query is matched\n * @param {function} [options.unmatch] callback for when the media query is unmatched\n * @param {function} [options.setup] one-time callback triggered the first time a query is matched\n * @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?\n * @constructor\n */\nfunction QueryHandler(options) {\n this.options = options;\n !options.deferSetup && this.setup();\n}\n\nQueryHandler.prototype = {\n\n constructor : QueryHandler,\n\n /**\n * coordinates setup of the handler\n *\n * @function\n */\n setup : function() {\n if(this.options.setup) {\n this.options.setup();\n }\n this.initialised = true;\n },\n\n /**\n * coordinates setup and triggering of the handler\n *\n * @function\n */\n on : function() {\n !this.initialised && this.setup();\n this.options.match && this.options.match();\n },\n\n /**\n * coordinates the unmatch event for the handler\n *\n * @function\n */\n off : function() {\n this.options.unmatch && this.options.unmatch();\n },\n\n /**\n * called when a handler is to be destroyed.\n * delegates to the destroy or unmatch callbacks, depending on availability.\n *\n * @function\n */\n destroy : function() {\n this.options.destroy ? this.options.destroy() : this.off();\n },\n\n /**\n * determines equality by reference.\n * if object is supplied compare options, if function, compare match callback\n *\n * @function\n * @param {object || function} [target] the target for comparison\n */\n equals : function(target) {\n return this.options === target || this.options.match === target;\n }\n\n};\n\nmodule.exports = QueryHandler;\n","/**\n * Helper function for iterating over a collection\n *\n * @param collection\n * @param fn\n */\nfunction each(collection, fn) {\n var i = 0,\n length = collection.length,\n cont;\n\n for(i; i < length; i++) {\n cont = fn(collection[i], i);\n if(cont === false) {\n break; //allow early exit\n }\n }\n}\n\n/**\n * Helper function for determining whether target object is an array\n *\n * @param target the object under test\n * @return {Boolean} true if array, false otherwise\n */\nfunction isArray(target) {\n return Object.prototype.toString.apply(target) === '[object Array]';\n}\n\n/**\n * Helper function for determining whether target object is a function\n *\n * @param target the object under test\n * @return {Boolean} true if function, false otherwise\n */\nfunction isFunction(target) {\n return typeof target === 'function';\n}\n\nmodule.exports = {\n isFunction : isFunction,\n isArray : isArray,\n each : each\n};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/react-slick.min.js b/dist/react-slick.min.js index 711740499..5f03faeef 100644 --- a/dist/react-slick.min.js +++ b/dist/react-slick.min.js @@ -3173,7 +3173,12 @@ c = { className: i, dir: "ltr", style: t.props.style }; return ( t.props.unslick && - ((u = { className: "slick-list" }), + ((u = { + className: a()( + null == (l = t.props.classes) ? void 0 : l.list, + "slick-list" + ) + }), (c = { className: i })), o.a.createElement( "div", diff --git a/dist/react-slick.min.js.map b/dist/react-slick.min.js.map index 6146eb081..df77a09a5 100644 --- a/dist/react-slick.min.js.map +++ b/dist/react-slick.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://Slider/webpack/universalModuleDefinition","webpack://Slider/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://Slider/./node_modules/classnames/index.js","webpack://Slider/./node_modules/json2mq/index.js","webpack://Slider/(webpack)/buildin/global.js","webpack://Slider/./node_modules/enquire.js/src/Util.js","webpack://Slider/./node_modules/lodash.debounce/index.js","webpack://Slider/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://Slider/./node_modules/string-convert/camel2hyphen.js","webpack://Slider/./node_modules/enquire.js/src/index.js","webpack://Slider/./node_modules/enquire.js/src/MediaQueryDispatch.js","webpack://Slider/./node_modules/enquire.js/src/MediaQuery.js","webpack://Slider/./node_modules/enquire.js/src/QueryHandler.js","webpack://Slider/./src/initial-state.js","webpack://Slider/./src/utils/innerSliderUtils.js","webpack://Slider/./src/track.js","webpack://Slider/./src/dots.js","webpack://Slider/./src/arrows.js","webpack://Slider/./src/inner-slider.js","webpack://Slider/./src/default-props.js","webpack://Slider/./src/slider.js","webpack://Slider/./src/index.js","webpack://Slider/webpack/bootstrap"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__0__","hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","inner","argType","push","Array","isArray","apply","toString","Object","prototype","includes","key","call","join","default","obj2mq","obj","mq","features","keys","forEach","feature","index","value","camel2hyphen","isDimension","test","query","q","g","this","Function","e","isFunction","target","each","collection","fn","now","Date","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeSelf","freeGlobal","global","self","objectToString","nativeMax","Math","max","nativeMin","min","isObject","type","toNumber","other","valueOf","replace","isBinary","slice","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","undefined","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","debounced","isInvoking","cancel","clearTimeout","flush","MapShim","Map","defineProperty","class_1","get","__entries__","enumerable","configurable","getIndex","entry","set","delete","entries","splice","has","clear","callback","ctx","_i","_a","arr","some","isBrowser","document","global$1","requestAnimationFrame$1","requestAnimationFrame","bind","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","addObserver","observer","observers_","indexOf","connected_","connect_","removeObserver","observers","disconnect_","refresh","updateObservers_","activeObservers","filter","gatherActive","hasActive","broadcastActive","addEventListener","onTransitionEnd_","mutationsObserver_","observe","attributes","childList","characterData","subtree","mutationEventsAdded_","removeEventListener","disconnect","propertyName","_b","getInstance","instance_","resolvePending","leadingCall","trailingCall","proxy","timeoutCallback","timeStamp","delay","defineConfigurable","props","writable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","reduce","size","position","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","width","height","paddings","horizPad","vertPad","vertScrollbar","clientWidth","clientHeight","positions_1","getComputedStyle","left","right","top","bottom","boxSizing","round","documentElement","horizScrollbar","abs","getHTMLElementContentRect","x","y","ResizeObservation","isActive","rect","contentRect_","broadcastWidth","broadcastHeight","broadcastRect","ResizeObserverEntry","rectInit","Constr","DOMRectReadOnly","create","contentRect","ResizeObserverSPI","Element","observations","observations_","controller_","unobserve","clearActive","_this","observation","activeObservations_","callbackCtx_","map","callback_","controller","callbackCtx","WeakMap","ResizeObserver","method","str","match","toLowerCase","MediaQueryDispatch","MediaQuery","Util","matchMedia","Error","queries","browserIsIncapable","matches","constructor","register","shouldDegrade","isUnconditional","handler","addHandler","unregister","removeHandler","QueryHandler","handlers","mql","listener","currentTarget","assess","addListener","constuctor","qh","on","h","equals","destroy","removeListener","action","deferSetup","setup","initialised","off","unmatch","initialState","animating","autoplaying","currentDirection","currentLeft","currentSlide","direction","dragging","edgeDragged","initialized","lazyLoadedList","listHeight","listWidth","scrolling","slideCount","slideHeight","slideWidth","swipeLeft","swiped","swiping","touchObject","startX","startY","curX","curY","trackStyle","trackWidth","targetSlide","clamp","number","lowerBound","upperBound","extractObject","spec","newObject","getPostClones","unslick","infinite","canUseDOM","createElement","safePreventDefault","event","_reactName","preventDefault","getOnDemandLazySlides","onDemandSlides","startIndex","lazyStartIndex","endIndex","lazyEndIndex","slideIndex","lazySlidesOnLeft","lazyLoad","lazySlidesOnRight","centerMode","floor","slidesToShow","centerPadding","getWidth","elem","offsetWidth","getHeight","offsetHeight","getSwipeDirection","verticalSwiping","xDist","yDist","r","atan2","swipeAngle","PI","canGoNext","canGo","checkNavigable","navigables","breakpoint","counter","indexes","slidesToScroll","prevNavigable","n","getSlideCount","swipedSlide","currentIndex","centerOffset","swipeToSlide","slides","slickList","listRef","querySelectorAll","from","every","slide","vertical","offsetTop","offsetLeft","rtl","dataset","checkSpecKeys","keysArray","console","error","getTrackCSS","trackHeight","WebkitTransform","transform","msTransform","trackChildren","getTotalSlides","style","opacity","transition","WebkitTransition","useTransform","fade","attachEvent","marginTop","marginLeft","getTrackAnimateCSS","speed","cssEase","getTrackLeft","trackRef","variableWidth","slidesToOffset","getPreClones","targetLeft","trackElem","node","targetSlideIndex","childNodes","children","siblingDirection","slidesOnRight","slidesOnLeft","getSlideClasses","slickActive","slickCenter","slickCloned","slickCurrent","cloned","getKey","child","fallbackKey","Track","ref","t","preCloneSlides","postCloneSlides","childrenCount","React","Children","count","childOnClickOptions","message","omitLazyForSlides","childStyle","useCSS","slideClass","className","slideClasses","cloneElement","classnames","tabIndex","outline","onClick","focusOnSelect","preCloneNo","concat","reverse","renderSlides","mouseEvents","onMouseEnter","onMouseOver","onMouseLeave","handleRef","track","PureComponent","Dots","clickHandler","dotCount","dots","ceil","_rightBound","_leftBound","rightBound","leftBound","dot","activeDot","customPaging","appendDots","dotsClass","PrevArrow","prevClasses","prevHandler","prevArrowProps","disabled","arrow","prev","display","customProps","prevArrow","NextArrow","nextClasses","nextHandler","nextArrowProps","next","nextArrow","InnerSlider","list","adaptiveHeight","querySelector","state","onInit","slidesToLoad","setState","prevState","onLazyLoad","updateState","adaptHeight","autoplay","autoPlay","lazyLoadTimer","setInterval","progressiveLazyLoad","ro","onWindowResized","callbackTimers","onfocus","pauseOnFocus","onSlideFocus","onblur","onSlideBlur","animationEndCallback","clearInterval","timer","detachEvent","autoplayTimer","prevProps","checkImagesLoad","onReInit","setTrackStyle","didPropsChange","changeSlide","pause","debouncedResize","debounce","resizeWindow","Boolean","listNode","trackNode","centerPaddingAdj","initialSlide","updatedState","trackLeft","childrenWidths","preClones","postClones","currentWidth","images","imagesCount","loadedCount","image","prevClickHandler","onclick","parentNode","focus","onload","onerror","onLazyLoadError","dontAnimate","asNavFor","beforeChange","afterChange","waitForAnimate","animationSlide","nextState","finalSlide","animationLeft","finalLeft","asNavForIndex","innerSlider","slideHandler","firstBatch","previousTargetSlide","indexOffset","nodes","slideOffset","previousInt","Number","clickable","stopPropagation","accessibility","dir","tagName","keyCode","ontouchmove","returnValue","disableBodyScroll","swipe","draggable","touches","pageX","clientX","pageY","clientY","edgeFriction","onEdge","swipeEvent","curLeft","swipeLength","sqrt","pow","verticalSwipeLength","positionOffset","swipeDirection","touchSwipeLength","triggerSlideHandler","touchThreshold","onSwipe","minSwipe","newSlide","activeSlide","enableBodyScroll","swipeEnd","isNaN","nextIndex","playType","play","autoplaySpeed","pauseType","slider","trackProps","pauseOnHover","verticalHeightStyle","onTrackOver","onTrackLeave","selectHandler","arrowProps","dotProps","pauseOnDotsHover","onDotsLeave","onDotsOver","arrows","listProps","centerPaddingStyle","listStyle","padding","touchMove","onMouseDown","swipeStart","onMouseMove","swipeMove","onMouseUp","onTouchStart","onTouchMove","onTouchEnd","touchEnd","onTouchCancel","onKeyDown","keyHandler","innerSliderProps","listRefHandler","trackRefHandler","ssrState","ssrInit","Component","defaultProps","easing","responsive","rows","slidesPerRow","enquire","Slider","slickPrev","slickNext","slickGoTo","_responsiveMediaHandlers","breakpoints","breakpt","sort","bQuery","json2mq","minWidth","maxWidth","media","settings","newProps","resp","toArray","trim","warn","newChildren","j","row","k","innerSliderRefHandler","installedModules","__webpack_require__","m","modules","c","d","name","getter","o","Symbol","toStringTag","mode","__esModule","ns","object","property","p","s","moduleId","l"],"mappings":"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","file":"react-slick.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Slider\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"Slider\"] = factory(root[\"React\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__0__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","var camel2hyphen = require('string-convert/camel2hyphen');\n\nvar isDimension = function (feature) {\n var re = /[height|width]$/;\n return re.test(feature);\n};\n\nvar obj2mq = function (obj) {\n var mq = '';\n var features = Object.keys(obj);\n features.forEach(function (feature, index) {\n var value = obj[feature];\n feature = camel2hyphen(feature);\n // Add px to dimension features\n if (isDimension(feature) && typeof value === 'number') {\n value = value + 'px';\n }\n if (value === true) {\n mq += feature;\n } else if (value === false) {\n mq += 'not ' + feature;\n } else {\n mq += '(' + feature + ': ' + value + ')';\n }\n if (index < features.length-1) {\n mq += ' and '\n }\n });\n return mq;\n};\n\nvar json2mq = function (query) {\n var mq = '';\n if (typeof query === 'string') {\n return query;\n }\n // Handling array of media queries\n if (query instanceof Array) {\n query.forEach(function (q, index) {\n mq += obj2mq(q);\n if (index < query.length-1) {\n mq += ', '\n }\n });\n return mq;\n }\n // Handling single media query\n return obj2mq(query);\n};\n\nmodule.exports = json2mq;","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Helper function for iterating over a collection\n *\n * @param collection\n * @param fn\n */\nfunction each(collection, fn) {\n var i = 0,\n length = collection.length,\n cont;\n\n for(i; i < length; i++) {\n cont = fn(collection[i], i);\n if(cont === false) {\n break; //allow early exit\n }\n }\n}\n\n/**\n * Helper function for determining whether target object is an array\n *\n * @param target the object under test\n * @return {Boolean} true if array, false otherwise\n */\nfunction isArray(target) {\n return Object.prototype.toString.apply(target) === '[object Array]';\n}\n\n/**\n * Helper function for determining whether target object is a function\n *\n * @param target the object under test\n * @return {Boolean} true if function, false otherwise\n */\nfunction isFunction(target) {\n return typeof target === 'function';\n}\n\nmodule.exports = {\n isFunction : isFunction,\n isArray : isArray,\n each : each\n};\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","var camel2hyphen = function (str) {\n return str\n .replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n })\n .toLowerCase();\n};\n\nmodule.exports = camel2hyphen;","var MediaQueryDispatch = require('./MediaQueryDispatch');\nmodule.exports = new MediaQueryDispatch();\n","var MediaQuery = require('./MediaQuery');\nvar Util = require('./Util');\nvar each = Util.each;\nvar isFunction = Util.isFunction;\nvar isArray = Util.isArray;\n\n/**\n * Allows for registration of query handlers.\n * Manages the query handler's state and is responsible for wiring up browser events\n *\n * @constructor\n */\nfunction MediaQueryDispatch () {\n if(!window.matchMedia) {\n throw new Error('matchMedia not present, legacy browsers require a polyfill');\n }\n\n this.queries = {};\n this.browserIsIncapable = !window.matchMedia('only all').matches;\n}\n\nMediaQueryDispatch.prototype = {\n\n constructor : MediaQueryDispatch,\n\n /**\n * Registers a handler for the given media query\n *\n * @param {string} q the media query\n * @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers\n * @param {function} options.match fired when query matched\n * @param {function} [options.unmatch] fired when a query is no longer matched\n * @param {function} [options.setup] fired when handler first triggered\n * @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched\n * @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers\n */\n register : function(q, options, shouldDegrade) {\n var queries = this.queries,\n isUnconditional = shouldDegrade && this.browserIsIncapable;\n\n if(!queries[q]) {\n queries[q] = new MediaQuery(q, isUnconditional);\n }\n\n //normalise to object in an array\n if(isFunction(options)) {\n options = { match : options };\n }\n if(!isArray(options)) {\n options = [options];\n }\n each(options, function(handler) {\n if (isFunction(handler)) {\n handler = { match : handler };\n }\n queries[q].addHandler(handler);\n });\n\n return this;\n },\n\n /**\n * unregisters a query and all it's handlers, or a specific handler for a query\n *\n * @param {string} q the media query to target\n * @param {object || function} [handler] specific handler to unregister\n */\n unregister : function(q, handler) {\n var query = this.queries[q];\n\n if(query) {\n if(handler) {\n query.removeHandler(handler);\n }\n else {\n query.clear();\n delete this.queries[q];\n }\n }\n\n return this;\n }\n};\n\nmodule.exports = MediaQueryDispatch;\n","var QueryHandler = require('./QueryHandler');\nvar each = require('./Util').each;\n\n/**\n * Represents a single media query, manages it's state and registered handlers for this query\n *\n * @constructor\n * @param {string} query the media query string\n * @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design\n */\nfunction MediaQuery(query, isUnconditional) {\n this.query = query;\n this.isUnconditional = isUnconditional;\n this.handlers = [];\n this.mql = window.matchMedia(query);\n\n var self = this;\n this.listener = function(mql) {\n // Chrome passes an MediaQueryListEvent object, while other browsers pass MediaQueryList directly\n self.mql = mql.currentTarget || mql;\n self.assess();\n };\n this.mql.addListener(this.listener);\n}\n\nMediaQuery.prototype = {\n\n constuctor : MediaQuery,\n\n /**\n * add a handler for this query, triggering if already active\n *\n * @param {object} handler\n * @param {function} handler.match callback for when query is activated\n * @param {function} [handler.unmatch] callback for when query is deactivated\n * @param {function} [handler.setup] callback for immediate execution when a query handler is registered\n * @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched?\n */\n addHandler : function(handler) {\n var qh = new QueryHandler(handler);\n this.handlers.push(qh);\n\n this.matches() && qh.on();\n },\n\n /**\n * removes the given handler from the collection, and calls it's destroy methods\n *\n * @param {object || function} handler the handler to remove\n */\n removeHandler : function(handler) {\n var handlers = this.handlers;\n each(handlers, function(h, i) {\n if(h.equals(handler)) {\n h.destroy();\n return !handlers.splice(i,1); //remove from array and exit each early\n }\n });\n },\n\n /**\n * Determine whether the media query should be considered a match\n *\n * @return {Boolean} true if media query can be considered a match, false otherwise\n */\n matches : function() {\n return this.mql.matches || this.isUnconditional;\n },\n\n /**\n * Clears all handlers and unbinds events\n */\n clear : function() {\n each(this.handlers, function(handler) {\n handler.destroy();\n });\n this.mql.removeListener(this.listener);\n this.handlers.length = 0; //clear array\n },\n\n /*\n * Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match\n */\n assess : function() {\n var action = this.matches() ? 'on' : 'off';\n\n each(this.handlers, function(handler) {\n handler[action]();\n });\n }\n};\n\nmodule.exports = MediaQuery;\n","/**\n * Delegate to handle a media query being matched and unmatched.\n *\n * @param {object} options\n * @param {function} options.match callback for when the media query is matched\n * @param {function} [options.unmatch] callback for when the media query is unmatched\n * @param {function} [options.setup] one-time callback triggered the first time a query is matched\n * @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?\n * @constructor\n */\nfunction QueryHandler(options) {\n this.options = options;\n !options.deferSetup && this.setup();\n}\n\nQueryHandler.prototype = {\n\n constructor : QueryHandler,\n\n /**\n * coordinates setup of the handler\n *\n * @function\n */\n setup : function() {\n if(this.options.setup) {\n this.options.setup();\n }\n this.initialised = true;\n },\n\n /**\n * coordinates setup and triggering of the handler\n *\n * @function\n */\n on : function() {\n !this.initialised && this.setup();\n this.options.match && this.options.match();\n },\n\n /**\n * coordinates the unmatch event for the handler\n *\n * @function\n */\n off : function() {\n this.options.unmatch && this.options.unmatch();\n },\n\n /**\n * called when a handler is to be destroyed.\n * delegates to the destroy or unmatch callbacks, depending on availability.\n *\n * @function\n */\n destroy : function() {\n this.options.destroy ? this.options.destroy() : this.off();\n },\n\n /**\n * determines equality by reference.\n * if object is supplied compare options, if function, compare match callback\n *\n * @function\n * @param {object || function} [target] the target for comparison\n */\n equals : function(target) {\n return this.options === target || this.options.match === target;\n }\n\n};\n\nmodule.exports = QueryHandler;\n","const initialState = {\n animating: false,\n autoplaying: null,\n currentDirection: 0,\n currentLeft: null,\n currentSlide: 0,\n direction: 1,\n dragging: false,\n edgeDragged: false,\n initialized: false,\n lazyLoadedList: [],\n listHeight: null,\n listWidth: null,\n scrolling: false,\n slideCount: null,\n slideHeight: null,\n slideWidth: null,\n swipeLeft: null,\n swiped: false, // used by swipeEvent. differentites between touch and swipe.\n swiping: false,\n touchObject: { startX: 0, startY: 0, curX: 0, curY: 0 },\n trackStyle: {},\n trackWidth: 0,\n targetSlide: 0\n};\n\nexport default initialState;\n","import React from \"react\";\n\nexport function clamp(number, lowerBound, upperBound) {\n return Math.max(lowerBound, Math.min(number, upperBound));\n}\n\nexport const safePreventDefault = event => {\n const passiveEvents = [\"onTouchStart\", \"onTouchMove\", \"onWheel\"];\n if (!passiveEvents.includes(event._reactName)) {\n event.preventDefault();\n }\n};\n\nexport const getOnDemandLazySlides = spec => {\n let onDemandSlides = [];\n let startIndex = lazyStartIndex(spec);\n let endIndex = lazyEndIndex(spec);\n for (let slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n return onDemandSlides;\n};\n\n// return list of slides that need to be present\nexport const getRequiredLazySlides = spec => {\n let requiredSlides = [];\n let startIndex = lazyStartIndex(spec);\n let endIndex = lazyEndIndex(spec);\n for (let slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n return requiredSlides;\n};\n\n// startIndex that needs to be present\nexport const lazyStartIndex = spec => {\n let startIndex = spec.currentSlide - lazySlidesOnLeft(spec);\n if (spec.lazyLoad === \"anticipated\") startIndex -= 1;\n return startIndex;\n};\nexport const lazyEndIndex = spec => {\n let endIndex = spec.currentSlide + lazySlidesOnRight(spec);\n if (spec.lazyLoad === \"anticipated\") endIndex += 1;\n return endIndex;\n};\nexport const lazySlidesOnLeft = spec =>\n spec.centerMode\n ? Math.floor(spec.slidesToShow / 2) +\n (parseInt(spec.centerPadding) > 0 ? 1 : 0)\n : 0;\nexport const lazySlidesOnRight = spec =>\n spec.centerMode\n ? Math.floor((spec.slidesToShow - 1) / 2) +\n 1 +\n (parseInt(spec.centerPadding) > 0 ? 1 : 0)\n : spec.slidesToShow;\n\n// get width of an element\nexport const getWidth = elem => (elem && elem.offsetWidth) || 0;\nexport const getHeight = elem => (elem && elem.offsetHeight) || 0;\nexport const getSwipeDirection = (touchObject, verticalSwiping = false) => {\n var xDist, yDist, r, swipeAngle;\n xDist = touchObject.startX - touchObject.curX;\n yDist = touchObject.startY - touchObject.curY;\n r = Math.atan2(yDist, xDist);\n swipeAngle = Math.round((r * 180) / Math.PI);\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n if (\n (swipeAngle <= 45 && swipeAngle >= 0) ||\n (swipeAngle <= 360 && swipeAngle >= 315)\n ) {\n return \"left\";\n }\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return \"right\";\n }\n if (verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return \"up\";\n } else {\n return \"down\";\n }\n }\n\n return \"vertical\";\n};\n\n// whether or not we can go next\nexport const canGoNext = spec => {\n let canGo = true;\n if (!spec.infinite) {\n if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n canGo = false;\n } else if (\n spec.slideCount <= spec.slidesToShow ||\n spec.currentSlide >= spec.slideCount - spec.slidesToShow\n ) {\n canGo = false;\n }\n }\n return canGo;\n};\n\n// given an object and a list of keys, return new object with given keys\nexport const extractObject = (spec, keys) => {\n let newObject = {};\n keys.forEach(key => (newObject[key] = spec[key]));\n return newObject;\n};\n\n// get initialized state\nexport const initializedState = spec => {\n // spec also contains listRef, trackRef\n let slideCount = React.Children.count(spec.children);\n const listNode = spec.listRef;\n let listWidth = Math.ceil(getWidth(listNode));\n const trackNode = spec.trackRef && spec.trackRef.node;\n let trackWidth = Math.ceil(getWidth(trackNode));\n let slideWidth;\n if (!spec.vertical) {\n let centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n if (\n typeof spec.centerPadding === \"string\" &&\n spec.centerPadding.slice(-1) === \"%\"\n ) {\n centerPaddingAdj *= listWidth / 100;\n }\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n let slideHeight =\n listNode && getHeight(listNode.querySelector('[data-index=\"0\"]'));\n let listHeight = slideHeight * spec.slidesToShow;\n let currentSlide =\n spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n let lazyLoadedList = spec.lazyLoadedList || [];\n let slidesToLoad = getOnDemandLazySlides({\n ...spec,\n currentSlide,\n lazyLoadedList\n });\n lazyLoadedList = lazyLoadedList.concat(slidesToLoad);\n\n let state = {\n slideCount,\n slideWidth,\n listWidth,\n trackWidth,\n currentSlide,\n slideHeight,\n listHeight,\n lazyLoadedList\n };\n\n if (spec.autoplaying === null && spec.autoplay) {\n state[\"autoplaying\"] = \"playing\";\n }\n\n return state;\n};\n\nexport const slideHandler = spec => {\n const {\n waitForAnimate,\n animating,\n fade,\n infinite,\n index,\n slideCount,\n lazyLoad,\n currentSlide,\n centerMode,\n slidesToScroll,\n slidesToShow,\n useCSS\n } = spec;\n let { lazyLoadedList } = spec;\n if (waitForAnimate && animating) return {};\n let animationSlide = index,\n finalSlide,\n animationLeft,\n finalLeft;\n let state = {},\n nextState = {};\n const targetSlide = infinite ? index : clamp(index, 0, slideCount - 1);\n if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList = lazyLoadedList.concat(animationSlide);\n }\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList,\n targetSlide: animationSlide\n };\n nextState = { animating: false, targetSlide: animationSlide };\n } else {\n finalSlide = animationSlide;\n if (animationSlide < 0) {\n finalSlide = animationSlide + slideCount;\n if (!infinite) finalSlide = 0;\n else if (slideCount % slidesToScroll !== 0)\n finalSlide = slideCount - (slideCount % slidesToScroll);\n } else if (!canGoNext(spec) && animationSlide > currentSlide) {\n animationSlide = finalSlide = currentSlide;\n } else if (centerMode && animationSlide >= slideCount) {\n animationSlide = infinite ? slideCount : slideCount - 1;\n finalSlide = infinite ? 0 : slideCount - 1;\n } else if (animationSlide >= slideCount) {\n finalSlide = animationSlide - slideCount;\n if (!infinite) finalSlide = slideCount - slidesToShow;\n else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n }\n\n if (!infinite && animationSlide + slidesToShow >= slideCount) {\n finalSlide = slideCount - slidesToShow;\n }\n\n animationLeft = getTrackLeft({ ...spec, slideIndex: animationSlide });\n finalLeft = getTrackLeft({ ...spec, slideIndex: finalSlide });\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n if (lazyLoad) {\n lazyLoadedList = lazyLoadedList.concat(\n getOnDemandLazySlides({ ...spec, currentSlide: animationSlide })\n );\n }\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS({ ...spec, left: finalLeft }),\n lazyLoadedList,\n targetSlide\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS({ ...spec, left: animationLeft }),\n lazyLoadedList,\n targetSlide\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS({ ...spec, left: finalLeft }),\n swipeLeft: null,\n targetSlide\n };\n }\n }\n return { state, nextState };\n};\n\nexport const changeSlide = (spec, options) => {\n var indexOffset, previousInt, slideOffset, unevenOffset, targetSlide;\n const {\n slidesToScroll,\n slidesToShow,\n slideCount,\n currentSlide,\n targetSlide: previousTargetSlide,\n lazyLoad,\n infinite\n } = spec;\n unevenOffset = slideCount % slidesToScroll !== 0;\n indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n if (options.message === \"previous\") {\n slideOffset =\n indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\n if (lazyLoad && !infinite) {\n previousInt = currentSlide - slideOffset;\n targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n }\n if (!infinite) {\n targetSlide = previousTargetSlide - slidesToScroll;\n }\n } else if (options.message === \"next\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n targetSlide = currentSlide + slideOffset;\n if (lazyLoad && !infinite) {\n targetSlide =\n ((currentSlide + slidesToScroll) % slideCount) + indexOffset;\n }\n if (!infinite) {\n targetSlide = previousTargetSlide + slidesToScroll;\n }\n } else if (options.message === \"dots\") {\n // Click on dots\n targetSlide = options.index * options.slidesToScroll;\n } else if (options.message === \"children\") {\n // Click on the slides\n targetSlide = options.index;\n if (infinite) {\n let direction = siblingDirection({ ...spec, targetSlide });\n if (targetSlide > options.currentSlide && direction === \"left\") {\n targetSlide = targetSlide - slideCount;\n } else if (targetSlide < options.currentSlide && direction === \"right\") {\n targetSlide = targetSlide + slideCount;\n }\n }\n } else if (options.message === \"index\") {\n targetSlide = Number(options.index);\n }\n return targetSlide;\n};\nexport const keyHandler = (e, accessibility, rtl) => {\n if (e.target.tagName.match(\"TEXTAREA|INPUT|SELECT\") || !accessibility)\n return \"\";\n if (e.keyCode === 37) return rtl ? \"next\" : \"previous\";\n if (e.keyCode === 39) return rtl ? \"previous\" : \"next\";\n return \"\";\n};\n\nexport const swipeStart = (e, swipe, draggable) => {\n e.target.tagName === \"IMG\" && safePreventDefault(e);\n if (!swipe || (!draggable && e.type.indexOf(\"mouse\") !== -1)) return \"\";\n return {\n dragging: true,\n touchObject: {\n startX: e.touches ? e.touches[0].pageX : e.clientX,\n startY: e.touches ? e.touches[0].pageY : e.clientY,\n curX: e.touches ? e.touches[0].pageX : e.clientX,\n curY: e.touches ? e.touches[0].pageY : e.clientY\n }\n };\n};\nexport const swipeMove = (e, spec) => {\n // spec also contains, trackRef and slideIndex\n const {\n scrolling,\n animating,\n vertical,\n swipeToSlide,\n verticalSwiping,\n rtl,\n currentSlide,\n edgeFriction,\n edgeDragged,\n onEdge,\n swiped,\n swiping,\n slideCount,\n slidesToScroll,\n infinite,\n touchObject,\n swipeEvent,\n listHeight,\n listWidth\n } = spec;\n if (scrolling) return;\n if (animating) return safePreventDefault(e);\n if (vertical && swipeToSlide && verticalSwiping) safePreventDefault(e);\n let swipeLeft,\n state = {};\n let curLeft = getTrackLeft(spec);\n touchObject.curX = e.touches ? e.touches[0].pageX : e.clientX;\n touchObject.curY = e.touches ? e.touches[0].pageY : e.clientY;\n touchObject.swipeLength = Math.round(\n Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2))\n );\n let verticalSwipeLength = Math.round(\n Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2))\n );\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return { scrolling: true };\n }\n if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n let positionOffset =\n (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n if (verticalSwiping)\n positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n\n let dotCount = Math.ceil(slideCount / slidesToScroll);\n let swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n let touchSwipeLength = touchObject.swipeLength;\n if (!infinite) {\n if (\n (currentSlide === 0 &&\n (swipeDirection === \"right\" || swipeDirection === \"down\")) ||\n (currentSlide + 1 >= dotCount &&\n (swipeDirection === \"left\" || swipeDirection === \"up\")) ||\n (!canGoNext(spec) &&\n (swipeDirection === \"left\" || swipeDirection === \"up\"))\n ) {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state[\"edgeDragged\"] = true;\n }\n }\n }\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state[\"swiped\"] = true;\n }\n if (!vertical) {\n if (!rtl) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n } else {\n swipeLeft = curLeft - touchSwipeLength * positionOffset;\n }\n } else {\n swipeLeft =\n curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n }\n if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n state = {\n ...state,\n touchObject,\n swipeLeft,\n trackStyle: getTrackCSS({ ...spec, left: swipeLeft })\n };\n if (\n Math.abs(touchObject.curX - touchObject.startX) <\n Math.abs(touchObject.curY - touchObject.startY) * 0.8\n ) {\n return state;\n }\n if (touchObject.swipeLength > 10) {\n state[\"swiping\"] = true;\n safePreventDefault(e);\n }\n return state;\n};\nexport const swipeEnd = (e, spec) => {\n const {\n dragging,\n swipe,\n touchObject,\n listWidth,\n touchThreshold,\n verticalSwiping,\n listHeight,\n swipeToSlide,\n scrolling,\n onSwipe,\n targetSlide,\n currentSlide,\n infinite\n } = spec;\n if (!dragging) {\n if (swipe) safePreventDefault(e);\n return {};\n }\n let minSwipe = verticalSwiping\n ? listHeight / touchThreshold\n : listWidth / touchThreshold;\n let swipeDirection = getSwipeDirection(touchObject, verticalSwiping);\n // reset the state of touch related state variables.\n let state = {\n dragging: false,\n edgeDragged: false,\n scrolling: false,\n swiping: false,\n swiped: false,\n swipeLeft: null,\n touchObject: {}\n };\n if (scrolling) {\n return state;\n }\n if (!touchObject.swipeLength) {\n return state;\n }\n if (touchObject.swipeLength > minSwipe) {\n safePreventDefault(e);\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n let slideCount, newSlide;\n let activeSlide = infinite ? currentSlide : targetSlide;\n switch (swipeDirection) {\n case \"left\":\n case \"up\":\n newSlide = activeSlide + getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 0;\n break;\n case \"right\":\n case \"down\":\n newSlide = activeSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 1;\n break;\n default:\n slideCount = activeSlide;\n }\n state[\"triggerSlideHandler\"] = slideCount;\n } else {\n // Adjust the track back to it's original position.\n let currentLeft = getTrackLeft(spec);\n state[\"trackStyle\"] = getTrackAnimateCSS({ ...spec, left: currentLeft });\n }\n return state;\n};\nexport const getNavigableIndexes = spec => {\n let max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n let breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n let counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n let indexes = [];\n while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n return indexes;\n};\nexport const checkNavigable = (spec, index) => {\n const navigables = getNavigableIndexes(spec);\n let prevNavigable = 0;\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (let n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n prevNavigable = navigables[n];\n }\n }\n return index;\n};\nexport const getSlideCount = spec => {\n const centerOffset = spec.centerMode\n ? spec.slideWidth * Math.floor(spec.slidesToShow / 2)\n : 0;\n if (spec.swipeToSlide) {\n let swipedSlide;\n const slickList = spec.listRef;\n const slides =\n (slickList.querySelectorAll &&\n slickList.querySelectorAll(\".slick-slide\")) ||\n [];\n Array.from(slides).every(slide => {\n if (!spec.vertical) {\n if (\n slide.offsetLeft - centerOffset + getWidth(slide) / 2 >\n spec.swipeLeft * -1\n ) {\n swipedSlide = slide;\n return false;\n }\n } else {\n if (slide.offsetTop + getHeight(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n }\n\n return true;\n });\n\n if (!swipedSlide) {\n return 0;\n }\n const currentIndex =\n spec.rtl === true\n ? spec.slideCount - spec.currentSlide\n : spec.currentSlide;\n const slidesTraversed =\n Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n return slidesTraversed;\n } else {\n return spec.slidesToScroll;\n }\n};\n\nexport const checkSpecKeys = (spec, keysArray) =>\n keysArray.reduce((value, key) => value && spec.hasOwnProperty(key), true)\n ? null\n : console.error(\"Keys Missing:\", spec);\n\nexport const getTrackCSS = spec => {\n checkSpecKeys(spec, [\n \"left\",\n \"variableWidth\",\n \"slideCount\",\n \"slidesToShow\",\n \"slideWidth\"\n ]);\n let trackWidth, trackHeight;\n const trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n let style = {\n opacity: 1,\n transition: \"\",\n WebkitTransition: \"\"\n };\n if (spec.useTransform) {\n let WebkitTransform = !spec.vertical\n ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\"\n : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n let transform = !spec.vertical\n ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\"\n : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n let msTransform = !spec.vertical\n ? \"translateX(\" + spec.left + \"px)\"\n : \"translateY(\" + spec.left + \"px)\";\n style = {\n ...style,\n WebkitTransform,\n transform,\n msTransform\n };\n } else {\n if (spec.vertical) {\n style[\"top\"] = spec.left;\n } else {\n style[\"left\"] = spec.left;\n }\n }\n if (spec.fade) style = { opacity: 1 };\n if (trackWidth) style.width = trackWidth;\n if (trackHeight) style.height = trackHeight;\n\n // Fallback for IE8\n if (window && !window.addEventListener && window.attachEvent) {\n if (!spec.vertical) {\n style.marginLeft = spec.left + \"px\";\n } else {\n style.marginTop = spec.left + \"px\";\n }\n }\n\n return style;\n};\nexport const getTrackAnimateCSS = spec => {\n checkSpecKeys(spec, [\n \"left\",\n \"variableWidth\",\n \"slideCount\",\n \"slidesToShow\",\n \"slideWidth\",\n \"speed\",\n \"cssEase\"\n ]);\n let style = getTrackCSS(spec);\n // useCSS is true by default so it can be undefined\n if (spec.useTransform) {\n style.WebkitTransition =\n \"-webkit-transform \" + spec.speed + \"ms \" + spec.cssEase;\n style.transition = \"transform \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n if (spec.vertical) {\n style.transition = \"top \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n style.transition = \"left \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n return style;\n};\nexport const getTrackLeft = spec => {\n if (spec.unslick) {\n return 0;\n }\n\n checkSpecKeys(spec, [\n \"slideIndex\",\n \"trackRef\",\n \"infinite\",\n \"centerMode\",\n \"slideCount\",\n \"slidesToShow\",\n \"slidesToScroll\",\n \"slideWidth\",\n \"listWidth\",\n \"variableWidth\",\n \"slideHeight\"\n ]);\n\n const {\n slideIndex,\n trackRef,\n infinite,\n centerMode,\n slideCount,\n slidesToShow,\n slidesToScroll,\n slideWidth,\n listWidth,\n variableWidth,\n slideHeight,\n fade,\n vertical\n } = spec;\n\n var slideOffset = 0;\n var targetLeft;\n var targetSlide;\n var verticalOffset = 0;\n\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n\n let slidesToOffset = 0;\n if (infinite) {\n slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area\n // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children\n if (\n slideCount % slidesToScroll !== 0 &&\n slideIndex + slidesToScroll > slideCount\n ) {\n slidesToOffset = -(slideIndex > slideCount\n ? slidesToShow - (slideIndex - slideCount)\n : slideCount % slidesToScroll);\n }\n // shift current slide to center of the frame\n if (centerMode) {\n slidesToOffset += parseInt(slidesToShow / 2);\n }\n } else {\n if (\n slideCount % slidesToScroll !== 0 &&\n slideIndex + slidesToScroll > slideCount\n ) {\n slidesToOffset = slidesToShow - (slideCount % slidesToScroll);\n }\n if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\n }\n }\n slideOffset = slidesToOffset * slideWidth;\n verticalOffset = slidesToOffset * slideHeight;\n\n if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n\n if (variableWidth === true) {\n var targetSlideIndex;\n const trackElem = trackRef && trackRef.node;\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n if (centerMode === true) {\n targetSlideIndex = infinite\n ? slideIndex + getPreClones(spec)\n : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n for (let slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -=\n trackElem &&\n trackElem.children[slide] &&\n trackElem.children[slide].offsetWidth;\n }\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n\n return targetLeft;\n};\n\nexport const getPreClones = spec => {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\n\nexport const getPostClones = spec => {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n return spec.slideCount;\n};\n\nexport const getTotalSlides = spec =>\n spec.slideCount === 1\n ? 1\n : getPreClones(spec) + spec.slideCount + getPostClones(spec);\nexport const siblingDirection = spec => {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return \"left\";\n }\n return \"right\";\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return \"right\";\n }\n return \"left\";\n }\n};\n\nexport const slidesOnRight = ({\n slidesToShow,\n centerMode,\n rtl,\n centerPadding\n}) => {\n // returns no of slides on the right of active slide\n if (centerMode) {\n let right = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) right += 1;\n if (rtl && slidesToShow % 2 === 0) right += 1;\n return right;\n }\n if (rtl) {\n return 0;\n }\n return slidesToShow - 1;\n};\n\nexport const slidesOnLeft = ({\n slidesToShow,\n centerMode,\n rtl,\n centerPadding\n}) => {\n // returns no of slides on the left of active slide\n if (centerMode) {\n let left = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) left += 1;\n if (!rtl && slidesToShow % 2 === 0) left += 1;\n return left;\n }\n if (rtl) {\n return slidesToShow - 1;\n }\n return 0;\n};\n\nexport const canUseDOM = () =>\n !!(\n typeof window !== \"undefined\" &&\n window.document &&\n window.document.createElement\n );\n","\"use strict\";\n\nimport React from \"react\";\nimport classnames from \"classnames\";\nimport {\n lazyStartIndex,\n lazyEndIndex,\n getPreClones\n} from \"./utils/innerSliderUtils\";\n\n// given specifications/props for a slide, fetch all the classes that need to be applied to the slide\nconst getSlideClasses = spec => {\n let slickActive, slickCenter, slickCloned;\n let centerOffset, index;\n\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n slickCloned = index < 0 || index >= spec.slideCount;\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\n if (\n index > spec.currentSlide - centerOffset - 1 &&\n index <= spec.currentSlide + centerOffset\n ) {\n slickActive = true;\n }\n } else {\n slickActive =\n spec.currentSlide <= index &&\n index < spec.currentSlide + spec.slidesToShow;\n }\n\n let focusedSlide;\n if (spec.targetSlide < 0) {\n focusedSlide = spec.targetSlide + spec.slideCount;\n } else if (spec.targetSlide >= spec.slideCount) {\n focusedSlide = spec.targetSlide - spec.slideCount;\n } else {\n focusedSlide = spec.targetSlide;\n }\n let slickCurrent = index === focusedSlide;\n return {\n \"slick-slide\": true,\n \"slick-active\": slickActive,\n \"slick-center\": slickCenter,\n \"slick-cloned\": slickCloned,\n [`slick-cloned ${spec.classes?.cloned}`]:\n slickCloned && spec.classes?.cloned,\n \"slick-current\": slickCurrent // dubious in case of RTL\n };\n};\n\nconst getSlideStyle = spec => {\n let style = {};\n\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth;\n }\n\n if (spec.fade) {\n style.position = \"relative\";\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight);\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth);\n }\n style.opacity = spec.currentSlide === spec.index ? 1 : 0;\n if (spec.useCSS) {\n style.transition =\n \"opacity \" +\n spec.speed +\n \"ms \" +\n spec.cssEase +\n \", \" +\n \"visibility \" +\n spec.speed +\n \"ms \" +\n spec.cssEase;\n }\n }\n\n return style;\n};\n\nconst getKey = (child, fallbackKey) => child.key || fallbackKey;\n\nconst shouldOmitLazy = (omitLazyForSlides = [], index) =>\n omitLazyForSlides.includes(index);\n\nconst renderSlides = spec => {\n let key;\n let slides = [];\n let preCloneSlides = [];\n let postCloneSlides = [];\n let childrenCount = React.Children.count(spec.children);\n let startIndex = lazyStartIndex(spec);\n let endIndex = lazyEndIndex(spec);\n\n React.Children.forEach(spec.children, (elem, index) => {\n let child;\n let childOnClickOptions = {\n message: \"children\",\n index: index,\n slidesToScroll: spec.slidesToScroll,\n currentSlide: spec.currentSlide\n };\n\n // in case of lazyLoad, whether or not we want to fetch the slide\n if (\n !spec.lazyLoad ||\n (spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0) ||\n shouldOmitLazy(spec.omitLazyForSlides, index)\n ) {\n child = elem;\n } else {\n child =
    ;\n }\n let childStyle = getSlideStyle({ ...spec, index });\n let slideClass = child.props.className || \"\";\n let slideClasses = getSlideClasses({ ...spec, index });\n // push a cloned element of the desired slide\n slides.push(\n React.cloneElement(child, {\n key: \"original\" + getKey(child, index),\n \"data-index\": index,\n className: classnames(slideClasses, slideClass, spec.classes?.slide),\n tabIndex: \"-1\",\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: { outline: \"none\", ...(child.props.style || {}), ...childStyle },\n onClick: e => {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })\n );\n\n // if slide needs to be precloned or postcloned\n if (spec.infinite && spec.fade === false) {\n let preCloneNo = childrenCount - index;\n if (\n preCloneNo <= getPreClones(spec) &&\n childrenCount !== spec.slidesToShow\n ) {\n key = -preCloneNo;\n if (key >= startIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses({ ...spec, index: key });\n preCloneSlides.push(\n React.cloneElement(child, {\n key: \"precloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: classnames(\n slideClasses,\n slideClass,\n spec.classes?.slide\n ),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: { ...(child.props.style || {}), ...childStyle },\n onClick: e => {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })\n );\n }\n\n if (childrenCount !== spec.slidesToShow) {\n key = childrenCount + index;\n if (key < endIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses({ ...spec, index: key });\n postCloneSlides.push(\n React.cloneElement(child, {\n key: \"postcloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: classnames(\n slideClasses,\n slideClass,\n spec.classes?.slide\n ),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: { ...(child.props.style || {}), ...childStyle },\n onClick: e => {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })\n );\n }\n }\n });\n\n if (spec.rtl) {\n return preCloneSlides.concat(slides, postCloneSlides).reverse();\n } else {\n return preCloneSlides.concat(slides, postCloneSlides);\n }\n};\n\nexport class Track extends React.PureComponent {\n node = null;\n\n handleRef = ref => {\n this.node = ref;\n };\n\n render() {\n const slides = renderSlides(this.props);\n const { onMouseEnter, onMouseOver, onMouseLeave } = this.props;\n const mouseEvents = { onMouseEnter, onMouseOver, onMouseLeave };\n return (\n \n {slides}\n
    \n );\n }\n}\n","\"use strict\";\n\nimport React from \"react\";\nimport classnames from \"classnames\";\nimport { clamp } from \"./utils/innerSliderUtils\";\n\nconst getDotCount = spec => {\n let dots;\n\n if (spec.infinite) {\n dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n } else {\n dots =\n Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) +\n 1;\n }\n\n return dots;\n};\n\nexport class Dots extends React.PureComponent {\n clickHandler(options, 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 e.preventDefault();\n this.props.clickHandler(options);\n }\n render() {\n const {\n onMouseEnter,\n onMouseOver,\n onMouseLeave,\n infinite,\n slidesToScroll,\n slidesToShow,\n slideCount,\n currentSlide,\n classes\n } = this.props;\n let dotCount = getDotCount({\n slideCount,\n slidesToScroll,\n slidesToShow,\n infinite\n });\n\n const mouseEvents = { onMouseEnter, onMouseOver, onMouseLeave };\n let dots = [];\n for (let i = 0; i < dotCount; i++) {\n let _rightBound = (i + 1) * slidesToScroll - 1;\n let rightBound = infinite\n ? _rightBound\n : clamp(_rightBound, 0, slideCount - 1);\n let _leftBound = rightBound - (slidesToScroll - 1);\n let leftBound = infinite\n ? _leftBound\n : clamp(_leftBound, 0, slideCount - 1);\n\n let className = classnames(classes?.dot, {\n [classes?.activeDot\n ? `slick-active ${classes?.activeDot}`\n : \"slick-active\"]: infinite\n ? currentSlide >= leftBound && currentSlide <= rightBound\n : currentSlide === leftBound\n });\n\n let dotOptions = {\n message: \"dots\",\n index: i,\n slidesToScroll,\n currentSlide\n };\n\n let onClick = this.clickHandler.bind(this, dotOptions);\n dots = dots.concat(\n
  • \n {React.cloneElement(this.props.customPaging(i), { onClick })}\n
  • \n );\n }\n\n return React.cloneElement(this.props.appendDots(dots), {\n className: classnames(this.props.dotsClass, classes?.dots),\n ...mouseEvents\n });\n }\n}\n","\"use strict\";\n\nimport React from \"react\";\nimport classnames from \"classnames\";\nimport { canGoNext } from \"./utils/innerSliderUtils\";\n\nexport class PrevArrow extends React.PureComponent {\n clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n this.props.clickHandler(options, e);\n }\n render() {\n let prevClasses = { \"slick-arrow\": true, \"slick-prev\": true };\n let prevHandler = this.clickHandler.bind(this, { message: \"previous\" });\n\n if (\n !this.props.infinite &&\n (this.props.currentSlide === 0 ||\n this.props.slideCount <= this.props.slidesToShow)\n ) {\n prevClasses[\"slick-disabled\"] = true;\n prevClasses[this.props.classes?.disabled] = !!this.props.classes\n ?.disabled;\n prevHandler = null;\n }\n\n let prevArrowProps = {\n key: \"0\",\n \"data-role\": \"none\",\n className: classnames(\n prevClasses,\n this.props.classes?.arrow,\n this.props.classes?.prev\n ),\n style: { display: \"block\" },\n onClick: prevHandler\n };\n let customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n let prevArrow;\n\n if (this.props.prevArrow) {\n prevArrow = React.cloneElement(this.props.prevArrow, {\n ...prevArrowProps,\n ...customProps\n });\n } else {\n prevArrow = (\n \n );\n }\n\n return prevArrow;\n }\n}\n\nexport class NextArrow extends React.PureComponent {\n clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n this.props.clickHandler(options, e);\n }\n render() {\n let nextClasses = { \"slick-arrow\": true, \"slick-next\": true };\n let nextHandler = this.clickHandler.bind(this, { message: \"next\" });\n\n if (!canGoNext(this.props)) {\n nextClasses[\"slick-disabled\"] = true;\n nextClasses[this.props.classes?.disabled] = !!this.props.classes\n ?.disabled;\n nextHandler = null;\n }\n\n let nextArrowProps = {\n key: \"1\",\n \"data-role\": \"none\",\n className: classnames(\n nextClasses,\n this.props.classes?.arrow,\n this.props.classes?.next\n ),\n style: { display: \"block\" },\n onClick: nextHandler\n };\n let customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n let nextArrow;\n\n if (this.props.nextArrow) {\n nextArrow = React.cloneElement(this.props.nextArrow, {\n ...nextArrowProps,\n ...customProps\n });\n } else {\n nextArrow = (\n \n );\n }\n\n return nextArrow;\n }\n}\n","\"use strict\";\n\nimport React from \"react\";\nimport initialState from \"./initial-state\";\nimport debounce from \"lodash.debounce\";\nimport classnames from \"classnames\";\nimport {\n getOnDemandLazySlides,\n extractObject,\n initializedState,\n getHeight,\n canGoNext,\n slideHandler,\n changeSlide,\n keyHandler,\n swipeStart,\n swipeMove,\n swipeEnd,\n getPreClones,\n getPostClones,\n getTrackLeft,\n getTrackCSS\n} from \"./utils/innerSliderUtils\";\n\nimport { Track } from \"./track\";\nimport { Dots } from \"./dots\";\nimport { PrevArrow, NextArrow } from \"./arrows\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\nexport class InnerSlider extends React.Component {\n constructor(props) {\n super(props);\n this.list = null;\n this.track = null;\n this.state = {\n ...initialState,\n currentSlide: this.props.initialSlide,\n slideCount: React.Children.count(this.props.children)\n };\n this.callbackTimers = [];\n this.clickable = true;\n this.debouncedResize = null;\n const ssrState = this.ssrInit();\n this.state = { ...this.state, ...ssrState };\n }\n listRefHandler = ref => (this.list = ref);\n trackRefHandler = ref => (this.track = ref);\n adaptHeight = () => {\n if (this.props.adaptiveHeight && this.list) {\n const elem = this.list.querySelector(\n `[data-index=\"${this.state.currentSlide}\"]`\n );\n this.list.style.height = getHeight(elem) + \"px\";\n }\n };\n componentDidMount = () => {\n this.props.onInit && this.props.onInit();\n if (this.props.lazyLoad) {\n let slidesToLoad = getOnDemandLazySlides({\n ...this.props,\n ...this.state\n });\n if (slidesToLoad.length > 0) {\n this.setState(prevState => ({\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n }));\n if (this.props.onLazyLoad) {\n this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n let spec = { listRef: this.list, trackRef: this.track, ...this.props };\n this.updateState(spec, true, () => {\n this.adaptHeight();\n this.props.autoplay && this.autoPlay(\"update\");\n });\n if (this.props.lazyLoad === \"progressive\") {\n this.lazyLoadTimer = setInterval(this.progressiveLazyLoad, 1000);\n }\n this.ro = new ResizeObserver(() => {\n if (this.state.animating) {\n this.onWindowResized(false); // don't set trackStyle hence don't break animation\n this.callbackTimers.push(\n setTimeout(() => this.onWindowResized(), this.props.speed)\n );\n } else {\n this.onWindowResized();\n }\n });\n this.ro.observe(this.list);\n document.querySelectorAll &&\n Array.prototype.forEach.call(\n document.querySelectorAll(\".slick-slide\"),\n slide => {\n slide.onfocus = this.props.pauseOnFocus ? this.onSlideFocus : null;\n slide.onblur = this.props.pauseOnFocus ? this.onSlideBlur : null;\n }\n );\n if (window.addEventListener) {\n window.addEventListener(\"resize\", this.onWindowResized);\n } else {\n window.attachEvent(\"onresize\", this.onWindowResized);\n }\n };\n componentWillUnmount = () => {\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\n didPropsChange(prevProps) {\n let setTrackStyle = false;\n for (let key of Object.keys(this.props)) {\n if (!prevProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n if (\n typeof prevProps[key] === \"object\" ||\n typeof prevProps[key] === \"function\"\n ) {\n continue;\n }\n if (prevProps[key] !== this.props[key]) {\n setTrackStyle = true;\n break;\n }\n }\n return (\n setTrackStyle ||\n React.Children.count(this.props.children) !==\n React.Children.count(prevProps.children)\n );\n }\n\n componentDidUpdate = prevProps => {\n this.checkImagesLoad();\n this.props.onReInit && this.props.onReInit();\n if (this.props.lazyLoad) {\n let slidesToLoad = getOnDemandLazySlides({\n ...this.props,\n ...this.state\n });\n if (slidesToLoad.length > 0) {\n this.setState(prevState => ({\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n }));\n if (this.props.onLazyLoad) {\n this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n // if (this.props.onLazyLoad) {\n // this.props.onLazyLoad([leftMostSlide])\n // }\n this.adaptHeight();\n let spec = {\n listRef: this.list,\n trackRef: this.track,\n ...this.props,\n ...this.state\n };\n const setTrackStyle = this.didPropsChange(prevProps);\n setTrackStyle &&\n this.updateState(spec, setTrackStyle, () => {\n if (\n this.state.currentSlide >= React.Children.count(this.props.children)\n ) {\n this.changeSlide({\n message: \"index\",\n index:\n React.Children.count(this.props.children) -\n this.props.slidesToShow,\n currentSlide: this.state.currentSlide\n });\n }\n if (this.props.autoplay) {\n this.autoPlay(\"update\");\n } else {\n this.pause(\"paused\");\n }\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 && this.track.node);\n // prevent warning: setting state on unmounted component (server side rendering)\n if (!isTrackMounted) return;\n let spec = {\n listRef: this.list,\n trackRef: this.track,\n ...this.props,\n ...this.state\n };\n this.updateState(spec, setTrackStyle, () => {\n if (this.props.autoplay) this.autoPlay(\"update\");\n else 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 let updatedState = initializedState(spec);\n spec = { ...spec, ...updatedState, slideIndex: updatedState.currentSlide };\n let targetLeft = getTrackLeft(spec);\n spec = { ...spec, left: targetLeft };\n let trackStyle = getTrackCSS(spec);\n if (\n setTrackStyle ||\n React.Children.count(this.props.children) !==\n React.Children.count(spec.children)\n ) {\n updatedState[\"trackStyle\"] = trackStyle;\n }\n this.setState(updatedState, callback);\n };\n\n ssrInit = () => {\n if (this.props.variableWidth) {\n let trackWidth = 0,\n trackLeft = 0;\n let childrenWidths = [];\n let preClones = getPreClones({\n ...this.props,\n ...this.state,\n slideCount: this.props.children.length\n });\n let postClones = getPostClones({\n ...this.props,\n ...this.state,\n slideCount: this.props.children.length\n });\n this.props.children.forEach(child => {\n childrenWidths.push(child.props.style.width);\n trackWidth += child.props.style.width;\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.state.currentSlide; i++) {\n trackLeft += childrenWidths[i];\n }\n let trackStyle = {\n width: trackWidth + \"px\",\n left: -trackLeft + \"px\"\n };\n if (this.props.centerMode) {\n let currentWidth = `${childrenWidths[this.state.currentSlide]}px`;\n trackStyle.left = `calc(${trackStyle.left} + (100% - ${currentWidth}) / 2 ) `;\n }\n return {\n trackStyle\n };\n }\n let childrenCount = React.Children.count(this.props.children);\n const spec = { ...this.props, ...this.state, slideCount: childrenCount };\n let slideCount = getPreClones(spec) + getPostClones(spec) + childrenCount;\n let trackWidth = (100 / this.props.slidesToShow) * slideCount;\n let slideWidth = 100 / slideCount;\n let trackLeft =\n (-slideWidth *\n (getPreClones(spec) + this.state.currentSlide) *\n trackWidth) /\n 100;\n if (this.props.centerMode) {\n trackLeft += (100 - (slideWidth * trackWidth) / 100) / 2;\n }\n let trackStyle = {\n width: trackWidth + \"%\",\n left: trackLeft + \"%\"\n };\n return {\n slideWidth: slideWidth + \"%\",\n trackStyle: trackStyle\n };\n };\n checkImagesLoad = () => {\n let images =\n (this.list &&\n this.list.querySelectorAll &&\n this.list.querySelectorAll(\".slick-slide img\")) ||\n [];\n let imagesCount = images.length,\n loadedCount = 0;\n Array.prototype.forEach.call(images, image => {\n const handler = () =>\n ++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 = e => {\n prevClickHandler(e);\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(\n setTimeout(this.onWindowResized, this.props.speed)\n );\n };\n } else {\n image.onload = handler;\n image.onerror = () => {\n handler();\n this.props.onLazyLoadError && this.props.onLazyLoadError();\n };\n }\n }\n });\n };\n progressiveLazyLoad = () => {\n let slidesToLoad = [];\n const spec = { ...this.props, ...this.state };\n for (\n let index = this.state.currentSlide;\n index < this.state.slideCount + getPostClones(spec);\n index++\n ) {\n if (this.state.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n for (\n let index = this.state.currentSlide - 1;\n index >= -getPreClones(spec);\n index--\n ) {\n if (this.state.lazyLoadedList.indexOf(index) < 0) {\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 if (this.props.onLazyLoad) {\n this.props.onLazyLoad(slidesToLoad);\n }\n } else {\n if (this.lazyLoadTimer) {\n clearInterval(this.lazyLoadTimer);\n delete this.lazyLoadTimer;\n }\n }\n };\n slideHandler = (index, dontAnimate = false) => {\n const {\n asNavFor,\n beforeChange,\n onLazyLoad,\n speed,\n afterChange\n } = this.props;\n // capture currentslide before state is updated\n const currentSlide = this.state.currentSlide;\n let { state, nextState } = slideHandler({\n index,\n ...this.props,\n ...this.state,\n trackRef: this.track,\n useCSS: this.props.useCSS && !dontAnimate\n });\n if (!state) return;\n beforeChange && beforeChange(currentSlide, state.currentSlide);\n let slidesToLoad = state.lazyLoadedList.filter(\n value => this.state.lazyLoadedList.indexOf(value) < 0\n );\n onLazyLoad && slidesToLoad.length > 0 && onLazyLoad(slidesToLoad);\n if (!this.props.waitForAnimate && this.animationEndCallback) {\n clearTimeout(this.animationEndCallback);\n afterChange && afterChange(currentSlide);\n delete this.animationEndCallback;\n }\n this.setState(state, () => {\n // asNavForIndex check is to avoid recursive calls of slideHandler in waitForAnimate=false mode\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(\n setTimeout(() => this.setState({ animating }), 10)\n );\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.state };\n let 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.autoPlay(\"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 let dir = keyHandler(e, this.props.accessibility, this.props.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.props.verticalSwiping) {\n this.disableBodyScroll();\n }\n let state = swipeStart(e, this.props.swipe, this.props.draggable);\n state !== \"\" && this.setState(state);\n };\n swipeMove = e => {\n let state = swipeMove(e, {\n ...this.props,\n ...this.state,\n trackRef: this.track,\n listRef: this.list,\n slideIndex: this.state.currentSlide\n });\n if (!state) return;\n if (state[\"swiping\"]) {\n this.clickable = false;\n }\n this.setState(state);\n };\n swipeEnd = e => {\n let state = swipeEnd(e, {\n ...this.props,\n ...this.state,\n trackRef: this.track,\n listRef: this.list,\n slideIndex: this.state.currentSlide\n });\n if (!state) return;\n let 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 };\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(\n setTimeout(() => this.changeSlide({ message: \"previous\" }), 0)\n );\n };\n slickNext = () => {\n this.callbackTimers.push(\n setTimeout(() => this.changeSlide({ message: \"next\" }), 0)\n );\n };\n slickGoTo = (slide, dontAnimate = false) => {\n slide = Number(slide);\n if (isNaN(slide)) return \"\";\n this.callbackTimers.push(\n setTimeout(\n () =>\n this.changeSlide(\n {\n message: \"index\",\n index: slide,\n currentSlide: this.state.currentSlide\n },\n dontAnimate\n ),\n 0\n )\n );\n };\n play = () => {\n var nextIndex;\n if (this.props.rtl) {\n nextIndex = this.state.currentSlide - this.props.slidesToScroll;\n } else {\n if (canGoNext({ ...this.props, ...this.state })) {\n nextIndex = this.state.currentSlide + this.props.slidesToScroll;\n } else {\n return false;\n }\n }\n\n this.slideHandler(nextIndex);\n };\n\n autoPlay = playType => {\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n }\n const autoplaying = this.state.autoplaying;\n if (playType === \"update\") {\n if (\n autoplaying === \"hovered\" ||\n autoplaying === \"focused\" ||\n autoplaying === \"paused\"\n ) {\n return;\n }\n } else if (playType === \"leave\") {\n if (autoplaying === \"paused\" || autoplaying === \"focused\") {\n return;\n }\n } else if (playType === \"blur\") {\n if (autoplaying === \"paused\" || autoplaying === \"hovered\") {\n return;\n }\n }\n this.autoplayTimer = setInterval(this.play, this.props.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.state.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 }\n } else {\n // pauseType is 'hovered'\n if (autoplaying === \"playing\") {\n this.setState({ autoplaying: \"hovered\" });\n }\n }\n };\n onDotsOver = () => this.props.autoplay && this.pause(\"hovered\");\n onDotsLeave = () =>\n this.props.autoplay &&\n this.state.autoplaying === \"hovered\" &&\n this.autoPlay(\"leave\");\n onTrackOver = () => this.props.autoplay && this.pause(\"hovered\");\n onTrackLeave = () =>\n this.props.autoplay &&\n this.state.autoplaying === \"hovered\" &&\n this.autoPlay(\"leave\");\n onSlideFocus = () => this.props.autoplay && this.pause(\"focused\");\n onSlideBlur = () =>\n this.props.autoplay &&\n this.state.autoplaying === \"focused\" &&\n this.autoPlay(\"blur\");\n\n render = () => {\n var className = classnames(\n \"slick-slider\",\n this.props.className,\n this.props.classes?.slider,\n {\n \"slick-vertical\": this.props.vertical,\n \"slick-initialized\": true\n }\n );\n let spec = { ...this.props, ...this.state };\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 \"omitLazyForSlides\",\n \"classes\"\n ]);\n const { pauseOnHover } = this.props;\n trackProps = {\n ...trackProps,\n onMouseEnter: pauseOnHover ? this.onTrackOver : null,\n onMouseLeave: pauseOnHover ? this.onTrackLeave : null,\n onMouseOver: pauseOnHover ? this.onTrackOver : null,\n focusOnSelect:\n this.props.focusOnSelect && this.clickable ? this.selectHandler : null\n };\n\n var dots;\n if (\n this.props.dots === true &&\n this.state.slideCount >= this.props.slidesToShow\n ) {\n let dotProps = extractObject(spec, [\n \"dotsClass\",\n \"slideCount\",\n \"slidesToShow\",\n \"currentSlide\",\n \"slidesToScroll\",\n \"clickHandler\",\n \"children\",\n \"customPaging\",\n \"infinite\",\n \"appendDots\",\n \"classes\"\n ]);\n const { pauseOnDotsHover } = this.props;\n dotProps = {\n ...dotProps,\n clickHandler: this.changeSlide,\n onMouseEnter: pauseOnDotsHover ? this.onDotsLeave : null,\n onMouseOver: pauseOnDotsHover ? this.onDotsOver : null,\n onMouseLeave: pauseOnDotsHover ? this.onDotsLeave : null\n };\n dots = ;\n }\n\n var prevArrow, nextArrow;\n let arrowProps = extractObject(spec, [\n \"infinite\",\n \"centerMode\",\n \"currentSlide\",\n \"slideCount\",\n \"slidesToShow\",\n \"prevArrow\",\n \"nextArrow\",\n \"classes\"\n ]);\n arrowProps.clickHandler = this.changeSlide;\n\n if (this.props.arrows) {\n prevArrow = ;\n nextArrow = ;\n }\n\n var verticalHeightStyle = null;\n\n if (this.props.vertical) {\n verticalHeightStyle = {\n height: this.state.listHeight\n };\n }\n\n var centerPaddingStyle = null;\n\n if (this.props.vertical === false) {\n if (this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: \"0px \" + this.props.centerPadding\n };\n }\n } else {\n if (this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: this.props.centerPadding + \" 0px\"\n };\n }\n }\n\n const listStyle = { ...verticalHeightStyle, ...centerPaddingStyle };\n const touchMove = this.props.touchMove;\n let listProps = {\n className: classnames(this.props.classes?.list, \"slick-list\"),\n style: listStyle,\n onClick: this.clickHandler,\n onMouseDown: touchMove ? this.swipeStart : null,\n onMouseMove: this.state.dragging && touchMove ? this.swipeMove : null,\n onMouseUp: touchMove ? this.swipeEnd : null,\n onMouseLeave: this.state.dragging && touchMove ? this.swipeEnd : null,\n onTouchStart: touchMove ? this.swipeStart : null,\n onTouchMove: this.state.dragging && touchMove ? this.swipeMove : null,\n onTouchEnd: touchMove ? this.touchEnd : null,\n onTouchCancel: this.state.dragging && touchMove ? this.swipeEnd : null,\n onKeyDown: this.props.accessibility ? this.keyHandler : null\n };\n\n let innerSliderProps = {\n className: className,\n dir: \"ltr\",\n style: this.props.style\n };\n\n if (this.props.unslick) {\n listProps = { className: \"slick-list\" };\n innerSliderProps = { className };\n }\n return (\n
    \n {!this.props.unslick ? prevArrow : \"\"}\n
    \n \n {this.props.children}\n \n
    \n {!this.props.unslick ? nextArrow : \"\"}\n {!this.props.unslick ? dots : \"\"}\n
    \n );\n };\n}\n","import React from \"react\";\n\nlet defaultProps = {\n accessibility: true,\n adaptiveHeight: false,\n afterChange: null,\n appendDots: dots =>
      {dots}
    ,\n arrows: true,\n autoplay: false,\n autoplaySpeed: 3000,\n beforeChange: null,\n centerMode: false,\n centerPadding: \"50px\",\n className: \"\",\n cssEase: \"ease\",\n classes: {\n arrow: null,\n prev: null,\n next: null,\n slide: null,\n disabled: null,\n track: null,\n slider: null,\n list: null,\n dot: null,\n dots: null,\n activeDot: null,\n cloned: null\n },\n customPaging: i => ,\n dots: false,\n dotsClass: \"slick-dots\",\n draggable: true,\n easing: \"linear\",\n edgeFriction: 0.35,\n fade: false,\n focusOnSelect: false,\n infinite: true,\n initialSlide: 0,\n lazyLoad: null,\n nextArrow: null,\n onEdge: null,\n onInit: null,\n onLazyLoadError: null,\n onReInit: null,\n pauseOnDotsHover: false,\n pauseOnFocus: false,\n pauseOnHover: true,\n prevArrow: null,\n responsive: null,\n rows: 1,\n rtl: false,\n slide: \"div\",\n slidesPerRow: 1,\n slidesToScroll: 1,\n slidesToShow: 1,\n speed: 500,\n swipe: true,\n swipeEvent: null,\n swipeToSlide: false,\n touchMove: true,\n touchThreshold: 5,\n useCSS: true,\n useTransform: true,\n variableWidth: false,\n vertical: false,\n waitForAnimate: true\n};\n\nexport default defaultProps;\n","\"use strict\";\n\nimport React from \"react\";\nimport { InnerSlider } from \"./inner-slider\";\nimport json2mq from \"json2mq\";\nimport defaultProps from \"./default-props\";\nimport { canUseDOM } from \"./utils/innerSliderUtils\";\nconst enquire = canUseDOM() && require(\"enquire.js\");\n\nexport default class Slider extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n breakpoint: null\n };\n this._responsiveMediaHandlers = [];\n }\n\n innerSliderRefHandler = ref => (this.innerSlider = ref);\n\n media(query, handler) {\n // javascript handler for css media query\n enquire.register(query, handler);\n this._responsiveMediaHandlers.push({ query, handler });\n }\n\n // handles responsive breakpoints\n componentDidMount() {\n // performance monitoring\n //if (process.env.NODE_ENV !== 'production') {\n //const { whyDidYouUpdate } = require('why-did-you-update')\n //whyDidYouUpdate(React)\n //}\n if (this.props.responsive) {\n let breakpoints = this.props.responsive.map(\n breakpt => breakpt.breakpoint\n );\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: 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 let query = json2mq({ minWidth: breakpoints.slice(-1)[0] });\n\n canUseDOM() &&\n this.media(query, () => {\n this.setState({ breakpoint: null });\n });\n }\n }\n\n componentWillUnmount() {\n this._responsiveMediaHandlers.forEach(function(obj) {\n enquire.unregister(obj.query, obj.handler);\n });\n }\n\n slickPrev = () => this.innerSlider.slickPrev();\n\n slickNext = () => this.innerSlider.slickNext();\n\n slickGoTo = (slide, dontAnimate = false) =>\n this.innerSlider.slickGoTo(slide, dontAnimate);\n\n slickPause = () => this.innerSlider.pause(\"paused\");\n\n slickPlay = () => this.innerSlider.autoPlay(\"play\");\n\n render() {\n var settings;\n var newProps;\n if (this.state.breakpoint) {\n newProps = this.props.responsive.filter(\n resp => resp.breakpoint === this.state.breakpoint\n );\n settings =\n newProps[0].settings === \"unslick\"\n ? \"unslick\"\n : { ...defaultProps, ...this.props, ...newProps[0].settings };\n } else {\n settings = { ...defaultProps, ...this.props };\n }\n\n // force scrolling by one if centerMode is on\n if (settings.centerMode) {\n if (\n settings.slidesToScroll > 1 &&\n process.env.NODE_ENV !== \"production\"\n ) {\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 (\n settings.slidesToScroll > 1 &&\n process.env.NODE_ENV !== \"production\"\n ) {\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 = React.Children.toArray(this.props.children);\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 (\n settings.variableWidth &&\n (settings.rows > 1 || settings.slidesPerRow > 1)\n ) {\n console.warn(\n `variableWidth is not supported in case of rows > 1 or slidesPerRow > 1`\n );\n settings.variableWidth = false;\n }\n let newChildren = [];\n let currentWidth = null;\n for (\n let i = 0;\n i < children.length;\n i += settings.rows * settings.slidesPerRow\n ) {\n let newSlide = [];\n for (\n let j = i;\n j < i + settings.rows * settings.slidesPerRow;\n j += settings.slidesPerRow\n ) {\n let 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 React.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(
    {row}
    );\n }\n if (settings.variableWidth) {\n newChildren.push(\n
    \n {newSlide}\n
    \n );\n } else {\n newChildren.push(
    {newSlide}
    );\n }\n }\n\n if (settings === \"unslick\") {\n const className = \"regular slider \" + (this.props.className || \"\");\n return
    {children}
    ;\n } else if (newChildren.length <= settings.slidesToShow) {\n settings.unslick = true;\n }\n return (\n <>\n \n {newChildren}\n \n \n );\n }\n}\n","import Slider from \"./slider\";\n\nexport default Slider;\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 12);\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://Slider/webpack/universalModuleDefinition","webpack://Slider/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://Slider/./node_modules/classnames/index.js","webpack://Slider/./node_modules/json2mq/index.js","webpack://Slider/(webpack)/buildin/global.js","webpack://Slider/./node_modules/enquire.js/src/Util.js","webpack://Slider/./node_modules/lodash.debounce/index.js","webpack://Slider/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://Slider/./node_modules/string-convert/camel2hyphen.js","webpack://Slider/./node_modules/enquire.js/src/index.js","webpack://Slider/./node_modules/enquire.js/src/MediaQueryDispatch.js","webpack://Slider/./node_modules/enquire.js/src/MediaQuery.js","webpack://Slider/./node_modules/enquire.js/src/QueryHandler.js","webpack://Slider/./src/initial-state.js","webpack://Slider/./src/utils/innerSliderUtils.js","webpack://Slider/./src/track.js","webpack://Slider/./src/dots.js","webpack://Slider/./src/arrows.js","webpack://Slider/./src/inner-slider.js","webpack://Slider/./src/default-props.js","webpack://Slider/./src/slider.js","webpack://Slider/./src/index.js","webpack://Slider/webpack/bootstrap"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__0__","hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","inner","argType","push","Array","isArray","apply","toString","Object","prototype","includes","key","call","join","default","obj2mq","obj","mq","features","keys","forEach","feature","index","value","camel2hyphen","isDimension","test","query","q","g","this","Function","e","isFunction","target","each","collection","fn","now","Date","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeSelf","freeGlobal","global","self","objectToString","nativeMax","Math","max","nativeMin","min","isObject","type","toNumber","other","valueOf","replace","isBinary","slice","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","undefined","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","debounced","isInvoking","cancel","clearTimeout","flush","MapShim","Map","defineProperty","class_1","get","__entries__","enumerable","configurable","getIndex","entry","set","delete","entries","splice","has","clear","callback","ctx","_i","_a","arr","some","isBrowser","document","global$1","requestAnimationFrame$1","requestAnimationFrame","bind","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","addObserver","observer","observers_","indexOf","connected_","connect_","removeObserver","observers","disconnect_","refresh","updateObservers_","activeObservers","filter","gatherActive","hasActive","broadcastActive","addEventListener","onTransitionEnd_","mutationsObserver_","observe","attributes","childList","characterData","subtree","mutationEventsAdded_","removeEventListener","disconnect","propertyName","_b","getInstance","instance_","resolvePending","leadingCall","trailingCall","proxy","timeoutCallback","timeStamp","delay","defineConfigurable","props","writable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","reduce","size","position","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","width","height","paddings","horizPad","vertPad","vertScrollbar","clientWidth","clientHeight","positions_1","getComputedStyle","left","right","top","bottom","boxSizing","round","documentElement","horizScrollbar","abs","getHTMLElementContentRect","x","y","ResizeObservation","isActive","rect","contentRect_","broadcastWidth","broadcastHeight","broadcastRect","ResizeObserverEntry","rectInit","Constr","DOMRectReadOnly","create","contentRect","ResizeObserverSPI","Element","observations","observations_","controller_","unobserve","clearActive","_this","observation","activeObservations_","callbackCtx_","map","callback_","controller","callbackCtx","WeakMap","ResizeObserver","method","str","match","toLowerCase","MediaQueryDispatch","MediaQuery","Util","matchMedia","Error","queries","browserIsIncapable","matches","constructor","register","shouldDegrade","isUnconditional","handler","addHandler","unregister","removeHandler","QueryHandler","handlers","mql","listener","currentTarget","assess","addListener","constuctor","qh","on","h","equals","destroy","removeListener","action","deferSetup","setup","initialised","off","unmatch","initialState","animating","autoplaying","currentDirection","currentLeft","currentSlide","direction","dragging","edgeDragged","initialized","lazyLoadedList","listHeight","listWidth","scrolling","slideCount","slideHeight","slideWidth","swipeLeft","swiped","swiping","touchObject","startX","startY","curX","curY","trackStyle","trackWidth","targetSlide","clamp","number","lowerBound","upperBound","extractObject","spec","newObject","getPostClones","unslick","infinite","canUseDOM","createElement","safePreventDefault","event","_reactName","preventDefault","getOnDemandLazySlides","onDemandSlides","startIndex","lazyStartIndex","endIndex","lazyEndIndex","slideIndex","lazySlidesOnLeft","lazyLoad","lazySlidesOnRight","centerMode","floor","slidesToShow","centerPadding","getWidth","elem","offsetWidth","getHeight","offsetHeight","getSwipeDirection","verticalSwiping","xDist","yDist","r","atan2","swipeAngle","PI","canGoNext","canGo","checkNavigable","navigables","breakpoint","counter","indexes","slidesToScroll","prevNavigable","n","getSlideCount","swipedSlide","currentIndex","centerOffset","swipeToSlide","slides","slickList","listRef","querySelectorAll","from","every","slide","vertical","offsetTop","offsetLeft","rtl","dataset","checkSpecKeys","keysArray","console","error","getTrackCSS","trackHeight","WebkitTransform","transform","msTransform","trackChildren","getTotalSlides","style","opacity","transition","WebkitTransition","useTransform","fade","attachEvent","marginTop","marginLeft","getTrackAnimateCSS","speed","cssEase","getTrackLeft","trackRef","variableWidth","slidesToOffset","getPreClones","targetLeft","trackElem","node","targetSlideIndex","childNodes","children","siblingDirection","slidesOnRight","slidesOnLeft","getSlideClasses","slickActive","slickCenter","slickCloned","slickCurrent","cloned","getKey","child","fallbackKey","Track","ref","t","preCloneSlides","postCloneSlides","childrenCount","React","Children","count","childOnClickOptions","message","omitLazyForSlides","childStyle","useCSS","slideClass","className","slideClasses","cloneElement","classnames","tabIndex","outline","onClick","focusOnSelect","preCloneNo","concat","reverse","renderSlides","mouseEvents","onMouseEnter","onMouseOver","onMouseLeave","handleRef","track","PureComponent","Dots","clickHandler","dotCount","dots","ceil","_rightBound","_leftBound","rightBound","leftBound","dot","activeDot","customPaging","appendDots","dotsClass","PrevArrow","prevClasses","prevHandler","prevArrowProps","disabled","arrow","prev","display","customProps","prevArrow","NextArrow","nextClasses","nextHandler","nextArrowProps","next","nextArrow","InnerSlider","list","adaptiveHeight","querySelector","state","onInit","slidesToLoad","setState","prevState","onLazyLoad","updateState","adaptHeight","autoplay","autoPlay","lazyLoadTimer","setInterval","progressiveLazyLoad","ro","onWindowResized","callbackTimers","onfocus","pauseOnFocus","onSlideFocus","onblur","onSlideBlur","animationEndCallback","clearInterval","timer","detachEvent","autoplayTimer","prevProps","checkImagesLoad","onReInit","setTrackStyle","didPropsChange","changeSlide","pause","debouncedResize","debounce","resizeWindow","Boolean","listNode","trackNode","centerPaddingAdj","initialSlide","updatedState","trackLeft","childrenWidths","preClones","postClones","currentWidth","images","imagesCount","loadedCount","image","prevClickHandler","onclick","parentNode","focus","onload","onerror","onLazyLoadError","dontAnimate","asNavFor","beforeChange","afterChange","waitForAnimate","animationSlide","nextState","finalSlide","animationLeft","finalLeft","asNavForIndex","innerSlider","slideHandler","firstBatch","previousTargetSlide","indexOffset","nodes","slideOffset","previousInt","Number","clickable","stopPropagation","accessibility","dir","tagName","keyCode","ontouchmove","returnValue","disableBodyScroll","swipe","draggable","touches","pageX","clientX","pageY","clientY","edgeFriction","onEdge","swipeEvent","curLeft","swipeLength","sqrt","pow","verticalSwipeLength","positionOffset","swipeDirection","touchSwipeLength","triggerSlideHandler","touchThreshold","onSwipe","minSwipe","newSlide","activeSlide","enableBodyScroll","swipeEnd","isNaN","nextIndex","playType","play","autoplaySpeed","pauseType","slider","trackProps","pauseOnHover","verticalHeightStyle","onTrackOver","onTrackLeave","selectHandler","arrowProps","dotProps","pauseOnDotsHover","onDotsLeave","onDotsOver","arrows","listProps","centerPaddingStyle","listStyle","padding","touchMove","onMouseDown","swipeStart","onMouseMove","swipeMove","onMouseUp","onTouchStart","onTouchMove","onTouchEnd","touchEnd","onTouchCancel","onKeyDown","keyHandler","innerSliderProps","listRefHandler","trackRefHandler","ssrState","ssrInit","Component","defaultProps","easing","responsive","rows","slidesPerRow","enquire","Slider","slickPrev","slickNext","slickGoTo","_responsiveMediaHandlers","breakpoints","breakpt","sort","bQuery","json2mq","minWidth","maxWidth","media","settings","newProps","resp","toArray","trim","warn","newChildren","j","row","k","innerSliderRefHandler","installedModules","__webpack_require__","m","modules","c","d","name","getter","o","Symbol","toStringTag","mode","__esModule","ns","object","property","p","s","moduleId","l"],"mappings":"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","file":"react-slick.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Slider\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"Slider\"] = factory(root[\"React\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__0__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","var camel2hyphen = require('string-convert/camel2hyphen');\n\nvar isDimension = function (feature) {\n var re = /[height|width]$/;\n return re.test(feature);\n};\n\nvar obj2mq = function (obj) {\n var mq = '';\n var features = Object.keys(obj);\n features.forEach(function (feature, index) {\n var value = obj[feature];\n feature = camel2hyphen(feature);\n // Add px to dimension features\n if (isDimension(feature) && typeof value === 'number') {\n value = value + 'px';\n }\n if (value === true) {\n mq += feature;\n } else if (value === false) {\n mq += 'not ' + feature;\n } else {\n mq += '(' + feature + ': ' + value + ')';\n }\n if (index < features.length-1) {\n mq += ' and '\n }\n });\n return mq;\n};\n\nvar json2mq = function (query) {\n var mq = '';\n if (typeof query === 'string') {\n return query;\n }\n // Handling array of media queries\n if (query instanceof Array) {\n query.forEach(function (q, index) {\n mq += obj2mq(q);\n if (index < query.length-1) {\n mq += ', '\n }\n });\n return mq;\n }\n // Handling single media query\n return obj2mq(query);\n};\n\nmodule.exports = json2mq;","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Helper function for iterating over a collection\n *\n * @param collection\n * @param fn\n */\nfunction each(collection, fn) {\n var i = 0,\n length = collection.length,\n cont;\n\n for(i; i < length; i++) {\n cont = fn(collection[i], i);\n if(cont === false) {\n break; //allow early exit\n }\n }\n}\n\n/**\n * Helper function for determining whether target object is an array\n *\n * @param target the object under test\n * @return {Boolean} true if array, false otherwise\n */\nfunction isArray(target) {\n return Object.prototype.toString.apply(target) === '[object Array]';\n}\n\n/**\n * Helper function for determining whether target object is a function\n *\n * @param target the object under test\n * @return {Boolean} true if function, false otherwise\n */\nfunction isFunction(target) {\n return typeof target === 'function';\n}\n\nmodule.exports = {\n isFunction : isFunction,\n isArray : isArray,\n each : each\n};\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","var camel2hyphen = function (str) {\n return str\n .replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n })\n .toLowerCase();\n};\n\nmodule.exports = camel2hyphen;","var MediaQueryDispatch = require('./MediaQueryDispatch');\nmodule.exports = new MediaQueryDispatch();\n","var MediaQuery = require('./MediaQuery');\nvar Util = require('./Util');\nvar each = Util.each;\nvar isFunction = Util.isFunction;\nvar isArray = Util.isArray;\n\n/**\n * Allows for registration of query handlers.\n * Manages the query handler's state and is responsible for wiring up browser events\n *\n * @constructor\n */\nfunction MediaQueryDispatch () {\n if(!window.matchMedia) {\n throw new Error('matchMedia not present, legacy browsers require a polyfill');\n }\n\n this.queries = {};\n this.browserIsIncapable = !window.matchMedia('only all').matches;\n}\n\nMediaQueryDispatch.prototype = {\n\n constructor : MediaQueryDispatch,\n\n /**\n * Registers a handler for the given media query\n *\n * @param {string} q the media query\n * @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers\n * @param {function} options.match fired when query matched\n * @param {function} [options.unmatch] fired when a query is no longer matched\n * @param {function} [options.setup] fired when handler first triggered\n * @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched\n * @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers\n */\n register : function(q, options, shouldDegrade) {\n var queries = this.queries,\n isUnconditional = shouldDegrade && this.browserIsIncapable;\n\n if(!queries[q]) {\n queries[q] = new MediaQuery(q, isUnconditional);\n }\n\n //normalise to object in an array\n if(isFunction(options)) {\n options = { match : options };\n }\n if(!isArray(options)) {\n options = [options];\n }\n each(options, function(handler) {\n if (isFunction(handler)) {\n handler = { match : handler };\n }\n queries[q].addHandler(handler);\n });\n\n return this;\n },\n\n /**\n * unregisters a query and all it's handlers, or a specific handler for a query\n *\n * @param {string} q the media query to target\n * @param {object || function} [handler] specific handler to unregister\n */\n unregister : function(q, handler) {\n var query = this.queries[q];\n\n if(query) {\n if(handler) {\n query.removeHandler(handler);\n }\n else {\n query.clear();\n delete this.queries[q];\n }\n }\n\n return this;\n }\n};\n\nmodule.exports = MediaQueryDispatch;\n","var QueryHandler = require('./QueryHandler');\nvar each = require('./Util').each;\n\n/**\n * Represents a single media query, manages it's state and registered handlers for this query\n *\n * @constructor\n * @param {string} query the media query string\n * @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design\n */\nfunction MediaQuery(query, isUnconditional) {\n this.query = query;\n this.isUnconditional = isUnconditional;\n this.handlers = [];\n this.mql = window.matchMedia(query);\n\n var self = this;\n this.listener = function(mql) {\n // Chrome passes an MediaQueryListEvent object, while other browsers pass MediaQueryList directly\n self.mql = mql.currentTarget || mql;\n self.assess();\n };\n this.mql.addListener(this.listener);\n}\n\nMediaQuery.prototype = {\n\n constuctor : MediaQuery,\n\n /**\n * add a handler for this query, triggering if already active\n *\n * @param {object} handler\n * @param {function} handler.match callback for when query is activated\n * @param {function} [handler.unmatch] callback for when query is deactivated\n * @param {function} [handler.setup] callback for immediate execution when a query handler is registered\n * @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched?\n */\n addHandler : function(handler) {\n var qh = new QueryHandler(handler);\n this.handlers.push(qh);\n\n this.matches() && qh.on();\n },\n\n /**\n * removes the given handler from the collection, and calls it's destroy methods\n *\n * @param {object || function} handler the handler to remove\n */\n removeHandler : function(handler) {\n var handlers = this.handlers;\n each(handlers, function(h, i) {\n if(h.equals(handler)) {\n h.destroy();\n return !handlers.splice(i,1); //remove from array and exit each early\n }\n });\n },\n\n /**\n * Determine whether the media query should be considered a match\n *\n * @return {Boolean} true if media query can be considered a match, false otherwise\n */\n matches : function() {\n return this.mql.matches || this.isUnconditional;\n },\n\n /**\n * Clears all handlers and unbinds events\n */\n clear : function() {\n each(this.handlers, function(handler) {\n handler.destroy();\n });\n this.mql.removeListener(this.listener);\n this.handlers.length = 0; //clear array\n },\n\n /*\n * Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match\n */\n assess : function() {\n var action = this.matches() ? 'on' : 'off';\n\n each(this.handlers, function(handler) {\n handler[action]();\n });\n }\n};\n\nmodule.exports = MediaQuery;\n","/**\n * Delegate to handle a media query being matched and unmatched.\n *\n * @param {object} options\n * @param {function} options.match callback for when the media query is matched\n * @param {function} [options.unmatch] callback for when the media query is unmatched\n * @param {function} [options.setup] one-time callback triggered the first time a query is matched\n * @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?\n * @constructor\n */\nfunction QueryHandler(options) {\n this.options = options;\n !options.deferSetup && this.setup();\n}\n\nQueryHandler.prototype = {\n\n constructor : QueryHandler,\n\n /**\n * coordinates setup of the handler\n *\n * @function\n */\n setup : function() {\n if(this.options.setup) {\n this.options.setup();\n }\n this.initialised = true;\n },\n\n /**\n * coordinates setup and triggering of the handler\n *\n * @function\n */\n on : function() {\n !this.initialised && this.setup();\n this.options.match && this.options.match();\n },\n\n /**\n * coordinates the unmatch event for the handler\n *\n * @function\n */\n off : function() {\n this.options.unmatch && this.options.unmatch();\n },\n\n /**\n * called when a handler is to be destroyed.\n * delegates to the destroy or unmatch callbacks, depending on availability.\n *\n * @function\n */\n destroy : function() {\n this.options.destroy ? this.options.destroy() : this.off();\n },\n\n /**\n * determines equality by reference.\n * if object is supplied compare options, if function, compare match callback\n *\n * @function\n * @param {object || function} [target] the target for comparison\n */\n equals : function(target) {\n return this.options === target || this.options.match === target;\n }\n\n};\n\nmodule.exports = QueryHandler;\n","const initialState = {\n animating: false,\n autoplaying: null,\n currentDirection: 0,\n currentLeft: null,\n currentSlide: 0,\n direction: 1,\n dragging: false,\n edgeDragged: false,\n initialized: false,\n lazyLoadedList: [],\n listHeight: null,\n listWidth: null,\n scrolling: false,\n slideCount: null,\n slideHeight: null,\n slideWidth: null,\n swipeLeft: null,\n swiped: false, // used by swipeEvent. differentites between touch and swipe.\n swiping: false,\n touchObject: { startX: 0, startY: 0, curX: 0, curY: 0 },\n trackStyle: {},\n trackWidth: 0,\n targetSlide: 0\n};\n\nexport default initialState;\n","import React from \"react\";\n\nexport function clamp(number, lowerBound, upperBound) {\n return Math.max(lowerBound, Math.min(number, upperBound));\n}\n\nexport const safePreventDefault = event => {\n const passiveEvents = [\"onTouchStart\", \"onTouchMove\", \"onWheel\"];\n if (!passiveEvents.includes(event._reactName)) {\n event.preventDefault();\n }\n};\n\nexport const getOnDemandLazySlides = spec => {\n let onDemandSlides = [];\n let startIndex = lazyStartIndex(spec);\n let endIndex = lazyEndIndex(spec);\n for (let slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n return onDemandSlides;\n};\n\n// return list of slides that need to be present\nexport const getRequiredLazySlides = spec => {\n let requiredSlides = [];\n let startIndex = lazyStartIndex(spec);\n let endIndex = lazyEndIndex(spec);\n for (let slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n return requiredSlides;\n};\n\n// startIndex that needs to be present\nexport const lazyStartIndex = spec => {\n let startIndex = spec.currentSlide - lazySlidesOnLeft(spec);\n if (spec.lazyLoad === \"anticipated\") startIndex -= 1;\n return startIndex;\n};\nexport const lazyEndIndex = spec => {\n let endIndex = spec.currentSlide + lazySlidesOnRight(spec);\n if (spec.lazyLoad === \"anticipated\") endIndex += 1;\n return endIndex;\n};\nexport const lazySlidesOnLeft = spec =>\n spec.centerMode\n ? Math.floor(spec.slidesToShow / 2) +\n (parseInt(spec.centerPadding) > 0 ? 1 : 0)\n : 0;\nexport const lazySlidesOnRight = spec =>\n spec.centerMode\n ? Math.floor((spec.slidesToShow - 1) / 2) +\n 1 +\n (parseInt(spec.centerPadding) > 0 ? 1 : 0)\n : spec.slidesToShow;\n\n// get width of an element\nexport const getWidth = elem => (elem && elem.offsetWidth) || 0;\nexport const getHeight = elem => (elem && elem.offsetHeight) || 0;\nexport const getSwipeDirection = (touchObject, verticalSwiping = false) => {\n var xDist, yDist, r, swipeAngle;\n xDist = touchObject.startX - touchObject.curX;\n yDist = touchObject.startY - touchObject.curY;\n r = Math.atan2(yDist, xDist);\n swipeAngle = Math.round((r * 180) / Math.PI);\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n if (\n (swipeAngle <= 45 && swipeAngle >= 0) ||\n (swipeAngle <= 360 && swipeAngle >= 315)\n ) {\n return \"left\";\n }\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return \"right\";\n }\n if (verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return \"up\";\n } else {\n return \"down\";\n }\n }\n\n return \"vertical\";\n};\n\n// whether or not we can go next\nexport const canGoNext = spec => {\n let canGo = true;\n if (!spec.infinite) {\n if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n canGo = false;\n } else if (\n spec.slideCount <= spec.slidesToShow ||\n spec.currentSlide >= spec.slideCount - spec.slidesToShow\n ) {\n canGo = false;\n }\n }\n return canGo;\n};\n\n// given an object and a list of keys, return new object with given keys\nexport const extractObject = (spec, keys) => {\n let newObject = {};\n keys.forEach(key => (newObject[key] = spec[key]));\n return newObject;\n};\n\n// get initialized state\nexport const initializedState = spec => {\n // spec also contains listRef, trackRef\n let slideCount = React.Children.count(spec.children);\n const listNode = spec.listRef;\n let listWidth = Math.ceil(getWidth(listNode));\n const trackNode = spec.trackRef && spec.trackRef.node;\n let trackWidth = Math.ceil(getWidth(trackNode));\n let slideWidth;\n if (!spec.vertical) {\n let centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n if (\n typeof spec.centerPadding === \"string\" &&\n spec.centerPadding.slice(-1) === \"%\"\n ) {\n centerPaddingAdj *= listWidth / 100;\n }\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n let slideHeight =\n listNode && getHeight(listNode.querySelector('[data-index=\"0\"]'));\n let listHeight = slideHeight * spec.slidesToShow;\n let currentSlide =\n spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n let lazyLoadedList = spec.lazyLoadedList || [];\n let slidesToLoad = getOnDemandLazySlides({\n ...spec,\n currentSlide,\n lazyLoadedList\n });\n lazyLoadedList = lazyLoadedList.concat(slidesToLoad);\n\n let state = {\n slideCount,\n slideWidth,\n listWidth,\n trackWidth,\n currentSlide,\n slideHeight,\n listHeight,\n lazyLoadedList\n };\n\n if (spec.autoplaying === null && spec.autoplay) {\n state[\"autoplaying\"] = \"playing\";\n }\n\n return state;\n};\n\nexport const slideHandler = spec => {\n const {\n waitForAnimate,\n animating,\n fade,\n infinite,\n index,\n slideCount,\n lazyLoad,\n currentSlide,\n centerMode,\n slidesToScroll,\n slidesToShow,\n useCSS\n } = spec;\n let { lazyLoadedList } = spec;\n if (waitForAnimate && animating) return {};\n let animationSlide = index,\n finalSlide,\n animationLeft,\n finalLeft;\n let state = {},\n nextState = {};\n const targetSlide = infinite ? index : clamp(index, 0, slideCount - 1);\n if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList = lazyLoadedList.concat(animationSlide);\n }\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList,\n targetSlide: animationSlide\n };\n nextState = { animating: false, targetSlide: animationSlide };\n } else {\n finalSlide = animationSlide;\n if (animationSlide < 0) {\n finalSlide = animationSlide + slideCount;\n if (!infinite) finalSlide = 0;\n else if (slideCount % slidesToScroll !== 0)\n finalSlide = slideCount - (slideCount % slidesToScroll);\n } else if (!canGoNext(spec) && animationSlide > currentSlide) {\n animationSlide = finalSlide = currentSlide;\n } else if (centerMode && animationSlide >= slideCount) {\n animationSlide = infinite ? slideCount : slideCount - 1;\n finalSlide = infinite ? 0 : slideCount - 1;\n } else if (animationSlide >= slideCount) {\n finalSlide = animationSlide - slideCount;\n if (!infinite) finalSlide = slideCount - slidesToShow;\n else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n }\n\n if (!infinite && animationSlide + slidesToShow >= slideCount) {\n finalSlide = slideCount - slidesToShow;\n }\n\n animationLeft = getTrackLeft({ ...spec, slideIndex: animationSlide });\n finalLeft = getTrackLeft({ ...spec, slideIndex: finalSlide });\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n if (lazyLoad) {\n lazyLoadedList = lazyLoadedList.concat(\n getOnDemandLazySlides({ ...spec, currentSlide: animationSlide })\n );\n }\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS({ ...spec, left: finalLeft }),\n lazyLoadedList,\n targetSlide\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS({ ...spec, left: animationLeft }),\n lazyLoadedList,\n targetSlide\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS({ ...spec, left: finalLeft }),\n swipeLeft: null,\n targetSlide\n };\n }\n }\n return { state, nextState };\n};\n\nexport const changeSlide = (spec, options) => {\n var indexOffset, previousInt, slideOffset, unevenOffset, targetSlide;\n const {\n slidesToScroll,\n slidesToShow,\n slideCount,\n currentSlide,\n targetSlide: previousTargetSlide,\n lazyLoad,\n infinite\n } = spec;\n unevenOffset = slideCount % slidesToScroll !== 0;\n indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n if (options.message === \"previous\") {\n slideOffset =\n indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\n if (lazyLoad && !infinite) {\n previousInt = currentSlide - slideOffset;\n targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n }\n if (!infinite) {\n targetSlide = previousTargetSlide - slidesToScroll;\n }\n } else if (options.message === \"next\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n targetSlide = currentSlide + slideOffset;\n if (lazyLoad && !infinite) {\n targetSlide =\n ((currentSlide + slidesToScroll) % slideCount) + indexOffset;\n }\n if (!infinite) {\n targetSlide = previousTargetSlide + slidesToScroll;\n }\n } else if (options.message === \"dots\") {\n // Click on dots\n targetSlide = options.index * options.slidesToScroll;\n } else if (options.message === \"children\") {\n // Click on the slides\n targetSlide = options.index;\n if (infinite) {\n let direction = siblingDirection({ ...spec, targetSlide });\n if (targetSlide > options.currentSlide && direction === \"left\") {\n targetSlide = targetSlide - slideCount;\n } else if (targetSlide < options.currentSlide && direction === \"right\") {\n targetSlide = targetSlide + slideCount;\n }\n }\n } else if (options.message === \"index\") {\n targetSlide = Number(options.index);\n }\n return targetSlide;\n};\nexport const keyHandler = (e, accessibility, rtl) => {\n if (e.target.tagName.match(\"TEXTAREA|INPUT|SELECT\") || !accessibility)\n return \"\";\n if (e.keyCode === 37) return rtl ? \"next\" : \"previous\";\n if (e.keyCode === 39) return rtl ? \"previous\" : \"next\";\n return \"\";\n};\n\nexport const swipeStart = (e, swipe, draggable) => {\n e.target.tagName === \"IMG\" && safePreventDefault(e);\n if (!swipe || (!draggable && e.type.indexOf(\"mouse\") !== -1)) return \"\";\n return {\n dragging: true,\n touchObject: {\n startX: e.touches ? e.touches[0].pageX : e.clientX,\n startY: e.touches ? e.touches[0].pageY : e.clientY,\n curX: e.touches ? e.touches[0].pageX : e.clientX,\n curY: e.touches ? e.touches[0].pageY : e.clientY\n }\n };\n};\nexport const swipeMove = (e, spec) => {\n // spec also contains, trackRef and slideIndex\n const {\n scrolling,\n animating,\n vertical,\n swipeToSlide,\n verticalSwiping,\n rtl,\n currentSlide,\n edgeFriction,\n edgeDragged,\n onEdge,\n swiped,\n swiping,\n slideCount,\n slidesToScroll,\n infinite,\n touchObject,\n swipeEvent,\n listHeight,\n listWidth\n } = spec;\n if (scrolling) return;\n if (animating) return safePreventDefault(e);\n if (vertical && swipeToSlide && verticalSwiping) safePreventDefault(e);\n let swipeLeft,\n state = {};\n let curLeft = getTrackLeft(spec);\n touchObject.curX = e.touches ? e.touches[0].pageX : e.clientX;\n touchObject.curY = e.touches ? e.touches[0].pageY : e.clientY;\n touchObject.swipeLength = Math.round(\n Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2))\n );\n let verticalSwipeLength = Math.round(\n Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2))\n );\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return { scrolling: true };\n }\n if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n let positionOffset =\n (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n if (verticalSwiping)\n positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n\n let dotCount = Math.ceil(slideCount / slidesToScroll);\n let swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n let touchSwipeLength = touchObject.swipeLength;\n if (!infinite) {\n if (\n (currentSlide === 0 &&\n (swipeDirection === \"right\" || swipeDirection === \"down\")) ||\n (currentSlide + 1 >= dotCount &&\n (swipeDirection === \"left\" || swipeDirection === \"up\")) ||\n (!canGoNext(spec) &&\n (swipeDirection === \"left\" || swipeDirection === \"up\"))\n ) {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state[\"edgeDragged\"] = true;\n }\n }\n }\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state[\"swiped\"] = true;\n }\n if (!vertical) {\n if (!rtl) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n } else {\n swipeLeft = curLeft - touchSwipeLength * positionOffset;\n }\n } else {\n swipeLeft =\n curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n }\n if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n state = {\n ...state,\n touchObject,\n swipeLeft,\n trackStyle: getTrackCSS({ ...spec, left: swipeLeft })\n };\n if (\n Math.abs(touchObject.curX - touchObject.startX) <\n Math.abs(touchObject.curY - touchObject.startY) * 0.8\n ) {\n return state;\n }\n if (touchObject.swipeLength > 10) {\n state[\"swiping\"] = true;\n safePreventDefault(e);\n }\n return state;\n};\nexport const swipeEnd = (e, spec) => {\n const {\n dragging,\n swipe,\n touchObject,\n listWidth,\n touchThreshold,\n verticalSwiping,\n listHeight,\n swipeToSlide,\n scrolling,\n onSwipe,\n targetSlide,\n currentSlide,\n infinite\n } = spec;\n if (!dragging) {\n if (swipe) safePreventDefault(e);\n return {};\n }\n let minSwipe = verticalSwiping\n ? listHeight / touchThreshold\n : listWidth / touchThreshold;\n let swipeDirection = getSwipeDirection(touchObject, verticalSwiping);\n // reset the state of touch related state variables.\n let state = {\n dragging: false,\n edgeDragged: false,\n scrolling: false,\n swiping: false,\n swiped: false,\n swipeLeft: null,\n touchObject: {}\n };\n if (scrolling) {\n return state;\n }\n if (!touchObject.swipeLength) {\n return state;\n }\n if (touchObject.swipeLength > minSwipe) {\n safePreventDefault(e);\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n let slideCount, newSlide;\n let activeSlide = infinite ? currentSlide : targetSlide;\n switch (swipeDirection) {\n case \"left\":\n case \"up\":\n newSlide = activeSlide + getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 0;\n break;\n case \"right\":\n case \"down\":\n newSlide = activeSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 1;\n break;\n default:\n slideCount = activeSlide;\n }\n state[\"triggerSlideHandler\"] = slideCount;\n } else {\n // Adjust the track back to it's original position.\n let currentLeft = getTrackLeft(spec);\n state[\"trackStyle\"] = getTrackAnimateCSS({ ...spec, left: currentLeft });\n }\n return state;\n};\nexport const getNavigableIndexes = spec => {\n let max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n let breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n let counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n let indexes = [];\n while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n return indexes;\n};\nexport const checkNavigable = (spec, index) => {\n const navigables = getNavigableIndexes(spec);\n let prevNavigable = 0;\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (let n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n prevNavigable = navigables[n];\n }\n }\n return index;\n};\nexport const getSlideCount = spec => {\n const centerOffset = spec.centerMode\n ? spec.slideWidth * Math.floor(spec.slidesToShow / 2)\n : 0;\n if (spec.swipeToSlide) {\n let swipedSlide;\n const slickList = spec.listRef;\n const slides =\n (slickList.querySelectorAll &&\n slickList.querySelectorAll(\".slick-slide\")) ||\n [];\n Array.from(slides).every(slide => {\n if (!spec.vertical) {\n if (\n slide.offsetLeft - centerOffset + getWidth(slide) / 2 >\n spec.swipeLeft * -1\n ) {\n swipedSlide = slide;\n return false;\n }\n } else {\n if (slide.offsetTop + getHeight(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n }\n\n return true;\n });\n\n if (!swipedSlide) {\n return 0;\n }\n const currentIndex =\n spec.rtl === true\n ? spec.slideCount - spec.currentSlide\n : spec.currentSlide;\n const slidesTraversed =\n Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n return slidesTraversed;\n } else {\n return spec.slidesToScroll;\n }\n};\n\nexport const checkSpecKeys = (spec, keysArray) =>\n keysArray.reduce((value, key) => value && spec.hasOwnProperty(key), true)\n ? null\n : console.error(\"Keys Missing:\", spec);\n\nexport const getTrackCSS = spec => {\n checkSpecKeys(spec, [\n \"left\",\n \"variableWidth\",\n \"slideCount\",\n \"slidesToShow\",\n \"slideWidth\"\n ]);\n let trackWidth, trackHeight;\n const trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n let style = {\n opacity: 1,\n transition: \"\",\n WebkitTransition: \"\"\n };\n if (spec.useTransform) {\n let WebkitTransform = !spec.vertical\n ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\"\n : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n let transform = !spec.vertical\n ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\"\n : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n let msTransform = !spec.vertical\n ? \"translateX(\" + spec.left + \"px)\"\n : \"translateY(\" + spec.left + \"px)\";\n style = {\n ...style,\n WebkitTransform,\n transform,\n msTransform\n };\n } else {\n if (spec.vertical) {\n style[\"top\"] = spec.left;\n } else {\n style[\"left\"] = spec.left;\n }\n }\n if (spec.fade) style = { opacity: 1 };\n if (trackWidth) style.width = trackWidth;\n if (trackHeight) style.height = trackHeight;\n\n // Fallback for IE8\n if (window && !window.addEventListener && window.attachEvent) {\n if (!spec.vertical) {\n style.marginLeft = spec.left + \"px\";\n } else {\n style.marginTop = spec.left + \"px\";\n }\n }\n\n return style;\n};\nexport const getTrackAnimateCSS = spec => {\n checkSpecKeys(spec, [\n \"left\",\n \"variableWidth\",\n \"slideCount\",\n \"slidesToShow\",\n \"slideWidth\",\n \"speed\",\n \"cssEase\"\n ]);\n let style = getTrackCSS(spec);\n // useCSS is true by default so it can be undefined\n if (spec.useTransform) {\n style.WebkitTransition =\n \"-webkit-transform \" + spec.speed + \"ms \" + spec.cssEase;\n style.transition = \"transform \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n if (spec.vertical) {\n style.transition = \"top \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n style.transition = \"left \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n return style;\n};\nexport const getTrackLeft = spec => {\n if (spec.unslick) {\n return 0;\n }\n\n checkSpecKeys(spec, [\n \"slideIndex\",\n \"trackRef\",\n \"infinite\",\n \"centerMode\",\n \"slideCount\",\n \"slidesToShow\",\n \"slidesToScroll\",\n \"slideWidth\",\n \"listWidth\",\n \"variableWidth\",\n \"slideHeight\"\n ]);\n\n const {\n slideIndex,\n trackRef,\n infinite,\n centerMode,\n slideCount,\n slidesToShow,\n slidesToScroll,\n slideWidth,\n listWidth,\n variableWidth,\n slideHeight,\n fade,\n vertical\n } = spec;\n\n var slideOffset = 0;\n var targetLeft;\n var targetSlide;\n var verticalOffset = 0;\n\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n\n let slidesToOffset = 0;\n if (infinite) {\n slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area\n // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children\n if (\n slideCount % slidesToScroll !== 0 &&\n slideIndex + slidesToScroll > slideCount\n ) {\n slidesToOffset = -(slideIndex > slideCount\n ? slidesToShow - (slideIndex - slideCount)\n : slideCount % slidesToScroll);\n }\n // shift current slide to center of the frame\n if (centerMode) {\n slidesToOffset += parseInt(slidesToShow / 2);\n }\n } else {\n if (\n slideCount % slidesToScroll !== 0 &&\n slideIndex + slidesToScroll > slideCount\n ) {\n slidesToOffset = slidesToShow - (slideCount % slidesToScroll);\n }\n if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\n }\n }\n slideOffset = slidesToOffset * slideWidth;\n verticalOffset = slidesToOffset * slideHeight;\n\n if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n\n if (variableWidth === true) {\n var targetSlideIndex;\n const trackElem = trackRef && trackRef.node;\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n if (centerMode === true) {\n targetSlideIndex = infinite\n ? slideIndex + getPreClones(spec)\n : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n for (let slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -=\n trackElem &&\n trackElem.children[slide] &&\n trackElem.children[slide].offsetWidth;\n }\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n\n return targetLeft;\n};\n\nexport const getPreClones = spec => {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\n\nexport const getPostClones = spec => {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n return spec.slideCount;\n};\n\nexport const getTotalSlides = spec =>\n spec.slideCount === 1\n ? 1\n : getPreClones(spec) + spec.slideCount + getPostClones(spec);\nexport const siblingDirection = spec => {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return \"left\";\n }\n return \"right\";\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return \"right\";\n }\n return \"left\";\n }\n};\n\nexport const slidesOnRight = ({\n slidesToShow,\n centerMode,\n rtl,\n centerPadding\n}) => {\n // returns no of slides on the right of active slide\n if (centerMode) {\n let right = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) right += 1;\n if (rtl && slidesToShow % 2 === 0) right += 1;\n return right;\n }\n if (rtl) {\n return 0;\n }\n return slidesToShow - 1;\n};\n\nexport const slidesOnLeft = ({\n slidesToShow,\n centerMode,\n rtl,\n centerPadding\n}) => {\n // returns no of slides on the left of active slide\n if (centerMode) {\n let left = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) left += 1;\n if (!rtl && slidesToShow % 2 === 0) left += 1;\n return left;\n }\n if (rtl) {\n return slidesToShow - 1;\n }\n return 0;\n};\n\nexport const canUseDOM = () =>\n !!(\n typeof window !== \"undefined\" &&\n window.document &&\n window.document.createElement\n );\n","\"use strict\";\n\nimport React from \"react\";\nimport classnames from \"classnames\";\nimport {\n lazyStartIndex,\n lazyEndIndex,\n getPreClones\n} from \"./utils/innerSliderUtils\";\n\n// given specifications/props for a slide, fetch all the classes that need to be applied to the slide\nconst getSlideClasses = spec => {\n let slickActive, slickCenter, slickCloned;\n let centerOffset, index;\n\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n slickCloned = index < 0 || index >= spec.slideCount;\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\n if (\n index > spec.currentSlide - centerOffset - 1 &&\n index <= spec.currentSlide + centerOffset\n ) {\n slickActive = true;\n }\n } else {\n slickActive =\n spec.currentSlide <= index &&\n index < spec.currentSlide + spec.slidesToShow;\n }\n\n let focusedSlide;\n if (spec.targetSlide < 0) {\n focusedSlide = spec.targetSlide + spec.slideCount;\n } else if (spec.targetSlide >= spec.slideCount) {\n focusedSlide = spec.targetSlide - spec.slideCount;\n } else {\n focusedSlide = spec.targetSlide;\n }\n let slickCurrent = index === focusedSlide;\n return {\n \"slick-slide\": true,\n \"slick-active\": slickActive,\n \"slick-center\": slickCenter,\n \"slick-cloned\": slickCloned,\n [`slick-cloned ${spec.classes?.cloned}`]:\n slickCloned && spec.classes?.cloned,\n \"slick-current\": slickCurrent // dubious in case of RTL\n };\n};\n\nconst getSlideStyle = spec => {\n let style = {};\n\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth;\n }\n\n if (spec.fade) {\n style.position = \"relative\";\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight);\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth);\n }\n style.opacity = spec.currentSlide === spec.index ? 1 : 0;\n if (spec.useCSS) {\n style.transition =\n \"opacity \" +\n spec.speed +\n \"ms \" +\n spec.cssEase +\n \", \" +\n \"visibility \" +\n spec.speed +\n \"ms \" +\n spec.cssEase;\n }\n }\n\n return style;\n};\n\nconst getKey = (child, fallbackKey) => child.key || fallbackKey;\n\nconst shouldOmitLazy = (omitLazyForSlides = [], index) =>\n omitLazyForSlides.includes(index);\n\nconst renderSlides = spec => {\n let key;\n let slides = [];\n let preCloneSlides = [];\n let postCloneSlides = [];\n let childrenCount = React.Children.count(spec.children);\n let startIndex = lazyStartIndex(spec);\n let endIndex = lazyEndIndex(spec);\n\n React.Children.forEach(spec.children, (elem, index) => {\n let child;\n let childOnClickOptions = {\n message: \"children\",\n index: index,\n slidesToScroll: spec.slidesToScroll,\n currentSlide: spec.currentSlide\n };\n\n // in case of lazyLoad, whether or not we want to fetch the slide\n if (\n !spec.lazyLoad ||\n (spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0) ||\n shouldOmitLazy(spec.omitLazyForSlides, index)\n ) {\n child = elem;\n } else {\n child =
    ;\n }\n let childStyle = getSlideStyle({ ...spec, index });\n let slideClass = child.props.className || \"\";\n let slideClasses = getSlideClasses({ ...spec, index });\n // push a cloned element of the desired slide\n slides.push(\n React.cloneElement(child, {\n key: \"original\" + getKey(child, index),\n \"data-index\": index,\n className: classnames(slideClasses, slideClass, spec.classes?.slide),\n tabIndex: \"-1\",\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: { outline: \"none\", ...(child.props.style || {}), ...childStyle },\n onClick: e => {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })\n );\n\n // if slide needs to be precloned or postcloned\n if (spec.infinite && spec.fade === false) {\n let preCloneNo = childrenCount - index;\n if (\n preCloneNo <= getPreClones(spec) &&\n childrenCount !== spec.slidesToShow\n ) {\n key = -preCloneNo;\n if (key >= startIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses({ ...spec, index: key });\n preCloneSlides.push(\n React.cloneElement(child, {\n key: \"precloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: classnames(\n slideClasses,\n slideClass,\n spec.classes?.slide\n ),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: { ...(child.props.style || {}), ...childStyle },\n onClick: e => {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })\n );\n }\n\n if (childrenCount !== spec.slidesToShow) {\n key = childrenCount + index;\n if (key < endIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses({ ...spec, index: key });\n postCloneSlides.push(\n React.cloneElement(child, {\n key: \"postcloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: classnames(\n slideClasses,\n slideClass,\n spec.classes?.slide\n ),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: { ...(child.props.style || {}), ...childStyle },\n onClick: e => {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })\n );\n }\n }\n });\n\n if (spec.rtl) {\n return preCloneSlides.concat(slides, postCloneSlides).reverse();\n } else {\n return preCloneSlides.concat(slides, postCloneSlides);\n }\n};\n\nexport class Track extends React.PureComponent {\n node = null;\n\n handleRef = ref => {\n this.node = ref;\n };\n\n render() {\n const slides = renderSlides(this.props);\n const { onMouseEnter, onMouseOver, onMouseLeave } = this.props;\n const mouseEvents = { onMouseEnter, onMouseOver, onMouseLeave };\n return (\n \n {slides}\n
    \n );\n }\n}\n","\"use strict\";\n\nimport React from \"react\";\nimport classnames from \"classnames\";\nimport { clamp } from \"./utils/innerSliderUtils\";\n\nconst getDotCount = spec => {\n let dots;\n\n if (spec.infinite) {\n dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n } else {\n dots =\n Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) +\n 1;\n }\n\n return dots;\n};\n\nexport class Dots extends React.PureComponent {\n clickHandler(options, 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 e.preventDefault();\n this.props.clickHandler(options);\n }\n render() {\n const {\n onMouseEnter,\n onMouseOver,\n onMouseLeave,\n infinite,\n slidesToScroll,\n slidesToShow,\n slideCount,\n currentSlide,\n classes\n } = this.props;\n let dotCount = getDotCount({\n slideCount,\n slidesToScroll,\n slidesToShow,\n infinite\n });\n\n const mouseEvents = { onMouseEnter, onMouseOver, onMouseLeave };\n let dots = [];\n for (let i = 0; i < dotCount; i++) {\n let _rightBound = (i + 1) * slidesToScroll - 1;\n let rightBound = infinite\n ? _rightBound\n : clamp(_rightBound, 0, slideCount - 1);\n let _leftBound = rightBound - (slidesToScroll - 1);\n let leftBound = infinite\n ? _leftBound\n : clamp(_leftBound, 0, slideCount - 1);\n\n let className = classnames(classes?.dot, {\n [classes?.activeDot\n ? `slick-active ${classes?.activeDot}`\n : \"slick-active\"]: infinite\n ? currentSlide >= leftBound && currentSlide <= rightBound\n : currentSlide === leftBound\n });\n\n let dotOptions = {\n message: \"dots\",\n index: i,\n slidesToScroll,\n currentSlide\n };\n\n let onClick = this.clickHandler.bind(this, dotOptions);\n dots = dots.concat(\n
  • \n {React.cloneElement(this.props.customPaging(i), { onClick })}\n
  • \n );\n }\n\n return React.cloneElement(this.props.appendDots(dots), {\n className: classnames(this.props.dotsClass, classes?.dots),\n ...mouseEvents\n });\n }\n}\n","\"use strict\";\n\nimport React from \"react\";\nimport classnames from \"classnames\";\nimport { canGoNext } from \"./utils/innerSliderUtils\";\n\nexport class PrevArrow extends React.PureComponent {\n clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n this.props.clickHandler(options, e);\n }\n render() {\n let prevClasses = { \"slick-arrow\": true, \"slick-prev\": true };\n let prevHandler = this.clickHandler.bind(this, { message: \"previous\" });\n\n if (\n !this.props.infinite &&\n (this.props.currentSlide === 0 ||\n this.props.slideCount <= this.props.slidesToShow)\n ) {\n prevClasses[\"slick-disabled\"] = true;\n prevClasses[this.props.classes?.disabled] = !!this.props.classes\n ?.disabled;\n prevHandler = null;\n }\n\n let prevArrowProps = {\n key: \"0\",\n \"data-role\": \"none\",\n className: classnames(\n prevClasses,\n this.props.classes?.arrow,\n this.props.classes?.prev\n ),\n style: { display: \"block\" },\n onClick: prevHandler\n };\n let customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n let prevArrow;\n\n if (this.props.prevArrow) {\n prevArrow = React.cloneElement(this.props.prevArrow, {\n ...prevArrowProps,\n ...customProps\n });\n } else {\n prevArrow = (\n \n );\n }\n\n return prevArrow;\n }\n}\n\nexport class NextArrow extends React.PureComponent {\n clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n this.props.clickHandler(options, e);\n }\n render() {\n let nextClasses = { \"slick-arrow\": true, \"slick-next\": true };\n let nextHandler = this.clickHandler.bind(this, { message: \"next\" });\n\n if (!canGoNext(this.props)) {\n nextClasses[\"slick-disabled\"] = true;\n nextClasses[this.props.classes?.disabled] = !!this.props.classes\n ?.disabled;\n nextHandler = null;\n }\n\n let nextArrowProps = {\n key: \"1\",\n \"data-role\": \"none\",\n className: classnames(\n nextClasses,\n this.props.classes?.arrow,\n this.props.classes?.next\n ),\n style: { display: \"block\" },\n onClick: nextHandler\n };\n let customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n let nextArrow;\n\n if (this.props.nextArrow) {\n nextArrow = React.cloneElement(this.props.nextArrow, {\n ...nextArrowProps,\n ...customProps\n });\n } else {\n nextArrow = (\n \n );\n }\n\n return nextArrow;\n }\n}\n","\"use strict\";\n\nimport React from \"react\";\nimport initialState from \"./initial-state\";\nimport debounce from \"lodash.debounce\";\nimport classnames from \"classnames\";\nimport {\n getOnDemandLazySlides,\n extractObject,\n initializedState,\n getHeight,\n canGoNext,\n slideHandler,\n changeSlide,\n keyHandler,\n swipeStart,\n swipeMove,\n swipeEnd,\n getPreClones,\n getPostClones,\n getTrackLeft,\n getTrackCSS\n} from \"./utils/innerSliderUtils\";\n\nimport { Track } from \"./track\";\nimport { Dots } from \"./dots\";\nimport { PrevArrow, NextArrow } from \"./arrows\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\nexport class InnerSlider extends React.Component {\n constructor(props) {\n super(props);\n this.list = null;\n this.track = null;\n this.state = {\n ...initialState,\n currentSlide: this.props.initialSlide,\n slideCount: React.Children.count(this.props.children)\n };\n this.callbackTimers = [];\n this.clickable = true;\n this.debouncedResize = null;\n const ssrState = this.ssrInit();\n this.state = { ...this.state, ...ssrState };\n }\n listRefHandler = ref => (this.list = ref);\n trackRefHandler = ref => (this.track = ref);\n adaptHeight = () => {\n if (this.props.adaptiveHeight && this.list) {\n const elem = this.list.querySelector(\n `[data-index=\"${this.state.currentSlide}\"]`\n );\n this.list.style.height = getHeight(elem) + \"px\";\n }\n };\n componentDidMount = () => {\n this.props.onInit && this.props.onInit();\n if (this.props.lazyLoad) {\n let slidesToLoad = getOnDemandLazySlides({\n ...this.props,\n ...this.state\n });\n if (slidesToLoad.length > 0) {\n this.setState(prevState => ({\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n }));\n if (this.props.onLazyLoad) {\n this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n let spec = { listRef: this.list, trackRef: this.track, ...this.props };\n this.updateState(spec, true, () => {\n this.adaptHeight();\n this.props.autoplay && this.autoPlay(\"update\");\n });\n if (this.props.lazyLoad === \"progressive\") {\n this.lazyLoadTimer = setInterval(this.progressiveLazyLoad, 1000);\n }\n this.ro = new ResizeObserver(() => {\n if (this.state.animating) {\n this.onWindowResized(false); // don't set trackStyle hence don't break animation\n this.callbackTimers.push(\n setTimeout(() => this.onWindowResized(), this.props.speed)\n );\n } else {\n this.onWindowResized();\n }\n });\n this.ro.observe(this.list);\n document.querySelectorAll &&\n Array.prototype.forEach.call(\n document.querySelectorAll(\".slick-slide\"),\n slide => {\n slide.onfocus = this.props.pauseOnFocus ? this.onSlideFocus : null;\n slide.onblur = this.props.pauseOnFocus ? this.onSlideBlur : null;\n }\n );\n if (window.addEventListener) {\n window.addEventListener(\"resize\", this.onWindowResized);\n } else {\n window.attachEvent(\"onresize\", this.onWindowResized);\n }\n };\n componentWillUnmount = () => {\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\n didPropsChange(prevProps) {\n let setTrackStyle = false;\n for (let key of Object.keys(this.props)) {\n if (!prevProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n if (\n typeof prevProps[key] === \"object\" ||\n typeof prevProps[key] === \"function\"\n ) {\n continue;\n }\n if (prevProps[key] !== this.props[key]) {\n setTrackStyle = true;\n break;\n }\n }\n return (\n setTrackStyle ||\n React.Children.count(this.props.children) !==\n React.Children.count(prevProps.children)\n );\n }\n\n componentDidUpdate = prevProps => {\n this.checkImagesLoad();\n this.props.onReInit && this.props.onReInit();\n if (this.props.lazyLoad) {\n let slidesToLoad = getOnDemandLazySlides({\n ...this.props,\n ...this.state\n });\n if (slidesToLoad.length > 0) {\n this.setState(prevState => ({\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n }));\n if (this.props.onLazyLoad) {\n this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n // if (this.props.onLazyLoad) {\n // this.props.onLazyLoad([leftMostSlide])\n // }\n this.adaptHeight();\n let spec = {\n listRef: this.list,\n trackRef: this.track,\n ...this.props,\n ...this.state\n };\n const setTrackStyle = this.didPropsChange(prevProps);\n setTrackStyle &&\n this.updateState(spec, setTrackStyle, () => {\n if (\n this.state.currentSlide >= React.Children.count(this.props.children)\n ) {\n this.changeSlide({\n message: \"index\",\n index:\n React.Children.count(this.props.children) -\n this.props.slidesToShow,\n currentSlide: this.state.currentSlide\n });\n }\n if (this.props.autoplay) {\n this.autoPlay(\"update\");\n } else {\n this.pause(\"paused\");\n }\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 && this.track.node);\n // prevent warning: setting state on unmounted component (server side rendering)\n if (!isTrackMounted) return;\n let spec = {\n listRef: this.list,\n trackRef: this.track,\n ...this.props,\n ...this.state\n };\n this.updateState(spec, setTrackStyle, () => {\n if (this.props.autoplay) this.autoPlay(\"update\");\n else 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 let updatedState = initializedState(spec);\n spec = { ...spec, ...updatedState, slideIndex: updatedState.currentSlide };\n let targetLeft = getTrackLeft(spec);\n spec = { ...spec, left: targetLeft };\n let trackStyle = getTrackCSS(spec);\n if (\n setTrackStyle ||\n React.Children.count(this.props.children) !==\n React.Children.count(spec.children)\n ) {\n updatedState[\"trackStyle\"] = trackStyle;\n }\n this.setState(updatedState, callback);\n };\n\n ssrInit = () => {\n if (this.props.variableWidth) {\n let trackWidth = 0,\n trackLeft = 0;\n let childrenWidths = [];\n let preClones = getPreClones({\n ...this.props,\n ...this.state,\n slideCount: this.props.children.length\n });\n let postClones = getPostClones({\n ...this.props,\n ...this.state,\n slideCount: this.props.children.length\n });\n this.props.children.forEach(child => {\n childrenWidths.push(child.props.style.width);\n trackWidth += child.props.style.width;\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.state.currentSlide; i++) {\n trackLeft += childrenWidths[i];\n }\n let trackStyle = {\n width: trackWidth + \"px\",\n left: -trackLeft + \"px\"\n };\n if (this.props.centerMode) {\n let currentWidth = `${childrenWidths[this.state.currentSlide]}px`;\n trackStyle.left = `calc(${trackStyle.left} + (100% - ${currentWidth}) / 2 ) `;\n }\n return {\n trackStyle\n };\n }\n let childrenCount = React.Children.count(this.props.children);\n const spec = { ...this.props, ...this.state, slideCount: childrenCount };\n let slideCount = getPreClones(spec) + getPostClones(spec) + childrenCount;\n let trackWidth = (100 / this.props.slidesToShow) * slideCount;\n let slideWidth = 100 / slideCount;\n let trackLeft =\n (-slideWidth *\n (getPreClones(spec) + this.state.currentSlide) *\n trackWidth) /\n 100;\n if (this.props.centerMode) {\n trackLeft += (100 - (slideWidth * trackWidth) / 100) / 2;\n }\n let trackStyle = {\n width: trackWidth + \"%\",\n left: trackLeft + \"%\"\n };\n return {\n slideWidth: slideWidth + \"%\",\n trackStyle: trackStyle\n };\n };\n checkImagesLoad = () => {\n let images =\n (this.list &&\n this.list.querySelectorAll &&\n this.list.querySelectorAll(\".slick-slide img\")) ||\n [];\n let imagesCount = images.length,\n loadedCount = 0;\n Array.prototype.forEach.call(images, image => {\n const handler = () =>\n ++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 = e => {\n prevClickHandler(e);\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(\n setTimeout(this.onWindowResized, this.props.speed)\n );\n };\n } else {\n image.onload = handler;\n image.onerror = () => {\n handler();\n this.props.onLazyLoadError && this.props.onLazyLoadError();\n };\n }\n }\n });\n };\n progressiveLazyLoad = () => {\n let slidesToLoad = [];\n const spec = { ...this.props, ...this.state };\n for (\n let index = this.state.currentSlide;\n index < this.state.slideCount + getPostClones(spec);\n index++\n ) {\n if (this.state.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n for (\n let index = this.state.currentSlide - 1;\n index >= -getPreClones(spec);\n index--\n ) {\n if (this.state.lazyLoadedList.indexOf(index) < 0) {\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 if (this.props.onLazyLoad) {\n this.props.onLazyLoad(slidesToLoad);\n }\n } else {\n if (this.lazyLoadTimer) {\n clearInterval(this.lazyLoadTimer);\n delete this.lazyLoadTimer;\n }\n }\n };\n slideHandler = (index, dontAnimate = false) => {\n const {\n asNavFor,\n beforeChange,\n onLazyLoad,\n speed,\n afterChange\n } = this.props;\n // capture currentslide before state is updated\n const currentSlide = this.state.currentSlide;\n let { state, nextState } = slideHandler({\n index,\n ...this.props,\n ...this.state,\n trackRef: this.track,\n useCSS: this.props.useCSS && !dontAnimate\n });\n if (!state) return;\n beforeChange && beforeChange(currentSlide, state.currentSlide);\n let slidesToLoad = state.lazyLoadedList.filter(\n value => this.state.lazyLoadedList.indexOf(value) < 0\n );\n onLazyLoad && slidesToLoad.length > 0 && onLazyLoad(slidesToLoad);\n if (!this.props.waitForAnimate && this.animationEndCallback) {\n clearTimeout(this.animationEndCallback);\n afterChange && afterChange(currentSlide);\n delete this.animationEndCallback;\n }\n this.setState(state, () => {\n // asNavForIndex check is to avoid recursive calls of slideHandler in waitForAnimate=false mode\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(\n setTimeout(() => this.setState({ animating }), 10)\n );\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.state };\n let 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.autoPlay(\"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 let dir = keyHandler(e, this.props.accessibility, this.props.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.props.verticalSwiping) {\n this.disableBodyScroll();\n }\n let state = swipeStart(e, this.props.swipe, this.props.draggable);\n state !== \"\" && this.setState(state);\n };\n swipeMove = e => {\n let state = swipeMove(e, {\n ...this.props,\n ...this.state,\n trackRef: this.track,\n listRef: this.list,\n slideIndex: this.state.currentSlide\n });\n if (!state) return;\n if (state[\"swiping\"]) {\n this.clickable = false;\n }\n this.setState(state);\n };\n swipeEnd = e => {\n let state = swipeEnd(e, {\n ...this.props,\n ...this.state,\n trackRef: this.track,\n listRef: this.list,\n slideIndex: this.state.currentSlide\n });\n if (!state) return;\n let 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 };\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(\n setTimeout(() => this.changeSlide({ message: \"previous\" }), 0)\n );\n };\n slickNext = () => {\n this.callbackTimers.push(\n setTimeout(() => this.changeSlide({ message: \"next\" }), 0)\n );\n };\n slickGoTo = (slide, dontAnimate = false) => {\n slide = Number(slide);\n if (isNaN(slide)) return \"\";\n this.callbackTimers.push(\n setTimeout(\n () =>\n this.changeSlide(\n {\n message: \"index\",\n index: slide,\n currentSlide: this.state.currentSlide\n },\n dontAnimate\n ),\n 0\n )\n );\n };\n play = () => {\n var nextIndex;\n if (this.props.rtl) {\n nextIndex = this.state.currentSlide - this.props.slidesToScroll;\n } else {\n if (canGoNext({ ...this.props, ...this.state })) {\n nextIndex = this.state.currentSlide + this.props.slidesToScroll;\n } else {\n return false;\n }\n }\n\n this.slideHandler(nextIndex);\n };\n\n autoPlay = playType => {\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n }\n const autoplaying = this.state.autoplaying;\n if (playType === \"update\") {\n if (\n autoplaying === \"hovered\" ||\n autoplaying === \"focused\" ||\n autoplaying === \"paused\"\n ) {\n return;\n }\n } else if (playType === \"leave\") {\n if (autoplaying === \"paused\" || autoplaying === \"focused\") {\n return;\n }\n } else if (playType === \"blur\") {\n if (autoplaying === \"paused\" || autoplaying === \"hovered\") {\n return;\n }\n }\n this.autoplayTimer = setInterval(this.play, this.props.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.state.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 }\n } else {\n // pauseType is 'hovered'\n if (autoplaying === \"playing\") {\n this.setState({ autoplaying: \"hovered\" });\n }\n }\n };\n onDotsOver = () => this.props.autoplay && this.pause(\"hovered\");\n onDotsLeave = () =>\n this.props.autoplay &&\n this.state.autoplaying === \"hovered\" &&\n this.autoPlay(\"leave\");\n onTrackOver = () => this.props.autoplay && this.pause(\"hovered\");\n onTrackLeave = () =>\n this.props.autoplay &&\n this.state.autoplaying === \"hovered\" &&\n this.autoPlay(\"leave\");\n onSlideFocus = () => this.props.autoplay && this.pause(\"focused\");\n onSlideBlur = () =>\n this.props.autoplay &&\n this.state.autoplaying === \"focused\" &&\n this.autoPlay(\"blur\");\n\n render = () => {\n var className = classnames(\n \"slick-slider\",\n this.props.className,\n this.props.classes?.slider,\n {\n \"slick-vertical\": this.props.vertical,\n \"slick-initialized\": true\n }\n );\n let spec = { ...this.props, ...this.state };\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 \"omitLazyForSlides\",\n \"classes\"\n ]);\n const { pauseOnHover } = this.props;\n trackProps = {\n ...trackProps,\n onMouseEnter: pauseOnHover ? this.onTrackOver : null,\n onMouseLeave: pauseOnHover ? this.onTrackLeave : null,\n onMouseOver: pauseOnHover ? this.onTrackOver : null,\n focusOnSelect:\n this.props.focusOnSelect && this.clickable ? this.selectHandler : null\n };\n\n var dots;\n if (\n this.props.dots === true &&\n this.state.slideCount >= this.props.slidesToShow\n ) {\n let dotProps = extractObject(spec, [\n \"dotsClass\",\n \"slideCount\",\n \"slidesToShow\",\n \"currentSlide\",\n \"slidesToScroll\",\n \"clickHandler\",\n \"children\",\n \"customPaging\",\n \"infinite\",\n \"appendDots\",\n \"classes\"\n ]);\n const { pauseOnDotsHover } = this.props;\n dotProps = {\n ...dotProps,\n clickHandler: this.changeSlide,\n onMouseEnter: pauseOnDotsHover ? this.onDotsLeave : null,\n onMouseOver: pauseOnDotsHover ? this.onDotsOver : null,\n onMouseLeave: pauseOnDotsHover ? this.onDotsLeave : null\n };\n dots = ;\n }\n\n var prevArrow, nextArrow;\n let arrowProps = extractObject(spec, [\n \"infinite\",\n \"centerMode\",\n \"currentSlide\",\n \"slideCount\",\n \"slidesToShow\",\n \"prevArrow\",\n \"nextArrow\",\n \"classes\"\n ]);\n arrowProps.clickHandler = this.changeSlide;\n\n if (this.props.arrows) {\n prevArrow = ;\n nextArrow = ;\n }\n\n var verticalHeightStyle = null;\n\n if (this.props.vertical) {\n verticalHeightStyle = {\n height: this.state.listHeight\n };\n }\n\n var centerPaddingStyle = null;\n\n if (this.props.vertical === false) {\n if (this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: \"0px \" + this.props.centerPadding\n };\n }\n } else {\n if (this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: this.props.centerPadding + \" 0px\"\n };\n }\n }\n\n const listStyle = { ...verticalHeightStyle, ...centerPaddingStyle };\n const touchMove = this.props.touchMove;\n let listProps = {\n className: classnames(this.props.classes?.list, \"slick-list\"),\n style: listStyle,\n onClick: this.clickHandler,\n onMouseDown: touchMove ? this.swipeStart : null,\n onMouseMove: this.state.dragging && touchMove ? this.swipeMove : null,\n onMouseUp: touchMove ? this.swipeEnd : null,\n onMouseLeave: this.state.dragging && touchMove ? this.swipeEnd : null,\n onTouchStart: touchMove ? this.swipeStart : null,\n onTouchMove: this.state.dragging && touchMove ? this.swipeMove : null,\n onTouchEnd: touchMove ? this.touchEnd : null,\n onTouchCancel: this.state.dragging && touchMove ? this.swipeEnd : null,\n onKeyDown: this.props.accessibility ? this.keyHandler : null\n };\n\n let innerSliderProps = {\n className: className,\n dir: \"ltr\",\n style: this.props.style\n };\n\n if (this.props.unslick) {\n listProps = { className: classnames(this.props.classes?.list, \"slick-list\"), };\n innerSliderProps = { className };\n }\n return (\n
    \n {!this.props.unslick ? prevArrow : \"\"}\n
    \n \n {this.props.children}\n \n
    \n {!this.props.unslick ? nextArrow : \"\"}\n {!this.props.unslick ? dots : \"\"}\n
    \n );\n };\n}\n","import React from \"react\";\n\nlet defaultProps = {\n accessibility: true,\n adaptiveHeight: false,\n afterChange: null,\n appendDots: dots =>
      {dots}
    ,\n arrows: true,\n autoplay: false,\n autoplaySpeed: 3000,\n beforeChange: null,\n centerMode: false,\n centerPadding: \"50px\",\n className: \"\",\n cssEase: \"ease\",\n classes: {\n arrow: null,\n prev: null,\n next: null,\n slide: null,\n disabled: null,\n track: null,\n slider: null,\n list: null,\n dot: null,\n dots: null,\n activeDot: null,\n cloned: null\n },\n customPaging: i => ,\n dots: false,\n dotsClass: \"slick-dots\",\n draggable: true,\n easing: \"linear\",\n edgeFriction: 0.35,\n fade: false,\n focusOnSelect: false,\n infinite: true,\n initialSlide: 0,\n lazyLoad: null,\n nextArrow: null,\n onEdge: null,\n onInit: null,\n onLazyLoadError: null,\n onReInit: null,\n pauseOnDotsHover: false,\n pauseOnFocus: false,\n pauseOnHover: true,\n prevArrow: null,\n responsive: null,\n rows: 1,\n rtl: false,\n slide: \"div\",\n slidesPerRow: 1,\n slidesToScroll: 1,\n slidesToShow: 1,\n speed: 500,\n swipe: true,\n swipeEvent: null,\n swipeToSlide: false,\n touchMove: true,\n touchThreshold: 5,\n useCSS: true,\n useTransform: true,\n variableWidth: false,\n vertical: false,\n waitForAnimate: true\n};\n\nexport default defaultProps;\n","\"use strict\";\n\nimport React from \"react\";\nimport { InnerSlider } from \"./inner-slider\";\nimport json2mq from \"json2mq\";\nimport defaultProps from \"./default-props\";\nimport { canUseDOM } from \"./utils/innerSliderUtils\";\nconst enquire = canUseDOM() && require(\"enquire.js\");\n\nexport default class Slider extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n breakpoint: null\n };\n this._responsiveMediaHandlers = [];\n }\n\n innerSliderRefHandler = ref => (this.innerSlider = ref);\n\n media(query, handler) {\n // javascript handler for css media query\n enquire.register(query, handler);\n this._responsiveMediaHandlers.push({ query, handler });\n }\n\n // handles responsive breakpoints\n componentDidMount() {\n // performance monitoring\n //if (process.env.NODE_ENV !== 'production') {\n //const { whyDidYouUpdate } = require('why-did-you-update')\n //whyDidYouUpdate(React)\n //}\n if (this.props.responsive) {\n let breakpoints = this.props.responsive.map(\n breakpt => breakpt.breakpoint\n );\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: 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 let query = json2mq({ minWidth: breakpoints.slice(-1)[0] });\n\n canUseDOM() &&\n this.media(query, () => {\n this.setState({ breakpoint: null });\n });\n }\n }\n\n componentWillUnmount() {\n this._responsiveMediaHandlers.forEach(function(obj) {\n enquire.unregister(obj.query, obj.handler);\n });\n }\n\n slickPrev = () => this.innerSlider.slickPrev();\n\n slickNext = () => this.innerSlider.slickNext();\n\n slickGoTo = (slide, dontAnimate = false) =>\n this.innerSlider.slickGoTo(slide, dontAnimate);\n\n slickPause = () => this.innerSlider.pause(\"paused\");\n\n slickPlay = () => this.innerSlider.autoPlay(\"play\");\n\n render() {\n var settings;\n var newProps;\n if (this.state.breakpoint) {\n newProps = this.props.responsive.filter(\n resp => resp.breakpoint === this.state.breakpoint\n );\n settings =\n newProps[0].settings === \"unslick\"\n ? \"unslick\"\n : { ...defaultProps, ...this.props, ...newProps[0].settings };\n } else {\n settings = { ...defaultProps, ...this.props };\n }\n\n // force scrolling by one if centerMode is on\n if (settings.centerMode) {\n if (\n settings.slidesToScroll > 1 &&\n process.env.NODE_ENV !== \"production\"\n ) {\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 (\n settings.slidesToScroll > 1 &&\n process.env.NODE_ENV !== \"production\"\n ) {\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 = React.Children.toArray(this.props.children);\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 (\n settings.variableWidth &&\n (settings.rows > 1 || settings.slidesPerRow > 1)\n ) {\n console.warn(\n `variableWidth is not supported in case of rows > 1 or slidesPerRow > 1`\n );\n settings.variableWidth = false;\n }\n let newChildren = [];\n let currentWidth = null;\n for (\n let i = 0;\n i < children.length;\n i += settings.rows * settings.slidesPerRow\n ) {\n let newSlide = [];\n for (\n let j = i;\n j < i + settings.rows * settings.slidesPerRow;\n j += settings.slidesPerRow\n ) {\n let 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 React.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(
    {row}
    );\n }\n if (settings.variableWidth) {\n newChildren.push(\n
    \n {newSlide}\n
    \n );\n } else {\n newChildren.push(
    {newSlide}
    );\n }\n }\n\n if (settings === \"unslick\") {\n const className = \"regular slider \" + (this.props.className || \"\");\n return
    {children}
    ;\n } else if (newChildren.length <= settings.slidesToShow) {\n settings.unslick = true;\n }\n return (\n <>\n \n {newChildren}\n \n \n );\n }\n}\n","import Slider from \"./slider\";\n\nexport default Slider;\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 12);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/arrows.js b/lib/arrows.js index c2c8517fc..68b93d9fc 100644 --- a/lib/arrows.js +++ b/lib/arrows.js @@ -19,22 +19,16 @@ function _typeof(obj) { _typeof(obj) ); } - Object.defineProperty(exports, "__esModule", { value: true }); exports.PrevArrow = exports.NextArrow = void 0; - var _react = _interopRequireDefault(require("react")); - var _classnames = _interopRequireDefault(require("classnames")); - var _innerSliderUtils = require("./utils/innerSliderUtils"); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function _extends() { _extends = Object.assign ? Object.assign.bind() @@ -51,7 +45,6 @@ function _extends() { }; return _extends.apply(this, arguments); } - function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { @@ -64,7 +57,6 @@ function ownKeys(object, enumerableOnly) { } return keys; } - function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; @@ -87,7 +79,6 @@ function _objectSpread(target) { } return target; } - function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { @@ -101,13 +92,11 @@ function _defineProperty(obj, key, value) { } return obj; } - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; @@ -117,14 +106,12 @@ function _defineProperties(target, props) { Object.defineProperty(target, descriptor.key, descriptor); } } - function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); @@ -135,7 +122,6 @@ function _inherits(subClass, superClass) { Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } - function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() @@ -145,7 +131,6 @@ function _setPrototypeOf(o, p) { }; return _setPrototypeOf(o, p); } - function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { @@ -160,7 +145,6 @@ function _createSuper(Derived) { return _possibleConstructorReturn(this, result); }; } - function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; @@ -171,7 +155,6 @@ function _possibleConstructorReturn(self, call) { } return _assertThisInitialized(self); } - function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError( @@ -180,7 +163,6 @@ function _assertThisInitialized(self) { } return self; } - function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; @@ -194,7 +176,6 @@ function _isNativeReflectConstruct() { return false; } } - function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() @@ -203,18 +184,13 @@ function _getPrototypeOf(o) { }; return _getPrototypeOf(o); } - var PrevArrow = /*#__PURE__*/ (function(_React$PureComponent) { _inherits(PrevArrow, _React$PureComponent); - var _super = _createSuper(PrevArrow); - function PrevArrow() { _classCallCheck(this, PrevArrow); - return _super.apply(this, arguments); } - _createClass(PrevArrow, [ { key: "clickHandler", @@ -222,7 +198,6 @@ var PrevArrow = /*#__PURE__*/ (function(_React$PureComponent) { if (e) { e.preventDefault(); } - this.props.clickHandler(options, e); } }, @@ -230,7 +205,6 @@ var PrevArrow = /*#__PURE__*/ (function(_React$PureComponent) { key: "render", value: function render() { var _this$props$classes3, _this$props$classes4; - var prevClasses = { "slick-arrow": true, "slick-prev": true @@ -238,14 +212,12 @@ var PrevArrow = /*#__PURE__*/ (function(_React$PureComponent) { var prevHandler = this.clickHandler.bind(this, { message: "previous" }); - if ( !this.props.infinite && (this.props.currentSlide === 0 || this.props.slideCount <= this.props.slidesToShow) ) { var _this$props$classes, _this$props$classes2; - prevClasses["slick-disabled"] = true; prevClasses[ (_this$props$classes = this.props.classes) === null || @@ -259,7 +231,6 @@ var PrevArrow = /*#__PURE__*/ (function(_React$PureComponent) { ); prevHandler = null; } - var prevArrowProps = { key: "0", "data-role": "none", @@ -284,7 +255,6 @@ var PrevArrow = /*#__PURE__*/ (function(_React$PureComponent) { slideCount: this.props.slideCount }; var prevArrow; - if (this.props.prevArrow) { prevArrow = /*#__PURE__*/ _react["default"].cloneElement( this.props.prevArrow, @@ -304,28 +274,20 @@ var PrevArrow = /*#__PURE__*/ (function(_React$PureComponent) { "Previous" ); } - return prevArrow; } } ]); - return PrevArrow; })(_react["default"].PureComponent); - exports.PrevArrow = PrevArrow; - var NextArrow = /*#__PURE__*/ (function(_React$PureComponent2) { _inherits(NextArrow, _React$PureComponent2); - var _super2 = _createSuper(NextArrow); - function NextArrow() { _classCallCheck(this, NextArrow); - return _super2.apply(this, arguments); } - _createClass(NextArrow, [ { key: "clickHandler", @@ -333,7 +295,6 @@ var NextArrow = /*#__PURE__*/ (function(_React$PureComponent2) { if (e) { e.preventDefault(); } - this.props.clickHandler(options, e); } }, @@ -341,7 +302,6 @@ var NextArrow = /*#__PURE__*/ (function(_React$PureComponent2) { key: "render", value: function render() { var _this$props$classes7, _this$props$classes8; - var nextClasses = { "slick-arrow": true, "slick-next": true @@ -349,10 +309,8 @@ var NextArrow = /*#__PURE__*/ (function(_React$PureComponent2) { var nextHandler = this.clickHandler.bind(this, { message: "next" }); - if (!(0, _innerSliderUtils.canGoNext)(this.props)) { var _this$props$classes5, _this$props$classes6; - nextClasses["slick-disabled"] = true; nextClasses[ (_this$props$classes5 = this.props.classes) === null || @@ -366,7 +324,6 @@ var NextArrow = /*#__PURE__*/ (function(_React$PureComponent2) { ); nextHandler = null; } - var nextArrowProps = { key: "1", "data-role": "none", @@ -391,7 +348,6 @@ var NextArrow = /*#__PURE__*/ (function(_React$PureComponent2) { slideCount: this.props.slideCount }; var nextArrow; - if (this.props.nextArrow) { nextArrow = /*#__PURE__*/ _react["default"].cloneElement( this.props.nextArrow, @@ -411,13 +367,10 @@ var NextArrow = /*#__PURE__*/ (function(_React$PureComponent2) { "Next" ); } - return nextArrow; } } ]); - return NextArrow; })(_react["default"].PureComponent); - exports.NextArrow = NextArrow; diff --git a/lib/default-props.js b/lib/default-props.js index c758d7373..abb0b6025 100644 --- a/lib/default-props.js +++ b/lib/default-props.js @@ -4,13 +4,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; - var _react = _interopRequireDefault(require("react")); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - var defaultProps = { accessibility: true, adaptiveHeight: false, diff --git a/lib/dots.js b/lib/dots.js index eb7fde816..6b9b9a0ae 100644 --- a/lib/dots.js +++ b/lib/dots.js @@ -19,22 +19,16 @@ function _typeof(obj) { _typeof(obj) ); } - Object.defineProperty(exports, "__esModule", { value: true }); exports.Dots = void 0; - var _react = _interopRequireDefault(require("react")); - var _classnames2 = _interopRequireDefault(require("classnames")); - var _innerSliderUtils = require("./utils/innerSliderUtils"); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { @@ -47,7 +41,6 @@ function ownKeys(object, enumerableOnly) { } return keys; } - function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; @@ -70,7 +63,6 @@ function _objectSpread(target) { } return target; } - function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { @@ -84,13 +76,11 @@ function _defineProperty(obj, key, value) { } return obj; } - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; @@ -100,14 +90,12 @@ function _defineProperties(target, props) { Object.defineProperty(target, descriptor.key, descriptor); } } - function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); @@ -118,7 +106,6 @@ function _inherits(subClass, superClass) { Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } - function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() @@ -128,7 +115,6 @@ function _setPrototypeOf(o, p) { }; return _setPrototypeOf(o, p); } - function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { @@ -143,7 +129,6 @@ function _createSuper(Derived) { return _possibleConstructorReturn(this, result); }; } - function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; @@ -154,7 +139,6 @@ function _possibleConstructorReturn(self, call) { } return _assertThisInitialized(self); } - function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError( @@ -163,7 +147,6 @@ function _assertThisInitialized(self) { } return self; } - function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; @@ -177,7 +160,6 @@ function _isNativeReflectConstruct() { return false; } } - function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() @@ -186,10 +168,8 @@ function _getPrototypeOf(o) { }; return _getPrototypeOf(o); } - var getDotCount = function getDotCount(spec) { var dots; - if (spec.infinite) { dots = Math.ceil(spec.slideCount / spec.slidesToScroll); } else { @@ -197,21 +177,15 @@ var getDotCount = function getDotCount(spec) { Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) + 1; } - return dots; }; - var Dots = /*#__PURE__*/ (function(_React$PureComponent) { _inherits(Dots, _React$PureComponent); - var _super = _createSuper(Dots); - function Dots() { _classCallCheck(this, Dots); - return _super.apply(this, arguments); } - _createClass(Dots, [ { key: "clickHandler", @@ -247,16 +221,12 @@ var Dots = /*#__PURE__*/ (function(_React$PureComponent) { 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); @@ -299,7 +269,6 @@ var Dots = /*#__PURE__*/ (function(_React$PureComponent) { ) ); } - return /*#__PURE__*/ _react["default"].cloneElement( this.props.appendDots(dots), _objectSpread( @@ -315,8 +284,6 @@ var Dots = /*#__PURE__*/ (function(_React$PureComponent) { } } ]); - return Dots; })(_react["default"].PureComponent); - exports.Dots = Dots; diff --git a/lib/index.js b/lib/index.js index 59cd0862b..856e96e35 100644 --- a/lib/index.js +++ b/lib/index.js @@ -4,10 +4,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; - var _slider = _interopRequireDefault(require("./slider")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; +} var _default = _slider["default"]; -exports["default"] = _default; \ No newline at end of file +exports["default"] = _default; diff --git a/lib/inner-slider.js b/lib/inner-slider.js index 513c905ae..812af75f6 100644 --- a/lib/inner-slider.js +++ b/lib/inner-slider.js @@ -4,33 +4,21 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.InnerSlider = void 0; - var _react = _interopRequireDefault(require("react")); - var _initialState = _interopRequireDefault(require("./initial-state")); - var _lodash = _interopRequireDefault(require("lodash.debounce")); - var _classnames = _interopRequireDefault(require("classnames")); - var _innerSliderUtils = require("./utils/innerSliderUtils"); - var _track = require("./track"); - var _dots = require("./dots"); - var _arrows = require("./arrows"); - var _resizeObserverPolyfill = _interopRequireDefault( require("resize-observer-polyfill") ); - var _excluded = ["animating"]; - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function _typeof(obj) { "@babel/helpers - typeof"; return ( @@ -50,7 +38,6 @@ function _typeof(obj) { _typeof(obj) ); } - function _extends() { _extends = Object.assign ? Object.assign.bind() @@ -67,7 +54,6 @@ function _extends() { }; return _extends.apply(this, arguments); } - function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); @@ -83,7 +69,6 @@ function _objectWithoutProperties(source, excluded) { } return target; } - function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; @@ -96,7 +81,6 @@ function _objectWithoutPropertiesLoose(source, excluded) { } return target; } - function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { @@ -109,7 +93,6 @@ function ownKeys(object, enumerableOnly) { } return keys; } - function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; @@ -132,13 +115,11 @@ function _objectSpread(target) { } return target; } - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; @@ -148,14 +129,12 @@ function _defineProperties(target, props) { Object.defineProperty(target, descriptor.key, descriptor); } } - function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); @@ -166,7 +145,6 @@ function _inherits(subClass, superClass) { Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } - function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() @@ -176,7 +154,6 @@ function _setPrototypeOf(o, p) { }; return _setPrototypeOf(o, p); } - function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { @@ -191,7 +168,6 @@ function _createSuper(Derived) { return _possibleConstructorReturn(this, result); }; } - function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; @@ -202,7 +178,6 @@ function _possibleConstructorReturn(self, call) { } return _assertThisInitialized(self); } - function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError( @@ -211,7 +186,6 @@ function _assertThisInitialized(self) { } return self; } - function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; @@ -225,7 +199,6 @@ function _isNativeReflectConstruct() { return false; } } - function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() @@ -234,7 +207,6 @@ function _getPrototypeOf(o) { }; return _getPrototypeOf(o); } - function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { @@ -248,65 +220,51 @@ function _defineProperty(obj, key, value) { } return obj; } - var InnerSlider = /*#__PURE__*/ (function(_React$Component) { _inherits(InnerSlider, _React$Component); - var _super = _createSuper(InnerSlider); - function InnerSlider(props) { var _this; - _classCallCheck(this, InnerSlider); - _this = _super.call(this, props); - _defineProperty(_assertThisInitialized(_this), "listRefHandler", function( ref ) { return (_this.list = ref); }); - _defineProperty(_assertThisInitialized(_this), "trackRefHandler", function( ref ) { return (_this.track = ref); }); - _defineProperty(_assertThisInitialized(_this), "adaptHeight", function() { if (_this.props.adaptiveHeight && _this.list) { var elem = _this.list.querySelector( '[data-index="'.concat(_this.state.currentSlide, '"]') ); - _this.list.style.height = (0, _innerSliderUtils.getHeight)(elem) + "px"; } }); - _defineProperty( _assertThisInitialized(_this), "componentDidMount", function() { _this.props.onInit && _this.props.onInit(); - if (_this.props.lazyLoad) { var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)( _objectSpread(_objectSpread({}, _this.props), _this.state) ); - if (slidesToLoad.length > 0) { _this.setState(function(prevState) { return { lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad) }; }); - if (_this.props.onLazyLoad) { _this.props.onLazyLoad(slidesToLoad); } } } - var spec = _objectSpread( { listRef: _this.list, @@ -314,21 +272,16 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { }, _this.props ); - _this.updateState(spec, true, function() { _this.adaptHeight(); - _this.props.autoplay && _this.autoPlay("update"); }); - if (_this.props.lazyLoad === "progressive") { _this.lazyLoadTimer = setInterval(_this.progressiveLazyLoad, 1000); } - _this.ro = new _resizeObserverPolyfill["default"](function() { if (_this.state.animating) { _this.onWindowResized(false); // don't set trackStyle hence don't break animation - _this.callbackTimers.push( setTimeout(function() { return _this.onWindowResized(); @@ -338,9 +291,7 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { _this.onWindowResized(); } }); - _this.ro.observe(_this.list); - document.querySelectorAll && Array.prototype.forEach.call( document.querySelectorAll(".slick-slide"), @@ -353,7 +304,6 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { : null; } ); - if (window.addEventListener) { window.addEventListener("resize", _this.onWindowResized); } else { @@ -361,7 +311,6 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { } } ); - _defineProperty( _assertThisInitialized(_this), "componentWillUnmount", @@ -369,63 +318,51 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { if (_this.animationEndCallback) { clearTimeout(_this.animationEndCallback); } - if (_this.lazyLoadTimer) { clearInterval(_this.lazyLoadTimer); } - if (_this.callbackTimers.length) { _this.callbackTimers.forEach(function(timer) { return clearTimeout(timer); }); - _this.callbackTimers = []; } - if (window.addEventListener) { window.removeEventListener("resize", _this.onWindowResized); } else { window.detachEvent("onresize", _this.onWindowResized); } - if (_this.autoplayTimer) { clearInterval(_this.autoplayTimer); } - _this.ro.disconnect(); } ); - _defineProperty( _assertThisInitialized(_this), "componentDidUpdate", function(prevProps) { _this.checkImagesLoad(); - _this.props.onReInit && _this.props.onReInit(); - if (_this.props.lazyLoad) { var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)( _objectSpread(_objectSpread({}, _this.props), _this.state) ); - if (slidesToLoad.length > 0) { _this.setState(function(prevState) { return { lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad) }; }); - if (_this.props.onLazyLoad) { _this.props.onLazyLoad(slidesToLoad); } } - } // if (this.props.onLazyLoad) { + } + // if (this.props.onLazyLoad) { // this.props.onLazyLoad([leftMostSlide]) // } - _this.adaptHeight(); - var spec = _objectSpread( _objectSpread( { @@ -436,9 +373,7 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { ), _this.state ); - var setTrackStyle = _this.didPropsChange(prevProps); - setTrackStyle && _this.updateState(spec, setTrackStyle, function() { if ( @@ -453,7 +388,6 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { currentSlide: _this.state.currentSlide }); } - if (_this.props.autoplay) { _this.autoPlay("update"); } else { @@ -462,7 +396,6 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { }); } ); - _defineProperty(_assertThisInitialized(_this), "onWindowResized", function( setTrackStyle ) { @@ -470,19 +403,16 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { _this.debouncedResize = (0, _lodash["default"])(function() { return _this.resizeWindow(setTrackStyle); }, 50); - _this.debouncedResize(); }); - _defineProperty(_assertThisInitialized(_this), "resizeWindow", function() { var setTrackStyle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; - var isTrackMounted = Boolean(_this.track && _this.track.node); // prevent warning: setting state on unmounted component (server side rendering) - + var isTrackMounted = Boolean(_this.track && _this.track.node); + // prevent warning: setting state on unmounted component (server side rendering) if (!isTrackMounted) return; - var spec = _objectSpread( _objectSpread( { @@ -493,20 +423,17 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { ), _this.state ); - _this.updateState(spec, setTrackStyle, function() { if (_this.props.autoplay) _this.autoPlay("update"); else _this.pause("paused"); - }); // animating state should be cleared while resizing, otherwise autoplay stops working - + }); + // animating state should be cleared while resizing, otherwise autoplay stops working _this.setState({ animating: false }); - clearTimeout(_this.animationEndCallback); delete _this.animationEndCallback; }); - _defineProperty(_assertThisInitialized(_this), "updateState", function( spec, setTrackStyle, @@ -529,7 +456,6 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { } ); var trackStyle = (0, _innerSliderUtils.getTrackCSS)(spec); - if ( setTrackStyle || _react["default"].Children.count(_this.props.children) !== @@ -537,10 +463,8 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { ) { updatedState["trackStyle"] = trackStyle; } - _this.setState(updatedState, callback); }); - _defineProperty(_assertThisInitialized(_this), "ssrInit", function() { if (_this.props.variableWidth) { var _trackWidth = 0, @@ -564,30 +488,24 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { } ) ); - _this.props.children.forEach(function(child) { childrenWidths.push(child.props.style.width); _trackWidth += child.props.style.width; }); - for (var i = 0; i < preClones; i++) { _trackLeft += childrenWidths[childrenWidths.length - 1 - i]; _trackWidth += childrenWidths[childrenWidths.length - 1 - i]; } - for (var _i = 0; _i < postClones; _i++) { _trackWidth += childrenWidths[_i]; } - for (var _i2 = 0; _i2 < _this.state.currentSlide; _i2++) { _trackLeft += childrenWidths[_i2]; } - var _trackStyle = { width: _trackWidth + "px", left: -_trackLeft + "px" }; - if (_this.props.centerMode) { var currentWidth = "".concat( childrenWidths[_this.state.currentSlide], @@ -597,16 +515,13 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { .concat(_trackStyle.left, " + (100% - ") .concat(currentWidth, ") / 2 ) "); } - return { trackStyle: _trackStyle }; } - var childrenCount = _react["default"].Children.count( _this.props.children ); - var spec = _objectSpread( _objectSpread(_objectSpread({}, _this.props), _this.state), {}, @@ -614,7 +529,6 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { slideCount: childrenCount } ); - var slideCount = (0, _innerSliderUtils.getPreClones)(spec) + (0, _innerSliderUtils.getPostClones)(spec) + @@ -627,11 +541,9 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { _this.state.currentSlide) * trackWidth) / 100; - if (_this.props.centerMode) { trackLeft += (100 - (slideWidth * trackWidth) / 100) / 2; } - var trackStyle = { width: trackWidth + "%", left: trackLeft + "%" @@ -641,7 +553,6 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { trackStyle: trackStyle }; }); - _defineProperty( _assertThisInitialized(_this), "checkImagesLoad", @@ -661,32 +572,27 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { _this.onWindowResized() ); }; - if (!image.onclick) { image.onclick = function() { return image.parentNode.focus(); }; } else { var prevClickHandler = image.onclick; - image.onclick = function(e) { prevClickHandler(e); image.parentNode.focus(); }; } - if (!image.onload) { if (_this.props.lazyLoad) { image.onload = function() { _this.adaptHeight(); - _this.callbackTimers.push( setTimeout(_this.onWindowResized, _this.props.speed) ); }; } else { image.onload = handler; - image.onerror = function() { handler(); _this.props.onLazyLoadError && _this.props.onLazyLoadError(); @@ -696,15 +602,12 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { }); } ); - _defineProperty( _assertThisInitialized(_this), "progressiveLazyLoad", function() { var slidesToLoad = []; - var spec = _objectSpread(_objectSpread({}, _this.props), _this.state); - for ( var index = _this.state.currentSlide; index < @@ -716,7 +619,6 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { break; } } - for ( var _index = _this.state.currentSlide - 1; _index >= -(0, _innerSliderUtils.getPreClones)(spec); @@ -727,14 +629,12 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { break; } } - if (slidesToLoad.length > 0) { _this.setState(function(state) { return { lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad) }; }); - if (_this.props.onLazyLoad) { _this.props.onLazyLoad(slidesToLoad); } @@ -746,7 +646,6 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { } } ); - _defineProperty(_assertThisInitialized(_this), "slideHandler", function( index ) { @@ -759,10 +658,9 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { beforeChange = _this$props.beforeChange, onLazyLoad = _this$props.onLazyLoad, speed = _this$props.speed, - afterChange = _this$props.afterChange; // capture currentslide before state is updated - + afterChange = _this$props.afterChange; + // capture currentslide before state is updated var currentSlide = _this.state.currentSlide; - var _slideHandler = (0, _innerSliderUtils.slideHandler)( _objectSpread( _objectSpread( @@ -783,32 +681,27 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { ), state = _slideHandler.state, nextState = _slideHandler.nextState; - if (!state) return; beforeChange && beforeChange(currentSlide, state.currentSlide); var slidesToLoad = state.lazyLoadedList.filter(function(value) { return _this.state.lazyLoadedList.indexOf(value) < 0; }); onLazyLoad && slidesToLoad.length > 0 && onLazyLoad(slidesToLoad); - if (!_this.props.waitForAnimate && _this.animationEndCallback) { clearTimeout(_this.animationEndCallback); afterChange && afterChange(currentSlide); delete _this.animationEndCallback; } - _this.setState(state, function() { // asNavForIndex check is to avoid recursive calls of slideHandler in waitForAnimate=false mode if (asNavFor && _this.asNavForIndex !== index) { _this.asNavForIndex = index; asNavFor.innerSlider.slideHandler(index); } - if (!nextState) return; _this.animationEndCallback = setTimeout(function() { var animating = nextState.animating, firstBatch = _objectWithoutProperties(nextState, _excluded); - _this.setState(firstBatch, function() { _this.callbackTimers.push( setTimeout(function() { @@ -817,14 +710,12 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { }); }, 10) ); - afterChange && afterChange(state.currentSlide); delete _this.animationEndCallback; }); }, speed); }); }); - _defineProperty(_assertThisInitialized(_this), "changeSlide", function( options ) { @@ -832,36 +723,27 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - var spec = _objectSpread(_objectSpread({}, _this.props), _this.state); - var targetSlide = (0, _innerSliderUtils.changeSlide)(spec, options); if (targetSlide !== 0 && !targetSlide) return; - if (dontAnimate === true) { _this.slideHandler(targetSlide, dontAnimate); } else { _this.slideHandler(targetSlide); } - _this.props.autoplay && _this.autoPlay("update"); - if (_this.props.focusOnSelect) { var nodes = _this.list.querySelectorAll(".slick-current"); - nodes[0] && nodes[0].focus(); } }); - _defineProperty(_assertThisInitialized(_this), "clickHandler", function(e) { if (_this.clickable === false) { e.stopPropagation(); e.preventDefault(); } - _this.clickable = true; }); - _defineProperty(_assertThisInitialized(_this), "keyHandler", function(e) { var dir = (0, _innerSliderUtils.keyHandler)( e, @@ -873,13 +755,11 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { message: dir }); }); - _defineProperty(_assertThisInitialized(_this), "selectHandler", function( options ) { _this.changeSlide(options); }); - _defineProperty( _assertThisInitialized(_this), "disableBodyScroll", @@ -889,11 +769,9 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { if (e.preventDefault) e.preventDefault(); e.returnValue = false; }; - window.ontouchmove = preventDefault; } ); - _defineProperty( _assertThisInitialized(_this), "enableBodyScroll", @@ -901,12 +779,10 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { window.ontouchmove = null; } ); - _defineProperty(_assertThisInitialized(_this), "swipeStart", function(e) { if (_this.props.verticalSwiping) { _this.disableBodyScroll(); } - var state = (0, _innerSliderUtils.swipeStart)( e, _this.props.swipe, @@ -914,7 +790,6 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { ); state !== "" && _this.setState(state); }); - _defineProperty(_assertThisInitialized(_this), "swipeMove", function(e) { var state = (0, _innerSliderUtils.swipeMove)( e, @@ -929,14 +804,11 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { ) ); if (!state) return; - if (state["swiping"]) { _this.clickable = false; } - _this.setState(state); }); - _defineProperty(_assertThisInitialized(_this), "swipeEnd", function(e) { var state = (0, _innerSliderUtils.swipeEnd)( e, @@ -953,24 +825,17 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { if (!state) return; var triggerSlideHandler = state["triggerSlideHandler"]; delete state["triggerSlideHandler"]; - _this.setState(state); - if (triggerSlideHandler === undefined) return; - _this.slideHandler(triggerSlideHandler); - if (_this.props.verticalSwiping) { _this.enableBodyScroll(); } }); - _defineProperty(_assertThisInitialized(_this), "touchEnd", function(e) { _this.swipeEnd(e); - _this.clickable = true; }); - _defineProperty(_assertThisInitialized(_this), "slickPrev", function() { // this and fellow methods are wrapped in setTimeout // to make sure initialize setState has happened before @@ -983,7 +848,6 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { }, 0) ); }); - _defineProperty(_assertThisInitialized(_this), "slickNext", function() { _this.callbackTimers.push( setTimeout(function() { @@ -993,7 +857,6 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { }, 0) ); }); - _defineProperty(_assertThisInitialized(_this), "slickGoTo", function( slide ) { @@ -1003,7 +866,6 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { : false; slide = Number(slide); if (isNaN(slide)) return ""; - _this.callbackTimers.push( setTimeout(function() { return _this.changeSlide( @@ -1017,10 +879,8 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { }, 0) ); }); - _defineProperty(_assertThisInitialized(_this), "play", function() { var nextIndex; - if (_this.props.rtl) { nextIndex = _this.state.currentSlide - _this.props.slidesToScroll; } else { @@ -1034,19 +894,15 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { return false; } } - _this.slideHandler(nextIndex); }); - _defineProperty(_assertThisInitialized(_this), "autoPlay", function( playType ) { if (_this.autoplayTimer) { clearInterval(_this.autoplayTimer); } - var autoplaying = _this.state.autoplaying; - if (playType === "update") { if ( autoplaying === "hovered" || @@ -1064,17 +920,14 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { return; } } - _this.autoplayTimer = setInterval( _this.play, _this.props.autoplaySpeed + 50 ); - _this.setState({ autoplaying: "playing" }); }); - _defineProperty(_assertThisInitialized(_this), "pause", function( pauseType ) { @@ -1082,9 +935,7 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { clearInterval(_this.autoplayTimer); _this.autoplayTimer = null; } - var autoplaying = _this.state.autoplaying; - if (pauseType === "paused") { _this.setState({ autoplaying: "paused" @@ -1104,11 +955,9 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { } } }); - _defineProperty(_assertThisInitialized(_this), "onDotsOver", function() { return _this.props.autoplay && _this.pause("hovered"); }); - _defineProperty(_assertThisInitialized(_this), "onDotsLeave", function() { return ( _this.props.autoplay && @@ -1116,11 +965,9 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { _this.autoPlay("leave") ); }); - _defineProperty(_assertThisInitialized(_this), "onTrackOver", function() { return _this.props.autoplay && _this.pause("hovered"); }); - _defineProperty(_assertThisInitialized(_this), "onTrackLeave", function() { return ( _this.props.autoplay && @@ -1128,11 +975,9 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { _this.autoPlay("leave") ); }); - _defineProperty(_assertThisInitialized(_this), "onSlideFocus", function() { return _this.props.autoplay && _this.pause("focused"); }); - _defineProperty(_assertThisInitialized(_this), "onSlideBlur", function() { return ( _this.props.autoplay && @@ -1140,10 +985,8 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { _this.autoPlay("blur") ); }); - _defineProperty(_assertThisInitialized(_this), "render", function() { var _this$props$classes, _this$props$classes2; - var className = (0, _classnames["default"])( "slick-slider", _this.props.className, @@ -1156,9 +999,7 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { "slick-initialized": true } ); - var spec = _objectSpread(_objectSpread({}, _this.props), _this.state); - var trackProps = (0, _innerSliderUtils.extractObject)(spec, [ "fade", "cssEase", @@ -1201,7 +1042,6 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { } ); var dots; - if ( _this.props.dots === true && _this.state.slideCount >= _this.props.slidesToShow @@ -1235,7 +1075,6 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { dotProps ); } - var prevArrow, nextArrow; var arrowProps = (0, _innerSliderUtils.extractObject)(spec, [ "infinite", @@ -1248,7 +1087,6 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { "classes" ]); arrowProps.clickHandler = _this.changeSlide; - if (_this.props.arrows) { prevArrow = /*#__PURE__*/ _react["default"].createElement( _arrows.PrevArrow, @@ -1259,17 +1097,13 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { arrowProps ); } - var verticalHeightStyle = null; - if (_this.props.vertical) { verticalHeightStyle = { height: _this.state.listHeight }; } - var centerPaddingStyle = null; - if (_this.props.vertical === false) { if (_this.props.centerMode === true) { centerPaddingStyle = { @@ -1283,12 +1117,10 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { }; } } - var listStyle = _objectSpread( _objectSpread({}, verticalHeightStyle), centerPaddingStyle ); - var touchMove = _this.props.touchMove; var listProps = { className: (0, _classnames["default"])( @@ -1316,16 +1148,21 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { dir: "ltr", style: _this.props.style }; - if (_this.props.unslick) { + var _this$props$classes3; listProps = { - className: "slick-list" + className: (0, _classnames["default"])( + (_this$props$classes3 = _this.props.classes) === null || + _this$props$classes3 === void 0 + ? void 0 + : _this$props$classes3.list, + "slick-list" + ) }; innerSliderProps = { className: className }; } - return /*#__PURE__*/ _react["default"].createElement( "div", innerSliderProps, @@ -1353,7 +1190,6 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { !_this.props.unslick ? dots : "" ); }); - _this.list = null; _this.track = null; _this.state = _objectSpread( @@ -1367,44 +1203,36 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { _this.callbackTimers = []; _this.clickable = true; _this.debouncedResize = null; - var ssrState = _this.ssrInit(); - _this.state = _objectSpread(_objectSpread({}, _this.state), ssrState); return _this; } - _createClass(InnerSlider, [ { key: "didPropsChange", value: function didPropsChange(prevProps) { var setTrackStyle = false; - for ( var _i3 = 0, _Object$keys = Object.keys(this.props); _i3 < _Object$keys.length; _i3++ ) { var key = _Object$keys[_i3]; - if (!prevProps.hasOwnProperty(key)) { setTrackStyle = true; break; } - if ( _typeof(prevProps[key]) === "object" || typeof prevProps[key] === "function" ) { continue; } - if (prevProps[key] !== this.props[key]) { setTrackStyle = true; break; } } - return ( setTrackStyle || _react["default"].Children.count(this.props.children) !== @@ -1413,8 +1241,6 @@ var InnerSlider = /*#__PURE__*/ (function(_React$Component) { } } ]); - return InnerSlider; })(_react["default"].Component); - exports.InnerSlider = InnerSlider; diff --git a/lib/slider.js b/lib/slider.js index 257354bbb..3d4da5261 100644 --- a/lib/slider.js +++ b/lib/slider.js @@ -19,26 +19,18 @@ function _typeof(obj) { _typeof(obj) ); } - Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; - var _react = _interopRequireDefault(require("react")); - var _innerSlider = require("./inner-slider"); - var _json2mq = _interopRequireDefault(require("json2mq")); - var _defaultProps = _interopRequireDefault(require("./default-props")); - var _innerSliderUtils = require("./utils/innerSliderUtils"); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function _extends() { _extends = Object.assign ? Object.assign.bind() @@ -55,7 +47,6 @@ function _extends() { }; return _extends.apply(this, arguments); } - function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { @@ -68,7 +59,6 @@ function ownKeys(object, enumerableOnly) { } return keys; } - function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; @@ -91,13 +81,11 @@ function _objectSpread(target) { } return target; } - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; @@ -107,14 +95,12 @@ function _defineProperties(target, props) { Object.defineProperty(target, descriptor.key, descriptor); } } - function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); @@ -125,7 +111,6 @@ function _inherits(subClass, superClass) { Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } - function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() @@ -135,7 +120,6 @@ function _setPrototypeOf(o, p) { }; return _setPrototypeOf(o, p); } - function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { @@ -150,7 +134,6 @@ function _createSuper(Derived) { return _possibleConstructorReturn(this, result); }; } - function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; @@ -161,7 +144,6 @@ function _possibleConstructorReturn(self, call) { } return _assertThisInitialized(self); } - function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError( @@ -170,7 +152,6 @@ function _assertThisInitialized(self) { } return self; } - function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; @@ -184,7 +165,6 @@ function _isNativeReflectConstruct() { return false; } } - function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() @@ -193,7 +173,6 @@ function _getPrototypeOf(o) { }; return _getPrototypeOf(o); } - function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { @@ -207,21 +186,14 @@ function _defineProperty(obj, key, value) { } return obj; } - var enquire = (0, _innerSliderUtils.canUseDOM)() && require("enquire.js"); - var Slider = /*#__PURE__*/ (function(_React$Component) { _inherits(Slider, _React$Component); - var _super = _createSuper(Slider); - function Slider(props) { var _this; - _classCallCheck(this, Slider); - _this = _super.call(this, props); - _defineProperty( _assertThisInitialized(_this), "innerSliderRefHandler", @@ -229,15 +201,12 @@ var Slider = /*#__PURE__*/ (function(_React$Component) { return (_this.innerSlider = ref); } ); - _defineProperty(_assertThisInitialized(_this), "slickPrev", function() { return _this.innerSlider.slickPrev(); }); - _defineProperty(_assertThisInitialized(_this), "slickNext", function() { return _this.innerSlider.slickNext(); }); - _defineProperty(_assertThisInitialized(_this), "slickGoTo", function( slide ) { @@ -247,40 +216,36 @@ var Slider = /*#__PURE__*/ (function(_React$Component) { : false; return _this.innerSlider.slickGoTo(slide, dontAnimate); }); - _defineProperty(_assertThisInitialized(_this), "slickPause", function() { return _this.innerSlider.pause("paused"); }); - _defineProperty(_assertThisInitialized(_this), "slickPlay", function() { return _this.innerSlider.autoPlay("play"); }); - _this.state = { breakpoint: null }; _this._responsiveMediaHandlers = []; return _this; } - _createClass(Slider, [ { key: "media", value: function media(query, handler) { // javascript handler for css media query enquire.register(query, handler); - this._responsiveMediaHandlers.push({ query: query, handler: handler }); - } // handles responsive breakpoints + } + + // handles responsive breakpoints }, { key: "componentDidMount", value: function componentDidMount() { var _this2 = this; - // performance monitoring //if (process.env.NODE_ENV !== 'production') { //const { whyDidYouUpdate } = require('why-did-you-update') @@ -289,15 +254,14 @@ var Slider = /*#__PURE__*/ (function(_React$Component) { if (this.props.responsive) { var breakpoints = this.props.responsive.map(function(breakpt) { return breakpt.breakpoint; - }); // sort them in increasing order of their numerical value - + }); + // sort them in increasing order of their numerical value breakpoints.sort(function(x, y) { return x - y; }); breakpoints.forEach(function(breakpoint, index) { // media query for each breakpoint var bQuery; - if (index === 0) { bQuery = (0, _json2mq["default"])({ minWidth: 0, @@ -308,17 +272,18 @@ var Slider = /*#__PURE__*/ (function(_React$Component) { minWidth: breakpoints[index - 1] + 1, maxWidth: breakpoint }); - } // when not using server side rendering - + } + // when not using server side rendering (0, _innerSliderUtils.canUseDOM)() && _this2.media(bQuery, function() { _this2.setState({ breakpoint: breakpoint }); }); - }); // Register media query for full screen. Need to support resize from small to large - // convert javascript object to media query string + }); + // Register media query for full screen. Need to support resize from small to large + // convert javascript object to media query string var query = (0, _json2mq["default"])({ minWidth: breakpoints.slice(-1)[0] }); @@ -343,10 +308,8 @@ var Slider = /*#__PURE__*/ (function(_React$Component) { key: "render", value: function render() { var _this3 = this; - var settings; var newProps; - if (this.state.breakpoint) { newProps = this.props.responsive.filter(function(resp) { return resp.breakpoint === _this3.state.breakpoint; @@ -366,8 +329,9 @@ var Slider = /*#__PURE__*/ (function(_React$Component) { _objectSpread({}, _defaultProps["default"]), this.props ); - } // force scrolling by one if centerMode is on + } + // force scrolling by one if centerMode is on if (settings.centerMode) { if ( settings.slidesToScroll > 1 && @@ -379,10 +343,9 @@ var Slider = /*#__PURE__*/ (function(_React$Component) { ) ); } - settings.slidesToScroll = 1; - } // force showing one slide and scrolling by one if the fade mode is on - + } + // force showing one slide and scrolling by one if the fade mode is on if (settings.fade) { if ( settings.slidesToShow > 1 && @@ -394,7 +357,6 @@ var Slider = /*#__PURE__*/ (function(_React$Component) { ) ); } - if ( settings.slidesToScroll > 1 && process.env.NODE_ENV !== "production" @@ -405,22 +367,23 @@ var Slider = /*#__PURE__*/ (function(_React$Component) { ) ); } - settings.slidesToShow = 1; settings.slidesToScroll = 1; - } // makes sure that children is an array, even when there is only 1 child + } - var children = _react["default"].Children.toArray(this.props.children); // Children may contain false or null, so we should filter them - // children may also contain string filled with spaces (in certain cases where we use jsx strings) + // makes sure that children is an array, even when there is only 1 child + var children = _react["default"].Children.toArray(this.props.children); + // Children may contain false or null, so we should filter them + // children may also contain string filled with spaces (in certain cases where we use jsx strings) children = children.filter(function(child) { if (typeof child === "string") { return !!child.trim(); } - return !!child; - }); // rows and slidesPerRow logic is handled here + }); + // rows and slidesPerRow logic is handled here if ( settings.variableWidth && (settings.rows > 1 || settings.slidesPerRow > 1) @@ -430,29 +393,24 @@ var Slider = /*#__PURE__*/ (function(_React$Component) { ); settings.variableWidth = false; } - var newChildren = []; var currentWidth = null; - for ( var i = 0; i < children.length; i += settings.rows * settings.slidesPerRow ) { var newSlide = []; - for ( var j = i; j < i + settings.rows * settings.slidesPerRow; j += settings.slidesPerRow ) { var row = []; - for (var k = j; k < j + settings.slidesPerRow; k += 1) { if (settings.variableWidth && children[k].props.style) { currentWidth = children[k].props.style.width; } - if (k >= children.length) break; row.push( /*#__PURE__*/ _react["default"].cloneElement(children[k], { @@ -465,7 +423,6 @@ var Slider = /*#__PURE__*/ (function(_React$Component) { }) ); } - newSlide.push( /*#__PURE__*/ _react["default"].createElement( "div", @@ -476,7 +433,6 @@ var Slider = /*#__PURE__*/ (function(_React$Component) { ) ); } - if (settings.variableWidth) { newChildren.push( /*#__PURE__*/ _react["default"].createElement( @@ -502,7 +458,6 @@ var Slider = /*#__PURE__*/ (function(_React$Component) { ); } } - if (settings === "unslick") { var className = "regular slider " + (this.props.className || ""); return /*#__PURE__*/ _react["default"].createElement( @@ -515,7 +470,6 @@ var Slider = /*#__PURE__*/ (function(_React$Component) { } else if (newChildren.length <= settings.slidesToShow) { settings.unslick = true; } - return /*#__PURE__*/ _react["default"].createElement( _react["default"].Fragment, null, @@ -534,8 +488,6 @@ var Slider = /*#__PURE__*/ (function(_React$Component) { } } ]); - return Slider; })(_react["default"].Component); - exports["default"] = Slider; diff --git a/lib/track.js b/lib/track.js index 91699f95c..7d4e48ae3 100644 --- a/lib/track.js +++ b/lib/track.js @@ -19,22 +19,16 @@ function _typeof(obj) { _typeof(obj) ); } - Object.defineProperty(exports, "__esModule", { value: true }); exports.Track = void 0; - var _react = _interopRequireDefault(require("react")); - var _classnames = _interopRequireDefault(require("classnames")); - var _innerSliderUtils = require("./utils/innerSliderUtils"); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function _extends() { _extends = Object.assign ? Object.assign.bind() @@ -51,13 +45,11 @@ function _extends() { }; return _extends.apply(this, arguments); } - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; @@ -67,14 +59,12 @@ function _defineProperties(target, props) { Object.defineProperty(target, descriptor.key, descriptor); } } - function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); @@ -85,7 +75,6 @@ function _inherits(subClass, superClass) { Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } - function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() @@ -95,7 +84,6 @@ function _setPrototypeOf(o, p) { }; return _setPrototypeOf(o, p); } - function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { @@ -110,7 +98,6 @@ function _createSuper(Derived) { return _possibleConstructorReturn(this, result); }; } - function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; @@ -121,7 +108,6 @@ function _possibleConstructorReturn(self, call) { } return _assertThisInitialized(self); } - function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError( @@ -130,7 +116,6 @@ function _assertThisInitialized(self) { } return self; } - function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; @@ -144,7 +129,6 @@ function _isNativeReflectConstruct() { return false; } } - function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() @@ -153,7 +137,6 @@ function _getPrototypeOf(o) { }; return _getPrototypeOf(o); } - function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { @@ -166,7 +149,6 @@ function ownKeys(object, enumerableOnly) { } return keys; } - function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; @@ -189,7 +171,6 @@ function _objectSpread(target) { } return target; } - function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { @@ -203,26 +184,20 @@ function _defineProperty(obj, key, value) { } return obj; } - // given specifications/props for a slide, fetch all the classes that need to be applied to the slide var getSlideClasses = function getSlideClasses(spec) { var _spec$classes, _spec$classes2, _ref; - var slickActive, slickCenter, slickCloned; var centerOffset, index; - if (spec.rtl) { index = spec.slideCount - 1 - spec.index; } else { index = spec.index; } - slickCloned = index < 0 || index >= spec.slideCount; - if (spec.centerMode) { centerOffset = Math.floor(spec.slidesToShow / 2); slickCenter = (index - spec.currentSlide) % spec.slideCount === 0; - if ( index > spec.currentSlide - centerOffset - 1 && index <= spec.currentSlide + centerOffset @@ -234,9 +209,7 @@ var getSlideClasses = function getSlideClasses(spec) { spec.currentSlide <= index && index < spec.currentSlide + spec.slidesToShow; } - var focusedSlide; - if (spec.targetSlide < 0) { focusedSlide = spec.targetSlide + spec.slideCount; } else if (spec.targetSlide >= spec.slideCount) { @@ -244,7 +217,6 @@ var getSlideClasses = function getSlideClasses(spec) { } else { focusedSlide = spec.targetSlide; } - var slickCurrent = index === focusedSlide; return ( (_ref = { @@ -269,25 +241,19 @@ var getSlideClasses = function getSlideClasses(spec) { _ref ); }; - var getSlideStyle = function getSlideStyle(spec) { var style = {}; - if (spec.variableWidth === undefined || spec.variableWidth === false) { style.width = spec.slideWidth; } - if (spec.fade) { style.position = "relative"; - if (spec.vertical) { style.top = -spec.index * parseInt(spec.slideHeight); } else { style.left = -spec.index * parseInt(spec.slideWidth); } - style.opacity = spec.currentSlide === spec.index ? 1 : 0; - if (spec.useCSS) { style.transition = "opacity " + @@ -301,43 +267,36 @@ var getSlideStyle = function getSlideStyle(spec) { spec.cssEase; } } - return style; }; - var getKey = function getKey(child, fallbackKey) { return child.key || fallbackKey; }; - var shouldOmitLazy = function shouldOmitLazy() { var omitLazyForSlides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var index = arguments.length > 1 ? arguments[1] : undefined; return omitLazyForSlides.includes(index); }; - var renderSlides = function renderSlides(spec) { var key; var slides = []; var preCloneSlides = []; var postCloneSlides = []; - var childrenCount = _react["default"].Children.count(spec.children); - var startIndex = (0, _innerSliderUtils.lazyStartIndex)(spec); var endIndex = (0, _innerSliderUtils.lazyEndIndex)(spec); - _react["default"].Children.forEach(spec.children, function(elem, index) { var _spec$classes3; - var child; var childOnClickOptions = { message: "children", index: index, slidesToScroll: spec.slidesToScroll, currentSlide: spec.currentSlide - }; // in case of lazyLoad, whether or not we want to fetch the slide + }; + // in case of lazyLoad, whether or not we want to fetch the slide if ( !spec.lazyLoad || (spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0) || @@ -347,7 +306,6 @@ var renderSlides = function renderSlides(spec) { } else { child = /*#__PURE__*/ _react["default"].createElement("div", null); } - var childStyle = getSlideStyle( _objectSpread( _objectSpread({}, spec), @@ -366,8 +324,8 @@ var renderSlides = function renderSlides(spec) { index: index } ) - ); // push a cloned element of the desired slide - + ); + // push a cloned element of the desired slide slides.push( /*#__PURE__*/ _react["default"].cloneElement(child, { key: "original" + getKey(child, index), @@ -392,29 +350,25 @@ var renderSlides = function renderSlides(spec) { ), onClick: function onClick(e) { child.props && child.props.onClick && child.props.onClick(e); - if (spec.focusOnSelect) { spec.focusOnSelect(childOnClickOptions); } } }) - ); // if slide needs to be precloned or postcloned + ); + // if slide needs to be precloned or postcloned if (spec.infinite && spec.fade === false) { var preCloneNo = childrenCount - index; - if ( preCloneNo <= (0, _innerSliderUtils.getPreClones)(spec) && childrenCount !== spec.slidesToShow ) { var _spec$classes4; - key = -preCloneNo; - if (key >= startIndex) { child = elem; } - slideClasses = getSlideClasses( _objectSpread( _objectSpread({}, spec), @@ -444,7 +398,6 @@ var renderSlides = function renderSlides(spec) { ), onClick: function onClick(e) { child.props && child.props.onClick && child.props.onClick(e); - if (spec.focusOnSelect) { spec.focusOnSelect(childOnClickOptions); } @@ -452,16 +405,12 @@ var renderSlides = function renderSlides(spec) { }) ); } - if (childrenCount !== spec.slidesToShow) { var _spec$classes5; - key = childrenCount + index; - if (key < endIndex) { child = elem; } - slideClasses = getSlideClasses( _objectSpread( _objectSpread({}, spec), @@ -491,7 +440,6 @@ var renderSlides = function renderSlides(spec) { ), onClick: function onClick(e) { child.props && child.props.onClick && child.props.onClick(e); - if (spec.focusOnSelect) { spec.focusOnSelect(childOnClickOptions); } @@ -501,24 +449,18 @@ var renderSlides = function renderSlides(spec) { } } }); - if (spec.rtl) { return preCloneSlides.concat(slides, postCloneSlides).reverse(); } else { return preCloneSlides.concat(slides, postCloneSlides); } }; - var Track = /*#__PURE__*/ (function(_React$PureComponent) { _inherits(Track, _React$PureComponent); - var _super = _createSuper(Track); - function Track() { var _this; - _classCallCheck(this, Track); - for ( var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; @@ -526,24 +468,18 @@ var Track = /*#__PURE__*/ (function(_React$PureComponent) { ) { args[_key] = arguments[_key]; } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "node", null); - _defineProperty(_assertThisInitialized(_this), "handleRef", function(ref) { _this.node = ref; }); - return _this; } - _createClass(Track, [ { key: "render", value: function render() { var _this$props$classes; - var slides = renderSlides(this.props); var _this$props = this.props, onMouseEnter = _this$props.onMouseEnter, @@ -575,8 +511,6 @@ var Track = /*#__PURE__*/ (function(_React$PureComponent) { } } ]); - return Track; })(_react["default"].PureComponent); - exports.Track = Track; diff --git a/lib/utils/innerSliderUtils.js b/lib/utils/innerSliderUtils.js index 2045a3ed2..03b92d919 100644 --- a/lib/utils/innerSliderUtils.js +++ b/lib/utils/innerSliderUtils.js @@ -6,13 +6,10 @@ Object.defineProperty(exports, "__esModule", { exports.checkSpecKeys = exports.checkNavigable = exports.changeSlide = exports.canUseDOM = exports.canGoNext = void 0; exports.clamp = clamp; exports.swipeStart = exports.swipeMove = exports.swipeEnd = exports.slidesOnRight = exports.slidesOnLeft = exports.slideHandler = exports.siblingDirection = exports.safePreventDefault = exports.lazyStartIndex = exports.lazySlidesOnRight = exports.lazySlidesOnLeft = exports.lazyEndIndex = exports.keyHandler = exports.initializedState = exports.getWidth = exports.getTrackLeft = exports.getTrackCSS = exports.getTrackAnimateCSS = exports.getTotalSlides = exports.getSwipeDirection = exports.getSlideCount = exports.getRequiredLazySlides = exports.getPreClones = exports.getPostClones = exports.getOnDemandLazySlides = exports.getNavigableIndexes = exports.getHeight = exports.extractObject = void 0; - var _react = _interopRequireDefault(require("react")); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { @@ -25,7 +22,6 @@ function ownKeys(object, enumerableOnly) { } return keys; } - function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; @@ -48,7 +44,6 @@ function _objectSpread(target) { } return target; } - function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { @@ -62,98 +57,79 @@ function _defineProperty(obj, key, value) { } return obj; } - function clamp(number, lowerBound, upperBound) { return Math.max(lowerBound, Math.min(number, upperBound)); } - var safePreventDefault = function safePreventDefault(event) { var passiveEvents = ["onTouchStart", "onTouchMove", "onWheel"]; - if (!passiveEvents.includes(event._reactName)) { event.preventDefault(); } }; - exports.safePreventDefault = safePreventDefault; - var getOnDemandLazySlides = function getOnDemandLazySlides(spec) { var onDemandSlides = []; var startIndex = lazyStartIndex(spec); var endIndex = lazyEndIndex(spec); - for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) { if (spec.lazyLoadedList.indexOf(slideIndex) < 0) { onDemandSlides.push(slideIndex); } } - return onDemandSlides; -}; // return list of slides that need to be present +}; +// return list of slides that need to be present exports.getOnDemandLazySlides = getOnDemandLazySlides; - var getRequiredLazySlides = function getRequiredLazySlides(spec) { var requiredSlides = []; var startIndex = lazyStartIndex(spec); var endIndex = lazyEndIndex(spec); - for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) { requiredSlides.push(slideIndex); } - return requiredSlides; -}; // startIndex that needs to be present +}; +// startIndex that needs to be present exports.getRequiredLazySlides = getRequiredLazySlides; - var lazyStartIndex = function lazyStartIndex(spec) { var startIndex = spec.currentSlide - lazySlidesOnLeft(spec); if (spec.lazyLoad === "anticipated") startIndex -= 1; return startIndex; }; - exports.lazyStartIndex = lazyStartIndex; - var lazyEndIndex = function lazyEndIndex(spec) { var endIndex = spec.currentSlide + lazySlidesOnRight(spec); if (spec.lazyLoad === "anticipated") endIndex += 1; return endIndex; }; - exports.lazyEndIndex = lazyEndIndex; - var lazySlidesOnLeft = function lazySlidesOnLeft(spec) { return spec.centerMode ? Math.floor(spec.slidesToShow / 2) + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : 0; }; - exports.lazySlidesOnLeft = lazySlidesOnLeft; - var lazySlidesOnRight = function lazySlidesOnRight(spec) { return spec.centerMode ? Math.floor((spec.slidesToShow - 1) / 2) + 1 + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : spec.slidesToShow; -}; // get width of an element +}; +// get width of an element exports.lazySlidesOnRight = lazySlidesOnRight; - var getWidth = function getWidth(elem) { return (elem && elem.offsetWidth) || 0; }; - exports.getWidth = getWidth; - var getHeight = function getHeight(elem) { return (elem && elem.offsetHeight) || 0; }; - exports.getHeight = getHeight; - var getSwipeDirection = function getSwipeDirection(touchObject) { var verticalSwiping = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; @@ -162,22 +138,18 @@ var getSwipeDirection = function getSwipeDirection(touchObject) { yDist = touchObject.startY - touchObject.curY; r = Math.atan2(yDist, xDist); swipeAngle = Math.round((r * 180) / Math.PI); - if (swipeAngle < 0) { swipeAngle = 360 - Math.abs(swipeAngle); } - if ( (swipeAngle <= 45 && swipeAngle >= 0) || (swipeAngle <= 360 && swipeAngle >= 315) ) { return "left"; } - if (swipeAngle >= 135 && swipeAngle <= 225) { return "right"; } - if (verticalSwiping === true) { if (swipeAngle >= 35 && swipeAngle <= 135) { return "up"; @@ -185,15 +157,13 @@ var getSwipeDirection = function getSwipeDirection(touchObject) { return "down"; } } - return "vertical"; -}; // whether or not we can go next +}; +// whether or not we can go next exports.getSwipeDirection = getSwipeDirection; - var canGoNext = function canGoNext(spec) { var canGo = true; - if (!spec.infinite) { if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) { canGo = false; @@ -204,57 +174,49 @@ var canGoNext = function canGoNext(spec) { canGo = false; } } - return canGo; -}; // given an object and a list of keys, return new object with given keys +}; +// given an object and a list of keys, return new object with given keys exports.canGoNext = canGoNext; - var extractObject = function extractObject(spec, keys) { var newObject = {}; keys.forEach(function(key) { return (newObject[key] = spec[key]); }); return newObject; -}; // get initialized state +}; +// get initialized state exports.extractObject = extractObject; - var initializedState = function initializedState(spec) { // spec also contains listRef, trackRef var slideCount = _react["default"].Children.count(spec.children); - var listNode = spec.listRef; var listWidth = Math.ceil(getWidth(listNode)); var trackNode = spec.trackRef && spec.trackRef.node; var trackWidth = Math.ceil(getWidth(trackNode)); var slideWidth; - if (!spec.vertical) { var centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2; - if ( typeof spec.centerPadding === "string" && spec.centerPadding.slice(-1) === "%" ) { centerPaddingAdj *= listWidth / 100; } - slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow); } else { slideWidth = listWidth; } - var slideHeight = listNode && getHeight(listNode.querySelector('[data-index="0"]')); var listHeight = slideHeight * spec.slidesToShow; var currentSlide = spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide; - if (spec.rtl && spec.currentSlide === undefined) { currentSlide = slideCount - 1 - spec.initialSlide; } - var lazyLoadedList = spec.lazyLoadedList || []; var slidesToLoad = getOnDemandLazySlides( _objectSpread( @@ -277,16 +239,12 @@ var initializedState = function initializedState(spec) { listHeight: listHeight, lazyLoadedList: lazyLoadedList }; - if (spec.autoplaying === null && spec.autoplay) { state["autoplaying"] = "playing"; } - return state; }; - exports.initializedState = initializedState; - var slideHandler = function slideHandler(spec) { var waitForAnimate = spec.waitForAnimate, animating = spec.animating, @@ -309,20 +267,16 @@ var slideHandler = function slideHandler(spec) { var state = {}, nextState = {}; var targetSlide = infinite ? index : clamp(index, 0, slideCount - 1); - if (fade) { if (!infinite && (index < 0 || index >= slideCount)) return {}; - if (index < 0) { animationSlide = index + slideCount; } else if (index >= slideCount) { animationSlide = index - slideCount; } - if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) { lazyLoadedList = lazyLoadedList.concat(animationSlide); } - state = { animating: true, currentSlide: animationSlide, @@ -335,7 +289,6 @@ var slideHandler = function slideHandler(spec) { }; } else { finalSlide = animationSlide; - if (animationSlide < 0) { finalSlide = animationSlide + slideCount; if (!infinite) finalSlide = 0; @@ -351,11 +304,9 @@ var slideHandler = function slideHandler(spec) { if (!infinite) finalSlide = slideCount - slidesToShow; else if (slideCount % slidesToScroll !== 0) finalSlide = 0; } - if (!infinite && animationSlide + slidesToShow >= slideCount) { finalSlide = slideCount - slidesToShow; } - animationLeft = getTrackLeft( _objectSpread( _objectSpread({}, spec), @@ -374,12 +325,10 @@ var slideHandler = function slideHandler(spec) { } ) ); - if (!infinite) { if (animationLeft === finalLeft) animationSlide = finalSlide; animationLeft = finalLeft; } - if (lazyLoad) { lazyLoadedList = lazyLoadedList.concat( getOnDemandLazySlides( @@ -393,7 +342,6 @@ var slideHandler = function slideHandler(spec) { ) ); } - if (!useCSS) { state = { currentSlide: finalSlide, @@ -442,15 +390,12 @@ var slideHandler = function slideHandler(spec) { }; } } - return { state: state, nextState: nextState }; }; - exports.slideHandler = slideHandler; - var changeSlide = function changeSlide(spec, options) { var indexOffset, previousInt, slideOffset, unevenOffset, targetSlide; var slidesToScroll = spec.slidesToScroll, @@ -462,29 +407,24 @@ var changeSlide = function changeSlide(spec, options) { infinite = spec.infinite; unevenOffset = slideCount % slidesToScroll !== 0; indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll; - if (options.message === "previous") { slideOffset = indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset; targetSlide = currentSlide - slideOffset; - if (lazyLoad && !infinite) { previousInt = currentSlide - slideOffset; targetSlide = previousInt === -1 ? slideCount - 1 : previousInt; } - if (!infinite) { targetSlide = previousTargetSlide - slidesToScroll; } } else if (options.message === "next") { slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset; targetSlide = currentSlide + slideOffset; - if (lazyLoad && !infinite) { targetSlide = ((currentSlide + slidesToScroll) % slideCount) + indexOffset; } - if (!infinite) { targetSlide = previousTargetSlide + slidesToScroll; } @@ -494,7 +434,6 @@ var changeSlide = function changeSlide(spec, options) { } else if (options.message === "children") { // Click on the slides targetSlide = options.index; - if (infinite) { var direction = siblingDirection( _objectSpread( @@ -505,7 +444,6 @@ var changeSlide = function changeSlide(spec, options) { } ) ); - if (targetSlide > options.currentSlide && direction === "left") { targetSlide = targetSlide - slideCount; } else if (targetSlide < options.currentSlide && direction === "right") { @@ -515,12 +453,9 @@ var changeSlide = function changeSlide(spec, options) { } else if (options.message === "index") { targetSlide = Number(options.index); } - return targetSlide; }; - exports.changeSlide = changeSlide; - var keyHandler = function keyHandler(e, accessibility, rtl) { if (e.target.tagName.match("TEXTAREA|INPUT|SELECT") || !accessibility) return ""; @@ -528,9 +463,7 @@ var keyHandler = function keyHandler(e, accessibility, rtl) { if (e.keyCode === 39) return rtl ? "previous" : "next"; return ""; }; - exports.keyHandler = keyHandler; - var swipeStart = function swipeStart(e, swipe, draggable) { e.target.tagName === "IMG" && safePreventDefault(e); if (!swipe || (!draggable && e.type.indexOf("mouse") !== -1)) return ""; @@ -544,9 +477,7 @@ var swipeStart = function swipeStart(e, swipe, draggable) { } }; }; - exports.swipeStart = swipeStart; - var swipeMove = function swipeMove(e, spec) { // spec also contains, trackRef and slideIndex var scrolling = spec.scrolling, @@ -582,13 +513,11 @@ var swipeMove = function swipeMove(e, spec) { var verticalSwipeLength = Math.round( Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2)) ); - if (!verticalSwiping && !swiping && verticalSwipeLength > 10) { return { scrolling: true }; } - if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength; var positionOffset = (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1); @@ -597,7 +526,6 @@ var swipeMove = function swipeMove(e, spec) { var dotCount = Math.ceil(slideCount / slidesToScroll); var swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping); var touchSwipeLength = touchObject.swipeLength; - if (!infinite) { if ( (currentSlide === 0 && @@ -608,19 +536,16 @@ var swipeMove = function swipeMove(e, spec) { (swipeDirection === "left" || swipeDirection === "up")) ) { touchSwipeLength = touchObject.swipeLength * edgeFriction; - if (edgeDragged === false && onEdge) { onEdge(swipeDirection); state["edgeDragged"] = true; } } } - if (!swiped && swipeEvent) { swipeEvent(swipeDirection); state["swiped"] = true; } - if (!vertical) { if (!rtl) { swipeLeft = curLeft + touchSwipeLength * positionOffset; @@ -631,11 +556,9 @@ var swipeMove = function swipeMove(e, spec) { swipeLeft = curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset; } - if (verticalSwiping) { swipeLeft = curLeft + touchSwipeLength * positionOffset; } - state = _objectSpread( _objectSpread({}, state), {}, @@ -653,24 +576,19 @@ var swipeMove = function swipeMove(e, spec) { ) } ); - if ( Math.abs(touchObject.curX - touchObject.startX) < Math.abs(touchObject.curY - touchObject.startY) * 0.8 ) { return state; } - if (touchObject.swipeLength > 10) { state["swiping"] = true; safePreventDefault(e); } - return state; }; - exports.swipeMove = swipeMove; - var swipeEnd = function swipeEnd(e, spec) { var dragging = spec.dragging, swipe = spec.swipe, @@ -685,17 +603,15 @@ var swipeEnd = function swipeEnd(e, spec) { targetSlide = spec.targetSlide, currentSlide = spec.currentSlide, infinite = spec.infinite; - if (!dragging) { if (swipe) safePreventDefault(e); return {}; } - var minSwipe = verticalSwiping ? listHeight / touchThreshold : listWidth / touchThreshold; - var swipeDirection = getSwipeDirection(touchObject, verticalSwiping); // reset the state of touch related state variables. - + var swipeDirection = getSwipeDirection(touchObject, verticalSwiping); + // reset the state of touch related state variables. var state = { dragging: false, edgeDragged: false, @@ -705,25 +621,19 @@ var swipeEnd = function swipeEnd(e, spec) { swipeLeft: null, touchObject: {} }; - if (scrolling) { return state; } - if (!touchObject.swipeLength) { return state; } - if (touchObject.swipeLength > minSwipe) { safePreventDefault(e); - if (onSwipe) { onSwipe(swipeDirection); } - var slideCount, newSlide; var activeSlide = infinite ? currentSlide : targetSlide; - switch (swipeDirection) { case "left": case "up": @@ -731,18 +641,15 @@ var swipeEnd = function swipeEnd(e, spec) { slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide; state["currentDirection"] = 0; break; - case "right": case "down": newSlide = activeSlide - getSlideCount(spec); slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide; state["currentDirection"] = 1; break; - default: slideCount = activeSlide; } - state["triggerSlideHandler"] = slideCount; } else { // Adjust the track back to it's original position. @@ -757,33 +664,25 @@ var swipeEnd = function swipeEnd(e, spec) { ) ); } - return state; }; - exports.swipeEnd = swipeEnd; - var getNavigableIndexes = function getNavigableIndexes(spec) { var max = spec.infinite ? spec.slideCount * 2 : spec.slideCount; var breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0; var counter = spec.infinite ? spec.slidesToShow * -1 : 0; var indexes = []; - while (breakpoint < max) { indexes.push(breakpoint); breakpoint = counter + spec.slidesToScroll; counter += Math.min(spec.slidesToScroll, spec.slidesToShow); } - return indexes; }; - exports.getNavigableIndexes = getNavigableIndexes; - var checkNavigable = function checkNavigable(spec, index) { var navigables = getNavigableIndexes(spec); var prevNavigable = 0; - if (index > navigables[navigables.length - 1]) { index = navigables[navigables.length - 1]; } else { @@ -792,21 +691,16 @@ var checkNavigable = function checkNavigable(spec, index) { index = prevNavigable; break; } - prevNavigable = navigables[n]; } } - return index; }; - exports.checkNavigable = checkNavigable; - var getSlideCount = function getSlideCount(spec) { var centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0; - if (spec.swipeToSlide) { var swipedSlide; var slickList = spec.listRef; @@ -829,14 +723,11 @@ var getSlideCount = function getSlideCount(spec) { return false; } } - return true; }); - if (!swipedSlide) { return 0; } - var currentIndex = spec.rtl === true ? spec.slideCount - spec.currentSlide @@ -848,9 +739,7 @@ var getSlideCount = function getSlideCount(spec) { return spec.slidesToScroll; } }; - exports.getSlideCount = getSlideCount; - var checkSpecKeys = function checkSpecKeys(spec, keysArray) { return keysArray.reduce(function(value, key) { return value && spec.hasOwnProperty(key); @@ -858,9 +747,7 @@ var checkSpecKeys = function checkSpecKeys(spec, keysArray) { ? null : console.error("Keys Missing:", spec); }; - exports.checkSpecKeys = checkSpecKeys; - var getTrackCSS = function getTrackCSS(spec) { checkSpecKeys(spec, [ "left", @@ -871,19 +758,16 @@ var getTrackCSS = function getTrackCSS(spec) { ]); var trackWidth, trackHeight; var trackChildren = spec.slideCount + 2 * spec.slidesToShow; - if (!spec.vertical) { trackWidth = getTotalSlides(spec) * spec.slideWidth; } else { trackHeight = trackChildren * spec.slideHeight; } - var style = { opacity: 1, transition: "", WebkitTransition: "" }; - if (spec.useTransform) { var WebkitTransform = !spec.vertical ? "translate3d(" + spec.left + "px, 0px, 0px)" @@ -910,14 +794,14 @@ var getTrackCSS = function getTrackCSS(spec) { style["left"] = spec.left; } } - if (spec.fade) style = { opacity: 1 }; if (trackWidth) style.width = trackWidth; - if (trackHeight) style.height = trackHeight; // Fallback for IE8 + if (trackHeight) style.height = trackHeight; + // Fallback for IE8 if (window && !window.addEventListener && window.attachEvent) { if (!spec.vertical) { style.marginLeft = spec.left + "px"; @@ -925,12 +809,9 @@ var getTrackCSS = function getTrackCSS(spec) { style.marginTop = spec.left + "px"; } } - return style; }; - exports.getTrackCSS = getTrackCSS; - var getTrackAnimateCSS = function getTrackAnimateCSS(spec) { checkSpecKeys(spec, [ "left", @@ -941,8 +822,8 @@ var getTrackAnimateCSS = function getTrackAnimateCSS(spec) { "speed", "cssEase" ]); - var style = getTrackCSS(spec); // useCSS is true by default so it can be undefined - + var style = getTrackCSS(spec); + // useCSS is true by default so it can be undefined if (spec.useTransform) { style.WebkitTransition = "-webkit-transform " + spec.speed + "ms " + spec.cssEase; @@ -954,17 +835,13 @@ var getTrackAnimateCSS = function getTrackAnimateCSS(spec) { style.transition = "left " + spec.speed + "ms " + spec.cssEase; } } - return style; }; - exports.getTrackAnimateCSS = getTrackAnimateCSS; - var getTrackLeft = function getTrackLeft(spec) { if (spec.unslick) { return 0; } - checkSpecKeys(spec, [ "slideIndex", "trackRef", @@ -995,17 +872,13 @@ var getTrackLeft = function getTrackLeft(spec) { var targetLeft; var targetSlide; var verticalOffset = 0; - if (fade || spec.slideCount === 1) { return 0; } - var slidesToOffset = 0; - if (infinite) { slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children - if ( slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount @@ -1013,8 +886,8 @@ var getTrackLeft = function getTrackLeft(spec) { slidesToOffset = -(slideIndex > slideCount ? slidesToShow - (slideIndex - slideCount) : slideCount % slidesToScroll); - } // shift current slide to center of the frame - + } + // shift current slide to center of the frame if (centerMode) { slidesToOffset += parseInt(slidesToShow / 2); } @@ -1025,108 +898,84 @@ var getTrackLeft = function getTrackLeft(spec) { ) { slidesToOffset = slidesToShow - (slideCount % slidesToScroll); } - if (centerMode) { slidesToOffset = parseInt(slidesToShow / 2); } } - slideOffset = slidesToOffset * slideWidth; verticalOffset = slidesToOffset * slideHeight; - if (!vertical) { targetLeft = slideIndex * slideWidth * -1 + slideOffset; } else { targetLeft = slideIndex * slideHeight * -1 + verticalOffset; } - if (variableWidth === true) { var targetSlideIndex; var trackElem = trackRef && trackRef.node; targetSlideIndex = slideIndex + getPreClones(spec); targetSlide = trackElem && trackElem.childNodes[targetSlideIndex]; targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0; - if (centerMode === true) { targetSlideIndex = infinite ? slideIndex + getPreClones(spec) : slideIndex; targetSlide = trackElem && trackElem.children[targetSlideIndex]; targetLeft = 0; - for (var slide = 0; slide < targetSlideIndex; slide++) { targetLeft -= trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth; } - targetLeft -= parseInt(spec.centerPadding); targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2; } } - return targetLeft; }; - exports.getTrackLeft = getTrackLeft; - var getPreClones = function getPreClones(spec) { if (spec.unslick || !spec.infinite) { return 0; } - if (spec.variableWidth) { return spec.slideCount; } - return spec.slidesToShow + (spec.centerMode ? 1 : 0); }; - exports.getPreClones = getPreClones; - var getPostClones = function getPostClones(spec) { if (spec.unslick || !spec.infinite) { return 0; } - return spec.slideCount; }; - exports.getPostClones = getPostClones; - var getTotalSlides = function getTotalSlides(spec) { return spec.slideCount === 1 ? 1 : getPreClones(spec) + spec.slideCount + getPostClones(spec); }; - exports.getTotalSlides = getTotalSlides; - var siblingDirection = function siblingDirection(spec) { if (spec.targetSlide > spec.currentSlide) { if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) { return "left"; } - return "right"; } else { if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) { return "right"; } - return "left"; } }; - exports.siblingDirection = siblingDirection; - var slidesOnRight = function slidesOnRight(_ref) { var slidesToShow = _ref.slidesToShow, centerMode = _ref.centerMode, rtl = _ref.rtl, centerPadding = _ref.centerPadding; - // returns no of slides on the right of active slide if (centerMode) { var right = (slidesToShow - 1) / 2 + 1; @@ -1134,22 +983,17 @@ var slidesOnRight = function slidesOnRight(_ref) { if (rtl && slidesToShow % 2 === 0) right += 1; return right; } - if (rtl) { return 0; } - return slidesToShow - 1; }; - exports.slidesOnRight = slidesOnRight; - var slidesOnLeft = function slidesOnLeft(_ref2) { var slidesToShow = _ref2.slidesToShow, centerMode = _ref2.centerMode, rtl = _ref2.rtl, centerPadding = _ref2.centerPadding; - // returns no of slides on the left of active slide if (centerMode) { var left = (slidesToShow - 1) / 2 + 1; @@ -1157,16 +1001,12 @@ var slidesOnLeft = function slidesOnLeft(_ref2) { if (!rtl && slidesToShow % 2 === 0) left += 1; return left; } - if (rtl) { return slidesToShow - 1; } - return 0; }; - exports.slidesOnLeft = slidesOnLeft; - var canUseDOM = function canUseDOM() { return !!( typeof window !== "undefined" && @@ -1174,5 +1014,4 @@ var canUseDOM = function canUseDOM() { window.document.createElement ); }; - exports.canUseDOM = canUseDOM; diff --git a/src/inner-slider.js b/src/inner-slider.js index 7b50d2246..4e48b1414 100644 --- a/src/inner-slider.js +++ b/src/inner-slider.js @@ -756,7 +756,9 @@ export class InnerSlider extends React.Component { }; if (this.props.unslick) { - listProps = { className: "slick-list" }; + listProps = { + className: classnames(this.props.classes?.list, "slick-list") + }; innerSliderProps = { className }; } return (