bootstrap-vue-next
Version:
BootstrapVueNext is an early and lovely component library for Vue 3 & Nuxt 3 based on Bootstrap 5 and Typescript.
109 lines (108 loc) • 3.73 kB
TypeScript
import { EmitFn, Ref } from 'vue';
import { BvTriggerableEvent } from '../utils';
export declare const fadeBaseTransitionProps: {
name: string;
enterActiveClass: string;
enterFromClass: string;
enterToClass: string;
leaveActiveClass: string;
leaveFromClass: string;
leaveToClass: string;
css: boolean;
};
export interface showHideEmits {
'hide': [value: BvTriggerableEvent];
'hide-prevented': [value: BvTriggerableEvent];
'hidden': [value: BvTriggerableEvent];
'show': [value: BvTriggerableEvent];
'show-prevented': [value: BvTriggerableEvent];
'shown': [value: BvTriggerableEvent];
'toggle': [value: BvTriggerableEvent];
'toggle-prevented': [value: BvTriggerableEvent];
}
interface TransitionProps {
onBeforeEnter?: (el: Element) => void;
onEnter?: (el: Element) => void;
onAfterEnter?: (el: Element) => void;
onBeforeLeave?: (el: Element) => void;
onLeave?: (el: Element) => void;
onAfterLeave?: (el: Element) => void;
enterToClass?: string;
leaveToClass?: string;
enterFromClass?: string;
leaveFromClass?: string;
enterActiveClass?: string;
leaveActiveClass?: string;
}
export declare const useShowHide: (modelValue: Ref<boolean | number>, props: {
visible?: boolean;
show?: boolean;
noAnimation?: boolean;
noFade?: boolean;
noCloseOnBackdrop?: boolean;
noCloseOnEsc?: boolean;
transitionProps?: TransitionProps;
lazy?: boolean;
initialAnimation?: boolean;
delay?: number | {
show: number;
hide: number;
};
} & Record<string, unknown>, emit: EmitFn, element: Ref<HTMLElement | null>, computedId: Ref<string>, options?: {
transitionProps?: TransitionProps;
showFn?: () => void;
hideFn?: () => void;
}) => {
showRef: Ref<boolean, boolean>;
renderRef: Ref<boolean, boolean>;
renderBackdropRef: Ref<boolean, boolean>;
isVisible: Ref<boolean, boolean>;
isActive: Ref<boolean, boolean>;
trapActive: Ref<boolean, boolean>;
show: () => void;
hide: (trigger?: string) => void;
toggle: () => void;
throttleHide: import('@vueuse/core').PromisifyFn<(a: any) => void>;
throttleShow: import('@vueuse/core').PromisifyFn<() => void>;
buildTriggerableEvent: (type: string, opts?: Readonly<Partial<BvTriggerableEvent>>) => BvTriggerableEvent;
computedNoAnimation: import('vue').ComputedRef<boolean>;
localNoAnimation: Ref<boolean, boolean>;
localTemporaryHide: Ref<boolean, boolean>;
isLeaving: Ref<boolean, boolean>;
transitionProps: {
onBeforeEnter: (el: Element) => void;
onEnter: (el: Element) => void;
onAfterEnter: (el: Element) => void;
onBeforeLeave: (el: Element) => void;
onLeave: (el: Element) => void;
onAfterLeave: (el: Element) => void;
enterToClass: string;
leaveToClass: string;
enterFromClass: string;
leaveFromClass: string;
enterActiveClass: string;
leaveActiveClass: string;
name: string;
css: boolean;
};
lazyLoadCompleted: Ref<boolean, boolean>;
markLazyLoadCompleted: () => void;
contentShowing: import('vue').ComputedRef<boolean>;
backdropReady: Ref<boolean, boolean>;
backdropVisible: Ref<boolean, boolean>;
backdropTransitionProps: {
onBeforeEnter: () => void;
onAfterEnter: () => void;
onBeforeLeave: () => void;
onAfterLeave: () => void;
name: string;
enterActiveClass: string;
enterFromClass: string;
enterToClass: string;
leaveActiveClass: string;
leaveFromClass: string;
leaveToClass: string;
css: boolean;
};
};
export {};