UNPKG

@primer/react

Version:

An implementation of GitHub's Primer Design System using React

27 lines (26 loc) 1.26 kB
import React from "react"; import { AnchorPosition, PositionSettings } from "@primer/behaviors"; //#region src/hooks/useAnchoredPosition.d.ts interface AnchoredPositionHookSettings extends Partial<PositionSettings> { floatingElementRef?: React.RefObject<Element | null>; anchorElementRef?: React.RefObject<Element | null>; pinPosition?: boolean; onPositionChange?: (position: AnchorPosition | undefined) => void; enabled?: boolean; } /** * Calculates the top and left values for an absolutely-positioned floating element * to be anchored to some anchor element. Returns refs for the floating element * and the anchor element, along with the position. * @param settings Settings for calculating the anchored position. * @param dependencies Dependencies to determine when to re-calculate the position. * @returns An object of {top: number, left: number} to absolutely-position the * floating element. */ declare function useAnchoredPosition(settings?: AnchoredPositionHookSettings, dependencies?: React.DependencyList): { floatingElementRef: React.RefObject<Element | null>; anchorElementRef: React.RefObject<Element | null>; position: AnchorPosition | undefined; }; //#endregion export { AnchoredPositionHookSettings, useAnchoredPosition };