UNPKG

jiro-ui

Version:

A Mithril.js UI library based from construct-ui

21 lines (20 loc) 1.29 kB
import { __assign, __rest } from "tslib"; import m from 'mithril'; import classnames from 'classnames'; import { Classes } from '../../_shared'; import { Button } from '../button'; import { PopoverMenu } from '../popover-menu'; import { Icons } from '../icon'; var MenuItem = /** @class */ (function () { function MenuItem() { } MenuItem.prototype.view = function (_a) { var attrs = _a.attrs; var className = attrs.class, submenu = attrs.submenu, closeOnSubmenuClick = attrs.closeOnSubmenuClick, popoverMenuAttrs = attrs.popoverMenuAttrs, buttonAttrs = __rest(attrs, ["class", "submenu", "closeOnSubmenuClick", "popoverMenuAttrs"]); var classes = classnames(Classes.MENU_ITEM, Classes.BASIC, className); var button = m(Button, __assign(__assign({ align: 'left', compact: true, iconRight: submenu ? Icons.CHEVRON_RIGHT : undefined }, buttonAttrs), { class: classes })); return submenu ? m(PopoverMenu, __assign(__assign({ hasArrow: false, interactionType: 'hover', openOnTriggerFocus: true, position: 'right-start' }, popoverMenuAttrs), { closeOnContentClick: closeOnSubmenuClick, addToStack: false, content: submenu, inline: true, restoreFocus: false, trigger: button })) : button; }; return MenuItem; }()); export { MenuItem };