diff --git a/ts/components/ContextMenu.tsx b/ts/components/ContextMenu.tsx index bce9b1366..34ead0227 100644 --- a/ts/components/ContextMenu.tsx +++ b/ts/components/ContextMenu.tsx @@ -3,7 +3,6 @@ import type { KeyboardEvent, ReactNode } from 'react'; import type { Options, VirtualElement } from '@popperjs/core'; -import FocusTrap from 'focus-trap-react'; import React, { useEffect, useRef, useState } from 'react'; import classNames from 'classnames'; import { usePopper } from 'react-popper'; @@ -174,6 +173,13 @@ export function ContextMenu({ ev.stopPropagation(); ev.preventDefault(); } + + if (ev.key === 'Escape') { + setIsMenuShowing(false); + closeCurrentOpenContextMenu = undefined; + ev.stopPropagation(); + ev.preventDefault(); + } }; const handleClick = (ev: React.MouseEvent) => { @@ -282,37 +288,31 @@ export function ContextMenu({ } return ( - -
- {buttonNode} - {isMenuShowing && ( -
-
- {title &&
{title}
} - {optionElements} -
+ {buttonNode} + {isMenuShowing && ( +
+
+ {title &&
{title}
} + {optionElements}
- )} -
- +
+ )} +
); }