70 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import type { Ref, ToRefs } from 'vue';
 | 
						|
import type { Middleware, Placement, SideObject, Strategy, VirtualElement } from '@floating-ui/dom';
 | 
						|
export declare const useFloatingProps: {};
 | 
						|
export type UseFloatingProps = ToRefs<{
 | 
						|
    middleware: Array<Middleware>;
 | 
						|
    placement: Placement;
 | 
						|
    strategy: Strategy;
 | 
						|
}>;
 | 
						|
export declare const getPositionDataWithUnit: <T extends Record<string, number>>(record: T | undefined, key: keyof T) => string;
 | 
						|
export declare const useFloating: ({ middleware, placement, strategy, }: UseFloatingProps) => {
 | 
						|
    update: () => Promise<void>;
 | 
						|
    referenceRef: Ref<HTMLElement | VirtualElement | undefined>;
 | 
						|
    contentRef: Ref<HTMLElement | undefined>;
 | 
						|
    x: Ref<number | undefined>;
 | 
						|
    y: Ref<number | undefined>;
 | 
						|
    placement: Ref<Placement>;
 | 
						|
    strategy: Ref<Strategy>;
 | 
						|
    middlewareData: Ref<{
 | 
						|
        [x: string]: any;
 | 
						|
        arrow?: {
 | 
						|
            x?: number | undefined;
 | 
						|
            y?: number | undefined;
 | 
						|
            centerOffset: number;
 | 
						|
        } | undefined;
 | 
						|
        autoPlacement?: {
 | 
						|
            index?: number | undefined;
 | 
						|
            overflows: {
 | 
						|
                placement: Placement;
 | 
						|
                overflows: Array<number>;
 | 
						|
            }[];
 | 
						|
        } | undefined;
 | 
						|
        flip?: {
 | 
						|
            index?: number | undefined;
 | 
						|
            overflows: {
 | 
						|
                placement: Placement;
 | 
						|
                overflows: Array<number>;
 | 
						|
            }[];
 | 
						|
        } | undefined;
 | 
						|
        hide?: {
 | 
						|
            referenceHidden?: boolean | undefined;
 | 
						|
            escaped?: boolean | undefined;
 | 
						|
            referenceHiddenOffsets?: {
 | 
						|
                top: number;
 | 
						|
                bottom: number;
 | 
						|
                left: number;
 | 
						|
                right: number;
 | 
						|
            } | undefined;
 | 
						|
            escapedOffsets?: {
 | 
						|
                top: number;
 | 
						|
                bottom: number;
 | 
						|
                left: number;
 | 
						|
                right: number;
 | 
						|
            } | undefined;
 | 
						|
        } | undefined;
 | 
						|
        offset?: {
 | 
						|
            x: number;
 | 
						|
            y: number;
 | 
						|
        } | undefined;
 | 
						|
        shift?: {
 | 
						|
            x: number;
 | 
						|
            y: number;
 | 
						|
        } | undefined;
 | 
						|
    }>;
 | 
						|
};
 | 
						|
export type ArrowMiddlewareProps = {
 | 
						|
    arrowRef: Ref<HTMLElement | null | undefined>;
 | 
						|
    padding?: number | SideObject;
 | 
						|
};
 | 
						|
export declare const arrowMiddleware: ({ arrowRef, padding, }: ArrowMiddlewareProps) => Middleware;
 |