@economist/fabric-carousel
Version:
A small package for quickly creating carousels.
162 lines (128 loc) • 20.1 kB
JavaScript
;
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = Slider;
var _react = _interopRequireWildcard(require("react"));
var _CarouselContext = _interopRequireDefault(require("../CarouselContext"));
var _core = require("@emotion/core");
var _propTypes = _interopRequireDefault(require("prop-types"));
var _utility = require("../utility");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
var _ref = process.env.NODE_ENV === "production" ? {
name: "74lwju-Slider",
styles: "overflow:hidden;height:100%;width:100%;;label:Slider;"
} : {
name: "74lwju-Slider",
styles: "overflow:hidden;height:100%;width:100%;;label:Slider;",
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbGlkZXIvU2xpZGVyLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpR1ciLCJmaWxlIjoiLi4vLi4vc3JjL3NsaWRlci9TbGlkZXIuanN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IENhcm91c2VsQ29udGV4dCBmcm9tICcuLi9DYXJvdXNlbENvbnRleHQnXG5pbXBvcnQgeyBjc3MgfSBmcm9tIFwiQGVtb3Rpb24vY29yZVwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnXG5cbmltcG9ydCB7UmlnaHRCdXR0b24sIExlZnRCdXR0b259IGZyb20gJy4uL3V0aWxpdHknXG5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gU2xpZGVyKHsgY2hpbGRyZW4sIHdpdGhCdXR0b24gPSB0cnVlLCBidXR0b25TdHlsaW5nLCByaWdodEJ1dHRvblRleHQgPSBcIk5leHRcIiwgbGVmdEJ1dHRvblRleHQgPVwiUHJldlwiIH0pIHtcbiAgY29uc3QgcmVmZXIgPSBSZWFjdC5jcmVhdGVSZWYoKVxuICBjb25zdCB7IHdpZHRoLCBoZWlnaHQsIHZpc2libGVJbmRleCwgdG90YWxTbGlkZXMsIHZpc2libGVDb3VudCwgaW5maW5pdGUsIHNsaWRlc2hvdywgc2xpZGVzaG93RHVyYXRpb24sIHRyYW5zaXRpb25EdXJhdGlvbn0gPSB1c2VDb250ZXh0KENhcm91c2VsQ29udGV4dClcbiAgLy8gY2hhbmdlIHNsaWRlc1xuICBsZXQgaW5kZXggPSB2aXNpYmxlSW5kZXggLSAxXG4gIGNvbnN0IGNoYW5nZVNsaWRlID0gKGNoYW5nZUJ5KSA9PiB7XG4gICAgaWYgKGluZGV4ICsgY2hhbmdlQnkgPiBNYXRoLmNlaWwodG90YWxTbGlkZXMgLyB2aXNpYmxlQ291bnQpKSB7XG4gICAgICBpZiAoIWluZmluaXRlKSB7IHJldHVybiB9XG4gICAgICBpbmRleCA9IDBcbiAgICB9XG4gICAgaWYgKGluZGV4ICsgY2hhbmdlQnkgPCAxKSB7XG4gICAgICBpZiAoIWluZmluaXRlKSB7IHJldHVybiB9XG4gICAgICBpbmRleCA9IE1hdGguZmxvb3IodG90YWxTbGlkZXMgLyB2aXNpYmxlQ291bnQpXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgaW5kZXggKz0gY2hhbmdlQnlcbiAgICB9XG4gICAgcmVmZXIuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWCgtJHsocmVmZXIuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCAqIChpbmRleCAtIDEpKX1weClgXG4gIH1cbiAgLy8gaWYgc2xpZGVzaG93IFxuICBpZiAoc2xpZGVzaG93KSB7XG4gICAgaWYgKCFpbmZpbml0ZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW5maW5pdGUgPSB0cnVlIGlzIG5lZWRlZCBmb3Igc2xpZGVzaG93XCIpXG4gICAgfVxuICAgIHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGNoYW5nZVNsaWRlKDEpXG4gICAgfSwgc2xpZGVzaG93RHVyYXRpb24pXG4gIH1cbiAgLy8gdG91Y2ggZXZlbnRzIFxuICBsZXQgeDEsIHgyID0gMDtcbiAgbGV0IHN3aXBpbmcgPSBmYWxzZTtcblxuICBjb25zdCBoYW5kbGVUb3VjaFN0YXJ0ID0gKGUpID0+IHtcbiAgICB4MSA9IGUudG91Y2hlc1swXS5jbGllbnRYXG4gICAgc3dpcGluZyA9IHRydWU7XG4gIH1cbiAgY29uc3QgaGFuZGxlVG91Y2hFbmQgPSAoZSkgPT4ge1xuICAgIGNvbnN0IHRvdWNoID0gZS5jaGFuZ2VkVG91Y2hlc1swXTtcbiAgICB4MiA9IHRvdWNoLmNsaWVudFhcbiAgICBjb25zdCBzd2lwZURpc3RhbmNlID0geDIgLSB4MTtcbiAgICBpZiAoc3dpcGluZyAmJiBNYXRoLmFicyhzd2lwZURpc3RhbmNlKSA+IDEwMCkge1xuICAgICAgaWYgKHN3aXBlRGlzdGFuY2UgPCAwKSB7XG4gICAgICAgIGNoYW5nZVNsaWRlKDEpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjaGFuZ2VTbGlkZSgtMSlcbiAgICAgIH1cbiAgICB9XG4gICAgeDEgPSAwO1xuICAgIHgyID0gMDtcbiAgICBzd2lwaW5nID0gZmFsc2U7XG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh2aXNpYmxlQ291bnQgPiB0b3RhbFNsaWRlcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwidmlzaWJsZUNvdW50IGNhbid0IGJlIGdyZWF0ZXIgdGhhbiB0b3RhbCBzbGlkZXNcIilcbiAgICB9XG4gICAgY2hhbmdlU2xpZGUoMSlcbiAgfSlcblxuXG4gIGNvbnN0IHNsaWRlciA9IGNzc2BcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGhlaWdodDogJHtoZWlnaHR9O1xuICAgIHdpZHRoOiAke3dpZHRofTtcbiAgICBib3gtc2hhZG93OiAwIDAgMnB4ICNhN2E3YTc7XG4gICAgJiA+IGJ1dHRvbntcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDI1cHgpO1xuICAgICAgei1pbmRleDogMTAwMDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAke2J1dHRvblN0eWxpbmd9XG4gICAgfVxuICAgIGBcbiAgY29uc3QgV3JhcHBlciA9IGNzc2BcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgaGVpZ2h0OiAke2hlaWdodH07XG4gICAgd2lkdGg6ICR7d2lkdGh9O1xuICAgIHRyYW5zaXRpb246IGFsbCAke3RyYW5zaXRpb25EdXJhdGlvbn07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIGBcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNzcz17c2xpZGVyfT5cbiAgICAgIHt3aXRoQnV0dG9uICYmIDxMZWZ0QnV0dG9uIGNoYW5nZUhhbmRsZXI9e2NoYW5nZVNsaWRlfSBjb250ZW50PXtsZWZ0QnV0dG9uVGV4dH0gLz59XG4gICAgICA8ZGl2IGNzcz17XG4gICAgICAgIGNzc2BcbiAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBcbiAgICAgIGB9PlxuICAgICAgICA8ZGl2IG9uVG91Y2hTdGFydD17aGFuZGxlVG91Y2hTdGFydH0gb25Ub3VjaEVuZD17aGFuZGxlVG91Y2hFbmR9IHJlZj17cmVmZXJ9IGNzcz17V3JhcHBlcn0+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3dpdGhCdXR0b24gJiYgPFJpZ2h0QnV0dG9uIGNoYW5nZUhhbmRsZXI9e2NoYW5nZVNsaWRlfSBjb250ZW50PXtyaWdodEJ1dHRvblRleHR9IC8+fVxuICAgIDwvZGl2PlxuICApXG59XG5cblNsaWRlci5wcm9wVHlwZXMgPXtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLmVsZW1lbnQuaXNSZXF1aXJlZCxcbiAgICB3aXRoQnV0dG9uOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBidXR0b25TdHlsaW5nOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHJpZ2h0QnV0dG9uVGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBsZWZ0QnV0dG9uVGV4dDogUHJvcFR5cGVzLnN0cmluZ1xufVxuXG5cblxuXG5cblxuIl19 */",
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
};
function Slider(_ref2) {
var children = _ref2.children,
_ref2$withButton = _ref2.withButton,
withButton = _ref2$withButton === void 0 ? true : _ref2$withButton,
buttonStyling = _ref2.buttonStyling,
_ref2$rightButtonText = _ref2.rightButtonText,
rightButtonText = _ref2$rightButtonText === void 0 ? "Next" : _ref2$rightButtonText,
_ref2$leftButtonText = _ref2.leftButtonText,
leftButtonText = _ref2$leftButtonText === void 0 ? "Prev" : _ref2$leftButtonText;
var refer = _react["default"].createRef();
var _useContext = (0, _react.useContext)(_CarouselContext["default"]),
width = _useContext.width,
height = _useContext.height,
visibleIndex = _useContext.visibleIndex,
totalSlides = _useContext.totalSlides,
visibleCount = _useContext.visibleCount,
infinite = _useContext.infinite,
slideshow = _useContext.slideshow,
slideshowDuration = _useContext.slideshowDuration,
transitionDuration = _useContext.transitionDuration; // change slides
var index = visibleIndex - 1;
var changeSlide = function changeSlide(changeBy) {
if (index + changeBy > Math.ceil(totalSlides / visibleCount)) {
if (!infinite) {
return;
}
index = 0;
}
if (index + changeBy < 1) {
if (!infinite) {
return;
}
index = Math.floor(totalSlides / visibleCount);
} else {
index += changeBy;
}
refer.current.style.transform = "translateX(-".concat(refer.current.getBoundingClientRect().width * (index - 1), "px)");
}; // if slideshow
if (slideshow) {
if (!infinite) {
throw new Error("infinite = true is needed for slideshow");
}
setInterval(function () {
changeSlide(1);
}, slideshowDuration);
} // touch events
var x1,
x2 = 0;
var swiping = false;
var handleTouchStart = function handleTouchStart(e) {
x1 = e.touches[0].clientX;
swiping = true;
};
var handleTouchEnd = function handleTouchEnd(e) {
var touch = e.changedTouches[0];
x2 = touch.clientX;
var swipeDistance = x2 - x1;
if (swiping && Math.abs(swipeDistance) > 100) {
if (swipeDistance < 0) {
changeSlide(1);
} else {
changeSlide(-1);
}
}
x1 = 0;
x2 = 0;
swiping = false;
};
(0, _react.useEffect)(function () {
if (visibleCount > totalSlides) {
throw new Error("visibleCount can't be greater than total slides");
}
changeSlide(1);
});
var slider =
/*#__PURE__*/
(0, _core.css)("position:relative;display:flex;height:", height, ";width:", width, ";box-shadow:0 0 2px #a7a7a7;& > button{position:absolute;height:60px;width:60px;font-size:16px;top:calc(50% - 25px);z-index:10000;cursor:pointer;", buttonStyling, "};label:slider;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbGlkZXIvU2xpZGVyLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvRW9CIiwiZmlsZSI6Ii4uLy4uL3NyYy9zbGlkZXIvU2xpZGVyLmpzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0LCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBDYXJvdXNlbENvbnRleHQgZnJvbSAnLi4vQ2Fyb3VzZWxDb250ZXh0J1xuaW1wb3J0IHsgY3NzIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJ1xuXG5pbXBvcnQge1JpZ2h0QnV0dG9uLCBMZWZ0QnV0dG9ufSBmcm9tICcuLi91dGlsaXR5J1xuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFNsaWRlcih7IGNoaWxkcmVuLCB3aXRoQnV0dG9uID0gdHJ1ZSwgYnV0dG9uU3R5bGluZywgcmlnaHRCdXR0b25UZXh0ID0gXCJOZXh0XCIsIGxlZnRCdXR0b25UZXh0ID1cIlByZXZcIiB9KSB7XG4gIGNvbnN0IHJlZmVyID0gUmVhY3QuY3JlYXRlUmVmKClcbiAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0LCB2aXNpYmxlSW5kZXgsIHRvdGFsU2xpZGVzLCB2aXNpYmxlQ291bnQsIGluZmluaXRlLCBzbGlkZXNob3csIHNsaWRlc2hvd0R1cmF0aW9uLCB0cmFuc2l0aW9uRHVyYXRpb259ID0gdXNlQ29udGV4dChDYXJvdXNlbENvbnRleHQpXG4gIC8vIGNoYW5nZSBzbGlkZXNcbiAgbGV0IGluZGV4ID0gdmlzaWJsZUluZGV4IC0gMVxuICBjb25zdCBjaGFuZ2VTbGlkZSA9IChjaGFuZ2VCeSkgPT4ge1xuICAgIGlmIChpbmRleCArIGNoYW5nZUJ5ID4gTWF0aC5jZWlsKHRvdGFsU2xpZGVzIC8gdmlzaWJsZUNvdW50KSkge1xuICAgICAgaWYgKCFpbmZpbml0ZSkgeyByZXR1cm4gfVxuICAgICAgaW5kZXggPSAwXG4gICAgfVxuICAgIGlmIChpbmRleCArIGNoYW5nZUJ5IDwgMSkge1xuICAgICAgaWYgKCFpbmZpbml0ZSkgeyByZXR1cm4gfVxuICAgICAgaW5kZXggPSBNYXRoLmZsb29yKHRvdGFsU2xpZGVzIC8gdmlzaWJsZUNvdW50KVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGluZGV4ICs9IGNoYW5nZUJ5XG4gICAgfVxuICAgIHJlZmVyLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZVgoLSR7KHJlZmVyLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggKiAoaW5kZXggLSAxKSl9cHgpYFxuICB9XG4gIC8vIGlmIHNsaWRlc2hvdyBcbiAgaWYgKHNsaWRlc2hvdykge1xuICAgIGlmICghaW5maW5pdGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImluZmluaXRlID0gdHJ1ZSBpcyBuZWVkZWQgZm9yIHNsaWRlc2hvd1wiKVxuICAgIH1cbiAgICBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBjaGFuZ2VTbGlkZSgxKVxuICAgIH0sIHNsaWRlc2hvd0R1cmF0aW9uKVxuICB9XG4gIC8vIHRvdWNoIGV2ZW50cyBcbiAgbGV0IHgxLCB4MiA9IDA7XG4gIGxldCBzd2lwaW5nID0gZmFsc2U7XG5cbiAgY29uc3QgaGFuZGxlVG91Y2hTdGFydCA9IChlKSA9PiB7XG4gICAgeDEgPSBlLnRvdWNoZXNbMF0uY2xpZW50WFxuICAgIHN3aXBpbmcgPSB0cnVlO1xuICB9XG4gIGNvbnN0IGhhbmRsZVRvdWNoRW5kID0gKGUpID0+IHtcbiAgICBjb25zdCB0b3VjaCA9IGUuY2hhbmdlZFRvdWNoZXNbMF07XG4gICAgeDIgPSB0b3VjaC5jbGllbnRYXG4gICAgY29uc3Qgc3dpcGVEaXN0YW5jZSA9IHgyIC0geDE7XG4gICAgaWYgKHN3aXBpbmcgJiYgTWF0aC5hYnMoc3dpcGVEaXN0YW5jZSkgPiAxMDApIHtcbiAgICAgIGlmIChzd2lwZURpc3RhbmNlIDwgMCkge1xuICAgICAgICBjaGFuZ2VTbGlkZSgxKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2hhbmdlU2xpZGUoLTEpXG4gICAgICB9XG4gICAgfVxuICAgIHgxID0gMDtcbiAgICB4MiA9IDA7XG4gICAgc3dpcGluZyA9IGZhbHNlO1xuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodmlzaWJsZUNvdW50ID4gdG90YWxTbGlkZXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInZpc2libGVDb3VudCBjYW4ndCBiZSBncmVhdGVyIHRoYW4gdG90YWwgc2xpZGVzXCIpXG4gICAgfVxuICAgIGNoYW5nZVNsaWRlKDEpXG4gIH0pXG5cblxuICBjb25zdCBzbGlkZXIgPSBjc3NgXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBoZWlnaHQ6ICR7aGVpZ2h0fTtcbiAgICB3aWR0aDogJHt3aWR0aH07XG4gICAgYm94LXNoYWRvdzogMCAwIDJweCAjYTdhN2E3O1xuICAgICYgPiBidXR0b257XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAyNXB4KTtcbiAgICAgIHotaW5kZXg6IDEwMDAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgJHtidXR0b25TdHlsaW5nfVxuICAgIH1cbiAgICBgXG4gIGNvbnN0IFdyYXBwZXIgPSBjc3NgXG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGhlaWdodDogJHtoZWlnaHR9O1xuICAgIHdpZHRoOiAke3dpZHRofTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHt0cmFuc2l0aW9uRHVyYXRpb259O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICBgXG4gIHJldHVybiAoXG4gICAgPGRpdiBjc3M9e3NsaWRlcn0+XG4gICAgICB7d2l0aEJ1dHRvbiAmJiA8TGVmdEJ1dHRvbiBjaGFuZ2VIYW5kbGVyPXtjaGFuZ2VTbGlkZX0gY29udGVudD17bGVmdEJ1dHRvblRleHR9IC8+fVxuICAgICAgPGRpdiBjc3M9e1xuICAgICAgICBjc3NgXG4gICAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgXG4gICAgICBgfT5cbiAgICAgICAgPGRpdiBvblRvdWNoU3RhcnQ9e2hhbmRsZVRvdWNoU3RhcnR9IG9uVG91Y2hFbmQ9e2hhbmRsZVRvdWNoRW5kfSByZWY9e3JlZmVyfSBjc3M9e1dyYXBwZXJ9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIHt3aXRoQnV0dG9uICYmIDxSaWdodEJ1dHRvbiBjaGFuZ2VIYW5kbGVyPXtjaGFuZ2VTbGlkZX0gY29udGVudD17cmlnaHRCdXR0b25UZXh0fSAvPn1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5TbGlkZXIucHJvcFR5cGVzID17XG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5lbGVtZW50LmlzUmVxdWlyZWQsXG4gICAgd2l0aEJ1dHRvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgYnV0dG9uU3R5bGluZzogUHJvcFR5cGVzLnN0cmluZyxcbiAgICByaWdodEJ1dHRvblRleHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbGVmdEJ1dHRvblRleHQ6IFByb3BUeXBlcy5zdHJpbmdcbn1cblxuXG5cblxuXG5cbiJdfQ== */"));
var Wrapper =
/*#__PURE__*/
(0, _core.css)("display:flex;height:", height, ";width:", width, ";transition:all ", transitionDuration, ";margin:0;padding:0;;label:Wrapper;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbGlkZXIvU2xpZGVyLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxRnFCIiwiZmlsZSI6Ii4uLy4uL3NyYy9zbGlkZXIvU2xpZGVyLmpzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0LCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBDYXJvdXNlbENvbnRleHQgZnJvbSAnLi4vQ2Fyb3VzZWxDb250ZXh0J1xuaW1wb3J0IHsgY3NzIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJ1xuXG5pbXBvcnQge1JpZ2h0QnV0dG9uLCBMZWZ0QnV0dG9ufSBmcm9tICcuLi91dGlsaXR5J1xuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFNsaWRlcih7IGNoaWxkcmVuLCB3aXRoQnV0dG9uID0gdHJ1ZSwgYnV0dG9uU3R5bGluZywgcmlnaHRCdXR0b25UZXh0ID0gXCJOZXh0XCIsIGxlZnRCdXR0b25UZXh0ID1cIlByZXZcIiB9KSB7XG4gIGNvbnN0IHJlZmVyID0gUmVhY3QuY3JlYXRlUmVmKClcbiAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0LCB2aXNpYmxlSW5kZXgsIHRvdGFsU2xpZGVzLCB2aXNpYmxlQ291bnQsIGluZmluaXRlLCBzbGlkZXNob3csIHNsaWRlc2hvd0R1cmF0aW9uLCB0cmFuc2l0aW9uRHVyYXRpb259ID0gdXNlQ29udGV4dChDYXJvdXNlbENvbnRleHQpXG4gIC8vIGNoYW5nZSBzbGlkZXNcbiAgbGV0IGluZGV4ID0gdmlzaWJsZUluZGV4IC0gMVxuICBjb25zdCBjaGFuZ2VTbGlkZSA9IChjaGFuZ2VCeSkgPT4ge1xuICAgIGlmIChpbmRleCArIGNoYW5nZUJ5ID4gTWF0aC5jZWlsKHRvdGFsU2xpZGVzIC8gdmlzaWJsZUNvdW50KSkge1xuICAgICAgaWYgKCFpbmZpbml0ZSkgeyByZXR1cm4gfVxuICAgICAgaW5kZXggPSAwXG4gICAgfVxuICAgIGlmIChpbmRleCArIGNoYW5nZUJ5IDwgMSkge1xuICAgICAgaWYgKCFpbmZpbml0ZSkgeyByZXR1cm4gfVxuICAgICAgaW5kZXggPSBNYXRoLmZsb29yKHRvdGFsU2xpZGVzIC8gdmlzaWJsZUNvdW50KVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGluZGV4ICs9IGNoYW5nZUJ5XG4gICAgfVxuICAgIHJlZmVyLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZVgoLSR7KHJlZmVyLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggKiAoaW5kZXggLSAxKSl9cHgpYFxuICB9XG4gIC8vIGlmIHNsaWRlc2hvdyBcbiAgaWYgKHNsaWRlc2hvdykge1xuICAgIGlmICghaW5maW5pdGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImluZmluaXRlID0gdHJ1ZSBpcyBuZWVkZWQgZm9yIHNsaWRlc2hvd1wiKVxuICAgIH1cbiAgICBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBjaGFuZ2VTbGlkZSgxKVxuICAgIH0sIHNsaWRlc2hvd0R1cmF0aW9uKVxuICB9XG4gIC8vIHRvdWNoIGV2ZW50cyBcbiAgbGV0IHgxLCB4MiA9IDA7XG4gIGxldCBzd2lwaW5nID0gZmFsc2U7XG5cbiAgY29uc3QgaGFuZGxlVG91Y2hTdGFydCA9IChlKSA9PiB7XG4gICAgeDEgPSBlLnRvdWNoZXNbMF0uY2xpZW50WFxuICAgIHN3aXBpbmcgPSB0cnVlO1xuICB9XG4gIGNvbnN0IGhhbmRsZVRvdWNoRW5kID0gKGUpID0+IHtcbiAgICBjb25zdCB0b3VjaCA9IGUuY2hhbmdlZFRvdWNoZXNbMF07XG4gICAgeDIgPSB0b3VjaC5jbGllbnRYXG4gICAgY29uc3Qgc3dpcGVEaXN0YW5jZSA9IHgyIC0geDE7XG4gICAgaWYgKHN3aXBpbmcgJiYgTWF0aC5hYnMoc3dpcGVEaXN0YW5jZSkgPiAxMDApIHtcbiAgICAgIGlmIChzd2lwZURpc3RhbmNlIDwgMCkge1xuICAgICAgICBjaGFuZ2VTbGlkZSgxKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2hhbmdlU2xpZGUoLTEpXG4gICAgICB9XG4gICAgfVxuICAgIHgxID0gMDtcbiAgICB4MiA9IDA7XG4gICAgc3dpcGluZyA9IGZhbHNlO1xuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodmlzaWJsZUNvdW50ID4gdG90YWxTbGlkZXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInZpc2libGVDb3VudCBjYW4ndCBiZSBncmVhdGVyIHRoYW4gdG90YWwgc2xpZGVzXCIpXG4gICAgfVxuICAgIGNoYW5nZVNsaWRlKDEpXG4gIH0pXG5cblxuICBjb25zdCBzbGlkZXIgPSBjc3NgXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBoZWlnaHQ6ICR7aGVpZ2h0fTtcbiAgICB3aWR0aDogJHt3aWR0aH07XG4gICAgYm94LXNoYWRvdzogMCAwIDJweCAjYTdhN2E3O1xuICAgICYgPiBidXR0b257XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAyNXB4KTtcbiAgICAgIHotaW5kZXg6IDEwMDAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgJHtidXR0b25TdHlsaW5nfVxuICAgIH1cbiAgICBgXG4gIGNvbnN0IFdyYXBwZXIgPSBjc3NgXG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGhlaWdodDogJHtoZWlnaHR9O1xuICAgIHdpZHRoOiAke3dpZHRofTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHt0cmFuc2l0aW9uRHVyYXRpb259O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICBgXG4gIHJldHVybiAoXG4gICAgPGRpdiBjc3M9e3NsaWRlcn0+XG4gICAgICB7d2l0aEJ1dHRvbiAmJiA8TGVmdEJ1dHRvbiBjaGFuZ2VIYW5kbGVyPXtjaGFuZ2VTbGlkZX0gY29udGVudD17bGVmdEJ1dHRvblRleHR9IC8+fVxuICAgICAgPGRpdiBjc3M9e1xuICAgICAgICBjc3NgXG4gICAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgXG4gICAgICBgfT5cbiAgICAgICAgPGRpdiBvblRvdWNoU3RhcnQ9e2hhbmRsZVRvdWNoU3RhcnR9IG9uVG91Y2hFbmQ9e2hhbmRsZVRvdWNoRW5kfSByZWY9e3JlZmVyfSBjc3M9e1dyYXBwZXJ9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIHt3aXRoQnV0dG9uICYmIDxSaWdodEJ1dHRvbiBjaGFuZ2VIYW5kbGVyPXtjaGFuZ2VTbGlkZX0gY29udGVudD17cmlnaHRCdXR0b25UZXh0fSAvPn1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5TbGlkZXIucHJvcFR5cGVzID17XG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5lbGVtZW50LmlzUmVxdWlyZWQsXG4gICAgd2l0aEJ1dHRvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgYnV0dG9uU3R5bGluZzogUHJvcFR5cGVzLnN0cmluZyxcbiAgICByaWdodEJ1dHRvblRleHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbGVmdEJ1dHRvblRleHQ6IFByb3BUeXBlcy5zdHJpbmdcbn1cblxuXG5cblxuXG5cbiJdfQ== */"));
return (0, _core.jsx)("div", {
css: slider
}, withButton && (0, _core.jsx)(_utility.LeftButton, {
changeHandler: changeSlide,
content: leftButtonText
}), (0, _core.jsx)("div", {
css: _ref
}, (0, _core.jsx)("div", {
onTouchStart: handleTouchStart,
onTouchEnd: handleTouchEnd,
ref: refer,
css: Wrapper
}, children)), withButton && (0, _core.jsx)(_utility.RightButton, {
changeHandler: changeSlide,
content: rightButtonText
}));
}
Slider.propTypes = {
children: _propTypes["default"].element.isRequired,
withButton: _propTypes["default"].bool,
buttonStyling: _propTypes["default"].string,
rightButtonText: _propTypes["default"].string,
leftButtonText: _propTypes["default"].string
};