ano-ui
Version:
<p align="center"> <img src="https://github.com/ano-ui/ano-ui/raw/main/public/logo.svg" style="width:100px;" /> <h1 align="center">Ano-UI (WIP)</h1> <p align="center">An UniApp UI components with UnoCSS.</p> </p> <p align="center"> <a href="https://www.np
24 lines (20 loc) • 776 B
text/typescript
import type { ExtractPropTypes } from 'vue'
import { PositionProp, useCustomClassProp, useCustomStyleProp } from '../composables'
import { CLOSED_EVENT, CLOSE_EVENT, OPENED_EVENT, OPEN_EVENT, UPDATE_SHOW_EVENT } from '../constants'
import { isBoolean, makeNumberProp } from '../utils'
export const popupProps = {
customClass: useCustomClassProp,
customStyle: useCustomStyleProp,
show: Boolean,
position: PositionProp,
duration: makeNumberProp(200),
}
export const popupEmits = {
[UPDATE_SHOW_EVENT]: (value: boolean) => isBoolean(value),
[OPEN_EVENT]: () => true,
[CLOSE_EVENT]: () => true,
[OPENED_EVENT]: () => true,
[CLOSED_EVENT]: () => true,
}
export type PopupProps = ExtractPropTypes<typeof popupProps>
export type PopupEmits = typeof popupEmits