overscroll
Version:
75 lines (48 loc) • 2.51 kB
JavaScript
;
exports.__esModule = true;
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; };
var _getOffset = require('./getOffset');
var _getFromRange = require('./getFromRange');
var _getFromRange2 = _interopRequireDefault(_getFromRange);
var _getClientSize = require('./getClientSize');
var _getClientSize2 = _interopRequireDefault(_getClientSize);
var _getScrollSize = require('./getScrollSize');
var _getScrollSize2 = _interopRequireDefault(_getScrollSize);
var _hasScrollBar = require('./hasScrollBar');
var _hasScrollBar2 = _interopRequireDefault(_hasScrollBar);
var _contains = require('./contains');
var _contains2 = _interopRequireDefault(_contains);
var _domData = require('./domData');
var _domData2 = _interopRequireDefault(_domData);
var _getDocument = require('./getDocument');
var _getDocument2 = _interopRequireDefault(_getDocument);
var _getWindow = require('./getWindow');
var _getWindow2 = _interopRequireDefault(_getWindow);
var _getParent = require('./getParent');
var _getParent2 = _interopRequireDefault(_getParent);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports['default'] = function (scope) {
var target = scope.target,
NOBUBBLE = scope.NOBUBBLE;
var hasScrollBarFuncs = (0, _hasScrollBar2['default'])(scope);
var hasScrollY = hasScrollBarFuncs.hasScrollY,
hasScrollX = hasScrollBarFuncs.hasScrollX;
function getNearestScrollable(dom) {
return target === dom || (0, _domData.hasData)(dom, NOBUBBLE) || hasScrollY(dom) || hasScrollX(dom) ? dom : (0, _getParent2['default'])(dom, function (dom) {
return target === dom || (0, _domData.hasData)(dom, NOBUBBLE) || hasScrollY(dom) || hasScrollX(dom);
});
}
return _extends({
domData: _domData2['default'],
contains: _contains2['default'],
getFromRange: _getFromRange2['default'],
getWindow: _getWindow2['default'],
getParent: _getParent2['default'],
getDocument: _getDocument2['default'],
getNearestScrollable: getNearestScrollable,
getOffset: (0, _getOffset.getOffset)(scope),
getPosition: (0, _getOffset.getPosition)(scope),
getClientSize: (0, _getClientSize2['default'])(scope),
getScrollSize: (0, _getScrollSize2['default'])(scope)
}, hasScrollBarFuncs);
};