anchor.diff:        scrollStep = 16;
       }
     }
  -  
  +
     checkSetScrollStepRedraw(_scrollStep, _scrollListDiv){
       if (_scrollStep > 0){
         _scrollStep = 0;
       }
  -    
  +
       if (_scrollStep < getMinMarginLeft()) {
         _scrollStep = getMinMarginLeft();
       }
  -    _scrollListDiv.style.left = '${_scrollStep}px';
  +    _scrollListDiv.style.marginLeft = '${_scrollStep}px';
       redraw();
     }
   }
  
positive.code: 
      checkSetScrollStepRedraw(_scrollStep, _scrollListDiv);
    }
    
    num getMinMarginLeft() {
      var _itemSpan = ref(items[0].toString());
      var _spanWidth = _itemSpan.marginEdge.width;
      var _visibleItemsWindowSize = scrollStep * _spanWidth;
      
      return (0 - _spanWidth * items.length + _visibleItemsWindowSize); 
    }
    
    setScrollStepSize() {
      var _itemsDivWindowSize = ref('itemsDiv').marginEdge.width;
  
  
negative.code: 
  var selector = SelectorComponent.register(window);
  
  typedef SelectorType(List items, DataReference selected,
                      DataReference active, DataReference loading,
                      {String key, String selectorText, bool fullSize});
  
  
  class SelectorComponent extends Component {
  
    DataReference get selected => props['selected'];
    DataReference get loading => props['loading'];
    DataReference get active => props['active'];
  
    List get items => props['items'];
    String get selectorText => props['selectorText'];
    bool get fullSize => props['fullSize'];
  
    num scrollStep;
    var browserWindow;
  
    List<StreamSubscription> subscriptions;
  
    SelectorComponent(this.browserWindow);
  
    static SelectorType register(window) {
      var _registeredComponent = registerComponent(() => new SelectorComponent(window));
      return (List items, DataReference selected,
  