UNPKG

react-use-motion-measure

Version:

measure view bounds

38 lines (37 loc) 1.24 kB
import { MotionValue } from 'framer-motion' declare type ResizeObserverCallback = (entries: any[], observer: ResizeObserver) => void declare class ResizeObserver { constructor(callback: ResizeObserverCallback) observe(target: Element, options?: any): void unobserve(target: Element): void disconnect(): void static toString(): string } export interface MotionRectReadOnly { readonly x: MotionValue<number> readonly y: MotionValue<number> readonly width: MotionValue<number> readonly height: MotionValue<number> readonly top: MotionValue<number> readonly right: MotionValue<number> readonly bottom: MotionValue<number> readonly left: MotionValue<number> [key: string]: MotionValue<number> } type HTMLOrSVGElement = HTMLElement | SVGElement type Result = [ref: (element: HTMLOrSVGElement | null) => void, bounds: MotionRectReadOnly, forceRefresh: () => void] export type Options = { debounce?: | number | { scroll: number resize: number } scroll?: boolean polyfill?: { new (cb: ResizeObserverCallback): ResizeObserver } offsetSize?: boolean } declare function useMotionMeasure({ debounce, scroll, polyfill, offsetSize }?: Options): Result export default useMotionMeasure