update(affectedValue, startValue, endValue) {
      if (!affectedValue) {
        this.startValue = startValue;
        this.updateStateStorageAndFireInputEvent("startValue");
        this.endValue = endValue;
        this.updateStateStorageAndFireInputEvent("endValue");
        this._updateHandlesAndRange(0);
      } else {
        const newValue = endValue && affectedValue === "endValue" ? endValue : startValue;
        this._updateHandlesAndRange(newValue || 0);
        if (affectedValue === "startValue") {
          this.startValue = newValue;
          this.updateStateStorageAndFireInputEvent("startValue");
        }
        if (affectedValue === "endValue") {
          this.endValue = newValue;
          this.updateStateStorageAndFireInputEvent("endValue");
        }
      }
    }
Update values, stored inner state and the visual UI representation of the component.
If no specific type of value property is passed - the range is selected - update both handles,
otherwise update the handle corresponding to the affected by the user interacton value prop.

@private