Update website for 15.3.1
(cherry picked from commit 199056cf1b004f2fd7a42211b4506cf4d879c6b2)
Paul O’Shannessy committed
Aug 19, 2016 at 11:45 UTC
077d32cebb27aeabc83c9c13fa9d9c76cd1b5578
4 files changed
+1346
-1386
docs/_config.yml
+9
-9
@@ -53,13 +53,13 @@ sass:
53
gems:
54
- jekyll-redirect-from
55
- jekyll-paginate
56
-react_version: 15.3.0
56
+react_version: 15.3.1
57
react_hashes:
58
- dev: R8v794QN9hrNjnivoQ3Mf7nMGVwFIHBkUmBanB40ZBIMttZbBEUatXNosjytvPUC
59
- prod: asiNTW+3f/iCKtm+05EX+4V4n6R5R1fyAY9M8Md0DLHodFResXMSBlt8ns9iJaPK
60
- addons_dev: iR3HmJX+5siYwRvy6ZXWWN/dNP4IuItUsfk0JJmwxaBIYtWHZhK/2N7wrAcxmpS8
61
- addons_prod: A/63GcxBS05SAxTWB0+wQKyQl8RVEH3nOuBuxwg/WV6yI5qpfEy4ksn90bqJdFJY
62
- dom_dev: PKr8yTHUBD0chzmoJ6ZYtB1nB87GTEWPmuDlDV7iARDrYGki2fmVB0ae3vf3LX0O
63
- dom_prod: TBEslZF7tpwiuBgt/ajgWUKvDGuCExkmEoWygscHE/OOajWS24BLAaf2/z7lj/9n
64
- dom_server_dev: UxEqwIE5+BLQKOqKHnPfJBOrSDo7HyocIl6sTb6taLayrVmDuhQ5VM4iauS54BbK
65
- dom_server_prod: hOLRkO2HGPRi0d73qKZWueHZyDD/6BID0CJax9kNUNaAvMR4atbNIcYfk2BoM8T3
58
+ dev: gS+zau+tpUQYisQ0pOWmfNOfcczNoZQjeQ6+5jOgVqV1WBYqkIbdqpay3VuCHQjt
59
+ prod: GjSRThJn3fjCmKim4Jou04Ax7vvKfk76xSCKUo7/V70VNIlidvZd3ZnT9rtJk0KM
60
+ addons_dev: 37FL10I5CNyIhpG9UrOeUrUKONP5CUt3PYHxWz9Eo4kYWS7weaFzDRP7BxRfhB75
61
+ addons_prod: hSlojvw2moZ49rKg6U9wW83sJi7QnWC6nB53jlsGy5hmltJC6ET/cRRKzMifYEg5
62
+ dom_dev: yMyOXveaWIIfHWhBZNUrKSPQCw+BWRGucJIdsQeltkvBNDrWXKo+jKVKyx6hH/5r
63
+ dom_prod: 3AR/0xGUlR37VpbeHbKQhvizC4T8sNTU8t5GS9JC/4odeRePZuPYl5Pyv/zTeSd8
64
+ dom_server_dev: sPg6+OzdWmnH1aArppe66vtLc7tZ2gxh5KxXoZFHAxZoquTi4J71PHASGmv7meE1
65
+ dom_server_prod: L4CScwloTXP7xdPmmp3KRAKqASCN8hQpjM6DsrAyCl4K8RXi8Ig+9i0X6k8AyfM9
docs/downloads/react-15.3.1.zip
Binary files /dev/null and b/docs/downloads/react-15.3.1.zip differ
docs/js/react-dom.js
+1
-1
@@ -1,5 +1,5 @@
1
/**
2
- * ReactDOM v15.3.0
2
+ * ReactDOM v15.3.1
3
*
4
* Copyright 2013-present, Facebook, Inc.
5
* All rights reserved.
docs/js/react.js
+1336
-1376
@@ -1,5 +1,5 @@
1
/**
2
- * React v15.3.0
2
+ * React v15.3.1
3
*/
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
/**
@@ -17,7 +17,7 @@
17
18
var ReactDOMComponentTree = _dereq_(42);
19
20
-var focusNode = _dereq_(158);
20
+var focusNode = _dereq_(156);
21
22
var AutoFocusUtils = {
23
focusDOMComponent: function () {
@@ -26,7 +26,7 @@ var AutoFocusUtils = {
26
};
27
28
module.exports = AutoFocusUtils;
29
-},{"158":158,"42":42}],2:[function(_dereq_,module,exports){
29
+},{"156":156,"42":42}],2:[function(_dereq_,module,exports){
30
/**
31
* Copyright 2013-present Facebook, Inc.
32
* All rights reserved.
@@ -42,12 +42,12 @@ module.exports = AutoFocusUtils;
42
43
var EventConstants = _dereq_(16);
44
var EventPropagators = _dereq_(20);
45
-var ExecutionEnvironment = _dereq_(150);
45
+var ExecutionEnvironment = _dereq_(148);
46
var FallbackCompositionState = _dereq_(21);
47
-var SyntheticCompositionEvent = _dereq_(105);
48
-var SyntheticInputEvent = _dereq_(109);
47
+var SyntheticCompositionEvent = _dereq_(103);
48
+var SyntheticInputEvent = _dereq_(107);
49
50
-var keyOf = _dereq_(168);
50
+var keyOf = _dereq_(166);
51
52
var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space
53
var START_KEYCODE = 229;
@@ -415,7 +415,7 @@ var BeforeInputEventPlugin = {
415
};
416
417
module.exports = BeforeInputEventPlugin;
418
-},{"105":105,"109":109,"150":150,"16":16,"168":168,"20":20,"21":21}],3:[function(_dereq_,module,exports){
418
+},{"103":103,"107":107,"148":148,"16":16,"166":166,"20":20,"21":21}],3:[function(_dereq_,module,exports){
419
/**
420
* Copyright 2013-present, Facebook, Inc.
421
* All rights reserved.
@@ -579,14 +579,14 @@ module.exports = CSSProperty;
579
'use strict';
580
581
var CSSProperty = _dereq_(3);
582
-var ExecutionEnvironment = _dereq_(150);
583
-var ReactInstrumentation = _dereq_(75);
582
+var ExecutionEnvironment = _dereq_(148);
583
+var ReactInstrumentation = _dereq_(73);
584
585
-var camelizeStyleName = _dereq_(152);
586
-var dangerousStyleValue = _dereq_(123);
587
-var hyphenateStyleName = _dereq_(163);
588
-var memoizeStringOnly = _dereq_(170);
589
-var warning = _dereq_(174);
585
+var camelizeStyleName = _dereq_(150);
586
+var dangerousStyleValue = _dereq_(121);
587
+var hyphenateStyleName = _dereq_(161);
588
+var memoizeStringOnly = _dereq_(167);
589
+var warning = _dereq_(171);
590
591
var processStyleName = memoizeStringOnly(function (styleName) {
592
return hyphenateStyleName(styleName);
@@ -770,7 +770,7 @@ var CSSPropertyOperations = {
770
};
771
772
module.exports = CSSPropertyOperations;
773
-},{"123":123,"150":150,"152":152,"163":163,"170":170,"174":174,"3":3,"75":75}],5:[function(_dereq_,module,exports){
773
+},{"121":121,"148":148,"150":150,"161":161,"167":167,"171":171,"3":3,"73":73}],5:[function(_dereq_,module,exports){
774
/**
775
* Copyright 2013-present, Facebook, Inc.
776
* All rights reserved.
@@ -784,12 +784,12 @@ module.exports = CSSPropertyOperations;
784
785
'use strict';
786
787
-var _prodInvariant = _dereq_(142),
788
- _assign = _dereq_(175);
787
+var _prodInvariant = _dereq_(140),
788
+ _assign = _dereq_(172);
789
790
var PooledClass = _dereq_(25);
791
792
-var invariant = _dereq_(164);
792
+var invariant = _dereq_(162);
793
794
/**
795
* A specialized pseudo-event module to help keep track of components waiting to
@@ -877,7 +877,7 @@ _assign(CallbackQueue.prototype, {
877
PooledClass.addPoolingTo(CallbackQueue);
878
879
module.exports = CallbackQueue;
880
-},{"142":142,"164":164,"175":175,"25":25}],6:[function(_dereq_,module,exports){
880
+},{"140":140,"162":162,"172":172,"25":25}],6:[function(_dereq_,module,exports){
881
/**
882
* Copyright 2013-present, Facebook, Inc.
883
* All rights reserved.
@@ -894,15 +894,15 @@ module.exports = CallbackQueue;
894
var EventConstants = _dereq_(16);
895
var EventPluginHub = _dereq_(17);
896
var EventPropagators = _dereq_(20);
897
-var ExecutionEnvironment = _dereq_(150);
897
+var ExecutionEnvironment = _dereq_(148);
898
var ReactDOMComponentTree = _dereq_(42);
899
-var ReactUpdates = _dereq_(98);
900
-var SyntheticEvent = _dereq_(107);
899
+var ReactUpdates = _dereq_(96);
900
+var SyntheticEvent = _dereq_(105);
901
902
-var getEventTarget = _dereq_(131);
903
-var isEventSupported = _dereq_(138);
904
-var isTextInputElement = _dereq_(139);
905
-var keyOf = _dereq_(168);
902
+var getEventTarget = _dereq_(129);
903
+var isEventSupported = _dereq_(136);
904
+var isTextInputElement = _dereq_(137);
905
+var keyOf = _dereq_(166);
906
907
var topLevelTypes = EventConstants.topLevelTypes;
908
@@ -1203,7 +1203,7 @@ var ChangeEventPlugin = {
1203
};
1204
1205
module.exports = ChangeEventPlugin;
1206
-},{"107":107,"131":131,"138":138,"139":139,"150":150,"16":16,"168":168,"17":17,"20":20,"42":42,"98":98}],7:[function(_dereq_,module,exports){
1206
+},{"105":105,"129":129,"136":136,"137":137,"148":148,"16":16,"166":166,"17":17,"20":20,"42":42,"96":96}],7:[function(_dereq_,module,exports){
1207
/**
1208
* Copyright 2013-present, Facebook, Inc.
1209
* All rights reserved.
@@ -1219,13 +1219,13 @@ module.exports = ChangeEventPlugin;
1219
1220
var DOMLazyTree = _dereq_(8);
1221
var Danger = _dereq_(12);
1222
-var ReactMultiChildUpdateTypes = _dereq_(80);
1222
+var ReactMultiChildUpdateTypes = _dereq_(78);
1223
var ReactDOMComponentTree = _dereq_(42);
1224
-var ReactInstrumentation = _dereq_(75);
1224
+var ReactInstrumentation = _dereq_(73);
1225
1226
-var createMicrosoftUnsafeLocalFunction = _dereq_(122);
1227
-var setInnerHTML = _dereq_(144);
1228
-var setTextContent = _dereq_(145);
1226
+var createMicrosoftUnsafeLocalFunction = _dereq_(120);
1227
+var setInnerHTML = _dereq_(142);
1228
+var setTextContent = _dereq_(143);
1229
1230
function getNodeAfter(parentNode, node) {
1231
// Special case for text components, which return [open, close] comments
@@ -1398,7 +1398,7 @@ var DOMChildrenOperations = {
1398
};
1399
1400
module.exports = DOMChildrenOperations;
1401
-},{"12":12,"122":122,"144":144,"145":145,"42":42,"75":75,"8":8,"80":80}],8:[function(_dereq_,module,exports){
1401
+},{"12":12,"120":120,"142":142,"143":143,"42":42,"73":73,"78":78,"8":8}],8:[function(_dereq_,module,exports){
1402
/**
1403
* Copyright 2015-present, Facebook, Inc.
1404
* All rights reserved.
@@ -1413,10 +1413,10 @@ module.exports = DOMChildrenOperations;
1413
'use strict';
1414
1415
var DOMNamespaces = _dereq_(9);
1416
-var setInnerHTML = _dereq_(144);
1416
+var setInnerHTML = _dereq_(142);
1417
1418
-var createMicrosoftUnsafeLocalFunction = _dereq_(122);
1419
-var setTextContent = _dereq_(145);
1418
+var createMicrosoftUnsafeLocalFunction = _dereq_(120);
1419
+var setTextContent = _dereq_(143);
1420
1421
var ELEMENT_NODE_TYPE = 1;
1422
var DOCUMENT_FRAGMENT_NODE_TYPE = 11;
@@ -1517,7 +1517,7 @@ DOMLazyTree.queueHTML = queueHTML;
1517
DOMLazyTree.queueText = queueText;
1518
1519
module.exports = DOMLazyTree;
1520
-},{"122":122,"144":144,"145":145,"9":9}],9:[function(_dereq_,module,exports){
1520
+},{"120":120,"142":142,"143":143,"9":9}],9:[function(_dereq_,module,exports){
1521
/**
1522
* Copyright 2013-present, Facebook, Inc.
1523
* All rights reserved.
@@ -1552,9 +1552,9 @@ module.exports = DOMNamespaces;
1552
1553
'use strict';
1554
1555
-var _prodInvariant = _dereq_(142);
1555
+var _prodInvariant = _dereq_(140);
1556
1557
-var invariant = _dereq_(164);
1557
+var invariant = _dereq_(162);
1558
1559
function checkMask(value, bitmask) {
1560
return (value & bitmask) === bitmask;
@@ -1745,7 +1745,7 @@ var DOMProperty = {
1745
};
1746
1747
module.exports = DOMProperty;
1748
-},{"142":142,"164":164}],11:[function(_dereq_,module,exports){
1748
+},{"140":140,"162":162}],11:[function(_dereq_,module,exports){
1749
/**
1750
* Copyright 2013-present, Facebook, Inc.
1751
* All rights reserved.
@@ -1761,11 +1761,10 @@ module.exports = DOMProperty;
1761
1762
var DOMProperty = _dereq_(10);
1763
var ReactDOMComponentTree = _dereq_(42);
1764
-var ReactDOMInstrumentation = _dereq_(50);
1765
-var ReactInstrumentation = _dereq_(75);
1764
+var ReactInstrumentation = _dereq_(73);
1765
1767
-var quoteAttributeValueForBrowser = _dereq_(141);
1768
-var warning = _dereq_(174);
1766
+var quoteAttributeValueForBrowser = _dereq_(139);
1767
+var warning = _dereq_(171);
1768
1769
var VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + DOMProperty.ATTRIBUTE_NAME_START_CHAR + '][' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$');
1770
var illegalAttributeNameCache = {};
@@ -1826,9 +1825,6 @@ var DOMPropertyOperations = {
1825
* @return {?string} Markup string, or null if the property was invalid.
1826
*/
1827
createMarkupForProperty: function (name, value) {
1829
- if ("development" !== 'production') {
1830
- ReactDOMInstrumentation.debugTool.onCreateMarkupForProperty(name, value);
1831
- }
1828
var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;
1829
if (propertyInfo) {
1830
if (shouldIgnoreValue(propertyInfo, value)) {
@@ -1901,7 +1897,6 @@ var DOMPropertyOperations = {
1897
}
1898
1899
if ("development" !== 'production') {
1904
- ReactDOMInstrumentation.debugTool.onSetValueForProperty(node, name, value);
1900
var payload = {};
1901
payload[name] = value;
1902
ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'update attribute', payload);
@@ -1934,7 +1929,6 @@ var DOMPropertyOperations = {
1929
deleteValueForAttribute: function (node, name) {
1930
node.removeAttribute(name);
1931
if ("development" !== 'production') {
1937
- ReactDOMInstrumentation.debugTool.onDeleteValueForProperty(node, name);
1932
ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'remove attribute', name);
1933
}
1934
},
@@ -1966,7 +1960,6 @@ var DOMPropertyOperations = {
1960
}
1961
1962
if ("development" !== 'production') {
1969
- ReactDOMInstrumentation.debugTool.onDeleteValueForProperty(node, name);
1963
ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'remove attribute', name);
1964
}
1965
}
@@ -1974,7 +1967,7 @@ var DOMPropertyOperations = {
1967
};
1968
1969
module.exports = DOMPropertyOperations;
1977
-},{"10":10,"141":141,"174":174,"42":42,"50":50,"75":75}],12:[function(_dereq_,module,exports){
1970
+},{"10":10,"139":139,"171":171,"42":42,"73":73}],12:[function(_dereq_,module,exports){
1971
/**
1972
* Copyright 2013-present, Facebook, Inc.
1973
* All rights reserved.
@@ -1988,14 +1981,14 @@ module.exports = DOMPropertyOperations;
1981
1982
'use strict';
1983
1991
-var _prodInvariant = _dereq_(142);
1984
+var _prodInvariant = _dereq_(140);
1985
1986
var DOMLazyTree = _dereq_(8);
1994
-var ExecutionEnvironment = _dereq_(150);
1987
+var ExecutionEnvironment = _dereq_(148);
1988
1996
-var createNodesFromMarkup = _dereq_(155);
1997
-var emptyFunction = _dereq_(156);
1998
-var invariant = _dereq_(164);
1989
+var createNodesFromMarkup = _dereq_(153);
1990
+var emptyFunction = _dereq_(154);
1991
+var invariant = _dereq_(162);
1992
1993
var Danger = {
1994
@@ -2023,7 +2016,7 @@ var Danger = {
2016
};
2017
2018
module.exports = Danger;
2026
-},{"142":142,"150":150,"155":155,"156":156,"164":164,"8":8}],13:[function(_dereq_,module,exports){
2019
+},{"140":140,"148":148,"153":153,"154":154,"162":162,"8":8}],13:[function(_dereq_,module,exports){
2020
/**
2021
* Copyright 2013-present, Facebook, Inc.
2022
* All rights reserved.
@@ -2037,7 +2030,7 @@ module.exports = Danger;
2030
2031
'use strict';
2032
2040
-var keyOf = _dereq_(168);
2033
+var keyOf = _dereq_(166);
2034
2035
/**
2036
* Module that is injectable into `EventPluginHub`, that specifies a
@@ -2051,7 +2044,7 @@ var keyOf = _dereq_(168);
2044
var DefaultEventPluginOrder = [keyOf({ ResponderEventPlugin: null }), keyOf({ SimpleEventPlugin: null }), keyOf({ TapEventPlugin: null }), keyOf({ EnterLeaveEventPlugin: null }), keyOf({ ChangeEventPlugin: null }), keyOf({ SelectEventPlugin: null }), keyOf({ BeforeInputEventPlugin: null })];
2045
2046
module.exports = DefaultEventPluginOrder;
2054
-},{"168":168}],14:[function(_dereq_,module,exports){
2047
+},{"166":166}],14:[function(_dereq_,module,exports){
2048
/**
2049
* Copyright 2013-present, Facebook, Inc.
2050
* All rights reserved.
@@ -2119,9 +2112,9 @@ module.exports = DisabledInputUtils;
2112
var EventConstants = _dereq_(16);
2113
var EventPropagators = _dereq_(20);
2114
var ReactDOMComponentTree = _dereq_(42);
2122
-var SyntheticMouseEvent = _dereq_(111);
2115
+var SyntheticMouseEvent = _dereq_(109);
2116
2124
-var keyOf = _dereq_(168);
2117
+var keyOf = _dereq_(166);
2118
2119
var topLevelTypes = EventConstants.topLevelTypes;
2120
@@ -2208,7 +2201,7 @@ var EnterLeaveEventPlugin = {
2201
};
2202
2203
module.exports = EnterLeaveEventPlugin;
2211
-},{"111":111,"16":16,"168":168,"20":20,"42":42}],16:[function(_dereq_,module,exports){
2204
+},{"109":109,"16":16,"166":166,"20":20,"42":42}],16:[function(_dereq_,module,exports){
2205
/**
2206
* Copyright 2013-present, Facebook, Inc.
2207
* All rights reserved.
@@ -2222,7 +2215,7 @@ module.exports = EnterLeaveEventPlugin;
2215
2216
'use strict';
2217
2225
-var keyMirror = _dereq_(167);
2218
+var keyMirror = _dereq_(165);
2219
2220
var PropagationPhases = keyMirror({ bubbled: null, captured: null });
2221
@@ -2306,7 +2299,7 @@ var EventConstants = {
2299
};
2300
2301
module.exports = EventConstants;
2309
-},{"167":167}],17:[function(_dereq_,module,exports){
2302
+},{"165":165}],17:[function(_dereq_,module,exports){
2303
/**
2304
* Copyright 2013-present, Facebook, Inc.
2305
* All rights reserved.
@@ -2320,15 +2313,15 @@ module.exports = EventConstants;
2313
2314
'use strict';
2315
2323
-var _prodInvariant = _dereq_(142);
2316
+var _prodInvariant = _dereq_(140);
2317
2318
var EventPluginRegistry = _dereq_(18);
2319
var EventPluginUtils = _dereq_(19);
2327
-var ReactErrorUtils = _dereq_(66);
2320
+var ReactErrorUtils = _dereq_(64);
2321
2329
-var accumulateInto = _dereq_(118);
2330
-var forEachAccumulated = _dereq_(127);
2331
-var invariant = _dereq_(164);
2322
+var accumulateInto = _dereq_(116);
2323
+var forEachAccumulated = _dereq_(125);
2324
+var invariant = _dereq_(162);
2325
2326
/**
2327
* Internal store for event listeners
@@ -2365,6 +2358,8 @@ var executeDispatchesAndReleaseTopLevel = function (e) {
2358
};
2359
2360
var getDictionaryKey = function (inst) {
2361
+ // Prevents V8 performance issue:
2362
+ // https://github.com/facebook/react/pull/7232
2363
return '.' + inst._rootNodeID;
2364
};
2365
@@ -2556,7 +2551,7 @@ var EventPluginHub = {
2551
};
2552
2553
module.exports = EventPluginHub;
2559
-},{"118":118,"127":127,"142":142,"164":164,"18":18,"19":19,"66":66}],18:[function(_dereq_,module,exports){
2554
+},{"116":116,"125":125,"140":140,"162":162,"18":18,"19":19,"64":64}],18:[function(_dereq_,module,exports){
2555
/**
2556
* Copyright 2013-present, Facebook, Inc.
2557
* All rights reserved.
@@ -2570,9 +2565,9 @@ module.exports = EventPluginHub;
2565
2566
'use strict';
2567
2573
-var _prodInvariant = _dereq_(142);
2568
+var _prodInvariant = _dereq_(140);
2569
2575
-var invariant = _dereq_(164);
2570
+var invariant = _dereq_(162);
2571
2572
/**
2573
* Injectable ordering of event plugins.
@@ -2804,7 +2799,7 @@ var EventPluginRegistry = {
2799
};
2800
2801
module.exports = EventPluginRegistry;
2807
-},{"142":142,"164":164}],19:[function(_dereq_,module,exports){
2802
+},{"140":140,"162":162}],19:[function(_dereq_,module,exports){
2803
/**
2804
* Copyright 2013-present, Facebook, Inc.
2805
* All rights reserved.
@@ -2818,13 +2813,13 @@ module.exports = EventPluginRegistry;
2813
2814
'use strict';
2815
2821
-var _prodInvariant = _dereq_(142);
2816
+var _prodInvariant = _dereq_(140);
2817
2818
var EventConstants = _dereq_(16);
2824
-var ReactErrorUtils = _dereq_(66);
2819
+var ReactErrorUtils = _dereq_(64);
2820
2826
-var invariant = _dereq_(164);
2827
-var warning = _dereq_(174);
2821
+var invariant = _dereq_(162);
2822
+var warning = _dereq_(171);
2823
2824
/**
2825
* Injected dependencies:
@@ -3034,7 +3029,7 @@ var EventPluginUtils = {
3029
};
3030
3031
module.exports = EventPluginUtils;
3037
-},{"142":142,"16":16,"164":164,"174":174,"66":66}],20:[function(_dereq_,module,exports){
3032
+},{"140":140,"16":16,"162":162,"171":171,"64":64}],20:[function(_dereq_,module,exports){
3033
/**
3034
* Copyright 2013-present, Facebook, Inc.
3035
* All rights reserved.
@@ -3052,9 +3047,9 @@ var EventConstants = _dereq_(16);
3047
var EventPluginHub = _dereq_(17);
3048
var EventPluginUtils = _dereq_(19);
3049
3055
-var accumulateInto = _dereq_(118);
3056
-var forEachAccumulated = _dereq_(127);
3057
-var warning = _dereq_(174);
3050
+var accumulateInto = _dereq_(116);
3051
+var forEachAccumulated = _dereq_(125);
3052
+var warning = _dereq_(171);
3053
3054
var PropagationPhases = EventConstants.PropagationPhases;
3055
var getListener = EventPluginHub.getListener;
@@ -3172,7 +3167,7 @@ var EventPropagators = {
3167
};
3168
3169
module.exports = EventPropagators;
3175
-},{"118":118,"127":127,"16":16,"17":17,"174":174,"19":19}],21:[function(_dereq_,module,exports){
3170
+},{"116":116,"125":125,"16":16,"17":17,"171":171,"19":19}],21:[function(_dereq_,module,exports){
3171
/**
3172
* Copyright 2013-present, Facebook, Inc.
3173
* All rights reserved.
@@ -3186,11 +3181,11 @@ module.exports = EventPropagators;
3181
3182
'use strict';
3183
3189
-var _assign = _dereq_(175);
3184
+var _assign = _dereq_(172);
3185
3186
var PooledClass = _dereq_(25);
3187
3193
-var getTextContentAccessor = _dereq_(135);
3188
+var getTextContentAccessor = _dereq_(133);
3189
3190
/**
3191
* This helper class stores information about text content of a target node,
@@ -3268,7 +3263,7 @@ _assign(FallbackCompositionState.prototype, {
3263
PooledClass.addPoolingTo(FallbackCompositionState);
3264
3265
module.exports = FallbackCompositionState;
3271
-},{"135":135,"175":175,"25":25}],22:[function(_dereq_,module,exports){
3266
+},{"133":133,"172":172,"25":25}],22:[function(_dereq_,module,exports){
3267
/**
3268
* Copyright 2013-present, Facebook, Inc.
3269
* All rights reserved.
@@ -3552,14 +3547,14 @@ module.exports = KeyEscapeUtils;
3547
3548
'use strict';
3549
3555
-var _prodInvariant = _dereq_(142);
3550
+var _prodInvariant = _dereq_(140);
3551
3557
-var ReactPropTypes = _dereq_(86);
3558
-var ReactPropTypeLocations = _dereq_(85);
3559
-var ReactPropTypesSecret = _dereq_(87);
3552
+var ReactPropTypes = _dereq_(84);
3553
+var ReactPropTypeLocations = _dereq_(83);
3554
+var ReactPropTypesSecret = _dereq_(85);
3555
3561
-var invariant = _dereq_(164);
3562
-var warning = _dereq_(174);
3556
+var invariant = _dereq_(162);
3557
+var warning = _dereq_(171);
3558
3559
var hasReadOnlyValue = {
3560
'button': true,
@@ -3675,7 +3670,7 @@ var LinkedValueUtils = {
3670
};
3671
3672
module.exports = LinkedValueUtils;
3678
-},{"142":142,"164":164,"174":174,"85":85,"86":86,"87":87}],25:[function(_dereq_,module,exports){
3673
+},{"140":140,"162":162,"171":171,"83":83,"84":84,"85":85}],25:[function(_dereq_,module,exports){
3674
/**
3675
* Copyright 2013-present, Facebook, Inc.
3676
* All rights reserved.
@@ -3689,9 +3684,9 @@ module.exports = LinkedValueUtils;
3684
3685
'use strict';
3686
3692
-var _prodInvariant = _dereq_(142);
3687
+var _prodInvariant = _dereq_(140);
3688
3694
-var invariant = _dereq_(164);
3689
+var invariant = _dereq_(162);
3690
3691
/**
3692
* Static poolers. Several custom versions for each potential number of
@@ -3797,7 +3792,7 @@ var PooledClass = {
3792
};
3793
3794
module.exports = PooledClass;
3800
-},{"142":142,"164":164}],26:[function(_dereq_,module,exports){
3795
+},{"140":140,"162":162}],26:[function(_dereq_,module,exports){
3796
/**
3797
* Copyright 2013-present, Facebook, Inc.
3798
* All rights reserved.
@@ -3811,26 +3806,26 @@ module.exports = PooledClass;
3806
3807
'use strict';
3808
3814
-var _assign = _dereq_(175);
3809
+var _assign = _dereq_(172);
3810
3811
var ReactChildren = _dereq_(29);
3812
var ReactComponent = _dereq_(32);
3818
-var ReactPureComponent = _dereq_(88);
3813
+var ReactPureComponent = _dereq_(86);
3814
var ReactClass = _dereq_(31);
3820
-var ReactDOMFactories = _dereq_(46);
3821
-var ReactElement = _dereq_(63);
3822
-var ReactPropTypes = _dereq_(86);
3823
-var ReactVersion = _dereq_(99);
3815
+var ReactDOMFactories = _dereq_(45);
3816
+var ReactElement = _dereq_(61);
3817
+var ReactPropTypes = _dereq_(84);
3818
+var ReactVersion = _dereq_(97);
3819
3825
-var onlyChild = _dereq_(140);
3826
-var warning = _dereq_(174);
3820
+var onlyChild = _dereq_(138);
3821
+var warning = _dereq_(171);
3822
3823
var createElement = ReactElement.createElement;
3824
var createFactory = ReactElement.createFactory;
3825
var cloneElement = ReactElement.cloneElement;
3826
3827
if ("development" !== 'production') {
3833
- var ReactElementValidator = _dereq_(64);
3828
+ var ReactElementValidator = _dereq_(62);
3829
createElement = ReactElementValidator.createElement;
3830
createFactory = ReactElementValidator.createFactory;
3831
cloneElement = ReactElementValidator.cloneElement;
@@ -3887,7 +3882,7 @@ var React = {
3882
};
3883
3884
module.exports = React;
3890
-},{"140":140,"174":174,"175":175,"29":29,"31":31,"32":32,"46":46,"63":63,"64":64,"86":86,"88":88,"99":99}],27:[function(_dereq_,module,exports){
3885
+},{"138":138,"171":171,"172":172,"29":29,"31":31,"32":32,"45":45,"61":61,"62":62,"84":84,"86":86,"97":97}],27:[function(_dereq_,module,exports){
3886
/**
3887
* Copyright 2013-present, Facebook, Inc.
3888
* All rights reserved.
@@ -3901,15 +3896,15 @@ module.exports = React;
3896
3897
'use strict';
3898
3904
-var _assign = _dereq_(175);
3899
+var _assign = _dereq_(172);
3900
3901
var EventConstants = _dereq_(16);
3902
var EventPluginRegistry = _dereq_(18);
3908
-var ReactEventEmitterMixin = _dereq_(67);
3909
-var ViewportMetrics = _dereq_(117);
3903
+var ReactEventEmitterMixin = _dereq_(65);
3904
+var ViewportMetrics = _dereq_(115);
3905
3911
-var getVendorPrefixedEventName = _dereq_(136);
3912
-var isEventSupported = _dereq_(138);
3906
+var getVendorPrefixedEventName = _dereq_(134);
3907
+var isEventSupported = _dereq_(136);
3908
3909
/**
3910
* Summary of `ReactBrowserEventEmitter` event handling:
@@ -4205,7 +4200,7 @@ var ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {
4200
});
4201
4202
module.exports = ReactBrowserEventEmitter;
4208
-},{"117":117,"136":136,"138":138,"16":16,"175":175,"18":18,"67":67}],28:[function(_dereq_,module,exports){
4203
+},{"115":115,"134":134,"136":136,"16":16,"172":172,"18":18,"65":65}],28:[function(_dereq_,module,exports){
4204
(function (process){
4205
/**
4206
* Copyright 2014-present, Facebook, Inc.
@@ -4220,15 +4215,15 @@ module.exports = ReactBrowserEventEmitter;
4215
4216
'use strict';
4217
4223
-var ReactReconciler = _dereq_(90);
4218
+var ReactReconciler = _dereq_(88);
4219
4225
-var instantiateReactComponent = _dereq_(137);
4220
+var instantiateReactComponent = _dereq_(135);
4221
var KeyEscapeUtils = _dereq_(23);
4227
-var shouldUpdateReactComponent = _dereq_(146);
4228
-var traverseAllChildren = _dereq_(147);
4229
-var warning = _dereq_(174);
4222
+var shouldUpdateReactComponent = _dereq_(144);
4223
+var traverseAllChildren = _dereq_(145);
4224
+var warning = _dereq_(171);
4225
4231
-var ReactComponentTreeDevtool;
4226
+var ReactComponentTreeHook;
4227
4228
if (typeof process !== 'undefined' && process.env && "development" === 'test') {
4229
// Temporary hack.
@@ -4236,17 +4231,19 @@ if (typeof process !== 'undefined' && process.env && "development" === 'test') {
4231
// https://github.com/facebook/react/issues/7240
4232
// Remove the inline requires when we don't need them anymore:
4233
// https://github.com/facebook/react/pull/7178
4239
- ReactComponentTreeDevtool = _dereq_(35);
4234
+ ReactComponentTreeHook = _dereq_(35);
4235
}
4236
4237
function instantiateChild(childInstances, child, name, selfDebugID) {
4238
// We found a component instance.
4239
var keyUnique = childInstances[name] === undefined;
4240
if ("development" !== 'production') {
4246
- if (!ReactComponentTreeDevtool) {
4247
- ReactComponentTreeDevtool = _dereq_(35);
4241
+ if (!ReactComponentTreeHook) {
4242
+ ReactComponentTreeHook = _dereq_(35);
4243
+ }
4244
+ if (!keyUnique) {
4245
+ "development" !== 'production' ? warning(false, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeHook.getStackAddendumByID(selfDebugID)) : void 0;
4246
}
4249
- "development" !== 'production' ? warning(keyUnique, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeDevtool.getStackAddendumByID(selfDebugID)) : void 0;
4247
}
4248
if (child != null && keyUnique) {
4249
childInstances[name] = instantiateReactComponent(child, true);
@@ -4267,7 +4264,7 @@ var ReactChildReconciler = {
4264
* @return {?object} A set of child instances.
4265
* @internal
4266
*/
4270
- instantiateChildren: function (nestedChildNodes, transaction, context, selfDebugID // __DEV__ only
4267
+ instantiateChildren: function (nestedChildNodes, transaction, context, selfDebugID // 0 in production and for roots
4268
) {
4269
if (nestedChildNodes == null) {
4270
return null;
@@ -4294,7 +4291,8 @@ var ReactChildReconciler = {
4291
* @return {?object} A new set of child instances.
4292
* @internal
4293
*/
4297
- updateChildren: function (prevChildren, nextChildren, mountImages, removedNodes, transaction, hostParent, hostContainerInfo, context) {
4294
+ updateChildren: function (prevChildren, nextChildren, mountImages, removedNodes, transaction, hostParent, hostContainerInfo, context, selfDebugID // 0 in production and for roots
4295
+ ) {
4296
// We currently don't have a way to track moves here but if we use iterators
4297
// instead of for..in we can zip the iterators and check if an item has
4298
// moved.
@@ -4325,7 +4323,7 @@ var ReactChildReconciler = {
4323
nextChildren[name] = nextChildInstance;
4324
// Creating mount image now ensures refs are resolved in right order
4325
// (see https://github.com/facebook/react/pull/7101 for explanation).
4328
- var nextChildMountImage = ReactReconciler.mountComponent(nextChildInstance, transaction, hostParent, hostContainerInfo, context);
4326
+ var nextChildMountImage = ReactReconciler.mountComponent(nextChildInstance, transaction, hostParent, hostContainerInfo, context, selfDebugID);
4327
mountImages.push(nextChildMountImage);
4328
}
4329
}
@@ -4359,7 +4357,7 @@ var ReactChildReconciler = {
4357
4358
module.exports = ReactChildReconciler;
4359
}).call(this,undefined)
4362
-},{"137":137,"146":146,"147":147,"174":174,"23":23,"35":35,"90":90}],29:[function(_dereq_,module,exports){
4360
+},{"135":135,"144":144,"145":145,"171":171,"23":23,"35":35,"88":88}],29:[function(_dereq_,module,exports){
4361
/**
4362
* Copyright 2013-present, Facebook, Inc.
4363
* All rights reserved.
@@ -4374,10 +4372,10 @@ module.exports = ReactChildReconciler;
4372
'use strict';
4373
4374
var PooledClass = _dereq_(25);
4377
-var ReactElement = _dereq_(63);
4375
+var ReactElement = _dereq_(61);
4376
4379
-var emptyFunction = _dereq_(156);
4380
-var traverseAllChildren = _dereq_(147);
4377
+var emptyFunction = _dereq_(154);
4378
+var traverseAllChildren = _dereq_(145);
4379
4380
var twoArgumentPooler = PooledClass.twoArgumentPooler;
4381
var fourArgumentPooler = PooledClass.fourArgumentPooler;
@@ -4551,7 +4549,7 @@ var ReactChildren = {
4549
};
4550
4551
module.exports = ReactChildren;
4554
-},{"147":147,"156":156,"25":25,"63":63}],30:[function(_dereq_,module,exports){
4552
+},{"145":145,"154":154,"25":25,"61":61}],30:[function(_dereq_,module,exports){
4553
/**
4554
* Copyright 2013-present, Facebook, Inc.
4555
* All rights reserved.
@@ -4560,16 +4558,14 @@ module.exports = ReactChildren;
4558
* LICENSE file in the root directory of this source tree. An additional grant
4559
* of patent rights can be found in the PATENTS file in the same directory.
4560
*
4563
- * @providesModule ReactChildrenMutationWarningDevtool
4561
+ * @providesModule ReactChildrenMutationWarningHook
4562
*/
4563
4564
'use strict';
4565
4568
-var ReactComponentTreeDevtool = _dereq_(35);
4566
+var ReactComponentTreeHook = _dereq_(35);
4567
4570
-var warning = _dereq_(174);
4571
-
4572
-var elements = {};
4568
+var warning = _dereq_(171);
4569
4570
function handleElement(debugID, element) {
4571
if (element == null) {
@@ -4593,28 +4589,22 @@ function handleElement(debugID, element) {
4589
isMutated = true;
4590
}
4591
}
4596
- "development" !== 'production' ? warning(Array.isArray(element._shadowChildren) && !isMutated, 'Component\'s children should not be mutated.%s', ReactComponentTreeDevtool.getStackAddendumByID(debugID)) : void 0;
4592
+ if (!Array.isArray(element._shadowChildren) || isMutated) {
4593
+ "development" !== 'production' ? warning(false, 'Component\'s children should not be mutated.%s', ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0;
4594
+ }
4595
}
4596
4599
-var ReactDOMUnknownPropertyDevtool = {
4600
- onBeforeMountComponent: function (debugID, element) {
4601
- elements[debugID] = element;
4602
- },
4603
- onBeforeUpdateComponent: function (debugID, element) {
4604
- elements[debugID] = element;
4605
- },
4606
- onComponentHasMounted: function (debugID) {
4607
- handleElement(debugID, elements[debugID]);
4608
- delete elements[debugID];
4597
+var ReactChildrenMutationWarningHook = {
4598
+ onMountComponent: function (debugID) {
4599
+ handleElement(debugID, ReactComponentTreeHook.getElement(debugID));
4600
},
4610
- onComponentHasUpdated: function (debugID) {
4611
- handleElement(debugID, elements[debugID]);
4612
- delete elements[debugID];
4601
+ onUpdateComponent: function (debugID) {
4602
+ handleElement(debugID, ReactComponentTreeHook.getElement(debugID));
4603
}
4604
};
4605
4616
-module.exports = ReactDOMUnknownPropertyDevtool;
4617
-},{"174":174,"35":35}],31:[function(_dereq_,module,exports){
4606
+module.exports = ReactChildrenMutationWarningHook;
4607
+},{"171":171,"35":35}],31:[function(_dereq_,module,exports){
4608
/**
4609
* Copyright 2013-present, Facebook, Inc.
4610
* All rights reserved.
@@ -4628,20 +4618,20 @@ module.exports = ReactDOMUnknownPropertyDevtool;
4618
4619
'use strict';
4620
4631
-var _prodInvariant = _dereq_(142),
4632
- _assign = _dereq_(175);
4621
+var _prodInvariant = _dereq_(140),
4622
+ _assign = _dereq_(172);
4623
4624
var ReactComponent = _dereq_(32);
4635
-var ReactElement = _dereq_(63);
4636
-var ReactPropTypeLocations = _dereq_(85);
4637
-var ReactPropTypeLocationNames = _dereq_(84);
4638
-var ReactNoopUpdateQueue = _dereq_(82);
4625
+var ReactElement = _dereq_(61);
4626
+var ReactPropTypeLocations = _dereq_(83);
4627
+var ReactPropTypeLocationNames = _dereq_(82);
4628
+var ReactNoopUpdateQueue = _dereq_(80);
4629
4640
-var emptyObject = _dereq_(157);
4641
-var invariant = _dereq_(164);
4642
-var keyMirror = _dereq_(167);
4643
-var keyOf = _dereq_(168);
4644
-var warning = _dereq_(174);
4630
+var emptyObject = _dereq_(155);
4631
+var invariant = _dereq_(162);
4632
+var keyMirror = _dereq_(165);
4633
+var keyOf = _dereq_(166);
4634
+var warning = _dereq_(171);
4635
4636
var MIXINS_KEY = keyOf({ mixins: null });
4637
@@ -5347,7 +5337,7 @@ var ReactClass = {
5337
};
5338
5339
module.exports = ReactClass;
5350
-},{"142":142,"157":157,"164":164,"167":167,"168":168,"174":174,"175":175,"32":32,"63":63,"82":82,"84":84,"85":85}],32:[function(_dereq_,module,exports){
5340
+},{"140":140,"155":155,"162":162,"165":165,"166":166,"171":171,"172":172,"32":32,"61":61,"80":80,"82":82,"83":83}],32:[function(_dereq_,module,exports){
5341
/**
5342
* Copyright 2013-present, Facebook, Inc.
5343
* All rights reserved.
@@ -5361,14 +5351,14 @@ module.exports = ReactClass;
5351
5352
'use strict';
5353
5364
-var _prodInvariant = _dereq_(142);
5354
+var _prodInvariant = _dereq_(140);
5355
5366
-var ReactNoopUpdateQueue = _dereq_(82);
5356
+var ReactNoopUpdateQueue = _dereq_(80);
5357
5368
-var canDefineProperty = _dereq_(120);
5369
-var emptyObject = _dereq_(157);
5370
-var invariant = _dereq_(164);
5371
-var warning = _dereq_(174);
5358
+var canDefineProperty = _dereq_(118);
5359
+var emptyObject = _dereq_(155);
5360
+var invariant = _dereq_(162);
5361
+var warning = _dereq_(171);
5362
5363
/**
5364
* Base class helpers for the updating state of a component.
@@ -5466,7 +5456,7 @@ if ("development" !== 'production') {
5456
}
5457
5458
module.exports = ReactComponent;
5469
-},{"120":120,"142":142,"157":157,"164":164,"174":174,"82":82}],33:[function(_dereq_,module,exports){
5459
+},{"118":118,"140":140,"155":155,"162":162,"171":171,"80":80}],33:[function(_dereq_,module,exports){
5460
/**
5461
* Copyright 2013-present, Facebook, Inc.
5462
* All rights reserved.
@@ -5481,7 +5471,7 @@ module.exports = ReactComponent;
5471
'use strict';
5472
5473
var DOMChildrenOperations = _dereq_(7);
5484
-var ReactDOMIDOperations = _dereq_(48);
5474
+var ReactDOMIDOperations = _dereq_(47);
5475
5476
/**
5477
* Abstracts away all functionality of the reconciler that requires knowledge of
@@ -5492,21 +5482,12 @@ var ReactComponentBrowserEnvironment = {
5482
5483
processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates,
5484
5495
- replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup,
5496
-
5497
- /**
5498
- * If a particular environment requires that some resources be cleaned up,
5499
- * specify this in the injected Mixin. In the DOM, we would likely want to
5500
- * purge any cached node ID lookups.
5501
- *
5502
- * @private
5503
- */
5504
- unmountIDFromEnvironment: function (rootNodeID) {}
5485
+ replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup
5486
5487
};
5488
5489
module.exports = ReactComponentBrowserEnvironment;
5509
-},{"48":48,"7":7}],34:[function(_dereq_,module,exports){
5490
+},{"47":47,"7":7}],34:[function(_dereq_,module,exports){
5491
/**
5492
* Copyright 2014-present, Facebook, Inc.
5493
* All rights reserved.
@@ -5520,21 +5501,14 @@ module.exports = ReactComponentBrowserEnvironment;
5501
5502
'use strict';
5503
5523
-var _prodInvariant = _dereq_(142);
5504
+var _prodInvariant = _dereq_(140);
5505
5525
-var invariant = _dereq_(164);
5506
+var invariant = _dereq_(162);
5507
5508
var injected = false;
5509
5510
var ReactComponentEnvironment = {
5511
5531
- /**
5532
- * Optionally injectable environment dependent cleanup hook. (server vs.
5533
- * browser etc). Example: A browser system caches DOM nodes based on component
5534
- * ID and must remove that cache entry when this instance is unmounted.
5535
- */
5536
- unmountIDFromEnvironment: null,
5537
-
5512
/**
5513
* Optionally injectable hook for swapping out mount images in the middle of
5514
* the tree.
@@ -5550,7 +5524,6 @@ var ReactComponentEnvironment = {
5524
injection: {
5525
injectEnvironment: function (environment) {
5526
!!injected ? "development" !== 'production' ? invariant(false, 'ReactCompositeComponent: injectEnvironment() can only be called once.') : _prodInvariant('104') : void 0;
5553
- ReactComponentEnvironment.unmountIDFromEnvironment = environment.unmountIDFromEnvironment;
5527
ReactComponentEnvironment.replaceNodeWithMarkup = environment.replaceNodeWithMarkup;
5528
ReactComponentEnvironment.processChildrenUpdates = environment.processChildrenUpdates;
5529
injected = true;
@@ -5560,7 +5533,7 @@ var ReactComponentEnvironment = {
5533
};
5534
5535
module.exports = ReactComponentEnvironment;
5563
-},{"142":142,"164":164}],35:[function(_dereq_,module,exports){
5536
+},{"140":140,"162":162}],35:[function(_dereq_,module,exports){
5537
/**
5538
* Copyright 2016-present, Facebook, Inc.
5539
* All rights reserved.
@@ -5569,44 +5542,150 @@ module.exports = ReactComponentEnvironment;
5542
* LICENSE file in the root directory of this source tree. An additional grant
5543
* of patent rights can be found in the PATENTS file in the same directory.
5544
*
5572
- * @providesModule ReactComponentTreeDevtool
5545
+ * @providesModule ReactComponentTreeHook
5546
*/
5547
5548
'use strict';
5549
5577
-var _prodInvariant = _dereq_(142);
5550
+var _prodInvariant = _dereq_(140);
5551
5552
var ReactCurrentOwner = _dereq_(37);
5553
5581
-var invariant = _dereq_(164);
5582
-var warning = _dereq_(174);
5554
+var invariant = _dereq_(162);
5555
+var warning = _dereq_(171);
5556
+
5557
+function isNative(fn) {
5558
+ // Based on isNative() from Lodash
5559
+ var funcToString = Function.prototype.toString;
5560
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
5561
+ var reIsNative = RegExp('^' + funcToString
5562
+ // Take an example native function source for comparison
5563
+ .call(hasOwnProperty)
5564
+ // Strip regex characters so we can use it for regex
5565
+ .replace(/[\\^$.*+?()[\]{}|]/g, '\\$&')
5566
+ // Remove hasOwnProperty from the template to make it generic
5567
+ .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$');
5568
+ try {
5569
+ var source = funcToString.call(fn);
5570
+ return reIsNative.test(source);
5571
+ } catch (err) {
5572
+ return false;
5573
+ }
5574
+}
5575
5584
-var tree = {};
5585
-var unmountedIDs = {};
5586
-var rootIDs = {};
5576
+var canUseCollections =
5577
+// Array.from
5578
+typeof Array.from === 'function' &&
5579
+// Map
5580
+typeof Map === 'function' && isNative(Map) &&
5581
+// Map.prototype.keys
5582
+Map.prototype != null && typeof Map.prototype.keys === 'function' && isNative(Map.prototype.keys) &&
5583
+// Set
5584
+typeof Set === 'function' && isNative(Set) &&
5585
+// Set.prototype.keys
5586
+Set.prototype != null && typeof Set.prototype.keys === 'function' && isNative(Set.prototype.keys);
5587
5588
-function updateTree(id, update) {
5589
- if (!tree[id]) {
5590
- tree[id] = {
5591
- element: null,
5592
- parentID: null,
5593
- ownerID: null,
5594
- text: null,
5595
- childIDs: [],
5596
- displayName: 'Unknown',
5597
- isMounted: false,
5598
- updateCount: 0
5599
- };
5588
+var itemMap;
5589
+var rootIDSet;
5590
+
5591
+var itemByKey;
5592
+var rootByKey;
5593
+
5594
+if (canUseCollections) {
5595
+ itemMap = new Map();
5596
+ rootIDSet = new Set();
5597
+} else {
5598
+ itemByKey = {};
5599
+ rootByKey = {};
5600
+}
5601
+
5602
+var unmountedIDs = [];
5603
+
5604
+// Use non-numeric keys to prevent V8 performance issues:
5605
+// https://github.com/facebook/react/pull/7232
5606
+function getKeyFromID(id) {
5607
+ return '.' + id;
5608
+}
5609
+function getIDFromKey(key) {
5610
+ return parseInt(key.substr(1), 10);
5611
+}
5612
+
5613
+function get(id) {
5614
+ if (canUseCollections) {
5615
+ return itemMap.get(id);
5616
+ } else {
5617
+ var key = getKeyFromID(id);
5618
+ return itemByKey[key];
5619
+ }
5620
+}
5621
+
5622
+function remove(id) {
5623
+ if (canUseCollections) {
5624
+ itemMap['delete'](id);
5625
+ } else {
5626
+ var key = getKeyFromID(id);
5627
+ delete itemByKey[key];
5628
+ }
5629
+}
5630
+
5631
+function create(id, element, parentID) {
5632
+ var item = {
5633
+ element: element,
5634
+ parentID: parentID,
5635
+ text: null,
5636
+ childIDs: [],
5637
+ isMounted: false,
5638
+ updateCount: 0
5639
+ };
5640
+
5641
+ if (canUseCollections) {
5642
+ itemMap.set(id, item);
5643
+ } else {
5644
+ var key = getKeyFromID(id);
5645
+ itemByKey[key] = item;
5646
+ }
5647
+}
5648
+
5649
+function addRoot(id) {
5650
+ if (canUseCollections) {
5651
+ rootIDSet.add(id);
5652
+ } else {
5653
+ var key = getKeyFromID(id);
5654
+ rootByKey[key] = true;
5655
+ }
5656
+}
5657
+
5658
+function removeRoot(id) {
5659
+ if (canUseCollections) {
5660
+ rootIDSet['delete'](id);
5661
+ } else {
5662
+ var key = getKeyFromID(id);
5663
+ delete rootByKey[key];
5664
+ }
5665
+}
5666
+
5667
+function getRegisteredIDs() {
5668
+ if (canUseCollections) {
5669
+ return Array.from(itemMap.keys());
5670
+ } else {
5671
+ return Object.keys(itemByKey).map(getIDFromKey);
5672
+ }
5673
+}
5674
+
5675
+function getRootIDs() {
5676
+ if (canUseCollections) {
5677
+ return Array.from(rootIDSet.keys());
5678
+ } else {
5679
+ return Object.keys(rootByKey).map(getIDFromKey);
5680
}
5601
- update(tree[id]);
5681
}
5682
5683
function purgeDeep(id) {
5605
- var item = tree[id];
5684
+ var item = get(id);
5685
if (item) {
5686
var childIDs = item.childIDs;
5687
5609
- delete tree[id];
5688
+ remove(id);
5689
childIDs.forEach(purgeDeep);
5690
}
5691
}
@@ -5615,102 +5694,109 @@ function describeComponentFrame(name, source, ownerName) {
5694
return '\n in ' + name + (source ? ' (at ' + source.fileName.replace(/^.*[\\\/]/, '') + ':' + source.lineNumber + ')' : ownerName ? ' (created by ' + ownerName + ')' : '');
5695
}
5696
5697
+function getDisplayName(element) {
5698
+ if (element == null) {
5699
+ return '#empty';
5700
+ } else if (typeof element === 'string' || typeof element === 'number') {
5701
+ return '#text';
5702
+ } else if (typeof element.type === 'string') {
5703
+ return element.type;
5704
+ } else {
5705
+ return element.type.displayName || element.type.name || 'Unknown';
5706
+ }
5707
+}
5708
+
5709
function describeID(id) {
5619
- var name = ReactComponentTreeDevtool.getDisplayName(id);
5620
- var element = ReactComponentTreeDevtool.getElement(id);
5621
- var ownerID = ReactComponentTreeDevtool.getOwnerID(id);
5710
+ var name = ReactComponentTreeHook.getDisplayName(id);
5711
+ var element = ReactComponentTreeHook.getElement(id);
5712
+ var ownerID = ReactComponentTreeHook.getOwnerID(id);
5713
var ownerName;
5714
if (ownerID) {
5624
- ownerName = ReactComponentTreeDevtool.getDisplayName(ownerID);
5715
+ ownerName = ReactComponentTreeHook.getDisplayName(ownerID);
5716
}
5626
- "development" !== 'production' ? warning(element, 'ReactComponentTreeDevtool: Missing React element for debugID %s when ' + 'building stack', id) : void 0;
5717
+ "development" !== 'production' ? warning(element, 'ReactComponentTreeHook: Missing React element for debugID %s when ' + 'building stack', id) : void 0;
5718
return describeComponentFrame(name, element && element._source, ownerName);
5719
}
5720
5630
-var ReactComponentTreeDevtool = {
5631
- onSetDisplayName: function (id, displayName) {
5632
- updateTree(id, function (item) {
5633
- return item.displayName = displayName;
5634
- });
5635
- },
5721
+var ReactComponentTreeHook = {
5722
onSetChildren: function (id, nextChildIDs) {
5637
- updateTree(id, function (item) {
5638
- item.childIDs = nextChildIDs;
5639
-
5640
- nextChildIDs.forEach(function (nextChildID) {
5641
- var nextChild = tree[nextChildID];
5642
- !nextChild ? "development" !== 'production' ? invariant(false, 'Expected devtool events to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('68') : void 0;
5643
- !(nextChild.displayName != null) ? "development" !== 'production' ? invariant(false, 'Expected onSetDisplayName() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('69') : void 0;
5644
- !(nextChild.childIDs != null || nextChild.text != null) ? "development" !== 'production' ? invariant(false, 'Expected onSetChildren() or onSetText() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('70') : void 0;
5645
- !nextChild.isMounted ? "development" !== 'production' ? invariant(false, 'Expected onMountComponent() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('71') : void 0;
5646
- if (nextChild.parentID == null) {
5647
- nextChild.parentID = id;
5648
- // TODO: This shouldn't be necessary but mounting a new root during in
5649
- // componentWillMount currently causes not-yet-mounted components to
5650
- // be purged from our tree data so their parent ID is missing.
5651
- }
5652
- !(nextChild.parentID === id) ? "development" !== 'production' ? invariant(false, 'Expected onSetParent() and onSetChildren() to be consistent (%s has parents %s and %s).', nextChildID, nextChild.parentID, id) : _prodInvariant('72', nextChildID, nextChild.parentID, id) : void 0;
5653
- });
5654
- });
5655
- },
5656
- onSetOwner: function (id, ownerID) {
5657
- updateTree(id, function (item) {
5658
- return item.ownerID = ownerID;
5659
- });
5660
- },
5661
- onSetParent: function (id, parentID) {
5662
- updateTree(id, function (item) {
5663
- return item.parentID = parentID;
5664
- });
5665
- },
5666
- onSetText: function (id, text) {
5667
- updateTree(id, function (item) {
5668
- return item.text = text;
5669
- });
5723
+ var item = get(id);
5724
+ item.childIDs = nextChildIDs;
5725
+
5726
+ for (var i = 0; i < nextChildIDs.length; i++) {
5727
+ var nextChildID = nextChildIDs[i];
5728
+ var nextChild = get(nextChildID);
5729
+ !nextChild ? "development" !== 'production' ? invariant(false, 'Expected hook events to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('140') : void 0;
5730
+ !(nextChild.childIDs != null || typeof nextChild.element !== 'object' || nextChild.element == null) ? "development" !== 'production' ? invariant(false, 'Expected onSetChildren() to fire for a container child before its parent includes it in onSetChildren().') : _prodInvariant('141') : void 0;
5731
+ !nextChild.isMounted ? "development" !== 'production' ? invariant(false, 'Expected onMountComponent() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('71') : void 0;
5732
+ if (nextChild.parentID == null) {
5733
+ nextChild.parentID = id;
5734
+ // TODO: This shouldn't be necessary but mounting a new root during in
5735
+ // componentWillMount currently causes not-yet-mounted components to
5736
+ // be purged from our tree data so their parent ID is missing.
5737
+ }
5738
+ !(nextChild.parentID === id) ? "development" !== 'production' ? invariant(false, 'Expected onBeforeMountComponent() parent and onSetChildren() to be consistent (%s has parents %s and %s).', nextChildID, nextChild.parentID, id) : _prodInvariant('142', nextChildID, nextChild.parentID, id) : void 0;
5739
+ }
5740
},
5671
- onBeforeMountComponent: function (id, element) {
5672
- updateTree(id, function (item) {
5673
- return item.element = element;
5674
- });
5741
+ onBeforeMountComponent: function (id, element, parentID) {
5742
+ create(id, element, parentID);
5743
},
5744
onBeforeUpdateComponent: function (id, element) {
5677
- updateTree(id, function (item) {
5678
- return item.element = element;
5679
- });
5745
+ var item = get(id);
5746
+ if (!item || !item.isMounted) {
5747
+ // We may end up here as a result of setState() in componentWillUnmount().
5748
+ // In this case, ignore the element.
5749
+ return;
5750
+ }
5751
+ item.element = element;
5752
},
5753
onMountComponent: function (id) {
5682
- updateTree(id, function (item) {
5683
- return item.isMounted = true;
5684
- });
5685
- },
5686
- onMountRootComponent: function (id) {
5687
- rootIDs[id] = true;
5754
+ var item = get(id);
5755
+ item.isMounted = true;
5756
+ var isRoot = item.parentID === 0;
5757
+ if (isRoot) {
5758
+ addRoot(id);
5759
+ }
5760
},
5761
onUpdateComponent: function (id) {
5690
- updateTree(id, function (item) {
5691
- return item.updateCount++;
5692
- });
5762
+ var item = get(id);
5763
+ if (!item || !item.isMounted) {
5764
+ // We may end up here as a result of setState() in componentWillUnmount().
5765
+ // In this case, ignore the element.
5766
+ return;
5767
+ }
5768
+ item.updateCount++;
5769
},
5770
onUnmountComponent: function (id) {
5695
- updateTree(id, function (item) {
5696
- return item.isMounted = false;
5697
- });
5698
- unmountedIDs[id] = true;
5699
- delete rootIDs[id];
5771
+ var item = get(id);
5772
+ if (item) {
5773
+ // We need to check if it exists.
5774
+ // `item` might not exist if it is inside an error boundary, and a sibling
5775
+ // error boundary child threw while mounting. Then this instance never
5776
+ // got a chance to mount, but it still gets an unmounting event during
5777
+ // the error boundary cleanup.
5778
+ item.isMounted = false;
5779
+ var isRoot = item.parentID === 0;
5780
+ if (isRoot) {
5781
+ removeRoot(id);
5782
+ }
5783
+ }
5784
+ unmountedIDs.push(id);
5785
},
5786
purgeUnmountedComponents: function () {
5702
- if (ReactComponentTreeDevtool._preventPurging) {
5787
+ if (ReactComponentTreeHook._preventPurging) {
5788
// Should only be used for testing.
5789
return;
5790
}
5791
5707
- for (var id in unmountedIDs) {
5792
+ for (var i = 0; i < unmountedIDs.length; i++) {
5793
+ var id = unmountedIDs[i];
5794
purgeDeep(id);
5795
}
5710
- unmountedIDs = {};
5796
+ unmountedIDs.length = 0;
5797
},
5798
isMounted: function (id) {
5713
- var item = tree[id];
5799
+ var item = get(id);
5800
return item ? item.isMounted : false;
5801
},
5802
getCurrentStackAddendum: function (topElement) {
@@ -5725,61 +5811,72 @@ var ReactComponentTreeDevtool = {
5811
var currentOwner = ReactCurrentOwner.current;
5812
var id = currentOwner && currentOwner._debugID;
5813
5728
- info += ReactComponentTreeDevtool.getStackAddendumByID(id);
5814
+ info += ReactComponentTreeHook.getStackAddendumByID(id);
5815
return info;
5816
},
5817
getStackAddendumByID: function (id) {
5818
var info = '';
5819
while (id) {
5820
info += describeID(id);
5735
- id = ReactComponentTreeDevtool.getParentID(id);
5821
+ id = ReactComponentTreeHook.getParentID(id);
5822
}
5823
return info;
5824
},
5825
getChildIDs: function (id) {
5740
- var item = tree[id];
5826
+ var item = get(id);
5827
return item ? item.childIDs : [];
5828
},
5829
getDisplayName: function (id) {
5744
- var item = tree[id];
5745
- return item ? item.displayName : 'Unknown';
5830
+ var element = ReactComponentTreeHook.getElement(id);
5831
+ if (!element) {
5832
+ return null;
5833
+ }
5834
+ return getDisplayName(element);
5835
},
5836
getElement: function (id) {
5748
- var item = tree[id];
5837
+ var item = get(id);
5838
return item ? item.element : null;
5839
},
5840
getOwnerID: function (id) {
5752
- var item = tree[id];
5753
- return item ? item.ownerID : null;
5841
+ var element = ReactComponentTreeHook.getElement(id);
5842
+ if (!element || !element._owner) {
5843
+ return null;
5844
+ }
5845
+ return element._owner._debugID;
5846
},
5847
getParentID: function (id) {
5756
- var item = tree[id];
5848
+ var item = get(id);
5849
return item ? item.parentID : null;
5850
},
5851
getSource: function (id) {
5760
- var item = tree[id];
5852
+ var item = get(id);
5853
var element = item ? item.element : null;
5854
var source = element != null ? element._source : null;
5855
return source;
5856
},
5857
getText: function (id) {
5766
- var item = tree[id];
5767
- return item ? item.text : null;
5858
+ var element = ReactComponentTreeHook.getElement(id);
5859
+ if (typeof element === 'string') {
5860
+ return element;
5861
+ } else if (typeof element === 'number') {
5862
+ return '' + element;
5863
+ } else {
5864
+ return null;
5865
+ }
5866
},
5867
getUpdateCount: function (id) {
5770
- var item = tree[id];
5868
+ var item = get(id);
5869
return item ? item.updateCount : 0;
5870
},
5773
- getRootIDs: function () {
5774
- return Object.keys(rootIDs);
5775
- },
5776
- getRegisteredIDs: function () {
5777
- return Object.keys(tree);
5778
- }
5871
+
5872
+
5873
+ getRegisteredIDs: getRegisteredIDs,
5874
+
5875
+ getRootIDs: getRootIDs
5876
};
5877
5781
-module.exports = ReactComponentTreeDevtool;
5782
-},{"142":142,"164":164,"174":174,"37":37}],36:[function(_dereq_,module,exports){
5878
+module.exports = ReactComponentTreeHook;
5879
+},{"140":140,"162":162,"171":171,"37":37}],36:[function(_dereq_,module,exports){
5880
/**
5881
* Copyright 2013-present, Facebook, Inc.
5882
* All rights reserved.
@@ -5793,25 +5890,25 @@ module.exports = ReactComponentTreeDevtool;
5890
5891
'use strict';
5892
5796
-var _prodInvariant = _dereq_(142),
5797
- _assign = _dereq_(175);
5893
+var _prodInvariant = _dereq_(140),
5894
+ _assign = _dereq_(172);
5895
5896
var ReactComponentEnvironment = _dereq_(34);
5897
var ReactCurrentOwner = _dereq_(37);
5801
-var ReactElement = _dereq_(63);
5802
-var ReactErrorUtils = _dereq_(66);
5803
-var ReactInstanceMap = _dereq_(74);
5804
-var ReactInstrumentation = _dereq_(75);
5805
-var ReactNodeTypes = _dereq_(81);
5806
-var ReactPropTypeLocations = _dereq_(85);
5807
-var ReactReconciler = _dereq_(90);
5808
-
5809
-var checkReactTypeSpec = _dereq_(121);
5810
-var emptyObject = _dereq_(157);
5811
-var invariant = _dereq_(164);
5812
-var shallowEqual = _dereq_(173);
5813
-var shouldUpdateReactComponent = _dereq_(146);
5814
-var warning = _dereq_(174);
5898
+var ReactElement = _dereq_(61);
5899
+var ReactErrorUtils = _dereq_(64);
5900
+var ReactInstanceMap = _dereq_(72);
5901
+var ReactInstrumentation = _dereq_(73);
5902
+var ReactNodeTypes = _dereq_(79);
5903
+var ReactPropTypeLocations = _dereq_(83);
5904
+var ReactReconciler = _dereq_(88);
5905
+
5906
+var checkReactTypeSpec = _dereq_(119);
5907
+var emptyObject = _dereq_(155);
5908
+var invariant = _dereq_(162);
5909
+var shallowEqual = _dereq_(170);
5910
+var shouldUpdateReactComponent = _dereq_(144);
5911
+var warning = _dereq_(171);
5912
5913
var CompositeTypes = {
5914
ImpureClass: 0,
@@ -5913,7 +6010,7 @@ var ReactCompositeComponentMixin = {
6010
*/
6011
construct: function (element) {
6012
this._currentElement = element;
5916
- this._rootNodeID = null;
6013
+ this._rootNodeID = 0;
6014
this._compositeType = null;
6015
this._instance = null;
6016
this._hostParent = null;
@@ -5955,8 +6052,6 @@ var ReactCompositeComponentMixin = {
6052
* @internal
6053
*/
6054
mountComponent: function (transaction, hostParent, hostContainerInfo, context) {
5958
- var _this = this;
5959
-
6055
this._context = context;
6056
this._mountOrder = nextMountID++;
6057
this._hostParent = hostParent;
@@ -6052,15 +6147,6 @@ var ReactCompositeComponentMixin = {
6147
}
6148
}
6149
6055
- if ("development" !== 'production') {
6056
- if (this._debugID) {
6057
- var callback = function (component) {
6058
- return ReactInstrumentation.debugTool.onComponentHasMounted(_this._debugID);
6059
- };
6060
- transaction.getReactMountReady().enqueue(callback, this);
6061
- }
6062
- }
6063
-
6150
return markup;
6151
},
6152
@@ -6170,13 +6256,12 @@ var ReactCompositeComponentMixin = {
6256
var child = this._instantiateReactComponent(renderedElement, nodeType !== ReactNodeTypes.EMPTY /* shouldHaveDebugID */
6257
);
6258
this._renderedComponent = child;
6259
+
6260
+ var selfDebugID = 0;
6261
if ("development" !== 'production') {
6174
- if (child._debugID !== 0 && this._debugID !== 0) {
6175
- ReactInstrumentation.debugTool.onSetParent(child._debugID, this._debugID);
6176
- }
6262
+ selfDebugID = this._debugID;
6263
}
6178
-
6179
- var markup = ReactReconciler.mountComponent(child, transaction, hostParent, hostContainerInfo, this._processChildContext(context));
6264
+ var markup = ReactReconciler.mountComponent(child, transaction, hostParent, hostContainerInfo, this._processChildContext(context), selfDebugID);
6265
6266
if ("development" !== 'production') {
6267
if (this._debugID !== 0) {
@@ -6242,7 +6327,7 @@ var ReactCompositeComponentMixin = {
6327
// These fields do not really need to be reset since this object is no
6328
// longer accessible.
6329
this._context = null;
6245
- this._rootNodeID = null;
6330
+ this._rootNodeID = 0;
6331
this._topLevelWrapper = null;
6332
6333
// Delete the reference from the instance to this internal representation
@@ -6498,8 +6583,6 @@ var ReactCompositeComponentMixin = {
6583
* @private
6584
*/
6585
_performComponentUpdate: function (nextElement, nextProps, nextState, nextContext, transaction, unmaskedContext) {
6501
- var _this2 = this;
6502
-
6586
var inst = this._instance;
6587
6588
var hasComponentDidUpdate = Boolean(inst.componentDidUpdate);
@@ -6541,15 +6624,6 @@ var ReactCompositeComponentMixin = {
6624
transaction.getReactMountReady().enqueue(inst.componentDidUpdate.bind(inst, prevProps, prevState, prevContext), inst);
6625
}
6626
}
6544
-
6545
- if ("development" !== 'production') {
6546
- if (this._debugID) {
6547
- var callback = function () {
6548
- return ReactInstrumentation.debugTool.onComponentHasUpdated(_this2._debugID);
6549
- };
6550
- transaction.getReactMountReady().enqueue(callback, this);
6551
- }
6552
- }
6627
},
6628
6629
/**
@@ -6573,13 +6647,12 @@ var ReactCompositeComponentMixin = {
6647
var child = this._instantiateReactComponent(nextRenderedElement, nodeType !== ReactNodeTypes.EMPTY /* shouldHaveDebugID */
6648
);
6649
this._renderedComponent = child;
6650
+
6651
+ var selfDebugID = 0;
6652
if ("development" !== 'production') {
6577
- if (child._debugID !== 0 && this._debugID !== 0) {
6578
- ReactInstrumentation.debugTool.onSetParent(child._debugID, this._debugID);
6579
- }
6653
+ selfDebugID = this._debugID;
6654
}
6581
-
6582
- var nextMarkup = ReactReconciler.mountComponent(child, transaction, this._hostParent, this._hostContainerInfo, this._processChildContext(context));
6655
+ var nextMarkup = ReactReconciler.mountComponent(child, transaction, this._hostParent, this._hostContainerInfo, this._processChildContext(context), selfDebugID);
6656
6657
if ("development" !== 'production') {
6658
if (this._debugID !== 0) {
@@ -6724,7 +6797,7 @@ var ReactCompositeComponent = {
6797
};
6798
6799
module.exports = ReactCompositeComponent;
6727
-},{"121":121,"142":142,"146":146,"157":157,"164":164,"173":173,"174":174,"175":175,"34":34,"37":37,"63":63,"66":66,"74":74,"75":75,"81":81,"85":85,"90":90}],37:[function(_dereq_,module,exports){
6800
+},{"119":119,"140":140,"144":144,"155":155,"162":162,"170":170,"171":171,"172":172,"34":34,"37":37,"61":61,"64":64,"72":72,"73":73,"79":79,"83":83,"88":88}],37:[function(_dereq_,module,exports){
6801
/**
6802
* Copyright 2013-present, Facebook, Inc.
6803
* All rights reserved.
@@ -6773,16 +6846,16 @@ module.exports = ReactCurrentOwner;
6846
'use strict';
6847
6848
var ReactDOMComponentTree = _dereq_(42);
6776
-var ReactDefaultInjection = _dereq_(62);
6777
-var ReactMount = _dereq_(78);
6778
-var ReactReconciler = _dereq_(90);
6779
-var ReactUpdates = _dereq_(98);
6780
-var ReactVersion = _dereq_(99);
6849
+var ReactDefaultInjection = _dereq_(60);
6850
+var ReactMount = _dereq_(76);
6851
+var ReactReconciler = _dereq_(88);
6852
+var ReactUpdates = _dereq_(96);
6853
+var ReactVersion = _dereq_(97);
6854
6782
-var findDOMNode = _dereq_(125);
6783
-var getHostComponentFromComposite = _dereq_(132);
6784
-var renderSubtreeIntoContainer = _dereq_(143);
6785
-var warning = _dereq_(174);
6855
+var findDOMNode = _dereq_(123);
6856
+var getHostComponentFromComposite = _dereq_(130);
6857
+var renderSubtreeIntoContainer = _dereq_(141);
6858
+var warning = _dereq_(171);
6859
6860
ReactDefaultInjection.inject();
6861
@@ -6822,7 +6895,7 @@ if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVT
6895
}
6896
6897
if ("development" !== 'production') {
6825
- var ExecutionEnvironment = _dereq_(150);
6898
+ var ExecutionEnvironment = _dereq_(148);
6899
if (ExecutionEnvironment.canUseDOM && window.top === window.self) {
6900
6901
// First check if devtools is not installed
@@ -6857,8 +6930,17 @@ if ("development" !== 'production') {
6930
}
6931
}
6932
6933
+if ("development" !== 'production') {
6934
+ var ReactInstrumentation = _dereq_(73);
6935
+ var ReactDOMUnknownPropertyHook = _dereq_(57);
6936
+ var ReactDOMNullInputValuePropHook = _dereq_(49);
6937
+
6938
+ ReactInstrumentation.debugTool.addHook(ReactDOMUnknownPropertyHook);
6939
+ ReactInstrumentation.debugTool.addHook(ReactDOMNullInputValuePropHook);
6940
+}
6941
+
6942
module.exports = ReactDOM;
6861
-},{"125":125,"132":132,"143":143,"150":150,"174":174,"42":42,"62":62,"78":78,"90":90,"98":98,"99":99}],39:[function(_dereq_,module,exports){
6943
+},{"123":123,"130":130,"141":141,"148":148,"171":171,"42":42,"49":49,"57":57,"60":60,"73":73,"76":76,"88":88,"96":96,"97":97}],39:[function(_dereq_,module,exports){
6944
/**
6945
* Copyright 2013-present, Facebook, Inc.
6946
* All rights reserved.
@@ -6899,8 +6981,8 @@ module.exports = ReactDOMButton;
6981
6982
'use strict';
6983
6902
-var _prodInvariant = _dereq_(142),
6903
- _assign = _dereq_(175);
6984
+var _prodInvariant = _dereq_(140),
6985
+ _assign = _dereq_(172);
6986
6987
var AutoFocusUtils = _dereq_(1);
6988
var CSSPropertyOperations = _dereq_(4);
@@ -6912,26 +6994,25 @@ var EventConstants = _dereq_(16);
6994
var EventPluginHub = _dereq_(17);
6995
var EventPluginRegistry = _dereq_(18);
6996
var ReactBrowserEventEmitter = _dereq_(27);
6915
-var ReactComponentBrowserEnvironment = _dereq_(33);
6997
var ReactDOMButton = _dereq_(39);
6998
var ReactDOMComponentFlags = _dereq_(41);
6999
var ReactDOMComponentTree = _dereq_(42);
6919
-var ReactDOMInput = _dereq_(49);
6920
-var ReactDOMOption = _dereq_(52);
6921
-var ReactDOMSelect = _dereq_(53);
6922
-var ReactDOMTextarea = _dereq_(57);
6923
-var ReactInstrumentation = _dereq_(75);
6924
-var ReactMultiChild = _dereq_(79);
6925
-var ReactServerRenderingTransaction = _dereq_(94);
6926
-
6927
-var emptyFunction = _dereq_(156);
6928
-var escapeTextContentForBrowser = _dereq_(124);
6929
-var invariant = _dereq_(164);
6930
-var isEventSupported = _dereq_(138);
6931
-var keyOf = _dereq_(168);
6932
-var shallowEqual = _dereq_(173);
6933
-var validateDOMNesting = _dereq_(148);
6934
-var warning = _dereq_(174);
7000
+var ReactDOMInput = _dereq_(48);
7001
+var ReactDOMOption = _dereq_(50);
7002
+var ReactDOMSelect = _dereq_(51);
7003
+var ReactDOMTextarea = _dereq_(55);
7004
+var ReactInstrumentation = _dereq_(73);
7005
+var ReactMultiChild = _dereq_(77);
7006
+var ReactServerRenderingTransaction = _dereq_(92);
7007
+
7008
+var emptyFunction = _dereq_(154);
7009
+var escapeTextContentForBrowser = _dereq_(122);
7010
+var invariant = _dereq_(162);
7011
+var isEventSupported = _dereq_(136);
7012
+var keyOf = _dereq_(166);
7013
+var shallowEqual = _dereq_(170);
7014
+var validateDOMNesting = _dereq_(146);
7015
+var warning = _dereq_(171);
7016
7017
var Flags = ReactDOMComponentFlags;
7018
var deleteListener = EventPluginHub.deleteListener;
@@ -7087,7 +7168,8 @@ if ("development" !== 'production') {
7168
setContentChildForInstrumentation = function (content) {
7169
var hasExistingContent = this._contentDebugID != null;
7170
var debugID = this._debugID;
7090
- var contentDebugID = debugID + '#text';
7171
+ // This ID represents the inlined child that has no backing instance:
7172
+ var contentDebugID = -debugID;
7173
7174
if (content == null) {
7175
if (hasExistingContent) {
@@ -7098,17 +7180,11 @@ if ("development" !== 'production') {
7180
}
7181
7182
this._contentDebugID = contentDebugID;
7101
- var text = '' + content;
7102
-
7103
- ReactInstrumentation.debugTool.onSetDisplayName(contentDebugID, '#text');
7104
- ReactInstrumentation.debugTool.onSetParent(contentDebugID, debugID);
7105
- ReactInstrumentation.debugTool.onSetText(contentDebugID, text);
7106
-
7183
if (hasExistingContent) {
7184
ReactInstrumentation.debugTool.onBeforeUpdateComponent(contentDebugID, content);
7185
ReactInstrumentation.debugTool.onUpdateComponent(contentDebugID);
7186
} else {
7111
- ReactInstrumentation.debugTool.onBeforeMountComponent(contentDebugID, content);
7187
+ ReactInstrumentation.debugTool.onBeforeMountComponent(contentDebugID, content, debugID);
7188
ReactInstrumentation.debugTool.onMountComponent(contentDebugID);
7189
ReactInstrumentation.debugTool.onSetChildren(debugID, [contentDebugID]);
7190
}
@@ -7269,8 +7345,8 @@ function ReactDOMComponent(element) {
7345
this._previousStyleCopy = null;
7346
this._hostNode = null;
7347
this._hostParent = null;
7272
- this._rootNodeID = null;
7273
- this._domID = null;
7348
+ this._rootNodeID = 0;
7349
+ this._domID = 0;
7350
this._hostContainerInfo = null;
7351
this._wrapperState = null;
7352
this._topLevelWrapper = null;
@@ -7291,14 +7367,12 @@ ReactDOMComponent.Mixin = {
7367
*
7368
* @internal
7369
* @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction
7294
- * @param {?ReactDOMComponent} the containing DOM component instance
7370
+ * @param {?ReactDOMComponent} the parent component instance
7371
* @param {?object} info about the host container
7372
* @param {object} context
7373
* @return {string} The computed markup.
7374
*/
7375
mountComponent: function (transaction, hostParent, hostContainerInfo, context) {
7300
- var _this = this;
7301
-
7376
this._rootNodeID = globalIdCounter++;
7377
this._domID = hostContainerInfo._idCounter++;
7378
this._hostParent = hostParent;
@@ -7454,15 +7528,6 @@ ReactDOMComponent.Mixin = {
7528
break;
7529
}
7530
7457
- if ("development" !== 'production') {
7458
- if (this._debugID) {
7459
- var callback = function () {
7460
- return ReactInstrumentation.debugTool.onComponentHasMounted(_this._debugID);
7461
- };
7462
- transaction.getReactMountReady().enqueue(callback, this);
7463
- }
7464
- }
7465
-
7531
return mountImage;
7532
},
7533
@@ -7631,8 +7696,6 @@ ReactDOMComponent.Mixin = {
7696
* @overridable
7697
*/
7698
updateComponent: function (transaction, prevElement, nextElement, context) {
7634
- var _this2 = this;
7635
-
7699
var lastProps = prevElement.props;
7700
var nextProps = this._currentElement.props;
7701
@@ -7642,7 +7705,6 @@ ReactDOMComponent.Mixin = {
7705
nextProps = ReactDOMButton.getHostProps(this, nextProps);
7706
break;
7707
case 'input':
7645
- ReactDOMInput.updateWrapper(this);
7708
lastProps = ReactDOMInput.getHostProps(this, lastProps);
7709
nextProps = ReactDOMInput.getHostProps(this, nextProps);
7710
break;
@@ -7655,7 +7717,6 @@ ReactDOMComponent.Mixin = {
7717
nextProps = ReactDOMSelect.getHostProps(this, nextProps);
7718
break;
7719
case 'textarea':
7658
- ReactDOMTextarea.updateWrapper(this);
7720
lastProps = ReactDOMTextarea.getHostProps(this, lastProps);
7721
nextProps = ReactDOMTextarea.getHostProps(this, nextProps);
7722
break;
@@ -7665,19 +7726,21 @@ ReactDOMComponent.Mixin = {
7726
this._updateDOMProperties(lastProps, nextProps, transaction);
7727
this._updateDOMChildren(lastProps, nextProps, transaction, context);
7728
7668
- if (this._tag === 'select') {
7669
- // <select> value update needs to occur after <option> children
7670
- // reconciliation
7671
- transaction.getReactMountReady().enqueue(postUpdateSelectWrapper, this);
7672
- }
7673
-
7674
- if ("development" !== 'production') {
7675
- if (this._debugID) {
7676
- var callback = function () {
7677
- return ReactInstrumentation.debugTool.onComponentHasUpdated(_this2._debugID);
7678
- };
7679
- transaction.getReactMountReady().enqueue(callback, this);
7680
- }
7729
+ switch (this._tag) {
7730
+ case 'input':
7731
+ // Update the wrapper around inputs *after* updating props. This has to
7732
+ // happen after `_updateDOMProperties`. Otherwise HTML5 input validations
7733
+ // raise warnings and prevent the new value from being assigned.
7734
+ ReactDOMInput.updateWrapper(this);
7735
+ break;
7736
+ case 'textarea':
7737
+ ReactDOMTextarea.updateWrapper(this);
7738
+ break;
7739
+ case 'select':
7740
+ // <select> value update needs to occur after <option> children
7741
+ // reconciliation
7742
+ transaction.getReactMountReady().enqueue(postUpdateSelectWrapper, this);
7743
+ break;
7744
}
7745
},
7746
@@ -7890,9 +7953,8 @@ ReactDOMComponent.Mixin = {
7953
this.unmountChildren(safely);
7954
ReactDOMComponentTree.uncacheNode(this);
7955
EventPluginHub.deleteAllListeners(this);
7893
- ReactComponentBrowserEnvironment.unmountIDFromEnvironment(this._rootNodeID);
7894
- this._rootNodeID = null;
7895
- this._domID = null;
7956
+ this._rootNodeID = 0;
7957
+ this._domID = 0;
7958
this._wrapperState = null;
7959
7960
if ("development" !== 'production') {
@@ -7909,7 +7971,7 @@ ReactDOMComponent.Mixin = {
7971
_assign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mixin);
7972
7973
module.exports = ReactDOMComponent;
7912
-},{"1":1,"10":10,"11":11,"124":124,"138":138,"142":142,"148":148,"156":156,"16":16,"164":164,"168":168,"17":17,"173":173,"174":174,"175":175,"18":18,"27":27,"33":33,"39":39,"4":4,"41":41,"42":42,"49":49,"52":52,"53":53,"57":57,"75":75,"79":79,"8":8,"9":9,"94":94}],41:[function(_dereq_,module,exports){
7974
+},{"1":1,"10":10,"11":11,"122":122,"136":136,"140":140,"146":146,"154":154,"16":16,"162":162,"166":166,"17":17,"170":170,"171":171,"172":172,"18":18,"27":27,"39":39,"4":4,"41":41,"42":42,"48":48,"50":50,"51":51,"55":55,"73":73,"77":77,"8":8,"9":9,"92":92}],41:[function(_dereq_,module,exports){
7975
/**
7976
* Copyright 2015-present, Facebook, Inc.
7977
* All rights reserved.
@@ -7942,12 +8004,12 @@ module.exports = ReactDOMComponentFlags;
8004
8005
'use strict';
8006
7945
-var _prodInvariant = _dereq_(142);
8007
+var _prodInvariant = _dereq_(140);
8008
8009
var DOMProperty = _dereq_(10);
8010
var ReactDOMComponentFlags = _dereq_(41);
8011
7950
-var invariant = _dereq_(164);
8012
+var invariant = _dereq_(162);
8013
8014
var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;
8015
var Flags = ReactDOMComponentFlags;
@@ -8013,7 +8075,7 @@ function precacheChildNodes(inst, node) {
8075
}
8076
var childInst = children[name];
8077
var childID = getRenderedHostOrTextFromComponent(childInst)._domID;
8016
- if (childID == null) {
8078
+ if (childID === 0) {
8079
// We're currently unmounting this child in ReactMultiChild; skip it.
8080
continue;
8081
}
@@ -8117,7 +8179,7 @@ var ReactDOMComponentTree = {
8179
};
8180
8181
module.exports = ReactDOMComponentTree;
8120
-},{"10":10,"142":142,"164":164,"41":41}],43:[function(_dereq_,module,exports){
8182
+},{"10":10,"140":140,"162":162,"41":41}],43:[function(_dereq_,module,exports){
8183
/**
8184
* Copyright 2013-present, Facebook, Inc.
8185
* All rights reserved.
@@ -8131,7 +8193,7 @@ module.exports = ReactDOMComponentTree;
8193
8194
'use strict';
8195
8134
-var validateDOMNesting = _dereq_(148);
8196
+var validateDOMNesting = _dereq_(146);
8197
8198
var DOC_NODE_TYPE = 9;
8199
@@ -8151,75 +8213,7 @@ function ReactDOMContainerInfo(topLevelWrapper, node) {
8213
}
8214
8215
module.exports = ReactDOMContainerInfo;
8154
-},{"148":148}],44:[function(_dereq_,module,exports){
8155
-/**
8156
- * Copyright 2013-present, Facebook, Inc.
8157
- * All rights reserved.
8158
- *
8159
- * This source code is licensed under the BSD-style license found in the
8160
- * LICENSE file in the root directory of this source tree. An additional grant
8161
- * of patent rights can be found in the PATENTS file in the same directory.
8162
- *
8163
- * @providesModule ReactDOMDebugTool
8164
- */
8165
-
8166
-'use strict';
8167
-
8168
-var ReactDOMNullInputValuePropDevtool = _dereq_(51);
8169
-var ReactDOMUnknownPropertyDevtool = _dereq_(59);
8170
-var ReactDebugTool = _dereq_(60);
8171
-
8172
-var warning = _dereq_(174);
8173
-
8174
-var eventHandlers = [];
8175
-var handlerDoesThrowForEvent = {};
8176
-
8177
-function emitEvent(handlerFunctionName, arg1, arg2, arg3, arg4, arg5) {
8178
- eventHandlers.forEach(function (handler) {
8179
- try {
8180
- if (handler[handlerFunctionName]) {
8181
- handler[handlerFunctionName](arg1, arg2, arg3, arg4, arg5);
8182
- }
8183
- } catch (e) {
8184
- "development" !== 'production' ? warning(handlerDoesThrowForEvent[handlerFunctionName], 'exception thrown by devtool while handling %s: %s', handlerFunctionName, e + '\n' + e.stack) : void 0;
8185
- handlerDoesThrowForEvent[handlerFunctionName] = true;
8186
- }
8187
- });
8188
-}
8189
-
8190
-var ReactDOMDebugTool = {
8191
- addDevtool: function (devtool) {
8192
- ReactDebugTool.addDevtool(devtool);
8193
- eventHandlers.push(devtool);
8194
- },
8195
- removeDevtool: function (devtool) {
8196
- ReactDebugTool.removeDevtool(devtool);
8197
- for (var i = 0; i < eventHandlers.length; i++) {
8198
- if (eventHandlers[i] === devtool) {
8199
- eventHandlers.splice(i, 1);
8200
- i--;
8201
- }
8202
- }
8203
- },
8204
- onCreateMarkupForProperty: function (name, value) {
8205
- emitEvent('onCreateMarkupForProperty', name, value);
8206
- },
8207
- onSetValueForProperty: function (node, name, value) {
8208
- emitEvent('onSetValueForProperty', node, name, value);
8209
- },
8210
- onDeleteValueForProperty: function (node, name) {
8211
- emitEvent('onDeleteValueForProperty', node, name);
8212
- },
8213
- onTestEvent: function () {
8214
- emitEvent('onTestEvent');
8215
- }
8216
-};
8217
-
8218
-ReactDOMDebugTool.addDevtool(ReactDOMUnknownPropertyDevtool);
8219
-ReactDOMDebugTool.addDevtool(ReactDOMNullInputValuePropDevtool);
8220
-
8221
-module.exports = ReactDOMDebugTool;
8222
-},{"174":174,"51":51,"59":59,"60":60}],45:[function(_dereq_,module,exports){
8216
+},{"146":146}],44:[function(_dereq_,module,exports){
8217
/**
8218
* Copyright 2014-present, Facebook, Inc.
8219
* All rights reserved.
@@ -8233,7 +8227,7 @@ module.exports = ReactDOMDebugTool;
8227
8228
'use strict';
8229
8236
-var _assign = _dereq_(175);
8230
+var _assign = _dereq_(172);
8231
8232
var DOMLazyTree = _dereq_(8);
8233
var ReactDOMComponentTree = _dereq_(42);
@@ -8245,7 +8239,7 @@ var ReactDOMEmptyComponent = function (instantiate) {
8239
this._hostNode = null;
8240
this._hostParent = null;
8241
this._hostContainerInfo = null;
8248
- this._domID = null;
8242
+ this._domID = 0;
8243
};
8244
_assign(ReactDOMEmptyComponent.prototype, {
8245
mountComponent: function (transaction, hostParent, hostContainerInfo, context) {
@@ -8280,7 +8274,7 @@ _assign(ReactDOMEmptyComponent.prototype, {
8274
});
8275
8276
module.exports = ReactDOMEmptyComponent;
8283
-},{"175":175,"42":42,"8":8}],46:[function(_dereq_,module,exports){
8277
+},{"172":172,"42":42,"8":8}],45:[function(_dereq_,module,exports){
8278
/**
8279
* Copyright 2013-present, Facebook, Inc.
8280
* All rights reserved.
@@ -8294,22 +8288,17 @@ module.exports = ReactDOMEmptyComponent;
8288
8289
'use strict';
8290
8297
-var ReactElement = _dereq_(63);
8298
-
8299
-var mapObject = _dereq_(169);
8291
+var ReactElement = _dereq_(61);
8292
8293
/**
8294
* Create a factory that creates HTML tag elements.
8295
*
8304
- * @param {string} tag Tag name (e.g. `div`).
8296
* @private
8297
*/
8307
-function createDOMFactory(tag) {
8308
- if ("development" !== 'production') {
8309
- var ReactElementValidator = _dereq_(64);
8310
- return ReactElementValidator.createFactory(tag);
8311
- }
8312
- return ReactElement.createFactory(tag);
8298
+var createDOMFactory = ReactElement.createFactory;
8299
+if ("development" !== 'production') {
8300
+ var ReactElementValidator = _dereq_(62);
8301
+ createDOMFactory = ReactElementValidator.createFactory;
8302
}
8303
8304
/**
@@ -8318,146 +8307,145 @@ function createDOMFactory(tag) {
8307
*
8308
* @public
8309
*/
8321
-var ReactDOMFactories = mapObject({
8322
- a: 'a',
8323
- abbr: 'abbr',
8324
- address: 'address',
8325
- area: 'area',
8326
- article: 'article',
8327
- aside: 'aside',
8328
- audio: 'audio',
8329
- b: 'b',
8330
- base: 'base',
8331
- bdi: 'bdi',
8332
- bdo: 'bdo',
8333
- big: 'big',
8334
- blockquote: 'blockquote',
8335
- body: 'body',
8336
- br: 'br',
8337
- button: 'button',
8338
- canvas: 'canvas',
8339
- caption: 'caption',
8340
- cite: 'cite',
8341
- code: 'code',
8342
- col: 'col',
8343
- colgroup: 'colgroup',
8344
- data: 'data',
8345
- datalist: 'datalist',
8346
- dd: 'dd',
8347
- del: 'del',
8348
- details: 'details',
8349
- dfn: 'dfn',
8350
- dialog: 'dialog',
8351
- div: 'div',
8352
- dl: 'dl',
8353
- dt: 'dt',
8354
- em: 'em',
8355
- embed: 'embed',
8356
- fieldset: 'fieldset',
8357
- figcaption: 'figcaption',
8358
- figure: 'figure',
8359
- footer: 'footer',
8360
- form: 'form',
8361
- h1: 'h1',
8362
- h2: 'h2',
8363
- h3: 'h3',
8364
- h4: 'h4',
8365
- h5: 'h5',
8366
- h6: 'h6',
8367
- head: 'head',
8368
- header: 'header',
8369
- hgroup: 'hgroup',
8370
- hr: 'hr',
8371
- html: 'html',
8372
- i: 'i',
8373
- iframe: 'iframe',
8374
- img: 'img',
8375
- input: 'input',
8376
- ins: 'ins',
8377
- kbd: 'kbd',
8378
- keygen: 'keygen',
8379
- label: 'label',
8380
- legend: 'legend',
8381
- li: 'li',
8382
- link: 'link',
8383
- main: 'main',
8384
- map: 'map',
8385
- mark: 'mark',
8386
- menu: 'menu',
8387
- menuitem: 'menuitem',
8388
- meta: 'meta',
8389
- meter: 'meter',
8390
- nav: 'nav',
8391
- noscript: 'noscript',
8392
- object: 'object',
8393
- ol: 'ol',
8394
- optgroup: 'optgroup',
8395
- option: 'option',
8396
- output: 'output',
8397
- p: 'p',
8398
- param: 'param',
8399
- picture: 'picture',
8400
- pre: 'pre',
8401
- progress: 'progress',
8402
- q: 'q',
8403
- rp: 'rp',
8404
- rt: 'rt',
8405
- ruby: 'ruby',
8406
- s: 's',
8407
- samp: 'samp',
8408
- script: 'script',
8409
- section: 'section',
8410
- select: 'select',
8411
- small: 'small',
8412
- source: 'source',
8413
- span: 'span',
8414
- strong: 'strong',
8415
- style: 'style',
8416
- sub: 'sub',
8417
- summary: 'summary',
8418
- sup: 'sup',
8419
- table: 'table',
8420
- tbody: 'tbody',
8421
- td: 'td',
8422
- textarea: 'textarea',
8423
- tfoot: 'tfoot',
8424
- th: 'th',
8425
- thead: 'thead',
8426
- time: 'time',
8427
- title: 'title',
8428
- tr: 'tr',
8429
- track: 'track',
8430
- u: 'u',
8431
- ul: 'ul',
8432
- 'var': 'var',
8433
- video: 'video',
8434
- wbr: 'wbr',
8310
+var ReactDOMFactories = {
8311
+ a: createDOMFactory('a'),
8312
+ abbr: createDOMFactory('abbr'),
8313
+ address: createDOMFactory('address'),
8314
+ area: createDOMFactory('area'),
8315
+ article: createDOMFactory('article'),
8316
+ aside: createDOMFactory('aside'),
8317
+ audio: createDOMFactory('audio'),
8318
+ b: createDOMFactory('b'),
8319
+ base: createDOMFactory('base'),
8320
+ bdi: createDOMFactory('bdi'),
8321
+ bdo: createDOMFactory('bdo'),
8322
+ big: createDOMFactory('big'),
8323
+ blockquote: createDOMFactory('blockquote'),
8324
+ body: createDOMFactory('body'),
8325
+ br: createDOMFactory('br'),
8326
+ button: createDOMFactory('button'),
8327
+ canvas: createDOMFactory('canvas'),
8328
+ caption: createDOMFactory('caption'),
8329
+ cite: createDOMFactory('cite'),
8330
+ code: createDOMFactory('code'),
8331
+ col: createDOMFactory('col'),
8332
+ colgroup: createDOMFactory('colgroup'),
8333
+ data: createDOMFactory('data'),
8334
+ datalist: createDOMFactory('datalist'),
8335
+ dd: createDOMFactory('dd'),
8336
+ del: createDOMFactory('del'),
8337
+ details: createDOMFactory('details'),
8338
+ dfn: createDOMFactory('dfn'),
8339
+ dialog: createDOMFactory('dialog'),
8340
+ div: createDOMFactory('div'),
8341
+ dl: createDOMFactory('dl'),
8342
+ dt: createDOMFactory('dt'),
8343
+ em: createDOMFactory('em'),
8344
+ embed: createDOMFactory('embed'),
8345
+ fieldset: createDOMFactory('fieldset'),
8346
+ figcaption: createDOMFactory('figcaption'),
8347
+ figure: createDOMFactory('figure'),
8348
+ footer: createDOMFactory('footer'),
8349
+ form: createDOMFactory('form'),
8350
+ h1: createDOMFactory('h1'),
8351
+ h2: createDOMFactory('h2'),
8352
+ h3: createDOMFactory('h3'),
8353
+ h4: createDOMFactory('h4'),
8354
+ h5: createDOMFactory('h5'),
8355
+ h6: createDOMFactory('h6'),
8356
+ head: createDOMFactory('head'),
8357
+ header: createDOMFactory('header'),
8358
+ hgroup: createDOMFactory('hgroup'),
8359
+ hr: createDOMFactory('hr'),
8360
+ html: createDOMFactory('html'),
8361
+ i: createDOMFactory('i'),
8362
+ iframe: createDOMFactory('iframe'),
8363
+ img: createDOMFactory('img'),
8364
+ input: createDOMFactory('input'),
8365
+ ins: createDOMFactory('ins'),
8366
+ kbd: createDOMFactory('kbd'),
8367
+ keygen: createDOMFactory('keygen'),
8368
+ label: createDOMFactory('label'),
8369
+ legend: createDOMFactory('legend'),
8370
+ li: createDOMFactory('li'),
8371
+ link: createDOMFactory('link'),
8372
+ main: createDOMFactory('main'),
8373
+ map: createDOMFactory('map'),
8374
+ mark: createDOMFactory('mark'),
8375
+ menu: createDOMFactory('menu'),
8376
+ menuitem: createDOMFactory('menuitem'),
8377
+ meta: createDOMFactory('meta'),
8378
+ meter: createDOMFactory('meter'),
8379
+ nav: createDOMFactory('nav'),
8380
+ noscript: createDOMFactory('noscript'),
8381
+ object: createDOMFactory('object'),
8382
+ ol: createDOMFactory('ol'),
8383
+ optgroup: createDOMFactory('optgroup'),
8384
+ option: createDOMFactory('option'),
8385
+ output: createDOMFactory('output'),
8386
+ p: createDOMFactory('p'),
8387
+ param: createDOMFactory('param'),
8388
+ picture: createDOMFactory('picture'),
8389
+ pre: createDOMFactory('pre'),
8390
+ progress: createDOMFactory('progress'),
8391
+ q: createDOMFactory('q'),
8392
+ rp: createDOMFactory('rp'),
8393
+ rt: createDOMFactory('rt'),
8394
+ ruby: createDOMFactory('ruby'),
8395
+ s: createDOMFactory('s'),
8396
+ samp: createDOMFactory('samp'),
8397
+ script: createDOMFactory('script'),
8398
+ section: createDOMFactory('section'),
8399
+ select: createDOMFactory('select'),
8400
+ small: createDOMFactory('small'),
8401
+ source: createDOMFactory('source'),
8402
+ span: createDOMFactory('span'),
8403
+ strong: createDOMFactory('strong'),
8404
+ style: createDOMFactory('style'),
8405
+ sub: createDOMFactory('sub'),
8406
+ summary: createDOMFactory('summary'),
8407
+ sup: createDOMFactory('sup'),
8408
+ table: createDOMFactory('table'),
8409
+ tbody: createDOMFactory('tbody'),
8410
+ td: createDOMFactory('td'),
8411
+ textarea: createDOMFactory('textarea'),
8412
+ tfoot: createDOMFactory('tfoot'),
8413
+ th: createDOMFactory('th'),
8414
+ thead: createDOMFactory('thead'),
8415
+ time: createDOMFactory('time'),
8416
+ title: createDOMFactory('title'),
8417
+ tr: createDOMFactory('tr'),
8418
+ track: createDOMFactory('track'),
8419
+ u: createDOMFactory('u'),
8420
+ ul: createDOMFactory('ul'),
8421
+ 'var': createDOMFactory('var'),
8422
+ video: createDOMFactory('video'),
8423
+ wbr: createDOMFactory('wbr'),
8424
8425
// SVG
8437
- circle: 'circle',
8438
- clipPath: 'clipPath',
8439
- defs: 'defs',
8440
- ellipse: 'ellipse',
8441
- g: 'g',
8442
- image: 'image',
8443
- line: 'line',
8444
- linearGradient: 'linearGradient',
8445
- mask: 'mask',
8446
- path: 'path',
8447
- pattern: 'pattern',
8448
- polygon: 'polygon',
8449
- polyline: 'polyline',
8450
- radialGradient: 'radialGradient',
8451
- rect: 'rect',
8452
- stop: 'stop',
8453
- svg: 'svg',
8454
- text: 'text',
8455
- tspan: 'tspan'
8456
-
8457
-}, createDOMFactory);
8426
+ circle: createDOMFactory('circle'),
8427
+ clipPath: createDOMFactory('clipPath'),
8428
+ defs: createDOMFactory('defs'),
8429
+ ellipse: createDOMFactory('ellipse'),
8430
+ g: createDOMFactory('g'),
8431
+ image: createDOMFactory('image'),
8432
+ line: createDOMFactory('line'),
8433
+ linearGradient: createDOMFactory('linearGradient'),
8434
+ mask: createDOMFactory('mask'),
8435
+ path: createDOMFactory('path'),
8436
+ pattern: createDOMFactory('pattern'),
8437
+ polygon: createDOMFactory('polygon'),
8438
+ polyline: createDOMFactory('polyline'),
8439
+ radialGradient: createDOMFactory('radialGradient'),
8440
+ rect: createDOMFactory('rect'),
8441
+ stop: createDOMFactory('stop'),
8442
+ svg: createDOMFactory('svg'),
8443
+ text: createDOMFactory('text'),
8444
+ tspan: createDOMFactory('tspan')
8445
+};
8446
8447
module.exports = ReactDOMFactories;
8460
-},{"169":169,"63":63,"64":64}],47:[function(_dereq_,module,exports){
8448
+},{"61":61,"62":62}],46:[function(_dereq_,module,exports){
8449
/**
8450
* Copyright 2013-present, Facebook, Inc.
8451
* All rights reserved.
@@ -8476,7 +8464,7 @@ var ReactDOMFeatureFlags = {
8464
};
8465
8466
module.exports = ReactDOMFeatureFlags;
8479
-},{}],48:[function(_dereq_,module,exports){
8467
+},{}],47:[function(_dereq_,module,exports){
8468
/**
8469
* Copyright 2013-present, Facebook, Inc.
8470
* All rights reserved.
@@ -8511,7 +8499,7 @@ var ReactDOMIDOperations = {
8499
};
8500
8501
module.exports = ReactDOMIDOperations;
8514
-},{"42":42,"7":7}],49:[function(_dereq_,module,exports){
8502
+},{"42":42,"7":7}],48:[function(_dereq_,module,exports){
8503
/**
8504
* Copyright 2013-present, Facebook, Inc.
8505
* All rights reserved.
@@ -8525,17 +8513,17 @@ module.exports = ReactDOMIDOperations;
8513
8514
'use strict';
8515
8528
-var _prodInvariant = _dereq_(142),
8529
- _assign = _dereq_(175);
8516
+var _prodInvariant = _dereq_(140),
8517
+ _assign = _dereq_(172);
8518
8519
var DisabledInputUtils = _dereq_(14);
8520
var DOMPropertyOperations = _dereq_(11);
8521
var LinkedValueUtils = _dereq_(24);
8522
var ReactDOMComponentTree = _dereq_(42);
8535
-var ReactUpdates = _dereq_(98);
8523
+var ReactUpdates = _dereq_(96);
8524
8537
-var invariant = _dereq_(164);
8538
-var warning = _dereq_(174);
8525
+var invariant = _dereq_(162);
8526
+var warning = _dereq_(171);
8527
8528
var didWarnValueLink = false;
8529
var didWarnCheckedLink = false;
@@ -8583,7 +8571,11 @@ var ReactDOMInput = {
8571
type: undefined,
8572
// Make sure we set .step before .value (setting .value before .step
8573
// means .value is rounded on mount, based upon step precision)
8586
- step: undefined
8574
+ step: undefined,
8575
+ // Make sure we set .min & .max before .value (to ensure proper order
8576
+ // in corner cases such as min or max deriving from value, e.g. Issue #7170)
8577
+ min: undefined,
8578
+ max: undefined
8579
}, DisabledInputUtils.getHostProps(inst, props), {
8580
defaultChecked: undefined,
8581
defaultValue: undefined,
@@ -8689,8 +8681,26 @@ var ReactDOMInput = {
8681
// are not resetable nodes so this operation doesn't matter and actually
8682
// removes browser-default values (eg "Submit Query") when no value is
8683
// provided.
8692
- if (props.type !== 'submit' && props.type !== 'reset') {
8693
- node.value = node.value;
8684
+
8685
+ switch (props.type) {
8686
+ case 'submit':
8687
+ case 'reset':
8688
+ break;
8689
+ case 'color':
8690
+ case 'date':
8691
+ case 'datetime':
8692
+ case 'datetime-local':
8693
+ case 'month':
8694
+ case 'time':
8695
+ case 'week':
8696
+ // This fixes the no-show issue on iOS Safari and Android Chrome:
8697
+ // https://github.com/facebook/react/issues/7233
8698
+ node.value = '';
8699
+ node.value = node.defaultValue;
8700
+ break;
8701
+ default:
8702
+ node.value = node.value;
8703
+ break;
8704
}
8705
8706
// Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug
@@ -8759,29 +8769,7 @@ function _handleChange(event) {
8769
}
8770
8771
module.exports = ReactDOMInput;
8762
-},{"11":11,"14":14,"142":142,"164":164,"174":174,"175":175,"24":24,"42":42,"98":98}],50:[function(_dereq_,module,exports){
8763
-/**
8764
- * Copyright 2013-present, Facebook, Inc.
8765
- * All rights reserved.
8766
- *
8767
- * This source code is licensed under the BSD-style license found in the
8768
- * LICENSE file in the root directory of this source tree. An additional grant
8769
- * of patent rights can be found in the PATENTS file in the same directory.
8770
- *
8771
- * @providesModule ReactDOMInstrumentation
8772
- */
8773
-
8774
-'use strict';
8775
-
8776
-var debugTool = null;
8777
-
8778
-if ("development" !== 'production') {
8779
- var ReactDOMDebugTool = _dereq_(44);
8780
- debugTool = ReactDOMDebugTool;
8781
-}
8782
-
8783
-module.exports = { debugTool: debugTool };
8784
-},{"44":44}],51:[function(_dereq_,module,exports){
8772
+},{"11":11,"14":14,"140":140,"162":162,"171":171,"172":172,"24":24,"42":42,"96":96}],49:[function(_dereq_,module,exports){
8773
/**
8774
* Copyright 2013-present, Facebook, Inc.
8775
* All rights reserved.
@@ -8790,14 +8778,14 @@ module.exports = { debugTool: debugTool };
8778
* LICENSE file in the root directory of this source tree. An additional grant
8779
* of patent rights can be found in the PATENTS file in the same directory.
8780
*
8793
- * @providesModule ReactDOMNullInputValuePropDevtool
8781
+ * @providesModule ReactDOMNullInputValuePropHook
8782
*/
8783
8784
'use strict';
8785
8798
-var ReactComponentTreeDevtool = _dereq_(35);
8786
+var ReactComponentTreeHook = _dereq_(35);
8787
8800
-var warning = _dereq_(174);
8788
+var warning = _dereq_(171);
8789
8790
var didWarnValueNull = false;
8791
@@ -8809,13 +8797,13 @@ function handleElement(debugID, element) {
8797
return;
8798
}
8799
if (element.props != null && element.props.value === null && !didWarnValueNull) {
8812
- "development" !== 'production' ? warning(false, '`value` prop on `%s` should not be null. ' + 'Consider using the empty string to clear the component or `undefined` ' + 'for uncontrolled components.%s', element.type, ReactComponentTreeDevtool.getStackAddendumByID(debugID)) : void 0;
8800
+ "development" !== 'production' ? warning(false, '`value` prop on `%s` should not be null. ' + 'Consider using the empty string to clear the component or `undefined` ' + 'for uncontrolled components.%s', element.type, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0;
8801
8802
didWarnValueNull = true;
8803
}
8804
}
8805
8818
-var ReactDOMUnknownPropertyDevtool = {
8806
+var ReactDOMNullInputValuePropHook = {
8807
onBeforeMountComponent: function (debugID, element) {
8808
handleElement(debugID, element);
8809
},
@@ -8824,8 +8812,8 @@ var ReactDOMUnknownPropertyDevtool = {
8812
}
8813
};
8814
8827
-module.exports = ReactDOMUnknownPropertyDevtool;
8828
-},{"174":174,"35":35}],52:[function(_dereq_,module,exports){
8815
+module.exports = ReactDOMNullInputValuePropHook;
8816
+},{"171":171,"35":35}],50:[function(_dereq_,module,exports){
8817
/**
8818
* Copyright 2013-present, Facebook, Inc.
8819
* All rights reserved.
@@ -8839,13 +8827,13 @@ module.exports = ReactDOMUnknownPropertyDevtool;
8827
8828
'use strict';
8829
8842
-var _assign = _dereq_(175);
8830
+var _assign = _dereq_(172);
8831
8832
var ReactChildren = _dereq_(29);
8833
var ReactDOMComponentTree = _dereq_(42);
8846
-var ReactDOMSelect = _dereq_(53);
8834
+var ReactDOMSelect = _dereq_(51);
8835
8848
-var warning = _dereq_(174);
8836
+var warning = _dereq_(171);
8837
var didWarnInvalidOptionChildren = false;
8838
8839
function flattenChildren(children) {
@@ -8949,7 +8937,7 @@ var ReactDOMOption = {
8937
};
8938
8939
module.exports = ReactDOMOption;
8952
-},{"174":174,"175":175,"29":29,"42":42,"53":53}],53:[function(_dereq_,module,exports){
8940
+},{"171":171,"172":172,"29":29,"42":42,"51":51}],51:[function(_dereq_,module,exports){
8941
/**
8942
* Copyright 2013-present, Facebook, Inc.
8943
* All rights reserved.
@@ -8963,14 +8951,14 @@ module.exports = ReactDOMOption;
8951
8952
'use strict';
8953
8966
-var _assign = _dereq_(175);
8954
+var _assign = _dereq_(172);
8955
8956
var DisabledInputUtils = _dereq_(14);
8957
var LinkedValueUtils = _dereq_(24);
8958
var ReactDOMComponentTree = _dereq_(42);
8971
-var ReactUpdates = _dereq_(98);
8959
+var ReactUpdates = _dereq_(96);
8960
8973
-var warning = _dereq_(174);
8961
+var warning = _dereq_(171);
8962
8963
var didWarnValueLink = false;
8964
var didWarnValueDefaultValue = false;
@@ -9018,10 +9006,11 @@ function checkSelectPropTypes(inst, props) {
9006
if (props[propName] == null) {
9007
continue;
9008
}
9021
- if (props.multiple) {
9022
- "development" !== 'production' ? warning(Array.isArray(props[propName]), 'The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum(owner)) : void 0;
9023
- } else {
9024
- "development" !== 'production' ? warning(!Array.isArray(props[propName]), 'The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum(owner)) : void 0;
9009
+ var isArray = Array.isArray(props[propName]);
9010
+ if (props.multiple && !isArray) {
9011
+ "development" !== 'production' ? warning(false, 'The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum(owner)) : void 0;
9012
+ } else if (!props.multiple && isArray) {
9013
+ "development" !== 'production' ? warning(false, 'The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum(owner)) : void 0;
9014
}
9015
}
9016
}
@@ -9150,7 +9139,7 @@ function _handleChange(event) {
9139
}
9140
9141
module.exports = ReactDOMSelect;
9153
-},{"14":14,"174":174,"175":175,"24":24,"42":42,"98":98}],54:[function(_dereq_,module,exports){
9142
+},{"14":14,"171":171,"172":172,"24":24,"42":42,"96":96}],52:[function(_dereq_,module,exports){
9143
/**
9144
* Copyright 2013-present, Facebook, Inc.
9145
* All rights reserved.
@@ -9164,10 +9153,10 @@ module.exports = ReactDOMSelect;
9153
9154
'use strict';
9155
9167
-var ExecutionEnvironment = _dereq_(150);
9156
+var ExecutionEnvironment = _dereq_(148);
9157
9169
-var getNodeForCharacterOffset = _dereq_(134);
9170
-var getTextContentAccessor = _dereq_(135);
9158
+var getNodeForCharacterOffset = _dereq_(132);
9159
+var getTextContentAccessor = _dereq_(133);
9160
9161
/**
9162
* While `isCollapsed` is available on the Selection object and `collapsed`
@@ -9363,7 +9352,7 @@ var ReactDOMSelection = {
9352
};
9353
9354
module.exports = ReactDOMSelection;
9366
-},{"134":134,"135":135,"150":150}],55:[function(_dereq_,module,exports){
9355
+},{"132":132,"133":133,"148":148}],53:[function(_dereq_,module,exports){
9356
/**
9357
* Copyright 2013-present, Facebook, Inc.
9358
* All rights reserved.
@@ -9377,9 +9366,9 @@ module.exports = ReactDOMSelection;
9366
9367
'use strict';
9368
9380
-var ReactDefaultInjection = _dereq_(62);
9381
-var ReactServerRendering = _dereq_(93);
9382
-var ReactVersion = _dereq_(99);
9369
+var ReactDefaultInjection = _dereq_(60);
9370
+var ReactServerRendering = _dereq_(91);
9371
+var ReactVersion = _dereq_(97);
9372
9373
ReactDefaultInjection.inject();
9374
@@ -9390,7 +9379,7 @@ var ReactDOMServer = {
9379
};
9380
9381
module.exports = ReactDOMServer;
9393
-},{"62":62,"93":93,"99":99}],56:[function(_dereq_,module,exports){
9382
+},{"60":60,"91":91,"97":97}],54:[function(_dereq_,module,exports){
9383
/**
9384
* Copyright 2013-present, Facebook, Inc.
9385
* All rights reserved.
@@ -9404,17 +9393,16 @@ module.exports = ReactDOMServer;
9393
9394
'use strict';
9395
9407
-var _prodInvariant = _dereq_(142),
9408
- _assign = _dereq_(175);
9396
+var _prodInvariant = _dereq_(140),
9397
+ _assign = _dereq_(172);
9398
9399
var DOMChildrenOperations = _dereq_(7);
9400
var DOMLazyTree = _dereq_(8);
9401
var ReactDOMComponentTree = _dereq_(42);
9413
-var ReactInstrumentation = _dereq_(75);
9402
9415
-var escapeTextContentForBrowser = _dereq_(124);
9416
-var invariant = _dereq_(164);
9417
-var validateDOMNesting = _dereq_(148);
9403
+var escapeTextContentForBrowser = _dereq_(122);
9404
+var invariant = _dereq_(162);
9405
+var validateDOMNesting = _dereq_(146);
9406
9407
/**
9408
* Text nodes violate a couple assumptions that React makes about components:
@@ -9440,7 +9428,7 @@ var ReactDOMTextComponent = function (text) {
9428
this._hostParent = null;
9429
9430
// Properties
9443
- this._domID = null;
9431
+ this._domID = 0;
9432
this._mountIndex = 0;
9433
this._closingComment = null;
9434
this._commentNodes = null;
@@ -9458,8 +9446,6 @@ _assign(ReactDOMTextComponent.prototype, {
9446
*/
9447
mountComponent: function (transaction, hostParent, hostContainerInfo, context) {
9448
if ("development" !== 'production') {
9461
- ReactInstrumentation.debugTool.onSetText(this._debugID, this._stringText);
9462
-
9449
var parentInfo;
9450
if (hostParent != null) {
9451
parentInfo = hostParent._ancestorInfo;
@@ -9523,10 +9509,6 @@ _assign(ReactDOMTextComponent.prototype, {
9509
this._stringText = nextStringText;
9510
var commentNodes = this.getHostNode();
9511
DOMChildrenOperations.replaceDelimitedText(commentNodes[0], commentNodes[1], nextStringText);
9526
-
9527
- if ("development" !== 'production') {
9528
- ReactInstrumentation.debugTool.onSetText(this._debugID, nextStringText);
9529
- }
9512
}
9513
}
9514
},
@@ -9562,7 +9544,7 @@ _assign(ReactDOMTextComponent.prototype, {
9544
});
9545
9546
module.exports = ReactDOMTextComponent;
9565
-},{"124":124,"142":142,"148":148,"164":164,"175":175,"42":42,"7":7,"75":75,"8":8}],57:[function(_dereq_,module,exports){
9547
+},{"122":122,"140":140,"146":146,"162":162,"172":172,"42":42,"7":7,"8":8}],55:[function(_dereq_,module,exports){
9548
/**
9549
* Copyright 2013-present, Facebook, Inc.
9550
* All rights reserved.
@@ -9576,16 +9558,16 @@ module.exports = ReactDOMTextComponent;
9558
9559
'use strict';
9560
9579
-var _prodInvariant = _dereq_(142),
9580
- _assign = _dereq_(175);
9561
+var _prodInvariant = _dereq_(140),
9562
+ _assign = _dereq_(172);
9563
9564
var DisabledInputUtils = _dereq_(14);
9565
var LinkedValueUtils = _dereq_(24);
9566
var ReactDOMComponentTree = _dereq_(42);
9585
-var ReactUpdates = _dereq_(98);
9567
+var ReactUpdates = _dereq_(96);
9568
9587
-var invariant = _dereq_(164);
9588
-var warning = _dereq_(174);
9569
+var invariant = _dereq_(162);
9570
+var warning = _dereq_(171);
9571
9572
var didWarnValueLink = false;
9573
var didWarnValDefaultVal = false;
@@ -9718,7 +9700,7 @@ function _handleChange(event) {
9700
}
9701
9702
module.exports = ReactDOMTextarea;
9721
-},{"14":14,"142":142,"164":164,"174":174,"175":175,"24":24,"42":42,"98":98}],58:[function(_dereq_,module,exports){
9703
+},{"14":14,"140":140,"162":162,"171":171,"172":172,"24":24,"42":42,"96":96}],56:[function(_dereq_,module,exports){
9704
/**
9705
* Copyright 2015-present, Facebook, Inc.
9706
* All rights reserved.
@@ -9732,9 +9714,9 @@ module.exports = ReactDOMTextarea;
9714
9715
'use strict';
9716
9735
-var _prodInvariant = _dereq_(142);
9717
+var _prodInvariant = _dereq_(140);
9718
9737
-var invariant = _dereq_(164);
9719
+var invariant = _dereq_(162);
9720
9721
/**
9722
* Return the lowest common ancestor of A and B, or null if they are in
@@ -9855,7 +9837,7 @@ module.exports = {
9837
traverseTwoPhase: traverseTwoPhase,
9838
traverseEnterLeave: traverseEnterLeave
9839
};
9858
-},{"142":142,"164":164}],59:[function(_dereq_,module,exports){
9840
+},{"140":140,"162":162}],57:[function(_dereq_,module,exports){
9841
/**
9842
* Copyright 2013-present, Facebook, Inc.
9843
* All rights reserved.
@@ -9864,16 +9846,16 @@ module.exports = {
9846
* LICENSE file in the root directory of this source tree. An additional grant
9847
* of patent rights can be found in the PATENTS file in the same directory.
9848
*
9867
- * @providesModule ReactDOMUnknownPropertyDevtool
9849
+ * @providesModule ReactDOMUnknownPropertyHook
9850
*/
9851
9852
'use strict';
9853
9854
var DOMProperty = _dereq_(10);
9855
var EventPluginRegistry = _dereq_(18);
9874
-var ReactComponentTreeDevtool = _dereq_(35);
9856
+var ReactComponentTreeHook = _dereq_(35);
9857
9876
-var warning = _dereq_(174);
9858
+var warning = _dereq_(171);
9859
9860
if ("development" !== 'production') {
9861
var reactProps = {
@@ -9913,10 +9895,10 @@ if ("development" !== 'production') {
9895
var registrationName = EventPluginRegistry.possibleRegistrationNames.hasOwnProperty(lowerCasedName) ? EventPluginRegistry.possibleRegistrationNames[lowerCasedName] : null;
9896
9897
if (standardName != null) {
9916
- "development" !== 'production' ? warning(standardName == null, 'Unknown DOM property %s. Did you mean %s?%s', name, standardName, ReactComponentTreeDevtool.getStackAddendumByID(debugID)) : void 0;
9898
+ "development" !== 'production' ? warning(false, 'Unknown DOM property %s. Did you mean %s?%s', name, standardName, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0;
9899
return true;
9900
} else if (registrationName != null) {
9919
- "development" !== 'production' ? warning(registrationName == null, 'Unknown event handler property %s. Did you mean `%s`?%s', name, registrationName, ReactComponentTreeDevtool.getStackAddendumByID(debugID)) : void 0;
9901
+ "development" !== 'production' ? warning(false, 'Unknown event handler property %s. Did you mean `%s`?%s', name, registrationName, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0;
9902
return true;
9903
} else {
9904
// We were unable to guess which prop the user intended.
@@ -9942,9 +9924,9 @@ var warnUnknownProperties = function (debugID, element) {
9924
}).join(', ');
9925
9926
if (unknownProps.length === 1) {
9945
- "development" !== 'production' ? warning(false, 'Unknown prop %s on <%s> tag. Remove this prop from the element. ' + 'For details, see https://fb.me/react-unknown-prop%s', unknownPropString, element.type, ReactComponentTreeDevtool.getStackAddendumByID(debugID)) : void 0;
9927
+ "development" !== 'production' ? warning(false, 'Unknown prop %s on <%s> tag. Remove this prop from the element. ' + 'For details, see https://fb.me/react-unknown-prop%s', unknownPropString, element.type, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0;
9928
} else if (unknownProps.length > 1) {
9947
- "development" !== 'production' ? warning(false, 'Unknown props %s on <%s> tag. Remove these props from the element. ' + 'For details, see https://fb.me/react-unknown-prop%s', unknownPropString, element.type, ReactComponentTreeDevtool.getStackAddendumByID(debugID)) : void 0;
9929
+ "development" !== 'production' ? warning(false, 'Unknown props %s on <%s> tag. Remove these props from the element. ' + 'For details, see https://fb.me/react-unknown-prop%s', unknownPropString, element.type, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0;
9930
}
9931
};
9932
@@ -9958,7 +9940,7 @@ function handleElement(debugID, element) {
9940
warnUnknownProperties(debugID, element);
9941
}
9942
9961
-var ReactDOMUnknownPropertyDevtool = {
9943
+var ReactDOMUnknownPropertyHook = {
9944
onBeforeMountComponent: function (debugID, element) {
9945
handleElement(debugID, element);
9946
},
@@ -9967,8 +9949,8 @@ var ReactDOMUnknownPropertyDevtool = {
9949
}
9950
};
9951
9970
-module.exports = ReactDOMUnknownPropertyDevtool;
9971
-},{"10":10,"174":174,"18":18,"35":35}],60:[function(_dereq_,module,exports){
9952
+module.exports = ReactDOMUnknownPropertyHook;
9953
+},{"10":10,"171":171,"18":18,"35":35}],58:[function(_dereq_,module,exports){
9954
/**
9955
* Copyright 2016-present, Facebook, Inc.
9956
* All rights reserved.
@@ -9982,29 +9964,35 @@ module.exports = ReactDOMUnknownPropertyDevtool;
9964
9965
'use strict';
9966
9985
-var ReactInvalidSetStateWarningDevTool = _dereq_(76);
9986
-var ReactHostOperationHistoryDevtool = _dereq_(71);
9987
-var ReactComponentTreeDevtool = _dereq_(35);
9988
-var ReactChildrenMutationWarningDevtool = _dereq_(30);
9989
-var ExecutionEnvironment = _dereq_(150);
9967
+var ReactInvalidSetStateWarningHook = _dereq_(74);
9968
+var ReactHostOperationHistoryHook = _dereq_(69);
9969
+var ReactComponentTreeHook = _dereq_(35);
9970
+var ReactChildrenMutationWarningHook = _dereq_(30);
9971
+var ExecutionEnvironment = _dereq_(148);
9972
9991
-var performanceNow = _dereq_(172);
9992
-var warning = _dereq_(174);
9973
+var performanceNow = _dereq_(169);
9974
+var warning = _dereq_(171);
9975
9994
-var eventHandlers = [];
9995
-var handlerDoesThrowForEvent = {};
9976
+var hooks = [];
9977
+var didHookThrowForEvent = {};
9978
9997
-function emitEvent(handlerFunctionName, arg1, arg2, arg3, arg4, arg5) {
9998
- eventHandlers.forEach(function (handler) {
9999
- try {
10000
- if (handler[handlerFunctionName]) {
10001
- handler[handlerFunctionName](arg1, arg2, arg3, arg4, arg5);
10002
- }
10003
- } catch (e) {
10004
- "development" !== 'production' ? warning(handlerDoesThrowForEvent[handlerFunctionName], 'exception thrown by devtool while handling %s: %s', handlerFunctionName, e + '\n' + e.stack) : void 0;
10005
- handlerDoesThrowForEvent[handlerFunctionName] = true;
9979
+function callHook(event, fn, context, arg1, arg2, arg3, arg4, arg5) {
9980
+ try {
9981
+ fn.call(context, arg1, arg2, arg3, arg4, arg5);
9982
+ } catch (e) {
9983
+ "development" !== 'production' ? warning(didHookThrowForEvent[event], 'Exception thrown by hook while handling %s: %s', event, e + '\n' + e.stack) : void 0;
9984
+ didHookThrowForEvent[event] = true;
9985
+ }
9986
+}
9987
+
9988
+function emitEvent(event, arg1, arg2, arg3, arg4, arg5) {
9989
+ for (var i = 0; i < hooks.length; i++) {
9990
+ var hook = hooks[i];
9991
+ var fn = hook[event];
9992
+ if (fn) {
9993
+ callHook(event, fn, hook, arg1, arg2, arg3, arg4, arg5);
9994
}
10007
- });
9995
+ }
9996
}
9997
9998
var isProfiling = false;
@@ -10021,21 +10009,21 @@ var currentTimerType = null;
10009
var lifeCycleTimerHasWarned = false;
10010
10011
function clearHistory() {
10024
- ReactComponentTreeDevtool.purgeUnmountedComponents();
10025
- ReactHostOperationHistoryDevtool.clearHistory();
10012
+ ReactComponentTreeHook.purgeUnmountedComponents();
10013
+ ReactHostOperationHistoryHook.clearHistory();
10014
}
10015
10016
function getTreeSnapshot(registeredIDs) {
10017
return registeredIDs.reduce(function (tree, id) {
10030
- var ownerID = ReactComponentTreeDevtool.getOwnerID(id);
10031
- var parentID = ReactComponentTreeDevtool.getParentID(id);
10018
+ var ownerID = ReactComponentTreeHook.getOwnerID(id);
10019
+ var parentID = ReactComponentTreeHook.getParentID(id);
10020
tree[id] = {
10033
- displayName: ReactComponentTreeDevtool.getDisplayName(id),
10034
- text: ReactComponentTreeDevtool.getText(id),
10035
- updateCount: ReactComponentTreeDevtool.getUpdateCount(id),
10036
- childIDs: ReactComponentTreeDevtool.getChildIDs(id),
10021
+ displayName: ReactComponentTreeHook.getDisplayName(id),
10022
+ text: ReactComponentTreeHook.getText(id),
10023
+ updateCount: ReactComponentTreeHook.getUpdateCount(id),
10024
+ childIDs: ReactComponentTreeHook.getChildIDs(id),
10025
// Text nodes don't have owners but this is close enough.
10038
- ownerID: ownerID || ReactComponentTreeDevtool.getOwnerID(parentID),
10026
+ ownerID: ownerID || ReactComponentTreeHook.getOwnerID(parentID),
10027
parentID: parentID
10028
};
10029
return tree;
@@ -10045,7 +10033,7 @@ function getTreeSnapshot(registeredIDs) {
10033
function resetMeasurements() {
10034
var previousStartTime = currentFlushStartTime;
10035
var previousMeasurements = currentFlushMeasurements || [];
10048
- var previousOperations = ReactHostOperationHistoryDevtool.getHistory();
10036
+ var previousOperations = ReactHostOperationHistoryHook.getHistory();
10037
10038
if (currentFlushNesting === 0) {
10039
currentFlushStartTime = null;
@@ -10055,7 +10043,7 @@ function resetMeasurements() {
10043
}
10044
10045
if (previousMeasurements.length || previousOperations.length) {
10058
- var registeredIDs = ReactComponentTreeDevtool.getRegisteredIDs();
10046
+ var registeredIDs = ReactComponentTreeHook.getRegisteredIDs();
10047
flushHistory.push({
10048
duration: performanceNow() - previousStartTime,
10049
measurements: previousMeasurements || [],
@@ -10070,7 +10058,14 @@ function resetMeasurements() {
10058
}
10059
10060
function checkDebugID(debugID) {
10073
- "development" !== 'production' ? warning(debugID, 'ReactDebugTool: debugID may not be empty.') : void 0;
10061
+ var allowRoot = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1];
10062
+
10063
+ if (allowRoot && debugID === 0) {
10064
+ return;
10065
+ }
10066
+ if (!debugID) {
10067
+ "development" !== 'production' ? warning(false, 'ReactDebugTool: debugID may not be empty.') : void 0;
10068
+ }
10069
}
10070
10071
function beginLifeCycleTimer(debugID, timerType) {
@@ -10138,13 +10133,13 @@ function resumeCurrentLifeCycleTimer() {
10133
}
10134
10135
var ReactDebugTool = {
10141
- addDevtool: function (devtool) {
10142
- eventHandlers.push(devtool);
10136
+ addHook: function (hook) {
10137
+ hooks.push(hook);
10138
},
10144
- removeDevtool: function (devtool) {
10145
- for (var i = 0; i < eventHandlers.length; i++) {
10146
- if (eventHandlers[i] === devtool) {
10147
- eventHandlers.splice(i, 1);
10139
+ removeHook: function (hook) {
10140
+ for (var i = 0; i < hooks.length; i++) {
10141
+ if (hooks[i] === hook) {
10142
+ hooks.splice(i, 1);
10143
i--;
10144
}
10145
}
@@ -10160,7 +10155,7 @@ var ReactDebugTool = {
10155
isProfiling = true;
10156
flushHistory.length = 0;
10157
resetMeasurements();
10163
- ReactDebugTool.addDevtool(ReactHostOperationHistoryDevtool);
10158
+ ReactDebugTool.addHook(ReactHostOperationHistoryHook);
10159
},
10160
endProfiling: function () {
10161
if (!isProfiling) {
@@ -10169,7 +10164,7 @@ var ReactDebugTool = {
10164
10165
isProfiling = false;
10166
resetMeasurements();
10172
- ReactDebugTool.removeDevtool(ReactHostOperationHistoryDevtool);
10167
+ ReactDebugTool.removeHook(ReactHostOperationHistoryHook);
10168
},
10169
getFlushHistory: function () {
10170
return flushHistory;
@@ -10196,14 +10191,6 @@ var ReactDebugTool = {
10191
endLifeCycleTimer(debugID, timerType);
10192
emitEvent('onEndLifeCycleTimer', debugID, timerType);
10193
},
10199
- onBeginReconcilerTimer: function (debugID, timerType) {
10200
- checkDebugID(debugID);
10201
- emitEvent('onBeginReconcilerTimer', debugID, timerType);
10202
- },
10203
- onEndReconcilerTimer: function (debugID, timerType) {
10204
- checkDebugID(debugID);
10205
- emitEvent('onEndReconcilerTimer', debugID, timerType);
10206
- },
10194
onError: function (debugID) {
10195
if (currentTimerDebugID != null) {
10196
endLifeCycleTimer(currentTimerDebugID, currentTimerType);
@@ -10220,45 +10207,18 @@ var ReactDebugTool = {
10207
checkDebugID(debugID);
10208
emitEvent('onHostOperation', debugID, type, payload);
10209
},
10223
- onComponentHasMounted: function (debugID) {
10224
- checkDebugID(debugID);
10225
- emitEvent('onComponentHasMounted', debugID);
10226
- },
10227
- onComponentHasUpdated: function (debugID) {
10228
- checkDebugID(debugID);
10229
- emitEvent('onComponentHasUpdated', debugID);
10230
- },
10210
onSetState: function () {
10211
emitEvent('onSetState');
10212
},
10234
- onSetDisplayName: function (debugID, displayName) {
10235
- checkDebugID(debugID);
10236
- emitEvent('onSetDisplayName', debugID, displayName);
10237
- },
10213
onSetChildren: function (debugID, childDebugIDs) {
10214
checkDebugID(debugID);
10215
childDebugIDs.forEach(checkDebugID);
10216
emitEvent('onSetChildren', debugID, childDebugIDs);
10217
},
10243
- onSetOwner: function (debugID, ownerDebugID) {
10218
+ onBeforeMountComponent: function (debugID, element, parentDebugID) {
10219
checkDebugID(debugID);
10245
- emitEvent('onSetOwner', debugID, ownerDebugID);
10246
- },
10247
- onSetParent: function (debugID, parentDebugID) {
10248
- checkDebugID(debugID);
10249
- emitEvent('onSetParent', debugID, parentDebugID);
10250
- },
10251
- onSetText: function (debugID, text) {
10252
- checkDebugID(debugID);
10253
- emitEvent('onSetText', debugID, text);
10254
- },
10255
- onMountRootComponent: function (debugID) {
10256
- checkDebugID(debugID);
10257
- emitEvent('onMountRootComponent', debugID);
10258
- },
10259
- onBeforeMountComponent: function (debugID, element) {
10260
- checkDebugID(debugID);
10261
- emitEvent('onBeforeMountComponent', debugID, element);
10220
+ checkDebugID(parentDebugID, true);
10221
+ emitEvent('onBeforeMountComponent', debugID, element, parentDebugID);
10222
},
10223
onMountComponent: function (debugID) {
10224
checkDebugID(debugID);
@@ -10272,6 +10232,10 @@ var ReactDebugTool = {
10232
checkDebugID(debugID);
10233
emitEvent('onUpdateComponent', debugID);
10234
},
10235
+ onBeforeUnmountComponent: function (debugID) {
10236
+ checkDebugID(debugID);
10237
+ emitEvent('onBeforeUnmountComponent', debugID);
10238
+ },
10239
onUnmountComponent: function (debugID) {
10240
checkDebugID(debugID);
10241
emitEvent('onUnmountComponent', debugID);
@@ -10281,16 +10245,20 @@ var ReactDebugTool = {
10245
}
10246
};
10247
10284
-ReactDebugTool.addDevtool(ReactInvalidSetStateWarningDevTool);
10285
-ReactDebugTool.addDevtool(ReactComponentTreeDevtool);
10286
-ReactDebugTool.addDevtool(ReactChildrenMutationWarningDevtool);
10248
+// TODO remove these when RN/www gets updated
10249
+ReactDebugTool.addDevtool = ReactDebugTool.addHook;
10250
+ReactDebugTool.removeDevtool = ReactDebugTool.removeHook;
10251
+
10252
+ReactDebugTool.addHook(ReactInvalidSetStateWarningHook);
10253
+ReactDebugTool.addHook(ReactComponentTreeHook);
10254
+ReactDebugTool.addHook(ReactChildrenMutationWarningHook);
10255
var url = ExecutionEnvironment.canUseDOM && window.location.href || '';
10256
if (/[?&]react_perf\b/.test(url)) {
10257
ReactDebugTool.beginProfiling();
10258
}
10259
10260
module.exports = ReactDebugTool;
10293
-},{"150":150,"172":172,"174":174,"30":30,"35":35,"71":71,"76":76}],61:[function(_dereq_,module,exports){
10261
+},{"148":148,"169":169,"171":171,"30":30,"35":35,"69":69,"74":74}],59:[function(_dereq_,module,exports){
10262
/**
10263
* Copyright 2013-present, Facebook, Inc.
10264
* All rights reserved.
@@ -10304,12 +10272,12 @@ module.exports = ReactDebugTool;
10272
10273
'use strict';
10274
10307
-var _assign = _dereq_(175);
10275
+var _assign = _dereq_(172);
10276
10309
-var ReactUpdates = _dereq_(98);
10310
-var Transaction = _dereq_(116);
10277
+var ReactUpdates = _dereq_(96);
10278
+var Transaction = _dereq_(114);
10279
10312
-var emptyFunction = _dereq_(156);
10280
+var emptyFunction = _dereq_(154);
10281
10282
var RESET_BATCHED_UPDATES = {
10283
initialize: emptyFunction,
@@ -10359,7 +10327,7 @@ var ReactDefaultBatchingStrategy = {
10327
};
10328
10329
module.exports = ReactDefaultBatchingStrategy;
10362
-},{"116":116,"156":156,"175":175,"98":98}],62:[function(_dereq_,module,exports){
10330
+},{"114":114,"154":154,"172":172,"96":96}],60:[function(_dereq_,module,exports){
10331
/**
10332
* Copyright 2013-present, Facebook, Inc.
10333
* All rights reserved.
@@ -10381,16 +10349,16 @@ var HTMLDOMPropertyConfig = _dereq_(22);
10349
var ReactComponentBrowserEnvironment = _dereq_(33);
10350
var ReactDOMComponent = _dereq_(40);
10351
var ReactDOMComponentTree = _dereq_(42);
10384
-var ReactDOMEmptyComponent = _dereq_(45);
10385
-var ReactDOMTreeTraversal = _dereq_(58);
10386
-var ReactDOMTextComponent = _dereq_(56);
10387
-var ReactDefaultBatchingStrategy = _dereq_(61);
10388
-var ReactEventListener = _dereq_(68);
10389
-var ReactInjection = _dereq_(72);
10390
-var ReactReconcileTransaction = _dereq_(89);
10391
-var SVGDOMPropertyConfig = _dereq_(100);
10392
-var SelectEventPlugin = _dereq_(101);
10393
-var SimpleEventPlugin = _dereq_(102);
10352
+var ReactDOMEmptyComponent = _dereq_(44);
10353
+var ReactDOMTreeTraversal = _dereq_(56);
10354
+var ReactDOMTextComponent = _dereq_(54);
10355
+var ReactDefaultBatchingStrategy = _dereq_(59);
10356
+var ReactEventListener = _dereq_(66);
10357
+var ReactInjection = _dereq_(70);
10358
+var ReactReconcileTransaction = _dereq_(87);
10359
+var SVGDOMPropertyConfig = _dereq_(98);
10360
+var SelectEventPlugin = _dereq_(99);
10361
+var SimpleEventPlugin = _dereq_(100);
10362
10363
var alreadyInjected = false;
10364
@@ -10444,7 +10412,7 @@ function inject() {
10412
module.exports = {
10413
inject: inject
10414
};
10447
-},{"100":100,"101":101,"102":102,"13":13,"15":15,"2":2,"22":22,"33":33,"40":40,"42":42,"45":45,"56":56,"58":58,"6":6,"61":61,"68":68,"72":72,"89":89}],63:[function(_dereq_,module,exports){
10415
+},{"100":100,"13":13,"15":15,"2":2,"22":22,"33":33,"40":40,"42":42,"44":44,"54":54,"56":56,"59":59,"6":6,"66":66,"70":70,"87":87,"98":98,"99":99}],61:[function(_dereq_,module,exports){
10416
/**
10417
* Copyright 2014-present, Facebook, Inc.
10418
* All rights reserved.
@@ -10458,12 +10426,12 @@ module.exports = {
10426
10427
'use strict';
10428
10461
-var _assign = _dereq_(175);
10429
+var _assign = _dereq_(172);
10430
10431
var ReactCurrentOwner = _dereq_(37);
10432
10465
-var warning = _dereq_(174);
10466
-var canDefineProperty = _dereq_(120);
10433
+var warning = _dereq_(171);
10434
+var canDefineProperty = _dereq_(118);
10435
var hasOwnProperty = Object.prototype.hasOwnProperty;
10436
10437
// The Symbol used to tag the ReactElement type. If there is no native Symbol
@@ -10503,6 +10471,34 @@ function hasValidKey(config) {
10471
return config.key !== undefined;
10472
}
10473
10474
+function defineKeyPropWarningGetter(props, displayName) {
10475
+ var warnAboutAccessingKey = function () {
10476
+ if (!specialPropKeyWarningShown) {
10477
+ specialPropKeyWarningShown = true;
10478
+ "development" !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;
10479
+ }
10480
+ };
10481
+ warnAboutAccessingKey.isReactWarning = true;
10482
+ Object.defineProperty(props, 'key', {
10483
+ get: warnAboutAccessingKey,
10484
+ configurable: true
10485
+ });
10486
+}
10487
+
10488
+function defineRefPropWarningGetter(props, displayName) {
10489
+ var warnAboutAccessingRef = function () {
10490
+ if (!specialPropRefWarningShown) {
10491
+ specialPropRefWarningShown = true;
10492
+ "development" !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;
10493
+ }
10494
+ };
10495
+ warnAboutAccessingRef.isReactWarning = true;
10496
+ Object.defineProperty(props, 'ref', {
10497
+ get: warnAboutAccessingRef,
10498
+ configurable: true
10499
+ });
10500
+}
10501
+
10502
/**
10503
* Factory method to create a new React element. This no longer adheres to
10504
* the class pattern, so do not use new to call it. Also, no instanceof check
@@ -10657,39 +10653,15 @@ ReactElement.createElement = function (type, config, children) {
10653
}
10654
}
10655
if ("development" !== 'production') {
10660
- var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;
10661
-
10662
- // Create dummy `key` and `ref` property to `props` to warn users against its use
10663
- var warnAboutAccessingKey = function () {
10664
- if (!specialPropKeyWarningShown) {
10665
- specialPropKeyWarningShown = true;
10666
- "development" !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;
10667
- }
10668
- return undefined;
10669
- };
10670
- warnAboutAccessingKey.isReactWarning = true;
10671
-
10672
- var warnAboutAccessingRef = function () {
10673
- if (!specialPropRefWarningShown) {
10674
- specialPropRefWarningShown = true;
10675
- "development" !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;
10676
- }
10677
- return undefined;
10678
- };
10679
- warnAboutAccessingRef.isReactWarning = true;
10680
-
10681
- if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) {
10682
- if (!props.hasOwnProperty('key')) {
10683
- Object.defineProperty(props, 'key', {
10684
- get: warnAboutAccessingKey,
10685
- configurable: true
10686
- });
10687
- }
10688
- if (!props.hasOwnProperty('ref')) {
10689
- Object.defineProperty(props, 'ref', {
10690
- get: warnAboutAccessingRef,
10691
- configurable: true
10692
- });
10656
+ if (key || ref) {
10657
+ if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) {
10658
+ var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;
10659
+ if (key) {
10660
+ defineKeyPropWarningGetter(props, displayName);
10661
+ }
10662
+ if (ref) {
10663
+ defineRefPropWarningGetter(props, displayName);
10664
+ }
10665
}
10666
}
10667
}
@@ -10805,7 +10777,7 @@ ReactElement.isValidElement = function (object) {
10777
ReactElement.REACT_ELEMENT_TYPE = REACT_ELEMENT_TYPE;
10778
10779
module.exports = ReactElement;
10808
-},{"120":120,"174":174,"175":175,"37":37}],64:[function(_dereq_,module,exports){
10780
+},{"118":118,"171":171,"172":172,"37":37}],62:[function(_dereq_,module,exports){
10781
/**
10782
* Copyright 2014-present, Facebook, Inc.
10783
* All rights reserved.
@@ -10827,15 +10799,15 @@ module.exports = ReactElement;
10799
'use strict';
10800
10801
var ReactCurrentOwner = _dereq_(37);
10830
-var ReactComponentTreeDevtool = _dereq_(35);
10831
-var ReactElement = _dereq_(63);
10832
-var ReactPropTypeLocations = _dereq_(85);
10802
+var ReactComponentTreeHook = _dereq_(35);
10803
+var ReactElement = _dereq_(61);
10804
+var ReactPropTypeLocations = _dereq_(83);
10805
10834
-var checkReactTypeSpec = _dereq_(121);
10806
+var checkReactTypeSpec = _dereq_(119);
10807
10836
-var canDefineProperty = _dereq_(120);
10837
-var getIteratorFn = _dereq_(133);
10838
-var warning = _dereq_(174);
10808
+var canDefineProperty = _dereq_(118);
10809
+var getIteratorFn = _dereq_(131);
10810
+var warning = _dereq_(171);
10811
10812
function getDeclarationErrorAddendum() {
10813
if (ReactCurrentOwner.current) {
@@ -10900,7 +10872,7 @@ function validateExplicitKey(element, parentType) {
10872
childOwner = ' It was passed a child from ' + element._owner.getName() + '.';
10873
}
10874
10903
- "development" !== 'production' ? warning(false, 'Each child in an array or iterator should have a unique "key" prop.' + '%s%s See https://fb.me/react-warning-keys for more information.%s', currentComponentErrorInfo, childOwner, ReactComponentTreeDevtool.getCurrentStackAddendum(element)) : void 0;
10875
+ "development" !== 'production' ? warning(false, 'Each child in an array or iterator should have a unique "key" prop.' + '%s%s See https://fb.me/react-warning-keys for more information.%s', currentComponentErrorInfo, childOwner, ReactComponentTreeHook.getCurrentStackAddendum(element)) : void 0;
10876
}
10877
10878
/**
@@ -10971,7 +10943,9 @@ var ReactElementValidator = {
10943
var validType = typeof type === 'string' || typeof type === 'function';
10944
// We warn in this case but don't throw. We expect the element creation to
10945
// succeed and there will likely be errors in render.
10974
- "development" !== 'production' ? warning(validType, 'React.createElement: type should not be null, undefined, boolean, or ' + 'number. It should be a string (for DOM elements) or a ReactClass ' + '(for composite components).%s', getDeclarationErrorAddendum()) : void 0;
10946
+ if (!validType) {
10947
+ "development" !== 'production' ? warning(false, 'React.createElement: type should not be null, undefined, boolean, or ' + 'number. It should be a string (for DOM elements) or a ReactClass ' + '(for composite components).%s', getDeclarationErrorAddendum()) : void 0;
10948
+ }
10949
10950
var element = ReactElement.createElement.apply(this, arguments);
10951
@@ -11032,7 +11006,7 @@ var ReactElementValidator = {
11006
};
11007
11008
module.exports = ReactElementValidator;
11035
-},{"120":120,"121":121,"133":133,"174":174,"35":35,"37":37,"63":63,"85":85}],65:[function(_dereq_,module,exports){
11009
+},{"118":118,"119":119,"131":131,"171":171,"35":35,"37":37,"61":61,"83":83}],63:[function(_dereq_,module,exports){
11010
/**
11011
* Copyright 2014-present, Facebook, Inc.
11012
* All rights reserved.
@@ -11063,7 +11037,7 @@ var ReactEmptyComponent = {
11037
ReactEmptyComponent.injection = ReactEmptyComponentInjection;
11038
11039
module.exports = ReactEmptyComponent;
11066
-},{}],66:[function(_dereq_,module,exports){
11040
+},{}],64:[function(_dereq_,module,exports){
11041
/**
11042
* Copyright 2013-present, Facebook, Inc.
11043
* All rights reserved.
@@ -11140,7 +11114,7 @@ if ("development" !== 'production') {
11114
}
11115
11116
module.exports = ReactErrorUtils;
11143
-},{}],67:[function(_dereq_,module,exports){
11117
+},{}],65:[function(_dereq_,module,exports){
11118
/**
11119
* Copyright 2013-present, Facebook, Inc.
11120
* All rights reserved.
@@ -11174,7 +11148,7 @@ var ReactEventEmitterMixin = {
11148
};
11149
11150
module.exports = ReactEventEmitterMixin;
11177
-},{"17":17}],68:[function(_dereq_,module,exports){
11151
+},{"17":17}],66:[function(_dereq_,module,exports){
11152
/**
11153
* Copyright 2013-present, Facebook, Inc.
11154
* All rights reserved.
@@ -11188,16 +11162,16 @@ module.exports = ReactEventEmitterMixin;
11162
11163
'use strict';
11164
11191
-var _assign = _dereq_(175);
11165
+var _assign = _dereq_(172);
11166
11193
-var EventListener = _dereq_(149);
11194
-var ExecutionEnvironment = _dereq_(150);
11167
+var EventListener = _dereq_(147);
11168
+var ExecutionEnvironment = _dereq_(148);
11169
var PooledClass = _dereq_(25);
11170
var ReactDOMComponentTree = _dereq_(42);
11197
-var ReactUpdates = _dereq_(98);
11171
+var ReactUpdates = _dereq_(96);
11172
11199
-var getEventTarget = _dereq_(131);
11200
-var getUnboundedScrollPosition = _dereq_(161);
11173
+var getEventTarget = _dereq_(129);
11174
+var getUnboundedScrollPosition = _dereq_(159);
11175
11176
/**
11177
* Find the deepest React component completely containing the root of the
@@ -11332,7 +11306,7 @@ var ReactEventListener = {
11306
};
11307
11308
module.exports = ReactEventListener;
11335
-},{"131":131,"149":149,"150":150,"161":161,"175":175,"25":25,"42":42,"98":98}],69:[function(_dereq_,module,exports){
11309
+},{"129":129,"147":147,"148":148,"159":159,"172":172,"25":25,"42":42,"96":96}],67:[function(_dereq_,module,exports){
11310
/**
11311
* Copyright 2013-present, Facebook, Inc.
11312
* All rights reserved.
@@ -11355,7 +11329,7 @@ var ReactFeatureFlags = {
11329
};
11330
11331
module.exports = ReactFeatureFlags;
11358
-},{}],70:[function(_dereq_,module,exports){
11332
+},{}],68:[function(_dereq_,module,exports){
11333
/**
11334
* Copyright 2014-present, Facebook, Inc.
11335
* All rights reserved.
@@ -11369,10 +11343,10 @@ module.exports = ReactFeatureFlags;
11343
11344
'use strict';
11345
11372
-var _prodInvariant = _dereq_(142),
11373
- _assign = _dereq_(175);
11346
+var _prodInvariant = _dereq_(140),
11347
+ _assign = _dereq_(172);
11348
11375
-var invariant = _dereq_(164);
11349
+var invariant = _dereq_(162);
11350
11351
var genericComponentClass = null;
11352
// This registry keeps track of wrapper classes around host tags.
@@ -11432,7 +11406,7 @@ var ReactHostComponent = {
11406
};
11407
11408
module.exports = ReactHostComponent;
11435
-},{"142":142,"164":164,"175":175}],71:[function(_dereq_,module,exports){
11409
+},{"140":140,"162":162,"172":172}],69:[function(_dereq_,module,exports){
11410
/**
11411
* Copyright 2016-present, Facebook, Inc.
11412
* All rights reserved.
@@ -11441,14 +11415,14 @@ module.exports = ReactHostComponent;
11415
* LICENSE file in the root directory of this source tree. An additional grant
11416
* of patent rights can be found in the PATENTS file in the same directory.
11417
*
11444
- * @providesModule ReactHostOperationHistoryDevtool
11418
+ * @providesModule ReactHostOperationHistoryHook
11419
*/
11420
11421
'use strict';
11422
11423
var history = [];
11424
11451
-var ReactHostOperationHistoryDevtool = {
11425
+var ReactHostOperationHistoryHook = {
11426
onHostOperation: function (debugID, type, payload) {
11427
history.push({
11428
instanceID: debugID,
@@ -11457,7 +11431,7 @@ var ReactHostOperationHistoryDevtool = {
11431
});
11432
},
11433
clearHistory: function () {
11460
- if (ReactHostOperationHistoryDevtool._preventClearing) {
11434
+ if (ReactHostOperationHistoryHook._preventClearing) {
11435
// Should only be used for tests.
11436
return;
11437
}
@@ -11469,8 +11443,8 @@ var ReactHostOperationHistoryDevtool = {
11443
}
11444
};
11445
11472
-module.exports = ReactHostOperationHistoryDevtool;
11473
-},{}],72:[function(_dereq_,module,exports){
11446
+module.exports = ReactHostOperationHistoryHook;
11447
+},{}],70:[function(_dereq_,module,exports){
11448
/**
11449
* Copyright 2013-present, Facebook, Inc.
11450
* All rights reserved.
@@ -11489,10 +11463,10 @@ var EventPluginHub = _dereq_(17);
11463
var EventPluginUtils = _dereq_(19);
11464
var ReactComponentEnvironment = _dereq_(34);
11465
var ReactClass = _dereq_(31);
11492
-var ReactEmptyComponent = _dereq_(65);
11466
+var ReactEmptyComponent = _dereq_(63);
11467
var ReactBrowserEventEmitter = _dereq_(27);
11494
-var ReactHostComponent = _dereq_(70);
11495
-var ReactUpdates = _dereq_(98);
11468
+var ReactHostComponent = _dereq_(68);
11469
+var ReactUpdates = _dereq_(96);
11470
11471
var ReactInjection = {
11472
Component: ReactComponentEnvironment.injection,
@@ -11507,7 +11481,7 @@ var ReactInjection = {
11481
};
11482
11483
module.exports = ReactInjection;
11510
-},{"10":10,"17":17,"19":19,"27":27,"31":31,"34":34,"65":65,"70":70,"98":98}],73:[function(_dereq_,module,exports){
11484
+},{"10":10,"17":17,"19":19,"27":27,"31":31,"34":34,"63":63,"68":68,"96":96}],71:[function(_dereq_,module,exports){
11485
/**
11486
* Copyright 2013-present, Facebook, Inc.
11487
* All rights reserved.
@@ -11521,11 +11495,11 @@ module.exports = ReactInjection;
11495
11496
'use strict';
11497
11524
-var ReactDOMSelection = _dereq_(54);
11498
+var ReactDOMSelection = _dereq_(52);
11499
11526
-var containsNode = _dereq_(153);
11527
-var focusNode = _dereq_(158);
11528
-var getActiveElement = _dereq_(159);
11500
+var containsNode = _dereq_(151);
11501
+var focusNode = _dereq_(156);
11502
+var getActiveElement = _dereq_(157);
11503
11504
function isInDocument(node) {
11505
return containsNode(document.documentElement, node);
@@ -11632,7 +11606,7 @@ var ReactInputSelection = {
11606
};
11607
11608
module.exports = ReactInputSelection;
11635
-},{"153":153,"158":158,"159":159,"54":54}],74:[function(_dereq_,module,exports){
11609
+},{"151":151,"156":156,"157":157,"52":52}],72:[function(_dereq_,module,exports){
11610
/**
11611
* Copyright 2013-present, Facebook, Inc.
11612
* All rights reserved.
@@ -11681,7 +11655,7 @@ var ReactInstanceMap = {
11655
};
11656
11657
module.exports = ReactInstanceMap;
11684
-},{}],75:[function(_dereq_,module,exports){
11658
+},{}],73:[function(_dereq_,module,exports){
11659
/**
11660
* Copyright 2016-present, Facebook, Inc.
11661
* All rights reserved.
@@ -11698,12 +11672,12 @@ module.exports = ReactInstanceMap;
11672
var debugTool = null;
11673
11674
if ("development" !== 'production') {
11701
- var ReactDebugTool = _dereq_(60);
11675
+ var ReactDebugTool = _dereq_(58);
11676
debugTool = ReactDebugTool;
11677
}
11678
11679
module.exports = { debugTool: debugTool };
11706
-},{"60":60}],76:[function(_dereq_,module,exports){
11680
+},{"58":58}],74:[function(_dereq_,module,exports){
11681
/**
11682
* Copyright 2016-present, Facebook, Inc.
11683
* All rights reserved.
@@ -11712,12 +11686,12 @@ module.exports = { debugTool: debugTool };
11686
* LICENSE file in the root directory of this source tree. An additional grant
11687
* of patent rights can be found in the PATENTS file in the same directory.
11688
*
11715
- * @providesModule ReactInvalidSetStateWarningDevTool
11689
+ * @providesModule ReactInvalidSetStateWarningHook
11690
*/
11691
11692
'use strict';
11693
11720
-var warning = _dereq_(174);
11694
+var warning = _dereq_(171);
11695
11696
if ("development" !== 'production') {
11697
var processingChildContext = false;
@@ -11727,7 +11701,7 @@ if ("development" !== 'production') {
11701
};
11702
}
11703
11730
-var ReactInvalidSetStateWarningDevTool = {
11704
+var ReactInvalidSetStateWarningHook = {
11705
onBeginProcessingChildContext: function () {
11706
processingChildContext = true;
11707
},
@@ -11739,8 +11713,8 @@ var ReactInvalidSetStateWarningDevTool = {
11713
}
11714
};
11715
11742
-module.exports = ReactInvalidSetStateWarningDevTool;
11743
-},{"174":174}],77:[function(_dereq_,module,exports){
11716
+module.exports = ReactInvalidSetStateWarningHook;
11717
+},{"171":171}],75:[function(_dereq_,module,exports){
11718
/**
11719
* Copyright 2013-present, Facebook, Inc.
11720
* All rights reserved.
@@ -11754,7 +11728,7 @@ module.exports = ReactInvalidSetStateWarningDevTool;
11728
11729
'use strict';
11730
11757
-var adler32 = _dereq_(119);
11731
+var adler32 = _dereq_(117);
11732
11733
var TAG_END = /\/?>/;
11734
var COMMENT_START = /^<\!\-\-/;
@@ -11791,7 +11765,7 @@ var ReactMarkupChecksum = {
11765
};
11766
11767
module.exports = ReactMarkupChecksum;
11794
-},{"119":119}],78:[function(_dereq_,module,exports){
11768
+},{"117":117}],76:[function(_dereq_,module,exports){
11769
/**
11770
* Copyright 2013-present, Facebook, Inc.
11771
* All rights reserved.
@@ -11805,7 +11779,7 @@ module.exports = ReactMarkupChecksum;
11779
11780
'use strict';
11781
11808
-var _prodInvariant = _dereq_(142);
11782
+var _prodInvariant = _dereq_(140);
11783
11784
var DOMLazyTree = _dereq_(8);
11785
var DOMProperty = _dereq_(10);
@@ -11813,22 +11787,22 @@ var ReactBrowserEventEmitter = _dereq_(27);
11787
var ReactCurrentOwner = _dereq_(37);
11788
var ReactDOMComponentTree = _dereq_(42);
11789
var ReactDOMContainerInfo = _dereq_(43);
11816
-var ReactDOMFeatureFlags = _dereq_(47);
11817
-var ReactElement = _dereq_(63);
11818
-var ReactFeatureFlags = _dereq_(69);
11819
-var ReactInstanceMap = _dereq_(74);
11820
-var ReactInstrumentation = _dereq_(75);
11821
-var ReactMarkupChecksum = _dereq_(77);
11822
-var ReactReconciler = _dereq_(90);
11823
-var ReactUpdateQueue = _dereq_(97);
11824
-var ReactUpdates = _dereq_(98);
11825
-
11826
-var emptyObject = _dereq_(157);
11827
-var instantiateReactComponent = _dereq_(137);
11828
-var invariant = _dereq_(164);
11829
-var setInnerHTML = _dereq_(144);
11830
-var shouldUpdateReactComponent = _dereq_(146);
11831
-var warning = _dereq_(174);
11790
+var ReactDOMFeatureFlags = _dereq_(46);
11791
+var ReactElement = _dereq_(61);
11792
+var ReactFeatureFlags = _dereq_(67);
11793
+var ReactInstanceMap = _dereq_(72);
11794
+var ReactInstrumentation = _dereq_(73);
11795
+var ReactMarkupChecksum = _dereq_(75);
11796
+var ReactReconciler = _dereq_(88);
11797
+var ReactUpdateQueue = _dereq_(95);
11798
+var ReactUpdates = _dereq_(96);
11799
+
11800
+var emptyObject = _dereq_(155);
11801
+var instantiateReactComponent = _dereq_(135);
11802
+var invariant = _dereq_(162);
11803
+var setInnerHTML = _dereq_(142);
11804
+var shouldUpdateReactComponent = _dereq_(144);
11805
+var warning = _dereq_(171);
11806
11807
var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;
11808
var ROOT_ATTR_NAME = DOMProperty.ROOT_ATTRIBUTE_NAME;
@@ -11896,7 +11870,8 @@ function mountComponentIntoNode(wrapperInstance, container, transaction, shouldR
11870
console.time(markerName);
11871
}
11872
11899
- var markup = ReactReconciler.mountComponent(wrapperInstance, transaction, null, ReactDOMContainerInfo(wrapperInstance, container), context);
11873
+ var markup = ReactReconciler.mountComponent(wrapperInstance, transaction, null, ReactDOMContainerInfo(wrapperInstance, container), context, 0 /* parentDebugID */
11874
+ );
11875
11876
if (markerName) {
11877
console.timeEnd(markerName);
@@ -11967,6 +11942,41 @@ function hasNonRootReactChild(container) {
11942
}
11943
}
11944
11945
+/**
11946
+ * True if the supplied DOM node is a React DOM element and
11947
+ * it has been rendered by another copy of React.
11948
+ *
11949
+ * @param {?DOMElement} node The candidate DOM node.
11950
+ * @return {boolean} True if the DOM has been rendered by another copy of React
11951
+ * @internal
11952
+ */
11953
+function nodeIsRenderedByOtherInstance(container) {
11954
+ var rootEl = getReactRootElementInContainer(container);
11955
+ return !!(rootEl && isReactNode(rootEl) && !ReactDOMComponentTree.getInstanceFromNode(rootEl));
11956
+}
11957
+
11958
+/**
11959
+ * True if the supplied DOM node is a valid node element.
11960
+ *
11961
+ * @param {?DOMElement} node The candidate DOM node.
11962
+ * @return {boolean} True if the DOM is a valid DOM node.
11963
+ * @internal
11964
+ */
11965
+function isValidContainer(node) {
11966
+ return !!(node && (node.nodeType === ELEMENT_NODE_TYPE || node.nodeType === DOC_NODE_TYPE || node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE));
11967
+}
11968
+
11969
+/**
11970
+ * True if the supplied DOM node is a valid React node element.
11971
+ *
11972
+ * @param {?DOMElement} node The candidate DOM node.
11973
+ * @return {boolean} True if the DOM is a valid React DOM node.
11974
+ * @internal
11975
+ */
11976
+function isReactNode(node) {
11977
+ return isValidContainer(node) && (node.hasAttribute(ROOT_ATTR_NAME) || node.hasAttribute(ATTR_NAME));
11978
+}
11979
+
11980
function getHostRootInstanceInContainer(container) {
11981
var rootEl = getReactRootElementInContainer(container);
11982
var prevHostInstance = rootEl && ReactDOMComponentTree.getInstanceFromNode(rootEl);
@@ -12054,7 +12064,7 @@ var ReactMount = {
12064
},
12065
12066
/**
12057
- * Render a new component into the DOM. Hooked by devtools!
12067
+ * Render a new component into the DOM. Hooked by hooks!
12068
*
12069
* @param {ReactElement} nextElement element to render
12070
* @param {DOMElement} container container to render into
@@ -12067,7 +12077,7 @@ var ReactMount = {
12077
// verify that that's the case.
12078
"development" !== 'production' ? warning(ReactCurrentOwner.current == null, '_renderNewRootComponent(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from ' + 'render is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : void 0;
12079
12070
- !(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)) ? "development" !== 'production' ? invariant(false, '_registerComponent(...): Target container is not a DOM element.') : _prodInvariant('37') : void 0;
12080
+ !isValidContainer(container) ? "development" !== 'production' ? invariant(false, '_registerComponent(...): Target container is not a DOM element.') : _prodInvariant('37') : void 0;
12081
12082
ReactBrowserEventEmitter.ensureScrollValueMonitoring();
12083
var componentInstance = instantiateReactComponent(nextElement, false);
@@ -12081,11 +12091,6 @@ var ReactMount = {
12091
var wrapperID = componentInstance._instance.rootID;
12092
instancesByReactRootID[wrapperID] = componentInstance;
12093
12084
- if ("development" !== 'production') {
12085
- // The instance here is TopLevelWrapper so we report mount for its child.
12086
- ReactInstrumentation.debugTool.onMountRootComponent(componentInstance._renderedComponent._debugID);
12087
- }
12088
-
12094
return componentInstance;
12095
},
12096
@@ -12201,7 +12206,11 @@ var ReactMount = {
12206
// render but we still don't expect to be in a render call here.)
12207
"development" !== 'production' ? warning(ReactCurrentOwner.current == null, 'unmountComponentAtNode(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from render ' + 'is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : void 0;
12208
12204
- !(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)) ? "development" !== 'production' ? invariant(false, 'unmountComponentAtNode(...): Target container is not a DOM element.') : _prodInvariant('40') : void 0;
12209
+ !isValidContainer(container) ? "development" !== 'production' ? invariant(false, 'unmountComponentAtNode(...): Target container is not a DOM element.') : _prodInvariant('40') : void 0;
12210
+
12211
+ if ("development" !== 'production') {
12212
+ "development" !== 'production' ? warning(!nodeIsRenderedByOtherInstance(container), 'unmountComponentAtNode(): The node you\'re attempting to unmount ' + 'was rendered by another copy of React.') : void 0;
12213
+ }
12214
12215
var prevComponent = getTopLevelWrapperInContainer(container);
12216
if (!prevComponent) {
@@ -12224,7 +12233,7 @@ var ReactMount = {
12233
},
12234
12235
_mountImageIntoNode: function (markup, container, instance, shouldReuseMarkup, transaction) {
12227
- !(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)) ? "development" !== 'production' ? invariant(false, 'mountComponentIntoNode(...): Target container is not valid.') : _prodInvariant('41') : void 0;
12236
+ !isValidContainer(container) ? "development" !== 'production' ? invariant(false, 'mountComponentIntoNode(...): Target container is not valid.') : _prodInvariant('41') : void 0;
12237
12238
if (shouldReuseMarkup) {
12239
var rootElement = getReactRootElementInContainer(container);
@@ -12291,7 +12300,7 @@ var ReactMount = {
12300
};
12301
12302
module.exports = ReactMount;
12294
-},{"10":10,"137":137,"142":142,"144":144,"146":146,"157":157,"164":164,"174":174,"27":27,"37":37,"42":42,"43":43,"47":47,"63":63,"69":69,"74":74,"75":75,"77":77,"8":8,"90":90,"97":97,"98":98}],79:[function(_dereq_,module,exports){
12303
+},{"10":10,"135":135,"140":140,"142":142,"144":144,"155":155,"162":162,"171":171,"27":27,"37":37,"42":42,"43":43,"46":46,"61":61,"67":67,"72":72,"73":73,"75":75,"8":8,"88":88,"95":95,"96":96}],77:[function(_dereq_,module,exports){
12304
/**
12305
* Copyright 2013-present, Facebook, Inc.
12306
* All rights reserved.
@@ -12305,20 +12314,20 @@ module.exports = ReactMount;
12314
12315
'use strict';
12316
12308
-var _prodInvariant = _dereq_(142);
12317
+var _prodInvariant = _dereq_(140);
12318
12319
var ReactComponentEnvironment = _dereq_(34);
12311
-var ReactInstanceMap = _dereq_(74);
12312
-var ReactInstrumentation = _dereq_(75);
12313
-var ReactMultiChildUpdateTypes = _dereq_(80);
12320
+var ReactInstanceMap = _dereq_(72);
12321
+var ReactInstrumentation = _dereq_(73);
12322
+var ReactMultiChildUpdateTypes = _dereq_(78);
12323
12324
var ReactCurrentOwner = _dereq_(37);
12316
-var ReactReconciler = _dereq_(90);
12325
+var ReactReconciler = _dereq_(88);
12326
var ReactChildReconciler = _dereq_(28);
12327
12319
-var emptyFunction = _dereq_(156);
12320
-var flattenChildren = _dereq_(126);
12321
-var invariant = _dereq_(164);
12328
+var emptyFunction = _dereq_(154);
12329
+var flattenChildren = _dereq_(124);
12330
+var invariant = _dereq_(162);
12331
12332
/**
12333
* Make an update for markup to be rendered and inserted at a supplied index.
@@ -12433,7 +12442,6 @@ function processQueue(inst, updateQueue) {
12442
ReactComponentEnvironment.processChildrenUpdates(inst, updateQueue);
12443
}
12444
12436
-var setParentForInstrumentation = emptyFunction;
12445
var setChildrenForInstrumentation = emptyFunction;
12446
if ("development" !== 'production') {
12447
var getDebugID = function (inst) {
@@ -12446,11 +12454,6 @@ if ("development" !== 'production') {
12454
}
12455
return inst._debugID;
12456
};
12449
- setParentForInstrumentation = function (child) {
12450
- if (child._debugID !== 0) {
12451
- ReactInstrumentation.debugTool.onSetParent(child._debugID, getDebugID(this));
12452
- }
12453
- };
12457
setChildrenForInstrumentation = function (children) {
12458
var debugID = getDebugID(this);
12459
// TODO: React Native empty components are also multichild.
@@ -12482,10 +12485,11 @@ var ReactMultiChild = {
12485
12486
_reconcilerInstantiateChildren: function (nestedChildren, transaction, context) {
12487
if ("development" !== 'production') {
12488
+ var selfDebugID = getDebugID(this);
12489
if (this._currentElement) {
12490
try {
12491
ReactCurrentOwner.current = this._currentElement._owner;
12488
- return ReactChildReconciler.instantiateChildren(nestedChildren, transaction, context, this._debugID);
12492
+ return ReactChildReconciler.instantiateChildren(nestedChildren, transaction, context, selfDebugID);
12493
} finally {
12494
ReactCurrentOwner.current = null;
12495
}
@@ -12496,20 +12500,22 @@ var ReactMultiChild = {
12500
12501
_reconcilerUpdateChildren: function (prevChildren, nextNestedChildrenElements, mountImages, removedNodes, transaction, context) {
12502
var nextChildren;
12503
+ var selfDebugID = 0;
12504
if ("development" !== 'production') {
12505
+ selfDebugID = getDebugID(this);
12506
if (this._currentElement) {
12507
try {
12508
ReactCurrentOwner.current = this._currentElement._owner;
12503
- nextChildren = flattenChildren(nextNestedChildrenElements, this._debugID);
12509
+ nextChildren = flattenChildren(nextNestedChildrenElements, selfDebugID);
12510
} finally {
12511
ReactCurrentOwner.current = null;
12512
}
12507
- ReactChildReconciler.updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, this, this._hostContainerInfo, context);
12513
+ ReactChildReconciler.updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, this, this._hostContainerInfo, context, selfDebugID);
12514
return nextChildren;
12515
}
12516
}
12511
- nextChildren = flattenChildren(nextNestedChildrenElements);
12512
- ReactChildReconciler.updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, this, this._hostContainerInfo, context);
12517
+ nextChildren = flattenChildren(nextNestedChildrenElements, selfDebugID);
12518
+ ReactChildReconciler.updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, this, this._hostContainerInfo, context, selfDebugID);
12519
return nextChildren;
12520
},
12521
@@ -12530,10 +12536,11 @@ var ReactMultiChild = {
12536
for (var name in children) {
12537
if (children.hasOwnProperty(name)) {
12538
var child = children[name];
12539
+ var selfDebugID = 0;
12540
if ("development" !== 'production') {
12534
- setParentForInstrumentation.call(this, child);
12541
+ selfDebugID = getDebugID(this);
12542
}
12536
- var mountImage = ReactReconciler.mountComponent(child, transaction, this, this._hostContainerInfo, context);
12543
+ var mountImage = ReactReconciler.mountComponent(child, transaction, this, this._hostContainerInfo, context, selfDebugID);
12544
child._mountIndex = index++;
12545
mountImages.push(mountImage);
12546
}
@@ -12745,7 +12752,7 @@ var ReactMultiChild = {
12752
};
12753
12754
module.exports = ReactMultiChild;
12748
-},{"126":126,"142":142,"156":156,"164":164,"28":28,"34":34,"37":37,"74":74,"75":75,"80":80,"90":90}],80:[function(_dereq_,module,exports){
12755
+},{"124":124,"140":140,"154":154,"162":162,"28":28,"34":34,"37":37,"72":72,"73":73,"78":78,"88":88}],78:[function(_dereq_,module,exports){
12756
/**
12757
* Copyright 2013-present, Facebook, Inc.
12758
* All rights reserved.
@@ -12759,7 +12766,7 @@ module.exports = ReactMultiChild;
12766
12767
'use strict';
12768
12762
-var keyMirror = _dereq_(167);
12769
+var keyMirror = _dereq_(165);
12770
12771
/**
12772
* When a component's children are updated, a series of update configuration
@@ -12778,7 +12785,7 @@ var ReactMultiChildUpdateTypes = keyMirror({
12785
});
12786
12787
module.exports = ReactMultiChildUpdateTypes;
12781
-},{"167":167}],81:[function(_dereq_,module,exports){
12788
+},{"165":165}],79:[function(_dereq_,module,exports){
12789
/**
12790
* Copyright 2013-present, Facebook, Inc.
12791
* All rights reserved.
@@ -12793,11 +12800,11 @@ module.exports = ReactMultiChildUpdateTypes;
12800
12801
'use strict';
12802
12796
-var _prodInvariant = _dereq_(142);
12803
+var _prodInvariant = _dereq_(140);
12804
12798
-var ReactElement = _dereq_(63);
12805
+var ReactElement = _dereq_(61);
12806
12800
-var invariant = _dereq_(164);
12807
+var invariant = _dereq_(162);
12808
12809
var ReactNodeTypes = {
12810
HOST: 0,
@@ -12819,7 +12826,7 @@ var ReactNodeTypes = {
12826
};
12827
12828
module.exports = ReactNodeTypes;
12822
-},{"142":142,"164":164,"63":63}],82:[function(_dereq_,module,exports){
12829
+},{"140":140,"162":162,"61":61}],80:[function(_dereq_,module,exports){
12830
/**
12831
* Copyright 2015-present, Facebook, Inc.
12832
* All rights reserved.
@@ -12833,7 +12840,7 @@ module.exports = ReactNodeTypes;
12840
12841
'use strict';
12842
12836
-var warning = _dereq_(174);
12843
+var warning = _dereq_(171);
12844
12845
function warnNoop(publicInstance, callerName) {
12846
if ("development" !== 'production') {
@@ -12916,7 +12923,7 @@ var ReactNoopUpdateQueue = {
12923
};
12924
12925
module.exports = ReactNoopUpdateQueue;
12919
-},{"174":174}],83:[function(_dereq_,module,exports){
12926
+},{"171":171}],81:[function(_dereq_,module,exports){
12927
/**
12928
* Copyright 2013-present, Facebook, Inc.
12929
* All rights reserved.
@@ -12930,9 +12937,9 @@ module.exports = ReactNoopUpdateQueue;
12937
12938
'use strict';
12939
12933
-var _prodInvariant = _dereq_(142);
12940
+var _prodInvariant = _dereq_(140);
12941
12935
-var invariant = _dereq_(164);
12942
+var invariant = _dereq_(162);
12943
12944
/**
12945
* ReactOwners are capable of storing references to owned components.
@@ -13011,7 +13018,7 @@ var ReactOwner = {
13018
};
13019
13020
module.exports = ReactOwner;
13014
-},{"142":142,"164":164}],84:[function(_dereq_,module,exports){
13021
+},{"140":140,"162":162}],82:[function(_dereq_,module,exports){
13022
/**
13023
* Copyright 2013-present, Facebook, Inc.
13024
* All rights reserved.
@@ -13036,7 +13043,7 @@ if ("development" !== 'production') {
13043
}
13044
13045
module.exports = ReactPropTypeLocationNames;
13039
-},{}],85:[function(_dereq_,module,exports){
13046
+},{}],83:[function(_dereq_,module,exports){
13047
/**
13048
* Copyright 2013-present, Facebook, Inc.
13049
* All rights reserved.
@@ -13050,7 +13057,7 @@ module.exports = ReactPropTypeLocationNames;
13057
13058
'use strict';
13059
13053
-var keyMirror = _dereq_(167);
13060
+var keyMirror = _dereq_(165);
13061
13062
var ReactPropTypeLocations = keyMirror({
13063
prop: null,
@@ -13059,7 +13066,7 @@ var ReactPropTypeLocations = keyMirror({
13066
});
13067
13068
module.exports = ReactPropTypeLocations;
13062
-},{"167":167}],86:[function(_dereq_,module,exports){
13069
+},{"165":165}],84:[function(_dereq_,module,exports){
13070
/**
13071
* Copyright 2013-present, Facebook, Inc.
13072
* All rights reserved.
@@ -13073,13 +13080,13 @@ module.exports = ReactPropTypeLocations;
13080
13081
'use strict';
13082
13076
-var ReactElement = _dereq_(63);
13077
-var ReactPropTypeLocationNames = _dereq_(84);
13078
-var ReactPropTypesSecret = _dereq_(87);
13083
+var ReactElement = _dereq_(61);
13084
+var ReactPropTypeLocationNames = _dereq_(82);
13085
+var ReactPropTypesSecret = _dereq_(85);
13086
13080
-var emptyFunction = _dereq_(156);
13081
-var getIteratorFn = _dereq_(133);
13082
-var warning = _dereq_(174);
13087
+var emptyFunction = _dereq_(154);
13088
+var getIteratorFn = _dereq_(131);
13089
+var warning = _dereq_(171);
13090
13091
/**
13092
* Collection of methods that allow declaration and validation of props that are
@@ -13168,6 +13175,20 @@ function is(x, y) {
13175
}
13176
/*eslint-enable no-self-compare*/
13177
13178
+/**
13179
+ * We use an Error-like object for backward compatibility as people may call
13180
+ * PropTypes directly and inspect their output. However we don't use real
13181
+ * Errors anymore. We don't inspect their stack anyway, and creating them
13182
+ * is prohibitively expensive if they are created too often, such as what
13183
+ * happens in oneOfType() for any type before the one that matched.
13184
+ */
13185
+function PropTypeError(message) {
13186
+ this.message = message;
13187
+ this.stack = '';
13188
+}
13189
+// Make `instanceof Error` still work for returned errors.
13190
+PropTypeError.prototype = Error.prototype;
13191
+
13192
function createChainableTypeChecker(validate) {
13193
if ("development" !== 'production') {
13194
var manualPropTypeCallCache = {};
@@ -13187,7 +13208,7 @@ function createChainableTypeChecker(validate) {
13208
if (props[propName] == null) {
13209
var locationName = ReactPropTypeLocationNames[location];
13210
if (isRequired) {
13190
- return new Error('Required ' + locationName + ' `' + propFullName + '` was not specified in ' + ('`' + componentName + '`.'));
13211
+ return new PropTypeError('Required ' + locationName + ' `' + propFullName + '` was not specified in ' + ('`' + componentName + '`.'));
13212
}
13213
return null;
13214
} else {
@@ -13212,7 +13233,7 @@ function createPrimitiveTypeChecker(expectedType) {
13233
// 'of type `object`'.
13234
var preciseType = getPreciseType(propValue);
13235
13215
- return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
13236
+ return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
13237
}
13238
return null;
13239
}
@@ -13226,13 +13247,13 @@ function createAnyTypeChecker() {
13247
function createArrayOfTypeChecker(typeChecker) {
13248
function validate(props, propName, componentName, location, propFullName) {
13249
if (typeof typeChecker !== 'function') {
13229
- return new Error('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
13250
+ return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
13251
}
13252
var propValue = props[propName];
13253
if (!Array.isArray(propValue)) {
13254
var locationName = ReactPropTypeLocationNames[location];
13255
var propType = getPropType(propValue);
13235
- return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
13256
+ return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
13257
}
13258
for (var i = 0; i < propValue.length; i++) {
13259
var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
@@ -13251,7 +13272,7 @@ function createElementTypeChecker() {
13272
if (!ReactElement.isValidElement(propValue)) {
13273
var locationName = ReactPropTypeLocationNames[location];
13274
var propType = getPropType(propValue);
13254
- return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
13275
+ return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
13276
}
13277
return null;
13278
}
@@ -13264,7 +13285,7 @@ function createInstanceTypeChecker(expectedClass) {
13285
var locationName = ReactPropTypeLocationNames[location];
13286
var expectedClassName = expectedClass.name || ANONYMOUS;
13287
var actualClassName = getClassName(props[propName]);
13267
- return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
13288
+ return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
13289
}
13290
return null;
13291
}
@@ -13287,7 +13308,7 @@ function createEnumTypeChecker(expectedValues) {
13308
13309
var locationName = ReactPropTypeLocationNames[location];
13310
var valuesString = JSON.stringify(expectedValues);
13290
- return new Error('Invalid ' + locationName + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
13311
+ return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
13312
}
13313
return createChainableTypeChecker(validate);
13314
}
@@ -13295,13 +13316,13 @@ function createEnumTypeChecker(expectedValues) {
13316
function createObjectOfTypeChecker(typeChecker) {
13317
function validate(props, propName, componentName, location, propFullName) {
13318
if (typeof typeChecker !== 'function') {
13298
- return new Error('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
13319
+ return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
13320
}
13321
var propValue = props[propName];
13322
var propType = getPropType(propValue);
13323
if (propType !== 'object') {
13324
var locationName = ReactPropTypeLocationNames[location];
13304
- return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
13325
+ return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
13326
}
13327
for (var key in propValue) {
13328
if (propValue.hasOwnProperty(key)) {
@@ -13331,7 +13352,7 @@ function createUnionTypeChecker(arrayOfTypeCheckers) {
13352
}
13353
13354
var locationName = ReactPropTypeLocationNames[location];
13334
- return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
13355
+ return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
13356
}
13357
return createChainableTypeChecker(validate);
13358
}
@@ -13340,7 +13361,7 @@ function createNodeChecker() {
13361
function validate(props, propName, componentName, location, propFullName) {
13362
if (!isNode(props[propName])) {
13363
var locationName = ReactPropTypeLocationNames[location];
13343
- return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
13364
+ return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
13365
}
13366
return null;
13367
}
@@ -13353,7 +13374,7 @@ function createShapeTypeChecker(shapeTypes) {
13374
var propType = getPropType(propValue);
13375
if (propType !== 'object') {
13376
var locationName = ReactPropTypeLocationNames[location];
13356
- return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
13377
+ return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
13378
}
13379
for (var key in shapeTypes) {
13380
var checker = shapeTypes[key];
@@ -13477,7 +13498,7 @@ function getClassName(propValue) {
13498
}
13499
13500
module.exports = ReactPropTypes;
13480
-},{"133":133,"156":156,"174":174,"63":63,"84":84,"87":87}],87:[function(_dereq_,module,exports){
13501
+},{"131":131,"154":154,"171":171,"61":61,"82":82,"85":85}],85:[function(_dereq_,module,exports){
13502
/**
13503
* Copyright 2013-present, Facebook, Inc.
13504
* All rights reserved.
@@ -13494,7 +13515,7 @@ module.exports = ReactPropTypes;
13515
var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
13516
13517
module.exports = ReactPropTypesSecret;
13497
-},{}],88:[function(_dereq_,module,exports){
13518
+},{}],86:[function(_dereq_,module,exports){
13519
/**
13520
* Copyright 2013-present, Facebook, Inc.
13521
* All rights reserved.
@@ -13508,12 +13529,12 @@ module.exports = ReactPropTypesSecret;
13529
13530
'use strict';
13531
13511
-var _assign = _dereq_(175);
13532
+var _assign = _dereq_(172);
13533
13534
var ReactComponent = _dereq_(32);
13514
-var ReactNoopUpdateQueue = _dereq_(82);
13535
+var ReactNoopUpdateQueue = _dereq_(80);
13536
13516
-var emptyObject = _dereq_(157);
13537
+var emptyObject = _dereq_(155);
13538
13539
/**
13540
* Base class helpers for the updating state of a component.
@@ -13537,7 +13558,7 @@ _assign(ReactPureComponent.prototype, ReactComponent.prototype);
13558
ReactPureComponent.prototype.isPureReactComponent = true;
13559
13560
module.exports = ReactPureComponent;
13540
-},{"157":157,"175":175,"32":32,"82":82}],89:[function(_dereq_,module,exports){
13561
+},{"155":155,"172":172,"32":32,"80":80}],87:[function(_dereq_,module,exports){
13562
/**
13563
* Copyright 2013-present, Facebook, Inc.
13564
* All rights reserved.
@@ -13551,15 +13572,15 @@ module.exports = ReactPureComponent;
13572
13573
'use strict';
13574
13554
-var _assign = _dereq_(175);
13575
+var _assign = _dereq_(172);
13576
13577
var CallbackQueue = _dereq_(5);
13578
var PooledClass = _dereq_(25);
13579
var ReactBrowserEventEmitter = _dereq_(27);
13559
-var ReactInputSelection = _dereq_(73);
13560
-var ReactInstrumentation = _dereq_(75);
13561
-var Transaction = _dereq_(116);
13562
-var ReactUpdateQueue = _dereq_(97);
13580
+var ReactInputSelection = _dereq_(71);
13581
+var ReactInstrumentation = _dereq_(73);
13582
+var Transaction = _dereq_(114);
13583
+var ReactUpdateQueue = _dereq_(95);
13584
13585
/**
13586
* Ensures that, when possible, the selection range (currently selected text
@@ -13716,7 +13737,7 @@ _assign(ReactReconcileTransaction.prototype, Transaction.Mixin, Mixin);
13737
PooledClass.addPoolingTo(ReactReconcileTransaction);
13738
13739
module.exports = ReactReconcileTransaction;
13719
-},{"116":116,"175":175,"25":25,"27":27,"5":5,"73":73,"75":75,"97":97}],90:[function(_dereq_,module,exports){
13740
+},{"114":114,"172":172,"25":25,"27":27,"5":5,"71":71,"73":73,"95":95}],88:[function(_dereq_,module,exports){
13741
/**
13742
* Copyright 2013-present, Facebook, Inc.
13743
* All rights reserved.
@@ -13730,10 +13751,10 @@ module.exports = ReactReconcileTransaction;
13751
13752
'use strict';
13753
13733
-var ReactRef = _dereq_(91);
13734
-var ReactInstrumentation = _dereq_(75);
13754
+var ReactRef = _dereq_(89);
13755
+var ReactInstrumentation = _dereq_(73);
13756
13736
-var warning = _dereq_(174);
13757
+var warning = _dereq_(171);
13758
13759
/**
13760
* Helper to call ReactRef.attachRefs with this composite component, split out
@@ -13756,20 +13777,19 @@ var ReactReconciler = {
13777
* @final
13778
* @internal
13779
*/
13759
- mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context) {
13780
+ mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID // 0 in production and for roots
13781
+ ) {
13782
if ("development" !== 'production') {
13783
if (internalInstance._debugID !== 0) {
13762
- ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID, internalInstance._currentElement);
13763
- ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'mountComponent');
13784
+ ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID, internalInstance._currentElement, parentDebugID);
13785
}
13786
}
13766
- var markup = internalInstance.mountComponent(transaction, hostParent, hostContainerInfo, context);
13787
+ var markup = internalInstance.mountComponent(transaction, hostParent, hostContainerInfo, context, parentDebugID);
13788
if (internalInstance._currentElement && internalInstance._currentElement.ref != null) {
13789
transaction.getReactMountReady().enqueue(attachRefs, internalInstance);
13790
}
13791
if ("development" !== 'production') {
13792
if (internalInstance._debugID !== 0) {
13772
- ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'mountComponent');
13793
ReactInstrumentation.debugTool.onMountComponent(internalInstance._debugID);
13794
}
13795
}
@@ -13793,14 +13813,13 @@ var ReactReconciler = {
13813
unmountComponent: function (internalInstance, safely) {
13814
if ("development" !== 'production') {
13815
if (internalInstance._debugID !== 0) {
13796
- ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'unmountComponent');
13816
+ ReactInstrumentation.debugTool.onBeforeUnmountComponent(internalInstance._debugID);
13817
}
13818
}
13819
ReactRef.detachRefs(internalInstance, internalInstance._currentElement);
13820
internalInstance.unmountComponent(safely);
13821
if ("development" !== 'production') {
13822
if (internalInstance._debugID !== 0) {
13803
- ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'unmountComponent');
13823
ReactInstrumentation.debugTool.onUnmountComponent(internalInstance._debugID);
13824
}
13825
}
@@ -13835,7 +13854,6 @@ var ReactReconciler = {
13854
if ("development" !== 'production') {
13855
if (internalInstance._debugID !== 0) {
13856
ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, nextElement);
13838
- ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'receiveComponent');
13857
}
13858
}
13859
@@ -13853,7 +13871,6 @@ var ReactReconciler = {
13871
13872
if ("development" !== 'production') {
13873
if (internalInstance._debugID !== 0) {
13856
- ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'receiveComponent');
13874
ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);
13875
}
13876
}
@@ -13875,14 +13892,12 @@ var ReactReconciler = {
13892
}
13893
if ("development" !== 'production') {
13894
if (internalInstance._debugID !== 0) {
13878
- ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'performUpdateIfNecessary');
13895
ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, internalInstance._currentElement);
13896
}
13897
}
13898
internalInstance.performUpdateIfNecessary(transaction);
13899
if ("development" !== 'production') {
13900
if (internalInstance._debugID !== 0) {
13885
- ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'performUpdateIfNecessary');
13901
ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);
13902
}
13903
}
@@ -13891,7 +13906,7 @@ var ReactReconciler = {
13906
};
13907
13908
module.exports = ReactReconciler;
13894
-},{"174":174,"75":75,"91":91}],91:[function(_dereq_,module,exports){
13909
+},{"171":171,"73":73,"89":89}],89:[function(_dereq_,module,exports){
13910
/**
13911
* Copyright 2013-present, Facebook, Inc.
13912
* All rights reserved.
@@ -13905,7 +13920,7 @@ module.exports = ReactReconciler;
13920
13921
'use strict';
13922
13908
-var ReactOwner = _dereq_(83);
13923
+var ReactOwner = _dereq_(81);
13924
13925
var ReactRef = {};
13926
@@ -13953,7 +13968,7 @@ ReactRef.shouldUpdateRefs = function (prevElement, nextElement) {
13968
var prevEmpty = prevElement === null || prevElement === false;
13969
var nextEmpty = nextElement === null || nextElement === false;
13970
13956
- return(
13971
+ return (
13972
// This has a few false positives w/r/t empty components.
13973
prevEmpty || nextEmpty || nextElement.ref !== prevElement.ref ||
13974
// If owner changes but we have an unchanged function ref, don't update refs
@@ -13972,7 +13987,7 @@ ReactRef.detachRefs = function (instance, element) {
13987
};
13988
13989
module.exports = ReactRef;
13975
-},{"83":83}],92:[function(_dereq_,module,exports){
13990
+},{"81":81}],90:[function(_dereq_,module,exports){
13991
/**
13992
* Copyright 2014-present, Facebook, Inc.
13993
* All rights reserved.
@@ -13995,7 +14010,7 @@ var ReactServerBatchingStrategy = {
14010
};
14011
14012
module.exports = ReactServerBatchingStrategy;
13998
-},{}],93:[function(_dereq_,module,exports){
14013
+},{}],91:[function(_dereq_,module,exports){
14014
/**
14015
* Copyright 2013-present, Facebook, Inc.
14016
* All rights reserved.
@@ -14008,21 +14023,21 @@ module.exports = ReactServerBatchingStrategy;
14023
*/
14024
'use strict';
14025
14011
-var _prodInvariant = _dereq_(142);
14026
+var _prodInvariant = _dereq_(140);
14027
14028
var ReactDOMContainerInfo = _dereq_(43);
14014
-var ReactDefaultBatchingStrategy = _dereq_(61);
14015
-var ReactElement = _dereq_(63);
14016
-var ReactInstrumentation = _dereq_(75);
14017
-var ReactMarkupChecksum = _dereq_(77);
14018
-var ReactReconciler = _dereq_(90);
14019
-var ReactServerBatchingStrategy = _dereq_(92);
14020
-var ReactServerRenderingTransaction = _dereq_(94);
14021
-var ReactUpdates = _dereq_(98);
14022
-
14023
-var emptyObject = _dereq_(157);
14024
-var instantiateReactComponent = _dereq_(137);
14025
-var invariant = _dereq_(164);
14029
+var ReactDefaultBatchingStrategy = _dereq_(59);
14030
+var ReactElement = _dereq_(61);
14031
+var ReactInstrumentation = _dereq_(73);
14032
+var ReactMarkupChecksum = _dereq_(75);
14033
+var ReactReconciler = _dereq_(88);
14034
+var ReactServerBatchingStrategy = _dereq_(90);
14035
+var ReactServerRenderingTransaction = _dereq_(92);
14036
+var ReactUpdates = _dereq_(96);
14037
+
14038
+var emptyObject = _dereq_(155);
14039
+var instantiateReactComponent = _dereq_(135);
14040
+var invariant = _dereq_(162);
14041
14042
var pendingTransactions = 0;
14043
@@ -14041,7 +14056,8 @@ function renderToStringImpl(element, makeStaticMarkup) {
14056
14057
return transaction.perform(function () {
14058
var componentInstance = instantiateReactComponent(element, true);
14044
- var markup = ReactReconciler.mountComponent(componentInstance, transaction, null, ReactDOMContainerInfo(), emptyObject);
14059
+ var markup = ReactReconciler.mountComponent(componentInstance, transaction, null, ReactDOMContainerInfo(), emptyObject, 0 /* parentDebugID */
14060
+ );
14061
if ("development" !== 'production') {
14062
ReactInstrumentation.debugTool.onUnmountComponent(componentInstance._debugID);
14063
}
@@ -14085,7 +14101,7 @@ module.exports = {
14101
renderToString: renderToString,
14102
renderToStaticMarkup: renderToStaticMarkup
14103
};
14088
-},{"137":137,"142":142,"157":157,"164":164,"43":43,"61":61,"63":63,"75":75,"77":77,"90":90,"92":92,"94":94,"98":98}],94:[function(_dereq_,module,exports){
14104
+},{"135":135,"140":140,"155":155,"162":162,"43":43,"59":59,"61":61,"73":73,"75":75,"88":88,"90":90,"92":92,"96":96}],92:[function(_dereq_,module,exports){
14105
/**
14106
* Copyright 2014-present, Facebook, Inc.
14107
* All rights reserved.
@@ -14099,12 +14115,12 @@ module.exports = {
14115
14116
'use strict';
14117
14102
-var _assign = _dereq_(175);
14118
+var _assign = _dereq_(172);
14119
14120
var PooledClass = _dereq_(25);
14105
-var Transaction = _dereq_(116);
14106
-var ReactInstrumentation = _dereq_(75);
14107
-var ReactServerUpdateQueue = _dereq_(95);
14121
+var Transaction = _dereq_(114);
14122
+var ReactInstrumentation = _dereq_(73);
14123
+var ReactServerUpdateQueue = _dereq_(93);
14124
14125
/**
14126
* Executed within the scope of the `Transaction` instance. Consider these as
@@ -14176,7 +14192,7 @@ _assign(ReactServerRenderingTransaction.prototype, Transaction.Mixin, Mixin);
14192
PooledClass.addPoolingTo(ReactServerRenderingTransaction);
14193
14194
module.exports = ReactServerRenderingTransaction;
14179
-},{"116":116,"175":175,"25":25,"75":75,"95":95}],95:[function(_dereq_,module,exports){
14195
+},{"114":114,"172":172,"25":25,"73":73,"93":93}],93:[function(_dereq_,module,exports){
14196
/**
14197
* Copyright 2015-present, Facebook, Inc.
14198
* All rights reserved.
@@ -14193,9 +14209,9 @@ module.exports = ReactServerRenderingTransaction;
14209
14210
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14211
14196
-var ReactUpdateQueue = _dereq_(97);
14197
-var Transaction = _dereq_(116);
14198
-var warning = _dereq_(174);
14212
+var ReactUpdateQueue = _dereq_(95);
14213
+var Transaction = _dereq_(114);
14214
+var warning = _dereq_(171);
14215
14216
function warnNoop(publicInstance, callerName) {
14217
if ("development" !== 'production') {
@@ -14318,7 +14334,7 @@ var ReactServerUpdateQueue = function () {
14334
}();
14335
14336
module.exports = ReactServerUpdateQueue;
14321
-},{"116":116,"174":174,"97":97}],96:[function(_dereq_,module,exports){
14337
+},{"114":114,"171":171,"95":95}],94:[function(_dereq_,module,exports){
14338
/**
14339
* Copyright 2013-present, Facebook, Inc.
14340
* All rights reserved.
@@ -14332,10 +14348,10 @@ module.exports = ReactServerUpdateQueue;
14348
14349
'use strict';
14350
14335
-var _assign = _dereq_(175);
14351
+var _assign = _dereq_(172);
14352
14353
var ReactDOM = _dereq_(38);
14338
-var ReactDOMServer = _dereq_(55);
14354
+var ReactDOMServer = _dereq_(53);
14355
var React = _dereq_(26);
14356
14357
// `version` will be added here by ReactIsomorphic.
@@ -14345,7 +14361,7 @@ var ReactUMDEntry = _assign({
14361
}, React);
14362
14363
module.exports = ReactUMDEntry;
14348
-},{"175":175,"26":26,"38":38,"55":55}],97:[function(_dereq_,module,exports){
14364
+},{"172":172,"26":26,"38":38,"53":53}],95:[function(_dereq_,module,exports){
14365
/**
14366
* Copyright 2015-present, Facebook, Inc.
14367
* All rights reserved.
@@ -14359,15 +14375,15 @@ module.exports = ReactUMDEntry;
14375
14376
'use strict';
14377
14362
-var _prodInvariant = _dereq_(142);
14378
+var _prodInvariant = _dereq_(140);
14379
14380
var ReactCurrentOwner = _dereq_(37);
14365
-var ReactInstanceMap = _dereq_(74);
14366
-var ReactInstrumentation = _dereq_(75);
14367
-var ReactUpdates = _dereq_(98);
14381
+var ReactInstanceMap = _dereq_(72);
14382
+var ReactInstrumentation = _dereq_(73);
14383
+var ReactUpdates = _dereq_(96);
14384
14369
-var invariant = _dereq_(164);
14370
-var warning = _dereq_(174);
14385
+var invariant = _dereq_(162);
14386
+var warning = _dereq_(171);
14387
14388
function enqueueUpdate(internalInstance) {
14389
ReactUpdates.enqueueUpdate(internalInstance);
@@ -14572,7 +14588,7 @@ var ReactUpdateQueue = {
14588
};
14589
14590
module.exports = ReactUpdateQueue;
14575
-},{"142":142,"164":164,"174":174,"37":37,"74":74,"75":75,"98":98}],98:[function(_dereq_,module,exports){
14591
+},{"140":140,"162":162,"171":171,"37":37,"72":72,"73":73,"96":96}],96:[function(_dereq_,module,exports){
14592
/**
14593
* Copyright 2013-present, Facebook, Inc.
14594
* All rights reserved.
@@ -14586,16 +14602,16 @@ module.exports = ReactUpdateQueue;
14602
14603
'use strict';
14604
14589
-var _prodInvariant = _dereq_(142),
14590
- _assign = _dereq_(175);
14605
+var _prodInvariant = _dereq_(140),
14606
+ _assign = _dereq_(172);
14607
14608
var CallbackQueue = _dereq_(5);
14609
var PooledClass = _dereq_(25);
14594
-var ReactFeatureFlags = _dereq_(69);
14595
-var ReactReconciler = _dereq_(90);
14596
-var Transaction = _dereq_(116);
14610
+var ReactFeatureFlags = _dereq_(67);
14611
+var ReactReconciler = _dereq_(88);
14612
+var Transaction = _dereq_(114);
14613
14598
-var invariant = _dereq_(164);
14614
+var invariant = _dereq_(162);
14615
14616
var dirtyComponents = [];
14617
var updateBatchNumber = 0;
@@ -14824,7 +14840,7 @@ var ReactUpdates = {
14840
};
14841
14842
module.exports = ReactUpdates;
14827
-},{"116":116,"142":142,"164":164,"175":175,"25":25,"5":5,"69":69,"90":90}],99:[function(_dereq_,module,exports){
14843
+},{"114":114,"140":140,"162":162,"172":172,"25":25,"5":5,"67":67,"88":88}],97:[function(_dereq_,module,exports){
14844
/**
14845
* Copyright 2013-present, Facebook, Inc.
14846
* All rights reserved.
@@ -14838,8 +14854,8 @@ module.exports = ReactUpdates;
14854
14855
'use strict';
14856
14841
-module.exports = '15.3.0';
14842
-},{}],100:[function(_dereq_,module,exports){
14857
+module.exports = '15.3.1';
14858
+},{}],98:[function(_dereq_,module,exports){
14859
/**
14860
* Copyright 2013-present, Facebook, Inc.
14861
* All rights reserved.
@@ -15142,7 +15158,7 @@ Object.keys(ATTRS).forEach(function (key) {
15158
});
15159
15160
module.exports = SVGDOMPropertyConfig;
15145
-},{}],101:[function(_dereq_,module,exports){
15161
+},{}],99:[function(_dereq_,module,exports){
15162
/**
15163
* Copyright 2013-present, Facebook, Inc.
15164
* All rights reserved.
@@ -15158,15 +15174,15 @@ module.exports = SVGDOMPropertyConfig;
15174
15175
var EventConstants = _dereq_(16);
15176
var EventPropagators = _dereq_(20);
15161
-var ExecutionEnvironment = _dereq_(150);
15177
+var ExecutionEnvironment = _dereq_(148);
15178
var ReactDOMComponentTree = _dereq_(42);
15163
-var ReactInputSelection = _dereq_(73);
15164
-var SyntheticEvent = _dereq_(107);
15179
+var ReactInputSelection = _dereq_(71);
15180
+var SyntheticEvent = _dereq_(105);
15181
15166
-var getActiveElement = _dereq_(159);
15167
-var isTextInputElement = _dereq_(139);
15168
-var keyOf = _dereq_(168);
15169
-var shallowEqual = _dereq_(173);
15182
+var getActiveElement = _dereq_(157);
15183
+var isTextInputElement = _dereq_(137);
15184
+var keyOf = _dereq_(166);
15185
+var shallowEqual = _dereq_(170);
15186
15187
var topLevelTypes = EventConstants.topLevelTypes;
15188
@@ -15339,7 +15355,7 @@ var SelectEventPlugin = {
15355
};
15356
15357
module.exports = SelectEventPlugin;
15342
-},{"107":107,"139":139,"150":150,"159":159,"16":16,"168":168,"173":173,"20":20,"42":42,"73":73}],102:[function(_dereq_,module,exports){
15358
+},{"105":105,"137":137,"148":148,"157":157,"16":16,"166":166,"170":170,"20":20,"42":42,"71":71}],100:[function(_dereq_,module,exports){
15359
/**
15360
* Copyright 2013-present, Facebook, Inc.
15361
* All rights reserved.
@@ -15353,28 +15369,28 @@ module.exports = SelectEventPlugin;
15369
15370
'use strict';
15371
15356
-var _prodInvariant = _dereq_(142);
15372
+var _prodInvariant = _dereq_(140);
15373
15374
var EventConstants = _dereq_(16);
15359
-var EventListener = _dereq_(149);
15375
+var EventListener = _dereq_(147);
15376
var EventPropagators = _dereq_(20);
15377
var ReactDOMComponentTree = _dereq_(42);
15362
-var SyntheticAnimationEvent = _dereq_(103);
15363
-var SyntheticClipboardEvent = _dereq_(104);
15364
-var SyntheticEvent = _dereq_(107);
15365
-var SyntheticFocusEvent = _dereq_(108);
15366
-var SyntheticKeyboardEvent = _dereq_(110);
15367
-var SyntheticMouseEvent = _dereq_(111);
15368
-var SyntheticDragEvent = _dereq_(106);
15369
-var SyntheticTouchEvent = _dereq_(112);
15370
-var SyntheticTransitionEvent = _dereq_(113);
15371
-var SyntheticUIEvent = _dereq_(114);
15372
-var SyntheticWheelEvent = _dereq_(115);
15373
-
15374
-var emptyFunction = _dereq_(156);
15375
-var getEventCharCode = _dereq_(128);
15376
-var invariant = _dereq_(164);
15377
-var keyOf = _dereq_(168);
15378
+var SyntheticAnimationEvent = _dereq_(101);
15379
+var SyntheticClipboardEvent = _dereq_(102);
15380
+var SyntheticEvent = _dereq_(105);
15381
+var SyntheticFocusEvent = _dereq_(106);
15382
+var SyntheticKeyboardEvent = _dereq_(108);
15383
+var SyntheticMouseEvent = _dereq_(109);
15384
+var SyntheticDragEvent = _dereq_(104);
15385
+var SyntheticTouchEvent = _dereq_(110);
15386
+var SyntheticTransitionEvent = _dereq_(111);
15387
+var SyntheticUIEvent = _dereq_(112);
15388
+var SyntheticWheelEvent = _dereq_(113);
15389
+
15390
+var emptyFunction = _dereq_(154);
15391
+var getEventCharCode = _dereq_(126);
15392
+var invariant = _dereq_(162);
15393
+var keyOf = _dereq_(166);
15394
15395
var topLevelTypes = EventConstants.topLevelTypes;
15396
@@ -15828,6 +15844,8 @@ var ON_CLICK_KEY = keyOf({ onClick: null });
15844
var onClickListeners = {};
15845
15846
function getDictionaryKey(inst) {
15847
+ // Prevents V8 performance issue:
15848
+ // https://github.com/facebook/react/pull/7232
15849
return '.' + inst._rootNodeID;
15850
}
15851
@@ -15973,7 +15991,7 @@ var SimpleEventPlugin = {
15991
};
15992
15993
module.exports = SimpleEventPlugin;
15976
-},{"103":103,"104":104,"106":106,"107":107,"108":108,"110":110,"111":111,"112":112,"113":113,"114":114,"115":115,"128":128,"142":142,"149":149,"156":156,"16":16,"164":164,"168":168,"20":20,"42":42}],103:[function(_dereq_,module,exports){
15994
+},{"101":101,"102":102,"104":104,"105":105,"106":106,"108":108,"109":109,"110":110,"111":111,"112":112,"113":113,"126":126,"140":140,"147":147,"154":154,"16":16,"162":162,"166":166,"20":20,"42":42}],101:[function(_dereq_,module,exports){
15995
/**
15996
* Copyright 2013-present, Facebook, Inc.
15997
* All rights reserved.
@@ -15987,7 +16005,7 @@ module.exports = SimpleEventPlugin;
16005
16006
'use strict';
16007
15990
-var SyntheticEvent = _dereq_(107);
16008
+var SyntheticEvent = _dereq_(105);
16009
16010
/**
16011
* @interface Event
@@ -16013,7 +16031,7 @@ function SyntheticAnimationEvent(dispatchConfig, dispatchMarker, nativeEvent, na
16031
SyntheticEvent.augmentClass(SyntheticAnimationEvent, AnimationEventInterface);
16032
16033
module.exports = SyntheticAnimationEvent;
16016
-},{"107":107}],104:[function(_dereq_,module,exports){
16034
+},{"105":105}],102:[function(_dereq_,module,exports){
16035
/**
16036
* Copyright 2013-present, Facebook, Inc.
16037
* All rights reserved.
@@ -16027,7 +16045,7 @@ module.exports = SyntheticAnimationEvent;
16045
16046
'use strict';
16047
16030
-var SyntheticEvent = _dereq_(107);
16048
+var SyntheticEvent = _dereq_(105);
16049
16050
/**
16051
* @interface Event
@@ -16052,7 +16070,7 @@ function SyntheticClipboardEvent(dispatchConfig, dispatchMarker, nativeEvent, na
16070
SyntheticEvent.augmentClass(SyntheticClipboardEvent, ClipboardEventInterface);
16071
16072
module.exports = SyntheticClipboardEvent;
16055
-},{"107":107}],105:[function(_dereq_,module,exports){
16073
+},{"105":105}],103:[function(_dereq_,module,exports){
16074
/**
16075
* Copyright 2013-present, Facebook, Inc.
16076
* All rights reserved.
@@ -16066,7 +16084,7 @@ module.exports = SyntheticClipboardEvent;
16084
16085
'use strict';
16086
16069
-var SyntheticEvent = _dereq_(107);
16087
+var SyntheticEvent = _dereq_(105);
16088
16089
/**
16090
* @interface Event
@@ -16089,7 +16107,7 @@ function SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent,
16107
SyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface);
16108
16109
module.exports = SyntheticCompositionEvent;
16092
-},{"107":107}],106:[function(_dereq_,module,exports){
16110
+},{"105":105}],104:[function(_dereq_,module,exports){
16111
/**
16112
* Copyright 2013-present, Facebook, Inc.
16113
* All rights reserved.
@@ -16103,7 +16121,7 @@ module.exports = SyntheticCompositionEvent;
16121
16122
'use strict';
16123
16106
-var SyntheticMouseEvent = _dereq_(111);
16124
+var SyntheticMouseEvent = _dereq_(109);
16125
16126
/**
16127
* @interface DragEvent
@@ -16126,7 +16144,7 @@ function SyntheticDragEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeE
16144
SyntheticMouseEvent.augmentClass(SyntheticDragEvent, DragEventInterface);
16145
16146
module.exports = SyntheticDragEvent;
16129
-},{"111":111}],107:[function(_dereq_,module,exports){
16147
+},{"109":109}],105:[function(_dereq_,module,exports){
16148
/**
16149
* Copyright 2013-present, Facebook, Inc.
16150
* All rights reserved.
@@ -16140,12 +16158,12 @@ module.exports = SyntheticDragEvent;
16158
16159
'use strict';
16160
16143
-var _assign = _dereq_(175);
16161
+var _assign = _dereq_(172);
16162
16163
var PooledClass = _dereq_(25);
16164
16147
-var emptyFunction = _dereq_(156);
16148
-var warning = _dereq_(174);
16165
+var emptyFunction = _dereq_(154);
16166
+var warning = _dereq_(171);
16167
16168
var didWarnForAddedNewProperty = false;
16169
var isProxySupported = typeof Proxy === 'function';
@@ -16256,9 +16274,16 @@ _assign(SyntheticEvent.prototype, {
16274
16275
if (event.stopPropagation) {
16276
event.stopPropagation();
16259
- } else {
16277
+ } else if (typeof event.cancelBubble !== 'unknown') {
16278
+ // eslint-disable-line valid-typeof
16279
+ // The ChangeEventPlugin registers a "propertychange" event for
16280
+ // IE. This event does not support bubbling or cancelling, and
16281
+ // any references to cancelBubble throw "Member not found". A
16282
+ // typeof check of "unknown" circumvents this issue (and is also
16283
+ // IE specific).
16284
event.cancelBubble = true;
16285
}
16286
+
16287
this.isPropagationStopped = emptyFunction.thatReturnsTrue;
16288
},
16289
@@ -16387,7 +16412,7 @@ function getPooledWarningPropertyDefinition(propName, getVal) {
16412
"development" !== 'production' ? warning(warningCondition, 'This synthetic event is reused for performance reasons. If you\'re seeing this, ' + 'you\'re %s `%s` on a released/nullified synthetic event. %s. ' + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0;
16413
}
16414
}
16390
-},{"156":156,"174":174,"175":175,"25":25}],108:[function(_dereq_,module,exports){
16415
+},{"154":154,"171":171,"172":172,"25":25}],106:[function(_dereq_,module,exports){
16416
/**
16417
* Copyright 2013-present, Facebook, Inc.
16418
* All rights reserved.
@@ -16401,7 +16426,7 @@ function getPooledWarningPropertyDefinition(propName, getVal) {
16426
16427
'use strict';
16428
16404
-var SyntheticUIEvent = _dereq_(114);
16429
+var SyntheticUIEvent = _dereq_(112);
16430
16431
/**
16432
* @interface FocusEvent
@@ -16424,7 +16449,7 @@ function SyntheticFocusEvent(dispatchConfig, dispatchMarker, nativeEvent, native
16449
SyntheticUIEvent.augmentClass(SyntheticFocusEvent, FocusEventInterface);
16450
16451
module.exports = SyntheticFocusEvent;
16427
-},{"114":114}],109:[function(_dereq_,module,exports){
16452
+},{"112":112}],107:[function(_dereq_,module,exports){
16453
/**
16454
* Copyright 2013-present, Facebook, Inc.
16455
* All rights reserved.
@@ -16438,7 +16463,7 @@ module.exports = SyntheticFocusEvent;
16463
16464
'use strict';
16465
16441
-var SyntheticEvent = _dereq_(107);
16466
+var SyntheticEvent = _dereq_(105);
16467
16468
/**
16469
* @interface Event
@@ -16462,7 +16487,7 @@ function SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, native
16487
SyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface);
16488
16489
module.exports = SyntheticInputEvent;
16465
-},{"107":107}],110:[function(_dereq_,module,exports){
16490
+},{"105":105}],108:[function(_dereq_,module,exports){
16491
/**
16492
* Copyright 2013-present, Facebook, Inc.
16493
* All rights reserved.
@@ -16476,11 +16501,11 @@ module.exports = SyntheticInputEvent;
16501
16502
'use strict';
16503
16479
-var SyntheticUIEvent = _dereq_(114);
16504
+var SyntheticUIEvent = _dereq_(112);
16505
16481
-var getEventCharCode = _dereq_(128);
16482
-var getEventKey = _dereq_(129);
16483
-var getEventModifierState = _dereq_(130);
16506
+var getEventCharCode = _dereq_(126);
16507
+var getEventKey = _dereq_(127);
16508
+var getEventModifierState = _dereq_(128);
16509
16510
/**
16511
* @interface KeyboardEvent
@@ -16547,7 +16572,7 @@ function SyntheticKeyboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nat
16572
SyntheticUIEvent.augmentClass(SyntheticKeyboardEvent, KeyboardEventInterface);
16573
16574
module.exports = SyntheticKeyboardEvent;
16550
-},{"114":114,"128":128,"129":129,"130":130}],111:[function(_dereq_,module,exports){
16575
+},{"112":112,"126":126,"127":127,"128":128}],109:[function(_dereq_,module,exports){
16576
/**
16577
* Copyright 2013-present, Facebook, Inc.
16578
* All rights reserved.
@@ -16561,10 +16586,10 @@ module.exports = SyntheticKeyboardEvent;
16586
16587
'use strict';
16588
16564
-var SyntheticUIEvent = _dereq_(114);
16565
-var ViewportMetrics = _dereq_(117);
16589
+var SyntheticUIEvent = _dereq_(112);
16590
+var ViewportMetrics = _dereq_(115);
16591
16567
-var getEventModifierState = _dereq_(130);
16592
+var getEventModifierState = _dereq_(128);
16593
16594
/**
16595
* @interface MouseEvent
@@ -16620,7 +16645,7 @@ function SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, native
16645
SyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface);
16646
16647
module.exports = SyntheticMouseEvent;
16623
-},{"114":114,"117":117,"130":130}],112:[function(_dereq_,module,exports){
16648
+},{"112":112,"115":115,"128":128}],110:[function(_dereq_,module,exports){
16649
/**
16650
* Copyright 2013-present, Facebook, Inc.
16651
* All rights reserved.
@@ -16634,9 +16659,9 @@ module.exports = SyntheticMouseEvent;
16659
16660
'use strict';
16661
16637
-var SyntheticUIEvent = _dereq_(114);
16662
+var SyntheticUIEvent = _dereq_(112);
16663
16639
-var getEventModifierState = _dereq_(130);
16664
+var getEventModifierState = _dereq_(128);
16665
16666
/**
16667
* @interface TouchEvent
@@ -16666,7 +16691,7 @@ function SyntheticTouchEvent(dispatchConfig, dispatchMarker, nativeEvent, native
16691
SyntheticUIEvent.augmentClass(SyntheticTouchEvent, TouchEventInterface);
16692
16693
module.exports = SyntheticTouchEvent;
16669
-},{"114":114,"130":130}],113:[function(_dereq_,module,exports){
16694
+},{"112":112,"128":128}],111:[function(_dereq_,module,exports){
16695
/**
16696
* Copyright 2013-present, Facebook, Inc.
16697
* All rights reserved.
@@ -16680,7 +16705,7 @@ module.exports = SyntheticTouchEvent;
16705
16706
'use strict';
16707
16683
-var SyntheticEvent = _dereq_(107);
16708
+var SyntheticEvent = _dereq_(105);
16709
16710
/**
16711
* @interface Event
@@ -16706,7 +16731,7 @@ function SyntheticTransitionEvent(dispatchConfig, dispatchMarker, nativeEvent, n
16731
SyntheticEvent.augmentClass(SyntheticTransitionEvent, TransitionEventInterface);
16732
16733
module.exports = SyntheticTransitionEvent;
16709
-},{"107":107}],114:[function(_dereq_,module,exports){
16734
+},{"105":105}],112:[function(_dereq_,module,exports){
16735
/**
16736
* Copyright 2013-present, Facebook, Inc.
16737
* All rights reserved.
@@ -16720,9 +16745,9 @@ module.exports = SyntheticTransitionEvent;
16745
16746
'use strict';
16747
16723
-var SyntheticEvent = _dereq_(107);
16748
+var SyntheticEvent = _dereq_(105);
16749
16725
-var getEventTarget = _dereq_(131);
16750
+var getEventTarget = _dereq_(129);
16751
16752
/**
16753
* @interface UIEvent
@@ -16766,7 +16791,7 @@ function SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEve
16791
SyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface);
16792
16793
module.exports = SyntheticUIEvent;
16769
-},{"107":107,"131":131}],115:[function(_dereq_,module,exports){
16794
+},{"105":105,"129":129}],113:[function(_dereq_,module,exports){
16795
/**
16796
* Copyright 2013-present, Facebook, Inc.
16797
* All rights reserved.
@@ -16780,7 +16805,7 @@ module.exports = SyntheticUIEvent;
16805
16806
'use strict';
16807
16783
-var SyntheticMouseEvent = _dereq_(111);
16808
+var SyntheticMouseEvent = _dereq_(109);
16809
16810
/**
16811
* @interface WheelEvent
@@ -16821,7 +16846,7 @@ function SyntheticWheelEvent(dispatchConfig, dispatchMarker, nativeEvent, native
16846
SyntheticMouseEvent.augmentClass(SyntheticWheelEvent, WheelEventInterface);
16847
16848
module.exports = SyntheticWheelEvent;
16824
-},{"111":111}],116:[function(_dereq_,module,exports){
16849
+},{"109":109}],114:[function(_dereq_,module,exports){
16850
/**
16851
* Copyright 2013-present, Facebook, Inc.
16852
* All rights reserved.
@@ -16835,9 +16860,9 @@ module.exports = SyntheticWheelEvent;
16860
16861
'use strict';
16862
16838
-var _prodInvariant = _dereq_(142);
16863
+var _prodInvariant = _dereq_(140);
16864
16840
-var invariant = _dereq_(164);
16865
+var invariant = _dereq_(162);
16866
16867
/**
16868
* `Transaction` creates a black box that is able to wrap any method such that
@@ -17055,7 +17080,7 @@ var Transaction = {
17080
};
17081
17082
module.exports = Transaction;
17058
-},{"142":142,"164":164}],117:[function(_dereq_,module,exports){
17083
+},{"140":140,"162":162}],115:[function(_dereq_,module,exports){
17084
/**
17085
* Copyright 2013-present, Facebook, Inc.
17086
* All rights reserved.
@@ -17083,7 +17108,7 @@ var ViewportMetrics = {
17108
};
17109
17110
module.exports = ViewportMetrics;
17086
-},{}],118:[function(_dereq_,module,exports){
17111
+},{}],116:[function(_dereq_,module,exports){
17112
/**
17113
* Copyright 2014-present, Facebook, Inc.
17114
* All rights reserved.
@@ -17098,9 +17123,9 @@ module.exports = ViewportMetrics;
17123
17124
'use strict';
17125
17101
-var _prodInvariant = _dereq_(142);
17126
+var _prodInvariant = _dereq_(140);
17127
17103
-var invariant = _dereq_(164);
17128
+var invariant = _dereq_(162);
17129
17130
/**
17131
* Accumulates items that must not be null or undefined into the first one. This
@@ -17142,7 +17167,7 @@ function accumulateInto(current, next) {
17167
}
17168
17169
module.exports = accumulateInto;
17145
-},{"142":142,"164":164}],119:[function(_dereq_,module,exports){
17170
+},{"140":140,"162":162}],117:[function(_dereq_,module,exports){
17171
/**
17172
* Copyright 2013-present, Facebook, Inc.
17173
* All rights reserved.
@@ -17187,7 +17212,7 @@ function adler32(data) {
17212
}
17213
17214
module.exports = adler32;
17190
-},{}],120:[function(_dereq_,module,exports){
17215
+},{}],118:[function(_dereq_,module,exports){
17216
/**
17217
* Copyright 2013-present, Facebook, Inc.
17218
* All rights reserved.
@@ -17212,7 +17237,7 @@ if ("development" !== 'production') {
17237
}
17238
17239
module.exports = canDefineProperty;
17215
-},{}],121:[function(_dereq_,module,exports){
17240
+},{}],119:[function(_dereq_,module,exports){
17241
(function (process){
17242
/**
17243
* Copyright 2013-present, Facebook, Inc.
@@ -17227,15 +17252,15 @@ module.exports = canDefineProperty;
17252
17253
'use strict';
17254
17230
-var _prodInvariant = _dereq_(142);
17255
+var _prodInvariant = _dereq_(140);
17256
17232
-var ReactPropTypeLocationNames = _dereq_(84);
17233
-var ReactPropTypesSecret = _dereq_(87);
17257
+var ReactPropTypeLocationNames = _dereq_(82);
17258
+var ReactPropTypesSecret = _dereq_(85);
17259
17235
-var invariant = _dereq_(164);
17236
-var warning = _dereq_(174);
17260
+var invariant = _dereq_(162);
17261
+var warning = _dereq_(171);
17262
17238
-var ReactComponentTreeDevtool;
17263
+var ReactComponentTreeHook;
17264
17265
if (typeof process !== 'undefined' && process.env && "development" === 'test') {
17266
// Temporary hack.
@@ -17243,7 +17268,7 @@ if (typeof process !== 'undefined' && process.env && "development" === 'test') {
17268
// https://github.com/facebook/react/issues/7240
17269
// Remove the inline requires when we don't need them anymore:
17270
// https://github.com/facebook/react/pull/7178
17246
- ReactComponentTreeDevtool = _dereq_(35);
17271
+ ReactComponentTreeHook = _dereq_(35);
17272
}
17273
17274
var loggedTypeFailures = {};
@@ -17284,13 +17309,13 @@ function checkReactTypeSpec(typeSpecs, values, location, componentName, element,
17309
var componentStackInfo = '';
17310
17311
if ("development" !== 'production') {
17287
- if (!ReactComponentTreeDevtool) {
17288
- ReactComponentTreeDevtool = _dereq_(35);
17312
+ if (!ReactComponentTreeHook) {
17313
+ ReactComponentTreeHook = _dereq_(35);
17314
}
17315
if (debugID !== null) {
17291
- componentStackInfo = ReactComponentTreeDevtool.getStackAddendumByID(debugID);
17316
+ componentStackInfo = ReactComponentTreeHook.getStackAddendumByID(debugID);
17317
} else if (element !== null) {
17293
- componentStackInfo = ReactComponentTreeDevtool.getCurrentStackAddendum(element);
17318
+ componentStackInfo = ReactComponentTreeHook.getCurrentStackAddendum(element);
17319
}
17320
}
17321
@@ -17302,7 +17327,7 @@ function checkReactTypeSpec(typeSpecs, values, location, componentName, element,
17327
17328
module.exports = checkReactTypeSpec;
17329
}).call(this,undefined)
17305
-},{"142":142,"164":164,"174":174,"35":35,"84":84,"87":87}],122:[function(_dereq_,module,exports){
17330
+},{"140":140,"162":162,"171":171,"35":35,"82":82,"85":85}],120:[function(_dereq_,module,exports){
17331
/**
17332
* Copyright 2013-present, Facebook, Inc.
17333
* All rights reserved.
@@ -17335,7 +17360,7 @@ var createMicrosoftUnsafeLocalFunction = function (func) {
17360
};
17361
17362
module.exports = createMicrosoftUnsafeLocalFunction;
17338
-},{}],123:[function(_dereq_,module,exports){
17363
+},{}],121:[function(_dereq_,module,exports){
17364
/**
17365
* Copyright 2013-present, Facebook, Inc.
17366
* All rights reserved.
@@ -17350,7 +17375,7 @@ module.exports = createMicrosoftUnsafeLocalFunction;
17375
'use strict';
17376
17377
var CSSProperty = _dereq_(3);
17353
-var warning = _dereq_(174);
17378
+var warning = _dereq_(171);
17379
17380
var isUnitlessNumber = CSSProperty.isUnitlessNumber;
17381
var styleWarnings = {};
@@ -17415,7 +17440,7 @@ function dangerousStyleValue(name, value, component) {
17440
}
17441
17442
module.exports = dangerousStyleValue;
17418
-},{"174":174,"3":3}],124:[function(_dereq_,module,exports){
17443
+},{"171":171,"3":3}],122:[function(_dereq_,module,exports){
17444
/**
17445
* Copyright 2016-present, Facebook, Inc.
17446
* All rights reserved.
@@ -17521,6 +17546,7 @@ function escapeHtml(string) {
17546
}
17547
// end code copied and modified from escape-html
17548
17549
+
17550
/**
17551
* Escapes text to prevent scripting attacks.
17552
*
@@ -17538,7 +17564,7 @@ function escapeTextContentForBrowser(text) {
17564
}
17565
17566
module.exports = escapeTextContentForBrowser;
17541
-},{}],125:[function(_dereq_,module,exports){
17567
+},{}],123:[function(_dereq_,module,exports){
17568
/**
17569
* Copyright 2013-present, Facebook, Inc.
17570
* All rights reserved.
@@ -17552,15 +17578,15 @@ module.exports = escapeTextContentForBrowser;
17578
17579
'use strict';
17580
17555
-var _prodInvariant = _dereq_(142);
17581
+var _prodInvariant = _dereq_(140);
17582
17583
var ReactCurrentOwner = _dereq_(37);
17584
var ReactDOMComponentTree = _dereq_(42);
17559
-var ReactInstanceMap = _dereq_(74);
17585
+var ReactInstanceMap = _dereq_(72);
17586
17561
-var getHostComponentFromComposite = _dereq_(132);
17562
-var invariant = _dereq_(164);
17563
-var warning = _dereq_(174);
17587
+var getHostComponentFromComposite = _dereq_(130);
17588
+var invariant = _dereq_(162);
17589
+var warning = _dereq_(171);
17590
17591
/**
17592
* Returns the DOM node rendered by this element.
@@ -17599,7 +17625,7 @@ function findDOMNode(componentOrElement) {
17625
}
17626
17627
module.exports = findDOMNode;
17602
-},{"132":132,"142":142,"164":164,"174":174,"37":37,"42":42,"74":74}],126:[function(_dereq_,module,exports){
17628
+},{"130":130,"140":140,"162":162,"171":171,"37":37,"42":42,"72":72}],124:[function(_dereq_,module,exports){
17629
(function (process){
17630
/**
17631
* Copyright 2013-present, Facebook, Inc.
@@ -17616,10 +17642,10 @@ module.exports = findDOMNode;
17642
'use strict';
17643
17644
var KeyEscapeUtils = _dereq_(23);
17619
-var traverseAllChildren = _dereq_(147);
17620
-var warning = _dereq_(174);
17645
+var traverseAllChildren = _dereq_(145);
17646
+var warning = _dereq_(171);
17647
17622
-var ReactComponentTreeDevtool;
17648
+var ReactComponentTreeHook;
17649
17650
if (typeof process !== 'undefined' && process.env && "development" === 'test') {
17651
// Temporary hack.
@@ -17627,7 +17653,7 @@ if (typeof process !== 'undefined' && process.env && "development" === 'test') {
17653
// https://github.com/facebook/react/issues/7240
17654
// Remove the inline requires when we don't need them anymore:
17655
// https://github.com/facebook/react/pull/7178
17630
- ReactComponentTreeDevtool = _dereq_(35);
17656
+ ReactComponentTreeHook = _dereq_(35);
17657
}
17658
17659
/**
@@ -17642,10 +17668,12 @@ function flattenSingleChildIntoContext(traverseContext, child, name, selfDebugID
17668
var result = traverseContext;
17669
var keyUnique = result[name] === undefined;
17670
if ("development" !== 'production') {
17645
- if (!ReactComponentTreeDevtool) {
17646
- ReactComponentTreeDevtool = _dereq_(35);
17671
+ if (!ReactComponentTreeHook) {
17672
+ ReactComponentTreeHook = _dereq_(35);
17673
+ }
17674
+ if (!keyUnique) {
17675
+ "development" !== 'production' ? warning(false, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeHook.getStackAddendumByID(selfDebugID)) : void 0;
17676
}
17648
- "development" !== 'production' ? warning(keyUnique, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeDevtool.getStackAddendumByID(selfDebugID)) : void 0;
17677
}
17678
if (keyUnique && child != null) {
17679
result[name] = child;
@@ -17676,7 +17704,7 @@ function flattenChildren(children, selfDebugID) {
17704
17705
module.exports = flattenChildren;
17706
}).call(this,undefined)
17679
-},{"147":147,"174":174,"23":23,"35":35}],127:[function(_dereq_,module,exports){
17707
+},{"145":145,"171":171,"23":23,"35":35}],125:[function(_dereq_,module,exports){
17708
/**
17709
* Copyright 2013-present, Facebook, Inc.
17710
* All rights reserved.
@@ -17708,7 +17736,7 @@ function forEachAccumulated(arr, cb, scope) {
17736
}
17737
17738
module.exports = forEachAccumulated;
17711
-},{}],128:[function(_dereq_,module,exports){
17739
+},{}],126:[function(_dereq_,module,exports){
17740
/**
17741
* Copyright 2013-present, Facebook, Inc.
17742
* All rights reserved.
@@ -17759,7 +17787,7 @@ function getEventCharCode(nativeEvent) {
17787
}
17788
17789
module.exports = getEventCharCode;
17762
-},{}],129:[function(_dereq_,module,exports){
This file is too large to show in full.