UNPKG

material-ui-popup-state

Version:

easiest way to create menus, popovers, and poppers with material-ui

52 lines 1.78 kB
import _extends from "@babel/runtime/helpers/extends"; import * as React from 'react'; import { Menu as _Menu } from '@mui/material'; import { interopRequireDefault } from "./util/interopRequireDefault.mjs"; // work around https://github.com/vercel/next.js/issues/57285 const Menu = interopRequireDefault(_Menu); const HoverMenu = /*#__PURE__*/React.forwardRef(function HoverMenu(props, ref) { var _props$slotProps2, _props$PaperProps; const paperSlotProps = React.useMemo(() => { var _props$slotProps; const wrapped = (_props$slotProps = props.slotProps) === null || _props$slotProps === void 0 ? void 0 : _props$slotProps.paper; if (wrapped instanceof Function) { return ownerProps => { const base = wrapped(ownerProps); return { ...base, style: { pointerEvents: 'auto', ...(base === null || base === void 0 ? void 0 : base.style) } }; }; } return { ...wrapped, style: { pointerEvents: 'auto', ...(wrapped === null || wrapped === void 0 ? void 0 : wrapped.style) } }; }, [(_props$slotProps2 = props.slotProps) === null || _props$slotProps2 === void 0 ? void 0 : _props$slotProps2.paper]); return /*#__PURE__*/React.createElement(Menu, _extends({}, props, { ref: ref, style: { pointerEvents: 'none', ...props.style }, PaperProps: { ...props.PaperProps, style: { pointerEvents: 'auto', ...((_props$PaperProps = props.PaperProps) === null || _props$PaperProps === void 0 ? void 0 : _props$PaperProps.style) } }, slotProps: { ...props.slotProps, paper: paperSlotProps } })); }); export default HoverMenu; //# sourceMappingURL=HoverMenu.mjs.map