Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

react-native-tooltip-menu

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-native-tooltip-menu

ReactNative component showing tooltip with menu items.

  • 1.2.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
351
increased by62.5%
Maintainers
1
Weekly downloads
 
Created
Source

react-native-tooltip-menu

Currently works only with iOS and Android.

Component for specfied case. Left bottom button with nice looking menu tooltip with animation after click.

alt text alt text

How to install

Via NPM

npm install react-native-tooltip-menu --save

or via yarn

yarn add react-native-tooltip-menu --save

then

import ReactNativeTooltipMenu from 'react-native-tooltip-menu';

Configuration

ReactNativeTooltipMenu:

PropertyTypeDefaultDescription
buttonComponent
itemsArrayItems to be rendered in menu. Each of item requires label as string or function if you want to render your own component and onClick as function to be called when you click item.
componentWrapperStyleObjectOptionalStyle Object if you want to overwrite wrapper for your buttonComponent
overlayStyleObjectOptionalStyle Object if you want to overwrite overlay style's.
widthTypeauto, half or fullhalfMenu items width. Auto = automatically set width to your longest test, half = always 50% your screen width, full = 100% screen width.
onRequestClosefunctionOptional, default () => {}Modal onRequestClose required function on Android
labelContainerStyleObjectOptionalStyle Object if you want to change default TooltipMenuItem View's style.
labelStyleObjectOptionalStyle Object if you want to change default TooltipMenuItem Text's style.
modalButtonStyleObjectoptionalStyle. for TouchabelOpacity when modal is opened.

Example

import React, { Component } from 'react';
import {
  AppRegistry,
  Text,
  View
} from 'react-native';
import ReactNativeTooltipMenu from 'react-native-tooltip-menu';

class Example extends Component {
  state = {
    counterItem1: 0,
    counterItem2: 0
  };

  render() {
    return (
      <View style={{ flex: 1, flexDirection: 'column', justifyContent: 'center', padding: 25 }}>
        <View>
          <Text style={{ textAlign: 'center' }}>This is example of react-native-tooltip-menu</Text>
          <Text style={{ textAlign: 'center' }}>Clicked item1: {this.state.counterItem1}</Text>
          <Text style={{ textAlign: 'center' }}>Clicked item2: {this.state.counterItem2}</Text>
        </View>
        <ReactNativeTooltipMenu
          buttonComponent={
            <View
              style={{
                backgroundColor: 'purple',
                padding: 10,
                borderRadius: 25
              }}
            >
              <Text style={{ color: 'white', flex: 1 }}>Click me to show tooltip!</Text>
            </View>
          }
          items={[
            {
              label: 'Label #1',
              onPress: () => this.setState({ counterItem1: this.state.counterItem1 + 1 })
            },
            {
              label: 'Label #2',
              onPress: () => this.setState({ counterItem2: this.state.counterItem2 + 1 }),
            },
          ]}
        />
      </View>
    )
  }
}

AppRegistry.registerComponent('Example', () => Example);

Todo

  • add option to move button to right side of screen
  • add isVisible prop

Keywords

FAQs

Package last updated on 17 Apr 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc