0.0.3 • Published 4 years ago

@ayase/vc-motion v0.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

vc-motion

Vue 3 lifecycle controlled motion library.

NPM version David dm node version

rc-motion for vue 3

Install

vc-motion

Example

<template>
  <CSSMotion :visible="visible" motion-name="my-motion">
    <template v-slot="props">
      <div v-bind="props" />
    </template>
  </CSSMotion>
</template>

<script>
import CSSMotion from '@ayase/vc-motion';

export default {
  components: { CSSMotion },

  data() {
    return {
      visible: false
    };
  }
};
</script>

API

CSSMotion

Props

PropDescriptionTypeDefault
motionNameConfig motion name, will dynamic update when status changedstring-
visibleTrigger motion eventsbooleantrue
motionAppearUse motion when appearbooleantrue
motionEnterUse motion when enterbooleantrue
motionLeaveUse motion when leavebooleantrue
motionLeaveImmediatelyWill trigger leave even on mountboolean-
motionDeadlineTrigger motion status change even when motion event not firenumber-
removeOnLeaveRemove element when motion leave endbooleantrue
leavedClassSet leaved element classNamestring/object/array-

Slots

NameParamsDescription
default({ ref, class, style }) => VNoderender default children

Emits

NameParamsDescription
onAppearStart(HTMLElement, Event) => CSSPropertiesTrigger when appear start, return style will patch to element
onEnterStart(HTMLElement, Event) => CSSPropertiesTrigger when enter start, return style will patch to element
onLeaveStart(HTMLElement, Event) => CSSPropertiesTrigger when leave start, return style will patch to element
onAppearActive(HTMLElement, Event) => CSSPropertiesTrigger when appear active, return style will patch to element
onEnterActive(HTMLElement, Event) => CSSPropertiesTrigger when enter active, return style will patch to element
onLeaveActive(HTMLElement, Event) => CSSPropertiesTrigger when leave active, return style will patch to element
onAppearEnd(HTMLElement, Event) => booleanTrigger when appear end, will not finish when return false
onEnterEnd(HTMLElement, Event) => booleanTrigger when enter end, will not finish when return false
onLeaveEnd(HTMLElement, Event) => booleanTrigger when leave end, will not finish when return false

CSSMotionList

extends all the props from CSSMotion

Props

PropDescriptionTypeDefault
keysMotion list keysVNode['key'][]-
componentwrapper componentstring/Componentdiv

Development

yarn install
yarn start

License

vc-motion is released under the MIT license.