UNPKG

@brizy/ui

Version:
26 lines (25 loc) 1.43 kB
import React, { useCallback } from "react"; import AntMenu from "antd/lib/menu"; import { BRZ_PREFIX } from "../constants"; export function SidebarMenu({ children, mode, theme, selectedKeys, openKeys, onClick, onSelect, onOpenChange, triggerSubMenuAction, }) { const _onSelect = useCallback(({ key }) => { onSelect(String(key)); }, [onSelect]); const _onClick = useCallback(({ key }) => { if (selectedKeys === null || selectedKeys === void 0 ? void 0 : selectedKeys.includes(String(key))) { onSelect(String(key)); } onClick === null || onClick === void 0 ? void 0 : onClick(String(key)); }, [selectedKeys, onClick, onSelect]); const _onOpenedChange = useCallback((keys) => { onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(keys); }, [onOpenChange]); const selectedProps = {}; if (Array.isArray(openKeys)) { selectedProps.openKeys = openKeys; } return (React.createElement(AntMenu, Object.assign({ className: `${BRZ_PREFIX}-menu__sidebar`, mode: mode, theme: theme, selectedKeys: selectedKeys, triggerSubMenuAction: triggerSubMenuAction, onClick: _onClick, onSelect: _onSelect, onOpenChange: _onOpenedChange }, selectedProps), children)); } export { SidebarMenuGroup } from "./SidebarMenuGroup"; export { SidebarMenuItem } from "./SidebarMenuItem"; export { SidebarMenuSubmenu } from "./SidebarMenuSubmenu";