UNPKG

advanced-cropper

Version:

The core of the advanced cropper libraries family

30 lines (25 loc) 1.65 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var tslib = require('tslib'); var utils = require('../service/utils.js'); var helpers = require('../service/helpers.js'); var copyState = require('./copyState.js'); require('../types/index.js'); require('./setCoordinates.js'); var resizeCoordinatesAlgorithm = require('../algorithms/resizeCoordinatesAlgorithm.js'); function resizeCoordinates(state, settings, anchor, directions, options) { var minimumSize = helpers.getMinimumSize(state); var sizeRestrictions = helpers.getSizeRestrictions(state, settings); return helpers.isInitializedState(state) ? tslib.__assign(tslib.__assign({}, copyState.copyState(state)), { coordinates: resizeCoordinatesAlgorithm.anchoredResizeCoordinatesAlgorithm(state.coordinates, anchor, directions, options, { positionRestrictions: utils.mergePositionRestrictions(helpers.getPositionRestrictions(state, settings), utils.coordinatesToPositionRestrictions(state.visibleArea)), sizeRestrictions: { maxWidth: Math.min(sizeRestrictions.maxWidth, state.visibleArea.width), maxHeight: Math.min(sizeRestrictions.maxHeight, state.visibleArea.height), minWidth: Math.max(Math.min(sizeRestrictions.minWidth, state.visibleArea.width), minimumSize), minHeight: Math.max(Math.min(sizeRestrictions.minHeight, state.visibleArea.height), minimumSize), }, aspectRatio: helpers.getAspectRatio(state, settings), }) }) : state; } exports.resizeCoordinates = resizeCoordinates;