{"id":3993,"url":"https://github.com/instea/react-native-popup-menu","last_synced_at":"2025-05-13T17:07:34.667Z","repository":{"id":37664211,"uuid":"58938116","full_name":"instea/react-native-popup-menu","owner":"instea","description":"Popup menu component for React Native","archived":false,"fork":false,"pushed_at":"2025-03-17T21:31:05.000Z","size":3464,"stargazers_count":1502,"open_issues_count":43,"forks_count":251,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-05-04T02:41:00.101Z","etag":null,"topics":["android","animation","ios","popup-menu","react-native"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/instea.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-16T14:16:31.000Z","updated_at":"2025-04-28T12:18:41.000Z","dependencies_parsed_at":"2024-04-25T00:41:40.803Z","dependency_job_id":"0919024e-d75c-4e72-be1a-de62d2be3c7a","html_url":"https://github.com/instea/react-native-popup-menu","commit_stats":{"total_commits":350,"total_committers":29,"mean_commits":"12.068965517241379","dds":0.5342857142857143,"last_synced_commit":"58b78642808ab28012f429d59a2c302dc41b5924"},"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/instea%2Freact-native-popup-menu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/instea%2Freact-native-popup-menu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/instea%2Freact-native-popup-menu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/instea%2Freact-native-popup-menu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/instea","download_url":"https://codeload.github.com/instea/react-native-popup-menu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253990466,"owners_count":21995774,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","animation","ios","popup-menu","react-native"],"created_at":"2024-01-05T20:16:57.889Z","updated_at":"2025-05-13T17:07:34.643Z","avatar_url":"https://github.com/instea.png","language":"JavaScript","funding_links":[],"categories":["Components","JavaScript","Others"],"sub_categories":["UI"],"readme":"# react-native-popup-menu\n[![](https://img.shields.io/npm/dm/react-native-popup-menu.svg?style=flat-square)](https://www.npmjs.com/package/react-native-popup-menu)\n\nExtensible popup menu component for React Native for Android, iOS and (unofficially) UWP and react-native-web.\n\nFeatures:\n* Simple to use popup/context menu\n* Multiple modes: animated, not animated, slide in from bottom or popover\n* By default opening and closing animations\n* Optional back button handling\n* Easy styling\n* Customizable on various levels - menu options, positioning, animations\n* Can work as controlled as well as uncontrolled component\n* Different lifecycle hooks\n* RTL layout support\n\nCommunity driven features:\n* Support for UWP, react-native-web and react-native-desktop\n* Typescript definitions\n\nWe thank our community for maintaining features that goes over our scope.\n\n| Context Menu, Slide-in Menu | Popover |\n|---|---|\n|![Popup menu demo](./android.demo.gif)|![Popup menu demo](./android.demo-popover.gif)|\n\n## Installation\n\n```\nnpm install react-native-popup-menu --save\n```\nIf you are using **older RN versions** check our compatibility table.\n\n## Basic Usage\nWrap your application inside `MenuProvider` and then simply use `Menu` component where you need it. Below you can find a simple example.\n\nFor more detailed documentation check [API](./doc/api.md).\n\n```js\n// your entry point\nimport { MenuProvider } from 'react-native-popup-menu';\n\nexport const App = () =\u003e (\n  \u003cMenuProvider\u003e\n    \u003cYourApp /\u003e\n  \u003c/MenuProvider\u003e\n);\n\n// somewhere in your app\nimport {\n  Menu,\n  MenuOptions,\n  MenuOption,\n  MenuTrigger,\n} from 'react-native-popup-menu';\n\nexport const YourComponent = () =\u003e (\n  \u003cView\u003e\n    \u003cText\u003eHello world!\u003c/Text\u003e\n    \u003cMenu\u003e\n      \u003cMenuTrigger text='Select action' /\u003e\n      \u003cMenuOptions\u003e\n        \u003cMenuOption onSelect={() =\u003e alert(`Save`)} text='Save' /\u003e\n        \u003cMenuOption onSelect={() =\u003e alert(`Delete`)} \u003e\n          \u003cText style={{color: 'red'}}\u003eDelete\u003c/Text\u003e\n        \u003c/MenuOption\u003e\n        \u003cMenuOption onSelect={() =\u003e alert(`Not called`)} disabled={true} text='Disabled' /\u003e\n      \u003c/MenuOptions\u003e\n    \u003c/Menu\u003e\n  \u003c/View\u003e\n);\n\n```\n\n## Documentation\n\n- [Examples](doc/examples.md)\n- [API](doc/api.md)\n- [Extension points](doc/extensions.md)\n\n## Contributing\nContributions 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.\n\n## React Native Compatibility\nWe keep compatibility on best effort basis.\n\n| popup-menu version | min RN (React) version |\n| ------------------ | -------------- |\n| 0.13               | 0.55 (16.3.1)  |\n| 0.9                | 0.40           |\n| 0.8                | 0.38           |\n| 0.7                | 0.18           |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finstea%2Freact-native-popup-menu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finstea%2Freact-native-popup-menu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finstea%2Freact-native-popup-menu/lists"}