react 15.5.4 → 15.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +16 -26
- package/dist/react-with-addons.js +1647 -1416
- package/dist/react-with-addons.min.js +6 -8
- package/dist/react.js +1737 -1456
- package/dist/react.min.js +5 -7
- package/lib/KeyEscapeUtils.js +3 -5
- package/lib/LinkedStateMixin.js +3 -5
- package/lib/PooledClass.js +3 -5
- package/lib/React.js +48 -22
- package/lib/ReactAddonsDOMDependencies.js +3 -5
- package/lib/ReactAddonsDOMDependenciesUMDShim.js +3 -5
- package/lib/{ReactComponent.js → ReactBaseClasses.js} +32 -9
- package/lib/ReactCSSTransitionGroup.js +4 -6
- package/lib/ReactCSSTransitionGroupChild.js +3 -5
- package/lib/ReactChildren.js +3 -5
- package/lib/ReactComponentTreeDevtool.js +3 -5
- package/lib/ReactComponentTreeHook.js +52 -9
- package/lib/ReactComponentTreeHookUMDShim.js +3 -5
- package/lib/ReactComponentWithPureRenderMixin.js +3 -5
- package/lib/ReactCurrentOwner.js +3 -7
- package/lib/ReactCurrentOwnerUMDShim.js +3 -5
- package/lib/ReactDOMFactories.js +3 -6
- package/lib/ReactElement.js +3 -5
- package/lib/ReactElementSymbol.js +3 -5
- package/lib/ReactElementType.js +3 -5
- package/lib/ReactElementValidator.js +9 -9
- package/lib/ReactFragment.js +3 -5
- package/lib/ReactLink.js +4 -27
- package/lib/ReactNoopUpdateQueue.js +3 -6
- package/lib/ReactPropTypeLocationNames.js +3 -5
- package/lib/ReactPropTypeLocations.js +3 -5
- package/lib/ReactPropTypes.js +3 -5
- package/lib/ReactPropTypesSecret.js +3 -5
- package/lib/ReactStateSetters.js +3 -5
- package/lib/ReactTransitionChildMapping.js +3 -5
- package/lib/ReactTransitionEvents.js +3 -5
- package/lib/ReactTransitionGroup.js +7 -6
- package/lib/ReactUMDEntry.js +3 -5
- package/lib/ReactUMDShim.js +3 -5
- package/lib/ReactVersion.js +4 -6
- package/lib/ReactWithAddons.js +3 -5
- package/lib/ReactWithAddonsUMDEntry.js +3 -5
- package/lib/canDefineProperty.js +3 -5
- package/lib/checkReactTypeSpec.js +3 -5
- package/lib/createClass.js +20 -0
- package/lib/deprecated.js +6 -8
- package/lib/flattenChildren.js +3 -5
- package/lib/getIteratorFn.js +3 -5
- package/lib/getNextDebugID.js +3 -5
- package/lib/getNextDebugIDUMDShim.js +3 -5
- package/lib/lowPriorityWarning.js +62 -0
- package/lib/onlyChild.js +3 -5
- package/lib/reactProdInvariant.js +2 -4
- package/lib/shallowCompare.js +3 -5
- package/lib/sliceChildren.js +3 -5
- package/lib/traverseAllChildren.js +4 -6
- package/lib/update.js +3 -5
- package/package.json +4 -4
- package/PATENTS +0 -33
- package/lib/ReactClass.js +0 -722
- package/lib/ReactPureComponent.js +0 -41
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* React (with addons) v15.
|
|
2
|
+
* React (with addons) v15.6.2
|
|
3
3
|
*
|
|
4
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
5
|
-
* All rights reserved.
|
|
4
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
6
5
|
*
|
|
7
|
-
* This source code is licensed under the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
10
8
|
*
|
|
11
9
|
*/
|
|
12
|
-
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.React=e()}}(function(){return function e(t,n,r){function o(a,s){if(!n[a]){if(!t[a]){var u="function"==typeof require&&require;if(!s&&u)return u(a,!0);if(i)return i(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var p=n[a]={exports:{}};t[a][0].call(p.exports,function(e){var n=t[a][1][e];return o(n||e)},p,p.exports,e,t,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a<r.length;a++)o(r[a]);return o}({1:[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=e(39),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),t.exports=o},{39:39}],2:[function(e,t,n){"use strict";function r(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}function o(e){var t={"=0":"=","=2":":"};return(""+("."===e[0]&&"$"===e[1]?e.substring(2):e.substring(1))).replace(/(=0|=2)/g,function(e){return t[e]})}var i={escape:r,unescape:o};t.exports=i},{}],3:[function(e,t,n){"use strict";var r=e(18),o=e(23),i={linkState:function(e){return new r(this.state[e],o.createStateKeySetter(this,e))}};t.exports=i},{18:18,23:23}],4:[function(e,t,n){"use strict";var r=e(34),o=(e(42),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||r("25"),e.destructor(),t.instancePool.length<t.poolSize&&t.instancePool.push(e)},c=o,p=function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||c,n.poolSize||(n.poolSize=10),n.release=u,n},l={addPoolingTo:p,oneArgumentPooler:o,twoArgumentPooler:i,threeArgumentPooler:a,fourArgumentPooler:s};t.exports=l},{34:34,42:42}],5:[function(e,t,n){"use strict";var r=e(45),o=e(9),i=e(11),a=e(22),s=e(10),u=e(14),c=e(15),p=e(21),l=e(27),f=e(33),d=(e(44),c.createElement),h=c.createFactory,y=c.cloneElement,v=r,m={Children:{map:o.map,forEach:o.forEach,count:o.count,toArray:o.toArray,only:f},Component:i,PureComponent:a,createElement:d,cloneElement:y,isValidElement:c.isValidElement,PropTypes:p,createClass:s.createClass,createFactory:h,createMixin:function(e){return e},DOM:u,version:l,__spread:v};t.exports=m},{10:10,11:11,14:14,15:15,21:21,22:22,27:27,33:33,44:44,45:45,9:9}],6:[function(e,t,n){"use strict";function r(){if(!o){var t=e(29);o=t.__SECRET_INJECTED_REACT_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED}return o}var o;n.getReactDOM=r},{29:29}],7:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(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)}function a(e){var t="transition"+e+"Timeout",n="transition"+e;return function(e){if(e[n]){if(null==e[t])return new Error(t+" wasn't supplied to ReactCSSTransitionGroup: this can cause unreliable animations and won't be supported in a future version of React. See https://fb.me/react-animation-transition-group-timeout for more information.");if("number"!=typeof e[t])return new Error(t+" must be a number (in milliseconds)")}}}var s=e(45),u=e(5),c=e(47),p=c(u.isValidElement),l=e(26),f=e(8),d=function(e){function t(){var n,i,a;r(this,t);for(var s=arguments.length,c=Array(s),p=0;p<s;p++)c[p]=arguments[p];return n=i=o(this,e.call.apply(e,[this].concat(c))),i._wrapChild=function(e){return u.createElement(f,{name:i.props.transitionName,appear:i.props.transitionAppear,enter:i.props.transitionEnter,leave:i.props.transitionLeave,appearTimeout:i.props.transitionAppearTimeout,enterTimeout:i.props.transitionEnterTimeout,leaveTimeout:i.props.transitionLeaveTimeout},e)},a=n,o(i,a)}return i(t,e),t.prototype.render=function(){return u.createElement(l,s({},this.props,{childFactory:this._wrapChild}))},t}(u.Component);d.displayName="ReactCSSTransitionGroup",d.propTypes={transitionName:f.propTypes.name,transitionAppear:p.bool,transitionEnter:p.bool,transitionLeave:p.bool,transitionAppearTimeout:a("Appear"),transitionEnterTimeout:a("Enter"),transitionLeaveTimeout:a("Leave")},d.defaultProps={transitionAppear:!1,transitionEnter:!0,transitionLeave:!0},t.exports=d},{26:26,45:45,47:47,5:5,8:8}],8:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(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)}var a=e(5),s=e(6),u=e(47),c=u(a.isValidElement),p=e(38),l=e(25),f=e(33),d=17,h=function(e){function t(){var n,i,a;r(this,t);for(var u=arguments.length,c=Array(u),f=0;f<u;f++)c[f]=arguments[f];return n=i=o(this,e.call.apply(e,[this].concat(c))),i._isMounted=!1,i.transition=function(e,t,n){var r=s.getReactDOM().findDOMNode(i);if(!r)return void(t&&t());var o=i.props.name[e]||i.props.name+"-"+e,a=i.props.name[e+"Active"]||o+"-active",u=null,c=function(e){e&&e.target!==r||(clearTimeout(u),p.removeClass(r,o),p.removeClass(r,a),l.removeEndEventListener(r,c),t&&t())};p.addClass(r,o),i.queueClassAndNode(a,r),n?(u=setTimeout(c,n),i.transitionTimeouts.push(u)):l.addEndEventListener(r,c)},i.queueClassAndNode=function(e,t){i.classNameAndNodeQueue.push({className:e,node:t}),i.timeout||(i.timeout=setTimeout(i.flushClassNameAndNodeQueue,d))},i.flushClassNameAndNodeQueue=function(){i._isMounted&&i.classNameAndNodeQueue.forEach(function(e){p.addClass(e.node,e.className)}),i.classNameAndNodeQueue.length=0,i.timeout=null},i.componentWillAppear=function(e){i.props.appear?i.transition("appear",e,i.props.appearTimeout):e()},i.componentWillEnter=function(e){i.props.enter?i.transition("enter",e,i.props.enterTimeout):e()},i.componentWillLeave=function(e){i.props.leave?i.transition("leave",e,i.props.leaveTimeout):e()},a=n,o(i,a)}return i(t,e),t.prototype.componentWillMount=function(){this.classNameAndNodeQueue=[],this.transitionTimeouts=[]},t.prototype.componentDidMount=function(){this._isMounted=!0},t.prototype.componentWillUnmount=function(){this._isMounted=!1,this.timeout&&clearTimeout(this.timeout),this.transitionTimeouts.forEach(function(e){clearTimeout(e)}),this.classNameAndNodeQueue.length=0},t.prototype.render=function(){return f(this.props.children)},t}(a.Component);h.propTypes={name:c.oneOfType([c.string,c.shape({enter:c.string,leave:c.string,active:c.string}),c.shape({enter:c.string,enterActive:c.string,leave:c.string,leaveActive:c.string,appear:c.string,appearActive:c.string})]).isRequired,appear:c.bool,enter:c.bool,leave:c.bool,appearTimeout:c.number,enterTimeout:c.number,leaveTimeout:c.number},t.exports=h},{25:25,33:33,38:38,47:47,5:5,6:6}],9:[function(e,t,n){"use strict";function r(e){return(""+e).replace(b,"$&/")}function o(e,t){this.func=e,this.context=t,this.count=0}function i(e,t,n){var r=e.func,o=e.context;r.call(o,t,e.count++)}function a(e,t,n){if(null==e)return e;var r=o.getPooled(t,n);m(e,i,r),o.release(r)}function s(e,t,n,r){this.result=e,this.keyPrefix=t,this.func=n,this.context=r,this.count=0}function u(e,t,n){var o=e.result,i=e.keyPrefix,a=e.func,s=e.context,u=a.call(s,t,e.count++);Array.isArray(u)?c(u,o,n,v.thatReturnsArgument):null!=u&&(y.isValidElement(u)&&(u=y.cloneAndReplaceKey(u,i+(!u.key||t&&t.key===u.key?"":r(u.key)+"/")+n)),o.push(u))}function c(e,t,n,o,i){var a="";null!=n&&(a=r(n)+"/");var c=s.getPooled(t,a,o,i);m(e,u,c),s.release(c)}function p(e,t,n){if(null==e)return e;var r=[];return c(e,r,null,t,n),r}function l(e,t,n){return null}function f(e,t){return m(e,l,null)}function d(e){var t=[];return c(e,t,null,v.thatReturnsArgument),t}var h=e(4),y=e(15),v=e(40),m=e(36),E=h.twoArgumentPooler,g=h.fourArgumentPooler,b=/\/+/g;o.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},h.addPoolingTo(o,E),s.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},h.addPoolingTo(s,g);var _={forEach:a,map:p,mapIntoWithKeyPrefixInternal:c,count:f,toArray:d};t.exports=_},{15:15,36:36,4:4,40:40}],10:[function(e,t,n){"use strict";function r(e){return e}function o(e,t){var n=b.hasOwnProperty(t)?b[t]:null;w.hasOwnProperty(t)&&"OVERRIDE_BASE"!==n&&f("73",t),e&&"DEFINE_MANY"!==n&&"DEFINE_MANY_MERGED"!==n&&f("74",t)}function i(e,t){if(t){"function"==typeof t&&f("75"),y.isValidElement(t)&&f("76");var n=e.prototype,r=n.__reactAutoBindPairs;t.hasOwnProperty(E)&&_.mixins(e,t.mixins);for(var i in t)if(t.hasOwnProperty(i)&&i!==E){var a=t[i],s=n.hasOwnProperty(i);if(o(s,i),_.hasOwnProperty(i))_[i](e,a);else{var p=b.hasOwnProperty(i),l="function"==typeof a,d=l&&!p&&!s&&!1!==t.autobind;if(d)r.push(i,a),n[i]=a;else if(s){var h=b[i];(!p||"DEFINE_MANY_MERGED"!==h&&"DEFINE_MANY"!==h)&&f("77",h,i),"DEFINE_MANY_MERGED"===h?n[i]=u(n[i],a):"DEFINE_MANY"===h&&(n[i]=c(n[i],a))}else n[i]=a}}}}function a(e,t){if(t)for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){var o=n in _;o&&f("78",n);var i=n in e;i&&f("79",n),e[n]=r}}}function s(e,t){e&&t&&"object"==typeof e&&"object"==typeof t||f("80");for(var n in t)t.hasOwnProperty(n)&&(void 0!==e[n]&&f("81",n),e[n]=t[n]);return e}function u(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);if(null==n)return r;if(null==r)return n;var o={};return s(o,n),s(o,r),o}}function c(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function p(e,t){return t.bind(e)}function l(e){for(var t=e.__reactAutoBindPairs,n=0;n<t.length;n+=2){var r=t[n],o=t[n+1];e[r]=p(e,o)}}var f=e(34),d=e(45),h=e(11),y=e(15),v=(e(20),e(19)),m=e(41),E=(e(42),e(44),"mixins"),g=[],b={mixins:"DEFINE_MANY",statics:"DEFINE_MANY",propTypes:"DEFINE_MANY",contextTypes:"DEFINE_MANY",childContextTypes:"DEFINE_MANY",getDefaultProps:"DEFINE_MANY_MERGED",getInitialState:"DEFINE_MANY_MERGED",getChildContext:"DEFINE_MANY_MERGED",render:"DEFINE_ONCE",componentWillMount:"DEFINE_MANY",componentDidMount:"DEFINE_MANY",componentWillReceiveProps:"DEFINE_MANY",shouldComponentUpdate:"DEFINE_ONCE",componentWillUpdate:"DEFINE_MANY",componentDidUpdate:"DEFINE_MANY",componentWillUnmount:"DEFINE_MANY",updateComponent:"OVERRIDE_BASE"},_={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)i(e,t[n])},childContextTypes:function(e,t){e.childContextTypes=d({},e.childContextTypes,t)},contextTypes:function(e,t){e.contextTypes=d({},e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=u(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,t){e.propTypes=d({},e.propTypes,t)},statics:function(e,t){a(e,t)},autobind:function(){}},w={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e),t&&this.updater.enqueueCallback(this,t,"replaceState")},isMounted:function(){return this.updater.isMounted(this)}},A=function(){};d(A.prototype,h.prototype,w);var T={createClass:function(e){var t=r(function(e,n,r){this.__reactAutoBindPairs.length&&l(this),this.props=e,this.context=n,this.refs=m,this.updater=r||v,this.state=null;var o=this.getInitialState?this.getInitialState():null;("object"!=typeof o||Array.isArray(o))&&f("82",t.displayName||"ReactCompositeComponent"),this.state=o});t.prototype=new A,t.prototype.constructor=t,t.prototype.__reactAutoBindPairs=[],g.forEach(i.bind(null,t)),i(t,e),t.getDefaultProps&&(t.defaultProps=t.getDefaultProps()),t.prototype.render||f("83");for(var n in b)t.prototype[n]||(t.prototype[n]=null);return t},injection:{injectMixin:function(e){g.push(e)}}};t.exports=T},{11:11,15:15,19:19,20:20,34:34,41:41,42:42,44:44,45:45}],11:[function(e,t,n){"use strict";function r(e,t,n){this.props=e,this.context=t,this.refs=a,this.updater=n||i}var o=e(34),i=e(19),a=(e(30),e(41));e(42),e(44);r.prototype.isReactComponent={},r.prototype.setState=function(e,t){"object"!=typeof e&&"function"!=typeof e&&null!=e&&o("85"),this.updater.enqueueSetState(this,e),t&&this.updater.enqueueCallback(this,t,"setState")},r.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this),e&&this.updater.enqueueCallback(this,e,"forceUpdate")};t.exports=r},{19:19,30:30,34:34,41:41,42:42,44:44}],12:[function(e,t,n){"use strict";var r=e(35),o={shouldComponentUpdate:function(e,t){return r(this,e,t)}};t.exports=o},{35:35}],13:[function(e,t,n){"use strict";var r={current:null};t.exports=r},{}],14:[function(e,t,n){"use strict";var r=e(15),o=r.createFactory,i={a:o("a"),abbr:o("abbr"),address:o("address"),area:o("area"),article:o("article"),aside:o("aside"),audio:o("audio"),b:o("b"),base:o("base"),bdi:o("bdi"),bdo:o("bdo"),big:o("big"),blockquote:o("blockquote"),body:o("body"),br:o("br"),button:o("button"),canvas:o("canvas"),caption:o("caption"),cite:o("cite"),code:o("code"),col:o("col"),colgroup:o("colgroup"),data:o("data"),datalist:o("datalist"),dd:o("dd"),del:o("del"),details:o("details"),dfn:o("dfn"),dialog:o("dialog"),div:o("div"),dl:o("dl"),dt:o("dt"),em:o("em"),embed:o("embed"),fieldset:o("fieldset"),figcaption:o("figcaption"),figure:o("figure"),footer:o("footer"),form:o("form"),h1:o("h1"),h2:o("h2"),h3:o("h3"),h4:o("h4"),h5:o("h5"),h6:o("h6"),head:o("head"),header:o("header"),hgroup:o("hgroup"),hr:o("hr"),html:o("html"),i:o("i"),iframe:o("iframe"),img:o("img"),input:o("input"),ins:o("ins"),kbd:o("kbd"),keygen:o("keygen"),label:o("label"),legend:o("legend"),li:o("li"),link:o("link"),main:o("main"),map:o("map"),mark:o("mark"),menu:o("menu"),menuitem:o("menuitem"),meta:o("meta"),meter:o("meter"),nav:o("nav"),noscript:o("noscript"),object:o("object"),ol:o("ol"),optgroup:o("optgroup"),option:o("option"),output:o("output"),p:o("p"),param:o("param"),picture:o("picture"),pre:o("pre"),progress:o("progress"),q:o("q"),rp:o("rp"),rt:o("rt"),ruby:o("ruby"),s:o("s"),samp:o("samp"),script:o("script"),section:o("section"),select:o("select"),small:o("small"),source:o("source"),span:o("span"),strong:o("strong"),style:o("style"),sub:o("sub"),summary:o("summary"),sup:o("sup"),table:o("table"),tbody:o("tbody"),td:o("td"),textarea:o("textarea"),tfoot:o("tfoot"),th:o("th"),thead:o("thead"),time:o("time"),title:o("title"),tr:o("tr"),track:o("track"),u:o("u"),ul:o("ul"),var:o("var"),video:o("video"),wbr:o("wbr"),circle:o("circle"),clipPath:o("clipPath"),defs:o("defs"),ellipse:o("ellipse"),g:o("g"),image:o("image"),line:o("line"),linearGradient:o("linearGradient"),mask:o("mask"),path:o("path"),pattern:o("pattern"),polygon:o("polygon"),polyline:o("polyline"),radialGradient:o("radialGradient"),rect:o("rect"),stop:o("stop"),svg:o("svg"),text:o("text"),tspan:o("tspan")};t.exports=i},{15:15}],15:[function(e,t,n){"use strict";function r(e){return void 0!==e.ref}function o(e){return void 0!==e.key}var i=e(45),a=e(13),s=(e(44),e(30),Object.prototype.hasOwnProperty),u=e(16),c={key:!0,ref:!0,__self:!0,__source:!0},p=function(e,t,n,r,o,i,a){return{$$typeof:u,type:e,key:t,ref:n,props:a,_owner:i}};p.createElement=function(e,t,n){var i,u={},l=null,f=null;if(null!=t){r(t)&&(f=t.ref),o(t)&&(l=""+t.key),void 0===t.__self?null:t.__self,void 0===t.__source?null:t.__source;for(i in t)s.call(t,i)&&!c.hasOwnProperty(i)&&(u[i]=t[i])}var d=arguments.length-2;if(1===d)u.children=n;else if(d>1){for(var h=Array(d),y=0;y<d;y++)h[y]=arguments[y+2];u.children=h}if(e&&e.defaultProps){var v=e.defaultProps;for(i in v)void 0===u[i]&&(u[i]=v[i])}return p(e,l,f,0,0,a.current,u)},p.createFactory=function(e){var t=p.createElement.bind(null,e);return t.type=e,t},p.cloneAndReplaceKey=function(e,t){return p(e.type,t,e.ref,e._self,e._source,e._owner,e.props)},p.cloneElement=function(e,t,n){var u,l=i({},e.props),f=e.key,d=e.ref,h=(e._self,e._source,e._owner);if(null!=t){r(t)&&(d=t.ref,h=a.current),o(t)&&(f=""+t.key);var y;e.type&&e.type.defaultProps&&(y=e.type.defaultProps);for(u in t)s.call(t,u)&&!c.hasOwnProperty(u)&&(void 0===t[u]&&void 0!==y?l[u]=y[u]:l[u]=t[u])}var v=arguments.length-2;if(1===v)l.children=n;else if(v>1){for(var m=Array(v),E=0;E<v;E++)m[E]=arguments[E+2];l.children=m}return p(e.type,f,d,0,0,h,l)},p.isValidElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===u},t.exports=p},{13:13,16:16,30:30,44:44,45:45}],16:[function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;t.exports=r},{}],17:[function(e,t,n){"use strict";var r=e(34),o=e(9),i=e(15),a=e(40),s=(e(42),e(44),{create:function(e){if("object"!=typeof e||!e||Array.isArray(e))return e;if(i.isValidElement(e))return e;1===e.nodeType&&r("0");var t=[];for(var n in e)o.mapIntoWithKeyPrefixInternal(e[n],t,n,a.thatReturnsArgument);return t}});t.exports=s},{15:15,34:34,40:40,42:42,44:44,9:9}],18:[function(e,t,n){"use strict";function r(e,t){this.value=e,this.requestChange=t}function o(e){var t={value:void 0===e?i.PropTypes.any.isRequired:e.isRequired,requestChange:i.PropTypes.func.isRequired};return i.PropTypes.shape(t)}var i=e(5);r.PropTypes={link:o},t.exports=r},{5:5}],19:[function(e,t,n){"use strict";var r=(e(44),{isMounted:function(e){return!1},enqueueCallback:function(e,t){},enqueueForceUpdate:function(e){},enqueueReplaceState:function(e,t){},enqueueSetState:function(e,t){}});t.exports=r},{44:44}],20:[function(e,t,n){"use strict";var r={};t.exports=r},{}],21:[function(e,t,n){"use strict";var r=e(15),o=r.isValidElement,i=e(47);t.exports=i(o)},{15:15,47:47}],22:[function(e,t,n){"use strict";function r(e,t,n){this.props=e,this.context=t,this.refs=u,this.updater=n||s}function o(){}var i=e(45),a=e(11),s=e(19),u=e(41);o.prototype=a.prototype,r.prototype=new o,r.prototype.constructor=r,i(r.prototype,a.prototype),r.prototype.isPureReactComponent=!0,t.exports=r},{11:11,19:19,41:41,45:45}],23:[function(e,t,n){"use strict";function r(e,t){var n={};return function(r){n[t]=r,e.setState(n)}}var o={createStateSetter:function(e,t){return function(n,r,o,i,a,s){var u=t.call(e,n,r,o,i,a,s);u&&e.setState(u)}},createStateKeySetter:function(e,t){var n=e.__keySetters||(e.__keySetters={});return n[t]||(n[t]=r(e,t))}};o.Mixin={createStateSetter:function(e){return o.createStateSetter(this,e)},createStateKeySetter:function(e){return o.createStateKeySetter(this,e)}},t.exports=o},{}],24:[function(e,t,n){"use strict";var r=e(31),o={getChildMapping:function(e,t){return e?r(e):e},mergeChildMappings:function(e,t){function n(n){return t.hasOwnProperty(n)?t[n]:e[n]}e=e||{},t=t||{};var r={},o=[];for(var i in e)t.hasOwnProperty(i)?o.length&&(r[i]=o,o=[]):o.push(i);var a,s={};for(var u in t){if(r.hasOwnProperty(u))for(a=0;a<r[u].length;a++){var c=r[u][a];s[r[u][a]]=n(c)}s[u]=n(u)}for(a=0;a<o.length;a++)s[o[a]]=n(o[a]);return s}};t.exports=o},{31:31}],25:[function(e,t,n){"use strict";function r(e,t,n){e.addEventListener(t,n,!1)}function o(e,t,n){e.removeEventListener(t,n,!1)}var i=e(39),a=e(1),s=[];i.canUseDOM&&function(){var e=a("animationend"),t=a("transitionend");e&&s.push(e),t&&s.push(t)}();var u={addEndEventListener:function(e,t){if(0===s.length)return void window.setTimeout(t,0);s.forEach(function(n){r(e,n,t)})},removeEndEventListener:function(e,t){0!==s.length&&s.forEach(function(n){o(e,n,t)})}};t.exports=u},{1:1,39:39}],26:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(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)}var a=e(45),s=e(5),u=e(24),c=e(47),p=c(s.isValidElement),l=e(40),f=function(e){function t(){var n,i,s;r(this,t);for(var c=arguments.length,p=Array(c),l=0;l<c;l++)p[l]=arguments[l];return n=i=o(this,e.call.apply(e,[this].concat(p))),i.state={children:u.getChildMapping(i.props.children)},i.performAppear=function(e){i.currentlyTransitioningKeys[e]=!0;var t=i.refs[e];t.componentWillAppear?t.componentWillAppear(i._handleDoneAppearing.bind(i,e)):i._handleDoneAppearing(e)},i._handleDoneAppearing=function(e){var t=i.refs[e];t.componentDidAppear&&t.componentDidAppear(),delete i.currentlyTransitioningKeys[e];var n=u.getChildMapping(i.props.children);n&&n.hasOwnProperty(e)||i.performLeave(e)},i.performEnter=function(e){i.currentlyTransitioningKeys[e]=!0;var t=i.refs[e];t.componentWillEnter?t.componentWillEnter(i._handleDoneEntering.bind(i,e)):i._handleDoneEntering(e)},i._handleDoneEntering=function(e){var t=i.refs[e];t.componentDidEnter&&t.componentDidEnter(),delete i.currentlyTransitioningKeys[e];var n=u.getChildMapping(i.props.children);n&&n.hasOwnProperty(e)||i.performLeave(e)},i.performLeave=function(e){i.currentlyTransitioningKeys[e]=!0;var t=i.refs[e];t.componentWillLeave?t.componentWillLeave(i._handleDoneLeaving.bind(i,e)):i._handleDoneLeaving(e)},i._handleDoneLeaving=function(e){var t=i.refs[e];t.componentDidLeave&&t.componentDidLeave(),delete i.currentlyTransitioningKeys[e];var n=u.getChildMapping(i.props.children);n&&n.hasOwnProperty(e)?i.performEnter(e):i.setState(function(t){var n=a({},t.children);return delete n[e],{children:n}})},s=n,o(i,s)}return i(t,e),t.prototype.componentWillMount=function(){this.currentlyTransitioningKeys={},this.keysToEnter=[],this.keysToLeave=[]},t.prototype.componentDidMount=function(){var e=this.state.children;for(var t in e)e[t]&&this.performAppear(t)},t.prototype.componentWillReceiveProps=function(e){var t=u.getChildMapping(e.children),n=this.state.children;this.setState({children:u.mergeChildMappings(n,t)});var r;for(r in t){var o=n&&n.hasOwnProperty(r);!t[r]||o||this.currentlyTransitioningKeys[r]||this.keysToEnter.push(r)}for(r in n){var i=t&&t.hasOwnProperty(r);!n[r]||i||this.currentlyTransitioningKeys[r]||this.keysToLeave.push(r)}},t.prototype.componentDidUpdate=function(){var e=this.keysToEnter;this.keysToEnter=[],e.forEach(this.performEnter);var t=this.keysToLeave;this.keysToLeave=[],t.forEach(this.performLeave)},t.prototype.render=function(){var e=[];for(var t in this.state.children){var n=this.state.children[t];n&&e.push(s.cloneElement(this.props.childFactory(n),{ref:t,key:t}))}var r=a({},this.props);return delete r.transitionLeave,delete r.transitionName,delete r.transitionAppear,delete r.transitionEnter,delete r.childFactory,delete r.transitionLeaveTimeout,delete r.transitionEnterTimeout,delete r.transitionAppearTimeout,delete r.component,s.createElement(this.props.component,r,e)},t}(s.Component);f.displayName="ReactTransitionGroup",f.propTypes={component:p.any,childFactory:p.func},f.defaultProps={component:"span",childFactory:l.thatReturnsArgument},t.exports=f},{24:24,40:40,45:45,47:47,5:5}],27:[function(e,t,n){"use strict";t.exports="15.5.4"},{}],28:[function(e,t,n){"use strict";var r=e(3),o=e(5),i=(e(6),e(12)),a=e(7),s=e(17),u=e(26),c=e(35),p=e(37);o.addons={CSSTransitionGroup:a,LinkedStateMixin:r,PureRenderMixin:i,TransitionGroup:u,createFragment:s.create,shallowCompare:c,update:p},t.exports=o},{12:12,17:17,26:26,3:3,35:35,37:37,5:5,6:6,7:7}],29:[function(e,t,n){"use strict";var r=e(45),o=e(28),i=r(o,{__SECRET_INJECTED_REACT_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:null,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:e(13)}});t.exports=i},{13:13,28:28,45:45}],30:[function(e,t,n){"use strict";t.exports=!1},{}],31:[function(e,t,n){(function(n){"use strict";function r(e,t,n,r){if(e&&"object"==typeof e){var o=e;void 0===o[n]&&null!=t&&(o[n]=t)}}function o(e,t){if(null==e)return e;var n={};return i(e,r,n),n}var i=(e(2),e(36));e(44);void 0!==n&&n.env,t.exports=o}).call(this,void 0)},{2:2,36:36,44:44}],32:[function(e,t,n){"use strict";function r(e){var t=e&&(o&&e[o]||e[i]);if("function"==typeof t)return t}var o="function"==typeof Symbol&&Symbol.iterator,i="@@iterator";t.exports=r},{}],33:[function(e,t,n){"use strict";function r(e){return i.isValidElement(e)||o("143"),e}var o=e(34),i=e(15);e(42);t.exports=r},{15:15,34:34,42:42}],34:[function(e,t,n){"use strict";function r(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r<t;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);n+=" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";var o=new Error(n);throw o.name="Invariant Violation",o.framesToPop=1,o}t.exports=r},{}],35:[function(e,t,n){"use strict";function r(e,t,n){return!o(e.props,t)||!o(e.state,n)}var o=e(43);t.exports=r},{43:43}],36:[function(e,t,n){"use strict";function r(e,t){return e&&"object"==typeof e&&null!=e.key?c.escape(e.key):t.toString(36)}function o(e,t,n,i){var f=typeof e;if("undefined"!==f&&"boolean"!==f||(e=null),null===e||"string"===f||"number"===f||"object"===f&&e.$$typeof===s)return n(i,e,""===t?p+r(e,0):t),1;var d,h,y=0,v=""===t?p:t+l;if(Array.isArray(e))for(var m=0;m<e.length;m++)d=e[m],h=v+r(d,m),y+=o(d,h,n,i);else{var E=u(e);if(E){var g,b=E.call(e);if(E!==e.entries)for(var _=0;!(g=b.next()).done;)d=g.value,h=v+r(d,_++),y+=o(d,h,n,i);else for(;!(g=b.next()).done;){var w=g.value;w&&(d=w[1],h=v+c.escape(w[0])+l+r(d,0),y+=o(d,h,n,i))}}else if("object"===f){var A=String(e);a("31","[object Object]"===A?"object with keys {"+Object.keys(e).join(", ")+"}":A,"")}}return y}function i(e,t,n){return null==e?0:o(e,"",t,n)}var a=e(34),s=(e(13),e(16)),u=e(32),c=(e(42),e(2)),p=(e(44),"."),l=":";t.exports=i},{13:13,16:16,2:2,32:32,34:34,42:42,44:44}],37:[function(e,t,n){"use strict";function r(e){return Array.isArray(e)?e.concat():e&&"object"==typeof e?s(new e.constructor,e):e}function o(e,t,n){Array.isArray(e)||a("1",n,e);var r=t[n];Array.isArray(r)||a("2",n,r)}function i(e,t){if("object"!=typeof t&&a("3",y.join(", "),f),u.call(t,f))return 1!==Object.keys(t).length&&a("4",f),t[f];var n=r(e);if(u.call(t,d)){var m=t[d];m&&"object"==typeof m||a("5",d,m),n&&"object"==typeof n||a("6",d,n),s(n,t[d])}u.call(t,c)&&(o(e,t,c),t[c].forEach(function(e){n.push(e)})),u.call(t,p)&&(o(e,t,p),t[p].forEach(function(e){n.unshift(e)})),u.call(t,l)&&(Array.isArray(e)||a("7",l,e),Array.isArray(t[l])||a("8",l,t[l]),t[l].forEach(function(e){Array.isArray(e)||a("8",l,t[l]),n.splice.apply(n,e)})),u.call(t,h)&&("function"!=typeof t[h]&&a("9",h,t[h]),n=t[h](n));for(var E in t)v.hasOwnProperty(E)&&v[E]||(n[E]=i(e[E],t[E]));return n}var a=e(34),s=e(45),u=(e(42),{}.hasOwnProperty),c="$push",p="$unshift",l="$splice",f="$set",d="$merge",h="$apply",y=[c,p,l,f,d,h],v={};y.forEach(function(e){v[e]=!0}),t.exports=i},{34:34,42:42,45:45}],38:[function(e,t,n){"use strict";function r(e,t){for(var n=e;n.parentNode;)n=n.parentNode;var r=n.querySelectorAll(t);return-1!==Array.prototype.indexOf.call(r,e)}var o=e(42),i={addClass:function(e,t){return/\s/.test(t)&&o(!1),t&&(e.classList?e.classList.add(t):i.hasClass(e,t)||(e.className=e.className+" "+t)),e},removeClass:function(e,t){return/\s/.test(t)&&o(!1),t&&(e.classList?e.classList.remove(t):i.hasClass(e,t)&&(e.className=e.className.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,""))),e},conditionClass:function(e,t,n){return(n?i.addClass:i.removeClass)(e,t)},hasClass:function(e,t){return/\s/.test(t)&&o(!1),e.classList?!!t&&e.classList.contains(t):(" "+e.className+" ").indexOf(" "+t+" ")>-1},matchesSelector:function(e,t){return(e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector||function(t){return r(e,t)}).call(e,t)}};t.exports=i},{42:42}],39:[function(e,t,n){"use strict";var r=!("undefined"==typeof window||!window.document||!window.document.createElement),o={canUseDOM:r,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen,isInWorker:!r};t.exports=o},{}],40:[function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},t.exports=o},{}],41:[function(e,t,n){"use strict";var r={};t.exports=r},{}],42:[function(e,t,n){"use strict";function r(e,t,n,r,i,a,s,u){if(o(t),!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[n,r,i,a,s,u],l=0;c=new Error(t.replace(/%s/g,function(){return p[l++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}}var o=function(e){};t.exports=r},{}],43:[function(e,t,n){"use strict";function r(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!==e&&t!==t}function o(e,t){if(r(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var a=0;a<n.length;a++)if(!i.call(t,n[a])||!r(e[n[a]],t[n[a]]))return!1;return!0}var i=Object.prototype.hasOwnProperty;t.exports=o},{}],44:[function(e,t,n){"use strict";var r=e(40),o=r;t.exports=o},{40:40}],45:[function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;t.exports=function(){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;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,u=r(e),c=1;c<arguments.length;c++){n=Object(arguments[c]);for(var p in n)i.call(n,p)&&(u[p]=n[p]);if(o){s=o(n);for(var l=0;l<s.length;l++)a.call(n,s[l])&&(u[s[l]]=n[s[l]])}}return u}},{}],46:[function(e,t,n){"use strict";function r(e,t,n,r,o){}t.exports=r},{42:42,44:44,49:49}],47:[function(e,t,n){"use strict";var r=e(48)
|
|
13
|
-
;t.exports=function(e){return r(e,!1)}},{48:48}],48:[function(e,t,n){"use strict";var r=e(40),o=e(42),i=
|
|
10
|
+
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.React=e()}}(function(){return function e(t,n,r){function o(a,s){if(!n[a]){if(!t[a]){var u="function"==typeof require&&require;if(!s&&u)return u(a,!0);if(i)return i(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[a]={exports:{}};t[a][0].call(l.exports,function(e){var n=t[a][1][e];return o(n||e)},l,l.exports,e,t,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a<r.length;a++)o(r[a]);return o}({1:[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=e(39),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),t.exports=o},{39:39}],2:[function(e,t,n){"use strict";function r(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}function o(e){var t=/(=0|=2)/g,n={"=0":"=","=2":":"};return(""+("."===e[0]&&"$"===e[1]?e.substring(2):e.substring(1))).replace(t,function(e){return n[e]})}var i={escape:r,unescape:o};t.exports=i},{}],3:[function(e,t,n){"use strict";var r=e(17),o=e(20),i={linkState:function(e){return new r(this.state[e],o.createStateKeySetter(this,e))}};t.exports=i},{17:17,20:20}],4:[function(e,t,n){"use strict";var r=e(33),o=(e(42),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||r("25"),e.destructor(),t.instancePool.length<t.poolSize&&t.instancePool.push(e)},c=o,l=function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||c,n.poolSize||(n.poolSize=10),n.release=u,n},p={addPoolingTo:l,oneArgumentPooler:o,twoArgumentPooler:i,threeArgumentPooler:a,fourArgumentPooler:s};t.exports=p},{33:33,42:42}],5:[function(e,t,n){"use strict";var r=e(45),o=e(7),i=e(10),a=e(13),s=e(14),u=e(19),c=e(24),l=e(28),p=e(32),f=s.createElement,d=s.createFactory,h=s.cloneElement,y=r,m=function(e){return e},v={Children:{map:i.map,forEach:i.forEach,count:i.count,toArray:i.toArray,only:p},Component:o.Component,PureComponent:o.PureComponent,createElement:f,cloneElement:h,isValidElement:s.isValidElement,PropTypes:u,createClass:l,createFactory:d,createMixin:m,DOM:a,version:c,__spread:y};t.exports=v},{10:10,13:13,14:14,19:19,24:24,28:28,32:32,45:45,7:7}],6:[function(e,t,n){"use strict";function r(){if(!o){var t=e(26);o=t.__SECRET_INJECTED_REACT_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED}return o}var o;n.getReactDOM=r},{26:26}],7:[function(e,t,n){"use strict";function r(e,t,n){this.props=e,this.context=t,this.refs=c,this.updater=n||u}function o(e,t,n){this.props=e,this.context=t,this.refs=c,this.updater=n||u}function i(){}var a=e(33),s=e(45),u=e(18),c=(e(27),e(41));e(42),e(31);r.prototype.isReactComponent={},r.prototype.setState=function(e,t){"object"!=typeof e&&"function"!=typeof e&&null!=e&&a("85"),this.updater.enqueueSetState(this,e),t&&this.updater.enqueueCallback(this,t,"setState")},r.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this),e&&this.updater.enqueueCallback(this,e,"forceUpdate")};i.prototype=r.prototype,o.prototype=new i,o.prototype.constructor=o,s(o.prototype,r.prototype),o.prototype.isPureReactComponent=!0,t.exports={Component:r,PureComponent:o}},{18:18,27:27,31:31,33:33,41:41,42:42,45:45}],8:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(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)}function a(e){var t="transition"+e+"Timeout",n="transition"+e;return function(e){if(e[n]){if(null==e[t])return new Error(t+" wasn't supplied to ReactCSSTransitionGroup: this can cause unreliable animations and won't be supported in a future version of React. See https://fb.me/react-animation-transition-group-timeout for more information.");if("number"!=typeof e[t])return new Error(t+" must be a number (in milliseconds)")}}}var s=e(45),u=e(5),c=e(47),l=c(u.isValidElement),p=e(23),f=e(9),d=function(e){function t(){var n,i,a;r(this,t);for(var s=arguments.length,c=Array(s),l=0;l<s;l++)c[l]=arguments[l];return n=i=o(this,e.call.apply(e,[this].concat(c))),i._wrapChild=function(e){return u.createElement(f,{name:i.props.transitionName,appear:i.props.transitionAppear,enter:i.props.transitionEnter,leave:i.props.transitionLeave,appearTimeout:i.props.transitionAppearTimeout,enterTimeout:i.props.transitionEnterTimeout,leaveTimeout:i.props.transitionLeaveTimeout},e)},a=n,o(i,a)}return i(t,e),t.prototype.render=function(){return u.createElement(p,s({},this.props,{childFactory:this._wrapChild}))},t}(u.Component);d.displayName="ReactCSSTransitionGroup",d.propTypes={transitionName:f.propTypes.name,transitionAppear:l.bool,transitionEnter:l.bool,transitionLeave:l.bool,transitionAppearTimeout:a("Appear"),transitionEnterTimeout:a("Enter"),transitionLeaveTimeout:a("Leave")},d.defaultProps={transitionAppear:!1,transitionEnter:!0,transitionLeave:!0},t.exports=d},{23:23,45:45,47:47,5:5,9:9}],9:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(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)}var a=e(5),s=e(6),u=e(47),c=u(a.isValidElement),l=e(38),p=e(22),f=e(32),d=17,h=function(e){function t(){var n,i,a;r(this,t);for(var u=arguments.length,c=Array(u),f=0;f<u;f++)c[f]=arguments[f];return n=i=o(this,e.call.apply(e,[this].concat(c))),i._isMounted=!1,i.transition=function(e,t,n){var r=s.getReactDOM().findDOMNode(i);if(!r)return void(t&&t());var o=i.props.name[e]||i.props.name+"-"+e,a=i.props.name[e+"Active"]||o+"-active",u=null,c=function(e){e&&e.target!==r||(clearTimeout(u),l.removeClass(r,o),l.removeClass(r,a),p.removeEndEventListener(r,c),t&&t())};l.addClass(r,o),i.queueClassAndNode(a,r),n?(u=setTimeout(c,n),i.transitionTimeouts.push(u)):p.addEndEventListener(r,c)},i.queueClassAndNode=function(e,t){i.classNameAndNodeQueue.push({className:e,node:t}),i.timeout||(i.timeout=setTimeout(i.flushClassNameAndNodeQueue,d))},i.flushClassNameAndNodeQueue=function(){i._isMounted&&i.classNameAndNodeQueue.forEach(function(e){l.addClass(e.node,e.className)}),i.classNameAndNodeQueue.length=0,i.timeout=null},i.componentWillAppear=function(e){i.props.appear?i.transition("appear",e,i.props.appearTimeout):e()},i.componentWillEnter=function(e){i.props.enter?i.transition("enter",e,i.props.enterTimeout):e()},i.componentWillLeave=function(e){i.props.leave?i.transition("leave",e,i.props.leaveTimeout):e()},a=n,o(i,a)}return i(t,e),t.prototype.componentWillMount=function(){this.classNameAndNodeQueue=[],this.transitionTimeouts=[]},t.prototype.componentDidMount=function(){this._isMounted=!0},t.prototype.componentWillUnmount=function(){this._isMounted=!1,this.timeout&&clearTimeout(this.timeout),this.transitionTimeouts.forEach(function(e){clearTimeout(e)}),this.classNameAndNodeQueue.length=0},t.prototype.render=function(){return f(this.props.children)},t}(a.Component);h.propTypes={name:c.oneOfType([c.string,c.shape({enter:c.string,leave:c.string,active:c.string}),c.shape({enter:c.string,enterActive:c.string,leave:c.string,leaveActive:c.string,appear:c.string,appearActive:c.string})]).isRequired,appear:c.bool,enter:c.bool,leave:c.bool,appearTimeout:c.number,enterTimeout:c.number,leaveTimeout:c.number},t.exports=h},{22:22,32:32,38:38,47:47,5:5,6:6}],10:[function(e,t,n){"use strict";function r(e){return(""+e).replace(E,"$&/")}function o(e,t){this.func=e,this.context=t,this.count=0}function i(e,t,n){var r=e.func,o=e.context;r.call(o,t,e.count++)}function a(e,t,n){if(null==e)return e;var r=o.getPooled(t,n);v(e,i,r),o.release(r)}function s(e,t,n,r){this.result=e,this.keyPrefix=t,this.func=n,this.context=r,this.count=0}function u(e,t,n){var o=e.result,i=e.keyPrefix,a=e.func,s=e.context,u=a.call(s,t,e.count++);Array.isArray(u)?c(u,o,n,m.thatReturnsArgument):null!=u&&(y.isValidElement(u)&&(u=y.cloneAndReplaceKey(u,i+(!u.key||t&&t.key===u.key?"":r(u.key)+"/")+n)),o.push(u))}function c(e,t,n,o,i){var a="";null!=n&&(a=r(n)+"/");var c=s.getPooled(t,a,o,i);v(e,u,c),s.release(c)}function l(e,t,n){if(null==e)return e;var r=[];return c(e,r,null,t,n),r}function p(e,t,n){return null}function f(e,t){return v(e,p,null)}function d(e){var t=[];return c(e,t,null,m.thatReturnsArgument),t}var h=e(4),y=e(14),m=e(40),v=e(35),g=h.twoArgumentPooler,b=h.fourArgumentPooler,E=/\/+/g;o.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},h.addPoolingTo(o,g),s.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},h.addPoolingTo(s,b);var _={forEach:a,map:l,mapIntoWithKeyPrefixInternal:c,count:f,toArray:d};t.exports=_},{14:14,35:35,4:4,40:40}],11:[function(e,t,n){"use strict";var r=e(34),o={shouldComponentUpdate:function(e,t){return r(this,e,t)}};t.exports=o},{34:34}],12:[function(e,t,n){"use strict";var r={current:null};t.exports=r},{}],13:[function(e,t,n){"use strict";var r=e(14),o=r.createFactory,i={a:o("a"),abbr:o("abbr"),address:o("address"),area:o("area"),article:o("article"),aside:o("aside"),audio:o("audio"),b:o("b"),base:o("base"),bdi:o("bdi"),bdo:o("bdo"),big:o("big"),blockquote:o("blockquote"),body:o("body"),br:o("br"),button:o("button"),canvas:o("canvas"),caption:o("caption"),cite:o("cite"),code:o("code"),col:o("col"),colgroup:o("colgroup"),data:o("data"),datalist:o("datalist"),dd:o("dd"),del:o("del"),details:o("details"),dfn:o("dfn"),dialog:o("dialog"),div:o("div"),dl:o("dl"),dt:o("dt"),em:o("em"),embed:o("embed"),fieldset:o("fieldset"),figcaption:o("figcaption"),figure:o("figure"),footer:o("footer"),form:o("form"),h1:o("h1"),h2:o("h2"),h3:o("h3"),h4:o("h4"),h5:o("h5"),h6:o("h6"),head:o("head"),header:o("header"),hgroup:o("hgroup"),hr:o("hr"),html:o("html"),i:o("i"),iframe:o("iframe"),img:o("img"),input:o("input"),ins:o("ins"),kbd:o("kbd"),keygen:o("keygen"),label:o("label"),legend:o("legend"),li:o("li"),link:o("link"),main:o("main"),map:o("map"),mark:o("mark"),menu:o("menu"),menuitem:o("menuitem"),meta:o("meta"),meter:o("meter"),nav:o("nav"),noscript:o("noscript"),object:o("object"),ol:o("ol"),optgroup:o("optgroup"),option:o("option"),output:o("output"),p:o("p"),param:o("param"),picture:o("picture"),pre:o("pre"),progress:o("progress"),q:o("q"),rp:o("rp"),rt:o("rt"),ruby:o("ruby"),s:o("s"),samp:o("samp"),script:o("script"),section:o("section"),select:o("select"),small:o("small"),source:o("source"),span:o("span"),strong:o("strong"),style:o("style"),sub:o("sub"),summary:o("summary"),sup:o("sup"),table:o("table"),tbody:o("tbody"),td:o("td"),textarea:o("textarea"),tfoot:o("tfoot"),th:o("th"),thead:o("thead"),time:o("time"),title:o("title"),tr:o("tr"),track:o("track"),u:o("u"),ul:o("ul"),var:o("var"),video:o("video"),wbr:o("wbr"),circle:o("circle"),clipPath:o("clipPath"),defs:o("defs"),ellipse:o("ellipse"),g:o("g"),image:o("image"),line:o("line"),linearGradient:o("linearGradient"),mask:o("mask"),path:o("path"),pattern:o("pattern"),polygon:o("polygon"),polyline:o("polyline"),radialGradient:o("radialGradient"),rect:o("rect"),stop:o("stop"),svg:o("svg"),text:o("text"),tspan:o("tspan")};t.exports=i},{14:14}],14:[function(e,t,n){"use strict";function r(e){return void 0!==e.ref}function o(e){return void 0!==e.key}var i=e(45),a=e(12),s=(e(44),e(27),Object.prototype.hasOwnProperty),u=e(15),c={key:!0,ref:!0,__self:!0,__source:!0},l=function(e,t,n,r,o,i,a){return{$$typeof:u,type:e,key:t,ref:n,props:a,_owner:i}};l.createElement=function(e,t,n){var i,u={},p=null,f=null;if(null!=t){r(t)&&(f=t.ref),o(t)&&(p=""+t.key),void 0===t.__self?null:t.__self,void 0===t.__source?null:t.__source;for(i in t)s.call(t,i)&&!c.hasOwnProperty(i)&&(u[i]=t[i])}var d=arguments.length-2;if(1===d)u.children=n;else if(d>1){for(var h=Array(d),y=0;y<d;y++)h[y]=arguments[y+2];u.children=h}if(e&&e.defaultProps){var m=e.defaultProps;for(i in m)void 0===u[i]&&(u[i]=m[i])}return l(e,p,f,0,0,a.current,u)},l.createFactory=function(e){var t=l.createElement.bind(null,e);return t.type=e,t},l.cloneAndReplaceKey=function(e,t){return l(e.type,t,e.ref,e._self,e._source,e._owner,e.props)},l.cloneElement=function(e,t,n){var u,p=i({},e.props),f=e.key,d=e.ref,h=(e._self,e._source,e._owner);if(null!=t){r(t)&&(d=t.ref,h=a.current),o(t)&&(f=""+t.key);var y;e.type&&e.type.defaultProps&&(y=e.type.defaultProps);for(u in t)s.call(t,u)&&!c.hasOwnProperty(u)&&(void 0===t[u]&&void 0!==y?p[u]=y[u]:p[u]=t[u])}var m=arguments.length-2;if(1===m)p.children=n;else if(m>1){for(var v=Array(m),g=0;g<m;g++)v[g]=arguments[g+2];p.children=v}return l(e.type,f,d,0,0,h,p)},l.isValidElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===u},t.exports=l},{12:12,15:15,27:27,44:44,45:45}],15:[function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;t.exports=r},{}],16:[function(e,t,n){"use strict";var r=e(33),o=e(10),i=e(14),a=e(40),s=(e(42),e(44),{create:function(e){if("object"!=typeof e||!e||Array.isArray(e))return e;if(i.isValidElement(e))return e;1===e.nodeType&&r("0");var t=[];for(var n in e)o.mapIntoWithKeyPrefixInternal(e[n],t,n,a.thatReturnsArgument);return t}});t.exports=s},{10:10,14:14,33:33,40:40,42:42,44:44}],17:[function(e,t,n){"use strict";function r(e,t){this.value=e,this.requestChange=t}t.exports=r},{}],18:[function(e,t,n){"use strict";var r=(e(44),{isMounted:function(e){return!1},enqueueCallback:function(e,t){},enqueueForceUpdate:function(e){},enqueueReplaceState:function(e,t){},enqueueSetState:function(e,t){}});t.exports=r},{44:44}],19:[function(e,t,n){"use strict";var r=e(14),o=r.isValidElement,i=e(47);t.exports=i(o)},{14:14,47:47}],20:[function(e,t,n){"use strict";function r(e,t){var n={};return function(r){n[t]=r,e.setState(n)}}var o={createStateSetter:function(e,t){return function(n,r,o,i,a,s){var u=t.call(e,n,r,o,i,a,s);u&&e.setState(u)}},createStateKeySetter:function(e,t){var n=e.__keySetters||(e.__keySetters={});return n[t]||(n[t]=r(e,t))}};o.Mixin={createStateSetter:function(e){return o.createStateSetter(this,e)},createStateKeySetter:function(e){return o.createStateKeySetter(this,e)}},t.exports=o},{}],21:[function(e,t,n){"use strict";var r=e(29),o={getChildMapping:function(e,t){return e?r(e):e},mergeChildMappings:function(e,t){function n(n){return t.hasOwnProperty(n)?t[n]:e[n]}e=e||{},t=t||{};var r={},o=[];for(var i in e)t.hasOwnProperty(i)?o.length&&(r[i]=o,o=[]):o.push(i);var a,s={};for(var u in t){if(r.hasOwnProperty(u))for(a=0;a<r[u].length;a++){var c=r[u][a];s[r[u][a]]=n(c)}s[u]=n(u)}for(a=0;a<o.length;a++)s[o[a]]=n(o[a]);return s}};t.exports=o},{29:29}],22:[function(e,t,n){"use strict";function r(e,t,n){e.addEventListener(t,n,!1)}function o(e,t,n){e.removeEventListener(t,n,!1)}var i=e(39),a=e(1),s=[];i.canUseDOM&&function(){var e=a("animationend"),t=a("transitionend");e&&s.push(e),t&&s.push(t)}();var u={addEndEventListener:function(e,t){if(0===s.length)return void window.setTimeout(t,0);s.forEach(function(n){r(e,n,t)})},removeEndEventListener:function(e,t){0!==s.length&&s.forEach(function(n){o(e,n,t)})}};t.exports=u},{1:1,39:39}],23:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(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)}var a=e(45),s=e(5),u=e(21),c=e(47),l=c(s.isValidElement),p=e(40),f=function(e){function t(){var n,i,s;r(this,t);for(var c=arguments.length,l=Array(c),p=0;p<c;p++)l[p]=arguments[p];return n=i=o(this,e.call.apply(e,[this].concat(l))),i.state={children:u.getChildMapping(i.props.children)},i.performAppear=function(e){i.currentlyTransitioningKeys[e]=!0;var t=i.refs[e];t.componentWillAppear?t.componentWillAppear(i._handleDoneAppearing.bind(i,e)):i._handleDoneAppearing(e)},i._handleDoneAppearing=function(e){var t=i.refs[e];t.componentDidAppear&&t.componentDidAppear(),delete i.currentlyTransitioningKeys[e];var n=u.getChildMapping(i.props.children);n&&n.hasOwnProperty(e)||i.performLeave(e)},i.performEnter=function(e){i.currentlyTransitioningKeys[e]=!0;var t=i.refs[e];t.componentWillEnter?t.componentWillEnter(i._handleDoneEntering.bind(i,e)):i._handleDoneEntering(e)},i._handleDoneEntering=function(e){var t=i.refs[e];t.componentDidEnter&&t.componentDidEnter(),delete i.currentlyTransitioningKeys[e];var n=u.getChildMapping(i.props.children);n&&n.hasOwnProperty(e)||i.performLeave(e)},i.performLeave=function(e){i.currentlyTransitioningKeys[e]=!0;var t=i.refs[e];t.componentWillLeave?t.componentWillLeave(i._handleDoneLeaving.bind(i,e)):i._handleDoneLeaving(e)},i._handleDoneLeaving=function(e){var t=i.refs[e];t.componentDidLeave&&t.componentDidLeave(),delete i.currentlyTransitioningKeys[e];var n=u.getChildMapping(i.props.children);n&&n.hasOwnProperty(e)?i.performEnter(e):i.setState(function(t){var n=a({},t.children);return delete n[e],{children:n}})},s=n,o(i,s)}return i(t,e),t.prototype.componentWillMount=function(){this.currentlyTransitioningKeys={},this.keysToEnter=[],this.keysToLeave=[]},t.prototype.componentDidMount=function(){var e=this.state.children;for(var t in e)e[t]&&this.performAppear(t)},t.prototype.componentWillReceiveProps=function(e){var t=u.getChildMapping(e.children),n=this.state.children;this.setState({children:u.mergeChildMappings(n,t)});var r;for(r in t){var o=n&&n.hasOwnProperty(r);!t[r]||o||this.currentlyTransitioningKeys[r]||this.keysToEnter.push(r)}for(r in n){var i=t&&t.hasOwnProperty(r);!n[r]||i||this.currentlyTransitioningKeys[r]||this.keysToLeave.push(r)}},t.prototype.componentDidUpdate=function(){var e=this.keysToEnter;this.keysToEnter=[],e.forEach(this.performEnter);var t=this.keysToLeave;this.keysToLeave=[],t.forEach(this.performLeave)},t.prototype.render=function(){var e=[];for(var t in this.state.children){var n=this.state.children[t];n&&e.push(s.cloneElement(this.props.childFactory(n),{ref:t,key:t}))}var r=a({},this.props);return delete r.transitionLeave,delete r.transitionName,delete r.transitionAppear,delete r.transitionEnter,delete r.childFactory,delete r.transitionLeaveTimeout,delete r.transitionEnterTimeout,delete r.transitionAppearTimeout,delete r.component,s.createElement(this.props.component,r,e)},t}(s.Component);f.displayName="ReactTransitionGroup",f.propTypes={component:l.any,childFactory:l.func},f.defaultProps={component:"span",childFactory:p.thatReturnsArgument},t.exports=f},{21:21,40:40,45:45,47:47,5:5}],24:[function(e,t,n){"use strict";t.exports="15.6.2"},{}],25:[function(e,t,n){"use strict";var r=e(3),o=e(5),i=(e(6),e(11)),a=e(8),s=e(16),u=e(23),c=e(34),l=e(36);o.addons={CSSTransitionGroup:a,LinkedStateMixin:r,PureRenderMixin:i,TransitionGroup:u,createFragment:s.create,shallowCompare:c,update:l},t.exports=o},{11:11,16:16,23:23,3:3,34:34,36:36,5:5,6:6,8:8}],26:[function(e,t,n){"use strict";var r=e(45),o=e(25),i=r(o,{__SECRET_INJECTED_REACT_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:null,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:e(12)}});t.exports=i},{12:12,25:25,45:45}],27:[function(e,t,n){"use strict";t.exports=!1},{}],28:[function(e,t,n){"use strict";var r=e(7),o=r.Component,i=e(14),a=i.isValidElement,s=e(18),u=e(37);t.exports=u(o,a,s)},{14:14,18:18,37:37,7:7}],29:[function(e,t,n){(function(n){"use strict";function r(e,t,n,r){if(e&&"object"==typeof e){var o=e;void 0===o[n]&&null!=t&&(o[n]=t)}}function o(e,t){if(null==e)return e;var n={};return i(e,r,n),n}var i=(e(2),e(35));e(44);void 0!==n&&n.env,t.exports=o}).call(this,void 0)},{2:2,35:35,44:44}],30:[function(e,t,n){"use strict";function r(e){var t=e&&(o&&e[o]||e[i]);if("function"==typeof t)return t}var o="function"==typeof Symbol&&Symbol.iterator,i="@@iterator";t.exports=r},{}],31:[function(e,t,n){"use strict";var r=function(){};t.exports=r},{}],32:[function(e,t,n){"use strict";function r(e){return i.isValidElement(e)||o("143"),e}var o=e(33),i=e(14);e(42);t.exports=r},{14:14,33:33,42:42}],33:[function(e,t,n){"use strict";function r(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r<t;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);n+=" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";var o=new Error(n);throw o.name="Invariant Violation",o.framesToPop=1,o}t.exports=r},{}],34:[function(e,t,n){"use strict";function r(e,t,n){return!o(e.props,t)||!o(e.state,n)}var o=e(43);t.exports=r},{43:43}],35:[function(e,t,n){"use strict";function r(e,t){return e&&"object"==typeof e&&null!=e.key?c.escape(e.key):t.toString(36)}function o(e,t,n,i){var f=typeof e;if("undefined"!==f&&"boolean"!==f||(e=null),null===e||"string"===f||"number"===f||"object"===f&&e.$$typeof===s)return n(i,e,""===t?l+r(e,0):t),1;var d,h,y=0,m=""===t?l:t+p;if(Array.isArray(e))for(var v=0;v<e.length;v++)d=e[v],h=m+r(d,v),y+=o(d,h,n,i);else{var g=u(e);if(g){var b,E=g.call(e);if(g!==e.entries)for(var _=0;!(b=E.next()).done;)d=b.value,h=m+r(d,_++),y+=o(d,h,n,i);else for(;!(b=E.next()).done;){var w=b.value;w&&(d=w[1],h=m+c.escape(w[0])+p+r(d,0),y+=o(d,h,n,i))}}else if("object"===f){var x=String(e);a("31","[object Object]"===x?"object with keys {"+Object.keys(e).join(", ")+"}":x,"")}}return y}function i(e,t,n){return null==e?0:o(e,"",t,n)}var a=e(33),s=(e(12),e(15)),u=e(30),c=(e(42),e(2)),l=(e(44),"."),p=":";t.exports=i},{12:12,15:15,2:2,30:30,33:33,42:42,44:44}],36:[function(e,t,n){"use strict";function r(e){return Array.isArray(e)?e.concat():e&&"object"==typeof e?s(new e.constructor,e):e}function o(e,t,n){Array.isArray(e)||a("1",n,e);var r=t[n];Array.isArray(r)||a("2",n,r)}function i(e,t){if("object"!=typeof t&&a("3",y.join(", "),f),u.call(t,f))return 1!==Object.keys(t).length&&a("4",f),t[f];var n=r(e);if(u.call(t,d)){var v=t[d];v&&"object"==typeof v||a("5",d,v),n&&"object"==typeof n||a("6",d,n),s(n,t[d])}u.call(t,c)&&(o(e,t,c),t[c].forEach(function(e){n.push(e)})),u.call(t,l)&&(o(e,t,l),t[l].forEach(function(e){n.unshift(e)})),u.call(t,p)&&(Array.isArray(e)||a("7",p,e),Array.isArray(t[p])||a("8",p,t[p]),t[p].forEach(function(e){Array.isArray(e)||a("8",p,t[p]),n.splice.apply(n,e)})),u.call(t,h)&&("function"!=typeof t[h]&&a("9",h,t[h]),n=t[h](n));for(var g in t)m.hasOwnProperty(g)&&m[g]||(n[g]=i(e[g],t[g]));return n}var a=e(33),s=e(45),u=(e(42),{}.hasOwnProperty),c="$push",l="$unshift",p="$splice",f="$set",d="$merge",h="$apply",y=[c,l,p,f,d,h],m={};y.forEach(function(e){m[e]=!0}),t.exports=i},{33:33,42:42,45:45}],37:[function(e,t,n){"use strict";function r(e){return e}function o(e,t,n){function o(e,t){var n=g.hasOwnProperty(t)?g[t]:null;w.hasOwnProperty(t)&&s("OVERRIDE_BASE"===n,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",t),e&&s("DEFINE_MANY"===n||"DEFINE_MANY_MERGED"===n,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",t)}function c(e,n){if(n){s("function"!=typeof n,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),s(!t(n),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var r=e.prototype,i=r.__reactAutoBindPairs;n.hasOwnProperty(u)&&b.mixins(e,n.mixins);for(var a in n)if(n.hasOwnProperty(a)&&a!==u){var c=n[a],l=r.hasOwnProperty(a);if(o(l,a),b.hasOwnProperty(a))b[a](e,c);else{var p=g.hasOwnProperty(a),h="function"==typeof c,y=h&&!p&&!l&&!1!==n.autobind;if(y)i.push(a,c),r[a]=c;else if(l){var m=g[a];s(p&&("DEFINE_MANY_MERGED"===m||"DEFINE_MANY"===m),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",m,a),"DEFINE_MANY_MERGED"===m?r[a]=f(r[a],c):"DEFINE_MANY"===m&&(r[a]=d(r[a],c))}else r[a]=c}}}else;}function l(e,t){if(t)for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){var o=n in b;s(!o,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',n);var i=n in e;s(!i,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n),e[n]=r}}}function p(e,t){s(e&&t&&"object"==typeof e&&"object"==typeof t,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.");for(var n in t)t.hasOwnProperty(n)&&(s(void 0===e[n],"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",n),e[n]=t[n]);return e}function f(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);if(null==n)return r;if(null==r)return n;var o={};return p(o,n),p(o,r),o}}function d(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function h(e,t){var n=t.bind(e);return n}function y(e){for(var t=e.__reactAutoBindPairs,n=0;n<t.length;n+=2){var r=t[n],o=t[n+1];e[r]=h(e,o)}}function m(e){var t=r(function(e,r,o){this.__reactAutoBindPairs.length&&y(this),this.props=e,this.context=r,this.refs=a,this.updater=o||n,this.state=null;var i=this.getInitialState?this.getInitialState():null;s("object"==typeof i&&!Array.isArray(i),"%s.getInitialState(): must return an object or null",t.displayName||"ReactCompositeComponent"),this.state=i});t.prototype=new x,t.prototype.constructor=t,t.prototype.__reactAutoBindPairs=[],v.forEach(c.bind(null,t)),c(t,E),c(t,e),c(t,_),t.getDefaultProps&&(t.defaultProps=t.getDefaultProps()),s(t.prototype.render,"createClass(...): Class specification must implement a `render` method.");for(var o in g)t.prototype[o]||(t.prototype[o]=null);return t}var v=[],g={mixins:"DEFINE_MANY",statics:"DEFINE_MANY",propTypes:"DEFINE_MANY",contextTypes:"DEFINE_MANY",childContextTypes:"DEFINE_MANY",getDefaultProps:"DEFINE_MANY_MERGED",getInitialState:"DEFINE_MANY_MERGED",getChildContext:"DEFINE_MANY_MERGED",render:"DEFINE_ONCE",componentWillMount:"DEFINE_MANY",componentDidMount:"DEFINE_MANY",componentWillReceiveProps:"DEFINE_MANY",shouldComponentUpdate:"DEFINE_ONCE",componentWillUpdate:"DEFINE_MANY",componentDidUpdate:"DEFINE_MANY",componentWillUnmount:"DEFINE_MANY",updateComponent:"OVERRIDE_BASE"},b={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)c(e,t[n])},childContextTypes:function(e,t){e.childContextTypes=i({},e.childContextTypes,t)},contextTypes:function(e,t){e.contextTypes=i({},e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=f(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,t){e.propTypes=i({},e.propTypes,t)},statics:function(e,t){l(e,t)},autobind:function(){}},E={componentDidMount:function(){this.__isMounted=!0}},_={componentWillUnmount:function(){this.__isMounted=!1}},w={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e,t)},isMounted:function(){return!!this.__isMounted}},x=function(){};return i(x.prototype,e.prototype,w),m}var i=e(45),a=e(41),s=e(42),u="mixins";t.exports=o},{41:41,42:42,44:44,45:45}],38:[function(e,t,n){"use strict";function r(e,t){for(var n=e;n.parentNode;)n=n.parentNode;var r=n.querySelectorAll(t);return-1!==Array.prototype.indexOf.call(r,e)}var o=e(42),i={addClass:function(e,t){return/\s/.test(t)&&o(!1),t&&(e.classList?e.classList.add(t):i.hasClass(e,t)||(e.className=e.className+" "+t)),e},removeClass:function(e,t){return/\s/.test(t)&&o(!1),t&&(e.classList?e.classList.remove(t):i.hasClass(e,t)&&(e.className=e.className.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,""))),e},conditionClass:function(e,t,n){return(n?i.addClass:i.removeClass)(e,t)},hasClass:function(e,t){return/\s/.test(t)&&o(!1),e.classList?!!t&&e.classList.contains(t):(" "+e.className+" ").indexOf(" "+t+" ")>-1},matchesSelector:function(e,t){return(e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector||function(t){return r(e,t)}).call(e,t)}};t.exports=i},{42:42}],39:[function(e,t,n){"use strict";var r=!("undefined"==typeof window||!window.document||!window.document.createElement),o={canUseDOM:r,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen,isInWorker:!r};t.exports=o},{}],40:[function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},t.exports=o},{}],41:[function(e,t,n){"use strict";var r={};t.exports=r},{}],42:[function(e,t,n){"use strict";function r(e,t,n,r,i,a,s,u){if(o(t),!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,r,i,a,s,u],p=0;c=new Error(t.replace(/%s/g,function(){return l[p++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}}var o=function(e){};t.exports=r},{}],43:[function(e,t,n){"use strict";function r(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!==e&&t!==t}function o(e,t){if(r(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var a=0;a<n.length;a++)if(!i.call(t,n[a])||!r(e[n[a]],t[n[a]]))return!1;return!0}var i=Object.prototype.hasOwnProperty;t.exports=o},{}],44:[function(e,t,n){"use strict";var r=e(40),o=r
|
|
11
|
+
;t.exports=o},{40:40}],45:[function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;t.exports=function(){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;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,u=r(e),c=1;c<arguments.length;c++){n=Object(arguments[c]);for(var l in n)i.call(n,l)&&(u[l]=n[l]);if(o){s=o(n);for(var p=0;p<s.length;p++)a.call(n,s[p])&&(u[s[p]]=n[s[p]])}}return u}},{}],46:[function(e,t,n){"use strict";function r(e,t,n,r,o){}t.exports=r},{42:42,44:44,49:49}],47:[function(e,t,n){"use strict";var r=e(48);t.exports=function(e){return r(e,!1)}},{48:48}],48:[function(e,t,n){"use strict";var r=e(40),o=e(42),i=e(44),a=e(49),s=e(46);t.exports=function(e,t){function n(e){var t=e&&(A&&e[A]||e[T]);if("function"==typeof t)return t}function u(e,t){return e===t?0!==e||1/e==1/t:e!==e&&t!==t}function c(e){this.message=e,this.stack=""}function l(e){function n(n,r,i,s,u,l,p){if(s=s||O,l=l||i,p!==a)if(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");else;return null==r[i]?n?new c(null===r[i]?"The "+u+" `"+l+"` is marked as required in `"+s+"`, but its value is `null`.":"The "+u+" `"+l+"` is marked as required in `"+s+"`, but its value is `undefined`."):null:e(r,i,s,u,l)}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];if(E(s)!==e)return new c("Invalid "+o+" `"+i+"` of type `"+_(s)+"` supplied to `"+r+"`, expected `"+e+"`.");return null}return l(t)}function f(e){function t(t,n,r,o,i){if("function"!=typeof e)return new c("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var s=t[n];if(!Array.isArray(s)){return new c("Invalid "+o+" `"+i+"` of type `"+E(s)+"` supplied to `"+r+"`, expected an array.")}for(var u=0;u<s.length;u++){var l=e(s,u,r,o,i+"["+u+"]",a);if(l instanceof Error)return l}return null}return l(t)}function d(e){function t(t,n,r,o,i){if(!(t[n]instanceof e)){var a=e.name||O;return new c("Invalid "+o+" `"+i+"` of type `"+x(t[n])+"` supplied to `"+r+"`, expected instance of `"+a+"`.")}return null}return l(t)}function h(e){function t(t,n,r,o,i){for(var a=t[n],s=0;s<e.length;s++)if(u(a,e[s]))return null;return new c("Invalid "+o+" `"+i+"` of value `"+a+"` supplied to `"+r+"`, expected one of "+JSON.stringify(e)+".")}return Array.isArray(e)?l(t):r.thatReturnsNull}function y(e){function t(t,n,r,o,i){if("function"!=typeof e)return new c("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var s=t[n],u=E(s);if("object"!==u)return new c("Invalid "+o+" `"+i+"` of type `"+u+"` supplied to `"+r+"`, expected an object.");for(var l in s)if(s.hasOwnProperty(l)){var p=e(s,l,r,o,i+"."+l,a);if(p instanceof Error)return p}return null}return l(t)}function m(e){function t(t,n,r,o,i){for(var s=0;s<e.length;s++){if(null==(0,e[s])(t,n,r,o,i,a))return null}return new c("Invalid "+o+" `"+i+"` supplied to `"+r+"`.")}if(!Array.isArray(e))return r.thatReturnsNull;for(var n=0;n<e.length;n++){var o=e[n];if("function"!=typeof o)return i(!1,"Invalid argument supplid to oneOfType. Expected an array of check functions, but received %s at index %s.",w(o),n),r.thatReturnsNull}return l(t)}function v(e){function t(t,n,r,o,i){var s=t[n],u=E(s);if("object"!==u)return new c("Invalid "+o+" `"+i+"` of type `"+u+"` supplied to `"+r+"`, expected `object`.");for(var l in e){var p=e[l];if(p){var f=p(s,l,r,o,i+"."+l,a);if(f)return f}}return null}return l(t)}function g(t){switch(typeof t){case"number":case"string":case"undefined":return!0;case"boolean":return!t;case"object":if(Array.isArray(t))return t.every(g);if(null===t||e(t))return!0;var r=n(t);if(!r)return!1;var o,i=r.call(t);if(r!==t.entries){for(;!(o=i.next()).done;)if(!g(o.value))return!1}else for(;!(o=i.next()).done;){var a=o.value;if(a&&!g(a[1]))return!1}return!0;default:return!1}}function b(e,t){return"symbol"===e||("Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol)}function E(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":b(t,e)?"symbol":t}function _(e){if(void 0===e||null===e)return""+e;var t=E(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function w(e){var t=_(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}function x(e){return e.constructor&&e.constructor.name?e.constructor.name:O}var A="function"==typeof Symbol&&Symbol.iterator,T="@@iterator",O="<<anonymous>>",P={array:p("array"),bool:p("boolean"),func:p("function"),number:p("number"),object:p("object"),string:p("string"),symbol:p("symbol"),any:function(){return l(r.thatReturnsNull)}(),arrayOf:f,element:function(){function t(t,n,r,o,i){var a=t[n];if(!e(a)){return new c("Invalid "+o+" `"+i+"` of type `"+E(a)+"` supplied to `"+r+"`, expected a single ReactElement.")}return null}return l(t)}(),instanceOf:d,node:function(){function e(e,t,n,r,o){return g(e[t])?null:new c("Invalid "+r+" `"+o+"` supplied to `"+n+"`, expected a ReactNode.")}return l(e)}(),objectOf:y,oneOf:h,oneOfType:m,shape:v};return c.prototype=Error.prototype,P.checkPropTypes=s,P.PropTypes=P,P}},{40:40,42:42,44:44,46:46,49:49}],49:[function(e,t,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},{}]},{},[26])(26)});
|
package/dist/react.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* React v15.
|
|
2
|
+
* React v15.6.2
|
|
3
3
|
*/
|
|
4
4
|
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.React = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
|
|
5
5
|
/**
|
|
6
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
7
|
-
* All rights reserved.
|
|
6
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
8
7
|
*
|
|
9
|
-
* This source code is licensed under the
|
|
10
|
-
* LICENSE file in the root directory of this source tree.
|
|
11
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
8
|
+
* This source code is licensed under the MIT license found in the
|
|
9
|
+
* LICENSE file in the root directory of this source tree.
|
|
12
10
|
*
|
|
13
11
|
*
|
|
14
12
|
*/
|
|
@@ -62,12 +60,10 @@ var KeyEscapeUtils = {
|
|
|
62
60
|
module.exports = KeyEscapeUtils;
|
|
63
61
|
},{}],2:[function(_dereq_,module,exports){
|
|
64
62
|
/**
|
|
65
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
66
|
-
* All rights reserved.
|
|
63
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
67
64
|
*
|
|
68
|
-
* This source code is licensed under the
|
|
69
|
-
* LICENSE file in the root directory of this source tree.
|
|
70
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
65
|
+
* This source code is licensed under the MIT license found in the
|
|
66
|
+
* LICENSE file in the root directory of this source tree.
|
|
71
67
|
*
|
|
72
68
|
*
|
|
73
69
|
*/
|
|
@@ -76,7 +72,7 @@ module.exports = KeyEscapeUtils;
|
|
|
76
72
|
|
|
77
73
|
var _prodInvariant = _dereq_(25);
|
|
78
74
|
|
|
79
|
-
var invariant = _dereq_(
|
|
75
|
+
var invariant = _dereq_(30);
|
|
80
76
|
|
|
81
77
|
/**
|
|
82
78
|
* Static poolers. Several custom versions for each potential number of
|
|
@@ -172,40 +168,37 @@ var PooledClass = {
|
|
|
172
168
|
};
|
|
173
169
|
|
|
174
170
|
module.exports = PooledClass;
|
|
175
|
-
},{"25":25,"
|
|
171
|
+
},{"25":25,"30":30}],3:[function(_dereq_,module,exports){
|
|
176
172
|
/**
|
|
177
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
178
|
-
* All rights reserved.
|
|
173
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
179
174
|
*
|
|
180
|
-
* This source code is licensed under the
|
|
181
|
-
* LICENSE file in the root directory of this source tree.
|
|
182
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
175
|
+
* This source code is licensed under the MIT license found in the
|
|
176
|
+
* LICENSE file in the root directory of this source tree.
|
|
183
177
|
*
|
|
184
178
|
*/
|
|
185
179
|
|
|
186
180
|
'use strict';
|
|
187
181
|
|
|
188
|
-
var _assign = _dereq_(
|
|
182
|
+
var _assign = _dereq_(32);
|
|
189
183
|
|
|
190
|
-
var
|
|
191
|
-
var
|
|
192
|
-
var
|
|
193
|
-
var
|
|
194
|
-
var
|
|
195
|
-
var
|
|
196
|
-
var ReactPropTypes = _dereq_(15);
|
|
197
|
-
var ReactVersion = _dereq_(19);
|
|
184
|
+
var ReactBaseClasses = _dereq_(4);
|
|
185
|
+
var ReactChildren = _dereq_(5);
|
|
186
|
+
var ReactDOMFactories = _dereq_(8);
|
|
187
|
+
var ReactElement = _dereq_(9);
|
|
188
|
+
var ReactPropTypes = _dereq_(14);
|
|
189
|
+
var ReactVersion = _dereq_(17);
|
|
198
190
|
|
|
191
|
+
var createReactClass = _dereq_(20);
|
|
199
192
|
var onlyChild = _dereq_(24);
|
|
200
|
-
var warning = _dereq_(30);
|
|
201
193
|
|
|
202
194
|
var createElement = ReactElement.createElement;
|
|
203
195
|
var createFactory = ReactElement.createFactory;
|
|
204
196
|
var cloneElement = ReactElement.cloneElement;
|
|
205
197
|
|
|
206
198
|
if ("development" !== 'production') {
|
|
207
|
-
var
|
|
208
|
-
var
|
|
199
|
+
var lowPriorityWarning = _dereq_(23);
|
|
200
|
+
var canDefineProperty = _dereq_(18);
|
|
201
|
+
var ReactElementValidator = _dereq_(11);
|
|
209
202
|
var didWarnPropTypesDeprecated = false;
|
|
210
203
|
createElement = ReactElementValidator.createElement;
|
|
211
204
|
createFactory = ReactElementValidator.createFactory;
|
|
@@ -213,18 +206,27 @@ if ("development" !== 'production') {
|
|
|
213
206
|
}
|
|
214
207
|
|
|
215
208
|
var __spread = _assign;
|
|
209
|
+
var createMixin = function (mixin) {
|
|
210
|
+
return mixin;
|
|
211
|
+
};
|
|
216
212
|
|
|
217
213
|
if ("development" !== 'production') {
|
|
218
|
-
var
|
|
214
|
+
var warnedForSpread = false;
|
|
215
|
+
var warnedForCreateMixin = false;
|
|
219
216
|
__spread = function () {
|
|
220
|
-
|
|
221
|
-
|
|
217
|
+
lowPriorityWarning(warnedForSpread, 'React.__spread is deprecated and should not be used. Use ' + 'Object.assign directly or another helper function with similar ' + 'semantics. You may be seeing this warning due to your compiler. ' + 'See https://fb.me/react-spread-deprecation for more details.');
|
|
218
|
+
warnedForSpread = true;
|
|
222
219
|
return _assign.apply(null, arguments);
|
|
223
220
|
};
|
|
221
|
+
|
|
222
|
+
createMixin = function (mixin) {
|
|
223
|
+
lowPriorityWarning(warnedForCreateMixin, 'React.createMixin is deprecated and should not be used. ' + 'In React v16.0, it will be removed. ' + 'You can use this mixin directly instead. ' + 'See https://fb.me/createmixin-was-never-implemented for more info.');
|
|
224
|
+
warnedForCreateMixin = true;
|
|
225
|
+
return mixin;
|
|
226
|
+
};
|
|
224
227
|
}
|
|
225
228
|
|
|
226
229
|
var React = {
|
|
227
|
-
|
|
228
230
|
// Modern
|
|
229
231
|
|
|
230
232
|
Children: {
|
|
@@ -235,8 +237,8 @@ var React = {
|
|
|
235
237
|
only: onlyChild
|
|
236
238
|
},
|
|
237
239
|
|
|
238
|
-
Component:
|
|
239
|
-
PureComponent:
|
|
240
|
+
Component: ReactBaseClasses.Component,
|
|
241
|
+
PureComponent: ReactBaseClasses.PureComponent,
|
|
240
242
|
|
|
241
243
|
createElement: createElement,
|
|
242
244
|
cloneElement: cloneElement,
|
|
@@ -245,12 +247,9 @@ var React = {
|
|
|
245
247
|
// Classic
|
|
246
248
|
|
|
247
249
|
PropTypes: ReactPropTypes,
|
|
248
|
-
createClass:
|
|
250
|
+
createClass: createReactClass,
|
|
249
251
|
createFactory: createFactory,
|
|
250
|
-
createMixin:
|
|
251
|
-
// Currently a noop. Will be used to validate and trace mixins.
|
|
252
|
-
return mixin;
|
|
253
|
-
},
|
|
252
|
+
createMixin: createMixin,
|
|
254
253
|
|
|
255
254
|
// This looks DOM specific but these are actually isomorphic helpers
|
|
256
255
|
// since they are just generating DOM strings.
|
|
@@ -262,37 +261,199 @@ var React = {
|
|
|
262
261
|
__spread: __spread
|
|
263
262
|
};
|
|
264
263
|
|
|
265
|
-
// TODO: Fix tests so that this deprecation warning doesn't cause failures.
|
|
266
264
|
if ("development" !== 'production') {
|
|
265
|
+
var warnedForCreateClass = false;
|
|
267
266
|
if (canDefineProperty) {
|
|
268
267
|
Object.defineProperty(React, 'PropTypes', {
|
|
269
268
|
get: function () {
|
|
270
|
-
|
|
269
|
+
lowPriorityWarning(didWarnPropTypesDeprecated, 'Accessing PropTypes via the main React package is deprecated,' + ' and will be removed in React v16.0.' + ' Use the latest available v15.* prop-types package from npm instead.' + ' For info on usage, compatibility, migration and more, see ' + 'https://fb.me/prop-types-docs');
|
|
271
270
|
didWarnPropTypesDeprecated = true;
|
|
272
271
|
return ReactPropTypes;
|
|
273
272
|
}
|
|
274
273
|
});
|
|
274
|
+
|
|
275
|
+
Object.defineProperty(React, 'createClass', {
|
|
276
|
+
get: function () {
|
|
277
|
+
lowPriorityWarning(warnedForCreateClass, 'Accessing createClass via the main React package is deprecated,' + ' and will be removed in React v16.0.' + " Use a plain JavaScript class instead. If you're not yet " + 'ready to migrate, create-react-class v15.* is available ' + 'on npm as a temporary, drop-in replacement. ' + 'For more info see https://fb.me/react-create-class');
|
|
278
|
+
warnedForCreateClass = true;
|
|
279
|
+
return createReactClass;
|
|
280
|
+
}
|
|
281
|
+
});
|
|
275
282
|
}
|
|
283
|
+
|
|
284
|
+
// React.DOM factories are deprecated. Wrap these methods so that
|
|
285
|
+
// invocations of the React.DOM namespace and alert users to switch
|
|
286
|
+
// to the `react-dom-factories` package.
|
|
287
|
+
React.DOM = {};
|
|
288
|
+
var warnedForFactories = false;
|
|
289
|
+
Object.keys(ReactDOMFactories).forEach(function (factory) {
|
|
290
|
+
React.DOM[factory] = function () {
|
|
291
|
+
if (!warnedForFactories) {
|
|
292
|
+
lowPriorityWarning(false, 'Accessing factories like React.DOM.%s has been deprecated ' + 'and will be removed in v16.0+. Use the ' + 'react-dom-factories package instead. ' + ' Version 1.0 provides a drop-in replacement.' + ' For more info, see https://fb.me/react-dom-factories', factory);
|
|
293
|
+
warnedForFactories = true;
|
|
294
|
+
}
|
|
295
|
+
return ReactDOMFactories[factory].apply(ReactDOMFactories, arguments);
|
|
296
|
+
};
|
|
297
|
+
});
|
|
276
298
|
}
|
|
277
299
|
|
|
278
300
|
module.exports = React;
|
|
279
|
-
},{"
|
|
301
|
+
},{"11":11,"14":14,"17":17,"18":18,"20":20,"23":23,"24":24,"32":32,"4":4,"5":5,"8":8,"9":9}],4:[function(_dereq_,module,exports){
|
|
280
302
|
/**
|
|
281
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
282
|
-
* All rights reserved.
|
|
303
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
283
304
|
*
|
|
284
|
-
* This source code is licensed under the
|
|
285
|
-
* LICENSE file in the root directory of this source tree.
|
|
286
|
-
*
|
|
305
|
+
* This source code is licensed under the MIT license found in the
|
|
306
|
+
* LICENSE file in the root directory of this source tree.
|
|
307
|
+
*
|
|
308
|
+
*/
|
|
309
|
+
|
|
310
|
+
'use strict';
|
|
311
|
+
|
|
312
|
+
var _prodInvariant = _dereq_(25),
|
|
313
|
+
_assign = _dereq_(32);
|
|
314
|
+
|
|
315
|
+
var ReactNoopUpdateQueue = _dereq_(12);
|
|
316
|
+
|
|
317
|
+
var canDefineProperty = _dereq_(18);
|
|
318
|
+
var emptyObject = _dereq_(29);
|
|
319
|
+
var invariant = _dereq_(30);
|
|
320
|
+
var lowPriorityWarning = _dereq_(23);
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* Base class helpers for the updating state of a component.
|
|
324
|
+
*/
|
|
325
|
+
function ReactComponent(props, context, updater) {
|
|
326
|
+
this.props = props;
|
|
327
|
+
this.context = context;
|
|
328
|
+
this.refs = emptyObject;
|
|
329
|
+
// We initialize the default updater but the real one gets injected by the
|
|
330
|
+
// renderer.
|
|
331
|
+
this.updater = updater || ReactNoopUpdateQueue;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
ReactComponent.prototype.isReactComponent = {};
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* Sets a subset of the state. Always use this to mutate
|
|
338
|
+
* state. You should treat `this.state` as immutable.
|
|
339
|
+
*
|
|
340
|
+
* There is no guarantee that `this.state` will be immediately updated, so
|
|
341
|
+
* accessing `this.state` after calling this method may return the old value.
|
|
342
|
+
*
|
|
343
|
+
* There is no guarantee that calls to `setState` will run synchronously,
|
|
344
|
+
* as they may eventually be batched together. You can provide an optional
|
|
345
|
+
* callback that will be executed when the call to setState is actually
|
|
346
|
+
* completed.
|
|
347
|
+
*
|
|
348
|
+
* When a function is provided to setState, it will be called at some point in
|
|
349
|
+
* the future (not synchronously). It will be called with the up to date
|
|
350
|
+
* component arguments (state, props, context). These values can be different
|
|
351
|
+
* from this.* because your function may be called after receiveProps but before
|
|
352
|
+
* shouldComponentUpdate, and this new state, props, and context will not yet be
|
|
353
|
+
* assigned to this.
|
|
354
|
+
*
|
|
355
|
+
* @param {object|function} partialState Next partial state or function to
|
|
356
|
+
* produce next partial state to be merged with current state.
|
|
357
|
+
* @param {?function} callback Called after state is updated.
|
|
358
|
+
* @final
|
|
359
|
+
* @protected
|
|
360
|
+
*/
|
|
361
|
+
ReactComponent.prototype.setState = function (partialState, callback) {
|
|
362
|
+
!(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? "development" !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : _prodInvariant('85') : void 0;
|
|
363
|
+
this.updater.enqueueSetState(this, partialState);
|
|
364
|
+
if (callback) {
|
|
365
|
+
this.updater.enqueueCallback(this, callback, 'setState');
|
|
366
|
+
}
|
|
367
|
+
};
|
|
368
|
+
|
|
369
|
+
/**
|
|
370
|
+
* Forces an update. This should only be invoked when it is known with
|
|
371
|
+
* certainty that we are **not** in a DOM transaction.
|
|
372
|
+
*
|
|
373
|
+
* You may want to call this when you know that some deeper aspect of the
|
|
374
|
+
* component's state has changed but `setState` was not called.
|
|
375
|
+
*
|
|
376
|
+
* This will not invoke `shouldComponentUpdate`, but it will invoke
|
|
377
|
+
* `componentWillUpdate` and `componentDidUpdate`.
|
|
378
|
+
*
|
|
379
|
+
* @param {?function} callback Called after update is complete.
|
|
380
|
+
* @final
|
|
381
|
+
* @protected
|
|
382
|
+
*/
|
|
383
|
+
ReactComponent.prototype.forceUpdate = function (callback) {
|
|
384
|
+
this.updater.enqueueForceUpdate(this);
|
|
385
|
+
if (callback) {
|
|
386
|
+
this.updater.enqueueCallback(this, callback, 'forceUpdate');
|
|
387
|
+
}
|
|
388
|
+
};
|
|
389
|
+
|
|
390
|
+
/**
|
|
391
|
+
* Deprecated APIs. These APIs used to exist on classic React classes but since
|
|
392
|
+
* we would like to deprecate them, we're not going to move them over to this
|
|
393
|
+
* modern base class. Instead, we define a getter that warns if it's accessed.
|
|
394
|
+
*/
|
|
395
|
+
if ("development" !== 'production') {
|
|
396
|
+
var deprecatedAPIs = {
|
|
397
|
+
isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],
|
|
398
|
+
replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']
|
|
399
|
+
};
|
|
400
|
+
var defineDeprecationWarning = function (methodName, info) {
|
|
401
|
+
if (canDefineProperty) {
|
|
402
|
+
Object.defineProperty(ReactComponent.prototype, methodName, {
|
|
403
|
+
get: function () {
|
|
404
|
+
lowPriorityWarning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);
|
|
405
|
+
return undefined;
|
|
406
|
+
}
|
|
407
|
+
});
|
|
408
|
+
}
|
|
409
|
+
};
|
|
410
|
+
for (var fnName in deprecatedAPIs) {
|
|
411
|
+
if (deprecatedAPIs.hasOwnProperty(fnName)) {
|
|
412
|
+
defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
/**
|
|
418
|
+
* Base class helpers for the updating state of a component.
|
|
419
|
+
*/
|
|
420
|
+
function ReactPureComponent(props, context, updater) {
|
|
421
|
+
// Duplicated from ReactComponent.
|
|
422
|
+
this.props = props;
|
|
423
|
+
this.context = context;
|
|
424
|
+
this.refs = emptyObject;
|
|
425
|
+
// We initialize the default updater but the real one gets injected by the
|
|
426
|
+
// renderer.
|
|
427
|
+
this.updater = updater || ReactNoopUpdateQueue;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
function ComponentDummy() {}
|
|
431
|
+
ComponentDummy.prototype = ReactComponent.prototype;
|
|
432
|
+
ReactPureComponent.prototype = new ComponentDummy();
|
|
433
|
+
ReactPureComponent.prototype.constructor = ReactPureComponent;
|
|
434
|
+
// Avoid an extra prototype jump for these methods.
|
|
435
|
+
_assign(ReactPureComponent.prototype, ReactComponent.prototype);
|
|
436
|
+
ReactPureComponent.prototype.isPureReactComponent = true;
|
|
437
|
+
|
|
438
|
+
module.exports = {
|
|
439
|
+
Component: ReactComponent,
|
|
440
|
+
PureComponent: ReactPureComponent
|
|
441
|
+
};
|
|
442
|
+
},{"12":12,"18":18,"23":23,"25":25,"29":29,"30":30,"32":32}],5:[function(_dereq_,module,exports){
|
|
443
|
+
/**
|
|
444
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
445
|
+
*
|
|
446
|
+
* This source code is licensed under the MIT license found in the
|
|
447
|
+
* LICENSE file in the root directory of this source tree.
|
|
287
448
|
*
|
|
288
449
|
*/
|
|
289
450
|
|
|
290
451
|
'use strict';
|
|
291
452
|
|
|
292
453
|
var PooledClass = _dereq_(2);
|
|
293
|
-
var ReactElement = _dereq_(
|
|
454
|
+
var ReactElement = _dereq_(9);
|
|
294
455
|
|
|
295
|
-
var emptyFunction = _dereq_(
|
|
456
|
+
var emptyFunction = _dereq_(28);
|
|
296
457
|
var traverseAllChildren = _dereq_(26);
|
|
297
458
|
|
|
298
459
|
var twoArgumentPooler = PooledClass.twoArgumentPooler;
|
|
@@ -467,936 +628,93 @@ var ReactChildren = {
|
|
|
467
628
|
};
|
|
468
629
|
|
|
469
630
|
module.exports = ReactChildren;
|
|
470
|
-
},{"
|
|
631
|
+
},{"2":2,"26":26,"28":28,"9":9}],6:[function(_dereq_,module,exports){
|
|
471
632
|
/**
|
|
472
|
-
* Copyright
|
|
473
|
-
* All rights reserved.
|
|
633
|
+
* Copyright (c) 2016-present, Facebook, Inc.
|
|
474
634
|
*
|
|
475
|
-
* This source code is licensed under the
|
|
476
|
-
* LICENSE file in the root directory of this source tree.
|
|
477
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
635
|
+
* This source code is licensed under the MIT license found in the
|
|
636
|
+
* LICENSE file in the root directory of this source tree.
|
|
478
637
|
*
|
|
638
|
+
*
|
|
479
639
|
*/
|
|
480
640
|
|
|
481
641
|
'use strict';
|
|
482
642
|
|
|
483
|
-
var _prodInvariant = _dereq_(25)
|
|
484
|
-
_assign = _dereq_(31);
|
|
485
|
-
|
|
486
|
-
var ReactComponent = _dereq_(6);
|
|
487
|
-
var ReactElement = _dereq_(10);
|
|
488
|
-
var ReactPropTypeLocationNames = _dereq_(14);
|
|
489
|
-
var ReactNoopUpdateQueue = _dereq_(13);
|
|
643
|
+
var _prodInvariant = _dereq_(25);
|
|
490
644
|
|
|
491
|
-
var
|
|
492
|
-
var invariant = _dereq_(29);
|
|
493
|
-
var warning = _dereq_(30);
|
|
645
|
+
var ReactCurrentOwner = _dereq_(7);
|
|
494
646
|
|
|
495
|
-
var
|
|
647
|
+
var invariant = _dereq_(30);
|
|
648
|
+
var warning = _dereq_(31);
|
|
496
649
|
|
|
497
|
-
|
|
498
|
-
//
|
|
499
|
-
|
|
500
|
-
|
|
650
|
+
function isNative(fn) {
|
|
651
|
+
// Based on isNative() from Lodash
|
|
652
|
+
var funcToString = Function.prototype.toString;
|
|
653
|
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
654
|
+
var reIsNative = RegExp('^' + funcToString
|
|
655
|
+
// Take an example native function source for comparison
|
|
656
|
+
.call(hasOwnProperty
|
|
657
|
+
// Strip regex characters so we can use it for regex
|
|
658
|
+
).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&'
|
|
659
|
+
// Remove hasOwnProperty from the template to make it generic
|
|
660
|
+
).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$');
|
|
661
|
+
try {
|
|
662
|
+
var source = funcToString.call(fn);
|
|
663
|
+
return reIsNative.test(source);
|
|
664
|
+
} catch (err) {
|
|
665
|
+
return false;
|
|
666
|
+
}
|
|
501
667
|
}
|
|
502
668
|
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
669
|
+
var canUseCollections =
|
|
670
|
+
// Array.from
|
|
671
|
+
typeof Array.from === 'function' &&
|
|
672
|
+
// Map
|
|
673
|
+
typeof Map === 'function' && isNative(Map) &&
|
|
674
|
+
// Map.prototype.keys
|
|
675
|
+
Map.prototype != null && typeof Map.prototype.keys === 'function' && isNative(Map.prototype.keys) &&
|
|
676
|
+
// Set
|
|
677
|
+
typeof Set === 'function' && isNative(Set) &&
|
|
678
|
+
// Set.prototype.keys
|
|
679
|
+
Set.prototype != null && typeof Set.prototype.keys === 'function' && isNative(Set.prototype.keys);
|
|
506
680
|
|
|
681
|
+
var setItem;
|
|
682
|
+
var getItem;
|
|
683
|
+
var removeItem;
|
|
684
|
+
var getItemIDs;
|
|
685
|
+
var addRoot;
|
|
686
|
+
var removeRoot;
|
|
687
|
+
var getRootIDs;
|
|
507
688
|
|
|
508
|
-
|
|
689
|
+
if (canUseCollections) {
|
|
690
|
+
var itemMap = new Map();
|
|
691
|
+
var rootIDSet = new Set();
|
|
509
692
|
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
* });
|
|
523
|
-
*
|
|
524
|
-
* The class specification supports a specific protocol of methods that have
|
|
525
|
-
* special meaning (e.g. `render`). See `ReactClassInterface` for
|
|
526
|
-
* more the comprehensive protocol. Any other properties and methods in the
|
|
527
|
-
* class specification will be available on the prototype.
|
|
528
|
-
*
|
|
529
|
-
* @interface ReactClassInterface
|
|
530
|
-
* @internal
|
|
531
|
-
*/
|
|
532
|
-
var ReactClassInterface = {
|
|
693
|
+
setItem = function (id, item) {
|
|
694
|
+
itemMap.set(id, item);
|
|
695
|
+
};
|
|
696
|
+
getItem = function (id) {
|
|
697
|
+
return itemMap.get(id);
|
|
698
|
+
};
|
|
699
|
+
removeItem = function (id) {
|
|
700
|
+
itemMap['delete'](id);
|
|
701
|
+
};
|
|
702
|
+
getItemIDs = function () {
|
|
703
|
+
return Array.from(itemMap.keys());
|
|
704
|
+
};
|
|
533
705
|
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
* @type {object}
|
|
547
|
-
* @optional
|
|
548
|
-
*/
|
|
549
|
-
statics: 'DEFINE_MANY',
|
|
550
|
-
|
|
551
|
-
/**
|
|
552
|
-
* Definition of prop types for this component.
|
|
553
|
-
*
|
|
554
|
-
* @type {object}
|
|
555
|
-
* @optional
|
|
556
|
-
*/
|
|
557
|
-
propTypes: 'DEFINE_MANY',
|
|
558
|
-
|
|
559
|
-
/**
|
|
560
|
-
* Definition of context types for this component.
|
|
561
|
-
*
|
|
562
|
-
* @type {object}
|
|
563
|
-
* @optional
|
|
564
|
-
*/
|
|
565
|
-
contextTypes: 'DEFINE_MANY',
|
|
566
|
-
|
|
567
|
-
/**
|
|
568
|
-
* Definition of context types this component sets for its children.
|
|
569
|
-
*
|
|
570
|
-
* @type {object}
|
|
571
|
-
* @optional
|
|
572
|
-
*/
|
|
573
|
-
childContextTypes: 'DEFINE_MANY',
|
|
574
|
-
|
|
575
|
-
// ==== Definition methods ====
|
|
576
|
-
|
|
577
|
-
/**
|
|
578
|
-
* Invoked when the component is mounted. Values in the mapping will be set on
|
|
579
|
-
* `this.props` if that prop is not specified (i.e. using an `in` check).
|
|
580
|
-
*
|
|
581
|
-
* This method is invoked before `getInitialState` and therefore cannot rely
|
|
582
|
-
* on `this.state` or use `this.setState`.
|
|
583
|
-
*
|
|
584
|
-
* @return {object}
|
|
585
|
-
* @optional
|
|
586
|
-
*/
|
|
587
|
-
getDefaultProps: 'DEFINE_MANY_MERGED',
|
|
588
|
-
|
|
589
|
-
/**
|
|
590
|
-
* Invoked once before the component is mounted. The return value will be used
|
|
591
|
-
* as the initial value of `this.state`.
|
|
592
|
-
*
|
|
593
|
-
* getInitialState: function() {
|
|
594
|
-
* return {
|
|
595
|
-
* isOn: false,
|
|
596
|
-
* fooBaz: new BazFoo()
|
|
597
|
-
* }
|
|
598
|
-
* }
|
|
599
|
-
*
|
|
600
|
-
* @return {object}
|
|
601
|
-
* @optional
|
|
602
|
-
*/
|
|
603
|
-
getInitialState: 'DEFINE_MANY_MERGED',
|
|
604
|
-
|
|
605
|
-
/**
|
|
606
|
-
* @return {object}
|
|
607
|
-
* @optional
|
|
608
|
-
*/
|
|
609
|
-
getChildContext: 'DEFINE_MANY_MERGED',
|
|
610
|
-
|
|
611
|
-
/**
|
|
612
|
-
* Uses props from `this.props` and state from `this.state` to render the
|
|
613
|
-
* structure of the component.
|
|
614
|
-
*
|
|
615
|
-
* No guarantees are made about when or how often this method is invoked, so
|
|
616
|
-
* it must not have side effects.
|
|
617
|
-
*
|
|
618
|
-
* render: function() {
|
|
619
|
-
* var name = this.props.name;
|
|
620
|
-
* return <div>Hello, {name}!</div>;
|
|
621
|
-
* }
|
|
622
|
-
*
|
|
623
|
-
* @return {ReactComponent}
|
|
624
|
-
* @required
|
|
625
|
-
*/
|
|
626
|
-
render: 'DEFINE_ONCE',
|
|
627
|
-
|
|
628
|
-
// ==== Delegate methods ====
|
|
629
|
-
|
|
630
|
-
/**
|
|
631
|
-
* Invoked when the component is initially created and about to be mounted.
|
|
632
|
-
* This may have side effects, but any external subscriptions or data created
|
|
633
|
-
* by this method must be cleaned up in `componentWillUnmount`.
|
|
634
|
-
*
|
|
635
|
-
* @optional
|
|
636
|
-
*/
|
|
637
|
-
componentWillMount: 'DEFINE_MANY',
|
|
638
|
-
|
|
639
|
-
/**
|
|
640
|
-
* Invoked when the component has been mounted and has a DOM representation.
|
|
641
|
-
* However, there is no guarantee that the DOM node is in the document.
|
|
642
|
-
*
|
|
643
|
-
* Use this as an opportunity to operate on the DOM when the component has
|
|
644
|
-
* been mounted (initialized and rendered) for the first time.
|
|
645
|
-
*
|
|
646
|
-
* @param {DOMElement} rootNode DOM element representing the component.
|
|
647
|
-
* @optional
|
|
648
|
-
*/
|
|
649
|
-
componentDidMount: 'DEFINE_MANY',
|
|
650
|
-
|
|
651
|
-
/**
|
|
652
|
-
* Invoked before the component receives new props.
|
|
653
|
-
*
|
|
654
|
-
* Use this as an opportunity to react to a prop transition by updating the
|
|
655
|
-
* state using `this.setState`. Current props are accessed via `this.props`.
|
|
656
|
-
*
|
|
657
|
-
* componentWillReceiveProps: function(nextProps, nextContext) {
|
|
658
|
-
* this.setState({
|
|
659
|
-
* likesIncreasing: nextProps.likeCount > this.props.likeCount
|
|
660
|
-
* });
|
|
661
|
-
* }
|
|
662
|
-
*
|
|
663
|
-
* NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop
|
|
664
|
-
* transition may cause a state change, but the opposite is not true. If you
|
|
665
|
-
* need it, you are probably looking for `componentWillUpdate`.
|
|
666
|
-
*
|
|
667
|
-
* @param {object} nextProps
|
|
668
|
-
* @optional
|
|
669
|
-
*/
|
|
670
|
-
componentWillReceiveProps: 'DEFINE_MANY',
|
|
671
|
-
|
|
672
|
-
/**
|
|
673
|
-
* Invoked while deciding if the component should be updated as a result of
|
|
674
|
-
* receiving new props, state and/or context.
|
|
675
|
-
*
|
|
676
|
-
* Use this as an opportunity to `return false` when you're certain that the
|
|
677
|
-
* transition to the new props/state/context will not require a component
|
|
678
|
-
* update.
|
|
679
|
-
*
|
|
680
|
-
* shouldComponentUpdate: function(nextProps, nextState, nextContext) {
|
|
681
|
-
* return !equal(nextProps, this.props) ||
|
|
682
|
-
* !equal(nextState, this.state) ||
|
|
683
|
-
* !equal(nextContext, this.context);
|
|
684
|
-
* }
|
|
685
|
-
*
|
|
686
|
-
* @param {object} nextProps
|
|
687
|
-
* @param {?object} nextState
|
|
688
|
-
* @param {?object} nextContext
|
|
689
|
-
* @return {boolean} True if the component should update.
|
|
690
|
-
* @optional
|
|
691
|
-
*/
|
|
692
|
-
shouldComponentUpdate: 'DEFINE_ONCE',
|
|
693
|
-
|
|
694
|
-
/**
|
|
695
|
-
* Invoked when the component is about to update due to a transition from
|
|
696
|
-
* `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`
|
|
697
|
-
* and `nextContext`.
|
|
698
|
-
*
|
|
699
|
-
* Use this as an opportunity to perform preparation before an update occurs.
|
|
700
|
-
*
|
|
701
|
-
* NOTE: You **cannot** use `this.setState()` in this method.
|
|
702
|
-
*
|
|
703
|
-
* @param {object} nextProps
|
|
704
|
-
* @param {?object} nextState
|
|
705
|
-
* @param {?object} nextContext
|
|
706
|
-
* @param {ReactReconcileTransaction} transaction
|
|
707
|
-
* @optional
|
|
708
|
-
*/
|
|
709
|
-
componentWillUpdate: 'DEFINE_MANY',
|
|
710
|
-
|
|
711
|
-
/**
|
|
712
|
-
* Invoked when the component's DOM representation has been updated.
|
|
713
|
-
*
|
|
714
|
-
* Use this as an opportunity to operate on the DOM when the component has
|
|
715
|
-
* been updated.
|
|
716
|
-
*
|
|
717
|
-
* @param {object} prevProps
|
|
718
|
-
* @param {?object} prevState
|
|
719
|
-
* @param {?object} prevContext
|
|
720
|
-
* @param {DOMElement} rootNode DOM element representing the component.
|
|
721
|
-
* @optional
|
|
722
|
-
*/
|
|
723
|
-
componentDidUpdate: 'DEFINE_MANY',
|
|
724
|
-
|
|
725
|
-
/**
|
|
726
|
-
* Invoked when the component is about to be removed from its parent and have
|
|
727
|
-
* its DOM representation destroyed.
|
|
728
|
-
*
|
|
729
|
-
* Use this as an opportunity to deallocate any external resources.
|
|
730
|
-
*
|
|
731
|
-
* NOTE: There is no `componentDidUnmount` since your component will have been
|
|
732
|
-
* destroyed by that point.
|
|
733
|
-
*
|
|
734
|
-
* @optional
|
|
735
|
-
*/
|
|
736
|
-
componentWillUnmount: 'DEFINE_MANY',
|
|
737
|
-
|
|
738
|
-
// ==== Advanced methods ====
|
|
739
|
-
|
|
740
|
-
/**
|
|
741
|
-
* Updates the component's currently mounted DOM representation.
|
|
742
|
-
*
|
|
743
|
-
* By default, this implements React's rendering and reconciliation algorithm.
|
|
744
|
-
* Sophisticated clients may wish to override this.
|
|
745
|
-
*
|
|
746
|
-
* @param {ReactReconcileTransaction} transaction
|
|
747
|
-
* @internal
|
|
748
|
-
* @overridable
|
|
749
|
-
*/
|
|
750
|
-
updateComponent: 'OVERRIDE_BASE'
|
|
751
|
-
|
|
752
|
-
};
|
|
753
|
-
|
|
754
|
-
/**
|
|
755
|
-
* Mapping from class specification keys to special processing functions.
|
|
756
|
-
*
|
|
757
|
-
* Although these are declared like instance properties in the specification
|
|
758
|
-
* when defining classes using `React.createClass`, they are actually static
|
|
759
|
-
* and are accessible on the constructor instead of the prototype. Despite
|
|
760
|
-
* being static, they must be defined outside of the "statics" key under
|
|
761
|
-
* which all other static methods are defined.
|
|
762
|
-
*/
|
|
763
|
-
var RESERVED_SPEC_KEYS = {
|
|
764
|
-
displayName: function (Constructor, displayName) {
|
|
765
|
-
Constructor.displayName = displayName;
|
|
766
|
-
},
|
|
767
|
-
mixins: function (Constructor, mixins) {
|
|
768
|
-
if (mixins) {
|
|
769
|
-
for (var i = 0; i < mixins.length; i++) {
|
|
770
|
-
mixSpecIntoComponent(Constructor, mixins[i]);
|
|
771
|
-
}
|
|
772
|
-
}
|
|
773
|
-
},
|
|
774
|
-
childContextTypes: function (Constructor, childContextTypes) {
|
|
775
|
-
if ("development" !== 'production') {
|
|
776
|
-
validateTypeDef(Constructor, childContextTypes, 'childContext');
|
|
777
|
-
}
|
|
778
|
-
Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, childContextTypes);
|
|
779
|
-
},
|
|
780
|
-
contextTypes: function (Constructor, contextTypes) {
|
|
781
|
-
if ("development" !== 'production') {
|
|
782
|
-
validateTypeDef(Constructor, contextTypes, 'context');
|
|
783
|
-
}
|
|
784
|
-
Constructor.contextTypes = _assign({}, Constructor.contextTypes, contextTypes);
|
|
785
|
-
},
|
|
786
|
-
/**
|
|
787
|
-
* Special case getDefaultProps which should move into statics but requires
|
|
788
|
-
* automatic merging.
|
|
789
|
-
*/
|
|
790
|
-
getDefaultProps: function (Constructor, getDefaultProps) {
|
|
791
|
-
if (Constructor.getDefaultProps) {
|
|
792
|
-
Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps);
|
|
793
|
-
} else {
|
|
794
|
-
Constructor.getDefaultProps = getDefaultProps;
|
|
795
|
-
}
|
|
796
|
-
},
|
|
797
|
-
propTypes: function (Constructor, propTypes) {
|
|
798
|
-
if ("development" !== 'production') {
|
|
799
|
-
validateTypeDef(Constructor, propTypes, 'prop');
|
|
800
|
-
}
|
|
801
|
-
Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);
|
|
802
|
-
},
|
|
803
|
-
statics: function (Constructor, statics) {
|
|
804
|
-
mixStaticSpecIntoComponent(Constructor, statics);
|
|
805
|
-
},
|
|
806
|
-
autobind: function () {} };
|
|
807
|
-
|
|
808
|
-
function validateTypeDef(Constructor, typeDef, location) {
|
|
809
|
-
for (var propName in typeDef) {
|
|
810
|
-
if (typeDef.hasOwnProperty(propName)) {
|
|
811
|
-
// use a warning instead of an invariant so components
|
|
812
|
-
// don't show up in prod but only in __DEV__
|
|
813
|
-
"development" !== 'production' ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : void 0;
|
|
814
|
-
}
|
|
815
|
-
}
|
|
816
|
-
}
|
|
817
|
-
|
|
818
|
-
function validateMethodOverride(isAlreadyDefined, name) {
|
|
819
|
-
var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null;
|
|
820
|
-
|
|
821
|
-
// Disallow overriding of base class methods unless explicitly allowed.
|
|
822
|
-
if (ReactClassMixin.hasOwnProperty(name)) {
|
|
823
|
-
!(specPolicy === 'OVERRIDE_BASE') ? "development" !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.', name) : _prodInvariant('73', name) : void 0;
|
|
824
|
-
}
|
|
825
|
-
|
|
826
|
-
// Disallow defining methods more than once unless explicitly allowed.
|
|
827
|
-
if (isAlreadyDefined) {
|
|
828
|
-
!(specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED') ? "development" !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.', name) : _prodInvariant('74', name) : void 0;
|
|
829
|
-
}
|
|
830
|
-
}
|
|
831
|
-
|
|
832
|
-
/**
|
|
833
|
-
* Mixin helper which handles policy validation and reserved
|
|
834
|
-
* specification keys when building React classes.
|
|
835
|
-
*/
|
|
836
|
-
function mixSpecIntoComponent(Constructor, spec) {
|
|
837
|
-
if (!spec) {
|
|
838
|
-
if ("development" !== 'production') {
|
|
839
|
-
var typeofSpec = typeof spec;
|
|
840
|
-
var isMixinValid = typeofSpec === 'object' && spec !== null;
|
|
841
|
-
|
|
842
|
-
"development" !== 'production' ? warning(isMixinValid, '%s: You\'re attempting to include a mixin that is either null ' + 'or not an object. Check the mixins included by the component, ' + 'as well as any mixins they include themselves. ' + 'Expected object but got %s.', Constructor.displayName || 'ReactClass', spec === null ? null : typeofSpec) : void 0;
|
|
843
|
-
}
|
|
844
|
-
|
|
845
|
-
return;
|
|
846
|
-
}
|
|
847
|
-
|
|
848
|
-
!(typeof spec !== 'function') ? "development" !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to use a component class or function as a mixin. Instead, just use a regular object.') : _prodInvariant('75') : void 0;
|
|
849
|
-
!!ReactElement.isValidElement(spec) ? "development" !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to use a component as a mixin. Instead, just use a regular object.') : _prodInvariant('76') : void 0;
|
|
850
|
-
|
|
851
|
-
var proto = Constructor.prototype;
|
|
852
|
-
var autoBindPairs = proto.__reactAutoBindPairs;
|
|
853
|
-
|
|
854
|
-
// By handling mixins before any other properties, we ensure the same
|
|
855
|
-
// chaining order is applied to methods with DEFINE_MANY policy, whether
|
|
856
|
-
// mixins are listed before or after these methods in the spec.
|
|
857
|
-
if (spec.hasOwnProperty(MIXINS_KEY)) {
|
|
858
|
-
RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);
|
|
859
|
-
}
|
|
860
|
-
|
|
861
|
-
for (var name in spec) {
|
|
862
|
-
if (!spec.hasOwnProperty(name)) {
|
|
863
|
-
continue;
|
|
864
|
-
}
|
|
865
|
-
|
|
866
|
-
if (name === MIXINS_KEY) {
|
|
867
|
-
// We have already handled mixins in a special case above.
|
|
868
|
-
continue;
|
|
869
|
-
}
|
|
870
|
-
|
|
871
|
-
var property = spec[name];
|
|
872
|
-
var isAlreadyDefined = proto.hasOwnProperty(name);
|
|
873
|
-
validateMethodOverride(isAlreadyDefined, name);
|
|
874
|
-
|
|
875
|
-
if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {
|
|
876
|
-
RESERVED_SPEC_KEYS[name](Constructor, property);
|
|
877
|
-
} else {
|
|
878
|
-
// Setup methods on prototype:
|
|
879
|
-
// The following member methods should not be automatically bound:
|
|
880
|
-
// 1. Expected ReactClass methods (in the "interface").
|
|
881
|
-
// 2. Overridden methods (that were mixed in).
|
|
882
|
-
var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);
|
|
883
|
-
var isFunction = typeof property === 'function';
|
|
884
|
-
var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false;
|
|
885
|
-
|
|
886
|
-
if (shouldAutoBind) {
|
|
887
|
-
autoBindPairs.push(name, property);
|
|
888
|
-
proto[name] = property;
|
|
889
|
-
} else {
|
|
890
|
-
if (isAlreadyDefined) {
|
|
891
|
-
var specPolicy = ReactClassInterface[name];
|
|
892
|
-
|
|
893
|
-
// These cases should already be caught by validateMethodOverride.
|
|
894
|
-
!(isReactClassMethod && (specPolicy === 'DEFINE_MANY_MERGED' || specPolicy === 'DEFINE_MANY')) ? "development" !== 'production' ? invariant(false, 'ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.', specPolicy, name) : _prodInvariant('77', specPolicy, name) : void 0;
|
|
895
|
-
|
|
896
|
-
// For methods which are defined more than once, call the existing
|
|
897
|
-
// methods before calling the new property, merging if appropriate.
|
|
898
|
-
if (specPolicy === 'DEFINE_MANY_MERGED') {
|
|
899
|
-
proto[name] = createMergedResultFunction(proto[name], property);
|
|
900
|
-
} else if (specPolicy === 'DEFINE_MANY') {
|
|
901
|
-
proto[name] = createChainedFunction(proto[name], property);
|
|
902
|
-
}
|
|
903
|
-
} else {
|
|
904
|
-
proto[name] = property;
|
|
905
|
-
if ("development" !== 'production') {
|
|
906
|
-
// Add verbose displayName to the function, which helps when looking
|
|
907
|
-
// at profiling tools.
|
|
908
|
-
if (typeof property === 'function' && spec.displayName) {
|
|
909
|
-
proto[name].displayName = spec.displayName + '_' + name;
|
|
910
|
-
}
|
|
911
|
-
}
|
|
912
|
-
}
|
|
913
|
-
}
|
|
914
|
-
}
|
|
915
|
-
}
|
|
916
|
-
}
|
|
917
|
-
|
|
918
|
-
function mixStaticSpecIntoComponent(Constructor, statics) {
|
|
919
|
-
if (!statics) {
|
|
920
|
-
return;
|
|
921
|
-
}
|
|
922
|
-
for (var name in statics) {
|
|
923
|
-
var property = statics[name];
|
|
924
|
-
if (!statics.hasOwnProperty(name)) {
|
|
925
|
-
continue;
|
|
926
|
-
}
|
|
927
|
-
|
|
928
|
-
var isReserved = name in RESERVED_SPEC_KEYS;
|
|
929
|
-
!!isReserved ? "development" !== 'production' ? invariant(false, 'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.', name) : _prodInvariant('78', name) : void 0;
|
|
930
|
-
|
|
931
|
-
var isInherited = name in Constructor;
|
|
932
|
-
!!isInherited ? "development" !== 'production' ? invariant(false, 'ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.', name) : _prodInvariant('79', name) : void 0;
|
|
933
|
-
Constructor[name] = property;
|
|
934
|
-
}
|
|
935
|
-
}
|
|
936
|
-
|
|
937
|
-
/**
|
|
938
|
-
* Merge two objects, but throw if both contain the same key.
|
|
939
|
-
*
|
|
940
|
-
* @param {object} one The first object, which is mutated.
|
|
941
|
-
* @param {object} two The second object
|
|
942
|
-
* @return {object} one after it has been mutated to contain everything in two.
|
|
943
|
-
*/
|
|
944
|
-
function mergeIntoWithNoDuplicateKeys(one, two) {
|
|
945
|
-
!(one && two && typeof one === 'object' && typeof two === 'object') ? "development" !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : _prodInvariant('80') : void 0;
|
|
946
|
-
|
|
947
|
-
for (var key in two) {
|
|
948
|
-
if (two.hasOwnProperty(key)) {
|
|
949
|
-
!(one[key] === undefined) ? "development" !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.', key) : _prodInvariant('81', key) : void 0;
|
|
950
|
-
one[key] = two[key];
|
|
951
|
-
}
|
|
952
|
-
}
|
|
953
|
-
return one;
|
|
954
|
-
}
|
|
955
|
-
|
|
956
|
-
/**
|
|
957
|
-
* Creates a function that invokes two functions and merges their return values.
|
|
958
|
-
*
|
|
959
|
-
* @param {function} one Function to invoke first.
|
|
960
|
-
* @param {function} two Function to invoke second.
|
|
961
|
-
* @return {function} Function that invokes the two argument functions.
|
|
962
|
-
* @private
|
|
963
|
-
*/
|
|
964
|
-
function createMergedResultFunction(one, two) {
|
|
965
|
-
return function mergedResult() {
|
|
966
|
-
var a = one.apply(this, arguments);
|
|
967
|
-
var b = two.apply(this, arguments);
|
|
968
|
-
if (a == null) {
|
|
969
|
-
return b;
|
|
970
|
-
} else if (b == null) {
|
|
971
|
-
return a;
|
|
972
|
-
}
|
|
973
|
-
var c = {};
|
|
974
|
-
mergeIntoWithNoDuplicateKeys(c, a);
|
|
975
|
-
mergeIntoWithNoDuplicateKeys(c, b);
|
|
976
|
-
return c;
|
|
977
|
-
};
|
|
978
|
-
}
|
|
979
|
-
|
|
980
|
-
/**
|
|
981
|
-
* Creates a function that invokes two functions and ignores their return vales.
|
|
982
|
-
*
|
|
983
|
-
* @param {function} one Function to invoke first.
|
|
984
|
-
* @param {function} two Function to invoke second.
|
|
985
|
-
* @return {function} Function that invokes the two argument functions.
|
|
986
|
-
* @private
|
|
987
|
-
*/
|
|
988
|
-
function createChainedFunction(one, two) {
|
|
989
|
-
return function chainedFunction() {
|
|
990
|
-
one.apply(this, arguments);
|
|
991
|
-
two.apply(this, arguments);
|
|
992
|
-
};
|
|
993
|
-
}
|
|
994
|
-
|
|
995
|
-
/**
|
|
996
|
-
* Binds a method to the component.
|
|
997
|
-
*
|
|
998
|
-
* @param {object} component Component whose method is going to be bound.
|
|
999
|
-
* @param {function} method Method to be bound.
|
|
1000
|
-
* @return {function} The bound method.
|
|
1001
|
-
*/
|
|
1002
|
-
function bindAutoBindMethod(component, method) {
|
|
1003
|
-
var boundMethod = method.bind(component);
|
|
1004
|
-
if ("development" !== 'production') {
|
|
1005
|
-
boundMethod.__reactBoundContext = component;
|
|
1006
|
-
boundMethod.__reactBoundMethod = method;
|
|
1007
|
-
boundMethod.__reactBoundArguments = null;
|
|
1008
|
-
var componentName = component.constructor.displayName;
|
|
1009
|
-
var _bind = boundMethod.bind;
|
|
1010
|
-
boundMethod.bind = function (newThis) {
|
|
1011
|
-
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
1012
|
-
args[_key - 1] = arguments[_key];
|
|
1013
|
-
}
|
|
1014
|
-
|
|
1015
|
-
// User is trying to bind() an autobound method; we effectively will
|
|
1016
|
-
// ignore the value of "this" that the user is trying to use, so
|
|
1017
|
-
// let's warn.
|
|
1018
|
-
if (newThis !== component && newThis !== null) {
|
|
1019
|
-
"development" !== 'production' ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : void 0;
|
|
1020
|
-
} else if (!args.length) {
|
|
1021
|
-
"development" !== 'production' ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : void 0;
|
|
1022
|
-
return boundMethod;
|
|
1023
|
-
}
|
|
1024
|
-
var reboundMethod = _bind.apply(boundMethod, arguments);
|
|
1025
|
-
reboundMethod.__reactBoundContext = component;
|
|
1026
|
-
reboundMethod.__reactBoundMethod = method;
|
|
1027
|
-
reboundMethod.__reactBoundArguments = args;
|
|
1028
|
-
return reboundMethod;
|
|
1029
|
-
};
|
|
1030
|
-
}
|
|
1031
|
-
return boundMethod;
|
|
1032
|
-
}
|
|
1033
|
-
|
|
1034
|
-
/**
|
|
1035
|
-
* Binds all auto-bound methods in a component.
|
|
1036
|
-
*
|
|
1037
|
-
* @param {object} component Component whose method is going to be bound.
|
|
1038
|
-
*/
|
|
1039
|
-
function bindAutoBindMethods(component) {
|
|
1040
|
-
var pairs = component.__reactAutoBindPairs;
|
|
1041
|
-
for (var i = 0; i < pairs.length; i += 2) {
|
|
1042
|
-
var autoBindKey = pairs[i];
|
|
1043
|
-
var method = pairs[i + 1];
|
|
1044
|
-
component[autoBindKey] = bindAutoBindMethod(component, method);
|
|
1045
|
-
}
|
|
1046
|
-
}
|
|
1047
|
-
|
|
1048
|
-
/**
|
|
1049
|
-
* Add more to the ReactClass base class. These are all legacy features and
|
|
1050
|
-
* therefore not already part of the modern ReactComponent.
|
|
1051
|
-
*/
|
|
1052
|
-
var ReactClassMixin = {
|
|
1053
|
-
|
|
1054
|
-
/**
|
|
1055
|
-
* TODO: This will be deprecated because state should always keep a consistent
|
|
1056
|
-
* type signature and the only use case for this, is to avoid that.
|
|
1057
|
-
*/
|
|
1058
|
-
replaceState: function (newState, callback) {
|
|
1059
|
-
this.updater.enqueueReplaceState(this, newState);
|
|
1060
|
-
if (callback) {
|
|
1061
|
-
this.updater.enqueueCallback(this, callback, 'replaceState');
|
|
1062
|
-
}
|
|
1063
|
-
},
|
|
1064
|
-
|
|
1065
|
-
/**
|
|
1066
|
-
* Checks whether or not this composite component is mounted.
|
|
1067
|
-
* @return {boolean} True if mounted, false otherwise.
|
|
1068
|
-
* @protected
|
|
1069
|
-
* @final
|
|
1070
|
-
*/
|
|
1071
|
-
isMounted: function () {
|
|
1072
|
-
return this.updater.isMounted(this);
|
|
1073
|
-
}
|
|
1074
|
-
};
|
|
1075
|
-
|
|
1076
|
-
var ReactClassComponent = function () {};
|
|
1077
|
-
_assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin);
|
|
1078
|
-
|
|
1079
|
-
var didWarnDeprecated = false;
|
|
1080
|
-
|
|
1081
|
-
/**
|
|
1082
|
-
* Module for creating composite components.
|
|
1083
|
-
*
|
|
1084
|
-
* @class ReactClass
|
|
1085
|
-
*/
|
|
1086
|
-
var ReactClass = {
|
|
1087
|
-
|
|
1088
|
-
/**
|
|
1089
|
-
* Creates a composite component class given a class specification.
|
|
1090
|
-
* See https://facebook.github.io/react/docs/top-level-api.html#react.createclass
|
|
1091
|
-
*
|
|
1092
|
-
* @param {object} spec Class specification (which must define `render`).
|
|
1093
|
-
* @return {function} Component constructor function.
|
|
1094
|
-
* @public
|
|
1095
|
-
*/
|
|
1096
|
-
createClass: function (spec) {
|
|
1097
|
-
if ("development" !== 'production') {
|
|
1098
|
-
"development" !== 'production' ? warning(didWarnDeprecated, '%s: React.createClass is deprecated and will be removed in version 16. ' + 'Use plain JavaScript classes instead. If you\'re not yet ready to ' + 'migrate, create-react-class is available on npm as a ' + 'drop-in replacement.', spec && spec.displayName || 'A Component') : void 0;
|
|
1099
|
-
didWarnDeprecated = true;
|
|
1100
|
-
}
|
|
1101
|
-
|
|
1102
|
-
// To keep our warnings more understandable, we'll use a little hack here to
|
|
1103
|
-
// ensure that Constructor.name !== 'Constructor'. This makes sure we don't
|
|
1104
|
-
// unnecessarily identify a class without displayName as 'Constructor'.
|
|
1105
|
-
var Constructor = identity(function (props, context, updater) {
|
|
1106
|
-
// This constructor gets overridden by mocks. The argument is used
|
|
1107
|
-
// by mocks to assert on what gets mounted.
|
|
1108
|
-
|
|
1109
|
-
if ("development" !== 'production') {
|
|
1110
|
-
"development" !== 'production' ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : void 0;
|
|
1111
|
-
}
|
|
1112
|
-
|
|
1113
|
-
// Wire up auto-binding
|
|
1114
|
-
if (this.__reactAutoBindPairs.length) {
|
|
1115
|
-
bindAutoBindMethods(this);
|
|
1116
|
-
}
|
|
1117
|
-
|
|
1118
|
-
this.props = props;
|
|
1119
|
-
this.context = context;
|
|
1120
|
-
this.refs = emptyObject;
|
|
1121
|
-
this.updater = updater || ReactNoopUpdateQueue;
|
|
1122
|
-
|
|
1123
|
-
this.state = null;
|
|
1124
|
-
|
|
1125
|
-
// ReactClasses doesn't have constructors. Instead, they use the
|
|
1126
|
-
// getInitialState and componentWillMount methods for initialization.
|
|
1127
|
-
|
|
1128
|
-
var initialState = this.getInitialState ? this.getInitialState() : null;
|
|
1129
|
-
if ("development" !== 'production') {
|
|
1130
|
-
// We allow auto-mocks to proceed as if they're returning null.
|
|
1131
|
-
if (initialState === undefined && this.getInitialState._isMockFunction) {
|
|
1132
|
-
// This is probably bad practice. Consider warning here and
|
|
1133
|
-
// deprecating this convenience.
|
|
1134
|
-
initialState = null;
|
|
1135
|
-
}
|
|
1136
|
-
}
|
|
1137
|
-
!(typeof initialState === 'object' && !Array.isArray(initialState)) ? "development" !== 'production' ? invariant(false, '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : _prodInvariant('82', Constructor.displayName || 'ReactCompositeComponent') : void 0;
|
|
1138
|
-
|
|
1139
|
-
this.state = initialState;
|
|
1140
|
-
});
|
|
1141
|
-
Constructor.prototype = new ReactClassComponent();
|
|
1142
|
-
Constructor.prototype.constructor = Constructor;
|
|
1143
|
-
Constructor.prototype.__reactAutoBindPairs = [];
|
|
1144
|
-
|
|
1145
|
-
injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));
|
|
1146
|
-
|
|
1147
|
-
mixSpecIntoComponent(Constructor, spec);
|
|
1148
|
-
|
|
1149
|
-
// Initialize the defaultProps property after all mixins have been merged.
|
|
1150
|
-
if (Constructor.getDefaultProps) {
|
|
1151
|
-
Constructor.defaultProps = Constructor.getDefaultProps();
|
|
1152
|
-
}
|
|
1153
|
-
|
|
1154
|
-
if ("development" !== 'production') {
|
|
1155
|
-
// This is a tag to indicate that the use of these method names is ok,
|
|
1156
|
-
// since it's used with createClass. If it's not, then it's likely a
|
|
1157
|
-
// mistake so we'll warn you to use the static property, property
|
|
1158
|
-
// initializer or constructor respectively.
|
|
1159
|
-
if (Constructor.getDefaultProps) {
|
|
1160
|
-
Constructor.getDefaultProps.isReactClassApproved = {};
|
|
1161
|
-
}
|
|
1162
|
-
if (Constructor.prototype.getInitialState) {
|
|
1163
|
-
Constructor.prototype.getInitialState.isReactClassApproved = {};
|
|
1164
|
-
}
|
|
1165
|
-
}
|
|
1166
|
-
|
|
1167
|
-
!Constructor.prototype.render ? "development" !== 'production' ? invariant(false, 'createClass(...): Class specification must implement a `render` method.') : _prodInvariant('83') : void 0;
|
|
1168
|
-
|
|
1169
|
-
if ("development" !== 'production') {
|
|
1170
|
-
"development" !== 'production' ? warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component') : void 0;
|
|
1171
|
-
"development" !== 'production' ? warning(!Constructor.prototype.componentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component') : void 0;
|
|
1172
|
-
}
|
|
1173
|
-
|
|
1174
|
-
// Reduce time spent doing lookups by setting these on the prototype.
|
|
1175
|
-
for (var methodName in ReactClassInterface) {
|
|
1176
|
-
if (!Constructor.prototype[methodName]) {
|
|
1177
|
-
Constructor.prototype[methodName] = null;
|
|
1178
|
-
}
|
|
1179
|
-
}
|
|
1180
|
-
|
|
1181
|
-
return Constructor;
|
|
1182
|
-
},
|
|
1183
|
-
|
|
1184
|
-
injection: {
|
|
1185
|
-
injectMixin: function (mixin) {
|
|
1186
|
-
injectedMixins.push(mixin);
|
|
1187
|
-
}
|
|
1188
|
-
}
|
|
1189
|
-
|
|
1190
|
-
};
|
|
1191
|
-
|
|
1192
|
-
module.exports = ReactClass;
|
|
1193
|
-
},{"10":10,"13":13,"14":14,"25":25,"28":28,"29":29,"30":30,"31":31,"6":6}],6:[function(_dereq_,module,exports){
|
|
1194
|
-
/**
|
|
1195
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
1196
|
-
* All rights reserved.
|
|
1197
|
-
*
|
|
1198
|
-
* This source code is licensed under the BSD-style license found in the
|
|
1199
|
-
* LICENSE file in the root directory of this source tree. An additional grant
|
|
1200
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
1201
|
-
*
|
|
1202
|
-
*/
|
|
1203
|
-
|
|
1204
|
-
'use strict';
|
|
1205
|
-
|
|
1206
|
-
var _prodInvariant = _dereq_(25);
|
|
1207
|
-
|
|
1208
|
-
var ReactNoopUpdateQueue = _dereq_(13);
|
|
1209
|
-
|
|
1210
|
-
var canDefineProperty = _dereq_(20);
|
|
1211
|
-
var emptyObject = _dereq_(28);
|
|
1212
|
-
var invariant = _dereq_(29);
|
|
1213
|
-
var warning = _dereq_(30);
|
|
1214
|
-
|
|
1215
|
-
/**
|
|
1216
|
-
* Base class helpers for the updating state of a component.
|
|
1217
|
-
*/
|
|
1218
|
-
function ReactComponent(props, context, updater) {
|
|
1219
|
-
this.props = props;
|
|
1220
|
-
this.context = context;
|
|
1221
|
-
this.refs = emptyObject;
|
|
1222
|
-
// We initialize the default updater but the real one gets injected by the
|
|
1223
|
-
// renderer.
|
|
1224
|
-
this.updater = updater || ReactNoopUpdateQueue;
|
|
1225
|
-
}
|
|
1226
|
-
|
|
1227
|
-
ReactComponent.prototype.isReactComponent = {};
|
|
1228
|
-
|
|
1229
|
-
/**
|
|
1230
|
-
* Sets a subset of the state. Always use this to mutate
|
|
1231
|
-
* state. You should treat `this.state` as immutable.
|
|
1232
|
-
*
|
|
1233
|
-
* There is no guarantee that `this.state` will be immediately updated, so
|
|
1234
|
-
* accessing `this.state` after calling this method may return the old value.
|
|
1235
|
-
*
|
|
1236
|
-
* There is no guarantee that calls to `setState` will run synchronously,
|
|
1237
|
-
* as they may eventually be batched together. You can provide an optional
|
|
1238
|
-
* callback that will be executed when the call to setState is actually
|
|
1239
|
-
* completed.
|
|
1240
|
-
*
|
|
1241
|
-
* When a function is provided to setState, it will be called at some point in
|
|
1242
|
-
* the future (not synchronously). It will be called with the up to date
|
|
1243
|
-
* component arguments (state, props, context). These values can be different
|
|
1244
|
-
* from this.* because your function may be called after receiveProps but before
|
|
1245
|
-
* shouldComponentUpdate, and this new state, props, and context will not yet be
|
|
1246
|
-
* assigned to this.
|
|
1247
|
-
*
|
|
1248
|
-
* @param {object|function} partialState Next partial state or function to
|
|
1249
|
-
* produce next partial state to be merged with current state.
|
|
1250
|
-
* @param {?function} callback Called after state is updated.
|
|
1251
|
-
* @final
|
|
1252
|
-
* @protected
|
|
1253
|
-
*/
|
|
1254
|
-
ReactComponent.prototype.setState = function (partialState, callback) {
|
|
1255
|
-
!(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? "development" !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : _prodInvariant('85') : void 0;
|
|
1256
|
-
this.updater.enqueueSetState(this, partialState);
|
|
1257
|
-
if (callback) {
|
|
1258
|
-
this.updater.enqueueCallback(this, callback, 'setState');
|
|
1259
|
-
}
|
|
1260
|
-
};
|
|
1261
|
-
|
|
1262
|
-
/**
|
|
1263
|
-
* Forces an update. This should only be invoked when it is known with
|
|
1264
|
-
* certainty that we are **not** in a DOM transaction.
|
|
1265
|
-
*
|
|
1266
|
-
* You may want to call this when you know that some deeper aspect of the
|
|
1267
|
-
* component's state has changed but `setState` was not called.
|
|
1268
|
-
*
|
|
1269
|
-
* This will not invoke `shouldComponentUpdate`, but it will invoke
|
|
1270
|
-
* `componentWillUpdate` and `componentDidUpdate`.
|
|
1271
|
-
*
|
|
1272
|
-
* @param {?function} callback Called after update is complete.
|
|
1273
|
-
* @final
|
|
1274
|
-
* @protected
|
|
1275
|
-
*/
|
|
1276
|
-
ReactComponent.prototype.forceUpdate = function (callback) {
|
|
1277
|
-
this.updater.enqueueForceUpdate(this);
|
|
1278
|
-
if (callback) {
|
|
1279
|
-
this.updater.enqueueCallback(this, callback, 'forceUpdate');
|
|
1280
|
-
}
|
|
1281
|
-
};
|
|
1282
|
-
|
|
1283
|
-
/**
|
|
1284
|
-
* Deprecated APIs. These APIs used to exist on classic React classes but since
|
|
1285
|
-
* we would like to deprecate them, we're not going to move them over to this
|
|
1286
|
-
* modern base class. Instead, we define a getter that warns if it's accessed.
|
|
1287
|
-
*/
|
|
1288
|
-
if ("development" !== 'production') {
|
|
1289
|
-
var deprecatedAPIs = {
|
|
1290
|
-
isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],
|
|
1291
|
-
replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']
|
|
1292
|
-
};
|
|
1293
|
-
var defineDeprecationWarning = function (methodName, info) {
|
|
1294
|
-
if (canDefineProperty) {
|
|
1295
|
-
Object.defineProperty(ReactComponent.prototype, methodName, {
|
|
1296
|
-
get: function () {
|
|
1297
|
-
"development" !== 'production' ? warning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]) : void 0;
|
|
1298
|
-
return undefined;
|
|
1299
|
-
}
|
|
1300
|
-
});
|
|
1301
|
-
}
|
|
1302
|
-
};
|
|
1303
|
-
for (var fnName in deprecatedAPIs) {
|
|
1304
|
-
if (deprecatedAPIs.hasOwnProperty(fnName)) {
|
|
1305
|
-
defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);
|
|
1306
|
-
}
|
|
1307
|
-
}
|
|
1308
|
-
}
|
|
1309
|
-
|
|
1310
|
-
module.exports = ReactComponent;
|
|
1311
|
-
},{"13":13,"20":20,"25":25,"28":28,"29":29,"30":30}],7:[function(_dereq_,module,exports){
|
|
1312
|
-
/**
|
|
1313
|
-
* Copyright 2016-present, Facebook, Inc.
|
|
1314
|
-
* All rights reserved.
|
|
1315
|
-
*
|
|
1316
|
-
* This source code is licensed under the BSD-style license found in the
|
|
1317
|
-
* LICENSE file in the root directory of this source tree. An additional grant
|
|
1318
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
1319
|
-
*
|
|
1320
|
-
*
|
|
1321
|
-
*/
|
|
1322
|
-
|
|
1323
|
-
'use strict';
|
|
1324
|
-
|
|
1325
|
-
var _prodInvariant = _dereq_(25);
|
|
1326
|
-
|
|
1327
|
-
var ReactCurrentOwner = _dereq_(8);
|
|
1328
|
-
|
|
1329
|
-
var invariant = _dereq_(29);
|
|
1330
|
-
var warning = _dereq_(30);
|
|
1331
|
-
|
|
1332
|
-
function isNative(fn) {
|
|
1333
|
-
// Based on isNative() from Lodash
|
|
1334
|
-
var funcToString = Function.prototype.toString;
|
|
1335
|
-
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
1336
|
-
var reIsNative = RegExp('^' + funcToString
|
|
1337
|
-
// Take an example native function source for comparison
|
|
1338
|
-
.call(hasOwnProperty)
|
|
1339
|
-
// Strip regex characters so we can use it for regex
|
|
1340
|
-
.replace(/[\\^$.*+?()[\]{}|]/g, '\\$&')
|
|
1341
|
-
// Remove hasOwnProperty from the template to make it generic
|
|
1342
|
-
.replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$');
|
|
1343
|
-
try {
|
|
1344
|
-
var source = funcToString.call(fn);
|
|
1345
|
-
return reIsNative.test(source);
|
|
1346
|
-
} catch (err) {
|
|
1347
|
-
return false;
|
|
1348
|
-
}
|
|
1349
|
-
}
|
|
1350
|
-
|
|
1351
|
-
var canUseCollections =
|
|
1352
|
-
// Array.from
|
|
1353
|
-
typeof Array.from === 'function' &&
|
|
1354
|
-
// Map
|
|
1355
|
-
typeof Map === 'function' && isNative(Map) &&
|
|
1356
|
-
// Map.prototype.keys
|
|
1357
|
-
Map.prototype != null && typeof Map.prototype.keys === 'function' && isNative(Map.prototype.keys) &&
|
|
1358
|
-
// Set
|
|
1359
|
-
typeof Set === 'function' && isNative(Set) &&
|
|
1360
|
-
// Set.prototype.keys
|
|
1361
|
-
Set.prototype != null && typeof Set.prototype.keys === 'function' && isNative(Set.prototype.keys);
|
|
1362
|
-
|
|
1363
|
-
var setItem;
|
|
1364
|
-
var getItem;
|
|
1365
|
-
var removeItem;
|
|
1366
|
-
var getItemIDs;
|
|
1367
|
-
var addRoot;
|
|
1368
|
-
var removeRoot;
|
|
1369
|
-
var getRootIDs;
|
|
1370
|
-
|
|
1371
|
-
if (canUseCollections) {
|
|
1372
|
-
var itemMap = new Map();
|
|
1373
|
-
var rootIDSet = new Set();
|
|
1374
|
-
|
|
1375
|
-
setItem = function (id, item) {
|
|
1376
|
-
itemMap.set(id, item);
|
|
1377
|
-
};
|
|
1378
|
-
getItem = function (id) {
|
|
1379
|
-
return itemMap.get(id);
|
|
1380
|
-
};
|
|
1381
|
-
removeItem = function (id) {
|
|
1382
|
-
itemMap['delete'](id);
|
|
1383
|
-
};
|
|
1384
|
-
getItemIDs = function () {
|
|
1385
|
-
return Array.from(itemMap.keys());
|
|
1386
|
-
};
|
|
1387
|
-
|
|
1388
|
-
addRoot = function (id) {
|
|
1389
|
-
rootIDSet.add(id);
|
|
1390
|
-
};
|
|
1391
|
-
removeRoot = function (id) {
|
|
1392
|
-
rootIDSet['delete'](id);
|
|
1393
|
-
};
|
|
1394
|
-
getRootIDs = function () {
|
|
1395
|
-
return Array.from(rootIDSet.keys());
|
|
1396
|
-
};
|
|
1397
|
-
} else {
|
|
1398
|
-
var itemByKey = {};
|
|
1399
|
-
var rootByKey = {};
|
|
706
|
+
addRoot = function (id) {
|
|
707
|
+
rootIDSet.add(id);
|
|
708
|
+
};
|
|
709
|
+
removeRoot = function (id) {
|
|
710
|
+
rootIDSet['delete'](id);
|
|
711
|
+
};
|
|
712
|
+
getRootIDs = function () {
|
|
713
|
+
return Array.from(rootIDSet.keys());
|
|
714
|
+
};
|
|
715
|
+
} else {
|
|
716
|
+
var itemByKey = {};
|
|
717
|
+
var rootByKey = {};
|
|
1400
718
|
|
|
1401
719
|
// Use non-numeric keys to prevent V8 performance issues:
|
|
1402
720
|
// https://github.com/facebook/react/pull/7232
|
|
@@ -1637,19 +955,62 @@ var ReactComponentTreeHook = {
|
|
|
1637
955
|
},
|
|
1638
956
|
|
|
1639
957
|
|
|
1640
|
-
getRootIDs: getRootIDs,
|
|
1641
|
-
getRegisteredIDs: getItemIDs
|
|
958
|
+
getRootIDs: getRootIDs,
|
|
959
|
+
getRegisteredIDs: getItemIDs,
|
|
960
|
+
|
|
961
|
+
pushNonStandardWarningStack: function (isCreatingElement, currentSource) {
|
|
962
|
+
if (typeof console.reactStack !== 'function') {
|
|
963
|
+
return;
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
var stack = [];
|
|
967
|
+
var currentOwner = ReactCurrentOwner.current;
|
|
968
|
+
var id = currentOwner && currentOwner._debugID;
|
|
969
|
+
|
|
970
|
+
try {
|
|
971
|
+
if (isCreatingElement) {
|
|
972
|
+
stack.push({
|
|
973
|
+
name: id ? ReactComponentTreeHook.getDisplayName(id) : null,
|
|
974
|
+
fileName: currentSource ? currentSource.fileName : null,
|
|
975
|
+
lineNumber: currentSource ? currentSource.lineNumber : null
|
|
976
|
+
});
|
|
977
|
+
}
|
|
978
|
+
|
|
979
|
+
while (id) {
|
|
980
|
+
var element = ReactComponentTreeHook.getElement(id);
|
|
981
|
+
var parentID = ReactComponentTreeHook.getParentID(id);
|
|
982
|
+
var ownerID = ReactComponentTreeHook.getOwnerID(id);
|
|
983
|
+
var ownerName = ownerID ? ReactComponentTreeHook.getDisplayName(ownerID) : null;
|
|
984
|
+
var source = element && element._source;
|
|
985
|
+
stack.push({
|
|
986
|
+
name: ownerName,
|
|
987
|
+
fileName: source ? source.fileName : null,
|
|
988
|
+
lineNumber: source ? source.lineNumber : null
|
|
989
|
+
});
|
|
990
|
+
id = parentID;
|
|
991
|
+
}
|
|
992
|
+
} catch (err) {
|
|
993
|
+
// Internal state is messed up.
|
|
994
|
+
// Stop building the stack (it's just a nice to have).
|
|
995
|
+
}
|
|
996
|
+
|
|
997
|
+
console.reactStack(stack);
|
|
998
|
+
},
|
|
999
|
+
popNonStandardWarningStack: function () {
|
|
1000
|
+
if (typeof console.reactStackEnd !== 'function') {
|
|
1001
|
+
return;
|
|
1002
|
+
}
|
|
1003
|
+
console.reactStackEnd();
|
|
1004
|
+
}
|
|
1642
1005
|
};
|
|
1643
1006
|
|
|
1644
1007
|
module.exports = ReactComponentTreeHook;
|
|
1645
|
-
},{"25":25,"
|
|
1008
|
+
},{"25":25,"30":30,"31":31,"7":7}],7:[function(_dereq_,module,exports){
|
|
1646
1009
|
/**
|
|
1647
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
1648
|
-
* All rights reserved.
|
|
1010
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
1649
1011
|
*
|
|
1650
|
-
* This source code is licensed under the
|
|
1651
|
-
* LICENSE file in the root directory of this source tree.
|
|
1652
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
1012
|
+
* This source code is licensed under the MIT license found in the
|
|
1013
|
+
* LICENSE file in the root directory of this source tree.
|
|
1653
1014
|
*
|
|
1654
1015
|
*
|
|
1655
1016
|
*/
|
|
@@ -1663,30 +1024,26 @@ module.exports = ReactComponentTreeHook;
|
|
|
1663
1024
|
* currently being constructed.
|
|
1664
1025
|
*/
|
|
1665
1026
|
var ReactCurrentOwner = {
|
|
1666
|
-
|
|
1667
1027
|
/**
|
|
1668
1028
|
* @internal
|
|
1669
1029
|
* @type {ReactComponent}
|
|
1670
1030
|
*/
|
|
1671
1031
|
current: null
|
|
1672
|
-
|
|
1673
1032
|
};
|
|
1674
1033
|
|
|
1675
1034
|
module.exports = ReactCurrentOwner;
|
|
1676
|
-
},{}],
|
|
1035
|
+
},{}],8:[function(_dereq_,module,exports){
|
|
1677
1036
|
/**
|
|
1678
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
1679
|
-
* All rights reserved.
|
|
1037
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
1680
1038
|
*
|
|
1681
|
-
* This source code is licensed under the
|
|
1682
|
-
* LICENSE file in the root directory of this source tree.
|
|
1683
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
1039
|
+
* This source code is licensed under the MIT license found in the
|
|
1040
|
+
* LICENSE file in the root directory of this source tree.
|
|
1684
1041
|
*
|
|
1685
1042
|
*/
|
|
1686
1043
|
|
|
1687
1044
|
'use strict';
|
|
1688
1045
|
|
|
1689
|
-
var ReactElement = _dereq_(
|
|
1046
|
+
var ReactElement = _dereq_(9);
|
|
1690
1047
|
|
|
1691
1048
|
/**
|
|
1692
1049
|
* Create a factory that creates HTML tag elements.
|
|
@@ -1695,13 +1052,12 @@ var ReactElement = _dereq_(10);
|
|
|
1695
1052
|
*/
|
|
1696
1053
|
var createDOMFactory = ReactElement.createFactory;
|
|
1697
1054
|
if ("development" !== 'production') {
|
|
1698
|
-
var ReactElementValidator = _dereq_(
|
|
1055
|
+
var ReactElementValidator = _dereq_(11);
|
|
1699
1056
|
createDOMFactory = ReactElementValidator.createFactory;
|
|
1700
1057
|
}
|
|
1701
1058
|
|
|
1702
1059
|
/**
|
|
1703
1060
|
* Creates a mapping from supported HTML tags to `ReactDOMComponent` classes.
|
|
1704
|
-
* This is also accessible via `React.DOM`.
|
|
1705
1061
|
*
|
|
1706
1062
|
* @public
|
|
1707
1063
|
*/
|
|
@@ -1843,28 +1199,26 @@ var ReactDOMFactories = {
|
|
|
1843
1199
|
};
|
|
1844
1200
|
|
|
1845
1201
|
module.exports = ReactDOMFactories;
|
|
1846
|
-
},{"
|
|
1202
|
+
},{"11":11,"9":9}],9:[function(_dereq_,module,exports){
|
|
1847
1203
|
/**
|
|
1848
|
-
* Copyright 2014-present, Facebook, Inc.
|
|
1849
|
-
* All rights reserved.
|
|
1204
|
+
* Copyright (c) 2014-present, Facebook, Inc.
|
|
1850
1205
|
*
|
|
1851
|
-
* This source code is licensed under the
|
|
1852
|
-
* LICENSE file in the root directory of this source tree.
|
|
1853
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
1206
|
+
* This source code is licensed under the MIT license found in the
|
|
1207
|
+
* LICENSE file in the root directory of this source tree.
|
|
1854
1208
|
*
|
|
1855
1209
|
*/
|
|
1856
1210
|
|
|
1857
1211
|
'use strict';
|
|
1858
1212
|
|
|
1859
|
-
var _assign = _dereq_(
|
|
1213
|
+
var _assign = _dereq_(32);
|
|
1860
1214
|
|
|
1861
|
-
var ReactCurrentOwner = _dereq_(
|
|
1215
|
+
var ReactCurrentOwner = _dereq_(7);
|
|
1862
1216
|
|
|
1863
|
-
var warning = _dereq_(
|
|
1864
|
-
var canDefineProperty = _dereq_(
|
|
1217
|
+
var warning = _dereq_(31);
|
|
1218
|
+
var canDefineProperty = _dereq_(18);
|
|
1865
1219
|
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
1866
1220
|
|
|
1867
|
-
var REACT_ELEMENT_TYPE = _dereq_(
|
|
1221
|
+
var REACT_ELEMENT_TYPE = _dereq_(10);
|
|
1868
1222
|
|
|
1869
1223
|
var RESERVED_PROPS = {
|
|
1870
1224
|
key: true,
|
|
@@ -2184,14 +1538,12 @@ ReactElement.isValidElement = function (object) {
|
|
|
2184
1538
|
};
|
|
2185
1539
|
|
|
2186
1540
|
module.exports = ReactElement;
|
|
2187
|
-
},{"
|
|
1541
|
+
},{"10":10,"18":18,"31":31,"32":32,"7":7}],10:[function(_dereq_,module,exports){
|
|
2188
1542
|
/**
|
|
2189
|
-
* Copyright 2014-present, Facebook, Inc.
|
|
2190
|
-
* All rights reserved.
|
|
1543
|
+
* Copyright (c) 2014-present, Facebook, Inc.
|
|
2191
1544
|
*
|
|
2192
|
-
* This source code is licensed under the
|
|
2193
|
-
* LICENSE file in the root directory of this source tree.
|
|
2194
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
1545
|
+
* This source code is licensed under the MIT license found in the
|
|
1546
|
+
* LICENSE file in the root directory of this source tree.
|
|
2195
1547
|
*
|
|
2196
1548
|
*
|
|
2197
1549
|
*/
|
|
@@ -2204,14 +1556,12 @@ module.exports = ReactElement;
|
|
|
2204
1556
|
var REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol['for'] && Symbol['for']('react.element') || 0xeac7;
|
|
2205
1557
|
|
|
2206
1558
|
module.exports = REACT_ELEMENT_TYPE;
|
|
2207
|
-
},{}],
|
|
1559
|
+
},{}],11:[function(_dereq_,module,exports){
|
|
2208
1560
|
/**
|
|
2209
|
-
* Copyright 2014-present, Facebook, Inc.
|
|
2210
|
-
* All rights reserved.
|
|
1561
|
+
* Copyright (c) 2014-present, Facebook, Inc.
|
|
2211
1562
|
*
|
|
2212
|
-
* This source code is licensed under the
|
|
2213
|
-
* LICENSE file in the root directory of this source tree.
|
|
2214
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
1563
|
+
* This source code is licensed under the MIT license found in the
|
|
1564
|
+
* LICENSE file in the root directory of this source tree.
|
|
2215
1565
|
*
|
|
2216
1566
|
*/
|
|
2217
1567
|
|
|
@@ -2224,15 +1574,16 @@ module.exports = REACT_ELEMENT_TYPE;
|
|
|
2224
1574
|
|
|
2225
1575
|
'use strict';
|
|
2226
1576
|
|
|
2227
|
-
var ReactCurrentOwner = _dereq_(
|
|
2228
|
-
var ReactComponentTreeHook = _dereq_(
|
|
2229
|
-
var ReactElement = _dereq_(
|
|
1577
|
+
var ReactCurrentOwner = _dereq_(7);
|
|
1578
|
+
var ReactComponentTreeHook = _dereq_(6);
|
|
1579
|
+
var ReactElement = _dereq_(9);
|
|
2230
1580
|
|
|
2231
|
-
var checkReactTypeSpec = _dereq_(
|
|
1581
|
+
var checkReactTypeSpec = _dereq_(19);
|
|
2232
1582
|
|
|
2233
|
-
var canDefineProperty = _dereq_(
|
|
2234
|
-
var getIteratorFn = _dereq_(
|
|
2235
|
-
var warning = _dereq_(
|
|
1583
|
+
var canDefineProperty = _dereq_(18);
|
|
1584
|
+
var getIteratorFn = _dereq_(21);
|
|
1585
|
+
var warning = _dereq_(31);
|
|
1586
|
+
var lowPriorityWarning = _dereq_(23);
|
|
2236
1587
|
|
|
2237
1588
|
function getDeclarationErrorAddendum() {
|
|
2238
1589
|
if (ReactCurrentOwner.current) {
|
|
@@ -2373,7 +1724,6 @@ function validatePropTypes(element) {
|
|
|
2373
1724
|
}
|
|
2374
1725
|
|
|
2375
1726
|
var ReactElementValidator = {
|
|
2376
|
-
|
|
2377
1727
|
createElement: function (type, props, children) {
|
|
2378
1728
|
var validType = typeof type === 'string' || typeof type === 'function';
|
|
2379
1729
|
// We warn in this case but don't throw. We expect the element creation to
|
|
@@ -2382,7 +1732,7 @@ var ReactElementValidator = {
|
|
|
2382
1732
|
if (typeof type !== 'function' && typeof type !== 'string') {
|
|
2383
1733
|
var info = '';
|
|
2384
1734
|
if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {
|
|
2385
|
-
info += ' You likely forgot to export your component from the file ' +
|
|
1735
|
+
info += ' You likely forgot to export your component from the file ' + "it's defined in.";
|
|
2386
1736
|
}
|
|
2387
1737
|
|
|
2388
1738
|
var sourceInfo = getSourceInfoErrorAddendum(props);
|
|
@@ -2394,7 +1744,10 @@ var ReactElementValidator = {
|
|
|
2394
1744
|
|
|
2395
1745
|
info += ReactComponentTreeHook.getCurrentStackAddendum();
|
|
2396
1746
|
|
|
1747
|
+
var currentSource = props !== null && props !== undefined && props.__source !== undefined ? props.__source : null;
|
|
1748
|
+
ReactComponentTreeHook.pushNonStandardWarningStack(true, currentSource);
|
|
2397
1749
|
"development" !== 'production' ? warning(false, 'React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', type == null ? type : typeof type, info) : void 0;
|
|
1750
|
+
ReactComponentTreeHook.popNonStandardWarningStack();
|
|
2398
1751
|
}
|
|
2399
1752
|
}
|
|
2400
1753
|
|
|
@@ -2432,7 +1785,7 @@ var ReactElementValidator = {
|
|
|
2432
1785
|
Object.defineProperty(validatedFactory, 'type', {
|
|
2433
1786
|
enumerable: false,
|
|
2434
1787
|
get: function () {
|
|
2435
|
-
|
|
1788
|
+
lowPriorityWarning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');
|
|
2436
1789
|
Object.defineProperty(this, 'type', {
|
|
2437
1790
|
value: type
|
|
2438
1791
|
});
|
|
@@ -2453,24 +1806,21 @@ var ReactElementValidator = {
|
|
|
2453
1806
|
validatePropTypes(newElement);
|
|
2454
1807
|
return newElement;
|
|
2455
1808
|
}
|
|
2456
|
-
|
|
2457
1809
|
};
|
|
2458
1810
|
|
|
2459
1811
|
module.exports = ReactElementValidator;
|
|
2460
|
-
},{"
|
|
1812
|
+
},{"18":18,"19":19,"21":21,"23":23,"31":31,"6":6,"7":7,"9":9}],12:[function(_dereq_,module,exports){
|
|
2461
1813
|
/**
|
|
2462
|
-
* Copyright 2015-present, Facebook, Inc.
|
|
2463
|
-
* All rights reserved.
|
|
1814
|
+
* Copyright (c) 2015-present, Facebook, Inc.
|
|
2464
1815
|
*
|
|
2465
|
-
* This source code is licensed under the
|
|
2466
|
-
* LICENSE file in the root directory of this source tree.
|
|
2467
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
1816
|
+
* This source code is licensed under the MIT license found in the
|
|
1817
|
+
* LICENSE file in the root directory of this source tree.
|
|
2468
1818
|
*
|
|
2469
1819
|
*/
|
|
2470
1820
|
|
|
2471
1821
|
'use strict';
|
|
2472
1822
|
|
|
2473
|
-
var warning = _dereq_(
|
|
1823
|
+
var warning = _dereq_(31);
|
|
2474
1824
|
|
|
2475
1825
|
function warnNoop(publicInstance, callerName) {
|
|
2476
1826
|
if ("development" !== 'production') {
|
|
@@ -2483,7 +1833,6 @@ function warnNoop(publicInstance, callerName) {
|
|
|
2483
1833
|
* This is the abstract API for an update queue.
|
|
2484
1834
|
*/
|
|
2485
1835
|
var ReactNoopUpdateQueue = {
|
|
2486
|
-
|
|
2487
1836
|
/**
|
|
2488
1837
|
* Checks whether or not this composite component is mounted.
|
|
2489
1838
|
* @param {ReactClass} publicInstance The instance we want to test.
|
|
@@ -2553,14 +1902,12 @@ var ReactNoopUpdateQueue = {
|
|
|
2553
1902
|
};
|
|
2554
1903
|
|
|
2555
1904
|
module.exports = ReactNoopUpdateQueue;
|
|
2556
|
-
},{"
|
|
1905
|
+
},{"31":31}],13:[function(_dereq_,module,exports){
|
|
2557
1906
|
/**
|
|
2558
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
2559
|
-
* All rights reserved.
|
|
1907
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
2560
1908
|
*
|
|
2561
|
-
* This source code is licensed under the
|
|
2562
|
-
* LICENSE file in the root directory of this source tree.
|
|
2563
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
1909
|
+
* This source code is licensed under the MIT license found in the
|
|
1910
|
+
* LICENSE file in the root directory of this source tree.
|
|
2564
1911
|
*
|
|
2565
1912
|
*
|
|
2566
1913
|
*/
|
|
@@ -2578,33 +1925,29 @@ if ("development" !== 'production') {
|
|
|
2578
1925
|
}
|
|
2579
1926
|
|
|
2580
1927
|
module.exports = ReactPropTypeLocationNames;
|
|
2581
|
-
},{}],
|
|
1928
|
+
},{}],14:[function(_dereq_,module,exports){
|
|
2582
1929
|
/**
|
|
2583
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
2584
|
-
* All rights reserved.
|
|
1930
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
2585
1931
|
*
|
|
2586
|
-
* This source code is licensed under the
|
|
2587
|
-
* LICENSE file in the root directory of this source tree.
|
|
2588
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
1932
|
+
* This source code is licensed under the MIT license found in the
|
|
1933
|
+
* LICENSE file in the root directory of this source tree.
|
|
2589
1934
|
*
|
|
2590
1935
|
*/
|
|
2591
1936
|
|
|
2592
1937
|
'use strict';
|
|
2593
1938
|
|
|
2594
|
-
var _require = _dereq_(
|
|
1939
|
+
var _require = _dereq_(9),
|
|
2595
1940
|
isValidElement = _require.isValidElement;
|
|
2596
1941
|
|
|
2597
|
-
var factory = _dereq_(
|
|
1942
|
+
var factory = _dereq_(34);
|
|
2598
1943
|
|
|
2599
1944
|
module.exports = factory(isValidElement);
|
|
2600
|
-
},{"
|
|
1945
|
+
},{"34":34,"9":9}],15:[function(_dereq_,module,exports){
|
|
2601
1946
|
/**
|
|
2602
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
2603
|
-
* All rights reserved.
|
|
1947
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
2604
1948
|
*
|
|
2605
|
-
* This source code is licensed under the
|
|
2606
|
-
* LICENSE file in the root directory of this source tree.
|
|
2607
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
1949
|
+
* This source code is licensed under the MIT license found in the
|
|
1950
|
+
* LICENSE file in the root directory of this source tree.
|
|
2608
1951
|
*
|
|
2609
1952
|
*
|
|
2610
1953
|
*/
|
|
@@ -2614,130 +1957,381 @@ module.exports = factory(isValidElement);
|
|
|
2614
1957
|
var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
|
|
2615
1958
|
|
|
2616
1959
|
module.exports = ReactPropTypesSecret;
|
|
2617
|
-
},{}],
|
|
1960
|
+
},{}],16:[function(_dereq_,module,exports){
|
|
2618
1961
|
/**
|
|
2619
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
2620
|
-
* All rights reserved.
|
|
1962
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
2621
1963
|
*
|
|
2622
|
-
* This source code is licensed under the
|
|
2623
|
-
* LICENSE file in the root directory of this source tree.
|
|
2624
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
1964
|
+
* This source code is licensed under the MIT license found in the
|
|
1965
|
+
* LICENSE file in the root directory of this source tree.
|
|
2625
1966
|
*
|
|
2626
1967
|
*/
|
|
2627
1968
|
|
|
2628
1969
|
'use strict';
|
|
2629
1970
|
|
|
2630
|
-
var _assign = _dereq_(
|
|
1971
|
+
var _assign = _dereq_(32);
|
|
1972
|
+
|
|
1973
|
+
var React = _dereq_(3);
|
|
2631
1974
|
|
|
2632
|
-
|
|
2633
|
-
var
|
|
1975
|
+
// `version` will be added here by the React module.
|
|
1976
|
+
var ReactUMDEntry = _assign(React, {
|
|
1977
|
+
__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: {
|
|
1978
|
+
ReactCurrentOwner: _dereq_(7)
|
|
1979
|
+
}
|
|
1980
|
+
});
|
|
2634
1981
|
|
|
2635
|
-
|
|
1982
|
+
if ("development" !== 'production') {
|
|
1983
|
+
_assign(ReactUMDEntry.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, {
|
|
1984
|
+
// ReactComponentTreeHook should not be included in production.
|
|
1985
|
+
ReactComponentTreeHook: _dereq_(6),
|
|
1986
|
+
getNextDebugID: _dereq_(22)
|
|
1987
|
+
});
|
|
1988
|
+
}
|
|
2636
1989
|
|
|
1990
|
+
module.exports = ReactUMDEntry;
|
|
1991
|
+
},{"22":22,"3":3,"32":32,"6":6,"7":7}],17:[function(_dereq_,module,exports){
|
|
2637
1992
|
/**
|
|
2638
|
-
*
|
|
1993
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
1994
|
+
*
|
|
1995
|
+
* This source code is licensed under the MIT license found in the
|
|
1996
|
+
* LICENSE file in the root directory of this source tree.
|
|
1997
|
+
*
|
|
2639
1998
|
*/
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
1999
|
+
|
|
2000
|
+
'use strict';
|
|
2001
|
+
|
|
2002
|
+
module.exports = '15.6.2';
|
|
2003
|
+
},{}],18:[function(_dereq_,module,exports){
|
|
2004
|
+
/**
|
|
2005
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
2006
|
+
*
|
|
2007
|
+
* This source code is licensed under the MIT license found in the
|
|
2008
|
+
* LICENSE file in the root directory of this source tree.
|
|
2009
|
+
*
|
|
2010
|
+
*
|
|
2011
|
+
*/
|
|
2012
|
+
|
|
2013
|
+
'use strict';
|
|
2014
|
+
|
|
2015
|
+
var canDefineProperty = false;
|
|
2016
|
+
if ("development" !== 'production') {
|
|
2017
|
+
try {
|
|
2018
|
+
// $FlowFixMe https://github.com/facebook/flow/issues/285
|
|
2019
|
+
Object.defineProperty({}, 'x', { get: function () {} });
|
|
2020
|
+
canDefineProperty = true;
|
|
2021
|
+
} catch (x) {
|
|
2022
|
+
// IE will fail on defineProperty
|
|
2023
|
+
}
|
|
2648
2024
|
}
|
|
2649
2025
|
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2026
|
+
module.exports = canDefineProperty;
|
|
2027
|
+
},{}],19:[function(_dereq_,module,exports){
|
|
2028
|
+
(function (process){
|
|
2029
|
+
/**
|
|
2030
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
2031
|
+
*
|
|
2032
|
+
* This source code is licensed under the MIT license found in the
|
|
2033
|
+
* LICENSE file in the root directory of this source tree.
|
|
2034
|
+
*
|
|
2035
|
+
*/
|
|
2036
|
+
|
|
2037
|
+
'use strict';
|
|
2038
|
+
|
|
2039
|
+
var _prodInvariant = _dereq_(25);
|
|
2040
|
+
|
|
2041
|
+
var ReactPropTypeLocationNames = _dereq_(13);
|
|
2042
|
+
var ReactPropTypesSecret = _dereq_(15);
|
|
2043
|
+
|
|
2044
|
+
var invariant = _dereq_(30);
|
|
2045
|
+
var warning = _dereq_(31);
|
|
2046
|
+
|
|
2047
|
+
var ReactComponentTreeHook;
|
|
2048
|
+
|
|
2049
|
+
if (typeof process !== 'undefined' && process.env && "development" === 'test') {
|
|
2050
|
+
// Temporary hack.
|
|
2051
|
+
// Inline requires don't work well with Jest:
|
|
2052
|
+
// https://github.com/facebook/react/issues/7240
|
|
2053
|
+
// Remove the inline requires when we don't need them anymore:
|
|
2054
|
+
// https://github.com/facebook/react/pull/7178
|
|
2055
|
+
ReactComponentTreeHook = _dereq_(6);
|
|
2056
|
+
}
|
|
2057
|
+
|
|
2058
|
+
var loggedTypeFailures = {};
|
|
2059
|
+
|
|
2060
|
+
/**
|
|
2061
|
+
* Assert that the values match with the type specs.
|
|
2062
|
+
* Error messages are memorized and will only be shown once.
|
|
2063
|
+
*
|
|
2064
|
+
* @param {object} typeSpecs Map of name to a ReactPropType
|
|
2065
|
+
* @param {object} values Runtime values that need to be type-checked
|
|
2066
|
+
* @param {string} location e.g. "prop", "context", "child context"
|
|
2067
|
+
* @param {string} componentName Name of the component for error messages.
|
|
2068
|
+
* @param {?object} element The React element that is being type-checked
|
|
2069
|
+
* @param {?number} debugID The React component instance that is being type-checked
|
|
2070
|
+
* @private
|
|
2071
|
+
*/
|
|
2072
|
+
function checkReactTypeSpec(typeSpecs, values, location, componentName, element, debugID) {
|
|
2073
|
+
for (var typeSpecName in typeSpecs) {
|
|
2074
|
+
if (typeSpecs.hasOwnProperty(typeSpecName)) {
|
|
2075
|
+
var error;
|
|
2076
|
+
// Prop type validation may throw. In case they do, we don't want to
|
|
2077
|
+
// fail the render phase where it didn't fail before. So we log it.
|
|
2078
|
+
// After these have been cleaned up, we'll let them throw.
|
|
2079
|
+
try {
|
|
2080
|
+
// This is intentionally an invariant that gets caught. It's the same
|
|
2081
|
+
// behavior as without this statement except with a better message.
|
|
2082
|
+
!(typeof typeSpecs[typeSpecName] === 'function') ? "development" !== 'production' ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName) : _prodInvariant('84', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName) : void 0;
|
|
2083
|
+
error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
|
|
2084
|
+
} catch (ex) {
|
|
2085
|
+
error = ex;
|
|
2086
|
+
}
|
|
2087
|
+
"development" !== 'production' ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName, typeof error) : void 0;
|
|
2088
|
+
if (error instanceof Error && !(error.message in loggedTypeFailures)) {
|
|
2089
|
+
// Only monitor this failure once because there tends to be a lot of the
|
|
2090
|
+
// same error.
|
|
2091
|
+
loggedTypeFailures[error.message] = true;
|
|
2092
|
+
|
|
2093
|
+
var componentStackInfo = '';
|
|
2094
|
+
|
|
2095
|
+
if ("development" !== 'production') {
|
|
2096
|
+
if (!ReactComponentTreeHook) {
|
|
2097
|
+
ReactComponentTreeHook = _dereq_(6);
|
|
2098
|
+
}
|
|
2099
|
+
if (debugID !== null) {
|
|
2100
|
+
componentStackInfo = ReactComponentTreeHook.getStackAddendumByID(debugID);
|
|
2101
|
+
} else if (element !== null) {
|
|
2102
|
+
componentStackInfo = ReactComponentTreeHook.getCurrentStackAddendum(element);
|
|
2103
|
+
}
|
|
2104
|
+
}
|
|
2105
|
+
|
|
2106
|
+
"development" !== 'production' ? warning(false, 'Failed %s type: %s%s', location, error.message, componentStackInfo) : void 0;
|
|
2107
|
+
}
|
|
2108
|
+
}
|
|
2109
|
+
}
|
|
2110
|
+
}
|
|
2111
|
+
|
|
2112
|
+
module.exports = checkReactTypeSpec;
|
|
2113
|
+
}).call(this,undefined)
|
|
2114
|
+
},{"13":13,"15":15,"25":25,"30":30,"31":31,"6":6}],20:[function(_dereq_,module,exports){
|
|
2115
|
+
/**
|
|
2116
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
2117
|
+
*
|
|
2118
|
+
* This source code is licensed under the MIT license found in the
|
|
2119
|
+
* LICENSE file in the root directory of this source tree.
|
|
2120
|
+
*
|
|
2121
|
+
*/
|
|
2122
|
+
|
|
2123
|
+
'use strict';
|
|
2124
|
+
|
|
2125
|
+
var _require = _dereq_(4),
|
|
2126
|
+
Component = _require.Component;
|
|
2127
|
+
|
|
2128
|
+
var _require2 = _dereq_(9),
|
|
2129
|
+
isValidElement = _require2.isValidElement;
|
|
2130
|
+
|
|
2131
|
+
var ReactNoopUpdateQueue = _dereq_(12);
|
|
2132
|
+
var factory = _dereq_(27);
|
|
2133
|
+
|
|
2134
|
+
module.exports = factory(Component, isValidElement, ReactNoopUpdateQueue);
|
|
2135
|
+
},{"12":12,"27":27,"4":4,"9":9}],21:[function(_dereq_,module,exports){
|
|
2136
|
+
/**
|
|
2137
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
2138
|
+
*
|
|
2139
|
+
* This source code is licensed under the MIT license found in the
|
|
2140
|
+
* LICENSE file in the root directory of this source tree.
|
|
2141
|
+
*
|
|
2142
|
+
*
|
|
2143
|
+
*/
|
|
2144
|
+
|
|
2145
|
+
'use strict';
|
|
2146
|
+
|
|
2147
|
+
/* global Symbol */
|
|
2148
|
+
|
|
2149
|
+
var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
|
|
2150
|
+
var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
|
|
2151
|
+
|
|
2152
|
+
/**
|
|
2153
|
+
* Returns the iterator method function contained on the iterable object.
|
|
2154
|
+
*
|
|
2155
|
+
* Be sure to invoke the function with the iterable as context:
|
|
2156
|
+
*
|
|
2157
|
+
* var iteratorFn = getIteratorFn(myIterable);
|
|
2158
|
+
* if (iteratorFn) {
|
|
2159
|
+
* var iterator = iteratorFn.call(myIterable);
|
|
2160
|
+
* ...
|
|
2161
|
+
* }
|
|
2162
|
+
*
|
|
2163
|
+
* @param {?object} maybeIterable
|
|
2164
|
+
* @return {?function}
|
|
2165
|
+
*/
|
|
2166
|
+
function getIteratorFn(maybeIterable) {
|
|
2167
|
+
var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
|
|
2168
|
+
if (typeof iteratorFn === 'function') {
|
|
2169
|
+
return iteratorFn;
|
|
2170
|
+
}
|
|
2171
|
+
}
|
|
2172
|
+
|
|
2173
|
+
module.exports = getIteratorFn;
|
|
2174
|
+
},{}],22:[function(_dereq_,module,exports){
|
|
2175
|
+
/**
|
|
2176
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
2177
|
+
*
|
|
2178
|
+
* This source code is licensed under the MIT license found in the
|
|
2179
|
+
* LICENSE file in the root directory of this source tree.
|
|
2180
|
+
*
|
|
2181
|
+
*
|
|
2182
|
+
*/
|
|
2183
|
+
|
|
2184
|
+
'use strict';
|
|
2185
|
+
|
|
2186
|
+
var nextDebugID = 1;
|
|
2187
|
+
|
|
2188
|
+
function getNextDebugID() {
|
|
2189
|
+
return nextDebugID++;
|
|
2190
|
+
}
|
|
2657
2191
|
|
|
2658
|
-
module.exports =
|
|
2659
|
-
},{
|
|
2192
|
+
module.exports = getNextDebugID;
|
|
2193
|
+
},{}],23:[function(_dereq_,module,exports){
|
|
2660
2194
|
/**
|
|
2661
|
-
* Copyright
|
|
2662
|
-
* All rights reserved.
|
|
2195
|
+
* Copyright (c) 2014-present, Facebook, Inc.
|
|
2663
2196
|
*
|
|
2664
|
-
* This source code is licensed under the
|
|
2665
|
-
* LICENSE file in the root directory of this source tree.
|
|
2666
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
2197
|
+
* This source code is licensed under the MIT license found in the
|
|
2198
|
+
* LICENSE file in the root directory of this source tree.
|
|
2667
2199
|
*
|
|
2668
2200
|
*/
|
|
2669
2201
|
|
|
2670
2202
|
'use strict';
|
|
2671
2203
|
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2204
|
+
/**
|
|
2205
|
+
* Forked from fbjs/warning:
|
|
2206
|
+
* https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js
|
|
2207
|
+
*
|
|
2208
|
+
* Only change is we use console.warn instead of console.error,
|
|
2209
|
+
* and do nothing when 'console' is not supported.
|
|
2210
|
+
* This really simplifies the code.
|
|
2211
|
+
* ---
|
|
2212
|
+
* Similar to invariant but only logs a warning if the condition is not met.
|
|
2213
|
+
* This can be used to log issues in development environments in critical
|
|
2214
|
+
* paths. Removing the logging code for production environments will keep the
|
|
2215
|
+
* same logic and follow the same code paths.
|
|
2216
|
+
*/
|
|
2675
2217
|
|
|
2676
|
-
|
|
2677
|
-
var ReactUMDEntry = _assign(React, {
|
|
2678
|
-
__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: {
|
|
2679
|
-
ReactCurrentOwner: _dereq_(8)
|
|
2680
|
-
}
|
|
2681
|
-
});
|
|
2218
|
+
var lowPriorityWarning = function () {};
|
|
2682
2219
|
|
|
2683
2220
|
if ("development" !== 'production') {
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2221
|
+
var printWarning = function (format) {
|
|
2222
|
+
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
2223
|
+
args[_key - 1] = arguments[_key];
|
|
2224
|
+
}
|
|
2225
|
+
|
|
2226
|
+
var argIndex = 0;
|
|
2227
|
+
var message = 'Warning: ' + format.replace(/%s/g, function () {
|
|
2228
|
+
return args[argIndex++];
|
|
2229
|
+
});
|
|
2230
|
+
if (typeof console !== 'undefined') {
|
|
2231
|
+
console.warn(message);
|
|
2232
|
+
}
|
|
2233
|
+
try {
|
|
2234
|
+
// --- Welcome to debugging React ---
|
|
2235
|
+
// This error was thrown as a convenience so that you can use this stack
|
|
2236
|
+
// to find the callsite that caused this warning to fire.
|
|
2237
|
+
throw new Error(message);
|
|
2238
|
+
} catch (x) {}
|
|
2239
|
+
};
|
|
2240
|
+
|
|
2241
|
+
lowPriorityWarning = function (condition, format) {
|
|
2242
|
+
if (format === undefined) {
|
|
2243
|
+
throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
|
|
2244
|
+
}
|
|
2245
|
+
if (!condition) {
|
|
2246
|
+
for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
|
|
2247
|
+
args[_key2 - 2] = arguments[_key2];
|
|
2248
|
+
}
|
|
2249
|
+
|
|
2250
|
+
printWarning.apply(undefined, [format].concat(args));
|
|
2251
|
+
}
|
|
2252
|
+
};
|
|
2689
2253
|
}
|
|
2690
2254
|
|
|
2691
|
-
module.exports =
|
|
2692
|
-
},{
|
|
2255
|
+
module.exports = lowPriorityWarning;
|
|
2256
|
+
},{}],24:[function(_dereq_,module,exports){
|
|
2693
2257
|
/**
|
|
2694
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
2695
|
-
* All rights reserved.
|
|
2258
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
2696
2259
|
*
|
|
2697
|
-
* This source code is licensed under the
|
|
2698
|
-
* LICENSE file in the root directory of this source tree.
|
|
2699
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
2260
|
+
* This source code is licensed under the MIT license found in the
|
|
2261
|
+
* LICENSE file in the root directory of this source tree.
|
|
2700
2262
|
*
|
|
2701
2263
|
*/
|
|
2702
|
-
|
|
2703
2264
|
'use strict';
|
|
2704
2265
|
|
|
2705
|
-
|
|
2706
|
-
|
|
2266
|
+
var _prodInvariant = _dereq_(25);
|
|
2267
|
+
|
|
2268
|
+
var ReactElement = _dereq_(9);
|
|
2269
|
+
|
|
2270
|
+
var invariant = _dereq_(30);
|
|
2271
|
+
|
|
2707
2272
|
/**
|
|
2708
|
-
*
|
|
2709
|
-
*
|
|
2273
|
+
* Returns the first child in a collection of children and verifies that there
|
|
2274
|
+
* is only one child in the collection.
|
|
2710
2275
|
*
|
|
2711
|
-
*
|
|
2712
|
-
* LICENSE file in the root directory of this source tree. An additional grant
|
|
2713
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
2276
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.children.only
|
|
2714
2277
|
*
|
|
2715
|
-
*
|
|
2278
|
+
* The current implementation of this function assumes that a single child gets
|
|
2279
|
+
* passed without a wrapper, but the purpose of this helper function is to
|
|
2280
|
+
* abstract away the particular structure of children.
|
|
2281
|
+
*
|
|
2282
|
+
* @param {?object} children Child collection structure.
|
|
2283
|
+
* @return {ReactElement} The first and only `ReactElement` contained in the
|
|
2284
|
+
* structure.
|
|
2716
2285
|
*/
|
|
2286
|
+
function onlyChild(children) {
|
|
2287
|
+
!ReactElement.isValidElement(children) ? "development" !== 'production' ? invariant(false, 'React.Children.only expected to receive a single React element child.') : _prodInvariant('143') : void 0;
|
|
2288
|
+
return children;
|
|
2289
|
+
}
|
|
2717
2290
|
|
|
2291
|
+
module.exports = onlyChild;
|
|
2292
|
+
},{"25":25,"30":30,"9":9}],25:[function(_dereq_,module,exports){
|
|
2293
|
+
/**
|
|
2294
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
2295
|
+
*
|
|
2296
|
+
* This source code is licensed under the MIT license found in the
|
|
2297
|
+
* LICENSE file in the root directory of this source tree.
|
|
2298
|
+
*
|
|
2299
|
+
*
|
|
2300
|
+
*/
|
|
2718
2301
|
'use strict';
|
|
2719
2302
|
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2303
|
+
/**
|
|
2304
|
+
* WARNING: DO NOT manually require this module.
|
|
2305
|
+
* This is a replacement for `invariant(...)` used by the error code system
|
|
2306
|
+
* and will _only_ be required by the corresponding babel pass.
|
|
2307
|
+
* It always throws.
|
|
2308
|
+
*/
|
|
2309
|
+
|
|
2310
|
+
function reactProdInvariant(code) {
|
|
2311
|
+
var argCount = arguments.length - 1;
|
|
2312
|
+
|
|
2313
|
+
var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code;
|
|
2314
|
+
|
|
2315
|
+
for (var argIdx = 0; argIdx < argCount; argIdx++) {
|
|
2316
|
+
message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]);
|
|
2728
2317
|
}
|
|
2318
|
+
|
|
2319
|
+
message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.';
|
|
2320
|
+
|
|
2321
|
+
var error = new Error(message);
|
|
2322
|
+
error.name = 'Invariant Violation';
|
|
2323
|
+
error.framesToPop = 1; // we don't care about reactProdInvariant's own frame
|
|
2324
|
+
|
|
2325
|
+
throw error;
|
|
2729
2326
|
}
|
|
2730
2327
|
|
|
2731
|
-
module.exports =
|
|
2732
|
-
},{}],
|
|
2733
|
-
(function (process){
|
|
2328
|
+
module.exports = reactProdInvariant;
|
|
2329
|
+
},{}],26:[function(_dereq_,module,exports){
|
|
2734
2330
|
/**
|
|
2735
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
2736
|
-
* All rights reserved.
|
|
2331
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
2737
2332
|
*
|
|
2738
|
-
* This source code is licensed under the
|
|
2739
|
-
* LICENSE file in the root directory of this source tree.
|
|
2740
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
2333
|
+
* This source code is licensed under the MIT license found in the
|
|
2334
|
+
* LICENSE file in the root directory of this source tree.
|
|
2741
2335
|
*
|
|
2742
2336
|
*/
|
|
2743
2337
|
|
|
@@ -2745,121 +2339,168 @@ module.exports = canDefineProperty;
|
|
|
2745
2339
|
|
|
2746
2340
|
var _prodInvariant = _dereq_(25);
|
|
2747
2341
|
|
|
2748
|
-
var
|
|
2749
|
-
var
|
|
2342
|
+
var ReactCurrentOwner = _dereq_(7);
|
|
2343
|
+
var REACT_ELEMENT_TYPE = _dereq_(10);
|
|
2750
2344
|
|
|
2751
|
-
var
|
|
2752
|
-
var
|
|
2345
|
+
var getIteratorFn = _dereq_(21);
|
|
2346
|
+
var invariant = _dereq_(30);
|
|
2347
|
+
var KeyEscapeUtils = _dereq_(1);
|
|
2348
|
+
var warning = _dereq_(31);
|
|
2753
2349
|
|
|
2754
|
-
var
|
|
2350
|
+
var SEPARATOR = '.';
|
|
2351
|
+
var SUBSEPARATOR = ':';
|
|
2755
2352
|
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
// https://github.com/facebook/react/pull/7178
|
|
2762
|
-
ReactComponentTreeHook = _dereq_(7);
|
|
2763
|
-
}
|
|
2353
|
+
/**
|
|
2354
|
+
* This is inlined from ReactElement since this file is shared between
|
|
2355
|
+
* isomorphic and renderers. We could extract this to a
|
|
2356
|
+
*
|
|
2357
|
+
*/
|
|
2764
2358
|
|
|
2765
|
-
|
|
2359
|
+
/**
|
|
2360
|
+
* TODO: Test that a single child and an array with one item have the same key
|
|
2361
|
+
* pattern.
|
|
2362
|
+
*/
|
|
2363
|
+
|
|
2364
|
+
var didWarnAboutMaps = false;
|
|
2766
2365
|
|
|
2767
2366
|
/**
|
|
2768
|
-
*
|
|
2769
|
-
* Error messages are memorized and will only be shown once.
|
|
2367
|
+
* Generate a key string that identifies a component within a set.
|
|
2770
2368
|
*
|
|
2771
|
-
* @param {
|
|
2772
|
-
* @param {
|
|
2773
|
-
* @
|
|
2774
|
-
* @param {string} componentName Name of the component for error messages.
|
|
2775
|
-
* @param {?object} element The React element that is being type-checked
|
|
2776
|
-
* @param {?number} debugID The React component instance that is being type-checked
|
|
2777
|
-
* @private
|
|
2369
|
+
* @param {*} component A component that could contain a manual key.
|
|
2370
|
+
* @param {number} index Index that is used if a manual key is not provided.
|
|
2371
|
+
* @return {string}
|
|
2778
2372
|
*/
|
|
2779
|
-
function
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
!(typeof typeSpecs[typeSpecName] === 'function') ? "development" !== 'production' ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName) : _prodInvariant('84', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName) : void 0;
|
|
2790
|
-
error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
|
|
2791
|
-
} catch (ex) {
|
|
2792
|
-
error = ex;
|
|
2793
|
-
}
|
|
2794
|
-
"development" !== 'production' ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName, typeof error) : void 0;
|
|
2795
|
-
if (error instanceof Error && !(error.message in loggedTypeFailures)) {
|
|
2796
|
-
// Only monitor this failure once because there tends to be a lot of the
|
|
2797
|
-
// same error.
|
|
2798
|
-
loggedTypeFailures[error.message] = true;
|
|
2373
|
+
function getComponentKey(component, index) {
|
|
2374
|
+
// Do some typechecking here since we call this blindly. We want to ensure
|
|
2375
|
+
// that we don't block potential future ES APIs.
|
|
2376
|
+
if (component && typeof component === 'object' && component.key != null) {
|
|
2377
|
+
// Explicit key
|
|
2378
|
+
return KeyEscapeUtils.escape(component.key);
|
|
2379
|
+
}
|
|
2380
|
+
// Implicit key determined by the index in the set
|
|
2381
|
+
return index.toString(36);
|
|
2382
|
+
}
|
|
2799
2383
|
|
|
2800
|
-
|
|
2384
|
+
/**
|
|
2385
|
+
* @param {?*} children Children tree container.
|
|
2386
|
+
* @param {!string} nameSoFar Name of the key path so far.
|
|
2387
|
+
* @param {!function} callback Callback to invoke with each child found.
|
|
2388
|
+
* @param {?*} traverseContext Used to pass information throughout the traversal
|
|
2389
|
+
* process.
|
|
2390
|
+
* @return {!number} The number of children in this subtree.
|
|
2391
|
+
*/
|
|
2392
|
+
function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {
|
|
2393
|
+
var type = typeof children;
|
|
2394
|
+
|
|
2395
|
+
if (type === 'undefined' || type === 'boolean') {
|
|
2396
|
+
// All of the above are perceived as null.
|
|
2397
|
+
children = null;
|
|
2398
|
+
}
|
|
2399
|
+
|
|
2400
|
+
if (children === null || type === 'string' || type === 'number' ||
|
|
2401
|
+
// The following is inlined from ReactElement. This means we can optimize
|
|
2402
|
+
// some checks. React Fiber also inlines this logic for similar purposes.
|
|
2403
|
+
type === 'object' && children.$$typeof === REACT_ELEMENT_TYPE) {
|
|
2404
|
+
callback(traverseContext, children,
|
|
2405
|
+
// If it's the only child, treat the name as if it was wrapped in an array
|
|
2406
|
+
// so that it's consistent if the number of children grows.
|
|
2407
|
+
nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);
|
|
2408
|
+
return 1;
|
|
2409
|
+
}
|
|
2410
|
+
|
|
2411
|
+
var child;
|
|
2412
|
+
var nextName;
|
|
2413
|
+
var subtreeCount = 0; // Count of children found in the current subtree.
|
|
2414
|
+
var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;
|
|
2801
2415
|
|
|
2416
|
+
if (Array.isArray(children)) {
|
|
2417
|
+
for (var i = 0; i < children.length; i++) {
|
|
2418
|
+
child = children[i];
|
|
2419
|
+
nextName = nextNamePrefix + getComponentKey(child, i);
|
|
2420
|
+
subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
|
|
2421
|
+
}
|
|
2422
|
+
} else {
|
|
2423
|
+
var iteratorFn = getIteratorFn(children);
|
|
2424
|
+
if (iteratorFn) {
|
|
2425
|
+
var iterator = iteratorFn.call(children);
|
|
2426
|
+
var step;
|
|
2427
|
+
if (iteratorFn !== children.entries) {
|
|
2428
|
+
var ii = 0;
|
|
2429
|
+
while (!(step = iterator.next()).done) {
|
|
2430
|
+
child = step.value;
|
|
2431
|
+
nextName = nextNamePrefix + getComponentKey(child, ii++);
|
|
2432
|
+
subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
|
|
2433
|
+
}
|
|
2434
|
+
} else {
|
|
2802
2435
|
if ("development" !== 'production') {
|
|
2803
|
-
|
|
2804
|
-
|
|
2436
|
+
var mapsAsChildrenAddendum = '';
|
|
2437
|
+
if (ReactCurrentOwner.current) {
|
|
2438
|
+
var mapsAsChildrenOwnerName = ReactCurrentOwner.current.getName();
|
|
2439
|
+
if (mapsAsChildrenOwnerName) {
|
|
2440
|
+
mapsAsChildrenAddendum = ' Check the render method of `' + mapsAsChildrenOwnerName + '`.';
|
|
2441
|
+
}
|
|
2805
2442
|
}
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
|
|
2809
|
-
|
|
2443
|
+
"development" !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.%s', mapsAsChildrenAddendum) : void 0;
|
|
2444
|
+
didWarnAboutMaps = true;
|
|
2445
|
+
}
|
|
2446
|
+
// Iterator will provide entry [k,v] tuples rather than values.
|
|
2447
|
+
while (!(step = iterator.next()).done) {
|
|
2448
|
+
var entry = step.value;
|
|
2449
|
+
if (entry) {
|
|
2450
|
+
child = entry[1];
|
|
2451
|
+
nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0);
|
|
2452
|
+
subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
|
|
2453
|
+
}
|
|
2454
|
+
}
|
|
2455
|
+
}
|
|
2456
|
+
} else if (type === 'object') {
|
|
2457
|
+
var addendum = '';
|
|
2458
|
+
if ("development" !== 'production') {
|
|
2459
|
+
addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.';
|
|
2460
|
+
if (children._isReactElement) {
|
|
2461
|
+
addendum = " It looks like you're using an element created by a different " + 'version of React. Make sure to use only one copy of React.';
|
|
2462
|
+
}
|
|
2463
|
+
if (ReactCurrentOwner.current) {
|
|
2464
|
+
var name = ReactCurrentOwner.current.getName();
|
|
2465
|
+
if (name) {
|
|
2466
|
+
addendum += ' Check the render method of `' + name + '`.';
|
|
2810
2467
|
}
|
|
2811
2468
|
}
|
|
2812
|
-
|
|
2813
|
-
"development" !== 'production' ? warning(false, 'Failed %s type: %s%s', location, error.message, componentStackInfo) : void 0;
|
|
2814
2469
|
}
|
|
2470
|
+
var childrenString = String(children);
|
|
2471
|
+
!false ? "development" !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : _prodInvariant('31', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : void 0;
|
|
2815
2472
|
}
|
|
2816
2473
|
}
|
|
2817
|
-
}
|
|
2818
|
-
|
|
2819
|
-
module.exports = checkReactTypeSpec;
|
|
2820
|
-
}).call(this,undefined)
|
|
2821
|
-
},{"14":14,"16":16,"25":25,"29":29,"30":30,"7":7}],22:[function(_dereq_,module,exports){
|
|
2822
|
-
/**
|
|
2823
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
2824
|
-
* All rights reserved.
|
|
2825
|
-
*
|
|
2826
|
-
* This source code is licensed under the BSD-style license found in the
|
|
2827
|
-
* LICENSE file in the root directory of this source tree. An additional grant
|
|
2828
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
2829
|
-
*
|
|
2830
|
-
*
|
|
2831
|
-
*/
|
|
2832
|
-
|
|
2833
|
-
'use strict';
|
|
2834
|
-
|
|
2835
|
-
/* global Symbol */
|
|
2836
2474
|
|
|
2837
|
-
|
|
2838
|
-
|
|
2475
|
+
return subtreeCount;
|
|
2476
|
+
}
|
|
2839
2477
|
|
|
2840
2478
|
/**
|
|
2841
|
-
*
|
|
2479
|
+
* Traverses children that are typically specified as `props.children`, but
|
|
2480
|
+
* might also be specified through attributes:
|
|
2842
2481
|
*
|
|
2843
|
-
*
|
|
2482
|
+
* - `traverseAllChildren(this.props.children, ...)`
|
|
2483
|
+
* - `traverseAllChildren(this.props.leftPanelChildren, ...)`
|
|
2844
2484
|
*
|
|
2845
|
-
*
|
|
2846
|
-
*
|
|
2847
|
-
*
|
|
2848
|
-
* ...
|
|
2849
|
-
* }
|
|
2485
|
+
* The `traverseContext` is an optional argument that is passed through the
|
|
2486
|
+
* entire traversal. It can be used to store accumulations or anything else that
|
|
2487
|
+
* the callback might find relevant.
|
|
2850
2488
|
*
|
|
2851
|
-
* @param {
|
|
2852
|
-
* @
|
|
2489
|
+
* @param {?*} children Children tree object.
|
|
2490
|
+
* @param {!function} callback To invoke upon traversing each child.
|
|
2491
|
+
* @param {?*} traverseContext Context for traversal.
|
|
2492
|
+
* @return {!number} The number of children in this subtree.
|
|
2853
2493
|
*/
|
|
2854
|
-
function
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
return iteratorFn;
|
|
2494
|
+
function traverseAllChildren(children, callback, traverseContext) {
|
|
2495
|
+
if (children == null) {
|
|
2496
|
+
return 0;
|
|
2858
2497
|
}
|
|
2498
|
+
|
|
2499
|
+
return traverseAllChildrenImpl(children, '', callback, traverseContext);
|
|
2859
2500
|
}
|
|
2860
2501
|
|
|
2861
|
-
module.exports =
|
|
2862
|
-
},{}],
|
|
2502
|
+
module.exports = traverseAllChildren;
|
|
2503
|
+
},{"1":1,"10":10,"21":21,"25":25,"30":30,"31":31,"7":7}],27:[function(_dereq_,module,exports){
|
|
2863
2504
|
/**
|
|
2864
2505
|
* Copyright 2013-present, Facebook, Inc.
|
|
2865
2506
|
* All rights reserved.
|
|
@@ -2868,272 +2509,872 @@ module.exports = getIteratorFn;
|
|
|
2868
2509
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
2869
2510
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
2870
2511
|
*
|
|
2871
|
-
*
|
|
2872
2512
|
*/
|
|
2873
2513
|
|
|
2874
2514
|
'use strict';
|
|
2875
2515
|
|
|
2876
|
-
var
|
|
2516
|
+
var _assign = _dereq_(32);
|
|
2877
2517
|
|
|
2878
|
-
|
|
2879
|
-
|
|
2518
|
+
var emptyObject = _dereq_(29);
|
|
2519
|
+
var _invariant = _dereq_(30);
|
|
2520
|
+
|
|
2521
|
+
if ("development" !== 'production') {
|
|
2522
|
+
var warning = _dereq_(31);
|
|
2880
2523
|
}
|
|
2881
2524
|
|
|
2882
|
-
|
|
2883
|
-
},{}],24:[function(_dereq_,module,exports){
|
|
2884
|
-
/**
|
|
2885
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
2886
|
-
* All rights reserved.
|
|
2887
|
-
*
|
|
2888
|
-
* This source code is licensed under the BSD-style license found in the
|
|
2889
|
-
* LICENSE file in the root directory of this source tree. An additional grant
|
|
2890
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
2891
|
-
*
|
|
2892
|
-
*/
|
|
2893
|
-
'use strict';
|
|
2525
|
+
var MIXINS_KEY = 'mixins';
|
|
2894
2526
|
|
|
2895
|
-
|
|
2527
|
+
// Helper function to allow the creation of anonymous functions which do not
|
|
2528
|
+
// have .name set to the name of the variable being assigned to.
|
|
2529
|
+
function identity(fn) {
|
|
2530
|
+
return fn;
|
|
2531
|
+
}
|
|
2896
2532
|
|
|
2897
|
-
var
|
|
2533
|
+
var ReactPropTypeLocationNames;
|
|
2534
|
+
if ("development" !== 'production') {
|
|
2535
|
+
ReactPropTypeLocationNames = {
|
|
2536
|
+
prop: 'prop',
|
|
2537
|
+
context: 'context',
|
|
2538
|
+
childContext: 'child context'
|
|
2539
|
+
};
|
|
2540
|
+
} else {
|
|
2541
|
+
ReactPropTypeLocationNames = {};
|
|
2542
|
+
}
|
|
2898
2543
|
|
|
2899
|
-
|
|
2544
|
+
function factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {
|
|
2545
|
+
/**
|
|
2546
|
+
* Policies that describe methods in `ReactClassInterface`.
|
|
2547
|
+
*/
|
|
2900
2548
|
|
|
2901
|
-
|
|
2902
|
-
* Returns the first child in a collection of children and verifies that there
|
|
2903
|
-
* is only one child in the collection.
|
|
2904
|
-
*
|
|
2905
|
-
* See https://facebook.github.io/react/docs/top-level-api.html#react.children.only
|
|
2906
|
-
*
|
|
2907
|
-
* The current implementation of this function assumes that a single child gets
|
|
2908
|
-
* passed without a wrapper, but the purpose of this helper function is to
|
|
2909
|
-
* abstract away the particular structure of children.
|
|
2910
|
-
*
|
|
2911
|
-
* @param {?object} children Child collection structure.
|
|
2912
|
-
* @return {ReactElement} The first and only `ReactElement` contained in the
|
|
2913
|
-
* structure.
|
|
2914
|
-
*/
|
|
2915
|
-
function onlyChild(children) {
|
|
2916
|
-
!ReactElement.isValidElement(children) ? "development" !== 'production' ? invariant(false, 'React.Children.only expected to receive a single React element child.') : _prodInvariant('143') : void 0;
|
|
2917
|
-
return children;
|
|
2918
|
-
}
|
|
2549
|
+
var injectedMixins = [];
|
|
2919
2550
|
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
|
|
2551
|
+
/**
|
|
2552
|
+
* Composite components are higher-level components that compose other composite
|
|
2553
|
+
* or host components.
|
|
2554
|
+
*
|
|
2555
|
+
* To create a new type of `ReactClass`, pass a specification of
|
|
2556
|
+
* your new class to `React.createClass`. The only requirement of your class
|
|
2557
|
+
* specification is that you implement a `render` method.
|
|
2558
|
+
*
|
|
2559
|
+
* var MyComponent = React.createClass({
|
|
2560
|
+
* render: function() {
|
|
2561
|
+
* return <div>Hello World</div>;
|
|
2562
|
+
* }
|
|
2563
|
+
* });
|
|
2564
|
+
*
|
|
2565
|
+
* The class specification supports a specific protocol of methods that have
|
|
2566
|
+
* special meaning (e.g. `render`). See `ReactClassInterface` for
|
|
2567
|
+
* more the comprehensive protocol. Any other properties and methods in the
|
|
2568
|
+
* class specification will be available on the prototype.
|
|
2569
|
+
*
|
|
2570
|
+
* @interface ReactClassInterface
|
|
2571
|
+
* @internal
|
|
2572
|
+
*/
|
|
2573
|
+
var ReactClassInterface = {
|
|
2574
|
+
/**
|
|
2575
|
+
* An array of Mixin objects to include when defining your component.
|
|
2576
|
+
*
|
|
2577
|
+
* @type {array}
|
|
2578
|
+
* @optional
|
|
2579
|
+
*/
|
|
2580
|
+
mixins: 'DEFINE_MANY',
|
|
2581
|
+
|
|
2582
|
+
/**
|
|
2583
|
+
* An object containing properties and methods that should be defined on
|
|
2584
|
+
* the component's constructor instead of its prototype (static methods).
|
|
2585
|
+
*
|
|
2586
|
+
* @type {object}
|
|
2587
|
+
* @optional
|
|
2588
|
+
*/
|
|
2589
|
+
statics: 'DEFINE_MANY',
|
|
2590
|
+
|
|
2591
|
+
/**
|
|
2592
|
+
* Definition of prop types for this component.
|
|
2593
|
+
*
|
|
2594
|
+
* @type {object}
|
|
2595
|
+
* @optional
|
|
2596
|
+
*/
|
|
2597
|
+
propTypes: 'DEFINE_MANY',
|
|
2598
|
+
|
|
2599
|
+
/**
|
|
2600
|
+
* Definition of context types for this component.
|
|
2601
|
+
*
|
|
2602
|
+
* @type {object}
|
|
2603
|
+
* @optional
|
|
2604
|
+
*/
|
|
2605
|
+
contextTypes: 'DEFINE_MANY',
|
|
2606
|
+
|
|
2607
|
+
/**
|
|
2608
|
+
* Definition of context types this component sets for its children.
|
|
2609
|
+
*
|
|
2610
|
+
* @type {object}
|
|
2611
|
+
* @optional
|
|
2612
|
+
*/
|
|
2613
|
+
childContextTypes: 'DEFINE_MANY',
|
|
2614
|
+
|
|
2615
|
+
// ==== Definition methods ====
|
|
2616
|
+
|
|
2617
|
+
/**
|
|
2618
|
+
* Invoked when the component is mounted. Values in the mapping will be set on
|
|
2619
|
+
* `this.props` if that prop is not specified (i.e. using an `in` check).
|
|
2620
|
+
*
|
|
2621
|
+
* This method is invoked before `getInitialState` and therefore cannot rely
|
|
2622
|
+
* on `this.state` or use `this.setState`.
|
|
2623
|
+
*
|
|
2624
|
+
* @return {object}
|
|
2625
|
+
* @optional
|
|
2626
|
+
*/
|
|
2627
|
+
getDefaultProps: 'DEFINE_MANY_MERGED',
|
|
2628
|
+
|
|
2629
|
+
/**
|
|
2630
|
+
* Invoked once before the component is mounted. The return value will be used
|
|
2631
|
+
* as the initial value of `this.state`.
|
|
2632
|
+
*
|
|
2633
|
+
* getInitialState: function() {
|
|
2634
|
+
* return {
|
|
2635
|
+
* isOn: false,
|
|
2636
|
+
* fooBaz: new BazFoo()
|
|
2637
|
+
* }
|
|
2638
|
+
* }
|
|
2639
|
+
*
|
|
2640
|
+
* @return {object}
|
|
2641
|
+
* @optional
|
|
2642
|
+
*/
|
|
2643
|
+
getInitialState: 'DEFINE_MANY_MERGED',
|
|
2644
|
+
|
|
2645
|
+
/**
|
|
2646
|
+
* @return {object}
|
|
2647
|
+
* @optional
|
|
2648
|
+
*/
|
|
2649
|
+
getChildContext: 'DEFINE_MANY_MERGED',
|
|
2650
|
+
|
|
2651
|
+
/**
|
|
2652
|
+
* Uses props from `this.props` and state from `this.state` to render the
|
|
2653
|
+
* structure of the component.
|
|
2654
|
+
*
|
|
2655
|
+
* No guarantees are made about when or how often this method is invoked, so
|
|
2656
|
+
* it must not have side effects.
|
|
2657
|
+
*
|
|
2658
|
+
* render: function() {
|
|
2659
|
+
* var name = this.props.name;
|
|
2660
|
+
* return <div>Hello, {name}!</div>;
|
|
2661
|
+
* }
|
|
2662
|
+
*
|
|
2663
|
+
* @return {ReactComponent}
|
|
2664
|
+
* @required
|
|
2665
|
+
*/
|
|
2666
|
+
render: 'DEFINE_ONCE',
|
|
2667
|
+
|
|
2668
|
+
// ==== Delegate methods ====
|
|
2669
|
+
|
|
2670
|
+
/**
|
|
2671
|
+
* Invoked when the component is initially created and about to be mounted.
|
|
2672
|
+
* This may have side effects, but any external subscriptions or data created
|
|
2673
|
+
* by this method must be cleaned up in `componentWillUnmount`.
|
|
2674
|
+
*
|
|
2675
|
+
* @optional
|
|
2676
|
+
*/
|
|
2677
|
+
componentWillMount: 'DEFINE_MANY',
|
|
2678
|
+
|
|
2679
|
+
/**
|
|
2680
|
+
* Invoked when the component has been mounted and has a DOM representation.
|
|
2681
|
+
* However, there is no guarantee that the DOM node is in the document.
|
|
2682
|
+
*
|
|
2683
|
+
* Use this as an opportunity to operate on the DOM when the component has
|
|
2684
|
+
* been mounted (initialized and rendered) for the first time.
|
|
2685
|
+
*
|
|
2686
|
+
* @param {DOMElement} rootNode DOM element representing the component.
|
|
2687
|
+
* @optional
|
|
2688
|
+
*/
|
|
2689
|
+
componentDidMount: 'DEFINE_MANY',
|
|
2690
|
+
|
|
2691
|
+
/**
|
|
2692
|
+
* Invoked before the component receives new props.
|
|
2693
|
+
*
|
|
2694
|
+
* Use this as an opportunity to react to a prop transition by updating the
|
|
2695
|
+
* state using `this.setState`. Current props are accessed via `this.props`.
|
|
2696
|
+
*
|
|
2697
|
+
* componentWillReceiveProps: function(nextProps, nextContext) {
|
|
2698
|
+
* this.setState({
|
|
2699
|
+
* likesIncreasing: nextProps.likeCount > this.props.likeCount
|
|
2700
|
+
* });
|
|
2701
|
+
* }
|
|
2702
|
+
*
|
|
2703
|
+
* NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop
|
|
2704
|
+
* transition may cause a state change, but the opposite is not true. If you
|
|
2705
|
+
* need it, you are probably looking for `componentWillUpdate`.
|
|
2706
|
+
*
|
|
2707
|
+
* @param {object} nextProps
|
|
2708
|
+
* @optional
|
|
2709
|
+
*/
|
|
2710
|
+
componentWillReceiveProps: 'DEFINE_MANY',
|
|
2711
|
+
|
|
2712
|
+
/**
|
|
2713
|
+
* Invoked while deciding if the component should be updated as a result of
|
|
2714
|
+
* receiving new props, state and/or context.
|
|
2715
|
+
*
|
|
2716
|
+
* Use this as an opportunity to `return false` when you're certain that the
|
|
2717
|
+
* transition to the new props/state/context will not require a component
|
|
2718
|
+
* update.
|
|
2719
|
+
*
|
|
2720
|
+
* shouldComponentUpdate: function(nextProps, nextState, nextContext) {
|
|
2721
|
+
* return !equal(nextProps, this.props) ||
|
|
2722
|
+
* !equal(nextState, this.state) ||
|
|
2723
|
+
* !equal(nextContext, this.context);
|
|
2724
|
+
* }
|
|
2725
|
+
*
|
|
2726
|
+
* @param {object} nextProps
|
|
2727
|
+
* @param {?object} nextState
|
|
2728
|
+
* @param {?object} nextContext
|
|
2729
|
+
* @return {boolean} True if the component should update.
|
|
2730
|
+
* @optional
|
|
2731
|
+
*/
|
|
2732
|
+
shouldComponentUpdate: 'DEFINE_ONCE',
|
|
2733
|
+
|
|
2734
|
+
/**
|
|
2735
|
+
* Invoked when the component is about to update due to a transition from
|
|
2736
|
+
* `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`
|
|
2737
|
+
* and `nextContext`.
|
|
2738
|
+
*
|
|
2739
|
+
* Use this as an opportunity to perform preparation before an update occurs.
|
|
2740
|
+
*
|
|
2741
|
+
* NOTE: You **cannot** use `this.setState()` in this method.
|
|
2742
|
+
*
|
|
2743
|
+
* @param {object} nextProps
|
|
2744
|
+
* @param {?object} nextState
|
|
2745
|
+
* @param {?object} nextContext
|
|
2746
|
+
* @param {ReactReconcileTransaction} transaction
|
|
2747
|
+
* @optional
|
|
2748
|
+
*/
|
|
2749
|
+
componentWillUpdate: 'DEFINE_MANY',
|
|
2750
|
+
|
|
2751
|
+
/**
|
|
2752
|
+
* Invoked when the component's DOM representation has been updated.
|
|
2753
|
+
*
|
|
2754
|
+
* Use this as an opportunity to operate on the DOM when the component has
|
|
2755
|
+
* been updated.
|
|
2756
|
+
*
|
|
2757
|
+
* @param {object} prevProps
|
|
2758
|
+
* @param {?object} prevState
|
|
2759
|
+
* @param {?object} prevContext
|
|
2760
|
+
* @param {DOMElement} rootNode DOM element representing the component.
|
|
2761
|
+
* @optional
|
|
2762
|
+
*/
|
|
2763
|
+
componentDidUpdate: 'DEFINE_MANY',
|
|
2764
|
+
|
|
2765
|
+
/**
|
|
2766
|
+
* Invoked when the component is about to be removed from its parent and have
|
|
2767
|
+
* its DOM representation destroyed.
|
|
2768
|
+
*
|
|
2769
|
+
* Use this as an opportunity to deallocate any external resources.
|
|
2770
|
+
*
|
|
2771
|
+
* NOTE: There is no `componentDidUnmount` since your component will have been
|
|
2772
|
+
* destroyed by that point.
|
|
2773
|
+
*
|
|
2774
|
+
* @optional
|
|
2775
|
+
*/
|
|
2776
|
+
componentWillUnmount: 'DEFINE_MANY',
|
|
2777
|
+
|
|
2778
|
+
// ==== Advanced methods ====
|
|
2779
|
+
|
|
2780
|
+
/**
|
|
2781
|
+
* Updates the component's currently mounted DOM representation.
|
|
2782
|
+
*
|
|
2783
|
+
* By default, this implements React's rendering and reconciliation algorithm.
|
|
2784
|
+
* Sophisticated clients may wish to override this.
|
|
2785
|
+
*
|
|
2786
|
+
* @param {ReactReconcileTransaction} transaction
|
|
2787
|
+
* @internal
|
|
2788
|
+
* @overridable
|
|
2789
|
+
*/
|
|
2790
|
+
updateComponent: 'OVERRIDE_BASE'
|
|
2791
|
+
};
|
|
2933
2792
|
|
|
2934
|
-
/**
|
|
2935
|
-
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2793
|
+
/**
|
|
2794
|
+
* Mapping from class specification keys to special processing functions.
|
|
2795
|
+
*
|
|
2796
|
+
* Although these are declared like instance properties in the specification
|
|
2797
|
+
* when defining classes using `React.createClass`, they are actually static
|
|
2798
|
+
* and are accessible on the constructor instead of the prototype. Despite
|
|
2799
|
+
* being static, they must be defined outside of the "statics" key under
|
|
2800
|
+
* which all other static methods are defined.
|
|
2801
|
+
*/
|
|
2802
|
+
var RESERVED_SPEC_KEYS = {
|
|
2803
|
+
displayName: function(Constructor, displayName) {
|
|
2804
|
+
Constructor.displayName = displayName;
|
|
2805
|
+
},
|
|
2806
|
+
mixins: function(Constructor, mixins) {
|
|
2807
|
+
if (mixins) {
|
|
2808
|
+
for (var i = 0; i < mixins.length; i++) {
|
|
2809
|
+
mixSpecIntoComponent(Constructor, mixins[i]);
|
|
2810
|
+
}
|
|
2811
|
+
}
|
|
2812
|
+
},
|
|
2813
|
+
childContextTypes: function(Constructor, childContextTypes) {
|
|
2814
|
+
if ("development" !== 'production') {
|
|
2815
|
+
validateTypeDef(Constructor, childContextTypes, 'childContext');
|
|
2816
|
+
}
|
|
2817
|
+
Constructor.childContextTypes = _assign(
|
|
2818
|
+
{},
|
|
2819
|
+
Constructor.childContextTypes,
|
|
2820
|
+
childContextTypes
|
|
2821
|
+
);
|
|
2822
|
+
},
|
|
2823
|
+
contextTypes: function(Constructor, contextTypes) {
|
|
2824
|
+
if ("development" !== 'production') {
|
|
2825
|
+
validateTypeDef(Constructor, contextTypes, 'context');
|
|
2826
|
+
}
|
|
2827
|
+
Constructor.contextTypes = _assign(
|
|
2828
|
+
{},
|
|
2829
|
+
Constructor.contextTypes,
|
|
2830
|
+
contextTypes
|
|
2831
|
+
);
|
|
2832
|
+
},
|
|
2833
|
+
/**
|
|
2834
|
+
* Special case getDefaultProps which should move into statics but requires
|
|
2835
|
+
* automatic merging.
|
|
2836
|
+
*/
|
|
2837
|
+
getDefaultProps: function(Constructor, getDefaultProps) {
|
|
2838
|
+
if (Constructor.getDefaultProps) {
|
|
2839
|
+
Constructor.getDefaultProps = createMergedResultFunction(
|
|
2840
|
+
Constructor.getDefaultProps,
|
|
2841
|
+
getDefaultProps
|
|
2842
|
+
);
|
|
2843
|
+
} else {
|
|
2844
|
+
Constructor.getDefaultProps = getDefaultProps;
|
|
2845
|
+
}
|
|
2846
|
+
},
|
|
2847
|
+
propTypes: function(Constructor, propTypes) {
|
|
2848
|
+
if ("development" !== 'production') {
|
|
2849
|
+
validateTypeDef(Constructor, propTypes, 'prop');
|
|
2850
|
+
}
|
|
2851
|
+
Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);
|
|
2852
|
+
},
|
|
2853
|
+
statics: function(Constructor, statics) {
|
|
2854
|
+
mixStaticSpecIntoComponent(Constructor, statics);
|
|
2855
|
+
},
|
|
2856
|
+
autobind: function() {}
|
|
2857
|
+
};
|
|
2940
2858
|
|
|
2941
|
-
function
|
|
2942
|
-
|
|
2859
|
+
function validateTypeDef(Constructor, typeDef, location) {
|
|
2860
|
+
for (var propName in typeDef) {
|
|
2861
|
+
if (typeDef.hasOwnProperty(propName)) {
|
|
2862
|
+
// use a warning instead of an _invariant so components
|
|
2863
|
+
// don't show up in prod but only in __DEV__
|
|
2864
|
+
if ("development" !== 'production') {
|
|
2865
|
+
warning(
|
|
2866
|
+
typeof typeDef[propName] === 'function',
|
|
2867
|
+
'%s: %s type `%s` is invalid; it must be a function, usually from ' +
|
|
2868
|
+
'React.PropTypes.',
|
|
2869
|
+
Constructor.displayName || 'ReactClass',
|
|
2870
|
+
ReactPropTypeLocationNames[location],
|
|
2871
|
+
propName
|
|
2872
|
+
);
|
|
2873
|
+
}
|
|
2874
|
+
}
|
|
2875
|
+
}
|
|
2876
|
+
}
|
|
2943
2877
|
|
|
2944
|
-
|
|
2878
|
+
function validateMethodOverride(isAlreadyDefined, name) {
|
|
2879
|
+
var specPolicy = ReactClassInterface.hasOwnProperty(name)
|
|
2880
|
+
? ReactClassInterface[name]
|
|
2881
|
+
: null;
|
|
2882
|
+
|
|
2883
|
+
// Disallow overriding of base class methods unless explicitly allowed.
|
|
2884
|
+
if (ReactClassMixin.hasOwnProperty(name)) {
|
|
2885
|
+
_invariant(
|
|
2886
|
+
specPolicy === 'OVERRIDE_BASE',
|
|
2887
|
+
'ReactClassInterface: You are attempting to override ' +
|
|
2888
|
+
'`%s` from your class specification. Ensure that your method names ' +
|
|
2889
|
+
'do not overlap with React methods.',
|
|
2890
|
+
name
|
|
2891
|
+
);
|
|
2892
|
+
}
|
|
2893
|
+
|
|
2894
|
+
// Disallow defining methods more than once unless explicitly allowed.
|
|
2895
|
+
if (isAlreadyDefined) {
|
|
2896
|
+
_invariant(
|
|
2897
|
+
specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED',
|
|
2898
|
+
'ReactClassInterface: You are attempting to define ' +
|
|
2899
|
+
'`%s` on your component more than once. This conflict may be due ' +
|
|
2900
|
+
'to a mixin.',
|
|
2901
|
+
name
|
|
2902
|
+
);
|
|
2903
|
+
}
|
|
2904
|
+
}
|
|
2905
|
+
|
|
2906
|
+
/**
|
|
2907
|
+
* Mixin helper which handles policy validation and reserved
|
|
2908
|
+
* specification keys when building React classes.
|
|
2909
|
+
*/
|
|
2910
|
+
function mixSpecIntoComponent(Constructor, spec) {
|
|
2911
|
+
if (!spec) {
|
|
2912
|
+
if ("development" !== 'production') {
|
|
2913
|
+
var typeofSpec = typeof spec;
|
|
2914
|
+
var isMixinValid = typeofSpec === 'object' && spec !== null;
|
|
2915
|
+
|
|
2916
|
+
if ("development" !== 'production') {
|
|
2917
|
+
warning(
|
|
2918
|
+
isMixinValid,
|
|
2919
|
+
"%s: You're attempting to include a mixin that is either null " +
|
|
2920
|
+
'or not an object. Check the mixins included by the component, ' +
|
|
2921
|
+
'as well as any mixins they include themselves. ' +
|
|
2922
|
+
'Expected object but got %s.',
|
|
2923
|
+
Constructor.displayName || 'ReactClass',
|
|
2924
|
+
spec === null ? null : typeofSpec
|
|
2925
|
+
);
|
|
2926
|
+
}
|
|
2927
|
+
}
|
|
2928
|
+
|
|
2929
|
+
return;
|
|
2930
|
+
}
|
|
2931
|
+
|
|
2932
|
+
_invariant(
|
|
2933
|
+
typeof spec !== 'function',
|
|
2934
|
+
"ReactClass: You're attempting to " +
|
|
2935
|
+
'use a component class or function as a mixin. Instead, just use a ' +
|
|
2936
|
+
'regular object.'
|
|
2937
|
+
);
|
|
2938
|
+
_invariant(
|
|
2939
|
+
!isValidElement(spec),
|
|
2940
|
+
"ReactClass: You're attempting to " +
|
|
2941
|
+
'use a component as a mixin. Instead, just use a regular object.'
|
|
2942
|
+
);
|
|
2943
|
+
|
|
2944
|
+
var proto = Constructor.prototype;
|
|
2945
|
+
var autoBindPairs = proto.__reactAutoBindPairs;
|
|
2946
|
+
|
|
2947
|
+
// By handling mixins before any other properties, we ensure the same
|
|
2948
|
+
// chaining order is applied to methods with DEFINE_MANY policy, whether
|
|
2949
|
+
// mixins are listed before or after these methods in the spec.
|
|
2950
|
+
if (spec.hasOwnProperty(MIXINS_KEY)) {
|
|
2951
|
+
RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);
|
|
2952
|
+
}
|
|
2953
|
+
|
|
2954
|
+
for (var name in spec) {
|
|
2955
|
+
if (!spec.hasOwnProperty(name)) {
|
|
2956
|
+
continue;
|
|
2957
|
+
}
|
|
2958
|
+
|
|
2959
|
+
if (name === MIXINS_KEY) {
|
|
2960
|
+
// We have already handled mixins in a special case above.
|
|
2961
|
+
continue;
|
|
2962
|
+
}
|
|
2963
|
+
|
|
2964
|
+
var property = spec[name];
|
|
2965
|
+
var isAlreadyDefined = proto.hasOwnProperty(name);
|
|
2966
|
+
validateMethodOverride(isAlreadyDefined, name);
|
|
2967
|
+
|
|
2968
|
+
if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {
|
|
2969
|
+
RESERVED_SPEC_KEYS[name](Constructor, property);
|
|
2970
|
+
} else {
|
|
2971
|
+
// Setup methods on prototype:
|
|
2972
|
+
// The following member methods should not be automatically bound:
|
|
2973
|
+
// 1. Expected ReactClass methods (in the "interface").
|
|
2974
|
+
// 2. Overridden methods (that were mixed in).
|
|
2975
|
+
var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);
|
|
2976
|
+
var isFunction = typeof property === 'function';
|
|
2977
|
+
var shouldAutoBind =
|
|
2978
|
+
isFunction &&
|
|
2979
|
+
!isReactClassMethod &&
|
|
2980
|
+
!isAlreadyDefined &&
|
|
2981
|
+
spec.autobind !== false;
|
|
2982
|
+
|
|
2983
|
+
if (shouldAutoBind) {
|
|
2984
|
+
autoBindPairs.push(name, property);
|
|
2985
|
+
proto[name] = property;
|
|
2986
|
+
} else {
|
|
2987
|
+
if (isAlreadyDefined) {
|
|
2988
|
+
var specPolicy = ReactClassInterface[name];
|
|
2989
|
+
|
|
2990
|
+
// These cases should already be caught by validateMethodOverride.
|
|
2991
|
+
_invariant(
|
|
2992
|
+
isReactClassMethod &&
|
|
2993
|
+
(specPolicy === 'DEFINE_MANY_MERGED' ||
|
|
2994
|
+
specPolicy === 'DEFINE_MANY'),
|
|
2995
|
+
'ReactClass: Unexpected spec policy %s for key %s ' +
|
|
2996
|
+
'when mixing in component specs.',
|
|
2997
|
+
specPolicy,
|
|
2998
|
+
name
|
|
2999
|
+
);
|
|
3000
|
+
|
|
3001
|
+
// For methods which are defined more than once, call the existing
|
|
3002
|
+
// methods before calling the new property, merging if appropriate.
|
|
3003
|
+
if (specPolicy === 'DEFINE_MANY_MERGED') {
|
|
3004
|
+
proto[name] = createMergedResultFunction(proto[name], property);
|
|
3005
|
+
} else if (specPolicy === 'DEFINE_MANY') {
|
|
3006
|
+
proto[name] = createChainedFunction(proto[name], property);
|
|
3007
|
+
}
|
|
3008
|
+
} else {
|
|
3009
|
+
proto[name] = property;
|
|
3010
|
+
if ("development" !== 'production') {
|
|
3011
|
+
// Add verbose displayName to the function, which helps when looking
|
|
3012
|
+
// at profiling tools.
|
|
3013
|
+
if (typeof property === 'function' && spec.displayName) {
|
|
3014
|
+
proto[name].displayName = spec.displayName + '_' + name;
|
|
3015
|
+
}
|
|
3016
|
+
}
|
|
3017
|
+
}
|
|
3018
|
+
}
|
|
3019
|
+
}
|
|
3020
|
+
}
|
|
3021
|
+
}
|
|
3022
|
+
|
|
3023
|
+
function mixStaticSpecIntoComponent(Constructor, statics) {
|
|
3024
|
+
if (!statics) {
|
|
3025
|
+
return;
|
|
3026
|
+
}
|
|
3027
|
+
for (var name in statics) {
|
|
3028
|
+
var property = statics[name];
|
|
3029
|
+
if (!statics.hasOwnProperty(name)) {
|
|
3030
|
+
continue;
|
|
3031
|
+
}
|
|
3032
|
+
|
|
3033
|
+
var isReserved = name in RESERVED_SPEC_KEYS;
|
|
3034
|
+
_invariant(
|
|
3035
|
+
!isReserved,
|
|
3036
|
+
'ReactClass: You are attempting to define a reserved ' +
|
|
3037
|
+
'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' +
|
|
3038
|
+
'as an instance property instead; it will still be accessible on the ' +
|
|
3039
|
+
'constructor.',
|
|
3040
|
+
name
|
|
3041
|
+
);
|
|
3042
|
+
|
|
3043
|
+
var isInherited = name in Constructor;
|
|
3044
|
+
_invariant(
|
|
3045
|
+
!isInherited,
|
|
3046
|
+
'ReactClass: You are attempting to define ' +
|
|
3047
|
+
'`%s` on your component more than once. This conflict may be ' +
|
|
3048
|
+
'due to a mixin.',
|
|
3049
|
+
name
|
|
3050
|
+
);
|
|
3051
|
+
Constructor[name] = property;
|
|
3052
|
+
}
|
|
3053
|
+
}
|
|
3054
|
+
|
|
3055
|
+
/**
|
|
3056
|
+
* Merge two objects, but throw if both contain the same key.
|
|
3057
|
+
*
|
|
3058
|
+
* @param {object} one The first object, which is mutated.
|
|
3059
|
+
* @param {object} two The second object
|
|
3060
|
+
* @return {object} one after it has been mutated to contain everything in two.
|
|
3061
|
+
*/
|
|
3062
|
+
function mergeIntoWithNoDuplicateKeys(one, two) {
|
|
3063
|
+
_invariant(
|
|
3064
|
+
one && two && typeof one === 'object' && typeof two === 'object',
|
|
3065
|
+
'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'
|
|
3066
|
+
);
|
|
3067
|
+
|
|
3068
|
+
for (var key in two) {
|
|
3069
|
+
if (two.hasOwnProperty(key)) {
|
|
3070
|
+
_invariant(
|
|
3071
|
+
one[key] === undefined,
|
|
3072
|
+
'mergeIntoWithNoDuplicateKeys(): ' +
|
|
3073
|
+
'Tried to merge two objects with the same key: `%s`. This conflict ' +
|
|
3074
|
+
'may be due to a mixin; in particular, this may be caused by two ' +
|
|
3075
|
+
'getInitialState() or getDefaultProps() methods returning objects ' +
|
|
3076
|
+
'with clashing keys.',
|
|
3077
|
+
key
|
|
3078
|
+
);
|
|
3079
|
+
one[key] = two[key];
|
|
3080
|
+
}
|
|
3081
|
+
}
|
|
3082
|
+
return one;
|
|
3083
|
+
}
|
|
3084
|
+
|
|
3085
|
+
/**
|
|
3086
|
+
* Creates a function that invokes two functions and merges their return values.
|
|
3087
|
+
*
|
|
3088
|
+
* @param {function} one Function to invoke first.
|
|
3089
|
+
* @param {function} two Function to invoke second.
|
|
3090
|
+
* @return {function} Function that invokes the two argument functions.
|
|
3091
|
+
* @private
|
|
3092
|
+
*/
|
|
3093
|
+
function createMergedResultFunction(one, two) {
|
|
3094
|
+
return function mergedResult() {
|
|
3095
|
+
var a = one.apply(this, arguments);
|
|
3096
|
+
var b = two.apply(this, arguments);
|
|
3097
|
+
if (a == null) {
|
|
3098
|
+
return b;
|
|
3099
|
+
} else if (b == null) {
|
|
3100
|
+
return a;
|
|
3101
|
+
}
|
|
3102
|
+
var c = {};
|
|
3103
|
+
mergeIntoWithNoDuplicateKeys(c, a);
|
|
3104
|
+
mergeIntoWithNoDuplicateKeys(c, b);
|
|
3105
|
+
return c;
|
|
3106
|
+
};
|
|
3107
|
+
}
|
|
3108
|
+
|
|
3109
|
+
/**
|
|
3110
|
+
* Creates a function that invokes two functions and ignores their return vales.
|
|
3111
|
+
*
|
|
3112
|
+
* @param {function} one Function to invoke first.
|
|
3113
|
+
* @param {function} two Function to invoke second.
|
|
3114
|
+
* @return {function} Function that invokes the two argument functions.
|
|
3115
|
+
* @private
|
|
3116
|
+
*/
|
|
3117
|
+
function createChainedFunction(one, two) {
|
|
3118
|
+
return function chainedFunction() {
|
|
3119
|
+
one.apply(this, arguments);
|
|
3120
|
+
two.apply(this, arguments);
|
|
3121
|
+
};
|
|
3122
|
+
}
|
|
3123
|
+
|
|
3124
|
+
/**
|
|
3125
|
+
* Binds a method to the component.
|
|
3126
|
+
*
|
|
3127
|
+
* @param {object} component Component whose method is going to be bound.
|
|
3128
|
+
* @param {function} method Method to be bound.
|
|
3129
|
+
* @return {function} The bound method.
|
|
3130
|
+
*/
|
|
3131
|
+
function bindAutoBindMethod(component, method) {
|
|
3132
|
+
var boundMethod = method.bind(component);
|
|
3133
|
+
if ("development" !== 'production') {
|
|
3134
|
+
boundMethod.__reactBoundContext = component;
|
|
3135
|
+
boundMethod.__reactBoundMethod = method;
|
|
3136
|
+
boundMethod.__reactBoundArguments = null;
|
|
3137
|
+
var componentName = component.constructor.displayName;
|
|
3138
|
+
var _bind = boundMethod.bind;
|
|
3139
|
+
boundMethod.bind = function(newThis) {
|
|
3140
|
+
for (
|
|
3141
|
+
var _len = arguments.length,
|
|
3142
|
+
args = Array(_len > 1 ? _len - 1 : 0),
|
|
3143
|
+
_key = 1;
|
|
3144
|
+
_key < _len;
|
|
3145
|
+
_key++
|
|
3146
|
+
) {
|
|
3147
|
+
args[_key - 1] = arguments[_key];
|
|
3148
|
+
}
|
|
3149
|
+
|
|
3150
|
+
// User is trying to bind() an autobound method; we effectively will
|
|
3151
|
+
// ignore the value of "this" that the user is trying to use, so
|
|
3152
|
+
// let's warn.
|
|
3153
|
+
if (newThis !== component && newThis !== null) {
|
|
3154
|
+
if ("development" !== 'production') {
|
|
3155
|
+
warning(
|
|
3156
|
+
false,
|
|
3157
|
+
'bind(): React component methods may only be bound to the ' +
|
|
3158
|
+
'component instance. See %s',
|
|
3159
|
+
componentName
|
|
3160
|
+
);
|
|
3161
|
+
}
|
|
3162
|
+
} else if (!args.length) {
|
|
3163
|
+
if ("development" !== 'production') {
|
|
3164
|
+
warning(
|
|
3165
|
+
false,
|
|
3166
|
+
'bind(): You are binding a component method to the component. ' +
|
|
3167
|
+
'React does this for you automatically in a high-performance ' +
|
|
3168
|
+
'way, so you can safely remove this call. See %s',
|
|
3169
|
+
componentName
|
|
3170
|
+
);
|
|
3171
|
+
}
|
|
3172
|
+
return boundMethod;
|
|
3173
|
+
}
|
|
3174
|
+
var reboundMethod = _bind.apply(boundMethod, arguments);
|
|
3175
|
+
reboundMethod.__reactBoundContext = component;
|
|
3176
|
+
reboundMethod.__reactBoundMethod = method;
|
|
3177
|
+
reboundMethod.__reactBoundArguments = args;
|
|
3178
|
+
return reboundMethod;
|
|
3179
|
+
};
|
|
3180
|
+
}
|
|
3181
|
+
return boundMethod;
|
|
3182
|
+
}
|
|
2945
3183
|
|
|
2946
|
-
|
|
2947
|
-
|
|
3184
|
+
/**
|
|
3185
|
+
* Binds all auto-bound methods in a component.
|
|
3186
|
+
*
|
|
3187
|
+
* @param {object} component Component whose method is going to be bound.
|
|
3188
|
+
*/
|
|
3189
|
+
function bindAutoBindMethods(component) {
|
|
3190
|
+
var pairs = component.__reactAutoBindPairs;
|
|
3191
|
+
for (var i = 0; i < pairs.length; i += 2) {
|
|
3192
|
+
var autoBindKey = pairs[i];
|
|
3193
|
+
var method = pairs[i + 1];
|
|
3194
|
+
component[autoBindKey] = bindAutoBindMethod(component, method);
|
|
3195
|
+
}
|
|
2948
3196
|
}
|
|
2949
3197
|
|
|
2950
|
-
|
|
3198
|
+
var IsMountedPreMixin = {
|
|
3199
|
+
componentDidMount: function() {
|
|
3200
|
+
this.__isMounted = true;
|
|
3201
|
+
}
|
|
3202
|
+
};
|
|
2951
3203
|
|
|
2952
|
-
var
|
|
2953
|
-
|
|
2954
|
-
|
|
3204
|
+
var IsMountedPostMixin = {
|
|
3205
|
+
componentWillUnmount: function() {
|
|
3206
|
+
this.__isMounted = false;
|
|
3207
|
+
}
|
|
3208
|
+
};
|
|
2955
3209
|
|
|
2956
|
-
|
|
2957
|
-
|
|
3210
|
+
/**
|
|
3211
|
+
* Add more to the ReactClass base class. These are all legacy features and
|
|
3212
|
+
* therefore not already part of the modern ReactComponent.
|
|
3213
|
+
*/
|
|
3214
|
+
var ReactClassMixin = {
|
|
3215
|
+
/**
|
|
3216
|
+
* TODO: This will be deprecated because state should always keep a consistent
|
|
3217
|
+
* type signature and the only use case for this, is to avoid that.
|
|
3218
|
+
*/
|
|
3219
|
+
replaceState: function(newState, callback) {
|
|
3220
|
+
this.updater.enqueueReplaceState(this, newState, callback);
|
|
3221
|
+
},
|
|
3222
|
+
|
|
3223
|
+
/**
|
|
3224
|
+
* Checks whether or not this composite component is mounted.
|
|
3225
|
+
* @return {boolean} True if mounted, false otherwise.
|
|
3226
|
+
* @protected
|
|
3227
|
+
* @final
|
|
3228
|
+
*/
|
|
3229
|
+
isMounted: function() {
|
|
3230
|
+
if ("development" !== 'production') {
|
|
3231
|
+
warning(
|
|
3232
|
+
this.__didWarnIsMounted,
|
|
3233
|
+
'%s: isMounted is deprecated. Instead, make sure to clean up ' +
|
|
3234
|
+
'subscriptions and pending requests in componentWillUnmount to ' +
|
|
3235
|
+
'prevent memory leaks.',
|
|
3236
|
+
(this.constructor && this.constructor.displayName) ||
|
|
3237
|
+
this.name ||
|
|
3238
|
+
'Component'
|
|
3239
|
+
);
|
|
3240
|
+
this.__didWarnIsMounted = true;
|
|
3241
|
+
}
|
|
3242
|
+
return !!this.__isMounted;
|
|
3243
|
+
}
|
|
3244
|
+
};
|
|
2958
3245
|
|
|
2959
|
-
|
|
2960
|
-
|
|
2961
|
-
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
* This source code is licensed under the BSD-style license found in the
|
|
2966
|
-
* LICENSE file in the root directory of this source tree. An additional grant
|
|
2967
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
2968
|
-
*
|
|
2969
|
-
*/
|
|
3246
|
+
var ReactClassComponent = function() {};
|
|
3247
|
+
_assign(
|
|
3248
|
+
ReactClassComponent.prototype,
|
|
3249
|
+
ReactComponent.prototype,
|
|
3250
|
+
ReactClassMixin
|
|
3251
|
+
);
|
|
2970
3252
|
|
|
2971
|
-
|
|
3253
|
+
/**
|
|
3254
|
+
* Creates a composite component class given a class specification.
|
|
3255
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.createclass
|
|
3256
|
+
*
|
|
3257
|
+
* @param {object} spec Class specification (which must define `render`).
|
|
3258
|
+
* @return {function} Component constructor function.
|
|
3259
|
+
* @public
|
|
3260
|
+
*/
|
|
3261
|
+
function createClass(spec) {
|
|
3262
|
+
// To keep our warnings more understandable, we'll use a little hack here to
|
|
3263
|
+
// ensure that Constructor.name !== 'Constructor'. This makes sure we don't
|
|
3264
|
+
// unnecessarily identify a class without displayName as 'Constructor'.
|
|
3265
|
+
var Constructor = identity(function(props, context, updater) {
|
|
3266
|
+
// This constructor gets overridden by mocks. The argument is used
|
|
3267
|
+
// by mocks to assert on what gets mounted.
|
|
2972
3268
|
|
|
2973
|
-
|
|
3269
|
+
if ("development" !== 'production') {
|
|
3270
|
+
warning(
|
|
3271
|
+
this instanceof Constructor,
|
|
3272
|
+
'Something is calling a React component directly. Use a factory or ' +
|
|
3273
|
+
'JSX instead. See: https://fb.me/react-legacyfactory'
|
|
3274
|
+
);
|
|
3275
|
+
}
|
|
2974
3276
|
|
|
2975
|
-
|
|
2976
|
-
|
|
3277
|
+
// Wire up auto-binding
|
|
3278
|
+
if (this.__reactAutoBindPairs.length) {
|
|
3279
|
+
bindAutoBindMethods(this);
|
|
3280
|
+
}
|
|
2977
3281
|
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
3282
|
+
this.props = props;
|
|
3283
|
+
this.context = context;
|
|
3284
|
+
this.refs = emptyObject;
|
|
3285
|
+
this.updater = updater || ReactNoopUpdateQueue;
|
|
2982
3286
|
|
|
2983
|
-
|
|
2984
|
-
var SUBSEPARATOR = ':';
|
|
3287
|
+
this.state = null;
|
|
2985
3288
|
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
* isomorphic and renderers. We could extract this to a
|
|
2989
|
-
*
|
|
2990
|
-
*/
|
|
3289
|
+
// ReactClasses doesn't have constructors. Instead, they use the
|
|
3290
|
+
// getInitialState and componentWillMount methods for initialization.
|
|
2991
3291
|
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
|
|
3292
|
+
var initialState = this.getInitialState ? this.getInitialState() : null;
|
|
3293
|
+
if ("development" !== 'production') {
|
|
3294
|
+
// We allow auto-mocks to proceed as if they're returning null.
|
|
3295
|
+
if (
|
|
3296
|
+
initialState === undefined &&
|
|
3297
|
+
this.getInitialState._isMockFunction
|
|
3298
|
+
) {
|
|
3299
|
+
// This is probably bad practice. Consider warning here and
|
|
3300
|
+
// deprecating this convenience.
|
|
3301
|
+
initialState = null;
|
|
3302
|
+
}
|
|
3303
|
+
}
|
|
3304
|
+
_invariant(
|
|
3305
|
+
typeof initialState === 'object' && !Array.isArray(initialState),
|
|
3306
|
+
'%s.getInitialState(): must return an object or null',
|
|
3307
|
+
Constructor.displayName || 'ReactCompositeComponent'
|
|
3308
|
+
);
|
|
2996
3309
|
|
|
2997
|
-
|
|
3310
|
+
this.state = initialState;
|
|
3311
|
+
});
|
|
3312
|
+
Constructor.prototype = new ReactClassComponent();
|
|
3313
|
+
Constructor.prototype.constructor = Constructor;
|
|
3314
|
+
Constructor.prototype.__reactAutoBindPairs = [];
|
|
2998
3315
|
|
|
2999
|
-
|
|
3000
|
-
* Generate a key string that identifies a component within a set.
|
|
3001
|
-
*
|
|
3002
|
-
* @param {*} component A component that could contain a manual key.
|
|
3003
|
-
* @param {number} index Index that is used if a manual key is not provided.
|
|
3004
|
-
* @return {string}
|
|
3005
|
-
*/
|
|
3006
|
-
function getComponentKey(component, index) {
|
|
3007
|
-
// Do some typechecking here since we call this blindly. We want to ensure
|
|
3008
|
-
// that we don't block potential future ES APIs.
|
|
3009
|
-
if (component && typeof component === 'object' && component.key != null) {
|
|
3010
|
-
// Explicit key
|
|
3011
|
-
return KeyEscapeUtils.escape(component.key);
|
|
3012
|
-
}
|
|
3013
|
-
// Implicit key determined by the index in the set
|
|
3014
|
-
return index.toString(36);
|
|
3015
|
-
}
|
|
3316
|
+
injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));
|
|
3016
3317
|
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
* @param {!function} callback Callback to invoke with each child found.
|
|
3021
|
-
* @param {?*} traverseContext Used to pass information throughout the traversal
|
|
3022
|
-
* process.
|
|
3023
|
-
* @return {!number} The number of children in this subtree.
|
|
3024
|
-
*/
|
|
3025
|
-
function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {
|
|
3026
|
-
var type = typeof children;
|
|
3318
|
+
mixSpecIntoComponent(Constructor, IsMountedPreMixin);
|
|
3319
|
+
mixSpecIntoComponent(Constructor, spec);
|
|
3320
|
+
mixSpecIntoComponent(Constructor, IsMountedPostMixin);
|
|
3027
3321
|
|
|
3028
|
-
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
|
|
3322
|
+
// Initialize the defaultProps property after all mixins have been merged.
|
|
3323
|
+
if (Constructor.getDefaultProps) {
|
|
3324
|
+
Constructor.defaultProps = Constructor.getDefaultProps();
|
|
3325
|
+
}
|
|
3032
3326
|
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
|
|
3036
|
-
|
|
3037
|
-
|
|
3038
|
-
|
|
3039
|
-
|
|
3040
|
-
|
|
3041
|
-
|
|
3042
|
-
|
|
3327
|
+
if ("development" !== 'production') {
|
|
3328
|
+
// This is a tag to indicate that the use of these method names is ok,
|
|
3329
|
+
// since it's used with createClass. If it's not, then it's likely a
|
|
3330
|
+
// mistake so we'll warn you to use the static property, property
|
|
3331
|
+
// initializer or constructor respectively.
|
|
3332
|
+
if (Constructor.getDefaultProps) {
|
|
3333
|
+
Constructor.getDefaultProps.isReactClassApproved = {};
|
|
3334
|
+
}
|
|
3335
|
+
if (Constructor.prototype.getInitialState) {
|
|
3336
|
+
Constructor.prototype.getInitialState.isReactClassApproved = {};
|
|
3337
|
+
}
|
|
3338
|
+
}
|
|
3043
3339
|
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3340
|
+
_invariant(
|
|
3341
|
+
Constructor.prototype.render,
|
|
3342
|
+
'createClass(...): Class specification must implement a `render` method.'
|
|
3343
|
+
);
|
|
3048
3344
|
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
|
|
3345
|
+
if ("development" !== 'production') {
|
|
3346
|
+
warning(
|
|
3347
|
+
!Constructor.prototype.componentShouldUpdate,
|
|
3348
|
+
'%s has a method called ' +
|
|
3349
|
+
'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' +
|
|
3350
|
+
'The name is phrased as a question because the function is ' +
|
|
3351
|
+
'expected to return a value.',
|
|
3352
|
+
spec.displayName || 'A component'
|
|
3353
|
+
);
|
|
3354
|
+
warning(
|
|
3355
|
+
!Constructor.prototype.componentWillRecieveProps,
|
|
3356
|
+
'%s has a method called ' +
|
|
3357
|
+
'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',
|
|
3358
|
+
spec.displayName || 'A component'
|
|
3359
|
+
);
|
|
3054
3360
|
}
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
if (iteratorFn !== children.entries) {
|
|
3061
|
-
var ii = 0;
|
|
3062
|
-
while (!(step = iterator.next()).done) {
|
|
3063
|
-
child = step.value;
|
|
3064
|
-
nextName = nextNamePrefix + getComponentKey(child, ii++);
|
|
3065
|
-
subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
|
|
3066
|
-
}
|
|
3067
|
-
} else {
|
|
3068
|
-
if ("development" !== 'production') {
|
|
3069
|
-
var mapsAsChildrenAddendum = '';
|
|
3070
|
-
if (ReactCurrentOwner.current) {
|
|
3071
|
-
var mapsAsChildrenOwnerName = ReactCurrentOwner.current.getName();
|
|
3072
|
-
if (mapsAsChildrenOwnerName) {
|
|
3073
|
-
mapsAsChildrenAddendum = ' Check the render method of `' + mapsAsChildrenOwnerName + '`.';
|
|
3074
|
-
}
|
|
3075
|
-
}
|
|
3076
|
-
"development" !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.%s', mapsAsChildrenAddendum) : void 0;
|
|
3077
|
-
didWarnAboutMaps = true;
|
|
3078
|
-
}
|
|
3079
|
-
// Iterator will provide entry [k,v] tuples rather than values.
|
|
3080
|
-
while (!(step = iterator.next()).done) {
|
|
3081
|
-
var entry = step.value;
|
|
3082
|
-
if (entry) {
|
|
3083
|
-
child = entry[1];
|
|
3084
|
-
nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0);
|
|
3085
|
-
subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
|
|
3086
|
-
}
|
|
3087
|
-
}
|
|
3088
|
-
}
|
|
3089
|
-
} else if (type === 'object') {
|
|
3090
|
-
var addendum = '';
|
|
3091
|
-
if ("development" !== 'production') {
|
|
3092
|
-
addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.';
|
|
3093
|
-
if (children._isReactElement) {
|
|
3094
|
-
addendum = ' It looks like you\'re using an element created by a different ' + 'version of React. Make sure to use only one copy of React.';
|
|
3095
|
-
}
|
|
3096
|
-
if (ReactCurrentOwner.current) {
|
|
3097
|
-
var name = ReactCurrentOwner.current.getName();
|
|
3098
|
-
if (name) {
|
|
3099
|
-
addendum += ' Check the render method of `' + name + '`.';
|
|
3100
|
-
}
|
|
3101
|
-
}
|
|
3361
|
+
|
|
3362
|
+
// Reduce time spent doing lookups by setting these on the prototype.
|
|
3363
|
+
for (var methodName in ReactClassInterface) {
|
|
3364
|
+
if (!Constructor.prototype[methodName]) {
|
|
3365
|
+
Constructor.prototype[methodName] = null;
|
|
3102
3366
|
}
|
|
3103
|
-
var childrenString = String(children);
|
|
3104
|
-
!false ? "development" !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : _prodInvariant('31', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : void 0;
|
|
3105
3367
|
}
|
|
3106
|
-
}
|
|
3107
|
-
|
|
3108
|
-
return subtreeCount;
|
|
3109
|
-
}
|
|
3110
3368
|
|
|
3111
|
-
|
|
3112
|
-
* Traverses children that are typically specified as `props.children`, but
|
|
3113
|
-
* might also be specified through attributes:
|
|
3114
|
-
*
|
|
3115
|
-
* - `traverseAllChildren(this.props.children, ...)`
|
|
3116
|
-
* - `traverseAllChildren(this.props.leftPanelChildren, ...)`
|
|
3117
|
-
*
|
|
3118
|
-
* The `traverseContext` is an optional argument that is passed through the
|
|
3119
|
-
* entire traversal. It can be used to store accumulations or anything else that
|
|
3120
|
-
* the callback might find relevant.
|
|
3121
|
-
*
|
|
3122
|
-
* @param {?*} children Children tree object.
|
|
3123
|
-
* @param {!function} callback To invoke upon traversing each child.
|
|
3124
|
-
* @param {?*} traverseContext Context for traversal.
|
|
3125
|
-
* @return {!number} The number of children in this subtree.
|
|
3126
|
-
*/
|
|
3127
|
-
function traverseAllChildren(children, callback, traverseContext) {
|
|
3128
|
-
if (children == null) {
|
|
3129
|
-
return 0;
|
|
3369
|
+
return Constructor;
|
|
3130
3370
|
}
|
|
3131
3371
|
|
|
3132
|
-
return
|
|
3372
|
+
return createClass;
|
|
3133
3373
|
}
|
|
3134
3374
|
|
|
3135
|
-
module.exports =
|
|
3136
|
-
|
|
3375
|
+
module.exports = factory;
|
|
3376
|
+
|
|
3377
|
+
},{"29":29,"30":30,"31":31,"32":32}],28:[function(_dereq_,module,exports){
|
|
3137
3378
|
"use strict";
|
|
3138
3379
|
|
|
3139
3380
|
/**
|
|
@@ -3172,7 +3413,7 @@ emptyFunction.thatReturnsArgument = function (arg) {
|
|
|
3172
3413
|
};
|
|
3173
3414
|
|
|
3174
3415
|
module.exports = emptyFunction;
|
|
3175
|
-
},{}],
|
|
3416
|
+
},{}],29:[function(_dereq_,module,exports){
|
|
3176
3417
|
/**
|
|
3177
3418
|
* Copyright (c) 2013-present, Facebook, Inc.
|
|
3178
3419
|
* All rights reserved.
|
|
@@ -3192,7 +3433,7 @@ if ("development" !== 'production') {
|
|
|
3192
3433
|
}
|
|
3193
3434
|
|
|
3194
3435
|
module.exports = emptyObject;
|
|
3195
|
-
},{}],
|
|
3436
|
+
},{}],30:[function(_dereq_,module,exports){
|
|
3196
3437
|
/**
|
|
3197
3438
|
* Copyright (c) 2013-present, Facebook, Inc.
|
|
3198
3439
|
* All rights reserved.
|
|
@@ -3248,7 +3489,7 @@ function invariant(condition, format, a, b, c, d, e, f) {
|
|
|
3248
3489
|
}
|
|
3249
3490
|
|
|
3250
3491
|
module.exports = invariant;
|
|
3251
|
-
},{}],
|
|
3492
|
+
},{}],31:[function(_dereq_,module,exports){
|
|
3252
3493
|
/**
|
|
3253
3494
|
* Copyright 2014-2015, Facebook, Inc.
|
|
3254
3495
|
* All rights reserved.
|
|
@@ -3261,7 +3502,7 @@ module.exports = invariant;
|
|
|
3261
3502
|
|
|
3262
3503
|
'use strict';
|
|
3263
3504
|
|
|
3264
|
-
var emptyFunction = _dereq_(
|
|
3505
|
+
var emptyFunction = _dereq_(28);
|
|
3265
3506
|
|
|
3266
3507
|
/**
|
|
3267
3508
|
* Similar to invariant but only logs a warning if the condition is not met.
|
|
@@ -3315,7 +3556,7 @@ if ("development" !== 'production') {
|
|
|
3315
3556
|
}
|
|
3316
3557
|
|
|
3317
3558
|
module.exports = warning;
|
|
3318
|
-
},{"
|
|
3559
|
+
},{"28":28}],32:[function(_dereq_,module,exports){
|
|
3319
3560
|
/*
|
|
3320
3561
|
object-assign
|
|
3321
3562
|
(c) Sindre Sorhus
|
|
@@ -3407,7 +3648,7 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
|
|
|
3407
3648
|
return to;
|
|
3408
3649
|
};
|
|
3409
3650
|
|
|
3410
|
-
},{}],
|
|
3651
|
+
},{}],33:[function(_dereq_,module,exports){
|
|
3411
3652
|
/**
|
|
3412
3653
|
* Copyright 2013-present, Facebook, Inc.
|
|
3413
3654
|
* All rights reserved.
|
|
@@ -3420,9 +3661,9 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
|
|
|
3420
3661
|
'use strict';
|
|
3421
3662
|
|
|
3422
3663
|
if ("development" !== 'production') {
|
|
3423
|
-
var invariant = _dereq_(
|
|
3424
|
-
var warning = _dereq_(
|
|
3425
|
-
var ReactPropTypesSecret = _dereq_(
|
|
3664
|
+
var invariant = _dereq_(30);
|
|
3665
|
+
var warning = _dereq_(31);
|
|
3666
|
+
var ReactPropTypesSecret = _dereq_(36);
|
|
3426
3667
|
var loggedTypeFailures = {};
|
|
3427
3668
|
}
|
|
3428
3669
|
|
|
@@ -3470,7 +3711,7 @@ function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
|
|
|
3470
3711
|
|
|
3471
3712
|
module.exports = checkPropTypes;
|
|
3472
3713
|
|
|
3473
|
-
},{"
|
|
3714
|
+
},{"30":30,"31":31,"36":36}],34:[function(_dereq_,module,exports){
|
|
3474
3715
|
/**
|
|
3475
3716
|
* Copyright 2013-present, Facebook, Inc.
|
|
3476
3717
|
* All rights reserved.
|
|
@@ -3486,14 +3727,14 @@ module.exports = checkPropTypes;
|
|
|
3486
3727
|
// Therefore we re-export development-only version with all the PropTypes checks here.
|
|
3487
3728
|
// However if one is migrating to the `prop-types` npm library, they will go through the
|
|
3488
3729
|
// `index.js` entry point, and it will branch depending on the environment.
|
|
3489
|
-
var factory = _dereq_(
|
|
3730
|
+
var factory = _dereq_(35);
|
|
3490
3731
|
module.exports = function(isValidElement) {
|
|
3491
3732
|
// It is still allowed in 15.5.
|
|
3492
3733
|
var throwOnDirectAccess = false;
|
|
3493
3734
|
return factory(isValidElement, throwOnDirectAccess);
|
|
3494
3735
|
};
|
|
3495
3736
|
|
|
3496
|
-
},{"
|
|
3737
|
+
},{"35":35}],35:[function(_dereq_,module,exports){
|
|
3497
3738
|
/**
|
|
3498
3739
|
* Copyright 2013-present, Facebook, Inc.
|
|
3499
3740
|
* All rights reserved.
|
|
@@ -3505,12 +3746,12 @@ module.exports = function(isValidElement) {
|
|
|
3505
3746
|
|
|
3506
3747
|
'use strict';
|
|
3507
3748
|
|
|
3508
|
-
var emptyFunction = _dereq_(
|
|
3509
|
-
var invariant = _dereq_(
|
|
3510
|
-
var warning = _dereq_(
|
|
3749
|
+
var emptyFunction = _dereq_(28);
|
|
3750
|
+
var invariant = _dereq_(30);
|
|
3751
|
+
var warning = _dereq_(31);
|
|
3511
3752
|
|
|
3512
|
-
var ReactPropTypesSecret = _dereq_(
|
|
3513
|
-
var checkPropTypes = _dereq_(
|
|
3753
|
+
var ReactPropTypesSecret = _dereq_(36);
|
|
3754
|
+
var checkPropTypes = _dereq_(33);
|
|
3514
3755
|
|
|
3515
3756
|
module.exports = function(isValidElement, throwOnDirectAccess) {
|
|
3516
3757
|
/* global Symbol */
|
|
@@ -3644,6 +3885,7 @@ module.exports = function(isValidElement, throwOnDirectAccess) {
|
|
|
3644
3885
|
function createChainableTypeChecker(validate) {
|
|
3645
3886
|
if ("development" !== 'production') {
|
|
3646
3887
|
var manualPropTypeCallCache = {};
|
|
3888
|
+
var manualPropTypeWarningCount = 0;
|
|
3647
3889
|
}
|
|
3648
3890
|
function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
|
|
3649
3891
|
componentName = componentName || ANONYMOUS;
|
|
@@ -3661,7 +3903,11 @@ module.exports = function(isValidElement, throwOnDirectAccess) {
|
|
|
3661
3903
|
} else if ("development" !== 'production' && typeof console !== 'undefined') {
|
|
3662
3904
|
// Old behavior for people using React.PropTypes
|
|
3663
3905
|
var cacheKey = componentName + ':' + propName;
|
|
3664
|
-
if (
|
|
3906
|
+
if (
|
|
3907
|
+
!manualPropTypeCallCache[cacheKey] &&
|
|
3908
|
+
// Avoid spamming the console because they are often not actionable except for lib authors
|
|
3909
|
+
manualPropTypeWarningCount < 3
|
|
3910
|
+
) {
|
|
3665
3911
|
warning(
|
|
3666
3912
|
false,
|
|
3667
3913
|
'You are manually calling a React.PropTypes validation ' +
|
|
@@ -3673,6 +3919,7 @@ module.exports = function(isValidElement, throwOnDirectAccess) {
|
|
|
3673
3919
|
componentName
|
|
3674
3920
|
);
|
|
3675
3921
|
manualPropTypeCallCache[cacheKey] = true;
|
|
3922
|
+
manualPropTypeWarningCount++;
|
|
3676
3923
|
}
|
|
3677
3924
|
}
|
|
3678
3925
|
}
|
|
@@ -3810,6 +4057,20 @@ module.exports = function(isValidElement, throwOnDirectAccess) {
|
|
|
3810
4057
|
return emptyFunction.thatReturnsNull;
|
|
3811
4058
|
}
|
|
3812
4059
|
|
|
4060
|
+
for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
|
|
4061
|
+
var checker = arrayOfTypeCheckers[i];
|
|
4062
|
+
if (typeof checker !== 'function') {
|
|
4063
|
+
warning(
|
|
4064
|
+
false,
|
|
4065
|
+
'Invalid argument supplid to oneOfType. Expected an array of check functions, but ' +
|
|
4066
|
+
'received %s at index %s.',
|
|
4067
|
+
getPostfixForTypeWarning(checker),
|
|
4068
|
+
i
|
|
4069
|
+
);
|
|
4070
|
+
return emptyFunction.thatReturnsNull;
|
|
4071
|
+
}
|
|
4072
|
+
}
|
|
4073
|
+
|
|
3813
4074
|
function validate(props, propName, componentName, location, propFullName) {
|
|
3814
4075
|
for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
|
|
3815
4076
|
var checker = arrayOfTypeCheckers[i];
|
|
@@ -3942,6 +4203,9 @@ module.exports = function(isValidElement, throwOnDirectAccess) {
|
|
|
3942
4203
|
// This handles more types than `getPropType`. Only used for error messages.
|
|
3943
4204
|
// See `createPrimitiveTypeChecker`.
|
|
3944
4205
|
function getPreciseType(propValue) {
|
|
4206
|
+
if (typeof propValue === 'undefined' || propValue === null) {
|
|
4207
|
+
return '' + propValue;
|
|
4208
|
+
}
|
|
3945
4209
|
var propType = getPropType(propValue);
|
|
3946
4210
|
if (propType === 'object') {
|
|
3947
4211
|
if (propValue instanceof Date) {
|
|
@@ -3953,6 +4217,23 @@ module.exports = function(isValidElement, throwOnDirectAccess) {
|
|
|
3953
4217
|
return propType;
|
|
3954
4218
|
}
|
|
3955
4219
|
|
|
4220
|
+
// Returns a string that is postfixed to a warning about an invalid type.
|
|
4221
|
+
// For example, "undefined" or "of type array"
|
|
4222
|
+
function getPostfixForTypeWarning(value) {
|
|
4223
|
+
var type = getPreciseType(value);
|
|
4224
|
+
switch (type) {
|
|
4225
|
+
case 'array':
|
|
4226
|
+
case 'object':
|
|
4227
|
+
return 'an ' + type;
|
|
4228
|
+
case 'boolean':
|
|
4229
|
+
case 'date':
|
|
4230
|
+
case 'regexp':
|
|
4231
|
+
return 'a ' + type;
|
|
4232
|
+
default:
|
|
4233
|
+
return type;
|
|
4234
|
+
}
|
|
4235
|
+
}
|
|
4236
|
+
|
|
3956
4237
|
// Returns class name of the object, if any.
|
|
3957
4238
|
function getClassName(propValue) {
|
|
3958
4239
|
if (!propValue.constructor || !propValue.constructor.name) {
|
|
@@ -3967,7 +4248,7 @@ module.exports = function(isValidElement, throwOnDirectAccess) {
|
|
|
3967
4248
|
return ReactPropTypes;
|
|
3968
4249
|
};
|
|
3969
4250
|
|
|
3970
|
-
},{"
|
|
4251
|
+
},{"28":28,"30":30,"31":31,"33":33,"36":36}],36:[function(_dereq_,module,exports){
|
|
3971
4252
|
/**
|
|
3972
4253
|
* Copyright 2013-present, Facebook, Inc.
|
|
3973
4254
|
* All rights reserved.
|
|
@@ -3983,5 +4264,5 @@ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
|
|
|
3983
4264
|
|
|
3984
4265
|
module.exports = ReactPropTypesSecret;
|
|
3985
4266
|
|
|
3986
|
-
},{}]},{},[
|
|
4267
|
+
},{}]},{},[16])(16)
|
|
3987
4268
|
});
|