| 8041 | } |
| 8042 | |
| 8043 | function propFilter( props, specialEasing ) { |
| 8044 | var index, name, easing, value, hooks; |
| 8045 | |
| 8046 | // camelCase, specialEasing and expand cssHook pass |
| 8047 | for ( index in props ) { |
| 8048 | name = jQuery.camelCase( index ); |
| 8049 | easing = specialEasing[ name ]; |
| 8050 | value = props[ index ]; |
| 8051 | if ( jQuery.isArray( value ) ) { |
| 8052 | easing = value[ 1 ]; |
| 8053 | value = props[ index ] = value[ 0 ]; |
| 8054 | } |
| 8055 | |
| 8056 | if ( index !== name ) { |
| 8057 | props[ name ] = value; |
| 8058 | delete props[ index ]; |
| 8059 | } |
| 8060 | |
| 8061 | hooks = jQuery.cssHooks[ name ]; |
| 8062 | if ( hooks && "expand" in hooks ) { |
| 8063 | value = hooks.expand( value ); |
| 8064 | delete props[ name ]; |
| 8065 | |
| 8066 | // not quite $.extend, this wont overwrite keys already present. |
| 8067 | // also - reusing 'index' from above because we have the correct "name" |
| 8068 | for ( index in value ) { |
| 8069 | if ( !( index in props ) ) { |
| 8070 | props[ index ] = value[ index ]; |
| 8071 | specialEasing[ index ] = easing; |
| 8072 | } |
| 8073 | } |
| 8074 | } else { |
| 8075 | specialEasing[ name ] = easing; |
| 8076 | } |
| 8077 | } |
| 8078 | } |
| 8079 | |
| 8080 | jQuery.Animation = jQuery.extend( Animation, { |
| 8081 | |