UNPKG

@extclp/vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

54 lines (53 loc) 1.55 kB
import { InjectionKey, MaybeRef } from 'vue'; import { MaybeElement, MaybeInstance, Placement } from '@vexip-ui/hooks'; import { BubbleType } from '../bubble'; export type TourType = BubbleType; export type TourSignType = 'dot' | 'bar' | 'count'; export interface TourVirtual { getBoundingClientRect(): { top: number; left: number; width: number; height: number; }; } export type TourTarget = MaybeRef<string | MaybeInstance | TourVirtual> | (() => string | MaybeElement | TourVirtual); export interface TourPayload { start(): void; prev(): void; next(autoClose?: boolean): void; close(): void; } export type TourStepRenderFn = (payload: TourPayload) => any; export interface TourStepOptions { target?: TourTarget; placement?: Placement; title?: string; content?: string; order?: number; type?: TourType; renderer?: TourStepRenderFn; } export type TourSlotParams = TourPayload & { step: TourStepOptions; index: number; }; export type TourCommonSLot = (params: TourSlotParams) => any; export interface TourState { increaseStep(step: TourStepOptions): void; decreaseStep(step: TourStepOptions): void; } export interface TourSlots { /** * @internal */ default?: () => any; header?: TourCommonSLot; title?: TourCommonSLot; close?: TourCommonSLot; body?: TourCommonSLot; footer?: TourCommonSLot; sign?: TourCommonSLot; actions?: TourCommonSLot; } export declare const TOUR_STATE: InjectionKey<TourState>;