code: function() {
  			var self     = this;
  			var isFull   = self.isFull();
  			var isLocked = self.isLocked;
  	
  			self.$wrapper
  				.toggleClass('rtl', self.rtl);
  	
  			self.$control
  				.toggleClass('focus', self.isFocused)
  				.toggleClass('disabled', self.isDisabled)
  				.toggleClass('required', self.isRequired)
  				.toggleClass('invalid', self.isInvalid)
  				.toggleClass('locked', isLocked)
  				.toggleClass('full', isFull).toggleClass('not-full', !isFull)
  				.toggleClass('input-active', self.isFocused && !self.isInputHidden)
  				.toggleClass('dropdown-active', self.isOpen)
  				.toggleClass('has-options', !$.isEmptyObject(self.options))
  				.toggleClass('has-items', self.items.length > 0);
  	
  			self.$control_input.data('grow', !isFull && !isLocked);
  		}
docs: Updates all state-dependent CSS classes.