@livelybone/scroll-get
Advanced tools
Comparing version 6.0.0 to 6.0.1
@@ -78,3 +78,9 @@ declare function getRect(el: Element): DOMRect | ||
} | ||
/** | ||
* forbidden x scroll | ||
* */ | ||
leftDisabled?: boolean | ||
/** | ||
* forbidden y scroll | ||
* */ | ||
topDisabled?: boolean | ||
@@ -81,0 +87,0 @@ } |
/** | ||
* Bundle of @livelybone/scroll-get | ||
* Generated: 2021-04-29 | ||
* Version: 6.0.0 | ||
* Version: 6.0.1 | ||
* License: MIT | ||
@@ -9,2 +9,87 @@ * Author: 2631541504@qq.com | ||
function _defineProperty(obj, key, value) { | ||
if (key in obj) { | ||
Object.defineProperty(obj, key, { | ||
value: value, | ||
enumerable: true, | ||
configurable: true, | ||
writable: true | ||
}); | ||
} else { | ||
obj[key] = value; | ||
} | ||
return obj; | ||
} | ||
function ownKeys(object, enumerableOnly) { | ||
var keys = Object.keys(object); | ||
if (Object.getOwnPropertySymbols) { | ||
var symbols = Object.getOwnPropertySymbols(object); | ||
if (enumerableOnly) symbols = symbols.filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(object, sym).enumerable; | ||
}); | ||
keys.push.apply(keys, symbols); | ||
} | ||
return keys; | ||
} | ||
function _objectSpread2(target) { | ||
for (var i = 1; i < arguments.length; i++) { | ||
var source = arguments[i] != null ? arguments[i] : {}; | ||
if (i % 2) { | ||
ownKeys(Object(source), true).forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} else if (Object.getOwnPropertyDescriptors) { | ||
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); | ||
} else { | ||
ownKeys(Object(source)).forEach(function (key) { | ||
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); | ||
}); | ||
} | ||
} | ||
return target; | ||
} | ||
function _objectWithoutPropertiesLoose(source, excluded) { | ||
if (source == null) return {}; | ||
var target = {}; | ||
var sourceKeys = Object.keys(source); | ||
var key, i; | ||
for (i = 0; i < sourceKeys.length; i++) { | ||
key = sourceKeys[i]; | ||
if (excluded.indexOf(key) >= 0) continue; | ||
target[key] = source[key]; | ||
} | ||
return target; | ||
} | ||
function _objectWithoutProperties(source, excluded) { | ||
if (source == null) return {}; | ||
var target = _objectWithoutPropertiesLoose(source, excluded); | ||
var key, i; | ||
if (Object.getOwnPropertySymbols) { | ||
var sourceSymbolKeys = Object.getOwnPropertySymbols(source); | ||
for (i = 0; i < sourceSymbolKeys.length; i++) { | ||
key = sourceSymbolKeys[i]; | ||
if (excluded.indexOf(key) >= 0) continue; | ||
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; | ||
target[key] = source[key]; | ||
} | ||
} | ||
return target; | ||
} | ||
function getRect(el) { | ||
@@ -175,8 +260,7 @@ return el.getBoundingClientRect(); | ||
var _ref = options || {}, | ||
affectParent = _ref.affectParent, | ||
rateFactor = _ref.rateFactor, | ||
_ref$offset = _ref.offset, | ||
$offset = _ref$offset === void 0 ? 0 : _ref$offset, | ||
_ref$time = _ref.time, | ||
time = _ref$time === void 0 ? 300 : _ref$time; | ||
time = _ref$time === void 0 ? 300 : _ref$time, | ||
resOptions = _objectWithoutProperties(_ref, ["offset", "time"]); | ||
@@ -192,9 +276,7 @@ var offset = typeof $offset === 'number' ? { | ||
if (scrollParent) { | ||
if (scrollParent && (!resOptions.topDisabled || !resOptions.leftDisabled)) { | ||
var parentScroll = function parentScroll() { | ||
return scrollToElement(scrollParent, { | ||
time: time, | ||
affectParent: affectParent, | ||
rateFactor: rateFactor | ||
}); | ||
return scrollToElement(scrollParent, _objectSpread2({ | ||
time: time | ||
}, resOptions)); | ||
}; | ||
@@ -212,14 +294,19 @@ | ||
var delta = { | ||
left: Math.min(rect.left - _scrollParentRect.left + offset.left, maxScrollOffset.left), | ||
top: Math.min(rect.top - _scrollParentRect.top + offset.top, maxScrollOffset.top) | ||
left: Math.min(rect.left - _scrollParentRect.left + offset.left, maxScrollOffset.left - scrollParent.scrollLeft), | ||
top: Math.min(rect.top - _scrollParentRect.top + offset.top, maxScrollOffset.top - scrollParent.scrollTop) | ||
}; | ||
if (delta.left || delta.top) { | ||
if (delta.left && !resOptions.leftDisabled || delta.top && !resOptions.topDisabled) { | ||
return animation(time, function (rate) { | ||
scrollParent.scrollTop = originScrollOffset.scrollTop + delta.top * rate; | ||
scrollParent.scrollLeft = originScrollOffset.scrollLeft + delta.left * rate; | ||
}, rateFactor).then(affectParent ? parentScroll : null); | ||
if (!resOptions.topDisabled) { | ||
scrollParent.scrollTop = originScrollOffset.scrollTop + delta.top * rate; | ||
} | ||
if (!resOptions.leftDisabled) { | ||
scrollParent.scrollLeft = originScrollOffset.scrollLeft + delta.left * rate; | ||
} | ||
}, resOptions.rateFactor).then(resOptions.affectParent ? parentScroll : null); | ||
} | ||
if (affectParent) { | ||
if (resOptions.affectParent) { | ||
return parentScroll(); | ||
@@ -226,0 +313,0 @@ } |
/** | ||
* Bundle of @livelybone/scroll-get | ||
* Generated: 2021-04-29 | ||
* Version: 6.0.0 | ||
* Version: 6.0.1 | ||
* License: MIT | ||
@@ -9,2 +9,2 @@ * Author: 2631541504@qq.com | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).ScrollGet={})}(this,function(t){"use strict";function v(t){return t.getBoundingClientRect()}function e(t){return t+(1-t)*t}function s(o,i,t){function r(t){window.requestAnimationFrame(function(){t()&&r(t)})}var l=t||e;return new Promise(function(e){var n=Date.now();r(function(){var t=l(Math.min(1,(Date.now()-n)/o));return i(t),!(1<=t)||(e(),!1)})})}function w(t){var e=window.getComputedStyle(t),n={top:0,left:0};return["scroll","auto","overlay"].includes(e.overflowX)&&(n.left=Math.max(0,t.scrollWidth-t.clientWidth)),["scroll","auto","overlay"].includes(e.overflowY)&&(n.top=Math.max(0,t.scrollHeight-t.clientHeight)),n}function n(t){return!t.top&&!t.left}function m(t){if(null!=t&&t.style){var e=window.getComputedStyle(t);if("fixed"!==e.position){if("absolute"===e.position)return t.offsetParent?m(t.offsetParent):n(w(document.body))?m(document.body):document.body;t=t.parentElement;return t?n(w(t))?m(t):t:void 0}}}t.animation=s,t.getMaxScrollOffset=w,t.getNativeScrollbarWidth=function(t){var e=t||window,t=e===window;try{var n,o=t?window.nativeScrollbarWidth:null;return o&&"number"==typeof o.y&&"number"==typeof o.x||(n=t?document.createElement("div"):e,t&&(n.setAttribute("style","position:fixed;top:0;left:0;opacity:0;pointer-events:none;width:200px;height:200px;overflow:scroll"),document.body.appendChild(n)),o={y:n.offsetWidth-n.clientWidth,x:n.offsetHeight-n.clientHeight},t&&(window.nativeScrollbarWidth=o,document.body.removeChild(n))),o}catch(t){return{y:17,x:17}}},t.getRect=v,t.getScrollParent=m,t.getViewElementsWhenScroll=function(o,i,r){if(0<i.length){var l=[],t=function(t){var n=v(o),e=i.map(v).map(function(t,e){return t.viewHeight=Math.max(0,Math.min(t.top+t.height,n.top+n.height)-Math.max(n.top,t.top)),t.viewWidth=Math.max(0,Math.min(t.left+t.width,n.left+n.width)-Math.max(n.left,t.left)),t.height&&t.width?t.viewPercent=t.viewHeight*t.viewWidth/t.height*t.width:t.height||t.width?t.height?t.viewPercent=t.viewHeight/t.height:t.viewPercent=t.viewWidth/t.width:t.viewPercent=0,{rect:t,element:i[e]}}).filter(function(t){return 0<t.rect.viewPercent}).sort(function(t,e){var n=e.rect.viewPercent-t.rect.viewPercent;return n||e.rect.viewHeight*e.rect.viewWidth-t.rect.viewHeight*t.rect.viewWidth});e.length===l.length&&!e.some(function(t,e){return t.element!==l[e].element})||r(l=e,n,t)};return t(),o.addEventListener("scroll",t),function(){return o.removeEventListener("scroll",t)}}return function(){}},t.posRelativeToClient=function(t){return{clientLeft:(t=v(t)).left,clientTop:t.top}},t.posRelativeToPage=function(t){for(var e={pageLeft:0,pageTop:0},n=t;n;)e.pageLeft+=n.offsetLeft,e.pageTop+=n.offsetTop,n=n.offsetParent;return e},t.scrollToElement=function t(e,n){var o=n||{},i=o.affectParent,r=o.rateFactor,l=o.offset,f=void 0===l?0:l,n=o.time,c=void 0===n?300:n,l="number"==typeof f?{left:f,top:f}:{left:f.left||0,top:f.top||0},a=m(e);if(a){var o=function(){return t(a,{time:c,affectParent:i,rateFactor:r})},n=w(a),u=a.scrollLeft,h=a.scrollTop,f=v(e),e=v(a),d=Math.min(f.left-e.left+l.left,n.left),p=Math.min(f.top-e.top+l.top,n.top);if(d||p)return s(c,function(t){a.scrollTop=h+p*t,a.scrollLeft=u+d*t},r).then(i?o:null);if(i)return o()}return Promise.resolve()},Object.defineProperty(t,"__esModule",{value:!0})}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).ScrollGet={})}(this,function(e){"use strict";function t(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function d(r){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?t(Object(o),!0).forEach(function(e){var t,n;t=r,e=o[n=e],n in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):t(Object(o)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))})}return r}function h(e,t){if(null==e)return{};var n,r=function(e,t){if(null==e)return{};for(var n,r={},o=Object.keys(e),i=0;i<o.length;i++)n=o[i],0<=t.indexOf(n)||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),i=0;i<o.length;i++)n=o[i],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n]);return r}function v(e){return e.getBoundingClientRect()}function n(e){return e+(1-e)*e}function w(r,o,e){function i(e){window.requestAnimationFrame(function(){e()&&i(e)})}var l=e||n;return new Promise(function(t){var n=Date.now();i(function(){var e=l(Math.min(1,(Date.now()-n)/r));return o(e),!(1<=e)||(t(),!1)})})}function m(e){var t=window.getComputedStyle(e),n={top:0,left:0};return["scroll","auto","overlay"].includes(t.overflowX)&&(n.left=Math.max(0,e.scrollWidth-e.clientWidth)),["scroll","auto","overlay"].includes(t.overflowY)&&(n.top=Math.max(0,e.scrollHeight-e.clientHeight)),n}function r(e){return!e.top&&!e.left}function b(e){if(null!=e&&e.style){var t=window.getComputedStyle(e);if("fixed"!==t.position){if("absolute"===t.position)return e.offsetParent?b(e.offsetParent):r(m(document.body))?b(document.body):document.body;e=e.parentElement;return e?r(m(e))?b(e):e:void 0}}}e.animation=w,e.getMaxScrollOffset=m,e.getNativeScrollbarWidth=function(e){var t=e||window,e=t===window;try{var n,r=e?window.nativeScrollbarWidth:null;return r&&"number"==typeof r.y&&"number"==typeof r.x||(n=e?document.createElement("div"):t,e&&(n.setAttribute("style","position:fixed;top:0;left:0;opacity:0;pointer-events:none;width:200px;height:200px;overflow:scroll"),document.body.appendChild(n)),r={y:n.offsetWidth-n.clientWidth,x:n.offsetHeight-n.clientHeight},e&&(window.nativeScrollbarWidth=r,document.body.removeChild(n))),r}catch(e){return{y:17,x:17}}},e.getRect=v,e.getScrollParent=b,e.getViewElementsWhenScroll=function(r,o,i){if(0<o.length){var l=[],e=function(e){var n=v(r),t=o.map(v).map(function(e,t){return e.viewHeight=Math.max(0,Math.min(e.top+e.height,n.top+n.height)-Math.max(n.top,e.top)),e.viewWidth=Math.max(0,Math.min(e.left+e.width,n.left+n.width)-Math.max(n.left,e.left)),e.height&&e.width?e.viewPercent=e.viewHeight*e.viewWidth/e.height*e.width:e.height||e.width?e.height?e.viewPercent=e.viewHeight/e.height:e.viewPercent=e.viewWidth/e.width:e.viewPercent=0,{rect:e,element:o[t]}}).filter(function(e){return 0<e.rect.viewPercent}).sort(function(e,t){var n=t.rect.viewPercent-e.rect.viewPercent;return n||t.rect.viewHeight*t.rect.viewWidth-e.rect.viewHeight*e.rect.viewWidth});t.length===l.length&&!t.some(function(e,t){return e.element!==l[t].element})||i(l=t,n,e)};return e(),r.addEventListener("scroll",e),function(){return r.removeEventListener("scroll",e)}}return function(){}},e.posRelativeToClient=function(e){return{clientLeft:(e=v(e)).left,clientTop:e.top}},e.posRelativeToPage=function(e){for(var t={pageLeft:0,pageTop:0},n=e;n;)t.pageLeft+=n.offsetLeft,t.pageTop+=n.offsetTop,n=n.offsetParent;return t},e.scrollToElement=function e(t,n){var r=n||{},o=r.offset,i=void 0===o?0:o,n=r.time,l=void 0===n?300:n,f=h(r,["offset","time"]),o="number"==typeof i?{left:i,top:i}:{left:i.left||0,top:i.top||0},c=b(t);if(c&&(!f.topDisabled||!f.leftDisabled)){var n=function(){return e(c,d({time:l},f))},r=m(c),u=c.scrollLeft,a=c.scrollTop,i=v(t),t=v(c),p=Math.min(i.left-t.left+o.left,r.left-c.scrollLeft),s=Math.min(i.top-t.top+o.top,r.top-c.scrollTop);if(p&&!f.leftDisabled||s&&!f.topDisabled)return w(l,function(e){f.topDisabled||(c.scrollTop=a+s*e),f.leftDisabled||(c.scrollLeft=u+p*e)},f.rateFactor).then(f.affectParent?n:null);if(f.affectParent)return n()}return Promise.resolve()},Object.defineProperty(e,"__esModule",{value:!0})}); |
{ | ||
"name": "@livelybone/scroll-get", | ||
"version": "6.0.0", | ||
"version": "6.0.1", | ||
"description": "Some useful tool of browser scroll, such as tool for calculating position relative to page/client, tool for getting the native scrollbar width...", | ||
@@ -5,0 +5,0 @@ "main": "./lib/umd/index.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
28516
472