| 8808 | } |
| 8809 | |
| 8810 | function propFilter( props, specialEasing ) { |
| 8811 | var value, name, index, easing, hooks; |
| 8812 | |
| 8813 | // camelCase, specialEasing and expand cssHook pass |
| 8814 | for ( index in props ) { |
| 8815 | name = jQuery.camelCase( index ); |
| 8816 | easing = specialEasing[ name ]; |
| 8817 | value = props[ index ]; |
| 8818 | if ( jQuery.isArray( value ) ) { |
| 8819 | easing = value[ 1 ]; |
| 8820 | value = props[ index ] = value[ 0 ]; |
| 8821 | } |
| 8822 | |
| 8823 | if ( index !== name ) { |
| 8824 | props[ name ] = value; |
| 8825 | delete props[ index ]; |
| 8826 | } |
| 8827 | |
| 8828 | hooks = jQuery.cssHooks[ name ]; |
| 8829 | if ( hooks && "expand" in hooks ) { |
| 8830 | value = hooks.expand( value ); |
| 8831 | delete props[ name ]; |
| 8832 | |
| 8833 | // not quite $.extend, this wont overwrite keys already present. |
| 8834 | // also - reusing 'index' from above because we have the correct "name" |
| 8835 | for ( index in value ) { |
| 8836 | if ( !( index in props ) ) { |
| 8837 | props[ index ] = value[ index ]; |
| 8838 | specialEasing[ index ] = easing; |
| 8839 | } |
| 8840 | } |
| 8841 | } else { |
| 8842 | specialEasing[ name ] = easing; |
| 8843 | } |
| 8844 | } |
| 8845 | } |
| 8846 | |
| 8847 | jQuery.Animation = jQuery.extend( Animation, { |
| 8848 | |