nuxt-anime
Version:
29 lines (28 loc) • 750 B
JavaScript
import { animate, createTimeline } from "animejs";
import { ref } from "vue";
import { onMounted } from "vue";
export const useAnimate = async (target, params) => {
const animation = ref();
if (import.meta.client) {
await onMounted(async () => {
animation.value = animate(target.value, params);
});
return animation;
} else {
return animation;
}
};
export const useAnimateTimeline = async (TimelineParams, items) => {
const timeline = ref();
if (import.meta.client) {
timeline.value = createTimeline(TimelineParams);
await onMounted(() => {
items.map((item) => {
timeline.value?.add(item.target.value, item.params);
});
});
return timeline;
} else {
return timeline;
}
};