{"version":3,"sources":["../node_modules/react-slick/lib/index.js","../node_modules/react-slick/lib/utils/innerSliderUtils.js","../node_modules/enquire.js/src/Util.js","../node_modules/react-slick/lib/slider.js","../node_modules/react-slick/lib/inner-slider.js","../node_modules/react-slick/lib/initial-state.js","../node_modules/react-slick/lib/track.js","../node_modules/react-slick/lib/dots.js","../node_modules/react-slick/lib/arrows.js","../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../node_modules/react-slick/lib/default-props.js","../node_modules/enquire.js/src/index.js","../node_modules/enquire.js/src/MediaQueryDispatch.js","../node_modules/enquire.js/src/MediaQuery.js","../node_modules/enquire.js/src/QueryHandler.js"],"names":["obj","Object","defineProperty","exports","value","_default","__esModule","canUseDOM","slidesOnLeft","slidesOnRight","siblingDirection","getTotalSlides","getPostClones","getPreClones","getTrackLeft","getTrackAnimateCSS","getTrackCSS","checkSpecKeys","getSlideCount","checkNavigable","getNavigableIndexes","swipeEnd","swipeMove","swipeStart","keyHandler","changeSlide","slideHandler","initializedState","extractObject","canGoNext","getSwipeDirection","getHeight","getWidth","lazySlidesOnRight","lazySlidesOnLeft","lazyEndIndex","lazyStartIndex","getRequiredLazySlides","getOnDemandLazySlides","_react","_interopRequireDefault","_reactDom","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","configurable","writable","spec","onDemandSlides","startIndex","endIndex","slideIndex","lazyLoadedList","indexOf","requiredSlides","currentSlide","centerMode","Math","floor","slidesToShow","parseInt","centerPadding","elem","offsetWidth","offsetHeight","touchObject","xDist","yDist","r","swipeAngle","verticalSwiping","undefined","startX","curX","startY","curY","atan2","round","PI","abs","canGo","infinite","slideCount","newObject","slideWidth","Children","count","children","listWidth","ceil","findDOMNode","listRef","trackWidth","trackRef","vertical","centerPaddingAdj","slice","slideHeight","querySelector","listHeight","initialSlide","rtl","slidesToLoad","concat","state","autoplaying","autoplay","waitForAnimate","animating","fade","index","lazyLoad","slidesToScroll","useCSS","finalSlide","animationLeft","finalLeft","animationSlide","nextState","trackStyle","left","swipeLeft","options","indexOffset","previousInt","slideOffset","targetSlide","message","direction","Number","e","accessibility","tagName","match","keyCode","swipe","draggable","preventDefault","type","dragging","touches","pageX","clientX","pageY","clientY","scrolling","swipeToSlide","edgeFriction","edgeDragged","onEdge","swiped","swiping","swipeEvent","curLeft","swipeLength","sqrt","pow","verticalSwipeLength","positionOffset","dotCount","swipeDirection","touchSwipeLength","touchThreshold","onSwipe","minSwipe","newSlide","currentLeft","max","breakpoint","counter","indexes","min","navigables","prevNavigable","n","centerOffset","swipedSlide","slides","querySelectorAll","Array","from","every","slide","offsetTop","offsetLeft","currentIndex","dataset","keysArray","reduce","hasOwnProperty","console","error","trackHeight","trackChildren","style","opacity","transition","WebkitTransition","useTransform","WebkitTransform","transform","msTransform","width","height","window","addEventListener","attachEvent","marginTop","marginLeft","speed","cssEase","unslick","targetLeft","variableWidth","slidesToOffset","targetSlideIndex","trackElem","childNodes","_ref","right","_ref2","document","createElement","module","isFunction","isArray","prototype","toString","each","collection","fn","_innerSlider","_json2mq","_defaultProps","_innerSliderUtils","_typeof","Symbol","iterator","constructor","_extends","assign","call","this","_defineProperties","props","descriptor","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_assertThisInitialized","self","ReferenceError","_setPrototypeOf","p","enquire","Slider","_React$Component","_this","instance","Constructor","TypeError","_classCallCheck","_possibleConstructorReturn","ref","innerSlider","slickPrev","slickNext","dontAnimate","slickGoTo","pause","autoPlay","_responsiveMediaHandlers","protoProps","staticProps","subClass","superClass","create","_inherits","query","handler","register","_this2","responsive","breakpoints","map","breakpt","sort","x","y","bQuery","minWidth","maxWidth","media","setState","unregister","settings","newProps","_this3","resp","toArray","child","trim","rows","slidesPerRow","warn","newChildren","currentWidth","j","row","k","cloneElement","tabIndex","display","className","InnerSlider","innerSliderRefHandler","Component","_initialState","_lodash","_classnames","_track","_dots","_arrows","_resizeObserverPolyfill","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","list","track","adaptiveHeight","ssrInit","onInit","prevState","onLazyLoad","updateState","adaptHeight","lazyLoadTimer","setInterval","progressiveLazyLoad","ro","onWindowResized","callbackTimers","setTimeout","observe","onfocus","pauseOnFocus","onSlideFocus","onblur","onSlideBlur","animationEndCallback","clearTimeout","clearInterval","timer","removeEventListener","detachEvent","autoplayTimer","nextProps","setTrackStyle","_i","_Object$keys","checkImagesLoad","onReInit","debouncedResize","cancel","resizeWindow","callback","updatedState","_trackWidth","_trackLeft","childrenWidths","preClones","postClones","_i2","_i3","_trackStyle","childrenCount","trackLeft","images","imagesCount","loadedCount","image","onclick","prevClickHandler","parentNode","focus","onload","onerror","onLazyLoadError","_index","_this$props","asNavFor","beforeChange","afterChange","_slideHandler","firstBatch","clickable","stopPropagation","dir","ontouchmove","event","returnValue","disableBodyScroll","triggerSlideHandler","enableBodyScroll","isNaN","nextIndex","playType","play","autoplaySpeed","pauseType","dots","prevArrow","nextArrow","trackProps","pauseOnHover","onMouseEnter","onTrackOver","onMouseLeave","onTrackLeave","onMouseOver","focusOnSelect","selectHandler","dotProps","pauseOnDotsHover","clickHandler","onDotsLeave","onDotsOver","Dots","arrowProps","arrows","PrevArrow","NextArrow","verticalHeightStyle","centerPaddingStyle","padding","listStyle","touchMove","listProps","onClick","onMouseDown","onMouseMove","onMouseUp","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","onKeyDown","innerSliderProps","listRefHandler","Track","trackRefHandler","currentDirection","initialized","getSlideClasses","slickActive","slickCenter","slickCloned","getKey","fallbackKey","renderSlides","preCloneSlides","postCloneSlides","childOnClickOptions","childStyle","position","top","getSlideStyle","slideClass","slideClasses","outline","preCloneNo","reverse","_React$PureComponent","mouseEvents","PureComponent","join","split","leftBound","rightBound","dotOptions","bind","customPaging","appendDots","dotsClass","_createClass","prevClasses","prevHandler","prevArrowProps","customProps","_React$PureComponent2","nextClasses","nextHandler","nextArrowProps","MapShim","Map","getIndex","arr","result","some","entry","class_1","__entries__","get","set","delete","entries","splice","has","clear","ctx","_a","isBrowser","global$1","global","Function","requestAnimationFrame$1","requestAnimationFrame","Date","now","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","attributes","childList","characterData","subtree","disconnect","_b","propertyName","getInstance","instance_","defineConfigurable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","size","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","getPaddings","horizPad","vertPad","bottom","boxSizing","documentElement","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","contentRect","Constr","DOMRectReadOnly","createReadOnlyRect","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","Element","observations","unobserve","clearActive","observation","WeakMap","ResizeObserver","method","easing","MediaQueryDispatch","MediaQuery","Util","matchMedia","Error","queries","browserIsIncapable","matches","q","shouldDegrade","isUnconditional","addHandler","removeHandler","QueryHandler","handlers","mql","listener","currentTarget","assess","addListener","constuctor","qh","on","h","equals","destroy","removeListener","action","deferSetup","setup","initialised","off","unmatch"],"mappings":"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","file":"static/js/1.b8e13ce9.chunk.js","sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _slider = _interopRequireDefault(require(\"./slider\"));\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nvar _default = _slider[\"default\"];\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = exports.slidesOnLeft = exports.slidesOnRight = exports.siblingDirection = exports.getTotalSlides = exports.getPostClones = exports.getPreClones = exports.getTrackLeft = exports.getTrackAnimateCSS = exports.getTrackCSS = exports.checkSpecKeys = exports.getSlideCount = exports.checkNavigable = exports.getNavigableIndexes = exports.swipeEnd = exports.swipeMove = exports.swipeStart = exports.keyHandler = exports.changeSlide = exports.slideHandler = exports.initializedState = exports.extractObject = exports.canGoNext = exports.getSwipeDirection = exports.getHeight = exports.getWidth = exports.lazySlidesOnRight = exports.lazySlidesOnLeft = exports.lazyEndIndex = exports.lazyStartIndex = exports.getRequiredLazySlides = exports.getOnDemandLazySlides = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar getOnDemandLazySlides = function getOnDemandLazySlides(spec) {\n var onDemandSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n return onDemandSlides;\n}; // return list of slides that need to be present\n\nexports.getOnDemandLazySlides = getOnDemandLazySlides;\nvar getRequiredLazySlides = function getRequiredLazySlides(spec) {\n var requiredSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n return requiredSlides;\n}; // startIndex that needs to be present\n\nexports.getRequiredLazySlides = getRequiredLazySlides;\nvar lazyStartIndex = function lazyStartIndex(spec) {\n return spec.currentSlide - lazySlidesOnLeft(spec);\n};\nexports.lazyStartIndex = lazyStartIndex;\nvar lazyEndIndex = function lazyEndIndex(spec) {\n return spec.currentSlide + lazySlidesOnRight(spec);\n};\nexports.lazyEndIndex = lazyEndIndex;\nvar lazySlidesOnLeft = function lazySlidesOnLeft(spec) {\n return spec.centerMode ? Math.floor(spec.slidesToShow / 2) + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : 0;\n};\nexports.lazySlidesOnLeft = lazySlidesOnLeft;\nvar lazySlidesOnRight = function lazySlidesOnRight(spec) {\n return spec.centerMode ? Math.floor((spec.slidesToShow - 1) / 2) + 1 + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : spec.slidesToShow;\n}; // get width of an element\n\nexports.lazySlidesOnRight = lazySlidesOnRight;\nvar getWidth = function getWidth(elem) {\n return elem && elem.offsetWidth || 0;\n};\nexports.getWidth = getWidth;\nvar getHeight = function getHeight(elem) {\n return elem && elem.offsetHeight || 0;\n};\nexports.getHeight = getHeight;\nvar getSwipeDirection = function getSwipeDirection(touchObject) {\n var verticalSwiping = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 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 (swipeAngle <= 45 && swipeAngle >= 0 || swipeAngle <= 360 && swipeAngle >= 315) {\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 return \"vertical\";\n}; // whether or not we can go next\n\nexports.getSwipeDirection = getSwipeDirection;\nvar canGoNext = function canGoNext(spec) {\n var canGo = true;\n if (!spec.infinite) {\n if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n canGo = false;\n } else if (spec.slideCount <= spec.slidesToShow || spec.currentSlide >= spec.slideCount - spec.slidesToShow) {\n canGo = false;\n }\n }\n return canGo;\n}; // given an object and a list of keys, return new object with given keys\n\nexports.canGoNext = canGoNext;\nvar extractObject = function extractObject(spec, keys) {\n var newObject = {};\n keys.forEach(function (key) {\n return newObject[key] = spec[key];\n });\n return newObject;\n}; // get initialized state\n\nexports.extractObject = extractObject;\nvar initializedState = function initializedState(spec) {\n // spec also contains listRef, trackRef\n var slideCount = _react[\"default\"].Children.count(spec.children);\n var listWidth = Math.ceil(getWidth(_reactDom[\"default\"].findDOMNode(spec.listRef)));\n var trackWidth = Math.ceil(getWidth(_reactDom[\"default\"].findDOMNode(spec.trackRef)));\n var slideWidth;\n if (!spec.vertical) {\n var centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n if (typeof spec.centerPadding === \"string\" && spec.centerPadding.slice(-1) === \"%\") {\n centerPaddingAdj *= listWidth / 100;\n }\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n var slideHeight = _reactDom[\"default\"].findDOMNode(spec.listRef) && getHeight(_reactDom[\"default\"].findDOMNode(spec.listRef).querySelector('[data-index=\"0\"]'));\n var listHeight = slideHeight * spec.slidesToShow;\n var currentSlide = spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n var lazyLoadedList = spec.lazyLoadedList || [];\n var slidesToLoad = getOnDemandLazySlides({\n currentSlide: currentSlide,\n lazyLoadedList: lazyLoadedList\n }, spec);\n lazyLoadedList.concat(slidesToLoad);\n var state = {\n slideCount: slideCount,\n slideWidth: slideWidth,\n listWidth: listWidth,\n trackWidth: trackWidth,\n currentSlide: currentSlide,\n slideHeight: slideHeight,\n listHeight: listHeight,\n lazyLoadedList: lazyLoadedList\n };\n if (spec.autoplaying === null && spec.autoplay) {\n state[\"autoplaying\"] = \"playing\";\n }\n return state;\n};\nexports.initializedState = initializedState;\nvar slideHandler = function slideHandler(spec) {\n var waitForAnimate = spec.waitForAnimate,\n animating = spec.animating,\n fade = spec.fade,\n infinite = spec.infinite,\n index = spec.index,\n slideCount = spec.slideCount,\n lazyLoadedList = spec.lazyLoadedList,\n lazyLoad = spec.lazyLoad,\n currentSlide = spec.currentSlide,\n centerMode = spec.centerMode,\n slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n useCSS = spec.useCSS;\n if (waitForAnimate && animating) return {};\n var animationSlide = index,\n finalSlide,\n animationLeft,\n finalLeft;\n var 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: lazyLoadedList\n };\n nextState = {\n animating: false\n };\n } else {\n finalSlide = animationSlide;\n if (animationSlide < 0) {\n finalSlide = animationSlide + slideCount;\n if (!infinite) finalSlide = 0;else if (slideCount % slidesToScroll !== 0) 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;else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n }\n animationLeft = getTrackLeft(_objectSpread({}, spec, {\n slideIndex: animationSlide\n }));\n finalLeft = getTrackLeft(_objectSpread({}, spec, {\n slideIndex: finalSlide\n }));\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n lazyLoad && lazyLoadedList.concat(getOnDemandLazySlides(_objectSpread({}, spec, {\n currentSlide: animationSlide\n })));\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_objectSpread({}, spec, {\n left: finalLeft\n })),\n lazyLoadedList: lazyLoadedList\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS(_objectSpread({}, spec, {\n left: animationLeft\n })),\n lazyLoadedList: lazyLoadedList\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_objectSpread({}, spec, {\n left: finalLeft\n })),\n swipeLeft: null\n };\n }\n }\n return {\n state: state,\n nextState: nextState\n };\n};\nexports.slideHandler = slideHandler;\nvar changeSlide = function changeSlide(spec, options) {\n var indexOffset, previousInt, slideOffset, unevenOffset, targetSlide;\n var slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n slideCount = spec.slideCount,\n currentSlide = spec.currentSlide,\n lazyLoad = spec.lazyLoad,\n infinite = spec.infinite;\n unevenOffset = slideCount % slidesToScroll !== 0;\n indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n if (options.message === \"previous\") {\n slideOffset = 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 var direction = siblingDirection(_objectSpread({}, spec, {\n targetSlide: targetSlide\n }));\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};\nexports.changeSlide = changeSlide;\nvar keyHandler = function keyHandler(e, accessibility, rtl) {\n if (e.target.tagName.match(\"TEXTAREA|INPUT|SELECT\") || !accessibility) return \"\";\n if (e.keyCode === 37) return rtl ? \"next\" : \"previous\";\n if (e.keyCode === 39) return rtl ? \"previous\" : \"next\";\n return \"\";\n};\nexports.keyHandler = keyHandler;\nvar swipeStart = function 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};\nexports.swipeStart = swipeStart;\nvar swipeMove = function swipeMove(e, spec) {\n // spec also contains, trackRef and slideIndex\n var scrolling = spec.scrolling,\n animating = spec.animating,\n vertical = spec.vertical,\n swipeToSlide = spec.swipeToSlide,\n verticalSwiping = spec.verticalSwiping,\n rtl = spec.rtl,\n currentSlide = spec.currentSlide,\n edgeFriction = spec.edgeFriction,\n edgeDragged = spec.edgeDragged,\n onEdge = spec.onEdge,\n swiped = spec.swiped,\n swiping = spec.swiping,\n slideCount = spec.slideCount,\n slidesToScroll = spec.slidesToScroll,\n infinite = spec.infinite,\n touchObject = spec.touchObject,\n swipeEvent = spec.swipeEvent,\n listHeight = spec.listHeight,\n listWidth = spec.listWidth;\n if (scrolling) return;\n if (animating) return e.preventDefault();\n if (vertical && swipeToSlide && verticalSwiping) e.preventDefault();\n var swipeLeft,\n state = {};\n var 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(Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2)));\n var verticalSwipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2)));\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return {\n scrolling: true\n };\n }\n if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n var positionOffset = (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n if (verticalSwiping) positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n var dotCount = Math.ceil(slideCount / slidesToScroll);\n var swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n var touchSwipeLength = touchObject.swipeLength;\n if (!infinite) {\n if (currentSlide === 0 && swipeDirection === \"right\" || currentSlide + 1 >= dotCount && swipeDirection === \"left\" || !canGoNext(spec) && swipeDirection === \"left\") {\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 = curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n }\n if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n state = _objectSpread({}, state, {\n touchObject: touchObject,\n swipeLeft: swipeLeft,\n trackStyle: getTrackCSS(_objectSpread({}, spec, {\n left: swipeLeft\n }))\n });\n if (Math.abs(touchObject.curX - touchObject.startX) < Math.abs(touchObject.curY - touchObject.startY) * 0.8) {\n return state;\n }\n if (touchObject.swipeLength > 10) {\n state[\"swiping\"] = true;\n e.preventDefault();\n }\n return state;\n};\nexports.swipeMove = swipeMove;\nvar swipeEnd = function swipeEnd(e, spec) {\n var dragging = spec.dragging,\n swipe = spec.swipe,\n touchObject = spec.touchObject,\n listWidth = spec.listWidth,\n touchThreshold = spec.touchThreshold,\n verticalSwiping = spec.verticalSwiping,\n listHeight = spec.listHeight,\n currentSlide = spec.currentSlide,\n swipeToSlide = spec.swipeToSlide,\n scrolling = spec.scrolling,\n onSwipe = spec.onSwipe;\n if (!dragging) {\n if (swipe) e.preventDefault();\n return {};\n }\n var minSwipe = verticalSwiping ? listHeight / touchThreshold : listWidth / touchThreshold;\n var swipeDirection = getSwipeDirection(touchObject, verticalSwiping); // reset the state of touch related state variables.\n\n var 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 var 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 var currentLeft = getTrackLeft(spec);\n state[\"trackStyle\"] = getTrackAnimateCSS(_objectSpread({}, spec, {\n left: currentLeft\n }));\n }\n return state;\n};\nexports.swipeEnd = swipeEnd;\nvar getNavigableIndexes = function getNavigableIndexes(spec) {\n var max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n var breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n var counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n var 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};\nexports.getNavigableIndexes = getNavigableIndexes;\nvar checkNavigable = function checkNavigable(spec, index) {\n var navigables = getNavigableIndexes(spec);\n var prevNavigable = 0;\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (var n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n prevNavigable = navigables[n];\n }\n }\n return index;\n};\nexports.checkNavigable = checkNavigable;\nvar getSlideCount = function getSlideCount(spec) {\n var centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0;\n if (spec.swipeToSlide) {\n var swipedSlide;\n var slickList = _reactDom[\"default\"].findDOMNode(spec.listRef);\n var slides = slickList.querySelectorAll(\".slick-slide\");\n Array.from(slides).every(function (slide) {\n if (!spec.vertical) {\n if (slide.offsetLeft - centerOffset + getWidth(slide) / 2 > spec.swipeLeft * -1) {\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 return true;\n });\n if (!swipedSlide) {\n return 0;\n }\n var currentIndex = spec.rtl === true ? spec.slideCount - spec.currentSlide : spec.currentSlide;\n var slidesTraversed = Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n return slidesTraversed;\n } else {\n return spec.slidesToScroll;\n }\n};\nexports.getSlideCount = getSlideCount;\nvar checkSpecKeys = function checkSpecKeys(spec, keysArray) {\n return keysArray.reduce(function (value, key) {\n return value && spec.hasOwnProperty(key);\n }, true) ? null : console.error(\"Keys Missing:\", spec);\n};\nexports.checkSpecKeys = checkSpecKeys;\nvar getTrackCSS = function getTrackCSS(spec) {\n checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\"]);\n var trackWidth, trackHeight;\n var 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 var style = {\n opacity: 1,\n transition: \"\",\n WebkitTransition: \"\"\n };\n if (spec.useTransform) {\n var WebkitTransform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n var transform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n var msTransform = !spec.vertical ? \"translateX(\" + spec.left + \"px)\" : \"translateY(\" + spec.left + \"px)\";\n style = _objectSpread({}, style, {\n WebkitTransform: WebkitTransform,\n transform: transform,\n msTransform: 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 = {\n opacity: 1\n };\n if (trackWidth) style.width = trackWidth;\n if (trackHeight) style.height = trackHeight; // Fallback for IE8\n\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 return style;\n};\nexports.getTrackCSS = getTrackCSS;\nvar getTrackAnimateCSS = function getTrackAnimateCSS(spec) {\n checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\", \"speed\", \"cssEase\"]);\n var style = getTrackCSS(spec); // useCSS is true by default so it can be undefined\n\n if (spec.useTransform) {\n style.WebkitTransition = \"-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};\nexports.getTrackAnimateCSS = getTrackAnimateCSS;\nvar getTrackLeft = function getTrackLeft(spec) {\n if (spec.unslick) {\n return 0;\n }\n checkSpecKeys(spec, [\"slideIndex\", \"trackRef\", \"infinite\", \"centerMode\", \"slideCount\", \"slidesToShow\", \"slidesToScroll\", \"slideWidth\", \"listWidth\", \"variableWidth\", \"slideHeight\"]);\n var slideIndex = spec.slideIndex,\n trackRef = spec.trackRef,\n infinite = spec.infinite,\n centerMode = spec.centerMode,\n slideCount = spec.slideCount,\n slidesToShow = spec.slidesToShow,\n slidesToScroll = spec.slidesToScroll,\n slideWidth = spec.slideWidth,\n listWidth = spec.listWidth,\n variableWidth = spec.variableWidth,\n slideHeight = spec.slideHeight,\n fade = spec.fade,\n vertical = spec.vertical;\n var slideOffset = 0;\n var targetLeft;\n var targetSlide;\n var verticalOffset = 0;\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n var 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\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = -(slideIndex > slideCount ? slidesToShow - (slideIndex - slideCount) : slideCount % slidesToScroll);\n } // shift current slide to center of the frame\n\n if (centerMode) {\n slidesToOffset += parseInt(slidesToShow / 2);\n }\n } else {\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\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 if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n if (variableWidth === true) {\n var targetSlideIndex;\n var trackElem = _reactDom[\"default\"].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 ? slideIndex + getPreClones(spec) : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n for (var slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -= trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth;\n }\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n return targetLeft;\n};\nexports.getTrackLeft = getTrackLeft;\nvar getPreClones = function 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};\nexports.getPreClones = getPreClones;\nvar getPostClones = function getPostClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n return spec.slideCount;\n};\nexports.getPostClones = getPostClones;\nvar getTotalSlides = function getTotalSlides(spec) {\n return spec.slideCount === 1 ? 1 : getPreClones(spec) + spec.slideCount + getPostClones(spec);\n};\nexports.getTotalSlides = getTotalSlides;\nvar siblingDirection = function 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};\nexports.siblingDirection = siblingDirection;\nvar slidesOnRight = function slidesOnRight(_ref) {\n var slidesToShow = _ref.slidesToShow,\n centerMode = _ref.centerMode,\n rtl = _ref.rtl,\n centerPadding = _ref.centerPadding;\n\n // returns no of slides on the right of active slide\n if (centerMode) {\n var 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};\nexports.slidesOnRight = slidesOnRight;\nvar slidesOnLeft = function slidesOnLeft(_ref2) {\n var slidesToShow = _ref2.slidesToShow,\n centerMode = _ref2.centerMode,\n rtl = _ref2.rtl,\n centerPadding = _ref2.centerPadding;\n\n // returns no of slides on the left of active slide\n if (centerMode) {\n var 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};\nexports.slidesOnLeft = slidesOnLeft;\nvar canUseDOM = function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n};\nexports.canUseDOM = canUseDOM;","/**\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 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}\nmodule.exports = {\n isFunction: isFunction,\n isArray: isArray,\n each: each\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _innerSlider = require(\"./inner-slider\");\nvar _json2mq = _interopRequireDefault(require(\"json2mq\"));\nvar _defaultProps = _interopRequireDefault(require(\"./default-props\"));\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar enquire = (0, _innerSliderUtils.canUseDOM)() && require(\"enquire.js\");\nvar Slider = /*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Slider, _React$Component);\n function Slider(props) {\n var _this;\n _classCallCheck(this, Slider);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Slider).call(this, props));\n _defineProperty(_assertThisInitialized(_this), \"innerSliderRefHandler\", function (ref) {\n return _this.innerSlider = ref;\n });\n _defineProperty(_assertThisInitialized(_this), \"slickPrev\", function () {\n return _this.innerSlider.slickPrev();\n });\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n return _this.innerSlider.slickNext();\n });\n _defineProperty(_assertThisInitialized(_this), \"slickGoTo\", function (slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return _this.innerSlider.slickGoTo(slide, dontAnimate);\n });\n _defineProperty(_assertThisInitialized(_this), \"slickPause\", function () {\n return _this.innerSlider.pause(\"paused\");\n });\n _defineProperty(_assertThisInitialized(_this), \"slickPlay\", function () {\n return _this.innerSlider.autoPlay(\"play\");\n });\n _this.state = {\n breakpoint: null\n };\n _this._responsiveMediaHandlers = [];\n return _this;\n }\n _createClass(Slider, [{\n key: \"media\",\n value: function media(query, handler) {\n // javascript handler for css media query\n enquire.register(query, handler);\n this._responsiveMediaHandlers.push({\n query: query,\n handler: handler\n });\n } // handles responsive breakpoints\n }, {\n key: \"UNSAFE_componentWillMount\",\n value: function UNSAFE_componentWillMount() {\n var _this2 = this;\n\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 var breakpoints = this.props.responsive.map(function (breakpt) {\n return breakpt.breakpoint;\n }); // sort them in increasing order of their numerical value\n\n breakpoints.sort(function (x, y) {\n return x - y;\n });\n breakpoints.forEach(function (breakpoint, index) {\n // media query for each breakpoint\n var bQuery;\n if (index === 0) {\n bQuery = (0, _json2mq[\"default\"])({\n minWidth: 0,\n maxWidth: breakpoint\n });\n } else {\n bQuery = (0, _json2mq[\"default\"])({\n minWidth: breakpoints[index - 1] + 1,\n maxWidth: breakpoint\n });\n } // when not using server side rendering\n\n (0, _innerSliderUtils.canUseDOM)() && _this2.media(bQuery, function () {\n _this2.setState({\n breakpoint: breakpoint\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\n var query = (0, _json2mq[\"default\"])({\n minWidth: breakpoints.slice(-1)[0]\n });\n (0, _innerSliderUtils.canUseDOM)() && this.media(query, function () {\n _this2.setState({\n breakpoint: null\n });\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._responsiveMediaHandlers.forEach(function (obj) {\n enquire.unregister(obj.query, obj.handler);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n var settings;\n var newProps;\n if (this.state.breakpoint) {\n newProps = this.props.responsive.filter(function (resp) {\n return resp.breakpoint === _this3.state.breakpoint;\n });\n settings = newProps[0].settings === \"unslick\" ? \"unslick\" : _objectSpread({}, _defaultProps[\"default\"], {}, this.props, {}, newProps[0].settings);\n } else {\n settings = _objectSpread({}, _defaultProps[\"default\"], {}, this.props);\n } // force scrolling by one if centerMode is on\n\n if (settings.centerMode) {\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToScroll should be equal to 1 in centerMode, you are using \".concat(settings.slidesToScroll));\n }\n settings.slidesToScroll = 1;\n } // force showing one slide and scrolling by one if the fade mode is on\n\n if (settings.fade) {\n if (settings.slidesToShow > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToShow should be equal to 1 when fade is true, you're using \".concat(settings.slidesToShow));\n }\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToScroll should be equal to 1 when fade is true, you're using \".concat(settings.slidesToScroll));\n }\n settings.slidesToShow = 1;\n settings.slidesToScroll = 1;\n } // makes sure that children is an array, even when there is only 1 child\n\n var children = _react[\"default\"].Children.toArray(this.props.children); // 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\n children = children.filter(function (child) {\n if (typeof child === \"string\") {\n return !!child.trim();\n }\n return !!child;\n }); // rows and slidesPerRow logic is handled here\n\n if (settings.variableWidth && (settings.rows > 1 || settings.slidesPerRow > 1)) {\n console.warn(\"variableWidth is not supported in case of rows > 1 or slidesPerRow > 1\");\n settings.variableWidth = false;\n }\n var newChildren = [];\n var currentWidth = null;\n for (var i = 0; i < children.length; i += settings.rows * settings.slidesPerRow) {\n var newSlide = [];\n for (var j = i; j < i + settings.rows * settings.slidesPerRow; j += settings.slidesPerRow) {\n var row = [];\n for (var 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(_react[\"default\"].cloneElement(children[k], {\n key: 100 * i + 10 * j + k,\n tabIndex: -1,\n style: {\n width: \"\".concat(100 / settings.slidesPerRow, \"%\"),\n display: \"inline-block\"\n }\n }));\n }\n newSlide.push(_react[\"default\"].createElement(\"div\", {\n key: 10 * i + j\n }, row));\n }\n if (settings.variableWidth) {\n newChildren.push(_react[\"default\"].createElement(\"div\", {\n key: i,\n style: {\n width: currentWidth\n }\n }, newSlide));\n } else {\n newChildren.push(_react[\"default\"].createElement(\"div\", {\n key: i\n }, newSlide));\n }\n }\n if (settings === \"unslick\") {\n var className = \"regular slider \" + (this.props.className || \"\");\n return _react[\"default\"].createElement(\"div\", {\n className: className\n }, newChildren);\n } else if (newChildren.length <= settings.slidesToShow) {\n settings.unslick = true;\n }\n return _react[\"default\"].createElement(_innerSlider.InnerSlider, _extends({\n style: this.props.style,\n ref: this.innerSliderRefHandler\n }, settings), newChildren);\n }\n }]);\n return Slider;\n}(_react[\"default\"].Component);\nexports[\"default\"] = Slider;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InnerSlider = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _initialState = _interopRequireDefault(require(\"./initial-state\"));\nvar _lodash = _interopRequireDefault(require(\"lodash.debounce\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\nvar _track = require(\"./track\");\nvar _dots = require(\"./dots\");\nvar _arrows = require(\"./arrows\");\nvar _resizeObserverPolyfill = _interopRequireDefault(require(\"resize-observer-polyfill\"));\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar InnerSlider = /*#__PURE__*/\nfunction (_React$Component) {\n _inherits(InnerSlider, _React$Component);\n function InnerSlider(props) {\n var _this;\n _classCallCheck(this, InnerSlider);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InnerSlider).call(this, props));\n _defineProperty(_assertThisInitialized(_this), \"listRefHandler\", function (ref) {\n return _this.list = ref;\n });\n _defineProperty(_assertThisInitialized(_this), \"trackRefHandler\", function (ref) {\n return _this.track = ref;\n });\n _defineProperty(_assertThisInitialized(_this), \"adaptHeight\", function () {\n if (_this.props.adaptiveHeight && _this.list) {\n var elem = _this.list.querySelector(\"[data-index=\\\"\".concat(_this.state.currentSlide, \"\\\"]\"));\n _this.list.style.height = (0, _innerSliderUtils.getHeight)(elem) + \"px\";\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"UNSAFE_componentWillMount\", function () {\n _this.ssrInit();\n _this.props.onInit && _this.props.onInit();\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)(_objectSpread({}, _this.props, {}, _this.state));\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n var spec = _objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props);\n _this.updateState(spec, true, function () {\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 _resizeObserverPolyfill[\"default\"](function () {\n if (_this.state.animating) {\n _this.onWindowResized(false); // don't set trackStyle hence don't break animation\n\n _this.callbackTimers.push(setTimeout(function () {\n return _this.onWindowResized();\n }, _this.props.speed));\n } else {\n _this.onWindowResized();\n }\n });\n _this.ro.observe(_this.list);\n Array.prototype.forEach.call(document.querySelectorAll(\".slick-slide\"), function (slide) {\n slide.onfocus = _this.props.pauseOnFocus ? _this.onSlideFocus : null;\n slide.onblur = _this.props.pauseOnFocus ? _this.onSlideBlur : null;\n }); // To support server-side rendering\n\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 _defineProperty(_assertThisInitialized(_this), \"componentWillUnmount\", function () {\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(function (timer) {\n return clearTimeout(timer);\n });\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 _defineProperty(_assertThisInitialized(_this), \"UNSAFE_componentWillReceiveProps\", function (nextProps) {\n var spec = _objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, nextProps, {}, _this.state);\n var setTrackStyle = false;\n for (var _i = 0, _Object$keys = Object.keys(_this.props); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n if (!nextProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n if (_typeof(nextProps[key]) === \"object\" || typeof nextProps[key] === \"function\") {\n continue;\n }\n if (nextProps[key] !== _this.props[key]) {\n setTrackStyle = true;\n break;\n }\n }\n _this.updateState(spec, setTrackStyle, function () {\n if (_this.state.currentSlide >= _react[\"default\"].Children.count(nextProps.children)) {\n _this.changeSlide({\n message: \"index\",\n index: _react[\"default\"].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 _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function () {\n _this.checkImagesLoad();\n _this.props.onReInit && _this.props.onReInit();\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)(_objectSpread({}, _this.props, {}, _this.state));\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n } // if (this.props.onLazyLoad) {\n // this.props.onLazyLoad([leftMostSlide])\n // }\n\n _this.adaptHeight();\n });\n _defineProperty(_assertThisInitialized(_this), \"onWindowResized\", function (setTrackStyle) {\n if (_this.debouncedResize) _this.debouncedResize.cancel();\n _this.debouncedResize = (0, _lodash[\"default\"])(function () {\n return _this.resizeWindow(setTrackStyle);\n }, 50);\n _this.debouncedResize();\n });\n _defineProperty(_assertThisInitialized(_this), \"resizeWindow\", function () {\n var setTrackStyle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n if (!_reactDom[\"default\"].findDOMNode(_this.track)) return;\n var spec = _objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props, {}, _this.state);\n _this.updateState(spec, setTrackStyle, function () {\n if (_this.props.autoplay) _this.autoPlay(\"update\");else _this.pause(\"paused\");\n }); // animating state should be cleared while resizing, otherwise autoplay stops working\n\n _this.setState({\n animating: false\n });\n clearTimeout(_this.animationEndCallback);\n delete _this.animationEndCallback;\n });\n _defineProperty(_assertThisInitialized(_this), \"updateState\", function (spec, setTrackStyle, callback) {\n var updatedState = (0, _innerSliderUtils.initializedState)(spec);\n spec = _objectSpread({}, spec, {}, updatedState, {\n slideIndex: updatedState.currentSlide\n });\n var targetLeft = (0, _innerSliderUtils.getTrackLeft)(spec);\n spec = _objectSpread({}, spec, {\n left: targetLeft\n });\n var trackStyle = (0, _innerSliderUtils.getTrackCSS)(spec);\n if (setTrackStyle || _react[\"default\"].Children.count(_this.props.children) !== _react[\"default\"].Children.count(spec.children)) {\n updatedState[\"trackStyle\"] = trackStyle;\n }\n _this.setState(updatedState, callback);\n });\n _defineProperty(_assertThisInitialized(_this), \"ssrInit\", function () {\n if (_this.props.variableWidth) {\n var _trackWidth = 0,\n _trackLeft = 0;\n var childrenWidths = [];\n var preClones = (0, _innerSliderUtils.getPreClones)(_objectSpread({}, _this.props, {}, _this.state, {\n slideCount: _this.props.children.length\n }));\n var postClones = (0, _innerSliderUtils.getPostClones)(_objectSpread({}, _this.props, {}, _this.state, {\n slideCount: _this.props.children.length\n }));\n _this.props.children.forEach(function (child) {\n childrenWidths.push(child.props.style.width);\n _trackWidth += child.props.style.width;\n });\n for (var i = 0; i < preClones; i++) {\n _trackLeft += childrenWidths[childrenWidths.length - 1 - i];\n _trackWidth += childrenWidths[childrenWidths.length - 1 - i];\n }\n for (var _i2 = 0; _i2 < postClones; _i2++) {\n _trackWidth += childrenWidths[_i2];\n }\n for (var _i3 = 0; _i3 < _this.state.currentSlide; _i3++) {\n _trackLeft += childrenWidths[_i3];\n }\n var _trackStyle = {\n width: _trackWidth + \"px\",\n left: -_trackLeft + \"px\"\n };\n if (_this.props.centerMode) {\n var currentWidth = \"\".concat(childrenWidths[_this.state.currentSlide], \"px\");\n _trackStyle.left = \"calc(\".concat(_trackStyle.left, \" + (100% - \").concat(currentWidth, \") / 2 ) \");\n }\n _this.setState({\n trackStyle: _trackStyle\n });\n return;\n }\n var childrenCount = _react[\"default\"].Children.count(_this.props.children);\n var spec = _objectSpread({}, _this.props, {}, _this.state, {\n slideCount: childrenCount\n });\n var slideCount = (0, _innerSliderUtils.getPreClones)(spec) + (0, _innerSliderUtils.getPostClones)(spec) + childrenCount;\n var trackWidth = 100 / _this.props.slidesToShow * slideCount;\n var slideWidth = 100 / slideCount;\n var trackLeft = -slideWidth * ((0, _innerSliderUtils.getPreClones)(spec) + _this.state.currentSlide) * trackWidth / 100;\n if (_this.props.centerMode) {\n trackLeft += (100 - slideWidth * trackWidth / 100) / 2;\n }\n var trackStyle = {\n width: trackWidth + \"%\",\n left: trackLeft + \"%\"\n };\n _this.setState({\n slideWidth: slideWidth + \"%\",\n trackStyle: trackStyle\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"checkImagesLoad\", function () {\n var images = document.querySelectorAll(\".slick-slide img\");\n var imagesCount = images.length,\n loadedCount = 0;\n Array.prototype.forEach.call(images, function (image) {\n var handler = function handler() {\n return ++loadedCount && loadedCount >= imagesCount && _this.onWindowResized();\n };\n if (!image.onclick) {\n image.onclick = function () {\n return image.parentNode.focus();\n };\n } else {\n var prevClickHandler = image.onclick;\n image.onclick = function () {\n prevClickHandler();\n image.parentNode.focus();\n };\n }\n if (!image.onload) {\n if (_this.props.lazyLoad) {\n image.onload = function () {\n _this.adaptHeight();\n _this.callbackTimers.push(setTimeout(_this.onWindowResized, _this.props.speed));\n };\n } else {\n image.onload = handler;\n image.onerror = function () {\n handler();\n _this.props.onLazyLoadError && _this.props.onLazyLoadError();\n };\n }\n }\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"progressiveLazyLoad\", function () {\n var slidesToLoad = [];\n var spec = _objectSpread({}, _this.props, {}, _this.state);\n for (var index = _this.state.currentSlide; index < _this.state.slideCount + (0, _innerSliderUtils.getPostClones)(spec); index++) {\n if (_this.state.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n for (var _index = _this.state.currentSlide - 1; _index >= -(0, _innerSliderUtils.getPreClones)(spec); _index--) {\n if (_this.state.lazyLoadedList.indexOf(_index) < 0) {\n slidesToLoad.push(_index);\n break;\n }\n }\n if (slidesToLoad.length > 0) {\n _this.setState(function (state) {\n return {\n lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad)\n };\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 _defineProperty(_assertThisInitialized(_this), \"slideHandler\", function (index) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var _this$props = _this.props,\n asNavFor = _this$props.asNavFor,\n beforeChange = _this$props.beforeChange,\n onLazyLoad = _this$props.onLazyLoad,\n speed = _this$props.speed,\n afterChange = _this$props.afterChange; // capture currentslide before state is updated\n\n var currentSlide = _this.state.currentSlide;\n var _slideHandler = (0, _innerSliderUtils.slideHandler)(_objectSpread({\n index: index\n }, _this.props, {}, _this.state, {\n trackRef: _this.track,\n useCSS: _this.props.useCSS && !dontAnimate\n })),\n state = _slideHandler.state,\n nextState = _slideHandler.nextState;\n if (!state) return;\n beforeChange && beforeChange(currentSlide, state.currentSlide);\n var slidesToLoad = state.lazyLoadedList.filter(function (value) {\n return _this.state.lazyLoadedList.indexOf(value) < 0;\n });\n onLazyLoad && slidesToLoad.length > 0 && onLazyLoad(slidesToLoad);\n _this.setState(state, function () {\n asNavFor && asNavFor.innerSlider.slideHandler(index);\n if (!nextState) return;\n _this.animationEndCallback = setTimeout(function () {\n var animating = nextState.animating,\n firstBatch = _objectWithoutProperties(nextState, [\"animating\"]);\n _this.setState(firstBatch, function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.setState({\n animating: animating\n });\n }, 10));\n afterChange && afterChange(state.currentSlide);\n delete _this.animationEndCallback;\n });\n }, speed);\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"changeSlide\", function (options) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var spec = _objectSpread({}, _this.props, {}, _this.state);\n var targetSlide = (0, _innerSliderUtils.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 _defineProperty(_assertThisInitialized(_this), \"clickHandler\", function (e) {\n if (_this.clickable === false) {\n e.stopPropagation();\n e.preventDefault();\n }\n _this.clickable = true;\n });\n _defineProperty(_assertThisInitialized(_this), \"keyHandler\", function (e) {\n var dir = (0, _innerSliderUtils.keyHandler)(e, _this.props.accessibility, _this.props.rtl);\n dir !== \"\" && _this.changeSlide({\n message: dir\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"selectHandler\", function (options) {\n _this.changeSlide(options);\n });\n _defineProperty(_assertThisInitialized(_this), \"disableBodyScroll\", function () {\n var preventDefault = function preventDefault(e) {\n e = e || window.event;\n if (e.preventDefault) e.preventDefault();\n e.returnValue = false;\n };\n window.ontouchmove = preventDefault;\n });\n _defineProperty(_assertThisInitialized(_this), \"enableBodyScroll\", function () {\n window.ontouchmove = null;\n });\n _defineProperty(_assertThisInitialized(_this), \"swipeStart\", function (e) {\n if (_this.props.verticalSwiping) {\n _this.disableBodyScroll();\n }\n var state = (0, _innerSliderUtils.swipeStart)(e, _this.props.swipe, _this.props.draggable);\n state !== \"\" && _this.setState(state);\n });\n _defineProperty(_assertThisInitialized(_this), \"swipeMove\", function (e) {\n var state = (0, _innerSliderUtils.swipeMove)(e, _objectSpread({}, _this.props, {}, _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 _defineProperty(_assertThisInitialized(_this), \"swipeEnd\", function (e) {\n var state = (0, _innerSliderUtils.swipeEnd)(e, _objectSpread({}, _this.props, {}, _this.state, {\n trackRef: _this.track,\n listRef: _this.list,\n slideIndex: _this.state.currentSlide\n }));\n if (!state) return;\n var 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 _defineProperty(_assertThisInitialized(_this), \"slickPrev\", function () {\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(setTimeout(function () {\n return _this.changeSlide({\n message: \"previous\"\n });\n }, 0));\n });\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"next\"\n });\n }, 0));\n });\n _defineProperty(_assertThisInitialized(_this), \"slickGoTo\", function (slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n slide = Number(slide);\n if (isNaN(slide)) return \"\";\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"index\",\n index: slide,\n currentSlide: _this.state.currentSlide\n }, dontAnimate);\n }, 0));\n });\n _defineProperty(_assertThisInitialized(_this), \"play\", function () {\n var nextIndex;\n if (_this.props.rtl) {\n nextIndex = _this.state.currentSlide - _this.props.slidesToScroll;\n } else {\n if ((0, _innerSliderUtils.canGoNext)(_objectSpread({}, _this.props, {}, _this.state))) {\n nextIndex = _this.state.currentSlide + _this.props.slidesToScroll;\n } else {\n return false;\n }\n }\n _this.slideHandler(nextIndex);\n });\n _defineProperty(_assertThisInitialized(_this), \"autoPlay\", function (playType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n var autoplaying = _this.state.autoplaying;\n if (playType === \"update\") {\n if (autoplaying === \"hovered\" || autoplaying === \"focused\" || autoplaying === \"paused\") {\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({\n autoplaying: \"playing\"\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"pause\", function (pauseType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n _this.autoplayTimer = null;\n }\n var autoplaying = _this.state.autoplaying;\n if (pauseType === \"paused\") {\n _this.setState({\n autoplaying: \"paused\"\n });\n } else if (pauseType === \"focused\") {\n if (autoplaying === \"hovered\" || autoplaying === \"playing\") {\n _this.setState({\n autoplaying: \"focused\"\n });\n }\n } else {\n // pauseType is 'hovered'\n if (autoplaying === \"playing\") {\n _this.setState({\n autoplaying: \"hovered\"\n });\n }\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"onDotsOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n _defineProperty(_assertThisInitialized(_this), \"onDotsLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n _defineProperty(_assertThisInitialized(_this), \"onTrackOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n _defineProperty(_assertThisInitialized(_this), \"onTrackLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n _defineProperty(_assertThisInitialized(_this), \"onSlideFocus\", function () {\n return _this.props.autoplay && _this.pause(\"focused\");\n });\n _defineProperty(_assertThisInitialized(_this), \"onSlideBlur\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"focused\" && _this.autoPlay(\"blur\");\n });\n _defineProperty(_assertThisInitialized(_this), \"render\", function () {\n var className = (0, _classnames[\"default\"])(\"slick-slider\", _this.props.className, {\n \"slick-vertical\": _this.props.vertical,\n \"slick-initialized\": true\n });\n var spec = _objectSpread({}, _this.props, {}, _this.state);\n var trackProps = (0, _innerSliderUtils.extractObject)(spec, [\"fade\", \"cssEase\", \"speed\", \"infinite\", \"centerMode\", \"focusOnSelect\", \"currentSlide\", \"lazyLoad\", \"lazyLoadedList\", \"rtl\", \"slideWidth\", \"slideHeight\", \"listHeight\", \"vertical\", \"slidesToShow\", \"slidesToScroll\", \"slideCount\", \"trackStyle\", \"variableWidth\", \"unslick\", \"centerPadding\"]);\n var pauseOnHover = _this.props.pauseOnHover;\n trackProps = _objectSpread({}, 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 var dots;\n if (_this.props.dots === true && _this.state.slideCount >= _this.props.slidesToShow) {\n var dotProps = (0, _innerSliderUtils.extractObject)(spec, [\"dotsClass\", \"slideCount\", \"slidesToShow\", \"currentSlide\", \"slidesToScroll\", \"clickHandler\", \"children\", \"customPaging\", \"infinite\", \"appendDots\"]);\n var pauseOnDotsHover = _this.props.pauseOnDotsHover;\n dotProps = _objectSpread({}, 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 = _react[\"default\"].createElement(_dots.Dots, dotProps);\n }\n var prevArrow, nextArrow;\n var arrowProps = (0, _innerSliderUtils.extractObject)(spec, [\"infinite\", \"centerMode\", \"currentSlide\", \"slideCount\", \"slidesToShow\", \"prevArrow\", \"nextArrow\"]);\n arrowProps.clickHandler = _this.changeSlide;\n if (_this.props.arrows) {\n prevArrow = _react[\"default\"].createElement(_arrows.PrevArrow, arrowProps);\n nextArrow = _react[\"default\"].createElement(_arrows.NextArrow, arrowProps);\n }\n var verticalHeightStyle = null;\n if (_this.props.vertical) {\n verticalHeightStyle = {\n height: _this.state.listHeight\n };\n }\n var centerPaddingStyle = null;\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 var listStyle = _objectSpread({}, verticalHeightStyle, {}, centerPaddingStyle);\n var touchMove = _this.props.touchMove;\n var 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 var innerSliderProps = {\n className: className,\n dir: \"ltr\",\n style: _this.props.style\n };\n if (_this.props.unslick) {\n listProps = {\n className: \"slick-list\"\n };\n innerSliderProps = {\n className: className\n };\n }\n return _react[\"default\"].createElement(\"div\", innerSliderProps, !_this.props.unslick ? prevArrow : \"\", _react[\"default\"].createElement(\"div\", _extends({\n ref: _this.listRefHandler\n }, listProps), _react[\"default\"].createElement(_track.Track, _extends({\n ref: _this.trackRefHandler\n }, trackProps), _this.props.children)), !_this.props.unslick ? nextArrow : \"\", !_this.props.unslick ? dots : \"\");\n });\n _this.list = null;\n _this.track = null;\n _this.state = _objectSpread({}, _initialState[\"default\"], {\n currentSlide: _this.props.initialSlide,\n slideCount: _react[\"default\"].Children.count(_this.props.children)\n });\n _this.callbackTimers = [];\n _this.clickable = true;\n _this.debouncedResize = null;\n return _this;\n }\n return InnerSlider;\n}(_react[\"default\"].Component);\nexports.InnerSlider = InnerSlider;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar 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,\n // used by swipeEvent. differentites between touch and swipe.\n swiping: false,\n touchObject: {\n startX: 0,\n startY: 0,\n curX: 0,\n curY: 0\n },\n trackStyle: {},\n trackWidth: 0\n};\nvar _default = initialState;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Track = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n\n// given specifications/props for a slide, fetch all the classes that need to be applied to the slide\nvar getSlideClasses = function getSlideClasses(spec) {\n var slickActive, slickCenter, slickCloned;\n var centerOffset, index;\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 (index > spec.currentSlide - centerOffset - 1 && index <= spec.currentSlide + centerOffset) {\n slickActive = true;\n }\n } else {\n slickActive = spec.currentSlide <= index && index < spec.currentSlide + spec.slidesToShow;\n }\n var 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\nvar getSlideStyle = function getSlideStyle(spec) {\n var style = {};\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth;\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 = \"opacity \" + spec.speed + \"ms \" + spec.cssEase + \", \" + \"visibility \" + spec.speed + \"ms \" + spec.cssEase;\n style.WebkitTransition = \"opacity \" + spec.speed + \"ms \" + spec.cssEase + \", \" + \"visibility \" + spec.speed + \"ms \" + spec.cssEase;\n }\n return style;\n};\nvar getKey = function getKey(child, fallbackKey) {\n return child.key || fallbackKey;\n};\nvar renderSlides = function renderSlides(spec) {\n var key;\n var slides = [];\n var preCloneSlides = [];\n var postCloneSlides = [];\n var childrenCount = _react[\"default\"].Children.count(spec.children);\n var startIndex = (0, _innerSliderUtils.lazyStartIndex)(spec);\n var endIndex = (0, _innerSliderUtils.lazyEndIndex)(spec);\n _react[\"default\"].Children.forEach(spec.children, function (elem, index) {\n var child;\n var childOnClickOptions = {\n message: \"children\",\n index: index,\n slidesToScroll: spec.slidesToScroll,\n currentSlide: spec.currentSlide\n }; // in case of lazyLoad, whether or not we want to fetch the slide\n\n if (!spec.lazyLoad || spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0) {\n child = elem;\n } else {\n child = _react[\"default\"].createElement(\"div\", null);\n }\n var childStyle = getSlideStyle(_objectSpread({}, spec, {\n index: index\n }));\n var slideClass = child.props.className || \"\";\n var slideClasses = getSlideClasses(_objectSpread({}, spec, {\n index: index\n })); // push a cloned element of the desired slide\n\n slides.push(_react[\"default\"].cloneElement(child, {\n key: \"original\" + getKey(child, index),\n \"data-index\": index,\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n tabIndex: \"-1\",\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread({\n outline: \"none\"\n }, child.props.style || {}, {}, childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })); // if slide needs to be precloned or postcloned\n\n if (spec.infinite && spec.fade === false) {\n var preCloneNo = childrenCount - index;\n if (preCloneNo <= (0, _innerSliderUtils.getPreClones)(spec) && childrenCount !== spec.slidesToShow) {\n key = -preCloneNo;\n if (key >= startIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses(_objectSpread({}, spec, {\n index: key\n }));\n preCloneSlides.push(_react[\"default\"].cloneElement(child, {\n key: \"precloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread({}, child.props.style || {}, {}, childStyle),\n onClick: function 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 if (childrenCount !== spec.slidesToShow) {\n key = childrenCount + index;\n if (key < endIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses(_objectSpread({}, spec, {\n index: key\n }));\n postCloneSlides.push(_react[\"default\"].cloneElement(child, {\n key: \"postcloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread({}, child.props.style || {}, {}, childStyle),\n onClick: function 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 (spec.rtl) {\n return preCloneSlides.concat(slides, postCloneSlides).reverse();\n } else {\n return preCloneSlides.concat(slides, postCloneSlides);\n }\n};\nvar Track = /*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(Track, _React$PureComponent);\n function Track() {\n _classCallCheck(this, Track);\n return _possibleConstructorReturn(this, _getPrototypeOf(Track).apply(this, arguments));\n }\n _createClass(Track, [{\n key: \"render\",\n value: function render() {\n var slides = renderSlides(this.props);\n var _this$props = this.props,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseOver = _this$props.onMouseOver,\n onMouseLeave = _this$props.onMouseLeave;\n var mouseEvents = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave\n };\n return _react[\"default\"].createElement(\"div\", _extends({\n className: \"slick-track\",\n style: this.props.trackStyle\n }, mouseEvents), slides);\n }\n }]);\n return Track;\n}(_react[\"default\"].PureComponent);\nexports.Track = Track;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Dots = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nvar getDotCount = function getDotCount(spec) {\n var dots;\n if (spec.infinite) {\n dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n } else {\n dots = Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) + 1;\n }\n return dots;\n};\nvar Dots = /*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(Dots, _React$PureComponent);\n function Dots() {\n _classCallCheck(this, Dots);\n return _possibleConstructorReturn(this, _getPrototypeOf(Dots).apply(this, arguments));\n }\n _createClass(Dots, [{\n key: \"clickHandler\",\n value: function 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 }, {\n key: \"render\",\n value: function render() {\n var _this = this;\n var dotCount = getDotCount({\n slideCount: this.props.slideCount,\n slidesToScroll: this.props.slidesToScroll,\n slidesToShow: this.props.slidesToShow,\n infinite: this.props.infinite\n }); // Apply join & split to Array to pre-fill it for IE8\n //\n // Credit: http://stackoverflow.com/a/13735425/1849458\n\n var _this$props = this.props,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseOver = _this$props.onMouseOver,\n onMouseLeave = _this$props.onMouseLeave;\n var mouseEvents = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave\n };\n var dots = Array.apply(null, Array(dotCount + 1).join(\"0\").split(\"\")).map(function (x, i) {\n var leftBound = i * _this.props.slidesToScroll;\n var rightBound = i * _this.props.slidesToScroll + (_this.props.slidesToScroll - 1);\n var className = (0, _classnames[\"default\"])({\n \"slick-active\": _this.props.currentSlide >= leftBound && _this.props.currentSlide <= rightBound\n });\n var dotOptions = {\n message: \"dots\",\n index: i,\n slidesToScroll: _this.props.slidesToScroll,\n currentSlide: _this.props.currentSlide\n };\n var onClick = _this.clickHandler.bind(_this, dotOptions);\n return _react[\"default\"].createElement(\"li\", {\n key: i,\n className: className\n }, _react[\"default\"].cloneElement(_this.props.customPaging(i), {\n onClick: onClick\n }));\n });\n return _react[\"default\"].cloneElement(this.props.appendDots(dots), _objectSpread({\n className: this.props.dotsClass\n }, mouseEvents));\n }\n }]);\n return Dots;\n}(_react[\"default\"].PureComponent);\nexports.Dots = Dots;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NextArrow = exports.PrevArrow = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nvar PrevArrow = /*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(PrevArrow, _React$PureComponent);\n function PrevArrow() {\n _classCallCheck(this, PrevArrow);\n return _possibleConstructorReturn(this, _getPrototypeOf(PrevArrow).apply(this, arguments));\n }\n _createClass(PrevArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n this.props.clickHandler(options, e);\n }\n }, {\n key: \"render\",\n value: function render() {\n var prevClasses = {\n \"slick-arrow\": true,\n \"slick-prev\": true\n };\n var prevHandler = this.clickHandler.bind(this, {\n message: \"previous\"\n });\n if (!this.props.infinite && (this.props.currentSlide === 0 || this.props.slideCount <= this.props.slidesToShow)) {\n prevClasses[\"slick-disabled\"] = true;\n prevHandler = null;\n }\n var prevArrowProps = {\n key: \"0\",\n \"data-role\": \"none\",\n className: (0, _classnames[\"default\"])(prevClasses),\n style: {\n display: \"block\"\n },\n onClick: prevHandler\n };\n var customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n var prevArrow;\n if (this.props.prevArrow) {\n prevArrow = _react[\"default\"].cloneElement(this.props.prevArrow, _objectSpread({}, prevArrowProps, {}, customProps));\n } else {\n prevArrow = _react[\"default\"].createElement(\"button\", _extends({\n key: \"0\",\n type: \"button\"\n }, prevArrowProps), \" \", \"Previous\");\n }\n return prevArrow;\n }\n }]);\n return PrevArrow;\n}(_react[\"default\"].PureComponent);\nexports.PrevArrow = PrevArrow;\nvar NextArrow = /*#__PURE__*/\nfunction (_React$PureComponent2) {\n _inherits(NextArrow, _React$PureComponent2);\n function NextArrow() {\n _classCallCheck(this, NextArrow);\n return _possibleConstructorReturn(this, _getPrototypeOf(NextArrow).apply(this, arguments));\n }\n _createClass(NextArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n this.props.clickHandler(options, e);\n }\n }, {\n key: \"render\",\n value: function render() {\n var nextClasses = {\n \"slick-arrow\": true,\n \"slick-next\": true\n };\n var nextHandler = this.clickHandler.bind(this, {\n message: \"next\"\n });\n if (!(0, _innerSliderUtils.canGoNext)(this.props)) {\n nextClasses[\"slick-disabled\"] = true;\n nextHandler = null;\n }\n var nextArrowProps = {\n key: \"1\",\n \"data-role\": \"none\",\n className: (0, _classnames[\"default\"])(nextClasses),\n style: {\n display: \"block\"\n },\n onClick: nextHandler\n };\n var customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n var nextArrow;\n if (this.props.nextArrow) {\n nextArrow = _react[\"default\"].cloneElement(this.props.nextArrow, _objectSpread({}, nextArrowProps, {}, customProps));\n } else {\n nextArrow = _react[\"default\"].createElement(\"button\", _extends({\n key: \"1\",\n type: \"button\"\n }, nextArrowProps), \" \", \"Next\");\n }\n return nextArrow;\n }\n }]);\n return NextArrow;\n}(_react[\"default\"].PureComponent);\nexports.NextArrow = NextArrow;","/**\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 */\n/* eslint-disable require-jsdoc, valid-jsdoc */\nvar MapShim = function () {\n if (typeof Map !== 'undefined') {\n return Map;\n }\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 */\n function getIndex(arr, key) {\n var result = -1;\n arr.some(function (entry, index) {\n if (entry[0] === key) {\n result = index;\n return true;\n }\n return false;\n });\n return result;\n }\n return (/** @class */function () {\n function class_1() {\n this.__entries__ = [];\n }\n Object.defineProperty(class_1.prototype, \"size\", {\n /**\r\n * @returns {boolean}\r\n */\n get: function get() {\n return this.__entries__.length;\n },\n enumerable: true,\n configurable: true\n });\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\n class_1.prototype.get = function (key) {\n var index = getIndex(this.__entries__, key);\n var entry = this.__entries__[index];\n return entry && entry[1];\n };\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\n class_1.prototype.set = function (key, value) {\n var index = getIndex(this.__entries__, key);\n if (~index) {\n this.__entries__[index][1] = value;\n } else {\n this.__entries__.push([key, value]);\n }\n };\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\n class_1.prototype.delete = function (key) {\n var entries = this.__entries__;\n var index = getIndex(entries, key);\n if (~index) {\n entries.splice(index, 1);\n }\n };\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\n class_1.prototype.has = function (key) {\n return !!~getIndex(this.__entries__, key);\n };\n /**\r\n * @returns {void}\r\n */\n class_1.prototype.clear = function () {\n this.__entries__.splice(0);\n };\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\n class_1.prototype.forEach = function (callback, ctx) {\n if (ctx === void 0) {\n ctx = null;\n }\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\n var entry = _a[_i];\n callback.call(ctx, entry[1], entry[0]);\n }\n };\n return class_1;\n }()\n );\n}();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\nvar global$1 = function () {\n if (typeof global !== 'undefined' && global.Math === Math) {\n return global;\n }\n if (typeof self !== 'undefined' && self.Math === Math) {\n return self;\n }\n if (typeof window !== 'undefined' && window.Math === Math) {\n return window;\n }\n // eslint-disable-next-line no-new-func\n return Function('return this')();\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 */\nvar requestAnimationFrame$1 = function () {\n if (typeof requestAnimationFrame === 'function') {\n // It's required to use a bounded function because IE sometimes throws\n // an \"Invalid calling object\" error if rAF is invoked without the global\n // object on the left hand side.\n return requestAnimationFrame.bind(global$1);\n }\n return function (callback) {\n return setTimeout(function () {\n return callback(Date.now());\n }, 1000 / 60);\n };\n}();\n\n// Defines minimum timeout before adding a trailing call.\nvar trailingTimeout = 2;\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 */\nfunction throttle(callback, delay) {\n var leadingCall = false,\n trailingCall = false,\n lastCallTime = 0;\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 */\n function resolvePending() {\n if (leadingCall) {\n leadingCall = false;\n callback();\n }\n if (trailingCall) {\n proxy();\n }\n }\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 */\n function timeoutCallback() {\n requestAnimationFrame$1(resolvePending);\n }\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\n function proxy() {\n var timeStamp = Date.now();\n if (leadingCall) {\n // Reject immediately following calls.\n if (timeStamp - lastCallTime < trailingTimeout) {\n return;\n }\n // Schedule new call to be in invoked when the pending one is resolved.\n // This is important for \"transitions\" which never actually start\n // immediately so there is a chance that we might miss one if change\n // happens amids the pending invocation.\n trailingCall = true;\n } else {\n leadingCall = true;\n trailingCall = false;\n setTimeout(timeoutCallback, delay);\n }\n lastCallTime = timeStamp;\n }\n return proxy;\n}\n\n// Minimum delay before invoking the update of observers.\nvar REFRESH_DELAY = 20;\n// A list of substrings of CSS properties used to find transition events that\n// might affect dimensions of observed elements.\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\n// Check if MutationObserver is available.\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\nvar ResizeObserverController = /** @class */function () {\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\n function ResizeObserverController() {\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\n this.connected_ = false;\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\n this.mutationEventsAdded_ = false;\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\n this.mutationsObserver_ = null;\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\n this.observers_ = [];\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\n }\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 */\n ResizeObserverController.prototype.addObserver = function (observer) {\n if (!~this.observers_.indexOf(observer)) {\n this.observers_.push(observer);\n }\n // Add listeners if they haven't been added yet.\n if (!this.connected_) {\n this.connect_();\n }\n };\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 */\n ResizeObserverController.prototype.removeObserver = function (observer) {\n var observers = this.observers_;\n var index = observers.indexOf(observer);\n // Remove observer if it's present in registry.\n if (~index) {\n observers.splice(index, 1);\n }\n // Remove listeners if controller has no connected observers.\n if (!observers.length && this.connected_) {\n this.disconnect_();\n }\n };\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 */\n ResizeObserverController.prototype.refresh = function () {\n var changesDetected = this.updateObservers_();\n // Continue running updates if changes have been detected as there might\n // be future ones caused by CSS transitions.\n if (changesDetected) {\n this.refresh();\n }\n };\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 */\n ResizeObserverController.prototype.updateObservers_ = function () {\n // Collect observers that have active observations.\n var activeObservers = this.observers_.filter(function (observer) {\n return observer.gatherActive(), observer.hasActive();\n });\n // Deliver notifications in a separate cycle in order to avoid any\n // collisions between observers, e.g. when multiple instances of\n // ResizeObserver are tracking the same element and the callback of one\n // of them changes content dimensions of the observed target. Sometimes\n // this may result in notifications being blocked for the rest of observers.\n activeObservers.forEach(function (observer) {\n return observer.broadcastActive();\n });\n return activeObservers.length > 0;\n };\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\n ResizeObserverController.prototype.connect_ = function () {\n // Do nothing if running in a non-browser environment or if listeners\n // have been already added.\n if (!isBrowser || this.connected_) {\n return;\n }\n // Subscription to the \"Transitionend\" event is used as a workaround for\n // delayed transitions. This way it's possible to capture at least the\n // final state of an element.\n document.addEventListener('transitionend', this.onTransitionEnd_);\n window.addEventListener('resize', this.refresh);\n if (mutationObserverSupported) {\n this.mutationsObserver_ = new MutationObserver(this.refresh);\n this.mutationsObserver_.observe(document, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n } else {\n document.addEventListener('DOMSubtreeModified', this.refresh);\n this.mutationEventsAdded_ = true;\n }\n this.connected_ = true;\n };\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\n ResizeObserverController.prototype.disconnect_ = function () {\n // Do nothing if running in a non-browser environment or if listeners\n // have been already removed.\n if (!isBrowser || !this.connected_) {\n return;\n }\n document.removeEventListener('transitionend', this.onTransitionEnd_);\n window.removeEventListener('resize', this.refresh);\n if (this.mutationsObserver_) {\n this.mutationsObserver_.disconnect();\n }\n if (this.mutationEventsAdded_) {\n document.removeEventListener('DOMSubtreeModified', this.refresh);\n }\n this.mutationsObserver_ = null;\n this.mutationEventsAdded_ = false;\n this.connected_ = false;\n };\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\n var _b = _a.propertyName,\n propertyName = _b === void 0 ? '' : _b;\n // Detect whether transition may affect dimensions of an element.\n var isReflowProperty = transitionKeys.some(function (key) {\n return !!~propertyName.indexOf(key);\n });\n if (isReflowProperty) {\n this.refresh();\n }\n };\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\n ResizeObserverController.getInstance = function () {\n if (!this.instance_) {\n this.instance_ = new ResizeObserverController();\n }\n return this.instance_;\n };\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\n ResizeObserverController.instance_ = null;\n return ResizeObserverController;\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 */\nvar defineConfigurable = function defineConfigurable(target, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var key = _a[_i];\n Object.defineProperty(target, key, {\n value: props[key],\n enumerable: false,\n writable: false,\n configurable: true\n });\n }\n return target;\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 */\nvar getWindowOf = function getWindowOf(target) {\n // Assume that the element is an instance of Node, which means that it\n // has the \"ownerDocument\" property from which we can retrieve a\n // corresponding global object.\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\n // Return the local global object if it's not possible extract one from\n // provided element.\n return ownerGlobal || global$1;\n};\n\n// Placeholder of an empty content rectangle.\nvar emptyRect = createRectInit(0, 0, 0, 0);\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\nfunction toFloat(value) {\n return parseFloat(value) || 0;\n}\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 */\nfunction getBordersSize(styles) {\n var positions = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n positions[_i - 1] = arguments[_i];\n }\n return positions.reduce(function (size, position) {\n var value = styles['border-' + position + '-width'];\n return size + toFloat(value);\n }, 0);\n}\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\nfunction getPaddings(styles) {\n var positions = ['top', 'right', 'bottom', 'left'];\n var paddings = {};\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\n var position = positions_1[_i];\n var value = styles['padding-' + position];\n paddings[position] = toFloat(value);\n }\n return paddings;\n}\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 */\nfunction getSVGContentRect(target) {\n var bbox = target.getBBox();\n return createRectInit(0, 0, bbox.width, bbox.height);\n}\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 */\nfunction getHTMLElementContentRect(target) {\n // Client width & height properties can't be\n // used exclusively as they provide rounded values.\n var clientWidth = target.clientWidth,\n clientHeight = target.clientHeight;\n // By this condition we can catch all non-replaced inline, hidden and\n // detached elements. Though elements with width & height properties less\n // than 0.5 will be discarded as well.\n //\n // Without it we would need to implement separate methods for each of\n // those cases and it's not possible to perform a precise and performance\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\n // gives wrong results for elements with width & height less than 0.5.\n if (!clientWidth && !clientHeight) {\n return emptyRect;\n }\n var styles = getWindowOf(target).getComputedStyle(target);\n var paddings = getPaddings(styles);\n var horizPad = paddings.left + paddings.right;\n var vertPad = paddings.top + paddings.bottom;\n // Computed styles of width & height are being used because they are the\n // only dimensions available to JS that contain non-rounded values. It could\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\n // affected by CSS transformations let alone paddings, borders and scroll bars.\n var width = toFloat(styles.width),\n height = toFloat(styles.height);\n // Width & height include paddings and borders when the 'border-box' box\n // model is applied (except for IE).\n if (styles.boxSizing === 'border-box') {\n // Following conditions are required to handle Internet Explorer which\n // doesn't include paddings and borders to computed CSS dimensions.\n //\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\n // properties then it's either IE, and thus we don't need to subtract\n // anything, or an element merely doesn't have paddings/borders styles.\n if (Math.round(width + horizPad) !== clientWidth) {\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\n }\n if (Math.round(height + vertPad) !== clientHeight) {\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\n }\n }\n // Following steps can't be applied to the document's root element as its\n // client[Width/Height] properties represent viewport area of the window.\n // Besides, it's as well not necessary as the itself neither has\n // rendered scroll bars nor it can be clipped.\n if (!isDocumentElement(target)) {\n // In some browsers (only in Firefox, actually) CSS width & height\n // include scroll bars size which can be removed at this step as scroll\n // bars are the only difference between rounded dimensions + paddings\n // and \"client\" properties, though that is not always true in Chrome.\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\n // Chrome has a rather weird rounding of \"client\" properties.\n // E.g. for an element with content width of 314.2px it sometimes gives\n // the client width of 315px and for the width of 314.7px it may give\n // 314px. And it doesn't happen all the time. So just ignore this delta\n // as a non-relevant.\n if (Math.abs(vertScrollbar) !== 1) {\n width -= vertScrollbar;\n }\n if (Math.abs(horizScrollbar) !== 1) {\n height -= horizScrollbar;\n }\n }\n return createRectInit(paddings.left, paddings.top, width, height);\n}\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 */\nvar isSVGGraphicsElement = function () {\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\n // interface.\n if (typeof SVGGraphicsElement !== 'undefined') {\n return function (target) {\n return target instanceof getWindowOf(target).SVGGraphicsElement;\n };\n }\n // If it's so, then check that element is at least an instance of the\n // SVGElement and that it has the \"getBBox\" method.\n // eslint-disable-next-line no-extra-parens\n return function (target) {\n return target instanceof getWindowOf(target).SVGElement && typeof target.getBBox === 'function';\n };\n}();\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 */\nfunction isDocumentElement(target) {\n return target === getWindowOf(target).document.documentElement;\n}\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 */\nfunction getContentRect(target) {\n if (!isBrowser) {\n return emptyRect;\n }\n if (isSVGGraphicsElement(target)) {\n return getSVGContentRect(target);\n }\n return getHTMLElementContentRect(target);\n}\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 */\nfunction createReadOnlyRect(_a) {\n var x = _a.x,\n y = _a.y,\n width = _a.width,\n height = _a.height;\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\n var rect = Object.create(Constr.prototype);\n // Rectangle's properties are not writable and non-enumerable.\n defineConfigurable(rect, {\n x: x,\n y: y,\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: height + y,\n left: x\n });\n return rect;\n}\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 */\nfunction createRectInit(x, y, width, height) {\n return {\n x: x,\n y: y,\n width: width,\n height: height\n };\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 */\nvar ResizeObservation = /** @class */function () {\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\n function ResizeObservation(target) {\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\n this.broadcastWidth = 0;\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\n this.broadcastHeight = 0;\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\n this.contentRect_ = createRectInit(0, 0, 0, 0);\n this.target = target;\n }\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 */\n ResizeObservation.prototype.isActive = function () {\n var rect = getContentRect(this.target);\n this.contentRect_ = rect;\n return rect.width !== this.broadcastWidth || rect.height !== this.broadcastHeight;\n };\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 */\n ResizeObservation.prototype.broadcastRect = function () {\n var rect = this.contentRect_;\n this.broadcastWidth = rect.width;\n this.broadcastHeight = rect.height;\n return rect;\n };\n return ResizeObservation;\n}();\nvar ResizeObserverEntry = /** @class */function () {\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 */\n function ResizeObserverEntry(target, rectInit) {\n var contentRect = createReadOnlyRect(rectInit);\n // According to the specification following properties are not writable\n // and are also not enumerable in the native implementation.\n //\n // Property accessors are not being used as they'd require to define a\n // private WeakMap storage which may cause memory leaks in browsers that\n // don't support this type of collections.\n defineConfigurable(this, {\n target: target,\n contentRect: contentRect\n });\n }\n return ResizeObserverEntry;\n}();\nvar ResizeObserverSPI = /** @class */function () {\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 */\n function ResizeObserverSPI(callback, controller, callbackCtx) {\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 */\n this.activeObservations_ = [];\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\n this.observations_ = new MapShim();\n if (typeof callback !== 'function') {\n throw new TypeError('The callback provided as parameter 1 is not a function.');\n }\n this.callback_ = callback;\n this.controller_ = controller;\n this.callbackCtx_ = callbackCtx;\n }\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\n ResizeObserverSPI.prototype.observe = function (target) {\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n }\n // Do nothing if current environment doesn't have the Element interface.\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\n return;\n }\n if (!(target instanceof getWindowOf(target).Element)) {\n throw new TypeError('parameter 1 is not of type \"Element\".');\n }\n var observations = this.observations_;\n // Do nothing if element is already being observed.\n if (observations.has(target)) {\n return;\n }\n observations.set(target, new ResizeObservation(target));\n this.controller_.addObserver(this);\n // Force the update of observations.\n this.controller_.refresh();\n };\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\n ResizeObserverSPI.prototype.unobserve = function (target) {\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n }\n // Do nothing if current environment doesn't have the Element interface.\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\n return;\n }\n if (!(target instanceof getWindowOf(target).Element)) {\n throw new TypeError('parameter 1 is not of type \"Element\".');\n }\n var observations = this.observations_;\n // Do nothing if element is not being observed.\n if (!observations.has(target)) {\n return;\n }\n observations.delete(target);\n if (!observations.size) {\n this.controller_.removeObserver(this);\n }\n };\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\n ResizeObserverSPI.prototype.disconnect = function () {\n this.clearActive();\n this.observations_.clear();\n this.controller_.removeObserver(this);\n };\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 */\n ResizeObserverSPI.prototype.gatherActive = function () {\n var _this = this;\n this.clearActive();\n this.observations_.forEach(function (observation) {\n if (observation.isActive()) {\n _this.activeObservations_.push(observation);\n }\n });\n };\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 */\n ResizeObserverSPI.prototype.broadcastActive = function () {\n // Do nothing if observer doesn't have active observations.\n if (!this.hasActive()) {\n return;\n }\n var ctx = this.callbackCtx_;\n // Create ResizeObserverEntry instance for every active observation.\n var entries = this.activeObservations_.map(function (observation) {\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\n });\n this.callback_.call(ctx, entries, ctx);\n this.clearActive();\n };\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\n ResizeObserverSPI.prototype.clearActive = function () {\n this.activeObservations_.splice(0);\n };\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\n ResizeObserverSPI.prototype.hasActive = function () {\n return this.activeObservations_.length > 0;\n };\n return ResizeObserverSPI;\n}();\n\n// Registry of internal observers. If WeakMap is not available use current shim\n// for the Map collection as it has all required methods and because WeakMap\n// can't be fully polyfilled anyway.\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\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 */\nvar ResizeObserver = /** @class */function () {\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 */\n function ResizeObserver(callback) {\n if (!(this instanceof ResizeObserver)) {\n throw new TypeError('Cannot call a class as a function.');\n }\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n }\n var controller = ResizeObserverController.getInstance();\n var observer = new ResizeObserverSPI(callback, controller, this);\n observers.set(this, observer);\n }\n return ResizeObserver;\n}();\n// Expose public methods of ResizeObserver.\n['observe', 'unobserve', 'disconnect'].forEach(function (method) {\n ResizeObserver.prototype[method] = function () {\n var _a;\n return (_a = observers.get(this))[method].apply(_a, arguments);\n };\n});\nvar index = function () {\n // Export existing implementation if available.\n if (typeof global$1.ResizeObserver !== 'undefined') {\n return global$1.ResizeObserver;\n }\n return ResizeObserver;\n}();\nexport default index;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nvar defaultProps = {\n accessibility: true,\n adaptiveHeight: false,\n afterChange: null,\n appendDots: function appendDots(dots) {\n return _react[\"default\"].createElement(\"ul\", {\n style: {\n display: \"block\"\n }\n }, dots);\n },\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: function customPaging(i) {\n return _react[\"default\"].createElement(\"button\", null, i + 1);\n },\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};\nvar _default = defaultProps;\nexports[\"default\"] = _default;","var MediaQueryDispatch = require('./MediaQueryDispatch');\nmodule.exports = new MediaQueryDispatch();","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 this.queries = {};\n this.browserIsIncapable = !window.matchMedia('only all').matches;\n}\nMediaQueryDispatch.prototype = {\n constructor: MediaQueryDispatch,\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 register(q, options, shouldDegrade) {\n var queries = this.queries,\n isUnconditional = shouldDegrade && this.browserIsIncapable;\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 = {\n match: options\n };\n }\n if (!isArray(options)) {\n options = [options];\n }\n each(options, function (handler) {\n if (isFunction(handler)) {\n handler = {\n match: handler\n };\n }\n queries[q].addHandler(handler);\n });\n return this;\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 unregister(q, handler) {\n var query = this.queries[q];\n if (query) {\n if (handler) {\n query.removeHandler(handler);\n } else {\n query.clear();\n delete this.queries[q];\n }\n }\n return this;\n }\n};\nmodule.exports = MediaQueryDispatch;","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 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}\nMediaQuery.prototype = {\n constuctor: MediaQuery,\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 addHandler(handler) {\n var qh = new QueryHandler(handler);\n this.handlers.push(qh);\n this.matches() && qh.on();\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 removeHandler(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 matches() {\n return this.mql.matches || this.isUnconditional;\n },\n /**\n * Clears all handlers and unbinds events\n */\n clear: function clear() {\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 assess() {\n var action = this.matches() ? 'on' : 'off';\n each(this.handlers, function (handler) {\n handler[action]();\n });\n }\n};\nmodule.exports = MediaQuery;","/**\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}\nQueryHandler.prototype = {\n constructor: QueryHandler,\n /**\n * coordinates setup of the handler\n *\n * @function\n */\n setup: function setup() {\n if (this.options.setup) {\n this.options.setup();\n }\n this.initialised = true;\n },\n /**\n * coordinates setup and triggering of the handler\n *\n * @function\n */\n on: function on() {\n !this.initialised && this.setup();\n this.options.match && this.options.match();\n },\n /**\n * coordinates the unmatch event for the handler\n *\n * @function\n */\n off: function off() {\n this.options.unmatch && this.options.unmatch();\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 destroy() {\n this.options.destroy ? this.options.destroy() : this.off();\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 equals(target) {\n return this.options === target || this.options.match === target;\n }\n};\nmodule.exports = QueryHandler;"],"sourceRoot":""}