anchor.diff:            resizeElement.classes.contains('top-right')) {
           removeParentConnections(e);
         }
  +      int mouseMovementX = 0, mouseMovementY = 0; // For tracking the mouse movement
  +      int mouseLastPositionX = event.page.x, mouseLastPositionY = event.page.y; // For tracking the mouse movement
         StreamSubscription mouseMove = document.onMouseMove.listen((MouseEvent event) {
  +        mouseMovementX = event.client.x - mouseLastPositionX; // For tracking the mouse movement
  +        mouseMovementY = event.client.y - mouseLastPositionY; // For tracking the mouse movement
  +        mouseLastPositionX = event.client.x; // For tracking the mouse movement
  +        mouseLastPositionY = event.client.y; // For tracking the mouse movement
           borders.forEach((Borders border) {
             bool fixedHeight = e.attributes.containsKey('fixed-height');
             int newWidth = e.contentEdge.width;
  
positive.code:     event.preventDefault();
      querySelector('body').style.userSelect = 'none';
      removeParentConnections(e);
      StreamSubscription mouseMove = document.onMouseMove.listen((MouseEvent event) {
        event.stopPropagation();
        event.preventDefault();
        int newLeft = e.offset.left + event.movement.x;
        int newTop = e.offset.top + event.movement.y;
        e.style.left = '${newLeft}px';
        e.style.top = '${newTop}px';
        prepareSnapToOtherPanels(e);
        moveChildrenConnections(e, event.movement.x, event.movement.y);
      });
  
      StreamSubscription mouseUp;
  
negative.code:           int newTop = e.offset.top;
            switch(border) {
              case Borders.widthPlus:
                newWidth += mouseMovementX;
                break;
              case Borders.widthMinus:
                newWidth -= mouseMovementX;
                break;
              case Borders.heightPlus:
                newHeight += mouseMovementY;
                break;
              case Borders.heightMinus:
                newHeight -= mouseMovementY;
                break;
              case Borders.leftPlus:
                newLeft += mouseMovementX;
                break;
              case Borders.leftMinus:
                newLeft -= mouseMovementX;
                break;
              case Borders.topPlus:
                newTop += mouseMovementY;
                break;
              case Borders.topMinus:
                newTop -= mouseMovementY;
                break;
            }
            e.style.width = '${newWidth}px';
  