@wordpress/components
Version:
UI components for WordPress.
56 lines (47 loc) • 1.24 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = MenuItemsChoice;
var _element = require("@wordpress/element");
var _lodash = require("lodash");
var _icons = require("@wordpress/icons");
var _menuItem = _interopRequireDefault(require("../menu-item"));
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function MenuItemsChoice({
choices = [],
onHover = _lodash.noop,
onSelect,
value
}) {
return choices.map(item => {
const isSelected = value === item.value;
return (0, _element.createElement)(_menuItem.default, {
key: item.value,
role: "menuitemradio",
icon: isSelected && _icons.check,
info: item.info,
isSelected: isSelected,
shortcut: item.shortcut,
className: "components-menu-items-choice",
onClick: () => {
if (!isSelected) {
onSelect(item.value);
}
},
onMouseEnter: () => onHover(item.value),
onMouseLeave: () => onHover(null),
"aria-label": item['aria-label']
}, item.label);
});
}
//# sourceMappingURL=index.js.map