Download node_modules/jquery/src/effects.js from Leon4gr45/matomo: direct link, hf CLI and curl.
- Browser
- Download file 17.4 kB
-
https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/node_modules/jquery/src/effects.js
- Command line
-
hf download hf://spaces/Leon4gr45/matomo/node_modules/jquery/src/effects.js
-
curl -L -o effects.js https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/node_modules/jquery/src/effects.js
17.4 kB
| define( [ | |
| "./core", | |
| "./core/camelCase", | |
| "./var/document", | |
| "./var/isFunction", | |
| "./var/rcssNum", | |
| "./var/rnothtmlwhite", | |
| "./css/var/cssExpand", | |
| "./css/var/isHiddenWithinTree", | |
| "./css/adjustCSS", | |
| "./data/var/dataPriv", | |
| "./css/showHide", | |
| "./core/init", | |
| "./queue", | |
| "./deferred", | |
| "./traversing", | |
| "./manipulation", | |
| "./css", | |
| "./effects/Tween" | |
| ], function( jQuery, camelCase, document, isFunction, rcssNum, rnothtmlwhite, cssExpand, | |
| isHiddenWithinTree, adjustCSS, dataPriv, showHide ) { | |
| ; | |
| var | |
| fxNow, inProgress, | |
| rfxtypes = /^(?:toggle|show|hide)$/, | |
| rrun = /queueHooks$/; | |
| function schedule() { | |
| if ( inProgress ) { | |
| if ( document.hidden === false && window.requestAnimationFrame ) { | |
| window.requestAnimationFrame( schedule ); | |
| } else { | |
| window.setTimeout( schedule, jQuery.fx.interval ); | |
| } | |
| jQuery.fx.tick(); | |
| } | |
| } | |
| // Animations created synchronously will run synchronously | |
| function createFxNow() { | |
| window.setTimeout( function() { | |
| fxNow = undefined; | |
| } ); | |
| return ( fxNow = Date.now() ); | |
| } | |
| // Generate parameters to create a standard animation | |
| function genFx( type, includeWidth ) { | |
| var which, | |
| i = 0, | |
| attrs = { height: type }; | |
| // If we include width, step value is 1 to do all cssExpand values, | |
| // otherwise step value is 2 to skip over Left and Right | |
| includeWidth = includeWidth ? 1 : 0; | |
| for ( ; i < 4; i += 2 - includeWidth ) { | |
| which = cssExpand[ i ]; | |
| attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; | |
| } | |
| if ( includeWidth ) { | |
| attrs.opacity = attrs.width = type; | |
| } | |
| return attrs; | |
| } | |
| function createTween( value, prop, animation ) { | |
| var tween, | |
| collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), | |
| index = 0, | |
| length = collection.length; | |
| for ( ; index < length; index++ ) { | |
| if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { | |
| // We're done with this property | |
| return tween; | |
| } | |
| } | |
| } | |
| function defaultPrefilter( elem, props, opts ) { | |
| var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, | |
| isBox = "width" in props || "height" in props, | |
| anim = this, | |
| orig = {}, | |
| style = elem.style, | |
| hidden = elem.nodeType && isHiddenWithinTree( elem ), | |
| dataShow = dataPriv.get( elem, "fxshow" ); | |
| // Queue-skipping animations hijack the fx hooks | |
| if ( !opts.queue ) { | |
| hooks = jQuery._queueHooks( elem, "fx" ); | |
| if ( hooks.unqueued == null ) { | |
| hooks.unqueued = 0; | |
| oldfire = hooks.empty.fire; | |
| hooks.empty.fire = function() { | |
| if ( !hooks.unqueued ) { | |
| oldfire(); | |
| } | |
| }; | |
| } | |
| hooks.unqueued++; | |
| anim.always( function() { | |
| // Ensure the complete handler is called before this completes | |
| anim.always( function() { | |
| hooks.unqueued--; | |
| if ( !jQuery.queue( elem, "fx" ).length ) { | |
| hooks.empty.fire(); | |
| } | |
| } ); | |
| } ); | |
| } | |
| // Detect show/hide animations | |
| for ( prop in props ) { | |
| value = props[ prop ]; | |
| if ( rfxtypes.test( value ) ) { | |
| delete props[ prop ]; | |
| toggle = toggle || value === "toggle"; | |
| if ( value === ( hidden ? "hide" : "show" ) ) { | |
| // Pretend to be hidden if this is a "show" and | |
| // there is still data from a stopped show/hide | |
| if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { | |
| hidden = true; | |
| // Ignore all other no-op show/hide data | |
| } else { | |
| continue; | |
| } | |
| } | |
| orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); | |
| } | |
| } | |
| // Bail out if this is a no-op like .hide().hide() | |
| propTween = !jQuery.isEmptyObject( props ); | |
| if ( !propTween && jQuery.isEmptyObject( orig ) ) { | |
| return; | |
| } | |
| // Restrict "overflow" and "display" styles during box animations | |
| if ( isBox && elem.nodeType === 1 ) { | |
| // Support: IE <=9 - 11, Edge 12 - 15 | |
| // Record all 3 overflow attributes because IE does not infer the shorthand | |
| // from identically-valued overflowX and overflowY and Edge just mirrors | |
| // the overflowX value there. | |
| opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; | |
| // Identify a display type, preferring old show/hide data over the CSS cascade | |
| restoreDisplay = dataShow && dataShow.display; | |
| if ( restoreDisplay == null ) { | |
| restoreDisplay = dataPriv.get( elem, "display" ); | |
| } | |
| display = jQuery.css( elem, "display" ); | |
| if ( display === "none" ) { | |
| if ( restoreDisplay ) { | |
| display = restoreDisplay; | |
| } else { | |
| // Get nonempty value(s) by temporarily forcing visibility | |
| showHide( [ elem ], true ); | |
| restoreDisplay = elem.style.display || restoreDisplay; | |
| display = jQuery.css( elem, "display" ); | |
| showHide( [ elem ] ); | |
| } | |
| } | |
| // Animate inline elements as inline-block | |
| if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { | |
| if ( jQuery.css( elem, "float" ) === "none" ) { | |
| // Restore the original display value at the end of pure show/hide animations | |
| if ( !propTween ) { | |
| anim.done( function() { | |
| style.display = restoreDisplay; | |
| } ); | |
| if ( restoreDisplay == null ) { | |
| display = style.display; | |
| restoreDisplay = display === "none" ? "" : display; | |
| } | |
| } | |
| style.display = "inline-block"; | |
| } | |
| } | |
| } | |
| if ( opts.overflow ) { | |
| style.overflow = "hidden"; | |
| anim.always( function() { | |
| style.overflow = opts.overflow[ 0 ]; | |
| style.overflowX = opts.overflow[ 1 ]; | |
| style.overflowY = opts.overflow[ 2 ]; | |
| } ); | |
| } | |
| // Implement show/hide animations | |
| propTween = false; | |
| for ( prop in orig ) { | |
| // General show/hide setup for this element animation | |
| if ( !propTween ) { | |
| if ( dataShow ) { | |
| if ( "hidden" in dataShow ) { | |
| hidden = dataShow.hidden; | |
| } | |
| } else { | |
| dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); | |
| } | |
| // Store hidden/visible for toggle so `.stop().toggle()` "reverses" | |
| if ( toggle ) { | |
| dataShow.hidden = !hidden; | |
| } | |
| // Show elements before animating them | |
| if ( hidden ) { | |
| showHide( [ elem ], true ); | |
| } | |
| /* eslint-disable no-loop-func */ | |
| anim.done( function() { | |
| /* eslint-enable no-loop-func */ | |
| // The final step of a "hide" animation is actually hiding the element | |
| if ( !hidden ) { | |
| showHide( [ elem ] ); | |
| } | |
| dataPriv.remove( elem, "fxshow" ); | |
| for ( prop in orig ) { | |
| jQuery.style( elem, prop, orig[ prop ] ); | |
| } | |
| } ); | |
| } | |
| // Per-property setup | |
| propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); | |
| if ( !( prop in dataShow ) ) { | |
| dataShow[ prop ] = propTween.start; | |
| if ( hidden ) { | |
| propTween.end = propTween.start; | |
| propTween.start = 0; | |
| } | |
| } | |
| } | |
| } | |
| function propFilter( props, specialEasing ) { | |
| var index, name, easing, value, hooks; | |
| // camelCase, specialEasing and expand cssHook pass | |
| for ( index in props ) { | |
| name = camelCase( index ); | |
| easing = specialEasing[ name ]; | |
| value = props[ index ]; | |
| if ( Array.isArray( value ) ) { | |
| easing = value[ 1 ]; | |
| value = props[ index ] = value[ 0 ]; | |
| } | |
| if ( index !== name ) { | |
| props[ name ] = value; | |
| delete props[ index ]; | |
| } | |
| hooks = jQuery.cssHooks[ name ]; | |
| if ( hooks && "expand" in hooks ) { | |
| value = hooks.expand( value ); | |
| delete props[ name ]; | |
| // Not quite $.extend, this won't overwrite existing keys. | |
| // Reusing 'index' because we have the correct "name" | |
| for ( index in value ) { | |
| if ( !( index in props ) ) { | |
| props[ index ] = value[ index ]; | |
| specialEasing[ index ] = easing; | |
| } | |
| } | |
| } else { | |
| specialEasing[ name ] = easing; | |
| } | |
| } | |
| } | |
| function Animation( elem, properties, options ) { | |
| var result, | |
| stopped, | |
| index = 0, | |
| length = Animation.prefilters.length, | |
| deferred = jQuery.Deferred().always( function() { | |
| // Don't match elem in the :animated selector | |
| delete tick.elem; | |
| } ), | |
| tick = function() { | |
| if ( stopped ) { | |
| return false; | |
| } | |
| var currentTime = fxNow || createFxNow(), | |
| remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), | |
| // Support: Android 2.3 only | |
| // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497) | |
| temp = remaining / animation.duration || 0, | |
| percent = 1 - temp, | |
| index = 0, | |
| length = animation.tweens.length; | |
| for ( ; index < length; index++ ) { | |
| animation.tweens[ index ].run( percent ); | |
| } | |
| deferred.notifyWith( elem, [ animation, percent, remaining ] ); | |
| // If there's more to do, yield | |
| if ( percent < 1 && length ) { | |
| return remaining; | |
| } | |
| // If this was an empty animation, synthesize a final progress notification | |
| if ( !length ) { | |
| deferred.notifyWith( elem, [ animation, 1, 0 ] ); | |
| } | |
| // Resolve the animation and report its conclusion | |
| deferred.resolveWith( elem, [ animation ] ); | |
| return false; | |
| }, | |
| animation = deferred.promise( { | |
| elem: elem, | |
| props: jQuery.extend( {}, properties ), | |
| opts: jQuery.extend( true, { | |
| specialEasing: {}, | |
| easing: jQuery.easing._default | |
| }, options ), | |
| originalProperties: properties, | |
| originalOptions: options, | |
| startTime: fxNow || createFxNow(), | |
| duration: options.duration, | |
| tweens: [], | |
| createTween: function( prop, end ) { | |
| var tween = jQuery.Tween( elem, animation.opts, prop, end, | |
| animation.opts.specialEasing[ prop ] || animation.opts.easing ); | |
| animation.tweens.push( tween ); | |
| return tween; | |
| }, | |
| stop: function( gotoEnd ) { | |
| var index = 0, | |
| // If we are going to the end, we want to run all the tweens | |
| // otherwise we skip this part | |
| length = gotoEnd ? animation.tweens.length : 0; | |
| if ( stopped ) { | |
| return this; | |
| } | |
| stopped = true; | |
| for ( ; index < length; index++ ) { | |
| animation.tweens[ index ].run( 1 ); | |
| } | |
| // Resolve when we played the last frame; otherwise, reject | |
| if ( gotoEnd ) { | |
| deferred.notifyWith( elem, [ animation, 1, 0 ] ); | |
| deferred.resolveWith( elem, [ animation, gotoEnd ] ); | |
| } else { | |
| deferred.rejectWith( elem, [ animation, gotoEnd ] ); | |
| } | |
| return this; | |
| } | |
| } ), | |
| props = animation.props; | |
| propFilter( props, animation.opts.specialEasing ); | |
| for ( ; index < length; index++ ) { | |
| result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); | |
| if ( result ) { | |
| if ( isFunction( result.stop ) ) { | |
| jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = | |
| result.stop.bind( result ); | |
| } | |
| return result; | |
| } | |
| } | |
| jQuery.map( props, createTween, animation ); | |
| if ( isFunction( animation.opts.start ) ) { | |
| animation.opts.start.call( elem, animation ); | |
| } | |
| // Attach callbacks from options | |
| animation | |
| .progress( animation.opts.progress ) | |
| .done( animation.opts.done, animation.opts.complete ) | |
| .fail( animation.opts.fail ) | |
| .always( animation.opts.always ); | |
| jQuery.fx.timer( | |
| jQuery.extend( tick, { | |
| elem: elem, | |
| anim: animation, | |
| queue: animation.opts.queue | |
| } ) | |
| ); | |
| return animation; | |
| } | |
| jQuery.Animation = jQuery.extend( Animation, { | |
| tweeners: { | |
| "*": [ function( prop, value ) { | |
| var tween = this.createTween( prop, value ); | |
| adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); | |
| return tween; | |
| } ] | |
| }, | |
| tweener: function( props, callback ) { | |
| if ( isFunction( props ) ) { | |
| callback = props; | |
| props = [ "*" ]; | |
| } else { | |
| props = props.match( rnothtmlwhite ); | |
| } | |
| var prop, | |
| index = 0, | |
| length = props.length; | |
| for ( ; index < length; index++ ) { | |
| prop = props[ index ]; | |
| Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; | |
| Animation.tweeners[ prop ].unshift( callback ); | |
| } | |
| }, | |
| prefilters: [ defaultPrefilter ], | |
| prefilter: function( callback, prepend ) { | |
| if ( prepend ) { | |
| Animation.prefilters.unshift( callback ); | |
| } else { | |
| Animation.prefilters.push( callback ); | |
| } | |
| } | |
| } ); | |
| jQuery.speed = function( speed, easing, fn ) { | |
| var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { | |
| complete: fn || !fn && easing || | |
| isFunction( speed ) && speed, | |
| duration: speed, | |
| easing: fn && easing || easing && !isFunction( easing ) && easing | |
| }; | |
| // Go to the end state if fx are off | |
| if ( jQuery.fx.off ) { | |
| opt.duration = 0; | |
| } else { | |
| if ( typeof opt.duration !== "number" ) { | |
| if ( opt.duration in jQuery.fx.speeds ) { | |
| opt.duration = jQuery.fx.speeds[ opt.duration ]; | |
| } else { | |
| opt.duration = jQuery.fx.speeds._default; | |
| } | |
| } | |
| } | |
| // Normalize opt.queue - true/undefined/null -> "fx" | |
| if ( opt.queue == null || opt.queue === true ) { | |
| opt.queue = "fx"; | |
| } | |
| // Queueing | |
| opt.old = opt.complete; | |
| opt.complete = function() { | |
| if ( isFunction( opt.old ) ) { | |
| opt.old.call( this ); | |
| } | |
| if ( opt.queue ) { | |
| jQuery.dequeue( this, opt.queue ); | |
| } | |
| }; | |
| return opt; | |
| }; | |
| jQuery.fn.extend( { | |
| fadeTo: function( speed, to, easing, callback ) { | |
| // Show any hidden elements after setting opacity to 0 | |
| return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() | |
| // Animate to the value specified | |
| .end().animate( { opacity: to }, speed, easing, callback ); | |
| }, | |
| animate: function( prop, speed, easing, callback ) { | |
| var empty = jQuery.isEmptyObject( prop ), | |
| optall = jQuery.speed( speed, easing, callback ), | |
| doAnimation = function() { | |
| // Operate on a copy of prop so per-property easing won't be lost | |
| var anim = Animation( this, jQuery.extend( {}, prop ), optall ); | |
| // Empty animations, or finishing resolves immediately | |
| if ( empty || dataPriv.get( this, "finish" ) ) { | |
| anim.stop( true ); | |
| } | |
| }; | |
| doAnimation.finish = doAnimation; | |
| return empty || optall.queue === false ? | |
| this.each( doAnimation ) : | |
| this.queue( optall.queue, doAnimation ); | |
| }, | |
| stop: function( type, clearQueue, gotoEnd ) { | |
| var stopQueue = function( hooks ) { | |
| var stop = hooks.stop; | |
| delete hooks.stop; | |
| stop( gotoEnd ); | |
| }; | |
| if ( typeof type !== "string" ) { | |
| gotoEnd = clearQueue; | |
| clearQueue = type; | |
| type = undefined; | |
| } | |
| if ( clearQueue ) { | |
| this.queue( type || "fx", [] ); | |
| } | |
| return this.each( function() { | |
| var dequeue = true, | |
| index = type != null && type + "queueHooks", | |
| timers = jQuery.timers, | |
| data = dataPriv.get( this ); | |
| if ( index ) { | |
| if ( data[ index ] && data[ index ].stop ) { | |
| stopQueue( data[ index ] ); | |
| } | |
| } else { | |
| for ( index in data ) { | |
| if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { | |
| stopQueue( data[ index ] ); | |
| } | |
| } | |
| } | |
| for ( index = timers.length; index--; ) { | |
| if ( timers[ index ].elem === this && | |
| ( type == null || timers[ index ].queue === type ) ) { | |
| timers[ index ].anim.stop( gotoEnd ); | |
| dequeue = false; | |
| timers.splice( index, 1 ); | |
| } | |
| } | |
| // Start the next in the queue if the last step wasn't forced. | |
| // Timers currently will call their complete callbacks, which | |
| // will dequeue but only if they were gotoEnd. | |
| if ( dequeue || !gotoEnd ) { | |
| jQuery.dequeue( this, type ); | |
| } | |
| } ); | |
| }, | |
| finish: function( type ) { | |
| if ( type !== false ) { | |
| type = type || "fx"; | |
| } | |
| return this.each( function() { | |
| var index, | |
| data = dataPriv.get( this ), | |
| queue = data[ type + "queue" ], | |
| hooks = data[ type + "queueHooks" ], | |
| timers = jQuery.timers, | |
| length = queue ? queue.length : 0; | |
| // Enable finishing flag on private data | |
| data.finish = true; | |
| // Empty the queue first | |
| jQuery.queue( this, type, [] ); | |
| if ( hooks && hooks.stop ) { | |
| hooks.stop.call( this, true ); | |
| } | |
| // Look for any active animations, and finish them | |
| for ( index = timers.length; index--; ) { | |
| if ( timers[ index ].elem === this && timers[ index ].queue === type ) { | |
| timers[ index ].anim.stop( true ); | |
| timers.splice( index, 1 ); | |
| } | |
| } | |
| // Look for any animations in the old queue and finish them | |
| for ( index = 0; index < length; index++ ) { | |
| if ( queue[ index ] && queue[ index ].finish ) { | |
| queue[ index ].finish.call( this ); | |
| } | |
| } | |
| // Turn off finishing flag | |
| delete data.finish; | |
| } ); | |
| } | |
| } ); | |
| jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { | |
| var cssFn = jQuery.fn[ name ]; | |
| jQuery.fn[ name ] = function( speed, easing, callback ) { | |
| return speed == null || typeof speed === "boolean" ? | |
| cssFn.apply( this, arguments ) : | |
| this.animate( genFx( name, true ), speed, easing, callback ); | |
| }; | |
| } ); | |
| // Generate shortcuts for custom animations | |
| jQuery.each( { | |
| slideDown: genFx( "show" ), | |
| slideUp: genFx( "hide" ), | |
| slideToggle: genFx( "toggle" ), | |
| fadeIn: { opacity: "show" }, | |
| fadeOut: { opacity: "hide" }, | |
| fadeToggle: { opacity: "toggle" } | |
| }, function( name, props ) { | |
| jQuery.fn[ name ] = function( speed, easing, callback ) { | |
| return this.animate( props, speed, easing, callback ); | |
| }; | |
| } ); | |
| jQuery.timers = []; | |
| jQuery.fx.tick = function() { | |
| var timer, | |
| i = 0, | |
| timers = jQuery.timers; | |
| fxNow = Date.now(); | |
| for ( ; i < timers.length; i++ ) { | |
| timer = timers[ i ]; | |
| // Run the timer and safely remove it when done (allowing for external removal) | |
| if ( !timer() && timers[ i ] === timer ) { | |
| timers.splice( i--, 1 ); | |
| } | |
| } | |
| if ( !timers.length ) { | |
| jQuery.fx.stop(); | |
| } | |
| fxNow = undefined; | |
| }; | |
| jQuery.fx.timer = function( timer ) { | |
| jQuery.timers.push( timer ); | |
| jQuery.fx.start(); | |
| }; | |
| jQuery.fx.interval = 13; | |
| jQuery.fx.start = function() { | |
| if ( inProgress ) { | |
| return; | |
| } | |
| inProgress = true; | |
| schedule(); | |
| }; | |
| jQuery.fx.stop = function() { | |
| inProgress = null; | |
| }; | |
| jQuery.fx.speeds = { | |
| slow: 600, | |
| fast: 200, | |
| // Default speed | |
| _default: 400 | |
| }; | |
| return jQuery; | |
| } ); | |