@@ -225,6 +225,34 @@ const renderImage = (
225
225
) ;
226
226
} ;
227
227
228
+ // Shows the resize handles when hovering over the image with the cursor.
229
+ const imageMouseEnterHandler = ( ) => {
230
+ if ( editor . isEditable ) {
231
+ leftResizeHandle . style . display = "block" ;
232
+ rightResizeHandle . style . display = "block" ;
233
+ } else {
234
+ leftResizeHandle . style . display = "none" ;
235
+ rightResizeHandle . style . display = "none" ;
236
+ }
237
+ } ;
238
+ // Hides the resize handles when the cursor leaves the image, unless the
239
+ // cursor moves to one of the resize handles.
240
+ const imageMouseLeaveHandler = ( event : MouseEvent ) => {
241
+ if (
242
+ event . relatedTarget === leftResizeHandle ||
243
+ event . relatedTarget === rightResizeHandle
244
+ ) {
245
+ return ;
246
+ }
247
+
248
+ if ( resizeParams ) {
249
+ return ;
250
+ }
251
+
252
+ leftResizeHandle . style . display = "none" ;
253
+ rightResizeHandle . style . display = "none" ;
254
+ } ;
255
+
228
256
// Sets the resize params, allowing the user to begin resizing the image by
229
257
// moving the cursor left or right.
230
258
const leftResizeHandleMouseDownHandler = ( event : MouseEvent ) => {
@@ -266,6 +294,8 @@ const renderImage = (
266
294
window . addEventListener ( "mouseup" , windowMouseUpHandler ) ;
267
295
addImageButton . addEventListener ( "mousedown" , addImageButtonMouseDownHandler ) ;
268
296
addImageButton . addEventListener ( "click" , addImageButtonClickHandler ) ;
297
+ image . addEventListener ( "mouseenter" , imageMouseEnterHandler ) ;
298
+ image . addEventListener ( "mouseleave" , imageMouseLeaveHandler ) ;
269
299
leftResizeHandle . addEventListener (
270
300
"mousedown" ,
271
301
leftResizeHandleMouseDownHandler
0 commit comments