set icon(val) {
    if (typeof val !== 'string' || !val.length) {
      this.removeAttribute(attributes.ICON);
      this.state.icon = undefined;
      this.removeIcon();
      return;
    }
    this.state.icon = val;
    this.setAttribute(attributes.ICON, val);
    this.appendIcon(val);
  }
/**
   * Sets the icon on the button
   * @param {undefined|string} val representing the icon to set
   */
Sets the icon on the button
@param {undefined|string} val representing the icon to set
Sets the icon on the button @param { undefined|string } val representing the icon to set
set icon(val) {
    if (typeof val !== 'string' || !val.length) {
      this.removeAttribute(attributes.ICON);
      this.state.icon = undefined;
      this.removeIcon();
      return;
    }
    this.state.icon = val;
    this.setAttribute(attributes.ICON, val);
    this.appendIcon(val);
  }
set icon ( val ) { if ( typeof val !== 'string' || ! val . length ) { this . removeAttribute ( attributes . ICON ) ; this . state . icon = undefined ; this . removeIcon ( ) ; return ; } this . state . icon = val ; this . setAttribute ( attributes . ICON , val ) ; this . appendIcon ( val ) ; }
Sets the icon on the button
 @param {undefined|string} val representing the icon to set
Sets the icon on the button @param { undefined|string } val representing the icon to set