diff --git a/src/element/resizeElements.ts b/src/element/resizeElements.ts index c89fea50d..57d51a934 100644 --- a/src/element/resizeElements.ts +++ b/src/element/resizeElements.ts @@ -587,13 +587,20 @@ export const resizeSingleElement = ( }; if ("scale" in element && "scale" in stateAtResizeStart) { - if (isEmbeddableElement(element) && shouldMaintainAspectRatio) { - const scale: [number, number] = [ - eleNewWidth / (stateAtResizeStart.width / stateAtResizeStart.scale[0]), - eleNewHeight / - (stateAtResizeStart.height / stateAtResizeStart.scale[1]), - ]; - mutateElement(element, { scale }); + if (isEmbeddableElement(element)) { + if (shouldMaintainAspectRatio) { + const scale: [number, number] = [ + Math.abs( + eleNewWidth / + (stateAtResizeStart.width / stateAtResizeStart.scale[0]), + ), + Math.abs( + eleNewHeight / + (stateAtResizeStart.height / stateAtResizeStart.scale[1]), + ), + ]; + mutateElement(element, { scale }); + } } else { mutateElement(element, { scale: [