UNPKG

@redocly/theme

Version:

Shared UI components lib

30 lines 1.82 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Menu = Menu; const styled_components_1 = __importDefault(require("styled-components")); const react_1 = __importDefault(require("react")); const MenuItem_1 = require("../../components/Menu/MenuItem"); const constants_1 = require("../../core/constants"); const utils_1 = require("../../core/utils"); function Menu({ depth = 0, items, className, isMobile, onDrilldownOpen, }) { const activeItem = items.find(({ active }) => active); return (react_1.default.createElement(MenuWrapper, { className: className, "data-component-name": "Menu/Menu" }, items.map((item, index) => { var _a; return (react_1.default.createElement(MenuItem_1.MenuItem, { item: item, key: `${item.link || item.label}-${index}`, activeItem: activeItem, isMobile: isMobile, depth: depth, onClick: () => { if ((0, utils_1.getMenuItemType)(item) === constants_1.MenuItemType.DrillDown) { onDrilldownOpen === null || onDrilldownOpen === void 0 ? void 0 : onDrilldownOpen({ previousLink: activeItem === null || activeItem === void 0 ? void 0 : activeItem.link, item }); } } }, ((_a = item.items) === null || _a === void 0 ? void 0 : _a.length) ? (react_1.default.createElement(Menu, { items: item.items, depth: depth + 1, isMobile: isMobile, onDrilldownOpen: onDrilldownOpen })) : null)); }))); } const MenuWrapper = styled_components_1.default.ul ` padding: var(--menu-padding); margin: var(--menu-margin); list-style: var(--menu-list-style); color: var(--menu-content-color); position: relative; `; //# sourceMappingURL=Menu.js.map