{"version":3,"sources":["webpack:///../node_modules/react-slick/lib/slider.js","webpack:///../node_modules/react-slick/lib/inner-slider.js","webpack:///../node_modules/react-slick/lib/initial-state.js","webpack:///../node_modules/react-slick/lib/track.js","webpack:///../node_modules/react-slick/lib/dots.js","webpack:///../node_modules/react-slick/lib/arrows.js","webpack:///../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///../node_modules/json2mq/index.js","webpack:///../node_modules/string-convert/camel2hyphen.js","webpack:///../node_modules/react-slick/lib/default-props.js","webpack:///../node_modules/enquire.js/src/index.js","webpack:///../node_modules/enquire.js/src/MediaQueryDispatch.js","webpack:///../node_modules/enquire.js/src/MediaQuery.js","webpack:///../node_modules/enquire.js/src/QueryHandler.js","webpack:///../node_modules/slick-carousel/slick/slick.css","webpack:///../node_modules/classnames/index.js","webpack:///../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack:///../node_modules/react-modal/lib/helpers/safeHTMLElement.js","webpack:///../node_modules/react-modal/lib/helpers/tabbable.js","webpack:///../node_modules/react-modal/lib/helpers/ariaAppHider.js","webpack:///../node_modules/react-modal/lib/helpers/portalOpenInstances.js","webpack:///../node_modules/react-modal/lib/components/Modal.js","webpack:///../node_modules/react-modal/lib/components/ModalPortal.js","webpack:///../node_modules/react-modal/lib/helpers/focusManager.js","webpack:///../node_modules/react-modal/lib/helpers/scopeTab.js","webpack:///../node_modules/warning/warning.js","webpack:///../node_modules/exenv/index.js","webpack:///../node_modules/react-modal/lib/helpers/classList.js","webpack:///../node_modules/react-modal/lib/helpers/bodyTrap.js","webpack:///../config/event.ts","webpack:///../node_modules/react-slick/lib/index.js","webpack:///../node_modules/@tetris/ad.js/dist/ad.cjs.js","webpack:///../libs/event.ts","webpack:///../node_modules/core-js/modules/es.array.join.js","webpack:///../node_modules/react-slick/lib/utils/innerSliderUtils.js","webpack:///../node_modules/slick-carousel/slick/slick.css?a17b","webpack:///../node_modules/react-modal/lib/index.js","webpack:///../node_modules/enquire.js/src/Util.js"],"names":["Object","defineProperty","exports","value","_react","_interopRequireDefault","_innerSlider","_json2mq","_defaultProps","_innerSliderUtils","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","_extends","assign","target","i","arguments","length","source","key","hasOwnProperty","call","apply","this","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_defineProperties","props","descriptor","configurable","writable","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_assertThisInitialized","self","ReferenceError","_setPrototypeOf","p","enquire","canUseDOM","Slider","_React$Component","_this","instance","Constructor","TypeError","_classCallCheck","_possibleConstructorReturn","ref","innerSlider","slickPrev","slickNext","slide","dontAnimate","undefined","slickGoTo","pause","autoPlay","state","breakpoint","_responsiveMediaHandlers","protoProps","staticProps","subClass","superClass","create","_inherits","query","handler","register","_this2","responsive","breakpoints","map","breakpt","sort","x","y","index","bQuery","minWidth","maxWidth","media","setState","slice","unregister","settings","newProps","_this3","resp","centerMode","slidesToScroll","fade","slidesToShow","children","Children","toArray","child","trim","variableWidth","rows","slidesPerRow","console","warn","newChildren","currentWidth","newSlide","j","row","k","style","width","cloneElement","tabIndex","concat","display","createElement","className","unslick","InnerSlider","innerSliderRefHandler","Component","_reactDom","_initialState","_lodash","_classnames","_track","_dots","_arrows","_resizeObserverPolyfill","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","list","track","adaptiveHeight","elem","querySelector","currentSlide","height","getHeight","ssrInit","onInit","lazyLoad","slidesToLoad","getOnDemandLazySlides","prevState","lazyLoadedList","onLazyLoad","spec","listRef","trackRef","updateState","adaptHeight","autoplay","lazyLoadTimer","setInterval","progressiveLazyLoad","ro","animating","onWindowResized","callbackTimers","setTimeout","speed","observe","Array","document","querySelectorAll","onfocus","pauseOnFocus","onSlideFocus","onblur","onSlideBlur","window","addEventListener","attachEvent","animationEndCallback","clearTimeout","clearInterval","timer","removeEventListener","detachEvent","autoplayTimer","nextProps","setTrackStyle","_i","_Object$keys","count","changeSlide","message","checkImagesLoad","onReInit","debouncedResize","cancel","resizeWindow","findDOMNode","callback","updatedState","initializedState","slideIndex","left","getTrackLeft","trackStyle","getTrackCSS","_trackWidth","_trackLeft","childrenWidths","preClones","getPreClones","slideCount","postClones","getPostClones","_i2","_i3","_trackStyle","childrenCount","trackWidth","slideWidth","trackLeft","images","imagesCount","loadedCount","image","onclick","prevClickHandler","parentNode","focus","onload","onerror","onLazyLoadError","_index","_this$props","asNavFor","beforeChange","afterChange","_slideHandler","slideHandler","useCSS","nextState","firstBatch","options","targetSlide","e","clickable","stopPropagation","preventDefault","dir","keyHandler","accessibility","rtl","ontouchmove","event","returnValue","verticalSwiping","disableBodyScroll","swipeStart","swipe","draggable","swipeMove","swipeEnd","triggerSlideHandler","enableBodyScroll","Number","isNaN","nextIndex","canGoNext","playType","autoplaying","play","autoplaySpeed","pauseType","dots","prevArrow","nextArrow","vertical","trackProps","extractObject","pauseOnHover","onMouseEnter","onTrackOver","onMouseLeave","onTrackLeave","onMouseOver","focusOnSelect","selectHandler","dotProps","pauseOnDotsHover","clickHandler","onDotsLeave","onDotsOver","Dots","arrowProps","arrows","PrevArrow","NextArrow","verticalHeightStyle","listHeight","centerPaddingStyle","padding","centerPadding","listStyle","touchMove","listProps","onClick","onMouseDown","onMouseMove","dragging","onMouseUp","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","onKeyDown","innerSliderProps","listRefHandler","Track","trackRefHandler","initialSlide","_default","currentDirection","currentLeft","direction","edgeDragged","initialized","listWidth","scrolling","slideHeight","swipeLeft","swiped","swiping","touchObject","startX","startY","curX","curY","getSlideClasses","slickActive","slickCenter","slickCloned","centerOffset","Math","floor","getKey","fallbackKey","renderSlides","slides","preCloneSlides","postCloneSlides","startIndex","lazyStartIndex","endIndex","lazyEndIndex","childOnClickOptions","childStyle","position","top","parseInt","opacity","transition","cssEase","WebkitTransition","getSlideStyle","slideClass","slideClasses","outline","infinite","preCloneNo","reverse","_React$PureComponent","mouseEvents","PureComponent","dotCount","ceil","join","split","leftBound","rightBound","dotOptions","bind","customPaging","appendDots","dotsClass","_createClass","prevClasses","prevHandler","prevArrowProps","customProps","type","_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","reduce","size","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","getPaddings","horizPad","right","vertPad","bottom","boxSizing","round","documentElement","isDocumentElement","vertScrollbar","horizScrollbar","abs","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","Element","observations","unobserve","clearActive","observation","WeakMap","ResizeObserver","method","camel2hyphen","obj2mq","mq","features","feature","test","isDimension","module","q","str","replace","match","toLowerCase","easing","edgeFriction","onEdge","swipeEvent","swipeToSlide","touchThreshold","useTransform","waitForAnimate","MediaQueryDispatch","MediaQuery","Util","each","isFunction","isArray","matchMedia","Error","queries","browserIsIncapable","matches","shouldDegrade","isUnconditional","addHandler","removeHandler","QueryHandler","handlers","mql","listener","currentTarget","assess","addListener","constuctor","qh","on","h","equals","destroy","removeListener","action","deferSetup","setup","initialised","off","unmatch","hasOwn","classNames","classes","arg","argType","inner","default","componentWillMount","getDerivedStateFromProps","componentWillReceiveProps","componentWillUpdate","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","polyfill","isReactComponent","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","componentName","displayName","name","newApiName","componentDidUpdate","maybeSnapshot","snapshot","__suppressDeprecationWarning","_exenv","EE","SafeHTMLElement","HTMLElement","element","tabbable","tabbableNode","hidesContents","zeroSize","offsetWidth","offsetHeight","innerHTML","getPropertyValue","scrollWidth","scrollHeight","focusable","isTabIndexNotNaN","nodeName","disabled","href","parentElement","body","visible","getAttribute","isTabIndexNaN","assertNodeList","setElement","useElement","_safeHTMLElement","el","globalElement","validateElement","hide","appElement","setAttribute","show","removeAttribute","documentNotReadyOrSSRTesting","resetForTesting","_warning","_warning2","nodeList","selector","portalOpenInstances","PortalOpenInstances","openInstance","openInstances","emit","deregister","subscribe","subscribers","eventType","subscriber","bodyOpenClassName","portalClassName","_react2","_reactDom2","_propTypes2","_ModalPortal2","ariaAppHider","newObj","_interopRequireWildcard","_safeHTMLElement2","_reactLifecyclesCompat","isReact16","createPortal","getCreatePortal","unstable_renderSubtreeIntoContainer","getParentElement","parentSelector","Modal","_Component","_ref","_temp","_len","args","_key","removePortal","unmountComponentAtNode","node","parent","removeChild","portalRef","portal","renderPortal","defaultStyles","appendChild","prevParent","nextParent","_","_props","isOpen","closesAt","closeTimeoutMS","beforeClose","closeWithTimeout","propTypes","bool","isRequired","shape","content","overlay","string","htmlOpenClassName","oneOfType","base","afterOpen","overlayClassName","instanceOf","onAfterOpen","func","onRequestClose","number","ariaHideApp","shouldFocusAfterRender","shouldCloseOnOverlayClick","shouldReturnFocusAfterClose","aria","data","role","contentLabel","shouldCloseOnEsc","overlayRef","contentRef","defaultProps","backgroundColor","border","background","overflow","WebkitOverflowScrolling","borderRadius","focusManager","_scopeTab2","classList","_portalOpenInstances2","CLASS_NAMES","ariaHiddenInstances","ModalPortal","setOverlayRef","setContentRef","afterClose","remove","getElementsByTagName","returnFocus","teardownScopedFocus","popWithoutFocus","onAfterClose","open","beforeOpen","closeTimer","setupScopedFocus","markForFocusLater","overlayEl","contentEl","close","closeWithoutTimeout","focusContent","contentHasFocus","handleKeyDown","keyCode","requestClose","handleOverlayOnClick","shouldClose","ownerHandlesClose","handleContentOnMouseUp","handleOverlayOnMouseDown","handleContentOnClick","handleContentOnMouseDown","shouldBeClosed","activeElement","contains","buildClassName","which","additional","attributesFromObject","prefix","items","acc","moveFromContentToOverlay","add","_props2","id","contentStyles","overlayStyles","testId","handleBlur","handleFocus","focusLaterElements","toFocus","pop","modalElement","_tabbable","_tabbable2","needToFocus","shiftKey","head","tail","checkSafari","exec","navigator","userAgent","warning","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","canUseViewport","screen","dumpClassLists","htmlClassList","docBodyClassList","classString","classListRef","poll","incrementReference","decrementReference","_portalOpenInstances","before","after","instances","cloneNode","firstChild","insertBefore","lastChild","urlPassOn","eventSuffix","_search_keyword_","_search_source_","_flash_tab_","_entry_source_","_tt_shop_user_id_","report_id__for_event","_new_customer_exclusive_","entrance_info","fxg_req_id","ad_page_id","activity_id","new_origin_type","origin_type","defaultValue","origin_id","new_source_type","new_source_id","source_type","source_id","group_id","__assign","t","s","n","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","done","then","__generator","f","g","label","sent","trys","ops","verb","v","op","JOKE_APPS","LIVE_APPS","AWEME_APPS","TOUTIAO_APPS","UA","TOUTIAO_UA","RegExp","setToSessionStorage","sessionStorage","setItem","getFromSessionStorage","getItem","queryString","uri","decodeURIComponent","getLocationParam","location","search","referrer","TTBRIDGE_STATUS","Bridge","BRIDGE_URL","adInfoFlag","appInfoFlag","bridgeLoaded","url","script","src","promise","loadScript","ToutiaoJSBridge","adInfo","callPromise","appInfo","setSession","setBridgeState","bridge","retry","time","task","retries","track_event","baseInfo","JSON","stringify","getUmengSession","uSession","umeng","parse","error","UMENG_STATUS","params_flag","umengData","infoObj","info","getWebUrlInfo","paramsFlag","EXT_STATUS","extFlag","getContext","bridgeInfo","tt_bridge","tt_env","log_extra","path","pathname","title","page_url","page_type","_page_type","site_id","regPathnameRs","bSession","getBridgeSession","cid","req_id","ad_id","device_id","user_id","uid","ut","app_version","appVersion","version_code","app_id","aid","os","MSStream","jsbConfig","automobile","jsbName","eventName","paramName","super","defaultApp","otherExtra","sendLog3ByJsb","env","params","jsbObj","appName","jsbConfigEnv","addExtra","logExtra","adData","sendEvent","extraWithUrlParams","globalParams","__ECOM_EVENT","urlParams","logData","log_data","entranceInfoString","productActivityType","product_activity_type","err","extraWithWindowsParams","area_type","area_id","version_id","b_type","bType","EVENT_ORIGIN_FEATURE","tag","log","xdSenLogByJsb","canUse","isInAweme","isInHotsoon","isInMobile","isInSuper","$","IndexedObject","toIndexedObject","arrayMethodIsStrict","nativeJoin","ES3_STRINGS","STRICT_METHOD","proto","forced","separator","slidesOnLeft","slidesOnRight","siblingDirection","getTotalSlides","getTrackAnimateCSS","checkSpecKeys","getSlideCount","checkNavigable","getNavigableIndexes","getSwipeDirection","getWidth","lazySlidesOnRight","lazySlidesOnLeft","getRequiredLazySlides","onDemandSlides","requiredSlides","xDist","yDist","r","swipeAngle","atan2","PI","canGo","newObject","centerPaddingAdj","finalSlide","animationLeft","finalLeft","animationSlide","indexOffset","previousInt","slideOffset","tagName","touches","pageX","clientX","pageY","clientY","curLeft","swipeLength","sqrt","pow","verticalSwipeLength","positionOffset","swipeDirection","touchSwipeLength","onSwipe","minSwipe","max","counter","indexes","min","navigables","prevNavigable","swipedSlide","from","every","offsetTop","offsetLeft","currentIndex","dataset","keysArray","trackHeight","trackChildren","WebkitTransform","transform","msTransform","marginTop","marginLeft","targetLeft","slidesToOffset","targetSlideIndex","trackElem","childNodes","_ref2","locals","_Modal","_Modal2","toString","collection","fn"],"mappings":"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","file":"staticV3/js/c69b08bc.js","sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _innerSlider = require(\"./inner-slider\");\n\nvar _json2mq = _interopRequireDefault(require(\"json2mq\"));\n\nvar _defaultProps = _interopRequireDefault(require(\"./default-props\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar enquire = (0, _innerSliderUtils.canUseDOM)() && require(\"enquire.js\");\n\nvar Slider =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Slider, _React$Component);\n\n function Slider(props) {\n var _this;\n\n _classCallCheck(this, Slider);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Slider).call(this, props));\n\n _defineProperty(_assertThisInitialized(_this), \"innerSliderRefHandler\", function (ref) {\n return _this.innerSlider = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPrev\", function () {\n return _this.innerSlider.slickPrev();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n return _this.innerSlider.slickNext();\n });\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\n _defineProperty(_assertThisInitialized(_this), \"slickPause\", function () {\n return _this.innerSlider.pause(\"paused\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPlay\", function () {\n return _this.innerSlider.autoPlay(\"play\");\n });\n\n _this.state = {\n breakpoint: null\n };\n _this._responsiveMediaHandlers = [];\n return _this;\n }\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\n this._responsiveMediaHandlers.push({\n query: query,\n handler: handler\n });\n } // handles responsive breakpoints\n\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\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\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\n var settings;\n var newProps;\n\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\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\n settings.slidesToScroll = 1;\n } // force showing one slide and scrolling by one if the fade mode is on\n\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\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\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\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\n children = children.filter(function (child) {\n if (typeof child === \"string\") {\n return !!child.trim();\n }\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\n var newChildren = [];\n var currentWidth = null;\n\n for (var i = 0; i < children.length; i += settings.rows * settings.slidesPerRow) {\n var newSlide = [];\n\n for (var j = i; j < i + settings.rows * settings.slidesPerRow; j += settings.slidesPerRow) {\n var row = [];\n\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\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\n newSlide.push(_react[\"default\"].createElement(\"div\", {\n key: 10 * i + j\n }, row));\n }\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\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\n return _react[\"default\"].createElement(_innerSlider.InnerSlider, _extends({\n style: this.props.style,\n ref: this.innerSliderRefHandler\n }, settings), newChildren);\n }\n }]);\n\n return Slider;\n}(_react[\"default\"].Component);\n\nexports[\"default\"] = Slider;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InnerSlider = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _initialState = _interopRequireDefault(require(\"./initial-state\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash.debounce\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nvar _track = require(\"./track\");\n\nvar _dots = require(\"./dots\");\n\nvar _arrows = require(\"./arrows\");\n\nvar _resizeObserverPolyfill = _interopRequireDefault(require(\"resize-observer-polyfill\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar InnerSlider =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(InnerSlider, _React$Component);\n\n function InnerSlider(props) {\n var _this;\n\n _classCallCheck(this, InnerSlider);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InnerSlider).call(this, props));\n\n _defineProperty(_assertThisInitialized(_this), \"listRefHandler\", function (ref) {\n return _this.list = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"trackRefHandler\", function (ref) {\n return _this.track = ref;\n });\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\n _this.list.style.height = (0, _innerSliderUtils.getHeight)(elem) + \"px\";\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"UNSAFE_componentWillMount\", function () {\n _this.ssrInit();\n\n _this.props.onInit && _this.props.onInit();\n\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)(_objectSpread({}, _this.props, {}, _this.state));\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\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\n _this.updateState(spec, true, function () {\n _this.adaptHeight();\n\n _this.props.autoplay && _this.autoPlay(\"update\");\n });\n\n if (_this.props.lazyLoad === \"progressive\") {\n _this.lazyLoadTimer = setInterval(_this.progressiveLazyLoad, 1000);\n }\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\n _this.callbackTimers.push(setTimeout(function () {\n return _this.onWindowResized();\n }, _this.props.speed));\n } else {\n _this.onWindowResized();\n }\n });\n\n _this.ro.observe(_this.list);\n\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\n if (window.addEventListener) {\n window.addEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.attachEvent(\"onresize\", _this.onWindowResized);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentWillUnmount\", function () {\n if (_this.animationEndCallback) {\n clearTimeout(_this.animationEndCallback);\n }\n\n if (_this.lazyLoadTimer) {\n clearInterval(_this.lazyLoadTimer);\n }\n\n if (_this.callbackTimers.length) {\n _this.callbackTimers.forEach(function (timer) {\n return clearTimeout(timer);\n });\n\n _this.callbackTimers = [];\n }\n\n if (window.addEventListener) {\n window.removeEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.detachEvent(\"onresize\", _this.onWindowResized);\n }\n\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\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\n var setTrackStyle = false;\n\n for (var _i = 0, _Object$keys = Object.keys(_this.props); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n\n if (!nextProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n\n if (_typeof(nextProps[key]) === \"object\" || typeof nextProps[key] === \"function\") {\n continue;\n }\n\n if (nextProps[key] !== _this.props[key]) {\n setTrackStyle = true;\n break;\n }\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\n if (nextProps.autoplay) {\n _this.autoPlay(\"update\");\n } else {\n _this.pause(\"paused\");\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function () {\n _this.checkImagesLoad();\n\n _this.props.onReInit && _this.props.onReInit();\n\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)(_objectSpread({}, _this.props, {}, _this.state));\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\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\n _this.adaptHeight();\n });\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\n _this.debouncedResize();\n });\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\n var spec = _objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props, {}, _this.state);\n\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\n _this.setState({\n animating: false\n });\n\n clearTimeout(_this.animationEndCallback);\n delete _this.animationEndCallback;\n });\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\n if (setTrackStyle || _react[\"default\"].Children.count(_this.props.children) !== _react[\"default\"].Children.count(spec.children)) {\n updatedState[\"trackStyle\"] = trackStyle;\n }\n\n _this.setState(updatedState, callback);\n });\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\n _this.props.children.forEach(function (child) {\n childrenWidths.push(child.props.style.width);\n _trackWidth += child.props.style.width;\n });\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\n for (var _i2 = 0; _i2 < postClones; _i2++) {\n _trackWidth += childrenWidths[_i2];\n }\n\n for (var _i3 = 0; _i3 < _this.state.currentSlide; _i3++) {\n _trackLeft += childrenWidths[_i3];\n }\n\n var _trackStyle = {\n width: _trackWidth + \"px\",\n left: -_trackLeft + \"px\"\n };\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\n _this.setState({\n trackStyle: _trackStyle\n });\n\n return;\n }\n\n var childrenCount = _react[\"default\"].Children.count(_this.props.children);\n\n var spec = _objectSpread({}, _this.props, {}, _this.state, {\n slideCount: childrenCount\n });\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\n if (_this.props.centerMode) {\n trackLeft += (100 - slideWidth * trackWidth / 100) / 2;\n }\n\n var trackStyle = {\n width: trackWidth + \"%\",\n left: trackLeft + \"%\"\n };\n\n _this.setState({\n slideWidth: slideWidth + \"%\",\n trackStyle: trackStyle\n });\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\n if (!image.onclick) {\n image.onclick = function () {\n return image.parentNode.focus();\n };\n } else {\n var prevClickHandler = image.onclick;\n\n image.onclick = function () {\n prevClickHandler();\n image.parentNode.focus();\n };\n }\n\n if (!image.onload) {\n if (_this.props.lazyLoad) {\n image.onload = function () {\n _this.adaptHeight();\n\n _this.callbackTimers.push(setTimeout(_this.onWindowResized, _this.props.speed));\n };\n } else {\n image.onload = handler;\n\n image.onerror = function () {\n handler();\n _this.props.onLazyLoadError && _this.props.onLazyLoadError();\n };\n }\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"progressiveLazyLoad\", function () {\n var slidesToLoad = [];\n\n var spec = _objectSpread({}, _this.props, {}, _this.state);\n\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\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\n if (slidesToLoad.length > 0) {\n _this.setState(function (state) {\n return {\n lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad)\n };\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\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\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\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\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\n _this.setState(firstBatch, function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.setState({\n animating: animating\n });\n }, 10));\n\n afterChange && afterChange(state.currentSlide);\n delete _this.animationEndCallback;\n });\n }, speed);\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"changeSlide\", function (options) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var spec = _objectSpread({}, _this.props, {}, _this.state);\n\n var targetSlide = (0, _innerSliderUtils.changeSlide)(spec, options);\n if (targetSlide !== 0 && !targetSlide) return;\n\n if (dontAnimate === true) {\n _this.slideHandler(targetSlide, dontAnimate);\n } else {\n _this.slideHandler(targetSlide);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"clickHandler\", function (e) {\n if (_this.clickable === false) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n _this.clickable = true;\n });\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\n _defineProperty(_assertThisInitialized(_this), \"selectHandler\", function (options) {\n _this.changeSlide(options);\n });\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\n window.ontouchmove = preventDefault;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"enableBodyScroll\", function () {\n window.ontouchmove = null;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeStart\", function (e) {\n if (_this.props.verticalSwiping) {\n _this.disableBodyScroll();\n }\n\n var state = (0, _innerSliderUtils.swipeStart)(e, _this.props.swipe, _this.props.draggable);\n state !== \"\" && _this.setState(state);\n });\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\n if (state[\"swiping\"]) {\n _this.clickable = false;\n }\n\n _this.setState(state);\n });\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\n _this.setState(state);\n\n if (triggerSlideHandler === undefined) return;\n\n _this.slideHandler(triggerSlideHandler);\n\n if (_this.props.verticalSwiping) {\n _this.enableBodyScroll();\n }\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\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"next\"\n });\n }, 0));\n });\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\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\n _defineProperty(_assertThisInitialized(_this), \"play\", function () {\n var nextIndex;\n\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\n _this.slideHandler(nextIndex);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"autoPlay\", function (playType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n\n var autoplaying = _this.state.autoplaying;\n\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\n _this.autoplayTimer = setInterval(_this.play, _this.props.autoplaySpeed + 50);\n\n _this.setState({\n autoplaying: \"playing\"\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"pause\", function (pauseType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n _this.autoplayTimer = null;\n }\n\n var autoplaying = _this.state.autoplaying;\n\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\n _defineProperty(_assertThisInitialized(_this), \"onDotsOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDotsLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTrackOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTrackLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSlideFocus\", function () {\n return _this.props.autoplay && _this.pause(\"focused\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSlideBlur\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"focused\" && _this.autoPlay(\"blur\");\n });\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\n var spec = _objectSpread({}, _this.props, {}, _this.state);\n\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\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\n var prevArrow, nextArrow;\n var arrowProps = (0, _innerSliderUtils.extractObject)(spec, [\"infinite\", \"centerMode\", \"currentSlide\", \"slideCount\", \"slidesToShow\", \"prevArrow\", \"nextArrow\"]);\n arrowProps.clickHandler = _this.changeSlide;\n\n if (_this.props.arrows) {\n prevArrow = _react[\"default\"].createElement(_arrows.PrevArrow, arrowProps);\n nextArrow = _react[\"default\"].createElement(_arrows.NextArrow, arrowProps);\n }\n\n var verticalHeightStyle = null;\n\n if (_this.props.vertical) {\n verticalHeightStyle = {\n height: _this.state.listHeight\n };\n }\n\n var centerPaddingStyle = null;\n\n if (_this.props.vertical === false) {\n if (_this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: \"0px \" + _this.props.centerPadding\n };\n }\n } else {\n if (_this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: _this.props.centerPadding + \" 0px\"\n };\n }\n }\n\n var listStyle = _objectSpread({}, verticalHeightStyle, {}, centerPaddingStyle);\n\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\n if (_this.props.unslick) {\n listProps = {\n className: \"slick-list\"\n };\n innerSliderProps = {\n className: className\n };\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\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\n return InnerSlider;\n}(_react[\"default\"].Component);\n\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;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\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\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n\n slickCloned = index < 0 || index >= spec.slideCount;\n\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\n\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\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};\n\nvar getSlideStyle = function getSlideStyle(spec) {\n var style = {};\n\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth;\n }\n\n if (spec.fade) {\n style.position = \"relative\";\n\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight);\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth);\n }\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\n return style;\n};\n\nvar getKey = function getKey(child, fallbackKey) {\n return child.key || fallbackKey;\n};\n\nvar renderSlides = function renderSlides(spec) {\n var key;\n var slides = [];\n var preCloneSlides = [];\n var postCloneSlides = [];\n\n var childrenCount = _react[\"default\"].Children.count(spec.children);\n\n var startIndex = (0, _innerSliderUtils.lazyStartIndex)(spec);\n var endIndex = (0, _innerSliderUtils.lazyEndIndex)(spec);\n\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\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\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\n if (preCloneNo <= (0, _innerSliderUtils.getPreClones)(spec) && childrenCount !== spec.slidesToShow) {\n key = -preCloneNo;\n\n if (key >= startIndex) {\n child = elem;\n }\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\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n\n if (childrenCount !== spec.slidesToShow) {\n key = childrenCount + index;\n\n if (key < endIndex) {\n child = elem;\n }\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\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n }\n });\n\n if (spec.rtl) {\n return preCloneSlides.concat(slides, postCloneSlides).reverse();\n } else {\n return preCloneSlides.concat(slides, postCloneSlides);\n }\n};\n\nvar Track =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(Track, _React$PureComponent);\n\n function Track() {\n _classCallCheck(this, Track);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Track).apply(this, arguments));\n }\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\n return Track;\n}(_react[\"default\"].PureComponent);\n\nexports.Track = Track;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Dots = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar getDotCount = function getDotCount(spec) {\n var dots;\n\n if (spec.infinite) {\n dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n } else {\n dots = Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) + 1;\n }\n\n return dots;\n};\n\nvar Dots =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(Dots, _React$PureComponent);\n\n function Dots() {\n _classCallCheck(this, Dots);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Dots).apply(this, arguments));\n }\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\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\n var onClick = _this.clickHandler.bind(_this, dotOptions);\n\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\n return Dots;\n}(_react[\"default\"].PureComponent);\n\nexports.Dots = Dots;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NextArrow = exports.PrevArrow = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar PrevArrow =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(PrevArrow, _React$PureComponent);\n\n function PrevArrow() {\n _classCallCheck(this, PrevArrow);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(PrevArrow).apply(this, arguments));\n }\n\n _createClass(PrevArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\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\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\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\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\n return prevArrow;\n }\n }]);\n\n return PrevArrow;\n}(_react[\"default\"].PureComponent);\n\nexports.PrevArrow = PrevArrow;\n\nvar NextArrow =\n/*#__PURE__*/\nfunction (_React$PureComponent2) {\n _inherits(NextArrow, _React$PureComponent2);\n\n function NextArrow() {\n _classCallCheck(this, NextArrow);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(NextArrow).apply(this, arguments));\n }\n\n _createClass(NextArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\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\n if (!(0, _innerSliderUtils.canGoNext)(this.props)) {\n nextClasses[\"slick-disabled\"] = true;\n nextHandler = null;\n }\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\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\n return nextArrow;\n }\n }]);\n\n return NextArrow;\n}(_react[\"default\"].PureComponent);\n\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 */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","var camel2hyphen = require('string-convert/camel2hyphen');\n\nvar isDimension = function (feature) {\n var re = /[height|width]$/;\n return re.test(feature);\n};\n\nvar obj2mq = function (obj) {\n var mq = '';\n var features = Object.keys(obj);\n features.forEach(function (feature, index) {\n var value = obj[feature];\n feature = camel2hyphen(feature);\n // Add px to dimension features\n if (isDimension(feature) && typeof value === 'number') {\n value = value + 'px';\n }\n if (value === true) {\n mq += feature;\n } else if (value === false) {\n mq += 'not ' + feature;\n } else {\n mq += '(' + feature + ': ' + value + ')';\n }\n if (index < features.length-1) {\n mq += ' and '\n }\n });\n return mq;\n};\n\nvar json2mq = function (query) {\n var mq = '';\n if (typeof query === 'string') {\n return query;\n }\n // Handling array of media queries\n if (query instanceof Array) {\n query.forEach(function (q, index) {\n mq += obj2mq(q);\n if (index < query.length-1) {\n mq += ', '\n }\n });\n return mq;\n }\n // Handling single media query\n return obj2mq(query);\n};\n\nmodule.exports = json2mq;","var camel2hyphen = function (str) {\n return str\n .replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n })\n .toLowerCase();\n};\n\nmodule.exports = camel2hyphen;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\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();\n","var MediaQuery = require('./MediaQuery');\nvar Util = require('./Util');\nvar each = Util.each;\nvar isFunction = Util.isFunction;\nvar isArray = Util.isArray;\n\n/**\n * Allows for registration of query handlers.\n * Manages the query handler's state and is responsible for wiring up browser events\n *\n * @constructor\n */\nfunction MediaQueryDispatch () {\n if(!window.matchMedia) {\n throw new Error('matchMedia not present, legacy browsers require a polyfill');\n }\n\n this.queries = {};\n this.browserIsIncapable = !window.matchMedia('only all').matches;\n}\n\nMediaQueryDispatch.prototype = {\n\n constructor : MediaQueryDispatch,\n\n /**\n * Registers a handler for the given media query\n *\n * @param {string} q the media query\n * @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers\n * @param {function} options.match fired when query matched\n * @param {function} [options.unmatch] fired when a query is no longer matched\n * @param {function} [options.setup] fired when handler first triggered\n * @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched\n * @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers\n */\n register : function(q, options, shouldDegrade) {\n var queries = this.queries,\n isUnconditional = shouldDegrade && this.browserIsIncapable;\n\n if(!queries[q]) {\n queries[q] = new MediaQuery(q, isUnconditional);\n }\n\n //normalise to object in an array\n if(isFunction(options)) {\n options = { match : options };\n }\n if(!isArray(options)) {\n options = [options];\n }\n each(options, function(handler) {\n if (isFunction(handler)) {\n handler = { match : handler };\n }\n queries[q].addHandler(handler);\n });\n\n return this;\n },\n\n /**\n * unregisters a query and all it's handlers, or a specific handler for a query\n *\n * @param {string} q the media query to target\n * @param {object || function} [handler] specific handler to unregister\n */\n unregister : function(q, handler) {\n var query = this.queries[q];\n\n if(query) {\n if(handler) {\n query.removeHandler(handler);\n }\n else {\n query.clear();\n delete this.queries[q];\n }\n }\n\n return this;\n }\n};\n\nmodule.exports = MediaQueryDispatch;\n","var QueryHandler = require('./QueryHandler');\nvar each = require('./Util').each;\n\n/**\n * Represents a single media query, manages it's state and registered handlers for this query\n *\n * @constructor\n * @param {string} query the media query string\n * @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design\n */\nfunction MediaQuery(query, isUnconditional) {\n this.query = query;\n this.isUnconditional = isUnconditional;\n this.handlers = [];\n this.mql = window.matchMedia(query);\n\n var self = this;\n this.listener = function(mql) {\n // Chrome passes an MediaQueryListEvent object, while other browsers pass MediaQueryList directly\n self.mql = mql.currentTarget || mql;\n self.assess();\n };\n this.mql.addListener(this.listener);\n}\n\nMediaQuery.prototype = {\n\n constuctor : MediaQuery,\n\n /**\n * add a handler for this query, triggering if already active\n *\n * @param {object} handler\n * @param {function} handler.match callback for when query is activated\n * @param {function} [handler.unmatch] callback for when query is deactivated\n * @param {function} [handler.setup] callback for immediate execution when a query handler is registered\n * @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched?\n */\n addHandler : function(handler) {\n var qh = new QueryHandler(handler);\n this.handlers.push(qh);\n\n this.matches() && qh.on();\n },\n\n /**\n * removes the given handler from the collection, and calls it's destroy methods\n *\n * @param {object || function} handler the handler to remove\n */\n removeHandler : function(handler) {\n var handlers = this.handlers;\n each(handlers, function(h, i) {\n if(h.equals(handler)) {\n h.destroy();\n return !handlers.splice(i,1); //remove from array and exit each early\n }\n });\n },\n\n /**\n * Determine whether the media query should be considered a match\n *\n * @return {Boolean} true if media query can be considered a match, false otherwise\n */\n matches : function() {\n return this.mql.matches || this.isUnconditional;\n },\n\n /**\n * Clears all handlers and unbinds events\n */\n clear : function() {\n each(this.handlers, function(handler) {\n handler.destroy();\n });\n this.mql.removeListener(this.listener);\n this.handlers.length = 0; //clear array\n },\n\n /*\n * Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match\n */\n assess : function() {\n var action = this.matches() ? 'on' : 'off';\n\n each(this.handlers, function(handler) {\n handler[action]();\n });\n }\n};\n\nmodule.exports = MediaQuery;\n","/**\n * Delegate to handle a media query being matched and unmatched.\n *\n * @param {object} options\n * @param {function} options.match callback for when the media query is matched\n * @param {function} [options.unmatch] callback for when the media query is unmatched\n * @param {function} [options.setup] one-time callback triggered the first time a query is matched\n * @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?\n * @constructor\n */\nfunction QueryHandler(options) {\n this.options = options;\n !options.deferSetup && this.setup();\n}\n\nQueryHandler.prototype = {\n\n constructor : QueryHandler,\n\n /**\n * coordinates setup of the handler\n *\n * @function\n */\n setup : function() {\n if(this.options.setup) {\n this.options.setup();\n }\n this.initialised = true;\n },\n\n /**\n * coordinates setup and triggering of the handler\n *\n * @function\n */\n on : function() {\n !this.initialised && this.setup();\n this.options.match && this.options.match();\n },\n\n /**\n * coordinates the unmatch event for the handler\n *\n * @function\n */\n off : function() {\n this.options.unmatch && this.options.unmatch();\n },\n\n /**\n * called when a handler is to be destroyed.\n * delegates to the destroy or unmatch callbacks, depending on availability.\n *\n * @function\n */\n destroy : function() {\n this.options.destroy ? this.options.destroy() : this.off();\n },\n\n /**\n * determines equality by reference.\n * if object is supplied compare options, if function, compare match callback\n *\n * @function\n * @param {object || function} [target] the target for comparison\n */\n equals : function(target) {\n return this.options === target || this.options.match === target;\n }\n\n};\n\nmodule.exports = QueryHandler;\n","exports = module.exports = require(\"../../css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"/* Slider */\\n.slick-slider\\n{\\n position: relative;\\n\\n display: block;\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n\\n -webkit-touch-callout: none;\\n -khtml-user-select: none;\\n touch-action: pan-y;\\n -webkit-tap-highlight-color: transparent;\\n}\\n\\n.slick-list\\n{\\n position: relative;\\n\\n display: block;\\n overflow: hidden;\\n\\n margin: 0;\\n padding: 0;\\n}\\n.slick-list:focus\\n{\\n outline: none;\\n}\\n.slick-list.dragging\\n{\\n cursor: pointer;\\n cursor: hand;\\n}\\n\\n.slick-slider .slick-track,\\n.slick-slider .slick-list\\n{\\n -webkit-transform: translate3d(0, 0, 0);\\n -moz-transform: translate3d(0, 0, 0);\\n -o-transform: translate3d(0, 0, 0);\\n transform: translate3d(0, 0, 0);\\n}\\n\\n.slick-track\\n{\\n position: relative;\\n top: 0;\\n left: 0;\\n\\n display: block;\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.slick-track:before,\\n.slick-track:after\\n{\\n display: table;\\n\\n content: '';\\n}\\n.slick-track:after\\n{\\n clear: both;\\n}\\n.slick-loading .slick-track\\n{\\n visibility: hidden;\\n}\\n\\n.slick-slide\\n{\\n display: none;\\n float: left;\\n\\n height: 100%;\\n min-height: 0.02667rem;\\n}\\n[dir='rtl'] .slick-slide\\n{\\n float: right;\\n}\\n.slick-slide img\\n{\\n display: block;\\n}\\n.slick-slide.slick-loading img\\n{\\n display: none;\\n}\\n.slick-slide.dragging img\\n{\\n pointer-events: none;\\n}\\n.slick-initialized .slick-slide\\n{\\n display: block;\\n}\\n.slick-loading .slick-slide\\n{\\n visibility: hidden;\\n}\\n.slick-vertical .slick-slide\\n{\\n display: block;\\n\\n height: auto;\\n\\n border: 1px solid transparent;\\n}\\n.slick-arrow.slick-hidden {\\n display: none;\\n}\\n\", \"\"]);\n\n","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = undefined;\n\nvar _exenv = require(\"exenv\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EE = _exenv2.default;\n\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\n\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\n\nexports.default = SafeHTMLElement;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar tabbableNode = /input|select|textarea|button|object/;\n\nfunction hidesContents(element) {\n var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n // If the node is empty, this is good enough\n if (zeroSize && !element.innerHTML) return true;\n\n // Otherwise we need to check some styles\n var style = window.getComputedStyle(element);\n return zeroSize ? style.getPropertyValue(\"overflow\") !== \"visible\" ||\n // if 'overflow: visible' set, check if there is actually any overflow\n element.scrollWidth <= 0 && element.scrollHeight <= 0 : style.getPropertyValue(\"display\") == \"none\";\n}\n\nfunction visible(element) {\n var parentElement = element;\n while (parentElement) {\n if (parentElement === document.body) break;\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n var tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n var isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n return [].slice.call(element.querySelectorAll(\"*\"), 0).filter(tabbable);\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\nexports.resetForTesting = resetForTesting;\n\nvar _warning = require(\"warning\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = require(\"./safeHTMLElement\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar globalElement = null;\n\nfunction assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n }\n}\n\nfunction setElement(element) {\n var useElement = element;\n if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n var el = document.querySelectorAll(useElement);\n assertNodeList(el, useElement);\n useElement = \"length\" in el ? el[0] : el;\n }\n globalElement = useElement || globalElement;\n return globalElement;\n}\n\nfunction validateElement(appElement) {\n if (!appElement && !globalElement) {\n (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n\n return false;\n }\n\n return true;\n}\n\nfunction hide(appElement) {\n if (validateElement(appElement)) {\n (appElement || globalElement).setAttribute(\"aria-hidden\", \"true\");\n }\n}\n\nfunction show(appElement) {\n if (validateElement(appElement)) {\n (appElement || globalElement).removeAttribute(\"aria-hidden\");\n }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n globalElement = null;\n}\n\nfunction resetForTesting() {\n globalElement = null;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// Tracks portals that are open and emits events to subscribers\n\nvar PortalOpenInstances = function PortalOpenInstances() {\n var _this = this;\n\n _classCallCheck(this, PortalOpenInstances);\n\n this.register = function (openInstance) {\n if (_this.openInstances.indexOf(openInstance) !== -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Cannot register modal instance that's already open\");\n }\n return;\n }\n _this.openInstances.push(openInstance);\n _this.emit(\"register\");\n };\n\n this.deregister = function (openInstance) {\n var index = _this.openInstances.indexOf(openInstance);\n if (index === -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Unable to deregister \" + openInstance + \" as \" + \"it was never registered\");\n }\n return;\n }\n _this.openInstances.splice(index, 1);\n _this.emit(\"deregister\");\n };\n\n this.subscribe = function (callback) {\n _this.subscribers.push(callback);\n };\n\n this.emit = function (eventType) {\n _this.subscribers.forEach(function (subscriber) {\n return subscriber(eventType,\n // shallow copy to avoid accidental mutation\n _this.openInstances.slice());\n });\n };\n\n this.openInstances = [];\n this.subscribers = [];\n};\n\nvar portalOpenInstances = new PortalOpenInstances();\n\nexports.default = portalOpenInstances;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bodyOpenClassName = exports.portalClassName = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require(\"react-dom\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ModalPortal = require(\"./ModalPortal\");\n\nvar _ModalPortal2 = _interopRequireDefault(_ModalPortal);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar portalClassName = exports.portalClassName = \"ReactModalPortal\";\nvar bodyOpenClassName = exports.bodyOpenClassName = \"ReactModal__Body--open\";\n\nvar isReact16 = _reactDom2.default.createPortal !== undefined;\n\nvar getCreatePortal = function getCreatePortal() {\n return isReact16 ? _reactDom2.default.createPortal : _reactDom2.default.unstable_renderSubtreeIntoContainer;\n};\n\nfunction getParentElement(parentSelector) {\n return parentSelector();\n}\n\nvar Modal = function (_Component) {\n _inherits(Modal, _Component);\n\n function Modal() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Modal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Modal.__proto__ || Object.getPrototypeOf(Modal)).call.apply(_ref, [this].concat(args))), _this), _this.removePortal = function () {\n !isReact16 && _reactDom2.default.unmountComponentAtNode(_this.node);\n var parent = getParentElement(_this.props.parentSelector);\n if (parent) {\n parent.removeChild(_this.node);\n } else {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"parentSelector\" prop did not returned any DOM ' + \"element. Make sure that the parent element is unmounted to \" + \"avoid any memory leaks.\");\n }\n }, _this.portalRef = function (ref) {\n _this.portal = ref;\n }, _this.renderPortal = function (props) {\n var createPortal = getCreatePortal();\n var portal = createPortal(_this, _react2.default.createElement(_ModalPortal2.default, _extends({ defaultStyles: Modal.defaultStyles }, props)), _this.node);\n _this.portalRef(portal);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Modal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!_safeHTMLElement.canUseDOM) return;\n\n if (!isReact16) {\n this.node = document.createElement(\"div\");\n }\n this.node.className = this.props.portalClassName;\n\n var parent = getParentElement(this.props.parentSelector);\n parent.appendChild(this.node);\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps) {\n var prevParent = getParentElement(prevProps.parentSelector);\n var nextParent = getParentElement(this.props.parentSelector);\n return { prevParent: prevParent, nextParent: nextParent };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, _, snapshot) {\n if (!_safeHTMLElement.canUseDOM) return;\n var _props = this.props,\n isOpen = _props.isOpen,\n portalClassName = _props.portalClassName;\n\n\n if (prevProps.portalClassName !== portalClassName) {\n this.node.className = portalClassName;\n }\n\n var prevParent = snapshot.prevParent,\n nextParent = snapshot.nextParent;\n\n if (nextParent !== prevParent) {\n prevParent.removeChild(this.node);\n nextParent.appendChild(this.node);\n }\n\n // Stop unnecessary renders if modal is remaining closed\n if (!prevProps.isOpen && !isOpen) return;\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!_safeHTMLElement.canUseDOM || !this.node || !this.portal) return;\n\n var state = this.portal.state;\n var now = Date.now();\n var closesAt = state.isOpen && this.props.closeTimeoutMS && (state.closesAt || now + this.props.closeTimeoutMS);\n\n if (closesAt) {\n if (!state.beforeClose) {\n this.portal.closeWithTimeout();\n }\n\n setTimeout(this.removePortal, closesAt - now);\n } else {\n this.removePortal();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!_safeHTMLElement.canUseDOM || !isReact16) {\n return null;\n }\n\n if (!this.node && isReact16) {\n this.node = document.createElement(\"div\");\n }\n\n var createPortal = getCreatePortal();\n return createPortal(_react2.default.createElement(_ModalPortal2.default, _extends({\n ref: this.portalRef,\n defaultStyles: Modal.defaultStyles\n }, this.props)), this.node);\n }\n }], [{\n key: \"setAppElement\",\n value: function setAppElement(element) {\n ariaAppHider.setElement(element);\n }\n\n /* eslint-disable react/no-unused-prop-types */\n\n /* eslint-enable react/no-unused-prop-types */\n\n }]);\n\n return Modal;\n}(_react.Component);\n\nModal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n portalClassName: _propTypes2.default.string,\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default),\n onAfterOpen: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n ariaHideApp: _propTypes2.default.bool,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n parentSelector: _propTypes2.default.func,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func\n};\nModal.defaultProps = {\n isOpen: false,\n portalClassName: portalClassName,\n bodyOpenClassName: bodyOpenClassName,\n role: \"dialog\",\n ariaHideApp: true,\n closeTimeoutMS: 0,\n shouldFocusAfterRender: true,\n shouldCloseOnEsc: true,\n shouldCloseOnOverlayClick: true,\n shouldReturnFocusAfterClose: true,\n parentSelector: function parentSelector() {\n return document.body;\n }\n};\nModal.defaultStyles = {\n overlay: {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"rgba(255, 255, 255, 0.75)\"\n },\n content: {\n position: \"absolute\",\n top: \"40px\",\n left: \"40px\",\n right: \"40px\",\n bottom: \"40px\",\n border: \"1px solid #ccc\",\n background: \"#fff\",\n overflow: \"auto\",\n WebkitOverflowScrolling: \"touch\",\n borderRadius: \"4px\",\n outline: \"none\",\n padding: \"20px\"\n }\n};\n\n\n(0, _reactLifecyclesCompat.polyfill)(Modal);\n\nexports.default = Modal;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _focusManager = require(\"../helpers/focusManager\");\n\nvar focusManager = _interopRequireWildcard(_focusManager);\n\nvar _scopeTab = require(\"../helpers/scopeTab\");\n\nvar _scopeTab2 = _interopRequireDefault(_scopeTab);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _classList = require(\"../helpers/classList\");\n\nvar classList = _interopRequireWildcard(_classList);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _portalOpenInstances = require(\"../helpers/portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nrequire(\"../helpers/bodyTrap\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// so that our CSS is statically analyzable\nvar CLASS_NAMES = {\n overlay: \"ReactModal__Overlay\",\n content: \"ReactModal__Content\"\n};\n\nvar TAB_KEY = 9;\nvar ESC_KEY = 27;\n\nvar ariaHiddenInstances = 0;\n\nvar ModalPortal = function (_Component) {\n _inherits(ModalPortal, _Component);\n\n function ModalPortal(props) {\n _classCallCheck(this, ModalPortal);\n\n var _this = _possibleConstructorReturn(this, (ModalPortal.__proto__ || Object.getPrototypeOf(ModalPortal)).call(this, props));\n\n _this.setOverlayRef = function (overlay) {\n _this.overlay = overlay;\n _this.props.overlayRef && _this.props.overlayRef(overlay);\n };\n\n _this.setContentRef = function (content) {\n _this.content = content;\n _this.props.contentRef && _this.props.contentRef(content);\n };\n\n _this.afterClose = function () {\n var _this$props = _this.props,\n appElement = _this$props.appElement,\n ariaHideApp = _this$props.ariaHideApp,\n htmlOpenClassName = _this$props.htmlOpenClassName,\n bodyOpenClassName = _this$props.bodyOpenClassName;\n\n // Remove classes.\n\n bodyOpenClassName && classList.remove(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.remove(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n // Reset aria-hidden attribute if all modals have been removed\n if (ariaHideApp && ariaHiddenInstances > 0) {\n ariaHiddenInstances -= 1;\n\n if (ariaHiddenInstances === 0) {\n ariaAppHider.show(appElement);\n }\n }\n\n if (_this.props.shouldFocusAfterRender) {\n if (_this.props.shouldReturnFocusAfterClose) {\n focusManager.returnFocus();\n focusManager.teardownScopedFocus();\n } else {\n focusManager.popWithoutFocus();\n }\n }\n\n if (_this.props.onAfterClose) {\n _this.props.onAfterClose();\n }\n\n _portalOpenInstances2.default.deregister(_this);\n };\n\n _this.open = function () {\n _this.beforeOpen();\n if (_this.state.afterOpen && _this.state.beforeClose) {\n clearTimeout(_this.closeTimer);\n _this.setState({ beforeClose: false });\n } else {\n if (_this.props.shouldFocusAfterRender) {\n focusManager.setupScopedFocus(_this.node);\n focusManager.markForFocusLater();\n }\n\n _this.setState({ isOpen: true }, function () {\n _this.setState({ afterOpen: true });\n\n if (_this.props.isOpen && _this.props.onAfterOpen) {\n _this.props.onAfterOpen({\n overlayEl: _this.overlay,\n contentEl: _this.content\n });\n }\n });\n }\n };\n\n _this.close = function () {\n if (_this.props.closeTimeoutMS > 0) {\n _this.closeWithTimeout();\n } else {\n _this.closeWithoutTimeout();\n }\n };\n\n _this.focusContent = function () {\n return _this.content && !_this.contentHasFocus() && _this.content.focus();\n };\n\n _this.closeWithTimeout = function () {\n var closesAt = Date.now() + _this.props.closeTimeoutMS;\n _this.setState({ beforeClose: true, closesAt: closesAt }, function () {\n _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now());\n });\n };\n\n _this.closeWithoutTimeout = function () {\n _this.setState({\n beforeClose: false,\n isOpen: false,\n afterOpen: false,\n closesAt: null\n }, _this.afterClose);\n };\n\n _this.handleKeyDown = function (event) {\n if (event.keyCode === TAB_KEY) {\n (0, _scopeTab2.default)(_this.content, event);\n }\n\n if (_this.props.shouldCloseOnEsc && event.keyCode === ESC_KEY) {\n event.stopPropagation();\n _this.requestClose(event);\n }\n };\n\n _this.handleOverlayOnClick = function (event) {\n if (_this.shouldClose === null) {\n _this.shouldClose = true;\n }\n\n if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) {\n if (_this.ownerHandlesClose()) {\n _this.requestClose(event);\n } else {\n _this.focusContent();\n }\n }\n _this.shouldClose = null;\n };\n\n _this.handleContentOnMouseUp = function () {\n _this.shouldClose = false;\n };\n\n _this.handleOverlayOnMouseDown = function (event) {\n if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) {\n event.preventDefault();\n }\n };\n\n _this.handleContentOnClick = function () {\n _this.shouldClose = false;\n };\n\n _this.handleContentOnMouseDown = function () {\n _this.shouldClose = false;\n };\n\n _this.requestClose = function (event) {\n return _this.ownerHandlesClose() && _this.props.onRequestClose(event);\n };\n\n _this.ownerHandlesClose = function () {\n return _this.props.onRequestClose;\n };\n\n _this.shouldBeClosed = function () {\n return !_this.state.isOpen && !_this.state.beforeClose;\n };\n\n _this.contentHasFocus = function () {\n return document.activeElement === _this.content || _this.content.contains(document.activeElement);\n };\n\n _this.buildClassName = function (which, additional) {\n var classNames = (typeof additional === \"undefined\" ? \"undefined\" : _typeof(additional)) === \"object\" ? additional : {\n base: CLASS_NAMES[which],\n afterOpen: CLASS_NAMES[which] + \"--after-open\",\n beforeClose: CLASS_NAMES[which] + \"--before-close\"\n };\n var className = classNames.base;\n if (_this.state.afterOpen) {\n className = className + \" \" + classNames.afterOpen;\n }\n if (_this.state.beforeClose) {\n className = className + \" \" + classNames.beforeClose;\n }\n return typeof additional === \"string\" && additional ? className + \" \" + additional : className;\n };\n\n _this.attributesFromObject = function (prefix, items) {\n return Object.keys(items).reduce(function (acc, name) {\n acc[prefix + \"-\" + name] = items[name];\n return acc;\n }, {});\n };\n\n _this.state = {\n afterOpen: false,\n beforeClose: false\n };\n\n _this.shouldClose = null;\n _this.moveFromContentToOverlay = null;\n return _this;\n }\n\n _createClass(ModalPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.isOpen) {\n this.open();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== \"production\") {\n if (prevProps.bodyOpenClassName !== this.props.bodyOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"bodyOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n if (prevProps.htmlOpenClassName !== this.props.htmlOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"htmlOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n }\n\n if (this.props.isOpen && !prevProps.isOpen) {\n this.open();\n } else if (!this.props.isOpen && prevProps.isOpen) {\n this.close();\n }\n\n // Focus only needs to be set once when the modal is being opened\n if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) {\n this.focusContent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.state.isOpen) {\n this.afterClose();\n }\n clearTimeout(this.closeTimer);\n }\n }, {\n key: \"beforeOpen\",\n value: function beforeOpen() {\n var _props = this.props,\n appElement = _props.appElement,\n ariaHideApp = _props.ariaHideApp,\n htmlOpenClassName = _props.htmlOpenClassName,\n bodyOpenClassName = _props.bodyOpenClassName;\n\n // Add classes.\n\n bodyOpenClassName && classList.add(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.add(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n if (ariaHideApp) {\n ariaHiddenInstances += 1;\n ariaAppHider.hide(appElement);\n }\n\n _portalOpenInstances2.default.register(this);\n }\n\n // Don't steal focus from inner elements\n\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n id = _props2.id,\n className = _props2.className,\n overlayClassName = _props2.overlayClassName,\n defaultStyles = _props2.defaultStyles;\n\n var contentStyles = className ? {} : defaultStyles.content;\n var overlayStyles = overlayClassName ? {} : defaultStyles.overlay;\n\n return this.shouldBeClosed() ? null : _react2.default.createElement(\n \"div\",\n {\n ref: this.setOverlayRef,\n className: this.buildClassName(\"overlay\", overlayClassName),\n style: _extends({}, overlayStyles, this.props.style.overlay),\n onClick: this.handleOverlayOnClick,\n onMouseDown: this.handleOverlayOnMouseDown\n },\n _react2.default.createElement(\n \"div\",\n _extends({\n id: id,\n ref: this.setContentRef,\n style: _extends({}, contentStyles, this.props.style.content),\n className: this.buildClassName(\"content\", className),\n tabIndex: \"-1\",\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleContentOnMouseDown,\n onMouseUp: this.handleContentOnMouseUp,\n onClick: this.handleContentOnClick,\n role: this.props.role,\n \"aria-label\": this.props.contentLabel\n }, this.attributesFromObject(\"aria\", this.props.aria || {}), this.attributesFromObject(\"data\", this.props.data || {}), {\n \"data-testid\": this.props.testId\n }),\n this.props.children\n )\n );\n }\n }]);\n\n return ModalPortal;\n}(_react.Component);\n\nModalPortal.defaultProps = {\n style: {\n overlay: {},\n content: {}\n },\n defaultStyles: {}\n};\nModalPortal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n defaultStyles: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n ariaHideApp: _propTypes2.default.bool,\n appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default),\n onAfterOpen: _propTypes2.default.func,\n onAfterClose: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n children: _propTypes2.default.node,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n testId: _propTypes2.default.string\n};\nexports.default = ModalPortal;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.handleBlur = handleBlur;\nexports.handleFocus = handleFocus;\nexports.markForFocusLater = markForFocusLater;\nexports.returnFocus = returnFocus;\nexports.popWithoutFocus = popWithoutFocus;\nexports.setupScopedFocus = setupScopedFocus;\nexports.teardownScopedFocus = teardownScopedFocus;\n\nvar _tabbable = require(\"../helpers/tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar focusLaterElements = [];\nvar modalElement = null;\nvar needToFocus = false;\n\nfunction handleBlur() {\n needToFocus = true;\n}\n\nfunction handleFocus() {\n if (needToFocus) {\n needToFocus = false;\n if (!modalElement) {\n return;\n }\n // need to see how jQuery shims document.on('focusin') so we don't need the\n // setTimeout, firefox doesn't support focusin, if it did, we could focus\n // the element outside of a setTimeout. Side-effect of this implementation\n // is that the document.body gets focus, and then we focus our element right\n // after, seems fine.\n setTimeout(function () {\n if (modalElement.contains(document.activeElement)) {\n return;\n }\n var el = (0, _tabbable2.default)(modalElement)[0] || modalElement;\n el.focus();\n }, 0);\n }\n}\n\nfunction markForFocusLater() {\n focusLaterElements.push(document.activeElement);\n}\n\n/* eslint-disable no-console */\nfunction returnFocus() {\n var toFocus = null;\n try {\n if (focusLaterElements.length !== 0) {\n toFocus = focusLaterElements.pop();\n toFocus.focus();\n }\n return;\n } catch (e) {\n console.warn([\"You tried to return focus to\", toFocus, \"but it is not in the DOM anymore\"].join(\" \"));\n }\n}\n/* eslint-enable no-console */\n\nfunction popWithoutFocus() {\n focusLaterElements.length > 0 && focusLaterElements.pop();\n}\n\nfunction setupScopedFocus(element) {\n modalElement = element;\n\n if (window.addEventListener) {\n window.addEventListener(\"blur\", handleBlur, false);\n document.addEventListener(\"focus\", handleFocus, true);\n } else {\n window.attachEvent(\"onBlur\", handleBlur);\n document.attachEvent(\"onFocus\", handleFocus);\n }\n}\n\nfunction teardownScopedFocus() {\n modalElement = null;\n\n if (window.addEventListener) {\n window.removeEventListener(\"blur\", handleBlur);\n document.removeEventListener(\"focus\", handleFocus);\n } else {\n window.detachEvent(\"onBlur\", handleBlur);\n document.detachEvent(\"onFocus\", handleFocus);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scopeTab;\n\nvar _tabbable = require(\"./tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction scopeTab(node, event) {\n var tabbable = (0, _tabbable2.default)(node);\n\n if (!tabbable.length) {\n // Do nothing, since there are no elements that can receive focus.\n event.preventDefault();\n return;\n }\n\n var target = void 0;\n\n var shiftKey = event.shiftKey;\n var head = tabbable[0];\n var tail = tabbable[tabbable.length - 1];\n\n // proceed with default browser behavior on tab.\n // Focus on last element on shift + tab.\n if (node === document.activeElement) {\n if (!shiftKey) return;\n target = tail;\n }\n\n if (tail === document.activeElement && !shiftKey) {\n target = head;\n }\n\n if (head === document.activeElement && shiftKey) {\n target = tail;\n }\n\n if (target) {\n event.preventDefault();\n target.focus();\n return;\n }\n\n // Safari radio issue.\n //\n // Safari does not move the focus to the radio button,\n // so we need to force it to really walk through all elements.\n //\n // This is very error prone, since we are trying to guess\n // if it is a safari browser from the first occurence between\n // chrome or safari.\n //\n // The chrome user agent contains the first ocurrence\n // as the 'chrome/version' and later the 'safari/version'.\n var checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n var isSafariDesktop = checkSafari != null && checkSafari[1] != \"Chrome\" && /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null;\n\n // If we are not in safari desktop, let the browser control\n // the focus\n if (!isSafariDesktop) return;\n\n var x = tabbable.indexOf(document.activeElement);\n\n if (x > -1) {\n x += shiftKey ? -1 : 1;\n }\n\n target = tabbable[x];\n\n // If the tabbable element does not exist,\n // focus head/tail based on shiftKey\n if (typeof target === \"undefined\") {\n event.preventDefault();\n target = shiftKey ? tail : head;\n target.focus();\n return;\n }\n\n event.preventDefault();\n\n target.focus();\n}\nmodule.exports = exports[\"default\"];","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dumpClassLists = dumpClassLists;\nvar htmlClassList = {};\nvar docBodyClassList = {};\n\nfunction dumpClassLists() {\n if (process.env.NODE_ENV !== \"production\") {\n var classes = document.getElementsByTagName(\"html\")[0].className;\n var buffer = \"Show tracked classes:\\n\\n\";\n\n buffer += \" (\" + classes + \"):\\n\";\n for (var x in htmlClassList) {\n buffer += \" \" + x + \" \" + htmlClassList[x] + \"\\n\";\n }\n\n classes = document.body.className;\n\n // eslint-disable-next-line max-len\n buffer += \"\\n\\ndoc.body (\" + classes + \"):\\n\";\n for (var _x in docBodyClassList) {\n buffer += \" \" + _x + \" \" + docBodyClassList[_x] + \"\\n\";\n }\n\n buffer += \"\\n\";\n\n // eslint-disable-next-line no-console\n console.log(buffer);\n }\n}\n\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar incrementReference = function incrementReference(poll, className) {\n if (!poll[className]) {\n poll[className] = 0;\n }\n poll[className] += 1;\n return className;\n};\n\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar decrementReference = function decrementReference(poll, className) {\n if (poll[className]) {\n poll[className] -= 1;\n }\n return className;\n};\n\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be tracked.\n */\nvar trackClass = function trackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n incrementReference(poll, className);\n classListRef.add(className);\n });\n};\n\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be untracked.\n */\nvar untrackClass = function untrackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n decrementReference(poll, className);\n poll[className] === 0 && classListRef.remove(className);\n });\n};\n\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar add = exports.add = function add(element, classString) {\n return trackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar remove = exports.remove = function remove(element, classString) {\n return untrackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};","\"use strict\";\n\nvar _portalOpenInstances = require(\"./portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Body focus trap see Issue #742\n\nvar before = void 0,\n after = void 0,\n instances = [];\n\nfunction focusContent() {\n if (instances.length === 0) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Open instances > 0 expected\");\n }\n return;\n }\n instances[instances.length - 1].focusContent();\n}\n\nfunction bodyTrap(eventType, openInstances) {\n if (!before || !after) {\n before = document.createElement(\"div\");\n before.setAttribute(\"data-react-modal-body-trap\", \"\");\n before.style.position = \"absolute\";\n before.style.opacity = \"0\";\n before.setAttribute(\"tabindex\", \"0\");\n before.addEventListener(\"focus\", focusContent);\n after = before.cloneNode();\n after.addEventListener(\"focus\", focusContent);\n }\n\n instances = openInstances;\n\n if (instances.length > 0) {\n // Add focus trap\n if (document.body.firstChild !== before) {\n document.body.insertBefore(before, document.body.firstChild);\n }\n if (document.body.lastChild !== after) {\n document.body.appendChild(after);\n }\n } else {\n // Remove focus trap\n if (before.parentElement) {\n before.parentElement.removeChild(before);\n }\n if (after.parentElement) {\n after.parentElement.removeChild(after);\n }\n }\n}\n\n_portalOpenInstances2.default.subscribe(bodyTrap);","// 注意是否和现有的参数重名\n// 需要透传的url参数\nexport const urlPassOn = [\n '_search_keyword_', // 搜索的关键字\n '_search_source_', // 搜索的关键字\n '_flash_tab_', // 闪购的标签\n '_entry_source_', // 首页来源,是闪购 (flash) 还是频道 (channel)\n '_tt_shop_user_id_', // 头条号店铺用户ID,\n '_new_customer_exclusive_', // 来自于新人专享商品弹窗\n 'new_origin_type',\n 'fxg_req_id',\n 'activity_id'\n];\n\n// 上报事件的时候需要检查的url参数,如果有就带上, key为url参数名,值为事件的extra需要上报的对应key,事件的值为url上面参数的值\nexport const eventSuffix = {\n _search_keyword_: {\n name: '_search_keyword_'\n }, // 需要在 `lib.link.openLink` 的时候带上\n _search_source_: {\n name: '_search_source_'\n }, // 需要在 `lib.link.openLink` 的时候带上\n _flash_tab_: {\n name: '_flash_tab_'\n }, // 需要在 `lib.link.openLink` 的时候带上\n _entry_source_: {\n name: '_entry_source_'\n }, // 需要在 `lib.link.openLink` 的时候带上\n _tt_shop_user_id_: {\n name: '_tt_shop_user_id_'\n }, // 头条号店铺用户ID\n report_id__for_event: {\n name: 'shop_id'\n }, // 明文shop_id\n _new_customer_exclusive_: {\n name: '_new_customer_exclusive_'\n }, // 来自于新人专享商品弹窗\n entrance_info: {\n name: 'entrance_info'\n }, //\n fxg_req_id: {\n name: 'fxg_req_id'\n }, //\n ad_page_id: {\n name: 'page_id'\n }, //\n activity_id: {\n name: 'activity_id'\n },\n new_origin_type: {\n name: 'new_origin_type'\n },\n origin_type: {\n name: 'origin_type',\n defaultValue: '0'\n },\n origin_id: {\n name: 'origin_id',\n defaultValue: '0'\n },\n new_source_type: {\n name: 'new_source_type',\n defaultValue: '0'\n },\n new_source_id: {\n name: 'new_source_id',\n defaultValue: '0'\n },\n source_type: {\n name: 'source_type',\n defaultValue: '0'\n },\n source_id: {\n name: 'source_id',\n defaultValue: '0'\n },\n group_id: {\n name: 'group_id'\n }\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _slider = _interopRequireDefault(require(\"./slider\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _default = _slider[\"default\"];\nexports[\"default\"] = _default;","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\n\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\n\nvar JOKE_APPS = ['joke_essay', 'Joke'];\r\nvar LIVE_APPS = ['live_stream'];\r\nvar AWEME_APPS = ['aweme'];\r\nvar NewsArticle_APPS = ['NewsArticle'];\r\nvar WEBVIEW_SDKS = ['TTAD'];\r\nvar TOUTIAO_APPS = [\r\n 'News',\r\n 'NewsSocial',\r\n 'Explore',\r\n 'NewsArticle',\r\n 'NewsInHouse',\r\n 'Video',\r\n 'VideoInHouse',\r\n 'VideoArticle',\r\n 'aweme',\r\n 'open_news'\r\n].concat(JOKE_APPS, LIVE_APPS, [\r\n 'Video',\r\n 'VideoInHouse',\r\n 'VideoArticle'\r\n], AWEME_APPS, [\r\n 'open_news',\r\n 'TTAD'\r\n]);\r\nvar UA = navigator.userAgent;\r\nvar TOUTIAO_UA = new RegExp(\"(\" + TOUTIAO_APPS.join('|') + \")\", 'i');\r\nvar JOKE_UA = new RegExp(\"(\" + JOKE_APPS.join('|') + \")\", 'i');\r\nvar LIVE_UA = new RegExp(\"(\" + LIVE_APPS.join('|') + \")\", 'i');\r\nvar AWEME_UA = new RegExp(\"(\" + AWEME_APPS.join('|') + \")\", 'i');\r\nvar NEWSARTICLE_UA = new RegExp(\"(\" + NewsArticle_APPS.join('|') + \")\", 'i');\r\nvar WEBVIEW_UA = new RegExp(\"(\" + WEBVIEW_SDKS.join('|') + \")\", 'i');\r\nvar isToutiaoApp = function () { return document.referrer == 'http://nativeapp.toutiao.com' || TOUTIAO_UA.test(UA); };\r\n\r\n\r\n\r\n\r\n\r\nvar isExternal = function () {\r\n var isExt = !isToutiaoApp() && /(UCBrowser|baiduboxapp|baidubrowser|MQQBrowser|QQ|MicroMessenger|Weibo|Opera|Firefox|MSIE|360SE|MetaSr|TheWorld|Firefox|LBBROWSER|Chrome|Safari)(\\s|\\/|_)(\\S)/i.test(navigator.userAgent);\r\n return isExt;\r\n};\r\nvar getPlatform = function () {\r\n if (/windows phone/i.test(UA)) {\r\n return 'Windows Phone';\r\n }\r\n if (/android/i.test(UA)) {\r\n return 'android';\r\n }\r\n // iOS detection from: http://stackoverflow.com/a/9039885/177710\r\n if (/iPad|iPhone|iPod/.test(UA) && !window.MSStream) {\r\n return 'ios';\r\n }\r\n return 'pc';\r\n};\n\nfunction setToSessionStorage(key, value) {\r\n var storage = window.sessionStorage;\r\n storage.setItem(key, value);\r\n}\r\nfunction getFromSessionStorage(key) {\r\n var storage = window.sessionStorage;\r\n return storage.getItem(key);\r\n}\r\nfunction loadScript(url) {\r\n var script = document.createElement('script');\r\n script.src = url;\r\n var promise = new Promise(function (resolve, reject) {\r\n script.onload = resolve;\r\n script.onerror = reject;\r\n });\r\n document.head.appendChild(script);\r\n return promise;\r\n}\n\n// import '../types/shim'\r\nvar getPageInfo = function () {\r\n return {\r\n path: location.pathname,\r\n referrer: document.referrer,\r\n search: location.search,\r\n title: document.title || \"\",\r\n page_url: location.href,\r\n page_type: window._page_type ? window._page_type : 0,\r\n site_id: getSiteId() || \"\"\r\n };\r\n};\r\nfunction getSiteId() {\r\n var pathname = window.location.pathname, reg = /\\d+/g;\r\n var regPathnameRs = pathname.match(reg) || [];\r\n return regPathnameRs[0] || '';\r\n}\r\n\r\nfunction queryString(name, uri) {\r\n var match = RegExp('[?&]' + name + '=([^&]*)').exec(uri);\r\n return match && decodeURIComponent(match[1].replace(/\\+/g, ' '));\r\n}\r\nfunction getLocationParam(name) {\r\n var uri = location.search;\r\n if (!queryString(name, uri)) {\r\n uri = document.referrer;\r\n }\r\n return queryString(name, uri);\r\n}\r\nfunction getAdId() {\r\n return getLocationParam('_tt_ad_id') || getLocationParam('ad_id');\r\n}\n\nvar TTBRIDGE_STATUS = {\r\n FAIL: 0,\r\n UNUSE: 1,\r\n SUCCESS: 2\r\n};\r\nvar Bridge = /** @class */ (function () {\r\n function Bridge(BRIDGE_URL) {\r\n this.adInfoFlag = TTBRIDGE_STATUS.UNUSE;\r\n this.appInfoFlag = TTBRIDGE_STATUS.UNUSE;\r\n this.bridgeLoaded = loadScript(BRIDGE_URL).then(function () {\r\n return window.ToutiaoJSBridge;\r\n });\r\n this.adInfo = this.callPromise('adInfo');\r\n this.appInfo = this.callPromise('appInfo');\r\n this.setSession();\r\n }\r\n Bridge.prototype.setBridgeState = function (method, state) {\r\n switch (method) {\r\n case 'adInfo':\r\n this.adInfoFlag = state;\r\n break;\r\n case 'appInfo':\r\n this.appInfoFlag = state;\r\n break;\r\n }\r\n };\r\n Bridge.prototype.callPromise = function (method) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _this, bridge, promise;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _this = this;\r\n return [4 /*yield*/, this.bridgeLoaded];\r\n case 1:\r\n bridge = _a.sent();\r\n this.setBridgeState(method, TTBRIDGE_STATUS.FAIL);\r\n promise = this.retry(function () {\r\n return new Promise(function (resolve, reject) {\r\n var time = setTimeout(function () {\r\n if (_this.adInfoFlag == TTBRIDGE_STATUS.FAIL || _this.appInfoFlag == TTBRIDGE_STATUS.FAIL) {\r\n reject('timeout');\r\n }\r\n }, 400);\r\n bridge.call(method, {}, function (data) {\r\n _this.setBridgeState(method, TTBRIDGE_STATUS.SUCCESS);\r\n resolve(data);\r\n clearTimeout(time);\r\n });\r\n });\r\n }, 1);\r\n return [2 /*return*/, promise];\r\n }\r\n });\r\n });\r\n };\r\n Bridge.prototype.retry = function (task, retries) {\r\n if (retries === void 0) { retries = 1; }\r\n var _this = this;\r\n return new Promise(function (resolve) {\r\n task().then(function (data) {\r\n resolve(data);\r\n }, function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a, error_1;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n if (!(retries === 1)) return [3 /*break*/, 5];\r\n _b.label = 1;\r\n case 1:\r\n _b.trys.push([1, 3, , 4]);\r\n _a = resolve;\r\n return [4 /*yield*/, task()];\r\n case 2:\r\n _a.apply(void 0, [_b.sent()]);\r\n return [3 /*break*/, 4];\r\n case 3:\r\n error_1 = _b.sent();\r\n resolve({});\r\n return [3 /*break*/, 4];\r\n case 4: return [3 /*break*/, 6];\r\n case 5:\r\n resolve(_this.retry(task, retries - 1));\r\n _b.label = 6;\r\n case 6: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n });\r\n });\r\n };\r\n Bridge.prototype.track_event = function (data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var bridge;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.bridgeLoaded];\r\n case 1:\r\n bridge = _a.sent();\r\n bridge.call('track_event', data);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n Bridge.prototype.setSession = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var baseInfo, _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n _a = [{}];\r\n return [4 /*yield*/, this.adInfo];\r\n case 1:\r\n _a = _a.concat([_b.sent()]);\r\n return [4 /*yield*/, this.appInfo];\r\n case 2:\r\n baseInfo = __assign.apply(void 0, _a.concat([_b.sent()]));\r\n setToSessionStorage(\"bridge\", JSON.stringify(baseInfo));\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n return Bridge;\r\n}());\n\nvar getBridgeSession = function () {\r\n var bridge = getFromSessionStorage(\"bridge\") || '{}';\r\n var bSession;\r\n try {\r\n bSession = JSON.parse(bridge);\r\n }\r\n catch (error) {\r\n bSession = {};\r\n }\r\n return bSession;\r\n};\r\nvar getUmengSession = function () {\r\n var umeng = getFromSessionStorage(\"umeng\") || '{}';\r\n var uSession;\r\n try {\r\n uSession = JSON.parse(umeng);\r\n }\r\n catch (error) {\r\n uSession = {};\r\n }\r\n return uSession;\r\n};\n\nvar UMENG_STATUS = {\r\n FAIL: 0,\r\n UNUSE: 1,\r\n SUCCESS: 2\r\n};\r\nvar params_flag = UMENG_STATUS.UNUSE;\r\nfunction getWebUrlInfo() {\r\n params_flag = UMENG_STATUS.FAIL;\r\n var info = decodeURIComponent(getLocationParam(\"_toutiao_params\") || getLocationParam(\"_toutiao_recommend\") || '');\r\n var infoObj;\r\n try {\r\n infoObj = JSON.parse(info);\r\n }\r\n catch (e) {\r\n return {};\r\n }\r\n params_flag = UMENG_STATUS.SUCCESS;\r\n // 保存到session\r\n setToSessionStorage(\"umeng\", JSON.stringify(infoObj));\r\n return infoObj;\r\n}\r\nif (JSON.stringify(getUmengSession()) !== \"{}\") {\r\n params_flag = UMENG_STATUS.SUCCESS;\r\n}\r\nvar umengData = getWebUrlInfo();\r\nvar paramsFlag = params_flag;\n\nvar BRIDGE_URL = \"https://s3.pstatp.com/inapp/toutiao.js\";\r\nvar bridge = new Bridge(BRIDGE_URL);\r\nvar EXT_STATUS = {\r\n FAIL: 0,\r\n SUCCESS: 2\r\n};\r\nvar extFlag = isExternal() ? EXT_STATUS.FAIL : EXT_STATUS.SUCCESS;\r\n// start\r\n// 顺序不可改变\r\nfunction context() {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var bridgeInfo, _a, tt_bridge, tt_env, baseInfo, log_extra, context;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n _a = [{}];\r\n return [4 /*yield*/, bridge.adInfo];\r\n case 1:\r\n _a = _a.concat([_b.sent()]);\r\n return [4 /*yield*/, bridge.appInfo];\r\n case 2:\r\n bridgeInfo = __assign.apply(void 0, _a.concat([_b.sent()]));\r\n tt_bridge = 100 + (bridge.adInfoFlag * 10) + bridge.appInfoFlag;\r\n tt_env = 1000 + bridge.adInfoFlag * 100 + paramsFlag * 10 + extFlag;\r\n baseInfo = __assign({}, getPageInfo(), getUmengSession(), umengData, getBridgeSession(), bridgeInfo);\r\n log_extra = JSON.parse(baseInfo.log_extra || '{}');\r\n context = {\r\n value: baseInfo.cid || '',\r\n log_extra: baseInfo.log_extra || '',\r\n req_id: baseInfo.req_id || log_extra.req_id || '',\r\n cid: baseInfo.cid || '',\r\n ad_id: baseInfo.ad_id || getAdId() || '',\r\n device_id: baseInfo.device_id || '',\r\n user_id: baseInfo.user_id || '',\r\n uid: baseInfo.uid || '',\r\n ut: baseInfo.ut || '',\r\n app_version: baseInfo.appVersion || '',\r\n version_code: baseInfo.version_code || '',\r\n app_id: baseInfo.aid || '',\r\n os: getPlatform(),\r\n page_url: baseInfo.page_url,\r\n page_type: baseInfo.page_type,\r\n site_id: baseInfo.site_id,\r\n tt_bridge: tt_bridge,\r\n tt_env: tt_env,\r\n };\r\n return [2 /*return*/, context];\r\n }\r\n });\r\n });\r\n}\r\nvar getContext = context;\n\nexports.bridge = bridge;\nexports.getContext = getContext;\n","import * as event from '@byted/ecom-mobile-lib/lib/core/sendEvent';\nimport env from './env';\nimport urlParams from 'libs/query';\nimport bridge from './bridge';\nimport { JsbConfig } from '@byted/ecom-mobile-lib/lib/types/sendEvent';\nimport { IEnv } from '@byted/ecom-mobile-lib/lib/core/env.types';\nimport { eventSuffix } from 'config/event';\nimport { getContext } from '@tetris/ad.js';\n\nconst jsbConfig: JsbConfig = {\n automobile: {\n jsbName: 'tracker',\n eventName: 'event',\n paramName: 'data'\n },\n super: {\n jsbName: 'sendLog',\n eventName: 'event',\n paramName: 'params'\n },\n defaultApp: {\n jsbName: 'sendLogV3',\n eventName: 'eventName',\n paramName: 'params'\n }\n};\n\ninterface IEntranceInfo {\n creative_id?: string;\n log_extra?: string;\n product_activity_type?: string;\n}\nlet otherExtra = {};\n\nconst sendLog3ByJsb = (env: IEnv, event: string, params: Record) => {\n const jsbObj: { [key: string]: any } = {};\n const appName = env.appName;\n\n let jsbConfigEnv = jsbConfig[appName] ? jsbConfig[appName] : jsbConfig.defaultApp;\n if (jsbConfigEnv) {\n jsbObj[jsbConfigEnv.eventName] = event;\n jsbObj[jsbConfigEnv.paramName] = params;\n bridge.call(jsbConfigEnv.jsbName, jsbObj);\n }\n};\nexport const addExtra = (obj: any) => {\n otherExtra = Object.assign(otherExtra, obj);\n};\ndeclare global {\n interface Window {\n __ECOM_EVENT?: any;\n }\n}\nlet cid = '';\nlet logExtra = '';\n// 之前 log_extra 是从 URL 中取的,当 log extra 中传了大量数据时候会导致 414,所以改成统一走 Bridge\ngetContext().then((adData: any) => {\n logExtra = adData.log_extra;\n cid = adData.cid;\n});\n\nexport const sendEvent = (eventName: string, params?: Object) => {\n // 添加url参数\n const extraWithUrlParams = Object.assign(event.addUrlParam(eventSuffix), params);\n // 添加全局参数\n const globalParams = window.__ECOM_EVENT || {};\n // origin_type为1表示是鲁班投放,鲁班落地页也是1,小店侧需要使用feature来区分\n if (urlParams.origin_type && Number(urlParams.origin_type) === 1) {\n Object.assign(globalParams, {\n feature: 'luban_source'\n });\n }\n let logData = {};\n if (urlParams.log_data) {\n try {\n logData = JSON.parse(urlParams.log_data);\n } catch (error) {}\n }\n // 统计广告相关的\n const entranceInfoString = decodeURIComponent(urlParams.entrance_info || '');\n let entranceInfo: IEntranceInfo = {};\n\n let productActivityType = '';\n if (entranceInfoString) {\n try {\n entranceInfo = JSON.parse(entranceInfoString) || {};\n productActivityType = entranceInfo.product_activity_type || '';\n } catch (err) {\n // do nothing\n }\n }\n const extraWithWindowsParams = Object.assign(\n event.addWindowParam({\n area_type: {\n name: 'page_type',\n defaultValue: '0'\n },\n area_id: {\n name: 'page_id',\n defaultValue: '0'\n },\n version_id: {\n name: 'fxgVersionId'\n }\n }),\n { ...globalParams },\n otherExtra,\n extraWithUrlParams,\n logData,\n {\n b_type: env.bType,\n EVENT_ORIGIN_FEATURE: 'TEMAI',\n tag: params?.tag || event.getTag(),\n ...(cid && { cid }),\n ...(logExtra && { log_extra: logExtra }),\n ...(productActivityType && { product_activity_type: productActivityType })\n }\n );\n if (eventName !== 'page_stay') console.log(eventName, extraWithWindowsParams);\n\n event.sendLog3((env as unknown) as IEnv, eventName, extraWithWindowsParams, {\n xdSenLogByJsb: {\n canUse: () => env.isInAweme || env.isInHotsoon || env.isInMobile || env.isInSuper,\n func: sendLog3ByJsb\n }\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","\"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;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar getOnDemandLazySlides = function getOnDemandLazySlides(spec) {\n var onDemandSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n\n return onDemandSlides;\n}; // return list of slides that need to be present\n\n\nexports.getOnDemandLazySlides = getOnDemandLazySlides;\n\nvar getRequiredLazySlides = function getRequiredLazySlides(spec) {\n var requiredSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n\n return requiredSlides;\n}; // startIndex that needs to be present\n\n\nexports.getRequiredLazySlides = getRequiredLazySlides;\n\nvar lazyStartIndex = function lazyStartIndex(spec) {\n return spec.currentSlide - lazySlidesOnLeft(spec);\n};\n\nexports.lazyStartIndex = lazyStartIndex;\n\nvar lazyEndIndex = function lazyEndIndex(spec) {\n return spec.currentSlide + lazySlidesOnRight(spec);\n};\n\nexports.lazyEndIndex = lazyEndIndex;\n\nvar lazySlidesOnLeft = function lazySlidesOnLeft(spec) {\n return spec.centerMode ? Math.floor(spec.slidesToShow / 2) + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : 0;\n};\n\nexports.lazySlidesOnLeft = lazySlidesOnLeft;\n\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\n\nexports.lazySlidesOnRight = lazySlidesOnRight;\n\nvar getWidth = function getWidth(elem) {\n return elem && elem.offsetWidth || 0;\n};\n\nexports.getWidth = getWidth;\n\nvar getHeight = function getHeight(elem) {\n return elem && elem.offsetHeight || 0;\n};\n\nexports.getHeight = getHeight;\n\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\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n\n if (swipeAngle <= 45 && swipeAngle >= 0 || swipeAngle <= 360 && swipeAngle >= 315) {\n return \"left\";\n }\n\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return \"right\";\n }\n\n if (verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return \"up\";\n } else {\n return \"down\";\n }\n }\n\n return \"vertical\";\n}; // whether or not we can go next\n\n\nexports.getSwipeDirection = getSwipeDirection;\n\nvar canGoNext = function canGoNext(spec) {\n var canGo = true;\n\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\n return canGo;\n}; // given an object and a list of keys, return new object with given keys\n\n\nexports.canGoNext = canGoNext;\n\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\n\nexports.extractObject = extractObject;\n\nvar initializedState = function initializedState(spec) {\n // spec also contains listRef, trackRef\n var slideCount = _react[\"default\"].Children.count(spec.children);\n\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\n if (!spec.vertical) {\n var centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n\n if (typeof spec.centerPadding === \"string\" && spec.centerPadding.slice(-1) === \"%\") {\n centerPaddingAdj *= listWidth / 100;\n }\n\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\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\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\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\n if (spec.autoplaying === null && spec.autoplay) {\n state[\"autoplaying\"] = \"playing\";\n }\n\n return state;\n};\n\nexports.initializedState = initializedState;\n\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\n if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList.push(animationSlide);\n }\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\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\n animationLeft = getTrackLeft(_objectSpread({}, spec, {\n slideIndex: animationSlide\n }));\n finalLeft = getTrackLeft(_objectSpread({}, spec, {\n slideIndex: finalSlide\n }));\n\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n\n lazyLoad && lazyLoadedList.concat(getOnDemandLazySlides(_objectSpread({}, spec, {\n currentSlide: animationSlide\n })));\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\n return {\n state: state,\n nextState: nextState\n };\n};\n\nexports.slideHandler = slideHandler;\n\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\n if (options.message === \"previous\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\n\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\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\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\n if (targetSlide === options.currentSlide) {\n return null;\n }\n\n if (infinite) {\n var direction = siblingDirection(_objectSpread({}, spec, {\n targetSlide: targetSlide\n }));\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\n if (targetSlide === options.currentSlide) {\n return null;\n }\n }\n\n return targetSlide;\n};\n\nexports.changeSlide = changeSlide;\n\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};\n\nexports.keyHandler = keyHandler;\n\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};\n\nexports.swipeStart = swipeStart;\n\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\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return {\n scrolling: true\n };\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\n if (!infinite) {\n if (currentSlide === 0 && swipeDirection === \"right\" || currentSlide + 1 >= dotCount && swipeDirection === \"left\" || !canGoNext(spec) && swipeDirection === \"left\") {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state[\"edgeDragged\"] = true;\n }\n }\n }\n\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state[\"swiped\"] = true;\n }\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\n if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n\n state = _objectSpread({}, state, {\n touchObject: touchObject,\n swipeLeft: swipeLeft,\n trackStyle: getTrackCSS(_objectSpread({}, spec, {\n left: swipeLeft\n }))\n });\n\n if (Math.abs(touchObject.curX - touchObject.startX) < Math.abs(touchObject.curY - touchObject.startY) * 0.8) {\n return state;\n }\n\n if (touchObject.swipeLength > 10) {\n state[\"swiping\"] = true;\n e.preventDefault();\n }\n\n return state;\n};\n\nexports.swipeMove = swipeMove;\n\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\n if (!dragging) {\n if (swipe) e.preventDefault();\n return {};\n }\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\n if (scrolling) {\n return state;\n }\n\n if (!touchObject.swipeLength) {\n return state;\n }\n\n if (touchObject.swipeLength > minSwipe) {\n e.preventDefault();\n\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n\n var slideCount, newSlide;\n\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\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\n default:\n slideCount = currentSlide;\n }\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\n return state;\n};\n\nexports.swipeEnd = swipeEnd;\n\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\n while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n\n return indexes;\n};\n\nexports.getNavigableIndexes = getNavigableIndexes;\n\nvar checkNavigable = function checkNavigable(spec, index) {\n var navigables = getNavigableIndexes(spec);\n var prevNavigable = 0;\n\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\n prevNavigable = navigables[n];\n }\n }\n\n return index;\n};\n\nexports.checkNavigable = checkNavigable;\n\nvar getSlideCount = function getSlideCount(spec) {\n var centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0;\n\n if (spec.swipeToSlide) {\n var swipedSlide;\n\n var slickList = _reactDom[\"default\"].findDOMNode(spec.listRef);\n\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\n return true;\n });\n\n if (!swipedSlide) {\n return 0;\n }\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};\n\nexports.getSlideCount = getSlideCount;\n\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};\n\nexports.checkSpecKeys = checkSpecKeys;\n\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\n if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n\n var style = {\n opacity: 1,\n transition: \"\",\n WebkitTransition: \"\"\n };\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\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\n return style;\n};\n\nexports.getTrackCSS = getTrackCSS;\n\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\n return style;\n};\n\nexports.getTrackAnimateCSS = getTrackAnimateCSS;\n\nvar getTrackLeft = function getTrackLeft(spec) {\n if (spec.unslick) {\n return 0;\n }\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\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n\n var slidesToOffset = 0;\n\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\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\n if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\n }\n }\n\n slideOffset = slidesToOffset * slideWidth;\n verticalOffset = slidesToOffset * slideHeight;\n\n if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n\n if (variableWidth === true) {\n var targetSlideIndex;\n\n var trackElem = _reactDom[\"default\"].findDOMNode(trackRef);\n\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n\n if (centerMode === true) {\n targetSlideIndex = infinite ? slideIndex + getPreClones(spec) : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n\n for (var slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -= trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth;\n }\n\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n\n return targetLeft;\n};\n\nexports.getTrackLeft = getTrackLeft;\n\nvar getPreClones = function getPreClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\n\nexports.getPreClones = getPreClones;\n\nvar getPostClones = function getPostClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n\n return spec.slideCount;\n};\n\nexports.getPostClones = getPostClones;\n\nvar getTotalSlides = function getTotalSlides(spec) {\n return spec.slideCount === 1 ? 1 : getPreClones(spec) + spec.slideCount + getPostClones(spec);\n};\n\nexports.getTotalSlides = getTotalSlides;\n\nvar siblingDirection = function siblingDirection(spec) {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return \"left\";\n }\n\n return \"right\";\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return \"right\";\n }\n\n return \"left\";\n }\n};\n\nexports.siblingDirection = siblingDirection;\n\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\n if (rtl) {\n return 0;\n }\n\n return slidesToShow - 1;\n};\n\nexports.slidesOnRight = slidesOnRight;\n\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\n if (rtl) {\n return slidesToShow - 1;\n }\n\n return 0;\n};\n\nexports.slidesOnLeft = slidesOnLeft;\n\nvar canUseDOM = function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n};\n\nexports.canUseDOM = canUseDOM;","\nvar content = require(\"!!../../css-loader/dist/cjs.js??ref--6-1!../../postcss-loader/src/index.js!./slick.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../css-loader/dist/cjs.js??ref--6-1!../../postcss-loader/src/index.js!./slick.css\", function() {\n\t\tvar newContent = require(\"!!../../css-loader/dist/cjs.js??ref--6-1!../../postcss-loader/src/index.js!./slick.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require(\"./components/Modal\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Modal2.default;\nmodule.exports = exports[\"default\"];","/**\n * Helper function for iterating over a collection\n *\n * @param collection\n * @param fn\n */\nfunction each(collection, fn) {\n var i = 0,\n length = collection.length,\n cont;\n\n for(i; i < length; i++) {\n cont = fn(collection[i], i);\n if(cont === false) {\n break; //allow early exit\n }\n }\n}\n\n/**\n * Helper function for determining whether target object is an array\n *\n * @param target the object under test\n * @return {Boolean} true if array, false otherwise\n */\nfunction isArray(target) {\n return Object.prototype.toString.apply(target) === '[object Array]';\n}\n\n/**\n * Helper function for determining whether target object is a function\n *\n * @param target the object under test\n * @return {Boolean} true if function, false otherwise\n */\nfunction isFunction(target) {\n return typeof target === 'function';\n}\n\nmodule.exports = {\n isFunction : isFunction,\n isArray : isArray,\n each : each\n};\n"],"sourceRoot":""}