react-dom 15.5.3 → 15.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/react-dom-server.js +722 -604
  2. package/dist/react-dom-server.min.js +5 -5
  3. package/dist/react-dom.js +849 -659
  4. package/dist/react-dom.min.js +6 -5
  5. package/lib/BeforeInputEventPlugin.js +0 -1
  6. package/lib/CSSProperty.js +6 -0
  7. package/lib/CSSPropertyOperations.js +14 -8
  8. package/lib/ChangeEventPlugin.js +49 -83
  9. package/lib/DOMChildrenOperations.js +4 -3
  10. package/lib/DOMProperty.js +0 -1
  11. package/lib/DOMPropertyOperations.js +0 -2
  12. package/lib/Danger.js +0 -2
  13. package/lib/EnterLeaveEventPlugin.js +0 -2
  14. package/lib/EventPluginHub.js +0 -4
  15. package/lib/EventPluginRegistry.js +0 -2
  16. package/lib/LinkedValueUtils.js +7 -7
  17. package/lib/ReactBrowserEventEmitter.js +0 -4
  18. package/lib/ReactChildFiber.js +0 -1
  19. package/lib/ReactChildReconciler.js +4 -5
  20. package/lib/ReactComponentBrowserEnvironment.js +0 -2
  21. package/lib/ReactComponentEnvironment.js +0 -2
  22. package/lib/ReactCompositeComponent.js +1 -3
  23. package/lib/ReactDOM.js +2 -2
  24. package/lib/ReactDOMComponent.js +33 -24
  25. package/lib/ReactDOMFiber.js +0 -1
  26. package/lib/ReactDOMIDOperations.js +0 -1
  27. package/lib/ReactDOMInput.js +5 -3
  28. package/lib/ReactDOMOption.js +0 -1
  29. package/lib/ReactDOMTextComponent.js +0 -2
  30. package/lib/ReactDebugTool.js +3 -1
  31. package/lib/ReactEventEmitterMixin.js +0 -1
  32. package/lib/ReactFiber.js +0 -2
  33. package/lib/ReactFiberBeginWork.js +0 -1
  34. package/lib/ReactFiberCommitWork.js +0 -1
  35. package/lib/ReactFiberCompleteWork.js +0 -2
  36. package/lib/ReactInputSelection.js +0 -1
  37. package/lib/ReactInstanceMap.js +0 -2
  38. package/lib/ReactMount.js +7 -7
  39. package/lib/ReactMultiChild.js +0 -4
  40. package/lib/ReactOwner.js +0 -1
  41. package/lib/ReactPerf.js +6 -6
  42. package/lib/ReactPriorityLevel.js +2 -1
  43. package/lib/ReactReconciler.js +2 -4
  44. package/lib/ReactShallowRenderer.js +6 -0
  45. package/lib/ReactSimpleEmptyComponent.js +2 -2
  46. package/lib/ReactTestUtils.js +1 -0
  47. package/lib/ReactUpdateQueue.js +1 -3
  48. package/lib/ReactVersion.js +1 -1
  49. package/lib/ResponderEventPlugin.js +0 -2
  50. package/lib/SelectEventPlugin.js +0 -3
  51. package/lib/SimpleEventPlugin.js +0 -2
  52. package/lib/SyntheticEvent.js +4 -6
  53. package/lib/SyntheticWheelEvent.js +3 -6
  54. package/lib/TapEventPlugin.js +0 -2
  55. package/lib/Transaction.js +3 -0
  56. package/lib/ViewportMetrics.js +0 -2
  57. package/lib/dangerousStyleValue.js +2 -2
  58. package/lib/deprecated.js +3 -3
  59. package/lib/escapeTextContentForBrowser.js +0 -1
  60. package/lib/getEventKey.js +24 -14
  61. package/lib/getEventModifierState.js +4 -4
  62. package/lib/inputValueTracking.js +122 -0
  63. package/lib/instantiateReactComponent.js +1 -1
  64. package/lib/isTextInputElement.js +14 -14
  65. package/lib/lowPriorityWarning.js +64 -0
  66. package/lib/setInnerHTML.js +1 -1
  67. package/lib/traverseAllChildren.js +1 -1
  68. package/lib/validateDOMNesting.js +1 -7
  69. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
1
  /**
2
- * ReactDOMServer v15.5.3
2
+ * ReactDOMServer v15.6.1
3
3
  */
4
4
 
