nl_tokens: Computed the boundaries limits and return them
pl_tokens: function getBoundaries ( popper , reference , padding , boundariesElement ) { var fixedPosition = arguments . length > 4 && arguments [ 4 ] !== undefined ? arguments [ 4 ] : false ; // NOTE: 1 DOM access here var boundaries = { top : 0 , left : 0 } ; var offsetParent = fixedPosition ? getFixedPositionOffsetParent ( popper ) : findCommonOffsetParent ( popper , reference ) ; // Handle viewport case if ( boundariesElement === 'viewport' ) { boundaries = getViewportOffsetRectRelativeToArtbitraryNode ( offsetParent , fixedPosition ) ; } else { // Handle other cases based on DOM element used as boundaries var boundariesNode = void 0 ; if ( boundariesElement === 'scrollParent' ) { boundariesNode = getScrollParent ( getParentNode ( reference ) ) ; if ( boundariesNode . nodeName === 'BODY' ) { boundariesNode = popper . ownerDocument . documentElement ; } } else if ( boundariesElement === 'window' ) { boundariesNode = popper . ownerDocument . documentElement ; } else { boundariesNode = boundariesElement ; } var offsets = getOffsetRectRelativeToArbitraryNode ( boundariesNode , offsetParent , fixedPosition ) ; // In case of HTML, we need a different computation if ( boundariesNode . nodeName === 'HTML' && ! isFixed ( offsetParent ) ) { var _getWindowSizes = getWindowSizes ( popper . ownerDocument ) , height = _getWindowSizes . height , width = _getWindowSizes . width ; boundaries . top += offsets . top - offsets . marginTop ; boundaries . bottom = height + offsets . top ; boundaries . left += offsets . left - offsets . marginLeft ; boundaries . right = width + offsets . left ; } else { // for all the other DOM elements, this one is good boundaries = offsets ; } } // Add paddings padding = <mask> || 0 ; var isPaddingNumber = typeof padding === 'number' ; boundaries . left += isPaddingNumber ? padding : padding . left || 0 ; boundaries . top += isPaddingNumber ? padding : padding . top || 0 ; boundaries . right -= isPaddingNumber ? padding : padding . right || 0 ; boundaries . bottom -= isPaddingNumber ? padding : padding . bottom || 0 ; return boundaries ; }