wot-design-uni
Version:
一个基于Vue3+TS开发的uni-app组件库,提供70+高质量组件,支持暗黑模式、国际化和自定义主题。
39 lines (33 loc) • 953 B
text/typescript
import { type ExtractPropTypes, type InjectionKey, type Ref } from 'vue'
import { baseProps, makeBooleanProp, makeNumberProp, makeStringProp } from '../common/props'
export type DropDirection = 'up' | 'down'
export type DropMenuProvide = {
props: Partial<DropMenuProps>
fold: (child?: any) => void
offset: Ref<number>
}
export const DROP_MENU_KEY: InjectionKey<DropMenuProvide> = Symbol('wd-drop-menu')
export const dropMenuProps = {
...baseProps,
/**
* 弹框层级
*/
zIndex: makeNumberProp(12),
/**
* 菜单展开方向,可选值为up 或 down
*/
direction: makeStringProp<DropDirection>('down'),
/**
* 是否展示蒙层
*/
modal: makeBooleanProp(true),
/**
* 是否点击蒙层时关闭
*/
closeOnClickModal: makeBooleanProp(true),
/**
* 菜单展开收起动画时间,单位 ms
*/
duration: makeNumberProp(200)
}
export type DropMenuProps = ExtractPropTypes<typeof dropMenuProps>