helper.d.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import type { CSSProperties, Component, InjectionKey, Ref, SetupContext } from 'vue';
  2. import type { UseNamespaceReturn } from 'element-plus/es/hooks';
  3. import type { TourGap, TourMask } from './types';
  4. import type { Placement, Strategy, VirtualElement } from '@floating-ui/dom';
  5. import type { TourStepProps } from './step';
  6. 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>) => {
  7. mergedPosInfo: import("vue").ComputedRef<{
  8. left: number;
  9. top: number;
  10. width: number;
  11. height: number;
  12. radius: number;
  13. } | null>;
  14. triggerTarget: import("vue").ComputedRef<HTMLElement | {
  15. getBoundingClientRect(): DOMRect;
  16. } | undefined>;
  17. };
  18. export interface TourContext {
  19. currentStep: Ref<TourStepProps | undefined>;
  20. current: Ref<number>;
  21. total: Ref<number>;
  22. showClose: Ref<boolean>;
  23. closeIcon: Ref<string | Component | undefined>;
  24. mergedType: Ref<'default' | 'primary' | undefined>;
  25. ns: UseNamespaceReturn;
  26. slots: SetupContext['slots'];
  27. updateModelValue(modelValue: boolean): void;
  28. onClose(): void;
  29. onFinish(): void;
  30. onChange(): void;
  31. }
  32. export declare const tourKey: InjectionKey<TourContext>;
  33. 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>) => {
  34. update: () => Promise<void>;
  35. contentStyle: import("vue").ComputedRef<CSSProperties>;
  36. arrowStyle: import("vue").ComputedRef<CSSProperties>;
  37. };