code: function (settings) {
          var self = this, text;
  
          self._super(settings);
  
          settings = self.settings;
  
          self.classes.add('menu-item');
  
          if (settings.menu) {
            self.classes.add('menu-item-expand');
          }
  
          if (settings.preview) {
            self.classes.add('menu-item-preview');
          }
  
          text = self.state.get('text');
          if (text === '-' || text === '|') {
            self.classes.add('menu-item-sep');
            self.aria('role', 'separator');
            self.state.set('text', '-');
          }
  
          if (settings.selectable) {
            self.aria('role', 'menuitemcheckbox');
            self.classes.add('menu-item-checkbox');
            settings.icon = 'selected';
          }
  
          if (!settings.preview && !settings.selectable) {
            self.classes.add('menu-item-normal');
          }
  
          self.on('mousedown', function (e) {
            e.preventDefault();
          });
  
          if (settings.menu && !settings.ariaHideMenu) {
            self.aria('haspopup', true);
          }
        }
docs: Constructs a instance with the specified settings.
  
  @constructor
  @param {Object} settings Name/value object with settings.
  @setting {Boolean} selectable Selectable menu.
  @setting {Array} menu Submenu array with items.
  @setting {String} shortcut Shortcut to display for menu item. Example: Ctrl+X