๐Ÿคน @vueuse/motion

Delay

    
<div
    v-motion
    :initial="{
        y: 400,
    }"
    :enter="{
        y: 0,
        transition: {
            repeat: Infinity,
            repeatType: 'mirror',
            repeatDelay: 1000,
        },
    }"
/>
[ ... ]
<div
    v-motion
    :delay="400"
    :initial="{
        y: 400,
    }"
    :enter="{
        y: 0,
        transition: {
            repeat: Infinity,
            repeatType: 'mirror',
            repeatDelay: 1000,
        },
    }"
/>


Editor

    
  <div
    v-motion
    :initial="{
      y: 100,
      opacity: 0.25,
    }"
    :enter="{
      y: 0,
      opacity: 1,
      rotate: 0
    }"
  />

Transitions

    
<transition 
    :css="false" 
    @leave="(el, done) => motions.cube.leave(done)"
>
    <div
        v-if="true"
        v-motion="'cube'"
        :initial="{
            y: 400,
            opacity: 0,
        }"
        :enter="{
            y: 0,
            opacity: 1,
        }"
        :leave="{
            y: -400,
            opacity: 0,
        }"
    />
</transition>