diff options
Diffstat (limited to 'www/wiki/resources/src/jquery/jquery.color.js')
-rw-r--r-- | www/wiki/resources/src/jquery/jquery.color.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/www/wiki/resources/src/jquery/jquery.color.js b/www/wiki/resources/src/jquery/jquery.color.js new file mode 100644 index 00000000..894cf863 --- /dev/null +++ b/www/wiki/resources/src/jquery/jquery.color.js @@ -0,0 +1,55 @@ +/** + * jQuery Color Animations + * + * @author John Resig, 2007 + * @author Krinkle, 2011 + * Released under the MIT and GPL licenses. + * + * - 2011-01-05: Forked for MediaWiki. See also jQuery.colorUtil plugin + */ +( function ( $ ) { + + function getColor( elem, attr ) { + var color; + + do { + color = $.css( elem, attr ); + + // Keep going until we find an element that has color, or we hit the body + if ( color !== '' && color !== 'transparent' || elem.nodeName.toLowerCase() === 'body' ) { + break; + } + + attr = 'backgroundColor'; + // eslint-disable-next-line no-cond-assign + } while ( elem = elem.parentNode ); + + return $.colorUtil.getRGB( color ); + } + + // We override the animation for all of these color styles + [ + 'backgroundColor', + 'borderBottomColor', + 'borderLeftColor', + 'borderRightColor', + 'borderTopColor', + 'color', + 'outlineColor' + ].forEach( function ( attr ) { + $.fx.step[ attr ] = function ( fx ) { + if ( !fx.colorInit ) { + fx.start = getColor( fx.elem, attr ); + fx.end = $.colorUtil.getRGB( fx.end ); + fx.colorInit = true; + } + + fx.elem.style[ attr ] = 'rgb(' + [ + Math.max( Math.min( parseInt( ( fx.pos * ( fx.end[ 0 ] - fx.start[ 0 ] ) ) + fx.start[ 0 ], 10 ), 255 ), 0 ), + Math.max( Math.min( parseInt( ( fx.pos * ( fx.end[ 1 ] - fx.start[ 1 ] ) ) + fx.start[ 1 ], 10 ), 255 ), 0 ), + Math.max( Math.min( parseInt( ( fx.pos * ( fx.end[ 2 ] - fx.start[ 2 ] ) ) + fx.start[ 2 ], 10 ), 255 ), 0 ) + ].join( ',' ) + ')'; + }; + } ); + +}( jQuery ) ); |