@opensig/opendesign
Version:
<p align="center"><img src="../docs/public/opendesign-logo-light.png"/></p> <h1 align="center">opendesign</h1> <p align="center">一个 Vue 3 组件库</p> <p align="center"><b>皮肤可定制,使用 TypeScript</b></p>
161 lines (160 loc) • 3.83 kB
TypeScript
import { ComponentPublicInstance, ExtractPropTypes, PropType } from 'vue';
export declare const PopupPositionTypes: readonly ["top", "tl", "tr", "bottom", "bl", "br", "left", "lt", "lb", "right", "rt", "rb"];
export type PopupPositionT = (typeof PopupPositionTypes)[number];
export declare const PopupTriggerTypes: readonly ["none", "click", "click-outclick", "hover", "hover-outclick", "focus", "contextmenu"];
export type PopupTriggerT = (typeof PopupTriggerTypes)[number];
export declare const popupProps: {
/**
* 是否可见
* v-model
*/
visible: {
type: BooleanConstructor;
};
/**
* 弹出位置 PopupPositionT
*/
position: {
type: PropType<PopupPositionT>;
default: string;
};
/**
* 触发事件 PopupTriggerT | PopupTriggerT[]
* Pad&Phone: 只支持 'none', 'click', 'click-outclick'
*/
trigger: {
type: PropType<PopupTriggerT | PopupTriggerT[]>;
default: string;
};
/**
* 触发元素或组件
*/
target: {
type: PropType<string | ComponentPublicInstance | HTMLElement | null>;
default: null;
};
/**
* 是否禁用
*/
disabled: {
type: BooleanConstructor;
};
/**
* 挂载容器,默认为body
*/
wrapper: {
type: PropType<string | HTMLElement | null>;
default: string;
};
/**
* 距离target偏移量
*/
offset: {
type: NumberConstructor;
default: number;
};
/**
* 距离viewport(屏幕)边缘偏移量
*/
edgeOffset: {
type: NumberConstructor;
default: number;
};
/**
* hover事件延时触发的时间(毫秒)
*/
hoverDelay: {
type: NumberConstructor;
default: number;
};
/**
* 是否当触发元素不可见时隐藏弹层
*/
hideWhenTargetInvisible: {
type: BooleanConstructor;
default: boolean;
};
/**
* 是否计算箭头位置
*/
anchor: {
type: BooleanConstructor;
default: boolean;
};
/**
* 锚点自定义class
*/
anchorClass: {
type: PropType<string | any[]>;
default: undefined;
};
/**
* 是否在popup隐藏时unmout
*/
unmountOnHide: {
type: BooleanConstructor;
default: boolean;
};
/**
* popup wrap自定义class
*/
wrapClass: {
type: PropType<string | any[]>;
default: undefined;
};
/**
* popup body自定义class
*/
bodyClass: {
type: PropType<string | any[]>;
default: undefined;
};
/**
* popup最小宽度设置为触发元素宽度
*/
adjustMinWidth: {
type: BooleanConstructor;
default: boolean;
};
/**
* popup宽度设置为触发元素宽度
*/
adjustWidth: {
type: BooleanConstructor;
default: boolean;
};
/**
* 过渡名称
*/
transition: {
type: StringConstructor;
default: string;
};
/**
* 是否自动隐藏
*/
autoHide: {
type: BooleanConstructor;
default: boolean;
};
/**
* 显示前回调,根据返回值判断是否显示, false: 不显示; true|undefined: 显示
*/
beforeShow: {
type: PropType<() => Promise<boolean> | boolean>;
};
/**
* 隐藏前回调,根据返回值判断是否隐藏,false: 不隐藏; true|undefined: 隐藏
*/
beforeHide: {
type: PropType<() => Promise<boolean> | boolean>;
};
/**
* popup是否自适应边缘
*/
adaptive: {
type: BooleanConstructor;
default: boolean;
};
};
export type PopupPropsT = ExtractPropTypes<typeof popupProps>;