{"id":13543242,"url":"https://github.com/react-component/menu","last_synced_at":"2025-04-23T20:52:09.582Z","repository":{"id":25050966,"uuid":"28470877","full_name":"react-component/menu","owner":"react-component","description":"React Menu","archived":false,"fork":false,"pushed_at":"2025-04-22T03:43:41.000Z","size":13601,"stargazers_count":687,"open_issues_count":100,"forks_count":252,"subscribers_count":31,"default_branch":"master","last_synced_at":"2025-04-22T04:49:56.733Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://menu.react-component.now.sh/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/react-component.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","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},"funding":{"github":"ant-design","patreon":null,"open_collective":"ant-design","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2014-12-25T04:36:57.000Z","updated_at":"2025-04-22T03:42:32.000Z","dependencies_parsed_at":"2024-02-07T03:32:20.480Z","dependency_job_id":"64d71f13-feb2-4e45-b5e1-fd892a5f0154","html_url":"https://github.com/react-component/menu","commit_stats":{"total_commits":707,"total_committers":77,"mean_commits":9.181818181818182,"dds":0.8132956152758133,"last_synced_commit":"f94aec3a2158b1d5c31f75b8b4c8b384df31a1f1"},"previous_names":[],"tags_count":285,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/react-component%2Fmenu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/react-component%2Fmenu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/react-component%2Fmenu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/react-component%2Fmenu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/react-component","download_url":"https://codeload.github.com/react-component/menu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250514756,"owners_count":21443208,"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":[],"created_at":"2024-08-01T11:00:27.367Z","updated_at":"2025-04-23T20:52:09.563Z","avatar_url":"https://github.com/react-component.png","language":"TypeScript","readme":"# rc-menu\n\n---\n\nReact Menu Component. port from https://github.com/kissyteam/menu\n\n[![NPM version][npm-image]][npm-url] [![npm download][download-image]][download-url] [![build status][github-actions-image]][github-actions-url] [![Codecov][codecov-image]][codecov-url] [![bundle size][bundlephobia-image]][bundlephobia-url] [![dumi][dumi-image]][dumi-url]\n\n[npm-image]: http://img.shields.io/npm/v/rc-menu.svg?style=flat-square\n[npm-url]: http://npmjs.org/package/rc-menu\n[github-actions-image]: https://github.com/react-component/menu/workflows/CI/badge.svg\n[github-actions-url]: https://github.com/react-component/menu/actions\n[circleci-image]: https://img.shields.io/circleci/react-component/menu/master?style=flat-square\n[circleci-url]: https://circleci.com/gh/react-component/menu\n[codecov-image]: https://img.shields.io/codecov/c/github/react-component/footer/master.svg?style=flat-square\n[codecov-url]: https://codecov.io/gh/react-component/footer/branch/master\n[coveralls-image]: https://img.shields.io/coveralls/react-component/menu.svg?style=flat-square\n[coveralls-url]: https://coveralls.io/r/react-component/menu?branch=master\n[david-url]: https://david-dm.org/react-component/menu\n[david-image]: https://david-dm.org/react-component/menu/status.svg?style=flat-square\n[david-dev-url]: https://david-dm.org/react-component/menu?type=dev\n[david-dev-image]: https://david-dm.org/react-component/menu/dev-status.svg?style=flat-square\n[download-image]: https://img.shields.io/npm/dm/rc-menu.svg?style=flat-square\n[download-url]: https://npmjs.org/package/rc-menu\n[bundlephobia-url]: https://bundlephobia.com/result?p=rc-menu\n[bundlephobia-image]: https://badgen.net/bundlephobia/minzip/rc-menu\n[dumi-url]: https://github.com/umijs/dumi\n[dumi-image]: https://img.shields.io/badge/docs%20by-dumi-blue?style=flat-square\n\n## Install\n\n[![rc-menu](https://nodei.co/npm/rc-menu.png)](https://npmjs.org/package/rc-menu)\n\n## Usage\n\n```js\nimport Menu, { SubMenu, MenuItem } from 'rc-menu';\n\nReactDOM.render(\n  \u003cMenu\u003e\n    \u003cMenuItem\u003e1\u003c/MenuItem\u003e\n    \u003cSubMenu title=\"2\"\u003e\n      \u003cMenuItem\u003e2-1\u003c/MenuItem\u003e\n    \u003c/SubMenu\u003e\n  \u003c/Menu\u003e,\n  container,\n);\n```\n\n## Compatibility\n\n| [\u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\" alt=\"IE / Edge\" width=\"24px\" height=\"24px\" /\u003e](http://godban.github.io/browsers-support-badges/)\u003cbr\u003eIE / Edge | [\u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /\u003e](http://godban.github.io/browsers-support-badges/)\u003cbr\u003eFirefox | [\u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /\u003e](http://godban.github.io/browsers-support-badges/)\u003cbr\u003eChrome | [\u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /\u003e](http://godban.github.io/browsers-support-badges/)\u003cbr\u003eSafari | [\u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/electron/electron_48x48.png\" alt=\"Electron\" width=\"24px\" height=\"24px\" /\u003e](http://godban.github.io/browsers-support-badges/)\u003cbr\u003eElectron |\n| --- | --- | --- | --- | --- |\n| IE11, Edge | last 2 versions | last 2 versions | last 2 versions | last 2 versions |\n\n## API\n\n### Menu props\n\n\u003ctable class=\"table table-bordered table-striped\"\u003e\n    \u003cthead\u003e\n    \u003ctr\u003e\n        \u003cth style=\"width: 100px;\"\u003ename\u003c/th\u003e\n        \u003cth style=\"width: 50px;\"\u003etype\u003c/th\u003e\n        \u003cth style=\"width: 50px;\"\u003edefault\u003c/th\u003e\n        \u003cth\u003edescription\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003c/thead\u003e\n    \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd\u003eref\u003c/td\u003e\n          \u003ctd\u003eReact.HTMLLIElement\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003eget dom node\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003eclassName\u003c/td\u003e\n          \u003ctd\u003eString\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003eadditional css class of root dom node\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003emode\u003c/td\u003e\n          \u003ctd\u003eString\u003c/td\u003e\n          \u003cth\u003evertical\u003c/th\u003e\n          \u003ctd\u003eone of [\"horizontal\",\"inline\",\"vertical-left\",\"vertical-right\"]\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eactiveKey\u003c/td\u003e\n            \u003ctd\u003eString\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003einitial and current active menu item's key.\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003edefaultActiveFirst\u003c/td\u003e\n            \u003ctd\u003eBoolean\u003c/td\u003e\n            \u003cth\u003efalse\u003c/th\u003e\n            \u003ctd\u003ewhether active first menu item when show if activeKey is not set or invalid\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003emultiple\u003c/td\u003e\n            \u003ctd\u003eBoolean\u003c/td\u003e\n            \u003cth\u003efalse\u003c/th\u003e\n            \u003ctd\u003ewhether allow multiple select\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eselectable\u003c/td\u003e\n            \u003ctd\u003eBoolean\u003c/td\u003e\n            \u003cth\u003etrue\u003c/th\u003e\n            \u003ctd\u003eallow selecting menu items\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eselectedKeys\u003c/td\u003e\n            \u003ctd\u003eString[]\u003c/td\u003e\n            \u003cth\u003e[]\u003c/th\u003e\n            \u003ctd\u003eselected keys of items\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003edefaultSelectedKeys\u003c/td\u003e\n            \u003ctd\u003eString[]\u003c/td\u003e\n            \u003cth\u003e[]\u003c/th\u003e\n            \u003ctd\u003einitial selected keys of items\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eopenKeys\u003c/td\u003e\n            \u003ctd\u003eString[]\u003c/td\u003e\n            \u003cth\u003e[]\u003c/th\u003e\n            \u003ctd\u003eopen keys of SubMenuItem\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003edefaultOpenKeys\u003c/td\u003e\n            \u003ctd\u003eString[]\u003c/td\u003e\n            \u003cth\u003e[]\u003c/th\u003e\n            \u003ctd\u003einitial open keys of SubMenuItem\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eonSelect\u003c/td\u003e\n            \u003ctd\u003efunction({key:String, item:ReactComponent, domEvent:Event, selectedKeys:String[]})\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003ecalled when select a menu item\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eonClick\u003c/td\u003e\n            \u003ctd\u003efunction({key:String, item:ReactComponent, domEvent:Event, keyPath: String[]})\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003ecalled when click a menu item\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eonOpenChange\u003c/td\u003e\n            \u003ctd\u003e(openKeys:String[]) =\u003e void\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003ecalled when open/close sub menu\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eonDeselect\u003c/td\u003e\n            \u003ctd\u003efunction({key:String, item:ReactComponent, domEvent:Event, selectedKeys:String[]})\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003ecalled when deselect a menu item. only called when allow multiple\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003etriggerSubMenuAction\u003c/td\u003e\n            \u003ctd\u003eEnum { hover, click }\u003c/td\u003e\n            \u003cth\u003ehover\u003c/th\u003e\n            \u003ctd\u003ewhich action can trigger submenu open/close\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eopenAnimation\u003c/td\u003e\n            \u003ctd\u003e{enter:function,leave:function}|String\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003eanimate when sub menu open or close. see @rc-component/motion for object type.\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eopenTransition\u003c/td\u003e\n            \u003ctd\u003eString\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003ecss transitionName when sub menu open or close\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003esubMenuOpenDelay\u003c/td\u003e\n            \u003ctd\u003eNumber\u003c/td\u003e\n            \u003cth\u003e0\u003c/th\u003e\n            \u003ctd\u003edelay time to show popup sub menu. unit: s\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003esubMenuCloseDelay\u003c/td\u003e\n            \u003ctd\u003eNumber\u003c/td\u003e\n            \u003cth\u003e0.1\u003c/th\u003e\n            \u003ctd\u003edelay time to hide popup sub menu. unit: s\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eforceSubMenuRender\u003c/td\u003e\n            \u003ctd\u003eBoolean\u003c/td\u003e\n            \u003cth\u003efalse\u003c/th\u003e\n            \u003ctd\u003ewhether to render submenu even if it is not visible\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003egetPopupContainer\u003c/td\u003e\n            \u003ctd\u003eFunction(menuDOMNode): HTMLElement\u003c/td\u003e\n            \u003cth\u003e() =\u003e document.body\u003c/th\u003e\n            \u003ctd\u003eWhere to render the DOM node of popup menu when the mode is horizontal or vertical\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003ebuiltinPlacements\u003c/td\u003e\n            \u003ctd\u003eObject of alignConfigs for \u003ca href=\"https://github.com/yiminghe/dom-align\"\u003edom-align\u003c/a\u003e\u003c/td\u003e\n            \u003cth\u003esee \u003ca href=\"./src/placements.ts\"\u003eplacements.ts\u003c/a\u003e\u003c/th\u003e\n            \u003ctd\u003eDescribes how the popup menus should be positioned\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eitemIcon\u003c/td\u003e\n            \u003ctd\u003eReactNode | (props: MenuItemProps) =\u003e ReactNode\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003eSpecify the menu item icon.\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eexpandIcon\u003c/td\u003e\n            \u003ctd\u003eReactNode | (props: SubMenuProps \u0026 { isSubMenu: boolean }) =\u003e ReactNode\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003eSpecify the menu item icon.\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003edirection\u003c/td\u003e\n            \u003ctd\u003eString\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003eLayout direction of menu component, it supports RTL direction too.\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003einlineIndent\u003c/td\u003e\n            \u003ctd\u003eNumber\u003c/td\u003e\n            \u003cth\u003e24\u003c/th\u003e\n            \u003ctd\u003ePadding level multiplier. Right or left padding depends on param \"direction\".\u003c/td\u003e\n        \u003c/tr\u003e\n    \u003c/tbody\u003e\n\u003c/table\u003e\n\n### Menu.Item props\n\n\u003ctable class=\"table table-bordered table-striped\"\u003e\n    \u003cthead\u003e\n    \u003ctr\u003e\n        \u003cth style=\"width: 100px;\"\u003ename\u003c/th\u003e\n        \u003cth style=\"width: 50px;\"\u003etype\u003c/th\u003e\n        \u003cth style=\"width: 50px;\"\u003edefault\u003c/th\u003e\n        \u003cth\u003edescription\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003c/thead\u003e\n    \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd\u003eclassName\u003c/td\u003e\n          \u003ctd\u003eString\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003eadditional css class of root dom node\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003edisabled\u003c/td\u003e\n            \u003ctd\u003eBoolean\u003c/td\u003e\n            \u003cth\u003efalse\u003c/th\u003e\n            \u003ctd\u003eno effect for click or keydown for this item\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eextra\u003c/td\u003e\n            \u003ctd\u003eReact.ReactNode\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003eSpecify menu item extra node.\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003ekey\u003c/td\u003e\n            \u003ctd\u003eObject\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003ecorresponding to activeKey\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eonMouseEnter\u003c/td\u003e\n            \u003ctd\u003eFunction({eventKey, domEvent})\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003e\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eonMouseLeave\u003c/td\u003e\n            \u003ctd\u003eFunction({eventKey, domEvent})\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003e\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eitemIcon\u003c/td\u003e\n            \u003ctd\u003eReactNode | (props: MenuItemProps) =\u003e ReactNode\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003eSpecify the menu item icon.\u003c/td\u003e\n        \u003c/tr\u003e\n    \u003c/tbody\u003e\n\u003c/table\u003e\n\n### Menu.SubMenu props\n\n\u003ctable class=\"table table-bordered table-striped\"\u003e\n    \u003cthead\u003e\n    \u003ctr\u003e\n        \u003cth style=\"width: 100px;\"\u003ename\u003c/th\u003e\n        \u003cth style=\"width: 50px;\"\u003etype\u003c/th\u003e\n        \u003cth style=\"width: 50px;\"\u003edefault\u003c/th\u003e\n        \u003cth\u003edescription\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003c/thead\u003e\n    \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd\u003eref\u003c/td\u003e\n          \u003ctd\u003eReact.HTMLLIElement\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003eget dom node\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003epopupClassName\u003c/td\u003e\n          \u003ctd\u003eString\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003eadditional css class of root dom node\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003epopupStyle\u003c/td\u003e\n          \u003ctd\u003eCSSProperties\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003eadditional css style of root dom node\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003etitle\u003c/td\u003e\n          \u003ctd\u003eString/ReactElement\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003esub menu's content\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003eoverflowedIndicator\u003c/td\u003e\n          \u003ctd\u003eString/ReactElement\u003c/td\u003e\n          \u003ctd\u003e···\u003c/td\u003e\n          \u003ctd\u003eoverflow indicator when menu overlows in horizontal mode\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003ekey\u003c/td\u003e\n            \u003ctd\u003eObject\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003ecorresponding to activeKey\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003edisabled\u003c/td\u003e\n            \u003ctd\u003eBoolean\u003c/td\u003e\n            \u003cth\u003efalse\u003c/th\u003e\n            \u003ctd\u003eno effect for click or keydown for this item\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eonMouseEnter\u003c/td\u003e\n            \u003ctd\u003eFunction({eventKey, domEvent})\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003e\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eonMouseLeave\u003c/td\u003e\n            \u003ctd\u003eFunction({eventKey, domEvent})\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003e\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eonTitleMouseEnter\u003c/td\u003e\n            \u003ctd\u003eFunction({eventKey, domEvent})\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003e\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eonTitleMouseLeave\u003c/td\u003e\n            \u003ctd\u003eFunction({eventKey, domEvent})\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003e\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eonTitleClick\u003c/td\u003e\n            \u003ctd\u003eFunction({eventKey, domEvent})\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003e\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003epopupOffset\u003c/td\u003e\n            \u003ctd\u003eArray\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003eThe offset of the popup submenu, in an x, y coordinate array. e.g.: `[0,15]`\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eexpandIcon\u003c/td\u003e\n            \u003ctd\u003eReactNode | (props: SubMenuProps) =\u003e ReactNode\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003eSpecify the menu item icon.\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eitemIcon\u003c/td\u003e\n            \u003ctd\u003eReactNode | (props: SubMenuProps \u0026 { isSubMenu: boolean }) =\u003e ReactNode\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003eSpecify the menu item icon.\u003c/td\u003e\n        \u003c/tr\u003e\n    \u003c/tbody\u003e\n\u003c/table\u003e\n\n### Menu.Divider props\n\nnone\n\n### Menu.ItemGroup props\n\n\u003ctable class=\"table table-bordered table-striped\"\u003e\n    \u003cthead\u003e\n    \u003ctr\u003e\n        \u003cth style=\"width: 100px;\"\u003ename\u003c/th\u003e\n        \u003cth style=\"width: 50px;\"\u003etype\u003c/th\u003e\n        \u003cth style=\"width: 50px;\"\u003edefault\u003c/th\u003e\n        \u003cth\u003edescription\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003c/thead\u003e\n    \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd\u003eref\u003c/td\u003e\n          \u003ctd\u003eReact.HTMLLIElement\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003eget dom node\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003etitle\u003c/td\u003e\n            \u003ctd\u003eString|React.Element\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003etitle of item group\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003echildren\u003c/td\u003e\n            \u003ctd\u003eReact.Element[]\u003c/td\u003e\n            \u003cth\u003e\u003c/th\u003e\n            \u003ctd\u003eMenuItems belonged to this group\u003c/td\u003e\n        \u003c/tr\u003e\n    \u003c/tbody\u003e\n\u003c/table\u003e\n\n## Development\n\n```\nnpm install\nnpm start\n```\n\n## Example\n\nhttp://localhost:8001/examples/index.md\n\nonline example: http://react-component.github.io/menu/examples/\n\n## Test Case\n\n```\nnpm test\nnpm run chrome-test\n```\n\n## Coverage\n\n```\nnpm run coverage\n```\n\nopen coverage/ dir\n\n## License\n\nrc-menu is released under the MIT license.\n","funding_links":["https://github.com/sponsors/ant-design","https://opencollective.com/ant-design"],"categories":["UI Components","UI Frameworks","Demos","\u003csummary\u003eUI Components\u003c/summary\u003e"],"sub_categories":["Menu","Responsive"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freact-component%2Fmenu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freact-component%2Fmenu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freact-component%2Fmenu/lists"}