diff --git a/packages/frontend/component/src/components/rename-modal/index.tsx b/packages/frontend/component/src/components/rename-modal/index.tsx index 37cfceb42b..acf06429a3 100644 --- a/packages/frontend/component/src/components/rename-modal/index.tsx +++ b/packages/frontend/component/src/components/rename-modal/index.tsx @@ -41,6 +41,7 @@ export const RenameModal = ({ return ( - {children} + { + e.stopPropagation(); + e.preventDefault(); + }} + > + {children} + ( overlayOptions: { className: overlayClassName, style: overlayStyle, + onClick: onOverlayClick, ...otherOverlayOptions } = {}, closeButtonOptions, @@ -189,6 +190,19 @@ export const ModalInner = forwardRef( [onEscapeKeyDown, persistent] ); + const handleOverlayClick = useCallback( + (e: MouseEvent) => { + onOverlayClick?.(e); + if (persistent) { + e.preventDefault(); + } else { + e.stopPropagation(); + onOpenChange?.(false); + } + }, + [onOpenChange, onOverlayClick, persistent] + ); + if (!container) { return; } @@ -211,6 +225,7 @@ export const ModalInner = forwardRef( style={{ ...overlayStyle, }} + onClick={handleOverlayClick} {...otherOverlayOptions} />