UNPKG

overscroll

Version:
43 lines (36 loc) 1.61 kB
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; import { getOffset, getPosition } from './getOffset'; import getFromRange from './getFromRange'; import getClientSize from './getClientSize'; import getScrollSize from './getScrollSize'; import hasScrollBar from './hasScrollBar'; import contains from './contains'; import domData, { hasData } from './domData'; import getDocument from './getDocument'; import getWindow from './getWindow'; import getParent from './getParent'; export default (function (scope) { var target = scope.target, NOBUBBLE = scope.NOBUBBLE; var hasScrollBarFuncs = hasScrollBar(scope); var hasScrollY = hasScrollBarFuncs.hasScrollY, hasScrollX = hasScrollBarFuncs.hasScrollX; function getNearestScrollable(dom) { return target === dom || hasData(dom, NOBUBBLE) || hasScrollY(dom) || hasScrollX(dom) ? dom : getParent(dom, function (dom) { return target === dom || hasData(dom, NOBUBBLE) || hasScrollY(dom) || hasScrollX(dom); }); } return _extends({ domData: domData, contains: contains, getFromRange: getFromRange, getWindow: getWindow, getParent: getParent, getDocument: getDocument, getNearestScrollable: getNearestScrollable, getOffset: getOffset(scope), getPosition: getPosition(scope), getClientSize: getClientSize(scope), getScrollSize: getScrollSize(scope) }, hasScrollBarFuncs); });