{"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/external {\"root\":\"ReactDOM\",\"commonjs2\":\"react-dom\",\"commonjs\":\"react-dom\",\"amd\":\"react-dom\"}","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","ssrInit","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","Array","prototype","call","document","querySelectorAll","onfocus","pauseOnFocus","onSlideFocus","onblur","onSlideBlur","window","addEventListener","attachEvent","animationEndCallback","clearTimeout","clearInterval","timer","removeEventListener","detachEvent","autoplayTimer","nextProps","setTrackStyle","Object","keys","hasOwnProperty","count","changeSlide","message","checkImagesLoad","onReInit","debouncedResize","cancel","debounce","resizeWindow","ReactDOM","findDOMNode","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","onload","onerror","onLazyLoadError","indexOf","asNavFor","beforeChange","afterChange","slideHandler","useCSS","nextState","value","firstBatch","options","targetSlide","e","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","vertical","trackProps","extractObject","pauseOnHover","onMouseEnter","onTrackOver","onMouseLeave","onTrackLeave","onMouseOver","focusOnSelect","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","onTouchCancel","onKeyDown","innerSliderProps","listRefHandler","trackRefHandler","initialState","initialSlide","currentDirection","currentLeft","direction","edgeDragged","initialized","listWidth","scrolling","slideHeight","swipeLeft","swiped","swiping","touchObject","startX","startY","curX","curY","onDemandSlides","startIndex","lazyStartIndex","endIndex","lazyEndIndex","getRequiredLazySlides","requiredSlides","lazySlidesOnLeft","lazySlidesOnRight","Math","floor","parseInt","getWidth","offsetWidth","offsetHeight","getSwipeDirection","xDist","yDist","r","swipeAngle","atan2","round","PI","abs","canGo","infinite","newObject","ceil","centerPaddingAdj","waitForAnimate","animationSlide","finalSlide","animationLeft","finalLeft","getTrackAnimateCSS","indexOffset","previousInt","slideOffset","unevenOffset","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","getSlideCount","checkNavigable","getNavigableIndexes","max","counter","indexes","min","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","slickCurrent","getSlideStyle","position","top","getKey","fallbackKey","renderSlides","preCloneSlides","postCloneSlides","childOnClickOptions","childStyle","slideClass","slideClasses","outline","preCloneNo","reverse","Track","mouseEvents","PureComponent","getDotCount","Dots","apply","join","split","leftBound","rightBound","dotOptions","bind","customPaging","appendDots","dotsClass","PrevArrow","prevClasses","prevHandler","prevArrowProps","customProps","NextArrow","nextClasses","nextHandler","nextArrowProps","easing"],"mappings":"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AbQ;AAcnB5G,YAAU,EAAE,IAdO;AAenB6G,aAAW,EAAE,IAfM;AAgBnBzG,YAAU,EAAE,IAhBO;AAiBnB0G,WAAS,EAAE,IAjBQ;AAkBnBC,QAAM,EAAE,KAlBW;AAkBJ;AACfC,SAAO,EAAE,KAnBU;AAoBnBC,aAAW,EAAE;AAAEC,UAAM,EAAE,CAAV;AAAaC,UAAM,EAAE,CAArB;AAAwBC,QAAI,EAAE,CAA9B;AAAiCC,QAAI,EAAE;AAAvC,GApBM;AAqBnB5H,YAAU,EAAE,EArBO;AAsBnBE,YAAU,EAAE;AAtBO,CAArB;AAyBeyG,2EAAf,E;;;;;;ACzBA;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;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BAAmB,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;AACA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAEc,oEAAK,EAAC;;;;;;;;AC/5BrB,mBAAmB,mBAAO,CAAC,EAA6B;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,yB;;;;;;AClDA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA,8B;;;;;;;ACRA;AAAA;AAAA;AAAA;AAEA,IAAIrX,YAAY,GAAG;AACjByJ,eAAa,EAAE,IADE;AAEjBnH,gBAAc,EAAE,KAFC;AAGjBqG,aAAW,EAAE,IAHI;AAIjBqP,YAAU,EAAE,oBAAAnM,IAAI;AAAA,WAAI;AAAI,WAAK,EAAE;AAAE/J,eAAO,EAAE;AAAX;AAAX,OAAkC+J,IAAlC,CAAJ;AAAA,GAJC;AAKjBS,QAAM,EAAE,IALS;AAMjB5I,UAAQ,EAAE,KANO;AAOjBqH,eAAa,EAAE,IAPE;AAQjBrC,cAAY,EAAE,IARG;AASjBzI,YAAU,EAAE,KATK;AAUjB0M,eAAa,EAAE,MAVE;AAWjB5K,WAAS,EAAE,EAXM;AAYjBsT,SAAO,EAAE,MAZQ;AAajB0C,cAAY,EAAE,sBAAA5W,CAAC;AAAA,WAAI,2EAASA,CAAC,GAAG,CAAb,CAAJ;AAAA,GAbE;AAcjB0K,MAAI,EAAE,KAdW;AAejBoM,WAAS,EAAE,YAfM;AAgBjB/N,WAAS,EAAE,IAhBM;AAiBjByO,QAAM,EAAE,QAjBS;AAkBjB1G,cAAY,EAAE,IAlBG;AAmBjB3R,MAAI,EAAE,KAnBW;AAoBjBqL,eAAa,EAAE,KApBE;AAqBjB4E,UAAQ,EAAE,IArBO;AAsBjB1C,cAAY,EAAE,CAtBG;AAuBjB/K,UAAQ,EAAE,IAvBO;AAwBjBsJ,WAAS,EAAE,IAxBM;AAyBjB8F,QAAM,EAAE,IAzBS;AA0BjBrP,QAAM,EAAE,IA1BS;AA2BjB0F,iBAAe,EAAE,IA3BA;AA4BjBpC,UAAQ,EAAE,IA5BO;AA6BjB4F,kBAAgB,EAAE,KA7BD;AA8BjBnH,cAAY,EAAE,KA9BG;AA+BjByG,cAAY,EAAE,IA/BG;AAgCjBc,WAAS,EAAE,IAhCM;AAiCjBzN,YAAU,EAAE,IAjCK;AAkCjBqC,MAAI,EAAE,CAlCW;AAmCjB2I,KAAG,EAAE,KAnCY;AAoCjB5L,OAAK,EAAE,KApCU;AAqCjBkD,cAAY,EAAE,CArCG;AAsCjBd,gBAAc,EAAE,CAtCC;AAuCjBK,cAAY,EAAE,CAvCG;AAwCjB6D,OAAK,EAAE,GAxCU;AAyCjB6F,OAAK,EAAE,IAzCU;AA0CjBkI,YAAU,EAAE,IA1CK;AA2CjBH,cAAY,EAAE,KA3CG;AA4CjBnF,WAAS,EAAE,IA5CM;AA6CjBgG,gBAAc,EAAE,CA7CC;AA8CjBhK,QAAM,EAAE,IA9CS;AA+CjBkM,cAAY,EAAE,IA/CG;AAgDjBjU,eAAa,EAAE,KAhDE;AAiDjBoK,UAAQ,EAAE,KAjDO;AAkDjByF,gBAAc,EAAE;AAlDC,CAAnB;AAqDe3Q,2EAAf,E;;;;;;ACvDA,yBAAyB,mBAAO,CAAC,EAAsB;AACvD;;;;;;;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\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Slider\"] = factory(require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"Slider\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__2__, __WEBPACK_EXTERNAL_MODULE__4__) {\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 UNSAFE_componentWillMount() {\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
{newChildren}
;\n } else if (newChildren.length <= settings.slidesToShow) {\n settings.unslick = true;\n }\n return (\n \n {newChildren}\n \n );\n }\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__2__;","\"use strict\";\n\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\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 }\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 UNSAFE_componentWillMount = () => {\n this.ssrInit();\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 };\n componentDidMount = () => {\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 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 // To support server-side rendering\n if (!window) {\n return;\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 };\n UNSAFE_componentWillReceiveProps = nextProps => {\n let spec = {\n listRef: this.list,\n trackRef: this.track,\n ...nextProps,\n ...this.state\n };\n let setTrackStyle = false;\n for (let key of Object.keys(this.props)) {\n if (!nextProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n if (\n typeof nextProps[key] === \"object\" ||\n typeof nextProps[key] === \"function\"\n ) {\n continue;\n }\n if (nextProps[key] !== this.props[key]) {\n setTrackStyle = true;\n break;\n }\n }\n this.updateState(spec, setTrackStyle, () => {\n if (this.state.currentSlide >= React.Children.count(nextProps.children)) {\n this.changeSlide({\n message: \"index\",\n index:\n React.Children.count(nextProps.children) - nextProps.slidesToShow,\n currentSlide: this.state.currentSlide\n });\n }\n if (nextProps.autoplay) {\n this.autoPlay(\"update\");\n } else {\n this.pause(\"paused\");\n }\n });\n };\n componentDidUpdate = () => {\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 };\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 if (!ReactDOM.findDOMNode(this.track)) 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 this.setState({\n trackStyle\n });\n return;\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 this.setState({\n slideWidth: slideWidth + \"%\",\n trackStyle: trackStyle\n });\n };\n checkImagesLoad = () => {\n let images = document.querySelectorAll(\".slick-slide img\");\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 = () => {\n prevClickHandler();\n image.parentNode.focus();\n };\n }\n if (!image.onload) {\n if (this.props.lazyLoad) {\n image.onload = () => {\n this.adaptHeight();\n this.callbackTimers.push(\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 this.setState(state, () => {\n asNavFor && asNavFor.innerSlider.slideHandler(index);\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 };\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 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(\"slick-slider\", this.props.className, {\n \"slick-vertical\": this.props.vertical,\n \"slick-initialized\": true\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 ]);\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: this.props.focusOnSelect ? 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 ]);\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 ]);\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: \"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.swipeEnd : 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","module.exports = __WEBPACK_EXTERNAL_MODULE__4__;","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};\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 Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\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) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\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\";\nimport ReactDOM from \"react-dom\";\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 spec.currentSlide - lazySlidesOnLeft(spec);\nexport const lazyEndIndex = spec => spec.currentSlide + lazySlidesOnRight(spec);\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 let listWidth = Math.ceil(getWidth(ReactDOM.findDOMNode(spec.listRef)));\n let trackWidth = Math.ceil(getWidth(ReactDOM.findDOMNode(spec.trackRef)));\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 ReactDOM.findDOMNode(spec.listRef) &&\n getHeight(\n ReactDOM.findDOMNode(spec.listRef).querySelector('[data-index=\"0\"]')\n );\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 { currentSlide, lazyLoadedList },\n spec\n );\n 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 lazyLoadedList,\n lazyLoad,\n currentSlide,\n centerMode,\n slidesToScroll,\n slidesToShow,\n useCSS\n } = spec;\n if (waitForAnimate && animating) return {};\n let animationSlide = index,\n finalSlide,\n animationLeft,\n finalLeft;\n let state = {},\n nextState = {};\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.push(animationSlide);\n }\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList\n };\n nextState = { animating: false };\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 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 lazyLoad &&\n lazyLoadedList.concat(\n getOnDemandLazySlides({ ...spec, currentSlide: animationSlide })\n );\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS({ ...spec, left: finalLeft }),\n lazyLoadedList\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS({ ...spec, left: animationLeft }),\n lazyLoadedList\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS({ ...spec, left: finalLeft }),\n swipeLeft: null\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 lazyLoad,\n infinite\n } = spec;\n unevenOffset = slideCount % slidesToScroll !== 0;\n indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n\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 } else if (options.message === \"next\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n targetSlide = currentSlide + slideOffset;\n if (lazyLoad && !infinite) {\n targetSlide = (currentSlide + slidesToScroll) % slideCount + indexOffset;\n }\n } else if (options.message === \"dots\") {\n // Click on dots\n targetSlide = options.index * options.slidesToScroll;\n if (targetSlide === options.currentSlide) {\n return null;\n }\n } else if (options.message === \"children\") {\n // Click on the slides\n targetSlide = options.index;\n if (targetSlide === options.currentSlide) {\n return null;\n }\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 if (targetSlide === options.currentSlide) {\n return null;\n }\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\" && e.preventDefault();\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 e.preventDefault();\n if (vertical && swipeToSlide && verticalSwiping) e.preventDefault();\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 && swipeDirection === \"right\") ||\n (currentSlide + 1 >= dotCount && swipeDirection === \"left\") ||\n (!canGoNext(spec) && swipeDirection === \"left\")\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 e.preventDefault();\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 currentSlide,\n swipeToSlide,\n scrolling,\n onSwipe\n } = spec;\n if (!dragging) {\n if (swipe) e.preventDefault();\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 e.preventDefault();\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n let slideCount, newSlide;\n switch (swipeDirection) {\n case \"left\":\n case \"up\":\n newSlide = currentSlide + getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 0;\n break;\n case \"right\":\n case \"down\":\n newSlide = currentSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 1;\n break;\n default:\n slideCount = currentSlide;\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 = ReactDOM.findDOMNode(spec.listRef);\n const slides = slickList.querySelectorAll(\".slick-slide\");\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 let trackElem = ReactDOM.findDOMNode(trackRef);\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 let slickCurrent = index === spec.currentSlide;\n return {\n \"slick-slide\": true,\n \"slick-active\": slickActive,\n \"slick-center\": slickCenter,\n \"slick-cloned\": slickCloned,\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 style.transition =\n \"opacity \" +\n spec.speed +\n \"ms \" +\n spec.cssEase +\n \", \" +\n \"visibility \" +\n spec.speed +\n \"ms \" +\n spec.cssEase;\n style.WebkitTransition =\n \"opacity \" +\n spec.speed +\n \"ms \" +\n spec.cssEase +\n \", \" +\n \"visibility \" +\n spec.speed +\n \"ms \" +\n spec.cssEase;\n }\n\n return style;\n};\n\nconst getKey = (child, fallbackKey) => child.key || fallbackKey;\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 ) {\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),\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(slideClasses, slideClass),\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(slideClasses, slideClass),\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 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\";\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 let dotCount = getDotCount({\n slideCount: this.props.slideCount,\n slidesToScroll: this.props.slidesToScroll,\n slidesToShow: this.props.slidesToShow,\n infinite: this.props.infinite\n });\n\n // Apply join & split to Array to pre-fill it for IE8\n //\n // Credit: http://stackoverflow.com/a/13735425/1849458\n const { onMouseEnter, onMouseOver, onMouseLeave } = this.props;\n const mouseEvents = { onMouseEnter, onMouseOver, onMouseLeave };\n let dots = Array.apply(\n null,\n Array(dotCount + 1)\n .join(\"0\")\n .split(\"\")\n ).map((x, i) => {\n let leftBound = i * this.props.slidesToScroll;\n let rightBound =\n i * this.props.slidesToScroll + (this.props.slidesToScroll - 1);\n let className = classnames({\n \"slick-active\":\n this.props.currentSlide >= leftBound &&\n this.props.currentSlide <= rightBound\n });\n\n let dotOptions = {\n message: \"dots\",\n index: i,\n slidesToScroll: this.props.slidesToScroll,\n currentSlide: this.props.currentSlide\n };\n\n let onClick = this.clickHandler.bind(this, dotOptions);\n return (\n
  • \n {React.cloneElement(this.props.customPaging(i), { onClick })}\n
  • \n );\n });\n\n return React.cloneElement(this.props.appendDots(dots), {\n className: this.props.dotsClass,\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 prevHandler = null;\n }\n\n let prevArrowProps = {\n key: \"0\",\n \"data-role\": \"none\",\n className: classnames(prevClasses),\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 nextHandler = null;\n }\n\n let nextArrowProps = {\n key: \"1\",\n \"data-role\": \"none\",\n className: classnames(nextClasses),\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 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":""}