UNPKG

reablocks

Version:
35 lines (33 loc) 1.5 kB
import { Placement as FloatingUIPlacement, Middleware } from '@floating-ui/react'; import { RefObject } from 'react'; export type Placement = FloatingUIPlacement; export type Modifiers = Middleware[]; export type ReferenceProp = ReferenceObject | HTMLElement | RefObject<HTMLElement>; export interface ReferenceObject { top: number; left: number; height: number; width: number; } export interface PositionOptions { reference?: Element | ReferenceObject; floating?: HTMLElement; placement?: Placement; modifiers?: Modifiers; followCursor?: boolean; } /** * Hook for positioning an element relative to another. */ export declare const usePosition: ({ reference, floating, followCursor, placement, modifiers }?: PositionOptions) => { refs: { reference: import('react').MutableRefObject<import("@floating-ui/react-dom").ReferenceType>; floating: import('react').MutableRefObject<HTMLElement>; setReference: (node: import('@floating-ui/react-dom').ReferenceType) => void; setFloating: (node: HTMLElement) => void; } & import('@floating-ui/react').ExtendedRefs<import("@floating-ui/react").ReferenceType>; anchorRef: import('react').MutableRefObject<import("@floating-ui/react-dom").ReferenceType> & import('react').MutableRefObject<import("@floating-ui/react").ReferenceType>; floatingRef: import('react').MutableRefObject<HTMLElement>; floatingStyles: import('react').CSSProperties; update: () => void; };