import React from 'react'; import { findDOMNode } from 'react-dom'; import classNames from 'classnames'; import { isCssAnimationSupported } from 'css-animation'; export default class Spin extends React.Component { static defaultProps = { prefixCls: 'ant-spin', spinning: true, // Backwards support spining: true, } static propTypes = { className: React.PropTypes.string, size: React.PropTypes.oneOf(['small', 'default', 'large']), } isNestedPattern() { return !!(this.props && this.props.children); } componentDidMount() { if (!isCssAnimationSupported) { // Show text in IE8/9 findDOMNode(this).className += ` ${this.props.prefixCls}-show-text`; } } render() { const { className, size, prefixCls, tip } = this.props; const spinning = this.props.spinning && this.props.spining; let spinClassName = classNames({ [prefixCls]: true, [`${prefixCls}-sm`]: size === 'small', [`${prefixCls}-lg`]: size === 'large', [className]: !!className, [`${prefixCls}-spinning`]: spinning, [`${prefixCls}-show-text`]: !!this.props.tip, }); const spinElement = (