tix-react-ssr
Version:
Tiket.com React Project Scripts
3 lines • 4.48 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:true});var _jsx=function(){var REACT_ELEMENT_TYPE=typeof Symbol==="function"&&Symbol.for&&Symbol.for("react.element")||0xeac7;return function createRawReactElement(type,props,key,children){var defaultProps=type&&type.defaultProps;var childrenLength=arguments.length-3;if(!props&&childrenLength!==0){props={};}if(props&&defaultProps){for(var propName in defaultProps){if(props[propName]===void 0){props[propName]=defaultProps[propName];}}}else if(!props){props=defaultProps||{};}if(childrenLength===1){props.children=children;}else if(childrenLength>1){var childArray=Array(childrenLength);for(var i=0;i<childrenLength;i++){childArray[i]=arguments[i+3];}props.children=childArray;}return{$$typeof:REACT_ELEMENT_TYPE,type:type,key:key===undefined?null:''+key,ref:null,props:props,_owner:null};};}();var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _class,_temp2;var _react=require('react');var _react2=_interopRequireDefault(_react);var _propTypes=require('prop-types');var _classnames=require('classnames');var _classnames2=_interopRequireDefault(_classnames);require('./styles.css');function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var _ref2=_jsx('div',{className:'spinner-layer'},void 0,_jsx('div',{className:'circle-clipper left'},void 0,_jsx('div',{className:'circle'})),_jsx('div',{className:'gap-patch'},void 0,_jsx('div',{className:'circle'})),_jsx('div',{className:'circle-clipper right'},void 0,_jsx('div',{className:'circle'})));var Spinner=(_temp2=_class=function(_PureComponent){_inherits(Spinner,_PureComponent);function Spinner(){var _ref;var _temp,_this,_ret;_classCallCheck(this,Spinner);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn(this,(_ref=Spinner.__proto__||Object.getPrototypeOf(Spinner)).call.apply(_ref,[this].concat(args))),_this),_this.state={waiting:false,delaying:true},_temp),_possibleConstructorReturn(_this,_ret);}_createClass(Spinner,[{key:'componentDidMount',value:function componentDidMount(){var _this2=this;var _props=this.props,_props$delayMs=_props.delayMs,delayMs=_props$delayMs===undefined?100:_props$delayMs,waitMs=_props.waitMs;// Delay Before Hiding Spinner
this.delayTimeout=setTimeout(function(){_this2.setState({delaying:false});},delayMs);// Wait Before Showing Spinner
this.waitTimeout=setTimeout(function(){_this2.setState({waiting:true});},waitMs);}},{key:'componentWillUnmount',value:function componentWillUnmount(){clearTimeout(this.delayTimeout);clearTimeout(this.waitTimeout);}},{key:'render',value:function render(){var _props2=this.props,loading=_props2.loading,children=_props2.children,inline=_props2.inline,className=_props2.className;var _state=this.state,waiting=_state.waiting,delaying=_state.delaying;var finalClassName=(0,_classnames2.default)('spinner',inline,className);var Spin=_jsx('div',{className:finalClassName},void 0,_ref2);return waiting?delaying||loading?Spin:children||null:children||null;}}]);return Spinner;}(_react.PureComponent),_class.defaultProps={loading:true,delayMs:0,waitMs:0},_temp2);exports.default=Spinner;