{"ast":null,"code":"import { __assign } from 'tslib';\nimport { isMouseEvent, isTouchEvent } from './utils/event-type.js';\nimport { extractEventInfo } from '../events/event-info.js';\nimport sync, { getFrameData, cancelSync } from 'framesync';\nimport { secondsToMilliseconds } from '../utils/time-conversion.js';\nimport { addPointerEvent } from '../events/use-pointer-event.js';\nimport { distance, pipe } from 'popmotion';\n\n/**\n * @internal\n */\nvar PanSession = /** @class */function () {\n  function PanSession(event, handlers, _a) {\n    var _this = this;\n    var _b = _a === void 0 ? {} : _a,\n      transformPagePoint = _b.transformPagePoint;\n    /**\n     * @internal\n     */\n    this.startEvent = null;\n    /**\n     * @internal\n     */\n    this.lastMoveEvent = null;\n    /**\n     * @internal\n     */\n    this.lastMoveEventInfo = null;\n    /**\n     * @internal\n     */\n    this.handlers = {};\n    this.updatePoint = function () {\n      if (!(_this.lastMoveEvent && _this.lastMoveEventInfo)) return;\n      var info = getPanInfo(_this.lastMoveEventInfo, _this.history);\n      var isPanStarted = _this.startEvent !== null;\n      // Only start panning if the offset is larger than 3 pixels. If we make it\n      // any larger than this we'll want to reset the pointer history\n      // on the first update to avoid visual snapping to the cursoe.\n      var isDistancePastThreshold = distance(info.offset, {\n        x: 0,\n        y: 0\n      }) >= 3;\n      if (!isPanStarted && !isDistancePastThreshold) return;\n      var point = info.point;\n      var timestamp = getFrameData().timestamp;\n      _this.history.push(__assign(__assign({}, point), {\n        timestamp: timestamp\n      }));\n      var _a = _this.handlers,\n        onStart = _a.onStart,\n        onMove = _a.onMove;\n      if (!isPanStarted) {\n        onStart && onStart(_this.lastMoveEvent, info);\n        _this.startEvent = _this.lastMoveEvent;\n      }\n      onMove && onMove(_this.lastMoveEvent, info);\n    };\n    this.handlePointerMove = function (event, info) {\n      _this.lastMoveEvent = event;\n      _this.lastMoveEventInfo = transformPoint(info, _this.transformPagePoint);\n      // Because Safari doesn't trigger mouseup events when it's above a `<select>`\n      if (isMouseEvent(event) && event.buttons === 0) {\n        _this.handlePointerUp(event, info);\n        return;\n      }\n      // Throttle mouse move event to once per frame\n      sync.update(_this.updatePoint, true);\n    };\n    this.handlePointerUp = function (event, info) {\n      _this.end();\n      var _a = _this.handlers,\n        onEnd = _a.onEnd,\n        onSessionEnd = _a.onSessionEnd;\n      var panInfo = getPanInfo(transformPoint(info, _this.transformPagePoint), _this.history);\n      if (_this.startEvent && onEnd) {\n        onEnd(event, panInfo);\n      }\n      onSessionEnd && onSessionEnd(event, panInfo);\n    };\n    // If we have more than one touch, don't start detecting this gesture\n    if (isTouchEvent(event) && event.touches.length > 1) return;\n    this.handlers = handlers;\n    this.transformPagePoint = transformPagePoint;\n    var info = extractEventInfo(event);\n    var initialInfo = transformPoint(info, this.transformPagePoint);\n    var point = initialInfo.point;\n    var timestamp = getFrameData().timestamp;\n    this.history = [__assign(__assign({}, point), {\n      timestamp: timestamp\n    })];\n    var onSessionStart = handlers.onSessionStart;\n    onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));\n    this.removeListeners = pipe(addPointerEvent(window, \"pointermove\", this.handlePointerMove), addPointerEvent(window, \"pointerup\", this.handlePointerUp), addPointerEvent(window, \"pointercancel\", this.handlePointerUp));\n  }\n  PanSession.prototype.updateHandlers = function (handlers) {\n    this.handlers = handlers;\n  };\n  PanSession.prototype.end = function () {\n    this.removeListeners && this.removeListeners();\n    cancelSync.update(this.updatePoint);\n  };\n  return PanSession;\n}();\nfunction transformPoint(info, transformPagePoint) {\n  return transformPagePoint ? {\n    point: transformPagePoint(info.point)\n  } : info;\n}\nfunction subtractPoint(a, b) {\n  return {\n    x: a.x - b.x,\n    y: a.y - b.y\n  };\n}\nfunction getPanInfo(_a, history) {\n  var point = _a.point;\n  return {\n    point: point,\n    delta: subtractPoint(point, lastDevicePoint(history)),\n    offset: subtractPoint(point, startDevicePoint(history)),\n    velocity: getVelocity(history, 0.1)\n  };\n}\nfunction startDevicePoint(history) {\n  return history[0];\n}\nfunction lastDevicePoint(history) {\n  return history[history.length - 1];\n}\nfunction getVelocity(history, timeDelta) {\n  if (history.length < 2) {\n    return {\n      x: 0,\n      y: 0\n    };\n  }\n  var i = history.length - 1;\n  var timestampedPoint = null;\n  var lastPoint = lastDevicePoint(history);\n  while (i >= 0) {\n    timestampedPoint = history[i];\n    if (lastPoint.timestamp - timestampedPoint.timestamp > secondsToMilliseconds(timeDelta)) {\n      break;\n    }\n    i--;\n  }\n  if (!timestampedPoint) {\n    return {\n      x: 0,\n      y: 0\n    };\n  }\n  var time = (lastPoint.timestamp - timestampedPoint.timestamp) / 1000;\n  if (time === 0) {\n    return {\n      x: 0,\n      y: 0\n    };\n  }\n  var currentVelocity = {\n    x: (lastPoint.x - timestampedPoint.x) / time,\n    y: (lastPoint.y - timestampedPoint.y) / time\n  };\n  if (currentVelocity.x === Infinity) {\n    currentVelocity.x = 0;\n  }\n  if (currentVelocity.y === Infinity) {\n    currentVelocity.y = 0;\n  }\n  return currentVelocity;\n}\nexport { PanSession };","map":{"version":3,"names":["__assign","isMouseEvent","isTouchEvent","extractEventInfo","sync","getFrameData","cancelSync","secondsToMilliseconds","addPointerEvent","distance","pipe","PanSession","event","handlers","_a","_this","_b","transformPagePoint","startEvent","lastMoveEvent","lastMoveEventInfo","updatePoint","info","getPanInfo","history","isPanStarted","isDistancePastThreshold","offset","x","y","point","timestamp","push","onStart","onMove","handlePointerMove","transformPoint","buttons","handlePointerUp","update","end","onEnd","onSessionEnd","panInfo","touches","length","initialInfo","onSessionStart","removeListeners","window","prototype","updateHandlers","subtractPoint","a","b","delta","lastDevicePoint","startDevicePoint","velocity","getVelocity","timeDelta","i","timestampedPoint","lastPoint","time","currentVelocity","Infinity"],"sources":["C:/ldt/LDT/management/node_modules/framer-motion/dist/es/gestures/PanSession.js"],"sourcesContent":["import { __assign } from 'tslib';\nimport { isMouseEvent, isTouchEvent } from './utils/event-type.js';\nimport { extractEventInfo } from '../events/event-info.js';\nimport sync, { getFrameData, cancelSync } from 'framesync';\nimport { secondsToMilliseconds } from '../utils/time-conversion.js';\nimport { addPointerEvent } from '../events/use-pointer-event.js';\nimport { distance, pipe } from 'popmotion';\n\n/**\n * @internal\n */\nvar PanSession = /** @class */ (function () {\n    function PanSession(event, handlers, _a) {\n        var _this = this;\n        var _b = _a === void 0 ? {} : _a, transformPagePoint = _b.transformPagePoint;\n        /**\n         * @internal\n         */\n        this.startEvent = null;\n        /**\n         * @internal\n         */\n        this.lastMoveEvent = null;\n        /**\n         * @internal\n         */\n        this.lastMoveEventInfo = null;\n        /**\n         * @internal\n         */\n        this.handlers = {};\n        this.updatePoint = function () {\n            if (!(_this.lastMoveEvent && _this.lastMoveEventInfo))\n                return;\n            var info = getPanInfo(_this.lastMoveEventInfo, _this.history);\n            var isPanStarted = _this.startEvent !== null;\n            // Only start panning if the offset is larger than 3 pixels. If we make it\n            // any larger than this we'll want to reset the pointer history\n            // on the first update to avoid visual snapping to the cursoe.\n            var isDistancePastThreshold = distance(info.offset, { x: 0, y: 0 }) >= 3;\n            if (!isPanStarted && !isDistancePastThreshold)\n                return;\n            var point = info.point;\n            var timestamp = getFrameData().timestamp;\n            _this.history.push(__assign(__assign({}, point), { timestamp: timestamp }));\n            var _a = _this.handlers, onStart = _a.onStart, onMove = _a.onMove;\n            if (!isPanStarted) {\n                onStart && onStart(_this.lastMoveEvent, info);\n                _this.startEvent = _this.lastMoveEvent;\n            }\n            onMove && onMove(_this.lastMoveEvent, info);\n        };\n        this.handlePointerMove = function (event, info) {\n            _this.lastMoveEvent = event;\n            _this.lastMoveEventInfo = transformPoint(info, _this.transformPagePoint);\n            // Because Safari doesn't trigger mouseup events when it's above a `<select>`\n            if (isMouseEvent(event) && event.buttons === 0) {\n                _this.handlePointerUp(event, info);\n                return;\n            }\n            // Throttle mouse move event to once per frame\n            sync.update(_this.updatePoint, true);\n        };\n        this.handlePointerUp = function (event, info) {\n            _this.end();\n            var _a = _this.handlers, onEnd = _a.onEnd, onSessionEnd = _a.onSessionEnd;\n            var panInfo = getPanInfo(transformPoint(info, _this.transformPagePoint), _this.history);\n            if (_this.startEvent && onEnd) {\n                onEnd(event, panInfo);\n            }\n            onSessionEnd && onSessionEnd(event, panInfo);\n        };\n        // If we have more than one touch, don't start detecting this gesture\n        if (isTouchEvent(event) && event.touches.length > 1)\n            return;\n        this.handlers = handlers;\n        this.transformPagePoint = transformPagePoint;\n        var info = extractEventInfo(event);\n        var initialInfo = transformPoint(info, this.transformPagePoint);\n        var point = initialInfo.point;\n        var timestamp = getFrameData().timestamp;\n        this.history = [__assign(__assign({}, point), { timestamp: timestamp })];\n        var onSessionStart = handlers.onSessionStart;\n        onSessionStart &&\n            onSessionStart(event, getPanInfo(initialInfo, this.history));\n        this.removeListeners = pipe(addPointerEvent(window, \"pointermove\", this.handlePointerMove), addPointerEvent(window, \"pointerup\", this.handlePointerUp), addPointerEvent(window, \"pointercancel\", this.handlePointerUp));\n    }\n    PanSession.prototype.updateHandlers = function (handlers) {\n        this.handlers = handlers;\n    };\n    PanSession.prototype.end = function () {\n        this.removeListeners && this.removeListeners();\n        cancelSync.update(this.updatePoint);\n    };\n    return PanSession;\n}());\nfunction transformPoint(info, transformPagePoint) {\n    return transformPagePoint ? { point: transformPagePoint(info.point) } : info;\n}\nfunction subtractPoint(a, b) {\n    return { x: a.x - b.x, y: a.y - b.y };\n}\nfunction getPanInfo(_a, history) {\n    var point = _a.point;\n    return {\n        point: point,\n        delta: subtractPoint(point, lastDevicePoint(history)),\n        offset: subtractPoint(point, startDevicePoint(history)),\n        velocity: getVelocity(history, 0.1),\n    };\n}\nfunction startDevicePoint(history) {\n    return history[0];\n}\nfunction lastDevicePoint(history) {\n    return history[history.length - 1];\n}\nfunction getVelocity(history, timeDelta) {\n    if (history.length < 2) {\n        return { x: 0, y: 0 };\n    }\n    var i = history.length - 1;\n    var timestampedPoint = null;\n    var lastPoint = lastDevicePoint(history);\n    while (i >= 0) {\n        timestampedPoint = history[i];\n        if (lastPoint.timestamp - timestampedPoint.timestamp >\n            secondsToMilliseconds(timeDelta)) {\n            break;\n        }\n        i--;\n    }\n    if (!timestampedPoint) {\n        return { x: 0, y: 0 };\n    }\n    var time = (lastPoint.timestamp - timestampedPoint.timestamp) / 1000;\n    if (time === 0) {\n        return { x: 0, y: 0 };\n    }\n    var currentVelocity = {\n        x: (lastPoint.x - timestampedPoint.x) / time,\n        y: (lastPoint.y - timestampedPoint.y) / time,\n    };\n    if (currentVelocity.x === Infinity) {\n        currentVelocity.x = 0;\n    }\n    if (currentVelocity.y === Infinity) {\n        currentVelocity.y = 0;\n    }\n    return currentVelocity;\n}\n\nexport { PanSession };\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}