sard-uniapp
Version:
sard-uniapp 是一套基于 Uniapp + Vue3 框架开发的兼容多端的 UI 组件库
60 lines (59 loc) • 2.02 kB
TypeScript
import { type StyleValue } from 'vue';
import { type TransitionHookName } from '../../use';
import { type DefaultProps } from '../config';
export interface PopupProps {
rootStyle?: StyleValue;
rootClass?: string;
visible?: boolean;
duration?: number;
effect?: 'slide-top' | 'slide-right' | 'slide-bottom' | 'slide-left' | 'zoom' | 'fade' | 'full-fade';
overlay?: boolean;
overlayClass?: string;
overlayStyle?: string;
background?: string;
transparent?: boolean;
keepRender?: boolean;
overlayClosable?: boolean;
lockScroll?: boolean;
backPress?: 'close' | 'back';
}
export declare const defaultPopupProps: () => DefaultProps<PopupProps>;
export interface PopupSlots {
default?(props: Record<string, never>): any;
}
export interface TransitionHookEmits {
(e: 'before-enter'): void;
(e: 'enter'): void;
(e: 'after-enter'): void;
(e: 'enter-cancelled'): void;
(e: 'before-leave'): void;
(e: 'leave'): void;
(e: 'after-leave'): void;
(e: 'leave-cancelled'): void;
(e: 'visible-hook', name: TransitionHookName): void;
}
export interface TransitionHookCallbacks {
onVisibleHook?: (name: TransitionHookName) => void;
onBeforeEnter?: () => void;
onEnter?: () => void;
onAfterEnter?: () => void;
onEnterCancelled?: () => void;
onBeforeLeave?: () => void;
onLeave?: () => void;
onAfterLeave?: () => void;
onLeaveCancelled?: () => void;
}
export interface PopupEmits extends TransitionHookEmits {
(e: 'overlay-click', event: any): void;
(e: 'update:visible', visible: boolean): void;
(e: 'back-press'): void;
}
export interface PopupContext {
visibleState: TransitionHookName | undefined;
}
export declare const popupContextSymbol: unique symbol;
export declare function usePopupVisibleHookProvide(): (name: TransitionHookName) => void;
export declare function usePopupEnter(callback: () => void): {
context: PopupContext | null;
};
export declare function useInPopup(): boolean;