react-rails 1.6.2 → 1.7.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -0
- data/README.md +1 -1
- data/lib/assets/javascripts/react_ujs.js +1 -0
- data/lib/assets/javascripts/react_ujs_event_setup.js +2 -0
- data/lib/assets/javascripts/react_ujs_mount.js +2 -7
- data/lib/assets/javascripts/react_ujs_pjax.js +10 -0
- data/lib/assets/javascripts/react_ujs_turbolinks.js +1 -1
- data/lib/assets/react-source/development-with-addons/react-server.js +16152 -15809
- data/lib/assets/react-source/development-with-addons/react.js +16039 -15899
- data/lib/assets/react-source/development/react-addons-create-fragment.js +749 -1064
- data/lib/assets/react-source/development/react-addons-css-transition-group.js +15531 -15193
- data/lib/assets/react-source/development/react-addons-linked-state-mixin.js +2434 -18445
- data/lib/assets/react-source/development/react-addons-perf.js +5551 -5461
- data/lib/assets/react-source/development/react-addons-pure-render-mixin.js +32 -16
- data/lib/assets/react-source/development/react-addons-test-utils.js +13306 -12927
- data/lib/assets/react-source/development/react-addons-transition-group.js +2494 -18457
- data/lib/assets/react-source/development/react-addons-update.js +104 -112
- data/lib/assets/react-source/development/react-server.js +13480 -12921
- data/lib/assets/react-source/development/react.js +13337 -12981
- data/lib/assets/react-source/production-with-addons/react-server.js +6 -6
- data/lib/assets/react-source/production-with-addons/react.js +6 -6
- data/lib/assets/react-source/production/react-addons-create-fragment.js +1 -1
- data/lib/assets/react-source/production/react-addons-css-transition-group.js +6 -6
- data/lib/assets/react-source/production/react-addons-linked-state-mixin.js +1 -19
- data/lib/assets/react-source/production/react-addons-perf.js +2 -2
- data/lib/assets/react-source/production/react-addons-pure-render-mixin.js +1 -1
- data/lib/assets/react-source/production/react-addons-test-utils.js +6 -6
- data/lib/assets/react-source/production/react-addons-transition-group.js +1 -19
- data/lib/assets/react-source/production/react-addons-update.js +1 -1
- data/lib/assets/react-source/production/react-server.js +6 -6
- data/lib/assets/react-source/production/react.js +6 -6
- data/lib/react/rails/component_mount.rb +6 -4
- data/lib/react/rails/version.rb +1 -1
- data/lib/react/server_rendering/sprockets_renderer/console_replay.js +3 -3
- metadata +17 -4
- data/lib/assets/react-source/development/react-addons-clone-with-props.js +0 -888
- data/lib/assets/react-source/production/react-addons-clone-with-props.js +0 -1
@@ -45,12 +45,86 @@
|
|
45
45
|
/***/ function(module, exports, __webpack_require__) {
|
46
46
|
|
47
47
|
window.React.addons = window.React.addons || {};
|
48
|
-
window.React.addons.createFragment = __webpack_require__(
|
48
|
+
window.React.addons.createFragment = __webpack_require__(1);
|
49
49
|
|
50
50
|
|
51
51
|
/***/ },
|
52
|
-
/* 1
|
53
|
-
|
52
|
+
/* 1 */
|
53
|
+
/***/ function(module, exports, __webpack_require__) {
|
54
|
+
|
55
|
+
module.exports = __webpack_require__(2).create;
|
56
|
+
|
57
|
+
/***/ },
|
58
|
+
/* 2 */
|
59
|
+
/***/ function(module, exports, __webpack_require__) {
|
60
|
+
|
61
|
+
/* WEBPACK VAR INJECTION */(function(process) {/**
|
62
|
+
* Copyright 2015-present, Facebook, Inc.
|
63
|
+
* All rights reserved.
|
64
|
+
*
|
65
|
+
* This source code is licensed under the BSD-style license found in the
|
66
|
+
* LICENSE file in the root directory of this source tree. An additional grant
|
67
|
+
* of patent rights can be found in the PATENTS file in the same directory.
|
68
|
+
*
|
69
|
+
* @providesModule ReactFragment
|
70
|
+
*/
|
71
|
+
|
72
|
+
'use strict';
|
73
|
+
|
74
|
+
var ReactChildren = __webpack_require__(4);
|
75
|
+
var ReactElement = __webpack_require__(7);
|
76
|
+
|
77
|
+
var emptyFunction = __webpack_require__(11);
|
78
|
+
var invariant = __webpack_require__(6);
|
79
|
+
var warning = __webpack_require__(10);
|
80
|
+
|
81
|
+
/**
|
82
|
+
* We used to allow keyed objects to serve as a collection of ReactElements,
|
83
|
+
* or nested sets. This allowed us a way to explicitly key a set or fragment of
|
84
|
+
* components. This is now being replaced with an opaque data structure.
|
85
|
+
* The upgrade path is to call React.addons.createFragment({ key: value }) to
|
86
|
+
* create a keyed fragment. The resulting data structure is an array.
|
87
|
+
*/
|
88
|
+
|
89
|
+
var numericPropertyRegex = /^\d+$/;
|
90
|
+
|
91
|
+
var warnedAboutNumeric = false;
|
92
|
+
|
93
|
+
var ReactFragment = {
|
94
|
+
// Wrap a keyed object in an opaque proxy that warns you if you access any
|
95
|
+
// of its properties.
|
96
|
+
create: function (object) {
|
97
|
+
if (typeof object !== 'object' || !object || Array.isArray(object)) {
|
98
|
+
process.env.NODE_ENV !== 'production' ? warning(false, 'React.addons.createFragment only accepts a single object. Got: %s', object) : void 0;
|
99
|
+
return object;
|
100
|
+
}
|
101
|
+
if (ReactElement.isValidElement(object)) {
|
102
|
+
process.env.NODE_ENV !== 'production' ? warning(false, 'React.addons.createFragment does not accept a ReactElement ' + 'without a wrapper object.') : void 0;
|
103
|
+
return object;
|
104
|
+
}
|
105
|
+
|
106
|
+
!(object.nodeType !== 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React.addons.createFragment(...): Encountered an invalid child; DOM ' + 'elements are not valid children of React components.') : invariant(false) : void 0;
|
107
|
+
|
108
|
+
var result = [];
|
109
|
+
|
110
|
+
for (var key in object) {
|
111
|
+
if (process.env.NODE_ENV !== 'production') {
|
112
|
+
if (!warnedAboutNumeric && numericPropertyRegex.test(key)) {
|
113
|
+
process.env.NODE_ENV !== 'production' ? warning(false, 'React.addons.createFragment(...): Child objects should have ' + 'non-numeric keys so ordering is preserved.') : void 0;
|
114
|
+
warnedAboutNumeric = true;
|
115
|
+
}
|
116
|
+
}
|
117
|
+
ReactChildren.mapIntoWithKeyPrefixInternal(object[key], result, key, emptyFunction.thatReturnsArgument);
|
118
|
+
}
|
119
|
+
|
120
|
+
return result;
|
121
|
+
}
|
122
|
+
};
|
123
|
+
|
124
|
+
module.exports = ReactFragment;
|
125
|
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))
|
126
|
+
|
127
|
+
/***/ },
|
54
128
|
/* 3 */
|
55
129
|
/***/ function(module, exports) {
|
56
130
|
|
@@ -151,931 +225,884 @@
|
|
151
225
|
/* 4 */
|
152
226
|
/***/ function(module, exports, __webpack_require__) {
|
153
227
|
|
154
|
-
|
155
|
-
* Copyright
|
228
|
+
/**
|
229
|
+
* Copyright 2013-present, Facebook, Inc.
|
156
230
|
* All rights reserved.
|
157
231
|
*
|
158
232
|
* This source code is licensed under the BSD-style license found in the
|
159
233
|
* LICENSE file in the root directory of this source tree. An additional grant
|
160
234
|
* of patent rights can be found in the PATENTS file in the same directory.
|
161
235
|
*
|
162
|
-
* @providesModule
|
236
|
+
* @providesModule ReactChildren
|
163
237
|
*/
|
164
238
|
|
165
239
|
'use strict';
|
166
240
|
|
167
|
-
var
|
241
|
+
var PooledClass = __webpack_require__(5);
|
242
|
+
var ReactElement = __webpack_require__(7);
|
168
243
|
|
169
|
-
var
|
170
|
-
var
|
244
|
+
var emptyFunction = __webpack_require__(11);
|
245
|
+
var traverseAllChildren = __webpack_require__(13);
|
171
246
|
|
172
|
-
|
173
|
-
|
174
|
-
var REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol['for'] && Symbol['for']('react.element') || 0xeac7;
|
247
|
+
var twoArgumentPooler = PooledClass.twoArgumentPooler;
|
248
|
+
var fourArgumentPooler = PooledClass.fourArgumentPooler;
|
175
249
|
|
176
|
-
var
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
__source: true
|
181
|
-
};
|
250
|
+
var userProvidedKeyEscapeRegex = /\/+/g;
|
251
|
+
function escapeUserProvidedKey(text) {
|
252
|
+
return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/');
|
253
|
+
}
|
182
254
|
|
183
255
|
/**
|
184
|
-
*
|
185
|
-
*
|
256
|
+
* PooledClass representing the bookkeeping associated with performing a child
|
257
|
+
* traversal. Allows avoiding binding callbacks.
|
186
258
|
*
|
187
|
-
* @
|
188
|
-
* @param {
|
189
|
-
* @param {
|
190
|
-
* @param {*} self A *temporary* helper to detect places where `this` is
|
191
|
-
* different from the `owner` when React.createElement is called, so that we
|
192
|
-
* can warn. We want to get rid of owner and replace string `ref`s with arrow
|
193
|
-
* functions, and as long as `this` and owner are the same, there will be no
|
194
|
-
* change in behavior.
|
195
|
-
* @param {*} source An annotation object (added by a transpiler or otherwise)
|
196
|
-
* indicating filename, line number, and/or other information.
|
197
|
-
* @param {*} owner
|
198
|
-
* @param {*} props
|
199
|
-
* @internal
|
259
|
+
* @constructor ForEachBookKeeping
|
260
|
+
* @param {!function} forEachFunction Function to perform traversal with.
|
261
|
+
* @param {?*} forEachContext Context to perform context with.
|
200
262
|
*/
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
263
|
+
function ForEachBookKeeping(forEachFunction, forEachContext) {
|
264
|
+
this.func = forEachFunction;
|
265
|
+
this.context = forEachContext;
|
266
|
+
this.count = 0;
|
267
|
+
}
|
268
|
+
ForEachBookKeeping.prototype.destructor = function () {
|
269
|
+
this.func = null;
|
270
|
+
this.context = null;
|
271
|
+
this.count = 0;
|
272
|
+
};
|
273
|
+
PooledClass.addPoolingTo(ForEachBookKeeping, twoArgumentPooler);
|
211
274
|
|
212
|
-
|
213
|
-
|
214
|
-
|
275
|
+
function forEachSingleChild(bookKeeping, child, name) {
|
276
|
+
var func = bookKeeping.func;
|
277
|
+
var context = bookKeeping.context;
|
215
278
|
|
216
|
-
|
217
|
-
|
218
|
-
// an external backing store so that we can freeze the whole object.
|
219
|
-
// This can be replaced with a WeakMap once they are implemented in
|
220
|
-
// commonly used development environments.
|
221
|
-
element._store = {};
|
279
|
+
func.call(context, child, bookKeeping.count++);
|
280
|
+
}
|
222
281
|
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
configurable: false,
|
237
|
-
enumerable: false,
|
238
|
-
writable: false,
|
239
|
-
value: self
|
240
|
-
});
|
241
|
-
// Two elements created in two different places should be considered
|
242
|
-
// equal for testing purposes and therefore we hide it from enumeration.
|
243
|
-
Object.defineProperty(element, '_source', {
|
244
|
-
configurable: false,
|
245
|
-
enumerable: false,
|
246
|
-
writable: false,
|
247
|
-
value: source
|
248
|
-
});
|
249
|
-
} else {
|
250
|
-
element._store.validated = false;
|
251
|
-
element._self = self;
|
252
|
-
element._source = source;
|
253
|
-
}
|
254
|
-
Object.freeze(element.props);
|
255
|
-
Object.freeze(element);
|
282
|
+
/**
|
283
|
+
* Iterates through children that are typically specified as `props.children`.
|
284
|
+
*
|
285
|
+
* The provided forEachFunc(child, index) will be called for each
|
286
|
+
* leaf child.
|
287
|
+
*
|
288
|
+
* @param {?*} children Children tree container.
|
289
|
+
* @param {function(*, int)} forEachFunc
|
290
|
+
* @param {*} forEachContext Context for forEachContext.
|
291
|
+
*/
|
292
|
+
function forEachChildren(children, forEachFunc, forEachContext) {
|
293
|
+
if (children == null) {
|
294
|
+
return children;
|
256
295
|
}
|
296
|
+
var traverseContext = ForEachBookKeeping.getPooled(forEachFunc, forEachContext);
|
297
|
+
traverseAllChildren(children, forEachSingleChild, traverseContext);
|
298
|
+
ForEachBookKeeping.release(traverseContext);
|
299
|
+
}
|
257
300
|
|
258
|
-
|
301
|
+
/**
|
302
|
+
* PooledClass representing the bookkeeping associated with performing a child
|
303
|
+
* mapping. Allows avoiding binding callbacks.
|
304
|
+
*
|
305
|
+
* @constructor MapBookKeeping
|
306
|
+
* @param {!*} mapResult Object containing the ordered map of results.
|
307
|
+
* @param {!function} mapFunction Function to perform mapping with.
|
308
|
+
* @param {?*} mapContext Context to perform mapping with.
|
309
|
+
*/
|
310
|
+
function MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) {
|
311
|
+
this.result = mapResult;
|
312
|
+
this.keyPrefix = keyPrefix;
|
313
|
+
this.func = mapFunction;
|
314
|
+
this.context = mapContext;
|
315
|
+
this.count = 0;
|
316
|
+
}
|
317
|
+
MapBookKeeping.prototype.destructor = function () {
|
318
|
+
this.result = null;
|
319
|
+
this.keyPrefix = null;
|
320
|
+
this.func = null;
|
321
|
+
this.context = null;
|
322
|
+
this.count = 0;
|
259
323
|
};
|
324
|
+
PooledClass.addPoolingTo(MapBookKeeping, fourArgumentPooler);
|
260
325
|
|
261
|
-
|
262
|
-
var
|
263
|
-
|
264
|
-
|
265
|
-
var
|
326
|
+
function mapSingleChildIntoContext(bookKeeping, child, childKey) {
|
327
|
+
var result = bookKeeping.result;
|
328
|
+
var keyPrefix = bookKeeping.keyPrefix;
|
329
|
+
var func = bookKeeping.func;
|
330
|
+
var context = bookKeeping.context;
|
266
331
|
|
267
|
-
var key = null;
|
268
|
-
var ref = null;
|
269
|
-
var self = null;
|
270
|
-
var source = null;
|
271
332
|
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
}
|
333
|
+
var mappedChild = func.call(context, child, bookKeeping.count++);
|
334
|
+
if (Array.isArray(mappedChild)) {
|
335
|
+
mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, emptyFunction.thatReturnsArgument);
|
336
|
+
} else if (mappedChild != null) {
|
337
|
+
if (ReactElement.isValidElement(mappedChild)) {
|
338
|
+
mappedChild = ReactElement.cloneAndReplaceKey(mappedChild,
|
339
|
+
// Keep both the (mapped) and old keys if they differ, just as
|
340
|
+
// traverseAllChildren used to do for objects as children
|
341
|
+
keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey);
|
282
342
|
}
|
343
|
+
result.push(mappedChild);
|
283
344
|
}
|
345
|
+
}
|
284
346
|
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
props.children = children;
|
290
|
-
} else if (childrenLength > 1) {
|
291
|
-
var childArray = Array(childrenLength);
|
292
|
-
for (var i = 0; i < childrenLength; i++) {
|
293
|
-
childArray[i] = arguments[i + 2];
|
294
|
-
}
|
295
|
-
props.children = childArray;
|
347
|
+
function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {
|
348
|
+
var escapedPrefix = '';
|
349
|
+
if (prefix != null) {
|
350
|
+
escapedPrefix = escapeUserProvidedKey(prefix) + '/';
|
296
351
|
}
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
for (propName in defaultProps) {
|
302
|
-
if (typeof props[propName] === 'undefined') {
|
303
|
-
props[propName] = defaultProps[propName];
|
304
|
-
}
|
305
|
-
}
|
306
|
-
}
|
307
|
-
|
308
|
-
return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);
|
309
|
-
};
|
310
|
-
|
311
|
-
ReactElement.createFactory = function (type) {
|
312
|
-
var factory = ReactElement.createElement.bind(null, type);
|
313
|
-
// Expose the type on the factory and the prototype so that it can be
|
314
|
-
// easily accessed on elements. E.g. `<Foo />.type === Foo`.
|
315
|
-
// This should not be named `constructor` since this may not be the function
|
316
|
-
// that created the element, and it may not even be a constructor.
|
317
|
-
// Legacy hook TODO: Warn if this is accessed
|
318
|
-
factory.type = type;
|
319
|
-
return factory;
|
320
|
-
};
|
321
|
-
|
322
|
-
ReactElement.cloneAndReplaceKey = function (oldElement, newKey) {
|
323
|
-
var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);
|
324
|
-
|
325
|
-
return newElement;
|
326
|
-
};
|
327
|
-
|
328
|
-
ReactElement.cloneAndReplaceProps = function (oldElement, newProps) {
|
329
|
-
var newElement = ReactElement(oldElement.type, oldElement.key, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, newProps);
|
330
|
-
|
331
|
-
if (process.env.NODE_ENV !== 'production') {
|
332
|
-
// If the key on the original is valid, then the clone is valid
|
333
|
-
newElement._store.validated = oldElement._store.validated;
|
334
|
-
}
|
335
|
-
|
336
|
-
return newElement;
|
337
|
-
};
|
338
|
-
|
339
|
-
ReactElement.cloneElement = function (element, config, children) {
|
340
|
-
var propName;
|
341
|
-
|
342
|
-
// Original props are copied
|
343
|
-
var props = assign({}, element.props);
|
344
|
-
|
345
|
-
// Reserved names are extracted
|
346
|
-
var key = element.key;
|
347
|
-
var ref = element.ref;
|
348
|
-
// Self is preserved since the owner is preserved.
|
349
|
-
var self = element._self;
|
350
|
-
// Source is preserved since cloneElement is unlikely to be targeted by a
|
351
|
-
// transpiler, and the original source is probably a better indicator of the
|
352
|
-
// true owner.
|
353
|
-
var source = element._source;
|
354
|
-
|
355
|
-
// Owner will be preserved, unless ref is overridden
|
356
|
-
var owner = element._owner;
|
357
|
-
|
358
|
-
if (config != null) {
|
359
|
-
if (config.ref !== undefined) {
|
360
|
-
// Silently steal the ref from the parent.
|
361
|
-
ref = config.ref;
|
362
|
-
owner = ReactCurrentOwner.current;
|
363
|
-
}
|
364
|
-
if (config.key !== undefined) {
|
365
|
-
key = '' + config.key;
|
366
|
-
}
|
367
|
-
// Remaining properties override existing props
|
368
|
-
for (propName in config) {
|
369
|
-
if (config.hasOwnProperty(propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
|
370
|
-
props[propName] = config[propName];
|
371
|
-
}
|
372
|
-
}
|
373
|
-
}
|
374
|
-
|
375
|
-
// Children can be more than one argument, and those are transferred onto
|
376
|
-
// the newly allocated props object.
|
377
|
-
var childrenLength = arguments.length - 2;
|
378
|
-
if (childrenLength === 1) {
|
379
|
-
props.children = children;
|
380
|
-
} else if (childrenLength > 1) {
|
381
|
-
var childArray = Array(childrenLength);
|
382
|
-
for (var i = 0; i < childrenLength; i++) {
|
383
|
-
childArray[i] = arguments[i + 2];
|
384
|
-
}
|
385
|
-
props.children = childArray;
|
386
|
-
}
|
387
|
-
|
388
|
-
return ReactElement(element.type, key, ref, self, source, owner, props);
|
389
|
-
};
|
390
|
-
|
391
|
-
/**
|
392
|
-
* @param {?object} object
|
393
|
-
* @return {boolean} True if `object` is a valid component.
|
394
|
-
* @final
|
395
|
-
*/
|
396
|
-
ReactElement.isValidElement = function (object) {
|
397
|
-
return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
398
|
-
};
|
399
|
-
|
400
|
-
module.exports = ReactElement;
|
401
|
-
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))
|
402
|
-
|
403
|
-
/***/ },
|
404
|
-
/* 5 */
|
405
|
-
/***/ function(module, exports) {
|
352
|
+
var traverseContext = MapBookKeeping.getPooled(array, escapedPrefix, func, context);
|
353
|
+
traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);
|
354
|
+
MapBookKeeping.release(traverseContext);
|
355
|
+
}
|
406
356
|
|
407
357
|
/**
|
408
|
-
*
|
409
|
-
* All rights reserved.
|
358
|
+
* Maps children that are typically specified as `props.children`.
|
410
359
|
*
|
411
|
-
*
|
412
|
-
*
|
413
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
360
|
+
* The provided mapFunction(child, key, index) will be called for each
|
361
|
+
* leaf child.
|
414
362
|
*
|
415
|
-
* @
|
363
|
+
* @param {?*} children Children tree container.
|
364
|
+
* @param {function(*, int)} func The map function.
|
365
|
+
* @param {*} context Context for mapFunction.
|
366
|
+
* @return {object} Object containing the ordered map of results.
|
416
367
|
*/
|
368
|
+
function mapChildren(children, func, context) {
|
369
|
+
if (children == null) {
|
370
|
+
return children;
|
371
|
+
}
|
372
|
+
var result = [];
|
373
|
+
mapIntoWithKeyPrefixInternal(children, result, null, func, context);
|
374
|
+
return result;
|
375
|
+
}
|
417
376
|
|
418
|
-
|
377
|
+
function forEachSingleChildDummy(traverseContext, child, name) {
|
378
|
+
return null;
|
379
|
+
}
|
419
380
|
|
420
381
|
/**
|
421
|
-
*
|
382
|
+
* Count the number of children that are typically specified as
|
383
|
+
* `props.children`.
|
422
384
|
*
|
423
|
-
*
|
424
|
-
*
|
385
|
+
* @param {?*} children Children tree container.
|
386
|
+
* @return {number} The number of children.
|
425
387
|
*/
|
426
|
-
|
388
|
+
function countChildren(children, context) {
|
389
|
+
return traverseAllChildren(children, forEachSingleChildDummy, null);
|
390
|
+
}
|
427
391
|
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
392
|
+
/**
|
393
|
+
* Flatten a children object (typically specified as `props.children`) and
|
394
|
+
* return an array with appropriately re-keyed children.
|
395
|
+
*/
|
396
|
+
function toArray(children) {
|
397
|
+
var result = [];
|
398
|
+
mapIntoWithKeyPrefixInternal(children, result, null, emptyFunction.thatReturnsArgument);
|
399
|
+
return result;
|
400
|
+
}
|
433
401
|
|
402
|
+
var ReactChildren = {
|
403
|
+
forEach: forEachChildren,
|
404
|
+
map: mapChildren,
|
405
|
+
mapIntoWithKeyPrefixInternal: mapIntoWithKeyPrefixInternal,
|
406
|
+
count: countChildren,
|
407
|
+
toArray: toArray
|
434
408
|
};
|
435
409
|
|
436
|
-
module.exports =
|
410
|
+
module.exports = ReactChildren;
|
437
411
|
|
438
412
|
/***/ },
|
439
|
-
/*
|
440
|
-
/***/ function(module, exports) {
|
413
|
+
/* 5 */
|
414
|
+
/***/ function(module, exports, __webpack_require__) {
|
441
415
|
|
442
|
-
/**
|
443
|
-
* Copyright
|
416
|
+
/* WEBPACK VAR INJECTION */(function(process) {/**
|
417
|
+
* Copyright 2013-present, Facebook, Inc.
|
444
418
|
* All rights reserved.
|
445
419
|
*
|
446
420
|
* This source code is licensed under the BSD-style license found in the
|
447
421
|
* LICENSE file in the root directory of this source tree. An additional grant
|
448
422
|
* of patent rights can be found in the PATENTS file in the same directory.
|
449
423
|
*
|
450
|
-
* @providesModule
|
424
|
+
* @providesModule PooledClass
|
451
425
|
*/
|
452
426
|
|
453
|
-
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign
|
454
|
-
|
455
427
|
'use strict';
|
456
428
|
|
457
|
-
|
458
|
-
if (target == null) {
|
459
|
-
throw new TypeError('Object.assign target cannot be null or undefined');
|
460
|
-
}
|
461
|
-
|
462
|
-
var to = Object(target);
|
463
|
-
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
429
|
+
var invariant = __webpack_require__(6);
|
464
430
|
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
to[key] = from[key];
|
481
|
-
}
|
482
|
-
}
|
431
|
+
/**
|
432
|
+
* Static poolers. Several custom versions for each potential number of
|
433
|
+
* arguments. A completely generic pooler is easy to implement, but would
|
434
|
+
* require accessing the `arguments` object. In each of these, `this` refers to
|
435
|
+
* the Class itself, not an instance. If any others are needed, simply add them
|
436
|
+
* here, or in their own files.
|
437
|
+
*/
|
438
|
+
var oneArgumentPooler = function (copyFieldsFrom) {
|
439
|
+
var Klass = this;
|
440
|
+
if (Klass.instancePool.length) {
|
441
|
+
var instance = Klass.instancePool.pop();
|
442
|
+
Klass.call(instance, copyFieldsFrom);
|
443
|
+
return instance;
|
444
|
+
} else {
|
445
|
+
return new Klass(copyFieldsFrom);
|
483
446
|
}
|
447
|
+
};
|
484
448
|
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
449
|
+
var twoArgumentPooler = function (a1, a2) {
|
450
|
+
var Klass = this;
|
451
|
+
if (Klass.instancePool.length) {
|
452
|
+
var instance = Klass.instancePool.pop();
|
453
|
+
Klass.call(instance, a1, a2);
|
454
|
+
return instance;
|
455
|
+
} else {
|
456
|
+
return new Klass(a1, a2);
|
457
|
+
}
|
458
|
+
};
|
493
459
|
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
460
|
+
var threeArgumentPooler = function (a1, a2, a3) {
|
461
|
+
var Klass = this;
|
462
|
+
if (Klass.instancePool.length) {
|
463
|
+
var instance = Klass.instancePool.pop();
|
464
|
+
Klass.call(instance, a1, a2, a3);
|
465
|
+
return instance;
|
466
|
+
} else {
|
467
|
+
return new Klass(a1, a2, a3);
|
468
|
+
}
|
469
|
+
};
|
504
470
|
|
505
|
-
|
471
|
+
var fourArgumentPooler = function (a1, a2, a3, a4) {
|
472
|
+
var Klass = this;
|
473
|
+
if (Klass.instancePool.length) {
|
474
|
+
var instance = Klass.instancePool.pop();
|
475
|
+
Klass.call(instance, a1, a2, a3, a4);
|
476
|
+
return instance;
|
477
|
+
} else {
|
478
|
+
return new Klass(a1, a2, a3, a4);
|
479
|
+
}
|
480
|
+
};
|
506
481
|
|
507
|
-
var
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
482
|
+
var fiveArgumentPooler = function (a1, a2, a3, a4, a5) {
|
483
|
+
var Klass = this;
|
484
|
+
if (Klass.instancePool.length) {
|
485
|
+
var instance = Klass.instancePool.pop();
|
486
|
+
Klass.call(instance, a1, a2, a3, a4, a5);
|
487
|
+
return instance;
|
488
|
+
} else {
|
489
|
+
return new Klass(a1, a2, a3, a4, a5);
|
514
490
|
}
|
515
|
-
}
|
491
|
+
};
|
516
492
|
|
517
|
-
|
518
|
-
|
493
|
+
var standardReleaser = function (instance) {
|
494
|
+
var Klass = this;
|
495
|
+
!(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : invariant(false) : void 0;
|
496
|
+
instance.destructor();
|
497
|
+
if (Klass.instancePool.length < Klass.poolSize) {
|
498
|
+
Klass.instancePool.push(instance);
|
499
|
+
}
|
500
|
+
};
|
519
501
|
|
520
|
-
|
521
|
-
|
522
|
-
/* 9 */
|
523
|
-
/***/ function(module, exports) {
|
502
|
+
var DEFAULT_POOL_SIZE = 10;
|
503
|
+
var DEFAULT_POOLER = oneArgumentPooler;
|
524
504
|
|
525
505
|
/**
|
526
|
-
*
|
527
|
-
*
|
528
|
-
*
|
529
|
-
*
|
530
|
-
* LICENSE file in the root directory of this source tree. An additional grant
|
531
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
506
|
+
* Augments `CopyConstructor` to be a poolable class, augmenting only the class
|
507
|
+
* itself (statically) not adding any prototypical fields. Any CopyConstructor
|
508
|
+
* you give this may have a `poolSize` property, and will look for a
|
509
|
+
* prototypical `destructor` on instances (optional).
|
532
510
|
*
|
533
|
-
* @
|
534
|
-
|
535
|
-
|
536
|
-
"use strict";
|
537
|
-
|
538
|
-
function makeEmptyFunction(arg) {
|
539
|
-
return function () {
|
540
|
-
return arg;
|
541
|
-
};
|
542
|
-
}
|
543
|
-
|
544
|
-
/**
|
545
|
-
* This function accepts and discards inputs; it has no side effects. This is
|
546
|
-
* primarily useful idiomatically for overridable function endpoints which
|
547
|
-
* always need to be callable, since JS lacks a null-call idiom ala Cocoa.
|
511
|
+
* @param {Function} CopyConstructor Constructor that can be used to reset.
|
512
|
+
* @param {Function} pooler Customizable pooler.
|
548
513
|
*/
|
549
|
-
function
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
514
|
+
var addPoolingTo = function (CopyConstructor, pooler) {
|
515
|
+
var NewKlass = CopyConstructor;
|
516
|
+
NewKlass.instancePool = [];
|
517
|
+
NewKlass.getPooled = pooler || DEFAULT_POOLER;
|
518
|
+
if (!NewKlass.poolSize) {
|
519
|
+
NewKlass.poolSize = DEFAULT_POOL_SIZE;
|
520
|
+
}
|
521
|
+
NewKlass.release = standardReleaser;
|
522
|
+
return NewKlass;
|
557
523
|
};
|
558
|
-
|
559
|
-
|
524
|
+
|
525
|
+
var PooledClass = {
|
526
|
+
addPoolingTo: addPoolingTo,
|
527
|
+
oneArgumentPooler: oneArgumentPooler,
|
528
|
+
twoArgumentPooler: twoArgumentPooler,
|
529
|
+
threeArgumentPooler: threeArgumentPooler,
|
530
|
+
fourArgumentPooler: fourArgumentPooler,
|
531
|
+
fiveArgumentPooler: fiveArgumentPooler
|
560
532
|
};
|
561
533
|
|
562
|
-
module.exports =
|
534
|
+
module.exports = PooledClass;
|
535
|
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))
|
563
536
|
|
564
537
|
/***/ },
|
565
|
-
/*
|
566
|
-
/* 11 */,
|
567
|
-
/* 12 */
|
538
|
+
/* 6 */
|
568
539
|
/***/ function(module, exports, __webpack_require__) {
|
569
540
|
|
570
541
|
/* WEBPACK VAR INJECTION */(function(process) {/**
|
571
|
-
* Copyright
|
542
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
572
543
|
* All rights reserved.
|
573
544
|
*
|
574
545
|
* This source code is licensed under the BSD-style license found in the
|
575
546
|
* LICENSE file in the root directory of this source tree. An additional grant
|
576
547
|
* of patent rights can be found in the PATENTS file in the same directory.
|
577
548
|
*
|
578
|
-
* @providesModule warning
|
579
549
|
*/
|
580
550
|
|
581
551
|
'use strict';
|
582
552
|
|
583
|
-
var emptyFunction = __webpack_require__(9);
|
584
|
-
|
585
553
|
/**
|
586
|
-
*
|
587
|
-
*
|
588
|
-
*
|
589
|
-
*
|
554
|
+
* Use invariant() to assert state which your program assumes to be true.
|
555
|
+
*
|
556
|
+
* Provide sprintf-style format (only %s is supported) and arguments
|
557
|
+
* to provide information about what broke and what you were
|
558
|
+
* expecting.
|
559
|
+
*
|
560
|
+
* The invariant message will be stripped in production, but the invariant
|
561
|
+
* will remain to ensure logic does not differ in production.
|
590
562
|
*/
|
591
563
|
|
592
|
-
|
593
|
-
|
594
|
-
if (process.env.NODE_ENV !== 'production') {
|
595
|
-
warning = function (condition, format) {
|
596
|
-
for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
597
|
-
args[_key - 2] = arguments[_key];
|
598
|
-
}
|
599
|
-
|
564
|
+
function invariant(condition, format, a, b, c, d, e, f) {
|
565
|
+
if (process.env.NODE_ENV !== 'production') {
|
600
566
|
if (format === undefined) {
|
601
|
-
throw new Error('
|
602
|
-
}
|
603
|
-
|
604
|
-
if (format.indexOf('Failed Composite propType: ') === 0) {
|
605
|
-
return; // Ignore CompositeComponent proptype check.
|
567
|
+
throw new Error('invariant requires an error message argument');
|
606
568
|
}
|
569
|
+
}
|
607
570
|
|
608
|
-
|
571
|
+
if (!condition) {
|
572
|
+
var error;
|
573
|
+
if (format === undefined) {
|
574
|
+
error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');
|
575
|
+
} else {
|
576
|
+
var args = [a, b, c, d, e, f];
|
609
577
|
var argIndex = 0;
|
610
|
-
|
578
|
+
error = new Error(format.replace(/%s/g, function () {
|
611
579
|
return args[argIndex++];
|
612
|
-
});
|
613
|
-
|
614
|
-
console.error(message);
|
615
|
-
}
|
616
|
-
try {
|
617
|
-
// --- Welcome to debugging React ---
|
618
|
-
// This error was thrown as a convenience so that you can use this stack
|
619
|
-
// to find the callsite that caused this warning to fire.
|
620
|
-
throw new Error(message);
|
621
|
-
} catch (x) {}
|
580
|
+
}));
|
581
|
+
error.name = 'Invariant Violation';
|
622
582
|
}
|
623
|
-
|
583
|
+
|
584
|
+
error.framesToPop = 1; // we don't care about invariant's own frame
|
585
|
+
throw error;
|
586
|
+
}
|
624
587
|
}
|
625
588
|
|
626
|
-
module.exports =
|
589
|
+
module.exports = invariant;
|
627
590
|
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))
|
628
591
|
|
629
592
|
/***/ },
|
630
|
-
/*
|
631
|
-
/***/ function(module, exports, __webpack_require__) {
|
632
|
-
|
633
|
-
module.exports = __webpack_require__(14).create;
|
634
|
-
|
635
|
-
/***/ },
|
636
|
-
/* 14 */
|
593
|
+
/* 7 */
|
637
594
|
/***/ function(module, exports, __webpack_require__) {
|
638
595
|
|
639
596
|
/* WEBPACK VAR INJECTION */(function(process) {/**
|
640
|
-
* Copyright
|
597
|
+
* Copyright 2014-present, Facebook, Inc.
|
641
598
|
* All rights reserved.
|
642
599
|
*
|
643
600
|
* This source code is licensed under the BSD-style license found in the
|
644
601
|
* LICENSE file in the root directory of this source tree. An additional grant
|
645
602
|
* of patent rights can be found in the PATENTS file in the same directory.
|
646
603
|
*
|
647
|
-
* @providesModule
|
604
|
+
* @providesModule ReactElement
|
648
605
|
*/
|
649
606
|
|
650
607
|
'use strict';
|
651
608
|
|
652
|
-
var
|
653
|
-
|
609
|
+
var _assign = __webpack_require__(8);
|
610
|
+
|
611
|
+
var ReactCurrentOwner = __webpack_require__(9);
|
654
612
|
|
655
|
-
var
|
656
|
-
var
|
657
|
-
|
613
|
+
var warning = __webpack_require__(10);
|
614
|
+
var canDefineProperty = __webpack_require__(12);
|
615
|
+
|
616
|
+
// The Symbol used to tag the ReactElement type. If there is no native Symbol
|
617
|
+
// nor polyfill, then a plain number is used for performance.
|
618
|
+
var REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol['for'] && Symbol['for']('react.element') || 0xeac7;
|
619
|
+
|
620
|
+
var RESERVED_PROPS = {
|
621
|
+
key: true,
|
622
|
+
ref: true,
|
623
|
+
__self: true,
|
624
|
+
__source: true
|
625
|
+
};
|
626
|
+
|
627
|
+
var specialPropKeyWarningShown, specialPropRefWarningShown;
|
658
628
|
|
659
629
|
/**
|
660
|
-
*
|
661
|
-
*
|
662
|
-
*
|
663
|
-
*
|
664
|
-
*
|
630
|
+
* Factory method to create a new React element. This no longer adheres to
|
631
|
+
* the class pattern, so do not use new to call it. Also, no instanceof check
|
632
|
+
* will work. Instead test $$typeof field against Symbol.for('react.element') to check
|
633
|
+
* if something is a React Element.
|
634
|
+
*
|
635
|
+
* @param {*} type
|
636
|
+
* @param {*} key
|
637
|
+
* @param {string|object} ref
|
638
|
+
* @param {*} self A *temporary* helper to detect places where `this` is
|
639
|
+
* different from the `owner` when React.createElement is called, so that we
|
640
|
+
* can warn. We want to get rid of owner and replace string `ref`s with arrow
|
641
|
+
* functions, and as long as `this` and owner are the same, there will be no
|
642
|
+
* change in behavior.
|
643
|
+
* @param {*} source An annotation object (added by a transpiler or otherwise)
|
644
|
+
* indicating filename, line number, and/or other information.
|
645
|
+
* @param {*} owner
|
646
|
+
* @param {*} props
|
647
|
+
* @internal
|
665
648
|
*/
|
649
|
+
var ReactElement = function (type, key, ref, self, source, owner, props) {
|
650
|
+
var element = {
|
651
|
+
// This tag allow us to uniquely identify this as a React Element
|
652
|
+
$$typeof: REACT_ELEMENT_TYPE,
|
666
653
|
|
667
|
-
|
654
|
+
// Built-in properties that belong on the element
|
655
|
+
type: type,
|
656
|
+
key: key,
|
657
|
+
ref: ref,
|
658
|
+
props: props,
|
668
659
|
|
669
|
-
|
660
|
+
// Record the component responsible for creating this element.
|
661
|
+
_owner: owner
|
662
|
+
};
|
670
663
|
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
664
|
+
if (process.env.NODE_ENV !== 'production') {
|
665
|
+
// The validation flag is currently mutative. We put it on
|
666
|
+
// an external backing store so that we can freeze the whole object.
|
667
|
+
// This can be replaced with a WeakMap once they are implemented in
|
668
|
+
// commonly used development environments.
|
669
|
+
element._store = {};
|
670
|
+
|
671
|
+
// To make comparing ReactElements easier for testing purposes, we make
|
672
|
+
// the validation flag non-enumerable (where possible, which should
|
673
|
+
// include every environment we run tests in), so the test framework
|
674
|
+
// ignores it.
|
675
|
+
if (canDefineProperty) {
|
676
|
+
Object.defineProperty(element._store, 'validated', {
|
677
|
+
configurable: false,
|
678
|
+
enumerable: false,
|
679
|
+
writable: true,
|
680
|
+
value: false
|
681
|
+
});
|
682
|
+
// self and source are DEV only properties.
|
683
|
+
Object.defineProperty(element, '_self', {
|
684
|
+
configurable: false,
|
685
|
+
enumerable: false,
|
686
|
+
writable: false,
|
687
|
+
value: self
|
688
|
+
});
|
689
|
+
// Two elements created in two different places should be considered
|
690
|
+
// equal for testing purposes and therefore we hide it from enumeration.
|
691
|
+
Object.defineProperty(element, '_source', {
|
692
|
+
configurable: false,
|
693
|
+
enumerable: false,
|
694
|
+
writable: false,
|
695
|
+
value: source
|
696
|
+
});
|
697
|
+
} else {
|
698
|
+
element._store.validated = false;
|
699
|
+
element._self = self;
|
700
|
+
element._source = source;
|
678
701
|
}
|
679
|
-
if (
|
680
|
-
|
681
|
-
|
702
|
+
if (Object.freeze) {
|
703
|
+
Object.freeze(element.props);
|
704
|
+
Object.freeze(element);
|
682
705
|
}
|
706
|
+
}
|
683
707
|
|
684
|
-
|
708
|
+
return element;
|
709
|
+
};
|
685
710
|
|
686
|
-
|
711
|
+
ReactElement.createElement = function (type, config, children) {
|
712
|
+
var propName;
|
687
713
|
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
714
|
+
// Reserved names are extracted
|
715
|
+
var props = {};
|
716
|
+
|
717
|
+
var key = null;
|
718
|
+
var ref = null;
|
719
|
+
var self = null;
|
720
|
+
var source = null;
|
721
|
+
|
722
|
+
if (config != null) {
|
723
|
+
if (process.env.NODE_ENV !== 'production') {
|
724
|
+
ref = !config.hasOwnProperty('ref') || Object.getOwnPropertyDescriptor(config, 'ref').get ? null : config.ref;
|
725
|
+
key = !config.hasOwnProperty('key') || Object.getOwnPropertyDescriptor(config, 'key').get ? null : '' + config.key;
|
726
|
+
} else {
|
727
|
+
ref = config.ref === undefined ? null : config.ref;
|
728
|
+
key = config.key === undefined ? null : '' + config.key;
|
729
|
+
}
|
730
|
+
self = config.__self === undefined ? null : config.__self;
|
731
|
+
source = config.__source === undefined ? null : config.__source;
|
732
|
+
// Remaining properties are added to a new props object
|
733
|
+
for (propName in config) {
|
734
|
+
if (config.hasOwnProperty(propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
|
735
|
+
props[propName] = config[propName];
|
694
736
|
}
|
695
|
-
ReactChildren.mapIntoWithKeyPrefixInternal(object[key], result, key, emptyFunction.thatReturnsArgument);
|
696
737
|
}
|
738
|
+
}
|
697
739
|
|
698
|
-
|
740
|
+
// Children can be more than one argument, and those are transferred onto
|
741
|
+
// the newly allocated props object.
|
742
|
+
var childrenLength = arguments.length - 2;
|
743
|
+
if (childrenLength === 1) {
|
744
|
+
props.children = children;
|
745
|
+
} else if (childrenLength > 1) {
|
746
|
+
var childArray = Array(childrenLength);
|
747
|
+
for (var i = 0; i < childrenLength; i++) {
|
748
|
+
childArray[i] = arguments[i + 2];
|
749
|
+
}
|
750
|
+
props.children = childArray;
|
751
|
+
}
|
752
|
+
|
753
|
+
// Resolve default props
|
754
|
+
if (type && type.defaultProps) {
|
755
|
+
var defaultProps = type.defaultProps;
|
756
|
+
for (propName in defaultProps) {
|
757
|
+
if (props[propName] === undefined) {
|
758
|
+
props[propName] = defaultProps[propName];
|
759
|
+
}
|
760
|
+
}
|
761
|
+
}
|
762
|
+
if (process.env.NODE_ENV !== 'production') {
|
763
|
+
// Create dummy `key` and `ref` property to `props` to warn users
|
764
|
+
// against its use
|
765
|
+
if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) {
|
766
|
+
if (!props.hasOwnProperty('key')) {
|
767
|
+
Object.defineProperty(props, 'key', {
|
768
|
+
get: function () {
|
769
|
+
if (!specialPropKeyWarningShown) {
|
770
|
+
specialPropKeyWarningShown = true;
|
771
|
+
process.env.NODE_ENV !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', typeof type === 'function' && 'displayName' in type ? type.displayName : 'Element') : void 0;
|
772
|
+
}
|
773
|
+
return undefined;
|
774
|
+
},
|
775
|
+
configurable: true
|
776
|
+
});
|
777
|
+
}
|
778
|
+
if (!props.hasOwnProperty('ref')) {
|
779
|
+
Object.defineProperty(props, 'ref', {
|
780
|
+
get: function () {
|
781
|
+
if (!specialPropRefWarningShown) {
|
782
|
+
specialPropRefWarningShown = true;
|
783
|
+
process.env.NODE_ENV !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', typeof type === 'function' && 'displayName' in type ? type.displayName : 'Element') : void 0;
|
784
|
+
}
|
785
|
+
return undefined;
|
786
|
+
},
|
787
|
+
configurable: true
|
788
|
+
});
|
789
|
+
}
|
790
|
+
}
|
699
791
|
}
|
792
|
+
return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);
|
700
793
|
};
|
701
794
|
|
702
|
-
|
703
|
-
|
795
|
+
ReactElement.createFactory = function (type) {
|
796
|
+
var factory = ReactElement.createElement.bind(null, type);
|
797
|
+
// Expose the type on the factory and the prototype so that it can be
|
798
|
+
// easily accessed on elements. E.g. `<Foo />.type === Foo`.
|
799
|
+
// This should not be named `constructor` since this may not be the function
|
800
|
+
// that created the element, and it may not even be a constructor.
|
801
|
+
// Legacy hook TODO: Warn if this is accessed
|
802
|
+
factory.type = type;
|
803
|
+
return factory;
|
804
|
+
};
|
704
805
|
|
705
|
-
|
706
|
-
|
707
|
-
/***/ function(module, exports, __webpack_require__) {
|
806
|
+
ReactElement.cloneAndReplaceKey = function (oldElement, newKey) {
|
807
|
+
var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);
|
708
808
|
|
709
|
-
|
710
|
-
|
711
|
-
* All rights reserved.
|
712
|
-
*
|
713
|
-
* This source code is licensed under the BSD-style license found in the
|
714
|
-
* LICENSE file in the root directory of this source tree. An additional grant
|
715
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
716
|
-
*
|
717
|
-
* @providesModule ReactChildren
|
718
|
-
*/
|
809
|
+
return newElement;
|
810
|
+
};
|
719
811
|
|
720
|
-
|
812
|
+
ReactElement.cloneElement = function (element, config, children) {
|
813
|
+
var propName;
|
721
814
|
|
722
|
-
|
723
|
-
|
815
|
+
// Original props are copied
|
816
|
+
var props = _assign({}, element.props);
|
724
817
|
|
725
|
-
|
726
|
-
|
818
|
+
// Reserved names are extracted
|
819
|
+
var key = element.key;
|
820
|
+
var ref = element.ref;
|
821
|
+
// Self is preserved since the owner is preserved.
|
822
|
+
var self = element._self;
|
823
|
+
// Source is preserved since cloneElement is unlikely to be targeted by a
|
824
|
+
// transpiler, and the original source is probably a better indicator of the
|
825
|
+
// true owner.
|
826
|
+
var source = element._source;
|
727
827
|
|
728
|
-
|
729
|
-
|
828
|
+
// Owner will be preserved, unless ref is overridden
|
829
|
+
var owner = element._owner;
|
730
830
|
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
|
831
|
+
if (config != null) {
|
832
|
+
if (config.ref !== undefined) {
|
833
|
+
// Silently steal the ref from the parent.
|
834
|
+
ref = config.ref;
|
835
|
+
owner = ReactCurrentOwner.current;
|
836
|
+
}
|
837
|
+
if (config.key !== undefined) {
|
838
|
+
key = '' + config.key;
|
839
|
+
}
|
840
|
+
// Remaining properties override existing props
|
841
|
+
var defaultProps;
|
842
|
+
if (element.type && element.type.defaultProps) {
|
843
|
+
defaultProps = element.type.defaultProps;
|
844
|
+
}
|
845
|
+
for (propName in config) {
|
846
|
+
if (config.hasOwnProperty(propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
|
847
|
+
if (config[propName] === undefined && defaultProps !== undefined) {
|
848
|
+
// Resolve default props
|
849
|
+
props[propName] = defaultProps[propName];
|
850
|
+
} else {
|
851
|
+
props[propName] = config[propName];
|
852
|
+
}
|
853
|
+
}
|
854
|
+
}
|
855
|
+
}
|
856
|
+
|
857
|
+
// Children can be more than one argument, and those are transferred onto
|
858
|
+
// the newly allocated props object.
|
859
|
+
var childrenLength = arguments.length - 2;
|
860
|
+
if (childrenLength === 1) {
|
861
|
+
props.children = children;
|
862
|
+
} else if (childrenLength > 1) {
|
863
|
+
var childArray = Array(childrenLength);
|
864
|
+
for (var i = 0; i < childrenLength; i++) {
|
865
|
+
childArray[i] = arguments[i + 2];
|
866
|
+
}
|
867
|
+
props.children = childArray;
|
868
|
+
}
|
869
|
+
|
870
|
+
return ReactElement(element.type, key, ref, self, source, owner, props);
|
871
|
+
};
|
735
872
|
|
736
873
|
/**
|
737
|
-
*
|
738
|
-
*
|
739
|
-
*
|
740
|
-
* @constructor ForEachBookKeeping
|
741
|
-
* @param {!function} forEachFunction Function to perform traversal with.
|
742
|
-
* @param {?*} forEachContext Context to perform context with.
|
874
|
+
* @param {?object} object
|
875
|
+
* @return {boolean} True if `object` is a valid component.
|
876
|
+
* @final
|
743
877
|
*/
|
744
|
-
function
|
745
|
-
|
746
|
-
this.context = forEachContext;
|
747
|
-
this.count = 0;
|
748
|
-
}
|
749
|
-
ForEachBookKeeping.prototype.destructor = function () {
|
750
|
-
this.func = null;
|
751
|
-
this.context = null;
|
752
|
-
this.count = 0;
|
878
|
+
ReactElement.isValidElement = function (object) {
|
879
|
+
return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
753
880
|
};
|
754
|
-
PooledClass.addPoolingTo(ForEachBookKeeping, twoArgumentPooler);
|
755
881
|
|
756
|
-
|
757
|
-
|
758
|
-
var context = bookKeeping.context;
|
882
|
+
module.exports = ReactElement;
|
883
|
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))
|
759
884
|
|
760
|
-
|
761
|
-
|
885
|
+
/***/ },
|
886
|
+
/* 8 */
|
887
|
+
/***/ function(module, exports) {
|
762
888
|
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
* leaf child.
|
768
|
-
*
|
769
|
-
* @param {?*} children Children tree container.
|
770
|
-
* @param {function(*, int)} forEachFunc
|
771
|
-
* @param {*} forEachContext Context for forEachContext.
|
772
|
-
*/
|
773
|
-
function forEachChildren(children, forEachFunc, forEachContext) {
|
774
|
-
if (children == null) {
|
775
|
-
return children;
|
776
|
-
}
|
777
|
-
var traverseContext = ForEachBookKeeping.getPooled(forEachFunc, forEachContext);
|
778
|
-
traverseAllChildren(children, forEachSingleChild, traverseContext);
|
779
|
-
ForEachBookKeeping.release(traverseContext);
|
780
|
-
}
|
889
|
+
/* eslint-disable no-unused-vars */
|
890
|
+
'use strict';
|
891
|
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
892
|
+
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
|
781
893
|
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
* @param {!function} mapFunction Function to perform mapping with.
|
789
|
-
* @param {?*} mapContext Context to perform mapping with.
|
790
|
-
*/
|
791
|
-
function MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) {
|
792
|
-
this.result = mapResult;
|
793
|
-
this.keyPrefix = keyPrefix;
|
794
|
-
this.func = mapFunction;
|
795
|
-
this.context = mapContext;
|
796
|
-
this.count = 0;
|
894
|
+
function toObject(val) {
|
895
|
+
if (val === null || val === undefined) {
|
896
|
+
throw new TypeError('Object.assign cannot be called with null or undefined');
|
897
|
+
}
|
898
|
+
|
899
|
+
return Object(val);
|
797
900
|
}
|
798
|
-
MapBookKeeping.prototype.destructor = function () {
|
799
|
-
this.result = null;
|
800
|
-
this.keyPrefix = null;
|
801
|
-
this.func = null;
|
802
|
-
this.context = null;
|
803
|
-
this.count = 0;
|
804
|
-
};
|
805
|
-
PooledClass.addPoolingTo(MapBookKeeping, fourArgumentPooler);
|
806
901
|
|
807
|
-
function
|
808
|
-
|
809
|
-
|
810
|
-
|
811
|
-
|
902
|
+
module.exports = Object.assign || function (target, source) {
|
903
|
+
var from;
|
904
|
+
var to = toObject(target);
|
905
|
+
var symbols;
|
906
|
+
|
907
|
+
for (var s = 1; s < arguments.length; s++) {
|
908
|
+
from = Object(arguments[s]);
|
909
|
+
|
910
|
+
for (var key in from) {
|
911
|
+
if (hasOwnProperty.call(from, key)) {
|
912
|
+
to[key] = from[key];
|
913
|
+
}
|
914
|
+
}
|
915
|
+
|
916
|
+
if (Object.getOwnPropertySymbols) {
|
917
|
+
symbols = Object.getOwnPropertySymbols(from);
|
918
|
+
for (var i = 0; i < symbols.length; i++) {
|
919
|
+
if (propIsEnumerable.call(from, symbols[i])) {
|
920
|
+
to[symbols[i]] = from[symbols[i]];
|
921
|
+
}
|
922
|
+
}
|
923
|
+
}
|
924
|
+
}
|
925
|
+
|
926
|
+
return to;
|
927
|
+
};
|
812
928
|
|
813
|
-
var mappedChild = func.call(context, child, bookKeeping.count++);
|
814
|
-
if (Array.isArray(mappedChild)) {
|
815
|
-
mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, emptyFunction.thatReturnsArgument);
|
816
|
-
} else if (mappedChild != null) {
|
817
|
-
if (ReactElement.isValidElement(mappedChild)) {
|
818
|
-
mappedChild = ReactElement.cloneAndReplaceKey(mappedChild,
|
819
|
-
// Keep both the (mapped) and old keys if they differ, just as
|
820
|
-
// traverseAllChildren used to do for objects as children
|
821
|
-
keyPrefix + (mappedChild !== child ? escapeUserProvidedKey(mappedChild.key || '') + '/' : '') + childKey);
|
822
|
-
}
|
823
|
-
result.push(mappedChild);
|
824
|
-
}
|
825
|
-
}
|
826
929
|
|
827
|
-
|
828
|
-
|
829
|
-
|
830
|
-
escapedPrefix = escapeUserProvidedKey(prefix) + '/';
|
831
|
-
}
|
832
|
-
var traverseContext = MapBookKeeping.getPooled(array, escapedPrefix, func, context);
|
833
|
-
traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);
|
834
|
-
MapBookKeeping.release(traverseContext);
|
835
|
-
}
|
930
|
+
/***/ },
|
931
|
+
/* 9 */
|
932
|
+
/***/ function(module, exports) {
|
836
933
|
|
837
934
|
/**
|
838
|
-
*
|
935
|
+
* Copyright 2013-present, Facebook, Inc.
|
936
|
+
* All rights reserved.
|
839
937
|
*
|
840
|
-
*
|
841
|
-
*
|
938
|
+
* This source code is licensed under the BSD-style license found in the
|
939
|
+
* LICENSE file in the root directory of this source tree. An additional grant
|
940
|
+
* of patent rights can be found in the PATENTS file in the same directory.
|
842
941
|
*
|
843
|
-
* @
|
844
|
-
* @param {function(*, int)} func The map function.
|
845
|
-
* @param {*} context Context for mapFunction.
|
846
|
-
* @return {object} Object containing the ordered map of results.
|
942
|
+
* @providesModule ReactCurrentOwner
|
847
943
|
*/
|
848
|
-
function mapChildren(children, func, context) {
|
849
|
-
if (children == null) {
|
850
|
-
return children;
|
851
|
-
}
|
852
|
-
var result = [];
|
853
|
-
mapIntoWithKeyPrefixInternal(children, result, null, func, context);
|
854
|
-
return result;
|
855
|
-
}
|
856
944
|
|
857
|
-
|
858
|
-
return null;
|
859
|
-
}
|
945
|
+
'use strict';
|
860
946
|
|
861
947
|
/**
|
862
|
-
*
|
863
|
-
* `props.children`.
|
948
|
+
* Keeps track of the current owner.
|
864
949
|
*
|
865
|
-
*
|
866
|
-
*
|
950
|
+
* The current owner is the component who should own any components that are
|
951
|
+
* currently being constructed.
|
867
952
|
*/
|
868
|
-
function countChildren(children, context) {
|
869
|
-
return traverseAllChildren(children, forEachSingleChildDummy, null);
|
870
|
-
}
|
871
953
|
|
872
|
-
|
873
|
-
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
878
|
-
|
879
|
-
return result;
|
880
|
-
}
|
954
|
+
var ReactCurrentOwner = {
|
955
|
+
|
956
|
+
/**
|
957
|
+
* @internal
|
958
|
+
* @type {ReactComponent}
|
959
|
+
*/
|
960
|
+
current: null
|
881
961
|
|
882
|
-
var ReactChildren = {
|
883
|
-
forEach: forEachChildren,
|
884
|
-
map: mapChildren,
|
885
|
-
mapIntoWithKeyPrefixInternal: mapIntoWithKeyPrefixInternal,
|
886
|
-
count: countChildren,
|
887
|
-
toArray: toArray
|
888
962
|
};
|
889
963
|
|
890
|
-
module.exports =
|
964
|
+
module.exports = ReactCurrentOwner;
|
891
965
|
|
892
966
|
/***/ },
|
893
|
-
/*
|
967
|
+
/* 10 */
|
894
968
|
/***/ function(module, exports, __webpack_require__) {
|
895
969
|
|
896
970
|
/* WEBPACK VAR INJECTION */(function(process) {/**
|
897
|
-
* Copyright
|
971
|
+
* Copyright 2014-2015, Facebook, Inc.
|
898
972
|
* All rights reserved.
|
899
973
|
*
|
900
974
|
* This source code is licensed under the BSD-style license found in the
|
901
975
|
* LICENSE file in the root directory of this source tree. An additional grant
|
902
976
|
* of patent rights can be found in the PATENTS file in the same directory.
|
903
977
|
*
|
904
|
-
* @providesModule PooledClass
|
905
978
|
*/
|
906
979
|
|
907
980
|
'use strict';
|
908
981
|
|
909
|
-
var
|
982
|
+
var emptyFunction = __webpack_require__(11);
|
910
983
|
|
911
984
|
/**
|
912
|
-
*
|
913
|
-
*
|
914
|
-
*
|
915
|
-
*
|
916
|
-
* here, or in their own files.
|
985
|
+
* Similar to invariant but only logs a warning if the condition is not met.
|
986
|
+
* This can be used to log issues in development environments in critical
|
987
|
+
* paths. Removing the logging code for production environments will keep the
|
988
|
+
* same logic and follow the same code paths.
|
917
989
|
*/
|
918
|
-
var oneArgumentPooler = function (copyFieldsFrom) {
|
919
|
-
var Klass = this;
|
920
|
-
if (Klass.instancePool.length) {
|
921
|
-
var instance = Klass.instancePool.pop();
|
922
|
-
Klass.call(instance, copyFieldsFrom);
|
923
|
-
return instance;
|
924
|
-
} else {
|
925
|
-
return new Klass(copyFieldsFrom);
|
926
|
-
}
|
927
|
-
};
|
928
990
|
|
929
|
-
var
|
930
|
-
var Klass = this;
|
931
|
-
if (Klass.instancePool.length) {
|
932
|
-
var instance = Klass.instancePool.pop();
|
933
|
-
Klass.call(instance, a1, a2);
|
934
|
-
return instance;
|
935
|
-
} else {
|
936
|
-
return new Klass(a1, a2);
|
937
|
-
}
|
938
|
-
};
|
991
|
+
var warning = emptyFunction;
|
939
992
|
|
940
|
-
|
941
|
-
|
942
|
-
|
943
|
-
|
944
|
-
|
945
|
-
return instance;
|
946
|
-
} else {
|
947
|
-
return new Klass(a1, a2, a3);
|
948
|
-
}
|
949
|
-
};
|
993
|
+
if (process.env.NODE_ENV !== 'production') {
|
994
|
+
warning = function (condition, format) {
|
995
|
+
for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
996
|
+
args[_key - 2] = arguments[_key];
|
997
|
+
}
|
950
998
|
|
951
|
-
|
952
|
-
|
953
|
-
|
954
|
-
var instance = Klass.instancePool.pop();
|
955
|
-
Klass.call(instance, a1, a2, a3, a4);
|
956
|
-
return instance;
|
957
|
-
} else {
|
958
|
-
return new Klass(a1, a2, a3, a4);
|
959
|
-
}
|
960
|
-
};
|
999
|
+
if (format === undefined) {
|
1000
|
+
throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
|
1001
|
+
}
|
961
1002
|
|
962
|
-
|
963
|
-
|
964
|
-
|
965
|
-
|
966
|
-
|
967
|
-
|
968
|
-
|
969
|
-
|
970
|
-
|
971
|
-
|
1003
|
+
if (format.indexOf('Failed Composite propType: ') === 0) {
|
1004
|
+
return; // Ignore CompositeComponent proptype check.
|
1005
|
+
}
|
1006
|
+
|
1007
|
+
if (!condition) {
|
1008
|
+
var argIndex = 0;
|
1009
|
+
var message = 'Warning: ' + format.replace(/%s/g, function () {
|
1010
|
+
return args[argIndex++];
|
1011
|
+
});
|
1012
|
+
if (typeof console !== 'undefined') {
|
1013
|
+
console.error(message);
|
1014
|
+
}
|
1015
|
+
try {
|
1016
|
+
// --- Welcome to debugging React ---
|
1017
|
+
// This error was thrown as a convenience so that you can use this stack
|
1018
|
+
// to find the callsite that caused this warning to fire.
|
1019
|
+
throw new Error(message);
|
1020
|
+
} catch (x) {}
|
1021
|
+
}
|
1022
|
+
};
|
1023
|
+
}
|
1024
|
+
|
1025
|
+
module.exports = warning;
|
1026
|
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))
|
972
1027
|
|
973
|
-
|
974
|
-
|
975
|
-
|
976
|
-
instance.destructor();
|
977
|
-
if (Klass.instancePool.length < Klass.poolSize) {
|
978
|
-
Klass.instancePool.push(instance);
|
979
|
-
}
|
980
|
-
};
|
1028
|
+
/***/ },
|
1029
|
+
/* 11 */
|
1030
|
+
/***/ function(module, exports) {
|
981
1031
|
|
982
|
-
|
983
|
-
var DEFAULT_POOLER = oneArgumentPooler;
|
1032
|
+
"use strict";
|
984
1033
|
|
985
1034
|
/**
|
986
|
-
*
|
987
|
-
*
|
988
|
-
*
|
989
|
-
*
|
1035
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
1036
|
+
* All rights reserved.
|
1037
|
+
*
|
1038
|
+
* This source code is licensed under the BSD-style license found in the
|
1039
|
+
* LICENSE file in the root directory of this source tree. An additional grant
|
1040
|
+
* of patent rights can be found in the PATENTS file in the same directory.
|
990
1041
|
*
|
991
|
-
* @param {Function} CopyConstructor Constructor that can be used to reset.
|
992
|
-
* @param {Function} pooler Customizable pooler.
|
993
1042
|
*/
|
994
|
-
var addPoolingTo = function (CopyConstructor, pooler) {
|
995
|
-
var NewKlass = CopyConstructor;
|
996
|
-
NewKlass.instancePool = [];
|
997
|
-
NewKlass.getPooled = pooler || DEFAULT_POOLER;
|
998
|
-
if (!NewKlass.poolSize) {
|
999
|
-
NewKlass.poolSize = DEFAULT_POOL_SIZE;
|
1000
|
-
}
|
1001
|
-
NewKlass.release = standardReleaser;
|
1002
|
-
return NewKlass;
|
1003
|
-
};
|
1004
1043
|
|
1005
|
-
|
1006
|
-
|
1007
|
-
|
1008
|
-
|
1009
|
-
|
1010
|
-
|
1011
|
-
|
1044
|
+
function makeEmptyFunction(arg) {
|
1045
|
+
return function () {
|
1046
|
+
return arg;
|
1047
|
+
};
|
1048
|
+
}
|
1049
|
+
|
1050
|
+
/**
|
1051
|
+
* This function accepts and discards inputs; it has no side effects. This is
|
1052
|
+
* primarily useful idiomatically for overridable function endpoints which
|
1053
|
+
* always need to be callable, since JS lacks a null-call idiom ala Cocoa.
|
1054
|
+
*/
|
1055
|
+
function emptyFunction() {}
|
1056
|
+
|
1057
|
+
emptyFunction.thatReturns = makeEmptyFunction;
|
1058
|
+
emptyFunction.thatReturnsFalse = makeEmptyFunction(false);
|
1059
|
+
emptyFunction.thatReturnsTrue = makeEmptyFunction(true);
|
1060
|
+
emptyFunction.thatReturnsNull = makeEmptyFunction(null);
|
1061
|
+
emptyFunction.thatReturnsThis = function () {
|
1062
|
+
return this;
|
1063
|
+
};
|
1064
|
+
emptyFunction.thatReturnsArgument = function (arg) {
|
1065
|
+
return arg;
|
1012
1066
|
};
|
1013
1067
|
|
1014
|
-
module.exports =
|
1015
|
-
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))
|
1068
|
+
module.exports = emptyFunction;
|
1016
1069
|
|
1017
1070
|
/***/ },
|
1018
|
-
/*
|
1071
|
+
/* 12 */
|
1019
1072
|
/***/ function(module, exports, __webpack_require__) {
|
1020
1073
|
|
1021
1074
|
/* WEBPACK VAR INJECTION */(function(process) {/**
|
1022
|
-
* Copyright 2013-
|
1075
|
+
* Copyright 2013-present, Facebook, Inc.
|
1023
1076
|
* All rights reserved.
|
1024
1077
|
*
|
1025
1078
|
* This source code is licensed under the BSD-style license found in the
|
1026
1079
|
* LICENSE file in the root directory of this source tree. An additional grant
|
1027
1080
|
* of patent rights can be found in the PATENTS file in the same directory.
|
1028
1081
|
*
|
1029
|
-
* @providesModule
|
1082
|
+
* @providesModule canDefineProperty
|
1030
1083
|
*/
|
1031
1084
|
|
1032
1085
|
'use strict';
|
1033
1086
|
|
1034
|
-
|
1035
|
-
|
1036
|
-
|
1037
|
-
|
1038
|
-
|
1039
|
-
|
1040
|
-
|
1041
|
-
* The invariant message will be stripped in production, but the invariant
|
1042
|
-
* will remain to ensure logic does not differ in production.
|
1043
|
-
*/
|
1044
|
-
|
1045
|
-
function invariant(condition, format, a, b, c, d, e, f) {
|
1046
|
-
if (process.env.NODE_ENV !== 'production') {
|
1047
|
-
if (format === undefined) {
|
1048
|
-
throw new Error('invariant requires an error message argument');
|
1049
|
-
}
|
1050
|
-
}
|
1051
|
-
|
1052
|
-
if (!condition) {
|
1053
|
-
var error;
|
1054
|
-
if (format === undefined) {
|
1055
|
-
error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');
|
1056
|
-
} else {
|
1057
|
-
var args = [a, b, c, d, e, f];
|
1058
|
-
var argIndex = 0;
|
1059
|
-
error = new Error(format.replace(/%s/g, function () {
|
1060
|
-
return args[argIndex++];
|
1061
|
-
}));
|
1062
|
-
error.name = 'Invariant Violation';
|
1063
|
-
}
|
1064
|
-
|
1065
|
-
error.framesToPop = 1; // we don't care about invariant's own frame
|
1066
|
-
throw error;
|
1087
|
+
var canDefineProperty = false;
|
1088
|
+
if (process.env.NODE_ENV !== 'production') {
|
1089
|
+
try {
|
1090
|
+
Object.defineProperty({}, 'x', { get: function () {} });
|
1091
|
+
canDefineProperty = true;
|
1092
|
+
} catch (x) {
|
1093
|
+
// IE will fail on defineProperty
|
1067
1094
|
}
|
1068
1095
|
}
|
1069
1096
|
|
1070
|
-
module.exports =
|
1097
|
+
module.exports = canDefineProperty;
|
1071
1098
|
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))
|
1072
1099
|
|
1073
1100
|
/***/ },
|
1074
|
-
/*
|
1101
|
+
/* 13 */
|
1075
1102
|
/***/ function(module, exports, __webpack_require__) {
|
1076
1103
|
|
1077
1104
|
/* WEBPACK VAR INJECTION */(function(process) {/**
|
1078
|
-
* Copyright 2013-
|
1105
|
+
* Copyright 2013-present, Facebook, Inc.
|
1079
1106
|
* All rights reserved.
|
1080
1107
|
*
|
1081
1108
|
* This source code is licensed under the BSD-style license found in the
|
@@ -1087,15 +1114,14 @@
|
|
1087
1114
|
|
1088
1115
|
'use strict';
|
1089
1116
|
|
1090
|
-
var ReactCurrentOwner = __webpack_require__(
|
1091
|
-
var ReactElement = __webpack_require__(
|
1092
|
-
var ReactInstanceHandles = __webpack_require__(19);
|
1117
|
+
var ReactCurrentOwner = __webpack_require__(9);
|
1118
|
+
var ReactElement = __webpack_require__(7);
|
1093
1119
|
|
1094
|
-
var getIteratorFn = __webpack_require__(
|
1095
|
-
var invariant = __webpack_require__(
|
1096
|
-
var warning = __webpack_require__(
|
1120
|
+
var getIteratorFn = __webpack_require__(14);
|
1121
|
+
var invariant = __webpack_require__(6);
|
1122
|
+
var warning = __webpack_require__(10);
|
1097
1123
|
|
1098
|
-
var SEPARATOR =
|
1124
|
+
var SEPARATOR = '.';
|
1099
1125
|
var SUBSEPARATOR = ':';
|
1100
1126
|
|
1101
1127
|
/**
|
@@ -1105,11 +1131,10 @@
|
|
1105
1131
|
|
1106
1132
|
var userProvidedKeyEscaperLookup = {
|
1107
1133
|
'=': '=0',
|
1108
|
-
'.': '=1',
|
1109
1134
|
':': '=2'
|
1110
1135
|
};
|
1111
1136
|
|
1112
|
-
var userProvidedKeyEscapeRegex = /[
|
1137
|
+
var userProvidedKeyEscapeRegex = /[=:]/g;
|
1113
1138
|
|
1114
1139
|
var didWarnAboutMaps = false;
|
1115
1140
|
|
@@ -1125,7 +1150,9 @@
|
|
1125
1150
|
* @return {string}
|
1126
1151
|
*/
|
1127
1152
|
function getComponentKey(component, index) {
|
1128
|
-
|
1153
|
+
// Do some typechecking here since we call this blindly. We want to ensure
|
1154
|
+
// that we don't block potential future ES APIs.
|
1155
|
+
if (component && typeof component === 'object' && component.key != null) {
|
1129
1156
|
// Explicit key
|
1130
1157
|
return wrapUserProvidedKey(component.key);
|
1131
1158
|
}
|
@@ -1203,7 +1230,7 @@
|
|
1203
1230
|
}
|
1204
1231
|
} else {
|
1205
1232
|
if (process.env.NODE_ENV !== 'production') {
|
1206
|
-
process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.') :
|
1233
|
+
process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.') : void 0;
|
1207
1234
|
didWarnAboutMaps = true;
|
1208
1235
|
}
|
1209
1236
|
// Iterator will provide entry [k,v] tuples rather than values.
|
@@ -1231,7 +1258,7 @@
|
|
1231
1258
|
}
|
1232
1259
|
}
|
1233
1260
|
var childrenString = String(children);
|
1234
|
-
true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : invariant(false) :
|
1261
|
+
true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : invariant(false) : void 0;
|
1235
1262
|
}
|
1236
1263
|
}
|
1237
1264
|
|
@@ -1266,353 +1293,11 @@
|
|
1266
1293
|
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))
|
1267
1294
|
|
1268
1295
|
/***/ },
|
1269
|
-
/*
|
1270
|
-
/***/ function(module, exports, __webpack_require__) {
|
1271
|
-
|
1272
|
-
/* WEBPACK VAR INJECTION */(function(process) {/**
|
1273
|
-
* Copyright 2013-2015, Facebook, Inc.
|
1274
|
-
* All rights reserved.
|
1275
|
-
*
|
1276
|
-
* This source code is licensed under the BSD-style license found in the
|
1277
|
-
* LICENSE file in the root directory of this source tree. An additional grant
|
1278
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
1279
|
-
*
|
1280
|
-
* @providesModule ReactInstanceHandles
|
1281
|
-
* @typechecks static-only
|
1282
|
-
*/
|
1283
|
-
|
1284
|
-
'use strict';
|
1285
|
-
|
1286
|
-
var ReactRootIndex = __webpack_require__(20);
|
1287
|
-
|
1288
|
-
var invariant = __webpack_require__(17);
|
1289
|
-
|
1290
|
-
var SEPARATOR = '.';
|
1291
|
-
var SEPARATOR_LENGTH = SEPARATOR.length;
|
1292
|
-
|
1293
|
-
/**
|
1294
|
-
* Maximum depth of traversals before we consider the possibility of a bad ID.
|
1295
|
-
*/
|
1296
|
-
var MAX_TREE_DEPTH = 10000;
|
1297
|
-
|
1298
|
-
/**
|
1299
|
-
* Creates a DOM ID prefix to use when mounting React components.
|
1300
|
-
*
|
1301
|
-
* @param {number} index A unique integer
|
1302
|
-
* @return {string} React root ID.
|
1303
|
-
* @internal
|
1304
|
-
*/
|
1305
|
-
function getReactRootIDString(index) {
|
1306
|
-
return SEPARATOR + index.toString(36);
|
1307
|
-
}
|
1308
|
-
|
1309
|
-
/**
|
1310
|
-
* Checks if a character in the supplied ID is a separator or the end.
|
1311
|
-
*
|
1312
|
-
* @param {string} id A React DOM ID.
|
1313
|
-
* @param {number} index Index of the character to check.
|
1314
|
-
* @return {boolean} True if the character is a separator or end of the ID.
|
1315
|
-
* @private
|
1316
|
-
*/
|
1317
|
-
function isBoundary(id, index) {
|
1318
|
-
return id.charAt(index) === SEPARATOR || index === id.length;
|
1319
|
-
}
|
1320
|
-
|
1321
|
-
/**
|
1322
|
-
* Checks if the supplied string is a valid React DOM ID.
|
1323
|
-
*
|
1324
|
-
* @param {string} id A React DOM ID, maybe.
|
1325
|
-
* @return {boolean} True if the string is a valid React DOM ID.
|
1326
|
-
* @private
|
1327
|
-
*/
|
1328
|
-
function isValidID(id) {
|
1329
|
-
return id === '' || id.charAt(0) === SEPARATOR && id.charAt(id.length - 1) !== SEPARATOR;
|
1330
|
-
}
|
1331
|
-
|
1332
|
-
/**
|
1333
|
-
* Checks if the first ID is an ancestor of or equal to the second ID.
|
1334
|
-
*
|
1335
|
-
* @param {string} ancestorID
|
1336
|
-
* @param {string} descendantID
|
1337
|
-
* @return {boolean} True if `ancestorID` is an ancestor of `descendantID`.
|
1338
|
-
* @internal
|
1339
|
-
*/
|
1340
|
-
function isAncestorIDOf(ancestorID, descendantID) {
|
1341
|
-
return descendantID.indexOf(ancestorID) === 0 && isBoundary(descendantID, ancestorID.length);
|
1342
|
-
}
|
1343
|
-
|
1344
|
-
/**
|
1345
|
-
* Gets the parent ID of the supplied React DOM ID, `id`.
|
1346
|
-
*
|
1347
|
-
* @param {string} id ID of a component.
|
1348
|
-
* @return {string} ID of the parent, or an empty string.
|
1349
|
-
* @private
|
1350
|
-
*/
|
1351
|
-
function getParentID(id) {
|
1352
|
-
return id ? id.substr(0, id.lastIndexOf(SEPARATOR)) : '';
|
1353
|
-
}
|
1354
|
-
|
1355
|
-
/**
|
1356
|
-
* Gets the next DOM ID on the tree path from the supplied `ancestorID` to the
|
1357
|
-
* supplied `destinationID`. If they are equal, the ID is returned.
|
1358
|
-
*
|
1359
|
-
* @param {string} ancestorID ID of an ancestor node of `destinationID`.
|
1360
|
-
* @param {string} destinationID ID of the destination node.
|
1361
|
-
* @return {string} Next ID on the path from `ancestorID` to `destinationID`.
|
1362
|
-
* @private
|
1363
|
-
*/
|
1364
|
-
function getNextDescendantID(ancestorID, destinationID) {
|
1365
|
-
!(isValidID(ancestorID) && isValidID(destinationID)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNextDescendantID(%s, %s): Received an invalid React DOM ID.', ancestorID, destinationID) : invariant(false) : undefined;
|
1366
|
-
!isAncestorIDOf(ancestorID, destinationID) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNextDescendantID(...): React has made an invalid assumption about ' + 'the DOM hierarchy. Expected `%s` to be an ancestor of `%s`.', ancestorID, destinationID) : invariant(false) : undefined;
|
1367
|
-
if (ancestorID === destinationID) {
|
1368
|
-
return ancestorID;
|
1369
|
-
}
|
1370
|
-
// Skip over the ancestor and the immediate separator. Traverse until we hit
|
1371
|
-
// another separator or we reach the end of `destinationID`.
|
1372
|
-
var start = ancestorID.length + SEPARATOR_LENGTH;
|
1373
|
-
var i;
|
1374
|
-
for (i = start; i < destinationID.length; i++) {
|
1375
|
-
if (isBoundary(destinationID, i)) {
|
1376
|
-
break;
|
1377
|
-
}
|
1378
|
-
}
|
1379
|
-
return destinationID.substr(0, i);
|
1380
|
-
}
|
1381
|
-
|
1382
|
-
/**
|
1383
|
-
* Gets the nearest common ancestor ID of two IDs.
|
1384
|
-
*
|
1385
|
-
* Using this ID scheme, the nearest common ancestor ID is the longest common
|
1386
|
-
* prefix of the two IDs that immediately preceded a "marker" in both strings.
|
1387
|
-
*
|
1388
|
-
* @param {string} oneID
|
1389
|
-
* @param {string} twoID
|
1390
|
-
* @return {string} Nearest common ancestor ID, or the empty string if none.
|
1391
|
-
* @private
|
1392
|
-
*/
|
1393
|
-
function getFirstCommonAncestorID(oneID, twoID) {
|
1394
|
-
var minLength = Math.min(oneID.length, twoID.length);
|
1395
|
-
if (minLength === 0) {
|
1396
|
-
return '';
|
1397
|
-
}
|
1398
|
-
var lastCommonMarkerIndex = 0;
|
1399
|
-
// Use `<=` to traverse until the "EOL" of the shorter string.
|
1400
|
-
for (var i = 0; i <= minLength; i++) {
|
1401
|
-
if (isBoundary(oneID, i) && isBoundary(twoID, i)) {
|
1402
|
-
lastCommonMarkerIndex = i;
|
1403
|
-
} else if (oneID.charAt(i) !== twoID.charAt(i)) {
|
1404
|
-
break;
|
1405
|
-
}
|
1406
|
-
}
|
1407
|
-
var longestCommonID = oneID.substr(0, lastCommonMarkerIndex);
|
1408
|
-
!isValidID(longestCommonID) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getFirstCommonAncestorID(%s, %s): Expected a valid React DOM ID: %s', oneID, twoID, longestCommonID) : invariant(false) : undefined;
|
1409
|
-
return longestCommonID;
|
1410
|
-
}
|
1411
|
-
|
1412
|
-
/**
|
1413
|
-
* Traverses the parent path between two IDs (either up or down). The IDs must
|
1414
|
-
* not be the same, and there must exist a parent path between them. If the
|
1415
|
-
* callback returns `false`, traversal is stopped.
|
1416
|
-
*
|
1417
|
-
* @param {?string} start ID at which to start traversal.
|
1418
|
-
* @param {?string} stop ID at which to end traversal.
|
1419
|
-
* @param {function} cb Callback to invoke each ID with.
|
1420
|
-
* @param {*} arg Argument to invoke the callback with.
|
1421
|
-
* @param {?boolean} skipFirst Whether or not to skip the first node.
|
1422
|
-
* @param {?boolean} skipLast Whether or not to skip the last node.
|
1423
|
-
* @private
|
1424
|
-
*/
|
1425
|
-
function traverseParentPath(start, stop, cb, arg, skipFirst, skipLast) {
|
1426
|
-
start = start || '';
|
1427
|
-
stop = stop || '';
|
1428
|
-
!(start !== stop) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'traverseParentPath(...): Cannot traverse from and to the same ID, `%s`.', start) : invariant(false) : undefined;
|
1429
|
-
var traverseUp = isAncestorIDOf(stop, start);
|
1430
|
-
!(traverseUp || isAncestorIDOf(start, stop)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'traverseParentPath(%s, %s, ...): Cannot traverse from two IDs that do ' + 'not have a parent path.', start, stop) : invariant(false) : undefined;
|
1431
|
-
// Traverse from `start` to `stop` one depth at a time.
|
1432
|
-
var depth = 0;
|
1433
|
-
var traverse = traverseUp ? getParentID : getNextDescendantID;
|
1434
|
-
for (var id = start;; /* until break */id = traverse(id, stop)) {
|
1435
|
-
var ret;
|
1436
|
-
if ((!skipFirst || id !== start) && (!skipLast || id !== stop)) {
|
1437
|
-
ret = cb(id, traverseUp, arg);
|
1438
|
-
}
|
1439
|
-
if (ret === false || id === stop) {
|
1440
|
-
// Only break //after// visiting `stop`.
|
1441
|
-
break;
|
1442
|
-
}
|
1443
|
-
!(depth++ < MAX_TREE_DEPTH) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'traverseParentPath(%s, %s, ...): Detected an infinite loop while ' + 'traversing the React DOM ID tree. This may be due to malformed IDs: %s', start, stop, id) : invariant(false) : undefined;
|
1444
|
-
}
|
1445
|
-
}
|
1446
|
-
|
1447
|
-
/**
|
1448
|
-
* Manages the IDs assigned to DOM representations of React components. This
|
1449
|
-
* uses a specific scheme in order to traverse the DOM efficiently (e.g. in
|
1450
|
-
* order to simulate events).
|
1451
|
-
*
|
1452
|
-
* @internal
|
1453
|
-
*/
|
1454
|
-
var ReactInstanceHandles = {
|
1455
|
-
|
1456
|
-
/**
|
1457
|
-
* Constructs a React root ID
|
1458
|
-
* @return {string} A React root ID.
|
1459
|
-
*/
|
1460
|
-
createReactRootID: function () {
|
1461
|
-
return getReactRootIDString(ReactRootIndex.createReactRootIndex());
|
1462
|
-
},
|
1463
|
-
|
1464
|
-
/**
|
1465
|
-
* Constructs a React ID by joining a root ID with a name.
|
1466
|
-
*
|
1467
|
-
* @param {string} rootID Root ID of a parent component.
|
1468
|
-
* @param {string} name A component's name (as flattened children).
|
1469
|
-
* @return {string} A React ID.
|
1470
|
-
* @internal
|
1471
|
-
*/
|
1472
|
-
createReactID: function (rootID, name) {
|
1473
|
-
return rootID + name;
|
1474
|
-
},
|
1475
|
-
|
1476
|
-
/**
|
1477
|
-
* Gets the DOM ID of the React component that is the root of the tree that
|
1478
|
-
* contains the React component with the supplied DOM ID.
|
1479
|
-
*
|
1480
|
-
* @param {string} id DOM ID of a React component.
|
1481
|
-
* @return {?string} DOM ID of the React component that is the root.
|
1482
|
-
* @internal
|
1483
|
-
*/
|
1484
|
-
getReactRootIDFromNodeID: function (id) {
|
1485
|
-
if (id && id.charAt(0) === SEPARATOR && id.length > 1) {
|
1486
|
-
var index = id.indexOf(SEPARATOR, 1);
|
1487
|
-
return index > -1 ? id.substr(0, index) : id;
|
1488
|
-
}
|
1489
|
-
return null;
|
1490
|
-
},
|
1491
|
-
|
1492
|
-
/**
|
1493
|
-
* Traverses the ID hierarchy and invokes the supplied `cb` on any IDs that
|
1494
|
-
* should would receive a `mouseEnter` or `mouseLeave` event.
|
1495
|
-
*
|
1496
|
-
* NOTE: Does not invoke the callback on the nearest common ancestor because
|
1497
|
-
* nothing "entered" or "left" that element.
|
1498
|
-
*
|
1499
|
-
* @param {string} leaveID ID being left.
|
1500
|
-
* @param {string} enterID ID being entered.
|
1501
|
-
* @param {function} cb Callback to invoke on each entered/left ID.
|
1502
|
-
* @param {*} upArg Argument to invoke the callback with on left IDs.
|
1503
|
-
* @param {*} downArg Argument to invoke the callback with on entered IDs.
|
1504
|
-
* @internal
|
1505
|
-
*/
|
1506
|
-
traverseEnterLeave: function (leaveID, enterID, cb, upArg, downArg) {
|
1507
|
-
var ancestorID = getFirstCommonAncestorID(leaveID, enterID);
|
1508
|
-
if (ancestorID !== leaveID) {
|
1509
|
-
traverseParentPath(leaveID, ancestorID, cb, upArg, false, true);
|
1510
|
-
}
|
1511
|
-
if (ancestorID !== enterID) {
|
1512
|
-
traverseParentPath(ancestorID, enterID, cb, downArg, true, false);
|
1513
|
-
}
|
1514
|
-
},
|
1515
|
-
|
1516
|
-
/**
|
1517
|
-
* Simulates the traversal of a two-phase, capture/bubble event dispatch.
|
1518
|
-
*
|
1519
|
-
* NOTE: This traversal happens on IDs without touching the DOM.
|
1520
|
-
*
|
1521
|
-
* @param {string} targetID ID of the target node.
|
1522
|
-
* @param {function} cb Callback to invoke.
|
1523
|
-
* @param {*} arg Argument to invoke the callback with.
|
1524
|
-
* @internal
|
1525
|
-
*/
|
1526
|
-
traverseTwoPhase: function (targetID, cb, arg) {
|
1527
|
-
if (targetID) {
|
1528
|
-
traverseParentPath('', targetID, cb, arg, true, false);
|
1529
|
-
traverseParentPath(targetID, '', cb, arg, false, true);
|
1530
|
-
}
|
1531
|
-
},
|
1532
|
-
|
1533
|
-
/**
|
1534
|
-
* Same as `traverseTwoPhase` but skips the `targetID`.
|
1535
|
-
*/
|
1536
|
-
traverseTwoPhaseSkipTarget: function (targetID, cb, arg) {
|
1537
|
-
if (targetID) {
|
1538
|
-
traverseParentPath('', targetID, cb, arg, true, true);
|
1539
|
-
traverseParentPath(targetID, '', cb, arg, true, true);
|
1540
|
-
}
|
1541
|
-
},
|
1542
|
-
|
1543
|
-
/**
|
1544
|
-
* Traverse a node ID, calling the supplied `cb` for each ancestor ID. For
|
1545
|
-
* example, passing `.0.$row-0.1` would result in `cb` getting called
|
1546
|
-
* with `.0`, `.0.$row-0`, and `.0.$row-0.1`.
|
1547
|
-
*
|
1548
|
-
* NOTE: This traversal happens on IDs without touching the DOM.
|
1549
|
-
*
|
1550
|
-
* @param {string} targetID ID of the target node.
|
1551
|
-
* @param {function} cb Callback to invoke.
|
1552
|
-
* @param {*} arg Argument to invoke the callback with.
|
1553
|
-
* @internal
|
1554
|
-
*/
|
1555
|
-
traverseAncestors: function (targetID, cb, arg) {
|
1556
|
-
traverseParentPath('', targetID, cb, arg, true, false);
|
1557
|
-
},
|
1558
|
-
|
1559
|
-
getFirstCommonAncestorID: getFirstCommonAncestorID,
|
1560
|
-
|
1561
|
-
/**
|
1562
|
-
* Exposed for unit testing.
|
1563
|
-
* @private
|
1564
|
-
*/
|
1565
|
-
_getNextDescendantID: getNextDescendantID,
|
1566
|
-
|
1567
|
-
isAncestorIDOf: isAncestorIDOf,
|
1568
|
-
|
1569
|
-
SEPARATOR: SEPARATOR
|
1570
|
-
|
1571
|
-
};
|
1572
|
-
|
1573
|
-
module.exports = ReactInstanceHandles;
|
1574
|
-
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))
|
1575
|
-
|
1576
|
-
/***/ },
|
1577
|
-
/* 20 */
|
1578
|
-
/***/ function(module, exports) {
|
1579
|
-
|
1580
|
-
/**
|
1581
|
-
* Copyright 2013-2015, Facebook, Inc.
|
1582
|
-
* All rights reserved.
|
1583
|
-
*
|
1584
|
-
* This source code is licensed under the BSD-style license found in the
|
1585
|
-
* LICENSE file in the root directory of this source tree. An additional grant
|
1586
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
1587
|
-
*
|
1588
|
-
* @providesModule ReactRootIndex
|
1589
|
-
* @typechecks
|
1590
|
-
*/
|
1591
|
-
|
1592
|
-
'use strict';
|
1593
|
-
|
1594
|
-
var ReactRootIndexInjection = {
|
1595
|
-
/**
|
1596
|
-
* @param {function} _createReactRootIndex
|
1597
|
-
*/
|
1598
|
-
injectCreateReactRootIndex: function (_createReactRootIndex) {
|
1599
|
-
ReactRootIndex.createReactRootIndex = _createReactRootIndex;
|
1600
|
-
}
|
1601
|
-
};
|
1602
|
-
|
1603
|
-
var ReactRootIndex = {
|
1604
|
-
createReactRootIndex: null,
|
1605
|
-
injection: ReactRootIndexInjection
|
1606
|
-
};
|
1607
|
-
|
1608
|
-
module.exports = ReactRootIndex;
|
1609
|
-
|
1610
|
-
/***/ },
|
1611
|
-
/* 21 */
|
1296
|
+
/* 14 */
|
1612
1297
|
/***/ function(module, exports) {
|
1613
1298
|
|
1614
1299
|
/**
|
1615
|
-
* Copyright 2013-
|
1300
|
+
* Copyright 2013-present, Facebook, Inc.
|
1616
1301
|
* All rights reserved.
|
1617
1302
|
*
|
1618
1303
|
* This source code is licensed under the BSD-style license found in the
|
@@ -1620,12 +1305,12 @@
|
|
1620
1305
|
* of patent rights can be found in the PATENTS file in the same directory.
|
1621
1306
|
*
|
1622
1307
|
* @providesModule getIteratorFn
|
1623
|
-
* @typechecks static-only
|
1624
1308
|
*/
|
1625
1309
|
|
1626
1310
|
'use strict';
|
1627
1311
|
|
1628
1312
|
/* global Symbol */
|
1313
|
+
|
1629
1314
|
var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
|
1630
1315
|
var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
|
1631
1316
|
|