set value(value) {
      // if not yet connected to dom can't change the value
      if (this._inputNode) {
        // Only set if newValue is new, fix for Safari bug: https://github.com/ing-bank/lion/issues/1415
        if (this._inputNode.value !== value) {
          this._setValueAndPreserveCaret(value);
        }
        /** @type {string | undefined} */
        this.__value = undefined;
      } else {
        this.__value = value;
      }
    }
@param {string} value
Note: Overridess the implementation from FormatMixin - We don't delegate, because we want to preserve caret position via _setValueAndPreserveCaret