{"version":3,"file":"easings.cjs","sources":["../../../src/utils/easings.js"],"sourcesContent":["// https://easings.net/\r\n// 完整的缓动函数库，移植自 FKVideo\r\n\r\nconst pow = Math.pow;\r\nconst sqrt = Math.sqrt;\r\nconst sin = Math.sin;\r\nconst cos = Math.cos;\r\nconst PI = Math.PI;\r\nconst c1 = 1.70158;\r\nconst c2 = c1 * 1.525;\r\nconst c3 = c1 + 1;\r\nconst c4 = (2 * PI) / 3;\r\nconst c5 = (2 * PI) / 4.5;\r\n\r\n// 内部使用的弹跳函数\r\nconst bounceOut = function (x) {\r\n  const n1 = 7.5625;\r\n  const d1 = 2.75;\r\n\r\n  if (x < 1 / d1) {\r\n    return n1 * x * x;\r\n  } else if (x < 2 / d1) {\r\n    return n1 * (x -= 1.5 / d1) * x + 0.75;\r\n  } else if (x < 2.5 / d1) {\r\n    return n1 * (x -= 2.25 / d1) * x + 0.9375;\r\n  } else {\r\n    return n1 * (x -= 2.625 / d1) * x + 0.984375;\r\n  }\r\n};\r\n\r\n// 线性缓动\r\nexport const linear = (x) => x;\r\n\r\n// 二次缓动\r\nexport const easeInQuad = function (x) {\r\n  return x * x;\r\n};\r\n\r\nexport const easeOutQuad = function (x) {\r\n  return 1 - (1 - x) * (1 - x);\r\n};\r\n\r\nexport const easeInOutQuad = function (x) {\r\n  return x < 0.5 ? 2 * x * x : 1 - pow(-2 * x + 2, 2) / 2;\r\n};\r\n\r\n// 三次缓动\r\nexport const easeInCubic = function (x) {\r\n  return x * x * x;\r\n};\r\n\r\nexport const easeOutCubic = function (x) {\r\n  return 1 - pow(1 - x, 3);\r\n};\r\n\r\nexport const easeInOutCubic = function (x) {\r\n  return x < 0.5 ? 4 * x * x * x : 1 - pow(-2 * x + 2, 3) / 2;\r\n};\r\n\r\n// 四次缓动\r\nexport const easeInQuart = function (x) {\r\n  return x * x * x * x;\r\n};\r\n\r\nexport const easeOutQuart = function (x) {\r\n  return 1 - pow(1 - x, 4);\r\n};\r\n\r\nexport const easeInOutQuart = function (x) {\r\n  return x < 0.5 ? 8 * x * x * x * x : 1 - pow(-2 * x + 2, 4) / 2;\r\n};\r\n\r\n// 五次缓动\r\nexport const easeInQuint = function (x) {\r\n  return x * x * x * x * x;\r\n};\r\n\r\nexport const easeOutQuint = function (x) {\r\n  return 1 - pow(1 - x, 5);\r\n};\r\n\r\nexport const easeInOutQuint = function (x) {\r\n  return x < 0.5 ? 16 * x * x * x * x * x : 1 - pow(-2 * x + 2, 5) / 2;\r\n};\r\n\r\n// 正弦缓动\r\nexport const easeInSine = function (x) {\r\n  return 1 - cos((x * PI) / 2);\r\n};\r\n\r\nexport const easeOutSine = function (x) {\r\n  return sin((x * PI) / 2);\r\n};\r\n\r\nexport const easeInOutSine = function (x) {\r\n  return -(cos(PI * x) - 1) / 2;\r\n};\r\n\r\n// 指数缓动\r\nexport const easeInExpo = function (x) {\r\n  return x === 0 ? 0 : pow(2, 10 * x - 10);\r\n};\r\n\r\nexport const easeOutExpo = function (x) {\r\n  return x === 1 ? 1 : 1 - pow(2, -10 * x);\r\n};\r\n\r\nexport const easeInOutExpo = function (x) {\r\n  return x === 0\r\n    ? 0\r\n    : x === 1\r\n    ? 1\r\n    : x < 0.5\r\n    ? pow(2, 20 * x - 10) / 2\r\n    : (2 - pow(2, -20 * x + 10)) / 2;\r\n};\r\n\r\n// 圆形缓动\r\nexport const easeInCirc = function (x) {\r\n  return 1 - sqrt(1 - pow(x, 2));\r\n};\r\n\r\nexport const easeOutCirc = function (x) {\r\n  return sqrt(1 - pow(x - 1, 2));\r\n};\r\n\r\nexport const easeInOutCirc = function (x) {\r\n  return x < 0.5\r\n    ? (1 - sqrt(1 - pow(2 * x, 2))) / 2\r\n    : (sqrt(1 - pow(-2 * x + 2, 2)) + 1) / 2;\r\n};\r\n\r\n// 回弹缓动\r\nexport const easeInBack = function (x) {\r\n  return c3 * x * x * x - c1 * x * x;\r\n};\r\n\r\nexport const easeOutBack = function (x) {\r\n  return 1 + c3 * pow(x - 1, 3) + c1 * pow(x - 1, 2);\r\n};\r\n\r\nexport const easeInOutBack = function (x) {\r\n  return x < 0.5\r\n    ? (pow(2 * x, 2) * ((c2 + 1) * 2 * x - c2)) / 2\r\n    : (pow(2 * x - 2, 2) * ((c2 + 1) * (x * 2 - 2) + c2) + 2) / 2;\r\n};\r\n\r\n// 弹性缓动\r\nexport const easeInElastic = function (x) {\r\n  return x === 0\r\n    ? 0\r\n    : x === 1\r\n    ? 1\r\n    : -pow(2, 10 * x - 10) * sin((x * 10 - 10.75) * c4);\r\n};\r\n\r\nexport const easeOutElastic = function (x) {\r\n  return x === 0\r\n    ? 0\r\n    : x === 1\r\n    ? 1\r\n    : pow(2, -10 * x) * sin((x * 10 - 0.75) * c4) + 1;\r\n};\r\n\r\nexport const easeInOutElastic = function (x) {\r\n  return x === 0\r\n    ? 0\r\n    : x === 1\r\n    ? 1\r\n    : x < 0.5\r\n    ? -(pow(2, 20 * x - 10) * sin((20 * x - 11.125) * c5)) / 2\r\n    : (pow(2, -20 * x + 10) * sin((20 * x - 11.125) * c5)) / 2 + 1;\r\n};\r\n\r\n// 弹跳缓动\r\nexport const easeInBounce = function (x) {\r\n  return 1 - bounceOut(1 - x);\r\n};\r\n\r\nexport const easeOutBounce = bounceOut;\r\n\r\nexport const easeInOutBounce = function (x) {\r\n  return x < 0.5\r\n    ? (1 - bounceOut(1 - 2 * x)) / 2\r\n    : (1 + bounceOut(2 * x - 1)) / 2;\r\n};\r\n\r\n// 兼容性映射 - 将简化的名称映射到完整的函数\r\nexport const easingMap = {\r\n  // 基本缓动\r\n  'linear': linear,\r\n  'easeIn': easeInQuad,\r\n  'easeOut': easeOutQuad,\r\n  'easeInOut': easeInOutQuad,\r\n  'ease-in-out': easeInOutQuad,\r\n  'ease-in': easeInQuad,\r\n  'ease-out': easeOutQuad,\r\n  \r\n  // 二次缓动\r\n  'quad': easeInOutQuad,\r\n  'easeInQuad': easeInQuad,\r\n  'easeOutQuad': easeOutQuad,\r\n  'easeInOutQuad': easeInOutQuad,\r\n  \r\n  // 三次缓动\r\n  'cubic': easeInOutCubic,\r\n  'easeInCubic': easeInCubic,\r\n  'easeOutCubic': easeOutCubic,\r\n  'easeInOutCubic': easeInOutCubic,\r\n  \r\n  // 四次缓动\r\n  'quart': easeInOutQuart,\r\n  'easeInQuart': easeInQuart,\r\n  'easeOutQuart': easeOutQuart,\r\n  'easeInOutQuart': easeInOutQuart,\r\n  \r\n  // 五次缓动\r\n  'quint': easeInOutQuint,\r\n  'easeInQuint': easeInQuint,\r\n  'easeOutQuint': easeOutQuint,\r\n  'easeInOutQuint': easeInOutQuint,\r\n  \r\n  // 正弦缓动\r\n  'sine': easeInOutSine,\r\n  'easeInSine': easeInSine,\r\n  'easeOutSine': easeOutSine,\r\n  'easeInOutSine': easeInOutSine,\r\n  \r\n  // 指数缓动\r\n  'expo': easeInOutExpo,\r\n  'easeInExpo': easeInExpo,\r\n  'easeOutExpo': easeOutExpo,\r\n  'easeInOutExpo': easeInOutExpo,\r\n  \r\n  // 圆形缓动\r\n  'circ': easeInOutCirc,\r\n  'easeInCirc': easeInCirc,\r\n  'easeOutCirc': easeOutCirc,\r\n  'easeInOutCirc': easeInOutCirc,\r\n  \r\n  // 回弹缓动\r\n  'back': easeInOutBack,\r\n  'easeInBack': easeInBack,\r\n  'easeOutBack': easeOutBack,\r\n  'easeInOutBack': easeInOutBack,\r\n  \r\n  // 弹性缓动\r\n  'elastic': easeInOutElastic,\r\n  'easeInElastic': easeInElastic,\r\n  'easeOutElastic': easeOutElastic,\r\n  'easeInOutElastic': easeInOutElastic,\r\n  \r\n  // 弹跳缓动\r\n  'bounce': easeOutBounce,\r\n  'easeInBounce': easeInBounce,\r\n  'easeOutBounce': easeOutBounce,\r\n  'easeInOutBounce': easeInOutBounce,\r\n  \r\n  // 特殊缓动（保持向后兼容）\r\n  'spring': easeOutElastic,  // spring 映射到弹性缓动\r\n  'swing': easeInOutSine,    // swing 映射到正弦缓动\r\n};\r\n\r\n// 获取缓动函数\r\nexport function getEasingFunction(easingName) {\r\n  return easingMap[easingName] || linear;\r\n}\r\n\r\n// 默认导出所有缓动函数\r\nexport default {\r\n  linear,\r\n  easeInQuad,\r\n  easeOutQuad,\r\n  easeInOutQuad,\r\n  easeInCubic,\r\n  easeOutCubic,\r\n  easeInOutCubic,\r\n  easeInQuart,\r\n  easeOutQuart,\r\n  easeInOutQuart,\r\n  easeInQuint,\r\n  easeOutQuint,\r\n  easeInOutQuint,\r\n  easeInSine,\r\n  easeOutSine,\r\n  easeInOutSine,\r\n  easeInExpo,\r\n  easeOutExpo,\r\n  easeInOutExpo,\r\n  easeInCirc,\r\n  easeOutCirc,\r\n  easeInOutCirc,\r\n  easeInBack,\r\n  easeOutBack,\r\n  easeInOutBack,\r\n  easeInElastic,\r\n  easeOutElastic,\r\n  easeInOutElastic,\r\n  easeInBounce,\r\n  easeOutBounce,\r\n  easeInOutBounce,\r\n  getEasingFunction,\r\n  easingMap\r\n};\r\n\r\n"],"names":[],"mappings":"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"}