UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

32 lines (31 loc) 1.15 kB
import { ComputedRef, Ref } from "vue"; import { PopoverPlacement } from "../popover.props"; import type { HostMetrics } from './measure-host'; export type { HostMetrics } from './measure-host'; export interface UsePosition { arrowStyle: ComputedRef<Record<string, any>>; popoverStyle: ComputedRef<Record<string, any>>; position: Ref<PopoverPlacement>; popoverWidth: Ref<number>; fitToReference: (referenceElement: HTMLElement) => void; followToReferencePosition: (referenceElement: HTMLElement) => void; locateToReference: (referenceElement: HTMLElement) => void; resetPosition: () => void; } export interface UseHost { host: any; hostLeft: ComputedRef<number>; hostTop: ComputedRef<number>; hostWidth: ComputedRef<number>; hostHeight: ComputedRef<number>; hostBottom: ComputedRef<number>; /** 定位时调用,避免 computed 无依赖缓存导致几何信息过期 */ measure: () => HostMetrics; } export interface UsePopup { hidePopverOnClickBodyHandler: ($event: MouseEvent) => any; showPopover: Ref<boolean>; } export interface UseResize { onResize: () => void; }