anchor.diff:    void toggle() {
       _isDropdownShown = !_isDropdownShown;
       
  -    if (_isDropdownShown) addComponent(_list);
  -    else removeComponent(_list, flush: false);
  +    if (_isDropdownShown) _list.visible = true;
  +    else _list.visible = false;
       
       if (_isDropdownShown) {
  -      _list._control.style.opacity = '.0';
  -      
  -      reflowManager.invalidateCSS(_list._control, 'opacity', '1.0');
  +      window.onMouseDown.listen((MouseEvent event) {
  +        final Element E = event.target;
  +        Element e = E;
  +        
  +        while (e.parent != null) {
  +          if (e == _list._control || e == _input._control || e == _handle._control) return;
  +          
  +          e = e.parent;
  +        }
  +        
  +        close();
  +      });
       }
       
       _handle.cssClasses = _isDropdownShown ? const <String>['open'] : const <String>['closed'];
  
positive.code:       ..useSelectionEffects = true
        ..autoManageScrollBars = true
        ..allowMultipleSelection = false
        ..onSelectedItemChanged.listen((FrameworkEvent<dynamic> event) => handleListSelection(event.relatedObject));
      
      addComponent(_input);
      addComponent(_handle);
    }
    
    @override 
  
negative.code:     _input._text = itemToLabel(item);
      _input._commitText();
      
      selectedItem = item;
      
      close();
    }
    
  