@gechiui/components
Version:
UI components for GeChiUI.
57 lines (48 loc) • 1.26 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = MenuItemsChoice;
var _element = require("@gechiui/element");
var _lodash = require("lodash");
var _icons = require("@gechiui/icons");
var _menuItem = _interopRequireDefault(require("../menu-item"));
/**
* External dependencies
*/
/**
* GeChiUI dependencies
*/
/**
* Internal dependencies
*/
function MenuItemsChoice(_ref) {
let {
choices = [],
onHover = _lodash.noop,
onSelect,
value
} = _ref;
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