docs/_vendor/popper.js/dist/popper.js
function getScrollParent(element) {
  // Return body, `getScroll` will take care to get the correct `scrollTop` from it
  if (!element) {
    return document.body;
  }

  switch (element.nodeName) {
    case 'HTML':
    case 'BODY':
      return element.ownerDocument.body;
    case '#document':
      return element.body;
  }

  // Firefox want us to check `-x` and `-y` variations as well
  const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);
  if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {
    return element;
  }

  return getScrollParent(getParentNode(element));
}
function getScrollParent(element) {
  // Return body, `getScroll` will take care to get the correct `scrollTop` from it
  if (!element) {
    return document.body;
  }

  switch (element.nodeName) {
    case 'HTML':
    case 'BODY':
      return element.ownerDocument.body;
    case '#document':
      return element.body;
  }

  // Firefox want us to check `-x` and `-y` variations as well
  const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);
  if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {
    return element;
  }

  return getScrollParent(getParentNode(element));
}
function getScrollParent ( element ) { // Return body, `getScroll` will take care to get the correct `scrollTop` from it if ( ! element ) { return document . body ; } switch ( element . nodeName ) { case 'HTML' : case 'BODY' : return element . ownerDocument . body ; case '#document' : return element . body ; } // Firefox want us to check `-x` and `-y` variations as well const { overflow , overflowX , overflowY } = getStyleComputedProperty ( element ) ; if ( / (auto|scroll|overlay) / . test ( overflow + overflowY + overflowX ) ) { return element ; } return getScrollParent ( getParentNode ( element ) ) ; }
Returns the scrolling parent of the given element
@method
@memberof Popper.Utils
@argument {Element} element
@returns {Element} scroll parent
Returns the scrolling parent of the given element