Installations
npm install react-native-popup-menu
Score
99.5
Supply Chain
97.7
Quality
80
Maintenance
100
Vulnerability
100
License
Releases
Back handler registration change
Published on 29 Aug 2022
Fixes TS definition problem with React 18
Published on 11 Aug 2022
Support for e2e testing
Published on 11 Dec 2020
TS definition update
Published on 04 Jul 2020
isOpen is now "public"
Published on 08 Feb 2020
API for MenuTrigger longpress
Published on 16 Mar 2019
Developer
instea
Developer Guide
Module System
CommonJS
Min. Node Version
Typescript Support
No
Node Version
12.16.3
NPM Version
6.14.16
Statistics
1,479 Stars
396 Commits
248 Forks
17 Watching
5 Branches
27 Contributors
Updated on 11 Nov 2024
Bundle Size
41.02 kB
Minified
11.98 kB
Minified + Gzipped
Languages
JavaScript (100%)
Total Downloads
Cumulative downloads
Total Downloads
7,891,217
Last day
-15.9%
12,710
Compared to previous day
Last week
-0.6%
68,704
Compared to previous week
Last month
3.5%
282,459
Compared to previous month
Last year
48.2%
2,631,700
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
Dev Dependencies
24
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 |
---|---|
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.
1// your entry point 2import { MenuProvider } from 'react-native-popup-menu'; 3 4export const App = () => ( 5 <MenuProvider> 6 <YourApp /> 7 </MenuProvider> 8); 9 10// somewhere in your app 11import { 12 Menu, 13 MenuOptions, 14 MenuOption, 15 MenuTrigger, 16} from 'react-native-popup-menu'; 17 18export const YourComponent = () => ( 19 <View> 20 <Text>Hello world!</Text> 21 <Menu> 22 <MenuTrigger text='Select action' /> 23 <MenuOptions> 24 <MenuOption onSelect={() => alert(`Save`)} text='Save' /> 25 <MenuOption onSelect={() => alert(`Delete`)} > 26 <Text style={{color: 'red'}}>Delete</Text> 27 </MenuOption> 28 <MenuOption onSelect={() => alert(`Not called`)} disabled={true} text='Disabled' /> 29 </MenuOptions> 30 </Menu> 31 </View> 32); 33
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 |
No vulnerabilities found.
Reason
no dangerous workflow patterns detected
Reason
no binaries found in the repo
Reason
license file detected
Details
- Info: project has a license file: LICENSE:0
- Info: FSF or OSI recognized license: ISC License: LICENSE:0
Reason
Found 6/23 approved changesets -- score normalized to 2
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
detected GitHub workflow tokens with excessive permissions
Details
- Warn: no topLevel permission defined: .github/workflows/main.yml:1
- Info: no jobLevel write permissions found
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/instea/react-native-popup-menu/main.yml/master?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/instea/react-native-popup-menu/main.yml/master?enable=pin
- Info: 0 out of 2 GitHub-owned GitHubAction dependencies pinned
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
- Warn: no security policy file detected
- Warn: no security file to analyze
- Warn: no security file to analyze
- Warn: no security file to analyze
Reason
project is not fuzzed
Details
- Warn: no fuzzer integrations found
Reason
branch protection not enabled on development/release branches
Details
- Warn: branch protection not enabled for branch 'master'
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
- Warn: 0 commits out of 14 are checked with a SAST tool
Reason
62 existing vulnerabilities detected
Details
- Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92
- Warn: Project is vulnerable to: GHSA-c2jc-4fpr-4vhg
- Warn: Project is vulnerable to: GHSA-crh6-fp67-6883
- Warn: Project is vulnerable to: GHSA-qwcr-r2fm-qrc7
- Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg
- Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275
- Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq
- Warn: Project is vulnerable to: GHSA-78xj-cgh5-2h22
- Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp
- Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h
- Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv
- Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp
- Warn: Project is vulnerable to: GHSA-rxrc-rgv4-jpvx
- Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw
- Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg
- Warn: Project is vulnerable to: GHSA-cm22-4g7w-348p
- Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36
- Warn: Project is vulnerable to: GHSA-fhg7-m89q-25r3
- Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q
- Warn: Project is vulnerable to: GHSA-776f-qx25-q3cc
- Warn: Project is vulnerable to: GHSA-6chw-6frg-f759
- Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw
- Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw
- Warn: Project is vulnerable to: GHSA-fwr7-v2mv-hh25
- Warn: Project is vulnerable to: GHSA-cwfw-4gq5-mrqx
- Warn: Project is vulnerable to: GHSA-g95f-p29q-9xw4
- Warn: Project is vulnerable to: GHSA-w8qv-6jwh-64r5
- Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c
- Warn: Project is vulnerable to: GHSA-8r6j-v8pm-fqw3
- Warn: Project is vulnerable to: MAL-2023-462
- Warn: Project is vulnerable to: GHSA-765h-qjxv-5f44
- Warn: Project is vulnerable to: GHSA-f2jv-r9rf-7988
- Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj
- Warn: Project is vulnerable to: GHSA-qqgx-2p2h-9c37
- Warn: Project is vulnerable to: GHSA-896r-f27r-55mw
- Warn: Project is vulnerable to: GHSA-6c8f-qphg-qjgp
- Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw
- Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9
- Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm
- Warn: Project is vulnerable to: GHSA-4xcv-9jjx-gfj3
- Warn: Project is vulnerable to: GHSA-7wpw-2hjm-89gp
- Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3
- Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m / GHSA-xvch-5gv4-984h
- Warn: Project is vulnerable to: GHSA-5fw9-fq32-wv5p
- Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9
- Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j
- Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6
- Warn: Project is vulnerable to: GHSA-gcx4-mw62-g8wm
- Warn: Project is vulnerable to: GHSA-4g88-fppr-53pp
- Warn: Project is vulnerable to: GHSA-4jqc-8m5r-9rpr
- Warn: Project is vulnerable to: GHSA-3jfq-g458-7qm9
- Warn: Project is vulnerable to: GHSA-r628-mhmh-qjhw
- Warn: Project is vulnerable to: GHSA-9r2w-394v-53qc
- Warn: Project is vulnerable to: GHSA-5955-9wpr-37jh
- Warn: Project is vulnerable to: GHSA-qq89-hq3f-393p
- Warn: Project is vulnerable to: GHSA-jgrx-mgxx-jf9v
- Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3
- Warn: Project is vulnerable to: GHSA-6fc8-4gx4-v693
- Warn: Project is vulnerable to: GHSA-h6q6-9hqw-rwfv
- Warn: Project is vulnerable to: GHSA-5fg8-2547-mr8q
- Warn: Project is vulnerable to: GHSA-c4w7-xm78-47vh
- Warn: Project is vulnerable to: GHSA-p9pc-299p-vxgp
Score
2.7
/10
Last Scanned on 2024-11-25
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn MoreOther packages similar to react-native-popup-menu
material-ui-popup-state
easiest way to create menus, popovers, and poppers with material-ui
@breeffy/react-native-popup-menu
Popup Menu for React Native
expo-dev-menu-interface
Interface for expo-dev-menu
@react-native-community/cli-platform-ios
This package is part of the [React Native CLI](../../README.md). It contains commands for managing iOS part of React Native app.