motion icon indicating copy to clipboard operation
motion copied to clipboard

animate function should take in a callback parameter

Open gal-cernilogar opened this issue 1 year ago • 0 comments

Clear and concise description of the problem

The animate function should be able to take in a callback as described in the motionone docs.

Suggested solution

In Motion One for Vue, there was an animate.es.js file in the motion module, which contained the extended functionality of the animate function with:

import { animate as animate$1, withControls } from '@motionone/dom';
import { isFunction } from '@motionone/utils';
import { Animation } from '@motionone/animation';

function animateProgress(target, options = {}) {
    return withControls([
        () => {
            const animation = new Animation(target, [0, 1], options);
            animation.finished.catch(() => { });
            return animation;
        },
    ], options, options.duration);
}
function animate(target, keyframesOrOptions, options) {
    const factory = isFunction(target) ? animateProgress : animate$1;
    return factory(target, keyframesOrOptions, options);
}

export { animate, animateProgress };

Alternative

No response

Additional context

Without this functionality, the claim

The animate prop accepts all the same values and keyframes as Motion One's animate function.

at Oku Motion docs cannot be made as it is an important feature which prevents the transition from Motion One for Vue to Oku Motion.

Validations

  • [X] Follow our Code of Conduct
  • [X] Read the Contributing Guide.
  • [X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

gal-cernilogar avatar Feb 12 '24 10:02 gal-cernilogar