set disabled(val) {
    // Handled as boolean attribute
    const trueVal = IdsStringUtils.stringToBool(val);
    this.state.disabled = trueVal;

    const a = this.a;
    const shouldUpdate = this.shouldUpdate;
    const currentAttr = this.hasAttribute(attributes.DISABLED);

    if (trueVal) {
      a.disabled = true;
      a.setAttribute(attributes.DISABLED, '');
      this.tabIndex = -1;
      this.container.classList.add(attributes.DISABLED);
      if (!currentAttr) {
        this.shouldUpdate = false;
        this.setAttribute(attributes.DISABLED, '');
        this.shouldUpdate = shouldUpdate;
      }
      return;
    }

    a.disabled = false;
    a.removeAttribute(attributes.DISABLED);
    this.tabIndex = 0;
    this.container.classList.remove(attributes.DISABLED);
    if (currentAttr) {
      this.shouldUpdate = false;
      this.removeAttribute(attributes.DISABLED);
      this.shouldUpdate = shouldUpdate;
    }
  }
/**
   * Passes a disabled attribute from the custom element to the button
   * @param {boolean} val true if the button will be disabled
   */
Passes a disabled attribute from the custom element to the button
@param {boolean} val true if the button will be disabled
Passes a disabled attribute from the custom element to the button @param { boolean } val true if the button will be disabled
set disabled(val) {
    const trueVal = IdsStringUtils.stringToBool(val);
    this.state.disabled = trueVal;
    const a = this.a;
    const shouldUpdate = this.shouldUpdate;
    const currentAttr = this.hasAttribute(attributes.DISABLED);
    if (trueVal) {
      a.disabled = true;
      a.setAttribute(attributes.DISABLED, '');
      this.tabIndex = -1;
      this.container.classList.add(attributes.DISABLED);
      if (!currentAttr) {
        this.shouldUpdate = false;
        this.setAttribute(attributes.DISABLED, '');
        this.shouldUpdate = shouldUpdate;
      }
      return;
    }
    a.disabled = false;
    a.removeAttribute(attributes.DISABLED);
    this.tabIndex = 0;
    this.container.classList.remove(attributes.DISABLED);
    if (currentAttr) {
      this.shouldUpdate = false;
      this.removeAttribute(attributes.DISABLED);
      this.shouldUpdate = shouldUpdate;
    }
  }
set disabled ( val ) { const trueVal = IdsStringUtils . stringToBool ( val ) ; this . state . disabled = trueVal ; const a = this . a ; const shouldUpdate = this . shouldUpdate ; const currentAttr = this . hasAttribute ( attributes . DISABLED ) ; if ( trueVal ) { a . disabled = true ; a . setAttribute ( attributes . DISABLED , '' ) ; this . tabIndex = - 1 ; this . container . classList . add ( attributes . DISABLED ) ; if ( ! currentAttr ) { this . shouldUpdate = false ; this . setAttribute ( attributes . DISABLED , '' ) ; this . shouldUpdate = shouldUpdate ; } return ; } a . disabled = false ; a . removeAttribute ( attributes . DISABLED ) ; this . tabIndex = 0 ; this . container . classList . remove ( attributes . DISABLED ) ; if ( currentAttr ) { this . shouldUpdate = false ; this . removeAttribute ( attributes . DISABLED ) ; this . shouldUpdate = shouldUpdate ; } }
Passes a disabled attribute from the custom element to the button
 @param {boolean} val true if the button will be disabled
Passes a disabled attribute from the custom element to the button @param { boolean } val true if the button will be disabled
// Handled as boolean attribute