UNPKG

@ddtmm/angular-signal-generators

Version:

Specialized Angular signals to help with frequently encountered situations.

1 lines 10.1 kB
{"version":3,"file":"ddtmm-angular-signal-generators-easings.mjs","sources":["../../../projects/signal-generators/easings/src/easings.ts","../../../projects/signal-generators/easings/src/public_api.ts","../../../projects/signal-generators/easings/src/ddtmm-angular-signal-generators-easings.ts"],"sourcesContent":["// prettier-ignore\r\n// All of these functions come from easings.met. https://github.com/ai/easings.net\r\n// Moved them here to reduce dependencies.\r\nconst c1 = 1.70158;\r\nconst c2 = 2.5949095; // c1 * 1.525\r\nconst c3 = 2.70158; // c1 + 1\r\nconst c4 = 2.0943951023931953 // third of a circle in radians\r\nconst c5 = 1.3962634015954636 // (2 * Math.PI) / 4.5;\r\n\r\nexport function easeLinear(x: number) { return x; }\r\nexport function easeInQuad(x: number) { return x ** 2; }\r\nexport function easeOutQuad(x: number) { return 1 - Math.pow(1 - x, 2); }\r\nexport function easeInOutQuad(x: number) { return (x < 0.5 ? 2 * Math.pow(x, 2) : 1 - Math.pow(-2 * x + 2, 2) / 2); }\r\nexport function easeInCubic(x: number) { return x ** 3; }\r\nexport function easeOutCubic(x: number) { return 1 - Math.pow(1 - x, 3); }\r\nexport function easeInOutCubic(x: number) { return (x < 0.5 ? 4 * Math.pow(x, 3) : 1 - Math.pow(-2 * x + 2, 3) / 2); }\r\nexport function easeInQuart(x: number) { return x ** 4; }\r\nexport function easeOutQuart(x: number) { return 1 - Math.pow(1 - x, 4); }\r\nexport function easeInOutQuart(x: number) { return (x < 0.5 ? 8 * Math.pow(x, 4) : 1 - Math.pow(-2 * x + 2, 4) / 2); }\r\nexport function easeInQuint(x: number) { return x ** 5; }\r\nexport function easeOutQuint(x: number) { return 1 - Math.pow(1 - x, 5); }\r\nexport function easeInOutQuint(x: number) { return (x < 0.5 ? 16 * Math.pow(x, 5) : 1 - Math.pow(-2 * x + 2, 5) / 2); }\r\nexport function easeInSine(x: number) { return 1 - Math.cos((x * Math.PI) / 2); }\r\nexport function easeOutSine(x: number) { return Math.sin((x * Math.PI) / 2); }\r\nexport function easeInOutSine(x: number) { return -(Math.cos(Math.PI * x) - 1) / 2; }\r\nexport function easeInExpo(x: number) { return (x === 0 ? 0 : Math.pow(2, 10 * x - 10)); }\r\nexport function easeOutExpo(x: number) { return (x === 1 ? 1 : 1 - Math.pow(2, -10 * x)); }\r\nexport function easeInOutExpo(x: number) { return x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? Math.pow(2, 20 * x - 10) / 2 : (2 - Math.pow(2, -20 * x + 10)) / 2; }\r\nexport function easeInCirc(x: number) { return 1 - Math.sqrt(1 - Math.pow(x, 2)); }\r\nexport function easeOutCirc(x: number) { return Math.sqrt(1 - Math.pow(x - 1, 2)); }\r\nexport function easeInOutCirc(x: number) { return x < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * x, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * x + 2, 2)) + 1) / 2; }\r\nexport function easeInBack(x: number) { return c3 * x * x * x - c1 * x * x; }\r\nexport function easeOutBack(x: number) { return 1 + c3 * Math.pow(x - 1, 3) + c1 * Math.pow(x - 1, 2); }\r\nexport function easeInOutBack(x: number) { return x < 0.5 ? (Math.pow(2 * x, 2) * ((c2 + 1) * 2 * x - c2)) / 2 : (Math.pow(2 * x - 2, 2) * ((c2 + 1) * (x * 2 - 2) + c2) + 2) / 2; }\r\nexport function easeInElastic(x: number) { return x === 0 ? 0 : x === 1 ? 1 : -Math.pow(2, 10 * x - 10) * Math.sin((x * 10 - 10.75) * c4); }\r\nexport function easeOutElastic(x: number) { return x === 0 ? 0 : x === 1 ? 1 : Math.pow(2, -10 * x) * Math.sin((x * 10 - 0.75) * c4) + 1; }\r\nexport function easeInOutElastic(x: number) {\r\n return x === 0\r\n ? 0\r\n : x === 1\r\n ? 1\r\n : x < 0.5\r\n ? -(Math.pow(2, 20 * x - 10) * Math.sin((20 * x - 11.125) * c5)) / 2\r\n : (Math.pow(2, -20 * x + 10) * Math.sin((20 * x - 11.125) * c5)) / 2 + 1;\r\n}\r\nexport function easeInBounce(x: number) { return 1 - easeOutBounce(1 - x); }\r\nexport function easeOutBounce(x: number) {\r\n const n1 = 7.5625;\r\n const d1 = 2.75;\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\nexport function easeInOutBounce(x: number) { return (x < 0.5 ? (1 - easeOutBounce(1 - 2 * x)) / 2 : (1 + easeOutBounce(2 * x - 1)) / 2); }\r\n\r\n","/**\r\n * Collection of easing functions.\r\n * @module @ddtmm/angular-signal-generators/easings\r\n */\r\nexport * from './easings';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}