refactor(resize-control): handle min max width + aspect ratio

This commit is contained in:
moklick
2023-03-07 17:54:39 +01:00
parent 2a352a67de
commit dcc2ce4baa
2 changed files with 31 additions and 2 deletions
@@ -118,6 +118,22 @@ function ResizeControl({
width = (nextAspectRatio <= aspectRatio && isDiagonal) || isVertical ? height * aspectRatio : width;
height = (nextAspectRatio > aspectRatio && isDiagonal) || isHorizontal ? width / aspectRatio : height;
if (width >= maxWidth) {
width = maxWidth;
height = maxWidth / aspectRatio;
} else if (width <= minWidth) {
width = minWidth;
height = minWidth / aspectRatio;
}
if (height >= maxHeight) {
height = maxHeight;
width = maxHeight * aspectRatio;
} else if (height <= minHeight) {
height = minHeight;
width = minHeight * aspectRatio;
}
}
const isWidthChange = width !== prevWidth;