{"ast":null,"code":"import { __assign } from 'tslib';\nimport { animate } from './index.js';\nimport { velocityPerSecond } from '../utils/velocity-per-second.js';\nimport { getFrameData } from 'framesync';\nfunction inertia(_a) {\n  var _b = _a.from,\n    from = _b === void 0 ? 0 : _b,\n    _c = _a.velocity,\n    velocity = _c === void 0 ? 0 : _c,\n    min = _a.min,\n    max = _a.max,\n    _d = _a.power,\n    power = _d === void 0 ? 0.8 : _d,\n    _e = _a.timeConstant,\n    timeConstant = _e === void 0 ? 750 : _e,\n    _f = _a.bounceStiffness,\n    bounceStiffness = _f === void 0 ? 500 : _f,\n    _g = _a.bounceDamping,\n    bounceDamping = _g === void 0 ? 10 : _g,\n    _h = _a.restDelta,\n    restDelta = _h === void 0 ? 1 : _h,\n    modifyTarget = _a.modifyTarget,\n    driver = _a.driver,\n    _onUpdate = _a.onUpdate,\n    onComplete = _a.onComplete;\n  var currentAnimation;\n  function isOutOfBounds(v) {\n    return min !== undefined && v < min || max !== undefined && v > max;\n  }\n  function boundaryNearest(v) {\n    if (min === undefined) return max;\n    if (max === undefined) return min;\n    return Math.abs(min - v) < Math.abs(max - v) ? min : max;\n  }\n  function startAnimation(options) {\n    currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop();\n    currentAnimation = animate(__assign(__assign({}, options), {\n      driver: driver,\n      onUpdate: function onUpdate(v) {\n        var _a;\n        _onUpdate === null || _onUpdate === void 0 ? void 0 : _onUpdate(v);\n        (_a = options.onUpdate) === null || _a === void 0 ? void 0 : _a.call(options, v);\n      },\n      onComplete: onComplete\n    }));\n  }\n  function startSpring(options) {\n    startAnimation(__assign({\n      type: \"spring\",\n      stiffness: bounceStiffness,\n      damping: bounceDamping,\n      restDelta: restDelta\n    }, options));\n  }\n  if (isOutOfBounds(from)) {\n    startSpring({\n      from: from,\n      velocity: velocity,\n      to: boundaryNearest(from)\n    });\n  } else {\n    var target = power * velocity + from;\n    if (typeof modifyTarget !== \"undefined\") target = modifyTarget(target);\n    var boundary_1 = boundaryNearest(target);\n    var heading_1 = boundary_1 === min ? -1 : 1;\n    var prev_1;\n    var current_1;\n    var checkBoundary = function checkBoundary(v) {\n      prev_1 = current_1;\n      current_1 = v;\n      velocity = velocityPerSecond(v - prev_1, getFrameData().delta);\n      if (heading_1 === 1 && v > boundary_1 || heading_1 === -1 && v < boundary_1) {\n        startSpring({\n          from: v,\n          to: boundary_1,\n          velocity: velocity\n        });\n      }\n    };\n    startAnimation({\n      type: \"decay\",\n      from: from,\n      velocity: velocity,\n      timeConstant: timeConstant,\n      power: power,\n      restDelta: restDelta,\n      modifyTarget: modifyTarget,\n      onUpdate: isOutOfBounds(target) ? checkBoundary : undefined\n    });\n  }\n  return {\n    stop: function stop() {\n      return currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop();\n    }\n  };\n}\nexport { inertia };","map":{"version":3,"names":["__assign","animate","velocityPerSecond","getFrameData","inertia","_a","_b","from","_c","velocity","min","max","_d","power","_e","timeConstant","_f","bounceStiffness","_g","bounceDamping","_h","restDelta","modifyTarget","driver","onUpdate","onComplete","currentAnimation","isOutOfBounds","v","undefined","boundaryNearest","Math","abs","startAnimation","options","stop","call","startSpring","type","stiffness","damping","to","target","boundary_1","heading_1","prev_1","current_1","checkBoundary","delta"],"sources":["C:/LDT/DSP_Management/node_modules/popmotion/dist/es/animations/inertia.js"],"sourcesContent":["import { __assign } from 'tslib';\nimport { animate } from './index.js';\nimport { velocityPerSecond } from '../utils/velocity-per-second.js';\nimport { getFrameData } from 'framesync';\n\nfunction inertia(_a) {\n    var _b = _a.from, from = _b === void 0 ? 0 : _b, _c = _a.velocity, velocity = _c === void 0 ? 0 : _c, min = _a.min, max = _a.max, _d = _a.power, power = _d === void 0 ? 0.8 : _d, _e = _a.timeConstant, timeConstant = _e === void 0 ? 750 : _e, _f = _a.bounceStiffness, bounceStiffness = _f === void 0 ? 500 : _f, _g = _a.bounceDamping, bounceDamping = _g === void 0 ? 10 : _g, _h = _a.restDelta, restDelta = _h === void 0 ? 1 : _h, modifyTarget = _a.modifyTarget, driver = _a.driver, onUpdate = _a.onUpdate, onComplete = _a.onComplete;\n    var currentAnimation;\n    function isOutOfBounds(v) {\n        return (min !== undefined && v < min) || (max !== undefined && v > max);\n    }\n    function boundaryNearest(v) {\n        if (min === undefined)\n            return max;\n        if (max === undefined)\n            return min;\n        return Math.abs(min - v) < Math.abs(max - v) ? min : max;\n    }\n    function startAnimation(options) {\n        currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop();\n        currentAnimation = animate(__assign(__assign({}, options), { driver: driver, onUpdate: function (v) {\n                var _a;\n                onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(v);\n                (_a = options.onUpdate) === null || _a === void 0 ? void 0 : _a.call(options, v);\n            }, onComplete: onComplete }));\n    }\n    function startSpring(options) {\n        startAnimation(__assign({ type: \"spring\", stiffness: bounceStiffness, damping: bounceDamping, restDelta: restDelta }, options));\n    }\n    if (isOutOfBounds(from)) {\n        startSpring({ from: from, velocity: velocity, to: boundaryNearest(from) });\n    }\n    else {\n        var target = power * velocity + from;\n        if (typeof modifyTarget !== \"undefined\")\n            target = modifyTarget(target);\n        var boundary_1 = boundaryNearest(target);\n        var heading_1 = boundary_1 === min ? -1 : 1;\n        var prev_1;\n        var current_1;\n        var checkBoundary = function (v) {\n            prev_1 = current_1;\n            current_1 = v;\n            velocity = velocityPerSecond(v - prev_1, getFrameData().delta);\n            if ((heading_1 === 1 && v > boundary_1) ||\n                (heading_1 === -1 && v < boundary_1)) {\n                startSpring({ from: v, to: boundary_1, velocity: velocity });\n            }\n        };\n        startAnimation({\n            type: \"decay\",\n            from: from,\n            velocity: velocity,\n            timeConstant: timeConstant,\n            power: power,\n            restDelta: restDelta,\n            modifyTarget: modifyTarget,\n            onUpdate: isOutOfBounds(target) ? checkBoundary : undefined,\n        });\n    }\n    return {\n        stop: function () { return currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop(); },\n    };\n}\n\nexport { inertia };\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}