Socket
Socket
Sign inDemoInstall

@livelybone/scroll-get

Package Overview
Dependencies
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@livelybone/scroll-get - npm Package Compare versions

Comparing version 6.0.0 to 6.0.1

6

index.d.ts

@@ -78,3 +78,9 @@ declare function getRect(el: Element): DOMRect

}
/**
* forbidden x scroll
* */
leftDisabled?: boolean
/**
* forbidden y scroll
* */
topDisabled?: boolean

@@ -81,0 +87,0 @@ }

121

lib/es/index.js
/**
* 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 @@ }

4

lib/umd/index.js
/**
* 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",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc