File tree Expand file tree Collapse file tree 2 files changed +9
-13
lines changed
web-components/src/components Expand file tree Collapse file tree 2 files changed +9
-13
lines changed Original file line number Diff line number Diff line change 11import React , { useRef } from 'react' ;
2- import {
3- MenuList ,
4- Paper ,
5- Popover ,
6- useMediaQuery ,
7- useTheme ,
8- } from '@mui/material' ;
2+ import { MenuList , Paper , Popover , useMediaQuery } from '@mui/material' ;
93import cx from 'clsx' ;
104
115import DropdownIcon from '../../../icons/DropdownIcon' ;
@@ -38,8 +32,8 @@ const HeaderMenuItemHover = ({
3832 children,
3933} : Props ) : JSX . Element => {
4034 const { classes : styles } = useMenuHoverStyles ( ) ;
41- const theme = useTheme ( ) ;
42- const isMobile = useMediaQuery ( theme . breakpoints . down ( 'sm' ) ) ;
35+ // eslint-disable-next-line lingui/no-unlocalized-strings
36+ const isTouchScreen = useMediaQuery ( '(pointer: coarse)' ) ;
4337 const popoverAnchor = useRef ( null ) ;
4438 const [ anchorEl , setAnchorEl ] = React . useState < HTMLElement | null > ( null ) ;
4539
@@ -63,9 +57,9 @@ const HeaderMenuItemHover = ({
6357 ref = { popoverAnchor }
6458 aria-owns = { open ? 'mouse-over-popover' : undefined }
6559 aria-haspopup = "true"
66- onMouseEnter = { isMobile ? undefined : handlePopoverOpen }
60+ onMouseEnter = { isTouchScreen ? undefined : handlePopoverOpen }
6761 onMouseLeave = { handlePopoverClose }
68- onClick = { isMobile ? handlePopoverToggle : undefined }
62+ onClick = { isTouchScreen ? handlePopoverToggle : undefined }
6963 >
7064 { title && (
7165 < span className = { classes ?. title } >
Original file line number Diff line number Diff line change 11import React , { useEffect , useState } from 'react' ;
2- import { useTheme } from '@mui/material' ;
2+ import { useMediaQuery , useTheme } from '@mui/material' ;
33import Box from '@mui/material/Box' ;
44import Drawer from '@mui/material/Drawer' ;
55import MenuItem from '@mui/material/MenuItem' ;
@@ -34,6 +34,8 @@ const MobileMenu: React.FC<React.PropsWithChildren<Props>> = ({
3434} ) => {
3535 const { classes : styles , cx } = useMobileMenuStyles ( ) ;
3636 const theme = useTheme ( ) ;
37+ // eslint-disable-next-line lingui/no-unlocalized-strings
38+ const isTouchScreen = useMediaQuery ( '(pointer: coarse)' ) ;
3739 const [ open , setOpen ] = useState ( false ) ;
3840
3941 const handleToggle = ( ) => {
@@ -53,7 +55,7 @@ const MobileMenu: React.FC<React.PropsWithChildren<Props>> = ({
5355 < HamburgerIcon
5456 className = { cx ( styles . hamburger , styles . icon ) }
5557 onClick = { handleToggle }
56- onMouseLeave = { handleClose }
58+ onMouseLeave = { isTouchScreen ? handleClose : undefined }
5759 width = "29px"
5860 height = "22px"
5961 sx = { { ml : { xs : isUserLoggedIn ? 0 : 2 , sm : 4 } } }
You can’t perform that action at this time.
0 commit comments