@@ -25,6 +25,7 @@ import { fetchWithCredentials } from "../../utils/fetchWithCredentials";
2525import { buildContext } from "./markdownContextBuilder" ;
2626import { Notification } from "../../components/Notification" ;
2727import { currentPageIdWithDocId } from "../../structure/DocumentationNavigation" ;
28+ import { TocItem } from "../../structure/TocItem" ;
2829import "./TextSelectionMenu.css" ;
2930
3031export interface TextMenuListener {
@@ -42,7 +43,7 @@ export function removeTextMenuListener(listener: TextMenuListener) {
4243 textMenuListeners . splice ( textMenuListeners . indexOf ( listener ) , 1 ) ;
4344}
4445
45- export function TextSelectionMenu ( { containerNode } : { containerNode : HTMLDivElement } ) {
46+ export function TextSelectionMenu ( { containerNode, tocItem } : { containerNode : HTMLDivElement ; tocItem : TocItem } ) {
4647 const menuRef = useRef < HTMLDivElement > ( null ) ;
4748 const expandedPanelRef = useRef < HTMLDivElement > ( null ) ;
4849 const slackQuestionInputRef = useRef < HTMLTextAreaElement > ( null ) ;
@@ -67,6 +68,10 @@ export function TextSelectionMenu({ containerNode }: { containerNode: HTMLDivEle
6768 } ;
6869 } , [ panelData ] ) ;
6970
71+ useEffect ( ( ) => {
72+ hideMenu ( ) ;
73+ } , [ tocItem ] ) ;
74+
7075 function menuItems ( ) {
7176 if ( panelData ) {
7277 return null ;
@@ -290,6 +295,8 @@ export function TextSelectionMenu({ containerNode }: { containerNode: HTMLDivEle
290295 function hideMenu ( ) {
291296 if ( menuRef . current ) {
292297 menuRef . current . style . visibility = "hidden" ;
298+ menuRef . current . style . top = "0" ;
299+ menuRef . current . style . left = "0" ;
293300 }
294301 setPanelData ( null ) ;
295302 if ( slackQuestionInputRef . current ) {
0 commit comments