plain-draggable-limit.esm.js
function resolvePPBBox(ppBBox, baseBBox) {
  var prop2Axis = { left: 'x', right: 'x', x: 'x', width: 'x',
    top: 'y', bottom: 'y', y: 'y', height: 'y' },
      baseOriginXY = { x: baseBBox.left, y: baseBBox.top },
      baseSizeXY = { x: baseBBox.width, y: baseBBox.height };
  return validBBox(Object.keys(ppBBox).reduce(function (bBox, prop) {
    bBox[prop] = resolvePPValue(ppBBox[prop], prop === 'width' || prop === 'height' ? 0 : baseOriginXY[prop2Axis[prop]], baseSizeXY[prop2Axis[prop]]);
    return bBox;
  }, {}));
}
function resolvePPBBox(ppBBox, baseBBox) {
  var prop2Axis = { left: 'x', right: 'x', x: 'x', width: 'x',
    top: 'y', bottom: 'y', y: 'y', height: 'y' },
      baseOriginXY = { x: baseBBox.left, y: baseBBox.top },
      baseSizeXY = { x: baseBBox.width, y: baseBBox.height };
  return validBBox(Object.keys(ppBBox).reduce(function (bBox, prop) {
    bBox[prop] = resolvePPValue(ppBBox[prop], prop === 'width' || prop === 'height' ? 0 : baseOriginXY[prop2Axis[prop]], baseSizeXY[prop2Axis[prop]]);
    return bBox;
  }, {}));
}
function resolvePPBBox ( ppBBox , baseBBox ) { var prop2Axis = { left : 'x' , right : 'x' , x : 'x' , width : 'x' , top : 'y' , bottom : 'y' , y : 'y' , height : 'y' } , baseOriginXY = { x : baseBBox . left , y : baseBBox . top } , baseSizeXY = { x : baseBBox . width , y : baseBBox . height } ; return validBBox ( Object . keys ( ppBBox ) . reduce ( function ( bBox , prop ) { bBox [ prop ] = resolvePPValue ( ppBBox [ prop ] , prop === 'width' || prop === 'height' ? 0 : baseOriginXY [ prop2Axis [ prop ] ] , baseSizeXY [ prop2Axis [ prop ] ] ) ; return bBox ; } , { } ) ) ; }
PPBBox -> BBox
PPBBox - > BBox