@gluestack-ui/core
Version:
Universal UI components for React Native, Expo, and Next.js
54 lines • 1.37 kB
TypeScript
import type { PlacementAxis } from '@react-types/overlays';
import { RefObject } from 'react';
import type { PositionProps } from '@react-types/overlays';
interface AriaPositionProps extends PositionProps {
boundaryElement?: any;
targetRef: RefObject<any>;
overlayRef: RefObject<any>;
scrollRef?: RefObject<any>;
shouldUpdatePosition?: boolean;
onClose?: () => void;
shouldOverlapWithTrigger?: boolean;
}
export declare function useOverlayPosition(props: AriaPositionProps): {
rendered: boolean;
overlayProps: {
style: {
top?: number;
left?: number;
bottom?: number;
right?: number;
};
};
placement: PlacementAxis;
arrowProps: {
style: {
left: number;
top: number;
};
};
updatePosition: () => Promise<void>;
isFlipped: boolean;
};
interface Position {
top?: number;
left?: number;
bottom?: number;
right?: number;
}
export interface PositionResult {
position?: Position;
arrowOffsetLeft?: number;
arrowOffsetTop?: number;
maxHeight?: number;
placement: PlacementAxis | undefined;
isFlipped?: boolean;
}
interface Position {
top?: number;
left?: number;
bottom?: number;
right?: number;
}
export {};
//# sourceMappingURL=useOverlayPosition.d.ts.map