Socket
Socket
Sign inDemoInstall

scroll-into-view-if-needed

Package Overview
Dependencies
Maintainers
1
Versions
83
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

scroll-into-view-if-needed - npm Package Compare versions

Comparing version 2.1.1 to 2.1.2

22

compute.js

@@ -87,2 +87,4 @@ "use strict";

var viewportHeight = window.visualViewport ? window.visualViewport.height : viewport.clientHeight;
var viewportX = window.scrollX || window.pageXOffset;
var viewportY = window.scrollY || window.pageYOffset;

@@ -132,3 +134,3 @@ if (scrollMode === 'if-needed') {

if (viewport === frame) {
blockScroll = frame.scrollTop + targetBlock;
blockScroll = viewportY + targetBlock;
} else {

@@ -147,3 +149,3 @@ var offset = Math.min(targetBlock - frameRect.top, frame.scrollHeight - frame.clientHeight - frame.scrollTop);

if (viewport === frame) {
blockScroll = frame.scrollTop + targetBlock - frame.clientHeight / 2;
blockScroll = viewportY + targetBlock - frame.clientHeight / 2;
} else {

@@ -163,3 +165,3 @@ var _offset = 0 - Math.min(frameRect.top + frameRect.height / 2 - targetBlock, frame.scrollTop);

if (viewport === frame) {
blockScroll = frame.scrollTop + targetBlock - frame.clientHeight;
blockScroll = viewportY + targetBlock - frame.clientHeight;
} else {

@@ -179,5 +181,5 @@ var _offset2 = 0 - Math.min(frameRect.bottom - targetBlock, frame.scrollTop);

if (viewport === frame) {
var _offset3 = alignNearest(frame.scrollTop, frame.scrollTop + viewportHeight, viewportHeight, frame.scrollTop + targetBlock, frame.scrollTop + targetBlock + targetRect.height, targetRect.height);
var _offset3 = alignNearest(viewportY, viewportY + viewportHeight, viewportHeight, viewportY + targetBlock, viewportY + targetBlock + targetRect.height, targetRect.height);
blockScroll = frame.scrollTop + _offset3;
blockScroll = viewportY + _offset3;
} else {

@@ -197,3 +199,3 @@ var _offset4 = alignNearest(frameRect.top, frameRect.bottom, frameRect.height, targetBlock, targetBlock + targetRect.height, targetRect.height);

if (viewport === frame) {
inlineScroll = frame.scrollLeft + targetInline;
inlineScroll = viewportX + targetInline;
} else {

@@ -213,3 +215,3 @@ var _offset5 = Math.min(targetInline - frameRect.left, frame.scrollHeight - frame.clientLeft - frame.scrollLeft);

if (viewport === frame) {
inlineScroll = frame.scrollLeft + targetInline - frame.clientWidth / 2;
inlineScroll = viewportX + targetInline - frame.clientWidth / 2;
} else {

@@ -229,3 +231,3 @@ var _offset6 = 0 - Math.min(frameRect.left + frameRect.width / 2 - targetInline, frame.scrollLeft);

if (viewport === frame) {
inlineScroll = frame.scrollLeft + targetInline - frame.clientWidth;
inlineScroll = viewportX + targetInline - frame.clientWidth;
} else {

@@ -245,5 +247,5 @@ var _offset7 = 0 - Math.min(frameRect.right - targetInline, frame.scrollLeft);

if (viewport === frame) {
var _offset8 = alignNearest(frame.scrollLeft, frame.scrollLeft + viewportWidth, viewportWidth, frame.scrollLeft + targetInline, frame.scrollLeft + targetInline + targetRect.width, targetRect.width);
var _offset8 = alignNearest(viewportX, viewportX + viewportWidth, viewportWidth, viewportX + targetInline, viewportX + targetInline + targetRect.width, targetRect.width);
inlineScroll = frame.scrollLeft + _offset8;
inlineScroll = viewportX + _offset8;
} else {

@@ -250,0 +252,0 @@ var _offset9 = alignNearest(frameRect.left, frameRect.right, frameRect.width, targetInline, targetInline + targetRect.width, targetRect.width);

@@ -82,2 +82,4 @@ function _extends() { _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; }; return _extends.apply(this, arguments); }

var viewportHeight = window.visualViewport ? window.visualViewport.height : viewport.clientHeight;
var viewportX = window.scrollX || window.pageXOffset;
var viewportY = window.scrollY || window.pageYOffset;

@@ -127,3 +129,3 @@ if (scrollMode === 'if-needed') {

if (viewport === frame) {
blockScroll = frame.scrollTop + targetBlock;
blockScroll = viewportY + targetBlock;
} else {

@@ -142,3 +144,3 @@ var offset = Math.min(targetBlock - frameRect.top, frame.scrollHeight - frame.clientHeight - frame.scrollTop);

if (viewport === frame) {
blockScroll = frame.scrollTop + targetBlock - frame.clientHeight / 2;
blockScroll = viewportY + targetBlock - frame.clientHeight / 2;
} else {

@@ -158,3 +160,3 @@ var _offset = 0 - Math.min(frameRect.top + frameRect.height / 2 - targetBlock, frame.scrollTop);

if (viewport === frame) {
blockScroll = frame.scrollTop + targetBlock - frame.clientHeight;
blockScroll = viewportY + targetBlock - frame.clientHeight;
} else {

@@ -174,5 +176,5 @@ var _offset2 = 0 - Math.min(frameRect.bottom - targetBlock, frame.scrollTop);

if (viewport === frame) {
var _offset3 = alignNearest(frame.scrollTop, frame.scrollTop + viewportHeight, viewportHeight, frame.scrollTop + targetBlock, frame.scrollTop + targetBlock + targetRect.height, targetRect.height);
var _offset3 = alignNearest(viewportY, viewportY + viewportHeight, viewportHeight, viewportY + targetBlock, viewportY + targetBlock + targetRect.height, targetRect.height);
blockScroll = frame.scrollTop + _offset3;
blockScroll = viewportY + _offset3;
} else {

@@ -192,3 +194,3 @@ var _offset4 = alignNearest(frameRect.top, frameRect.bottom, frameRect.height, targetBlock, targetBlock + targetRect.height, targetRect.height);

if (viewport === frame) {
inlineScroll = frame.scrollLeft + targetInline;
inlineScroll = viewportX + targetInline;
} else {

@@ -208,3 +210,3 @@ var _offset5 = Math.min(targetInline - frameRect.left, frame.scrollHeight - frame.clientLeft - frame.scrollLeft);

if (viewport === frame) {
inlineScroll = frame.scrollLeft + targetInline - frame.clientWidth / 2;
inlineScroll = viewportX + targetInline - frame.clientWidth / 2;
} else {

@@ -224,3 +226,3 @@ var _offset6 = 0 - Math.min(frameRect.left + frameRect.width / 2 - targetInline, frame.scrollLeft);

if (viewport === frame) {
inlineScroll = frame.scrollLeft + targetInline - frame.clientWidth;
inlineScroll = viewportX + targetInline - frame.clientWidth;
} else {

@@ -240,5 +242,5 @@ var _offset7 = 0 - Math.min(frameRect.right - targetInline, frame.scrollLeft);

if (viewport === frame) {
var _offset8 = alignNearest(frame.scrollLeft, frame.scrollLeft + viewportWidth, viewportWidth, frame.scrollLeft + targetInline, frame.scrollLeft + targetInline + targetRect.width, targetRect.width);
var _offset8 = alignNearest(viewportX, viewportX + viewportWidth, viewportWidth, viewportX + targetInline, viewportX + targetInline + targetRect.width, targetRect.width);
inlineScroll = frame.scrollLeft + _offset8;
inlineScroll = viewportX + _offset8;
} else {

@@ -245,0 +247,0 @@ var _offset9 = alignNearest(frameRect.left, frameRect.right, frameRect.width, targetInline, targetInline + targetRect.width, targetRect.width);

@@ -6,2 +6,3 @@ function _objectWithoutProperties(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]; } 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; }

import { compute } from './compute';
var supportsScrollBehavior;
export default (function (target, maybeOptions) {

@@ -14,2 +15,6 @@ if (maybeOptions === void 0) {

if (supportsScrollBehavior === undefined) {
supportsScrollBehavior = 'scrollBehavior' in document.documentElement.style;
}
if (maybeOptions === true || maybeOptions === null) {

@@ -51,3 +56,3 @@ options = {

if (el.scroll) {
if (el.scroll && supportsScrollBehavior) {
el.scroll({

@@ -59,6 +64,10 @@ top: top,

} else {
el.scrollTop = top;
el.scrollLeft = left;
if (el === document.documentElement) {
window.scrollTo(left, top);
} else {
el.scrollTop = top;
el.scrollLeft = left;
}
}
});
});

@@ -12,2 +12,4 @@ "use strict";

var supportsScrollBehavior;
var _default = function _default(target, maybeOptions) {

@@ -20,2 +22,6 @@ if (maybeOptions === void 0) {

if (supportsScrollBehavior === undefined) {
supportsScrollBehavior = 'scrollBehavior' in document.documentElement.style;
}
if (maybeOptions === true || maybeOptions === null) {

@@ -57,3 +63,3 @@ options = {

if (el.scroll) {
if (el.scroll && supportsScrollBehavior) {
el.scroll({

@@ -65,4 +71,8 @@ top: top,

} else {
el.scrollTop = top;
el.scrollLeft = left;
if (el === document.documentElement) {
window.scrollTo(left, top);
} else {
el.scrollTop = top;
el.scrollLeft = left;
}
}

@@ -69,0 +79,0 @@ });

@@ -11,3 +11,3 @@ {

},
"version": "2.1.1",
"version": "2.1.2",
"main": "index.js",

@@ -56,7 +56,7 @@ "files": [

"rollup-plugin-babel": "4.0.0-beta.4",
"rollup-plugin-commonjs": "9.1.0",
"rollup-plugin-commonjs": "9.1.1",
"rollup-plugin-node-resolve": "3.3.0",
"rollup-plugin-replace": "2.0.0",
"rollup-plugin-uglify": "3.0.0",
"semantic-release": "15.1.7",
"semantic-release": "15.1.8",
"typescript": "2.8.3"

@@ -89,7 +89,7 @@ },

"path": "./umd/scroll-into-view-if-needed.min.js",
"maxSize": "1.5 kB"
"maxSize": "1.75 kB"
},
{
"path": "./umd/scroll-into-view-if-needed.js",
"maxSize": "2.3 kB"
"maxSize": "3 kB"
}

@@ -96,0 +96,0 @@ ],

@@ -130,2 +130,4 @@ (function (global, factory) {

var viewportHeight = window.visualViewport ? window.visualViewport.height : viewport.clientHeight;
var viewportX = window.scrollX || window.pageXOffset;
var viewportY = window.scrollY || window.pageYOffset;

@@ -175,3 +177,3 @@ if (scrollMode === 'if-needed') {

if (viewport === frame) {
blockScroll = frame.scrollTop + targetBlock;
blockScroll = viewportY + targetBlock;
} else {

@@ -190,3 +192,3 @@ var offset = Math.min(targetBlock - frameRect.top, frame.scrollHeight - frame.clientHeight - frame.scrollTop);

if (viewport === frame) {
blockScroll = frame.scrollTop + targetBlock - frame.clientHeight / 2;
blockScroll = viewportY + targetBlock - frame.clientHeight / 2;
} else {

@@ -206,3 +208,3 @@ var _offset = 0 - Math.min(frameRect.top + frameRect.height / 2 - targetBlock, frame.scrollTop);

if (viewport === frame) {
blockScroll = frame.scrollTop + targetBlock - frame.clientHeight;
blockScroll = viewportY + targetBlock - frame.clientHeight;
} else {

@@ -222,5 +224,5 @@ var _offset2 = 0 - Math.min(frameRect.bottom - targetBlock, frame.scrollTop);

if (viewport === frame) {
var _offset3 = alignNearest(frame.scrollTop, frame.scrollTop + viewportHeight, viewportHeight, frame.scrollTop + targetBlock, frame.scrollTop + targetBlock + targetRect.height, targetRect.height);
var _offset3 = alignNearest(viewportY, viewportY + viewportHeight, viewportHeight, viewportY + targetBlock, viewportY + targetBlock + targetRect.height, targetRect.height);
blockScroll = frame.scrollTop + _offset3;
blockScroll = viewportY + _offset3;
} else {

@@ -240,3 +242,3 @@ var _offset4 = alignNearest(frameRect.top, frameRect.bottom, frameRect.height, targetBlock, targetBlock + targetRect.height, targetRect.height);

if (viewport === frame) {
inlineScroll = frame.scrollLeft + targetInline;
inlineScroll = viewportX + targetInline;
} else {

@@ -256,3 +258,3 @@ var _offset5 = Math.min(targetInline - frameRect.left, frame.scrollHeight - frame.clientLeft - frame.scrollLeft);

if (viewport === frame) {
inlineScroll = frame.scrollLeft + targetInline - frame.clientWidth / 2;
inlineScroll = viewportX + targetInline - frame.clientWidth / 2;
} else {

@@ -272,3 +274,3 @@ var _offset6 = 0 - Math.min(frameRect.left + frameRect.width / 2 - targetInline, frame.scrollLeft);

if (viewport === frame) {
inlineScroll = frame.scrollLeft + targetInline - frame.clientWidth;
inlineScroll = viewportX + targetInline - frame.clientWidth;
} else {

@@ -288,5 +290,5 @@ var _offset7 = 0 - Math.min(frameRect.right - targetInline, frame.scrollLeft);

if (viewport === frame) {
var _offset8 = alignNearest(frame.scrollLeft, frame.scrollLeft + viewportWidth, viewportWidth, frame.scrollLeft + targetInline, frame.scrollLeft + targetInline + targetRect.width, targetRect.width);
var _offset8 = alignNearest(viewportX, viewportX + viewportWidth, viewportWidth, viewportX + targetInline, viewportX + targetInline + targetRect.width, targetRect.width);
inlineScroll = frame.scrollLeft + _offset8;
inlineScroll = viewportX + _offset8;
} else {

@@ -309,2 +311,3 @@ var _offset9 = alignNearest(frameRect.left, frameRect.right, frameRect.width, targetInline, targetInline + targetRect.width, targetRect.width);

var supportsScrollBehavior;
var index = (function (target, maybeOptions) {

@@ -317,2 +320,6 @@ if (maybeOptions === void 0) {

if (supportsScrollBehavior === undefined) {
supportsScrollBehavior = 'scrollBehavior' in document.documentElement.style;
}
if (maybeOptions === true || maybeOptions === null) {

@@ -354,3 +361,3 @@ options = {

if (el.scroll) {
if (el.scroll && supportsScrollBehavior) {
el.scroll({

@@ -362,4 +369,8 @@ top: top,

} else {
el.scrollTop = top;
el.scrollLeft = left;
if (el === document.documentElement) {
window.scrollTo(left, top);
} else {
el.scrollTop = top;
el.scrollLeft = left;
}
}

@@ -366,0 +377,0 @@ });

@@ -1,1 +0,1 @@

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.scrollIntoView=e()}(this,function(){"use strict";function t(){return(t=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var o=arguments[e];for(var l in o)Object.prototype.hasOwnProperty.call(o,l)&&(t[l]=o[l])}return t}).apply(this,arguments)}var e=function(t){return null!=t&&"object"==typeof t&&1===t.nodeType},o=function(t,e){return"Y"===e?t.clientHeight<t.scrollHeight:"X"===e&&t.clientWidth<t.scrollWidth},l=function(t,e){var o=window.getComputedStyle(t,null)["overflow"+e];return"visible"!==o&&"clip"!==o},r=function(t,e,o,l,r,i){return l<t&&r>e||l>t&&r<e?0:l<t&&i<o||r>e&&i>o?l-t:r>e&&i<o||l<t&&i>o?r-e:0};return function(i,n){void 0===n&&(n=!0);var c={};!0===n||null===n?c={block:"start",inline:"nearest"}:!1===n?c={block:"end",inline:"nearest"}:n===Object(n)&&(c=0===Object.keys(n).length?{block:"start",inline:"nearest"}:t({block:"center",inline:"nearest"},n));var f=c,s=f.behavior,a=void 0===s?"auto":s,h=function(t,e){if(null==t)return{};var o,l,r={},i=Object.keys(t);for(l=0;l<i.length;l++)o=i[l],e.indexOf(o)>=0||(r[o]=t[o]);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(l=0;l<n.length;l++)o=n[l],e.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(r[o]=t[o])}return r}(f,["behavior"]),p=function(i,n){void 0===n&&(n={});var c=t({scrollMode:"always",block:"center",inline:"nearest"},n),f=c.scrollMode,s=c.block,a=c.inline,h=c.boundary,p="function"==typeof h?h:function(t){return t!==h};if(!e(i))throw new Error("Element is required in scrollIntoView");for(var u,d,v=i.getBoundingClientRect(),g=document.documentElement,w=[];e(u=i.parentNode)&&p(i);)(o(d=u,"Y")&&l(d,"Y")||o(d,"X")&&l(d,"X")||u===g)&&w.push(u),i=u;var b,m,y=window.visualViewport?window.visualViewport.width:g.clientWidth,L=window.visualViewport?window.visualViewport.height:g.clientHeight;return"if-needed"===f&&w.every(function(t){var e=t.getBoundingClientRect();if(v.top<e.top)return!1;if(v.bottom>e.bottom)return!1;if(t===g){if(v.bottom>L)return!1;if(v.left>y)return!1}return!0})?[]:w.map(function(t){var e=t.getBoundingClientRect(),o=0,l=0;if("start"===s)if(b||(b=v.top),g===t)o=t.scrollTop+b;else{var i=Math.min(b-e.top,t.scrollHeight-t.clientHeight-t.scrollTop);o=t.scrollTop+i,b-=o-t.scrollTop}if("center"===s)if(b||(b=v.top+v.height/2),g===t)o=t.scrollTop+b-t.clientHeight/2;else{var n=0-Math.min(e.top+e.height/2-b,t.scrollTop);o=t.scrollTop+n,b+=t.scrollTop-o}if("end"===s)if(b||(b=v.bottom),g===t)o=t.scrollTop+b-t.clientHeight;else{var c=0-Math.min(e.bottom-b,t.scrollTop);o=t.scrollTop+c,b+=t.scrollTop-o}if("nearest"===s)if(b||(b=v.top),g===t){var f=r(t.scrollTop,t.scrollTop+L,L,t.scrollTop+b,t.scrollTop+b+v.height,v.height);o=t.scrollTop+f}else{var h=r(e.top,e.bottom,e.height,b,b+v.height,v.height);o=t.scrollTop+h,b-=h}if("start"===a)if(m||(m=v.left),g===t)l=t.scrollLeft+m;else{var p=Math.min(m-e.left,t.scrollHeight-t.clientLeft-t.scrollLeft);l=t.scrollLeft+p,m-=l-t.scrollLeft}if("center"===a)if(m||(m=v.left+v.width/2),g===t)l=t.scrollLeft+m-t.clientWidth/2;else{var u=0-Math.min(e.left+e.width/2-m,t.scrollLeft);l=t.scrollLeft+u,m+=t.scrollLeft-l}if("end"===a)if(m||(m=v.right),g===t)l=t.scrollLeft+m-t.clientWidth;else{var d=0-Math.min(e.right-m,t.scrollLeft);l=t.scrollLeft+d,m+=t.scrollLeft-l}if("nearest"===a)if(m||(m=v.left),g===t){var w=r(t.scrollLeft,t.scrollLeft+y,y,t.scrollLeft+m,t.scrollLeft+m+v.width,v.width);l=t.scrollLeft+w}else{var T=r(e.left,e.right,e.width,m,m+v.width,v.width);l=t.scrollLeft+T,m-=T}return{el:t,top:o,left:l}})}(i,h);if("function"==typeof a)return a(p);p.forEach(function(t){var e=t.el,o=t.top,l=t.left;e.scroll?e.scroll({top:o,left:l,behavior:a}):(e.scrollTop=o,e.scrollLeft=l)})}});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.scrollIntoView=t()}(this,function(){"use strict";function e(){return(e=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i])}return e}).apply(this,arguments)}var t,o=function(e){return null!=e&&"object"==typeof e&&1===e.nodeType},i=function(e,t){return"Y"===t?e.clientHeight<e.scrollHeight:"X"===t&&e.clientWidth<e.scrollWidth},n=function(e,t){var o=window.getComputedStyle(e,null)["overflow"+t];return"visible"!==o&&"clip"!==o},l=function(e,t,o,i,n,l){return i<e&&n>t||i>e&&n<t?0:i<e&&l<o||n>t&&l>o?i-e:n>t&&l<o||i<e&&l>o?n-t:0};return function(r,c){void 0===c&&(c=!0);var f={};void 0===t&&(t="scrollBehavior"in document.documentElement.style),!0===c||null===c?f={block:"start",inline:"nearest"}:!1===c?f={block:"end",inline:"nearest"}:c===Object(c)&&(f=0===Object.keys(c).length?{block:"start",inline:"nearest"}:e({block:"center",inline:"nearest"},c));var s=f,a=s.behavior,u=void 0===a?"auto":a,h=function(e,t){if(null==e)return{};var o,i,n={},l=Object.keys(e);for(i=0;i<l.length;i++)o=l[i],t.indexOf(o)>=0||(n[o]=e[o]);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)o=r[i],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}(s,["behavior"]),d=function(t,r){void 0===r&&(r={});var c=e({scrollMode:"always",block:"center",inline:"nearest"},r),f=c.scrollMode,s=c.block,a=c.inline,u=c.boundary,h="function"==typeof u?u:function(e){return e!==u};if(!o(t))throw new Error("Element is required in scrollIntoView");for(var d,p,w=t.getBoundingClientRect(),v=document.documentElement,g=[];o(d=t.parentNode)&&h(t);)(i(p=d,"Y")&&n(p,"Y")||i(p,"X")&&n(p,"X")||d===v)&&g.push(d),t=d;var b,m,y=window.visualViewport?window.visualViewport.width:v.clientWidth,O=window.visualViewport?window.visualViewport.height:v.clientHeight,T=window.scrollX||window.pageXOffset,L=window.scrollY||window.pageYOffset;return"if-needed"===f&&g.every(function(e){var t=e.getBoundingClientRect();if(w.top<t.top)return!1;if(w.bottom>t.bottom)return!1;if(e===v){if(w.bottom>O)return!1;if(w.left>y)return!1}return!0})?[]:g.map(function(e){var t=e.getBoundingClientRect(),o=0,i=0;if("start"===s)if(b||(b=w.top),v===e)o=L+b;else{var n=Math.min(b-t.top,e.scrollHeight-e.clientHeight-e.scrollTop);o=e.scrollTop+n,b-=o-e.scrollTop}if("center"===s)if(b||(b=w.top+w.height/2),v===e)o=L+b-e.clientHeight/2;else{var r=0-Math.min(t.top+t.height/2-b,e.scrollTop);o=e.scrollTop+r,b+=e.scrollTop-o}if("end"===s)if(b||(b=w.bottom),v===e)o=L+b-e.clientHeight;else{var c=0-Math.min(t.bottom-b,e.scrollTop);o=e.scrollTop+c,b+=e.scrollTop-o}if("nearest"===s)if(b||(b=w.top),v===e){var f=l(L,L+O,O,L+b,L+b+w.height,w.height);o=L+f}else{var u=l(t.top,t.bottom,t.height,b,b+w.height,w.height);o=e.scrollTop+u,b-=u}if("start"===a)if(m||(m=w.left),v===e)i=T+m;else{var h=Math.min(m-t.left,e.scrollHeight-e.clientLeft-e.scrollLeft);i=e.scrollLeft+h,m-=i-e.scrollLeft}if("center"===a)if(m||(m=w.left+w.width/2),v===e)i=T+m-e.clientWidth/2;else{var d=0-Math.min(t.left+t.width/2-m,e.scrollLeft);i=e.scrollLeft+d,m+=e.scrollLeft-i}if("end"===a)if(m||(m=w.right),v===e)i=T+m-e.clientWidth;else{var p=0-Math.min(t.right-m,e.scrollLeft);i=e.scrollLeft+p,m+=e.scrollLeft-i}if("nearest"===a)if(m||(m=w.left),v===e){var g=l(T,T+y,y,T+m,T+m+w.width,w.width);i=T+g}else{var j=l(t.left,t.right,t.width,m,m+w.width,w.width);i=e.scrollLeft+j,m-=j}return{el:e,top:o,left:i}})}(r,h);if("function"==typeof u)return u(d);d.forEach(function(e){var o=e.el,i=e.top,n=e.left;o.scroll&&t?o.scroll({top:i,left:n,behavior:u}):o===document.documentElement?window.scrollTo(n,i):(o.scrollTop=i,o.scrollLeft=n)})}});
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