diff --git a/dist/react-stars.js b/dist/react-stars.js index 975e59f..1e0397a 100644 --- a/dist/react-stars.js +++ b/dist/react-stars.js @@ -12,6 +12,10 @@ var _react = require('react'); var _react2 = _interopRequireDefault(_react); +var _propTypes = require('prop-types'); + +var _propTypes2 = _interopRequireDefault(_propTypes); + 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"); } } @@ -28,13 +32,24 @@ var parentStyles = { var defaultStyles = { position: 'relative', overflow: 'hidden', - cursor: 'pointer', display: 'block', float: 'left' }; var getHalfStarStyles = function getHalfStarStyles(color, uniqueness) { - return '\n .react-stars-' + uniqueness + ':before {\n position: absolute;\n overflow: hidden;\n display: block;\n z-index: 1;\n top: 0; left: 0;\n width: 50%;\n content: attr(data-forhalf);\n color: ' + color + ';\n }'; + return '\n .react-stars-' + uniqueness + ':before {\n position: absolute;\n overflow: hidden;\n display: block;\n z-index: 1;\n top: 0;\n left: 0;\n width: 50%;\n content: attr(data-forhalf);\n color: ' + color + ';\n }'; +}; + +var isDecimal = function isDecimal(value) { + return value % 1 !== 0; +}; + +var moreThanHalf = function moreThanHalf(event, size) { + var target = event.target; + + var mouseAt = event.clientX - target.getBoundingClientRect().left; + mouseAt = Math.round(Math.abs(mouseAt)); + return mouseAt > size / 2; }; var ReactStars = function (_Component) { @@ -43,92 +58,59 @@ var ReactStars = function (_Component) { function ReactStars(props) { _classCallCheck(this, ReactStars); - // set defaults - var _this = _possibleConstructorReturn(this, (ReactStars.__proto__ || Object.getPrototypeOf(ReactStars)).call(this, props)); - props = _extends({}, props); + var _this$props = _this.props, + value = _this$props.value, + half = _this$props.half; - if (typeof props.edit === 'undefined') { - props.edit = true; - } else { - props.edit = false; - } - if (typeof props.half === 'undefined') { - props.half = true; - } else { - props.half = false; - } + _this.mouseLeave = _this.mouseLeave.bind(_this); + _this.mouseOver = _this.mouseOver.bind(_this); + _this.clicked = _this.clicked.bind(_this); + _this.renderStars = _this.renderStars.bind(_this); _this.state = { - uniqueness: (Math.random() + '').replace('.', ''), - value: props.value || 0, - stars: [], + uniqueness: ('' + Math.random()).replace('.', ''), + value: value, + stars: _this.getStars(value), halfStar: { - at: Math.floor(props.value), - hidden: props.half && props.value % 1 < 0.5 + at: Math.floor(value), + hidden: half && value % 1 < 0.5 } }; - - _this.state.config = { - count: props.count || 5, - size: props.size || 15, - char: props.char || '★', - // default color of inactive star - color1: props.color1 || 'gray', - // color of an active star - color2: props.color2 || '#ffd700', - half: props.half, - edit: props.edit - }; - return _this; } _createClass(ReactStars, [{ - key: 'componentDidMount', - value: function componentDidMount() { - this.setState({ - stars: this.getStars(this.state.value) - }); - } - }, { key: 'componentWillReceiveProps', - value: function componentWillReceiveProps(props) { + value: function componentWillReceiveProps(nextProps) { + var half = this.props.half; + this.setState({ - stars: this.getStars(props.value), - value: props.value, + stars: this.getStars(nextProps.value), + value: nextProps.value, halfStar: { - at: Math.floor(props.value), - hidden: this.state.config.half && props.value % 1 < 0.5 + at: Math.floor(nextProps.value), + hidden: half && nextProps.value % 1 < 0.5 } }); } - }, { - key: 'isDecimal', - value: function isDecimal(value) { - return value % 1 !== 0; - } }, { key: 'getRate', value: function getRate() { - var stars = void 0; - if (this.state.config.half) { - stars = Math.floor(this.state.value); - } else { - stars = Math.round(this.state.value); - } - return stars; + var value = this.state.value; + + return this.props.half ? Math.floor(value) : Math.round(value); } }, { key: 'getStars', - value: function getStars(activeCount) { - if (typeof activeCount === 'undefined') { - activeCount = this.getRate(); - } + value: function getStars(newCount) { + var count = this.props.count; + + var activeCount = typeof newCount === 'undefined' ? this.getRate() : newCount; var stars = []; - for (var i = 0; i < this.state.config.count; i++) { + for (var i = 0; i < count; i += 1) { stars.push({ active: i <= activeCount - 1 }); @@ -138,44 +120,34 @@ var ReactStars = function (_Component) { }, { key: 'mouseOver', value: function mouseOver(event) { - var _state = this.state, - config = _state.config, - halfStar = _state.halfStar; + var halfStar = this.state.halfStar; + var _props = this.props, + half = _props.half, + size = _props.size; - if (!config.edit) return; var index = Number(event.target.getAttribute('data-index')); - if (config.half) { - var isAtHalf = this.moreThanHalf(event, config.size); + if (half) { + var isAtHalf = moreThanHalf(event, size); halfStar.hidden = isAtHalf; - if (isAtHalf) index = index + 1; + if (isAtHalf) index += 1; halfStar.at = index; } else { - index = index + 1; + index += 1; } this.setState({ stars: this.getStars(index) }); } - }, { - key: 'moreThanHalf', - value: function moreThanHalf(event, size) { - var target = event.target; - - var mouseAt = event.clientX - target.getBoundingClientRect().left; - mouseAt = Math.round(Math.abs(mouseAt)); - return mouseAt > size / 2; - } }, { key: 'mouseLeave', value: function mouseLeave() { - var _state2 = this.state, - value = _state2.value, - halfStar = _state2.halfStar, - config = _state2.config; + var _state = this.state, + value = _state.value, + halfStar = _state.halfStar; + var half = this.props.half; - if (!config.edit) return; - if (config.half) { - halfStar.hidden = !this.isDecimal(value); + if (half) { + halfStar.hidden = !isDecimal(value); halfStar.at = Math.floor(this.state.value); } this.setState({ @@ -185,21 +157,22 @@ var ReactStars = function (_Component) { }, { key: 'clicked', value: function clicked(event) { - var _state3 = this.state, - config = _state3.config, - halfStar = _state3.halfStar; + var halfStar = this.state.halfStar; + var _props2 = this.props, + half = _props2.half, + size = _props2.size; - if (!config.edit) return; var index = Number(event.target.getAttribute('data-index')); var value = void 0; - if (config.half) { - var isAtHalf = this.moreThanHalf(event, config.size); + if (half) { + var isAtHalf = moreThanHalf(event, size); halfStar.hidden = isAtHalf; - if (isAtHalf) index = index + 1; - value = isAtHalf ? index : index + .5; + if (isAtHalf) index += 1; + value = isAtHalf ? index : index + 0.5; halfStar.at = index; } else { - value = index = index + 1; + index += 1; + value = index; } this.setState({ value: value, @@ -210,30 +183,29 @@ var ReactStars = function (_Component) { }, { key: 'renderHalfStarStyleElement', value: function renderHalfStarStyleElement() { - var _state4 = this.state, - config = _state4.config, - uniqueness = _state4.uniqueness; + var uniqueness = this.state.uniqueness; + var color2 = this.props.color2; - return _react2.default.createElement('style', { dangerouslySetInnerHTML: { - __html: getHalfStarStyles(config.color2, uniqueness) - } }); + return _react2.default.createElement('style', { dangerouslySetInnerHTML: { __html: getHalfStarStyles(color2, uniqueness) } }); } }, { key: 'renderStars', value: function renderStars() { - var _this2 = this; - - var _state5 = this.state, - halfStar = _state5.halfStar, - stars = _state5.stars, - uniqueness = _state5.uniqueness, - config = _state5.config; - var color1 = config.color1, - color2 = config.color2, - size = config.size, - char = config.char, - half = config.half, - edit = config.edit; + var _state2 = this.state, + halfStar = _state2.halfStar, + stars = _state2.stars, + uniqueness = _state2.uniqueness; + var _props3 = this.props, + color1 = _props3.color1, + color2 = _props3.color2, + edit = _props3.edit, + size = _props3.size, + char = _props3.char, + half = _props3.half; + + var onClick = edit ? this.clicked : function () {}; + var onMouseOver = edit ? this.mouseOver : function () {}; + var onMouseLeave = edit ? this.mouseLeave : function () {}; return stars.map(function (star, i) { var starClass = ''; @@ -245,18 +217,20 @@ var ReactStars = function (_Component) { cursor: edit ? 'pointer' : 'default', fontSize: size + 'px' }); + return _react2.default.createElement( 'span', { className: starClass, style: style, - key: i, + key: 'star-' + i, 'data-index': i, 'data-forhalf': char, - onMouseOver: _this2.mouseOver.bind(_this2), - onMouseMove: _this2.mouseOver.bind(_this2), - onMouseLeave: _this2.mouseLeave.bind(_this2), - onClick: _this2.clicked.bind(_this2) }, + onMouseOver: onMouseOver, + onMouseMove: onMouseOver, + onMouseLeave: onMouseLeave, + onClick: onClick + }, char ); }); @@ -264,13 +238,15 @@ var ReactStars = function (_Component) { }, { key: 'render', value: function render() { - var className = this.props.className; + var _props4 = this.props, + className = _props4.className, + half = _props4.half; return _react2.default.createElement( 'div', { className: className, style: parentStyles }, - this.state.config.half ? this.renderHalfStarStyleElement() : '', + half && this.renderHalfStarStyleElement(), this.renderStars() ); } @@ -279,16 +255,30 @@ var ReactStars = function (_Component) { return ReactStars; }(_react.Component); +ReactStars.displayName = 'ReactStars'; +ReactStars.defaultProps = { + char: '★', + className: '', + color1: 'gray', + color2: '#ffd700', + count: 5, + edit: true, + half: true, + size: 15, + value: 0, + onChange: function onChange() {} +}; ReactStars.propTypes = { - className: _react.PropTypes.string, - edit: _react.PropTypes.bool, - half: _react.PropTypes.bool, - value: _react.PropTypes.number, - count: _react.PropTypes.number, - char: _react.PropTypes.string, - size: _react.PropTypes.number, - color1: _react.PropTypes.string, - color2: _react.PropTypes.string + char: _propTypes2.default.string, + className: _propTypes2.default.string, + color1: _propTypes2.default.string, + color2: _propTypes2.default.string, + count: _propTypes2.default.number, + edit: _propTypes2.default.bool, + half: _propTypes2.default.bool, + onChange: _propTypes2.default.func, + size: _propTypes2.default.number, + value: _propTypes2.default.number }; exports.default = ReactStars; \ No newline at end of file diff --git a/example/bundle.js b/example/bundle.js index 0831a7a..97fbf2f 100644 --- a/example/bundle.js +++ b/example/bundle.js @@ -1,10 +1,10 @@ !function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([/*!******************!*\ !*** multi main ***! \******************/ -function(e,t,n){e.exports=n(/*! ./example/index.js */78)},/*!*********************************!*\ +function(e,t,n){e.exports=n(/*! ./example/index.js */79)},/*!*********************************!*\ !*** ./~/fbjs/lib/invariant.js ***! \*********************************/ -function(e,t,n){"use strict";function r(e,t,n,r,i,a,s,u){if(o(t),!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,i,a,s,u],p=0;l=new Error(t.replace(/%s/g,function(){return c[p++]})),l.name="Invariant Violation"}throw l.framesToPop=1,l}}var o=function(e){};e.exports=r},/*!*******************************!*\ +function(e,t,n){"use strict";function r(e,t,n,r,a,i,s,u){if(o(t),!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,a,i,s,u],p=0;l=new Error(t.replace(/%s/g,function(){return c[p++]})),l.name="Invariant Violation"}throw l.framesToPop=1,l}}var o=function(e){};e.exports=r},/*!*******************************!*\ !*** ./~/fbjs/lib/warning.js ***! \*******************************/ function(e,t,n){"use strict";var r=n(/*! ./emptyFunction */7),o=r;e.exports=o},/*!***********************************************!*\ @@ -18,10 +18,10 @@ function(e,t){/* (c) Sindre Sorhus @license MIT */ -"use strict";function n(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function r(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if("0123456789"!==r.join(""))return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach(function(e){o[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},o)).join("")}catch(e){return!1}}var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=r()?Object.assign:function(e,t){for(var r,s,u=n(e),l=1;l1){for(var m=Array(v),g=0;g1){for(var _=Array(y),b=0;b1){for(var v=Array(m),g=0;g1){for(var _=Array(y),b=0;b]/;e.exports=r},/*!*****************************************!*\ +function(e,t){"use strict";function n(e){var t=""+e,n=o.exec(t);if(!n)return t;var r,a="",i=0,s=0;for(i=n.index;i]/;e.exports=r},/*!*****************************************!*\ !*** ./~/react-dom/lib/setInnerHTML.js ***! \*****************************************/ -function(e,t,n){"use strict";var r,o=n(/*! fbjs/lib/ExecutionEnvironment */6),i=n(/*! ./DOMNamespaces */31),a=/^[ \r\n\t\f]/,s=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,u=n(/*! ./createMicrosoftUnsafeLocalFunction */39),l=u(function(e,t){if(e.namespaceURI!==i.svg||"innerHTML"in e)e.innerHTML=t;else{r=r||document.createElement("div"),r.innerHTML=""+t+"";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(o.canUseDOM){var c=document.createElement("div");c.innerHTML=" ",""===c.innerHTML&&(l=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),a.test(t)||"<"===t[0]&&s.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),c=null}e.exports=l},/*!************************************!*\ +function(e,t,n){"use strict";var r,o=n(/*! fbjs/lib/ExecutionEnvironment */6),a=n(/*! ./DOMNamespaces */31),i=/^[ \r\n\t\f]/,s=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,u=n(/*! ./createMicrosoftUnsafeLocalFunction */39),l=u(function(e,t){if(e.namespaceURI!==a.svg||"innerHTML"in e)e.innerHTML=t;else{r=r||document.createElement("div"),r.innerHTML=""+t+"";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(o.canUseDOM){var c=document.createElement("div");c.innerHTML=" ",""===c.innerHTML&&(l=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),i.test(t)||"<"===t[0]&&s.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),c=null}e.exports=l},/*!************************************!*\ !*** ./~/fbjs/lib/shallowEqual.js ***! \************************************/ -function(e,t){"use strict";function n(e,t){return e===t?0!==e||0!==t||1/e===1/t:e!==e&&t!==t}function r(e,t){if(n(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;for(var a=0;a-1?void 0:a("96",e),!l.plugins[n]){t.extractEvents?void 0:a("97",e),l.plugins[n]=t;var r=t.eventTypes;for(var i in r)o(r[i],t,i)?void 0:a("98",i,e)}}}function o(e,t,n){l.eventNameDispatchConfigs.hasOwnProperty(n)?a("99",n):void 0,l.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var o in r)if(r.hasOwnProperty(o)){var s=r[o];i(s,t,n)}return!0}return!!e.registrationName&&(i(e.registrationName,t,n),!0)}function i(e,t,n){l.registrationNameModules[e]?a("100",e):void 0,l.registrationNameModules[e]=t,l.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var a=n(/*! ./reactProdInvariant */3),s=(n(/*! fbjs/lib/invariant */1),null),u={},l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){s?a("101"):void 0,s=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];u.hasOwnProperty(n)&&u[n]===o||(u[n]?a("102",n):void 0,u[n]=o,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var o=l.registrationNameModules[n[r]];if(o)return o}}return null},_resetEventPlugins:function(){s=null;for(var e in u)u.hasOwnProperty(e)&&delete u[e];l.plugins.length=0;var t=l.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=l.registrationNameModules;for(var o in r)r.hasOwnProperty(o)&&delete r[o]}};e.exports=l},/*!*********************************************!*\ +function(e,t,n){"use strict";function r(){if(s)for(var e in u){var t=u[e],n=s.indexOf(e);if(n>-1?void 0:i("96",e),!l.plugins[n]){t.extractEvents?void 0:i("97",e),l.plugins[n]=t;var r=t.eventTypes;for(var a in r)o(r[a],t,a)?void 0:i("98",a,e)}}}function o(e,t,n){l.eventNameDispatchConfigs.hasOwnProperty(n)?i("99",n):void 0,l.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var o in r)if(r.hasOwnProperty(o)){var s=r[o];a(s,t,n)}return!0}return!!e.registrationName&&(a(e.registrationName,t,n),!0)}function a(e,t,n){l.registrationNameModules[e]?i("100",e):void 0,l.registrationNameModules[e]=t,l.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var i=n(/*! ./reactProdInvariant */3),s=(n(/*! fbjs/lib/invariant */1),null),u={},l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){s?i("101"):void 0,s=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];u.hasOwnProperty(n)&&u[n]===o||(u[n]?i("102",n):void 0,u[n]=o,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var o=l.registrationNameModules[n[r]];if(o)return o}}return null},_resetEventPlugins:function(){s=null;for(var e in u)u.hasOwnProperty(e)&&delete u[e];l.plugins.length=0;var t=l.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=l.registrationNameModules;for(var o in r)r.hasOwnProperty(o)&&delete r[o]}};e.exports=l},/*!*********************************************!*\ !*** ./~/react-dom/lib/EventPluginUtils.js ***! \*********************************************/ -function(e,t,n){"use strict";function r(e){return"topMouseUp"===e||"topTouchEnd"===e||"topTouchCancel"===e}function o(e){return"topMouseMove"===e||"topTouchMove"===e}function i(e){return"topMouseDown"===e||"topTouchStart"===e}function a(e,t,n,r){var o=e.type||"unknown-event";e.currentTarget=g.getNodeFromInstance(r),t?v.invokeGuardedCallbackWithCatch(o,n,e):v.invokeGuardedCallback(o,n,e),e.currentTarget=null}function s(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(Array.isArray(n))for(var o=0;o0&&r.length<20?n+" (keys: "+r.join(", ")+")":n}function i(e,t){var n=s.get(e);return n?n:null}var a=n(/*! ./reactProdInvariant */3),s=(n(/*! react/lib/ReactCurrentOwner */11),n(/*! ./ReactInstanceMap */20)),u=(n(/*! ./ReactInstrumentation */8),n(/*! ./ReactUpdates */9)),l=(n(/*! fbjs/lib/invariant */1),n(/*! fbjs/lib/warning */2),{isMounted:function(e){var t=s.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){l.validateCallback(t,n);var o=i(e);return o?(o._pendingCallbacks?o._pendingCallbacks.push(t):o._pendingCallbacks=[t],void r(o)):null},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],r(e)},enqueueForceUpdate:function(e){var t=i(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,r(t))},enqueueReplaceState:function(e,t,n){var o=i(e,"replaceState");o&&(o._pendingStateQueue=[t],o._pendingReplaceState=!0,void 0!==n&&null!==n&&(l.validateCallback(n,"replaceState"),o._pendingCallbacks?o._pendingCallbacks.push(n):o._pendingCallbacks=[n]),r(o))},enqueueSetState:function(e,t){var n=i(e,"setState");if(n){var o=n._pendingStateQueue||(n._pendingStateQueue=[]);o.push(t),r(n)}},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,r(e)},validateCallback:function(e,t){e&&"function"!=typeof e?a("122",t,o(e)):void 0}});e.exports=l},/*!***************************************************************!*\ +function(e,t,n){"use strict";function r(e){u.enqueueUpdate(e)}function o(e){var t=typeof e;if("object"!==t)return t;var n=e.constructor&&e.constructor.name||t,r=Object.keys(e);return r.length>0&&r.length<20?n+" (keys: "+r.join(", ")+")":n}function a(e,t){var n=s.get(e);return n?n:null}var i=n(/*! ./reactProdInvariant */3),s=(n(/*! react/lib/ReactCurrentOwner */11),n(/*! ./ReactInstanceMap */20)),u=(n(/*! ./ReactInstrumentation */8),n(/*! ./ReactUpdates */9)),l=(n(/*! fbjs/lib/invariant */1),n(/*! fbjs/lib/warning */2),{isMounted:function(e){var t=s.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){l.validateCallback(t,n);var o=a(e);return o?(o._pendingCallbacks?o._pendingCallbacks.push(t):o._pendingCallbacks=[t],void r(o)):null},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],r(e)},enqueueForceUpdate:function(e){var t=a(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,r(t))},enqueueReplaceState:function(e,t,n){var o=a(e,"replaceState");o&&(o._pendingStateQueue=[t],o._pendingReplaceState=!0,void 0!==n&&null!==n&&(l.validateCallback(n,"replaceState"),o._pendingCallbacks?o._pendingCallbacks.push(n):o._pendingCallbacks=[n]),r(o))},enqueueSetState:function(e,t){var n=a(e,"setState");if(n){var o=n._pendingStateQueue||(n._pendingStateQueue=[]);o.push(t),r(n)}},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,r(e)},validateCallback:function(e,t){e&&"function"!=typeof e?i("122",t,o(e)):void 0}});e.exports=l},/*!***************************************************************!*\ !*** ./~/react-dom/lib/createMicrosoftUnsafeLocalFunction.js ***! \***************************************************************/ function(e,t){"use strict";var n=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,o)})}:e};e.exports=n},/*!*********************************************!*\ @@ -149,10 +149,10 @@ function(e,t,n){"use strict";/** * @internal * @license Modernizr 3.0.0pre (Custom Build) | MIT */ -function r(e,t){if(!i.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var a=document.createElement("div");a.setAttribute(n,"return;"),r="function"==typeof a[n]}return!r&&o&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var o,i=n(/*! fbjs/lib/ExecutionEnvironment */6);i.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),e.exports=r},/*!*******************************************************!*\ +function r(e,t){if(!a.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var i=document.createElement("div");i.setAttribute(n,"return;"),r="function"==typeof i[n]}return!r&&o&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var o,a=n(/*! fbjs/lib/ExecutionEnvironment */6);a.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),e.exports=r},/*!*******************************************************!*\ !*** ./~/react-dom/lib/shouldUpdateReactComponent.js ***! \*******************************************************/ -function(e,t){"use strict";function n(e,t){var n=null===e||e===!1,r=null===t||t===!1;if(n||r)return n===r;var o=typeof e,i=typeof t;return"string"===o||"number"===o?"string"===i||"number"===i:"object"===i&&e.type===t.type&&e.key===t.key}e.exports=n},/*!***********************************************!*\ +function(e,t){"use strict";function n(e,t){var n=null===e||e===!1,r=null===t||t===!1;if(n||r)return n===r;var o=typeof e,a=typeof t;return"string"===o||"number"===o?"string"===a||"number"===a:"object"===a&&e.type===t.type&&e.key===t.key}e.exports=n},/*!***********************************************!*\ !*** ./~/react-dom/lib/validateDOMNesting.js ***! \***********************************************/ function(e,t,n){"use strict";var r=(n(/*! object-assign */4),n(/*! fbjs/lib/emptyFunction */7)),o=(n(/*! fbjs/lib/warning */2),r);e.exports=o},/*!*************************************!*\ @@ -167,25 +167,28 @@ function(e,t){"use strict";function n(e){try{e.focus()}catch(e){}}e.exports=n},/ function(e,t){"use strict";function n(e){if(e=e||("undefined"!=typeof document?document:void 0),"undefined"==typeof e)return null;try{return e.activeElement||e.body}catch(t){return e.body}}e.exports=n},/*!******************************!*\ !*** ./~/process/browser.js ***! \******************************/ -function(e,t){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function o(e){if(c===setTimeout)return setTimeout(e,0);if((c===n||!c)&&setTimeout)return c=setTimeout,setTimeout(e,0);try{return c(e,0)}catch(t){try{return c.call(null,e,0)}catch(t){return c.call(this,e,0)}}}function i(e){if(p===clearTimeout)return clearTimeout(e);if((p===r||!p)&&clearTimeout)return p=clearTimeout,clearTimeout(e);try{return p(e)}catch(t){try{return p.call(null,e)}catch(t){return p.call(this,e)}}}function a(){v&&f&&(v=!1,f.length?h=f.concat(h):m=-1,h.length&&s())}function s(){if(!v){var e=o(a);v=!0;for(var t=h.length;t;){for(f=h,h=[];++m1)for(var n=1;n1)for(var n=1;n.":"function"==typeof t?" Instead of passing a class like Foo, pass React.createElement(Foo) or .":null!=t&&void 0!==t.props?" This may be caused by unintentionally loading two independent copies of React.":"");var a,s=m.createElement(F,{child:t});if(e){var u=E.get(e);a=u._processChildContext(u._context)}else a=P;var c=d(n);if(c){var p=c._currentElement,h=p.props.child;if(M(h,t)){var v=c._renderedComponent.getPublicInstance(),g=r&&function(){r.call(v)};return j._updateRootComponent(c,s,a,n,g),v}j.unmountComponentAtNode(n)}var y=o(n),_=y&&!!i(y),b=l(n),C=_&&!c&&!b,x=j._renderNewRootComponent(s,n,C,a)._renderedComponent.getPublicInstance();return r&&r.call(x),x},render:function(e,t,n){return j._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){c(e)?void 0:f("40");var t=d(e);return t?(delete L[t._instance.rootID],T.batchedUpdates(u,t,e,!1),!0):(l(e),1===e.nodeType&&e.hasAttribute(O),!1)},_mountImageIntoNode:function(e,t,n,i,a){if(c(t)?void 0:f("41"),i){var s=o(t);if(x.canReuseMarkup(e,s))return void y.precacheNode(n,s);var u=s.getAttribute(x.CHECKSUM_ATTR_NAME);s.removeAttribute(x.CHECKSUM_ATTR_NAME);var l=s.outerHTML;s.setAttribute(x.CHECKSUM_ATTR_NAME,u);var p=e,d=r(p,l),v=" (client) "+p.substring(d-20,d+20)+"\n (server) "+l.substring(d-20,d+20);t.nodeType===R?f("42",v):void 0}if(t.nodeType===R?f("43"):void 0,a.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);h.insertTreeBefore(t,e,null)}else N(t,e),y.precacheNode(n,t.firstChild)}};e.exports=j},/*!*******************************************!*\ +function(e,t,n){"use strict";function r(e,t){for(var n=Math.min(e.length,t.length),r=0;r.":"function"==typeof t?" Instead of passing a class like Foo, pass React.createElement(Foo) or .":null!=t&&void 0!==t.props?" This may be caused by unintentionally loading two independent copies of React.":"");var i,s=v.createElement(F,{child:t});if(e){var u=E.get(e);i=u._processChildContext(u._context)}else i=P;var c=d(n);if(c){var p=c._currentElement,h=p.props.child;if(M(h,t)){var m=c._renderedComponent.getPublicInstance(),g=r&&function(){r.call(m)};return j._updateRootComponent(c,s,i,n,g),m}j.unmountComponentAtNode(n)}var y=o(n),_=y&&!!a(y),b=l(n),C=_&&!c&&!b,x=j._renderNewRootComponent(s,n,C,i)._renderedComponent.getPublicInstance();return r&&r.call(x),x},render:function(e,t,n){return j._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){c(e)?void 0:f("40");var t=d(e);return t?(delete L[t._instance.rootID],T.batchedUpdates(u,t,e,!1),!0):(l(e),1===e.nodeType&&e.hasAttribute(O),!1)},_mountImageIntoNode:function(e,t,n,a,i){if(c(t)?void 0:f("41"),a){var s=o(t);if(x.canReuseMarkup(e,s))return void y.precacheNode(n,s);var u=s.getAttribute(x.CHECKSUM_ATTR_NAME);s.removeAttribute(x.CHECKSUM_ATTR_NAME);var l=s.outerHTML;s.setAttribute(x.CHECKSUM_ATTR_NAME,u);var p=e,d=r(p,l),m=" (client) "+p.substring(d-20,d+20)+"\n (server) "+l.substring(d-20,d+20);t.nodeType===A?f("42",m):void 0}if(t.nodeType===A?f("43"):void 0,i.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);h.insertTreeBefore(t,e,null)}else N(t,e),y.precacheNode(n,t.firstChild)}};e.exports=j},/*!*******************************************!*\ !*** ./~/react-dom/lib/ReactNodeTypes.js ***! \*******************************************/ -function(e,t,n){"use strict";var r=n(/*! ./reactProdInvariant */3),o=n(/*! react/lib/React */16),i=(n(/*! fbjs/lib/invariant */1),{HOST:0,COMPOSITE:1,EMPTY:2,getType:function(e){return null===e||e===!1?i.EMPTY:o.isValidElement(e)?"function"==typeof e.type?i.COMPOSITE:i.HOST:void r("26",e)}});e.exports=i},/*!********************************************!*\ +function(e,t,n){"use strict";var r=n(/*! ./reactProdInvariant */3),o=n(/*! react/lib/React */16),a=(n(/*! fbjs/lib/invariant */1),{HOST:0,COMPOSITE:1,EMPTY:2,getType:function(e){return null===e||e===!1?a.EMPTY:o.isValidElement(e)?"function"==typeof e.type?a.COMPOSITE:a.HOST:void r("26",e)}});e.exports=a},/*!********************************************!*\ !*** ./~/react-dom/lib/ViewportMetrics.js ***! \********************************************/ function(e,t){"use strict";var n={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){n.currentScrollLeft=e.x,n.currentScrollTop=e.y}};e.exports=n},/*!*******************************************!*\ @@ -215,31 +218,31 @@ function(e,t,n){"use strict";function r(e,t){return null==t?o("30"):void 0,null= function(e,t){"use strict";function n(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}e.exports=n},/*!**********************************************************!*\ !*** ./~/react-dom/lib/getHostComponentFromComposite.js ***! \**********************************************************/ -function(e,t,n){"use strict";function r(e){for(var t;(t=e._renderedNodeType)===o.COMPOSITE;)e=e._renderedComponent;return t===o.HOST?e._renderedComponent:t===o.EMPTY?null:void 0}var o=n(/*! ./ReactNodeTypes */61);e.exports=r},/*!***************************************************!*\ +function(e,t,n){"use strict";function r(e){for(var t;(t=e._renderedNodeType)===o.COMPOSITE;)e=e._renderedComponent;return t===o.HOST?e._renderedComponent:t===o.EMPTY?null:void 0}var o=n(/*! ./ReactNodeTypes */62);e.exports=r},/*!***************************************************!*\ !*** ./~/react-dom/lib/getTextContentAccessor.js ***! \***************************************************/ -function(e,t,n){"use strict";function r(){return!i&&o.canUseDOM&&(i="textContent"in document.documentElement?"textContent":"innerText"),i}var o=n(/*! fbjs/lib/ExecutionEnvironment */6),i=null;e.exports=r},/*!***********************************************!*\ +function(e,t,n){"use strict";function r(){return!a&&o.canUseDOM&&(a="textContent"in document.documentElement?"textContent":"innerText"),a}var o=n(/*! fbjs/lib/ExecutionEnvironment */6),a=null;e.exports=r},/*!***********************************************!*\ !*** ./~/react-dom/lib/inputValueTracking.js ***! \***********************************************/ -function(e,t,n){"use strict";function r(e){var t=e.type,n=e.nodeName;return n&&"input"===n.toLowerCase()&&("checkbox"===t||"radio"===t)}function o(e){return e._wrapperState.valueTracker}function i(e,t){e._wrapperState.valueTracker=t}function a(e){delete e._wrapperState.valueTracker}function s(e){var t;return e&&(t=r(e)?""+e.checked:e.value),t}var u=n(/*! ./ReactDOMComponentTree */5),l={_getTrackerFromNode:function(e){return o(u.getInstanceFromNode(e))},track:function(e){if(!o(e)){var t=u.getNodeFromInstance(e),n=r(t)?"checked":"value",s=Object.getOwnPropertyDescriptor(t.constructor.prototype,n),l=""+t[n];t.hasOwnProperty(n)||"function"!=typeof s.get||"function"!=typeof s.set||(Object.defineProperty(t,n,{enumerable:s.enumerable,configurable:!0,get:function(){return s.get.call(this)},set:function(e){l=""+e,s.set.call(this,e)}}),i(e,{getValue:function(){return l},setValue:function(e){l=""+e},stopTracking:function(){a(e),delete t[n]}}))}},updateValueIfChanged:function(e){if(!e)return!1;var t=o(e);if(!t)return l.track(e),!0;var n=t.getValue(),r=s(u.getNodeFromInstance(e));return r!==n&&(t.setValue(r),!0)},stopTracking:function(e){var t=o(e);t&&t.stopTracking()}};e.exports=l},/*!******************************************************!*\ +function(e,t,n){"use strict";function r(e){var t=e.type,n=e.nodeName;return n&&"input"===n.toLowerCase()&&("checkbox"===t||"radio"===t)}function o(e){return e._wrapperState.valueTracker}function a(e,t){e._wrapperState.valueTracker=t}function i(e){delete e._wrapperState.valueTracker}function s(e){var t;return e&&(t=r(e)?""+e.checked:e.value),t}var u=n(/*! ./ReactDOMComponentTree */5),l={_getTrackerFromNode:function(e){return o(u.getInstanceFromNode(e))},track:function(e){if(!o(e)){var t=u.getNodeFromInstance(e),n=r(t)?"checked":"value",s=Object.getOwnPropertyDescriptor(t.constructor.prototype,n),l=""+t[n];t.hasOwnProperty(n)||"function"!=typeof s.get||"function"!=typeof s.set||(Object.defineProperty(t,n,{enumerable:s.enumerable,configurable:!0,get:function(){return s.get.call(this)},set:function(e){l=""+e,s.set.call(this,e)}}),a(e,{getValue:function(){return l},setValue:function(e){l=""+e},stopTracking:function(){i(e),delete t[n]}}))}},updateValueIfChanged:function(e){if(!e)return!1;var t=o(e);if(!t)return l.track(e),!0;var n=t.getValue(),r=s(u.getNodeFromInstance(e));return r!==n&&(t.setValue(r),!0)},stopTracking:function(e){var t=o(e);t&&t.stopTracking()}};e.exports=l},/*!******************************************************!*\ !*** ./~/react-dom/lib/instantiateReactComponent.js ***! \******************************************************/ -function(e,t,n){"use strict";function r(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}function o(e){return"function"==typeof e&&"undefined"!=typeof e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}function i(e,t){var n;if(null===e||e===!1)n=l.create(i);else if("object"==typeof e){var s=e,u=s.type;if("function"!=typeof u&&"string"!=typeof u){var d="";d+=r(s._owner),a("130",null==u?u:typeof u,d)}"string"==typeof s.type?n=c.createInternalComponent(s):o(s.type)?(n=new s.type(s),n.getHostNode||(n.getHostNode=n.getNativeNode)):n=new p(s)}else"string"==typeof e||"number"==typeof e?n=c.createInstanceForText(e):a("131",typeof e);return n._mountIndex=0,n._mountImage=null,n}var a=n(/*! ./reactProdInvariant */3),s=n(/*! object-assign */4),u=n(/*! ./ReactCompositeComponent */109),l=n(/*! ./ReactEmptyComponent */56),c=n(/*! ./ReactHostComponent */58),p=(n(/*! react/lib/getNextDebugID */168),n(/*! fbjs/lib/invariant */1),n(/*! fbjs/lib/warning */2),function(e){this.construct(e)});s(p.prototype,u,{_instantiateReactComponent:i}),e.exports=i},/*!***********************************************!*\ +function(e,t,n){"use strict";function r(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}function o(e){return"function"==typeof e&&"undefined"!=typeof e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}function a(e,t){var n;if(null===e||e===!1)n=l.create(a);else if("object"==typeof e){var s=e,u=s.type;if("function"!=typeof u&&"string"!=typeof u){var d="";d+=r(s._owner),i("130",null==u?u:typeof u,d)}"string"==typeof s.type?n=c.createInternalComponent(s):o(s.type)?(n=new s.type(s),n.getHostNode||(n.getHostNode=n.getNativeNode)):n=new p(s)}else"string"==typeof e||"number"==typeof e?n=c.createInstanceForText(e):i("131",typeof e);return n._mountIndex=0,n._mountImage=null,n}var i=n(/*! ./reactProdInvariant */3),s=n(/*! object-assign */4),u=n(/*! ./ReactCompositeComponent */111),l=n(/*! ./ReactEmptyComponent */57),c=n(/*! ./ReactHostComponent */59),p=(n(/*! react/lib/getNextDebugID */170),n(/*! fbjs/lib/invariant */1),n(/*! fbjs/lib/warning */2),function(e){this.construct(e)});s(p.prototype,u,{_instantiateReactComponent:a}),e.exports=a},/*!***********************************************!*\ !*** ./~/react-dom/lib/isTextInputElement.js ***! \***********************************************/ function(e,t){"use strict";function n(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!r[e.type]:"textarea"===t}var r={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};e.exports=n},/*!*******************************************!*\ !*** ./~/react-dom/lib/setTextContent.js ***! \*******************************************/ -function(e,t,n){"use strict";var r=n(/*! fbjs/lib/ExecutionEnvironment */6),o=n(/*! ./escapeTextContentForBrowser */27),i=n(/*! ./setInnerHTML */28),a=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(a=function(e,t){return 3===e.nodeType?void(e.nodeValue=t):void i(e,o(t))})),e.exports=a},/*!************************************************!*\ +function(e,t,n){"use strict";var r=n(/*! fbjs/lib/ExecutionEnvironment */6),o=n(/*! ./escapeTextContentForBrowser */27),a=n(/*! ./setInnerHTML */28),i=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(i=function(e,t){return 3===e.nodeType?void(e.nodeValue=t):void a(e,o(t))})),e.exports=i},/*!************************************************!*\ !*** ./~/react-dom/lib/traverseAllChildren.js ***! \************************************************/ -function(e,t,n){"use strict";function r(e,t){return e&&"object"==typeof e&&null!=e.key?l.escape(e.key):t.toString(36)}function o(e,t,n,i){var d=typeof e;if("undefined"!==d&&"boolean"!==d||(e=null),null===e||"string"===d||"number"===d||"object"===d&&e.$$typeof===s)return n(i,e,""===t?c+r(e,0):t),1;var f,h,v=0,m=""===t?c:t+p;if(Array.isArray(e))for(var g=0;gt/2}},{key:"mouseLeave",value:function(){var e=this.state,t=e.value,n=e.halfStar,r=e.config;r.edit&&(r.half&&(n.hidden=!this.isDecimal(t),n.at=Math.floor(this.state.value)),this.setState({stars:this.getStars()}))}},{key:"clicked",value:function(e){var t=this.state,n=t.config,r=t.halfStar;if(n.edit){var o=Number(e.target.getAttribute("data-index")),i=void 0;if(n.half){var a=this.moreThanHalf(e,n.size);r.hidden=a,a&&(o+=1),i=a?o:o+.5,r.at=o}else i=o+=1;this.setState({value:i,stars:this.getStars(o)}),this.props.onChange(i)}}},{key:"renderHalfStarStyleElement",value:function(){var e=this.state,t=e.config,n=e.uniqueness;return c.default.createElement("style",{dangerouslySetInnerHTML:{__html:f(t.color2,n)}})}},{key:"renderStars",value:function(){var e=this,t=this.state,n=t.halfStar,r=t.stars,o=t.uniqueness,i=t.config,a=i.color1,u=i.color2,l=i.size,p=i.char,f=i.half,h=i.edit;return r.map(function(t,r){var i="";f&&!n.hidden&&n.at===r&&(i="react-stars-"+o);var v=s({},d,{color:t.active?u:a,cursor:h?"pointer":"default",fontSize:l+"px"});return c.default.createElement("span",{className:i,style:v,key:r,"data-index":r,"data-forhalf":p,onMouseOver:e.mouseOver.bind(e),onMouseMove:e.mouseOver.bind(e),onMouseLeave:e.mouseLeave.bind(e),onClick:e.clicked.bind(e)},p)})}},{key:"render",value:function(){var e=this.props.className;return c.default.createElement("div",{className:e,style:p},this.state.config.half?this.renderHalfStarStyleElement():"",this.renderStars())}}]),t}(l.Component);h.propTypes={className:l.PropTypes.string,edit:l.PropTypes.bool,half:l.PropTypes.bool,value:l.PropTypes.number,count:l.PropTypes.number,char:l.PropTypes.string,size:l.PropTypes.number,color1:l.PropTypes.string,color2:l.PropTypes.string},t.default=h},/*!*****************************************!*\ +function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var s=Object.assign||function(e){for(var t=1;tt/2},y=function(e){function t(e){o(this,t);var n=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e)),r=n.props,i=r.value,s=r.half;return n.mouseLeave=n.mouseLeave.bind(n),n.mouseOver=n.mouseOver.bind(n),n.clicked=n.clicked.bind(n),n.renderStars=n.renderStars.bind(n),n.state={uniqueness:(""+Math.random()).replace(".",""),value:i,stars:n.getStars(i),halfStar:{at:Math.floor(i),hidden:s&&i%1<.5}},n}return i(t,e),u(t,[{key:"componentWillReceiveProps",value:function(e){var t=this.props.half;this.setState({stars:this.getStars(e.value),value:e.value,halfStar:{at:Math.floor(e.value),hidden:t&&e.value%1<.5}})}},{key:"getRate",value:function(){var e=this.state.value;return this.props.half?Math.floor(e):Math.round(e)}},{key:"getStars",value:function(e){for(var t=this.props.count,n="undefined"==typeof e?this.getRate():e,r=[],o=0;o":a.innerHTML="<"+e+">",s[e]=!a.firstChild),s[e]?d[e]:null}var o=n(/*! ./ExecutionEnvironment */6),i=n(/*! ./invariant */1),a=o.canUseDOM?document.createElement("div"):null,s={},u=[1,'"],l=[1,"","
"],c=[3,"","
"],p=[1,'',""],d={"*":[1,"?
","
"],area:[1,"",""],col:[2,"","
"],legend:[1,"
","
"],param:[1,"",""],tr:[2,"","
"],optgroup:u,option:u,caption:l,colgroup:l,tbody:l,tfoot:l,thead:l,td:c,th:c},f=["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"];f.forEach(function(e){d[e]=p,s[e]=!0}),e.exports=r},/*!**************************************************!*\ +function(e,t,n){"use strict";function r(e){return i?void 0:a(!1),d.hasOwnProperty(e)||(e="*"),s.hasOwnProperty(e)||("*"===e?i.innerHTML="":i.innerHTML="<"+e+">",s[e]=!i.firstChild),s[e]?d[e]:null}var o=n(/*! ./ExecutionEnvironment */6),a=n(/*! ./invariant */1),i=o.canUseDOM?document.createElement("div"):null,s={},u=[1,'"],l=[1,"","
"],c=[3,"","
"],p=[1,'',""],d={"*":[1,"?
","
"],area:[1,"",""],col:[2,"","
"],legend:[1,"
","
"],param:[1,"",""],tr:[2,"","
"],optgroup:u,option:u,caption:l,colgroup:l,tbody:l,tfoot:l,thead:l,td:c,th:c},f=["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"];f.forEach(function(e){d[e]=p,s[e]=!0}),e.exports=r},/*!**************************************************!*\ !*** ./~/fbjs/lib/getUnboundedScrollPosition.js ***! \**************************************************/ function(e,t){"use strict";function n(e){return e.Window&&e instanceof e.Window?{x:e.pageXOffset||e.document.documentElement.scrollLeft,y:e.pageYOffset||e.document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}e.exports=n},/*!*********************************!*\ @@ -287,145 +290,148 @@ function(e,t){"use strict";function n(e){return e.Window&&e instanceof e.Window? function(e,t){"use strict";function n(e){return e.replace(r,"-$1").toLowerCase()}var r=/([A-Z])/g;e.exports=n},/*!******************************************!*\ !*** ./~/fbjs/lib/hyphenateStyleName.js ***! \******************************************/ -function(e,t,n){"use strict";function r(e){return o(e).replace(i,"-ms-")}var o=n(/*! ./hyphenate */88),i=/^ms-/;e.exports=r},/*!******************************!*\ +function(e,t,n){"use strict";function r(e){return o(e).replace(a,"-ms-")}var o=n(/*! ./hyphenate */89),a=/^ms-/;e.exports=r},/*!******************************!*\ !*** ./~/fbjs/lib/isNode.js ***! \******************************/ function(e,t){"use strict";function n(e){var t=e?e.ownerDocument||e:document,n=t.defaultView||window;return!(!e||!("function"==typeof n.Node?e instanceof n.Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}e.exports=n},/*!**********************************!*\ !*** ./~/fbjs/lib/isTextNode.js ***! \**********************************/ -function(e,t,n){"use strict";function r(e){return o(e)&&3==e.nodeType}var o=n(/*! ./isNode */90);e.exports=r},/*!*****************************************!*\ +function(e,t,n){"use strict";function r(e){return o(e)&&3==e.nodeType}var o=n(/*! ./isNode */91);e.exports=r},/*!*****************************************!*\ !*** ./~/fbjs/lib/memoizeStringOnly.js ***! \*****************************************/ function(e,t){"use strict";function n(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}e.exports=n},/*!****************************************!*\ !*** ./~/prop-types/checkPropTypes.js ***! \****************************************/ -function(e,t,n){"use strict";function r(e,t,n,r,o){}e.exports=r},/*!*************************************************!*\ +function(e,t,n){"use strict";function r(e,t,n,r,o){}e.exports=r},/*!**************************************************!*\ + !*** ./~/prop-types/factoryWithThrowingShims.js ***! + \**************************************************/ +function(e,t,n){"use strict";var r=n(/*! fbjs/lib/emptyFunction */7),o=n(/*! fbjs/lib/invariant */1),a=n(/*! ./lib/ReactPropTypesSecret */51);e.exports=function(){function e(e,t,n,r,i,s){s!==a&&o(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t};return n.checkPropTypes=r,n.PropTypes=n,n}},/*!*************************************************!*\ !*** ./~/prop-types/factoryWithTypeCheckers.js ***! \*************************************************/ -function(e,t,n){"use strict";var r=n(/*! fbjs/lib/emptyFunction */7),o=n(/*! fbjs/lib/invariant */1),i=n(/*! fbjs/lib/warning */2),a=n(/*! ./lib/ReactPropTypesSecret */95),s=n(/*! ./checkPropTypes */93);e.exports=function(e,t){function n(e){var t=e&&(P&&e[P]||e[S]);if("function"==typeof t)return t}function u(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function l(e){this.message=e,this.stack=""}function c(e){function n(n,r,i,s,u,c,p){return s=s||N,c=c||i,p!==a&&t&&o(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"),null==r[i]?n?new l(null===r[i]?"The "+u+" `"+c+"` is marked as required "+("in `"+s+"`, but its value is `null`."):"The "+u+" `"+c+"` is marked as required in "+("`"+s+"`, but its value is `undefined`.")):null:e(r,i,s,u,c)}var r=n.bind(null,!1);return r.isRequired=n.bind(null,!0),r}function p(e){function t(t,n,r,o,i,a){var s=t[n],u=x(s);if(u!==e){var c=w(s);return new l("Invalid "+o+" `"+i+"` of type "+("`"+c+"` supplied to `"+r+"`, expected ")+("`"+e+"`."))}return null}return c(t)}function d(){return c(r.thatReturnsNull)}function f(e){function t(t,n,r,o,i){if("function"!=typeof e)return new l("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var s=t[n];if(!Array.isArray(s)){var u=x(s);return new l("Invalid "+o+" `"+i+"` of type "+("`"+u+"` supplied to `"+r+"`, expected an array."))}for(var c=0;c8&&C<=11),w=32,k=String.fromCharCode(w),T={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:["topBlur","topCompositionEnd","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:["topBlur","topCompositionStart","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:["topBlur","topCompositionUpdate","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]}},P=!1,S=null,N={eventTypes:T,extractEvents:function(e,t,n,r){return[l(e,t,n,r),d(e,t,n,r)]}};e.exports=N},/*!**************************************************!*\ +function(e,t,n){"use strict";function r(){var e=window.opera;return"object"==typeof e&&"function"==typeof e.version&&parseInt(e.version(),10)<=12}function o(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}function a(e){switch(e){case"topCompositionStart":return T.compositionStart;case"topCompositionEnd":return T.compositionEnd;case"topCompositionUpdate":return T.compositionUpdate}}function i(e,t){return"topKeyDown"===e&&t.keyCode===_}function s(e,t){switch(e){case"topKeyUp":return y.indexOf(t.keyCode)!==-1;case"topKeyDown":return t.keyCode!==_;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function u(e){var t=e.detail;return"object"==typeof t&&"data"in t?t.data:null}function l(e,t,n,r){var o,l;if(b?o=a(e):S?s(e,n)&&(o=T.compositionEnd):i(e,n)&&(o=T.compositionStart),!o)return null;x&&(S||o!==T.compositionStart?o===T.compositionEnd&&S&&(l=S.getData()):S=m.getPooled(r));var c=v.getPooled(o,t,n,r);if(l)c.data=l;else{var p=u(n);null!==p&&(c.data=p)}return f.accumulateTwoPhaseDispatches(c),c}function c(e,t){switch(e){case"topCompositionEnd":return u(t);case"topKeyPress":var n=t.which;return n!==w?null:(P=!0,k);case"topTextInput":var r=t.data;return r===k&&P?null:r;default:return null}}function p(e,t){if(S){if("topCompositionEnd"===e||!b&&s(e,t)){var n=S.getData();return m.release(S),S=null,n}return null}switch(e){case"topPaste":return null;case"topKeyPress":return t.which&&!o(t)?String.fromCharCode(t.which):null;case"topCompositionEnd":return x?null:t.data;default:return null}}function d(e,t,n,r){var o;if(o=E?c(e,n):p(e,n),!o)return null;var a=g.getPooled(T.beforeInput,t,n,r);return a.data=o,f.accumulateTwoPhaseDispatches(a),a}var f=n(/*! ./EventPropagators */19),h=n(/*! fbjs/lib/ExecutionEnvironment */6),m=n(/*! ./FallbackCompositionState */107),v=n(/*! ./SyntheticCompositionEvent */144),g=n(/*! ./SyntheticInputEvent */147),y=[9,13,27,32],_=229,b=h.canUseDOM&&"CompositionEvent"in window,C=null;h.canUseDOM&&"documentMode"in document&&(C=document.documentMode);var E=h.canUseDOM&&"TextEvent"in window&&!C&&!r(),x=h.canUseDOM&&(!b||C&&C>8&&C<=11),w=32,k=String.fromCharCode(w),T={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:["topBlur","topCompositionEnd","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:["topBlur","topCompositionStart","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:["topBlur","topCompositionUpdate","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]}},P=!1,S=null,N={eventTypes:T,extractEvents:function(e,t,n,r){return[l(e,t,n,r),d(e,t,n,r)]}};e.exports=N},/*!**************************************************!*\ !*** ./~/react-dom/lib/CSSPropertyOperations.js ***! \**************************************************/ -function(e,t,n){"use strict";var r=n(/*! ./CSSProperty */51),o=n(/*! fbjs/lib/ExecutionEnvironment */6),i=(n(/*! ./ReactInstrumentation */8),n(/*! fbjs/lib/camelizeStyleName */82),n(/*! ./dangerousStyleValue */151)),a=n(/*! fbjs/lib/hyphenateStyleName */89),s=n(/*! fbjs/lib/memoizeStringOnly */92),u=(n(/*! fbjs/lib/warning */2),s(function(e){return a(e)})),l=!1,c="cssFloat";if(o.canUseDOM){var p=document.createElement("div").style;try{p.font=""}catch(e){l=!0}void 0===document.documentElement.style.cssFloat&&(c="styleFloat")}var d={createMarkupForStyles:function(e,t){var n="";for(var r in e)if(e.hasOwnProperty(r)){var o=0===r.indexOf("--"),a=e[r];null!=a&&(n+=u(r)+":",n+=i(r,a,t,o)+";")}return n||null},setValueForStyles:function(e,t,n){var o=e.style;for(var a in t)if(t.hasOwnProperty(a)){var s=0===a.indexOf("--"),u=i(a,t[a],n,s);if("float"!==a&&"cssFloat"!==a||(a=c),s)o.setProperty(a,u);else if(u)o[a]=u;else{var p=l&&r.shorthandPropertyExpansions[a];if(p)for(var d in p)o[d]="";else o[a]=""}}}};e.exports=d},/*!**********************************************!*\ +function(e,t,n){"use strict";var r=n(/*! ./CSSProperty */52),o=n(/*! fbjs/lib/ExecutionEnvironment */6),a=(n(/*! ./ReactInstrumentation */8),n(/*! fbjs/lib/camelizeStyleName */83),n(/*! ./dangerousStyleValue */153)),i=n(/*! fbjs/lib/hyphenateStyleName */90),s=n(/*! fbjs/lib/memoizeStringOnly */93),u=(n(/*! fbjs/lib/warning */2),s(function(e){return i(e)})),l=!1,c="cssFloat";if(o.canUseDOM){var p=document.createElement("div").style;try{p.font=""}catch(e){l=!0}void 0===document.documentElement.style.cssFloat&&(c="styleFloat")}var d={createMarkupForStyles:function(e,t){var n="";for(var r in e)if(e.hasOwnProperty(r)){var o=0===r.indexOf("--"),i=e[r];null!=i&&(n+=u(r)+":",n+=a(r,i,t,o)+";")}return n||null},setValueForStyles:function(e,t,n){var o=e.style;for(var i in t)if(t.hasOwnProperty(i)){var s=0===i.indexOf("--"),u=a(i,t[i],n,s);if("float"!==i&&"cssFloat"!==i||(i=c),s)o.setProperty(i,u);else if(u)o[i]=u;else{var p=l&&r.shorthandPropertyExpansions[i];if(p)for(var d in p)o[d]="";else o[i]=""}}}};e.exports=d},/*!**********************************************!*\ !*** ./~/react-dom/lib/ChangeEventPlugin.js ***! \**********************************************/ -function(e,t,n){"use strict";function r(e,t,n){var r=T.getPooled(I.change,e,t,n);return r.type="change",E.accumulateTwoPhaseDispatches(r),r}function o(e){var t=e.nodeName&&e.nodeName.toLowerCase();return"select"===t||"input"===t&&"file"===e.type}function i(e){var t=r(A,e,S(e));k.batchedUpdates(a,t)}function a(e){C.enqueueEvents(e),C.processEventQueue(!1)}function s(e,t){O=e,A=t,O.attachEvent("onchange",i)}function u(){O&&(O.detachEvent("onchange",i),O=null,A=null)}function l(e,t){var n=P.updateValueIfChanged(e),r=t.simulated===!0&&L._allowSimulatedPassThrough;if(n||r)return e}function c(e,t){if("topChange"===e)return t}function p(e,t,n){"topFocus"===e?(u(),s(t,n)):"topBlur"===e&&u()}function d(e,t){O=e,A=t,O.attachEvent("onpropertychange",h)}function f(){O&&(O.detachEvent("onpropertychange",h),O=null,A=null)}function h(e){"value"===e.propertyName&&l(A,e)&&i(e)}function v(e,t,n){"topFocus"===e?(f(),d(t,n)):"topBlur"===e&&f()}function m(e,t,n){if("topSelectionChange"===e||"topKeyUp"===e||"topKeyDown"===e)return l(A,n)}function g(e){var t=e.nodeName;return t&&"input"===t.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)}function y(e,t,n){if("topClick"===e)return l(t,n)}function _(e,t,n){if("topInput"===e||"topChange"===e)return l(t,n)}function b(e,t){if(null!=e){var n=e._wrapperState||t._wrapperState;if(n&&n.controlled&&"number"===t.type){var r=""+t.value;t.getAttribute("value")!==r&&t.setAttribute("value",r)}}}var C=n(/*! ./EventPluginHub */18),E=n(/*! ./EventPropagators */19),x=n(/*! fbjs/lib/ExecutionEnvironment */6),w=n(/*! ./ReactDOMComponentTree */5),k=n(/*! ./ReactUpdates */9),T=n(/*! ./SyntheticEvent */10),P=n(/*! ./inputValueTracking */67),S=n(/*! ./getEventTarget */42),N=n(/*! ./isEventSupported */43),M=n(/*! ./isTextInputElement */69),I={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:["topBlur","topChange","topClick","topFocus","topInput","topKeyDown","topKeyUp","topSelectionChange"]}},O=null,A=null,R=!1;x.canUseDOM&&(R=N("change")&&(!document.documentMode||document.documentMode>8));var D=!1;x.canUseDOM&&(D=N("input")&&(!("documentMode"in document)||document.documentMode>9));var L={eventTypes:I,_allowSimulatedPassThrough:!0,_isInputEventSupported:D,extractEvents:function(e,t,n,i){var a,s,u=t?w.getNodeFromInstance(t):window;if(o(u)?R?a=c:s=p:M(u)?D?a=_:(a=m,s=v):g(u)&&(a=y),a){var l=a(e,t,n);if(l){var d=r(l,n,i);return d}}s&&s(e,u,t),"topBlur"===e&&b(t,u)}};e.exports=L},/*!***********************************!*\ +function(e,t,n){"use strict";function r(e,t,n){var r=T.getPooled(I.change,e,t,n);return r.type="change",E.accumulateTwoPhaseDispatches(r),r}function o(e){var t=e.nodeName&&e.nodeName.toLowerCase();return"select"===t||"input"===t&&"file"===e.type}function a(e){var t=r(R,e,S(e));k.batchedUpdates(i,t)}function i(e){C.enqueueEvents(e),C.processEventQueue(!1)}function s(e,t){O=e,R=t,O.attachEvent("onchange",a)}function u(){O&&(O.detachEvent("onchange",a),O=null,R=null)}function l(e,t){var n=P.updateValueIfChanged(e),r=t.simulated===!0&&L._allowSimulatedPassThrough;if(n||r)return e}function c(e,t){if("topChange"===e)return t}function p(e,t,n){"topFocus"===e?(u(),s(t,n)):"topBlur"===e&&u()}function d(e,t){O=e,R=t,O.attachEvent("onpropertychange",h)}function f(){O&&(O.detachEvent("onpropertychange",h),O=null,R=null)}function h(e){"value"===e.propertyName&&l(R,e)&&a(e)}function m(e,t,n){"topFocus"===e?(f(),d(t,n)):"topBlur"===e&&f()}function v(e,t,n){if("topSelectionChange"===e||"topKeyUp"===e||"topKeyDown"===e)return l(R,n)}function g(e){var t=e.nodeName;return t&&"input"===t.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)}function y(e,t,n){if("topClick"===e)return l(t,n)}function _(e,t,n){if("topInput"===e||"topChange"===e)return l(t,n)}function b(e,t){if(null!=e){var n=e._wrapperState||t._wrapperState;if(n&&n.controlled&&"number"===t.type){var r=""+t.value;t.getAttribute("value")!==r&&t.setAttribute("value",r)}}}var C=n(/*! ./EventPluginHub */18),E=n(/*! ./EventPropagators */19),x=n(/*! fbjs/lib/ExecutionEnvironment */6),w=n(/*! ./ReactDOMComponentTree */5),k=n(/*! ./ReactUpdates */9),T=n(/*! ./SyntheticEvent */10),P=n(/*! ./inputValueTracking */68),S=n(/*! ./getEventTarget */42),N=n(/*! ./isEventSupported */43),M=n(/*! ./isTextInputElement */70),I={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:["topBlur","topChange","topClick","topFocus","topInput","topKeyDown","topKeyUp","topSelectionChange"]}},O=null,R=null,A=!1;x.canUseDOM&&(A=N("change")&&(!document.documentMode||document.documentMode>8));var D=!1;x.canUseDOM&&(D=N("input")&&(!("documentMode"in document)||document.documentMode>9));var L={eventTypes:I,_allowSimulatedPassThrough:!0,_isInputEventSupported:D,extractEvents:function(e,t,n,a){var i,s,u=t?w.getNodeFromInstance(t):window;if(o(u)?A?i=c:s=p:M(u)?D?i=_:(i=v,s=m):g(u)&&(i=y),i){var l=i(e,t,n);if(l){var d=r(l,n,a);return d}}s&&s(e,u,t),"topBlur"===e&&b(t,u)}};e.exports=L},/*!***********************************!*\ !*** ./~/react-dom/lib/Danger.js ***! \***********************************/ -function(e,t,n){"use strict";var r=n(/*! ./reactProdInvariant */3),o=n(/*! ./DOMLazyTree */13),i=n(/*! fbjs/lib/ExecutionEnvironment */6),a=n(/*! fbjs/lib/createNodesFromMarkup */85),s=n(/*! fbjs/lib/emptyFunction */7),u=(n(/*! fbjs/lib/invariant */1),{dangerouslyReplaceNodeWithMarkup:function(e,t){if(i.canUseDOM?void 0:r("56"),t?void 0:r("57"),"HTML"===e.nodeName?r("58"):void 0,"string"==typeof t){var n=a(t,s)[0];e.parentNode.replaceChild(n,e)}else o.replaceChildWithTree(e,t)}});e.exports=u},/*!****************************************************!*\ +function(e,t,n){"use strict";var r=n(/*! ./reactProdInvariant */3),o=n(/*! ./DOMLazyTree */13),a=n(/*! fbjs/lib/ExecutionEnvironment */6),i=n(/*! fbjs/lib/createNodesFromMarkup */86),s=n(/*! fbjs/lib/emptyFunction */7),u=(n(/*! fbjs/lib/invariant */1),{dangerouslyReplaceNodeWithMarkup:function(e,t){if(a.canUseDOM?void 0:r("56"),t?void 0:r("57"),"HTML"===e.nodeName?r("58"):void 0,"string"==typeof t){var n=i(t,s)[0];e.parentNode.replaceChild(n,e)}else o.replaceChildWithTree(e,t)}});e.exports=u},/*!****************************************************!*\ !*** ./~/react-dom/lib/DefaultEventPluginOrder.js ***! \****************************************************/ function(e,t){"use strict";var n=["ResponderEventPlugin","SimpleEventPlugin","TapEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin"];e.exports=n},/*!**************************************************!*\ !*** ./~/react-dom/lib/EnterLeaveEventPlugin.js ***! \**************************************************/ -function(e,t,n){"use strict";var r=n(/*! ./EventPropagators */19),o=n(/*! ./ReactDOMComponentTree */5),i=n(/*! ./SyntheticMouseEvent */25),a={mouseEnter:{registrationName:"onMouseEnter",dependencies:["topMouseOut","topMouseOver"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["topMouseOut","topMouseOver"]}},s={eventTypes:a,extractEvents:function(e,t,n,s){if("topMouseOver"===e&&(n.relatedTarget||n.fromElement))return null;if("topMouseOut"!==e&&"topMouseOver"!==e)return null;var u;if(s.window===s)u=s;else{var l=s.ownerDocument;u=l?l.defaultView||l.parentWindow:window}var c,p;if("topMouseOut"===e){c=t;var d=n.relatedTarget||n.toElement;p=d?o.getClosestInstanceFromNode(d):null}else c=null,p=t;if(c===p)return null;var f=null==c?u:o.getNodeFromInstance(c),h=null==p?u:o.getNodeFromInstance(p),v=i.getPooled(a.mouseLeave,c,n,s);v.type="mouseleave",v.target=f,v.relatedTarget=h;var m=i.getPooled(a.mouseEnter,p,n,s);return m.type="mouseenter",m.target=h,m.relatedTarget=f,r.accumulateEnterLeaveDispatches(v,m,c,p),[v,m]}};e.exports=s},/*!*****************************************************!*\ +function(e,t,n){"use strict";var r=n(/*! ./EventPropagators */19),o=n(/*! ./ReactDOMComponentTree */5),a=n(/*! ./SyntheticMouseEvent */25),i={mouseEnter:{registrationName:"onMouseEnter",dependencies:["topMouseOut","topMouseOver"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["topMouseOut","topMouseOver"]}},s={eventTypes:i,extractEvents:function(e,t,n,s){if("topMouseOver"===e&&(n.relatedTarget||n.fromElement))return null;if("topMouseOut"!==e&&"topMouseOver"!==e)return null;var u;if(s.window===s)u=s;else{var l=s.ownerDocument;u=l?l.defaultView||l.parentWindow:window}var c,p;if("topMouseOut"===e){c=t;var d=n.relatedTarget||n.toElement;p=d?o.getClosestInstanceFromNode(d):null}else c=null,p=t;if(c===p)return null;var f=null==c?u:o.getNodeFromInstance(c),h=null==p?u:o.getNodeFromInstance(p),m=a.getPooled(i.mouseLeave,c,n,s);m.type="mouseleave",m.target=f,m.relatedTarget=h;var v=a.getPooled(i.mouseEnter,p,n,s);return v.type="mouseenter",v.target=h,v.relatedTarget=f,r.accumulateEnterLeaveDispatches(m,v,c,p),[m,v]}};e.exports=s},/*!*****************************************************!*\ !*** ./~/react-dom/lib/FallbackCompositionState.js ***! \*****************************************************/ -function(e,t,n){"use strict";function r(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var o=n(/*! object-assign */4),i=n(/*! ./PooledClass */12),a=n(/*! ./getTextContentAccessor */66);o(r.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return"value"in this._root?this._root.value:this._root[a()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,r=n.length,o=this.getText(),i=o.length;for(e=0;e1?1-t:void 0;return this._fallbackText=o.slice(e,s),this._fallbackText}}),i.addPoolingTo(r),e.exports=r},/*!**************************************************!*\ +function(e,t,n){"use strict";function r(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var o=n(/*! object-assign */4),a=n(/*! ./PooledClass */12),i=n(/*! ./getTextContentAccessor */67);o(r.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return"value"in this._root?this._root.value:this._root[i()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,r=n.length,o=this.getText(),a=o.length;for(e=0;e1?1-t:void 0;return this._fallbackText=o.slice(e,s),this._fallbackText}}),a.addPoolingTo(r),e.exports=r},/*!**************************************************!*\ !*** ./~/react-dom/lib/HTMLDOMPropertyConfig.js ***! \**************************************************/ -function(e,t,n){"use strict";var r=n(/*! ./DOMProperty */14),o=r.injection.MUST_USE_PROPERTY,i=r.injection.HAS_BOOLEAN_VALUE,a=r.injection.HAS_NUMERIC_VALUE,s=r.injection.HAS_POSITIVE_NUMERIC_VALUE,u=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,l={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+r.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:i,allowTransparency:0,alt:0,as:0,async:i,autoComplete:0,autoPlay:i,capture:i,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:o|i,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:i,coords:0,crossOrigin:0,data:0,dateTime:0,default:i,defer:i,dir:0,disabled:i,download:u,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:i,formTarget:0,frameBorder:0,headers:0,height:0,hidden:i,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:i,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:o|i,muted:o|i,name:0,nonce:0,noValidate:i,open:i,optimum:0,pattern:0,placeholder:0,playsInline:i,poster:0,preload:0,profile:0,radioGroup:0,readOnly:i,referrerPolicy:0,rel:0,required:i,reversed:i,role:0,rows:s,rowSpan:a,sandbox:0,scope:0,scoped:i,scrolling:0,seamless:i,selected:o|i,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:i,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{},DOMMutationMethods:{value:function(e,t){return null==t?e.removeAttribute("value"):void("number"!==e.type||e.hasAttribute("value")===!1?e.setAttribute("value",""+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute("value",""+t))}}};e.exports=l},/*!*************************************************!*\ +function(e,t,n){"use strict";var r=n(/*! ./DOMProperty */14),o=r.injection.MUST_USE_PROPERTY,a=r.injection.HAS_BOOLEAN_VALUE,i=r.injection.HAS_NUMERIC_VALUE,s=r.injection.HAS_POSITIVE_NUMERIC_VALUE,u=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,l={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+r.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:a,allowTransparency:0,alt:0,as:0,async:a,autoComplete:0,autoPlay:a,capture:a,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:o|a,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:a,coords:0,crossOrigin:0,data:0,dateTime:0,default:a,defer:a,dir:0,disabled:a,download:u,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:a,formTarget:0,frameBorder:0,headers:0,height:0,hidden:a,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:a,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:o|a,muted:o|a,name:0,nonce:0,noValidate:a,open:a,optimum:0,pattern:0,placeholder:0,playsInline:a,poster:0,preload:0,profile:0,radioGroup:0,readOnly:a,referrerPolicy:0,rel:0,required:a,reversed:a,role:0,rows:s,rowSpan:i,sandbox:0,scope:0,scoped:a,scrolling:0,seamless:a,selected:o|a,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:i,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:a,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{},DOMMutationMethods:{value:function(e,t){return null==t?e.removeAttribute("value"):void("number"!==e.type||e.hasAttribute("value")===!1?e.setAttribute("value",""+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute("value",""+t))}}};e.exports=l},/*!*************************************************!*\ !*** ./~/react-dom/lib/ReactChildReconciler.js ***! \*************************************************/ -function(e,t,n){(function(t){"use strict";function r(e,t,n,r){var o=void 0===e[n];null!=t&&o&&(e[n]=i(t,!0))}var o=n(/*! ./ReactReconciler */15),i=n(/*! ./instantiateReactComponent */68),a=(n(/*! ./KeyEscapeUtils */34),n(/*! ./shouldUpdateReactComponent */44)),s=n(/*! ./traverseAllChildren */71),u=(n(/*! fbjs/lib/warning */2),{instantiateChildren:function(e,t,n,o){if(null==e)return null;var i={};return s(e,r,i),i},updateChildren:function(e,t,n,r,s,u,l,c,p){if(t||e){var d,f;for(d in t)if(t.hasOwnProperty(d)){f=e&&e[d];var h=f&&f._currentElement,v=t[d];if(null!=f&&a(h,v))o.receiveComponent(f,v,s,c),t[d]=f;else{f&&(r[d]=o.getHostNode(f),o.unmountComponent(f,!1));var m=i(v,!0);t[d]=m;var g=o.mountComponent(m,s,u,l,c,p);n.push(g)}}for(d in e)!e.hasOwnProperty(d)||t&&t.hasOwnProperty(d)||(f=e[d],r[d]=o.getHostNode(f),o.unmountComponent(f,!1))}},unmountChildren:function(e,t){for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];o.unmountComponent(r,t)}}});e.exports=u}).call(t,n(/*! ./../../process/browser.js */49))},/*!*************************************************************!*\ +function(e,t,n){(function(t){"use strict";function r(e,t,n,r){var o=void 0===e[n];null!=t&&o&&(e[n]=a(t,!0))}var o=n(/*! ./ReactReconciler */15),a=n(/*! ./instantiateReactComponent */69),i=(n(/*! ./KeyEscapeUtils */34),n(/*! ./shouldUpdateReactComponent */44)),s=n(/*! ./traverseAllChildren */72),u=(n(/*! fbjs/lib/warning */2),{instantiateChildren:function(e,t,n,o){if(null==e)return null;var a={};return s(e,r,a),a},updateChildren:function(e,t,n,r,s,u,l,c,p){if(t||e){var d,f;for(d in t)if(t.hasOwnProperty(d)){f=e&&e[d];var h=f&&f._currentElement,m=t[d];if(null!=f&&i(h,m))o.receiveComponent(f,m,s,c),t[d]=f;else{f&&(r[d]=o.getHostNode(f),o.unmountComponent(f,!1));var v=a(m,!0);t[d]=v;var g=o.mountComponent(v,s,u,l,c,p);n.push(g)}}for(d in e)!e.hasOwnProperty(d)||t&&t.hasOwnProperty(d)||(f=e[d],r[d]=o.getHostNode(f),o.unmountComponent(f,!1))}},unmountChildren:function(e,t){for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];o.unmountComponent(r,t)}}});e.exports=u}).call(t,n(/*! ./../../process/browser.js */49))},/*!*************************************************************!*\ !*** ./~/react-dom/lib/ReactComponentBrowserEnvironment.js ***! \*************************************************************/ -function(e,t,n){"use strict";var r=n(/*! ./DOMChildrenOperations */30),o=n(/*! ./ReactDOMIDOperations */115),i={processChildrenUpdates:o.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:r.dangerouslyReplaceNodeWithMarkup};e.exports=i},/*!****************************************************!*\ +function(e,t,n){"use strict";var r=n(/*! ./DOMChildrenOperations */30),o=n(/*! ./ReactDOMIDOperations */117),a={processChildrenUpdates:o.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:r.dangerouslyReplaceNodeWithMarkup};e.exports=a},/*!****************************************************!*\ !*** ./~/react-dom/lib/ReactCompositeComponent.js ***! \****************************************************/ -function(e,t,n){"use strict";function r(e){}function o(e,t){}function i(e){return!(!e.prototype||!e.prototype.isReactComponent)}function a(e){return!(!e.prototype||!e.prototype.isPureReactComponent)}var s=n(/*! ./reactProdInvariant */3),u=n(/*! object-assign */4),l=n(/*! react/lib/React */16),c=n(/*! ./ReactComponentEnvironment */36),p=n(/*! react/lib/ReactCurrentOwner */11),d=n(/*! ./ReactErrorUtils */37),f=n(/*! ./ReactInstanceMap */20),h=(n(/*! ./ReactInstrumentation */8),n(/*! ./ReactNodeTypes */61)),v=n(/*! ./ReactReconciler */15),m=n(/*! fbjs/lib/emptyObject */23),g=(n(/*! fbjs/lib/invariant */1),n(/*! fbjs/lib/shallowEqual */29)),y=n(/*! ./shouldUpdateReactComponent */44),_=(n(/*! fbjs/lib/warning */2),{ImpureClass:0,PureClass:1,StatelessFunctional:2});r.prototype.render=function(){var e=f.get(this)._currentElement.type,t=e(this.props,this.context,this.updater);return o(e,t),t};var b=1,C={construct:function(e){this._currentElement=e,this._rootNodeID=0,this._compositeType=null,this._instance=null,this._hostParent=null,this._hostContainerInfo=null,this._updateBatchNumber=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedNodeType=null,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._topLevelWrapper=null,this._pendingCallbacks=null,this._calledComponentWillUnmount=!1},mountComponent:function(e,t,n,u){this._context=u,this._mountOrder=b++,this._hostParent=t,this._hostContainerInfo=n;var c,p=this._currentElement.props,d=this._processContext(u),h=this._currentElement.type,v=e.getUpdateQueue(),g=i(h),y=this._constructComponent(g,p,d,v);g||null!=y&&null!=y.render?a(h)?this._compositeType=_.PureClass:this._compositeType=_.ImpureClass:(c=y,o(h,c),null===y||y===!1||l.isValidElement(y)?void 0:s("105",h.displayName||h.name||"Component"),y=new r(h),this._compositeType=_.StatelessFunctional),y.props=p,y.context=d,y.refs=m,y.updater=v,this._instance=y,f.set(y,this);var C=y.state;void 0===C&&(y.state=C=null),"object"!=typeof C||Array.isArray(C)?s("106",this.getName()||"ReactCompositeComponent"):void 0,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1;var E;return E=y.unstable_handleError?this.performInitialMountWithErrorHandling(c,t,n,e,u):this.performInitialMount(c,t,n,e,u),y.componentDidMount&&e.getReactMountReady().enqueue(y.componentDidMount,y),E},_constructComponent:function(e,t,n,r){return this._constructComponentWithoutOwner(e,t,n,r)},_constructComponentWithoutOwner:function(e,t,n,r){var o=this._currentElement.type;return e?new o(t,n,r):o(t,n,r)},performInitialMountWithErrorHandling:function(e,t,n,r,o){var i,a=r.checkpoint();try{i=this.performInitialMount(e,t,n,r,o)}catch(s){r.rollback(a),this._instance.unstable_handleError(s),this._pendingStateQueue&&(this._instance.state=this._processPendingState(this._instance.props,this._instance.context)),a=r.checkpoint(),this._renderedComponent.unmountComponent(!0),r.rollback(a),i=this.performInitialMount(e,t,n,r,o)}return i},performInitialMount:function(e,t,n,r,o){var i=this._instance,a=0;i.componentWillMount&&(i.componentWillMount(),this._pendingStateQueue&&(i.state=this._processPendingState(i.props,i.context))),void 0===e&&(e=this._renderValidatedComponent());var s=h.getType(e);this._renderedNodeType=s;var u=this._instantiateReactComponent(e,s!==h.EMPTY);this._renderedComponent=u;var l=v.mountComponent(u,r,t,n,this._processChildContext(o),a);return l},getHostNode:function(){return v.getHostNode(this._renderedComponent)},unmountComponent:function(e){if(this._renderedComponent){var t=this._instance;if(t.componentWillUnmount&&!t._calledComponentWillUnmount)if(t._calledComponentWillUnmount=!0,e){var n=this.getName()+".componentWillUnmount()";d.invokeGuardedCallback(n,t.componentWillUnmount.bind(t))}else t.componentWillUnmount();this._renderedComponent&&(v.unmountComponent(this._renderedComponent,e),this._renderedNodeType=null,this._renderedComponent=null,this._instance=null),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._pendingCallbacks=null,this._pendingElement=null,this._context=null,this._rootNodeID=0,this._topLevelWrapper=null,f.remove(t)}},_maskContext:function(e){var t=this._currentElement.type,n=t.contextTypes;if(!n)return m;var r={};for(var o in n)r[o]=e[o];return r},_processContext:function(e){var t=this._maskContext(e);return t},_processChildContext:function(e){var t,n=this._currentElement.type,r=this._instance;if(r.getChildContext&&(t=r.getChildContext()),t){"object"!=typeof n.childContextTypes?s("107",this.getName()||"ReactCompositeComponent"):void 0;for(var o in t)o in n.childContextTypes?void 0:s("108",this.getName()||"ReactCompositeComponent",o);return u({},e,t)}return e},_checkContextTypes:function(e,t,n){},receiveComponent:function(e,t,n){var r=this._currentElement,o=this._context;this._pendingElement=null,this.updateComponent(t,r,e,o,n)},performUpdateIfNecessary:function(e){null!=this._pendingElement?v.receiveComponent(this,this._pendingElement,e,this._context):null!==this._pendingStateQueue||this._pendingForceUpdate?this.updateComponent(e,this._currentElement,this._currentElement,this._context,this._context):this._updateBatchNumber=null},updateComponent:function(e,t,n,r,o){var i=this._instance;null==i?s("136",this.getName()||"ReactCompositeComponent"):void 0;var a,u=!1;this._context===o?a=i.context:(a=this._processContext(o),u=!0);var l=t.props,c=n.props;t!==n&&(u=!0),u&&i.componentWillReceiveProps&&i.componentWillReceiveProps(c,a);var p=this._processPendingState(c,a),d=!0;this._pendingForceUpdate||(i.shouldComponentUpdate?d=i.shouldComponentUpdate(c,p,a):this._compositeType===_.PureClass&&(d=!g(l,c)||!g(i.state,p))),this._updateBatchNumber=null,d?(this._pendingForceUpdate=!1,this._performComponentUpdate(n,c,p,a,e,o)):(this._currentElement=n,this._context=o,i.props=c,i.state=p,i.context=a)},_processPendingState:function(e,t){var n=this._instance,r=this._pendingStateQueue,o=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!r)return n.state;if(o&&1===r.length)return r[0];for(var i=u({},o?r[0]:n.state),a=o?1:0;a=0||null!=t.is}function v(e){var t=e.type;f(t),this._currentElement=e,this._tag=t.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}var m=n(/*! ./reactProdInvariant */3),g=n(/*! object-assign */4),y=n(/*! ./AutoFocusUtils */98),_=n(/*! ./CSSPropertyOperations */100),b=n(/*! ./DOMLazyTree */13),C=n(/*! ./DOMNamespaces */31),E=n(/*! ./DOMProperty */14),x=n(/*! ./DOMPropertyOperations */53),w=n(/*! ./EventPluginHub */18),k=n(/*! ./EventPluginRegistry */32),T=n(/*! ./ReactBrowserEventEmitter */24),P=n(/*! ./ReactDOMComponentFlags */54),S=n(/*! ./ReactDOMComponentTree */5),N=n(/*! ./ReactDOMInput */116),M=n(/*! ./ReactDOMOption */117),I=n(/*! ./ReactDOMSelect */55),O=n(/*! ./ReactDOMTextarea */120),A=(n(/*! ./ReactInstrumentation */8),n(/*! ./ReactMultiChild */129)),R=n(/*! ./ReactServerRenderingTransaction */134),D=(n(/*! fbjs/lib/emptyFunction */7),n(/*! ./escapeTextContentForBrowser */27)),L=(n(/*! fbjs/lib/invariant */1),n(/*! ./isEventSupported */43),n(/*! fbjs/lib/shallowEqual */29),n(/*! ./inputValueTracking */67)),U=(n(/*! ./validateDOMNesting */45),n(/*! fbjs/lib/warning */2),P),F=w.deleteListener,j=S.getNodeFromInstance,V=T.listenTo,B=k.registrationNameModules,W={string:!0,number:!0},H="style",q="__html",K={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},z=11,Y={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"},X={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},G={listing:!0,pre:!0,textarea:!0},Q=g({menuitem:!0},X),$=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,Z={},J={}.hasOwnProperty,ee=1;v.displayName="ReactDOMComponent",v.Mixin={mountComponent:function(e,t,n,r){this._rootNodeID=ee++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var i=this._currentElement.props;switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(p,this);break;case"input":N.mountWrapper(this,i,t),i=N.getHostProps(this,i),e.getReactMountReady().enqueue(c,this),e.getReactMountReady().enqueue(p,this);break;case"option":M.mountWrapper(this,i,t),i=M.getHostProps(this,i);break;case"select":I.mountWrapper(this,i,t),i=I.getHostProps(this,i),e.getReactMountReady().enqueue(p,this);break;case"textarea":O.mountWrapper(this,i,t),i=O.getHostProps(this,i),e.getReactMountReady().enqueue(c,this),e.getReactMountReady().enqueue(p,this)}o(this,i);var a,d;null!=t?(a=t._namespaceURI,d=t._tag):n._tag&&(a=n._namespaceURI,d=n._tag),(null==a||a===C.svg&&"foreignobject"===d)&&(a=C.html),a===C.html&&("svg"===this._tag?a=C.svg:"math"===this._tag&&(a=C.mathml)),this._namespaceURI=a;var f;if(e.useCreateElement){var h,v=n._ownerDocument;if(a===C.html)if("script"===this._tag){var m=v.createElement("div"),g=this._currentElement.type;m.innerHTML="<"+g+">",h=m.removeChild(m.firstChild)}else h=i.is?v.createElement(this._currentElement.type,i.is):v.createElement(this._currentElement.type);else h=v.createElementNS(a,this._currentElement.type);S.precacheNode(this,h),this._flags|=U.hasCachedChildNodes,this._hostParent||x.setAttributeForRoot(h),this._updateDOMProperties(null,i,e);var _=b(h);this._createInitialChildren(e,i,r,_),f=_}else{var E=this._createOpenTagMarkupAndPutListeners(e,i),w=this._createContentMarkup(e,i,r);f=!w&&X[this._tag]?E+"/>":E+">"+w+""}switch(this._tag){case"input":e.getReactMountReady().enqueue(s,this),i.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"textarea":e.getReactMountReady().enqueue(u,this),i.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"select":i.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"button":i.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(l,this)}return f},_createOpenTagMarkupAndPutListeners:function(e,t){var n="<"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var o=t[r];if(null!=o)if(B.hasOwnProperty(r))o&&i(this,r,o,e);else{r===H&&(o&&(o=this._previousStyleCopy=g({},t.style)),o=_.createMarkupForStyles(o,this));var a=null;null!=this._tag&&h(this._tag,t)?K.hasOwnProperty(r)||(a=x.createMarkupForCustomAttribute(r,o)):a=x.createMarkupForProperty(r,o),a&&(n+=" "+a)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=" "+x.createMarkupForRoot()),n+=" "+x.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var r="",o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&(r=o.__html);else{var i=W[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)r=D(i);else if(null!=a){var s=this.mountChildren(a,e,n);r=s.join("")}}return G[this._tag]&&"\n"===r.charAt(0)?"\n"+r:r},_createInitialChildren:function(e,t,n,r){var o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&b.queueHTML(r,o.__html);else{var i=W[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)""!==i&&b.queueText(r,i);else if(null!=a)for(var s=this.mountChildren(a,e,n),u=0;u=0||null!=t.is}function m(e){var t=e.type;f(t),this._currentElement=e,this._tag=t.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}var v=n(/*! ./reactProdInvariant */3),g=n(/*! object-assign */4),y=n(/*! ./AutoFocusUtils */100),_=n(/*! ./CSSPropertyOperations */102),b=n(/*! ./DOMLazyTree */13),C=n(/*! ./DOMNamespaces */31),E=n(/*! ./DOMProperty */14),x=n(/*! ./DOMPropertyOperations */54),w=n(/*! ./EventPluginHub */18),k=n(/*! ./EventPluginRegistry */32),T=n(/*! ./ReactBrowserEventEmitter */24),P=n(/*! ./ReactDOMComponentFlags */55),S=n(/*! ./ReactDOMComponentTree */5),N=n(/*! ./ReactDOMInput */118),M=n(/*! ./ReactDOMOption */119),I=n(/*! ./ReactDOMSelect */56),O=n(/*! ./ReactDOMTextarea */122),R=(n(/*! ./ReactInstrumentation */8),n(/*! ./ReactMultiChild */131)),A=n(/*! ./ReactServerRenderingTransaction */136),D=(n(/*! fbjs/lib/emptyFunction */7),n(/*! ./escapeTextContentForBrowser */27)),L=(n(/*! fbjs/lib/invariant */1),n(/*! ./isEventSupported */43),n(/*! fbjs/lib/shallowEqual */29),n(/*! ./inputValueTracking */68)),U=(n(/*! ./validateDOMNesting */45),n(/*! fbjs/lib/warning */2),P),F=w.deleteListener,j=S.getNodeFromInstance,V=T.listenTo,B=k.registrationNameModules,W={string:!0,number:!0},H="style",q="__html",K={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},z=11,Y={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"},X={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},G={listing:!0,pre:!0,textarea:!0},Q=g({menuitem:!0},X),$=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,Z={},J={}.hasOwnProperty,ee=1;m.displayName="ReactDOMComponent",m.Mixin={mountComponent:function(e,t,n,r){this._rootNodeID=ee++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var a=this._currentElement.props;switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(p,this);break;case"input":N.mountWrapper(this,a,t),a=N.getHostProps(this,a),e.getReactMountReady().enqueue(c,this),e.getReactMountReady().enqueue(p,this);break;case"option":M.mountWrapper(this,a,t),a=M.getHostProps(this,a);break;case"select":I.mountWrapper(this,a,t),a=I.getHostProps(this,a),e.getReactMountReady().enqueue(p,this);break;case"textarea":O.mountWrapper(this,a,t),a=O.getHostProps(this,a),e.getReactMountReady().enqueue(c,this),e.getReactMountReady().enqueue(p,this)}o(this,a);var i,d;null!=t?(i=t._namespaceURI,d=t._tag):n._tag&&(i=n._namespaceURI,d=n._tag),(null==i||i===C.svg&&"foreignobject"===d)&&(i=C.html),i===C.html&&("svg"===this._tag?i=C.svg:"math"===this._tag&&(i=C.mathml)),this._namespaceURI=i;var f;if(e.useCreateElement){var h,m=n._ownerDocument;if(i===C.html)if("script"===this._tag){var v=m.createElement("div"),g=this._currentElement.type;v.innerHTML="<"+g+">",h=v.removeChild(v.firstChild)}else h=a.is?m.createElement(this._currentElement.type,a.is):m.createElement(this._currentElement.type);else h=m.createElementNS(i,this._currentElement.type);S.precacheNode(this,h),this._flags|=U.hasCachedChildNodes,this._hostParent||x.setAttributeForRoot(h),this._updateDOMProperties(null,a,e);var _=b(h);this._createInitialChildren(e,a,r,_),f=_}else{var E=this._createOpenTagMarkupAndPutListeners(e,a),w=this._createContentMarkup(e,a,r);f=!w&&X[this._tag]?E+"/>":E+">"+w+""}switch(this._tag){case"input":e.getReactMountReady().enqueue(s,this),a.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"textarea":e.getReactMountReady().enqueue(u,this),a.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"select":a.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"button":a.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(l,this)}return f},_createOpenTagMarkupAndPutListeners:function(e,t){var n="<"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var o=t[r];if(null!=o)if(B.hasOwnProperty(r))o&&a(this,r,o,e);else{r===H&&(o&&(o=this._previousStyleCopy=g({},t.style)),o=_.createMarkupForStyles(o,this));var i=null;null!=this._tag&&h(this._tag,t)?K.hasOwnProperty(r)||(i=x.createMarkupForCustomAttribute(r,o)):i=x.createMarkupForProperty(r,o),i&&(n+=" "+i)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=" "+x.createMarkupForRoot()),n+=" "+x.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var r="",o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&(r=o.__html);else{var a=W[typeof t.children]?t.children:null,i=null!=a?null:t.children;if(null!=a)r=D(a);else if(null!=i){var s=this.mountChildren(i,e,n);r=s.join("")}}return G[this._tag]&&"\n"===r.charAt(0)?"\n"+r:r},_createInitialChildren:function(e,t,n,r){var o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&b.queueHTML(r,o.__html);else{var a=W[typeof t.children]?t.children:null,i=null!=a?null:t.children;if(null!=a)""!==a&&b.queueText(r,a);else if(null!=i)for(var s=this.mountChildren(i,e,n),u=0;u"},receiveComponent:function(){},getHostNode:function(){return i.getNodeFromInstance(this)},unmountComponent:function(){i.uncacheNode(this)}}),e.exports=a},/*!*************************************************!*\ +function(e,t,n){"use strict";var r=n(/*! object-assign */4),o=n(/*! ./DOMLazyTree */13),a=n(/*! ./ReactDOMComponentTree */5),i=function(e){this._currentElement=null,this._hostNode=null,this._hostParent=null,this._hostContainerInfo=null,this._domID=0};r(i.prototype,{mountComponent:function(e,t,n,r){var i=n._idCounter++;this._domID=i,this._hostParent=t,this._hostContainerInfo=n;var s=" react-empty: "+this._domID+" ";if(e.useCreateElement){var u=n._ownerDocument,l=u.createComment(s);return a.precacheNode(this,l),o(l)}return e.renderToStaticMarkup?"":""},receiveComponent:function(){},getHostNode:function(){return a.getNodeFromInstance(this)},unmountComponent:function(){a.uncacheNode(this)}}),e.exports=i},/*!*************************************************!*\ !*** ./~/react-dom/lib/ReactDOMFeatureFlags.js ***! \*************************************************/ function(e,t){"use strict";var n={useCreateElement:!0,useFiber:!1};e.exports=n},/*!*************************************************!*\ !*** ./~/react-dom/lib/ReactDOMIDOperations.js ***! \*************************************************/ -function(e,t,n){"use strict";var r=n(/*! ./DOMChildrenOperations */30),o=n(/*! ./ReactDOMComponentTree */5),i={dangerouslyProcessChildrenUpdates:function(e,t){var n=o.getNodeFromInstance(e);r.processUpdates(n,t)}};e.exports=i},/*!******************************************!*\ +function(e,t,n){"use strict";var r=n(/*! ./DOMChildrenOperations */30),o=n(/*! ./ReactDOMComponentTree */5),a={dangerouslyProcessChildrenUpdates:function(e,t){var n=o.getNodeFromInstance(e);r.processUpdates(n,t)}};e.exports=a},/*!******************************************!*\ !*** ./~/react-dom/lib/ReactDOMInput.js ***! \******************************************/ -function(e,t,n){"use strict";function r(){this._rootNodeID&&d.updateWrapper(this)}function o(e){var t="checkbox"===e.type||"radio"===e.type;return t?null!=e.checked:null!=e.value}function i(e){var t=this._currentElement.props,n=l.executeOnChange(t,e);p.asap(r,this);var o=t.name;if("radio"===t.type&&null!=o){for(var i=c.getNodeFromInstance(this),s=i;s.parentNode;)s=s.parentNode;for(var u=s.querySelectorAll("input[name="+JSON.stringify(""+o)+'][type="radio"]'),d=0;dt.end?(n=t.end,r=t.start):(n=t.start,r=t.end),o.moveToElementText(e),o.moveStart("character",n),o.setEndPoint("EndToStart",o),o.moveEnd("character",r-n),o.select()}function s(e,t){if(window.getSelection){var n=window.getSelection(),r=e[c()].length,o=Math.min(t.start,r),i=void 0===t.end?o:Math.min(t.end,r);if(!n.extend&&o>i){var a=i;i=o,o=a}var s=l(e,o),u=l(e,i);if(s&&u){var p=document.createRange();p.setStart(s.node,s.offset),n.removeAllRanges(),o>i?(n.addRange(p),n.extend(u.node,u.offset)):(p.setEnd(u.node,u.offset),n.addRange(p))}}}var u=n(/*! fbjs/lib/ExecutionEnvironment */6),l=n(/*! ./getNodeForCharacterOffset */156),c=n(/*! ./getTextContentAccessor */66),p=u.canUseDOM&&"selection"in document&&!("getSelection"in window),d={getOffsets:p?o:i,setOffsets:p?a:s};e.exports=d},/*!**************************************************!*\ +function(e,t,n){"use strict";function r(e,t,n,r){return e===n&&t===r}function o(e){var t=document.selection,n=t.createRange(),r=n.text.length,o=n.duplicate();o.moveToElementText(e),o.setEndPoint("EndToStart",n);var a=o.text.length,i=a+r;return{start:a,end:i}}function a(e){var t=window.getSelection&&window.getSelection();if(!t||0===t.rangeCount)return null;var n=t.anchorNode,o=t.anchorOffset,a=t.focusNode,i=t.focusOffset,s=t.getRangeAt(0);try{s.startContainer.nodeType,s.endContainer.nodeType}catch(e){return null}var u=r(t.anchorNode,t.anchorOffset,t.focusNode,t.focusOffset),l=u?0:s.toString().length,c=s.cloneRange();c.selectNodeContents(e),c.setEnd(s.startContainer,s.startOffset);var p=r(c.startContainer,c.startOffset,c.endContainer,c.endOffset),d=p?0:c.toString().length,f=d+l,h=document.createRange();h.setStart(n,o),h.setEnd(a,i);var m=h.collapsed;return{start:m?f:d,end:m?d:f}}function i(e,t){var n,r,o=document.selection.createRange().duplicate();void 0===t.end?(n=t.start,r=n):t.start>t.end?(n=t.end,r=t.start):(n=t.start,r=t.end),o.moveToElementText(e),o.moveStart("character",n),o.setEndPoint("EndToStart",o),o.moveEnd("character",r-n),o.select()}function s(e,t){if(window.getSelection){var n=window.getSelection(),r=e[c()].length,o=Math.min(t.start,r),a=void 0===t.end?o:Math.min(t.end,r);if(!n.extend&&o>a){var i=a;a=o,o=i}var s=l(e,o),u=l(e,a);if(s&&u){var p=document.createRange();p.setStart(s.node,s.offset),n.removeAllRanges(),o>a?(n.addRange(p),n.extend(u.node,u.offset)):(p.setEnd(u.node,u.offset),n.addRange(p))}}}var u=n(/*! fbjs/lib/ExecutionEnvironment */6),l=n(/*! ./getNodeForCharacterOffset */158),c=n(/*! ./getTextContentAccessor */67),p=u.canUseDOM&&"selection"in document&&!("getSelection"in window),d={getOffsets:p?o:a,setOffsets:p?i:s};e.exports=d},/*!**************************************************!*\ !*** ./~/react-dom/lib/ReactDOMTextComponent.js ***! \**************************************************/ -function(e,t,n){"use strict";var r=n(/*! ./reactProdInvariant */3),o=n(/*! object-assign */4),i=n(/*! ./DOMChildrenOperations */30),a=n(/*! ./DOMLazyTree */13),s=n(/*! ./ReactDOMComponentTree */5),u=n(/*! ./escapeTextContentForBrowser */27),l=(n(/*! fbjs/lib/invariant */1),n(/*! ./validateDOMNesting */45),function(e){this._currentElement=e,this._stringText=""+e,this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null});o(l.prototype,{mountComponent:function(e,t,n,r){var o=n._idCounter++,i=" react-text: "+o+" ",l=" /react-text ";if(this._domID=o,this._hostParent=t,e.useCreateElement){var c=n._ownerDocument,p=c.createComment(i),d=c.createComment(l),f=a(c.createDocumentFragment());return a.queueChild(f,a(p)),this._stringText&&a.queueChild(f,a(c.createTextNode(this._stringText))),a.queueChild(f,a(d)),s.precacheNode(this,p),this._closingComment=d,f}var h=u(this._stringText);return e.renderToStaticMarkup?h:""+h+""},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=""+e;if(n!==this._stringText){this._stringText=n;var r=this.getHostNode();i.replaceDelimitedText(r[0],r[1],n)}}},getHostNode:function(){var e=this._commentNodes;if(e)return e;if(!this._closingComment)for(var t=s.getNodeFromInstance(this),n=t.nextSibling;;){if(null==n?r("67",this._domID):void 0,8===n.nodeType&&" /react-text "===n.nodeValue){this._closingComment=n;break}n=n.nextSibling}return e=[this._hostNode,this._closingComment],this._commentNodes=e,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,s.uncacheNode(this)}}),e.exports=l},/*!*********************************************!*\ +function(e,t,n){"use strict";var r=n(/*! ./reactProdInvariant */3),o=n(/*! object-assign */4),a=n(/*! ./DOMChildrenOperations */30),i=n(/*! ./DOMLazyTree */13),s=n(/*! ./ReactDOMComponentTree */5),u=n(/*! ./escapeTextContentForBrowser */27),l=(n(/*! fbjs/lib/invariant */1),n(/*! ./validateDOMNesting */45),function(e){this._currentElement=e,this._stringText=""+e,this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null});o(l.prototype,{mountComponent:function(e,t,n,r){var o=n._idCounter++,a=" react-text: "+o+" ",l=" /react-text ";if(this._domID=o,this._hostParent=t,e.useCreateElement){var c=n._ownerDocument,p=c.createComment(a),d=c.createComment(l),f=i(c.createDocumentFragment());return i.queueChild(f,i(p)),this._stringText&&i.queueChild(f,i(c.createTextNode(this._stringText))),i.queueChild(f,i(d)),s.precacheNode(this,p),this._closingComment=d,f}var h=u(this._stringText);return e.renderToStaticMarkup?h:""+h+""},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=""+e;if(n!==this._stringText){this._stringText=n;var r=this.getHostNode();a.replaceDelimitedText(r[0],r[1],n)}}},getHostNode:function(){var e=this._commentNodes;if(e)return e;if(!this._closingComment)for(var t=s.getNodeFromInstance(this),n=t.nextSibling;;){if(null==n?r("67",this._domID):void 0,8===n.nodeType&&" /react-text "===n.nodeValue){this._closingComment=n;break}n=n.nextSibling}return e=[this._hostNode,this._closingComment],this._commentNodes=e,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,s.uncacheNode(this)}}),e.exports=l},/*!*********************************************!*\ !*** ./~/react-dom/lib/ReactDOMTextarea.js ***! \*********************************************/ -function(e,t,n){"use strict";function r(){this._rootNodeID&&c.updateWrapper(this)}function o(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return l.asap(r,this),n}var i=n(/*! ./reactProdInvariant */3),a=n(/*! object-assign */4),s=n(/*! ./LinkedValueUtils */35),u=n(/*! ./ReactDOMComponentTree */5),l=n(/*! ./ReactUpdates */9),c=(n(/*! fbjs/lib/invariant */1),n(/*! fbjs/lib/warning */2),{getHostProps:function(e,t){null!=t.dangerouslySetInnerHTML?i("91"):void 0;var n=a({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue,onChange:e._wrapperState.onChange});return n},mountWrapper:function(e,t){var n=s.getValue(t),r=n;if(null==n){var a=t.defaultValue,u=t.children;null!=u&&(null!=a?i("92"):void 0,Array.isArray(u)&&(u.length<=1?void 0:i("93"),u=u[0]),a=""+u),null==a&&(a=""),r=a}e._wrapperState={initialValue:""+r,listeners:null,onChange:o.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=u.getNodeFromInstance(e),r=s.getValue(t);if(null!=r){var o=""+r;o!==n.value&&(n.value=o),null==t.defaultValue&&(n.defaultValue=o)}null!=t.defaultValue&&(n.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=u.getNodeFromInstance(e),n=t.textContent;n===e._wrapperState.initialValue&&(t.value=n)}});e.exports=c},/*!**************************************************!*\ +function(e,t,n){"use strict";function r(){this._rootNodeID&&c.updateWrapper(this)}function o(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return l.asap(r,this),n}var a=n(/*! ./reactProdInvariant */3),i=n(/*! object-assign */4),s=n(/*! ./LinkedValueUtils */35),u=n(/*! ./ReactDOMComponentTree */5),l=n(/*! ./ReactUpdates */9),c=(n(/*! fbjs/lib/invariant */1),n(/*! fbjs/lib/warning */2),{getHostProps:function(e,t){null!=t.dangerouslySetInnerHTML?a("91"):void 0;var n=i({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue,onChange:e._wrapperState.onChange});return n},mountWrapper:function(e,t){var n=s.getValue(t),r=n;if(null==n){var i=t.defaultValue,u=t.children;null!=u&&(null!=i?a("92"):void 0,Array.isArray(u)&&(u.length<=1?void 0:a("93"),u=u[0]),i=""+u),null==i&&(i=""),r=i}e._wrapperState={initialValue:""+r,listeners:null,onChange:o.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=u.getNodeFromInstance(e),r=s.getValue(t);if(null!=r){var o=""+r;o!==n.value&&(n.value=o),null==t.defaultValue&&(n.defaultValue=o)}null!=t.defaultValue&&(n.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=u.getNodeFromInstance(e),n=t.textContent;n===e._wrapperState.initialValue&&(t.value=n)}});e.exports=c},/*!**************************************************!*\ !*** ./~/react-dom/lib/ReactDOMTreeTraversal.js ***! \**************************************************/ -function(e,t,n){"use strict";function r(e,t){"_hostNode"in e?void 0:u("33"),"_hostNode"in t?void 0:u("33");for(var n=0,r=e;r;r=r._hostParent)n++;for(var o=0,i=t;i;i=i._hostParent)o++;for(;n-o>0;)e=e._hostParent,n--;for(;o-n>0;)t=t._hostParent,o--;for(var a=n;a--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}function o(e,t){"_hostNode"in e?void 0:u("35"),"_hostNode"in t?void 0:u("35");for(;t;){if(t===e)return!0;t=t._hostParent}return!1}function i(e){return"_hostNode"in e?void 0:u("36"),e._hostParent}function a(e,t,n){for(var r=[];e;)r.push(e),e=e._hostParent;var o;for(o=r.length;o-- >0;)t(r[o],"captured",n);for(o=0;o0;)n(u[l],"captured",i)}var u=n(/*! ./reactProdInvariant */3);n(/*! fbjs/lib/invariant */1),e.exports={isAncestor:o,getLowestCommonAncestor:r,getParentInstance:i,traverseTwoPhase:a,traverseEnterLeave:s}},/*!*********************************************************!*\ +function(e,t,n){"use strict";function r(e,t){"_hostNode"in e?void 0:u("33"),"_hostNode"in t?void 0:u("33");for(var n=0,r=e;r;r=r._hostParent)n++;for(var o=0,a=t;a;a=a._hostParent)o++;for(;n-o>0;)e=e._hostParent,n--;for(;o-n>0;)t=t._hostParent,o--;for(var i=n;i--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}function o(e,t){"_hostNode"in e?void 0:u("35"),"_hostNode"in t?void 0:u("35");for(;t;){if(t===e)return!0;t=t._hostParent}return!1}function a(e){return"_hostNode"in e?void 0:u("36"),e._hostParent}function i(e,t,n){for(var r=[];e;)r.push(e),e=e._hostParent;var o;for(o=r.length;o-- >0;)t(r[o],"captured",n);for(o=0;o0;)n(u[l],"captured",a)}var u=n(/*! ./reactProdInvariant */3);n(/*! fbjs/lib/invariant */1),e.exports={isAncestor:o,getLowestCommonAncestor:r,getParentInstance:a,traverseTwoPhase:i,traverseEnterLeave:s}},/*!*********************************************************!*\ !*** ./~/react-dom/lib/ReactDefaultBatchingStrategy.js ***! \*********************************************************/ -function(e,t,n){"use strict";function r(){this.reinitializeTransaction()}var o=n(/*! object-assign */4),i=n(/*! ./ReactUpdates */9),a=n(/*! ./Transaction */26),s=n(/*! fbjs/lib/emptyFunction */7),u={initialize:s,close:function(){d.isBatchingUpdates=!1}},l={initialize:s,close:i.flushBatchedUpdates.bind(i)},c=[l,u];o(r.prototype,a,{getTransactionWrappers:function(){return c}});var p=new r,d={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,o,i){var a=d.isBatchingUpdates;return d.isBatchingUpdates=!0,a?e(t,n,r,o,i):p.perform(e,null,t,n,r,o,i)}};e.exports=d},/*!**************************************************!*\ +function(e,t,n){"use strict";function r(){this.reinitializeTransaction()}var o=n(/*! object-assign */4),a=n(/*! ./ReactUpdates */9),i=n(/*! ./Transaction */26),s=n(/*! fbjs/lib/emptyFunction */7),u={initialize:s,close:function(){d.isBatchingUpdates=!1}},l={initialize:s,close:a.flushBatchedUpdates.bind(a)},c=[l,u];o(r.prototype,i,{getTransactionWrappers:function(){return c}});var p=new r,d={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,o,a){var i=d.isBatchingUpdates;return d.isBatchingUpdates=!0,i?e(t,n,r,o,a):p.perform(e,null,t,n,r,o,a)}};e.exports=d},/*!**************************************************!*\ !*** ./~/react-dom/lib/ReactDefaultInjection.js ***! \**************************************************/ -function(e,t,n){"use strict";function r(){x||(x=!0,y.EventEmitter.injectReactEventListener(g),y.EventPluginHub.injectEventPluginOrder(s),y.EventPluginUtils.injectComponentTree(d),y.EventPluginUtils.injectTreeTraversal(h),y.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:E,EnterLeaveEventPlugin:u,ChangeEventPlugin:a,SelectEventPlugin:C,BeforeInputEventPlugin:i}),y.HostComponent.injectGenericComponentClass(p),y.HostComponent.injectTextComponentClass(v),y.DOMProperty.injectDOMPropertyConfig(o),y.DOMProperty.injectDOMPropertyConfig(l),y.DOMProperty.injectDOMPropertyConfig(b),y.EmptyComponent.injectEmptyComponentFactory(function(e){return new f(e)}),y.Updates.injectReconcileTransaction(_),y.Updates.injectBatchingStrategy(m),y.Component.injectEnvironment(c))}var o=n(/*! ./ARIADOMPropertyConfig */97),i=n(/*! ./BeforeInputEventPlugin */99),a=n(/*! ./ChangeEventPlugin */101),s=n(/*! ./DefaultEventPluginOrder */103),u=n(/*! ./EnterLeaveEventPlugin */104),l=n(/*! ./HTMLDOMPropertyConfig */106),c=n(/*! ./ReactComponentBrowserEnvironment */108),p=n(/*! ./ReactDOMComponent */111),d=n(/*! ./ReactDOMComponentTree */5),f=n(/*! ./ReactDOMEmptyComponent */113),h=n(/*! ./ReactDOMTreeTraversal */121),v=n(/*! ./ReactDOMTextComponent */119),m=n(/*! ./ReactDefaultBatchingStrategy */122),g=n(/*! ./ReactEventListener */126),y=n(/*! ./ReactInjection */127),_=n(/*! ./ReactReconcileTransaction */132),b=n(/*! ./SVGDOMPropertyConfig */137),C=n(/*! ./SelectEventPlugin */138),E=n(/*! ./SimpleEventPlugin */139),x=!1;e.exports={inject:r}},/*!***********************************************!*\ +function(e,t,n){"use strict";function r(){x||(x=!0,y.EventEmitter.injectReactEventListener(g),y.EventPluginHub.injectEventPluginOrder(s),y.EventPluginUtils.injectComponentTree(d),y.EventPluginUtils.injectTreeTraversal(h),y.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:E,EnterLeaveEventPlugin:u,ChangeEventPlugin:i,SelectEventPlugin:C,BeforeInputEventPlugin:a}),y.HostComponent.injectGenericComponentClass(p),y.HostComponent.injectTextComponentClass(m),y.DOMProperty.injectDOMPropertyConfig(o),y.DOMProperty.injectDOMPropertyConfig(l),y.DOMProperty.injectDOMPropertyConfig(b),y.EmptyComponent.injectEmptyComponentFactory(function(e){return new f(e)}),y.Updates.injectReconcileTransaction(_),y.Updates.injectBatchingStrategy(v),y.Component.injectEnvironment(c))}var o=n(/*! ./ARIADOMPropertyConfig */99),a=n(/*! ./BeforeInputEventPlugin */101),i=n(/*! ./ChangeEventPlugin */103),s=n(/*! ./DefaultEventPluginOrder */105),u=n(/*! ./EnterLeaveEventPlugin */106),l=n(/*! ./HTMLDOMPropertyConfig */108),c=n(/*! ./ReactComponentBrowserEnvironment */110),p=n(/*! ./ReactDOMComponent */113),d=n(/*! ./ReactDOMComponentTree */5),f=n(/*! ./ReactDOMEmptyComponent */115),h=n(/*! ./ReactDOMTreeTraversal */123),m=n(/*! ./ReactDOMTextComponent */121),v=n(/*! ./ReactDefaultBatchingStrategy */124),g=n(/*! ./ReactEventListener */128),y=n(/*! ./ReactInjection */129),_=n(/*! ./ReactReconcileTransaction */134),b=n(/*! ./SVGDOMPropertyConfig */139),C=n(/*! ./SelectEventPlugin */140),E=n(/*! ./SimpleEventPlugin */141),x=!1;e.exports={inject:r}},/*!***********************************************!*\ !*** ./~/react-dom/lib/ReactElementSymbol.js ***! \***********************************************/ function(e,t){"use strict";var n="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;e.exports=n},/*!***************************************************!*\ !*** ./~/react-dom/lib/ReactEventEmitterMixin.js ***! \***************************************************/ -function(e,t,n){"use strict";function r(e){o.enqueueEvents(e),o.processEventQueue(!1)}var o=n(/*! ./EventPluginHub */18),i={handleTopLevel:function(e,t,n,i){var a=o.extractEvents(e,t,n,i);r(a)}};e.exports=i},/*!***********************************************!*\ +function(e,t,n){"use strict";function r(e){o.enqueueEvents(e),o.processEventQueue(!1)}var o=n(/*! ./EventPluginHub */18),a={handleTopLevel:function(e,t,n,a){var i=o.extractEvents(e,t,n,a);r(i)}};e.exports=a},/*!***********************************************!*\ !*** ./~/react-dom/lib/ReactEventListener.js ***! \***********************************************/ -function(e,t,n){"use strict";function r(e){for(;e._hostParent;)e=e._hostParent;var t=p.getNodeFromInstance(e),n=t.parentNode;return p.getClosestInstanceFromNode(n)}function o(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function i(e){var t=f(e.nativeEvent),n=p.getClosestInstanceFromNode(t),o=n;do e.ancestors.push(o),o=o&&r(o);while(o);for(var i=0;i/,i=/^<\!\-\-/,a={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(e){var t=r(e);return i.test(e)?e:e.replace(o," "+a.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(a.CHECKSUM_ATTR_NAME);n=n&&parseInt(n,10);var o=r(e);return o===n}};e.exports=a},/*!********************************************!*\ +function(e,t,n){"use strict";var r=n(/*! ./adler32 */152),o=/\/?>/,a=/^<\!\-\-/,i={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(e){var t=r(e);return a.test(e)?e:e.replace(o," "+i.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(i.CHECKSUM_ATTR_NAME);n=n&&parseInt(n,10);var o=r(e);return o===n}};e.exports=i},/*!********************************************!*\ !*** ./~/react-dom/lib/ReactMultiChild.js ***! \********************************************/ -function(e,t,n){"use strict";function r(e,t,n){return{type:"INSERT_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:n,afterNode:t}}function o(e,t,n){return{type:"MOVE_EXISTING",content:null,fromIndex:e._mountIndex,fromNode:d.getHostNode(e),toIndex:n,afterNode:t}}function i(e,t){return{type:"REMOVE_NODE",content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}}function a(e){return{type:"SET_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function s(e){return{type:"TEXT_CONTENT",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function u(e,t){return t&&(e=e||[],e.push(t)),e}function l(e,t){p.processChildrenUpdates(e,t)}var c=n(/*! ./reactProdInvariant */3),p=n(/*! ./ReactComponentEnvironment */36),d=(n(/*! ./ReactInstanceMap */20),n(/*! ./ReactInstrumentation */8),n(/*! react/lib/ReactCurrentOwner */11),n(/*! ./ReactReconciler */15)),f=n(/*! ./ReactChildReconciler */107),h=(n(/*! fbjs/lib/emptyFunction */7),n(/*! ./flattenChildren */153)),v=(n(/*! fbjs/lib/invariant */1),{Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return f.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,r,o,i){var a,s=0;return a=h(t,s),f.updateChildren(e,a,n,r,o,this,this._hostContainerInfo,i,s),a},mountChildren:function(e,t,n){var r=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=r;var o=[],i=0;for(var a in r)if(r.hasOwnProperty(a)){var s=r[a],u=0,l=d.mountComponent(s,t,this,this._hostContainerInfo,n,u);s._mountIndex=i++,o.push(l)}return o},updateTextContent:function(e){var t=this._renderedChildren;f.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&c("118");var r=[s(e)];l(this,r)},updateMarkup:function(e){var t=this._renderedChildren;f.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&c("118");var r=[a(e)];l(this,r)},updateChildren:function(e,t,n){this._updateChildren(e,t,n)},_updateChildren:function(e,t,n){var r=this._renderedChildren,o={},i=[],a=this._reconcilerUpdateChildren(r,e,i,o,t,n);if(a||r){var s,c=null,p=0,f=0,h=0,v=null;for(s in a)if(a.hasOwnProperty(s)){var m=r&&r[s],g=a[s];m===g?(c=u(c,this.moveChild(m,v,p,f)),f=Math.max(m._mountIndex,f),m._mountIndex=p):(m&&(f=Math.max(m._mountIndex,f)),c=u(c,this._mountChildAtIndex(g,i[h],v,p,t,n)),h++),p++,v=d.getHostNode(g)}for(s in o)o.hasOwnProperty(s)&&(c=u(c,this._unmountChild(r[s],o[s])));c&&l(this,c),this._renderedChildren=a}},unmountChildren:function(e){var t=this._renderedChildren;f.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,r){if(e._mountIndex=t)return{node:o,offset:t-i};i=a}o=n(r(o))}}e.exports=o},/*!*******************************************************!*\ +function(e,t){"use strict";function n(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function r(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}function o(e,t){for(var o=n(e),a=0,i=0;o;){if(3===o.nodeType){if(i=a+o.textContent.length,a<=t&&i>=t)return{node:o,offset:t-a};a=i}o=n(r(o))}}e.exports=o},/*!*******************************************************!*\ !*** ./~/react-dom/lib/getVendorPrefixedEventName.js ***! \*******************************************************/ -function(e,t,n){"use strict";function r(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}function o(e){if(s[e])return s[e];if(!a[e])return e;var t=a[e];for(var n in t)if(t.hasOwnProperty(n)&&n in u)return s[e]=t[n];return""}var i=n(/*! fbjs/lib/ExecutionEnvironment */6),a={animationend:r("Animation","AnimationEnd"),animationiteration:r("Animation","AnimationIteration"),animationstart:r("Animation","AnimationStart"),transitionend:r("Transition","TransitionEnd")},s={},u={};i.canUseDOM&&(u=document.createElement("div").style,"AnimationEvent"in window||(delete a.animationend.animation,delete a.animationiteration.animation,delete a.animationstart.animation),"TransitionEvent"in window||delete a.transitionend.transition),e.exports=o},/*!**********************************************************!*\ +function(e,t,n){"use strict";function r(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}function o(e){if(s[e])return s[e];if(!i[e])return e;var t=i[e];for(var n in t)if(t.hasOwnProperty(n)&&n in u)return s[e]=t[n];return""}var a=n(/*! fbjs/lib/ExecutionEnvironment */6),i={animationend:r("Animation","AnimationEnd"),animationiteration:r("Animation","AnimationIteration"),animationstart:r("Animation","AnimationStart"),transitionend:r("Transition","TransitionEnd")},s={},u={};a.canUseDOM&&(u=document.createElement("div").style,"AnimationEvent"in window||(delete i.animationend.animation,delete i.animationiteration.animation,delete i.animationstart.animation),"TransitionEvent"in window||delete i.transitionend.transition),e.exports=o},/*!**********************************************************!*\ !*** ./~/react-dom/lib/quoteAttributeValueForBrowser.js ***! \**********************************************************/ function(e,t,n){"use strict";function r(e){return'"'+o(e)+'"'}var o=n(/*! ./escapeTextContentForBrowser */27);e.exports=r},/*!*******************************************************!*\ !*** ./~/react-dom/lib/renderSubtreeIntoContainer.js ***! \*******************************************************/ -function(e,t,n){"use strict";var r=n(/*! ./ReactMount */60);e.exports=r.renderSubtreeIntoContainer},/*!***************************************!*\ +function(e,t,n){"use strict";var r=n(/*! ./ReactMount */61);e.exports=r.renderSubtreeIntoContainer},/*!***************************************!*\ !*** ./~/react/lib/KeyEscapeUtils.js ***! \***************************************/ function(e,t){"use strict";function n(e){var t=/[=:]/g,n={"=":"=0",":":"=2"},r=(""+e).replace(t,function(e){return n[e]});return"$"+r}function r(e){var t=/(=0|=2)/g,n={"=0":"=","=2":":"},r="."===e[0]&&"$"===e[1]?e.substring(2):e.substring(1);return(""+r).replace(t,function(e){return n[e]})}var o={escape:n,unescape:r};e.exports=o},/*!************************************!*\ !*** ./~/react/lib/PooledClass.js ***! \************************************/ -function(e,t,n){"use strict";var r=n(/*! ./reactProdInvariant */22),o=(n(/*! fbjs/lib/invariant */1),function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)}),i=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},a=function(e,t,n){var r=this;if(r.instancePool.length){var o=r.instancePool.pop();return r.call(o,e,t,n),o}return new r(e,t,n)},s=function(e,t,n,r){var o=this;if(o.instancePool.length){var i=o.instancePool.pop();return o.call(i,e,t,n,r),i}return new o(e,t,n,r)},u=function(e){var t=this;e instanceof t?void 0:r("25"),e.destructor(),t.instancePool.length { - return ` +const getHalfStarStyles = (color, uniqueness) => ` .react-stars-${uniqueness}:before { position: absolute; overflow: hidden; display: block; z-index: 1; - top: 0; left: 0; + top: 0; + left: 0; width: 50%; content: attr(data-forhalf); color: ${color}; }` + + +const isDecimal = value => value % 1 !== 0 + +const moreThanHalf = (event, size) => { + const { target } = event + let mouseAt = event.clientX - target.getBoundingClientRect().left + mouseAt = Math.round(Math.abs(mouseAt)) + return mouseAt > size / 2 } class ReactStars extends Component { - constructor(props) { - super(props) - // set defaults + const { value, half } = this.props - props = Object.assign({}, props) - - if(typeof props.edit === 'undefined') { - props.edit = true - } else { - props.edit = false - } - - if(typeof props.half === 'undefined') { - props.half = true - } else { - props.half = false - } + this.mouseLeave = this.mouseLeave.bind(this) + this.mouseOver = this.mouseOver.bind(this) + this.clicked = this.clicked.bind(this) + this.renderStars = this.renderStars.bind(this) this.state = { - uniqueness: (Math.random() + '').replace('.', ''), - value: props.value || 0, - stars: [], + uniqueness: (`${Math.random()}`).replace('.', ''), + value, + stars: this.getStars(value), halfStar: { - at: Math.floor(props.value), - hidden: props.half && props.value % 1 < 0.5 + at: Math.floor(value), + hidden: half && value % 1 < 0.5 } } - - this.state.config = { - count: props.count || 5, - size: props.size || 15, - char: props.char || '★', - // default color of inactive star - color1: props.color1 || 'gray', - // color of an active star - color2: props.color2 || '#ffd700', - half: props.half, - edit: props.edit, - } - - } - - componentDidMount() { - this.setState({ - stars: this.getStars(this.state.value) - }) } - componentWillReceiveProps(props) { + componentWillReceiveProps(nextProps) { + const { half } = this.props this.setState({ - stars: this.getStars(props.value), - value: props.value, + stars: this.getStars(nextProps.value), + value: nextProps.value, halfStar: { - at: Math.floor(props.value), - hidden: this.state.config.half && props.value % 1 < 0.5 + at: Math.floor(nextProps.value), + hidden: half && nextProps.value % 1 < 0.5 } }) } - isDecimal(value) { - return value % 1 !== 0 - } - getRate() { - let stars - if(this.state.config.half) { - stars = Math.floor(this.state.value) - } else { - stars = Math.round(this.state.value) - } - return stars + const { value } = this.state + return this.props.half ? Math.floor(value) : Math.round(value) } - getStars(activeCount) { - if(typeof activeCount === 'undefined') { - activeCount = this.getRate() - } - let stars = [] - for(let i = 0; i < this.state.config.count; i++) { + getStars(newCount) { + const { count } = this.props + const activeCount = (typeof newCount === 'undefined') ? this.getRate() : newCount + const stars = [] + for (let i = 0; i < count; i += 1) { stars.push({ active: i <= activeCount - 1 }) @@ -118,34 +88,27 @@ class ReactStars extends Component { } mouseOver(event) { - let { config, halfStar } = this.state - if(!config.edit) return; + const { halfStar } = this.state + const { half, size } = this.props let index = Number(event.target.getAttribute('data-index')) - if(config.half) { - const isAtHalf = this.moreThanHalf(event, config.size) + if (half) { + const isAtHalf = moreThanHalf(event, size) halfStar.hidden = isAtHalf - if(isAtHalf) index = index + 1 + if (isAtHalf) index += 1 halfStar.at = index } else { - index = index + 1 + index += 1 } this.setState({ stars: this.getStars(index) }) } - moreThanHalf(event, size) { - let { target } = event - var mouseAt = event.clientX - target.getBoundingClientRect().left - mouseAt = Math.round(Math.abs(mouseAt)) - return mouseAt > size / 2 - } - mouseLeave() { - const { value, halfStar, config } = this.state - if(!config.edit) return - if(config.half) { - halfStar.hidden = !this.isDecimal(value) + const { value, halfStar } = this.state + const { half } = this.props + if (half) { + halfStar.hidden = !isDecimal(value) halfStar.at = Math.floor(this.state.value) } this.setState({ @@ -154,59 +117,65 @@ class ReactStars extends Component { } clicked(event) { - const { config, halfStar } = this.state - if(!config.edit) return + const { halfStar } = this.state + const { half, size } = this.props let index = Number(event.target.getAttribute('data-index')) let value - if(config.half) { - const isAtHalf = this.moreThanHalf(event, config.size) + if (half) { + const isAtHalf = moreThanHalf(event, size) halfStar.hidden = isAtHalf - if(isAtHalf) index = index + 1 - value = isAtHalf ? index : index + .5 + if (isAtHalf) index += 1 + value = isAtHalf ? index : index + 0.5 halfStar.at = index } else { - value = index = index + 1 + index += 1 + value = index } this.setState({ - value: value, + value, stars: this.getStars(index) }) this.props.onChange(value) } renderHalfStarStyleElement() { - const { config, uniqueness } = this.state + const { uniqueness } = this.state + const { color2 } = this.props return ( - +