{"version":3,"sources":["webpack:///../node_modules/react-responsive-carousel/lib/styles/carousel.min.css?2932","webpack:///../node_modules/react-responsive-carousel/lib/index.js","webpack:///../node_modules/react-responsive-carousel/lib/cssClasses.js","webpack:///../node_modules/react-responsive-carousel/lib/CSSTranslate.js","webpack:///../node_modules/react-easy-swipe/lib/index.js","webpack:///../node_modules/react-responsive-carousel/lib/components/Thumbs.js","webpack:///../node_modules/react-responsive-carousel/lib/styles/carousel.min.css","webpack:///../node_modules/css-loader/dist/runtime/api.js","webpack:///../node_modules/style-loader/lib/addStyles.js","webpack:///../node_modules/style-loader/lib/urls.js","webpack:///../node_modules/react-responsive-carousel/lib/components/Carousel.js","webpack:///../node_modules/classnames/index.js","webpack:///../node_modules/react-easy-swipe/lib/react-swipe.js","webpack:///../node_modules/react-responsive-carousel/lib/dimensions.js","webpack:///../node_modules/react-responsive-carousel/lib/customPropTypes.js"],"names":["content","module","i","options","transform","undefined","locals","exports","Object","defineProperty","value","Thumbs","Carousel","_Carousel2","_interopRequireDefault","_Thumbs2","obj","__esModule","default","_classnames","_classnames2","CAROUSEL","isSlider","WRAPPER","axis","SLIDER","isSwiping","ITEM","selected","ARROW_PREV","disabled","ARROW_NEXT","DOT","position","join","_reactSwipe","_reactSwipe2","_extends","assign","target","arguments","length","source","key","prototype","hasOwnProperty","call","_createClass","defineProperties","props","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","_react","_react2","_propTypes2","_cssClasses2","_dimensions","_CSSTranslate2","_reactEasySwipe2","_Component","instance","TypeError","_classCallCheck","this","_this","self","ReferenceError","_possibleConstructorReturn","__proto__","getPrototypeOf","_initialiseProps","state","selectedItem","hasMount","firstItem","itemSize","visibleItems","lastPosition","showArrows","images","getImages","subClass","superClass","create","constructor","setPrototypeOf","_inherits","nextProps","setupThumbs","setState","getFirstItem","children","prevProps","updateSizes","destroyThumbs","window","addEventListener","removeEventListener","Children","map","item","index","img","type","toArray","filter","image","console","warn","_this2","itemClass","thumbProps","ref","e","setThumbsRef","className","onClick","handleClickItem","bind","onKeyDown","cloneElement","onLoad","setMountState","createElement","role","tabIndex","itemListStyles","hasPrev","hasNext","currentPosition","transformProp","transitionTime","setItemsWrapperRef","slideRight","tagName","swiping","onSwipeLeft","slideLeft","onSwipeRight","onSwipeMove","onSwipeStart","onSwipeEnd","style","setItemsListRef","renderItems","Component","displayName","propsTypes","element","isRequired","number","thumbWidth","defaultProps","_this3","node","itemsWrapperRef","itemsListRef","thumbsRef","total","wrapperSize","clientWidth","outerWidth","Math","floor","_state","keyCode","handler","onSelectItem","deltaX","forEach","prop","positions","moveTo","push","useSourceMap","list","toString","cssMapping","btoa","sourceMapping","sourceMap","base64","unescape","encodeURIComponent","JSON","stringify","data","concat","sourceURLs","sources","sourceRoot","cssWithMappingToString","modules","mediaQuery","alreadyImportedModules","id","_i","fn","memo","stylesInDom","isOldIE","document","all","atob","apply","getTarget","parent","querySelector","getElement","styleTarget","HTMLIFrameElement","contentDocument","head","singleton","singletonCounter","stylesInsertedAtTop","fixUrls","addStylesToDom","styles","domStyle","refs","j","parts","addStyle","listToStyles","newStyles","base","part","css","media","insertStyleElement","insertInto","Error","lastStyleElementInsertedAtTop","insertAt","nextSibling","insertBefore","appendChild","firstChild","before","removeStyleElement","parentNode","removeChild","idx","indexOf","splice","createStyleElement","attrs","nonce","getNonce","addAttrs","el","keys","setAttribute","update","remove","result","styleIndex","applyToSingletonTag","URL","createObjectURL","revokeObjectURL","Blob","link","rel","createLinkElement","updateLink","href","applyToTag","newObj","DEBUG","newList","mayRemove","textStore","replaceText","replacement","Boolean","styleSheet","cssText","cssNode","createTextNode","childNodes","autoFixUrls","convertToAbsoluteUrls","blob","oldSrc","location","baseUrl","protocol","host","currentDir","pathname","replace","fullMatch","origUrl","newUrl","unquotedOrigUrl","trim","o","$1","test","_reactDom2","customPropTypes","_interopRequireWildcard","noop","initialized","isMouseEntered","autoPlay","setupCarousel","setupAutoPlay","destroyAutoPlay","prevState","resetPosition","destroyCarousel","bindEvents","count","initialImage","getInitialImage","unbindEvents","carouselWrapper","carouselWrapperRef","stopOnHover","startOnLeave","clearAutoPlay","useKeyboardArrows","navigateWithKeyboard","infiniteLoop","childrenLength","centerMode","centerSlidePercentage","isClone","slideProps","setItemsRef","minWidth","_this4","showIndicators","changeItem","showStatus","statusFormatter","showThumbs","handleClickThumb","isHorizontal","canShowArrows","getPosition","itemsClone","firstClone","shift","lastClone","pop","swiperProps","tolerance","swipeScrollTolerance","containerStyles","onSwipeForward","onSwipeBackwards","dynamicHeight","itemHeight","getVariableImageHeight","height","onSwipeUp","verticalSwipe","onSwipeDown","setCarouselWrapperRef","width","onClickPrev","swipeable","setListRef","allowMouseEvents","emulateTouch","onClickNext","renderControls","renderStatus","renderThumbs","propTypes","string","bool","onClickItem","func","onClickThumb","onChange","oneOf","unit","interval","current","_this5","listRef","itemsRef","clearTimeout","timer","setTimeout","increment","resetAutoPlay","prevKey","decrement","clientHeight","cancelClick","handleOnChange","selectItem","delta","finalBoundry","axisDelta","x","y","handledDelta","setPosition","hasMoved","abs","forceReflow","findDOMNode","offsetLeft","fromSwipe","needClonedSlide","oldPosition","newIndex","cb","getElementsByTagName","complete","onImageLoad","forceUpdate","hasOwn","classNames","classes","arg","argType","Array","isArray","inner","_propTypes","setHasSupportToCaptureOption","supportsCaptureOption","hasSupport","get","getSafeEventHandlerOpts","capture","event","_event$touches$","touches","pageX","pageY","screenX","screenY","ReactSwipe","_ref","_len","args","_key","_handleSwipeStart","_handleSwipeMove","_handleSwipeEnd","_onMouseDown","_onMouseMove","_onMouseUp","swiper","passive","mouseDown","_getPosition","moveStart","_getPosition2","deltaY","moving","preventDefault","movePosition","onMouseDown","onTouchStart","onTouchEnd","object","offsetWidth","getComputedStyle","parseInt","marginLeft","marginRight","propName","componentName"],"mappings":"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","file":"1.42ac418af1080a150806.js","sourcesContent":["\nvar content = require(\"!!../../../css-loader/dist/cjs.js?sourceMap=true!./carousel.min.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"sourceMap\":true,\"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?sourceMap=true!./carousel.min.css\", function() {\n\t\tvar newContent = require(\"!!../../../css-loader/dist/cjs.js?sourceMap=true!./carousel.min.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});\nexports.Thumbs = exports.Carousel = undefined;\n\nvar _Carousel = require('./components/Carousel');\n\nvar _Carousel2 = _interopRequireDefault(_Carousel);\n\nvar _Thumbs = require('./components/Thumbs');\n\nvar _Thumbs2 = _interopRequireDefault(_Thumbs);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.Carousel = _Carousel2.default;\nexports.Thumbs = _Thumbs2.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\n\nvar _classnames = require(\"classnames\");\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n    CAROUSEL: function CAROUSEL(isSlider) {\n        return (0, _classnames2.default)({\n            \"carousel\": true,\n            \"carousel-slider\": isSlider\n        });\n    },\n\n    WRAPPER: function WRAPPER(isSlider, axis) {\n        return (0, _classnames2.default)({\n            \"thumbs-wrapper\": !isSlider,\n            \"slider-wrapper\": isSlider,\n            \"axis-horizontal\": axis === \"horizontal\",\n            \"axis-vertical\": axis !== \"horizontal\"\n        });\n    },\n\n    SLIDER: function SLIDER(isSlider, isSwiping) {\n        return (0, _classnames2.default)({\n            \"thumbs\": !isSlider,\n            \"slider\": isSlider,\n            \"animated\": !isSwiping\n        });\n    },\n\n    ITEM: function ITEM(isSlider, selected) {\n        return (0, _classnames2.default)({\n            \"thumb\": !isSlider,\n            \"slide\": isSlider,\n            \"selected\": selected\n        });\n    },\n\n    ARROW_PREV: function ARROW_PREV(disabled) {\n        return (0, _classnames2.default)({\n            \"control-arrow control-prev\": true,\n            \"control-disabled\": disabled\n        });\n    },\n\n    ARROW_NEXT: function ARROW_NEXT(disabled) {\n        return (0, _classnames2.default)({\n            \"control-arrow control-next\": true,\n            \"control-disabled\": disabled\n        });\n    },\n\n    DOT: function DOT(selected) {\n        return (0, _classnames2.default)({\n            \"dot\": true,\n            'selected': selected\n        });\n    }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\n\nexports.default = function (position, axis) {\n    var positionCss = axis === 'horizontal' ? [position, 0, 0] : [0, position, 0];\n    var transitionProp = 'translate3d';\n\n    var translatedPosition = '(' + positionCss.join(',') + ')';\n\n    return transitionProp + translatedPosition;\n};","(function (global, factory) {\n  if (typeof define === \"function\" && define.amd) {\n    define(['exports', './react-swipe'], factory);\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./react-swipe'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.reactSwipe);\n    global.index = mod.exports;\n  }\n})(this, function (exports, _reactSwipe) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _reactSwipe2 = _interopRequireDefault(_reactSwipe);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  exports.default = _reactSwipe2.default;\n});","'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 _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 _cssClasses = require('../cssClasses');\n\nvar _cssClasses2 = _interopRequireDefault(_cssClasses);\n\nvar _dimensions = require('../dimensions');\n\nvar _CSSTranslate = require('../CSSTranslate');\n\nvar _CSSTranslate2 = _interopRequireDefault(_CSSTranslate);\n\nvar _reactEasySwipe = require('react-easy-swipe');\n\nvar _reactEasySwipe2 = _interopRequireDefault(_reactEasySwipe);\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 Thumbs = function (_Component) {\n    _inherits(Thumbs, _Component);\n\n    function Thumbs(props) {\n        _classCallCheck(this, Thumbs);\n\n        var _this = _possibleConstructorReturn(this, (Thumbs.__proto__ || Object.getPrototypeOf(Thumbs)).call(this, props));\n\n        _initialiseProps.call(_this);\n\n        _this.state = {\n            selectedItem: props.selectedItem,\n            hasMount: false,\n            firstItem: 0,\n            itemSize: null,\n            visibleItems: 0,\n            lastPosition: 0,\n            showArrows: false,\n            images: _this.getImages()\n        };\n        return _this;\n    }\n\n    _createClass(Thumbs, [{\n        key: 'componentDidMount',\n        value: function componentDidMount(nextProps) {\n            this.setupThumbs();\n        }\n    }, {\n        key: 'componentWillReceiveProps',\n        value: function componentWillReceiveProps(props, state) {\n            if (props.selectedItem !== this.state.selectedItem) {\n                this.setState({\n                    selectedItem: props.selectedItem,\n                    firstItem: this.getFirstItem(props.selectedItem)\n                });\n            }\n            if (props.children !== this.props.children) {\n                this.setState({\n                    images: this.getImages()\n                });\n            }\n        }\n    }, {\n        key: 'componentDidUpdate',\n        value: function componentDidUpdate(prevProps) {\n            if (this.props.children === prevProps.children) {\n                return;\n            }\n\n            // This will capture any size changes for arrow adjustments etc.\n            // usually in the same render cycle so we don't see any flickers\n            this.updateSizes();\n        }\n    }, {\n        key: 'componentWillUnmount',\n        value: function componentWillUnmount() {\n            this.destroyThumbs();\n        }\n    }, {\n        key: 'setupThumbs',\n        value: function setupThumbs() {\n            // as the widths are calculated, we need to resize\n            // the carousel when the window is resized\n            window.addEventListener(\"resize\", this.updateSizes);\n            // issue #2 - image loading smaller\n            window.addEventListener(\"DOMContentLoaded\", this.updateSizes);\n\n            // when the component is rendered we need to calculate\n            // the container size to adjust the responsive behaviour\n            this.updateSizes();\n        }\n    }, {\n        key: 'destroyThumbs',\n        value: function destroyThumbs() {\n            // removing listeners\n            window.removeEventListener(\"resize\", this.updateSizes);\n            window.removeEventListener(\"DOMContentLoaded\", this.updateSizes);\n        }\n    }, {\n        key: 'getImages',\n        value: function getImages() {\n            var images = _react.Children.map(this.props.children, function (item, index) {\n                var img = item;\n\n                // if the item is not an image, try to find the first image in the item's children.\n                if (item.type !== \"img\") {\n                    img = _react.Children.toArray(item.props.children).filter(function (children) {\n                        return children.type === \"img\";\n                    })[0];\n                }\n\n                if (!img || img.length === 0) {\n                    return null;\n                }\n\n                return img;\n            });\n\n            if (images.filter(function (image) {\n                return image !== null;\n            }).length === 0) {\n                console.warn('No images found! Can\\'t build the thumb list without images. If you don\\'t need thumbs, set showThumbs={false} in the Carousel. Note that it\\'s not possible to get images rendered inside custom components. More info at https://github.com/leandrowd/react-responsive-carousel/blob/master/TROUBLESHOOTING.md');\n\n                return null;\n            }\n\n            return images;\n        }\n    }, {\n        key: 'getFirstItem',\n        value: function getFirstItem(selectedItem) {\n            var firstItem = selectedItem;\n\n            if (selectedItem >= this.state.lastPosition) {\n                firstItem = this.state.lastPosition;\n            }\n\n            if (selectedItem < this.state.firstItem + this.state.visibleItems) {\n                firstItem = this.state.firstItem;\n            }\n\n            if (selectedItem < this.state.firstItem) {\n                firstItem = selectedItem;\n            }\n\n            return firstItem;\n        }\n    }, {\n        key: 'renderItems',\n        value: function renderItems() {\n            var _this2 = this;\n\n            return this.state.images.map(function (img, index) {\n                var itemClass = _cssClasses2.default.ITEM(false, index === _this2.state.selectedItem && _this2.state.hasMount);\n\n                var thumbProps = {\n                    key: index,\n                    ref: function ref(e) {\n                        return _this2.setThumbsRef(e, index);\n                    },\n                    className: itemClass,\n                    onClick: _this2.handleClickItem.bind(_this2, index, _this2.props.children[index]),\n                    onKeyDown: _this2.handleClickItem.bind(_this2, index, _this2.props.children[index])\n                };\n\n                if (index === 0) {\n                    img = _react2.default.cloneElement(img, {\n                        onLoad: _this2.setMountState\n                    });\n                }\n\n                return _react2.default.createElement(\n                    'li',\n                    _extends({}, thumbProps, { role: 'button', tabIndex: 0 }),\n                    img\n                );\n            });\n        }\n    }, {\n        key: 'render',\n        value: function render() {\n            if (!this.props.children) {\n                return null;\n            }\n\n            // show left arrow?\n            var hasPrev = this.state.showArrows && this.state.firstItem > 0;\n            // show right arrow\n            var hasNext = this.state.showArrows && this.state.firstItem < this.state.lastPosition;\n            // obj to hold the transformations and styles\n            var itemListStyles = {};\n\n            var currentPosition = -this.state.firstItem * this.state.itemSize + 'px';\n\n            var transformProp = (0, _CSSTranslate2.default)(currentPosition, this.props.axis);\n\n            var transitionTime = this.props.transitionTime + 'ms';\n\n            itemListStyles = {\n                'WebkitTransform': transformProp,\n                'MozTransform': transformProp,\n                'MsTransform': transformProp,\n                'OTransform': transformProp,\n                'transform': transformProp,\n                'msTransform': transformProp,\n                'WebkitTransitionDuration': transitionTime,\n                'MozTransitionDuration': transitionTime,\n                'MsTransitionDuration': transitionTime,\n                'OTransitionDuration': transitionTime,\n                'transitionDuration': transitionTime,\n                'msTransitionDuration': transitionTime\n            };\n\n            return _react2.default.createElement(\n                'div',\n                { className: _cssClasses2.default.CAROUSEL(false) },\n                _react2.default.createElement(\n                    'div',\n                    { className: _cssClasses2.default.WRAPPER(false), ref: this.setItemsWrapperRef },\n                    _react2.default.createElement('button', { type: 'button', className: _cssClasses2.default.ARROW_PREV(!hasPrev), onClick: this.slideRight }),\n                    _react2.default.createElement(\n                        _reactEasySwipe2.default,\n                        { tagName: 'ul',\n                            selectedItem: this.state.selectedItem,\n                            className: _cssClasses2.default.SLIDER(false, this.state.swiping),\n                            onSwipeLeft: this.slideLeft,\n                            onSwipeRight: this.slideRight,\n                            onSwipeMove: this.onSwipeMove,\n                            onSwipeStart: this.onSwipeStart,\n                            onSwipeEnd: this.onSwipeEnd,\n                            style: itemListStyles,\n                            ref: this.setItemsListRef },\n                        this.renderItems()\n                    ),\n                    _react2.default.createElement('button', { type: 'button', className: _cssClasses2.default.ARROW_NEXT(!hasNext), onClick: this.slideLeft })\n                )\n            );\n        }\n    }]);\n\n    return Thumbs;\n}(_react.Component);\n\nThumbs.displayName = 'Thumbs';\nThumbs.propsTypes = {\n    children: _propTypes2.default.element.isRequired,\n    transitionTime: _propTypes2.default.number,\n    selectedItem: _propTypes2.default.number,\n    thumbWidth: _propTypes2.default.number\n};\nThumbs.defaultProps = {\n    selectedItem: 0,\n    transitionTime: 350,\n    axis: 'horizontal'\n};\n\nvar _initialiseProps = function _initialiseProps() {\n    var _this3 = this;\n\n    this.setItemsWrapperRef = function (node) {\n        _this3.itemsWrapperRef = node;\n    };\n\n    this.setItemsListRef = function (node) {\n        _this3.itemsListRef = node;\n    };\n\n    this.setThumbsRef = function (node, index) {\n        if (!_this3.thumbsRef) {\n            _this3.thumbsRef = [];\n        }\n        _this3.thumbsRef[index] = node;\n    };\n\n    this.updateSizes = function () {\n        if (!_this3.props.children || !_this3.itemsWrapperRef) {\n            return;\n        }\n\n        var total = _this3.props.children.length;\n        var wrapperSize = _this3.itemsWrapperRef.clientWidth;\n        var itemSize = _this3.props.thumbWidth ? _this3.props.thumbWidth : (0, _dimensions.outerWidth)(_this3.thumbsRef[0]);\n        var visibleItems = Math.floor(wrapperSize / itemSize);\n        var lastPosition = total - visibleItems;\n        var showArrows = visibleItems < total;\n        _this3.setState(function (_state, props) {\n            return {\n                itemSize: itemSize,\n                visibleItems: visibleItems,\n                firstItem: showArrows ? _this3.getFirstItem(props.selectedItem) : 0,\n                lastPosition: lastPosition,\n                showArrows: showArrows\n            };\n        });\n    };\n\n    this.setMountState = function () {\n        _this3.setState({ hasMount: true });\n        _this3.updateSizes();\n    };\n\n    this.handleClickItem = function (index, item, e) {\n        if (!e.keyCode || e.key === 'Enter') {\n            var handler = _this3.props.onSelectItem;\n\n            if (typeof handler === 'function') {\n                handler(index, item);\n            }\n        }\n    };\n\n    this.onSwipeStart = function () {\n        _this3.setState({\n            swiping: true\n        });\n    };\n\n    this.onSwipeEnd = function () {\n        _this3.setState({\n            swiping: false\n        });\n    };\n\n    this.onSwipeMove = function (deltaX) {\n        var leftBoundary = 0;\n\n        var currentPosition = -_this3.state.firstItem * _this3.state.itemSize;\n        var lastLeftBoundary = -_this3.state.visibleItems * _this3.state.itemSize;\n\n        // prevent user from swiping left out of boundaries\n        if (currentPosition === leftBoundary && deltaX > 0) {\n            deltaX = 0;\n        }\n\n        // prevent user from swiping right out of boundaries\n        if (currentPosition === lastLeftBoundary && deltaX < 0) {\n            deltaX = 0;\n        }\n\n        var wrapperSize = _this3.itemsWrapperRef.clientWidth;\n        var position = currentPosition + 100 / (wrapperSize / deltaX) + '%';\n\n        // if 3d isn't available we will use left to move\n        if (_this3.itemsListRef) {\n            ['WebkitTransform', 'MozTransform', 'MsTransform', 'OTransform', 'transform', 'msTransform'].forEach(function (prop) {\n                _this3.itemsListRef.style[prop] = (0, _CSSTranslate2.default)(position, _this3.props.axis);\n            });\n        }\n    };\n\n    this.slideRight = function (positions) {\n        _this3.moveTo(_this3.state.firstItem - (typeof positions === 'number' ? positions : 1));\n    };\n\n    this.slideLeft = function (positions) {\n        _this3.moveTo(_this3.state.firstItem + (typeof positions === 'number' ? positions : 1));\n    };\n\n    this.moveTo = function (position) {\n        // position can't be lower than 0\n        position = position < 0 ? 0 : position;\n        // position can't be higher than last postion\n        position = position >= _this3.lastPosition ? _this3.lastPosition : position;\n\n        _this3.setState({\n            firstItem: position,\n            // if it's not a slider, we don't need to set position here\n            selectedItem: _this3.state.selectedItem\n        });\n    };\n};\n\nexports.default = Thumbs;","exports = module.exports = require(\"../../../css-loader/dist/runtime/api.js\")(true);\n// Module\nexports.push([module.id, \".carousel .control-arrow,.carousel.carousel-slider .control-arrow{-webkit-transition:all .25s ease-in;-moz-transition:all .25s ease-in;-ms-transition:all .25s ease-in;-o-transition:all .25s ease-in;transition:all .25s ease-in;opacity:.4;position:absolute;z-index:2;top:20px;background:0 0;border:0;font-size:32px;cursor:pointer}.carousel .control-arrow:hover{opacity:1}.carousel .control-arrow:before,.carousel.carousel-slider .control-arrow:before{margin:0 5px;display:inline-block;border-top:8px solid transparent;border-bottom:8px solid transparent;content:''}.carousel .control-disabled.control-arrow{opacity:0;cursor:inherit;display:none}.carousel .control-prev.control-arrow{left:0}.carousel .control-prev.control-arrow:before{border-right:8px solid #fff}.carousel .control-next.control-arrow{right:0}.carousel .control-next.control-arrow:before{border-left:8px solid #fff}.carousel{position:relative;width:100%}.carousel *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.carousel img{width:100%;display:inline-block;pointer-events:none}.carousel .carousel{position:relative}.carousel .control-arrow{outline:0;border:0;background:0 0;top:50%;margin-top:-13px;font-size:18px}.carousel .thumbs-wrapper{margin:20px;overflow:hidden}.carousel .thumbs{-webkit-transition:all .15s ease-in;-moz-transition:all .15s ease-in;-ms-transition:all .15s ease-in;-o-transition:all .15s ease-in;transition:all .15s ease-in;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);position:relative;list-style:none;white-space:nowrap}.carousel .thumb{-webkit-transition:border .15s ease-in;-moz-transition:border .15s ease-in;-ms-transition:border .15s ease-in;-o-transition:border .15s ease-in;transition:border .15s ease-in;display:inline-block;width:80px;margin-right:6px;white-space:nowrap;overflow:hidden;border:3px solid #fff;padding:2px}.carousel .thumb:focus{border:3px solid #ccc;outline:0}.carousel .thumb.selected,.carousel .thumb:hover{border:3px solid #333}.carousel .thumb img{vertical-align:top}.carousel.carousel-slider{position:relative;margin:0;overflow:hidden}.carousel.carousel-slider .control-arrow{top:0;color:#fff;font-size:26px;bottom:0;margin-top:0;padding:5px}.carousel.carousel-slider .control-arrow:hover{background:rgba(0,0,0,.2)}.carousel .slider-wrapper{overflow:hidden;margin:auto;width:100%;-webkit-transition:height .15s ease-in;-moz-transition:height .15s ease-in;-ms-transition:height .15s ease-in;-o-transition:height .15s ease-in;transition:height .15s ease-in}.carousel .slider-wrapper.axis-horizontal .slider{-ms-box-orient:horizontal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex}.carousel .slider-wrapper.axis-horizontal .slider .slide{flex-direction:column;flex-flow:column}.carousel .slider-wrapper.axis-vertical{-ms-box-orient:horizontal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex}.carousel .slider-wrapper.axis-vertical .slider{-webkit-flex-direction:column;flex-direction:column}.carousel .slider{margin:0;padding:0;position:relative;list-style:none;width:100%}.carousel .slider.animated{-webkit-transition:all .35s ease-in-out;-moz-transition:all .35s ease-in-out;-ms-transition:all .35s ease-in-out;-o-transition:all .35s ease-in-out;transition:all .35s ease-in-out}.carousel .slide{min-width:100%;margin:0;position:relative;text-align:center;background:#000}.carousel .slide img{width:100%;vertical-align:top;border:0}.carousel .slide iframe{display:inline-block;width:calc(100% - 80px);margin:0 40px 40px;border:0}.carousel .slide .legend{-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;-ms-transition:all .5s ease-in-out;-o-transition:all .5s ease-in-out;transition:all .5s ease-in-out;position:absolute;bottom:40px;left:50%;margin-left:-45%;width:90%;border-radius:10px;background:#000;color:#fff;padding:10px;font-size:12px;text-align:center;opacity:.25;-webkit-transition:opacity .35s ease-in-out;-moz-transition:opacity .35s ease-in-out;-ms-transition:opacity .35s ease-in-out;-o-transition:opacity .35s ease-in-out;transition:opacity .35s ease-in-out}.carousel .control-dots{position:absolute;bottom:0;margin:10px 0;text-align:center;width:100%}@media (min-width:960px){.carousel .control-dots{bottom:0}}.carousel .control-dots .dot{-webkit-transition:opacity .25s ease-in;-moz-transition:opacity .25s ease-in;-ms-transition:opacity .25s ease-in;-o-transition:opacity .25s ease-in;transition:opacity .25s ease-in;opacity:.3;box-shadow:1px 1px 2px rgba(0,0,0,.9);background:#fff;border-radius:50%;width:8px;height:8px;cursor:pointer;display:inline-block;margin:0 8px}.carousel .control-dots .dot.selected,.carousel .control-dots .dot:hover{opacity:1}.carousel .carousel-status{position:absolute;top:0;right:0;padding:5px;font-size:10px;text-shadow:1px 1px 1px rgba(0,0,0,.9);color:#fff}.carousel:hover .slide .legend{opacity:1}\", \"\",{\"version\":3,\"sources\":[\"carousel.min.css\"],\"names\":[],\"mappings\":\"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\",\"file\":\"carousel.min.css\",\"sourcesContent\":[\".carousel .control-arrow,.carousel.carousel-slider .control-arrow{-webkit-transition:all .25s ease-in;-moz-transition:all .25s ease-in;-ms-transition:all .25s ease-in;-o-transition:all .25s ease-in;transition:all .25s ease-in;opacity:.4;position:absolute;z-index:2;top:20px;background:0 0;border:0;font-size:32px;cursor:pointer}.carousel .control-arrow:hover{opacity:1}.carousel .control-arrow:before,.carousel.carousel-slider .control-arrow:before{margin:0 5px;display:inline-block;border-top:8px solid transparent;border-bottom:8px solid transparent;content:''}.carousel .control-disabled.control-arrow{opacity:0;cursor:inherit;display:none}.carousel .control-prev.control-arrow{left:0}.carousel .control-prev.control-arrow:before{border-right:8px solid #fff}.carousel .control-next.control-arrow{right:0}.carousel .control-next.control-arrow:before{border-left:8px solid #fff}.carousel{position:relative;width:100%}.carousel *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.carousel img{width:100%;display:inline-block;pointer-events:none}.carousel .carousel{position:relative}.carousel .control-arrow{outline:0;border:0;background:0 0;top:50%;margin-top:-13px;font-size:18px}.carousel .thumbs-wrapper{margin:20px;overflow:hidden}.carousel .thumbs{-webkit-transition:all .15s ease-in;-moz-transition:all .15s ease-in;-ms-transition:all .15s ease-in;-o-transition:all .15s ease-in;transition:all .15s ease-in;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);position:relative;list-style:none;white-space:nowrap}.carousel .thumb{-webkit-transition:border .15s ease-in;-moz-transition:border .15s ease-in;-ms-transition:border .15s ease-in;-o-transition:border .15s ease-in;transition:border .15s ease-in;display:inline-block;width:80px;margin-right:6px;white-space:nowrap;overflow:hidden;border:3px solid #fff;padding:2px}.carousel .thumb:focus{border:3px solid #ccc;outline:0}.carousel .thumb.selected,.carousel .thumb:hover{border:3px solid #333}.carousel .thumb img{vertical-align:top}.carousel.carousel-slider{position:relative;margin:0;overflow:hidden}.carousel.carousel-slider .control-arrow{top:0;color:#fff;font-size:26px;bottom:0;margin-top:0;padding:5px}.carousel.carousel-slider .control-arrow:hover{background:rgba(0,0,0,.2)}.carousel .slider-wrapper{overflow:hidden;margin:auto;width:100%;-webkit-transition:height .15s ease-in;-moz-transition:height .15s ease-in;-ms-transition:height .15s ease-in;-o-transition:height .15s ease-in;transition:height .15s ease-in}.carousel .slider-wrapper.axis-horizontal .slider{-ms-box-orient:horizontal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex}.carousel .slider-wrapper.axis-horizontal .slider .slide{flex-direction:column;flex-flow:column}.carousel .slider-wrapper.axis-vertical{-ms-box-orient:horizontal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex}.carousel .slider-wrapper.axis-vertical .slider{-webkit-flex-direction:column;flex-direction:column}.carousel .slider{margin:0;padding:0;position:relative;list-style:none;width:100%}.carousel .slider.animated{-webkit-transition:all .35s ease-in-out;-moz-transition:all .35s ease-in-out;-ms-transition:all .35s ease-in-out;-o-transition:all .35s ease-in-out;transition:all .35s ease-in-out}.carousel .slide{min-width:100%;margin:0;position:relative;text-align:center;background:#000}.carousel .slide img{width:100%;vertical-align:top;border:0}.carousel .slide iframe{display:inline-block;width:calc(100% - 80px);margin:0 40px 40px;border:0}.carousel .slide .legend{-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;-ms-transition:all .5s ease-in-out;-o-transition:all .5s ease-in-out;transition:all .5s ease-in-out;position:absolute;bottom:40px;left:50%;margin-left:-45%;width:90%;border-radius:10px;background:#000;color:#fff;padding:10px;font-size:12px;text-align:center;opacity:.25;-webkit-transition:opacity .35s ease-in-out;-moz-transition:opacity .35s ease-in-out;-ms-transition:opacity .35s ease-in-out;-o-transition:opacity .35s ease-in-out;transition:opacity .35s ease-in-out}.carousel .control-dots{position:absolute;bottom:0;margin:10px 0;text-align:center;width:100%}@media (min-width:960px){.carousel .control-dots{bottom:0}}.carousel .control-dots .dot{-webkit-transition:opacity .25s ease-in;-moz-transition:opacity .25s ease-in;-ms-transition:opacity .25s ease-in;-o-transition:opacity .25s ease-in;transition:opacity .25s ease-in;opacity:.3;box-shadow:1px 1px 2px rgba(0,0,0,.9);background:#fff;border-radius:50%;width:8px;height:8px;cursor:pointer;display:inline-block;margin:0 8px}.carousel .control-dots .dot.selected,.carousel .control-dots .dot:hover{opacity:1}.carousel .carousel-status{position:absolute;top:0;right:0;padding:5px;font-size:10px;text-shadow:1px 1px 1px rgba(0,0,0,.9);color:#fff}.carousel:hover .slide .legend{opacity:1}\"]}]);\n","\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = cssWithMappingToString(item, useSourceMap);\n\n      if (item[2]) {\n        return \"@media \".concat(item[2], \"{\").concat(content, \"}\");\n      }\n\n      return content;\n    }).join('');\n  }; // import a list of modules into the list\n  // eslint-disable-next-line func-names\n\n\n  list.i = function (modules, mediaQuery) {\n    if (typeof modules === 'string') {\n      // eslint-disable-next-line no-param-reassign\n      modules = [[null, modules, '']];\n    }\n\n    var alreadyImportedModules = {};\n\n    for (var i = 0; i < this.length; i++) {\n      // eslint-disable-next-line prefer-destructuring\n      var id = this[i][0];\n\n      if (id != null) {\n        alreadyImportedModules[id] = true;\n      }\n    }\n\n    for (var _i = 0; _i < modules.length; _i++) {\n      var item = modules[_i]; // skip already imported module\n      // this implementation is not 100% perfect for weird media query combinations\n      // when a module is imported multiple times with different media queries.\n      // I hope this will never occur (Hey this way we have smaller bundles)\n\n      if (item[0] == null || !alreadyImportedModules[item[0]]) {\n        if (mediaQuery && !item[2]) {\n          item[2] = mediaQuery;\n        } else if (mediaQuery) {\n          item[2] = \"(\".concat(item[2], \") and (\").concat(mediaQuery, \")\");\n        }\n\n        list.push(item);\n      }\n    }\n  };\n\n  return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n  var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n  var cssMapping = item[3];\n\n  if (!cssMapping) {\n    return content;\n  }\n\n  if (useSourceMap && typeof btoa === 'function') {\n    var sourceMapping = toComment(cssMapping);\n    var sourceURLs = cssMapping.sources.map(function (source) {\n      return \"/*# sourceURL=\".concat(cssMapping.sourceRoot).concat(source, \" */\");\n    });\n    return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n  }\n\n  return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n  // eslint-disable-next-line no-undef\n  var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n  var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n  return \"/*# \".concat(data, \" */\");\n}","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getTarget = function (target, parent) {\n  if (parent){\n    return parent.querySelector(target);\n  }\n  return document.querySelector(target);\n};\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(target, parent) {\n                // If passing function in options, then use it for resolve \"head\" element.\n                // Useful for Shadow Root style i.e\n                // {\n                //   insertInto: function () { return document.querySelector(\"#foo\").shadowRoot }\n                // }\n                if (typeof target === 'function') {\n                        return target();\n                }\n                if (typeof memo[target] === \"undefined\") {\n\t\t\tvar styleTarget = getTarget.call(this, target, parent);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[target] = styleTarget;\n\t\t}\n\t\treturn memo[target]\n\t};\n})();\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton && typeof options.singleton !== \"boolean\") options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n        if (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else if (typeof options.insertAt === \"object\" && options.insertAt.before) {\n\t\tvar nextSibling = getElement(options.insertAt.before, target);\n\t\ttarget.insertBefore(style, nextSibling);\n\t} else {\n\t\tthrow new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\n\tif(options.attrs.nonce === undefined) {\n\t\tvar nonce = getNonce();\n\t\tif (nonce) {\n\t\t\toptions.attrs.nonce = nonce;\n\t\t}\n\t}\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction getNonce() {\n\tif (typeof __webpack_nonce__ === 'undefined') {\n\t\treturn null;\n\t}\n\n\treturn __webpack_nonce__;\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t    result = typeof options.transform === 'function'\n\t\t ? options.transform(obj.css) \n\t\t : options.transform.default(obj.css);\n\n\t    if (result) {\n\t    \t// If transform returns a value, use that instead of the original css.\n\t    \t// This allows running runtime transformations on the css.\n\t    \tobj.css = result;\n\t    } else {\n\t    \t// If the transform function returns a falsy value, don't add this css.\n\t    \t// This allows conditional loading of css\n\t    \treturn function() {\n\t    \t\t// noop\n\t    \t};\n\t    }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default.  Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n  // get current location\n  var location = typeof window !== \"undefined\" && window.location;\n\n  if (!location) {\n    throw new Error(\"fixUrls requires window.location\");\n  }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t  return css;\n  }\n\n  var baseUrl = location.protocol + \"//\" + location.host;\n  var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\(  = Match on the word \"url\" with any whitespace after it and then a parens\n\t   (  = Start a capturing group\n\t     (?:  = Start a non-capturing group\n\t         [^)(]  = Match anything that isn't a parentheses\n\t         |  = OR\n\t         \\(  = Match a start parentheses\n\t             (?:  = Start another non-capturing groups\n\t                 [^)(]+  = Match anything that isn't a parentheses\n\t                 |  = OR\n\t                 \\(  = Match a start parentheses\n\t                     [^)(]*  = Match anything that isn't a parentheses\n\t                 \\)  = Match a end parentheses\n\t             )  = End Group\n              *\\) = Match anything and then a close parens\n          )  = Close non-capturing group\n          *  = Match anything\n       )  = Close capturing group\n\t \\)  = Match a close parens\n\n\t /gi  = Get all matches, not the first.  Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(unquotedOrigUrl)) {\n\t\t  return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t  \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n","'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 _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 _cssClasses = require('../cssClasses');\n\nvar _cssClasses2 = _interopRequireDefault(_cssClasses);\n\nvar _CSSTranslate = require('../CSSTranslate');\n\nvar _CSSTranslate2 = _interopRequireDefault(_CSSTranslate);\n\nvar _reactEasySwipe = require('react-easy-swipe');\n\nvar _reactEasySwipe2 = _interopRequireDefault(_reactEasySwipe);\n\nvar _Thumbs = require('./Thumbs');\n\nvar _Thumbs2 = _interopRequireDefault(_Thumbs);\n\nvar _customPropTypes = require('../customPropTypes');\n\nvar customPropTypes = _interopRequireWildcard(_customPropTypes);\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 noop = function noop() {};\n\nvar defaultStatusFormatter = function defaultStatusFormatter(current, total) {\n    return current + ' of ' + total;\n};\n\nvar Carousel = function (_Component) {\n    _inherits(Carousel, _Component);\n\n    function Carousel(props) {\n        _classCallCheck(this, Carousel);\n\n        var _this = _possibleConstructorReturn(this, (Carousel.__proto__ || Object.getPrototypeOf(Carousel)).call(this, props));\n\n        _initialiseProps.call(_this);\n\n        _this.state = {\n            initialized: false,\n            selectedItem: props.selectedItem,\n            hasMount: false,\n            isMouseEntered: false,\n            autoPlay: props.autoPlay\n        };\n        return _this;\n    }\n\n    _createClass(Carousel, [{\n        key: 'componentDidMount',\n        value: function componentDidMount() {\n            if (!this.props.children) {\n                return;\n            }\n\n            this.setupCarousel();\n        }\n    }, {\n        key: 'componentWillReceiveProps',\n        value: function componentWillReceiveProps(nextProps) {\n            var _this2 = this;\n\n            if (nextProps.selectedItem !== this.state.selectedItem) {\n                this.updateSizes();\n                this.moveTo(nextProps.selectedItem);\n            }\n\n            if (nextProps.autoPlay !== this.state.autoPlay) {\n                this.setState({\n                    autoPlay: nextProps.autoPlay\n                }, function () {\n                    if (_this2.state.autoPlay) {\n                        _this2.setupAutoPlay();\n                    } else {\n                        _this2.destroyAutoPlay();\n                    }\n                });\n            }\n        }\n    }, {\n        key: 'componentDidUpdate',\n        value: function componentDidUpdate(prevProps, prevState) {\n            if (!prevProps.children && this.props.children && !this.state.initialized) {\n                this.setupCarousel();\n            }\n            if (prevState.swiping && !this.state.swiping) {\n                // We stopped swiping, ensure we are heading to the new/current slide and not stuck\n                this.resetPosition();\n            }\n        }\n    }, {\n        key: 'componentWillUnmount',\n        value: function componentWillUnmount() {\n            this.destroyCarousel();\n        }\n    }, {\n        key: 'setupCarousel',\n        value: function setupCarousel() {\n            this.bindEvents();\n\n            if (this.state.autoPlay && _react.Children.count(this.props.children) > 1) {\n                this.setupAutoPlay();\n            }\n\n            this.setState({\n                initialized: true\n            });\n\n            var initialImage = this.getInitialImage();\n            if (initialImage) {\n                // if it's a carousel of images, we set the mount state after the first image is loaded\n                initialImage.addEventListener('load', this.setMountState);\n            } else {\n                this.setMountState();\n            }\n        }\n    }, {\n        key: 'destroyCarousel',\n        value: function destroyCarousel() {\n            if (this.state.initialized) {\n                this.unbindEvents();\n                this.destroyAutoPlay();\n            }\n        }\n    }, {\n        key: 'setupAutoPlay',\n        value: function setupAutoPlay() {\n            this.autoPlay();\n            var carouselWrapper = this.carouselWrapperRef;\n\n            if (this.props.stopOnHover && carouselWrapper) {\n                carouselWrapper.addEventListener('mouseenter', this.stopOnHover);\n                carouselWrapper.addEventListener('mouseleave', this.startOnLeave);\n            }\n        }\n    }, {\n        key: 'destroyAutoPlay',\n        value: function destroyAutoPlay() {\n            this.clearAutoPlay();\n            var carouselWrapper = this.carouselWrapperRef;\n\n            if (this.props.stopOnHover && carouselWrapper) {\n                carouselWrapper.removeEventListener('mouseenter', this.stopOnHover);\n                carouselWrapper.removeEventListener('mouseleave', this.startOnLeave);\n            }\n        }\n    }, {\n        key: 'bindEvents',\n        value: function bindEvents() {\n            // as the widths are calculated, we need to resize\n            // the carousel when the window is resized\n            window.addEventListener(\"resize\", this.updateSizes);\n            // issue #2 - image loading smaller\n            window.addEventListener(\"DOMContentLoaded\", this.updateSizes);\n\n            if (this.props.useKeyboardArrows) {\n                document.addEventListener(\"keydown\", this.navigateWithKeyboard);\n            }\n        }\n    }, {\n        key: 'unbindEvents',\n        value: function unbindEvents() {\n            // removing listeners\n            window.removeEventListener(\"resize\", this.updateSizes);\n            window.removeEventListener(\"DOMContentLoaded\", this.updateSizes);\n\n            var initialImage = this.getInitialImage();\n            if (initialImage) {\n                initialImage.removeEventListener(\"load\", this.setMountState);\n            }\n\n            if (this.props.useKeyboardArrows) {\n                document.removeEventListener(\"keydown\", this.navigateWithKeyboard);\n            }\n        }\n    }, {\n        key: 'getPosition',\n        value: function getPosition(index) {\n            if (this.props.infiniteLoop) {\n                // index has to be added by 1 because of the first cloned slide\n                ++index;\n            }\n            var childrenLength = _react.Children.count(this.props.children);\n            if (this.props.centerMode && this.props.axis === 'horizontal') {\n                var currentPosition = -index * this.props.centerSlidePercentage;\n                var lastPosition = childrenLength - 1;\n\n                if (index && (index !== lastPosition || this.props.infiniteLoop)) {\n                    currentPosition += (100 - this.props.centerSlidePercentage) / 2;\n                } else if (index === lastPosition) {\n                    currentPosition += 100 - this.props.centerSlidePercentage;\n                }\n\n                return currentPosition;\n            }\n\n            return -index * 100;\n        }\n    }, {\n        key: 'renderItems',\n        value: function renderItems(isClone) {\n            var _this3 = this;\n\n            return _react.Children.map(this.props.children, function (item, index) {\n                var slideProps = {\n                    ref: function ref(e) {\n                        return _this3.setItemsRef(e, index);\n                    },\n                    key: 'itemKey' + index + (isClone ? 'clone' : ''),\n                    className: _cssClasses2.default.ITEM(true, index === _this3.state.selectedItem),\n                    onClick: _this3.handleClickItem.bind(_this3, index, item)\n                };\n\n                if (_this3.props.centerMode && _this3.props.axis === 'horizontal') {\n                    slideProps.style = {\n                        minWidth: _this3.props.centerSlidePercentage + '%'\n                    };\n                }\n\n                return _react2.default.createElement(\n                    'li',\n                    slideProps,\n                    item\n                );\n            });\n        }\n    }, {\n        key: 'renderControls',\n        value: function renderControls() {\n            var _this4 = this;\n\n            if (!this.props.showIndicators) {\n                return null;\n            }\n\n            return _react2.default.createElement(\n                'ul',\n                { className: 'control-dots' },\n                _react.Children.map(this.props.children, function (item, index) {\n                    return _react2.default.createElement('li', { className: _cssClasses2.default.DOT(index === _this4.state.selectedItem), onClick: _this4.changeItem, onKeyDown: _this4.changeItem, value: index, key: index, role: 'button', tabIndex: 0 });\n                })\n            );\n        }\n    }, {\n        key: 'renderStatus',\n        value: function renderStatus() {\n            if (!this.props.showStatus) {\n                return null;\n            }\n\n            return _react2.default.createElement(\n                'p',\n                { className: 'carousel-status' },\n                this.props.statusFormatter(this.state.selectedItem + 1, _react.Children.count(this.props.children))\n            );\n        }\n    }, {\n        key: 'renderThumbs',\n        value: function renderThumbs() {\n            if (!this.props.showThumbs || _react.Children.count(this.props.children) === 0) {\n                return null;\n            }\n\n            return _react2.default.createElement(\n                _Thumbs2.default,\n                { ref: this.setThumbsRef, onSelectItem: this.handleClickThumb, selectedItem: this.state.selectedItem, transitionTime: this.props.transitionTime, thumbWidth: this.props.thumbWidth },\n                this.props.children\n            );\n        }\n    }, {\n        key: 'render',\n        value: function render() {\n            if (!this.props.children || _react.Children.count(this.props.children) === 0) {\n                return null;\n            }\n\n            var isHorizontal = this.props.axis === 'horizontal';\n\n            var canShowArrows = this.props.showArrows && _react.Children.count(this.props.children) > 1;\n\n            // show left arrow?\n            var hasPrev = canShowArrows && (this.state.selectedItem > 0 || this.props.infiniteLoop);\n            // show right arrow\n            var hasNext = canShowArrows && (this.state.selectedItem < _react.Children.count(this.props.children) - 1 || this.props.infiniteLoop);\n            // obj to hold the transformations and styles\n            var itemListStyles = {};\n\n            var currentPosition = this.getPosition(this.state.selectedItem);\n\n            // if 3d is available, let's take advantage of the performance of transform\n            var transformProp = (0, _CSSTranslate2.default)(currentPosition + '%', this.props.axis);\n\n            var transitionTime = this.props.transitionTime + 'ms';\n\n            itemListStyles = {\n                'WebkitTransform': transformProp,\n                'MozTransform': transformProp,\n                'MsTransform': transformProp,\n                'OTransform': transformProp,\n                'transform': transformProp,\n                'msTransform': transformProp\n            };\n\n            if (!this.state.swiping) {\n                itemListStyles = _extends({}, itemListStyles, {\n                    'WebkitTransitionDuration': transitionTime,\n                    'MozTransitionDuration': transitionTime,\n                    'MsTransitionDuration': transitionTime,\n                    'OTransitionDuration': transitionTime,\n                    'transitionDuration': transitionTime,\n                    'msTransitionDuration': transitionTime\n                });\n            }\n\n            var itemsClone = this.renderItems(true);\n            var firstClone = itemsClone.shift();\n            var lastClone = itemsClone.pop();\n\n            var swiperProps = {\n                selectedItem: this.state.selectedItem,\n                className: _cssClasses2.default.SLIDER(true, this.state.swiping),\n                onSwipeMove: this.onSwipeMove,\n                onSwipeStart: this.onSwipeStart,\n                onSwipeEnd: this.onSwipeEnd,\n                style: itemListStyles,\n                tolerance: this.props.swipeScrollTolerance\n            };\n\n            var containerStyles = {};\n\n            if (isHorizontal) {\n                swiperProps.onSwipeLeft = this.onSwipeForward;\n                swiperProps.onSwipeRight = this.onSwipeBackwards;\n\n                if (this.props.dynamicHeight) {\n                    var itemHeight = this.getVariableImageHeight(this.state.selectedItem);\n                    swiperProps.style.height = itemHeight || 'auto';\n                    containerStyles.height = itemHeight || 'auto';\n                }\n            } else {\n                swiperProps.onSwipeUp = this.props.verticalSwipe === 'natural' ? this.onSwipeBackwards : this.onSwipeForward;\n                swiperProps.onSwipeDown = this.props.verticalSwipe === 'natural' ? this.onSwipeForward : this.onSwipeBackwards;\n                swiperProps.style.height = this.state.itemSize;\n                containerStyles.height = this.state.itemSize;\n            }\n            return _react2.default.createElement(\n                'div',\n                { className: this.props.className, ref: this.setCarouselWrapperRef },\n                _react2.default.createElement(\n                    'div',\n                    { className: _cssClasses2.default.CAROUSEL(true), style: { width: this.props.width } },\n                    _react2.default.createElement('button', { type: 'button', className: _cssClasses2.default.ARROW_PREV(!hasPrev), onClick: this.onClickPrev }),\n                    _react2.default.createElement(\n                        'div',\n                        { className: _cssClasses2.default.WRAPPER(true, this.props.axis), style: containerStyles, ref: this.setItemsWrapperRef },\n                        this.props.swipeable ? _react2.default.createElement(\n                            _reactEasySwipe2.default,\n                            _extends({\n                                tagName: 'ul',\n                                ref: this.setListRef\n                            }, swiperProps, {\n                                allowMouseEvents: this.props.emulateTouch }),\n                            this.props.infiniteLoop && lastClone,\n                            this.renderItems(),\n                            this.props.infiniteLoop && firstClone\n                        ) : _react2.default.createElement(\n                            'ul',\n                            {\n                                className: _cssClasses2.default.SLIDER(true, this.state.swiping),\n                                ref: this.setListRef,\n                                style: itemListStyles },\n                            this.props.infiniteLoop && lastClone,\n                            this.renderItems(),\n                            this.props.infiniteLoop && firstClone\n                        )\n                    ),\n                    _react2.default.createElement('button', { type: 'button', className: _cssClasses2.default.ARROW_NEXT(!hasNext), onClick: this.onClickNext }),\n                    this.renderControls(),\n                    this.renderStatus()\n                ),\n                this.renderThumbs()\n            );\n        }\n    }]);\n\n    return Carousel;\n}(_react.Component);\n\nCarousel.displayName = 'Carousel';\nCarousel.propTypes = {\n    className: _propTypes2.default.string,\n    children: _propTypes2.default.node,\n    showArrows: _propTypes2.default.bool,\n    showStatus: _propTypes2.default.bool,\n    showIndicators: _propTypes2.default.bool,\n    infiniteLoop: _propTypes2.default.bool,\n    showThumbs: _propTypes2.default.bool,\n    thumbWidth: _propTypes2.default.number,\n    selectedItem: _propTypes2.default.number,\n    onClickItem: _propTypes2.default.func.isRequired,\n    onClickThumb: _propTypes2.default.func.isRequired,\n    onChange: _propTypes2.default.func.isRequired,\n    axis: _propTypes2.default.oneOf(['horizontal', 'vertical']),\n    verticalSwipe: _propTypes2.default.oneOf(['natural', 'standard']),\n    width: customPropTypes.unit,\n    useKeyboardArrows: _propTypes2.default.bool,\n    autoPlay: _propTypes2.default.bool,\n    stopOnHover: _propTypes2.default.bool,\n    interval: _propTypes2.default.number,\n    transitionTime: _propTypes2.default.number,\n    swipeScrollTolerance: _propTypes2.default.number,\n    swipeable: _propTypes2.default.bool,\n    dynamicHeight: _propTypes2.default.bool,\n    emulateTouch: _propTypes2.default.bool,\n    statusFormatter: _propTypes2.default.func.isRequired,\n    centerMode: _propTypes2.default.bool,\n    centerSlidePercentage: _propTypes2.default.number\n};\nCarousel.defaultProps = {\n    showIndicators: true,\n    showArrows: true,\n    showStatus: true,\n    showThumbs: true,\n    infiniteLoop: false,\n    selectedItem: 0,\n    axis: 'horizontal',\n    verticalSwipe: 'standard',\n    width: '100%',\n    useKeyboardArrows: false,\n    autoPlay: false,\n    stopOnHover: true,\n    interval: 3000,\n    transitionTime: 350,\n    swipeScrollTolerance: 5,\n    swipeable: true,\n    dynamicHeight: false,\n    emulateTouch: false,\n    onClickItem: noop,\n    onClickThumb: noop,\n    onChange: noop,\n    statusFormatter: defaultStatusFormatter,\n    centerMode: false,\n    centerSlidePercentage: 80\n};\n\nvar _initialiseProps = function _initialiseProps() {\n    var _this5 = this;\n\n    this.setThumbsRef = function (node) {\n        _this5.thumbsRef = node;\n    };\n\n    this.setCarouselWrapperRef = function (node) {\n        _this5.carouselWrapperRef = node;\n    };\n\n    this.setListRef = function (node) {\n        _this5.listRef = node;\n    };\n\n    this.setItemsWrapperRef = function (node) {\n        _this5.itemsWrapperRef = node;\n    };\n\n    this.setItemsRef = function (node, index) {\n        if (!_this5.itemsRef) {\n            _this5.itemsRef = [];\n        }\n        _this5.itemsRef[index] = node;\n    };\n\n    this.autoPlay = function () {\n        if (!_this5.state.autoPlay || _react.Children.count(_this5.props.children) <= 1) {\n            return;\n        }\n\n        clearTimeout(_this5.timer);\n        _this5.timer = setTimeout(function () {\n            _this5.increment();\n        }, _this5.props.interval);\n    };\n\n    this.clearAutoPlay = function () {\n        if (!_this5.state.autoPlay) {\n            return;\n        }\n\n        clearTimeout(_this5.timer);\n    };\n\n    this.resetAutoPlay = function () {\n        _this5.clearAutoPlay();\n        _this5.autoPlay();\n    };\n\n    this.stopOnHover = function () {\n        _this5.setState({ isMouseEntered: true });\n        _this5.clearAutoPlay();\n    };\n\n    this.startOnLeave = function () {\n        _this5.setState({ isMouseEntered: false });\n        _this5.autoPlay();\n    };\n\n    this.navigateWithKeyboard = function (e) {\n        var axis = _this5.props.axis;\n\n        var isHorizontal = axis === 'horizontal';\n        var keyNames = {\n            ArrowUp: 38,\n            ArrowRight: 39,\n            ArrowDown: 40,\n            ArrowLeft: 37\n        };\n\n        var nextKey = isHorizontal ? keyNames.ArrowRight : keyNames.ArrowDown;\n        var prevKey = isHorizontal ? keyNames.ArrowLeft : keyNames.ArrowUp;\n\n        if (nextKey === e.keyCode) {\n            _this5.increment();\n        } else if (prevKey === e.keyCode) {\n            _this5.decrement();\n        }\n    };\n\n    this.updateSizes = function () {\n        if (!_this5.state.initialized) {\n            return;\n        }\n\n        var isHorizontal = _this5.props.axis === 'horizontal';\n        var firstItem = _this5.itemsRef[0];\n        var itemSize = isHorizontal ? firstItem.clientWidth : firstItem.clientHeight;\n\n        _this5.setState(function (_state, props) {\n            return {\n                itemSize: itemSize,\n                wrapperSize: isHorizontal ? itemSize * _react.Children.count(props.children) : itemSize\n            };\n        });\n\n        if (_this5.thumbsRef) {\n            _this5.thumbsRef.updateSizes();\n        }\n    };\n\n    this.setMountState = function () {\n        _this5.setState({ hasMount: true });\n        _this5.updateSizes();\n    };\n\n    this.handleClickItem = function (index, item) {\n        if (_react.Children.count(_this5.props.children) == 0) {\n            return;\n        }\n\n        if (_this5.state.cancelClick) {\n            _this5.setState({\n                cancelClick: false\n            });\n\n            return;\n        }\n\n        _this5.props.onClickItem(index, item);\n\n        if (index !== _this5.state.selectedItem) {\n            _this5.setState({\n                selectedItem: index\n            });\n        }\n    };\n\n    this.handleOnChange = function (index, item) {\n        if (_react.Children.count(_this5.props.children) <= 1) {\n            return;\n        }\n\n        _this5.props.onChange(index, item);\n    };\n\n    this.handleClickThumb = function (index, item) {\n        _this5.props.onClickThumb(index, item);\n\n        _this5.selectItem({\n            selectedItem: index\n        });\n    };\n\n    this.onSwipeStart = function () {\n        _this5.setState({\n            swiping: true\n        });\n        _this5.clearAutoPlay();\n    };\n\n    this.onSwipeEnd = function () {\n        _this5.setState({\n            swiping: false\n        });\n        _this5.autoPlay();\n    };\n\n    this.onSwipeMove = function (delta) {\n        var isHorizontal = _this5.props.axis === 'horizontal';\n        var childrenLength = _react.Children.count(_this5.props.children);\n\n        var initialBoundry = 0;\n\n        var currentPosition = _this5.getPosition(_this5.state.selectedItem);\n        var finalBoundry = _this5.props.infiniteLoop ? _this5.getPosition(childrenLength - 1) - 100 : _this5.getPosition(childrenLength - 1);\n\n        var axisDelta = isHorizontal ? delta.x : delta.y;\n        var handledDelta = axisDelta;\n\n        // prevent user from swiping left out of boundaries\n        if (currentPosition === initialBoundry && axisDelta > 0) {\n            handledDelta = 0;\n        }\n\n        // prevent user from swiping right out of boundaries\n        if (currentPosition === finalBoundry && axisDelta < 0) {\n            handledDelta = 0;\n        }\n\n        var position = currentPosition + 100 / (_this5.state.itemSize / handledDelta);\n        if (_this5.props.infiniteLoop) {\n            // When allowing infinite loop, if we slide left from position 0 we reveal the cloned last slide that appears before it\n            // if we slide even further we need to jump to other side so it can continue - and vice versa for the last slide\n            if (_this5.state.selectedItem === 0 && position > -100) {\n                position -= childrenLength * 100;\n            } else if (_this5.state.selectedItem === childrenLength - 1 && position < -childrenLength * 100) {\n                position += childrenLength * 100;\n            }\n        }\n        position += '%';\n        _this5.setPosition(position);\n\n        // allows scroll if the swipe was within the tolerance\n        var hasMoved = Math.abs(axisDelta) > _this5.props.swipeScrollTolerance;\n\n        if (hasMoved && !_this5.state.cancelClick) {\n            _this5.setState({\n                cancelClick: true\n            });\n        }\n\n        return hasMoved;\n    };\n\n    this.setPosition = function (position, forceReflow) {\n        var list = _reactDom2.default.findDOMNode(_this5.listRef);\n        ['WebkitTransform', 'MozTransform', 'MsTransform', 'OTransform', 'transform', 'msTransform'].forEach(function (prop) {\n            list.style[prop] = (0, _CSSTranslate2.default)(position, _this5.props.axis);\n        });\n        if (forceReflow) {\n            list.offsetLeft;\n        }\n    };\n\n    this.resetPosition = function () {\n        var currentPosition = _this5.getPosition(_this5.state.selectedItem) + '%';\n        _this5.setPosition(currentPosition);\n    };\n\n    this.decrement = function () {\n        var positions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n        var fromSwipe = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n        _this5.moveTo(_this5.state.selectedItem - (typeof positions === 'number' ? positions : 1), fromSwipe);\n    };\n\n    this.increment = function () {\n        var positions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n        var fromSwipe = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n        _this5.moveTo(_this5.state.selectedItem + (typeof positions === 'number' ? positions : 1), fromSwipe);\n    };\n\n    this.moveTo = function (position, fromSwipe) {\n        var lastPosition = _react.Children.count(_this5.props.children) - 1;\n        var needClonedSlide = _this5.props.infiniteLoop && !fromSwipe && (position < 0 || position > lastPosition);\n        var oldPosition = position;\n\n        if (position < 0) {\n            position = _this5.props.infiniteLoop ? lastPosition : 0;\n        }\n\n        if (position > lastPosition) {\n            position = _this5.props.infiniteLoop ? 0 : lastPosition;\n        }\n\n        if (needClonedSlide) {\n            // set swiping true would disable transition time, then we set slider to cloned position and force a reflow\n            // this is only needed for non-swiping situation\n            _this5.setState({\n                swiping: true\n            }, function () {\n                if (oldPosition < 0) {\n                    if (_this5.props.centerMode && _this5.props.axis === 'horizontal') {\n                        _this5.setPosition('-' + ((lastPosition + 2) * _this5.props.centerSlidePercentage - (100 - _this5.props.centerSlidePercentage) / 2) + '%', true);\n                    } else {\n                        _this5.setPosition('-' + (lastPosition + 2) * 100 + '%', true);\n                    }\n                } else if (oldPosition > lastPosition) {\n                    _this5.setPosition(0, true);\n                }\n\n                _this5.selectItem({\n                    selectedItem: position,\n                    swiping: false\n                });\n            });\n        } else {\n            _this5.selectItem({\n                // if it's not a slider, we don't need to set position here\n                selectedItem: position\n            });\n        }\n\n        // don't reset auto play when stop on hover is enabled, doing so will trigger a call to auto play more than once\n        // and will result in the interval function not being cleared correctly.\n        if (_this5.state.autoPlay && _this5.state.isMouseEntered === false) {\n            _this5.resetAutoPlay();\n        }\n    };\n\n    this.onClickNext = function () {\n        _this5.increment(1, false);\n    };\n\n    this.onClickPrev = function () {\n        _this5.decrement(1, false);\n    };\n\n    this.onSwipeForward = function () {\n        _this5.increment(1, true);\n    };\n\n    this.onSwipeBackwards = function () {\n        _this5.decrement(1, true);\n    };\n\n    this.changeItem = function (e) {\n        if (!e.key || e.key === 'Enter') {\n            var newIndex = e.target.value;\n\n            _this5.selectItem({\n                selectedItem: newIndex\n            });\n        }\n    };\n\n    this.selectItem = function (state, cb) {\n        _this5.setState(state, cb);\n        _this5.handleOnChange(state.selectedItem, _react.Children.toArray(_this5.props.children)[state.selectedItem]);\n    };\n\n    this.getInitialImage = function () {\n        var selectedItem = _this5.props.selectedItem;\n        var item = _this5.itemsRef && _this5.itemsRef[selectedItem];\n        var images = item && item.getElementsByTagName('img');\n        return images && images[selectedItem];\n    };\n\n    this.getVariableImageHeight = function (position) {\n        var item = _this5.itemsRef && _this5.itemsRef[position];\n        var images = item && item.getElementsByTagName('img');\n        if (_this5.state.hasMount && images.length > 0) {\n            var image = images[0];\n\n            if (!image.complete) {\n                // if the image is still loading, the size won't be available so we trigger a new render after it's done\n                var onImageLoad = function onImageLoad() {\n                    _this5.forceUpdate();\n                    image.removeEventListener('load', onImageLoad);\n                };\n\n                image.addEventListener('load', onImageLoad);\n            }\n\n            var height = image.clientHeight;\n            return height > 0 ? height : null;\n        }\n\n        return null;\n    };\n};\n\nexports.default = Carousel;","/*!\n  Copyright (c) 2018 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)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\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","(function (global, factory) {\n  if (typeof define === \"function\" && define.amd) {\n    define(['exports', 'react', 'prop-types'], factory);\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('react'), require('prop-types'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.react, global.propTypes);\n    global.reactSwipe = mod.exports;\n  }\n})(this, function (exports, _react, _propTypes) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.setHasSupportToCaptureOption = setHasSupportToCaptureOption;\n\n  var _react2 = _interopRequireDefault(_react);\n\n  var _propTypes2 = _interopRequireDefault(_propTypes);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n      throw new TypeError(\"Cannot call a class as a function\");\n    }\n  }\n\n  var _createClass = function () {\n    function defineProperties(target, props) {\n      for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if (\"value\" in descriptor) descriptor.writable = true;\n        Object.defineProperty(target, descriptor.key, descriptor);\n      }\n    }\n\n    return function (Constructor, protoProps, staticProps) {\n      if (protoProps) defineProperties(Constructor.prototype, protoProps);\n      if (staticProps) defineProperties(Constructor, staticProps);\n      return Constructor;\n    };\n  }();\n\n  function _possibleConstructorReturn(self, call) {\n    if (!self) {\n      throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n    }\n\n    return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n  }\n\n  function _inherits(subClass, superClass) {\n    if (typeof superClass !== \"function\" && superClass !== null) {\n      throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n    }\n\n    subClass.prototype = Object.create(superClass && superClass.prototype, {\n      constructor: {\n        value: subClass,\n        enumerable: false,\n        writable: true,\n        configurable: true\n      }\n    });\n    if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n  }\n\n  var supportsCaptureOption = false;\n  function setHasSupportToCaptureOption(hasSupport) {\n    supportsCaptureOption = hasSupport;\n  }\n\n  try {\n    addEventListener(\"test\", null, Object.defineProperty({}, 'capture', { get: function get() {\n        setHasSupportToCaptureOption(true);\n      } }));\n  } catch (e) {}\n\n  function getSafeEventHandlerOpts() {\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { capture: true };\n\n    return supportsCaptureOption ? options : options.capture;\n  }\n\n  /**\n   * [getPosition returns a position element that works for mouse or touch events]\n   * @param  {[Event]} event [the received event]\n   * @return {[Object]}      [x and y coords]\n   */\n  function getPosition(event) {\n    if ('touches' in event) {\n      var _event$touches$ = event.touches[0],\n          pageX = _event$touches$.pageX,\n          pageY = _event$touches$.pageY;\n\n      return { x: pageX, y: pageY };\n    }\n\n    var screenX = event.screenX,\n        screenY = event.screenY;\n\n    return { x: screenX, y: screenY };\n  }\n\n  var ReactSwipe = function (_Component) {\n    _inherits(ReactSwipe, _Component);\n\n    function ReactSwipe() {\n      var _ref;\n\n      _classCallCheck(this, ReactSwipe);\n\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      var _this = _possibleConstructorReturn(this, (_ref = ReactSwipe.__proto__ || Object.getPrototypeOf(ReactSwipe)).call.apply(_ref, [this].concat(args)));\n\n      _this._handleSwipeStart = _this._handleSwipeStart.bind(_this);\n      _this._handleSwipeMove = _this._handleSwipeMove.bind(_this);\n      _this._handleSwipeEnd = _this._handleSwipeEnd.bind(_this);\n\n      _this._onMouseDown = _this._onMouseDown.bind(_this);\n      _this._onMouseMove = _this._onMouseMove.bind(_this);\n      _this._onMouseUp = _this._onMouseUp.bind(_this);\n      return _this;\n    }\n\n    _createClass(ReactSwipe, [{\n      key: 'componentDidMount',\n      value: function componentDidMount() {\n        if (this.swiper) {\n          this.swiper.addEventListener('touchmove', this._handleSwipeMove, getSafeEventHandlerOpts({\n            capture: true,\n            passive: false\n          }));\n        }\n      }\n    }, {\n      key: 'componentWillUnmount',\n      value: function componentWillUnmount() {\n        if (this.swiper) {\n          this.swiper.removeEventListener('touchmove', this._handleSwipeMove, getSafeEventHandlerOpts({\n            capture: true,\n            passive: false\n          }));\n        }\n      }\n    }, {\n      key: '_onMouseDown',\n      value: function _onMouseDown(event) {\n        if (!this.props.allowMouseEvents) {\n          return;\n        }\n\n        this.mouseDown = true;\n\n        document.addEventListener('mouseup', this._onMouseUp);\n        document.addEventListener('mousemove', this._onMouseMove);\n\n        this._handleSwipeStart(event);\n      }\n    }, {\n      key: '_onMouseMove',\n      value: function _onMouseMove(event) {\n        if (!this.mouseDown) {\n          return;\n        }\n\n        this._handleSwipeMove(event);\n      }\n    }, {\n      key: '_onMouseUp',\n      value: function _onMouseUp(event) {\n        this.mouseDown = false;\n\n        document.removeEventListener('mouseup', this._onMouseUp);\n        document.removeEventListener('mousemove', this._onMouseMove);\n\n        this._handleSwipeEnd(event);\n      }\n    }, {\n      key: '_handleSwipeStart',\n      value: function _handleSwipeStart(event) {\n        var _getPosition = getPosition(event),\n            x = _getPosition.x,\n            y = _getPosition.y;\n\n        this.moveStart = { x: x, y: y };\n        this.props.onSwipeStart(event);\n      }\n    }, {\n      key: '_handleSwipeMove',\n      value: function _handleSwipeMove(event) {\n        if (!this.moveStart) {\n          return;\n        }\n\n        var _getPosition2 = getPosition(event),\n            x = _getPosition2.x,\n            y = _getPosition2.y;\n\n        var deltaX = x - this.moveStart.x;\n        var deltaY = y - this.moveStart.y;\n        this.moving = true;\n\n        // handling the responsability of cancelling the scroll to\n        // the component handling the event\n        var shouldPreventDefault = this.props.onSwipeMove({\n          x: deltaX,\n          y: deltaY\n        }, event);\n\n        if (shouldPreventDefault) {\n          event.preventDefault();\n        }\n\n        this.movePosition = { deltaX: deltaX, deltaY: deltaY };\n      }\n    }, {\n      key: '_handleSwipeEnd',\n      value: function _handleSwipeEnd(event) {\n        this.props.onSwipeEnd(event);\n\n        var tolerance = this.props.tolerance;\n\n\n        if (this.moving && this.movePosition) {\n          if (this.movePosition.deltaX < -tolerance) {\n            this.props.onSwipeLeft(1, event);\n          } else if (this.movePosition.deltaX > tolerance) {\n            this.props.onSwipeRight(1, event);\n          }\n          if (this.movePosition.deltaY < -tolerance) {\n            this.props.onSwipeUp(1, event);\n          } else if (this.movePosition.deltaY > tolerance) {\n            this.props.onSwipeDown(1, event);\n          }\n        }\n\n        this.moveStart = null;\n        this.moving = false;\n        this.movePosition = null;\n      }\n    }, {\n      key: 'render',\n      value: function render() {\n        var _this2 = this;\n\n        return _react2.default.createElement(\n          this.props.tagName,\n          {\n            ref: function ref(node) {\n              return _this2.swiper = node;\n            },\n            onMouseDown: this._onMouseDown,\n            onTouchStart: this._handleSwipeStart,\n            onTouchEnd: this._handleSwipeEnd,\n            className: this.props.className,\n            style: this.props.style\n          },\n          this.props.children\n        );\n      }\n    }]);\n\n    return ReactSwipe;\n  }(_react.Component);\n\n  ReactSwipe.displayName = 'ReactSwipe';\n  ReactSwipe.propTypes = {\n    tagName: _propTypes2.default.string,\n    className: _propTypes2.default.string,\n    style: _propTypes2.default.object,\n    children: _propTypes2.default.node,\n    allowMouseEvents: _propTypes2.default.bool,\n    onSwipeUp: _propTypes2.default.func,\n    onSwipeDown: _propTypes2.default.func,\n    onSwipeLeft: _propTypes2.default.func,\n    onSwipeRight: _propTypes2.default.func,\n    onSwipeStart: _propTypes2.default.func,\n    onSwipeMove: _propTypes2.default.func,\n    onSwipeEnd: _propTypes2.default.func,\n    tolerance: _propTypes2.default.number.isRequired\n  };\n  ReactSwipe.defaultProps = {\n    tagName: 'div',\n    allowMouseEvents: false,\n    onSwipeUp: function onSwipeUp() {},\n    onSwipeDown: function onSwipeDown() {},\n    onSwipeLeft: function onSwipeLeft() {},\n    onSwipeRight: function onSwipeRight() {},\n    onSwipeStart: function onSwipeStart() {},\n    onSwipeMove: function onSwipeMove() {},\n    onSwipeEnd: function onSwipeEnd() {},\n\n    tolerance: 0\n  };\n  exports.default = ReactSwipe;\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nvar outerWidth = exports.outerWidth = function outerWidth(el) {\n\tvar width = el.offsetWidth;\n\tvar style = getComputedStyle(el);\n\n\twidth += parseInt(style.marginLeft) + parseInt(style.marginRight);\n\treturn width;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\nvar unit = exports.unit = function unit(props, propName, componentName) {\n    if (!/(pt|px|em|rem|vw|vh|%)$/.test(props[propName])) {\n        return new Error('Invalid prop `' + propName + '` supplied to' + ' `' + componentName + '`. Validation failed. It needs to be a size unit like pt, px, em, rem, vw, %');\n    }\n};"],"sourceRoot":""}