5
5
  ;(function(f) {
@@ -118,7 +118,7 @@ module.exports = ARIADOMPropertyConfig;
118
118
 
119
119
  var ReactDOMComponentTree = _dereq_(32);
120
120
 
121
- var focusNode = _dereq_(134);
121
+ var focusNode = _dereq_(135);
122
122
 
123
123
  var AutoFocusUtils = {
124
124
  focusDOMComponent: function () {
@@ -127,7 +127,7 @@ var AutoFocusUtils = {
127
127
  };
128
128
 
129
129
  module.exports = AutoFocusUtils;
130
- },{"134":134,"32":32}],3:[function(_dereq_,module,exports){
130
+ },{"135":135,"32":32}],3:[function(_dereq_,module,exports){
131
131
  /**
132
132
  * Copyright 2013-present Facebook, Inc.
133
133
  * All rights reserved.
@@ -141,7 +141,7 @@ module.exports = AutoFocusUtils;
141
141
  'use strict';
142
142
 
143
143
  var EventPropagators = _dereq_(19);
144
- var ExecutionEnvironment = _dereq_(126);
144
+ var ExecutionEnvironment = _dereq_(127);
145
145
  var FallbackCompositionState = _dereq_(20);
146
146
  var SyntheticCompositionEvent = _dereq_(82);
147
147
  var SyntheticInputEvent = _dereq_(86);
@@ -503,7 +503,6 @@ function extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEv
503
503
  * `composition` event types.
504
504
  */
505
505
  var BeforeInputEventPlugin = {
506
-
507
506
  eventTypes: eventTypes,
508
507
 
509
508
  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
@@ -512,7 +511,7 @@ var BeforeInputEventPlugin = {
512
511
  };
513
512
 
514
513
  module.exports = BeforeInputEventPlugin;
515
- },{"126":126,"19":19,"20":20,"82":82,"86":86}],4:[function(_dereq_,module,exports){
514
+ },{"127":127,"19":19,"20":20,"82":82,"86":86}],4:[function(_dereq_,module,exports){
516
515
  /**
517
516
  * Copyright 2013-present, Facebook, Inc.
518
517
  * All rights reserved.
@@ -545,7 +544,13 @@ var isUnitlessNumber = {
545
544
  flexNegative: true,
546
545
  flexOrder: true,
547
546
  gridRow: true,
547
+ gridRowEnd: true,
548
+ gridRowSpan: true,
549
+ gridRowStart: true,
548
550
  gridColumn: true,
551
+ gridColumnEnd: true,
552
+ gridColumnSpan: true,
553
+ gridColumnStart: true,
549
554
  fontWeight: true,
550
555
  lineClamp: true,
551
556
  lineHeight: true,
@@ -674,14 +679,14 @@ module.exports = CSSProperty;
674
679
  'use strict';
675
680
 
676
681
  var CSSProperty = _dereq_(4);
677
- var ExecutionEnvironment = _dereq_(126);
682
+ var ExecutionEnvironment = _dereq_(127);
678
683
  var ReactInstrumentation = _dereq_(59);
679
684
 
680
- var camelizeStyleName = _dereq_(128);
685
+ var camelizeStyleName = _dereq_(129);
681
686
  var dangerousStyleValue = _dereq_(99);
682
- var hyphenateStyleName = _dereq_(139);
683
- var memoizeStringOnly = _dereq_(143);
684
- var warning = _dereq_(147);
687
+ var hyphenateStyleName = _dereq_(140);
688
+ var memoizeStringOnly = _dereq_(144);
689
+ var warning = _dereq_(148);
685
690
 
686
691
  var processStyleName = memoizeStringOnly(function (styleName) {
687
692
  return hyphenateStyleName(styleName);
@@ -738,7 +743,7 @@ if ("development" !== 'production') {
738
743
  }
739
744
 
740
745
  warnedStyleValues[value] = true;
741
- "development" !== 'production' ? warning(false, 'Style property values shouldn\'t contain a semicolon.%s ' + 'Try "%s: %s" instead.', checkRenderMessage(owner), name, value.replace(badStyleValueWithSemicolonPattern, '')) : void 0;
746
+ "development" !== 'production' ? warning(false, "Style property values shouldn't contain a semicolon.%s " + 'Try "%s: %s" instead.', checkRenderMessage(owner), name, value.replace(badStyleValueWithSemicolonPattern, '')) : void 0;
742
747
  };
743
748
 
744
749
  var warnStyleValueIsNaN = function (name, value, owner) {
@@ -788,7 +793,6 @@ if ("development" !== 'production') {
788
793
  * Operations for dealing with CSS properties.
789
794
  */
790
795
  var CSSPropertyOperations = {
791
-
792
796
  /**
793
797
  * Serializes a mapping of style properties for use as inline styles:
794
798
  *
@@ -808,13 +812,16 @@ var CSSPropertyOperations = {
808
812
  if (!styles.hasOwnProperty(styleName)) {
809
813
  continue;
810
814
  }
815
+ var isCustomProperty = styleName.indexOf('--') === 0;
811
816
  var styleValue = styles[styleName];
812
817
  if ("development" !== 'production') {
813
- warnValidStyle(styleName, styleValue, component);
818
+ if (!isCustomProperty) {
819
+ warnValidStyle(styleName, styleValue, component);
820
+ }
814
821
  }
815
822
  if (styleValue != null) {
816
823
  serialized += processStyleName(styleName) + ':';
817
- serialized += dangerousStyleValue(styleName, styleValue, component) + ';';
824
+ serialized += dangerousStyleValue(styleName, styleValue, component, isCustomProperty) + ';';
818
825
  }
819
826
  }
820
827
  return serialized || null;
@@ -842,14 +849,19 @@ var CSSPropertyOperations = {
842
849
  if (!styles.hasOwnProperty(styleName)) {
843
850
  continue;
844
851
  }
852
+ var isCustomProperty = styleName.indexOf('--') === 0;
845
853
  if ("development" !== 'production') {
846
- warnValidStyle(styleName, styles[styleName], component);
854
+ if (!isCustomProperty) {
855
+ warnValidStyle(styleName, styles[styleName], component);
856
+ }
847
857
  }
848
- var styleValue = dangerousStyleValue(styleName, styles[styleName], component);
858
+ var styleValue = dangerousStyleValue(styleName, styles[styleName], component, isCustomProperty);
849
859
  if (styleName === 'float' || styleName === 'cssFloat') {
850
860
  styleName = styleFloatAccessor;
851
861
  }
852
- if (styleValue) {
862
+ if (isCustomProperty) {
863
+ style.setProperty(styleName, styleValue);
864
+ } else if (styleValue) {
853
865
  style[styleName] = styleValue;
854
866
  } else {
855
867
  var expansion = hasShorthandPropertyBug && CSSProperty.shorthandPropertyExpansions[styleName];
@@ -865,11 +877,10 @@ var CSSPropertyOperations = {
865
877
  }
866
878
  }
867
879
  }
868
-
869
880
  };
870
881
 
871
882
  module.exports = CSSPropertyOperations;
872
- },{"126":126,"128":128,"139":139,"143":143,"147":147,"4":4,"59":59,"99":99}],6:[function(_dereq_,module,exports){
883
+ },{"127":127,"129":129,"140":140,"144":144,"148":148,"4":4,"59":59,"99":99}],6:[function(_dereq_,module,exports){
873
884
  /**
874
885
  * Copyright 2013-present, Facebook, Inc.
875
886
  * All rights reserved.
@@ -883,13 +894,13 @@ module.exports = CSSPropertyOperations;
883
894
 
884
895
  'use strict';
885
896
 
886
- var _prodInvariant = _dereq_(115);
897
+ var _prodInvariant = _dereq_(116);
887
898
 
888
899
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
889
900
 
890
901
  var PooledClass = _dereq_(24);
891
902
 
892
- var invariant = _dereq_(140);
903
+ var invariant = _dereq_(141);
893
904
 
894
905
  /**
895
906
  * A specialized pseudo-event module to help keep track of components waiting to
@@ -988,7 +999,7 @@ var CallbackQueue = function () {
988
999
  }();
989
1000
 
990
1001
  module.exports = PooledClass.addPoolingTo(CallbackQueue);
991
- },{"115":115,"140":140,"24":24}],7:[function(_dereq_,module,exports){
1002
+ },{"116":116,"141":141,"24":24}],7:[function(_dereq_,module,exports){
992
1003
  /**
993
1004
  * Copyright 2013-present, Facebook, Inc.
994
1005
  * All rights reserved.
@@ -1003,14 +1014,15 @@ module.exports = PooledClass.addPoolingTo(CallbackQueue);
1003
1014
 
1004
1015
  var EventPluginHub = _dereq_(16);
1005
1016
  var EventPropagators = _dereq_(19);
1006
- var ExecutionEnvironment = _dereq_(126);
1017
+ var ExecutionEnvironment = _dereq_(127);
1007
1018
  var ReactDOMComponentTree = _dereq_(32);
1008
1019
  var ReactUpdates = _dereq_(75);
1009
1020
  var SyntheticEvent = _dereq_(84);
1010
1021
 
1022
+ var inputValueTracking = _dereq_(111);
1011
1023
  var getEventTarget = _dereq_(106);
1012
- var isEventSupported = _dereq_(112);
1013
- var isTextInputElement = _dereq_(113);
1024
+ var isEventSupported = _dereq_(113);
1025
+ var isTextInputElement = _dereq_(114);
1014
1026
 
1015
1027
  var eventTypes = {
1016
1028
  change: {
@@ -1022,13 +1034,17 @@ var eventTypes = {
1022
1034
  }
1023
1035
  };
1024
1036
 
1037
+ function createAndAccumulateChangeEvent(inst, nativeEvent, target) {
1038
+ var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, target);
1039
+ event.type = 'change';
1040
+ EventPropagators.accumulateTwoPhaseDispatches(event);
1041
+ return event;
1042
+ }
1025
1043
  /**
1026
1044
  * For IE shims
1027
1045
  */
1028
1046
  var activeElement = null;
1029
1047
  var activeElementInst = null;
1030
- var activeElementValue = null;
1031
- var activeElementValueProp = null;
1032
1048
 
1033
1049
  /**
1034
1050
  * SECTION: handle `change` event
@@ -1045,8 +1061,7 @@ if (ExecutionEnvironment.canUseDOM) {
1045
1061
  }
1046
1062
 
1047
1063
  function manualDispatchChangeEvent(nativeEvent) {
1048
- var event = SyntheticEvent.getPooled(eventTypes.change, activeElementInst, nativeEvent, getEventTarget(nativeEvent));
1049
- EventPropagators.accumulateTwoPhaseDispatches(event);
1064
+ var event = createAndAccumulateChangeEvent(activeElementInst, nativeEvent, getEventTarget(nativeEvent));
1050
1065
 
1051
1066
  // If change and propertychange bubbled, we'd just bind to it like all the
1052
1067
  // other events and have it go through ReactBrowserEventEmitter. Since it
@@ -1082,11 +1097,21 @@ function stopWatchingForChangeEventIE8() {
1082
1097
  activeElementInst = null;
1083
1098
  }
1084
1099
 
1100
+ function getInstIfValueChanged(targetInst, nativeEvent) {
1101
+ var updated = inputValueTracking.updateValueIfChanged(targetInst);
1102
+ var simulated = nativeEvent.simulated === true && ChangeEventPlugin._allowSimulatedPassThrough;
1103
+
1104
+ if (updated || simulated) {
1105
+ return targetInst;
1106
+ }
1107
+ }
1108
+
1085
1109
  function getTargetInstForChangeEvent(topLevelType, targetInst) {
1086
1110
  if (topLevelType === 'topChange') {
1087
1111
  return targetInst;
1088
1112
  }
1089
1113
  }
1114
+
1090
1115
  function handleEventsForChangeEventIE8(topLevelType, target, targetInst) {
1091
1116
  if (topLevelType === 'topFocus') {
1092
1117
  // stopWatching() should be a noop here but we call it just in case we
@@ -1105,105 +1130,54 @@ var isInputEventSupported = false;
1105
1130
  if (ExecutionEnvironment.canUseDOM) {
1106
1131
  // IE9 claims to support the input event but fails to trigger it when
1107
1132
  // deleting text, so we ignore its input events.
1108
- // IE10+ fire input events to often, such when a placeholder
1109
- // changes or when an input with a placeholder is focused.
1110
- isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 11);
1111
- }
1112
1133
 
1113
- /**
1114
- * (For IE <=11) Replacement getter/setter for the `value` property that gets
1115
- * set on the active element.
1116
- */
1117
- var newValueProp = {
1118
- get: function () {
1119
- return activeElementValueProp.get.call(this);
1120
- },
1121
- set: function (val) {
1122
- // Cast to a string so we can do equality checks.
1123
- activeElementValue = '' + val;
1124
- activeElementValueProp.set.call(this, val);
1125
- }
1126
- };
1134
+ isInputEventSupported = isEventSupported('input') && (!('documentMode' in document) || document.documentMode > 9);
1135
+ }
1127
1136
 
1128
1137
  /**
1129
- * (For IE <=11) Starts tracking propertychange events on the passed-in element
1138
+ * (For IE <=9) Starts tracking propertychange events on the passed-in element
1130
1139
  * and override the value property so that we can distinguish user events from
1131
1140
  * value changes in JS.
1132
1141
  */
1133
1142
  function startWatchingForValueChange(target, targetInst) {
1134
1143
  activeElement = target;
1135
1144
  activeElementInst = targetInst;
1136
- activeElementValue = target.value;
1137
- activeElementValueProp = Object.getOwnPropertyDescriptor(target.constructor.prototype, 'value');
1138
-
1139
- // Not guarded in a canDefineProperty check: IE8 supports defineProperty only
1140
- // on DOM elements
1141
- Object.defineProperty(activeElement, 'value', newValueProp);
1142
- if (activeElement.attachEvent) {
1143
- activeElement.attachEvent('onpropertychange', handlePropertyChange);
1144
- } else {
1145
- activeElement.addEventListener('propertychange', handlePropertyChange, false);
1146
- }
1145
+ activeElement.attachEvent('onpropertychange', handlePropertyChange);
1147
1146
  }
1148
1147
 
1149
1148
  /**
1150
- * (For IE <=11) Removes the event listeners from the currently-tracked element,
1149
+ * (For IE <=9) Removes the event listeners from the currently-tracked element,
1151
1150
  * if any exists.
1152
1151
  */
1153
1152
  function stopWatchingForValueChange() {
1154
1153
  if (!activeElement) {
1155
1154
  return;
1156
1155
  }
1157
-
1158
- // delete restores the original property definition
1159
- delete activeElement.value;
1160
-
1161
- if (activeElement.detachEvent) {
1162
- activeElement.detachEvent('onpropertychange', handlePropertyChange);
1163
- } else {
1164
- activeElement.removeEventListener('propertychange', handlePropertyChange, false);
1165
- }
1156
+ activeElement.detachEvent('onpropertychange', handlePropertyChange);
1166
1157
 
1167
1158
  activeElement = null;
1168
1159
  activeElementInst = null;
1169
- activeElementValue = null;
1170
- activeElementValueProp = null;
1171
1160
  }
1172
1161
 
1173
1162
  /**
1174
- * (For IE <=11) Handles a propertychange event, sending a `change` event if
1163
+ * (For IE <=9) Handles a propertychange event, sending a `change` event if
1175
1164
  * the value of the active element has changed.
1176
1165
  */
1177
1166
  function handlePropertyChange(nativeEvent) {
1178
1167
  if (nativeEvent.propertyName !== 'value') {
1179
1168
  return;
1180
1169
  }
1181
- var value = nativeEvent.srcElement.value;
1182
- if (value === activeElementValue) {
1183
- return;
1184
- }
1185
- activeElementValue = value;
1186
-
1187
- manualDispatchChangeEvent(nativeEvent);
1188
- }
1189
-
1190
- /**
1191
- * If a `change` event should be fired, returns the target's ID.
1192
- */
1193
- function getTargetInstForInputEvent(topLevelType, targetInst) {
1194
- if (topLevelType === 'topInput') {
1195
- // In modern browsers (i.e., not IE8 or IE9), the input event is exactly
1196
- // what we want so fall through here and trigger an abstract event
1197
- return targetInst;
1170
+ if (getInstIfValueChanged(activeElementInst, nativeEvent)) {
1171
+ manualDispatchChangeEvent(nativeEvent);
1198
1172
  }
1199
1173
  }
1200
1174
 
1201
- function handleEventsForInputEventIE(topLevelType, target, targetInst) {
1175
+ function handleEventsForInputEventPolyfill(topLevelType, target, targetInst) {
1202
1176
  if (topLevelType === 'topFocus') {
1203
1177
  // In IE8, we can capture almost all .value changes by adding a
1204
1178
  // propertychange handler and looking for events with propertyName
1205
1179
  // equal to 'value'
1206
- // In IE9-11, propertychange fires for most input events but is buggy and
1180
+ // In IE9, propertychange fires for most input events but is buggy and
1207
1181
  // doesn't fire when text is deleted, but conveniently, selectionchange
1208
1182
  // appears to fire in all of the remaining cases so we catch those and
1209
1183
  // forward the event if the value has changed
@@ -1221,7 +1195,7 @@ function handleEventsForInputEventIE(topLevelType, target, targetInst) {
1221
1195
  }
1222
1196
 
1223
1197
  // For IE8 and IE9.
1224
- function getTargetInstForInputEventIE(topLevelType, targetInst) {
1198
+ function getTargetInstForInputEventPolyfill(topLevelType, targetInst, nativeEvent) {
1225
1199
  if (topLevelType === 'topSelectionChange' || topLevelType === 'topKeyUp' || topLevelType === 'topKeyDown') {
1226
1200
  // On the selectionchange event, the target is just document which isn't
1227
1201
  // helpful for us so just check activeElement instead.
@@ -1233,10 +1207,7 @@ function getTargetInstForInputEventIE(topLevelType, targetInst) {
1233
1207
  // keystroke if user does a key repeat (it'll be a little delayed: right
1234
1208
  // before the second keystroke). Other input methods (e.g., paste) seem to
1235
1209
  // fire selectionchange normally.
1236
- if (activeElement && activeElement.value !== activeElementValue) {
1237
- activeElementValue = activeElement.value;
1238
- return activeElementInst;
1239
- }
1210
+ return getInstIfValueChanged(activeElementInst, nativeEvent);
1240
1211
  }
1241
1212
  }
1242
1213
 
@@ -1247,12 +1218,19 @@ function shouldUseClickEvent(elem) {
1247
1218
  // Use the `click` event to detect changes to checkbox and radio inputs.
1248
1219
  // This approach works across all browsers, whereas `change` does not fire
1249
1220
  // until `blur` in IE8.
1250
- return elem.nodeName && elem.nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');
1221
+ var nodeName = elem.nodeName;
1222
+ return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');
1251
1223
  }
1252
1224
 
1253
- function getTargetInstForClickEvent(topLevelType, targetInst) {
1225
+ function getTargetInstForClickEvent(topLevelType, targetInst, nativeEvent) {
1254
1226
  if (topLevelType === 'topClick') {
1255
- return targetInst;
1227
+ return getInstIfValueChanged(targetInst, nativeEvent);
1228
+ }
1229
+ }
1230
+
1231
+ function getTargetInstForInputOrChangeEvent(topLevelType, targetInst, nativeEvent) {
1232
+ if (topLevelType === 'topInput' || topLevelType === 'topChange') {
1233
+ return getInstIfValueChanged(targetInst, nativeEvent);
1256
1234
  }
1257
1235
  }
1258
1236
 
@@ -1287,9 +1265,11 @@ function handleControlledInputBlur(inst, node) {
1287
1265
  * - select
1288
1266
  */
1289
1267
  var ChangeEventPlugin = {
1290
-
1291
1268
  eventTypes: eventTypes,
1292
1269
 
1270
+ _allowSimulatedPassThrough: true,
1271
+ _isInputEventSupported: isInputEventSupported,
1272
+
1293
1273
  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
1294
1274
  var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window;
1295
1275
 
@@ -1302,21 +1282,19 @@ var ChangeEventPlugin = {
1302
1282
  }
1303
1283
  } else if (isTextInputElement(targetNode)) {
1304
1284
  if (isInputEventSupported) {
1305
- getTargetInstFunc = getTargetInstForInputEvent;
1285
+ getTargetInstFunc = getTargetInstForInputOrChangeEvent;
1306
1286
  } else {
1307
- getTargetInstFunc = getTargetInstForInputEventIE;
1308
- handleEventFunc = handleEventsForInputEventIE;
1287
+ getTargetInstFunc = getTargetInstForInputEventPolyfill;
1288
+ handleEventFunc = handleEventsForInputEventPolyfill;
1309
1289
  }
1310
1290
  } else if (shouldUseClickEvent(targetNode)) {
1311
1291
  getTargetInstFunc = getTargetInstForClickEvent;
1312
1292
  }
1313
1293
 
1314
1294
  if (getTargetInstFunc) {
1315
- var inst = getTargetInstFunc(topLevelType, targetInst);
1295
+ var inst = getTargetInstFunc(topLevelType, targetInst, nativeEvent);
1316
1296
  if (inst) {
1317
- var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, nativeEventTarget);
1318
- event.type = 'change';
1319
- EventPropagators.accumulateTwoPhaseDispatches(event);
1297
+ var event = createAndAccumulateChangeEvent(inst, nativeEvent, nativeEventTarget);
1320
1298
  return event;
1321
1299
  }
1322
1300
  }
@@ -1330,11 +1308,10 @@ var ChangeEventPlugin = {
1330
1308
  handleControlledInputBlur(targetInst, targetNode);
1331
1309
  }
1332
1310
  }
1333
-
1334
1311
  };
1335
1312
 
1336
1313
  module.exports = ChangeEventPlugin;
1337
- },{"106":106,"112":112,"113":113,"126":126,"16":16,"19":19,"32":32,"75":75,"84":84}],8:[function(_dereq_,module,exports){
1314
+ },{"106":106,"111":111,"113":113,"114":114,"127":127,"16":16,"19":19,"32":32,"75":75,"84":84}],8:[function(_dereq_,module,exports){
1338
1315
  /**
1339
1316
  * Copyright 2013-present, Facebook, Inc.
1340
1317
  * All rights reserved.
@@ -1353,8 +1330,8 @@ var ReactDOMComponentTree = _dereq_(32);
1353
1330
  var ReactInstrumentation = _dereq_(59);
1354
1331
 
1355
1332
  var createMicrosoftUnsafeLocalFunction = _dereq_(98);
1356
- var setInnerHTML = _dereq_(116);
1357
- var setTextContent = _dereq_(117);
1333
+ var setInnerHTML = _dereq_(117);
1334
+ var setTextContent = _dereq_(118);
1358
1335
 
1359
1336
  function getNodeAfter(parentNode, node) {
1360
1337
  // Special case for text components, which return [open, close] comments
@@ -1482,7 +1459,6 @@ if ("development" !== 'production') {
1482
1459
  * Operations for updating with DOM children.
1483
1460
  */
1484
1461
  var DOMChildrenOperations = {
1485
-
1486
1462
  dangerouslyReplaceNodeWithMarkup: dangerouslyReplaceNodeWithMarkup,
1487
1463
 
1488
1464
  replaceDelimitedText: replaceDelimitedText,
@@ -1508,7 +1484,10 @@ var DOMChildrenOperations = {
1508
1484
  ReactInstrumentation.debugTool.onHostOperation({
1509
1485
  instanceID: parentNodeDebugID,
1510
1486
  type: 'insert child',
1511
- payload: { toIndex: update.toIndex, content: update.content.toString() }
1487
+ payload: {
1488
+ toIndex: update.toIndex,
1489
+ content: update.content.toString()
1490
+ }
1512
1491
  });
1513
1492
  }
1514
1493
  break;
@@ -1555,11 +1534,10 @@ var DOMChildrenOperations = {
1555
1534
  }
1556
1535
  }
1557
1536
  }
1558
-
1559
1537
  };
1560
1538
 
1561
1539
  module.exports = DOMChildrenOperations;
1562
- },{"116":116,"117":117,"13":13,"32":32,"59":59,"9":9,"98":98}],9:[function(_dereq_,module,exports){
1540
+ },{"117":117,"118":118,"13":13,"32":32,"59":59,"9":9,"98":98}],9:[function(_dereq_,module,exports){
1563
1541
  /**
1564
1542
  * Copyright 2015-present, Facebook, Inc.
1565
1543
  * All rights reserved.
@@ -1573,10 +1551,10 @@ module.exports = DOMChildrenOperations;
1573
1551
  'use strict';
1574
1552
 
1575
1553
  var DOMNamespaces = _dereq_(10);
1576
- var setInnerHTML = _dereq_(116);
1554
+ var setInnerHTML = _dereq_(117);
1577
1555
 
1578
1556
  var createMicrosoftUnsafeLocalFunction = _dereq_(98);
1579
- var setTextContent = _dereq_(117);
1557
+ var setTextContent = _dereq_(118);
1580
1558
 
1581
1559
  var ELEMENT_NODE_TYPE = 1;
1582
1560
  var DOCUMENT_FRAGMENT_NODE_TYPE = 11;
@@ -1677,7 +1655,7 @@ DOMLazyTree.queueHTML = queueHTML;
1677
1655
  DOMLazyTree.queueText = queueText;
1678
1656
 
1679
1657
  module.exports = DOMLazyTree;
1680
- },{"10":10,"116":116,"117":117,"98":98}],10:[function(_dereq_,module,exports){
1658
+ },{"10":10,"117":117,"118":118,"98":98}],10:[function(_dereq_,module,exports){
1681
1659
  /**
1682
1660
  * Copyright 2013-present, Facebook, Inc.
1683
1661
  * All rights reserved.
@@ -1710,9 +1688,9 @@ module.exports = DOMNamespaces;
1710
1688
 
1711
1689
  'use strict';
1712
1690
 
1713
- var _prodInvariant = _dereq_(115);
1691
+ var _prodInvariant = _dereq_(116);
1714
1692
 
1715
- var invariant = _dereq_(140);
1693
+ var invariant = _dereq_(141);
1716
1694
 
1717
1695
  function checkMask(value, bitmask) {
1718
1696
  return (value & bitmask) === bitmask;
@@ -1836,7 +1814,6 @@ var ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\
1836
1814
  * @see http://jsperf.com/key-missing
1837
1815
  */
1838
1816
  var DOMProperty = {
1839
-
1840
1817
  ID_ATTRIBUTE_NAME: 'data-reactid',
1841
1818
  ROOT_ATTRIBUTE_NAME: 'data-reactroot',
1842
1819
 
@@ -1907,7 +1884,7 @@ var DOMProperty = {
1907
1884
  };
1908
1885
 
1909
1886
  module.exports = DOMProperty;
1910
- },{"115":115,"140":140}],12:[function(_dereq_,module,exports){
1887
+ },{"116":116,"141":141}],12:[function(_dereq_,module,exports){
1911
1888
  /**
1912
1889
  * Copyright 2013-present, Facebook, Inc.
1913
1890
  * All rights reserved.
@@ -1924,8 +1901,8 @@ var DOMProperty = _dereq_(11);
1924
1901
  var ReactDOMComponentTree = _dereq_(32);
1925
1902
  var ReactInstrumentation = _dereq_(59);
1926
1903
 
1927
- var quoteAttributeValueForBrowser = _dereq_(114);
1928
- var warning = _dereq_(147);
1904
+ var quoteAttributeValueForBrowser = _dereq_(115);
1905
+ var warning = _dereq_(148);
1929
1906
 
1930
1907
  var VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + DOMProperty.ATTRIBUTE_NAME_START_CHAR + '][' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$');
1931
1908
  var illegalAttributeNameCache = {};
@@ -1955,7 +1932,6 @@ function shouldIgnoreValue(propertyInfo, value) {
1955
1932
  * Operations for dealing with DOM properties.
1956
1933
  */
1957
1934
  var DOMPropertyOperations = {
1958
-
1959
1935
  /**
1960
1936
  * Creates markup for the ID property.
1961
1937
  *
@@ -2140,11 +2116,10 @@ var DOMPropertyOperations = {
2140
2116
  });
2141
2117
  }
2142
2118
  }
2143
-
2144
2119
  };
2145
2120
 
2146
2121
  module.exports = DOMPropertyOperations;
2147
- },{"11":11,"114":114,"147":147,"32":32,"59":59}],13:[function(_dereq_,module,exports){
2122
+ },{"11":11,"115":115,"148":148,"32":32,"59":59}],13:[function(_dereq_,module,exports){
2148
2123
  /**
2149
2124
  * Copyright 2013-present, Facebook, Inc.
2150
2125
  * All rights reserved.
@@ -2157,17 +2132,16 @@ module.exports = DOMPropertyOperations;
2157
2132
 
2158
2133
  'use strict';
2159
2134
 
2160
- var _prodInvariant = _dereq_(115);
2135
+ var _prodInvariant = _dereq_(116);
2161
2136
 
2162
2137
  var DOMLazyTree = _dereq_(9);
2163
- var ExecutionEnvironment = _dereq_(126);
2138
+ var ExecutionEnvironment = _dereq_(127);
2164
2139
 
2165
- var createNodesFromMarkup = _dereq_(131);
2166
- var emptyFunction = _dereq_(132);
2167
- var invariant = _dereq_(140);
2140
+ var createNodesFromMarkup = _dereq_(132);
2141
+ var emptyFunction = _dereq_(133);
2142
+ var invariant = _dereq_(141);
2168
2143
 
2169
2144
  var Danger = {
2170
-
2171
2145
  /**
2172
2146
  * Replaces a node with a string of markup at its current position within its
2173
2147
  * parent. The markup must render into a single root node.
@@ -2188,11 +2162,10 @@ var Danger = {
2188
2162
  DOMLazyTree.replaceChildWithTree(oldChild, markup);
2189
2163
  }
2190
2164
  }
2191
-
2192
2165
  };
2193
2166
 
2194
2167
  module.exports = Danger;
2195
- },{"115":115,"126":126,"131":131,"132":132,"140":140,"9":9}],14:[function(_dereq_,module,exports){
2168
+ },{"116":116,"127":127,"132":132,"133":133,"141":141,"9":9}],14:[function(_dereq_,module,exports){
2196
2169
  /**
2197
2170
  * Copyright 2013-present, Facebook, Inc.
2198
2171
  * All rights reserved.
@@ -2247,7 +2220,6 @@ var eventTypes = {
2247
2220
  };
2248
2221
 
2249
2222
  var EnterLeaveEventPlugin = {
2250
-
2251
2223
  eventTypes: eventTypes,
2252
2224
 
2253
2225
  /**
@@ -2314,7 +2286,6 @@ var EnterLeaveEventPlugin = {
2314
2286
 
2315
2287
  return [leave, enter];
2316
2288
  }
2317
-
2318
2289
  };
2319
2290
 
2320
2291
  module.exports = EnterLeaveEventPlugin;
@@ -2331,7 +2302,7 @@ module.exports = EnterLeaveEventPlugin;
2331
2302
 
2332
2303
  'use strict';
2333
2304
 
2334
- var _prodInvariant = _dereq_(115);
2305
+ var _prodInvariant = _dereq_(116);
2335
2306
 
2336
2307
  var EventPluginRegistry = _dereq_(17);
2337
2308
  var EventPluginUtils = _dereq_(18);
@@ -2339,7 +2310,7 @@ var ReactErrorUtils = _dereq_(50);
2339
2310
 
2340
2311
  var accumulateInto = _dereq_(95);
2341
2312
  var forEachAccumulated = _dereq_(102);
2342
- var invariant = _dereq_(140);
2313
+ var invariant = _dereq_(141);
2343
2314
 
2344
2315
  /**
2345
2316
  * Internal store for event listeners
@@ -2426,12 +2397,10 @@ function shouldPreventMouseEvent(name, type, props) {
2426
2397
  * @public
2427
2398
  */
2428
2399
  var EventPluginHub = {
2429
-
2430
2400
  /**
2431
2401
  * Methods for injecting dependencies.
2432
2402
  */
2433
2403
  injection: {
2434
-
2435
2404
  /**
2436
2405
  * @param {array} InjectedEventPluginOrder
2437
2406
  * @public
@@ -2442,7 +2411,6 @@ var EventPluginHub = {
2442
2411
  * @param {object} injectedNamesToPlugins Map from names to plugin modules.
2443
2412
  */
2444
2413
  injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName
2445
-
2446
2414
  },
2447
2415
 
2448
2416
  /**
@@ -2592,11 +2560,10 @@ var EventPluginHub = {
2592
2560
  __getListenerBank: function () {
2593
2561
  return listenerBank;
2594
2562
  }
2595
-
2596
2563
  };
2597
2564
 
2598
2565
  module.exports = EventPluginHub;
2599
- },{"102":102,"115":115,"140":140,"17":17,"18":18,"50":50,"95":95}],17:[function(_dereq_,module,exports){
2566
+ },{"102":102,"116":116,"141":141,"17":17,"18":18,"50":50,"95":95}],17:[function(_dereq_,module,exports){
2600
2567
  /**
2601
2568
  * Copyright 2013-present, Facebook, Inc.
2602
2569
  * All rights reserved.
@@ -2610,9 +2577,9 @@ module.exports = EventPluginHub;
2610
2577
 
2611
2578
  'use strict';
2612
2579
 
2613
- var _prodInvariant = _dereq_(115);
2580
+ var _prodInvariant = _dereq_(116);
2614
2581
 
2615
- var invariant = _dereq_(140);
2582
+ var invariant = _dereq_(141);
2616
2583
 
2617
2584
  /**
2618
2585
  * Injectable ordering of event plugins.
@@ -2707,7 +2674,6 @@ function publishRegistrationName(registrationName, pluginModule, eventName) {
2707
2674
  * @see {EventPluginHub}
2708
2675
  */
2709
2676
  var EventPluginRegistry = {
2710
-
2711
2677
  /**
2712
2678
  * Ordered list of injected plugins.
2713
2679
  */
@@ -2847,11 +2813,10 @@ var EventPluginRegistry = {
2847
2813
  }
2848
2814
  }
2849
2815
  }
2850
-
2851
2816
  };
2852
2817
 
2853
2818
  module.exports = EventPluginRegistry;
2854
- },{"115":115,"140":140}],18:[function(_dereq_,module,exports){
2819
+ },{"116":116,"141":141}],18:[function(_dereq_,module,exports){
2855
2820
  /**
2856
2821
  * Copyright 2013-present, Facebook, Inc.
2857
2822
  * All rights reserved.
@@ -2864,12 +2829,12 @@ module.exports = EventPluginRegistry;
2864
2829
 
2865
2830
  'use strict';
2866
2831
 
2867
- var _prodInvariant = _dereq_(115);
2832
+ var _prodInvariant = _dereq_(116);
2868
2833
 
2869
2834
  var ReactErrorUtils = _dereq_(50);
2870
2835
 
2871
- var invariant = _dereq_(140);
2872
- var warning = _dereq_(147);
2836
+ var invariant = _dereq_(141);
2837
+ var warning = _dereq_(148);
2873
2838
 
2874
2839
  /**
2875
2840
  * Injected dependencies:
@@ -3077,7 +3042,7 @@ var EventPluginUtils = {
3077
3042
  };
3078
3043
 
3079
3044
  module.exports = EventPluginUtils;
3080
- },{"115":115,"140":140,"147":147,"50":50}],19:[function(_dereq_,module,exports){
3045
+ },{"116":116,"141":141,"148":148,"50":50}],19:[function(_dereq_,module,exports){
3081
3046
  /**
3082
3047
  * Copyright 2013-present, Facebook, Inc.
3083
3048
  * All rights reserved.
@@ -3095,7 +3060,7 @@ var EventPluginUtils = _dereq_(18);
3095
3060
 
3096
3061
  var accumulateInto = _dereq_(95);
3097
3062
  var forEachAccumulated = _dereq_(102);
3098
- var warning = _dereq_(147);
3063
+ var warning = _dereq_(148);
3099
3064
 
3100
3065
  var getListener = EventPluginHub.getListener;
3101
3066
 
@@ -3211,7 +3176,7 @@ var EventPropagators = {
3211
3176
  };
3212
3177
 
3213
3178
  module.exports = EventPropagators;
3214
- },{"102":102,"147":147,"16":16,"18":18,"95":95}],20:[function(_dereq_,module,exports){
3179
+ },{"102":102,"148":148,"16":16,"18":18,"95":95}],20:[function(_dereq_,module,exports){
3215
3180
  /**
3216
3181
  * Copyright 2013-present, Facebook, Inc.
3217
3182
  * All rights reserved.
@@ -3224,7 +3189,7 @@ module.exports = EventPropagators;
3224
3189
 
3225
3190
  'use strict';
3226
3191
 
3227
- var _assign = _dereq_(148);
3192
+ var _assign = _dereq_(149);
3228
3193
 
3229
3194
  var PooledClass = _dereq_(24);
3230
3195
 
@@ -3306,7 +3271,7 @@ _assign(FallbackCompositionState.prototype, {
3306
3271
  PooledClass.addPoolingTo(FallbackCompositionState);
3307
3272
 
3308
3273
  module.exports = FallbackCompositionState;
3309
- },{"109":109,"148":148,"24":24}],21:[function(_dereq_,module,exports){
3274
+ },{"109":109,"149":149,"24":24}],21:[function(_dereq_,module,exports){
3310
3275
  /**
3311
3276
  * Copyright 2013-present, Facebook, Inc.
3312
3277
  * All rights reserved.
@@ -3614,25 +3579,25 @@ module.exports = KeyEscapeUtils;
3614
3579
 
3615
3580
  'use strict';
3616
3581
 
3617
- var _prodInvariant = _dereq_(115);
3582
+ var _prodInvariant = _dereq_(116);
3618
3583
 
3619
3584
  var ReactPropTypesSecret = _dereq_(66);
3620
- var propTypesFactory = _dereq_(150);
3585
+ var propTypesFactory = _dereq_(151);
3621
3586
 
3622
- var React = _dereq_(123);
3587
+ var React = _dereq_(124);
3623
3588
  var PropTypes = propTypesFactory(React.isValidElement);
3624
3589
 
3625
- var invariant = _dereq_(140);
3626
- var warning = _dereq_(147);
3590
+ var invariant = _dereq_(141);
3591
+ var warning = _dereq_(148);
3627
3592
 
3628
3593
  var hasReadOnlyValue = {
3629
- 'button': true,
3630
- 'checkbox': true,
3631
- 'image': true,
3632
- 'hidden': true,
3633
- 'radio': true,
3634
- 'reset': true,
3635
- 'submit': true
3594
+ button: true,
3595
+ checkbox: true,
3596
+ image: true,
3597
+ hidden: true,
3598
+ radio: true,
3599
+ reset: true,
3600
+ submit: true
3636
3601
  };
3637
3602
 
3638
3603
  function _assertSingleLink(inputProps) {
@@ -3739,7 +3704,7 @@ var LinkedValueUtils = {
3739
3704
  };
3740
3705
 
3741
3706
  module.exports = LinkedValueUtils;
3742
- },{"115":115,"123":123,"140":140,"147":147,"150":150,"66":66}],24:[function(_dereq_,module,exports){
3707
+ },{"116":116,"124":124,"141":141,"148":148,"151":151,"66":66}],24:[function(_dereq_,module,exports){
3743
3708
  /**
3744
3709
  * Copyright 2013-present, Facebook, Inc.
3745
3710
  * All rights reserved.
@@ -3753,9 +3718,9 @@ module.exports = LinkedValueUtils;
3753
3718
 
3754
3719
  'use strict';
3755
3720
 
3756
- var _prodInvariant = _dereq_(115);
3721
+ var _prodInvariant = _dereq_(116);
3757
3722
 
3758
- var invariant = _dereq_(140);
3723
+ var invariant = _dereq_(141);
3759
3724
 
3760
3725
  /**
3761
3726
  * Static poolers. Several custom versions for each potential number of
@@ -3851,7 +3816,7 @@ var PooledClass = {
3851
3816
  };
3852
3817
 
3853
3818
  module.exports = PooledClass;
3854
- },{"115":115,"140":140}],25:[function(_dereq_,module,exports){
3819
+ },{"116":116,"141":141}],25:[function(_dereq_,module,exports){
3855
3820
  /**
3856
3821
  * Copyright 2013-present, Facebook, Inc.
3857
3822
  * All rights reserved.
@@ -3864,14 +3829,14 @@ module.exports = PooledClass;
3864
3829
 
3865
3830
  'use strict';
3866
3831
 
3867
- var _assign = _dereq_(148);
3832
+ var _assign = _dereq_(149);
3868
3833
 
3869
3834
  var EventPluginRegistry = _dereq_(17);
3870
3835
  var ReactEventEmitterMixin = _dereq_(51);
3871
3836
  var ViewportMetrics = _dereq_(94);
3872
3837
 
3873
3838
  var getVendorPrefixedEventName = _dereq_(110);
3874
- var isEventSupported = _dereq_(112);
3839
+ var isEventSupported = _dereq_(113);
3875
3840
 
3876
3841
  /**
3877
3842
  * Summary of `ReactBrowserEventEmitter` event handling:
@@ -4029,7 +3994,6 @@ function getListeningForDocument(mountAt) {
4029
3994
  * @internal
4030
3995
  */
4031
3996
  var ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {
4032
-
4033
3997
  /**
4034
3998
  * Injectable event backend
4035
3999
  */
@@ -4103,14 +4067,12 @@ var ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {
4103
4067
  ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topWheel', 'DOMMouseScroll', mountAt);
4104
4068
  }
4105
4069
  } else if (dependency === 'topScroll') {
4106
-
4107
4070
  if (isEventSupported('scroll', true)) {
4108
4071
  ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topScroll', 'scroll', mountAt);
4109
4072
  } else {
4110
4073
  ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topScroll', 'scroll', ReactBrowserEventEmitter.ReactEventListener.WINDOW_HANDLE);
4111
4074
  }
4112
4075
  } else if (dependency === 'topFocus' || dependency === 'topBlur') {
4113
-
4114
4076
  if (isEventSupported('focus', true)) {
4115
4077
  ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topFocus', 'focus', mountAt);
4116
4078
  ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topBlur', 'blur', mountAt);
@@ -4175,11 +4137,10 @@ var ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {
4175
4137
  isMonitoringScrollValue = true;
4176
4138
  }
4177
4139
  }
4178
-
4179
4140
  });
4180
4141
 
4181
4142
  module.exports = ReactBrowserEventEmitter;
4182
- },{"110":110,"112":112,"148":148,"17":17,"51":51,"94":94}],26:[function(_dereq_,module,exports){
4143
+ },{"110":110,"113":113,"149":149,"17":17,"51":51,"94":94}],26:[function(_dereq_,module,exports){
4183
4144
  (function (process){
4184
4145
  /**
4185
4146
  * Copyright 2014-present, Facebook, Inc.
@@ -4195,11 +4156,11 @@ module.exports = ReactBrowserEventEmitter;
4195
4156
 
4196
4157
  var ReactReconciler = _dereq_(68);
4197
4158
 
4198
- var instantiateReactComponent = _dereq_(111);
4159
+ var instantiateReactComponent = _dereq_(112);
4199
4160
  var KeyEscapeUtils = _dereq_(22);
4200
- var shouldUpdateReactComponent = _dereq_(118);
4201
- var traverseAllChildren = _dereq_(119);
4202
- var warning = _dereq_(147);
4161
+ var shouldUpdateReactComponent = _dereq_(119);
4162
+ var traverseAllChildren = _dereq_(120);
4163
+ var warning = _dereq_(148);
4203
4164
 
4204
4165
  var ReactComponentTreeHook;
4205
4166
 
@@ -4209,7 +4170,7 @@ if (typeof process !== 'undefined' && process.env && "development" === 'test') {
4209
4170
  // https://github.com/facebook/react/issues/7240
4210
4171
  // Remove the inline requires when we don't need them anymore:
4211
4172
  // https://github.com/facebook/react/pull/7178
4212
- ReactComponentTreeHook = _dereq_(121);
4173
+ ReactComponentTreeHook = _dereq_(122);
4213
4174
  }
4214
4175
 
4215
4176
  function instantiateChild(childInstances, child, name, selfDebugID) {
@@ -4217,7 +4178,7 @@ function instantiateChild(childInstances, child, name, selfDebugID) {
4217
4178
  var keyUnique = childInstances[name] === undefined;
4218
4179
  if ("development" !== 'production') {
4219
4180
  if (!ReactComponentTreeHook) {
4220
- ReactComponentTreeHook = _dereq_(121);
4181
+ ReactComponentTreeHook = _dereq_(122);
4221
4182
  }
4222
4183
  if (!keyUnique) {
4223
4184
  "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;
@@ -4242,8 +4203,8 @@ var ReactChildReconciler = {
4242
4203
  * @return {?object} A set of child instances.
4243
4204
  * @internal
4244
4205
  */
4245
- instantiateChildren: function (nestedChildNodes, transaction, context, selfDebugID // 0 in production and for roots
4246
- ) {
4206
+ instantiateChildren: function (nestedChildNodes, transaction, context, selfDebugID) // 0 in production and for roots
4207
+ {
4247
4208
  if (nestedChildNodes == null) {
4248
4209
  return null;
4249
4210
  }
@@ -4269,8 +4230,8 @@ var ReactChildReconciler = {
4269
4230
  * @return {?object} A new set of child instances.
4270
4231
  * @internal
4271
4232
  */
4272
- updateChildren: function (prevChildren, nextChildren, mountImages, removedNodes, transaction, hostParent, hostContainerInfo, context, selfDebugID // 0 in production and for roots
4273
- ) {
4233
+ updateChildren: function (prevChildren, nextChildren, mountImages, removedNodes, transaction, hostParent, hostContainerInfo, context, selfDebugID) // 0 in production and for roots
4234
+ {
4274
4235
  // We currently don't have a way to track moves here but if we use iterators
4275
4236
  // instead of for..in we can zip the iterators and check if an item has
4276
4237
  // moved.
@@ -4330,12 +4291,11 @@ var ReactChildReconciler = {
4330
4291
  }
4331
4292
  }
4332
4293
  }
4333
-
4334
4294
  };
4335
4295
 
4336
4296
  module.exports = ReactChildReconciler;
4337
4297
  }).call(this,undefined)
4338
- },{"111":111,"118":118,"119":119,"121":121,"147":147,"22":22,"68":68}],27:[function(_dereq_,module,exports){
4298
+ },{"112":112,"119":119,"120":120,"122":122,"148":148,"22":22,"68":68}],27:[function(_dereq_,module,exports){
4339
4299
  /**
4340
4300
  * Copyright 2013-present, Facebook, Inc.
4341
4301
  * All rights reserved.
@@ -4357,11 +4317,9 @@ var ReactDOMIDOperations = _dereq_(35);
4357
4317
  * need for this injection.
4358
4318
  */
4359
4319
  var ReactComponentBrowserEnvironment = {
4360
-
4361
4320
  processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates,
4362
4321
 
4363
4322
  replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup
4364
-
4365
4323
  };
4366
4324
 
4367
4325
  module.exports = ReactComponentBrowserEnvironment;
@@ -4379,14 +4337,13 @@ module.exports = ReactComponentBrowserEnvironment;
4379
4337
 
4380
4338
  'use strict';
4381
4339
 
4382
- var _prodInvariant = _dereq_(115);
4340
+ var _prodInvariant = _dereq_(116);
4383
4341
 
4384
- var invariant = _dereq_(140);
4342
+ var invariant = _dereq_(141);
4385
4343
 
4386
4344
  var injected = false;
4387
4345
 
4388
4346
  var ReactComponentEnvironment = {
4389
-
4390
4347
  /**
4391
4348
  * Optionally injectable hook for swapping out mount images in the middle of
4392
4349
  * the tree.
@@ -4407,11 +4364,10 @@ var ReactComponentEnvironment = {
4407
4364
  injected = true;
4408
4365
  }
4409
4366
  }
4410
-
4411
4367
  };
4412
4368
 
4413
4369
  module.exports = ReactComponentEnvironment;
4414
- },{"115":115,"140":140}],29:[function(_dereq_,module,exports){
4370
+ },{"116":116,"141":141}],29:[function(_dereq_,module,exports){
4415
4371
  /**
4416
4372
  * Copyright 2013-present, Facebook, Inc.
4417
4373
  * All rights reserved.
@@ -4424,12 +4380,12 @@ module.exports = ReactComponentEnvironment;
4424
4380
 
4425
4381
  'use strict';
4426
4382
 
4427
- var _prodInvariant = _dereq_(115),
4428
- _assign = _dereq_(148);
4383
+ var _prodInvariant = _dereq_(116),
4384
+ _assign = _dereq_(149);
4429
4385
 
4430
- var React = _dereq_(123);
4386
+ var React = _dereq_(124);
4431
4387
  var ReactComponentEnvironment = _dereq_(28);
4432
- var ReactCurrentOwner = _dereq_(122);
4388
+ var ReactCurrentOwner = _dereq_(123);
4433
4389
  var ReactErrorUtils = _dereq_(50);
4434
4390
  var ReactInstanceMap = _dereq_(58);
4435
4391
  var ReactInstrumentation = _dereq_(59);
@@ -4440,11 +4396,11 @@ if ("development" !== 'production') {
4440
4396
  var checkReactTypeSpec = _dereq_(97);
4441
4397
  }
4442
4398
 
4443
- var emptyObject = _dereq_(133);
4444
- var invariant = _dereq_(140);
4445
- var shallowEqual = _dereq_(146);
4446
- var shouldUpdateReactComponent = _dereq_(118);
4447
- var warning = _dereq_(147);
4399
+ var emptyObject = _dereq_(134);
4400
+ var invariant = _dereq_(141);
4401
+ var shallowEqual = _dereq_(147);
4402
+ var shouldUpdateReactComponent = _dereq_(119);
4403
+ var warning = _dereq_(148);
4448
4404
 
4449
4405
  var CompositeTypes = {
4450
4406
  ImpureClass: 0,
@@ -4531,7 +4487,6 @@ var nextMountID = 1;
4531
4487
  * @lends {ReactCompositeComponent.prototype}
4532
4488
  */
4533
4489
  var ReactCompositeComponent = {
4534
-
4535
4490
  /**
4536
4491
  * Base constructor for all composite component.
4537
4492
  *
@@ -4627,7 +4582,7 @@ var ReactCompositeComponent = {
4627
4582
  var propsMutated = inst.props !== publicProps;
4628
4583
  var componentName = Component.displayName || Component.name || 'Component';
4629
4584
 
4630
- "development" !== 'production' ? warning(inst.props === undefined || !propsMutated, '%s(...): When calling super() in `%s`, make sure to pass ' + 'up the same props that your component\'s constructor was passed.', componentName, componentName) : void 0;
4585
+ "development" !== 'production' ? warning(inst.props === undefined || !propsMutated, '%s(...): When calling super() in `%s`, make sure to pass ' + "up the same props that your component's constructor was passed.", componentName, componentName) : void 0;
4631
4586
  }
4632
4587
 
4633
4588
  // These should be set up in the constructor, but as a convenience for
@@ -5309,11 +5264,10 @@ var ReactCompositeComponent = {
5309
5264
 
5310
5265
  // Stub
5311
5266
  _instantiateReactComponent: null
5312
-
5313
5267
  };
5314
5268
 
5315
5269
  module.exports = ReactCompositeComponent;
5316
- },{"115":115,"118":118,"122":122,"123":123,"133":133,"140":140,"146":146,"147":147,"148":148,"28":28,"50":50,"58":58,"59":59,"63":63,"68":68,"97":97}],30:[function(_dereq_,module,exports){
5270
+ },{"116":116,"119":119,"123":123,"124":124,"134":134,"141":141,"147":147,"148":148,"149":149,"28":28,"50":50,"58":58,"59":59,"63":63,"68":68,"97":97}],30:[function(_dereq_,module,exports){
5317
5271
  /**
5318
5272
  * Copyright 2013-present, Facebook, Inc.
5319
5273
  * All rights reserved.
@@ -5328,8 +5282,8 @@ module.exports = ReactCompositeComponent;
5328
5282
 
5329
5283
  'use strict';
5330
5284
 
5331
- var _prodInvariant = _dereq_(115),
5332
- _assign = _dereq_(148);
5285
+ var _prodInvariant = _dereq_(116),
5286
+ _assign = _dereq_(149);
5333
5287
 
5334
5288
  var AutoFocusUtils = _dereq_(2);
5335
5289
  var CSSPropertyOperations = _dereq_(5);
@@ -5350,13 +5304,14 @@ var ReactInstrumentation = _dereq_(59);
5350
5304
  var ReactMultiChild = _dereq_(62);
5351
5305
  var ReactServerRenderingTransaction = _dereq_(72);
5352
5306
 
5353
- var emptyFunction = _dereq_(132);
5307
+ var emptyFunction = _dereq_(133);
5354
5308
  var escapeTextContentForBrowser = _dereq_(100);
5355
- var invariant = _dereq_(140);
5356
- var isEventSupported = _dereq_(112);
5357
- var shallowEqual = _dereq_(146);
5358
- var validateDOMNesting = _dereq_(120);
5359
- var warning = _dereq_(147);
5309
+ var invariant = _dereq_(141);
5310
+ var isEventSupported = _dereq_(113);
5311
+ var shallowEqual = _dereq_(147);
5312
+ var inputValueTracking = _dereq_(111);
5313
+ var validateDOMNesting = _dereq_(121);
5314
+ var warning = _dereq_(148);
5360
5315
 
5361
5316
  var Flags = ReactDOMComponentFlags;
5362
5317
  var deleteListener = EventPluginHub.deleteListener;
@@ -5365,7 +5320,7 @@ var listenTo = ReactBrowserEventEmitter.listenTo;
5365
5320
  var registrationNameModules = EventPluginRegistry.registrationNameModules;
5366
5321
 
5367
5322
  // For quickly matching children type, to test if can be treated as content.
5368
- var CONTENT_TYPES = { 'string': true, 'number': true };
5323
+ var CONTENT_TYPES = { string: true, number: true };
5369
5324
 
5370
5325
  var STYLE = 'style';
5371
5326
  var HTML = '__html';
@@ -5474,7 +5429,7 @@ function enqueuePutListener(inst, registrationName, listener, transaction) {
5474
5429
  if ("development" !== 'production') {
5475
5430
  // IE8 has no API for event capturing and the `onScroll` event doesn't
5476
5431
  // bubble.
5477
- "development" !== 'production' ? warning(registrationName !== 'onScroll' || isEventSupported('scroll', true), 'This browser doesn\'t support the `onScroll` event') : void 0;
5432
+ "development" !== 'production' ? warning(registrationName !== 'onScroll' || isEventSupported('scroll', true), "This browser doesn't support the `onScroll` event") : void 0;
5478
5433
  }
5479
5434
  var containerInfo = inst._hostContainerInfo;
5480
5435
  var isDocumentFragment = containerInfo._node && containerInfo._node.nodeType === DOC_FRAGMENT_TYPE;
@@ -5564,6 +5519,10 @@ var mediaEvents = {
5564
5519
  topWaiting: 'waiting'
5565
5520
  };
5566
5521
 
5522
+ function trackInputValue() {
5523
+ inputValueTracking.track(this);
5524
+ }
5525
+
5567
5526
  function trapBubbledEventsLocal() {
5568
5527
  var inst = this;
5569
5528
  // If a component renders to null or if another component fatals and causes
@@ -5579,7 +5538,6 @@ function trapBubbledEventsLocal() {
5579
5538
  break;
5580
5539
  case 'video':
5581
5540
  case 'audio':
5582
-
5583
5541
  inst._wrapperState.listeners = [];
5584
5542
  // Create listener for each media event
5585
5543
  for (var event in mediaEvents) {
@@ -5613,34 +5571,35 @@ function postUpdateSelectWrapper() {
5613
5571
  // those special-case tags.
5614
5572
 
5615
5573
  var omittedCloseTags = {
5616
- 'area': true,
5617
- 'base': true,
5618
- 'br': true,
5619
- 'col': true,
5620
- 'embed': true,
5621
- 'hr': true,
5622
- 'img': true,
5623
- 'input': true,
5624
- 'keygen': true,
5625
- 'link': true,
5626
- 'meta': true,
5627
- 'param': true,
5628
- 'source': true,
5629
- 'track': true,
5630
- 'wbr': true
5574
+ area: true,
5575
+ base: true,
5576
+ br: true,
5577
+ col: true,
5578
+ embed: true,
5579
+ hr: true,
5580
+ img: true,
5581
+ input: true,
5582
+ keygen: true,
5583
+ link: true,
5584
+ meta: true,
5585
+ param: true,
5586
+ source: true,
5587
+ track: true,
5588
+ wbr: true
5589
+ // NOTE: menuitem's close tag should be omitted, but that causes problems.
5631
5590
  };
5632
5591
 
5633
5592
  var newlineEatingTags = {
5634
- 'listing': true,
5635
- 'pre': true,
5636
- 'textarea': true
5593
+ listing: true,
5594
+ pre: true,
5595
+ textarea: true
5637
5596
  };
5638
5597
 
5639
5598
  // For HTML, certain tags cannot have children. This has the same purpose as
5640
5599
  // `omittedCloseTags` except that `menuitem` should still have its closing tag.
5641
5600
 
5642
5601
  var voidElementTags = _assign({
5643
- 'menuitem': true
5602
+ menuitem: true
5644
5603
  }, omittedCloseTags);
5645
5604
 
5646
5605
  // We accept any tag to be rendered but since this gets injected into arbitrary
@@ -5704,7 +5663,6 @@ function ReactDOMComponent(element) {
5704
5663
  ReactDOMComponent.displayName = 'ReactDOMComponent';
5705
5664
 
5706
5665
  ReactDOMComponent.Mixin = {
5707
-
5708
5666
  /**
5709
5667
  * Generates root tag markup then recurses. This method has side effects and
5710
5668
  * is not idempotent.
@@ -5741,6 +5699,7 @@ ReactDOMComponent.Mixin = {
5741
5699
  case 'input':
5742
5700
  ReactDOMInput.mountWrapper(this, props, hostParent);
5743
5701
  props = ReactDOMInput.getHostProps(this, props);
5702
+ transaction.getReactMountReady().enqueue(trackInputValue, this);
5744
5703
  transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);
5745
5704
  break;
5746
5705
  case 'option':
@@ -5755,6 +5714,7 @@ ReactDOMComponent.Mixin = {
5755
5714
  case 'textarea':
5756
5715
  ReactDOMTextarea.mountWrapper(this, props, hostParent);
5757
5716
  props = ReactDOMTextarea.getHostProps(this, props);
5717
+ transaction.getReactMountReady().enqueue(trackInputValue, this);
5758
5718
  transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);
5759
5719
  break;
5760
5720
  }
@@ -6280,6 +6240,10 @@ ReactDOMComponent.Mixin = {
6280
6240
  }
6281
6241
  }
6282
6242
  break;
6243
+ case 'input':
6244
+ case 'textarea':
6245
+ inputValueTracking.stopTracking(this);
6246
+ break;
6283
6247
  case 'html':
6284
6248
  case 'head':
6285
6249
  case 'body':
@@ -6308,13 +6272,12 @@ ReactDOMComponent.Mixin = {
6308
6272
  getPublicInstance: function () {
6309
6273
  return getNode(this);
6310
6274
  }
6311
-
6312
6275
  };
6313
6276
 
6314
6277
  _assign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mixin);
6315
6278
 
6316
6279
  module.exports = ReactDOMComponent;
6317
- },{"10":10,"100":100,"11":11,"112":112,"115":115,"12":12,"120":120,"132":132,"140":140,"146":146,"147":147,"148":148,"16":16,"17":17,"2":2,"25":25,"31":31,"32":32,"36":36,"37":37,"38":38,"43":43,"5":5,"59":59,"62":62,"72":72,"9":9}],31:[function(_dereq_,module,exports){
6280
+ },{"10":10,"100":100,"11":11,"111":111,"113":113,"116":116,"12":12,"121":121,"133":133,"141":141,"147":147,"148":148,"149":149,"16":16,"17":17,"2":2,"25":25,"31":31,"32":32,"36":36,"37":37,"38":38,"43":43,"5":5,"59":59,"62":62,"72":72,"9":9}],31:[function(_dereq_,module,exports){
6318
6281
  /**
6319
6282
  * Copyright 2015-present, Facebook, Inc.
6320
6283
  * All rights reserved.
@@ -6345,12 +6308,12 @@ module.exports = ReactDOMComponentFlags;
6345
6308
 
6346
6309
  'use strict';
6347
6310
 
6348
- var _prodInvariant = _dereq_(115);
6311
+ var _prodInvariant = _dereq_(116);
6349
6312
 
6350
6313
  var DOMProperty = _dereq_(11);
6351
6314
  var ReactDOMComponentFlags = _dereq_(31);
6352
6315
 
6353
- var invariant = _dereq_(140);
6316
+ var invariant = _dereq_(141);
6354
6317
 
6355
6318
  var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;
6356
6319
  var Flags = ReactDOMComponentFlags;
@@ -6527,7 +6490,7 @@ var ReactDOMComponentTree = {
6527
6490
  };
6528
6491
 
6529
6492
  module.exports = ReactDOMComponentTree;
6530
- },{"11":11,"115":115,"140":140,"31":31}],33:[function(_dereq_,module,exports){
6493
+ },{"11":11,"116":116,"141":141,"31":31}],33:[function(_dereq_,module,exports){
6531
6494
  /**
6532
6495
  * Copyright 2013-present, Facebook, Inc.
6533
6496
  * All rights reserved.
@@ -6540,7 +6503,7 @@ module.exports = ReactDOMComponentTree;
6540
6503
 
6541
6504
  'use strict';
6542
6505
 
6543
- var validateDOMNesting = _dereq_(120);
6506
+ var validateDOMNesting = _dereq_(121);
6544
6507
 
6545
6508
  var DOC_NODE_TYPE = 9;
6546
6509
 
@@ -6560,7 +6523,7 @@ function ReactDOMContainerInfo(topLevelWrapper, node) {
6560
6523
  }
6561
6524
 
6562
6525
  module.exports = ReactDOMContainerInfo;
6563
- },{"120":120}],34:[function(_dereq_,module,exports){
6526
+ },{"121":121}],34:[function(_dereq_,module,exports){
6564
6527
  /**
6565
6528
  * Copyright 2014-present, Facebook, Inc.
6566
6529
  * All rights reserved.
@@ -6573,7 +6536,7 @@ module.exports = ReactDOMContainerInfo;
6573
6536
 
6574
6537
  'use strict';
6575
6538
 
6576
- var _assign = _dereq_(148);
6539
+ var _assign = _dereq_(149);
6577
6540
 
6578
6541
  var DOMLazyTree = _dereq_(9);
6579
6542
  var ReactDOMComponentTree = _dereq_(32);
@@ -6620,7 +6583,7 @@ _assign(ReactDOMEmptyComponent.prototype, {
6620
6583
  });
6621
6584
 
6622
6585
  module.exports = ReactDOMEmptyComponent;
6623
- },{"148":148,"32":32,"9":9}],35:[function(_dereq_,module,exports){
6586
+ },{"149":149,"32":32,"9":9}],35:[function(_dereq_,module,exports){
6624
6587
  /**
6625
6588
  * Copyright 2013-present, Facebook, Inc.
6626
6589
  * All rights reserved.
@@ -6640,7 +6603,6 @@ var ReactDOMComponentTree = _dereq_(32);
6640
6603
  * Operations used to process updates to DOM nodes.
6641
6604
  */
6642
6605
  var ReactDOMIDOperations = {
6643
-
6644
6606
  /**
6645
6607
  * Updates a component's children by processing a series of updates.
6646
6608
  *
@@ -6667,16 +6629,16 @@ module.exports = ReactDOMIDOperations;
6667
6629
 
6668
6630
  'use strict';
6669
6631
 
6670
- var _prodInvariant = _dereq_(115),
6671
- _assign = _dereq_(148);
6632
+ var _prodInvariant = _dereq_(116),
6633
+ _assign = _dereq_(149);
6672
6634
 
6673
6635
  var DOMPropertyOperations = _dereq_(12);
6674
6636
  var LinkedValueUtils = _dereq_(23);
6675
6637
  var ReactDOMComponentTree = _dereq_(32);
6676
6638
  var ReactUpdates = _dereq_(75);
6677
6639
 
6678
- var invariant = _dereq_(140);
6679
- var warning = _dereq_(147);
6640
+ var invariant = _dereq_(141);
6641
+ var warning = _dereq_(148);
6680
6642
 
6681
6643
  var didWarnValueLink = false;
6682
6644
  var didWarnCheckedLink = false;
@@ -6807,14 +6769,16 @@ var ReactDOMInput = {
6807
6769
  // Simulate `input.valueAsNumber`. IE9 does not support it
6808
6770
  var valueAsNumber = parseFloat(node.value, 10) || 0;
6809
6771
 
6772
+ if (
6773
+ // eslint-disable-next-line
6774
+ value != valueAsNumber ||
6810
6775
  // eslint-disable-next-line
6811
- if (value != valueAsNumber) {
6776
+ value == valueAsNumber && node.value != value) {
6812
6777
  // Cast `value` to a string to ensure the value is set correctly. While
6813
6778
  // browsers typically do this as necessary, jsdom doesn't.
6814
6779
  node.value = '' + value;
6815
6780
  }
6816
- // eslint-disable-next-line
6817
- } else if (value != node.value) {
6781
+ } else if (node.value !== '' + value) {
6818
6782
  // Cast `value` to a string to ensure the value is set correctly. While
6819
6783
  // browsers typically do this as necessary, jsdom doesn't.
6820
6784
  node.value = '' + value;
@@ -6939,7 +6903,7 @@ function _handleChange(event) {
6939
6903
  }
6940
6904
 
6941
6905
  module.exports = ReactDOMInput;
6942
- },{"115":115,"12":12,"140":140,"147":147,"148":148,"23":23,"32":32,"75":75}],37:[function(_dereq_,module,exports){
6906
+ },{"116":116,"12":12,"141":141,"148":148,"149":149,"23":23,"32":32,"75":75}],37:[function(_dereq_,module,exports){
6943
6907
  /**
6944
6908
  * Copyright 2013-present, Facebook, Inc.
6945
6909
  * All rights reserved.
@@ -6952,13 +6916,13 @@ module.exports = ReactDOMInput;
6952
6916
 
6953
6917
  'use strict';
6954
6918
 
6955
- var _assign = _dereq_(148);
6919
+ var _assign = _dereq_(149);
6956
6920
 
6957
- var React = _dereq_(123);
6921
+ var React = _dereq_(124);
6958
6922
  var ReactDOMComponentTree = _dereq_(32);
6959
6923
  var ReactDOMSelect = _dereq_(38);
6960
6924
 
6961
- var warning = _dereq_(147);
6925
+ var warning = _dereq_(148);
6962
6926
  var didWarnInvalidOptionChildren = false;
6963
6927
 
6964
6928
  function flattenChildren(children) {
@@ -7058,11 +7022,10 @@ var ReactDOMOption = {
7058
7022
 
7059
7023
  return hostProps;
7060
7024
  }
7061
-
7062
7025
  };
7063
7026
 
7064
7027
  module.exports = ReactDOMOption;
7065
- },{"123":123,"147":147,"148":148,"32":32,"38":38}],38:[function(_dereq_,module,exports){
7028
+ },{"124":124,"148":148,"149":149,"32":32,"38":38}],38:[function(_dereq_,module,exports){
7066
7029
  /**
7067
7030
  * Copyright 2013-present, Facebook, Inc.
7068
7031
  * All rights reserved.
@@ -7075,13 +7038,13 @@ module.exports = ReactDOMOption;
7075
7038
 
7076
7039
  'use strict';
7077
7040
 
7078
- var _assign = _dereq_(148);
7041
+ var _assign = _dereq_(149);
7079
7042
 
7080
7043
  var LinkedValueUtils = _dereq_(23);
7081
7044
  var ReactDOMComponentTree = _dereq_(32);
7082
7045
  var ReactUpdates = _dereq_(75);
7083
7046
 
7084
- var warning = _dereq_(147);
7047
+ var warning = _dereq_(148);
7085
7048
 
7086
7049
  var didWarnValueLink = false;
7087
7050
  var didWarnValueDefaultValue = false;
@@ -7262,7 +7225,7 @@ function _handleChange(event) {
7262
7225
  }
7263
7226
 
7264
7227
  module.exports = ReactDOMSelect;
7265
- },{"147":147,"148":148,"23":23,"32":32,"75":75}],39:[function(_dereq_,module,exports){
7228
+ },{"148":148,"149":149,"23":23,"32":32,"75":75}],39:[function(_dereq_,module,exports){
7266
7229
  /**
7267
7230
  * Copyright 2013-present, Facebook, Inc.
7268
7231
  * All rights reserved.
@@ -7275,7 +7238,7 @@ module.exports = ReactDOMSelect;
7275
7238
 
7276
7239
  'use strict';
7277
7240
 
7278
- var ExecutionEnvironment = _dereq_(126);
7241
+ var ExecutionEnvironment = _dereq_(127);
7279
7242
 
7280
7243
  var getNodeForCharacterOffset = _dereq_(108);
7281
7244
  var getTextContentAccessor = _dereq_(109);
@@ -7474,7 +7437,7 @@ var ReactDOMSelection = {
7474
7437
  };
7475
7438
 
7476
7439
  module.exports = ReactDOMSelection;
7477
- },{"108":108,"109":109,"126":126}],40:[function(_dereq_,module,exports){
7440
+ },{"108":108,"109":109,"127":127}],40:[function(_dereq_,module,exports){
7478
7441
  /**
7479
7442
  * Copyright 2013-present, Facebook, Inc.
7480
7443
  * All rights reserved.
@@ -7529,16 +7492,16 @@ module.exports = ReactDOMServer;
7529
7492
 
7530
7493
  'use strict';
7531
7494
 
7532
- var _prodInvariant = _dereq_(115),
7533
- _assign = _dereq_(148);
7495
+ var _prodInvariant = _dereq_(116),
7496
+ _assign = _dereq_(149);
7534
7497
 
7535
7498
  var DOMChildrenOperations = _dereq_(8);
7536
7499
  var DOMLazyTree = _dereq_(9);
7537
7500
  var ReactDOMComponentTree = _dereq_(32);
7538
7501
 
7539
7502
  var escapeTextContentForBrowser = _dereq_(100);
7540
- var invariant = _dereq_(140);
7541
- var validateDOMNesting = _dereq_(120);
7503
+ var invariant = _dereq_(141);
7504
+ var validateDOMNesting = _dereq_(121);
7542
7505
 
7543
7506
  /**
7544
7507
  * Text nodes violate a couple assumptions that React makes about components:
@@ -7571,7 +7534,6 @@ var ReactDOMTextComponent = function (text) {
7571
7534
  };
7572
7535
 
7573
7536
  _assign(ReactDOMTextComponent.prototype, {
7574
-
7575
7537
  /**
7576
7538
  * Creates the markup for this text node. This node is not intended to have
7577
7539
  * any features besides containing text content.
@@ -7676,11 +7638,10 @@ _assign(ReactDOMTextComponent.prototype, {
7676
7638
  this._commentNodes = null;
7677
7639
  ReactDOMComponentTree.uncacheNode(this);
7678
7640
  }
7679
-
7680
7641
  });
7681
7642
 
7682
7643
  module.exports = ReactDOMTextComponent;
7683
- },{"100":100,"115":115,"120":120,"140":140,"148":148,"32":32,"8":8,"9":9}],43:[function(_dereq_,module,exports){
7644
+ },{"100":100,"116":116,"121":121,"141":141,"149":149,"32":32,"8":8,"9":9}],43:[function(_dereq_,module,exports){
7684
7645
  /**
7685
7646
  * Copyright 2013-present, Facebook, Inc.
7686
7647
  * All rights reserved.
@@ -7693,15 +7654,15 @@ module.exports = ReactDOMTextComponent;
7693
7654
 
7694
7655
  'use strict';
7695
7656
 
7696
- var _prodInvariant = _dereq_(115),
7697
- _assign = _dereq_(148);
7657
+ var _prodInvariant = _dereq_(116),
7658
+ _assign = _dereq_(149);
7698
7659
 
7699
7660
  var LinkedValueUtils = _dereq_(23);
7700
7661
  var ReactDOMComponentTree = _dereq_(32);
7701
7662
  var ReactUpdates = _dereq_(75);
7702
7663
 
7703
- var invariant = _dereq_(140);
7704
- var warning = _dereq_(147);
7664
+ var invariant = _dereq_(141);
7665
+ var warning = _dereq_(148);
7705
7666
 
7706
7667
  var didWarnValueLink = false;
7707
7668
  var didWarnValDefaultVal = false;
@@ -7840,7 +7801,7 @@ function _handleChange(event) {
7840
7801
  }
7841
7802
 
7842
7803
  module.exports = ReactDOMTextarea;
7843
- },{"115":115,"140":140,"147":147,"148":148,"23":23,"32":32,"75":75}],44:[function(_dereq_,module,exports){
7804
+ },{"116":116,"141":141,"148":148,"149":149,"23":23,"32":32,"75":75}],44:[function(_dereq_,module,exports){
7844
7805
  /**
7845
7806
  * Copyright 2015-present, Facebook, Inc.
7846
7807
  * All rights reserved.
@@ -7853,9 +7814,9 @@ module.exports = ReactDOMTextarea;
7853
7814
 
7854
7815
  'use strict';
7855
7816
 
7856
- var _prodInvariant = _dereq_(115);
7817
+ var _prodInvariant = _dereq_(116);
7857
7818
 
7858
- var invariant = _dereq_(140);
7819
+ var invariant = _dereq_(141);
7859
7820
 
7860
7821
  /**
7861
7822
  * Return the lowest common ancestor of A and B, or null if they are in
@@ -7976,7 +7937,7 @@ module.exports = {
7976
7937
  traverseTwoPhase: traverseTwoPhase,
7977
7938
  traverseEnterLeave: traverseEnterLeave
7978
7939
  };
7979
- },{"115":115,"140":140}],45:[function(_dereq_,module,exports){
7940
+ },{"116":116,"141":141}],45:[function(_dereq_,module,exports){
7980
7941
  /**
7981
7942
  * Copyright 2016-present, Facebook, Inc.
7982
7943
  * All rights reserved.
@@ -7992,11 +7953,11 @@ module.exports = {
7992
7953
 
7993
7954
  var ReactInvalidSetStateWarningHook = _dereq_(60);
7994
7955
  var ReactHostOperationHistoryHook = _dereq_(55);
7995
- var ReactComponentTreeHook = _dereq_(121);
7996
- var ExecutionEnvironment = _dereq_(126);
7956
+ var ReactComponentTreeHook = _dereq_(122);
7957
+ var ExecutionEnvironment = _dereq_(127);
7997
7958
 
7998
- var performanceNow = _dereq_(145);
7999
- var warning = _dereq_(147);
7959
+ var performanceNow = _dereq_(146);
7960
+ var warning = _dereq_(148);
8000
7961
 
8001
7962
  var hooks = [];
8002
7963
  var didHookThrowForEvent = {};
@@ -8205,7 +8166,9 @@ function markEnd(debugID, markType) {
8205
8166
  }
8206
8167
 
8207
8168
  performance.clearMarks(markName);
8208
- performance.clearMeasures(measurementName);
8169
+ if (measurementName) {
8170
+ performance.clearMeasures(measurementName);
8171
+ }
8209
8172
  }
8210
8173
 
8211
8174
  var ReactDebugTool = {
@@ -8335,7 +8298,7 @@ if (/[?&]react_perf\b/.test(url)) {
8335
8298
  }
8336
8299
 
8337
8300
  module.exports = ReactDebugTool;
8338
- },{"121":121,"126":126,"145":145,"147":147,"55":55,"60":60}],46:[function(_dereq_,module,exports){
8301
+ },{"122":122,"127":127,"146":146,"148":148,"55":55,"60":60}],46:[function(_dereq_,module,exports){
8339
8302
  /**
8340
8303
  * Copyright 2013-present, Facebook, Inc.
8341
8304
  * All rights reserved.
@@ -8348,12 +8311,12 @@ module.exports = ReactDebugTool;
8348
8311
 
8349
8312
  'use strict';
8350
8313
 
8351
- var _assign = _dereq_(148);
8314
+ var _assign = _dereq_(149);
8352
8315
 
8353
8316
  var ReactUpdates = _dereq_(75);
8354
8317
  var Transaction = _dereq_(93);
8355
8318
 
8356
- var emptyFunction = _dereq_(132);
8319
+ var emptyFunction = _dereq_(133);
8357
8320
 
8358
8321
  var RESET_BATCHED_UPDATES = {
8359
8322
  initialize: emptyFunction,
@@ -8403,7 +8366,7 @@ var ReactDefaultBatchingStrategy = {
8403
8366
  };
8404
8367
 
8405
8368
  module.exports = ReactDefaultBatchingStrategy;
8406
- },{"132":132,"148":148,"75":75,"93":93}],47:[function(_dereq_,module,exports){
8369
+ },{"133":133,"149":149,"75":75,"93":93}],47:[function(_dereq_,module,exports){
8407
8370
  /**
8408
8371
  * Copyright 2013-present, Facebook, Inc.
8409
8372
  * All rights reserved.
@@ -8636,7 +8599,6 @@ function runEventQueueInBatch(events) {
8636
8599
  }
8637
8600
 
8638
8601
  var ReactEventEmitterMixin = {
8639
-
8640
8602
  /**
8641
8603
  * Streams a fired top-level event to `EventPluginHub` where plugins have the
8642
8604
  * opportunity to create `ReactEvent`s to be dispatched.
@@ -8661,16 +8623,16 @@ module.exports = ReactEventEmitterMixin;
8661
8623
 
8662
8624
  'use strict';
8663
8625
 
8664
- var _assign = _dereq_(148);
8626
+ var _assign = _dereq_(149);
8665
8627
 
8666
- var EventListener = _dereq_(125);
8667
- var ExecutionEnvironment = _dereq_(126);
8628
+ var EventListener = _dereq_(126);
8629
+ var ExecutionEnvironment = _dereq_(127);
8668
8630
  var PooledClass = _dereq_(24);
8669
8631
  var ReactDOMComponentTree = _dereq_(32);
8670
8632
  var ReactUpdates = _dereq_(75);
8671
8633
 
8672
8634
  var getEventTarget = _dereq_(106);
8673
- var getUnboundedScrollPosition = _dereq_(137);
8635
+ var getUnboundedScrollPosition = _dereq_(138);
8674
8636
 
8675
8637
  /**
8676
8638
  * Find the deepest React component completely containing the root of the
@@ -8803,7 +8765,7 @@ var ReactEventListener = {
8803
8765
  };
8804
8766
 
8805
8767
  module.exports = ReactEventListener;
8806
- },{"106":106,"125":125,"126":126,"137":137,"148":148,"24":24,"32":32,"75":75}],53:[function(_dereq_,module,exports){
8768
+ },{"106":106,"126":126,"127":127,"138":138,"149":149,"24":24,"32":32,"75":75}],53:[function(_dereq_,module,exports){
8807
8769
  /**
8808
8770
  * Copyright 2013-present, Facebook, Inc.
8809
8771
  * All rights reserved.
@@ -8838,9 +8800,9 @@ module.exports = ReactFeatureFlags;
8838
8800
 
8839
8801
  'use strict';
8840
8802
 
8841
- var _prodInvariant = _dereq_(115);
8803
+ var _prodInvariant = _dereq_(116);
8842
8804
 
8843
- var invariant = _dereq_(140);
8805
+ var invariant = _dereq_(141);
8844
8806
 
8845
8807
  var genericComponentClass = null;
8846
8808
  var textComponentClass = null;
@@ -8893,7 +8855,7 @@ var ReactHostComponent = {
8893
8855
  };
8894
8856
 
8895
8857
  module.exports = ReactHostComponent;
8896
- },{"115":115,"140":140}],55:[function(_dereq_,module,exports){
8858
+ },{"116":116,"141":141}],55:[function(_dereq_,module,exports){
8897
8859
  /**
8898
8860
  * Copyright 2016-present, Facebook, Inc.
8899
8861
  * All rights reserved.
@@ -8976,9 +8938,9 @@ module.exports = ReactInjection;
8976
8938
 
8977
8939
  var ReactDOMSelection = _dereq_(39);
8978
8940
 
8979
- var containsNode = _dereq_(129);
8980
- var focusNode = _dereq_(134);
8981
- var getActiveElement = _dereq_(135);
8941
+ var containsNode = _dereq_(130);
8942
+ var focusNode = _dereq_(135);
8943
+ var getActiveElement = _dereq_(136);
8982
8944
 
8983
8945
  function isInDocument(node) {
8984
8946
  return containsNode(document.documentElement, node);
@@ -8991,7 +8953,6 @@ function isInDocument(node) {
8991
8953
  * Input selection module for React.
8992
8954
  */
8993
8955
  var ReactInputSelection = {
8994
-
8995
8956
  hasSelectionCapabilities: function (elem) {
8996
8957
  var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
8997
8958
  return nodeName && (nodeName === 'input' && elem.type === 'text' || nodeName === 'textarea' || elem.contentEditable === 'true');
@@ -9085,7 +9046,7 @@ var ReactInputSelection = {
9085
9046
  };
9086
9047
 
9087
9048
  module.exports = ReactInputSelection;
9088
- },{"129":129,"134":134,"135":135,"39":39}],58:[function(_dereq_,module,exports){
9049
+ },{"130":130,"135":135,"136":136,"39":39}],58:[function(_dereq_,module,exports){
9089
9050
  /**
9090
9051
  * Copyright 2013-present, Facebook, Inc.
9091
9052
  * All rights reserved.
@@ -9108,7 +9069,6 @@ module.exports = ReactInputSelection;
9108
9069
  // TODO: Replace this with ES6: var ReactInstanceMap = new Map();
9109
9070
 
9110
9071
  var ReactInstanceMap = {
9111
-
9112
9072
  /**
9113
9073
  * This API should be called `delete` but we'd have to make sure to always
9114
9074
  * transform these to strings for IE support. When this transform is fully
@@ -9129,7 +9089,6 @@ var ReactInstanceMap = {
9129
9089
  set: function (key, value) {
9130
9090
  key._reactInternalInstance = value;
9131
9091
  }
9132
-
9133
9092
  };
9134
9093
 
9135
9094
  module.exports = ReactInstanceMap;
@@ -9171,7 +9130,7 @@ module.exports = { debugTool: debugTool };
9171
9130
 
9172
9131
  'use strict';
9173
9132
 
9174
- var warning = _dereq_(147);
9133
+ var warning = _dereq_(148);
9175
9134
 
9176
9135
  if ("development" !== 'production') {
9177
9136
  var processingChildContext = false;
@@ -9194,7 +9153,7 @@ var ReactInvalidSetStateWarningHook = {
9194
9153
  };
9195
9154
 
9196
9155
  module.exports = ReactInvalidSetStateWarningHook;
9197
- },{"147":147}],61:[function(_dereq_,module,exports){
9156
+ },{"148":148}],61:[function(_dereq_,module,exports){
9198
9157
  /**
9199
9158
  * Copyright 2013-present, Facebook, Inc.
9200
9159
  * All rights reserved.
@@ -9257,19 +9216,19 @@ module.exports = ReactMarkupChecksum;
9257
9216
 
9258
9217
  'use strict';
9259
9218
 
9260
- var _prodInvariant = _dereq_(115);
9219
+ var _prodInvariant = _dereq_(116);
9261
9220
 
9262
9221
  var ReactComponentEnvironment = _dereq_(28);
9263
9222
  var ReactInstanceMap = _dereq_(58);
9264
9223
  var ReactInstrumentation = _dereq_(59);
9265
9224
 
9266
- var ReactCurrentOwner = _dereq_(122);
9225
+ var ReactCurrentOwner = _dereq_(123);
9267
9226
  var ReactReconciler = _dereq_(68);
9268
9227
  var ReactChildReconciler = _dereq_(26);
9269
9228
 
9270
- var emptyFunction = _dereq_(132);
9229
+ var emptyFunction = _dereq_(133);
9271
9230
  var flattenChildren = _dereq_(101);
9272
- var invariant = _dereq_(140);
9231
+ var invariant = _dereq_(141);
9273
9232
 
9274
9233
  /**
9275
9234
  * Make an update for markup to be rendered and inserted at a supplied index.
@@ -9415,7 +9374,6 @@ if ("development" !== 'production') {
9415
9374
  * @internal
9416
9375
  */
9417
9376
  var ReactMultiChild = {
9418
-
9419
9377
  /**
9420
9378
  * Provides common functionality for components that must reconcile multiple
9421
9379
  * children. This is used by `ReactDOMComponent` to mount, update, and
@@ -9424,7 +9382,6 @@ var ReactMultiChild = {
9424
9382
  * @lends {ReactMultiChild.prototype}
9425
9383
  */
9426
9384
  Mixin: {
9427
-
9428
9385
  _reconcilerInstantiateChildren: function (nestedChildren, transaction, context) {
9429
9386
  if ("development" !== 'production') {
9430
9387
  var selfDebugID = getDebugID(this);
@@ -9688,13 +9645,11 @@ var ReactMultiChild = {
9688
9645
  child._mountIndex = null;
9689
9646
  return update;
9690
9647
  }
9691
-
9692
9648
  }
9693
-
9694
9649
  };
9695
9650
 
9696
9651
  module.exports = ReactMultiChild;
9697
- },{"101":101,"115":115,"122":122,"132":132,"140":140,"26":26,"28":28,"58":58,"59":59,"68":68}],63:[function(_dereq_,module,exports){
9652
+ },{"101":101,"116":116,"123":123,"133":133,"141":141,"26":26,"28":28,"58":58,"59":59,"68":68}],63:[function(_dereq_,module,exports){
9698
9653
  /**
9699
9654
  * Copyright 2013-present, Facebook, Inc.
9700
9655
  * All rights reserved.
@@ -9708,11 +9663,11 @@ module.exports = ReactMultiChild;
9708
9663
 
9709
9664
  'use strict';
9710
9665
 
9711
- var _prodInvariant = _dereq_(115);
9666
+ var _prodInvariant = _dereq_(116);
9712
9667
 
9713
- var React = _dereq_(123);
9668
+ var React = _dereq_(124);
9714
9669
 
9715
- var invariant = _dereq_(140);
9670
+ var invariant = _dereq_(141);
9716
9671
 
9717
9672
  var ReactNodeTypes = {
9718
9673
  HOST: 0,
@@ -9734,7 +9689,7 @@ var ReactNodeTypes = {
9734
9689
  };
9735
9690
 
9736
9691
  module.exports = ReactNodeTypes;
9737
- },{"115":115,"123":123,"140":140}],64:[function(_dereq_,module,exports){
9692
+ },{"116":116,"124":124,"141":141}],64:[function(_dereq_,module,exports){
9738
9693
  /**
9739
9694
  * Copyright 2013-present, Facebook, Inc.
9740
9695
  * All rights reserved.
@@ -9748,9 +9703,9 @@ module.exports = ReactNodeTypes;
9748
9703
 
9749
9704
  'use strict';
9750
9705
 
9751
- var _prodInvariant = _dereq_(115);
9706
+ var _prodInvariant = _dereq_(116);
9752
9707
 
9753
- var invariant = _dereq_(140);
9708
+ var invariant = _dereq_(141);
9754
9709
 
9755
9710
  /**
9756
9711
  * @param {?object} object
@@ -9824,11 +9779,10 @@ var ReactOwner = {
9824
9779
  owner.detachRef(ref);
9825
9780
  }
9826
9781
  }
9827
-
9828
9782
  };
9829
9783
 
9830
9784
  module.exports = ReactOwner;
9831
- },{"115":115,"140":140}],65:[function(_dereq_,module,exports){
9785
+ },{"116":116,"141":141}],65:[function(_dereq_,module,exports){
9832
9786
  /**
9833
9787
  * Copyright 2013-present, Facebook, Inc.
9834
9788
  * All rights reserved.
@@ -9883,7 +9837,7 @@ module.exports = ReactPropTypesSecret;
9883
9837
 
9884
9838
  'use strict';
9885
9839
 
9886
- var _assign = _dereq_(148);
9840
+ var _assign = _dereq_(149);
9887
9841
 
9888
9842
  var CallbackQueue = _dereq_(6);
9889
9843
  var PooledClass = _dereq_(24);
@@ -10048,7 +10002,7 @@ _assign(ReactReconcileTransaction.prototype, Transaction, Mixin);
10048
10002
  PooledClass.addPoolingTo(ReactReconcileTransaction);
10049
10003
 
10050
10004
  module.exports = ReactReconcileTransaction;
10051
- },{"148":148,"24":24,"25":25,"57":57,"59":59,"6":6,"74":74,"93":93}],68:[function(_dereq_,module,exports){
10005
+ },{"149":149,"24":24,"25":25,"57":57,"59":59,"6":6,"74":74,"93":93}],68:[function(_dereq_,module,exports){
10052
10006
  /**
10053
10007
  * Copyright 2013-present, Facebook, Inc.
10054
10008
  * All rights reserved.
@@ -10064,7 +10018,7 @@ module.exports = ReactReconcileTransaction;
10064
10018
  var ReactRef = _dereq_(69);
10065
10019
  var ReactInstrumentation = _dereq_(59);
10066
10020
 
10067
- var warning = _dereq_(147);
10021
+ var warning = _dereq_(148);
10068
10022
 
10069
10023
  /**
10070
10024
  * Helper to call ReactRef.attachRefs with this composite component, split out
@@ -10075,7 +10029,6 @@ function attachRefs() {
10075
10029
  }
10076
10030
 
10077
10031
  var ReactReconciler = {
10078
-
10079
10032
  /**
10080
10033
  * Initializes the component, renders markup, and registers event listeners.
10081
10034
  *
@@ -10087,8 +10040,8 @@ var ReactReconciler = {
10087
10040
  * @final
10088
10041
  * @internal
10089
10042
  */
10090
- mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID // 0 in production and for roots
10091
- ) {
10043
+ mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID) // 0 in production and for roots
10044
+ {
10092
10045
  if ("development" !== 'production') {
10093
10046
  if (internalInstance._debugID !== 0) {
10094
10047
  ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID, internalInstance._currentElement, parentDebugID);
@@ -10212,11 +10165,10 @@ var ReactReconciler = {
10212
10165
  }
10213
10166
  }
10214
10167
  }
10215
-
10216
10168
  };
10217
10169
 
10218
10170
  module.exports = ReactReconciler;
10219
- },{"147":147,"59":59,"69":69}],69:[function(_dereq_,module,exports){
10171
+ },{"148":148,"59":59,"69":69}],69:[function(_dereq_,module,exports){
10220
10172
  /**
10221
10173
  * Copyright 2013-present, Facebook, Inc.
10222
10174
  * All rights reserved.
@@ -10339,9 +10291,9 @@ module.exports = ReactServerBatchingStrategy;
10339
10291
  */
10340
10292
  'use strict';
10341
10293
 
10342
- var _prodInvariant = _dereq_(115);
10294
+ var _prodInvariant = _dereq_(116);
10343
10295
 
10344
- var React = _dereq_(123);
10296
+ var React = _dereq_(124);
10345
10297
  var ReactDOMContainerInfo = _dereq_(33);
10346
10298
  var ReactDefaultBatchingStrategy = _dereq_(46);
10347
10299
  var ReactInstrumentation = _dereq_(59);
@@ -10351,9 +10303,9 @@ var ReactServerBatchingStrategy = _dereq_(70);
10351
10303
  var ReactServerRenderingTransaction = _dereq_(72);
10352
10304
  var ReactUpdates = _dereq_(75);
10353
10305
 
10354
- var emptyObject = _dereq_(133);
10355
- var instantiateReactComponent = _dereq_(111);
10356
- var invariant = _dereq_(140);
10306
+ var emptyObject = _dereq_(134);
10307
+ var instantiateReactComponent = _dereq_(112);
10308
+ var invariant = _dereq_(141);
10357
10309
 
10358
10310
  var pendingTransactions = 0;
10359
10311
 
@@ -10417,7 +10369,7 @@ module.exports = {
10417
10369
  renderToString: renderToString,
10418
10370
  renderToStaticMarkup: renderToStaticMarkup
10419
10371
  };
10420
- },{"111":111,"115":115,"123":123,"133":133,"140":140,"33":33,"46":46,"59":59,"61":61,"68":68,"70":70,"72":72,"75":75}],72:[function(_dereq_,module,exports){
10372
+ },{"112":112,"116":116,"124":124,"134":134,"141":141,"33":33,"46":46,"59":59,"61":61,"68":68,"70":70,"72":72,"75":75}],72:[function(_dereq_,module,exports){
10421
10373
  /**
10422
10374
  * Copyright 2014-present, Facebook, Inc.
10423
10375
  * All rights reserved.
@@ -10430,7 +10382,7 @@ module.exports = {
10430
10382
 
10431
10383
  'use strict';
10432
10384
 
10433
- var _assign = _dereq_(148);
10385
+ var _assign = _dereq_(149);
10434
10386
 
10435
10387
  var PooledClass = _dereq_(24);
10436
10388
  var Transaction = _dereq_(93);
@@ -10507,7 +10459,7 @@ _assign(ReactServerRenderingTransaction.prototype, Transaction, Mixin);
10507
10459
  PooledClass.addPoolingTo(ReactServerRenderingTransaction);
10508
10460
 
10509
10461
  module.exports = ReactServerRenderingTransaction;
10510
- },{"148":148,"24":24,"59":59,"73":73,"93":93}],73:[function(_dereq_,module,exports){
10462
+ },{"149":149,"24":24,"59":59,"73":73,"93":93}],73:[function(_dereq_,module,exports){
10511
10463
  /**
10512
10464
  * Copyright 2015-present, Facebook, Inc.
10513
10465
  * All rights reserved.
@@ -10525,7 +10477,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
10525
10477
 
10526
10478
  var ReactUpdateQueue = _dereq_(74);
10527
10479
 
10528
- var warning = _dereq_(147);
10480
+ var warning = _dereq_(148);
10529
10481
 
10530
10482
  function warnNoop(publicInstance, callerName) {
10531
10483
  if ("development" !== 'production') {
@@ -10646,7 +10598,7 @@ var ReactServerUpdateQueue = function () {
10646
10598
  }();
10647
10599
 
10648
10600
  module.exports = ReactServerUpdateQueue;
10649
- },{"147":147,"74":74}],74:[function(_dereq_,module,exports){
10601
+ },{"148":148,"74":74}],74:[function(_dereq_,module,exports){
10650
10602
  /**
10651
10603
  * Copyright 2015-present, Facebook, Inc.
10652
10604
  * All rights reserved.
@@ -10659,15 +10611,15 @@ module.exports = ReactServerUpdateQueue;
10659
10611
 
10660
10612
  'use strict';
10661
10613
 
10662
- var _prodInvariant = _dereq_(115);
10614
+ var _prodInvariant = _dereq_(116);
10663
10615
 
10664
- var ReactCurrentOwner = _dereq_(122);
10616
+ var ReactCurrentOwner = _dereq_(123);
10665
10617
  var ReactInstanceMap = _dereq_(58);
10666
10618
  var ReactInstrumentation = _dereq_(59);
10667
10619
  var ReactUpdates = _dereq_(75);
10668
10620
 
10669
- var invariant = _dereq_(140);
10670
- var warning = _dereq_(147);
10621
+ var invariant = _dereq_(141);
10622
+ var warning = _dereq_(148);
10671
10623
 
10672
10624
  function enqueueUpdate(internalInstance) {
10673
10625
  ReactUpdates.enqueueUpdate(internalInstance);
@@ -10700,7 +10652,7 @@ function getInternalInstanceReadyForUpdate(publicInstance, callerName) {
10700
10652
  }
10701
10653
 
10702
10654
  if ("development" !== 'production') {
10703
- "development" !== 'production' ? warning(ReactCurrentOwner.current == null, '%s(...): Cannot update during an existing state transition (such as ' + 'within `render` or another component\'s constructor). Render methods ' + 'should be a pure function of props and state; constructor ' + 'side-effects are an anti-pattern, but can be moved to ' + '`componentWillMount`.', callerName) : void 0;
10655
+ "development" !== 'production' ? warning(ReactCurrentOwner.current == null, '%s(...): Cannot update during an existing state transition (such as ' + "within `render` or another component's constructor). Render methods " + 'should be a pure function of props and state; constructor ' + 'side-effects are an anti-pattern, but can be moved to ' + '`componentWillMount`.', callerName) : void 0;
10704
10656
  }
10705
10657
 
10706
10658
  return internalInstance;
@@ -10711,7 +10663,6 @@ function getInternalInstanceReadyForUpdate(publicInstance, callerName) {
10711
10663
  * reconciliation step.
10712
10664
  */
10713
10665
  var ReactUpdateQueue = {
10714
-
10715
10666
  /**
10716
10667
  * Checks whether or not this composite component is mounted.
10717
10668
  * @param {ReactClass} publicInstance The instance we want to test.
@@ -10878,11 +10829,10 @@ var ReactUpdateQueue = {
10878
10829
  validateCallback: function (callback, callerName) {
10879
10830
  !(!callback || typeof callback === 'function') ? "development" !== 'production' ? invariant(false, '%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.', callerName, formatUnexpectedArgument(callback)) : _prodInvariant('122', callerName, formatUnexpectedArgument(callback)) : void 0;
10880
10831
  }
10881
-
10882
10832
  };
10883
10833
 
10884
10834
  module.exports = ReactUpdateQueue;
10885
- },{"115":115,"122":122,"140":140,"147":147,"58":58,"59":59,"75":75}],75:[function(_dereq_,module,exports){
10835
+ },{"116":116,"123":123,"141":141,"148":148,"58":58,"59":59,"75":75}],75:[function(_dereq_,module,exports){
10886
10836
  /**
10887
10837
  * Copyright 2013-present, Facebook, Inc.
10888
10838
  * All rights reserved.
@@ -10895,8 +10845,8 @@ module.exports = ReactUpdateQueue;
10895
10845
 
10896
10846
  'use strict';
10897
10847
 
10898
- var _prodInvariant = _dereq_(115),
10899
- _assign = _dereq_(148);
10848
+ var _prodInvariant = _dereq_(116),
10849
+ _assign = _dereq_(149);
10900
10850
 
10901
10851
  var CallbackQueue = _dereq_(6);
10902
10852
  var PooledClass = _dereq_(24);
@@ -10904,7 +10854,7 @@ var ReactFeatureFlags = _dereq_(53);
10904
10854
  var ReactReconciler = _dereq_(68);
10905
10855
  var Transaction = _dereq_(93);
10906
10856
 
10907
- var invariant = _dereq_(140);
10857
+ var invariant = _dereq_(141);
10908
10858
 
10909
10859
  var dirtyComponents = [];
10910
10860
  var updateBatchNumber = 0;
@@ -11133,7 +11083,7 @@ var ReactUpdates = {
11133
11083
  };
11134
11084
 
11135
11085
  module.exports = ReactUpdates;
11136
- },{"115":115,"140":140,"148":148,"24":24,"53":53,"6":6,"68":68,"93":93}],76:[function(_dereq_,module,exports){
11086
+ },{"116":116,"141":141,"149":149,"24":24,"53":53,"6":6,"68":68,"93":93}],76:[function(_dereq_,module,exports){
11137
11087
  /**
11138
11088
  * Copyright 2013-present, Facebook, Inc.
11139
11089
  * All rights reserved.
@@ -11146,7 +11096,7 @@ module.exports = ReactUpdates;
11146
11096
 
11147
11097
  'use strict';
11148
11098
 
11149
- module.exports = '15.5.3';
11099
+ module.exports = '15.6.1';
11150
11100
  },{}],77:[function(_dereq_,module,exports){
11151
11101
  /**
11152
11102
  * Copyright 2013-present, Facebook, Inc.
@@ -11463,14 +11413,14 @@ module.exports = SVGDOMPropertyConfig;
11463
11413
  'use strict';
11464
11414
 
11465
11415
  var EventPropagators = _dereq_(19);
11466
- var ExecutionEnvironment = _dereq_(126);
11416
+ var ExecutionEnvironment = _dereq_(127);
11467
11417
  var ReactDOMComponentTree = _dereq_(32);
11468
11418
  var ReactInputSelection = _dereq_(57);
11469
11419
  var SyntheticEvent = _dereq_(84);
11470
11420
 
11471
- var getActiveElement = _dereq_(135);
11472
- var isTextInputElement = _dereq_(113);
11473
- var shallowEqual = _dereq_(146);
11421
+ var getActiveElement = _dereq_(136);
11422
+ var isTextInputElement = _dereq_(114);
11423
+ var shallowEqual = _dereq_(147);
11474
11424
 
11475
11425
  var skipSelectionChangeEvent = ExecutionEnvironment.canUseDOM && 'documentMode' in document && document.documentMode <= 11;
11476
11426
 
@@ -11575,7 +11525,6 @@ function constructSelectEvent(nativeEvent, nativeEventTarget) {
11575
11525
  * - Fires after user input.
11576
11526
  */
11577
11527
  var SelectEventPlugin = {
11578
-
11579
11528
  eventTypes: eventTypes,
11580
11529
 
11581
11530
  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
@@ -11599,7 +11548,6 @@ var SelectEventPlugin = {
11599
11548
  activeElementInst = null;
11600
11549
  lastSelection = null;
11601
11550
  break;
11602
-
11603
11551
  // Don't fire the event while the user is dragging. This matches the
11604
11552
  // semantics of the native select event.
11605
11553
  case 'topMouseDown':
@@ -11609,7 +11557,6 @@ var SelectEventPlugin = {
11609
11557
  case 'topMouseUp':
11610
11558
  mouseDown = false;
11611
11559
  return constructSelectEvent(nativeEvent, nativeEventTarget);
11612
-
11613
11560
  // Chrome and IE fire non-standard event when selection is changed (and
11614
11561
  // sometimes when it hasn't). IE's event fires out of order with respect
11615
11562
  // to key and input events on deletion, so we discard it.
@@ -11640,7 +11587,7 @@ var SelectEventPlugin = {
11640
11587
  };
11641
11588
 
11642
11589
  module.exports = SelectEventPlugin;
11643
- },{"113":113,"126":126,"135":135,"146":146,"19":19,"32":32,"57":57,"84":84}],79:[function(_dereq_,module,exports){
11590
+ },{"114":114,"127":127,"136":136,"147":147,"19":19,"32":32,"57":57,"84":84}],79:[function(_dereq_,module,exports){
11644
11591
  /**
11645
11592
  * Copyright 2013-present, Facebook, Inc.
11646
11593
  * All rights reserved.
@@ -11654,9 +11601,9 @@ module.exports = SelectEventPlugin;
11654
11601
 
11655
11602
  'use strict';
11656
11603
 
11657
- var _prodInvariant = _dereq_(115);
11604
+ var _prodInvariant = _dereq_(116);
11658
11605
 
11659
- var EventListener = _dereq_(125);
11606
+ var EventListener = _dereq_(126);
11660
11607
  var EventPropagators = _dereq_(19);
11661
11608
  var ReactDOMComponentTree = _dereq_(32);
11662
11609
  var SyntheticAnimationEvent = _dereq_(80);
@@ -11671,9 +11618,9 @@ var SyntheticTransitionEvent = _dereq_(90);
11671
11618
  var SyntheticUIEvent = _dereq_(91);
11672
11619
  var SyntheticWheelEvent = _dereq_(92);
11673
11620
 
11674
- var emptyFunction = _dereq_(132);
11621
+ var emptyFunction = _dereq_(133);
11675
11622
  var getEventCharCode = _dereq_(103);
11676
- var invariant = _dereq_(140);
11623
+ var invariant = _dereq_(141);
11677
11624
 
11678
11625
  /**
11679
11626
  * Turns
@@ -11724,7 +11671,6 @@ function isInteractive(tag) {
11724
11671
  }
11725
11672
 
11726
11673
  var SimpleEventPlugin = {
11727
-
11728
11674
  eventTypes: eventTypes,
11729
11675
 
11730
11676
  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
@@ -11864,11 +11810,10 @@ var SimpleEventPlugin = {
11864
11810
  delete onClickListeners[key];
11865
11811
  }
11866
11812
  }
11867
-
11868
11813
  };
11869
11814
 
11870
11815
  module.exports = SimpleEventPlugin;
11871
- },{"103":103,"115":115,"125":125,"132":132,"140":140,"19":19,"32":32,"80":80,"81":81,"83":83,"84":84,"85":85,"87":87,"88":88,"89":89,"90":90,"91":91,"92":92}],80:[function(_dereq_,module,exports){
11816
+ },{"103":103,"116":116,"126":126,"133":133,"141":141,"19":19,"32":32,"80":80,"81":81,"83":83,"84":84,"85":85,"87":87,"88":88,"89":89,"90":90,"91":91,"92":92}],80:[function(_dereq_,module,exports){
11872
11817
  /**
11873
11818
  * Copyright 2013-present, Facebook, Inc.
11874
11819
  * All rights reserved.
@@ -12030,12 +11975,12 @@ module.exports = SyntheticDragEvent;
12030
11975
 
12031
11976
  'use strict';
12032
11977
 
12033
- var _assign = _dereq_(148);
11978
+ var _assign = _dereq_(149);
12034
11979
 
12035
11980
  var PooledClass = _dereq_(24);
12036
11981
 
12037
- var emptyFunction = _dereq_(132);
12038
- var warning = _dereq_(147);
11982
+ var emptyFunction = _dereq_(133);
11983
+ var warning = _dereq_(148);
12039
11984
 
12040
11985
  var didWarnForAddedNewProperty = false;
12041
11986
  var isProxySupported = typeof Proxy === 'function';
@@ -12122,7 +12067,6 @@ function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarg
12122
12067
  }
12123
12068
 
12124
12069
  _assign(SyntheticEvent.prototype, {
12125
-
12126
12070
  preventDefault: function () {
12127
12071
  this.defaultPrevented = true;
12128
12072
  var event = this.nativeEvent;
@@ -12132,8 +12076,8 @@ _assign(SyntheticEvent.prototype, {
12132
12076
 
12133
12077
  if (event.preventDefault) {
12134
12078
  event.preventDefault();
12079
+ // eslint-disable-next-line valid-typeof
12135
12080
  } else if (typeof event.returnValue !== 'unknown') {
12136
- // eslint-disable-line valid-typeof
12137
12081
  event.returnValue = false;
12138
12082
  }
12139
12083
  this.isDefaultPrevented = emptyFunction.thatReturnsTrue;
@@ -12147,8 +12091,8 @@ _assign(SyntheticEvent.prototype, {
12147
12091
 
12148
12092
  if (event.stopPropagation) {
12149
12093
  event.stopPropagation();
12094
+ // eslint-disable-next-line valid-typeof
12150
12095
  } else if (typeof event.cancelBubble !== 'unknown') {
12151
- // eslint-disable-line valid-typeof
12152
12096
  // The ChangeEventPlugin registers a "propertychange" event for
12153
12097
  // IE. This event does not support bubbling or cancelling, and
12154
12098
  // any references to cancelBubble throw "Member not found". A
@@ -12197,7 +12141,6 @@ _assign(SyntheticEvent.prototype, {
12197
12141
  Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', emptyFunction));
12198
12142
  }
12199
12143
  }
12200
-
12201
12144
  });
12202
12145
 
12203
12146
  SyntheticEvent.Interface = EventInterface;
@@ -12213,7 +12156,7 @@ if ("development" !== 'production') {
12213
12156
  return new Proxy(constructor.apply(that, args), {
12214
12157
  set: function (target, prop, value) {
12215
12158
  if (prop !== 'isPersistent' && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) {
12216
- "development" !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), 'This synthetic event is reused for performance reasons. If you\'re ' + 'seeing this, you\'re adding a new property in the synthetic event object. ' + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0;
12159
+ "development" !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), "This synthetic event is reused for performance reasons. If you're " + "seeing this, you're adding a new property in the synthetic event object. " + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0;
12217
12160
  didWarnForAddedNewProperty = true;
12218
12161
  }
12219
12162
  target[prop] = value;
@@ -12282,10 +12225,10 @@ function getPooledWarningPropertyDefinition(propName, getVal) {
12282
12225
 
12283
12226
  function warn(action, result) {
12284
12227
  var warningCondition = false;
12285
- "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;
12228
+ "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;
12286
12229
  }
12287
12230
  }
12288
- },{"132":132,"147":147,"148":148,"24":24}],85:[function(_dereq_,module,exports){
12231
+ },{"133":133,"148":148,"149":149,"24":24}],85:[function(_dereq_,module,exports){
12289
12232
  /**
12290
12233
  * Copyright 2013-present, Facebook, Inc.
12291
12234
  * All rights reserved.
@@ -12678,15 +12621,12 @@ var SyntheticMouseEvent = _dereq_(88);
12678
12621
  */
12679
12622
  var WheelEventInterface = {
12680
12623
  deltaX: function (event) {
12681
- return 'deltaX' in event ? event.deltaX :
12682
- // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).
12624
+ return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).
12683
12625
  'wheelDeltaX' in event ? -event.wheelDeltaX : 0;
12684
12626
  },
12685
12627
  deltaY: function (event) {
12686
- return 'deltaY' in event ? event.deltaY :
12687
- // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).
12688
- 'wheelDeltaY' in event ? -event.wheelDeltaY :
12689
- // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).
12628
+ return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).
12629
+ 'wheelDeltaY' in event ? -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).
12690
12630
  'wheelDelta' in event ? -event.wheelDelta : 0;
12691
12631
  },
12692
12632
  deltaZ: null,
@@ -12725,9 +12665,9 @@ module.exports = SyntheticWheelEvent;
12725
12665
 
12726
12666
  'use strict';
12727
12667
 
12728
- var _prodInvariant = _dereq_(115);
12668
+ var _prodInvariant = _dereq_(116);
12729
12669
 
12730
- var invariant = _dereq_(140);
12670
+ var invariant = _dereq_(141);
12731
12671
 
12732
12672
  var OBSERVED_ERROR = {};
12733
12673
 
@@ -12822,6 +12762,8 @@ var TransactionImpl = {
12822
12762
  return !!this._isInTransaction;
12823
12763
  },
12824
12764
 
12765
+ /* eslint-disable space-before-function-paren */
12766
+
12825
12767
  /**
12826
12768
  * Executes the function within a safety window. Use this for the top level
12827
12769
  * methods that result in large amounts of computation/mutations that would
@@ -12840,6 +12782,7 @@ var TransactionImpl = {
12840
12782
  * @return {*} Return value from `method`.
12841
12783
  */
12842
12784
  perform: function (method, scope, a, b, c, d, e, f) {
12785
+ /* eslint-enable space-before-function-paren */
12843
12786
  !!this.isInTransaction() ? "development" !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there is already an outstanding transaction.') : _prodInvariant('27') : void 0;
12844
12787
  var errorThrown;
12845
12788
  var ret;
@@ -12936,7 +12879,7 @@ var TransactionImpl = {
12936
12879
  };
12937
12880
 
12938
12881
  module.exports = TransactionImpl;
12939
- },{"115":115,"140":140}],94:[function(_dereq_,module,exports){
12882
+ },{"116":116,"141":141}],94:[function(_dereq_,module,exports){
12940
12883
  /**
12941
12884
  * Copyright 2013-present, Facebook, Inc.
12942
12885
  * All rights reserved.
@@ -12950,7 +12893,6 @@ module.exports = TransactionImpl;
12950
12893
  'use strict';
12951
12894
 
12952
12895
  var ViewportMetrics = {
12953
-
12954
12896
  currentScrollLeft: 0,
12955
12897
 
12956
12898
  currentScrollTop: 0,
@@ -12959,7 +12901,6 @@ var ViewportMetrics = {
12959
12901
  ViewportMetrics.currentScrollLeft = scrollPosition.x;
12960
12902
  ViewportMetrics.currentScrollTop = scrollPosition.y;
12961
12903
  }
12962
-
12963
12904
  };
12964
12905
 
12965
12906
  module.exports = ViewportMetrics;
@@ -12977,9 +12918,9 @@ module.exports = ViewportMetrics;
12977
12918
 
12978
12919
  'use strict';
12979
12920
 
12980
- var _prodInvariant = _dereq_(115);
12921
+ var _prodInvariant = _dereq_(116);
12981
12922
 
12982
- var invariant = _dereq_(140);
12923
+ var invariant = _dereq_(141);
12983
12924
 
12984
12925
  /**
12985
12926
  * Accumulates items that must not be null or undefined into the first one. This
@@ -13021,7 +12962,7 @@ function accumulateInto(current, next) {
13021
12962
  }
13022
12963
 
13023
12964
  module.exports = accumulateInto;
13024
- },{"115":115,"140":140}],96:[function(_dereq_,module,exports){
12965
+ },{"116":116,"141":141}],96:[function(_dereq_,module,exports){
13025
12966
  /**
13026
12967
  * Copyright 2013-present, Facebook, Inc.
13027
12968
  * All rights reserved.
@@ -13079,13 +13020,13 @@ module.exports = adler32;
13079
13020
 
13080
13021
  'use strict';
13081
13022
 
13082
- var _prodInvariant = _dereq_(115);
13023
+ var _prodInvariant = _dereq_(116);
13083
13024
 
13084
13025
  var ReactPropTypeLocationNames = _dereq_(65);
13085
13026
  var ReactPropTypesSecret = _dereq_(66);
13086
13027
 
13087
- var invariant = _dereq_(140);
13088
- var warning = _dereq_(147);
13028
+ var invariant = _dereq_(141);
13029
+ var warning = _dereq_(148);
13089
13030
 
13090
13031
  var ReactComponentTreeHook;
13091
13032
 
@@ -13095,7 +13036,7 @@ if (typeof process !== 'undefined' && process.env && "development" === 'test') {
13095
13036
  // https://github.com/facebook/react/issues/7240
13096
13037
  // Remove the inline requires when we don't need them anymore:
13097
13038
  // https://github.com/facebook/react/pull/7178
13098
- ReactComponentTreeHook = _dereq_(121);
13039
+ ReactComponentTreeHook = _dereq_(122);
13099
13040
  }
13100
13041
 
13101
13042
  var loggedTypeFailures = {};
@@ -13137,7 +13078,7 @@ function checkReactTypeSpec(typeSpecs, values, location, componentName, element,
13137
13078
 
13138
13079
  if ("development" !== 'production') {
13139
13080
  if (!ReactComponentTreeHook) {
13140
- ReactComponentTreeHook = _dereq_(121);
13081
+ ReactComponentTreeHook = _dereq_(122);
13141
13082
  }
13142
13083
  if (debugID !== null) {
13143
13084
  componentStackInfo = ReactComponentTreeHook.getStackAddendumByID(debugID);
@@ -13154,7 +13095,7 @@ function checkReactTypeSpec(typeSpecs, values, location, componentName, element,
13154
13095
 
13155
13096
  module.exports = checkReactTypeSpec;
13156
13097
  }).call(this,undefined)
13157
- },{"115":115,"121":121,"140":140,"147":147,"65":65,"66":66}],98:[function(_dereq_,module,exports){
13098
+ },{"116":116,"122":122,"141":141,"148":148,"65":65,"66":66}],98:[function(_dereq_,module,exports){
13158
13099
  /**
13159
13100
  * Copyright 2013-present, Facebook, Inc.
13160
13101
  * All rights reserved.
@@ -13200,7 +13141,7 @@ module.exports = createMicrosoftUnsafeLocalFunction;
13200
13141
  'use strict';
13201
13142
 
13202
13143
  var CSSProperty = _dereq_(4);
13203
- var warning = _dereq_(147);
13144
+ var warning = _dereq_(148);
13204
13145
 
13205
13146
  var isUnitlessNumber = CSSProperty.isUnitlessNumber;
13206
13147
  var styleWarnings = {};
@@ -13215,7 +13156,7 @@ var styleWarnings = {};
13215
13156
  * @param {ReactDOMComponent} component
13216
13157
  * @return {string} Normalized style value with dimensions applied.
13217
13158
  */
13218
- function dangerousStyleValue(name, value, component) {
13159
+ function dangerousStyleValue(name, value, component, isCustomProperty) {
13219
13160
  // Note that we've removed escapeTextForBrowser() calls here since the
13220
13161
  // whole string will be escaped when the attribute is injected into
13221
13162
  // the markup. If you provide unsafe user data here they can inject
@@ -13232,7 +13173,7 @@ function dangerousStyleValue(name, value, component) {
13232
13173
  }
13233
13174
 
13234
13175
  var isNonNumeric = isNaN(value);
13235
- if (isNonNumeric || value === 0 || isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name]) {
13176
+ if (isCustomProperty || isNonNumeric || value === 0 || isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name]) {
13236
13177
  return '' + value; // cast to string
13237
13178
  }
13238
13179
 
@@ -13265,7 +13206,7 @@ function dangerousStyleValue(name, value, component) {
13265
13206
  }
13266
13207
 
13267
13208
  module.exports = dangerousStyleValue;
13268
- },{"147":147,"4":4}],100:[function(_dereq_,module,exports){
13209
+ },{"148":148,"4":4}],100:[function(_dereq_,module,exports){
13269
13210
  /**
13270
13211
  * Copyright 2016-present, Facebook, Inc.
13271
13212
  * All rights reserved.
@@ -13370,7 +13311,6 @@ function escapeHtml(string) {
13370
13311
  }
13371
13312
  // end code copied and modified from escape-html
13372
13313
 
13373
-
13374
13314
  /**
13375
13315
  * Escapes text to prevent scripting attacks.
13376
13316
  *
@@ -13404,8 +13344,8 @@ module.exports = escapeTextContentForBrowser;
13404
13344
  'use strict';
13405
13345
 
13406
13346
  var KeyEscapeUtils = _dereq_(22);
13407
- var traverseAllChildren = _dereq_(119);
13408
- var warning = _dereq_(147);
13347
+ var traverseAllChildren = _dereq_(120);
13348
+ var warning = _dereq_(148);
13409
13349
 
13410
13350
  var ReactComponentTreeHook;
13411
13351
 
@@ -13415,7 +13355,7 @@ if (typeof process !== 'undefined' && process.env && "development" === 'test') {
13415
13355
  // https://github.com/facebook/react/issues/7240
13416
13356
  // Remove the inline requires when we don't need them anymore:
13417
13357
  // https://github.com/facebook/react/pull/7178
13418
- ReactComponentTreeHook = _dereq_(121);
13358
+ ReactComponentTreeHook = _dereq_(122);
13419
13359
  }
13420
13360
 
13421
13361
  /**
@@ -13431,7 +13371,7 @@ function flattenSingleChildIntoContext(traverseContext, child, name, selfDebugID
13431
13371
  var keyUnique = result[name] === undefined;
13432
13372
  if ("development" !== 'production') {
13433
13373
  if (!ReactComponentTreeHook) {
13434
- ReactComponentTreeHook = _dereq_(121);
13374
+ ReactComponentTreeHook = _dereq_(122);
13435
13375
  }
13436
13376
  if (!keyUnique) {
13437
13377
  "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;
@@ -13466,7 +13406,7 @@ function flattenChildren(children, selfDebugID) {
13466
13406
 
13467
13407
  module.exports = flattenChildren;
13468
13408
  }).call(this,undefined)
13469
- },{"119":119,"121":121,"147":147,"22":22}],102:[function(_dereq_,module,exports){
13409
+ },{"120":120,"122":122,"148":148,"22":22}],102:[function(_dereq_,module,exports){
13470
13410
  /**
13471
13411
  * Copyright 2013-present, Facebook, Inc.
13472
13412
  * All rights reserved.
@@ -13567,18 +13507,18 @@ var getEventCharCode = _dereq_(103);
13567
13507
  * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names
13568
13508
  */
13569
13509
  var normalizeKey = {
13570
- 'Esc': 'Escape',
13571
- 'Spacebar': ' ',
13572
- 'Left': 'ArrowLeft',
13573
- 'Up': 'ArrowUp',
13574
- 'Right': 'ArrowRight',
13575
- 'Down': 'ArrowDown',
13576
- 'Del': 'Delete',
13577
- 'Win': 'OS',
13578
- 'Menu': 'ContextMenu',
13579
- 'Apps': 'ContextMenu',
13580
- 'Scroll': 'ScrollLock',
13581
- 'MozPrintableKey': 'Unidentified'
13510
+ Esc: 'Escape',
13511
+ Spacebar: ' ',
13512
+ Left: 'ArrowLeft',
13513
+ Up: 'ArrowUp',
13514
+ Right: 'ArrowRight',
13515
+ Down: 'ArrowDown',
13516
+ Del: 'Delete',
13517
+ Win: 'OS',
13518
+ Menu: 'ContextMenu',
13519
+ Apps: 'ContextMenu',
13520
+ Scroll: 'ScrollLock',
13521
+ MozPrintableKey: 'Unidentified'
13582
13522
  };
13583
13523
 
13584
13524
  /**
@@ -13608,8 +13548,18 @@ var translateToKey = {
13608
13548
  40: 'ArrowDown',
13609
13549
  45: 'Insert',
13610
13550
  46: 'Delete',
13611
- 112: 'F1', 113: 'F2', 114: 'F3', 115: 'F4', 116: 'F5', 117: 'F6',
13612
- 118: 'F7', 119: 'F8', 120: 'F9', 121: 'F10', 122: 'F11', 123: 'F12',
13551
+ 112: 'F1',
13552
+ 113: 'F2',
13553
+ 114: 'F3',
13554
+ 115: 'F4',
13555
+ 116: 'F5',
13556
+ 117: 'F6',
13557
+ 118: 'F7',
13558
+ 119: 'F8',
13559
+ 120: 'F9',
13560
+ 121: 'F10',
13561
+ 122: 'F11',
13562
+ 123: 'F12',
13613
13563
  144: 'NumLock',
13614
13564
  145: 'ScrollLock',
13615
13565
  224: 'Meta'
@@ -13668,10 +13618,10 @@ module.exports = getEventKey;
13668
13618
  */
13669
13619
 
13670
13620
  var modifierKeyToProp = {
13671
- 'Alt': 'altKey',
13672
- 'Control': 'ctrlKey',
13673
- 'Meta': 'metaKey',
13674
- 'Shift': 'shiftKey'
13621
+ Alt: 'altKey',
13622
+ Control: 'ctrlKey',
13623
+ Meta: 'metaKey',
13624
+ Shift: 'shiftKey'
13675
13625
  };
13676
13626
 
13677
13627
  // IE8 does not implement getModifierState so we simply map it to the only
@@ -13855,7 +13805,7 @@ module.exports = getNodeForCharacterOffset;
13855
13805
 
13856
13806
  'use strict';
13857
13807
 
13858
- var ExecutionEnvironment = _dereq_(126);
13808
+ var ExecutionEnvironment = _dereq_(127);
13859
13809
 
13860
13810
  var contentKey = null;
13861
13811
 
@@ -13875,7 +13825,7 @@ function getTextContentAccessor() {
13875
13825
  }
13876
13826
 
13877
13827
  module.exports = getTextContentAccessor;
13878
- },{"126":126}],110:[function(_dereq_,module,exports){
13828
+ },{"127":127}],110:[function(_dereq_,module,exports){
13879
13829
  /**
13880
13830
  * Copyright 2013-present, Facebook, Inc.
13881
13831
  * All rights reserved.
@@ -13888,7 +13838,7 @@ module.exports = getTextContentAccessor;
13888
13838
 
13889
13839
  'use strict';
13890
13840
 
13891
- var ExecutionEnvironment = _dereq_(126);
13841
+ var ExecutionEnvironment = _dereq_(127);
13892
13842
 
13893
13843
  /**
13894
13844
  * Generate a mapping of standard vendor prefixes using the defined style property and event name.
@@ -13976,7 +13926,130 @@ function getVendorPrefixedEventName(eventName) {
13976
13926
  }
13977
13927
 
13978
13928
  module.exports = getVendorPrefixedEventName;
13979
- },{"126":126}],111:[function(_dereq_,module,exports){
13929
+ },{"127":127}],111:[function(_dereq_,module,exports){
13930
+ /**
13931
+ * Copyright 2013-present, Facebook, Inc.
13932
+ * All rights reserved.
13933
+ *
13934
+ * This source code is licensed under the BSD-style license found in the
13935
+ * LICENSE file in the root directory of this source tree. An additional grant
13936
+ * of patent rights can be found in the PATENTS file in the same directory.
13937
+ *
13938
+ */
13939
+
13940
+ 'use strict';
13941
+
13942
+ var ReactDOMComponentTree = _dereq_(32);
13943
+
13944
+ function isCheckable(elem) {
13945
+ var type = elem.type;
13946
+ var nodeName = elem.nodeName;
13947
+ return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio');
13948
+ }
13949
+
13950
+ function getTracker(inst) {
13951
+ return inst._wrapperState.valueTracker;
13952
+ }
13953
+
13954
+ function attachTracker(inst, tracker) {
13955
+ inst._wrapperState.valueTracker = tracker;
13956
+ }
13957
+
13958
+ function detachTracker(inst) {
13959
+ delete inst._wrapperState.valueTracker;
13960
+ }
13961
+
13962
+ function getValueFromNode(node) {
13963
+ var value;
13964
+ if (node) {
13965
+ value = isCheckable(node) ? '' + node.checked : node.value;
13966
+ }
13967
+ return value;
13968
+ }
13969
+
13970
+ var inputValueTracking = {
13971
+ // exposed for testing
13972
+ _getTrackerFromNode: function (node) {
13973
+ return getTracker(ReactDOMComponentTree.getInstanceFromNode(node));
13974
+ },
13975
+
13976
+
13977
+ track: function (inst) {
13978
+ if (getTracker(inst)) {
13979
+ return;
13980
+ }
13981
+
13982
+ var node = ReactDOMComponentTree.getNodeFromInstance(inst);
13983
+ var valueField = isCheckable(node) ? 'checked' : 'value';
13984
+ var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField);
13985
+
13986
+ var currentValue = '' + node[valueField];
13987
+
13988
+ // if someone has already defined a value or Safari, then bail
13989
+ // and don't track value will cause over reporting of changes,
13990
+ // but it's better then a hard failure
13991
+ // (needed for certain tests that spyOn input values and Safari)
13992
+ if (node.hasOwnProperty(valueField) || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') {
13993
+ return;
13994
+ }
13995
+
13996
+ Object.defineProperty(node, valueField, {
13997
+ enumerable: descriptor.enumerable,
13998
+ configurable: true,
13999
+ get: function () {
14000
+ return descriptor.get.call(this);
14001
+ },
14002
+ set: function (value) {
14003
+ currentValue = '' + value;
14004
+ descriptor.set.call(this, value);
14005
+ }
14006
+ });
14007
+
14008
+ attachTracker(inst, {
14009
+ getValue: function () {
14010
+ return currentValue;
14011
+ },
14012
+ setValue: function (value) {
14013
+ currentValue = '' + value;
14014
+ },
14015
+ stopTracking: function () {
14016
+ detachTracker(inst);
14017
+ delete node[valueField];
14018
+ }
14019
+ });
14020
+ },
14021
+
14022
+ updateValueIfChanged: function (inst) {
14023
+ if (!inst) {
14024
+ return false;
14025
+ }
14026
+ var tracker = getTracker(inst);
14027
+
14028
+ if (!tracker) {
14029
+ inputValueTracking.track(inst);
14030
+ return true;
14031
+ }
14032
+
14033
+ var lastValue = tracker.getValue();
14034
+ var nextValue = getValueFromNode(ReactDOMComponentTree.getNodeFromInstance(inst));
14035
+
14036
+ if (nextValue !== lastValue) {
14037
+ tracker.setValue(nextValue);
14038
+ return true;
14039
+ }
14040
+
14041
+ return false;
14042
+ },
14043
+ stopTracking: function (inst) {
14044
+ var tracker = getTracker(inst);
14045
+ if (tracker) {
14046
+ tracker.stopTracking();
14047
+ }
14048
+ }
14049
+ };
14050
+
14051
+ module.exports = inputValueTracking;
14052
+ },{"32":32}],112:[function(_dereq_,module,exports){
13980
14053
  /**
13981
14054
  * Copyright 2013-present, Facebook, Inc.
13982
14055
  * All rights reserved.
@@ -13989,16 +14062,16 @@ module.exports = getVendorPrefixedEventName;
13989
14062
 
13990
14063
  'use strict';
13991
14064
 
13992
- var _prodInvariant = _dereq_(115),
13993
- _assign = _dereq_(148);
14065
+ var _prodInvariant = _dereq_(116),
14066
+ _assign = _dereq_(149);
13994
14067
 
13995
14068
  var ReactCompositeComponent = _dereq_(29);
13996
14069
  var ReactEmptyComponent = _dereq_(49);
13997
14070
  var ReactHostComponent = _dereq_(54);
13998
14071
 
13999
- var getNextDebugID = _dereq_(124);
14000
- var invariant = _dereq_(140);
14001
- var warning = _dereq_(147);
14072
+ var getNextDebugID = _dereq_(125);
14073
+ var invariant = _dereq_(141);
14074
+ var warning = _dereq_(148);
14002
14075
 
14003
14076
  // To avoid a cyclic dependency, we create the final class in this module
14004
14077
  var ReactCompositeComponentWrapper = function (element) {
@@ -14046,7 +14119,7 @@ function instantiateReactComponent(node, shouldHaveDebugID) {
14046
14119
  var info = '';
14047
14120
  if ("development" !== 'production') {
14048
14121
  if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {
14049
- info += ' You likely forgot to export your component from the file ' + 'it\'s defined in.';
14122
+ info += ' You likely forgot to export your component from the file ' + "it's defined in.";
14050
14123
  }
14051
14124
  }
14052
14125
  info += getDeclarationErrorAddendum(element._owner);
@@ -14105,7 +14178,7 @@ _assign(ReactCompositeComponentWrapper.prototype, ReactCompositeComponent, {
14105
14178
  });
14106
14179
 
14107
14180
  module.exports = instantiateReactComponent;
14108
- },{"115":115,"124":124,"140":140,"147":147,"148":148,"29":29,"49":49,"54":54}],112:[function(_dereq_,module,exports){
14181
+ },{"116":116,"125":125,"141":141,"148":148,"149":149,"29":29,"49":49,"54":54}],113:[function(_dereq_,module,exports){
14109
14182
  /**
14110
14183
  * Copyright 2013-present, Facebook, Inc.
14111
14184
  * All rights reserved.
@@ -14118,7 +14191,7 @@ module.exports = instantiateReactComponent;
14118
14191
 
14119
14192
  'use strict';
14120
14193
 
14121
- var ExecutionEnvironment = _dereq_(126);
14194
+ var ExecutionEnvironment = _dereq_(127);
14122
14195
 
14123
14196
  var useHasFeature;
14124
14197
  if (ExecutionEnvironment.canUseDOM) {
@@ -14165,7 +14238,7 @@ function isEventSupported(eventNameSuffix, capture) {
14165
14238
  }
14166
14239
 
14167
14240
  module.exports = isEventSupported;
14168
- },{"126":126}],113:[function(_dereq_,module,exports){
14241
+ },{"127":127}],114:[function(_dereq_,module,exports){
14169
14242
  /**
14170
14243
  * Copyright 2013-present, Facebook, Inc.
14171
14244
  * All rights reserved.
@@ -14184,21 +14257,21 @@ module.exports = isEventSupported;
14184
14257
  */
14185
14258
 
14186
14259
  var supportedInputTypes = {
14187
- 'color': true,
14188
- 'date': true,
14189
- 'datetime': true,
14260
+ color: true,
14261
+ date: true,
14262
+ datetime: true,
14190
14263
  'datetime-local': true,
14191
- 'email': true,
14192
- 'month': true,
14193
- 'number': true,
14194
- 'password': true,
14195
- 'range': true,
14196
- 'search': true,
14197
- 'tel': true,
14198
- 'text': true,
14199
- 'time': true,
14200
- 'url': true,
14201
- 'week': true
14264
+ email: true,
14265
+ month: true,
14266
+ number: true,
14267
+ password: true,
14268
+ range: true,
14269
+ search: true,
14270
+ tel: true,
14271
+ text: true,
14272
+ time: true,
14273
+ url: true,
14274
+ week: true
14202
14275
  };
14203
14276
 
14204
14277
  function isTextInputElement(elem) {
@@ -14216,7 +14289,7 @@ function isTextInputElement(elem) {
14216
14289
  }
14217
14290
 
14218
14291
  module.exports = isTextInputElement;
14219
- },{}],114:[function(_dereq_,module,exports){
14292
+ },{}],115:[function(_dereq_,module,exports){
14220
14293
  /**
14221
14294
  * Copyright 2013-present, Facebook, Inc.
14222
14295
  * All rights reserved.
@@ -14242,7 +14315,7 @@ function quoteAttributeValueForBrowser(value) {
14242
14315
  }
14243
14316
 
14244
14317
  module.exports = quoteAttributeValueForBrowser;
14245
- },{"100":100}],115:[function(_dereq_,module,exports){
14318
+ },{"100":100}],116:[function(_dereq_,module,exports){
14246
14319
  /**
14247
14320
  * Copyright (c) 2013-present, Facebook, Inc.
14248
14321
  * All rights reserved.
@@ -14281,7 +14354,7 @@ function reactProdInvariant(code) {
14281
14354
  }
14282
14355
 
14283
14356
  module.exports = reactProdInvariant;
14284
- },{}],116:[function(_dereq_,module,exports){
14357
+ },{}],117:[function(_dereq_,module,exports){
14285
14358
  /**
14286
14359
  * Copyright 2013-present, Facebook, Inc.
14287
14360
  * All rights reserved.
@@ -14294,7 +14367,7 @@ module.exports = reactProdInvariant;
14294
14367
 
14295
14368
  'use strict';
14296
14369
 
14297
- var ExecutionEnvironment = _dereq_(126);
14370
+ var ExecutionEnvironment = _dereq_(127);
14298
14371
  var DOMNamespaces = _dereq_(10);
14299
14372
 
14300
14373
  var WHITESPACE_TEST = /^[ \r\n\t\f]/;
@@ -14360,7 +14433,7 @@ if (ExecutionEnvironment.canUseDOM) {
14360
14433
  // in hopes that this is preserved even if "\uFEFF" is transformed to
14361
14434
  // the actual Unicode character (by Babel, for example).
14362
14435
  // https://github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216
14363
- node.innerHTML = String.fromCharCode(0xFEFF) + html;
14436
+ node.innerHTML = String.fromCharCode(0xfeff) + html;
14364
14437
 
14365
14438
  // deleteData leaves an empty `TextNode` which offsets the index of all
14366
14439
  // children. Definitely want to avoid this.
@@ -14379,7 +14452,7 @@ if (ExecutionEnvironment.canUseDOM) {
14379
14452
  }
14380
14453
 
14381
14454
  module.exports = setInnerHTML;
14382
- },{"10":10,"126":126,"98":98}],117:[function(_dereq_,module,exports){
14455
+ },{"10":10,"127":127,"98":98}],118:[function(_dereq_,module,exports){
14383
14456
  /**
14384
14457
  * Copyright 2013-present, Facebook, Inc.
14385
14458
  * All rights reserved.
@@ -14392,9 +14465,9 @@ module.exports = setInnerHTML;
14392
14465
 
14393
14466
  'use strict';
14394
14467
 
14395
- var ExecutionEnvironment = _dereq_(126);
14468
+ var ExecutionEnvironment = _dereq_(127);
14396
14469
  var escapeTextContentForBrowser = _dereq_(100);
14397
- var setInnerHTML = _dereq_(116);
14470
+ var setInnerHTML = _dereq_(117);
14398
14471
 
14399
14472
  /**
14400
14473
  * Set the textContent property of a node, ensuring that whitespace is preserved
@@ -14431,7 +14504,7 @@ if (ExecutionEnvironment.canUseDOM) {
14431
14504
  }
14432
14505
 
14433
14506
  module.exports = setTextContent;
14434
- },{"100":100,"116":116,"126":126}],118:[function(_dereq_,module,exports){
14507
+ },{"100":100,"117":117,"127":127}],119:[function(_dereq_,module,exports){
14435
14508
  /**
14436
14509
  * Copyright 2013-present, Facebook, Inc.
14437
14510
  * All rights reserved.
@@ -14473,7 +14546,7 @@ function shouldUpdateReactComponent(prevElement, nextElement) {
14473
14546
  }
14474
14547
 
14475
14548
  module.exports = shouldUpdateReactComponent;
14476
- },{}],119:[function(_dereq_,module,exports){
14549
+ },{}],120:[function(_dereq_,module,exports){
14477
14550
  /**
14478
14551
  * Copyright 2013-present, Facebook, Inc.
14479
14552
  * All rights reserved.
@@ -14486,15 +14559,15 @@ module.exports = shouldUpdateReactComponent;
14486
14559
 
14487
14560
  'use strict';
14488
14561
 
14489
- var _prodInvariant = _dereq_(115);
14562
+ var _prodInvariant = _dereq_(116);
14490
14563
 
14491
- var ReactCurrentOwner = _dereq_(122);
14564
+ var ReactCurrentOwner = _dereq_(123);
14492
14565
  var REACT_ELEMENT_TYPE = _dereq_(48);
14493
14566
 
14494
14567
  var getIteratorFn = _dereq_(107);
14495
- var invariant = _dereq_(140);
14568
+ var invariant = _dereq_(141);
14496
14569
  var KeyEscapeUtils = _dereq_(22);
14497
- var warning = _dereq_(147);
14570
+ var warning = _dereq_(148);
14498
14571
 
14499
14572
  var SEPARATOR = '.';
14500
14573
  var SUBSEPARATOR = ':';
@@ -14607,7 +14680,7 @@ function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext)
14607
14680
  if ("development" !== 'production') {
14608
14681
  addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.';
14609
14682
  if (children._isReactElement) {
14610
- addendum = ' It looks like you\'re using an element created by a different ' + 'version of React. Make sure to use only one copy of React.';
14683
+ addendum = " It looks like you're using an element created by a different " + 'version of React. Make sure to use only one copy of React.';
14611
14684
  }
14612
14685
  if (ReactCurrentOwner.current) {
14613
14686
  var name = ReactCurrentOwner.current.getName();
@@ -14649,7 +14722,7 @@ function traverseAllChildren(children, callback, traverseContext) {
14649
14722
  }
14650
14723
 
14651
14724
  module.exports = traverseAllChildren;
14652
- },{"107":107,"115":115,"122":122,"140":140,"147":147,"22":22,"48":48}],120:[function(_dereq_,module,exports){
14725
+ },{"107":107,"116":116,"123":123,"141":141,"148":148,"22":22,"48":48}],121:[function(_dereq_,module,exports){
14653
14726
  /**
14654
14727
  * Copyright 2015-present, Facebook, Inc.
14655
14728
  * All rights reserved.
@@ -14662,10 +14735,10 @@ module.exports = traverseAllChildren;
14662
14735
 
14663
14736
  'use strict';
14664
14737
 
14665
- var _assign = _dereq_(148);
14738
+ var _assign = _dereq_(149);
14666
14739
 
14667
- var emptyFunction = _dereq_(132);
14668
- var warning = _dereq_(147);
14740
+ var emptyFunction = _dereq_(133);
14741
+ var warning = _dereq_(148);
14669
14742
 
14670
14743
  var validateDOMNesting = emptyFunction;
14671
14744
 
@@ -14773,7 +14846,6 @@ if ("development" !== 'production') {
14773
14846
  // but
14774
14847
  case 'option':
14775
14848
  return tag === '#text';
14776
-
14777
14849
  // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd
14778
14850
  // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption
14779
14851
  // No special behavior since these rules fall back to "in body" mode for
@@ -14782,25 +14854,20 @@ if ("development" !== 'production') {
14782
14854
  // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr
14783
14855
  case 'tr':
14784
14856
  return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template';
14785
-
14786
14857
  // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody
14787
14858
  case 'tbody':
14788
14859
  case 'thead':
14789
14860
  case 'tfoot':
14790
14861
  return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template';
14791
-
14792
14862
  // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup
14793
14863
  case 'colgroup':
14794
14864
  return tag === 'col' || tag === 'template';
14795
-
14796
14865
  // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable
14797
14866
  case 'table':
14798
14867
  return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template';
14799
-
14800
14868
  // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead
14801
14869
  case 'head':
14802
14870
  return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template';
14803
-
14804
14871
  // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element
14805
14872
  case 'html':
14806
14873
  return tag === 'head' || tag === 'body';
@@ -14996,7 +15063,7 @@ if ("development" !== 'production') {
14996
15063
  tagDisplayName = 'Text nodes';
14997
15064
  } else {
14998
15065
  tagDisplayName = 'Whitespace text nodes';
14999
- whitespaceInfo = ' Make sure you don\'t have any extra whitespace between tags on ' + 'each line of your source code.';
15066
+ whitespaceInfo = " Make sure you don't have any extra whitespace between tags on " + 'each line of your source code.';
15000
15067
  }
15001
15068
  } else {
15002
15069
  tagDisplayName = '<' + childTag + '>';
@@ -15026,7 +15093,7 @@ if ("development" !== 'production') {
15026
15093
  }
15027
15094
 
15028
15095
  module.exports = validateDOMNesting;
15029
- },{"132":132,"147":147,"148":148}],121:[function(_dereq_,module,exports){
15096
+ },{"133":133,"148":148,"149":149}],122:[function(_dereq_,module,exports){
15030
15097
  /**
15031
15098
  * Copyright 2013-present, Facebook, Inc.
15032
15099
  * All rights reserved.
@@ -15044,7 +15111,7 @@ module.exports = validateDOMNesting;
15044
15111
  var ReactInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
15045
15112
 
15046
15113
  module.exports = ReactInternals.ReactComponentTreeHook;
15047
- },{}],122:[function(_dereq_,module,exports){
15114
+ },{}],123:[function(_dereq_,module,exports){
15048
15115
  /**
15049
15116
  * Copyright 2013-present, Facebook, Inc.
15050
15117
  * All rights reserved.
@@ -15062,7 +15129,7 @@ module.exports = ReactInternals.ReactComponentTreeHook;
15062
15129
  var ReactInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
15063
15130
 
15064
15131
  module.exports = ReactInternals.ReactCurrentOwner;
15065
- },{}],123:[function(_dereq_,module,exports){
15132
+ },{}],124:[function(_dereq_,module,exports){
15066
15133
  /**
15067
15134
  * Copyright 2013-present, Facebook, Inc.
15068
15135
  * All rights reserved.
@@ -15078,7 +15145,7 @@ module.exports = ReactInternals.ReactCurrentOwner;
15078
15145
  'use strict';
15079
15146
 
15080
15147
  module.exports = React;
15081
- },{}],124:[function(_dereq_,module,exports){
15148
+ },{}],125:[function(_dereq_,module,exports){
15082
15149
  /**
15083
15150
  * Copyright 2013-present, Facebook, Inc.
15084
15151
  * All rights reserved.
@@ -15096,7 +15163,7 @@ module.exports = React;
15096
15163
  var ReactInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
15097
15164
 
15098
15165
  module.exports = ReactInternals.getNextDebugID;
15099
- },{}],125:[function(_dereq_,module,exports){
15166
+ },{}],126:[function(_dereq_,module,exports){
15100
15167
  'use strict';
15101
15168
 
15102
15169
  /**
@@ -15117,7 +15184,7 @@ module.exports = ReactInternals.getNextDebugID;
15117
15184
  * @typechecks
15118
15185
  */
15119
15186
 
15120
- var emptyFunction = _dereq_(132);
15187
+ var emptyFunction = _dereq_(133);
15121
15188
 
15122
15189
  /**
15123
15190
  * Upstream version of event listener. Does not take into account specific
@@ -15180,7 +15247,7 @@ var EventListener = {
15180
15247
  };
15181
15248
 
15182
15249
  module.exports = EventListener;
15183
- },{"132":132}],126:[function(_dereq_,module,exports){
15250
+ },{"133":133}],127:[function(_dereq_,module,exports){
15184
15251
  /**
15185
15252
  * Copyright (c) 2013-present, Facebook, Inc.
15186
15253
  * All rights reserved.
@@ -15216,7 +15283,7 @@ var ExecutionEnvironment = {
15216
15283
  };
15217
15284
 
15218
15285
  module.exports = ExecutionEnvironment;
15219
- },{}],127:[function(_dereq_,module,exports){
15286
+ },{}],128:[function(_dereq_,module,exports){
15220
15287
  "use strict";
15221
15288
 
15222
15289
  /**
@@ -15248,7 +15315,7 @@ function camelize(string) {
15248
15315
  }
15249
15316
 
15250
15317
  module.exports = camelize;
15251
- },{}],128:[function(_dereq_,module,exports){
15318
+ },{}],129:[function(_dereq_,module,exports){
15252
15319
  /**
15253
15320
  * Copyright (c) 2013-present, Facebook, Inc.
15254
15321
  * All rights reserved.
@@ -15262,7 +15329,7 @@ module.exports = camelize;
15262
15329
 
15263
15330
  'use strict';
15264
15331
 
15265
- var camelize = _dereq_(127);
15332
+ var camelize = _dereq_(128);
15266
15333
 
15267
15334
  var msPattern = /^-ms-/;
15268
15335
 
@@ -15288,7 +15355,7 @@ function camelizeStyleName(string) {
15288
15355
  }
15289
15356
 
15290
15357
  module.exports = camelizeStyleName;
15291
- },{"127":127}],129:[function(_dereq_,module,exports){
15358
+ },{"128":128}],130:[function(_dereq_,module,exports){
15292
15359
  'use strict';
15293
15360
 
15294
15361
  /**
@@ -15302,7 +15369,7 @@ module.exports = camelizeStyleName;
15302
15369
  *
15303
15370
  */
15304
15371
 
15305
- var isTextNode = _dereq_(142);
15372
+ var isTextNode = _dereq_(143);
15306
15373
 
15307
15374
  /*eslint-disable no-bitwise */
15308
15375
 
@@ -15328,7 +15395,7 @@ function containsNode(outerNode, innerNode) {
15328
15395
  }
15329
15396
 
15330
15397
  module.exports = containsNode;
15331
- },{"142":142}],130:[function(_dereq_,module,exports){
15398
+ },{"143":143}],131:[function(_dereq_,module,exports){
15332
15399
  'use strict';
15333
15400
 
15334
15401
  /**
@@ -15342,7 +15409,7 @@ module.exports = containsNode;
15342
15409
  * @typechecks
15343
15410
  */
15344
15411
 
15345
- var invariant = _dereq_(140);
15412
+ var invariant = _dereq_(141);
15346
15413
 
15347
15414
  /**
15348
15415
  * Convert array-like objects to arrays.
@@ -15455,7 +15522,7 @@ function createArrayFromMixed(obj) {
15455
15522
  }
15456
15523
 
15457
15524
  module.exports = createArrayFromMixed;
15458
- },{"140":140}],131:[function(_dereq_,module,exports){
15525
+ },{"141":141}],132:[function(_dereq_,module,exports){
15459
15526
  'use strict';
15460
15527
 
15461
15528
  /**
@@ -15471,11 +15538,11 @@ module.exports = createArrayFromMixed;
15471
15538
 
15472
15539
  /*eslint-disable fb-www/unsafe-html*/
15473
15540
 
15474
- var ExecutionEnvironment = _dereq_(126);
15541
+ var ExecutionEnvironment = _dereq_(127);
15475
15542
 
15476
- var createArrayFromMixed = _dereq_(130);
15477
- var getMarkupWrap = _dereq_(136);
15478
- var invariant = _dereq_(140);
15543
+ var createArrayFromMixed = _dereq_(131);
15544
+ var getMarkupWrap = _dereq_(137);
15545
+ var invariant = _dereq_(141);
15479
15546
 
15480
15547
  /**
15481
15548
  * Dummy container used to render all markup.
@@ -15539,7 +15606,7 @@ function createNodesFromMarkup(markup, handleScript) {
15539
15606
  }
15540
15607
 
15541
15608
  module.exports = createNodesFromMarkup;
15542
- },{"126":126,"130":130,"136":136,"140":140}],132:[function(_dereq_,module,exports){
15609
+ },{"127":127,"131":131,"137":137,"141":141}],133:[function(_dereq_,module,exports){
15543
15610
  "use strict";
15544
15611
 
15545
15612
  /**
@@ -15578,7 +15645,7 @@ emptyFunction.thatReturnsArgument = function (arg) {
15578
15645
  };
15579
15646
 
15580
15647
  module.exports = emptyFunction;
15581
- },{}],133:[function(_dereq_,module,exports){
15648
+ },{}],134:[function(_dereq_,module,exports){
15582
15649
  /**
15583
15650
  * Copyright (c) 2013-present, Facebook, Inc.
15584
15651
  * All rights reserved.
@@ -15598,7 +15665,7 @@ if ("development" !== 'production') {
15598
15665
  }
15599
15666
 
15600
15667
  module.exports = emptyObject;
15601
- },{}],134:[function(_dereq_,module,exports){
15668
+ },{}],135:[function(_dereq_,module,exports){
15602
15669
  /**
15603
15670
  * Copyright (c) 2013-present, Facebook, Inc.
15604
15671
  * All rights reserved.
@@ -15625,7 +15692,7 @@ function focusNode(node) {
15625
15692
  }
15626
15693
 
15627
15694
  module.exports = focusNode;
15628
- },{}],135:[function(_dereq_,module,exports){
15695
+ },{}],136:[function(_dereq_,module,exports){
15629
15696
  'use strict';
15630
15697
 
15631
15698
  /**
@@ -15664,7 +15731,7 @@ function getActiveElement(doc) /*?DOMElement*/{
15664
15731
  }
15665
15732
 
15666
15733
  module.exports = getActiveElement;
15667
- },{}],136:[function(_dereq_,module,exports){
15734
+ },{}],137:[function(_dereq_,module,exports){
15668
15735
  'use strict';
15669
15736
 
15670
15737
  /**
@@ -15679,9 +15746,9 @@ module.exports = getActiveElement;
15679
15746
 
15680
15747
  /*eslint-disable fb-www/unsafe-html */
15681
15748
 
15682
- var ExecutionEnvironment = _dereq_(126);
15749
+ var ExecutionEnvironment = _dereq_(127);
15683
15750
 
15684
- var invariant = _dereq_(140);
15751
+ var invariant = _dereq_(141);
15685
15752
 
15686
15753
  /**
15687
15754
  * Dummy container used to detect which wraps are necessary.
@@ -15759,7 +15826,7 @@ function getMarkupWrap(nodeName) {
15759
15826
  }
15760
15827
 
15761
15828
  module.exports = getMarkupWrap;
15762
- },{"126":126,"140":140}],137:[function(_dereq_,module,exports){
15829
+ },{"127":127,"141":141}],138:[function(_dereq_,module,exports){
15763
15830
  /**
15764
15831
  * Copyright (c) 2013-present, Facebook, Inc.
15765
15832
  * All rights reserved.
@@ -15798,7 +15865,7 @@ function getUnboundedScrollPosition(scrollable) {
15798
15865
  }
15799
15866
 
15800
15867
  module.exports = getUnboundedScrollPosition;
15801
- },{}],138:[function(_dereq_,module,exports){
15868
+ },{}],139:[function(_dereq_,module,exports){
15802
15869
  'use strict';
15803
15870
 
15804
15871
  /**
@@ -15831,7 +15898,7 @@ function hyphenate(string) {
15831
15898
  }
15832
15899
 
15833
15900
  module.exports = hyphenate;
15834
- },{}],139:[function(_dereq_,module,exports){
15901
+ },{}],140:[function(_dereq_,module,exports){
15835
15902
  /**
15836
15903
  * Copyright (c) 2013-present, Facebook, Inc.
15837
15904
  * All rights reserved.
@@ -15845,7 +15912,7 @@ module.exports = hyphenate;
15845
15912
 
15846
15913
  'use strict';
15847
15914
 
15848
- var hyphenate = _dereq_(138);
15915
+ var hyphenate = _dereq_(139);
15849
15916
 
15850
15917
  var msPattern = /^ms-/;
15851
15918
 
@@ -15870,7 +15937,7 @@ function hyphenateStyleName(string) {
15870
15937
  }
15871
15938
 
15872
15939
  module.exports = hyphenateStyleName;
15873
- },{"138":138}],140:[function(_dereq_,module,exports){
15940
+ },{"139":139}],141:[function(_dereq_,module,exports){
15874
15941
  /**
15875
15942
  * Copyright (c) 2013-present, Facebook, Inc.
15876
15943
  * All rights reserved.
@@ -15926,7 +15993,7 @@ function invariant(condition, format, a, b, c, d, e, f) {
15926
15993
  }
15927
15994
 
15928
15995
  module.exports = invariant;
15929
- },{}],141:[function(_dereq_,module,exports){
15996
+ },{}],142:[function(_dereq_,module,exports){
15930
15997
  'use strict';
15931
15998
 
15932
15999
  /**
@@ -15951,7 +16018,7 @@ function isNode(object) {
15951
16018
  }
15952
16019
 
15953
16020
  module.exports = isNode;
15954
- },{}],142:[function(_dereq_,module,exports){
16021
+ },{}],143:[function(_dereq_,module,exports){
15955
16022
  'use strict';
15956
16023
 
15957
16024
  /**
@@ -15965,7 +16032,7 @@ module.exports = isNode;
15965
16032
  * @typechecks
15966
16033
  */
15967
16034
 
15968
- var isNode = _dereq_(141);
16035
+ var isNode = _dereq_(142);
15969
16036
 
15970
16037
  /**
15971
16038
  * @param {*} object The object to check.
@@ -15976,7 +16043,7 @@ function isTextNode(object) {
15976
16043
  }
15977
16044
 
15978
16045
  module.exports = isTextNode;
15979
- },{"141":141}],143:[function(_dereq_,module,exports){
16046
+ },{"142":142}],144:[function(_dereq_,module,exports){
15980
16047
  /**
15981
16048
  * Copyright (c) 2013-present, Facebook, Inc.
15982
16049
  * All rights reserved.
@@ -16006,7 +16073,7 @@ function memoizeStringOnly(callback) {
16006
16073
  }
16007
16074
 
16008
16075
  module.exports = memoizeStringOnly;
16009
- },{}],144:[function(_dereq_,module,exports){
16076
+ },{}],145:[function(_dereq_,module,exports){
16010
16077
  /**
16011
16078
  * Copyright (c) 2013-present, Facebook, Inc.
16012
16079
  * All rights reserved.
@@ -16020,7 +16087,7 @@ module.exports = memoizeStringOnly;
16020
16087
 
16021
16088
  'use strict';
16022
16089
 
16023
- var ExecutionEnvironment = _dereq_(126);
16090
+ var ExecutionEnvironment = _dereq_(127);
16024
16091
 
16025
16092
  var performance;
16026
16093
 
@@ -16029,7 +16096,7 @@ if (ExecutionEnvironment.canUseDOM) {
16029
16096
  }
16030
16097
 
16031
16098
  module.exports = performance || {};
16032
- },{"126":126}],145:[function(_dereq_,module,exports){
16099
+ },{"127":127}],146:[function(_dereq_,module,exports){
16033
16100
  'use strict';
16034
16101
 
16035
16102
  /**
@@ -16043,7 +16110,7 @@ module.exports = performance || {};
16043
16110
  * @typechecks
16044
16111
  */
16045
16112
 
16046
- var performance = _dereq_(144);
16113
+ var performance = _dereq_(145);
16047
16114
 
16048
16115
  var performanceNow;
16049
16116
 
@@ -16063,7 +16130,7 @@ if (performance.now) {
16063
16130
  }
16064
16131
 
16065
16132
  module.exports = performanceNow;
16066
- },{"144":144}],146:[function(_dereq_,module,exports){
16133
+ },{"145":145}],147:[function(_dereq_,module,exports){
16067
16134
  /**
16068
16135
  * Copyright (c) 2013-present, Facebook, Inc.
16069
16136
  * All rights reserved.
@@ -16131,7 +16198,7 @@ function shallowEqual(objA, objB) {
16131
16198
  }
16132
16199
 
16133
16200
  module.exports = shallowEqual;
16134
- },{}],147:[function(_dereq_,module,exports){
16201
+ },{}],148:[function(_dereq_,module,exports){
16135
16202
  /**
16136
16203
  * Copyright 2014-2015, Facebook, Inc.
16137
16204
  * All rights reserved.
@@ -16144,7 +16211,7 @@ module.exports = shallowEqual;
16144
16211
 
16145
16212
  'use strict';
16146
16213
 
16147
- var emptyFunction = _dereq_(132);
16214
+ var emptyFunction = _dereq_(133);
16148
16215
 
16149
16216
  /**
16150
16217
  * Similar to invariant but only logs a warning if the condition is not met.
@@ -16198,7 +16265,7 @@ if ("development" !== 'production') {
16198
16265
  }
16199
16266
 
16200
16267
  module.exports = warning;
16201
- },{"132":132}],148:[function(_dereq_,module,exports){
16268
+ },{"133":133}],149:[function(_dereq_,module,exports){
16202
16269
  /*
16203
16270
  object-assign
16204
16271
  (c) Sindre Sorhus
@@ -16290,7 +16357,7 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
16290
16357
  return to;
16291
16358
  };
16292
16359
 
16293
- },{}],149:[function(_dereq_,module,exports){
16360
+ },{}],150:[function(_dereq_,module,exports){
16294
16361
  /**
16295
16362
  * Copyright 2013-present, Facebook, Inc.
16296
16363
  * All rights reserved.
@@ -16302,12 +16369,12 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
16302
16369
 
16303
16370
  'use strict';
16304
16371
 
16305
- var invariant = _dereq_(140);
16306
- var warning = _dereq_(147);
16307
-
16308
- var ReactPropTypesSecret = _dereq_(151);
16309
-
16310
- var loggedTypeFailures = {};
16372
+ if ("development" !== 'production') {
16373
+ var invariant = _dereq_(141);
16374
+ var warning = _dereq_(148);
16375
+ var ReactPropTypesSecret = _dereq_(153);
16376
+ var loggedTypeFailures = {};
16377
+ }
16311
16378
 
16312
16379
  /**
16313
16380
  * Assert that the values match with the type specs.
@@ -16336,7 +16403,7 @@ function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
16336
16403
  } catch (ex) {
16337
16404
  error = ex;
16338
16405
  }
16339
- "development" !== 'production' ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error) : void 0;
16406
+ warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);
16340
16407
  if (error instanceof Error && !(error.message in loggedTypeFailures)) {
16341
16408
  // Only monitor this failure once because there tends to be a lot of the
16342
16409
  // same error.
@@ -16344,7 +16411,7 @@ function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
16344
16411
 
16345
16412
  var stack = getStack ? getStack() : '';
16346
16413
 
16347
- "development" !== 'production' ? warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '') : void 0;
16414
+ warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');
16348
16415
  }
16349
16416
  }
16350
16417
  }
@@ -16353,7 +16420,7 @@ function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
16353
16420
 
16354
16421
  module.exports = checkPropTypes;
16355
16422
 
16356
- },{"140":140,"147":147,"151":151}],150:[function(_dereq_,module,exports){
16423
+ },{"141":141,"148":148,"153":153}],151:[function(_dereq_,module,exports){
16357
16424
  /**
16358
16425
  * Copyright 2013-present, Facebook, Inc.
16359
16426
  * All rights reserved.
@@ -16365,14 +16432,37 @@ module.exports = checkPropTypes;
16365
16432
 
16366
16433
  'use strict';
16367
16434
 
16368
- var emptyFunction = _dereq_(132);
16369
- var invariant = _dereq_(140);
16370
- var warning = _dereq_(147);
16435
+ // React 15.5 references this module, and assumes PropTypes are still callable in production.
16436
+ // Therefore we re-export development-only version with all the PropTypes checks here.
16437
+ // However if one is migrating to the `prop-types` npm library, they will go through the
16438
+ // `index.js` entry point, and it will branch depending on the environment.
16439
+ var factory = _dereq_(152);
16440
+ module.exports = function(isValidElement) {
16441
+ // It is still allowed in 15.5.
16442
+ var throwOnDirectAccess = false;
16443
+ return factory(isValidElement, throwOnDirectAccess);
16444
+ };
16371
16445
 
16372
- var ReactPropTypesSecret = _dereq_(151);
16373
- var checkPropTypes = _dereq_(149);
16446
+ },{"152":152}],152:[function(_dereq_,module,exports){
16447
+ /**
16448
+ * Copyright 2013-present, Facebook, Inc.
16449
+ * All rights reserved.
16450
+ *
16451
+ * This source code is licensed under the BSD-style license found in the
16452
+ * LICENSE file in the root directory of this source tree. An additional grant
16453
+ * of patent rights can be found in the PATENTS file in the same directory.
16454
+ */
16455
+
16456
+ 'use strict';
16457
+
16458
+ var emptyFunction = _dereq_(133);
16459
+ var invariant = _dereq_(141);
16460
+ var warning = _dereq_(148);
16374
16461
 
16375
- module.exports = function (isValidElement) {
16462
+ var ReactPropTypesSecret = _dereq_(153);
16463
+ var checkPropTypes = _dereq_(150);
16464
+
16465
+ module.exports = function(isValidElement, throwOnDirectAccess) {
16376
16466
  /* global Symbol */
16377
16467
  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
16378
16468
  var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
@@ -16447,58 +16537,27 @@ module.exports = function (isValidElement) {
16447
16537
 
16448
16538
  var ANONYMOUS = '<<anonymous>>';
16449
16539
 
16450
- var ReactPropTypes;
16451
-
16452
- if ("development" !== 'production') {
16453
- // Keep in sync with production version below
16454
- ReactPropTypes = {
16455
- array: createPrimitiveTypeChecker('array'),
16456
- bool: createPrimitiveTypeChecker('boolean'),
16457
- func: createPrimitiveTypeChecker('function'),
16458
- number: createPrimitiveTypeChecker('number'),
16459
- object: createPrimitiveTypeChecker('object'),
16460
- string: createPrimitiveTypeChecker('string'),
16461
- symbol: createPrimitiveTypeChecker('symbol'),
16462
-
16463
- any: createAnyTypeChecker(),
16464
- arrayOf: createArrayOfTypeChecker,
16465
- element: createElementTypeChecker(),
16466
- instanceOf: createInstanceTypeChecker,
16467
- node: createNodeChecker(),
16468
- objectOf: createObjectOfTypeChecker,
16469
- oneOf: createEnumTypeChecker,
16470
- oneOfType: createUnionTypeChecker,
16471
- shape: createShapeTypeChecker
16472
- };
16473
- } else {
16474
- var productionTypeChecker = function () {
16475
- invariant(false, 'React.PropTypes type checking code is stripped in production.');
16476
- };
16477
- productionTypeChecker.isRequired = productionTypeChecker;
16478
- var getProductionTypeChecker = function () {
16479
- return productionTypeChecker;
16480
- };
16481
- // Keep in sync with development version above
16482
- ReactPropTypes = {
16483
- array: productionTypeChecker,
16484
- bool: productionTypeChecker,
16485
- func: productionTypeChecker,
16486
- number: productionTypeChecker,
16487
- object: productionTypeChecker,
16488
- string: productionTypeChecker,
16489
- symbol: productionTypeChecker,
16490
-
16491
- any: productionTypeChecker,
16492
- arrayOf: getProductionTypeChecker,
16493
- element: productionTypeChecker,
16494
- instanceOf: getProductionTypeChecker,
16495
- node: productionTypeChecker,
16496
- objectOf: getProductionTypeChecker,
16497
- oneOf: getProductionTypeChecker,
16498
- oneOfType: getProductionTypeChecker,
16499
- shape: getProductionTypeChecker
16500
- };
16501
- }
16540
+ // Important!
16541
+ // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
16542
+ var ReactPropTypes = {
16543
+ array: createPrimitiveTypeChecker('array'),
16544
+ bool: createPrimitiveTypeChecker('boolean'),
16545
+ func: createPrimitiveTypeChecker('function'),
16546
+ number: createPrimitiveTypeChecker('number'),
16547
+ object: createPrimitiveTypeChecker('object'),
16548
+ string: createPrimitiveTypeChecker('string'),
16549
+ symbol: createPrimitiveTypeChecker('symbol'),
16550
+
16551
+ any: createAnyTypeChecker(),
16552
+ arrayOf: createArrayOfTypeChecker,
16553
+ element: createElementTypeChecker(),
16554
+ instanceOf: createInstanceTypeChecker,
16555
+ node: createNodeChecker(),
16556
+ objectOf: createObjectOfTypeChecker,
16557
+ oneOf: createEnumTypeChecker,
16558
+ oneOfType: createUnionTypeChecker,
16559
+ shape: createShapeTypeChecker
16560
+ };
16502
16561
 
16503
16562
  /**
16504
16563
  * inlined Object.is polyfill to avoid requiring consumers ship their own
@@ -16535,16 +16594,41 @@ module.exports = function (isValidElement) {
16535
16594
  function createChainableTypeChecker(validate) {
16536
16595
  if ("development" !== 'production') {
16537
16596
  var manualPropTypeCallCache = {};
16597
+ var manualPropTypeWarningCount = 0;
16538
16598
  }
16539
16599
  function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
16540
16600
  componentName = componentName || ANONYMOUS;
16541
16601
  propFullName = propFullName || propName;
16542
- if ("development" !== 'production') {
16543
- if (secret !== ReactPropTypesSecret && typeof console !== 'undefined') {
16602
+
16603
+ if (secret !== ReactPropTypesSecret) {
16604
+ if (throwOnDirectAccess) {
16605
+ // New behavior only for users of `prop-types` package
16606
+ invariant(
16607
+ false,
16608
+ 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
16609
+ 'Use `PropTypes.checkPropTypes()` to call them. ' +
16610
+ 'Read more at http://fb.me/use-check-prop-types'
16611
+ );
16612
+ } else if ("development" !== 'production' && typeof console !== 'undefined') {
16613
+ // Old behavior for people using React.PropTypes
16544
16614
  var cacheKey = componentName + ':' + propName;
16545
- if (!manualPropTypeCallCache[cacheKey]) {
16546
- "development" !== 'production' ? warning(false, 'You are manually calling a React.PropTypes validation ' + 'function for the `%s` prop on `%s`. This is deprecated ' + 'and will not work in production with the next major version. ' + 'You may be seeing this warning due to a third-party PropTypes ' + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.', propFullName, componentName) : void 0;
16615
+ if (
16616
+ !manualPropTypeCallCache[cacheKey] &&
16617
+ // Avoid spamming the console because they are often not actionable except for lib authors
16618
+ manualPropTypeWarningCount < 3
16619
+ ) {
16620
+ warning(
16621
+ false,
16622
+ 'You are manually calling a React.PropTypes validation ' +
16623
+ 'function for the `%s` prop on `%s`. This is deprecated ' +
16624
+ 'and will throw in the standalone `prop-types` package. ' +
16625
+ 'You may be seeing this warning due to a third-party PropTypes ' +
16626
+ 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',
16627
+ propFullName,
16628
+ componentName
16629
+ );
16547
16630
  manualPropTypeCallCache[cacheKey] = true;
16631
+ manualPropTypeWarningCount++;
16548
16632
  }
16549
16633
  }
16550
16634
  }
@@ -16682,6 +16766,20 @@ module.exports = function (isValidElement) {
16682
16766
  return emptyFunction.thatReturnsNull;
16683
16767
  }
16684
16768
 
16769
+ for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
16770
+ var checker = arrayOfTypeCheckers[i];
16771
+ if (typeof checker !== 'function') {
16772
+ warning(
16773
+ false,
16774
+ 'Invalid argument supplid to oneOfType. Expected an array of check functions, but ' +
16775
+ 'received %s at index %s.',
16776
+ getPostfixForTypeWarning(checker),
16777
+ i
16778
+ );
16779
+ return emptyFunction.thatReturnsNull;
16780
+ }
16781
+ }
16782
+
16685
16783
  function validate(props, propName, componentName, location, propFullName) {
16686
16784
  for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
16687
16785
  var checker = arrayOfTypeCheckers[i];
@@ -16814,6 +16912,9 @@ module.exports = function (isValidElement) {
16814
16912
  // This handles more types than `getPropType`. Only used for error messages.
16815
16913
  // See `createPrimitiveTypeChecker`.
16816
16914
  function getPreciseType(propValue) {
16915
+ if (typeof propValue === 'undefined' || propValue === null) {
16916
+ return '' + propValue;
16917
+ }
16817
16918
  var propType = getPropType(propValue);
16818
16919
  if (propType === 'object') {
16819
16920
  if (propValue instanceof Date) {
@@ -16825,6 +16926,23 @@ module.exports = function (isValidElement) {
16825
16926
  return propType;
16826
16927
  }
16827
16928
 
16929
+ // Returns a string that is postfixed to a warning about an invalid type.
16930
+ // For example, "undefined" or "of type array"
16931
+ function getPostfixForTypeWarning(value) {
16932
+ var type = getPreciseType(value);
16933
+ switch (type) {
16934
+ case 'array':
16935
+ case 'object':
16936
+ return 'an ' + type;
16937
+ case 'boolean':
16938
+ case 'date':
16939
+ case 'regexp':
16940
+ return 'a ' + type;
16941
+ default:
16942
+ return type;
16943
+ }
16944
+ }
16945
+
16828
16946
  // Returns class name of the object, if any.
16829
16947
  function getClassName(propValue) {
16830
16948
  if (!propValue.constructor || !propValue.constructor.name) {
@@ -16839,7 +16957,7 @@ module.exports = function (isValidElement) {
16839
16957
  return ReactPropTypes;
16840
16958
  };
16841
16959
 
16842
- },{"132":132,"140":140,"147":147,"149":149,"151":151}],151:[function(_dereq_,module,exports){
16960
+ },{"133":133,"141":141,"148":148,"150":150,"153":153}],153:[function(_dereq_,module,exports){
16843
16961
  /**
16844
16962
  * Copyright 2013-present, Facebook, Inc.
16845
16963
  * All rights reserved.