material-ui-popup-state
Version:
easiest way to create menus, popovers, and poppers with material-ui
2 lines (1 loc) • 3.23 kB
Source Map (JSON)
{"version":3,"file":"HoverMenu.mjs","names":["React","Menu","_Menu","interopRequireDefault","HoverMenu","forwardRef","props","ref","_props$slotProps2","_props$PaperProps","paperSlotProps","useMemo","_props$slotProps","wrapped","slotProps","paper","Function","ownerProps","base","style","pointerEvents","createElement","_extends","PaperProps"],"sources":["src/HoverMenu.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-deprecated */\nimport * as React from 'react'\nimport { Menu as _Menu, type MenuProps } from '@mui/material'\nimport { interopRequireDefault } from './util/interopRequireDefault'\n// work around https://github.com/vercel/next.js/issues/57285\nconst Menu = interopRequireDefault(_Menu)\n\nconst HoverMenu: React.ComponentType<MenuProps> = React.forwardRef(\n function HoverMenu(props: MenuProps, ref): any {\n const paperSlotProps = React.useMemo(() => {\n const wrapped = props.slotProps?.paper\n if (wrapped instanceof Function) {\n return (ownerProps: Parameters<typeof wrapped>[0]) => {\n const base = wrapped(ownerProps)\n return {\n ...base,\n style: {\n pointerEvents: 'auto',\n ...base.style,\n },\n } as const\n }\n }\n return {\n ...wrapped,\n style: { pointerEvents: 'auto', ...wrapped?.style },\n } as const\n }, [props.slotProps?.paper])\n\n return (\n <Menu\n {...props}\n ref={ref}\n style={{ pointerEvents: 'none', ...props.style }}\n PaperProps={{\n ...props.PaperProps,\n style: {\n pointerEvents: 'auto',\n ...props.PaperProps?.style,\n },\n }}\n slotProps={{\n ...props.slotProps,\n paper: paperSlotProps,\n }}\n />\n )\n }\n)\n\nexport default HoverMenu\n"],"mappings":";AAAA;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,IAAIC,KAAK,QAAwB,eAAe;AAC7D,SAASC,qBAAqB;AAC9B;AACA,MAAMF,IAAI,GAAGE,qBAAqB,CAACD,KAAK,CAAC;AAEzC,MAAME,SAAyC,gBAAGJ,KAAK,CAACK,UAAU,CAChE,SAASD,SAASA,CAACE,KAAgB,EAAEC,GAAG,EAAO;EAAA,IAAAC,iBAAA,EAAAC,iBAAA;EAC7C,MAAMC,cAAc,GAAGV,KAAK,CAACW,OAAO,CAAC,MAAM;IAAA,IAAAC,gBAAA;IACzC,MAAMC,OAAO,IAAAD,gBAAA,GAAGN,KAAK,CAACQ,SAAS,cAAAF,gBAAA,uBAAfA,gBAAA,CAAiBG,KAAK;IACtC,IAAIF,OAAO,YAAYG,QAAQ,EAAE;MAC/B,OAAQC,UAAyC,IAAK;QACpD,MAAMC,IAAI,GAAGL,OAAO,CAACI,UAAU,CAAC;QAChC,OAAO;UACL,GAAGC,IAAI;UACPC,KAAK,EAAE;YACLC,aAAa,EAAE,MAAM;YACrB,GAAGF,IAAI,CAACC;UACV;QACF,CAAC;MACH,CAAC;IACH;IACA,OAAO;MACL,GAAGN,OAAO;MACVM,KAAK,EAAE;QAAEC,aAAa,EAAE,MAAM;QAAE,IAAGP,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEM,KAAK;MAAC;IACpD,CAAC;EACH,CAAC,EAAE,EAAAX,iBAAA,GAACF,KAAK,CAACQ,SAAS,cAAAN,iBAAA,uBAAfA,iBAAA,CAAiBO,KAAK,CAAC,CAAC;EAE5B,oBACEf,KAAA,CAAAqB,aAAA,CAACpB,IAAI,EAAAqB,QAAA,KACChB,KAAK;IACTC,GAAG,EAAEA,GAAI;IACTY,KAAK,EAAE;MAAEC,aAAa,EAAE,MAAM;MAAE,GAAGd,KAAK,CAACa;IAAM,CAAE;IACjDI,UAAU,EAAE;MACV,GAAGjB,KAAK,CAACiB,UAAU;MACnBJ,KAAK,EAAE;QACLC,aAAa,EAAE,MAAM;QACrB,KAAAX,iBAAA,GAAGH,KAAK,CAACiB,UAAU,cAAAd,iBAAA,uBAAhBA,iBAAA,CAAkBU,KAAK;MAC5B;IACF,CAAE;IACFL,SAAS,EAAE;MACT,GAAGR,KAAK,CAACQ,SAAS;MAClBC,KAAK,EAAEL;IACT;EAAE,EACH,CAAC;AAEN,CACF,CAAC;AAED,eAAeN,SAAS","ignoreList":[]}