import * as React from 'react'; import { View } from 'react-native'; import type { Align, PhysicalSide } from '../../utils/useAnchorPositioning'; import type { ZestUIComponentProps } from '../../types'; /** * Positions the context menu popup at the point the long press landed. * Renders a ``. * * Unlike `Menu.Positioner` it anchors to a screen point rather than a trigger * element, so it does not go through `useAnchorPositioning`: floating-ui * measures a real node, and there is no node here. Collision handling is * therefore its own — the popup flips to the other side of the press point when * it would otherwise run off the screen, and is kept `collisionPadding` inside * the edges. `side` and `align` on state report where it actually landed. */ export declare function ContextMenuPositioner(componentProps: ContextMenuPositioner.Props): React.JSX.Element; export interface ContextMenuPositionerState { open: boolean; /** * `'bottom'` when the popup hangs below the press point, `'top'` when it was * flipped above it to stay on screen. */ side: PhysicalSide; /** * `'start'` when the popup extends right of the press point, `'end'` when it * was flipped to its left. */ align: Align; } export interface ContextMenuPositionerProps extends ZestUIComponentProps { /** * How much space to keep between the popup and the edges of the screen. * @default 5 */ collisionPadding?: number | undefined; } export declare namespace ContextMenuPositioner { type State = ContextMenuPositionerState; type Props = ContextMenuPositionerProps; } //# sourceMappingURL=ContextMenuPositioner.d.ts.map