react 0.14.0-alpha1 → 0.14.0-alpha2

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * JSXTransformer v0.14.0-alpha1
2
+ * JSXTransformer v0.14.0-alpha2
3
3
  */
4
4
  (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.JSXTransformer = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * React (with addons) v0.14.0-alpha1
2
+ * React (with addons) v0.14.0-alpha2
3
3
  */
4
4
  (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.React = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
5
5
  /**
@@ -26,14 +26,14 @@ var LinkedStateMixin = _dereq_(25);
26
26
  var React = _dereq_(30);
27
27
  var ReactComponentWithPureRenderMixin = _dereq_(41);
28
28
  var ReactCSSTransitionGroup = _dereq_(33);
29
- var ReactFragment = _dereq_(68);
30
- var ReactTransitionGroup = _dereq_(96);
31
- var ReactUpdates = _dereq_(98);
29
+ var ReactFragment = _dereq_(70);
30
+ var ReactTransitionGroup = _dereq_(99);
31
+ var ReactUpdates = _dereq_(101);
32
32
 
33
- var cloneWithProps = _dereq_(120);
34
- var renderSubtreeIntoContainer = _dereq_(160);
35
- var shallowCompare = _dereq_(163);
36
- var update = _dereq_(168);
33
+ var cloneWithProps = _dereq_(123);
34
+ var renderSubtreeIntoContainer = _dereq_(163);
35
+ var shallowCompare = _dereq_(166);
36
+ var update = _dereq_(171);
37
37
 
38
38
  React.addons = {
39
39
  CSSTransitionGroup: ReactCSSTransitionGroup,
@@ -50,12 +50,12 @@ React.addons = {
50
50
  };
51
51
 
52
52
  if ('production' !== "development") {
53
- React.addons.Perf = _dereq_(60);
54
- React.addons.TestUtils = _dereq_(93);
53
+ React.addons.Perf = _dereq_(62);
54
+ React.addons.TestUtils = _dereq_(96);
55
55
  }
56
56
 
57
57
  module.exports = React;
58
- },{"120":120,"160":160,"163":163,"168":168,"25":25,"30":30,"33":33,"41":41,"60":60,"68":68,"93":93,"96":96,"98":98}],2:[function(_dereq_,module,exports){
58
+ },{"101":101,"123":123,"163":163,"166":166,"171":171,"25":25,"30":30,"33":33,"41":41,"62":62,"70":70,"96":96,"99":99}],2:[function(_dereq_,module,exports){
59
59
  /**
60
60
  * Copyright 2013-2015, Facebook, Inc.
61
61
  * All rights reserved.
@@ -70,8 +70,8 @@ module.exports = React;
70
70
 
71
71
  'use strict';
72
72
 
73
- var findDOMNode = _dereq_(129);
74
- var focusNode = _dereq_(131);
73
+ var findDOMNode = _dereq_(132);
74
+ var focusNode = _dereq_(134);
75
75
 
76
76
  var AutoFocusMixin = {
77
77
  componentDidMount: function () {
@@ -82,7 +82,7 @@ var AutoFocusMixin = {
82
82
  };
83
83
 
84
84
  module.exports = AutoFocusMixin;
85
- },{"129":129,"131":131}],3:[function(_dereq_,module,exports){
85
+ },{"132":132,"134":134}],3:[function(_dereq_,module,exports){
86
86
  /**
87
87
  * Copyright 2013-2015 Facebook, Inc.
88
88
  * All rights reserved.
@@ -101,10 +101,10 @@ var EventConstants = _dereq_(16);
101
101
  var EventPropagators = _dereq_(21);
102
102
  var ExecutionEnvironment = _dereq_(22);
103
103
  var FallbackCompositionState = _dereq_(23);
104
- var SyntheticCompositionEvent = _dereq_(104);
105
- var SyntheticInputEvent = _dereq_(108);
104
+ var SyntheticCompositionEvent = _dereq_(107);
105
+ var SyntheticInputEvent = _dereq_(111);
106
106
 
107
- var keyOf = _dereq_(153);
107
+ var keyOf = _dereq_(156);
108
108
 
109
109
  var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space
110
110
  var START_KEYCODE = 229;
@@ -488,7 +488,7 @@ var BeforeInputEventPlugin = {
488
488
  };
489
489
 
490
490
  module.exports = BeforeInputEventPlugin;
491
- },{"104":104,"108":108,"153":153,"16":16,"21":21,"22":22,"23":23}],4:[function(_dereq_,module,exports){
491
+ },{"107":107,"111":111,"156":156,"16":16,"21":21,"22":22,"23":23}],4:[function(_dereq_,module,exports){
492
492
  /**
493
493
  * Copyright 2013-2015, Facebook, Inc.
494
494
  * All rights reserved.
@@ -503,7 +503,7 @@ module.exports = BeforeInputEventPlugin;
503
503
 
504
504
  'use strict';
505
505
 
506
- var invariant = _dereq_(146);
506
+ var invariant = _dereq_(149);
507
507
 
508
508
  /**
509
509
  * The CSSCore module specifies the API (and implements most of the methods)
@@ -586,7 +586,7 @@ var CSSCore = {
586
586
  };
587
587
 
588
588
  module.exports = CSSCore;
589
- },{"146":146}],5:[function(_dereq_,module,exports){
589
+ },{"149":149}],5:[function(_dereq_,module,exports){
590
590
  /**
591
591
  * Copyright 2013-2015, Facebook, Inc.
592
592
  * All rights reserved.
@@ -729,11 +729,11 @@ module.exports = CSSProperty;
729
729
  var CSSProperty = _dereq_(5);
730
730
  var ExecutionEnvironment = _dereq_(22);
731
731
 
732
- var camelizeStyleName = _dereq_(119);
733
- var dangerousStyleValue = _dereq_(125);
734
- var hyphenateStyleName = _dereq_(144);
735
- var memoizeStringOnly = _dereq_(155);
736
- var warning = _dereq_(170);
732
+ var camelizeStyleName = _dereq_(122);
733
+ var dangerousStyleValue = _dereq_(128);
734
+ var hyphenateStyleName = _dereq_(147);
735
+ var memoizeStringOnly = _dereq_(158);
736
+ var warning = _dereq_(173);
737
737
 
738
738
  var processStyleName = memoizeStringOnly(function (styleName) {
739
739
  return hyphenateStyleName(styleName);
@@ -874,7 +874,7 @@ var CSSPropertyOperations = {
874
874
  };
875
875
 
876
876
  module.exports = CSSPropertyOperations;
877
- },{"119":119,"125":125,"144":144,"155":155,"170":170,"22":22,"5":5}],7:[function(_dereq_,module,exports){
877
+ },{"122":122,"128":128,"147":147,"158":158,"173":173,"22":22,"5":5}],7:[function(_dereq_,module,exports){
878
878
  /**
879
879
  * Copyright 2013-2015, Facebook, Inc.
880
880
  * All rights reserved.
@@ -891,7 +891,7 @@ module.exports = CSSPropertyOperations;
891
891
  var PooledClass = _dereq_(29);
892
892
 
893
893
  var assign = _dereq_(28);
894
- var invariant = _dereq_(146);
894
+ var invariant = _dereq_(149);
895
895
 
896
896
  /**
897
897
  * A specialized pseudo-event module to help keep track of components waiting to
@@ -968,7 +968,7 @@ assign(CallbackQueue.prototype, {
968
968
  PooledClass.addPoolingTo(CallbackQueue);
969
969
 
970
970
  module.exports = CallbackQueue;
971
- },{"146":146,"28":28,"29":29}],8:[function(_dereq_,module,exports){
971
+ },{"149":149,"28":28,"29":29}],8:[function(_dereq_,module,exports){
972
972
  /**
973
973
  * Copyright 2013-2015, Facebook, Inc.
974
974
  * All rights reserved.
@@ -986,12 +986,12 @@ var EventConstants = _dereq_(16);
986
986
  var EventPluginHub = _dereq_(18);
987
987
  var EventPropagators = _dereq_(21);
988
988
  var ExecutionEnvironment = _dereq_(22);
989
- var ReactUpdates = _dereq_(98);
990
- var SyntheticEvent = _dereq_(106);
989
+ var ReactUpdates = _dereq_(101);
990
+ var SyntheticEvent = _dereq_(109);
991
991
 
992
- var isEventSupported = _dereq_(147);
993
- var isTextInputElement = _dereq_(149);
994
- var keyOf = _dereq_(153);
992
+ var isEventSupported = _dereq_(150);
993
+ var isTextInputElement = _dereq_(152);
994
+ var keyOf = _dereq_(156);
995
995
 
996
996
  var topLevelTypes = EventConstants.topLevelTypes;
997
997
 
@@ -1285,7 +1285,7 @@ var ChangeEventPlugin = {
1285
1285
  };
1286
1286
 
1287
1287
  module.exports = ChangeEventPlugin;
1288
- },{"106":106,"147":147,"149":149,"153":153,"16":16,"18":18,"21":21,"22":22,"98":98}],9:[function(_dereq_,module,exports){
1288
+ },{"101":101,"109":109,"150":150,"152":152,"156":156,"16":16,"18":18,"21":21,"22":22}],9:[function(_dereq_,module,exports){
1289
1289
  /**
1290
1290
  * Copyright 2013-2015, Facebook, Inc.
1291
1291
  * All rights reserved.
@@ -1325,10 +1325,10 @@ module.exports = ClientReactRootIndex;
1325
1325
  'use strict';
1326
1326
 
1327
1327
  var Danger = _dereq_(13);
1328
- var ReactMultiChildUpdateTypes = _dereq_(78);
1328
+ var ReactMultiChildUpdateTypes = _dereq_(81);
1329
1329
 
1330
- var setTextContent = _dereq_(162);
1331
- var invariant = _dereq_(146);
1330
+ var setTextContent = _dereq_(165);
1331
+ var invariant = _dereq_(149);
1332
1332
 
1333
1333
  /**
1334
1334
  * Inserts `childNode` as a child of `parentNode` at the `index`.
@@ -1424,7 +1424,7 @@ var DOMChildrenOperations = {
1424
1424
  };
1425
1425
 
1426
1426
  module.exports = DOMChildrenOperations;
1427
- },{"13":13,"146":146,"162":162,"78":78}],11:[function(_dereq_,module,exports){
1427
+ },{"13":13,"149":149,"165":165,"81":81}],11:[function(_dereq_,module,exports){
1428
1428
  /**
1429
1429
  * Copyright 2013-2015, Facebook, Inc.
1430
1430
  * All rights reserved.
@@ -1437,11 +1437,9 @@ module.exports = DOMChildrenOperations;
1437
1437
  * @typechecks static-only
1438
1438
  */
1439
1439
 
1440
- /*jslint bitwise: true */
1441
-
1442
1440
  'use strict';
1443
1441
 
1444
- var invariant = _dereq_(146);
1442
+ var invariant = _dereq_(149);
1445
1443
 
1446
1444
  function checkMask(value, bitmask) {
1447
1445
  return (value & bitmask) === bitmask;
@@ -1696,7 +1694,7 @@ var DOMProperty = {
1696
1694
  };
1697
1695
 
1698
1696
  module.exports = DOMProperty;
1699
- },{"146":146}],12:[function(_dereq_,module,exports){
1697
+ },{"149":149}],12:[function(_dereq_,module,exports){
1700
1698
  /**
1701
1699
  * Copyright 2013-2015, Facebook, Inc.
1702
1700
  * All rights reserved.
@@ -1713,8 +1711,8 @@ module.exports = DOMProperty;
1713
1711
 
1714
1712
  var DOMProperty = _dereq_(11);
1715
1713
 
1716
- var quoteAttributeValueForBrowser = _dereq_(159);
1717
- var warning = _dereq_(170);
1714
+ var quoteAttributeValueForBrowser = _dereq_(162);
1715
+ var warning = _dereq_(173);
1718
1716
 
1719
1717
  function shouldIgnoreValue(name, value) {
1720
1718
  return value == null || DOMProperty.hasBooleanValue[name] && !value || DOMProperty.hasNumericValue[name] && isNaN(value) || DOMProperty.hasPositiveNumericValue[name] && value < 1 || DOMProperty.hasOverloadedBooleanValue[name] && value === false;
@@ -1864,7 +1862,7 @@ var DOMPropertyOperations = {
1864
1862
  };
1865
1863
 
1866
1864
  module.exports = DOMPropertyOperations;
1867
- },{"11":11,"159":159,"170":170}],13:[function(_dereq_,module,exports){
1865
+ },{"11":11,"162":162,"173":173}],13:[function(_dereq_,module,exports){
1868
1866
  /**
1869
1867
  * Copyright 2013-2015, Facebook, Inc.
1870
1868
  * All rights reserved.
@@ -1877,16 +1875,14 @@ module.exports = DOMPropertyOperations;
1877
1875
  * @typechecks static-only
1878
1876
  */
1879
1877
 
1880
- /*jslint evil: true, sub: true */
1881
-
1882
1878
  'use strict';
1883
1879
 
1884
1880
  var ExecutionEnvironment = _dereq_(22);
1885
1881
 
1886
- var createNodesFromMarkup = _dereq_(124);
1887
- var emptyFunction = _dereq_(126);
1888
- var getMarkupWrap = _dereq_(139);
1889
- var invariant = _dereq_(146);
1882
+ var createNodesFromMarkup = _dereq_(127);
1883
+ var emptyFunction = _dereq_(129);
1884
+ var getMarkupWrap = _dereq_(142);
1885
+ var invariant = _dereq_(149);
1890
1886
 
1891
1887
  var OPEN_TAG_NAME_EXP = /^(<[^ \/>]+)/;
1892
1888
  var RESULT_INDEX_ATTR = 'data-danger-index';
@@ -2007,7 +2003,7 @@ var Danger = {
2007
2003
  };
2008
2004
 
2009
2005
  module.exports = Danger;
2010
- },{"124":124,"126":126,"139":139,"146":146,"22":22}],14:[function(_dereq_,module,exports){
2006
+ },{"127":127,"129":129,"142":142,"149":149,"22":22}],14:[function(_dereq_,module,exports){
2011
2007
  /**
2012
2008
  * Copyright 2013-2015, Facebook, Inc.
2013
2009
  * All rights reserved.
@@ -2021,7 +2017,7 @@ module.exports = Danger;
2021
2017
 
2022
2018
  'use strict';
2023
2019
 
2024
- var keyOf = _dereq_(153);
2020
+ var keyOf = _dereq_(156);
2025
2021
 
2026
2022
  /**
2027
2023
  * Module that is injectable into `EventPluginHub`, that specifies a
@@ -2035,7 +2031,7 @@ var keyOf = _dereq_(153);
2035
2031
  var DefaultEventPluginOrder = [keyOf({ ResponderEventPlugin: null }), keyOf({ SimpleEventPlugin: null }), keyOf({ TapEventPlugin: null }), keyOf({ EnterLeaveEventPlugin: null }), keyOf({ ChangeEventPlugin: null }), keyOf({ SelectEventPlugin: null }), keyOf({ BeforeInputEventPlugin: null }), keyOf({ AnalyticsEventPlugin: null })];
2036
2032
 
2037
2033
  module.exports = DefaultEventPluginOrder;
2038
- },{"153":153}],15:[function(_dereq_,module,exports){
2034
+ },{"156":156}],15:[function(_dereq_,module,exports){
2039
2035
  /**
2040
2036
  * Copyright 2013-2015, Facebook, Inc.
2041
2037
  * All rights reserved.
@@ -2052,10 +2048,10 @@ module.exports = DefaultEventPluginOrder;
2052
2048
 
2053
2049
  var EventConstants = _dereq_(16);
2054
2050
  var EventPropagators = _dereq_(21);
2055
- var SyntheticMouseEvent = _dereq_(110);
2051
+ var SyntheticMouseEvent = _dereq_(113);
2056
2052
 
2057
- var ReactMount = _dereq_(76);
2058
- var keyOf = _dereq_(153);
2053
+ var ReactMount = _dereq_(79);
2054
+ var keyOf = _dereq_(156);
2059
2055
 
2060
2056
  var topLevelTypes = EventConstants.topLevelTypes;
2061
2057
  var getFirstReactDOM = ReactMount.getFirstReactDOM;
@@ -2152,7 +2148,7 @@ var EnterLeaveEventPlugin = {
2152
2148
  };
2153
2149
 
2154
2150
  module.exports = EnterLeaveEventPlugin;
2155
- },{"110":110,"153":153,"16":16,"21":21,"76":76}],16:[function(_dereq_,module,exports){
2151
+ },{"113":113,"156":156,"16":16,"21":21,"79":79}],16:[function(_dereq_,module,exports){
2156
2152
  /**
2157
2153
  * Copyright 2013-2015, Facebook, Inc.
2158
2154
  * All rights reserved.
@@ -2166,7 +2162,7 @@ module.exports = EnterLeaveEventPlugin;
2166
2162
 
2167
2163
  'use strict';
2168
2164
 
2169
- var keyMirror = _dereq_(152);
2165
+ var keyMirror = _dereq_(155);
2170
2166
 
2171
2167
  var PropagationPhases = keyMirror({ bubbled: null, captured: null });
2172
2168
 
@@ -2223,7 +2219,7 @@ var EventConstants = {
2223
2219
  };
2224
2220
 
2225
2221
  module.exports = EventConstants;
2226
- },{"152":152}],17:[function(_dereq_,module,exports){
2222
+ },{"155":155}],17:[function(_dereq_,module,exports){
2227
2223
  /**
2228
2224
  * Copyright 2013-2015, Facebook, Inc.
2229
2225
  *
@@ -2245,7 +2241,7 @@ module.exports = EventConstants;
2245
2241
 
2246
2242
  'use strict';
2247
2243
 
2248
- var emptyFunction = _dereq_(126);
2244
+ var emptyFunction = _dereq_(129);
2249
2245
 
2250
2246
  /**
2251
2247
  * Upstream version of event listener. Does not take into account specific
@@ -2308,7 +2304,7 @@ var EventListener = {
2308
2304
  };
2309
2305
 
2310
2306
  module.exports = EventListener;
2311
- },{"126":126}],18:[function(_dereq_,module,exports){
2307
+ },{"129":129}],18:[function(_dereq_,module,exports){
2312
2308
  /**
2313
2309
  * Copyright 2013-2015, Facebook, Inc.
2314
2310
  * All rights reserved.
@@ -2325,10 +2321,10 @@ module.exports = EventListener;
2325
2321
  var EventPluginRegistry = _dereq_(19);
2326
2322
  var EventPluginUtils = _dereq_(20);
2327
2323
 
2328
- var accumulateInto = _dereq_(116);
2329
- var forEachAccumulated = _dereq_(132);
2330
- var invariant = _dereq_(146);
2331
- var warning = _dereq_(170);
2324
+ var accumulateInto = _dereq_(119);
2325
+ var forEachAccumulated = _dereq_(135);
2326
+ var invariant = _dereq_(149);
2327
+ var warning = _dereq_(173);
2332
2328
 
2333
2329
  /**
2334
2330
  * Internal store for event listeners
@@ -2580,7 +2576,7 @@ var EventPluginHub = {
2580
2576
  };
2581
2577
 
2582
2578
  module.exports = EventPluginHub;
2583
- },{"116":116,"132":132,"146":146,"170":170,"19":19,"20":20}],19:[function(_dereq_,module,exports){
2579
+ },{"119":119,"135":135,"149":149,"173":173,"19":19,"20":20}],19:[function(_dereq_,module,exports){
2584
2580
  /**
2585
2581
  * Copyright 2013-2015, Facebook, Inc.
2586
2582
  * All rights reserved.
@@ -2595,7 +2591,7 @@ module.exports = EventPluginHub;
2595
2591
 
2596
2592
  'use strict';
2597
2593
 
2598
- var invariant = _dereq_(146);
2594
+ var invariant = _dereq_(149);
2599
2595
 
2600
2596
  /**
2601
2597
  * Injectable ordering of event plugins.
@@ -2801,7 +2797,7 @@ var EventPluginRegistry = {
2801
2797
  };
2802
2798
 
2803
2799
  module.exports = EventPluginRegistry;
2804
- },{"146":146}],20:[function(_dereq_,module,exports){
2800
+ },{"149":149}],20:[function(_dereq_,module,exports){
2805
2801
  /**
2806
2802
  * Copyright 2013-2015, Facebook, Inc.
2807
2803
  * All rights reserved.
@@ -2817,8 +2813,8 @@ module.exports = EventPluginRegistry;
2817
2813
 
2818
2814
  var EventConstants = _dereq_(16);
2819
2815
 
2820
- var invariant = _dereq_(146);
2821
- var warning = _dereq_(170);
2816
+ var invariant = _dereq_(149);
2817
+ var warning = _dereq_(173);
2822
2818
 
2823
2819
  /**
2824
2820
  * Injected dependencies:
@@ -3008,7 +3004,7 @@ var EventPluginUtils = {
3008
3004
  };
3009
3005
 
3010
3006
  module.exports = EventPluginUtils;
3011
- },{"146":146,"16":16,"170":170}],21:[function(_dereq_,module,exports){
3007
+ },{"149":149,"16":16,"173":173}],21:[function(_dereq_,module,exports){
3012
3008
  /**
3013
3009
  * Copyright 2013-2015, Facebook, Inc.
3014
3010
  * All rights reserved.
@@ -3025,10 +3021,10 @@ module.exports = EventPluginUtils;
3025
3021
  var EventConstants = _dereq_(16);
3026
3022
  var EventPluginHub = _dereq_(18);
3027
3023
 
3028
- var warning = _dereq_(170);
3024
+ var warning = _dereq_(173);
3029
3025
 
3030
- var accumulateInto = _dereq_(116);
3031
- var forEachAccumulated = _dereq_(132);
3026
+ var accumulateInto = _dereq_(119);
3027
+ var forEachAccumulated = _dereq_(135);
3032
3028
 
3033
3029
  var PropagationPhases = EventConstants.PropagationPhases;
3034
3030
  var getListener = EventPluginHub.getListener;
@@ -3144,7 +3140,7 @@ var EventPropagators = {
3144
3140
  };
3145
3141
 
3146
3142
  module.exports = EventPropagators;
3147
- },{"116":116,"132":132,"16":16,"170":170,"18":18}],22:[function(_dereq_,module,exports){
3143
+ },{"119":119,"135":135,"16":16,"173":173,"18":18}],22:[function(_dereq_,module,exports){
3148
3144
  /**
3149
3145
  * Copyright 2013-2015, Facebook, Inc.
3150
3146
  * All rights reserved.
@@ -3201,7 +3197,7 @@ module.exports = ExecutionEnvironment;
3201
3197
  var PooledClass = _dereq_(29);
3202
3198
 
3203
3199
  var assign = _dereq_(28);
3204
- var getTextContentAccessor = _dereq_(141);
3200
+ var getTextContentAccessor = _dereq_(144);
3205
3201
 
3206
3202
  /**
3207
3203
  * This helper class stores information about text content of a target node,
@@ -3273,7 +3269,7 @@ assign(FallbackCompositionState.prototype, {
3273
3269
  PooledClass.addPoolingTo(FallbackCompositionState);
3274
3270
 
3275
3271
  module.exports = FallbackCompositionState;
3276
- },{"141":141,"28":28,"29":29}],24:[function(_dereq_,module,exports){
3272
+ },{"144":144,"28":28,"29":29}],24:[function(_dereq_,module,exports){
3277
3273
  /**
3278
3274
  * Copyright 2013-2015, Facebook, Inc.
3279
3275
  * All rights reserved.
@@ -3285,8 +3281,6 @@ module.exports = FallbackCompositionState;
3285
3281
  * @providesModule HTMLDOMPropertyConfig
3286
3282
  */
3287
3283
 
3288
- /*jslint bitwise: true*/
3289
-
3290
3284
  'use strict';
3291
3285
 
3292
3286
  var DOMProperty = _dereq_(11);
@@ -3382,6 +3376,7 @@ var HTMLDOMPropertyConfig = {
3382
3376
  mediaGroup: null,
3383
3377
  method: null,
3384
3378
  min: null,
3379
+ minLength: MUST_USE_ATTRIBUTE,
3385
3380
  multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
3386
3381
  muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
3387
3382
  name: null,
@@ -3486,8 +3481,8 @@ module.exports = HTMLDOMPropertyConfig;
3486
3481
 
3487
3482
  'use strict';
3488
3483
 
3489
- var ReactLink = _dereq_(74);
3490
- var ReactStateSetters = _dereq_(92);
3484
+ var ReactLink = _dereq_(77);
3485
+ var ReactStateSetters = _dereq_(95);
3491
3486
 
3492
3487
  /**
3493
3488
  * A simple mixin around ReactLink.forState().
@@ -3508,7 +3503,7 @@ var LinkedStateMixin = {
3508
3503
  };
3509
3504
 
3510
3505
  module.exports = LinkedStateMixin;
3511
- },{"74":74,"92":92}],26:[function(_dereq_,module,exports){
3506
+ },{"77":77,"95":95}],26:[function(_dereq_,module,exports){
3512
3507
  /**
3513
3508
  * Copyright 2013-2015, Facebook, Inc.
3514
3509
  * All rights reserved.
@@ -3523,9 +3518,9 @@ module.exports = LinkedStateMixin;
3523
3518
 
3524
3519
  'use strict';
3525
3520
 
3526
- var ReactPropTypes = _dereq_(85);
3521
+ var ReactPropTypes = _dereq_(88);
3527
3522
 
3528
- var invariant = _dereq_(146);
3523
+ var invariant = _dereq_(149);
3529
3524
 
3530
3525
  var hasReadOnlyValue = {
3531
3526
  'button': true,
@@ -3631,7 +3626,7 @@ var LinkedValueUtils = {
3631
3626
  };
3632
3627
 
3633
3628
  module.exports = LinkedValueUtils;
3634
- },{"146":146,"85":85}],27:[function(_dereq_,module,exports){
3629
+ },{"149":149,"88":88}],27:[function(_dereq_,module,exports){
3635
3630
  /**
3636
3631
  * Copyright 2014-2015, Facebook, Inc.
3637
3632
  * All rights reserved.
@@ -3647,10 +3642,10 @@ module.exports = LinkedValueUtils;
3647
3642
 
3648
3643
  var ReactBrowserEventEmitter = _dereq_(32);
3649
3644
 
3650
- var accumulateInto = _dereq_(116);
3651
- var findDOMNode = _dereq_(129);
3652
- var forEachAccumulated = _dereq_(132);
3653
- var invariant = _dereq_(146);
3645
+ var accumulateInto = _dereq_(119);
3646
+ var findDOMNode = _dereq_(132);
3647
+ var forEachAccumulated = _dereq_(135);
3648
+ var invariant = _dereq_(149);
3654
3649
 
3655
3650
  function remove(event) {
3656
3651
  event.remove();
@@ -3678,7 +3673,7 @@ var LocalEventTrapMixin = {
3678
3673
  };
3679
3674
 
3680
3675
  module.exports = LocalEventTrapMixin;
3681
- },{"116":116,"129":129,"132":132,"146":146,"32":32}],28:[function(_dereq_,module,exports){
3676
+ },{"119":119,"132":132,"135":135,"149":149,"32":32}],28:[function(_dereq_,module,exports){
3682
3677
  /**
3683
3678
  * Copyright 2014-2015, Facebook, Inc.
3684
3679
  * All rights reserved.
@@ -3740,7 +3735,7 @@ module.exports = assign;
3740
3735
 
3741
3736
  'use strict';
3742
3737
 
3743
- var invariant = _dereq_(146);
3738
+ var invariant = _dereq_(149);
3744
3739
 
3745
3740
  /**
3746
3741
  * Static poolers. Several custom versions for each potential number of
@@ -3836,7 +3831,7 @@ var PooledClass = {
3836
3831
  };
3837
3832
 
3838
3833
  module.exports = PooledClass;
3839
- },{"146":146}],30:[function(_dereq_,module,exports){
3834
+ },{"149":149}],30:[function(_dereq_,module,exports){
3840
3835
  /**
3841
3836
  * Copyright 2013-2015, Facebook, Inc.
3842
3837
  * All rights reserved.
@@ -3848,126 +3843,24 @@ module.exports = PooledClass;
3848
3843
  * @providesModule React
3849
3844
  */
3850
3845
 
3851
- /* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/
3852
-
3853
3846
  'use strict';
3854
3847
 
3855
- var ReactChildren = _dereq_(36);
3856
- var ReactComponent = _dereq_(38);
3857
- var ReactClass = _dereq_(37);
3858
- var ReactCurrentOwner = _dereq_(44);
3859
- var ReactElement = _dereq_(62);
3860
- var ReactElementValidator = _dereq_(63);
3861
- var ReactDOM = _dereq_(45);
3862
- var ReactDOMTextComponent = _dereq_(56);
3863
- var ReactDefaultInjection = _dereq_(59);
3864
- var ReactInstanceHandles = _dereq_(71);
3865
- var ReactMount = _dereq_(76);
3866
- var ReactPerf = _dereq_(81);
3867
- var ReactPropTypes = _dereq_(85);
3868
- var ReactReconciler = _dereq_(87);
3869
- var ReactServerRendering = _dereq_(90);
3848
+ var ReactDOMClient = _dereq_(47);
3849
+ var ReactDOMServer = _dereq_(57);
3850
+ var ReactIsomorphic = _dereq_(75);
3870
3851
 
3871
3852
  var assign = _dereq_(28);
3872
- var findDOMNode = _dereq_(129);
3873
- var onlyChild = _dereq_(156);
3874
- var warning = _dereq_(170);
3875
-
3876
- ReactDefaultInjection.inject();
3877
-
3878
- var createElement = ReactElement.createElement;
3879
- var createFactory = ReactElement.createFactory;
3880
- var cloneElement = ReactElement.cloneElement;
3881
-
3882
- if ('production' !== "development") {
3883
- createElement = ReactElementValidator.createElement;
3884
- createFactory = ReactElementValidator.createFactory;
3885
- cloneElement = ReactElementValidator.cloneElement;
3886
- }
3887
-
3888
- var render = ReactPerf.measure('React', 'render', ReactMount.render);
3889
-
3890
- var React = {
3891
- Children: {
3892
- map: ReactChildren.map,
3893
- forEach: ReactChildren.forEach,
3894
- count: ReactChildren.count,
3895
- only: onlyChild
3896
- },
3897
- Component: ReactComponent,
3898
- DOM: ReactDOM,
3899
- PropTypes: ReactPropTypes,
3900
- createClass: ReactClass.createClass,
3901
- createElement: createElement,
3902
- cloneElement: cloneElement,
3903
- createFactory: createFactory,
3904
- createMixin: function (mixin) {
3905
- // Currently a noop. Will be used to validate and trace mixins.
3906
- return mixin;
3907
- },
3908
- constructAndRenderComponent: ReactMount.constructAndRenderComponent,
3909
- constructAndRenderComponentByID: ReactMount.constructAndRenderComponentByID,
3910
- findDOMNode: findDOMNode,
3911
- render: render,
3912
- renderToString: ReactServerRendering.renderToString,
3913
- renderToStaticMarkup: ReactServerRendering.renderToStaticMarkup,
3914
- unmountComponentAtNode: ReactMount.unmountComponentAtNode,
3915
- isValidElement: ReactElement.isValidElement,
3916
-
3917
- // Hook for JSX spread, don't use this for anything else.
3918
- __spread: assign
3919
- };
3920
-
3921
- // Inject the runtime into a devtools global hook regardless of browser.
3922
- // Allows for debugging when the hook is injected on the page.
3923
- if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') {
3924
- __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({
3925
- CurrentOwner: ReactCurrentOwner,
3926
- InstanceHandles: ReactInstanceHandles,
3927
- Mount: ReactMount,
3928
- Reconciler: ReactReconciler,
3929
- TextComponent: ReactDOMTextComponent
3930
- });
3931
- }
3932
-
3933
- if ('production' !== "development") {
3934
- var ExecutionEnvironment = _dereq_(22);
3935
- if (ExecutionEnvironment.canUseDOM && window.top === window.self) {
3936
3853
 
3937
- // If we're in Chrome, look for the devtools marker and provide a download
3938
- // link if not installed.
3939
- if (navigator.userAgent.indexOf('Chrome') > -1) {
3940
- if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {
3941
- console.debug('Download the React DevTools for a better development experience: ' + 'https://fb.me/react-devtools');
3942
- }
3943
- }
3854
+ var React = {};
3944
3855
 
3945
- // If we're in IE8, check to see if we are in combatibility mode and provide
3946
- // information on preventing compatibility mode
3947
- var ieCompatibilityMode = document.documentMode && document.documentMode < 8;
3856
+ assign(React, ReactIsomorphic);
3857
+ assign(React, ReactDOMClient);
3858
+ assign(React, ReactDOMServer);
3948
3859
 
3949
- 'production' !== "development" ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '<meta http-equiv="X-UA-Compatible" content="IE=edge" />') : null;
3950
-
3951
- var expectedFeatures = [
3952
- // shims
3953
- Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.split, String.prototype.trim,
3954
-
3955
- // shams
3956
- Object.create, Object.freeze];
3957
-
3958
- for (var i = 0; i < expectedFeatures.length; i++) {
3959
- if (!expectedFeatures[i]) {
3960
- console.error('One or more ES5 shim/shams expected by React are not available: ' + 'https://fb.me/react-warning-polyfills');
3961
- break;
3962
- }
3963
- }
3964
- }
3965
- }
3966
-
3967
- React.version = '0.14.0-alpha1';
3860
+ React.version = '0.14.0-alpha2';
3968
3861
 
3969
3862
  module.exports = React;
3970
- },{"129":129,"156":156,"170":170,"22":22,"28":28,"36":36,"37":37,"38":38,"44":44,"45":45,"56":56,"59":59,"62":62,"63":63,"71":71,"76":76,"81":81,"85":85,"87":87,"90":90}],31:[function(_dereq_,module,exports){
3863
+ },{"28":28,"47":47,"57":57,"75":75}],31:[function(_dereq_,module,exports){
3971
3864
  /**
3972
3865
  * Copyright 2013-2015, Facebook, Inc.
3973
3866
  * All rights reserved.
@@ -3981,10 +3874,10 @@ module.exports = React;
3981
3874
 
3982
3875
  'use strict';
3983
3876
 
3984
- var ReactInstanceMap = _dereq_(72);
3877
+ var ReactInstanceMap = _dereq_(74);
3985
3878
 
3986
- var findDOMNode = _dereq_(129);
3987
- var warning = _dereq_(170);
3879
+ var findDOMNode = _dereq_(132);
3880
+ var warning = _dereq_(173);
3988
3881
 
3989
3882
  var didWarnKey = '_getDOMNodeDidWarn';
3990
3883
 
@@ -4004,7 +3897,7 @@ var ReactBrowserComponentMixin = {
4004
3897
  };
4005
3898
 
4006
3899
  module.exports = ReactBrowserComponentMixin;
4007
- },{"129":129,"170":170,"72":72}],32:[function(_dereq_,module,exports){
3900
+ },{"132":132,"173":173,"74":74}],32:[function(_dereq_,module,exports){
4008
3901
  /**
4009
3902
  * Copyright 2013-2015, Facebook, Inc.
4010
3903
  * All rights reserved.
@@ -4022,11 +3915,11 @@ module.exports = ReactBrowserComponentMixin;
4022
3915
  var EventConstants = _dereq_(16);
4023
3916
  var EventPluginHub = _dereq_(18);
4024
3917
  var EventPluginRegistry = _dereq_(19);
4025
- var ReactEventEmitterMixin = _dereq_(66);
4026
- var ViewportMetrics = _dereq_(115);
3918
+ var ReactEventEmitterMixin = _dereq_(68);
3919
+ var ViewportMetrics = _dereq_(118);
4027
3920
 
4028
3921
  var assign = _dereq_(28);
4029
- var isEventSupported = _dereq_(147);
3922
+ var isEventSupported = _dereq_(150);
4030
3923
 
4031
3924
  /**
4032
3925
  * Summary of `ReactBrowserEventEmitter` event handling:
@@ -4300,7 +4193,7 @@ var ReactBrowserEventEmitter = assign({}, ReactEventEmitterMixin, {
4300
4193
  });
4301
4194
 
4302
4195
  module.exports = ReactBrowserEventEmitter;
4303
- },{"115":115,"147":147,"16":16,"18":18,"19":19,"28":28,"66":66}],33:[function(_dereq_,module,exports){
4196
+ },{"118":118,"150":150,"16":16,"18":18,"19":19,"28":28,"68":68}],33:[function(_dereq_,module,exports){
4304
4197
  /**
4305
4198
  * Copyright 2013-2015, Facebook, Inc.
4306
4199
  * All rights reserved.
@@ -4319,7 +4212,7 @@ var React = _dereq_(30);
4319
4212
 
4320
4213
  var assign = _dereq_(28);
4321
4214
 
4322
- var ReactTransitionGroup = React.createFactory(_dereq_(96));
4215
+ var ReactTransitionGroup = React.createFactory(_dereq_(99));
4323
4216
  var ReactCSSTransitionGroupChild = React.createFactory(_dereq_(34));
4324
4217
 
4325
4218
  var ReactCSSTransitionGroup = React.createClass({
@@ -4358,7 +4251,7 @@ var ReactCSSTransitionGroup = React.createClass({
4358
4251
  });
4359
4252
 
4360
4253
  module.exports = ReactCSSTransitionGroup;
4361
- },{"28":28,"30":30,"34":34,"96":96}],34:[function(_dereq_,module,exports){
4254
+ },{"28":28,"30":30,"34":34,"99":99}],34:[function(_dereq_,module,exports){
4362
4255
  /**
4363
4256
  * Copyright 2013-2015, Facebook, Inc.
4364
4257
  * All rights reserved.
@@ -4376,10 +4269,10 @@ module.exports = ReactCSSTransitionGroup;
4376
4269
  var React = _dereq_(30);
4377
4270
 
4378
4271
  var CSSCore = _dereq_(4);
4379
- var ReactTransitionEvents = _dereq_(95);
4272
+ var ReactTransitionEvents = _dereq_(98);
4380
4273
 
4381
- var onlyChild = _dereq_(156);
4382
- var warning = _dereq_(170);
4274
+ var onlyChild = _dereq_(159);
4275
+ var warning = _dereq_(173);
4383
4276
 
4384
4277
  // We don't remove the element from the DOM until we receive an animationend or
4385
4278
  // transitionend event. If the user screws up and forgets to add an animation
@@ -4493,7 +4386,7 @@ var ReactCSSTransitionGroupChild = React.createClass({
4493
4386
  });
4494
4387
 
4495
4388
  module.exports = ReactCSSTransitionGroupChild;
4496
- },{"156":156,"170":170,"30":30,"4":4,"95":95}],35:[function(_dereq_,module,exports){
4389
+ },{"159":159,"173":173,"30":30,"4":4,"98":98}],35:[function(_dereq_,module,exports){
4497
4390
  /**
4498
4391
  * Copyright 2014-2015, Facebook, Inc.
4499
4392
  * All rights reserved.
@@ -4508,11 +4401,11 @@ module.exports = ReactCSSTransitionGroupChild;
4508
4401
 
4509
4402
  'use strict';
4510
4403
 
4511
- var ReactReconciler = _dereq_(87);
4404
+ var ReactReconciler = _dereq_(90);
4512
4405
 
4513
- var flattenChildren = _dereq_(130);
4514
- var instantiateReactComponent = _dereq_(145);
4515
- var shouldUpdateReactComponent = _dereq_(165);
4406
+ var flattenChildren = _dereq_(133);
4407
+ var instantiateReactComponent = _dereq_(148);
4408
+ var shouldUpdateReactComponent = _dereq_(168);
4516
4409
 
4517
4410
  /**
4518
4411
  * ReactChildReconciler provides helpers for initializing or updating a set of
@@ -4611,7 +4504,7 @@ var ReactChildReconciler = {
4611
4504
  };
4612
4505
 
4613
4506
  module.exports = ReactChildReconciler;
4614
- },{"130":130,"145":145,"165":165,"87":87}],36:[function(_dereq_,module,exports){
4507
+ },{"133":133,"148":148,"168":168,"90":90}],36:[function(_dereq_,module,exports){
4615
4508
  /**
4616
4509
  * Copyright 2013-2015, Facebook, Inc.
4617
4510
  * All rights reserved.
@@ -4626,10 +4519,10 @@ module.exports = ReactChildReconciler;
4626
4519
  'use strict';
4627
4520
 
4628
4521
  var PooledClass = _dereq_(29);
4629
- var ReactFragment = _dereq_(68);
4522
+ var ReactFragment = _dereq_(70);
4630
4523
 
4631
- var traverseAllChildren = _dereq_(167);
4632
- var warning = _dereq_(170);
4524
+ var traverseAllChildren = _dereq_(170);
4525
+ var warning = _dereq_(173);
4633
4526
 
4634
4527
  var twoArgumentPooler = PooledClass.twoArgumentPooler;
4635
4528
  var threeArgumentPooler = PooledClass.threeArgumentPooler;
@@ -4643,14 +4536,15 @@ var threeArgumentPooler = PooledClass.threeArgumentPooler;
4643
4536
  * @param {?*} forEachContext Context to perform context with.
4644
4537
  */
4645
4538
  function ForEachBookKeeping(forEachFunction, forEachContext) {
4646
- this.forEachFunction = forEachFunction;
4647
- this.forEachContext = forEachContext;
4539
+ this.func = forEachFunction;
4540
+ this.context = forEachContext;
4541
+ this.count = 0;
4648
4542
  }
4649
4543
  PooledClass.addPoolingTo(ForEachBookKeeping, twoArgumentPooler);
4650
4544
 
4651
- function forEachSingleChild(traverseContext, child, name, i) {
4652
- var forEachBookKeeping = traverseContext;
4653
- forEachBookKeeping.forEachFunction.call(forEachBookKeeping.forEachContext, child, i);
4545
+ function forEachSingleChild(traverseContext, child, name) {
4546
+ var bookKeeping = traverseContext;
4547
+ bookKeeping.func.call(bookKeeping.context, child, bookKeeping.count++);
4654
4548
  }
4655
4549
 
4656
4550
  /**
@@ -4683,15 +4577,16 @@ function forEachChildren(children, forEachFunc, forEachContext) {
4683
4577
  * @param {?*} mapContext Context to perform mapping with.
4684
4578
  */
4685
4579
  function MapBookKeeping(mapResult, mapFunction, mapContext) {
4686
- this.mapResult = mapResult;
4687
- this.mapFunction = mapFunction;
4688
- this.mapContext = mapContext;
4580
+ this.result = mapResult;
4581
+ this.func = mapFunction;
4582
+ this.context = mapContext;
4583
+ this.count = 0;
4689
4584
  }
4690
4585
  PooledClass.addPoolingTo(MapBookKeeping, threeArgumentPooler);
4691
4586
 
4692
- function mapSingleChildIntoContext(traverseContext, child, name, i) {
4693
- var mapBookKeeping = traverseContext;
4694
- var mapResult = mapBookKeeping.mapResult;
4587
+ function mapSingleChildIntoContext(traverseContext, child, name) {
4588
+ var bookKeeping = traverseContext;
4589
+ var mapResult = bookKeeping.result;
4695
4590
 
4696
4591
  var keyUnique = mapResult[name] === undefined;
4697
4592
  if ('production' !== "development") {
@@ -4699,7 +4594,7 @@ function mapSingleChildIntoContext(traverseContext, child, name, i) {
4699
4594
  }
4700
4595
 
4701
4596
  if (keyUnique) {
4702
- var mappedChild = mapBookKeeping.mapFunction.call(mapBookKeeping.mapContext, child, i);
4597
+ var mappedChild = bookKeeping.func.call(bookKeeping.context, child, bookKeeping.count++);
4703
4598
  mapResult[name] = mappedChild;
4704
4599
  }
4705
4600
  }
@@ -4730,7 +4625,7 @@ function mapChildren(children, func, context) {
4730
4625
  return ReactFragment.create(mapResult);
4731
4626
  }
4732
4627
 
4733
- function forEachSingleChildDummy(traverseContext, child, name, i) {
4628
+ function forEachSingleChildDummy(traverseContext, child, name) {
4734
4629
  return null;
4735
4630
  }
4736
4631
 
@@ -4752,7 +4647,7 @@ var ReactChildren = {
4752
4647
  };
4753
4648
 
4754
4649
  module.exports = ReactChildren;
4755
- },{"167":167,"170":170,"29":29,"68":68}],37:[function(_dereq_,module,exports){
4650
+ },{"170":170,"173":173,"29":29,"70":70}],37:[function(_dereq_,module,exports){
4756
4651
  /**
4757
4652
  * Copyright 2013-2015, Facebook, Inc.
4758
4653
  * All rights reserved.
@@ -4768,19 +4663,19 @@ module.exports = ReactChildren;
4768
4663
 
4769
4664
  var ReactComponent = _dereq_(38);
4770
4665
  var ReactCurrentOwner = _dereq_(44);
4771
- var ReactElement = _dereq_(62);
4772
- var ReactErrorUtils = _dereq_(65);
4773
- var ReactInstanceMap = _dereq_(72);
4774
- var ReactLifeCycle = _dereq_(73);
4775
- var ReactPropTypeLocations = _dereq_(84);
4776
- var ReactPropTypeLocationNames = _dereq_(83);
4777
- var ReactUpdateQueue = _dereq_(97);
4666
+ var ReactElement = _dereq_(64);
4667
+ var ReactErrorUtils = _dereq_(67);
4668
+ var ReactInstanceMap = _dereq_(74);
4669
+ var ReactLifeCycle = _dereq_(76);
4670
+ var ReactPropTypeLocations = _dereq_(87);
4671
+ var ReactPropTypeLocationNames = _dereq_(86);
4672
+ var ReactUpdateQueue = _dereq_(100);
4778
4673
 
4779
4674
  var assign = _dereq_(28);
4780
- var invariant = _dereq_(146);
4781
- var keyMirror = _dereq_(152);
4782
- var keyOf = _dereq_(153);
4783
- var warning = _dereq_(170);
4675
+ var invariant = _dereq_(149);
4676
+ var keyMirror = _dereq_(155);
4677
+ var keyOf = _dereq_(156);
4678
+ var warning = _dereq_(173);
4784
4679
 
4785
4680
  var MIXINS_KEY = keyOf({ mixins: null });
4786
4681
 
@@ -5161,7 +5056,7 @@ function mixSpecIntoComponent(Constructor, spec) {
5161
5056
  }
5162
5057
 
5163
5058
  if (name === MIXINS_KEY) {
5164
- // We have already handled mixins in a special case above
5059
+ // We have already handled mixins in a special case above.
5165
5060
  continue;
5166
5061
  }
5167
5062
 
@@ -5190,7 +5085,7 @@ function mixSpecIntoComponent(Constructor, spec) {
5190
5085
  if (isAlreadyDefined) {
5191
5086
  var specPolicy = ReactClassInterface[name];
5192
5087
 
5193
- // These cases should already be caught by validateMethodOverride
5088
+ // These cases should already be caught by validateMethodOverride.
5194
5089
  'production' !== "development" ? invariant(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY), 'ReactClass: Unexpected spec policy %s for key %s ' + 'when mixing in component specs.', specPolicy, name) : invariant(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY));
5195
5090
 
5196
5091
  // For methods which are defined more than once, call the existing
@@ -5489,7 +5384,7 @@ var ReactClass = {
5489
5384
 
5490
5385
  mixSpecIntoComponent(Constructor, spec);
5491
5386
 
5492
- // Initialize the defaultProps property after all mixins have been merged
5387
+ // Initialize the defaultProps property after all mixins have been merged.
5493
5388
  if (Constructor.getDefaultProps) {
5494
5389
  Constructor.defaultProps = Constructor.getDefaultProps();
5495
5390
  }
@@ -5542,7 +5437,7 @@ var ReactClass = {
5542
5437
  module.exports = ReactClass;
5543
5438
 
5544
5439
  // IE will fail on defineProperty (es5-shim/sham too)
5545
- },{"146":146,"152":152,"153":153,"170":170,"28":28,"38":38,"44":44,"62":62,"65":65,"72":72,"73":73,"83":83,"84":84,"97":97}],38:[function(_dereq_,module,exports){
5440
+ },{"100":100,"149":149,"155":155,"156":156,"173":173,"28":28,"38":38,"44":44,"64":64,"67":67,"74":74,"76":76,"86":86,"87":87}],38:[function(_dereq_,module,exports){
5546
5441
  /**
5547
5442
  * Copyright 2013-2015, Facebook, Inc.
5548
5443
  * All rights reserved.
@@ -5556,10 +5451,10 @@ module.exports = ReactClass;
5556
5451
 
5557
5452
  'use strict';
5558
5453
 
5559
- var ReactUpdateQueue = _dereq_(97);
5454
+ var ReactUpdateQueue = _dereq_(100);
5560
5455
 
5561
- var invariant = _dereq_(146);
5562
- var warning = _dereq_(170);
5456
+ var invariant = _dereq_(149);
5457
+ var warning = _dereq_(173);
5563
5458
 
5564
5459
  /**
5565
5460
  * Base class helpers for the updating state of a component.
@@ -5659,7 +5554,7 @@ if ('production' !== "development") {
5659
5554
  module.exports = ReactComponent;
5660
5555
 
5661
5556
  // IE will fail on defineProperty (es5-shim/sham too)
5662
- },{"146":146,"170":170,"97":97}],39:[function(_dereq_,module,exports){
5557
+ },{"100":100,"149":149,"173":173}],39:[function(_dereq_,module,exports){
5663
5558
  /**
5664
5559
  * Copyright 2013-2015, Facebook, Inc.
5665
5560
  * All rights reserved.
@@ -5671,12 +5566,10 @@ module.exports = ReactComponent;
5671
5566
  * @providesModule ReactComponentBrowserEnvironment
5672
5567
  */
5673
5568
 
5674
- /*jslint evil: true */
5675
-
5676
5569
  'use strict';
5677
5570
 
5678
- var ReactDOMIDOperations = _dereq_(49);
5679
- var ReactMount = _dereq_(76);
5571
+ var ReactDOMIDOperations = _dereq_(50);
5572
+ var ReactMount = _dereq_(79);
5680
5573
 
5681
5574
  /**
5682
5575
  * Abstracts away all functionality of the reconciler that requires knowledge of
@@ -5703,7 +5596,7 @@ var ReactComponentBrowserEnvironment = {
5703
5596
  };
5704
5597
 
5705
5598
  module.exports = ReactComponentBrowserEnvironment;
5706
- },{"49":49,"76":76}],40:[function(_dereq_,module,exports){
5599
+ },{"50":50,"79":79}],40:[function(_dereq_,module,exports){
5707
5600
  /**
5708
5601
  * Copyright 2014-2015, Facebook, Inc.
5709
5602
  * All rights reserved.
@@ -5717,7 +5610,7 @@ module.exports = ReactComponentBrowserEnvironment;
5717
5610
 
5718
5611
  'use strict';
5719
5612
 
5720
- var invariant = _dereq_(146);
5613
+ var invariant = _dereq_(149);
5721
5614
 
5722
5615
  var injected = false;
5723
5616
 
@@ -5755,7 +5648,7 @@ var ReactComponentEnvironment = {
5755
5648
  };
5756
5649
 
5757
5650
  module.exports = ReactComponentEnvironment;
5758
- },{"146":146}],41:[function(_dereq_,module,exports){
5651
+ },{"149":149}],41:[function(_dereq_,module,exports){
5759
5652
  /**
5760
5653
  * Copyright 2013-2015, Facebook, Inc.
5761
5654
  * All rights reserved.
@@ -5769,7 +5662,7 @@ module.exports = ReactComponentEnvironment;
5769
5662
 
5770
5663
  'use strict';
5771
5664
 
5772
- var shallowCompare = _dereq_(163);
5665
+ var shallowCompare = _dereq_(166);
5773
5666
 
5774
5667
  /**
5775
5668
  * If your React component's render function is "pure", e.g. it will render the
@@ -5802,7 +5695,7 @@ var ReactComponentWithPureRenderMixin = {
5802
5695
  };
5803
5696
 
5804
5697
  module.exports = ReactComponentWithPureRenderMixin;
5805
- },{"163":163}],42:[function(_dereq_,module,exports){
5698
+ },{"166":166}],42:[function(_dereq_,module,exports){
5806
5699
  /**
5807
5700
  * Copyright 2013-2015, Facebook, Inc.
5808
5701
  * All rights reserved.
@@ -5819,22 +5712,22 @@ module.exports = ReactComponentWithPureRenderMixin;
5819
5712
  var ReactComponentEnvironment = _dereq_(40);
5820
5713
  var ReactContext = _dereq_(43);
5821
5714
  var ReactCurrentOwner = _dereq_(44);
5822
- var ReactElement = _dereq_(62);
5823
- var ReactElementValidator = _dereq_(63);
5824
- var ReactInstanceMap = _dereq_(72);
5825
- var ReactLifeCycle = _dereq_(73);
5826
- var ReactNativeComponent = _dereq_(79);
5827
- var ReactPerf = _dereq_(81);
5828
- var ReactPropTypeLocations = _dereq_(84);
5829
- var ReactPropTypeLocationNames = _dereq_(83);
5830
- var ReactReconciler = _dereq_(87);
5831
- var ReactUpdates = _dereq_(98);
5715
+ var ReactElement = _dereq_(64);
5716
+ var ReactElementValidator = _dereq_(65);
5717
+ var ReactInstanceMap = _dereq_(74);
5718
+ var ReactLifeCycle = _dereq_(76);
5719
+ var ReactNativeComponent = _dereq_(82);
5720
+ var ReactPerf = _dereq_(84);
5721
+ var ReactPropTypeLocations = _dereq_(87);
5722
+ var ReactPropTypeLocationNames = _dereq_(86);
5723
+ var ReactReconciler = _dereq_(90);
5724
+ var ReactUpdates = _dereq_(101);
5832
5725
 
5833
5726
  var assign = _dereq_(28);
5834
- var emptyObject = _dereq_(127);
5835
- var invariant = _dereq_(146);
5836
- var shouldUpdateReactComponent = _dereq_(165);
5837
- var warning = _dereq_(170);
5727
+ var emptyObject = _dereq_(130);
5728
+ var invariant = _dereq_(149);
5729
+ var shouldUpdateReactComponent = _dereq_(168);
5730
+ var warning = _dereq_(173);
5838
5731
 
5839
5732
  function getDeclarationErrorAddendum(component) {
5840
5733
  var owner = component._currentElement._owner || null;
@@ -6477,7 +6370,7 @@ var ReactCompositeComponent = {
6477
6370
  };
6478
6371
 
6479
6372
  module.exports = ReactCompositeComponent;
6480
- },{"127":127,"146":146,"165":165,"170":170,"28":28,"40":40,"43":43,"44":44,"62":62,"63":63,"72":72,"73":73,"79":79,"81":81,"83":83,"84":84,"87":87,"98":98}],43:[function(_dereq_,module,exports){
6373
+ },{"101":101,"130":130,"149":149,"168":168,"173":173,"28":28,"40":40,"43":43,"44":44,"64":64,"65":65,"74":74,"76":76,"82":82,"84":84,"86":86,"87":87,"90":90}],43:[function(_dereq_,module,exports){
6481
6374
  /**
6482
6375
  * Copyright 2013-2015, Facebook, Inc.
6483
6376
  * All rights reserved.
@@ -6491,7 +6384,7 @@ module.exports = ReactCompositeComponent;
6491
6384
 
6492
6385
  'use strict';
6493
6386
 
6494
- var emptyObject = _dereq_(127);
6387
+ var emptyObject = _dereq_(130);
6495
6388
 
6496
6389
  /**
6497
6390
  * Keeps track of the current context.
@@ -6510,7 +6403,7 @@ var ReactContext = {
6510
6403
  };
6511
6404
 
6512
6405
  module.exports = ReactContext;
6513
- },{"127":127}],44:[function(_dereq_,module,exports){
6406
+ },{"130":130}],44:[function(_dereq_,module,exports){
6514
6407
  /**
6515
6408
  * Copyright 2013-2015, Facebook, Inc.
6516
6409
  * All rights reserved.
@@ -6556,10 +6449,10 @@ module.exports = ReactCurrentOwner;
6556
6449
 
6557
6450
  'use strict';
6558
6451
 
6559
- var ReactElement = _dereq_(62);
6560
- var ReactElementValidator = _dereq_(63);
6452
+ var ReactElement = _dereq_(64);
6453
+ var ReactElementValidator = _dereq_(65);
6561
6454
 
6562
- var mapObject = _dereq_(154);
6455
+ var mapObject = _dereq_(157);
6563
6456
 
6564
6457
  /**
6565
6458
  * Create a factory that creates HTML tag elements.
@@ -6718,7 +6611,7 @@ var ReactDOM = mapObject({
6718
6611
  }, createDOMFactory);
6719
6612
 
6720
6613
  module.exports = ReactDOM;
6721
- },{"154":154,"62":62,"63":63}],46:[function(_dereq_,module,exports){
6614
+ },{"157":157,"64":64,"65":65}],46:[function(_dereq_,module,exports){
6722
6615
  /**
6723
6616
  * Copyright 2013-2015, Facebook, Inc.
6724
6617
  * All rights reserved.
@@ -6735,9 +6628,9 @@ module.exports = ReactDOM;
6735
6628
  var AutoFocusMixin = _dereq_(2);
6736
6629
  var ReactBrowserComponentMixin = _dereq_(31);
6737
6630
  var ReactClass = _dereq_(37);
6738
- var ReactElement = _dereq_(62);
6631
+ var ReactElement = _dereq_(64);
6739
6632
 
6740
- var keyMirror = _dereq_(152);
6633
+ var keyMirror = _dereq_(155);
6741
6634
 
6742
6635
  var button = ReactElement.createFactory('button');
6743
6636
 
@@ -6780,7 +6673,93 @@ var ReactDOMButton = ReactClass.createClass({
6780
6673
  });
6781
6674
 
6782
6675
  module.exports = ReactDOMButton;
6783
- },{"152":152,"2":2,"31":31,"37":37,"62":62}],47:[function(_dereq_,module,exports){
6676
+ },{"155":155,"2":2,"31":31,"37":37,"64":64}],47:[function(_dereq_,module,exports){
6677
+ /**
6678
+ * Copyright 2013-2015, Facebook, Inc.
6679
+ * All rights reserved.
6680
+ *
6681
+ * This source code is licensed under the BSD-style license found in the
6682
+ * LICENSE file in the root directory of this source tree. An additional grant
6683
+ * of patent rights can be found in the PATENTS file in the same directory.
6684
+ *
6685
+ * @providesModule ReactDOMClient
6686
+ */
6687
+
6688
+ /* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/
6689
+
6690
+ 'use strict';
6691
+
6692
+ var ReactCurrentOwner = _dereq_(44);
6693
+ var ReactDOMTextComponent = _dereq_(58);
6694
+ var ReactDefaultInjection = _dereq_(61);
6695
+ var ReactInstanceHandles = _dereq_(73);
6696
+ var ReactMount = _dereq_(79);
6697
+ var ReactPerf = _dereq_(84);
6698
+ var ReactReconciler = _dereq_(90);
6699
+
6700
+ var findDOMNode = _dereq_(132);
6701
+ var warning = _dereq_(173);
6702
+
6703
+ ReactDefaultInjection.inject();
6704
+
6705
+ var render = ReactPerf.measure('React', 'render', ReactMount.render);
6706
+
6707
+ var React = {
6708
+ constructAndRenderComponent: ReactMount.constructAndRenderComponent,
6709
+ constructAndRenderComponentByID: ReactMount.constructAndRenderComponentByID,
6710
+ findDOMNode: findDOMNode,
6711
+ render: render,
6712
+ unmountComponentAtNode: ReactMount.unmountComponentAtNode
6713
+ };
6714
+
6715
+ // Inject the runtime into a devtools global hook regardless of browser.
6716
+ // Allows for debugging when the hook is injected on the page.
6717
+ if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') {
6718
+ __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({
6719
+ CurrentOwner: ReactCurrentOwner,
6720
+ InstanceHandles: ReactInstanceHandles,
6721
+ Mount: ReactMount,
6722
+ Reconciler: ReactReconciler,
6723
+ TextComponent: ReactDOMTextComponent
6724
+ });
6725
+ }
6726
+
6727
+ if ('production' !== "development") {
6728
+ var ExecutionEnvironment = _dereq_(22);
6729
+ if (ExecutionEnvironment.canUseDOM && window.top === window.self) {
6730
+
6731
+ // If we're in Chrome, look for the devtools marker and provide a download
6732
+ // link if not installed.
6733
+ if (navigator.userAgent.indexOf('Chrome') > -1) {
6734
+ if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {
6735
+ console.debug('Download the React DevTools for a better development experience: ' + 'https://fb.me/react-devtools');
6736
+ }
6737
+ }
6738
+
6739
+ // If we're in IE8, check to see if we are in combatibility mode and provide
6740
+ // information on preventing compatibility mode
6741
+ var ieCompatibilityMode = document.documentMode && document.documentMode < 8;
6742
+
6743
+ 'production' !== "development" ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '<meta http-equiv="X-UA-Compatible" content="IE=edge" />') : null;
6744
+
6745
+ var expectedFeatures = [
6746
+ // shims
6747
+ Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.split, String.prototype.trim,
6748
+
6749
+ // shams
6750
+ Object.create, Object.freeze];
6751
+
6752
+ for (var i = 0; i < expectedFeatures.length; i++) {
6753
+ if (!expectedFeatures[i]) {
6754
+ console.error('One or more ES5 shim/shams expected by React are not available: ' + 'https://fb.me/react-warning-polyfills');
6755
+ break;
6756
+ }
6757
+ }
6758
+ }
6759
+ }
6760
+
6761
+ module.exports = React;
6762
+ },{"132":132,"173":173,"22":22,"44":44,"58":58,"61":61,"73":73,"79":79,"84":84,"90":90}],48:[function(_dereq_,module,exports){
6784
6763
  /**
6785
6764
  * Copyright 2013-2015, Facebook, Inc.
6786
6765
  * All rights reserved.
@@ -6802,18 +6781,18 @@ var DOMProperty = _dereq_(11);
6802
6781
  var DOMPropertyOperations = _dereq_(12);
6803
6782
  var ReactBrowserEventEmitter = _dereq_(32);
6804
6783
  var ReactComponentBrowserEnvironment = _dereq_(39);
6805
- var ReactMount = _dereq_(76);
6806
- var ReactMultiChild = _dereq_(77);
6807
- var ReactPerf = _dereq_(81);
6784
+ var ReactMount = _dereq_(79);
6785
+ var ReactMultiChild = _dereq_(80);
6786
+ var ReactPerf = _dereq_(84);
6808
6787
 
6809
6788
  var assign = _dereq_(28);
6810
- var escapeTextContentForBrowser = _dereq_(128);
6811
- var invariant = _dereq_(146);
6812
- var isEventSupported = _dereq_(147);
6813
- var keyOf = _dereq_(153);
6814
- var shallowEqual = _dereq_(164);
6815
- var validateDOMNesting = _dereq_(169);
6816
- var warning = _dereq_(170);
6789
+ var escapeTextContentForBrowser = _dereq_(131);
6790
+ var invariant = _dereq_(149);
6791
+ var isEventSupported = _dereq_(150);
6792
+ var keyOf = _dereq_(156);
6793
+ var shallowEqual = _dereq_(167);
6794
+ var validateDOMNesting = _dereq_(172);
6795
+ var warning = _dereq_(173);
6817
6796
 
6818
6797
  var deleteListener = ReactBrowserEventEmitter.deleteListener;
6819
6798
  var listenTo = ReactBrowserEventEmitter.listenTo;
@@ -6956,12 +6935,12 @@ function validateDangerousTag(tag) {
6956
6935
  }
6957
6936
  }
6958
6937
 
6959
- function processChildContext(context, tagName) {
6938
+ function processChildContext(context, inst) {
6960
6939
  if ('production' !== "development") {
6961
6940
  // Pass down our tag name to child components for validation purposes
6962
6941
  context = assign({}, context);
6963
- var stack = context[validateDOMNesting.tagStackContextKey] || [];
6964
- context[validateDOMNesting.tagStackContextKey] = stack.concat([tagName]);
6942
+ var info = context[validateDOMNesting.ancestorInfoContextKey];
6943
+ context[validateDOMNesting.ancestorInfoContextKey] = validateDOMNesting.updatedAncestorInfo(info, inst._tag, inst);
6965
6944
  }
6966
6945
  return context;
6967
6946
  }
@@ -7012,8 +6991,8 @@ ReactDOMComponent.Mixin = {
7012
6991
 
7013
6992
  assertValidProps(this, this._currentElement.props);
7014
6993
  if ('production' !== "development") {
7015
- if (context[validateDOMNesting.tagStackContextKey]) {
7016
- validateDOMNesting(context[validateDOMNesting.tagStackContextKey], this._tag, this._currentElement);
6994
+ if (context[validateDOMNesting.ancestorInfoContextKey]) {
6995
+ validateDOMNesting(this._tag, this, context[validateDOMNesting.ancestorInfoContextKey]);
7017
6996
  }
7018
6997
  }
7019
6998
 
@@ -7104,7 +7083,7 @@ ReactDOMComponent.Mixin = {
7104
7083
  // TODO: Validate that text is allowed as a child of this node
7105
7084
  ret = escapeTextContentForBrowser(contentToUse);
7106
7085
  } else if (childrenToUse != null) {
7107
- var mountImages = this.mountChildren(childrenToUse, transaction, processChildContext(context, this._tag));
7086
+ var mountImages = this.mountChildren(childrenToUse, transaction, processChildContext(context, this));
7108
7087
  ret = mountImages.join('');
7109
7088
  }
7110
7089
  }
@@ -7152,7 +7131,7 @@ ReactDOMComponent.Mixin = {
7152
7131
  updateComponent: function (transaction, prevElement, nextElement, context) {
7153
7132
  assertValidProps(this, this._currentElement.props);
7154
7133
  this._updateDOMProperties(prevElement.props, transaction);
7155
- this._updateDOMChildren(prevElement.props, transaction, processChildContext(context, this._tag));
7134
+ this._updateDOMChildren(prevElement.props, transaction, processChildContext(context, this));
7156
7135
  },
7157
7136
 
7158
7137
  /**
@@ -7321,7 +7300,7 @@ ReactDOMComponent.injection = {
7321
7300
  };
7322
7301
 
7323
7302
  module.exports = ReactDOMComponent;
7324
- },{"11":11,"12":12,"128":128,"146":146,"147":147,"153":153,"164":164,"169":169,"170":170,"28":28,"32":32,"39":39,"6":6,"76":76,"77":77,"81":81}],48:[function(_dereq_,module,exports){
7303
+ },{"11":11,"12":12,"131":131,"149":149,"150":150,"156":156,"167":167,"172":172,"173":173,"28":28,"32":32,"39":39,"6":6,"79":79,"80":80,"84":84}],49:[function(_dereq_,module,exports){
7325
7304
  /**
7326
7305
  * Copyright 2013-2015, Facebook, Inc.
7327
7306
  * All rights reserved.
@@ -7339,7 +7318,7 @@ var EventConstants = _dereq_(16);
7339
7318
  var LocalEventTrapMixin = _dereq_(27);
7340
7319
  var ReactBrowserComponentMixin = _dereq_(31);
7341
7320
  var ReactClass = _dereq_(37);
7342
- var ReactElement = _dereq_(62);
7321
+ var ReactElement = _dereq_(64);
7343
7322
 
7344
7323
  var form = ReactElement.createFactory('form');
7345
7324
 
@@ -7369,7 +7348,7 @@ var ReactDOMForm = ReactClass.createClass({
7369
7348
  });
7370
7349
 
7371
7350
  module.exports = ReactDOMForm;
7372
- },{"16":16,"27":27,"31":31,"37":37,"62":62}],49:[function(_dereq_,module,exports){
7351
+ },{"16":16,"27":27,"31":31,"37":37,"64":64}],50:[function(_dereq_,module,exports){
7373
7352
  /**
7374
7353
  * Copyright 2013-2015, Facebook, Inc.
7375
7354
  * All rights reserved.
@@ -7382,18 +7361,16 @@ module.exports = ReactDOMForm;
7382
7361
  * @typechecks static-only
7383
7362
  */
7384
7363
 
7385
- /*jslint evil: true */
7386
-
7387
7364
  'use strict';
7388
7365
 
7389
7366
  var CSSPropertyOperations = _dereq_(6);
7390
7367
  var DOMChildrenOperations = _dereq_(10);
7391
7368
  var DOMPropertyOperations = _dereq_(12);
7392
- var ReactMount = _dereq_(76);
7393
- var ReactPerf = _dereq_(81);
7369
+ var ReactMount = _dereq_(79);
7370
+ var ReactPerf = _dereq_(84);
7394
7371
 
7395
- var invariant = _dereq_(146);
7396
- var setInnerHTML = _dereq_(161);
7372
+ var invariant = _dereq_(149);
7373
+ var setInnerHTML = _dereq_(164);
7397
7374
 
7398
7375
  /**
7399
7376
  * Errors for properties that should not be updated with `updatePropertyById()`.
@@ -7525,7 +7502,7 @@ ReactPerf.measureMethods(ReactDOMIDOperations, 'ReactDOMIDOperations', {
7525
7502
  });
7526
7503
 
7527
7504
  module.exports = ReactDOMIDOperations;
7528
- },{"10":10,"12":12,"146":146,"161":161,"6":6,"76":76,"81":81}],50:[function(_dereq_,module,exports){
7505
+ },{"10":10,"12":12,"149":149,"164":164,"6":6,"79":79,"84":84}],51:[function(_dereq_,module,exports){
7529
7506
  /**
7530
7507
  * Copyright 2013-2015, Facebook, Inc.
7531
7508
  * All rights reserved.
@@ -7543,7 +7520,7 @@ var EventConstants = _dereq_(16);
7543
7520
  var LocalEventTrapMixin = _dereq_(27);
7544
7521
  var ReactBrowserComponentMixin = _dereq_(31);
7545
7522
  var ReactClass = _dereq_(37);
7546
- var ReactElement = _dereq_(62);
7523
+ var ReactElement = _dereq_(64);
7547
7524
 
7548
7525
  var iframe = ReactElement.createFactory('iframe');
7549
7526
 
@@ -7569,7 +7546,7 @@ var ReactDOMIframe = ReactClass.createClass({
7569
7546
  });
7570
7547
 
7571
7548
  module.exports = ReactDOMIframe;
7572
- },{"16":16,"27":27,"31":31,"37":37,"62":62}],51:[function(_dereq_,module,exports){
7549
+ },{"16":16,"27":27,"31":31,"37":37,"64":64}],52:[function(_dereq_,module,exports){
7573
7550
  /**
7574
7551
  * Copyright 2013-2015, Facebook, Inc.
7575
7552
  * All rights reserved.
@@ -7587,7 +7564,7 @@ var EventConstants = _dereq_(16);
7587
7564
  var LocalEventTrapMixin = _dereq_(27);
7588
7565
  var ReactBrowserComponentMixin = _dereq_(31);
7589
7566
  var ReactClass = _dereq_(37);
7590
- var ReactElement = _dereq_(62);
7567
+ var ReactElement = _dereq_(64);
7591
7568
 
7592
7569
  var img = ReactElement.createFactory('img');
7593
7570
 
@@ -7614,7 +7591,7 @@ var ReactDOMImg = ReactClass.createClass({
7614
7591
  });
7615
7592
 
7616
7593
  module.exports = ReactDOMImg;
7617
- },{"16":16,"27":27,"31":31,"37":37,"62":62}],52:[function(_dereq_,module,exports){
7594
+ },{"16":16,"27":27,"31":31,"37":37,"64":64}],53:[function(_dereq_,module,exports){
7618
7595
  /**
7619
7596
  * Copyright 2013-2015, Facebook, Inc.
7620
7597
  * All rights reserved.
@@ -7633,13 +7610,13 @@ var DOMPropertyOperations = _dereq_(12);
7633
7610
  var LinkedValueUtils = _dereq_(26);
7634
7611
  var ReactBrowserComponentMixin = _dereq_(31);
7635
7612
  var ReactClass = _dereq_(37);
7636
- var ReactElement = _dereq_(62);
7637
- var ReactMount = _dereq_(76);
7638
- var ReactUpdates = _dereq_(98);
7613
+ var ReactElement = _dereq_(64);
7614
+ var ReactMount = _dereq_(79);
7615
+ var ReactUpdates = _dereq_(101);
7639
7616
 
7640
7617
  var assign = _dereq_(28);
7641
- var findDOMNode = _dereq_(129);
7642
- var invariant = _dereq_(146);
7618
+ var findDOMNode = _dereq_(132);
7619
+ var invariant = _dereq_(149);
7643
7620
 
7644
7621
  var input = ReactElement.createFactory('input');
7645
7622
 
@@ -7775,7 +7752,7 @@ var ReactDOMInput = ReactClass.createClass({
7775
7752
  });
7776
7753
 
7777
7754
  module.exports = ReactDOMInput;
7778
- },{"12":12,"129":129,"146":146,"2":2,"26":26,"28":28,"31":31,"37":37,"62":62,"76":76,"98":98}],53:[function(_dereq_,module,exports){
7755
+ },{"101":101,"12":12,"132":132,"149":149,"2":2,"26":26,"28":28,"31":31,"37":37,"64":64,"79":79}],54:[function(_dereq_,module,exports){
7779
7756
  /**
7780
7757
  * Copyright 2013-2015, Facebook, Inc.
7781
7758
  * All rights reserved.
@@ -7790,14 +7767,15 @@ module.exports = ReactDOMInput;
7790
7767
  'use strict';
7791
7768
 
7792
7769
  var ReactBrowserComponentMixin = _dereq_(31);
7770
+ var ReactChildren = _dereq_(36);
7793
7771
  var ReactClass = _dereq_(37);
7794
- var ReactDOMSelect = _dereq_(54);
7795
- var ReactElement = _dereq_(62);
7796
- var ReactInstanceMap = _dereq_(72);
7797
- var ReactPropTypes = _dereq_(85);
7772
+ var ReactDOMSelect = _dereq_(55);
7773
+ var ReactElement = _dereq_(64);
7774
+ var ReactInstanceMap = _dereq_(74);
7775
+ var ReactPropTypes = _dereq_(88);
7798
7776
 
7799
7777
  var assign = _dereq_(28);
7800
- var warning = _dereq_(170);
7778
+ var warning = _dereq_(173);
7801
7779
 
7802
7780
  var option = ReactElement.createFactory('option');
7803
7781
 
@@ -7860,13 +7838,28 @@ var ReactDOMOption = ReactClass.createClass({
7860
7838
  props = assign({}, props, { selected: this.state.selected });
7861
7839
  }
7862
7840
 
7863
- return option(props, this.props.children);
7841
+ var content = '';
7842
+
7843
+ // Flatten children and warn if they aren't strings or numbers;
7844
+ // invalid types are ignored.
7845
+ ReactChildren.forEach(this.props.children, function (child) {
7846
+ if (child == null) {
7847
+ return;
7848
+ }
7849
+ if (typeof child === 'string' || typeof child === 'number') {
7850
+ content += child;
7851
+ } else {
7852
+ 'production' !== "development" ? warning(false, 'Only strings and numbers are supported as <option> children.') : null;
7853
+ }
7854
+ });
7855
+
7856
+ return option(props, content);
7864
7857
  }
7865
7858
 
7866
7859
  });
7867
7860
 
7868
7861
  module.exports = ReactDOMOption;
7869
- },{"170":170,"28":28,"31":31,"37":37,"54":54,"62":62,"72":72,"85":85}],54:[function(_dereq_,module,exports){
7862
+ },{"173":173,"28":28,"31":31,"36":36,"37":37,"55":55,"64":64,"74":74,"88":88}],55:[function(_dereq_,module,exports){
7870
7863
  /**
7871
7864
  * Copyright 2013-2015, Facebook, Inc.
7872
7865
  * All rights reserved.
@@ -7884,12 +7877,12 @@ var AutoFocusMixin = _dereq_(2);
7884
7877
  var LinkedValueUtils = _dereq_(26);
7885
7878
  var ReactBrowserComponentMixin = _dereq_(31);
7886
7879
  var ReactClass = _dereq_(37);
7887
- var ReactElement = _dereq_(62);
7888
- var ReactUpdates = _dereq_(98);
7889
- var ReactPropTypes = _dereq_(85);
7880
+ var ReactElement = _dereq_(64);
7881
+ var ReactUpdates = _dereq_(101);
7882
+ var ReactPropTypes = _dereq_(88);
7890
7883
 
7891
7884
  var assign = _dereq_(28);
7892
- var findDOMNode = _dereq_(129);
7885
+ var findDOMNode = _dereq_(132);
7893
7886
 
7894
7887
  var select = ReactElement.createFactory('select');
7895
7888
 
@@ -8065,7 +8058,7 @@ var ReactDOMSelect = ReactClass.createClass({
8065
8058
  });
8066
8059
 
8067
8060
  module.exports = ReactDOMSelect;
8068
- },{"129":129,"2":2,"26":26,"28":28,"31":31,"37":37,"62":62,"85":85,"98":98}],55:[function(_dereq_,module,exports){
8061
+ },{"101":101,"132":132,"2":2,"26":26,"28":28,"31":31,"37":37,"64":64,"88":88}],56:[function(_dereq_,module,exports){
8069
8062
  /**
8070
8063
  * Copyright 2013-2015, Facebook, Inc.
8071
8064
  * All rights reserved.
@@ -8081,8 +8074,8 @@ module.exports = ReactDOMSelect;
8081
8074
 
8082
8075
  var ExecutionEnvironment = _dereq_(22);
8083
8076
 
8084
- var getNodeForCharacterOffset = _dereq_(140);
8085
- var getTextContentAccessor = _dereq_(141);
8077
+ var getNodeForCharacterOffset = _dereq_(143);
8078
+ var getTextContentAccessor = _dereq_(144);
8086
8079
 
8087
8080
  /**
8088
8081
  * While `isCollapsed` is available on the Selection object and `collapsed`
@@ -8262,7 +8255,32 @@ var ReactDOMSelection = {
8262
8255
  };
8263
8256
 
8264
8257
  module.exports = ReactDOMSelection;
8265
- },{"140":140,"141":141,"22":22}],56:[function(_dereq_,module,exports){
8258
+ },{"143":143,"144":144,"22":22}],57:[function(_dereq_,module,exports){
8259
+ /**
8260
+ * Copyright 2013-2015, Facebook, Inc.
8261
+ * All rights reserved.
8262
+ *
8263
+ * This source code is licensed under the BSD-style license found in the
8264
+ * LICENSE file in the root directory of this source tree. An additional grant
8265
+ * of patent rights can be found in the PATENTS file in the same directory.
8266
+ *
8267
+ * @providesModule ReactDOMServer
8268
+ */
8269
+
8270
+ 'use strict';
8271
+
8272
+ var ReactDefaultInjection = _dereq_(61);
8273
+ var ReactServerRendering = _dereq_(93);
8274
+
8275
+ ReactDefaultInjection.inject();
8276
+
8277
+ var ReactDOMServer = {
8278
+ renderToString: ReactServerRendering.renderToString,
8279
+ renderToStaticMarkup: ReactServerRendering.renderToStaticMarkup
8280
+ };
8281
+
8282
+ module.exports = ReactDOMServer;
8283
+ },{"61":61,"93":93}],58:[function(_dereq_,module,exports){
8266
8284
  /**
8267
8285
  * Copyright 2013-2015, Facebook, Inc.
8268
8286
  * All rights reserved.
@@ -8279,11 +8297,11 @@ module.exports = ReactDOMSelection;
8279
8297
 
8280
8298
  var DOMPropertyOperations = _dereq_(12);
8281
8299
  var ReactComponentBrowserEnvironment = _dereq_(39);
8282
- var ReactDOMComponent = _dereq_(47);
8300
+ var ReactDOMComponent = _dereq_(48);
8283
8301
 
8284
8302
  var assign = _dereq_(28);
8285
- var escapeTextContentForBrowser = _dereq_(128);
8286
- var validateDOMNesting = _dereq_(169);
8303
+ var escapeTextContentForBrowser = _dereq_(131);
8304
+ var validateDOMNesting = _dereq_(172);
8287
8305
 
8288
8306
  /**
8289
8307
  * Text nodes violate a couple assumptions that React makes about components:
@@ -8329,8 +8347,8 @@ assign(ReactDOMTextComponent.prototype, {
8329
8347
  */
8330
8348
  mountComponent: function (rootID, transaction, context) {
8331
8349
  if ('production' !== "development") {
8332
- if (context[validateDOMNesting.tagStackContextKey]) {
8333
- validateDOMNesting(context[validateDOMNesting.tagStackContextKey], 'span', null);
8350
+ if (context[validateDOMNesting.ancestorInfoContextKey]) {
8351
+ validateDOMNesting('span', null, context[validateDOMNesting.ancestorInfoContextKey]);
8334
8352
  }
8335
8353
  }
8336
8354
 
@@ -8377,7 +8395,7 @@ assign(ReactDOMTextComponent.prototype, {
8377
8395
  module.exports = ReactDOMTextComponent;
8378
8396
 
8379
8397
  // This constructor and its argument is currently used by mocks.
8380
- },{"12":12,"128":128,"169":169,"28":28,"39":39,"47":47}],57:[function(_dereq_,module,exports){
8398
+ },{"12":12,"131":131,"172":172,"28":28,"39":39,"48":48}],59:[function(_dereq_,module,exports){
8381
8399
  /**
8382
8400
  * Copyright 2013-2015, Facebook, Inc.
8383
8401
  * All rights reserved.
@@ -8396,14 +8414,14 @@ var DOMPropertyOperations = _dereq_(12);
8396
8414
  var LinkedValueUtils = _dereq_(26);
8397
8415
  var ReactBrowserComponentMixin = _dereq_(31);
8398
8416
  var ReactClass = _dereq_(37);
8399
- var ReactElement = _dereq_(62);
8400
- var ReactUpdates = _dereq_(98);
8417
+ var ReactElement = _dereq_(64);
8418
+ var ReactUpdates = _dereq_(101);
8401
8419
 
8402
8420
  var assign = _dereq_(28);
8403
- var findDOMNode = _dereq_(129);
8404
- var invariant = _dereq_(146);
8421
+ var findDOMNode = _dereq_(132);
8422
+ var invariant = _dereq_(149);
8405
8423
 
8406
- var warning = _dereq_(170);
8424
+ var warning = _dereq_(173);
8407
8425
 
8408
8426
  var textarea = ReactElement.createFactory('textarea');
8409
8427
 
@@ -8502,7 +8520,7 @@ var ReactDOMTextarea = ReactClass.createClass({
8502
8520
  });
8503
8521
 
8504
8522
  module.exports = ReactDOMTextarea;
8505
- },{"12":12,"129":129,"146":146,"170":170,"2":2,"26":26,"28":28,"31":31,"37":37,"62":62,"98":98}],58:[function(_dereq_,module,exports){
8523
+ },{"101":101,"12":12,"132":132,"149":149,"173":173,"2":2,"26":26,"28":28,"31":31,"37":37,"64":64}],60:[function(_dereq_,module,exports){
8506
8524
  /**
8507
8525
  * Copyright 2013-2015, Facebook, Inc.
8508
8526
  * All rights reserved.
@@ -8516,11 +8534,11 @@ module.exports = ReactDOMTextarea;
8516
8534
 
8517
8535
  'use strict';
8518
8536
 
8519
- var ReactUpdates = _dereq_(98);
8520
- var Transaction = _dereq_(114);
8537
+ var ReactUpdates = _dereq_(101);
8538
+ var Transaction = _dereq_(117);
8521
8539
 
8522
8540
  var assign = _dereq_(28);
8523
- var emptyFunction = _dereq_(126);
8541
+ var emptyFunction = _dereq_(129);
8524
8542
 
8525
8543
  var RESET_BATCHED_UPDATES = {
8526
8544
  initialize: emptyFunction,
@@ -8570,7 +8588,7 @@ var ReactDefaultBatchingStrategy = {
8570
8588
  };
8571
8589
 
8572
8590
  module.exports = ReactDefaultBatchingStrategy;
8573
- },{"114":114,"126":126,"28":28,"98":98}],59:[function(_dereq_,module,exports){
8591
+ },{"101":101,"117":117,"129":129,"28":28}],61:[function(_dereq_,module,exports){
8574
8592
  /**
8575
8593
  * Copyright 2013-2015, Facebook, Inc.
8576
8594
  * All rights reserved.
@@ -8594,31 +8612,31 @@ var HTMLDOMPropertyConfig = _dereq_(24);
8594
8612
  var ReactBrowserComponentMixin = _dereq_(31);
8595
8613
  var ReactClass = _dereq_(37);
8596
8614
  var ReactComponentBrowserEnvironment = _dereq_(39);
8597
- var ReactDefaultBatchingStrategy = _dereq_(58);
8598
- var ReactDOMComponent = _dereq_(47);
8615
+ var ReactDefaultBatchingStrategy = _dereq_(60);
8616
+ var ReactDOMComponent = _dereq_(48);
8599
8617
  var ReactDOMButton = _dereq_(46);
8600
- var ReactDOMForm = _dereq_(48);
8601
- var ReactDOMImg = _dereq_(51);
8602
- var ReactDOMIDOperations = _dereq_(49);
8603
- var ReactDOMIframe = _dereq_(50);
8604
- var ReactDOMInput = _dereq_(52);
8605
- var ReactDOMOption = _dereq_(53);
8606
- var ReactDOMSelect = _dereq_(54);
8607
- var ReactDOMTextarea = _dereq_(57);
8608
- var ReactDOMTextComponent = _dereq_(56);
8609
- var ReactElement = _dereq_(62);
8610
- var ReactEventListener = _dereq_(67);
8611
- var ReactInjection = _dereq_(69);
8612
- var ReactInstanceHandles = _dereq_(71);
8613
- var ReactInstanceMap = _dereq_(72);
8614
- var ReactMount = _dereq_(76);
8615
- var ReactReconcileTransaction = _dereq_(86);
8616
- var SelectEventPlugin = _dereq_(100);
8617
- var ServerReactRootIndex = _dereq_(101);
8618
- var SimpleEventPlugin = _dereq_(102);
8619
- var SVGDOMPropertyConfig = _dereq_(99);
8620
-
8621
- var createFullPageComponent = _dereq_(123);
8618
+ var ReactDOMForm = _dereq_(49);
8619
+ var ReactDOMImg = _dereq_(52);
8620
+ var ReactDOMIDOperations = _dereq_(50);
8621
+ var ReactDOMIframe = _dereq_(51);
8622
+ var ReactDOMInput = _dereq_(53);
8623
+ var ReactDOMOption = _dereq_(54);
8624
+ var ReactDOMSelect = _dereq_(55);
8625
+ var ReactDOMTextarea = _dereq_(59);
8626
+ var ReactDOMTextComponent = _dereq_(58);
8627
+ var ReactElement = _dereq_(64);
8628
+ var ReactEventListener = _dereq_(69);
8629
+ var ReactInjection = _dereq_(71);
8630
+ var ReactInstanceHandles = _dereq_(73);
8631
+ var ReactInstanceMap = _dereq_(74);
8632
+ var ReactMount = _dereq_(79);
8633
+ var ReactReconcileTransaction = _dereq_(89);
8634
+ var SelectEventPlugin = _dereq_(103);
8635
+ var ServerReactRootIndex = _dereq_(104);
8636
+ var SimpleEventPlugin = _dereq_(105);
8637
+ var SVGDOMPropertyConfig = _dereq_(102);
8638
+
8639
+ var createFullPageComponent = _dereq_(126);
8622
8640
 
8623
8641
  function autoGenerateWrapperClass(type) {
8624
8642
  return ReactClass.createClass({
@@ -8635,7 +8653,17 @@ function autoGenerateWrapperClass(type) {
8635
8653
  });
8636
8654
  }
8637
8655
 
8656
+ var alreadyInjected = false;
8657
+
8638
8658
  function inject() {
8659
+ if (alreadyInjected) {
8660
+ // TODO: This is currently true because these injections are shared between
8661
+ // the client and the server package. They should be built independently
8662
+ // and not share any injection state. Then this problem will be solved.
8663
+ return;
8664
+ }
8665
+ alreadyInjected = true;
8666
+
8639
8667
  ReactInjection.EventEmitter.injectReactEventListener(ReactEventListener);
8640
8668
 
8641
8669
  /**
@@ -8698,7 +8726,7 @@ function inject() {
8698
8726
  if ('production' !== "development") {
8699
8727
  var url = ExecutionEnvironment.canUseDOM && window.location.href || '';
8700
8728
  if (/[?&]react_perf\b/.test(url)) {
8701
- var ReactDefaultPerf = _dereq_(60);
8729
+ var ReactDefaultPerf = _dereq_(62);
8702
8730
  ReactDefaultPerf.start();
8703
8731
  }
8704
8732
  }
@@ -8707,7 +8735,7 @@ function inject() {
8707
8735
  module.exports = {
8708
8736
  inject: inject
8709
8737
  };
8710
- },{"100":100,"101":101,"102":102,"123":123,"14":14,"15":15,"22":22,"24":24,"3":3,"31":31,"37":37,"39":39,"46":46,"47":47,"48":48,"49":49,"50":50,"51":51,"52":52,"53":53,"54":54,"56":56,"57":57,"58":58,"60":60,"62":62,"67":67,"69":69,"71":71,"72":72,"76":76,"8":8,"86":86,"9":9,"99":99}],60:[function(_dereq_,module,exports){
8738
+ },{"102":102,"103":103,"104":104,"105":105,"126":126,"14":14,"15":15,"22":22,"24":24,"3":3,"31":31,"37":37,"39":39,"46":46,"48":48,"49":49,"50":50,"51":51,"52":52,"53":53,"54":54,"55":55,"58":58,"59":59,"60":60,"62":62,"64":64,"69":69,"71":71,"73":73,"74":74,"79":79,"8":8,"89":89,"9":9}],62:[function(_dereq_,module,exports){
8711
8739
  /**
8712
8740
  * Copyright 2013-2015, Facebook, Inc.
8713
8741
  * All rights reserved.
@@ -8723,11 +8751,11 @@ module.exports = {
8723
8751
  'use strict';
8724
8752
 
8725
8753
  var DOMProperty = _dereq_(11);
8726
- var ReactDefaultPerfAnalysis = _dereq_(61);
8727
- var ReactMount = _dereq_(76);
8728
- var ReactPerf = _dereq_(81);
8754
+ var ReactDefaultPerfAnalysis = _dereq_(63);
8755
+ var ReactMount = _dereq_(79);
8756
+ var ReactPerf = _dereq_(84);
8729
8757
 
8730
- var performanceNow = _dereq_(158);
8758
+ var performanceNow = _dereq_(161);
8731
8759
 
8732
8760
  function roundFloat(val) {
8733
8761
  return Math.floor(val * 100) / 100;
@@ -8939,7 +8967,7 @@ var ReactDefaultPerf = {
8939
8967
  };
8940
8968
 
8941
8969
  module.exports = ReactDefaultPerf;
8942
- },{"11":11,"158":158,"61":61,"76":76,"81":81}],61:[function(_dereq_,module,exports){
8970
+ },{"11":11,"161":161,"63":63,"79":79,"84":84}],63:[function(_dereq_,module,exports){
8943
8971
  /**
8944
8972
  * Copyright 2013-2015, Facebook, Inc.
8945
8973
  * All rights reserved.
@@ -9138,7 +9166,7 @@ var ReactDefaultPerfAnalysis = {
9138
9166
  };
9139
9167
 
9140
9168
  module.exports = ReactDefaultPerfAnalysis;
9141
- },{"28":28}],62:[function(_dereq_,module,exports){
9169
+ },{"28":28}],64:[function(_dereq_,module,exports){
9142
9170
  /**
9143
9171
  * Copyright 2014-2015, Facebook, Inc.
9144
9172
  * All rights reserved.
@@ -9156,7 +9184,7 @@ var ReactContext = _dereq_(43);
9156
9184
  var ReactCurrentOwner = _dereq_(44);
9157
9185
 
9158
9186
  var assign = _dereq_(28);
9159
- var warning = _dereq_(170);
9187
+ var warning = _dereq_(173);
9160
9188
 
9161
9189
  var RESERVED_PROPS = {
9162
9190
  key: true,
@@ -9240,6 +9268,19 @@ var ReactElement = function (type, key, ref, owner, context, props) {
9240
9268
  // commonly used development environments.
9241
9269
  this._store = { props: props, originalProps: assign({}, props) };
9242
9270
 
9271
+ // To make comparing ReactElements easier for testing purposes, we make
9272
+ // the validation flag non-enumerable (where possible, which should
9273
+ // include every environment we run tests in), so the test framework
9274
+ // ignores it.
9275
+ try {
9276
+ Object.defineProperty(this._store, 'validated', {
9277
+ configurable: false,
9278
+ enumerable: false,
9279
+ writable: true
9280
+ });
9281
+ } catch (x) {}
9282
+ this._store.validated = false;
9283
+
9243
9284
  // We're not allowed to set props directly on the object so we early
9244
9285
  // return and rely on the prototype membrane to forward to the backing
9245
9286
  // store.
@@ -9289,20 +9330,6 @@ ReactElement.createElement = function (type, config, children) {
9289
9330
  props.children = children;
9290
9331
  } else if (childrenLength > 1) {
9291
9332
  var childArray = Array(childrenLength);
9292
-
9293
- // To make comparing ReactElements easier for testing purposes, we make
9294
- // the validation flag non-enumerable (where possible, which should
9295
- // include every environment we run tests in), so the test framework
9296
- // ignores it.
9297
- try {
9298
- Object.defineProperty(childArray, '_reactChildKeysValidated', {
9299
- configurable: false,
9300
- enumerable: false,
9301
- writable: true
9302
- });
9303
- } catch (x) {}
9304
- childArray._reactChildKeysValidated = true;
9305
-
9306
9333
  for (var i = 0; i < childrenLength; i++) {
9307
9334
  childArray[i] = arguments[i + 2];
9308
9335
  }
@@ -9335,6 +9362,11 @@ ReactElement.createFactory = function (type) {
9335
9362
 
9336
9363
  ReactElement.cloneAndReplaceProps = function (oldElement, newProps) {
9337
9364
  var newElement = new ReactElement(oldElement.type, oldElement.key, oldElement.ref, oldElement._owner, oldElement._context, newProps);
9365
+
9366
+ if ('production' !== "development") {
9367
+ // If the key on the original is valid, then the clone is valid
9368
+ newElement._store.validated = oldElement._store.validated;
9369
+ }
9338
9370
  return newElement;
9339
9371
  };
9340
9372
 
@@ -9406,7 +9438,7 @@ ReactElement.isValidElement = function (object) {
9406
9438
  module.exports = ReactElement;
9407
9439
 
9408
9440
  // IE will fail on defineProperty
9409
- },{"170":170,"28":28,"43":43,"44":44}],63:[function(_dereq_,module,exports){
9441
+ },{"173":173,"28":28,"43":43,"44":44}],65:[function(_dereq_,module,exports){
9410
9442
  /**
9411
9443
  * Copyright 2014-2015, Facebook, Inc.
9412
9444
  * All rights reserved.
@@ -9427,16 +9459,16 @@ module.exports = ReactElement;
9427
9459
 
9428
9460
  'use strict';
9429
9461
 
9430
- var ReactElement = _dereq_(62);
9431
- var ReactFragment = _dereq_(68);
9432
- var ReactPropTypeLocations = _dereq_(84);
9433
- var ReactPropTypeLocationNames = _dereq_(83);
9462
+ var ReactElement = _dereq_(64);
9463
+ var ReactFragment = _dereq_(70);
9464
+ var ReactPropTypeLocations = _dereq_(87);
9465
+ var ReactPropTypeLocationNames = _dereq_(86);
9434
9466
  var ReactCurrentOwner = _dereq_(44);
9435
- var ReactNativeComponent = _dereq_(79);
9467
+ var ReactNativeComponent = _dereq_(82);
9436
9468
 
9437
- var getIteratorFn = _dereq_(138);
9438
- var invariant = _dereq_(146);
9439
- var warning = _dereq_(170);
9469
+ var getIteratorFn = _dereq_(141);
9470
+ var invariant = _dereq_(149);
9471
+ var warning = _dereq_(173);
9440
9472
 
9441
9473
  function getDeclarationErrorAddendum() {
9442
9474
  if (ReactCurrentOwner.current) {
@@ -9499,9 +9531,11 @@ function getCurrentOwnerDisplayName() {
9499
9531
  * @param {*} parentType element's parent's type.
9500
9532
  */
9501
9533
  function validateExplicitKey(element, parentType) {
9502
- if (element.key != null) {
9534
+ if (element._store.validated || element.key != null) {
9503
9535
  return;
9504
9536
  }
9537
+ element._store.validated = true;
9538
+
9505
9539
  warnAndMonitorForKeyUse('Each child in an array or iterator should have a unique "key" prop.', element, parentType);
9506
9540
  }
9507
9541
 
@@ -9567,22 +9601,15 @@ function warnAndMonitorForKeyUse(message, element, parentType) {
9567
9601
  */
9568
9602
  function validateChildKeys(node, parentType) {
9569
9603
  if (Array.isArray(node)) {
9570
- if (node._reactChildKeysValidated) {
9571
- // All child elements were passed in a valid location.
9572
- return;
9573
- }
9574
9604
  for (var i = 0; i < node.length; i++) {
9575
9605
  var child = node[i];
9576
9606
  if (ReactElement.isValidElement(child)) {
9577
9607
  validateExplicitKey(child, parentType);
9578
- } else {
9579
- // TODO: Warn on unkeyed arrays and suggest using createFragment
9580
- validateChildKeys(child, parentType);
9581
9608
  }
9582
9609
  }
9583
- } else if (typeof node === 'string' || typeof node === 'number' || ReactElement.isValidElement(node)) {
9610
+ } else if (ReactElement.isValidElement(node)) {
9584
9611
  // This element was passed in a valid location.
9585
- return;
9612
+ node._store.validated = true;
9586
9613
  } else if (node) {
9587
9614
  var iteratorFn = getIteratorFn(node);
9588
9615
  // Entry iterators provide implicit keys.
@@ -9593,8 +9620,6 @@ function validateChildKeys(node, parentType) {
9593
9620
  while (!(step = iterator.next()).done) {
9594
9621
  if (ReactElement.isValidElement(step.value)) {
9595
9622
  validateExplicitKey(step.value, parentType);
9596
- } else {
9597
- validateChildKeys(step.value, parentType);
9598
9623
  }
9599
9624
  }
9600
9625
  }
@@ -9603,7 +9628,6 @@ function validateChildKeys(node, parentType) {
9603
9628
  for (var key in fragment) {
9604
9629
  if (fragment.hasOwnProperty(key)) {
9605
9630
  validatePropertyKey(key, fragment[key], parentType);
9606
- validateChildKeys(fragment[key], parentType);
9607
9631
  }
9608
9632
  }
9609
9633
  }
@@ -9809,7 +9833,7 @@ var ReactElementValidator = {
9809
9833
  module.exports = ReactElementValidator;
9810
9834
 
9811
9835
  // IE will fail on defineProperty (es5-shim/sham too)
9812
- },{"138":138,"146":146,"170":170,"44":44,"62":62,"68":68,"79":79,"83":83,"84":84}],64:[function(_dereq_,module,exports){
9836
+ },{"141":141,"149":149,"173":173,"44":44,"64":64,"70":70,"82":82,"86":86,"87":87}],66:[function(_dereq_,module,exports){
9813
9837
  /**
9814
9838
  * Copyright 2014-2015, Facebook, Inc.
9815
9839
  * All rights reserved.
@@ -9823,10 +9847,10 @@ module.exports = ReactElementValidator;
9823
9847
 
9824
9848
  'use strict';
9825
9849
 
9826
- var ReactElement = _dereq_(62);
9827
- var ReactInstanceMap = _dereq_(72);
9850
+ var ReactElement = _dereq_(64);
9851
+ var ReactInstanceMap = _dereq_(74);
9828
9852
 
9829
- var invariant = _dereq_(146);
9853
+ var invariant = _dereq_(149);
9830
9854
 
9831
9855
  var component;
9832
9856
  // This registry keeps track of the React IDs of the components that rendered to
@@ -9897,7 +9921,7 @@ var ReactEmptyComponent = {
9897
9921
  };
9898
9922
 
9899
9923
  module.exports = ReactEmptyComponent;
9900
- },{"146":146,"62":62,"72":72}],65:[function(_dereq_,module,exports){
9924
+ },{"149":149,"64":64,"74":74}],67:[function(_dereq_,module,exports){
9901
9925
  /**
9902
9926
  * Copyright 2013-2015, Facebook, Inc.
9903
9927
  * All rights reserved.
@@ -9928,7 +9952,7 @@ var ReactErrorUtils = {
9928
9952
  };
9929
9953
 
9930
9954
  module.exports = ReactErrorUtils;
9931
- },{}],66:[function(_dereq_,module,exports){
9955
+ },{}],68:[function(_dereq_,module,exports){
9932
9956
  /**
9933
9957
  * Copyright 2013-2015, Facebook, Inc.
9934
9958
  * All rights reserved.
@@ -9968,7 +9992,7 @@ var ReactEventEmitterMixin = {
9968
9992
  };
9969
9993
 
9970
9994
  module.exports = ReactEventEmitterMixin;
9971
- },{"18":18}],67:[function(_dereq_,module,exports){
9995
+ },{"18":18}],69:[function(_dereq_,module,exports){
9972
9996
  /**
9973
9997
  * Copyright 2013-2015, Facebook, Inc.
9974
9998
  * All rights reserved.
@@ -9986,13 +10010,13 @@ module.exports = ReactEventEmitterMixin;
9986
10010
  var EventListener = _dereq_(17);
9987
10011
  var ExecutionEnvironment = _dereq_(22);
9988
10012
  var PooledClass = _dereq_(29);
9989
- var ReactInstanceHandles = _dereq_(71);
9990
- var ReactMount = _dereq_(76);
9991
- var ReactUpdates = _dereq_(98);
10013
+ var ReactInstanceHandles = _dereq_(73);
10014
+ var ReactMount = _dereq_(79);
10015
+ var ReactUpdates = _dereq_(101);
9992
10016
 
9993
10017
  var assign = _dereq_(28);
9994
- var getEventTarget = _dereq_(137);
9995
- var getUnboundedScrollPosition = _dereq_(142);
10018
+ var getEventTarget = _dereq_(140);
10019
+ var getUnboundedScrollPosition = _dereq_(145);
9996
10020
 
9997
10021
  /**
9998
10022
  * Finds the parent React component of `node`.
@@ -10128,7 +10152,7 @@ var ReactEventListener = {
10128
10152
  };
10129
10153
 
10130
10154
  module.exports = ReactEventListener;
10131
- },{"137":137,"142":142,"17":17,"22":22,"28":28,"29":29,"71":71,"76":76,"98":98}],68:[function(_dereq_,module,exports){
10155
+ },{"101":101,"140":140,"145":145,"17":17,"22":22,"28":28,"29":29,"73":73,"79":79}],70:[function(_dereq_,module,exports){
10132
10156
  /**
10133
10157
  * Copyright 2015, Facebook, Inc.
10134
10158
  * All rights reserved.
@@ -10142,9 +10166,9 @@ module.exports = ReactEventListener;
10142
10166
 
10143
10167
  'use strict';
10144
10168
 
10145
- var ReactElement = _dereq_(62);
10169
+ var ReactElement = _dereq_(64);
10146
10170
 
10147
- var warning = _dereq_(170);
10171
+ var warning = _dereq_(173);
10148
10172
 
10149
10173
  /**
10150
10174
  * We used to allow keyed objects to serve as a collection of ReactElements,
@@ -10279,7 +10303,7 @@ var ReactFragment = {
10279
10303
  };
10280
10304
 
10281
10305
  module.exports = ReactFragment;
10282
- },{"170":170,"62":62}],69:[function(_dereq_,module,exports){
10306
+ },{"173":173,"64":64}],71:[function(_dereq_,module,exports){
10283
10307
  /**
10284
10308
  * Copyright 2013-2015, Facebook, Inc.
10285
10309
  * All rights reserved.
@@ -10297,13 +10321,13 @@ var DOMProperty = _dereq_(11);
10297
10321
  var EventPluginHub = _dereq_(18);
10298
10322
  var ReactComponentEnvironment = _dereq_(40);
10299
10323
  var ReactClass = _dereq_(37);
10300
- var ReactEmptyComponent = _dereq_(64);
10324
+ var ReactEmptyComponent = _dereq_(66);
10301
10325
  var ReactBrowserEventEmitter = _dereq_(32);
10302
- var ReactNativeComponent = _dereq_(79);
10303
- var ReactDOMComponent = _dereq_(47);
10304
- var ReactPerf = _dereq_(81);
10305
- var ReactRootIndex = _dereq_(89);
10306
- var ReactUpdates = _dereq_(98);
10326
+ var ReactNativeComponent = _dereq_(82);
10327
+ var ReactDOMComponent = _dereq_(48);
10328
+ var ReactPerf = _dereq_(84);
10329
+ var ReactRootIndex = _dereq_(92);
10330
+ var ReactUpdates = _dereq_(101);
10307
10331
 
10308
10332
  var ReactInjection = {
10309
10333
  Component: ReactComponentEnvironment.injection,
@@ -10320,7 +10344,7 @@ var ReactInjection = {
10320
10344
  };
10321
10345
 
10322
10346
  module.exports = ReactInjection;
10323
- },{"11":11,"18":18,"32":32,"37":37,"40":40,"47":47,"64":64,"79":79,"81":81,"89":89,"98":98}],70:[function(_dereq_,module,exports){
10347
+ },{"101":101,"11":11,"18":18,"32":32,"37":37,"40":40,"48":48,"66":66,"82":82,"84":84,"92":92}],72:[function(_dereq_,module,exports){
10324
10348
  /**
10325
10349
  * Copyright 2013-2015, Facebook, Inc.
10326
10350
  * All rights reserved.
@@ -10334,11 +10358,11 @@ module.exports = ReactInjection;
10334
10358
 
10335
10359
  'use strict';
10336
10360
 
10337
- var ReactDOMSelection = _dereq_(55);
10361
+ var ReactDOMSelection = _dereq_(56);
10338
10362
 
10339
- var containsNode = _dereq_(121);
10340
- var focusNode = _dereq_(131);
10341
- var getActiveElement = _dereq_(133);
10363
+ var containsNode = _dereq_(124);
10364
+ var focusNode = _dereq_(134);
10365
+ var getActiveElement = _dereq_(136);
10342
10366
 
10343
10367
  function isInDocument(node) {
10344
10368
  return containsNode(document.documentElement, node);
@@ -10444,7 +10468,7 @@ var ReactInputSelection = {
10444
10468
  };
10445
10469
 
10446
10470
  module.exports = ReactInputSelection;
10447
- },{"121":121,"131":131,"133":133,"55":55}],71:[function(_dereq_,module,exports){
10471
+ },{"124":124,"134":134,"136":136,"56":56}],73:[function(_dereq_,module,exports){
10448
10472
  /**
10449
10473
  * Copyright 2013-2015, Facebook, Inc.
10450
10474
  * All rights reserved.
@@ -10459,9 +10483,9 @@ module.exports = ReactInputSelection;
10459
10483
 
10460
10484
  'use strict';
10461
10485
 
10462
- var ReactRootIndex = _dereq_(89);
10486
+ var ReactRootIndex = _dereq_(92);
10463
10487
 
10464
- var invariant = _dereq_(146);
10488
+ var invariant = _dereq_(149);
10465
10489
 
10466
10490
  var SEPARATOR = '.';
10467
10491
  var SEPARATOR_LENGTH = SEPARATOR.length;
@@ -10747,7 +10771,7 @@ var ReactInstanceHandles = {
10747
10771
 
10748
10772
  module.exports = ReactInstanceHandles;
10749
10773
  /* until break */
10750
- },{"146":146,"89":89}],72:[function(_dereq_,module,exports){
10774
+ },{"149":149,"92":92}],74:[function(_dereq_,module,exports){
10751
10775
  /**
10752
10776
  * Copyright 2013-2015, Facebook, Inc.
10753
10777
  * All rights reserved.
@@ -10795,7 +10819,78 @@ var ReactInstanceMap = {
10795
10819
  };
10796
10820
 
10797
10821
  module.exports = ReactInstanceMap;
10798
- },{}],73:[function(_dereq_,module,exports){
10822
+ },{}],75:[function(_dereq_,module,exports){
10823
+ /**
10824
+ * Copyright 2013-2015, Facebook, Inc.
10825
+ * All rights reserved.
10826
+ *
10827
+ * This source code is licensed under the BSD-style license found in the
10828
+ * LICENSE file in the root directory of this source tree. An additional grant
10829
+ * of patent rights can be found in the PATENTS file in the same directory.
10830
+ *
10831
+ * @providesModule ReactIsomorphic
10832
+ */
10833
+
10834
+ 'use strict';
10835
+
10836
+ var ReactChildren = _dereq_(36);
10837
+ var ReactComponent = _dereq_(38);
10838
+ var ReactClass = _dereq_(37);
10839
+ var ReactDOM = _dereq_(45);
10840
+ var ReactElement = _dereq_(64);
10841
+ var ReactElementValidator = _dereq_(65);
10842
+ var ReactPropTypes = _dereq_(88);
10843
+
10844
+ var assign = _dereq_(28);
10845
+ var onlyChild = _dereq_(159);
10846
+
10847
+ var createElement = ReactElement.createElement;
10848
+ var createFactory = ReactElement.createFactory;
10849
+ var cloneElement = ReactElement.cloneElement;
10850
+
10851
+ if ('production' !== "development") {
10852
+ createElement = ReactElementValidator.createElement;
10853
+ createFactory = ReactElementValidator.createFactory;
10854
+ cloneElement = ReactElementValidator.cloneElement;
10855
+ }
10856
+
10857
+ var React = {
10858
+
10859
+ // Modern
10860
+
10861
+ Children: {
10862
+ map: ReactChildren.map,
10863
+ forEach: ReactChildren.forEach,
10864
+ count: ReactChildren.count,
10865
+ only: onlyChild
10866
+ },
10867
+
10868
+ Component: ReactComponent,
10869
+
10870
+ createElement: createElement,
10871
+ cloneElement: cloneElement,
10872
+ isValidElement: ReactElement.isValidElement,
10873
+
10874
+ // Classic
10875
+
10876
+ PropTypes: ReactPropTypes,
10877
+ createClass: ReactClass.createClass,
10878
+ createFactory: createFactory,
10879
+ createMixin: function (mixin) {
10880
+ // Currently a noop. Will be used to validate and trace mixins.
10881
+ return mixin;
10882
+ },
10883
+
10884
+ // This looks DOM specific but these are actually isomorphic helpers
10885
+ // since they are just generating DOM strings.
10886
+ DOM: ReactDOM,
10887
+
10888
+ // Hook for JSX spread, don't use this for anything else.
10889
+ __spread: assign
10890
+ };
10891
+
10892
+ module.exports = React;
10893
+ },{"159":159,"28":28,"36":36,"37":37,"38":38,"45":45,"64":64,"65":65,"88":88}],76:[function(_dereq_,module,exports){
10799
10894
  /**
10800
10895
  * Copyright 2015, Facebook, Inc.
10801
10896
  * All rights reserved.
@@ -10831,7 +10926,7 @@ var ReactLifeCycle = {
10831
10926
  };
10832
10927
 
10833
10928
  module.exports = ReactLifeCycle;
10834
- },{}],74:[function(_dereq_,module,exports){
10929
+ },{}],77:[function(_dereq_,module,exports){
10835
10930
  /**
10836
10931
  * Copyright 2013-2015, Facebook, Inc.
10837
10932
  * All rights reserved.
@@ -10901,7 +10996,7 @@ ReactLink.PropTypes = {
10901
10996
  };
10902
10997
 
10903
10998
  module.exports = ReactLink;
10904
- },{"30":30}],75:[function(_dereq_,module,exports){
10999
+ },{"30":30}],78:[function(_dereq_,module,exports){
10905
11000
  /**
10906
11001
  * Copyright 2013-2015, Facebook, Inc.
10907
11002
  * All rights reserved.
@@ -10915,7 +11010,7 @@ module.exports = ReactLink;
10915
11010
 
10916
11011
  'use strict';
10917
11012
 
10918
- var adler32 = _dereq_(117);
11013
+ var adler32 = _dereq_(120);
10919
11014
 
10920
11015
  var ReactMarkupChecksum = {
10921
11016
  CHECKSUM_ATTR_NAME: 'data-react-checksum',
@@ -10943,7 +11038,7 @@ var ReactMarkupChecksum = {
10943
11038
  };
10944
11039
 
10945
11040
  module.exports = ReactMarkupChecksum;
10946
- },{"117":117}],76:[function(_dereq_,module,exports){
11041
+ },{"120":120}],79:[function(_dereq_,module,exports){
10947
11042
  /**
10948
11043
  * Copyright 2013-2015, Facebook, Inc.
10949
11044
  * All rights reserved.
@@ -10960,25 +11055,25 @@ module.exports = ReactMarkupChecksum;
10960
11055
  var DOMProperty = _dereq_(11);
10961
11056
  var ReactBrowserEventEmitter = _dereq_(32);
10962
11057
  var ReactCurrentOwner = _dereq_(44);
10963
- var ReactElement = _dereq_(62);
10964
- var ReactElementValidator = _dereq_(63);
10965
- var ReactEmptyComponent = _dereq_(64);
10966
- var ReactInstanceHandles = _dereq_(71);
10967
- var ReactInstanceMap = _dereq_(72);
10968
- var ReactMarkupChecksum = _dereq_(75);
10969
- var ReactPerf = _dereq_(81);
10970
- var ReactReconciler = _dereq_(87);
10971
- var ReactUpdateQueue = _dereq_(97);
10972
- var ReactUpdates = _dereq_(98);
10973
-
10974
- var emptyObject = _dereq_(127);
10975
- var containsNode = _dereq_(121);
10976
- var instantiateReactComponent = _dereq_(145);
10977
- var invariant = _dereq_(146);
10978
- var setInnerHTML = _dereq_(161);
10979
- var shouldUpdateReactComponent = _dereq_(165);
10980
- var validateDOMNesting = _dereq_(169);
10981
- var warning = _dereq_(170);
11058
+ var ReactElement = _dereq_(64);
11059
+ var ReactElementValidator = _dereq_(65);
11060
+ var ReactEmptyComponent = _dereq_(66);
11061
+ var ReactInstanceHandles = _dereq_(73);
11062
+ var ReactInstanceMap = _dereq_(74);
11063
+ var ReactMarkupChecksum = _dereq_(78);
11064
+ var ReactPerf = _dereq_(84);
11065
+ var ReactReconciler = _dereq_(90);
11066
+ var ReactUpdateQueue = _dereq_(100);
11067
+ var ReactUpdates = _dereq_(101);
11068
+
11069
+ var emptyObject = _dereq_(130);
11070
+ var containsNode = _dereq_(124);
11071
+ var instantiateReactComponent = _dereq_(148);
11072
+ var invariant = _dereq_(149);
11073
+ var setInnerHTML = _dereq_(164);
11074
+ var shouldUpdateReactComponent = _dereq_(168);
11075
+ var validateDOMNesting = _dereq_(172);
11076
+ var warning = _dereq_(173);
10982
11077
 
10983
11078
  var SEPARATOR = ReactInstanceHandles.SEPARATOR;
10984
11079
 
@@ -11197,7 +11292,8 @@ function mountComponentIntoNode(componentInstance, rootID, container, transactio
11197
11292
  if (context === emptyObject) {
11198
11293
  context = {};
11199
11294
  }
11200
- context[validateDOMNesting.tagStackContextKey] = [container.nodeName.toLowerCase()];
11295
+ var tag = container.nodeName.toLowerCase();
11296
+ context[validateDOMNesting.ancestorInfoContextKey] = validateDOMNesting.updatedAncestorInfo(null, tag, null);
11201
11297
  }
11202
11298
  var markup = ReactReconciler.mountComponent(componentInstance, rootID, transaction, context);
11203
11299
  componentInstance._isTopLevel = true;
@@ -11707,7 +11803,7 @@ ReactPerf.measureMethods(ReactMount, 'ReactMount', {
11707
11803
  });
11708
11804
 
11709
11805
  module.exports = ReactMount;
11710
- },{"11":11,"121":121,"127":127,"145":145,"146":146,"161":161,"165":165,"169":169,"170":170,"32":32,"44":44,"62":62,"63":63,"64":64,"71":71,"72":72,"75":75,"81":81,"87":87,"97":97,"98":98}],77:[function(_dereq_,module,exports){
11806
+ },{"100":100,"101":101,"11":11,"124":124,"130":130,"148":148,"149":149,"164":164,"168":168,"172":172,"173":173,"32":32,"44":44,"64":64,"65":65,"66":66,"73":73,"74":74,"78":78,"84":84,"90":90}],80:[function(_dereq_,module,exports){
11711
11807
  /**
11712
11808
  * Copyright 2013-2015, Facebook, Inc.
11713
11809
  * All rights reserved.
@@ -11723,9 +11819,9 @@ module.exports = ReactMount;
11723
11819
  'use strict';
11724
11820
 
11725
11821
  var ReactComponentEnvironment = _dereq_(40);
11726
- var ReactMultiChildUpdateTypes = _dereq_(78);
11822
+ var ReactMultiChildUpdateTypes = _dereq_(81);
11727
11823
 
11728
- var ReactReconciler = _dereq_(87);
11824
+ var ReactReconciler = _dereq_(90);
11729
11825
  var ReactChildReconciler = _dereq_(35);
11730
11826
 
11731
11827
  /**
@@ -12110,7 +12206,7 @@ var ReactMultiChild = {
12110
12206
  };
12111
12207
 
12112
12208
  module.exports = ReactMultiChild;
12113
- },{"35":35,"40":40,"78":78,"87":87}],78:[function(_dereq_,module,exports){
12209
+ },{"35":35,"40":40,"81":81,"90":90}],81:[function(_dereq_,module,exports){
12114
12210
  /**
12115
12211
  * Copyright 2013-2015, Facebook, Inc.
12116
12212
  * All rights reserved.
@@ -12124,7 +12220,7 @@ module.exports = ReactMultiChild;
12124
12220
 
12125
12221
  'use strict';
12126
12222
 
12127
- var keyMirror = _dereq_(152);
12223
+ var keyMirror = _dereq_(155);
12128
12224
 
12129
12225
  /**
12130
12226
  * When a component's children are updated, a series of update configuration
@@ -12142,7 +12238,7 @@ var ReactMultiChildUpdateTypes = keyMirror({
12142
12238
  });
12143
12239
 
12144
12240
  module.exports = ReactMultiChildUpdateTypes;
12145
- },{"152":152}],79:[function(_dereq_,module,exports){
12241
+ },{"155":155}],82:[function(_dereq_,module,exports){
12146
12242
  /**
12147
12243
  * Copyright 2014-2015, Facebook, Inc.
12148
12244
  * All rights reserved.
@@ -12157,7 +12253,7 @@ module.exports = ReactMultiChildUpdateTypes;
12157
12253
  'use strict';
12158
12254
 
12159
12255
  var assign = _dereq_(28);
12160
- var invariant = _dereq_(146);
12256
+ var invariant = _dereq_(149);
12161
12257
 
12162
12258
  var autoGenerateWrapperClass = null;
12163
12259
  var genericComponentClass = null;
@@ -12242,7 +12338,7 @@ var ReactNativeComponent = {
12242
12338
  };
12243
12339
 
12244
12340
  module.exports = ReactNativeComponent;
12245
- },{"146":146,"28":28}],80:[function(_dereq_,module,exports){
12341
+ },{"149":149,"28":28}],83:[function(_dereq_,module,exports){
12246
12342
  /**
12247
12343
  * Copyright 2013-2015, Facebook, Inc.
12248
12344
  * All rights reserved.
@@ -12256,7 +12352,7 @@ module.exports = ReactNativeComponent;
12256
12352
 
12257
12353
  'use strict';
12258
12354
 
12259
- var invariant = _dereq_(146);
12355
+ var invariant = _dereq_(149);
12260
12356
 
12261
12357
  /**
12262
12358
  * ReactOwners are capable of storing references to owned components.
@@ -12334,7 +12430,7 @@ var ReactOwner = {
12334
12430
  };
12335
12431
 
12336
12432
  module.exports = ReactOwner;
12337
- },{"146":146}],81:[function(_dereq_,module,exports){
12433
+ },{"149":149}],84:[function(_dereq_,module,exports){
12338
12434
  /**
12339
12435
  * Copyright 2013-2015, Facebook, Inc.
12340
12436
  * All rights reserved.
@@ -12431,7 +12527,7 @@ function _noMeasure(objName, fnName, func) {
12431
12527
  }
12432
12528
 
12433
12529
  module.exports = ReactPerf;
12434
- },{}],82:[function(_dereq_,module,exports){
12530
+ },{}],85:[function(_dereq_,module,exports){
12435
12531
  /**
12436
12532
  * Copyright 2013-2015, Facebook, Inc.
12437
12533
  * All rights reserved.
@@ -12446,8 +12542,8 @@ module.exports = ReactPerf;
12446
12542
  'use strict';
12447
12543
 
12448
12544
  var assign = _dereq_(28);
12449
- var emptyFunction = _dereq_(126);
12450
- var joinClasses = _dereq_(151);
12545
+ var emptyFunction = _dereq_(129);
12546
+ var joinClasses = _dereq_(154);
12451
12547
 
12452
12548
  /**
12453
12549
  * Creates a transfer strategy that will merge prop values using the supplied
@@ -12540,7 +12636,7 @@ var ReactPropTransferer = {
12540
12636
  };
12541
12637
 
12542
12638
  module.exports = ReactPropTransferer;
12543
- },{"126":126,"151":151,"28":28}],83:[function(_dereq_,module,exports){
12639
+ },{"129":129,"154":154,"28":28}],86:[function(_dereq_,module,exports){
12544
12640
  /**
12545
12641
  * Copyright 2013-2015, Facebook, Inc.
12546
12642
  * All rights reserved.
@@ -12565,7 +12661,7 @@ if ('production' !== "development") {
12565
12661
  }
12566
12662
 
12567
12663
  module.exports = ReactPropTypeLocationNames;
12568
- },{}],84:[function(_dereq_,module,exports){
12664
+ },{}],87:[function(_dereq_,module,exports){
12569
12665
  /**
12570
12666
  * Copyright 2013-2015, Facebook, Inc.
12571
12667
  * All rights reserved.
@@ -12579,7 +12675,7 @@ module.exports = ReactPropTypeLocationNames;
12579
12675
 
12580
12676
  'use strict';
12581
12677
 
12582
- var keyMirror = _dereq_(152);
12678
+ var keyMirror = _dereq_(155);
12583
12679
 
12584
12680
  var ReactPropTypeLocations = keyMirror({
12585
12681
  prop: null,
@@ -12588,7 +12684,7 @@ var ReactPropTypeLocations = keyMirror({
12588
12684
  });
12589
12685
 
12590
12686
  module.exports = ReactPropTypeLocations;
12591
- },{"152":152}],85:[function(_dereq_,module,exports){
12687
+ },{"155":155}],88:[function(_dereq_,module,exports){
12592
12688
  /**
12593
12689
  * Copyright 2013-2015, Facebook, Inc.
12594
12690
  * All rights reserved.
@@ -12602,11 +12698,11 @@ module.exports = ReactPropTypeLocations;
12602
12698
 
12603
12699
  'use strict';
12604
12700
 
12605
- var ReactElement = _dereq_(62);
12606
- var ReactFragment = _dereq_(68);
12607
- var ReactPropTypeLocationNames = _dereq_(83);
12701
+ var ReactElement = _dereq_(64);
12702
+ var ReactFragment = _dereq_(70);
12703
+ var ReactPropTypeLocationNames = _dereq_(86);
12608
12704
 
12609
- var emptyFunction = _dereq_(126);
12705
+ var emptyFunction = _dereq_(129);
12610
12706
 
12611
12707
  /**
12612
12708
  * Collection of methods that allow declaration and validation of props that are
@@ -12677,16 +12773,17 @@ var ReactPropTypes = {
12677
12773
  };
12678
12774
 
12679
12775
  function createChainableTypeChecker(validate) {
12680
- function checkType(isRequired, props, propName, componentName, location) {
12776
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
12681
12777
  componentName = componentName || ANONYMOUS;
12778
+ propFullName = propFullName || propName;
12682
12779
  if (props[propName] == null) {
12683
12780
  var locationName = ReactPropTypeLocationNames[location];
12684
12781
  if (isRequired) {
12685
- return new Error('Required ' + locationName + ' `' + propName + '` was not specified in ' + ('`' + componentName + '`.'));
12782
+ return new Error('Required ' + locationName + ' `' + propFullName + '` was not specified in ' + ('`' + componentName + '`.'));
12686
12783
  }
12687
12784
  return null;
12688
12785
  } else {
12689
- return validate(props, propName, componentName, location);
12786
+ return validate(props, propName, componentName, location, propFullName);
12690
12787
  }
12691
12788
  }
12692
12789
 
@@ -12697,7 +12794,7 @@ function createChainableTypeChecker(validate) {
12697
12794
  }
12698
12795
 
12699
12796
  function createPrimitiveTypeChecker(expectedType) {
12700
- function validate(props, propName, componentName, location) {
12797
+ function validate(props, propName, componentName, location, propFullName) {
12701
12798
  var propValue = props[propName];
12702
12799
  var propType = getPropType(propValue);
12703
12800
  if (propType !== expectedType) {
@@ -12707,7 +12804,7 @@ function createPrimitiveTypeChecker(expectedType) {
12707
12804
  // 'of type `object`'.
12708
12805
  var preciseType = getPreciseType(propValue);
12709
12806
 
12710
- return new Error('Invalid ' + locationName + ' `' + propName + '` of type `' + preciseType + '` ' + ('supplied to `' + componentName + '`, expected `' + expectedType + '`.'));
12807
+ return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
12711
12808
  }
12712
12809
  return null;
12713
12810
  }
@@ -12719,15 +12816,15 @@ function createAnyTypeChecker() {
12719
12816
  }
12720
12817
 
12721
12818
  function createArrayOfTypeChecker(typeChecker) {
12722
- function validate(props, propName, componentName, location) {
12819
+ function validate(props, propName, componentName, location, propFullName) {
12723
12820
  var propValue = props[propName];
12724
12821
  if (!Array.isArray(propValue)) {
12725
12822
  var locationName = ReactPropTypeLocationNames[location];
12726
12823
  var propType = getPropType(propValue);
12727
- return new Error('Invalid ' + locationName + ' `' + propName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
12824
+ return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
12728
12825
  }
12729
12826
  for (var i = 0; i < propValue.length; i++) {
12730
- var error = typeChecker(propValue, i, componentName, location);
12827
+ var error = typeChecker(propValue, i, componentName, location, '' + propFullName + '[' + i + ']');
12731
12828
  if (error instanceof Error) {
12732
12829
  return error;
12733
12830
  }
@@ -12738,10 +12835,10 @@ function createArrayOfTypeChecker(typeChecker) {
12738
12835
  }
12739
12836
 
12740
12837
  function createElementTypeChecker() {
12741
- function validate(props, propName, componentName, location) {
12838
+ function validate(props, propName, componentName, location, propFullName) {
12742
12839
  if (!ReactElement.isValidElement(props[propName])) {
12743
12840
  var locationName = ReactPropTypeLocationNames[location];
12744
- return new Error('Invalid ' + locationName + ' `' + propName + '` supplied to ' + ('`' + componentName + '`, expected a ReactElement.'));
12841
+ return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a single ReactElement.'));
12745
12842
  }
12746
12843
  return null;
12747
12844
  }
@@ -12749,11 +12846,11 @@ function createElementTypeChecker() {
12749
12846
  }
12750
12847
 
12751
12848
  function createInstanceTypeChecker(expectedClass) {
12752
- function validate(props, propName, componentName, location) {
12849
+ function validate(props, propName, componentName, location, propFullName) {
12753
12850
  if (!(props[propName] instanceof expectedClass)) {
12754
12851
  var locationName = ReactPropTypeLocationNames[location];
12755
12852
  var expectedClassName = expectedClass.name || ANONYMOUS;
12756
- return new Error('Invalid ' + locationName + ' `' + propName + '` supplied to ' + ('`' + componentName + '`, expected instance of `' + expectedClassName + '`.'));
12853
+ return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected instance of `' + expectedClassName + '`.'));
12757
12854
  }
12758
12855
  return null;
12759
12856
  }
@@ -12761,7 +12858,7 @@ function createInstanceTypeChecker(expectedClass) {
12761
12858
  }
12762
12859
 
12763
12860
  function createEnumTypeChecker(expectedValues) {
12764
- function validate(props, propName, componentName, location) {
12861
+ function validate(props, propName, componentName, location, propFullName) {
12765
12862
  var propValue = props[propName];
12766
12863
  for (var i = 0; i < expectedValues.length; i++) {
12767
12864
  if (propValue === expectedValues[i]) {
@@ -12771,22 +12868,22 @@ function createEnumTypeChecker(expectedValues) {
12771
12868
 
12772
12869
  var locationName = ReactPropTypeLocationNames[location];
12773
12870
  var valuesString = JSON.stringify(expectedValues);
12774
- return new Error('Invalid ' + locationName + ' `' + propName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
12871
+ return new Error('Invalid ' + locationName + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
12775
12872
  }
12776
12873
  return createChainableTypeChecker(validate);
12777
12874
  }
12778
12875
 
12779
12876
  function createObjectOfTypeChecker(typeChecker) {
12780
- function validate(props, propName, componentName, location) {
12877
+ function validate(props, propName, componentName, location, propFullName) {
12781
12878
  var propValue = props[propName];
12782
12879
  var propType = getPropType(propValue);
12783
12880
  if (propType !== 'object') {
12784
12881
  var locationName = ReactPropTypeLocationNames[location];
12785
- return new Error('Invalid ' + locationName + ' `' + propName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
12882
+ return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
12786
12883
  }
12787
12884
  for (var key in propValue) {
12788
12885
  if (propValue.hasOwnProperty(key)) {
12789
- var error = typeChecker(propValue, key, componentName, location);
12886
+ var error = typeChecker(propValue, key, componentName, location, '' + propFullName + '.' + key);
12790
12887
  if (error instanceof Error) {
12791
12888
  return error;
12792
12889
  }
@@ -12798,25 +12895,25 @@ function createObjectOfTypeChecker(typeChecker) {
12798
12895
  }
12799
12896
 
12800
12897
  function createUnionTypeChecker(arrayOfTypeCheckers) {
12801
- function validate(props, propName, componentName, location) {
12898
+ function validate(props, propName, componentName, location, propFullName) {
12802
12899
  for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
12803
12900
  var checker = arrayOfTypeCheckers[i];
12804
- if (checker(props, propName, componentName, location) == null) {
12901
+ if (checker(props, propName, componentName, location, propFullName) == null) {
12805
12902
  return null;
12806
12903
  }
12807
12904
  }
12808
12905
 
12809
12906
  var locationName = ReactPropTypeLocationNames[location];
12810
- return new Error('Invalid ' + locationName + ' `' + propName + '` supplied to ' + ('`' + componentName + '`.'));
12907
+ return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
12811
12908
  }
12812
12909
  return createChainableTypeChecker(validate);
12813
12910
  }
12814
12911
 
12815
12912
  function createNodeChecker() {
12816
- function validate(props, propName, componentName, location) {
12913
+ function validate(props, propName, componentName, location, propFullName) {
12817
12914
  if (!isNode(props[propName])) {
12818
12915
  var locationName = ReactPropTypeLocationNames[location];
12819
- return new Error('Invalid ' + locationName + ' `' + propName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
12916
+ return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
12820
12917
  }
12821
12918
  return null;
12822
12919
  }
@@ -12824,19 +12921,19 @@ function createNodeChecker() {
12824
12921
  }
12825
12922
 
12826
12923
  function createShapeTypeChecker(shapeTypes) {
12827
- function validate(props, propName, componentName, location) {
12924
+ function validate(props, propName, componentName, location, propFullName) {
12828
12925
  var propValue = props[propName];
12829
12926
  var propType = getPropType(propValue);
12830
12927
  if (propType !== 'object') {
12831
12928
  var locationName = ReactPropTypeLocationNames[location];
12832
- return new Error('Invalid ' + locationName + ' `' + propName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
12929
+ return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
12833
12930
  }
12834
12931
  for (var key in shapeTypes) {
12835
12932
  var checker = shapeTypes[key];
12836
12933
  if (!checker) {
12837
12934
  continue;
12838
12935
  }
12839
- var error = checker(propValue, key, componentName, location);
12936
+ var error = checker(propValue, key, componentName, location, '' + propFullName + '.' + key);
12840
12937
  if (error) {
12841
12938
  return error;
12842
12939
  }
@@ -12903,7 +13000,7 @@ function getPreciseType(propValue) {
12903
13000
  }
12904
13001
 
12905
13002
  module.exports = ReactPropTypes;
12906
- },{"126":126,"62":62,"68":68,"83":83}],86:[function(_dereq_,module,exports){
13003
+ },{"129":129,"64":64,"70":70,"86":86}],89:[function(_dereq_,module,exports){
12907
13004
  /**
12908
13005
  * Copyright 2013-2015, Facebook, Inc.
12909
13006
  * All rights reserved.
@@ -12921,8 +13018,8 @@ module.exports = ReactPropTypes;
12921
13018
  var CallbackQueue = _dereq_(7);
12922
13019
  var PooledClass = _dereq_(29);
12923
13020
  var ReactBrowserEventEmitter = _dereq_(32);
12924
- var ReactInputSelection = _dereq_(70);
12925
- var Transaction = _dereq_(114);
13021
+ var ReactInputSelection = _dereq_(72);
13022
+ var Transaction = _dereq_(117);
12926
13023
 
12927
13024
  var assign = _dereq_(28);
12928
13025
 
@@ -13053,7 +13150,7 @@ assign(ReactReconcileTransaction.prototype, Transaction.Mixin, Mixin);
13053
13150
  PooledClass.addPoolingTo(ReactReconcileTransaction);
13054
13151
 
13055
13152
  module.exports = ReactReconcileTransaction;
13056
- },{"114":114,"28":28,"29":29,"32":32,"7":7,"70":70}],87:[function(_dereq_,module,exports){
13153
+ },{"117":117,"28":28,"29":29,"32":32,"7":7,"72":72}],90:[function(_dereq_,module,exports){
13057
13154
  /**
13058
13155
  * Copyright 2013-2015, Facebook, Inc.
13059
13156
  * All rights reserved.
@@ -13067,8 +13164,8 @@ module.exports = ReactReconcileTransaction;
13067
13164
 
13068
13165
  'use strict';
13069
13166
 
13070
- var ReactRef = _dereq_(88);
13071
- var ReactElementValidator = _dereq_(63);
13167
+ var ReactRef = _dereq_(91);
13168
+ var ReactElementValidator = _dereq_(65);
13072
13169
 
13073
13170
  /**
13074
13171
  * Helper to call ReactRef.attachRefs with this composite component, split out
@@ -13164,7 +13261,7 @@ var ReactReconciler = {
13164
13261
  };
13165
13262
 
13166
13263
  module.exports = ReactReconciler;
13167
- },{"63":63,"88":88}],88:[function(_dereq_,module,exports){
13264
+ },{"65":65,"91":91}],91:[function(_dereq_,module,exports){
13168
13265
  /**
13169
13266
  * Copyright 2013-2015, Facebook, Inc.
13170
13267
  * All rights reserved.
@@ -13178,7 +13275,7 @@ module.exports = ReactReconciler;
13178
13275
 
13179
13276
  'use strict';
13180
13277
 
13181
- var ReactOwner = _dereq_(80);
13278
+ var ReactOwner = _dereq_(83);
13182
13279
 
13183
13280
  var ReactRef = {};
13184
13281
 
@@ -13231,7 +13328,7 @@ ReactRef.detachRefs = function (instance, element) {
13231
13328
  };
13232
13329
 
13233
13330
  module.exports = ReactRef;
13234
- },{"80":80}],89:[function(_dereq_,module,exports){
13331
+ },{"83":83}],92:[function(_dereq_,module,exports){
13235
13332
  /**
13236
13333
  * Copyright 2013-2015, Facebook, Inc.
13237
13334
  * All rights reserved.
@@ -13261,7 +13358,7 @@ var ReactRootIndex = {
13261
13358
  };
13262
13359
 
13263
13360
  module.exports = ReactRootIndex;
13264
- },{}],90:[function(_dereq_,module,exports){
13361
+ },{}],93:[function(_dereq_,module,exports){
13265
13362
  /**
13266
13363
  * Copyright 2013-2015, Facebook, Inc.
13267
13364
  * All rights reserved.
@@ -13275,14 +13372,14 @@ module.exports = ReactRootIndex;
13275
13372
  */
13276
13373
  'use strict';
13277
13374
 
13278
- var ReactElement = _dereq_(62);
13279
- var ReactInstanceHandles = _dereq_(71);
13280
- var ReactMarkupChecksum = _dereq_(75);
13281
- var ReactServerRenderingTransaction = _dereq_(91);
13375
+ var ReactElement = _dereq_(64);
13376
+ var ReactInstanceHandles = _dereq_(73);
13377
+ var ReactMarkupChecksum = _dereq_(78);
13378
+ var ReactServerRenderingTransaction = _dereq_(94);
13282
13379
 
13283
- var emptyObject = _dereq_(127);
13284
- var instantiateReactComponent = _dereq_(145);
13285
- var invariant = _dereq_(146);
13380
+ var emptyObject = _dereq_(130);
13381
+ var instantiateReactComponent = _dereq_(148);
13382
+ var invariant = _dereq_(149);
13286
13383
 
13287
13384
  /**
13288
13385
  * @param {ReactElement} element
@@ -13332,7 +13429,7 @@ module.exports = {
13332
13429
  renderToString: renderToString,
13333
13430
  renderToStaticMarkup: renderToStaticMarkup
13334
13431
  };
13335
- },{"127":127,"145":145,"146":146,"62":62,"71":71,"75":75,"91":91}],91:[function(_dereq_,module,exports){
13432
+ },{"130":130,"148":148,"149":149,"64":64,"73":73,"78":78,"94":94}],94:[function(_dereq_,module,exports){
13336
13433
  /**
13337
13434
  * Copyright 2014-2015, Facebook, Inc.
13338
13435
  * All rights reserved.
@@ -13349,10 +13446,10 @@ module.exports = {
13349
13446
 
13350
13447
  var PooledClass = _dereq_(29);
13351
13448
  var CallbackQueue = _dereq_(7);
13352
- var Transaction = _dereq_(114);
13449
+ var Transaction = _dereq_(117);
13353
13450
 
13354
13451
  var assign = _dereq_(28);
13355
- var emptyFunction = _dereq_(126);
13452
+ var emptyFunction = _dereq_(129);
13356
13453
 
13357
13454
  /**
13358
13455
  * Provides a `CallbackQueue` queue for collecting `onDOMReady` callbacks
@@ -13419,7 +13516,7 @@ assign(ReactServerRenderingTransaction.prototype, Transaction.Mixin, Mixin);
13419
13516
  PooledClass.addPoolingTo(ReactServerRenderingTransaction);
13420
13517
 
13421
13518
  module.exports = ReactServerRenderingTransaction;
13422
- },{"114":114,"126":126,"28":28,"29":29,"7":7}],92:[function(_dereq_,module,exports){
13519
+ },{"117":117,"129":129,"28":28,"29":29,"7":7}],95:[function(_dereq_,module,exports){
13423
13520
  /**
13424
13521
  * Copyright 2013-2015, Facebook, Inc.
13425
13522
  * All rights reserved.
@@ -13524,7 +13621,7 @@ ReactStateSetters.Mixin = {
13524
13621
  };
13525
13622
 
13526
13623
  module.exports = ReactStateSetters;
13527
- },{}],93:[function(_dereq_,module,exports){
13624
+ },{}],96:[function(_dereq_,module,exports){
13528
13625
  /**
13529
13626
  * Copyright 2013-2015, Facebook, Inc.
13530
13627
  * All rights reserved.
@@ -13542,19 +13639,19 @@ var EventConstants = _dereq_(16);
13542
13639
  var EventPluginHub = _dereq_(18);
13543
13640
  var EventPropagators = _dereq_(21);
13544
13641
  var React = _dereq_(30);
13545
- var ReactElement = _dereq_(62);
13546
- var ReactEmptyComponent = _dereq_(64);
13642
+ var ReactElement = _dereq_(64);
13643
+ var ReactEmptyComponent = _dereq_(66);
13547
13644
  var ReactBrowserEventEmitter = _dereq_(32);
13548
13645
  var ReactCompositeComponent = _dereq_(42);
13549
- var ReactInstanceHandles = _dereq_(71);
13550
- var ReactInstanceMap = _dereq_(72);
13551
- var ReactMount = _dereq_(76);
13552
- var ReactUpdates = _dereq_(98);
13553
- var SyntheticEvent = _dereq_(106);
13646
+ var ReactInstanceHandles = _dereq_(73);
13647
+ var ReactInstanceMap = _dereq_(74);
13648
+ var ReactMount = _dereq_(79);
13649
+ var ReactUpdates = _dereq_(101);
13650
+ var SyntheticEvent = _dereq_(109);
13554
13651
 
13555
13652
  var assign = _dereq_(28);
13556
- var emptyObject = _dereq_(127);
13557
- var findDOMNode = _dereq_(129);
13653
+ var emptyObject = _dereq_(130);
13654
+ var findDOMNode = _dereq_(132);
13558
13655
 
13559
13656
  var topLevelTypes = EventConstants.topLevelTypes;
13560
13657
 
@@ -13961,7 +14058,7 @@ for (eventType in topLevelTypes) {
13961
14058
  }
13962
14059
 
13963
14060
  module.exports = ReactTestUtils;
13964
- },{"106":106,"127":127,"129":129,"16":16,"18":18,"21":21,"28":28,"30":30,"32":32,"42":42,"62":62,"64":64,"71":71,"72":72,"76":76,"98":98}],94:[function(_dereq_,module,exports){
14061
+ },{"101":101,"109":109,"130":130,"132":132,"16":16,"18":18,"21":21,"28":28,"30":30,"32":32,"42":42,"64":64,"66":66,"73":73,"74":74,"79":79}],97:[function(_dereq_,module,exports){
13965
14062
  /**
13966
14063
  * Copyright 2013-2015, Facebook, Inc.
13967
14064
  * All rights reserved.
@@ -13977,7 +14074,7 @@ module.exports = ReactTestUtils;
13977
14074
  'use strict';
13978
14075
 
13979
14076
  var ReactChildren = _dereq_(36);
13980
- var ReactFragment = _dereq_(68);
14077
+ var ReactFragment = _dereq_(70);
13981
14078
 
13982
14079
  var ReactTransitionChildMapping = {
13983
14080
  /**
@@ -14063,7 +14160,7 @@ var ReactTransitionChildMapping = {
14063
14160
  };
14064
14161
 
14065
14162
  module.exports = ReactTransitionChildMapping;
14066
- },{"36":36,"68":68}],95:[function(_dereq_,module,exports){
14163
+ },{"36":36,"70":70}],98:[function(_dereq_,module,exports){
14067
14164
  /**
14068
14165
  * Copyright 2013-2015, Facebook, Inc.
14069
14166
  * All rights reserved.
@@ -14173,7 +14270,7 @@ var ReactTransitionEvents = {
14173
14270
  };
14174
14271
 
14175
14272
  module.exports = ReactTransitionEvents;
14176
- },{"22":22}],96:[function(_dereq_,module,exports){
14273
+ },{"22":22}],99:[function(_dereq_,module,exports){
14177
14274
  /**
14178
14275
  * Copyright 2013-2015, Facebook, Inc.
14179
14276
  * All rights reserved.
@@ -14188,11 +14285,11 @@ module.exports = ReactTransitionEvents;
14188
14285
  'use strict';
14189
14286
 
14190
14287
  var React = _dereq_(30);
14191
- var ReactTransitionChildMapping = _dereq_(94);
14288
+ var ReactTransitionChildMapping = _dereq_(97);
14192
14289
 
14193
14290
  var assign = _dereq_(28);
14194
- var cloneWithProps = _dereq_(120);
14195
- var emptyFunction = _dereq_(126);
14291
+ var cloneWithProps = _dereq_(123);
14292
+ var emptyFunction = _dereq_(129);
14196
14293
 
14197
14294
  var ReactTransitionGroup = React.createClass({
14198
14295
  displayName: 'ReactTransitionGroup',
@@ -14380,7 +14477,7 @@ var ReactTransitionGroup = React.createClass({
14380
14477
  });
14381
14478
 
14382
14479
  module.exports = ReactTransitionGroup;
14383
- },{"120":120,"126":126,"28":28,"30":30,"94":94}],97:[function(_dereq_,module,exports){
14480
+ },{"123":123,"129":129,"28":28,"30":30,"97":97}],100:[function(_dereq_,module,exports){
14384
14481
  /**
14385
14482
  * Copyright 2015, Facebook, Inc.
14386
14483
  * All rights reserved.
@@ -14394,15 +14491,15 @@ module.exports = ReactTransitionGroup;
14394
14491
 
14395
14492
  'use strict';
14396
14493
 
14397
- var ReactLifeCycle = _dereq_(73);
14494
+ var ReactLifeCycle = _dereq_(76);
14398
14495
  var ReactCurrentOwner = _dereq_(44);
14399
- var ReactElement = _dereq_(62);
14400
- var ReactInstanceMap = _dereq_(72);
14401
- var ReactUpdates = _dereq_(98);
14496
+ var ReactElement = _dereq_(64);
14497
+ var ReactInstanceMap = _dereq_(74);
14498
+ var ReactUpdates = _dereq_(101);
14402
14499
 
14403
14500
  var assign = _dereq_(28);
14404
- var invariant = _dereq_(146);
14405
- var warning = _dereq_(170);
14501
+ var invariant = _dereq_(149);
14502
+ var warning = _dereq_(173);
14406
14503
 
14407
14504
  function enqueueUpdate(internalInstance) {
14408
14505
  if (internalInstance !== ReactLifeCycle.currentlyMountingInstance) {
@@ -14613,7 +14710,7 @@ var ReactUpdateQueue = {
14613
14710
  };
14614
14711
 
14615
14712
  module.exports = ReactUpdateQueue;
14616
- },{"146":146,"170":170,"28":28,"44":44,"62":62,"72":72,"73":73,"98":98}],98:[function(_dereq_,module,exports){
14713
+ },{"101":101,"149":149,"173":173,"28":28,"44":44,"64":64,"74":74,"76":76}],101:[function(_dereq_,module,exports){
14617
14714
  /**
14618
14715
  * Copyright 2013-2015, Facebook, Inc.
14619
14716
  * All rights reserved.
@@ -14630,13 +14727,13 @@ module.exports = ReactUpdateQueue;
14630
14727
  var CallbackQueue = _dereq_(7);
14631
14728
  var PooledClass = _dereq_(29);
14632
14729
  var ReactCurrentOwner = _dereq_(44);
14633
- var ReactPerf = _dereq_(81);
14634
- var ReactReconciler = _dereq_(87);
14635
- var Transaction = _dereq_(114);
14730
+ var ReactPerf = _dereq_(84);
14731
+ var ReactReconciler = _dereq_(90);
14732
+ var Transaction = _dereq_(117);
14636
14733
 
14637
14734
  var assign = _dereq_(28);
14638
- var invariant = _dereq_(146);
14639
- var warning = _dereq_(170);
14735
+ var invariant = _dereq_(149);
14736
+ var warning = _dereq_(173);
14640
14737
 
14641
14738
  var dirtyComponents = [];
14642
14739
  var asapCallbackQueue = CallbackQueue.getPooled();
@@ -14840,7 +14937,7 @@ var ReactUpdates = {
14840
14937
  };
14841
14938
 
14842
14939
  module.exports = ReactUpdates;
14843
- },{"114":114,"146":146,"170":170,"28":28,"29":29,"44":44,"7":7,"81":81,"87":87}],99:[function(_dereq_,module,exports){
14940
+ },{"117":117,"149":149,"173":173,"28":28,"29":29,"44":44,"7":7,"84":84,"90":90}],102:[function(_dereq_,module,exports){
14844
14941
  /**
14845
14942
  * Copyright 2013-2015, Facebook, Inc.
14846
14943
  * All rights reserved.
@@ -14852,8 +14949,6 @@ module.exports = ReactUpdates;
14852
14949
  * @providesModule SVGDOMPropertyConfig
14853
14950
  */
14854
14951
 
14855
- /*jslint bitwise: true*/
14856
-
14857
14952
  'use strict';
14858
14953
 
14859
14954
  var DOMProperty = _dereq_(11);
@@ -14970,7 +15065,7 @@ var SVGDOMPropertyConfig = {
14970
15065
  };
14971
15066
 
14972
15067
  module.exports = SVGDOMPropertyConfig;
14973
- },{"11":11}],100:[function(_dereq_,module,exports){
15068
+ },{"11":11}],103:[function(_dereq_,module,exports){
14974
15069
  /**
14975
15070
  * Copyright 2013-2015, Facebook, Inc.
14976
15071
  * All rights reserved.
@@ -14986,13 +15081,13 @@ module.exports = SVGDOMPropertyConfig;
14986
15081
 
14987
15082
  var EventConstants = _dereq_(16);
14988
15083
  var EventPropagators = _dereq_(21);
14989
- var ReactInputSelection = _dereq_(70);
14990
- var SyntheticEvent = _dereq_(106);
15084
+ var ReactInputSelection = _dereq_(72);
15085
+ var SyntheticEvent = _dereq_(109);
14991
15086
 
14992
- var getActiveElement = _dereq_(133);
14993
- var isTextInputElement = _dereq_(149);
14994
- var keyOf = _dereq_(153);
14995
- var shallowEqual = _dereq_(164);
15087
+ var getActiveElement = _dereq_(136);
15088
+ var isTextInputElement = _dereq_(152);
15089
+ var keyOf = _dereq_(156);
15090
+ var shallowEqual = _dereq_(167);
14996
15091
 
14997
15092
  var topLevelTypes = EventConstants.topLevelTypes;
14998
15093
 
@@ -15163,7 +15258,7 @@ var SelectEventPlugin = {
15163
15258
  };
15164
15259
 
15165
15260
  module.exports = SelectEventPlugin;
15166
- },{"106":106,"133":133,"149":149,"153":153,"16":16,"164":164,"21":21,"70":70}],101:[function(_dereq_,module,exports){
15261
+ },{"109":109,"136":136,"152":152,"156":156,"16":16,"167":167,"21":21,"72":72}],104:[function(_dereq_,module,exports){
15167
15262
  /**
15168
15263
  * Copyright 2013-2015, Facebook, Inc.
15169
15264
  * All rights reserved.
@@ -15193,7 +15288,7 @@ var ServerReactRootIndex = {
15193
15288
  };
15194
15289
 
15195
15290
  module.exports = ServerReactRootIndex;
15196
- },{}],102:[function(_dereq_,module,exports){
15291
+ },{}],105:[function(_dereq_,module,exports){
15197
15292
  /**
15198
15293
  * Copyright 2013-2015, Facebook, Inc.
15199
15294
  * All rights reserved.
@@ -15211,22 +15306,22 @@ var EventConstants = _dereq_(16);
15211
15306
  var EventListener = _dereq_(17);
15212
15307
  var EventPluginUtils = _dereq_(20);
15213
15308
  var EventPropagators = _dereq_(21);
15214
- var ReactMount = _dereq_(76);
15215
- var SyntheticClipboardEvent = _dereq_(103);
15216
- var SyntheticEvent = _dereq_(106);
15217
- var SyntheticFocusEvent = _dereq_(107);
15218
- var SyntheticKeyboardEvent = _dereq_(109);
15219
- var SyntheticMouseEvent = _dereq_(110);
15220
- var SyntheticDragEvent = _dereq_(105);
15221
- var SyntheticTouchEvent = _dereq_(111);
15222
- var SyntheticUIEvent = _dereq_(112);
15223
- var SyntheticWheelEvent = _dereq_(113);
15224
-
15225
- var emptyFunction = _dereq_(126);
15226
- var getEventCharCode = _dereq_(134);
15227
- var invariant = _dereq_(146);
15228
- var keyOf = _dereq_(153);
15229
- var warning = _dereq_(170);
15309
+ var ReactMount = _dereq_(79);
15310
+ var SyntheticClipboardEvent = _dereq_(106);
15311
+ var SyntheticEvent = _dereq_(109);
15312
+ var SyntheticFocusEvent = _dereq_(110);
15313
+ var SyntheticKeyboardEvent = _dereq_(112);
15314
+ var SyntheticMouseEvent = _dereq_(113);
15315
+ var SyntheticDragEvent = _dereq_(108);
15316
+ var SyntheticTouchEvent = _dereq_(114);
15317
+ var SyntheticUIEvent = _dereq_(115);
15318
+ var SyntheticWheelEvent = _dereq_(116);
15319
+
15320
+ var emptyFunction = _dereq_(129);
15321
+ var getEventCharCode = _dereq_(137);
15322
+ var invariant = _dereq_(149);
15323
+ var keyOf = _dereq_(156);
15324
+ var warning = _dereq_(173);
15230
15325
 
15231
15326
  var topLevelTypes = EventConstants.topLevelTypes;
15232
15327
 
@@ -15626,7 +15721,7 @@ var SimpleEventPlugin = {
15626
15721
  };
15627
15722
 
15628
15723
  module.exports = SimpleEventPlugin;
15629
- },{"103":103,"105":105,"106":106,"107":107,"109":109,"110":110,"111":111,"112":112,"113":113,"126":126,"134":134,"146":146,"153":153,"16":16,"17":17,"170":170,"20":20,"21":21,"76":76}],103:[function(_dereq_,module,exports){
15724
+ },{"106":106,"108":108,"109":109,"110":110,"112":112,"113":113,"114":114,"115":115,"116":116,"129":129,"137":137,"149":149,"156":156,"16":16,"17":17,"173":173,"20":20,"21":21,"79":79}],106:[function(_dereq_,module,exports){
15630
15725
  /**
15631
15726
  * Copyright 2013-2015, Facebook, Inc.
15632
15727
  * All rights reserved.
@@ -15641,7 +15736,7 @@ module.exports = SimpleEventPlugin;
15641
15736
 
15642
15737
  'use strict';
15643
15738
 
15644
- var SyntheticEvent = _dereq_(106);
15739
+ var SyntheticEvent = _dereq_(109);
15645
15740
 
15646
15741
  /**
15647
15742
  * @interface Event
@@ -15666,7 +15761,7 @@ function SyntheticClipboardEvent(dispatchConfig, dispatchMarker, nativeEvent) {
15666
15761
  SyntheticEvent.augmentClass(SyntheticClipboardEvent, ClipboardEventInterface);
15667
15762
 
15668
15763
  module.exports = SyntheticClipboardEvent;
15669
- },{"106":106}],104:[function(_dereq_,module,exports){
15764
+ },{"109":109}],107:[function(_dereq_,module,exports){
15670
15765
  /**
15671
15766
  * Copyright 2013-2015, Facebook, Inc.
15672
15767
  * All rights reserved.
@@ -15681,7 +15776,7 @@ module.exports = SyntheticClipboardEvent;
15681
15776
 
15682
15777
  'use strict';
15683
15778
 
15684
- var SyntheticEvent = _dereq_(106);
15779
+ var SyntheticEvent = _dereq_(109);
15685
15780
 
15686
15781
  /**
15687
15782
  * @interface Event
@@ -15704,7 +15799,7 @@ function SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent)
15704
15799
  SyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface);
15705
15800
 
15706
15801
  module.exports = SyntheticCompositionEvent;
15707
- },{"106":106}],105:[function(_dereq_,module,exports){
15802
+ },{"109":109}],108:[function(_dereq_,module,exports){
15708
15803
  /**
15709
15804
  * Copyright 2013-2015, Facebook, Inc.
15710
15805
  * All rights reserved.
@@ -15719,7 +15814,7 @@ module.exports = SyntheticCompositionEvent;
15719
15814
 
15720
15815
  'use strict';
15721
15816
 
15722
- var SyntheticMouseEvent = _dereq_(110);
15817
+ var SyntheticMouseEvent = _dereq_(113);
15723
15818
 
15724
15819
  /**
15725
15820
  * @interface DragEvent
@@ -15742,7 +15837,7 @@ function SyntheticDragEvent(dispatchConfig, dispatchMarker, nativeEvent) {
15742
15837
  SyntheticMouseEvent.augmentClass(SyntheticDragEvent, DragEventInterface);
15743
15838
 
15744
15839
  module.exports = SyntheticDragEvent;
15745
- },{"110":110}],106:[function(_dereq_,module,exports){
15840
+ },{"113":113}],109:[function(_dereq_,module,exports){
15746
15841
  /**
15747
15842
  * Copyright 2013-2015, Facebook, Inc.
15748
15843
  * All rights reserved.
@@ -15760,8 +15855,8 @@ module.exports = SyntheticDragEvent;
15760
15855
  var PooledClass = _dereq_(29);
15761
15856
 
15762
15857
  var assign = _dereq_(28);
15763
- var emptyFunction = _dereq_(126);
15764
- var getEventTarget = _dereq_(137);
15858
+ var emptyFunction = _dereq_(129);
15859
+ var getEventTarget = _dereq_(140);
15765
15860
 
15766
15861
  /**
15767
15862
  * @interface Event
@@ -15905,7 +16000,7 @@ SyntheticEvent.augmentClass = function (Class, Interface) {
15905
16000
  PooledClass.addPoolingTo(SyntheticEvent, PooledClass.threeArgumentPooler);
15906
16001
 
15907
16002
  module.exports = SyntheticEvent;
15908
- },{"126":126,"137":137,"28":28,"29":29}],107:[function(_dereq_,module,exports){
16003
+ },{"129":129,"140":140,"28":28,"29":29}],110:[function(_dereq_,module,exports){
15909
16004
  /**
15910
16005
  * Copyright 2013-2015, Facebook, Inc.
15911
16006
  * All rights reserved.
@@ -15920,7 +16015,7 @@ module.exports = SyntheticEvent;
15920
16015
 
15921
16016
  'use strict';
15922
16017
 
15923
- var SyntheticUIEvent = _dereq_(112);
16018
+ var SyntheticUIEvent = _dereq_(115);
15924
16019
 
15925
16020
  /**
15926
16021
  * @interface FocusEvent
@@ -15943,7 +16038,7 @@ function SyntheticFocusEvent(dispatchConfig, dispatchMarker, nativeEvent) {
15943
16038
  SyntheticUIEvent.augmentClass(SyntheticFocusEvent, FocusEventInterface);
15944
16039
 
15945
16040
  module.exports = SyntheticFocusEvent;
15946
- },{"112":112}],108:[function(_dereq_,module,exports){
16041
+ },{"115":115}],111:[function(_dereq_,module,exports){
15947
16042
  /**
15948
16043
  * Copyright 2013-2015, Facebook, Inc.
15949
16044
  * All rights reserved.
@@ -15958,7 +16053,7 @@ module.exports = SyntheticFocusEvent;
15958
16053
 
15959
16054
  'use strict';
15960
16055
 
15961
- var SyntheticEvent = _dereq_(106);
16056
+ var SyntheticEvent = _dereq_(109);
15962
16057
 
15963
16058
  /**
15964
16059
  * @interface Event
@@ -15982,7 +16077,7 @@ function SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent) {
15982
16077
  SyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface);
15983
16078
 
15984
16079
  module.exports = SyntheticInputEvent;
15985
- },{"106":106}],109:[function(_dereq_,module,exports){
16080
+ },{"109":109}],112:[function(_dereq_,module,exports){
15986
16081
  /**
15987
16082
  * Copyright 2013-2015, Facebook, Inc.
15988
16083
  * All rights reserved.
@@ -15997,11 +16092,11 @@ module.exports = SyntheticInputEvent;
15997
16092
 
15998
16093
  'use strict';
15999
16094
 
16000
- var SyntheticUIEvent = _dereq_(112);
16095
+ var SyntheticUIEvent = _dereq_(115);
16001
16096
 
16002
- var getEventCharCode = _dereq_(134);
16003
- var getEventKey = _dereq_(135);
16004
- var getEventModifierState = _dereq_(136);
16097
+ var getEventCharCode = _dereq_(137);
16098
+ var getEventKey = _dereq_(138);
16099
+ var getEventModifierState = _dereq_(139);
16005
16100
 
16006
16101
  /**
16007
16102
  * @interface KeyboardEvent
@@ -16068,7 +16163,7 @@ function SyntheticKeyboardEvent(dispatchConfig, dispatchMarker, nativeEvent) {
16068
16163
  SyntheticUIEvent.augmentClass(SyntheticKeyboardEvent, KeyboardEventInterface);
16069
16164
 
16070
16165
  module.exports = SyntheticKeyboardEvent;
16071
- },{"112":112,"134":134,"135":135,"136":136}],110:[function(_dereq_,module,exports){
16166
+ },{"115":115,"137":137,"138":138,"139":139}],113:[function(_dereq_,module,exports){
16072
16167
  /**
16073
16168
  * Copyright 2013-2015, Facebook, Inc.
16074
16169
  * All rights reserved.
@@ -16083,10 +16178,10 @@ module.exports = SyntheticKeyboardEvent;
16083
16178
 
16084
16179
  'use strict';
16085
16180
 
16086
- var SyntheticUIEvent = _dereq_(112);
16087
- var ViewportMetrics = _dereq_(115);
16181
+ var SyntheticUIEvent = _dereq_(115);
16182
+ var ViewportMetrics = _dereq_(118);
16088
16183
 
16089
- var getEventModifierState = _dereq_(136);
16184
+ var getEventModifierState = _dereq_(139);
16090
16185
 
16091
16186
  /**
16092
16187
  * @interface MouseEvent
@@ -16142,7 +16237,7 @@ function SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent) {
16142
16237
  SyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface);
16143
16238
 
16144
16239
  module.exports = SyntheticMouseEvent;
16145
- },{"112":112,"115":115,"136":136}],111:[function(_dereq_,module,exports){
16240
+ },{"115":115,"118":118,"139":139}],114:[function(_dereq_,module,exports){
16146
16241
  /**
16147
16242
  * Copyright 2013-2015, Facebook, Inc.
16148
16243
  * All rights reserved.
@@ -16157,9 +16252,9 @@ module.exports = SyntheticMouseEvent;
16157
16252
 
16158
16253
  'use strict';
16159
16254
 
16160
- var SyntheticUIEvent = _dereq_(112);
16255
+ var SyntheticUIEvent = _dereq_(115);
16161
16256
 
16162
- var getEventModifierState = _dereq_(136);
16257
+ var getEventModifierState = _dereq_(139);
16163
16258
 
16164
16259
  /**
16165
16260
  * @interface TouchEvent
@@ -16189,7 +16284,7 @@ function SyntheticTouchEvent(dispatchConfig, dispatchMarker, nativeEvent) {
16189
16284
  SyntheticUIEvent.augmentClass(SyntheticTouchEvent, TouchEventInterface);
16190
16285
 
16191
16286
  module.exports = SyntheticTouchEvent;
16192
- },{"112":112,"136":136}],112:[function(_dereq_,module,exports){
16287
+ },{"115":115,"139":139}],115:[function(_dereq_,module,exports){
16193
16288
  /**
16194
16289
  * Copyright 2013-2015, Facebook, Inc.
16195
16290
  * All rights reserved.
@@ -16204,9 +16299,9 @@ module.exports = SyntheticTouchEvent;
16204
16299
 
16205
16300
  'use strict';
16206
16301
 
16207
- var SyntheticEvent = _dereq_(106);
16302
+ var SyntheticEvent = _dereq_(109);
16208
16303
 
16209
- var getEventTarget = _dereq_(137);
16304
+ var getEventTarget = _dereq_(140);
16210
16305
 
16211
16306
  /**
16212
16307
  * @interface UIEvent
@@ -16250,7 +16345,7 @@ function SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent) {
16250
16345
  SyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface);
16251
16346
 
16252
16347
  module.exports = SyntheticUIEvent;
16253
- },{"106":106,"137":137}],113:[function(_dereq_,module,exports){
16348
+ },{"109":109,"140":140}],116:[function(_dereq_,module,exports){
16254
16349
  /**
16255
16350
  * Copyright 2013-2015, Facebook, Inc.
16256
16351
  * All rights reserved.
@@ -16265,7 +16360,7 @@ module.exports = SyntheticUIEvent;
16265
16360
 
16266
16361
  'use strict';
16267
16362
 
16268
- var SyntheticMouseEvent = _dereq_(110);
16363
+ var SyntheticMouseEvent = _dereq_(113);
16269
16364
 
16270
16365
  /**
16271
16366
  * @interface WheelEvent
@@ -16306,7 +16401,7 @@ function SyntheticWheelEvent(dispatchConfig, dispatchMarker, nativeEvent) {
16306
16401
  SyntheticMouseEvent.augmentClass(SyntheticWheelEvent, WheelEventInterface);
16307
16402
 
16308
16403
  module.exports = SyntheticWheelEvent;
16309
- },{"110":110}],114:[function(_dereq_,module,exports){
16404
+ },{"113":113}],117:[function(_dereq_,module,exports){
16310
16405
  /**
16311
16406
  * Copyright 2013-2015, Facebook, Inc.
16312
16407
  * All rights reserved.
@@ -16320,7 +16415,7 @@ module.exports = SyntheticWheelEvent;
16320
16415
 
16321
16416
  'use strict';
16322
16417
 
16323
- var invariant = _dereq_(146);
16418
+ var invariant = _dereq_(149);
16324
16419
 
16325
16420
  /**
16326
16421
  * `Transaction` creates a black box that is able to wrap any method such that
@@ -16532,7 +16627,7 @@ var Transaction = {
16532
16627
  };
16533
16628
 
16534
16629
  module.exports = Transaction;
16535
- },{"146":146}],115:[function(_dereq_,module,exports){
16630
+ },{"149":149}],118:[function(_dereq_,module,exports){
16536
16631
  /**
16537
16632
  * Copyright 2013-2015, Facebook, Inc.
16538
16633
  * All rights reserved.
@@ -16560,7 +16655,7 @@ var ViewportMetrics = {
16560
16655
  };
16561
16656
 
16562
16657
  module.exports = ViewportMetrics;
16563
- },{}],116:[function(_dereq_,module,exports){
16658
+ },{}],119:[function(_dereq_,module,exports){
16564
16659
  /**
16565
16660
  * Copyright 2014-2015, Facebook, Inc.
16566
16661
  * All rights reserved.
@@ -16574,7 +16669,7 @@ module.exports = ViewportMetrics;
16574
16669
 
16575
16670
  'use strict';
16576
16671
 
16577
- var invariant = _dereq_(146);
16672
+ var invariant = _dereq_(149);
16578
16673
 
16579
16674
  /**
16580
16675
  *
@@ -16620,7 +16715,7 @@ function accumulateInto(current, next) {
16620
16715
  }
16621
16716
 
16622
16717
  module.exports = accumulateInto;
16623
- },{"146":146}],117:[function(_dereq_,module,exports){
16718
+ },{"149":149}],120:[function(_dereq_,module,exports){
16624
16719
  /**
16625
16720
  * Copyright 2013-2015, Facebook, Inc.
16626
16721
  * All rights reserved.
@@ -16632,8 +16727,6 @@ module.exports = accumulateInto;
16632
16727
  * @providesModule adler32
16633
16728
  */
16634
16729
 
16635
- /* jslint bitwise:true */
16636
-
16637
16730
  'use strict';
16638
16731
 
16639
16732
  var MOD = 65521;
@@ -16653,7 +16746,7 @@ function adler32(data) {
16653
16746
  }
16654
16747
 
16655
16748
  module.exports = adler32;
16656
- },{}],118:[function(_dereq_,module,exports){
16749
+ },{}],121:[function(_dereq_,module,exports){
16657
16750
  /**
16658
16751
  * Copyright 2013-2015, Facebook, Inc.
16659
16752
  * All rights reserved.
@@ -16686,7 +16779,7 @@ function camelize(string) {
16686
16779
  }
16687
16780
 
16688
16781
  module.exports = camelize;
16689
- },{}],119:[function(_dereq_,module,exports){
16782
+ },{}],122:[function(_dereq_,module,exports){
16690
16783
  /**
16691
16784
  * Copyright 2014-2015, Facebook, Inc.
16692
16785
  * All rights reserved.
@@ -16701,7 +16794,7 @@ module.exports = camelize;
16701
16794
 
16702
16795
  'use strict';
16703
16796
 
16704
- var camelize = _dereq_(118);
16797
+ var camelize = _dereq_(121);
16705
16798
 
16706
16799
  var msPattern = /^-ms-/;
16707
16800
 
@@ -16727,7 +16820,7 @@ function camelizeStyleName(string) {
16727
16820
  }
16728
16821
 
16729
16822
  module.exports = camelizeStyleName;
16730
- },{"118":118}],120:[function(_dereq_,module,exports){
16823
+ },{"121":121}],123:[function(_dereq_,module,exports){
16731
16824
  /**
16732
16825
  * Copyright 2013-2015, Facebook, Inc.
16733
16826
  * All rights reserved.
@@ -16742,11 +16835,11 @@ module.exports = camelizeStyleName;
16742
16835
 
16743
16836
  'use strict';
16744
16837
 
16745
- var ReactElement = _dereq_(62);
16746
- var ReactPropTransferer = _dereq_(82);
16838
+ var ReactElement = _dereq_(64);
16839
+ var ReactPropTransferer = _dereq_(85);
16747
16840
 
16748
- var keyOf = _dereq_(153);
16749
- var warning = _dereq_(170);
16841
+ var keyOf = _dereq_(156);
16842
+ var warning = _dereq_(173);
16750
16843
 
16751
16844
  var CHILDREN_PROP = keyOf({ children: null });
16752
16845
 
@@ -16777,7 +16870,7 @@ function cloneWithProps(child, props) {
16777
16870
  }
16778
16871
 
16779
16872
  module.exports = cloneWithProps;
16780
- },{"153":153,"170":170,"62":62,"82":82}],121:[function(_dereq_,module,exports){
16873
+ },{"156":156,"173":173,"64":64,"85":85}],124:[function(_dereq_,module,exports){
16781
16874
  /**
16782
16875
  * Copyright 2013-2015, Facebook, Inc.
16783
16876
  * All rights reserved.
@@ -16792,7 +16885,7 @@ module.exports = cloneWithProps;
16792
16885
 
16793
16886
  'use strict';
16794
16887
 
16795
- var isTextNode = _dereq_(150);
16888
+ var isTextNode = _dereq_(153);
16796
16889
 
16797
16890
  /*jslint bitwise:true */
16798
16891
 
@@ -16807,9 +16900,9 @@ function containsNode(_x, _x2) {
16807
16900
  var _again = true;
16808
16901
 
16809
16902
  _function: while (_again) {
16810
- _again = false;
16811
16903
  var outerNode = _x,
16812
16904
  innerNode = _x2;
16905
+ _again = false;
16813
16906
 
16814
16907
  if (!outerNode || !innerNode) {
16815
16908
  return false;
@@ -16833,7 +16926,7 @@ function containsNode(_x, _x2) {
16833
16926
  }
16834
16927
 
16835
16928
  module.exports = containsNode;
16836
- },{"150":150}],122:[function(_dereq_,module,exports){
16929
+ },{"153":153}],125:[function(_dereq_,module,exports){
16837
16930
  /**
16838
16931
  * Copyright 2013-2015, Facebook, Inc.
16839
16932
  * All rights reserved.
@@ -16848,7 +16941,7 @@ module.exports = containsNode;
16848
16941
 
16849
16942
  'use strict';
16850
16943
 
16851
- var toArray = _dereq_(166);
16944
+ var toArray = _dereq_(169);
16852
16945
 
16853
16946
  /**
16854
16947
  * Perform a heuristic test to determine if an object is "array-like".
@@ -16919,7 +17012,7 @@ module.exports = createArrayFromMixed;
16919
17012
  // arguments
16920
17013
 
16921
17014
  // HTMLCollection/NodeList
16922
- },{"166":166}],123:[function(_dereq_,module,exports){
17015
+ },{"169":169}],126:[function(_dereq_,module,exports){
16923
17016
  /**
16924
17017
  * Copyright 2013-2015, Facebook, Inc.
16925
17018
  * All rights reserved.
@@ -16936,9 +17029,9 @@ module.exports = createArrayFromMixed;
16936
17029
 
16937
17030
  // Defeat circular references by requiring this directly.
16938
17031
  var ReactClass = _dereq_(37);
16939
- var ReactElement = _dereq_(62);
17032
+ var ReactElement = _dereq_(64);
16940
17033
 
16941
- var invariant = _dereq_(146);
17034
+ var invariant = _dereq_(149);
16942
17035
 
16943
17036
  /**
16944
17037
  * Create a component that will throw an exception when unmounted.
@@ -16971,7 +17064,7 @@ function createFullPageComponent(tag) {
16971
17064
  }
16972
17065
 
16973
17066
  module.exports = createFullPageComponent;
16974
- },{"146":146,"37":37,"62":62}],124:[function(_dereq_,module,exports){
17067
+ },{"149":149,"37":37,"64":64}],127:[function(_dereq_,module,exports){
16975
17068
  /**
16976
17069
  * Copyright 2013-2015, Facebook, Inc.
16977
17070
  * All rights reserved.
@@ -16990,9 +17083,9 @@ module.exports = createFullPageComponent;
16990
17083
 
16991
17084
  var ExecutionEnvironment = _dereq_(22);
16992
17085
 
16993
- var createArrayFromMixed = _dereq_(122);
16994
- var getMarkupWrap = _dereq_(139);
16995
- var invariant = _dereq_(146);
17086
+ var createArrayFromMixed = _dereq_(125);
17087
+ var getMarkupWrap = _dereq_(142);
17088
+ var invariant = _dereq_(149);
16996
17089
 
16997
17090
  /**
16998
17091
  * Dummy container used to render all markup.
@@ -17056,7 +17149,7 @@ function createNodesFromMarkup(markup, handleScript) {
17056
17149
  }
17057
17150
 
17058
17151
  module.exports = createNodesFromMarkup;
17059
- },{"122":122,"139":139,"146":146,"22":22}],125:[function(_dereq_,module,exports){
17152
+ },{"125":125,"142":142,"149":149,"22":22}],128:[function(_dereq_,module,exports){
17060
17153
  /**
17061
17154
  * Copyright 2013-2015, Facebook, Inc.
17062
17155
  * All rights reserved.
@@ -17112,7 +17205,7 @@ function dangerousStyleValue(name, value) {
17112
17205
  }
17113
17206
 
17114
17207
  module.exports = dangerousStyleValue;
17115
- },{"5":5}],126:[function(_dereq_,module,exports){
17208
+ },{"5":5}],129:[function(_dereq_,module,exports){
17116
17209
  /**
17117
17210
  * Copyright 2013-2015, Facebook, Inc.
17118
17211
  * All rights reserved.
@@ -17151,7 +17244,7 @@ emptyFunction.thatReturnsArgument = function (arg) {
17151
17244
  };
17152
17245
 
17153
17246
  module.exports = emptyFunction;
17154
- },{}],127:[function(_dereq_,module,exports){
17247
+ },{}],130:[function(_dereq_,module,exports){
17155
17248
  /**
17156
17249
  * Copyright 2013-2015, Facebook, Inc.
17157
17250
  * All rights reserved.
@@ -17172,7 +17265,7 @@ if ("production" !== "development") {
17172
17265
  }
17173
17266
 
17174
17267
  module.exports = emptyObject;
17175
- },{}],128:[function(_dereq_,module,exports){
17268
+ },{}],131:[function(_dereq_,module,exports){
17176
17269
  /**
17177
17270
  * Copyright 2013-2015, Facebook, Inc.
17178
17271
  * All rights reserved.
@@ -17211,7 +17304,7 @@ function escapeTextContentForBrowser(text) {
17211
17304
  }
17212
17305
 
17213
17306
  module.exports = escapeTextContentForBrowser;
17214
- },{}],129:[function(_dereq_,module,exports){
17307
+ },{}],132:[function(_dereq_,module,exports){
17215
17308
  /**
17216
17309
  * Copyright 2013-2015, Facebook, Inc.
17217
17310
  * All rights reserved.
@@ -17227,12 +17320,12 @@ module.exports = escapeTextContentForBrowser;
17227
17320
  'use strict';
17228
17321
 
17229
17322
  var ReactCurrentOwner = _dereq_(44);
17230
- var ReactInstanceMap = _dereq_(72);
17231
- var ReactMount = _dereq_(76);
17323
+ var ReactInstanceMap = _dereq_(74);
17324
+ var ReactMount = _dereq_(79);
17232
17325
 
17233
- var invariant = _dereq_(146);
17234
- var isNode = _dereq_(148);
17235
- var warning = _dereq_(170);
17326
+ var invariant = _dereq_(149);
17327
+ var isNode = _dereq_(151);
17328
+ var warning = _dereq_(173);
17236
17329
 
17237
17330
  /**
17238
17331
  * Returns the DOM node rendered by this element.
@@ -17262,7 +17355,7 @@ function findDOMNode(componentOrElement) {
17262
17355
  }
17263
17356
 
17264
17357
  module.exports = findDOMNode;
17265
- },{"146":146,"148":148,"170":170,"44":44,"72":72,"76":76}],130:[function(_dereq_,module,exports){
17358
+ },{"149":149,"151":151,"173":173,"44":44,"74":74,"79":79}],133:[function(_dereq_,module,exports){
17266
17359
  /**
17267
17360
  * Copyright 2013-2015, Facebook, Inc.
17268
17361
  * All rights reserved.
@@ -17276,8 +17369,8 @@ module.exports = findDOMNode;
17276
17369
 
17277
17370
  'use strict';
17278
17371
 
17279
- var traverseAllChildren = _dereq_(167);
17280
- var warning = _dereq_(170);
17372
+ var traverseAllChildren = _dereq_(170);
17373
+ var warning = _dereq_(173);
17281
17374
 
17282
17375
  /**
17283
17376
  * @param {function} traverseContext Context passed through traversal.
@@ -17311,7 +17404,7 @@ function flattenChildren(children) {
17311
17404
  }
17312
17405
 
17313
17406
  module.exports = flattenChildren;
17314
- },{"167":167,"170":170}],131:[function(_dereq_,module,exports){
17407
+ },{"170":170,"173":173}],134:[function(_dereq_,module,exports){
17315
17408
  /**
17316
17409
  * Copyright 2014-2015, Facebook, Inc.
17317
17410
  * All rights reserved.
@@ -17338,7 +17431,7 @@ function focusNode(node) {
17338
17431
  }
17339
17432
 
17340
17433
  module.exports = focusNode;
17341
- },{}],132:[function(_dereq_,module,exports){
17434
+ },{}],135:[function(_dereq_,module,exports){
17342
17435
  /**
17343
17436
  * Copyright 2013-2015, Facebook, Inc.
17344
17437
  * All rights reserved.
@@ -17368,7 +17461,7 @@ var forEachAccumulated = function (arr, cb, scope) {
17368
17461
  };
17369
17462
 
17370
17463
  module.exports = forEachAccumulated;
17371
- },{}],133:[function(_dereq_,module,exports){
17464
+ },{}],136:[function(_dereq_,module,exports){
17372
17465
  /**
17373
17466
  * Copyright 2013-2015, Facebook, Inc.
17374
17467
  * All rights reserved.
@@ -17398,7 +17491,7 @@ function getActiveElement() /*?DOMElement*/{
17398
17491
  }
17399
17492
 
17400
17493
  module.exports = getActiveElement;
17401
- },{}],134:[function(_dereq_,module,exports){
17494
+ },{}],137:[function(_dereq_,module,exports){
17402
17495
  /**
17403
17496
  * Copyright 2013-2015, Facebook, Inc.
17404
17497
  * All rights reserved.
@@ -17449,7 +17542,7 @@ function getEventCharCode(nativeEvent) {
17449
17542
  }
17450
17543
 
17451
17544
  module.exports = getEventCharCode;
17452
- },{}],135:[function(_dereq_,module,exports){
17545
+ },{}],138:[function(_dereq_,module,exports){
17453
17546
  /**
17454
17547
  * Copyright 2013-2015, Facebook, Inc.
17455
17548
  * All rights reserved.
@@ -17464,7 +17557,7 @@ module.exports = getEventCharCode;
17464
17557
 
17465
17558
  'use strict';
17466
17559
 
17467
- var getEventCharCode = _dereq_(134);
17560
+ var getEventCharCode = _dereq_(137);
17468
17561
 
17469
17562
  /**
17470
17563
  * Normalization of deprecated HTML5 `key` values
@@ -17553,7 +17646,7 @@ function getEventKey(nativeEvent) {
17553
17646
  }
17554
17647
 
17555
17648
  module.exports = getEventKey;
17556
- },{"134":134}],136:[function(_dereq_,module,exports){
17649
+ },{"137":137}],139:[function(_dereq_,module,exports){
17557
17650
  /**
17558
17651
  * Copyright 2013-2015, Facebook, Inc.
17559
17652
  * All rights reserved.
@@ -17599,7 +17692,7 @@ function getEventModifierState(nativeEvent) {
17599
17692
  }
17600
17693
 
17601
17694
  module.exports = getEventModifierState;
17602
- },{}],137:[function(_dereq_,module,exports){
17695
+ },{}],140:[function(_dereq_,module,exports){
17603
17696
  /**
17604
17697
  * Copyright 2013-2015, Facebook, Inc.
17605
17698
  * All rights reserved.
@@ -17629,7 +17722,7 @@ function getEventTarget(nativeEvent) {
17629
17722
  }
17630
17723
 
17631
17724
  module.exports = getEventTarget;
17632
- },{}],138:[function(_dereq_,module,exports){
17725
+ },{}],141:[function(_dereq_,module,exports){
17633
17726
  /**
17634
17727
  * Copyright 2013-2015, Facebook, Inc.
17635
17728
  * All rights reserved.
@@ -17670,7 +17763,7 @@ function getIteratorFn(maybeIterable) {
17670
17763
  }
17671
17764
 
17672
17765
  module.exports = getIteratorFn;
17673
- },{}],139:[function(_dereq_,module,exports){
17766
+ },{}],142:[function(_dereq_,module,exports){
17674
17767
  /**
17675
17768
  * Copyright 2013-2015, Facebook, Inc.
17676
17769
  * All rights reserved.
@@ -17686,7 +17779,7 @@ module.exports = getIteratorFn;
17686
17779
 
17687
17780
  var ExecutionEnvironment = _dereq_(22);
17688
17781
 
17689
- var invariant = _dereq_(146);
17782
+ var invariant = _dereq_(149);
17690
17783
 
17691
17784
  /**
17692
17785
  * Dummy container used to detect which wraps are necessary.
@@ -17786,7 +17879,7 @@ function getMarkupWrap(nodeName) {
17786
17879
  }
17787
17880
 
17788
17881
  module.exports = getMarkupWrap;
17789
- },{"146":146,"22":22}],140:[function(_dereq_,module,exports){
17882
+ },{"149":149,"22":22}],143:[function(_dereq_,module,exports){
17790
17883
  /**
17791
17884
  * Copyright 2013-2015, Facebook, Inc.
17792
17885
  * All rights reserved.
@@ -17860,7 +17953,7 @@ function getNodeForCharacterOffset(root, offset) {
17860
17953
  }
17861
17954
 
17862
17955
  module.exports = getNodeForCharacterOffset;
17863
- },{}],141:[function(_dereq_,module,exports){
17956
+ },{}],144:[function(_dereq_,module,exports){
17864
17957
  /**
17865
17958
  * Copyright 2013-2015, Facebook, Inc.
17866
17959
  * All rights reserved.
@@ -17894,7 +17987,7 @@ function getTextContentAccessor() {
17894
17987
  }
17895
17988
 
17896
17989
  module.exports = getTextContentAccessor;
17897
- },{"22":22}],142:[function(_dereq_,module,exports){
17990
+ },{"22":22}],145:[function(_dereq_,module,exports){
17898
17991
  /**
17899
17992
  * Copyright 2013-2015, Facebook, Inc.
17900
17993
  * All rights reserved.
@@ -17933,7 +18026,7 @@ function getUnboundedScrollPosition(scrollable) {
17933
18026
  }
17934
18027
 
17935
18028
  module.exports = getUnboundedScrollPosition;
17936
- },{}],143:[function(_dereq_,module,exports){
18029
+ },{}],146:[function(_dereq_,module,exports){
17937
18030
  /**
17938
18031
  * Copyright 2013-2015, Facebook, Inc.
17939
18032
  * All rights reserved.
@@ -17967,7 +18060,7 @@ function hyphenate(string) {
17967
18060
  }
17968
18061
 
17969
18062
  module.exports = hyphenate;
17970
- },{}],144:[function(_dereq_,module,exports){
18063
+ },{}],147:[function(_dereq_,module,exports){
17971
18064
  /**
17972
18065
  * Copyright 2013-2015, Facebook, Inc.
17973
18066
  * All rights reserved.
@@ -17982,7 +18075,7 @@ module.exports = hyphenate;
17982
18075
 
17983
18076
  'use strict';
17984
18077
 
17985
- var hyphenate = _dereq_(143);
18078
+ var hyphenate = _dereq_(146);
17986
18079
 
17987
18080
  var msPattern = /^ms-/;
17988
18081
 
@@ -18007,7 +18100,7 @@ function hyphenateStyleName(string) {
18007
18100
  }
18008
18101
 
18009
18102
  module.exports = hyphenateStyleName;
18010
- },{"143":143}],145:[function(_dereq_,module,exports){
18103
+ },{"146":146}],148:[function(_dereq_,module,exports){
18011
18104
  /**
18012
18105
  * Copyright 2013-2015, Facebook, Inc.
18013
18106
  * All rights reserved.
@@ -18023,12 +18116,12 @@ module.exports = hyphenateStyleName;
18023
18116
  'use strict';
18024
18117
 
18025
18118
  var ReactCompositeComponent = _dereq_(42);
18026
- var ReactEmptyComponent = _dereq_(64);
18027
- var ReactNativeComponent = _dereq_(79);
18119
+ var ReactEmptyComponent = _dereq_(66);
18120
+ var ReactNativeComponent = _dereq_(82);
18028
18121
 
18029
18122
  var assign = _dereq_(28);
18030
- var invariant = _dereq_(146);
18031
- var warning = _dereq_(170);
18123
+ var invariant = _dereq_(149);
18124
+ var warning = _dereq_(173);
18032
18125
 
18033
18126
  // To avoid a cyclic dependency, we create the final class in this module
18034
18127
  var ReactCompositeComponentWrapper = function () {};
@@ -18118,7 +18211,7 @@ function instantiateReactComponent(node, parentCompositeType) {
18118
18211
  }
18119
18212
 
18120
18213
  module.exports = instantiateReactComponent;
18121
- },{"146":146,"170":170,"28":28,"42":42,"64":64,"79":79}],146:[function(_dereq_,module,exports){
18214
+ },{"149":149,"173":173,"28":28,"42":42,"66":66,"82":82}],149:[function(_dereq_,module,exports){
18122
18215
  /**
18123
18216
  * Copyright 2013-2015, Facebook, Inc.
18124
18217
  * All rights reserved.
@@ -18168,7 +18261,7 @@ var invariant = function (condition, format, a, b, c, d, e, f) {
18168
18261
  };
18169
18262
 
18170
18263
  module.exports = invariant;
18171
- },{}],147:[function(_dereq_,module,exports){
18264
+ },{}],150:[function(_dereq_,module,exports){
18172
18265
  /**
18173
18266
  * Copyright 2013-2015, Facebook, Inc.
18174
18267
  * All rights reserved.
@@ -18229,7 +18322,7 @@ function isEventSupported(eventNameSuffix, capture) {
18229
18322
  }
18230
18323
 
18231
18324
  module.exports = isEventSupported;
18232
- },{"22":22}],148:[function(_dereq_,module,exports){
18325
+ },{"22":22}],151:[function(_dereq_,module,exports){
18233
18326
  /**
18234
18327
  * Copyright 2013-2015, Facebook, Inc.
18235
18328
  * All rights reserved.
@@ -18253,7 +18346,7 @@ function isNode(object) {
18253
18346
  }
18254
18347
 
18255
18348
  module.exports = isNode;
18256
- },{}],149:[function(_dereq_,module,exports){
18349
+ },{}],152:[function(_dereq_,module,exports){
18257
18350
  /**
18258
18351
  * Copyright 2013-2015, Facebook, Inc.
18259
18352
  * All rights reserved.
@@ -18293,7 +18386,7 @@ function isTextInputElement(elem) {
18293
18386
  }
18294
18387
 
18295
18388
  module.exports = isTextInputElement;
18296
- },{}],150:[function(_dereq_,module,exports){
18389
+ },{}],153:[function(_dereq_,module,exports){
18297
18390
  /**
18298
18391
  * Copyright 2013-2015, Facebook, Inc.
18299
18392
  * All rights reserved.
@@ -18308,7 +18401,7 @@ module.exports = isTextInputElement;
18308
18401
 
18309
18402
  'use strict';
18310
18403
 
18311
- var isNode = _dereq_(148);
18404
+ var isNode = _dereq_(151);
18312
18405
 
18313
18406
  /**
18314
18407
  * @param {*} object The object to check.
@@ -18319,7 +18412,7 @@ function isTextNode(object) {
18319
18412
  }
18320
18413
 
18321
18414
  module.exports = isTextNode;
18322
- },{"148":148}],151:[function(_dereq_,module,exports){
18415
+ },{"151":151}],154:[function(_dereq_,module,exports){
18323
18416
  /**
18324
18417
  * Copyright 2013-2015, Facebook, Inc.
18325
18418
  * All rights reserved.
@@ -18359,7 +18452,7 @@ function joinClasses(className /*, ... */) {
18359
18452
  }
18360
18453
 
18361
18454
  module.exports = joinClasses;
18362
- },{}],152:[function(_dereq_,module,exports){
18455
+ },{}],155:[function(_dereq_,module,exports){
18363
18456
  /**
18364
18457
  * Copyright 2013-2015, Facebook, Inc.
18365
18458
  * All rights reserved.
@@ -18374,7 +18467,7 @@ module.exports = joinClasses;
18374
18467
 
18375
18468
  'use strict';
18376
18469
 
18377
- var invariant = _dereq_(146);
18470
+ var invariant = _dereq_(149);
18378
18471
 
18379
18472
  /**
18380
18473
  * Constructs an enumeration with keys equal to their value.
@@ -18408,7 +18501,7 @@ var keyMirror = function (obj) {
18408
18501
  };
18409
18502
 
18410
18503
  module.exports = keyMirror;
18411
- },{"146":146}],153:[function(_dereq_,module,exports){
18504
+ },{"149":149}],156:[function(_dereq_,module,exports){
18412
18505
  /**
18413
18506
  * Copyright 2013-2015, Facebook, Inc.
18414
18507
  * All rights reserved.
@@ -18444,7 +18537,7 @@ var keyOf = function (oneKeyObj) {
18444
18537
  };
18445
18538
 
18446
18539
  module.exports = keyOf;
18447
- },{}],154:[function(_dereq_,module,exports){
18540
+ },{}],157:[function(_dereq_,module,exports){
18448
18541
  /**
18449
18542
  * Copyright 2013-2015, Facebook, Inc.
18450
18543
  * All rights reserved.
@@ -18496,7 +18589,7 @@ function mapObject(object, callback, context) {
18496
18589
  }
18497
18590
 
18498
18591
  module.exports = mapObject;
18499
- },{}],155:[function(_dereq_,module,exports){
18592
+ },{}],158:[function(_dereq_,module,exports){
18500
18593
  /**
18501
18594
  * Copyright 2013-2015, Facebook, Inc.
18502
18595
  * All rights reserved.
@@ -18528,7 +18621,7 @@ function memoizeStringOnly(callback) {
18528
18621
  }
18529
18622
 
18530
18623
  module.exports = memoizeStringOnly;
18531
- },{}],156:[function(_dereq_,module,exports){
18624
+ },{}],159:[function(_dereq_,module,exports){
18532
18625
  /**
18533
18626
  * Copyright 2013-2015, Facebook, Inc.
18534
18627
  * All rights reserved.
@@ -18541,9 +18634,9 @@ module.exports = memoizeStringOnly;
18541
18634
  */
18542
18635
  'use strict';
18543
18636
 
18544
- var ReactElement = _dereq_(62);
18637
+ var ReactElement = _dereq_(64);
18545
18638
 
18546
- var invariant = _dereq_(146);
18639
+ var invariant = _dereq_(149);
18547
18640
 
18548
18641
  /**
18549
18642
  * Returns the first child in a collection of children and verifies that there
@@ -18562,7 +18655,7 @@ function onlyChild(children) {
18562
18655
  }
18563
18656
 
18564
18657
  module.exports = onlyChild;
18565
- },{"146":146,"62":62}],157:[function(_dereq_,module,exports){
18658
+ },{"149":149,"64":64}],160:[function(_dereq_,module,exports){
18566
18659
  /**
18567
18660
  * Copyright 2013-2015, Facebook, Inc.
18568
18661
  * All rights reserved.
@@ -18586,7 +18679,7 @@ if (ExecutionEnvironment.canUseDOM) {
18586
18679
  }
18587
18680
 
18588
18681
  module.exports = performance || {};
18589
- },{"22":22}],158:[function(_dereq_,module,exports){
18682
+ },{"22":22}],161:[function(_dereq_,module,exports){
18590
18683
  /**
18591
18684
  * Copyright 2013-2015, Facebook, Inc.
18592
18685
  * All rights reserved.
@@ -18601,7 +18694,7 @@ module.exports = performance || {};
18601
18694
 
18602
18695
  'use strict';
18603
18696
 
18604
- var performance = _dereq_(157);
18697
+ var performance = _dereq_(160);
18605
18698
 
18606
18699
  /**
18607
18700
  * Detect if we can use `window.performance.now()` and gracefully fallback to
@@ -18615,7 +18708,7 @@ if (!performance || !performance.now) {
18615
18708
  var performanceNow = performance.now.bind(performance);
18616
18709
 
18617
18710
  module.exports = performanceNow;
18618
- },{"157":157}],159:[function(_dereq_,module,exports){
18711
+ },{"160":160}],162:[function(_dereq_,module,exports){
18619
18712
  /**
18620
18713
  * Copyright 2013-2015, Facebook, Inc.
18621
18714
  * All rights reserved.
@@ -18629,7 +18722,7 @@ module.exports = performanceNow;
18629
18722
 
18630
18723
  'use strict';
18631
18724
 
18632
- var escapeTextContentForBrowser = _dereq_(128);
18725
+ var escapeTextContentForBrowser = _dereq_(131);
18633
18726
 
18634
18727
  /**
18635
18728
  * Escapes attribute value to prevent scripting attacks.
@@ -18642,7 +18735,7 @@ function quoteAttributeValueForBrowser(value) {
18642
18735
  }
18643
18736
 
18644
18737
  module.exports = quoteAttributeValueForBrowser;
18645
- },{"128":128}],160:[function(_dereq_,module,exports){
18738
+ },{"131":131}],163:[function(_dereq_,module,exports){
18646
18739
  /**
18647
18740
  * Copyright 2013-2015, Facebook, Inc.
18648
18741
  * All rights reserved.
@@ -18656,10 +18749,10 @@ module.exports = quoteAttributeValueForBrowser;
18656
18749
 
18657
18750
  'use strict';
18658
18751
 
18659
- var ReactMount = _dereq_(76);
18752
+ var ReactMount = _dereq_(79);
18660
18753
 
18661
18754
  module.exports = ReactMount.renderSubtreeIntoContainer;
18662
- },{"76":76}],161:[function(_dereq_,module,exports){
18755
+ },{"79":79}],164:[function(_dereq_,module,exports){
18663
18756
  /**
18664
18757
  * Copyright 2013-2015, Facebook, Inc.
18665
18758
  * All rights reserved.
@@ -18750,7 +18843,7 @@ if (ExecutionEnvironment.canUseDOM) {
18750
18843
  }
18751
18844
 
18752
18845
  module.exports = setInnerHTML;
18753
- },{"22":22}],162:[function(_dereq_,module,exports){
18846
+ },{"22":22}],165:[function(_dereq_,module,exports){
18754
18847
  /**
18755
18848
  * Copyright 2013-2015, Facebook, Inc.
18756
18849
  * All rights reserved.
@@ -18765,8 +18858,8 @@ module.exports = setInnerHTML;
18765
18858
  'use strict';
18766
18859
 
18767
18860
  var ExecutionEnvironment = _dereq_(22);
18768
- var escapeTextContentForBrowser = _dereq_(128);
18769
- var setInnerHTML = _dereq_(161);
18861
+ var escapeTextContentForBrowser = _dereq_(131);
18862
+ var setInnerHTML = _dereq_(164);
18770
18863
 
18771
18864
  /**
18772
18865
  * Set the textContent property of a node, ensuring that whitespace is preserved
@@ -18791,7 +18884,7 @@ if (ExecutionEnvironment.canUseDOM) {
18791
18884
  }
18792
18885
 
18793
18886
  module.exports = setTextContent;
18794
- },{"128":128,"161":161,"22":22}],163:[function(_dereq_,module,exports){
18887
+ },{"131":131,"164":164,"22":22}],166:[function(_dereq_,module,exports){
18795
18888
  /**
18796
18889
  * Copyright 2013-2015, Facebook, Inc.
18797
18890
  * All rights reserved.
@@ -18805,7 +18898,7 @@ module.exports = setTextContent;
18805
18898
 
18806
18899
  'use strict';
18807
18900
 
18808
- var shallowEqual = _dereq_(164);
18901
+ var shallowEqual = _dereq_(167);
18809
18902
 
18810
18903
  /**
18811
18904
  * Does a shallow comparison for props and state.
@@ -18816,7 +18909,7 @@ function shallowCompare(instance, nextProps, nextState) {
18816
18909
  }
18817
18910
 
18818
18911
  module.exports = shallowCompare;
18819
- },{"164":164}],164:[function(_dereq_,module,exports){
18912
+ },{"167":167}],167:[function(_dereq_,module,exports){
18820
18913
  /**
18821
18914
  * Copyright 2013-2015, Facebook, Inc.
18822
18915
  * All rights reserved.
@@ -18865,7 +18958,7 @@ function shallowEqual(objA, objB) {
18865
18958
  }
18866
18959
 
18867
18960
  module.exports = shallowEqual;
18868
- },{}],165:[function(_dereq_,module,exports){
18961
+ },{}],168:[function(_dereq_,module,exports){
18869
18962
  /**
18870
18963
  * Copyright 2013-2015, Facebook, Inc.
18871
18964
  * All rights reserved.
@@ -18905,7 +18998,7 @@ function shouldUpdateReactComponent(prevElement, nextElement) {
18905
18998
  }
18906
18999
 
18907
19000
  module.exports = shouldUpdateReactComponent;
18908
- },{}],166:[function(_dereq_,module,exports){
19001
+ },{}],169:[function(_dereq_,module,exports){
18909
19002
  /**
18910
19003
  * Copyright 2014-2015, Facebook, Inc.
18911
19004
  * All rights reserved.
@@ -18920,7 +19013,7 @@ module.exports = shouldUpdateReactComponent;
18920
19013
 
18921
19014
  'use strict';
18922
19015
 
18923
- var invariant = _dereq_(146);
19016
+ var invariant = _dereq_(149);
18924
19017
 
18925
19018
  /**
18926
19019
  * Convert array-like objects to arrays.
@@ -18963,7 +19056,7 @@ function toArray(obj) {
18963
19056
  module.exports = toArray;
18964
19057
 
18965
19058
  // IE < 9 does not support Array#slice on collections objects
18966
- },{"146":146}],167:[function(_dereq_,module,exports){
19059
+ },{"149":149}],170:[function(_dereq_,module,exports){
18967
19060
  /**
18968
19061
  * Copyright 2013-2015, Facebook, Inc.
18969
19062
  * All rights reserved.
@@ -18977,13 +19070,13 @@ module.exports = toArray;
18977
19070
 
18978
19071
  'use strict';
18979
19072
 
18980
- var ReactElement = _dereq_(62);
18981
- var ReactFragment = _dereq_(68);
18982
- var ReactInstanceHandles = _dereq_(71);
19073
+ var ReactElement = _dereq_(64);
19074
+ var ReactFragment = _dereq_(70);
19075
+ var ReactInstanceHandles = _dereq_(73);
18983
19076
 
18984
- var getIteratorFn = _dereq_(138);
18985
- var invariant = _dereq_(146);
18986
- var warning = _dereq_(170);
19077
+ var getIteratorFn = _dereq_(141);
19078
+ var invariant = _dereq_(149);
19079
+ var warning = _dereq_(173);
18987
19080
 
18988
19081
  var SEPARATOR = ReactInstanceHandles.SEPARATOR;
18989
19082
  var SUBSEPARATOR = ':';
@@ -19047,13 +19140,12 @@ function wrapUserProvidedKey(key) {
19047
19140
  /**
19048
19141
  * @param {?*} children Children tree container.
19049
19142
  * @param {!string} nameSoFar Name of the key path so far.
19050
- * @param {!number} indexSoFar Number of children encountered until this point.
19051
19143
  * @param {!function} callback Callback to invoke with each child found.
19052
19144
  * @param {?*} traverseContext Used to pass information throughout the traversal
19053
19145
  * process.
19054
19146
  * @return {!number} The number of children in this subtree.
19055
19147
  */
19056
- function traverseAllChildrenImpl(children, nameSoFar, indexSoFar, callback, traverseContext) {
19148
+ function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {
19057
19149
  var type = typeof children;
19058
19150
 
19059
19151
  if (type === 'undefined' || type === 'boolean') {
@@ -19065,19 +19157,19 @@ function traverseAllChildrenImpl(children, nameSoFar, indexSoFar, callback, trav
19065
19157
  callback(traverseContext, children,
19066
19158
  // If it's the only child, treat the name as if it was wrapped in an array
19067
19159
  // so that it's consistent if the number of children grows.
19068
- nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar, indexSoFar);
19160
+ nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);
19069
19161
  return 1;
19070
19162
  }
19071
19163
 
19072
- var child, nextName, nextIndex;
19164
+ var child;
19165
+ var nextName;
19073
19166
  var subtreeCount = 0; // Count of children found in the current subtree.
19074
19167
 
19075
19168
  if (Array.isArray(children)) {
19076
19169
  for (var i = 0; i < children.length; i++) {
19077
19170
  child = children[i];
19078
19171
  nextName = (nameSoFar !== '' ? nameSoFar + SUBSEPARATOR : SEPARATOR) + getComponentKey(child, i);
19079
- nextIndex = indexSoFar + subtreeCount;
19080
- subtreeCount += traverseAllChildrenImpl(child, nextName, nextIndex, callback, traverseContext);
19172
+ subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
19081
19173
  }
19082
19174
  } else {
19083
19175
  var iteratorFn = getIteratorFn(children);
@@ -19089,8 +19181,7 @@ function traverseAllChildrenImpl(children, nameSoFar, indexSoFar, callback, trav
19089
19181
  while (!(step = iterator.next()).done) {
19090
19182
  child = step.value;
19091
19183
  nextName = (nameSoFar !== '' ? nameSoFar + SUBSEPARATOR : SEPARATOR) + getComponentKey(child, ii++);
19092
- nextIndex = indexSoFar + subtreeCount;
19093
- subtreeCount += traverseAllChildrenImpl(child, nextName, nextIndex, callback, traverseContext);
19184
+ subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
19094
19185
  }
19095
19186
  } else {
19096
19187
  if ('production' !== "development") {
@@ -19103,8 +19194,7 @@ function traverseAllChildrenImpl(children, nameSoFar, indexSoFar, callback, trav
19103
19194
  if (entry) {
19104
19195
  child = entry[1];
19105
19196
  nextName = (nameSoFar !== '' ? nameSoFar + SUBSEPARATOR : SEPARATOR) + wrapUserProvidedKey(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0);
19106
- nextIndex = indexSoFar + subtreeCount;
19107
- subtreeCount += traverseAllChildrenImpl(child, nextName, nextIndex, callback, traverseContext);
19197
+ subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
19108
19198
  }
19109
19199
  }
19110
19200
  }
@@ -19115,8 +19205,7 @@ function traverseAllChildrenImpl(children, nameSoFar, indexSoFar, callback, trav
19115
19205
  if (fragment.hasOwnProperty(key)) {
19116
19206
  child = fragment[key];
19117
19207
  nextName = (nameSoFar !== '' ? nameSoFar + SUBSEPARATOR : SEPARATOR) + wrapUserProvidedKey(key) + SUBSEPARATOR + getComponentKey(child, 0);
19118
- nextIndex = indexSoFar + subtreeCount;
19119
- subtreeCount += traverseAllChildrenImpl(child, nextName, nextIndex, callback, traverseContext);
19208
+ subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
19120
19209
  }
19121
19210
  }
19122
19211
  }
@@ -19146,11 +19235,11 @@ function traverseAllChildren(children, callback, traverseContext) {
19146
19235
  return 0;
19147
19236
  }
19148
19237
 
19149
- return traverseAllChildrenImpl(children, '', 0, callback, traverseContext);
19238
+ return traverseAllChildrenImpl(children, '', callback, traverseContext);
19150
19239
  }
19151
19240
 
19152
19241
  module.exports = traverseAllChildren;
19153
- },{"138":138,"146":146,"170":170,"62":62,"68":68,"71":71}],168:[function(_dereq_,module,exports){
19242
+ },{"141":141,"149":149,"173":173,"64":64,"70":70,"73":73}],171:[function(_dereq_,module,exports){
19154
19243
  /**
19155
19244
  * Copyright 2013-2015, Facebook, Inc.
19156
19245
  * All rights reserved.
@@ -19167,8 +19256,8 @@ module.exports = traverseAllChildren;
19167
19256
  'use strict';
19168
19257
 
19169
19258
  var assign = _dereq_(28);
19170
- var keyOf = _dereq_(153);
19171
- var invariant = _dereq_(146);
19259
+ var keyOf = _dereq_(156);
19260
+ var invariant = _dereq_(149);
19172
19261
  var hasOwnProperty = ({}).hasOwnProperty;
19173
19262
 
19174
19263
  function shallowCopy(x) {
@@ -19258,7 +19347,7 @@ function update(value, spec) {
19258
19347
  }
19259
19348
 
19260
19349
  module.exports = update;
19261
- },{"146":146,"153":153,"28":28}],169:[function(_dereq_,module,exports){
19350
+ },{"149":149,"156":156,"28":28}],172:[function(_dereq_,module,exports){
19262
19351
  /**
19263
19352
  * Copyright 2015, Facebook, Inc.
19264
19353
  * All rights reserved.
@@ -19272,8 +19361,9 @@ module.exports = update;
19272
19361
 
19273
19362
  'use strict';
19274
19363
 
19275
- var emptyFunction = _dereq_(126);
19276
- var warning = _dereq_(170);
19364
+ var assign = _dereq_(28);
19365
+ var emptyFunction = _dereq_(129);
19366
+ var warning = _dereq_(173);
19277
19367
 
19278
19368
  var validateDOMNesting = emptyFunction;
19279
19369
 
@@ -19292,81 +19382,86 @@ if ('production' !== "development") {
19292
19382
  // https://html.spec.whatwg.org/multipage/syntax.html#special
19293
19383
  var specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp'];
19294
19384
 
19295
- /**
19296
- * Return whether `stack` contains `tag` and the last occurrence of `tag` is
19297
- * deeper than any element in the `scope` array.
19298
- *
19299
- * https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-the-specific-scope
19300
- *
19301
- * Examples:
19302
- * stackHasTagInSpecificScope(['p', 'quote'], 'p', ['button']) is true
19303
- * stackHasTagInSpecificScope(['p', 'button'], 'p', ['button']) is false
19304
- *
19305
- * @param {Array<string>} stack
19306
- * @param {string} tag
19307
- * @param {Array<string>} scope
19308
- */
19309
- var stackHasTagInSpecificScope = function (stack, tag, scope) {
19310
- for (var i = stack.length - 1; i >= 0; i--) {
19311
- if (stack[i] === tag) {
19312
- return true;
19313
- }
19314
- if (scope.indexOf(stack[i]) !== -1) {
19315
- return false;
19316
- }
19317
- }
19318
- return false;
19319
- };
19320
-
19321
19385
  // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope
19322
19386
  var inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template',
19323
19387
 
19324
19388
  // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point
19325
- // TODO: Distinguish by namespace here
19389
+ // TODO: Distinguish by namespace here -- for <title>, including it here
19390
+ // errs on the side of fewer warnings
19326
19391
  'foreignObject', 'desc', 'title'];
19327
- var stackHasTagInScope = function (stack, tag) {
19328
- return stackHasTagInSpecificScope(stack, tag, inScopeTags);
19329
- };
19330
19392
 
19331
19393
  // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope
19332
19394
  var buttonScopeTags = inScopeTags.concat(['button']);
19333
- var stackHasTagInButtonScope = function (stack, tag) {
19334
- return stackHasTagInSpecificScope(stack, tag, buttonScopeTags);
19395
+
19396
+ // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags
19397
+ var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt'];
19398
+
19399
+ var emptyAncestorInfo = {
19400
+ parentTag: null,
19401
+
19402
+ formTag: null,
19403
+ aTagInScope: null,
19404
+ buttonTagInScope: null,
19405
+ nobrTagInScope: null,
19406
+ pTagInButtonScope: null,
19407
+
19408
+ listItemTagAutoclosing: null,
19409
+ dlItemTagAutoclosing: null
19335
19410
  };
19336
19411
 
19337
- // See rules for 'li', 'dd', 'dt' start tags in
19338
- // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody
19339
- var listItemTagAllowed = function (tags, stack) {
19340
- // tags is ['li'] or ['dd, 'dt']
19341
- for (var i = stack.length - 1; i >= 0; i--) {
19342
- if (tags.indexOf(stack[i]) !== -1) {
19343
- return false;
19344
- } else if (specialTags.indexOf(stack[i]) !== -1 && stack[i] !== 'address' && stack[i] !== 'div' && stack[i] !== 'p') {
19345
- return true;
19346
- }
19412
+ var updatedAncestorInfo = function (oldInfo, tag, instance) {
19413
+ var ancestorInfo = assign({}, oldInfo || emptyAncestorInfo);
19414
+ var info = { tag: tag, instance: instance };
19415
+
19416
+ if (inScopeTags.indexOf(tag) !== -1) {
19417
+ ancestorInfo.aTagInScope = null;
19418
+ ancestorInfo.buttonTagInScope = null;
19419
+ ancestorInfo.nobrTagInScope = null;
19420
+ }
19421
+ if (buttonScopeTags.indexOf(tag) !== -1) {
19422
+ ancestorInfo.pTagInButtonScope = null;
19347
19423
  }
19348
- return true;
19349
- };
19350
19424
 
19351
- // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags
19352
- var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt'];
19425
+ // See rules for 'li', 'dd', 'dt' start tags in
19426
+ // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody
19427
+ if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') {
19428
+ ancestorInfo.listItemTagAutoclosing = null;
19429
+ ancestorInfo.dlItemTagAutoclosing = null;
19430
+ }
19431
+
19432
+ ancestorInfo.parentTag = info;
19433
+
19434
+ if (tag === 'form') {
19435
+ ancestorInfo.formTag = info;
19436
+ }
19437
+ if (tag === 'a') {
19438
+ ancestorInfo.aTagInScope = info;
19439
+ }
19440
+ if (tag === 'button') {
19441
+ ancestorInfo.buttonTagInScope = info;
19442
+ }
19443
+ if (tag === 'nobr') {
19444
+ ancestorInfo.nobrTagInScope = info;
19445
+ }
19446
+ if (tag === 'p') {
19447
+ ancestorInfo.pTagInButtonScope = info;
19448
+ }
19449
+ if (tag === 'li') {
19450
+ ancestorInfo.listItemTagAutoclosing = info;
19451
+ }
19452
+ if (tag === 'dd' || tag === 'dt') {
19453
+ ancestorInfo.dlItemTagAutoclosing = info;
19454
+ }
19455
+
19456
+ return ancestorInfo;
19457
+ };
19353
19458
 
19354
19459
  /**
19355
- * Returns whether we allow putting `tag` in the document if the current stack
19356
- * of open tags is `openTagStack`.
19357
- *
19358
- * Examples:
19359
- * isTagValidInContext('tr', [..., 'table', 'tbody']) is true
19360
- * isTagValidInContext('tr', [..., 'table']) is false
19361
- *
19362
- * @param {string} tag Lowercase HTML tag name or node name like '#text'
19363
- * @param {Array<string>} openTagStack
19460
+ * Returns whether
19364
19461
  */
19365
- var isTagValidInContext = function (tag, openTagStack) {
19366
- var currentTag = openTagStack[openTagStack.length - 1];
19367
-
19462
+ var isTagValidWithParent = function (tag, parentTag) {
19368
19463
  // First, let's check if we're in an unusual parsing mode...
19369
- switch (currentTag) {
19464
+ switch (parentTag) {
19370
19465
  // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect
19371
19466
  case 'select':
19372
19467
  return tag === 'option' || tag === 'optgroup' || tag === '#text';
@@ -19412,6 +19507,44 @@ if ('production' !== "development") {
19412
19507
  // Probably in the "in body" parsing mode, so we outlaw only tag combos
19413
19508
  // where the parsing rules cause implicit opens or closes to be added.
19414
19509
  // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody
19510
+ switch (tag) {
19511
+ case 'h1':
19512
+ case 'h2':
19513
+ case 'h3':
19514
+ case 'h4':
19515
+ case 'h5':
19516
+ case 'h6':
19517
+ return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6';
19518
+
19519
+ case 'rp':
19520
+ case 'rt':
19521
+ return impliedEndTags.indexOf(parentTag) === -1;
19522
+
19523
+ case 'caption':
19524
+ case 'col':
19525
+ case 'colgroup':
19526
+ case 'frame':
19527
+ case 'head':
19528
+ case 'tbody':
19529
+ case 'td':
19530
+ case 'tfoot':
19531
+ case 'th':
19532
+ case 'thead':
19533
+ case 'tr':
19534
+ // These tags are only valid with a few parents that have special child
19535
+ // parsing rules -- if we're down here, then none of those matched and
19536
+ // so we allow it only if we don't know what the parent is, as all other
19537
+ // cases are invalid.
19538
+ return parentTag == null;
19539
+ }
19540
+
19541
+ return true;
19542
+ };
19543
+
19544
+ /**
19545
+ * Returns whether
19546
+ */
19547
+ var findInvalidAncestorForTag = function (tag, ancestorInfo) {
19415
19548
  switch (tag) {
19416
19549
  case 'address':
19417
19550
  case 'article':
@@ -19446,7 +19579,6 @@ if ('production' !== "development") {
19446
19579
  case 'hr':
19447
19580
 
19448
19581
  case 'xmp':
19449
- return !stackHasTagInButtonScope(openTagStack, 'p');
19450
19582
 
19451
19583
  case 'h1':
19452
19584
  case 'h2':
@@ -19454,76 +19586,124 @@ if ('production' !== "development") {
19454
19586
  case 'h4':
19455
19587
  case 'h5':
19456
19588
  case 'h6':
19457
- return !stackHasTagInButtonScope(openTagStack, 'p') && currentTag !== 'h1' && currentTag !== 'h2' && currentTag !== 'h3' && currentTag !== 'h4' && currentTag !== 'h5' && currentTag !== 'h6';
19589
+ return ancestorInfo.pTagInButtonScope;
19458
19590
 
19459
19591
  case 'form':
19460
- return openTagStack.indexOf('form') === -1 && !stackHasTagInButtonScope(openTagStack, 'p');
19592
+ return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;
19461
19593
 
19462
19594
  case 'li':
19463
- return listItemTagAllowed(['li'], openTagStack);
19595
+ return ancestorInfo.listItemTagAutoclosing;
19464
19596
 
19465
19597
  case 'dd':
19466
19598
  case 'dt':
19467
- return listItemTagAllowed(['dd', 'dt'], openTagStack);
19599
+ return ancestorInfo.dlItemTagAutoclosing;
19468
19600
 
19469
19601
  case 'button':
19470
- return !stackHasTagInScope(openTagStack, 'button');
19602
+ return ancestorInfo.buttonTagInScope;
19471
19603
 
19472
19604
  case 'a':
19473
19605
  // Spec says something about storing a list of markers, but it sounds
19474
19606
  // equivalent to this check.
19475
- return !stackHasTagInScope(openTagStack, 'a');
19607
+ return ancestorInfo.aTagInScope;
19476
19608
 
19477
19609
  case 'nobr':
19478
- return !stackHasTagInScope(openTagStack, 'nobr');
19610
+ return ancestorInfo.nobrTagInScope;
19611
+ }
19479
19612
 
19480
- case 'rp':
19481
- case 'rt':
19482
- return impliedEndTags.indexOf(currentTag) === -1;
19613
+ return null;
19614
+ };
19483
19615
 
19484
- case 'caption':
19485
- case 'col':
19486
- case 'colgroup':
19487
- case 'frame':
19488
- case 'head':
19489
- case 'tbody':
19490
- case 'td':
19491
- case 'tfoot':
19492
- case 'th':
19493
- case 'thead':
19494
- case 'tr':
19495
- return currentTag === undefined;
19616
+ /**
19617
+ * Given a ReactCompositeComponent instance, return a list of its recursive
19618
+ * owners, starting at the root and ending with the instance itself.
19619
+ */
19620
+ var findOwnerStack = function (instance) {
19621
+ if (!instance) {
19622
+ return [];
19496
19623
  }
19497
19624
 
19498
- return true;
19625
+ var stack = [];
19626
+ /*eslint-disable space-after-keywords */
19627
+ do {
19628
+ /*eslint-enable space-after-keywords */
19629
+ stack.push(instance);
19630
+ } while (instance = instance._currentElement._owner);
19631
+ stack.reverse();
19632
+ return stack;
19499
19633
  };
19500
19634
 
19501
- validateDOMNesting = function (parentStack, childTag, element) {
19502
- if (!isTagValidInContext(childTag, parentStack)) {
19503
- var info = '';
19504
- var parentTag = parentStack[parentStack.length - 1];
19505
- if (parentTag === 'table' && childTag === 'tr') {
19506
- info += ' Add a <tbody> to your code to match the DOM tree generated by ' + 'the browser.';
19507
- }
19508
- if (element && element._owner) {
19509
- var name = element._owner.getName();
19510
- if (name) {
19511
- info += ' Check the render method of `' + name + '`.';
19635
+ validateDOMNesting = function (childTag, childInstance, ancestorInfo) {
19636
+ ancestorInfo = ancestorInfo || emptyAncestorInfo;
19637
+ var parentInfo = ancestorInfo.parentTag;
19638
+ var parentTag = parentInfo && parentInfo.tag;
19639
+
19640
+ var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo;
19641
+ var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo);
19642
+ var problematic = invalidParent || invalidAncestor;
19643
+
19644
+ if (problematic) {
19645
+ var ancestorTag = problematic.tag;
19646
+ var ancestorInstance = problematic.instance;
19647
+
19648
+ var childOwner = childInstance && childInstance._currentElement._owner;
19649
+ var ancestorOwner = ancestorInstance && ancestorInstance._currentElement._owner;
19650
+
19651
+ var childOwners = findOwnerStack(childOwner);
19652
+ var ancestorOwners = findOwnerStack(ancestorOwner);
19653
+
19654
+ var minStackLen = Math.min(childOwners.length, ancestorOwners.length);
19655
+ var i;
19656
+
19657
+ var deepestCommon = -1;
19658
+ for (i = 0; i < minStackLen; i++) {
19659
+ if (childOwners[i] === ancestorOwners[i]) {
19660
+ deepestCommon = i;
19661
+ } else {
19662
+ break;
19512
19663
  }
19513
19664
  }
19514
19665
 
19515
- 'production' !== "development" ? warning(false, 'validateDOMNesting(...): <%s> cannot appear as a child of <%s> ' + 'in this context (%s).%s', childTag, parentTag, parentStack.join(' > '), info) : null;
19666
+ var UNKNOWN = '(unknown)';
19667
+ var childOwnerNames = childOwners.slice(deepestCommon + 1).map(function (inst) {
19668
+ return inst.getName() || UNKNOWN;
19669
+ });
19670
+ var ancestorOwnerNames = ancestorOwners.slice(deepestCommon + 1).map(function (inst) {
19671
+ return inst.getName() || UNKNOWN;
19672
+ });
19673
+ var ownerInfo = [].concat(
19674
+ // If the parent and child instances have a common owner ancestor, start
19675
+ // with that -- otherwise we just start with the parent's owners.
19676
+ deepestCommon !== -1 ? childOwners[deepestCommon].getName() || UNKNOWN : [], ancestorOwnerNames, ancestorTag,
19677
+ // If we're warning about an invalid (non-parent) ancestry, add '...'
19678
+ invalidAncestor ? ['...'] : [], childOwnerNames, childTag).join(' > ');
19679
+
19680
+ if (invalidParent) {
19681
+ var info = '';
19682
+ if (ancestorTag === 'table' && childTag === 'tr') {
19683
+ info += ' Add a <tbody> to your code to match the DOM tree generated by ' + 'the browser.';
19684
+ }
19685
+ 'production' !== "development" ? warning(false, 'validateDOMNesting(...): <%s> cannot appear as a child of <%s>. ' + 'See %s.%s', childTag, ancestorTag, ownerInfo, info) : null;
19686
+ } else {
19687
+ 'production' !== "development" ? warning(false, 'validateDOMNesting(...): <%s> cannot appear as a descendant of ' + '<%s>. See %s.', childTag, ancestorTag, ownerInfo) : null;
19688
+ }
19516
19689
  }
19517
19690
  };
19518
19691
 
19519
- validateDOMNesting.tagStackContextKey = '__validateDOMNesting_tagStack$' + Math.random().toString(36).slice(2);
19692
+ validateDOMNesting.ancestorInfoContextKey = '__validateDOMNesting_ancestorInfo$' + Math.random().toString(36).slice(2);
19693
+
19694
+ validateDOMNesting.updatedAncestorInfo = updatedAncestorInfo;
19520
19695
 
19521
19696
  // For testing
19522
- validateDOMNesting.isTagValidInContext = isTagValidInContext;
19697
+ validateDOMNesting.isTagValidInContext = function (tag, ancestorInfo) {
19698
+ ancestorInfo = ancestorInfo || emptyAncestorInfo;
19699
+ var parentInfo = ancestorInfo.parentTag;
19700
+ var parentTag = parentInfo && parentInfo.tag;
19701
+ return isTagValidWithParent(tag, parentTag) && !findInvalidAncestorForTag(tag, ancestorInfo);
19702
+ };
19523
19703
  }
19524
19704
 
19525
19705
  module.exports = validateDOMNesting;
19526
- },{"126":126,"170":170}],170:[function(_dereq_,module,exports){
19706
+ },{"129":129,"173":173,"28":28}],173:[function(_dereq_,module,exports){
19527
19707
  /**
19528
19708
  * Copyright 2014-2015, Facebook, Inc.
19529
19709
  * All rights reserved.
@@ -19537,7 +19717,7 @@ module.exports = validateDOMNesting;
19537
19717
 
19538
19718
  'use strict';
19539
19719
 
19540
- var emptyFunction = _dereq_(126);
19720
+ var emptyFunction = _dereq_(129);
19541
19721
 
19542
19722
  /**
19543
19723
  * Similar to invariant but only logs a warning if the condition is not met.
@@ -19585,5 +19765,5 @@ if ('production' !== "development") {
19585
19765
  }
19586
19766
 
19587
19767
  module.exports = warning;
19588
- },{"126":126}]},{},[1])(1)
19768
+ },{"129":129}]},{},[1])(1)
19589
19769
  });