_calculateStartValueByOffset(currentPageXPos, initialStartHandlePageXPos) {
      const min = this._effectiveMin;
      const max = this._effectiveMax;
      const step = this._effectiveStep;
      const dom = this.getBoundingClientRect();
      let startValue;
      let startValuePageX;
      let positionOffset;
      /* Depending on the dragging direction:
      - calculate the new position of the start handle from its old pageX value combined with the movement offset;
      - calculate the start value based on its new pageX coordinates;
      - 'stepify' the calculated value based on the specified step property; */
      const ctor = this.constructor;
      if (currentPageXPos > this._initialPageXPosition) {
        // Difference between the new position of the pointer and when the press event initial occured
        positionOffset = currentPageXPos - this._initialPageXPosition;
        startValuePageX = initialStartHandlePageXPos + positionOffset;
        startValue = ctor.computedValueFromPageX(startValuePageX, min, max, dom, this.directionStart);
        startValue = ctor.getSteppedValue(startValue, step, min);
      } else {
        positionOffset = this._initialPageXPosition - currentPageXPos;
        startValuePageX = initialStartHandlePageXPos - positionOffset;
        startValue = ctor.computedValueFromPageX(startValuePageX, min, max, dom, this.directionStart);
        startValue = ctor.getSteppedValue(startValue, step, min);
      }
      return startValue;
    }
Computes the new value based on the difference of the current cursor location from the
start of the interaction.

@param {Integer} currentPageXPos The current horizontal position of the cursor/touch
@param {Integer} initialStartHandlePageXPos The initial horizontal position of the start handle

@private