hongluan-ui
Version:
Hongluan Component Library for Vue 3
29 lines (28 loc) • 1.55 kB
TypeScript
import type { CSSProperties, InjectionKey, Ref, SetupContext } from 'vue';
import type { PosInfo, TourGap, TourMask } from './types';
import type { Placement, Strategy, VirtualElement } from '@floating-ui/dom';
import type { TourStepProps } from './step';
export declare const useTarget: (target: Ref<string | HTMLElement | (() => HTMLElement | null) | null | undefined>, open: Ref<boolean>, gap: Ref<TourGap>, mergedMask: Ref<TourMask>, scrollIntoViewOptions: Ref<boolean | ScrollIntoViewOptions>) => {
mergedPosInfo: import("vue").ComputedRef<PosInfo>;
triggerTarget: import("vue").ComputedRef<HTMLElement | {
getBoundingClientRect(): DOMRect;
}>;
};
export interface TourContext {
currentStep: Ref<TourStepProps | undefined>;
current: Ref<number>;
total: Ref<number>;
showClose: Ref<boolean>;
mergedType: Ref<'default' | 'primary' | undefined>;
slots: SetupContext['slots'];
updateModelValue(modelValue: boolean): void;
onClose(): void;
onFinish(): void;
onChange(): void;
}
export declare const tourKey: InjectionKey<TourContext>;
export declare const useFloating: (referenceRef: Ref<HTMLElement | VirtualElement | null>, contentRef: Ref<HTMLElement | null>, arrowRef: Ref<HTMLElement | null>, placement: Ref<Placement | undefined>, strategy: Ref<Strategy>, offset: Ref<number>, zIndex: Ref<number>, showArrow: Ref<boolean>) => {
update: () => Promise<void>;
contentStyle: import("vue").ComputedRef<CSSProperties>;
arrowStyle: import("vue").ComputedRef<CSSProperties>;
};