UNPKG

nice-ui

Version:

React design system, components, and utilities

34 lines (33 loc) 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Menu = void 0; const React = require("react"); const nano_theme_1 = require("nano-theme"); const use_t_1 = require("use-t"); const MenuItem_1 = require("./MenuItem"); const nestedClass = (0, nano_theme_1.drule)({ pd: '0 0 0 10px', mr: '6px 0 0 12px', }); const Menu = ({ items, as, style, level = 1 }) => { const Component = as || 'nav'; const [t] = (0, use_t_1.useT)(); const theme = (0, nano_theme_1.useTheme)(); return (React.createElement(Component, { style: style, className: level > 1 ? nestedClass({ bdl: '1px solid ' + theme.g(0.9), }) : '' }, items.map(({ key, menuItem, icon, children, ...rest }) => { const name = typeof menuItem === 'function' ? menuItem(t) : menuItem; let item = (React.createElement(MenuItem_1.MenuItem, { key: key, hasMore: !!children && !!children.length, ...rest }, icon, !!icon ? React.createElement("div", { style: { marginLeft: 8 } }, name) : name)); if ((level < 1 || rest.activeChild) && children && children.length) { item = (React.createElement(React.Fragment, { key: key + '_child' }, item, React.createElement(exports.Menu, { items: children, level: level + 1 }))); } return item; }))); }; exports.Menu = Menu;