{ version: 3, file: "ec33a33f4e369ecf2573651fbe97f7ff74bc1818-87026698b96b1a24b1c7.js", mappings: "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", sources: [ "webpack://husky-site/../../node_modules/react-easy-swipe/lib/index.js", "webpack://husky-site/../../node_modules/react-easy-swipe/lib/react-swipe.js", "webpack://husky-site/../../node_modules/react-responsive-carousel/lib/js/CSSTranslate.js", "webpack://husky-site/../../node_modules/react-responsive-carousel/lib/js/components/Carousel/animations.js", "webpack://husky-site/../../node_modules/react-responsive-carousel/lib/js/components/Carousel/index.js", "webpack://husky-site/../../node_modules/react-responsive-carousel/lib/js/components/Carousel/utils.js", "webpack://husky-site/../../node_modules/react-responsive-carousel/lib/js/components/Thumbs.js", "webpack://husky-site/../../node_modules/react-responsive-carousel/lib/js/cssClasses.js", "webpack://husky-site/../../node_modules/react-responsive-carousel/lib/js/dimensions.js", "webpack://husky-site/../../node_modules/react-responsive-carousel/lib/js/index.js", "webpack://husky-site/../../node_modules/react-responsive-carousel/lib/js/shims/document.js", "webpack://husky-site/../../node_modules/react-responsive-carousel/lib/js/shims/window.js", "webpack://husky-site/../gatsby-theme-husky/src/components/TagEventTracker/TagEventTracker.tsx", "webpack://husky-site/../gatsby-theme-husky/src/utils/functions.ts" ], sourcesContent: [ "(function (global, factory) { if (typeof define === "function" && define.amd) { define(['exports', './react-swipe'], factory); } else if (typeof exports !== "undefined") { factory(exports, require('./react-swipe')); } else { var mod = { exports: {} }; factory(mod.exports, global.reactSwipe); global.index = mod.exports; } })(this, function (exports, _reactSwipe) { 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _reactSwipe2 = _interopRequireDefault(_reactSwipe); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = _reactSwipe2.default; });", "(function (global, factory) { if (typeof define === "function" && define.amd) { define(['exports', 'react', 'prop-types'], factory); } else if (typeof exports !== "undefined") { factory(exports, require('react'), require('prop-types')); } else { var mod = { exports: {} }; factory(mod.exports, global.react, global.propTypes); global.reactSwipe = mod.exports; } })(this, function (exports, _react, _propTypes) { 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.setHasSupportToCaptureOption = setHasSupportToCaptureOption; var _react2 = _interopRequireDefault(_react); var _propTypes2 = _interopRequireDefault(_propTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _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; }; function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var _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; }; }(); function _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; } function _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; } var supportsCaptureOption = false; function setHasSupportToCaptureOption(hasSupport) { supportsCaptureOption = hasSupport; } try { addEventListener('test', null, Object.defineProperty({}, 'capture', { get: function get() { setHasSupportToCaptureOption(true); } })); } catch (e) {} // eslint-disable-line no-empty function getSafeEventHandlerOpts() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { capture: true }; return supportsCaptureOption ? options : options.capture; } /** * [getPosition returns a position element that works for mouse or touch events] * @param {[Event]} event [the received event] * @return {[Object]} [x and y coords] */ function getPosition(event) { if ('touches' in event) { var _event$touches$ = event.touches[0], pageX = _event$touches$.pageX, pageY = _event$touches$.pageY; return { x: pageX, y: pageY }; } var screenX = event.screenX, screenY = event.screenY; return { x: screenX, y: screenY }; } var ReactSwipe = function (_Component) { _inherits(ReactSwipe, _Component); function ReactSwipe() { var _ref; _classCallCheck(this, ReactSwipe); for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var _this = _possibleConstructorReturn(this, (_ref = ReactSwipe.__proto__ || Object.getPrototypeOf(ReactSwipe)).call.apply(_ref, [this].concat(args))); _this._handleSwipeStart = _this._handleSwipeStart.bind(_this); _this._handleSwipeMove = _this._handleSwipeMove.bind(_this); _this._handleSwipeEnd = _this._handleSwipeEnd.bind(_this); _this._onMouseDown = _this._onMouseDown.bind(_this); _this._onMouseMove = _this._onMouseMove.bind(_this); _this._onMouseUp = _this._onMouseUp.bind(_this); _this._setSwiperRef = _this._setSwiperRef.bind(_this); return _this; } _createClass(ReactSwipe, [{ key: 'componentDidMount', value: function componentDidMount() { if (this.swiper) { this.swiper.addEventListener('touchmove', this._handleSwipeMove, getSafeEventHandlerOpts({ capture: true, passive: false })); } } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { if (this.swiper) { this.swiper.removeEventListener('touchmove', this._handleSwipeMove, getSafeEventHandlerOpts({ capture: true, passive: false })); } } }, { key: '_onMouseDown', value: function _onMouseDown(event) { if (!this.props.allowMouseEvents) { return; } this.mouseDown = true; document.addEventListener('mouseup', this._onMouseUp); document.addEventListener('mousemove', this._onMouseMove); this._handleSwipeStart(event); } }, { key: '_onMouseMove', value: function _onMouseMove(event) { if (!this.mouseDown) { return; } this._handleSwipeMove(event); } }, { key: '_onMouseUp', value: function _onMouseUp(event) { this.mouseDown = false; document.removeEventListener('mouseup', this._onMouseUp); document.removeEventListener('mousemove', this._onMouseMove); this._handleSwipeEnd(event); } }, { key: '_handleSwipeStart', value: function _handleSwipeStart(event) { var _getPosition = getPosition(event), x = _getPosition.x, y = _getPosition.y; this.moveStart = { x: x, y: y }; this.props.onSwipeStart(event); } }, { key: '_handleSwipeMove', value: function _handleSwipeMove(event) { if (!this.moveStart) { return; } var _getPosition2 = getPosition(event), x = _getPosition2.x, y = _getPosition2.y; var deltaX = x - this.moveStart.x; var deltaY = y - this.moveStart.y; this.moving = true; // handling the responsability of cancelling the scroll to // the component handling the event var shouldPreventDefault = this.props.onSwipeMove({ x: deltaX, y: deltaY }, event); if (shouldPreventDefault && event.cancelable) { event.preventDefault(); } this.movePosition = { deltaX: deltaX, deltaY: deltaY }; } }, { key: '_handleSwipeEnd', value: function _handleSwipeEnd(event) { this.props.onSwipeEnd(event); var tolerance = this.props.tolerance; if (this.moving && this.movePosition) { if (this.movePosition.deltaX < -tolerance) { this.props.onSwipeLeft(1, event); } else if (this.movePosition.deltaX > tolerance) { this.props.onSwipeRight(1, event); } if (this.movePosition.deltaY < -tolerance) { this.props.onSwipeUp(1, event); } else if (this.movePosition.deltaY > tolerance) { this.props.onSwipeDown(1, event); } } this.moveStart = null; this.moving = false; this.movePosition = null; } }, { key: '_setSwiperRef', value: function _setSwiperRef(node) { this.swiper = node; this.props.innerRef(node); } }, { key: 'render', value: function render() { var _props = this.props, tagName = _props.tagName, className = _props.className, style = _props.style, children = _props.children, allowMouseEvents = _props.allowMouseEvents, onSwipeUp = _props.onSwipeUp, onSwipeDown = _props.onSwipeDown, onSwipeLeft = _props.onSwipeLeft, onSwipeRight = _props.onSwipeRight, onSwipeStart = _props.onSwipeStart, onSwipeMove = _props.onSwipeMove, onSwipeEnd = _props.onSwipeEnd, innerRef = _props.innerRef, tolerance = _props.tolerance, props = _objectWithoutProperties(_props, ['tagName', 'className', 'style', 'children', 'allowMouseEvents', 'onSwipeUp', 'onSwipeDown', 'onSwipeLeft', 'onSwipeRight', 'onSwipeStart', 'onSwipeMove', 'onSwipeEnd', 'innerRef', 'tolerance']); return _react2.default.createElement(this.props.tagName, _extends({ ref: this._setSwiperRef, onMouseDown: this._onMouseDown, onTouchStart: this._handleSwipeStart, onTouchEnd: this._handleSwipeEnd, className: className, style: style }, props), children); } }]); return ReactSwipe; }(_react.Component); ReactSwipe.displayName = 'ReactSwipe'; ReactSwipe.propTypes = { tagName: _propTypes2.default.string, className: _propTypes2.default.string, style: _propTypes2.default.object, children: _propTypes2.default.node, allowMouseEvents: _propTypes2.default.bool, onSwipeUp: _propTypes2.default.func, onSwipeDown: _propTypes2.default.func, onSwipeLeft: _propTypes2.default.func, onSwipeRight: _propTypes2.default.func, onSwipeStart: _propTypes2.default.func, onSwipeMove: _propTypes2.default.func, onSwipeEnd: _propTypes2.default.func, innerRef: _propTypes2.default.func, tolerance: _propTypes2.default.number.isRequired }; ReactSwipe.defaultProps = { tagName: 'div', allowMouseEvents: false, onSwipeUp: function onSwipeUp() {}, onSwipeDown: function onSwipeDown() {}, onSwipeLeft: function onSwipeLeft() {}, onSwipeRight: function onSwipeRight() {}, onSwipeStart: function onSwipeStart() {}, onSwipeMove: function onSwipeMove() {}, onSwipeEnd: function onSwipeEnd() {}, innerRef: function innerRef() {}, tolerance: 0 }; exports.default = ReactSwipe; });", ""use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _default = function _default(position, metric, axis) { var positionPercent = position === 0 ? position : position + metric; var positionCss = axis === 'horizontal' ? [positionPercent, 0, 0] : [0, positionPercent, 0]; var transitionProp = 'translate3d'; var translatedPosition = '(' + positionCss.join(',') + ')'; return transitionProp + translatedPosition; }; exports.default = _default;", ""use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.fadeAnimationHandler = exports.slideStopSwipingHandler = exports.slideSwipeAnimationHandler = exports.slideAnimationHandler = void 0; var _react = require("react"); var _CSSTranslate = _interopRequireDefault(require("../../CSSTranslate")); var _utils = require("./utils"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } /** * Main animation handler for the default 'sliding' style animation * @param props * @param state */ var slideAnimationHandler = function slideAnimationHandler(props, state) { var returnStyles = {}; var selectedItem = state.selectedItem; var previousItem = selectedItem; var lastPosition = _react.Children.count(props.children) - 1; var needClonedSlide = props.infiniteLoop && (selectedItem < 0 || selectedItem > lastPosition); // Handle list position if it needs a clone if (needClonedSlide) { if (previousItem < 0) { if (props.centerMode && props.centerSlidePercentage && props.axis === 'horizontal') { returnStyles.itemListStyle = (0, _utils.setPosition)(-(lastPosition + 2) * props.centerSlidePercentage - (100 - props.centerSlidePercentage) / 2, props.axis); } else { returnStyles.itemListStyle = (0, _utils.setPosition)(-(lastPosition + 2) * 100, props.axis); } } else if (previousItem > lastPosition) { returnStyles.itemListStyle = (0, _utils.setPosition)(0, props.axis); } return returnStyles; } var currentPosition = (0, _utils.getPosition)(selectedItem, props); // if 3d is available, let's take advantage of the performance of transform var transformProp = (0, _CSSTranslate.default)(currentPosition, '%', props.axis); var transitionTime = props.transitionTime + 'ms'; returnStyles.itemListStyle = { WebkitTransform: transformProp, msTransform: transformProp, OTransform: transformProp, transform: transformProp }; if (!state.swiping) { returnStyles.itemListStyle = _objectSpread(_objectSpread({}, returnStyles.itemListStyle), {}, { WebkitTransitionDuration: transitionTime, MozTransitionDuration: transitionTime, OTransitionDuration: transitionTime, transitionDuration: transitionTime, msTransitionDuration: transitionTime }); } return returnStyles; }; /** * Swiping animation handler for the default 'sliding' style animation * @param delta * @param props * @param state * @param setState */ exports.slideAnimationHandler = slideAnimationHandler; var slideSwipeAnimationHandler = function slideSwipeAnimationHandler(delta, props, state, setState) { var returnStyles = {}; var isHorizontal = props.axis === 'horizontal'; var childrenLength = _react.Children.count(props.children); var initialBoundry = 0; var currentPosition = (0, _utils.getPosition)(state.selectedItem, props); var finalBoundry = props.infiniteLoop ? (0, _utils.getPosition)(childrenLength - 1, props) - 100 : (0, _utils.getPosition)(childrenLength - 1, props); var axisDelta = isHorizontal ? delta.x : delta.y; var handledDelta = axisDelta; // prevent user from swiping left out of boundaries if (currentPosition === initialBoundry && axisDelta > 0) { handledDelta = 0; } // prevent user from swiping right out of boundaries if (currentPosition === finalBoundry && axisDelta < 0) { handledDelta = 0; } var position = currentPosition + 100 / (state.itemSize / handledDelta); var hasMoved = Math.abs(axisDelta) > props.swipeScrollTolerance; if (props.infiniteLoop && hasMoved) { // When allowing infinite loop, if we slide left from position 0 we reveal the cloned last slide that appears before it // if we slide even further we need to jump to other side so it can continue - and vice versa for the last slide if (state.selectedItem === 0 && position > -100) { position -= childrenLength * 100; } else if (state.selectedItem === childrenLength - 1 && position < -childrenLength * 100) { position += childrenLength * 100; } } if (!props.preventMovementUntilSwipeScrollTolerance || hasMoved || state.swipeMovementStarted) { if (!state.swipeMovementStarted) { setState({ swipeMovementStarted: true }); } returnStyles.itemListStyle = (0, _utils.setPosition)(position, props.axis); } //allows scroll if the swipe was within the tolerance if (hasMoved && !state.cancelClick) { setState({ cancelClick: true }); } return returnStyles; }; /** * Default 'sliding' style animination handler for when a swipe action stops. * @param props * @param state */ exports.slideSwipeAnimationHandler = slideSwipeAnimationHandler; var slideStopSwipingHandler = function slideStopSwipingHandler(props, state) { var currentPosition = (0, _utils.getPosition)(state.selectedItem, props); var itemListStyle = (0, _utils.setPosition)(currentPosition, props.axis); return { itemListStyle: itemListStyle }; }; /** * Main animation handler for the default 'fade' style animation * @param props * @param state */ exports.slideStopSwipingHandler = slideStopSwipingHandler; var fadeAnimationHandler = function fadeAnimationHandler(props, state) { var transitionTime = props.transitionTime + 'ms'; var transitionTimingFunction = 'ease-in-out'; var slideStyle = { position: 'absolute', display: 'block', zIndex: -2, minHeight: '100%', opacity: 0, top: 0, right: 0, left: 0, bottom: 0, transitionTimingFunction: transitionTimingFunction, msTransitionTimingFunction: transitionTimingFunction, MozTransitionTimingFunction: transitionTimingFunction, WebkitTransitionTimingFunction: transitionTimingFunction, OTransitionTimingFunction: transitionTimingFunction }; if (!state.swiping) { slideStyle = _objectSpread(_objectSpread({}, slideStyle), {}, { WebkitTransitionDuration: transitionTime, MozTransitionDuration: transitionTime, OTransitionDuration: transitionTime, transitionDuration: transitionTime, msTransitionDuration: transitionTime }); } return { slideStyle: slideStyle, selectedStyle: _objectSpread(_objectSpread({}, slideStyle), {}, { opacity: 1, position: 'relative' }), prevStyle: _objectSpread({}, slideStyle) }; }; exports.fadeAnimationHandler = fadeAnimationHandler;", ""use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(require("react")); var _reactEasySwipe = _interopRequireDefault(require("react-easy-swipe")); var _cssClasses = _interopRequireDefault(require("../../cssClasses")); var _Thumbs = _interopRequireDefault(require("../Thumbs")); var _document = _interopRequireDefault(require("../../shims/document")); var _window = _interopRequireDefault(require("../../shims/window")); var _utils = require("./utils"); var _animations = require("./animations"); 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 _typeof(obj) { "@babel/helpers - typeof"; 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); } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var Carousel = /*#__PURE__*/function (_React$Component) { _inherits(Carousel, _React$Component); var _super = _createSuper(Carousel); // @ts-ignore function Carousel(props) { var _this; _classCallCheck(this, Carousel); _this = _super.call(this, props); _defineProperty(_assertThisInitialized(_this), "thumbsRef", void 0); _defineProperty(_assertThisInitialized(_this), "carouselWrapperRef", void 0); _defineProperty(_assertThisInitialized(_this), "listRef", void 0); _defineProperty(_assertThisInitialized(_this), "itemsRef", void 0); _defineProperty(_assertThisInitialized(_this), "timer", void 0); _defineProperty(_assertThisInitialized(_this), "animationHandler", void 0); _defineProperty(_assertThisInitialized(_this), "setThumbsRef", function (node) { _this.thumbsRef = node; }); _defineProperty(_assertThisInitialized(_this), "setCarouselWrapperRef", function (node) { _this.carouselWrapperRef = node; }); _defineProperty(_assertThisInitialized(_this), "setListRef", function (node) { _this.listRef = node; }); _defineProperty(_assertThisInitialized(_this), "setItemsRef", function (node, index) { if (!_this.itemsRef) { _this.itemsRef = []; } _this.itemsRef[index] = node; }); _defineProperty(_assertThisInitialized(_this), "autoPlay", function () { if (_react.Children.count(_this.props.children) <= 1) { return; } _this.clearAutoPlay(); if (!_this.props.autoPlay) { return; } _this.timer = setTimeout(function () { _this.increment(); }, _this.props.interval); }); _defineProperty(_assertThisInitialized(_this), "clearAutoPlay", function () { if (_this.timer) clearTimeout(_this.timer); }); _defineProperty(_assertThisInitialized(_this), "resetAutoPlay", function () { _this.clearAutoPlay(); _this.autoPlay(); }); _defineProperty(_assertThisInitialized(_this), "stopOnHover", function () { _this.setState({ isMouseEntered: true }, _this.clearAutoPlay); }); _defineProperty(_assertThisInitialized(_this), "startOnLeave", function () { _this.setState({ isMouseEntered: false }, _this.autoPlay); }); _defineProperty(_assertThisInitialized(_this), "isFocusWithinTheCarousel", function () { if (!_this.carouselWrapperRef) { return false; } if ((0, _document.default)().activeElement === _this.carouselWrapperRef || _this.carouselWrapperRef.contains((0, _document.default)().activeElement)) { return true; } return false; }); _defineProperty(_assertThisInitialized(_this), "navigateWithKeyboard", function (e) { if (!_this.isFocusWithinTheCarousel()) { return; } var axis = _this.props.axis; var isHorizontal = axis === 'horizontal'; var keyNames = { ArrowUp: 38, ArrowRight: 39, ArrowDown: 40, ArrowLeft: 37 }; var nextKey = isHorizontal ? keyNames.ArrowRight : keyNames.ArrowDown; var prevKey = isHorizontal ? keyNames.ArrowLeft : keyNames.ArrowUp; if (nextKey === e.keyCode) { _this.increment(); } else if (prevKey === e.keyCode) { _this.decrement(); } }); _defineProperty(_assertThisInitialized(_this), "updateSizes", function () { if (!_this.state.initialized || !_this.itemsRef || _this.itemsRef.length === 0) { return; } var isHorizontal = _this.props.axis === 'horizontal'; var firstItem = _this.itemsRef[0]; if (!firstItem) { return; } var itemSize = isHorizontal ? firstItem.clientWidth : firstItem.clientHeight; _this.setState({ itemSize: itemSize }); if (_this.thumbsRef) { _this.thumbsRef.updateSizes(); } }); _defineProperty(_assertThisInitialized(_this), "setMountState", function () { _this.setState({ hasMount: true }); _this.updateSizes(); }); _defineProperty(_assertThisInitialized(_this), "handleClickItem", function (index, item) { if (_react.Children.count(_this.props.children) === 0) { return; } if (_this.state.cancelClick) { _this.setState({ cancelClick: false }); return; } _this.props.onClickItem(index, item); if (index !== _this.state.selectedItem) { _this.setState({ selectedItem: index }); } }); _defineProperty(_assertThisInitialized(_this), "handleOnChange", function (index, item) { if (_react.Children.count(_this.props.children) <= 1) { return; } _this.props.onChange(index, item); }); _defineProperty(_assertThisInitialized(_this), "handleClickThumb", function (index, item) { _this.props.onClickThumb(index, item); _this.moveTo(index); }); _defineProperty(_assertThisInitialized(_this), "onSwipeStart", function (event) { _this.setState({ swiping: true }); _this.props.onSwipeStart(event); }); _defineProperty(_assertThisInitialized(_this), "onSwipeEnd", function (event) { _this.setState({ swiping: false, cancelClick: false, swipeMovementStarted: false }); _this.props.onSwipeEnd(event); _this.clearAutoPlay(); if (_this.state.autoPlay) { _this.autoPlay(); } }); _defineProperty(_assertThisInitialized(_this), "onSwipeMove", function (delta, event) { _this.props.onSwipeMove(event); var animationHandlerResponse = _this.props.swipeAnimationHandler(delta, _this.props, _this.state, _this.setState.bind(_assertThisInitialized(_this))); _this.setState(_objectSpread({}, animationHandlerResponse)); // If we have not moved, we should have an empty object returned // Return false to allow scrolling when not swiping return !!Object.keys(animationHandlerResponse).length; }); _defineProperty(_assertThisInitialized(_this), "decrement", function () { var positions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; _this.moveTo(_this.state.selectedItem - (typeof positions === 'number' ? positions : 1)); }); _defineProperty(_assertThisInitialized(_this), "increment", function () { var positions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; _this.moveTo(_this.state.selectedItem + (typeof positions === 'number' ? positions : 1)); }); _defineProperty(_assertThisInitialized(_this), "moveTo", function (position) { if (typeof position !== 'number') { return; } var lastPosition = _react.Children.count(_this.props.children) - 1; if (position < 0) { position = _this.props.infiniteLoop ? lastPosition : 0; } if (position > lastPosition) { position = _this.props.infiniteLoop ? 0 : lastPosition; } _this.selectItem({ // if it's not a slider, we don't need to set position here selectedItem: position }); // don't reset auto play when stop on hover is enabled, doing so will trigger a call to auto play more than once // and will result in the interval function not being cleared correctly. if (_this.state.autoPlay && _this.state.isMouseEntered === false) { _this.resetAutoPlay(); } }); _defineProperty(_assertThisInitialized(_this), "onClickNext", function () { _this.increment(1); }); _defineProperty(_assertThisInitialized(_this), "onClickPrev", function () { _this.decrement(1); }); _defineProperty(_assertThisInitialized(_this), "onSwipeForward", function () { _this.increment(1); if (_this.props.emulateTouch) { _this.setState({ cancelClick: true }); } }); _defineProperty(_assertThisInitialized(_this), "onSwipeBackwards", function () { _this.decrement(1); if (_this.props.emulateTouch) { _this.setState({ cancelClick: true }); } }); _defineProperty(_assertThisInitialized(_this), "changeItem", function (newIndex) { return function (e) { if (!(0, _utils.isKeyboardEvent)(e) || e.key === 'Enter') { _this.moveTo(newIndex); } }; }); _defineProperty(_assertThisInitialized(_this), "selectItem", function (state) { // Merge in the new state while updating updating previous item _this.setState(_objectSpread({ previousItem: _this.state.selectedItem }, state), function () { // Run animation handler and update styles based on it _this.setState(_this.animationHandler(_this.props, _this.state)); }); _this.handleOnChange(state.selectedItem, _react.Children.toArray(_this.props.children)[state.selectedItem]); }); _defineProperty(_assertThisInitialized(_this), "getInitialImage", function () { var selectedItem = _this.props.selectedItem; var item = _this.itemsRef && _this.itemsRef[selectedItem]; var images = item && item.getElementsByTagName('img') || []; return images[0]; }); _defineProperty(_assertThisInitialized(_this), "getVariableItemHeight", function (position) { var item = _this.itemsRef && _this.itemsRef[position]; if (_this.state.hasMount && item && item.children.length) { var slideImages = item.children[0].getElementsByTagName('img') || []; if (slideImages.length > 0) { var image = slideImages[0]; if (!image.complete) { // if the image is still loading, the size won't be available so we trigger a new render after it's done var onImageLoad = function onImageLoad() { _this.forceUpdate(); image.removeEventListener('load', onImageLoad); }; image.addEventListener('load', onImageLoad); } } // try to get img first, if img not there find first display tag var displayItem = slideImages[0] || item.children[0]; var height = displayItem.clientHeight; return height > 0 ? height : null; } return null; }); var initState = { initialized: false, previousItem: props.selectedItem, selectedItem: props.selectedItem, hasMount: false, isMouseEntered: false, autoPlay: props.autoPlay, swiping: false, swipeMovementStarted: false, cancelClick: false, itemSize: 1, itemListStyle: {}, slideStyle: {}, selectedStyle: {}, prevStyle: {} }; _this.animationHandler = typeof props.animationHandler === 'function' && props.animationHandler || props.animationHandler === 'fade' && _animations.fadeAnimationHandler || _animations.slideAnimationHandler; _this.state = _objectSpread(_objectSpread({}, initState), _this.animationHandler(props, initState)); return _this; } _createClass(Carousel, [{ key: "componentDidMount", value: function componentDidMount() { if (!this.props.children) { return; } this.setupCarousel(); } }, { key: "componentDidUpdate", value: function componentDidUpdate(prevProps, prevState) { if (!prevProps.children && this.props.children && !this.state.initialized) { this.setupCarousel(); } if (!prevProps.autoFocus && this.props.autoFocus) { this.forceFocus(); } if (prevState.swiping && !this.state.swiping) { // We stopped swiping, ensure we are heading to the new/current slide and not stuck this.setState(_objectSpread({}, this.props.stopSwipingHandler(this.props, this.state))); } if (prevProps.selectedItem !== this.props.selectedItem || prevProps.centerMode !== this.props.centerMode) { this.updateSizes(); this.moveTo(this.props.selectedItem); } if (prevProps.autoPlay !== this.props.autoPlay) { if (this.props.autoPlay) { this.setupAutoPlay(); } else { this.destroyAutoPlay(); } this.setState({ autoPlay: this.props.autoPlay }); } } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.destroyCarousel(); } }, { key: "setupCarousel", value: function setupCarousel() { var _this2 = this; this.bindEvents(); if (this.state.autoPlay && _react.Children.count(this.props.children) > 1) { this.setupAutoPlay(); } if (this.props.autoFocus) { this.forceFocus(); } this.setState({ initialized: true }, function () { var initialImage = _this2.getInitialImage(); if (initialImage && !initialImage.complete) { // if it's a carousel of images, we set the mount state after the first image is loaded initialImage.addEventListener('load', _this2.setMountState); } else { _this2.setMountState(); } }); } }, { key: "destroyCarousel", value: function destroyCarousel() { if (this.state.initialized) { this.unbindEvents(); this.destroyAutoPlay(); } } }, { key: "setupAutoPlay", value: function setupAutoPlay() { this.autoPlay(); var carouselWrapper = this.carouselWrapperRef; if (this.props.stopOnHover && carouselWrapper) { carouselWrapper.addEventListener('mouseenter', this.stopOnHover); carouselWrapper.addEventListener('mouseleave', this.startOnLeave); } } }, { key: "destroyAutoPlay", value: function destroyAutoPlay() { this.clearAutoPlay(); var carouselWrapper = this.carouselWrapperRef; if (this.props.stopOnHover && carouselWrapper) { carouselWrapper.removeEventListener('mouseenter', this.stopOnHover); carouselWrapper.removeEventListener('mouseleave', this.startOnLeave); } } }, { key: "bindEvents", value: function bindEvents() { // as the widths are calculated, we need to resize // the carousel when the window is resized (0, _window.default)().addEventListener('resize', this.updateSizes); // issue #2 - image loading smaller (0, _window.default)().addEventListener('DOMContentLoaded', this.updateSizes); if (this.props.useKeyboardArrows) { (0, _document.default)().addEventListener('keydown', this.navigateWithKeyboard); } } }, { key: "unbindEvents", value: function unbindEvents() { // removing listeners (0, _window.default)().removeEventListener('resize', this.updateSizes); (0, _window.default)().removeEventListener('DOMContentLoaded', this.updateSizes); var initialImage = this.getInitialImage(); if (initialImage) { initialImage.removeEventListener('load', this.setMountState); } if (this.props.useKeyboardArrows) { (0, _document.default)().removeEventListener('keydown', this.navigateWithKeyboard); } } }, { key: "forceFocus", value: function forceFocus() { var _this$carouselWrapper; (_this$carouselWrapper = this.carouselWrapperRef) === null || _this$carouselWrapper === void 0 ? void 0 : _this$carouselWrapper.focus(); } }, { key: "renderItems", value: function renderItems(isClone) { var _this3 = this; if (!this.props.children) { return []; } return _react.Children.map(this.props.children, function (item, index) { var isSelected = index === _this3.state.selectedItem; var isPrevious = index === _this3.state.previousItem; var style = isSelected && _this3.state.selectedStyle || isPrevious && _this3.state.prevStyle || _this3.state.slideStyle || {}; if (_this3.props.centerMode && _this3.props.axis === 'horizontal') { style = _objectSpread(_objectSpread({}, style), {}, { minWidth: _this3.props.centerSlidePercentage + '%' }); } if (_this3.state.swiping && _this3.state.swipeMovementStarted) { style = _objectSpread(_objectSpread({}, style), {}, { pointerEvents: 'none' }); } var slideProps = { ref: function ref(e) { return _this3.setItemsRef(e, index); }, key: 'itemKey' + index + (isClone ? 'clone' : ''), className: _cssClasses.default.ITEM(true, index === _this3.state.selectedItem, index === _this3.state.previousItem), onClick: _this3.handleClickItem.bind(_this3, index, item), style: style }; return /*#__PURE__*/_react.default.createElement("li", slideProps, _this3.props.renderItem(item, { isSelected: index === _this3.state.selectedItem, isPrevious: index === _this3.state.previousItem })); }); } }, { key: "renderControls", value: function renderControls() { var _this4 = this; var _this$props = this.props, showIndicators = _this$props.showIndicators, labels = _this$props.labels, renderIndicator = _this$props.renderIndicator, children = _this$props.children; if (!showIndicators) { return null; } return /*#__PURE__*/_react.default.createElement("ul", { className: "control-dots" }, _react.Children.map(children, function (_, index) { return renderIndicator && renderIndicator(_this4.changeItem(index), index === _this4.state.selectedItem, index, labels.item); })); } }, { key: "renderStatus", value: function renderStatus() { if (!this.props.showStatus) { return null; } return /*#__PURE__*/_react.default.createElement("p", { className: "carousel-status" }, this.props.statusFormatter(this.state.selectedItem + 1, _react.Children.count(this.props.children))); } }, { key: "renderThumbs", value: function renderThumbs() { if (!this.props.showThumbs || !this.props.children || _react.Children.count(this.props.children) === 0) { return null; } return /*#__PURE__*/_react.default.createElement(_Thumbs.default, { ref: this.setThumbsRef, onSelectItem: this.handleClickThumb, selectedItem: this.state.selectedItem, transitionTime: this.props.transitionTime, thumbWidth: this.props.thumbWidth, labels: this.props.labels, emulateTouch: this.props.emulateTouch }, this.props.renderThumbs(this.props.children)); } }, { key: "render", value: function render() { var _this5 = this; if (!this.props.children || _react.Children.count(this.props.children) === 0) { return null; } var isSwipeable = this.props.swipeable && _react.Children.count(this.props.children) > 1; var isHorizontal = this.props.axis === 'horizontal'; var canShowArrows = this.props.showArrows && _react.Children.count(this.props.children) > 1; // show left arrow? var hasPrev = canShowArrows && (this.state.selectedItem > 0 || this.props.infiniteLoop) || false; // show right arrow var hasNext = canShowArrows && (this.state.selectedItem < _react.Children.count(this.props.children) - 1 || this.props.infiniteLoop) || false; var itemsClone = this.renderItems(true); var firstClone = itemsClone.shift(); var lastClone = itemsClone.pop(); var swiperProps = { className: _cssClasses.default.SLIDER(true, this.state.swiping), onSwipeMove: this.onSwipeMove, onSwipeStart: this.onSwipeStart, onSwipeEnd: this.onSwipeEnd, style: this.state.itemListStyle, tolerance: this.props.swipeScrollTolerance }; var containerStyles = {}; if (isHorizontal) { swiperProps.onSwipeLeft = this.onSwipeForward; swiperProps.onSwipeRight = this.onSwipeBackwards; if (this.props.dynamicHeight) { var itemHeight = this.getVariableItemHeight(this.state.selectedItem); // swiperProps.style.height = itemHeight || 'auto'; containerStyles.height = itemHeight || 'auto'; } } else { swiperProps.onSwipeUp = this.props.verticalSwipe === 'natural' ? this.onSwipeBackwards : this.onSwipeForward; swiperProps.onSwipeDown = this.props.verticalSwipe === 'natural' ? this.onSwipeForward : this.onSwipeBackwards; swiperProps.style = _objectSpread(_objectSpread({}, swiperProps.style), {}, { height: this.state.itemSize }); containerStyles.height = this.state.itemSize; } return /*#__PURE__*/_react.default.createElement("div", { "aria-label": this.props.ariaLabel, className: _cssClasses.default.ROOT(this.props.className), ref: this.setCarouselWrapperRef, tabIndex: this.props.useKeyboardArrows ? 0 : undefined }, /*#__PURE__*/_react.default.createElement("div", { className: _cssClasses.default.CAROUSEL(true), style: { width: this.props.width } }, this.renderControls(), this.props.renderArrowPrev(this.onClickPrev, hasPrev, this.props.labels.leftArrow), /*#__PURE__*/_react.default.createElement("div", { className: _cssClasses.default.WRAPPER(true, this.props.axis), style: containerStyles }, isSwipeable ? /*#__PURE__*/_react.default.createElement(_reactEasySwipe.default, _extends({ tagName: "ul", innerRef: this.setListRef }, swiperProps, { allowMouseEvents: this.props.emulateTouch }), this.props.infiniteLoop && lastClone, this.renderItems(), this.props.infiniteLoop && firstClone) : /*#__PURE__*/_react.default.createElement("ul", { className: _cssClasses.default.SLIDER(true, this.state.swiping), ref: function ref(node) { return _this5.setListRef(node); }, style: this.state.itemListStyle || {} }, this.props.infiniteLoop && lastClone, this.renderItems(), this.props.infiniteLoop && firstClone)), this.props.renderArrowNext(this.onClickNext, hasNext, this.props.labels.rightArrow), this.renderStatus()), this.renderThumbs()); } }]); return Carousel; }(_react.default.Component); exports.default = Carousel; _defineProperty(Carousel, "displayName", 'Carousel'); _defineProperty(Carousel, "defaultProps", { ariaLabel: undefined, axis: 'horizontal', centerSlidePercentage: 80, interval: 3000, labels: { leftArrow: 'previous slide / item', rightArrow: 'next slide / item', item: 'slide item' }, onClickItem: _utils.noop, onClickThumb: _utils.noop, onChange: _utils.noop, onSwipeStart: function onSwipeStart() {}, onSwipeEnd: function onSwipeEnd() {}, onSwipeMove: function onSwipeMove() { return false; }, preventMovementUntilSwipeScrollTolerance: false, renderArrowPrev: function renderArrowPrev(onClickHandler, hasPrev, label) { return /*#__PURE__*/_react.default.createElement("button", { type: "button", "aria-label": label, className: _cssClasses.default.ARROW_PREV(!hasPrev), onClick: onClickHandler }); }, renderArrowNext: function renderArrowNext(onClickHandler, hasNext, label) { return /*#__PURE__*/_react.default.createElement("button", { type: "button", "aria-label": label, className: _cssClasses.default.ARROW_NEXT(!hasNext), onClick: onClickHandler }); }, renderIndicator: function renderIndicator(onClickHandler, isSelected, index, label) { return /*#__PURE__*/_react.default.createElement("li", { className: _cssClasses.default.DOT(isSelected), onClick: onClickHandler, onKeyDown: onClickHandler, value: index, key: index, role: "button", tabIndex: 0, "aria-label": "".concat(label, " ").concat(index + 1) }); }, renderItem: function renderItem(item) { return item; }, renderThumbs: function renderThumbs(children) { var images = _react.Children.map(children, function (item) { var img = item; // if the item is not an image, try to find the first image in the item's children. if (item.type !== 'img') { img = _react.Children.toArray(item.props.children).find(function (children) { return children.type === 'img'; }); } if (!img) { return undefined; } return img; }); if (images.filter(function (image) { return image; }).length === 0) { 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"); return []; } return images; }, statusFormatter: _utils.defaultStatusFormatter, selectedItem: 0, showArrows: true, showIndicators: true, showStatus: true, showThumbs: true, stopOnHover: true, swipeScrollTolerance: 5, swipeable: true, transitionTime: 350, verticalSwipe: 'standard', width: '100%', animationHandler: 'slide', swipeAnimationHandler: _animations.slideSwipeAnimationHandler, stopSwipingHandler: _animations.slideStopSwipingHandler });", ""use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setPosition = exports.getPosition = exports.isKeyboardEvent = exports.defaultStatusFormatter = exports.noop = void 0; var _react = require("react"); var _CSSTranslate = _interopRequireDefault(require("../../CSSTranslate")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var noop = function noop() {}; exports.noop = noop; var defaultStatusFormatter = function defaultStatusFormatter(current, total) { return "".concat(current, " of ").concat(total); }; exports.defaultStatusFormatter = defaultStatusFormatter; var isKeyboardEvent = function isKeyboardEvent(e) { return e ? e.hasOwnProperty('key') : false; }; /** * Gets the list 'position' relative to a current index * @param index */ exports.isKeyboardEvent = isKeyboardEvent; var getPosition = function getPosition(index, props) { if (props.infiniteLoop) { // index has to be added by 1 because of the first cloned slide ++index; } if (index === 0) { return 0; } var childrenLength = _react.Children.count(props.children); if (props.centerMode && props.axis === 'horizontal') { var currentPosition = -index * props.centerSlidePercentage; var lastPosition = childrenLength - 1; if (index && (index !== lastPosition || props.infiniteLoop)) { currentPosition += (100 - props.centerSlidePercentage) / 2; } else if (index === lastPosition) { currentPosition += 100 - props.centerSlidePercentage; } return currentPosition; } return -index * 100; }; /** * Sets the 'position' transform for sliding animations * @param position * @param forceReflow */ exports.getPosition = getPosition; var setPosition = function setPosition(position, axis) { var style = {}; ['WebkitTransform', 'MozTransform', 'MsTransform', 'OTransform', 'transform', 'msTransform'].forEach(function (prop) { // @ts-ignore style[prop] = (0, _CSSTranslate.default)(position, '%', axis); }); return style; }; exports.setPosition = setPosition;", ""use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(require("react")); var _cssClasses = _interopRequireDefault(require("../cssClasses")); var _dimensions = require("../dimensions"); var _CSSTranslate = _interopRequireDefault(require("../CSSTranslate")); var _reactEasySwipe = _interopRequireDefault(require("react-easy-swipe")); var _window = _interopRequireDefault(require("../shims/window")); 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 _typeof(obj) { "@babel/helpers - typeof"; 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); } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var isKeyboardEvent = function isKeyboardEvent(e) { return e.hasOwnProperty('key'); }; var Thumbs = /*#__PURE__*/function (_Component) { _inherits(Thumbs, _Component); var _super = _createSuper(Thumbs); function Thumbs(_props) { var _this; _classCallCheck(this, Thumbs); _this = _super.call(this, _props); _defineProperty(_assertThisInitialized(_this), "itemsWrapperRef", void 0); _defineProperty(_assertThisInitialized(_this), "itemsListRef", void 0); _defineProperty(_assertThisInitialized(_this), "thumbsRef", void 0); _defineProperty(_assertThisInitialized(_this), "setItemsWrapperRef", function (node) { _this.itemsWrapperRef = node; }); _defineProperty(_assertThisInitialized(_this), "setItemsListRef", function (node) { _this.itemsListRef = node; }); _defineProperty(_assertThisInitialized(_this), "setThumbsRef", function (node, index) { if (!_this.thumbsRef) { _this.thumbsRef = []; } _this.thumbsRef[index] = node; }); _defineProperty(_assertThisInitialized(_this), "updateSizes", function () { if (!_this.props.children || !_this.itemsWrapperRef || !_this.thumbsRef) { return; } var total = _react.Children.count(_this.props.children); var wrapperSize = _this.itemsWrapperRef.clientWidth; var itemSize = _this.props.thumbWidth ? _this.props.thumbWidth : (0, _dimensions.outerWidth)(_this.thumbsRef[0]); var visibleItems = Math.floor(wrapperSize / itemSize); var showArrows = visibleItems < total; var lastPosition = showArrows ? total - visibleItems : 0; _this.setState(function (_state, props) { return { itemSize: itemSize, visibleItems: visibleItems, firstItem: showArrows ? _this.getFirstItem(props.selectedItem) : 0, lastPosition: lastPosition, showArrows: showArrows }; }); }); _defineProperty(_assertThisInitialized(_this), "handleClickItem", function (index, item, e) { if (!isKeyboardEvent(e) || e.key === 'Enter') { var handler = _this.props.onSelectItem; if (typeof handler === 'function') { handler(index, item); } } }); _defineProperty(_assertThisInitialized(_this), "onSwipeStart", function () { _this.setState({ swiping: true }); }); _defineProperty(_assertThisInitialized(_this), "onSwipeEnd", function () { _this.setState({ swiping: false }); }); _defineProperty(_assertThisInitialized(_this), "onSwipeMove", function (delta) { var deltaX = delta.x; if (!_this.state.itemSize || !_this.itemsWrapperRef || !_this.state.visibleItems) { return false; } var leftBoundary = 0; var childrenLength = _react.Children.count(_this.props.children); var currentPosition = -(_this.state.firstItem * 100) / _this.state.visibleItems; var lastLeftItem = Math.max(childrenLength - _this.state.visibleItems, 0); var lastLeftBoundary = -lastLeftItem * 100 / _this.state.visibleItems; // prevent user from swiping left out of boundaries if (currentPosition === leftBoundary && deltaX > 0) { deltaX = 0; } // prevent user from swiping right out of boundaries if (currentPosition === lastLeftBoundary && deltaX < 0) { deltaX = 0; } var wrapperSize = _this.itemsWrapperRef.clientWidth; var position = currentPosition + 100 / (wrapperSize / deltaX); // if 3d isn't available we will use left to move if (_this.itemsListRef) { ['WebkitTransform', 'MozTransform', 'MsTransform', 'OTransform', 'transform', 'msTransform'].forEach(function (prop) { _this.itemsListRef.style[prop] = (0, _CSSTranslate.default)(position, '%', _this.props.axis); }); } return true; }); _defineProperty(_assertThisInitialized(_this), "slideRight", function (positions) { _this.moveTo(_this.state.firstItem - (typeof positions === 'number' ? positions : 1)); }); _defineProperty(_assertThisInitialized(_this), "slideLeft", function (positions) { _this.moveTo(_this.state.firstItem + (typeof positions === 'number' ? positions : 1)); }); _defineProperty(_assertThisInitialized(_this), "moveTo", function (position) { // position can't be lower than 0 position = position < 0 ? 0 : position; // position can't be higher than last postion position = position >= _this.state.lastPosition ? _this.state.lastPosition : position; _this.setState({ firstItem: position }); }); _this.state = { selectedItem: _props.selectedItem, swiping: false, showArrows: false, firstItem: 0, visibleItems: 0, lastPosition: 0 }; return _this; } _createClass(Thumbs, [{ key: "componentDidMount", value: function componentDidMount() { this.setupThumbs(); } }, { key: "UNSAFE_componentWillReceiveProps", value: function UNSAFE_componentWillReceiveProps(props) { if (props.selectedItem !== this.state.selectedItem) { this.setState({ selectedItem: props.selectedItem, firstItem: this.getFirstItem(props.selectedItem) }); } } }, { key: "componentDidUpdate", value: function componentDidUpdate(prevProps) { if (this.props.children === prevProps.children) { return; } // This will capture any size changes for arrow adjustments etc. // usually in the same render cycle so we don't see any flickers this.updateSizes(); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.destroyThumbs(); } }, { key: "setupThumbs", value: function setupThumbs() { // as the widths are calculated, we need to resize // the carousel when the window is resized (0, _window.default)().addEventListener('resize', this.updateSizes); // issue #2 - image loading smaller (0, _window.default)().addEventListener('DOMContentLoaded', this.updateSizes); // when the component is rendered we need to calculate // the container size to adjust the responsive behaviour this.updateSizes(); } }, { key: "destroyThumbs", value: function destroyThumbs() { // removing listeners (0, _window.default)().removeEventListener('resize', this.updateSizes); (0, _window.default)().removeEventListener('DOMContentLoaded', this.updateSizes); } }, { key: "getFirstItem", value: function getFirstItem(selectedItem) { var firstItem = selectedItem; if (selectedItem >= this.state.lastPosition) { firstItem = this.state.lastPosition; } if (selectedItem < this.state.firstItem + this.state.visibleItems) { firstItem = this.state.firstItem; } if (selectedItem < this.state.firstItem) { firstItem = selectedItem; } return firstItem; } }, { key: "renderItems", value: function renderItems() { var _this2 = this; return this.props.children.map(function (img, index) { var itemClass = _cssClasses.default.ITEM(false, index === _this2.state.selectedItem); var thumbProps = { key: index, ref: function ref(e) { return _this2.setThumbsRef(e, index); }, className: itemClass, onClick: _this2.handleClickItem.bind(_this2, index, _this2.props.children[index]), onKeyDown: _this2.handleClickItem.bind(_this2, index, _this2.props.children[index]), 'aria-label': "".concat(_this2.props.labels.item, " ").concat(index + 1), style: { width: _this2.props.thumbWidth } }; return /*#__PURE__*/_react.default.createElement("li", _extends({}, thumbProps, { role: "button", tabIndex: 0 }), img); }); } }, { key: "render", value: function render() { var _this3 = this; if (!this.props.children) { return null; } var isSwipeable = _react.Children.count(this.props.children) > 1; // show left arrow? var hasPrev = this.state.showArrows && this.state.firstItem > 0; // show right arrow var hasNext = this.state.showArrows && this.state.firstItem < this.state.lastPosition; // obj to hold the transformations and styles var itemListStyles = {}; var currentPosition = -this.state.firstItem * (this.state.itemSize || 0); var transformProp = (0, _CSSTranslate.default)(currentPosition, 'px', this.props.axis); var transitionTime = this.props.transitionTime + 'ms'; itemListStyles = { WebkitTransform: transformProp, MozTransform: transformProp, MsTransform: transformProp, OTransform: transformProp, transform: transformProp, msTransform: transformProp, WebkitTransitionDuration: transitionTime, MozTransitionDuration: transitionTime, MsTransitionDuration: transitionTime, OTransitionDuration: transitionTime, transitionDuration: transitionTime, msTransitionDuration: transitionTime }; return /*#__PURE__*/_react.default.createElement("div", { className: _cssClasses.default.CAROUSEL(false) }, /*#__PURE__*/_react.default.createElement("div", { className: _cssClasses.default.WRAPPER(false), ref: this.setItemsWrapperRef }, /*#__PURE__*/_react.default.createElement("button", { type: "button", className: _cssClasses.default.ARROW_PREV(!hasPrev), onClick: function onClick() { return _this3.slideRight(); }, "aria-label": this.props.labels.leftArrow }), isSwipeable ? /*#__PURE__*/_react.default.createElement(_reactEasySwipe.default, { tagName: "ul", className: _cssClasses.default.SLIDER(false, this.state.swiping), onSwipeLeft: this.slideLeft, onSwipeRight: this.slideRight, onSwipeMove: this.onSwipeMove, onSwipeStart: this.onSwipeStart, onSwipeEnd: this.onSwipeEnd, style: itemListStyles, innerRef: this.setItemsListRef, allowMouseEvents: this.props.emulateTouch }, this.renderItems()) : /*#__PURE__*/_react.default.createElement("ul", { className: _cssClasses.default.SLIDER(false, this.state.swiping), ref: function ref(node) { return _this3.setItemsListRef(node); }, style: itemListStyles }, this.renderItems()), /*#__PURE__*/_react.default.createElement("button", { type: "button", className: _cssClasses.default.ARROW_NEXT(!hasNext), onClick: function onClick() { return _this3.slideLeft(); }, "aria-label": this.props.labels.rightArrow }))); } }]); return Thumbs; }(_react.Component); exports.default = Thumbs; _defineProperty(Thumbs, "displayName", 'Thumbs'); _defineProperty(Thumbs, "defaultProps", { axis: 'horizontal', labels: { leftArrow: 'previous slide / item', rightArrow: 'next slide / item', item: 'slide item' }, selectedItem: 0, thumbWidth: 80, transitionTime: 350 });", ""use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classnames = _interopRequireDefault(require("classnames")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var _default = { ROOT: function ROOT(customClassName) { return (0, _classnames.default)(_defineProperty({ 'carousel-root': true }, customClassName || '', !!customClassName)); }, CAROUSEL: function CAROUSEL(isSlider) { return (0, _classnames.default)({ carousel: true, 'carousel-slider': isSlider }); }, WRAPPER: function WRAPPER(isSlider, axis) { return (0, _classnames.default)({ 'thumbs-wrapper': !isSlider, 'slider-wrapper': isSlider, 'axis-horizontal': axis === 'horizontal', 'axis-vertical': axis !== 'horizontal' }); }, SLIDER: function SLIDER(isSlider, isSwiping) { return (0, _classnames.default)({ thumbs: !isSlider, slider: isSlider, animated: !isSwiping }); }, ITEM: function ITEM(isSlider, selected, previous) { return (0, _classnames.default)({ thumb: !isSlider, slide: isSlider, selected: selected, previous: previous }); }, ARROW_PREV: function ARROW_PREV(disabled) { return (0, _classnames.default)({ 'control-arrow control-prev': true, 'control-disabled': disabled }); }, ARROW_NEXT: function ARROW_NEXT(disabled) { return (0, _classnames.default)({ 'control-arrow control-next': true, 'control-disabled': disabled }); }, DOT: function DOT(selected) { return (0, _classnames.default)({ dot: true, selected: selected }); } }; exports.default = _default;", ""use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.outerWidth = void 0; var outerWidth = function outerWidth(el) { var width = el.offsetWidth; var style = getComputedStyle(el); width += parseInt(style.marginLeft) + parseInt(style.marginRight); return width; }; exports.outerWidth = outerWidth;", ""use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "Carousel", { enumerable: true, get: function get() { return _Carousel.default; } }); Object.defineProperty(exports, "CarouselProps", { enumerable: true, get: function get() { return _types.CarouselProps; } }); Object.defineProperty(exports, "Thumbs", { enumerable: true, get: function get() { return _Thumbs.default; } }); var _Carousel = _interopRequireDefault(require("./components/Carousel")); var _types = require("./components/Carousel/types"); var _Thumbs = _interopRequireDefault(require("./components/Thumbs")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }", ""use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _default = function _default() { return document; }; exports.default = _default;", ""use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _default = function _default() { return window; }; exports.default = _default;", "import React, { FC, useEffect } from 'react'; import { EventDataProps, TagEventTrackerProps } from './models'; const TagEventTracker: FC = ({ children, eventType, data: { value, userId, itemListId, itemListName, currency, ecommerce, pageTemplate }, }) => { useEffect(() => { if (typeof window !== undefined) { switch (eventType) { case 'view_item': window.dataLayer.push({ event: eventType, userId, currency, value, ecommerce, }); break; case 'view_item_list': window.dataLayer.push({ event: eventType, userId, itemListId, itemListName, ecommerce, }); break; case 'page_view': window.dataLayer.push({ pageTemplate, userId, }); break; default: console.error('No dataLayer event found'); break; } } }, [ecommerce, value, eventType, currency, itemListId, itemListName, pageTemplate, userId]); return <>{children}; }; const handleDataLayerClick = ( { retailerName, userId, ecommerce }: EventDataProps, eventType: string, url?: string ) => { window.dataLayer.push({ event: eventType, retailerName, userId, ecommerce, }); if (eventType === 'retailer_link_click') { window.open(url, '_blank'); } }; export { handleDataLayerClick, TagEventTracker }; ", "export const isEmpty = (obj): boolean => { if (obj === undefined || obj === null) { return true; } if (Array.isArray(obj)) { return !obj.length; } if (typeof obj === 'object') { return !Object.keys(obj).length; } return !obj; }; export const getYoutubeId = (value) => { const SRC_REGEX = /src="(.*?)"/im; const url = SRC_REGEX.test(value) ? value.match(SRC_REGEX)[1] : value; const { searchParams, pathname } = new URL(url); return searchParams.get('v') || pathname.replace('/embed', '').replace('/', ''); }; export const nl2br = (str: string = '', isXhtml: boolean = false): string => { if (typeof str === 'undefined' || str === null) { return ''; } const breakTag = isXhtml || typeof isXhtml === 'undefined' ? '
' : '
'; return `${str}`.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, `$1${breakTag}$2`); }; export const filterByTagId = (items, tid: string, limit: number = 0) => { let filtered; if (tid === '') { filtered = items; } else { filtered = items.filter((item) => item.tags.id === tid); } return limit === 0 ? filtered : filtered.slice(0, limit); }; export default isEmpty; " ], names: [ "exports", "_reactSwipe", "Object", "defineProperty", "value", "_reactSwipe2", "_interopRequireDefault", "obj", "__esModule", "default", "_react", "_propTypes", "setHasSupportToCaptureOption", "_react2", "_propTypes2", "_extends", "assign", "target", "i", "arguments", "length", "source", "key", "prototype", "hasOwnProperty", "call", "_objectWithoutProperties", "keys", "indexOf", "_classCallCheck", "instance", "Constructor", "TypeError", "_createClass", "defineProperties", "props", "descriptor", "enumerable", "configurable", "writable", "protoProps", "staticProps", "_possibleConstructorReturn", "self", "ReferenceError", "_inherits", "subClass", "superClass", "create", "constructor", "setPrototypeOf", "__proto__", "supportsCaptureOption", "hasSupport", "addEventListener", "get", "e", "getSafeEventHandlerOpts", "options", "undefined", "capture", "getPosition", "event", "_event$touches$", "touches", "x", "pageX", "y", "pageY", "screenX", "screenY", "ReactSwipe", "_Component", "_ref", "this", "_len", "args", "Array", "_key", "_this", "getPrototypeOf", "apply", "concat", "_handleSwipeStart", "bind", "_handleSwipeMove", "_handleSwipeEnd", "_onMouseDown", "_onMouseMove", "_onMouseUp", "_setSwiperRef", "swiper", "passive", "removeEventListener", "allowMouseEvents", "mouseDown", "document", "_getPosition", "moveStart", "onSwipeStart", "_getPosition2", "deltaX", "deltaY", "moving", "onSwipeMove", "cancelable", "preventDefault", "movePosition", "onSwipeEnd", "tolerance", "onSwipeLeft", "onSwipeRight", "onSwipeUp", "onSwipeDown", "node", "innerRef", "_props", "className", "tagName", "style", "children", "createElement", "ref", "onMouseDown", "onTouchStart", "onTouchEnd", "Component", "displayName", "propTypes", "string", "object", "bool", "func", "number", "isRequired", "defaultProps", "position", "metric", "axis", "positionPercent", "join", "fadeAnimationHandler", "slideStopSwipingHandler", "slideSwipeAnimationHandler", "slideAnimationHandler", "_CSSTranslate", "_utils", "ownKeys", "enumerableOnly", "getOwnPropertySymbols", "symbols", "filter", "sym", "getOwnPropertyDescriptor", "push", "_objectSpread", "forEach", "_defineProperty", "getOwnPropertyDescriptors", "state", "returnStyles", "selectedItem", "previousItem", "lastPosition", "Children", "count", "infiniteLoop", "centerMode", "centerSlidePercentage", "itemListStyle", "setPosition", "currentPosition", "transformProp", "transitionTime", "WebkitTransform", "msTransform", "OTransform", "transform", "swiping", "WebkitTransitionDuration", "MozTransitionDuration", "OTransitionDuration", "transitionDuration", "msTransitionDuration", "delta", "setState", "isHorizontal", "childrenLength", "finalBoundry", "axisDelta", "handledDelta", "itemSize", "hasMoved", "Math", "abs", "swipeScrollTolerance", "preventMovementUntilSwipeScrollTolerance", "swipeMovementStarted", "cancelClick", "transitionTimingFunction", "slideStyle", "display", "zIndex", "minHeight", "opacity", "top", "right", "left", "bottom", "msTransitionTimingFunction", "MozTransitionTimingFunction", "WebkitTransitionTimingFunction", "OTransitionTimingFunction", "selectedStyle", "prevStyle", "_typeof", "cache", "_getRequireWildcardCache", "has", "newObj", "hasPropertyDescriptor", "desc", "set", "_interopRequireWildcard", "_reactEasySwipe", "_cssClasses", "_Thumbs", "_document", "_window", "_animations", "WeakMap", "Symbol", "iterator", "_defineProperties", "_setPrototypeOf", "o", "p", "_createSuper", "Derived", "hasNativeReflectConstruct", "Reflect", "construct", "sham", "Proxy", "Date", "toString", "_isNativeReflectConstruct", "result", "Super", "_getPrototypeOf", "NewTarget", "_assertThisInitialized", "Carousel", "_React$Component", "_super", "thumbsRef", "carouselWrapperRef", "listRef", "index", "itemsRef", "clearAutoPlay", "autoPlay", "timer", "setTimeout", "increment", "interval", "clearTimeout", "isMouseEntered", "activeElement", "contains", "isFocusWithinTheCarousel", "prevKey", "keyCode", "decrement", "initialized", "firstItem", "clientWidth", "clientHeight", "updateSizes", "hasMount", "item", "onClickItem", "onChange", "onClickThumb", "moveTo", "animationHandlerResponse", "swipeAnimationHandler", "positions", "selectItem", "resetAutoPlay", "emulateTouch", "newIndex", "isKeyboardEvent", "animationHandler", "handleOnChange", "toArray", "getElementsByTagName", "slideImages", "image", "complete", "onImageLoad", "forceUpdate", "height", "initState", "setupCarousel", "prevProps", "prevState", "autoFocus", "forceFocus", "stopSwipingHandler", "setupAutoPlay", "destroyAutoPlay", "destroyCarousel", "_this2", "bindEvents", "initialImage", "getInitialImage", "setMountState", "unbindEvents", "carouselWrapper", "stopOnHover", "startOnLeave", "useKeyboardArrows", "navigateWithKeyboard", "_this$carouselWrapper", "focus", "isClone", "_this3", "map", "isSelected", "isPrevious", "minWidth", "pointerEvents", "slideProps", "setItemsRef", "ITEM", "onClick", "handleClickItem", "renderItem", "_this4", "_this$props", "showIndicators", "labels", "renderIndicator", "_", "changeItem", "showStatus", "statusFormatter", "showThumbs", "setThumbsRef", "onSelectItem", "handleClickThumb", "thumbWidth", "renderThumbs", "_this5", "isSwipeable", "swipeable", "canShowArrows", "showArrows", "hasPrev", "hasNext", "itemsClone", "renderItems", "firstClone", "shift", "lastClone", "pop", "swiperProps", "SLIDER", "containerStyles", "onSwipeForward", "onSwipeBackwards", "dynamicHeight", "itemHeight", "getVariableItemHeight", "verticalSwipe", "ariaLabel", "ROOT", "setCarouselWrapperRef", "tabIndex", "CAROUSEL", "width", "renderControls", "renderArrowPrev", "onClickPrev", "leftArrow", "WRAPPER", "setListRef", "renderArrowNext", "onClickNext", "rightArrow", "renderStatus", "noop", "onClickHandler", "label", "type", "ARROW_PREV", "ARROW_NEXT", "DOT", "onKeyDown", "role", "images", "img", "find", "console", "warn", "defaultStatusFormatter", "current", "total", "prop", "_dimensions", "Thumbs", "itemsWrapperRef", "itemsListRef", "wrapperSize", "outerWidth", "visibleItems", "floor", "_state", "getFirstItem", "handler", "max", "setupThumbs", "destroyThumbs", "itemClass", "thumbProps", "itemListStyles", "MozTransform", "MsTransform", "MsTransitionDuration", "setItemsWrapperRef", "slideRight", "slideLeft", "setItemsListRef", "_classnames", "_default", "customClassName", "isSlider", "carousel", "isSwiping", "thumbs", "slider", "animated", "selected", "previous", "thumb", "slide", "disabled", "dot", "el", "offsetWidth", "getComputedStyle", "parseInt", "marginLeft", "marginRight", "_Carousel", "_types", "window", "TagEventTracker", "eventType", "data", "userId", "itemListId", "itemListName", "currency", "ecommerce", "pageTemplate", "useEffect", "dataLayer", "error", "handleDataLayerClick", "url", "retailerName", "open", "getYoutubeId", "SRC_REGEX", "test", "match", "URL", "searchParams", "pathname", "replace", "nl2br", "str", "isXhtml", "filterByTagId", "items", "tid", "limit", "filtered", "tags", "id", "slice" ], sourceRoot: "" }