set icon(val) {
    if (typeof val !== 'string' || !val.length) {
      this.removeAttribute('icon');
      this.state.icon = undefined;
      this.removeIcon();
    } else {
      this.state.icon = val;
      this.setAttribute('icon', val);
      this.appendIcon(val);
    }

    if (this.group && typeof this.group.updateIconAlignment === 'function') {
      this.group.updateIconAlignment();
    }
  }
/**
   * @param {string | undefined} val representing the icon to set
   */
@param {string | undefined} val representing the icon to set
@param { string | undefined } val representing the icon to set
set icon(val) {
    if (typeof val !== 'string' || !val.length) {
      this.removeAttribute('icon');
      this.state.icon = undefined;
      this.removeIcon();
    } else {
      this.state.icon = val;
      this.setAttribute('icon', val);
      this.appendIcon(val);
    }
    if (this.group && typeof this.group.updateIconAlignment === 'function') {
      this.group.updateIconAlignment();
    }
  }
set icon ( val ) { if ( typeof val !== 'string' || ! val . length ) { this . removeAttribute ( 'icon' ) ; this . state . icon = undefined ; this . removeIcon ( ) ; } else { this . state . icon = val ; this . setAttribute ( 'icon' , val ) ; this . appendIcon ( val ) ; } if ( this . group && typeof this . group . updateIconAlignment === 'function' ) { this . group . updateIconAlignment ( ) ; } }
@param {string | undefined} val representing the icon to set
@param { string | undefined } val representing the icon to set