wot-design-uni
Version:
一个基于Vue3+TS开发的uni-app组件库,提供70+高质量组件,支持暗黑模式、国际化和自定义主题。
102 lines (91 loc) • 2.27 kB
text/typescript
/*
* @Author: weisheng
* @Date: 2024-09-01 15:42:04
* @LastEditTime: 2024-11-06 23:50:08
* @LastEditors: weisheng
* @Description:
* @FilePath: \wot-design-uni\src\uni_modules\wot-design-uni\components\wd-transition\types.ts
* 记得注释
*/
import type { ExtractPropTypes, PropType } from 'vue'
import { baseProps, makeBooleanProp, makeStringProp } from '../common/props'
export type TransitionName =
| 'fade'
| 'fade-down'
| 'fade-left'
| 'fade-right'
| 'fade-up'
| 'slide-down'
| 'slide-left'
| 'slide-right'
| 'slide-up'
| 'zoom-in'
| 'zoom-out'
export const transitionProps = {
...baseProps,
/**
* 是否展示组件
* 类型:boolean
* 默认值:false
*/
show: makeBooleanProp(false),
/**
* 动画执行时间
* 类型:number | boolean | Record<string, number>
* 默认值:300 (毫秒)
*/
duration: {
type: [Object, Number, Boolean] as PropType<Record<string, number> | number | boolean>,
default: 300
},
/**
* 弹层内容懒渲染,触发展示时才渲染内容
* 类型:boolean
* 默认值:false
*/
lazyRender: makeBooleanProp(false),
/**
* 动画类型
* 类型:string
* 可选值:fade / fade-up / fade-down / fade-left / fade-right / slide-up / slide-down / slide-left / slide-right / zoom-in
* 默认值:'fade'
*/
name: [String, Array] as PropType<TransitionName | TransitionName[]>,
/**
* 是否在动画结束时销毁子节点(display: none)
* 类型:boolean
* 默认值:false
*/
destroy: makeBooleanProp(true),
/**
* 进入过渡的开始状态
* 类型:string
*/
enterClass: makeStringProp(''),
/**
* 进入过渡的激活状态
* 类型:string
*/
enterActiveClass: makeStringProp(''),
/**
* 进入过渡的结束状态
* 类型:string
*/
enterToClass: makeStringProp(''),
/**
* 离开过渡的开始状态
* 类型:string
*/
leaveClass: makeStringProp(''),
/**
* 离开过渡的激活状态
* 类型:string
*/
leaveActiveClass: makeStringProp(''),
/**
* 离开过渡的结束状态
* 类型:string
*/
leaveToClass: makeStringProp('')
}
export type TransitionProps = ExtractPropTypes<typeof transitionProps>