From 25090fb574aca1c6ece4b228c66f6ae64937b552 Mon Sep 17 00:00:00 2001 From: Jeff Friesen Date: Tue, 2 Aug 2016 14:50:48 -0600 Subject: [PATCH 1/3] Updating to React 15, removing getDOMNode() --- dist/react-select-box.js | 20809 ++++++++++++++++++++++++++++- dist/react-select-box.js.map | 2 +- dist/react-select-box.min.js | 22 +- dist/react-select-box.min.js.map | 2 +- eslint.json | 5 +- example/example.js | 3 +- example/index.html | 1 + lib/select-box.js | 4 +- package.json | 9 +- webpack.config.js | 2 +- 10 files changed, 20838 insertions(+), 21 deletions(-) diff --git a/dist/react-select-box.js b/dist/react-select-box.js index 5943e7f..fd73b35 100644 --- a/dist/react-select-box.js +++ b/dist/react-select-box.js @@ -54,12 +54,20798 @@ return /******/ (function(modules) { // webpackBootstrap /* 0 */ /***/ function(module, exports, __webpack_require__) { - (function webpackMissingModule() { throw new Error("Cannot find module \"./example/main.js\""); }()); - module.exports = __webpack_require__(1); + __webpack_require__(1); + module.exports = __webpack_require__(170); /***/ }, /* 1 */ +/***/ function(module, exports, __webpack_require__) { + + var React = __webpack_require__(2) + var ReactDOM = __webpack_require__(3) + var SelectBox = React.createFactory(__webpack_require__(170)) + + var div = React.createElement.bind(null,'div') + var option = React.createElement.bind(null,'option') + var h1 = React.createElement.bind(null,'h1') + + var Example = React.createFactory(React.createClass({displayName: 'Example', + getInitialState: function () { + return { + color: null, + colors: [] + } + }, + handleChange: function (color) { + this.setState({ color: color }) + }, + handleMultiChange: function (colors) { + this.setState({ colors: colors }) + }, + render: function () { + return( + div({className: "example"}, + h1(null, "Select Box Example"), + SelectBox( + { + label: "Favorite Color", + className: 'my-example-select-box', + onChange: this.handleChange, + value: this.state.color + }, + option({key: 'red', value: 'red'}, 'Red'), + option({value: 'green'}, 'Green'), + option({value: 'blue'}, 'Blue'), + option({value: 'black'}, 'Black'), + option({value: 'orange'}, 'Orange'), + option({value: 'greenish'}, 'Light greenish with a little bit of yellow') + ), + h1(null, "Multi Select Example"), + SelectBox( + { + label: "Favorite Colors", + onChange: this.handleMultiChange, + value: this.state.colors, + multiple: true + }, + option({value: 'red'}, 'Red'), + option({value: 'green'}, 'Green'), + option({value: 'blue'}, 'Blue'), + option({value: 'black'}, 'Black'), + option({value: 'orange'}, 'Orange'), + option({value: 'greenish'}, 'Light greenish with a little bit of yellow') + ) + ) + ) + } + })) + + ReactDOM.render(Example(null), document.querySelector('#main')) + + +/***/ }, +/* 2 */ +/***/ function(module, exports) { + + module.exports = __WEBPACK_EXTERNAL_MODULE_2__; + +/***/ }, +/* 3 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + module.exports = __webpack_require__(4); + + +/***/ }, +/* 4 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactDOM + */ + + /* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/ + + 'use strict'; + + var ReactDOMComponentTree = __webpack_require__(6); + var ReactDefaultInjection = __webpack_require__(11); + var ReactMount = __webpack_require__(161); + var ReactReconciler = __webpack_require__(37); + var ReactUpdates = __webpack_require__(34); + var ReactVersion = __webpack_require__(166); + + var findDOMNode = __webpack_require__(167); + var getHostComponentFromComposite = __webpack_require__(168); + var renderSubtreeIntoContainer = __webpack_require__(169); + var warning = __webpack_require__(20); + + ReactDefaultInjection.inject(); + + var ReactDOM = { + findDOMNode: findDOMNode, + render: ReactMount.render, + unmountComponentAtNode: ReactMount.unmountComponentAtNode, + version: ReactVersion, + + /* eslint-disable camelcase */ + unstable_batchedUpdates: ReactUpdates.batchedUpdates, + unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer + }; + + // Inject the runtime into a devtools global hook regardless of browser. + // Allows for debugging when the hook is injected on the page. + /* eslint-enable camelcase */ + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') { + __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ + ComponentTree: { + getClosestInstanceFromNode: ReactDOMComponentTree.getClosestInstanceFromNode, + getNodeFromInstance: function (inst) { + // inst is an internal instance (but could be a composite) + if (inst._renderedComponent) { + inst = getHostComponentFromComposite(inst); + } + if (inst) { + return ReactDOMComponentTree.getNodeFromInstance(inst); + } else { + return null; + } + } + }, + Mount: ReactMount, + Reconciler: ReactReconciler + }); + } + + if (process.env.NODE_ENV !== 'production') { + var ExecutionEnvironment = __webpack_require__(24); + if (ExecutionEnvironment.canUseDOM && window.top === window.self) { + + // First check if devtools is not installed + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') { + // If we're in Chrome or Firefox, provide a download link if not installed. + if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) { + // Firefox does not have the issue with devtools loaded over file:// + var showFileUrlMessage = window.location.protocol.indexOf('http') === -1 && navigator.userAgent.indexOf('Firefox') === -1; + console.debug('Download the React DevTools ' + (showFileUrlMessage ? 'and use an HTTP server (instead of a file: URL) ' : '') + 'for a better development experience: ' + 'https://fb.me/react-devtools'); + } + } + + var testFunc = function testFn() {}; + process.env.NODE_ENV !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, 'It looks like you\'re using a minified copy of the development build ' + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See https://fb.me/react-minification for more details.') : void 0; + + // If we're in IE8, check to see if we are in compatibility mode and provide + // information on preventing compatibility mode + var ieCompatibilityMode = document.documentMode && document.documentMode < 8; + + process.env.NODE_ENV !== 'production' ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '') : void 0; + + var expectedFeatures = [ + // shims + 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]; + + for (var i = 0; i < expectedFeatures.length; i++) { + if (!expectedFeatures[i]) { + process.env.NODE_ENV !== 'production' ? warning(false, 'One or more ES5 shims expected by React are not available: ' + 'https://fb.me/react-warning-polyfills') : void 0; + break; + } + } + } + } + + module.exports = ReactDOM; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 5 */ +/***/ function(module, exports) { + + // shim for using process in browser + var process = module.exports = {}; + + // cached from whatever global is present so that test runners that stub it + // don't break things. But we need to wrap it in a try catch in case it is + // wrapped in strict mode code which doesn't define any globals. It's inside a + // function because try/catches deoptimize in certain engines. + + var cachedSetTimeout; + var cachedClearTimeout; + + (function () { + try { + cachedSetTimeout = setTimeout; + } catch (e) { + cachedSetTimeout = function () { + throw new Error('setTimeout is not defined'); + } + } + try { + cachedClearTimeout = clearTimeout; + } catch (e) { + cachedClearTimeout = function () { + throw new Error('clearTimeout is not defined'); + } + } + } ()) + function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + return setTimeout(fun, 0); + } else { + return cachedSetTimeout.call(null, fun, 0); + } + } + function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + clearTimeout(marker); + } else { + cachedClearTimeout.call(null, marker); + } + } + var queue = []; + var draining = false; + var currentQueue; + var queueIndex = -1; + + function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } + } + + function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); + } + + process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } + }; + + // v8 likes predictible objects + function Item(fun, array) { + this.fun = fun; + this.array = array; + } + Item.prototype.run = function () { + this.fun.apply(null, this.array); + }; + process.title = 'browser'; + process.browser = true; + process.env = {}; + process.argv = []; + process.version = ''; // empty string to avoid regexp issues + process.versions = {}; + + function noop() {} + + process.on = noop; + process.addListener = noop; + process.once = noop; + process.off = noop; + process.removeListener = noop; + process.removeAllListeners = noop; + process.emit = noop; + + process.binding = function (name) { + throw new Error('process.binding is not supported'); + }; + + process.cwd = function () { return '/' }; + process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); + }; + process.umask = function() { return 0; }; + + +/***/ }, +/* 6 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactDOMComponentTree + */ + + 'use strict'; + + var _prodInvariant = __webpack_require__(7); + + var DOMProperty = __webpack_require__(8); + var ReactDOMComponentFlags = __webpack_require__(10); + + var invariant = __webpack_require__(9); + + var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME; + var Flags = ReactDOMComponentFlags; + + var internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2); + + /** + * Drill down (through composites and empty components) until we get a host or + * host text component. + * + * This is pretty polymorphic but unavoidable with the current structure we have + * for `_renderedChildren`. + */ + function getRenderedHostOrTextFromComponent(component) { + var rendered; + while (rendered = component._renderedComponent) { + component = rendered; + } + return component; + } + + /** + * Populate `_hostNode` on the rendered host/text component with the given + * DOM node. The passed `inst` can be a composite. + */ + function precacheNode(inst, node) { + var hostInst = getRenderedHostOrTextFromComponent(inst); + hostInst._hostNode = node; + node[internalInstanceKey] = hostInst; + } + + function uncacheNode(inst) { + var node = inst._hostNode; + if (node) { + delete node[internalInstanceKey]; + inst._hostNode = null; + } + } + + /** + * Populate `_hostNode` on each child of `inst`, assuming that the children + * match up with the DOM (element) children of `node`. + * + * We cache entire levels at once to avoid an n^2 problem where we access the + * children of a node sequentially and have to walk from the start to our target + * node every time. + * + * Since we update `_renderedChildren` and the actual DOM at (slightly) + * different times, we could race here and see a newer `_renderedChildren` than + * the DOM nodes we see. To avoid this, ReactMultiChild calls + * `prepareToManageChildren` before we change `_renderedChildren`, at which + * time the container's child nodes are always cached (until it unmounts). + */ + function precacheChildNodes(inst, node) { + if (inst._flags & Flags.hasCachedChildNodes) { + return; + } + var children = inst._renderedChildren; + var childNode = node.firstChild; + outer: for (var name in children) { + if (!children.hasOwnProperty(name)) { + continue; + } + var childInst = children[name]; + var childID = getRenderedHostOrTextFromComponent(childInst)._domID; + if (childID == null) { + // We're currently unmounting this child in ReactMultiChild; skip it. + continue; + } + // We assume the child nodes are in the same order as the child instances. + for (; childNode !== null; childNode = childNode.nextSibling) { + if (childNode.nodeType === 1 && childNode.getAttribute(ATTR_NAME) === String(childID) || childNode.nodeType === 8 && childNode.nodeValue === ' react-text: ' + childID + ' ' || childNode.nodeType === 8 && childNode.nodeValue === ' react-empty: ' + childID + ' ') { + precacheNode(childInst, childNode); + continue outer; + } + } + // We reached the end of the DOM children without finding an ID match. + true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unable to find element with ID %s.', childID) : _prodInvariant('32', childID) : void 0; + } + inst._flags |= Flags.hasCachedChildNodes; + } + + /** + * Given a DOM node, return the closest ReactDOMComponent or + * ReactDOMTextComponent instance ancestor. + */ + function getClosestInstanceFromNode(node) { + if (node[internalInstanceKey]) { + return node[internalInstanceKey]; + } + + // Walk up the tree until we find an ancestor whose instance we have cached. + var parents = []; + while (!node[internalInstanceKey]) { + parents.push(node); + if (node.parentNode) { + node = node.parentNode; + } else { + // Top of the tree. This node must not be part of a React tree (or is + // unmounted, potentially). + return null; + } + } + + var closest; + var inst; + for (; node && (inst = node[internalInstanceKey]); node = parents.pop()) { + closest = inst; + if (parents.length) { + precacheChildNodes(inst, node); + } + } + + return closest; + } + + /** + * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent + * instance, or null if the node was not rendered by this React. + */ + function getInstanceFromNode(node) { + var inst = getClosestInstanceFromNode(node); + if (inst != null && inst._hostNode === node) { + return inst; + } else { + return null; + } + } + + /** + * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding + * DOM node. + */ + function getNodeFromInstance(inst) { + // Without this first invariant, passing a non-DOM-component triggers the next + // invariant for a missing parent, which is super confusing. + !(inst._hostNode !== undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0; + + if (inst._hostNode) { + return inst._hostNode; + } + + // Walk up the tree until we find an ancestor whose DOM node we have cached. + var parents = []; + while (!inst._hostNode) { + parents.push(inst); + !inst._hostParent ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React DOM tree root should always have a node reference.') : _prodInvariant('34') : void 0; + inst = inst._hostParent; + } + + // Now parents contains each ancestor that does *not* have a cached native + // node, and `inst` is the deepest ancestor that does. + for (; parents.length; inst = parents.pop()) { + precacheChildNodes(inst, inst._hostNode); + } + + return inst._hostNode; + } + + var ReactDOMComponentTree = { + getClosestInstanceFromNode: getClosestInstanceFromNode, + getInstanceFromNode: getInstanceFromNode, + getNodeFromInstance: getNodeFromInstance, + precacheChildNodes: precacheChildNodes, + precacheNode: precacheNode, + uncacheNode: uncacheNode + }; + + module.exports = ReactDOMComponentTree; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 7 */ +/***/ function(module, exports) { + + /** + * Copyright (c) 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule reactProdInvariant + * + */ + 'use strict'; + + /** + * WARNING: DO NOT manually require this module. + * This is a replacement for `invariant(...)` used by the error code system + * and will _only_ be required by the corresponding babel pass. + * It always throws. + */ + + function reactProdInvariant(code) { + var argCount = arguments.length - 1; + + var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code; + + for (var argIdx = 0; argIdx < argCount; argIdx++) { + message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]); + } + + message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.'; + + var error = new Error(message); + error.name = 'Invariant Violation'; + error.framesToPop = 1; // we don't care about reactProdInvariant's own frame + + throw error; + } + + module.exports = reactProdInvariant; + +/***/ }, +/* 8 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule DOMProperty + */ + + 'use strict'; + + var _prodInvariant = __webpack_require__(7); + + var invariant = __webpack_require__(9); + + function checkMask(value, bitmask) { + return (value & bitmask) === bitmask; + } + + var DOMPropertyInjection = { + /** + * Mapping from normalized, camelcased property names to a configuration that + * specifies how the associated DOM property should be accessed or rendered. + */ + MUST_USE_PROPERTY: 0x1, + HAS_BOOLEAN_VALUE: 0x4, + HAS_NUMERIC_VALUE: 0x8, + HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8, + HAS_OVERLOADED_BOOLEAN_VALUE: 0x20, + + /** + * Inject some specialized knowledge about the DOM. This takes a config object + * with the following properties: + * + * isCustomAttribute: function that given an attribute name will return true + * if it can be inserted into the DOM verbatim. Useful for data-* or aria-* + * attributes where it's impossible to enumerate all of the possible + * attribute names, + * + * Properties: object mapping DOM property name to one of the + * DOMPropertyInjection constants or null. If your attribute isn't in here, + * it won't get written to the DOM. + * + * DOMAttributeNames: object mapping React attribute name to the DOM + * attribute name. Attribute names not specified use the **lowercase** + * normalized name. + * + * DOMAttributeNamespaces: object mapping React attribute name to the DOM + * attribute namespace URL. (Attribute names not specified use no namespace.) + * + * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties. + * Property names not specified use the normalized name. + * + * DOMMutationMethods: Properties that require special mutation methods. If + * `value` is undefined, the mutation method should unset the property. + * + * @param {object} domPropertyConfig the config as described above. + */ + injectDOMPropertyConfig: function (domPropertyConfig) { + var Injection = DOMPropertyInjection; + var Properties = domPropertyConfig.Properties || {}; + var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {}; + var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {}; + var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {}; + var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {}; + + if (domPropertyConfig.isCustomAttribute) { + DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute); + } + + for (var propName in Properties) { + !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'injectDOMPropertyConfig(...): You\'re trying to inject DOM property \'%s\' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.', propName) : _prodInvariant('48', propName) : void 0; + + var lowerCased = propName.toLowerCase(); + var propConfig = Properties[propName]; + + var propertyInfo = { + attributeName: lowerCased, + attributeNamespace: null, + propertyName: propName, + mutationMethod: null, + + mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY), + hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE), + hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE), + hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE), + hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE) + }; + !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s', propName) : _prodInvariant('50', propName) : void 0; + + if (process.env.NODE_ENV !== 'production') { + DOMProperty.getPossibleStandardName[lowerCased] = propName; + } + + if (DOMAttributeNames.hasOwnProperty(propName)) { + var attributeName = DOMAttributeNames[propName]; + propertyInfo.attributeName = attributeName; + if (process.env.NODE_ENV !== 'production') { + DOMProperty.getPossibleStandardName[attributeName] = propName; + } + } + + if (DOMAttributeNamespaces.hasOwnProperty(propName)) { + propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName]; + } + + if (DOMPropertyNames.hasOwnProperty(propName)) { + propertyInfo.propertyName = DOMPropertyNames[propName]; + } + + if (DOMMutationMethods.hasOwnProperty(propName)) { + propertyInfo.mutationMethod = DOMMutationMethods[propName]; + } + + DOMProperty.properties[propName] = propertyInfo; + } + } + }; + + /* eslint-disable max-len */ + var ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD'; + /* eslint-enable max-len */ + + /** + * DOMProperty exports lookup objects that can be used like functions: + * + * > DOMProperty.isValid['id'] + * true + * > DOMProperty.isValid['foobar'] + * undefined + * + * Although this may be confusing, it performs better in general. + * + * @see http://jsperf.com/key-exists + * @see http://jsperf.com/key-missing + */ + var DOMProperty = { + + ID_ATTRIBUTE_NAME: 'data-reactid', + ROOT_ATTRIBUTE_NAME: 'data-reactroot', + + ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR, + ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040', + + /** + * Map from property "standard name" to an object with info about how to set + * the property in the DOM. Each object contains: + * + * attributeName: + * Used when rendering markup or with `*Attribute()`. + * attributeNamespace + * propertyName: + * Used on DOM node instances. (This includes properties that mutate due to + * external factors.) + * mutationMethod: + * If non-null, used instead of the property or `setAttribute()` after + * initial render. + * mustUseProperty: + * Whether the property must be accessed and mutated as an object property. + * hasBooleanValue: + * Whether the property should be removed when set to a falsey value. + * hasNumericValue: + * Whether the property must be numeric or parse as a numeric and should be + * removed when set to a falsey value. + * hasPositiveNumericValue: + * Whether the property must be positive numeric or parse as a positive + * numeric and should be removed when set to a falsey value. + * hasOverloadedBooleanValue: + * Whether the property can be used as a flag as well as with a value. + * Removed when strictly equal to false; present without a value when + * strictly equal to true; present with a value otherwise. + */ + properties: {}, + + /** + * Mapping from lowercase property names to the properly cased version, used + * to warn in the case of missing properties. Available only in __DEV__. + * @type {Object} + */ + getPossibleStandardName: process.env.NODE_ENV !== 'production' ? {} : null, + + /** + * All of the isCustomAttribute() functions that have been injected. + */ + _isCustomAttributeFunctions: [], + + /** + * Checks whether a property name is a custom attribute. + * @method + */ + isCustomAttribute: function (attributeName) { + for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) { + var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i]; + if (isCustomAttributeFn(attributeName)) { + return true; + } + } + return false; + }, + + injection: DOMPropertyInjection + }; + + module.exports = DOMProperty; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 9 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + + 'use strict'; + + /** + * Use invariant() to assert state which your program assumes to be true. + * + * Provide sprintf-style format (only %s is supported) and arguments + * to provide information about what broke and what you were + * expecting. + * + * The invariant message will be stripped in production, but the invariant + * will remain to ensure logic does not differ in production. + */ + + function invariant(condition, format, a, b, c, d, e, f) { + if (process.env.NODE_ENV !== 'production') { + if (format === undefined) { + throw new Error('invariant requires an error message argument'); + } + } + + if (!condition) { + var error; + if (format === undefined) { + error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); + } else { + var args = [a, b, c, d, e, f]; + var argIndex = 0; + error = new Error(format.replace(/%s/g, function () { + return args[argIndex++]; + })); + error.name = 'Invariant Violation'; + } + + error.framesToPop = 1; // we don't care about invariant's own frame + throw error; + } + } + + module.exports = invariant; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 10 */ +/***/ function(module, exports) { + + /** + * Copyright 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactDOMComponentFlags + */ + + 'use strict'; + + var ReactDOMComponentFlags = { + hasCachedChildNodes: 1 << 0 + }; + + module.exports = ReactDOMComponentFlags; + +/***/ }, +/* 11 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactDefaultInjection + */ + + 'use strict'; + + var BeforeInputEventPlugin = __webpack_require__(12); + var ChangeEventPlugin = __webpack_require__(33); + var DefaultEventPluginOrder = __webpack_require__(53); + var EnterLeaveEventPlugin = __webpack_require__(54); + var HTMLDOMPropertyConfig = __webpack_require__(59); + var ReactComponentBrowserEnvironment = __webpack_require__(60); + var ReactDOMComponent = __webpack_require__(74); + var ReactDOMComponentTree = __webpack_require__(6); + var ReactDOMEmptyComponent = __webpack_require__(129); + var ReactDOMTreeTraversal = __webpack_require__(130); + var ReactDOMTextComponent = __webpack_require__(131); + var ReactDefaultBatchingStrategy = __webpack_require__(132); + var ReactEventListener = __webpack_require__(133); + var ReactInjection = __webpack_require__(136); + var ReactReconcileTransaction = __webpack_require__(140); + var SVGDOMPropertyConfig = __webpack_require__(148); + var SelectEventPlugin = __webpack_require__(149); + var SimpleEventPlugin = __webpack_require__(150); + + var alreadyInjected = false; + + function inject() { + if (alreadyInjected) { + // TODO: This is currently true because these injections are shared between + // the client and the server package. They should be built independently + // and not share any injection state. Then this problem will be solved. + return; + } + alreadyInjected = true; + + ReactInjection.EventEmitter.injectReactEventListener(ReactEventListener); + + /** + * Inject modules for resolving DOM hierarchy and plugin ordering. + */ + ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder); + ReactInjection.EventPluginUtils.injectComponentTree(ReactDOMComponentTree); + ReactInjection.EventPluginUtils.injectTreeTraversal(ReactDOMTreeTraversal); + + /** + * Some important event plugins included by default (without having to require + * them). + */ + ReactInjection.EventPluginHub.injectEventPluginsByName({ + SimpleEventPlugin: SimpleEventPlugin, + EnterLeaveEventPlugin: EnterLeaveEventPlugin, + ChangeEventPlugin: ChangeEventPlugin, + SelectEventPlugin: SelectEventPlugin, + BeforeInputEventPlugin: BeforeInputEventPlugin + }); + + ReactInjection.HostComponent.injectGenericComponentClass(ReactDOMComponent); + + ReactInjection.HostComponent.injectTextComponentClass(ReactDOMTextComponent); + + ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig); + ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig); + + ReactInjection.EmptyComponent.injectEmptyComponentFactory(function (instantiate) { + return new ReactDOMEmptyComponent(instantiate); + }); + + ReactInjection.Updates.injectReconcileTransaction(ReactReconcileTransaction); + ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy); + + ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment); + } + + module.exports = { + inject: inject + }; + +/***/ }, +/* 12 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule BeforeInputEventPlugin + */ + + 'use strict'; + + var EventConstants = __webpack_require__(13); + var EventPropagators = __webpack_require__(15); + var ExecutionEnvironment = __webpack_require__(24); + var FallbackCompositionState = __webpack_require__(25); + var SyntheticCompositionEvent = __webpack_require__(29); + var SyntheticInputEvent = __webpack_require__(31); + + var keyOf = __webpack_require__(32); + + var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space + var START_KEYCODE = 229; + + var canUseCompositionEvent = ExecutionEnvironment.canUseDOM && 'CompositionEvent' in window; + + var documentMode = null; + if (ExecutionEnvironment.canUseDOM && 'documentMode' in document) { + documentMode = document.documentMode; + } + + // Webkit offers a very useful `textInput` event that can be used to + // directly represent `beforeInput`. The IE `textinput` event is not as + // useful, so we don't use it. + var canUseTextInputEvent = ExecutionEnvironment.canUseDOM && 'TextEvent' in window && !documentMode && !isPresto(); + + // In IE9+, we have access to composition events, but the data supplied + // by the native compositionend event may be incorrect. Japanese ideographic + // spaces, for instance (\u3000) are not recorded correctly. + var useFallbackCompositionData = ExecutionEnvironment.canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11); + + /** + * Opera <= 12 includes TextEvent in window, but does not fire + * text input events. Rely on keypress instead. + */ + function isPresto() { + var opera = window.opera; + return typeof opera === 'object' && typeof opera.version === 'function' && parseInt(opera.version(), 10) <= 12; + } + + var SPACEBAR_CODE = 32; + var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE); + + var topLevelTypes = EventConstants.topLevelTypes; + + // Events and their corresponding property names. + var eventTypes = { + beforeInput: { + phasedRegistrationNames: { + bubbled: keyOf({ onBeforeInput: null }), + captured: keyOf({ onBeforeInputCapture: null }) + }, + dependencies: [topLevelTypes.topCompositionEnd, topLevelTypes.topKeyPress, topLevelTypes.topTextInput, topLevelTypes.topPaste] + }, + compositionEnd: { + phasedRegistrationNames: { + bubbled: keyOf({ onCompositionEnd: null }), + captured: keyOf({ onCompositionEndCapture: null }) + }, + dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionEnd, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] + }, + compositionStart: { + phasedRegistrationNames: { + bubbled: keyOf({ onCompositionStart: null }), + captured: keyOf({ onCompositionStartCapture: null }) + }, + dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionStart, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] + }, + compositionUpdate: { + phasedRegistrationNames: { + bubbled: keyOf({ onCompositionUpdate: null }), + captured: keyOf({ onCompositionUpdateCapture: null }) + }, + dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionUpdate, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] + } + }; + + // Track whether we've ever handled a keypress on the space key. + var hasSpaceKeypress = false; + + /** + * Return whether a native keypress event is assumed to be a command. + * This is required because Firefox fires `keypress` events for key commands + * (cut, copy, select-all, etc.) even though no character is inserted. + */ + function isKeypressCommand(nativeEvent) { + return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && + // ctrlKey && altKey is equivalent to AltGr, and is not a command. + !(nativeEvent.ctrlKey && nativeEvent.altKey); + } + + /** + * Translate native top level events into event types. + * + * @param {string} topLevelType + * @return {object} + */ + function getCompositionEventType(topLevelType) { + switch (topLevelType) { + case topLevelTypes.topCompositionStart: + return eventTypes.compositionStart; + case topLevelTypes.topCompositionEnd: + return eventTypes.compositionEnd; + case topLevelTypes.topCompositionUpdate: + return eventTypes.compositionUpdate; + } + } + + /** + * Does our fallback best-guess model think this event signifies that + * composition has begun? + * + * @param {string} topLevelType + * @param {object} nativeEvent + * @return {boolean} + */ + function isFallbackCompositionStart(topLevelType, nativeEvent) { + return topLevelType === topLevelTypes.topKeyDown && nativeEvent.keyCode === START_KEYCODE; + } + + /** + * Does our fallback mode think that this event is the end of composition? + * + * @param {string} topLevelType + * @param {object} nativeEvent + * @return {boolean} + */ + function isFallbackCompositionEnd(topLevelType, nativeEvent) { + switch (topLevelType) { + case topLevelTypes.topKeyUp: + // Command keys insert or clear IME input. + return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1; + case topLevelTypes.topKeyDown: + // Expect IME keyCode on each keydown. If we get any other + // code we must have exited earlier. + return nativeEvent.keyCode !== START_KEYCODE; + case topLevelTypes.topKeyPress: + case topLevelTypes.topMouseDown: + case topLevelTypes.topBlur: + // Events are not possible without cancelling IME. + return true; + default: + return false; + } + } + + /** + * Google Input Tools provides composition data via a CustomEvent, + * with the `data` property populated in the `detail` object. If this + * is available on the event object, use it. If not, this is a plain + * composition event and we have nothing special to extract. + * + * @param {object} nativeEvent + * @return {?string} + */ + function getDataFromCustomEvent(nativeEvent) { + var detail = nativeEvent.detail; + if (typeof detail === 'object' && 'data' in detail) { + return detail.data; + } + return null; + } + + // Track the current IME composition fallback object, if any. + var currentComposition = null; + + /** + * @return {?object} A SyntheticCompositionEvent. + */ + function extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) { + var eventType; + var fallbackData; + + if (canUseCompositionEvent) { + eventType = getCompositionEventType(topLevelType); + } else if (!currentComposition) { + if (isFallbackCompositionStart(topLevelType, nativeEvent)) { + eventType = eventTypes.compositionStart; + } + } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) { + eventType = eventTypes.compositionEnd; + } + + if (!eventType) { + return null; + } + + if (useFallbackCompositionData) { + // The current composition is stored statically and must not be + // overwritten while composition continues. + if (!currentComposition && eventType === eventTypes.compositionStart) { + currentComposition = FallbackCompositionState.getPooled(nativeEventTarget); + } else if (eventType === eventTypes.compositionEnd) { + if (currentComposition) { + fallbackData = currentComposition.getData(); + } + } + } + + var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget); + + if (fallbackData) { + // Inject data generated from fallback path into the synthetic event. + // This matches the property of native CompositionEventInterface. + event.data = fallbackData; + } else { + var customData = getDataFromCustomEvent(nativeEvent); + if (customData !== null) { + event.data = customData; + } + } + + EventPropagators.accumulateTwoPhaseDispatches(event); + return event; + } + + /** + * @param {string} topLevelType Record from `EventConstants`. + * @param {object} nativeEvent Native browser event. + * @return {?string} The string corresponding to this `beforeInput` event. + */ + function getNativeBeforeInputChars(topLevelType, nativeEvent) { + switch (topLevelType) { + case topLevelTypes.topCompositionEnd: + return getDataFromCustomEvent(nativeEvent); + case topLevelTypes.topKeyPress: + /** + * If native `textInput` events are available, our goal is to make + * use of them. However, there is a special case: the spacebar key. + * In Webkit, preventing default on a spacebar `textInput` event + * cancels character insertion, but it *also* causes the browser + * to fall back to its default spacebar behavior of scrolling the + * page. + * + * Tracking at: + * https://code.google.com/p/chromium/issues/detail?id=355103 + * + * To avoid this issue, use the keypress event as if no `textInput` + * event is available. + */ + var which = nativeEvent.which; + if (which !== SPACEBAR_CODE) { + return null; + } + + hasSpaceKeypress = true; + return SPACEBAR_CHAR; + + case topLevelTypes.topTextInput: + // Record the characters to be added to the DOM. + var chars = nativeEvent.data; + + // If it's a spacebar character, assume that we have already handled + // it at the keypress level and bail immediately. Android Chrome + // doesn't give us keycodes, so we need to blacklist it. + if (chars === SPACEBAR_CHAR && hasSpaceKeypress) { + return null; + } + + return chars; + + default: + // For other native event types, do nothing. + return null; + } + } + + /** + * For browsers that do not provide the `textInput` event, extract the + * appropriate string to use for SyntheticInputEvent. + * + * @param {string} topLevelType Record from `EventConstants`. + * @param {object} nativeEvent Native browser event. + * @return {?string} The fallback string for this `beforeInput` event. + */ + function getFallbackBeforeInputChars(topLevelType, nativeEvent) { + // If we are currently composing (IME) and using a fallback to do so, + // try to extract the composed characters from the fallback object. + if (currentComposition) { + if (topLevelType === topLevelTypes.topCompositionEnd || isFallbackCompositionEnd(topLevelType, nativeEvent)) { + var chars = currentComposition.getData(); + FallbackCompositionState.release(currentComposition); + currentComposition = null; + return chars; + } + return null; + } + + switch (topLevelType) { + case topLevelTypes.topPaste: + // If a paste event occurs after a keypress, throw out the input + // chars. Paste events should not lead to BeforeInput events. + return null; + case topLevelTypes.topKeyPress: + /** + * As of v27, Firefox may fire keypress events even when no character + * will be inserted. A few possibilities: + * + * - `which` is `0`. Arrow keys, Esc key, etc. + * + * - `which` is the pressed key code, but no char is available. + * Ex: 'AltGr + d` in Polish. There is no modified character for + * this key combination and no character is inserted into the + * document, but FF fires the keypress for char code `100` anyway. + * No `input` event will occur. + * + * - `which` is the pressed key code, but a command combination is + * being used. Ex: `Cmd+C`. No character is inserted, and no + * `input` event will occur. + */ + if (nativeEvent.which && !isKeypressCommand(nativeEvent)) { + return String.fromCharCode(nativeEvent.which); + } + return null; + case topLevelTypes.topCompositionEnd: + return useFallbackCompositionData ? null : nativeEvent.data; + default: + return null; + } + } + + /** + * Extract a SyntheticInputEvent for `beforeInput`, based on either native + * `textInput` or fallback behavior. + * + * @return {?object} A SyntheticInputEvent. + */ + function extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) { + var chars; + + if (canUseTextInputEvent) { + chars = getNativeBeforeInputChars(topLevelType, nativeEvent); + } else { + chars = getFallbackBeforeInputChars(topLevelType, nativeEvent); + } + + // If no characters are being inserted, no BeforeInput event should + // be fired. + if (!chars) { + return null; + } + + var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget); + + event.data = chars; + EventPropagators.accumulateTwoPhaseDispatches(event); + return event; + } + + /** + * Create an `onBeforeInput` event to match + * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents. + * + * This event plugin is based on the native `textInput` event + * available in Chrome, Safari, Opera, and IE. This event fires after + * `onKeyPress` and `onCompositionEnd`, but before `onInput`. + * + * `beforeInput` is spec'd but not implemented in any browsers, and + * the `input` event does not provide any useful information about what has + * actually been added, contrary to the spec. Thus, `textInput` is the best + * available event to identify the characters that have actually been inserted + * into the target node. + * + * This plugin is also responsible for emitting `composition` events, thus + * allowing us to share composition fallback code for both `beforeInput` and + * `composition` event types. + */ + var BeforeInputEventPlugin = { + + eventTypes: eventTypes, + + extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { + return [extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget), extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget)]; + } + }; + + module.exports = BeforeInputEventPlugin; + +/***/ }, +/* 13 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule EventConstants + */ + + 'use strict'; + + var keyMirror = __webpack_require__(14); + + var PropagationPhases = keyMirror({ bubbled: null, captured: null }); + + /** + * Types of raw signals from the browser caught at the top level. + */ + var topLevelTypes = keyMirror({ + topAbort: null, + topAnimationEnd: null, + topAnimationIteration: null, + topAnimationStart: null, + topBlur: null, + topCanPlay: null, + topCanPlayThrough: null, + topChange: null, + topClick: null, + topCompositionEnd: null, + topCompositionStart: null, + topCompositionUpdate: null, + topContextMenu: null, + topCopy: null, + topCut: null, + topDoubleClick: null, + topDrag: null, + topDragEnd: null, + topDragEnter: null, + topDragExit: null, + topDragLeave: null, + topDragOver: null, + topDragStart: null, + topDrop: null, + topDurationChange: null, + topEmptied: null, + topEncrypted: null, + topEnded: null, + topError: null, + topFocus: null, + topInput: null, + topInvalid: null, + topKeyDown: null, + topKeyPress: null, + topKeyUp: null, + topLoad: null, + topLoadedData: null, + topLoadedMetadata: null, + topLoadStart: null, + topMouseDown: null, + topMouseMove: null, + topMouseOut: null, + topMouseOver: null, + topMouseUp: null, + topPaste: null, + topPause: null, + topPlay: null, + topPlaying: null, + topProgress: null, + topRateChange: null, + topReset: null, + topScroll: null, + topSeeked: null, + topSeeking: null, + topSelectionChange: null, + topStalled: null, + topSubmit: null, + topSuspend: null, + topTextInput: null, + topTimeUpdate: null, + topTouchCancel: null, + topTouchEnd: null, + topTouchMove: null, + topTouchStart: null, + topTransitionEnd: null, + topVolumeChange: null, + topWaiting: null, + topWheel: null + }); + + var EventConstants = { + topLevelTypes: topLevelTypes, + PropagationPhases: PropagationPhases + }; + + module.exports = EventConstants; + +/***/ }, +/* 14 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @typechecks static-only + */ + + 'use strict'; + + var invariant = __webpack_require__(9); + + /** + * Constructs an enumeration with keys equal to their value. + * + * For example: + * + * var COLORS = keyMirror({blue: null, red: null}); + * var myColor = COLORS.blue; + * var isColorValid = !!COLORS[myColor]; + * + * The last line could not be performed if the values of the generated enum were + * not equal to their keys. + * + * Input: {key1: val1, key2: val2} + * Output: {key1: key1, key2: key2} + * + * @param {object} obj + * @return {object} + */ + var keyMirror = function keyMirror(obj) { + var ret = {}; + var key; + !(obj instanceof Object && !Array.isArray(obj)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'keyMirror(...): Argument must be an object.') : invariant(false) : void 0; + for (key in obj) { + if (!obj.hasOwnProperty(key)) { + continue; + } + ret[key] = key; + } + return ret; + }; + + module.exports = keyMirror; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 15 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule EventPropagators + */ + + 'use strict'; + + var EventConstants = __webpack_require__(13); + var EventPluginHub = __webpack_require__(16); + var EventPluginUtils = __webpack_require__(18); + + var accumulateInto = __webpack_require__(22); + var forEachAccumulated = __webpack_require__(23); + var warning = __webpack_require__(20); + + var PropagationPhases = EventConstants.PropagationPhases; + var getListener = EventPluginHub.getListener; + + /** + * Some event types have a notion of different registration names for different + * "phases" of propagation. This finds listeners by a given phase. + */ + function listenerAtPhase(inst, event, propagationPhase) { + var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase]; + return getListener(inst, registrationName); + } + + /** + * Tags a `SyntheticEvent` with dispatched listeners. Creating this function + * here, allows us to not have to bind or create functions for each event. + * Mutating the event's members allows us to not have to create a wrapping + * "dispatch" object that pairs the event with the listener. + */ + function accumulateDirectionalDispatches(inst, upwards, event) { + if (process.env.NODE_ENV !== 'production') { + process.env.NODE_ENV !== 'production' ? warning(inst, 'Dispatching inst must not be null') : void 0; + } + var phase = upwards ? PropagationPhases.bubbled : PropagationPhases.captured; + var listener = listenerAtPhase(inst, event, phase); + if (listener) { + event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); + event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); + } + } + + /** + * Collect dispatches (must be entirely collected before dispatching - see unit + * tests). Lazily allocate the array to conserve memory. We must loop through + * each event and perform the traversal for each one. We cannot perform a + * single traversal for the entire collection of events because each event may + * have a different target. + */ + function accumulateTwoPhaseDispatchesSingle(event) { + if (event && event.dispatchConfig.phasedRegistrationNames) { + EventPluginUtils.traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event); + } + } + + /** + * Same as `accumulateTwoPhaseDispatchesSingle`, but skips over the targetID. + */ + function accumulateTwoPhaseDispatchesSingleSkipTarget(event) { + if (event && event.dispatchConfig.phasedRegistrationNames) { + var targetInst = event._targetInst; + var parentInst = targetInst ? EventPluginUtils.getParentInstance(targetInst) : null; + EventPluginUtils.traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event); + } + } + + /** + * Accumulates without regard to direction, does not look for phased + * registration names. Same as `accumulateDirectDispatchesSingle` but without + * requiring that the `dispatchMarker` be the same as the dispatched ID. + */ + function accumulateDispatches(inst, ignoredDirection, event) { + if (event && event.dispatchConfig.registrationName) { + var registrationName = event.dispatchConfig.registrationName; + var listener = getListener(inst, registrationName); + if (listener) { + event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); + event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); + } + } + } + + /** + * Accumulates dispatches on an `SyntheticEvent`, but only for the + * `dispatchMarker`. + * @param {SyntheticEvent} event + */ + function accumulateDirectDispatchesSingle(event) { + if (event && event.dispatchConfig.registrationName) { + accumulateDispatches(event._targetInst, null, event); + } + } + + function accumulateTwoPhaseDispatches(events) { + forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle); + } + + function accumulateTwoPhaseDispatchesSkipTarget(events) { + forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget); + } + + function accumulateEnterLeaveDispatches(leave, enter, from, to) { + EventPluginUtils.traverseEnterLeave(from, to, accumulateDispatches, leave, enter); + } + + function accumulateDirectDispatches(events) { + forEachAccumulated(events, accumulateDirectDispatchesSingle); + } + + /** + * A small set of propagation patterns, each of which will accept a small amount + * of information, and generate a set of "dispatch ready event objects" - which + * are sets of events that have already been annotated with a set of dispatched + * listener functions/ids. The API is designed this way to discourage these + * propagation strategies from actually executing the dispatches, since we + * always want to collect the entire set of dispatches before executing event a + * single one. + * + * @constructor EventPropagators + */ + var EventPropagators = { + accumulateTwoPhaseDispatches: accumulateTwoPhaseDispatches, + accumulateTwoPhaseDispatchesSkipTarget: accumulateTwoPhaseDispatchesSkipTarget, + accumulateDirectDispatches: accumulateDirectDispatches, + accumulateEnterLeaveDispatches: accumulateEnterLeaveDispatches + }; + + module.exports = EventPropagators; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 16 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule EventPluginHub + */ + + 'use strict'; + + var _prodInvariant = __webpack_require__(7); + + var EventPluginRegistry = __webpack_require__(17); + var EventPluginUtils = __webpack_require__(18); + var ReactErrorUtils = __webpack_require__(19); + + var accumulateInto = __webpack_require__(22); + var forEachAccumulated = __webpack_require__(23); + var invariant = __webpack_require__(9); + + /** + * Internal store for event listeners + */ + var listenerBank = {}; + + /** + * Internal queue of events that have accumulated their dispatches and are + * waiting to have their dispatches executed. + */ + var eventQueue = null; + + /** + * Dispatches an event and releases it back into the pool, unless persistent. + * + * @param {?object} event Synthetic event to be dispatched. + * @param {boolean} simulated If the event is simulated (changes exn behavior) + * @private + */ + var executeDispatchesAndRelease = function (event, simulated) { + if (event) { + EventPluginUtils.executeDispatchesInOrder(event, simulated); + + if (!event.isPersistent()) { + event.constructor.release(event); + } + } + }; + var executeDispatchesAndReleaseSimulated = function (e) { + return executeDispatchesAndRelease(e, true); + }; + var executeDispatchesAndReleaseTopLevel = function (e) { + return executeDispatchesAndRelease(e, false); + }; + + var getDictionaryKey = function (inst) { + return '.' + inst._rootNodeID; + }; + + /** + * This is a unified interface for event plugins to be installed and configured. + * + * Event plugins can implement the following properties: + * + * `extractEvents` {function(string, DOMEventTarget, string, object): *} + * Required. When a top-level event is fired, this method is expected to + * extract synthetic events that will in turn be queued and dispatched. + * + * `eventTypes` {object} + * Optional, plugins that fire events must publish a mapping of registration + * names that are used to register listeners. Values of this mapping must + * be objects that contain `registrationName` or `phasedRegistrationNames`. + * + * `executeDispatch` {function(object, function, string)} + * Optional, allows plugins to override how an event gets dispatched. By + * default, the listener is simply invoked. + * + * Each plugin that is injected into `EventsPluginHub` is immediately operable. + * + * @public + */ + var EventPluginHub = { + + /** + * Methods for injecting dependencies. + */ + injection: { + + /** + * @param {array} InjectedEventPluginOrder + * @public + */ + injectEventPluginOrder: EventPluginRegistry.injectEventPluginOrder, + + /** + * @param {object} injectedNamesToPlugins Map from names to plugin modules. + */ + injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName + + }, + + /** + * Stores `listener` at `listenerBank[registrationName][key]`. Is idempotent. + * + * @param {object} inst The instance, which is the source of events. + * @param {string} registrationName Name of listener (e.g. `onClick`). + * @param {function} listener The callback to store. + */ + putListener: function (inst, registrationName, listener) { + !(typeof listener === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : _prodInvariant('94', registrationName, typeof listener) : void 0; + + var key = getDictionaryKey(inst); + var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {}); + bankForRegistrationName[key] = listener; + + var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; + if (PluginModule && PluginModule.didPutListener) { + PluginModule.didPutListener(inst, registrationName, listener); + } + }, + + /** + * @param {object} inst The instance, which is the source of events. + * @param {string} registrationName Name of listener (e.g. `onClick`). + * @return {?function} The stored callback. + */ + getListener: function (inst, registrationName) { + var bankForRegistrationName = listenerBank[registrationName]; + var key = getDictionaryKey(inst); + return bankForRegistrationName && bankForRegistrationName[key]; + }, + + /** + * Deletes a listener from the registration bank. + * + * @param {object} inst The instance, which is the source of events. + * @param {string} registrationName Name of listener (e.g. `onClick`). + */ + deleteListener: function (inst, registrationName) { + var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; + if (PluginModule && PluginModule.willDeleteListener) { + PluginModule.willDeleteListener(inst, registrationName); + } + + var bankForRegistrationName = listenerBank[registrationName]; + // TODO: This should never be null -- when is it? + if (bankForRegistrationName) { + var key = getDictionaryKey(inst); + delete bankForRegistrationName[key]; + } + }, + + /** + * Deletes all listeners for the DOM element with the supplied ID. + * + * @param {object} inst The instance, which is the source of events. + */ + deleteAllListeners: function (inst) { + var key = getDictionaryKey(inst); + for (var registrationName in listenerBank) { + if (!listenerBank.hasOwnProperty(registrationName)) { + continue; + } + + if (!listenerBank[registrationName][key]) { + continue; + } + + var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; + if (PluginModule && PluginModule.willDeleteListener) { + PluginModule.willDeleteListener(inst, registrationName); + } + + delete listenerBank[registrationName][key]; + } + }, + + /** + * Allows registered plugins an opportunity to extract events from top-level + * native browser events. + * + * @return {*} An accumulation of synthetic events. + * @internal + */ + extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { + var events; + var plugins = EventPluginRegistry.plugins; + for (var i = 0; i < plugins.length; i++) { + // Not every plugin in the ordering may be loaded at runtime. + var possiblePlugin = plugins[i]; + if (possiblePlugin) { + var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget); + if (extractedEvents) { + events = accumulateInto(events, extractedEvents); + } + } + } + return events; + }, + + /** + * Enqueues a synthetic event that should be dispatched when + * `processEventQueue` is invoked. + * + * @param {*} events An accumulation of synthetic events. + * @internal + */ + enqueueEvents: function (events) { + if (events) { + eventQueue = accumulateInto(eventQueue, events); + } + }, + + /** + * Dispatches all synthetic events on the event queue. + * + * @internal + */ + processEventQueue: function (simulated) { + // Set `eventQueue` to null before processing it so that we can tell if more + // events get enqueued while processing. + var processingEventQueue = eventQueue; + eventQueue = null; + if (simulated) { + forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated); + } else { + forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel); + } + !!eventQueue ? process.env.NODE_ENV !== 'production' ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.') : _prodInvariant('95') : void 0; + // This would be a good time to rethrow if any of the event handlers threw. + ReactErrorUtils.rethrowCaughtError(); + }, + + /** + * These are needed for tests only. Do not use! + */ + __purge: function () { + listenerBank = {}; + }, + + __getListenerBank: function () { + return listenerBank; + } + + }; + + module.exports = EventPluginHub; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 17 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule EventPluginRegistry + */ + + 'use strict'; + + var _prodInvariant = __webpack_require__(7); + + var invariant = __webpack_require__(9); + + /** + * Injectable ordering of event plugins. + */ + var EventPluginOrder = null; + + /** + * Injectable mapping from names to event plugin modules. + */ + var namesToPlugins = {}; + + /** + * Recomputes the plugin list using the injected plugins and plugin ordering. + * + * @private + */ + function recomputePluginOrdering() { + if (!EventPluginOrder) { + // Wait until an `EventPluginOrder` is injected. + return; + } + for (var pluginName in namesToPlugins) { + var PluginModule = namesToPlugins[pluginName]; + var pluginIndex = EventPluginOrder.indexOf(pluginName); + !(pluginIndex > -1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.', pluginName) : _prodInvariant('96', pluginName) : void 0; + if (EventPluginRegistry.plugins[pluginIndex]) { + continue; + } + !PluginModule.extractEvents ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.', pluginName) : _prodInvariant('97', pluginName) : void 0; + EventPluginRegistry.plugins[pluginIndex] = PluginModule; + var publishedEvents = PluginModule.eventTypes; + for (var eventName in publishedEvents) { + !publishEventForPlugin(publishedEvents[eventName], PluginModule, eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : _prodInvariant('98', eventName, pluginName) : void 0; + } + } + } + + /** + * Publishes an event so that it can be dispatched by the supplied plugin. + * + * @param {object} dispatchConfig Dispatch configuration for the event. + * @param {object} PluginModule Plugin publishing the event. + * @return {boolean} True if the event was successfully published. + * @private + */ + function publishEventForPlugin(dispatchConfig, PluginModule, eventName) { + !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.', eventName) : _prodInvariant('99', eventName) : void 0; + EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig; + + var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames; + if (phasedRegistrationNames) { + for (var phaseName in phasedRegistrationNames) { + if (phasedRegistrationNames.hasOwnProperty(phaseName)) { + var phasedRegistrationName = phasedRegistrationNames[phaseName]; + publishRegistrationName(phasedRegistrationName, PluginModule, eventName); + } + } + return true; + } else if (dispatchConfig.registrationName) { + publishRegistrationName(dispatchConfig.registrationName, PluginModule, eventName); + return true; + } + return false; + } + + /** + * Publishes a registration name that is used to identify dispatched events and + * can be used with `EventPluginHub.putListener` to register listeners. + * + * @param {string} registrationName Registration name to add. + * @param {object} PluginModule Plugin publishing the event. + * @private + */ + function publishRegistrationName(registrationName, PluginModule, eventName) { + !!EventPluginRegistry.registrationNameModules[registrationName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.', registrationName) : _prodInvariant('100', registrationName) : void 0; + EventPluginRegistry.registrationNameModules[registrationName] = PluginModule; + EventPluginRegistry.registrationNameDependencies[registrationName] = PluginModule.eventTypes[eventName].dependencies; + + if (process.env.NODE_ENV !== 'production') { + var lowerCasedName = registrationName.toLowerCase(); + EventPluginRegistry.possibleRegistrationNames[lowerCasedName] = registrationName; + + if (registrationName === 'onDoubleClick') { + EventPluginRegistry.possibleRegistrationNames.ondblclick = registrationName; + } + } + } + + /** + * Registers plugins so that they can extract and dispatch events. + * + * @see {EventPluginHub} + */ + var EventPluginRegistry = { + + /** + * Ordered list of injected plugins. + */ + plugins: [], + + /** + * Mapping from event name to dispatch config + */ + eventNameDispatchConfigs: {}, + + /** + * Mapping from registration name to plugin module + */ + registrationNameModules: {}, + + /** + * Mapping from registration name to event name + */ + registrationNameDependencies: {}, + + /** + * Mapping from lowercase registration names to the properly cased version, + * used to warn in the case of missing event handlers. Available + * only in __DEV__. + * @type {Object} + */ + possibleRegistrationNames: process.env.NODE_ENV !== 'production' ? {} : null, + + /** + * Injects an ordering of plugins (by plugin name). This allows the ordering + * to be decoupled from injection of the actual plugins so that ordering is + * always deterministic regardless of packaging, on-the-fly injection, etc. + * + * @param {array} InjectedEventPluginOrder + * @internal + * @see {EventPluginHub.injection.injectEventPluginOrder} + */ + injectEventPluginOrder: function (InjectedEventPluginOrder) { + !!EventPluginOrder ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.') : _prodInvariant('101') : void 0; + // Clone the ordering so it cannot be dynamically mutated. + EventPluginOrder = Array.prototype.slice.call(InjectedEventPluginOrder); + recomputePluginOrdering(); + }, + + /** + * Injects plugins to be used by `EventPluginHub`. The plugin names must be + * in the ordering injected by `injectEventPluginOrder`. + * + * Plugins can be injected as part of page initialization or on-the-fly. + * + * @param {object} injectedNamesToPlugins Map from names to plugin modules. + * @internal + * @see {EventPluginHub.injection.injectEventPluginsByName} + */ + injectEventPluginsByName: function (injectedNamesToPlugins) { + var isOrderingDirty = false; + for (var pluginName in injectedNamesToPlugins) { + if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) { + continue; + } + var PluginModule = injectedNamesToPlugins[pluginName]; + if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== PluginModule) { + !!namesToPlugins[pluginName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.', pluginName) : _prodInvariant('102', pluginName) : void 0; + namesToPlugins[pluginName] = PluginModule; + isOrderingDirty = true; + } + } + if (isOrderingDirty) { + recomputePluginOrdering(); + } + }, + + /** + * Looks up the plugin for the supplied event. + * + * @param {object} event A synthetic event. + * @return {?object} The plugin that created the supplied event. + * @internal + */ + getPluginModuleForEvent: function (event) { + var dispatchConfig = event.dispatchConfig; + if (dispatchConfig.registrationName) { + return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName] || null; + } + for (var phase in dispatchConfig.phasedRegistrationNames) { + if (!dispatchConfig.phasedRegistrationNames.hasOwnProperty(phase)) { + continue; + } + var PluginModule = EventPluginRegistry.registrationNameModules[dispatchConfig.phasedRegistrationNames[phase]]; + if (PluginModule) { + return PluginModule; + } + } + return null; + }, + + /** + * Exposed for unit testing. + * @private + */ + _resetEventPlugins: function () { + EventPluginOrder = null; + for (var pluginName in namesToPlugins) { + if (namesToPlugins.hasOwnProperty(pluginName)) { + delete namesToPlugins[pluginName]; + } + } + EventPluginRegistry.plugins.length = 0; + + var eventNameDispatchConfigs = EventPluginRegistry.eventNameDispatchConfigs; + for (var eventName in eventNameDispatchConfigs) { + if (eventNameDispatchConfigs.hasOwnProperty(eventName)) { + delete eventNameDispatchConfigs[eventName]; + } + } + + var registrationNameModules = EventPluginRegistry.registrationNameModules; + for (var registrationName in registrationNameModules) { + if (registrationNameModules.hasOwnProperty(registrationName)) { + delete registrationNameModules[registrationName]; + } + } + + if (process.env.NODE_ENV !== 'production') { + var possibleRegistrationNames = EventPluginRegistry.possibleRegistrationNames; + for (var lowerCasedName in possibleRegistrationNames) { + if (possibleRegistrationNames.hasOwnProperty(lowerCasedName)) { + delete possibleRegistrationNames[lowerCasedName]; + } + } + } + } + + }; + + module.exports = EventPluginRegistry; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 18 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule EventPluginUtils + */ + + 'use strict'; + + var _prodInvariant = __webpack_require__(7); + + var EventConstants = __webpack_require__(13); + var ReactErrorUtils = __webpack_require__(19); + + var invariant = __webpack_require__(9); + var warning = __webpack_require__(20); + + /** + * Injected dependencies: + */ + + /** + * - `ComponentTree`: [required] Module that can convert between React instances + * and actual node references. + */ + var ComponentTree; + var TreeTraversal; + var injection = { + injectComponentTree: function (Injected) { + ComponentTree = Injected; + if (process.env.NODE_ENV !== 'production') { + process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.getNodeFromInstance && Injected.getInstanceFromNode, 'EventPluginUtils.injection.injectComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.') : void 0; + } + }, + injectTreeTraversal: function (Injected) { + TreeTraversal = Injected; + if (process.env.NODE_ENV !== 'production') { + process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.isAncestor && Injected.getLowestCommonAncestor, 'EventPluginUtils.injection.injectTreeTraversal(...): Injected ' + 'module is missing isAncestor or getLowestCommonAncestor.') : void 0; + } + } + }; + + var topLevelTypes = EventConstants.topLevelTypes; + + function isEndish(topLevelType) { + return topLevelType === topLevelTypes.topMouseUp || topLevelType === topLevelTypes.topTouchEnd || topLevelType === topLevelTypes.topTouchCancel; + } + + function isMoveish(topLevelType) { + return topLevelType === topLevelTypes.topMouseMove || topLevelType === topLevelTypes.topTouchMove; + } + function isStartish(topLevelType) { + return topLevelType === topLevelTypes.topMouseDown || topLevelType === topLevelTypes.topTouchStart; + } + + var validateEventDispatches; + if (process.env.NODE_ENV !== 'production') { + validateEventDispatches = function (event) { + var dispatchListeners = event._dispatchListeners; + var dispatchInstances = event._dispatchInstances; + + var listenersIsArr = Array.isArray(dispatchListeners); + var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0; + + var instancesIsArr = Array.isArray(dispatchInstances); + var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0; + + process.env.NODE_ENV !== 'production' ? warning(instancesIsArr === listenersIsArr && instancesLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : void 0; + }; + } + + /** + * Dispatch the event to the listener. + * @param {SyntheticEvent} event SyntheticEvent to handle + * @param {boolean} simulated If the event is simulated (changes exn behavior) + * @param {function} listener Application-level callback + * @param {*} inst Internal component instance + */ + function executeDispatch(event, simulated, listener, inst) { + var type = event.type || 'unknown-event'; + event.currentTarget = EventPluginUtils.getNodeFromInstance(inst); + if (simulated) { + ReactErrorUtils.invokeGuardedCallbackWithCatch(type, listener, event); + } else { + ReactErrorUtils.invokeGuardedCallback(type, listener, event); + } + event.currentTarget = null; + } + + /** + * Standard/simple iteration through an event's collected dispatches. + */ + function executeDispatchesInOrder(event, simulated) { + var dispatchListeners = event._dispatchListeners; + var dispatchInstances = event._dispatchInstances; + if (process.env.NODE_ENV !== 'production') { + validateEventDispatches(event); + } + if (Array.isArray(dispatchListeners)) { + for (var i = 0; i < dispatchListeners.length; i++) { + if (event.isPropagationStopped()) { + break; + } + // Listeners and Instances are two parallel arrays that are always in sync. + executeDispatch(event, simulated, dispatchListeners[i], dispatchInstances[i]); + } + } else if (dispatchListeners) { + executeDispatch(event, simulated, dispatchListeners, dispatchInstances); + } + event._dispatchListeners = null; + event._dispatchInstances = null; + } + + /** + * Standard/simple iteration through an event's collected dispatches, but stops + * at the first dispatch execution returning true, and returns that id. + * + * @return {?string} id of the first dispatch execution who's listener returns + * true, or null if no listener returned true. + */ + function executeDispatchesInOrderStopAtTrueImpl(event) { + var dispatchListeners = event._dispatchListeners; + var dispatchInstances = event._dispatchInstances; + if (process.env.NODE_ENV !== 'production') { + validateEventDispatches(event); + } + if (Array.isArray(dispatchListeners)) { + for (var i = 0; i < dispatchListeners.length; i++) { + if (event.isPropagationStopped()) { + break; + } + // Listeners and Instances are two parallel arrays that are always in sync. + if (dispatchListeners[i](event, dispatchInstances[i])) { + return dispatchInstances[i]; + } + } + } else if (dispatchListeners) { + if (dispatchListeners(event, dispatchInstances)) { + return dispatchInstances; + } + } + return null; + } + + /** + * @see executeDispatchesInOrderStopAtTrueImpl + */ + function executeDispatchesInOrderStopAtTrue(event) { + var ret = executeDispatchesInOrderStopAtTrueImpl(event); + event._dispatchInstances = null; + event._dispatchListeners = null; + return ret; + } + + /** + * Execution of a "direct" dispatch - there must be at most one dispatch + * accumulated on the event or it is considered an error. It doesn't really make + * sense for an event with multiple dispatches (bubbled) to keep track of the + * return values at each dispatch execution, but it does tend to make sense when + * dealing with "direct" dispatches. + * + * @return {*} The return value of executing the single dispatch. + */ + function executeDirectDispatch(event) { + if (process.env.NODE_ENV !== 'production') { + validateEventDispatches(event); + } + var dispatchListener = event._dispatchListeners; + var dispatchInstance = event._dispatchInstances; + !!Array.isArray(dispatchListener) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : _prodInvariant('103') : void 0; + event.currentTarget = dispatchListener ? EventPluginUtils.getNodeFromInstance(dispatchInstance) : null; + var res = dispatchListener ? dispatchListener(event) : null; + event.currentTarget = null; + event._dispatchListeners = null; + event._dispatchInstances = null; + return res; + } + + /** + * @param {SyntheticEvent} event + * @return {boolean} True iff number of dispatches accumulated is greater than 0. + */ + function hasDispatches(event) { + return !!event._dispatchListeners; + } + + /** + * General utilities that are useful in creating custom Event Plugins. + */ + var EventPluginUtils = { + isEndish: isEndish, + isMoveish: isMoveish, + isStartish: isStartish, + + executeDirectDispatch: executeDirectDispatch, + executeDispatchesInOrder: executeDispatchesInOrder, + executeDispatchesInOrderStopAtTrue: executeDispatchesInOrderStopAtTrue, + hasDispatches: hasDispatches, + + getInstanceFromNode: function (node) { + return ComponentTree.getInstanceFromNode(node); + }, + getNodeFromInstance: function (node) { + return ComponentTree.getNodeFromInstance(node); + }, + isAncestor: function (a, b) { + return TreeTraversal.isAncestor(a, b); + }, + getLowestCommonAncestor: function (a, b) { + return TreeTraversal.getLowestCommonAncestor(a, b); + }, + getParentInstance: function (inst) { + return TreeTraversal.getParentInstance(inst); + }, + traverseTwoPhase: function (target, fn, arg) { + return TreeTraversal.traverseTwoPhase(target, fn, arg); + }, + traverseEnterLeave: function (from, to, fn, argFrom, argTo) { + return TreeTraversal.traverseEnterLeave(from, to, fn, argFrom, argTo); + }, + + injection: injection + }; + + module.exports = EventPluginUtils; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 19 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactErrorUtils + */ + + 'use strict'; + + var caughtError = null; + + /** + * Call a function while guarding against errors that happens within it. + * + * @param {?String} name of the guard to use for logging or debugging + * @param {Function} func The function to invoke + * @param {*} a First argument + * @param {*} b Second argument + */ + function invokeGuardedCallback(name, func, a, b) { + try { + return func(a, b); + } catch (x) { + if (caughtError === null) { + caughtError = x; + } + return undefined; + } + } + + var ReactErrorUtils = { + invokeGuardedCallback: invokeGuardedCallback, + + /** + * Invoked by ReactTestUtils.Simulate so that any errors thrown by the event + * handler are sure to be rethrown by rethrowCaughtError. + */ + invokeGuardedCallbackWithCatch: invokeGuardedCallback, + + /** + * During execution of guarded functions we will capture the first error which + * we will rethrow to be handled by the top level error handler. + */ + rethrowCaughtError: function () { + if (caughtError) { + var error = caughtError; + caughtError = null; + throw error; + } + } + }; + + if (process.env.NODE_ENV !== 'production') { + /** + * To help development we can get better devtools integration by simulating a + * real browser event. + */ + if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') { + var fakeNode = document.createElement('react'); + ReactErrorUtils.invokeGuardedCallback = function (name, func, a, b) { + var boundFunc = func.bind(null, a, b); + var evtType = 'react-' + name; + fakeNode.addEventListener(evtType, boundFunc, false); + var evt = document.createEvent('Event'); + evt.initEvent(evtType, false, false); + fakeNode.dispatchEvent(evt); + fakeNode.removeEventListener(evtType, boundFunc, false); + }; + } + } + + module.exports = ReactErrorUtils; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 20 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2014-2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + + 'use strict'; + + var emptyFunction = __webpack_require__(21); + + /** + * Similar to invariant but only logs a warning if the condition is not met. + * This can be used to log issues in development environments in critical + * paths. Removing the logging code for production environments will keep the + * same logic and follow the same code paths. + */ + + var warning = emptyFunction; + + if (process.env.NODE_ENV !== 'production') { + warning = function warning(condition, format) { + for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { + args[_key - 2] = arguments[_key]; + } + + if (format === undefined) { + throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument'); + } + + if (format.indexOf('Failed Composite propType: ') === 0) { + return; // Ignore CompositeComponent proptype check. + } + + if (!condition) { + var argIndex = 0; + var message = 'Warning: ' + format.replace(/%s/g, function () { + return args[argIndex++]; + }); + if (typeof console !== 'undefined') { + console.error(message); + } + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + } catch (x) {} + } + }; + } + + module.exports = warning; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 21 */ +/***/ function(module, exports) { + + "use strict"; + + /** + * Copyright (c) 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */ + + function makeEmptyFunction(arg) { + return function () { + return arg; + }; + } + + /** + * This function accepts and discards inputs; it has no side effects. This is + * primarily useful idiomatically for overridable function endpoints which + * always need to be callable, since JS lacks a null-call idiom ala Cocoa. + */ + var emptyFunction = function emptyFunction() {}; + + emptyFunction.thatReturns = makeEmptyFunction; + emptyFunction.thatReturnsFalse = makeEmptyFunction(false); + emptyFunction.thatReturnsTrue = makeEmptyFunction(true); + emptyFunction.thatReturnsNull = makeEmptyFunction(null); + emptyFunction.thatReturnsThis = function () { + return this; + }; + emptyFunction.thatReturnsArgument = function (arg) { + return arg; + }; + + module.exports = emptyFunction; + +/***/ }, +/* 22 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2014-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule accumulateInto + * + */ + + 'use strict'; + + var _prodInvariant = __webpack_require__(7); + + var invariant = __webpack_require__(9); + + /** + * Accumulates items that must not be null or undefined into the first one. This + * is used to conserve memory by avoiding array allocations, and thus sacrifices + * API cleanness. Since `current` can be null before being passed in and not + * null after this function, make sure to assign it back to `current`: + * + * `a = accumulateInto(a, b);` + * + * This API should be sparingly used. Try `accumulate` for something cleaner. + * + * @return {*|array<*>} An accumulation of items. + */ + + function accumulateInto(current, next) { + !(next != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'accumulateInto(...): Accumulated items must not be null or undefined.') : _prodInvariant('30') : void 0; + + if (current == null) { + return next; + } + + // Both are not empty. Warning: Never call x.concat(y) when you are not + // certain that x is an Array (x could be a string with concat method). + if (Array.isArray(current)) { + if (Array.isArray(next)) { + current.push.apply(current, next); + return current; + } + current.push(next); + return current; + } + + if (Array.isArray(next)) { + // A bit too dangerous to mutate `next`. + return [current].concat(next); + } + + return [current, next]; + } + + module.exports = accumulateInto; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 23 */ +/***/ function(module, exports) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule forEachAccumulated + * + */ + + 'use strict'; + + /** + * @param {array} arr an "accumulation" of items which is either an Array or + * a single item. Useful when paired with the `accumulate` module. This is a + * simple utility that allows us to reason about a collection of items, but + * handling the case when there is exactly one item (and we do not need to + * allocate an array). + */ + + function forEachAccumulated(arr, cb, scope) { + if (Array.isArray(arr)) { + arr.forEach(cb, scope); + } else if (arr) { + cb.call(scope, arr); + } + } + + module.exports = forEachAccumulated; + +/***/ }, +/* 24 */ +/***/ function(module, exports) { + + /** + * Copyright (c) 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + + 'use strict'; + + var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); + + /** + * Simple, lightweight module assisting with the detection and context of + * Worker. Helps avoid circular dependencies and allows code to reason about + * whether or not they are in a Worker, even if they never include the main + * `ReactWorker` dependency. + */ + var ExecutionEnvironment = { + + canUseDOM: canUseDOM, + + canUseWorkers: typeof Worker !== 'undefined', + + canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent), + + canUseViewport: canUseDOM && !!window.screen, + + isInWorker: !canUseDOM // For now, this is true - might change in the future. + + }; + + module.exports = ExecutionEnvironment; + +/***/ }, +/* 25 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule FallbackCompositionState + */ + + 'use strict'; + + var _assign = __webpack_require__(26); + + var PooledClass = __webpack_require__(27); + + var getTextContentAccessor = __webpack_require__(28); + + /** + * This helper class stores information about text content of a target node, + * allowing comparison of content before and after a given event. + * + * Identify the node where selection currently begins, then observe + * both its text content and its current position in the DOM. Since the + * browser may natively replace the target node during composition, we can + * use its position to find its replacement. + * + * @param {DOMEventTarget} root + */ + function FallbackCompositionState(root) { + this._root = root; + this._startText = this.getText(); + this._fallbackText = null; + } + + _assign(FallbackCompositionState.prototype, { + destructor: function () { + this._root = null; + this._startText = null; + this._fallbackText = null; + }, + + /** + * Get current text of input. + * + * @return {string} + */ + getText: function () { + if ('value' in this._root) { + return this._root.value; + } + return this._root[getTextContentAccessor()]; + }, + + /** + * Determine the differing substring between the initially stored + * text content and the current content. + * + * @return {string} + */ + getData: function () { + if (this._fallbackText) { + return this._fallbackText; + } + + var start; + var startValue = this._startText; + var startLength = startValue.length; + var end; + var endValue = this.getText(); + var endLength = endValue.length; + + for (start = 0; start < startLength; start++) { + if (startValue[start] !== endValue[start]) { + break; + } + } + + var minEnd = startLength - start; + for (end = 1; end <= minEnd; end++) { + if (startValue[startLength - end] !== endValue[endLength - end]) { + break; + } + } + + var sliceTail = end > 1 ? 1 - end : undefined; + this._fallbackText = endValue.slice(start, sliceTail); + return this._fallbackText; + } + }); + + PooledClass.addPoolingTo(FallbackCompositionState); + + module.exports = FallbackCompositionState; + +/***/ }, +/* 26 */ +/***/ function(module, exports) { + + 'use strict'; + /* eslint-disable no-unused-vars */ + var hasOwnProperty = Object.prototype.hasOwnProperty; + var propIsEnumerable = Object.prototype.propertyIsEnumerable; + + function toObject(val) { + if (val === null || val === undefined) { + throw new TypeError('Object.assign cannot be called with null or undefined'); + } + + return Object(val); + } + + function shouldUseNative() { + try { + if (!Object.assign) { + return false; + } + + // Detect buggy property enumeration order in older V8 versions. + + // https://bugs.chromium.org/p/v8/issues/detail?id=4118 + var test1 = new String('abc'); // eslint-disable-line + test1[5] = 'de'; + if (Object.getOwnPropertyNames(test1)[0] === '5') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test2 = {}; + for (var i = 0; i < 10; i++) { + test2['_' + String.fromCharCode(i)] = i; + } + var order2 = Object.getOwnPropertyNames(test2).map(function (n) { + return test2[n]; + }); + if (order2.join('') !== '0123456789') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test3 = {}; + 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { + test3[letter] = letter; + }); + if (Object.keys(Object.assign({}, test3)).join('') !== + 'abcdefghijklmnopqrst') { + return false; + } + + return true; + } catch (e) { + // We don't expect any of the above to throw, but better to be safe. + return false; + } + } + + module.exports = shouldUseNative() ? Object.assign : function (target, source) { + var from; + var to = toObject(target); + var symbols; + + for (var s = 1; s < arguments.length; s++) { + from = Object(arguments[s]); + + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + + if (Object.getOwnPropertySymbols) { + symbols = Object.getOwnPropertySymbols(from); + for (var i = 0; i < symbols.length; i++) { + if (propIsEnumerable.call(from, symbols[i])) { + to[symbols[i]] = from[symbols[i]]; + } + } + } + } + + return to; + }; + + +/***/ }, +/* 27 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule PooledClass + */ + + 'use strict'; + + var _prodInvariant = __webpack_require__(7); + + var invariant = __webpack_require__(9); + + /** + * Static poolers. Several custom versions for each potential number of + * arguments. A completely generic pooler is easy to implement, but would + * require accessing the `arguments` object. In each of these, `this` refers to + * the Class itself, not an instance. If any others are needed, simply add them + * here, or in their own files. + */ + var oneArgumentPooler = function (copyFieldsFrom) { + var Klass = this; + if (Klass.instancePool.length) { + var instance = Klass.instancePool.pop(); + Klass.call(instance, copyFieldsFrom); + return instance; + } else { + return new Klass(copyFieldsFrom); + } + }; + + var twoArgumentPooler = function (a1, a2) { + var Klass = this; + if (Klass.instancePool.length) { + var instance = Klass.instancePool.pop(); + Klass.call(instance, a1, a2); + return instance; + } else { + return new Klass(a1, a2); + } + }; + + var threeArgumentPooler = function (a1, a2, a3) { + var Klass = this; + if (Klass.instancePool.length) { + var instance = Klass.instancePool.pop(); + Klass.call(instance, a1, a2, a3); + return instance; + } else { + return new Klass(a1, a2, a3); + } + }; + + var fourArgumentPooler = function (a1, a2, a3, a4) { + var Klass = this; + if (Klass.instancePool.length) { + var instance = Klass.instancePool.pop(); + Klass.call(instance, a1, a2, a3, a4); + return instance; + } else { + return new Klass(a1, a2, a3, a4); + } + }; + + var fiveArgumentPooler = function (a1, a2, a3, a4, a5) { + var Klass = this; + if (Klass.instancePool.length) { + var instance = Klass.instancePool.pop(); + Klass.call(instance, a1, a2, a3, a4, a5); + return instance; + } else { + return new Klass(a1, a2, a3, a4, a5); + } + }; + + var standardReleaser = function (instance) { + var Klass = this; + !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0; + instance.destructor(); + if (Klass.instancePool.length < Klass.poolSize) { + Klass.instancePool.push(instance); + } + }; + + var DEFAULT_POOL_SIZE = 10; + var DEFAULT_POOLER = oneArgumentPooler; + + /** + * Augments `CopyConstructor` to be a poolable class, augmenting only the class + * itself (statically) not adding any prototypical fields. Any CopyConstructor + * you give this may have a `poolSize` property, and will look for a + * prototypical `destructor` on instances. + * + * @param {Function} CopyConstructor Constructor that can be used to reset. + * @param {Function} pooler Customizable pooler. + */ + var addPoolingTo = function (CopyConstructor, pooler) { + var NewKlass = CopyConstructor; + NewKlass.instancePool = []; + NewKlass.getPooled = pooler || DEFAULT_POOLER; + if (!NewKlass.poolSize) { + NewKlass.poolSize = DEFAULT_POOL_SIZE; + } + NewKlass.release = standardReleaser; + return NewKlass; + }; + + var PooledClass = { + addPoolingTo: addPoolingTo, + oneArgumentPooler: oneArgumentPooler, + twoArgumentPooler: twoArgumentPooler, + threeArgumentPooler: threeArgumentPooler, + fourArgumentPooler: fourArgumentPooler, + fiveArgumentPooler: fiveArgumentPooler + }; + + module.exports = PooledClass; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 28 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule getTextContentAccessor + */ + + 'use strict'; + + var ExecutionEnvironment = __webpack_require__(24); + + var contentKey = null; + + /** + * Gets the key used to access text content on a DOM node. + * + * @return {?string} Key used to access text content. + * @internal + */ + function getTextContentAccessor() { + if (!contentKey && ExecutionEnvironment.canUseDOM) { + // Prefer textContent to innerText because many browsers support both but + // SVG elements don't support innerText even when
does. + contentKey = 'textContent' in document.documentElement ? 'textContent' : 'innerText'; + } + return contentKey; + } + + module.exports = getTextContentAccessor; + +/***/ }, +/* 29 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule SyntheticCompositionEvent + */ + + 'use strict'; + + var SyntheticEvent = __webpack_require__(30); + + /** + * @interface Event + * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents + */ + var CompositionEventInterface = { + data: null + }; + + /** + * @param {object} dispatchConfig Configuration used to dispatch this event. + * @param {string} dispatchMarker Marker identifying the event target. + * @param {object} nativeEvent Native browser event. + * @extends {SyntheticUIEvent} + */ + function SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { + return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); + } + + SyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface); + + module.exports = SyntheticCompositionEvent; + +/***/ }, +/* 30 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule SyntheticEvent + */ + + 'use strict'; + + var _assign = __webpack_require__(26); + + var PooledClass = __webpack_require__(27); + + var emptyFunction = __webpack_require__(21); + var warning = __webpack_require__(20); + + var didWarnForAddedNewProperty = false; + var isProxySupported = typeof Proxy === 'function'; + + var shouldBeReleasedProperties = ['dispatchConfig', '_targetInst', 'nativeEvent', 'isDefaultPrevented', 'isPropagationStopped', '_dispatchListeners', '_dispatchInstances']; + + /** + * @interface Event + * @see http://www.w3.org/TR/DOM-Level-3-Events/ + */ + var EventInterface = { + type: null, + target: null, + // currentTarget is set when dispatching; no use in copying it here + currentTarget: emptyFunction.thatReturnsNull, + eventPhase: null, + bubbles: null, + cancelable: null, + timeStamp: function (event) { + return event.timeStamp || Date.now(); + }, + defaultPrevented: null, + isTrusted: null + }; + + /** + * Synthetic events are dispatched by event plugins, typically in response to a + * top-level event delegation handler. + * + * These systems should generally use pooling to reduce the frequency of garbage + * collection. The system should check `isPersistent` to determine whether the + * event should be released into the pool after being dispatched. Users that + * need a persisted event should invoke `persist`. + * + * Synthetic events (and subclasses) implement the DOM Level 3 Events API by + * normalizing browser quirks. Subclasses do not necessarily have to implement a + * DOM interface; custom application-specific events can also subclass this. + * + * @param {object} dispatchConfig Configuration used to dispatch this event. + * @param {*} targetInst Marker identifying the event target. + * @param {object} nativeEvent Native browser event. + * @param {DOMEventTarget} nativeEventTarget Target node. + */ + function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) { + if (process.env.NODE_ENV !== 'production') { + // these have a getter/setter for warnings + delete this.nativeEvent; + delete this.preventDefault; + delete this.stopPropagation; + } + + this.dispatchConfig = dispatchConfig; + this._targetInst = targetInst; + this.nativeEvent = nativeEvent; + + var Interface = this.constructor.Interface; + for (var propName in Interface) { + if (!Interface.hasOwnProperty(propName)) { + continue; + } + if (process.env.NODE_ENV !== 'production') { + delete this[propName]; // this has a getter/setter for warnings + } + var normalize = Interface[propName]; + if (normalize) { + this[propName] = normalize(nativeEvent); + } else { + if (propName === 'target') { + this.target = nativeEventTarget; + } else { + this[propName] = nativeEvent[propName]; + } + } + } + + var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false; + if (defaultPrevented) { + this.isDefaultPrevented = emptyFunction.thatReturnsTrue; + } else { + this.isDefaultPrevented = emptyFunction.thatReturnsFalse; + } + this.isPropagationStopped = emptyFunction.thatReturnsFalse; + return this; + } + + _assign(SyntheticEvent.prototype, { + + preventDefault: function () { + this.defaultPrevented = true; + var event = this.nativeEvent; + if (!event) { + return; + } + + if (event.preventDefault) { + event.preventDefault(); + } else { + event.returnValue = false; + } + this.isDefaultPrevented = emptyFunction.thatReturnsTrue; + }, + + stopPropagation: function () { + var event = this.nativeEvent; + if (!event) { + return; + } + + if (event.stopPropagation) { + event.stopPropagation(); + } else { + event.cancelBubble = true; + } + this.isPropagationStopped = emptyFunction.thatReturnsTrue; + }, + + /** + * We release all dispatched `SyntheticEvent`s after each event loop, adding + * them back into the pool. This allows a way to hold onto a reference that + * won't be added back into the pool. + */ + persist: function () { + this.isPersistent = emptyFunction.thatReturnsTrue; + }, + + /** + * Checks if this event should be released back into the pool. + * + * @return {boolean} True if this should not be released, false otherwise. + */ + isPersistent: emptyFunction.thatReturnsFalse, + + /** + * `PooledClass` looks for `destructor` on each instance it releases. + */ + destructor: function () { + var Interface = this.constructor.Interface; + for (var propName in Interface) { + if (process.env.NODE_ENV !== 'production') { + Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName])); + } else { + this[propName] = null; + } + } + for (var i = 0; i < shouldBeReleasedProperties.length; i++) { + this[shouldBeReleasedProperties[i]] = null; + } + if (process.env.NODE_ENV !== 'production') { + Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null)); + Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', emptyFunction)); + Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', emptyFunction)); + } + } + + }); + + SyntheticEvent.Interface = EventInterface; + + if (process.env.NODE_ENV !== 'production') { + if (isProxySupported) { + /*eslint-disable no-func-assign */ + SyntheticEvent = new Proxy(SyntheticEvent, { + construct: function (target, args) { + return this.apply(target, Object.create(target.prototype), args); + }, + apply: function (constructor, that, args) { + return new Proxy(constructor.apply(that, args), { + set: function (target, prop, value) { + if (prop !== 'isPersistent' && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) { + process.env.NODE_ENV !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), 'This synthetic event is reused for performance reasons. If you\'re ' + 'seeing this, you\'re adding a new property in the synthetic event object. ' + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0; + didWarnForAddedNewProperty = true; + } + target[prop] = value; + return true; + } + }); + } + }); + /*eslint-enable no-func-assign */ + } + } + /** + * Helper to reduce boilerplate when creating subclasses. + * + * @param {function} Class + * @param {?object} Interface + */ + SyntheticEvent.augmentClass = function (Class, Interface) { + var Super = this; + + var E = function () {}; + E.prototype = Super.prototype; + var prototype = new E(); + + _assign(prototype, Class.prototype); + Class.prototype = prototype; + Class.prototype.constructor = Class; + + Class.Interface = _assign({}, Super.Interface, Interface); + Class.augmentClass = Super.augmentClass; + + PooledClass.addPoolingTo(Class, PooledClass.fourArgumentPooler); + }; + + PooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler); + + module.exports = SyntheticEvent; + + /** + * Helper to nullify syntheticEvent instance properties when destructing + * + * @param {object} SyntheticEvent + * @param {String} propName + * @return {object} defineProperty object + */ + function getPooledWarningPropertyDefinition(propName, getVal) { + var isFunction = typeof getVal === 'function'; + return { + configurable: true, + set: set, + get: get + }; + + function set(val) { + var action = isFunction ? 'setting the method' : 'setting the property'; + warn(action, 'This is effectively a no-op'); + return val; + } + + function get() { + var action = isFunction ? 'accessing the method' : 'accessing the property'; + var result = isFunction ? 'This is a no-op function' : 'This is set to null'; + warn(action, result); + return getVal; + } + + function warn(action, result) { + var warningCondition = false; + process.env.NODE_ENV !== 'production' ? warning(warningCondition, 'This synthetic event is reused for performance reasons. If you\'re seeing this, ' + 'you\'re %s `%s` on a released/nullified synthetic event. %s. ' + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0; + } + } + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 31 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule SyntheticInputEvent + */ + + 'use strict'; + + var SyntheticEvent = __webpack_require__(30); + + /** + * @interface Event + * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105 + * /#events-inputevents + */ + var InputEventInterface = { + data: null + }; + + /** + * @param {object} dispatchConfig Configuration used to dispatch this event. + * @param {string} dispatchMarker Marker identifying the event target. + * @param {object} nativeEvent Native browser event. + * @extends {SyntheticUIEvent} + */ + function SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { + return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); + } + + SyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface); + + module.exports = SyntheticInputEvent; + +/***/ }, +/* 32 */ +/***/ function(module, exports) { + + "use strict"; + + /** + * Copyright (c) 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + + /** + * Allows extraction of a minified key. Let's the build system minify keys + * without losing the ability to dynamically use key strings as values + * themselves. Pass in an object with a single key/val pair and it will return + * you the string key of that single record. Suppose you want to grab the + * value for a key 'className' inside of an object. Key/val minification may + * have aliased that key to be 'xa12'. keyOf({className: null}) will return + * 'xa12' in that case. Resolve keys you want to use once at startup time, then + * reuse those resolutions. + */ + var keyOf = function keyOf(oneKeyObj) { + var key; + for (key in oneKeyObj) { + if (!oneKeyObj.hasOwnProperty(key)) { + continue; + } + return key; + } + return null; + }; + + module.exports = keyOf; + +/***/ }, +/* 33 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ChangeEventPlugin + */ + + 'use strict'; + + var EventConstants = __webpack_require__(13); + var EventPluginHub = __webpack_require__(16); + var EventPropagators = __webpack_require__(15); + var ExecutionEnvironment = __webpack_require__(24); + var ReactDOMComponentTree = __webpack_require__(6); + var ReactUpdates = __webpack_require__(34); + var SyntheticEvent = __webpack_require__(30); + + var getEventTarget = __webpack_require__(50); + var isEventSupported = __webpack_require__(51); + var isTextInputElement = __webpack_require__(52); + var keyOf = __webpack_require__(32); + + var topLevelTypes = EventConstants.topLevelTypes; + + var eventTypes = { + change: { + phasedRegistrationNames: { + bubbled: keyOf({ onChange: null }), + captured: keyOf({ onChangeCapture: null }) + }, + dependencies: [topLevelTypes.topBlur, topLevelTypes.topChange, topLevelTypes.topClick, topLevelTypes.topFocus, topLevelTypes.topInput, topLevelTypes.topKeyDown, topLevelTypes.topKeyUp, topLevelTypes.topSelectionChange] + } + }; + + /** + * For IE shims + */ + var activeElement = null; + var activeElementInst = null; + var activeElementValue = null; + var activeElementValueProp = null; + + /** + * SECTION: handle `change` event + */ + function shouldUseChangeEvent(elem) { + var nodeName = elem.nodeName && elem.nodeName.toLowerCase(); + return nodeName === 'select' || nodeName === 'input' && elem.type === 'file'; + } + + var doesChangeEventBubble = false; + if (ExecutionEnvironment.canUseDOM) { + // See `handleChange` comment below + doesChangeEventBubble = isEventSupported('change') && (!('documentMode' in document) || document.documentMode > 8); + } + + function manualDispatchChangeEvent(nativeEvent) { + var event = SyntheticEvent.getPooled(eventTypes.change, activeElementInst, nativeEvent, getEventTarget(nativeEvent)); + EventPropagators.accumulateTwoPhaseDispatches(event); + + // If change and propertychange bubbled, we'd just bind to it like all the + // other events and have it go through ReactBrowserEventEmitter. Since it + // doesn't, we manually listen for the events and so we have to enqueue and + // process the abstract event manually. + // + // Batching is necessary here in order to ensure that all event handlers run + // before the next rerender (including event handlers attached to ancestor + // elements instead of directly on the input). Without this, controlled + // components don't work properly in conjunction with event bubbling because + // the component is rerendered and the value reverted before all the event + // handlers can run. See https://github.com/facebook/react/issues/708. + ReactUpdates.batchedUpdates(runEventInBatch, event); + } + + function runEventInBatch(event) { + EventPluginHub.enqueueEvents(event); + EventPluginHub.processEventQueue(false); + } + + function startWatchingForChangeEventIE8(target, targetInst) { + activeElement = target; + activeElementInst = targetInst; + activeElement.attachEvent('onchange', manualDispatchChangeEvent); + } + + function stopWatchingForChangeEventIE8() { + if (!activeElement) { + return; + } + activeElement.detachEvent('onchange', manualDispatchChangeEvent); + activeElement = null; + activeElementInst = null; + } + + function getTargetInstForChangeEvent(topLevelType, targetInst) { + if (topLevelType === topLevelTypes.topChange) { + return targetInst; + } + } + function handleEventsForChangeEventIE8(topLevelType, target, targetInst) { + if (topLevelType === topLevelTypes.topFocus) { + // stopWatching() should be a noop here but we call it just in case we + // missed a blur event somehow. + stopWatchingForChangeEventIE8(); + startWatchingForChangeEventIE8(target, targetInst); + } else if (topLevelType === topLevelTypes.topBlur) { + stopWatchingForChangeEventIE8(); + } + } + + /** + * SECTION: handle `input` event + */ + var isInputEventSupported = false; + if (ExecutionEnvironment.canUseDOM) { + // IE9 claims to support the input event but fails to trigger it when + // deleting text, so we ignore its input events. + // IE10+ fire input events to often, such when a placeholder + // changes or when an input with a placeholder is focused. + isInputEventSupported = isEventSupported('input') && (!('documentMode' in document) || document.documentMode > 11); + } + + /** + * (For IE <=11) Replacement getter/setter for the `value` property that gets + * set on the active element. + */ + var newValueProp = { + get: function () { + return activeElementValueProp.get.call(this); + }, + set: function (val) { + // Cast to a string so we can do equality checks. + activeElementValue = '' + val; + activeElementValueProp.set.call(this, val); + } + }; + + /** + * (For IE <=11) Starts tracking propertychange events on the passed-in element + * and override the value property so that we can distinguish user events from + * value changes in JS. + */ + function startWatchingForValueChange(target, targetInst) { + activeElement = target; + activeElementInst = targetInst; + activeElementValue = target.value; + activeElementValueProp = Object.getOwnPropertyDescriptor(target.constructor.prototype, 'value'); + + // Not guarded in a canDefineProperty check: IE8 supports defineProperty only + // on DOM elements + Object.defineProperty(activeElement, 'value', newValueProp); + if (activeElement.attachEvent) { + activeElement.attachEvent('onpropertychange', handlePropertyChange); + } else { + activeElement.addEventListener('propertychange', handlePropertyChange, false); + } + } + + /** + * (For IE <=11) Removes the event listeners from the currently-tracked element, + * if any exists. + */ + function stopWatchingForValueChange() { + if (!activeElement) { + return; + } + + // delete restores the original property definition + delete activeElement.value; + + if (activeElement.detachEvent) { + activeElement.detachEvent('onpropertychange', handlePropertyChange); + } else { + activeElement.removeEventListener('propertychange', handlePropertyChange, false); + } + + activeElement = null; + activeElementInst = null; + activeElementValue = null; + activeElementValueProp = null; + } + + /** + * (For IE <=11) Handles a propertychange event, sending a `change` event if + * the value of the active element has changed. + */ + function handlePropertyChange(nativeEvent) { + if (nativeEvent.propertyName !== 'value') { + return; + } + var value = nativeEvent.srcElement.value; + if (value === activeElementValue) { + return; + } + activeElementValue = value; + + manualDispatchChangeEvent(nativeEvent); + } + + /** + * If a `change` event should be fired, returns the target's ID. + */ + function getTargetInstForInputEvent(topLevelType, targetInst) { + if (topLevelType === topLevelTypes.topInput) { + // In modern browsers (i.e., not IE8 or IE9), the input event is exactly + // what we want so fall through here and trigger an abstract event + return targetInst; + } + } + + function handleEventsForInputEventIE(topLevelType, target, targetInst) { + if (topLevelType === topLevelTypes.topFocus) { + // In IE8, we can capture almost all .value changes by adding a + // propertychange handler and looking for events with propertyName + // equal to 'value' + // In IE9-11, propertychange fires for most input events but is buggy and + // doesn't fire when text is deleted, but conveniently, selectionchange + // appears to fire in all of the remaining cases so we catch those and + // forward the event if the value has changed + // In either case, we don't want to call the event handler if the value + // is changed from JS so we redefine a setter for `.value` that updates + // our activeElementValue variable, allowing us to ignore those changes + // + // stopWatching() should be a noop here but we call it just in case we + // missed a blur event somehow. + stopWatchingForValueChange(); + startWatchingForValueChange(target, targetInst); + } else if (topLevelType === topLevelTypes.topBlur) { + stopWatchingForValueChange(); + } + } + + // For IE8 and IE9. + function getTargetInstForInputEventIE(topLevelType, targetInst) { + if (topLevelType === topLevelTypes.topSelectionChange || topLevelType === topLevelTypes.topKeyUp || topLevelType === topLevelTypes.topKeyDown) { + // On the selectionchange event, the target is just document which isn't + // helpful for us so just check activeElement instead. + // + // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire + // propertychange on the first input event after setting `value` from a + // script and fires only keydown, keypress, keyup. Catching keyup usually + // gets it and catching keydown lets us fire an event for the first + // keystroke if user does a key repeat (it'll be a little delayed: right + // before the second keystroke). Other input methods (e.g., paste) seem to + // fire selectionchange normally. + if (activeElement && activeElement.value !== activeElementValue) { + activeElementValue = activeElement.value; + return activeElementInst; + } + } + } + + /** + * SECTION: handle `click` event + */ + function shouldUseClickEvent(elem) { + // Use the `click` event to detect changes to checkbox and radio inputs. + // This approach works across all browsers, whereas `change` does not fire + // until `blur` in IE8. + return elem.nodeName && elem.nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio'); + } + + function getTargetInstForClickEvent(topLevelType, targetInst) { + if (topLevelType === topLevelTypes.topClick) { + return targetInst; + } + } + + /** + * This plugin creates an `onChange` event that normalizes change events + * across form elements. This event fires at a time when it's possible to + * change the element's value without seeing a flicker. + * + * Supported elements are: + * - input (see `isTextInputElement`) + * - textarea + * - select + */ + var ChangeEventPlugin = { + + eventTypes: eventTypes, + + extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { + var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window; + + var getTargetInstFunc, handleEventFunc; + if (shouldUseChangeEvent(targetNode)) { + if (doesChangeEventBubble) { + getTargetInstFunc = getTargetInstForChangeEvent; + } else { + handleEventFunc = handleEventsForChangeEventIE8; + } + } else if (isTextInputElement(targetNode)) { + if (isInputEventSupported) { + getTargetInstFunc = getTargetInstForInputEvent; + } else { + getTargetInstFunc = getTargetInstForInputEventIE; + handleEventFunc = handleEventsForInputEventIE; + } + } else if (shouldUseClickEvent(targetNode)) { + getTargetInstFunc = getTargetInstForClickEvent; + } + + if (getTargetInstFunc) { + var inst = getTargetInstFunc(topLevelType, targetInst); + if (inst) { + var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, nativeEventTarget); + event.type = 'change'; + EventPropagators.accumulateTwoPhaseDispatches(event); + return event; + } + } + + if (handleEventFunc) { + handleEventFunc(topLevelType, targetNode, targetInst); + } + } + + }; + + module.exports = ChangeEventPlugin; + +/***/ }, +/* 34 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactUpdates + */ + + 'use strict'; + + var _prodInvariant = __webpack_require__(7), + _assign = __webpack_require__(26); + + var CallbackQueue = __webpack_require__(35); + var PooledClass = __webpack_require__(27); + var ReactFeatureFlags = __webpack_require__(36); + var ReactReconciler = __webpack_require__(37); + var Transaction = __webpack_require__(49); + + var invariant = __webpack_require__(9); + + var dirtyComponents = []; + var updateBatchNumber = 0; + var asapCallbackQueue = CallbackQueue.getPooled(); + var asapEnqueued = false; + + var batchingStrategy = null; + + function ensureInjected() { + !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching strategy') : _prodInvariant('123') : void 0; + } + + var NESTED_UPDATES = { + initialize: function () { + this.dirtyComponentsLength = dirtyComponents.length; + }, + close: function () { + if (this.dirtyComponentsLength !== dirtyComponents.length) { + // Additional updates were enqueued by componentDidUpdate handlers or + // similar; before our own UPDATE_QUEUEING wrapper closes, we want to run + // these new updates so that if A's componentDidUpdate calls setState on + // B, B will update before the callback A's updater provided when calling + // setState. + dirtyComponents.splice(0, this.dirtyComponentsLength); + flushBatchedUpdates(); + } else { + dirtyComponents.length = 0; + } + } + }; + + var UPDATE_QUEUEING = { + initialize: function () { + this.callbackQueue.reset(); + }, + close: function () { + this.callbackQueue.notifyAll(); + } + }; + + var TRANSACTION_WRAPPERS = [NESTED_UPDATES, UPDATE_QUEUEING]; + + function ReactUpdatesFlushTransaction() { + this.reinitializeTransaction(); + this.dirtyComponentsLength = null; + this.callbackQueue = CallbackQueue.getPooled(); + this.reconcileTransaction = ReactUpdates.ReactReconcileTransaction.getPooled( + /* useCreateElement */true); + } + + _assign(ReactUpdatesFlushTransaction.prototype, Transaction.Mixin, { + getTransactionWrappers: function () { + return TRANSACTION_WRAPPERS; + }, + + destructor: function () { + this.dirtyComponentsLength = null; + CallbackQueue.release(this.callbackQueue); + this.callbackQueue = null; + ReactUpdates.ReactReconcileTransaction.release(this.reconcileTransaction); + this.reconcileTransaction = null; + }, + + perform: function (method, scope, a) { + // Essentially calls `this.reconcileTransaction.perform(method, scope, a)` + // with this transaction's wrappers around it. + return Transaction.Mixin.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, method, scope, a); + } + }); + + PooledClass.addPoolingTo(ReactUpdatesFlushTransaction); + + function batchedUpdates(callback, a, b, c, d, e) { + ensureInjected(); + batchingStrategy.batchedUpdates(callback, a, b, c, d, e); + } + + /** + * Array comparator for ReactComponents by mount ordering. + * + * @param {ReactComponent} c1 first component you're comparing + * @param {ReactComponent} c2 second component you're comparing + * @return {number} Return value usable by Array.prototype.sort(). + */ + function mountOrderComparator(c1, c2) { + return c1._mountOrder - c2._mountOrder; + } + + function runBatchedUpdates(transaction) { + var len = transaction.dirtyComponentsLength; + !(len === dirtyComponents.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected flush transaction\'s stored dirty-components length (%s) to match dirty-components array length (%s).', len, dirtyComponents.length) : _prodInvariant('124', len, dirtyComponents.length) : void 0; + + // Since reconciling a component higher in the owner hierarchy usually (not + // always -- see shouldComponentUpdate()) will reconcile children, reconcile + // them before their children by sorting the array. + dirtyComponents.sort(mountOrderComparator); + + // Any updates enqueued while reconciling must be performed after this entire + // batch. Otherwise, if dirtyComponents is [A, B] where A has children B and + // C, B could update twice in a single batch if C's render enqueues an update + // to B (since B would have already updated, we should skip it, and the only + // way we can know to do so is by checking the batch counter). + updateBatchNumber++; + + for (var i = 0; i < len; i++) { + // If a component is unmounted before pending changes apply, it will still + // be here, but we assume that it has cleared its _pendingCallbacks and + // that performUpdateIfNecessary is a noop. + var component = dirtyComponents[i]; + + // If performUpdateIfNecessary happens to enqueue any new updates, we + // shouldn't execute the callbacks until the next render happens, so + // stash the callbacks first + var callbacks = component._pendingCallbacks; + component._pendingCallbacks = null; + + var markerName; + if (ReactFeatureFlags.logTopLevelRenders) { + var namedComponent = component; + // Duck type TopLevelWrapper. This is probably always true. + if (component._currentElement.props === component._renderedComponent._currentElement) { + namedComponent = component._renderedComponent; + } + markerName = 'React update: ' + namedComponent.getName(); + console.time(markerName); + } + + ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction, updateBatchNumber); + + if (markerName) { + console.timeEnd(markerName); + } + + if (callbacks) { + for (var j = 0; j < callbacks.length; j++) { + transaction.callbackQueue.enqueue(callbacks[j], component.getPublicInstance()); + } + } + } + } + + var flushBatchedUpdates = function () { + // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents + // array and perform any updates enqueued by mount-ready handlers (i.e., + // componentDidUpdate) but we need to check here too in order to catch + // updates enqueued by setState callbacks and asap calls. + while (dirtyComponents.length || asapEnqueued) { + if (dirtyComponents.length) { + var transaction = ReactUpdatesFlushTransaction.getPooled(); + transaction.perform(runBatchedUpdates, null, transaction); + ReactUpdatesFlushTransaction.release(transaction); + } + + if (asapEnqueued) { + asapEnqueued = false; + var queue = asapCallbackQueue; + asapCallbackQueue = CallbackQueue.getPooled(); + queue.notifyAll(); + CallbackQueue.release(queue); + } + } + }; + + /** + * Mark a component as needing a rerender, adding an optional callback to a + * list of functions which will be executed once the rerender occurs. + */ + function enqueueUpdate(component) { + ensureInjected(); + + // Various parts of our code (such as ReactCompositeComponent's + // _renderValidatedComponent) assume that calls to render aren't nested; + // verify that that's the case. (This is called by each top-level update + // function, like setState, forceUpdate, etc.; creation and + // destruction of top-level components is guarded in ReactMount.) + + if (!batchingStrategy.isBatchingUpdates) { + batchingStrategy.batchedUpdates(enqueueUpdate, component); + return; + } + + dirtyComponents.push(component); + if (component._updateBatchNumber == null) { + component._updateBatchNumber = updateBatchNumber + 1; + } + } + + /** + * Enqueue a callback to be run at the end of the current batching cycle. Throws + * if no updates are currently being performed. + */ + function asap(callback, context) { + !batchingStrategy.isBatchingUpdates ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates.asap: Can\'t enqueue an asap callback in a context whereupdates are not being batched.') : _prodInvariant('125') : void 0; + asapCallbackQueue.enqueue(callback, context); + asapEnqueued = true; + } + + var ReactUpdatesInjection = { + injectReconcileTransaction: function (ReconcileTransaction) { + !ReconcileTransaction ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : _prodInvariant('126') : void 0; + ReactUpdates.ReactReconcileTransaction = ReconcileTransaction; + }, + + injectBatchingStrategy: function (_batchingStrategy) { + !_batchingStrategy ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batching strategy') : _prodInvariant('127') : void 0; + !(typeof _batchingStrategy.batchedUpdates === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : _prodInvariant('128') : void 0; + !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : _prodInvariant('129') : void 0; + batchingStrategy = _batchingStrategy; + } + }; + + var ReactUpdates = { + /** + * React references `ReactReconcileTransaction` using this property in order + * to allow dependency injection. + * + * @internal + */ + ReactReconcileTransaction: null, + + batchedUpdates: batchedUpdates, + enqueueUpdate: enqueueUpdate, + flushBatchedUpdates: flushBatchedUpdates, + injection: ReactUpdatesInjection, + asap: asap + }; + + module.exports = ReactUpdates; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 35 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule CallbackQueue + */ + + 'use strict'; + + var _prodInvariant = __webpack_require__(7), + _assign = __webpack_require__(26); + + var PooledClass = __webpack_require__(27); + + var invariant = __webpack_require__(9); + + /** + * A specialized pseudo-event module to help keep track of components waiting to + * be notified when their DOM representations are available for use. + * + * This implements `PooledClass`, so you should never need to instantiate this. + * Instead, use `CallbackQueue.getPooled()`. + * + * @class ReactMountReady + * @implements PooledClass + * @internal + */ + function CallbackQueue() { + this._callbacks = null; + this._contexts = null; + } + + _assign(CallbackQueue.prototype, { + + /** + * Enqueues a callback to be invoked when `notifyAll` is invoked. + * + * @param {function} callback Invoked when `notifyAll` is invoked. + * @param {?object} context Context to call `callback` with. + * @internal + */ + enqueue: function (callback, context) { + this._callbacks = this._callbacks || []; + this._contexts = this._contexts || []; + this._callbacks.push(callback); + this._contexts.push(context); + }, + + /** + * Invokes all enqueued callbacks and clears the queue. This is invoked after + * the DOM representation of a component has been created or updated. + * + * @internal + */ + notifyAll: function () { + var callbacks = this._callbacks; + var contexts = this._contexts; + if (callbacks) { + !(callbacks.length === contexts.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Mismatched list of contexts in callback queue') : _prodInvariant('24') : void 0; + this._callbacks = null; + this._contexts = null; + for (var i = 0; i < callbacks.length; i++) { + callbacks[i].call(contexts[i]); + } + callbacks.length = 0; + contexts.length = 0; + } + }, + + checkpoint: function () { + return this._callbacks ? this._callbacks.length : 0; + }, + + rollback: function (len) { + if (this._callbacks) { + this._callbacks.length = len; + this._contexts.length = len; + } + }, + + /** + * Resets the internal queue. + * + * @internal + */ + reset: function () { + this._callbacks = null; + this._contexts = null; + }, + + /** + * `PooledClass` looks for this. + */ + destructor: function () { + this.reset(); + } + + }); + + PooledClass.addPoolingTo(CallbackQueue); + + module.exports = CallbackQueue; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 36 */ +/***/ function(module, exports) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactFeatureFlags + * + */ + + 'use strict'; + + var ReactFeatureFlags = { + // When true, call console.time() before and .timeEnd() after each top-level + // render (both initial renders and updates). Useful when looking at prod-mode + // timeline profiles in Chrome, for example. + logTopLevelRenders: false + }; + + module.exports = ReactFeatureFlags; + +/***/ }, +/* 37 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactReconciler + */ + + 'use strict'; + + var ReactRef = __webpack_require__(38); + var ReactInstrumentation = __webpack_require__(40); + + var warning = __webpack_require__(20); + + /** + * Helper to call ReactRef.attachRefs with this composite component, split out + * to avoid allocations in the transaction mount-ready queue. + */ + function attachRefs() { + ReactRef.attachRefs(this, this._currentElement); + } + + var ReactReconciler = { + + /** + * Initializes the component, renders markup, and registers event listeners. + * + * @param {ReactComponent} internalInstance + * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction + * @param {?object} the containing host component instance + * @param {?object} info about the host container + * @return {?string} Rendered markup to be inserted into the DOM. + * @final + * @internal + */ + mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context) { + if (process.env.NODE_ENV !== 'production') { + if (internalInstance._debugID !== 0) { + ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID, internalInstance._currentElement); + ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'mountComponent'); + } + } + var markup = internalInstance.mountComponent(transaction, hostParent, hostContainerInfo, context); + if (internalInstance._currentElement && internalInstance._currentElement.ref != null) { + transaction.getReactMountReady().enqueue(attachRefs, internalInstance); + } + if (process.env.NODE_ENV !== 'production') { + if (internalInstance._debugID !== 0) { + ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'mountComponent'); + ReactInstrumentation.debugTool.onMountComponent(internalInstance._debugID); + } + } + return markup; + }, + + /** + * Returns a value that can be passed to + * ReactComponentEnvironment.replaceNodeWithMarkup. + */ + getHostNode: function (internalInstance) { + return internalInstance.getHostNode(); + }, + + /** + * Releases any resources allocated by `mountComponent`. + * + * @final + * @internal + */ + unmountComponent: function (internalInstance, safely) { + if (process.env.NODE_ENV !== 'production') { + if (internalInstance._debugID !== 0) { + ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'unmountComponent'); + } + } + ReactRef.detachRefs(internalInstance, internalInstance._currentElement); + internalInstance.unmountComponent(safely); + if (process.env.NODE_ENV !== 'production') { + if (internalInstance._debugID !== 0) { + ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'unmountComponent'); + ReactInstrumentation.debugTool.onUnmountComponent(internalInstance._debugID); + } + } + }, + + /** + * Update a component using a new element. + * + * @param {ReactComponent} internalInstance + * @param {ReactElement} nextElement + * @param {ReactReconcileTransaction} transaction + * @param {object} context + * @internal + */ + receiveComponent: function (internalInstance, nextElement, transaction, context) { + var prevElement = internalInstance._currentElement; + + if (nextElement === prevElement && context === internalInstance._context) { + // Since elements are immutable after the owner is rendered, + // we can do a cheap identity compare here to determine if this is a + // superfluous reconcile. It's possible for state to be mutable but such + // change should trigger an update of the owner which would recreate + // the element. We explicitly check for the existence of an owner since + // it's possible for an element created outside a composite to be + // deeply mutated and reused. + + // TODO: Bailing out early is just a perf optimization right? + // TODO: Removing the return statement should affect correctness? + return; + } + + if (process.env.NODE_ENV !== 'production') { + if (internalInstance._debugID !== 0) { + ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, nextElement); + ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'receiveComponent'); + } + } + + var refsChanged = ReactRef.shouldUpdateRefs(prevElement, nextElement); + + if (refsChanged) { + ReactRef.detachRefs(internalInstance, prevElement); + } + + internalInstance.receiveComponent(nextElement, transaction, context); + + if (refsChanged && internalInstance._currentElement && internalInstance._currentElement.ref != null) { + transaction.getReactMountReady().enqueue(attachRefs, internalInstance); + } + + if (process.env.NODE_ENV !== 'production') { + if (internalInstance._debugID !== 0) { + ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'receiveComponent'); + ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID); + } + } + }, + + /** + * Flush any dirty changes in a component. + * + * @param {ReactComponent} internalInstance + * @param {ReactReconcileTransaction} transaction + * @internal + */ + performUpdateIfNecessary: function (internalInstance, transaction, updateBatchNumber) { + if (internalInstance._updateBatchNumber !== updateBatchNumber) { + // The component's enqueued batch number should always be the current + // batch or the following one. + process.env.NODE_ENV !== 'production' ? warning(internalInstance._updateBatchNumber == null || internalInstance._updateBatchNumber === updateBatchNumber + 1, 'performUpdateIfNecessary: Unexpected batch number (current %s, ' + 'pending %s)', updateBatchNumber, internalInstance._updateBatchNumber) : void 0; + return; + } + if (process.env.NODE_ENV !== 'production') { + if (internalInstance._debugID !== 0) { + ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'performUpdateIfNecessary'); + ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, internalInstance._currentElement); + } + } + internalInstance.performUpdateIfNecessary(transaction); + if (process.env.NODE_ENV !== 'production') { + if (internalInstance._debugID !== 0) { + ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'performUpdateIfNecessary'); + ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID); + } + } + } + + }; + + module.exports = ReactReconciler; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 38 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactRef + */ + + 'use strict'; + + var ReactOwner = __webpack_require__(39); + + var ReactRef = {}; + + function attachRef(ref, component, owner) { + if (typeof ref === 'function') { + ref(component.getPublicInstance()); + } else { + // Legacy ref + ReactOwner.addComponentAsRefTo(component, ref, owner); + } + } + + function detachRef(ref, component, owner) { + if (typeof ref === 'function') { + ref(null); + } else { + // Legacy ref + ReactOwner.removeComponentAsRefFrom(component, ref, owner); + } + } + + ReactRef.attachRefs = function (instance, element) { + if (element === null || element === false) { + return; + } + var ref = element.ref; + if (ref != null) { + attachRef(ref, instance, element._owner); + } + }; + + ReactRef.shouldUpdateRefs = function (prevElement, nextElement) { + // If either the owner or a `ref` has changed, make sure the newest owner + // has stored a reference to `this`, and the previous owner (if different) + // has forgotten the reference to `this`. We use the element instead + // of the public this.props because the post processing cannot determine + // a ref. The ref conceptually lives on the element. + + // TODO: Should this even be possible? The owner cannot change because + // it's forbidden by shouldUpdateReactComponent. The ref can change + // if you swap the keys of but not the refs. Reconsider where this check + // is made. It probably belongs where the key checking and + // instantiateReactComponent is done. + + var prevEmpty = prevElement === null || prevElement === false; + var nextEmpty = nextElement === null || nextElement === false; + + return( + // This has a few false positives w/r/t empty components. + prevEmpty || nextEmpty || nextElement.ref !== prevElement.ref || + // If owner changes but we have an unchanged function ref, don't update refs + typeof nextElement.ref === 'string' && nextElement._owner !== prevElement._owner + ); + }; + + ReactRef.detachRefs = function (instance, element) { + if (element === null || element === false) { + return; + } + var ref = element.ref; + if (ref != null) { + detachRef(ref, instance, element._owner); + } + }; + + module.exports = ReactRef; + +/***/ }, +/* 39 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactOwner + */ + + 'use strict'; + + var _prodInvariant = __webpack_require__(7); + + var invariant = __webpack_require__(9); + + /** + * ReactOwners are capable of storing references to owned components. + * + * All components are capable of //being// referenced by owner components, but + * only ReactOwner components are capable of //referencing// owned components. + * The named reference is known as a "ref". + * + * Refs are available when mounted and updated during reconciliation. + * + * var MyComponent = React.createClass({ + * render: function() { + * return ( + *
+ * + *
+ * ); + * }, + * handleClick: function() { + * this.refs.custom.handleClick(); + * }, + * componentDidMount: function() { + * this.refs.custom.initialize(); + * } + * }); + * + * Refs should rarely be used. When refs are used, they should only be done to + * control data that is not handled by React's data flow. + * + * @class ReactOwner + */ + var ReactOwner = { + + /** + * @param {?object} object + * @return {boolean} True if `object` is a valid owner. + * @final + */ + isValidOwner: function (object) { + return !!(object && typeof object.attachRef === 'function' && typeof object.detachRef === 'function'); + }, + + /** + * Adds a component by ref to an owner component. + * + * @param {ReactComponent} component Component to reference. + * @param {string} ref Name by which to refer to the component. + * @param {ReactOwner} owner Component on which to record the ref. + * @final + * @internal + */ + addComponentAsRefTo: function (component, ref, owner) { + !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component\'s `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).') : _prodInvariant('119') : void 0; + owner.attachRef(ref, component); + }, + + /** + * Removes a component by ref from an owner component. + * + * @param {ReactComponent} component Component to dereference. + * @param {string} ref Name of the ref to remove. + * @param {ReactOwner} owner Component on which the ref is recorded. + * @final + * @internal + */ + removeComponentAsRefFrom: function (component, ref, owner) { + !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. You might be removing a ref to a component that was not created inside a component\'s `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).') : _prodInvariant('120') : void 0; + var ownerPublicInstance = owner.getPublicInstance(); + // Check that `component`'s owner is still alive and that `component` is still the current ref + // because we do not want to detach the ref if another component stole it. + if (ownerPublicInstance && ownerPublicInstance.refs[ref] === component.getPublicInstance()) { + owner.detachRef(ref); + } + } + + }; + + module.exports = ReactOwner; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 40 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2016-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactInstrumentation + */ + + 'use strict'; + + var debugTool = null; + + if (process.env.NODE_ENV !== 'production') { + var ReactDebugTool = __webpack_require__(41); + debugTool = ReactDebugTool; + } + + module.exports = { debugTool: debugTool }; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 41 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2016-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactDebugTool + */ + + 'use strict'; + + var ReactInvalidSetStateWarningDevTool = __webpack_require__(42); + var ReactHostOperationHistoryDevtool = __webpack_require__(43); + var ReactComponentTreeDevtool = __webpack_require__(44); + var ReactChildrenMutationWarningDevtool = __webpack_require__(46); + var ExecutionEnvironment = __webpack_require__(24); + + var performanceNow = __webpack_require__(47); + var warning = __webpack_require__(20); + + var eventHandlers = []; + var handlerDoesThrowForEvent = {}; + + function emitEvent(handlerFunctionName, arg1, arg2, arg3, arg4, arg5) { + eventHandlers.forEach(function (handler) { + try { + if (handler[handlerFunctionName]) { + handler[handlerFunctionName](arg1, arg2, arg3, arg4, arg5); + } + } catch (e) { + process.env.NODE_ENV !== 'production' ? warning(handlerDoesThrowForEvent[handlerFunctionName], 'exception thrown by devtool while handling %s: %s', handlerFunctionName, e + '\n' + e.stack) : void 0; + handlerDoesThrowForEvent[handlerFunctionName] = true; + } + }); + } + + var isProfiling = false; + var flushHistory = []; + var lifeCycleTimerStack = []; + var currentFlushNesting = 0; + var currentFlushMeasurements = null; + var currentFlushStartTime = null; + var currentTimerDebugID = null; + var currentTimerStartTime = null; + var currentTimerNestedFlushDuration = null; + var currentTimerType = null; + + var lifeCycleTimerHasWarned = false; + + function clearHistory() { + ReactComponentTreeDevtool.purgeUnmountedComponents(); + ReactHostOperationHistoryDevtool.clearHistory(); + } + + function getTreeSnapshot(registeredIDs) { + return registeredIDs.reduce(function (tree, id) { + var ownerID = ReactComponentTreeDevtool.getOwnerID(id); + var parentID = ReactComponentTreeDevtool.getParentID(id); + tree[id] = { + displayName: ReactComponentTreeDevtool.getDisplayName(id), + text: ReactComponentTreeDevtool.getText(id), + updateCount: ReactComponentTreeDevtool.getUpdateCount(id), + childIDs: ReactComponentTreeDevtool.getChildIDs(id), + // Text nodes don't have owners but this is close enough. + ownerID: ownerID || ReactComponentTreeDevtool.getOwnerID(parentID), + parentID: parentID + }; + return tree; + }, {}); + } + + function resetMeasurements() { + var previousStartTime = currentFlushStartTime; + var previousMeasurements = currentFlushMeasurements || []; + var previousOperations = ReactHostOperationHistoryDevtool.getHistory(); + + if (currentFlushNesting === 0) { + currentFlushStartTime = null; + currentFlushMeasurements = null; + clearHistory(); + return; + } + + if (previousMeasurements.length || previousOperations.length) { + var registeredIDs = ReactComponentTreeDevtool.getRegisteredIDs(); + flushHistory.push({ + duration: performanceNow() - previousStartTime, + measurements: previousMeasurements || [], + operations: previousOperations || [], + treeSnapshot: getTreeSnapshot(registeredIDs) + }); + } + + clearHistory(); + currentFlushStartTime = performanceNow(); + currentFlushMeasurements = []; + } + + function checkDebugID(debugID) { + process.env.NODE_ENV !== 'production' ? warning(debugID, 'ReactDebugTool: debugID may not be empty.') : void 0; + } + + function beginLifeCycleTimer(debugID, timerType) { + if (currentFlushNesting === 0) { + return; + } + if (currentTimerType && !lifeCycleTimerHasWarned) { + process.env.NODE_ENV !== 'production' ? warning(false, 'There is an internal error in the React performance measurement code. ' + 'Did not expect %s timer to start while %s timer is still in ' + 'progress for %s instance.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0; + lifeCycleTimerHasWarned = true; + } + currentTimerStartTime = performanceNow(); + currentTimerNestedFlushDuration = 0; + currentTimerDebugID = debugID; + currentTimerType = timerType; + } + + function endLifeCycleTimer(debugID, timerType) { + if (currentFlushNesting === 0) { + return; + } + if (currentTimerType !== timerType && !lifeCycleTimerHasWarned) { + process.env.NODE_ENV !== 'production' ? warning(false, 'There is an internal error in the React performance measurement code. ' + 'We did not expect %s timer to stop while %s timer is still in ' + 'progress for %s instance. Please report this as a bug in React.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0; + lifeCycleTimerHasWarned = true; + } + if (isProfiling) { + currentFlushMeasurements.push({ + timerType: timerType, + instanceID: debugID, + duration: performanceNow() - currentTimerStartTime - currentTimerNestedFlushDuration + }); + } + currentTimerStartTime = null; + currentTimerNestedFlushDuration = null; + currentTimerDebugID = null; + currentTimerType = null; + } + + function pauseCurrentLifeCycleTimer() { + var currentTimer = { + startTime: currentTimerStartTime, + nestedFlushStartTime: performanceNow(), + debugID: currentTimerDebugID, + timerType: currentTimerType + }; + lifeCycleTimerStack.push(currentTimer); + currentTimerStartTime = null; + currentTimerNestedFlushDuration = null; + currentTimerDebugID = null; + currentTimerType = null; + } + + function resumeCurrentLifeCycleTimer() { + var _lifeCycleTimerStack$ = lifeCycleTimerStack.pop(); + + var startTime = _lifeCycleTimerStack$.startTime; + var nestedFlushStartTime = _lifeCycleTimerStack$.nestedFlushStartTime; + var debugID = _lifeCycleTimerStack$.debugID; + var timerType = _lifeCycleTimerStack$.timerType; + + var nestedFlushDuration = performanceNow() - nestedFlushStartTime; + currentTimerStartTime = startTime; + currentTimerNestedFlushDuration += nestedFlushDuration; + currentTimerDebugID = debugID; + currentTimerType = timerType; + } + + var ReactDebugTool = { + addDevtool: function (devtool) { + eventHandlers.push(devtool); + }, + removeDevtool: function (devtool) { + for (var i = 0; i < eventHandlers.length; i++) { + if (eventHandlers[i] === devtool) { + eventHandlers.splice(i, 1); + i--; + } + } + }, + isProfiling: function () { + return isProfiling; + }, + beginProfiling: function () { + if (isProfiling) { + return; + } + + isProfiling = true; + flushHistory.length = 0; + resetMeasurements(); + ReactDebugTool.addDevtool(ReactHostOperationHistoryDevtool); + }, + endProfiling: function () { + if (!isProfiling) { + return; + } + + isProfiling = false; + resetMeasurements(); + ReactDebugTool.removeDevtool(ReactHostOperationHistoryDevtool); + }, + getFlushHistory: function () { + return flushHistory; + }, + onBeginFlush: function () { + currentFlushNesting++; + resetMeasurements(); + pauseCurrentLifeCycleTimer(); + emitEvent('onBeginFlush'); + }, + onEndFlush: function () { + resetMeasurements(); + currentFlushNesting--; + resumeCurrentLifeCycleTimer(); + emitEvent('onEndFlush'); + }, + onBeginLifeCycleTimer: function (debugID, timerType) { + checkDebugID(debugID); + emitEvent('onBeginLifeCycleTimer', debugID, timerType); + beginLifeCycleTimer(debugID, timerType); + }, + onEndLifeCycleTimer: function (debugID, timerType) { + checkDebugID(debugID); + endLifeCycleTimer(debugID, timerType); + emitEvent('onEndLifeCycleTimer', debugID, timerType); + }, + onBeginReconcilerTimer: function (debugID, timerType) { + checkDebugID(debugID); + emitEvent('onBeginReconcilerTimer', debugID, timerType); + }, + onEndReconcilerTimer: function (debugID, timerType) { + checkDebugID(debugID); + emitEvent('onEndReconcilerTimer', debugID, timerType); + }, + onError: function (debugID) { + if (currentTimerDebugID != null) { + endLifeCycleTimer(currentTimerDebugID, currentTimerType); + } + emitEvent('onError', debugID); + }, + onBeginProcessingChildContext: function () { + emitEvent('onBeginProcessingChildContext'); + }, + onEndProcessingChildContext: function () { + emitEvent('onEndProcessingChildContext'); + }, + onHostOperation: function (debugID, type, payload) { + checkDebugID(debugID); + emitEvent('onHostOperation', debugID, type, payload); + }, + onComponentHasMounted: function (debugID) { + checkDebugID(debugID); + emitEvent('onComponentHasMounted', debugID); + }, + onComponentHasUpdated: function (debugID) { + checkDebugID(debugID); + emitEvent('onComponentHasUpdated', debugID); + }, + onSetState: function () { + emitEvent('onSetState'); + }, + onSetDisplayName: function (debugID, displayName) { + checkDebugID(debugID); + emitEvent('onSetDisplayName', debugID, displayName); + }, + onSetChildren: function (debugID, childDebugIDs) { + checkDebugID(debugID); + childDebugIDs.forEach(checkDebugID); + emitEvent('onSetChildren', debugID, childDebugIDs); + }, + onSetOwner: function (debugID, ownerDebugID) { + checkDebugID(debugID); + emitEvent('onSetOwner', debugID, ownerDebugID); + }, + onSetParent: function (debugID, parentDebugID) { + checkDebugID(debugID); + emitEvent('onSetParent', debugID, parentDebugID); + }, + onSetText: function (debugID, text) { + checkDebugID(debugID); + emitEvent('onSetText', debugID, text); + }, + onMountRootComponent: function (debugID) { + checkDebugID(debugID); + emitEvent('onMountRootComponent', debugID); + }, + onBeforeMountComponent: function (debugID, element) { + checkDebugID(debugID); + emitEvent('onBeforeMountComponent', debugID, element); + }, + onMountComponent: function (debugID) { + checkDebugID(debugID); + emitEvent('onMountComponent', debugID); + }, + onBeforeUpdateComponent: function (debugID, element) { + checkDebugID(debugID); + emitEvent('onBeforeUpdateComponent', debugID, element); + }, + onUpdateComponent: function (debugID) { + checkDebugID(debugID); + emitEvent('onUpdateComponent', debugID); + }, + onUnmountComponent: function (debugID) { + checkDebugID(debugID); + emitEvent('onUnmountComponent', debugID); + }, + onTestEvent: function () { + emitEvent('onTestEvent'); + } + }; + + ReactDebugTool.addDevtool(ReactInvalidSetStateWarningDevTool); + ReactDebugTool.addDevtool(ReactComponentTreeDevtool); + ReactDebugTool.addDevtool(ReactChildrenMutationWarningDevtool); + var url = ExecutionEnvironment.canUseDOM && window.location.href || ''; + if (/[?&]react_perf\b/.test(url)) { + ReactDebugTool.beginProfiling(); + } + + module.exports = ReactDebugTool; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 42 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2016-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactInvalidSetStateWarningDevTool + */ + + 'use strict'; + + var warning = __webpack_require__(20); + + if (process.env.NODE_ENV !== 'production') { + var processingChildContext = false; + + var warnInvalidSetState = function () { + process.env.NODE_ENV !== 'production' ? warning(!processingChildContext, 'setState(...): Cannot call setState() inside getChildContext()') : void 0; + }; + } + + var ReactInvalidSetStateWarningDevTool = { + onBeginProcessingChildContext: function () { + processingChildContext = true; + }, + onEndProcessingChildContext: function () { + processingChildContext = false; + }, + onSetState: function () { + warnInvalidSetState(); + } + }; + + module.exports = ReactInvalidSetStateWarningDevTool; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 43 */ +/***/ function(module, exports) { + + /** + * Copyright 2016-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactHostOperationHistoryDevtool + */ + + 'use strict'; + + var history = []; + + var ReactHostOperationHistoryDevtool = { + onHostOperation: function (debugID, type, payload) { + history.push({ + instanceID: debugID, + type: type, + payload: payload + }); + }, + clearHistory: function () { + if (ReactHostOperationHistoryDevtool._preventClearing) { + // Should only be used for tests. + return; + } + + history = []; + }, + getHistory: function () { + return history; + } + }; + + module.exports = ReactHostOperationHistoryDevtool; + +/***/ }, +/* 44 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2016-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactComponentTreeDevtool + */ + + 'use strict'; + + var _prodInvariant = __webpack_require__(7); + + var ReactCurrentOwner = __webpack_require__(45); + + var invariant = __webpack_require__(9); + var warning = __webpack_require__(20); + + var tree = {}; + var unmountedIDs = {}; + var rootIDs = {}; + + function updateTree(id, update) { + if (!tree[id]) { + tree[id] = { + element: null, + parentID: null, + ownerID: null, + text: null, + childIDs: [], + displayName: 'Unknown', + isMounted: false, + updateCount: 0 + }; + } + update(tree[id]); + } + + function purgeDeep(id) { + var item = tree[id]; + if (item) { + var childIDs = item.childIDs; + + delete tree[id]; + childIDs.forEach(purgeDeep); + } + } + + function describeComponentFrame(name, source, ownerName) { + return '\n in ' + name + (source ? ' (at ' + source.fileName.replace(/^.*[\\\/]/, '') + ':' + source.lineNumber + ')' : ownerName ? ' (created by ' + ownerName + ')' : ''); + } + + function describeID(id) { + var name = ReactComponentTreeDevtool.getDisplayName(id); + var element = ReactComponentTreeDevtool.getElement(id); + var ownerID = ReactComponentTreeDevtool.getOwnerID(id); + var ownerName; + if (ownerID) { + ownerName = ReactComponentTreeDevtool.getDisplayName(ownerID); + } + process.env.NODE_ENV !== 'production' ? warning(element, 'ReactComponentTreeDevtool: Missing React element for debugID %s when ' + 'building stack', id) : void 0; + return describeComponentFrame(name, element && element._source, ownerName); + } + + var ReactComponentTreeDevtool = { + onSetDisplayName: function (id, displayName) { + updateTree(id, function (item) { + return item.displayName = displayName; + }); + }, + onSetChildren: function (id, nextChildIDs) { + updateTree(id, function (item) { + item.childIDs = nextChildIDs; + + nextChildIDs.forEach(function (nextChildID) { + var nextChild = tree[nextChildID]; + !nextChild ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected devtool events to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('68') : void 0; + !(nextChild.displayName != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onSetDisplayName() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('69') : void 0; + !(nextChild.childIDs != null || nextChild.text != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onSetChildren() or onSetText() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('70') : void 0; + !nextChild.isMounted ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onMountComponent() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('71') : void 0; + if (nextChild.parentID == null) { + nextChild.parentID = id; + // TODO: This shouldn't be necessary but mounting a new root during in + // componentWillMount currently causes not-yet-mounted components to + // be purged from our tree data so their parent ID is missing. + } + !(nextChild.parentID === id) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onSetParent() and onSetChildren() to be consistent (%s has parents %s and %s).', nextChildID, nextChild.parentID, id) : _prodInvariant('72', nextChildID, nextChild.parentID, id) : void 0; + }); + }); + }, + onSetOwner: function (id, ownerID) { + updateTree(id, function (item) { + return item.ownerID = ownerID; + }); + }, + onSetParent: function (id, parentID) { + updateTree(id, function (item) { + return item.parentID = parentID; + }); + }, + onSetText: function (id, text) { + updateTree(id, function (item) { + return item.text = text; + }); + }, + onBeforeMountComponent: function (id, element) { + updateTree(id, function (item) { + return item.element = element; + }); + }, + onBeforeUpdateComponent: function (id, element) { + updateTree(id, function (item) { + return item.element = element; + }); + }, + onMountComponent: function (id) { + updateTree(id, function (item) { + return item.isMounted = true; + }); + }, + onMountRootComponent: function (id) { + rootIDs[id] = true; + }, + onUpdateComponent: function (id) { + updateTree(id, function (item) { + return item.updateCount++; + }); + }, + onUnmountComponent: function (id) { + updateTree(id, function (item) { + return item.isMounted = false; + }); + unmountedIDs[id] = true; + delete rootIDs[id]; + }, + purgeUnmountedComponents: function () { + if (ReactComponentTreeDevtool._preventPurging) { + // Should only be used for testing. + return; + } + + for (var id in unmountedIDs) { + purgeDeep(id); + } + unmountedIDs = {}; + }, + isMounted: function (id) { + var item = tree[id]; + return item ? item.isMounted : false; + }, + getCurrentStackAddendum: function (topElement) { + var info = ''; + if (topElement) { + var type = topElement.type; + var name = typeof type === 'function' ? type.displayName || type.name : type; + var owner = topElement._owner; + info += describeComponentFrame(name || 'Unknown', topElement._source, owner && owner.getName()); + } + + var currentOwner = ReactCurrentOwner.current; + var id = currentOwner && currentOwner._debugID; + + info += ReactComponentTreeDevtool.getStackAddendumByID(id); + return info; + }, + getStackAddendumByID: function (id) { + var info = ''; + while (id) { + info += describeID(id); + id = ReactComponentTreeDevtool.getParentID(id); + } + return info; + }, + getChildIDs: function (id) { + var item = tree[id]; + return item ? item.childIDs : []; + }, + getDisplayName: function (id) { + var item = tree[id]; + return item ? item.displayName : 'Unknown'; + }, + getElement: function (id) { + var item = tree[id]; + return item ? item.element : null; + }, + getOwnerID: function (id) { + var item = tree[id]; + return item ? item.ownerID : null; + }, + getParentID: function (id) { + var item = tree[id]; + return item ? item.parentID : null; + }, + getSource: function (id) { + var item = tree[id]; + var element = item ? item.element : null; + var source = element != null ? element._source : null; + return source; + }, + getText: function (id) { + var item = tree[id]; + return item ? item.text : null; + }, + getUpdateCount: function (id) { + var item = tree[id]; + return item ? item.updateCount : 0; + }, + getRootIDs: function () { + return Object.keys(rootIDs); + }, + getRegisteredIDs: function () { + return Object.keys(tree); + } + }; + + module.exports = ReactComponentTreeDevtool; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 45 */ +/***/ function(module, exports) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactCurrentOwner + */ + + 'use strict'; + + /** + * Keeps track of the current owner. + * + * The current owner is the component who should own any components that are + * currently being constructed. + */ + + var ReactCurrentOwner = { + + /** + * @internal + * @type {ReactComponent} + */ + current: null + + }; + + module.exports = ReactCurrentOwner; + +/***/ }, +/* 46 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactChildrenMutationWarningDevtool + */ + + 'use strict'; + + var ReactComponentTreeDevtool = __webpack_require__(44); + + var warning = __webpack_require__(20); + + var elements = {}; + + function handleElement(debugID, element) { + if (element == null) { + return; + } + if (element._shadowChildren === undefined) { + return; + } + if (element._shadowChildren === element.props.children) { + return; + } + var isMutated = false; + if (Array.isArray(element._shadowChildren)) { + if (element._shadowChildren.length === element.props.children.length) { + for (var i = 0; i < element._shadowChildren.length; i++) { + if (element._shadowChildren[i] !== element.props.children[i]) { + isMutated = true; + } + } + } else { + isMutated = true; + } + } + process.env.NODE_ENV !== 'production' ? warning(Array.isArray(element._shadowChildren) && !isMutated, 'Component\'s children should not be mutated.%s', ReactComponentTreeDevtool.getStackAddendumByID(debugID)) : void 0; + } + + var ReactDOMUnknownPropertyDevtool = { + onBeforeMountComponent: function (debugID, element) { + elements[debugID] = element; + }, + onBeforeUpdateComponent: function (debugID, element) { + elements[debugID] = element; + }, + onComponentHasMounted: function (debugID) { + handleElement(debugID, elements[debugID]); + delete elements[debugID]; + }, + onComponentHasUpdated: function (debugID) { + handleElement(debugID, elements[debugID]); + delete elements[debugID]; + } + }; + + module.exports = ReactDOMUnknownPropertyDevtool; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 47 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + /** + * Copyright (c) 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @typechecks + */ + + var performance = __webpack_require__(48); + + var performanceNow; + + /** + * Detect if we can use `window.performance.now()` and gracefully fallback to + * `Date.now()` if it doesn't exist. We need to support Firefox < 15 for now + * because of Facebook's testing infrastructure. + */ + if (performance.now) { + performanceNow = function performanceNow() { + return performance.now(); + }; + } else { + performanceNow = function performanceNow() { + return Date.now(); + }; + } + + module.exports = performanceNow; + +/***/ }, +/* 48 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright (c) 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @typechecks + */ + + 'use strict'; + + var ExecutionEnvironment = __webpack_require__(24); + + var performance; + + if (ExecutionEnvironment.canUseDOM) { + performance = window.performance || window.msPerformance || window.webkitPerformance; + } + + module.exports = performance || {}; + +/***/ }, +/* 49 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule Transaction + */ + + 'use strict'; + + var _prodInvariant = __webpack_require__(7); + + var invariant = __webpack_require__(9); + + /** + * `Transaction` creates a black box that is able to wrap any method such that + * certain invariants are maintained before and after the method is invoked + * (Even if an exception is thrown while invoking the wrapped method). Whoever + * instantiates a transaction can provide enforcers of the invariants at + * creation time. The `Transaction` class itself will supply one additional + * automatic invariant for you - the invariant that any transaction instance + * should not be run while it is already being run. You would typically create a + * single instance of a `Transaction` for reuse multiple times, that potentially + * is used to wrap several different methods. Wrappers are extremely simple - + * they only require implementing two methods. + * + *
+	 *                       wrappers (injected at creation time)
+	 *                                      +        +
+	 *                                      |        |
+	 *                    +-----------------|--------|--------------+
+	 *                    |                 v        |              |
+	 *                    |      +---------------+   |              |
+	 *                    |   +--|    wrapper1   |---|----+         |
+	 *                    |   |  +---------------+   v    |         |
+	 *                    |   |          +-------------+  |         |
+	 *                    |   |     +----|   wrapper2  |--------+   |
+	 *                    |   |     |    +-------------+  |     |   |
+	 *                    |   |     |                     |     |   |
+	 *                    |   v     v                     v     v   | wrapper
+	 *                    | +---+ +---+   +---------+   +---+ +---+ | invariants
+	 * perform(anyMethod) | |   | |   |   |         |   |   | |   | | maintained
+	 * +----------------->|-|---|-|---|-->|anyMethod|---|---|-|---|-|-------->
+	 *                    | |   | |   |   |         |   |   | |   | |
+	 *                    | |   | |   |   |         |   |   | |   | |
+	 *                    | |   | |   |   |         |   |   | |   | |
+	 *                    | +---+ +---+   +---------+   +---+ +---+ |
+	 *                    |  initialize                    close    |
+	 *                    +-----------------------------------------+
+	 * 
+ * + * Use cases: + * - Preserving the input selection ranges before/after reconciliation. + * Restoring selection even in the event of an unexpected error. + * - Deactivating events while rearranging the DOM, preventing blurs/focuses, + * while guaranteeing that afterwards, the event system is reactivated. + * - Flushing a queue of collected DOM mutations to the main UI thread after a + * reconciliation takes place in a worker thread. + * - Invoking any collected `componentDidUpdate` callbacks after rendering new + * content. + * - (Future use case): Wrapping particular flushes of the `ReactWorker` queue + * to preserve the `scrollTop` (an automatic scroll aware DOM). + * - (Future use case): Layout calculations before and after DOM updates. + * + * Transactional plugin API: + * - A module that has an `initialize` method that returns any precomputation. + * - and a `close` method that accepts the precomputation. `close` is invoked + * when the wrapped process is completed, or has failed. + * + * @param {Array} transactionWrapper Wrapper modules + * that implement `initialize` and `close`. + * @return {Transaction} Single transaction for reuse in thread. + * + * @class Transaction + */ + var Mixin = { + /** + * Sets up this instance so that it is prepared for collecting metrics. Does + * so such that this setup method may be used on an instance that is already + * initialized, in a way that does not consume additional memory upon reuse. + * That can be useful if you decide to make your subclass of this mixin a + * "PooledClass". + */ + reinitializeTransaction: function () { + this.transactionWrappers = this.getTransactionWrappers(); + if (this.wrapperInitData) { + this.wrapperInitData.length = 0; + } else { + this.wrapperInitData = []; + } + this._isInTransaction = false; + }, + + _isInTransaction: false, + + /** + * @abstract + * @return {Array} Array of transaction wrappers. + */ + getTransactionWrappers: null, + + isInTransaction: function () { + return !!this._isInTransaction; + }, + + /** + * Executes the function within a safety window. Use this for the top level + * methods that result in large amounts of computation/mutations that would + * need to be safety checked. The optional arguments helps prevent the need + * to bind in many cases. + * + * @param {function} method Member of scope to call. + * @param {Object} scope Scope to invoke from. + * @param {Object?=} a Argument to pass to the method. + * @param {Object?=} b Argument to pass to the method. + * @param {Object?=} c Argument to pass to the method. + * @param {Object?=} d Argument to pass to the method. + * @param {Object?=} e Argument to pass to the method. + * @param {Object?=} f Argument to pass to the method. + * + * @return {*} Return value from `method`. + */ + perform: function (method, scope, a, b, c, d, e, f) { + !!this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there is already an outstanding transaction.') : _prodInvariant('27') : void 0; + var errorThrown; + var ret; + try { + this._isInTransaction = true; + // Catching errors makes debugging more difficult, so we start with + // errorThrown set to true before setting it to false after calling + // close -- if it's still set to true in the finally block, it means + // one of these calls threw. + errorThrown = true; + this.initializeAll(0); + ret = method.call(scope, a, b, c, d, e, f); + errorThrown = false; + } finally { + try { + if (errorThrown) { + // If `method` throws, prefer to show that stack trace over any thrown + // by invoking `closeAll`. + try { + this.closeAll(0); + } catch (err) {} + } else { + // Since `method` didn't throw, we don't want to silence the exception + // here. + this.closeAll(0); + } + } finally { + this._isInTransaction = false; + } + } + return ret; + }, + + initializeAll: function (startIndex) { + var transactionWrappers = this.transactionWrappers; + for (var i = startIndex; i < transactionWrappers.length; i++) { + var wrapper = transactionWrappers[i]; + try { + // Catching errors makes debugging more difficult, so we start with the + // OBSERVED_ERROR state before overwriting it with the real return value + // of initialize -- if it's still set to OBSERVED_ERROR in the finally + // block, it means wrapper.initialize threw. + this.wrapperInitData[i] = Transaction.OBSERVED_ERROR; + this.wrapperInitData[i] = wrapper.initialize ? wrapper.initialize.call(this) : null; + } finally { + if (this.wrapperInitData[i] === Transaction.OBSERVED_ERROR) { + // The initializer for wrapper i threw an error; initialize the + // remaining wrappers but silence any exceptions from them to ensure + // that the first error is the one to bubble up. + try { + this.initializeAll(i + 1); + } catch (err) {} + } + } + } + }, + + /** + * Invokes each of `this.transactionWrappers.close[i]` functions, passing into + * them the respective return values of `this.transactionWrappers.init[i]` + * (`close`rs that correspond to initializers that failed will not be + * invoked). + */ + closeAll: function (startIndex) { + !this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : _prodInvariant('28') : void 0; + var transactionWrappers = this.transactionWrappers; + for (var i = startIndex; i < transactionWrappers.length; i++) { + var wrapper = transactionWrappers[i]; + var initData = this.wrapperInitData[i]; + var errorThrown; + try { + // Catching errors makes debugging more difficult, so we start with + // errorThrown set to true before setting it to false after calling + // close -- if it's still set to true in the finally block, it means + // wrapper.close threw. + errorThrown = true; + if (initData !== Transaction.OBSERVED_ERROR && wrapper.close) { + wrapper.close.call(this, initData); + } + errorThrown = false; + } finally { + if (errorThrown) { + // The closer for wrapper i threw an error; close the remaining + // wrappers but silence any exceptions from them to ensure that the + // first error is the one to bubble up. + try { + this.closeAll(i + 1); + } catch (e) {} + } + } + } + this.wrapperInitData.length = 0; + } + }; + + var Transaction = { + + Mixin: Mixin, + + /** + * Token to look for to determine if an error occurred. + */ + OBSERVED_ERROR: {} + + }; + + module.exports = Transaction; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 50 */ +/***/ function(module, exports) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule getEventTarget + */ + + 'use strict'; + + /** + * Gets the target node from a native browser event by accounting for + * inconsistencies in browser DOM APIs. + * + * @param {object} nativeEvent Native browser event. + * @return {DOMEventTarget} Target node. + */ + + function getEventTarget(nativeEvent) { + var target = nativeEvent.target || nativeEvent.srcElement || window; + + // Normalize SVG element events #4963 + if (target.correspondingUseElement) { + target = target.correspondingUseElement; + } + + // Safari may fire events on text nodes (Node.TEXT_NODE is 3). + // @see http://www.quirksmode.org/js/events_properties.html + return target.nodeType === 3 ? target.parentNode : target; + } + + module.exports = getEventTarget; + +/***/ }, +/* 51 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule isEventSupported + */ + + 'use strict'; + + var ExecutionEnvironment = __webpack_require__(24); + + var useHasFeature; + if (ExecutionEnvironment.canUseDOM) { + useHasFeature = document.implementation && document.implementation.hasFeature && + // always returns true in newer browsers as per the standard. + // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature + document.implementation.hasFeature('', '') !== true; + } + + /** + * Checks if an event is supported in the current execution environment. + * + * NOTE: This will not work correctly for non-generic events such as `change`, + * `reset`, `load`, `error`, and `select`. + * + * Borrows from Modernizr. + * + * @param {string} eventNameSuffix Event name, e.g. "click". + * @param {?boolean} capture Check if the capture phase is supported. + * @return {boolean} True if the event is supported. + * @internal + * @license Modernizr 3.0.0pre (Custom Build) | MIT + */ + function isEventSupported(eventNameSuffix, capture) { + if (!ExecutionEnvironment.canUseDOM || capture && !('addEventListener' in document)) { + return false; + } + + var eventName = 'on' + eventNameSuffix; + var isSupported = eventName in document; + + if (!isSupported) { + var element = document.createElement('div'); + element.setAttribute(eventName, 'return;'); + isSupported = typeof element[eventName] === 'function'; + } + + if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') { + // This is the only way to test support for the `wheel` event in IE9+. + isSupported = document.implementation.hasFeature('Events.wheel', '3.0'); + } + + return isSupported; + } + + module.exports = isEventSupported; + +/***/ }, +/* 52 */ +/***/ function(module, exports) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule isTextInputElement + * + */ + + 'use strict'; + + /** + * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary + */ + + var supportedInputTypes = { + 'color': true, + 'date': true, + 'datetime': true, + 'datetime-local': true, + 'email': true, + 'month': true, + 'number': true, + 'password': true, + 'range': true, + 'search': true, + 'tel': true, + 'text': true, + 'time': true, + 'url': true, + 'week': true + }; + + function isTextInputElement(elem) { + var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); + + if (nodeName === 'input') { + return !!supportedInputTypes[elem.type]; + } + + if (nodeName === 'textarea') { + return true; + } + + return false; + } + + module.exports = isTextInputElement; + +/***/ }, +/* 53 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule DefaultEventPluginOrder + */ + + 'use strict'; + + var keyOf = __webpack_require__(32); + + /** + * Module that is injectable into `EventPluginHub`, that specifies a + * deterministic ordering of `EventPlugin`s. A convenient way to reason about + * plugins, without having to package every one of them. This is better than + * having plugins be ordered in the same order that they are injected because + * that ordering would be influenced by the packaging order. + * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that + * preventing default on events is convenient in `SimpleEventPlugin` handlers. + */ + var DefaultEventPluginOrder = [keyOf({ ResponderEventPlugin: null }), keyOf({ SimpleEventPlugin: null }), keyOf({ TapEventPlugin: null }), keyOf({ EnterLeaveEventPlugin: null }), keyOf({ ChangeEventPlugin: null }), keyOf({ SelectEventPlugin: null }), keyOf({ BeforeInputEventPlugin: null })]; + + module.exports = DefaultEventPluginOrder; + +/***/ }, +/* 54 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule EnterLeaveEventPlugin + */ + + 'use strict'; + + var EventConstants = __webpack_require__(13); + var EventPropagators = __webpack_require__(15); + var ReactDOMComponentTree = __webpack_require__(6); + var SyntheticMouseEvent = __webpack_require__(55); + + var keyOf = __webpack_require__(32); + + var topLevelTypes = EventConstants.topLevelTypes; + + var eventTypes = { + mouseEnter: { + registrationName: keyOf({ onMouseEnter: null }), + dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver] + }, + mouseLeave: { + registrationName: keyOf({ onMouseLeave: null }), + dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver] + } + }; + + var EnterLeaveEventPlugin = { + + eventTypes: eventTypes, + + /** + * For almost every interaction we care about, there will be both a top-level + * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that + * we do not extract duplicate events. However, moving the mouse into the + * browser from outside will not fire a `mouseout` event. In this case, we use + * the `mouseover` top-level event. + */ + extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { + if (topLevelType === topLevelTypes.topMouseOver && (nativeEvent.relatedTarget || nativeEvent.fromElement)) { + return null; + } + if (topLevelType !== topLevelTypes.topMouseOut && topLevelType !== topLevelTypes.topMouseOver) { + // Must not be a mouse in or mouse out - ignoring. + return null; + } + + var win; + if (nativeEventTarget.window === nativeEventTarget) { + // `nativeEventTarget` is probably a window object. + win = nativeEventTarget; + } else { + // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. + var doc = nativeEventTarget.ownerDocument; + if (doc) { + win = doc.defaultView || doc.parentWindow; + } else { + win = window; + } + } + + var from; + var to; + if (topLevelType === topLevelTypes.topMouseOut) { + from = targetInst; + var related = nativeEvent.relatedTarget || nativeEvent.toElement; + to = related ? ReactDOMComponentTree.getClosestInstanceFromNode(related) : null; + } else { + // Moving to a node from outside the window. + from = null; + to = targetInst; + } + + if (from === to) { + // Nothing pertains to our managed components. + return null; + } + + var fromNode = from == null ? win : ReactDOMComponentTree.getNodeFromInstance(from); + var toNode = to == null ? win : ReactDOMComponentTree.getNodeFromInstance(to); + + var leave = SyntheticMouseEvent.getPooled(eventTypes.mouseLeave, from, nativeEvent, nativeEventTarget); + leave.type = 'mouseleave'; + leave.target = fromNode; + leave.relatedTarget = toNode; + + var enter = SyntheticMouseEvent.getPooled(eventTypes.mouseEnter, to, nativeEvent, nativeEventTarget); + enter.type = 'mouseenter'; + enter.target = toNode; + enter.relatedTarget = fromNode; + + EventPropagators.accumulateEnterLeaveDispatches(leave, enter, from, to); + + return [leave, enter]; + } + + }; + + module.exports = EnterLeaveEventPlugin; + +/***/ }, +/* 55 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule SyntheticMouseEvent + */ + + 'use strict'; + + var SyntheticUIEvent = __webpack_require__(56); + var ViewportMetrics = __webpack_require__(57); + + var getEventModifierState = __webpack_require__(58); + + /** + * @interface MouseEvent + * @see http://www.w3.org/TR/DOM-Level-3-Events/ + */ + var MouseEventInterface = { + screenX: null, + screenY: null, + clientX: null, + clientY: null, + ctrlKey: null, + shiftKey: null, + altKey: null, + metaKey: null, + getModifierState: getEventModifierState, + button: function (event) { + // Webkit, Firefox, IE9+ + // which: 1 2 3 + // button: 0 1 2 (standard) + var button = event.button; + if ('which' in event) { + return button; + } + // IE<9 + // which: undefined + // button: 0 0 0 + // button: 1 4 2 (onmouseup) + return button === 2 ? 2 : button === 4 ? 1 : 0; + }, + buttons: null, + relatedTarget: function (event) { + return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement); + }, + // "Proprietary" Interface. + pageX: function (event) { + return 'pageX' in event ? event.pageX : event.clientX + ViewportMetrics.currentScrollLeft; + }, + pageY: function (event) { + return 'pageY' in event ? event.pageY : event.clientY + ViewportMetrics.currentScrollTop; + } + }; + + /** + * @param {object} dispatchConfig Configuration used to dispatch this event. + * @param {string} dispatchMarker Marker identifying the event target. + * @param {object} nativeEvent Native browser event. + * @extends {SyntheticUIEvent} + */ + function SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { + return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); + } + + SyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface); + + module.exports = SyntheticMouseEvent; + +/***/ }, +/* 56 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule SyntheticUIEvent + */ + + 'use strict'; + + var SyntheticEvent = __webpack_require__(30); + + var getEventTarget = __webpack_require__(50); + + /** + * @interface UIEvent + * @see http://www.w3.org/TR/DOM-Level-3-Events/ + */ + var UIEventInterface = { + view: function (event) { + if (event.view) { + return event.view; + } + + var target = getEventTarget(event); + if (target.window === target) { + // target is a window object + return target; + } + + var doc = target.ownerDocument; + // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. + if (doc) { + return doc.defaultView || doc.parentWindow; + } else { + return window; + } + }, + detail: function (event) { + return event.detail || 0; + } + }; + + /** + * @param {object} dispatchConfig Configuration used to dispatch this event. + * @param {string} dispatchMarker Marker identifying the event target. + * @param {object} nativeEvent Native browser event. + * @extends {SyntheticEvent} + */ + function SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { + return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); + } + + SyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface); + + module.exports = SyntheticUIEvent; + +/***/ }, +/* 57 */ +/***/ function(module, exports) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ViewportMetrics + */ + + 'use strict'; + + var ViewportMetrics = { + + currentScrollLeft: 0, + + currentScrollTop: 0, + + refreshScrollValues: function (scrollPosition) { + ViewportMetrics.currentScrollLeft = scrollPosition.x; + ViewportMetrics.currentScrollTop = scrollPosition.y; + } + + }; + + module.exports = ViewportMetrics; + +/***/ }, +/* 58 */ +/***/ function(module, exports) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule getEventModifierState + */ + + 'use strict'; + + /** + * Translation from modifier key to the associated property in the event. + * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers + */ + + var modifierKeyToProp = { + 'Alt': 'altKey', + 'Control': 'ctrlKey', + 'Meta': 'metaKey', + 'Shift': 'shiftKey' + }; + + // IE8 does not implement getModifierState so we simply map it to the only + // modifier keys exposed by the event itself, does not support Lock-keys. + // Currently, all major browsers except Chrome seems to support Lock-keys. + function modifierStateGetter(keyArg) { + var syntheticEvent = this; + var nativeEvent = syntheticEvent.nativeEvent; + if (nativeEvent.getModifierState) { + return nativeEvent.getModifierState(keyArg); + } + var keyProp = modifierKeyToProp[keyArg]; + return keyProp ? !!nativeEvent[keyProp] : false; + } + + function getEventModifierState(nativeEvent) { + return modifierStateGetter; + } + + module.exports = getEventModifierState; + +/***/ }, +/* 59 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule HTMLDOMPropertyConfig + */ + + 'use strict'; + + var DOMProperty = __webpack_require__(8); + + var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY; + var HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE; + var HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE; + var HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE; + var HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE; + + var HTMLDOMPropertyConfig = { + isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')), + Properties: { + /** + * Standard Properties + */ + accept: 0, + acceptCharset: 0, + accessKey: 0, + action: 0, + allowFullScreen: HAS_BOOLEAN_VALUE, + allowTransparency: 0, + alt: 0, + async: HAS_BOOLEAN_VALUE, + autoComplete: 0, + // autoFocus is polyfilled/normalized by AutoFocusUtils + // autoFocus: HAS_BOOLEAN_VALUE, + autoPlay: HAS_BOOLEAN_VALUE, + capture: HAS_BOOLEAN_VALUE, + cellPadding: 0, + cellSpacing: 0, + charSet: 0, + challenge: 0, + checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, + cite: 0, + classID: 0, + className: 0, + cols: HAS_POSITIVE_NUMERIC_VALUE, + colSpan: 0, + content: 0, + contentEditable: 0, + contextMenu: 0, + controls: HAS_BOOLEAN_VALUE, + coords: 0, + crossOrigin: 0, + data: 0, // For `` acts as `src`. + dateTime: 0, + 'default': HAS_BOOLEAN_VALUE, + defer: HAS_BOOLEAN_VALUE, + dir: 0, + disabled: HAS_BOOLEAN_VALUE, + download: HAS_OVERLOADED_BOOLEAN_VALUE, + draggable: 0, + encType: 0, + form: 0, + formAction: 0, + formEncType: 0, + formMethod: 0, + formNoValidate: HAS_BOOLEAN_VALUE, + formTarget: 0, + frameBorder: 0, + headers: 0, + height: 0, + hidden: HAS_BOOLEAN_VALUE, + high: 0, + href: 0, + hrefLang: 0, + htmlFor: 0, + httpEquiv: 0, + icon: 0, + id: 0, + inputMode: 0, + integrity: 0, + is: 0, + keyParams: 0, + keyType: 0, + kind: 0, + label: 0, + lang: 0, + list: 0, + loop: HAS_BOOLEAN_VALUE, + low: 0, + manifest: 0, + marginHeight: 0, + marginWidth: 0, + max: 0, + maxLength: 0, + media: 0, + mediaGroup: 0, + method: 0, + min: 0, + minLength: 0, + // Caution; `option.selected` is not updated if `select.multiple` is + // disabled with `removeAttribute`. + multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, + muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, + name: 0, + nonce: 0, + noValidate: HAS_BOOLEAN_VALUE, + open: HAS_BOOLEAN_VALUE, + optimum: 0, + pattern: 0, + placeholder: 0, + poster: 0, + preload: 0, + profile: 0, + radioGroup: 0, + readOnly: HAS_BOOLEAN_VALUE, + referrerPolicy: 0, + rel: 0, + required: HAS_BOOLEAN_VALUE, + reversed: HAS_BOOLEAN_VALUE, + role: 0, + rows: HAS_POSITIVE_NUMERIC_VALUE, + rowSpan: HAS_NUMERIC_VALUE, + sandbox: 0, + scope: 0, + scoped: HAS_BOOLEAN_VALUE, + scrolling: 0, + seamless: HAS_BOOLEAN_VALUE, + selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, + shape: 0, + size: HAS_POSITIVE_NUMERIC_VALUE, + sizes: 0, + span: HAS_POSITIVE_NUMERIC_VALUE, + spellCheck: 0, + src: 0, + srcDoc: 0, + srcLang: 0, + srcSet: 0, + start: HAS_NUMERIC_VALUE, + step: 0, + style: 0, + summary: 0, + tabIndex: 0, + target: 0, + title: 0, + // Setting .type throws on non- tags + type: 0, + useMap: 0, + value: 0, + width: 0, + wmode: 0, + wrap: 0, + + /** + * RDFa Properties + */ + about: 0, + datatype: 0, + inlist: 0, + prefix: 0, + // property is also supported for OpenGraph in meta tags. + property: 0, + resource: 0, + 'typeof': 0, + vocab: 0, + + /** + * Non-standard Properties + */ + // autoCapitalize and autoCorrect are supported in Mobile Safari for + // keyboard hints. + autoCapitalize: 0, + autoCorrect: 0, + // autoSave allows WebKit/Blink to persist values of input fields on page reloads + autoSave: 0, + // color is for Safari mask-icon link + color: 0, + // itemProp, itemScope, itemType are for + // Microdata support. See http://schema.org/docs/gs.html + itemProp: 0, + itemScope: HAS_BOOLEAN_VALUE, + itemType: 0, + // itemID and itemRef are for Microdata support as well but + // only specified in the WHATWG spec document. See + // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api + itemID: 0, + itemRef: 0, + // results show looking glass icon and recent searches on input + // search fields in WebKit/Blink + results: 0, + // IE-only attribute that specifies security restrictions on an iframe + // as an alternative to the sandbox attribute on IE<10 + security: 0, + // IE-only attribute that controls focus behavior + unselectable: 0 + }, + DOMAttributeNames: { + acceptCharset: 'accept-charset', + className: 'class', + htmlFor: 'for', + httpEquiv: 'http-equiv' + }, + DOMPropertyNames: {} + }; + + module.exports = HTMLDOMPropertyConfig; + +/***/ }, +/* 60 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactComponentBrowserEnvironment + */ + + 'use strict'; + + var DOMChildrenOperations = __webpack_require__(61); + var ReactDOMIDOperations = __webpack_require__(73); + + /** + * Abstracts away all functionality of the reconciler that requires knowledge of + * the browser context. TODO: These callers should be refactored to avoid the + * need for this injection. + */ + var ReactComponentBrowserEnvironment = { + + processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates, + + replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup, + + /** + * If a particular environment requires that some resources be cleaned up, + * specify this in the injected Mixin. In the DOM, we would likely want to + * purge any cached node ID lookups. + * + * @private + */ + unmountIDFromEnvironment: function (rootNodeID) {} + + }; + + module.exports = ReactComponentBrowserEnvironment; + +/***/ }, +/* 61 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule DOMChildrenOperations + */ + + 'use strict'; + + var DOMLazyTree = __webpack_require__(62); + var Danger = __webpack_require__(68); + var ReactMultiChildUpdateTypes = __webpack_require__(72); + var ReactDOMComponentTree = __webpack_require__(6); + var ReactInstrumentation = __webpack_require__(40); + + var createMicrosoftUnsafeLocalFunction = __webpack_require__(65); + var setInnerHTML = __webpack_require__(64); + var setTextContent = __webpack_require__(66); + + function getNodeAfter(parentNode, node) { + // Special case for text components, which return [open, close] comments + // from getHostNode. + if (Array.isArray(node)) { + node = node[1]; + } + return node ? node.nextSibling : parentNode.firstChild; + } + + /** + * Inserts `childNode` as a child of `parentNode` at the `index`. + * + * @param {DOMElement} parentNode Parent node in which to insert. + * @param {DOMElement} childNode Child node to insert. + * @param {number} index Index at which to insert the child. + * @internal + */ + var insertChildAt = createMicrosoftUnsafeLocalFunction(function (parentNode, childNode, referenceNode) { + // We rely exclusively on `insertBefore(node, null)` instead of also using + // `appendChild(node)`. (Using `undefined` is not allowed by all browsers so + // we are careful to use `null`.) + parentNode.insertBefore(childNode, referenceNode); + }); + + function insertLazyTreeChildAt(parentNode, childTree, referenceNode) { + DOMLazyTree.insertTreeBefore(parentNode, childTree, referenceNode); + } + + function moveChild(parentNode, childNode, referenceNode) { + if (Array.isArray(childNode)) { + moveDelimitedText(parentNode, childNode[0], childNode[1], referenceNode); + } else { + insertChildAt(parentNode, childNode, referenceNode); + } + } + + function removeChild(parentNode, childNode) { + if (Array.isArray(childNode)) { + var closingComment = childNode[1]; + childNode = childNode[0]; + removeDelimitedText(parentNode, childNode, closingComment); + parentNode.removeChild(closingComment); + } + parentNode.removeChild(childNode); + } + + function moveDelimitedText(parentNode, openingComment, closingComment, referenceNode) { + var node = openingComment; + while (true) { + var nextNode = node.nextSibling; + insertChildAt(parentNode, node, referenceNode); + if (node === closingComment) { + break; + } + node = nextNode; + } + } + + function removeDelimitedText(parentNode, startNode, closingComment) { + while (true) { + var node = startNode.nextSibling; + if (node === closingComment) { + // The closing comment is removed by ReactMultiChild. + break; + } else { + parentNode.removeChild(node); + } + } + } + + function replaceDelimitedText(openingComment, closingComment, stringText) { + var parentNode = openingComment.parentNode; + var nodeAfterComment = openingComment.nextSibling; + if (nodeAfterComment === closingComment) { + // There are no text nodes between the opening and closing comments; insert + // a new one if stringText isn't empty. + if (stringText) { + insertChildAt(parentNode, document.createTextNode(stringText), nodeAfterComment); + } + } else { + if (stringText) { + // Set the text content of the first node after the opening comment, and + // remove all following nodes up until the closing comment. + setTextContent(nodeAfterComment, stringText); + removeDelimitedText(parentNode, nodeAfterComment, closingComment); + } else { + removeDelimitedText(parentNode, openingComment, closingComment); + } + } + + if (process.env.NODE_ENV !== 'production') { + ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(openingComment)._debugID, 'replace text', stringText); + } + } + + var dangerouslyReplaceNodeWithMarkup = Danger.dangerouslyReplaceNodeWithMarkup; + if (process.env.NODE_ENV !== 'production') { + dangerouslyReplaceNodeWithMarkup = function (oldChild, markup, prevInstance) { + Danger.dangerouslyReplaceNodeWithMarkup(oldChild, markup); + if (prevInstance._debugID !== 0) { + ReactInstrumentation.debugTool.onHostOperation(prevInstance._debugID, 'replace with', markup.toString()); + } else { + var nextInstance = ReactDOMComponentTree.getInstanceFromNode(markup.node); + if (nextInstance._debugID !== 0) { + ReactInstrumentation.debugTool.onHostOperation(nextInstance._debugID, 'mount', markup.toString()); + } + } + }; + } + + /** + * Operations for updating with DOM children. + */ + var DOMChildrenOperations = { + + dangerouslyReplaceNodeWithMarkup: dangerouslyReplaceNodeWithMarkup, + + replaceDelimitedText: replaceDelimitedText, + + /** + * Updates a component's children by processing a series of updates. The + * update configurations are each expected to have a `parentNode` property. + * + * @param {array} updates List of update configurations. + * @internal + */ + processUpdates: function (parentNode, updates) { + if (process.env.NODE_ENV !== 'production') { + var parentNodeDebugID = ReactDOMComponentTree.getInstanceFromNode(parentNode)._debugID; + } + + for (var k = 0; k < updates.length; k++) { + var update = updates[k]; + switch (update.type) { + case ReactMultiChildUpdateTypes.INSERT_MARKUP: + insertLazyTreeChildAt(parentNode, update.content, getNodeAfter(parentNode, update.afterNode)); + if (process.env.NODE_ENV !== 'production') { + ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'insert child', { toIndex: update.toIndex, content: update.content.toString() }); + } + break; + case ReactMultiChildUpdateTypes.MOVE_EXISTING: + moveChild(parentNode, update.fromNode, getNodeAfter(parentNode, update.afterNode)); + if (process.env.NODE_ENV !== 'production') { + ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'move child', { fromIndex: update.fromIndex, toIndex: update.toIndex }); + } + break; + case ReactMultiChildUpdateTypes.SET_MARKUP: + setInnerHTML(parentNode, update.content); + if (process.env.NODE_ENV !== 'production') { + ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'replace children', update.content.toString()); + } + break; + case ReactMultiChildUpdateTypes.TEXT_CONTENT: + setTextContent(parentNode, update.content); + if (process.env.NODE_ENV !== 'production') { + ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'replace text', update.content.toString()); + } + break; + case ReactMultiChildUpdateTypes.REMOVE_NODE: + removeChild(parentNode, update.fromNode); + if (process.env.NODE_ENV !== 'production') { + ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'remove child', { fromIndex: update.fromIndex }); + } + break; + } + } + } + + }; + + module.exports = DOMChildrenOperations; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 62 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule DOMLazyTree + */ + + 'use strict'; + + var DOMNamespaces = __webpack_require__(63); + var setInnerHTML = __webpack_require__(64); + + var createMicrosoftUnsafeLocalFunction = __webpack_require__(65); + var setTextContent = __webpack_require__(66); + + var ELEMENT_NODE_TYPE = 1; + var DOCUMENT_FRAGMENT_NODE_TYPE = 11; + + /** + * In IE (8-11) and Edge, appending nodes with no children is dramatically + * faster than appending a full subtree, so we essentially queue up the + * .appendChild calls here and apply them so each node is added to its parent + * before any children are added. + * + * In other browsers, doing so is slower or neutral compared to the other order + * (in Firefox, twice as slow) so we only do this inversion in IE. + * + * See https://github.com/spicyj/innerhtml-vs-createelement-vs-clonenode. + */ + var enableLazy = typeof document !== 'undefined' && typeof document.documentMode === 'number' || typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && /\bEdge\/\d/.test(navigator.userAgent); + + function insertTreeChildren(tree) { + if (!enableLazy) { + return; + } + var node = tree.node; + var children = tree.children; + if (children.length) { + for (var i = 0; i < children.length; i++) { + insertTreeBefore(node, children[i], null); + } + } else if (tree.html != null) { + setInnerHTML(node, tree.html); + } else if (tree.text != null) { + setTextContent(node, tree.text); + } + } + + var insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode, tree, referenceNode) { + // DocumentFragments aren't actually part of the DOM after insertion so + // appending children won't update the DOM. We need to ensure the fragment + // is properly populated first, breaking out of our lazy approach for just + // this level. Also, some plugins (like Flash Player) will read + // nodes immediately upon insertion into the DOM, so + // must also be populated prior to insertion into the DOM. + if (tree.node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE || tree.node.nodeType === ELEMENT_NODE_TYPE && tree.node.nodeName.toLowerCase() === 'object' && (tree.node.namespaceURI == null || tree.node.namespaceURI === DOMNamespaces.html)) { + insertTreeChildren(tree); + parentNode.insertBefore(tree.node, referenceNode); + } else { + parentNode.insertBefore(tree.node, referenceNode); + insertTreeChildren(tree); + } + }); + + function replaceChildWithTree(oldNode, newTree) { + oldNode.parentNode.replaceChild(newTree.node, oldNode); + insertTreeChildren(newTree); + } + + function queueChild(parentTree, childTree) { + if (enableLazy) { + parentTree.children.push(childTree); + } else { + parentTree.node.appendChild(childTree.node); + } + } + + function queueHTML(tree, html) { + if (enableLazy) { + tree.html = html; + } else { + setInnerHTML(tree.node, html); + } + } + + function queueText(tree, text) { + if (enableLazy) { + tree.text = text; + } else { + setTextContent(tree.node, text); + } + } + + function toString() { + return this.node.nodeName; + } + + function DOMLazyTree(node) { + return { + node: node, + children: [], + html: null, + text: null, + toString: toString + }; + } + + DOMLazyTree.insertTreeBefore = insertTreeBefore; + DOMLazyTree.replaceChildWithTree = replaceChildWithTree; + DOMLazyTree.queueChild = queueChild; + DOMLazyTree.queueHTML = queueHTML; + DOMLazyTree.queueText = queueText; + + module.exports = DOMLazyTree; + +/***/ }, +/* 63 */ +/***/ function(module, exports) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule DOMNamespaces + */ + + 'use strict'; + + var DOMNamespaces = { + html: 'http://www.w3.org/1999/xhtml', + mathml: 'http://www.w3.org/1998/Math/MathML', + svg: 'http://www.w3.org/2000/svg' + }; + + module.exports = DOMNamespaces; + +/***/ }, +/* 64 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule setInnerHTML + */ + + 'use strict'; + + var ExecutionEnvironment = __webpack_require__(24); + var DOMNamespaces = __webpack_require__(63); + + var WHITESPACE_TEST = /^[ \r\n\t\f]/; + var NONVISIBLE_TEST = /<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/; + + var createMicrosoftUnsafeLocalFunction = __webpack_require__(65); + + // SVG temp container for IE lacking innerHTML + var reusableSVGContainer; + + /** + * Set the innerHTML property of a node, ensuring that whitespace is preserved + * even in IE8. + * + * @param {DOMElement} node + * @param {string} html + * @internal + */ + var setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) { + // IE does not have innerHTML for SVG nodes, so instead we inject the + // new markup in a temp node and then move the child nodes across into + // the target node + if (node.namespaceURI === DOMNamespaces.svg && !('innerHTML' in node)) { + reusableSVGContainer = reusableSVGContainer || document.createElement('div'); + reusableSVGContainer.innerHTML = '' + html + ''; + var newNodes = reusableSVGContainer.firstChild.childNodes; + for (var i = 0; i < newNodes.length; i++) { + node.appendChild(newNodes[i]); + } + } else { + node.innerHTML = html; + } + }); + + if (ExecutionEnvironment.canUseDOM) { + // IE8: When updating a just created node with innerHTML only leading + // whitespace is removed. When updating an existing node with innerHTML + // whitespace in root TextNodes is also collapsed. + // @see quirksmode.org/bugreports/archives/2004/11/innerhtml_and_t.html + + // Feature detection; only IE8 is known to behave improperly like this. + var testElement = document.createElement('div'); + testElement.innerHTML = ' '; + if (testElement.innerHTML === '') { + setInnerHTML = function (node, html) { + // Magic theory: IE8 supposedly differentiates between added and updated + // nodes when processing innerHTML, innerHTML on updated nodes suffers + // from worse whitespace behavior. Re-adding a node like this triggers + // the initial and more favorable whitespace behavior. + // TODO: What to do on a detached node? + if (node.parentNode) { + node.parentNode.replaceChild(node, node); + } + + // We also implement a workaround for non-visible tags disappearing into + // thin air on IE8, this only happens if there is no visible text + // in-front of the non-visible tags. Piggyback on the whitespace fix + // and simply check if any non-visible tags appear in the source. + if (WHITESPACE_TEST.test(html) || html[0] === '<' && NONVISIBLE_TEST.test(html)) { + // Recover leading whitespace by temporarily prepending any character. + // \uFEFF has the potential advantage of being zero-width/invisible. + // UglifyJS drops U+FEFF chars when parsing, so use String.fromCharCode + // in hopes that this is preserved even if "\uFEFF" is transformed to + // the actual Unicode character (by Babel, for example). + // https://github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216 + node.innerHTML = String.fromCharCode(0xFEFF) + html; + + // deleteData leaves an empty `TextNode` which offsets the index of all + // children. Definitely want to avoid this. + var textNode = node.firstChild; + if (textNode.data.length === 1) { + node.removeChild(textNode); + } else { + textNode.deleteData(0, 1); + } + } else { + node.innerHTML = html; + } + }; + } + testElement = null; + } + + module.exports = setInnerHTML; + +/***/ }, +/* 65 */ +/***/ function(module, exports) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule createMicrosoftUnsafeLocalFunction + */ + + /* globals MSApp */ + + 'use strict'; + + /** + * Create a function which has 'unsafe' privileges (required by windows8 apps) + */ + + var createMicrosoftUnsafeLocalFunction = function (func) { + if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) { + return function (arg0, arg1, arg2, arg3) { + MSApp.execUnsafeLocalFunction(function () { + return func(arg0, arg1, arg2, arg3); + }); + }; + } else { + return func; + } + }; + + module.exports = createMicrosoftUnsafeLocalFunction; + +/***/ }, +/* 66 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule setTextContent + */ + + 'use strict'; + + var ExecutionEnvironment = __webpack_require__(24); + var escapeTextContentForBrowser = __webpack_require__(67); + var setInnerHTML = __webpack_require__(64); + + /** + * Set the textContent property of a node, ensuring that whitespace is preserved + * even in IE8. innerText is a poor substitute for textContent and, among many + * issues, inserts
instead of the literal newline chars. innerHTML behaves + * as it should. + * + * @param {DOMElement} node + * @param {string} text + * @internal + */ + var setTextContent = function (node, text) { + if (text) { + var firstChild = node.firstChild; + + if (firstChild && firstChild === node.lastChild && firstChild.nodeType === 3) { + firstChild.nodeValue = text; + return; + } + } + node.textContent = text; + }; + + if (ExecutionEnvironment.canUseDOM) { + if (!('textContent' in document.documentElement)) { + setTextContent = function (node, text) { + setInnerHTML(node, escapeTextContentForBrowser(text)); + }; + } + } + + module.exports = setTextContent; + +/***/ }, +/* 67 */ +/***/ function(module, exports) { + + /** + * Copyright 2016-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * Based on the escape-html library, which is used under the MIT License below: + * + * Copyright (c) 2012-2013 TJ Holowaychuk + * Copyright (c) 2015 Andreas Lubbe + * Copyright (c) 2015 Tiancheng "Timothy" Gu + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * 'Software'), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * @providesModule escapeTextContentForBrowser + */ + + 'use strict'; + + // code copied and modified from escape-html + /** + * Module variables. + * @private + */ + + var matchHtmlRegExp = /["'&<>]/; + + /** + * Escape special characters in the given string of html. + * + * @param {string} string The string to escape for inserting into HTML + * @return {string} + * @public + */ + + function escapeHtml(string) { + var str = '' + string; + var match = matchHtmlRegExp.exec(str); + + if (!match) { + return str; + } + + var escape; + var html = ''; + var index = 0; + var lastIndex = 0; + + for (index = match.index; index < str.length; index++) { + switch (str.charCodeAt(index)) { + case 34: + // " + escape = '"'; + break; + case 38: + // & + escape = '&'; + break; + case 39: + // ' + escape = '''; // modified from escape-html; used to be ''' + break; + case 60: + // < + escape = '<'; + break; + case 62: + // > + escape = '>'; + break; + default: + continue; + } + + if (lastIndex !== index) { + html += str.substring(lastIndex, index); + } + + lastIndex = index + 1; + html += escape; + } + + return lastIndex !== index ? html + str.substring(lastIndex, index) : html; + } + // end code copied and modified from escape-html + + /** + * Escapes text to prevent scripting attacks. + * + * @param {*} text Text value to escape. + * @return {string} An escaped string. + */ + function escapeTextContentForBrowser(text) { + if (typeof text === 'boolean' || typeof text === 'number') { + // this shortcircuit helps perf for types that we know will never have + // special characters, especially given that this function is used often + // for numeric dom ids. + return '' + text; + } + return escapeHtml(text); + } + + module.exports = escapeTextContentForBrowser; + +/***/ }, +/* 68 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule Danger + */ + + 'use strict'; + + var _prodInvariant = __webpack_require__(7); + + var DOMLazyTree = __webpack_require__(62); + var ExecutionEnvironment = __webpack_require__(24); + + var createNodesFromMarkup = __webpack_require__(69); + var emptyFunction = __webpack_require__(21); + var invariant = __webpack_require__(9); + + var Danger = { + + /** + * Replaces a node with a string of markup at its current position within its + * parent. The markup must render into a single root node. + * + * @param {DOMElement} oldChild Child node to replace. + * @param {string} markup Markup to render in place of the child node. + * @internal + */ + dangerouslyReplaceNodeWithMarkup: function (oldChild, markup) { + !ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a worker thread. Make sure `window` and `document` are available globally before requiring React when unit testing or use ReactDOMServer.renderToString() for server rendering.') : _prodInvariant('56') : void 0; + !markup ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Missing markup.') : _prodInvariant('57') : void 0; + !(oldChild.nodeName !== 'HTML') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the node. This is because browser quirks make this unreliable and/or slow. If you want to render to the root you must use server rendering. See ReactDOMServer.renderToString().') : _prodInvariant('58') : void 0; + + if (typeof markup === 'string') { + var newChild = createNodesFromMarkup(markup, emptyFunction)[0]; + oldChild.parentNode.replaceChild(newChild, oldChild); + } else { + DOMLazyTree.replaceChildWithTree(oldChild, markup); + } + } + + }; + + module.exports = Danger; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + +/***/ }, +/* 69 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {'use strict'; + + /** + * Copyright (c) 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @typechecks + */ + + /*eslint-disable fb-www/unsafe-html*/ + + var ExecutionEnvironment = __webpack_require__(24); + + var createArrayFromMixed = __webpack_require__(70); + var getMarkupWrap = __webpack_require__(71); + var invariant = __webpack_require__(9); + + /** + * Dummy container used to render all markup. + */ + var dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null; + + /** + * Pattern used by `getNodeName`. + */ + var nodeNamePattern = /^\s*<(\w+)/; + + /** + * Extracts the `nodeName` of the first element in a string of markup. + * + * @param {string} markup String of markup. + * @return {?string} Node name of the supplied markup. + */ + function getNodeName(markup) { + var nodeNameMatch = markup.match(nodeNamePattern); + return nodeNameMatch && nodeNameMatch[1].toLowerCase(); + } + + /** + * Creates an array containing the nodes rendered from the supplied markup. The + * optionally supplied `handleScript` function will be invoked once for each + * diff --git a/lib/select-box.js b/lib/select-box.js index 70d1400..6c8ed4d 100644 --- a/lib/select-box.js +++ b/lib/select-box.js @@ -101,7 +101,7 @@ module.exports = React.createClass({displayName: 'exports', } else { this.updatePendingValue(val, cb) || this.props.onChange(val) this.handleClose() - this.refs.button.getDOMNode().focus() + this.refs.button.focus() } }.bind(this) }, @@ -141,7 +141,7 @@ module.exports = React.createClass({displayName: 'exports', handleOpen: function (event) { interceptEvent(event) this.setState({open: true}, function () { - this.refs.menu.getDOMNode().focus() + this.refs.menu.focus() }) }, diff --git a/package.json b/package.json index 3f2cf14..7f23b67 100644 --- a/package.json +++ b/package.json @@ -29,10 +29,12 @@ "devDependencies": { "browserify": "^5.9.1", "chai": "^1.9.1", + "eslint": "^3.2.2", + "eslint-plugin-react": "^6.0.0", "gulp": "^3.8.6", "gulp-cached": "^1.0.1", "gulp-connect": "^2.0.6", - "gulp-eslint": "^0.1.8", + "gulp-eslint": "^3.0.1", "jsx-loader": "^0.13.2", "karma": "^0.12.21", "karma-chai": "^0.1.0", @@ -40,9 +42,12 @@ "karma-mocha": "^0.1.6", "karma-webpack": "^1.2.1", "mocha": "^1.21.3", - "react": "^0.13.0", + "react": "^15.3.0", "vinyl-source-stream": "^0.1.1", "webpack": "^1.3.3-beta1", "webpack-dev-server": "^1.4.9" + }, + "dependencies": { + "react-dom": "^15.3.0" } } diff --git a/webpack.config.js b/webpack.config.js index 2bbea4c..dfd4f31 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,5 +1,5 @@ module.exports = { - entry: "./example/main.js", + entry: "./example/example.js", output: { library: 'ReactSelectBox', libraryTarget: 'umd' From 5dfcd3be4c86c0a5767b1c629cdc92e61576e4ce Mon Sep 17 00:00:00 2001 From: Jeff Friesen Date: Tue, 2 Aug 2016 21:00:39 -0600 Subject: [PATCH 2/3] Moving react-dom into dev dependencies --- package.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/package.json b/package.json index 7f23b67..01387db 100644 --- a/package.json +++ b/package.json @@ -43,11 +43,9 @@ "karma-webpack": "^1.2.1", "mocha": "^1.21.3", "react": "^15.3.0", + "react-dom": "^15.3.0", "vinyl-source-stream": "^0.1.1", "webpack": "^1.3.3-beta1", "webpack-dev-server": "^1.4.9" - }, - "dependencies": { - "react-dom": "^15.3.0" } } From 210209df21422be0b5ca5a66234fa7131d08fad8 Mon Sep 17 00:00:00 2001 From: Jeff Friesen Date: Tue, 2 Aug 2016 21:58:50 -0600 Subject: [PATCH 3/3] Adding scrollOnFocus prop to allow preventing scrolling when opening select box --- dist/react-select-box.js | 15 +++++---------- dist/react-select-box.js.map | 2 +- dist/react-select-box.min.js | 6 +++--- dist/react-select-box.min.js.map | 2 +- example/example.js | 3 ++- lib/select-box.js | 5 +++-- 6 files changed, 15 insertions(+), 18 deletions(-) diff --git a/dist/react-select-box.js b/dist/react-select-box.js index fd73b35..26674ef 100644 --- a/dist/react-select-box.js +++ b/dist/react-select-box.js @@ -107,7 +107,8 @@ return /******/ (function(modules) { // webpackBootstrap label: "Favorite Colors", onChange: this.handleMultiChange, value: this.state.colors, - multiple: true + multiple: true, + scrollOnFocus: false, }, option({value: 'red'}, 'Red'), option({value: 'green'}, 'Green'), @@ -20891,7 +20892,8 @@ return /******/ (function(modules) { // webpackBootstrap getDefaultProps: function () { return { closeText: 'Close', - clearText: 'Remove selection' + clearText: 'Remove selection', + scrollOnFocus: true } }, @@ -20991,7 +20993,7 @@ return /******/ (function(modules) { // webpackBootstrap handleOpen: function (event) { interceptEvent(event) this.setState({open: true}, function () { - this.refs.menu.focus() + this.props.scrollOnFocus ? this.refs.menu.focus() : null }) }, @@ -21127,10 +21129,6 @@ return /******/ (function(modules) { // webpackBootstrap button( { id: this.state.id, - // ref: function ref(c) { - // debugger - // return this.button = c; - // }.bind(this), ref: 'button', className: 'react-select-box', onClick: this.toggleOpenClose, @@ -21183,9 +21181,6 @@ return /******/ (function(modules) { // webpackBootstrap onBlur: this.handleBlur, onFocus: this.handleFocus, 'aria-hidden': true, - // ref: function ref(c) { - // return this.menu = c; - // }.bind(this), ref: 'menu', tabIndex: 0 }, diff --git a/dist/react-select-box.js.map b/dist/react-select-box.js.map index daf68f6..cb449fa 100644 --- a/dist/react-select-box.js.map +++ b/dist/react-select-box.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap dd09198731303a9e5647","webpack:///./example/example.js","webpack:///external \"react\"","webpack:///./~/react-dom/index.js","webpack:///./~/react/lib/ReactDOM.js","webpack:///./~/node-libs-browser/~/process/browser.js","webpack:///./~/react/lib/ReactDOMComponentTree.js","webpack:///./~/react/lib/reactProdInvariant.js","webpack:///./~/react/lib/DOMProperty.js","webpack:///./~/fbjs/lib/invariant.js","webpack:///./~/react/lib/ReactDOMComponentFlags.js","webpack:///./~/react/lib/ReactDefaultInjection.js","webpack:///./~/react/lib/BeforeInputEventPlugin.js","webpack:///./~/react/lib/EventConstants.js","webpack:///./~/fbjs/lib/keyMirror.js","webpack:///./~/react/lib/EventPropagators.js","webpack:///./~/react/lib/EventPluginHub.js","webpack:///./~/react/lib/EventPluginRegistry.js","webpack:///./~/react/lib/EventPluginUtils.js","webpack:///./~/react/lib/ReactErrorUtils.js","webpack:///./~/fbjs/lib/warning.js","webpack:///./~/fbjs/lib/emptyFunction.js","webpack:///./~/react/lib/accumulateInto.js","webpack:///./~/react/lib/forEachAccumulated.js","webpack:///./~/fbjs/lib/ExecutionEnvironment.js","webpack:///./~/react/lib/FallbackCompositionState.js","webpack:///./~/react/~/object-assign/index.js","webpack:///./~/react/lib/PooledClass.js","webpack:///./~/react/lib/getTextContentAccessor.js","webpack:///./~/react/lib/SyntheticCompositionEvent.js","webpack:///./~/react/lib/SyntheticEvent.js","webpack:///./~/react/lib/SyntheticInputEvent.js","webpack:///./~/fbjs/lib/keyOf.js","webpack:///./~/react/lib/ChangeEventPlugin.js","webpack:///./~/react/lib/ReactUpdates.js","webpack:///./~/react/lib/CallbackQueue.js","webpack:///./~/react/lib/ReactFeatureFlags.js","webpack:///./~/react/lib/ReactReconciler.js","webpack:///./~/react/lib/ReactRef.js","webpack:///./~/react/lib/ReactOwner.js","webpack:///./~/react/lib/ReactInstrumentation.js","webpack:///./~/react/lib/ReactDebugTool.js","webpack:///./~/react/lib/ReactInvalidSetStateWarningDevTool.js","webpack:///./~/react/lib/ReactHostOperationHistoryDevtool.js","webpack:///./~/react/lib/ReactComponentTreeDevtool.js","webpack:///./~/react/lib/ReactCurrentOwner.js","webpack:///./~/react/lib/ReactChildrenMutationWarningDevtool.js","webpack:///./~/fbjs/lib/performanceNow.js","webpack:///./~/fbjs/lib/performance.js","webpack:///./~/react/lib/Transaction.js","webpack:///./~/react/lib/getEventTarget.js","webpack:///./~/react/lib/isEventSupported.js","webpack:///./~/react/lib/isTextInputElement.js","webpack:///./~/react/lib/DefaultEventPluginOrder.js","webpack:///./~/react/lib/EnterLeaveEventPlugin.js","webpack:///./~/react/lib/SyntheticMouseEvent.js","webpack:///./~/react/lib/SyntheticUIEvent.js","webpack:///./~/react/lib/ViewportMetrics.js","webpack:///./~/react/lib/getEventModifierState.js","webpack:///./~/react/lib/HTMLDOMPropertyConfig.js","webpack:///./~/react/lib/ReactComponentBrowserEnvironment.js","webpack:///./~/react/lib/DOMChildrenOperations.js","webpack:///./~/react/lib/DOMLazyTree.js","webpack:///./~/react/lib/DOMNamespaces.js","webpack:///./~/react/lib/setInnerHTML.js","webpack:///./~/react/lib/createMicrosoftUnsafeLocalFunction.js","webpack:///./~/react/lib/setTextContent.js","webpack:///./~/react/lib/escapeTextContentForBrowser.js","webpack:///./~/react/lib/Danger.js","webpack:///./~/fbjs/lib/createNodesFromMarkup.js","webpack:///./~/fbjs/lib/createArrayFromMixed.js","webpack:///./~/fbjs/lib/getMarkupWrap.js","webpack:///./~/react/lib/ReactMultiChildUpdateTypes.js","webpack:///./~/react/lib/ReactDOMIDOperations.js","webpack:///./~/react/lib/ReactDOMComponent.js","webpack:///./~/react/lib/AutoFocusUtils.js","webpack:///./~/fbjs/lib/focusNode.js","webpack:///./~/react/lib/CSSPropertyOperations.js","webpack:///./~/react/lib/CSSProperty.js","webpack:///./~/fbjs/lib/camelizeStyleName.js","webpack:///./~/fbjs/lib/camelize.js","webpack:///./~/react/lib/dangerousStyleValue.js","webpack:///./~/fbjs/lib/hyphenateStyleName.js","webpack:///./~/fbjs/lib/hyphenate.js","webpack:///./~/fbjs/lib/memoizeStringOnly.js","webpack:///./~/react/lib/DOMPropertyOperations.js","webpack:///./~/react/lib/ReactDOMInstrumentation.js","webpack:///./~/react/lib/ReactDOMDebugTool.js","webpack:///./~/react/lib/ReactDOMNullInputValuePropDevtool.js","webpack:///./~/react/lib/ReactDOMUnknownPropertyDevtool.js","webpack:///./~/react/lib/quoteAttributeValueForBrowser.js","webpack:///./~/react/lib/ReactBrowserEventEmitter.js","webpack:///./~/react/lib/ReactEventEmitterMixin.js","webpack:///./~/react/lib/getVendorPrefixedEventName.js","webpack:///./~/react/lib/ReactDOMButton.js","webpack:///./~/react/lib/DisabledInputUtils.js","webpack:///./~/react/lib/ReactDOMInput.js","webpack:///./~/react/lib/LinkedValueUtils.js","webpack:///./~/react/lib/ReactPropTypes.js","webpack:///./~/react/lib/ReactElement.js","webpack:///./~/react/lib/canDefineProperty.js","webpack:///./~/react/lib/ReactPropTypeLocationNames.js","webpack:///./~/react/lib/ReactPropTypesSecret.js","webpack:///./~/react/lib/getIteratorFn.js","webpack:///./~/react/lib/ReactPropTypeLocations.js","webpack:///./~/react/lib/ReactDOMOption.js","webpack:///./~/react/lib/ReactChildren.js","webpack:///./~/react/lib/traverseAllChildren.js","webpack:///./~/react/lib/KeyEscapeUtils.js","webpack:///./~/react/lib/ReactDOMSelect.js","webpack:///./~/react/lib/ReactDOMTextarea.js","webpack:///./~/react/lib/ReactMultiChild.js","webpack:///./~/react/lib/ReactComponentEnvironment.js","webpack:///./~/react/lib/ReactInstanceMap.js","webpack:///./~/react/lib/ReactChildReconciler.js","webpack:///./~/react/lib/instantiateReactComponent.js","webpack:///./~/react/lib/ReactCompositeComponent.js","webpack:///./~/react/lib/ReactNodeTypes.js","webpack:///./~/react/lib/checkReactTypeSpec.js","webpack:///./~/fbjs/lib/emptyObject.js","webpack:///./~/fbjs/lib/shallowEqual.js","webpack:///./~/react/lib/shouldUpdateReactComponent.js","webpack:///./~/react/lib/ReactEmptyComponent.js","webpack:///./~/react/lib/ReactHostComponent.js","webpack:///./~/react/lib/flattenChildren.js","webpack:///./~/react/lib/ReactServerRenderingTransaction.js","webpack:///./~/react/lib/ReactServerUpdateQueue.js","webpack:///./~/react/lib/ReactUpdateQueue.js","webpack:///./~/react/lib/validateDOMNesting.js","webpack:///./~/react/lib/ReactDOMEmptyComponent.js","webpack:///./~/react/lib/ReactDOMTreeTraversal.js","webpack:///./~/react/lib/ReactDOMTextComponent.js","webpack:///./~/react/lib/ReactDefaultBatchingStrategy.js","webpack:///./~/react/lib/ReactEventListener.js","webpack:///./~/fbjs/lib/EventListener.js","webpack:///./~/fbjs/lib/getUnboundedScrollPosition.js","webpack:///./~/react/lib/ReactInjection.js","webpack:///./~/react/lib/ReactClass.js","webpack:///./~/react/lib/ReactComponent.js","webpack:///./~/react/lib/ReactNoopUpdateQueue.js","webpack:///./~/react/lib/ReactReconcileTransaction.js","webpack:///./~/react/lib/ReactInputSelection.js","webpack:///./~/react/lib/ReactDOMSelection.js","webpack:///./~/react/lib/getNodeForCharacterOffset.js","webpack:///./~/fbjs/lib/containsNode.js","webpack:///./~/fbjs/lib/isTextNode.js","webpack:///./~/fbjs/lib/isNode.js","webpack:///./~/fbjs/lib/getActiveElement.js","webpack:///./~/react/lib/SVGDOMPropertyConfig.js","webpack:///./~/react/lib/SelectEventPlugin.js","webpack:///./~/react/lib/SimpleEventPlugin.js","webpack:///./~/react/lib/SyntheticAnimationEvent.js","webpack:///./~/react/lib/SyntheticClipboardEvent.js","webpack:///./~/react/lib/SyntheticFocusEvent.js","webpack:///./~/react/lib/SyntheticKeyboardEvent.js","webpack:///./~/react/lib/getEventCharCode.js","webpack:///./~/react/lib/getEventKey.js","webpack:///./~/react/lib/SyntheticDragEvent.js","webpack:///./~/react/lib/SyntheticTouchEvent.js","webpack:///./~/react/lib/SyntheticTransitionEvent.js","webpack:///./~/react/lib/SyntheticWheelEvent.js","webpack:///./~/react/lib/ReactMount.js","webpack:///./~/react/lib/ReactDOMContainerInfo.js","webpack:///./~/react/lib/ReactDOMFeatureFlags.js","webpack:///./~/react/lib/ReactMarkupChecksum.js","webpack:///./~/react/lib/adler32.js","webpack:///./~/react/lib/ReactVersion.js","webpack:///./~/react/lib/findDOMNode.js","webpack:///./~/react/lib/getHostComponentFromComposite.js","webpack:///./~/react/lib/renderSubtreeIntoContainer.js","webpack:///./lib/select-box.js"],"names":[],"mappings":"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CA;;AAEA,GAAE,iBAAiB,EAAE,UAAU,CAAC,WAAW;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,eAAe,EAAE,UAAU,CAAC,kBAAkB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,eAAe,EAAE,UAAU,CAAC,kBAAkB;AAChD;AACA;AACA;AACA;;AAEA,GAAE,eAAe,EAAE,UAAU,CAAC,kBAAkB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,MAAM,EAAE,UAAU,CAAC,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,kBAAkB,EAAE,UAAU,CAAC,WAAW;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,iBAAiB,EAAE,UAAU,CAAC,WAAW;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,yBAAyB,EAAE,UAAU,CAAC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,qBAAqB,EAAE,UAAU,CAAC,WAAW;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,mBAAmB,EAAE,UAAU,CAAC,WAAW;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,kBAAkB,EAAE,UAAU,CAAC,WAAW;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,oBAAoB,EAAE,UAAU,CAAC,WAAW;AAC9C;AACA;AACA;AACA;A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","file":"react-select-box.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactSelectBox\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"ReactSelectBox\"] = factory(root[\"react\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap dd09198731303a9e5647\n **/","var React = require('react')\nvar ReactDOM = require('react-dom')\nvar SelectBox = React.createFactory(require('../lib/select-box'))\n\nvar div = React.createElement.bind(null,'div')\nvar option = React.createElement.bind(null,'option')\nvar h1 = React.createElement.bind(null,'h1')\n\nvar Example = React.createFactory(React.createClass({displayName: 'Example',\n getInitialState: function () {\n return {\n color: null,\n colors: []\n }\n },\n handleChange: function (color) {\n this.setState({ color: color })\n },\n handleMultiChange: function (colors) {\n this.setState({ colors: colors })\n },\n render: function () {\n return(\n div({className: \"example\"},\n h1(null, \"Select Box Example\"),\n SelectBox(\n {\n label: \"Favorite Color\",\n className: 'my-example-select-box',\n onChange: this.handleChange,\n value: this.state.color\n },\n option({key: 'red', value: 'red'}, 'Red'),\n option({value: 'green'}, 'Green'),\n option({value: 'blue'}, 'Blue'),\n option({value: 'black'}, 'Black'),\n option({value: 'orange'}, 'Orange'),\n option({value: 'greenish'}, 'Light greenish with a little bit of yellow')\n ),\n h1(null, \"Multi Select Example\"),\n SelectBox(\n {\n label: \"Favorite Colors\",\n onChange: this.handleMultiChange,\n value: this.state.colors,\n multiple: true\n },\n option({value: 'red'}, 'Red'),\n option({value: 'green'}, 'Green'),\n option({value: 'blue'}, 'Blue'),\n option({value: 'black'}, 'Black'),\n option({value: 'orange'}, 'Orange'),\n option({value: 'greenish'}, 'Light greenish with a little bit of yellow')\n )\n )\n )\n }\n}))\n\nReactDOM.render(Example(null), document.querySelector('#main'))\n\n\n\n/** WEBPACK FOOTER **\n ** ./example/example.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"react\"\n ** module id = 2\n ** module chunks = 0\n **/","'use strict';\n\nmodule.exports = require('react/lib/ReactDOM');\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/react-dom/index.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOM\n */\n\n/* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/\n\n'use strict';\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactDefaultInjection = require('./ReactDefaultInjection');\nvar ReactMount = require('./ReactMount');\nvar ReactReconciler = require('./ReactReconciler');\nvar ReactUpdates = require('./ReactUpdates');\nvar ReactVersion = require('./ReactVersion');\n\nvar findDOMNode = require('./findDOMNode');\nvar getHostComponentFromComposite = require('./getHostComponentFromComposite');\nvar renderSubtreeIntoContainer = require('./renderSubtreeIntoContainer');\nvar warning = require('fbjs/lib/warning');\n\nReactDefaultInjection.inject();\n\nvar ReactDOM = {\n findDOMNode: findDOMNode,\n render: ReactMount.render,\n unmountComponentAtNode: ReactMount.unmountComponentAtNode,\n version: ReactVersion,\n\n /* eslint-disable camelcase */\n unstable_batchedUpdates: ReactUpdates.batchedUpdates,\n unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer\n};\n\n// Inject the runtime into a devtools global hook regardless of browser.\n// Allows for debugging when the hook is injected on the page.\n/* eslint-enable camelcase */\nif (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({\n ComponentTree: {\n getClosestInstanceFromNode: ReactDOMComponentTree.getClosestInstanceFromNode,\n getNodeFromInstance: function (inst) {\n // inst is an internal instance (but could be a composite)\n if (inst._renderedComponent) {\n inst = getHostComponentFromComposite(inst);\n }\n if (inst) {\n return ReactDOMComponentTree.getNodeFromInstance(inst);\n } else {\n return null;\n }\n }\n },\n Mount: ReactMount,\n Reconciler: ReactReconciler\n });\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n if (ExecutionEnvironment.canUseDOM && window.top === window.self) {\n\n // First check if devtools is not installed\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {\n // If we're in Chrome or Firefox, provide a download link if not installed.\n if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {\n // Firefox does not have the issue with devtools loaded over file://\n var showFileUrlMessage = window.location.protocol.indexOf('http') === -1 && navigator.userAgent.indexOf('Firefox') === -1;\n console.debug('Download the React DevTools ' + (showFileUrlMessage ? 'and use an HTTP server (instead of a file: URL) ' : '') + 'for a better development experience: ' + 'https://fb.me/react-devtools');\n }\n }\n\n var testFunc = function testFn() {};\n process.env.NODE_ENV !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, 'It looks like you\\'re using a minified copy of the development build ' + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See https://fb.me/react-minification for more details.') : void 0;\n\n // If we're in IE8, check to see if we are in compatibility mode and provide\n // information on preventing compatibility mode\n var ieCompatibilityMode = document.documentMode && document.documentMode < 8;\n\n process.env.NODE_ENV !== 'production' ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '') : void 0;\n\n var expectedFeatures = [\n // shims\n 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];\n\n for (var i = 0; i < expectedFeatures.length; i++) {\n if (!expectedFeatures[i]) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'One or more ES5 shims expected by React are not available: ' + 'https://fb.me/react-warning-polyfills') : void 0;\n break;\n }\n }\n }\n}\n\nmodule.exports = ReactDOM;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDOM.js\n **/","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\n(function () {\n try {\n cachedSetTimeout = setTimeout;\n } catch (e) {\n cachedSetTimeout = function () {\n throw new Error('setTimeout is not defined');\n }\n }\n try {\n cachedClearTimeout = clearTimeout;\n } catch (e) {\n cachedClearTimeout = function () {\n throw new Error('clearTimeout is not defined');\n }\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n return setTimeout(fun, 0);\n } else {\n return cachedSetTimeout.call(null, fun, 0);\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n clearTimeout(marker);\n } else {\n cachedClearTimeout.call(null, marker);\n }\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/node-libs-browser/~/process/browser.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOMComponentTree\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar DOMProperty = require('./DOMProperty');\nvar ReactDOMComponentFlags = require('./ReactDOMComponentFlags');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;\nvar Flags = ReactDOMComponentFlags;\n\nvar internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2);\n\n/**\n * Drill down (through composites and empty components) until we get a host or\n * host text component.\n *\n * This is pretty polymorphic but unavoidable with the current structure we have\n * for `_renderedChildren`.\n */\nfunction getRenderedHostOrTextFromComponent(component) {\n var rendered;\n while (rendered = component._renderedComponent) {\n component = rendered;\n }\n return component;\n}\n\n/**\n * Populate `_hostNode` on the rendered host/text component with the given\n * DOM node. The passed `inst` can be a composite.\n */\nfunction precacheNode(inst, node) {\n var hostInst = getRenderedHostOrTextFromComponent(inst);\n hostInst._hostNode = node;\n node[internalInstanceKey] = hostInst;\n}\n\nfunction uncacheNode(inst) {\n var node = inst._hostNode;\n if (node) {\n delete node[internalInstanceKey];\n inst._hostNode = null;\n }\n}\n\n/**\n * Populate `_hostNode` on each child of `inst`, assuming that the children\n * match up with the DOM (element) children of `node`.\n *\n * We cache entire levels at once to avoid an n^2 problem where we access the\n * children of a node sequentially and have to walk from the start to our target\n * node every time.\n *\n * Since we update `_renderedChildren` and the actual DOM at (slightly)\n * different times, we could race here and see a newer `_renderedChildren` than\n * the DOM nodes we see. To avoid this, ReactMultiChild calls\n * `prepareToManageChildren` before we change `_renderedChildren`, at which\n * time the container's child nodes are always cached (until it unmounts).\n */\nfunction precacheChildNodes(inst, node) {\n if (inst._flags & Flags.hasCachedChildNodes) {\n return;\n }\n var children = inst._renderedChildren;\n var childNode = node.firstChild;\n outer: for (var name in children) {\n if (!children.hasOwnProperty(name)) {\n continue;\n }\n var childInst = children[name];\n var childID = getRenderedHostOrTextFromComponent(childInst)._domID;\n if (childID == null) {\n // We're currently unmounting this child in ReactMultiChild; skip it.\n continue;\n }\n // We assume the child nodes are in the same order as the child instances.\n for (; childNode !== null; childNode = childNode.nextSibling) {\n if (childNode.nodeType === 1 && childNode.getAttribute(ATTR_NAME) === String(childID) || childNode.nodeType === 8 && childNode.nodeValue === ' react-text: ' + childID + ' ' || childNode.nodeType === 8 && childNode.nodeValue === ' react-empty: ' + childID + ' ') {\n precacheNode(childInst, childNode);\n continue outer;\n }\n }\n // We reached the end of the DOM children without finding an ID match.\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unable to find element with ID %s.', childID) : _prodInvariant('32', childID) : void 0;\n }\n inst._flags |= Flags.hasCachedChildNodes;\n}\n\n/**\n * Given a DOM node, return the closest ReactDOMComponent or\n * ReactDOMTextComponent instance ancestor.\n */\nfunction getClosestInstanceFromNode(node) {\n if (node[internalInstanceKey]) {\n return node[internalInstanceKey];\n }\n\n // Walk up the tree until we find an ancestor whose instance we have cached.\n var parents = [];\n while (!node[internalInstanceKey]) {\n parents.push(node);\n if (node.parentNode) {\n node = node.parentNode;\n } else {\n // Top of the tree. This node must not be part of a React tree (or is\n // unmounted, potentially).\n return null;\n }\n }\n\n var closest;\n var inst;\n for (; node && (inst = node[internalInstanceKey]); node = parents.pop()) {\n closest = inst;\n if (parents.length) {\n precacheChildNodes(inst, node);\n }\n }\n\n return closest;\n}\n\n/**\n * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent\n * instance, or null if the node was not rendered by this React.\n */\nfunction getInstanceFromNode(node) {\n var inst = getClosestInstanceFromNode(node);\n if (inst != null && inst._hostNode === node) {\n return inst;\n } else {\n return null;\n }\n}\n\n/**\n * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding\n * DOM node.\n */\nfunction getNodeFromInstance(inst) {\n // Without this first invariant, passing a non-DOM-component triggers the next\n // invariant for a missing parent, which is super confusing.\n !(inst._hostNode !== undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;\n\n if (inst._hostNode) {\n return inst._hostNode;\n }\n\n // Walk up the tree until we find an ancestor whose DOM node we have cached.\n var parents = [];\n while (!inst._hostNode) {\n parents.push(inst);\n !inst._hostParent ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React DOM tree root should always have a node reference.') : _prodInvariant('34') : void 0;\n inst = inst._hostParent;\n }\n\n // Now parents contains each ancestor that does *not* have a cached native\n // node, and `inst` is the deepest ancestor that does.\n for (; parents.length; inst = parents.pop()) {\n precacheChildNodes(inst, inst._hostNode);\n }\n\n return inst._hostNode;\n}\n\nvar ReactDOMComponentTree = {\n getClosestInstanceFromNode: getClosestInstanceFromNode,\n getInstanceFromNode: getInstanceFromNode,\n getNodeFromInstance: getNodeFromInstance,\n precacheChildNodes: precacheChildNodes,\n precacheNode: precacheNode,\n uncacheNode: uncacheNode\n};\n\nmodule.exports = ReactDOMComponentTree;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDOMComponentTree.js\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule reactProdInvariant\n * \n */\n'use strict';\n\n/**\n * WARNING: DO NOT manually require this module.\n * This is a replacement for `invariant(...)` used by the error code system\n * and will _only_ be required by the corresponding babel pass.\n * It always throws.\n */\n\nfunction reactProdInvariant(code) {\n var argCount = arguments.length - 1;\n\n var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code;\n\n for (var argIdx = 0; argIdx < argCount; argIdx++) {\n message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]);\n }\n\n message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.';\n\n var error = new Error(message);\n error.name = 'Invariant Violation';\n error.framesToPop = 1; // we don't care about reactProdInvariant's own frame\n\n throw error;\n}\n\nmodule.exports = reactProdInvariant;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/reactProdInvariant.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DOMProperty\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\nfunction checkMask(value, bitmask) {\n return (value & bitmask) === bitmask;\n}\n\nvar DOMPropertyInjection = {\n /**\n * Mapping from normalized, camelcased property names to a configuration that\n * specifies how the associated DOM property should be accessed or rendered.\n */\n MUST_USE_PROPERTY: 0x1,\n HAS_BOOLEAN_VALUE: 0x4,\n HAS_NUMERIC_VALUE: 0x8,\n HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8,\n HAS_OVERLOADED_BOOLEAN_VALUE: 0x20,\n\n /**\n * Inject some specialized knowledge about the DOM. This takes a config object\n * with the following properties:\n *\n * isCustomAttribute: function that given an attribute name will return true\n * if it can be inserted into the DOM verbatim. Useful for data-* or aria-*\n * attributes where it's impossible to enumerate all of the possible\n * attribute names,\n *\n * Properties: object mapping DOM property name to one of the\n * DOMPropertyInjection constants or null. If your attribute isn't in here,\n * it won't get written to the DOM.\n *\n * DOMAttributeNames: object mapping React attribute name to the DOM\n * attribute name. Attribute names not specified use the **lowercase**\n * normalized name.\n *\n * DOMAttributeNamespaces: object mapping React attribute name to the DOM\n * attribute namespace URL. (Attribute names not specified use no namespace.)\n *\n * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties.\n * Property names not specified use the normalized name.\n *\n * DOMMutationMethods: Properties that require special mutation methods. If\n * `value` is undefined, the mutation method should unset the property.\n *\n * @param {object} domPropertyConfig the config as described above.\n */\n injectDOMPropertyConfig: function (domPropertyConfig) {\n var Injection = DOMPropertyInjection;\n var Properties = domPropertyConfig.Properties || {};\n var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {};\n var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {};\n var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {};\n var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {};\n\n if (domPropertyConfig.isCustomAttribute) {\n DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute);\n }\n\n for (var propName in Properties) {\n !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'injectDOMPropertyConfig(...): You\\'re trying to inject DOM property \\'%s\\' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.', propName) : _prodInvariant('48', propName) : void 0;\n\n var lowerCased = propName.toLowerCase();\n var propConfig = Properties[propName];\n\n var propertyInfo = {\n attributeName: lowerCased,\n attributeNamespace: null,\n propertyName: propName,\n mutationMethod: null,\n\n mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY),\n hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE),\n hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE),\n hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE),\n hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE)\n };\n !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s', propName) : _prodInvariant('50', propName) : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n DOMProperty.getPossibleStandardName[lowerCased] = propName;\n }\n\n if (DOMAttributeNames.hasOwnProperty(propName)) {\n var attributeName = DOMAttributeNames[propName];\n propertyInfo.attributeName = attributeName;\n if (process.env.NODE_ENV !== 'production') {\n DOMProperty.getPossibleStandardName[attributeName] = propName;\n }\n }\n\n if (DOMAttributeNamespaces.hasOwnProperty(propName)) {\n propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName];\n }\n\n if (DOMPropertyNames.hasOwnProperty(propName)) {\n propertyInfo.propertyName = DOMPropertyNames[propName];\n }\n\n if (DOMMutationMethods.hasOwnProperty(propName)) {\n propertyInfo.mutationMethod = DOMMutationMethods[propName];\n }\n\n DOMProperty.properties[propName] = propertyInfo;\n }\n }\n};\n\n/* eslint-disable max-len */\nvar ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\n/* eslint-enable max-len */\n\n/**\n * DOMProperty exports lookup objects that can be used like functions:\n *\n * > DOMProperty.isValid['id']\n * true\n * > DOMProperty.isValid['foobar']\n * undefined\n *\n * Although this may be confusing, it performs better in general.\n *\n * @see http://jsperf.com/key-exists\n * @see http://jsperf.com/key-missing\n */\nvar DOMProperty = {\n\n ID_ATTRIBUTE_NAME: 'data-reactid',\n ROOT_ATTRIBUTE_NAME: 'data-reactroot',\n\n ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR,\n ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040',\n\n /**\n * Map from property \"standard name\" to an object with info about how to set\n * the property in the DOM. Each object contains:\n *\n * attributeName:\n * Used when rendering markup or with `*Attribute()`.\n * attributeNamespace\n * propertyName:\n * Used on DOM node instances. (This includes properties that mutate due to\n * external factors.)\n * mutationMethod:\n * If non-null, used instead of the property or `setAttribute()` after\n * initial render.\n * mustUseProperty:\n * Whether the property must be accessed and mutated as an object property.\n * hasBooleanValue:\n * Whether the property should be removed when set to a falsey value.\n * hasNumericValue:\n * Whether the property must be numeric or parse as a numeric and should be\n * removed when set to a falsey value.\n * hasPositiveNumericValue:\n * Whether the property must be positive numeric or parse as a positive\n * numeric and should be removed when set to a falsey value.\n * hasOverloadedBooleanValue:\n * Whether the property can be used as a flag as well as with a value.\n * Removed when strictly equal to false; present without a value when\n * strictly equal to true; present with a value otherwise.\n */\n properties: {},\n\n /**\n * Mapping from lowercase property names to the properly cased version, used\n * to warn in the case of missing properties. Available only in __DEV__.\n * @type {Object}\n */\n getPossibleStandardName: process.env.NODE_ENV !== 'production' ? {} : null,\n\n /**\n * All of the isCustomAttribute() functions that have been injected.\n */\n _isCustomAttributeFunctions: [],\n\n /**\n * Checks whether a property name is a custom attribute.\n * @method\n */\n isCustomAttribute: function (attributeName) {\n for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) {\n var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i];\n if (isCustomAttributeFn(attributeName)) {\n return true;\n }\n }\n return false;\n },\n\n injection: DOMPropertyInjection\n};\n\nmodule.exports = DOMProperty;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/DOMProperty.js\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n/** WEBPACK FOOTER **\n ** ./~/fbjs/lib/invariant.js\n **/","/**\n * Copyright 2015-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOMComponentFlags\n */\n\n'use strict';\n\nvar ReactDOMComponentFlags = {\n hasCachedChildNodes: 1 << 0\n};\n\nmodule.exports = ReactDOMComponentFlags;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDOMComponentFlags.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDefaultInjection\n */\n\n'use strict';\n\nvar BeforeInputEventPlugin = require('./BeforeInputEventPlugin');\nvar ChangeEventPlugin = require('./ChangeEventPlugin');\nvar DefaultEventPluginOrder = require('./DefaultEventPluginOrder');\nvar EnterLeaveEventPlugin = require('./EnterLeaveEventPlugin');\nvar HTMLDOMPropertyConfig = require('./HTMLDOMPropertyConfig');\nvar ReactComponentBrowserEnvironment = require('./ReactComponentBrowserEnvironment');\nvar ReactDOMComponent = require('./ReactDOMComponent');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactDOMEmptyComponent = require('./ReactDOMEmptyComponent');\nvar ReactDOMTreeTraversal = require('./ReactDOMTreeTraversal');\nvar ReactDOMTextComponent = require('./ReactDOMTextComponent');\nvar ReactDefaultBatchingStrategy = require('./ReactDefaultBatchingStrategy');\nvar ReactEventListener = require('./ReactEventListener');\nvar ReactInjection = require('./ReactInjection');\nvar ReactReconcileTransaction = require('./ReactReconcileTransaction');\nvar SVGDOMPropertyConfig = require('./SVGDOMPropertyConfig');\nvar SelectEventPlugin = require('./SelectEventPlugin');\nvar SimpleEventPlugin = require('./SimpleEventPlugin');\n\nvar alreadyInjected = false;\n\nfunction inject() {\n if (alreadyInjected) {\n // TODO: This is currently true because these injections are shared between\n // the client and the server package. They should be built independently\n // and not share any injection state. Then this problem will be solved.\n return;\n }\n alreadyInjected = true;\n\n ReactInjection.EventEmitter.injectReactEventListener(ReactEventListener);\n\n /**\n * Inject modules for resolving DOM hierarchy and plugin ordering.\n */\n ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder);\n ReactInjection.EventPluginUtils.injectComponentTree(ReactDOMComponentTree);\n ReactInjection.EventPluginUtils.injectTreeTraversal(ReactDOMTreeTraversal);\n\n /**\n * Some important event plugins included by default (without having to require\n * them).\n */\n ReactInjection.EventPluginHub.injectEventPluginsByName({\n SimpleEventPlugin: SimpleEventPlugin,\n EnterLeaveEventPlugin: EnterLeaveEventPlugin,\n ChangeEventPlugin: ChangeEventPlugin,\n SelectEventPlugin: SelectEventPlugin,\n BeforeInputEventPlugin: BeforeInputEventPlugin\n });\n\n ReactInjection.HostComponent.injectGenericComponentClass(ReactDOMComponent);\n\n ReactInjection.HostComponent.injectTextComponentClass(ReactDOMTextComponent);\n\n ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig);\n ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig);\n\n ReactInjection.EmptyComponent.injectEmptyComponentFactory(function (instantiate) {\n return new ReactDOMEmptyComponent(instantiate);\n });\n\n ReactInjection.Updates.injectReconcileTransaction(ReactReconcileTransaction);\n ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy);\n\n ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment);\n}\n\nmodule.exports = {\n inject: inject\n};\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDefaultInjection.js\n **/","/**\n * Copyright 2013-present Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule BeforeInputEventPlugin\n */\n\n'use strict';\n\nvar EventConstants = require('./EventConstants');\nvar EventPropagators = require('./EventPropagators');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar FallbackCompositionState = require('./FallbackCompositionState');\nvar SyntheticCompositionEvent = require('./SyntheticCompositionEvent');\nvar SyntheticInputEvent = require('./SyntheticInputEvent');\n\nvar keyOf = require('fbjs/lib/keyOf');\n\nvar END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space\nvar START_KEYCODE = 229;\n\nvar canUseCompositionEvent = ExecutionEnvironment.canUseDOM && 'CompositionEvent' in window;\n\nvar documentMode = null;\nif (ExecutionEnvironment.canUseDOM && 'documentMode' in document) {\n documentMode = document.documentMode;\n}\n\n// Webkit offers a very useful `textInput` event that can be used to\n// directly represent `beforeInput`. The IE `textinput` event is not as\n// useful, so we don't use it.\nvar canUseTextInputEvent = ExecutionEnvironment.canUseDOM && 'TextEvent' in window && !documentMode && !isPresto();\n\n// In IE9+, we have access to composition events, but the data supplied\n// by the native compositionend event may be incorrect. Japanese ideographic\n// spaces, for instance (\\u3000) are not recorded correctly.\nvar useFallbackCompositionData = ExecutionEnvironment.canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11);\n\n/**\n * Opera <= 12 includes TextEvent in window, but does not fire\n * text input events. Rely on keypress instead.\n */\nfunction isPresto() {\n var opera = window.opera;\n return typeof opera === 'object' && typeof opera.version === 'function' && parseInt(opera.version(), 10) <= 12;\n}\n\nvar SPACEBAR_CODE = 32;\nvar SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE);\n\nvar topLevelTypes = EventConstants.topLevelTypes;\n\n// Events and their corresponding property names.\nvar eventTypes = {\n beforeInput: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onBeforeInput: null }),\n captured: keyOf({ onBeforeInputCapture: null })\n },\n dependencies: [topLevelTypes.topCompositionEnd, topLevelTypes.topKeyPress, topLevelTypes.topTextInput, topLevelTypes.topPaste]\n },\n compositionEnd: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onCompositionEnd: null }),\n captured: keyOf({ onCompositionEndCapture: null })\n },\n dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionEnd, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown]\n },\n compositionStart: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onCompositionStart: null }),\n captured: keyOf({ onCompositionStartCapture: null })\n },\n dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionStart, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown]\n },\n compositionUpdate: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onCompositionUpdate: null }),\n captured: keyOf({ onCompositionUpdateCapture: null })\n },\n dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionUpdate, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown]\n }\n};\n\n// Track whether we've ever handled a keypress on the space key.\nvar hasSpaceKeypress = false;\n\n/**\n * Return whether a native keypress event is assumed to be a command.\n * This is required because Firefox fires `keypress` events for key commands\n * (cut, copy, select-all, etc.) even though no character is inserted.\n */\nfunction isKeypressCommand(nativeEvent) {\n return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) &&\n // ctrlKey && altKey is equivalent to AltGr, and is not a command.\n !(nativeEvent.ctrlKey && nativeEvent.altKey);\n}\n\n/**\n * Translate native top level events into event types.\n *\n * @param {string} topLevelType\n * @return {object}\n */\nfunction getCompositionEventType(topLevelType) {\n switch (topLevelType) {\n case topLevelTypes.topCompositionStart:\n return eventTypes.compositionStart;\n case topLevelTypes.topCompositionEnd:\n return eventTypes.compositionEnd;\n case topLevelTypes.topCompositionUpdate:\n return eventTypes.compositionUpdate;\n }\n}\n\n/**\n * Does our fallback best-guess model think this event signifies that\n * composition has begun?\n *\n * @param {string} topLevelType\n * @param {object} nativeEvent\n * @return {boolean}\n */\nfunction isFallbackCompositionStart(topLevelType, nativeEvent) {\n return topLevelType === topLevelTypes.topKeyDown && nativeEvent.keyCode === START_KEYCODE;\n}\n\n/**\n * Does our fallback mode think that this event is the end of composition?\n *\n * @param {string} topLevelType\n * @param {object} nativeEvent\n * @return {boolean}\n */\nfunction isFallbackCompositionEnd(topLevelType, nativeEvent) {\n switch (topLevelType) {\n case topLevelTypes.topKeyUp:\n // Command keys insert or clear IME input.\n return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;\n case topLevelTypes.topKeyDown:\n // Expect IME keyCode on each keydown. If we get any other\n // code we must have exited earlier.\n return nativeEvent.keyCode !== START_KEYCODE;\n case topLevelTypes.topKeyPress:\n case topLevelTypes.topMouseDown:\n case topLevelTypes.topBlur:\n // Events are not possible without cancelling IME.\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Google Input Tools provides composition data via a CustomEvent,\n * with the `data` property populated in the `detail` object. If this\n * is available on the event object, use it. If not, this is a plain\n * composition event and we have nothing special to extract.\n *\n * @param {object} nativeEvent\n * @return {?string}\n */\nfunction getDataFromCustomEvent(nativeEvent) {\n var detail = nativeEvent.detail;\n if (typeof detail === 'object' && 'data' in detail) {\n return detail.data;\n }\n return null;\n}\n\n// Track the current IME composition fallback object, if any.\nvar currentComposition = null;\n\n/**\n * @return {?object} A SyntheticCompositionEvent.\n */\nfunction extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var eventType;\n var fallbackData;\n\n if (canUseCompositionEvent) {\n eventType = getCompositionEventType(topLevelType);\n } else if (!currentComposition) {\n if (isFallbackCompositionStart(topLevelType, nativeEvent)) {\n eventType = eventTypes.compositionStart;\n }\n } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) {\n eventType = eventTypes.compositionEnd;\n }\n\n if (!eventType) {\n return null;\n }\n\n if (useFallbackCompositionData) {\n // The current composition is stored statically and must not be\n // overwritten while composition continues.\n if (!currentComposition && eventType === eventTypes.compositionStart) {\n currentComposition = FallbackCompositionState.getPooled(nativeEventTarget);\n } else if (eventType === eventTypes.compositionEnd) {\n if (currentComposition) {\n fallbackData = currentComposition.getData();\n }\n }\n }\n\n var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget);\n\n if (fallbackData) {\n // Inject data generated from fallback path into the synthetic event.\n // This matches the property of native CompositionEventInterface.\n event.data = fallbackData;\n } else {\n var customData = getDataFromCustomEvent(nativeEvent);\n if (customData !== null) {\n event.data = customData;\n }\n }\n\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n}\n\n/**\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {object} nativeEvent Native browser event.\n * @return {?string} The string corresponding to this `beforeInput` event.\n */\nfunction getNativeBeforeInputChars(topLevelType, nativeEvent) {\n switch (topLevelType) {\n case topLevelTypes.topCompositionEnd:\n return getDataFromCustomEvent(nativeEvent);\n case topLevelTypes.topKeyPress:\n /**\n * If native `textInput` events are available, our goal is to make\n * use of them. However, there is a special case: the spacebar key.\n * In Webkit, preventing default on a spacebar `textInput` event\n * cancels character insertion, but it *also* causes the browser\n * to fall back to its default spacebar behavior of scrolling the\n * page.\n *\n * Tracking at:\n * https://code.google.com/p/chromium/issues/detail?id=355103\n *\n * To avoid this issue, use the keypress event as if no `textInput`\n * event is available.\n */\n var which = nativeEvent.which;\n if (which !== SPACEBAR_CODE) {\n return null;\n }\n\n hasSpaceKeypress = true;\n return SPACEBAR_CHAR;\n\n case topLevelTypes.topTextInput:\n // Record the characters to be added to the DOM.\n var chars = nativeEvent.data;\n\n // If it's a spacebar character, assume that we have already handled\n // it at the keypress level and bail immediately. Android Chrome\n // doesn't give us keycodes, so we need to blacklist it.\n if (chars === SPACEBAR_CHAR && hasSpaceKeypress) {\n return null;\n }\n\n return chars;\n\n default:\n // For other native event types, do nothing.\n return null;\n }\n}\n\n/**\n * For browsers that do not provide the `textInput` event, extract the\n * appropriate string to use for SyntheticInputEvent.\n *\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {object} nativeEvent Native browser event.\n * @return {?string} The fallback string for this `beforeInput` event.\n */\nfunction getFallbackBeforeInputChars(topLevelType, nativeEvent) {\n // If we are currently composing (IME) and using a fallback to do so,\n // try to extract the composed characters from the fallback object.\n if (currentComposition) {\n if (topLevelType === topLevelTypes.topCompositionEnd || isFallbackCompositionEnd(topLevelType, nativeEvent)) {\n var chars = currentComposition.getData();\n FallbackCompositionState.release(currentComposition);\n currentComposition = null;\n return chars;\n }\n return null;\n }\n\n switch (topLevelType) {\n case topLevelTypes.topPaste:\n // If a paste event occurs after a keypress, throw out the input\n // chars. Paste events should not lead to BeforeInput events.\n return null;\n case topLevelTypes.topKeyPress:\n /**\n * As of v27, Firefox may fire keypress events even when no character\n * will be inserted. A few possibilities:\n *\n * - `which` is `0`. Arrow keys, Esc key, etc.\n *\n * - `which` is the pressed key code, but no char is available.\n * Ex: 'AltGr + d` in Polish. There is no modified character for\n * this key combination and no character is inserted into the\n * document, but FF fires the keypress for char code `100` anyway.\n * No `input` event will occur.\n *\n * - `which` is the pressed key code, but a command combination is\n * being used. Ex: `Cmd+C`. No character is inserted, and no\n * `input` event will occur.\n */\n if (nativeEvent.which && !isKeypressCommand(nativeEvent)) {\n return String.fromCharCode(nativeEvent.which);\n }\n return null;\n case topLevelTypes.topCompositionEnd:\n return useFallbackCompositionData ? null : nativeEvent.data;\n default:\n return null;\n }\n}\n\n/**\n * Extract a SyntheticInputEvent for `beforeInput`, based on either native\n * `textInput` or fallback behavior.\n *\n * @return {?object} A SyntheticInputEvent.\n */\nfunction extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var chars;\n\n if (canUseTextInputEvent) {\n chars = getNativeBeforeInputChars(topLevelType, nativeEvent);\n } else {\n chars = getFallbackBeforeInputChars(topLevelType, nativeEvent);\n }\n\n // If no characters are being inserted, no BeforeInput event should\n // be fired.\n if (!chars) {\n return null;\n }\n\n var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget);\n\n event.data = chars;\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n}\n\n/**\n * Create an `onBeforeInput` event to match\n * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents.\n *\n * This event plugin is based on the native `textInput` event\n * available in Chrome, Safari, Opera, and IE. This event fires after\n * `onKeyPress` and `onCompositionEnd`, but before `onInput`.\n *\n * `beforeInput` is spec'd but not implemented in any browsers, and\n * the `input` event does not provide any useful information about what has\n * actually been added, contrary to the spec. Thus, `textInput` is the best\n * available event to identify the characters that have actually been inserted\n * into the target node.\n *\n * This plugin is also responsible for emitting `composition` events, thus\n * allowing us to share composition fallback code for both `beforeInput` and\n * `composition` event types.\n */\nvar BeforeInputEventPlugin = {\n\n eventTypes: eventTypes,\n\n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n return [extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget), extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget)];\n }\n};\n\nmodule.exports = BeforeInputEventPlugin;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/BeforeInputEventPlugin.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule EventConstants\n */\n\n'use strict';\n\nvar keyMirror = require('fbjs/lib/keyMirror');\n\nvar PropagationPhases = keyMirror({ bubbled: null, captured: null });\n\n/**\n * Types of raw signals from the browser caught at the top level.\n */\nvar topLevelTypes = keyMirror({\n topAbort: null,\n topAnimationEnd: null,\n topAnimationIteration: null,\n topAnimationStart: null,\n topBlur: null,\n topCanPlay: null,\n topCanPlayThrough: null,\n topChange: null,\n topClick: null,\n topCompositionEnd: null,\n topCompositionStart: null,\n topCompositionUpdate: null,\n topContextMenu: null,\n topCopy: null,\n topCut: null,\n topDoubleClick: null,\n topDrag: null,\n topDragEnd: null,\n topDragEnter: null,\n topDragExit: null,\n topDragLeave: null,\n topDragOver: null,\n topDragStart: null,\n topDrop: null,\n topDurationChange: null,\n topEmptied: null,\n topEncrypted: null,\n topEnded: null,\n topError: null,\n topFocus: null,\n topInput: null,\n topInvalid: null,\n topKeyDown: null,\n topKeyPress: null,\n topKeyUp: null,\n topLoad: null,\n topLoadedData: null,\n topLoadedMetadata: null,\n topLoadStart: null,\n topMouseDown: null,\n topMouseMove: null,\n topMouseOut: null,\n topMouseOver: null,\n topMouseUp: null,\n topPaste: null,\n topPause: null,\n topPlay: null,\n topPlaying: null,\n topProgress: null,\n topRateChange: null,\n topReset: null,\n topScroll: null,\n topSeeked: null,\n topSeeking: null,\n topSelectionChange: null,\n topStalled: null,\n topSubmit: null,\n topSuspend: null,\n topTextInput: null,\n topTimeUpdate: null,\n topTouchCancel: null,\n topTouchEnd: null,\n topTouchMove: null,\n topTouchStart: null,\n topTransitionEnd: null,\n topVolumeChange: null,\n topWaiting: null,\n topWheel: null\n});\n\nvar EventConstants = {\n topLevelTypes: topLevelTypes,\n PropagationPhases: PropagationPhases\n};\n\nmodule.exports = EventConstants;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/EventConstants.js\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks static-only\n */\n\n'use strict';\n\nvar invariant = require('./invariant');\n\n/**\n * Constructs an enumeration with keys equal to their value.\n *\n * For example:\n *\n * var COLORS = keyMirror({blue: null, red: null});\n * var myColor = COLORS.blue;\n * var isColorValid = !!COLORS[myColor];\n *\n * The last line could not be performed if the values of the generated enum were\n * not equal to their keys.\n *\n * Input: {key1: val1, key2: val2}\n * Output: {key1: key1, key2: key2}\n *\n * @param {object} obj\n * @return {object}\n */\nvar keyMirror = function keyMirror(obj) {\n var ret = {};\n var key;\n !(obj instanceof Object && !Array.isArray(obj)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'keyMirror(...): Argument must be an object.') : invariant(false) : void 0;\n for (key in obj) {\n if (!obj.hasOwnProperty(key)) {\n continue;\n }\n ret[key] = key;\n }\n return ret;\n};\n\nmodule.exports = keyMirror;\n\n\n/** WEBPACK FOOTER **\n ** ./~/fbjs/lib/keyMirror.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule EventPropagators\n */\n\n'use strict';\n\nvar EventConstants = require('./EventConstants');\nvar EventPluginHub = require('./EventPluginHub');\nvar EventPluginUtils = require('./EventPluginUtils');\n\nvar accumulateInto = require('./accumulateInto');\nvar forEachAccumulated = require('./forEachAccumulated');\nvar warning = require('fbjs/lib/warning');\n\nvar PropagationPhases = EventConstants.PropagationPhases;\nvar getListener = EventPluginHub.getListener;\n\n/**\n * Some event types have a notion of different registration names for different\n * \"phases\" of propagation. This finds listeners by a given phase.\n */\nfunction listenerAtPhase(inst, event, propagationPhase) {\n var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase];\n return getListener(inst, registrationName);\n}\n\n/**\n * Tags a `SyntheticEvent` with dispatched listeners. Creating this function\n * here, allows us to not have to bind or create functions for each event.\n * Mutating the event's members allows us to not have to create a wrapping\n * \"dispatch\" object that pairs the event with the listener.\n */\nfunction accumulateDirectionalDispatches(inst, upwards, event) {\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(inst, 'Dispatching inst must not be null') : void 0;\n }\n var phase = upwards ? PropagationPhases.bubbled : PropagationPhases.captured;\n var listener = listenerAtPhase(inst, event, phase);\n if (listener) {\n event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);\n event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);\n }\n}\n\n/**\n * Collect dispatches (must be entirely collected before dispatching - see unit\n * tests). Lazily allocate the array to conserve memory. We must loop through\n * each event and perform the traversal for each one. We cannot perform a\n * single traversal for the entire collection of events because each event may\n * have a different target.\n */\nfunction accumulateTwoPhaseDispatchesSingle(event) {\n if (event && event.dispatchConfig.phasedRegistrationNames) {\n EventPluginUtils.traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event);\n }\n}\n\n/**\n * Same as `accumulateTwoPhaseDispatchesSingle`, but skips over the targetID.\n */\nfunction accumulateTwoPhaseDispatchesSingleSkipTarget(event) {\n if (event && event.dispatchConfig.phasedRegistrationNames) {\n var targetInst = event._targetInst;\n var parentInst = targetInst ? EventPluginUtils.getParentInstance(targetInst) : null;\n EventPluginUtils.traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event);\n }\n}\n\n/**\n * Accumulates without regard to direction, does not look for phased\n * registration names. Same as `accumulateDirectDispatchesSingle` but without\n * requiring that the `dispatchMarker` be the same as the dispatched ID.\n */\nfunction accumulateDispatches(inst, ignoredDirection, event) {\n if (event && event.dispatchConfig.registrationName) {\n var registrationName = event.dispatchConfig.registrationName;\n var listener = getListener(inst, registrationName);\n if (listener) {\n event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);\n event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);\n }\n }\n}\n\n/**\n * Accumulates dispatches on an `SyntheticEvent`, but only for the\n * `dispatchMarker`.\n * @param {SyntheticEvent} event\n */\nfunction accumulateDirectDispatchesSingle(event) {\n if (event && event.dispatchConfig.registrationName) {\n accumulateDispatches(event._targetInst, null, event);\n }\n}\n\nfunction accumulateTwoPhaseDispatches(events) {\n forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle);\n}\n\nfunction accumulateTwoPhaseDispatchesSkipTarget(events) {\n forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget);\n}\n\nfunction accumulateEnterLeaveDispatches(leave, enter, from, to) {\n EventPluginUtils.traverseEnterLeave(from, to, accumulateDispatches, leave, enter);\n}\n\nfunction accumulateDirectDispatches(events) {\n forEachAccumulated(events, accumulateDirectDispatchesSingle);\n}\n\n/**\n * A small set of propagation patterns, each of which will accept a small amount\n * of information, and generate a set of \"dispatch ready event objects\" - which\n * are sets of events that have already been annotated with a set of dispatched\n * listener functions/ids. The API is designed this way to discourage these\n * propagation strategies from actually executing the dispatches, since we\n * always want to collect the entire set of dispatches before executing event a\n * single one.\n *\n * @constructor EventPropagators\n */\nvar EventPropagators = {\n accumulateTwoPhaseDispatches: accumulateTwoPhaseDispatches,\n accumulateTwoPhaseDispatchesSkipTarget: accumulateTwoPhaseDispatchesSkipTarget,\n accumulateDirectDispatches: accumulateDirectDispatches,\n accumulateEnterLeaveDispatches: accumulateEnterLeaveDispatches\n};\n\nmodule.exports = EventPropagators;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/EventPropagators.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule EventPluginHub\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar EventPluginRegistry = require('./EventPluginRegistry');\nvar EventPluginUtils = require('./EventPluginUtils');\nvar ReactErrorUtils = require('./ReactErrorUtils');\n\nvar accumulateInto = require('./accumulateInto');\nvar forEachAccumulated = require('./forEachAccumulated');\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Internal store for event listeners\n */\nvar listenerBank = {};\n\n/**\n * Internal queue of events that have accumulated their dispatches and are\n * waiting to have their dispatches executed.\n */\nvar eventQueue = null;\n\n/**\n * Dispatches an event and releases it back into the pool, unless persistent.\n *\n * @param {?object} event Synthetic event to be dispatched.\n * @param {boolean} simulated If the event is simulated (changes exn behavior)\n * @private\n */\nvar executeDispatchesAndRelease = function (event, simulated) {\n if (event) {\n EventPluginUtils.executeDispatchesInOrder(event, simulated);\n\n if (!event.isPersistent()) {\n event.constructor.release(event);\n }\n }\n};\nvar executeDispatchesAndReleaseSimulated = function (e) {\n return executeDispatchesAndRelease(e, true);\n};\nvar executeDispatchesAndReleaseTopLevel = function (e) {\n return executeDispatchesAndRelease(e, false);\n};\n\nvar getDictionaryKey = function (inst) {\n return '.' + inst._rootNodeID;\n};\n\n/**\n * This is a unified interface for event plugins to be installed and configured.\n *\n * Event plugins can implement the following properties:\n *\n * `extractEvents` {function(string, DOMEventTarget, string, object): *}\n * Required. When a top-level event is fired, this method is expected to\n * extract synthetic events that will in turn be queued and dispatched.\n *\n * `eventTypes` {object}\n * Optional, plugins that fire events must publish a mapping of registration\n * names that are used to register listeners. Values of this mapping must\n * be objects that contain `registrationName` or `phasedRegistrationNames`.\n *\n * `executeDispatch` {function(object, function, string)}\n * Optional, allows plugins to override how an event gets dispatched. By\n * default, the listener is simply invoked.\n *\n * Each plugin that is injected into `EventsPluginHub` is immediately operable.\n *\n * @public\n */\nvar EventPluginHub = {\n\n /**\n * Methods for injecting dependencies.\n */\n injection: {\n\n /**\n * @param {array} InjectedEventPluginOrder\n * @public\n */\n injectEventPluginOrder: EventPluginRegistry.injectEventPluginOrder,\n\n /**\n * @param {object} injectedNamesToPlugins Map from names to plugin modules.\n */\n injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName\n\n },\n\n /**\n * Stores `listener` at `listenerBank[registrationName][key]`. Is idempotent.\n *\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @param {function} listener The callback to store.\n */\n putListener: function (inst, registrationName, listener) {\n !(typeof listener === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : _prodInvariant('94', registrationName, typeof listener) : void 0;\n\n var key = getDictionaryKey(inst);\n var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {});\n bankForRegistrationName[key] = listener;\n\n var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n if (PluginModule && PluginModule.didPutListener) {\n PluginModule.didPutListener(inst, registrationName, listener);\n }\n },\n\n /**\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @return {?function} The stored callback.\n */\n getListener: function (inst, registrationName) {\n var bankForRegistrationName = listenerBank[registrationName];\n var key = getDictionaryKey(inst);\n return bankForRegistrationName && bankForRegistrationName[key];\n },\n\n /**\n * Deletes a listener from the registration bank.\n *\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n */\n deleteListener: function (inst, registrationName) {\n var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n if (PluginModule && PluginModule.willDeleteListener) {\n PluginModule.willDeleteListener(inst, registrationName);\n }\n\n var bankForRegistrationName = listenerBank[registrationName];\n // TODO: This should never be null -- when is it?\n if (bankForRegistrationName) {\n var key = getDictionaryKey(inst);\n delete bankForRegistrationName[key];\n }\n },\n\n /**\n * Deletes all listeners for the DOM element with the supplied ID.\n *\n * @param {object} inst The instance, which is the source of events.\n */\n deleteAllListeners: function (inst) {\n var key = getDictionaryKey(inst);\n for (var registrationName in listenerBank) {\n if (!listenerBank.hasOwnProperty(registrationName)) {\n continue;\n }\n\n if (!listenerBank[registrationName][key]) {\n continue;\n }\n\n var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n if (PluginModule && PluginModule.willDeleteListener) {\n PluginModule.willDeleteListener(inst, registrationName);\n }\n\n delete listenerBank[registrationName][key];\n }\n },\n\n /**\n * Allows registered plugins an opportunity to extract events from top-level\n * native browser events.\n *\n * @return {*} An accumulation of synthetic events.\n * @internal\n */\n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var events;\n var plugins = EventPluginRegistry.plugins;\n for (var i = 0; i < plugins.length; i++) {\n // Not every plugin in the ordering may be loaded at runtime.\n var possiblePlugin = plugins[i];\n if (possiblePlugin) {\n var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget);\n if (extractedEvents) {\n events = accumulateInto(events, extractedEvents);\n }\n }\n }\n return events;\n },\n\n /**\n * Enqueues a synthetic event that should be dispatched when\n * `processEventQueue` is invoked.\n *\n * @param {*} events An accumulation of synthetic events.\n * @internal\n */\n enqueueEvents: function (events) {\n if (events) {\n eventQueue = accumulateInto(eventQueue, events);\n }\n },\n\n /**\n * Dispatches all synthetic events on the event queue.\n *\n * @internal\n */\n processEventQueue: function (simulated) {\n // Set `eventQueue` to null before processing it so that we can tell if more\n // events get enqueued while processing.\n var processingEventQueue = eventQueue;\n eventQueue = null;\n if (simulated) {\n forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated);\n } else {\n forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel);\n }\n !!eventQueue ? process.env.NODE_ENV !== 'production' ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.') : _prodInvariant('95') : void 0;\n // This would be a good time to rethrow if any of the event handlers threw.\n ReactErrorUtils.rethrowCaughtError();\n },\n\n /**\n * These are needed for tests only. Do not use!\n */\n __purge: function () {\n listenerBank = {};\n },\n\n __getListenerBank: function () {\n return listenerBank;\n }\n\n};\n\nmodule.exports = EventPluginHub;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/EventPluginHub.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule EventPluginRegistry\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Injectable ordering of event plugins.\n */\nvar EventPluginOrder = null;\n\n/**\n * Injectable mapping from names to event plugin modules.\n */\nvar namesToPlugins = {};\n\n/**\n * Recomputes the plugin list using the injected plugins and plugin ordering.\n *\n * @private\n */\nfunction recomputePluginOrdering() {\n if (!EventPluginOrder) {\n // Wait until an `EventPluginOrder` is injected.\n return;\n }\n for (var pluginName in namesToPlugins) {\n var PluginModule = namesToPlugins[pluginName];\n var pluginIndex = EventPluginOrder.indexOf(pluginName);\n !(pluginIndex > -1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.', pluginName) : _prodInvariant('96', pluginName) : void 0;\n if (EventPluginRegistry.plugins[pluginIndex]) {\n continue;\n }\n !PluginModule.extractEvents ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.', pluginName) : _prodInvariant('97', pluginName) : void 0;\n EventPluginRegistry.plugins[pluginIndex] = PluginModule;\n var publishedEvents = PluginModule.eventTypes;\n for (var eventName in publishedEvents) {\n !publishEventForPlugin(publishedEvents[eventName], PluginModule, eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : _prodInvariant('98', eventName, pluginName) : void 0;\n }\n }\n}\n\n/**\n * Publishes an event so that it can be dispatched by the supplied plugin.\n *\n * @param {object} dispatchConfig Dispatch configuration for the event.\n * @param {object} PluginModule Plugin publishing the event.\n * @return {boolean} True if the event was successfully published.\n * @private\n */\nfunction publishEventForPlugin(dispatchConfig, PluginModule, eventName) {\n !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.', eventName) : _prodInvariant('99', eventName) : void 0;\n EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig;\n\n var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;\n if (phasedRegistrationNames) {\n for (var phaseName in phasedRegistrationNames) {\n if (phasedRegistrationNames.hasOwnProperty(phaseName)) {\n var phasedRegistrationName = phasedRegistrationNames[phaseName];\n publishRegistrationName(phasedRegistrationName, PluginModule, eventName);\n }\n }\n return true;\n } else if (dispatchConfig.registrationName) {\n publishRegistrationName(dispatchConfig.registrationName, PluginModule, eventName);\n return true;\n }\n return false;\n}\n\n/**\n * Publishes a registration name that is used to identify dispatched events and\n * can be used with `EventPluginHub.putListener` to register listeners.\n *\n * @param {string} registrationName Registration name to add.\n * @param {object} PluginModule Plugin publishing the event.\n * @private\n */\nfunction publishRegistrationName(registrationName, PluginModule, eventName) {\n !!EventPluginRegistry.registrationNameModules[registrationName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.', registrationName) : _prodInvariant('100', registrationName) : void 0;\n EventPluginRegistry.registrationNameModules[registrationName] = PluginModule;\n EventPluginRegistry.registrationNameDependencies[registrationName] = PluginModule.eventTypes[eventName].dependencies;\n\n if (process.env.NODE_ENV !== 'production') {\n var lowerCasedName = registrationName.toLowerCase();\n EventPluginRegistry.possibleRegistrationNames[lowerCasedName] = registrationName;\n\n if (registrationName === 'onDoubleClick') {\n EventPluginRegistry.possibleRegistrationNames.ondblclick = registrationName;\n }\n }\n}\n\n/**\n * Registers plugins so that they can extract and dispatch events.\n *\n * @see {EventPluginHub}\n */\nvar EventPluginRegistry = {\n\n /**\n * Ordered list of injected plugins.\n */\n plugins: [],\n\n /**\n * Mapping from event name to dispatch config\n */\n eventNameDispatchConfigs: {},\n\n /**\n * Mapping from registration name to plugin module\n */\n registrationNameModules: {},\n\n /**\n * Mapping from registration name to event name\n */\n registrationNameDependencies: {},\n\n /**\n * Mapping from lowercase registration names to the properly cased version,\n * used to warn in the case of missing event handlers. Available\n * only in __DEV__.\n * @type {Object}\n */\n possibleRegistrationNames: process.env.NODE_ENV !== 'production' ? {} : null,\n\n /**\n * Injects an ordering of plugins (by plugin name). This allows the ordering\n * to be decoupled from injection of the actual plugins so that ordering is\n * always deterministic regardless of packaging, on-the-fly injection, etc.\n *\n * @param {array} InjectedEventPluginOrder\n * @internal\n * @see {EventPluginHub.injection.injectEventPluginOrder}\n */\n injectEventPluginOrder: function (InjectedEventPluginOrder) {\n !!EventPluginOrder ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.') : _prodInvariant('101') : void 0;\n // Clone the ordering so it cannot be dynamically mutated.\n EventPluginOrder = Array.prototype.slice.call(InjectedEventPluginOrder);\n recomputePluginOrdering();\n },\n\n /**\n * Injects plugins to be used by `EventPluginHub`. The plugin names must be\n * in the ordering injected by `injectEventPluginOrder`.\n *\n * Plugins can be injected as part of page initialization or on-the-fly.\n *\n * @param {object} injectedNamesToPlugins Map from names to plugin modules.\n * @internal\n * @see {EventPluginHub.injection.injectEventPluginsByName}\n */\n injectEventPluginsByName: function (injectedNamesToPlugins) {\n var isOrderingDirty = false;\n for (var pluginName in injectedNamesToPlugins) {\n if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) {\n continue;\n }\n var PluginModule = injectedNamesToPlugins[pluginName];\n if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== PluginModule) {\n !!namesToPlugins[pluginName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.', pluginName) : _prodInvariant('102', pluginName) : void 0;\n namesToPlugins[pluginName] = PluginModule;\n isOrderingDirty = true;\n }\n }\n if (isOrderingDirty) {\n recomputePluginOrdering();\n }\n },\n\n /**\n * Looks up the plugin for the supplied event.\n *\n * @param {object} event A synthetic event.\n * @return {?object} The plugin that created the supplied event.\n * @internal\n */\n getPluginModuleForEvent: function (event) {\n var dispatchConfig = event.dispatchConfig;\n if (dispatchConfig.registrationName) {\n return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName] || null;\n }\n for (var phase in dispatchConfig.phasedRegistrationNames) {\n if (!dispatchConfig.phasedRegistrationNames.hasOwnProperty(phase)) {\n continue;\n }\n var PluginModule = EventPluginRegistry.registrationNameModules[dispatchConfig.phasedRegistrationNames[phase]];\n if (PluginModule) {\n return PluginModule;\n }\n }\n return null;\n },\n\n /**\n * Exposed for unit testing.\n * @private\n */\n _resetEventPlugins: function () {\n EventPluginOrder = null;\n for (var pluginName in namesToPlugins) {\n if (namesToPlugins.hasOwnProperty(pluginName)) {\n delete namesToPlugins[pluginName];\n }\n }\n EventPluginRegistry.plugins.length = 0;\n\n var eventNameDispatchConfigs = EventPluginRegistry.eventNameDispatchConfigs;\n for (var eventName in eventNameDispatchConfigs) {\n if (eventNameDispatchConfigs.hasOwnProperty(eventName)) {\n delete eventNameDispatchConfigs[eventName];\n }\n }\n\n var registrationNameModules = EventPluginRegistry.registrationNameModules;\n for (var registrationName in registrationNameModules) {\n if (registrationNameModules.hasOwnProperty(registrationName)) {\n delete registrationNameModules[registrationName];\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var possibleRegistrationNames = EventPluginRegistry.possibleRegistrationNames;\n for (var lowerCasedName in possibleRegistrationNames) {\n if (possibleRegistrationNames.hasOwnProperty(lowerCasedName)) {\n delete possibleRegistrationNames[lowerCasedName];\n }\n }\n }\n }\n\n};\n\nmodule.exports = EventPluginRegistry;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/EventPluginRegistry.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule EventPluginUtils\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar EventConstants = require('./EventConstants');\nvar ReactErrorUtils = require('./ReactErrorUtils');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\n/**\n * Injected dependencies:\n */\n\n/**\n * - `ComponentTree`: [required] Module that can convert between React instances\n * and actual node references.\n */\nvar ComponentTree;\nvar TreeTraversal;\nvar injection = {\n injectComponentTree: function (Injected) {\n ComponentTree = Injected;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.getNodeFromInstance && Injected.getInstanceFromNode, 'EventPluginUtils.injection.injectComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.') : void 0;\n }\n },\n injectTreeTraversal: function (Injected) {\n TreeTraversal = Injected;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.isAncestor && Injected.getLowestCommonAncestor, 'EventPluginUtils.injection.injectTreeTraversal(...): Injected ' + 'module is missing isAncestor or getLowestCommonAncestor.') : void 0;\n }\n }\n};\n\nvar topLevelTypes = EventConstants.topLevelTypes;\n\nfunction isEndish(topLevelType) {\n return topLevelType === topLevelTypes.topMouseUp || topLevelType === topLevelTypes.topTouchEnd || topLevelType === topLevelTypes.topTouchCancel;\n}\n\nfunction isMoveish(topLevelType) {\n return topLevelType === topLevelTypes.topMouseMove || topLevelType === topLevelTypes.topTouchMove;\n}\nfunction isStartish(topLevelType) {\n return topLevelType === topLevelTypes.topMouseDown || topLevelType === topLevelTypes.topTouchStart;\n}\n\nvar validateEventDispatches;\nif (process.env.NODE_ENV !== 'production') {\n validateEventDispatches = function (event) {\n var dispatchListeners = event._dispatchListeners;\n var dispatchInstances = event._dispatchInstances;\n\n var listenersIsArr = Array.isArray(dispatchListeners);\n var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0;\n\n var instancesIsArr = Array.isArray(dispatchInstances);\n var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0;\n\n process.env.NODE_ENV !== 'production' ? warning(instancesIsArr === listenersIsArr && instancesLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : void 0;\n };\n}\n\n/**\n * Dispatch the event to the listener.\n * @param {SyntheticEvent} event SyntheticEvent to handle\n * @param {boolean} simulated If the event is simulated (changes exn behavior)\n * @param {function} listener Application-level callback\n * @param {*} inst Internal component instance\n */\nfunction executeDispatch(event, simulated, listener, inst) {\n var type = event.type || 'unknown-event';\n event.currentTarget = EventPluginUtils.getNodeFromInstance(inst);\n if (simulated) {\n ReactErrorUtils.invokeGuardedCallbackWithCatch(type, listener, event);\n } else {\n ReactErrorUtils.invokeGuardedCallback(type, listener, event);\n }\n event.currentTarget = null;\n}\n\n/**\n * Standard/simple iteration through an event's collected dispatches.\n */\nfunction executeDispatchesInOrder(event, simulated) {\n var dispatchListeners = event._dispatchListeners;\n var dispatchInstances = event._dispatchInstances;\n if (process.env.NODE_ENV !== 'production') {\n validateEventDispatches(event);\n }\n if (Array.isArray(dispatchListeners)) {\n for (var i = 0; i < dispatchListeners.length; i++) {\n if (event.isPropagationStopped()) {\n break;\n }\n // Listeners and Instances are two parallel arrays that are always in sync.\n executeDispatch(event, simulated, dispatchListeners[i], dispatchInstances[i]);\n }\n } else if (dispatchListeners) {\n executeDispatch(event, simulated, dispatchListeners, dispatchInstances);\n }\n event._dispatchListeners = null;\n event._dispatchInstances = null;\n}\n\n/**\n * Standard/simple iteration through an event's collected dispatches, but stops\n * at the first dispatch execution returning true, and returns that id.\n *\n * @return {?string} id of the first dispatch execution who's listener returns\n * true, or null if no listener returned true.\n */\nfunction executeDispatchesInOrderStopAtTrueImpl(event) {\n var dispatchListeners = event._dispatchListeners;\n var dispatchInstances = event._dispatchInstances;\n if (process.env.NODE_ENV !== 'production') {\n validateEventDispatches(event);\n }\n if (Array.isArray(dispatchListeners)) {\n for (var i = 0; i < dispatchListeners.length; i++) {\n if (event.isPropagationStopped()) {\n break;\n }\n // Listeners and Instances are two parallel arrays that are always in sync.\n if (dispatchListeners[i](event, dispatchInstances[i])) {\n return dispatchInstances[i];\n }\n }\n } else if (dispatchListeners) {\n if (dispatchListeners(event, dispatchInstances)) {\n return dispatchInstances;\n }\n }\n return null;\n}\n\n/**\n * @see executeDispatchesInOrderStopAtTrueImpl\n */\nfunction executeDispatchesInOrderStopAtTrue(event) {\n var ret = executeDispatchesInOrderStopAtTrueImpl(event);\n event._dispatchInstances = null;\n event._dispatchListeners = null;\n return ret;\n}\n\n/**\n * Execution of a \"direct\" dispatch - there must be at most one dispatch\n * accumulated on the event or it is considered an error. It doesn't really make\n * sense for an event with multiple dispatches (bubbled) to keep track of the\n * return values at each dispatch execution, but it does tend to make sense when\n * dealing with \"direct\" dispatches.\n *\n * @return {*} The return value of executing the single dispatch.\n */\nfunction executeDirectDispatch(event) {\n if (process.env.NODE_ENV !== 'production') {\n validateEventDispatches(event);\n }\n var dispatchListener = event._dispatchListeners;\n var dispatchInstance = event._dispatchInstances;\n !!Array.isArray(dispatchListener) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : _prodInvariant('103') : void 0;\n event.currentTarget = dispatchListener ? EventPluginUtils.getNodeFromInstance(dispatchInstance) : null;\n var res = dispatchListener ? dispatchListener(event) : null;\n event.currentTarget = null;\n event._dispatchListeners = null;\n event._dispatchInstances = null;\n return res;\n}\n\n/**\n * @param {SyntheticEvent} event\n * @return {boolean} True iff number of dispatches accumulated is greater than 0.\n */\nfunction hasDispatches(event) {\n return !!event._dispatchListeners;\n}\n\n/**\n * General utilities that are useful in creating custom Event Plugins.\n */\nvar EventPluginUtils = {\n isEndish: isEndish,\n isMoveish: isMoveish,\n isStartish: isStartish,\n\n executeDirectDispatch: executeDirectDispatch,\n executeDispatchesInOrder: executeDispatchesInOrder,\n executeDispatchesInOrderStopAtTrue: executeDispatchesInOrderStopAtTrue,\n hasDispatches: hasDispatches,\n\n getInstanceFromNode: function (node) {\n return ComponentTree.getInstanceFromNode(node);\n },\n getNodeFromInstance: function (node) {\n return ComponentTree.getNodeFromInstance(node);\n },\n isAncestor: function (a, b) {\n return TreeTraversal.isAncestor(a, b);\n },\n getLowestCommonAncestor: function (a, b) {\n return TreeTraversal.getLowestCommonAncestor(a, b);\n },\n getParentInstance: function (inst) {\n return TreeTraversal.getParentInstance(inst);\n },\n traverseTwoPhase: function (target, fn, arg) {\n return TreeTraversal.traverseTwoPhase(target, fn, arg);\n },\n traverseEnterLeave: function (from, to, fn, argFrom, argTo) {\n return TreeTraversal.traverseEnterLeave(from, to, fn, argFrom, argTo);\n },\n\n injection: injection\n};\n\nmodule.exports = EventPluginUtils;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/EventPluginUtils.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactErrorUtils\n */\n\n'use strict';\n\nvar caughtError = null;\n\n/**\n * Call a function while guarding against errors that happens within it.\n *\n * @param {?String} name of the guard to use for logging or debugging\n * @param {Function} func The function to invoke\n * @param {*} a First argument\n * @param {*} b Second argument\n */\nfunction invokeGuardedCallback(name, func, a, b) {\n try {\n return func(a, b);\n } catch (x) {\n if (caughtError === null) {\n caughtError = x;\n }\n return undefined;\n }\n}\n\nvar ReactErrorUtils = {\n invokeGuardedCallback: invokeGuardedCallback,\n\n /**\n * Invoked by ReactTestUtils.Simulate so that any errors thrown by the event\n * handler are sure to be rethrown by rethrowCaughtError.\n */\n invokeGuardedCallbackWithCatch: invokeGuardedCallback,\n\n /**\n * During execution of guarded functions we will capture the first error which\n * we will rethrow to be handled by the top level error handler.\n */\n rethrowCaughtError: function () {\n if (caughtError) {\n var error = caughtError;\n caughtError = null;\n throw error;\n }\n }\n};\n\nif (process.env.NODE_ENV !== 'production') {\n /**\n * To help development we can get better devtools integration by simulating a\n * real browser event.\n */\n if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') {\n var fakeNode = document.createElement('react');\n ReactErrorUtils.invokeGuardedCallback = function (name, func, a, b) {\n var boundFunc = func.bind(null, a, b);\n var evtType = 'react-' + name;\n fakeNode.addEventListener(evtType, boundFunc, false);\n var evt = document.createEvent('Event');\n evt.initEvent(evtType, false, false);\n fakeNode.dispatchEvent(evt);\n fakeNode.removeEventListener(evtType, boundFunc, false);\n };\n }\n}\n\nmodule.exports = ReactErrorUtils;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactErrorUtils.js\n **/","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\nvar emptyFunction = require('./emptyFunction');\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function warning(condition, format) {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n };\n}\n\nmodule.exports = warning;\n\n\n/** WEBPACK FOOTER **\n ** ./~/fbjs/lib/warning.js\n **/","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n/** WEBPACK FOOTER **\n ** ./~/fbjs/lib/emptyFunction.js\n **/","/**\n * Copyright 2014-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule accumulateInto\n * \n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Accumulates items that must not be null or undefined into the first one. This\n * is used to conserve memory by avoiding array allocations, and thus sacrifices\n * API cleanness. Since `current` can be null before being passed in and not\n * null after this function, make sure to assign it back to `current`:\n *\n * `a = accumulateInto(a, b);`\n *\n * This API should be sparingly used. Try `accumulate` for something cleaner.\n *\n * @return {*|array<*>} An accumulation of items.\n */\n\nfunction accumulateInto(current, next) {\n !(next != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'accumulateInto(...): Accumulated items must not be null or undefined.') : _prodInvariant('30') : void 0;\n\n if (current == null) {\n return next;\n }\n\n // Both are not empty. Warning: Never call x.concat(y) when you are not\n // certain that x is an Array (x could be a string with concat method).\n if (Array.isArray(current)) {\n if (Array.isArray(next)) {\n current.push.apply(current, next);\n return current;\n }\n current.push(next);\n return current;\n }\n\n if (Array.isArray(next)) {\n // A bit too dangerous to mutate `next`.\n return [current].concat(next);\n }\n\n return [current, next];\n}\n\nmodule.exports = accumulateInto;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/accumulateInto.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule forEachAccumulated\n * \n */\n\n'use strict';\n\n/**\n * @param {array} arr an \"accumulation\" of items which is either an Array or\n * a single item. Useful when paired with the `accumulate` module. This is a\n * simple utility that allows us to reason about a collection of items, but\n * handling the case when there is exactly one item (and we do not need to\n * allocate an array).\n */\n\nfunction forEachAccumulated(arr, cb, scope) {\n if (Array.isArray(arr)) {\n arr.forEach(cb, scope);\n } else if (arr) {\n cb.call(scope, arr);\n }\n}\n\nmodule.exports = forEachAccumulated;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/forEachAccumulated.js\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\nvar ExecutionEnvironment = {\n\n canUseDOM: canUseDOM,\n\n canUseWorkers: typeof Worker !== 'undefined',\n\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n\n canUseViewport: canUseDOM && !!window.screen,\n\n isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\n\nmodule.exports = ExecutionEnvironment;\n\n\n/** WEBPACK FOOTER **\n ** ./~/fbjs/lib/ExecutionEnvironment.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule FallbackCompositionState\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar PooledClass = require('./PooledClass');\n\nvar getTextContentAccessor = require('./getTextContentAccessor');\n\n/**\n * This helper class stores information about text content of a target node,\n * allowing comparison of content before and after a given event.\n *\n * Identify the node where selection currently begins, then observe\n * both its text content and its current position in the DOM. Since the\n * browser may natively replace the target node during composition, we can\n * use its position to find its replacement.\n *\n * @param {DOMEventTarget} root\n */\nfunction FallbackCompositionState(root) {\n this._root = root;\n this._startText = this.getText();\n this._fallbackText = null;\n}\n\n_assign(FallbackCompositionState.prototype, {\n destructor: function () {\n this._root = null;\n this._startText = null;\n this._fallbackText = null;\n },\n\n /**\n * Get current text of input.\n *\n * @return {string}\n */\n getText: function () {\n if ('value' in this._root) {\n return this._root.value;\n }\n return this._root[getTextContentAccessor()];\n },\n\n /**\n * Determine the differing substring between the initially stored\n * text content and the current content.\n *\n * @return {string}\n */\n getData: function () {\n if (this._fallbackText) {\n return this._fallbackText;\n }\n\n var start;\n var startValue = this._startText;\n var startLength = startValue.length;\n var end;\n var endValue = this.getText();\n var endLength = endValue.length;\n\n for (start = 0; start < startLength; start++) {\n if (startValue[start] !== endValue[start]) {\n break;\n }\n }\n\n var minEnd = startLength - start;\n for (end = 1; end <= minEnd; end++) {\n if (startValue[startLength - end] !== endValue[endLength - end]) {\n break;\n }\n }\n\n var sliceTail = end > 1 ? 1 - end : undefined;\n this._fallbackText = endValue.slice(start, sliceTail);\n return this._fallbackText;\n }\n});\n\nPooledClass.addPoolingTo(FallbackCompositionState);\n\nmodule.exports = FallbackCompositionState;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/FallbackCompositionState.js\n **/","'use strict';\n/* eslint-disable no-unused-vars */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (e) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (Object.getOwnPropertySymbols) {\n\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/~/object-assign/index.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule PooledClass\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Static poolers. Several custom versions for each potential number of\n * arguments. A completely generic pooler is easy to implement, but would\n * require accessing the `arguments` object. In each of these, `this` refers to\n * the Class itself, not an instance. If any others are needed, simply add them\n * here, or in their own files.\n */\nvar oneArgumentPooler = function (copyFieldsFrom) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, copyFieldsFrom);\n return instance;\n } else {\n return new Klass(copyFieldsFrom);\n }\n};\n\nvar twoArgumentPooler = function (a1, a2) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2);\n return instance;\n } else {\n return new Klass(a1, a2);\n }\n};\n\nvar threeArgumentPooler = function (a1, a2, a3) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3);\n return instance;\n } else {\n return new Klass(a1, a2, a3);\n }\n};\n\nvar fourArgumentPooler = function (a1, a2, a3, a4) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3, a4);\n return instance;\n } else {\n return new Klass(a1, a2, a3, a4);\n }\n};\n\nvar fiveArgumentPooler = function (a1, a2, a3, a4, a5) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3, a4, a5);\n return instance;\n } else {\n return new Klass(a1, a2, a3, a4, a5);\n }\n};\n\nvar standardReleaser = function (instance) {\n var Klass = this;\n !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0;\n instance.destructor();\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\n\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = oneArgumentPooler;\n\n/**\n * Augments `CopyConstructor` to be a poolable class, augmenting only the class\n * itself (statically) not adding any prototypical fields. Any CopyConstructor\n * you give this may have a `poolSize` property, and will look for a\n * prototypical `destructor` on instances.\n *\n * @param {Function} CopyConstructor Constructor that can be used to reset.\n * @param {Function} pooler Customizable pooler.\n */\nvar addPoolingTo = function (CopyConstructor, pooler) {\n var NewKlass = CopyConstructor;\n NewKlass.instancePool = [];\n NewKlass.getPooled = pooler || DEFAULT_POOLER;\n if (!NewKlass.poolSize) {\n NewKlass.poolSize = DEFAULT_POOL_SIZE;\n }\n NewKlass.release = standardReleaser;\n return NewKlass;\n};\n\nvar PooledClass = {\n addPoolingTo: addPoolingTo,\n oneArgumentPooler: oneArgumentPooler,\n twoArgumentPooler: twoArgumentPooler,\n threeArgumentPooler: threeArgumentPooler,\n fourArgumentPooler: fourArgumentPooler,\n fiveArgumentPooler: fiveArgumentPooler\n};\n\nmodule.exports = PooledClass;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/PooledClass.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getTextContentAccessor\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar contentKey = null;\n\n/**\n * Gets the key used to access text content on a DOM node.\n *\n * @return {?string} Key used to access text content.\n * @internal\n */\nfunction getTextContentAccessor() {\n if (!contentKey && ExecutionEnvironment.canUseDOM) {\n // Prefer textContent to innerText because many browsers support both but\n // SVG elements don't support innerText even when
does.\n contentKey = 'textContent' in document.documentElement ? 'textContent' : 'innerText';\n }\n return contentKey;\n}\n\nmodule.exports = getTextContentAccessor;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/getTextContentAccessor.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SyntheticCompositionEvent\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents\n */\nvar CompositionEventInterface = {\n data: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface);\n\nmodule.exports = SyntheticCompositionEvent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SyntheticCompositionEvent.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SyntheticEvent\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar PooledClass = require('./PooledClass');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar warning = require('fbjs/lib/warning');\n\nvar didWarnForAddedNewProperty = false;\nvar isProxySupported = typeof Proxy === 'function';\n\nvar shouldBeReleasedProperties = ['dispatchConfig', '_targetInst', 'nativeEvent', 'isDefaultPrevented', 'isPropagationStopped', '_dispatchListeners', '_dispatchInstances'];\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar EventInterface = {\n type: null,\n target: null,\n // currentTarget is set when dispatching; no use in copying it here\n currentTarget: emptyFunction.thatReturnsNull,\n eventPhase: null,\n bubbles: null,\n cancelable: null,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: null,\n isTrusted: null\n};\n\n/**\n * Synthetic events are dispatched by event plugins, typically in response to a\n * top-level event delegation handler.\n *\n * These systems should generally use pooling to reduce the frequency of garbage\n * collection. The system should check `isPersistent` to determine whether the\n * event should be released into the pool after being dispatched. Users that\n * need a persisted event should invoke `persist`.\n *\n * Synthetic events (and subclasses) implement the DOM Level 3 Events API by\n * normalizing browser quirks. Subclasses do not necessarily have to implement a\n * DOM interface; custom application-specific events can also subclass this.\n *\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {*} targetInst Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @param {DOMEventTarget} nativeEventTarget Target node.\n */\nfunction SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) {\n if (process.env.NODE_ENV !== 'production') {\n // these have a getter/setter for warnings\n delete this.nativeEvent;\n delete this.preventDefault;\n delete this.stopPropagation;\n }\n\n this.dispatchConfig = dispatchConfig;\n this._targetInst = targetInst;\n this.nativeEvent = nativeEvent;\n\n var Interface = this.constructor.Interface;\n for (var propName in Interface) {\n if (!Interface.hasOwnProperty(propName)) {\n continue;\n }\n if (process.env.NODE_ENV !== 'production') {\n delete this[propName]; // this has a getter/setter for warnings\n }\n var normalize = Interface[propName];\n if (normalize) {\n this[propName] = normalize(nativeEvent);\n } else {\n if (propName === 'target') {\n this.target = nativeEventTarget;\n } else {\n this[propName] = nativeEvent[propName];\n }\n }\n }\n\n var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false;\n if (defaultPrevented) {\n this.isDefaultPrevented = emptyFunction.thatReturnsTrue;\n } else {\n this.isDefaultPrevented = emptyFunction.thatReturnsFalse;\n }\n this.isPropagationStopped = emptyFunction.thatReturnsFalse;\n return this;\n}\n\n_assign(SyntheticEvent.prototype, {\n\n preventDefault: function () {\n this.defaultPrevented = true;\n var event = this.nativeEvent;\n if (!event) {\n return;\n }\n\n if (event.preventDefault) {\n event.preventDefault();\n } else {\n event.returnValue = false;\n }\n this.isDefaultPrevented = emptyFunction.thatReturnsTrue;\n },\n\n stopPropagation: function () {\n var event = this.nativeEvent;\n if (!event) {\n return;\n }\n\n if (event.stopPropagation) {\n event.stopPropagation();\n } else {\n event.cancelBubble = true;\n }\n this.isPropagationStopped = emptyFunction.thatReturnsTrue;\n },\n\n /**\n * We release all dispatched `SyntheticEvent`s after each event loop, adding\n * them back into the pool. This allows a way to hold onto a reference that\n * won't be added back into the pool.\n */\n persist: function () {\n this.isPersistent = emptyFunction.thatReturnsTrue;\n },\n\n /**\n * Checks if this event should be released back into the pool.\n *\n * @return {boolean} True if this should not be released, false otherwise.\n */\n isPersistent: emptyFunction.thatReturnsFalse,\n\n /**\n * `PooledClass` looks for `destructor` on each instance it releases.\n */\n destructor: function () {\n var Interface = this.constructor.Interface;\n for (var propName in Interface) {\n if (process.env.NODE_ENV !== 'production') {\n Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName]));\n } else {\n this[propName] = null;\n }\n }\n for (var i = 0; i < shouldBeReleasedProperties.length; i++) {\n this[shouldBeReleasedProperties[i]] = null;\n }\n if (process.env.NODE_ENV !== 'production') {\n Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null));\n Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', emptyFunction));\n Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', emptyFunction));\n }\n }\n\n});\n\nSyntheticEvent.Interface = EventInterface;\n\nif (process.env.NODE_ENV !== 'production') {\n if (isProxySupported) {\n /*eslint-disable no-func-assign */\n SyntheticEvent = new Proxy(SyntheticEvent, {\n construct: function (target, args) {\n return this.apply(target, Object.create(target.prototype), args);\n },\n apply: function (constructor, that, args) {\n return new Proxy(constructor.apply(that, args), {\n set: function (target, prop, value) {\n if (prop !== 'isPersistent' && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) {\n process.env.NODE_ENV !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), 'This synthetic event is reused for performance reasons. If you\\'re ' + 'seeing this, you\\'re adding a new property in the synthetic event object. ' + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0;\n didWarnForAddedNewProperty = true;\n }\n target[prop] = value;\n return true;\n }\n });\n }\n });\n /*eslint-enable no-func-assign */\n }\n}\n/**\n * Helper to reduce boilerplate when creating subclasses.\n *\n * @param {function} Class\n * @param {?object} Interface\n */\nSyntheticEvent.augmentClass = function (Class, Interface) {\n var Super = this;\n\n var E = function () {};\n E.prototype = Super.prototype;\n var prototype = new E();\n\n _assign(prototype, Class.prototype);\n Class.prototype = prototype;\n Class.prototype.constructor = Class;\n\n Class.Interface = _assign({}, Super.Interface, Interface);\n Class.augmentClass = Super.augmentClass;\n\n PooledClass.addPoolingTo(Class, PooledClass.fourArgumentPooler);\n};\n\nPooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler);\n\nmodule.exports = SyntheticEvent;\n\n/**\n * Helper to nullify syntheticEvent instance properties when destructing\n *\n * @param {object} SyntheticEvent\n * @param {String} propName\n * @return {object} defineProperty object\n */\nfunction getPooledWarningPropertyDefinition(propName, getVal) {\n var isFunction = typeof getVal === 'function';\n return {\n configurable: true,\n set: set,\n get: get\n };\n\n function set(val) {\n var action = isFunction ? 'setting the method' : 'setting the property';\n warn(action, 'This is effectively a no-op');\n return val;\n }\n\n function get() {\n var action = isFunction ? 'accessing the method' : 'accessing the property';\n var result = isFunction ? 'This is a no-op function' : 'This is set to null';\n warn(action, result);\n return getVal;\n }\n\n function warn(action, result) {\n var warningCondition = false;\n process.env.NODE_ENV !== 'production' ? warning(warningCondition, 'This synthetic event is reused for performance reasons. If you\\'re seeing this, ' + 'you\\'re %s `%s` on a released/nullified synthetic event. %s. ' + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0;\n }\n}\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SyntheticEvent.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SyntheticInputEvent\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105\n * /#events-inputevents\n */\nvar InputEventInterface = {\n data: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface);\n\nmodule.exports = SyntheticInputEvent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SyntheticInputEvent.js\n **/","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n/**\n * Allows extraction of a minified key. Let's the build system minify keys\n * without losing the ability to dynamically use key strings as values\n * themselves. Pass in an object with a single key/val pair and it will return\n * you the string key of that single record. Suppose you want to grab the\n * value for a key 'className' inside of an object. Key/val minification may\n * have aliased that key to be 'xa12'. keyOf({className: null}) will return\n * 'xa12' in that case. Resolve keys you want to use once at startup time, then\n * reuse those resolutions.\n */\nvar keyOf = function keyOf(oneKeyObj) {\n var key;\n for (key in oneKeyObj) {\n if (!oneKeyObj.hasOwnProperty(key)) {\n continue;\n }\n return key;\n }\n return null;\n};\n\nmodule.exports = keyOf;\n\n\n/** WEBPACK FOOTER **\n ** ./~/fbjs/lib/keyOf.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ChangeEventPlugin\n */\n\n'use strict';\n\nvar EventConstants = require('./EventConstants');\nvar EventPluginHub = require('./EventPluginHub');\nvar EventPropagators = require('./EventPropagators');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactUpdates = require('./ReactUpdates');\nvar SyntheticEvent = require('./SyntheticEvent');\n\nvar getEventTarget = require('./getEventTarget');\nvar isEventSupported = require('./isEventSupported');\nvar isTextInputElement = require('./isTextInputElement');\nvar keyOf = require('fbjs/lib/keyOf');\n\nvar topLevelTypes = EventConstants.topLevelTypes;\n\nvar eventTypes = {\n change: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onChange: null }),\n captured: keyOf({ onChangeCapture: null })\n },\n dependencies: [topLevelTypes.topBlur, topLevelTypes.topChange, topLevelTypes.topClick, topLevelTypes.topFocus, topLevelTypes.topInput, topLevelTypes.topKeyDown, topLevelTypes.topKeyUp, topLevelTypes.topSelectionChange]\n }\n};\n\n/**\n * For IE shims\n */\nvar activeElement = null;\nvar activeElementInst = null;\nvar activeElementValue = null;\nvar activeElementValueProp = null;\n\n/**\n * SECTION: handle `change` event\n */\nfunction shouldUseChangeEvent(elem) {\n var nodeName = elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName === 'select' || nodeName === 'input' && elem.type === 'file';\n}\n\nvar doesChangeEventBubble = false;\nif (ExecutionEnvironment.canUseDOM) {\n // See `handleChange` comment below\n doesChangeEventBubble = isEventSupported('change') && (!('documentMode' in document) || document.documentMode > 8);\n}\n\nfunction manualDispatchChangeEvent(nativeEvent) {\n var event = SyntheticEvent.getPooled(eventTypes.change, activeElementInst, nativeEvent, getEventTarget(nativeEvent));\n EventPropagators.accumulateTwoPhaseDispatches(event);\n\n // If change and propertychange bubbled, we'd just bind to it like all the\n // other events and have it go through ReactBrowserEventEmitter. Since it\n // doesn't, we manually listen for the events and so we have to enqueue and\n // process the abstract event manually.\n //\n // Batching is necessary here in order to ensure that all event handlers run\n // before the next rerender (including event handlers attached to ancestor\n // elements instead of directly on the input). Without this, controlled\n // components don't work properly in conjunction with event bubbling because\n // the component is rerendered and the value reverted before all the event\n // handlers can run. See https://github.com/facebook/react/issues/708.\n ReactUpdates.batchedUpdates(runEventInBatch, event);\n}\n\nfunction runEventInBatch(event) {\n EventPluginHub.enqueueEvents(event);\n EventPluginHub.processEventQueue(false);\n}\n\nfunction startWatchingForChangeEventIE8(target, targetInst) {\n activeElement = target;\n activeElementInst = targetInst;\n activeElement.attachEvent('onchange', manualDispatchChangeEvent);\n}\n\nfunction stopWatchingForChangeEventIE8() {\n if (!activeElement) {\n return;\n }\n activeElement.detachEvent('onchange', manualDispatchChangeEvent);\n activeElement = null;\n activeElementInst = null;\n}\n\nfunction getTargetInstForChangeEvent(topLevelType, targetInst) {\n if (topLevelType === topLevelTypes.topChange) {\n return targetInst;\n }\n}\nfunction handleEventsForChangeEventIE8(topLevelType, target, targetInst) {\n if (topLevelType === topLevelTypes.topFocus) {\n // stopWatching() should be a noop here but we call it just in case we\n // missed a blur event somehow.\n stopWatchingForChangeEventIE8();\n startWatchingForChangeEventIE8(target, targetInst);\n } else if (topLevelType === topLevelTypes.topBlur) {\n stopWatchingForChangeEventIE8();\n }\n}\n\n/**\n * SECTION: handle `input` event\n */\nvar isInputEventSupported = false;\nif (ExecutionEnvironment.canUseDOM) {\n // IE9 claims to support the input event but fails to trigger it when\n // deleting text, so we ignore its input events.\n // IE10+ fire input events to often, such when a placeholder\n // changes or when an input with a placeholder is focused.\n isInputEventSupported = isEventSupported('input') && (!('documentMode' in document) || document.documentMode > 11);\n}\n\n/**\n * (For IE <=11) Replacement getter/setter for the `value` property that gets\n * set on the active element.\n */\nvar newValueProp = {\n get: function () {\n return activeElementValueProp.get.call(this);\n },\n set: function (val) {\n // Cast to a string so we can do equality checks.\n activeElementValue = '' + val;\n activeElementValueProp.set.call(this, val);\n }\n};\n\n/**\n * (For IE <=11) Starts tracking propertychange events on the passed-in element\n * and override the value property so that we can distinguish user events from\n * value changes in JS.\n */\nfunction startWatchingForValueChange(target, targetInst) {\n activeElement = target;\n activeElementInst = targetInst;\n activeElementValue = target.value;\n activeElementValueProp = Object.getOwnPropertyDescriptor(target.constructor.prototype, 'value');\n\n // Not guarded in a canDefineProperty check: IE8 supports defineProperty only\n // on DOM elements\n Object.defineProperty(activeElement, 'value', newValueProp);\n if (activeElement.attachEvent) {\n activeElement.attachEvent('onpropertychange', handlePropertyChange);\n } else {\n activeElement.addEventListener('propertychange', handlePropertyChange, false);\n }\n}\n\n/**\n * (For IE <=11) Removes the event listeners from the currently-tracked element,\n * if any exists.\n */\nfunction stopWatchingForValueChange() {\n if (!activeElement) {\n return;\n }\n\n // delete restores the original property definition\n delete activeElement.value;\n\n if (activeElement.detachEvent) {\n activeElement.detachEvent('onpropertychange', handlePropertyChange);\n } else {\n activeElement.removeEventListener('propertychange', handlePropertyChange, false);\n }\n\n activeElement = null;\n activeElementInst = null;\n activeElementValue = null;\n activeElementValueProp = null;\n}\n\n/**\n * (For IE <=11) Handles a propertychange event, sending a `change` event if\n * the value of the active element has changed.\n */\nfunction handlePropertyChange(nativeEvent) {\n if (nativeEvent.propertyName !== 'value') {\n return;\n }\n var value = nativeEvent.srcElement.value;\n if (value === activeElementValue) {\n return;\n }\n activeElementValue = value;\n\n manualDispatchChangeEvent(nativeEvent);\n}\n\n/**\n * If a `change` event should be fired, returns the target's ID.\n */\nfunction getTargetInstForInputEvent(topLevelType, targetInst) {\n if (topLevelType === topLevelTypes.topInput) {\n // In modern browsers (i.e., not IE8 or IE9), the input event is exactly\n // what we want so fall through here and trigger an abstract event\n return targetInst;\n }\n}\n\nfunction handleEventsForInputEventIE(topLevelType, target, targetInst) {\n if (topLevelType === topLevelTypes.topFocus) {\n // In IE8, we can capture almost all .value changes by adding a\n // propertychange handler and looking for events with propertyName\n // equal to 'value'\n // In IE9-11, propertychange fires for most input events but is buggy and\n // doesn't fire when text is deleted, but conveniently, selectionchange\n // appears to fire in all of the remaining cases so we catch those and\n // forward the event if the value has changed\n // In either case, we don't want to call the event handler if the value\n // is changed from JS so we redefine a setter for `.value` that updates\n // our activeElementValue variable, allowing us to ignore those changes\n //\n // stopWatching() should be a noop here but we call it just in case we\n // missed a blur event somehow.\n stopWatchingForValueChange();\n startWatchingForValueChange(target, targetInst);\n } else if (topLevelType === topLevelTypes.topBlur) {\n stopWatchingForValueChange();\n }\n}\n\n// For IE8 and IE9.\nfunction getTargetInstForInputEventIE(topLevelType, targetInst) {\n if (topLevelType === topLevelTypes.topSelectionChange || topLevelType === topLevelTypes.topKeyUp || topLevelType === topLevelTypes.topKeyDown) {\n // On the selectionchange event, the target is just document which isn't\n // helpful for us so just check activeElement instead.\n //\n // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire\n // propertychange on the first input event after setting `value` from a\n // script and fires only keydown, keypress, keyup. Catching keyup usually\n // gets it and catching keydown lets us fire an event for the first\n // keystroke if user does a key repeat (it'll be a little delayed: right\n // before the second keystroke). Other input methods (e.g., paste) seem to\n // fire selectionchange normally.\n if (activeElement && activeElement.value !== activeElementValue) {\n activeElementValue = activeElement.value;\n return activeElementInst;\n }\n }\n}\n\n/**\n * SECTION: handle `click` event\n */\nfunction shouldUseClickEvent(elem) {\n // Use the `click` event to detect changes to checkbox and radio inputs.\n // This approach works across all browsers, whereas `change` does not fire\n // until `blur` in IE8.\n return elem.nodeName && elem.nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');\n}\n\nfunction getTargetInstForClickEvent(topLevelType, targetInst) {\n if (topLevelType === topLevelTypes.topClick) {\n return targetInst;\n }\n}\n\n/**\n * This plugin creates an `onChange` event that normalizes change events\n * across form elements. This event fires at a time when it's possible to\n * change the element's value without seeing a flicker.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - select\n */\nvar ChangeEventPlugin = {\n\n eventTypes: eventTypes,\n\n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window;\n\n var getTargetInstFunc, handleEventFunc;\n if (shouldUseChangeEvent(targetNode)) {\n if (doesChangeEventBubble) {\n getTargetInstFunc = getTargetInstForChangeEvent;\n } else {\n handleEventFunc = handleEventsForChangeEventIE8;\n }\n } else if (isTextInputElement(targetNode)) {\n if (isInputEventSupported) {\n getTargetInstFunc = getTargetInstForInputEvent;\n } else {\n getTargetInstFunc = getTargetInstForInputEventIE;\n handleEventFunc = handleEventsForInputEventIE;\n }\n } else if (shouldUseClickEvent(targetNode)) {\n getTargetInstFunc = getTargetInstForClickEvent;\n }\n\n if (getTargetInstFunc) {\n var inst = getTargetInstFunc(topLevelType, targetInst);\n if (inst) {\n var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, nativeEventTarget);\n event.type = 'change';\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n }\n }\n\n if (handleEventFunc) {\n handleEventFunc(topLevelType, targetNode, targetInst);\n }\n }\n\n};\n\nmodule.exports = ChangeEventPlugin;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ChangeEventPlugin.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactUpdates\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar CallbackQueue = require('./CallbackQueue');\nvar PooledClass = require('./PooledClass');\nvar ReactFeatureFlags = require('./ReactFeatureFlags');\nvar ReactReconciler = require('./ReactReconciler');\nvar Transaction = require('./Transaction');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar dirtyComponents = [];\nvar updateBatchNumber = 0;\nvar asapCallbackQueue = CallbackQueue.getPooled();\nvar asapEnqueued = false;\n\nvar batchingStrategy = null;\n\nfunction ensureInjected() {\n !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching strategy') : _prodInvariant('123') : void 0;\n}\n\nvar NESTED_UPDATES = {\n initialize: function () {\n this.dirtyComponentsLength = dirtyComponents.length;\n },\n close: function () {\n if (this.dirtyComponentsLength !== dirtyComponents.length) {\n // Additional updates were enqueued by componentDidUpdate handlers or\n // similar; before our own UPDATE_QUEUEING wrapper closes, we want to run\n // these new updates so that if A's componentDidUpdate calls setState on\n // B, B will update before the callback A's updater provided when calling\n // setState.\n dirtyComponents.splice(0, this.dirtyComponentsLength);\n flushBatchedUpdates();\n } else {\n dirtyComponents.length = 0;\n }\n }\n};\n\nvar UPDATE_QUEUEING = {\n initialize: function () {\n this.callbackQueue.reset();\n },\n close: function () {\n this.callbackQueue.notifyAll();\n }\n};\n\nvar TRANSACTION_WRAPPERS = [NESTED_UPDATES, UPDATE_QUEUEING];\n\nfunction ReactUpdatesFlushTransaction() {\n this.reinitializeTransaction();\n this.dirtyComponentsLength = null;\n this.callbackQueue = CallbackQueue.getPooled();\n this.reconcileTransaction = ReactUpdates.ReactReconcileTransaction.getPooled(\n /* useCreateElement */true);\n}\n\n_assign(ReactUpdatesFlushTransaction.prototype, Transaction.Mixin, {\n getTransactionWrappers: function () {\n return TRANSACTION_WRAPPERS;\n },\n\n destructor: function () {\n this.dirtyComponentsLength = null;\n CallbackQueue.release(this.callbackQueue);\n this.callbackQueue = null;\n ReactUpdates.ReactReconcileTransaction.release(this.reconcileTransaction);\n this.reconcileTransaction = null;\n },\n\n perform: function (method, scope, a) {\n // Essentially calls `this.reconcileTransaction.perform(method, scope, a)`\n // with this transaction's wrappers around it.\n return Transaction.Mixin.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, method, scope, a);\n }\n});\n\nPooledClass.addPoolingTo(ReactUpdatesFlushTransaction);\n\nfunction batchedUpdates(callback, a, b, c, d, e) {\n ensureInjected();\n batchingStrategy.batchedUpdates(callback, a, b, c, d, e);\n}\n\n/**\n * Array comparator for ReactComponents by mount ordering.\n *\n * @param {ReactComponent} c1 first component you're comparing\n * @param {ReactComponent} c2 second component you're comparing\n * @return {number} Return value usable by Array.prototype.sort().\n */\nfunction mountOrderComparator(c1, c2) {\n return c1._mountOrder - c2._mountOrder;\n}\n\nfunction runBatchedUpdates(transaction) {\n var len = transaction.dirtyComponentsLength;\n !(len === dirtyComponents.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected flush transaction\\'s stored dirty-components length (%s) to match dirty-components array length (%s).', len, dirtyComponents.length) : _prodInvariant('124', len, dirtyComponents.length) : void 0;\n\n // Since reconciling a component higher in the owner hierarchy usually (not\n // always -- see shouldComponentUpdate()) will reconcile children, reconcile\n // them before their children by sorting the array.\n dirtyComponents.sort(mountOrderComparator);\n\n // Any updates enqueued while reconciling must be performed after this entire\n // batch. Otherwise, if dirtyComponents is [A, B] where A has children B and\n // C, B could update twice in a single batch if C's render enqueues an update\n // to B (since B would have already updated, we should skip it, and the only\n // way we can know to do so is by checking the batch counter).\n updateBatchNumber++;\n\n for (var i = 0; i < len; i++) {\n // If a component is unmounted before pending changes apply, it will still\n // be here, but we assume that it has cleared its _pendingCallbacks and\n // that performUpdateIfNecessary is a noop.\n var component = dirtyComponents[i];\n\n // If performUpdateIfNecessary happens to enqueue any new updates, we\n // shouldn't execute the callbacks until the next render happens, so\n // stash the callbacks first\n var callbacks = component._pendingCallbacks;\n component._pendingCallbacks = null;\n\n var markerName;\n if (ReactFeatureFlags.logTopLevelRenders) {\n var namedComponent = component;\n // Duck type TopLevelWrapper. This is probably always true.\n if (component._currentElement.props === component._renderedComponent._currentElement) {\n namedComponent = component._renderedComponent;\n }\n markerName = 'React update: ' + namedComponent.getName();\n console.time(markerName);\n }\n\n ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction, updateBatchNumber);\n\n if (markerName) {\n console.timeEnd(markerName);\n }\n\n if (callbacks) {\n for (var j = 0; j < callbacks.length; j++) {\n transaction.callbackQueue.enqueue(callbacks[j], component.getPublicInstance());\n }\n }\n }\n}\n\nvar flushBatchedUpdates = function () {\n // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents\n // array and perform any updates enqueued by mount-ready handlers (i.e.,\n // componentDidUpdate) but we need to check here too in order to catch\n // updates enqueued by setState callbacks and asap calls.\n while (dirtyComponents.length || asapEnqueued) {\n if (dirtyComponents.length) {\n var transaction = ReactUpdatesFlushTransaction.getPooled();\n transaction.perform(runBatchedUpdates, null, transaction);\n ReactUpdatesFlushTransaction.release(transaction);\n }\n\n if (asapEnqueued) {\n asapEnqueued = false;\n var queue = asapCallbackQueue;\n asapCallbackQueue = CallbackQueue.getPooled();\n queue.notifyAll();\n CallbackQueue.release(queue);\n }\n }\n};\n\n/**\n * Mark a component as needing a rerender, adding an optional callback to a\n * list of functions which will be executed once the rerender occurs.\n */\nfunction enqueueUpdate(component) {\n ensureInjected();\n\n // Various parts of our code (such as ReactCompositeComponent's\n // _renderValidatedComponent) assume that calls to render aren't nested;\n // verify that that's the case. (This is called by each top-level update\n // function, like setState, forceUpdate, etc.; creation and\n // destruction of top-level components is guarded in ReactMount.)\n\n if (!batchingStrategy.isBatchingUpdates) {\n batchingStrategy.batchedUpdates(enqueueUpdate, component);\n return;\n }\n\n dirtyComponents.push(component);\n if (component._updateBatchNumber == null) {\n component._updateBatchNumber = updateBatchNumber + 1;\n }\n}\n\n/**\n * Enqueue a callback to be run at the end of the current batching cycle. Throws\n * if no updates are currently being performed.\n */\nfunction asap(callback, context) {\n !batchingStrategy.isBatchingUpdates ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates.asap: Can\\'t enqueue an asap callback in a context whereupdates are not being batched.') : _prodInvariant('125') : void 0;\n asapCallbackQueue.enqueue(callback, context);\n asapEnqueued = true;\n}\n\nvar ReactUpdatesInjection = {\n injectReconcileTransaction: function (ReconcileTransaction) {\n !ReconcileTransaction ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : _prodInvariant('126') : void 0;\n ReactUpdates.ReactReconcileTransaction = ReconcileTransaction;\n },\n\n injectBatchingStrategy: function (_batchingStrategy) {\n !_batchingStrategy ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batching strategy') : _prodInvariant('127') : void 0;\n !(typeof _batchingStrategy.batchedUpdates === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : _prodInvariant('128') : void 0;\n !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : _prodInvariant('129') : void 0;\n batchingStrategy = _batchingStrategy;\n }\n};\n\nvar ReactUpdates = {\n /**\n * React references `ReactReconcileTransaction` using this property in order\n * to allow dependency injection.\n *\n * @internal\n */\n ReactReconcileTransaction: null,\n\n batchedUpdates: batchedUpdates,\n enqueueUpdate: enqueueUpdate,\n flushBatchedUpdates: flushBatchedUpdates,\n injection: ReactUpdatesInjection,\n asap: asap\n};\n\nmodule.exports = ReactUpdates;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactUpdates.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule CallbackQueue\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar PooledClass = require('./PooledClass');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * A specialized pseudo-event module to help keep track of components waiting to\n * be notified when their DOM representations are available for use.\n *\n * This implements `PooledClass`, so you should never need to instantiate this.\n * Instead, use `CallbackQueue.getPooled()`.\n *\n * @class ReactMountReady\n * @implements PooledClass\n * @internal\n */\nfunction CallbackQueue() {\n this._callbacks = null;\n this._contexts = null;\n}\n\n_assign(CallbackQueue.prototype, {\n\n /**\n * Enqueues a callback to be invoked when `notifyAll` is invoked.\n *\n * @param {function} callback Invoked when `notifyAll` is invoked.\n * @param {?object} context Context to call `callback` with.\n * @internal\n */\n enqueue: function (callback, context) {\n this._callbacks = this._callbacks || [];\n this._contexts = this._contexts || [];\n this._callbacks.push(callback);\n this._contexts.push(context);\n },\n\n /**\n * Invokes all enqueued callbacks and clears the queue. This is invoked after\n * the DOM representation of a component has been created or updated.\n *\n * @internal\n */\n notifyAll: function () {\n var callbacks = this._callbacks;\n var contexts = this._contexts;\n if (callbacks) {\n !(callbacks.length === contexts.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Mismatched list of contexts in callback queue') : _prodInvariant('24') : void 0;\n this._callbacks = null;\n this._contexts = null;\n for (var i = 0; i < callbacks.length; i++) {\n callbacks[i].call(contexts[i]);\n }\n callbacks.length = 0;\n contexts.length = 0;\n }\n },\n\n checkpoint: function () {\n return this._callbacks ? this._callbacks.length : 0;\n },\n\n rollback: function (len) {\n if (this._callbacks) {\n this._callbacks.length = len;\n this._contexts.length = len;\n }\n },\n\n /**\n * Resets the internal queue.\n *\n * @internal\n */\n reset: function () {\n this._callbacks = null;\n this._contexts = null;\n },\n\n /**\n * `PooledClass` looks for this.\n */\n destructor: function () {\n this.reset();\n }\n\n});\n\nPooledClass.addPoolingTo(CallbackQueue);\n\nmodule.exports = CallbackQueue;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/CallbackQueue.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactFeatureFlags\n * \n */\n\n'use strict';\n\nvar ReactFeatureFlags = {\n // When true, call console.time() before and .timeEnd() after each top-level\n // render (both initial renders and updates). Useful when looking at prod-mode\n // timeline profiles in Chrome, for example.\n logTopLevelRenders: false\n};\n\nmodule.exports = ReactFeatureFlags;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactFeatureFlags.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactReconciler\n */\n\n'use strict';\n\nvar ReactRef = require('./ReactRef');\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar warning = require('fbjs/lib/warning');\n\n/**\n * Helper to call ReactRef.attachRefs with this composite component, split out\n * to avoid allocations in the transaction mount-ready queue.\n */\nfunction attachRefs() {\n ReactRef.attachRefs(this, this._currentElement);\n}\n\nvar ReactReconciler = {\n\n /**\n * Initializes the component, renders markup, and registers event listeners.\n *\n * @param {ReactComponent} internalInstance\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {?object} the containing host component instance\n * @param {?object} info about the host container\n * @return {?string} Rendered markup to be inserted into the DOM.\n * @final\n * @internal\n */\n mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context) {\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID, internalInstance._currentElement);\n ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'mountComponent');\n }\n }\n var markup = internalInstance.mountComponent(transaction, hostParent, hostContainerInfo, context);\n if (internalInstance._currentElement && internalInstance._currentElement.ref != null) {\n transaction.getReactMountReady().enqueue(attachRefs, internalInstance);\n }\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'mountComponent');\n ReactInstrumentation.debugTool.onMountComponent(internalInstance._debugID);\n }\n }\n return markup;\n },\n\n /**\n * Returns a value that can be passed to\n * ReactComponentEnvironment.replaceNodeWithMarkup.\n */\n getHostNode: function (internalInstance) {\n return internalInstance.getHostNode();\n },\n\n /**\n * Releases any resources allocated by `mountComponent`.\n *\n * @final\n * @internal\n */\n unmountComponent: function (internalInstance, safely) {\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'unmountComponent');\n }\n }\n ReactRef.detachRefs(internalInstance, internalInstance._currentElement);\n internalInstance.unmountComponent(safely);\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'unmountComponent');\n ReactInstrumentation.debugTool.onUnmountComponent(internalInstance._debugID);\n }\n }\n },\n\n /**\n * Update a component using a new element.\n *\n * @param {ReactComponent} internalInstance\n * @param {ReactElement} nextElement\n * @param {ReactReconcileTransaction} transaction\n * @param {object} context\n * @internal\n */\n receiveComponent: function (internalInstance, nextElement, transaction, context) {\n var prevElement = internalInstance._currentElement;\n\n if (nextElement === prevElement && context === internalInstance._context) {\n // Since elements are immutable after the owner is rendered,\n // we can do a cheap identity compare here to determine if this is a\n // superfluous reconcile. It's possible for state to be mutable but such\n // change should trigger an update of the owner which would recreate\n // the element. We explicitly check for the existence of an owner since\n // it's possible for an element created outside a composite to be\n // deeply mutated and reused.\n\n // TODO: Bailing out early is just a perf optimization right?\n // TODO: Removing the return statement should affect correctness?\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, nextElement);\n ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'receiveComponent');\n }\n }\n\n var refsChanged = ReactRef.shouldUpdateRefs(prevElement, nextElement);\n\n if (refsChanged) {\n ReactRef.detachRefs(internalInstance, prevElement);\n }\n\n internalInstance.receiveComponent(nextElement, transaction, context);\n\n if (refsChanged && internalInstance._currentElement && internalInstance._currentElement.ref != null) {\n transaction.getReactMountReady().enqueue(attachRefs, internalInstance);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'receiveComponent');\n ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);\n }\n }\n },\n\n /**\n * Flush any dirty changes in a component.\n *\n * @param {ReactComponent} internalInstance\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n performUpdateIfNecessary: function (internalInstance, transaction, updateBatchNumber) {\n if (internalInstance._updateBatchNumber !== updateBatchNumber) {\n // The component's enqueued batch number should always be the current\n // batch or the following one.\n process.env.NODE_ENV !== 'production' ? warning(internalInstance._updateBatchNumber == null || internalInstance._updateBatchNumber === updateBatchNumber + 1, 'performUpdateIfNecessary: Unexpected batch number (current %s, ' + 'pending %s)', updateBatchNumber, internalInstance._updateBatchNumber) : void 0;\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'performUpdateIfNecessary');\n ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, internalInstance._currentElement);\n }\n }\n internalInstance.performUpdateIfNecessary(transaction);\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'performUpdateIfNecessary');\n ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);\n }\n }\n }\n\n};\n\nmodule.exports = ReactReconciler;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactReconciler.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactRef\n */\n\n'use strict';\n\nvar ReactOwner = require('./ReactOwner');\n\nvar ReactRef = {};\n\nfunction attachRef(ref, component, owner) {\n if (typeof ref === 'function') {\n ref(component.getPublicInstance());\n } else {\n // Legacy ref\n ReactOwner.addComponentAsRefTo(component, ref, owner);\n }\n}\n\nfunction detachRef(ref, component, owner) {\n if (typeof ref === 'function') {\n ref(null);\n } else {\n // Legacy ref\n ReactOwner.removeComponentAsRefFrom(component, ref, owner);\n }\n}\n\nReactRef.attachRefs = function (instance, element) {\n if (element === null || element === false) {\n return;\n }\n var ref = element.ref;\n if (ref != null) {\n attachRef(ref, instance, element._owner);\n }\n};\n\nReactRef.shouldUpdateRefs = function (prevElement, nextElement) {\n // If either the owner or a `ref` has changed, make sure the newest owner\n // has stored a reference to `this`, and the previous owner (if different)\n // has forgotten the reference to `this`. We use the element instead\n // of the public this.props because the post processing cannot determine\n // a ref. The ref conceptually lives on the element.\n\n // TODO: Should this even be possible? The owner cannot change because\n // it's forbidden by shouldUpdateReactComponent. The ref can change\n // if you swap the keys of but not the refs. Reconsider where this check\n // is made. It probably belongs where the key checking and\n // instantiateReactComponent is done.\n\n var prevEmpty = prevElement === null || prevElement === false;\n var nextEmpty = nextElement === null || nextElement === false;\n\n return(\n // This has a few false positives w/r/t empty components.\n prevEmpty || nextEmpty || nextElement.ref !== prevElement.ref ||\n // If owner changes but we have an unchanged function ref, don't update refs\n typeof nextElement.ref === 'string' && nextElement._owner !== prevElement._owner\n );\n};\n\nReactRef.detachRefs = function (instance, element) {\n if (element === null || element === false) {\n return;\n }\n var ref = element.ref;\n if (ref != null) {\n detachRef(ref, instance, element._owner);\n }\n};\n\nmodule.exports = ReactRef;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactRef.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactOwner\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * ReactOwners are capable of storing references to owned components.\n *\n * All components are capable of //being// referenced by owner components, but\n * only ReactOwner components are capable of //referencing// owned components.\n * The named reference is known as a \"ref\".\n *\n * Refs are available when mounted and updated during reconciliation.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return (\n *
\n * \n *
\n * );\n * },\n * handleClick: function() {\n * this.refs.custom.handleClick();\n * },\n * componentDidMount: function() {\n * this.refs.custom.initialize();\n * }\n * });\n *\n * Refs should rarely be used. When refs are used, they should only be done to\n * control data that is not handled by React's data flow.\n *\n * @class ReactOwner\n */\nvar ReactOwner = {\n\n /**\n * @param {?object} object\n * @return {boolean} True if `object` is a valid owner.\n * @final\n */\n isValidOwner: function (object) {\n return !!(object && typeof object.attachRef === 'function' && typeof object.detachRef === 'function');\n },\n\n /**\n * Adds a component by ref to an owner component.\n *\n * @param {ReactComponent} component Component to reference.\n * @param {string} ref Name by which to refer to the component.\n * @param {ReactOwner} owner Component on which to record the ref.\n * @final\n * @internal\n */\n addComponentAsRefTo: function (component, ref, owner) {\n !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component\\'s `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).') : _prodInvariant('119') : void 0;\n owner.attachRef(ref, component);\n },\n\n /**\n * Removes a component by ref from an owner component.\n *\n * @param {ReactComponent} component Component to dereference.\n * @param {string} ref Name of the ref to remove.\n * @param {ReactOwner} owner Component on which the ref is recorded.\n * @final\n * @internal\n */\n removeComponentAsRefFrom: function (component, ref, owner) {\n !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. You might be removing a ref to a component that was not created inside a component\\'s `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).') : _prodInvariant('120') : void 0;\n var ownerPublicInstance = owner.getPublicInstance();\n // Check that `component`'s owner is still alive and that `component` is still the current ref\n // because we do not want to detach the ref if another component stole it.\n if (ownerPublicInstance && ownerPublicInstance.refs[ref] === component.getPublicInstance()) {\n owner.detachRef(ref);\n }\n }\n\n};\n\nmodule.exports = ReactOwner;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactOwner.js\n **/","/**\n * Copyright 2016-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactInstrumentation\n */\n\n'use strict';\n\nvar debugTool = null;\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactDebugTool = require('./ReactDebugTool');\n debugTool = ReactDebugTool;\n}\n\nmodule.exports = { debugTool: debugTool };\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactInstrumentation.js\n **/","/**\n * Copyright 2016-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDebugTool\n */\n\n'use strict';\n\nvar ReactInvalidSetStateWarningDevTool = require('./ReactInvalidSetStateWarningDevTool');\nvar ReactHostOperationHistoryDevtool = require('./ReactHostOperationHistoryDevtool');\nvar ReactComponentTreeDevtool = require('./ReactComponentTreeDevtool');\nvar ReactChildrenMutationWarningDevtool = require('./ReactChildrenMutationWarningDevtool');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar performanceNow = require('fbjs/lib/performanceNow');\nvar warning = require('fbjs/lib/warning');\n\nvar eventHandlers = [];\nvar handlerDoesThrowForEvent = {};\n\nfunction emitEvent(handlerFunctionName, arg1, arg2, arg3, arg4, arg5) {\n eventHandlers.forEach(function (handler) {\n try {\n if (handler[handlerFunctionName]) {\n handler[handlerFunctionName](arg1, arg2, arg3, arg4, arg5);\n }\n } catch (e) {\n process.env.NODE_ENV !== 'production' ? warning(handlerDoesThrowForEvent[handlerFunctionName], 'exception thrown by devtool while handling %s: %s', handlerFunctionName, e + '\\n' + e.stack) : void 0;\n handlerDoesThrowForEvent[handlerFunctionName] = true;\n }\n });\n}\n\nvar isProfiling = false;\nvar flushHistory = [];\nvar lifeCycleTimerStack = [];\nvar currentFlushNesting = 0;\nvar currentFlushMeasurements = null;\nvar currentFlushStartTime = null;\nvar currentTimerDebugID = null;\nvar currentTimerStartTime = null;\nvar currentTimerNestedFlushDuration = null;\nvar currentTimerType = null;\n\nvar lifeCycleTimerHasWarned = false;\n\nfunction clearHistory() {\n ReactComponentTreeDevtool.purgeUnmountedComponents();\n ReactHostOperationHistoryDevtool.clearHistory();\n}\n\nfunction getTreeSnapshot(registeredIDs) {\n return registeredIDs.reduce(function (tree, id) {\n var ownerID = ReactComponentTreeDevtool.getOwnerID(id);\n var parentID = ReactComponentTreeDevtool.getParentID(id);\n tree[id] = {\n displayName: ReactComponentTreeDevtool.getDisplayName(id),\n text: ReactComponentTreeDevtool.getText(id),\n updateCount: ReactComponentTreeDevtool.getUpdateCount(id),\n childIDs: ReactComponentTreeDevtool.getChildIDs(id),\n // Text nodes don't have owners but this is close enough.\n ownerID: ownerID || ReactComponentTreeDevtool.getOwnerID(parentID),\n parentID: parentID\n };\n return tree;\n }, {});\n}\n\nfunction resetMeasurements() {\n var previousStartTime = currentFlushStartTime;\n var previousMeasurements = currentFlushMeasurements || [];\n var previousOperations = ReactHostOperationHistoryDevtool.getHistory();\n\n if (currentFlushNesting === 0) {\n currentFlushStartTime = null;\n currentFlushMeasurements = null;\n clearHistory();\n return;\n }\n\n if (previousMeasurements.length || previousOperations.length) {\n var registeredIDs = ReactComponentTreeDevtool.getRegisteredIDs();\n flushHistory.push({\n duration: performanceNow() - previousStartTime,\n measurements: previousMeasurements || [],\n operations: previousOperations || [],\n treeSnapshot: getTreeSnapshot(registeredIDs)\n });\n }\n\n clearHistory();\n currentFlushStartTime = performanceNow();\n currentFlushMeasurements = [];\n}\n\nfunction checkDebugID(debugID) {\n process.env.NODE_ENV !== 'production' ? warning(debugID, 'ReactDebugTool: debugID may not be empty.') : void 0;\n}\n\nfunction beginLifeCycleTimer(debugID, timerType) {\n if (currentFlushNesting === 0) {\n return;\n }\n if (currentTimerType && !lifeCycleTimerHasWarned) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'There is an internal error in the React performance measurement code. ' + 'Did not expect %s timer to start while %s timer is still in ' + 'progress for %s instance.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0;\n lifeCycleTimerHasWarned = true;\n }\n currentTimerStartTime = performanceNow();\n currentTimerNestedFlushDuration = 0;\n currentTimerDebugID = debugID;\n currentTimerType = timerType;\n}\n\nfunction endLifeCycleTimer(debugID, timerType) {\n if (currentFlushNesting === 0) {\n return;\n }\n if (currentTimerType !== timerType && !lifeCycleTimerHasWarned) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'There is an internal error in the React performance measurement code. ' + 'We did not expect %s timer to stop while %s timer is still in ' + 'progress for %s instance. Please report this as a bug in React.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0;\n lifeCycleTimerHasWarned = true;\n }\n if (isProfiling) {\n currentFlushMeasurements.push({\n timerType: timerType,\n instanceID: debugID,\n duration: performanceNow() - currentTimerStartTime - currentTimerNestedFlushDuration\n });\n }\n currentTimerStartTime = null;\n currentTimerNestedFlushDuration = null;\n currentTimerDebugID = null;\n currentTimerType = null;\n}\n\nfunction pauseCurrentLifeCycleTimer() {\n var currentTimer = {\n startTime: currentTimerStartTime,\n nestedFlushStartTime: performanceNow(),\n debugID: currentTimerDebugID,\n timerType: currentTimerType\n };\n lifeCycleTimerStack.push(currentTimer);\n currentTimerStartTime = null;\n currentTimerNestedFlushDuration = null;\n currentTimerDebugID = null;\n currentTimerType = null;\n}\n\nfunction resumeCurrentLifeCycleTimer() {\n var _lifeCycleTimerStack$ = lifeCycleTimerStack.pop();\n\n var startTime = _lifeCycleTimerStack$.startTime;\n var nestedFlushStartTime = _lifeCycleTimerStack$.nestedFlushStartTime;\n var debugID = _lifeCycleTimerStack$.debugID;\n var timerType = _lifeCycleTimerStack$.timerType;\n\n var nestedFlushDuration = performanceNow() - nestedFlushStartTime;\n currentTimerStartTime = startTime;\n currentTimerNestedFlushDuration += nestedFlushDuration;\n currentTimerDebugID = debugID;\n currentTimerType = timerType;\n}\n\nvar ReactDebugTool = {\n addDevtool: function (devtool) {\n eventHandlers.push(devtool);\n },\n removeDevtool: function (devtool) {\n for (var i = 0; i < eventHandlers.length; i++) {\n if (eventHandlers[i] === devtool) {\n eventHandlers.splice(i, 1);\n i--;\n }\n }\n },\n isProfiling: function () {\n return isProfiling;\n },\n beginProfiling: function () {\n if (isProfiling) {\n return;\n }\n\n isProfiling = true;\n flushHistory.length = 0;\n resetMeasurements();\n ReactDebugTool.addDevtool(ReactHostOperationHistoryDevtool);\n },\n endProfiling: function () {\n if (!isProfiling) {\n return;\n }\n\n isProfiling = false;\n resetMeasurements();\n ReactDebugTool.removeDevtool(ReactHostOperationHistoryDevtool);\n },\n getFlushHistory: function () {\n return flushHistory;\n },\n onBeginFlush: function () {\n currentFlushNesting++;\n resetMeasurements();\n pauseCurrentLifeCycleTimer();\n emitEvent('onBeginFlush');\n },\n onEndFlush: function () {\n resetMeasurements();\n currentFlushNesting--;\n resumeCurrentLifeCycleTimer();\n emitEvent('onEndFlush');\n },\n onBeginLifeCycleTimer: function (debugID, timerType) {\n checkDebugID(debugID);\n emitEvent('onBeginLifeCycleTimer', debugID, timerType);\n beginLifeCycleTimer(debugID, timerType);\n },\n onEndLifeCycleTimer: function (debugID, timerType) {\n checkDebugID(debugID);\n endLifeCycleTimer(debugID, timerType);\n emitEvent('onEndLifeCycleTimer', debugID, timerType);\n },\n onBeginReconcilerTimer: function (debugID, timerType) {\n checkDebugID(debugID);\n emitEvent('onBeginReconcilerTimer', debugID, timerType);\n },\n onEndReconcilerTimer: function (debugID, timerType) {\n checkDebugID(debugID);\n emitEvent('onEndReconcilerTimer', debugID, timerType);\n },\n onError: function (debugID) {\n if (currentTimerDebugID != null) {\n endLifeCycleTimer(currentTimerDebugID, currentTimerType);\n }\n emitEvent('onError', debugID);\n },\n onBeginProcessingChildContext: function () {\n emitEvent('onBeginProcessingChildContext');\n },\n onEndProcessingChildContext: function () {\n emitEvent('onEndProcessingChildContext');\n },\n onHostOperation: function (debugID, type, payload) {\n checkDebugID(debugID);\n emitEvent('onHostOperation', debugID, type, payload);\n },\n onComponentHasMounted: function (debugID) {\n checkDebugID(debugID);\n emitEvent('onComponentHasMounted', debugID);\n },\n onComponentHasUpdated: function (debugID) {\n checkDebugID(debugID);\n emitEvent('onComponentHasUpdated', debugID);\n },\n onSetState: function () {\n emitEvent('onSetState');\n },\n onSetDisplayName: function (debugID, displayName) {\n checkDebugID(debugID);\n emitEvent('onSetDisplayName', debugID, displayName);\n },\n onSetChildren: function (debugID, childDebugIDs) {\n checkDebugID(debugID);\n childDebugIDs.forEach(checkDebugID);\n emitEvent('onSetChildren', debugID, childDebugIDs);\n },\n onSetOwner: function (debugID, ownerDebugID) {\n checkDebugID(debugID);\n emitEvent('onSetOwner', debugID, ownerDebugID);\n },\n onSetParent: function (debugID, parentDebugID) {\n checkDebugID(debugID);\n emitEvent('onSetParent', debugID, parentDebugID);\n },\n onSetText: function (debugID, text) {\n checkDebugID(debugID);\n emitEvent('onSetText', debugID, text);\n },\n onMountRootComponent: function (debugID) {\n checkDebugID(debugID);\n emitEvent('onMountRootComponent', debugID);\n },\n onBeforeMountComponent: function (debugID, element) {\n checkDebugID(debugID);\n emitEvent('onBeforeMountComponent', debugID, element);\n },\n onMountComponent: function (debugID) {\n checkDebugID(debugID);\n emitEvent('onMountComponent', debugID);\n },\n onBeforeUpdateComponent: function (debugID, element) {\n checkDebugID(debugID);\n emitEvent('onBeforeUpdateComponent', debugID, element);\n },\n onUpdateComponent: function (debugID) {\n checkDebugID(debugID);\n emitEvent('onUpdateComponent', debugID);\n },\n onUnmountComponent: function (debugID) {\n checkDebugID(debugID);\n emitEvent('onUnmountComponent', debugID);\n },\n onTestEvent: function () {\n emitEvent('onTestEvent');\n }\n};\n\nReactDebugTool.addDevtool(ReactInvalidSetStateWarningDevTool);\nReactDebugTool.addDevtool(ReactComponentTreeDevtool);\nReactDebugTool.addDevtool(ReactChildrenMutationWarningDevtool);\nvar url = ExecutionEnvironment.canUseDOM && window.location.href || '';\nif (/[?&]react_perf\\b/.test(url)) {\n ReactDebugTool.beginProfiling();\n}\n\nmodule.exports = ReactDebugTool;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactDebugTool.js\n **/","/**\n * Copyright 2016-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactInvalidSetStateWarningDevTool\n */\n\n'use strict';\n\nvar warning = require('fbjs/lib/warning');\n\nif (process.env.NODE_ENV !== 'production') {\n var processingChildContext = false;\n\n var warnInvalidSetState = function () {\n process.env.NODE_ENV !== 'production' ? warning(!processingChildContext, 'setState(...): Cannot call setState() inside getChildContext()') : void 0;\n };\n}\n\nvar ReactInvalidSetStateWarningDevTool = {\n onBeginProcessingChildContext: function () {\n processingChildContext = true;\n },\n onEndProcessingChildContext: function () {\n processingChildContext = false;\n },\n onSetState: function () {\n warnInvalidSetState();\n }\n};\n\nmodule.exports = ReactInvalidSetStateWarningDevTool;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactInvalidSetStateWarningDevTool.js\n **/","/**\n * Copyright 2016-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactHostOperationHistoryDevtool\n */\n\n'use strict';\n\nvar history = [];\n\nvar ReactHostOperationHistoryDevtool = {\n onHostOperation: function (debugID, type, payload) {\n history.push({\n instanceID: debugID,\n type: type,\n payload: payload\n });\n },\n clearHistory: function () {\n if (ReactHostOperationHistoryDevtool._preventClearing) {\n // Should only be used for tests.\n return;\n }\n\n history = [];\n },\n getHistory: function () {\n return history;\n }\n};\n\nmodule.exports = ReactHostOperationHistoryDevtool;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactHostOperationHistoryDevtool.js\n **/","/**\n * Copyright 2016-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactComponentTreeDevtool\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nvar tree = {};\nvar unmountedIDs = {};\nvar rootIDs = {};\n\nfunction updateTree(id, update) {\n if (!tree[id]) {\n tree[id] = {\n element: null,\n parentID: null,\n ownerID: null,\n text: null,\n childIDs: [],\n displayName: 'Unknown',\n isMounted: false,\n updateCount: 0\n };\n }\n update(tree[id]);\n}\n\nfunction purgeDeep(id) {\n var item = tree[id];\n if (item) {\n var childIDs = item.childIDs;\n\n delete tree[id];\n childIDs.forEach(purgeDeep);\n }\n}\n\nfunction describeComponentFrame(name, source, ownerName) {\n return '\\n in ' + name + (source ? ' (at ' + source.fileName.replace(/^.*[\\\\\\/]/, '') + ':' + source.lineNumber + ')' : ownerName ? ' (created by ' + ownerName + ')' : '');\n}\n\nfunction describeID(id) {\n var name = ReactComponentTreeDevtool.getDisplayName(id);\n var element = ReactComponentTreeDevtool.getElement(id);\n var ownerID = ReactComponentTreeDevtool.getOwnerID(id);\n var ownerName;\n if (ownerID) {\n ownerName = ReactComponentTreeDevtool.getDisplayName(ownerID);\n }\n process.env.NODE_ENV !== 'production' ? warning(element, 'ReactComponentTreeDevtool: Missing React element for debugID %s when ' + 'building stack', id) : void 0;\n return describeComponentFrame(name, element && element._source, ownerName);\n}\n\nvar ReactComponentTreeDevtool = {\n onSetDisplayName: function (id, displayName) {\n updateTree(id, function (item) {\n return item.displayName = displayName;\n });\n },\n onSetChildren: function (id, nextChildIDs) {\n updateTree(id, function (item) {\n item.childIDs = nextChildIDs;\n\n nextChildIDs.forEach(function (nextChildID) {\n var nextChild = tree[nextChildID];\n !nextChild ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected devtool events to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('68') : void 0;\n !(nextChild.displayName != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onSetDisplayName() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('69') : void 0;\n !(nextChild.childIDs != null || nextChild.text != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onSetChildren() or onSetText() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('70') : void 0;\n !nextChild.isMounted ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onMountComponent() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('71') : void 0;\n if (nextChild.parentID == null) {\n nextChild.parentID = id;\n // TODO: This shouldn't be necessary but mounting a new root during in\n // componentWillMount currently causes not-yet-mounted components to\n // be purged from our tree data so their parent ID is missing.\n }\n !(nextChild.parentID === id) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onSetParent() and onSetChildren() to be consistent (%s has parents %s and %s).', nextChildID, nextChild.parentID, id) : _prodInvariant('72', nextChildID, nextChild.parentID, id) : void 0;\n });\n });\n },\n onSetOwner: function (id, ownerID) {\n updateTree(id, function (item) {\n return item.ownerID = ownerID;\n });\n },\n onSetParent: function (id, parentID) {\n updateTree(id, function (item) {\n return item.parentID = parentID;\n });\n },\n onSetText: function (id, text) {\n updateTree(id, function (item) {\n return item.text = text;\n });\n },\n onBeforeMountComponent: function (id, element) {\n updateTree(id, function (item) {\n return item.element = element;\n });\n },\n onBeforeUpdateComponent: function (id, element) {\n updateTree(id, function (item) {\n return item.element = element;\n });\n },\n onMountComponent: function (id) {\n updateTree(id, function (item) {\n return item.isMounted = true;\n });\n },\n onMountRootComponent: function (id) {\n rootIDs[id] = true;\n },\n onUpdateComponent: function (id) {\n updateTree(id, function (item) {\n return item.updateCount++;\n });\n },\n onUnmountComponent: function (id) {\n updateTree(id, function (item) {\n return item.isMounted = false;\n });\n unmountedIDs[id] = true;\n delete rootIDs[id];\n },\n purgeUnmountedComponents: function () {\n if (ReactComponentTreeDevtool._preventPurging) {\n // Should only be used for testing.\n return;\n }\n\n for (var id in unmountedIDs) {\n purgeDeep(id);\n }\n unmountedIDs = {};\n },\n isMounted: function (id) {\n var item = tree[id];\n return item ? item.isMounted : false;\n },\n getCurrentStackAddendum: function (topElement) {\n var info = '';\n if (topElement) {\n var type = topElement.type;\n var name = typeof type === 'function' ? type.displayName || type.name : type;\n var owner = topElement._owner;\n info += describeComponentFrame(name || 'Unknown', topElement._source, owner && owner.getName());\n }\n\n var currentOwner = ReactCurrentOwner.current;\n var id = currentOwner && currentOwner._debugID;\n\n info += ReactComponentTreeDevtool.getStackAddendumByID(id);\n return info;\n },\n getStackAddendumByID: function (id) {\n var info = '';\n while (id) {\n info += describeID(id);\n id = ReactComponentTreeDevtool.getParentID(id);\n }\n return info;\n },\n getChildIDs: function (id) {\n var item = tree[id];\n return item ? item.childIDs : [];\n },\n getDisplayName: function (id) {\n var item = tree[id];\n return item ? item.displayName : 'Unknown';\n },\n getElement: function (id) {\n var item = tree[id];\n return item ? item.element : null;\n },\n getOwnerID: function (id) {\n var item = tree[id];\n return item ? item.ownerID : null;\n },\n getParentID: function (id) {\n var item = tree[id];\n return item ? item.parentID : null;\n },\n getSource: function (id) {\n var item = tree[id];\n var element = item ? item.element : null;\n var source = element != null ? element._source : null;\n return source;\n },\n getText: function (id) {\n var item = tree[id];\n return item ? item.text : null;\n },\n getUpdateCount: function (id) {\n var item = tree[id];\n return item ? item.updateCount : 0;\n },\n getRootIDs: function () {\n return Object.keys(rootIDs);\n },\n getRegisteredIDs: function () {\n return Object.keys(tree);\n }\n};\n\nmodule.exports = ReactComponentTreeDevtool;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactComponentTreeDevtool.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactCurrentOwner\n */\n\n'use strict';\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\n\nvar ReactCurrentOwner = {\n\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n\n};\n\nmodule.exports = ReactCurrentOwner;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactCurrentOwner.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactChildrenMutationWarningDevtool\n */\n\n'use strict';\n\nvar ReactComponentTreeDevtool = require('./ReactComponentTreeDevtool');\n\nvar warning = require('fbjs/lib/warning');\n\nvar elements = {};\n\nfunction handleElement(debugID, element) {\n if (element == null) {\n return;\n }\n if (element._shadowChildren === undefined) {\n return;\n }\n if (element._shadowChildren === element.props.children) {\n return;\n }\n var isMutated = false;\n if (Array.isArray(element._shadowChildren)) {\n if (element._shadowChildren.length === element.props.children.length) {\n for (var i = 0; i < element._shadowChildren.length; i++) {\n if (element._shadowChildren[i] !== element.props.children[i]) {\n isMutated = true;\n }\n }\n } else {\n isMutated = true;\n }\n }\n process.env.NODE_ENV !== 'production' ? warning(Array.isArray(element._shadowChildren) && !isMutated, 'Component\\'s children should not be mutated.%s', ReactComponentTreeDevtool.getStackAddendumByID(debugID)) : void 0;\n}\n\nvar ReactDOMUnknownPropertyDevtool = {\n onBeforeMountComponent: function (debugID, element) {\n elements[debugID] = element;\n },\n onBeforeUpdateComponent: function (debugID, element) {\n elements[debugID] = element;\n },\n onComponentHasMounted: function (debugID) {\n handleElement(debugID, elements[debugID]);\n delete elements[debugID];\n },\n onComponentHasUpdated: function (debugID) {\n handleElement(debugID, elements[debugID]);\n delete elements[debugID];\n }\n};\n\nmodule.exports = ReactDOMUnknownPropertyDevtool;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactChildrenMutationWarningDevtool.js\n **/","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n */\n\nvar performance = require('./performance');\n\nvar performanceNow;\n\n/**\n * Detect if we can use `window.performance.now()` and gracefully fallback to\n * `Date.now()` if it doesn't exist. We need to support Firefox < 15 for now\n * because of Facebook's testing infrastructure.\n */\nif (performance.now) {\n performanceNow = function performanceNow() {\n return performance.now();\n };\n} else {\n performanceNow = function performanceNow() {\n return Date.now();\n };\n}\n\nmodule.exports = performanceNow;\n\n\n/** WEBPACK FOOTER **\n ** ./~/fbjs/lib/performanceNow.js\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar performance;\n\nif (ExecutionEnvironment.canUseDOM) {\n performance = window.performance || window.msPerformance || window.webkitPerformance;\n}\n\nmodule.exports = performance || {};\n\n\n/** WEBPACK FOOTER **\n ** ./~/fbjs/lib/performance.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule Transaction\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * `Transaction` creates a black box that is able to wrap any method such that\n * certain invariants are maintained before and after the method is invoked\n * (Even if an exception is thrown while invoking the wrapped method). Whoever\n * instantiates a transaction can provide enforcers of the invariants at\n * creation time. The `Transaction` class itself will supply one additional\n * automatic invariant for you - the invariant that any transaction instance\n * should not be run while it is already being run. You would typically create a\n * single instance of a `Transaction` for reuse multiple times, that potentially\n * is used to wrap several different methods. Wrappers are extremely simple -\n * they only require implementing two methods.\n *\n *
\n *                       wrappers (injected at creation time)\n *                                      +        +\n *                                      |        |\n *                    +-----------------|--------|--------------+\n *                    |                 v        |              |\n *                    |      +---------------+   |              |\n *                    |   +--|    wrapper1   |---|----+         |\n *                    |   |  +---------------+   v    |         |\n *                    |   |          +-------------+  |         |\n *                    |   |     +----|   wrapper2  |--------+   |\n *                    |   |     |    +-------------+  |     |   |\n *                    |   |     |                     |     |   |\n *                    |   v     v                     v     v   | wrapper\n *                    | +---+ +---+   +---------+   +---+ +---+ | invariants\n * perform(anyMethod) | |   | |   |   |         |   |   | |   | | maintained\n * +----------------->|-|---|-|---|-->|anyMethod|---|---|-|---|-|-------->\n *                    | |   | |   |   |         |   |   | |   | |\n *                    | |   | |   |   |         |   |   | |   | |\n *                    | |   | |   |   |         |   |   | |   | |\n *                    | +---+ +---+   +---------+   +---+ +---+ |\n *                    |  initialize                    close    |\n *                    +-----------------------------------------+\n * 
\n *\n * Use cases:\n * - Preserving the input selection ranges before/after reconciliation.\n * Restoring selection even in the event of an unexpected error.\n * - Deactivating events while rearranging the DOM, preventing blurs/focuses,\n * while guaranteeing that afterwards, the event system is reactivated.\n * - Flushing a queue of collected DOM mutations to the main UI thread after a\n * reconciliation takes place in a worker thread.\n * - Invoking any collected `componentDidUpdate` callbacks after rendering new\n * content.\n * - (Future use case): Wrapping particular flushes of the `ReactWorker` queue\n * to preserve the `scrollTop` (an automatic scroll aware DOM).\n * - (Future use case): Layout calculations before and after DOM updates.\n *\n * Transactional plugin API:\n * - A module that has an `initialize` method that returns any precomputation.\n * - and a `close` method that accepts the precomputation. `close` is invoked\n * when the wrapped process is completed, or has failed.\n *\n * @param {Array} transactionWrapper Wrapper modules\n * that implement `initialize` and `close`.\n * @return {Transaction} Single transaction for reuse in thread.\n *\n * @class Transaction\n */\nvar Mixin = {\n /**\n * Sets up this instance so that it is prepared for collecting metrics. Does\n * so such that this setup method may be used on an instance that is already\n * initialized, in a way that does not consume additional memory upon reuse.\n * That can be useful if you decide to make your subclass of this mixin a\n * \"PooledClass\".\n */\n reinitializeTransaction: function () {\n this.transactionWrappers = this.getTransactionWrappers();\n if (this.wrapperInitData) {\n this.wrapperInitData.length = 0;\n } else {\n this.wrapperInitData = [];\n }\n this._isInTransaction = false;\n },\n\n _isInTransaction: false,\n\n /**\n * @abstract\n * @return {Array} Array of transaction wrappers.\n */\n getTransactionWrappers: null,\n\n isInTransaction: function () {\n return !!this._isInTransaction;\n },\n\n /**\n * Executes the function within a safety window. Use this for the top level\n * methods that result in large amounts of computation/mutations that would\n * need to be safety checked. The optional arguments helps prevent the need\n * to bind in many cases.\n *\n * @param {function} method Member of scope to call.\n * @param {Object} scope Scope to invoke from.\n * @param {Object?=} a Argument to pass to the method.\n * @param {Object?=} b Argument to pass to the method.\n * @param {Object?=} c Argument to pass to the method.\n * @param {Object?=} d Argument to pass to the method.\n * @param {Object?=} e Argument to pass to the method.\n * @param {Object?=} f Argument to pass to the method.\n *\n * @return {*} Return value from `method`.\n */\n perform: function (method, scope, a, b, c, d, e, f) {\n !!this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there is already an outstanding transaction.') : _prodInvariant('27') : void 0;\n var errorThrown;\n var ret;\n try {\n this._isInTransaction = true;\n // Catching errors makes debugging more difficult, so we start with\n // errorThrown set to true before setting it to false after calling\n // close -- if it's still set to true in the finally block, it means\n // one of these calls threw.\n errorThrown = true;\n this.initializeAll(0);\n ret = method.call(scope, a, b, c, d, e, f);\n errorThrown = false;\n } finally {\n try {\n if (errorThrown) {\n // If `method` throws, prefer to show that stack trace over any thrown\n // by invoking `closeAll`.\n try {\n this.closeAll(0);\n } catch (err) {}\n } else {\n // Since `method` didn't throw, we don't want to silence the exception\n // here.\n this.closeAll(0);\n }\n } finally {\n this._isInTransaction = false;\n }\n }\n return ret;\n },\n\n initializeAll: function (startIndex) {\n var transactionWrappers = this.transactionWrappers;\n for (var i = startIndex; i < transactionWrappers.length; i++) {\n var wrapper = transactionWrappers[i];\n try {\n // Catching errors makes debugging more difficult, so we start with the\n // OBSERVED_ERROR state before overwriting it with the real return value\n // of initialize -- if it's still set to OBSERVED_ERROR in the finally\n // block, it means wrapper.initialize threw.\n this.wrapperInitData[i] = Transaction.OBSERVED_ERROR;\n this.wrapperInitData[i] = wrapper.initialize ? wrapper.initialize.call(this) : null;\n } finally {\n if (this.wrapperInitData[i] === Transaction.OBSERVED_ERROR) {\n // The initializer for wrapper i threw an error; initialize the\n // remaining wrappers but silence any exceptions from them to ensure\n // that the first error is the one to bubble up.\n try {\n this.initializeAll(i + 1);\n } catch (err) {}\n }\n }\n }\n },\n\n /**\n * Invokes each of `this.transactionWrappers.close[i]` functions, passing into\n * them the respective return values of `this.transactionWrappers.init[i]`\n * (`close`rs that correspond to initializers that failed will not be\n * invoked).\n */\n closeAll: function (startIndex) {\n !this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : _prodInvariant('28') : void 0;\n var transactionWrappers = this.transactionWrappers;\n for (var i = startIndex; i < transactionWrappers.length; i++) {\n var wrapper = transactionWrappers[i];\n var initData = this.wrapperInitData[i];\n var errorThrown;\n try {\n // Catching errors makes debugging more difficult, so we start with\n // errorThrown set to true before setting it to false after calling\n // close -- if it's still set to true in the finally block, it means\n // wrapper.close threw.\n errorThrown = true;\n if (initData !== Transaction.OBSERVED_ERROR && wrapper.close) {\n wrapper.close.call(this, initData);\n }\n errorThrown = false;\n } finally {\n if (errorThrown) {\n // The closer for wrapper i threw an error; close the remaining\n // wrappers but silence any exceptions from them to ensure that the\n // first error is the one to bubble up.\n try {\n this.closeAll(i + 1);\n } catch (e) {}\n }\n }\n }\n this.wrapperInitData.length = 0;\n }\n};\n\nvar Transaction = {\n\n Mixin: Mixin,\n\n /**\n * Token to look for to determine if an error occurred.\n */\n OBSERVED_ERROR: {}\n\n};\n\nmodule.exports = Transaction;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/Transaction.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getEventTarget\n */\n\n'use strict';\n\n/**\n * Gets the target node from a native browser event by accounting for\n * inconsistencies in browser DOM APIs.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {DOMEventTarget} Target node.\n */\n\nfunction getEventTarget(nativeEvent) {\n var target = nativeEvent.target || nativeEvent.srcElement || window;\n\n // Normalize SVG element events #4963\n if (target.correspondingUseElement) {\n target = target.correspondingUseElement;\n }\n\n // Safari may fire events on text nodes (Node.TEXT_NODE is 3).\n // @see http://www.quirksmode.org/js/events_properties.html\n return target.nodeType === 3 ? target.parentNode : target;\n}\n\nmodule.exports = getEventTarget;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/getEventTarget.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule isEventSupported\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar useHasFeature;\nif (ExecutionEnvironment.canUseDOM) {\n useHasFeature = document.implementation && document.implementation.hasFeature &&\n // always returns true in newer browsers as per the standard.\n // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature\n document.implementation.hasFeature('', '') !== true;\n}\n\n/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @param {?boolean} capture Check if the capture phase is supported.\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\nfunction isEventSupported(eventNameSuffix, capture) {\n if (!ExecutionEnvironment.canUseDOM || capture && !('addEventListener' in document)) {\n return false;\n }\n\n var eventName = 'on' + eventNameSuffix;\n var isSupported = eventName in document;\n\n if (!isSupported) {\n var element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') {\n // This is the only way to test support for the `wheel` event in IE9+.\n isSupported = document.implementation.hasFeature('Events.wheel', '3.0');\n }\n\n return isSupported;\n}\n\nmodule.exports = isEventSupported;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/isEventSupported.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule isTextInputElement\n * \n */\n\n'use strict';\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary\n */\n\nvar supportedInputTypes = {\n 'color': true,\n 'date': true,\n 'datetime': true,\n 'datetime-local': true,\n 'email': true,\n 'month': true,\n 'number': true,\n 'password': true,\n 'range': true,\n 'search': true,\n 'tel': true,\n 'text': true,\n 'time': true,\n 'url': true,\n 'week': true\n};\n\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n\n if (nodeName === 'input') {\n return !!supportedInputTypes[elem.type];\n }\n\n if (nodeName === 'textarea') {\n return true;\n }\n\n return false;\n}\n\nmodule.exports = isTextInputElement;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/isTextInputElement.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DefaultEventPluginOrder\n */\n\n'use strict';\n\nvar keyOf = require('fbjs/lib/keyOf');\n\n/**\n * Module that is injectable into `EventPluginHub`, that specifies a\n * deterministic ordering of `EventPlugin`s. A convenient way to reason about\n * plugins, without having to package every one of them. This is better than\n * having plugins be ordered in the same order that they are injected because\n * that ordering would be influenced by the packaging order.\n * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that\n * preventing default on events is convenient in `SimpleEventPlugin` handlers.\n */\nvar DefaultEventPluginOrder = [keyOf({ ResponderEventPlugin: null }), keyOf({ SimpleEventPlugin: null }), keyOf({ TapEventPlugin: null }), keyOf({ EnterLeaveEventPlugin: null }), keyOf({ ChangeEventPlugin: null }), keyOf({ SelectEventPlugin: null }), keyOf({ BeforeInputEventPlugin: null })];\n\nmodule.exports = DefaultEventPluginOrder;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/DefaultEventPluginOrder.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule EnterLeaveEventPlugin\n */\n\n'use strict';\n\nvar EventConstants = require('./EventConstants');\nvar EventPropagators = require('./EventPropagators');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');\n\nvar keyOf = require('fbjs/lib/keyOf');\n\nvar topLevelTypes = EventConstants.topLevelTypes;\n\nvar eventTypes = {\n mouseEnter: {\n registrationName: keyOf({ onMouseEnter: null }),\n dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver]\n },\n mouseLeave: {\n registrationName: keyOf({ onMouseLeave: null }),\n dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver]\n }\n};\n\nvar EnterLeaveEventPlugin = {\n\n eventTypes: eventTypes,\n\n /**\n * For almost every interaction we care about, there will be both a top-level\n * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that\n * we do not extract duplicate events. However, moving the mouse into the\n * browser from outside will not fire a `mouseout` event. In this case, we use\n * the `mouseover` top-level event.\n */\n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n if (topLevelType === topLevelTypes.topMouseOver && (nativeEvent.relatedTarget || nativeEvent.fromElement)) {\n return null;\n }\n if (topLevelType !== topLevelTypes.topMouseOut && topLevelType !== topLevelTypes.topMouseOver) {\n // Must not be a mouse in or mouse out - ignoring.\n return null;\n }\n\n var win;\n if (nativeEventTarget.window === nativeEventTarget) {\n // `nativeEventTarget` is probably a window object.\n win = nativeEventTarget;\n } else {\n // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n var doc = nativeEventTarget.ownerDocument;\n if (doc) {\n win = doc.defaultView || doc.parentWindow;\n } else {\n win = window;\n }\n }\n\n var from;\n var to;\n if (topLevelType === topLevelTypes.topMouseOut) {\n from = targetInst;\n var related = nativeEvent.relatedTarget || nativeEvent.toElement;\n to = related ? ReactDOMComponentTree.getClosestInstanceFromNode(related) : null;\n } else {\n // Moving to a node from outside the window.\n from = null;\n to = targetInst;\n }\n\n if (from === to) {\n // Nothing pertains to our managed components.\n return null;\n }\n\n var fromNode = from == null ? win : ReactDOMComponentTree.getNodeFromInstance(from);\n var toNode = to == null ? win : ReactDOMComponentTree.getNodeFromInstance(to);\n\n var leave = SyntheticMouseEvent.getPooled(eventTypes.mouseLeave, from, nativeEvent, nativeEventTarget);\n leave.type = 'mouseleave';\n leave.target = fromNode;\n leave.relatedTarget = toNode;\n\n var enter = SyntheticMouseEvent.getPooled(eventTypes.mouseEnter, to, nativeEvent, nativeEventTarget);\n enter.type = 'mouseenter';\n enter.target = toNode;\n enter.relatedTarget = fromNode;\n\n EventPropagators.accumulateEnterLeaveDispatches(leave, enter, from, to);\n\n return [leave, enter];\n }\n\n};\n\nmodule.exports = EnterLeaveEventPlugin;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/EnterLeaveEventPlugin.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SyntheticMouseEvent\n */\n\n'use strict';\n\nvar SyntheticUIEvent = require('./SyntheticUIEvent');\nvar ViewportMetrics = require('./ViewportMetrics');\n\nvar getEventModifierState = require('./getEventModifierState');\n\n/**\n * @interface MouseEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar MouseEventInterface = {\n screenX: null,\n screenY: null,\n clientX: null,\n clientY: null,\n ctrlKey: null,\n shiftKey: null,\n altKey: null,\n metaKey: null,\n getModifierState: getEventModifierState,\n button: function (event) {\n // Webkit, Firefox, IE9+\n // which: 1 2 3\n // button: 0 1 2 (standard)\n var button = event.button;\n if ('which' in event) {\n return button;\n }\n // IE<9\n // which: undefined\n // button: 0 0 0\n // button: 1 4 2 (onmouseup)\n return button === 2 ? 2 : button === 4 ? 1 : 0;\n },\n buttons: null,\n relatedTarget: function (event) {\n return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement);\n },\n // \"Proprietary\" Interface.\n pageX: function (event) {\n return 'pageX' in event ? event.pageX : event.clientX + ViewportMetrics.currentScrollLeft;\n },\n pageY: function (event) {\n return 'pageY' in event ? event.pageY : event.clientY + ViewportMetrics.currentScrollTop;\n }\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface);\n\nmodule.exports = SyntheticMouseEvent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SyntheticMouseEvent.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SyntheticUIEvent\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\nvar getEventTarget = require('./getEventTarget');\n\n/**\n * @interface UIEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar UIEventInterface = {\n view: function (event) {\n if (event.view) {\n return event.view;\n }\n\n var target = getEventTarget(event);\n if (target.window === target) {\n // target is a window object\n return target;\n }\n\n var doc = target.ownerDocument;\n // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n if (doc) {\n return doc.defaultView || doc.parentWindow;\n } else {\n return window;\n }\n },\n detail: function (event) {\n return event.detail || 0;\n }\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticEvent}\n */\nfunction SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface);\n\nmodule.exports = SyntheticUIEvent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/SyntheticUIEvent.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ViewportMetrics\n */\n\n'use strict';\n\nvar ViewportMetrics = {\n\n currentScrollLeft: 0,\n\n currentScrollTop: 0,\n\n refreshScrollValues: function (scrollPosition) {\n ViewportMetrics.currentScrollLeft = scrollPosition.x;\n ViewportMetrics.currentScrollTop = scrollPosition.y;\n }\n\n};\n\nmodule.exports = ViewportMetrics;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ViewportMetrics.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getEventModifierState\n */\n\n'use strict';\n\n/**\n * Translation from modifier key to the associated property in the event.\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers\n */\n\nvar modifierKeyToProp = {\n 'Alt': 'altKey',\n 'Control': 'ctrlKey',\n 'Meta': 'metaKey',\n 'Shift': 'shiftKey'\n};\n\n// IE8 does not implement getModifierState so we simply map it to the only\n// modifier keys exposed by the event itself, does not support Lock-keys.\n// Currently, all major browsers except Chrome seems to support Lock-keys.\nfunction modifierStateGetter(keyArg) {\n var syntheticEvent = this;\n var nativeEvent = syntheticEvent.nativeEvent;\n if (nativeEvent.getModifierState) {\n return nativeEvent.getModifierState(keyArg);\n }\n var keyProp = modifierKeyToProp[keyArg];\n return keyProp ? !!nativeEvent[keyProp] : false;\n}\n\nfunction getEventModifierState(nativeEvent) {\n return modifierStateGetter;\n}\n\nmodule.exports = getEventModifierState;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/getEventModifierState.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule HTMLDOMPropertyConfig\n */\n\n'use strict';\n\nvar DOMProperty = require('./DOMProperty');\n\nvar MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY;\nvar HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE;\nvar HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE;\nvar HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE;\nvar HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE;\n\nvar HTMLDOMPropertyConfig = {\n isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')),\n Properties: {\n /**\n * Standard Properties\n */\n accept: 0,\n acceptCharset: 0,\n accessKey: 0,\n action: 0,\n allowFullScreen: HAS_BOOLEAN_VALUE,\n allowTransparency: 0,\n alt: 0,\n async: HAS_BOOLEAN_VALUE,\n autoComplete: 0,\n // autoFocus is polyfilled/normalized by AutoFocusUtils\n // autoFocus: HAS_BOOLEAN_VALUE,\n autoPlay: HAS_BOOLEAN_VALUE,\n capture: HAS_BOOLEAN_VALUE,\n cellPadding: 0,\n cellSpacing: 0,\n charSet: 0,\n challenge: 0,\n checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n cite: 0,\n classID: 0,\n className: 0,\n cols: HAS_POSITIVE_NUMERIC_VALUE,\n colSpan: 0,\n content: 0,\n contentEditable: 0,\n contextMenu: 0,\n controls: HAS_BOOLEAN_VALUE,\n coords: 0,\n crossOrigin: 0,\n data: 0, // For `` acts as `src`.\n dateTime: 0,\n 'default': HAS_BOOLEAN_VALUE,\n defer: HAS_BOOLEAN_VALUE,\n dir: 0,\n disabled: HAS_BOOLEAN_VALUE,\n download: HAS_OVERLOADED_BOOLEAN_VALUE,\n draggable: 0,\n encType: 0,\n form: 0,\n formAction: 0,\n formEncType: 0,\n formMethod: 0,\n formNoValidate: HAS_BOOLEAN_VALUE,\n formTarget: 0,\n frameBorder: 0,\n headers: 0,\n height: 0,\n hidden: HAS_BOOLEAN_VALUE,\n high: 0,\n href: 0,\n hrefLang: 0,\n htmlFor: 0,\n httpEquiv: 0,\n icon: 0,\n id: 0,\n inputMode: 0,\n integrity: 0,\n is: 0,\n keyParams: 0,\n keyType: 0,\n kind: 0,\n label: 0,\n lang: 0,\n list: 0,\n loop: HAS_BOOLEAN_VALUE,\n low: 0,\n manifest: 0,\n marginHeight: 0,\n marginWidth: 0,\n max: 0,\n maxLength: 0,\n media: 0,\n mediaGroup: 0,\n method: 0,\n min: 0,\n minLength: 0,\n // Caution; `option.selected` is not updated if `select.multiple` is\n // disabled with `removeAttribute`.\n multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n name: 0,\n nonce: 0,\n noValidate: HAS_BOOLEAN_VALUE,\n open: HAS_BOOLEAN_VALUE,\n optimum: 0,\n pattern: 0,\n placeholder: 0,\n poster: 0,\n preload: 0,\n profile: 0,\n radioGroup: 0,\n readOnly: HAS_BOOLEAN_VALUE,\n referrerPolicy: 0,\n rel: 0,\n required: HAS_BOOLEAN_VALUE,\n reversed: HAS_BOOLEAN_VALUE,\n role: 0,\n rows: HAS_POSITIVE_NUMERIC_VALUE,\n rowSpan: HAS_NUMERIC_VALUE,\n sandbox: 0,\n scope: 0,\n scoped: HAS_BOOLEAN_VALUE,\n scrolling: 0,\n seamless: HAS_BOOLEAN_VALUE,\n selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n shape: 0,\n size: HAS_POSITIVE_NUMERIC_VALUE,\n sizes: 0,\n span: HAS_POSITIVE_NUMERIC_VALUE,\n spellCheck: 0,\n src: 0,\n srcDoc: 0,\n srcLang: 0,\n srcSet: 0,\n start: HAS_NUMERIC_VALUE,\n step: 0,\n style: 0,\n summary: 0,\n tabIndex: 0,\n target: 0,\n title: 0,\n // Setting .type throws on non- tags\n type: 0,\n useMap: 0,\n value: 0,\n width: 0,\n wmode: 0,\n wrap: 0,\n\n /**\n * RDFa Properties\n */\n about: 0,\n datatype: 0,\n inlist: 0,\n prefix: 0,\n // property is also supported for OpenGraph in meta tags.\n property: 0,\n resource: 0,\n 'typeof': 0,\n vocab: 0,\n\n /**\n * Non-standard Properties\n */\n // autoCapitalize and autoCorrect are supported in Mobile Safari for\n // keyboard hints.\n autoCapitalize: 0,\n autoCorrect: 0,\n // autoSave allows WebKit/Blink to persist values of input fields on page reloads\n autoSave: 0,\n // color is for Safari mask-icon link\n color: 0,\n // itemProp, itemScope, itemType are for\n // Microdata support. See http://schema.org/docs/gs.html\n itemProp: 0,\n itemScope: HAS_BOOLEAN_VALUE,\n itemType: 0,\n // itemID and itemRef are for Microdata support as well but\n // only specified in the WHATWG spec document. See\n // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api\n itemID: 0,\n itemRef: 0,\n // results show looking glass icon and recent searches on input\n // search fields in WebKit/Blink\n results: 0,\n // IE-only attribute that specifies security restrictions on an iframe\n // as an alternative to the sandbox attribute on IE<10\n security: 0,\n // IE-only attribute that controls focus behavior\n unselectable: 0\n },\n DOMAttributeNames: {\n acceptCharset: 'accept-charset',\n className: 'class',\n htmlFor: 'for',\n httpEquiv: 'http-equiv'\n },\n DOMPropertyNames: {}\n};\n\nmodule.exports = HTMLDOMPropertyConfig;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/HTMLDOMPropertyConfig.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactComponentBrowserEnvironment\n */\n\n'use strict';\n\nvar DOMChildrenOperations = require('./DOMChildrenOperations');\nvar ReactDOMIDOperations = require('./ReactDOMIDOperations');\n\n/**\n * Abstracts away all functionality of the reconciler that requires knowledge of\n * the browser context. TODO: These callers should be refactored to avoid the\n * need for this injection.\n */\nvar ReactComponentBrowserEnvironment = {\n\n processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates,\n\n replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup,\n\n /**\n * If a particular environment requires that some resources be cleaned up,\n * specify this in the injected Mixin. In the DOM, we would likely want to\n * purge any cached node ID lookups.\n *\n * @private\n */\n unmountIDFromEnvironment: function (rootNodeID) {}\n\n};\n\nmodule.exports = ReactComponentBrowserEnvironment;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactComponentBrowserEnvironment.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DOMChildrenOperations\n */\n\n'use strict';\n\nvar DOMLazyTree = require('./DOMLazyTree');\nvar Danger = require('./Danger');\nvar ReactMultiChildUpdateTypes = require('./ReactMultiChildUpdateTypes');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar createMicrosoftUnsafeLocalFunction = require('./createMicrosoftUnsafeLocalFunction');\nvar setInnerHTML = require('./setInnerHTML');\nvar setTextContent = require('./setTextContent');\n\nfunction getNodeAfter(parentNode, node) {\n // Special case for text components, which return [open, close] comments\n // from getHostNode.\n if (Array.isArray(node)) {\n node = node[1];\n }\n return node ? node.nextSibling : parentNode.firstChild;\n}\n\n/**\n * Inserts `childNode` as a child of `parentNode` at the `index`.\n *\n * @param {DOMElement} parentNode Parent node in which to insert.\n * @param {DOMElement} childNode Child node to insert.\n * @param {number} index Index at which to insert the child.\n * @internal\n */\nvar insertChildAt = createMicrosoftUnsafeLocalFunction(function (parentNode, childNode, referenceNode) {\n // We rely exclusively on `insertBefore(node, null)` instead of also using\n // `appendChild(node)`. (Using `undefined` is not allowed by all browsers so\n // we are careful to use `null`.)\n parentNode.insertBefore(childNode, referenceNode);\n});\n\nfunction insertLazyTreeChildAt(parentNode, childTree, referenceNode) {\n DOMLazyTree.insertTreeBefore(parentNode, childTree, referenceNode);\n}\n\nfunction moveChild(parentNode, childNode, referenceNode) {\n if (Array.isArray(childNode)) {\n moveDelimitedText(parentNode, childNode[0], childNode[1], referenceNode);\n } else {\n insertChildAt(parentNode, childNode, referenceNode);\n }\n}\n\nfunction removeChild(parentNode, childNode) {\n if (Array.isArray(childNode)) {\n var closingComment = childNode[1];\n childNode = childNode[0];\n removeDelimitedText(parentNode, childNode, closingComment);\n parentNode.removeChild(closingComment);\n }\n parentNode.removeChild(childNode);\n}\n\nfunction moveDelimitedText(parentNode, openingComment, closingComment, referenceNode) {\n var node = openingComment;\n while (true) {\n var nextNode = node.nextSibling;\n insertChildAt(parentNode, node, referenceNode);\n if (node === closingComment) {\n break;\n }\n node = nextNode;\n }\n}\n\nfunction removeDelimitedText(parentNode, startNode, closingComment) {\n while (true) {\n var node = startNode.nextSibling;\n if (node === closingComment) {\n // The closing comment is removed by ReactMultiChild.\n break;\n } else {\n parentNode.removeChild(node);\n }\n }\n}\n\nfunction replaceDelimitedText(openingComment, closingComment, stringText) {\n var parentNode = openingComment.parentNode;\n var nodeAfterComment = openingComment.nextSibling;\n if (nodeAfterComment === closingComment) {\n // There are no text nodes between the opening and closing comments; insert\n // a new one if stringText isn't empty.\n if (stringText) {\n insertChildAt(parentNode, document.createTextNode(stringText), nodeAfterComment);\n }\n } else {\n if (stringText) {\n // Set the text content of the first node after the opening comment, and\n // remove all following nodes up until the closing comment.\n setTextContent(nodeAfterComment, stringText);\n removeDelimitedText(parentNode, nodeAfterComment, closingComment);\n } else {\n removeDelimitedText(parentNode, openingComment, closingComment);\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(openingComment)._debugID, 'replace text', stringText);\n }\n}\n\nvar dangerouslyReplaceNodeWithMarkup = Danger.dangerouslyReplaceNodeWithMarkup;\nif (process.env.NODE_ENV !== 'production') {\n dangerouslyReplaceNodeWithMarkup = function (oldChild, markup, prevInstance) {\n Danger.dangerouslyReplaceNodeWithMarkup(oldChild, markup);\n if (prevInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onHostOperation(prevInstance._debugID, 'replace with', markup.toString());\n } else {\n var nextInstance = ReactDOMComponentTree.getInstanceFromNode(markup.node);\n if (nextInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onHostOperation(nextInstance._debugID, 'mount', markup.toString());\n }\n }\n };\n}\n\n/**\n * Operations for updating with DOM children.\n */\nvar DOMChildrenOperations = {\n\n dangerouslyReplaceNodeWithMarkup: dangerouslyReplaceNodeWithMarkup,\n\n replaceDelimitedText: replaceDelimitedText,\n\n /**\n * Updates a component's children by processing a series of updates. The\n * update configurations are each expected to have a `parentNode` property.\n *\n * @param {array} updates List of update configurations.\n * @internal\n */\n processUpdates: function (parentNode, updates) {\n if (process.env.NODE_ENV !== 'production') {\n var parentNodeDebugID = ReactDOMComponentTree.getInstanceFromNode(parentNode)._debugID;\n }\n\n for (var k = 0; k < updates.length; k++) {\n var update = updates[k];\n switch (update.type) {\n case ReactMultiChildUpdateTypes.INSERT_MARKUP:\n insertLazyTreeChildAt(parentNode, update.content, getNodeAfter(parentNode, update.afterNode));\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'insert child', { toIndex: update.toIndex, content: update.content.toString() });\n }\n break;\n case ReactMultiChildUpdateTypes.MOVE_EXISTING:\n moveChild(parentNode, update.fromNode, getNodeAfter(parentNode, update.afterNode));\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'move child', { fromIndex: update.fromIndex, toIndex: update.toIndex });\n }\n break;\n case ReactMultiChildUpdateTypes.SET_MARKUP:\n setInnerHTML(parentNode, update.content);\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'replace children', update.content.toString());\n }\n break;\n case ReactMultiChildUpdateTypes.TEXT_CONTENT:\n setTextContent(parentNode, update.content);\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'replace text', update.content.toString());\n }\n break;\n case ReactMultiChildUpdateTypes.REMOVE_NODE:\n removeChild(parentNode, update.fromNode);\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'remove child', { fromIndex: update.fromIndex });\n }\n break;\n }\n }\n }\n\n};\n\nmodule.exports = DOMChildrenOperations;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/DOMChildrenOperations.js\n **/","/**\n * Copyright 2015-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DOMLazyTree\n */\n\n'use strict';\n\nvar DOMNamespaces = require('./DOMNamespaces');\nvar setInnerHTML = require('./setInnerHTML');\n\nvar createMicrosoftUnsafeLocalFunction = require('./createMicrosoftUnsafeLocalFunction');\nvar setTextContent = require('./setTextContent');\n\nvar ELEMENT_NODE_TYPE = 1;\nvar DOCUMENT_FRAGMENT_NODE_TYPE = 11;\n\n/**\n * In IE (8-11) and Edge, appending nodes with no children is dramatically\n * faster than appending a full subtree, so we essentially queue up the\n * .appendChild calls here and apply them so each node is added to its parent\n * before any children are added.\n *\n * In other browsers, doing so is slower or neutral compared to the other order\n * (in Firefox, twice as slow) so we only do this inversion in IE.\n *\n * See https://github.com/spicyj/innerhtml-vs-createelement-vs-clonenode.\n */\nvar enableLazy = typeof document !== 'undefined' && typeof document.documentMode === 'number' || typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && /\\bEdge\\/\\d/.test(navigator.userAgent);\n\nfunction insertTreeChildren(tree) {\n if (!enableLazy) {\n return;\n }\n var node = tree.node;\n var children = tree.children;\n if (children.length) {\n for (var i = 0; i < children.length; i++) {\n insertTreeBefore(node, children[i], null);\n }\n } else if (tree.html != null) {\n setInnerHTML(node, tree.html);\n } else if (tree.text != null) {\n setTextContent(node, tree.text);\n }\n}\n\nvar insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode, tree, referenceNode) {\n // DocumentFragments aren't actually part of the DOM after insertion so\n // appending children won't update the DOM. We need to ensure the fragment\n // is properly populated first, breaking out of our lazy approach for just\n // this level. Also, some plugins (like Flash Player) will read\n // nodes immediately upon insertion into the DOM, so \n // must also be populated prior to insertion into the DOM.\n if (tree.node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE || tree.node.nodeType === ELEMENT_NODE_TYPE && tree.node.nodeName.toLowerCase() === 'object' && (tree.node.namespaceURI == null || tree.node.namespaceURI === DOMNamespaces.html)) {\n insertTreeChildren(tree);\n parentNode.insertBefore(tree.node, referenceNode);\n } else {\n parentNode.insertBefore(tree.node, referenceNode);\n insertTreeChildren(tree);\n }\n});\n\nfunction replaceChildWithTree(oldNode, newTree) {\n oldNode.parentNode.replaceChild(newTree.node, oldNode);\n insertTreeChildren(newTree);\n}\n\nfunction queueChild(parentTree, childTree) {\n if (enableLazy) {\n parentTree.children.push(childTree);\n } else {\n parentTree.node.appendChild(childTree.node);\n }\n}\n\nfunction queueHTML(tree, html) {\n if (enableLazy) {\n tree.html = html;\n } else {\n setInnerHTML(tree.node, html);\n }\n}\n\nfunction queueText(tree, text) {\n if (enableLazy) {\n tree.text = text;\n } else {\n setTextContent(tree.node, text);\n }\n}\n\nfunction toString() {\n return this.node.nodeName;\n}\n\nfunction DOMLazyTree(node) {\n return {\n node: node,\n children: [],\n html: null,\n text: null,\n toString: toString\n };\n}\n\nDOMLazyTree.insertTreeBefore = insertTreeBefore;\nDOMLazyTree.replaceChildWithTree = replaceChildWithTree;\nDOMLazyTree.queueChild = queueChild;\nDOMLazyTree.queueHTML = queueHTML;\nDOMLazyTree.queueText = queueText;\n\nmodule.exports = DOMLazyTree;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/DOMLazyTree.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DOMNamespaces\n */\n\n'use strict';\n\nvar DOMNamespaces = {\n html: 'http://www.w3.org/1999/xhtml',\n mathml: 'http://www.w3.org/1998/Math/MathML',\n svg: 'http://www.w3.org/2000/svg'\n};\n\nmodule.exports = DOMNamespaces;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/DOMNamespaces.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule setInnerHTML\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar DOMNamespaces = require('./DOMNamespaces');\n\nvar WHITESPACE_TEST = /^[ \\r\\n\\t\\f]/;\nvar NONVISIBLE_TEST = /<(!--|link|noscript|meta|script|style)[ \\r\\n\\t\\f\\/>]/;\n\nvar createMicrosoftUnsafeLocalFunction = require('./createMicrosoftUnsafeLocalFunction');\n\n// SVG temp container for IE lacking innerHTML\nvar reusableSVGContainer;\n\n/**\n * Set the innerHTML property of a node, ensuring that whitespace is preserved\n * even in IE8.\n *\n * @param {DOMElement} node\n * @param {string} html\n * @internal\n */\nvar setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) {\n // IE does not have innerHTML for SVG nodes, so instead we inject the\n // new markup in a temp node and then move the child nodes across into\n // the target node\n if (node.namespaceURI === DOMNamespaces.svg && !('innerHTML' in node)) {\n reusableSVGContainer = reusableSVGContainer || document.createElement('div');\n reusableSVGContainer.innerHTML = '' + html + '';\n var newNodes = reusableSVGContainer.firstChild.childNodes;\n for (var i = 0; i < newNodes.length; i++) {\n node.appendChild(newNodes[i]);\n }\n } else {\n node.innerHTML = html;\n }\n});\n\nif (ExecutionEnvironment.canUseDOM) {\n // IE8: When updating a just created node with innerHTML only leading\n // whitespace is removed. When updating an existing node with innerHTML\n // whitespace in root TextNodes is also collapsed.\n // @see quirksmode.org/bugreports/archives/2004/11/innerhtml_and_t.html\n\n // Feature detection; only IE8 is known to behave improperly like this.\n var testElement = document.createElement('div');\n testElement.innerHTML = ' ';\n if (testElement.innerHTML === '') {\n setInnerHTML = function (node, html) {\n // Magic theory: IE8 supposedly differentiates between added and updated\n // nodes when processing innerHTML, innerHTML on updated nodes suffers\n // from worse whitespace behavior. Re-adding a node like this triggers\n // the initial and more favorable whitespace behavior.\n // TODO: What to do on a detached node?\n if (node.parentNode) {\n node.parentNode.replaceChild(node, node);\n }\n\n // We also implement a workaround for non-visible tags disappearing into\n // thin air on IE8, this only happens if there is no visible text\n // in-front of the non-visible tags. Piggyback on the whitespace fix\n // and simply check if any non-visible tags appear in the source.\n if (WHITESPACE_TEST.test(html) || html[0] === '<' && NONVISIBLE_TEST.test(html)) {\n // Recover leading whitespace by temporarily prepending any character.\n // \\uFEFF has the potential advantage of being zero-width/invisible.\n // UglifyJS drops U+FEFF chars when parsing, so use String.fromCharCode\n // in hopes that this is preserved even if \"\\uFEFF\" is transformed to\n // the actual Unicode character (by Babel, for example).\n // https://github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216\n node.innerHTML = String.fromCharCode(0xFEFF) + html;\n\n // deleteData leaves an empty `TextNode` which offsets the index of all\n // children. Definitely want to avoid this.\n var textNode = node.firstChild;\n if (textNode.data.length === 1) {\n node.removeChild(textNode);\n } else {\n textNode.deleteData(0, 1);\n }\n } else {\n node.innerHTML = html;\n }\n };\n }\n testElement = null;\n}\n\nmodule.exports = setInnerHTML;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/setInnerHTML.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule createMicrosoftUnsafeLocalFunction\n */\n\n/* globals MSApp */\n\n'use strict';\n\n/**\n * Create a function which has 'unsafe' privileges (required by windows8 apps)\n */\n\nvar createMicrosoftUnsafeLocalFunction = function (func) {\n if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {\n return function (arg0, arg1, arg2, arg3) {\n MSApp.execUnsafeLocalFunction(function () {\n return func(arg0, arg1, arg2, arg3);\n });\n };\n } else {\n return func;\n }\n};\n\nmodule.exports = createMicrosoftUnsafeLocalFunction;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/createMicrosoftUnsafeLocalFunction.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule setTextContent\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');\nvar setInnerHTML = require('./setInnerHTML');\n\n/**\n * Set the textContent property of a node, ensuring that whitespace is preserved\n * even in IE8. innerText is a poor substitute for textContent and, among many\n * issues, inserts
instead of the literal newline chars. innerHTML behaves\n * as it should.\n *\n * @param {DOMElement} node\n * @param {string} text\n * @internal\n */\nvar setTextContent = function (node, text) {\n if (text) {\n var firstChild = node.firstChild;\n\n if (firstChild && firstChild === node.lastChild && firstChild.nodeType === 3) {\n firstChild.nodeValue = text;\n return;\n }\n }\n node.textContent = text;\n};\n\nif (ExecutionEnvironment.canUseDOM) {\n if (!('textContent' in document.documentElement)) {\n setTextContent = function (node, text) {\n setInnerHTML(node, escapeTextContentForBrowser(text));\n };\n }\n}\n\nmodule.exports = setTextContent;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/setTextContent.js\n **/","/**\n * Copyright 2016-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * Based on the escape-html library, which is used under the MIT License below:\n *\n * Copyright (c) 2012-2013 TJ Holowaychuk\n * Copyright (c) 2015 Andreas Lubbe\n * Copyright (c) 2015 Tiancheng \"Timothy\" Gu\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * 'Software'), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n *\n * @providesModule escapeTextContentForBrowser\n */\n\n'use strict';\n\n// code copied and modified from escape-html\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n // \"\n escape = '"';\n break;\n case 38:\n // &\n escape = '&';\n break;\n case 39:\n // '\n escape = '''; // modified from escape-html; used to be '''\n break;\n case 60:\n // <\n escape = '<';\n break;\n case 62:\n // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index ? html + str.substring(lastIndex, index) : html;\n}\n// end code copied and modified from escape-html\n\n/**\n * Escapes text to prevent scripting attacks.\n *\n * @param {*} text Text value to escape.\n * @return {string} An escaped string.\n */\nfunction escapeTextContentForBrowser(text) {\n if (typeof text === 'boolean' || typeof text === 'number') {\n // this shortcircuit helps perf for types that we know will never have\n // special characters, especially given that this function is used often\n // for numeric dom ids.\n return '' + text;\n }\n return escapeHtml(text);\n}\n\nmodule.exports = escapeTextContentForBrowser;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/escapeTextContentForBrowser.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule Danger\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar DOMLazyTree = require('./DOMLazyTree');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar createNodesFromMarkup = require('fbjs/lib/createNodesFromMarkup');\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\n\nvar Danger = {\n\n /**\n * Replaces a node with a string of markup at its current position within its\n * parent. The markup must render into a single root node.\n *\n * @param {DOMElement} oldChild Child node to replace.\n * @param {string} markup Markup to render in place of the child node.\n * @internal\n */\n dangerouslyReplaceNodeWithMarkup: function (oldChild, markup) {\n !ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a worker thread. Make sure `window` and `document` are available globally before requiring React when unit testing or use ReactDOMServer.renderToString() for server rendering.') : _prodInvariant('56') : void 0;\n !markup ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Missing markup.') : _prodInvariant('57') : void 0;\n !(oldChild.nodeName !== 'HTML') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the node. This is because browser quirks make this unreliable and/or slow. If you want to render to the root you must use server rendering. See ReactDOMServer.renderToString().') : _prodInvariant('58') : void 0;\n\n if (typeof markup === 'string') {\n var newChild = createNodesFromMarkup(markup, emptyFunction)[0];\n oldChild.parentNode.replaceChild(newChild, oldChild);\n } else {\n DOMLazyTree.replaceChildWithTree(oldChild, markup);\n }\n }\n\n};\n\nmodule.exports = Danger;\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/Danger.js\n **/","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n */\n\n/*eslint-disable fb-www/unsafe-html*/\n\nvar ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar createArrayFromMixed = require('./createArrayFromMixed');\nvar getMarkupWrap = require('./getMarkupWrap');\nvar invariant = require('./invariant');\n\n/**\n * Dummy container used to render all markup.\n */\nvar dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;\n\n/**\n * Pattern used by `getNodeName`.\n */\nvar nodeNamePattern = /^\\s*<(\\w+)/;\n\n/**\n * Extracts the `nodeName` of the first element in a string of markup.\n *\n * @param {string} markup String of markup.\n * @return {?string} Node name of the supplied markup.\n */\nfunction getNodeName(markup) {\n var nodeNameMatch = markup.match(nodeNamePattern);\n return nodeNameMatch && nodeNameMatch[1].toLowerCase();\n}\n\n/**\n * Creates an array containing the nodes rendered from the supplied markup. The\n * optionally supplied `handleScript` function will be invoked once for each\n *