{"ast":null,"code":"import { __assign, __rest, __spreadArray, __read } from 'tslib';\nimport { inertia, animate } from 'popmotion';\nimport { secondsToMilliseconds } from '../../utils/time-conversion.js';\nimport { isEasingArray, easingDefinitionToFunction } from './easing.js';\nimport { isAnimatable } from './is-animatable.js';\nimport { getDefaultTransition } from './default-transitions.js';\nimport { warning } from 'hey-listen';\nimport { getAnimatableNone } from '../../render/dom/value-types/animatable-none.js';\n\n/**\n * Decide whether a transition is defined on a given Transition.\n * This filters out orchestration options and returns true\n * if any options are left.\n */\nfunction isTransitionDefined(_a) {\n  _a.when;\n  _a.delay;\n  _a.delayChildren;\n  _a.staggerChildren;\n  _a.staggerDirection;\n  _a.repeat;\n  _a.repeatType;\n  _a.repeatDelay;\n  _a.from;\n  var transition = __rest(_a, [\"when\", \"delay\", \"delayChildren\", \"staggerChildren\", \"staggerDirection\", \"repeat\", \"repeatType\", \"repeatDelay\", \"from\"]);\n  return !!Object.keys(transition).length;\n}\nvar legacyRepeatWarning = false;\n/**\n * Convert Framer Motion's Transition type into Popmotion-compatible options.\n */\nfunction convertTransitionToAnimationOptions(_a) {\n  var ease = _a.ease,\n    times = _a.times,\n    yoyo = _a.yoyo,\n    flip = _a.flip,\n    loop = _a.loop,\n    transition = __rest(_a, [\"ease\", \"times\", \"yoyo\", \"flip\", \"loop\"]);\n  var options = __assign({}, transition);\n  if (times) options[\"offset\"] = times;\n  /**\n   * Convert any existing durations from seconds to milliseconds\n   */\n  if (transition.duration) options[\"duration\"] = secondsToMilliseconds(transition.duration);\n  if (transition.repeatDelay) options.repeatDelay = secondsToMilliseconds(transition.repeatDelay);\n  /**\n   * Map easing names to Popmotion's easing functions\n   */\n  if (ease) {\n    options[\"ease\"] = isEasingArray(ease) ? ease.map(easingDefinitionToFunction) : easingDefinitionToFunction(ease);\n  }\n  /**\n   * Support legacy transition API\n   */\n  if (transition.type === \"tween\") options.type = \"keyframes\";\n  /**\n   * TODO: These options are officially removed from the API.\n   */\n  if (yoyo || loop || flip) {\n    warning(!legacyRepeatWarning, \"yoyo, loop and flip have been removed from the API. Replace with repeat and repeatType options.\");\n    legacyRepeatWarning = true;\n    if (yoyo) {\n      options.repeatType = \"reverse\";\n    } else if (loop) {\n      options.repeatType = \"loop\";\n    } else if (flip) {\n      options.repeatType = \"mirror\";\n    }\n    options.repeat = loop || yoyo || flip || transition.repeat;\n  }\n  /**\n   * TODO: Popmotion 9 has the ability to automatically detect whether to use\n   * a keyframes or spring animation, but does so by detecting velocity and other spring options.\n   * It'd be good to introduce a similar thing here.\n   */\n  if (transition.type !== \"spring\") options.type = \"keyframes\";\n  return options;\n}\n/**\n * Get the delay for a value by checking Transition with decreasing specificity.\n */\nfunction getDelayFromTransition(transition, key) {\n  var _a;\n  var valueTransition = getValueTransition(transition, key) || {};\n  return (_a = valueTransition.delay) !== null && _a !== void 0 ? _a : 0;\n}\nfunction hydrateKeyframes(options) {\n  if (Array.isArray(options.to) && options.to[0] === null) {\n    options.to = __spreadArray([], __read(options.to));\n    options.to[0] = options.from;\n  }\n  return options;\n}\nfunction getPopmotionAnimationOptions(transition, options, key) {\n  var _a;\n  if (Array.isArray(options.to)) {\n    (_a = transition.duration) !== null && _a !== void 0 ? _a : transition.duration = 0.8;\n  }\n  hydrateKeyframes(options);\n  /**\n   * Get a default transition if none is determined to be defined.\n   */\n  if (!isTransitionDefined(transition)) {\n    transition = __assign(__assign({}, transition), getDefaultTransition(key, options.to));\n  }\n  return __assign(__assign({}, options), convertTransitionToAnimationOptions(transition));\n}\n/**\n *\n */\nfunction getAnimation(key, value, target, transition, onComplete) {\n  var _a;\n  var valueTransition = getValueTransition(transition, key);\n  var origin = (_a = valueTransition.from) !== null && _a !== void 0 ? _a : value.get();\n  var isTargetAnimatable = isAnimatable(key, target);\n  if (origin === \"none\" && isTargetAnimatable && typeof target === \"string\") {\n    /**\n     * If we're trying to animate from \"none\", try and get an animatable version\n     * of the target. This could be improved to work both ways.\n     */\n    origin = getAnimatableNone(key, target);\n  } else if (isZero(origin) && typeof target === \"string\") {\n    origin = getZeroUnit(target);\n  } else if (!Array.isArray(target) && isZero(target) && typeof origin === \"string\") {\n    target = getZeroUnit(origin);\n  }\n  var isOriginAnimatable = isAnimatable(key, origin);\n  warning(isOriginAnimatable === isTargetAnimatable, \"You are trying to animate \" + key + \" from \\\"\" + origin + \"\\\" to \\\"\" + target + \"\\\". \" + origin + \" is not an animatable value - to enable this animation set \" + origin + \" to a value animatable to \" + target + \" via the `style` property.\");\n  function start() {\n    var options = {\n      from: origin,\n      to: target,\n      velocity: value.getVelocity(),\n      onComplete: onComplete,\n      onUpdate: function onUpdate(v) {\n        return value.set(v);\n      }\n    };\n    return valueTransition.type === \"inertia\" || valueTransition.type === \"decay\" ? inertia(__assign(__assign({}, options), valueTransition)) : animate(__assign(__assign({}, getPopmotionAnimationOptions(valueTransition, options, key)), {\n      onUpdate: function onUpdate(v) {\n        var _a;\n        options.onUpdate(v);\n        (_a = valueTransition.onUpdate) === null || _a === void 0 ? void 0 : _a.call(valueTransition, v);\n      },\n      onComplete: function onComplete() {\n        var _a;\n        options.onComplete();\n        (_a = valueTransition.onComplete) === null || _a === void 0 ? void 0 : _a.call(valueTransition);\n      }\n    }));\n  }\n  function set() {\n    var _a;\n    value.set(target);\n    onComplete();\n    (_a = valueTransition === null || valueTransition === void 0 ? void 0 : valueTransition.onComplete) === null || _a === void 0 ? void 0 : _a.call(valueTransition);\n    return {\n      stop: function stop() {}\n    };\n  }\n  return !isOriginAnimatable || !isTargetAnimatable || valueTransition.type === false ? set : start;\n}\nfunction isZero(value) {\n  return value === 0 || typeof value === \"string\" && parseFloat(value) === 0 && value.indexOf(\" \") === -1;\n}\nfunction getZeroUnit(potentialUnitType) {\n  return typeof potentialUnitType === \"number\" ? 0 : getAnimatableNone(\"\", potentialUnitType);\n}\nfunction getValueTransition(transition, key) {\n  return transition[key] || transition[\"default\"] || transition;\n}\n/**\n * Start animation on a MotionValue. This function is an interface between\n * Framer Motion and Popmotion\n *\n * @internal\n */\nfunction startAnimation(key, value, target, transition) {\n  if (transition === void 0) {\n    transition = {};\n  }\n  return value.start(function (onComplete) {\n    var delayTimer;\n    var controls;\n    var animation = getAnimation(key, value, target, transition, onComplete);\n    var delay = getDelayFromTransition(transition, key);\n    var start = function start() {\n      return controls = animation();\n    };\n    if (delay) {\n      delayTimer = setTimeout(start, secondsToMilliseconds(delay));\n    } else {\n      start();\n    }\n    return function () {\n      clearTimeout(delayTimer);\n      controls === null || controls === void 0 ? void 0 : controls.stop();\n    };\n  });\n}\nexport { convertTransitionToAnimationOptions, getDelayFromTransition, getPopmotionAnimationOptions, getValueTransition, getZeroUnit, hydrateKeyframes, isTransitionDefined, isZero, startAnimation };","map":{"version":3,"names":["__assign","__rest","__spreadArray","__read","inertia","animate","secondsToMilliseconds","isEasingArray","easingDefinitionToFunction","isAnimatable","getDefaultTransition","warning","getAnimatableNone","isTransitionDefined","_a","when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","transition","Object","keys","length","legacyRepeatWarning","convertTransitionToAnimationOptions","ease","times","yoyo","flip","loop","options","duration","map","type","getDelayFromTransition","key","valueTransition","getValueTransition","hydrateKeyframes","Array","isArray","to","getPopmotionAnimationOptions","getAnimation","value","target","onComplete","origin","get","isTargetAnimatable","isZero","getZeroUnit","isOriginAnimatable","start","velocity","getVelocity","onUpdate","v","set","call","stop","parseFloat","indexOf","potentialUnitType","startAnimation","delayTimer","controls","animation","setTimeout","clearTimeout"],"sources":["C:/LDT/DSP_Management/node_modules/framer-motion/dist/es/animation/utils/transitions.js"],"sourcesContent":["import { __assign, __rest, __spreadArray, __read } from 'tslib';\nimport { inertia, animate } from 'popmotion';\nimport { secondsToMilliseconds } from '../../utils/time-conversion.js';\nimport { isEasingArray, easingDefinitionToFunction } from './easing.js';\nimport { isAnimatable } from './is-animatable.js';\nimport { getDefaultTransition } from './default-transitions.js';\nimport { warning } from 'hey-listen';\nimport { getAnimatableNone } from '../../render/dom/value-types/animatable-none.js';\n\n/**\n * Decide whether a transition is defined on a given Transition.\n * This filters out orchestration options and returns true\n * if any options are left.\n */\nfunction isTransitionDefined(_a) {\n    _a.when; _a.delay; _a.delayChildren; _a.staggerChildren; _a.staggerDirection; _a.repeat; _a.repeatType; _a.repeatDelay; _a.from; var transition = __rest(_a, [\"when\", \"delay\", \"delayChildren\", \"staggerChildren\", \"staggerDirection\", \"repeat\", \"repeatType\", \"repeatDelay\", \"from\"]);\n    return !!Object.keys(transition).length;\n}\nvar legacyRepeatWarning = false;\n/**\n * Convert Framer Motion's Transition type into Popmotion-compatible options.\n */\nfunction convertTransitionToAnimationOptions(_a) {\n    var ease = _a.ease, times = _a.times, yoyo = _a.yoyo, flip = _a.flip, loop = _a.loop, transition = __rest(_a, [\"ease\", \"times\", \"yoyo\", \"flip\", \"loop\"]);\n    var options = __assign({}, transition);\n    if (times)\n        options[\"offset\"] = times;\n    /**\n     * Convert any existing durations from seconds to milliseconds\n     */\n    if (transition.duration)\n        options[\"duration\"] = secondsToMilliseconds(transition.duration);\n    if (transition.repeatDelay)\n        options.repeatDelay = secondsToMilliseconds(transition.repeatDelay);\n    /**\n     * Map easing names to Popmotion's easing functions\n     */\n    if (ease) {\n        options[\"ease\"] = isEasingArray(ease)\n            ? ease.map(easingDefinitionToFunction)\n            : easingDefinitionToFunction(ease);\n    }\n    /**\n     * Support legacy transition API\n     */\n    if (transition.type === \"tween\")\n        options.type = \"keyframes\";\n    /**\n     * TODO: These options are officially removed from the API.\n     */\n    if (yoyo || loop || flip) {\n        warning(!legacyRepeatWarning, \"yoyo, loop and flip have been removed from the API. Replace with repeat and repeatType options.\");\n        legacyRepeatWarning = true;\n        if (yoyo) {\n            options.repeatType = \"reverse\";\n        }\n        else if (loop) {\n            options.repeatType = \"loop\";\n        }\n        else if (flip) {\n            options.repeatType = \"mirror\";\n        }\n        options.repeat = loop || yoyo || flip || transition.repeat;\n    }\n    /**\n     * TODO: Popmotion 9 has the ability to automatically detect whether to use\n     * a keyframes or spring animation, but does so by detecting velocity and other spring options.\n     * It'd be good to introduce a similar thing here.\n     */\n    if (transition.type !== \"spring\")\n        options.type = \"keyframes\";\n    return options;\n}\n/**\n * Get the delay for a value by checking Transition with decreasing specificity.\n */\nfunction getDelayFromTransition(transition, key) {\n    var _a;\n    var valueTransition = getValueTransition(transition, key) || {};\n    return (_a = valueTransition.delay) !== null && _a !== void 0 ? _a : 0;\n}\nfunction hydrateKeyframes(options) {\n    if (Array.isArray(options.to) && options.to[0] === null) {\n        options.to = __spreadArray([], __read(options.to));\n        options.to[0] = options.from;\n    }\n    return options;\n}\nfunction getPopmotionAnimationOptions(transition, options, key) {\n    var _a;\n    if (Array.isArray(options.to)) {\n        (_a = transition.duration) !== null && _a !== void 0 ? _a : (transition.duration = 0.8);\n    }\n    hydrateKeyframes(options);\n    /**\n     * Get a default transition if none is determined to be defined.\n     */\n    if (!isTransitionDefined(transition)) {\n        transition = __assign(__assign({}, transition), getDefaultTransition(key, options.to));\n    }\n    return __assign(__assign({}, options), convertTransitionToAnimationOptions(transition));\n}\n/**\n *\n */\nfunction getAnimation(key, value, target, transition, onComplete) {\n    var _a;\n    var valueTransition = getValueTransition(transition, key);\n    var origin = (_a = valueTransition.from) !== null && _a !== void 0 ? _a : value.get();\n    var isTargetAnimatable = isAnimatable(key, target);\n    if (origin === \"none\" && isTargetAnimatable && typeof target === \"string\") {\n        /**\n         * If we're trying to animate from \"none\", try and get an animatable version\n         * of the target. This could be improved to work both ways.\n         */\n        origin = getAnimatableNone(key, target);\n    }\n    else if (isZero(origin) && typeof target === \"string\") {\n        origin = getZeroUnit(target);\n    }\n    else if (!Array.isArray(target) &&\n        isZero(target) &&\n        typeof origin === \"string\") {\n        target = getZeroUnit(origin);\n    }\n    var isOriginAnimatable = isAnimatable(key, origin);\n    warning(isOriginAnimatable === isTargetAnimatable, \"You are trying to animate \" + key + \" from \\\"\" + origin + \"\\\" to \\\"\" + target + \"\\\". \" + origin + \" is not an animatable value - to enable this animation set \" + origin + \" to a value animatable to \" + target + \" via the `style` property.\");\n    function start() {\n        var options = {\n            from: origin,\n            to: target,\n            velocity: value.getVelocity(),\n            onComplete: onComplete,\n            onUpdate: function (v) { return value.set(v); },\n        };\n        return valueTransition.type === \"inertia\" ||\n            valueTransition.type === \"decay\"\n            ? inertia(__assign(__assign({}, options), valueTransition))\n            : animate(__assign(__assign({}, getPopmotionAnimationOptions(valueTransition, options, key)), { onUpdate: function (v) {\n                    var _a;\n                    options.onUpdate(v);\n                    (_a = valueTransition.onUpdate) === null || _a === void 0 ? void 0 : _a.call(valueTransition, v);\n                }, onComplete: function () {\n                    var _a;\n                    options.onComplete();\n                    (_a = valueTransition.onComplete) === null || _a === void 0 ? void 0 : _a.call(valueTransition);\n                } }));\n    }\n    function set() {\n        var _a;\n        value.set(target);\n        onComplete();\n        (_a = valueTransition === null || valueTransition === void 0 ? void 0 : valueTransition.onComplete) === null || _a === void 0 ? void 0 : _a.call(valueTransition);\n        return { stop: function () { } };\n    }\n    return !isOriginAnimatable ||\n        !isTargetAnimatable ||\n        valueTransition.type === false\n        ? set\n        : start;\n}\nfunction isZero(value) {\n    return (value === 0 ||\n        (typeof value === \"string\" &&\n            parseFloat(value) === 0 &&\n            value.indexOf(\" \") === -1));\n}\nfunction getZeroUnit(potentialUnitType) {\n    return typeof potentialUnitType === \"number\"\n        ? 0\n        : getAnimatableNone(\"\", potentialUnitType);\n}\nfunction getValueTransition(transition, key) {\n    return transition[key] || transition[\"default\"] || transition;\n}\n/**\n * Start animation on a MotionValue. This function is an interface between\n * Framer Motion and Popmotion\n *\n * @internal\n */\nfunction startAnimation(key, value, target, transition) {\n    if (transition === void 0) { transition = {}; }\n    return value.start(function (onComplete) {\n        var delayTimer;\n        var controls;\n        var animation = getAnimation(key, value, target, transition, onComplete);\n        var delay = getDelayFromTransition(transition, key);\n        var start = function () { return (controls = animation()); };\n        if (delay) {\n            delayTimer = setTimeout(start, secondsToMilliseconds(delay));\n        }\n        else {\n            start();\n        }\n        return function () {\n            clearTimeout(delayTimer);\n            controls === null || controls === void 0 ? void 0 : controls.stop();\n        };\n    });\n}\n\nexport { convertTransitionToAnimationOptions, getDelayFromTransition, getPopmotionAnimationOptions, getValueTransition, getZeroUnit, hydrateKeyframes, isTransitionDefined, isZero, startAnimation };\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}