A native iOS-style Popover for React Native + Expo.
- π₯ Native iOS popover style
- πΈ Arrow positions:
top,bottom,leading,trailing - π¨ Customizable width, height & background
- π Simple API:
Popover,Popover.Trigger,Popover.Content - β¨ Easy to integrate into any Expo project
import React from "react";
import { View, Text, Pressable } from "react-native";
import { Popover } from "expo-ios-popover";
export default function App() {
return (
<View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}>
<Popover id="example" arrowEdge="top">
<Popover.Trigger>
<Pressable
style={{ padding: 12, backgroundColor: "#007AFF", borderRadius: 8 }}
>
<Text style={{ color: "white" }}>Open Popover π</Text>
</Pressable>
</Popover.Trigger>
<Popover.Content
style={{
width: 220,
height: 150,
backgroundColor: "#fff",
padding: 16,
borderRadius: 12,
}}
>
<Text>Hello from Popover! β¨</Text>
</Popover.Content>
</Popover>
</View>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
id |
string |
β | Unique identifier |
arrowEdge |
"top" | "bottom" | "leading" | "trailing" |
"top" |
Arrow position |
children |
React.ReactNode |
β | Should include Trigger & Content |
- π Trigger: pressable element to open popover
- π― Content: popover panel; width & height default to
200
npm install expo-ios-popover
# or
yarn add expo-ios-popoverMIT Β© 2025