alwex / react-native-simple-pop-menu

The highly customisable pop menu for React Native

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

React Native Simple Pop Menu

The Customizable Pop Menu for react native.

npm version npm downloads code style: prettier

Features:

  • Simple to use popup/context menu
  • Support all in and out Animatable animations
  • Non opinionated and Extremely Customizable
  • Auto position the menu based on the anchor position
  • You provide your own item components
  • You provide your own container component
  • Fully typed with Typescript
Light Dark
Pop menu demo Pop menu demo

Who uses React Native Simple Pop Menu

Blast Workout

Does your company or app use React Native Simple Pop Menu? Open a pull request and add your logo/icon with link here!

Installation

npm install react-native-simple-pop-menu --save

or

yarn add react-native-simple-pop-menu

Usage

Wrap your application inside PopMenuProvider and then simply use PopMenu component where you need it.

import {
  PopMenu,
  PopMenuItem,
  PopMenuProvider,
} from 'react-native-simple-pop-menu'

const menuItems1: PopMenuItem[] = [
  {
    render: () => <Text>Header</Text>,
  },
  {
    render: () => <Text>Item 1</Text>,
    onPress: () => console.log('item 1 pressed'), // Optional onPress
  },
  // ... more items
]

const App = () => {
  return (
      <PopMenuProvider>
        <View>
          <PopMenu items={menuItems1}>
            <Button>PRESS ME</Button>
          </PopMenu>
        </View>
      </PopMenuProvider>
  )
}

export default App

Advanced Usage

Check the example folder for more advanced usage

Properties

Prop Description Default
items Array of PopMenuItem
container Menu Container (Optional)
trigger Menu Open trigger press or longPress press
animationIn Opening Animation one of Animatable zoomIn
animationOut Closing Animation one of Animatable zoomOut

About

The highly customisable pop menu for React Native

License:MIT License


Languages

Language:TypeScript 52.8%Language:Kotlin 22.6%Language:JavaScript 9.2%Language:Swift 7.9%Language:Ruby 3.8%Language:Starlark 2.8%Language:Objective-C 0.9%