diff --git a/bower.json b/bower.json index 6ec3b0e..ca575de 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "react-spinner", - "version": "0.2.6", + "version": "0.2.7", "author": "chenglou ", "description": "Zero configuration loading spinner.", "main": "build/index.js", diff --git a/example/bundle.js b/example/bundle.js index 431ac9c..a84a9e4 100644 --- a/example/bundle.js +++ b/example/bundle.js @@ -65,7 +65,7 @@ /******/ } /******/ /******/ var hotApplyOnUpdate = true; -/******/ var hotCurrentHash = "d2736de02ffc613d469d"; // eslint-disable-line no-unused-vars +/******/ var hotCurrentHash = "dc772d684308b798601e"; // eslint-disable-line no-unused-vars /******/ var hotCurrentModuleData = {}; /******/ var hotCurrentParents = []; // eslint-disable-line no-unused-vars /******/ @@ -581,1101 +581,1197 @@ /************************************************************************/ /******/ ([ /* 0 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - eval("module.exports = __webpack_require__(1);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** multi main\n ** module id = 0\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///multi_main?"); + eval("module.exports = __webpack_require__(1);\n\n\n//////////////////\n// WEBPACK FOOTER\n// multi main\n// module id = 0\n// module chunks = 0\n//# sourceURL=webpack:///multi_main?"); -/***/ }, +/***/ }), /* 1 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - eval("/* WEBPACK VAR INJECTION */(function(module) {/* REACT HOT LOADER */ if (true) { (function () { var ReactHotAPI = __webpack_require__(3), RootInstanceProvider = __webpack_require__(11), ReactMount = __webpack_require__(13), React = __webpack_require__(73); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(73);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = __webpack_require__(88);\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _component = __webpack_require__(178);\n\nvar _component2 = _interopRequireDefault(_component);\n\n_reactDom2['default'].render(_react2['default'].createElement(_component2['default'], null), document.querySelector('#content'));\n\n/* REACT HOT LOADER */ }).call(this); } finally { if (true) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = __webpack_require__(180); if (makeExportsHot(module, __webpack_require__(73))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"index.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)(module)))\n\n/*****************\n ** WEBPACK FOOTER\n ** ./example/index.jsx\n ** module id = 1\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///./example/index.jsx?"); + eval("/* WEBPACK VAR INJECTION */(function(module) {/* REACT HOT LOADER */ if (true) { (function () { var ReactHotAPI = __webpack_require__(3), RootInstanceProvider = __webpack_require__(11), ReactMount = __webpack_require__(13), React = __webpack_require__(103); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(103);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = __webpack_require__(104);\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _component = __webpack_require__(194);\n\nvar _component2 = _interopRequireDefault(_component);\n\n_reactDom2['default'].render(_react2['default'].createElement(_component2['default'], null), document.querySelector('#content'));\n\n/* REACT HOT LOADER */ }).call(this); } finally { if (true) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = __webpack_require__(196); if (makeExportsHot(module, __webpack_require__(103))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot apply hot update to \" + \"index.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)(module)))\n\n//////////////////\n// WEBPACK FOOTER\n// ./example/index.jsx\n// module id = 1\n// module chunks = 0\n//# sourceURL=webpack:///./example/index.jsx?"); -/***/ }, +/***/ }), /* 2 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { - eval("module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tmodule.children = [];\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n}\r\n\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/buildin/module.js\n ** module id = 2\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///(webpack)/buildin/module.js?"); + eval("module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tmodule.children = [];\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n}\r\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 2\n// module chunks = 0\n//# sourceURL=webpack:///(webpack)/buildin/module.js?"); -/***/ }, +/***/ }), /* 3 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - eval("'use strict';\n\nmodule.exports = __webpack_require__(4);\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-hot-api/modules/index.js\n ** module id = 3\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///./~/react-hot-api/modules/index.js?"); + eval("'use strict';\n\nmodule.exports = __webpack_require__(4);\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-hot-api/modules/index.js\n// module id = 3\n// module chunks = 0\n//# sourceURL=webpack:///./~/react-hot-api/modules/index.js?"); -/***/ }, +/***/ }), /* 4 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - eval("'use strict';\n\nvar makePatchReactClass = __webpack_require__(5);\n\n/**\n * Returns a function that, when invoked, patches a React class with a new\n * version of itself. To patch different classes, pass different IDs.\n */\nmodule.exports = function makeMakeHot(getRootInstances, React) {\n if (typeof getRootInstances !== 'function') {\n throw new Error('Expected getRootInstances to be a function.');\n }\n\n var patchers = {};\n\n return function makeHot(NextClass, persistentId) {\n persistentId = persistentId || NextClass.displayName || NextClass.name;\n\n if (!persistentId) {\n console.error(\n 'Hot reload is disabled for one of your types. To enable it, pass a ' +\n 'string uniquely identifying this class within this current module ' +\n 'as a second parameter to makeHot.'\n );\n return NextClass;\n }\n\n if (!patchers[persistentId]) {\n patchers[persistentId] = makePatchReactClass(getRootInstances, React);\n }\n\n var patchReactClass = patchers[persistentId];\n return patchReactClass(NextClass);\n };\n};\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-hot-api/modules/makeMakeHot.js\n ** module id = 4\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///./~/react-hot-api/modules/makeMakeHot.js?"); + eval("'use strict';\n\nvar makePatchReactClass = __webpack_require__(5);\n\n/**\n * Returns a function that, when invoked, patches a React class with a new\n * version of itself. To patch different classes, pass different IDs.\n */\nmodule.exports = function makeMakeHot(getRootInstances, React) {\n if (typeof getRootInstances !== 'function') {\n throw new Error('Expected getRootInstances to be a function.');\n }\n\n var patchers = {};\n\n return function makeHot(NextClass, persistentId) {\n persistentId = persistentId || NextClass.displayName || NextClass.name;\n\n if (!persistentId) {\n console.error(\n 'Hot reload is disabled for one of your types. To enable it, pass a ' +\n 'string uniquely identifying this class within this current module ' +\n 'as a second parameter to makeHot.'\n );\n return NextClass;\n }\n\n if (!patchers[persistentId]) {\n patchers[persistentId] = makePatchReactClass(getRootInstances, React);\n }\n\n var patchReactClass = patchers[persistentId];\n return patchReactClass(NextClass);\n };\n};\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-hot-api/modules/makeMakeHot.js\n// module id = 4\n// module chunks = 0\n//# sourceURL=webpack:///./~/react-hot-api/modules/makeMakeHot.js?"); -/***/ }, +/***/ }), /* 5 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - eval("'use strict';\n\nvar makeAssimilatePrototype = __webpack_require__(6),\n requestForceUpdateAll = __webpack_require__(7);\n\nfunction hasNonStubTypeProperty(ReactClass) {\n if (!ReactClass.hasOwnProperty('type')) {\n return false;\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(ReactClass, 'type');\n if (typeof descriptor.get === 'function') {\n return false;\n }\n\n return true;\n}\n\nfunction getPrototype(ReactClass) {\n var prototype = ReactClass.prototype,\n seemsLegit = prototype && typeof prototype.render === 'function';\n\n if (!seemsLegit && hasNonStubTypeProperty(ReactClass)) {\n prototype = ReactClass.type.prototype;\n }\n\n return prototype;\n}\n\n/**\n * Returns a function that will patch React class with new versions of itself\n * on subsequent invocations. Both legacy and ES6 style classes are supported.\n */\nmodule.exports = function makePatchReactClass(getRootInstances, React) {\n var assimilatePrototype = makeAssimilatePrototype(),\n FirstClass = null;\n\n return function patchReactClass(NextClass) {\n var nextPrototype = getPrototype(NextClass);\n assimilatePrototype(nextPrototype);\n\n if (FirstClass) {\n requestForceUpdateAll(getRootInstances, React);\n }\n\n return FirstClass || (FirstClass = NextClass);\n };\n};\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-hot-api/modules/makePatchReactClass.js\n ** module id = 5\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///./~/react-hot-api/modules/makePatchReactClass.js?"); + eval("'use strict';\n\nvar makeAssimilatePrototype = __webpack_require__(6),\n requestForceUpdateAll = __webpack_require__(7);\n\nfunction hasNonStubTypeProperty(ReactClass) {\n if (!ReactClass.hasOwnProperty('type')) {\n return false;\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(ReactClass, 'type');\n if (typeof descriptor.get === 'function') {\n return false;\n }\n\n return true;\n}\n\nfunction getPrototype(ReactClass) {\n var prototype = ReactClass.prototype,\n seemsLegit = prototype && typeof prototype.render === 'function';\n\n if (!seemsLegit && hasNonStubTypeProperty(ReactClass)) {\n prototype = ReactClass.type.prototype;\n }\n\n return prototype;\n}\n\n/**\n * Returns a function that will patch React class with new versions of itself\n * on subsequent invocations. Both legacy and ES6 style classes are supported.\n */\nmodule.exports = function makePatchReactClass(getRootInstances, React) {\n var assimilatePrototype = makeAssimilatePrototype(),\n FirstClass = null;\n\n return function patchReactClass(NextClass) {\n var nextPrototype = getPrototype(NextClass);\n assimilatePrototype(nextPrototype);\n\n if (FirstClass) {\n requestForceUpdateAll(getRootInstances, React);\n }\n\n return FirstClass || (FirstClass = NextClass);\n };\n};\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-hot-api/modules/makePatchReactClass.js\n// module id = 5\n// module chunks = 0\n//# sourceURL=webpack:///./~/react-hot-api/modules/makePatchReactClass.js?"); -/***/ }, +/***/ }), /* 6 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { - eval("'use strict';\n\n/**\n * Returns a function that establishes the first prototype passed to it\n * as the \"source of truth\" and patches its methods on subsequent invocations,\n * also patching current and previous prototypes to forward calls to it.\n */\nmodule.exports = function makeAssimilatePrototype() {\n var storedPrototype,\n knownPrototypes = [];\n\n function wrapMethod(key) {\n return function () {\n if (storedPrototype[key]) {\n return storedPrototype[key].apply(this, arguments);\n }\n };\n }\n\n function patchProperty(proto, key) {\n proto[key] = storedPrototype[key];\n\n if (typeof proto[key] !== 'function' ||\n key === 'type' ||\n key === 'constructor') {\n return;\n }\n\n proto[key] = wrapMethod(key);\n\n if (storedPrototype[key].isReactClassApproved) {\n proto[key].isReactClassApproved = storedPrototype[key].isReactClassApproved;\n }\n\n if (proto.__reactAutoBindMap && proto.__reactAutoBindMap[key]) {\n proto.__reactAutoBindMap[key] = proto[key];\n }\n }\n\n function updateStoredPrototype(freshPrototype) {\n storedPrototype = {};\n\n Object.getOwnPropertyNames(freshPrototype).forEach(function (key) {\n storedPrototype[key] = freshPrototype[key];\n });\n }\n\n function reconcileWithStoredPrototypes(freshPrototype) {\n knownPrototypes.push(freshPrototype);\n knownPrototypes.forEach(function (proto) {\n Object.getOwnPropertyNames(storedPrototype).forEach(function (key) {\n patchProperty(proto, key);\n });\n });\n }\n\n return function assimilatePrototype(freshPrototype) {\n if (Object.prototype.hasOwnProperty.call(freshPrototype, '__isAssimilatedByReactHotAPI')) {\n return;\n }\n\n updateStoredPrototype(freshPrototype);\n reconcileWithStoredPrototypes(freshPrototype);\n freshPrototype.__isAssimilatedByReactHotAPI = true;\n };\n};\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-hot-api/modules/makeAssimilatePrototype.js\n ** module id = 6\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///./~/react-hot-api/modules/makeAssimilatePrototype.js?"); + eval("'use strict';\n\n/**\n * Returns a function that establishes the first prototype passed to it\n * as the \"source of truth\" and patches its methods on subsequent invocations,\n * also patching current and previous prototypes to forward calls to it.\n */\nmodule.exports = function makeAssimilatePrototype() {\n var storedPrototype,\n knownPrototypes = [];\n\n function wrapMethod(key) {\n return function () {\n if (storedPrototype[key]) {\n return storedPrototype[key].apply(this, arguments);\n }\n };\n }\n\n function patchProperty(proto, key) {\n proto[key] = storedPrototype[key];\n\n if (typeof proto[key] !== 'function' ||\n key === 'type' ||\n key === 'constructor') {\n return;\n }\n\n proto[key] = wrapMethod(key);\n\n if (storedPrototype[key].isReactClassApproved) {\n proto[key].isReactClassApproved = storedPrototype[key].isReactClassApproved;\n }\n\n if (proto.__reactAutoBindMap && proto.__reactAutoBindMap[key]) {\n proto.__reactAutoBindMap[key] = proto[key];\n }\n }\n\n function updateStoredPrototype(freshPrototype) {\n storedPrototype = {};\n\n Object.getOwnPropertyNames(freshPrototype).forEach(function (key) {\n storedPrototype[key] = freshPrototype[key];\n });\n }\n\n function reconcileWithStoredPrototypes(freshPrototype) {\n knownPrototypes.push(freshPrototype);\n knownPrototypes.forEach(function (proto) {\n Object.getOwnPropertyNames(storedPrototype).forEach(function (key) {\n patchProperty(proto, key);\n });\n });\n }\n\n return function assimilatePrototype(freshPrototype) {\n if (Object.prototype.hasOwnProperty.call(freshPrototype, '__isAssimilatedByReactHotAPI')) {\n return;\n }\n\n updateStoredPrototype(freshPrototype);\n reconcileWithStoredPrototypes(freshPrototype);\n freshPrototype.__isAssimilatedByReactHotAPI = true;\n };\n};\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-hot-api/modules/makeAssimilatePrototype.js\n// module id = 6\n// module chunks = 0\n//# sourceURL=webpack:///./~/react-hot-api/modules/makeAssimilatePrototype.js?"); -/***/ }, +/***/ }), /* 7 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - eval("var deepForceUpdate = __webpack_require__(8);\n\nvar isRequestPending = false;\n\nmodule.exports = function requestForceUpdateAll(getRootInstances, React) {\n if (isRequestPending) {\n return;\n }\n\n /**\n * Forces deep re-render of all mounted React components.\n * Hats off to Omar Skalli (@Chetane) for suggesting this approach:\n * https://gist.github.com/Chetane/9a230a9fdcdca21a4e29\n */\n function forceUpdateAll() {\n isRequestPending = false;\n\n var rootInstances = getRootInstances(),\n rootInstance;\n\n for (var key in rootInstances) {\n if (rootInstances.hasOwnProperty(key)) {\n rootInstance = rootInstances[key];\n\n // `|| rootInstance` for React 0.12 and earlier\n rootInstance = rootInstance._reactInternalInstance || rootInstance;\n deepForceUpdate(rootInstance, React);\n }\n }\n }\n\n setTimeout(forceUpdateAll);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-hot-api/modules/requestForceUpdateAll.js\n ** module id = 7\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///./~/react-hot-api/modules/requestForceUpdateAll.js?"); + eval("var deepForceUpdate = __webpack_require__(8);\n\nvar isRequestPending = false;\n\nmodule.exports = function requestForceUpdateAll(getRootInstances, React) {\n if (isRequestPending) {\n return;\n }\n\n /**\n * Forces deep re-render of all mounted React components.\n * Hats off to Omar Skalli (@Chetane) for suggesting this approach:\n * https://gist.github.com/Chetane/9a230a9fdcdca21a4e29\n */\n function forceUpdateAll() {\n isRequestPending = false;\n\n var rootInstances = getRootInstances(),\n rootInstance;\n\n for (var key in rootInstances) {\n if (rootInstances.hasOwnProperty(key)) {\n rootInstance = rootInstances[key];\n\n // `|| rootInstance` for React 0.12 and earlier\n rootInstance = rootInstance._reactInternalInstance || rootInstance;\n deepForceUpdate(rootInstance, React);\n }\n }\n }\n\n setTimeout(forceUpdateAll);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-hot-api/modules/requestForceUpdateAll.js\n// module id = 7\n// module chunks = 0\n//# sourceURL=webpack:///./~/react-hot-api/modules/requestForceUpdateAll.js?"); -/***/ }, +/***/ }), /* 8 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - eval("'use strict';\n\nvar bindAutoBindMethods = __webpack_require__(9);\nvar traverseRenderedChildren = __webpack_require__(10);\n\nfunction setPendingForceUpdate(internalInstance) {\n if (internalInstance._pendingForceUpdate === false) {\n internalInstance._pendingForceUpdate = true;\n }\n}\n\nfunction forceUpdateIfPending(internalInstance, React) {\n if (internalInstance._pendingForceUpdate === true) {\n // `|| internalInstance` for React 0.12 and earlier\n var instance = internalInstance._instance || internalInstance;\n\n if (instance.forceUpdate) {\n instance.forceUpdate();\n } else if (React && React.Component) {\n React.Component.prototype.forceUpdate.call(instance);\n }\n }\n}\n\n/**\n * Updates a React component recursively, so even if children define funky\n * `shouldComponentUpdate`, they are forced to re-render.\n * Makes sure that any newly added methods are properly auto-bound.\n */\nfunction deepForceUpdate(internalInstance, React) {\n traverseRenderedChildren(internalInstance, bindAutoBindMethods);\n traverseRenderedChildren(internalInstance, setPendingForceUpdate);\n traverseRenderedChildren(internalInstance, forceUpdateIfPending, React);\n}\n\nmodule.exports = deepForceUpdate;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-hot-api/modules/deepForceUpdate.js\n ** module id = 8\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///./~/react-hot-api/modules/deepForceUpdate.js?"); + eval("'use strict';\n\nvar bindAutoBindMethods = __webpack_require__(9);\nvar traverseRenderedChildren = __webpack_require__(10);\n\nfunction setPendingForceUpdate(internalInstance) {\n if (internalInstance._pendingForceUpdate === false) {\n internalInstance._pendingForceUpdate = true;\n }\n}\n\nfunction forceUpdateIfPending(internalInstance, React) {\n if (internalInstance._pendingForceUpdate === true) {\n // `|| internalInstance` for React 0.12 and earlier\n var instance = internalInstance._instance || internalInstance;\n\n if (instance.forceUpdate) {\n instance.forceUpdate();\n } else if (React && React.Component) {\n React.Component.prototype.forceUpdate.call(instance);\n }\n }\n}\n\n/**\n * Updates a React component recursively, so even if children define funky\n * `shouldComponentUpdate`, they are forced to re-render.\n * Makes sure that any newly added methods are properly auto-bound.\n */\nfunction deepForceUpdate(internalInstance, React) {\n traverseRenderedChildren(internalInstance, bindAutoBindMethods);\n traverseRenderedChildren(internalInstance, setPendingForceUpdate);\n traverseRenderedChildren(internalInstance, forceUpdateIfPending, React);\n}\n\nmodule.exports = deepForceUpdate;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-hot-api/modules/deepForceUpdate.js\n// module id = 8\n// module chunks = 0\n//# sourceURL=webpack:///./~/react-hot-api/modules/deepForceUpdate.js?"); -/***/ }, +/***/ }), /* 9 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { - eval("'use strict';\n\nfunction bindAutoBindMethod(component, method) {\n var boundMethod = method.bind(component);\n\n boundMethod.__reactBoundContext = component;\n boundMethod.__reactBoundMethod = method;\n boundMethod.__reactBoundArguments = null;\n\n var componentName = component.constructor.displayName,\n _bind = boundMethod.bind;\n\n boundMethod.bind = function (newThis) {\n var args = Array.prototype.slice.call(arguments, 1);\n if (newThis !== component && newThis !== null) {\n console.warn(\n 'bind(): React component methods may only be bound to the ' +\n 'component instance. See ' + componentName\n );\n } else if (!args.length) {\n console.warn(\n 'bind(): You are binding a component method to the component. ' +\n 'React does this for you automatically in a high-performance ' +\n 'way, so you can safely remove this call. See ' + componentName\n );\n return boundMethod;\n }\n\n var reboundMethod = _bind.apply(boundMethod, arguments);\n reboundMethod.__reactBoundContext = component;\n reboundMethod.__reactBoundMethod = method;\n reboundMethod.__reactBoundArguments = args;\n\n return reboundMethod;\n };\n\n return boundMethod;\n}\n\n/**\n * Performs auto-binding similar to how React does it.\n * Skips already auto-bound methods.\n * Based on https://github.com/facebook/react/blob/b264372e2b3ad0b0c0c0cc95a2f383e4a1325c3d/src/classic/class/ReactClass.js#L639-L705\n */\nmodule.exports = function bindAutoBindMethods(internalInstance) {\n var component = typeof internalInstance.getPublicInstance === 'function' ?\n internalInstance.getPublicInstance() :\n internalInstance;\n\n if (!component) {\n // React 0.14 stateless component has no instance\n return;\n }\n\n for (var autoBindKey in component.__reactAutoBindMap) {\n if (!component.__reactAutoBindMap.hasOwnProperty(autoBindKey)) {\n continue;\n }\n\n // Skip already bound methods\n if (component.hasOwnProperty(autoBindKey) &&\n component[autoBindKey].__reactBoundContext === component) {\n continue;\n }\n\n var method = component.__reactAutoBindMap[autoBindKey];\n component[autoBindKey] = bindAutoBindMethod(component, method);\n }\n};\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-hot-api/modules/bindAutoBindMethods.js\n ** module id = 9\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///./~/react-hot-api/modules/bindAutoBindMethods.js?"); + eval("'use strict';\n\nfunction bindAutoBindMethod(component, method) {\n var boundMethod = method.bind(component);\n\n boundMethod.__reactBoundContext = component;\n boundMethod.__reactBoundMethod = method;\n boundMethod.__reactBoundArguments = null;\n\n var componentName = component.constructor.displayName,\n _bind = boundMethod.bind;\n\n boundMethod.bind = function (newThis) {\n var args = Array.prototype.slice.call(arguments, 1);\n if (newThis !== component && newThis !== null) {\n console.warn(\n 'bind(): React component methods may only be bound to the ' +\n 'component instance. See ' + componentName\n );\n } else if (!args.length) {\n console.warn(\n 'bind(): You are binding a component method to the component. ' +\n 'React does this for you automatically in a high-performance ' +\n 'way, so you can safely remove this call. See ' + componentName\n );\n return boundMethod;\n }\n\n var reboundMethod = _bind.apply(boundMethod, arguments);\n reboundMethod.__reactBoundContext = component;\n reboundMethod.__reactBoundMethod = method;\n reboundMethod.__reactBoundArguments = args;\n\n return reboundMethod;\n };\n\n return boundMethod;\n}\n\n/**\n * Performs auto-binding similar to how React does it.\n * Skips already auto-bound methods.\n * Based on https://github.com/facebook/react/blob/b264372e2b3ad0b0c0c0cc95a2f383e4a1325c3d/src/classic/class/ReactClass.js#L639-L705\n */\nmodule.exports = function bindAutoBindMethods(internalInstance) {\n var component = typeof internalInstance.getPublicInstance === 'function' ?\n internalInstance.getPublicInstance() :\n internalInstance;\n\n if (!component) {\n // React 0.14 stateless component has no instance\n return;\n }\n\n for (var autoBindKey in component.__reactAutoBindMap) {\n if (!component.__reactAutoBindMap.hasOwnProperty(autoBindKey)) {\n continue;\n }\n\n // Skip already bound methods\n if (component.hasOwnProperty(autoBindKey) &&\n component[autoBindKey].__reactBoundContext === component) {\n continue;\n }\n\n var method = component.__reactAutoBindMap[autoBindKey];\n component[autoBindKey] = bindAutoBindMethod(component, method);\n }\n};\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-hot-api/modules/bindAutoBindMethods.js\n// module id = 9\n// module chunks = 0\n//# sourceURL=webpack:///./~/react-hot-api/modules/bindAutoBindMethods.js?"); -/***/ }, +/***/ }), /* 10 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { - eval("'use strict';\n\nfunction traverseRenderedChildren(internalInstance, callback, argument) {\n callback(internalInstance, argument);\n\n if (internalInstance._renderedComponent) {\n traverseRenderedChildren(\n internalInstance._renderedComponent,\n callback,\n argument\n );\n } else {\n for (var key in internalInstance._renderedChildren) {\n traverseRenderedChildren(\n internalInstance._renderedChildren[key],\n callback,\n argument\n );\n }\n }\n}\n\nmodule.exports = traverseRenderedChildren;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-hot-api/modules/traverseRenderedChildren.js\n ** module id = 10\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///./~/react-hot-api/modules/traverseRenderedChildren.js?"); + eval("'use strict';\n\nfunction traverseRenderedChildren(internalInstance, callback, argument) {\n callback(internalInstance, argument);\n\n if (internalInstance._renderedComponent) {\n traverseRenderedChildren(\n internalInstance._renderedComponent,\n callback,\n argument\n );\n } else {\n for (var key in internalInstance._renderedChildren) {\n traverseRenderedChildren(\n internalInstance._renderedChildren[key],\n callback,\n argument\n );\n }\n }\n}\n\nmodule.exports = traverseRenderedChildren;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-hot-api/modules/traverseRenderedChildren.js\n// module id = 10\n// module chunks = 0\n//# sourceURL=webpack:///./~/react-hot-api/modules/traverseRenderedChildren.js?"); -/***/ }, +/***/ }), /* 11 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - eval("'use strict';\n\nvar getRootInstancesFromReactMount = __webpack_require__(12);\n\nvar injectedProvider = null,\n didWarn = false;\n\nfunction warnOnce() {\n if (!didWarn) {\n console.warn(\n 'It appears that React Hot Loader isn\\'t configured correctly. ' +\n 'If you\\'re using NPM, make sure your dependencies don\\'t drag duplicate React distributions into their node_modules and that require(\"react\") corresponds to the React instance you render your app with.',\n 'If you\\'re using a precompiled version of React, see https://github.com/gaearon/react-hot-loader/tree/master/docs#usage-with-external-react for integration instructions.'\n );\n }\n\n didWarn = true;\n}\n\nvar RootInstanceProvider = {\n injection: {\n injectProvider: function (provider) {\n injectedProvider = provider;\n }\n },\n\n getRootInstances: function (ReactMount) {\n if (injectedProvider) {\n return injectedProvider.getRootInstances();\n }\n\n var instances = ReactMount && getRootInstancesFromReactMount(ReactMount) || [];\n if (!Object.keys(instances).length) {\n warnOnce();\n }\n\n return instances;\n }\n};\n\nmodule.exports = RootInstanceProvider;\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-hot-loader/RootInstanceProvider.js\n ** module id = 11\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///./~/react-hot-loader/RootInstanceProvider.js?"); + eval("'use strict';\n\nvar getRootInstancesFromReactMount = __webpack_require__(12);\n\nvar injectedProvider = null,\n didWarn = false;\n\nfunction warnOnce() {\n if (!didWarn) {\n console.warn(\n 'It appears that React Hot Loader isn\\'t configured correctly. ' +\n 'If you\\'re using NPM, make sure your dependencies don\\'t drag duplicate React distributions into their node_modules and that require(\"react\") corresponds to the React instance you render your app with.',\n 'If you\\'re using a precompiled version of React, see https://github.com/gaearon/react-hot-loader/tree/master/docs#usage-with-external-react for integration instructions.'\n );\n }\n\n didWarn = true;\n}\n\nvar RootInstanceProvider = {\n injection: {\n injectProvider: function (provider) {\n injectedProvider = provider;\n }\n },\n\n getRootInstances: function (ReactMount) {\n if (injectedProvider) {\n return injectedProvider.getRootInstances();\n }\n\n var instances = ReactMount && getRootInstancesFromReactMount(ReactMount) || [];\n if (!Object.keys(instances).length) {\n warnOnce();\n }\n\n return instances;\n }\n};\n\nmodule.exports = RootInstanceProvider;\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-hot-loader/RootInstanceProvider.js\n// module id = 11\n// module chunks = 0\n//# sourceURL=webpack:///./~/react-hot-loader/RootInstanceProvider.js?"); -/***/ }, +/***/ }), /* 12 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { - eval("'use strict';\n\nfunction getRootInstancesFromReactMount(ReactMount) {\n return ReactMount._instancesByReactRootID || ReactMount._instancesByContainerID || [];\n}\n\nmodule.exports = getRootInstancesFromReactMount;\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-hot-loader/getRootInstancesFromReactMount.js\n ** module id = 12\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///./~/react-hot-loader/getRootInstancesFromReactMount.js?"); + eval("'use strict';\n\nfunction getRootInstancesFromReactMount(ReactMount) {\n return ReactMount._instancesByReactRootID || ReactMount._instancesByContainerID || [];\n}\n\nmodule.exports = getRootInstancesFromReactMount;\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-hot-loader/getRootInstancesFromReactMount.js\n// module id = 12\n// module chunks = 0\n//# sourceURL=webpack:///./~/react-hot-loader/getRootInstancesFromReactMount.js?"); -/***/ }, +/***/ }), /* 13 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactMount\n */\n\n'use strict';\n\nvar DOMLazyTree = __webpack_require__(15);\nvar DOMProperty = __webpack_require__(21);\nvar ReactBrowserEventEmitter = __webpack_require__(23);\nvar ReactCurrentOwner = __webpack_require__(39);\nvar ReactDOMComponentTree = __webpack_require__(40);\nvar ReactDOMContainerInfo = __webpack_require__(42);\nvar ReactDOMFeatureFlags = __webpack_require__(44);\nvar ReactElement = __webpack_require__(45);\nvar ReactFeatureFlags = __webpack_require__(47);\nvar ReactInstrumentation = __webpack_require__(48);\nvar ReactMarkupChecksum = __webpack_require__(51);\nvar ReactPerf = __webpack_require__(53);\nvar ReactReconciler = __webpack_require__(54);\nvar ReactUpdateQueue = __webpack_require__(57);\nvar ReactUpdates = __webpack_require__(59);\n\nvar emptyObject = __webpack_require__(63);\nvar instantiateReactComponent = __webpack_require__(64);\nvar invariant = __webpack_require__(22);\nvar setInnerHTML = __webpack_require__(20);\nvar shouldUpdateReactComponent = __webpack_require__(70);\nvar warning = __webpack_require__(32);\n\nvar ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;\nvar ROOT_ATTR_NAME = DOMProperty.ROOT_ATTRIBUTE_NAME;\n\nvar ELEMENT_NODE_TYPE = 1;\nvar DOC_NODE_TYPE = 9;\nvar DOCUMENT_FRAGMENT_NODE_TYPE = 11;\n\nvar instancesByReactRootID = {};\n\n/**\n * Finds the index of the first character\n * that's not common between the two given strings.\n *\n * @return {number} the index of the character where the strings diverge\n */\nfunction firstDifferenceIndex(string1, string2) {\n var minLen = Math.min(string1.length, string2.length);\n for (var i = 0; i < minLen; i++) {\n if (string1.charAt(i) !== string2.charAt(i)) {\n return i;\n }\n }\n return string1.length === string2.length ? -1 : minLen;\n}\n\n/**\n * @param {DOMElement|DOMDocument} container DOM element that may contain\n * a React component\n * @return {?*} DOM element that may have the reactRoot ID, or null.\n */\nfunction getReactRootElementInContainer(container) {\n if (!container) {\n return null;\n }\n\n if (container.nodeType === DOC_NODE_TYPE) {\n return container.documentElement;\n } else {\n return container.firstChild;\n }\n}\n\nfunction internalGetID(node) {\n // If node is something like a window, document, or text node, none of\n // which support attributes or a .getAttribute method, gracefully return\n // the empty string, as if the attribute were missing.\n return node.getAttribute && node.getAttribute(ATTR_NAME) || '';\n}\n\n/**\n * Mounts this component and inserts it into the DOM.\n *\n * @param {ReactComponent} componentInstance The instance to mount.\n * @param {DOMElement} container DOM element to mount into.\n * @param {ReactReconcileTransaction} transaction\n * @param {boolean} shouldReuseMarkup If true, do not insert markup\n */\nfunction mountComponentIntoNode(wrapperInstance, container, transaction, shouldReuseMarkup, context) {\n var markerName;\n if (ReactFeatureFlags.logTopLevelRenders) {\n var wrappedElement = wrapperInstance._currentElement.props;\n var type = wrappedElement.type;\n markerName = 'React mount: ' + (typeof type === 'string' ? type : type.displayName || type.name);\n console.time(markerName);\n }\n\n var markup = ReactReconciler.mountComponent(wrapperInstance, transaction, null, ReactDOMContainerInfo(wrapperInstance, container), context);\n\n if (markerName) {\n console.timeEnd(markerName);\n }\n\n wrapperInstance._renderedComponent._topLevelWrapper = wrapperInstance;\n ReactMount._mountImageIntoNode(markup, container, wrapperInstance, shouldReuseMarkup, transaction);\n}\n\n/**\n * Batched mount.\n *\n * @param {ReactComponent} componentInstance The instance to mount.\n * @param {DOMElement} container DOM element to mount into.\n * @param {boolean} shouldReuseMarkup If true, do not insert markup\n */\nfunction batchedMountComponentIntoNode(componentInstance, container, shouldReuseMarkup, context) {\n var transaction = ReactUpdates.ReactReconcileTransaction.getPooled(\n /* useCreateElement */\n !shouldReuseMarkup && ReactDOMFeatureFlags.useCreateElement);\n transaction.perform(mountComponentIntoNode, null, componentInstance, container, transaction, shouldReuseMarkup, context);\n ReactUpdates.ReactReconcileTransaction.release(transaction);\n}\n\n/**\n * Unmounts a component and removes it from the DOM.\n *\n * @param {ReactComponent} instance React component instance.\n * @param {DOMElement} container DOM element to unmount from.\n * @final\n * @internal\n * @see {ReactMount.unmountComponentAtNode}\n */\nfunction unmountComponentFromNode(instance, container, safely) {\n ReactReconciler.unmountComponent(instance, safely);\n\n if (container.nodeType === DOC_NODE_TYPE) {\n container = container.documentElement;\n }\n\n // http://jsperf.com/emptying-a-node\n while (container.lastChild) {\n container.removeChild(container.lastChild);\n }\n}\n\n/**\n * True if the supplied DOM node has a direct React-rendered child that is\n * not a React root element. Useful for warning in `render`,\n * `unmountComponentAtNode`, etc.\n *\n * @param {?DOMElement} node The candidate DOM node.\n * @return {boolean} True if the DOM element contains a direct child that was\n * rendered by React but is not a root element.\n * @internal\n */\nfunction hasNonRootReactChild(container) {\n var rootEl = getReactRootElementInContainer(container);\n if (rootEl) {\n var inst = ReactDOMComponentTree.getInstanceFromNode(rootEl);\n return !!(inst && inst._nativeParent);\n }\n}\n\nfunction getNativeRootInstanceInContainer(container) {\n var rootEl = getReactRootElementInContainer(container);\n var prevNativeInstance = rootEl && ReactDOMComponentTree.getInstanceFromNode(rootEl);\n return prevNativeInstance && !prevNativeInstance._nativeParent ? prevNativeInstance : null;\n}\n\nfunction getTopLevelWrapperInContainer(container) {\n var root = getNativeRootInstanceInContainer(container);\n return root ? root._nativeContainerInfo._topLevelWrapper : null;\n}\n\n/**\n * Temporary (?) hack so that we can store all top-level pending updates on\n * composites instead of having to worry about different types of components\n * here.\n */\nvar topLevelRootCounter = 1;\nvar TopLevelWrapper = function () {\n this.rootID = topLevelRootCounter++;\n};\nTopLevelWrapper.prototype.isReactComponent = {};\nif (process.env.NODE_ENV !== 'production') {\n TopLevelWrapper.displayName = 'TopLevelWrapper';\n}\nTopLevelWrapper.prototype.render = function () {\n // this.props is actually a ReactElement\n return this.props;\n};\n\n/**\n * Mounting is the process of initializing a React component by creating its\n * representative DOM elements and inserting them into a supplied `container`.\n * Any prior content inside `container` is destroyed in the process.\n *\n * ReactMount.render(\n * component,\n * document.getElementById('container')\n * );\n *\n *
<-- Supplied `container`.\n *
<-- Rendered reactRoot of React\n * // ... component.\n *
\n *
\n *\n * Inside of `container`, the first element rendered is the \"reactRoot\".\n */\nvar ReactMount = {\n\n TopLevelWrapper: TopLevelWrapper,\n\n /**\n * Used by devtools. The keys are not important.\n */\n _instancesByReactRootID: instancesByReactRootID,\n\n /**\n * This is a hook provided to support rendering React components while\n * ensuring that the apparent scroll position of its `container` does not\n * change.\n *\n * @param {DOMElement} container The `container` being rendered into.\n * @param {function} renderCallback This must be called once to do the render.\n */\n scrollMonitor: function (container, renderCallback) {\n renderCallback();\n },\n\n /**\n * Take a component that's already mounted into the DOM and replace its props\n * @param {ReactComponent} prevComponent component instance already in the DOM\n * @param {ReactElement} nextElement component instance to render\n * @param {DOMElement} container container to render into\n * @param {?function} callback function triggered on completion\n */\n _updateRootComponent: function (prevComponent, nextElement, container, callback) {\n ReactMount.scrollMonitor(container, function () {\n ReactUpdateQueue.enqueueElementInternal(prevComponent, nextElement);\n if (callback) {\n ReactUpdateQueue.enqueueCallbackInternal(prevComponent, callback);\n }\n });\n\n return prevComponent;\n },\n\n /**\n * Render a new component into the DOM. Hooked by devtools!\n *\n * @param {ReactElement} nextElement element to render\n * @param {DOMElement} container container to render into\n * @param {boolean} shouldReuseMarkup if we should skip the markup insertion\n * @return {ReactComponent} nextComponent\n */\n _renderNewRootComponent: function (nextElement, container, shouldReuseMarkup, context) {\n // Various parts of our code (such as ReactCompositeComponent's\n // _renderValidatedComponent) assume that calls to render aren't nested;\n // verify that that's the case.\n process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, '_renderNewRootComponent(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from ' + 'render is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : void 0;\n\n !(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '_registerComponent(...): Target container is not a DOM element.') : invariant(false) : void 0;\n\n ReactBrowserEventEmitter.ensureScrollValueMonitoring();\n var componentInstance = instantiateReactComponent(nextElement);\n\n // The initial render is synchronous but any updates that happen during\n // rendering, in componentWillMount or componentDidMount, will be batched\n // according to the current batching strategy.\n\n ReactUpdates.batchedUpdates(batchedMountComponentIntoNode, componentInstance, container, shouldReuseMarkup, context);\n\n var wrapperID = componentInstance._instance.rootID;\n instancesByReactRootID[wrapperID] = componentInstance;\n\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onMountRootComponent(componentInstance);\n }\n\n return componentInstance;\n },\n\n /**\n * Renders a React component into the DOM in the supplied `container`.\n *\n * If the React component was previously rendered into `container`, this will\n * perform an update on it and only mutate the DOM as necessary to reflect the\n * latest React component.\n *\n * @param {ReactComponent} parentComponent The conceptual parent of this render tree.\n * @param {ReactElement} nextElement Component element to render.\n * @param {DOMElement} container DOM element to render into.\n * @param {?function} callback function triggered on completion\n * @return {ReactComponent} Component instance rendered in `container`.\n */\n renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) {\n !(parentComponent != null && parentComponent._reactInternalInstance != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'parentComponent must be a valid React Component') : invariant(false) : void 0;\n return ReactMount._renderSubtreeIntoContainer(parentComponent, nextElement, container, callback);\n },\n\n _renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) {\n ReactUpdateQueue.validateCallback(callback, 'ReactDOM.render');\n !ReactElement.isValidElement(nextElement) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactDOM.render(): Invalid component element.%s', typeof nextElement === 'string' ? ' Instead of passing a string like \\'div\\', pass ' + 'React.createElement(\\'div\\') or
.' : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or .' :\n // Check if it quacks like an element\n nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : invariant(false) : void 0;\n\n process.env.NODE_ENV !== 'production' ? warning(!container || !container.tagName || container.tagName.toUpperCase() !== 'BODY', 'render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.') : void 0;\n\n var nextWrappedElement = ReactElement(TopLevelWrapper, null, null, null, null, null, nextElement);\n\n var prevComponent = getTopLevelWrapperInContainer(container);\n\n if (prevComponent) {\n var prevWrappedElement = prevComponent._currentElement;\n var prevElement = prevWrappedElement.props;\n if (shouldUpdateReactComponent(prevElement, nextElement)) {\n var publicInst = prevComponent._renderedComponent.getPublicInstance();\n var updatedCallback = callback && function () {\n callback.call(publicInst);\n };\n ReactMount._updateRootComponent(prevComponent, nextWrappedElement, container, updatedCallback);\n return publicInst;\n } else {\n ReactMount.unmountComponentAtNode(container);\n }\n }\n\n var reactRootElement = getReactRootElementInContainer(container);\n var containerHasReactMarkup = reactRootElement && !!internalGetID(reactRootElement);\n var containerHasNonRootReactChild = hasNonRootReactChild(container);\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, 'render(...): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.') : void 0;\n\n if (!containerHasReactMarkup || reactRootElement.nextSibling) {\n var rootElementSibling = reactRootElement;\n while (rootElementSibling) {\n if (internalGetID(rootElementSibling)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'render(): Target node has markup rendered by React, but there ' + 'are unrelated nodes as well. This is most commonly caused by ' + 'white-space inserted around server-rendered markup.') : void 0;\n break;\n }\n rootElementSibling = rootElementSibling.nextSibling;\n }\n }\n }\n\n var shouldReuseMarkup = containerHasReactMarkup && !prevComponent && !containerHasNonRootReactChild;\n var component = ReactMount._renderNewRootComponent(nextWrappedElement, container, shouldReuseMarkup, parentComponent != null ? parentComponent._reactInternalInstance._processChildContext(parentComponent._reactInternalInstance._context) : emptyObject)._renderedComponent.getPublicInstance();\n if (callback) {\n callback.call(component);\n }\n return component;\n },\n\n /**\n * Renders a React component into the DOM in the supplied `container`.\n *\n * If the React component was previously rendered into `container`, this will\n * perform an update on it and only mutate the DOM as necessary to reflect the\n * latest React component.\n *\n * @param {ReactElement} nextElement Component element to render.\n * @param {DOMElement} container DOM element to render into.\n * @param {?function} callback function triggered on completion\n * @return {ReactComponent} Component instance rendered in `container`.\n */\n render: function (nextElement, container, callback) {\n return ReactMount._renderSubtreeIntoContainer(null, nextElement, container, callback);\n },\n\n /**\n * Unmounts and destroys the React component rendered in the `container`.\n *\n * @param {DOMElement} container DOM element containing a React component.\n * @return {boolean} True if a component was found in and unmounted from\n * `container`\n */\n unmountComponentAtNode: function (container) {\n // Various parts of our code (such as ReactCompositeComponent's\n // _renderValidatedComponent) assume that calls to render aren't nested;\n // verify that that's the case. (Strictly speaking, unmounting won't cause a\n // render but we still don't expect to be in a render call here.)\n process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, 'unmountComponentAtNode(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from render ' + 'is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : void 0;\n\n !(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'unmountComponentAtNode(...): Target container is not a DOM element.') : invariant(false) : void 0;\n\n var prevComponent = getTopLevelWrapperInContainer(container);\n if (!prevComponent) {\n // Check if the node being unmounted was rendered by React, but isn't a\n // root node.\n var containerHasNonRootReactChild = hasNonRootReactChild(container);\n\n // Check if the container itself is a React root node.\n var isContainerReactRoot = container.nodeType === 1 && container.hasAttribute(ROOT_ATTR_NAME);\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, 'unmountComponentAtNode(): The node you\\'re attempting to unmount ' + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.') : void 0;\n }\n\n return false;\n }\n delete instancesByReactRootID[prevComponent._instance.rootID];\n ReactUpdates.batchedUpdates(unmountComponentFromNode, prevComponent, container, false);\n return true;\n },\n\n _mountImageIntoNode: function (markup, container, instance, shouldReuseMarkup, transaction) {\n !(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mountComponentIntoNode(...): Target container is not valid.') : invariant(false) : void 0;\n\n if (shouldReuseMarkup) {\n var rootElement = getReactRootElementInContainer(container);\n if (ReactMarkupChecksum.canReuseMarkup(markup, rootElement)) {\n ReactDOMComponentTree.precacheNode(instance, rootElement);\n return;\n } else {\n var checksum = rootElement.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);\n rootElement.removeAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);\n\n var rootMarkup = rootElement.outerHTML;\n rootElement.setAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME, checksum);\n\n var normalizedMarkup = markup;\n if (process.env.NODE_ENV !== 'production') {\n // because rootMarkup is retrieved from the DOM, various normalizations\n // will have occurred which will not be present in `markup`. Here,\n // insert markup into a
or