@redocly/theme
Version:
Shared UI components lib
30 lines • 1.82 kB
JavaScript
;
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