File tree Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change 1
1
import * as Mantine from "@mantine/core" ;
2
+ import { mergeRefs } from "@mantine/hooks" ;
2
3
3
4
import { assertEmpty } from "@blocknote/core" ;
4
5
import { ComponentProps } from "@blocknote/react" ;
@@ -81,6 +82,8 @@ const SubMenu = forwardRef<
81
82
82
83
const [ opened , setOpened ] = useState ( false ) ;
83
84
85
+ const itemRef = useRef < HTMLButtonElement | null > ( null ) ;
86
+
84
87
const menuCloseTimer = useRef < ReturnType < typeof setTimeout > | undefined > ( ) ;
85
88
86
89
const mouseLeave = useCallback ( ( ) => {
@@ -107,11 +110,15 @@ const SubMenu = forwardRef<
107
110
} } >
108
111
< Mantine . Menu . Item
109
112
className = "bn-menu-item bn-mt-sub-menu-item"
110
- ref = { ref }
113
+ ref = { mergeRefs ( ref , itemRef ) }
111
114
onMouseOver = { mouseOver }
112
115
onMouseLeave = { mouseLeave } >
113
116
< Mantine . Menu
114
- withinPortal = { false }
117
+ portalProps = { {
118
+ target : itemRef . current
119
+ ? itemRef . current . parentElement !
120
+ : undefined ,
121
+ } }
115
122
middlewares = { { flip : true , shift : true , inline : false , size : true } }
116
123
trigger = { "hover" }
117
124
opened = { opened }
You can’t perform that action at this time.
0 commit comments