React Native Tooltipster
đź’¬ Truely native tooltip for your React Native app đź’¬
Installation
npm install react-native-tooltipster
yarn add react-native-tooltipster
Next install CocoaPods deps:
npx pod-install ios
Usage
You can show tooltip for any component you want
import Tooltipster from 'react-native-tooltipster';
<Tooltipster
text="Lorem Ipsum ipdoor"
bgColor="#ffbd00"
>
<Text>Hello world</Text>
</Tooltipster>
<Tooltipster
text="Lorem Ipsum is simply dummy text of the printing and typesetting industry"
bgColor="#ffbd00"
>
<View>
<Text>Hello world</Text>
<Text>It's a good day</Text>
</View>
</Tooltipster>
Props
animation
- Description: tooltip show animation
- Value: type
SCALE | FADE. Default SCALE
arrowSize
- Description: size of the arrow of tooltip
- Value: type
number. Default 10
position
- Description: position of the arrow align to the anchor
- Value: type
top | right | bottom | left. Default bottom on Android, any (auto) on iOS
arrowPositionRules (Android only)
- Description: align arrow by Anchor or bubble (the tooltip itself). This is useful in some cases where
position=left|right
- Value: type
ALIGN_BUBBLE | ALIGN_ANCHOR. Default ALIGN_ANCHOR
text
- Description: text of tooltip
- Value: type
string. Default "" (empty string)
textAlign
- Description: text alignment
- Value: type
left | right | center. Default center
textLineHeight
- Description: line height of the text
- Value: type
number. Default undefined
textColor
- Description: text color
- Value: type
string. Default white
fontSize
- Description: text font size
- Value: type
number. Default 12 on Android, 15 on iOS
fontWeight
- Description: text font weight
- Value: type
BOLD | BOLD_ITALIC | ITALIC | NORMAL. Default NORMAL
cornerRadius
- Description: tooltip border radius
- Value: type
number. Default 5
bgColor
- Description: tooltip background
- Value: type
string. Default #1c7bf6
maxWidth
- Description: tooltip max width
- Value: type
number. Default <SCREEN_WIDTH>
padding
- Description: padding of the tooltip
- Value: type
{top?: number, right?: number, bottom?: number , left?: number}. Default undefined
margin
- Description: margin of the tooltip
- Value: type
{top?: number, right?: number, bottom?: number , left?: number}. Default undefined
dismissOnClick
- Description: dismiss the tooltip if click on itself
- Value: type
boolean. Default false
renderTemplate (iOS only)
- Description: React component for the tooltip
- Value: type
Function. Default undefined
Example:
<Tooltipster
bgColor="#7A316F"
animation="FADE"
renderTemplate={() => (
<>
<Text
style={{ color: 'white', fontSize: 20, textAlign: 'center' }}
>
With React Component
</Text>
<Image
source={require('./assets/bunny.jpg')}
style={{
width: 200,
height: 100,
resizeMode: 'stretch',
}}
/>
</>
)}
>
<TouchableOpacity
style={[styles.button, { backgroundColor: '#7A316F' }]}
>
<Icon name={'arrowdown'} size={24} color={'white'} />
</TouchableOpacity>
</Tooltipster>
Events
onClick: on click bubble (the tooltip)
onDismissed: on tooltip dismissed
Examples
Check out example folder for complete usage
Thanks