| 8164 | } |
| 8165 | |
| 8166 | function propFilter( props, specialEasing ) { |
| 8167 | var index, name, easing, value, hooks; |
| 8168 | |
| 8169 | // camelCase, specialEasing and expand cssHook pass |
| 8170 | for ( index in props ) { |
| 8171 | name = jQuery.camelCase( index ); |
| 8172 | easing = specialEasing[ name ]; |
| 8173 | value = props[ index ]; |
| 8174 | if ( jQuery.isArray( value ) ) { |
| 8175 | easing = value[ 1 ]; |
| 8176 | value = props[ index ] = value[ 0 ]; |
| 8177 | } |
| 8178 | |
| 8179 | if ( index !== name ) { |
| 8180 | props[ name ] = value; |
| 8181 | delete props[ index ]; |
| 8182 | } |
| 8183 | |
| 8184 | hooks = jQuery.cssHooks[ name ]; |
| 8185 | if ( hooks && "expand" in hooks ) { |
| 8186 | value = hooks.expand( value ); |
| 8187 | delete props[ name ]; |
| 8188 | |
| 8189 | // not quite $.extend, this wont overwrite keys already present. |
| 8190 | // also - reusing 'index' from above because we have the correct "name" |
| 8191 | for ( index in value ) { |
| 8192 | if ( !( index in props ) ) { |
| 8193 | props[ index ] = value[ index ]; |
| 8194 | specialEasing[ index ] = easing; |
| 8195 | } |
| 8196 | } |
| 8197 | } else { |
| 8198 | specialEasing[ name ] = easing; |
| 8199 | } |
| 8200 | } |
| 8201 | } |
| 8202 | |
| 8203 | jQuery.Animation = jQuery.extend( Animation, { |
| 8204 | |