Components

Popover

Floating content panel with arrow, placement options, and multiple visual variants.

iOSAndroid
Preview Popover on your device

Scan with Expo Go

Download Expo Go, then scan the QR code to preview native components.

Installation

pnpm dlx @docyrus/cli add @docyrus/rn-popover
Required Packages(1 package)
pnpm add react-native-reanimated

Usage

import { Popover } from '@/components/docyrus-native/popover';

<Popover
  content="This is a helpful tip."
  placement="bottom"
  arrow
>
  <Text>Tap me</Text>
</Popover>

API Reference

PropTypeDefaultDescription
visibleboolean—Controlled open state
defaultOpenbooleanfalseInitial open state (uncontrolled)
onOpenChange(open: boolean) => void—Open state change callback
onClose() => void—Called when popover closes
titlestring—Popover title text
placementPopoverPlacement'bottom'Popover placement relative to trigger
offsetnumber10Distance from trigger in pixels
arrowbooleantrueShow directional arrow
size'sm' | 'md' | 'lg''md'Popover size
variant'default' | 'elevated' | 'minimal' | 'glass''default'Visual variant
delayHidenumber0Auto-hide delay in ms (0 = manual close)
maxWidthnumber—Maximum popover width
childrenReactNode—Trigger element
contentReactNode—Popover content (string or element)
classNamestring—Popover container CSS classes
contentClassNamestring—Content area CSS classes

PopoverPlacement

'top' | 'bottom' | 'left' | 'right' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight'

Type Exports

TypeDescription
PopoverPropsProps for Popover component
PopoverPlacementPlacement position union type
PopoverSize'sm' | 'md' | 'lg'
PopoverVariant'default' | 'elevated' | 'minimal' | 'glass'

On this page