{"id":17929766,"url":"https://github.com/samypesse/react-electron-menu","last_synced_at":"2025-03-24T04:31:06.964Z","repository":{"id":66202943,"uuid":"81753556","full_name":"SamyPesse/react-electron-menu","owner":"SamyPesse","description":"React API to controls electron's menu","archived":false,"fork":false,"pushed_at":"2020-07-29T01:24:11.000Z","size":43,"stargazers_count":21,"open_issues_count":4,"forks_count":9,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-16T11:16:06.515Z","etag":null,"topics":["electron","javascript","react"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SamyPesse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2017-02-12T20:08:54.000Z","updated_at":"2024-11-08T22:35:54.000Z","dependencies_parsed_at":"2023-03-15T09:30:46.499Z","dependency_job_id":null,"html_url":"https://github.com/SamyPesse/react-electron-menu","commit_stats":{"total_commits":18,"total_committers":2,"mean_commits":9.0,"dds":"0.11111111111111116","last_synced_commit":"69fd0882f8db6628adfd5c58553cad1a21a68a5e"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamyPesse%2Freact-electron-menu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamyPesse%2Freact-electron-menu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamyPesse%2Freact-electron-menu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamyPesse%2Freact-electron-menu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SamyPesse","download_url":"https://codeload.github.com/SamyPesse/react-electron-menu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245210968,"owners_count":20578321,"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":["electron","javascript","react"],"created_at":"2024-10-28T21:10:27.697Z","updated_at":"2025-03-24T04:31:06.716Z","avatar_url":"https://github.com/SamyPesse.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# react-electron-menu\n\n[![NPM version](https://badge.fury.io/js/react-electron-menu.svg)](http://badge.fury.io/js/react-electron-menu)\n[![Build Status](https://travis-ci.org/SamyPesse/react-electron-menu.png?branch=master)](https://travis-ci.org/SamyPesse/react-electron-menu)\n\nThis modules provides a react API to create and manage electron's menus.\n\n### Installation\n\n```\n$ npm install react-electron-menu --save\n```\n\n### Usage\n\nThis module provides 2 types of menu: `WindowMenu` and `PopupMenu`.\n\n##### `WindowMenu`\n\nThis menu type is displayed only for the currently focused window.\n\n```js\nconst React = require('react');\nconst { render } = require('react-dom');\nconst { WindowMenu, MenuItem } = require('react-electron-menu');\nconst electron = require('electron');\n\nrender(\n    \u003cProvider electron={electron}\u003e\n        \u003cWindowMenu\u003e\n            \u003cMenuItem label=\"File\"\u003e\n                \u003cMenuItem label=\"Open ...\" onClick={...} /\u003e\n            \u003c/MenuItem\u003e\n        \u003c/WindowMenu\u003e\n    \u003c/Provider\u003e,\n    document.body\n)\n```\n\n\n##### `PopupMenu`\n\nThis menu is shown on screen at `x` and `y`.\n\n```js\nconst React = require('react');\nconst { render } = require('react-dom');\nconst { PopupMenu, MenuItem } = require('react-electron-menu');\nconst electron = require('electron');\n\nrender(\n    \u003cProvider electron={electron}\u003e\n        \u003cPopupMenu x={200} y={100}\u003e\n            \u003cMenuItem label=\"Open ...\" onClick={...} /\u003e\n        \u003c/PopupMenu\u003e\n    \u003c/Provider\u003e,\n    document.body\n)\n```\n\n##### Default Menus\n\nThis module also provides helper to replicate default system's menus:\n\n```js\nconst { DefaultEditMenu, DefaultFileMenu, DefaultWindowMenu, MenuItem } = require('react-electron-menu');\n\n// Menu file (app menu on Mac): includes window controls\n\u003cDefaultFileMenu\u003e\n    \u003cMenuItem label=\"Check for updates...\" /\u003e\n\u003c/DefaultFileMenu\u003e\n\n// Menu edit: includes undo, redo, cut, copy, paste, select all\n\u003cDefaultEditMenu\u003e\n    \u003cMenuItem.Separator /\u003e\n    \u003cMenuItem label=\"Entry at the bottom\" /\u003e\n\u003c/DefaultEditMenu\u003e\n\n// Menu view: includes minimize, close, Bring All to Front\n\u003cDefaultWindowMenu\u003e\n    \u003cMenuItem.Separator /\u003e\n    \u003cMenuItem label=\"Toggle an app view\" /\u003e\n\u003c/DefaultWindowMenu\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamypesse%2Freact-electron-menu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamypesse%2Freact-electron-menu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamypesse%2Freact-electron-menu/lists"}