'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var easing = require('../easing/index.js'); var internal = require('../internal/index.js'); function flip(node, animation, params = {}) { const style = getComputedStyle(node); const transform = style.transform === 'none' ? '' : style.transform; const scaleX = animation.from.width / node.clientWidth; const scaleY = animation.from.height / node.clientHeight; const dx = (animation.from.left - animation.to.left) / scaleX; const dy = (animation.from.top - animation.to.top) / scaleY; const d = Math.sqrt(dx * dx + dy * dy); const { delay = 0, duration = (d) => Math.sqrt(d) * 120, easing: easing$1 = easing.cubicOut } = params; return { delay, duration: internal.is_function(duration) ? duration(d) : duration, easing: easing$1, css: (_t, u) => `transform: ${transform} translate(${u * dx}px, ${u * dy}px);` }; } exports.flip = flip;