Current File : /home/n742ef5/royalanteam.com/wp-content/plugins/Ultimate_VC_Addons/assets/js/SmoothScroll.js |
! ( function () {
function o() {
b.keyboardSupport && H( 'keydown', w );
}
function p() {
if ( ! f && document.body ) {
f = ! 0;
const a = document.body,
e = document.documentElement,
k = window.innerHeight,
l = a.scrollHeight;
if (
( ( g = document.compatMode.indexOf( 'CSS' ) >= 0 ? e : a ),
( h = a ),
o(),
top != self )
)
d = ! 0;
else if (
l > k &&
( a.offsetHeight <= k || e.offsetHeight <= k )
) {
const m = document.createElement( 'div' );
( m.style.cssText =
'position:absolute; z-index:-10000; top:0; left:0; right:0; height:' +
g.scrollHeight +
'px' ),
document.body.appendChild( m );
let n;
( j = function () {
n ||
( n = setTimeout( function () {
c ||
( ( m.style.height = '0' ),
( m.style.height = g.scrollHeight + 'px' ),
( n = null ) );
}, 500 ) );
} ),
setTimeout( j, 10 ),
H( 'resize', j );
const p = {
attributes: ! 0,
childList: ! 0,
characterData: ! 1,
};
if (
( ( i = new R( j ) ),
i.observe( a, p ),
g.offsetHeight <= k )
) {
const q = document.createElement( 'div' );
( q.style.clear = 'both' ), a.appendChild( q );
}
}
b.fixedBackground ||
c ||
( ( a.style.backgroundAttachment = 'scroll' ),
( e.style.backgroundAttachment = 'scroll' ) );
}
}
function q() {
i && i.disconnect(),
I( Y, v ),
I( 'mousedown', x ),
I( 'keydown', w ),
I( 'resize', j ),
I( 'load', p );
}
function u( a, c, d ) {
if ( ( K( c, d ), 1 != b.accelerationMax ) ) {
const e = Date.now(),
f = e - t;
if ( f < b.accelerationDelta ) {
let g = ( 1 + 50 / f ) / 2;
g > 1 &&
( ( g = Math.min( g, b.accelerationMax ) ),
( c *= g ),
( d *= g ) );
}
t = Date.now();
}
if (
( r.push( {
x: c,
y: d,
lastX: 0 > c ? 0.99 : -0.99,
lastY: 0 > d ? 0.99 : -0.99,
start: Date.now(),
} ),
! s )
) {
var h = a === document.body,
i = function ( e ) {
for (
var f = Date.now(), g = 0, j = 0, k = 0;
k < r.length;
k++
) {
let l = r[ k ],
m = f - l.start,
n = m >= b.animationTime,
o = n ? 1 : m / b.animationTime;
b.pulseAlgorithm && ( o = U( o ) );
const p = ( l.x * o - l.lastX ) >> 0,
q = ( l.y * o - l.lastY ) >> 0;
( g += p ),
( j += q ),
( l.lastX += p ),
( l.lastY += q ),
n && ( r.splice( k, 1 ), k-- );
}
h
? window.scrollBy( g, j )
: ( g && ( a.scrollLeft += g ),
j && ( a.scrollTop += j ) ),
c || d || ( r = [] ),
r.length
? Q( i, a, 1e3 / b.frameRate + 1 )
: ( s = ! 1 );
};
Q( i, a, 0 ), ( s = ! 0 );
}
}
function v( a ) {
f || p();
const c = a.target,
d = D( c );
if ( ! d || a.defaultPrevented || a.ctrlKey ) return ! 0;
if (
J( h, 'embed' ) ||
( J( c, 'embed' ) && /\.pdf/i.test( c.src ) ) ||
J( h, 'object' ) ||
c.shadowRoot
)
return ! 0;
let e = -a.wheelDeltaX || a.deltaX || 0,
g = -a.wheelDeltaY || a.deltaY || 0;
return (
l &&
( a.wheelDeltaX &&
N( a.wheelDeltaX, 120 ) &&
( e =
-120 * ( a.wheelDeltaX / Math.abs( a.wheelDeltaX ) ) ),
a.wheelDeltaY &&
N( a.wheelDeltaY, 120 ) &&
( g =
-120 *
( a.wheelDeltaY / Math.abs( a.wheelDeltaY ) ) ) ),
e || g || ( g = -a.wheelDelta || 0 ),
1 === a.deltaMode && ( ( e *= 40 ), ( g *= 40 ) ),
! b.touchpadSupport && M( g )
? ! 0
: ( Math.abs( e ) > 1.2 && ( e *= b.stepSize / 120 ),
Math.abs( g ) > 1.2 && ( g *= b.stepSize / 120 ),
u( d, e, g ),
a.preventDefault(),
void B() )
);
}
function w( a ) {
const c = a.target,
d =
a.ctrlKey ||
a.altKey ||
a.metaKey ||
( a.shiftKey && a.keyCode !== m.spacebar );
document.body.contains( h ) || ( h = document.activeElement );
const e = /^(textarea|select|embed|object)$/i,
f = /^(button|submit|radio|checkbox|file|color|image)$/i;
if (
a.defaultPrevented ||
e.test( c.nodeName ) ||
( J( c, 'input' ) && ! f.test( c.type ) ) ||
J( h, 'video' ) ||
P( a ) ||
c.isContentEditable ||
d
)
return ! 0;
if (
( J( c, 'button' ) || ( J( c, 'input' ) && f.test( c.type ) ) ) &&
a.keyCode === m.spacebar
)
return ! 0;
if ( J( c, 'input' ) && 'radio' == c.type && n[ a.keyCode ] )
return ! 0;
let g,
i = 0,
j = 0,
k = D( h ),
l = k.clientHeight;
switch (
( k == document.body && ( l = window.innerHeight ), a.keyCode )
) {
case m.up:
j = -b.arrowScroll;
break;
case m.down:
j = b.arrowScroll;
break;
case m.spacebar:
( g = a.shiftKey ? 1 : -1 ), ( j = -g * l * 0.9 );
break;
case m.pageup:
j = 0.9 * -l;
break;
case m.pagedown:
j = 0.9 * l;
break;
case m.home:
j = -k.scrollTop;
break;
case m.end:
var o = k.scrollHeight - k.scrollTop - l;
j = o > 0 ? o + 10 : 0;
break;
case m.left:
i = -b.arrowScroll;
break;
case m.right:
i = b.arrowScroll;
break;
default:
return ! 0;
}
u( k, i, j ), a.preventDefault(), B();
}
function x( a ) {
h = a.target;
}
function B() {
clearTimeout( A ),
( A = setInterval( function () {
z = {};
}, 1e3 ) );
}
function C( a, b ) {
for ( let c = a.length; c--; ) z[ y( a[ c ] ) ] = b;
return b;
}
function D( a ) {
const b = [],
c = document.body,
e = g.scrollHeight;
do {
const f = z[ y( a ) ];
if ( f ) return C( b, f );
if ( ( b.push( a ), e === a.scrollHeight ) ) {
const h = F( g ) && F( c ),
i = h || G( g );
if ( ( d && E( g ) ) || ( ! d && i ) ) return C( b, S() );
} else if ( E( a ) && G( a ) ) return C( b, a );
} while ( ( a = a.parentElement ) );
}
function E( a ) {
return a.clientHeight + 10 < a.scrollHeight;
}
function F( a ) {
const b = getComputedStyle( a, '' ).getPropertyValue( 'overflow-y' );
return 'hidden' !== b;
}
function G( a ) {
const b = getComputedStyle( a, '' ).getPropertyValue( 'overflow-y' );
return 'scroll' === b || 'auto' === b;
}
function H( a, b ) {
window.addEventListener( a, b, ! 1 );
}
function I( a, b ) {
window.removeEventListener( a, b, ! 1 );
}
function J( a, b ) {
return ( a.nodeName || '' ).toLowerCase() === b.toLowerCase();
}
function K( a, b ) {
( a = a > 0 ? 1 : -1 ),
( b = b > 0 ? 1 : -1 ),
( e.x !== a || e.y !== b ) &&
( ( e.x = a ), ( e.y = b ), ( r = [] ), ( t = 0 ) );
}
function M( a ) {
return a
? ( k.length || ( k = [ a, a, a ] ),
( a = Math.abs( a ) ),
k.push( a ),
k.shift(),
clearTimeout( L ),
( L = setTimeout( function () {
window.localStorage &&
( localStorage.SS_deltaBuffer = k.join( ',' ) );
}, 1e3 ) ),
! O( 120 ) && ! O( 100 ) )
: void 0;
}
function N( a, b ) {
return Math.floor( a / b ) == a / b;
}
function O( a ) {
return N( k[ 0 ], a ) && N( k[ 1 ], a ) && N( k[ 2 ], a );
}
function P( a ) {
let b = a.target,
c = ! 1;
if ( -1 != document.URL.indexOf( 'www.youtube.com/watch' ) )
do
if (
( c =
b.classList &&
b.classList.contains( 'html5-video-controls' ) )
)
break;
while ( ( b = b.parentNode ) );
return c;
}
function T( a ) {
let c, d, e;
return (
( a *= b.pulseScale ),
1 > a
? ( c = a - ( 1 - Math.exp( -a ) ) )
: ( ( d = Math.exp( -1 ) ),
( a -= 1 ),
( e = 1 - Math.exp( -a ) ),
( c = d + e * ( 1 - d ) ) ),
c * b.pulseNormalize
);
}
function U( a ) {
return a >= 1
? 1
: 0 >= a
? 0
: ( 1 == b.pulseNormalize && ( b.pulseNormalize /= T( 1 ) ),
T( a ) );
}
function Z( c ) {
for ( const d in c ) a.hasOwnProperty( d ) && ( b[ d ] = c[ d ] );
}
var h,
i,
j,
A,
L,
a = {
frameRate: 150,
animationTime: php_vars.speed,
stepSize: php_vars.step,
pulseAlgorithm: ! 0,
pulseScale: 4,
pulseNormalize: 1,
accelerationDelta: 50,
accelerationMax: 3,
keyboardSupport: ! 0,
arrowScroll: 50,
touchpadSupport: ! 1,
fixedBackground: ! 0,
excluded: '',
},
b = a,
c = ! 1,
d = ! 1,
e = {
x: 0,
y: 0,
},
f = ! 1,
g = document.documentElement,
k = [],
l = /^Mac/.test( navigator.platform ),
m = {
left: 37,
up: 38,
right: 39,
down: 40,
spacebar: 32,
pageup: 33,
pagedown: 34,
end: 35,
home: 36,
},
n = {
37: 1,
38: 1,
39: 1,
40: 1,
},
r = [],
s = ! 1,
t = Date.now(),
y = ( function () {
let a = 0;
return function ( b ) {
return b.uniqueID || ( b.uniqueID = a++ );
};
} )(),
z = {};
window.localStorage &&
localStorage.SS_deltaBuffer &&
( k = localStorage.SS_deltaBuffer.split( ',' ) );
var Y,
Q = ( function () {
return (
window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
function ( a, b, c ) {
window.setTimeout( a, c || 1e3 / 60 );
}
);
} )(),
R =
window.MutationObserver ||
window.WebKitMutationObserver ||
window.MozMutationObserver,
S = ( function () {
let a;
return function () {
if ( ! a ) {
const b = document.createElement( 'div' );
( b.style.cssText = 'height:10000px;width:1px;' ),
document.body.appendChild( b );
const c = document.body.scrollTop;
document.documentElement.scrollTop;
window.scrollBy( 0, 3 ),
( a =
document.body.scrollTop != c
? document.body
: document.documentElement ),
window.scrollBy( 0, -3 ),
document.body.removeChild( b );
}
return a;
};
} )(),
V = window.navigator.userAgent,
W = /mobile/i.test( V ),
X = ! W;
'onwheel' in document.createElement( 'div' )
? ( Y = 'wheel' )
: 'onmousewheel' in document.createElement( 'div' ) &&
( Y = 'mousewheel' ),
Y && X && ( H( Y, v ), H( 'mousedown', x ), H( 'load', p ) ),
( Z.destroy = q ),
window.SmoothScrollOptions && Z( window.SmoothScrollOptions ),
'function' === typeof define && define.amd
? define( function () {
return Z;
} )
: 'object' === typeof exports
? ( module.exports = Z )
: ( window.SmoothScroll = Z );
} )();