anchor.diff:      if (barTop < 0) {
         barTop = 0;
       }
  -    
  +
       contentTop = -(barTop*contentHeight/windowHeight).round();
       //print('Recalculated: bar height: $barHeight');
   
     }
  -  
  +
     componentDidMount(root) {
       recalculateBorders();
       redrawInvoked = true;
       redraw();
     }
  -  
  +
     componentDidUpdate(prevProps, prevState, rootNode) {
      if (!redrawInvoked) {
         recalculateBorders();
  
positive.code:     print('Scrollbar content Id is: $contentId');
      print('Scrollbar window Id is: $windowId');
    }
    
    render() {
    // print('Render'); 
    return
      div({'className':'${containerClass}','style':{'position':'relative'}},[
        div({'className':'list-scrollbar'+(barHeight == 100 ? ' hide' : ''),
  
negative.code:     if (barHeight == 100) return;
      var newCntTop;
      var newBarTop;
      if (contentHeight > 0) {
        if (ev.deltaY > 0) {
          // Scroll up
          newCntTop = contentTop + step;
          newBarTop = barTop - windowHeight*(step/contentHeight);
          if (newBarTop < 0) {
            newBarTop = 0;
            newCntTop = 0;
          }
        } else {
          // Scroll down
          newCntTop = contentTop - step;
          newBarTop = barTop + windowHeight*(step/contentHeight);
          if (newBarTop + barHeightPx > windowHeight) {
            newBarTop = windowHeight - barHeightPx;
            newCntTop = windowHeight - contentHeight;
          }
        }
      } else {
        newBarTop = 0;
        newCntTop = 0;
      }
      barTop = newBarTop;
      contentTop = newCntTop;
      redrawInvoked = true;
      redraw();
    }
  
    mouseDown(ev) {
      if (ev is SyntheticMouseEvent) {
        ev.nativeEvent.preventDefault();
        startY = ev.pageY;
      } else {
        ev.preventDefault();
        startY = ev.page.y;
      }
      startTop = barTop;
  
      ssMouseMove = htmlWindow.onMouseMove.listen(mouseMove);
      ssMouseUp = htmlWindow.onMouseUp.listen(mouseUp);
  
    }
  
    mouseMove(ev) {
      var diffY;
      if (ev is SyntheticMouseEvent) {
        diffY = ev.pageY - startY;
      } else {
        diffY = ev.page.y - startY;
      }
  