Code Monkey home page Code Monkey logo

react-native-popup-menu's Introduction

react-native-popup-menu

Extensible popup menu component for React Native for Android, iOS and (unofficially) UWP and react-native-web.

Features:

  • Simple to use popup/context menu
  • Multiple modes: animated, not animated, slide in from bottom or popover
  • By default opening and closing animations
  • Optional back button handling
  • Easy styling
  • Customizable on various levels - menu options, positioning, animations
  • Can work as controlled as well as uncontrolled component
  • Different lifecycle hooks
  • RTL layout support

Community driven features:

  • Support for UWP, react-native-web and react-native-desktop
  • Typescript definitions

We thank our community for maintaining features that goes over our scope.

Context Menu, Slide-in Menu Popover
Popup menu demo Popup menu demo

Installation

npm install react-native-popup-menu --save

If you are using older RN versions check our compatibility table.

Basic Usage

Wrap your application inside MenuProvider and then simply use Menu component where you need it. Below you can find a simple example.

For more detailed documentation check API.

// your entry point
import { MenuProvider } from 'react-native-popup-menu';

export const App = () => (
  <MenuProvider>
    <YourApp />
  </MenuProvider>
);

// somewhere in your app
import {
  Menu,
  MenuOptions,
  MenuOption,
  MenuTrigger,
} from 'react-native-popup-menu';

export const YourComponent = () => (
  <View>
    <Text>Hello world!</Text>
    <Menu>
      <MenuTrigger text='Select action' />
      <MenuOptions>
        <MenuOption onSelect={() => alert(`Save`)} text='Save' />
        <MenuOption onSelect={() => alert(`Delete`)} >
          <Text style={{color: 'red'}}>Delete</Text>
        </MenuOption>
        <MenuOption onSelect={() => alert(`Not called`)} disabled={true} text='Disabled' />
      </MenuOptions>
    </Menu>
  </View>
);

Documentation

Contributing

Contributions are welcome! Just open an issues with any idea or pull-request if it is no-brainer. Make sure all tests and linting rules pass.

React Native Compatibility

We keep compatibility on best effort basis.

popup-menu version min RN (React) version
0.13 0.55 (16.3.1)
0.9 0.40
0.8 0.38
0.7 0.18

react-native-popup-menu's People

Contributors

sodik82 avatar madox2 avatar dependabot[bot] avatar linusu avatar matusjuraj avatar nitzanbueno avatar vkjr avatar jokester avatar j-ornelas avatar tiberiumihai avatar thealmightybob avatar cygra avatar drpandemic avatar gutosanches avatar ilyagulya avatar jesserweigel avatar johakr avatar niklasvh avatar sebirdman avatar waldyrious avatar knight33 avatar npmun avatar oxyii avatar raymondtam avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.