epn-ui
Version:
Дизайн система кабинета ВМ
28 lines (25 loc) • 2.68 kB
JavaScript
import { __assign } from '../../_virtual/_tslib.js';
import React from 'react';
import clsx from 'clsx';
import AntMenu from 'antd/lib/menu';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faChevronDown } from '@fortawesome/pro-regular-svg-icons/faChevronDown';
import { faEllipsisH } from '@fortawesome/pro-regular-svg-icons/faEllipsisH';
var Menu = function (_a) {
var className = _a.className, style = _a.style, items = _a.items, selectedKeys = _a.selectedKeys, _b = _a.mode, mode = _b === void 0 ? 'vertical' : _b, defaultOpenKeys = _a.defaultOpenKeys, defaultSelectedKeys = _a.defaultSelectedKeys, _c = _a.forceSubMenuRender, forceSubMenuRender = _c === void 0 ? false : _c, _d = _a.inlineCollapsed, inlineCollapsed = _d === void 0 ? false : _d, _e = _a.inlineIndent, inlineIndent = _e === void 0 ? 24 : _e, multiple = _a.multiple, openKeys = _a.openKeys, _f = _a.selectable, selectable = _f === void 0 ? true : _f, _g = _a.subMenuCloseDelay, subMenuCloseDelay = _g === void 0 ? 0.1 : _g, _h = _a.subMenuOpenDelay, subMenuOpenDelay = _h === void 0 ? 0 : _h, _j = _a.triggerSubMenuAction, triggerSubMenuAction = _j === void 0 ? 'hover' : _j, onClick = _a.onClick, onSelect = _a.onSelect, onDeselect = _a.onDeselect, onOpenChange = _a.onOpenChange;
var additionalParams = {};
if (mode === 'inline' && additionalParams.inlineCollapsed === undefined) {
additionalParams.inlineCollapsed = inlineCollapsed;
}
return (React.createElement(AntMenu, __assign({ className: clsx('epn-menu', className), style: style, theme: "light", mode: mode, defaultOpenKeys: defaultOpenKeys, defaultSelectedKeys: defaultSelectedKeys, forceSubMenuRender: forceSubMenuRender, inlineIndent: inlineIndent, multiple: multiple, openKeys: openKeys, selectable: selectable, subMenuCloseDelay: subMenuCloseDelay, subMenuOpenDelay: subMenuOpenDelay, triggerSubMenuAction: triggerSubMenuAction, expandIcon: function (_a) {
var isOpen = _a.isOpen;
if (mode === 'vertical') {
return (React.createElement(FontAwesomeIcon, { icon: faChevronDown, className: "epn-menu__icon fa-rotate-270" }));
}
return (React.createElement(FontAwesomeIcon, { icon: faChevronDown, className: clsx('epn-menu__icon', {
'fa-rotate-180': isOpen,
}) }));
}, overflowedIndicator: React.createElement(FontAwesomeIcon, { icon: faEllipsisH }), items: items, selectedKeys: selectedKeys }, additionalParams, { onClick: onClick, onSelect: onSelect, onDeselect: onDeselect, onOpenChange: onOpenChange })));
};
var Menu$1 = Menu;
export { Menu, Menu$1 as default };