a||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","\n/**\n * Topological sorting function\n *\n * @param {Array} edges\n * @returns {Array}\n */\n\nmodule.exports = function(edges) {\n return toposort(uniqueNodes(edges), edges)\n}\n\nmodule.exports.array = toposort\n\nfunction toposort(nodes, edges) {\n var cursor = nodes.length\n , sorted = new Array(cursor)\n , visited = {}\n , i = cursor\n // Better data structures make algorithm much faster.\n , outgoingEdges = makeOutgoingEdges(edges)\n , nodesHash = makeNodesHash(nodes)\n\n // check for unknown nodes\n edges.forEach(function(edge) {\n if (!nodesHash.has(edge[0]) || !nodesHash.has(edge[1])) {\n throw new Error('Unknown node. There is an unknown node in the supplied edges.')\n }\n })\n\n while (i--) {\n if (!visited[i]) visit(nodes[i], i, new Set())\n }\n\n return sorted\n\n function visit(node, i, predecessors) {\n if(predecessors.has(node)) {\n var nodeRep\n try {\n nodeRep = \", node was:\" + JSON.stringify(node)\n } catch(e) {\n nodeRep = \"\"\n }\n throw new Error('Cyclic dependency' + nodeRep)\n }\n\n if (!nodesHash.has(node)) {\n throw new Error('Found unknown node. Make sure to provided all involved nodes. Unknown node: '+JSON.stringify(node))\n }\n\n if (visited[i]) return;\n visited[i] = true\n\n var outgoing = outgoingEdges.get(node) || new Set()\n outgoing = Array.from(outgoing)\n\n if (i = outgoing.length) {\n predecessors.add(node)\n do {\n var child = outgoing[--i]\n visit(child, nodesHash.get(child), predecessors)\n } while (i)\n predecessors.delete(node)\n }\n\n sorted[--cursor] = node\n }\n}\n\nfunction uniqueNodes(arr){\n var res = new Set()\n for (var i = 0, len = arr.length; i < len; i++) {\n var edge = arr[i]\n res.add(edge[0])\n res.add(edge[1])\n }\n return Array.from(res)\n}\n\nfunction makeOutgoingEdges(arr){\n var edges = new Map()\n for (var i = 0, len = arr.length; i < len; i++) {\n var edge = arr[i]\n if (!edges.has(edge[0])) edges.set(edge[0], new Set())\n if (!edges.has(edge[1])) edges.set(edge[1], new Set())\n edges.get(edge[0]).add(edge[1])\n }\n return edges\n}\n\nfunction makeNodesHash(arr){\n var res = new Map()\n for (var i = 0, len = arr.length; i < len; i++) {\n res.set(arr[i], i)\n }\n return res\n}\n","/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"react\"),n=require(\"use-sync-external-store/shim\");function p(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var q=\"function\"===typeof Object.is?Object.is:p,r=n.useSyncExternalStore,t=h.useRef,u=h.useEffect,v=h.useMemo,w=h.useDebugValue;\nexports.useSyncExternalStoreWithSelector=function(a,b,e,l,g){var c=t(null);if(null===c.current){var f={hasValue:!1,value:null};c.current=f}else f=c.current;c=v(function(){function a(a){if(!c){c=!0;d=a;a=l(a);if(void 0!==g&&f.hasValue){var b=f.value;if(g(b,a))return k=b}return k=a}b=k;if(q(d,a))return b;var e=l(a);if(void 0!==g&&g(b,e))return b;d=a;return k=e}var c=!1,d,k,m=void 0===e?null:e;return[function(){return a(b())},null===m?void 0:function(){return a(m())}]},[b,e,l,g]);var d=r(a,c[0],c[1]);\nu(function(){f.hasValue=!0;f.value=d},[d]);w(d);return d};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _exportNames = {};\nexports[\"default\"] = void 0;\n\nvar Utils = _interopRequireWildcard(require(\"./utils\"));\n\nvar _types = require(\"./types\");\n\nObject.keys(_types).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _types[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _types[key];\n }\n });\n});\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && 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; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar VanillaSwipe = /*#__PURE__*/function () {\n function VanillaSwipe(props) {\n _classCallCheck(this, VanillaSwipe);\n\n _defineProperty(this, \"state\", void 0);\n\n _defineProperty(this, \"props\", void 0);\n\n this.state = Utils.getInitialState();\n this.props = Utils.getInitialProps(props);\n this.handleSwipeStart = this.handleSwipeStart.bind(this);\n this.handleSwipeMove = this.handleSwipeMove.bind(this);\n this.handleSwipeEnd = this.handleSwipeEnd.bind(this);\n this.handleMouseDown = this.handleMouseDown.bind(this);\n this.handleMouseMove = this.handleMouseMove.bind(this);\n this.handleMouseUp = this.handleMouseUp.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n }\n\n _createClass(VanillaSwipe, [{\n key: \"init\",\n value: function init() {\n this.setupTouchListeners();\n this.setupMouseListeners();\n }\n }, {\n key: \"update\",\n value: function update(props) {\n var prevProps = this.props;\n var nextProps = Object.assign({}, prevProps, props);\n\n if (prevProps.element !== nextProps.element || prevProps.target !== nextProps.target) {\n this.destroy();\n this.props = nextProps;\n this.init();\n return;\n }\n\n this.props = nextProps;\n\n if (prevProps.mouseTrackingEnabled !== nextProps.mouseTrackingEnabled || prevProps.preventTrackingOnMouseleave !== nextProps.preventTrackingOnMouseleave) {\n this.cleanupMouseListeners();\n nextProps.mouseTrackingEnabled ? this.setupMouseListeners() : this.cleanupMouseListeners();\n }\n\n if (prevProps.touchTrackingEnabled !== nextProps.touchTrackingEnabled) {\n this.cleanupTouchListeners();\n nextProps.touchTrackingEnabled ? this.setupTouchListeners() : this.cleanupTouchListeners();\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.cleanupMouseListeners();\n this.cleanupTouchListeners();\n this.state = Utils.getInitialState();\n this.props = Utils.getInitialProps();\n }\n }, {\n key: \"setupTouchListeners\",\n value: function setupTouchListeners() {\n var _this$props = this.props,\n element = _this$props.element,\n target = _this$props.target,\n touchTrackingEnabled = _this$props.touchTrackingEnabled;\n\n if (element && touchTrackingEnabled) {\n var listener = target || element;\n var isPassiveSupported = Utils.checkIsPassiveSupported();\n var options = Utils.getOptions(isPassiveSupported);\n listener.addEventListener('touchstart', this.handleSwipeStart, options);\n listener.addEventListener('touchmove', this.handleSwipeMove, options);\n listener.addEventListener('touchend', this.handleSwipeEnd, options);\n }\n }\n }, {\n key: \"cleanupTouchListeners\",\n value: function cleanupTouchListeners() {\n var _this$props2 = this.props,\n element = _this$props2.element,\n target = _this$props2.target;\n var listener = target || element;\n\n if (listener) {\n listener.removeEventListener('touchstart', this.handleSwipeStart);\n listener.removeEventListener('touchmove', this.handleSwipeMove);\n listener.removeEventListener('touchend', this.handleSwipeEnd);\n }\n }\n }, {\n key: \"setupMouseListeners\",\n value: function setupMouseListeners() {\n var _this$props3 = this.props,\n element = _this$props3.element,\n mouseTrackingEnabled = _this$props3.mouseTrackingEnabled,\n preventTrackingOnMouseleave = _this$props3.preventTrackingOnMouseleave;\n\n if (mouseTrackingEnabled && element) {\n element.addEventListener('mousedown', this.handleMouseDown);\n element.addEventListener('mousemove', this.handleMouseMove);\n element.addEventListener('mouseup', this.handleMouseUp);\n\n if (preventTrackingOnMouseleave) {\n element.addEventListener('mouseleave', this.handleMouseLeave);\n }\n }\n }\n }, {\n key: \"cleanupMouseListeners\",\n value: function cleanupMouseListeners() {\n var element = this.props.element;\n\n if (element) {\n element.removeEventListener('mousedown', this.handleMouseDown);\n element.removeEventListener('mousemove', this.handleMouseMove);\n element.removeEventListener('mouseup', this.handleMouseUp);\n element.removeEventListener('mouseleave', this.handleMouseLeave);\n }\n }\n }, {\n key: \"getEventData\",\n value: function getEventData(e) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n directionDelta: 0\n };\n var rotationAngle = this.props.rotationAngle;\n var directionDelta = options.directionDelta;\n var movingPosition = Utils.calculateMovingPosition(e);\n var rotatePosition = Utils.rotateByAngle(movingPosition, rotationAngle);\n return Utils.calculatePosition(this.state, {\n rotatePosition: rotatePosition,\n directionDelta: directionDelta\n });\n }\n }, {\n key: \"handleSwipeStart\",\n value: function handleSwipeStart(e) {\n if (Utils.checkIsMoreThanSingleTouches(e)) return;\n var rotationAngle = this.props.rotationAngle;\n var movingPosition = Utils.calculateMovingPosition(e);\n\n var _Utils$rotateByAngle = Utils.rotateByAngle(movingPosition, rotationAngle),\n x = _Utils$rotateByAngle.x,\n y = _Utils$rotateByAngle.y;\n\n this.state = Utils.getInitialState({\n isSwiping: false,\n start: Date.now(),\n x: x,\n y: y\n });\n }\n }, {\n key: \"handleSwipeMove\",\n value: function handleSwipeMove(e) {\n var _this$state = this.state,\n x = _this$state.x,\n y = _this$state.y,\n isSwiping = _this$state.isSwiping;\n if (!x || !y || Utils.checkIsMoreThanSingleTouches(e)) return;\n var directionDelta = this.props.directionDelta || 0;\n\n var _this$getEventData = this.getEventData(e, {\n directionDelta: directionDelta\n }),\n absX = _this$getEventData.absX,\n absY = _this$getEventData.absY,\n deltaX = _this$getEventData.deltaX,\n deltaY = _this$getEventData.deltaY,\n directionX = _this$getEventData.directionX,\n directionY = _this$getEventData.directionY,\n duration = _this$getEventData.duration,\n velocity = _this$getEventData.velocity;\n\n var _this$props4 = this.props,\n delta = _this$props4.delta,\n preventDefaultTouchmoveEvent = _this$props4.preventDefaultTouchmoveEvent,\n onSwipeStart = _this$props4.onSwipeStart,\n onSwiping = _this$props4.onSwiping;\n if (e.cancelable && preventDefaultTouchmoveEvent) e.preventDefault();\n if (absX < Number(delta) && absY < Number(delta) && !isSwiping) return;\n\n if (onSwipeStart && !isSwiping) {\n onSwipeStart(e, {\n deltaX: deltaX,\n deltaY: deltaY,\n absX: absX,\n absY: absY,\n directionX: directionX,\n directionY: directionY,\n duration: duration,\n velocity: velocity\n });\n }\n\n this.state.isSwiping = true;\n\n if (onSwiping) {\n onSwiping(e, {\n deltaX: deltaX,\n deltaY: deltaY,\n absX: absX,\n absY: absY,\n directionX: directionX,\n directionY: directionY,\n duration: duration,\n velocity: velocity\n });\n }\n }\n }, {\n key: \"handleSwipeEnd\",\n value: function handleSwipeEnd(e) {\n var _this$props5 = this.props,\n onSwiped = _this$props5.onSwiped,\n onTap = _this$props5.onTap;\n\n if (this.state.isSwiping) {\n var directionDelta = this.props.directionDelta || 0;\n var position = this.getEventData(e, {\n directionDelta: directionDelta\n });\n onSwiped && onSwiped(e, position);\n } else {\n var _position = this.getEventData(e);\n\n onTap && onTap(e, _position);\n }\n\n this.state = Utils.getInitialState();\n }\n }, {\n key: \"handleMouseDown\",\n value: function handleMouseDown(e) {\n var target = this.props.target;\n\n if (target) {\n if (target === e.target) {\n this.handleSwipeStart(e);\n }\n } else {\n this.handleSwipeStart(e);\n }\n }\n }, {\n key: \"handleMouseMove\",\n value: function handleMouseMove(e) {\n this.handleSwipeMove(e);\n }\n }, {\n key: \"handleMouseUp\",\n value: function handleMouseUp(e) {\n var isSwiping = this.state.isSwiping;\n var target = this.props.target;\n\n if (target) {\n if (target === e.target || isSwiping) {\n this.handleSwipeEnd(e);\n }\n } else {\n this.handleSwipeEnd(e);\n }\n }\n }, {\n key: \"handleMouseLeave\",\n value: function handleMouseLeave(e) {\n var isSwiping = this.state.isSwiping;\n\n if (isSwiping) {\n this.handleSwipeEnd(e);\n }\n }\n }], [{\n key: \"isTouchEventsSupported\",\n value: function isTouchEventsSupported() {\n return Utils.checkIsTouchEventsSupported();\n }\n }]);\n\n return VanillaSwipe;\n}();\n\nexports[\"default\"] = VanillaSwipe;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TraceDirectionKey = exports.Direction = exports.Axis = void 0;\nvar TraceDirectionKey;\nexports.TraceDirectionKey = TraceDirectionKey;\n\n(function (TraceDirectionKey) {\n TraceDirectionKey[\"NEGATIVE\"] = \"NEGATIVE\";\n TraceDirectionKey[\"POSITIVE\"] = \"POSITIVE\";\n TraceDirectionKey[\"NONE\"] = \"NONE\";\n})(TraceDirectionKey || (exports.TraceDirectionKey = TraceDirectionKey = {}));\n\nvar Direction;\nexports.Direction = Direction;\n\n(function (Direction) {\n Direction[\"TOP\"] = \"TOP\";\n Direction[\"LEFT\"] = \"LEFT\";\n Direction[\"RIGHT\"] = \"RIGHT\";\n Direction[\"BOTTOM\"] = \"BOTTOM\";\n Direction[\"NONE\"] = \"NONE\";\n})(Direction || (exports.Direction = Direction = {}));\n\nvar Axis;\nexports.Axis = Axis;\n\n(function (Axis) {\n Axis[\"X\"] = \"x\";\n Axis[\"Y\"] = \"y\";\n})(Axis || (exports.Axis = Axis = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calculateDirection = calculateDirection;\n\nvar _types = require(\"../types\");\n\nfunction calculateDirection(trace) {\n var direction;\n var negative = _types.TraceDirectionKey.NEGATIVE;\n var positive = _types.TraceDirectionKey.POSITIVE;\n var current = trace[trace.length - 1];\n var previous = trace[trace.length - 2] || 0;\n\n if (trace.every(function (i) {\n return i === 0;\n })) {\n return _types.TraceDirectionKey.NONE;\n }\n\n direction = current > previous ? positive : negative;\n\n if (current === 0) {\n direction = previous < 0 ? positive : negative;\n }\n\n return direction;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calculateDirectionDelta = calculateDirectionDelta;\n\nvar _types = require(\"../types\");\n\nvar _common = require(\"./common\");\n\nfunction calculateDirectionDelta(traceDirections) {\n var delta = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var length = traceDirections.length;\n var i = length - 1;\n var direction = _types.TraceDirectionKey.NONE;\n\n for (; i >= 0; i--) {\n var current = traceDirections[i];\n var currentKey = (0, _common.getDirectionKey)(current);\n var currentValue = (0, _common.getDirectionValue)(current[currentKey]);\n var prev = traceDirections[i - 1] || {};\n var prevKey = (0, _common.getDirectionKey)(prev);\n var prevValue = (0, _common.getDirectionValue)(prev[prevKey]);\n var difference = (0, _common.getDifference)(currentValue, prevValue);\n\n if (difference >= delta) {\n direction = currentKey;\n break;\n } else {\n direction = prevKey;\n }\n }\n\n return direction;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calculateDuration = calculateDuration;\n\nfunction calculateDuration() {\n var prevTime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var nextTime = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return prevTime ? nextTime - prevTime : 0;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calculateMovingPosition = calculateMovingPosition;\n\nfunction calculateMovingPosition(e) {\n if ('changedTouches' in e) {\n var touches = e.changedTouches && e.changedTouches[0];\n return {\n x: touches && touches.clientX,\n y: touches && touches.clientY\n };\n }\n\n return {\n x: e.clientX,\n y: e.clientY\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calculatePosition = calculatePosition;\n\nvar _updateTrace = require(\"./updateTrace\");\n\nvar _resolveDirection = require(\"./resolveDirection\");\n\nvar _calculateDuration = require(\"./calculateDuration\");\n\nvar _calculateVelocity = require(\"./calculateVelocity\");\n\nvar _types = require(\"../types\");\n\nfunction calculatePosition(state, options) {\n var start = state.start,\n x = state.x,\n y = state.y,\n traceX = state.traceX,\n traceY = state.traceY;\n var rotatePosition = options.rotatePosition,\n directionDelta = options.directionDelta;\n var deltaX = rotatePosition.x - x;\n var deltaY = y - rotatePosition.y;\n var absX = Math.abs(deltaX);\n var absY = Math.abs(deltaY);\n (0, _updateTrace.updateTrace)(traceX, deltaX);\n (0, _updateTrace.updateTrace)(traceY, deltaY);\n var directionX = (0, _resolveDirection.resolveDirection)(traceX, _types.Axis.X, directionDelta);\n var directionY = (0, _resolveDirection.resolveDirection)(traceY, _types.Axis.Y, directionDelta);\n var duration = (0, _calculateDuration.calculateDuration)(start, Date.now());\n var velocity = (0, _calculateVelocity.calculateVelocity)(absX, absY, duration);\n return {\n absX: absX,\n absY: absY,\n deltaX: deltaX,\n deltaY: deltaY,\n directionX: directionX,\n directionY: directionY,\n duration: duration,\n positionX: rotatePosition.x,\n positionY: rotatePosition.y,\n velocity: velocity\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calculateTraceDirections = calculateTraceDirections;\n\nvar _types = require(\"../types\");\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction calculateTraceDirections() {\n var trace = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var ticks = [];\n var positive = _types.TraceDirectionKey.POSITIVE;\n var negative = _types.TraceDirectionKey.NEGATIVE;\n var i = 0;\n var tick = [];\n var direction = _types.TraceDirectionKey.NONE;\n\n for (; i < trace.length; i++) {\n var current = trace[i];\n var prev = trace[i - 1];\n\n if (tick.length) {\n var currentDirection = current > prev ? positive : negative;\n\n if (direction === _types.TraceDirectionKey.NONE) {\n direction = currentDirection;\n }\n\n if (currentDirection === direction) {\n tick.push(current);\n } else {\n ticks.push(_defineProperty({}, direction, tick.slice()));\n tick = [];\n tick.push(current);\n direction = currentDirection;\n }\n } else {\n if (current !== 0) {\n direction = current > 0 ? positive : negative;\n }\n\n tick.push(current);\n }\n }\n\n if (tick.length) {\n ticks.push(_defineProperty({}, direction, tick));\n }\n\n return ticks;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calculateVelocity = calculateVelocity;\n\nfunction calculateVelocity(x, y, time) {\n var magnitude = Math.sqrt(x * x + y * y);\n return magnitude / (time || 1);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.checkIsMoreThanSingleTouches = void 0;\n\nvar checkIsMoreThanSingleTouches = function checkIsMoreThanSingleTouches(e) {\n return Boolean(e.touches && e.touches.length > 1);\n};\n\nexports.checkIsMoreThanSingleTouches = checkIsMoreThanSingleTouches;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.checkIsPassiveSupported = checkIsPassiveSupported;\nexports.noop = void 0;\n\nvar _createOptions = require(\"./createOptions\");\n\nfunction checkIsPassiveSupported(isPassiveSupported) {\n if (typeof isPassiveSupported === 'boolean') {\n return isPassiveSupported;\n }\n\n var proxy = {\n isPassiveSupported: isPassiveSupported\n };\n\n try {\n var options = (0, _createOptions.createOptions)(proxy);\n window.addEventListener('checkIsPassiveSupported', noop, options);\n window.removeEventListener('checkIsPassiveSupported', noop, options);\n } catch (err) {}\n\n return proxy.isPassiveSupported;\n}\n\nvar noop = function noop() {};\n\nexports.noop = noop;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.checkIsTouchEventsSupported = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nvar checkIsTouchEventsSupported = function checkIsTouchEventsSupported() {\n return (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === 'object' && ('ontouchstart' in window || Boolean(window.navigator.maxTouchPoints));\n};\n\nexports.checkIsTouchEventsSupported = checkIsTouchEventsSupported;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resolveAxisDirection = exports.getDirectionValue = exports.getDirectionKey = exports.getDifference = void 0;\n\nvar _types = require(\"../types\");\n\nvar getDirectionKey = function getDirectionKey() {\n var object = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var key = Object.keys(object).toString();\n\n switch (key) {\n case _types.TraceDirectionKey.POSITIVE:\n return _types.TraceDirectionKey.POSITIVE;\n\n case _types.TraceDirectionKey.NEGATIVE:\n return _types.TraceDirectionKey.NEGATIVE;\n\n default:\n return _types.TraceDirectionKey.NONE;\n }\n};\n\nexports.getDirectionKey = getDirectionKey;\n\nvar getDirectionValue = function getDirectionValue() {\n var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return values[values.length - 1] || 0;\n};\n\nexports.getDirectionValue = getDirectionValue;\n\nvar getDifference = function getDifference() {\n var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return Math.abs(x - y);\n};\n\nexports.getDifference = getDifference;\n\nvar resolveAxisDirection = function resolveAxisDirection(axis, key) {\n var negative = _types.Direction.LEFT;\n var positive = _types.Direction.RIGHT;\n var direction = _types.Direction.NONE;\n\n if (axis === _types.Axis.Y) {\n negative = _types.Direction.BOTTOM;\n positive = _types.Direction.TOP;\n }\n\n if (key === _types.TraceDirectionKey.NEGATIVE) {\n direction = negative;\n }\n\n if (key === _types.TraceDirectionKey.POSITIVE) {\n direction = positive;\n }\n\n return direction;\n};\n\nexports.resolveAxisDirection = resolveAxisDirection;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createOptions = createOptions;\n\nfunction createOptions() {\n var proxy = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n Object.defineProperty(proxy, 'passive', {\n get: function get() {\n this.isPassiveSupported = true;\n return true;\n },\n enumerable: true\n });\n return proxy;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getInitialProps = void 0;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar getInitialProps = function getInitialProps() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _objectSpread({\n element: null,\n target: null,\n delta: 10,\n directionDelta: 0,\n rotationAngle: 0,\n mouseTrackingEnabled: false,\n touchTrackingEnabled: true,\n preventDefaultTouchmoveEvent: false,\n preventTrackingOnMouseleave: false\n }, props);\n};\n\nexports.getInitialProps = getInitialProps;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getInitialState = void 0;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar getInitialState = function getInitialState() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _objectSpread({\n x: 0,\n y: 0,\n start: 0,\n isSwiping: false,\n traceX: [],\n traceY: []\n }, options);\n};\n\nexports.getInitialState = getInitialState;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getOptions = getOptions;\n\nfunction getOptions() {\n var isPassiveSupported = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (isPassiveSupported) {\n return {\n passive: false\n };\n }\n\n return {};\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _calculateDirection = require(\"./calculateDirection\");\n\nObject.keys(_calculateDirection).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _calculateDirection[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _calculateDirection[key];\n }\n });\n});\n\nvar _calculateDirectionDelta = require(\"./calculateDirectionDelta\");\n\nObject.keys(_calculateDirectionDelta).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _calculateDirectionDelta[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _calculateDirectionDelta[key];\n }\n });\n});\n\nvar _calculateDuration = require(\"./calculateDuration\");\n\nObject.keys(_calculateDuration).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _calculateDuration[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _calculateDuration[key];\n }\n });\n});\n\nvar _calculateMovingPosition = require(\"./calculateMovingPosition\");\n\nObject.keys(_calculateMovingPosition).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _calculateMovingPosition[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _calculateMovingPosition[key];\n }\n });\n});\n\nvar _calculatePosition = require(\"./calculatePosition\");\n\nObject.keys(_calculatePosition).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _calculatePosition[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _calculatePosition[key];\n }\n });\n});\n\nvar _calculateTraceDirections = require(\"./calculateTraceDirections\");\n\nObject.keys(_calculateTraceDirections).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _calculateTraceDirections[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _calculateTraceDirections[key];\n }\n });\n});\n\nvar _calculateVelocity = require(\"./calculateVelocity\");\n\nObject.keys(_calculateVelocity).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _calculateVelocity[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _calculateVelocity[key];\n }\n });\n});\n\nvar _checkIsMoreThanSingleTouches = require(\"./checkIsMoreThanSingleTouches\");\n\nObject.keys(_checkIsMoreThanSingleTouches).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _checkIsMoreThanSingleTouches[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _checkIsMoreThanSingleTouches[key];\n }\n });\n});\n\nvar _checkIsPassiveSupported = require(\"./checkIsPassiveSupported\");\n\nObject.keys(_checkIsPassiveSupported).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _checkIsPassiveSupported[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _checkIsPassiveSupported[key];\n }\n });\n});\n\nvar _checkIsTouchEventsSupported = require(\"./checkIsTouchEventsSupported\");\n\nObject.keys(_checkIsTouchEventsSupported).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _checkIsTouchEventsSupported[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _checkIsTouchEventsSupported[key];\n }\n });\n});\n\nvar _common = require(\"./common\");\n\nObject.keys(_common).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _common[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _common[key];\n }\n });\n});\n\nvar _createOptions = require(\"./createOptions\");\n\nObject.keys(_createOptions).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _createOptions[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _createOptions[key];\n }\n });\n});\n\nvar _getInitialState = require(\"./getInitialState\");\n\nObject.keys(_getInitialState).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _getInitialState[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _getInitialState[key];\n }\n });\n});\n\nvar _getInitialProps = require(\"./getInitialProps\");\n\nObject.keys(_getInitialProps).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _getInitialProps[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _getInitialProps[key];\n }\n });\n});\n\nvar _getOptions = require(\"./getOptions\");\n\nObject.keys(_getOptions).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _getOptions[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _getOptions[key];\n }\n });\n});\n\nvar _resolveDirection = require(\"./resolveDirection\");\n\nObject.keys(_resolveDirection).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _resolveDirection[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _resolveDirection[key];\n }\n });\n});\n\nvar _rotateByAngle = require(\"./rotateByAngle\");\n\nObject.keys(_rotateByAngle).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _rotateByAngle[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _rotateByAngle[key];\n }\n });\n});\n\nvar _updateTrace = require(\"./updateTrace\");\n\nObject.keys(_updateTrace).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _updateTrace[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _updateTrace[key];\n }\n });\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resolveDirection = resolveDirection;\n\nvar _calculateDirection = require(\"./calculateDirection\");\n\nvar _calculateTraceDirections = require(\"./calculateTraceDirections\");\n\nvar _calculateDirectionDelta = require(\"./calculateDirectionDelta\");\n\nvar _common = require(\"./common\");\n\nvar _types = require(\"../types\");\n\nfunction resolveDirection(trace) {\n var axis = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _types.Axis.X;\n var directionDelta = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n if (directionDelta) {\n var directions = (0, _calculateTraceDirections.calculateTraceDirections)(trace);\n\n var _direction = (0, _calculateDirectionDelta.calculateDirectionDelta)(directions, directionDelta);\n\n return (0, _common.resolveAxisDirection)(axis, _direction);\n }\n\n var direction = (0, _calculateDirection.calculateDirection)(trace);\n return (0, _common.resolveAxisDirection)(axis, direction);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.rotateByAngle = rotateByAngle;\n\nfunction rotateByAngle(position) {\n var angle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (angle === 0) {\n return position;\n }\n\n var x = position.x,\n y = position.y;\n var angleInRadians = Math.PI / 180 * angle;\n var rotatedX = x * Math.cos(angleInRadians) + y * Math.sin(angleInRadians);\n var rotatedY = y * Math.cos(angleInRadians) - x * Math.sin(angleInRadians);\n return {\n x: rotatedX,\n y: rotatedY\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.updateTrace = updateTrace;\n\nfunction updateTrace(trace, value) {\n var last = trace[trace.length - 1];\n\n if (last !== value) {\n trace.push(value);\n }\n\n return trace;\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t