UNPKG

advanced-cropper

Version:

The core of the advanced cropper libraries family

130 lines (127 loc) 6.55 kB
import { __assign } from 'tslib'; import { isFunction } from '../utils/index.js'; import { mergePositionRestrictions, createAspectRatio } from '../service/utils.js'; import { mergeSizeRestrictions } from '../service/sizeRestrictions.js'; import '../types/index.js'; import '../state/setCoordinates.js'; import { defaultPositionRestrictions } from './defaultPositionRestrictions.js'; export { defaultPositionRestrictions } from './defaultPositionRestrictions.js'; import { defaultVisibleArea } from './defaultVisibleArea.js'; export { defaultVisibleArea } from './defaultVisibleArea.js'; import { defaultSize } from './defaultSize.js'; export { defaultSize } from './defaultSize.js'; import { pixelsRestrictions } from './defaultSizeRestrictions.js'; export { pixelsRestrictions, retrieveSizeRestrictions } from './defaultSizeRestrictions.js'; import { defaultPosition } from './defaultPosition.js'; export { defaultPosition } from './defaultPosition.js'; import { defaultAreaPositionRestrictions } from './defaultAreaPositionRestrictions.js'; export { defaultAreaPositionRestrictions } from './defaultAreaPositionRestrictions.js'; import { defaultAreaSizeRestrictions } from './defaultAreaSizeRestrictions.js'; export { defaultAreaSizeRestrictions } from './defaultAreaSizeRestrictions.js'; export { fillBoundary, fitBoundary } from './defaultBoundary.js'; export { defaultStencilConstraints } from './defaultStencilConstraints.js'; function withDefaultSizeRestrictions(sizeRestrictions) { return function (state, basicSettings) { var value = isFunction(sizeRestrictions) ? sizeRestrictions(state, basicSettings) : sizeRestrictions; return mergeSizeRestrictions(pixelsRestrictions(state, basicSettings), value); }; } function withDefaultPositionRestrictions(positionRestrictions) { return function (state, basicSettings) { var value = isFunction(positionRestrictions) ? positionRestrictions(state, basicSettings) : positionRestrictions; return mergePositionRestrictions(defaultPositionRestrictions(state, basicSettings), value); }; } function withDefaultAreaPositionRestrictions(areaPositionRestrictions) { return function (state, basicSettings) { var value = isFunction(areaPositionRestrictions) ? areaPositionRestrictions(state, basicSettings) : areaPositionRestrictions; return mergePositionRestrictions(defaultAreaPositionRestrictions(state, basicSettings), value); }; } function withDefaultAreaSizeRestrictions(areaSizeRestrictions) { return function (state, basicSettings) { var value = isFunction(areaSizeRestrictions) ? areaSizeRestrictions(state, basicSettings) : areaSizeRestrictions; return mergeSizeRestrictions(defaultAreaSizeRestrictions(state, basicSettings), value); }; } function createDefaultSettings(params) { return __assign(__assign({}, params), { sizeRestrictions: function (state, basicSettings) { var restrictions; if (params.sizeRestrictions) { restrictions = isFunction(params.sizeRestrictions) ? params.sizeRestrictions(state, basicSettings) : params.sizeRestrictions; } else { restrictions = pixelsRestrictions(state, basicSettings); } return restrictions; }, areaPositionRestrictions: function (state, basicSettings) { if (params.areaPositionRestrictions) { return isFunction(params.areaPositionRestrictions) ? params.areaPositionRestrictions(state, basicSettings) : params.areaPositionRestrictions; } else { return defaultAreaPositionRestrictions(state, basicSettings); } }, areaSizeRestrictions: function (state, basicSettings) { if (params.areaSizeRestrictions) { return isFunction(params.areaSizeRestrictions) ? params.areaSizeRestrictions(state, basicSettings) : params.areaSizeRestrictions; } else { return defaultAreaSizeRestrictions(state, basicSettings); } }, positionRestrictions: function (state, basicSettings) { if (params.positionRestrictions) { return isFunction(params.positionRestrictions) ? params.positionRestrictions(state, basicSettings) : params.positionRestrictions; } else { return defaultPositionRestrictions(state, basicSettings); } }, defaultCoordinates: function (state, basicSettings) { if (params.defaultCoordinates) { return isFunction(params.defaultCoordinates) ? params.defaultCoordinates(state, basicSettings) : params.defaultCoordinates; } else { var defaultSizeAlgorithm = params.defaultSize; if (!defaultSizeAlgorithm) { defaultSizeAlgorithm = defaultSize; } var size = isFunction(defaultSizeAlgorithm) ? defaultSizeAlgorithm(state, basicSettings) : defaultSizeAlgorithm; var defaultPositionAlgorithm_1 = params.defaultPosition || defaultPosition; return [ size, function (state) { return (__assign({}, (isFunction(defaultPositionAlgorithm_1) ? defaultPositionAlgorithm_1(state, basicSettings) : defaultPositionAlgorithm_1))); }, ]; } }, defaultVisibleArea: function (state, basicSettings) { if (params.defaultVisibleArea) { return isFunction(params.defaultVisibleArea) ? params.defaultVisibleArea(state, basicSettings) : params.defaultVisibleArea; } else { return defaultVisibleArea(state, basicSettings); } }, aspectRatio: function (state, basicSettings) { return createAspectRatio(isFunction(params.aspectRatio) ? params.aspectRatio(state, basicSettings) : params.aspectRatio); } }); } export { createDefaultSettings, withDefaultAreaPositionRestrictions, withDefaultAreaSizeRestrictions, withDefaultPositionRestrictions, withDefaultSizeRestrictions };