code: function convertPropToPixels(propName, propValue, maxScroll, offset = 0) {
    let propValueInPx = propValue;
    const isElement = propValue instanceof HTMLElement;
    const keyCodes = {
      ZERO: 48,
      NINE: 57,
    };
  
    if (typeof propValue === 'number') {
      propValueInPx = propValue;
    } else if (START_END_DURATION_REGEX.test(propValue)) {
      propValueInPx = getValueInPx(propValue, maxScroll);
    } else if (
      isElement ||
      typeof propValue === 'string' &&
      (propValue.charCodeAt(0) < keyCodes.ZERO || propValue.charCodeAt(0) > keyCodes.NINE)
    ) {
      const element = isElement ? propValue : document.querySelector(propValue);
  
      if (!element) {
        console.warn(`Plx, ERROR: ${ propName } selector matches no elements: "${ propValue }"`); // eslint-disable-line
        return null;
      }
  
      if (propName === 'start' || propName === 'end') {
        // START or END
        // Element enters the viewport
        propValueInPx = getElementTop(element) - window.innerHeight;
      } else if (propName === 'duration') {
        // DURATION
        // Height of the element
        propValueInPx = element.offsetHeight;
      }
    } else {
      console.warn(`Plx, ERROR: "${ propValue }" is not a valid ${ propName } value, check documenation`); // eslint-disable-line
      return null;
    }
  
    // Transform offset to px
    let offsetInPx = 0;
  
    if (typeof offset === 'number') {
      offsetInPx = offset;
    } else if (START_END_DURATION_REGEX.test(offset)) {
      offsetInPx = getValueInPx(offset, maxScroll);
    }
    // Add offset
    propValueInPx += offsetInPx;
  
    if (propValueInPx < 0) {
      propValueInPx = 0;
    }
  
    return propValueInPx;
  }
docs: Takes start/end/duration props and return number (in pixels) based on prop type (number, string, dom element)