UNPKG

nutui-uniapp

Version:

京东风格的轻量级移动端 Uniapp、Vue3 组件库(支持小程序开发)

45 lines (36 loc) 1.18 kB
import type { ExtractPropTypes } from 'vue' import { CLICK_EVENT } from '../_constants' import { commonProps, makeNumericProp, makeStringProp } from '../_utils' import type { AnimateAction, AnimateType } from './type' export const animateProps = { ...commonProps, /** * @description 控制动画,当值从 false 变为 true 时会触发一次动画 */ show: Boolean, /** * @description 动画类型 * @values 'fade', 'slide', 'zoom', ... */ type: makeStringProp<AnimateType | ''>(''), /** * @description 是否循环执行。`true`-循环执行; `false`-执行一次 */ loop: Boolean, /** * @description 动画时长,单位 ms */ duration: makeNumericProp(500), /** * @description (不能与 show 同时使用)触发方式,`initial`-初始化执行; `click`-点击执行 * @values 'initial', 'click' * @default initial */ action: makeStringProp<AnimateAction>('initial'), } export type AnimateProps = ExtractPropTypes<typeof animateProps> export const animateEmits = { [CLICK_EVENT]: (evt: MouseEvent) => evt instanceof Object, animate: () => true, } export type AnimateEmits = typeof animateEmits